brewtarget-2.0.2/0000755000175000017500000000000012266512246013223 5ustar philipphilipbrewtarget-2.0.2/COPYING.GPLv30000644000175000017500000010451312266512166015155 0ustar philipphilip GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007 Copyright (C) 2007 Free Software Foundation, Inc. Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The GNU General Public License is a free, copyleft license for software and other kinds of works. The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change all versions of a program--to make sure it remains free software for all its users. We, the Free Software Foundation, use the GNU General Public License for most of our software; it applies also to any other work released this way by its authors. You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for them if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs, and that you know you can do these things. To protect your rights, we need to prevent others from denying you these rights or asking you to surrender the rights. Therefore, you have certain responsibilities if you distribute copies of the software, or if you modify it: responsibilities to respect the freedom of others. For example, if you distribute copies of such a program, whether gratis or for a fee, you must pass on to the recipients the same freedoms that you received. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. Developers that use the GNU GPL protect your rights with two steps: (1) assert copyright on the software, and (2) offer you this License giving you legal permission to copy, distribute and/or modify it. For the developers' and authors' protection, the GPL clearly explains that there is no warranty for this free software. For both users' and authors' sake, the GPL requires that modified versions be marked as changed, so that their problems will not be attributed erroneously to authors of previous versions. Some devices are designed to deny users access to install or run modified versions of the software inside them, although the manufacturer can do so. This is fundamentally incompatible with the aim of protecting users' freedom to change the software. The systematic pattern of such abuse occurs in the area of products for individuals to use, which is precisely where it is most unacceptable. Therefore, we have designed this version of the GPL to prohibit the practice for those products. If such problems arise substantially in other domains, we stand ready to extend this provision to those domains in future versions of the GPL, as needed to protect the freedom of users. Finally, every program is threatened constantly by software patents. States should not allow patents to restrict development and use of software on general-purpose computers, but in those that do, we wish to avoid the special danger that patents applied to a free program could make it effectively proprietary. To prevent this, the GPL assures that patents cannot be used to render the program non-free. The precise terms and conditions for copying, distribution and modification follow. TERMS AND CONDITIONS 0. Definitions. "This License" refers to version 3 of the GNU General Public License. "Copyright" also means copyright-like laws that apply to other kinds of works, such as semiconductor masks. "The Program" refers to any copyrightable work licensed under this License. Each licensee is addressed as "you". "Licensees" and "recipients" may be individuals or organizations. To "modify" a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than the making of an exact copy. The resulting work is called a "modified version" of the earlier work or a work "based on" the earlier work. A "covered work" means either the unmodified Program or a work based on the Program. To "propagate" a work means to do anything with it that, without permission, would make you directly or secondarily liable for infringement under applicable copyright law, except executing it on a computer or modifying a private copy. Propagation includes copying, distribution (with or without modification), making available to the public, and in some countries other activities as well. To "convey" a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying. An interactive user interface displays "Appropriate Legal Notices" to the extent that it includes a convenient and prominently visible feature that (1) displays an appropriate copyright notice, and (2) tells the user that there is no warranty for the work (except to the extent that warranties are provided), that licensees may convey the work under this License, and how to view a copy of this License. If the interface presents a list of user commands or options, such as a menu, a prominent item in the list meets this criterion. 1. Source Code. The "source code" for a work means the preferred form of the work for making modifications to it. "Object code" means any non-source form of a work. A "Standard Interface" means an interface that either is an official standard defined by a recognized standards body, or, in the case of interfaces specified for a particular programming language, one that is widely used among developers working in that language. The "System Libraries" of an executable work include anything, other than the work as a whole, that (a) is included in the normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an implementation is available to the public in source code form. A "Major Component", in this context, means a major essential component (kernel, window system, and so on) of the specific operating system (if any) on which the executable work runs, or a compiler used to produce the work, or an object code interpreter used to run it. The "Corresponding Source" for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work. For example, Corresponding Source includes interface definition files associated with source files for the work, and the source code for shared libraries and dynamically linked subprograms that the work is specifically designed to require, such as by intimate data communication or control flow between those subprograms and other parts of the work. The Corresponding Source need not include anything that users can regenerate automatically from other parts of the Corresponding Source. The Corresponding Source for a work in source code form is that same work. 2. Basic Permissions. All rights granted under this License are granted for the term of copyright on the Program, and are irrevocable provided the stated conditions are met. This License explicitly affirms your unlimited permission to run the unmodified Program. The output from running a covered work is covered by this License only if the output, given its content, constitutes a covered work. This License acknowledges your rights of fair use or other equivalent, as provided by copyright law. You may make, run and propagate covered works that you do not convey, without conditions so long as your license otherwise remains in force. You may convey covered works to others for the sole purpose of having them make modifications exclusively for you, or provide you with facilities for running those works, provided that you comply with the terms of this License in conveying all material for which you do not control copyright. Those thus making or running the covered works for you must do so exclusively on your behalf, under your direction and control, on terms that prohibit them from making any copies of your copyrighted material outside their relationship with you. Conveying under any other circumstances is permitted solely under the conditions stated below. Sublicensing is not allowed; section 10 makes it unnecessary. 3. Protecting Users' Legal Rights From Anti-Circumvention Law. No covered work shall be deemed part of an effective technological measure under any applicable law fulfilling obligations under article 11 of the WIPO copyright treaty adopted on 20 December 1996, or similar laws prohibiting or restricting circumvention of such measures. When you convey a covered work, you waive any legal power to forbid circumvention of technological measures to the extent such circumvention is effected by exercising rights under this License with respect to the covered work, and you disclaim any intention to limit operation or modification of the work as a means of enforcing, against the work's users, your or third parties' legal rights to forbid circumvention of technological measures. 4. Conveying Verbatim Copies. You may convey verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice; keep intact all notices stating that this License and any non-permissive terms added in accord with section 7 apply to the code; keep intact all notices of the absence of any warranty; and give all recipients a copy of this License along with the Program. You may charge any price or no price for each copy that you convey, and you may offer support or warranty protection for a fee. 5. Conveying Modified Source Versions. You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions: a) The work must carry prominent notices stating that you modified it, and giving a relevant date. b) The work must carry prominent notices stating that it is released under this License and any conditions added under section 7. This requirement modifies the requirement in section 4 to "keep intact all notices". c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it. d) If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if the Program has interactive interfaces that do not display Appropriate Legal Notices, your work need not make them do so. A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an "aggregate" if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate. 6. Conveying Non-Source Forms. You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways: a) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by the Corresponding Source fixed on a durable physical medium customarily used for software interchange. b) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by a written offer, valid for at least three years and valid for as long as you offer spare parts or customer support for that product model, to give anyone who possesses the object code either (1) a copy of the Corresponding Source for all the software in the product that is covered by this License, on a durable physical medium customarily used for software interchange, for a price no more than your reasonable cost of physically performing this conveying of source, or (2) access to copy the Corresponding Source from a network server at no charge. c) Convey individual copies of the object code with a copy of the written offer to provide the Corresponding Source. This alternative is allowed only occasionally and noncommercially, and only if you received the object code with such an offer, in accord with subsection 6b. d) Convey the object code by offering access from a designated place (gratis or for a charge), and offer equivalent access to the Corresponding Source in the same way through the same place at no further charge. You need not require recipients to copy the Corresponding Source along with the object code. If the place to copy the object code is a network server, the Corresponding Source may be on a different server (operated by you or a third party) that supports equivalent copying facilities, provided you maintain clear directions next to the object code saying where to find the Corresponding Source. Regardless of what server hosts the Corresponding Source, you remain obligated to ensure that it is available for as long as needed to satisfy these requirements. e) Convey the object code using peer-to-peer transmission, provided you inform other peers where the object code and Corresponding Source of the work are being offered to the general public at no charge under subsection 6d. A separable portion of the object code, whose source code is excluded from the Corresponding Source as a System Library, need not be included in conveying the object code work. A "User Product" is either (1) a "consumer product", which means any tangible personal property which is normally used for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling. In determining whether a product is a consumer product, doubtful cases shall be resolved in favor of coverage. For a particular product received by a particular user, "normally used" refers to a typical or common use of that class of product, regardless of the status of the particular user or of the way in which the particular user actually uses, or expects or is expected to use, the product. A product is a consumer product regardless of whether the product has substantial commercial, industrial or non-consumer uses, unless such uses represent the only significant mode of use of the product. "Installation Information" for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made. If you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term (regardless of how the transaction is characterized), the Corresponding Source conveyed under this section must be accompanied by the Installation Information. But this requirement does not apply if neither you nor any third party retains the ability to install modified object code on the User Product (for example, the work has been installed in ROM). The requirement to provide Installation Information does not include a requirement to continue to provide support service, warranty, or updates for a work that has been modified or installed by the recipient, or for the User Product in which it has been modified or installed. Access to a network may be denied when the modification itself materially and adversely affects the operation of the network or violates the rules and protocols for communication across the network. Corresponding Source conveyed, and Installation Information provided, in accord with this section must be in a format that is publicly documented (and with an implementation available to the public in source code form), and must require no special password or key for unpacking, reading or copying. 7. Additional Terms. "Additional permissions" are terms that supplement the terms of this License by making exceptions from one or more of its conditions. Additional permissions that are applicable to the entire Program shall be treated as though they were included in this License, to the extent that they are valid under applicable law. If additional permissions apply only to part of the Program, that part may be used separately under those permissions, but the entire Program remains governed by this License without regard to the additional permissions. When you convey a copy of a covered work, you may at your option remove any additional permissions from that copy, or from any part of it. (Additional permissions may be written to require their own removal in certain cases when you modify the work.) You may place additional permissions on material, added by you to a covered work, for which you have or can give appropriate copyright permission. Notwithstanding any other provision of this License, for material you add to a covered work, you may (if authorized by the copyright holders of that material) supplement the terms of this License with terms: a) Disclaiming warranty or limiting liability differently from the terms of sections 15 and 16 of this License; or b) Requiring preservation of specified reasonable legal notices or author attributions in that material or in the Appropriate Legal Notices displayed by works containing it; or c) Prohibiting misrepresentation of the origin of that material, or requiring that modified versions of such material be marked in reasonable ways as different from the original version; or d) Limiting the use for publicity purposes of names of licensors or authors of the material; or e) Declining to grant rights under trademark law for use of some trade names, trademarks, or service marks; or f) Requiring indemnification of licensors and authors of that material by anyone who conveys the material (or modified versions of it) with contractual assumptions of liability to the recipient, for any liability that these contractual assumptions directly impose on those licensors and authors. All other non-permissive additional terms are considered "further restrictions" within the meaning of section 10. If the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term. If a license document contains a further restriction but permits relicensing or conveying under this License, you may add to a covered work material governed by the terms of that license document, provided that the further restriction does not survive such relicensing or conveying. If you add terms to a covered work in accord with this section, you must place, in the relevant source files, a statement of the additional terms that apply to those files, or a notice indicating where to find the applicable terms. Additional terms, permissive or non-permissive, may be stated in the form of a separately written license, or stated as exceptions; the above requirements apply either way. 8. Termination. You may not propagate or modify a covered work except as expressly provided under this License. Any attempt otherwise to propagate or modify it is void, and will automatically terminate your rights under this License (including any patent licenses granted under the third paragraph of section 11). However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation. Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice. Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, you do not qualify to receive new licenses for the same material under section 10. 9. Acceptance Not Required for Having Copies. You are not required to accept this License in order to receive or run a copy of the Program. Ancillary propagation of a covered work occurring solely as a consequence of using peer-to-peer transmission to receive a copy likewise does not require acceptance. However, nothing other than this License grants you permission to propagate or modify any covered work. These actions infringe copyright if you do not accept this License. Therefore, by modifying or propagating a covered work, you indicate your acceptance of this License to do so. 10. Automatic Licensing of Downstream Recipients. Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run, modify and propagate that work, subject to this License. You are not responsible for enforcing compliance by third parties with this License. An "entity transaction" is a transaction transferring control of an organization, or substantially all assets of one, or subdividing an organization, or merging organizations. If propagation of a covered work results from an entity transaction, each party to that transaction who receives a copy of the work also receives whatever licenses to the work the party's predecessor in interest had or could give under the previous paragraph, plus a right to possession of the Corresponding Source of the work from the predecessor in interest, if the predecessor has it or can get it with reasonable efforts. You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License. For example, you may not impose a license fee, royalty, or other charge for exercise of rights granted under this License, and you may not initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging that any patent claim is infringed by making, using, selling, offering for sale, or importing the Program or any portion of it. 11. Patents. A "contributor" is a copyright holder who authorizes use under this License of the Program or a work on which the Program is based. The work thus licensed is called the contributor's "contributor version". A contributor's "essential patent claims" are all patent claims owned or controlled by the contributor, whether already acquired or hereafter acquired, that would be infringed by some manner, permitted by this License, of making, using, or selling its contributor version, but do not include claims that would be infringed only as a consequence of further modification of the contributor version. For purposes of this definition, "control" includes the right to grant patent sublicenses in a manner consistent with the requirements of this License. Each contributor grants you a non-exclusive, worldwide, royalty-free patent license under the contributor's essential patent claims, to make, use, sell, offer for sale, import and otherwise run, modify and propagate the contents of its contributor version. In the following three paragraphs, a "patent license" is any express agreement or commitment, however denominated, not to enforce a patent (such as an express permission to practice a patent or covenant not to sue for patent infringement). To "grant" such a patent license to a party means to make such an agreement or commitment not to enforce a patent against the party. If you convey a covered work, knowingly relying on a patent license, and the Corresponding Source of the work is not available for anyone to copy, free of charge and under the terms of this License, through a publicly available network server or other readily accessible means, then you must either (1) cause the Corresponding Source to be so available, or (2) arrange to deprive yourself of the benefit of the patent license for this particular work, or (3) arrange, in a manner consistent with the requirements of this License, to extend the patent license to downstream recipients. "Knowingly relying" means you have actual knowledge that, but for the patent license, your conveying the covered work in a country, or your recipient's use of the covered work in a country, would infringe one or more identifiable patents in that country that you have reason to believe are valid. If, pursuant to or in connection with a single transaction or arrangement, you convey, or propagate by procuring conveyance of, a covered work, and grant a patent license to some of the parties receiving the covered work authorizing them to use, propagate, modify or convey a specific copy of the covered work, then the patent license you grant is automatically extended to all recipients of the covered work and works based on it. A patent license is "discriminatory" if it does not include within the scope of its coverage, prohibits the exercise of, or is conditioned on the non-exercise of one or more of the rights that are specifically granted under this License. You may not convey a covered work if you are a party to an arrangement with a third party that is in the business of distributing software, under which you make payment to the third party based on the extent of your activity of conveying the work, and under which the third party grants, to any of the parties who would receive the covered work from you, a discriminatory patent license (a) in connection with copies of the covered work conveyed by you (or copies made from those copies), or (b) primarily for and in connection with specific products or compilations that contain the covered work, unless you entered into that arrangement, or that patent license was granted, prior to 28 March 2007. Nothing in this License shall be construed as excluding or limiting any implied license or other defenses to infringement that may otherwise be available to you under applicable patent law. 12. No Surrender of Others' Freedom. If conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot convey a covered work so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not convey it at all. For example, if you agree to terms that obligate you to collect a royalty for further conveying from those to whom you convey the Program, the only way you could satisfy both those terms and this License would be to refrain entirely from conveying the Program. 13. Use with the GNU Affero General Public License. Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a work licensed under version 3 of the GNU Affero General Public License into a single combined work, and to convey the resulting work. The terms of this License will continue to apply to the part which is the covered work, but the special requirements of the GNU Affero General Public License, section 13, concerning interaction through a network will apply to the combination as such. 14. Revised Versions of this License. The Free Software Foundation may publish revised and/or new versions of the GNU General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies that a certain numbered version of the GNU General Public License "or any later version" applies to it, you have the option of following the terms and conditions either of that numbered version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the GNU General Public License, you may choose any version ever published by the Free Software Foundation. If the Program specifies that a proxy can decide which future versions of the GNU General Public License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Program. Later license versions may give you additional or different permissions. However, no additional obligations are imposed on any author or copyright holder as a result of your choosing to follow a later version. 15. Disclaimer of Warranty. THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 16. Limitation of Liability. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 17. Interpretation of Sections 15 and 16. If the disclaimer of warranty and limitation of liability provided above cannot be given local legal effect according to their terms, reviewing courts shall apply local law that most closely approximates an absolute waiver of all civil liability in connection with the Program, unless a warranty or assumption of liability accompanies a copy of the Program in return for a fee. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . Also add information on how to contact you by electronic and paper mail. If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: Copyright (C) This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, your program's commands might be different; for a GUI interface, you would use an "about box". You should also get your employer (if you work as a programmer) or school, if any, to sign a "copyright disclaimer" for the program, if necessary. For more information on this, and how to apply and follow the GNU GPL, see . The GNU General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License. But first, please read . brewtarget-2.0.2/ideas/0000755000175000017500000000000012266512166014311 5ustar philipphilipbrewtarget-2.0.2/ideas/equipmentWizard.dia0000644000175000017500000001547512266512166020174 0ustar philipphilip]]s#u}ׯ>8b\|u6٪8qi%Rl-!=hjF&hQ T]K%zpqg媬YfߚwYso3~~?ZyyOVŇ[,{Y^O^u-E~_ΛUuռZfoc>ll6_^7/ 3(^w1+WeȋZ/.;bm*lW{uXrV|%jUy1/>}{07_< :!bf Y!lsMǓn>zG[Eb~Bu ^8Y~Y{N).f<.oe}+q4}GkuW.|uxyvߖG)<[Տxw8o~b'xqZ"LԦ(W\}T4 rQNEՃ7vk`~ZlF1o9u\T6衎ޚݾn)u$>R-ch>K٘MD\*/7hb Fãڄ[ckA Ɣ *j'G6/yʕ~aư( liiMEiTҝb~b'5I+x_==`IWM6Yuu즺_&h"/k|b呆P F/'{1S+~>峧Ԝ:iB(|%/-2ssnIV-V>ʗ;X[TuӢz )?OH6f .tCa!uLsrؓ)caDu~.B󬑄b4_EBr?!sRwJ2h'xk$h+e`6y>ҙ1q`;1 b[$cZE.m}RdH#[a/F Qìc"n҈Q :Ta2%P ѳZwؚZbᇿGئ3c^n=Z 83a%*'F A[wز WMz}rzmy+*,S9Iz{8#6'xs=Z?닢R)kYr(S#o0rDxQTq9@XRP9ePfeXG 8-:OE]\Wwߥp8x $~+M,5jvG͑CQ>M5']I06|w lH"R{DYVweqP.côi]ehhSVh9( :%w$!A PjJa#L& U@rŹYfQ0\3f; %ҙ=~EppR:(Hcx'[SE zB1 c܅o1#rWe&%-[|Qr*l[u:}VLiyWk9S`Gp>ф;&7G 7n?>%J@bAW .dT_y fTuuTIAKcYF%zax/_bW|Cĕ:fߕn`_40aL8/}PYu櫛_]weY?f^8]7v5/>TWwU>_x y1Y&duru HLsYF v- GAsVz2F@ĉD-Kl|Z'=8Wj(%A$I>I&t&lN`ʢ.HG_fa' Ӛq%HX"a$E_ٲul ˟Y`P0CK -خ`C1N sr`-gAOue_k.س4f^M |r"RGXC-靺mob%LVTPLݺΘ 1)wXse<o `x/8aV+ToM}i/wee'^mH-0!bcw1جm]tkvjZmCiFmx*(cBJHjELbbo枊b7,lo%M%rN45\"Fh9V%Ij4/MY(R2\t7g۾Bj"80ǎ) >=ZR|f'G#dd7r:W9X'\6g -YN?'s!AiG]IСp'%Fɂ}Zťi(Iu<-o!8M,Q 7p&|Zyvsiiv[|-N ǚ/iEtby&-*nҼ$rR @&j{#qB n5*E$#Z(EHbLC(d\5)IdrK\!"˜0#aԻ&0PkԄr 1S^lmTf\Ee^p-`M9*w$[r`8GCN6s9Pά.qĭd@:z4|+ NMxL\DzrPq?`E4 D׹ώZ [rj+)5NMIc&:'\(PYE sgAS锝^]9n4L7qKsn}P]*􏓬Vϙ(nRD$ Mpƻ݀]\&Obh#˩di%w׳e1K,ُȜWȿ&gynEa0 K,XQa!1[g (b`O]3ol//:%E_5R/$•H>Ww+p<+9kq&^YOqӮ' Xz 6ۆJZc>ܦktSˊV8[#E_ ЄUV'U[Sa7[1sZKSO-gMafCv)NcY){hpjj Aj-Hj*q՚+P H@c3[׵(!iĻ^H;SWZ㦈[$JSMq8T ;PHE9Jm/ä5 tj{1_W-byve^b׍v9*}:laʹq[ur0Nz.% vpd:Ó>2|51ڢ$.Za|-VL`ӧ{xAaRcؐc٭1@\8Qra@O#J?i.Jc>( XY36m* $S s#詵" GIk1O~G<ب3IIXB~J1OGw?NVR)8pCt\$ HRMZ=g|3 ɞl]ltڂIFB1D1 XfSPp`pN7L Ns}M@]vCF0x'JO Ni NX\%$R}R+"!sܒTs4]}?n:U*+}Y.r4{Ml+s`DC\"E_U9Ҝ$4n7v1mM˥VZ>4j%L 4>;,f 4qOMDD%&zF^ d@&ge~sq߲$tw@#(h;j:d bN/J得* yq82ufMYSg9ǿ7&Gw@|HxCR"eH-[w'eNňLIH+TagHrĮgRMiGY_.ߦ?.T:%&nIIB'N)5kK@WRcU-Ue7RHW-E0$i#I(1U@Os>(X)}#E(zcr] Sse )Fm4?X܆蹦xGeza[7JOha}(}&EfR=<.;U"kR~<2zp~%:6%?"+KC)q#lp?/mcH@yJa.SÃMw|ڭ]lY*Xɽ ]KU)@݅ݿ ]#XFcpr7aI=tl~F c4:f:g4Gr56clѺ&6D'q<6 ʟ% <~MbzQ/c2!,h:;G0:DeMܑq+SƼf3q5+HB7Lx0llMoE/;`u 8zw`z0B(= =C kAfX}JDn31j5qJz8-?ߗwx QKIw7Lxa;p0qUMu'V}- 2~~b闄l9wf,1Z)I;3k-+0/ܹN^ IsJsO\KTbA SQ٩T* La LLm_2Mru2\snN'~+˟*X~w|I&ߝ‡brewtarget-2.0.2/ideas/parse_database.pl0000644000175000017500000011350712266512166017613 0ustar philipphilip#!/usr/bin/perl #=============================================================================== # # FILE: parse_xml.pl # # USAGE: ./parse_xml.pl # # DESCRIPTION: # # OPTIONS: --- # REQUIREMENTS: --- # BUGS: --- # NOTES: --- # AUTHOR: YOUR NAME (), # COMPANY: # VERSION: 1.0 # CREATED: 10/06/2011 10:18:58 PM # REVISION: --- #=============================================================================== use strict; use warnings; use XML::Simple; use DBI; use Data::Dumper; use Getopt::Long; my $verbose = 0; sub help { print << "EOF"; usage: $0 [-p PATH] [-admr] [database] where: -p PATH -- the path to all of the XML files (defaults to .) -a -- parses and imports all records (default) -d -- parses and imports only the database.xml -m -- parses and imports only the mashs.xml -r -- parses and imports only the recipes.xml -v -- verbose -h -- shows this menu database -- the prepared sqlite3 database EOF } sub parse_cli { my $opts = shift; my $rc; %{$opts} = ( path => '.', all => 1, data => 0, mash => 0, recipe => 0, verbose => 0, help => 0 ); $rc = GetOptions( $opts, 'path|p=s', 'all|a', 'data|d', 'mash|m', 'recipe|r', 'verbose|v', 'help|h', ); if ( ! $rc ) { help(); die "Invalid options\n"; } if ( $opts->{help} ) { help(); exit; } if ( $opts->{data} || $opts->{mash} || $opts->{recipe} ) { $opts->{all} = 0; } $verbose = $opts->{verbose}; } # I have hidden all the noise of the hashes in subs so that I can do syntax # folding and hide the noise :) sub set_database { return ( EQUIPMENT => { NAME => { column => 'name', type => 'string' }, VERSION => { column => 'version', type => 'number' }, NOTES => { column => 'notes', type => 'string' }, BOIL_SIZE => { column => 'boil_size', type => 'number' }, BATCH_SIZE => { column => 'batch_size', type => 'number' }, TUN_VOLUME => { column => 'tun_volume', type => 'number' }, TUN_WEIGHT => { column => 'tun_weight', type => 'number' }, TUN_SPECIFIC_HEAT => { column => 'tun_specific_heat',type => 'number' }, TOP_UP_WATER => { column => 'top_up_water', type => 'number' }, TRUB_CHILLER_LOSS => { column => 'trub_chiller_loss',type => 'number' }, EVAP_RATE => { column => 'evap_rate', type => 'number' }, REAL_EVAP_RATE => { column => 'real_evap_rate', type => 'number' }, BOIL_TIME => { column => 'boil_time', type => 'number' }, BOILING_POINT => { column => 'boiling_point', type => 'number' }, ABSORPTION => { column => 'absorption', type => 'number' }, CALC_BOIL_VOLUME => { column => 'calc_boil_volume', type => 'boolean' }, LAUTER_DEADSPACE => { column => 'lauter_deadspace', type => 'number' }, TOP_UP_KETTLE => { column => 'top_up_kettle', type => 'number' }, HOP_UTILIZATION => { column => 'hop_utilization', type => 'number' }, EQUIP_ADJUST => { column => 'equip_adjust', type => 'boolean' }, }, FERMENTABLE => { NAME => { column => 'name', type => 'string' }, VERSION => { column => 'version', type => 'number' }, TYPE => { column => 'ftype', type => 'string' }, AMOUNT => { column => 'amount', type => 'number' }, YIELD => { column => 'yield', type => 'number' }, COLOR => { column => 'color', type => 'number' }, ADD_AFTER_BOIL => { column => 'add_after_boil', type => 'boolean' }, ORIGIN => { column => 'origin', type => 'string' }, SUPPLIER => { column => 'supplier', type => 'string' }, NOTES => { column => 'notes', type => 'string' }, COARSE_FINE_DIFF => { column => 'coarse_fine_diff', type => 'number' }, MOISTURE => { column => 'moisture', type => 'number' }, DIASTATIC_POWER => { column => 'diastatic_power', type => 'number' }, PROTEIN => { column => 'protein', type => 'number' }, MAX_IN_BATCH => { column => 'max_in_batch', type => 'number' }, RECOMMEND_MASH => { column => 'recommend_mash', type => 'boolean' }, IS_MASHED => { column => 'is_mashed', type => 'boolean' }, IBU_GAL_PER_LB => { column => 'ibu_gal_per_lb', type => 'number' }, }, HOP => { NAME => { column => 'name', type => 'string' }, VERSION => { column => 'version', type => 'number' }, ALPHA => { column => 'alpha', type => 'number' }, AMOUNT => { column => 'amount', type => 'number' }, USE => { column => 'use', type => 'string' }, TIME => { column => 'time', type => 'number' }, NOTES => { column => 'notes', type => 'string' }, TYPE => { column => 'htype', type => 'string' }, FORM => { column => 'form', type => 'string' }, BETA => { column => 'beta', type => 'number' }, HSI => { column => 'hsi', type => 'number' }, ORIGIN => { column => 'origin', type => 'string' }, SUBSTITUTES => { column => 'substitutes', type => 'string' }, HUMULENE => { column => 'humulene', type => 'number' }, COHUMULONE => { column => 'cohumulone', type => 'number' }, CARYOPHYLLENE => { column => 'caryophyllene', type => 'number' }, MYRCENE => { column => 'myrcene', type => 'number' }, }, MASH_STEP => { NAME => { column => 'name', type => 'string' }, VERSION => { column => 'version', type => 'number' }, TYPE => { column => 'mstype', type => 'string' }, INFUSE_AMOUNT => { column => 'infuse_amount', type => 'number' }, STEP_TEMP => { column => 'step_temp', type => 'number' }, STEP_TIME => { column => 'step_time', type => 'number' }, RAMP_TIME => { column => 'ramp_time', type => 'number' }, END_TEMP => { column => 'end_temp', type => 'number' }, INFUSE_TEMP => { column => 'infuse_temp', type => 'number' }, DECOCTION_AMOUNT => { column => 'decoction_amount', type => 'number' }, }, MISC => { NAME => { column => 'name', type => 'string' }, VERSION => { column => 'version', type => 'number' }, TYPE => { column => 'mtype', type => 'string' }, USE => { column => 'use', type => 'string' }, TIME => { column => 'time', type => 'number' }, AMOUNT => { column => 'amount', type => 'number' }, AMOUNT_IS_WEIGHT => { column => 'amount_is_weight', type => 'boolean' }, USE_FOR => { column => 'use_for', type => 'string' }, NOTES => { column => 'notes', type => 'string' }, }, STYLE => { NAME => { column => 'name', type => 'string' }, VERSION => { column => 'version', type => 'number' }, TYPE => { column => 's_type', type => 'string' }, CATEGORY => { column => 'category', type => 'string' }, CATEGORY_NUMBER => { column => 'category_number', type => 'number' }, STYLE_LETTER => { column => 'style_letter', type => 'string' }, STYLE_GUIDE => { column => 'style_guide', type => 'string' }, STYPE => { column => 'stype', type => 'string' }, OG_MIN => { column => 'og_min', type => 'number' }, OG_MAX => { column => 'og_max', type => 'number' }, FG_MIN => { column => 'fg_min', type => 'number' }, FG_MAX => { column => 'fg_max', type => 'number' }, IBU_MIN => { column => 'ibu_min', type => 'number' }, IBU_MAX => { column => 'ibu_max', type => 'number' }, COLOR_MIN => { column => 'color_min', type => 'number' }, COLOR_MAX => { column => 'color_max', type => 'number' }, ABV_MIN => { column => 'abv_min', type => 'number' }, ABV_MAX => { column => 'abv_max', type => 'number' }, CARB_MIN => { column => 'carb_min', type => 'number' }, CARB_MAX => { column => 'carb_max', type => 'number' }, NOTES => { column => 'notes', type => 'string' }, PROFILE => { column => 'profile', type => 'string' }, INGREDIENTS => { column => 'ingredients', type => 'string' }, EXAMPLES => { column => 'examples', type => 'string' }, }, WATER => { NAME => { column => 'name', type => 'string' }, VERSION => { column => 'version', type => 'number' }, AMOUNT => { column => 'amount', type => 'number' }, CALCIUM => { column => 'calcium', type => 'number' }, BICARBONATE => { column => 'bicarbonate', type => 'number' }, SULFATE => { column => 'sulfate', type => 'number' }, CHLORIDE => { column => 'chloride', type => 'number' }, SODIUM => { column => 'sodium', type => 'number' }, MAGNESIUM => { column => 'magnesium', type => 'number' }, PH => { column => 'ph', type => 'number' }, NOTES => { column => 'notes', type => 'string' }, }, YEAST => { NAME => { column => 'name', type => 'string' }, VERSION => { column => 'version', type => 'number' }, TYPE => { column => 'ytype', type => 'string' }, FORM => { column => 'form', type => 'string' }, AMOUNT => { column => 'amount', type => 'number' }, AMOUNT_IS_WEIGHT => { column => 'amount_is_weight', type => 'boolean' }, LABORATORY => { column => 'laboratory', type => 'string' }, PRODUCT_ID => { column => 'product_id', type => 'string' }, MIN_TEMPERATURE => { column => 'min_temperature', type => 'number' }, MAX_TEMPERATURE => { column => 'max_temperature', type => 'number' }, FLOCCULATION => { column => 'flocculation', type => 'string' }, ATTENUATION => { column => 'attenuation', type => 'number' }, NOTES => { column => 'notes', type => 'string' }, BEST_FOR => { column => 'best_for', type => 'string' }, TIMES_CULTURED => { column => 'times_cultured', type => 'number' }, MAX_REUSE => { column => 'max_reuse', type => 'number' }, ADD_TO_SECONDARY => { column => 'add_to_secondary', type => 'boolean' }, }, ); } # Three files, three hashes. sub set_mashses { return ( MASH => { NAME => { column => 'name', type => 'string' }, VERSION => { column => 'version', type => 'number' }, NOTES => { column => 'notes', type => 'string' }, GRAIN_TEMP => { column => 'grain_temp', type => 'number' }, TUN_TEMP => { column => 'tun_temp', type => 'number' }, SPARGE_TEMP => { column => 'sparge_temp', type => 'number' }, PH => { column => 'ph', type => 'number' }, TUN_WEIGHT => { column => 'tun_weight', type => 'number' }, TUN_SPECIFIC_HEAT => { column => 'tun_specific_heat', type => 'number' }, EQUIP_ADJUST => { column => 'equip_adjust', type => 'boolean' }, }, MASHSTEP => { NAME => { column => 'name', type => 'string' }, VERSION => { column => 'version', type => 'number' }, TYPE => { column => 'mstype', type => 'string' }, INFUSE_AMOUNT => { column => 'infuse_amount', type => 'number' }, STEP_TEMP => { column => 'step_temp', type => 'number' }, STEP_TIME => { column => 'step_time', type => 'number' }, RAMP_TIME => { column => 'ramp_time', type => 'number' }, END_TEMP => { column => 'end_temp', type => 'number' }, INFUSE_TEMP => { column => 'infuse_temp', type => 'number' }, DECOCTION_AMOUNT => { column => 'decoction_amount', type => 'number' }, }, mash_to_mashstep => { mash => { column => 'mash', type => 'number' }, mashstep_name => { column => 'mashstep_name', type => 'string' }, mashstep_version => { column => 'mashstep_version', type => 'number' }, }, ); } # Uhh. Wow sub set_recipe { return ( RECIPE => { NAME => { column => 'name', type => 'string' }, VERSION => { column => 'version', type => 'number' }, TYPE => { column => 'rtype', type => 'string' }, BREWER => { column => 'brewer', type => 'string' }, ASSISTANT_BREWER => { column => 'assistant_brewer', type => 'string' }, BATCH_SIZE => { column => 'batch_size', type => 'number' }, BOIL_SIZE => { column => 'boil_size', type => 'number' }, EFFICIENCY => { column => 'efficiency', type => 'number' }, OG => { column => 'og', type => 'number' }, FG => { column => 'fg', type => 'number' }, FERMENTATION_STAGES => { column => 'fermentation_stages', type => 'number' }, PRIMARY_AGE => { column => 'primary_age', type => 'number' }, PRIMARY_TEMP => { column => 'primary_temp', type => 'number' }, SECONDARY_AGE => { column => 'secondary_age', type => 'number' }, SECONDARY_TEMP => { column => 'secondary_temp', type => 'number' }, TERTIARY_AGE => { column => 'tertiary_age', type => 'number' }, TERTIARY_TEMP => { column => 'tertiary_temp', type => 'number' }, AGE => { column => 'age', type => 'number' }, AGE_TEMP => { column => 'age_temp', type => 'number' }, BREWDATE => { column => 'brewdate', type => 'number' }, CARB_VOLUME => { column => 'carb_volume', type => 'number' }, FORCED_CARB => { column => 'forced_carb', type => 'boolean'}, PRIMING_SUGAR_NAME => { column => 'priming_sugar_name', type => 'string' }, CARB_TEMP => { column => 'carb_temp', type => 'number' }, PRIMING_SUGAR_EQUIV => { column => 'priming_sugar_equiv', type => 'number' }, KEG_PRIMING_FACTOR => { column => 'keg_priming_factor', type => 'number' }, TASTE_NOTES => { column => 'taste_notes', type => 'string' }, TASTE_RATING => { column => 'taste_rating', type => 'number' }, }, BREWNOTE => { NAME => { column => 'name', type => 'string' }, VERSION => { column => 'version', type => 'number' }, BREWDATE => { column => 'brewDate', type => 'string' }, DATE_FERMENTED_OUT => { column => 'fermentDate', type => 'string' }, SG => { column => 'sg', type => 'number' }, VOLUME_INTO_BK => { column => 'volume_into_bk', type => 'number' }, STRIKE_TEMP => { column => 'strike_temp', type => 'number' }, MASH_FINAL_TEMP => { column => 'mash_final_temp', type => 'number' }, OG => { column => 'og', type => 'number' }, POST_BOIL_VOLUME => { column => 'post_boil_volume', type => 'number' }, VOLUME_INTO_FERMENTER => { column => 'volume_into_fermenter', type => 'number' }, PITCH_TEMP => { column => 'pitch_temp', type => 'number' }, FG => { column => 'fg', type => 'number' }, ACTUAL_ABV => { column => 'actual_abv', type => 'number' }, EFF_INTO_BK => { column => 'eff_into_bk', type => 'number' }, PREDICTED_OG => { column => 'predicted_og', type => 'number' }, BREWHOUSE_EFF => { column => 'brewhouse_eff', type => 'number' }, PREDICTED_ABV => { column => 'predicted_abv', type => 'number' }, PROJECTED_BOIL_GRAV => { column => 'projected_boil_grav', type => 'number' }, PROJECTED_STRIKE_TEMP => { column => 'projected_strike_temp', type => 'number' }, PROJECTED_FIN_TEMP => { column => 'projected_fin_temp', type => 'number' }, PROJECTED_MASH_FIN_TEMP => { column => 'projected_mash_fin_temp', type => 'number' }, PROJECTED_VOL_INTO_BK => { column => 'projected_vol_into_bk', type => 'number' }, PROJECTED_OG => { column => 'projected_og', type => 'number' }, PROJECTED_VOL_INTO_FERM => { column => 'projected_vol_into_ferm', type => 'number' }, PROJECTED_FG => { column => 'projected_fg', type => 'number' }, PROJECTED_EFF => { column => 'projected_eff', type => 'number' }, PROJECTED_ABV => { column => 'projected_abv', type => 'number' }, PROJECTED_ATTEN => { column => 'projected_atten', type => 'number' }, PROJECTED_POINTS => { column => 'projected_points', type => 'number' }, BOIL_OFF => { column => 'boil_off', type => 'number' }, FINAL_VOLUME => { column => 'final_volume', type => 'number' }, NOTES => { column => 'notes', type => 'string' }, }, INSTRUCTION => { NAME => { column => 'name', type => 'string' }, VERSION => { column => 'version', type => 'number' }, DIRECTIONS => { column => 'directions', type => 'string' }, HAS_TIMER => { column => 'has_timer', type => 'boolean' }, TIMER_VALUE => { column => 'timer_value', type => 'string' }, COMPLETED => { column => 'completed', type => 'boolean' }, INTERVAL => { column => 'interval', type => 'number' }, }, hop_in_recipe => { hop_name => { column => 'hop_name', type => 'string' }, hop_version => { column => 'hop_version', type => 'number' }, recipe_name => { column => 'recipe_name', type => 'string' }, recipe_version => { column => 'recipe_version', type => 'number' }, }, ); } # Convenience function to do make sure the fields get quoted properly. sub convert_value { my ($section,$xmlref,$key,$dbh) = @_; my $value = ''; if ( defined $section->{$key} ) { if ( defined $xmlref->{$key}[0] ) { if ( $section->{$key}{type} eq 'string' ) { $value = $xmlref->{$key}[0]; $value =~ s/\n/ /sg; $value = $dbh->quote($value) . ","; } elsif ( $section->{$key}{type} eq 'boolean' ) { $value = $xmlref->{$key}[0] eq 'TRUE' ? "1," : "0,"; } else { $value = "$xmlref->{$key}[0],"; } } } else { die "convert_value: Unrecognized key $key\n"; } return $value; } # Returns the name of the column. It just makes the code cleaner sub convert_name { my ($section,$key) = @_; my $insert = ''; if ( defined $section->{$key} ) { $insert = "$section->{$key}{column},"; } else { die "convert_name: unrecognized key $key\n"; } return $insert; } # Executes one query sub lookup_value { my ($name, $sth, $dbh) = @_; my ($value); $sth->execute($name); $sth->bind_col(1,\$value); $sth->fetchrow_arrayref; $sth->finish(); return $value; } # Okay. This one translates the database.xml into the database. It is the # easiest one of the lot because it has to do the least amount of work. I can # assume, based on the previous data structure, that everything is unique. sub convert_database { my ($dbh, $xsref, $translate) = @_; my $whirlygig = 1; my %ids = ( EQUIPMENT => 'eid', FERMENTABLE => 'fid', HOP => 'hid', MISC => 'mid', STYLE => 'sid', WATER => 'wid', YEAST => 'yid' ); local $| = 1; for my $section ( keys %$xsref ) { die "Unknown section: $section\n" unless defined $translate->{$section}; my $name = $section eq 'MASH_STEP' ? 'MASHSTEP' : $section; my $lname = lc $name; for my $ref ( @{$xsref->{$section}} ) { if ( ! $ref->{NAME}[0] ) { warn "No name entry found in $section. Skipping\n"; next; } # The style guide for American Pale Ale and Brown Ale will cause problems. # Fix them in transit if ( $section eq 'STYLE' ) { if ($ref->{NAME}[0] eq 'American Pale Ale' ) { $ref->{CATEGORY}[0] = 'American Ale'; $ref->{CATEGORY_NUMBER}[0] = 10; $ref->{STYLE_LETTER}[0] = 'A'; } elsif ( $ref->{NAME}[0] eq 'Mild' ) { $ref->{CATEGORY}[0] = 'English Ale'; $ref->{CATEGORY_NUMBER}[0] = 11; $ref->{STYLE_LETTER}[0] = 'A'; } } # The notes fields seem to cause issues. This should fix them. if ( defined $ref->{NOTES} ) { $ref->{NOTES}[0] =~ s/[\r\n]/ /msg; } # Since this is the initial load, assume everything is the root # object. my $insert = "insert into $name (deleted,display,"; my $values = "values (0,"; my $parent = 0; if ( defined $ids{$section} ) { $parent = lookup_value( $ref->{NAME}[0], $dbh->prepare("select min($ids{$section}) from $name where name = ?"), $dbh ); } if ( $parent ) { $values .= "0,"; } else { $values .= "1,"; } for my $key ( keys %$ref ) { $values .= convert_value( $translate->{$section}, $ref, $key, $dbh); $insert .= convert_name( $translate->{$section}, $key ); } $insert =~ s/,$/) /; $values =~ s/,$/);/; print "$insert $values\n" if $verbose; $dbh->do("$insert $values"); # if this thingy already exists in the database, we need to link it # in if ($parent) { my $id = lookup_value( $ref->{NAME}[0], $dbh->prepare("select max($ids{$section}) from $name where name = ?"), $dbh ); $dbh->do("insert into ${lname}_children (parent_id, child_id) values ($parent,$id);"); } $whirlygig++; print "$whirlygig\r" if $whirlygig % 10 == 0; } $dbh->commit(); } } # This one loads the mashes and is harder than loaded the databases, because # we need to do some cross references and load the mapping tables. I am hoping # this will give me an idea of what I will need to do for the recipes, which # should be the hardest yet. sub convert_mashes { my ($dbh, $xsref,$translate) = @_; my (%mashsteps,$mash_id); my $whirlygig = 0; my $steps = ''; for my $section ( keys %$xsref ) { for my $mash ( @{$xsref->{$section}} ) { my $insert_mash = "insert into mash (deleted,display,"; my $values_mash = "values (0,1,"; for my $key ( keys %{$mash} ) { if ( $key ne 'MASH_STEPS' ) { $values_mash .= convert_value( $translate->{$section}, $mash, $key, $dbh); $insert_mash .= convert_name( $translate->{$section}, $key ); } else { # These need to be processed after we have added the mash $steps = $mash->{$key}; } } $insert_mash =~ s/,$/) /; $values_mash =~ s/,$/);/; $dbh->do("$insert_mash $values_mash"); # Process the mash steps. Parsing XML makes for some really twisted # data structures. for my $step ( @$steps ) { next unless $step; for my $key ( keys %{$step} ) { for my $mashstep ( @{$step->{$key}} ) { my $insert_step = "insert into mashstep (deleted,display,"; my $values_step = "values (0,1,"; for my $mstep ( keys %{$mashstep} ) { $values_step .= convert_value( $translate->{'MASHSTEP'}, $mashstep, $mstep, $dbh); $insert_step .= convert_name( $translate->{'MASHSTEP'}, $mstep ); } $insert_step =~ s/,$/) /; $values_step =~ s/,$/);/; $dbh->do("$insert_step $values_step"); # get the id we just created. I wonder if there is a better # way of doing this? my $name = $mashstep->{NAME}[0]; $mashsteps{$name} = lookup_value( $name, $dbh->prepare('select max(msid) from mashstep where name = ?'), $dbh); } } } # Now we link all this crap together. $mash_id = lookup_value( $mash->{NAME}[0], $dbh->prepare("select max(maid) from mash where name = ?"), $dbh ); for my $step ( keys %mashsteps ) { my $insert_map = "insert into mash_to_mashstep (mash_id,mashstep_id)"; $insert_map .= " values ($mash_id, $mashsteps{$step});"; $dbh->do("$insert_map"); } $whirlygig++; print "\t$whirlygig\n" if $whirlygig % 10 == 0; } $dbh->commit(); } return $mash_id || 0; } # This is a helper to convert_recipes. I hate long functions sub convert_brewnotes { my ($brewnotes,$rid,$translate,$dbh) = @_; return unless $brewnotes->[0]; for my $bnote ( @{$brewnotes->[0]{BREWNOTE}} ) { my $insert = "insert into brewnote (deleted,display,recipe_id,"; my $values = "values (0,1,$rid,"; for my $key ( keys %$bnote ) { next if $key eq 'VERSION'; $values .= convert_value( $translate->{BREWNOTE}, $bnote, $key, $dbh); $insert .= convert_name( $translate->{BREWNOTE}, $key ); } $insert =~ s/,$/) /; $values =~ s/,$/);/; $dbh->do("$insert $values"); } $dbh->commit(); } sub convert_instructions { my ($instructions,$rid,$translate,$dbh) = @_; return unless $instructions->[0]; for my $ins ( @{$instructions->[0]{INSTRUCTION}} ) { my $insert = "insert into instruction (deleted,display,recipe_id,"; my $values = "values (0,1,$rid,"; for my $key ( keys %$ins ) { $values .= convert_value( $translate->{INSTRUCTION}, $ins, $key, $dbh); $insert .= convert_name( $translate->{INSTRUCTION}, $key ); } $insert =~ s/,$/) /; $values =~ s/,$/);/; print "$insert $values\n" if $verbose; $dbh->do("$insert $values"); } $dbh->commit(); } sub convert_ingredients { my ($ingredients,$section,$rid,$translate,$dbh) = @_; my $lsec = lc $section; my $link_table = $lsec . '_in_recipe'; my %ids = ( HOP => 'hid', FERMENTABLE => 'fid', MISC => 'mid', WATER => 'wid', YEAST => 'yid' ); return unless $ingredients->[0]; for my $ing ( @{$ingredients->[0]{$section}} ) { my $insert = "insert into $section (deleted,display,"; my $values = "values (0,"; # Get the ingredient in the main tables. The one marked for display has # to be the parent my $parent = lookup_value( $ing->{NAME}[0], $dbh->prepare("select $ids{$section} from $section where name = ? and display = 1"), $dbh ); # If the ingredient is in the main table, set this not to display if ( $parent ) { $values .= "0,"; } # Otherwise, display this else { $values .= "1,"; } # The notes fields seem to cause issues. This should fix them. if ( defined $ing->{NOTES} ) { $ing->{NOTES}[0] =~ s/[\n\r]/ /msg; } for my $key ( keys %$ing ) { $values .= convert_value( $translate->{$section}, $ing, $key, $dbh); $insert .= convert_name( $translate->{$section}, $key ); } $insert =~ s/,$/) /; $values =~ s/,$/);/; print "$insert $values\n" if $verbose; $dbh->do("$insert $values"); # grab the ingredient we just created my $id = lookup_value( $ing->{NAME}[0], $dbh->prepare("select max($ids{$section}) from $section where name = ?"), $dbh); die "Couldn't find myself: $ing->{NAME}[0] $id\n" unless $id; # Set up any necessary parent/child relations if ( $parent ) { $dbh->do("insert into ${lsec}_children (parent_id,child_id) values ($parent,$id)"); } # Now perform the linking. $insert = "insert into $link_table (${lsec}_id,recipe_id) "; $values = join (",","values ( ", $id, $rid); $values =~ s/\( ,/(/; print "$insert $values);\n" if $verbose; $dbh->do("$insert $values);"); } $dbh->commit(); } sub convert_withId { my ($stuff,$section,$trans,$dbh) = @_; my ($name, $id, $parent); my %ids = ( EQUIPMENT => 'eid', FERMENTABLE => 'fid', HOP => 'hid', MISC => 'mid', STYLE => 'sid', WATER => 'wid', YEAST => 'yid' ); my $data = $stuff->[0]; $name = $data->{NAME}[0]; $parent = lookup_value($name, $dbh->prepare("select $ids{$section} from $section where name = ? and display = 1"), $dbh); die "Couldn't find parent $name $section $ids{$section} $parent\n" unless $parent; my $insert = "insert into $section (deleted,display,"; my $values = sprintf 'values (0,%s,', $parent ? "0" : "1"; # The style guide for American Pale Ale and Brown Ale will cause problems. # Fix them in transit if ( $section eq 'STYLE' ) { if ($data->{NAME}[0] eq 'American Pale Ale' ) { $data->{CATEGORY}[0] = 'American Ale'; $data->{CATEGORY_NUMBER}[0] = 10; $data->{STYLE_LETTER}[0] = 'A'; } elsif ( $data->{NAME}[0] eq 'Mild' ) { $data->{CATEGORY}[0] = 'English Ale'; $data->{CATEGORY_NUMBER}[0] = 11; $data->{STYLE_LETTER}[0] = 'A'; } } # The notes fields seem to cause issues. This should fix them. if ( defined $data->{NOTES} ) { $data->{NOTES}[0] =~ s/[\r\n]/ /msg; } for my $key ( keys %$data ) { $values .= convert_value( $trans->{$section}, $data, $key, $dbh); $insert .= convert_name( $trans->{$section}, $key ); } $insert =~ s/,$/) /; $values =~ s/,$/);/; print "$insert $values\n" if $verbose; $dbh->do("$insert $values"); $dbh->commit(); $id = lookup_value($name, $dbh->prepare("select max($ids{$section}) from $section where name = ?"), $dbh); # Do the child links if required if ( $parent ) { my $lsec = lc $section; $dbh->do("insert into ${lsec}_children (parent_id,child_id) values ($parent,$id);"); } return $id; } # This one will be the hardest. Lots of dependencies, lots of keys and 2 # bazillion tables. I am hoping I can shortcut much of this by calling # convert_database and convert_mashes as required. sub convert_recipes { my ($dbh, $xsref,$translate,$dbhash,$mshash) = @_; my ($parent_id, $rname, $rid); local $| = 1; # Have I complained about these obscenely deep data structures yet? for my $section ( keys %$xsref ) { for my $recipe ( @{$xsref->{$section}} ) { # I am doing this a little upside down for right now. We use the # translations hash to decide which values to extract from the recipe # XML my $ins_rec = "insert into recipe (deleted,display,"; my $val_rec = " values (0,"; # Save this to make later things easy $rname = $recipe->{NAME}[0]; print "\tconverting $rname\n"; # See if we have a parent $parent_id = lookup_value( $rname, $dbh->prepare('select min(rid) from recipe where name = ? and display = 1'), $dbh ); $val_rec .= $parent_id ? "0," : "1,"; for my $key ( keys %{$translate->{RECIPE}} ) { my ($val,$name); if ( $val = convert_value( $translate->{RECIPE}, $recipe, $key, $dbh) and $name = convert_name( $translate->{RECIPE}, $key ) ) { $val_rec .= $val; $ins_rec .= $name; } } # We need to find the style, the equipment and do something with the # mashes my $equip_id = convert_withId($recipe->{EQUIPMENT},'EQUIPMENT',$dbhash,$dbh); my $style_id = convert_withId($recipe->{STYLE},'STYLE', $dbhash, $dbh); # Round peg, meet square hole. I do not want to completely rewrite # convert_mashes, but it expects a few more layers of data structure # than the recipe gives me my $mash_id = convert_mashes($dbh, { MASH => $recipe->{MASH} }, $mshash); $ins_rec .= "equipment_id,mash_id,style_id,"; $val_rec .= join( ",", $equip_id, $mash_id, $style_id); # That should be the recipe. Deceptively easy, but I left all the # hard work for later. $ins_rec =~ s/,$/) /; $val_rec .= ');'; print "$ins_rec $val_rec\n" if $verbose; $dbh->do( "$ins_rec $val_rec"); # Find the recipe we just made $rid = lookup_value( $rname, $dbh->prepare('select max(rid) from recipe where name = ?'), $dbh ); die "Could not find myself: $rname $rid\n" unless $rid; # link this one to its parent if we must if ( $parent_id ) { $dbh->do("insert into recipe_children (parent_id,child_id) values ($parent_id,$rid);"); } # Brewnotes convert_brewnotes($recipe->{BREWNOTES},$rid,$translate,$dbh); # Instructions convert_instructions($recipe->{INSTRUCTIONS},$rid,$translate,$dbh); # Hops convert_ingredients($recipe->{HOPS},'HOP',$rid,$dbhash,$dbh); # Fermentables convert_ingredients($recipe->{FERMENATBLES},'FERMENATBLE',$rid,$dbhash,$dbh); # Misc convert_ingredients($recipe->{MISCS},'MISC',$rid,$dbhash,$dbh); # Water convert_ingredients($recipe->{WATERS},'WATER',$rid,$dbhash,$dbh); # Yeast convert_ingredients($recipe->{YEASTS},'YEAST',$rid,$dbhash,$dbh); } } } my %options; parse_cli(\%options); my $dbfile = shift @ARGV || ''; my $data_file = join( "/", $options{path}, 'database.xml'); my $mash_file = join( "/", $options{path}, 'mashs.xml'); my $recp_file = join( "/", $options{path}, 'recipes.xml'); my $xsref; my %dbhash = set_database(); my %mshash = set_mashses(); my %rchash = set_recipe(); if ( ! $dbfile ) { help(); die "No database specified\n"; } my $xs = XML::Simple->new(SuppressEmpty=> '', ForceArray => 1 ); my $dbh = DBI->connect("dbi:SQLite:dbname=$dbfile","","", { AutoCommit => 0, RaiseError => 1, sqlite_see_if_its_a_number => 1, }); $dbh->do("PRAGMA foreign_keys = ON"); if ( $options{all} || $options{data} ) { print "parsing database\n"; $xsref = $xs->XMLin($data_file); convert_database($dbh,$xsref,\%dbhash); } if ( $options{all} || $options{mash} ) { print "parsing mashes\n"; $xsref = $xs->XMLin($mash_file); convert_mashes($dbh,$xsref,\%mshash); } if ( $options{all} || $options{recipe} ) { print "parsing recipes\n"; $xsref = $xs->XMLin($recp_file); convert_recipes($dbh,$xsref,\%rchash,\%dbhash,\%mshash); } $dbh->disconnect(); brewtarget-2.0.2/ideas/fermentable.h0000644000175000017500000002324612266512166016755 0ustar philipphilip/* * fermentable.h is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2011. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef _FERMENTABLE_H #define _FERMENTABLE_H #include #include #include "observable.h" #include #include "BeerXMLElement.h" #include #include class Fermentable; // Should this inherit an item model? E.g. Fermentable -> BeerXMLTreeModel -> QAbstractItemModel class Fermentable : public QObject { Q_OBJECT Q_CLASSINFO("version","1") friend class Brewtarget; public: enum Type { TYPEGRAIN=0, TYPESUGAR, TYPEEXTRACT, TYPEDRY_EXTRACT, TYPEADJUNCT, NUMTYPES }; Fermentable( const QString& table, const int& key ) : table(table), key(key) {} Fermentable( Fermentable& other ) : table(other.table), key(other.key) {} // QUESTION: will we still need this? Fermentable(const QDomNode& fermentableNode); virtual ~Fermentable() {} // QUESTION: still need these? virtual void fromNode(const QDomNode& node); // From BeerXMLElement virtual void toXml(QDomDocument& doc, QDomNode& parent); // From BeerXMLElement friend bool operator<(Fermentable &f1, Fermentable &f2); friend bool operator==(Fermentable &f1, Fermentable &f2); // Obsolete /* enum{ DONOTUSE, NAME, TYPE, AMOUNT, YIELD, COLOR, AFTERBOIL, ORIGIN, SUPPLIER, NOTES, COARSEFINEDIFF, MOISTURE, DIASTATICPOWER, PROTEIN, MAXINBATCH, ISMASHED }; */ // New Q_PROPERTIES Q_PROPERTY( QString name READ name WRITE setName NOTIFY changedName ) Q_PROPERTY( Type type READ type WRITE setType NOTIFY changedType ) Q_PROPERTY( QString typeString READ typeString /*WRITE*/ NOTIFY changedTypeString STORED false ) Q_PROPERTY( QString typeStringTr READ typeStringTr /*WRITE*/ NOTIFY changedTypeStringTr STORED false ) Q_PROPERTY( double amount_kg READ amount_kg WRITE setAmount_kg NOTIFY changedAmount_kg ) Q_PROPERTY( double yield_pct READ yield_pct WRITE setYield_pct NOTIFY changedYield_pct ) Q_PROPERTY( double color_srm READ color_srm WRITE setColor_srm NOTIFY changedColor_srm ) Q_PROPERTY( bool addAfterBoil READ addAfterBoil WRITE setAddAfterBoil NOTIFY changedAddAfterBoil ) Q_PROPERTY( QString origin READ origin WRITE setOrigin NOTIFY changedOrigin ) Q_PROPERTY( QString supplier READ supplier WRITE setSupplier NOTIFY changedSupplier ) Q_PROPERTY( QString notes READ notes WRITE setNotes NOTIFY changedNotes ) Q_PROPERTY( double coarseFineDiff_pct READ coarseFineDiff_pct WRITE setCoarseFineDiff_pct NOTIFY changedCoarseFineDiff_pct ) Q_PROPERTY( double moisture_pct READ moisture_pct WRITE setMoisture_pct NOTIFY changedMoisture_pct ) Q_PROPERTY( double diastaticPower_lintner READ diastaticPower_lintner WRITE setDiastaticPower_lintner NOTIFY changedDiastaticPower_lintner ) Q_PROPERTY( double protein_pct READ protein_pct WRITE setProtein_pct NOTIFY changedProtein_pct ) Q_PROPERTY( double maxInBatch_pct READ maxInBatch_pct WRITE setMaxInBatch_pct NOTIFY changedMaxInBatch_pct ) Q_PROPERTY( bool recommendMash READ recommendMash WRITE setRecommendMash NOTIFY changedRecommendMash ) Q_PROPERTY( double ibuGalPerLb READ ibuGalPerLb WRITE setIbuGalPerLb NOTIFY changedIbuGalPerLb ) Q_PROPERTY( double equivSucrose_kg READ equivSucrose_kg /*WRITE*/ NOTIFY changedEquivSucrose_kg STORED false ) Q_PROPERTY( bool isMashed READ isMashed WRITE setIsMashed NOTIFY changedIsMashed ) // Getters. These will do a query on the corresponding database table entry. const QString name() const { //Example pseudocode //Query q = constructGetterQuery( table, key, "name" ); Query q = constructGetterQuery( this, "name" ); QVariant result = Database::instance().execQuery( q ); return result.toString(); } // Obsolete. See Q_CLASSINFO("version","1") //int version() const; const Type type() const; const QString typeString() const; //! Returns a translated type string. const QString typeStringTr() const; double amount_kg() const; double yield_pct() const; double color_srm() const; bool addAfterBoil() const; const QString origin() const; const QString supplier() const; const QString notes() const; double coarseFineDiff_pct() const; double moisture_pct() const; double diastaticPower_lintner() const; double protein_pct() const; double maxInBatch_pct() const; bool recommendMash() const; double ibuGalPerLb() const; // Calculated property getters. //! Get the maximum kg of equivalent sucrose that will come out of this ferm. double equivSucrose_kg() const; // Setters. These will set the corresponding database table entry. void setName( const QString& str ) { // Example pseudocode. // SetterCommand implements QUndoCommand. Pass a reference to this object // so that if we ever execute q.undo(), we will know to emit changedName() again. SetterCommand c = constructSetterCommand( this, "name", str ); Database::instance().pushSetterCommandOntoStackToBeExecutedInTheNearFuture( c ); // The SetterCommand HAS TO emit this signal when it is actually executed somehow. // Otherwise, we can have concurrency issues where a getter is called before the // value has actually been changed in the database. I think we can take advantage // of the Q_PROPERTY stuff here. //emit changedName(str); } // Obsolete. //void setVersion( int num ); void setType( Type t ); void setAmount_kg( double num ); void setYield_pct( double num ); void setColor_srm( double num ); void setAddAfterBoil( bool b ); void setOrigin( const QString& str ); void setSupplier( const QString& str); void setNotes( const QString& str ); void setCoarseFineDiff_pct( double num ); void setMoisture_pct( double num ); void setDiastaticPower_lintner( double num ); void setProtein_pct( double num ); void setMaxInBatch_pct( double num ); void setRecommendMash( bool b ); void setIbuGalPerLb( double num ); /*** My extensions ***/ bool getIsMashed() const; void setIsMashed(bool var); /*** END my extensions ***/ signals: // New notification signals. void changedName( QString newName ); void changedType( Type newType ); void changedTypeString( QString newTypeString ); void changedTypeStringTr( QString newTypeStringTr ); void changedAmount_kg( double newAmount_kg ); void changedYield_pct( double newYield_pct ); void changedColor_srm( double newColor_srm ); void changedAddAfterBoil( bool newAddAfterBoil ); void changedOrigin( QString newOrigin ); void changedSupplier( QString newSupplier ); void changedNotes( QString newNotes ); void changedCoarseFineDiff_pct( double newCoarseFineDiff_pct ); void changedMoisture_pct( double newMoisture_pct ); void changedDiastaticPower_lintner( double newDiastaticPower_lintner ); void changedProtein_pct( double newProtein_pct ); void changedMaxInBatch_pct( double newMaxInBatch_pct ); void changedRecommendMash( bool newRecommendMash ); void changedIbuGalPerLb( double newIbuGalPerLb ); void changedIsMashed( bool newIsMashed ); private: // The key of this Fermentable in the database table. const int keyValue; // Which table this Fermentable is in. const QString table; // All obsolete. The data is stored only in the database. /* QString name; //See Q_CLASSINFO("version","1") static const int version = 1; Type type; double amount_kg; double yield_pct; double color_srm; bool addAfterBoil; QString origin; QString supplier; QString notes; double coarseFineDiff_pct; double moisture_pct; double diastaticPower_lintner; double protein_pct; double maxInBatch_pct; bool recommendMash; double ibuGalPerLb; bool isMashed; */ static bool isValidType( const QString& str ); static QStringList types; void setDefaults(); }; inline bool FermentablePtrLt( Fermentable* lhs, Fermentable* rhs) { return *lhs < *rhs; } inline bool FermentablePtrEq( Fermentable* lhs, Fermentable* rhs) { return *lhs == *rhs; } struct Fermentable_ptr_cmp { bool operator()( Fermentable* lhs, Fermentable* rhs) { return *lhs < *rhs; } }; struct Fermentable_ptr_equals { bool operator()( Fermentable* lhs, Fermentable* rhs ) { return *lhs == *rhs; } }; #endif brewtarget-2.0.2/COPYING.WTFPL0000644000175000017500000000074312266512166015156 0ustar philipphilip DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE Version 2, December 2004 Copyright (C) 2004 Sam Hocevar Everyone is permitted to copy and distribute verbatim or modified copies of this license document, and changing it is allowed as long as the name is changed. DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. You just DO WHAT THE FUCK YOU WANT TO. brewtarget-2.0.2/migrations/0000755000175000017500000000000012266512166015400 5ustar philipphilipbrewtarget-2.0.2/migrations/migrations.xml0000644000175000017500000000050012266512166020271 0ustar philipphilip ]> migration_2.0.0_to_2.0.2.sql brewtarget-2.0.2/migrations/migration_2.0.0_to_2.0.2.sql0000644000175000017500000000035112266512166022047 0ustar philipphilipCREATE TABLE settings( id integer primary key, version varchar(256) ); INSERT INTO settings VALUES(1,'2.0.2'); ALTER TABLE brewnote ADD COLUMN projected_ferm_points real DEFAULT 0.0; UPDATE brewnote SET projected_ferm_points = -1.0; brewtarget-2.0.2/migrations/README0000644000175000017500000000017212266512166016260 0ustar philipphilip## Note to Developers Due to limitations with QSqlQuery parsing, each statement in a migration must be on a single line. brewtarget-2.0.2/css/0000755000175000017500000000000012266512166014014 5ustar philipphilipbrewtarget-2.0.2/css/recipe.css0000644000175000017500000001002012266512166015766 0ustar philipphilipbody{ width: 8.5in; margin: auto auto auto 10px; } ul { list-style-type:circle; } caption { caption-side:bottom; text-align: right; } h1 { font-size:36px; font-weight:bold; text-align:left; } h2 { font-size:18px; font-weight:bold; text-align:left; border-bottom-style:solid; } h3 { font-size:14px; text-align:left; font-weight:normal; border-bottom-width:1px; border-bottom-style:solid; } h4 { font-size:12px; text-align:left; font-weight:normal; } img { position:absolute; right:0px; top:0px; z-index:-1; } #headerdiv { padding-bottom:30px; } #header { border-collapse:collapse; width:100%; empty-cells:hide; } #header td { border: 0px solid white; padding: 3px 7px 2px 7px; empty-cells:hide; } #header td.label { width:10%; font-size:14px; font-weight:bold; text-align:left; } #header td.value { width:60%; font-size:14px; font-weight:normal; text-align:left; } #header caption { font-size:36px; caption-side:top; text-align: left; } #title { border-collapse:collapse; width:100%; empty-cells:hide; border: 1px solid; } #title td, #title th { border: 0px solid white; padding: 3px 7px 2px 7px; empty-cells:show; } #title td.left { font-weight:bold; text-align:left; } #title td.value { font-weight:normal; text-align:left; } #title td.right { font-weight:bold; text-align:right; } #fermentables { border-collapse:collapse; width:100%; empty-cells:hide; } #fermentables td { border: 0px solid white; padding: 3px 7px 2px 7px; empty-cells:show; } #fermentables th { border: 0px solid white; padding: 3px 7px 2px 7px; font-weight:bold; text-align:left; empty-cells:show; } #fermentables caption { caption-side:bottom; text-align: center; font-weight:bold; padding: 0.5em 0; } #hops { border-collapse:collapse; width:100%; empty-cells:hide; } #hops td { border: 0px solid white; padding: 3px 7px 2px 7px; empty-cells:show; } #hops th { border: 0px solid white; padding: 3px 7px 2px 7px; font-weight:bold; text-align:left; empty-cells:show; } #hops caption { caption-side:bottom; text-align: center; font-weight:bold; } #misc { border-collapse:collapse; width:100%; empty-cells:hide; } #misc td { border: 0px solid white; padding: 3px 7px 2px 7px; empty-cells:show; } #misc th { border: 0px solid white; padding: 3px 7px 2px 7px; font-weight:bold; text-align:left; empty-cells:show; } #misc caption { caption-side:bottom; text-align: center; font-weight:bold; } #yeast { border-collapse:collapse; width:100%; empty-cells:hide; } #yeast td { border: 0px solid white; padding: 3px 7px 2px 7px; empty-cells:show; } #yeast th { border: 0px solid white; padding: 3px 7px 2px 7px; font-weight:bold; text-align:left; empty-cells:show; } #yeast caption { caption-side:bottom; text-align: center; font-weight:bold; } #mash { border-collapse:collapse; width:100%; empty-cells:hide; } #mash td { border: 0px solid white; padding: 3px 7px 2px 7px; empty-cells:show; } #mash th { border: 0px solid white; padding: 3px 7px 2px 7px; font-weight:bold; text-align:left; empty-cells:show; } #mash caption { caption-side:bottom; text-align: center; font-weight:bold; } #instruction { list-style-type:decimal; } #brewnote { border-collapse:collapse; width:100%; } #brewnote caption { caption-side:top; text-align: center; font-weight:normal; padding: 0.5em 0; } #brewnote td, #brewnote th { border: 0px solid white; padding: 3px 7px 2px 7px; empty-cells:show; } #brewnote tr.alt { color:black; background-color:#e8e8e8; } #brewnote td.left { width:20%; font-weight:normal; text-align:left; } #brewnote td.value { width:30%; font-weight:normal; text-align:left; } #brewnote td.right { width:20%; font-weight:normal; text-align:left; } brewtarget-2.0.2/css/brewday.css0000644000175000017500000000316112266512166016164 0ustar philipphilipbody{ width: 8.5in; margin: auto auto auto 10px; } caption { caption-side:top; } ul { list-style-type:circle; } h1 { font-size:36px; font-weight:bold; text-align:left; } h2 { font-size:20px; font-weight:bold; text-align:center; border-bottom-style:solid; } img { position:absolute; right:0px; top:0px; z-index:-1; } #title { border-collapse:collapse; width:100%; empty-cells:hide; } #title td, #title th { border: 0px solid white; padding: 3px 7px 2px 7px; empty-cells:show; } #title td.left { font-weight:bold; text-align:left; } #title td.value { font-weight:normal; text-align:left; } #title td.right { font-weight:bold; text-align:right; } #steps { border-collapse:collapse; width:100%; margin-right:auto; } #steps td, #steps th { border: 1px solid black; padding: 3px 7px 2px 7px; } #steps th { text-align:left; padding-top:5px; padding-bottom:4px; background-color:#d8d8d8; } #steps tr.alt td { color:black; background-color:#e8e8e8; } #steps th.check { width:10%; } #steps td.check { width:10%; font-size:3em; text-align:center; } #steps td.time { width:10%; } #notes { border-collapse:collapse; width:100%; } #notes td, #notes th { border: 0px solid white; padding: 30px 10px 20px 10px; empty-cells:show; } #notes tr.alt { color:black; background-color:#e8e8e8; } #notes td.left { width:20%; font-weight:bold; text-align:left; } #notes td.value { width:30%; font-weight:normal; text-align:left; } #notes td.right { width:20%; font-weight:bold; text-align:right; } brewtarget-2.0.2/mac/0000755000175000017500000000000012266512166013764 5ustar philipphilipbrewtarget-2.0.2/mac/Info.plist0000644000175000017500000000135512266512166015740 0ustar philipphilip CFBundleDocumentTypes CFBundleTypeExtensions xml CFBundleTypeName BeerXML data CFBundleTypeRole Editor LSIsAppleDefaultForType CFBundleExecutable Brewtarget CFBundleIconFile BrewtargetIcon.icns CFBundlePackageType APPL CFBundleVersion 1.3 brewtarget-2.0.2/mac/BrewtargetIcon.icns0000644000175000017500000031057012266512166017567 0ustar philipphilipicnsxTOC @is32s8mkil32l8mkit32,    :5 F< ,=  s8mk.sӼb v=exmd}['QjgtHԖ!6ӕRU:řNz_sNa+0QY-%ju۩܅x.0tJSV1%wil32E =huR' zǹʢF[϶i/$cKΙͿV =&˽1̞A&[ͤAuFȯ ¾"_J$@qyT.WVXDB/  "XNL`$<NX^;iFcZWI0$ĘRŠh1 Fb`$8\C(2)NDl$.[37.1/2<7Fy6<8;9<A+x:/8PQ\>/ E "ʔ Ñ^?|r2́#k<T|8BΖlɖ488ȟh'r0/Y5m 6Rmi,o ;4̈́#δT@ .l nßΠ/ Y̶˸60n I h7j[0y4gdhQm+(i[\n.yE ToddW#}GWpp1V;7.?_ 5+kH>)Y mfHbmpRk&Ss IZ'¶,bQi~            +  %@.   !<<P";<W   !=V   :Q (      7AA+[7s;@94) и  294==,2.>/5#  0,֘           l8mk L0 O#'lڼJH=ʏ~IQ+(;h4^A329'a|s%6*$B$!')6ZycX,0Tsm@<24i#AEH9i\ay3=A@;X+'ؘO+/<(u29WP%bC*\>$8)N5=;}[?5TlqLU,&8wd=43A5xE\8\5Qhܘ9 4\lJ\it32<%$&(eH ^oPuU *-IÃ9)$$9Navp]G2#;^þrL. '?}g. &[ ýD .oþĿQ 'oĸT[ľļB :ž|}ŷq#/dlQ=.!&j&2BXvD 1þ þsM4 vQ #=^Ŷe P [, uPAiþ*gI wR ^ħAqžF wQ`ŵN zH xQ"pķ[ }x$ xQ Bź[tG  xP]ķRn, yPCĶD fúx yQ8d%.Ŭ4Qúg yPV#ŝ$ 3źS yPjB ă Y yP7E \ee yP'{O $9:ýv 7)%#*&  yOL -Óþ2RXUTSQG<.!  yPV8 4[Z)5XeaXRRG?FNK; zP8ͺ Qð-*ĽJ ?Yb^JBHFDHQVQB  zO Pѷe  y np  ?\bWGHVTROEGLC8- {O ԰,:o. ! "ø; .ü 5VZOGQ``_^S@9CG>7 |O WѲg2]tors E rK/HKDET`a_b\J@QZNA; |O!5ýn~̸u&|=*ĸ3DKFBQ]\]`ZFN``\YM: |O7|֥A 2v cC/JYTCG_c^`TGRb^_`\H8 }NĻÝ1 u0 ö'OaZB?U^WSIGRaa`^]W@- }Nm뿯k /^ ;õ@&J^[G;?EGE?;EV\`_^`Q? |N:ζy yĉ vĆ?X^H@IKMSLF?DEMY`a^I- |NпV 4ó? ôW-LYEG]a__^[SLC=FTZ`UA  |N]Ծ͠8 l =ij(?RIIab]_]`^_VKCCK^_J  }M"͹l Xŏ eq  EGL\_\][^]`^_XG@WdU? }MUÿ+ %ö5 J'@IU^_]\][]\`cVEL^Y: }M ~λԿa Y %0! Or - ,ESUTK(  úMFć[7 < 5p   ƼJE``S0 (Ľě :u   ź\   1ŽĢ >}mmnm$npiefb\[_decbabd_te_[TQPQV^ehd]W XXWZvģ D ĦJ è! I è! DÝ žÞ ýĦ >kYXXWVXVY]_`__`^_a\qc]a_^`]`behghhgghhlģ 9m źR 1ĽĠ4q źE %ĽØ -  úL < !'-BIJE=* J% Ps 5 &M_jsuqh^O& I_& gX nF7\lj[2 HRCc; üB X_3^ro\( úI `^AoKāã/ =\pkZ úI ``pi9ĕ $1;e¼d, úI Bgc!,w~D cz PYoIJgF H euo? _g S _v ^zȧmb\YH' úG/k]+x{B )ĵ/ >ó(aˊe\^`gic]N6 úF XshJZg VĐ U`~~WZpl]L úG$goauy<m vń\u׼wTf}cS úG Tqtmj 2ij? 9B JjVgcK  úG(iquu! vÈ Ä#&^{[a|_- úFXtnx|6 1ü\cõ@" HbqVxnQ úF.jov{3 q0%!Qdceż}_" úFXvxnzp 3o gS F^`[qf- úF3krmwsB ÿ4 *üĢ  5TYzļk2 úFMuvkibWW4 J| oh %Yz¼k3 úF(hyiH þ9*DMuh/ úF=qwL py WŦ*=lžb% úFFwb S*ą+as[ úF Iyݧk' 5ļ^ ?q Wnc6 ĺDFvi%+ müe ._yiY ĺD7m΋X$> Ĺ`  C`yk[& ĺD`tՠkC "Y ,ùe A^mzdY) ĺD(dtp] (w Lúo 2[bjqtsnf_P ĺD +^jt{|z{{nZ% *Ĝ jx )FZ]]R;  ĺD 1XfhheW2 27j0   ĺD   NC~ƫH ĺCkľQŵi! ĺC ;ý\H ĺC$mXrĹ> ĺCWĿJcGźD !\? S[&  ǺD;n,5Ĺ{O0 ʺC;do qĶmP:+ $ȺY#0@XtýM ;ĺxw~p%VŽ= (aM$bùJ &X N& -iY%!AnĽX. "A^v oU7  )-Núv6*# ƺD ż> ſA s/*%(% (!4`yMZ9.;   gC ,B51.'&84 qA AbgdccbYP>-!Hʮ/Fgpmgbb[SY_\N.Ohmk]VZWW\aeaV, AŻT  NimeZ[dcb`YZ\VN? lྗq$ .Y%"Ceg_ZbllkkbTMVYRL!HڼR(K|f`b}c @[\WYdmmlmi\T`h_UP-sYfȵb DWZYUaiijkhY_llih_L/imq7?\gcWYkojlcZanklli[O"zүzsq~)4`mgUSdkfbZZammlkieS>\ר}ywY5\khYPSXYXSPXeilljlaR1·yv}eSfjZT\ b]YTWX_hllk\<nsƩI @^fXZjmkljib^WRYcgldUOվ|wjzؽ/Sb[Zmnjkjljle^VV\kk\-Ϸzxx}Z+YZ\hlijhkjljkfYTfodTGé~{{o# 7U[cjkjijhjilneY^khJ  m|p|̾P.R\jkihiikhhiiaYeg5+~uoֿG8R`jkjjikikjndWbd)T¯|zxQ AUcmjkjjhndW^\hyw}hMVeljiihijk^RU9rzC :WajllklmfUNN3huȶo  %J\gmnmj_JC! A{xíf3 =Vced[4 ;tL-  *7.B[[P1    %6<<93"  2  @NTZ\YSNA3-LVdoturmcUL)p\!P*MZp||nWL! XfLXn}~mUJ *'1QizhQ$ X-;\ JWvxhR9 TM^yfWPLK;! B~+:YObykRLMNQSPM@- xeyOaycGJVfnmlhbUM>1QK\w^FRhr{~~{vj`PDr 7,M^rmKOj{v_N%vHgoY="   %(#  ,- "3or<+ '7?:.  "! .("!!)-!  /  87?^R. 0LUO?)     ( (" &(&" !' 0WN>4$$.L`v{^>  *!  (/% +  ToU:!I~w\K*  (#   ()  :hiM1:UC*     &$    $' ( R^@8$-:?=0  #,"    &  $P:$)AbxiV9  0!  !  CI">_jqW9    *0    " YG&?KB5&   0,  &  "Q80JVO;% 6*  .-0:.PbqqV6 (*  +78 5&7b}w^I$  -#  03&!CdfVC   +&  7QL(     #                                   (,,*& J   0654571+K   #84323457 0w  7423353247 ¾ wƑ   740258:71258  ?!η: &5218:<>?><;5136 BW΄    74249>BCFEA?8446+  "} Ϻ'   7427;@EGLIB>98778- d̶DT~ 6428=BGKOH<967425560!ÜϹ%  6428;AHIG=5412202460Lr    7417:@EC<632/234410/354 ν  .5229<=;6312378544/26/UB  "7407:8652066::=;:872/37!e  "-6306541047:<>A>==972142  aɀa   ! 253254146<96/37&<    ,6672/38<>BFIGEA<<7125hɀ   !684169>@FHMKHD@=6425ijg    8424;<@EKNMFC>=8225 Tĕ,    0424895036ѻ=  6204:;??B@A><62148 U    64115:<>;994026#R  74/1667::755/158 rҲ5  )74/0136621//481Ŏ   )753/-..01357Tȿ=    6754571ZȀȶM      ,5771$ !fıi#    ,.&                                             t8mk@   !''"  #1@II@2"?yq5 %aK$ ,6v_5(  "'1APvN>2(#  $+06=CKVfu۔scWKC<60)"  '0:DMTbtѿp^SJA80'  &/9BQiɸz`OC:/$ !-7>NmϵeK>4)  ".8F`z߷sUA5,   ,7IeʞyZF7, "->ZϠvT=.!  (7OvҞlK7( $4Bdƌ\A.  *;UrJ5&0Ad°㮞ȈT;/ #3JvܿpR?=HUzTF>CZxݝcH4!  %6RʣsK<2'.>h<+ (2>YwN7$  '7U꾄V<+ $5yb4! "2E_ȁP7%  '9ZQ4  0v].  "7XЈS8% &2TY8#  /v\,  "tր@$ 0v[, b>=\<'!6ap6  0v[, (&?U6  /Om4 0v[, <&>փJ0  #;|҆qmR@,GO  0vZ, }&&Hh9$/[o_ľn 0vZ, V" (NO0  &E*U㾦q 0vZ, #+W{?'%6oFe0 0vZ, #X %W]5  .N^#xT  0vZ,  j#L%4D)&>wz2m. 0wZ, WQӊ739aub6  -YC#M# 0wZ, !ђ`IF' %;|b+B 0wZ, 8|)%}_3,U;"OI0wZ,  / FC$ 1q^- A'0wZ, m .xS* &B=$.C0wZ, 6?#Gp7%,_\+ 81xZ, j  ,yI+ 4}B$N1xZ+gI$N\1 %C^. Dz0xZ,$ 0u=%,^H&D'xZ. u/%eO* 3yz6! xZ.!Fa/  9W( bl#xY(I] /zp4 #BK"BH'xZ$3)i;$(W?U1)x[20$WJ'-mr3 j -wXG[!BY+3~X+  G1xS+oF 2xf/ 8O* #~ 5{Q?{ .kq3  ΠL$2CRh] _+ &''&&&&&&&&&&&&&&',9Hs9" !Dt\PIFFFFFFFFFFFFFGD:.DάwJ98405?BAAAAAAAAAAAAAAAA@AEO];$"Hâ~u|xsr{⭕wnmu|}}}}}}}}}}}}}}}}}}|||?&$LC&%SH& &XK& &XJ&%RF&#KA% Dv^QKHHHHHHHHHJJFA@CGJJHGJORRRRSSSUZgt֏pdZUSSSSSRSW\]]]_`_^^^^^^^^^^^^^^bkw;$ ?T5%   &6GjB2&  !!! !&3Dl7"  \t&>d*(mF,k1 1{W* +5-WT%#TU1g 1{W* Zq 3pD" 8k='2{W* 5'@j2  (sQ0v} 2{W* _h 2\P'"Rm:%S`0{W* $>=" 4O2 1+{W* k1 1Ya* #co=& Tt#|W*.&@CCT6 | zW*s 6_w1 (h{F-;#vW*%D ,JH# HZ8" ]N&tW, gM#7h5  .gߋK0 )P&tW-|A!#0SO'>uB*gA$vW) 7_ 1G~3  %]c<'K'!yW%T .DuI%2X9'"|W#_ ,@ki+  KT8*~D)|W&P +?eaU& 4ۍZ@! Y$4|W- M -@bj.Dݘ_@k/ 4|V+$"0Ch{8! (]^?"^* !3|V)40/@hD) /qiG'>yїT 3|U) kq( !5ItR'6}{P28RbifV< 3|U) +Pj|t[8)@U^*7͍]B- 3}U)   "8Kjd,  7yRA1!  3}U(  "1B^l- 9͛vWD9-! "4~V*  "+6CY~n0 5Ȟz[F<4*");[1!#-6>F^g. 0x΢iRC<5/)&+:Ig@2)'*/4/&   -:V2& $o?Y+  5wX  %/33-!    ic08=PNG  IHDR\rf$iCCPICC Profile8UoT>oR? XGůUS[IJ*$:7鶪O{7@Hkk?<kktq݋m6nƶد-mR;`zv x#=\% oYRڱ#&?>ҹЪn_;j;$}*}+(}'}/LtY"$].9⦅%{_a݊]hk5'SN{<_ t jM{-4%TńtY۟R6#v\喊x:'HO3^&0::m,L%3:qVE t]~Iv6Wٯ) |ʸ2]G4(6w‹$"AEv m[D;Vh[}چN|3HS:KtxU'D;77;_"e?Yqxl+@IDATxg7YgQf4>vxΞ'i){ӾWefFHэB& d#AG8 p#AG8 p#AG8^MfZԿ).{R]_1bb}c>-6 $DSڣ@BWi&%Ou S.8{Sŵ*^Ə^q HD?ܻ6ԛ.=Ƚ8bN&gq"~:]D܉yt?Z}e٬txVzm.+-4|J.b8D u^6};6yL%2MA*8bBqG DitH jf27YYei&':Ygh/eDe͆` O 'Ӂz xq:M"S\0Nokr3@Y܅DG:/!Yy9x湞 ]|\9ЛQgIv^d1w$qoץ91NDCpf#˛hkujeM,SJ5D{&w:_Ibu"wuG 'P"{kSDk~ChAWj%~Ň䊬@G<Ȋbx+f7M StoKq^G vB"PL>Bt:1G~)q V?ʊJn/իY)=SXF(Y'LE "KZg?O񆇽 G ^B=%VC~>iȟy(Ϛ"Z;xgL(ֈw?Э' @ེ>~pxTܳxv0H&5'?.gFdc(PSCVB3%:e3x 2$޽{}u"á)>C2T=1PIa"pi-{ӥu"'B PQW#Ty'7*͢[-JL wGy+k 3|?*PLd\ ;x_I@)K^3yu!I0C0= tG4 %O @5и{^.]櫕\M?sV.`yV~rȧX[zdEa8 e2$!H2C0[Px]sy~J1 x">0>;K)^&ak‰J71着"k,&/ .KY>I:, >NԅjΗx27?ʛ1k}b̀#@@8r? ᔼD, JiDOnS|s/=GiGj3g,9)/N3Cԕ F@v *+#yGgC(:' zBJH!@pE!fч!t`"=w,Anbw`[P+le S1 83I2#B@9rD 8Gt SH @#<'!D h=ggaK 0rFD{9ȴ;%+Z>^ &H73OKa* {Co9- шqPo-A +va-@FLaԧ ؂!B딣T X)lS$rCcH$ʱq Lѯbx4& g饣0'tw祹V^Zq_J6#}]M=p/2o7h0pypRuts)1Mց)_&4J!l" kR7uvBeMZ>zt[iF&J45ڢ\wUGGiH}g8ae%4X3I*ϐh/,gc+(΢_Lw9+;gU)(_bd\DL'0{a62jߥQ-Nˉl&5g^k s&'.:( .SֵlpaV<CBX#%LV@{x=ji4'O#OZ),.JK3hݧϰ'XV<ǵ?Go?Id$ .t$&J5p鏞|0qŷtA%H)^F=Hs2!q)d?н nfG  l}݃ש+C|U@?*x K`x#^xH4R/q4"?7Sq܉ ϜJμr%偻$;lI&zGtC]"T0;ї)JRzzK?T.hڔ&G1J14NTAj]φC AH0Gpg+/PqF ѫ/Ƚ ӽOח#7lDi7eiO3l;h>cSs*,di=x #-D7xSzH tN ! {dJY0єP'߿VmS.@4r22Jz]ϑ0 ?GwY5NZ2JɎi,,ɦKs"/gҔ>I7cy>;pVfҹŢRy/eՅhsgKG[?L a^$:gqd#7(⽿K^!)ip|9/ >vqeiN|إzO.]K T(H_U#Nd׋]nDⵐ4JdG%F`sR8UvN!{D/3ë?5.P5 Gg֑ĔHq:&NdFtP#b$'4!~im6l= $nB$`qM<r)uG YW{%&RpsKPO"3QO`dhY(TJbL<[obAQ!dhWY`͈!!BU/½ FNF~ J>D5}|eSG5ZNlыUiWDe rikHb810\ALّ3m&]ynQTYV;2{ Pd%b 54hwɣS&v؃m+y3}~U5ơ&m2`Bmz4Ig.Kc o$J-*0b+6T} ?)w͍b8J _݀+vY8'U3>vi|Hƫ(;U<}i?Jlu./_-J'ʪgdvV^@/3CW:/cy}z&R=q6y#arBOh;t ] fT3`>f]ik}ztW5q:,}TQoiGZ?N}i.ywur6*UQ 7Pf;r]BeE rHIP6H#<+ *J[>)qF$=Zsi}Js 7rd4XGq!6k6!m& &P׀w ؒ2! <r@Ѕ -mH]ԏF6 !I (;5h;7؄sic)$Lm0yA(@Ip0A كgd$ δsbvf-SijDayvvO^ &Eqx(iEKUce:_ٟW$|`$'F`W?KO)*oUN gAcLU #*{0e ic-T ӛg,GyNGެuobfgf 1V>zĎ-YH']' +Yy0_mAіw~*iFDs~%24ofM# 0/28i2esIi &0j6F@%NB#Sା,>?py<0NoϪŘ䐕g`l0(]GlKN |-IIV!Wͽ @q0+]w 9ٷMVY?4׷ |{ߍ@1RQ 92)'Ov-m~qn>nAurIv`īy鵓,.k}hIy1*.qs8IBF|F! \Tv"=9\=bzG1 :y](nrW%6&1mYxLÔzA)\|+#kﭛDb(91aXX T-V|˘9/8"\K{) Her$ /H5·p.]ܐ&4زrD<{i˚ĕ'A @^JƧ[ά7Wƽ !u'ms<ߑD sw}<06aGX>|F;99oy) @vo`ﳿ= 0KuĞDmPӧj%v/@PO5L.46ǖOu0%p!^puHb:cTL> K %KH@7lZ9$9}F򮕰\ \[膴=L+2jTjT+|WS(Woyʈ m.4S/S=2~Gzl^x(9g_v)+3@ P)=شÑ}S0VrX*oj4DcC:f$JgVD̿dU׊ :xbJG&K B>m:J#Fk gQ%GIMNV*PS\Jã{n}%8_ xT).#L8&sm{;uIewcė Obp6==$% (l6&F'OX aJ>q:sAӬ?qI?S#<2._N21;[I),'8EgճuSx &Ń94#гfLAa/¤?|haֿv]i=HhrėE4⧬D"}B7~܍ߏ_ٿ?sg5o;R0 c3[I#{0G%ϽUWʫHni poࠥVj|`8Bɗ! A/LI7rM&mx7,Kl$}ƻ̷ ߩ3yv=O0t\Dq|0&sq%`_\c/Yƕl 7(GȔ;.$2kw)p<o6^N>7A[NfZX~Y"Z˗4ĩY E^Tzðyȑ}u࣬5" FIG }CD{\ެ;fe&۩K01 DP2M6{!wp:c LQ}n@&AYhReB }: ]!oA0Ka>Oh\t9c8R | |Ϥк44[C_"3*cb>&~Üz{%~ G~^Oރ^4Wʱ o"c /nH ^,ns^ɇBG} . L 6v-[ښNOGHӻYck_3FrjAhqt45,c94`+goX8h[a<ڙS(366qrľ/_pL)Xim (;'\Gϥ5FEe"Nc8lCֿ2"nj@Wx cQ\$xS>stc|cE%8) ڜ-M6Ura{ZKb;p`8G(>D0M?N=P@S)`J* X'Z'ӽٽEd"~|zl秱elĞ\SO;)HEey?e{, ]G o} xDS{xivZ6n^^[XWE+;;=Y>wTcۣ7? zlT>5!'X.\f@B&{ X1v!p(  @s7! )N> +yx*0SLj݋b){qr[ecV^H8>Θ4>hE߳#A; kGL ;۹2T;ܾtD&MsO~ͷZ7{xSesC'VolP x/ǓQRbBq'LEiAjR;bXƈ8 ϰu 'D޽H Kz먗xq:ϲYFcb_l'$y$ex "0 \Ea_Q}<25HKvj.p"q"@ȟ%rA NNY.[]{n;lsx}Vg X]Vo Wp, @-QI@Hxx/1|`J5^$ ?%|yxy<5}r؉Rϰ;}gtL+]|O1 m9s}£;x{doGi@"q t?3}}lv ~Vjh?쌮BN:tۮ=Us3uJ ]ρ$=r7u,ѩOFQYޗ|d }«W5_;0qz\ꓟaj~Jwhuʈwvz/4-+>pϑovRP`ȎGs"%>97`bx%] AqB)YC!/{Q' DG~CG~}8™& Bfj-z{ߑ߇#?d38g- 2ǝ01Ps]lCi%Fhqǹcџy| rt  Ѫo L.!Y.xT=Y e6&s̟, @Hz;]{Ot።r9㭡٦=.u:+Dsv0ƚg(y4;WXδJ*VǴK.Ug:C^sSr.؅f#?4Wtfߟﭞd; KR$feZr G?~Η2 S3p#( h*N,ty(,_H&s2ezSD8纎/ʧr,<AމLyJ5E&'rZz:dyl ;tIRq^4whwt%q0ݿ`n^8P+w.yxk7Wg+ӡCo F' c pkK# Lͭc.>.WN\Jc:50c:Jq;P0.?F#p%L%q|q o|qu;߷ qj}i_gpkZʿ{B7OW鹬 {m"n=D&jHZjU*Ьx:`cU4S Oj ߂$L`$R,A,cpۉ"#[;Si9 0+|Q}-BTe>t,}l5o3]GE`䯷&yDQ3i[2>`0v|<|Jy1Q? 3w7Ww6ړ.vBq|{!P%hnO<'oC',NU~KNo3"$_|t{?*x~ zn zPjN*G'OQEsa Z F◓09uӅאFoU#Eq>1._ s1 =(qY/[iq{M`z 0 l0tGQ#uKc+'Z-JR F]Aیpbjj $]afy{% VApx%nÍb!@N0Y7 Xs01XdS1n~ q-jrQϛ ׋hTs3H<`0f Dauf5Չz=?79 F+n{>^o|2E6"aB!jCt߼=iVY/ 6J-y{k3ȶ77;wַ<><(UβuEC,J9Nfn>FƑތR }F` |c+GdC*d2$ g]E߀F?Kz4z0wp7DcKE$:Ym3iM#yXKbЇrne6|I䑚zI9elP*1c(Ծ`,ApTx $F{!!p,+`}2ϻ̻2W '/7z{hn~BeF0WN2_:G5(cra=׭ٝ{.@Su8ԓsclq*X(Ä@~M=cl &hƐ+щ4rfNTKybQ0`&NG^N2?F=ɀ|~ғF R 04[bMNNL׏?Uz{ݙ y dO$0lqOc^TKn*o׳ϋc$-}9F;.wv 촇Woݻ{{]qfOi-y-J\):&aX )qN=BeJ`p2aLE z>A{΋PYAl} s9|{ Ng#5fVP̜`޿%{Z-2.U1k2kod]!{E{10U,+Jܬ0p Aw{嬍Ш̩:ϗda %yX%_sj<8fӞФQCx09#+#Qz g ڹw.]KgΜ^lig;O[TN{'nߺ׽9 g0HM%ǎ:&Xÿ}%99.5"1~޳JS'4RPy\V"}&Ҙ(l^}#g wn<@"~>IXhOǗd(es`c\f7|Sg}G*hDBrAF:IJT}hAM*ϕQ 28=^a p}.L斚g<٭GvַV|*×$O6w{M;~ߟZ:\_-}pL_^xĩ3|suzvaM-|٠onBnmwo}Ի܅נ<73QD?mdYkÁ!)vf>Qba*0:؀.n slZ^b N =!L@`N4Dw? ʿf^Z9VctkBaQN+t zGUи)' ]!GXN0+c/I0!jAbDl.~o2#1WzD?Jo"FߜTJiUٔfujvyZ6_W;ۻþ{ۃrX7[,uOƋؖK\<]yo5_n.-gP63:B*ڠRye |0,mcPB2:y yK|i<۽7Ι8{2;lq0z:09%+zzV^K4juq/ X?{^ 5f⏈(`y˅aH?@\(~G;8|9sDvHaGkl]- bgO?#xUj Q{ wJ:eP&( D 5Yl&/6' ׏lmPoʼnf-Noުƹ [m4b f+)Q aY;w<}1?lgsjKjo:V;ݯn5Z潇%V 60j9ojdyunY_~0jFAW2-<<$N*5Z\(MfbxE7vBeC3;+J _oaY~K`|VSO+h̽Z6#]_':˚ ۘm rvLz]˅l=pTK}XUF|"RCi4Q9kA.-+_f;gU8(5N\3$tYB I"#>E5Db6V/4L0uJT3qYr7/`.чoV@,>S*.qF-"J\ALǺ):cbϽ* 0\`/! -T:aA681M? v~[tшE{'>9 ׽}&Joc <>5`*\vLJ:y^t HX@NgZɹԉ2هI=3JJ>KGASjle0uo}U{nh T7a9>dMduQ)0Z!8] . }yX gÅE@3嘥}g(J?{^ 1J?_`V~U]X/W*B*po*"+k?Axu~{wxZ9>9E:DȒh~D#F5+uҚa" 6I2UWaz;o;2Xf {Jz=`Yh'We[s(Ц?K;Eà*CU,^?ڸ~sK-6[_5كUGˏ.̖-^0ΈU6d^_Wg&k+c+ .A RSYYց{?@ pf7~7~_qk5r̯!ݮ bg Vt2l:Ňjd- 'I@t7gݟm,@6ܹL=G+J {#PamZk?|Z6DJqO'QY`RIq MXZ6i$,FI!`!ծV?Rh˃E/L`]0ܼFoa_W]EfZV2 >/~RcZ7W.V.?ݸpjub&[Z3Оmޠwķk@펆,i_j6JVj<>Wf%Ro[)ZnQC/,+>\|kj/ԁ)>mrI4tf6nSg )H⛈kqw@R1Ye}%'X/Es$R"5IE_&r|ݳfOdٝ5:(ash2"NV~L܅n虙[dtƪa k'={ףZz@6^ه)<&)8 4;]-O'g9旎1S`3 nFC-rp#r~_73mq*+B8FcIBҊ DGa,`k ^J ۏ2 c⟉{ ylxv>t"&˪^g:3H!˫׾>l\ ;2D )$j_-~Q$ =TyflPf@@G@i# md  O: e05jwJ=NeV'Fۣumi{< D4d→ˬǿy/Yl坙yT<]~>uJ?tYQʰÇYA :qUa>PԐTP;D/k?m\9-wFl;Gg5.2 D)4L ") apRJŹۜŒo+X^}ELܳda![MnCmyRD aWd3B~c|pu$|f;dmV6Yjdݹ͈ܬ׆, 1ag m>+]dZnDX įBq|>0(^v l!U6̃3Sge, E)x$ך1J!LXDoB= zq#;b݋gZ٩*+U3ӳO@;%|.#=x!;rNr mP\5rkn omC,vyA`a&_˧;_?Pi‡~m[ns/l82?'Q> F%o#~s(M//[ Xxqr`3љY#uCJG 7q'ct7DzI!"CPb:ÕLbN.EjX>t$wJ ѝYȣ $P}}E9VYP:+=i rV~qy eT+rmjCm)@C^q(w#v1s/Jj7Pkb=R7e j ^Nat ۷i_@.&*'0'}#ƺov?Ef?h(";@wQi <驴gVug rDIZ8K,΁[ዼ ҍLb/6Xs'^蝛d_99R}bGr/SĒ"~*K GoPK`!6 ́n`wR& :%PoE8?MO-[F]XIp^M4'wkgz2KfKgh~!O#p ^'t L~;3BT h8 MH9Hyk DI\`Ρmƿ 3qS^ou*| g<{hLjĮdJ|FjU䗭g##$tL9AϕP-G] @04KIYpl`6HoYFXae-%.E}+1pc\u>r]bI/'O6 0 S;0g xgq t/Bz %Č-FF2VB~6Ss`Df &}L@Ƣ,RrtjYY5@ S\ |b8!^?[M_^jւzU| ?*QD-!z88rZ3zqe :c 78|v~p1tHdoz0AWᰳӳAmL|p#+ r<X/5Rx03.IfT )?ᅹ<,m3MfX]^`I~.,ΫB؏LvUD7`W\U`2OLî`Ytl8i//ptɑ35q g@V#dA=ϑV#24*H 4翠I.Le3zy=c-" O$ \DσSFٓ_SMm'F99OPн$ 6u<γ;{ϟ[y>Udv)9{Ͷ&b>ߠn|GEX_tJs fjR+S&y+(ćLD F_?sg?6"tM8w㯄XCβu1*1h|,Gwѿpw}5)U|,O}AԷ\GN>kNX^i,٩8/FyGzɿ S?~ /3*1ku/5 i?OEtJSW3$$!A(cXsJ\FM8'L> S܏; '/q;O-Ww\<5Ml=Μ csmxȏBeC 8]sرU_+ɛ,y(hS#FXGmw{G}m &)W/^C=_ 6{Lbj CJ٠vQףoq"E,шL@%#=KeNZ\Wrx5R>zbxD  jـkH㆟qͿ.N糭TuѪfu'm[b~^("7HaϏEyP7{`hF>1(̘'pGݰ+4uTD֨K0dJ1:@  Z6&0Z ~eG[W'Kk-Ϲg`AeNϼ&B'V*5!~LhúhR a |rj2]^93K <Q0Vf?r_?o_lk?NImZX<B=vY2XKxz( Ng9pw ̃٢>DHe8hPzZ&}8ΥXn!mJSpIgW 1"LGl;RƝPA(.g6 8Gd&Mto_sD͉ ͓ZR`I٧A!Xu1bŒz¶aeT -UBAPɀѝI TuN(" cX6kNVj2zyʶ) c6{E'_??y Kq(pPR`ǵȃPɯ{lzH>i䴧̲+NLylffA z.k4=T.|;7Wo~ڵՕ{O7n)_]DIoiB\ȏ}#^!j08FNb*t!X~| xV.O'Q6E,;X_Il9wo!܁K04sYEۀ+?cT9!0tz|ɽg l{t\hFEd@ p+zMi%6 ;.1 ި D'sq0gp<p7`6/#p>`XQp^~u1Y;Y٨eĽFkui!Bu?&5)S S9fo]<3{Ξ<8hNbт# xT{'T)xv{/X>)_S*Ϝ~Ç0L_]rNj0ZTkMՎ59838L"@5\Xe~G>^ Un ԱN9{jn՜u e~0^֫/d.@{ͦ]ta#%$1-cLggo@g+ڨBN=Z_^[N{1 ܾsvS ]3z\roem ҵ)Z8AR܎2x͑Di4RMNYٸ$ıKALQZd9DE t2Z 9}Ql1엹[4v^^ahX-[kw+ TqH4(3,G CA^cyV\ p`cG,Vz]$MgTp $blgwE Ae$?y2ya"~۱ų޿pvyyQzN"#v;Xic=]}> "uO\Ⰴ-ETاUT56\}ڊ%lJnɨg|{ /?Gjfu£K:{My5<L`o=͍WBEh`j{l.I#dvR_g Jƨ{s.3:`KH}N\sά {wsq,ױfyqfvbr6+5Бr1] AG ;!>NX1`R8$6'L?^g*[ğmA0i?Rf*vS"y'難=Q Kކ=QQsS'SӚ2!k,<\GwYVwx酷{7qéRyr%^%+S=0aYe؆FЗLBFiCf?haX+g:a"$F3|D(=VPPXX}`>]3Y.{k'NN.-/ML],v MHBKP>_CrG}b ~ )\ŸfσZ6E7]v! 2MRmݬXy~Q.Sؑ Č{z9fgnHϬA R彖;SlZs0[PQ {?1.i^税R)+Ku1XW!s~`KZ OaHbTDFPę$Qaa O8543lV@ β8rwA3{V ^XWגSW,. 5lq `+S녀T[ˎO @WpO'uG 6Zg Qi .G*3Ӆ< `ӎ1K7pХD*z}\B);>Ll5?{BK rRu|05TNBٓSǏL!uTPֱK|o9!zwXWl0uዿS-L{тyNONpsg!jKgᄁ^pem.M&m6M+n? efv z*t3hP&~z*z6dVZƿǫPa/ʈ|bk]p@B%9R *y.Х*uzF/"[LgkrI3eHHo1xסB}:. U (1⃣ic+2a`$/>do~!ᛟE_͵ǖ'O^\XPnQ?|u~V"m>0amXY@#Z:Y9hNNgUN+ i| |'l)_o_7uN?:OޛǕc/v2"vr*3s}ΜnvٵfsSjDqg0m(JTV|<<0s&4Sq6cN.w2+CG~|Qcb1,o9x!kW)9VsY`SRTM6D I< QX<]fLd?8Fr6MuJ:"&CM Kd.u{؃p?oۃ WI0o| +<|d# K6^g.K,YB6#:ku1P/SOJ* x+:`s^4uxan0y%fkgyUY)T*JKS>Ah2]"`EdR$"K-d{@AD#997G 4}la1j.DH '}sr1q DX=c{MK+u0C)QqEz04bW6:]ҸI@p;?{Å5=_  ?puZ%rT/m_\Z%vM؞6-< ;)㙉Tb,SA[a}1=mq<H!Yvֹ8s8>9<ۢ4;ظS,+KqF)A 7%g5BrӓPU%C[t@Z;m)} bM-yC6_g6WVj6*@ y&3?Qǣ]ZE^tK#uπ=V8:;;%HM]=<+2ϩ*xU-A N }g¢\v9| [Ē(6Ӄe MV"L8ԥ>;88E׫FBәB%kjcA-IȚZĿ]߸ȳQ,muu!r8HqfT;n f$ &OJ̲,[T%]Kb_1굘|"\qǫуSk>;3ssfW8H zCO)'oͱ]֖fAEQj]+F,'@軡t R+$`8G& hD1џYut{`;!_)'d3-FBbDFnUR: OO9<ޣc=<ߤWD?,Z`#Pq usEo?˟͓8o]gO tKxs(n494[]9J>1jŋzPc!HD4k2WM,peÜ8g3V.THh7O>Bw=^Nqw$ENIihk/6jo!S9s[!܀n cK0ZD*E8 pu)jU h  ! 1flSRp R 0z^k&@SP Ӛ\n)+!Qَ9 6||<`&  ¾JO:30`m{Yr/&/<=<|teCH=i4<'c [tQ=ғҿTmӊp~ww{dFDDkwPCƔ'E,a Ø!PFS%eќ)ٝy:pq٘p'N>ytjF<|k(? Ӂs0)ɀ@5dcáuxUOݣ?oҔB[m`9(m|l";vFAwx|Q zs D ⃊/9MBxst>ztpO_~'{{d_Uq7Y8@'5D@o( nX TbpD!6'x@hCb8\\>Po"V0*OW?p62=ώo#Dș5ٹO?i:>o?qcVj7BSSswF2!Mo/ D>13.sȆkivN2xOK)|-?T.ԑ\CRتW|ӡg{=Cl)͊7vr-*Wa<Eo`ow?ݟci_n{87ycB}}~1w> \¥l{UhSR.wf|@B.hH=/gԞϥ$JY0,G(O<I5[;MuM~ vKv/nASr(i_Iű2#>z_ºZl 0'V='^ߞ09f.v ̆BJRQrF`Zhd f/!d۳c\F:hѴcW <ӖCmx(<c1d6f 29{Rl+ 9J>"CX^]G;zvwO&1%)ly#3;wO:l$t.7sJ9ߞE9KL`˨_A^9yE6w|}sX(i~l2R1R,ԡ"(; Fp| 5B1ș}V]Z>չ['txyav^|]~7 ҳ/!I5\oSP|Ao+^otRacy,M+ =#𳤖5R ~ㆃDi{ILT!mAtĐ 4Vf6?jN48-8˭9gL"pŴQ=Iã`" d%;meOtk`KD/ luzA?ee|{6`6p57aX ̶O^=|}9z9?=IW7_QJ{vA:@xZ|,nȼNU0X>a-|hSc4lJgqjƈqAL~e\Pww希Tw^rtpxXhBN(HP'3̢ XkeŶ|_cpngz1DŽ5, Fαឋ.]s{U~\+79ɧgƎOXF 7e^6^~{z:?'vzm{ YaEAYbQ"º(El~ts<\}cwǝɋG{C rhՐp-a䃶NoYMί;5 8q76ClR|ZNh!b1ڔ4$y1Į]`2?Q$}چ9rY6`ˆOD :D{4wkȓŃL@a~Nly'K&cGwN"e ' #?8`-#%"qp޴P춙'$q;Ji@^ژ.@T4ɕahSND2K\D8dd{7ru:2ڿly稇)AvR#Db9 j[$N*?T~{Oi߾R "҈8]PZ^A#W<ü?yTHK[8C|ҷgnH19K07*q{Dž֠0^i G(YY6XhD~zWFR};V Cg!prZH} \~"J3DZ?q-5LPVP(o;9gEBq nBj${YZ{ۇLJ^rT[a 4w=N`ԛL<U<%@m|Gc[V2Ń= 6.E%_M,%K0Ü#~{hZ ؜E%uTT`m^N =I>EKf:cF*6>yW[dbѢHVpl8 {=cOv0F@Ht\fIEz!mރ=PWDNq{9}yMpr-S썲N 9;,ȕ^KW .v3&cPN :0Cb`2 u q<'T7}j ;ఄW+/Dž[Lj!"p}RoJq+m< 38uzB+bĄB:ؑ4|<G\*@4*WI,&Fkruǎamgc{u@h "4EtuI|bć ڔ '6xכMGʐ9i͠4â.e.*~ΛHZ8+dSP?@ @5LPwQR>=$zuNM&'ξc%?`ϧ "2r(! cȖ H0RKO`%mFTd[9:M咬!푂Ly%z}&0X>NM*? AF8NMdL 0yΧ*to灔χK8L?I1%{a@IDAT~KH̰{;!7翥?'bC%pYcib|i<3L*##1)-;/" /ez21ʕ^/P*.Q= cywc ceJ g 3Z044rU}ɢ5z o |Á. y}]%VaAuJSQ>:N, L d- lq"h.|K2/2ZwI$ kt vc Rv^Af.K,p›;VkUoCH?%㓸(H2cRST4>Dh$ }R{'H0U-?NXi'8 _6o<"ꁖ$z}Y`/uVidrϜ /6a$UYK`98)nYۖBHG*EZT sQ:|ta^E&Dxg mZj43}y "/]P";C^J;O/LT|&0㊽уn I6+1%P|"ƺO ӈX.zi>5ۀ%S !irfH<+@*;|G w…nʐ쐌qANiMç0oK7ПR*Tӣh{ >li蔝o'9a|R:oχuak?ƤNSoރ945:RYc _[npϰWŧB4W?#Gf_qD`Ʉze @E,[)haG~OIqG Y!w<͆; H;YR:ioi 8:T.iURDC7M>gyLG%w"tt͘O29}7= Q5NanBjJ\Hf!( wfCo'\8p7C໏F$fB8aeIǟ]8v2ETO>d3{=`\lB3']Y?oBɘ |輞 =Ӏ 8BPe7NI@B(px-[?[O msN 4| heǷ2d(aD$a}yV'tHܚV@\^;?!;[M4pTX\~J՛ *_`/v>o8ú5֎m41~OukR>-&?[$ :IO_K3lc=w$#1m O ci}7@jLQ?xW9 sN gj҃uo Эoh&+ B9L>OXǰ!6V2&_@jY~TY^(M/Ӛ{ ,-'x%*"'HDDt7LGl\;!zmC:mK-~7!q} o-l+[zÄtV05RipRIgd" L&F0~$;}7!.,$x۱RlC77o$0)WfRSc95ea4Q*+J\VVUfgC47u:y:p{0(&glQMq4X&9S7q.Nm-<(/d: /L0L#~ݺeOnmDޘLòkO?:=TZbA82m4br,Wbz/$TH&l\yȑkn8P%JbCG_ me "ipIpж)<`{/}^h{jZ~>s{aV]rXewYF3񆧽iwws<$&:1C.&!ey9=A;!i%QanjINzP vBRLe?kq7K|a1m6;lc{3%Q."g||6RU(15ȪTƨ)N@TXT=#{/SR!>b.KRJs"3P49=MER"**БR( Ūr'OBBacNHŧLl8V-֘}8Mkn nᚬJElZE^K=8 vT3 ' rp<9 B;dFTIߛ"\,:'YԖ"t.0#M4MF%]Xk<&?l-8+e@I}R>8C6obR}Ϸ{CcTɤ|elc;i$ 4懖Q+3p33JD?~5##\T6V'*<N`&)S‘pq^+Ͽy.ֽx/gg Kh/ϝ?xcH`qHPvkmax5VAn2A8VB!wħ灆qnuXc4 5"[ʘ~d\XLk/Sߋ/J%ǢW}޺v7ww;O_C"lqkRAY0enefRm0E+>M8&΅KTGΫT>eT̹N=%@ܡ$~rq \XHѭVĽ]in!'i׋sme&E$pIͲA}0{j\bX]{KLiftynkΌ3nj4y܂D5J/JlmyYSVoJܞ{t@N@=655[tvrOc+4oNj7>ao?z ,}D FR}n>?_T-=>S/ /hn25m8ʁ*BQLqwx h318K$D>Y? KBj[Im+0;?>O(tsϘ(m~$uq\A|!!IW`1˭K;#}+:qnpCFe4sM&)g\*FSܞ[X^RWrIvc㭋 p~'+ Bij$GOЦuP\4 q?p8)d}=Nt3 j۲Vpp+z^10{"klXhƑh6RCo3k{zזZ5:w:/6c矯3솩yC o֗ 1!:LRg\fK) lntO i? 1gRBҘ ^Refy^5HVo!X;K$gFc~k>S`s[fhunL^E.:xpJ۾%YkTp7 KNIIۀUO@oW 赃#᭏D qFITTXXx+sL=3 IIѓ}-%E d M 8|%)f?ߜtyJu?73xZD,GX~M4.&]ٝ17Q.d=3]_/K ώ{'X,2XwhjRz>U,"Οs_Tz`gY8?&Ts76ZX 7l]7+wBbFQ':uMl$5~y.HscD=1p<> 1|^n]o"o&U"+X;pG1e%ej*@1^E-LH Ev `}׏؂Plq=X;D-qN r}ܞNېZ9?j?}8N sda3K{ TX1BtCòٴt 炾7gl]\mﶖoޘiΣCA2j13S_X*Wj˃ӮD uLfkenRa/vg|u%qdX_[W|?gBa>aX 'PʊX-ȓ l}L.z}2=*|> %]tJaT]tV5Jjdu=&uJ=ފX!Υ`e=NzA@T^`=&&=:5N]Y ۠''GLBf[ayG Oۍ[.鹼7G؜QT /CgZPkPZ*6Oъwx("UXtC 2rQo̬A!%t{LŸwy¤Œ1C%;:˥%x.`惍ԙRVC-W~X*O2Az[^X]GN3PΕ;XxP՟Z'ġO8FICp5(h`.?NoƇhG"&t `I_rWe"VFT.zw<=AeTv5s*`N^\7 s򯯅e_g#σ 7SL2D8S/=8CUh½_; 56qX N8;{h~ylX ZYr?)S|sy:ng gT88y鏏%flx aG7>_J`)эLp_g/vτ`D3CA`d-vMNcme9;jJ`y3aѤPt^.]tiܑ|C)%0,MaG pHŶ>MCv82)=:L.Le{ӽs?l)Lc`=/tIvz;GWKf/ݺ1;n1U5p:al-6[wn-=Zb;U$r]_L$kZDtX]`'w{:I0t'\fc&ؚ`gv|a};Q("fIYG8>EOGWs% Bz4WI,p*]vQ0va1|C#PE`j.d 'r},/'5y'8SӡJ#j-Z<;I)EHuӱG9u譻!=*y&`_D ! vd M#{_ 8:}'l3B:oO߭Cmljha/Wnzoب(Y_DMSL ntS_]–}u>drNAVa)k՛~voW|?|s ;⑏n% )2R' a\)c}@uAh_$WoY s.Ojk%n@9U"@-Al\[F ܪ,"vzLQB&q2{V}!8b@c*nQŀ1 ?rޫ@b[UsKQQ߹ 13 ҈(ÉG*|> Ԛio ZZ_h5)p^/qm/͵ܚ[lf+ōٹي8VP~Kpe8ryƣGWJ_ +Gg9+!fBd_'X~1&(3~ TGbU\% #auaq~t^? `0=ErHF$Ibn*WfoōnZ5;˪ ^S Aҹ1 A$s@m-,5nܿ*`˰+ ^⌃Gz+?%58"&54@c("f8+Qhnu+*c .|Bvf%]&kK/ e xKE}LNn-}Z;xH | %?0p *費ထ0js}# Xd]('GbbrbQVq dl:!icqBLF3Nh=%Zqӈ8X,lW%_̑Cc%NIC-[r7ʭ(@t&?p]C7F8M3=*Eƃ{(Ye*K >D\6m,=\A2DA-e]ƌژ9SXfw>۸Vփ$e?Fkva?ùWB ? iY)5rb~omnqև7i wxx#)[Zot6_0uc'|46AO -ap &#!&uceA6۰A[!S/vF"V9TY4 Fh+8.h* 6OѺp;!b.@T\9\pOdU㱣9 bvc>Fq ]7Q"*3Ϗ81 aaC# !*,Vzf4[i/?( 7fD& ]_ Lc~kZ|?Swk'#"\LU(rk($8BbpT"ᰅzݪK'݃6Ӏ{) /]!u?VvA޴G61$^S`I1}Aw9M?S;=w59XT+alVm;PA&+Ogû:K$UKF'$4eneUn y\qpK>G U v?;:~|ة.jmǧh1"n9ji! =$ΰw[P%n=+ѿ%(/9npQx[Y>#7y ʉjA?|'#G0$"xEcWd'g tao~a{F=.q_1:ZN F|8q%I((06cXm[P=^@\Y/tNACqw򍏘z|Ej;4_Z12GωUJ6KOX0VºkʺYa6{\JٕoMFj2`&#j\\ NOG|Rr;B+_;#G(T.UQ>BF٬sZ(lp5~hOsD1;KHC7٥BJA]8%'b4fSÂE hX t 8>S+懜2U%CRr@~Ay1- z_4Кb^LX84~v:$O@Ss3["rP6S$Тђ/#0K@X[O6*@@gBal񈡓Fŷ⨾/n oѶT:FVrIx -G H.FP͒Y*HDRjIeΛ@Bg72*-꒠޶FIѿR7APLgsc`*z*u+w R~צȯmgKVradttUdy2O/# 7ATϴ n9CP"C.Q.w!`XP&@j$9AT1iMMTݘm._Xwg~B~U\NT%}M K#5 ňT _De% Yo1%>IzƆ[HAx>@F(g?>p8@9ud'XI+& SzμٗYq 15IpC=fz ~:.B8Ia6)λ4݃[2;s+GrH9;ogq!(Ǹ ,?GG"Okձ۩U.C':+W%'Lƙ0cO'f_; GL7Յm bӇR]C'f?քHWnPb:/, CEcMI{Xm bQ*UN/D:Df*=*0U r|ïFBs:uOGiH :M(B"nKw>7/ t&";La*Owpp茆kדж,1HdC7s YA0I>\m=$00pc2Dt@i~wΆ+胮E$~:TW L5vKm}("I5 xJH DN 壸Xw7 9;:D>d@74>ˋBts,g,/!ǘWXoc?:~ +Ԇ⎿[h}~{bQdu,d$pöAxOuG,q0?>;O73#t#'(C(-swm hڞe=oFwŕYzW LC8 &0*82%cD [On<{{^LL,/qfjϷ7ƥ@Iԁ,D)qm CΆQ|{Ȅr8yN^_sXQ@؃* p)UVhgcl(x^'1JD*m+[VT"=9 >)h ,uF1zyci "k \-Bp'=EȑN rq# !A v CL$J "j F*5vO+90HUD2MW"$߻̹@!gm[4'W9nk-oWE!ݒabrDuG#ZUYtj ,}5X\#a$eٝI%Hp:?!Ha⻿|/Oz!JfM#nL`ָ졟b V `@C$0!wqi $LMTx&|}HVT Kϋl;-de詥l-#i`+5#$N$ؤqU wt8y9ttwrDIog7 vp&D`\=㇇p-}oooQ,P4CdB|=v"|. C3͸dbPf}@@8]'rM1BauxiލFTaԖno恘A(I s")9FgI",Y_)&3hzd_?{/3W}Ci(wRj,kK!+p)uQ(޾3.,dݿQqdEZ Γ*SabbME߶1N?y_@Yр[Ch2[B Xe4 J'=,pNhnk/ tۼDv5 A @]NAM`ӵgjY rPsӯCǏUԲ6B`g֭-GF4GI590xl 3G 3H\/r 8g 7ڞFa- 4}f07nl4ZKsnu>#S/!]S',דLx9'xvH"=[tp$M,Z oRjcˇ[ϟ~no~& Jo5/ߓE.Yc͟Y @EE<rjD !)BwYfw r**S f$2Yya-D. Ȟ#,Y5Y}} u& ƎoC+cW$lXs }c0_h6BB}=<8 ^vztOK{B{,kv< d!&`;aDH8IZGtne6D@vz8pF3kD=CBbNĦYl&q /4yX/\8ԅI&LL(ĩF 8d*CD5/X˦ OGIF^烝}R^H?>ۀ>k6*7 ŻwKYmqSSk? b&be6x0k M"ΦI׶Q@ ?@n`CC'$k`nO!p CsìxdYPLB`-&2Sy:H7{Ya:dJeq~0:e*yobSb^p؁dfw#Xo!>Ff"&]G?xN2 oK:orqύ:9еaָ :~JO& KIu\EZZ0HQoWk:.[leDxW7kab{"%¹}woQqm,Qc*66I:)K#;-: `:;'ߎTX9RG梢@@wO#_&"/76XoRw ‘[sN9ξes>!K8f1hz}k*G.l=Ճڳo/5Q" a<?MDw |RQ]c cy @IDATv#ѱΖA[ -Љo!ϰ4D@Q b#!yDrzek-} |iAD BnOYNIe,hO ~`!&9nXmP@q WChn4odV.R,9+쫸STng?dڎ?Ęгm%ӣtumXOpt,dL xzY=&/t7[tYz $>(A c2V6Q?a*P4y6X,{̖S=X 2&*TUV7mg,z0eIOLdPMv_;*တyYrv~ Os)+e]j,o`CG,U ϘttWa~ 0}`۟3g lRZ jW-kt@F^"3a}RgE1-Dt n#uu y3]P~"FL#h^jilcӪloIVk ~m.˵r(ϩ峵4>;Gm[5>3MqV _S#~_U1( @Z/0kީ,&oi#6#Nz~g:$ tN褔((=EPά\ ( m#BYb% ƗFJnoĦ$G~ D^á<# ca23NM.nBQ"GlRbb0o:V.)PkB-?N;ϳz=ka[ޘv~}_F1xsg] V6 ŏK/Yɲ_b'\8'Y'$[lC6xE6֗}L6ډ \"A۶^ {-*f4&K Ȅ$QsKAbIVgps<:Ƨ{e'h4"s:qL@i{tF;]7Qn;o C?k |tvN&wV;RI w:p/1 օv CCIrI ?q.eR\mThyGj0nґ% wh/w`a]}H4ũǜ8-n&%A; XDv1}X\nu?{>MVQw%cD<;ĒD3"1TPwqF~ݼKq쉓d3w8ے%Rﳯ>|$9- k<<B(o?) ˕sbx堢``ËS @ `A_b}ŠYD/EYre%@g1b>,(0¤zC]bkumZ\ۃ eu{mq}wc6@Xə6{_AO$2b?9w $a; iӴKyxYQ hFײl8\h#Y%elRU,E/v[uOG&<#4zO$bEk(w hwhj|v 'Vֶn rPO0l֣+\ Yv _AÑtrD!>\?+ Q$IlRsqОa/U{!靘I(-ɯBt%Q^&SFn0M(̈G9W9~Xo#jdtBt׼nQ2&sXBML{ǯ_~f1Z)eJ"X8OHu:a[]c#1L`oqQB`_n&ډoj CH$3u/PÂMbgu`K3_?9.ӴM5Y4Aϻ[[ZwߕDM0|;%! @ElxP1=:Z\ <i_9{yPz@*! n鈩cQ,6mDYL bd.1ܠ@h5(:8lI )Aխ]õC{{C晄e$DYݫmb|sy} `,(9zEG┾~K1_A ؒǃu Յ}r>wg@C!0" sezL%lLj+ϿjyY9Vxx+#p71 ?>W#mğK~' $~T|[ <*3+0ɂeS_p$tJ.)pqi r{ӠI[vk@z */0!Χ'@72o% xY)+ `;b> ܻǽ}r \D&M$X'^:8m!c>}psu1G0 8CHQ'"OW Ov^n,;7/Ql P!\=m/n+/yg}vQ,D^w$0Jη s*aWV:$ɔ۩2DMpeE5(e* x dJ~G'B-^Iu%k0V}+Jc!o//ҁy[NoOᡁ;lN Mr|wj S&;56lsg`Iba DeT.y;iPig^Kmm-rJƫ+ckS7{ҝ}# t~䳵:o`(v`]l-O;-U$rՇy& ?++EUur{2Pԍ_|Z_QQy@\z@5l9{Ηu6)6ZOQfQm.X.qs2MM:|X$\)Wppj$IvP\>jUW\<ئ%qŭ tmAߗP^ĕUϸcj{A4#|&H7YZY[s*y.' dt?6G9өG/]EӴo/k9WtϮΏ^7+q̀s4=?gqNCB2^S?jU㣟s}+ ?қ|u6|ϖ09N*̵~-jTjv̺{R p+z̐$8PE̓A+*b7ug!(Y^tSȶ,^ N0cM tvf+Ua+"/"Saی`-Y `Oka!i)p;We(]V5mE94o2Q/f 6i mܪ"t?[?&ڶ CiWzt_/ ga^~ ?bo6"-zŎiY&7J.7ƿ1(lS-8zeQZ%WDXO31*pg @ O[í Es_ QAQ~`:PԮr"マں\N94,#ۧsͳ[ @+LdPXEmcO "nJ?"eKWw;fvĴ,(V$|w[4~_Ԟa>j,}w戟2|_}bD8W3n-D_p[08MsMLR$@2ӥA zuz=9<Ԫ`ae1捯.N(:^᳌Qqo+4'OJ[mG wd:חН S 9NV0q *|x>]L'ecF)wq F_ˆ̟ ެgi{۾2ߔ6J<=xKT;!%3 84) 8(f8P`6UHRwGi@qI!bdCYma٧ȿ-/|/ 'a_X,^ǂϕp7sm9Iy}b AE\1XX.f>v}3^c.ڗ>L} @\gY;}8Aj.M+>( zH|%ch/$ A?m!1 ׊U^~j R%z< W;+?+߅Qr>)+ₕ- fX }?ay tgI.?HaxR'Yݳ_!k)9GW]?64M,ȹwi(8%`UlD @PIJ\ R>uA9qrB"QS;ӈ? & f2P({;~unE+bL73%b\O^'x}2uyx6c?e9#?įc^-Co'Ϯ;+@@8:߁dF\yp':Bmj=/P$V:ѫ"q(xj~g>tc2ӁEc+ `Eyu ":z#PE*,X`⵿Ea "RNxgCpn3C\4/}w>L\>ѽM96=[iL[\1!n/댂Ly੾hU˕N1F <|V3БqQEb*xtAG3씳DB8`'"B5,AZS## Bܛf y6&,R7Lc0VbS#88V XeF "n}T|ʄ &<3vگy+0G>#~l="Әtgc`k#ӈOK3Wr)&#]_uGl|ZTTT8oG "},R^g}>G)V]QtJpD瞵6 Nr!nusȑ|xbTc F<IߌLbF\YQA mV}՜f!i"*5I^gpQIs@|I@6@$#M|('iB-.Ц㏉|-Xnme xS=+gb (L2_cu +7vtvl>gVD` v6)-i'z;%DyOX#x₟Z~.*`hF.쨳9ymE#MvzsND]2ޢV%܌˥s&S7qA~adLoSfk1RN\ɴfD_k01 Z?#0mʑQ9pj )H #6Za;-]6m(v6㷎(7%M{ڛFw!3x1F#թV] ;WpGhb̩6:4xTQ)H ^Q|P~![o4̍;WΎ:N|@cDJiDcp"ߊ[4DG@Orf֎** V T\a}`h0E*h,19I+N*uFn j$p:H  <,@uh"9qJ ZW1ZD]s|n=$AO9 PoU9=\U Lt߆:qo K`~|νGn=?C^;=d#`>W3;ÎA@N%2MLz9@$Pa.VX+Aq-g.b3tN;F{Hw"e!,s7< `بư:=8-JJ"ay4 3ݘ!)h/U:rRmnpbYʃh 䑝LPG^iUbeUu]`Wj:#G|5KN|u\ᬐN$%~k7Q Hj"L{G:󜩅m x>#p}E̓d/#:ҧA>]Qϝ'SS;1IP%+.bm-$0L 2b%BS./~a98:{^ϳ9~IJ}z8]o5>_8os0;<lSĥ9翓6)CV6!vq>5i$8]nׄY]K8 N{GzӑN,;")4 &J&.CG8˨Xhl!MxW:y`S'uPDue▚,\ pi%J7@[љ|NЯXe O83C͓\SeV'u11/@s!}s`S2s1nG  S ,vAd;D8C]>goE `\t}Ës}ϑ.g$NRrD}Ns§\'LѯaZ)ȏp-3uh}mhu%YF]߳D~_|Thd%r,4x{apQ\੝.cC%Դ1V.tNʶV?s^UnAL" Yy,f.c]& ?rdys)7#p.K$sOI}T\#eАb;}Qmg}8' [U$GVf'., 'Sq>1wo|SX7EHso u|_k=\޷9E0,?L+EʥE邑eHL;~YBgEsy}~";"3P{.z27;W1F,$븀@wB/A @6g{+\Cl|6uܽ[t]Fop59OQbp6 A~qΓӏS cc.Pvb\TOͥZI=|#`&B=;<'K0s*?ߡ;;nqhbauǀ 0qէ>DBT&(KTeLJ"w+-ͷMxJud[wQRZ̹xb]? UԤ]?IN}5=D vvLDۑ9~9b|G{qX} JI:mXqo@ஸCi D@efF8Sj_Yk`LT40hGʄ eo}ىYl?fJeӳS| 5z괝"i1 rje*ucu]Tt_aQoF5jl-B|^EGwD1G "i}މ z/ S"1\#@y.1/e4#M;X0CBɺPg%xN Z{+IL@/U|Ow ""=E%|\GŻCCM[1obn ѯ0;Kj禎NnUY]ߨ3:; psߑF |~Qbw?f֕1N! s.WgiDZ'ʕ3 F|P31 G~eJں:/2id))8>|>)Iz쾻ΉFc'F+lq,w-< 4߀%z5aXÎ+ W|z> P: 4,'%`I puYe+`4[yER,Bq##T܄7P]&?J.9}Q RgSLq/WMz+31 l $Њݯ#! Bc ۋc!NUy}7 1[33sGo rn OS S3fKm&"e2Nz! !Ǔ{ ٫؊bH#ZiVď^7k}.oR ;o@ t2&`|8Һh( B-Q.P%LQefG8o 巻 -T\x'=3q#ej1"{*#yc m@-$MY3?u RdLe_%&* =#t.Hj.٪EO3M wfĝ⠱D0Q.tMiqež ~/#$!F8*C2Dۃ1=H H ܪ%%݃Q00+4 哆9KXg:gZ{n1Z1*uzgxيI aHmBnF-0;wtF&Qfx;v"H)+>s!*t<_Kf-`!xc?.Ehcó4_aq sN~y3L_Ŋ "ЊaթZiF&I>+`K+2Kls;>}D:#^>V%x3xߕs : ӈt&a3Noh=Zojo'6H2w%;h$uV1+=KGOZ"JaM4`/*i5gvACʖ%'swq}m 4q\(D#]''@@% [ӕCKi"}9>9ePZHzZ]69`~~xpBC/"`7+U־ ީz]"w_&pͻ\[W#MTt?܁Q:QDh\0`%T;JjSti|AvJm3npHy{+VǫgZIQ~* t;A!a? D.NsЯ#^LP1SmGdB;,)N·e`6A<o$D0NHe?]rߙG0C@˾XzUxr#c.ez D}ݑGTrf;]9M9.}o!a_׼tl%(w nr6]E<5CKs< q p{T& HP $\Z..ҚNiAm?.4w!pxfJ ewx#~x\ oL!:TS/Js2C0,3 ƽ-ww aCW"6IeS)i.\O}У]8e&°Mqed8Mz ˄^fh. uŁ@ߝ:@:@:@:@:@:@:@:@:@:@:@ytJiIENDB`brewtarget-2.0.2/getdependencies0000755000175000017500000000075012266512166016302 0ustar philipphilip#!/bin/bash EXECUTABLE=${1} # Check input arguments. if [ -z ${EXECUTABLE} ] then echo -e "Usage: ./getdependencies "; exit 1; fi which dpkg-shlibdeps > /dev/null 2> /dev/null; if [ ! $? ] then echo "You don't have dpkg-shlibdeps"; exit 1; fi if [ ! -e ${EXECUTABLE} ] then echo "${EXECUTABLE} does not exist"; exit 1; fi dpkg-shlibdeps ${EXECUTABLE} -dDepends -Tsubstvars > /dev/null 2> /dev/null; cat substvars | sed 's/shlibs[:]Depends=//'; rm substvars; brewtarget-2.0.2/win/0000755000175000017500000000000012266512166014021 5ustar philipphilipbrewtarget-2.0.2/win/icon.rc0000644000175000017500000000006312266512166015276 0ustar philipphilipIDI_ICON1 ICON DISCARDABLE "BrewtargetIcon_96.ico" brewtarget-2.0.2/win/BrewtargetIcon_96.ico0000644000175000017500000011227612266512166017763 0ustar philipphilip`` (` $e~CxZ̩]̩^ ǭd  #.7AKTA7.# *=RfwwfR=* -Gd~Owd9~dG-  =_c?_= "Dlh<lD" Am1d mA 4b5o b4 !L!ZL! /dp*c/=*֍V* ̩^4bkv=G[ٰ]̩]#pGOw̩])0N S_' ̩]{EPR}7̩]PNKϿ|+̩]BQG?̩]F> 0Q ̩]Nr1w0 "d6ɂGԐXdۚes{ݥw֙f]ɂG̩]Me"Ui>+ԑY_ߞh}Ȧд˰ޫ՘f2̩]6N ;3.֓\x﷉ᅲǥе㸔֚iI̩]7m6 E> ԐXXxĢͱಌА[̩] N-ehd`ZɂGݜf|~뷌쿚ǨжտӼءs̩]=`k{qr|tC&͈N!t}yw篁鷏꿛Ŧ˯̲ʯݬ̉Q̩]Ĕ-7530-}%wO'~+x)r&k#buWiL]t @Nޫ]p%"ԑZY벅|tu孀泊湔罚潜廘ోϏYl̩]F[Ƞ<>=;852.*u.432/,|)s%h| [mN]j /G&!B Օ_kリ캒鴉}pߡoxᫀᭃୄޫڥyΌU̩]c=EDB@=:621;;:963/+w&j!\nL[F[Erp# k֘doŤɩǦŸ껕沈yܜiۚeڜiڝm؝m֚hђ]ˆLN̩]'ڿKKJHEB?;6=BBA?=940+w%h} Yj[o 7ڣA 1ЍV&轙Ҹе˭á繓⭁ݠnؕ_Ւ[ӏXэVϋS˅KɂG ̩]^y19LLLLKGC?:GIIHFB?:5/)t#cwRbie^ErɂG߬Ӻɬ辛㱈ݣt֕`ӏWьTϊQ̆MɃI̩] ^ELLLLLKGB?LLLLKHD?93-'m [mӂ2ú6 ֛ke˱δⳍܤvՕ`ьTωQ͇MʃIɂG1̩] _ELLLLLLKEBLLLLLLIC=70*u#cvCN=&OɂGܩ~и£ⴍۤwԔ`ωṖMɃIɂG̩]i7:LLLLLLLHBKLLLLLKG@:3,|#i h՘kqIӖd3ε濟ొ١rҐ[̆MʄJɂGȂG̩] )LLLLLLLJDGLLLLLLIB<5.2 / Ⱥ|.أv˲ǫ乘ܫ՛l΋UʄJɂGɁGj̩]nELLLLLLKEAKLLLLLKD=6,GE 'xɂG֞o伛߰أwҔa˅LɂGȂGɂG̩]iԪILLLLLKE?7JLLLLKD=5 {ZBP΍X՛lڦ{Ԙh͊SɂGɁGȁG̩] ҡ?LLLLJ@!Bͅ2JLLJC3.o~; ͋TJВ_͌VɂHȂGɂG9̩]E!֟+.+$׮p ς&ۯ)ݹ%׮˒ A *ˮL+ʄKɂHɂGȁGp̩]ШC6 z ɂGȁGɂGɂG̩]qnB eɂGIȂG-̩]CMd\( ʪ_Y"V:j4''''''''''''''''''''''''''''',r7(''''''''''''''''''''''''''''4]Hq~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~cYgehed[^Jl[̩^W:e̩]Mr ̩]%%B F +V9] A)̘1) e̩] dI cI!dJqH6; |~ap`SG%(̩]!eJ9}e0t\5ya#fM>!eJ v*۱)PdB w _l]SN6 H̩]-pW3x_>k;iZ9}ekTGvU9}e?lU8|e1u\ eJ3oH.puf2V$VV:EA-|̩]/sZ@nkWaSM}cUApObAo dI |v6 auƭRUV { 3)Ư̩]3w_UEtY`Gw_kBq=kZjT$gM!eJ 5B/`!ZAܽj+ًg&ŖVHk?UTF* Q̩]'kR`X^4w_FtFuDsApW`Gw_PDr4x`!dH2p1TDHۻo+Η ZeUL@̩]$gMblDs=jVaZQBpfm^AoCq"eK"QeO(lHy>m-pX"eK .`f&Ok5otHV̩][C-pWWelIzGvHx9}f-pX.rY0t\'kQ`]E&W@H N\!Gdz{M̩]!dJ3w_L|\W5ya@o1u]!dJ"eK%)mTg/sZG4!2k#mY"j<^uG̩]"fK*)mSp'jP3w_.rY#fL3"a $`^^& Ds=̩]!eJ$hN&iP"eK &eOF mg/in(ъ̩]!eJ !eJcH/%sr v>BE̩]>>R& d̩] &Re%Kn> ̩] >t(_6 ̩] 6_T) %l b>#̩]#>b3Ź%orR7# ̩^ #7Rs@ Ev]H7+""±k.#+7H]vpu``'vovwC~C #~ip›7N`E ܅g܄j) `ҭJ  uӰce Gݰզt6' W7K`B̩]̩\ϦRڞ. Nۈ֋m ????|>?????????|???????<`8080?00 00088?<?????????????? ??????????????= 4.6.0) for this project=================== IF( ${BUILD_DESIGNER_PLUGINS} ) FIND_PACKAGE(Qt4 4.6.0 COMPONENTS QtCore QtGui QtNetwork QtSql QtSvg QtWebKit QtXml QtDesigner REQUIRED) ELSE() FIND_PACKAGE(Qt4 4.6.0 COMPONENTS QtCore QtGui QtNetwork QtSql QtSvg QtWebkit QtXml REQUIRED) ENDIF() MESSAGE( STATUS "CMAKE_SYSTEM_INCLUDE_PATH: ${CMAKE_SYSTEM_INCLUDE_PATH}" ) # Some distros seem to treat Qt and Phonon as separate, so try to find Phonon. IF( NOT ${NO_PHONON} ) FIND_PACKAGE( Phonon REQUIRED ) INCLUDE_DIRECTORIES(${PHONON_INCLUDES}) ENDIF() # Warn if the sqlite plugin is not found. IF( NOT QT_QSQLITE_PLUGIN_RELEASE ) MESSAGE( WARNING "Qt4 sqlite runtime plugin not found. On Debian, the package is libqt4-sql-sqlite." ) ENDIF() # Some extra files for the "make clean" target. SET_PROPERTY( DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY ADDITIONAL_MAKE_CLEAN_FILES ".*~$" # Kate backup files. "CMakeLists.txt.user" # From QtCreator I think. "CPackConfig.cmake" "CPackSourceConfig.cmake" ) #=========================Configure brewtarget.qrc.in========================== SET( brewtarget_QRC "${CMAKE_CURRENT_SOURCE_DIR}/brewtarget.qrc" ) SET( brewtarget_cfg_QRC "${CMAKE_CURRENT_BINARY_DIR}/brewtarget_cfg.qrc" ) CONFIGURE_FILE( brewtarget_cfg.qrc.in ${brewtarget_cfg_QRC} ) #============================Doxygen Custom Target============================= FIND_PROGRAM( DOXYGEN_CMD doxygen ) IF( DOXYGEN_CMD ) SET( DOXYFILE "${CMAKE_CURRENT_BINARY_DIR}/doc/Doxyfile" ) CONFIGURE_FILE( "${CMAKE_CURRENT_SOURCE_DIR}/doc/Doxyfile.in" ${DOXYFILE} ) ADD_CUSTOM_TARGET( source_doc COMMAND ${DOXYGEN_CMD} ${DOXYFILE} WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/doc" ) ENDIF() #=============================Database Custom Target=========================== FIND_PROGRAM( SQLITE3_CMD sqlite3 ) IF( NOT SQLITE3_CMD ) MESSAGE( FATAL_ERROR "Did not find sqlite3 to make the database." ) ENDIF() #=========================Detect Debian======================================== IF( EXISTS "/etc/debian_version" ) MESSAGE( STATUS "Debian detected..." ) IF( NOT ${CMAKE_INSTALL_PREFIX} STREQUAL "/usr" ) MESSAGE( WARNING "Debian system, but CMAKE_INSTALL_PREFIX != /usr" ) MESSAGE( WARNING "CMAKE_INSTALL_PREFIX = \"${CMAKE_INSTALL_PREFIX}\"" ) ENDIF() ENDIF() #========================Construct the directories============================= # Debian standard directories. IF( NOT EXEC_PREFIX ) SET( EXEC_PREFIX ${CMAKE_INSTALL_PREFIX} ) ENDIF() SET( DATAROOTDIR "${EXEC_PREFIX}/share" ) SET( BINDIR "${EXEC_PREFIX}/bin" ) IF( NOT DOCDIR ) SET( DOCDIR "${DATAROOTDIR}/doc/${CMAKE_PROJECT_NAME}" ) ENDIF() # Actual install directories. IF( UNIX AND NOT APPLE ) SET( DATAPATH "${DATAROOTDIR}/${CMAKE_PROJECT_NAME}" ) SET( TARGETPATH ${BINDIR} ) SET( DOCPATH ${DOCDIR} ) ELSEIF( WIN32 ) # Works for regular "make install", but not CPack/NSIS installer. #SET( CMAKE_INSTALL_PREFIX "C:/Program Files/brewtarget-${brewtarget_VERSION_STRING}" ) #SET( DATAPATH "brewtarget-${brewtarget_VERSION_STRING}" ) #SET( TARGETPATH "brewtarget-${brewtarget_VERSION_STRING}" ) #SET( DOCPATH "brewtarget-${brewtarget_VERSION_STRING}/doc" ) # For some damn reason, for the NSIS installer, # the prefix needs to be empty. Also, seems that the .exe # needs to be in bin/. Fucking piece of shit CPack... # Can anybody shed some light on this situation? SET( CMAKE_INSTALL_PREFIX "" ) SET( DATAPATH "data" ) SET( TARGETPATH "bin" ) SET( DOCPATH "doc" ) ELSEIF( APPLE ) SET( CMAKE_INSTALL_PREFIX "/" ) SET( BT_BUNDLE "brewtarget.app" ) SET( BT_BUNDLE_DIR "/Applications/${BT_BUNDLE}" ) SET( DATAPATH "${BT_BUNDLE_DIR}/Contents/Resources" ) SET( TARGETPATH "${BT_BUNDLE_DIR}/Contents/MacOS" ) SET( DOCPATH "${BT_BUNDLE_DIR}/Contents/Resources/en.lproj" ) ENDIF() #=========================Configure brewtarget.desktop========================= # If it begins with a '/' IF( IS_ABSOLUTE ${DATAROOTDIR} ) SET( brewtarget_ICONS_LOCATION "${DATAROOTDIR}/icons/${CMAKE_PROJECT_NAME}" ) ELSE() SET( brewtarget_ICONS_LOCATION "/${DATAROOTDIR}/icons/${CMAKE_PROJECT_NAME}" ) ENDIF() CONFIGURE_FILE( brewtarget.desktop.in brewtarget.desktop ) #==============================Setup the config.h============================== # "#define CONFIGDATADIR ${CONFIGDATADIR}$" in config.in will be replaced # by the below corresponding value in ${CONFIGDATADIR} below when # CONFIGURE_FILE() is called. IF( ${DATAPATH} MATCHES "^/" ) SET( CONFIGDATADIR "${DATAPATH}/" ) ELSE() SET( CONFIGDATADIR "/${DATAPATH}/" ) ENDIF() IF( ${DOCPATH} MATCHES "^/" ) SET( CONFIGDOCDIR "${DOCPATH}/" ) ELSE() SET( CONFIGDOCDIR "/${DOCPATH}/" ) ENDIF() # Tell cmake where the configure file is and where # to put the output. All variables in config.in written as "${VAR}$ # will be replaced by VAR as determined by cmake in config.h. # Outputs only in the build directory. CONFIGURE_FILE( src/config.in src/config.h ) #================================Files========================================= # List of documentation files to be installed. SET( brewtarget_DOCS ${ROOTDIR}/README.markdown ${ROOTDIR}/COPYRIGHT ) # List of data files to be installed. SET( brewtarget_DATA ${DATADIR}/default_db.sqlite ${DATADIR}/options.xml # Yes, I know this is 'documentation', but Debian policy suggests it should be # with the data (see section 12.3 of the policy manual). ${ROOTDIR}/doc/brewtarget-manual.html ) # Desktop files to install. # This is not prefixed with ${ROOTDIR} b/c it is a configured file that will # only exist in the build directory. SET( brewtarget_DESKTOP ${CMAKE_CURRENT_BINARY_DIR}/brewtarget.desktop ) # Icon files to install. SET( brewtarget_ICONS ${ROOTDIR}/images/brewtarget_icon.svg ) SET( TRANSLATIONS_FILES ${TRANSLATIONSDIR}/bt_ca.ts # Catalan ${TRANSLATIONSDIR}/bt_cs.ts # Czech ${TRANSLATIONSDIR}/bt_de.ts # German ${TRANSLATIONSDIR}/bt_en.ts # English ${TRANSLATIONSDIR}/bt_el.ts # Greek ${TRANSLATIONSDIR}/bt_es.ts # Spanish ${TRANSLATIONSDIR}/bt_fr.ts # French ${TRANSLATIONSDIR}/bt_nb.ts # Norwegian Bokmal ${TRANSLATIONSDIR}/bt_it.ts # Italian ${TRANSLATIONSDIR}/bt_nl.ts # Dutch ${TRANSLATIONSDIR}/bt_pl.ts # Polish ${TRANSLATIONSDIR}/bt_pt.ts # Portuguese ${TRANSLATIONSDIR}/bt_hu.ts # Hungarian ${TRANSLATIONSDIR}/bt_ru.ts # Russian ${TRANSLATIONSDIR}/bt_sv.ts # Swedish ${TRANSLATIONSDIR}/bt_zh.ts # Chinese ) SET( RCFILE ${WINDIR}/icon.rc ) SET( brewtarget_SOUNDS ${DATADIR}/sounds/45minLeft.mp3 ${DATADIR}/sounds/addFuckinHops.mp3 ${DATADIR}/sounds/aromaHops.mp3 ${DATADIR}/sounds/bitteringHops.mp3 ${DATADIR}/sounds/checkBoil.mp3 ${DATADIR}/sounds/checkFirstRunnings.mp3 ${DATADIR}/sounds/checkGravity.mp3 ${DATADIR}/sounds/checkHydrometer.mp3 ${DATADIR}/sounds/checkMashTemps.mp3 ${DATADIR}/sounds/checkTemp.mp3 ${DATADIR}/sounds/clarifyingAgent.mp3 ${DATADIR}/sounds/cleanup.mp3 ${DATADIR}/sounds/closeFuckinValves.mp3 ${DATADIR}/sounds/closeValves.mp3 ${DATADIR}/sounds/doughIn.mp3 ${DATADIR}/sounds/drinkAnotherHomebrew.mp3 ${DATADIR}/sounds/drinkHomebrew.mp3 ${DATADIR}/sounds/emptyMashTun.mp3 ${DATADIR}/sounds/extraPropane.mp3 ${DATADIR}/sounds/flameout.mp3 ${DATADIR}/sounds/flavorHops.mp3 ${DATADIR}/sounds/heatWater.mp3 ${DATADIR}/sounds/mashHops.mp3 ${DATADIR}/sounds/pitchYeast.mp3 ${DATADIR}/sounds/sanitize.mp3 ${DATADIR}/sounds/sparge.mp3 ${DATADIR}/sounds/startBurner.mp3 ${DATADIR}/sounds/startChill.mp3 ${DATADIR}/sounds/stirMash.mp3 ) SET( brewtarget_INFO_PLIST "${ROOTDIR}/mac/Info.plist" ) SET( brewtarget_MAC_ICNS "${ROOTDIR}/mac/BrewtargetIcon.icns" ) #==========================Find dlls for Win32================================= IF( WIN32 ) SET( Qt_DLLs ${QT_BINARY_DIR}/phonon4.dll ${QT_BINARY_DIR}/QtCore4.dll ${QT_BINARY_DIR}/QtGui4.dll ${QT_BINARY_DIR}/QtNetwork4.dll ${QT_BINARY_DIR}/QtSvg4.dll ${QT_BINARY_DIR}/QtSql4.dll ${QT_BINARY_DIR}/QtWebKit4.dll ${QT_BINARY_DIR}/QtXml4.dll ) SET( SQL_Drivers_DLLs ${QT_PLUGINS_DIR}/sqldrivers/qsqlite4.dll ) SET( Phonon_Backend_DLLs ${QT_PLUGINS_DIR}/phonon_backend/phonon_ds94.dll ) SET( Image_Formats_DLLs ${QT_PLUGINS_DIR}/imageformats/qgif4.dll ${QT_PLUGINS_DIR}/imageformats/qico4.dll ${QT_PLUGINS_DIR}/imageformats/qjpeg4.dll ${QT_PLUGINS_DIR}/imageformats/qmng4.dll ${QT_PLUGINS_DIR}/imageformats/qsvg4.dll ${QT_PLUGINS_DIR}/imageformats/qtiff4.dll ) SET( Icon_Engines_DLLs ${QT_PLUGINS_DIR}/iconengines/qsvgicon4.dll ) # Find extra MinGW-specific dlls. IF( MINGW ) IF( NOT MINGW_BIN_DIR ) FIND_PATH(MINGW_BIN_DIR "mingw32-c++.exe") ENDIF() IF( NOT EXISTS ${MINGW_BIN_DIR} ) MESSAGE( FATAL_ERROR "MinGW bin dir not found. Run cmake again with the option -DMINGW_BIN_DIR=c:/path/to/mingw" ) ELSE() SET( Qt_DLLs ${Qt_DLLs} ${MINGW_BIN_DIR}/libgcc_s_dw2-1.dll ${MINGW_BIN_DIR}/libstdc++-6.dll ${MINGW_BIN_DIR}/mingwm10.dll ) ENDIF() ENDIF() ENDIF() #===============================Packaging====================================== # To make the packages, "make package". For source packages, "make package_source" IF(EXISTS "${CMAKE_ROOT}/Modules/CPack.cmake") SET(CPACK_SET_DESTDIR "on") SET(CPACK_PACKAGING_INSTALL_PREFIX "/tmp") SET(CPACK_SOURCE_GENERATOR "TBZ2;") SET(CPACK_SOURCE_IGNORE_FILES "/.svn/" "~$" "/CMakeFiles/" "/_CPack_Packages/" "^brewtarget.*deb$" "^brewtarget.*rpm$" "^brewtarget.*tar.*$" "CPack.*" "Makefile" "cmake_install.*" "\\\\.o$" "/brewtarget.dir/" "moc_.*" "qrc_brewtarget.*" "ui_.*h" "install_manifest.*" "config\\\\.h" ) SET( CPACK_PACKAGE_VERSION ${brewtarget_VERSION_STRING} ) SET( CPACK_PACKAGE_VENDOR "Philip G. Lee" ) SET( CPACK_PACKAGE_CONTACT "Philip G. Lee " ) SET( CPACK_PACKAGE_DESCRIPTION_SUMMARY "GUI beer brewing software" ) SET( CPACK_PACKAGE_DESCRIPTION "Brewtarget is a calculator for brewing beer. It is a Qt-based program which allows you to create recipes from a database of ingredients. It calculates all the important parameters, helps you with mash temperatures, and just makes the process of recipe formulation much easier." ) SET(CPACK_PACKAGE_VERSION_MAJOR ${brewtarget_VERSION_MAJOR}) SET(CPACK_PACKAGE_VERSION_MINOR ${brewtarget_VERSION_MINOR}) # to create a debian confirm file-version-string SET(CPACK_PACKAGE_FILE_NAME "${CMAKE_PROJECT_NAME}_${brewtarget_VERSION_STRING}_${CMAKE_SYSTEM_PROCESSOR}") SET(CPACK_SOURCE_PACKAGE_FILE_NAME "${CMAKE_PROJECT_NAME}_${brewtarget_VERSION_STRING}_source") SET(CPACK_PACKAGE_EXECUTABLES "${brewtarget_EXECUTABLE}" "Brewtarget" ) IF( ${DO_RELEASE_BUILD} ) SET(CPACK_STRIP_FILES ${brewtarget_EXECUTABLE}) ENDIF() #===========================UNIX====================================== IF(UNIX AND NOT APPLE) SET(CPACK_GENERATOR "DEB;RPM;TBZ2;") #-----------------DEB---------------- SET( CPACK_DEBIAN_PACKAGE_MAINTAINER "Philip G. Lee " ) # NOTE: Use the getdependencies script to get the dependencies! SET( CPACK_DEBIAN_PACKAGE_DEPENDS "libc6 (>= 2.3.6-6~), libc6 (>= 2.1.3), libgcc1 (>= 1:4.1.1), libphonon4 (>= 4:4.2.0), libqt4-dbus (>= 4:4.5.3), libqt4-network (>= 4:4.5.3), libqt4-svg (>= 4:4.5.3), libqt4-webkit (>= 4:4.5.3), libqt4-xml (>= 4:4.5.3), libqtcore4 (>= 4:4.6.1), libqtgui4 (>= 4:4.5.3), libstdc++6 (>= 4.1.1), phonon (>= 4:4.5.2)" ) SET( CPACK_DEBIAN_PACKAGE_SECTION "misc" ) SET( CPACK_DEBIAN_PACKAGE_VERSION "${brewtarget_VERSION_STRING}-1") SET( CPACK_DEBIAN_PACKAGE_PRIORITY "optional" ) SET(CPACK_DEBIAN_PACKAGE_NAME ${CMAKE_PROJECT_NAME}_${brewtarget_VERSION_STRING}) #-----------------RPM----------------- SET(CPACK_RPM_PACKAGE_LICENSE "GPLv3") SET(CPACK_RPM_PACKAGE_GROUP "Applications/Productivity") SET(CPACK_RPM_PACKAGE_REQUIRES "qt >= 4.6.0, phonon >= 4.2.0") # NOTE: I'm just guessing here. Somebody needs to check. SET(CPACK_RPM_SPEC_MORE_DEFINE "%define ignore \#") SET(CPACK_RPM_USER_FILELIST "%ignore /usr" "%ignore /usr/local" "%ignore /usr/local/bin" "%ignore /usr/local/share" "%ignore /usr/local/share/applications") #============================WINDOWS=============================== ELSEIF(WIN32) # http://www.thegigsite.com/cmake-2.6.0/CMakeCPackOptions.cmake SET( CPACK_GENERATOR "NSIS" ) SET( CPACK_RESOURCE_FILE_LICENSE "${ROOTDIR}/COPYING.GPLv3" ) SET( CPACK_NSIS_PACKAGE_NAME "Brewtarget-${brewtarget_VERSION_STRING}" ) SET( CPACK_NSIS_DISPLAY__NAME "Brewtarget-${brewtarget_VERSION_STRING}" ) SET( CPACK_PACKAGE_INSTALL_REGISTRY_KEY "Brewtarget-${brewtarget_VERSION_STRING}" ) SET( CPACK_PACKAGE_INSTALL_DIRECTORY "Brewtarget-${brewtarget_VERSION_STRING}" ) SET( CPACK_NSIS_MODIFY_PATH ON ) # Extra start menu items. #SET( CPACK_NSIS_MENU_LINKS # "bin/${brewtarget_EXECUTABLE}" "My Brewtarget" # ) #============================APPLE================================= #ELSEIF(APPLE) # SET( CPACK_GENERATOR "Bundle" ) # # SET( CPACK_BUNDLE_NAME "${CMAKE_PROJECT_NAME}_${brewtarget_VERSION_STRING}" ) # SET( CPACK_BUNDLE_ICON "../mac/BrewtargetIcon.icns" ) # SET( CPACK_BUNDLE_PLIST "../mac/Info.plist" ) # SET( CPACK_BUNDLE_STARTUP_COMMAND "${brewtarget_EXECUTABLE}") # ELSEIF(APPLE) SET( CPACK_GENERATOR "DragNDrop" ) SET( CPACK_DMG_FORMAT "UDBZ" ) ENDIF() INCLUDE(CPack) ENDIF() #================================Installs====================================== IF( NOT ${BUILD_DESIGNER_PLUGINS} ) # Install the data. INSTALL( FILES ${brewtarget_DATA} DESTINATION ${DATAPATH} ) # Install the documentation. INSTALL( FILES ${brewtarget_DOCS} DESTINATION ${DOCPATH} ) # Install sounds. INSTALL( FILES ${brewtarget_SOUNDS} DESTINATION "${DATAPATH}/sounds" ) #-----------Unix----------- IF( UNIX AND NOT APPLE ) # Install the icons. INSTALL( FILES ${brewtarget_ICONS} DESTINATION "${DATAROOTDIR}/icons/${CMAKE_PROJECT_NAME}" ) # Install the .desktop file. INSTALL( FILES ${brewtarget_DESKTOP} DESTINATION "${DATAROOTDIR}/applications" ) ENDIF() #--------Windows-------- IF( WIN32 ) INSTALL( FILES ${Qt_DLLs} DESTINATION "bin" ) INSTALL( FILES ${SQL_Drivers_DLLs} DESTINATION "bin/sqldrivers" ) INSTALL( FILES ${Phonon_Backend_DLLs} DESTINATION "bin/phonon_backend" ) INSTALL( FILES ${Image_Formats_DLLs} DESTINATION "bin/imageformats" ) INSTALL( FILES ${Icon_Engines_DLLs} DESTINATION "bin/iconengines" ) ENDIF() ENDIF() #---------Mac-------- # http://pmarinc-tidylib.googlecode.com/hg/src/Sigil/CMakeLists.txt?r=8276c61e05bc385d5ffbcc58e1f007f84b0c52df IF( APPLE ) # Info.plist INSTALL( FILES ${brewtarget_INFO_PLIST} DESTINATION "${BT_BUNDLE_DIR}/Contents" ) # Icons INSTALL( FILES ${brewtarget_MAC_ICNS} DESTINATION ${DATAPATH} ) # make addframeworks should copy the Qt libraries to the app. # May have to add a WORKING_DIRECTORY. ADD_CUSTOM_TARGET( addframeworks ALL COMMAND ${QT_BINARY_DIR}/macdeployqt ${BT_BUNDLE_DIR} ) ENDIF() # =====================Process other CMakeList.txt's=========================== IF( ${BUILD_DESIGNER_PLUGINS} ) MESSAGE( STATUS "Building Qt Designer plugins." ) ADD_SUBDIRECTORY(QtDesignerPlugins) ELSE() MESSAGE( STATUS "Building Brewtarget." ) ADD_SUBDIRECTORY(${SRCDIR}) ENDIF() brewtarget-2.0.2/doc/0000755000175000017500000000000012266512166013771 5ustar philipphilipbrewtarget-2.0.2/doc/Doxyfile.in0000644000175000017500000017764412266512166016127 0ustar philipphilip# Doxyfile 1.6.3 # This file describes the settings to be used by the documentation system # doxygen (www.doxygen.org) for a project # # All text after a hash (#) is considered a comment and will be ignored # The format is: # TAG = value [value, ...] # For lists items can also be appended using: # TAG += value [value, ...] # Values that contain spaces should be placed between quotes (" ") #--------------------------------------------------------------------------- # Project related configuration options #--------------------------------------------------------------------------- # This tag specifies the encoding used for all characters in the config file # that follow. The default is UTF-8 which is also the encoding used for all # text before the first occurrence of this tag. Doxygen uses libiconv (or the # iconv built into libc) for the transcoding. See # http://www.gnu.org/software/libiconv for the list of possible encodings. DOXYFILE_ENCODING = UTF-8 # The PROJECT_NAME tag is a single word (or a sequence of words surrounded # by quotes) that should identify the project. PROJECT_NAME =brewtarget # The PROJECT_NUMBER tag can be used to enter a project or revision number. # This could be handy for archiving the generated documentation or # if some version control system is used. PROJECT_NUMBER =2.0 # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) # base path where the generated documentation will be put. # If a relative path is entered, it will be relative to the location # where doxygen was started. If left blank the current directory will be used. OUTPUT_DIRECTORY =${CMAKE_CURRENT_BINARY_DIR}/doc # If the CREATE_SUBDIRS tag is set to YES, then doxygen will create # 4096 sub-directories (in 2 levels) under the output directory of each output # format and will distribute the generated files over these directories. # Enabling this option can be useful when feeding doxygen a huge amount of # source files, where putting all generated files in the same directory would # otherwise cause performance problems for the file system. CREATE_SUBDIRS = NO # The OUTPUT_LANGUAGE tag is used to specify the language in which all # documentation generated by doxygen is written. Doxygen will use this # information to generate all constant output in the proper language. # The default language is English, other supported languages are: # Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional, # Croatian, Czech, Danish, Dutch, Esperanto, Farsi, Finnish, French, German, # Greek, Hungarian, Italian, Japanese, Japanese-en (Japanese with English # messages), Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian, # Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrilic, Slovak, # Slovene, Spanish, Swedish, Ukrainian, and Vietnamese. OUTPUT_LANGUAGE = English # If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will # include brief member descriptions after the members that are listed in # the file and class documentation (similar to JavaDoc). # Set to NO to disable this. BRIEF_MEMBER_DESC = YES # If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend # the brief description of a member or function before the detailed description. # Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the # brief descriptions will be completely suppressed. REPEAT_BRIEF = YES # This tag implements a quasi-intelligent brief description abbreviator # that is used to form the text in various listings. Each string # in this list, if found as the leading text of the brief description, will be # stripped from the text and the result after processing the whole list, is # used as the annotated text. Otherwise, the brief description is used as-is. # If left blank, the following values are used ("$name" is automatically # replaced with the name of the entity): "The $name class" "The $name widget" # "The $name file" "is" "provides" "specifies" "contains" # "represents" "a" "an" "the" ABBREVIATE_BRIEF = # If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then # Doxygen will generate a detailed section even if there is only a brief # description. ALWAYS_DETAILED_SEC = NO # If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all # inherited members of a class in the documentation of that class as if those # members were ordinary class members. Constructors, destructors and assignment # operators of the base classes will not be shown. INLINE_INHERITED_MEMB = NO # If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full # path before files name in the file list and in the header files. If set # to NO the shortest path that makes the file name unique will be used. FULL_PATH_NAMES = YES # If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag # can be used to strip a user-defined part of the path. Stripping is # only done if one of the specified strings matches the left-hand part of # the path. The tag can be used to show relative paths in the file list. # If left blank the directory from which doxygen is run is used as the # path to strip. STRIP_FROM_PATH = # The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of # the path mentioned in the documentation of a class, which tells # the reader which header file to include in order to use a class. # If left blank only the name of the header file containing the class # definition is used. Otherwise one should specify the include paths that # are normally passed to the compiler using the -I flag. STRIP_FROM_INC_PATH = # If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter # (but less readable) file names. This can be useful is your file systems # doesn't support long names like on DOS, Mac, or CD-ROM. SHORT_NAMES = NO # If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen # will interpret the first line (until the first dot) of a JavaDoc-style # comment as the brief description. If set to NO, the JavaDoc # comments will behave just like regular Qt-style comments # (thus requiring an explicit @brief command for a brief description.) JAVADOC_AUTOBRIEF = NO # If the QT_AUTOBRIEF tag is set to YES then Doxygen will # interpret the first line (until the first dot) of a Qt-style # comment as the brief description. If set to NO, the comments # will behave just like regular Qt-style comments (thus requiring # an explicit \brief command for a brief description.) QT_AUTOBRIEF = NO # The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen # treat a multi-line C++ special comment block (i.e. a block of //! or /// # comments) as a brief description. This used to be the default behaviour. # The new default is to treat a multi-line C++ comment block as a detailed # description. Set this tag to YES if you prefer the old behaviour instead. MULTILINE_CPP_IS_BRIEF = NO # If the INHERIT_DOCS tag is set to YES (the default) then an undocumented # member inherits the documentation from any documented member that it # re-implements. INHERIT_DOCS = YES # If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce # a new page for each member. If set to NO, the documentation of a member will # be part of the file/class/namespace that contains it. SEPARATE_MEMBER_PAGES = NO # The TAB_SIZE tag can be used to set the number of spaces in a tab. # Doxygen uses this value to replace tabs by spaces in code fragments. TAB_SIZE = 3 # This tag can be used to specify a number of aliases that acts # as commands in the documentation. An alias has the form "name=value". # For example adding "sideeffect=\par Side Effects:\n" will allow you to # put the command \sideeffect (or @sideeffect) in the documentation, which # will result in a user-defined paragraph with heading "Side Effects:". # You can put \n's in the value part of an alias to insert newlines. ALIASES = # Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C # sources only. Doxygen will then generate output that is more tailored for C. # For instance, some of the names that are used will be different. The list # of all members will be omitted, etc. OPTIMIZE_OUTPUT_FOR_C = NO # Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java # sources only. Doxygen will then generate output that is more tailored for # Java. For instance, namespaces will be presented as packages, qualified # scopes will look different, etc. OPTIMIZE_OUTPUT_JAVA = NO # Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran # sources only. Doxygen will then generate output that is more tailored for # Fortran. OPTIMIZE_FOR_FORTRAN = NO # Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL # sources. Doxygen will then generate output that is tailored for # VHDL. OPTIMIZE_OUTPUT_VHDL = NO # Doxygen selects the parser to use depending on the extension of the files it parses. # With this tag you can assign which parser to use for a given extension. # Doxygen has a built-in mapping, but you can override or extend it using this tag. # The format is ext=language, where ext is a file extension, and language is one of # the parsers supported by doxygen: IDL, Java, Javascript, C#, C, C++, D, PHP, # Objective-C, Python, Fortran, VHDL, C, C++. For instance to make doxygen treat # .inc files as Fortran files (default is PHP), and .f files as C (default is Fortran), # use: inc=Fortran f=C. Note that for custom extensions you also need to set FILE_PATTERNS otherwise the files are not read by doxygen. EXTENSION_MAPPING = # If you use STL classes (i.e. std::string, std::vector, etc.) but do not want # to include (a tag file for) the STL sources as input, then you should # set this tag to YES in order to let doxygen match functions declarations and # definitions whose arguments contain STL classes (e.g. func(std::string); v.s. # func(std::string) {}). This also make the inheritance and collaboration # diagrams that involve STL classes more complete and accurate. BUILTIN_STL_SUPPORT = NO # If you use Microsoft's C++/CLI language, you should set this option to YES to # enable parsing support. CPP_CLI_SUPPORT = NO # Set the SIP_SUPPORT tag to YES if your project consists of sip sources only. # Doxygen will parse them like normal C++ but will assume all classes use public # instead of private inheritance when no explicit protection keyword is present. SIP_SUPPORT = NO # For Microsoft's IDL there are propget and propput attributes to indicate getter # and setter methods for a property. Setting this option to YES (the default) # will make doxygen to replace the get and set methods by a property in the # documentation. This will only work if the methods are indeed getting or # setting a simple type. If this is not the case, or you want to show the # methods anyway, you should set this option to NO. IDL_PROPERTY_SUPPORT = YES # If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC # tag is set to YES, then doxygen will reuse the documentation of the first # member in the group (if any) for the other members of the group. By default # all members of a group must be documented explicitly. DISTRIBUTE_GROUP_DOC = NO # Set the SUBGROUPING tag to YES (the default) to allow class member groups of # the same type (for instance a group of public functions) to be put as a # subgroup of that type (e.g. under the Public Functions section). Set it to # NO to prevent subgrouping. Alternatively, this can be done per class using # the \nosubgrouping command. SUBGROUPING = YES # When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum # is documented as struct, union, or enum with the name of the typedef. So # typedef struct TypeS {} TypeT, will appear in the documentation as a struct # with name TypeT. When disabled the typedef will appear as a member of a file, # namespace, or class. And the struct will be named TypeS. This can typically # be useful for C code in case the coding convention dictates that all compound # types are typedef'ed and only the typedef is referenced, never the tag name. TYPEDEF_HIDES_STRUCT = NO # The SYMBOL_CACHE_SIZE determines the size of the internal cache use to # determine which symbols to keep in memory and which to flush to disk. # When the cache is full, less often used symbols will be written to disk. # For small to medium size projects (<1000 input files) the default value is # probably good enough. For larger projects a too small cache size can cause # doxygen to be busy swapping symbols to and from disk most of the time # causing a significant performance penality. # If the system has enough physical memory increasing the cache will improve the # performance by keeping more symbols in memory. Note that the value works on # a logarithmic scale so increasing the size by one will rougly double the # memory usage. The cache size is given by this formula: # 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0, # corresponding to a cache size of 2^16 = 65536 symbols SYMBOL_CACHE_SIZE = 0 #--------------------------------------------------------------------------- # Build related configuration options #--------------------------------------------------------------------------- # If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in # documentation are documented, even if no documentation was available. # Private class members and static file members will be hidden unless # the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES EXTRACT_ALL = NO # If the EXTRACT_PRIVATE tag is set to YES all private members of a class # will be included in the documentation. EXTRACT_PRIVATE = NO # If the EXTRACT_STATIC tag is set to YES all static members of a file # will be included in the documentation. EXTRACT_STATIC = NO # If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) # defined locally in source files will be included in the documentation. # If set to NO only classes defined in header files are included. EXTRACT_LOCAL_CLASSES = YES # This flag is only useful for Objective-C code. When set to YES local # methods, which are defined in the implementation section but not in # the interface are included in the documentation. # If set to NO (the default) only methods in the interface are included. EXTRACT_LOCAL_METHODS = NO # If this flag is set to YES, the members of anonymous namespaces will be # extracted and appear in the documentation as a namespace called # 'anonymous_namespace{file}', where file will be replaced with the base # name of the file that contains the anonymous namespace. By default # anonymous namespace are hidden. EXTRACT_ANON_NSPACES = NO # If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all # undocumented members of documented classes, files or namespaces. # If set to NO (the default) these members will be included in the # various overviews, but no documentation section is generated. # This option has no effect if EXTRACT_ALL is enabled. HIDE_UNDOC_MEMBERS = NO # If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all # undocumented classes that are normally visible in the class hierarchy. # If set to NO (the default) these classes will be included in the various # overviews. This option has no effect if EXTRACT_ALL is enabled. HIDE_UNDOC_CLASSES = NO # If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all # friend (class|struct|union) declarations. # If set to NO (the default) these declarations will be included in the # documentation. HIDE_FRIEND_COMPOUNDS = NO # If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any # documentation blocks found inside the body of a function. # If set to NO (the default) these blocks will be appended to the # function's detailed documentation block. HIDE_IN_BODY_DOCS = NO # The INTERNAL_DOCS tag determines if documentation # that is typed after a \internal command is included. If the tag is set # to NO (the default) then the documentation will be excluded. # Set it to YES to include the internal documentation. INTERNAL_DOCS = NO # If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate # file names in lower-case letters. If set to YES upper-case letters are also # allowed. This is useful if you have classes or files whose names only differ # in case and if your file system supports case sensitive file names. Windows # and Mac users are advised to set this option to NO. CASE_SENSE_NAMES = YES # If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen # will show members with their full class and namespace scopes in the # documentation. If set to YES the scope will be hidden. HIDE_SCOPE_NAMES = NO # If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen # will put a list of the files that are included by a file in the documentation # of that file. SHOW_INCLUDE_FILES = YES # If the FORCE_LOCAL_INCLUDES tag is set to YES then Doxygen # will list include files with double quotes in the documentation # rather than with sharp brackets. FORCE_LOCAL_INCLUDES = NO # If the INLINE_INFO tag is set to YES (the default) then a tag [inline] # is inserted in the documentation for inline members. INLINE_INFO = YES # If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen # will sort the (detailed) documentation of file and class members # alphabetically by member name. If set to NO the members will appear in # declaration order. SORT_MEMBER_DOCS = YES # If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the # brief documentation of file, namespace and class members alphabetically # by member name. If set to NO (the default) the members will appear in # declaration order. SORT_BRIEF_DOCS = NO # If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen will sort the (brief and detailed) documentation of class members so that constructors and destructors are listed first. If set to NO (the default) the constructors will appear in the respective orders defined by SORT_MEMBER_DOCS and SORT_BRIEF_DOCS. This tag will be ignored for brief docs if SORT_BRIEF_DOCS is set to NO and ignored for detailed docs if SORT_MEMBER_DOCS is set to NO. SORT_MEMBERS_CTORS_1ST = NO # If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the # hierarchy of group names into alphabetical order. If set to NO (the default) # the group names will appear in their defined order. SORT_GROUP_NAMES = NO # If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be # sorted by fully-qualified names, including namespaces. If set to # NO (the default), the class list will be sorted only by class name, # not including the namespace part. # Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. # Note: This option applies only to the class list, not to the # alphabetical list. SORT_BY_SCOPE_NAME = NO # The GENERATE_TODOLIST tag can be used to enable (YES) or # disable (NO) the todo list. This list is created by putting \todo # commands in the documentation. GENERATE_TODOLIST = YES # The GENERATE_TESTLIST tag can be used to enable (YES) or # disable (NO) the test list. This list is created by putting \test # commands in the documentation. GENERATE_TESTLIST = YES # The GENERATE_BUGLIST tag can be used to enable (YES) or # disable (NO) the bug list. This list is created by putting \bug # commands in the documentation. GENERATE_BUGLIST = YES # The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or # disable (NO) the deprecated list. This list is created by putting # \deprecated commands in the documentation. GENERATE_DEPRECATEDLIST= YES # The ENABLED_SECTIONS tag can be used to enable conditional # documentation sections, marked by \if sectionname ... \endif. ENABLED_SECTIONS = # The MAX_INITIALIZER_LINES tag determines the maximum number of lines # the initial value of a variable or define consists of for it to appear in # the documentation. If the initializer consists of more lines than specified # here it will be hidden. Use a value of 0 to hide initializers completely. # The appearance of the initializer of individual variables and defines in the # documentation can be controlled using \showinitializer or \hideinitializer # command in the documentation regardless of this setting. MAX_INITIALIZER_LINES = 30 # Set the SHOW_USED_FILES tag to NO to disable the list of files generated # at the bottom of the documentation of classes and structs. If set to YES the # list will mention the files that were used to generate the documentation. SHOW_USED_FILES = YES # If the sources in your project are distributed over multiple directories # then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy # in the documentation. The default is NO. SHOW_DIRECTORIES = NO # Set the SHOW_FILES tag to NO to disable the generation of the Files page. # This will remove the Files entry from the Quick Index and from the # Folder Tree View (if specified). The default is YES. SHOW_FILES = YES # Set the SHOW_NAMESPACES tag to NO to disable the generation of the # Namespaces page. # This will remove the Namespaces entry from the Quick Index # and from the Folder Tree View (if specified). The default is YES. SHOW_NAMESPACES = YES # The FILE_VERSION_FILTER tag can be used to specify a program or script that # doxygen should invoke to get the current version for each file (typically from # the version control system). Doxygen will invoke the program by executing (via # popen()) the command , where is the value of # the FILE_VERSION_FILTER tag, and is the name of an input file # provided by doxygen. Whatever the program writes to standard output # is used as the file version. See the manual for examples. FILE_VERSION_FILTER = # The LAYOUT_FILE tag can be used to specify a layout file which will be parsed by # doxygen. The layout file controls the global structure of the generated output files # in an output format independent way. The create the layout file that represents # doxygen's defaults, run doxygen with the -l option. You can optionally specify a # file name after the option, if omitted DoxygenLayout.xml will be used as the name # of the layout file. LAYOUT_FILE = #--------------------------------------------------------------------------- # configuration options related to warning and progress messages #--------------------------------------------------------------------------- # The QUIET tag can be used to turn on/off the messages that are generated # by doxygen. Possible values are YES and NO. If left blank NO is used. QUIET = NO # The WARNINGS tag can be used to turn on/off the warning messages that are # generated by doxygen. Possible values are YES and NO. If left blank # NO is used. WARNINGS = YES # If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings # for undocumented members. If EXTRACT_ALL is set to YES then this flag will # automatically be disabled. WARN_IF_UNDOCUMENTED = YES # If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for # potential errors in the documentation, such as not documenting some # parameters in a documented function, or documenting parameters that # don't exist or using markup commands wrongly. WARN_IF_DOC_ERROR = YES # This WARN_NO_PARAMDOC option can be abled to get warnings for # functions that are documented, but have no documentation for their parameters # or return value. If set to NO (the default) doxygen will only warn about # wrong or incomplete parameter documentation, but not about the absence of # documentation. WARN_NO_PARAMDOC = NO # The WARN_FORMAT tag determines the format of the warning messages that # doxygen can produce. The string should contain the $file, $line, and $text # tags, which will be replaced by the file and line number from which the # warning originated and the warning text. Optionally the format may contain # $version, which will be replaced by the version of the file (if it could # be obtained via FILE_VERSION_FILTER) WARN_FORMAT = "$file:$line: $text" # The WARN_LOGFILE tag can be used to specify a file to which warning # and error messages should be written. If left blank the output is written # to stderr. WARN_LOGFILE = #--------------------------------------------------------------------------- # configuration options related to the input files #--------------------------------------------------------------------------- # The INPUT tag can be used to specify the files and/or directories that contain # documented source files. You may enter file names like "myfile.cpp" or # directories like "/usr/src/myproject". Separate the files or directories # with spaces. INPUT ="../src" # This tag can be used to specify the character encoding of the source files # that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is # also the default input encoding. Doxygen uses libiconv (or the iconv built # into libc) for the transcoding. See http://www.gnu.org/software/libiconv for # the list of possible encodings. INPUT_ENCODING = UTF-8 # If the value of the INPUT tag contains directories, you can use the # FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp # and *.h) to filter out the source-files in the directories. If left # blank the following patterns are tested: # *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx # *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py *.f90 FILE_PATTERNS = # The RECURSIVE tag can be used to turn specify whether or not subdirectories # should be searched for input files as well. Possible values are YES and NO. # If left blank NO is used. RECURSIVE = NO # The EXCLUDE tag can be used to specify files and/or directories that should # excluded from the INPUT source files. This way you can easily exclude a # subdirectory from a directory tree whose root is specified with the INPUT tag. EXCLUDE = # The EXCLUDE_SYMLINKS tag can be used select whether or not files or # directories that are symbolic links (a Unix filesystem feature) are excluded # from the input. EXCLUDE_SYMLINKS = NO # If the value of the INPUT tag contains directories, you can use the # EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude # certain files from those directories. Note that the wildcards are matched # against the file with absolute path, so to exclude all test directories # for example use the pattern */test/* EXCLUDE_PATTERNS = # The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names # (namespaces, classes, functions, etc.) that should be excluded from the # output. The symbol name can be a fully qualified name, a word, or if the # wildcard * is used, a substring. Examples: ANamespace, AClass, # AClass::ANamespace, ANamespace::*Test EXCLUDE_SYMBOLS = # The EXAMPLE_PATH tag can be used to specify one or more files or # directories that contain example code fragments that are included (see # the \include command). EXAMPLE_PATH = # If the value of the EXAMPLE_PATH tag contains directories, you can use the # EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp # and *.h) to filter out the source-files in the directories. If left # blank all files are included. EXAMPLE_PATTERNS = # If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be # searched for input files to be used with the \include or \dontinclude # commands irrespective of the value of the RECURSIVE tag. # Possible values are YES and NO. If left blank NO is used. EXAMPLE_RECURSIVE = NO # The IMAGE_PATH tag can be used to specify one or more files or # directories that contain image that are included in the documentation (see # the \image command). IMAGE_PATH = # The INPUT_FILTER tag can be used to specify a program that doxygen should # invoke to filter for each input file. Doxygen will invoke the filter program # by executing (via popen()) the command , where # is the value of the INPUT_FILTER tag, and is the name of an # input file. Doxygen will then use the output that the filter program writes # to standard output. # If FILTER_PATTERNS is specified, this tag will be # ignored. INPUT_FILTER = # The FILTER_PATTERNS tag can be used to specify filters on a per file pattern # basis. # Doxygen will compare the file name with each pattern and apply the # filter if there is a match. # The filters are a list of the form: # pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further # info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER # is applied to all files. FILTER_PATTERNS = # If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using # INPUT_FILTER) will be used to filter the input files when producing source # files to browse (i.e. when SOURCE_BROWSER is set to YES). FILTER_SOURCE_FILES = NO #--------------------------------------------------------------------------- # configuration options related to source browsing #--------------------------------------------------------------------------- # If the SOURCE_BROWSER tag is set to YES then a list of source files will # be generated. Documented entities will be cross-referenced with these sources. # Note: To get rid of all source code in the generated output, make sure also # VERBATIM_HEADERS is set to NO. SOURCE_BROWSER = NO # Setting the INLINE_SOURCES tag to YES will include the body # of functions and classes directly in the documentation. INLINE_SOURCES = NO # Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct # doxygen to hide any special comment blocks from generated source code # fragments. Normal C and C++ comments will always remain visible. STRIP_CODE_COMMENTS = YES # If the REFERENCED_BY_RELATION tag is set to YES # then for each documented function all documented # functions referencing it will be listed. REFERENCED_BY_RELATION = NO # If the REFERENCES_RELATION tag is set to YES # then for each documented function all documented entities # called/used by that function will be listed. REFERENCES_RELATION = NO # If the REFERENCES_LINK_SOURCE tag is set to YES (the default) # and SOURCE_BROWSER tag is set to YES, then the hyperlinks from # functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will # link to the source code. # Otherwise they will link to the documentation. REFERENCES_LINK_SOURCE = YES # If the USE_HTAGS tag is set to YES then the references to source code # will point to the HTML generated by the htags(1) tool instead of doxygen # built-in source browser. The htags tool is part of GNU's global source # tagging system (see http://www.gnu.org/software/global/global.html). You # will need version 4.8.6 or higher. USE_HTAGS = NO # If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen # will generate a verbatim copy of the header file for each class for # which an include is specified. Set to NO to disable this. VERBATIM_HEADERS = YES #--------------------------------------------------------------------------- # configuration options related to the alphabetical class index #--------------------------------------------------------------------------- # If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index # of all compounds will be generated. Enable this if the project # contains a lot of classes, structs, unions or interfaces. ALPHABETICAL_INDEX = NO # If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then # the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns # in which this list will be split (can be a number in the range [1..20]) COLS_IN_ALPHA_INDEX = 5 # In case all classes in a project start with a common prefix, all # classes will be put under the same header in the alphabetical index. # The IGNORE_PREFIX tag can be used to specify one or more prefixes that # should be ignored while generating the index headers. IGNORE_PREFIX = #--------------------------------------------------------------------------- # configuration options related to the HTML output #--------------------------------------------------------------------------- # If the GENERATE_HTML tag is set to YES (the default) Doxygen will # generate HTML output. GENERATE_HTML = YES # The HTML_OUTPUT tag is used to specify where the HTML docs will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `html' will be used as the default path. HTML_OUTPUT = html # The HTML_FILE_EXTENSION tag can be used to specify the file extension for # each generated HTML page (for example: .htm,.php,.asp). If it is left blank # doxygen will generate files with .html extension. HTML_FILE_EXTENSION = .html # The HTML_HEADER tag can be used to specify a personal HTML header for # each generated HTML page. If it is left blank doxygen will generate a # standard header. HTML_HEADER = # The HTML_FOOTER tag can be used to specify a personal HTML footer for # each generated HTML page. If it is left blank doxygen will generate a # standard footer. HTML_FOOTER = # The HTML_STYLESHEET tag can be used to specify a user-defined cascading # style sheet that is used by each HTML page. It can be used to # fine-tune the look of the HTML output. If the tag is left blank doxygen # will generate a default style sheet. Note that doxygen will try to copy # the style sheet file to the HTML output directory, so don't put your own # stylesheet in the HTML output directory as well, or it will be erased! HTML_STYLESHEET = # If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML # page will contain the date and time when the page was generated. Setting # this to NO can help when comparing the output of multiple runs. HTML_TIMESTAMP = YES # If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, # files or namespaces will be aligned in HTML using tables. If set to # NO a bullet list will be used. HTML_ALIGN_MEMBERS = YES # If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML # documentation will contain sections that can be hidden and shown after the # page has loaded. For this to work a browser that supports # JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox # Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari). HTML_DYNAMIC_SECTIONS = NO # If the GENERATE_DOCSET tag is set to YES, additional index files # will be generated that can be used as input for Apple's Xcode 3 # integrated development environment, introduced with OSX 10.5 (Leopard). # To create a documentation set, doxygen will generate a Makefile in the # HTML output directory. Running make will produce the docset in that # directory and running "make install" will install the docset in # ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find # it at startup. # See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html for more information. GENERATE_DOCSET = NO # When GENERATE_DOCSET tag is set to YES, this tag determines the name of the # feed. A documentation feed provides an umbrella under which multiple # documentation sets from a single provider (such as a company or product suite) # can be grouped. DOCSET_FEEDNAME = "Doxygen generated docs" # When GENERATE_DOCSET tag is set to YES, this tag specifies a string that # should uniquely identify the documentation set bundle. This should be a # reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen # will append .docset to the name. DOCSET_BUNDLE_ID = org.doxygen.Project # If the GENERATE_HTMLHELP tag is set to YES, additional index files # will be generated that can be used as input for tools like the # Microsoft HTML help workshop to generate a compiled HTML help file (.chm) # of the generated HTML documentation. GENERATE_HTMLHELP = NO # If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can # be used to specify the file name of the resulting .chm file. You # can add a path in front of the file if the result should not be # written to the html output directory. CHM_FILE = # If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can # be used to specify the location (absolute path including file name) of # the HTML help compiler (hhc.exe). If non-empty doxygen will try to run # the HTML help compiler on the generated index.hhp. HHC_LOCATION = # If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag # controls if a separate .chi index file is generated (YES) or that # it should be included in the master .chm file (NO). GENERATE_CHI = NO # If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING # is used to encode HtmlHelp index (hhk), content (hhc) and project file # content. CHM_INDEX_ENCODING = # If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag # controls whether a binary table of contents is generated (YES) or a # normal table of contents (NO) in the .chm file. BINARY_TOC = NO # The TOC_EXPAND flag can be set to YES to add extra items for group members # to the contents of the HTML help documentation and to the tree view. TOC_EXPAND = NO # If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and QHP_VIRTUAL_FOLDER # are set, an additional index file will be generated that can be used as input for # Qt's qhelpgenerator to generate a Qt Compressed Help (.qch) of the generated # HTML documentation. GENERATE_QHP = NO # If the QHG_LOCATION tag is specified, the QCH_FILE tag can # be used to specify the file name of the resulting .qch file. # The path specified is relative to the HTML output folder. QCH_FILE = # The QHP_NAMESPACE tag specifies the namespace to use when generating # Qt Help Project output. For more information please see # http://doc.trolltech.com/qthelpproject.html#namespace QHP_NAMESPACE = org.doxygen.Project # The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating # Qt Help Project output. For more information please see # http://doc.trolltech.com/qthelpproject.html#virtual-folders QHP_VIRTUAL_FOLDER = doc # If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to add. # For more information please see # http://doc.trolltech.com/qthelpproject.html#custom-filters QHP_CUST_FILTER_NAME = # The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the custom filter to add.For more information please see # Qt Help Project / Custom Filters. QHP_CUST_FILTER_ATTRS = # The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this project's # filter section matches. # Qt Help Project / Filter Attributes. QHP_SECT_FILTER_ATTRS = # If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can # be used to specify the location of Qt's qhelpgenerator. # If non-empty doxygen will try to run qhelpgenerator on the generated # .qhp file. QHG_LOCATION = # If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files # will be generated, which together with the HTML files, form an Eclipse help # plugin. To install this plugin and make it available under the help contents # menu in Eclipse, the contents of the directory containing the HTML and XML # files needs to be copied into the plugins directory of eclipse. The name of # the directory within the plugins directory should be the same as # the ECLIPSE_DOC_ID value. After copying Eclipse needs to be restarted before the help appears. GENERATE_ECLIPSEHELP = NO # A unique identifier for the eclipse help plugin. When installing the plugin # the directory name containing the HTML and XML files should also have # this name. ECLIPSE_DOC_ID = org.doxygen.Project # The DISABLE_INDEX tag can be used to turn on/off the condensed index at # top of each HTML page. The value NO (the default) enables the index and # the value YES disables it. DISABLE_INDEX = NO # This tag can be used to set the number of enum values (range [1..20]) # that doxygen will group on one line in the generated HTML documentation. ENUM_VALUES_PER_LINE = 4 # The GENERATE_TREEVIEW tag is used to specify whether a tree-like index # structure should be generated to display hierarchical information. # If the tag value is set to YES, a side panel will be generated # containing a tree-like index structure (just like the one that # is generated for HTML Help). For this to work a browser that supports # JavaScript, DHTML, CSS and frames is required (i.e. any modern browser). # Windows users are probably better off using the HTML help feature. GENERATE_TREEVIEW = NO # By enabling USE_INLINE_TREES, doxygen will generate the Groups, Directories, # and Class Hierarchy pages using a tree view instead of an ordered list. USE_INLINE_TREES = NO # If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be # used to set the initial width (in pixels) of the frame in which the tree # is shown. TREEVIEW_WIDTH = 250 # Use this tag to change the font size of Latex formulas included # as images in the HTML documentation. The default is 10. Note that # when you change the font size after a successful doxygen run you need # to manually remove any form_*.png images from the HTML output directory # to force them to be regenerated. FORMULA_FONTSIZE = 10 # When the SEARCHENGINE tag is enabled doxygen will generate a search box for the HTML output. The underlying search engine uses javascript # and DHTML and should work on any modern browser. Note that when using HTML help (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets (GENERATE_DOCSET) there is already a search function so this one should # typically be disabled. For large projects the javascript based search engine # can be slow, then enabling SERVER_BASED_SEARCH may provide a better solution. SEARCHENGINE = YES # When the SERVER_BASED_SEARCH tag is enabled the search engine will be implemented using a PHP enabled web server instead of at the web client using Javascript. Doxygen will generate the search PHP script and index # file to put on the web server. The advantage of the server based approach is that it scales better to large projects and allows full text search. The disadvances is that it is more difficult to setup # and does not have live searching capabilities. SERVER_BASED_SEARCH = NO #--------------------------------------------------------------------------- # configuration options related to the LaTeX output #--------------------------------------------------------------------------- # If the GENERATE_LATEX tag is set to YES (the default) Doxygen will # generate Latex output. GENERATE_LATEX = NO # The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `latex' will be used as the default path. LATEX_OUTPUT = latex # The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be # invoked. If left blank `latex' will be used as the default command name. # Note that when enabling USE_PDFLATEX this option is only used for # generating bitmaps for formulas in the HTML output, but not in the # Makefile that is written to the output directory. LATEX_CMD_NAME = latex # The MAKEINDEX_CMD_NAME tag can be used to specify the command name to # generate index for LaTeX. If left blank `makeindex' will be used as the # default command name. MAKEINDEX_CMD_NAME = makeindex # If the COMPACT_LATEX tag is set to YES Doxygen generates more compact # LaTeX documents. This may be useful for small projects and may help to # save some trees in general. COMPACT_LATEX = NO # The PAPER_TYPE tag can be used to set the paper type that is used # by the printer. Possible values are: a4, a4wide, letter, legal and # executive. If left blank a4wide will be used. PAPER_TYPE = a4wide # The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX # packages that should be included in the LaTeX output. EXTRA_PACKAGES = # The LATEX_HEADER tag can be used to specify a personal LaTeX header for # the generated latex document. The header should contain everything until # the first chapter. If it is left blank doxygen will generate a # standard header. Notice: only use this tag if you know what you are doing! LATEX_HEADER = # If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated # is prepared for conversion to pdf (using ps2pdf). The pdf file will # contain links (just like the HTML output) instead of page references # This makes the output suitable for online browsing using a pdf viewer. PDF_HYPERLINKS = YES # If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of # plain latex in the generated Makefile. Set this option to YES to get a # higher quality PDF documentation. USE_PDFLATEX = YES # If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. # command to the generated LaTeX files. This will instruct LaTeX to keep # running if errors occur, instead of asking the user for help. # This option is also used when generating formulas in HTML. LATEX_BATCHMODE = NO # If LATEX_HIDE_INDICES is set to YES then doxygen will not # include the index chapters (such as File Index, Compound Index, etc.) # in the output. LATEX_HIDE_INDICES = NO # If LATEX_SOURCE_CODE is set to YES then doxygen will include source code with syntax highlighting in the LaTeX output. Note that which sources are shown also depends on other settings such as SOURCE_BROWSER. LATEX_SOURCE_CODE = NO #--------------------------------------------------------------------------- # configuration options related to the RTF output #--------------------------------------------------------------------------- # If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output # The RTF output is optimized for Word 97 and may not look very pretty with # other RTF readers or editors. GENERATE_RTF = NO # The RTF_OUTPUT tag is used to specify where the RTF docs will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `rtf' will be used as the default path. RTF_OUTPUT = rtf # If the COMPACT_RTF tag is set to YES Doxygen generates more compact # RTF documents. This may be useful for small projects and may help to # save some trees in general. COMPACT_RTF = NO # If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated # will contain hyperlink fields. The RTF file will # contain links (just like the HTML output) instead of page references. # This makes the output suitable for online browsing using WORD or other # programs which support those fields. # Note: wordpad (write) and others do not support links. RTF_HYPERLINKS = NO # Load stylesheet definitions from file. Syntax is similar to doxygen's # config file, i.e. a series of assignments. You only have to provide # replacements, missing definitions are set to their default value. RTF_STYLESHEET_FILE = # Set optional variables used in the generation of an rtf document. # Syntax is similar to doxygen's config file. RTF_EXTENSIONS_FILE = #--------------------------------------------------------------------------- # configuration options related to the man page output #--------------------------------------------------------------------------- # If the GENERATE_MAN tag is set to YES (the default) Doxygen will # generate man pages GENERATE_MAN = NO # The MAN_OUTPUT tag is used to specify where the man pages will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `man' will be used as the default path. MAN_OUTPUT = man # The MAN_EXTENSION tag determines the extension that is added to # the generated man pages (default is the subroutine's section .3) MAN_EXTENSION = .3 # If the MAN_LINKS tag is set to YES and Doxygen generates man output, # then it will generate one additional man file for each entity # documented in the real man page(s). These additional files # only source the real man page, but without them the man command # would be unable to find the correct page. The default is NO. MAN_LINKS = NO #--------------------------------------------------------------------------- # configuration options related to the XML output #--------------------------------------------------------------------------- # If the GENERATE_XML tag is set to YES Doxygen will # generate an XML file that captures the structure of # the code including all documentation. GENERATE_XML = NO # The XML_OUTPUT tag is used to specify where the XML pages will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `xml' will be used as the default path. XML_OUTPUT = xml # The XML_SCHEMA tag can be used to specify an XML schema, # which can be used by a validating XML parser to check the # syntax of the XML files. XML_SCHEMA = # The XML_DTD tag can be used to specify an XML DTD, # which can be used by a validating XML parser to check the # syntax of the XML files. XML_DTD = # If the XML_PROGRAMLISTING tag is set to YES Doxygen will # dump the program listings (including syntax highlighting # and cross-referencing information) to the XML output. Note that # enabling this will significantly increase the size of the XML output. XML_PROGRAMLISTING = YES #--------------------------------------------------------------------------- # configuration options for the AutoGen Definitions output #--------------------------------------------------------------------------- # If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will # generate an AutoGen Definitions (see autogen.sf.net) file # that captures the structure of the code including all # documentation. Note that this feature is still experimental # and incomplete at the moment. GENERATE_AUTOGEN_DEF = NO #--------------------------------------------------------------------------- # configuration options related to the Perl module output #--------------------------------------------------------------------------- # If the GENERATE_PERLMOD tag is set to YES Doxygen will # generate a Perl module file that captures the structure of # the code including all documentation. Note that this # feature is still experimental and incomplete at the # moment. GENERATE_PERLMOD = NO # If the PERLMOD_LATEX tag is set to YES Doxygen will generate # the necessary Makefile rules, Perl scripts and LaTeX code to be able # to generate PDF and DVI output from the Perl module output. PERLMOD_LATEX = NO # If the PERLMOD_PRETTY tag is set to YES the Perl module output will be # nicely formatted so it can be parsed by a human reader. # This is useful # if you want to understand what is going on. # On the other hand, if this # tag is set to NO the size of the Perl module output will be much smaller # and Perl will parse it just the same. PERLMOD_PRETTY = YES # The names of the make variables in the generated doxyrules.make file # are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. # This is useful so different doxyrules.make files included by the same # Makefile don't overwrite each other's variables. PERLMOD_MAKEVAR_PREFIX = #--------------------------------------------------------------------------- # Configuration options related to the preprocessor #--------------------------------------------------------------------------- # If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will # evaluate all C-preprocessor directives found in the sources and include # files. ENABLE_PREPROCESSING = YES # If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro # names in the source code. If set to NO (the default) only conditional # compilation will be performed. Macro expansion can be done in a controlled # way by setting EXPAND_ONLY_PREDEF to YES. MACRO_EXPANSION = NO # If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES # then the macro expansion is limited to the macros specified with the # PREDEFINED and EXPAND_AS_DEFINED tags. EXPAND_ONLY_PREDEF = NO # If the SEARCH_INCLUDES tag is set to YES (the default) the includes files # in the INCLUDE_PATH (see below) will be search if a #include is found. SEARCH_INCLUDES = YES # The INCLUDE_PATH tag can be used to specify one or more directories that # contain include files that are not input files but should be processed by # the preprocessor. INCLUDE_PATH = # You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard # patterns (like *.h and *.hpp) to filter out the header-files in the # directories. If left blank, the patterns specified with FILE_PATTERNS will # be used. INCLUDE_FILE_PATTERNS = # The PREDEFINED tag can be used to specify one or more macro names that # are defined before the preprocessor is started (similar to the -D option of # gcc). The argument of the tag is a list of macros of the form: name # or name=definition (no spaces). If the definition and the = are # omitted =1 is assumed. To prevent a macro definition from being # undefined via #undef or recursively expanded use the := operator # instead of the = operator. PREDEFINED = # If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then # this tag can be used to specify a list of macro names that should be expanded. # The macro definition that is found in the sources will be used. # Use the PREDEFINED tag if you want to use a different macro definition. EXPAND_AS_DEFINED = # If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then # doxygen's preprocessor will remove all function-like macros that are alone # on a line, have an all uppercase name, and do not end with a semicolon. Such # function macros are typically used for boiler-plate code, and will confuse # the parser if not removed. SKIP_FUNCTION_MACROS = YES #--------------------------------------------------------------------------- # Configuration::additions related to external references #--------------------------------------------------------------------------- # The TAGFILES option can be used to specify one or more tagfiles. # Optionally an initial location of the external documentation # can be added for each tagfile. The format of a tag file without # this location is as follows: # # TAGFILES = file1 file2 ... # Adding location for the tag files is done as follows: # # TAGFILES = file1=loc1 "file2 = loc2" ... # where "loc1" and "loc2" can be relative or absolute paths or # URLs. If a location is present for each tag, the installdox tool # does not have to be run to correct the links. # Note that each tag file must have a unique name # (where the name does NOT include the path) # If a tag file is not located in the directory in which doxygen # is run, you must also specify the path to the tagfile here. TAGFILES = # When a file name is specified after GENERATE_TAGFILE, doxygen will create # a tag file that is based on the input files it reads. GENERATE_TAGFILE = # If the ALLEXTERNALS tag is set to YES all external classes will be listed # in the class index. If set to NO only the inherited external classes # will be listed. ALLEXTERNALS = NO # If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed # in the modules index. If set to NO, only the current project's groups will # be listed. EXTERNAL_GROUPS = YES # The PERL_PATH should be the absolute path and name of the perl script # interpreter (i.e. the result of `which perl'). PERL_PATH = /usr/bin/perl #--------------------------------------------------------------------------- # Configuration options related to the dot tool #--------------------------------------------------------------------------- # If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will # generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base # or super classes. Setting the tag to NO turns the diagrams off. Note that # this option is superseded by the HAVE_DOT option below. This is only a # fallback. It is recommended to install and use dot, since it yields more # powerful graphs. CLASS_DIAGRAMS = YES # You can define message sequence charts within doxygen comments using the \msc # command. Doxygen will then run the mscgen tool (see # http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the # documentation. The MSCGEN_PATH tag allows you to specify the directory where # the mscgen tool resides. If left empty the tool is assumed to be found in the # default search path. MSCGEN_PATH = # If set to YES, the inheritance and collaboration graphs will hide # inheritance and usage relations if the target is undocumented # or is not a class. HIDE_UNDOC_RELATIONS = YES # If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is # available from the path. This tool is part of Graphviz, a graph visualization # toolkit from AT&T and Lucent Bell Labs. The other options in this section # have no effect if this option is set to NO (the default) HAVE_DOT = YES # By default doxygen will write a font called FreeSans.ttf to the output # directory and reference it in all dot files that doxygen generates. This # font does not include all possible unicode characters however, so when you need # these (or just want a differently looking font) you can specify the font name # using DOT_FONTNAME. You need need to make sure dot is able to find the font, # which can be done by putting it in a standard location or by setting the # DOTFONTPATH environment variable or by setting DOT_FONTPATH to the directory # containing the font. DOT_FONTNAME = FreeSans # The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs. # The default size is 10pt. DOT_FONTSIZE = 10 # By default doxygen will tell dot to use the output directory to look for the # FreeSans.ttf font (which doxygen will put there itself). If you specify a # different font using DOT_FONTNAME you can set the path where dot # can find it using this tag. DOT_FONTPATH = # If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen # will generate a graph for each documented class showing the direct and # indirect inheritance relations. Setting this tag to YES will force the # the CLASS_DIAGRAMS tag to NO. CLASS_GRAPH = YES # If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen # will generate a graph for each documented class showing the direct and # indirect implementation dependencies (inheritance, containment, and # class references variables) of the class with other documented classes. COLLABORATION_GRAPH = YES # If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen # will generate a graph for groups, showing the direct groups dependencies GROUP_GRAPHS = YES # If the UML_LOOK tag is set to YES doxygen will generate inheritance and # collaboration diagrams in a style similar to the OMG's Unified Modeling # Language. UML_LOOK = NO # If set to YES, the inheritance and collaboration graphs will show the # relations between templates and their instances. TEMPLATE_RELATIONS = NO # If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT # tags are set to YES then doxygen will generate a graph for each documented # file showing the direct and indirect include dependencies of the file with # other documented files. INCLUDE_GRAPH = YES # If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and # HAVE_DOT tags are set to YES then doxygen will generate a graph for each # documented header file showing the documented files that directly or # indirectly include this file. INCLUDED_BY_GRAPH = YES # If the CALL_GRAPH and HAVE_DOT options are set to YES then # doxygen will generate a call dependency graph for every global function # or class method. Note that enabling this option will significantly increase # the time of a run. So in most cases it will be better to enable call graphs # for selected functions only using the \callgraph command. CALL_GRAPH = YES # If the CALLER_GRAPH and HAVE_DOT tags are set to YES then # doxygen will generate a caller dependency graph for every global function # or class method. Note that enabling this option will significantly increase # the time of a run. So in most cases it will be better to enable caller # graphs for selected functions only using the \callergraph command. CALLER_GRAPH = NO # If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen # will graphical hierarchy of all classes instead of a textual one. GRAPHICAL_HIERARCHY = YES # If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES # then doxygen will show the dependencies a directory has on other directories # in a graphical way. The dependency relations are determined by the #include # relations between the files in the directories. DIRECTORY_GRAPH = YES # The DOT_IMAGE_FORMAT tag can be used to set the image format of the images # generated by dot. Possible values are png, jpg, or gif # If left blank png will be used. DOT_IMAGE_FORMAT = png # The tag DOT_PATH can be used to specify the path where the dot tool can be # found. If left blank, it is assumed the dot tool can be found in the path. DOT_PATH = # The DOTFILE_DIRS tag can be used to specify one or more directories that # contain dot files that are included in the documentation (see the # \dotfile command). DOTFILE_DIRS = # The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of # nodes that will be shown in the graph. If the number of nodes in a graph # becomes larger than this value, doxygen will truncate the graph, which is # visualized by representing a node as a red box. Note that doxygen if the # number of direct children of the root node in a graph is already larger than # DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note # that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH. DOT_GRAPH_MAX_NODES = 50 # The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the # graphs generated by dot. A depth value of 3 means that only nodes reachable # from the root by following a path via at most 3 edges will be shown. Nodes # that lay further from the root node will be omitted. Note that setting this # option to 1 or 2 may greatly reduce the computation time needed for large # code bases. Also note that the size of a graph can be further restricted by # DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction. MAX_DOT_GRAPH_DEPTH = 0 # Set the DOT_TRANSPARENT tag to YES to generate images with a transparent # background. This is disabled by default, because dot on Windows does not # seem to support this out of the box. Warning: Depending on the platform used, # enabling this option may lead to badly anti-aliased labels on the edges of # a graph (i.e. they become hard to read). DOT_TRANSPARENT = NO # Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output # files in one run (i.e. multiple -o and -T options on the command line). This # makes dot run faster, but since only newer versions of dot (>1.8.10) # support this, this feature is disabled by default. DOT_MULTI_TARGETS = YES # If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will # generate a legend page explaining the meaning of the various boxes and # arrows in the dot generated graphs. GENERATE_LEGEND = YES # If the DOT_CLEANUP tag is set to YES (the default) Doxygen will # remove the intermediate dot files that are used to generate # the various graphs. DOT_CLEANUP = YES brewtarget-2.0.2/doc/brewtarget-manual.html0000644000175000017500000012657512266512166020320 0ustar philipphilip Brewtarget 2.0.2 Manual

Brewtarget 2.0.1 Manual

Table of Contents:

A Walkthrough

I figure it's probably easier to demonstrate the features of the program rather than try to explain every single concept. So, here we will create a nice American Amber Ale, trying to touch on as many features as possible.

Setting Options

Brewtarget's options are in Tools->Options. Here you should set your preferences for the unit system you wish to use, and which formulae you want to use in creating your recipes. For the purposes of this walkthrough, set the units to US traditional, temperature to Fahrenheit, gravity to specific gravity, color to Morey, and IBU to Tinseth.

Note: if you choose Plato for gravity, then all the displayed FG numbers are not corrected. So, the displayed FG reflects the actual FG: not what you will see if you use your refractometer.

Defining Your Equipment

Never ever try to formulate a recipe without setting up an equipment record. Having an equipment record for your recipe is very important in Brewtarget. It contains a lot of information about your particular setup, and helps Brewtarget better estimate your results.

Click on View->Equipments to bring up the Equipment Editor, or go to the equipment tree, right click and select "New Equipment". At the bottom, press the green plus and enter the name you wish to give it. Check "calculate pre-boil volume", and enter as many of these fields as you can. When done, press the diskette button at the bottom of the dialog to save.

Section Field Description
Header
Set as Default Set this equipment profile as the default profile to be used when creating recipes.
Required Fields
Name Any name you choose to title your equipment setup
Pre-boil volume Amount of wort in the kettle immediately prior to boil.
Calculate pre-boil volume Based on the boil time, losses, and water additions, automatically calculate the pre-boil volume instead of entering it by hand.
Batch size How much wort you want to end up in the primary fermenter
Boiling & Water
Boil time How long you usually boil. Note: As of version 2.0, brewtarget allows you to modify the boil time directly on the recipe. This works simply as a default.
Evaporation rate Water loss during the boil, per hour. Typically, around 3L or 0.75 US gallons.
Kettle top-up water Amount of water you usually add directly to the kettle before boiling. For extract recipes, this should be equal to the boil volume.
Final top-up water Amount of water to add to the wort immediately before going into the primary.
Grain absorption How many liters of water are permanently lost to each kilogram of grain during mashing. The default value is 1.0875 liters per kilogram. This can fluctuate due to the fine-ness of your grind, humidity, brand, and other factors. Pressing the "Default Absorption" button will reset the value to this default.
Boiling Point of Water The temperature at which water boils. The default value is 100C (212F), but the actual value will vary with altitude.
Hop Utilization Correction for hop utilization. Typically 100 percent in homebrew systems, somewhat more than 100 percent for larger systems.
Mash Tun
Volume The maximum volume your mash tun can hold.
Mass Mass of your mash tun.
Specific Heat Specific heat of the material of your mash tun in cal/(g*C). Typical values are:
  • Aluminum - 0.215
  • Copper - 0.092
  • Iron/Steel - 0.108
  • Plastic - 0.359
Losses
Kettle to fermenter How much wort you leave in the kettle when you transfer the wort to primary.
Lauter deadspace How much wort you lose in the lauter tun.

Making a New Recipe

Click on either File->"New Recipe", click the blue plus in the toolbar at the top of the main window or right-click in the recipe tab of the tree and select "New Recipe". Name your recipe in the box that pops up, and click "OK".

Adjusting Recipe Parameters

If you created your equipment profile as shown above, and you made it the default profile, you won't need to do anything else.

Otherwise, choose the equipment profile you set up in the New Equipment section from the Equipment drop-down list. You can also drag it from the tree on the left and drop it on the recipe. After selecting or dropping the equipment, you will be asked if you want to set the batch and boil size of the recipe to that of the equipment. Click "Yes".

Selecting the Style

Brewtarget comes pre-loaded with all of the BJCP styles. This means you can check your recipe against the guidelines for the particular style you are trying to make. To do this, select " American Amber Ale" from the Style drop down list. You will notice that the numbers flanking the OG, FG, ABV, Bitterness, and Color fields have changed. These blue and red numbers reflect the lower and upper bounds of these parameters for the style. The middle number for each row is the current estimate for your recipe. If the number is blue, it means it is too low; red means too high, and green means in range for the style. If you choose, you can create your own styles in the View->Styles dialog. You can also view descriptions of the particular style and recommended ingredients there.

Adding Ingredients

Open the "Fermentable" tree in the left pane (denoted with a barley icon), and drag'n'drop the "Pale Malt (2 row) US", "Caramel/Crystal Malt - 80L" onto the recipe pane.

Back at the main window, you will see those two malts in your recipe. Click on the Crystal 80's "Mashed" checkbox to tell it that we want to have this in the mash (this malt can also be simply steeped).

Units

Here's a cool feature about Brewtarget: you can enter amounts of stuff in pretty much any units you want. Let's see what I mean. Double-click the 2-row's "amount" cell and enter "4.536 kg". You will see that it immediately gets converted into "10.000 lb" if you're using US units. For the Crystal 80, tell it "32 oz" and watch it get converted into "2.000 lb". You can change US/English/SI preferences in Tools->Options. Please see Supported Units in this document to see the correct abbreviation for each unit.

Controlling units

You can control this feature for each of the main tables and fields in the display. For example, lets say you use a refractometer to measure your SG and OG, but you use a hydrometer to measure the FG. In the options, select "Brix/Plato" as the system default. In the main window, right click on the "FG" label and select "Specific Gravity" OG and SG will still be shown in Brix, but the FG will now display in specific gravity.

This feature works on all of the fields in the main window and on brewnotes by right-clicking on the label for the field. It works on the fermentables, hops, miscellaneous, yeast and mash tables by right-clicking on the header for the column. It works for any field for which it makes sense. For example, you can specify the units for amount, infusion temp and target temp on the mash table but not for the time. Additionally, this feature may not be fully implemented in all of the tables, editors and tools.

Controlling scale

Additionally, you can control the scaling where it makes sense. For example, assume you always want your fermentables in the table to displayed in grams. Right click on the "Amount" column in the table. Select "Default" if your system default is SI, or select SI. Then click on the "Scale" submenu and you can select "Default" "Milligrams" "Grams" or "Kilograms" Selecting the first option will give you the default brewtarget behavior. The other three choices will force brewtarget to automatically scale the weights appropriately.

Important: do not forget that you SHOULD enter the unit suffix (lb, kg, L, mL, etc.) for the amount boxes in brewtarget. If you do not, brewtarget will try to guess what you mean based on your defaults and what field you are editting. The guessing is pretty good, but you should not rely on it. In this case, brewtarget will assume that fermentables are entered in either lbs or kg, depending on the default units you have chosen.

Now you should notice something different about the OG, FG, etc., displayed in the main window. The OG now reads 1.052, and it is green which indicates "to style" as dictated by the amber ale style we chose. However, the FG is red, which means it's too high, the ABV is blue which means it is too low, and the Color number is green: just right. The glass of beer to the right represents the approximate color of your beer, and the thing right below that which reads "Cloying" is the maltiness indicator (based on IBU/GU ratio which now shows 0). You shouldn't take the maltiness indicator too seriously; it is just a general guide.

Now, go to the Hops tab and add 1 oz Cascade at 1 hr, 1 oz Cascade at 15 min, and 1 oz Cascade at 5 min. The IBUs should be about 32.4, and in the green. Add WLP001 yeast to the recipe. Now everything should be in the green.

Making a Mash

Let's do a 2-step mash with a protein rest at 121 F and a conversion rest at 152 F.

Aside: I should mention something here. Until now, Brewtarget has been lying to you. Underneath the target batch size on the main window, it says your calculated batch size and the calculated boil size are not 0. These are estimates based on your equipment profile. Brewtarget is lying because it's convenient just to be able to start adding the ingredients and get an approximate answer. After setting the mash addition volumes, you will get a real answer.

Click on "Edit Mash" and give it a name. Notice that you can enter the initial grain temp, sparge temp and initial tun temp here. Entering these as accurately as possible will give you the best chance to nail your temperatures. To set tun mass and specific heat, you should click "From Equipment". You can save this mash profile by pressing "Save Mash" at the bottom of the mash tab. It will be saved under the name you gave it in the "Edit mash" dialog. You can recall a mash profile by selecting it in the appropriate drop down box. From here, there are two ways to create the mash.

Method 1: Mash wiz

Go to the mash tab and click the blue plus. Name it "Protein" and click "OK". Double click its "Target Temp" cell and change to "121 F", and change the "Time" to "20 min". This means we want to hit a target temperature of 121 F for 20 minutes. Do the same for a "Conversion" step at "152 F" for "1 hr".

The mash wiz is for quickly and easily getting the correct mash temperatures and volumes for a single batch sparge mash. Click on the "Mash wiz" button, and give it a mash thickness of 1.25 qt/lb. The mash wizard just did 3 things for you: calculated infusion volumes, infusion temps, and gave you a sparge step that will make you hit your pre-boil volume. NOTE: you don't have to actually sparge with all of the sparge water, but can put a portion directly into the kettle depending on how you like to sparge.

Now Brewtarget is not lying anymore about the calculated boil volume and batch size. You can see any of the infusion temperatures under the "Infusion Temp" column.

Since your equipment and recipe might change, you should always do the mash wizard after recalling a saved mash profile.

Method 2: Mash designer

The mash designer is for more advanced users. It can be used to create pretty much any mash schedule you desire with however many sparges, and at whatever infusion temp or volume you desire. To enter it, just click the "Mash Des" button. It is not necessary to add all of the steps beforehand as we did with the mash wiz. A dialog will ask you for the temperature of the tun before the first infusion, so enter 70 F and continue.

We are now looking at the parameters for the first infusion. Enter "Protein" for the name, leave the type at "Infusion", enter "121 F" for "Target temp.", and "20 min" for the time. Now, you can either move the infusion/decoction amount slider OR the infusion temp slider. Moving one will cause the other to move so that the combination of amount and infusion temp causes you to hit 121 F. The upper and lower limits of these sliders are based on the maximum available space left in the tun (as given by the current equipment), and the boiling temperature of water. Start the amount slider at the far left. You will see that the tun fullness meter on the right shows an infusion ratio of 0.11 qt/lb which is far too low. How do I know it's too low? The total collected wort meter shows a negative value, meaning that the grain will absorb all of the infusion's water and could absorb more. So, slowly move the amount slider until the infusion ratio reaches about 1.25 qt/lb.

You should see that the tun is about half full, and we have reached 1.9 gal of the 6.25 gal that we plan to collect pre-boil. Click "Next". Title this step "Conversion" and set the target temp to 152 F and the time to 1 hr. Slowly move the temp slider all the way to 212 F. Click "Next". Entitle this step "Batch Sparge". Click the "Batch Sparge" checkbox, set the target temp to 165 F, and the time to 15 min. You will notice that the tun fullness has gone down, simulating that you have drained the tun of liquid; this is the purpose of the checkbox. Move the amount slider slowly to the right until the total collected wort reaches about 6.25 gal.

If you exceed the target collected wort volume, the progress bar will still show 100 percent, so be careful and pay attention to the text which shows the actual collected wort. Click "Finish" to return to the main window.

Brewday Mode

Now that your recipe is all planned, wouldn't it be good to have some instructions on your brewday? Click the "Brewday" tab at the top of the main window. Click "Generate Instructions". It has made all instructions for you and listed them on the left in order. You can remove, shift up/down, insert, change steps as you see fit to help you be organized on your brew day.

There are 3 timers to help you with time-critical steps if you click the clock button in the toolbar of the main window. They are in HH:MM:SS format, and the text box above each one is what you use to set it. Just enter "1:00:00" and press "set" to set the timer for 1 hour, for example. The "Sound" button allows you to select a sound that will be played when the timer reaches zero. Brewtarget has provided many default sounds to choose from, or you can select any other sound file on your computer.

Printing the Recipe

Print and print preview are available under the "File" menu. There are two printouts available. One is "Recipe" and the other is "Brewday". The recipe printout is all the info related to the recipe you have made. The brewday printout is formatted in organized specifically for following when you brew.

Saving Your Work

When you close brewtarget, you will be given an option to either save or discard your work.

General Concepts

Brewtarget v2.0 uses an SQLite database of recipes, ingredients, etc. If brewtarget should crash unexpectedly, you will be prompted to either restore the changes made last session or rollback the database to discard the changes in the last session.

Trees

The application window is split into three major panes: the trees, the recipe and the ingredients. The tree pane is a set of tabs that displays your recipes, equipment profiles, fermentables, hops, miscellaneous items and hops. You can sort any of the trees on the displayed fields. Double clicking on any item in the tree will open up the appropriate editor for that item. For recipes, it will open the recipe in the main window.

There are 6 tabs:
  • Recipes - this tree shows all your recipes. You can drag'n'drop the recipe onto the main window and that recipe will be loaded. Each recipe will also show any associated brewnotes.
  • Equipment - this shows all your defined kit. You can drag'n'drop a piece of equipment onto your recipe which will have the same effect as changing the equipment via the dropdown box.
  • Fermentables, Hops, Misc and Yeast - these show all of your defined fermentables, hops, miscellaneous and yeasts, respectively. Dragging an item onto the main window will add that item to the recipe.

You can right-click almost anywhere on a tree and get a menu of options. Depending on where you click, the menus will change a bit. If you right-click on a recipe, the first option will be "new recipe". If you right-click on a fermentable, the first option will be "new fermentable". Otherwise, the available options will be the same.

You can select multiple items, right-click and then perform an action on the entire selected list. The only exception is the "Export" function. Limitations in the BeerXML format makes it very difficult to export both recipes and anything else at the same time.

BrewNotes

If you right-click a recipe, you can select an action called "Brew It!". If you select this action, a new entry will be created underneath the recipe and a new tab will be opened in the main window. This new tab allows you to record important information about your beer during its creation (sg, volumes, temperatures, etc.). This allows the brewer to track performance over time and adjust their equipment and efficiencies to better predict what you brew.

If you want more fields available, open a feature request

The values are preloaded based on the recipe as written. As you move through your brewday, you can record the actual numbers. The calculated values in the middle of the screen will change based on those inputs. For example, if you expected an SG of 1.036 but only got 1.032 the projected OG, ABV and ABV will all change to reflect the lower SG.

There are four main sections on the brewnote tab.
Section Field Description
Preboil
SG Specific gravity of the collected wort
Volume the volume of wort that made it into your boil kettle
Strike temp The temperature of your strike water before dough in
Final temp The temperature of your mash after dough in
Postboil
OG Specific gravity of the wort after the boil
Postboil Volume the volume of wort in your boil kettle
Volume into Fermenter the volume of wort in your primary fermenter
Pitch temp the temperature of your wort when you pitched the yeast
Postferment
FG Specific gravity of the wort after fermentation
Volume the volume of beer bottled or kegged
Date the date the beer finished fermenting
Notes
Notes Any notes specific to the brew day

Adding Ingredients to a Recipe

Method 1: Editors

If you are looking for a fermentable with a specific SRM or a yeast from a specific lab, this approach allows you to sort on any column you want.
  1. Choose the appropriate tab in the main window (Fermentable, Hops,...).
  2. Click the "add" button in the tab.
  3. Select any column of the row of the ingredient you wish to add.
  4. Click "Add to Recipe".

Method 2: Drag'n'Drop

This is the lazy way of doing it, as long as you don't mind the default sort order.
  1. Open the appropriate tree in the left pane.
  2. Click on the item you wish to add
  3. Drag it anywhere in the main part of the window
  4. And drop
  5. The tabs will change if required. E.g., if you drop a hop onto the "Fermentables" tab, the focus will change to the "Hops" tab.

Importing Recipes

You can import other BeerXML recipes (such as, from Beersmith) by using File->Import Recipes. However, you need to be aware that Beersmith does not strictly adhere to XML standards or even BeerXML itself (!), so you may have some trouble importing recipes from time to time. Brewtarget tries to maintain strict compatability with both.

Exporting Recipes

This option will export selected recipes to BeerXML.

Backing Up and Restoring Databases

For many reasons, you may want to back up all your recipes and ingredients and everything. To do this, go to File->"Backup Database" and select an empty directory. Restoring the database is just as simple. However, be aware that when you restore a database, anything in your current one will be wiped out.

As of Brewtarget v2.0, restoring a database will cause brewtarget to automatically restart.

Posting Your Recipe

Brewtarget offers two different methods for posting your recipes.

Method 1: Recipe to Clipboard

This tool is used to make a text version of the recipe so that you may post it online or whatever else you can do with a text version. To get the text version, Tools->"Recipe to Clipboard as Text", then click paste in a text editor or other paste-able window.

Method 2: Recipe to HTML

Another way you can share you recipes is to export them to HTML. Use File->"Recipe"->"Save to HTML". You can export either the recipe or the brewday instructions.

Tools

Brewtarget offers a lot of tools to aid the brewer in writing recipes and on the brew day itself.

OG Correction

A common problem is that you under or over estimate your efficiency and get a different OG than you planned for. To correct this in the boil, choose Tools->"OG Correction Help". Please note that this tool makes the assumption that you are not going to add any water post boil. Just enter the SG, temp of sample, and calibration temp of the hydrometer OR the degrees Plato of the wort as you read it pre-boil. Then enter the pre-boil volume. Now, click "Calculate" and 3 fields will populate on the output half of the window. The first shows you the post-boil OG if you do nothing. The next shows you how much water to add (or boil off if negative) in order to achieve the right OG. The last shows how much wort you will end up with.

Pitch Rate Calculator

This tool is located in Tools->"Pitch Rate Calculator" and helps you to make a starter that has the correct amount of yeast for your beer. Put in the wort volume, OG and starter OG (in specific gravity) and select the pitch rate. The pitch rate should be 0.75-1.00 for most ales and 1.50-2.00 for lagers. The output is the number of yeast cells required (in billions), the number of wyeast activator packs or white labs vials needed without a starter, the amount of dry yeast required (without starter), and the size of the starter needed to reach the cell count at the given starter OG (usually never over 1.030).

Priming Calculator

Tools->"Priming Calculator". Put in the required input values, select a priming agent, and press calculate.

Refractometer

Tools->"Refractometer Tools". Here, you can find OG and current SG by using refractometer readings. You must always enter the current plato and either the original plato OR the OG. If you just want to find out what 11.2 Plato corresponds to, enter 11.2 in both the original plato and current plato fields.

Units

Brewtarget supports SI, Imperial, and US customary units. To switch between these modes, go to Tools->Options->Units, and check/uncheck the appropriate box. It also supports auto-conversion. For example, if you are in US mode, and you enter "0.50 gal" into a text field, it will appear as "2.000 qt". You may also enter units from the other unit system if you like. However, if you enter an unsupported unit, Brewtarget will assume the quantity you entered has the same units as the BeerXML entry for that field (which is usuall SI). For example, if you enter "20 asdf" into a volume field while in US mode, you will see "5.283 gal" because Brewtarget assumed you meant "20 L" and then converted to US units. In other words, always use a valid unit suffix.

Controlling unit and scale

A new feature to Brewtarget v2.0 is the ability to control what units are used in the display and how they scale. In any field where it makes sense (volumes, weights, temperatures and gravities), you can right-click the associated label and be presented with the unit and scale menu.

Volumes will present you with the options "default", "SI", "US Customary" and "British Imperial"; weights will present you with the options "default", "SI" and "US Customary"; temperatures will present the options "default", "Celsius" and "Fahrenheit"; gravities will show "default", "Plato" and "Specific Gravity".

Selecting one of those options will cause that field to be displayed in the selected unit. So you can, for example, display Boil SG and OG in Plato, but FG in specific gravity.

You can also select the scale for any volume or weight field. You can use this to, for example, cause your target batch size to be displayed in quarts instead of gallons.

You can do the same thing in any of the ingredient tabs by right clicking on the column header. This will allow you to display your hops in grams, but keep your fermentables displayed in pounds.

Caveats with Auto-conversion

With US and Imperial units, people have a tendency to sometimes put a trailing "s" or a period at the end (hrs, hrs., etc.). Brewtarget only supports singular no-period units to be consistent with the metric system. This is a common error among users since the habit is so ingrained. The units supported, and the exact unit abbreviation you should use are given below.

Supported Units

US Customary and British Imperial Units

The abbreviations are the same as for US Customary and British Imperial units, but they denote the appropriate quantity in each system.

Unit Scale Abbreviation
Mass/Weight (BeerXML pretends they are the same)
Pounds lb
ounces oz
Volume
Gallons gal
Quarts qt
Cups cp
Tablespoon tbs
Teaspoon tsp
Temperature
Fahrenheit F

Metric Units

Unit Scale Abbreviation
Mass/Weight (BeerXML pretends they are the same)
Kilograms kg
Grams g
Milligrams mg
Volume
Liters L
Milliliters mL
Temperature
Celsius C
Kelvin K

Shared Units

Unit Scale Abbreviation
Time
Days day
Hours hr
Minutes min
Seconds s

New in this release

Brewtarget v2.0 has been long in the making, mostly because we have done a massive reworking of the internals.

SQLite DB

We have replaced the old XML files with a brand new SQLite database. We have spent a long time making this as transparent as possible. If we have done our jobs well, the only thing most users should notice is brewtarget seems to load faster and is a bit faster in other places.

We will be using this change to implement inventory, multi-level undo, automatic versioning of recipes, etc. We also hope to allow you to decide which database engine you want to use -- SQLite and mysql at least, postgresql likely.

Units and Scales

This has been a very requested feature that has taken us a long time to implement correctly. You can now override the default unit (e.g., US Customary) per field, and you can control the scale (so your hops are always displayed in grams, no matter how many kilos you are adding).

Tree Views

The trees continue to evolve. They are now split into their own separate tabs and can be sorted on the fields displayed. The next release will let you select which fields are displayed and hopefully allow you to define folders.

Default Equipment

You can select one piece of equipment as the default and any new recipe will have that automatically defined as the equipment. You can do this by opening the equipment profile and selecting the "Set as default" option in the upper left.

Hop Utilization

You can configure your hop utilization from the equipment screen. This may cause your recipes to show 0 IBU. If you are seeing this, set your hop utilization to 100 on your equipment.

brewtarget-2.0.2/doc/README0000644000175000017500000000010012266512166014640 0ustar philipphilipJust call "doxygen Doxyfile" to generate all the documentation. brewtarget-2.0.2/doc/brewtarget.10000644000175000017500000000233412266512166016223 0ustar philipphilip.\" Hey, EMACS: -*- nroff -*- .\" First parameter, NAME, should be all caps .\" Second parameter, SECTION, should be 1-8, maybe w/ subsection .\" other parameters are allowed: see man(7), man(1) .TH BREWTARGET 1 "March 27, 2010" .\" Please adjust this date whenever revising the manpage. .\" .\" Some roff macros, for reference: .\" .nh disable hyphenation .\" .hy enable hyphenation .\" .ad l left justify .\" .ad b justify to both left and right margins .\" .nf disable filling .\" .fi enable filling .\" .br insert line break .\" .sp insert n+1 empty lines .\" for manpage-specific macros, see man(7) .SH NAME brewtarget \- Helps you brew beer. .SH DESCRIPTION Brewtarget is a calculator for brewing beer. It is a Qt\-based program which allows you to create recipes from a database of ingredients. It calculates all the important parameters, helps you with mash temperatures, and just makes the process of recipe formulation much easier. It has no command line options. .SH AUTHOR Brewtarget was written by Philip G. Lee. .PP This manual page was written by Philip G. Lee , for the Debian project (and may be used by others). brewtarget-2.0.2/README.markdown0000644000175000017500000001002212266512166015720 0ustar philipphilip# Brewtarget Brewtarget is free open-source brewing software, and a beer recipe creation tool available for Linux, Mac, and Windows. It automatically calculates color, bitterness, and other parameters for you while you drag and drop ingredients into the recipe. Brewtarget also has many other tools such as priming sugar calculators, OG correction help, and a unique mash designing tool. It also can export and import recipes in BeerXML, allowing you to easily share recipes with friends who use BeerSmith or other programs. All of this means that Brewtarget is your single, free, go-to tool when crafting your beer recipes. ## Authors * Philip G. Lee - Lead developer * Mik Firestone * Dan Cavanagh * Rob Taylor * Kregg K * A.J. Drobnich * Ted Wright * Charles Fourneau (plut0nium) * Peter Buelow * Tim Payne * Luke Vincent * Eric Tamme * Julein * Jeff Bailey * Piotr Przybyla (przybysh) * Chris Hamilton * David Grundberg Author list created with: $ git log --raw | grep "^Author: " | sort | uniq -c | sort -nr ## Websites * [Main website](http://www.brewtarget.org) * [Google group](https://groups.google.com/forum/?fromgroups=#!forum/brewtarget-help) * [Source code repository](http://www.gitorious.org/brewtarget) * [Project development page](https://launchpad.net/brewtarget) * [Bug tracker](https://bugs.launchpad.net/brewtarget) * [Developers team](https://launchpad.net/~brewtarget-devs) ## Compiling and Installing ### Dependencies Most of these can be satisfied by installing qt and a compiler. * libc6 (>= 2.14) * libgcc1 (>= 1:4.1.1) * libphonon4 (>= 4:4.2.0) * libqt4-network (>= 4:4.5.3) * libqt4-sql (>= 4:4.5.3) * libqt4-svg (>= 4:4.5.3) * libqt4-xml (>= 4:4.5.3) * libqt4-xmlpatterns (>= 4:4.5.3) * libqtcore4 (>= 4:4.8.0) * libqtgui4 (>= 4:4.8.0) * libqtwebkit4 (>= 2.2~2011week36) * libstdc++6 (>= 4.4.0) * phonon * libqt4-sql-sqlite ### Build Dependencies * cmake (>= 2.8) * autotools-dev * libqt4-dev * qt4-qmake * libphonon-dev * libqtwebkit-dev * sqlite3 ### Compiling $ mkdir /tmp/brewtarget-build $ cd /tmp/brewtarget-build $ cmake /path/to/brewtarget $ make ### Installing Linux-like systems may simply do: $ sudo make install Systems that use .deb or .rpm packages may also create a package first: $ make package Then either $ sudo dpkg -i brewtarget*.deb or $ sudo rpm -i brewtarget*.rpm On Mac and Windows environments, the `package` target will create an installer that may be executed to finish the installation. ### Make targets * `make package` Makes .deb, .rpm, and .tar.bz2 binary packages. * `make package_source` Makes a .tar.bz2 source package. * `make source_doc` Makes html documentation of the source in doc/html. * `make translations` If the cmake option `UPDATE_TRANSLATIONS` is set, updates the `*.ts` files and creates .qm files. Otherwise, just creates .qm files from `*.ts` files. ### Cmake options These options are passed to `cmake` with the `-D` flag before compiling. For example: $ cmake /path/to/brewtarget -DCMAKE_INSTALL_PREFIX=/usr -DDO_RELEASE_BUILD=ON * `CMAKE_INSTALL_PREFIX` - `/usr/local` by default. Set this to `/usr` on Debian-based systems like Ubuntu. * `BUILD_DESIGNER_PLUGINS` - `OFF` by default. If set to `ON`, builds the Qt Designer plugins instead of brewtarget. * `DO_RELEASE_BUILD` - `OFF` by default. If `ON`, will do a release build. Otherwise, debug build. * `ENABLE_PROFILING` - `OFF` by default. If `ON`, builds with profiling compiler flags. * `NO_PHONON` - `OFF` by default. If `ON`, does not build any Phonon code. * `NO_MESSING_WITH_FLAGS` - `OFF` by default. `ON` means do not add any build flags whatsoever. May override other options. brewtarget-2.0.2/create_db.sql0000644000175000017500000004103512266512166015660 0ustar philipphilip-- NOTE: none of the BeerXML property names should EVER change. This is to -- ensure backwards compatability when rolling out ingredient updates to -- old versions. -- NOTE: deleted=1 means the ingredient is "deleted" and should not be shown in -- any list. -- deleted=0 means it isn't deleted and may or may not be shown. -- display=1 means the ingredient should be shown in a list, available to -- be put into a recipe. -- display=0 means the ingredient is in a recipe already and should not -- be shown in a list, available to be put into a recipe. BEGIN TRANSACTION; CREATE TABLE settings( id integer primary key, version varchar(256) ); INSERT INTO settings VALUES(1,'2.0.2'); create table equipment( id integer PRIMARY KEY autoincrement, -- BeerXML properties name varchar(256) not null DEFAULT '', boil_size real DEFAULT 0.0, batch_size real DEFAULT 0.0, tun_volume real DEFAULT 0.0, tun_weight real DEFAULT 0.0, tun_specific_heat real DEFAULT 0.0, top_up_water real DEFAULT 0.0, trub_chiller_loss real DEFAULT 0.0, evap_rate real DEFAULT 0.0, boil_time real DEFAULT 0.0, calc_boil_volume boolean DEFAULT 0, lauter_deadspace real DEFAULT 0.0, top_up_kettle real DEFAULT 0.0, hop_utilization real DEFAULT 100.0, notes text DEFAULT '', -- Out BeerXML extensions real_evap_rate real DEFAULT 0.0, boiling_point real DEFAULT 100.0, absorption real DEFAULT 1.085, -- Metadata deleted boolean DEFAULT 0, display boolean DEFAULT 1 ); create table fermentable( id integer PRIMARY KEY autoincrement, -- BeerXML properties name varchar(256) not null DEFAULT '', ftype varchar(32) DEFAULT 'Grain', amount real DEFAULT 0.0, yield real DEFAULT 0.0, color real DEFAULT 0.0, add_after_boil boolean DEFAULT 0, origin varchar(32) DEFAULT '', supplier varchar(256) DEFAULT '', notes text DEFAULT '', coarse_fine_diff real DEFAULT 0.0, moisture real DEFAULT 0.0, diastatic_power real DEFAULT 0.0, protein real DEFAULT 0.0, max_in_batch real DEFAULT 100.0, recommend_mash boolean DEFAULT 0, is_mashed boolean DEFAULT 0, ibu_gal_per_lb real DEFAULT 0.0, -- Display stuff display_unit integer DEFAULT -1, display_scale integer DEFAULT -1, -- meta data deleted boolean DEFAULT 0, display boolean DEFAULT 1 ); create table hop( id integer PRIMARY KEY autoincrement, -- BeerXML properties name varchar(256) not null DEFAULT '', alpha real DEFAULT 0.0, amount real DEFAULT 0.0, use varchar(32) DEFAULT 'Boil', time real DEFAULT 0.0, notes text DEFAULT '', htype varchar(32) DEFAULT 'Both', form varchar(32) DEFAULT 'Pellet', beta real DEFAULT 0.0, hsi real DEFAULT 0.0, origin varchar(32), substitutes text DEFAULT '', humulene real DEFAULT 0.0, caryophyllene real DEFAULT 0.0, cohumulone real DEFAULT 0.0, myrcene real DEFAULT 0.0, -- Display stuff display_unit integer DEFAULT -1, display_scale integer DEFAULT -1, -- meta data deleted boolean DEFAULT 0, display boolean DEFAULT 1 ); create table misc( id integer PRIMARY KEY autoincrement, -- BeerXML properties name varchar(256) not null DEFAULT '', mtype varchar(32) DEFAULT 'Other', use varchar(32) DEFAULT 'Boil', time real DEFAULT 0.0, amount real DEFAULT 0.0, amount_is_weight boolean DEFAULT 1, use_for text DEFAULT '', notes text DEFAULT '', -- Display stuff. -- Be careful: this will change meaning based on amount_is_weight display_unit integer DEFAULT -1, display_scale integer DEFAULT -1, -- meta data deleted boolean DEFAULT 0, display boolean DEFAULT 1 ); create table style( id integer PRIMARY KEY autoincrement, -- BeerXML properties name varchar(256) not null DEFAULT '', s_type varchar(64) DEFAULT 'Ale', category varchar(256) DEFAULT '', category_number varchar(16) DEFAULT '', style_letter varchar(1) DEFAULT '', style_guide varchar(1024) DEFAULT '', og_min real DEFAULT 1.0, og_max real DEFAULT 1.100, fg_min real DEFAULT 1.0, fg_max real DEFAULT 1.100, ibu_min real DEFAULT 0.0, ibu_max real DEFAULT 100.0, color_min real DEFAULT 0.0, color_max real DEFAULT 100.0, abv_min real DEFAULT 0.0, abv_max real DEFAULT 100.0, carb_min real DEFAULT 0.0, carb_max real DEFAULT 100.0, notes text DEFAULT '', profile text DEFAULT '', ingredients text DEFAULT '', examples text DEFAULT '', -- meta data deleted boolean DEFAULT 0, display boolean DEFAULT 1 ); create table yeast( id integer PRIMARY KEY autoincrement, -- BeerXML properties name varchar(256) not null DEFAULT '', ytype varchar(32) DEFAULT 'Ale', form varchar(32) DEFAULT 'Liquid', amount real DEFAULT 0.0, amount_is_weight boolean DEFAULT 0, laboratory varchar(32) DEFAULT '', product_id varchar(32) DEFAULT '', min_temperature real DEFAULT 0.0, max_temperature real DEFAULT 32.0, flocculation varchar(32) DEFAULT 'Medium', attenuation real DEFAULT 75.0, notes text DEFAULT '', best_for varchar(256) DEFAULT '', times_cultured integer DEFAULT 0, max_reuse integer DEFAULT 10, add_to_secondary boolean DEFAULT 0, -- Display stuff -- Be careful: this will change meaning based on amount_is_weight display_unit integer DEFAULT -1, display_scale integer DEFAULT -1, -- meta data deleted boolean DEFAULT 0, display boolean DEFAULT 1 ); create table water( id integer PRIMARY KEY autoincrement, -- BeerXML properties name varchar(256) not null DEFAULT '', amount real DEFAULT 0.0, calcium real DEFAULT 0.0, bicarbonate real DEFAULT 0.0, sulfate real DEFAULT 0.0, chloride real DEFAULT 0.0, sodium real DEFAULT 0.0, magnesium real DEFAULT 0.0, ph real DEFAULT 7.0, notes text DEFAULT '', -- metadata deleted boolean DEFAULT 0, display boolean DEFAULT 1 ); -- The following bt_* tables simply point to ingredients provided by brewtarget. -- This is to make updating and pushing new ingredients easy. -- NOTE: they MUST be named bt_, where
is the table name that -- they refer to, and they MUST contain fields 'id' and '
_id'. create table bt_equipment( id integer PRIMARY KEY autoincrement, equipment_id integer, foreign key(equipment_id) references equipment(id) ); create table bt_fermentable( id integer PRIMARY KEY autoincrement, fermentable_id integer, foreign key(fermentable_id) references fermentable(id) ); create table bt_hop( id integer PRIMARY KEY autoincrement, hop_id integer, foreign key(hop_id) references hop(id) ); create table bt_misc( id integer PRIMARY KEY autoincrement, misc_id integer, foreign key(misc_id) references misc(id) ); create table bt_style( id integer PRIMARY KEY autoincrement, style_id integer, foreign key(style_id) references style(id) ); create table bt_yeast( id integer PRIMARY KEY autoincrement, yeast_id integer, foreign key(yeast_id) references yeast(id) ); create table bt_water( id integer PRIMARY KEY autoincrement, water_id integer, foreign key(water_id) references water(id) ); create table mash( id integer PRIMARY KEY autoincrement, -- BeerXML properties name varchar(256) DEFAULT '', grain_temp real DEFAULT 20.0, notes text DEFAULT '', tun_temp real DEFAULT 20.0, sparge_temp real DEFAULT 74.0, ph real DEFAULT 7.0, tun_weight real DEFAULT 0.0, tun_specific_heat real DEFAULT 0.0, equip_adjust boolean DEFAULT 1, -- Metadata deleted boolean DEFAULT 0, -- Mashes default to be undisplayed until they are named display boolean DEFAULT 0 ); create table mashstep( id integer PRIMARY KEY autoincrement, -- BeerXML properties name varchar(256) not null DEFAULT '', mstype varchar(32) DEFAULT 'Infusion', infuse_amount real DEFAULT 0.0, step_temp real DEFAULT 67.0, step_time real DEFAULT 0.0, ramp_time real DEFAULT 0.0, end_temp real DEFAULT 67.0, infuse_temp real DEFAULT 67.0, decoction_amount real DEFAULT 0.0, -- Display stuff -- we have three display fields in this table. I don't like my solution, -- but really don't want to deal with another table and lookup display_unit integer DEFAULT -1, display_scale integer DEFAULT -1, display_temp_unit integer DEFAULT -1, -- Meta data deleted boolean DEFAULT 0, display boolean DEFAULT 1, -- Our step number is unique within our parent mash. mash_id integer, step_number integer DEFAULT 0, foreign key(mash_id) references mash(id) -- This is not necessary since we manage these internally in Brewtarget. -- unique( mash_id, step_number ) ); -- Completely new non-BeerXML type. create table brewnote( id integer PRIMARY KEY autoincrement, brewDate datetime DEFAULT CURRENT_DATETIME, fermentDate datetime DEFAULT CURRENT_DATETIME, sg real DEFAULT 1.0, volume_into_bk real DEFAULT 0.0, strike_temp real DEFAULT 70.0, mash_final_temp real DEFAULT 67.0, og real DEFAULT 1.0, post_boil_volume real DEFAULT 0.0, volume_into_fermenter real DEFAULT 0.0, pitch_temp real DEFAULT 20.0, fg real DEFAULT 1.0, eff_into_bk real DEFAULT 70.0, abv real DEFAULT 0.0, predicted_og real DEFAULT 1.0, brewhouse_eff real DEFAULT 70.0, predicted_abv real DEFAULT 0.0, projected_boil_grav real DEFAULT 1.0, projected_strike_temp real DEFAULT 70.0, projected_fin_temp real DEFAULT 67.0, projected_mash_fin_temp real DEFAULT 67.0, projected_vol_into_bk real DEFAULT 0.0, projected_og real DEFAULT 1.0, projected_vol_into_ferm real DEFAULT 0.0, projected_fg real DEFAULT 1.0, projected_eff real DEFAULT 70.0, projected_abv real DEFAULT 0.0, projected_atten real DEFAULT 75.0, projected_points real DEFAULT 0.0, projected_ferm_points real DEFAULT 0.0, boil_off real DEFAULT 0.0, final_volume real DEFAULT 0.0, notes text DEFAULT '', deleted boolean DEFAULT 0, display boolean DEFAULT 1, recipe_id integer, foreign key(recipe_id) references recipe(id) ); -- Completely new non-BeerXML type. create table instruction( id integer PRIMARY KEY autoincrement, name varchar(256) not null DEFAULT '', directions text DEFAULT '', hasTimer boolean DEFAULT 0, timerValue varchar(16) DEFAULT '00:00:00', completed boolean DEFAULT 0, interval real DEFAULT 0.0, deleted boolean DEFAULT 0, display boolean DEFAULT 1 ); create table recipe( id integer PRIMARY KEY autoincrement, -- BeerXML properties name varchar(256) not null DEFAULT '', type varchar(32) DEFAULT 'All Grain', brewer varchar(1024) DEFAULT '', assistant_brewer varchar(1024) DEFAULT 'Brewtarget: free beer software', batch_size real DEFAULT 0.0, boil_size real DEFAULT 0.0, boil_time real DEFAULT 0.0, efficiency real DEFAULT 70.0, og real DEFAULT 1.0, fg real DEFAULT 1.0, fermentation_stages int DEFAULT 1, primary_age real DEFAULT 0.0, primary_temp real DEFAULT 20.0, secondary_age real DEFAULT 0.0, secondary_temp real DEFAULT 20.0, tertiary_age real DEFAULT 0.0, tertiary_temp real DEFAULT 20.0, age real DEFAULT 0.0, age_temp real DEFAULT 20.0, date date DEFAULT CURRENT_DATE, carb_volume real DEFAULT 0.0, forced_carb boolean DEFAULT 0, priming_sugar_name varchar(128) DEFAULT '', carbonationTemp_c real DEFAULT 20.0, priming_sugar_equiv real DEFAULT 1.0, keg_priming_factor real DEFAULT 1.0, notes text DEFAULT '', taste_notes text DEFAULT '', taste_rating real DEFAULT 0.0, -- Metadata deleted boolean DEFAULT 0, display boolean DEFAULT 1, -- Relational members style_id integer, mash_id integer, equipment_id integer, foreign key(style_id) references style(id), foreign key(mash_id) references mash(id), foreign key(equipment_id) references equipment(id) ); create table fermentable_in_recipe( id integer primary key autoincrement, fermentable_id integer, recipe_id integer, foreign key(fermentable_id) references fermentable(id), foreign key(recipe_id) references recipe(id) ); create table hop_in_recipe( id integer PRIMARY KEY autoincrement, hop_id integer, recipe_id integer, foreign key(hop_id) references hop(id), foreign key(recipe_id) references recipe(id) ); create table misc_in_recipe( id integer PRIMARY KEY autoincrement, misc_id integer, recipe_id integer, foreign key(misc_id) references misc(id), foreign key(recipe_id) references recipe(id) ); create table water_in_recipe( id integer PRIMARY KEY autoincrement, water_id integer, recipe_id integer, foreign key(water_id) references water(id), foreign key(recipe_id) references recipe(id) ); create table yeast_in_recipe( id integer PRIMARY KEY autoincrement, yeast_id integer, recipe_id integer, foreign key(yeast_id) references yeast(id), foreign key(recipe_id) references recipe(id) ); create table instruction_in_recipe( id integer PRIMARY KEY autoincrement, instruction_id integer, recipe_id integer, -- instruction_number is the order of the instruction in the recipe. instruction_number integer DEFAULT 0, foreign key(instruction_id) references instruction(id), foreign key(recipe_id) references recipe(id) ); -- This trigger automatically makes a new instruction in a recipe the last. CREATE TRIGGER inc_ins_num AFTER INSERT ON instruction_in_recipe BEGIN UPDATE instruction_in_recipe SET instruction_number = (SELECT max(instruction_number) FROM instruction_in_recipe WHERE recipe_id = new.recipe_id) + 1 WHERE rowid = new.rowid; END; -- This trigger automatically decrements all instruction numbers greater than the one -- deleted in the given recipe. CREATE TRIGGER dec_ins_num AFTER DELETE ON instruction_in_recipe BEGIN UPDATE instruction_in_recipe SET instruction_number = instruction_number - 1 WHERE recipe_id = old.recipe_id AND instruction_id > old.instruction_id; END; -- Ingredient inheritance tables create table equipment_children( id integer PRIMARY KEY autoincrement, parent_id integer, child_id integer, foreign key(parent_id) references equipment(id), foreign key(child_id) references equipment(id) ); create table fermentable_children( id integer PRIMARY KEY autoincrement, parent_id integer, child_id integer, foreign key(parent_id) references fermentable(id), foreign key(child_id) references fermentable(id) ); create table hop_children( id integer PRIMARY KEY autoincrement, parent_id integer, child_id integer, foreign key(parent_id) references hop(id), foreign key(child_id) references hop(id) ); create table misc_children( id integer PRIMARY KEY autoincrement, parent_id integer, child_id integer, foreign key(parent_id) references misc(id), foreign key(child_id) references misc(id) ); create table recipe_children( id integer PRIMARY KEY autoincrement, parent_id integer, child_id integer, foreign key(parent_id) references recipe(id), foreign key(child_id) references recipe(id) ); create table style_children( id integer PRIMARY KEY autoincrement, parent_id integer, child_id integer, foreign key(parent_id) references style(id), foreign key(child_id) references style(id) ); create table water_children( id integer PRIMARY KEY autoincrement, parent_id integer, child_id integer, foreign key(parent_id) references water(id), foreign key(child_id) references water(id) ); create table yeast_children( id integer PRIMARY KEY autoincrement, parent_id integer, child_id integer, foreign key(parent_id) references yeast(id), foreign key(child_id) references yeast(id) ); -- Inventory tables for the future. create table fermentable_in_inventory( id integer PRIMARY KEY autoincrement, fermentable_id integer, amount real DEFAULT 0.0, foreign key(fermentable_id) references fermentable(id) ); create table hop_in_inventory( id integer PRIMARY KEY autoincrement, hop_id integer, amount real DEFAULT 0.0, foreign key(hop_id) references hop(id) ); create table misc_in_inventory( id integer PRIMARY KEY autoincrement, misc_id integer, amount real DEFAULT 0.0, foreign key(misc_id) references misc(id) ); -- For yeast, homebrewers don't usually keep stores of yeast. They keep -- packets or vials or some other type of discrete integer quantity. So, I -- don't know how useful a real-valued inventory amount would be for yeast. create table yeast_in_inventory( id integer PRIMARY KEY autoincrement, yeast_id integer, --amount real DEFAULT 0.0, quanta integer DEFAULT 0, foreign key(yeast_id) references yeast(id) ); COMMIT; brewtarget-2.0.2/brewtarget.desktop.in0000644000175000017500000000035512266512166017375 0ustar philipphilip[Desktop Entry] Categories=Qt;KDE;Education;Utility;Engineering; Exec=brewtarget Name=Brewtarget GenericName=Beer calculator X-KDE-StartupNotify=true Icon=${brewtarget_ICONS_LOCATION}/brewtarget_icon.svg Terminal=false Type=Application brewtarget-2.0.2/data/0000755000175000017500000000000012266512167014136 5ustar philipphilipbrewtarget-2.0.2/data/database.xml0000644000175000017500000231111212266512166016424 0ustar philipphilip 2 gal batch - brew-in-a-bag 6 gal aluminum kettle/tun 1 1.06465e+01 7.57082e+00 2.27125e+01 1.36078e+00 2.15000e-01 0.00000e+00 9.46353e-01 2.50000e+01 2.12929e+00 6.00000e+01 TRUE 0.00000e+00 0.00000e+00 0.00000e+00 1.08490e+00 1.00000e+02 5 gal batch - Ideal 1 2.17662e+01 1.89271e+01 3.02833e+01 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 1.50000e+01 2.83906e+00 6.00000e+01 TRUE 0.00000e+00 0.00000e+00 0.00000e+00 This is a setup with no losses and no mass. Use this equipment only as a first iteration when designing recipes. It will give slightly wrong results if used in practice. 1.08490e+00 1.00000e+02 5 gal extract - full boil 1 2.08198e+01 1.89271e+01 2.27125e+01 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 1.89271e+00 6.00000e+01 TRUE 0.00000e+00 2.08198e+01 0.00000e+00 1.08500e+00 1.00000e+02 5 gal extract - half boil 1 1.13563e+01 1.89271e+01 1.51416e+01 0.00000e+00 0.00000e+00 9.46353e+00 0.00000e+00 0.00000e+00 1.89271e+00 6.00000e+01 TRUE 0.00000e+00 1.13562e+01 0.00000e+00 1.08500e+00 1.00000e+02 7.5 gal Kettle with 10 gal Igloo cooler 1 2.42040e+01 2.08198e+01 3.78541e+01 4.98952e+00 3.59000e-01 0.00000e+00 2.27125e-01 1.50000e+01 3.15704e+00 6.00000e+01 TRUE 2.27125e-01 0.00000e+00 0.00000e+00 1.08490e+00 1.00000e+02 8 gal pot with 5 gal Igloo cooler 1 2.16692e+01 1.89300e+01 1.89300e+01 2.49476e+00 3.00000e-01 0.00000e+00 9.50000e-01 9.00000e+00 1.78920e+00 6.00000e+01 TRUE 9.50000e-01 0.00000e+00 1.00000e+02 Popular all grain setup. 5 Gallon Gott or Igloo cooler as mash tun with false bottom, and 7-9 gallon brewpot capable of boiling at least 6 gallons of wort. Primarily used for single infusion mashes. 1.08490e+00 1.00000e+02 Acid Malt 1 Grain 0.00000e+00 5.87000e+01 3.00000e+00 FALSE Germany 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 1.00000e+01 TRUE TRUE 0.00000e+00 Amber Malt 1 Grain 0.00000e+00 7.50000e+01 2.20000e+01 FALSE United Kingdom 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 2.00000e+01 TRUE TRUE 0.00000e+00 Aromatic Malt 1 Grain 0.00000e+00 7.80000e+01 2.60000e+01 FALSE Belgium Used at rates of up to 10%, Aromatic malt will lend a distinct, almost exaggerated malt aroma and flavor to the finished Ales and Lagers. Aromatic malt also has a rich color and is high in diastatic power for aid in starch conversion. D/C Aromatic malt. As the name suggests, adds aromatics to a beer. 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 1.00000e+01 TRUE TRUE 0.00000e+00 Barley Hulls 1 Adjunct 0.00000e+00 0.00000e+00 0.00000e+00 FALSE US 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 5.00000e+00 FALSE FALSE 0.00000e+00 Barley, Flaked 1 Grain 0.00000e+00 7.00000e+01 2.00000e+00 FALSE US Adds proteins to promote hean retention and mouth feel. Commonly used Dry Stouts. 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 2.00000e+01 TRUE TRUE 0.00000e+00 Barley, Raw 1 Grain 0.00000e+00 6.09000e+01 2.00000e+00 FALSE US 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 1.50000e+01 TRUE TRUE 0.00000e+00 Barley, Torrefied 1 Grain 0.00000e+00 7.90000e+01 2.00000e+00 FALSE US 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 4.00000e+01 TRUE TRUE 0.00000e+00 Biscuit Malt 1 Grain 0.00000e+00 7.90000e+01 2.30000e+01 FALSE Belgium Biscuit is a unique malt thats lightly roasted, lending the subtle properties of black and chocolate malts. Used at the rate of 3 to 15 %, it is designed to improve the bread and biscuits, or toasted flavor and aroma characteristics to Lagers and Ales. 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 1.00000e+01 FALSE FALSE 0.00000e+00 Black (Patent) Malt 1 Grain 0.00000e+00 5.50000e+01 5.00000e+02 FALSE US The darkest of all malts, use sparingly to add deep color and roast-charcoal flavor. Use no more than 1 to 3%. Best used in trace amounts only, for color. Almost any contribution that Black Patent gives to beer can be obtained from using another malt with less harsh flavor impacts. 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 1.00000e+01 FALSE FALSE 0.00000e+00 Black Barley (Roast Barley) 1 Grain 0.00000e+00 5.50000e+01 5.00000e+02 FALSE US Use 10 to 12% to impart a distinct, roasted flavor to Stouts. Other dark beers also benefit from smaller quantities (2 - 6%). 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 1.00000e+01 FALSE FALSE 0.00000e+00 Briess - 2 Row Brewers Malt 1 Grain 0.00000e+00 8.05000e+01 2.00000e+00 FALSE US 1.00000e+00 4.00000e+00 1.40000e+02 1.20000e+01 1.00000e+02 TRUE TRUE 0.00000e+00 Briess - 2 Row Carapils Malt 1 Grain 0.00000e+00 7.30000e+01 1.50000e+00 FALSE US 1.00000e+00 6.50000e+00 0.00000e+00 1.30000e+01 5.00000e+00 TRUE FALSE 0.00000e+00 Briess - 6 Row Brewers Malt 1 Grain 0.00000e+00 7.80000e+01 1.80000e+00 FALSE US 1.00000e+00 4.50000e+00 1.60000e+02 1.60000e+01 1.00000e+02 TRUE TRUE 0.00000e+00 Briess - Aromatic Malt 1 Grain 0.00000e+00 7.70000e+01 2.00000e+01 FALSE US 1.00000e+00 2.50000e+00 1.50000e+01 1.17000e+01 5.00000e+01 TRUE TRUE 0.00000e+00 Briess - Ashburne Mild Malt 1 Grain 0.00000e+00 7.90000e+01 5.30000e+00 FALSE US 1.00000e+00 3.50000e+00 6.50000e+01 1.17000e+01 5.00000e+01 TRUE TRUE 0.00000e+00 Briess - Black Barley 1 Grain 0.00000e+00 7.00000e+01 5.00000e+02 FALSE US 1.00000e+00 6.00000e+00 0.00000e+00 1.30000e+01 7.00000e+00 TRUE FALSE 0.00000e+00 Briess - Black Malt 1 Grain 0.00000e+00 7.00000e+01 5.00000e+02 FALSE US 1.00000e+00 6.00000e+00 0.00000e+00 1.30000e+01 1.00000e+01 TRUE FALSE 0.00000e+00 Briess - Black Malted Barley Flour 1 Grain 0.00000e+00 7.00000e+01 5.00000e+02 FALSE US 1.00000e+00 6.00000e+00 0.00000e+00 1.30000e+01 1.00000e+01 TRUE FALSE 0.00000e+00 Briess - Blackprinz Malt 1 Grain 0.00000e+00 7.80000e+01 5.00000e+02 FALSE US 1.00000e+00 6.00000e+00 0.00000e+00 1.30000e+01 1.00000e+01 TRUE FALSE 0.00000e+00 Briess - Bonlander Munich Malt 1 Grain 0.00000e+00 7.80000e+01 1.00000e+01 FALSE US 1.00000e+00 3.30000e+00 4.00000e+01 1.17000e+01 5.00000e+01 TRUE TRUE 0.00000e+00 Briess - Carabrown Malt 1 Grain 0.00000e+00 7.90000e+01 5.50000e+01 FALSE US 1.00000e+00 2.20000e+00 0.00000e+00 1.30000e+01 2.50000e+01 TRUE FALSE 0.00000e+00 Briess - Caracrystal Wheat Malt 1 Grain 0.00000e+00 7.80000e+01 4.50000e+01 FALSE US 1.00000e+00 4.00000e+00 0.00000e+00 1.30000e+01 2.50000e+01 TRUE FALSE 0.00000e+00 Briess - Carapils Malt 1 Grain 0.00000e+00 7.30000e+01 1.30000e+00 FALSE US 1.00000e+00 6.50000e+00 0.00000e+00 1.30000e+01 5.00000e+00 TRUE TRUE 0.00000e+00 Briess - Chocolate Malt 1 Grain 0.00000e+00 7.30000e+01 3.50000e+02 FALSE US 1.00000e+00 6.00000e+00 0.00000e+00 1.30000e+01 1.00000e+01 TRUE FALSE 0.00000e+00 Briess - Dark Chocolate Malt 1 Grain 0.00000e+00 7.20000e+01 4.20000e+02 FALSE US 1.00000e+00 5.50000e+00 0.00000e+00 1.30000e+01 1.00000e+01 TRUE FALSE 0.00000e+00 Briess - Extra Special Malt 1 Grain 0.00000e+00 7.30000e+01 1.30000e+02 FALSE US 1.00000e+00 3.50000e+00 0.00000e+00 1.30000e+01 1.50000e+01 TRUE FALSE 0.00000e+00 Briess - Midnight Wheat Malt 1 Grain 0.00000e+00 7.20000e+01 5.50000e+02 FALSE US 1.00000e+00 6.50000e+00 0.00000e+00 1.30000e+01 1.00000e+01 TRUE FALSE 0.00000e+00 Briess - Munich Malt 10L 1 Grain 0.00000e+00 7.60000e+01 1.00000e+01 FALSE US 1.00000e+00 3.30000e+00 3.00000e+01 1.30000e+01 5.00000e+01 TRUE TRUE 0.00000e+00 Briess - Munich Malt 20L 1 Grain 0.00000e+00 7.40000e+01 2.00000e+01 FALSE US 1.00000e+00 3.00000e+00 2.00000e+01 1.30000e+01 5.00000e+01 TRUE TRUE 0.00000e+00 Briess - Pale Ale Malt 1 Grain 0.00000e+00 8.00000e+01 3.50000e+00 FALSE US 1.00000e+00 4.00000e+00 8.50000e+01 1.17000e+01 1.00000e+02 TRUE TRUE 0.00000e+00 Briess - Pilsen Malt 1 Grain 0.00000e+00 8.05000e+01 1.00000e+00 FALSE US 2.00000e+00 4.50000e+00 1.30000e+02 1.13000e+01 1.00000e+02 TRUE TRUE 0.00000e+00 Briess - Roasted Barley 1 Grain 0.00000e+00 7.20000e+01 3.00000e+02 FALSE US 1.00000e+00 5.00000e+00 0.00000e+00 1.30000e+01 7.00000e+00 TRUE FALSE 0.00000e+00 Briess - Rye Malt 1 Grain 0.00000e+00 7.60000e+01 3.70000e+00 FALSE US 1.00000e+00 4.00000e+00 1.05000e+02 1.25000e+01 3.50000e+01 TRUE TRUE 0.00000e+00 Briess - Smoked Malt 1 Grain 0.00000e+00 8.05000e+01 5.00000e+00 FALSE US 1.00000e+00 6.00000e+00 1.40000e+02 1.20000e+01 6.00000e+01 TRUE TRUE 0.00000e+00 Briess - Special Roast Malt 1 Grain 0.00000e+00 7.20000e+01 5.00000e+01 FALSE US 1.00000e+00 2.50000e+00 0.00000e+00 1.30000e+01 5.00000e+01 TRUE FALSE 0.00000e+00 Briess - Victory Malt 1 Grain 0.00000e+00 7.30000e+01 1.00000e+01 FALSE US 1.00000e+00 2.50000e+00 0.00000e+00 1.30000e+01 2.50000e+01 TRUE TRUE 0.00000e+00 Briess - Vienna Malt 1 Grain 0.00000e+00 7.75000e+01 3.50000e+00 FALSE US 1.00000e+00 3.80000e+00 1.30000e+02 1.30000e+01 9.00000e+01 TRUE TRUE 0.00000e+00 Briess - Wheat Malt, Red 1 Grain 0.00000e+00 8.30000e+01 2.60000e+00 FALSE US 1.00000e+00 5.00000e+00 2.00000e+02 1.30000e+01 4.00000e+01 TRUE TRUE 0.00000e+00 Briess - Wheat Malt, White 1 Grain 0.00000e+00 8.60000e+01 2.60000e+00 FALSE US 6.00000e-01 5.00000e+00 1.90000e+02 1.15000e+01 4.00000e+01 TRUE TRUE 0.00000e+00 Briess DME - Bavarian Wheat 1 Dry Extract 0.00000e+00 9.50000e+01 3.00000e+00 FALSE US 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 1.00000e+02 FALSE FALSE 0.00000e+00 Briess DME - Golden Light 1 Dry Extract 0.00000e+00 9.50000e+01 4.00000e+00 FALSE US 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 1.00000e+02 FALSE FALSE 0.00000e+00 Briess DME - Maltoferm A-6001 (Black Malt Extract) 1 Dry Extract 0.00000e+00 9.50000e+01 5.00000e+02 FALSE US 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 1.00000e+02 FALSE FALSE 0.00000e+00 Briess DME - Pilsen Light 1 Dry Extract 0.00000e+00 9.50000e+01 2.00000e+00 FALSE US 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 1.00000e+02 FALSE FALSE 0.00000e+00 Briess DME - Sparkling Amber 1 Dry Extract 0.00000e+00 9.50000e+01 1.00000e+01 FALSE US 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 1.00000e+02 FALSE FALSE 0.00000e+00 Briess DME - Traditional Dark 1 Dry Extract 0.00000e+00 9.50000e+01 3.00000e+01 FALSE US 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 1.00000e+02 FALSE FALSE 0.00000e+00 Briess LME - Golden Light 1 Extract 0.00000e+00 7.80000e+01 4.00000e+00 FALSE US 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 1.00000e+02 FALSE FALSE 0.00000e+00 Briess LME - Maltoferm A-6000 (Black Malt Extract) 1 Extract 0.00000e+00 7.80000e+01 5.00000e+02 FALSE US 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 1.00000e+02 FALSE FALSE 0.00000e+00 Briess LME - Munich 1 Extract 0.00000e+00 7.80000e+01 8.00000e+00 FALSE US 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 1.00000e+02 FALSE FALSE 0.00000e+00 Briess LME - Pilsen Light 1 Extract 0.00000e+00 7.80000e+01 2.00000e+00 FALSE US 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 1.00000e+02 FALSE FALSE 0.00000e+00 Briess LME - Sparkling Amber 1 Extract 0.00000e+00 7.80000e+01 1.00000e+01 FALSE US 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 1.00000e+02 FALSE FALSE 0.00000e+00 Briess LME - Sweet Brown Rice Syrup 1 Extract 0.00000e+00 7.50000e+01 2.00000e+00 FALSE US Gluten free 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 1.00000e+02 FALSE FALSE 0.00000e+00 Briess LME - Traditional Dark 1 Extract 0.00000e+00 7.80000e+01 3.00000e+01 FALSE US 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 1.00000e+02 FALSE FALSE 0.00000e+00 Briess LME - White Sorghum Syrup 1 Extract 0.00000e+00 7.50000e+01 3.00000e+00 FALSE US Gluten free 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 1.00000e+02 FALSE FALSE 0.00000e+00 Brown Malt (British Chocolate) 1 Grain 0.00000e+00 7.00000e+01 6.50000e+01 FALSE United Kingdom Ideal for British Porters and Brown or Mild Ales and even Stouts. It's a little darker than domestic Chocolate malt yet it has a slightly smoother character in the roast flavor and aroma profiles. 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 1.00000e+01 TRUE FALSE 0.00000e+00 Brown Sugar, Dark 1 Sugar 0.00000e+00 1.00000e+02 5.00000e+01 FALSE US 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 1.00000e+01 FALSE FALSE 0.00000e+00 Brown Sugar, Light 1 Sugar 0.00000e+00 1.00000e+02 8.00000e+00 FALSE US 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 1.00000e+01 FALSE FALSE 0.00000e+00 Brumalt 1 Grain 0.00000e+00 7.17000e+01 2.30000e+01 FALSE Germany Dark German malt developed to add malt flavor of Alt, Marzen and Oktoberfest beers. Helps create authentic maltiness without having to do a decoction mash. Rarely available for homebrewers. 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 1.00000e+01 TRUE TRUE 0.00000e+00 Candi Sugar, Amber 1 Sugar 0.00000e+00 7.83000e+01 7.50000e+01 FALSE Belgium 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 2.00000e+01 FALSE FALSE 0.00000e+00 Candi Sugar, Clear 1 Sugar 0.00000e+00 7.83000e+01 1.00000e+00 FALSE Belgium 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 2.00000e+01 FALSE FALSE 0.00000e+00 Candi Sugar, Dark 1 Sugar 0.00000e+00 7.83000e+01 2.75000e+02 FALSE Belgium 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 2.00000e+01 FALSE FALSE 0.00000e+00 Cane (Beet) Sugar 1 Sugar 0.00000e+00 1.00000e+02 0.00000e+00 FALSE US 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 7.00000e+00 FALSE FALSE 0.00000e+00 Cara-Pils/Dextrine 1 Grain 0.00000e+00 7.20000e+01 2.00000e+00 FALSE US Dextrins lend body, mouth feel and palate fullness to beers, as well as foam stability. Carapils must be mashed with pale malt, due to its lack of enzymes. Use 5 to 20% for these properties without adding color. 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 2.00000e+01 FALSE FALSE 0.00000e+00 Caraamber 1 Grain 0.00000e+00 7.50000e+01 3.00000e+01 FALSE US 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 2.00000e+01 FALSE FALSE 0.00000e+00 Carafa 1 Grain 0.00000e+00 7.00000e+01 3.37000e+02 FALSE Germany 1.50000e+00 4.00000e+00 0.00000e+00 1.17000e+01 5.00000e+00 FALSE FALSE 0.00000e+00 Carafa II 1 Grain 0.00000e+00 7.00000e+01 4.12000e+02 FALSE Germany 1.50000e+00 4.00000e+00 0.00000e+00 1.17000e+01 5.00000e+00 FALSE FALSE 0.00000e+00 Carafa III 1 Grain 0.00000e+00 7.00000e+01 5.25000e+02 FALSE Germany 1.50000e+00 4.00000e+00 0.00000e+00 1.17000e+01 5.00000e+00 FALSE FALSE 0.00000e+00 Carafoam 1 Grain 0.00000e+00 7.20000e+01 2.00000e+00 FALSE US 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 2.00000e+01 FALSE FALSE 0.00000e+00 Caramel/Crystal Malt - 10L 1 Grain 0.00000e+00 7.50000e+01 1.00000e+01 FALSE US This Light Crystal malt will lend body and mouth feel with a minimum of color, much like Carapils, but with a light caramel sweetness. 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 2.00000e+01 FALSE FALSE 0.00000e+00 Caramel/Crystal Malt - 120L 1 Grain 0.00000e+00 7.20000e+01 1.20000e+02 FALSE US Dark Crystal will lend a complex sharp caramel flavor and aroma to beers. Used in smaller quantities this malt will add color and slight sweetness to beers, while heavier concentrations are well suited to strong beers. 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 2.00000e+01 FALSE FALSE 0.00000e+00 Caramel/Crystal Malt - 20L 1 Grain 0.00000e+00 7.50000e+01 2.00000e+01 FALSE US This Crystal malt will provide a golden color and a sweet, mild caramel flavor. 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 2.00000e+01 FALSE FALSE 0.00000e+00 Caramel/Crystal Malt - 30L 1 Grain 0.00000e+00 7.50000e+01 3.00000e+01 FALSE US 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 2.00000e+01 FALSE FALSE 0.00000e+00 Caramel/Crystal Malt - 40L 1 Grain 0.00000e+00 7.40000e+01 4.00000e+01 FALSE US This Pale Crystal malt will lend a balance of medium caramel color, flavor, and body. 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 2.00000e+01 FALSE FALSE 0.00000e+00 Caramel/Crystal Malt - 60L 1 Grain 0.00000e+00 7.40000e+01 6.00000e+01 FALSE US This Medium Crystal malt will lend a well rounded caramel flavor, color and sweetness. This Crystal malt is a good choice if you're not sure which variety to use. 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 2.00000e+01 FALSE FALSE 0.00000e+00 Caramel/Crystal Malt - 80L 1 Grain 0.00000e+00 7.40000e+01 8.00000e+01 FALSE US This Crystal malt will lend a well a pronounced caramel flavor, color and sweetness. 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 2.00000e+01 FALSE FALSE 0.00000e+00 Caramunich Malt 1 Grain 0.00000e+00 7.17000e+01 5.60000e+01 FALSE Belgium Use Caramunich for a deeper color, caramelized sugars and contribute a rich malt aroma. 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 1.00000e+01 FALSE FALSE 0.00000e+00 Carared 1 Grain 0.00000e+00 7.50000e+01 2.00000e+01 FALSE US 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 2.00000e+01 FALSE FALSE 0.00000e+00 Caravienne Malt 1 Grain 0.00000e+00 7.39000e+01 2.20000e+01 FALSE Belgium Impart a rich, caramel-sweet aroma and promotes a fuller flavor. Excellent all purpose caramel malt that can be used in high percentages (up to 15%) without leaving the beer too caramel/sweet. 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 1.00000e+01 FALSE FALSE 0.00000e+00 Carawheat (GR) 1 Grain 0.00000e+00 6.80000e+01 4.00000e+01 FALSE 0.00000e+00 6.50000e+00 0.00000e+00 0.00000e+00 0.00000e+00 FALSE FALSE 0.00000e+00 Chocolate Malt (UK) 1 Grain 0.00000e+00 7.30000e+01 4.50000e+02 FALSE United Kingdom Ideal for British Porters and Brown or Mild Ales and even Stouts. It's a little darker than US Chocolate malt yet it has a slightly smoother character in the roast flavor and aroma profiles. 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 1.00000e+01 FALSE FALSE 0.00000e+00 Chocolate Malt (US) 1 Grain 0.00000e+00 6.00000e+01 3.50000e+02 FALSE US Being the least roasted of the black malts, Chocolate malt will add a dark color and pleasant roast flavor. Small quantities lend a nutty flavor and deep, ruby red color while higher amounts lend a black color and smooth, roasted flavor. Use 3 to 12%. 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 1.00000e+01 FALSE FALSE 0.00000e+00 Coopers LME - Amber 1 Extract 0.00000e+00 7.80000e+01 1.64000e+01 FALSE US 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 1.00000e+02 FALSE FALSE 0.00000e+00 Coopers LME - Dark 1 Extract 0.00000e+00 7.80000e+01 6.59000e+01 FALSE US 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 1.00000e+02 FALSE FALSE 0.00000e+00 Coopers LME - Light 1 Extract 0.00000e+00 7.80000e+01 3.40000e+00 FALSE US 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 1.00000e+02 FALSE FALSE 0.00000e+00 Coopers LME - Wheat 1 Extract 0.00000e+00 7.80000e+01 4.50000e+00 FALSE US 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 1.00000e+02 FALSE FALSE 0.00000e+00 Corn Sugar (Dextrose) 1 Sugar 0.00000e+00 1.00000e+02 0.00000e+00 FALSE US 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 5.00000e+00 FALSE FALSE 0.00000e+00 Corn Syrup 1 Sugar 0.00000e+00 7.83000e+01 1.00000e+00 FALSE US 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 1.00000e+01 FALSE FALSE 0.00000e+00 Corn, Flaked 1 Grain 0.00000e+00 8.00000e+01 1.00000e+00 FALSE US The most common adjunct in American Lagers and Cream ales. Lightens both color and body. 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 4.00000e+01 TRUE TRUE 0.00000e+00 Dark Liquid Extract 1 Extract 0.00000e+00 7.80000e+01 1.80000e+01 FALSE US 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 1.00000e+02 FALSE FALSE 0.00000e+00 Dememera Sugar 1 Sugar 0.00000e+00 1.00000e+02 2.00000e+00 FALSE United Kingdom 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 1.00000e+01 FALSE FALSE 0.00000e+00 Dry Extract (DME) - Amber 1 Dry Extract 0.00000e+00 9.50000e+01 1.30000e+01 FALSE US 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 1.00000e+02 FALSE FALSE 0.00000e+00 Dry Extract (DME) - Dark 1 Dry Extract 0.00000e+00 9.50000e+01 1.80000e+01 FALSE US 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 1.00000e+02 FALSE FALSE 0.00000e+00 Dry Extract (DME) - Extra Light 1 Dry Extract 0.00000e+00 9.50000e+01 3.00000e+00 FALSE US 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 1.00000e+02 FALSE FALSE 0.00000e+00 Dry Extract (DME) - Light 1 Dry Extract 0.00000e+00 9.50000e+01 8.00000e+00 FALSE US 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 1.00000e+02 FALSE FALSE 0.00000e+00 Dry Extract (DME) - Wheat 1 Dry Extract 0.00000e+00 9.50000e+01 8.00000e+00 FALSE US 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 1.00000e+02 FALSE FALSE 0.00000e+00 Grits 1 Adjunct 0.00000e+00 8.00000e+01 1.00000e+00 FALSE US 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 1.00000e+01 FALSE FALSE 0.00000e+00 Honey 1 Extract 0.00000e+00 7.50000e+01 1.00000e+00 FALSE US 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 1.00000e+02 FALSE FALSE 0.00000e+00 Honey Malt 1 Grain 0.00000e+00 8.00000e+01 2.50000e+01 FALSE Canada This Canadian malt imparts a honey-like flavor. It also also sometimes called Brumalt. Intensely sweet - adds a sweet malty flavor sometimes associated with honey. 2.00000e+00 3.80000e+00 0.00000e+00 1.05000e+01 1.00000e+01 TRUE FALSE 0.00000e+00 Invert Sugar 1 Sugar 0.00000e+00 1.00000e+02 0.00000e+00 FALSE United Kingdom Sucrose (table sugar) that has been inverted with heat and acid to form a mixture of fructose and glucose. 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 1.00000e+01 FALSE FALSE 0.00000e+00 Liquid Extract (LME) - Amber 1 Extract 0.00000e+00 7.80000e+01 1.30000e+01 FALSE US 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 1.00000e+02 FALSE FALSE 0.00000e+00 Liquid Extract (LME) - Pale 1 Extract 0.00000e+00 7.80000e+01 8.00000e+00 FALSE US 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 1.00000e+02 FALSE FALSE 0.00000e+00 Liquid Extract (LME) - Pilsner 1 Extract 0.00000e+00 7.80000e+01 4.00000e+00 FALSE US 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 1.00000e+02 FALSE FALSE 0.00000e+00 Liquid Extract (LME) - Wheat 1 Extract 0.00000e+00 7.80000e+01 8.00000e+00 FALSE US 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 1.00000e+02 FALSE FALSE 0.00000e+00 Maple Syrup 1 Sugar 0.00000e+00 6.52000e+01 3.50000e+01 FALSE US 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 1.00000e+01 FALSE FALSE 0.00000e+00 Melanoiden Malt 1 Grain 0.00000e+00 8.00000e+01 2.00000e+01 FALSE Germany 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 1.50000e+01 TRUE TRUE 0.00000e+00 Mild Malt 1 Grain 0.00000e+00 8.00000e+01 4.00000e+00 FALSE United Kingdom 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 1.00000e+02 TRUE TRUE 0.00000e+00 Milk Sugar (Lactose) 1 Sugar 0.00000e+00 7.61000e+01 0.00000e+00 FALSE US 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 1.00000e+01 FALSE FALSE 0.00000e+00 Molasses 1 Sugar 0.00000e+00 7.83000e+01 8.00000e+01 FALSE US 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 5.00000e+00 FALSE FALSE 0.00000e+00 Munich Malt 1 Grain 0.00000e+00 8.00000e+01 9.00000e+00 FALSE Germany Although kilned, Munich still retains sufficient enzymes for 100% of the grain bill, or it can be used at a percentage of the total malt content for its full, malty flavor and aroma. 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 1.00000e+02 TRUE TRUE 0.00000e+00 Munich Malt - 10L 1 Grain 0.00000e+00 7.70000e+01 1.00000e+01 FALSE US Although kilned, Munich still retains sufficient enzymes for 100% of the grain bill, or it can be used at a percentage of the total malt content for its full, malty flavor and aroma. 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 1.00000e+02 TRUE TRUE 0.00000e+00 Munich Malt - 20L 1 Grain 0.00000e+00 7.50000e+01 2.00000e+01 FALSE US A little darker than German Munich malt and adds a deeper color and fuller malt profile. Great for Dark and amber lagers, blend Munich with German Pils or Domestic 2 Row at the rate of 10 to 60% of the total grain bill. 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 8.00000e+01 TRUE TRUE 0.00000e+00 Muntons DME - Amber 1 Dry Extract 0.00000e+00 9.50000e+01 1.30000e+01 FALSE US 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 1.00000e+02 FALSE FALSE 0.00000e+00 Muntons DME - Dark 1 Dry Extract 0.00000e+00 9.50000e+01 2.20000e+01 FALSE US 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 1.00000e+02 FALSE FALSE 0.00000e+00 Muntons DME - Extra Dark 1 Dry Extract 0.00000e+00 9.50000e+01 3.80000e+01 FALSE US 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 1.00000e+02 FALSE FALSE 0.00000e+00 Muntons DME - Extra Light 1 Dry Extract 0.00000e+00 9.50000e+01 3.00000e+00 FALSE US 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 1.00000e+02 FALSE FALSE 0.00000e+00 Muntons DME - Light 1 Dry Extract 0.00000e+00 9.50000e+01 4.00000e+00 FALSE US 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 1.00000e+02 FALSE FALSE 0.00000e+00 Muntons DME - Wheat 1 Dry Extract 0.00000e+00 9.50000e+01 4.00000e+00 FALSE US 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 1.00000e+02 FALSE FALSE 0.00000e+00 Muntons LME - Amber 1 Extract 0.00000e+00 7.80000e+01 7.00000e+00 FALSE US 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 1.00000e+02 FALSE FALSE 0.00000e+00 Muntons LME - Dark 1 Extract 0.00000e+00 7.80000e+01 2.10000e+00 FALSE US 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 1.00000e+02 FALSE FALSE 0.00000e+00 Muntons LME - Extra Light 1 Extract 0.00000e+00 7.80000e+01 2.80000e+00 FALSE US 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 1.00000e+02 FALSE FALSE 0.00000e+00 Muntons LME - Light 1 Extract 0.00000e+00 7.80000e+01 4.00000e+00 FALSE US 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 1.00000e+02 FALSE FALSE 0.00000e+00 Muntons LME - Wheat 1 Extract 0.00000e+00 7.80000e+01 4.00000e+00 FALSE US 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 1.00000e+02 FALSE FALSE 0.00000e+00 Oats, Flaked 1 Grain 0.00000e+00 8.00000e+01 1.00000e+00 FALSE US Oats will improve mouth feel and add a creamy head. Commonly used in Oatmeal Stout. 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 3.00000e+01 TRUE TRUE 0.00000e+00 Oats, Malted 1 Grain 0.00000e+00 8.00000e+01 1.00000e+00 FALSE US Use to make wheat and weizen beers at 40-60% for wheat and 35-65% for Bavarian weizens. Small amounts at about 3-6 % aid in head retention to any beer without altering final flavor. Use with a highly modified malt to insure diastatic enzymes. Protein rest highly recommended due to very high protein content. 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 1.00000e+01 TRUE TRUE 0.00000e+00 Pale Malt (2 Row) Bel 1 Grain 0.00000e+00 8.00000e+01 3.00000e+00 FALSE Belgium 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 1.00000e+02 TRUE TRUE 0.00000e+00 Pale Malt (2 Row) UK 1 Grain 0.00000e+00 7.80000e+01 3.00000e+00 FALSE United Kingdom Fully modified British malt, easily converted by a single temperature mash. Preferred by many brewers for authentic English ales. This malt has undergone higher kilning than Domestic 2 Row and is lower in diastatic power so keep adjuncts at a lower percentage. 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 1.00000e+02 TRUE TRUE 0.00000e+00 Pale Malt (2 Row) US 1 Grain 0.00000e+00 7.90000e+01 2.00000e+00 FALSE US A variety of malt that forms two seed rows along the stem on the grain head. Well modified with a high diastatic power allows mashing with up to 35% grain adjuncts. Because it is fairly neutral 2-Row makes an excellent base malt and is known as the "workhorse" of many recipes. Greater starch per weight ratio than 6-Row. Protein rest recommended to avoid chill-haze. Also know as Klages. 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 1.00000e+02 TRUE TRUE 0.00000e+00 Pale Malt (6 Row) US 1 Grain 0.00000e+00 7.60000e+01 2.00000e+00 FALSE US This malt variety forms six distinct seed rows on the grain head. Very high diastatic power allows mashing with up to 60% grain adjuncts, great if added diastatic strength is needed in a recipe. 6-Row also has greater husks per weight ratio than 2-Row. Protein rest recommended to avoid chill-haze. 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 1.00000e+02 TRUE TRUE 0.00000e+00 Peat Smoked Malt 1 Grain 0.00000e+00 7.40000e+01 3.00000e+00 FALSE United Kingdom Smoked over peat moss for a soft sweet, earty smoked character. Imparts a soft peaty smoke flavor for strong Scottish ales. 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 2.00000e+01 TRUE TRUE 0.00000e+00 Pilsner (2 Row) Bel 1 Grain 0.00000e+00 7.90000e+01 2.00000e+00 FALSE Belgium This is an excellent base malt for many styles, including full flavored Lagers, Belgian Ales and Belgian Wheat beers. 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 1.00000e+02 TRUE TRUE 0.00000e+00 Pilsner (2 Row) Ger 1 Grain 0.00000e+00 8.10000e+01 2.00000e+00 FALSE Germany 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 1.00000e+02 TRUE TRUE 0.00000e+00 Pilsner (2 Row) UK 1 Grain 0.00000e+00 7.80000e+01 1.00000e+00 FALSE United Kingdom 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 1.00000e+02 TRUE TRUE 0.00000e+00 Rahr - 2 Row Malt 1 Grain 0.00000e+00 8.00000e+01 2.00000e+00 FALSE US 1.00000e+00 4.00000e+00 1.20000e+02 1.15000e+01 1.00000e+02 TRUE TRUE 0.00000e+00 Rahr - 6 Row Malt 1 Grain 0.00000e+00 7.90000e+01 2.50000e+01 FALSE US 1.00000e+00 4.20000e+00 1.40000e+02 1.50000e+01 1.00000e+02 TRUE TRUE 0.00000e+00 Rahr - Pale Ale Malt 1 Grain 0.00000e+00 7.90000e+01 4.00000e+01 FALSE US 1.00000e+00 4.50000e+00 1.20000e+02 1.20000e+01 1.00000e+02 TRUE TRUE 0.00000e+00 Rahr - Premium Pilsner Malt 1 Grain 0.00000e+00 8.00000e+01 2.00000e+00 FALSE US 1.00000e+00 4.00000e+00 1.20000e+02 1.10000e+01 1.00000e+02 TRUE TRUE 0.00000e+00 Rahr - Red Wheat Malt 1 Grain 0.00000e+00 8.50000e+01 4.50000e+01 FALSE US 1.00000e+00 4.50000e+00 0.00000e+00 1.20000e+01 5.00000e+01 TRUE TRUE 0.00000e+00 Rahr - White Wheat Malt 1 Grain 0.00000e+00 8.50000e+01 4.50000e+01 FALSE US 1.00000e+00 4.50000e+00 0.00000e+00 1.20000e+01 5.00000e+01 TRUE TRUE 0.00000e+00 Rauch Malt (Germany) 1 Grain 0.00000e+00 0.00000e+00 2.00000e+00 FALSE Germany German malt is smoked over a beechwood fire for a drier, sharper, obvious more wood-smoked flavor. Imparts a distinct smoked character for German Rauch beers. 0.00000e+00 5.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 FALSE FALSE 0.00000e+00 Rice Extract Syrup 1 Extract 0.00000e+00 6.96000e+01 7.00000e+00 FALSE US 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 1.50000e+01 FALSE FALSE 0.00000e+00 Rice Hulls 1 Adjunct 0.00000e+00 0.00000e+00 0.00000e+00 FALSE US 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 5.00000e+00 FALSE FALSE 0.00000e+00 Rice, Flaked 1 Grain 0.00000e+00 7.00000e+01 1.00000e+00 FALSE US Another popular adjunct in American Lagers. Lightens both color and body. 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 2.50000e+01 TRUE TRUE 0.00000e+00 Roasted Barley 1 Grain 0.00000e+00 5.50000e+01 3.00000e+02 FALSE US Use 10 to 12% to impart a distinct, roasted flavor to Stouts. Other dark beers also benefit from smaller quantities (2 - 6%). 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 1.00000e+01 FALSE FALSE 0.00000e+00 Rye Malt 1 Grain 0.00000e+00 6.30000e+01 5.00000e+00 FALSE US Imparts a distinct sharp flavor. 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 1.50000e+01 TRUE TRUE 0.00000e+00 Rye, Flaked 1 Grain 0.00000e+00 7.83000e+01 2.00000e+00 FALSE US Imparts a distinct sharp flavor. 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 1.00000e+01 TRUE TRUE 0.00000e+00 Simpsons - Aromatic Malt 1 Grain 0.00000e+00 8.25000e+01 2.50000e+01 FALSE UK 1.00000e+00 5.00000e+00 0.00000e+00 1.20000e+01 5.00000e+00 TRUE TRUE 0.00000e+00 Simpsons - Black Malt 1 Grain 0.00000e+00 7.00000e+01 5.50000e+02 FALSE UK 1.00000e+00 3.00000e+00 0.00000e+00 1.20000e+01 1.00000e+01 TRUE FALSE 0.00000e+00 Simpsons - Caramalt 1 Grain 0.00000e+00 7.60000e+01 3.50000e+01 FALSE UK 1.00000e+00 5.00000e+00 0.00000e+00 1.20000e+01 2.00000e+01 TRUE FALSE 0.00000e+00 Simpsons - Caramalt Light 1 Grain 0.00000e+00 7.60000e+01 1.30000e+01 FALSE UK 1.00000e+00 6.90000e+00 0.00000e+00 1.20000e+01 3.00000e+01 TRUE FALSE 0.00000e+00 Simpsons - Chocolate Malt 1 Grain 0.00000e+00 7.30000e+01 4.00000e+02 FALSE UK 1.00000e+00 1.90000e+00 0.00000e+00 1.20000e+01 2.00000e+01 TRUE FALSE 0.00000e+00 Simpsons - Coffee Malt 1 Grain 0.00000e+00 7.40000e+01 1.50000e+02 FALSE UK 1.00000e+00 3.50000e+00 0.00000e+00 1.20000e+01 2.00000e+01 TRUE FALSE 0.00000e+00 Simpsons - Crystal Dark 1 Grain 0.00000e+00 7.40000e+01 8.00000e+01 FALSE UK 1.00000e+00 5.30000e+00 0.00000e+00 1.20000e+01 1.00000e+01 TRUE FALSE 0.00000e+00 Simpsons - Crystal Extra Dark 1 Grain 0.00000e+00 7.40000e+01 1.60000e+02 FALSE UK 1.00000e+00 5.00000e+00 0.00000e+00 1.20000e+01 1.00000e+01 TRUE FALSE 0.00000e+00 Simpsons - Crystal Medium 1 Grain 0.00000e+00 7.40000e+01 5.50000e+01 FALSE UK 1.00000e+00 4.70000e+00 0.00000e+00 1.20000e+01 2.00000e+01 TRUE FALSE 0.00000e+00 Simpsons - Crystal Rye 1 Grain 0.00000e+00 7.30000e+01 9.00000e+01 FALSE UK 1.00000e+00 3.10000e+00 0.00000e+00 1.20000e+01 5.00000e+00 TRUE FALSE 0.00000e+00 Simpsons - Golden Naked Oats 1 Grain 0.00000e+00 7.30000e+01 1.00000e+01 FALSE UK 1.00000e+00 4.50000e+00 0.00000e+00 1.20000e+01 1.50000e+01 TRUE TRUE 0.00000e+00 Simpsons - Golden Promise 1 Grain 0.00000e+00 8.10000e+01 2.00000e+00 FALSE UK 1.00000e+00 3.50000e+00 1.20000e+02 1.20000e+01 1.00000e+02 TRUE TRUE 0.00000e+00 Simpsons - Maris Otter 1 Grain 0.00000e+00 8.10000e+01 3.00000e+00 FALSE UK 1.00000e+00 3.00000e+00 1.20000e+02 1.00000e+01 1.00000e+02 TRUE TRUE 0.00000e+00 Simpsons - Peated Malt 1 Grain 0.00000e+00 8.10000e+01 2.50000e+00 FALSE UK Phenol level 12-24 1.00000e+00 4.60000e+00 1.20000e+02 1.20000e+01 1.00000e+01 TRUE TRUE 0.00000e+00 Simpsons - Roasted Barley 1 Grain 0.00000e+00 7.00000e+01 5.50000e+02 FALSE UK 1.00000e+00 1.90000e+00 0.00000e+00 1.20000e+01 1.00000e+01 TRUE FALSE 0.00000e+00 Smoked Malt 1 Grain 0.00000e+00 8.00000e+01 9.00000e+00 FALSE Germany 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 1.00000e+02 TRUE TRUE 0.00000e+00 Special B Malt 1 Grain 0.00000e+00 6.52000e+01 1.60000e+02 FALSE Belgium Special B refers to a type of dark, flavorful crystal malt traditionally malted in Belgium. In small amounts, it gives a unique flavor to the finished beer that is often compared to raisins or dried fruit. This malt is always dark, but the color and flavor vary more than most other malt styles; most of the commonly available varieties are in the 110-160 L range, but it may be even darker. Don't depend on this software to calculate the color of your beer correctly, since it may be expecting a much darker malt than you are actually using; some older sources assume Special B will be over 200 or even up to 300 L. While some sources still claim that Special B must be mashed, it is a crystal malt and can be steeped with an extract batch without adding significant protein to the beer. 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 1.00000e+01 TRUE TRUE 0.00000e+00 Special Roast 1 Grain 0.00000e+00 7.20000e+01 5.00000e+01 FALSE US Briess Special Roast Malt is a specially processed malt from the American maltster, Briess. It is kilned using 6 row barley and it appears to be Victory Malt turned up a notch. Flavor: Toasty, Strong Biscuit, Sour Dough, Tangy. Any non-straw colored beer where roasty, toasty flavors are acceptable is a good candidate for this malt. Porters and Nut Brown Ales could take a good helping of this malt, and smaller amounts (less than 8 ounces) would work in Viennas, Märzens, and Alt beers. 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 1.00000e+01 TRUE TRUE 0.00000e+00 Sugar, Table (Sucrose) 1 Sugar 0.00000e+00 1.00000e+02 1.00000e+00 FALSE US 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 1.00000e+01 FALSE FALSE 0.00000e+00 Toasted Malt 1 Grain 0.00000e+00 7.17000e+01 2.70000e+01 FALSE United Kingdom Adds reddish hue without sweetness associated with caramelized malts. 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 1.00000e+01 TRUE TRUE 0.00000e+00 Turbinado 1 Sugar 0.00000e+00 9.57000e+01 1.00000e+01 FALSE United Kingdom 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 1.00000e+01 FALSE FALSE 0.00000e+00 Victory Malt 1 Grain 0.00000e+00 7.30000e+01 2.50000e+01 FALSE US Imparts a toasty/nutty/biscuit/bread flavor, and adds head retention. Use in nut browns and other darker beers. 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 1.50000e+01 TRUE TRUE 0.00000e+00 Vienna Malt 1 Grain 0.00000e+00 7.80000e+01 4.00000e+00 FALSE Germany Vienna Malt is a kiln-dried barley malt darker than pale ale malt, but not as dark as Munich Malt. It imparts a golden to orange color and a distinctive toast or biscuit malt aroma to the beer. Vienna malt traditionally makes up up to 100% of the grist of Vienna Lager and the bulk of the related Märzen style. Other beer styles sometimes use Vienna malt to add malty complexity and light toasty notes to lighter base malts, or to lighten the grist of a beer brewed with mostly Munich malt. Examples include Baltic Porter, Dunkelweizen, and most styles of Bock. 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 9.00000e+01 TRUE TRUE 0.00000e+00 Weyermann - Acidulated Malt 1 Grain 0.00000e+00 8.00000e+01 3.20000e+00 FALSE Germany 1.00000e+00 7.00000e+00 1.20000e+02 1.20000e+01 1.00000e+01 TRUE TRUE 0.00000e+00 Weyermann - Bohemian Pilsner Malt 1 Grain 0.00000e+00 8.10000e+01 2.10000e+00 FALSE Germany 1.00000e+00 5.00000e+00 1.20000e+02 1.08000e+01 1.00000e+02 TRUE TRUE 0.00000e+00 Weyermann - Carafa I 1 Grain 0.00000e+00 7.00000e+01 3.50000e+02 FALSE Germany 1.00000e+00 3.50000e+00 0.00000e+00 1.20000e+01 5.00000e+00 TRUE FALSE 0.00000e+00 Weyermann - Carafa II 1 Grain 0.00000e+00 7.00000e+01 4.25000e+02 FALSE Germany 1.00000e+00 3.50000e+00 0.00000e+00 1.20000e+01 5.00000e+00 TRUE FALSE 0.00000e+00 Weyermann - Carafa III 1 Grain 0.00000e+00 7.00000e+01 5.20000e+02 FALSE Germany 1.00000e+00 3.50000e+00 0.00000e+00 1.20000e+01 5.00000e+00 TRUE FALSE 0.00000e+00 Weyermann - Carafoam 1 Grain 0.00000e+00 8.10000e+01 2.40000e+00 FALSE Germany 1.00000e+00 6.50000e+00 0.00000e+00 1.20000e+01 4.00000e+01 TRUE FALSE 0.00000e+00 Weyermann - Carawheat 1 Grain 0.00000e+00 7.70000e+01 4.90000e+01 FALSE Germany 1.00000e+00 4.00000e+00 0.00000e+00 1.20000e+01 1.50000e+01 TRUE FALSE 0.00000e+00 Weyermann - Chocolate Rye 1 Grain 0.00000e+00 2.00000e+01 2.50000e+02 FALSE Germany 1.00000e+00 4.00000e+00 0.00000e+00 1.20000e+01 5.00000e+00 TRUE FALSE 0.00000e+00 Weyermann - Chocolate Wheat 1 Grain 0.00000e+00 7.40000e+01 4.00000e+02 FALSE Germany 1.00000e+00 4.50000e+00 0.00000e+00 1.20000e+01 5.00000e+00 TRUE FALSE 0.00000e+00 Weyermann - Dark Wheat Malt 1 Grain 0.00000e+00 8.50000e+01 7.30000e+00 FALSE Germany 1.00000e+00 5.00000e+00 6.00000e+01 1.20000e+01 5.00000e+01 TRUE TRUE 0.00000e+00 Weyermann - Dehusked Carafa I 1 Grain 0.00000e+00 7.00000e+01 3.50000e+02 FALSE Germany 1.00000e+00 3.50000e+00 0.00000e+00 1.20000e+01 5.00000e+00 TRUE FALSE 0.00000e+00 Weyermann - Dehusked Carafa II 1 Grain 0.00000e+00 7.00000e+01 4.25000e+02 FALSE Germany 1.00000e+00 3.50000e+00 0.00000e+00 1.20000e+01 5.00000e+00 TRUE FALSE 0.00000e+00 Weyermann - Dehusked Carafa III 1 Grain 0.00000e+00 7.00000e+01 5.20000e+02 FALSE Germany 1.00000e+00 3.50000e+00 0.00000e+00 1.20000e+01 5.00000e+00 TRUE FALSE 0.00000e+00 Weyermann - Light Munich Malt 1 Grain 0.00000e+00 8.20000e+01 6.90000e+00 FALSE Germany 1.00000e+00 4.50000e+00 6.00000e+01 1.20000e+01 1.00000e+02 TRUE TRUE 0.00000e+00 Weyermann - Melanoiden Malt 1 Grain 0.00000e+00 8.10000e+01 2.70000e+01 FALSE Germany 1.00000e+00 4.50000e+00 0.00000e+00 1.20000e+01 2.00000e+01 TRUE TRUE 0.00000e+00 Weyermann - Pale Ale Malt 1 Grain 0.00000e+00 8.50000e+01 3.40000e+00 FALSE Germany 1.00000e+00 5.00000e+00 1.20000e+02 1.20000e+01 1.00000e+02 TRUE TRUE 0.00000e+00 Weyermann - Pale Wheat Malt 1 Grain 0.00000e+00 8.50000e+01 2.40000e+00 FALSE Germany 1.00000e+00 5.00000e+00 6.00000e+01 1.20000e+01 8.00000e+01 TRUE TRUE 0.00000e+00 Weyermann - Pilsner Malt 1 Grain 0.00000e+00 8.10000e+01 2.40000e+00 FALSE Germany 1.00000e+00 5.00000e+00 1.20000e+02 1.10000e+01 1.00000e+02 TRUE TRUE 0.00000e+00 Weyermann - Rye Malt 1 Grain 0.00000e+00 8.50000e+01 3.60000e+00 FALSE Germany 1.00000e+00 5.00000e+00 1.20000e+02 1.10000e+01 5.00000e+01 TRUE TRUE 0.00000e+00 Weyermann - Smoked Malt 1 Grain 0.00000e+00 8.10000e+01 2.80000e+00 FALSE Germany 1.00000e+00 5.00000e+00 1.20000e+02 1.15000e+01 1.00000e+02 TRUE TRUE 0.00000e+00 Weyermann - Vienna Malt 1 Grain 0.00000e+00 8.10000e+01 3.90000e+00 FALSE Germany 1.00000e+00 5.00000e+00 6.00000e+01 1.20000e+01 1.00000e+02 TRUE TRUE 0.00000e+00 Wheat Malt, Bel 1 Grain 0.00000e+00 8.10000e+01 2.00000e+00 FALSE Belgium Use in wheat beers. 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 6.00000e+01 TRUE TRUE 0.00000e+00 Wheat Malt, Dark 1 Grain 0.00000e+00 8.40000e+01 9.00000e+00 FALSE Germany Use in wheat beers. 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 2.00000e+01 TRUE TRUE 0.00000e+00 Wheat Malt, Ger 1 Grain 0.00000e+00 8.40000e+01 2.00000e+00 FALSE Germany Use in wheat beers. 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 6.00000e+01 TRUE TRUE 0.00000e+00 Wheat, Flaked 1 Grain 0.00000e+00 7.70000e+01 2.00000e+00 FALSE US Flaked wheat is not malted, therefore requires extra effort to extract it's potential sugar content, which will be lower than malted wheat. Flaked wheat is traditional in Belgian witbier and lambics, it contains more starch and higher levels of protein than malted wheat. It adds more mouthfeel than malted wheat and has a different taste, which is noticeable when used in larger quantities. If the grain bill consists of more than 25% flaked wheat you should consider a cereal mash, or precooking the wheat in order to gelatinize it so you can extract more sugars out of it. The addion of 6-row can aid conversion since the barley contains a higher percentage of enzymes than 2-row. 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 4.00000e+01 TRUE TRUE 0.00000e+00 Wheat, Roasted 1 Grain 0.00000e+00 5.43000e+01 4.25000e+02 FALSE Germany 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 1.00000e+01 TRUE TRUE 0.00000e+00 Wheat, Torrified 1 Grain 0.00000e+00 7.90000e+01 2.00000e+00 FALSE US Torrified wheat is unmalted wheat that has been heated very quickly to get the kernel to puff up, kind of like popcorn. Torrified wheat adds a different flavor to the beer and the grain is gelatinized so you don't have to cook it. 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 4.00000e+01 TRUE TRUE 0.00000e+00 White Wheat Malt 1 Grain 0.00000e+00 8.60000e+01 2.00000e+00 FALSE US 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 6.00000e+01 TRUE TRUE 0.00000e+00 Agnus 1 1.40000e+01 0.00000e+00 Boil High alpha variety with relatively large beta content, this hop is descended from Sladek. Comparable to Magnum, Taurus, Columbus, Target. Bittering
Pellet 7.50000e+00 5.00000e+01 Czech Republic Magnum, Taurus, Columbus, Target 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00
Ahtanum 1 9.50000e+00 0.00000e+00 Boil Distinctive aroma like Cascade. Aroma
Pellet 5.75000e+00 5.25000e+01 US Amarillo, Cascade 1.80000e+01 1.05000e+01 3.25000e+01 5.25000e+01
Amarillo 1 9.50000e+00 0.00000e+00 Boil A recent aroma variety, this citrusy American hop is also used for its smooth bittering properties due to its low cohumulone levels. Both
Pellet 6.50000e+00 0.00000e+00 US Cascade, Centennial 1.00000e+01 3.00000e+00 2.25000e+01 6.90000e+01
Apollo 1 1.70000e+01 0.00000e+00 Boil Clean bittering and stores great. When used for aroma, lends strong grapefruit and hoppy notes. Both
Pellet 7.00000e+00 8.50000e+01 US Nugget, Columbus/Tomahawk/Zeus 2.75000e+01 1.70000e+01 2.60000e+01 4.00000e+01
Bor 1 8.00000e+00 0.00000e+00 Boil This hop is now primarily being substituted with Premiant, which is more stable with respect to alpha content and yield. Both
Pellet 5.00000e+00 5.00000e+01 Czech Republic Premiant 3.00000e+01 0.00000e+00 2.35000e+01 4.50000e+01
Bramling 1 6.00000e+00 0.00000e+00 Boil Distinctive and pleasant aroma. Fruity, black currant, and lemon notes. Both
Pellet 2.80000e+00 0.00000e+00 England 3.10000e+01 1.60000e+01 3.40000e+01 3.60000e+01
Bravo 1 1.55000e+01 0.00000e+00 Boil Bittering hop with fruity and floral aroma. Both
Pellet 3.50000e+00 7.00000e+01 US Columbus/Tomahawk/Zeus 1.90000e+01 1.10000e+01 3.15000e+01 3.75000e+01
Brewers Gold 1 7.60000e+00 0.00000e+00 Boil Complex bittering hop w/ sharp bittering quality. Imparts fruity/spicy aroma with black currant notes. Adds a distinctive European element to beers. Good with Tettnang and Hallertau. Both
Pellet 0.00000e+00 7.00000e+01 US Bullion, Chinook, Galena 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00
Bullion 1 7.75000e+00 0.00000e+00 Boil Intense, black currant aroma, spicy and pungent. Both
Pellet 5.50000e+00 5.00000e+01 England Northern Brewer, Galena 2.65000e+01 1.00000e+01 3.75000e+01 5.00000e+01
Cascade 1 6.00000e+00 0.00000e+00 Boil Pleasant, floral, spicy, and citrus-like. Both
Pellet 6.00000e+00 0.00000e+00 US Amarillo, Centennial 1.05000e+01 4.50000e+00 3.65000e+01 4.75000e+01
Centennial 1 1.05000e+01 0.00000e+00 Boil Medium with floral and citrus tones. Bittering
Pellet 4.00000e+00 0.00000e+00 US Cascade 1.10000e+01 5.00000e+00 2.90000e+01 5.80000e+01
Challenger 1 7.00000e+00 0.00000e+00 Boil Mild to Moderate but quite spicy. Typically used for aroma. Both
Pellet 4.25000e+00 7.75000e+01 England Northern Brewer, Perle 2.85000e+01 9.00000e+00 2.25000e+01 3.60000e+01
Chelan 1 1.30000e+01 0.00000e+00 Boil Bittering hop with a lot of beta acid. Bittering
Pellet 9.15000e+00 8.00000e+01 US Galena 1.35000e+01 1.05000e+01 3.40000e+01 5.00000e+01
Chinook 1 1.30000e+01 0.00000e+00 Boil Medium strength, spicy, piney aroma. Used in IPAs, stouts, porters, pale ales, and lagers for bittering. Both
Pellet 3.50000e+00 6.80000e+01 US Columbus, Nugget 2.05000e+01 1.00000e+01 3.20000e+01 3.75000e+01
Citra 1 1.20000e+01 0.00000e+00 Boil Released in 2007 as a dual-purpose variety, this hop does well as a bittering hop due to low cohumulone content, and high alpha acids. When used for aroma, it lends tropical fruit and citrus characteristics. Both
Pellet 4.00000e+00 0.00000e+00 US Probably none, but a citrusy hop can make an approximation. 1.20000e+01 7.00000e+00 2.30000e+01 6.25000e+01
Cluster 1 7.75000e+00 0.00000e+00 Boil Dual-purpose with floral aroma. Both
Pellet 5.00000e+00 8.40000e+01 US Galena, Chinook 1.65000e+01 6.50000e+00 4.00000e+01 5.00000e+01
Columbus/Tomahawk/Zeus 1 1.55000e+01 0.00000e+00 Boil Super high alpha varieties. Bittering
Pellet 4.50000e+00 5.20000e+01 US Galena, Chinook 3.00000e+01 1.00000e+01 3.00000e+01 4.50000e+01
Crystal 1 4.50000e+00 0.00000e+00 Boil Mild, spicy, floral aroma. Developed from Hallertau, with some Cascade and such. Aroma
Pellet 5.50000e+00 5.00000e+01 Liberty, Mount Hood, Hallertau, Hersbrucker 2.10000e+01 6.00000e+00 2.30000e+01 5.25000e+01
El Dorado 1 1.50000e+01 0.00000e+00 Boil Emerged in 2011. Described as having a watermelon candy, pear, and passion fruit flavor. Both
Pellet 7.50000e+00 5.00000e+01 1.30000e+01 7.00000e+00 2.90000e+01 5.70000e+01
First Gold 1 7.50000e+00 0.00000e+00 Boil First commercial dwarf hop designed for aroma consideration in England. Both
Pellet 3.50000e+00 7.00000e+01 England Kent Goldings, Crystal 2.20000e+01 6.50000e+00 3.30000e+01 2.70000e+01
Fuggles 1 4.50000e+00 0.00000e+00 Boil Mild and pleasant, spicy, soft, woody. Both
Pellet 2.50000e+00 7.00000e+01 England Willamette, East Kent Goldings, Styrian Goldings, Tettnang 3.45000e+01 1.15000e+01 2.75000e+01 2.60000e+01
Galena 1 1.20000e+01 0.00000e+00 Boil Balanced bittering and nice aroma. Used with English and American ales. Both
Pellet 8.00000e+00 7.90000e+01 US Nugget, Cluster, Chinook 1.15000e+01 5.00000e+00 3.80000e+01 5.75000e+01
Glacier 1 5.50000e+00 0.00000e+00 Boil Dual-purpose, well balanced with pleasant aroma, this is used in stouts, porters, bitters, ESBs, and English-style pale ales. Both
Pellet 8.20000e+00 0.00000e+00 US Willamette 3.00000e+01 9.00000e+00 2.90000e+01 4.75000e+01
Golding 1 5.00000e+00 0.00000e+00 Boil A.K.A Yakima Golding. This is an American version of traditional English aroma varieties. Aroma
Pellet 2.50000e+00 6.60000e+01 US Kent Golding, Styrian Golding 4.00000e+01 1.45000e+01 2.55000e+01 3.00000e+01
Green Bullet 1 1.10000e+01 0.00000e+00 Boil Has a raisiny character. Bittering
Pellet 7.00000e+00 0.00000e+00 New Zealand Pride of Ringwood 2.40000e+01 7.50000e+00 4.20000e+01 5.00000e+01
Hallertau 1 4.50000e+00 0.00000e+00 Boil Mild, pleasant and slightly flowery. Aroma
Pellet 4.50000e+00 5.50000e+01 Mt. Hood, Liberty, Crystal. 5.50000e+01 1.45000e+01 2.45000e+01 1.65000e+01
Harmonie 1 6.00000e+00 0.00000e+00 Boil Introduced in 2004, this variety is mainly being used for aroma. This variety has a high ratio of beta to alpha (1:1), and has a bit more alpha acid than Sladek. Aroma
Pellet 6.00000e+00 5.00000e+01 Czech Republic Saaz, Sladek 1.50000e+01 0.00000e+00 2.10000e+01 3.50000e+01
Hersbrucker 1 3.00000e+00 0.00000e+00 Boil Mild to moderate aroma. Aroma
Pellet 5.25000e+00 6.00000e+01 Germany Mount Hood, French Strisslespalt 3.00000e+01 1.25000e+01 2.15000e+01 1.25000e+01
Kent Goldings 1 5.50000e+00 0.00000e+00 Boil Gentle, fragrant and slightly spicy. Both
Pellet 2.40000e+00 7.25000e+01 England Goldings (American), Fuggles, Willamette 4.15000e+01 1.40000e+01 3.00000e+01 2.50000e+01
Liberty 1 4.50000e+00 0.00000e+00 Boil Mild and pleasant, quite fine. Acts like a true noble variety. Aroma
Pellet 3.50000e+00 5.00000e+01 US Hallertau, Mt. Hood, Tettnang 3.50000e+01 1.05000e+01 2.60000e+01 3.30000e+01
Lublin (Lubelski) 1 4.00000e+00 0.00000e+00 Boil Finishing hop usually, but may be used throughout the boil. Aroma
Pellet 0.00000e+00 5.00000e+01 Poland Saaz, Tettnang 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00
Magnum 1 1.35000e+01 0.00000e+00 Boil Clean German flavor and aroma profile. Bittering
Pellet 6.00000e+00 7.25000e+01 Germany Galena 3.75000e+01 1.05000e+01 2.50000e+01 3.75000e+01
Marynka 1 1.00000e+01 0.00000e+00 Boil All-purpose, but generally used for bittering. Both
Pellet 1.10000e+01 7.25000e+01 Poland Kent Goldings 2.90000e+01 1.10000e+01 2.90000e+01 2.90000e+01
Millennium 1 1.55000e+01 0.00000e+00 Boil Clean bittering and stores well. When used for aroma, lends strong grapefruit and hoppy notes. Bittering
Pellet 4.80000e+00 7.60000e+01 US Nugget, Columbus/Tomahawk/Zeus 2.50000e+01 1.05000e+01 3.00000e+01 3.50000e+01
Mount Hood 1 5.50000e+00 0.00000e+00 Boil Mild, pleasant, clean, light, and delicate. Aroma
Pellet 6.50000e+00 5.50000e+01 US German Hallertau, Hersbrucker, Liberty, Crystal. 3.40000e+01 1.45000e+01 2.20000e+01 3.50000e+01
Northern Brewer 1 9.00000e+00 0.00000e+00 Boil Medium-strong, woody with evergreen and mint overtones. Both
Pellet 4.00000e+00 0.00000e+00 England Galena, Perle 2.50000e+01 7.50000e+00 2.75000e+01 5.50000e+01
Nugget 1 1.30000e+01 0.00000e+00 Boil Mild aroma, low cohumulone for smooth bitterness. Both
Pellet 5.00000e+00 7.60000e+01 US Chinook, Galena, Cluster, Magnum 1.75000e+01 8.00000e+00 2.40000e+01 5.15000e+01
Palisade 1 7.50000e+00 0.00000e+00 Boil Bred as an aroma hop with perfume-like qualities. Also used for smooth bittering potential in moderate quantities. Both
Pellet 7.00000e+00 0.00000e+00 US Willamette 2.05000e+01 1.70000e+01 2.65000e+01 9.50000e+00
Perle 1 7.00000e+00 0.00000e+00 Boil Pleasant, slightly spicy Both
Pellet 4.00000e+00 0.00000e+00 Northern Brewer, Cluster, Galena 3.05000e+01 1.10000e+01 2.95000e+01 5.00000e+01
Phoenix 1 1.10000e+01 0.00000e+00 Boil Bittering or aroma hop for English ales. Both
Pellet 4.40000e+00 0.00000e+00 England Challenger 2.95000e+01 9.00000e+00 3.00000e+01 2.80000e+01
Premiant 1 8.00000e+00 0.00000e+00 Boil Characterized by high alpha content and yield, Premiant was registered in 1996 and has been bred mostly out of Saaz. Tends to have a fine, neutral bitterness due to low cohumulone content. It is usually used as a flavor addition, and compares with Sladek. Both
Pellet 4.50000e+00 5.00000e+01 Czech Republic Czech Saaz, Sladek, Bor 3.00000e+01 0.00000e+00 2.10000e+01 4.25000e+01
Pride of Ringwood 1 8.50000e+00 0.00000e+00 Boil Quite pronounced but not unpleasant, citrus-like. Both
Pellet 5.00000e+00 5.00000e+01 Australia Centennial, Galena, Cluster, Kent Goldings 5.00000e+00 7.50000e+00 3.75000e+01 3.75000e+01
Progress 1 5.50000e+00 0.00000e+00 Boil Similar to Fuggles, has a mild spicy or woody character, but slightly sweeter and with softer bitterness. Both
Pellet 2.30000e+00 7.00000e+01 England Kent Goldings, Fuggles 4.35000e+01 1.35000e+01 3.05000e+01 3.25000e+01
Rubin 1 1.20000e+01 0.00000e+00 Boil This is a bittering hop descended from European aroma hops and Saaz. It has a fine bitterness with a longer finish than Saaz. Bittering
Pellet 5.00000e+00 5.00000e+01 Czech Republic Saaz 1.65000e+01 0.00000e+00 2.90000e+01 4.00000e+01
Saaz (Czech Republic) 1 4.50000e+00 0.00000e+00 Boil Very mild with pleasant hoppy notes. Aroma
Pellet 5.50000e+00 5.00000e+01 Czech Republic Tettnang, US Saaz 3.00000e+01 1.10000e+01 2.85000e+01 3.00000e+01
Saaz (USA) 1 3.75000e+00 0.00000e+00 Boil Very mild and pleasant, spicy and fragrant Aroma
Pellet 3.75000e+00 5.00000e+01 US Czech Saaz, Tettnang 3.75000e+01 1.00000e+01 2.60000e+01 2.75000e+01
Simcoe 1 1.30000e+01 0.00000e+00 Boil Dual-purpose hop. Has a piney aroma suited to American ales. Both
Pellet 4.50000e+00 0.00000e+00 US Summit, Magnum 1.25000e+01 6.50000e+00 1.75000e+01 6.25000e+01
Sladek 1 6.00000e+00 0.00000e+00 Boil Characterized by a high ratio of beta acids and high yield. This variety was introduced in 1994, and was bred from Saaz. It is primarily used in flavor additions of lager beers, often with Saaz being the finishing hop. Some breweries also use it as the finishing hop for non-premium beers. Aroma
Pellet 7.50000e+00 5.00000e+01 Czech Republic Czech Saaz 2.50000e+01 0.00000e+00 2.75000e+01 4.50000e+01
Sorachi Ace 1 1.00000e+01 0.00000e+00 Boil Has a decidedly lemon-like aroma and taste. Usually used for bittering. Bittering
Pellet 0.00000e+00 5.25000e+01 Japan 0.00000e+00 0.00000e+00 2.30000e+01 0.00000e+00
Spalt 1 5.50000e+00 0.00000e+00 Boil Classic noble hop. Mild, spicy aroma. Spalt Select is a hardier variety often labeled as Spalt. Aroma
Pellet 4.00000e+00 5.25000e+01 Germany Spalt Select, Tettnanger, Saaz, Hallertau 2.50000e+01 1.05000e+01 2.55000e+01 2.75000e+01
Sterling 1 4.50000e+00 0.00000e+00 Boil An aroma variety with smooth bitterness, and noble hop aroma. The aroma is herbal and spicy with some floral and citrus notes. Used primarily in Pilsners and Lagers as a Saaz substitute. Both
Pellet 5.50000e+00 6.75000e+01 Saaz 7.00000e+00 2.10000e+01 2.20000e+01 4.60000e+01
Strisselspalt 1 4.00000e+00 0.00000e+00 Boil Aroma
Pellet 4.25000e+00 6.50000e+01 France Hersbrucker, Mount Hood, Crystal 2.00000e+01 9.00000e+00 2.25000e+01 2.50000e+01
Styrian Goldings 1 4.50000e+00 0.00000e+00 Boil Delicate, slightly spicy, soft and floral. Actually a derivative of Fuggles, not Goldings. Aroma
Pellet 3.00000e+00 7.25000e+01 Austria/Slovenia Fuggles, Willamette 3.15000e+01 9.50000e+00 2.90000e+01 3.15000e+01
Summit 1 1.70000e+01 0.00000e+00 Boil Bittering variety with earthy aroma and slight citrus notes. Both
Pellet 5.00000e+00 8.50000e+01 US Columbus/Tomahawk/Zeus, Warrior, Millenium 2.00000e+01 1.25000e+01 2.95000e+01 4.00000e+01
Super Galena 1 1.45000e+01 0.00000e+00 Boil Very similar to Galena in aroma and bitterness. Both
Pellet 9.00000e+00 7.90000e+01 US Galena 2.15000e+01 1.00000e+01 3.75000e+01 5.25000e+01
Target 1 1.05000e+01 0.00000e+00 Boil Pleasant English hop aroma, quite intense. Admiral has a less harsh bitterness. Both
Pellet 5.00000e+00 5.00000e+01 England Admiral, Northdown, Progress 1.95000e+01 9.50000e+00 3.75000e+01 5.00000e+01
Tettnang 1 4.00000e+00 0.00000e+00 Boil Very spicy, mild, floral, very aromatic. Noble hop. Aroma
Pellet 3.75000e+00 5.75000e+00 Germany Czech Saaz, Spalt, Ultra 2.25000e+01 8.00000e+00 2.60000e+01 2.25000e+01
Tillicum 1 1.30000e+01 0.00000e+00 Boil Pleasant, slightly spicy Both
Pellet 1.00000e+01 8.00000e+01 US Galena, Chelan 1.45000e+01 7.40000e+00 3.50000e+01 5.00000e+01
Tradition 1 5.50000e+00 0.00000e+00 Boil A.K.A Hallertauer Tradition. Similar flavor to Hallertauer, with improved disease resistance. Aroma
Pellet 4.50000e+00 5.50000e+01 Germany Hallertau 4.50000e+01 1.25000e+01 2.75000e+01 2.45000e+01
Vanguard 1 5.50000e+00 0.00000e+00 Boil Derived from Hallertau. Flavor is like an herbal Hallertau or slightly buttery Tettnang. Both
Pellet 6.00000e+00 7.75000e+01 US Hallertau, Tettnang 4.65000e+01 1.25000e+01 1.75000e+01 2.25000e+01
Warrior 1 1.55000e+01 0.00000e+00 Boil Mild aroma, clean an neutral bittering. Both
Pellet 4.80000e+00 7.60000e+01 US Columbus, Magnum, Nugget 1.70000e+01 1.00000e+01 2.40000e+01 4.50000e+01
Willamette 1 5.00000e+00 0.00000e+00 Boil Mild and pleasant, slightly spicy, aromatic. Aroma
Pellet 4.00000e+00 6.25000e+01 Fuggles, Styrian Goldings, Tettnang. 2.35000e+01 7.35000e+00 3.25000e+01 3.50000e+01
Conversion step 1 Infusion 0.00000e+00 6.80000e+01 7.00000e+01 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 Apricot 1 Flavor Primary 0.00000e+00 FALSE Bitter Orange Peel 1 Flavor Primary 0.00000e+00 FALSE Blueberry 1 Flavor Primary 0.00000e+00 FALSE Boysenberry 1 Flavor Primary 0.00000e+00 FALSE Burton Salts 1 Water Agent Mash 0.00000e+00 FALSE Calcium Carbonate 1 Water Agent Mash 0.00000e+00 FALSE Calcium Chloride 1 Water Agent Mash 0.00000e+00 FALSE Campden Tablet 1 Water Agent Boil 0.00000e+00 FALSE Cherry 1 Flavor Primary 0.00000e+00 FALSE Cranberry 1 Flavor Primary 0.00000e+00 FALSE Epsom Salt 1 Water Agent Mash 0.00000e+00 FALSE Gelatin 1 Fining Secondary 0.00000e+00 FALSE Gypsum 1 Water Agent Mash 0.00000e+00 FALSE Hazelnut 1 Flavor Primary 0.00000e+00 FALSE Heather Tips 1 Flavor Primary 0.00000e+00 FALSE Instant Water - American 1 Water Agent Mash 0.00000e+00 FALSE Instant Water - Burton on Trent 1 Water Agent Mash 0.00000e+00 FALSE Instant Water - Dortmund 1 Water Agent Mash 0.00000e+00 FALSE Instant Water - Edinburgh 1 Water Agent Mash 0.00000e+00 FALSE Instant Water - London 1 Water Agent Mash 0.00000e+00 FALSE Instant Water - Munich 1 Water Agent Mash 0.00000e+00 FALSE Irish Moss 1 Fining Boil 0.00000e+00 FALSE IsoHop 1 Flavor Primary 0.00000e+00 FALSE Kosher Salt 1 Water Agent Mash 0.00000e+00 FALSE Lactic Acid 1 Water Agent Mash 0.00000e+00 FALSE Licorice Root 1 Flavor Primary 0.00000e+00 FALSE Oak Chips 1 Flavor Primary 0.00000e+00 FALSE Oak Cubes 1 Flavor Primary 0.00000e+00 FALSE Paradise Seed 1 Flavor Primary 0.00000e+00 FALSE Peach 1 Flavor Primary 0.00000e+00 FALSE Phosphoric Acid 1 Water Agent Mash 0.00000e+00 FALSE Polyclar 1 Fining Secondary 0.00000e+00 FALSE Raspberry 1 Flavor Primary 0.00000e+00 FALSE Sparkolloid 1 Fining Secondary 0.00000e+00 FALSE Super Moss 1 Fining Boil 0.00000e+00 FALSE Sweet Orange Peel 1 Flavor Primary 0.00000e+00 FALSE Vanilla Beans 1 Flavor Primary 0.00000e+00 FALSE Whirlfloc 1 Fining Boil 0.00000e+00 FALSE Whole Coriander 1 Flavor Primary 0.00000e+00 FALSE Yeast Nutrient 1 Other Primary 0.00000e+00 FALSE pH 5.2 Stabilizer 1 Water Agent Mash 1.00000e-02 FALSE Burton on Trent, UK 1 2.00000e+01 2.95000e+02 3.00000e+02 7.25000e+02 2.50000e+01 5.50000e+01 4.50000e+01 8.00000e+00 Use for distinctive pale ales strongly hopped. Very hard water accentuates the hops flavor. Example: Bass Ale 1 Ale
Liquid 3.50000e-02 FALSE White Labs 0.00000e+00 0.00000e+00 Medium 0.00000e+00 0 10 FALSE
Danstar - Nottingham 1 Ale
Dry 1.10014e-02 FALSE Danstar 1.80000e+01 2.40000e+01 Low 8.00000e+01 0 0 FALSE
Danstar - Windsor Ale 1 Ale
Dry 1.10000e-02 TRUE Danstar 1.80000e+01 2.40000e+01 Low 7.00000e+01 0 0 FALSE
Safale S-04 1 Ale
Dry 1.10000e-02 TRUE Safale 1.50000e+01 2.40000e+01 Low 7.50000e+01 0 0 FALSE
Safale S-05 1 Ale
Dry 1.10000e-02 FALSE Safale 1.50000e+01 2.40000e+01 Low 7.50000e+01 0 0 FALSE
WLP001 - California Ale Yeast 1 Ale
Liquid 3.50000e-02 FALSE White Labs 001 2.00000e+01 2.30000e+01 Medium 7.50000e+01 This yeast is famous for its clean flavors, balance and ability to be used in almost any style ale. It accentuates the hop flavors and is extremely versatile. 0 10 FALSE
WLP002 - English Ale Yeast 1 Ale
Liquid 3.50000e-02 FALSE White Labs 002 1.80000e+01 2.00000e+01 Very High 6.60000e+01 A classic ESB strain from one of England's largest independent breweries. This yeast is best suited for English style ales including milds, bitters, porters, and English style stouts. This yeast will leave a beer very clear, and will leave some residual sweetness. 0 10 FALSE
WLP004 - Irish Ale Yeast 1 Ale
Liquid 3.50000e-02 FALSE White Labs 004 1.80000e+01 2.00000e+01 Medium 7.10000e+01 This is the yeast from one of the oldest stout producing breweries in the world. It produces a slight hint of diacetyl, balanced by a light fruitiness and slight dry crispness. Great for Irish ales, stouts, porters, browns, reds and a very interesting pale ale. 0 10 FALSE
WLP005 - British Ale Yeast 1 Ale
Liquid 3.50000e-02 FALSE White Labs 005 1.80000e+01 2.10000e+01 High 7.00000e+01 This yeast is a little more attenuative than WLP002. Like most English strains, this yeast produces malty beers. Excellent for all English style ales including bitter, pale ale, porter, and brown ale. 0 10 FALSE
WLP006 - Bedford British 1 Ale
Liquid 3.50000e-02 FALSE White Labs 006 1.80000e+01 2.10000e+01 High 7.60000e+01 Ferments dry and flocculates very well. Produces a distinctive ester profile. Good choice for most English style ales including bitter, pale ale, porter, and brown ale. 0 10 FALSE
WLP007 - Dry English Ale Yeast 1 Ale
Liquid 3.50000e-02 FALSE White Labs 007 1.80000e+01 2.10000e+01 Medium 7.50000e+01 Clean, highly flocculent, and highly attenuative yeast. This yeast is similar to WLP002 in flavor profile, but is 10% more attenuative. This eliminates the residual sweetness, and makes the yeast well suited for high gravity ales. It is also reaches terminal gravity quickly. 80% attenuation will be reached even with 10% ABV beers. 0 10 FALSE
WLP008 - East Coast Ale Yeast 1 Ale
Liquid 3.50000e-02 FALSE White Labs 008 2.00000e+01 2.30000e+01 Medium 7.20000e+01 Our "Brewer Patriot" strain can be used to reproduce many of the American versions of classic beer styles. Similar neutral character of WLP001, but less attenuation, less accentuation of hop bitterness, slightly less flocculation, and a little tartness. Very clean and low esters. Great yeast for golden, blonde, honey, pales and German alt style ales. 0 10 FALSE
WLP009 - Australian Ale Yeast 1 Ale
Liquid 3.50000e-02 FALSE White Labs 009 1.80000e+01 2.10000e+01 High 7.20000e+01 Produces a clean, malty beer. Pleasant ester character, can be described as "bready." Can ferment successfully, and clean, at higher temperatures. This yeast combines good flocculation with good attenuation. 0 10 FALSE
WLP011 - European Ale Yeast 1 Ale
Liquid 3.50000e-02 FALSE White Labs 011 1.80000e+01 2.10000e+01 Medium 6.70000e+01 Malty, Northern European-origin ale yeast. Low ester production, giving a clean profile. Little to no sulfur production. Low attenuation helps to contribute to the malty character. Good for Alt, Kolsch, malty English ales, and fruit beers. 0 10 FALSE
WLP013 - London Ale Yeast 1 Ale
Liquid 3.50000e-02 FALSE White Labs 013 1.90000e+01 2.20000e+01 Medium 7.10000e+01 Dry, malty ale yeast. Provides a complex, oakey ester character to your beer. Hop bitterness comes through well. This yeast is well suited for classic British pale ales, bitters, and stouts. Does not flocculate as much as WLP002 and WLP005. 0 10 FALSE
WLP022 - Essex Ale Yeast 1 Ale
Liquid 3.50000e-02 FALSE White Labs 022 1.90000e+01 2.10000e+01 Medium 7.30000e+01 Flavorful British style yeast. Drier finish than many British ale yeast. Produces slightly fruity and bready character. Good top fermenting yeast strain, is well suited for top cropping (collecting). This yeast is well suited for classic British milds, pale ales, bitters, and stouts. Does not flocculate as much as WLP002 and WLP005. 0 10 FALSE
WLP023 - Burton Ale Yeast 1 Ale
Liquid 3.50000e-02 FALSE White Labs 023 2.00000e+01 2.30000e+01 Medium 7.20000e+01 From the famous brewing town of Burton upon Trent, England, this yeast is packed with character. It provides delicious subtle fruity flavors like apple, clover honey and pear. Great for all English styles, IPA's, bitters, and pales. Excellent in porters and stouts. 0 10 FALSE
WLP028 - Edinburgh Scottish Ale Yeast 1 Ale
Liquid 3.50000e-02 FALSE White Labs 028 1.80000e+01 2.10000e+01 Medium 7.20000e+01 Scotland is famous for its malty, strong ales. This yeast can reproduce complex, flavorful Scottish style ales. This yeast can be an everyday strain, similar to WLP001. Hop character is not muted with this strain, as it is with WLP002. 0 10 FALSE
WLP029 - German Ale/Kölsch Yeast 1 Ale
Liquid 3.50000e-02 FALSE White Labs 029 1.80000e+01 2.10000e+01 Medium 7.50000e+01 From a small brewpub in Cologne, Germany, this yeast works great in Kölsch and Alt style beers. Good for light beers like blond and honey. Accentuates hop flavors, similar to WLP001. The slight sulfur produced during fermentation will disappear with age and leave a super clean, lager like ale. 0 10 FALSE
WLP036 - Dusseldorf Alt Yeast 1 Ale
Liquid 3.50000e-02 FALSE White Labs 036 1.80000e+01 2.10000e+01 Medium 6.80000e+01 Traditional Alt yeast from Dusseldorf, Germany. Produces clean, slightly sweet alt beers. Does not accentuate hop flavor as WLP029 does. 0 10 FALSE
WLP037 - Yorkshire Square Ale Yeast 1 Ale
Liquid 3.50000e-02 FALSE White Labs 037 1.80000e+01 2.10000e+01 High 7.00000e+01 This yeast produces a beer that is malty, but well-balanced. Expect flavors that are toasty with malt-driven esters. Highly flocculent and good choice for English pale ales, English brown ales, and mild ales. 0 10 FALSE
WLP038 - Manchester Ale Yeast 1 Ale
Liquid 3.50000e-02 FALSE White Labs 038 1.80000e+01 2.10000e+01 High 7.20000e+01 Top-fermenting strain that is traditionally good for top-cropping. Moderately flocculent with a clean, dry finish. Low ester profile, producing a highly balanced English-style beer. 0 10 FALSE
WLP039 - Nottingham Ale Yeast 1 Ale
Liquid 3.50000e-02 FALSE White Labs 039 1.90000e+01 2.10000e+01 Medium 7.70000e+01 British style ale yeast with a very dry finish. Medium to low fruit and fusel alcohol production. Good top fermenting yeast strain, is well suited for top cropping (collecting). This yeast is well suited for pale ales, ambers, porters, and stouts. 0 10 FALSE
WLP041 - Pacific Ale Yeast 1 Ale
Liquid 3.50000e-02 FALSE White Labs 041 1.80000e+01 2.00000e+01 High 6.70000e+01 A popular ale yeast from the Pacific Northwest. The yeast will clear from the beer well, and leave a malty profile. More fruity than WLP002, English Ale Yeast. Good yeast for English style ales including milds, bitters, IPA, porters, and English style stouts. 0 10 FALSE
WLP051 - California Ale V Yeast 1 Ale
Liquid 3.50000e-02 FALSE White Labs 051 1.90000e+01 2.10000e+01 Medium 7.20000e+01 From Northern California. This strain is more fruity than WLP001, and slightly more flocculent. Attenuation is lower, resulting in a fuller bodied beer than with WLP001. 0 10 FALSE
WLP060 - American Ale Yeast Blend 1 Ale
Liquid 3.50000e-02 FALSE White Labs 060 2.00000e+01 2.20000e+01 Medium 7.60000e+01 Our most popular yeast strain is WLP001, California Ale Yeast. This blend celebrates the strengths of California- clean, neutral fermentation, versatile usage, and adds two other strains that belong to the same 'clean/neutral' flavor category. The additional strains create complexity to the finished beer. This blend tastes more lager like than WLP001. Hop flavors and bitterness are accentuated, but not to the extreme of California. Slight sulfur will be produced during fermentation. 0 10 FALSE
WLP080 - Cream Ale Yeast Blend 1 Ale
Liquid 3.50000e-02 FALSE White Labs 080 1.80000e+01 2.10000e+01 Medium 7.70000e+01 This is a blend of ale and lager yeast strains. The strains work together to create a clean, crisp, light American lager style ale. A pleasing estery aroma may be perceived from the ale yeast contribution. Hop flavors and bitterness are slightly subdued. Slight sulfur will be produced during fermentation, from the lager yeast. 0 10 FALSE
WLP099 - Super High Gravity Ale Yeast 1 Ale
Liquid 3.50000e-02 FALSE White Labs 099 1.80000e+01 2.10000e+01 Medium 8.00000e+01 Can ferment up to 25% alcohol. From England. Produces ester character that increases with increasing gravity. Malt character dominates at lower gravities. 0 10 FALSE
WLP300 - Hefeweizen Ale Yeast 1 Wheat
Liquid 3.50000e-02 FALSE White Labs 300 2.00000e+01 2.20000e+01 Low 7.40000e+01 This famous German yeast is a strain used in the production of traditional, authentic wheat beers. It produces the banana and clove nose traditionally associated with German wheat beers and leaves the desired cloudy look of traditional German wheat beers. 0 10 FALSE
WLP320 - American Hefeweizen Ale Yeast 1 Wheat
Liquid 3.50000e-02 FALSE White Labs 320 1.80000e+01 2.10000e+01 Low 7.20000e+01 This yeast is used to produce the Oregon style American Hefeweizen. Unlike WLP300, this yeast produces a very slight amount of the banana and clove notes. It produces some sulfur, but is otherwise a clean fermenting yeast, which does not flocculate well, producing a cloudy beer. 0 10 FALSE
WLP351 - Bavarian Weizen Yeast 1 Wheat
Liquid 3.50000e-02 FALSE White Labs 351 1.90000e+01 2.10000e+01 Low 7.50000e+01 Former Yeast Lab W51 yeast strain, acquired from Dan McConnell. The description originally used by Yeast Lab still fits: "This strain produces a classic German-style wheat beer, with moderately high, spicy, phenolic overtones reminiscent of cloves." 0 10 FALSE
WLP380 - Hefeweizen IV Ale Yeast 1 Wheat
Liquid 3.50000e-02 FALSE White Labs 380 1.90000e+01 2.10000e+01 Low 7.60000e+01 Large clove and phenolic aroma and flavor, with minimal banana. Refreshing citrus and apricot notes. Crisp, drinkable hefeweizen. Less flocculent than WLP300, and sulfur production is higher. 0 10 FALSE
WLP400 - Belgian Wit Ale Yeast 1 Wheat
Liquid 3.50000e-02 FALSE White Labs 400 1.90000e+01 2.30000e+01 Low 7.60000e+01 Slightly phenolic and tart, this is the original yeast used to produce Wit in Belgium. 0 10 FALSE
WLP410 - Belgian Wit II Ale Yeast 1 Wheat
Liquid 3.50000e-02 FALSE White Labs 410 1.90000e+01 2.30000e+01 Low 7.20000e+01 Less phenolic than WLP400, and more spicy. Will leave a bit more sweetness, and flocculation is higher than WLP400. Use to produce Belgian Wit, spiced Ales, wheat Ales, and specialty Beers. 0 10 FALSE
WLP500 - Trappist Ale Yeast 1 Ale
Liquid 3.50000e-02 FALSE White Labs 500 1.80000e+01 2.20000e+01 Medium 7.70000e+01 From one of the few remaining Trappist breweries remaining in the world, this yeast produces the distinctive fruitiness and plum characteristics. Excellent yeast for high gravity beers, Belgian ales, dubbels and trippels. 0 10 FALSE
WLP510 - Belgian Bastogne Ale Yeast 1 Ale
Liquid 3.50000e-02 FALSE White Labs 510 1.90000e+01 2.20000e+01 Medium 7.70000e+01 A high gravity, Trappist style ale yeast. Produces dry beer with slight acidic finish. More clean fermentation character than WLP500 or WLP530. Not as spicy as WLP530 or WLP550. Excellent yeast for high gravity beers, Belgian ales, dubbels and trippels. 0 10 FALSE
WLP515 - Antwerp Ale Yeast 1 Ale
Liquid 3.50000e-02 FALSE White Labs 515 1.90000e+01 2.10000e+01 Medium 7.60000e+01 Clean, almost lager like Belgian type ale yeast. Good for Belgian type pales ales and amber ales, or with blends to combine with other Belgian type yeast strains. Biscuity, ale like aroma present. Hop flavors and bitterness are accentuated. Slight sulfur will be produced during fermentation, which can give the yeast a lager like flavor profile. 0 10 FALSE
WLP530 - Abbey Ale Yeast 1 Ale
Liquid 3.50000e-02 FALSE White Labs 530 1.90000e+01 2.20000e+01 Medium 7.70000e+01 Used to produce Trappist style beers. Similar to WLP500, but is less fruity and more alcohol tolerant (up to 15% ABV). Excellent yeast for high gravity beers, Belgian ales, dubbels and trippels. 0 10 FALSE
WLP540 - Abbey IV Ale Yeast 1 Ale
Liquid 3.50000e-02 FALSE White Labs 540 1.90000e+01 2.20000e+01 Medium 7.80000e+01 An authentic Trappist style yeast. Use for Belgian style ales, dubbels, trippels, and specialty beers. Fruit character is medium, in between WLP500 (high) and WLP530 (low). 0 10 FALSE
WLP545 - Belgian Strong Ale Yeast 1 Ale
Liquid 3.50000e-02 FALSE White Labs 545 1.90000e+01 2.20000e+01 Medium 8.10000e+01 From the Ardennes region of Belgium, this classic yeast strain produces moderate levels of ester and spicy phenolic character. Typically results in a dry, but balanced finish. This yeast is well suited for Belgian dark strongs, Abbey Ales, and Christmas beers. 0 10 FALSE
WLP550 - Belgian Ale Yeast 1 Ale
Liquid 3.50000e-02 FALSE White Labs 550 2.00000e+01 2.60000e+01 Medium 8.10000e+01 Saisons, Belgian Ales, Belgian Reds, Belgian Browns, and White beers are just a few of the classic Belgian beer styles that can be created with this yeast strain. Phenolic and spicy flavors dominate the profile, with less fruitiness then WLP500. 0 10 FALSE
WLP565 - Belgian Saison I Yeast 1 Ale
Liquid 3.50000e-02 FALSE White Labs 565 2.00000e+01 2.40000e+01 Medium 7.00000e+01 Classic Saison yeast from Wallonia. It produces earthy, peppery, and spicy notes. Slightly sweet. With high gravity Saisons, brewers may wish to dry the beer with an alternate yeast added after 75% fermentation. 0 10 FALSE
WLP566 - Belgian Saison II Yeast 1 Ale
Liquid 3.50000e-02 FALSE White Labs 566 2.00000e+01 2.60000e+01 Medium 8.10000e+01 Saison strain with more fruity ester production than with WLP565. Moderately phenolic, with a clove-like characteristic in finished beer flavor and aroma. Ferments faster than WLP565. 0 10 FALSE
WLP568 - Belgian Style Saison Ale Yeast Blend 1 Ale
Liquid 3.50000e-02 FALSE White Labs 568 2.10000e+01 2.70000e+01 Medium 7.50000e+01 This blend melds Belgian style ale and Saison strains. The strains work in harmony to create complex, fruity aromas and flavors. The blend of yeast strains encourages complete fermentation in a timely manner. Phenolic, spicy, earthy, and clove like flavors are also created. 0 10 FALSE
WLP570 - Belgian Golden Ale Yeast 1 Ale
Liquid 3.50000e-02 FALSE White Labs 570 2.00000e+01 2.40000e+01 Low 7.50000e+01 From East Flanders, versatile yeast that can produce light Belgian ales to high gravity Belgian beers (12% ABV). A combination of fruitiness and phenolic characteristics dominate the flavor profile. Some sulfur is produced during fermentation, which will dissipate following the end of fermentation. 0 10 FALSE
WLP575 - Belgian Style Ale Yeast Blend 1 Ale
Liquid 3.50000e-02 FALSE White Labs 575 2.00000e+01 2.40000e+01 Medium 7.70000e+01 A blend of Trappist type yeast (2) and one Belgian ale type yeast. This creates a versatile blend that can be used for Trappist type beer, or a myriad of beers that can be described as 'Belgian type'. 0 10 FALSE
WLP700 - Flor Sherry Yeast 1 Wine
Liquid 3.50000e-02 FALSE White Labs 700 2.10000e+01 2.50000e+01 Medium 8.00000e+01 This yeast develops a film (flor) on the surface of the wine. Creates green almond, granny smith and nougat characteristics found in sherry. Can also be used for Port, Madeira and other sweet styles. For use in secondary fermentation. Slow fermentor. 0 10 FALSE
WLP705 - Sake Yeast 1 Wine
Liquid 3.50000e-02 FALSE White Labs 705 2.10000e+01 2.50000e+01 Medium 8.00000e+01 For use in rice based fermentations. For sake, use this yeast in conjunction with Koji (to produce fermentable sugar). WLP705 produces full body sake character, and subtle fragrance. 0 10 FALSE
WLP715 - Champagne Yeast 1 Champagne
Liquid 3.50000e-02 FALSE White Labs 715 2.10000e+01 2.40000e+01 Low 7.50000e+01 Classic yeast, used to produce champagne, cider, dry meads, dry wines, or to fully attenuate barley wines/ strong ales. Neutral. 0 10 FALSE
WLP718 - Avize Wine Yeast 1 Wine
Liquid 3.50000e-02 FALSE White Labs 718 1.60000e+01 3.20000e+01 Low 8.00000e+01 Champagne isolate used for complexity in whites. Contributes elegance, especially in barrel fermented Chardonnays. 0 10 FALSE
WLP720 - Sweet Mead/Wine Yeast 1 Wine
Liquid 3.50000e-02 FALSE White Labs 720 2.10000e+01 2.40000e+01 Low 7.50000e+01 A wine yeast strain that is less attenuative than WLP715, leaving some residual sweetness. Slightly fruity and will tolerate alcohol concentrations up to 15%. A good choice for sweet mead and cider, as well as Blush wines, Gewürztraminer, Sauternes, Riesling. 0 10 FALSE
WLP727 - Steinberg-Geisenheim Wine Yeast 1 Wine
Liquid 3.50000e-02 FALSE White Labs 727 1.00000e+01 3.20000e+01 Low 8.00000e+01 German in origin, this yeast has high fruit/ester production. Perfect for Riesling and Gewürztraminer. Moderate fermentation characteristics and cold tolerant. 0 10 FALSE
WLP730 - Chardonnay White Wine Yeast 1 Wine
Liquid 3.50000e-02 FALSE White Labs 730 1.00000e+01 3.20000e+01 Low 8.00000e+01 Dry wine yeast. Slight ester production, low sulfur dioxide production. Enhances varietal character. WLP730 is a good choice for all white and blush wines, including Chablis, Chenin Blanc, Semillon, and Sauvignon Blanc. Fermentation speed is moderate. 0 10 FALSE
WLP735 - French White Wine Yeast 1 Wine
Liquid 3.50000e-02 FALSE White Labs 735 1.60000e+01 3.20000e+01 Low 8.00000e+01 Classic yeast for white wine fermentation. Slow to moderate fermenter and foam producer. Gives an enhanced creamy texture. 0 10 FALSE
WLP740 - Merlot Red Wine Yeast 1 Wine
Liquid 3.50000e-02 FALSE White Labs 740 1.60000e+01 3.20000e+01 Low 8.00000e+01 Neutral, low fusel alcohol production. Will ferment to dryness, alcohol tolerance to 18%. Vigorous fermenter. WLP740 is well suited for Merlot, Shiraz, Pinot Noir, Chardonnay, Cabernet, Sauvignon Blanc, and Semillon. 0 10 FALSE
WLP749 - Assmanshausen Wine Yeast 1 Wine
Liquid 3.50000e-02 FALSE White Labs 749 1.00000e+01 3.20000e+01 Low 8.00000e+01 German red wine yeast, which results in spicy, fruit aromas. Perfect for Pinot Noir and Zinfandel. Slow to moderate fermenter which is cold tolerant. 0 10 FALSE
WLP750 - French Red Wine Yeast 1 Wine
Liquid 3.50000e-02 FALSE White Labs 750 1.60000e+01 3.20000e+01 Low 8.00000e+01 Classic Bordeaux yeast for red wine fermentations. Moderate fermentation characteristics. Tolerates lower fermentation temperatures. Rich, smooth flavor profile. 0 10 FALSE
WLP760 - Cabernet Red Wine Yeast 1 Wine
Liquid 3.50000e-02 FALSE White Labs 760 1.60000e+01 3.20000e+01 Low 8.00000e+01 High temperature tolerance. Moderate fermentation speed. Excellent for full-bodied red wines, ester production complements flavor. WLP760 is also suitable for Merlot, Chardonnay, Chianti, Chenin Blanc, and Sauvignon Blanc. 0 10 FALSE
WLP770 - Suremain Burgundy Wine Yeast 1 Wine
Liquid 3.50000e-02 FALSE White Labs 770 1.60000e+01 3.20000e+01 Low 8.00000e+01 Emphasizes fruit aromas in barrel fermentations. High nutrient requirement to avoid volatile acidity production. 0 10 FALSE
WLP775 - English Cider Yeast 1 Wine
Liquid 3.50000e-02 FALSE White Labs 775 2.00000e+01 2.40000e+01 Medium 8.00000e+01 Classic cider yeast. Ferments dry, but retains flavor from apples. Sulfur is produced during fermentation, but will disappear in first two weeks of aging. Can also be used for wine and high gravity beers. 0 10 FALSE
WLP800 - Pilsner Lager Yeast 1 Lager
Liquid 3.50000e-02 FALSE White Labs 800 1.00000e+01 1.30000e+01 Medium 7.40000e+01 Classic pilsner strain from the premier pilsner producer in the Czech Republic. Somewhat dry with a malty finish, this yeast is best suited for European pilsner production. 0 10 FALSE
WLP802 - Czech Budejovice Lager Yeast 1 Lager
Liquid 3.50000e-02 FALSE White Labs 802 1.00000e+01 1.30000e+01 Medium 7.70000e+01 Pilsner lager yeast from Southern Czech Republic. Produces dry and crisp lagers, with low diacetyl production. 0 10 FALSE
WLP810 - San Francisco Lager Yeast 1 Lager
Liquid 3.50000e-02 FALSE White Labs 810 1.40000e+01 1.80000e+01 High 6.70000e+01 This yeast is used to produce the "California Common" style beer. A unique lager strain which has the ability to ferment up to 65 degrees while retaining lager characteristics. Can also be fermented down to 50 degrees for production of marzens, pilsners and other style lagers. 0 10 FALSE
WLP815 - Belgian Lager Yeast 1 Lager
Liquid 3.50000e-02 FALSE White Labs 815 1.00000e+01 1.20000e+01 Medium 7.50000e+01 Clean, crisp European lager yeast with low sulfur production. The strain originates from a very old brewery in West Belgium. Great for European style pilsners, dark lagers, Vienna lager, and American style lagers. 0 10 FALSE
WLP820 - Oktoberfest/Märzen Lager Yeast 1 Lager
Liquid 3.50000e-02 FALSE White Labs 820 1.10000e+01 1.40000e+01 Medium 6.90000e+01 This yeast produces a very malty, bock like style. It does not finish as dry as WLP830. This yeast is much slower in the first generation than WLP830, so we encourage a larger starter to be used the first generation or schedule a longer lagering time. 0 10 FALSE
WLP830 - German Lager Yeast 1 Lager
Liquid 3.50000e-02 FALSE White Labs 830 1.00000e+01 1.30000e+01 Medium 7.60000e+01 This yeast is one of the most widely used lager yeasts in the world. Very malty and clean, great for all German lagers, Pilsner, Oktoberfest, and Marzen. 0 10 FALSE
WLP833 - German Bock Lager Yeast 1 Lager
Liquid 3.50000e-02 FALSE White Labs 833 9.00000e+00 1.30000e+01 Medium 7.30000e+01 From the Alps of southern Bavaria, this yeast produces a beer that is well balanced between malt and hop character. The excellent malt profile makes it well suited for Bocks, Doppelbocks, and Oktoberfest style beers. Very versatile lager yeast, it is so well balanced that it has gained tremendous popularity for use in Classic American style Pilsners. Also good for Helles style lager beer. 0 10 FALSE
WLP838 - Southern German Lager Yeast 1 Lager
Liquid 3.50000e-02 FALSE White Labs 838 1.00000e+01 1.30000e+01 Medium 7.20000e+01 This yeast is characterized by a malty finish and balanced aroma. It is a strong fermentor, produces slight sulfur, and low diacetyl. 0 10 FALSE
WLP840 - American Lager Yeast 1 Lager
Liquid 3.50000e-02 FALSE White Labs 840 1.00000e+01 1.30000e+01 Medium 7.70000e+01 This yeast is used to produce American style lagers. Dry and clean with a very slight apple fruitiness. Sulfur and diacetyl production is minimal. 0 10 FALSE
WLP862 - Cry Havoc 1 Lager
Liquid 3.50000e-02 FALSE White Labs 862 1.30000e+01 2.30000e+01 Medium 6.80000e+01 Licensed from Charlie Papazian, this strain can ferment at ale and lager temperatures, allowing brewers to produce diverse beer styles. The recipes in both Papazian's books, The Complete Joy of Homebrewing and The Homebrewers Companion, were originally developed and brewed with this yeast. 0 10 FALSE
WLP885 - Zurich Lager Yeast 1 Lager
Liquid 3.50000e-02 FALSE White Labs 885 1.00000e+01 1.30000e+01 Medium 7.50000e+01 Swiss style lager yeast. With proper care, this yeast can be used to produce lager beer over 11% ABV. Sulfur and diacetyl production is minimal. Original culture provided to White Labs by Marc Sedam. 0 10 FALSE
WLP920 - Old Bavarian Lager Yeast 1 Lager
Liquid 3.50000e-02 FALSE White Labs 920 1.00000e+01 1.30000e+01 Medium 6.90000e+01 From Southern Germany, this yeast finishes malty with a slight ester profile. Use in beers such as Oktoberfest, Bock, and Dark Lagers. 0 10 FALSE
WLP940 - Mexican Lager Yeast 1 Lager
Liquid 3.50000e-02 FALSE White Labs 940 1.00000e+01 1.30000e+01 Medium 7.40000e+01 From Mexico City, this yeast produces clean lager beer, with a crisp finish. Good for Mexican style light lagers, as well as dark lagers. 0 10 FALSE
Wyeast - American Ale 1 Ale
Liquid 1.25000e-01 FALSE Wyeast Labs 1056 1.50000e+01 2.20000e+01 Low 7.50000e+01 Very clean, crisp flavor characteristics. Low fruitiness and mild ester production. Slightly citrus-like with cool (15-19C) fermentation. Versatile yeast, which produces many beer styles allowing malt and hop character to dominate the beer profile. Flocculation improves with dark malts in grain bill. Normally requires filtration for bright beers. Everything :) 0 0 FALSE
Wyeast - American Ale II 1 Ale
Liquid 1.25000e-01 FALSE Wyeast Labs 1272 1.50000e+01 2.20000e+01 Medium 7.40000e+01 Consistent performance. Fruitier and more flocculent than 1056. SLightly nutty, soft, clean, with a slightly tart finish. Ferment at warmer temperatures to accentuate hop character with intense fruitiness, or ferment cool for clean, light citrus character. Expect good attenuation, but this will vary with grist, mash, and other wort characteristics. Reliably flocculent, producing bright beer without filtration. American Pale Ale, American Strong Pale Ale, American Amber Ale, American Brown Ale, American IPA, Imperial IPA, American Barleywine, American Stout, Porter, Cream Ale, Strong Scotch Ale, Irish Ale, Imperial Stout, other strong Ales, Christmas/Winter Ale, Spice/Herb/Vegetable Ale, Smoked Ale, Wood-Aged Ale, Fruit Ale 0 0 FALSE
Wyeast - American Lager 1 Lager
Liquid 1.25000e-01 FALSE Wyeast Labs 2035 9.00000e+00 1.40000e+01 Medium 7.50000e+01 Bold, complex, and aromatic. Good depth of flavor for a variety of lagers. 0 0 FALSE
Wyeast - American Wheat 1 Ale
Liquid 1.25000e-01 FALSE Wyeast Labs 1010 1.40000e+01 2.30000e+01 Low 7.60000e+01 A dry fermenting, true top-cropping yeast which produces a dry, slightly tart, crisp beer. Ideal for beers where a low ester profile is desirable. Cream Ale, Kolsch, American Wheat, American Rye, North German Altbier, Dusseldorf Altbier 0 0 FALSE
Wyeast - Bavarian Lager 1 Lager
Liquid 1.25000e-01 FALSE Wyeast Labs 2206 8.00000e+00 1.40000e+01 Medium 7.50000e+01 Used by many German breweries to produce rich, full-bodied, malty beers. Good choice for Bocks and Doppelbocks. Benefits from diacetyl rest at 14 C for 24 hours after fermentation is complete. 0 0 FALSE
Wyeast - Bavarian Wheat 1 Ale
Liquid 1.25000e-01 FALSE Wyeast Labs 3638 1.80000e+01 2.40000e+01 Low 7.30000e+01 0 0 FALSE
Wyeast - Bavarian Wheat Blend 1 Ale
Liquid 1.25000e-01 FALSE Wyeast Labs 3056 1.80000e+01 2.30000e+01 Medium 7.50000e+01 0 0 FALSE
Wyeast - Belgian Abbey II 1 Ale
Liquid 1.25000e-01 FALSE Wyeast Labs 1762 1.80000e+01 2.40000e+01 Medium 7.50000e+01 0 0 FALSE
Wyeast - Belgian Ale 1 Ale
Liquid 1.25000e-01 FALSE Wyeast Labs 1214 2.00000e+01 2.40000e+01 Medium 7.60000e+01 Abbey-style top-fermenting yeast, suitable for high-gravity beers. Estery, great complexity with very good alcohol tolerance. This strain can be slow to start. 0 0 FALSE
Wyeast - Belgian Ardennes 1 Ale
Liquid 1.25000e-01 FALSE Wyeast Labs 3522 1.80000e+01 2.90000e+01 High 7.40000e+01 0 0 FALSE
Wyeast - Belgian Lambic Blend 1 Ale
Liquid 1.25000e-01 FALSE Wyeast Labs 3278 1.70000e+01 2.40000e+01 Low 7.50000e+01 0 0 FALSE
Wyeast - Belgian Saison 1 Ale
Liquid 1.25000e-01 FALSE Wyeast Labs 3724 2.10000e+01 3.50000e+01 Low 7.80000e+01 0 0 FALSE
Wyeast - Belgian Strong Ale 1 Ale
Liquid 1.25000e-01 FALSE Wyeast Labs 1388 1.80000e+01 2.70000e+01 Low 7.60000e+01 0 0 FALSE
Wyeast - Belgian Wheat 1 Ale
Liquid 1.25000e-01 FALSE Wyeast Labs 3942 1.80000e+01 2.30000e+01 Medium 7.40000e+01 0 0 FALSE
Wyeast - Belgian Witbier 1 Ale
Liquid 1.25000e-01 FALSE Wyeast Labs 3944 1.60000e+01 2.40000e+01 Medium 7.40000e+01 0 0 FALSE
Wyeast - Bohemian Lager 1 Lager
Liquid 1.25000e-01 FALSE Wyeast Labs 2124 8.00000e+00 1.40000e+01 Medium 7.50000e+01 Carlsberg type yeast, most widely used lager strain in the world. Produces a distinct malty profile with some ester character and a crisp finish. Benefits from a diacetyl rest at 14 C for 24 hours after fermentation is complete. Also used for pseudo-ale production with fermentations at 24 C which eliminates sulfur production. 0 0 FALSE
Wyeast - Brettanomyces bruxellensis 1 Ale
Liquid 1.25000e-01 FALSE Wyeast Labs 5112 1.50000e+01 2.40000e+01 Medium 8.00000e+01 0 0 FALSE
Wyeast - Brettanomyces lambicus 1 Ale
Liquid 1.25000e-01 FALSE Wyeast Labs 5526 1.50000e+01 2.40000e+01 Medium 8.00000e+01 0 0 FALSE
Wyeast - British Ale 1 Ale
Liquid 1.25000e-01 FALSE Wyeast Labs 1098 1.80000e+01 2.20000e+01 Medium 7.40000e+01 Produces beers with a clean neutral finish allowing malt and hop character to dominate. Ferments dry and crips, slightly tart, fruity and well-balanced. Ferments well down to 18C. Blonde Ale, Scottish Light 60/-, Scottish Heavy 70/-, Scottish Export 80/-, Mild, Northern English Brown, Robust Porter, English IPA, English Barleywine 0 0 FALSE
Wyeast - British Ale II 1 Ale
Liquid 1.25000e-01 FALSE Wyeast Labs 1335 1.70000e+01 2.40000e+01 High 7.50000e+01 Typical of British and Canadian Ale fermentation profile with good flocculation and malty flavor characteristics, crisp finish, clean, fairly dry. Ordinary/Special Bitters, ESB, Northern English Brown, Brown Porter, Dry Stout, English IPA, English Barley Wine, Foreign Extra Stout, Cream Ale, Irish Red Ale 0 0 FALSE
Wyeast - Budvar 1 Lager
Liquid 1.25000e-01 FALSE 2000 9.00000e+00 1.30000e+01 Medium 7.30000e+01 Nice malty nose, subtle fruit. Rich malt profile on palate. Finishes malty but dry, well balanced, crisp. Hop character comes through in finish. 0 0 FALSE
Wyeast - California Lager 1 Lager
Liquid 1.25000e-01 FALSE Wyeast Labs 2112 1.40000e+01 2.00000e+01 High 6.90000e+01 Suited to produce 19th century style West Coast beer. Retains lager characteristics at temperatures up to 18 C (65 F), and produces malty, brilliantly clear beers. This strain is not recommended for cold temperature fermentation. 0 0 FALSE
Wyeast - Czech Pils 1 Lager
Liquid 1.25000e-01 FALSE Wyeast Labs 2278 1.00000e+01 1.40000e+01 Medium 7.20000e+01 Classic pilsner strain from the home of pilsners for a dry, but malty finish. The perfect choice for pilsners and all malt beers. Sulfur produced during fermentation can be reduced with warmer fermentation temperatures (58 F) and will dissipate with conditioning. 0 0 FALSE
Wyeast - Danish Lager 1 Lager
Liquid 1.25000e-01 FALSE Wyeast Labs 2042 8.00000e+00 1.30000e+01 Low 7.50000e+01 Rich, Dortmund style, crisp, dry finish. Soft profile accentuates hop characteristics. 0 0 FALSE
Wyeast - European Ale 1 Ale
Liquid 1.25000e-01 FALSE Wyeast Labs 1338 1.60000e+01 2.20000e+01 High 6.90000e+01 Full-bodied complex strain finishing very malty with full bodied profile, very desirable in English Browns and Porters. Produces a dense, rocky head during fermentation. This strain can be a slow starter and can be slow to attenuate. May continue to produce CO2 for an extended period after packaging or collection, while in refrigerated storage Altbier, Southern English Brown, Baltic Porter, Sweet Stout 0 0 FALSE
Wyeast - Forbidden Fruit 1 Ale
Liquid 1.25000e-01 FALSE Wyeast Labs 3463 1.70000e+01 2.40000e+01 Low 7.40000e+01 0 0 FALSE
Wyeast - German Ale 1 Ale
Liquid 1.25000e-01 FALSE Wyeast Labs 1007 1.30000e+01 2.00000e+01 Low 7.60000e+01 True top-cropping yeast, low ester formation, broad temperature range affects styles. Cold fermentation will produce lager characteristics including sulfur production. Fermentation at higher temperatures may produce some mild fruitiness. Generally, yeast remains significantly in suspension. Beers mature rapidly, even when cold fermentation is used. Low or no detectable diacetyl. Kolsch, American Wheat, American Rye, North German Altbier, Dusseldorf Altbier, Berliner Weisse 0 0 FALSE
Wyeast - German Wheat 1 Ale
Liquid 1.25000e-01 FALSE Wyeast Labs 3333 1.70000e+01 2.40000e+01 High 7.30000e+01 0 0 FALSE
Wyeast - Irish Ale 1 Ale
Liquid 1.25000e-01 FALSE Wyeast Labs 1084 1.60000e+01 2.20000e+01 Medium 7.30000e+01 This yeast ferments extremely well in dark worts. Beers fermented in the lower temperature range produce dry and crisp beers to fruity beers with nice complexity using fermentation temperatures above 18C. Scottish Light 60/-, Scottish Heavy 70/-, Scottish Export 80/-, Irish Red Ale, Strong Scotch Ale, American Amber Ale, Robust Porter, Baltic Porter, Dry Stout, Sweet Stout, Oatmeal Stout, Foreign Extra Stout, Imperial IPA, American Barleywine, Spice/Herb/Vegetable Beer, Other Smoked Beer, Wood-Aged Beer 0 0 FALSE
Wyeast - Kolsch 1 Ale
Liquid 1.25000e-01 FALSE Wyeast Labs 2565 1.30000e+01 2.10000e+01 Low 7.50000e+01 True top croppint yeast similar to Alt strains. Produces slightly more fruity/winey characteristics. Fruitiness increases with temperature. Low or no detectable diacetyl production. Also ferments well at cold temperatures (13-16C). Used to produce quick-conditioning pseudo-lager beers. Requires filtration or additional settling time to produce bright beers. Kolsch, American Wheat/Rye Ale, Altbier, Cream Ale, Berlinerweisse, Spiced/Herb/Vegetable Ale, Fruit Beer 0 0 FALSE
Wyeast - Lactobacillus 1 Ale
Liquid 1.25000e-01 FALSE Wyeast Labs 5335 1.50000e+01 3.50000e+01 Low 7.50000e+01 0 0 FALSE
Wyeast - London Ale 1 Ale
Liquid 1.25000e-01 FALSE Wyeast Labs 1028 1.50000e+01 2.20000e+01 Low 7.50000e+01 Rich with a dry finish, minerally profile, bold and crisp, with some fruitiness. Often used for higher gravity ales and when a high level of attenuation is desired for the style. Mild, Northern English Brown Ale, Brown Porter, Robust Porter, Dry Stout, Foreign Extra Stout, Russian Imperial Stout, Old Ale, English Barleywine 0 0 FALSE
Wyeast - London Ale III 1 Ale
Liquid 1.25000e-01 FALSE Wyeast Labs 1318 1.80000e+01 2.30000e+01 High 7.30000e+01 From traditional London brewery with great malt and hop profile. True top cropping strain, fruity, very light, soft balance palate, finishes slightly sweet. Ordinary/Special Bitter, ESB, Southern English Brown, English Pale ale and IPA, Mild Ale, Sweet Stout, Oatmeal Stout, Strong/Old Ale, English Barley Wine, American Amber Ale 0 0 FALSE
Wyeast - London ESB Ale 1 Ale
Liquid 1.25000e-01 FALSE Wyeast Labs 1968 1.80000e+01 2.20000e+01 Very High 6.90000e+01 This extremely flocculent yeast produces distincly malty beers. Attenuation levels are typically less than most other yeast strains making a slightly sweeter finish. Ales produced with this strain tend to be fruity, increasingly so with higher fermentation temperatures (21-23C). Diacetyl production is noticeable and a thorough rest is necessary. A very good cask conditioned ale strain due to thorough flocculation. Bright beers easily achieved with days without filtration. Ordinary/Special Bitters, ESB, Mild Ale, Southern English Brown, English IPA, Strong/Old Ale, English Barley Wine, Wood Aged Ale, Spiced/Herb/Vegetable Ale, Fruit Ale 0 0 FALSE
Wyeast - Northwest Ale 1 Ale
Liquid 1.25000e-01 FALSE Wyeast Labs 1332 1.80000e+01 2.40000e+01 High 6.90000e+01 One of the classic ale strains from a Northwest US Brewery. Produces malty and mildly fruity ale with a good depth and complexity. Any American Ale, Blonde Ale, Spiced/Herb/Vegetable Ale, Fruit Ale 0 0 FALSE
Wyeast - Octoberfest Lager Blend 1 Lager
Liquid 1.25000e-01 FALSE Wyeast Labs 2633 9.00000e+00 1.40000e+01 Medium 7.50000e+01 Designed to produce a rich, malty, complex and full-bodied Octoberfest beer. Attenuates well while still leaving plenty of malt character and mouthfeel. Low in sulfur production. 0 0 FALSE
Wyeast - Pediococcus 1 Ale
Liquid 1.25000e-01 FALSE Wyeast Labs 5733 1.50000e+01 3.50000e+01 Low 7.50000e+01 0 0 FALSE
Wyeast - Pilsen Lager 1 Lager
Liquid 1.25000e-01 FALSE Wyeast Labs 2007 9.00000e+00 1.30000e+01 Medium 7.30000e+01 A classic American pilsner strain, smooth, malty palate. 0 0 FALSE
Wyeast - Ringwood Ale 1 Ale
Liquid 1.25000e-01 FALSE Wyeast Labs 1178 1.80000e+01 2.30000e+01 High 7.00000e+01 Unique fermentation and flavor characteristics. Distinct fruit ester and high flocculation provide a malty complex profile, also clears well. Thorough diacetyl rest is recommended after fermentation is complete. American Brown Ale, Mild, Southern English Brown Ale, Robust Porter, Baltic Porter, Sweet Stout, Oatmeal Stout, American Stout, American IPA, Fruit Beer 0 0 FALSE
Wyeast - Scottish Ale 1 Ale
Liquid 1.25000e-01 FALSE Wyeast Labs 1728 1.30000e+01 2.40000e+01 High 7.10000e+01 Ideally suited for Scottish ales, and high gravity ales of all types. Can be estery with warm fermentation temperatures. All Scottish Ales, Foreign Extra Stout, Imperial Stout, Imperial IPA, American Barley Wine, Christmas/Winter Ale, Baltic Porter, Wood Aged Ale, Smoked Ale 0 0 FALSE
Wyeast - Thames Valley Ale 1 Ale
Liquid 1.25000e-01 FALSE Wyeast Labs 1275 1.60000e+01 2.20000e+01 Medium 7.70000e+01 Produces classic British bitters, rich complex flavor profile, clean, light malt character, low fruitiness, low esters, well balanced. Ordinary/Special Bitter, ESB, Northern English Brown, Robust Porter, Dry Stout, Foreign Extra Stout 0 0 FALSE
Wyeast - Trappist High Gravity 1 Ale
Liquid 1.25000e-01 FALSE Wyeast Labs 3787 1.80000e+01 2.50000e+01 Medium 7.60000e+01 0 0 FALSE
Wyeast - Urquell 1 Lager
Liquid 1.25000e-01 FALSE Wyeast Labs 2001 9.00000e+00 1.30000e+01 Medium 7.40000e+01 Mild fruit/floral aroma. Very dry and clean on palate with full mouthfeel and nice subtle malt character. Very clean and neutral finish. 0 0 FALSE
Wyeast - Weihenstephan Weizen 1 Ale
Liquid 1.25000e-01 FALSE Wyeast Labs 3068 1.80000e+01 2.40000e+01 Low 7.50000e+01 0 0 FALSE
Wyeast - Whitbread Ale 1 Ale
Liquid 1.25000e-01 FALSE Wyeast Labs 1099 1.80000e+01 2.40000e+01 Medium 7.00000e+01 Very clean, crisp flavor characteristics. Low fruitiness and mild ester production. Slightly citrus-like with cool (15-19C) fermentation. Versatile yeast, which produces many beer styles allowing malt and hop character to dominate the beer profile. Flocculation improves with dark malts in grain bill. Normally requires filtration for bright beers. Everything :) 0 0 FALSE
brewtarget-2.0.2/data/sounds/0000755000175000017500000000000012266512167015451 5ustar philipphilipbrewtarget-2.0.2/data/sounds/drinkAnotherHomebrew.mp30000644000175000017500000003216412266512166022220 0ustar philipphilipXing;4t "))--25599<g|.{ho'ƕNIe]ր $&͇,R u -ȥbyOur&5/nlO"RHGia(0( :k ]U@rGmRB{P,m~Te'sH0 aCFZA(aQi6V.uln˺[$Keoa%Sm)-8 اK?2d!ԯ80tˆ8fȬҊuap ZUWoy4i,fy+O0)ߚ5Сj%Ulוq/m}sŒ\ݴ&HhA-QBi>0#Iݰ]0<K%\AYiq8 Q!)+~PѦg)vkWwڗ012ᡃ(xj |F8qBh J gku>2zrGt桽CwB/Rմ8[7v)a0>D; `Jwg:Uu9H͕]B6ըT ֶ_ gghlYn+5ZdĨz13f .l\{p[8ɚ[7 */ l=CH+k1&%§:.a8򚎮|rsϓS;uVsOե"q OlD)8Fbȱh{. 8ʚ.} j`it,JLT`  6G!،o8,|^cʯ_E~C_kRv" Z?)CL AP I*ҿ)Νm:h[75: Te ]V^*+gNH?l9% OOa_8c}amqO7=l_W@0 Z0 S0 4 .ՂCD1{q&0*&7iPG$-ms9IUBT9DQWg28ٯO$EYr9߷;_{/Xhۍ9zb'o9Tǿ6d dBg?X1BS!   e&|*r2D 9Lm2X Yhw5$#z˜&K]-Bb#$75bZ N7Y12Ggn;(c,r(#1J[ |o֭I4/,@mc`aSВS8^_*kE0)L z&C ?RWKj˥dEhCD3at#zKȃX͚侼Pø:,cO*rޱ6sUpyaٕ{nHH"@^?hYwP1B#&TqcԠ<8dQ`N[`쒳Nh'*GA͌.zuRTī)ue071!{S\➒Q$m39T5yr9k.xYcs`斏ڨ>l7OlhA&Q!/Syk$53h'KXlqNL'(OXr< Rښ!fשU!3CeMV2ձӠ }lkB (xAh f v2A,+(Zr Ǝbَw4+8qeL0.,J@٦Ҳ=L?wod'fDcTLmlecJ]WwAG;Zi( 0oca+6 #mJ&T0?SFG"x*0i2|d2XD`$bsGSIa()4 \_.ExrG2;Hctiw}1$6#T\qY)tC7=T*L! *cI U %Pah*B!4 hh F3Ij ԍtT*=!U58 %mK"0P4bQ.9əAG$3]r'YB{f>,7I?.0[O<1UR]D bʶ0 ˙H2J=I `j_?MIm $.)vh$}pJ8]68eZ&&EI[qf\xTNC[ɾӋdM 99'DA\j'$I-}H #}Q*703W ҕ\q`#j9ȹHR9jMrK%tͺ(U3B@$}ҴZqYFp8xw"5Q7A À?W*;dL),9W;9aoeEPjG[C4Br䤕8ZX+ZAf ; y&#,t®K)8"%Q/-?Pnj{)-J#Ek4LH NWbaPp# B^գ玨e A* .&ԍF&v9֮WgtTz463򌆡)BP {B[V<%T  #,4,i!w|T&Gj)e^H a#YKi%5 $^ b<@U*! :}q#/[wr#Q"c~eu.VC)YSmVZg3֦g` UHC~nZ#@XalHDLpr&6AJaT&JBZHQ#OQkUQ.ΨUYHB"4l& )<Gv- !jh~aHLL58;[<vyxSa`Pva;+-."{r_E;t84FԎ29 .43142%DYFgDS6Q@ .9J AӦA#4Y4趯Vd;RK(4:EԊr\~rViEh5S#w5 KD34VFbb c8#^ 7MԤYĒ]&s[f\`^c@La-0B'$$b$\c@*4D `XP"@6PhB$ВS2 DD8  ',k8ˉ6&d VZ)-'-wn_+2R~ɦmJtAPԼt5e w?h CT2AJX[̰7l'p1PrbBL 8OuCIAxdNō:A'-`lSؚxB]5*iOSӥIi`YƬ]?xiBqUQ|[n!o"#GT)fcz;MMNoe: MI]u44r}jqdԢڦ hr `<Z7~ܨҭNJh҈)GV,AtDwXJ( m{_0G)f*8x ZY[ԭoPd5־Y|w cKUuyXɂ?$ \-zܩXe9b4TOLr°D4oW<ԴW_t m o)XHN:&YeI.(cS>72`nv''HvG/mg3d*jфXrAWLIq6 ɬ+INW/gkׯ{\Jq6yLQ4U9Ck%Ibv@Oj?BhX 7S/?0r#mi T@3T*4SOu&J! Ϭ$\vc<h-ZC 0\k!\Y3Im\b|dq0mŤXʈ"*EbN0i xŵ3lF}VXiG7޵E344 ڹxƇc[5WI/gT4c+~IG9 #1JAHNZ7 Fho2#62ͺ|J3W\ŰZBH 3i)l77 B!A7Sw&rv鑎}\f9귿yYi+*" J"*n`^6פR5@Bvp1Ǹ"K)N’3y(wa/G.cR݆0*٨7N,FQ0@jum?iZ8h%_Md @X $.U x\FZѽLb˙P( qe0i!`*l>P(A,B3vT8]:vrP lfF 2e(%ߎdzqVF0CQa.dc2u+Ƙ*-ob{n<|dQ xrD:H [USjDk5"U:C }?χѴ:y{ܻ7!BkJak{N ei?}޻Jz~Քý<#w[Ց X@Ռ :h稅d$ ZQ-yKK;,,og.0 ,;$GqC7&v,+K*t^`vY))R9pCn3Z)J,x N PiEX_<kB:P aFWh0S3ג]DɆ[|Ey)*?K^=KLJ6VKB~sF҅E!n昦g=]nfΡU46sv+cN"D0h_c>%jePGTWJ|:&=SKTjQ=OQu+T„p boP\m\躺U'ٺwKp8?]qL+jh8nmAd( }k,K)o, 7~_@omq0wļs<fw.]\wwȴ_}ej~*l1€𤨘R0AQ+~& aNٽa0qΈLct]`HY@bC,Kb\I @`8 =gcQ!vl}TpY͒$0Rbi{LNd.ȚJ=Ԕp3(mh6y[>2M.Zѵ+JT쑌9j{Ѐ@=s, 10nQbY!3t^:Ūq_+ՎmYZ+ЬϷarlR K%hB@Bj >PC^H 1c$K!l=|rz%1h<H*L͊RD(tx[ r-”tZHSpP՟(M :3uaG˔jNN!5 HqbTl'i9sQPO Ӡ@}2m/B8e]wgI3yVvel12ّh1m4emDli`X7m3mPu^Hc= ႑uD) h諆[OjW6W̡֧?]psM يF@z)M*‘pXo0BI%!.KJ5Pj@pl!:FDE.9Fh " ]".JQ.-IhheqsbO&.iu4QAE{3$귺l`nb)YH@?Q!#J<%h3]Rjw6]`/@F+G3Hh(d 0@FxP]L(_T9M!n{'*ÔJ+y{: I}dG5m(/iJ_yk:_UtƽZ_V--;Π' W~ B3S?\x1\*3N0г-%-#X+A a&Ӑf.%2߶DMo$[ww˗P+bPn!Ye@fm4CW\ALeA)P% ("VLNd68MT})vk l,Fc${^mZXE==d2jCm 5.5ꢼ6a2*iG/@ЁH9@ \xo25>z.(E}$e(G9ݯCڗ=SCIb&XRuPX oZliUyw.!7L5ݍ Op)(So v=jXgֶθ2""ؙ4@ohI+JDiJ?dz3RK2 OSi8F3#搔NIM&M".VQtNڄ~x\Iٶu7Y.UX²J4+)V\izґl"l:UKR=XI s`PE(U35(ׇqfeY, #X&<PfP8 aLc0j"(WC07$%Д3HOrYma@\I5U!x*{z!"z Q#L!yhB#0 $ 0ZrZWdVQg=KM$ {PIΥ5L-s h5Qi  <@$/LQ ]Q ch@/X8 >|(ql0CdLX'ӨR (WSS;Wy65ɳ"M"EQ5bnXt F&Sȩ_ޙQ90N&NQ.Y2,xyt:%38GL9hdP& _.4pn"*eti B&׿S-֫-uά8sˊJ,@ ?3 L [LJ2$}N"`X1Qd6bFFazM7wmF:i+MпUcI@# q5YLaj闈*|L'b!2:K!B \C)t ΧzR,yV_ `~^W;& +N2N(„j6hF `H- < =gUd( g[Laqji$3Yra?tݕM㜒Z՞zaD*6~ľ<HhD wL`&҄hNԯ?0FDTl4HXV(!jYKQԠRUma c +Vaw&Crh( 08 eYPQ)TGx(R1)åZ%uh5~I MdrM}h*Wr5Jz*# S\ M"_RP(gHT8߁#lK˂~M0fG/uz5Yj4(t»ˆWU('> sAL8 !WM2&cDDeEg\g"*U*88 XUk|SElp$|C">⥁j&e K hJ=S 1DEb1mhϕn4 W&yۋsP!)=Ce`@a@ Ơl]Xy'r," RA`1(]INk=4C iJ0ͷ7̛VV[Z3*`57]nP7*8EtyQ-բ;ځjFD(_PY-P@3 S!+yCDlxyuc{q)7 -gq[U&2UZfv( Utj|׌wXư6dl@c^* ;O*9՚$C(/҄$<8W?ز5JX쬹?4gfw%o z.ܔt"qA11oL}w:O-='-0xnfxi( (Wu!j|Ѥ91ɦj-gw&W̭rlPxBGfyf&ФVȆ^/T2]t l55BDD %D$u6 Ǒ2dai9G*hMљ]= v^k]X+{ߐxr|)H]7APyz8;LUD8F) \AGȈ4SGLahMǐ9E~_ӗ{ҥˮ}X4 h i6 ROR2 .LGqK (a   *FLI!boi_U}JBދ*Im]@q- M#HlM*f@b( QGahu 4-".LLDJ %çÆ`HT<8(]%̊o/:.iqyS}h1; suйJ lP;!P!PB}^Jvچ\j=P R# +wtzvu4)7Ѡa OXIiH굤d&8b!@D; ql.ab¤^!i.3vM~8*A)HW>j^ݢ~́]/#~ϕD#k 3J#P pNFs P͸|dqgGZo93(Tڳj* |j/JU3f J ͔d FU$j;!)8yh?.8 \a$jf,T0w3n$%OGm_qW࠘K <ϽgWzK5f\` Aa ,Ё/7((T@xֿ5HYk3G?=)d)=)QEV9 ˉڷ(w }+{R'Z `}lMoԴx_jl@JWxt*Zt!"q|^ D2mKA 3g3 vkA``G~]6qlw-=Ebs/x7Pn/j 8HqH(08{qaJGDRsK-U8ck591pJ6MA h9k綮PHqTX *Z=G1ڱX=GxBH0"ئmdTL(OXGYK%$}JXcl>9rlcJ<(-Z>t㯊CWl[s|E%c5xjb.`mCFs{j@+zb%Y Xh.IaԦ`gD얝TcED-,vmP=oz%^T_j՞SBQt2Dysݏ9,PKԒVuK25DPGR2)SjhF #{Hm7/yrf\nH3q&n|4&qiަ1*xɈ8iB,ڋ^7Ļ,tSL3GCX\-\ R*5O= /bZ@Fow1!(h6 [:<3QE5ҷqjX@~QFM<2C 82m5B2/s̓umokh+oNYGUR3TDi9d E) D(8 -sr!ϥn|ġL?rTis` JTR P*QRL3fT(xY3Z)AB$ Q_ݥu1[.eF,B&ņMHD7{Iamḃ&%O1+ZӛU!`fkO4>NZ> 8,@le=Ζ~Jc8 uonA!P뾹B %5e?,'P&P+iVw4qNdb+hr2 gb>E KD'Yp Y# UݔGh0_٢yhbJ@!Q6 @9Bz]low/i݌/ l8+wn||,vdaF((J +Z8 M7ku3,%2^z?@)"*Č,"#`XI4+!!V&),F< qYD)C¿ZS ܑE܀\? ʱ >щRP*X7H Cz}sz73ӿ깅ojow0e֑IT26 a4a C( Qqe$K!75 v a{:\p\_-k箤m!)lǢLN3NDW!_Ҭ@m\bl.4U뇒/Gjz1 MQ?2`aos 8 )sg,L?%TqzpIv~%N:~^ +zW4崭A⟽gS5y?e1+ _ƺUvScL1ߖ)pQB]bѪpP Qk4Txy@dn"lFpGrd!Tꉻ)z%b‚G\ WaB1I0!0% NuaD( Xsg$.,5APQ>M6zy{]L)́H.AXB) ҖXR v)RMsLR* uo^NuvZC! ȞRHXZH`rPt`L'G@8 őkS),](!`1uzYO}COXRnrP5$0!hD_CHT 2S^je=iP(pVUiЈm'0iGS[PB4<thB܀{NdI=֋3V8!~}OJYJ{Nh Aoe"Ӳ3 $6q/1EĶZ֝Q22 UUWD#Rmj 0! d\HC,=I Eb-`&a (>%\%g,@D h]Bjw2(ŚHu3ٸԁ/CWTk¨Gޡ]wQw_)DrįBe?KϺwrkT1#Yu=0Yջ}\Uh0R]XYv~>߯k?@K)HJ孲IؕSV]$W6y+q'2YHJ9 Ђ_ңn\AVr~LkX)q)kBWڝ> gEvQә=3ݙ bߙuɟ݅蕬?9mz0B[.ZxwfYoH]W=xx"@<FU$jխrJ$4>bk4 )Juq3 !XҴiڽm;Zm7i\wܳttP4}@&,E Ňa2 9kد]^i%(IdőASDY ̂ejq+? Mb92^U],#jt0佳btVlؗ} XUe[0I ">1rD|609^Pg=;abfe=q!$fɸ7:zRt_W:b3fEEHtZ_?HS3i@ru0oC|: Q]8S Fƀ 9o2Ā^"v)EvFaRPۜRfEqr7*ȝ n&Kڨ:} zO%*+` $AMmq  cIn= xa,2 %#!:GĀ.=?UcLZYV1)ECzLv*zzuwL«,RK}VW&}wMZX3I^k,cv<\#C&_{JMg/)0.er`FP 6dGgc&[Q VYXފ*X$w( ڊth{YtVˮUA(9 z+֯k^7DNQj5eUӮ;'Ihݓ6E5Ud@n -z.i #lr u^8\i$Ϊm=\fk Xv"66,@.Yhp%09wN|V)B$,L8JlW$(1`TgB[{LBaAZ% ij! "#9$d-n /ԾWTO46|ӂI0=Xk@|eIaʶFf[o RnR\ F  `LL?R& .$ `=k 5hSqB2:;#)0@8AUh#z  aMoj@P34WLw!)#*'08eeU˻~\5ƞɎgwj?^[Z1e؊SsYoUô >P~ IuܤC af(YIB Xfh!cYBOlw XkGd#$\fcNp% djVԐ<۵ڍ͠r1!A˪3/I;-?ܴՑJlZC9oHi%ɐܫ83 IM?.QQfB MB, [\IPwX~yKY,%B/ Io23"3sJ@`eTtǨLZ}/gH*1v RjBa'J(ĥ (}$d3X~_vmI:_1C l XUtkx3ʦX!g*w+5pDl@Ѱ)NN8)|[9 -Qѯ6.P D#'#$Fƣ 3zsUMрE]hh\xʻl<3Z0ж[bV^o+AR[h)ui"Q/m<9???I*W2?*i'⢰mVT0Ԗ UڴYTXW 3OFVPRHgO*74KxzZ.>?s_o5c* p +3BksǮ#%Q-6//b^ef{kLX2Q` ο*ºk=J5a.9E.21y#s%%W1\ꨑQп\\=2*A!hzj۩Br,ż A8CQAɓ!޴;E$i@Eg~;ń8#mcm癏aP`}=a kNKz.h_{s@Z\Ys; 5(sՃArEa$wUi*}C̅{27]_MBێ.h:as<ɔ1"ÿ-H=Uc?wH54#ƥ9F09`iC 1']Vjj7L8۲ jΏűpAsCFeƥyUUp= Y׎DCHĢr7W߰U\SDﭵYAǚDCTO#!yILxjLW 򵻝*>YכXyƒZ58 %a]!X j$"rGa5ɽܬҘRD*m$ !Ii=It$Ԓ8,h%uTΦ1d_u~&Ia4TrqL6*c Nʇ O4 n%P jS\+N)կ+/L*(,JDg~G΃%"OY㧤-]jo^BHOC)p`K,WEL|C,W?v[BHLQmxIYF)6͵ܡV({els*䃉qΛVW]7HZEHO>WjMh |S?3 @\9n?@爍 4;cMh zKKJ̞u}n2j}tuVR?0 6sJDgP(Dh \@Q,0 c ETCU1p"=C \$4N@tjL5t D Dzp5(©}YpTdy`S.; K̉ұ4bH0DfCt?Adi܃b*Hd*-H$LP7U:r_vwQS'sB`f0j--\Θ3Md\' gց»U5H@D( TV.u.H MU] %= +mbf+-&Z8|}:\"=u|$Ny0J B y%vsȸRZpQ@[?|]i~2M(lО3X",'RLd-yU3;ُKb|*D7eVgBF9Ѿ̏.R),2dZLtΐp-P ' y)5-ZÔDRNA8 e}aN.m= $JN qS - LY+Fs%]sY3Y3iRN]5sFf店~(#3 u%`߯_V?SL\TV8%Brʗ`HD&m5 WU[@s wFg"on-Cf)_/ԧbm/iAԥ+콴}x rjf:&!eS68 tejY'콇_]}#:bu\Xk[>qJ6N`̓MW8+JɘW6Z(o_ r%w}x PI(p5raZ|yt/N0@"TB~}) ? s`xsN  e'c{ZX e"',?21羁ӷX1$QE3+ ړ%CJdECuL Yb;?@pB@кc+ 2C&-+paBQ0c$,/duXy\Y71pp_ H<1G5L5eG3omUm^oODowLgZ<u zgf@T5L67i A a E` xu]3jE n*R0T:K[9Pe<#D}xn6GF])zrg+*2`4gO$W.\WHmIa޳ҷ<3{M41^սh pK uG:\1|0@`&/Et*ȀQ$AwqH>`1y'b_gv">cL; ;LĊט}=N{ |c0@9MR՛§ee/K2~.՞.Vx+1~Z;&ŧ99?=ݢޝvB_@ -LQX6f;W0`eJmj]Qi%q,@T( s)/sQ8+5amyU%?+k)cFuB8@'(d@x g>Ϝʶ2PlKҏߩK̹%O1 BW!9εU_Ot GvcB7N-@z( 7s F.= Woo YR*X ??^M'bkֵirޞ" y3 \-i*̮m>y1BK:n}[f"YCLw}fި[89?ԑJL38 -m08} $H`n>+ypqk"‹#^2iꕸfqQjnqĘ(uUd=k'fdf]LWT=|ّI v_MM f*8Ą zdH`ip[qL[*v|}%SEb/~S]O`ĪL* @@CHr3C$­CP( 1m$JX=\ WmN(6<2%iZ;'J86F핓w5pfnWUF%C((*3~.(5ɅT!*08a(KyB٬,$#CM02< ֥xc hiDPmZ.[E"8 smim {TneMw8m kTSA Pde'u&2:XtV>f*_R;ֹG :"ag8oV%YSh( J]/S@L%lBcQ":TOuc)soN @1"S k u .!#ha8 qg(JဥvPaVD<È14{]D Tף V %?*DBίrObikZc,)dǷ"Pz,*B{\3o~/PfR "鳊 լabXp/mncHwZ]]Vj e/e8EpU cuTt69>+ Z"x  5Y4"aP¡J*.2PPKlJxs ES"_^U3&WU(mZȝW.̇ Wg<)hd5{ldY7],[g#Y7MVGCgMq =Z<>cQljʸXscx pMƚ z<)c=}R{F,)m&:'AB>P(@dc3p-&u-Dҍޫz5a7ܯ` 1 J*='ʦ* W9^Rfcn$q2tJ/ŔV6"eYJ]( ciU+|% me*Z Z9PQ*6T;+6qs3T_{::ecF{Whx ̆5>pX@ =5Her^%\J PTJ45,xKx4"=X ҥ>eUh~k WUa) $7-V/ïŁ{AVNv{}=" MjgTMLGX=aoEä 1T9(`*Gkӫ]>nDugwgDIO! w0P[-vbng8H:qԔrQmuF ^(siҟуj-@1-"$"p#X_&/ξ&=:8:uF =eKovqz6jhc&lPYHBaLlm2;LthBPŠFX cMi͕ôs6%oS<Ǵw,Y)D?In쿽ʝ|5VgK.XϔY[vu2Գu񧷇?YnzV=27Ob3w*8c vys9ӁĦ^eZ@ > \:l kOu"Bcň͒GV9WPaq1LWd:)ݒRr+)e+GtEkKDsId@h,OUiz˻-Ni4$b( cG7TLL, -)溤YT)Y*zRgt4ڥLYR)J hXk X VI~ۃ6w]~5\]V`& p,ʊ+K 1iGG*u²O*LӞcD Vu9gG,,[|K`鴰d/hzfXJna"9 )hy$q8!1P [iu rӎs B dG*[2R8ct8']U3DUgMH.h⻽8 uM$c Д)4/'91(o睶8u&S4#P 6)]y(65o .f3ۻ:Dͣr[g`;"XEh *d  $'ACG! (,\QVn?(q G%vgoڀ vkL2H1TȜ֋WHh.iee:I]ր$K'$02[E<3H*pAelHKG`!l1E0Z P<$}h*-Ke6jrYu| Y "L![e䡥PRqNJ8Q" ho[1S h'6mF noQ+SS(kI$a+6 6,r^A CFI1+4ԕ`(I|A/-m -槙fS^պj4@pI ZN$Isċ9`$ &0ȳj20k-?B$nu.V7Sx{)d/M.70`4xdS+\ŢBBHp:L:)][@D8Yȵ8Ь Ɋ <2Nox8eFM!/9J)*e+T.?&)A+Y_PIZIS,d;]7w0KP7&PMسSU}}c{K<GΣF_~sy7u@Sĵbxw"@ xy3Y&565 0fp2YMO^KAv`dHRLM5ؒ QOqW&BdV{,;Jw.XFKfVJ *λ@2#1oYvQ4R 7jYC(5 H0a5ǃ/4ҁt;rf6h99Y8&?5; =䄿SI[G&LR5FNٲǣvC(!0T|цr,󾺭y+XUSյ;E2_w[=k,:}{umXwSPLAISpS2zb4s 8D 42*q#ʿH!0)yBvo"-NcIiX(5ACA|[EȻ] ~b 7-jk/$UrVOb<>Us\ʂcsssZe?jj_liYka0f*fH(Q& xYkw5Hp(և2 03$$X!^1.` 1[5B*\"@Ua0"aFY4Fp*Q`pCT-l+C$-!.n=קYb_Ib'ZƟ^@>7}.g~4z؈:".dbF\XA&>2A$QB@* į7F $[Kߕ3 ir۵gUQ[Fؠ`C8UH1ˎFL-jU-kwhP亦]Yvq7ܑ_媽Sx[(Žnf;,[]aRYpXùi(SO6z̟R,43%jdkɷDZ8pU] q&>]'Q0Ghogd L-u9yWRp3kf6#Fy~XʏDxF tm1R+J^]ݕ)ҾA u)]m$& q TdzMu )F] (%8 I;m0K^n=\ȴ3V6L+)V{Osy~׎uvNSlV^~jQK w0sh,y΄WsH $(Lvddƥ$s8 l^0ᄐk ?sL>pLYޝ枼vG&^{RAX쎏L-qQ'q;@x%_ 9 3h"Z1(j:W!dRتh#mYLjV,ԺTsl8h: yҼJt(JxN T&hXu_ʆȳYeK~gS6zsl&q% TMML t $T÷(g of|Ic,2z-oz쩚 kҰQ$z!y' <~tk ސr{bk.1d\^uѥ*-Rр,UUk#8 K!0y4mS?,D@ޖF:ǃMlJbٙ~6L g Ԫ2 b[m<()1`.yxX2|V3lx Yg2]\/ BڴFtRN7‰Ela%Z"m_Knjpʇ科;YT԰ _ڳfgoJ7X;Vw;Do<7'ǚ%f6"[|G<\f,<ř#/n2/36&UNm 5r H @qhz?E0'& Re{̲fCÄdRiDS9wshq1 OⱷxD3Z^GCw|pdf4j@ym@Xxhq5RoQCo5ii7IO~~|[t8ygjWj9l(`4<iVRP+h/af%2Mɪ఍ҵHtR[[w^%vV?=KAe\YnT I.ųګ3Ԧf;;̷-›֬}VLl<˚ƓG^@q "uiS0frB#u|b& AN MT@2+zh{a+9%LTե(CG&SS@"չ|? b2 +v>\m1(Y5o~$xJǧdWEhy4#A&?m@z H E7/ UM]eh]l?4D4u#wzBjT'<9Ib n=0S권UM3n0E-RE`0w,e](\w2}Κ2LRz}^o }"@v AtLS?-հ L+J nc#T ')VRDA'J$XЎ` }Wѝջ $ڢ:#;!ZV!|'UpϣÿN)yQS !ǚ>"SzZK\<ޟsf Z=08Q5Ffml>ؔ1*hF30D)2LIuNhk 0n?t_7Qhs H­e",䍼g֯TlL({f 2Ƃ{s_kJ7ݿ*)V|cHn8hmԶG;jYZplbh Wl,qR^W~;i}#=bS\[p#%z_MFxۯ EJu bbR(0]I%*,W)Kʭ|<=KOkW j1eZJ*q1 bH'AIPQoKq6vWnK?(x̻ڏcGT BK38 AiqK<\!EF2J\A 50ɒuX)B0<2& kPHE90!b`+`CƯqLe)soVipFL[(ÔS;0:%l DO>,8aw% dK Dmފ"t\iId-41w;HiȢX YeB6*1mrxD{s+%Ww8]"!?WxwNU [8G y2 ϐ>#wuYT(FcuEyԒ3%n*XD(Q2 Ԟ|! D;K#"S ǕlwLXl+rmBfR)S~MFHK,>h2.?`^UwϬo+Êԙeފc)g6I*{~׼?_gg;U!(ԋYĠ>JU|eDJǯ!pVKQOUNJw7iXb7lkixc(O7ZƉnpQyg<@r:iC.v#-ͷI ##s Vud1Tt4+PԬ*!vYO[&: *I|BDEeP o 8 Q-eIaol d()wޛ:6"0 J|2{"J݊,7uTFJ%D?JDG|NҺB|g|lqgy=#kΜkq== iWF؎JHR VV<泣U>B!-ÜG2& f;=gFTQLG|gOBKAŀe`")A8 muc0K\.쩆T%"}EA%* \Z۰M?&na?z.8s NWpc2F$ZGgg.\\>i?@iUZ >Df}E'<}x浵P$Pd(‰)0Ҝ^ܧA ΢4|maq b`P( E1g![&,T\FJN0: %sSrSұjK-QM(k/;b%_ (ia#5XjWVD@x:Bl;/t<2P*VV)w{I$t9H.dJ(3 "#HV%H 7_02,v`r^*R=t˸zx K"NE˛Ԓ7s#ݵc](Af[df)ʧb#{FAÕ@3F!Iw-m#I\c$!CLPO('ԾK/182L_)Gsc#q==OdeZLI'Aʊ1?sh*㉝>Ҩ`M5UTJhu7_&kk#th`Sxaj!$@9P&! [b&H!߱$/Qcnr4:@WR*̽$nM1 LRt}W9PI"}%5%_Ԓ˩ß3m|UnC4OGo`MP;7䄸Bh_zhƉ*HpH5Anh@]q ,4lV䂢&_Xڢ9ŝi 8 HxNJMIS!l tT-JYgS &S <0[IPj$J( 93]Ls=Hңk9iF_WԎ$ɳϼI}x0Ƞ+FU))XBT(ٰO.9d؈Hu@w(Bp4:s b(XVEk!L*8^g݊H_ ȸj uճV3fe\٪HG"e:O(}7O%;j9I^ĞYQӣbf. TpO_KMZYe"!1׿̓ wߧ#LԖ.U2xEL=b'e,3/8Tb}|\]NVHI߷{3JfQ4gwVGHO4pւo `n1A3MhBMkGHNA;*a D 6xőj"E܆"\tSBѹ'ɲ8\r.^/cUx) #E9/$xۗ0D$M?"۶Xuda!ne[,E0@۩n̅AD0!}p'7/nEXW:73 .U_9̰#e2$๻||2QL[Az%a Ա3zSX1\a|3=gp%e7\&B 'S |.k $aFYB-#QUƉwm>H&]sڹ^SY9DgSc0)SG3Z|;p-_/YZIe=z~-_jww~A@@mqS 8X S*+3(DtPpbV%`",l`.*!Ɯ/0:MI ZhD3p97';Қ c8LܿA4vR|֝YWb*X{9@)?m&\Ȕ"~ʡ/ӓ0UDvX D47XխbK.w=׹j&mk-Ŷ.zknm9I,%$b-iw)1TRee eb' 5Ù HkKk v0 0Cc[kT˜-N8.)Jя_;P2 '/ O~ffm=az S"AS+M?1qA-2uLK%8@k q @RNjY dGM? ԴGjxsUv 0À-UwݔIi JenFXFK̇M,{35WD"P۾\@+bTɎBNVsCH dY]"2ڵy'{򴊑d(t10X 8Y 0&8 7^AW0`F TP#Dna,ͥ-*1@ R2*c°d%?.l%o!Qcl=bB^b5^XVe"զt -(֯5 &E&akwCHHQXQw3 ʸ`Afwv \cD |FSxWp(j 8]bٱ). m.*S8r!CKU/;uj.8kwU_$[(P lpՈT̢8P`j I  k 6"ͻktu#rPmI=?;On5,FP7Õ.sNc?x*xÀ0@(ߒZI#5D UPɀ@OO* OH[i&[~=|@Uq\0h2 (wFN': @tuvSmFW&U3NJw=ȨDbT=7 莧u[m|L`?UiI̺v*H+iatm< eT9T",C%s+{Ռݕ2 sswdth3fK5wsCQRdP"h KbLS -D:uncƀ_FTJ$dJU&*N3DmΦ~2bb:磻nTUV*L'ՔC$DqHyڟpNԢRvqʽH hi"w4 l#3?}j{\-YSÚIssG͛jvztS}m81@@0$ 3MȳZ9<0b1x0$u5 0ĕ$C @=7x6T#"y<:Qw`#WTϧ(ڃ*c<=`p7!6Hm%.a8 i/]!n+5(qR rfN˓F邦 Pt Rmk dusʸBw,q=Umʪ]cM08tr_ ` })?I3cQɸ>Iahgey:Rj*=7[W+t1"pWk~wZ] Z[;bb`0GH Q!74`cD$re V~Af"@3۾XUeـd9Aq"6$& ɔ88X(ˈ55(@0qry 8 4abktU;"#Аj6j4J2I"Gꉐ&#^}uL"+o Ǒ_R;[,[*k[0++2-Pcc@#`;b M0݆⩔*!s 10 ܴ֔G5k8ĝW(tGM םNKڪ;靈c;_ 0.qoOH"Cj}@ld%1 Nm,U2i.rYz΢F?IZW fVV zaզb&HZlI}϶|\FqZ*4fBi{Vi%YYDɇNkHъ`10D2 @ ʑ\\X 93Wzw5Q6AYAi"2BМihYhMŖl2\8V"I +]GR6EvgEI7I5%-j0W'5-JjU{{q@% !P#0@DP@EgE*RQ(Tn@( R!!\?A،em8Cpⶖ5Zܿj첦V3Kgz~zg_pIr}T5 P#hлUj3E @cAlwd9t`T08``qKxadqPMŚ{ELz9DaʴE P1,bra؊;SԳ4iv'{p2⮙|@j ,Mt&09^D6A! 0`PrbS\ [H}&Ώ(Eկ(:^ڸ)|04YmY3Iٱ8˹bprxy?__o*^D[^`ЍČX'2m2amBKxp{!ӉЇ6 HW##,750H( @"<@҆! (y<]8 axE Ő'*@gEi0>^Mzɢx^&SW9g[r nFr @  2PjdHM2(1C"p3k3P"ts9aK1'@D9D8DDž8KWA$NN؜k[7'XXhWQ&*3 }H H]BH:@/kTW2#SyI(pK9*vgSVyï&Rc-cqco>Lm@ aԓ@ i TFp  A 4 Lj&Q40dP2ΗC{hHq*'a\8P|C1`%"30Dvg\rsd_UM3ϧB+J8iEN!>60 DF4/cEt[$7}$QQ18V|n1;bJ_>"=%ѥR*en 47c3MN-ZtTjI_VHEi? 2r{6uƉd")'1Sh@SA6!& 1eAf0@y@xgIZf M5vH3Sw0ր@`w$=S= (rA( b0@ ^N޼iu223w([x1:~1oR I%[vﷶIkCQݻ/jpEF9Hh›X ( i B9dZ?2(8Ug,?B4F0bl*$vgx(I8YSa1 leݎi3Xp*e&kљ4,2诪كZ݋ꓰ]VD(` `okhWZQK"}b3Ñrzl*{ UV+bHQJ Y6ր%s4b(QGid *Pxp0mԹ ܚ ,FR=Q) (X=hy Mp1Sv;5_j4՚)%V 8$R&.H9Mdi4N =ѕHE4- ݧ8 ]|u!8뷢X⨱sSB9f7OJ 2 b9,tTi/>`Y |S8Tzb 6, *$ HmO I` @(hoJ310j+ұgqrH\qx\F}k`hf訿'h55!dr8j!Hŋ4ujE;9Q?MmnjK`h?QŤO频MM}Ia~(,atްr?)ɏK.OlV*LAME3.98.2# 4brewtarget-2.0.2/data/sounds/startChill.mp30000644000175000017500000002644412266512166020214 0ustar philipphilipXing/-$ $$***33==AAFFLLRR\\aaaggoossxx}}LAME3.98r}. $A-$G!*)tLYrmZ?(1q˓Rk6߽dʦQ8+Y-?Y֤Sf/ŠNJ!e<]Q|pE4APс<ѣѧev^dKQ Mn׮R&* Kf&Y@F'M SOm pD5}7+jPQ!p9$3Mr;a %`eG87,uZ$,Ւk(L3K!:w0PnJzmh4*5/[L,˲ }G=7w^e(4'؊}&XSD? \槥ߞBEq}һ4qW/ƫNFI=BV xҏru)oP2Vd*k;V u( ]I$aIi0 c ,@4@ - ՠ^qyq%v(:LMl2FaP7c_yB⓴/ +gr~B$B`>o.rP j}MUeku[w)y`~O W 0h_ -?8)T>$!A!{ A'$N mjp?:>R3A"Ԥ:/J8Nxԅ)ܳ,,8p3w TP>(sS$& 86jƉ)N3<@!H"`mm .7S ċsAaj < (" bnCX$D9N4E?Qfkn{;֗_ܷ s)\&?ݖowy=sT{5ޫws 9dz\7/笵g>_?@aVUP4p"x*m.V8!LGݲKDd^P)! b|1 Ǒ14 S&efIK+UdwuVgA$Z+j]{:e-kdWOkck_MJ[ R{pN:2Ir~j1t_K4|KZSbv>|Q"! 4(qmshBdmCj @$^dREZCeꍄHI50@ r$°q0Ǘ7Ch DSY +3T$gh 0,<) !M [p35wCn*FSk'g`(57nW yW,z/.٤ڗZY˻5n=1X#g&/Ҩt; &,a #:s,>1uM64v1wXZqFVr[%D*g t:K ]nOqbq3JXumլMk,7}wzJ2f^/9,o_Ƴrp|0/A4Q@xY2++50SCm6 P0Q4,`DvʪBuʆщ%ԕ2hS&iIJgyI#e_0`#~J¡0g,.Β,9Ź`h EB)SU)edYj+DD8 WYjf(j (m*I0qPڤ&VsaFW y${ ߬FӃ J]'Em2lN,E2M7"/A)X9w]*hݾc#t>TJ>LUWJ:tR7sBxdcYgH{EL!uܦH |WS"x5 rC%U]%ͺ$6&x2< H &xj?{ iB$$O *oc( 0$dÎr')bGY|r8h+52 CR8N!·( Fes`JDѪ94AYD f&ffqF;#2JAejNgR!!`pH_)쾰P ~)xCH% t{{AC)S-4QVPiZ~C4 \؏TEDVOeF^66\UIu}L}m8;wpz`=Zـ s,4r/4Z:6O%PLweJd1Y{vj褑G kA95ixxxe?`XN )L<EP1aP.Ceϵ xr$!Y?pV)f҂p^qOHyr3\lf>~4b#$AȅWȡc.“Kr'^55ˢ5^bcA0si߹7Ecn\Q)<؍ۧ"aa3٫=l~9v ijr\lwvT<Y40Vi m#Bx(Q7/#5}4v׍z6wF ̺vOqCnc !]Τǝ%bh3?ϲ@P:)C4ēK.O$-؛NRȿbj|bs(5308 1?q0g(,``9,YvZfdi3uUH_4L d╜"޹Lp*ΥS:6f7TeSLM\:(4.D5 SP t^UD*RȒER=rJ],,)0*ȊJEP$yMRF@h&lc5ҺFxjH}}]獏D$+> 5QxDVݴŹ1ҌZu/q_Xԃ  HGFK`zmqvfu:.#nZL;INLW{'.{k[Zfk?֏m-5Q,DĢW(d  6K٭+|$1 Ҷm_u,ϙzn]t:: g*G*+On) Z#*CkF[UwG-P0lLX(h  e԰-70JYK. (4p 1@)DK,#O&ϊPeINL̟LE.a,D+" DcV]uˑ%qTJcl"U)NԾ_Qzo>h$>8 ͐A!_:TOEÁo/H&4BL-X@RQ.kM4BsM@\䐚!J)) *5ZXf_Q-Ռ)9 f~:+ uASЄMi Qr`DMy^7s͡YcL2qaP( g$KaϰluTk-*ļYZ@ۀCxh@/qư$e ziH@ z(^qPm=+zH‡H}DCbU6RQJN],@AfDK"hYVg4eS\dj#hU+ܫ;B4$L0 NqJ /m)OR@͗n$&G 7dv+:D+M-1$Qw@,5H uk$K!0k14 TLNZk6⠨Yrm#zZLe Sy GRRΊL6YJfv]=)R̲F'hZ@ʂ$ OQJtLELI#]BHUc)y,Ҳ@ ʬ,efk s1U Wy2*I] 5m6̭ P\`0( AY=&aSj YkDSAYi!r§DO{=r%?hYY4%՛0 `atISQ`BpbX)uhY!I9$wn?7zo>d|rˇ =:~oOjEHn7.& EX Oj7l1v;]"z?5$Bs|wsQ*CU& n|Ĭ{R CȌB8;eT6Z& @hǙF'VA@`BHXw "XԂD)2|9X&|3E>d瑩ItG&SwB8~7"X7q.  %btьJLMf t#ɲj"n؎1H~ɿy0] CH=(S0@: *"L PL P%XclPG`!DsA3s2b>B$IwK aSΘ%[t"v&/HȢTif]g˸ʭe޵R?\4{ 1" {klL̄6Q0qs@QLƦk* iBAy~X؛ej/IAU^PB%T0JbO}*̅%u)zRw--r[YcO(nޚg˿WjR[ rni&h5Wfw2`PI]Qaɤe`@Qؽ` =Ux%) !\y{q%tInb1),[8}"_gU(aKZSIܢ{ubXٽ~9;~%uPxnh}dVfr':lRD1wvȉ9 μ4k#O%L?x#[),$HQډ"X/ZX6c[?_3Z__^ ,_.-})Hw؀RHQQ])P` :9R@ ) $1Ef&V]U1:FC yn՜ ~UJBsƉf(?Pqx-[s.a3Fx_o70'H>LjXqц8#U& 3ƉLs ٽc-(|PyPUmzj5[~VEH#08)-?сc,  4CKh iuLl,ֈeeH{<!aصGձcͱZ =3 HI.;`d$h+43 n׈ѠDY$Hh3 z:8Vޛ= ( 41KအD+Ձ#[wDdʖFI>w%<@&K6P0xKHY -KݽjUXRY.] \tQ|%Ttzh8  4>z`2$% >LNII Awޥ -~0H̽rQ`( O h0*|${ZY;5Ỵ˗/ORv]tr3ߦF0@(ecڱzT&o~WFc}#"&è;ϒֱCiT3LG[3+_ql>pFɌP?[fegw-Y63.0' CS`#| DD@RP c\.â4^qW"{l Z7¦vW/`wLwG:@× ,Dk&h.Qj Q忻=a&$#Vgx( 1Ua`j|Рɝ. D<*INfyb %bf'Jj kTk qiTGgx~f$$<|ҩʵVư`6& 9N!4ˡMK^)_Τj=*UeVxPį$0 4-S` *|s $UB=FiǏX QC"_Y'Z9rh*)%-KƁgE Fx>ܹw,cOlR׽%*uƠ5( 4=OJ d avmx6Ȭ2`Iw FG-B@Cb'Z(lC(iJHMGn&8N,R8Oo=u@ȁgң%ryɖb Yj9UP+nEUUg4CGbF+,jt8,e=6AQ$b3q: #}>1>W߷F,jGZ~ Zd sXC8ǁuq"յ@(<֘LegCIO8R[%Ia#*@ &X  4O$&!) A"tkܗ1J5|E0^+E_zռQ׶"Xg/0"txtG‚ qT#:.KU`<`K6M%"-C1'  cG``Ă4EsM6.a zX %mJh`$I#x (ဍnb6k^`a<^ԸH&F:ܲ.PQ^.hM E/IĎ(Œd_ wx ԝR K-tS t @G!zUoygCI oE.7Slk=LLAME3.98.2$<I(?M 4brewtarget-2.0.2/data/sounds/bitteringHops.mp30000644000175000017500000003014012266512166020710 0ustar philipphilipXing/0` ##))..222::CCHHNNUU]]ggkkkoottxx{{LAME3.98r}. $A0`I0S!)5#}?QU `!QE:%tT2.b=^!N_ 9-4?OޞURm$1AuoY.|U^'X K#g?k2A>jeb9ezĐ%# V}V0{9\^UR؍*4yŏI0u jJGU`&Ѽ% x,)4D,[% fR@/_ :Lv3]X9QҫkiI}HRr*1 bD@pXٚ!jlR烄a8 %e$K~5 (x"Sv '#@aԲIuC¥Q1J9b-*2[soPX]V$,Qb jopFrod 0ڛA,|ugk-IH `` (b\jVT.#(}_\ 0 ]ѵItCR TwwY/n J6ܕ Eq8 Qoa Q! 0O4X{;3@I;=V,@{EQOv?Fz%V*}`P!Q}'Jc 1͊zXyy}(Qv72} A2G*gX1fr3!0Px(HDUB0h+2M6D*,FDpTDOȕYgMa$T ZeFhhQ05@cz LeBs }ي.`5nGsCJoZz%1ZzO6L[WC/*NAT&3Jq_wMSŅUiά^நVg`sbH~*kītD50Z%\+-$"EpC,9!p( .0PBPYD@3ꅩ 1 +ؘ:241"KrPI.zb 0K2 ֑@T_L?/hO.ΤL> sS{3욙610L.-nbUq JRrL$`)0A&"xSeB?5 ұ_fL6tREYSrq@'N0blTZM)5H%Le,*"&s_4:ݬU˫;-gzzfv[yuWoc[4[խ]KY5(^.cUAo4xu圬!!bNPX`vq[!R@E,\a)wyX|HrR0}a&z(8V4+FgܩrRL SG l0Ӵ/ I3fd2CAˀ Y( ;a0g u4C #$Ĵe,=& @VDIHZkjtrhV0db h#APTv"rUe ! N]ҫuq ƒv nUQL=*8F\T:0WHjkQVSd>–GGmh8 xI" $72+ss H[h̅1H3p4ۈsZ\̲l&l8~^PÁTDX$`{3wb|ZDl,=kz&aKÆ_땮O%ٱÐhq̏Ķ++^^,hkO͂`'AHS3ʬe`$,q%( Ng(j}LJ$guAS z]&m14[O11$ =,M75|5аK[{u.2U?J,;U3t I<4U*;´(Pa =Y& hU%}$%[xh:A4J$f`ȖEJ8=M, )5 $4ҫ0Ze&DVPY`FO|CJBM@\&MQKЌ4$ܒm@1!U^L3~tB{-^oƓ*@Zͮ<.<ݠm ǬMVm&HqK"747X`1!^@0dGӈY–A%BwnBbT| kL2C"lg}`  $Ñ / XC (P'Μajj,k K'ځ&uQ$҈g~"ɫD~bgO"w }VSs;_'9ƥ^}~0$- BNB1dܩ]_r&XA <L}!`*N8 a=$#,04;$|AS\NDNW.1̧kB?~2voPϹyxޱԾ$,Ca_P f]wԲ PPD،Qi/be6H|ާ GȻe4# 9A!a s5tou0"U&Wwk=R鉘GB>t Rg{N\"+%8 )Ea0E៤ku eXPbdV#6;u _\F9D;en"rG#,\!z@tH&w$I0tӃ`}CK`?A.2(+IՐfqYjCU^DZ\Lh!6t֟?IUEX w]"k&1lm=}fNN1y;pq|2f|G)Zt$h3SH6gMVhub.܀"VϾ`3D#72 BS0`HNCtRO tAD+S'Ĥ J/ GˋAp౱K qR6gIQ'StjEw]:W֭͛JLX_YU Z@1ژSVX sU*9#锊;{cv"Tq͔xs(ZDVR8)]sj<_dlPL`l^QujwyծMԽ-& #.-f5 ͌}hIFbhn`&8KPsew0sfr,S*UH/U,_OK,U{Q @ !`S_^J_JCR“K#4B@)ddz}<Ϥx{* ҇a f Zx/=HeQKm)5@AX֝G۩-HUk/DN^iٴjԪDbIIYe)J?O1w1WvEv8`EeTԢR Ci|vh+p,k7U4bziysL pX(gtZp "L}h1n "e50)C쓓Qujm6^_ 8+,mRRr 0/G[Q@6ц2x=A[I H8952$Pdld FɗQdfw24Z {ѫjri"7fxBX'P+:<+Rر|0T,b!pby(sB)<:I# *sF^D!AZ0ohQYmw3!yj0kT*P4Pf(Yh`$lшOWix=/X{v@ކ@s FB[\bO`cL2b_1.X8;)LaKSԪE8v&3X_k=[A#Yԍ}$Qֈ,j哴W~mwYZƮsCİU]G * +Y`a0$&\>!ANjhLSti5'l\5_ЋCJJ21u-2uhaK')i%urӏ/V̵ݜ浆N ]m3, @LLV0  PH1C xM5D3ˆB1oI)b+E6Rf2/aCX愘urJ"]뽧:7i.vXCj3P1]owi;ϟ~_qtQu h(aDq@ؙ "kV#("ZQdkMo~eHS**3>۶ߵиZ۶ȣo2îRXqxsRkʶ\ ~喵]jP/_B JO} 0y CNi B,2A7[;{W b?n#V)Lf_+Ra.79-Y{X[<9w?[Zֹw菪?_EB $,HXQ\k1Y`+:"*B0AhV% Ù$No*MΒ3(nUˮʭME󿆻~ySk}3wLے5lꌨRTB;oʥiQKF? v]KB[EUZw]EjpW*o22 4, HY"Z( Q06ڎHwaLo,mkGW:mR,8:.iv|}(i_R&d۔'SGqZMYˉɢ$B4"W8 oiRa"k̂q.r8~tG4],uWYfk$ޮChfaU<d+C>!%7JU#NrZuz"U&eOQ[0гV+qٙ\2!XudSL*x$?Onhۻܙ?`:'7(I0eA( ܝkL*뼐$Od1\ﮏ`‹zV DJDw-ku>w뀟l3TY$gME`B]Vc:Zbdf'j+#bQ_ TTh: !V~0L#GoAaR5-%ʵDzᖵ #-M`tWUho?"Wv-=;{yk|ڇz{~;;o}~UmkW#3s3MJJOS-t"*yZp}bp *]V*M *w" Q7&*A"iIrnnۑG#`o*LAME3.98.2p4brewtarget-2.0.2/data/sounds/stirMash.mp30000644000175000017500000002101012266512166017655 0ustar philipphilipXing"" (((000888>>>BBBJJJRRRYYY```kkkpppvvv}}LAME3.98r}.& $A"YPJt!i Pf˭ﰸHX<#\Ot\5gt4{*iO~+5N>V_X$BP 0Aq1˴.HwK^iw0PMB5r֏|9q- D .>I,:KF4erKmmH})5V`la9yj5Z)R8TUYԘᙠ*{sɟ70EDpa%33CP "C$ϯ֖LDCbCbB K];:Kٿ/IYJՒK\YnPH 1xKr(Mj4Bm {s2^kD%ɇX+b330)MMfaP[BC/\#O5d`6:~).7 Wi[ݥop}VI$[WM?<u ^qu"p.5R&KF]jxqQud*>} QMJWˣT۷3f׏_Vi*b(!D٤ Yx#4TzB Û2ulf1Ԓ1Ƥmw2"19 :V= 0spNJFXc(+FT|F XE*@]L%"a?Vj(iǑ4 %zx;ghvd4 o􌁡;+UrJʱ`񧾑i,V9x{vm}%r\"Y1-X4hoL6.`Nn=!.ܹC~(= ciYX4 V"Bo:D?+Ȭl;,F0؜^jBO񷎏Lu}"iX/iѢm|&X Ɛ&7 eHΤB[_Fc95vCϷ3`ɄEYs>BA0s.<X|e^TѨoٶOc )FHF1fy YJ-ƒa #I@G8XU]4.& T8`4wR*r<o(7}:uޮ[aEVh( E2{qaNI)EjZʯYlsŵ;tbA2$25˔BYjH0H sk$$Z02VG\H%aC-<~`D͵c̮.HNY|C !kwBXMcSX^D 4ݧ+#!R`Oͣo&Y)5EFJݶc?;c 5V?]IVn-\لC }=i1P>nŨ p'J&f*σ"኎ۮPrTDVXH ua.|*/zƖVF( Ak`*0wIJ3 Jw>+tq׼L CITKzX{0V%ßY#JDBP14Uvg4 M$&a: )Ȗd,IbgKYQGڶ"'R^j\ӢKQ@s >4YUֻ{%Ȃ Sɍs 0br O+YyƦRɥ6ciOZdcdȄEZ-R0`.EH g0髯p璙t9viΔotL/Y]Q5EvW],5em:} }] w?,T]Q5ry<'o( ,C!1*DBDNA&FxPT,*]+:NCXzۿV)-;\kB8 ՑZ2Nu14Ub]f$Px@8 q}e¬&5kj'lks&*WVv\H" //S ^sL˳MVԨeY,TjuuV(\BXO@)Y$-wћl&ӵCb,S%T茯ZUH D& %`8 9[0+)Qүf9 Q:o~7/`} нF`4w#FE{vU샆8Y8HGʔv37zl*>sˎGg%'H&..D|Ӏ"eƤ۟>r1!ҽ% Sl#Zd`sO)ON9]$A.S"#B)~)sg$*8 _K!wk`$adUR^PrGbz*O˴nZє"#)'072⎉ϸpT{sﱬL0}uQ<(,oL3v@&-)\_kʕ0{a7`%I+,T1(4%0 DVń}5( ]LI!3j E34 5eBV8#'|~DYiZc~G֨2i: }ߡ 4vGP NNg [Nj-6O -%Q=Z&K/E&I=jdj= (@"( (Q$J7=\jYt <HXzǠCə{+Sd % 0{8.dmw%Er0@,pX,U"x2C Ҏ&!ΙWVx(g9a p'.A][_sA{/$/ڍ?X)WLj)]F4 sMS -,LFippAvĞcP`lF/r#]dG8){07O"sUD5YhQBsksOc~`(tq߃1 r=@ߞA}Q[૳!ul% b p5,nN,֛ze6s=8%(SiqSzE\7&<1ɟp&f9ο0La B=[d`3Y h /['kk2mX5ke! FHFxi9+)KQk.X:SWQ7gi =cl2_X׵`ϨP1l+E li:i)yH:Z_8XlZAi8 )뵍(0R Q:#pZ&&qt2qC@i%Pf9)LivQ=q_{1gǹkXsy?-Tw?;c$@ƀ %ddH 8Q%)k48Ey`I.7b/S)G^*)CUEen%1L^z~X:h$ 4"继HZi?P+<` flX&墩k8Hߛ>x{ayH^m]\Cŕ1/c&5( OO1 >izg GAT&!SpAa}hbDtマI7yr r8z Y>̾,had(QDq&8ylAH-lZ:ƉAgT:*5wo߀zC%,zC H mWjbz&=dr',ݮJ.i "HOAU;d8Gw|mRq7o)ay@)+ܱ&if(8aI腗cʞXnF._P2y'\DM㚨 @p&t^tE( 3ԾgH3˅eȦ *̈́Jn؃m ժjg@ ^c8 se[!% tVCDjWMW/Mq\u{=3LJDԖ$6c{BZ<0ɠ5A!!b]]IO~˓xV0ɣ۲x<+ uq sGeTr&rvwdRuҕw/JjÍ!2 4yVkH8 eg%$0!Nh`p (taO,IV@~UN ( c\&Y|H0Jpag-W*=GC@B׹lUwiMMv gJV"أRs"QeO-;mMx#pVpSD&b 4d6D¿ʇhX׻#Ex0KRNHLm_T S D p7$6 ?' 4sBAWT{;+i CPPW}-KrGK-bw4T~vHe2%\p0淲U n9~5NMR\ *M#f$ 0C`(?W᤟cLAME3.98.25 4brewtarget-2.0.2/data/sounds/mashHops.mp30000644000175000017500000003053412266512166017660 0ustar philipphilipXing31\  &&//3377??CCHHLLPPWW\\``cchhnnrr{{LAME3.98r}.) $&A1\UMG@  oRR9n Y}sBvrE*'+}pd M޸,}FuD㍩,E-šruڀ;@bk01APh ZH jfBpP,TR qI`a(7/ k:}^ڀζe*2CPl58eITXNO&$H`幏MEKF,٬Tw jM_@!ܲ3C=gB IIr꯾X)q5T( yG!ᜩw4l!Hh~8($߯۽sGL}:nUr3$ ׋4SFwM51y7U0qU%Ц&^ z …Z\M;4&7A"SZ~@܉p>ÊA9K VVZH ])+}a 8mS|Η4Q"C1+ta'ňb(&yw 2x~qV9ݚN}}(`-Gƀ`A첻_7 W/eۖ^9oNqdQFH &TC /0ن@ ڪek %132*t1׆cH0eWS/*@6x}^"8 a!Y#,3' Cuɗfy@-1 .lvج|wj>۵ٿC-CzRȹp̉$ 6 X& BQ)J '-#!3&kO,pAp8 bw5H%<,ܸ+alI)L$́gM' 4O4 Wx1a%+w4AC"0[]z( R j:@S h +0}uB -+`%XWc쾹( sԔ,zE$pkU[򜃤 |flg&{Z&19\PGڜwO_9Vǜykzզ^_WYRva _X{Z 3eˍ2H' 2xZ)%"`mbz菔!.$CnZKS*Wi$bI&[i?ڂFUCG[ VkYÙ}V:k7C ͝XE ZϻM/ pІ.,gxxt )OH 5 Y0;2.楙xJ(}k!w+-u %tf4To,l ,I?2uWK}l1/T"-wRd $E4%(/QVێeKV[C9 ֵ(R)t?T=moe_jQS^줹A՗]:̤ 8 aay5 ,V6qjXy=Yt1oUm{lWy$E̫hhFe*۟YCh1av,<=8U$nt2+" K4% kE3+ݘ9[jhRv*#J暼e|LE/: (!d\lKcHW}-Iy|%hDwaH0pjdgrbQvJ)%5o6B ~dFz9+G%O}n,?Y6)#bpIQ֭rNZakD4<Xf_JM0JɜR+~ ƃ8/#X7m845]Vxxym'@ CN^W*O':԰VlU["Rh|Ka( -[ Q+|3+#w{Y3: .jLZ# ]&e+$A1$֧:¥;K7RC%xik \\ <q|E>}+py$, ?XgxL(GxVH C]=!u$JZAE1„T.'22ttzApT0a@ 52eLdq:xCX D|&LQk`AqMuW^>`QrlIr@*XN^ d¨MH145KȭˣFH }2vV%^Q 9@YwP X4;.|垄P( 9[=& '(Ьl mI<K ,p Nz9aHZ/&Hd"Up*X$^њzD ٓE TGTK 60G[fYJ,TtX%٣P)&mSe:HsrNw/d VH&&=֡DK3 V@0}6D5u ;o9U5үHhqÄ-2( 46a1S:UBY\]p>9S`Z-RO8-:Y0`6ľZ/uxmYBm3,`BF%"D $LbX0L) D$"*./ `0 +%a=tsBf·?.&/Oof]jk]ELIyJc2WV|άӪ$e @BHu;9y(G˲`$,g (蒆 Wa*D_hF24Ð| 쎼1Ze!wq˝Xu<ν~v6`2&Sy~:wվ-حfP k}k:n|Ŀ? bv d5Oqlʳ\Y{IߞÜʛ,k-(C(fg\I5#ԊNS,@_EaH/[)tLIŸv,w9ʤ}܄RTwclB~'x17.zۖ֟'j>*En"y}չ Mi<^R2o*l@c&H$5H _=)/uUѵ2C_`<|_;U HzUK~D_tޱ>N?n/Vr-Kd3ɮjS )s;5!j<FVF¯fG ^o79p12 ߚN"Ǡ" Q:0s坞h֖&FF!/*?R!wU;Jt> Ոp-[]H cc0MunNjM8%lN}D)XrF؈ꅚMH*C-$isgAw1A(Y`P4ϛk0l93Rdr"*0pP̬D#aa}^DU̱P_wX:p6\sENHbDMm{@dU9ՀY-i*ZE̗XnM$Uǂg; ZI\gJ3SZ)(޺N~o]:<@f%3b "hg*1в~M@I!PK/Z`7*m@ycUkIt䋞AIj1QAey^ii!JXBUvcWZT&Pcb3RPʬ 8 6XlF-0@x! R5*5Xg1,3Pه(O0Ldpb$3Z58S|o#MMħ៥}no>#vb62MMbS\桫$N(qRPL8 Q+QIL̰W 5bG@P aANqMet9+sLJV^C@ g`ֻ FaݹnRw=V͈&S猶[ՉƬ3Rprp At ch WYI,3H͡p  9< &#J. bt% X٫KNB*Ɵ;zW.^cz% /Rn3–0߳q9DZNk>5&ABp4C s>҉1Y"dHHU7|\BxhSFV헦9ÔrvR;4R[)5\wܤ[%wi)ԯOO,˿C֔Նal=#,? 4m BǀX7ƹA nb &e`"`Z:$DD{!@ 4T"IBH gB3w0ʡv[.x21g?&JwT3z|oMݸOzyL?*۳`m DnXlHrnu>wM±V Z.>>kޒĈ۪ɸ3)kKxVԠHʴ<2r 2UUMUe5# -٢J> v\ïKSjVUfCcjUsSqwy]?|522<6m3zh'3h͹ sm9T18 i&l} =ƣv!P ";S̽=8(>{w3=8Ԫ[&eS0'f FX(5NO|_L$DФkZ>Cě}nÌ"d, %PB'-5!c.8i<ưWKa`hԓPN1p\%,*Z"nugF$ tDUę=JLAME3.98.2& 4brewtarget-2.0.2/data/sounds/drinkHomebrew.mp30000644000175000017500000002354012266512166020675 0ustar philipphilipXing*'` $$,,,22888>>GGNNNTT^^bbbhhnnnttzzLAME3.98r}.( $NA'`NhkC!)|v 8+*CR@CXF5=Hi_6)d6uAU3c{ ={~o*R-=U Rm[CGWT V:(@ GKl u |+tؿ_ǶpȑnQek6}uFivm{XbD&cZZi،rj»4/yu(q@8Nv4 &κy Y7)E2[l8 9=I!i0M@~ТVдr_T8Xryf]/]#_w8i!%WO&O⭡f^mno톒 P#X#:<C^M_s@8Xe;g*;u^/ T灻2>@ 5O?[[ɻx}g6dh:޳<5Jx]kk5SQkh6Ʉ@4jPCAHYBa C !o:㿎DZ.ȍYU{܆(5]I;Acj~4G-=mVZ}ql$xm^ڍxXZ۵k[Q5|kV}w2_ձb \\0 n5` Q qѦQ; U&&$P4ȲT" !UCT% #EUQ' VdW/R_10üLn0XV-cK!jZ92kn~췿 oP moTjr[ʚm AWҗ.'(BTW:SX 5uc]!ٙL<^abph'6qO,@8,9w/IĀOb$[JuLkVVIWM[3wZ"ֶOElRA TZ'L(s(Mg=c1ᏅnUCG}7lHuiܚ3ukmna(ޫՖkp^S=e`*L.(ppA*ED)q'F8 %k$Kj0}esG<բB:XƂD*]y$+*fes3dSJi(׮궦7""@A\x6mѢI pkBKc b>T3!bme2.j[\RV䞔FBE-zk郆GWM @谞pOs=U8 a$%۸3X9?Ghir܍JfHTd#*7rJastrNs3}〢X2u?#I/ $2J. K7!Հ+TƬH Yт?/32ٚVvgFGVdu4*C)~ysf5!\sp޻ VxU8 Q_! o^'':ʰF2: İ1-YzH\ RH %rJyܱ5{gH%SM.ܶ߹ c /ewcw #1Ĺg*_Y!Qfg%O~ՕdStW")\r?fSEUV8dh S?4@3e*ȞP +Eeܥq&3.P4dj|TÝ+PaH9G[0%J8A<{LkSNxi%NKENώdu$jR˪@ KnYsG'{VŒ;fȣ*,5m\ {h`M`Lpc 2XTvT!M0Q?aL) 33(KeXӫOFbfS\c q,;8UO!w4M7~ (Jë?/g_>h$QJGX\A! Fa{O=LZr9$mD(0~ISʗNVe{k!4U'CHY)]Z8h';SoUg{6mdU(FT~F<MBdYVxbU2Fu`Pih c/PAUKC5)e{nH Eqz\TyXNڊ% Tm",tĉ8T |-r yt.4O)EDU60!a"Ć#N~tK34ewsg;#QciAST)%UWGBn0b{\KD;H!vy͂6am_}w%P y!796%v&hd( Uy0i!m {=CHΑvƘXH"+~X51,\,4-&0f:zUAEvEf2yKaffʭ ptlǓH&a"%9t@U(%Ag*M@ t)( h[8 0aL&4T7eZE4:TUSFRP:E}uBf$C8 ]+a$LikT,(LͥsҲx0'%aob 距[) uoYz~3 J 3\9"᠃gH*=x`(r&a$:}+%yY:/ o[>.|n٪䪫UR^5‰iѶ q4 A`k*6Kw<"W|8 0CO!72C4 BGCGPTmn $ba" z7-<@s_(֜nujp( Ul4{oD]ڒHGVN.<gI 2 jQ/63Not<<>L,s]n/\ $DR 7)T'ˀ[vP^xy[#*w5E_Jd%iiٜ[\> OX5<٤^^olϸ1h.l{yJVf{v3ZjE[d,*&[c6s ?>c-"-*cη+$U<(Rxfo7N ünihXճj=+/t U" 8 iZ1X|C!4aXB q`v /s1F4y*aY":,J9Q3;*hە3*^(W_O^[I.eLZ/b,Wk,|5l7egxm5Y%ܤO% D1T4U Xsvfvp0xѐ@Y&ԈdC&28(T}!jug]wAEֵkGWWR Af>aJڌH] ƔGfD~czMK]Ae%BJםUQ^R. 9{|VΕO='j^Kjo|^HaV%ˈdHA02HaX^d׿E\2 2J2lxH['+kC W>qRlĎ])o&M 5~Vq3mkjNov3ٱ=K>WΟXl}{Q?D?A =FK^pVJkhit"#JSOgm% J'hF?KZQrqkMŭE,\s۔" D<WRh' 0aT#,(J$`WH 3UU">'+?4W- Ss"PI]kI"X$k AgAAI35h4cW$"" /omJa7 mq¥ K"PZ,"hUP#@)=r"H6C~4D C6 I$/!67EHˆVS2^#.mM?Q% &S_wbG@i0HWjZA&T c"1a#<0Q!\LG 4R7.xlN}2nH:WzƶK :]E{+*7 &XrUes'M1>@}`C0+pc"Xd{N!UԎ&iq`E ,9 :zM@S 4RϨ7I}??\Y0m׶ |8 a1[LOi$ku,c&(@,뻌 `*6Xt gplĝ"gbmjY]؆`>P?.HFalUR8* }y{BԌұRu(qjk ED  rB .(( 7_NiZ+utŕrGm9,Mnx3ӯ:oiKVZҏdп2bF+#e6}x?2 <4zDDt`$_aȎM5gk?ɯk3ߋn|c`ۼN#8;; "->&Ϙ "Y e*is\ڊ#ѯ[@,]@QTdpFiw!ufw( Ya%|ČJ10(&_F"P N>jxҒ?Yo!D* )AsQ{qUrq!3ȥsܻ< LJ0&1Ww 1PhȺZ{8 MUɄ,=0Dך%^c2%0#KH6' EmJt"Kt/O+|%Ϗ{HbI`V,,\e:]I)*6vR.yZhRGQyEKdVf`G7X }j5KƞipuAYFa, (~2ɇ$ L 1r!\ H |>$DmgY&D.y^f2}jmP^dǿWrǔAiz.xu tdL#/PؐɎj A1['[zC͆.X)5Xmw$84kd9D{; 'rYY{Sˁwt^fGؾHb\ʵ}uk0ur.ҒP8CBhK10SWOMRd.IEaJyJT`,{:9|R6R[wBopEdi{LMV\{RHK*< ϔp+8P@&,8 Ici<ᴙ~m MA׍HTx߯ν'>(9TYUTu216_9+#*:t5t"@ae X PdH 9i$Mm=jY$oo{In}d&]` f:VLVȬs=[#!G;!ans& @s3n*gݮ>b*Q%A 4Z6B&" U:a?|x}DC=O#u efWl"'.dmԕB" 9?޵S9@-N)A'x*E?8 diZ'̣S>߯c((&ShGLxgQWoAآNw ( θm &g:>T7 45TӅrtqtn(:#@rԁԣ2StVkeO8Zm nVnj5 &ERP؈Lx +r%^<"@=(HKj5\p~ * /ж/duqq$ 7*R>FǹGҋL1\' L? LP !j[[b~L 4 >qcƌ^@P!h( $*5_.ATZ HfĥrI^6Y|/v)7J!vnݣ0?mWkcTZ˯RF*ᩬK$Dfj]![5Ӎ2@41(.82s*bS4* NX2dHX}!ud*1p"TuGóʎLD%X/J F9y$hjouZuu-4Yjd-RL\ԝ=TN O(A' uX"[e誡)A K| DW,c]tSQJbVu*&yy[.LkĪ{ FFɰ& pUpDJ&":5N%x5n8 cTa5-$j_IF6ϝ6smRi?Q";=^=+E[߇`1Hh Y0y& HBa?g; Ԩ'##KrotW~S23C7nrh[*Jt۞ RI'$ %:J!dŏp^ =8 (e;99'1\KNs*sB!B FB7!7X1D3Z}LYɭtPHYcLu0fk7ه%Fְt(t qcyC2S_D"d (0ե 5Yͣ<;X3*JU 0Tra_@ zyulawGG&kY$IdqyP(sqY,,8DȮ=C$Tv%2o!UqQwW6o׳#Es`P(M_@8 gU!0uM 2jLĠnCa+s:rZrimR]9 _0G*V_TV$ /ڗ e-m3_Do5g2˜flIuYPN9Nf{}zۧēiMRQיQIch cU+*5@_W55˴(&C$=#sDZ-'nwd Y~L^ת_VMiZulɦ( ݍ1R6OF'b#,Tә3ŒR&(F00(\ `4% 4%ED`HQPV h/#l'؇ jH~PY+tĐ * bHi'Id9@r֥XH7 Dr|:9/:iSk7WEKR1W޵%aE*e87tIT1 H0)p@%B/ب)$Ԃ (Em[])s,뢽zf)-&uRR֔e2i"0IL̕lgBu*j+Y$p Zi>!?}@cމju,4 #' OT BlMݺi<mĦM*2D?9KLh8V ~he"2kw3 Ц KJz& -%C@X¡!k X>yO<;k*i_dSoeDU#^وeVݚ6r!+.AI@ԀĆCP_nfbAn@`Ew\!Hf[.aӊx& q@,4- rjO=BBѨ䁀*/F73e.BFED16"&'*rr,dHE cE_A_ j4&à*"'Ѳ4bAe,(hIs_rkw4@SRvLP$%64Ytg 1QGΏ)UviP iAбAj¤Sk9ʍ> ELle~SŊ+כ[P0!_??.@F F-0jq#D"ldØ0X ,e @Bxna-ZxB(ϒ[m#S+ێ.Y)te6b/ȕleul Ÿ?G2ṰmGb_, vo@ ` nMZ^@1 D83&p c靨,6 h9Ww500y0n`hBmQ B Ea7hhA5)  "7-!D2晹@xLȚ)|؝MPf!<68[$Șx_6:eRnL,Fǒ΢GEc.?0$cT@০xT.8t8dFn 7:PnY 1D" DA )'N ɘɐ1 92,0H!3L&ɲY,Sf_St"b\ę 꺉˨!o;Iv5*Q <ni4cpTO;L]r8u?Y)o9xiR*E$8H#DB0e07@*.]zlJ.O 벷WKInZNԟ.k\^Ѥc^o9дlP!BE6w;2v3)ؔ`!ZUKXQC )Jw)[8Rμ3e_Ցʢ~4vCMv.+Y;(D=Q< v?"З)\flB~Ǻ9'b!sKXJ |U[YR$Lt#)eا' szޜqS 0:)bLE5ǴkV!jIdM.cHDA6q 9SĀ`U2F&#۶m"H$omT@Q@!8=iI˓7,ˉu3ѫ64 h2ma@\Q&@mRKJʗ9IMم{+kKj0zD4A '@`Nb`BGKv[COhwd`gLb MQqAM^i7m]n?6f?W(Bz~ `",9SĀ 鷘`%M5HȉEQ>i~}ńV"=?9Yj5 AF5c~Ń5a 7ֱ/U^]ź>>W)&a3EOG@Kj(t0Cg>1O򡚤 Z*-/WPqxf:|(X-VG( hcHLAME3.98.2 4brewtarget-2.0.2/data/sounds/pitchYeast.mp30000644000175000017500000002501412266512166020210 0ustar philipphilipXing,*   ))//44999BBFFJJPPPVV__ccchhqqww|||LAME3.98r}.% $A* Y}lK!54 4PaH뭿} j[yt/e(z칼6OlӢMߙ}2Э*P9k6Ogç֥uRl˟`yO[m"ʵŞLFm&%h dK#?4 P4YDj~g˟O.ҊPBr`U5{Ј=&.⠍(ђdy*JT:+}'K%Ocf@G Ê?-: CgX&mcZc^E 3#k!mCozL iZ:z:μOYPk"QEh|źh+5dW8|ig/i㥣olgt~G%Е#1yb/O?"Ɂ+5*EfkgwWRg{9B @KWbZyՐEzL4 hUkC*w5덩avv$&V:lbOvXMh XGǫV4Yt*kjpFL*P_zʺWc6S;l=0]k@P8]߉DjkM j0 Z\@Hȣ&C PU{WW\f^Q$]`P!6,DP>V*3aH 3aΓ8ɇ 6$@f= Tq$.I2 I REj-D5R,.cfe yLjmkT:Kֺfh,S7_SG `/q*!0<)ʤ3`/+tGېJ8pn-Ē8Em). axs#uE;[CiI1)5uKɵQo]mS\⬩t1 /ErzG쬫.ЫXGgщ!JjdLuXԨXT&Lc$Jn- W3/S4pʦf($|@ 8 @[L$M+5 )IN-+GY8FJP؄2KW{8REqr[?O-\G1V!wk%XrȊ-DH-[H@$Atʂ lOx$8)+$cO]nbʽd:/B쩶MfBoLаp,8KUkʈCɵ+䍖8 O!*74є2.? x43 a"J rWe)BUtz#ʌBPkarrK CڏPP.rXUIdݯ@ e!(QN]&58 S* {bӍk77#Vo[08.#bډz DXoZ_ m!WڕW~hI7WX7$B KRTa`S$"B-81 .nl\'ᰘ{PPb b-Lp X%0cB&;`~%/[!\o=Dx7ZR58Y: bHl/pr`VXpNB߉|L4$C1q5siW06= 12c"U3BҢr@ $eOeS*ݴMZ} oF޾RiRI$KEl5$I<|OJ%u3# v`/d"T8Mul( H`$"VۼDuuO$ي赔Q6ީ*PZ3grA^*so 8bv(>Oț!OpH6d!}/ѧ9zݭw)Nct޶"KV:w8#ef!JaN4#(t}6Q¢a>axb^yr u3_-Y_wvetٳn>&&&T]Nb짜{p L4,Jhݗa0wP e 0R4oIp¦$D&

sҌc}42Ѿ9qE`$͵,@V@ yt֤94h֪NLI5Bh Fbް:XzIJ1gtfЀ$Q)4: HAi0Km=;|) 3~ag^.KӦ~R1#W.fdt3~3{]ru-[Rً+OCEjQ:ZOhKx̴E4~^6DFE$ A=/c- }_nK+#L&یdC9s2h+QG$J-_nNC"Rhdؒ,>aVĪ6`E8eaM},}Lqރ^c؁֜TN ?g tShuI-_#%i"(AB<0nhI*UU EEDw'G"c EY<zb- D1r|oui|a‚ ,r-߷Qzi3TƗIRٛu$r:D@R3~ V~g$T8 9a a&=ğh~ rg#jl8YZ4MW]SGvR0SSD\Ћ[e) e)g2z }ǦJy0˻ZeV I(>4"&X U*2V4Ո8M$݃K*P㾲/˳wP$d9Jv$9ПB3nr|zIRD9^<>~J#"V~w.Mu;+}`14 GY \ {KR+ZME9/N֧Ԩ|u߂Tl~\QH8Y'7IkZO>RGJlO~Lǿj$YGj @6 8 ST*7P0 QzIU:~1UdYJi.vꨉsNXT B&"Ͻ*U1Eqc-k?ֿ[!ht1@ՁYYmZ"U~U3XUL=eRwG W%Z˭ё rp+ x%QUfh ^ (HPQ` )4jU3@RAJP)G,P46Iy`2ֵ?@dFe%s o \XM%\28fke=}G ϛ#ZDx<1Sq.E6֕k.ڴ .ž2sk|<5q O i|>x*SU7Cϻ7m/[faO_~hK?EUXx.&]P2,e ' .cg@&:ѾǍI-ۓ;@I|xaWM:c4<'e%l_a^Rۃ$r?+ 7(mEDbr= x@r$RP@0Pp@D|vʳ`aoH.-y017b ap}(譵nQצ >Py ?%wvd>]'sTT # mw/k]dTEWaiĜh$QPZYH("0q, BJ9[Eb`R]F/39PC?ze![;w~/}R_l&J/7ZGnH]X}[p#8êwr}ڏ3idq&ۼ߇-VN Rz^NmzXGR[<7xf Ul(ёbI^*bH,H_1i/-EVWzR8 mty/m|do2`t3D\&qhbPv\D$kơuLm|'m{7c<˟jvq[BQ?{R˻e^n|*TJ*Lrf9 yn#B2ч=z)W *WJ$ n@JjT ILe9~ҷmNH( co)0Li,ӳ+5 # a!B1b1j{32/ aa)xE;\nj/JB}5,/ܟ؛!''ajĂ@K-أG\E nh X:* dOO6Wq$Bw*QTFV+삈mۮ iZv%PΆIY:fȘЪ\X pYD4h*Mq]vs`5hOϮPK cIN "59EX~>u26V+ MGN~2(ZD|UO/Cq|84ȝkHQkk?6 D!]3sOYz_ 6zA=cmisa &RŬ@!DDA(8LP؈N$dZX0]ʲtXʆR;Sٳ0URS^u#P 5K$0I%wWj~^GMOC Ge-f:Y(V- .ZR^%Khu-IAhW<S" $ym0ckP4 +YCĥE)?瘶 D$F5 DmBqz'"C. 8`1+DLła&*DK@ 2W v؍,ri{6 Hy3QyjPM0 m_ C~cVbΗXz`PZFVeyO o\QM!Ϫi#a OD e~ f39F~7ZyϾZkޣ[W|{C;k_TLz L7I+u诚A髡Pٞhi}QoDꆭf֤`XP% {S#F8 ĥS0aZ dw0PLfO?'@HOS[OL9n>QY(LD4]=~Hw*D\팼#VIz( H9ga9IRrwd]Uf*?]ͭfWi 'iVd8+M [wah8Op)+9xQ]ͯIGO Ph }-5uR0NLKv37yU&7V<6gǭRs42c[Q`7i%K5Ƣ IG1Җ #C8X9M w``t$}UQ ʐsf)Nxc. eP6UM!q|dG[lQɥnwV>+H( (WM70UYPk9ߵܤ.יT4( (>B0 {#RI"jY-}eǛ)f9 oדi VH$hQ-!\'2QvBxo5kϱfÏߝ*) dvinѶE( @wOwR"NK:=1K KUp1:({O%*#J x"1ې i򂇿AJҬA6Jqruo€f1t澫cq5}U\x|VyaTf!tRlr`'Ո@3u$R)SR3+4232d\D ,5i4913$2R BEAH-dtc{x BaIaP2DBq_\!ѣRT=gԈ{ډ̇9RVTľR_[4xsjMo3S_Q<eZ%]Q{kJ= *,}>@H'1aE #5 |FPhKgqra{ {yswV/gs sYOUH[̈K"b+\0W8 s6xAM])k3.LI6xn]VkeM(2s02-t_FB7%Q8nAZS"+\%]s0y_Ī]KwVg.ϋY>qg]?)/ԱQ M/vL˽s?xܵ,3~Lm., F",y] PB&9$a*TADSHB@^}ц$mR/$XMcQi[pU߭j2a;xaI,YN6*w[yjgy7_lߙYn oܹ߯$ ?横]uR37% R9*E2.VSɚ36X㘕{*vFaiMia?hQ`ߘms7e溦UZD-ӽ/PAP FD?Hy2 D 'L`E(8 Yukudt.\w{>ծ:ϳ^TYjd빓3~j;)lUrTƠ$C1@; {~qd-DMiPB¼֑N֧ʖ͔EZUY*D XtwK""<(Y6Ȃʀ"t(IO0h%p8'zjD:QL_%PId̽Am>|'.p6VX\vvve1ZًfdMS?ւ`AٱPs)Έk0zGJwg'W-ǂB~N`Tn:p9"DVǩeKx5Y$ /xJ9hS_Sy4wgR1"|7 RFojYwG"վw"`3$V`TlyX%0 0L6LBEfhU_/m?P)j=U.Z @y0CH))lX2a!/pZxQ&0o(tD!1HuTD b V^sAPt?4 kN,Z4wf2(PS6˕TʬuJRvU*jAl3uXd0CSg.b5ƍS =gt:8b6GK" yCUGEoT+Ϙk#+Vη!f<`l F$G۬RF0A* dX{ܓʎNGf $uL[&s=BTp!JgaK4\~ LA;*0#@*9h41GlxnԸ4o@cQdJב_E?wx?>q5)H )sg$K!xfxBSN/PJ5f@u$sT:l{OJ) ou b cM-|BȀIq:g';pNA  [K~zC1H&^ĵf׎FPJӮ/'Wsbz{U5㢲oD"d#v$vcMK@bE eHqҠ LV8hvG9@08 gKaj(lu[WBƶֹfe2ew_YN`CªʴSFgBc1 Hu9zBwTyY`ӊ |,00Y1$1Z*>KXK+&*Rb1VRӧUCFMA*|$-ĥFGmL:SlBN(\^|Y3gT|70`( W_KQxAXkn4}יfyc_/[m Es9NՌKkU 7U㺸sxR-_\۴mh1TXq@U .XxQHXi7YwPH[g8!x`p ;/Xݜpk9 `XkϬ|yS[~;&QhoƷvs?wxvZ 4ܔ]Øk)cEɩ"~:"s//JA%10|ݚ=㦍&wUC3%#iꢡ%EaC ![hj5[;EG)@@=N&@!M&Nu{H ,a!*4QAo@ E9I/J\\G6"9ZwGtt&<ң#g7$X+$'b8m(Dd̬̯"hFQh$yi%"%||"B),V8 Gmfk?=8<-X( S>jXP.rEc{u]"vUkM=-@eJ?:>LG]J]ω|n'AR<Ud߶&MtO& ZCC"0~H1I~a}G|t1FU;՚0w/Nz5H8a!3xe 46rXQA@t;t$x;# U(IgPdLI-&_.mm3^H˴'hL=>V18M\kUr³ GSP[Pl]ϕ bSeREGJÝLlf9tNULYb6H TQv귰LtG文aPھSW^Mt2^vfƩf#v@veic~vn>X_^u^o[qzr6c nX@'o , .&"g ~ qW[yZAq/19_m<UqqpoԴr4G$M8bM'+HAGQgj`( S0Gah|93 eBldK.Sl+:rT ڨG0)=~'En8'a{I#G,k= b"wٮ0񅮡,HU` .S~}`]( dU0Gag*C@j.3Co1َBU )o%&s8w.b 3W LO-R̛[" ! #gm"w(b &Xh{800NkGWc;@P8 oWV=\_Pja;$vwr^v S.C DC_y$79PuهkVz=}x,* V,XɶK@952jƃE:AATJ&<s p4J4p:14Un&v ʞ;s(z'?JuWm@hcU!NmS`{#Ɏ@N5*!%Wʁ7Wur[;M׼%泷mSj%z;/jګHH=M$4c5&p&Πr)YW8H.% ]{}_!vcX !K 7h VEA2'@>,6vk˸ܒX +鲴[m%`0 C8@o1aN/EDETeGD.@l87iUŤZXYUٯPj:}DÒ{ $ a$X?*< !h$>?"D9Y8c.%&97cyc*>v6y<бE wÚĥӽZf/2- %.I~"F 6 Â$[]IE(gybgwz?6sNyT՚ǵ]D.sȄ#'TcN09QHv9`ϓjL*F̏݊( tcqaS|`% y@ dC2hW3Y'(:F.%2: EWSf{I # S8=6e1зPGa\/HMK-Pg)k'1-DEď72)w8 gCg%|ĉ̟Q jڐR&x Z6P깑{U=:~]Pd\Drg=>۾cbb*8pd \0 Z=X̍rn( Q3eu<`lw>Ғb5cz#xH#=DaaD&bCAh=/dS)lDƈE4 0LN Aci/?0eD>w=0I>̛/D_eW jO'E1B@5xw]1!7`;(JD1!eoʅFך g_xvNF[ cZn&no%rxoWĶO6}|yڹ1lՇ{F2*)VB ( Q (0m]ֶ4&^,w^_QxBϬKI)U<|1TujFH`ҧtm1"vv~5T1}*Tᰶ:tM-(.wDm mQWM ;I *7V9HOzt閽`KܝR[Cz1ےۆ<:gx"un{eCTQ;*U<`PpG(cLAME]qz43.98.2? 4brewtarget-2.0.2/data/sounds/closeFuckinValves.mp30000644000175000017500000003377012266512166021531 0ustar philipphilipXing87  $$''.3388<n昰@!'z-bb_71I8*~Jg~yfeQx ,Kl0ƖzJ?Į?7?}E [y_+'k\ίn_Ɗ7e5r<1_Yzs=;ջu9xsQ 0QfJ! 6t/9Jd \Rmv |C<ϙs'rv31Rv؁H<1݌Y%w6oi9WE-lơjj1O1@U8R `[ -FVUf5klV8 cg$OqtZH@Fd%ǜ=I$dH5^5 ~}Fݿ_tB(c9A٢#H Q w0=ϖDRL?ٝIAwjBţQ#A2,h/wsʑ g\u,h4C&BRX!v~(x8 Au0( =oIp8" *zM*gi 4I*l^# Yr(I~=h~$?,Q.G"KAr.oaMdr=e^wcDo_V-V(@* n7|`I5-MW5~hrɬ%1/Á ֿ %sųz&_p޹tΥ؄E +Qͨ2)J/\班1Q_6۴]:` Jm<_.|-ipZǠO*pbWRnI?TaMF]aC'np\5r'H &: 0F+D  A"0Ÿi̹nP}w@N>ꕞͺrH 1w0Iaș ůmawCDxD`Buś2#ߩTDSގ(UQ3!i] 3,Llg3AؤTfVZLi|}p_o-$bgwf !T8"t(/'af*2*PR+L &z0@ eK CmwsUcNjh""k)GxYmp"egk+-}&n{I( tc[jD<(hepXUٺq3d\m[=huMM"iU\ dfk"Azu1}Yz?oږÉɋ>͊]=!uZٰ郈'^d: aŽ$X i"*2"=<W5:udBLZ/!ݕwa `󔿋-|q(s'B3 +,C'鮮$X07)ux'W"eĂG]h\Ш@̺S1u= Rz_d\GO#kwY0\}͹#&\ +k!{[10ß^:8 +OYjOַql6i7ݭ}fWv;ԮEU( ($hAc 7.+kaQ fHȃBK#<Ce4 @R $DbDd˥- 2+ ļMcpwD $.Jƫdֲ8[I&%DI>eT͐DD嶷MU .ɚ(ƶ^2TݔROԴ'*ALGTRQGQPQ .PJbZ@UpV"BdN"hΚNS6Q$\"3)Q9-fd@h/S'˅g*Ʉ'Ю57MZI$HH"欵e>Ϳc>Apz6 lDb!MIWC8We!,,5~w5&Qe~qca`p`|Q8E[7i\j`P* } 9%Wb aRzPd4:4AM޽"覙 qA Y H'ELdcD8$0O!OzL2gXc[U"E"*72޹MO9G˻AGY 0 Z\PLb=CK.T$Y'Ye袋[vd̒ISݫdY&_U'Dҏg޻k7 `F9Zi,( Qw﷔0#Iy &K|[(Ћ$L-bS կj[i W =6qdz8C\߫0HN[oދ潗N}\D 0#uMlIxyQ .,?2e 6\1GG8rjZtMQ4Tht *D 1Փ j/`hو\G7u[ N2”`6@,pF"!'6Rnܘ"/p=VR\S;wܥ-b. .h,,JN(q/#B99=V%РڀP2QUɫŚ&ELrVbV}Zx&Y gbËn(OF\>vYo҉vͿƯ|ŗ_yT pW(! fUc3">h% F`ԃ9僡<8B** wZbSPX%]&,:_a68*^ՃqHLϧLlmݽu|:&ҕvuaFڷkx>w$ֿ޿?ul|οq0 8 c^%ĒJc.VZ\@X BqX/^EspAA8~(. ƷCۙf=Zʹev_wc-_I.H Pc$jk$Ћ,5XZM( #K((PU &yz3{⚕-0h8H25}a5*h8YD}ˠhI)e 96q<*Kv( YcInߜy!-6rtg!e"KVreio&!<@T2D4적d:5@%eq^5l-5 chp8 (cL} UxfqjݝZM7M.jU&; @ϣǵǰ,'S^J |ir' $08mooy!(.m߾r??2_\u|q;=] 8:l*A|Gˬ(`Ph.eRMoP3dLp4&T1}]3ay8 c=c^\ֱFQ t8*x()DDKH^(b-^sa\#pF꼔T.,#HQl^VT8  bD$^G[!m>Ik^7A}"ooD}IrK6ZS05%JX* M[@(@Dʃ$h ib dhi P ,tgMbb@)9!y=HjγOτXH˄qb2=T?کIg_|o UtmFJ$>4OmM @Sw -ѱb ̭XzU_pZmyݥ냥TZڰjC}F-JYbO+euw)0;ّg)>dA= IܥjZ+Z)ZLsP)^I2xM&͟q%ͳZxb1) y 3u'LE!7_U&kG("Kg0S!(k|6_1Tg;Nm]W̹2E2&ĮP:#,UHAⳄtl`^qf';X 4l*7-?kBSV~hБe4+XLᡲOh).Tq{u5«0*Xqg0Mm5 ]pBeh02܁8XEq]#(Tk) a'õnzE+,=@s w?Uz]mgEVWt"IDcP煀T/*̢=~ V-:&4f9~rKboWrCEo6WGe35$SbĐjb5\1 eZ~_b8  {E@uwUU+^8OD Mx#8 Tor᭐mv#7b|?L^}mf}b%رA#Zs[7""rEkL>RVyǹwGvӆ%p1xef<*J7 (+ oyl!\NWYT,uy>SXy5 &H&CpU ]l>|M(Hh[6w@(jppC8  ƒ b&@0dc2)D .^a4,ZFQæ5j 1WLaۨ@16K8 ~]BBBWatmp;q9 bjO @R2 =1 v5jƹҸeqhvyJ(DAP߉DWX}goP}ĤP3]w )KyJaP@I)&T -#jE$#,1&#tzđu&]IϢbo>3޺ٚ8❿)u&^ڪеL^^JQ@b:ă*ڝ v!0 )8qsB|4=e U3OY?z8XxX8us:yȉQk ȏcmhz+"S*&VzI{DNz)B\]a"'n!KQ8 Di$Ma1, ^fBEJ_E zLF%ΚaUT^ JBE5g wt0 pp Ґ"K8oBHxř@I|GX5ݫOE%TJenަtTpN['4@ &wX=W}N%(q#<쥧*#tӋ\E`CfT 8 Y<$jv+P#rfhsR4HߵJuN@dՌG"cfBpG&vx5 ^`P\eCfh M2UK`)l& Kc^ D.3{աRaRWxETE s(HR|H!xeW2fWfggwxvv"c5%Qp),)zT$v'a-X.,W1 a]>R[c0ܛfbXlMZM [ S&:XtfWxmb `oy|ĝ4/L[+2zb~˺iXJ⾔.o%L]UT{}@j"98^ ūă[ $F&:ġe!_P$WHh,`!i(VDa^ ]#3ϊ@"}O-@xolljg8tj⿏*~n:ZO|R55vhnPX1rQ}ɠEw0x4gE,ܝܚ9 gЩ&F!4h mqB>4 % V74$"\XeogDoVsZ,^W_,2Dڣ#pmx-s&G-i5aړ{(Y>}H4fF:I-mn%檲ikV4[aų]7Dywyn{\1E{N3Nt,SSrT NG(T'*:)5ךٞXgRGrpd8hxYr" 8ezד]6 (} `!ht'N$. GPõiZSɦ6 \V(cI4vyfp?I veHLDÃ5( +YA jf @gc2zoP٥Q*U*)[͘.cy)KUwhe,`# u"185`v=(f ]ߪ{W IrFA=OhrUvVD‰) & (fI8Ql $ -Sl e ɂ+rHDP+VX7--=oE$ ֚N:v ,E"2 P_4M5",+[9-!vj^[ǎͶ?2LrI1ɀ9hqe.0gH&jhmn%Hi.8}oZ6Yp^kĻ2JA# g1_N# .?`xYG*'݃DK̠(? 6422/w7|+ ZŨ$ȿ[~sD.½=Z  ؅PVvqcjl^FML\Y֟ݿǙ8 uqQ)-݇7SY$ﻝZC,Liʩ&{+~wwyYFFwg29SQ.]aq msCBKbWQl°#ꧣkDO q~T koTk  zuoo5~ӚA*}MHƒG R8 Iom$Kሮm $8m.,409 Sry[sl-"tLOW`!&om$Ի_xG IZ5b@!cuفh+:n4`]zM!](LTBӣNTc1YmUJ CYU>q5B q\@2JH ;k$ţiTs87X_7K=7]XBFp@ A˰=7ZJ`uj)wa8ع#E"$ph Ѓ@ 좜c=\tZ pDto^!81C%f:)jZ5iEcA!aա/z$#h 1MaнҨnMj.U1MP28 e0atḰ|3cD=4q̪0\ik!hJ*HDKLx\UKDEPT鑸"DzA8H6ȄR<ܿ3Mf736Y,lfL3H. 8H;+UfLtԂu3M4AOAJU%Jxקo١@ Ax3,C#ƄX93#DӕAe/ $c էsZUI jXӑVPy!;"'ї*` o!2YkX3} rj[UIDӸ77$:ds+b @#[w;"Fe Rn[ HTP(4| 9X5.G~Sr8-c!}8~IllC*RZKs  Bd0-髿qI*y3/t21H&n$ +3ܨ 'RN:PBUW`X@0EeH A7Je4 M *[ }4x׈ȝTEP!Fh{0.(h*<[J8 =9a,O=ljNӱ/Sc_\҆fm⦷R:FJ P.TɊec#շ]L)C)z@e^$#)#-jJiu>C Mh%ByQ/ҳ8"]ٿ%JPXSb*Cူ8 ?S_.0GZ^%:,O8 Da0g!, dnTFU%Y U^(t當l5!CE%Spa@@[*FYf?w UZ AQ5n _h1`l@E VM_C,P5WBie#YKd+ i8`qL <`8,x׎x x˼̽~\yXhp8 AgSaV;,Jݯ%?il4+R['HndHjG8r Eu'.^!lFFɬW"wхgv^k~NFDFSmZ&?T!s DT2(ope6(\tȺNȐ{*J 1I~G>nx` HdS I Ca$GadH]H"YVa[4@F (2F&r*Vgxun:Lj I*E2Vc#2/螇˃*&-Q{SQ]i( `O( *20߷R]P!6QSaSzJtR !u(Uٙ1cGGċ a=k[`kq`)w|.gĚ 8blK; ?w%j4ݕffҩĹz7ڼR [ Q)w0! NA~B` e4XXׁǙ1P[۾k|/ Rv]Ȣ͋'2.FTad*.&x&o *4I(?&p+Qđ>ĚԗLAME3.98.2UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU. 4UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUbrewtarget-2.0.2/data/sounds/checkGravity.mp30000644000175000017500000002233012266512166020514 0ustar philipphilipXing#$ $$$00===GGGNNNSSS]]]eeellqqq{{{LAME3.98r}.7 $ A$L G 趖`89׿*&K&Y4S%u\M@=$!;{gN paXKfk,ښ%E'Kmm C,P<ֳ]j?j ݞB{LHyL;K (0c (OԟIekaq)2}5Uz&)r.Rթ+hLfh牡;wsKo_ڀ?s"!gbvȁ@9uW@2YI i00$D?P pesf֘]H7__mdmo~XrObXH"!Vanը?us?(}N5]$ocH.WLI8 G!~P\X-e<=BDqg eS;N{GP tt&r' Oݱ&ѶI+r0.$OtGng#8huwubdmMQC [UwcDY$K+jU! `@]lV`ڞ}o#Q2'CDZ a,jh̰5huUy?-p0~J+j8qsulsB<nu`;Iu+*oՏmoQl ]u/52+Zwxj_)f6fƶuk/F<^Rcom5P]w`HanJRQyHci.%pESJ:#Ci,yv @Z+~JT:5ULYo % ʥϯvNi7;_-_3%BYqUT2NwWjT06?]I*ۻ˷@$']q]A~Y8x^󁳆-P3@~&uqplDfBM(2x10]ĻSa*@n3Bi4U(2Nb4GR'xZ+cxw_ `#.mQ^w|g?k.H^Mcr{}YL5? c[xc gڔ-{>؈69sn٘S(A$KA戵6Gzax[Y'*_5%b. b"NXP@ "y $ q@N4glBqdof9+ؐr\q!Jɣu&RD验Hig-tւI FZ(̓dPMRM7ƀIƌ$ :rBsH3XUh#Y'i7M@o2 3 zD 2 nхnQS:_Myߌw?VbUfggv1z>b'ǛjcZ9sJg(Z2}w;1o$I(0 ٗ!$Γ t Xp6@EW [PuaX3C&=: nAHr2gɃv T \]jVH<R*"#rv$)XR꺱I_e.C8-W˿ee8L*.S_}ԣmWh8 ]!:| eߎP.@u8"(7(^b)Z_:K LmDtNdO=}s ?8դ&\R)e HA[YG$sDC/=;sU7JK)f1_17Ծ-JyJL)ذ0+ I5.KE&c[+c'=6`3( 4sM!w1iȦd&ULw}ljJ]v_1U*ȸUƿ%GA|Coi\]3H#ׂ6܀в^b?noԩ0 0Tݙ3Mh"R,7XrٶVݭ?ɛd{>h45.VjBo$/z87 T@g9\e"CrZ*]V<1Y vS&;Fs7Ίr3rS˄ 7UQY0uoť_|Ҭ*q% _Y-HhxkK#ah5 (*좚rJh2 Xc1m+ZEV4zÍVԌ2*$-09\ 5g,ۚX otSXs@#$`#x `$̀;/"_Pz'J/ʏÞK 9+ϳe`6Ojh2s|E%Rh Y"dbCHw^xzHLm~w>|זRY -UռZ~_ݚ˝@C<9rF2&l+) #a8T]u_!FT+eGl*\S/I$b &Kt?TbP;]uV>>>V2*W ]oq{YYut?K~5M3hmƛ`<Hv( $ѫLALX=][췰ؐ%IA)x.YumғCk_b;$k \@%_B` :Pi Jh8$օȇC%S #1Df1d079̥c!/5dZ;Y,D88Stȏ<ŞGBjTv׭@H Y3g$!4,5C,QC{ M6>ӬHiIY_(#RL3f9D[u-tݝGT"O+<;"Aú!/ uQh!<R l*|?lQ-ͻ#dc;nQVDBcuDRNumee3N)DaVBTQɉ6qQ$#wKH g S1m=V<@DE7 <$J' & 4j ( iuD 5@P;Y}!"iڟjd-5ZjQnOdQpL pʼnV+%YPFiXQ}Z]f%+Wh]tӘ5b8bNG1*!eq}vvSF!HR)ksԡQNڴ qJTj>u՜ʮ `Mܠ :( m$)nvpzmJR^u2R7_?O]sy]Hf5ڿʣs2bƋgdogXj2*aCUk芣!Qq"&iF8&|| !:H h7_0,+p3$@S_eU@ЪQ2HlhFu7@M=/;}呕?͹,56) e0OnԻjRUUOÒ|2-x.Yϯkx_SK1[~),on ]qsrnCxeLS@X@Xfu!P&٣.z'KZ-Pm4MCgiSU^qIc:Gi[p饎8s988NW*qQbUYE=+gѹ"0%e˵{he]ivRgAh;k'08 [Si8vp!lf}fh0R }rlnȈ":#oުoB&r^Vi`6%G$oMi-y$ 2VFJDsآ-ddZ<8Jl˱I{짘{ѕT$k;{ZS+{5UL4IQ$i&E:AV冎Xh 3S#w50Օ# 2B"mqQF!r !XB@*Ddv$-c&t fIFMX*\S'DUGB[?{{^{y1h.=62c{޳l?ַ?o/NR@ _By4ӄ1DLD3Dl*U.%Y~KP~+}Vټ>6yv>H =R&iTi'{Lg".Ե+w~lo{>][UawScXkeKڶL nsUYlյ&ЃD RF(h 8O5 T""Y3rYYr";l-hG{I11/.%̺p%K)4JQ:;Z=C5X5i?$`n9?l)F+Z)78\>q; CQ 1hh$ 1cBƇA&4 ~Ɂ(en XuIi  rxJÚV dQj ! H4_qy>3:EK-"[o8@>uHj7f-,h*FDt (w8qy ysN5`"G T$DcI3"Eth7W'+?2đ1g 9"\8 PjfT24P#E+lf C*Uљ!\2_~8#H܇S2=^Yg=楳Jϒd|[4뚺LIsD]dx8;@%#Ub,`k:1r kԽCY HLF@yfSӏT l[NFef"kM5R;EG ZZHSQHk[~~s}>zmSsR_gw@;4qLHMz-AGAf!jJZ`@KF(]!W AblsS,-D9@DE]puC'kj:ЄI$BI_:,Ԃ;˅tfe\l/mj%8)' @P2*9Ĕ]y})f oxWn@1qJFu&8 7[!n \.5@M=F#ll$E! ;!E1% a"zpnKjOa.> cɔJL`@P^0daq4 '"C-D.%?˯6xgk!Bb51dg5( <[j"<&As{OwF>O# xg'=ڎBRjzwXT QH֏7Pg*KY+a{F]+/;_w7VJcGDtk5?uW ?bTaCܚ%v}8 sYS^6dJ0#q/OJl)pLCA+H=9 )~"3`\pMm+ߛo{uJV@Ae1:ⱴDT`)/Jʏ)*Q!2o΂`ԡÂ(d1%OBBQ Tҧ)}ݩ*K]xJ҂SVB:U̱)2Z( ?Yc!D L"D\TI +_sHN  BQͼ44`=ۼ"wk:"4*s+Gډ$7;ucaԢjaʗoF3,lPKDfe{@1 avRf-#Ռ( EQc!.4 $HIa䂃mi8(„ȥ\F D ccCfdj $v?[m\{VBȑBIgml,H򦈵EKb|\ڞ<]CCμF*S/CzYBN?Gޅ4Z*Eff}ki[f tso5! 3S10<,eTѦJ0jq cfK0.}nPNMvn d$1etM۽mh p[ V mQ,mUTdxtE6ȘMs oxdDS8- Q*ل0}T+Fim)GQ5XۍX^X<5LAME3.98.2UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU 4UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUbrewtarget-2.0.2/data/sounds/checkBoil.mp30000644000175000017500000002162412266512166017761 0ustar philipphilipXing$#"""--888<<ȕBbCc"f;ƨŧtr4vaЅ,9l;N/}fiە"Q%)u^w^ϚzQ-{499n}y`Syw$iGM|]N\*]@$)ݕ6Mn\u\J58`R=GiA0pTT*"JRdT'}s 21G Y:c;;i&}cI\i}UD}Idc#!)SjhTIESITĎ(tr-oFw8 dwi!>p5RDRluƷ2^=H.~,b FIG\dKS%"-Msȶ]n(!&iBqzDžeT QK IuICMN$z8ul'ײMPu^Si=9ԏd&tMMj`*5r0cX=w&X[Q^x ՉS'+7511F3aY[iˡ0eHqXM xM$`Ը>dh. υ͌lCtBkܮP@ ER$MF\ɲсdE"q"h4Y8hDs&z,Tۻ褋}NnLƵpiGƑD lR! x11  ^`^-X'US2`㩘ɒf ޿G+ C ,Y *oERy[ZrWLk+)iÞ֙x?L'__jޠd~vf G}.{u^ETi4wkީnYoX_ʲ`򃢑vxa9] = 3) j/ZnzA=Y-=w,FsngW$#$ :1J!T>#H& V^D qF XS.a;<%,,uTp2I2 4+ezfue9ΰY2jWٜɶNt kT\Exvv!^Xo*%ok#h *rn/kYIBǬ(hTo>-IdPֶRQ 2 Qi))aȑ#k(rY!I9P+9/"0zuz (brU^K GOZP >rKecn^+gάv_ܱ淮:w _UA Bb`&``]F8 j  ]UbE{g"hYW#5eȠV4;u*UJ]Y^H,&w8Ƨeu챬H!~S\Ϸ& ]ש{/cԯVJO1P6_lH {aa e hS~h x8QP8S0Td(Bd/}%|Qԯ͊'i %r!zZw}_ڳYϱn~}fEɩ{W~_YV݋-oHnT<7wKǟܱ]܂c7t6$-dU*`_g+)PC!3Xd18;[!qtܢ=5^(DJP洿4b쬪V1,!CWJQJSe,e (cZ%: `LB4;wހ%fE dQCiQ$ҙ[-i*+O̒^P&{cbe뷪gO p1?'"ݣ/U&a%DF5@Uv]|&E4<[.P3H](+<1hJnM;?VV|1_R[2bB*i!9o>:w/1CS# Y䫠Ao> e" '4);9"4C| itMjͧ8 ]$K!إ}{q,xuĘ(>ʆ$tERӮZ 8F. @HR }ֈl@0>YM0 :rqUuU)Uቹ (PPT_@2@_zQJĀQ F(IԄtֶlfY] @RH. 8 ?WLh`50L߰Z ȷ KE*QSP6i}`A3k}{#wR#w :*LA,Q)S_P9&HjVpd(50RpDq}t uX98""^iez-bp %(&h`~zɓ&%*X %}Zu}~EhwNR=T0{vPhc!,[:t oGwPa:0,$ )ǒ:5I460:dd( 1[O)N} 쑾Č u\;yQzMvOD9XфG4oC://4/G?k6 nO4&FO45D;/}6R,$sg}Jo ;:0p n`yâE3յ8 =] a$Z"x֬Mr{MV2MCZR/"$84whbPŌd%@2o,(M:(E<_z򥂄"4h߿FRפVbcAE~Adhf ,)U LH8cQ)/, $ 0"ROg8WY)}ie&`xud. Q2|9ׯmpVG[}ё^WE-#98EHM< &r;rX)B{Rx#&^hgFq 5MdYkeKGŎaOw)AFv/=acUQ5]خgmK&;FCe9}@p2cRլQJ{˙77Ysc;z@=BC70!* "`Wp@ ]Dca%Aï4*-Dh/Yȥ3Ab6n39jcϳP;fw,CQԂ1i,KNK'}Z_]G7Vr91ئԔSvryP򭛚]+_0pX.0l@&Cfr# >6W.4e oVIFb8+̕FG~ <YfU%_U(K.mvqﳎ1[[ǿ$z?$7#8WJzWGRy;/]{ǝylDz^Y $Q%%o8/fTO+1̵M 8-__]! 6CA=vMqgp!q7_?L՘5f:#wrhL:ctlq>8e ){cQ'@ `I/*Z .Ӯ [d܃(ɱ6]`❫`zdSNhl!;+S|c3Y6l t-|A%=y8I(=hW(lwP8@6 ~cW(D$BБ[ȮaZ:oCM9ԃ.D_Z) -:H ܲu`˱BÜgU__ַZ+,wR̶_X|;[,5̖G{gW PǨ"CdwK~z?X+yPx]Tjdsb)@ QG3.ŘQs29AUK̊B{1K2ﭙ.k"+S;ڱ .8pY2+wJ607S"N*B|B75D؀٣GS(_5WJu4V !Rh&U 8! sc"P2 cm.4>V* K.pW䁦,Z &Cas(gE_@^0kE"|8XTL*E!%})`PΣ{ ? % p4nas9<7}y>sd֡1L˭o?kHǽ!o]ՋU7?UW3WH C[!$(kXˁ( IS0C:*6(L+7]PSa܄u]-.sEQٮQƜ(Y kځ fŎ>u7w1;0\;!}iPm}ԣvWz_ֵ4Թ=Q:+K-If*XVVM8 Q+0Ep5ll7[yb9c |.ӝ;gΟ5a3DP/> LCA(2hoQD5n"{ssySIB,$4ιdfh@Bc,T:"BJ\h4jtJKmQQG'y']bܡMi 4,ʪWD-?aLyѠu嚱\ \)6 rGf[RyVCഉξID (z- fE3(ʤ8.ApV%`mF۷I>ޟCDȵF\NS)F{Gg 赆 -yI2ne]!%irg`QchKF&if̓b=0iI!6Y3_U9+O.Q˃Yj]NCNdJ̅X[Ia`h = rRfoT)Mnˮ:~o6^Kz|r+ ]s)i^z*$*@eD ֓fAtό=c-M}_=K(_T|?}I,IY/#`D8sGjΤE,BZ}[u,k/A r#dAvb* 6 rF: qsT9X)5%o GtQIa`ԗ)48~Fe1"gdT>q-Us˰ ]®۾5"@빲 "l" (EEj]#zGwB\\hL%F@)G`)tT -PF*V=DBUܗkKFNedBHpT(= %LAME3.98.2UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU3G ?UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU] 4UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUbrewtarget-2.0.2/data/sounds/sparge.mp30000644000175000017500000001544412266512166017362 0ustar philipphilipXing$ 111;;;CCCCKKKSSSbbbbiiisss||||LAME3.98r}.D $PA$ $G!R| bf*ݠ*+=m`(( ,erUW< Хbx6q)h\ˉpjŃ-Mz!OR5eWfxler$fvg( )MeJt ^)"'egM9"3I.eWg&]3Z;PF /nr$Ba6 %'XJaL!Է]t x)`L?PɁ>AZ.B s 5U,38bMTWi76v8 aMeaG)0DfVwb3^ t!VoSp hP "2 {ܐij &.-i;RB ٯB@NZ '(v$ʗY$9z}rGj, !ˌ:ΩDkWbr.u17'p-tB@(# JwE0%Fx {ww==BFK"'#K;TK_{7 ]BrǤ"TUH7$Rȴ̻s$wuGyQ迩?pux _ 8l<%֯ZE 7M/N݄CKaLdLTI:;y?8 ʒ͸„12HKıZD%Ԥrj?/A&c6IIq)lw' GCV]ԯccY/r0# rۣ{j(wmLLC ^Y?hqUlO%SO@4Ȥc80fy"ƻ%/Q\.)QyeR27v䳲yTwGt? _ lw\cHK 6а@*P;?ШpAryc X?0=CQ`xZ*!`!g!/bzF{D2jH;1-@,#6#D{Clool2lH]o 4n<"$Ї'cG]uIIvk*Ez^MH8T 䛴O 7ku9UKcqU5߽齟sMW&KjM:jkTP RCB_CwrMǐ+j9TpǢ2kޘygf6eB4]F:j& (r'JA=OWHBlwT bںJh8 {sg\=$)c9dAUzW%)r9@t2)<ŸcՆs"5,fFyy5Ӗ:erg.*4ھ*%monmEujc]^~^`8M*%w4İhߛ^{IT\3~,:kYv"$*T/`2>8Gu|ǰ2}= @@oq{9uVO]s͇r !ͯ{?ONNTke=\Y?b`35PCF;B v4h S&l+3D4ɓHfd3gR֓Fk#p 'ҡ|v2ǐ1a'L7bEt,tQ2\@1( b Hؕ8F$\Csa1xrΙw}u3)v4+)M͈q4NZ2kW/ I x 9% ras.H~:ʆoo E3 Ngj|yQ]9JE\2yup`\{$$d@B`>}+^ZA]0hYɩc<_K;}&zc3\.UL(e0)mu 5U~;SM0kH*F 6_992MAY:s/򷿿@ZWm#mo߰L fkj^ty*4\JwYj 'hƒ_8 EcL PL \MKUz,ͭ$mf뼌`7Z}PfC_S9d5Nry,3@HI߭887ID|0".JҞ*!q1:Ө^ծT{ngb~p@L- < P͢0 0V6(\H,B&=)J(8 yyg,K)15g4>r2Qlj~pnfwoc 07]QH'_ހ@^! FFEiNmO'5h.NTjBDDzԊ(fH0Cso7d1k/E" GVC*qa5nT dXLOdlcbAE fT( }Y0Iax-J7A~Ң=/Zc# HJO{) D(iwU &L@ "`8!Pk“UH̖LRGU6k3 &6tVRkYTUZ^[*S(X IQ"*3j72/ɱDPP-MUlx&8B><2`6(l6s+}}Ttfz-'몚iЙ O`h:X@ˬﰡՌ9X9=$-;YMFyGqa-撈d$8^ @o(6c RS3DPh"57Li{{"c 4j7~Fg1$#4"7h.A=?҂\^5XeQF8 Q)6`0 [V+TԿD"6yy/fxkzZaeVApS:ׂVA^7P-?ZC"`- QI>W,žL,DzCbd _3빽VjKe˥ա(njG8 0S,P v#T揃<)˻\!Vj>}*lPN?wQDHΟXD B@T?+\"O䋙tg-FʝUusI~5JX>NdkȄ˝ѕȫI )̇p*X˻`m.2lH 4'e8 gl{ |&yu); Qԗ<^r|PE,[ϙHY ʢGB?6Nil87*З†V(j<SpXA,VrÅ缴^xs]`IP|2:!`D j~jFI 8tB5ʇVOzEbjX*bkCJXPf rWC2Ɇ!8 Y3cÀ!w0H^! *1=Nn!sSѷkʻ5G>i`UΥ&ɦml/$D *)|XVZKv6֛ iN_!Yjh'% S$lPDZu!ԓZAsn{Z0?l6vg޼,UUS!*e8 EU)C Wvx BE! v,`L,uSXZ>m9qlU}S'3|Zri16VJw+7z_mwɊ3DDIsx4 f 'p@+1FT2/ȷ6ʭ glkH3F鶥G{$dvw!7ZV]uҼ7( Usa1 j g$*ĉM/HarL ݝ#efwN] 8U$a<$v`4Tv4̿\|m}w2>R zt}J`՜A3VXMb6Y:EMjvjHQx.rM x K_ss x7RU$Ee+S$)$fwUVauXu1){3mS0J"#opl7.20_@Kjbƚ9 \gJ5BsAxp5׹oJIT-O w CuJ1ϛjQ" M C f&.nJO yL0m@TO2Q_oBI,z[w ¥#8buL-2x$;j4wYĽCN>H4%x~4q"S7㒿1_K+t'.LAME3.98.2) 4brewtarget-2.0.2/data/sounds/flameout.mp30000644000175000017500000001522412266512166017711 0ustar philipphilipXing&&&&///888AAAAHHHTTT^^^^iiisss||||LAME3.98r}.U $#A$C!(Lx>Km![Yȥ9NB! :^XGΉI>Y NB4,q*oYۿy>W7dUyaunzF`Ų! RH Kak-u<'%hyWutIM4$'m C0' 0um2ե_fUR]C?h;lOO&=o[a>2Geg ֮& P 0Uf˸T|R[fxUMB+/B7,Ƚ"Srxn(4>E$WxgFj++,u0zڝ?Leh S獒5"-}J B!TB*}h"YF>\Y2[ s;>=4-ȃsXX7U0( 3Uc%k8I@;}Z}n@:?w[ixhti=CR-[;Y.s>{ħ#3±J>gQXU!^%I0#D xўusUh+arzDmM6zx)*Ugt:8 U[$aj(;CDH@T6N=8 "I2.8$e 0ϟڬHР]j /i@X oFFd{G1vP&_mu2B 1ϜEvQ~v0 'B6=p] eWwhHҝ#8 ca m K =C Dl/m\Ňat0W8[VnC;d uMT-82=1ZkžG68SV}YyEag:dc)Xɜ\< [?SJ<|AG2xZ(+7DhʇI[lĹ*ő48 -gQAW칄X̨a΁3l`i_74j]oԫgd9fw)BJTT`{ֱ5hhf]kH>Sypv a:iw q$rXIE%;0BC&@h\\Ke(Pmb,1_Zk_+mE.Kղ$ X0ppo.kӆ( Uahy% 5͛,\>h(D}~0uV^CrH VIoos2CT3WO`'1.:.B V !݊Z\wHս]ԪX΃9_OrX M?>K ]aUTXX iQ"1k\xn _! 0. 66ie75^`o]{+߇N1RJ/2Nա~tAx#JSД9F3TQe8 cM!Zo t}]Ҏd;zTЈz)h+=#m>]0q/S#K&3HX@K_ab _!AaCVJz3;,RͯފI`a ' X!~ąH qygAB(ތdqHYo$O}swR.&!ܐ@R`8ے[6%vB?}lW}.LdT?a_k 'A)7bf-9dP-ӣ7BA QVdV|)Zt ;*E)iT髌TvN`[*Rhϒlaz^S Db!|DPdտ"zՎcJu0ڐ_Q:>jVuǗ8 ws,!{-} \.!jPJC?,iJ>0=,.X뒯 ܼIb +h.c/Woy~ؑEtq J\b0*+_}.X"6>&09dUKR(rȭҸ (c껮)gw*} BB~OQ4dy`1I ~IH pc`(-JZa5  !9uٱ՜t$)ߡ!X+(Hy_4ܭ}b=_}:G/mXZ7Ul훙`vj_tP*m_;-G:}3Y @ 9DTxL -<6lۻ}~#xfPK: ^*$[3XZ<-~Sff4a3cߢ'K+: ȢʒGCfJH n(@dNkau "nk΀>o4VF\(1yq,M_|l C.HһSFrMe-H$ Q)Np{YJTƒA"d:51@sqA( ݊XCߐ]R 7&sbA(9Yo,!`-ƭDP1|xe+#E \Smokۼm|ȧEVǟ?elZ9y-bT sk h/vcfD.1Gޯ([ T_<뎟s?]>(@f ;3R٩HAk,Q!쵇{oIAq%CE wg\lijWθn muE+ˮg--_:Ǹ΅1{n  ;?̑8x4 ~⛵IPfՃ@nDev |@霡#EO˫ͺu)1Zfi}KaHDzȩ#.}_$漉uڨ]EPKOK.C,T >m&+4wqc$أo* \2?dDW  O NG vOvMDҊŘr ;VJ,EAKdYL'hf31`]s `H碋YӢqVEG3I/bf - R"YKR iB%guTiysb}!KvD`p '\ '2\Yś{%7S5XJ:*' ЗN p~~6<0ڜ 3SԅKc`͊)f RǦ$>0MWQW?qK#VgJOn0t"bN_`ɒ,,~= ,7]™E0  Ly3?\S^LA,(8bD rKI )4Šؒ}JQC䣵/o[V7ucĘy3u`B\Xw Nm+Y'E.Qˀ2 j/3 G xDrcl!!FyOL֑i YFCl gi!WWmlbQ `ꆷ[ =jܱB~2dK˶%ǎO)7)K4)Z%-hzK')7%aڲ~W,a9ؤx(lMt i4TJא!V(4ehNn˾Ơm@2ܵ Ssz[]& "MpM*LAME3.98.21FE`jhG 4brewtarget-2.0.2/data/sounds/emptyMashTun.mp30000644000175000017500000004536412266512166020543 0ustar philipphilipXingHJ !$''*004:==@CFFJMMPRTTY]]bfkkpssv{LAME3.98r}. $oAJв%kO!<i4Upϔp~qA˃p@0w9\Y Q#,A* RʥV1CGUذя8; ~_/oGERսL*}H+rn=IH $I".')w43em*1H:D(L>ɧ)s3R|.PO:xv11MIwa Eye_0 д24M0ʀTVvHļhf:+`37r%Ԋ+18>(,̳r% vAMpоfM % r|}oVӷf$ 8%ǡqτ6ul6Mb[`Qh5UҰɖZ温$N>[F[ ѯ\D_&ia]#nNGAANEyP8y@p܁#,NH"n/"(+(RHtn)qcim, a21s}GYLgXW*喴3$M78 Wjh}oЪ[$Qe3II+RY0͍BakI~Rω+(ePCve OjDM7@lZhw"kL~ Bl츙VlY(I#t1|In]PjW#Jb\Y|؛8dLtt%1uibb]뀄HFE,ğ䘶20.Am顅 ^<r𿾚pһq"/0i`ժZ!l P8U3jBb,݉%j^xaiY*5m~_"OrIE1od \CA`G2mx]#<}d%b Q)` !^a~_^Պ?έ%I kw۟1?_۸ZǝpT-%!i.S edB=FÁ 54pƈXKB2 X"nLHP"Ȑ#(xx뿍%Ωlvm_c;yo`xgԞxEB7[wAW&N .a 0q{fqc=PїzhY&k5ۂ%;UD, fso<ĚS3baZ1ZLʴ:VӒ46Le ucWg7(QFXUe,7wMwWFp2ڋ_ZTPȆJkh# $"Ħ8*19S@$rL!v\v( 0[%+X!"܅PSڤfX vuvJ g^CwV(OwS)Oj܎_6uZ?wL.T wYeqt{2wv -uW]4x !Y!?28"L!j!wH?DАp .(cƚ3Z̮ߕ ,esZ1J,ó?mш4!J4PZ S5ڽ(鈴{cIgF_X%j~3c֭eZnw R5U0AQ=@'ͽ46HОS/R$D Ł P"Lq)\Յo Z!̈Q&UFW="4W@Q ]5&R9Xc!W*t2wvۃ(@4dwW53(R =>Z (3rkOBԹ'>LDaCnU[9˱8a))4nr=O)/AIA#juf[-$1.PgwS.&=i32%4d^We]gz֪St&Uxd/Gg'=Brrs^ρ܏ 0!+|F>1&׫2 0y_jgU"WLeWr ' ~΅%^ܩUAUIw:8 Oa0Il0Hm_4< d٫UtȴMz5vsZWPQ*_لݵdP& /x¦G5QH"-N.XT1JTT]@\17^g+2Yc!rc)L,Z}mnYRem|30V7`!EmQq ( EW$h i܅9*bcؐe T30&P\2RЅ-Ba!.вRăGFuX vW-AcK28 oZՏiUܨl{aKE׫p=H՛#n֯H \,h DTwH p%O*2jw2}$ a(:!opKl3Y}lLq)[+u<;l AфmR S;Є"o*K&:Us˃,I҂!x<\дU2e/!=5}ˆ%փOqꁠz)?g37. 2 [9"IIst(,Bf"wr!"H =c!)-<|~A67A7;ĊE GԉEE(&,q!oA}_6:3t>PP,q,`h.P: !@A*wE@r8ʝHS\,%r]6P! E _8@kh'Tp|n]kUcMf ^zu@ 5q/$Q`"%@bw߱<`MR8 Cc M!(}T`ѳk#d%Hޒ]B/S1,,E:23 @{\ޮ%Kl0f2Bli]`MN##H{G B[$!"GfMfUz"CCL;Wt @8ɞQ(<[58 e$La=TYҭ,lFdiX"Y)G]zKGQL`r H(%nj e /%!Y4 cEپQ&$&yԞC(AɌ+?#DZDaXP$~`[]3J ޟN(>y]p5HO:ԠГ]3kUhRvE0p VEBQ\\hɟc,P O1 ҷY)^UyUvSz<ԦpGb2(-beDJ?wr*%v!x#<8i4Ɉ jF!;3?B;|Efn.4A r1_e%COw9Da}'vWt\pT|Ed<<([̅(jګuc]V1QjJVC)M\l~)YPRd\sYKqw,gV˞gn앇9s*ѐ+QJ1Ӌ|80R L8agAP*DڊH ؁o"+74A`jneH :*,OD2"#`s<HDbmI H3F6 t0E (r,#,!)+Ҍ7rԽt K1)f4j޽Sι&H ^5%O{"D"h[kw3  >f:9a4\ 3h"PT 6%ԆSm\v&t0UK-G.({mTKۮMys_huvj:k-qcT獫+\|ƭCcE$}؀ϨK*חBg7 1L`+hc.s`iT~8`a =[)Np +c<) 3I@vE8M42L3em2J{Ŀyqa̿YxORHRD-Mh7Y}w4 3@)5L2\*\!*4P0R&"~AESvqA  ;UXV4x8?[r5V>`t 94K"EcAg7OW Eé18 9M!j72,H4&9atI^rer g[vLC6vZ͋NK3݊,ocU\~sY_nvSov(xnwZZs*njq:%:8gi)\I=15\Pqw̒]J"XBm@].H#^\ hZ@^k`?̴$ H2GL-&KE \n?|y+}ğņU,߲6h)9QSjw3f@G D9H@@+ڜYOLP%~ t0YP܋(p(AsD-\IIV$Ġ *4Y2#gxdA3d!>}m26_jh?tN*%w8@ 3+%1t+-q dj%^&o( !?W!|tVՖ!Kji&nc9hF~Ȓݛﯚϙ[t KP`Z%CD"@mkb#ճg;q#]et/pT~RQ*_s?sF@h?W"c2莅u5!y$P! DA1rT// cm,/4 PV,Z{\susE{J#D # ̓ԧaB@2?$ X$dPHH&iPqis~qS!i~%Y[2]9a7bZlq)Y̬GX~䫁$Cng>4i_Wogy~u!Wh @ee֠DM3Аl ,"fpe"QT.,9 { `>Rx9u70<|J\1 ؤ%SPMd>]6-%\5)oGq 2^rfӔ8A3^Xa|I ']2 HZ^0Ci"g0F|#)pQNJ[g[BvVQ^ĹW B,7Pw}Bƾ!Y3oCY 2gww`jP(+<8 8bCX7[?p1׆ٓ< q:QX EkNz!j55[V)#+O卞Y~urug,j׹,_;~߽gJ;?f\KwHىp"ly޺٘IRMNAkk_y+UI }5c.3+~}6UEguO2R!i* 7xr|6H 9[,Kᾮk|6-jV퍖06ZԹҼI2YJZTAFiyEeKyW%єP454 7{T@[m=)6v6TIC;VkBlڎۮ9>PsGۿJͷlwkڽ*ak1{ҿ;d1r`5uWn4U(7aR4<Y8 qcM,m-x F IU={rϱZQ)W[9Г9J,qbĐRֆvWTjU&"XAL ,t]#HeEiAI8棚~ɨN^ ⥒d+8ϻI-d2%٪-i8ob0Dlwn'a$8 gK!/k5 ,id,=g1uFf 6O"r}tۚ ?Yֶ" gT5. N4(R,k ĉ. B‰MD ZrhӚ͍oZFbԏ0a}2h訥FRR(L˾P׌)4('Q|I( W$!E*\*'ueGVv $M%q]gURfޚHEci]2Ae<*+ #J_%08%;[#B&&LDKh`!'i9+.}#B?K7b 1>aыdb}J#U# , ( W$>zͤ" AH $KERZ!'(חˠT.Ftd')l ``J f? @ [s +oe{\KAY'^W[ގRGf|ͮϪDתЃ a)*%aEpH g["w3S6vzLZ{TMݾ˿€?P\.C^PV/u₅@`QɨF#RA|Kq 12Tq "B<,I@XriFII1־LDJeoO; 5V0kkɵԖ?n\]{D]թ~iv7[翷~jg7t2z7Du3hYYtk74  km Yb7/4S!\ek!˱~4.Np!i `.?PK b]:X`+cЧX#ojVSWJn'"ʻqSR,DM*GJ".(]n` }n2D@LH33L 2" b 4DQI>Ka1+0iìG{cP? @b Ox/+˄u\?շX33.i {:1rkdPJ=M=O!A[n8t^4T.Q2LXYUj5 y0 H, HXp-RD96NЂZmUhQ`zK3 |/Iz|$tbʡu R$KVXjm׭_7Od5!ʧjH` n 5 X$eW8!iApz$a2+tm!CX/wCX5?QSC{u6,k3fm>>s*CbgohWcj75&'aUABHoQJRa( %jQ"Ov f VXPSdWy}X,znEs[]ֽƥkZ=Եx>[j̄k}+j@?% `G(R D `F*<1#YA\j!z CQ&t֖Iȳ/4SSNEr m/Ѽۙ?\=jDh < *[wH]U>8AA [ED )ǣ9@5%>HQ*배ws38@q3i4 aΝF?.R%Ŗnn1c>ivc}*P(-LP0 ֘}P(ZgB|`RnRirұ ^P}# s[!W_1w)sۉ>uva_˜&4~/!|I(L)hd|).<ԌMfZthYP=8i ҡ8 |T%JLVs \WjABo?Xu]o?xlD_8%M_>Dvl(XF{mE1IJ(/^^ow;` UFѬfv[ ~C_BfPH@uhI~(4ACΪx4TVU.]ksZgx˸͒P ( c` 꾰` !˚ CR`JqX)45*TDZ.B[QBJxh:ph׷ 2B hDkFp#h dWw0 Ub h8( VIUg!B4 L( EhI*,5/\JYJZM-kq~n.K9^[=}\qJL;w{j],1>L~k#f_ vG3'k;!fBDYi5@E cBLV.1) %A$ef!ja-YU81?d ˥;.Վ<=+LX~%hE/J__$۾' 8;@A=G ,0@s>A4ikE ʓMZov&8Q%jPHZuY$l2ToWJf8޿We{o Ȝ%`k[%~9nJC؎H?w}X(i p a-wv g.ӭ{i{뀪 `i ae1D]Y V1Qrrۭdm*w[1PȖ:<c#ɭe/Hkx)[L twO0h 5 \hːh*qF%.g n" ݩtK"p#pnEl,h(yd@[c4 `"c"z9ZFB|qTE.,cJ~߻=( wOga5 ֍74c4V")H814If"PkYDaF}Hq0GP5j?Id62 uFei)HPY[eۆj:^,8&O[ZH!Tr(ffwF(RP&8 CUၢj U'm(l[ɕ(6l- d\ n\ N'6-<:F,љ/}#we"Z94څZ|e^(w{O&r]+Xb"(L ("Ȏ? X3F J~c?tDwwxZ/s7n1 㰒I lYAI*| |lTz3P\΄޻(يr?m^ph K#O`cP, { -%?, S p|uRSL1Еϵh}6:i-=u( `O$a! *|0DUUf@ xޚeNCtA3fb'$LsϱMþgY&^i%^}oՙUegxX``Yi`HE%c<%'!C Kbs]Ҽenaba1J,DefxP cp<Svj| |SB֤$?7",Ȭ%LMx'$uwwi%@#3}&ﱛ^;B/%ÇKG&V QqOUF 0UTeUwoQ )j mQ b i0ZV!3@\hi F=~*$ZqeJ9ɜOM>?N*GˆP Jm>>GGGNNWWW__dddjjpppvvv||LAME3.98r}. $?A+,}WdK!? )4,%Ar98S,߮{@ZC V8H%ۢSaC3K$ ZSz @'PW EPB4nMmK,{v~lJRv8 qG!)703+#GUo @ÅZȲZRdcTQ&-,<,0}߱q59"l`P ?w8Q+͔{ %ʵC #cIE$Բ7owBD[}{n_I4L?O,j4.ܴPeUV1kl:$ X, &S@x5Y=5jw4Z*=# @{/(P/'G;$N,(ţJ#!u31Ypw2&?t0WB};8SJ7m#ŇSQhmX)%Ɵ?oXYgOWÿ|l,(sjmb645Q=qZy+< (Elj݀TblI$cȓe.J !<%6 :Bhً|2PJW(?_uYb]r`A~u!P, ݬE⮴ʬiUα{.XX"[ƳV9).a*}Kj̽|nLX,qyw}ݚFU{f4 T` 7(PR-N*6!fIBŒxMM +5Q#F%(U 'әґ"&>bM߶G>]PLՍ*J;{+lDbǗ!*ÌbPS)8VyEvFnQy9]V,tAW^&P:1PL w 7|0!5QEEO@v+Ór/s1wY{&ʥ,v*.m/phZ .ՍcKr?{ֵ޿wCT"x쩅Zuic}6mA\E?\n;BBK@tIa~тPZ=\CB(5Q`2 TwLtԖ+@ȚPcR]rNk/$8 #3_ɦAJM}Znh)IzF4]ԛh Ql2@9[ٶC Ƞpʂ1J,-ej_e mFTh|X, ZL)Y`HQ~$)bً|SWʭh98*A&V߷S8 dhE% 1 1ܯ7GaᦨTqwZY'sD* "K7|PŸ!N tCb4N%S!5%+k츖QMMCmeY ZK )kE=#D!p+2w0]vHGJTZqCԖ,r5LʧX4[<5'EE+(Q1zRh!TEM>aDtVv{fj<\SEjO(L+i АxD XXCߐ#@]XҘ_!*I3Nq-pd2fǭ֙ HYMixcdԍ|8\&G{ңP'seCnYE@0z_ yDv7AgvA&V9*p~xpsq6GǮ1 y5jC{TCơR>kL׻ tE-ޒTG{\Ab@f-ehZY&<%`uT{۵~ó݊D@h) WC;.JtVb{w+(!c =gGڔߣ2Tg* tI@sC] f#U4R)-juK t1uZmd>S7+ J)2UKZK&q^H DlX6,@``2R*kܸH %i Q|X,C@v)pkrFuOH_cB$m|'~faMOK%];-C'e+%]LíF@ =-{=xzUf䑅yNA)D*!DBr@ / 1# H5* "?4V4ztkMht\XVWx{ $@R wpH c0g!ܨ,}{'[yTJ,ۧJ,W).Bs?+ɜ|>RT*B.* :鞬,fi(.(lJ3mȷC# X`f$y.+,A0Zu9Orr$!8vGB զD9u_3DM%Nl'1xx6t UPFx\q# jp"z\MH }g$S)mM9U t6BіPҤ1U_qT hrv15v3cgtOj;9Tb֌FBB:. @le*S-D8=I5@&hs(d|*RBVҙ~?goY x @h(\7P>Ac&WhIΣd6s_Kn>Rclf0bbsԭ3d:hUp-8 uK!V-= $ eQn' v@.dztokє ya\H,U^߬,DaT")pHB(TЙ:WLX r>;)]; E ֧qSUdOj> :.J 5fS@&^ |*}+4e4e5|8 qi$J鉙} \ :@E!XnƵKqdGS uM+51X Ff(r .˦*2`+Ne|@ใKjn &sj7ܳl$[TiQ+&jWp2eq:awR,+.k4~@$Frȏ*( og0I)n> eb[ҎWGwr8`Kʪ&֪Q[ZYwt^T #)ܿo f- h.K Xz701(GКN+"1pPDTJ!Ri׵ki:B%Bx]K "745H r'bn>IfPT(3ABM 0bAvB Ki:фF@Es3 \oP2NYDEʈ5W|T1m{Ak0 VԵveK"+SWY Ra~lwb78E{gIͥt+_bէ@-0PyAudr20H0D/xXA@:ƙFm4hW&k?5pj6&,IG1#ð}]\ ͖(s eZit֕:nW4rμv/ؓ'31SkSJl?%4Sӗq@X+f"<\ ((Yb[[rFfH_s` -2) j́P؋Ć(J\C6\ЉS[q@d8ѦߌF@0CTkŠ_[/kvn?r9PlTэwrqv,q%cƝ,@> y,Y8Y1d>(ܙKv4VE'18Ic]), l<%G +6Z eb,USdTbM.w%5hZ qIEM,b_5%lElZԕ5TS0W@I`@ JIF5kGuP!2$.RRis8n]hgRŒ(9ǀC`MP]jx?6$B(+ B2Z8 uc0K)~l5 eqY94PrkLE؋#E()(+֯feK'TzhgOZKiƩ 4*"B|sTBANuC"q"˄Sm\6%YrI῝}Gܘ?Q̋oVxq_|AjPF"cRtw4B!2C r NH `T$Z:*f95$K]~4`L*vVg b`sE'4C%X?q,uݦ]OQU_('i;+W%?/Y_`HC-eXԑ2`Ո1 F<KMlj&ʉe$pB=!Y1K$N-%30L: O9/g?IZAժkLBYb_o&3"2=0FS!׀  `,9j.@!\A&1`EF^Ec hW73(# UHFHL4u/stR 2aֹ& K(veR~+"j+ @r 7KVXc-o@ X`ns2 .R1U4}'Sj$XwxYjٝ`] 1ZwM@+S u|`&Swv7(E)EK;9$}E2r_?INarOb @*UZM3N 9!$a0s(]*6T0f U Z (8k졀\X#Qv73F!(# 6JN]45dr;|}VN #܏nQ(}L9j\=r1b{_1ð3«u/1,۪gϼ@ CL`{K5F󵐀Z8|ȨDǘ*A"Ø@L^`@%`g6FÝX}uvSN(*Ô&\B!mNfOx: 컯z"۔RΜgg|o?$,8]U]!"鶰`J(ԂFiiz\z;4 \J5*$jj,XzZ55Rmjq-W?~+zݣ׵  H[pT s ZvhD8232uqʷѺE/g VmA:B1NF\3O~)$m}@( S h0ehA9[plڲFJ:qT[O<0&ٸSч eXL &3R۬`%#uOa2ryOir 8`Fg;zQcZ@f~}rDnfa VI-;7eHpoK"Vj2c}Ӥ˼ X^}>6L0i{^ثl=N-]=A"qVîd҂2W@ +Ӽi6d6v?Vbh%I`Y*|<&\ ``= \@ľ_Oe!.1pцьQ& Q\= ]їtOANf*Y@$u8L„#U 1 R(jح( 8c)Žd]'uogOR1*bFB21 WUINucʧ:LF;LDr?egC0Ҍб L$5f/.BcDLK- Jt6SKݗ]+Vb)jf-HXX,1@5{(=UOG/ 10\ԥl,aj,OEkH otd߉'/,%<60:7$#15峬4LC hg}z:oF>}_%r۳Qp:RVv])wh˹ЍOmH`)|4D}FBRjNjAQlzNe^;cgҌcҥ;XZYVр`;:HB ŎjQY8 ?icv&m|th#ɛħ wϾjZeGG s04cg&QQw6KB֌bl3{Z̽X;hBAFφ9n-EG72!==0`U2QR*Em6HQ$ܰ*Hۋ@)WG f5u1( M?grO, l z_ΤS_-)o DXJL<E}I1W{3)B=ȏ@DK*zCth+ԷqG},TXʙ~(" /* TYns}DzT/ me;fwX OBK˹dY[v:9+42y`hl,Zh MO4u&ᐞ1-y(񗺵9 7]%^!v7O9 @{@|0˫ H5,hC`f @*ӥZo inP-f< FKOz^; h@aV5vO&E4.<t S:R@74sgvFjhd&mOIqUtJ{b ?%z@a3DIhC@uodg]\Sk{LГa1FFD@F.4Hg)} OyךiD`A;60Ll3$4%\-< 58fδ܋XjIJWˊw8-u]6N2YI&Կ3 t׃*kP!CB V'̃Pq%dSB?/kHX_cE^uAPn$"&}r n^xoAa"$δ( 0owLg\FFؖA_dQbh: # I&"pS* $4e"iڠio,˻@- G# $y;DSY$H+:UrTPЈFtlPUsJ}>.&%{j x5Ww3-""@+H(8` bC͇FœPBUV%#`e x<ŕ~ bwIƂ5i ?q_te <5hyr,a}N{X  u(bTε]U's__s.E(\ ?`.>2C2AYƓʂi=**Zp> ]Owwen ꑒ0K̕M'u古 ?ORFߙ˿FkQY~8׻/.+|Yo`.g '7 (L ̀qѬ`x %2X{rcT28uhɏU )75 8`lT0TfҁC/`PtvE26.2(T8E ċ^-7#, F- RGjZ8hL1i?Qmj6.?ϩ3&4s.˼ 11`D?2A !,,M ( )DЦR'e߇Qa'&MKhATtK"T `ɩE"]vRrOMfG8i Q1.hM7E'4QȷԊz(WVYKG)$ƴ SL=Tޥ$۹X}!Q*w4DaP_WΫ; JO+sNyP-Ju<G*kzV 3O_UϥFuFv!A/9iG3p&@*$>dg||ڳI%[(`IeaE,H=K[Q3Fqffj@2y4juLN]'7ڔøTYi ?j bU䭹v.BlSY/5y2a.`c`K!)j#s"C^|$IAv8 }y+ n)~ClmF]X @(Q zdKb&:mi}{IgIh]7U4\/p=5*b`L.)&h| :e.JU:I;ShU3:C%pJH+TcF'/亹\oX-bɧVH{ʯ0^0ʥFfj7M)X}SEEH?{t(J~0; 81DG,.Ɋ, :KqP%V27D{*" uHmoYxWC Cyo?;MZ}.Vm>]%:r$7h wnj]W .qu~),/g(Y#e(cpOTZ8plP7'o0%2 (NaR5Z :ܩ"pΓ`EO&xaxSJvӞ$hK(Yv%M$ZKx-#֭7sL"1g^_γI6L_7) b9cVΝ(Ȇ%YO2a=altw; ]loXw<3{{9dsoC_+gcS@ p`C"[NjB TCH @Y*4:lNpҁ(L-B,ejlʀ )IVRnAhz5eJzYO;w u֫Z-S*H&lcoTѼw73 ܷۭMvJ;;s{/dE@P Y|xW#77e16reAͤP!QmU ,PJeKFm*Jנt3`u(Sz4Vиb((gYMzZ>^ ƻm쿸ɵ_uwb/}w ?\"_C kl2<yPӃ 4X@T-fjRY%ScR) I+emr@.\v$܉8%eїjWڗ]ǑgqbXs{PWo$m ynN!#At)%$B E cl`#"0Hfh 3WY73@ DuS,.pE,R"LRPR" 7eFhuNh3 r&賶Z x^_K}k_O"|[  u0G=.EgwC$X A(VqrapRDxlf.3tApX_M!|YH\%lTf H^c#G %rt0yQ 8bq0đ, BtB$(3!IB v*DaZH#%['+7]P37C i!,[H/ ;GtI4Y[weNQZ.Ye~<sxR]JZb ʎk(n_6 AnM6nލ^ ԹĸujlP6Y{jO͕ٽ⧇Rk&gT6UqAu"UvDhRh[c#7==V!?/XXaY v4wک9dD9gi!% X=F{2S!b@Z!^ ֖G 8~* DR,Zșdkg k8|5`b.ڬ>>h2 f*j5wLLzH8sҋӐ#CyIX!R63F7VHlz:fܛ+l{2Cu 8d! 91Mb0F5s xVjD4O  TU.5d41D]hF6)̟W"`Vђ@H5k k!Kϩn *( @} s?e+D,~&y iޙ6؜#r;eO2Waz voE@ }kKjtϚ{ _mf^[]M,VH2A qvX O7?[ -Dd`N!e`1M0cCmrAƲJBL!Mh pm( duoA~P &a n.)J0+~\{jHaǥ~COΑ,<*>HΖ- a2g#+TŖ[’w/KZ]aA4U]ąMIRC^$ g4+<-Nf,*Ya*I#f{X Q$3k2]\(.:VI|o<ٶ\5Go{DlĎZzZS{ƽ3{4hd6g0/fHƳHB+Nja8u"YSPVSN ]h Y=kB3 .9A$nhMT)!ٝji5铥OoژY} ž< V|7dUw4nw%cz:.RF}H[.^2he^uXPmׯ81ިI_L~`4N$*IbzB RHRN`!l*IDL_kW颐T̶vE o[+}jzŹzUZ[vnCK],\QX=š\9Z] S:?_u_jY}; zTz0$A}OV"dch 7[$,k- a% "b@FEFap2Ō%fB RUˣv=9YM&+^O]Eǒv29/~K c:̆7)5e,KY$ZY8'7I9c?ʊ7gk3KVwZjO'/ٞ@%&)$fnri'tZcЭ̝Ҵe;JT愒X`$jU-nL2 ${>ŬEq?gz!APnz?d Oq,i"aPy}ӖΚP38KOmO` Le/( 9g$Kxl |rKKeza,DשT'y ̂Ng_?AGM#`$E'jB9c.*H"j 0!"L 7>uƖ2aòsVtZE$ gc^WHVEJ(!WTX EycU*'kw1E` X(XD8 yhAc| En_@ C!.' <(k5/ƨ*Pc` ԟhĺȡquI*t@ KȢ֤fU).ւ%u#S_P07M t`KvV[(G8V!;굄bl ٟHo&LybVm+2S96Gn uR-~ x5k^z_ AF4 K$ր^ڍ!~0YLLVEc(eҡREjjcp l]JVZ9tw5o,{i_oZU9vo&I/qz} Ohi `4l|Lhΐe8Ǘ~tR[Vmˮ/7p )Ib=hLk91wEeu$fѧ<}͋ׯ6~-dk^`=G$dh)t|DQ21W.%D垣_ۿ e^\&rH$`0֙LWG} kPEܒft/TйP 9Idv0AQ2_ Hn5F߾?sd IrU1uH5ɵ8 Ī @屪J1sX[M `H5'$RqRKvˮ>  ff wdqʞHA-S.?j$͓3&b`0cdhJ tݢ8 N #2X5/ vˣ̴g_7YKf4چ)i.p?@υd̞j_[uHҊxPQ 1w Z)z#w=;?Dfa:K7N$_U>F㈛tc HʪHUeZA#_ŬtAnAC`w'"kZ_.H!RhI4 VDO΋OZ p)YE 0SV`FjooRDU@϶\|N MYJS%_g潏B h2VzC1+/%R.!åos PV)٫'RX̫Heygk+it-lYCi8 =gs!%|bi|cD0QUIr{Lu)J.hH-=c ]y-? Gn.@@$"5b#MM]π JF.1qX Hwi#ӗ/o3˾aGD,%q)R[s4*C+ac'1t8vh vurzMX8 1kuUl˿-.gPiB,7!T~Nzȯ2_{3^)a2, 6~GpM4C8p Z8s\5#+UY5N;ͲH-vEbXC6ºU |qwb9őZ-Aׂ7#Ad/KX4JŅi`'Pʞ6n#"GA0w J( a䘫!뾘0L+tZP sWtFQr rUeN!R$TNۏ ! 5xyp ۾=E^oZcR(5H"2þnviA42%gI+(Y@dzcPM#[XքWTU DSpDz/@taMu%*n$S '*0Y"̰ԞOʈ!(*(~-U+z'CP>`2r[4LAME3.98.2 4brewtarget-2.0.2/data/sounds/cleanup.mp30000644000175000017500000003141412266512166017523 0ustar philipphilipXing03 %%//88AAGGNNRRUUUXX[[^^bbeennvv{{LAME3.98r}.O $pA3  -O!dj< F=G%Q[?CnUncxn}}D\s3(P# 0TN9뫋Kͳ؉&{Gdgit{O~*hxq(E' Hێ7#x4 O84Gh MK&j4LHbsoIк(&I4H{0e5;ˤ2QkjL{J"(K P%/ A62R$ÝEzt:h2M>ԋIdAuL7b"vvRCvh)$ qEb"8}0`?X!nRC|xjd%y'q {bu:_K DhW1֫9ywuko6◿V]|n6?6w)=V \w(ޥawwcWi (B(4l`]@u6S81H"h1["4Ad3hl8BBdepԃnCѸ,Bb2,2N>$,.}#$uQ[VhJgwAjShuu֕wyq8M$mZ{0fcF|hX($.Xɋ'j]cX$ F.cHq!@} Fzp5xN 8j#T\ej{;ε@1pHF/+VI0vw(*a!C.!h+yB9)D-斒>h"/Y&+?3A5\!/ylhX"h0h=K݋?ǻOIUm~V?rNvݽYcwݞܟKd HطmaK.XDCH6ؙc#G3L(ʦȠb6d/#k)#*Oeʠ괖XK.[2zpv b5*wIN G1}aV)(cr]j\3Ywv+Vh~?޷a ?[q̀+sazd9?h 0\1 aW%h/]%73d!1БwNR@J(X%[4Ŗ^NIA6&&j^}#B_c`A" Xls^ jK]cܯ{XwTϻ[cD [ۀ+FH հĜxSm \4*2`S3kpQSQJ,W Y70)k;#_),ʆ*vZ),cb}}'%6y?Of3IRv-&:JI|r.[wxj9JH=<w %#{ M=1[_75 @ud @P"M-4~ıDLXHFdȘn/"97}+ 3hۚ8$0+6]X pc2! KPqE!j=.jF(|0rw|c(jNS߳Z<˕jRFnO{ý:s?[;b^Aa|z_m&DB@̛p# 6P Db+rj CJ4׌$e d2A1D821LPi/0- Q(R#8ēe9s,?~j|~a{%~_~To}OD^ʨ7o县JojV*캅)طÕ;gO"Xr"0a0Kf(@ \Hf5 }q(8\օO,~Wx 9Yak3>k2k:T6TdH Pa@o[Dž:&0Aok3˻7E?=/Iʙۯ^f=SjԪw*~yKTyX8FkSg5lSUrٶ(EH6bx gb"!<"ׄ4Z河Cvx.g(@2Je*Q+~dIn .0%c=^nr`ÿa=Ow[5Vv_ QRAA(:j{vjKv,RQcݚHb*ֵ~TK/SYHA+USh &8$|$`MHiO xgY',71Cld).@eFaPpIJs$s d1dAf!yBV|SX aH& &L7Zg-~׬}Tw~-V)U9I/\EKs 3X[Je&o޷K.w%UnSgS zj߇,s|g{22A޲ @J 2:W.!HzX !8Ýg%E%>)IM՞@"1LۖHE2TוEmEKT@xs8~?{Z͛CyXz1Ag~9l̷,v%<݋+va ׀8GKq:"2ۚ6HrXQ{g)-v3Rb$)64rDCXN üԚlcWֵRAM%u[ڿUԵ-jAg҅4[T2ӷn쥠b +-߆{L:Ѝ v TۊLiYqYaF D9Qi 4b =S6R5Ͷenn "[<.g ''yZ"@'ZX-*#|fUwGO@;oڹ?33;/.(,6<;j&g2kwkjQyE ] :Ar4d,(}QnoPZ<ܴUXZ}YJfY"1Rc4$t&yd8B]`)/%u}lZ,Hň#GtܼrpQ!2U BhEVVZ4F{6cvvyȍ:K0xXP0Ax ѓql4X,酊!0+ȍؔ*ރl0`TfQΞe7B1; )<6!shIBGk2r0fKX=$JGoAHyFВԞt&>:pqgV{c@dhd⼾X ^nas̉rÎh˽Z%F%J{|ӜCfBLj2uT=k9ʝg> lᆱj QZq<遼#7=kj6 kHOzA5aa~,b޳b5em>_jؾ~ֶ2>(^*[-1d2C7%abdA CEL=A&bn?|9ȄsEh"}[#k2~ty<4`; 5T;Q+6̮fX댅pjJǬran?֠{?x<ɧj}ZƞGF}7>G57~5wמx<ڛ50@)Ja6|izph ~YԊn&P be Qpl'N.VRbFV(kg6F~p2Wtǂ-Zy{imSr7|fx={+,؏HuϞ5߆h_ijcj=̠xGy $KJRi"=P'PeL\L!AH=a]!6TjFI\P1."ntޗI}-iMRctIOtj9䖂ݪPM$Ȱ2R`1AGZ(@_t?J3>L{ s D`LA#*>iřψ)=< 1.JaB<ŚcouNj)"S%M5E%wUzig^ym@m@ 6dh YYk74 Pj=k+[p+X&+Mi>as7vsN% ͯ:àkaTʇD,55bl:[^;pd<ds?>Y)71J9oTBP77S!?" H0AY@:( 0&." ~ s Kav(Ϙ]<{AoWE:/<(/IJIP0qmQ /ʂҝ 9YDc[RƿR5{pT}m}f,!oj$OR ]\(BF6,6Xlω &:P9 L.Ɔ+-$^t Uo|9:KN[d)0U 4DZei2,^ !;lE&9Lx̲]Wb 4S>eocv)9o{5?-M~ a ,4@X 7YY0kPǚQ(ABhC/8ar:TC%FHpI aSjhCQsbB*1v8H] <k|Āw?o?ffi_o;w1ίj:.VIWea_B2V$QjN y0Zx,D:,J3jR:p Xs [beUc"KH4b]oVgc+}Yoe9YQXn*@6zF5)R8 _c#=;`3gЏT] @6y V4>|hLZ(z. pN3s?RUj_[+3op]@G8` ULU֘˓x9DNy&|%@>ML6gyG ӛ]aPnMO<NhI'ވ bKyY,]Zͻ4ٌ\Te!\\v(i,@eGNIj: {qPueM ;?LuUU11kSė"%lAYkEK;K<[WfH-C 6ZQQoTIH6? M7DyEdMDW)Dy8sDZ) &NbykZp@_W@O'.)OZh&x 86yzc7>Kl9>X<&ZTptP8 _!􍐘@T3C9ӱ,c+L[Z٦.ZW8SՑQgt)sծr^BQeE=:Y1t#:  @4@$?[=YOA =ܡ2Ìy+(!鞀ŐHa=Tߗ\ I4~6tN붾R?5yXV*#>+hi۝_rty-C꾅jJU:"\9og{ MO ŸK%eOlqހRODJZ 1!.aqsЙAعq8Fe]GqwP>3u%bLdۃ-h9[;23b 0.I7=d$I-ƁNr`KukE:]gݥX;Z5b0[,Ռ9M*o/!lX/edR_eװ}ְ~q1g3l+ۧh)<;ˁ#  kf %TyA@P<+eGq^@0Fzu-o,XGAa,$Lkyf.K_}i"hw7@"o`98Q($T-$ BPPʊJR0f9-"Xa3(|vGIʃ$Z^\(n*޿#e*~츚W)KŒ3pvXɟ Eg%1REľh`2br"dh 7Yb*3q#Ht(8ZvBc [#ׂؔsÎ>v>ж-2r'(q\E\`v#.l!z`]7V1(%V.pQ_=Jŋog>{Ҹ4*E_ݐqH@-dvfߢ jKHXb , $j db!T#6M(,8n0.;C6,ҡqPV# C(pY 2¶!伧żp+wBO"$&Zo/>&+G NҀfi */@5%dE2$)lA0Є)SW BcU:Is4.uK,=2ِrNSԕ9w8iهegr?_-qY9o _zRGH-I?SBd H#) `[0QbIpO$f"Pd@`hdY5E6!DQa̋rsjľIKv,O+p9s1Ue' ÒG?XK<){9&JQ=5P #Z;{`s L& (Zb3bs3j01`.Z沙(/ E}n8`35؛K*Q>HޕDr"l P{09TwܩUj3/֝N '+!(SPTfcC?8TXb%,4!UUUf4t,8tLJ^I|ݵ9%H _=k73XڅΠQGM7/V@TA'bQ>ݵ:QZ"n)mokotѝxS ɐ@$Ee䕆1 pFPTK%jOkQ1*Ʀ,zTV1 Pm)][n4 3=~(LU$]n@*pkҪu5*r˾x\U٫AmYHPUbv6~yf~g8=_SEbَ&rdEр .;VFJۿ.ͱ,|Y]*I0]p :OscZ~\|V`ULAME3.98.2UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU-z4UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUT 4UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUbrewtarget-2.0.2/data/sounds/brewtargetClips.flac0000644000175000017500003015050312266512167021450 0ustar philipphilipfLaC" \. B6g^Ѩ ʙiK n2 p ".U!:m(PFQ/S[5_Dx( reference libFLAC 1.2.1 20070917 Ɉ#s2oG"J[ FJ޶.KvAt,6+Wb{WAD磌1Q &seiyJ1bIH:)W"|J\3w%8Vs޶=9JOGArfN4b1OtYhD3msD5sASU97;wHږX)ԧGsW\)"깒eNj׶k˵Zm>OiEMwzիE[S"y4NK##$!̶ e;hB=;]m_ʆZHZ*W\>)eK.Ny(SSIaVj^eJREox4!YBO]ˤj~\Q% ɗquLHR߿憒?_M$ªPZ[* %M6 =Uo.ܞ!sBg]qj-_9;74F *+ġmQIt9[GM8vLukq ˄6wUM)wf"\kb6ࠀ`[~fL4GO!['w]ٖG훙(Md@jkgE|>MKjB%HXbh"#a#!cc%i&#d)i",livÄ/r [sMKN}(޺>?'[wB*"Š. b"JjjzrZ[ NZk`!<OxJY'I0 !MPVR3ZfWT<1Y:ǵUAI D; `5 'p%̦sTݷDG t[4;eDbQ:E 5 ]"A2H!c Pe69V&[8 "@,Z (-f!iy`u0+|8$ŇMn5YLY܎eD&83,e_D}m?ץI6c)߆.A f*IJR.^QKr *1 r˼AaMK'o1j~ ȫ Ɖk¥XspT$VV$XFFO]4r',yJE 0 W2dm}'MBӤ @i 4u@L ɝ`Ipm$Z Ne"`d2`)N @k6@0qgoGΗ+h 3S$cNlHFWњf=00io%?Q9#e˳OHDN[0űFn{Zy;-鷗)WkLZL[Ö,lTy#o ynUnf Ԃubs ȓm=a_MMaJ}4[ܶGwmՀV"U|{y9r<'a<"{''gtj*PʭV}Saco^YXa}XNj6͠\p̈́%?I~|$qDE/حKb,GhŊQZi}7=YbCԔ672`Mj [I_.jѡLNew`U@2%a:*VZNuj%W@j"iQs˞7Z54~4aU=zne$Sq&)w f$͡RH5i m~7U*iv[ #M۾Wӡ>N |Z$:ߏHfBhJ2|8DݡpЗwb&Zn!Tt;jEl1BZ]kԬ!Աf_Zy4tj ]&u8N; g1kL e~tϲ@8E9]s֮S(7!4`zJaF Lǝ=`}eƸ-$CZ3Rg,h_%A,G\5$6p"i:JZkYbUᡖJ2\]?qS1 1 JHw2S>C9k hYDj ~ R7U$nͮoO//8•>N7Gr=G1O"I65Al  |qU;Mή (W;VD&20.[4/-_զb&=$TUW(6\g+zGbk#I4VܕM!'1_'@@B4*fM(2$*MiYS4@t?"\5BD9g˔"7;$Iae.t,đFЈYH Ck>u8DޅdF@c Jt|)SȘ8YR]+&&[ЍC 1K(iq5t%Km[E–jdB,Ȝt$WO0ZT#B ^ Xb V'Tɑ259 iSUL'RIX0O<K2J)J[g^%'7OȢsQ'6MJRKWfRDвҏ)el3*+dž*F=etYUH/Wf'r1Wk$gO%"ΎkNBq1>DU 87)6V豙l ć;.H\E+\oCУfU*)skYJND\s]7H$!Vc)†{9I2oÄ"\HzEĮe!1ĒmX#C(SVb^cTqɣgpUl`;Ks_!Y#Bk; 41x T!£1sy"xz`x %\֘u%8/Iv9M"ٵ959ݳrsko1p';DKVOkց/69Fs M&\A$++Ҳ|5Ra:!0; 2[Q \vnmr to,QѶAhV|>93t'XPY1{Rs~Kb%TIZrv"&NQYlV]J,At!H&Q^bym!-ŐrFDg8F+d&Bc1lQJ'_ \Q ps!ˍksF]Nt7aXG^RVb {rWiVW٦M]4}Y*w]Y ,@uI8iؖA9,oz{˜) p" ȃ|SsxL[%3,h %K) 6ȅ'5hē~S'EJJ7+kKa*A0K͓*-=gncݢCC0 5₈ 5:-p& !Ml՘} !G,X}q8_N4e'(s%)H 9A򤯹&5&-$ۜ$;:΁^-iCԊ+4)h7iݔk)zsK@ @ 8d(~6(HV}v74,<$|]n"Y>:XQ2+)YI7 MD>ܚ@FZW53E('i6KYYTŕ?sD+1ևULd',Ŀ\_oмP0J[RLF3T+y/O܇**V+gL- 7Fώ\k~#v*g39vxAbGFBF`jB!꠹5;$'(Ά[6R ; `7sصx*P Ej"il$?W n>cG'-B1IjTԍp|-P, ԩÐ T+6PTVpɄmxDJ,nlږ)6`TE!%RL/Q5;LKv' GWp.ѳHQN{sn u`蘓Y lADm7Yڰ[M$ !e !bFޚKU/PZw'8:=2(J\(;%֥Y-&+t [kUblH0XC=6Vy]N}Y5YZ&NaEWw6ٮ\3 "wLT(NG &cܓHVNJkK$RF嵶חT{Q9`[@Jqð@HF_7Ds-}n)GVcujV9IDڍWK0[#MNy;dKcQ9oT<()zZ'ju7!+^: \9 C[%*n0L+"C^>龶I]239U)~E>P훊K'RK]p%W_=^YPewhjq%f[; @o0U-l Ph1ɂc87 KB!ܳàW&Ec7$BʍWneAnaPғExtydq- .4wu}UqUۃAtd뵢Y͠XOЭ:!dC+aWo%=/C ,tqC$P1I(ܘs"jg-b1DSt#6 t\I4Y¡eDogT*C Ms?N^u=B&2D=/lGX.@JJ x,/ mF6۹;f妩9s'$040:[&F+ w'^do[< *۾Wa]!q/t}"ӎ@E)>uj0tvOƴA= [i L*~rrg/akuF60@ExxQa^5SِNWSIĐH&C'ZkDXG058tR֋%@.ʠ]=5EEΨYV"qeKͣcXLb{Ov3/0}`"(pciEIZPSL۶QV8^Q$ DlP)q*u*-}MWjF( AR›IK|j2fdmrH03sjF4k/G@P$Vb8Jo"n4ohvm.$Cy3ҊuQ #ncg+uty0tb?[yĐ{񵬔x BWjTǍpKƒ?A=s2t!`3ȏJd((dL(ZM}_L- $X9 66SRiB&`&{sC=^$3݅T-?ſc^=b䮽cB>"b5CR ]%<,:z F;V#EBhuHV*eL' 6~GFϧm76eŏ*vS'hxA!g/~;F>+J4~mlɿ FU-%ƭfrȶQ]ODJ'1bwӴ6Ea>lY@~tNΠLPgѢz.i DRcr_ja\{{;)A˦vxRO^+b&W#Re($0sqk4WWpe<͐C/?\,sch@*|hdɮ$r.ͨxf=r0,*lSqH,RCr2-gU1&o*"1Ч< $fQZ9wZ,DDW铟)LIa+fs* (F0. 1SPj2h7:%V*._@n<7Ɖð6t?RAo5'''@|5E0#aSDp5f$^56ɶĿo%80HN b#Ѧ YQ](n~uKĀMlJxpB]UΩE_Yݰnu{H8ɤ}HTѨ_'hJ>̼8;R̵WS@ogʗZk_6kP8Jy.;85Z6>_4gauñ2 )}ZEo͇ vf~Mzhg}]sdIˣdhTa!HJb$en4=%$|ZdC 3]A"9 #:ĻjF@\EjyY&vcavˡL/OWd*gcu_͞?.SfJg&(⛦ $z*s8C!Na0NqWa߁2;Z#~N/s"{o-פ1L(w{ 4H} zerIdg8;#Yw<ځ EP85 ܂BL:Z,r+.*E?VP,4\yzc'?gsN͎+g3A"RHbT]תٟI k(ٜCIm蕈͖ߌЊoCDrmٓFŴK쾱2A̫ ɞ1-֭Ct s+ 3/Tjyg_HtƒU}b[+C)[ 4FUC>jw֡W 0$~5/ D'^} -=lRSU17-bJ 2iļcJܞdJB?A) e_/]odpҘ\Q6ЛW*K!5Qg}$"S1 6 >)"A9%y߭t4p1XQYWPk/QasB4=D1F=Kc񀀡B R\UOWbEٹgϐv\6`mv:j0MeSΖd=1kGS"McJ+ N$ ȴ/w h|ʙWlAБXBuCJ=XOsY 0}!U5afu&UGRCO5ޓύ'VAomef DV{#$i 4gGz DAznúfZ6|'H*cb.&feUn{`D+ b+IRiղ¿h ''}KfuQ\S&|JVȥB,'dHPh }I<u9|{tufU'qasIYٖ Fa>ZbׁU 9zkx4u"\pY{ v[D!7I hWaK='9 O.T4-g*giE- B)-m,ww Ĭ~fPM? ZS7@X+>LUd.n|Zɬ ":;3&-~_$i/yO_ .0~sA* se]wn K >7l|ZCA k}ۡ{QȭBD8!~_|d,VAבhCaר𲒼h✕7- vꦡ%S)r$:/bTqmP^nT;\ NXj]K-l<h 9]"H*Nq?2tXh(٬^[̦zdoDL/d g?h*_)VESʶUHc9Fv ;L ,R:>npRnMWVEBv_ eqy.-vT+ Ѿ֊aPv{qIt˽|}ӤL 7^n^7%J Op`yUGq"kOyR.vEϪd^&|\CD',%o;ČPp.RZ(U!#<"V+<Nъ".(,t1Rg$GEnLYʴnVz>X1ANcۅVRbtozAS|lR跉" )a.D1$2r""1FVP!u5XzّPC̕eRlYѼN *s}Fx$/;J.i7䈢GӟyOޝ?|JS_jQ 5- ֋5@⨃Hy(VOm[5-HUZ:nܯ]f#.+Ɗ<7Ӎl">'7FBsڍ'kjs@=ZuKHUg)&S)5, +JŲ8JiRB%B6Rna84+,aY8ћ3HM <:&\y+pvokc]ugk@7"> IiKi))͘ЍwWSw~ڳ1!nИ[Lo[p[ot1 9X=`^p WjKe';q-O Ņ.^Y#&4/K ƪ[쮿TJ_F6z qXj"")Y<̄5%E"4^^!a}NLBBYbr/9'#,dAMҞH[=Vjfjz!Do`CCŧts+rkci/eCr9NzGK) {XVC!.g|&,$mr s1ȡ`H}~Ϭ I~; FYRaVd+ijgX [RWFb,BqH"! JXYTx|a`) &co)E6Y+ÃnyT2/wDA68) -ohr sy+yVdd℁Y#@{_ӈ,zckXuIPbtFux1Ԍ(vNRfG-b&$frkPXկvT;B!0v :^ $nHOLy#qgg"^@ q$;ͥ*͛OdVα6tr+Bԩh^LhVGH拓.1P.M;6b/~FD!aFZv)a:-lqE֍h԰:Lr1xe}U?R]ۥUהP.nlR@H.rl=jN<@nU8N\$2yphD`G[8u!^dJPWJb~wI DSsrEENL`XzvZA9wbC"Tfܐmnzݨܜ-JsaI@V0y(ϛ~% h(I4ҵKafI*ے:JUJ1wDRiF@Zy 1k,[v#^.z316ce_bX%N\K+U5"/l$h sjo050d@‱8:HLu[vf_Nf1 PQ{$\ȟ \p=)(]'t@&X zb;[vN%"/;/!ݞjFfک.9-G^T!ܱb1*Jb!990h ),O&6ZD/Hp@YD&`UHDVc2Ph\eSI8 **E;gkAtXF?) fx !q)l)7qqVT`1/Uբ^0ztrfR3tƘ{ dJ$5XxBvT8UFFT-wZ>f!+#Ʊ>lZ7"'ш:73v`@e!s`7%*'|1_ F?]Jyʼ ĨՄ91]ͭ9y6[ ڔ .w/-jS4irҷnj$-aF;k1^C舙g K/4>#Q܍ GXmZD{M ]!]c%  3/'5^2€ bN$ }1Wzp0V6V豙EFc1/vǮdU+ Z pAcVJ4z'L:V(o7 ^.bBJz+G#5b#w֬z67wToFֻlQѹ2BiC헟RI,LU w3,~wF(IF# 5 Ss,.`"hiT_X٭xI^U"&%73dT@, `)S Tb98h'wl} cɞAY| 6dDQ~_T΅j,>Wap^=G#b͝qiwgש!bʚFP`D@`laҟ$UR?3Ȭy6>$l-ʙ%%p'(uO5 Y\dfc8&Ă9~9<-T7pW'.2XAK(0-p1np٩CYWp+8=Oe㿢bi# ,prKz +#iq603& ~"`6"f&eM\zNஙɨN7Y$CM7r~p R<9Dl^Fh6SeBP{)cb" hɼO3aǧ!qnvN_Pewc;i%gd(2h:{ixadf2O]~ؓ1KsS]xO$]hޅQH22#Pc1PNfBa`3qJN.RkFb$9%m? \iϾMy1ŀ)BOI4ULH+ %3UoK.bM&EIWЛ֮kK!!}n0F u/K O}}T++Dn̂!8 5&f)dLs=KDvMl7X7}Gñ8iaWW&ZGy,( u:vN?Kʠ{;an$]Ut^p:-PbY2cɴqqw' T au_*v$ţՌ؂@_5yA<0!"Bø1fXX\A:V=ۻ,I-ɏ'4%ܤW`tFLkIv Xj;rdn\R.GV4}Ad4;@\'0- 4$36!I]lbS 9 \*2mG' @ LƧ,QJ?`qSGE0r%uAN7l6nW,F `HCdtQd ={QHOʛhLB@:` a\D.`1x((  ?3r&iD#:ʸ`MɃ-1@\=^%d8T.j.d ,GosOk!; Ow?@ƲzLxT%1h} hr؉kQdFt2v|A5@Iu;-\Zy2[>$u#VGe6%0X(otk"TRadJ4dm/Do ~Syi/BX+t# n i9WO p\4P3FKfSurڈu,@a7.ѣfTS D2y7y,:@`#J/0Z"*_}vXDoșogqJH= /sNz-3-A̰aooe8oM'v/IfP~մT憥bbSMT~H$UcRdH6W KI mS0xf>SO-B?a:Wlj3&,j&bYN! ݶ('< 3'?q%T.MDmJ(TjASM'Y)?-;Fņ\E2VLL.B'{k8kUjdM)K621">k GAC8/s9k[5fpqcJ.- Z6o)EbP_+>ݶCA o|.7劝 iVbvsSã$/Zx5P9(9#:t0T q4XqzHNֶ\vGL#"RAR|٥zPNRh+˾T.,TD0td옂N>R$h]'0mDB$ב/}16,YFB8pF1Y_= VGt)s]ND6WNFuahނl*>( ɮ؂-sF@Ć֡%hkJj5DKҟ=_S4sK#U#C{$J(DtkE t谠ϲ .oOͱpPၲ|% ټaݛ c۲iOYM@Ɇ)νQAi( @^UbCmEҎ B$/P\.2Ce2Kȑ4l)͉kÝrڦgD~#Ha"$vAb'&p@q!%+eFU BQTG}bޜ7UZ] 덒oS>bP$v~|czhDz~)?IgiL]oo T0Ar-RN"񿨏L,iy9!@pbڌøI¢/xlu|2(˃.Z?.nJ/?$EiUm$qD- {<Bۮ)? 7UjQZ[g=Ua[O$L׃R W?7%" RO-t1F1VL炗UmRN.'G^! 2˵ejx+IS_&eE>.5&$xd>AlS&7@! nug)ΏJIA 5tXtx ґm"ML?J XtRN![HH(;MN\PJ{'oOxQq(L/'.؍a]Ck TjU"ё2 .q]cdgz^HwBY\opCwk3>= f7$9*wꋖ;?]Jd7rJ*HuYdՓR! OE. GLp~@U E*J@ ;#@6쌰3D21!7,Dbep 'Bf@.4y :)0H̼H>*|%b)$p,<(1<brGA*7\M2D;a42C쯼FC<-(ṗ98T^o/C M}WZx$UDlep}-F$d~Ȏ7c7z^.9&fFd|_r1U?'^| M5"@`iD,ʬOaPŲWuykYh!*`H0Õ:Hp&AZA2LJy"0h )Ft@( 2P/jN |b!8J c@5rcԋ?B|pVȕC0Gj۟vӸ`DMJfMbudZ#ٱmlED^ʡI'fnǣrx5h`~k`d7u \stoЙ6+9aC}| ڕ:rok1qN'N_m+V@EԶå /2G VYDbmJe4(M06L#6D_V"P@.Q* -}bsAj'r7&wP &=Ne3*H^#4X^!Pۙfl!* nG9;bӆkNO'7s/BC3B,p&Z/|KJ:Ű#!}ސɸDb=yKV+9OK;dH&nJR~20oT/XY%&o.{F'  ĴEjˊ-wS7# ݶ FdEj蹴@,%!!<ΐ)R=B ,8~PP<O$Qu Q/LK[bc.SN<(H7j -HHk1=e QɬtfBjX6VvBR\̆Okt=FPԚ26?yڈT q(%̂-Q.jWďö–4Ί]Е)҅vFjﲣ{^*%" !Op/,Ւ?ҞY J5k7 nw%vD7t*XV;c 6r^y!]f$vk".#pF/ 4R(e7sQXzQښ2A/ PQcAɽ^p;›ADxz* wNY4L[c#2f˱,O/nJt6ףa* #"m ՗Su!brRdS +2Z+Үj+Knmh;Hz$63wFoXJC帍4۔ ' SGsfZFei\)FĂRYNa[UxRX# GkGGM[9/*O2UJP+Uj&Dᤨ"ZLdOsx^*$QRT{u2Ɣ7biTY_(O0ZÖW#Dj̑>vU2Gȁ.v؅Es}Xo94TD&^)S<ȇbezul%XC:6^, 5Hկ=d3B}p)sShˏcOI:f coRmO>uRBqJ]]c%w|@ɨ  Q gwh3N|Űbwl'ḃt.*!lR i-"|| 5ɀXUsADS")ց{qV4{F 1$1L9t$bm9HIRpr\) MuWΦM KF7 W0n"]@G{pkJY^馢SlN,;37䌴Yf A0^ ]+.8K#Q;Ձ(wR ,`Ի M NQ[ww** BM/}TE6G:> o 1roH dwtlcAHEsE((;?y% E3 2 Eϼ&F=5Ez RW4f&Wb8H,\YQa.ԓ֜ӫS*[ʝaT ,H)8KYZeݼה7hS˿{ ެ`kXhƿj_}Cec I~bsg{pìL khdoP(}D0RUC@@!ikqk; MÜa/@w5L@>AA@o %B'WVy#5]1bT婓;-+V(iK"m1G:A1:vH?".H\[ U/D%)Ede' Q(ѥEvYqƈ0lsR򥬭Z)^E n r-=oxBZd;$rWj^Ēa?m \ynw6E&/Vj\i9d3S! U.Z1ZO=fL+*Z3>WrR ჟtWSXқ-Lx:㜑90-&u."B2(E|4=9&c`=sf=u)]U4@(RY"Éq&63ij}vp'r2NWE@YfV1H*l<O$Kxk/ь(bU<"[1Dk5 ) 0 *%J%I$*/)4 :PYF7~QaD&JJY/v-hR>ya!KOkPBLH hp1t^V"䅛-~Z5@t`z9Ov8јyFz4(Fqƥ)gXгEtɹs'iEi7zH"Dا'/@AcDqJHҋ´F59-!ĥoCj*qbVӤCnPYRoma&Rl1!Ak×6TYM`-d꼀.7mq t}[#a#{,ЎL,I#cJ)YBIdWOȥD \ [घ~XĺR+M$ H146ƌ\%Bs8#o)b=,gg @UQ# u)}5Wq!tAFJ8UW=ؓ=CFT)6a(566ᅞȂB *f4 kcdF|f${[2U% ԴWcAf!hojI3$L}ewޢ^;W"? Vœkݯ.Xעպ2É85pHRUT485Bz|Ӎ6uA&5O Vԉ. 0$B0t P @ 8I#TX(##F5Vr1CҥzJfsbr+hƒ,BGŐ-ޛ+cNHo;Z#IGe*f}~Iw[\8I23;Aa.2B"^a(ȅF:iǁ)f-{ 8O8hQtDxZAkQ)O&0X\j,b& G"M\+Zz FkO&aVLMY^h9w1ܧ=3"V h0'V)LފN7Dg-e C>spD(3Qu.ȅD9%!#d$·H k{;솤.:"~| d; 䵶Y\k"8rOix7A3ֲN-]<[x,a2 r@5bo$x n\!>npqoJ_+:bWcuGB9< ݤUL۱'4L\o{ƜT{sC:xu4#W\eZv jL 㺑"BU81P/8TBZ#昆pc /K"$A[]?~H,7^V}#H}L^$TXrE\i{J XGi^XIU 6tЉI.PTq;;xTz"D`MN,q¤#93rGj8kn~ wY8̔6SZTC`c|t1gkߩW+ڬ$Ǚ^C ȧIJB4,S >(#YO>ȏ{)dq̮' KzhQBD[J+l>Qy#I}6[kIkIDS3KbQ`e }Re(&V8]2S(~9,zM]cKɳlnX۪qRɲ5?QRC== %n,,aF3x^4oP D8](_M6e,GḏV~uE w-$dN% .aJ4u @JRhP #xQ7En44>6> 6pARgG4,: (D KB%dЁmSQ;]2l; zbw2"ت| 9|l`2sO]}Mybn0#NrdyGd/oݍ,WJwzJ+LzTB.¿Tݛ4tmq*@/}!v\yQ w) ذEm]67%YA)9 "z Z{cDa1LaDTI2Ĕ3|,yE¾6dC XFɪBɔThϵ$3(XgΤ(eL $\6Rd6x@!%ə0*"pP:PPfE82* ] 3AƩaZu|pׯ,q}F:JQuuW)_$7I;TfJ<]A#:' Q_ftVx/H/М?j1W!*zUW?3B4m#`{K V^I,aF.u_t9ĭS mࡺ6NY"`l(*j!wLTf %RhBYSSpc.S6D0D} ,`M.hs$([pr! JYSG,^%JӍ `ԽQ'dM= K OBI$z!1${ܩ$5v,`"EBPMB[Hbَ4_u (Gwc$6ϕNV3>7`g]M҃2"74I3/2FT_U2US;E i }c)X"7DL>Ed 6 \+ *"j+5 kƲ6e~`}#LwQ<W0tӤA"RE5w^R UmF AcBy@l~=5/*bOu1Nk/MxtUpSETBTQ5D!xQ&YgFΫTO|\Gמ0.H!MG;4A b$D RҤkxۺ@&@׮ `@ҴlaERK I }[ľ*Q P吹BDj(ZG4&plaLk/<$,CiO^^[6^o MjUO#!b%Lˬnb/Y1& kYfMjvG4XI &BE \1~s!$&]Jqb'uB eթ2[cB!'Nz$ H![D=2:k—DUgd?2ì)AhFV!r'(^-bT YqػNOalWآ¦L D i}e: X059oٸvk,.D$}Az8ry o5'bm;RȱO9R!@ft[% GSdT8=VиA#q ,5)p0,8^v)8Cg\9$q@cue6]j*zrDjViUʴBJ.i:\bK!<$#v$E R΅<hLNI u4'@~dTkVoN|,eU'cKE^1'RJ9ĆF* z]x.Obh-aifMPXs a+N㱡U?lkCmA%aF]7PDH Kj*f?#%sĆBDĮHIPL&!eAR&aU>6q&"bA +mK{5ǵc݉/Q-e}Վ7-ꎾIYm!UkMiT!{ֺUMoD0BdH׭/6iؠȹVR$*6nBi&;%s>`ɨ|dJA(>Q¢YBITc5<7A+G<zQWZs͈Ftj⢗8UT~0mQGhF쿞,ɝc]$=}P)&vi*50of1X$r3F5rD6 `@eB4! S'<@I D!n%\]&-'5OչiYͪNE/r5 D-rv>i5o{l-JD:Ļ0?'b/D;㸖Q:EbS{nbr8 FE 尞7(bf &<%-cMT=,`_ky8o:hH[LbW?ʹ|+tjS eƆtr>nprt!d.a 9{k'Mu'55ī.5FP3` 0G$$!RO| I,Tv:)Ep' lo-(Z[-a`0ncs~^GRdR?qt6CyDB,pwFmדO7!oX QbqdIک&?vW#fB yCNbi} Gz:L SI `UQymҲR8**$kw#'C۫$BADJJ~фQJ^u j~4MG&:{vŒ쓍8g ލg9 ;F/4ԟKP_9D(9K#sig_J=ђ*ws=+?cQ˕0)QKfHd.6Q-U{~qru9 qCTʎOՑ\!{V$Z9'q(wF7|[di~bi->QT02E aj* ,S˖nl0g]#RCM3,q CJwi,INI^~ϭE7#w!W K4 xk 8CT2HUԉ R H%E D$j:GmT_( I'vjY\0cle8(02KB\V.,  >+*-\#xF`Z 竧*?*54a!Vrz yjSҴ`p)ESUV h+m`OXF( "M T.)!B5W0HbA (Q]:%C&/|[@95E1t4_A8<,s1I2 Nr3E}r9mׇQD8p$ae$*)k -%p>QޭŻF RLb d'1F hx cC U<#+ ,0m%9-g+f % Љz I5|pio8ʈ7\K:T8/ƫ2|`ɍ&PƱ2T)Vŋrv`BO\sxp3p6@@#g@b(<dKU (v>9:p\Lxļme>tV~'EMt\ 4ާ>l(lU-,<'$k7딷]+>8kG]rB0I)V2ezч50{P(kIHEJIeW֚UՕ&vЁ)fEJr}|A:mIW}('#EP`Js {dk,ʞqDb,d5B⟍I}H"XZ Fӂ[ ,ˏE8ܜ j$& y͜J1<(%ڭ2injXʴ͚_Ȉ,DJ., +>dž$B"|IPU{zϫҏ,hFsyorH{I 2$Q+3U3>"a2]N A%N')b䧏0EK.I,MsI )/ZW~DZNDqP8d42Ӛf$F`[9+c}h5FAE)}5hr8UУLPY ª+d .*l=zQ%-Qd~d%VL}M)U q&B\^owbqTXͻ;,)$Mɘ;uj! NQ0=;*;!hBbXB cUk]5fY IF&h$cD DPɍb.&|cO~ID4rV+ڋ$@ -IS|S BRa#x1pu-)5.< CdP&0WzU?ՕΆ2HCyMYP l8Әܤ'+QTb()`Ųf4(^g,)E/H5>LYX 3h!Up#IvN&rޢ 8 wT]f1"7| kn5߇ؑ/(*b!(8HKe%W./n ɤVТ]\OK$Nj,m .#MbUK8@ '#Bxð~xzk>piBvdX 6R11+[y$Y' Kn[L^8 Td&]Wd dSAso&;۪>=†Pr:Q}ɲGi_\My,I7e"M$'%HH} >S驇_(6Y,?XT[ 's`-;8gl"fZѦYϤF#kGs + 8Oj +j4(hxl,T*J *OyAOF*0*!K7E5X"c쒊qula7!p%]̼.yyG#H2b1"%X([V*@TbiCUmjqu.ء|ne9;³J2M*8F,oO qW t.(CFQi*8WخP{76I< &'\! yD}0A8w}0E3©&# yW'b'ME5ZzbdmLm (DXв1yBk.\Y5aAU. 8BL5c8*7p-"ͩXƧ{WvB7FоUDu=S*JUV $+VO/|k+ʈ$BY 3ȕ-׉;_a#6y$}urf4~|Jkm4|2# Uɸ= iBַ" 3*hga$It1pY!PrpUI{5U L!J)^,C ">zzCKMW #iWQZT~Փ0.6 .}ꞞRY6/kR{rHW1VOne?;5dMuFMT퉰JOlx3ϐSfgҎB)I|}̢uǨ  I>ͪS~:%Ne #>,U Θ ܰȰ|b<*|/h(D:$|Yߧ47YZ@8l'+2%K 6)U683ː>at }*u6ʼ :KM/ $meDZY*LH6µ:bDgHG Lf&JrΉ/O9J])WlRTj5Q l`Dj FNL2ufN>EaU24 \ϸv6кԏq{ԋ*į >+!}Gp@ɉv>{hرӔ$.mdD#G 4.Xߢ%!͢aa$IVm*A kJ(DԿϥX>pI&дP ̲fCJu./2SCRM#0Ŭ|"p,T֪${_Kdb(DYY;8*irp.&z2!oL!Bϒ6 wޯ>*BXmVK!#6"[gFI[j#3RI[3IvWS20}E'ùs9`D$U  EYemGЌg2u'!Q$Ur$hP%k*W [J(vd޹5M@`r #(4ARHO/ki =)L q;}2Ad(ZبɨC̦fLUVA9 % `Q&pҭ -a#l_4FZq)_n>7đ1PH0'N-,EQp 0+dgjfޢRځtu<]+5gS/0o4w̶[RѴ#ig0X'$V1(tmDgA$AJ (Z7jaLc*b bȮ\_Z!pQ5S\iKcԹ{YW ^ *gYߓF}.=UtB8Eӄlݣ381TL[|+N" !V T[<#x\? .9%\{9M&M;D3 5IqnƜcE<ٰ1{l?YBCChͶW%鍁8Mdk i:&$0ZtJ(\jJJ$g)xYƔS'@jL Q_Đ̇ V ]_C&rي XDcF)TH`? k^gg2'&>7ęi-VoY" {i X 51)aCB!-º,7+gK$h5Q%1.E[J;c0/!\RSqx9MqIe\ ^RVv,y@!%}TFjoi%Ko(s[;)_Բ4̬4+spA)R-PofBnv}(143&>!zW^oj,Ďo ğPD렴~H'Jt vH|+pYy/:ToFYvȅ#4<.Oܼ6,G4?i;NO w !(:r,f[g"ӟcXl,6M-qgtRw?Ï.gJ9Kq}T/7ij w8iV/oB7JB ;<1Ie^Gj蹸BU'U z1nVv65;w`H*Rtx *Vꔌ80.+(3Ę9 fYcȇ~f3MgHv ψ/Chjqʬ+˫L+}bXg5$9X#܅ac h"Gmlr]nc㬘O#}e9nϟi9XD~Jċ{@-6(/jeoz~2'Lʶ(q5$`Sg2b \ೊX%Q#k`2QJ #?+*H5P3/ 3/I7U<ǃ\5&ts!+BD9HO|3;wHPc9# *l2c /x1WQ"ǥ|ͷOrS6I tTV,sJ~k/zT| ȍH8)rOqE*?'cZ.fˉq"$@Pk(t4dMU07Jr)bJ󨪢=\x,~P>zp6LU r  Tb֚Β=oөǹpH4M%RI)'RwyDPw$4j5b߬:CRmKa1TjHDx7]#~} uf0QZF'BH^huABQm!c"J鯜N9E K+/a;!U"sE!~DP .)D&XNTzuĝ)Ԥ ;3|QڹЅ(^e RQpZWRhDvp䊈UK_aL5[ "Vy5gm %Et4}{'B"of.VM (Y#f^iDٍzxet}}*k¶a҂,:,e`@L Uu1&A|[rsxE尡r)K >&ciF>jެkh"(%k-Q^&<ǴeQE-6儝&o0j ę$`V }Ș^N㊡L#`ť$E(  y&\Ő {CYKp9HNs7q7Jl%HU.p\EÓ>*d[B^YiAd/*C ϓq3l.2Tᶅi5TK0+ N,M}do";'g wU 1# $2ri2 ɍ:"QzVE d"Thuty\goPAWQ52TnA|F-4~Z}$OYY+S4%r¬./.gˏ$2'P!hJ \Jϱ/&aQJkItaY@|LZ:I"@DӰ0!akƸb vCʒD4ZK```ɏi6tV$ιFZ;(!]e4UYIqUc6 ]nV h&آdēJG[h^/Y\fMXv9BK*XL[z$K祆[MF:Pa#Kń]7Blr{Z5jF(Cbd1:~J9ZA IypJ iԓjQS_aEp`b͒UIu# EMMUbTUitܹB@S3L\$:a"gb'pmj'51~0@t &{@ oXA]6/[=_rn }l #%N|TS8eѭv1JB'uIb%X;YTPz/C }UՂLIHϕmNExDּ;BP4|hRÑj^D$k'PT$O+A2pO#C@_!> 2wv@ld%e12"G05a:RݕE(N'7)fErLAL& EbEe:ӗ# /:G HxR|9mWZӲ"Ixq H ݋6q-u/y_L_Sg3(Qy0'qgj$,PM4TL _Yv4pVȬDL54>(?3UDVK-)ZDչ"#ؿdYhi8Z4B}D~l_!FQ8SvI|e/Y^iHs"ʆG:tՠFڄ =TNrf Z6*Rh&! KmCa D1j'ZFe&bAhȍt BmH=BAFB}͝Y4?P_OhPzmeGB{a}}CXI1 |@v. 5B!R-u! 1fsN<Ҭ/(&Sy!DB"oĐl2 "ǸNo_ǃ]:qSi߹ϻ,Ughq)leV4W;d3 a X^pԗNjUgXf\Hlb}핏1"K یw>g&Dej'cQYg]Im4M :DUXޟ˯*T0Ӗ>-8 *[gPwYt^!;2!e3yL$#97*OPxhIPZt#oeL>0 )z!{Ae70A!Bic}BL&XQ&# O*Tb,:1(W&3KEk %R 0,^ fCXj,ZhKjdgB~i.k #o45q%:_2Exe԰+j:e;D (<+b=a9dΪ2W;+Iҝìd eÉ@JEYzUOmA$%B]vs^-ښ ] qb$&(H mș5֦kz6, 9ƙzy'ۭAA޻aR"AmMg,NgSW rQ nDfKfQ=[ MɨN" !!!"D"""Tr-O &Y4VA^'+m9:E|XpQ 滷Ey%Bg!m#&sڵVnljrYʴ߄%*)>Nj)PX=&5*V[;Xo+NܖkclSHli+ ń!Y|>nPCĚJYnM@Js5k=(&3f swGGγN1 ҁa:@&X;#|rr 5F %PhOP `QC{lSfl"L%33LnMܤDc:G"R±\\0y7heav9M":j:s62ҔQyTt0LYM 9L֙!+k, qGm3!S| ևȮ|If%b;var5;ޚO\ 탘Ul$@e?r:G92_Ur<(׵ѳlX$m)נĚoLYr|X6Gt3L|@Yz\BP6Kg{X ޚ=W'bv^꛺\NE2r\M $m=$qYFtKdXOIdkcd/J0N0P xI+vwP/k yNyM!]1(A "uOSWWw9GAKuⳐHDVcGC[i-kC<-4qƱt؛C&DZc&ei uS—J4n&'>?m$eݳ.^R]WȻ!%L_len2%A2JF)R#UO L]Bκz`|f܁Zo{}I͈$eM4G'Z+t,C|~ f:^ RUnD&:'xRUbR+kYDH+6Ӛ6F@,3ژ[+]BJye=ŕڱn̡фjP@2eK WȁpDrg FgЌ ]'U2*ּ$Z^C3ʃ-{Dskoߺp̥n5(H~g?y~{i=a=68lh8H=Vq3ŽtZe5sHER!YaRD(,)Ch$ȹ _n 6IIsaE(Gp`XR+ۇ{{Abs,zɛoG Q;d~0'p cdb L٬ޘ QO$x *qu$f!M obc`:%3דzCf=Ԋƣ/Zf A 0#&c!10K=*\4@К#2z*- h6n@pl;AiȮ!Dew!nҘd#:)%$?rˍ#8p/ώab H$lVUy>znő %@Alr&ACىQREͼNX Ʃ/\9F7$ɠ>t%}-DC/!J, `6.y3 #{|' E[vۍ|3wB6,0^_ y@&B,֖цQۭ Ld#VgJ ?[cYob( ̦H| @(e>| e6o%2lEDH- utaЈ{> %yQt0vmӲQ:, ^P Fr0)?z3M)(ep(X1 wXOᘔ]8<5E@齷R6!ybNX @4,#ZRBn۷90ZASun7<[ey9DWMA~M" 8b`~&-4]+8< QCU^ur",UIZAk;Bz]eAnPXy69HUmf(Q(BD4Lfasb|0N2fj83߶xZ9R.RkJIA(P\bfQB׈J.ꛢ, Ui 9yHy4{؞ ]HS~ᬎ&]3UƈmB9H~r ào@~ M@|VELf0FơxU҄zQ BZ$3| KOE-eҒɚ]x8 BR@XDeF-ҝ;^c3aojfךV.dFKAL|>!VҪID 4e+XiA`= (c ZƬ|jx?:Q0~+'@x^G!J\{B<%xK)fJ@ Ӆ '7lٽ~ И&U a׳0t,[zn$AW)?). q. vm'UGElH &0}\ʖ>&m^},%QEiy Bivۖ>)n6oBtT|QGMTiMGeEiFEnYXAn@mI] K KKL+uB[%e=GIMQz6%Nj$jy0ŏs*#圢`GPDW'rͺ)훾‰( ﵌ʠ%HLCl-XW!rB˶us!р.R*2VX PDh}.c<;6QK 3/ZUu6yDg%rd2koڗJz&6oZN6 nϪN.qR-\{:Ήes0WGYjG3^̖dkP̆K>/ngr{baN" fzmd>ӄ&6b?I>Qձ؇"nTʲ^6>o$\g7zը׃o*ӝS8sD tNjcPkU&WeTt_'_%$ee,f8: x_fON%qB/SQQlC4S+ 3lUeH8?%D@ 6IJAH) >0&9>|% Bfx2@34 139W576HMxu둫"xEY*u #arL09 RXnNѐeh# DIUbȡ^IJZ`BrU6q mE7ma8#E*%uDRRr$kQ|_ זRΔ}\7;n)ItIu}UbUʿ/yXKZGn,\BBR&%ͲmmIɏa-M^kQ(Ė}- ޖDCؐyISڐށx."Za6#W !ސt:WVTH9Mo H~jV1(՞ndkJ$P)ETP;Fˇ$uGxN JC|.SXSqQZh%N6D) Zq,*ϮFp"tv*UYFFB3?v+X{5I!2EVi1yI)FKD) js_Ɗ>/Q)h%Rj[:;`_W2Hŏ~ ܦ_&t.fMd66MʶcKiz]+`H ʺkqbr;ʧG"+9/+ܰwH}Raz:;qGP>C1SERMц&:bҪ%$VTu&x`-(I9"`[ĵ J?'@A6 {"~W^PQ$rކhWHqk7KӔ$f NR|IkQ* @/JEm`A^BPƥ`|` 3eb$u94kղ60;k&jv$?L;y1+#Aj߲CP;L"_Xx!emzɖOmZV.^TgTOo]&-: i+(򑬱TmOJ7׈Q?GkR"!BuQM=OMD7/+XJiCtn nEȂ@E (W.yN!qj@FdpNSPAAUVy^> !Exa'm*&oI^V =8_R@l#F̞D HKht cMWs Mɗ7ƛyׅ]m_RǍںI苒 e9e^.P9(yQG5&hkH!̾~=,ѯ*jPU6bǙ7㱑RJ佯ۮ].Pv[yb/tdzqpbnWyX{jKXdOMFͲsN+7$U_+Su]e#K-:ES4DblT5J17ro.{;Fo(2Jl:3I,(<$ÄT?=4"$ouDL$^!^H&+W\2L%rOXCkkmF7%- V sWԝMޙ3h:BпuyW?:kZz 8hAXЫc^%Ǭ: Ȝ s !:&pKגzHq LBR Qȅ̺BX&Fmqc-ѹHNFIj%E5-"jIX9<~D!exSYy+V3'o~Ωs̫nDlip).sj{E1țڿ_7 /0#Ⱥ$N _-W{ cb.G6[^Q@C”YOss-9)[$rx<ɔz#8҂Eǯ9-i*2uiS>JYctˊz[Yҥ$YpYz׸_+\OzQ+=g;a&(G\*K)sfPQڌ񒒢\*<4jXcXܽ 5'! RLv^+ Z3(Ueb,XM% b7. wm`"մKsDum4w2nwߜ'ף&ZZ+o,eݫuS6DCY"˭=X-Kɵ't~~7ѵM?T^ڽfȾyE6nCBLVyT(HŸ\ŦP}rcL$u tfD)NS[UR/ƣkP"i4*<{5{ִeѴZց kDLN8#"+7\ o.VmC8q4r@&jcXe %)d>Ҵ!T# X{2~s(Nh-`]:ALj1!HQkJ` Z4dLs$#f}QIȪʞA`gKg2_0r26D 𞈦B¡DFJ+˃ HviЉZeg\]{pQeK_|2XQk $Ծ!y:iF /u<d E57:n̔=*>ֳO2Zb9Eڥqۜz|װ4x(WkTjrNw˹^TU\vVRͺHʓF:hV2v{O+h0b,<['-㠩< 9< <ɤ!9(Fo;I@m:Ԡf`8(oJqHܒq-QV*Hod`O}FIG}0,+ʷn+Cc5Xf %=뗝+hˊ_dS:,&ƒCӫI~% 43(_PPYSYj]71olϮj 99ax ³R22 Fn@3*IeP)D;qQVuB3bObE;_).ޚQm/|sy+R-N{g\yI$ *`[F qɘ6%faoU  m9p8>Ss8yaN+bg 4 Os[e'N7@ # geh. -&*+f~ Aj`Uql9)>VXу8_0.ڑg6@CQ!-Syʋ`픀8duϵ%CbAI_=5K-d-ZױٹJHO[/ Qp|n'%ui UnD6u'qz إ$'5!T/yb[hIH5rO*K`2zZ MNPWK)H߷U堗"q?9wt^I6_uJ$o';H.rg]Uf.i4$n)$jv#'f\R  Wl-hsRfM Z]'y!l)1Beh]̴S!'ހ'r+|E߶PAO..iv巵_'Mܓ}YZڃ̓HX:^  HayϜvu$%DsZ-e ?bwV!?Xj|n҄`La^ȈR8A rӂYiɅο1N_Bq ߪ[k_#O{5'4)-oF~s䊗1C 7Y@E;rI4!R řntL_p!! ݅ ! "L]|S2iwp\sbr+`=ed-'QS{]:.\!Y_:&p 7u%@IX&JңV4R@̾GSwAyVYЅ9lcNR]-qDM<؋*fSЉ3prUqze (WId;K`4l7+Q2H0 hljt"L(#P{";*%3YD.an }pe*@n194UVx8Д??V 28E rP@ A !d]*Mr< AkM|z&Kv,UT t VC5N FNA慪0薖;JfMR[moJЯ 0z01Z@Cfu`5Z 4 `] ]ٓlXlYjO=>!R2wvBkčrť"܏'ӶzrY#V;BBR J5£C~B@H 8nѢJ=. -`bN=߭3!-RELDݒAk9<,7mS-˜#gMqNuHpaD%RʹМ'2?BdBS>҅~kp2< x,K9*BR>- Ĥy0+=iz/o)2N!;$OY)PfxqY03h8o )hUUc-t {?41ewkP7 'TوC`(6Π򘃹S֒MHUoťҒ%*ۖHgZ--B]G鏬d@ Mܩfs.EI %^{Y҄6* 䒘6!YP6"+ "=sFpyz HyLbB#q,Hm<% HsCP M;ZGw(1FI:ETTĐZF@~s8qB#SM[RrOy/NR E;#arR yr1#q^3|Yg!.;QFo~c*Bm~8NUd6hb%J *3o+n*flJ0 +.8v5)>y#7PCN._N]טP*6=a8)Rل$6wLv;85&Hi` +e 2?‚ɗ" =FL6:5&! DmJ^P;-IHSqE;bW&n&cG 3g%D%2O{Fx%%_j1%tR)qN-j-ͳ%ԎT^W34蝄+D纃n,w*5V=R@r %{៍ Q󛶆a#|Bqw+AsL@/FǼe^տ9":zUQRΝ~,̔RZV3 M;4G2R4*Dɰ, Ϫ+Fjį7TVB$9J D SĒrf$ ^DW&,c@o|" (ir)_O!0GkSD#T,F 1V0h#u4#q^:RD78G0ҧ $ dГ!t10Hdʨ.\̍=ދT~բ˜ NĂ BSCMpNj6wx厗#ڥ^Wҩ%oc=E]tS`,Q%5ٗTث2ȫr?|~֥ uAVߑ'WY{֭ӱbّDg:|ڢjiNRoqʅd,zk!cXvB1\Tر9P YDBHoE)ǜu B9r<Kd(Z!R[  d@0CDŽ4|%ᨥU0NTZX5̢\F2o$pJ ҭ9dttâ6dbImʙ+z[vSC H#Wq!kva ;Tp%jn? nXZ,7bdi̱KF7Q'D|";AM18)֋Ьa/| )rfeZ;V aRN5\bw֮PUOB<ˈ!_l`ԪTzE, Q8O&֟)vҚYH|JsT/*AQ6f嘤7ƈb* A/E$EABW钆l!fTȴ\ݥ[76?T`W3i5*$&hՁ`:[*tì`IE'j&7IF4 dfUs! ܜ=tKش"VsċÉB",d+P73YU::Va᠁]yZ ,jg^_Oҹ-S+\7ZӴ$hdoغWdI, Wvt(')EB\ReTv LHCq{WUt6^ W AM|ODHV Q =^f*;Ǘ}`khXǸ7Y$3!a< U:iUXL蓕ű3DVXC]L@8An!/h:-J=J-XBhA4%@і*/9t>'d~:*'(x\ 9o3ȩP^`)[0d%o }VybYPD./rz5- :+ Wq%.[%T' iؘFf@=kh5`d ikCӢܐ#Dk?ZU6:wvfe/`_{ϧtͨJT+ls"#[zE9_oG41"13LZZO$1uo,{xa]q$0'C4И ֜f |?dn4"*R.RqwFNIQdnԲ*Rpgl (2RX$Cr]@Nu$BL{!%`ܖ࿲A QjBIj&V!hL} ahP3}1㟻H*56f#\[ALi:>k>A? 0ln:9d<SǐJpRLqz4RK3ΖV(v(GpJrY*'28>+Z|{ [AssdCit EӃ& $Oc~v3pCg%GJ Ѻ Zn Ƈ$5˟Q9U'3lvNN%cq 6f|7hFىlFHʞp(z6'̊դTHw 6wYuZ$eCPACpȾPgvNxj:#9 P" `8Fビa:A0`Wm!Oҁg QɈH!J-T$'Oa#q`nf7l{G1Ʉ>O(JVu$ dvU6Ȥ`R1p4Mo2aC<^n!"=Kԛ)7ɇ+ XIRƢkIդZH/~J`z"KEBR?te]tbN#D.i hYI ( d) KgV^q=ɈFJA]E#5zԫû,6|9J~¥i(xsA퓉MW'=5_șTR1iQ|)  H!D?MB lKM6?8А^{S y`"`\$C{Xj.DBq|!ɶ5/Wj.c`Uc;\Yޔb+l0u #/H+J:(K$WuIJRoGÆF@F0 1E'P@dƠUڄ3B$qxu wJ1$[:jwi$Ș튎M ]P쉀ڤ2P/י72!!64V2Z[: *\`')96N&#!\nY&HK!8YGz|R EoASz niZM31cByeQ r= qؒLS"?tqtzGN sRٹ^ Y^4IMcE;6&x b{ zbD8/ԭ TEoڝQb)u0/ԁ?hI2`W(]Y ^/_ G >.#f޻En !l`@&bbG*9T ]#ʙts=/m[ࠜ#tq%'7Eyc|}B9;5 /HS/t9Dq=FA)yU`.-{$_R`:"DvKb !}#Is(Wȥiêò)QjI@lEMw|Ϡ A Y]RzoyTe0NIDth_N}\SY=l跮1sh".^&& 3 쐺.ٺpdGVrKVahzUһ) F(`Gs`Y"\hK0\\ܤXq5Kd/G=lVFk܏òҸ*OAI\cJЈn.oɽ^CTJ2WQHҒ THO%a8䆂XDN̑]Lzʕ!(3Cr}Rb!X,j$‘E?14}\ : f"+$3khneLj$f(wXDgML5!R/R\VV*l[&0@ID :>iұ W hX `'4el.e#W6գ. ~|Ut2Ŗ*g OuGIh8)o݅P*P ɐ˚үybLT3A{gVI1o=w0 .c<]t$V lűM'Ch8ffPF9Q%P@^@-K毵e44 B5/\WCuTaU ܽٿňNe?_*UdqQ0Pl 1r Z=ńٿvh́ QUBH&ڔBdJ*Ɖ *JW "1eT M4̋m̯J4V% )VǴs/Лb#ٗMizY{ c(v B$$b$<&))*9l1[.k*Y)LmI{R;dOcU;aܨT.4VoNABY1i)fQMj-M$:ߑ2j2 !٣<+裾!dLD,ad@xy>!_9@4@(P&5 P'-3|T.F  [ 1$~A HhhI…Qa !qC(_ jnEi_Q'hI7OvjKXcQv5Qbc28Px*,Sz1?NF|Kjl˵\NfGO}vk )5,1&lO I"'qYJwA{ xtpT󷜑йNxHyda bYdjFHrc?D\QDݚ;LAhKOFdB˾ #p 9:d~c# `qTѲL+zVDZCf"3 ].Q+\|~}7\+X$6hۉBuh?7ѵ ),tjԟ EDs ;;&YkZ"UT03m!#9sUI8T P,h Pp;r9 d8َ^'\_f)GwI͓pW$Mp?` [ UtGǞIJ'R#VƮzlCtĈ) j"9UA5[o%tr.'ʳb( ϙAg` B'mwzF.(?V0Y$*=ebfѢ#`RTI2` I.a-'= ћ#D.RߜJѪָzg7F&fJSN-)t-T1uMuTL ⅷLWk)+Qi5Fo5RqXZR+6McR9'zL\3'gOv>ӣP3UH:WJAgb+?M)*ҕ[|[nUlC~_N5)_nuWo<!,HvWfdJ5 D]yBh`:2qҴ )"p@%Ulj&Xڴ!iHUO/:;ƟII1*@͹+pQWOg(xI?Zw@N޳f\6(tF7{R% u*+jdQ2J XcpH6s&(*2LPʃWQlu2p oWyJkXEN"yB[zgq(%btڊw=(mir5dDŶ+VrwjK)/@&RKm!tHV杭LQvN'x0е/Ӥ%^i =/[o&ژRf&E )t<1#(qoΎ^X*!עO7V}SVV")I@Ld)yks䶷'@Ze} Rm۹ .zZ]8QvN ĥ*RrkP+5ՃD+DR`?;"1?c8whY:m"OU&ogCb[BlV±Egj U[ReSbЬ4mw*sG@{{∲/ BEtKՕ0;C M56_u>aۊdde_Ak5^tR_@A E10۶Y5c'R&!B3LB3TSZ9.MgS#RU3aaϕ#@0N'F^t+,)os+ᆌH2H'GzS^zL@T(J^P@g*:sR9\| .[7H-ەW1Nu =+*I̠р#x8Tȣ4WR"q*S&Iĭ`(AwfI]`F`7AKC8HEBK;gZ+IשHûG̏DV_a@JEaS`a:yIv(@L1` +~bCr1H瓍40*Q"{6x [ ^xOh_FTABLbbX׌el)#Rv}\?dɀɈ H+a0봯m'056a*!ʙ$jB{C(@ 7H]AE'5]pIH-'v#d\МCoͶRj0:,~n/%L8ŔkwQ-!Ie9.)QIc), iWLas\UU`t}90 @dtEb~ l9. b̫XgKBQe\o{=h+ ӡ Iּ^(gz|׈ L,@VY.ګ댂*i^ f;+N/ބj7W}YAç$$*lUTE)ftTVt<@$&!`( vNdDr<F d"Ֆx2V߭0Ju FR X0M m/Aޠf&)+٩{1%D!-TPfQK:[Mhԭ>bn/p aw1jImƫwRzC<>JbiA\IyE~Lw5Ly^ͼsB#2 (=M=أu \gm bw\L*ḍC%6& 4۫(11LEӨb#$_%@ $UY|Uu#} (OG&1'vh+>.BdžĴ@)kbۘ{tOrV$wB2E[ 7 & c;2:u UbDNsd L5,!@#bPH7%>z~-#@K$3~5(GfbiA/KD!xf3u] Hͩb+#_ö"ْOrbdTc8fLq0,^ЃWJ\7QSoշ 0{J4tG\u.p&džhP6&..Lg٩ߞ3OvDq2T Dٓb]|+dKRS>H?vc 0܎kֽL烎Bڧ{ &ǧ}d]#=,l UP6;4`XYmfrg&,lR© uP$H[L*ߴ7E@S֨!=^^R5L4GwXRQQ ֭b,&T^ rq&AtW@T0S'5V>TlBED O#].59^X΢ .,dšQ#Q_+P@Y5䤠Yʀa#k!I3yp.j0¯Z߹1fsqy'z%o.mA0n. W&u~h㯓\}ŗJ#A7ӺhkӟB:+>-XCuet،]o-PW)…Tm(d#mSV).h.)E@ Dd' IAg'rIx]DRHph,d¿tM9|LW^OiU;!0wm n!k=9Hc:*wN%Rnam̞t$ZT>-[2^g{jиʨ2^ 5A3=>:; @$df6urj >>W WXy2&d0%5Cxwǘ%JC *T纓-͓}Puh;dQx p،g*׹ck&tz^ ' BpSs(V귺/뭑MoUrk=8$sdG J 7]\P!HX!',*y@g+4T kX'z˘)@#B;c4?JX-%H.Z*mbi~~}4)nrzo1OZQ  ]B^% 7bio&$`H+FY@;2i+]˝W(.?A9駅\<Т1%OHٮ4ov!RHm6_$#L#-)[.!@%,'}`!QAaUE/BBq, ).G$v,q:2Dl4]*Ju F}Kb. # fSYΖѓиq}.(tS=G""H\/Pɕތ޷(Cq[\4<|fj}3`[:FCG4].^![5K[(X9>c `@J7>H|H)jPR蕌eFX,Ev4zTnB~pV-쀦c_ǕNN\ '#_!2\/j#Y~ZTXoSGAh]*]ƹ!jS֐2~CS8j#j3X0 ?^K1YďD`< af2@,a9qHb 9Jl$d" 7ʼn%  H#Pn St( h8S=MW,EC-l`km9(Pt \Yr[0&Qi!a3*Eʽa;a"Mh1ϛ$yȋ^80c sS%̮3:keʝ5Yi!Lky1J)\?`H& Pwy*V+ yDRp]S7LfRc Q_d9QW竗" K[TIEi7T-dE|aӧ#"ӦBQ%mj(3wfe!vIlQ/[AF_c*JiA5w[UK1k lw,{6_BqQD {Z"(šQA4/P %rCRSMΉ3b`a $vdʟċ\W53Qò>Qy,%ɻloCT*j3ٚZ#+Vu!$tت#A$[lݺ4ECʋJ;hAMKlt 1Yanr$r=i%#ۜ"tE8BFzIJF\Yl^$s$w''mYiZ9"F>̋%kJڷj-5}/TZ0*ЦL2tA[.պ\ q/^EMA.ύG]rVtܡ/׆jsbίH:=ME_4)f5L HexƃVC1, Cpe)?J)(䇕rggݸsȻG:Ll4eE'S{T&if49Vdk°_#M hKʖɥ k!CPK QXT~-`=1<ջ&"CWN\}8P ڀ(m-vhB;5e|LLW'GTvzT=Jӕ*^z4?%誤KʍJGuEkmS{ JT4x&q(#Xn'ؿ2Ou4Xnn I#OUwP Ar& &=`XY _\+lKxOpʸ-FDQLoj i8eD )a \"RXj+q6ju_Qq> 5dh2Qvb֥FjH܂j9HI*PɽJI[s.iAA#hW ZU `W{UOU/F[ Xx1!?l+TwUd74{D,IO#U/9Ōq>䢫fiOĽ,LP!ׁRotV<^:+d-О!? 5Ѱ9A$e'»ysRz (S ln .\OhztfC1q]f[ե"! 'τV2 EdQw șx&}Ei 0y6BRkҚZqcZg+_Қ;,)#&&6UM* Qiݗ2B*6GOb2b5=Jzy1GY 21^VW 8:9«9Ah|@yPJ_#[Ol-8%#'Gܪذvp8w֎DȯV/Z ^e惴ĻWspKd["(53" Y*tMM)ե '3Eٯa9dkfChZu1 .↲dE(rL#W<7pBH3tLV jWQ&_%rqݺ)UhS~al%!#Rsj\*O*iyc?=Q#ZʜiMHvZ-/Qm!?ǤHHDCJb #.|ndH&`b+&bpFS*L/BUGYX$5& 9@HmX~'0aG-wXX Q#g=e(` N *:\ Ka@4eFfP6&2d6)*`I3 P/=a\E<0~@gBCIrj\WM yxӉV=-bLtnGȌ [-fLE^EVL'dp@H5.)-*8>LoV4j|Cpf\n@&7ŒM$Q MjM 1*C[Iޤ"H@-"\ĒO̥k7p˒KTȧ=vYk NƐjP!TP +MV+h%5_03T ,O ,s n a \/>bX愀MB|&HLuGTHe_Lv*Q:zH UzEun2vl!E%D| l4`L˒Z=UBq]!N/n_B{JI]ctbzj"kԒZ*=tfj{D+oU"dZZyd>] Zdϱ]P: Hf,)}jZ-9S7Jh 'uqrv"%,KH.+2EؕXyib@a |U1"cv n$diOvN~؊}v:SiqA Z6FY/B!b[ѣT |@Bٱ1jl\7Wp" #`L`YPB?!]'=Q@]l%w3a, n醴,"l`J!;k i+&PT|DM71F<9` 'Q$nI9-pSixNχ& *(#\؝t)@Hr*k1Vu7}"%C<8TvI+1jj;'RmQu*€J'6 :ÝU^:6 6*.rTFEFHt'qw)4+4֔'[w.0vY]IB *K4!|N6(0d9%G H P)V%v2; Q$K8%eQmԋ+TPMS#H}}0.E ÐB{dDH?Pֺ[`l$(Uo'ߕ޾.rTyQ@ [zDph`@_!G;1REu,As7.AH?>[>'~zhO TYm%*&"{E֕'. VB,d)iuLVKDbq [,:Y~.U!.5Э#,e)#Eq#ߖJ2/} hDJEMdR]Zf7.n o@&9Ac P9P#f ˖[ܒdݔFCb#\q!8t8R>&D=0KR~ +#(_y %?< u:@BaG .'^e@P̠yISҔ-n̐@V̝7 y %̜&:`꼍FG4Ԩ۞PZ&v$LT= QBsLe*1AL)|Х1c4Ґ;aN znd_hvRXK_W/ܪ6#ՄH~Ju~X8Jn}MhZ0ɨ DeӤ#lUS"j;#4m$E1!j1tOۖ{MآOMuuډWI34yO;fOVU.s$57po[āx%/~maՂBSѐhJ'#+=JbdK4H08cO b@:Nj JH䠠-Y>CP ܐ9:v O 0ASѦEzښ㕄JG:%)ܤSs#($k*8#!Wgggjb+'xtgW"LHVEu ҽldL ]jw ]eE:N< PznSd"/U~|AhWŒ-">KBdk\]۬=u40#1;Ef*?EtNoy}k湕GdJ@_ =QkULk[& iBW":sZa'D{9M%)h"NiZM=L9rEDى0_l'('dC%g"169%[S)؄{E6NEY'{(tdKS=,' 8G%==b'sxiI;uc i Js$o."#pn '(ز{2C7\'KqpκhVDnྩ,Ơve6tԛQz{df'<0) jVjeo*gRU[FI(J8Y§ e*!$$WDPMDͺ"]Jo>hZ'zw!f\DmKBhqEUbaQ14GQ$O Hܛ5(RB3DMin9C%: ^K17\ډa0u\\ 3{.4=c]C< v~-ۭ˙m vۡrޔ+d=`@%[;I7,8eZp]"sYNUJjxEv R,/NX6^oˢ\HʋT? rFDneBY0XXnFV48HmNAP!ED zgF$&C -P#1͒Lq (''SǢ[."\dIL6A ׾q]~bqS爘3SDl+n՚-Ȅ(qU΋THO' Di /ʊ_֯$G+C"x05 EZyu$N 8ޟs?2]:^mxE4v++x'rld[#-3p}e jE%ദȂKhE:%L!7,tStlJ2,UA8Y; G\6򒐒\aխ|ˍ=moVUjr7Y6H$m2j a}vA2C?iE"ӎ ғ_QWoHM6#[)#z jN+P_*I3l`dc%bq2ShtƏfܕ ¸`Wmח;$ld|kwY"B0؋jk /D~cTH "4.~JJY a+S9DZ.%I"5xѡPU\ǶtpWBGĎ5S)MqG\NEg+n.RVMN2 F(mMJztT SIԄ :A zL#嘜Ch,(JYI$ї-Rrؽ Wtz=^x/1(Is*I5mrܴ"Q~vecqtaA`D,N5WD<݌0Tk]x(.Q'L<#MUFg?#*b7NӾ唪ۍ+9k}# Ee9Ω"HR,$"i\U{4^}HԎYH tbXRg ) 4Xh HBISZPXA Qi%J[-2&n]YE Ԥe'#[(Lrgg,ixۘm*gĖԊRv|/ OmF rIfBZ\ыBEOb'H#\Q7vsjgܫ;\Vg ${F_6"UVV}6M2Y ]o(g : TX'vbdghsA2hy$Oؒ0hVi}ۊOhu%%6H' P_# 6ؽbf…SRήF_ITJtZrE<9gw'9tX?$-iwK<0m峭WAIGE/D {=f5=F .bEtT3FδVXʔH@Tq=J,T͚&j5-&a^R ?OK,-MC_BL *k>$#;,fO =+F9B^Oo0HD-&RNIFM}HM`#$IoŁiY1Jюл`FFFVp ژN+r)b ^%Ԗ W z a2m*]B7E0^S>خqaÏ3*G*W$O/ELK>&O)'&Rlź- x2!Oѡ4{P*d]~O20F@R mM@A2nVs;ѓVġ\9 A#tN^FwezBQ2utxu5C"LE܊i*``m2/x);uW ,t\AU_iMN&ҬE¥GsR?QG*"PNY :u| yĚ'f[P~zI}1zh靶 +|yOi-z,m)Xt<ب޳Ż7Y%i~]97sht˽~e ѣ=fҎ* 8ȩjERe,~ĥ6E-pZLTN|slJ*jʫC qdc'&,h嫭blӶtYeWL]4CNzHVc tHrJS3 YTН6D.5ir Zv:h'MHG;/?Iag~^ QbQkYPSD*] 0L>l)`b`C$KUS%9DVT==HU4dTgFt݊a Dȫ PF!J^xHioVC4TH6rIL~}xU帕U?!S&гWi I ثKV!=㢏lITDD mŊmR5ߘFFJ<Ё:(!}{%!gaMgPMPb|&.,WTaLUCX\%^,T l6RtLBQ.Mhd, о_I WJ4E'spl40KъҜ*lle1M,q IVب]:8rgcTL?X\H)6x[qqQf>@*q#-*fX{*jmV,y2K,9m{bٶVd/A ",vQb>kFaj]R#(VMW V- HoJgW4r]`F!oX 4BMUXD&ZtDTeC#ʸPe2l)B2CMz[k#SiR BwH"Y4h,}7T\@9aSҍ30raqQKg5rl)hg|nK?lQ NSEt ;b 2+{80 -a X9JpJU %ݩ(0"iUUSL)Vl(oatJR^Чij]b+*4n~\i!dDj\+A}HB  $,y )旀5v\HV"C,>'U6tA\!%o*bFIrOB:z$wRF}wt2Tdx%6-s *\a1!^]OjFfG>H+g -DA8+H ,F C(I/2s# "x˹'$1lS WdªQeaB7Phg`W&^NTppȡJU*8IVOsjJυ,mX=vPYH&pGCqqrOωg>sG\t|sguVL0 B%_c С4}{BXv S~*P+1ք:t[z݈l,MkK|Ҫm|Dê%e[qk x~=n$OѠۓ0TǎH0/Ni|2"f>E M"$:znC~x ?<|S؂YUҷy+Zo fYdL(;CM֡KeƢA )MtA>TL& ƥiC:dg⤨3mZL >ÊzA"=N86N({JgkBr;37؂.s0I}+?hF 5Ue ) [w8N B )( viQz]eM:,Au|CA]*y 4mb͞svGtU#(5X^MGJɲkR+DBQ;z08kkiT=w;u2^ c_.U:EZ 51⋔HۈH\DJmC+4rY"fiՋPgAi"* L]DF\ތd_8%5"jD⮛!2Y ?m@aA|.cDqBCnI>A@DKo.dVնUj6ﯖOH + 2qf lNɨ HShz'-|z_LqqA !$1f!B\F٤ZIM-Z-5 kג` WibCuV6YI F~K 1o GqA`QxHeTALB7xm~9Ғ,HB` H0K)y$q17sp*XQ\(@ a=*042Oi;´9sj @@S b~[!:E ȃn$ Gq3X@v֢-֦P{ gV`ü㚵)GDIrR KINQICI0(_ 2t"`¨%R4&Q"wV݇j+yUm8UN/X@s{^Y7iH4y=! \'ag0ov0K g8V3+H%wH4iFED-)̕uXi='v(B&ln\$B9rIuAaGR%8@dtR.3B@8uQ0*WR 7G2$v뵙B!%*ee$6PiJ\O3J-I/>'QSa1YxڶtNع0WB0LvvKGSHT9riWvm-.ҙO/Rg2=JsDWˈqNq&Z4n?-[ahDn" BWZ,+Ӧ҃VhA4g"0W}VKCURnD3N2&IDTRr'"lɋ"BN6jTKFB#|n+\Sw0ڕs8oNUOq cTV%-! E.$DO#N6#C%EBR_&_hҺNȳC2P( y aڀ@ Bʅv>٢<$ctzH^U1#q)71]mP%{ݢ%!S%!g)$63'^qNO1#f4&|uB0W1b]D"!Or58:Y|&"efe\|eYu{H[8si z]G/Ԥ̩ZwyocU䯟)Rurr쬷&lIDJ-R9؂-zAKvR\W1˴nR];~]c%Q(c:JXL;AnKmG~%evX(ܣYf+!晈^::;VE%:PX)-HqVcD0*IQ>j[:>$OG. eE3M@EXAW2Sɢm#SqxUnkLvÒr0p{ECP  ; =d9tH:I]1y $i˜Oc @וlb1~-8# I K^s :[H3 "I /H! &n`5Q7D =RèzZ󦹾 Dl$ŸXx $.O0>|SO oDqȁ͑*\#E qXӆ M`~UD]Ru/[dk,As ᡢe >fԒAGT.D* }>14IvvLݸ jEʷ2X^ Y;٪זELFi:7)Y/{ PPgaF򑵑t%X7l.ջBJ3g٥(kf`"[=F&)hK 7 Xzq4l jg*U+Gl)HU/K!cyG# ,\|T$N1u *XO!C֦/D,R c)li,ňJ29 Oh9P%H]HP L/ @xRߩ7c+-Gߘq> KCIȼ8'ENu6Aja]WJ/ծT=[–f,AIe߸7$mlx5*lS(8.uGK貴s([wlGcUy͍.\s^9Ueo!R&nxY%<iq:}Ϣs_kkErRrR[mj_tSY9BDL7:U?Dr}-yLRpMnB|ڸV)hڭ~~a.c/?@H?W%1 !7f[L^Q%hLAWcrw;Xb(׮bd-MtTi(r Z?ⷕmbXGI^q%WU5wѽ b[U/T[%+t݈CqbE5OE-q4D<㿵Z2kwKIf1_ﳏu3ҍ+Tv{%}ɪPI曩?]XBh eܾx-~,x$]>WqQnBpQ/<.k0r>SӿzXgm8)ZڪJr*ȱi(AËHE{|8 "pH0!v#^gwD PAiN 3BӅePAIb2+%EE( S@iHaM #84z]okJ}I3(ErKpQ<3#T6T(-sB+|&huTf|F;)N1S6d~MsI+:)TYr-F91𻈩X 3F d35 vi!d[u8 9WŚ~kc!uߺJ^Q$FD)W'TJzFrRΰ%BDSNDeb-mcEA Y mCR?M1 LÂoUB&mY$Eљz:@D %[ 7`ƌXhGjB|X BB0)}IY[-E9\CЬ/I)#K?Cv]^5nӋdԵ a,v} ܬAfFthʤ 6$fbbSXZs%OS4$*1x W~fsApB)^m56#X +8]Sӆe*QLr\WuJM;G%Z7B6N\u WizE:iur\aw!l)05#|o {D#`G. #4>HZٽ񾞶mӃhV @BܣޙʐSΊe,z`jDe{v(ǙUYu . Eg AiM rT(N`XTWrQUc+2&f`70XEC[2㇙^Cx)h^RoV-U_$n:Y'i!aŮ3[H>҄QV]{+ۡ{\R\O28S4eWp%CRJOQ"5^&h!Vcm.3I/>hES4Ck'cvHD,l! ^],ʰ#t JX4g*6fwId2mŢݳ'$_Y]x$Q2J,sX |NHF_W>$EWTk۔C3DZQ}ԥa0@j89FYf QVv ʾ< :L,VqPG`$H1#}JXs.RQd-"(JyJ #0YKdE37X5C X 8P{emf@ !2L@ xŌ{D--q}QJͥlAAٸmlb9edJ"*`&" s%t wk*URp1pL 8ց$#Z(Jl1g Etn<2RO0X3}t+`ZyE5@jV$9p id#X9o%6b( %ajS.юR(1>B4Y: (M:? BOòYq4x~orY\t$h[ 1uIs9(9pIjL/bJ^#ŗ҈F(Ə0́d(`CR `Kj p>$,QAf&$\L|3؆XKYD+FȮiF9aJ54$wfm}$PHU>@J稂#Gyӥ2a7ȒD]XBET"BG6?S<$T^$PY-)l5B%ǖ> l-G&]:C4̢ܮ ֌޲$N\>B2Wvze44V|*!9.s\Rep"0D*4@x.sھl7p{%[@1gAtwƿbQ֍cJY-”px̣+ 9Wc5"K(|fR Y(-V"[+0!-V许* w5haL `0ckO@qГxXolr^t$kK!1 sC?:Vwcn %;w|zJ[*Bҹ-^wnjIn?xS I9&Qq)VJ'eڱS{qRq1Ns*"%Uge)Jk5 dri2n9)/=[i qSY;#uМVюp$[H:w}+yiNW~!b^ԓJC!TAѭ_S-cSj w_2ʴd,*\<G)iVIdIUȮ+ѽ1rsT/)iѨ" /tx2X,ڬB:nM!O0 "I4N)ϭf n O٣(ւQ$*v!1jEKPPJbdPG>XK}gk$ %:b+ )_( _Tj7 RN4PQuHYW2wM)͢c%^)9yL1dB.l]Sh*9 jv沴<~g_n,PY$sԃ%u.mZ.bvFi=*e{K9y$'y% κIIEq{7Pu] !yⲮui)P;Z'_T;/e6AU8ډ3]MSc/%iV6g '2=Dbdd_󙀆2s]թ@ERH4/(X1ExM ajJԛ4ksFvCKtI ^тSKbC%/إ392n4 ܗ}:"‹MԺ` i YɣZf!bE?9^H(CVQ 3H+O{޺)EҌ#I/90݄[cV 󶊋jG?nje@x7TQu*"URRyBɏ6AY,t8ļ a[IBeDÇ8QMCB@ SsjB,j">4M+De[)A ,p9!ఌXa"c5 :̄r֞R!qbBJdB84 b-$-*}|J4cFlx"t{'0 6$D8K$%d8 ADX.Q&]T%qIyeaeR\ cRӒ!oi ddE6 99̙s`( !aN=}xuX ځN.t%fҮbYұL@v?Aċ*Iv^J񚱄H8N)H<UMIV;.( ؕ$t0|9GɊ^A8=׍X 44AQɨ gXy;[D&Ypȵ1f7cScZZHOk%3PIщnq"hwKYyo,$I6ŋ ْڎZi AF3ii 25SFhp-J?NfU{}j|Ew9Ĵe4TYPZeJFD΢Sm"6ee+"- jj 8 (T3u2^L9ԉͧb7kR!_,+a:=Es"j Cݨ[wۈ02%,g:Pk\]JCUjڔ"W1:$gtױL~!I5ڈfB,Nzfតmc_o ~vHkbaUEh}?7d([Na>'-Պo![# ª![ƓdDc0έMSsd7w\)ҴYjt˃~/UM:n'䥎wٽgw!KӇr9"^" IXmRu ݦ*-(B62D}U aNB/t%l:QnMCiI%Q'!Xɼ JG e; ŧmt5ܞgh`BJ2B3B'*c+wd&hSi۫x4F,E?b}(9_R۰BF>Bا&ByJ^v-G.ԻedaB)}`8"kqHV=(ԴI8  HPCG\GxT D̨!Eʥ<ECE@ #g,  G \H(0JF< BVEVqZ3BPQ?\!wȈS'~3!O8(ltd.7f>CoƌR*>fB:uS8qa` La%qúkyY ^w RL&3U``E;ˍ (H~@NsawX 0. zADyByXL!9L1\6E\{+~Te(#(!QwW U:!MNGP*s=v )BÄyYSB61GŽ[ l>XfPR(f3n03djMů?;,ux(#2JXϊ 1 I j0 LU.:fVVSoqKV炸1WJbdAY@ZA @AZ``x20z=@ ݱυh8t4s@5ӥ(@ 0Sn4KC X)aSikBŵK788滍 ^EH9הG$<H@7H,`q"4B-՚<aMU,YXlUnDC5}t,Z/9!H# xW˄9+BI1/95I9Ja*YGv5Ag>EbIV]n$;SCCa$'ƯQBs<( z]>٤pc`R#~ې2)` 4LTDž9 bb ⨆h0 0.d+i$J @̨{q1'2.!5Py2pao\ jBH!#Ք)#eq4i *H3#ǜabI 0S$ (S[ZmS{q)!M=DÔӘ09=u ޠZ\@đ2)&3(& %nZ .\>uD+IDqNIbRKA-:AS.kǞ' ՕJ1%Q- ʕ ܨ{D^A3pi##jD>eDc)c~В4$SMM%wP$b!pnej e>+wh0Pi3"_` M4NJm9:%u+xKJRL ĉs +ZVԤ@C  0pBZ%qb@MXdzɗDߍE$yJ=KpcO,H%@EX`׆Τ0< (D})T ԈFO#%xo">[=%-(bRG4Q'"ܠHz8a XfTJ!z!4IK $+<_&bt4y -bQk0hcP[$jӤ Q@A .nhL;zD!"$66hKÓѶRKBRJ$g 7 )]1j^a&`/xMAF C #8NoR (MPxeښ{F)H4u0m+-lQ,ޝCFQ:l M˒ٷ=mZ+ IR+ \Bz8DuW1Xirhx[1ÕP.!钂ݐE5p TC$[D"]bY+NS0X(XG>жFFZ ';䳈v(PzCZkrė@w 4X81 %ŸE؞8IO8A,0Jm&H6$pnT&"%B?TD,fܘ_Hp/B*OÃ9(jV[Q'0y4Ҕ8.3aC@R#LU9P%"5GVBGL, = j[xsxqL4d,( ²X$ǔu˃撕8o +a%ONr2VO*RFO"tA-"1BBEhH㚪ՖsHCLQE^.(M iqd-+DQu㫨H+E@[)Q܏K`LhbHr:(s-DNQĽTUTW_TH$SRIz?Ӑff͂q錃H gYb`Ts89wLڝE!/#^H<.'P̖VoG6o](P)<k7c86Tv3Ez[Ua`ѶRMY1.)27CʘhŔ R(Ykֆɨ l :bP.x wk~ wS8|3Ĥ* *eD2/B1D8!$8O 4yEbsh/!C -ޑE [T\ f<@A0BȨ F]CBc"Φ bqMfPn}X…s2$J;a13fֳK1}3KQ:*Z7jD#g0)dC]Qڑ} 3TR/4Fy5Hgb:u\ Ս.гTfυ~Ža}>z9ړY@)k%OdzkAXG1iI!{$ ];T<[m<ѤmM֧k#0̭dVOg95ŠȾ1FK*HGj+K,*R b-rMzf&cr컆7Iۂ9A//{V\B Bt垜]3!{ҔB̥d,){fQ(8CyM!mzLCS0EGGZJ ‘wn}5LDTbZ)LaP)JRHS'$$G̾VKq65$rӻs^2ԩjLjrl|%7yBZU)Gɏy)R yy"P Ԑ}osn\jJChꐻBIߧdG"V]soF1v 1Lr 8[i$5$Fd.KVxhॶ؂)[Wa40,!hY!$Am$ÖW`CBXm-$JrKXRAcOХ@#o[ - J3\Q5Z\ ۬l%@yE|uHI<*ǝqu&'B@ gW5z  ,!8%þ@ife!W\PEJAűw)R{& ' L(@'D`0X?,X(ąq`OrB^@U24 g$Rw]rjF)- &NEЀdA#ץ,fi=׸AZ|TÖeyTvԜ`_1,Vfq b@[xI/Ì,4hQ0^)҉D8rS  %[I (sr^" 8A^ּJ,`MtXԉ [-ͱOPyV.fyEik8,;ƒ y8o 9e $^JdgaQ#0$ -X8jZ&X0k"p`'u@RK$,?d-|)An(IGdYOb 1>@b>`Bz6:Ȓ 3 p'g$TGbT{ә(G+BKt@ZlۈUS#TvLHĘaPG!\1 YDp4`BCV !lR8}ҰϨIXyRTB]bGr.66^4Hq pWG [ A'b\u(AX !-m[G*NS%|5Țbzd RzP!E}D,ׇ1qG0A=8>G^fhTaHhB#~.#PNF&%~`fI=.8PIN 0΁&XSD(M79,&>`AVAeqU[O)80*^h4W<"u.2z.RcH$T a^ sTj 1$;%^疗У T1L# V+^xԋGE3vĉX$&腞[,hq mcX jR9cFYBk2305|0gwAzPF{J zΩM(x$%QDנŒسncj կ̺Le5 Arh0!4"NQ7dRU ZG-  BQE q)Be&{]OJd Ek2q[%%A۝3VkjTQ]'d\-'o[quFrwo+9C B4)(ۍ{.m\.q7};%Mr$SKg選n!TZhJ"Zf’6ım25FNC-*̛!+IUd-=UԃB:zw\vM&"սjNAI]?mdǿXʲ%lӶs? n'WKl)t7Xkk(oHeBtAyJb0>1Z',J9`+]Źi,}K҅6Q-' eꥵ|9h2ZNjD"=W"ɛ\vFr Ucg5%VDw^>mLv2(UFE F1P8p, mx.Ex #d)p ZJ%p0#zbL2C+G- K v "̇g)jl0.Qk&UUB!`sgTh+2.6UrHKb޶WY:n}N9FaQ=Ϛ<@j4ᧇeaqYLT9e\ yr {`+BF ')TQŎNA犄u,dNjvaȂL4nA9L򽰗5]J,J`]k4Wy*A4R$=i :Yy"4rsԘC>$Bnf0 ?AL1ɼwkLifS\YjRAF^`N(aTo\[, 6F~m f+&s |XAlg9e".o1NdXp!9~#u(8Zi+(AV)bV%*&TAR8`xZVL D6+j Q(4J=ݜyNĢBSaTi s4q 8Ž *ANDy@WB8FZfZr.nQ8PɀА[@dunxk}-^#Bae!!"<)C~ޏhĨ9X ȱcG9;"|7QOTBp?g{Z#} Ís:@4)iI2W(/:c Ⴇ{F? UUuA @ |Da2&ؠUƗ1ޜ>}>"1:ge"С<\=L$e2,˹7V srhPbS 0GAkw J hB `/" .H+w4J\8*gZcr$L!$8e( "ِA}`&zhHYbfu6,h(C8a$0S$T@5TyЦTQOln"Vm]6yTvR1"aC52@i%P0`o elCYScQ8 YR  ,J`PCEt$:af ByR r 8NY,;0Fn,p{lBD!#8Fdk͡;KUz\P@H#JX@n `e! +!0E@ʭ"HD(qUB"B$RԵE(RӥIЁxj ebꜞlHїCVXYL)\8^s0.HBhY0$G' K~U`@,V@4A'°@+I0ܔLLKTsУo?U6i}-v v LdiI)%UBeD: FD$HEGKMEHGs)"b,# W)B=O<.QʱW}fjPz:\d[ MY K9%k#HhR 쪩7qv^:u0J2&U v)K2[F%fDFI_E)ڸ~!0 ,EJvvfl[ڬ#f( }zf-4,L4CѺBfԾܖ[}JmJ-W.5)XZ&f& BNnER-9+̨qYR ] DZ1 a=&6#Q~"VGӒgżA1IitB~XxJ6.~rL! =[joZ.z #RsӇL I_=>K j*~ZAKJFRULC'8yo"ԓB~2߸cJINK1yKfsܥb&eW -G&]eAlk?HHqnBւuy—,ܹcQK0~  }ԂESѝ05qI߆XyUt 6䤔j )`6f.r |ЂhLrLiش:ēA{Md##e"ᢡ$jgc!! "&,zq/9K9]O8K XȪcH[*<ޔyYQge~..g~UgiyhёsII.j F iRWPБ,V%v jZmGɯyp[ D VXHxDj(?ݕMH wz"ǓaLgh0_k8n,lw9SE^pʆ! 8O^W8+82B!^QGdIZ/AzMGd&Bm9,;v}cGu뛪/bQ"԰-hzBVħWmH,ΰĄYA{T8CZtP6㧿όc y>m3of#?.) GOЌX,1.']bHq /[6TfE{ Bm5 DOM鷁Xbmj%96חeEDA`- ti[M 9r0"gK$ Ud͎kɉ6F>Ԇhܟic*s'ĸrqlǨ[&zd73v1bFybtÍh}!gUXH~L" %ׄhK!!vn`!g" REeJPAG=X O93yb vs(HQ]b_0Sʮ$b%3Z+ HHv(V{0bZ 4k.T` K'/HoIBR6yv !%2+|拚&N0Vq$l^;\T = O+ T( qsb*3@O\mS5fA*)#D[ϧ%z(4. *UPkZsۣQS:@#G\ mYg(&o=’2,/`S. mNpcEo3!E>iEc$=YVf^D ' DI#UW*0ƖnL'f?`]HyeP="vF ,ԎxPؒ.hҕ 9E4J^ "IS@̲Q4j@[D"G7jܡ.Uo!u϶2 ]"̻Z*X'#;etR؝]<*7%|>)o}hYɳ+zsJyUH#PЃ9H&:= An qsΫɎCΦBf`dL<[Z8  #%Gze␍ MBBD @0`Pf#uvJiI_a H+;T!oAd>H ףc L),&+cXY"ryJzC:3'3fU̓D oNBiq)sZyR.$묃D m~'ww %lem0: &_1#I#@̓lA%L3c-w ȓ]k>vv`RS#n $Sgw6 Z% m+/S~]Ɨsc{ۭ6Vn(ӽ3)𫅢>M|8H9N8pe: N%aHj"/Y13k36'ԺOZ>+۝g*mX5jqU钴>Ird `o3+x&h2^P 6 Dn߽^IsQi0 \y1#|PytGWRE3SXU?g0PeQ?q:8;NёS Z]E!$O{h%EwYlMoC G? =ڣ)v Sv& Z1| Ffg,X'`okQ@"Hܟm6#})9'N'w&PvgS:R/@ `+#j\讝W GUtLWe%hiifP_B\Ӄ @1Cft]DLE;Q4VeV>oS( b+%*Ca.Cu\)Ej6'hCHRkGb>pHD/  ̬vю莫yƨ|xS=?[Q:]fnSMĄVf/D  10c buDՖ5BwZKjh-z$M}2bɦ⭏&uL! ؆9-ѳU(] ?I; exڼݦצy 1gm,QQ&C?tI/HNiCo-T`_%/Qv-3[ 4y}|Bdz^J[D:c+Ö/&~Z ß7 7Hg28OF|ۓa!:te y (gSI")\:}n |4sfRnJPʭ]%_J.*DrkEUH&ʅt5 p$sRH>!"&vPEjI%F+"?1&, " 5#0^WӄnuLLЌMqKR-A4oA78i$TI_VQ)0}/Spa5`fUYw]@' `H2 Zu |Z*"5~`SE#KyUL~[ɆZ*%a!fD ?H(M(2}*$uB"rYZ6nQ4uWEܰI_So61ph(UaY<G# DAMGjHĢ+eJF6iT AAI& …Z~I !{M!&*"EbpCkQ}U (K 7Uv)>i64ۤOQEKWJc0r󺗛1^y%92 ܫHSW@>EP$tbJ01\hZPd$VqCDOXQzM t_3Qij_8(:8V,gQѱE}6ե$\j}L5W=D8B6BL:XD¥Ɛ5A3O,V &jg⬅z^UM[l륙 OJ"@aS\#̤ɭ)p+i)(a^0cqHYr"VXcUDyՄ)$&=0d8e ҭqʥ1]4BXBb [0;)fnxEFDleB0@@f$J\bwyBѦY܇[<ʛY,7 O"X҄7[>bf qh/<(xE!Ӝ<5WdR'ZU(_BZ_>{ t 3RxbCkG7{c| W,4T׍|.TIK/+De[5{8p l @9wCd3m#/z_V*1%PbŀUkm`h "0R'4H#m͹0^7[yb]L ~q^A99A{VuQ|oK$+ka#eHG &`Y`)ԌtE,UbC+ Ha=3Jqnpkh|2uzy x;_#KKP 6z% -=GNNMz Kw.*_xl`#BhRgĚ9ayNi&mbB4$ZRQ}#a'vai۪kiS )h먙ex iR9t !H JVPܖB\*L"J[CR"K?EsLg}o&L T:'!Fjr9ozmeeM-Ș< 1 r)̊Pʯ12Zm;9'|-AvgyiJlXZBKP (°t{ג,v3NЦײt C#V^+|؄쫢\'>E\ӚC\^]ףW+J`78\Ewf#Ժj2o!+IxW·ke0`F/;7\Wk=y$Z#uYsѬД9R]Eꂚ.] Z{EB4yYyr/~>$l!52}bY j%t%NTeh4P`v RlcwI`ĭE? VLzBƆ#{IX,xuJ1z#YLF8MbtlDOrQ%J"\/92F|Ebr΄W|G Q2#]݅#;+4Q+"5B8 +N"BJxJ5=[cxj7ȋ氂 Z-m! ^BzPv+2~dwZ&;|eOHD++H%(hRH GbRz!87: ƥ$3NG1JzX)P0LLVMJ.cCsbR~s׿Rdߔ #7μl厭!$K"kA&U]E*j)%:"ufώԄpވG1mfB3 g2zTM[`yu]#RqؖHjb<'ޭ:H4 ;#-Ԋ+`Qm=AQA*ѱL/?!}<_dDuy#rh fq6}O"Idޛ*QJADu*iEUҋ-n#[;ZF:d_lkQwY]Նb>1-Ƽgtڶ"*U-nXanv qELm#~̆ݵSz<=,+ISy*ޑ׈BN*CJ,M`~*k dU/$ Ĉ! (b $T<@Ll0}l:~ʗ[Nn^+am'^D\]9-EC }9*V] HTFd[<Z tJrϩd]ؓ[e%].D"V-/yE,h.0;*FIY sXt?Kb/Da1&̩h[W|~Yq&$| rӋ¢"o%nAh)8 įM^,>bnBYU+VGKWm0&5%Nj6u<P\03XHLI]?;׮b܆F+sCIX2|{\H,?YpLt\N'7k&O0ejsa^%,:`DR̹3\7GB/AX`-5Z04496ZdR(%k>YS /doA*1_qd/QL:Z^>ȥHX>ST-!g^anKQt}-*Fi(HΟ5i;lz-[,-w%t"TA8* ,_Ŋs RH,$6KsRʼH8JN^ ȴqnJس ,E 6Ʊ2 gi|8 4 6t$>T~/^ZKߌyVk=).ei)'w+w2@l_ןmM#k{Q<@!<7>ɈTR]2"qR[ | x}߳YPheE|A:L)yk,rK<*J[8&@iMiΩǴnD!kfKdL% gMF9X}&G+o~*꒢,&B=X wMG`SQ3we8`,̭1Fq7R+k5g-%$C N+w݌؀"XfEղM(QSNN)UI(WQ"g+Vml﬍vϤ#Zc#ukX&,s ES5.I oC$zP[VT}iP(I+`)6DcU!/ LNGե*XWiJo\18x, C IE)6E% %F0Z($ͣ."8[>O܌pؚY2p_0oM4O ETA  eKsYYU7rىz(_涴++wP8uTsծQ"0'Yc9Vb @ʜ NЇj~P9&>F&%^T"Nbu137÷U#Y[Q:(:THI%qÒRk̤rF~HڒÜX(cB-6BcL/+IBc5f@7Z~Y0}"fg}NkA{1ǵi E͕ÅՌgtaҜ֤)j@<>"l.3J'dwY/Nb: h)_XW w(E}n!5gD3Nz;Hu[g+i\J<}fm疵zO<ũ%T=59t "; `:,Ntqu Hqm &DLE5%ځUc*#+ې ѓ5!S)#KGEoh8-A E95e|yG5x 8 ᤯O ",VBo,zxi=+-I#73bhW.9l4ߖ;DlK59HK dc!E4#wl"Z5SӀRJȑP\bClj DvABo'J68 + ,-9"YMVV9?)!ElR 5꜄Zr`m ̡ɝK9}ew26\M@yU u"{kGuÜWz(k{a@.l)`D0,\8f#Y#t#Hvv݇ f72˺CPRRURS_ )u- n o&,XdY᪰./ "XW˅u%O(J[Df_bN wAfG??j檈=p6XQ[0z[S|1 2Ů)`>rNRjxaF߉mFpSi򋎏  Bafh-,%/p՘TB\'sR缤ƕٌVR[~'/Pe{BG~l܂ܼ&lP)q+ls#;sBx`VY:!˜dّ/sbz3:Thݻ25 |KC,Q":i =@O R [: q{j6l1wQ 7M^ zo15tL)=4T0RR\'J|u0PTCvPuQ\4< _6DyU%_@G,g8RUD}$+*_R6YIO{@*-mWՎل1fO:+1!uz)pb]Qӧ(COh򢢴Z(7{-iYRàm'vvEV .BK16I{5s\ l0< `@hWJ.AI1}IDT ($BӺqrFjs(i ԣH> 4 L sjb #kčަJ)6~)Q(6gzٓPP8q(%V%3yekK<]U54VH>X{5mVOX~D<c,!hqOku3BǠTvY9r&ȑ uSU>QsF'VT}9b jVs KC)0°UN!δA&.d'ʶht}ˮF^80xB d!pMDz&ƣ\\H#cٽdՆr ; H{c,BFiY´1$R@"x: ߕG1o#{iV\m/$=Fz: I #V4N],Hj9C| -͘|vth뛨Ɏ".][[U ۄVN Tzb@`ǚAÀZ"ԙ9uKqXkl!$GFu2*s0Y-fUܜFoieQX)0UYbl²jLIdbhWT1(ªt ウĂ\ ~GtpـjB`炠R(RHwxbXKW13.]uސ3BWw¾{nHvS~q%ZDA5U&_>&AJOfv_Dm6вUHBS2d%7,ԵxjqA)X\ɥ&V12 .IE0K =irᵹ)wiT1҃:rz֡j#|Oظ7j}80Gꆄo U7̶VnG׎> Zz<⧓f2.ĀMar;Sԛh$`,$雏p@RiÑx5@MO[#gi VYUt@$$^0R;GI{o7'a1>$#1(LJ7T.Cuϱݲ7\l sJ@a^17T7JeG5$Gzu?WiAB74unT<\!HrRLJD Jp+7T@Y剻2DP gX:^}t|lg}tK$RBpno[Dfe ҫO?.dyʦ̢](X\ s6&\*.E ΢ӗ_YwZBr,OJTp&OTi9ɍ/B( (DbI*C 6;:ܿM \ke%ZZBHxV)A&OrQ SPf2Qͷ~ n^ o9r lBL/~0nQL\"T^54)dAE'W~Lglop 2&(ũ3!TlώbY%bkf&+H0ה6t %akE`*!pgIJx4R'NA,'hN&$1/YKDO7sο 4(uϤ8Q!$,Lr+ ͗ysG tƟeiRpq'Ъsr VJ< U|`VD_Đ``kXjۅYvҪ@+$H/(} \ܹ81u!]WN& F)~cU'@N.%{y~h-;=(27oyd#t1Vhn6sC/^C!BxA*2/Sj&.QJUO.aJ851|jLw#>[p^6_n-Z 3R1/1!`j"HwMC{o^'HP׋j/$S(<& ˊUy ԙJfTIUE)IM*_*_YŠлLuꍎ %X%Ev:LՐ1↻1lCLɛ-*% 2#jU+#*5oBPŀ 랢lH\Wih$7K FI#R,qջ7 V@f PlH1Q>%Sr`ʉb)v:{2H͔O"UiN8pvkms[bSury J'q/įyc=i 'TDb):lAXd?Zv}6iTZ-"|A *V)  y /ا?e ьBRN5c&9pꋓdԦ֪IDߢ.Zأ_ W> 2'՗K:i ɚ Iᵍ—Hbݎb3p"V\N_dLI"P,XF}B۾NXb%IQy\INBxXyPWS#^G f%h3ԙțh%& BH@k8P4e DbI%38dD/zU͆d%XVM'Trp_g~(6&TbbJ*^4EbԚ1Lʛ󥤗{DQ ݣG|3JU#ү)˃JLZSL[ݩl* .c['*(eP41)jdH2Y"oyvi&ܱsFEI4>3Gm|DŽ [J]& I=J ^bY3xSG_kC֘ d5 f`=09(q~\m%#Ct2 uq9}p\00VQ=4zf@(J7\TWMO;&eJTsv|,FdD5x+L._ [$WSyep CSZ;Q  UD&(F)`Z h)~bEzsE0Q܁Ц dyd.+c s;;ʒH8!% b`FiÒh#KGɥ0?PRZE*K8K3X@ 9Xwj𤢁cu '҈=. w܀h5| ]dБy b%+Y?מhdI([Jo9VD M?iSxd}Jъ8c6ABDT3I7^AZpJ̟0+衃 LEh6Aҡ{H V7B4êX +*0҅w [?E(fK"jw'bRFb~@LEjxNX~"1XΫLVވx-jOk0)δ,Xy]"S.^Ҍ* -D8H!(ܟE72%J0 |#Py%m腿)P-7fzn̊M\ )ILDu'Pu\' *Yٳu6iݪѮ!R x 6{o`d\Hr6F'] 8և'VgB #/dD'lb rqHǦ^Y`~f6G -AĖƐiwh>A+2@3ĎC>66t5Ug *ɨN#qOQݴAy&o &kJWMXGb7 wSn,' I/A. W~\τIn71_bg:F=Dz"3ї?VLCmJXA2$nbgT**;F|fuOO-A-*ăo`ͫY qGo$EZ.qiC-e<{Г^ZW&_M ޙĦ}=UDެ&ҽʡ^'/qz>=V)ac觌SȖ=}pNa WpH8,f-W]?  -AdFQZ"!Rf62J"TeX?Og 'Jڨ=9T!j)I`$41 q%U/l"aK*^%.-rOKϕ\2QԌ/Ro m!O*3`B~LbkӤĵv^8'Fn ;e͞ÞC\sؼuzDROm ::]G'XEa8+bUjj[L١St4E˨RgCH'3KUw(I,LJLDWٰH :L@tr-M\9[KG>{>+F5?2R]H|9SfJ8W2:e;Ʃ^~v/nj{R-Tȡj+aS!1r+OYųo*L\  > )? t5=0T)=hC0nVIl79-q]^:\E_'ʉ%B'YDު?LhmpNk]` z4 bC&C+ggc"nRPXp =$@QPHTpAOx;cuщRB~ZOʂ++C!3f T6UyKud>U@ܹxN 2CT/I+/UfAXN`Qx55qxQN!pb01CRTZkI^A2j)$Fq5]j[m05$zm%٦G)?s/ se;"ϧ2 ltJR~#p۰j vdB\pXqm?!d-&Qns\-ͭ/]hr?Obͭ8gEecာ% j]M<\qyz mwDTMT /*^0 "D/7l`ۂ>% }(EJ}n[ NYڎDmo+ymۼ@+Udr'PHtT-Hynu%)i*);do{I7! HpȄ[1P ?)C}$ )dY6eB0}}?S5Q)nZ@VמK@hB)Ip*͞Nfj1&)~Xh4O&y}ަԣp!R118u7V +8!smU]4PX~3耙\W"HO e,+w3Mѳ¼&T2<*lyi&#cC*P'bdT#g[^iq׊fr*c$ߒ59] ) "|يjVl48 ~FV'9,s,Oo$ob+@A?"M֙`V>&Ղ%؃I@?ؿY$fql/ 58U/a;0xGP `a(d A*CF@LqbFŠS( *,E`~ OmDdx<DžuF֌i?^ףHnA]1]I [Ɲ/" "?jpgCL͈~Z#ʦ\M76n#پpΩLz:5ܢZ>4wb$ wDΜ-rJhNU5rQŗPd'"o^͍6@vG(oSf\ʽA8T##{GL5iV2 UJqNA (E;9MXRJY Boɘ@H)n C?24J~ F8, ]蠉%d*d+5lI,C\Za!~@ERX닳B.48XZUi}msCVkUfZ~݃yӢS~5|99ꤤ)k|az~Rez/{/+Fo[$xo4E/]&v+\d]+D_%\X6=(T>[-ZթP <9k^Ooߊky8!@FpoӔR*HZXu)e2?i}V֖j;VʅJ$aE2KC4׳Epos1X*M%aOg  7p.,#'d!Nt;$b`"([,DrN7 ۈ2SVYOs#Lm7ReAQ#' 6=6[§;<͌=,n#բ DI+ijI]YfjϩUtǢn ŘZ$rx:K6]=y %LD>"rjUL]GIЀC<b3ѡiEXPЛr>q2K>qILT2@t ME-!~\p,|UI[`L'T wh4& ,]dF#]mGu(&A~L\LHXaX3AS4Աzͪ:.h2&0$eK VKD1*n1^wZO{ 5GKv:CAF?/d.7)N*ʞ+M"╛LDB/܇P؉rhӸ=i2dȅ Qa*?6 %YĬ|. Ben-JhI-`@| +`(XUbePCU5U{M]9] eIAa_ݢ@yQZΔ؆ɐt "iBeuԥ$9\GnT KH\ϒE3Wဘᛝ9̊4p |9/6Y,H'\r60 iN@ "Г#+&.+L˙$Z.l SXF!j}֢M* Jx@ (E8 K^`|alijf u`3E5ȃg%3:ڊ\A1=H^FnFdE t4|fq yBT`)s-dK[&\27Nʬrd迩~#'ʬ'w^x]O: ; T RdrSsUNY79+vń{|ݿ^rT *+_i3@ՉoDuk篞ѷ!՗)(OVhSp ~0.\-1s2Mɱ ӫ(QpZ!F6&L^m-EDִяW…JHuce-[iL67D] ):Zؓz˵(ү"dء8tBY4%#iK0I[~B.!1GwOHȖJX )QIPqcOE(񑁐& )Lϵ܌刪1r#мMhiKuAMMH3ꔅJzedJ?X駆H| r\h"m'):,G"u͐}:AsF꒏|qt77h-MKi3b}֊3N:TwhRc#"RKI|Wd,ԭHy+T}ҹʙ9+?'Ar5 ш:JK2z2s,Pae"S/@ɈZHkV;Tn+t}6dN85a]YGV}medJ:s/ H!QtVrw nidV DWQ% T!mY=&~bN^1"+d"=[o7FB  ૿ o |wP+G$Iax'_C)LQTܴQ.ii!Ta?T$ xE4`FP|gDt 8UINxM 26h 4U ;J23 ñZeymjBf74PKJ ˉ!'MY:Q)A ?Fdw <4zQH XXr;YJ̯,L|Z**,52C66{3$8)?rC0Αe92<̔l͠OGS#P=CpVwQ0+ktBD&5ix]ֈBiNYwX4i&{nlux 'l@"8na/%**dUjUgQNJ*T-Z ',ڇ^J"N)ou!,'-t(-r%N@MM$e8{F_D%r OqXq@ׯ3a DAK[<'B0˪\R,2x叛eu~PiꏇAY%c‚uj)_Hƨ#< ;=A v)/V@t2,G9vdT+ ?M?*@:G0TƌaЂ:@ Lp(ܑ$7%4Z*VuS@*0'65"ĹYV͈`S !Db@R'T) dw;w Ggg%1N$Yc\&P5(RP%Rv#)x x&@=LzBO$PRW3gyXե:Y2ɖΫIe)w7Xt[nMΤlb e{MN ~ZtJ;=6h{ݚYS.w e?Th !&Eٯ&IV)UYхA tzUv5>ww!ͳ`⸕B@p6't'g.yW,I;ni$] h^iZpJ)MQت玬mufSKngz#XN`nz-f\:A:%cŃDȥbJVLlWMG[(a2 P{\N:vd'BXuJ]Ȅ2aXHtf2Qs`ɉHε"1Kl)x%J ē 5Oʯ}aKv!Ab91u #Ovј\ No* jh$p~|Z,۔OMmO kWspl{/mޠOtZ,-#nUJ!@6a B4ih){eG(٨ٵ[E"[_^ƐH$mEє:LTkˉUArkva法=]#e4uJ";Vq9\dK^"3)ZNO9Q`I"!TX7 `9;lC^yۗqW=0"UQ bwiawF>\L$sJI.䂈倪)A78Ȓ{a-[YL[ =;HSpk}It \]_9i.rеV i &YDV D%;Un[ljun ݕZؕX]zƣQmzuj1\,[rIH#f!QM@)y{&J^/'L[i7_,[70 Xa@P&yR7WGMq4Rv2.!Q"/B\_&B4X7@*+Z ZCR )]LOLA޿䵃,Fa\~ak6YCR!ˁO%EQMS _sW֋3ӫD ez}g#sTjab);(PV@-Y9"2SDqFZek=Ǎ}&&5:32d! K~I{߳JƜ97'bfe'cf>a@jHㅦ{d&FA)L\3:(Nou4kU2N319_#Iu;|ȗXZ |/3H-8"荒U5sE se]6pHB}HPHV^pA "|k1mM6m3[.8O'&y<jk3pl<ùxv"ucX)֖ZDY!&Eˉ%U"h=k]w_mub<5 &anmUW{JiL`#SBEXaxVDtJ_2M-01L$NqEQMklߪ!TC_ixvY%WA;2WFGitJ}cC!RJLP d"6^|cbHRNE,g#zs k5oS[4XdF «# XD F1Q~kJ1*Ո(ռ(7[6х0Km-gƙksc74ߡ·:G|4]{%8qCڊI-胩>2]Ĝ2HKI  O ű|fckP!9d<{*ڞY%/愤9C^kdf[ۂl".Q>#'T_xY'h7 ȽFt o]nR2N2_'*!2NhFaG Qd'5<\WY mTorcr`jBsNZkNxqg'D01Its_Q; Xzp@F*{GN PDŽ?T"2+JEc`U_JR!iգUu R!Er?>U݄낲#2@ /uz7Xed4C-T qwfU9|vz~ۮ՛/,$b RlV}Lw˅biZl @8N|V1)Q}:m(N.~y70h$.z/ݕ:(jb\퓓FtJD|Ǵ7+-Q[ͦbyC=T鿑܎IEMrRu]іN^- w;i<FxθYYƉ dA ;G&IXܱ9PD#V>2(/볬鋆CWUM6 k ؀5^NƂ4gU;I1TJ;Y|P>X"`&1ȥUppH64lBBh9ЫNj~d+wvWDXWrͪ5q*|Ь{(2Սz^䜟-A6\U$hE'z&JԠY m&I] da6+eBKuMGEN Zfjc^! u8y?I7>'WI͕3_uÅƵL@԰0ddd XV^5Qs|F. X&RܱI_<QaJR)- ȕ`eFU짇s 5ͅK\S7:5zbaHa]>L B[ؘFӛo :0k5Zk UN;1SA m6ϥ6ɭRZfC/:Syּ_; )!A3՘B:2<"Y>S^%(Xw#`vl#<_~*G{m."$&D"8,3l35rλCa!6ype J` V)-NDPREӧhaX [hc]Q?,8Y,qȃ.6$\Y|tXfTTT'Z$6D֞g񵥯Bр+Q$_炟k/jokrWϕvyt&{gKg3LsQ"zN{"ԴIokbcuDšg J4hoDn$Vab ݓn1a QKO#y^sE#xQ^ JNͅnwRw$!a"}£GGb jnG+X}C-)yO+Bҗq>o =Q\9X3*RL_nIʅtDt $ij3P/ZXa^)|S&PtK!N*x RMH'+.e:EԴ#oR.0;4  į 2KL1Au~bf4#Q]GnCQ ʑ/XEtDBYlt@;FW DB!&IG%)Cy}[qC ZNs!Z[M,.'+BPR^֞xɟ[A{Ě]{zܽhPP&DѢCWXFVo dH;X Y+\8OKs)XfoD`#"dV/#+R&&&0' Hdڣ7&g27p\OKLD;"JnDVQo0d7ǞYj깿T/ִ$\КOiֱ.<8oz%RQ2\vݺl,J#~W ɗr,>*%HRkr[)&=GTkG!ʠ[7cYzR ~b<,pT V-#RM tlӁ3%jRcujdvue]vַ_hqo'&brRMQw )KZ2؂/sN܁T*r6:=JVKE䅉]4 wl%51cJ2p\IFQ%K)~ruzr4jTC6}fw7vb3k.%J"fX%cR\y-`ٙ)J""*;<ªTTɳ\NWq1>zRYyH"f35:J Xa$ehhV'!5Q'  jb@ZT0,N]b@9aC*ߌ;$Z~ z$qNaƒ7AJt Ca@̄* EŦ܉b5{ŕ.)qgUƂۋgCdM8LWkv[ &d48ag,CZXH](~Xpr^9Z3n)Z}klY TJԺӔ5LSaagTVwT*_#ZO$QR @+(/SH4&G 7.g5rrb5[k vҨ^2BR5X][*~5Ѝnh];`M5숏;<&rGe6Z uM0Y"؈YИȼ5ey~~Bҁu$ĶMiwM~Jwjd HRFj*5408  ɖٍCC)-c5drGl ſmVpxhD E 3Ͼ]ii6&Mne_AX}VzVYKvZ>"-"hMb/6evj4Z\RAJ''{E4>ʄ#?1n ۋL{3+BDKE[;K&dɹ,t$ENJL2 X{U<"`e< ԉ[4)Se׋BUN,%_6";I =d㦾;/F1>|"RsjklOC9)6^鬕`X"*J36TMeGQԙ*ycbLIU1 O 8p _=; VrH2'Vd%sfT˔DW@/vQ[^INFxW,tKb6_;(Rsk#djW{$YL NTXP[BRʍ'hh18*HPOԔϺsj'#k$ipPSr2ɈOPV  "W9׏Id'xY8ݬa(USEi0|8΂ Mm%rWscXvd&=@?E׼h@΍Bb$~ى7hF>ؒeEF|\$XB<*򸊂R ?>SYrϱ4̃{b/NWe jxHsn][Tru?`dKEZo4-4 ?`TavKmR݉喓 xU͛U"TxQ[x%}O'Eɫ0B-Ηʀ$OTG vMvz4 ;<9~]\lj9^}EU^:SoC7ܺ ab*X= 室]^EX,G_EmAE%pJY;xB.VZ47Q& [UMMgBKh~~uAOeIK#yи^7א1",/~2O.)΅oG{x}s`CI%e3"IsȨCF/HIP_@ jK?{tKhCbD+ 00:I0',ݓ^f]FJ="Id ̋z+&k S/i},> Ti 1Wb~QVlmESs#Uo ͕r]#6)<lɫ2*yU:-v96IKM_k ?0Mв'$KQe*C1rB-4HSAL \OE?ZBXRn12."+-СRҎ!uS,jN-!B6% !4+Qpc暦{Y!\ d%d9'_elɉTnZNxe@\3;=ֹ\,yGMҹ頜t<+&-hCE*HMASHWg"ZGZv;sO V%JEuf"d=Ot8W"DDƩ'E)m!BD4 /qf.uG}̯B1IPַ~ n^5x{cYtԷ6BPs ٓ3xO/ M2%bDZ]2 JӕvNF j6!| eO1S&JRJ.~\ 3\z(RzXD۾ݍˣ1mcj _3)Z6~j .46=gv4f<'=E!CIqt?cAD>B+ j-ٖIe7ݯ:Rxs4ܦ6)çyQ%1b틏<WNXrYB:)yK43mVDd7edw,Zqvy(Rﺛ%H_vS7l-;@AyܘkSI. !ev0h]$$Vb&͞V/ aAZ 5R)2Ɍ%؇HZ}CQrAv9LM NrM' KN}Z5>Eimt ^t[@L⌯ ^kZ$l~˂-9zղ@mGv#<^@G^CY]`tgF6wbϒ+.R_BE"hVS$,7bdv*m5CQ֌H;Rʼn3}0wvX^sFS+ Q_mBV[YsuB_ThWz.a"!LU:RYA/q&HGY4bL{jܐ.Ǥ(WJ!Kr VHܮGH蠦[pAedx"Tl_ DB=%ntcd]jx!9SjӦq YL' 'S!.{'Dٿ9NkʬR~̤{\$LC0%zS 斂& /l u eco%k/eBD \G^qfžbdIto\]R59!f&[Z3RE.1Т5T  γv+ X$~eME dd8I6:f[o((]ЀD@JDAŋ`d+RLR nTRn]Y]9,x%H$<`I` Qj-p'N_"K[i",tdOw@E4t}Tsv"$F Wk%41 M\,,T) {3D_tӐ#fuS=$^@%3XLG&^JI~b $DZP\U!-j:.HRЌ&>YQ>` 2YtEύ;~huvԈjTK{ES_oz?D_OWoWkH}%S%& D#>(#n) 'ĕa@7 ?mˌ͔BQjZ] iY % >Zv|U\J]m T6}}N*ķ;)?$>= Ԍo' dp"DRLX4 7iֈXbEECQu$8Rbpöڬ0>D& jhPp H}_3BK_k[<Вn335XV4 h!GfnH:yL!RPQqG.@\dH,~86 ta\tGPc")?*#2-5FcUtsk_h=-O}Ѣ:f%bT헅xǵ:1+_' "oU@5cwy?@JըN8% D@S9pH'kOBK Jš,V@`NHobʇ_IYY@BP K2ѸF),nS]VhDFo9Hsԙ!#Z @@PA?;5H@=|\j ܛf" QD^~bIN&<<[`ԇQX0\1.^227\-hɿ"R[ I:McoQqlWhSP`DwjycZit|-[ݕ僌¡~ %㢭!B^J| hSg5-٨4ˆG̋ 4bCn GH΁.$*M L CNRI_K' -(ci @@NÿcIUN;#V۩:$ XiOt coY\k哦0DQ}fj9Xxk=Bz4#e>[jt]3,ܓ\ؽ$zRضӭ e¡F?q=@ u7Q%lJm=V@PLan{FmDIGX kpF+1fK"$$&RKđܢ9\fե1QZ(P~Ct#[z#\䭦J''&5.RوHS_G4HnX`֟&R*%mSu VWKwy+dV3B' CxvU2r r}:NetIȢJ?&vKyy.{ymڅ;Yj~Tki=Q]!vYX r1T)W#y=|kdeƒZF=Q /K G5h sT֚|lI8h, ׍!"J%D#Ka,e*\d09B*5冪_imD ƌR.:WD$,#vպ(@ǧknQZ'i%SX/4$Vt:Z Q H2_)`Rn(Η b6! iz Ӥ+TθgcIg\ y:jU32϶1 ӹbK)pV*JŖbdEW3W[;]7&:HJl5ݠ+ tsu]\݂Qyw%*OXu*?DרR!^0PsQ+ Ad97XGmUbd",xY* g&/^*\雷bh};J#;?BߎZyk Sn:y{mDn@ ~acBdu]WW PJay(DczMR[H]q t#*tI$;J*=v86Z̩&;f(`=i/uTEOMtTCik$7M.4"LsN%ͺ- ";PdzAǓm "5b3-o'44FK'A3vjx:Aa"'#1~50w(n|ev(`!D+|yHAGQno3cegʫXK/nYP -lƄ*՛ڣӶ8sb8yhvS:'ɗſu?Vݒ'+:nRI7zR#ڼq6u_/+2R ZoIW~" uٰ)v`0lȱ9{hKmdeRh4HRGA["RB6[ ߚt՚NI&TfwHt="!-}(DTZh>?$Ã4'@r9~}f|"yzSv+(3@TZ0G]:xUF!'פhn4̛Y*=av(Ry;@J(o!؎W}W?! FmPoy8WzNVZjg,n>I0[jOQ YH>)JUBP(iF7M"aZ*?mgtm1>ޥ FѰk~M/#Ɗ8XN̥=RN@FB:Y rЦVq<lTy>(2W6 6%dt<: "@ ; OE`郡mf x4< rDؠIc}J;9"¢c+nyeqݵբQk>"Q5je25dD. 0[ ze.N"0T.zc-g-9n^Zvg Y' cf&dkaWT32WbX\F't7Qel1Ӻ]P٧~՚k*X^WcĔ5l4~ߚ*\3]LzpS+} 2nvc6v^D@PH5WUvdl.%@ D]ԑXH&@eaz$ɈHHq\'hx2]1("R/b=tb/2g`ʧajhkܐ)8y@cHF Xg1(Y̲.'qT3clЭӲke5bдw[gQvTϭH>M#%Y%12Tɥn+N\-aKrD;lFL$w.;V*BoP@qUN5HVxVFBltPPsK +!1sLlsʏܘarr̐Rde#Rޠ%!<,TK !v-%㮺Am'qP@yz"{ɕF~nr *iC+gCUI=CRЈ'.h^b*е'2r@&V'T%w򽛧s-Fqxb@FBWGV<6\w<[BEcG˯q:h` !hy參H:%,XkDI =ր4I뻼mӅTck=^EgPX?vw&oV1 ʊ;3TUlJa^J'}ڬ򫳈-/b1:odR`$2H2`cc/Jtc|\>$1} ǟ ]I~yi0zŊoMR$ ALHn1OJ_ZbQ ]Ê Ę[ӓz]GNiJ費O5æi e}Q@Jfܨ/yWɑs?˧-iO9w@ Z`jM/nk[ u;WSz3KɈvz7 [YיS^uVC&Sk;rΠm9luoi"su`) =Ua` bx(vIv}'J4'Iu^l#hVd骫Jc$,*X̩N $%)&*tcvɩ(dvz߳U|)jz)SUhUp!ĩaؔ',I'?<Ԕzj:hȾvkp L򀋜r#bh\S@|WTPP~#nȇ#G?j|PvP"T#"?41'vvJv }m |$ॸ'ݙ}#.T]zS-Lk=ZQwv9mU!.N#'16fа$,MAZubH\ӫһ,y_] WtVh30 3ڛ4RH2>Ao[/&{oܳLL2)EB٤GGKt &?w9{V%Jbwͣlf$RŇ{}$y#IH*!.󗛫H'Q-ٽjtնh 1 $h:StK)[Дʖ|Su~wrGo2GkD3M,y}:T{g+ nmmQ'8@a׉z%P+T؟Aa.'::jR f{LfV5S6/5 ۉ@Xذd  Rk$7DDE+ld>\n/INLBQ44H2/*<-D]WBm J C9Aؘ,1L\APru!ovNbBYXyߎ,|Vc˿*vCHr /B_T \5Dy8-tnMtPj~R d"tɌGKZ v3TiQF _vAфa _ .hoR#/!dmknFmTV%*Btb[C9u R&R2؞y=ߔ'mOUU:ȇeU(Se0CjB__eH7fwm%pdRnnz/,q rXPg#gRBoaا5i/ЕqCTliOQX.B &t RaG .'LѲe+Ib@t絛_Y+57_-ͽ)d vbh'3?(Zgf8DoDX,رE3^QqCU fghsč&7kԥ}we'{Xta]Eո7~iVW=60lM>7Q\#Ӿ[]@A\)\ >鄒[M|g-cqoE5|vSrFO|D#R`HbFE6:{y*qX 5ĩD>>#k-ZO#=LTA'zYBv& T}pRNXVZBgQofO "Xnx!4STlϳr" mV(o'n Սiz} rϞȩ:7w1 P`'ի^@_=9VDž+iF5݌-:Ȼleƣ0`AP(DՑh9 ݶ +D9TRnārqlMJ;jcNjf x\8MQE9"mQķ!Xvqn?8oWK{N^N&CKxBND-0|M$JU}RRU>UcG6 PJs0L' Qow.DN"=20LwT|yyYd1kw-PUbw/ɴUU|d+djhwس("JW̑p1 |NPY, ǣB6( aW9fڈ@֎]RSFH us+Ca3.R̎aF]Hh:^UdT͟9ЄNd_l/IЖ}3ٝaKwZoSޮ#\!]GDr oMխ >ci9]UK~Pv0CH#" }S!¯?X0 z~F8Ѷ^Tkj/n&dh0Z6;)܈ &TptHA$ytɆNFdj ؉X#׭aG®t2p~FG#q` T(d+@,7l@Cq>MQޜ9Z8GG'M2r`\CSr8.<"n3B(XdIEKY|'"صz^Z6=ՌEb ۘMNm:hU&DeYqJWڟM"C#Gw#bhFϥe9b.:ofC3\5(]Jj"C/ޔD;9#Ú侉Qa+ D}Sau +<-܊1=H"'rr x}t$T_vNɇh CD׸HʣɉnZzNhE^~P+eV]M|[g2"CГtUξ>tE~TBE6I9 h`VI  }ll=!T.q&qgCs@"ቨZx @:8 )pfnxejP6 xDBb,qdx[ˉtR'z6Igљ;͍ܞyaȔ@%&d]`38+ŹE!ђNDR6!ZPŸdOc]IUfRQ>) Nĕ1YJLR;*j3V-zFjOg3R ` 5rI$%}po?ps&_.JiNKbT{T7ڥC-G g<(!.Zd푀 M06D{8b$Vb u5UY  JPjBGL] z#u=qƏV#!2*aJ#t0Ahfg'NӴP$jkbFگ;" %# /׬(->ֈ\  /ZH2`"G- z\&k a[#J@ ȅ&tq@gt04 g]Z6qmP\}ZڅSzD^ѕZ2B QQ}ybj3 4:F'$ VH9@FJ持͋Ԍ߫u)ga!a8I(fP/5G w*N&ޛ#ʩ2z nN!jN;,3GYbXoIpV\yaRPw(ZpfV3! ,#&#`&9HddH!)bbDfN5:|JX|nJ%LuDpڮJ:tg!0T=N6OH&=0$(> DI<˝,~|~E&T)A1ZmÑPZPf DFu+pyb)/#Jug,ɳe-dDin?D$4I?]٤iʗo|0E4V/)8.,u~e<-dI ȋZ=+Tk@!/`0h|r%W?I0YF3&>B4-eR\kf$M(prW^w>t?"b6ҿ&ET\^TR]ӿqRsed)k#j"5f g|`M"R<XBk;Eλ*Ȫz>w<֞N#-`(ͼ-li7Čס&Edʁ)˞ ES"pc*m]#><wɊeYD&Io(ȗ]"/*J#!j N+n|=Yddbߪ$ ǠICȊ/1Ta~?'cDDd)AE0ժ%EEQR7V0!(Z.TjEBk+@) BbH -!2MF7}[l8̋J8@^@VZ.ZPVa&Q$ɨ[H *oga MZB,Q SdOGT=D{7#Tں/X$ [8&ȉlHXyldI4 Jk=DnQ)]׶8-MeLHVF:'.=s½#Ii5;P;Dd0'tŗIPח4gDi=2'=wkl=00`,9$^pxⵄa7ĎN3 ',$9 s_|%@+1Z9Yx]@( f-bYH+ȴLgWNsi/k {zF;d:!b $RB҆7:ug>-Ġ8%%a"}L}9;(B Z{0)d4A8l`ԱU N<e 8PUyMU .^I3tl0H-.<>{ƃPySC0f(o4kɒ1-D_!HƜ#ۅΚ_BѦNđ)ẋB0\B%e.@jD*FBBFt(XqE)_] y;LֵEZQO2Q}0b%y"S aKkYd$yīT,ҩL@Y-3E:6350u.yw ,v WS`$rD6L.GcjɒZ-H/^):݈PnqBYq؁ Si} ~+T Y܅.]"LSg*0h\k Jbࢻ+Fv0X戯WL g& *c$?ϥeY3Rcv9%,EAl}x78IfyNf"J / =}A>}F qc" \5Н +E|L(=4\l$1VF9Ӥ$BCUbVF J+?RdeT e -=KӆmQHY$vY9¶t-RBIxE >ÖQL'YXF 'ҳD 'zMoBN< OɁNnrD"_4NEq_1FV剅ψ *)g 8ШgzN#794@+Ge 3vzr{ #D3]܍8XOL*F6Ђ^F!g < 2 ҰF-C0݄\v<㏶)|ꋟhC>WbJ'`7$ Tk*$,ٞl"n,*% ?6URõXa&!預,dmw{g,q:lt/S8CRcb&~%oB B8ߺXy^Nԩg+ jxMIĖXE"ZHvЖ)"qWR)'ę<>FKs'//0g hKh I( tŊIRcd-f= TGA+M O"iIFZً MBzh6EBYq~/F{]r򱮊iը$@3ClUN Gs9 UBR :`D wTa|$BjSm-soOQo(`vS0ԒO,LA!$'~]U,LHOʩ&sI6qTtF? 7n73lu5I*'~rmrF k̍ `_"Zu.NDc4W(S1lIVV Kj4 2mb)DԢ˖LbKD^oR.)"+'  J[jin%:,#'RU\qS=} ]QDZFƔFYiaQik8Z#U(S{RŚKCG- 9"##-=Ki$BGa|sQ(E8Ź(G]h.ў[:'zI# ewE䙿R2+D=}sD.~>35z>ʬ#'+[fx2dϯH7.@+P" kkU̩_ZȒTSe.Xa !&]'(]{$+B}ȩ:Tq"6e3>Lm]wol+ Bd1ytl/>'PVM pt_Va]hvpȭ8?ΚTO4o)Cn؆' >0P=whF U~>ôڅmOO&FYw`"u6J3rw"GM"LN Fq'[􂻚}Cw5_.T^8 =X| ޖG̉nI*_1e Ё6?Lz*zw!է )zsem&o-^8ړ/&},t4'Dᙩ ӭ54/ĴeS6)к $61 :C1%Ì1i8 yzrE*Lfy 95N%''e(ו҉V}tyqx69]i6㵔׵kDTuqB)  B>"@x, YR/ ܩbžP͍gRk%CTXYǕ׺쟼i{2I~l)쿝Vݴm7l6 ;:!~ rHHr$!KVc eB"ՠQl8_4|l4ٖob"uI܈q (yVI*ADȑmȩd\1ZW 'g7 h(PV@0lT \F!2.h{)R̈C ə;q6qA)%Y) V(yL=*5Uj-M`%LU{ h{i :H:eLhFU'9݃iM26;@ jbJv[$̲>բ$@ޗ5ge7 FA.-;+}Cx;OJED88kB* tOCEV80v0AA@V H|! ' :L5z_@H78/zd/#'WOp$8K2XaIsgaC#{C> d gTeŵd{= L_-zO$ѥ.SBDlzR%׷YLR[?ܾ!r }w:)f뮪c1ƕ\J$/P'EӛX,&犐[Wi°)qi7*mw$T#^mEA($1z!6;KyQƗ$*ZRV)|R+ MN)-^I91F P"B`f-4$cM%"CQ8kk X񏞢t\R\i&i634Bky_RbHa͵M/9_OQK Wu,WQd?bT_=IV2}}ZL'RxL܉&7"u_B%dR _cXO>n~T@ 0y9ۯ*'m)? eB٧` ɨR FW\Hj*EX\&~HRvTx%]qfJL}Tf:%}1!CsU$Ё覙zw;YfA[Q&t/۝T 2_BBpٚ͊Wғ="m\$pI4vUR/,u'&Q*1JV;CОQfA.. ӻpRM7D L{5.&e^HXsY%8(iE7J^I|W($A|D1i 0-ĬF6Z h/{1$@+J/WfTRVA6˚GQƳ}7Vˬ>`ObD4" ,alz!*UDK ҍL1Il"ktȾiDɂ؄AGM \sQW=?V&^10PJF{JOYD=Cj 5Xe $D-Ԍ ,*idW-]}C&1elˆ49gb\Lr#H$/UvQ,`GOJhMgf5ͪLoe q͝gv-FڡRleCˤ7]T (d__c脕ii+d5\1EEj{U*sX\'ܻGU=XЦQB= ԫ֏d^፤E8> 4ɊvHL1ٚO(&BY j-gcȶjغ̉o;ʽyW 9 SDq~k 5gq э0aT߈u5(uc+C"==Ɛ,*R&fZ^XhyBxolE.k$!2 y?d*dqD$򛨂ȊX"vQ(TNM,"u+)>bqf @Ŵt_C6#at(4O<:)%۩GzP[JKvw)u2+/HAoChM⭛l}D7囜jzB5CW#} kd0% aYfL4p0YYuLupu'<.Z Rj|Jq_!_"z,-L-bF< <̄\LL$,̄\TL%glj~T aƗ7%_'tg+J}~+ıvna.ֲ_P@2- Hv!C, Mgwd^ٳ!4*BU4}o&J:<,!^^ENe4)'U@йS\!}WBc\V+?1HTӈeYm~%K8"i{΋ƫHÂV.u[V 23Dž+NSKX ]k+c< Xl#< $R7,TCgFZ|( l%o72&L(Mh}$ 9./ 6LH2X:{IFzՉʻEP;H-rr=ia i*Pͫٶb9ݩGGA'>g!A )P&OF#]Mef)S?~ЮH=u^ToĀjJB-G#EIT>8JJ%uI[I0gġLzb fƂ%"_Mq*'g G/ } K/[ "IC.sRgͣ[QdWMt4뇳fQxW/P>7e+qziO+(4j䟄Ӏί>ȾDsv_ގ}f$^vl6(uҤu%Q&l&,[=iT=F%߸lmσk83n3C >.!҂i2FVxL}Mę#,AU-r/k72Y떲:ViU)eO e)|6 'I{1KԻJ3kP@Yht+^[T_) "@>uQ\}99fxfK-Xzxt|CyJߋ9AY.дEZ8IN)kZj M$NˊUKdĎ9$Pܽm }h,K"IoG0_S[cdWRD7q0fӡ 3=®&S'/(y ݒ#Lx~. {j]%S..EFDaq#SO/1DO c|կ<'LtXچ[IV`E*֐A:c3ќ-*G` "!:^n^!^^LfڂGd;7Նֳ0qIؼiJQ5h&e%\9E\RA]! F-k 'ٛU$ZL >lvBɜ'K#ء5WG㿺Fز'[>DŽxIg^6hDJqE,Eeh=pՉUB"h+O:AKE@_idzϑKxH*("PDU8~{_7REiSQ@FX3`}iG Y}aVQE~(u#K>mJX#R7mHVA{ƶGnf™ѭHF&WgdC'T6 䔶0Z\Mp}mC2n"Hq3@"{&)ɐO3)-(d˒ryQd~,t@e$dOT&ĪA6$ (Q .Tj ptXǯ](kFcǗ:,Vʐ"Nx4fUQMfE݋jq~\MY.p* ?é~kIE)o̸n"f?*MUZji_kEoSnC .2GP$N9EKDOB*1)ݶLnEYau\~~Lx۸ާfSS6[.-^[s# GtZ"ESd_֠⺔h L΍9ӎ̥Jg]i2%"L:YiuiJq79_ٲ% n[Rr똬EE P\N9MҝaD*w32˯4+қ7_[ƺ"DG 7GJ.SHi FerWe|IҼL̹6(Մq|'栩MEU܃L e/lSNZ^h[ؼPGIu6!I9\f @b2 %"$iА\B0N)A8ǟsavRVaB)s J[gŸMް +Ţ& GScƶY06UFC.0QkSV$ZFVe" zͳ8(EsH75T~ݷ7&aue#u>J??eTfY珔:QNM[¨$@[xTPNW _$CsDΥʛ@,- 8kL/S!4$Iԣ+kl‚i;zu>EgN+0K2Eu_RٟأM.H|Q 5.J : 33b*ZyĂ$E u[Di8YĤL)*qN$0bhR<P1wvyH5;`[M{7(FP0sUG}YjƹjyxZ!TU6PRS Yq|S55X+!') `]ѳ\>9Ɖog&{7Ke*Y=^띞gPLI6DzJR/A7e:d+Q6xDZFS%kgϰPE.̴IU'bM Qsfijl!BhR;`/-[7:|I?0vVHizqcu,Pm53(!5;D?^uFq|*:t^602g{.Z_V:#8Vgo.>lO8UY{I\<,J殚E D1 -M>:o̝D6s:%ڋƍ]Pj.3?kCO.bT uAהHrf5ʒƏ9.|hnVR + Y8=!(ļ*nitïR&j6 /89#cţ /z-|dlR^LPu<۠$ , 2.7%#es=/=Hqt 9L6 @RvPq 0 xFqqrV ǁ@ئTR O],q쒂N; G&rMZɈkHeM43Ȅu#gSDqB}۩*V ~&bK  Pֵ:lr; / Ҵ-5e4%.+x64E؇BxړINmcF?4vz纯4!hȌp"dTs"/I .tl%9MSe;ĝwco4P3*_zdiɗȦgqȚgY l>EDQ, Gk3] .ɡj1(D[vvTx tH=FeMdr[<#yXh!J;M5NE:[r%n/s,d iL@fR8u7rEwnaI* Hi#0MM&Q$WAPW8VtaIqi$^o}MTz!'H튥E3!ϷKoOi,sycR [6%-aOTg ':8nݨ*jMK_Rh &@h 'ٶg+ݹd -֮z}CzÀ.RQ2\T$g485Ax#8="^4A kEKK ECљF`r9IqQZ)9F`,P֛Y1:j#r0alOW˓3)9h PZRhyi 0KI@L&o* ,E¹bBjoKKhBEW7xU HJw R.e8v5L}M[숬ǚ=Ch"FD`o&RNўWNнQ|NoqKe:]1 R/JS&gjRǘyka2 aL(HAӵ \_$!xfl-? ײUٍŸIr;515r)[Vm9b,zw٪q9!IVYk,YK{/Co9i7- i{ױÏ"qܖ!3[t󹜓Qt\fdĢe'[a4kd[4/2T0L#N\ò.v,g+4G!:{ tǨttg;l@sd8ːljK_auZaq:sZEjdNZ2 N즼"cХR^0q|;: I&:Xq* gOPqsDj}S.2W"J [4ڛf̽Y@3l)7Hqlp#R#H \/E&rJ>qS'W<0a{]aSQ])Jw\$AWm4|Y!Mj/³E"B/M 0(Phd?$ ?8$cymL"; MYJEF)ZJOd5tx!VQkAI䁠`QI{-Yl/xL5"lnx vVVƈ_Mָ.McViM.HsǦ)rkbi>rw.Rkbw“h0vlAэt%)_/a\ǚQ͐K.w OSƝc85W .ynVs艧\e:CОX~`$!J(};5qؘ(5~c!^ut --Le^` >hֺ8kw{͚68!^hw@CYc升^y#t5.@ PZnfJ%4jdA;h;-z&nLiE瑜fQFE$_`̅ u:Q<*א剘ok q) F+2/ܺQ]xd4,# $Ԇt",B cWޚN0t,2gBuM$X'ZPӇ{o=˘=`uIaYnB?C _(S%i)򃋍W_GO06^EU}BefA Žv!#ӞDZ\ iw@]298s/D (`X">K B aI'6lr5(<5%pКW'޽K Kު,cGp%v]R%[F!* KƄaWyxįRfz!(GG D.KBAݝ lЪZ)d*xL;O0L-Krm5eD>訑VTibNX벪ծ}L6VR"|h:{yU'P`"XY =jJSxfZ&%"P_kOG!P†$;ȕ~{Q hG <(㦒E[1]/ݍ `xdr}_5D0$;dy#›8[VIyHTƙh;(K! >6~Ȱat|\Q%oat$l\Tc`!Aq[]dDTLAzkq ᑸѝh+1zLXJjҒ^%w^pgaY5jqbPOռ/'&tMcbUIplETlR(_+EFMb4}Wξ<ƚ:k}M̵rډG ' )gfÇ * SYj G83u#yv ID Q΃dSO ^ϸW#B ]BQLK`8 QZB-ӟ$WI! ]pLBӝGT7U+DUr)!1NAb"d|*2ZБ˫ʪ;"V tI">`v, '+Qg_'b~tht3""#x/sh#WzZZ5jmWHʏM'$rX5 ),{(}3JŃjۿlzX 'OT 9$-#ujmujX+ghօf;EByyxmќҙGM"Ŵ/D8J/l720[UtOެX"g1ӇG4M:؟J F8R9 @HWWnxȶ_KwٿoIHMr,&%f%yd+ʸY=͑oݪ*bH ^W`v6>qr Lm< 5C2l2聡STבּol:Bd԰?$#n=v'P]`H^+N!ZZPkto6d(r oU&.)i&8hL2\3\@ZZ2$7">/y1.*QZTF Q$C%tʕ:2k@.҃ 3:`$cw3`i %[bp-D.9LFXj ud)iHbrHGV[7L($WOeG}P)nʃ6g-A $*?,{i%ur-#6@ wt^W&<&WC5ϲTɹp//$iu ;"d@IA2_"@lJlwfZ{QJؤ2T"íG"ts5$bH+xJJJZ=6λ:$]}}tSRMјzjX؂aЌ˴+VQ3kT@,R#D5Wv>M(wPHx !y&3i[%%vy XH@0-l(iF#1Fd_HAK 19 s/!@@WBەA3>^-xtj 2#f7o*E2#*qJV$'?N7qgha6;x#D`lb0rB,ZZ%hI҉h6bƆ'Z3AHa-)jR$}?ЖunLWT5:MHp ~g#}P`1%v_('9fdx} $,2J Zûx+B# Vv#8t/'6i)B᫄sՉr'EeOvFؑm/'[9wW yozاR+YoIx4bɦ/+]Sۄq{fUC[aщe|}xStÁcrs.!?k};$1*?5A J{ǃP6ƚ>l?M !m~βCb#8 >"J 8@.;S!uۭ'@mM? 92jY,^\yc#X]ZDSL&)zB34[ͿA4| &VHFU0qO 5N H~\pi.bQ+*hf5_v12UzD^d5k!ѹJջ2KvU EÙwN6ÀzbE3QTzngZI* u܃gA~_mbyS^.\w` 0l謇gJ0t}qx_ڤubvOo0ŒC MH4p0I#G`zNBNR_/}^RƊn GWPc!Fӭ0Rj":i&(Lq |NJTwb7bq"ti9Ehuj7aEX", ^CĄEF*.'pc,"qT3eӁ+#C!phJ@oIma8JLA^arBiRA izR$“]12) aQ݁ior"\.i'H7Vz\'u>Hu }/ 6:`V'sIe5\vpBEʺ9̋߿~WIfVG|+L#{(sB&BDDX5cۛv\]S†ϼP$je2Qclx&9`E3 fvFU 7%]qx01AuH?mJ[tCg=MF*T _u ~e34 nVI~ )hqx<` vZS]VY7%L{h!HaAW=K-;kn Za=)VV̏ @q0T(Z!Ԍ>3PS싕.+n>#e%WG FfcOeFz7Q ʕ5\yU_%uLQ\3lm1|nP4!Tkv!9:P/T}QjdĬPۈ\2d ٜ )Sw%xGORxe+QAtÂR㤝EKEQ?ŏ JayٕYكa91V:< x LT52m׷43oi3,Xو%3#)t8R9\\it+\LW0c$3!(izaLy7;%m2=Bc2m6rJŹ mi#%s<ӗyw ZHuƤBmurX_X)w3bZfMATzI0ܒoX*zީH]oِpЇ^kB~Zʡ`\O$%Z"PX%/~s8#nft=Gj,(/,򻕪?^p%$vLHWK.;7q&y*t? ~ VШ+2Z+P_udc%+%膸F%brW^ Iz*,4;iunqbK7H `|e&L3@]83#݈N6ejh:IphJDs1,g \(or,^nb *MDIK9BbN!ƈiZvpX1XcHV_>P>}1 %$Č6awr7w"v/"PXpvJxb-W"rE ~g{X-n4!T=%efZbD| Eݲ,,iH@BX S%iX0zw+o281:p¶1d)CCg6԰򯑠V}&DQ+ p^@$LbTjz&}ԥۺUr1 Q6p٧Λ_o QlЛĵuFa@C5Fei=;n-<,!y bJz(=y!? \~H]H!Ѓݝ:C%nʒ(քVxjKP 4vvDe3$M68 H%W6_>!KINrfU”[OրLDrlzEIja<s^»Q.,$뿌 X!Xr"# :qTH#*<'1B>GH $Uq-V/[PMsKPnC\PO]~5Q[]O%7^{d`dd_.s[yW.5pBgMyIF_Ȳu9Q! ,51XAQGW)cƵuK)Ze6@Fv:CQJ.{sBȂ #jV2o& Ɋ HUوT-U0W Ƒ>u GI1U# R6hխrI3H$fMw Ft[.WO L̇1^̭)9#$=M(n^Pnʊ:]v2:_٪͠؆IMY4 \/{-m#h5 E!|]ɚ"2-f%v>Kl*(M{Lc&EKYS~zͩEQvEgŨ4OA[\H]#ܵl+11CS`LD/U^}l`W"8d|IQfG]O MZXd[K )adG 1<Mk4O?}_ЅuKDq*Wb_ D} ) wLqjÝZ! c*Fza>J @7V*( O){kܯi3mq%Eq2!֙ɑ&F AO0Vhސmmx4 %x@9]`NnBܸv<[dk1Bv%$>r_^M$Kix[xSRȻŽ v(.jk6/=^(-: D2S v35 #AC@L"+3Tb> QE$)@mRiq'`vyU^]i9؞wowVŻ%C!K1;C[!XDhȫp$C3=r(gBaZ= ~'!P9 7QbMY^U A{>nR|eM<(?q-MKۡiΌuH~9SGs v);`@_l OXQČ?_7{F9gzj ve9 X(#^V{љ{I48b>.Uڒ<,MG+W2fڑ~ט*K~`+0֣~NfRǕLI۹%.tu~JPoAzQP)&E|^F]hHVI@G^ĕ6RVyZ7.]wCIKIR^_5 O+Bo)^ܮA&:D O d :h)~O/f}K2#D;*"|ýE^41T$(WN[4-[-zBSRkÙfsو{R_A ٧$55DJ5O!h {ChOfH'H.l2Bo$-BLBLqi)qVzSKHbځX[[ ,)u셝E"(mI-Hɢn Z8D{O.88;0FXᯘ]TNW^O2vhyH˴D>P40cڧڳh 2P'319++I$A:3X_>ub2ܳ\´^`-$=Yܬz_,6_$VT:?hȻH "@H|}soEh%&'Xmny󚝯3_2xIc#-ګ gD4SU,ʤ*L[sa}dX#8VVž-8Pd¬$ۼQJ&]I|&h텠6( $O?fҖ_@,k/]{Z! #5M"ӘU{}( ‘PrtӟBɼP`[P0|JN?L7{,(6_=cgt/sF$\ AÛ` 0WB/q;Mi$MΧ)Po4k\#'963oTSir4;@Q JJ1jDG+.kG%Ff ?'[A˥ݤӮP}>27m NnVC*gr"28 8 A)@ 4FT&d@e%Xuŝ?RVH\n,Ã3%< M0!ZHtM3bhA+?l`ђ`a Oa@Xpqc~H4d":?݈ą~*Uwg?lլ/e'B_(QdK V^ݍS"Ff_d%IY56%vR+ɅQ*#ˌѿ6 00A"sTh$ߞS ]xtxOî GDrc_T51 @ֈzr萢. (c=d\ yW|r)1`rx}Ǖ'B?["lqՄ~zVT\K4Q/RX[Y?>@JfUbyOy$_I4A2бީE"j2&B,i;Z\57b1X-qT ZZAF۵5wꊗYNmRjhbTOmdbj ]ʣ_U]3RWk?n៓ryzH%A_TzAnz)d6"9JT%.z˴ɬEKt:-2X?:c_]xd9TƟٚͮ,n);&HZ"LɏPypd m aĤe`6Rq˵7q}HA;}jInǬz0x'EO6rZ#q߲zcK _}nآ<@akMJ;nXv6WT|j"5T*tbtBr._'>kʴ<|%/ZqĬdj:砦SS}6ƶk[Nz7w:d;HߢVN*~;xj*T1Q (U}j93U4B\f]֥ݼI&9ECiwU2o,UTؐa?Ob%^Nf"z䨼#6U4/0E% T` bT#nG34\HPRNQ_ NG U;38D #Ur?dTex~#hːB\0 +4eb%~P90!z,8TX~^E;ܰv,C#-i!dPit1LcyL=;$I n  J_$#*?cE[&N zzn -eaeFbꑥr>93rˌJXUKSHhBLpL;~L5(b <4fyILOjvM*b k|WǚpVQ$hDBUZE1BUJayZW"ciV&4H曝iÄ ٙ3،&R% 3\y..-L^LrRQܒ@^t:d󱨭oZ qhG1"J1Ok]B]IA200Ag['b׶ :$,)ݔsz}ĵg-XZZtVoM$EƨI 7 oYU&vja)P qX5zW +m( >>fI[ uF zQb(R"v;%?hj zUur#"S~La˻ BAFc$˺5@PBLL_$" JJ7tiPXa{&dl^&W˛Vy sS( HB5nɨJ3 M2ES2 ɍ"6@'d&gh' "頦 1P0WkBӢۺi)rhEJyILɊutjle8_T1ASM V'.f5F]8U FDρ#(ei<$y]x,.|ɺw$Q.,̋UɤGj 3iA@KrvAs`LAX`_T lUV*jaXUPz/yXmMjR;UIvDC'V#;)[vq a!n^mWO6HW I O+P~%Dt@BMlJ.ث›z)v'\$Љqۮ*z%q9uXwGm3OЭPC0P 6St֖a(NRUa(vGv#7Rhtr 5)}twzr^I&<< EI:4+G&I)VJXg {>8lC-ġHJnvR ލoN\myUK&EThjbz=_$6*y|flLPt,:}p^n(֕_+%(|_U Տ#K'dY :4Q 老 LM`dW"UbcBH眅"@O/;8tBկ2EeX)GRۊ(&U6dJ98N\FSJoVP@OTS#qQMWxQ][AEIe٫6 txԦ˨")U884oZsvVMsjk3Pzz5s( ~}3tP.H usp#"b `!h^(+ȅ+-Fܤ! b"WUz"GYd?, Xg@@;x;!$DB(e-xFz+OVAsdO[;N^=`@|Ȅ!6%l֩|9nmno;$YѾu)5-ٿn =3Ag@V97{9u4N]Tִݭk[,K Ew(}r(qol@LLD0ڲ :ۆָNW :"π,M^~ydR :bg:>h\+{Lr^>!/Q=p8]5` %9Z1vxHvT% a)4͉]6FF^.?‘G(hBrYȇk)@φۗ;On Pk֋^s"|Sgpd`Afa&M2!NX_Mhj=[j8M kY+%k@Y%¬ ~eyTL7,uhJ^KZylSO5SUm%OqiIYIs$O K>9%KuCSOgY2h;ICv`NvŘt!wd y?􄇕4C[D 4lbvCoxY?!dń$P%⡄ER "8 yb&31=%s,9m94?pɍqYb2Qҍ>7)kIs> LeѪ*F GI\3FO]l ݏ SH/)OHQRdEJH)ؤ޺5됦=oic,eJӯ^NX*rcY)] tC:o^D:ΝUBiuo4:*_ɹVלcOQ{bIl_oجvp^^t|H^7cƢvԋUc=VdWI|]1؍nLCaO7#+ڪ2|UC$Zsy$1p% ,an 3IC+Ga9#2~֛r~všY"KF/kRsgPȱDIc]$ [3D K` %e XCI0{oQI[$ljePĪUΛ0ZG]^IMQ\MDr0M 6exZ#Nq' 5qk%@<@{JPKu#B'I{&J0Pi+%\7b5)KP rIG**TSr8lom'EH#6BLedTI'_,RfIexΥT멊dy TOt*fR&Saj:_ vּϺ:&2\Id5aӑ(юpsjI״ZUlTݛt_A2b/^X 7~hRr"ݯ]_TP,ߖ/ZP&ύZ ZZF.h'c'*=) o~l0-PIq}e誣|իj-I4L&|w? ~8C2 yJң {Zp0j<̛&"+qڃ:2!NZYil\DWkZ 򒞑VN(dIf%O ѽUjSeZPL")w u=٠ZnI0D!&VW#C׭rͱ ,)v R_fJu{:C'I;kZ=Rʓ"@1! 1C|HZ1 `ڢKm(Zs/5> JҲJtn1P2`zoO 9 ᖺ舼ifh$}Hl5Lex| hIL/ZgDiHȹn&a ɯY*Jk,P8 tR)mz&w<ײ|QA!P:+ _@2ii(dC=ʋXVL"/~ 쓕0p T; }Qr{7zeA:PߘT7P~ E1@QgVVb-,ǂ97vm%1K]߹3}QGTZlYJ99#Y"6vk#t•=J/*@ՊI_2|Ӵ(sbqA$o$!>Ս=[r,5I#+_\9C '%A2e~,3G CT]%p&qE |E*( I:hf^1u'0" (g30WFj@6"`6!XD };ۦ Io'PR,\JHm[:N>NlWRsw_6||Ie|!aoƊlC/rrI3B<ª%ΊGĂ/H`$2WuK?-Tlc*tNIMof‚K-KHgkNj8>gX]|!$Yͪ(rщBXkR+@Ւ l;BL&Rx[$/O=J)3T^:|$o]<3[h i`.ԟWl`ƘKR:Ikrv"؇D@2ņ@x, X` 07 !w2$oMa1&e "5V!BBߏYН:}GHvhfę`4F*t@*@GFe`۱^lh8ZD$Q2mj+md\Cy `xx;Ob˨کZL0p:`$L04D  ̂qZ;Yݯ3y̖Qέ!k5?񠪃l>q*5cк/QEe 1>ITI +\"IJm < "t X..RA.ׁ5#*X>a@O @Ά 䐑,N Tީ)1`aM H'MT`"d8VSh҈xC<90|*i7ܠuvg|хl@ȋ 曠*:^6r1RVtA3- %m|/A5[18|B%dž.]CBdIV uc}"q-$E PdLTvB>9z"7ZVp9["! *@W< E"|S5Ee#W49y$4Ғz.X ǝ( R~RB fKeɈYsV:{@d6cf*d lИ!Bell E\tĞUW%PS$> x݂Ī Ht"5a,O# AQ&K |9 5gT:lKt7lЦ\_iM&Xڟpy~0V$2< ۷Ԫ *Daz߫/s FZL(N΄ɑ /Bf×)3wmYX-Rܔ*2<:2mKTm':T9a21R(d{hbMHI,oO(*,¬xUakdCD4JJO&86,`HǕI3}:4 ;q dž16 i%E19x ]E>%iP.`mb[cx lM_'PbѼmRȨq9!JbbQ !L43cPJTh>*"O8 @x dSfT(I$DdLm:sc!vC`D"OS&+\ihAȼ_4Wג4)VIT0"eV#_'lH^xTɽ~:$q"E=Ÿ( lA@Q >`iARȥ5X몚YBVڦ-Ƶ5:&dB(Y^I`TU''7Avj;]0t0ͥl03uA&h2X5F{5F쨒ԋBJ11ŸBiSR̻0kɫANC[GRPqm#&0$ pl(ҩf|kkW`,e=֭{(Fψ.]gSpqq1Éce1qdS$w⅌[Kz7ĦNP$ C en4Cj=8d8ӍIT2p%Q=0N6uaL%!eY5j[c3J'8@\L5zXxH>Q7$P߬nGiasiy|xsf͉G[UlSNzeeL"YS^>7+=HMp\t]Z"*2NbqqԜ5(މF&֦ 嗩?=%ӨU>tDlHA@}Z;JKU"_%%T(O'T5BP0`L6X!xLPP hɚbH(0Q$`ALCӚE)k}jlD5HК*6գj] }%3T|D11  :naQ+ZlEĠӆA/<4a]czD %Dž |ԍ (IK.p=5i (d\RHc $x!QI\ѶϴDpE| >:}@PIܕ*2S(>Ae$ Ʃa6 34 B˰?D6%)b`0چ.Ďt') B,aj#rx^,\`O0.nȋEu(G4OZQ%wR^ A "” Gl |$']41׀UJp1ZW^|mbB : m?4H8en*&0hSJJO:؞t8de3,OP*/யD#M5M9v#lHh ;B!$\)",ArpNڦ%¦8#"5nj5ɫ9u%+*0SJqa_TT3ޱѥ.Rē9N} $x;఑|G&$DBdZbH-YzmO/ Vˇ.2` U}6!h$ԔQms]gjwOTRQy` 8A_I! "cKL51F'058* kF,Rڢm-%d7kiSK*6s)b"SPUBY~T s[Y,$2N%ӳ[ǔ6J\C JΆ|񲜰̻0]"P"J=dM((V艝,-4Q0.TC3;0ş0HfZ0Lo5 *HkgMk7`ғI$rbd PT2j7(NgHt&Mܟğ  lOX$R͒WdDϷj)U=@ʂ[|Q,BopHɐN$)#~ZYfI5l+KWT. !ذ$4)ʔ'LekuȕP0PddqM 8|ʒZC,x #zM\5]<"brxpE5,(/"ƳqRB\x|M%jL$ ѦBJ-Kw/p>420ZHaK>Je։Ҩ- DĻlsd4x)ݴzvxّlEE^*3{#Ff|$VL9‡VϳTrLASO jE Ƥd)q\\,.ăkyC.j}вIu 9#4.Dn|[)Sfpd2}Psd۱b_^%[2hݧCn><4:.Pd0 mHZcdX(C\YK#3Qxz5I%'lfo\268">eZ͛p$a奊լb2bJvlaEJToA@:\T`:>؅^ԋNG"cd"<.)JIGJ^`J⸝Ñq*ЈbE/L+*d41f\)ҿj\S 991H.vvd]jlq.Qi78|.ϏV{Lл'%(:xFGu⧱lo5XDg%i5{zA޴%Si rkIJʈdBۜa.vpbJW[KKX#|A*yaHqk´QHDA:(9LK|ЏuP+%e.YAP0& \gY9w%BFk xKKL,LIe v>qbfbAl&) pI(Yq "T%p ~o:Uȫ 49"'F$GL'R"2D.vv0., Ջ,x `YVed"D'0Ϣ:@fe<#Aq .s"0Ȓnv)k6dft x ~e!ElTPd] DTNT}="9x ZU1C @I*LKX PT݄ Q}3KP-_ᤋ'J)MB`yl@e_%#& `e}4NK>T:&/m 0y}"'Hٍ ^%aFzߔ1)g f%(ˉ^uE󔾸|JW(*MW6Zv H0:<ɡp"4c-+$0h]옂I']Z^]Iߍ&: -idV3yH$LqZ;jriq.?R((*$2C/h1}G +gTE5itwq2>\Dl`0P?CY(4LIYE(T 4YYp;B^8Zd[` S^qHIEmVCȷpYbF=+E/? &ɮϧ;E%U^fUm!3i?c1) .XnTw<wașW9bRˆkN)?;X_t6I$p{d%#94zш Z0F@Z?L/?-u'yIKjX4l~rٗ#1TMBv'< 6H'R4ضG @I9R!-ggDS6@&);0+n5 AA#EFA q8Lp{bg#a>K$42;&XD}TAxvΑHǠB: 3ZF `F.H؉ChH/綍rzK\޷!wO be{AZhSTc:yVxIi*)Q^T6 d94$%qa ZJlau+ٔ޻ as؝xU=rd_m5RĨ5U&mv́jFd RIr*}ݑjujw MoPJyrPTqRIRlU ՘}QKML?U?Lsh\q8É%C R ١yi%1AEF)`p'<y (\VP Nx5m6ӊdXH A DZPS#SE&IVhVk%"ʖuV%AK3j6reiIRZ/[gr3H;!].0.d'u āa3 } |)M;Z\ ){ƀ2*{DZTg Ԕ6+g=f NrKE+Q/FϩK-cl3%?NZo|zKFDަD@_gpĔo|wYo5TS·oZ 㛊)7l$ZcBY{dTr&H1U,xpYH4&x֋1_%QJg(DN 8OL Lؘ jrFabиѥ8I6ėqBhPD%,> bqɆd:>GS3"(EH$P M&EÅ0kknl))j$4xhiз%G. I[OO8O: jJWqmʣJ@ı &kh}D UU1b֢0HNBBT+WI_=NnVj`vdhB7}Bp ͑h[L\5yޛSm7׫'ĜӧFml  l\$̪6\P]&Z3{'2ݖo?4|Z?eݼrzWE~땶VP⢴։HSϩUQc2$P)4J:D"RRK:ou̘:]ਐ@\:]H`$)bȡ#mq<mk1L]3L|uI?wEdPP&]\xEed+$DީɗoY!K`4ܕ"~N@ 9eM &j[t̒FLWI-N^sl% LF ]VYBӖȋsQB)hnuH9ѥJY,,#Uf~~Թ[H#S +]ᨾys'x1^|}j[릖-ˏ2Ѩ}q//]ڷzE'ѵ*K()SVNjM]Sԫ_0"<}Qs%Ur!]g L M[lB1i::\ bݸhИYIocl 6]oW'Uhg2Y|8@w3yX;^_(A`a>¡;nw` p ԇ5F S<7D|;Py**Rd-}J"+"q=hDca]/%#Ed?J¹QP8Hg'frZcJ)F7]s(igia zNV-Q]_\Zc8&g$xjǚ)\Y3TXΏRUm bfMl8Pȸ2haYZN9 z0f\J`u*gAbsw0$$nrYǍ-2L5!+,dMi$ RqWE{@@OiqJ'aArʅ56 0m\H#2AՒceALt@^@EF+TF]f^lؕF3JK[}J@,@K,mVRq\-S!ӧ&[޿6hȺ}Re<^׏lQr "yĮ%̂ FFq0vN/%I>7'`2MxpqC)QGb쒮)R@\[%̘RBТ䥨Q#"H"w!-?enX&Q<& ;!N^jJ m!\BTן0Ml00;`&\->5Qu2jk5҇5?ԈݽCȧv=Xaz\>}=gj?ۄa1ä,["r 4eL,[۝ j4&L`(҄{D^f f $nyXDWK. !zPxRՏdd?Bk^I-.nef,oQS:MYy|LH*5#[;BvTe&NG4!1 @KBj5&a״"#=gH乚Nb'>jl!#svǩT)ї?_sXGD?VBMtOp BVde}v| _j3;a\@Ր%iie fQ,Ibh_\DX`8#'Fm]Bm7MW^THc{m t}&~#XjR TdzI4vp ~QG+yqNNJ,_[EJ%J?@}GlAIyVvB.$cdZ@wa",F!|*Px#Bmy...8zmƝ'zگB›oUY]=cBѓ1*}&wt͜kHkF;`E/w3ṡNbre(Ķ!/mH iPnߍ!*y ,, ΢O2Ɣ2r|1&\+pGg(ԞiPf)o}2&~eWM9R{,n]QX-UUV.Y [IH_wo &)W3n Ph9J7%XSMQW 8*eu>8%$J^^cn%?ȉ8:\ mzi9*Tĩi fW%X`j`d(Eqc71yUufSE|6HL>D& 1H9REB=>M/ͼ5zصE'VjwoYM<V۬:dwL]'fVL|A| -+$*c#/])J[9R:-F^Cq%LGdj,`{b #-ekr_Hkm RPX(~pOHq.77cR K#__4OźoI=㙓u'9 vu.GuyVIE[ SD4 "mcT1feB6w+e3 0/b#Ѩ=10,|zy EEzb E f*OA&iGx_D rJI3:g.G}˪V!(u:K K>@=SvPg)|r)K=b4wjEj Fo[dݦLT\6loIf w='q[ZcMW_jjzDut]'G-%$ 6VGt̐Q$yU.!pdHi0/DLT2 I`e*M N8Is"DqxB N<PN=?.4G?cRLCЖ0*c~#>An*z%Ho;Y*|iLŲ^>Htz7y|'3J D»2\&gR'T~ّ[f XZmؙ/ɒg"=ʿ}vh2]ؑ ~*H9b.eMl_إsB[|ԥwťdj&a)D+(n;J;W[}kOKbn+S2AUT'I*`K=ޤܦ\+ARgQ+岔USzy"ˣњehXKPVNj7BN"FǶ2‹D^8z$nw?(Fte7^-u.2TH2 #A &Q9M 0V9^>l}QԗF Aێؕ|TiXɨDwzmŒgV5.X-lY?ߜ\4A(54z@'ۋ `ѕ.?6u԰L(94"dEz8~0O-:r%'*#COسޟZqN\5XAW{=[l  ;WȒen-])pdf8%r{|DLD*W\=:hBoً-q_qJRsVQlRԗl,a:T! 4#/(4ҌYs+*"tg8`">:b'iKR"D[ YrKjf=4Yj:4cip$cM[ت&^J{JKJ6O,$5-5-s%M)1%9^Hn2RJvYmQ:X DjcA&FcC1)A:4RCK-QFuFW 7ܼR L#+\٦~B y&% A4ny4lx#z;32죦ʸDkI+cuE֓'Эk8P$ƆuDA@) $LZEZ. %\@,2;tuGY4Axhn|H1Iא7\~t95=d@%=}rPN\.4 ʱx 9 t{';Wy ;O8Y6eGej#6cjΒ > etEW2[]6)oBB煆ހP.>aծ*"TMt~Tdʹ>\ ,Q8CٜY -$ذ1oIeה>J") D9!l֐X \4;ծۧ[ЩVP}VմMs@Y#My?ʙ )5bnڇg u+EQVVOik0AaEGzWD̀ 5c Hc3;&Yfy0,ɟ.FZE'Р8|YWAf+'T ;Bys*l`ٷNML!QrnCQVMVR-|Uj`*IN]G1tuة*]fynѤ9ōa wybęE1'F]VD9_7]ظ7b:'s?;YYpБ8[0VKfLt,L)e~3lfE%= T qSׄ~*xF1|8\ .i{% Xk02Hb4?CxV*yI LNŐﰊ%yDw4 E!6K?6KB>_o܏Kx5H4G "8-hj'D`I5Jw)uՃ jQ+_SYj1W@r4"d~s\ˠpv[EllndfBZtNvNa 4j_)I^ :6._ -;#.m`;6@U M(]T@qq]oA;\]W6KҒ^pЇu2K,BD$s*eVpnZ|FSHc+U/gc+\q]O2@$UNrC,m2hrjDP\ZOA=l,4gI/|O&>,HtE>,z8'%[rNap\x8T@ EQţ"D5P dLT4Ȟ)A& JVE#.!bو%5z|^a*05fJ+n&aIݾG7tFUjE;dSd57!xXE<5OIsa^X\H禴%6[ukPJ*5ڭCYe^"my2bAT(oB:84#6 [t{eJSIef|%P$2KCaᾜ-)Ed.x)t$6a ˕C"*s¾>R'Xl9j۪Ouz?3F蠪,(~+z>cd;"}6gfK&U偻a=7=m4j"M ^ ffBl#]Q SjM ȪX\I=ʔnď2p27[(&5:ךFI{$PQ_HXRRKqR[j5R1 ͯo*wUAiHA2aU+~B][9 ;b$g IS.^آܿ-DIVEDt A,R|R}5EPr JJu %4d;ZpYoD;Jű:iW* =CEK}QrJ+$:#s(SA5 km4?UQe^G̩U^SάDHe>/HWSZ}')I1}t K%(_Lr݂Ngn;uPᅤ^*C+K;";kADRUkGMzHVq*-MxQM&Β'3˧ILQT--l&Y:%J#fKiO+bSyV3 !>sMfB> \cHimRY{tK*] Z3D,0QFD)Z+%YK)RISfo0!1xRu`H֘! SBՔif`3 n#mLk~i?*addYP` ןBbt x؈@nuhHb^R'1_MRթrDhT}l=x俇HikzI, .ymo0L/%W-;tAd)u+,cY/Ji>uFuĝKiLvN\5Ti U1[9ˈ'|94 ڱ]U~;pPtMU5h^o䲃h\ov 7| h|Oyjл$DE5ʹ% !'sD]scSV ]uDźOS8sPl04U_uǥ&SBخ KD}wRuF \$ A}]6TDhQ]G]$A!' |: BF~-$Zӗv8I _㎼>PMbQ Y$atPB~ך2vnj0]jIubRd%(t.3 A%PdHtgblI :03"N5IvLΖd$H\ Dڼ)>¥\ rH"[D:-ͼcjMeީX#aXkmU60PJ CW;N ֨X F%2}ܽ t2]"<$* Y`qFDIlyh!$4V\BlImdEr &d[֒wH8X(ظ~@DP hӇ x-o!Hx jquaD eVY,lu/.`[jȱkgR6,\lM̯!1LQJU EռMLW"ц2SZ-x.T:W"!e|S{pΜvd2Z)Ewg[ψ0lG&XD GM$&N D άB(M#~J[++vXW@KАD9j/ SE:2F:NXTeRF 6eDT:&NҬi㊝>9YPľJTx]!o[JI ha,./I76]<{e0<$\ݙڈ`5vnm](I:IG qVl(]DLgvUa, t.-*һC/ث&VlMQ Rӏ D;lQt'iy0v% 1)AwdOv -En˾y_F\5Vf #Hk. m&c)qR]PJ0G'0NEJx2_+QxړCF@,1 ċ^-l/EJ4gHMKaZ4&p]q&.zg 1O#p\F^xC#Ss(>eG@4$NI bg bTTegUȐ 9Eti'Y @EOZVqXP:BؘS:{,oMlP]XwPC ,=jNiؑחhr9-֚y%z廿:Uyjq-?5+h+Gv`'}*eX4# Ac+5]>#r9 6e6b0C(2",ӸU SKZENɎWS8S *^ wJgTyEEQNA>׻4Sr#oH"SPW r3NKbꐹv}k晲BN\Kj#b{齏@3@b8h&rl14'x`R4uO$.(prNLD<<=x5c9KpՉiO}5Q0jAt"E>&a8EUYE?np!!p8:EެVQ>$q8MrSp#nOh0d3JHD:'0"b{}4CphM xE)$co֑6Z.u\ĸhRɼEkȢ͐A(ZB6j\?$Oc'zZ;s}W eN%nw;g$In[25Yq,XQ oB!9(w: .{$OnOS0KraKBnU +ms.]R|ŗtLbiV$) JpѢxmcjO4j$4oComK%v,[$$- \{dJBV|Rcn[Rhdm'_,zxjW;vn)"tնL"ZY݆2ޮs-e,Xx%g.YI7D8v(w$sB0 r)O-0`@) ƸģB  w#kcR'aFӶXvE^9e 0a ZI\3asU#-3T a\B 1bbU]\6pގ8U.=?%n1;jZ%/[q-_F*چv:w |&6hn.Iitȟ2 rXJNGѾ+|*i"D˶ Ke]*^[ /(0Dx*LBJ٤IU+xЏfܻkG.(lWZbW,bߩcΌ.p3 DT@sD(VDIR*ܪqtc0#= gCgBaB&׭ΞM0A38a_arJr]zDf 9Wrg' :DN(!!sp*cGa:(af,F*vCXk y7n)m֌G+~X,M0RҍR4 R1!Ph䬟eVh,R!#e*ҶT]zp@5W3Bc8bUDhC;\3k2&LM*!G'8RT]Ot1R8236 z q,Yc)YU})6~HwڞY3$[K槹ld{U ŝ#,e5IbwQ!^k2Տzon%z^XZ @(RG}~'A l GA61 h^zh90J )tʙ`xzqͩ!?IG9J_Zm_n2ԻQAe10M @:Ԃ/SMHA8SEb;٪蚥_hDJ[t|KVWLld1 Q^paF! 5[A^ )!$/\o_e҈ztB S+š|"pS`7fAzNEkT3 ،FJESA'lS!DRU_v6RBp&lONP3Z+]C<B $b/8H"W^-.ŭ|چ1K촃x?`)k'"cqqa 04nOBWCVF%U+< EYd RKc>0HaJC3'RwarRP9eNlZګB*rw ]ޑǝNI&@ %04>$y%(a"׊yiT2}[Yzp[5Q%g>6nTP"bD\Y\3f4_DEU# @J@i䄧nMrD*$J\*0C&%Oy+e}Q> [< $U9I]Hح=Ut4QT]QZlJ M2ȬmTdGUʪW3f}G2{o%L M9.ޓNfy,*89;9"GE keKLr1CY@=$a4ҋAk`ӒI[ĵ-7sǖIIȖ]-!k*XJj d O0]^#Q5VvW稶6UfzL{sIG.I}+y5xlCUk))q&?8uB80BXZ[Y4y.DDdF(W#u}2~R[-~? 0zwEڪ]raTTpQgNC)5^F)N>b􏯆UFRo"L& m(1+O%uҏ&R 94'{bSMۖ{΀&$ =w"AYY (ę:2| X6XpL7$ ҆w;8ŮB])cR@4P~BkDA(x?V p[ńؘU/4[^-0H᫢qEۻ`Ş,ֈuB,o}6}{!mp<pX)qX.B^q/z-aA ~dgU6R)ij;]Ec#BBIz8 T|Fy%]h(V,?+_޲'J﯐bl$#OUaL&ȐR<(x [OuJ4 z %/C↹paW~im` A|íHZzr0{ 1{ WShD ,HbOB%B%-+85kyHZ=z,%%$aC{ǶC h8H/13ސ/mG9|gJH!ȶHC M7u~(%Dd$9K9!-!@w #Ai^PX2}B,0.T(HIܳ΢[!)'9~Css i"Y'rŭ YP6:B̲6Y!@*0!Id ACf#}&~o9j6I"fJn Jb6XPA0k$97)У4U!`@{C N 1<*ZUsѢI5z8"(X#[&hbr.pľЭ:Q؂Аes8TF l=jx#`=Ț 9?yh8J(`C8R(LPJ2XRJNPbrWf1hay8{½ (Zk!(, 0I cX!Q+8+K +rw$С/EQd)<9pS @ЀҐqIA3 `BG1hJ%XWn0Ԟq \yOG_t64tǨ -))x0U{ZP=b7l4lPVt-EaBDy)г"¥e1))Hw2 $=D@i ()w7+HT/"@QA>KBHlP/ˣP CiS,SƠɃAT%%DKB BH*#ݑ%p$@J$*WV$|p[]"lMFF q-cѩv ,,xII q]xe y2#+N- Q'Bm%aw1FO3 ؎ 2KMIKS=.:%|N C&˔i CI7ݤl:$]J. q0(S` UưO>jg+ lYa1ثU~Igd Eϑb4% A#؏=|3\]e@w>gK_ TRuBF #dvX.F&ȑʈث#::1H?}}-(4Z(WB9E+ۅ΋|IѻNJLr9*T:.aϪ`4ku,FT~.6XN5{ QAkwg1Fr:ne KԒ>zlY'RVVBjI½ERƩ꼝+ka)DxUIhohߝ#EB2|%'r=Oו2 rIHmQޠ @/#Td]l), ĺw;' Sm!~MxlJtAq٣r6{/V2N+* UIi F׭ H !:`nP1,J-hKUcPFtu*a (%:/2kPekVũuڤ?t$X]-Vo,)3XUpy0dGǁ~NV΢!:Go-C",jdH&,sޠoW65S{ePR.*ΧG> (vo`fMSaBǾ4UC=ìia聆({82)qT{t3I76޶2hmbz[dsG>*W7~n" ,L5AJsx~VRVHX5= #%eM!!OBYHZ[Z{F$,w;k+Qlbt$eP1ϼ7H2h3kt B#CUFk}?[o4Fk$!ӲY1y0& #x2J1/b{۔da@TY'b՚= sid,e\+_LhɯRk17keG;Z3ΫPHN)C Zu-k%(ҭArKAc0ƩL>mcF F[YJH E ZbS(BXu⽐[`{"_:]A d|9 /&+{K`.L3kY,--zqd`bv2W5ZACNPW/J[5%Ѵ毈~>ũ~Td(EK\'k/Hvz5K| ux*Ѹ_sNhfiXA"e(w/MR'atC7]A'k0^(Lmcrp+,&S3"eHFM)Hd':U6(uI(إԼ0Tb@2p5F]Դ.н;8z#pg]؇H.DaF 5 1KFI~M%,Ir${Bw61zuݬC${ٲ-rddWGܡ$ݫ7I)f[o%@UWy@Zv >l3/:B*0y^0G'e/#0cCyq4WM[W:SbKd/#l+Uܿ|Eñ g;ڙ$"3IXre>2vaJ'5K")X$H͜|yAn~ڣ4).}G[GWqu;7~?^ L f85tǎFĉ2c6[~BE=1w_ԡT^-È/KXhsj0byCb%B܈O;!DԂň<"@{Q';Vtlw[݂)=@T'h@5az!SβtoBDy+L/xT?85ŀc D[ 9996m6&qg!79C4OFbed1t*ۭ;LϹ,fS h8FnD}-`rH)3GE̅dgmMaYyJ2RyŨb_q/X@Gns_E l.MٞQ(-yҭ*u$H:s"PTRLj2y\]h ?qrtɍG:qjyܷt  ֻѤ[)J`5w縁LS$$\(Cqn7DB>`yƸb( 2RrRƧ&Xze:˴g"A%P.eKH[\3b!錩ڵ9jArL9m [W\ڱ;{Чy*cʍqB)n]e'ڜ'#ȑazru._T2W$gg9HMrOY;%Ѻ \n2mWR jX7 `DT-H`igמpKj \L5P SܗIZYxIn"mn3WSOtD6BWV҈-'Q+<63JŒsL *{f4VPԵ1B <ywMV.dLt$28bz,F bnG#a}Ƽ_PUd1*K;լ!cq1q|/02nw֟ >*W _t6ky+ % 쁗)>S-R״Q⬄D%4 s# G2fXU^ &茧 GerfQݒILH 3Pݖq Sqgu@cb1>i``E !̪,qFB\Ϲ!=dl2D~u#D5=ۄʝ)J^;J@C?/|C]goo_WP6PL>p( i^Yi&].2ӟyKEEcL@l@\d^Ȣt]ca݅Id&M;!&;ezlE(_@ &Q]D|4=@ }Flޯu%0NuEFؓsOd<ݽ>|6צڌZ~d]UA1rU]k>[N%dY,mMC&=糨O1[haR1:s4|4mnj%[)E6켎#sQHHDo4ؠ2-@uj2Z=YELM$b :U_W>_СĹMR*·,8柴N7/N3DED{9RedwE!ᘝۢʦɊ!)rzg$:V'spPIR0˸*e@ :d C& #ȝkc<7 O3;זa' QÒ,8ZVd`%&5I|9+AС)eLfw"DGj+cr!UPQ:Kb{B%Ƃe6[7-To{I2R?NꮈRhMdS8gZPV{ŏ*歔IK03lyY߱ *8fR$*إuĔ*%%wI|𓧎MX? tx +>DNUKhHi +U$}g &2qPcw*(>r*pPT:7W3 fLےυu!4E7~D+> Tk򠉾N6YKbRA`Ts|^h^Np*b+Q=DU)ulW?d=[Nl p 2?ydPy5&L3pQ9"DKKSќMdEOkt6i#tDؼ&o! _S_'顡\mk]1[+\Tr_9]Dʟɸ\4T--ȹ1ZT (Xť H3W*$~b5ZJl>X,NЮGzr4`]zA!:PD(Iߙ\A\dofMBHS")MJmAc耓{b:pF u#X# =$d _n**)}3} _3y<^zD)˃X/ohaj(ftbVlFGLWo2 OX[["VmdnH:'*tx>jȻf"4)DbQ.t jSV3Q4Yg0 vxD>dS[S>LCZĥ" c؊eQ ʓ͸K[k~dmL_n\N~EVEۣJKs>S>xLmposIQ0ēaLK~\qk&d 0+70"F}r'͊l ":xΐ1E1V”u\\ Ÿ,\L#?VWᐈK`@+=x=n %&X~FFdḓy;19. Vsqa.M~cak]TvҁZ'ӄ,C: !3RUj.wƽiHŲAb58QYZjQ5)zd*/ze %{z8C=Iť >Y%VJR[XؾW5&B4@Xqa)4!5 խd'YNT-ⵋ Ĉ$ (4 syM32b\%PdY:x+ 1ŮCoieldˣЬ+ MkA,4qG@|BgiJv*9ms 8 Gd.VF 3Ocܰ0#b,} TRzB:R#ܖGE" `IfcLwi ɍ-u$R"G8E+P˙rr{\[@#E$"_:H !9+|XBj"%_,h"^ܨN~NdN)qx!'[R"^/2BCz"F`rZ*6x%jOeVf;Ak`T*.IPJ=4oaąQ;w% SNhRP4 HļJȘ^McHFyXCvN35"= hh- PG"&&Oʧ#"S~Ej?rd`V|4p(7MdDA/8=bRr{6,~,B'^D;laTtdkIUS7Ap3`=}g]-JD?sH/zD+C|E^9Ơ8n#;/9/AB'vY%"l*];Ye9DYh<.de2c ?WD# WiSJ)sZ _‚$j=x W7GF;gmj4!ĦF~P'$e^G~:Ѣ]8(ӉC"&V3lٺ7mcH>ĖKM\б'* "׾Ԑ?VF >ER'﹥L IO$ЂD`&`w)D&Fb*R&G=O6#bLyQ cqSJ^k?ۧ [A>ˡ?%)MjZԤAʼnbGap{8R4pxL"`@u͕Sp)}HߍUCVB >k;tDH!9]uL%nw&ߠP󉨗nB=a2xB-±"N^-K~eIϚQ,ĀI %xJ(1*].\]JLS)P7D>Y-\dFSBGN:zX1Q)I[?qu(k 3zsF&e_~PÏkYepDl5L!8⼨Z 1[Q[+2J"/6 XmS4 nQ(!. v^{RuTYzQ)G*Tlgq*zYTH.I ɨ mL`p(V!;PNc(CDL;̥<əKc[ (,,¨Abh#Ĭ{ 5NzOxQA<' \RLO,Ez1Ecxָ}ݔE_oߊLeЖH%D1͍2|3R][FDCvge!,7djUC/i~Q$LJE:&ॗ,ucvip@ׄ&k9Zmfփ-\+=L?&S[j*FvY6dt0QGXТ&. gcB/YqiHHafl38Ӻ{#3g%n9L\x%QvU!2)"\F, ˵U1STG~Nl4y Z7S|E)7VP'%O9 f%tW2aS.B:WJLUWL5ƳrIm!u*EcR$$؈ G#yΜqQf9Ec⪣&:9e0/$,>aiHV6feTfJvio=4q%&۾)mÄ+Pu4i9u_TTyĊ8Ȼ 21K9ML~WOL" sD^=gvh=R &{jWÏ2v? J\`iXuiP&D%\k4t dRbem]WgjιɳWfTSf4hJdJ@K|Y UOνDG%i\҂ b'xA: R(;bVԽD,a4"NG:Vb>Zg_hJ E&Х0Vu7 XnV!Y ~`*_C2Q mhj;r$iꐪID~+3_oefF5uCU)AkdN|_+O$!K$ 8gN;w%- Oe^C$8YC.6X&B:BݮbL\$ԦU. o}D>Ƃ؏ ˭E Ӂ~8w AYҮv$R[& Ft!,c*|3GQJ}VDΎCa_ g=CtR {ġ*.&E+~=֐Ux=)Z^]ԸHLKId7)H !B%-UKB>[a*nԏ WVX+dξA` }-MvEtA4 ~%==d]Ƿ)3xphĨHIHM+ItOu dlAdR|r5Rw"JMbGA:.sTr %e"jܕ6x T!yOXR(FY;bWyMQɘ8gV djLLg+,o̝F :"j"g;>S6]Ȃpy:,O,52i@B:'7)f \doKlr6J7S3Z9&I.9^o ;%tF ǦFI֘IF b۷(6tXFL"I?.aN{Nɖ]VUng&]E$uٛw9B(?R߃q0S.+aQ/ wv@@r{x_t[Q?6ADhY (h~ر5Bت(NR ;ډB\BB'l lh[%⩻4i0!GN6[$ UӪV /_qc )2cåjV#ԇHgBU0 D23 pq)d4(h($|Il'â5AZ ,R*l5֖@ݜ`.Ԑa/&LzQ A@dpiC͌1DmMauN6?pFXF|,2ٚPH)xi8AuZf(i-H\^?YK&tD<@DŽB~$W1K {wEDc,M)|rnfi+U*L}\hr ħ4^]'HLinWiS%tJQ.dI>6rbHm;Q_PQ'(_\*ToW3xDD g9ͰʅG%\HLJEန؆i۰dqs'"NX/Wl٨.|IF(ǽeRϐ0;,F$^JcWQIAI–%z=}L,kFI PxBdǍ..~-&rʝsCW`B&kĽlՎ.ڧ 1AgJX {b'++n(hnq5*F5QY*CTWKKe.:h/أ NL7LbX }Y `3sC1hZUZp1]'B:USYI10: IA N0m^glIV,\@& N$AVX$|yp t\6]$U^4'̪T:HU(!" tt Ho 2 gRt~C E2mtN Ir]B'W]bhe0\ LLʔ2@ɒK >JB>WuʶfXvSqrPoLhDx.\"406O~OΨmD{&l"<:ABd7tD8RL6a2L8pC?nRD/X"_<$VMoKr"F`LEЍD6xDp*ǎȭMNI$Fi]rKIC2`Xl1ۼ">/JK]T v^Jlu7Q & 0 '4:4*A:tImMK8T:<6hDw_)/kKg:3GX% 捔:`Y*Љb+NY,//xPC/fZxD(v{3wf1LuȐx6jWOB"A@.4]u;#e_5XnVvZnլxє#r>$ ᠛=HX60 ArEå>x*G$^.Q|@lQ[+@  N;y_M!? 3}wL/p4{~UTf(!2yHZZ1*{e.~CƗ8<3 =T&!S#ji ~MhʘTx=fHxP]dS+p\S<a/ B&r-c*JM)]%Ųl||H\dYaF9LMu!k>'>BE`[+Cﳡm!Ɉ'Ng$QoZJIVc+N65RuFTC17|R𢆺$Lۈ`"H>ȕ$MPs! #^df.݌qIjWU]Ф$V>ojYi[kWˡRasFas4f4](ilhI 5}~%Z>{~y'|)7a$қWXԁ0M.OhYIQԗbCľ 75Wmx)< M:hK> ]r)XE A$?n|/I߷ l,$4dh]Aخkd2v9aq̆"jKl8gzNrA]qgBd:~77:u~#-xŲxeDyii 0aGa3 o-7ED,cԘJtsjL5$6ܣ foszx*Ka;_0u$՟"$"h|xO*ϊ5m1H Pr"tF@gL5 ʖBǽƠJv`"\TʕR<Bϗ49xqf 3Ļ]vbA2W); %-?ڄX@,{`^TO7x|%c䨓QJc+H $Xpj!2:@Nm śP.J @N6,1"P?3NdɨմQK8`H)KJpP8|DfU"}FYJB~eո!!  F@e$hP"Uc5N [YnUJ}C{BC@V2}Z1ZKj_Ra+ցD#tE(N3b}>+5-T? >SBpBE4%u y<P4Z01Vb;ҽ8bbڎ=a *J%-s.>%-^q"{)r !R {Ut7H,Z\hU=.ڜ$"(U$v-F]~ ԟGNz[i YBE_u)#VRI^a ihN5<8w1K^O_F_DrP1E8$iZzg˾|WXW+4#V7DP#s^/G9_m+)f*U>"H˕s)%uSNIN5Viܱy5ّ_Rs  v4'H'x>ૠ:(Z;I\wàGvޘ't|AZdթd^ X5AGJHpHONܰDutFLw(] d\ATcsBdqT2A"q?M3G -"Z/r}WM*"S&\NTht:r( A ı6k|rۤ J5<li6~,|QBiW&΂04u*Q2BTHfvBݠ򒛄D|XЪG>>$" &R0S*L%"1@H7*,"$K_)th]«28TAȒuK;bGIba OЛ.3O>BT!ϬL &YҞt8*O3 Ʌ2<6\b)>k ãNPNyԪ*cccfj4"``vÏ<DI7YgA\6~8D kpT¾"GL-RNQ%$ۉ6f1)آ&+̍K;d7 žVjK{jeF[xFr/9t MΠݛd;/Ҏ(|~SyiO1W*'"אIBʉ}C8d{6vɿ>$i?&fF#DR)l)L~tC:D”9jUw& käaYXĤ3˷u )Iٝ^cXDGJ۩!.LS\+w`?(IDaZbw0c.=I^ " 1Z zF> HXxJ8 ]sR1X 8 ,RC52PoM0\T83%S' o0+Kt8) +5D) k6V˟E/q /N&,C N:[PLJ=fta>Buɮ0J;_B'UXsK~Δ>iEAyL'b{' N+ +ȷQrm$CUXd]*\,Ġꓧ*| lc~yTrh(ra>= cAމQie+lAIPqN~Ξ{Ad&g=uN)G]sR=ޫEʩ 5t+!H!Yb do%_8SO/)8Bs$X/kTHi zk-ZY?vHy3zMQ]Fw(ÓV#LBwlQQ1-Gيfdfn=REIJmMUFO_>S0鵼t^1QhPϾMA2%dp*z!}QP93C/LBc;ւ Gj"n""5U2btΡ DvTUu]߰-p&B+C[{k܂Iru>$v"QIEȨqq"FFWWw kA@ByTJIPD# HPd!)!] 4 `N8hݞ7X>QdC ֔-̩~N=bY=)#`#InВ2&־Qoasp{ppz,ڬ5D$=[a+D(ܔU;7-Tq*בSgNG͐.VuU("ljkJu')ltPϢ`R!On9&W49MPUFJ]3"NÓ-&fdCi^ބHE_8Q7w+&)WHMJ6W^SMdZ)a2=hԉԋyeCnelKD"Ume=‘4OUBnebZQ93̤%segASq^lUߒG[ T*Sr/|ך|Q{{22 y L`y1eFތuvQlNȂmrJQ L2W;jSs a3EHj0[{W7;_I[|Q봔۞" :ۇK dJ E 3LqXte6:ly]OD=%RDr"}2TIR~\ݶyΫ>WOM52PQ-gub^Ua)PCdːCk^-z\a-Rb%hH)”O3%DC"Tֳ_Đr)]ވS)Bv,#@H0? jAA h~^S,% R z R#M p(miYd@4ZӜYA`]aw7u؅_)Uҿ#t<|Xڊ5 #2 ǥ`%D-g$FY 4s%^qd9s]Dp$`'a˾s)D!.%J)'AV( ,8,e,TI^7\$-gs5K}[%TJ9'X{ID?Ő`\BC m̛b-BV54:)DtoĠ1W&9HALiKG3KjWnd1%6bX-B7#\S-LOh4Q(!ҽ5A$*+x/cb-v1PnY7Vx@Wmuo/,Xָ`6ƒPW5 TFSo=Nx&a])EX.lҤA7Ja D 1hG3hpS' p漨4Bb~,$9jj&(ΙA!fRI9nm]O[j6:HgY-L* ?iIn_n#lV&$R//%83`TuI\),@eY$:0$䋓EqB"=0%\É!`1`a9X0"r< X+lESj`U^ADX hTtA ȤJ\CBj"f"|g#R_~S%z|SaSM4`+k3ayeY)~O!BH2Pc)uwNs5bңYݝ&.f\.)R"i؜FD߿}NN"D%%|=R-q c>Pk0w/e~#gnˮ)v2ϝ) #]-.ҿU)#+U uF8B:v\eSw,S|űmKꒋ"ٟ9򠰉UCе[ 0eyM!*L ¤8œdC "b@f) j+(9i)EC5yMN_1h<uQ+9#QMWNХ8ƺƈL1!T_*_-F6YBLkGͤjqV~g5 &)KH?~P- ErɸtrQuŐ2 Zdɢ(\.JW03_;^R<厹_Et6RiyǓvݞҚIJ#=ưcIC^I)h^v+YUi}t:YRX1L$ [bIaW(Zy .*%wF9Ɉ|eق),cZp<A0J*2_?LYLƞES쿺Rq͖!(r*խk>oA)5Z6~#H"TJDDC \6Y2*3ˢWɏr2KnWe6}.:iJHUYDmɌߵFRóoz/ԍoe2mv!,e/zGGЫS.NT!};8J(@$DVRLm Yz\]c[=M.bmlz'EI wd{cʄE]d 0Ueh) f5[T0AzoVeqi#d>tKs1M4|6m쬤:FTM}ez]۹R}Wթ+n{HbY1n« A}#H.)oS}1Jl9|BIolAWV^OlTHo*hMWl k?2S,]/U&[Blܖ)xj3*'I*7ʼna8q3tRwUkJr2z)G'ru2 Y R@(Dc-8EHd c4@z (5/-\/2+ "yuiޤ%&uIDȌȼN!/o\lRl]3 sN9-)\TdW!4]OT0aULKr)ci#YDD1^yҖR]׿]?K{ylFJ۾wkRV .g7KKEr)#MR??JÎ G,_X1v h+!ɶ:F Cq, ֠Q ^K,sEAl4HwQC\.a-KWhcI[ZedzY ^ -hVJdn PbZQERDAD^|K$lNЪ)̜%) 8a-) Z[, G(t H@Ҡ9"vB H4gD1x®ѩg^8V4rtأ83 $B,$ Qm䠡! tu#FQ|f85ưq@5j%9A-4@"X"4&0+".b[ H{eޞD$O9QCْbL2,ɲIB{hen)MX@CyX 5:9A)0^,T_9!R 10PQ),BO)N[(0YA vU䤄EǤ9 "­,HB9A7d1/) @s RIߢ wp@0_k41߄B3pիV4RA8RyQJ c@Pe͔ު-$J*alXB$`KOJu$ Ö́YG:,Yԫ|c.51'3Pl VX/N -LX2;O0Pi>P=M 02e(W!Ç BxV X5#gBD9 \n$c)CPUf q3G n'U ;ϧ,'Xf5quP9e’.c*A&1iCܧ Y'bH!N,"D/ o+NG?raPxUjL&݄[qv(ʔCk2*Gy#@' #aXÌh)!w["WnB>#cq G. $H# J BmqU ~"E8ݘ%H8 9k0ЉpBP{1LI)h |U='%x yP@#^'/(,+`-`  U )`E |s' PzڔPx֒Td# A0|)(I,7 yPU,Rg*$]vI5bgRr8֊TqfxN@/$5 yKU% ),B Hjcx08Մ5FjBH*Ui&(`"lYV: ԎU%ì8!K@N}X0!!!,BEQp$ ohcCKQ*\E/9( (4D=F;֟ TsArXN M4y!N)hRҌZ`C$ᇬAaewP&Wq`.G?` U!cPp?EsS򢤊)ۼNOS}.W'N\rj_ RpU{W_$v7m={W/O;B1 IX7:5"pJo`/ Mwa+K.ݰCv{ < EdWkmFcHEV^T*ۆ+,B׵CqDJ!Nrh8EVlHr ʣ2N!W#0R@7:A ceŠbZ=vwC|]`0CEɄj>Y+괱jN ;yc d]SSn҇=زoT[)q>u- T~ ~LXw۔$#P5%`w61ӌ=  `Ej]r1B1ަt4@EhUu8c Tj TdXP*h L =*`uO0Z]ICP1U%F+wa( WJA5hf>wOdݩK!+!26橌^=%1͇Uc) 7i\UOVAfQ8IQ!QCLr3^a__6Vn2)2ν`%]U$)*qUaZ.R8bÄ_}U;Xo087Ogh+G2- |O|Њ#k"n:r1d ֍E?J{["갌oYy h( +&!J|%0l6ÿ23{/ N.1={l6+q)WPaP"7} ) M^vqoR8: 'gA 8KOV", Y׷yfm[,RF"}b7Pjk8ε91\t)[*L#\DqR\pkI"zg|Q:)Wҡ1+Kr Mf{u%`UK#iXD 6L벡Utl*uhu&C9F}=" # 8蜘%EOBáNET5˱Pb Qω #R$rH }ڑ@cj!"t E! 9væ@۱\BkGT屁5W`\S'E":~=:wQGq2"H dCb(~[oKjb1nu%eBA\'0UE|*~3`1 |w,%?5zG"UC(_}-2 A*v7yF kRG- H ds߁v0R`{BN! Ɛ&?q7c2(c)Pkw{ŧ-T'켟'X*n!S&$՗lwQi8GsjO0rɭ>5x QY֘w!=p•u 6ܶq7G`#h%\}j&&K P1G$D*f\Xae.aF0 \ ɨ+ЎV>j}£Z+ m#!@1N0hbtUI1nWKr?6B^3EDyj-obs,Jm~3צ

!/vrUb0V#lTs~ń tc q0Luh1j(r  hH< 1{bѾc$9ONz fy'HnlA9-qRvDu##`b'^GZ"XYA-Na96E:4I!EUz:ՔEzўɩ ˜'sb xG 52ɑf',ƙicE#aO)3٠y0)&1.:xVIXlAL*2\0tGI0=KYKV1S@"NKMD/xѺ'E_\$fK\ , O/ cX"L q<"|{0!# *)=!!r+/*sD ^V>Q& ^0ړX<٩%+CU4s˨ti"n,-c61cd"4YL=RLYF78\V:@`rarptlPבJÅa4RV.(˻&Ŧd~"%}tPQnj EV!Tٍ ?(.5 1$ *JF94MJ2K(f$SH1e8hy>Qi \Q x.R : h%1)y~Wy*0pDx=fja%;d41|/R1tVl#=IԌ 0SV:#$ mIFe~Ң$嚓  b0BVx1Rz D'~ܤ% Ń%p kyc̏9:š 6{ѡJgaR|YPI0KOClu% <xTdI{ Hpa kb,;{bϼn#J2ġLu[DžA J$,X&s:c E fPO7́lXСܔ"Tr!b"BSf98]H쓘(E{e?YNСBOH14G}"!ja5)Ew 2?BrJ|XQMU}rRNl "ع(% x%GyƉ z8! rHO\MR$Q)AGIR䱋'xQ.%H'?񏭾1,5+8JgbQyEfZ#;~E}|C(Y?̇5zT`-$Du۵{Jl>df58 Y5xI˒o/uR(oAM$U)&:>Fi >1B grIb0d?9wy5h0@~bZaL !ZL4]QǧRѲ,M=nrzš؎F7t(kkS"-[2O%u1J'NY]M;~=D$̼ÙQ gZA @KP3g#/E(6Y(1+Kl ф ( 9gK.kVy ?RbˇqrcPp-Wu5FzLb<#OxY+5Dag2%cByϫO j[ m֥L"IÍ.v#*Hѕv<:[< OY Pus7LU}8FHcuȔ @uJEFJ/wCmФȷAlnl-uE}}:m)}ez^&!HRGCJ~ :ZTdM\* >cCHhWH_&yi GI=Ɉ$V32[LUմi8%v#{z l:Ei*W~tv5A^x5P2Qfs})Xq{\ ;})$r̙\U3H_I,jb#SLxy×ycǡGW4SK濉 JKa,@ژ3ˤUTXOf3Qc۞ctQ#1#)(MS\ 2 ?\2 ;+&sעca8?h!_ cXmiNLu,n>6&LfŢZͱ'*|",'ل2s:>n#E]ѻ8icש |WY HרxG2ZՉRqNE2 `FO%14piO.+ B:ܓh!Mk#[N4JRؐזs FicƄ(c8[GR,$z_ߣ D skj,Iz``SvY˫rfQUcxV6 Uh q?}6-!|"Ϝ3ٓ@U@Vg3}vO:fzn`d**Y/%!7X™caq_4H{s$YC*nXy zđn8kkԮu+,fޏDg)zĂM} -eCgit Zrp"ÁX&" Ha$b^/7@>s_24׳GՃo0xVwE6ĞQW=%!h.eԨLF,c6WB1dl`|=I!daFrJE XdEYR6Zڍe'cOHbW=?42PJsjZ?l8 " k&Ğp5;PίE{YQ D GBY+l0q)MQD7fp5-cRpXz" =۳#dL5<5| ͊S4jL-T31 Ơ(%+$ Eڕ@TQ؅DCyUfc".Hdur%~F*2d*SW{ UME}KY\.{Nb(ZO?mܲא}} |̌^tK[vk ڞT# I|qU7Kȭ0UXuo2| .DOT?<9Lr#2{\d5g+F -4t9E|n;X &$^VJaΙmfē*qWTI@FVC3zW6աI3[^I8*LBb=bmO(Plք @;\Ji0ZVR _+ff B X\s^ħL3>'f]Y\o;j_9Nv==)"'&RD ~jlS,ODyOib@Fn5ϔ{V*G4#JcO^iʤ %>U5:1l\Hd QP_ qe4LsʠM-#I͑(uzj将hV"|0EwG3NX`ᝦS_U΍mozt{ɓ)lkO>e]uKڌ{A}*d. vZiF\$`u&Ld}}= 0C1T)1C Vd#cA7~*d~FVubk72PDI+ˍ3es ފ%k ިFy1iG4euJUȁ1=[V6b $_(+1 @%cVӳ^T5nQD(V>/ 7v4Fa<6~P૓Ua\bVC)`ⷀr5~ʨ"p}mj!jˊR9As }-!2UJ.T-:e~YpN +S{͆f( M% CB:_Ҏ%DG4Jԫr`ɻ>^6-n=qDmէƠڇx6 e.24dPQR4/(%͟FTٗJTO>$w Ps~@& +sGr*"=+m݇9V: 9(s<\/aiwLW^|ǪK$Xi7kVCax̋Im!i@#h>liӹ?CF,l=rfj )س1i BM$,#ό 4Znb~ ?F`/ȅGZ0G,HhdHN%(8u1R[`}rԍo<$#\NRKt*$Ȥ  nK@Of0Jq`f ʚ>5Z֌՜㝺OJHоYI~;W$On5zv ʛKߑu!X,0b`DcR8dm!6"ȓJcjR'S]pNexaAJnT^UB^Zn8lD/RAi$LH,{IQXZ%, ZX#X)%T@ ƛg\ĠB2RFkipC꽋'u&FCpp1dCQS/|kA8OI: D!2f|`dz#+~}X!?Bo25᣷/\ &3s޴-]VPcn@PW:/\۝#3m,m& aDmi?˥_$iDN9ȸޤWv+`ͪVs%GɦICI"d'y@HP؅WT 5CC ĥQ(0)4oВt #l9c #ъhм;Cɠ/l aA 3PD3j_up$|'6 i *-n N!z@Edvz3y# 0.7;@:R"tlbٹH@ZG⼰uVaw#2fR|/ʨ-x蒉bCɟe%5KhL0jJUrU)GVb~!z5'8fgw#9Ah{!TSQLftz89 ?T7Wh:XG=YV!$_N9t z$BΨ҅^媽aXUIvʽGYW_-$>򿫥y7ؙ%0[B, A". ;kDȁ0SS1$5{,I演J 8!@R2B3UFt\Wtw^L|Ў5~R!~/5ڥGdSNvn1d.te@܄}^[Sv}=0Łwtދtu AI҆筲I71V|̞yI&7?)'h6L=Z@2E?*]tHlҔ+@ v7 1UЬMN_ D JJP i gj/*gTenmvw ܯ Z-A9J~0B9R9B:e, {\Rx˺ $Ԛ,zKg_1z`D;,>hcu2]U p mZq3+mKUB3\xy5PBRbG.T FEM< Ur/9p1c 63Ͷ]Rd5niIniնw%Fޱ4x $JA{D~Dyޫ!?_MuA\'v.|iY j6*NR6BqQ!DiyW)]RtQ7@f$Gas CJu"LJ~ 8gLvWNT]ĮLyKD1ǍL ˀUL.#t%6-ظ+O~72x;.T` (L8,4); cyȞ*%c h^rKimjPI8<<8 NvRR萫s{ 3u%f媶q?i;UwjՋ$Pk]tplt(\r)!Vr:3 #{P*6FzUXAJY[twl]Ąr؍!:=Я(jƇ*B%fp{1ͽکG3>Gs_<`D'*W1Y A J NɈ%N 3+/l1FWɎ0i6 {RlMN,ᖎmknAM*! PY5gFew{3aŀ/hYD| ʊ PV$?=FsxY&%& A2 ~bbƙrRm1Q)Sr#k2˘hU:iL_0ذvB$rGIٶ`EhۊypuX.N+;g="~z4sxTe^P٩&C%cLBU|4-GPf0y6 euR32xF^.8?Rn&@]I@%`q 8K;R&^/!+QC3:~ER"7L&c6#UG|꘭܊> e2W>e' S`*SnA (YAƂVvKֈer1y$qӦ`k9.$'w  :;lļ'n%$v0L %ubf]hm/Wg&2\fЀ T Q a,%.trH F}VXͥƽo)WB-vQMFu['(!xv[`4Q껵m3gPjA3 {*Y$S'X\}"̈X&`l> P#œcYrW'%${BJs'#m o&&瞌vK;@n BZW`h"TLZ+51Kʮ9>$\[~;}z.$-s Z;~A'=7,7CR]+)N-m Զf |Kg4 :jZD̲Tg؛ޣ.ҍJ]OW:fEQY9?က44|B!5bņeCrMXD|.RQfF`ۓPQ!DD2!cs=9 L7)LB)%B|t+qPZ,W g#x(/_=Ri$IɍÒ +\=[NΊp(LtKߔx@xy4R#lҭS%˔s+ZV=`\ڔ%lSߜk?tɞXq!yK:txa6A>duJC= +؈4ճbG8C\p) 3SuflQ֜W+Fz,h(sXxHI.D۝nt&7UZ"enMR#vg>Z $+Yvb1s,؄š^2yhMl{ѓTC0z85"q7 FP_?Z5=V[vWR̶z3_|*<bѭ}4JG+x {IF)YG~X5|ut)$n RyRzgmk91|q1(cEF|7*/o6~<^3C >2c8ƵEbSKѫJ-5LWKpbQi_bHLĵZ(9 J ~^҇RzU**yTʺ#YaF/"l7H[*# fY));dicrp|C$ZgCf!~ ڭxR62^( 8xSߔH礼V=Dž&ܝX/KBn)MiO@giNw3J1u.$tv)(aW[9fj>ULvs &I߯'_ @ dA E"F?pM1b}f׶Sxkއ:J3ТU!&ڋ_Ƭ#袄T hb.EO O@/-`  U2_—MRsFHA>J -OuӋ% R4fĉOw.KicY^ >,rTN'`Ka 9/L |IMi@j^rL^qan$棣`8 G՗nɖS5,*xP/n4=ⰭԊ@Obk; 7:J޾ʃ] 1ijՍj+ƛ+o3 dw(7؋M@B*(}꙱45dg+F$kYK :Z(Y58Z7KR8[V-wwiX qGH3HNaќ.%WlhZ[Rע'd\=1GL %РJ'UXɑԣ?h^۔d|-l2zOH]'ӒkLMt7ns޼,8M̧9O0PqJKim6QfTze #lR!\ǎG:-vJոH/i,WO~-8;]V dWSGιs>+:saҸ\zok.qx-h_!* MZz^ִ-ӂD"g͐KKj Kv5gh#]DCFdH1$?D+pRI%颳L|O&`beKE,JD*L H_"h J,$)R~]^K?#y XY!8")!$VQoU.f 1JI};|! D+A%'&ITKS.vQ6ԿϿ/Sm[J{ai}i/ }kS17 8)8LCa%e2K10(=;]踀w)3CmհX16+@PI ;{0- ELY!}Egb9/թ@HVmf"egө 0 SQEF7=dč>2HL28Z+rL+XZd)ŵ3&&mZE+bE (%H{ fBH\0azZךWv*W^ =^tT  X…J9Œɘ#"4(NsVK$ 9CCtA:ʪg#BP#[8 ^?9W:3C4YCq<+ciFf7LG'a>f&x)rT;$?T{(Kvgq4c#5g`)f %=j(dPU+'6xY{>7MhHs\0%*26x p uF 3pL9-0\fjL ~vBCN<\珕];+fPDŶ9}gj8``.(UNxb!;-N'*]+(OI=|h@*dae}pf' '2еkŮS^Obl^E+@9a2@\D8)UQN+/*3`^;wo`ŮkeڴMMN$B2|g{NMS\b{ S2߮ikEx E(ؤ\]Op(hD)G"d<<u,$S ~Zş ZlIB,4a#^2LT+D/3QKd{G!]/ 40|"vtA`v \4d5"+IX< L -,|̙-T65gqعp\Df`xQY/LaբUJP;n^L0|hW 4RKD4DJ5Vc̏Co!?ޏ%1ᙱK1+:Klxt-Ca ژJ֩ ,( ; R18)m*BACH/+*ܞ}VADUȐrH`>+έ'BBN²;g ?tRQR_L9IEƩ:^%eF`a"lF'UqUBHz&L'!2.wj(& L$BB"RfZnـF"ax )V6s{qDž.v4;rȨQcAd@l^#[ƀpMEoDLVN[;@zF/uZOA1`4_p;+# 8u! .e m! ?*rOv/jyi}LY5tZ!8@ľhV@@˦L:d+V*S F4Y%ɬ%vIZ'&e={~)T^@5?K{ON\"ٙoVJ'9bUP \&~5)syWQrPGeEW2^exGXzIc١q˗I+[pQ-DO ?v". I6#LbTV$4紂..hb@pk+ƕ:U*gSI"8-9d'>{ElS&F7e'~yͳBWiHFe=7UTpDjhG$VL|G0MW!ğ2S"wB%g"Ca5u,C׋ qͭt K0/ \71f1)Q=NUFt=5~\ `TGhK',kdBi2 (0\/U!KtئOk)Pբ~9IB`jϤg#W A ƵLVpW-I Px0R˸(l- qec`RQNo <4kC-̒tzbp nn*6&0C袉9 b6MApإ!XXJ")!b/!&[BNP9/$nsL. j KɇngXęF/@ۍńŢ&*}AFE.5<){d#ql.+iS=1 [ԐԉxV X3,Zd洱<%\ڠFpkXn/I4,gB7Od=%qcQvnOu)d%'w]e#%.g^K<RD ܗ"Z*eFT=z%ƫbb&o;ڂN*Ufݏ9ݫMVkN@8fj:G۷YԻZ<Z 8" JM~GrC2 iMr&q"; MYiz0'2dm7}#.[o;|vQ>&₋뙥˜goЭ7r]bd?<㫹?L'Pv$yg!cň/jFI>ђ=6wB_Rb%Nt-ԳjK40 h*)Q<3oP~.f?B wQNb36 kC*B^b |}8SRq"&)) ;g_ǾQ#EdgݪH>9{h6QH lSGºԈr~'Cj]7m>ιoDk/Gun  a Y n *\ٺ9ZNem:tP;Hmnt!7; M0$!YpHC ys- x|$]% )DpD!YlELPaʊ\^E) I,"ɠE,[eaeȆ4RSL#WKG'Qr i$'l!+9i4M閴(p\ݠ܆ KH%o3~ڽnX(бTizoȽ&e .Ī߆Uk"ҢMA5hhp.X!%s& Gft(F=foE ۹]:/v3w^\Dy*gf\8A6ѽ#[@yD}OMtB=ӜPyl'h""#!m$!k"g*&#")"""⩢+vp$a&>Y ا= @)_PXW{BDFrf.ΈlqZPC^-;a=H&UJ?zK OW8}61O%)$)4Ɯ翷6OYQy"Pʆ…f&#YzpȄg "C""d N[WWJOUG[Wʹ?^YBLMUd;sFHUЫ[(P-,{y7Buk,[M:UZϺ[T/!^WQI'y-n;UH"ϻY'V&|odžcCK{2Ml h71^S+')1yƕH D"crgmVB6xxzdLh@: \0oڧ"M b "!bQ9i1_Y{K^-ӝ\M'ׄ7O(G) f "4Y7Cr&bL& k/$8v1 vF6x,VYX񃵅 %b@}2~Uݠ@D$XE1/1YzF9grS=C zvQg_~Ɗɤj(N'+ÒeElQCm&RZz̄]NR/N|M,t;@pvMp ܕ&P-؂:+D}-NtSSek3,,FDo`'ƍ)IL&HOP}f4]/ϒ/y<^36xo,G˄i=09H8t~bw|ʠ'qsU%̇DG4u5$'=bf)y.l.TgT䉕2(}ӣvt7(fǡ*~gh Eq h iZ~NvWf&գ pV&/^bv[_G)҆:we?^Jbd+k T$DI!p|Ƶ8AFˋNw5gsU6da2b$E\D^?.b#>nRQҙɼlVTzTnkzR:d{7rS3idE~UpKxNk&趒[RxI_u/ugH`Mh),[K H#^"5FUȫ7Q: E'NN `^HC" )n $X~ @N3~^b/}H_cQ]eReQ9C2m+3tD:*?xJiSh~)"SiAJQsǮϘ8DfLQh[01 Ki՝#'0uN9bnw^t֬U󲀜2FV>krc6Qw\Q9q:C5Lz@@AE*;a2Ͽii@o//q +a ~UJ8*$dC<[` 1DAJ:it Fiq9:8UF7X}>xd2/>A7 k9i[=LQbuPFHo\ NGv@Lwf( PeRꉅ!0^U3Z7io0X }DPv}naNѷk7TAPHf8 jd$.jB衣%5)XBl!4PHF`<6J>RNP](*Q͒#ӭIFTvy4NR8> xdN%\B?@6a*,&`dcTM2| 0NBpDa|Zf((0ˆby0t4_ Cg_(ԂEtӲ{Ųϋ㴛2&FV@)ԸFs{G.ߡzU5mx_]~~_9`r`^ ~~sHv7AR\C7#&uPejI)oKdsQB SJ;BTذP1B֌m&}SU:?h-",Yn(6uSF֪eRBwZO@dSID -cEʉV=cF}Vdb׌zLk?w7PdƟyM ,]1G ;`I hC>-ݶpė<&4( m7( .Ejip*ߑ=Asem~Kp]KW%v $p'ptEJG.&?u8)t^ke;v7V[Lc"!ʅؠYJ?b: 9?M:k- J6o}7HdO d]MژЖ<iN: '՟*{u,.eO$y{j'1rޝ+ORUN T$ϋj=,ot \%$H2VeuJuY}tf9 uʈ@x ۙ֕6Tݢy$ֻ۔m[o_|ȩQf-$%;*ce:Æ)Yҙ˖]CP xTWB`cwd&%pӔF\f&;u-e$*VC3 fCr3d/JEy;4t`lB0+t4[b# ,b?2TIFى**C4cK%Th0>FO)q&݈b,zEg35-^Lt9ܩ5'7J93a3bH'LŬRɄfGm0R$vسf,@eiK]NԜi t ZJJD$)dHLqjZl"5[<~LUrK:I4 nA#Luif1VSuG|Eʥ>\(N&J\}&B&_tw8r$ksBKjh$+htj VZBKTG^M%4C`)H}%CB}}/]%ZJߤoKyx4Yjo6&A HD(K8ՊWmʒkY|ȓxtH J{M#C &Y5͋IWl2LQ4 oGTа̋fN,CD ;8ϕv:fDRkFcZk'f湩DS~ԕ2QyDr :gr nl.MTFԿ;9LF[/t~REKmrXҺmǯti6+e.~ ڑri"'h2B>Yr«棂|7&*rK-xV[轮+HO-v-W\䁌v(r+fWe8?? 5oPh]T`<׭\ި=:`Á0/n[$sQu$\d DUMR7Q2J"s7'%zTAyt-#Q!2uC#5ŭ Q}^ ˏ4vIw0ɗd`5"7JJyJ!^ꌹS>9P#V| Wo r̝juh0d*StBvMڿ+j}["eya rͶbluw\a+-rJ~4_<)\Yr4s$*&Dwbd(hA;D"qDG5\4@؀X\6ic#71f˕$ ݊feԤkHLnSF܌R1B-Rj"ęg%InFqc0\] 0K8t(G{Mz( wLltiD8,@֨(Jz;nɈ'P[?HvӴ>4LwAm}:7|j=r'ZNWS<Ƒ CcOY($[̻0~J|]z|Vl7KZzk^f]*EGB'iF`sŋr,^w| pGE/1:{}ǤcFXN k$9ΓSFTWNTX gu$^Yjےr(J 7J _dY1lZ”cE0# "k4fUIbK/)B`g1 ^(ܿB6S}٦,k`/Oޝ~tLs-i-M;0H,"0 'q{zMnkcn{ﳜKb${y(]ZYM9t:,0Sd2٩y ٘xo}~I)v2T||5vV I-պ7>Ox|XjKuIҨ~Ul"TWV4fCknic A0J9&PZPm߳sy\,eC'd܂'Cb'~н)ΗmZUko}ȫiJXPZ^X֍ĩs0<2gűk>V;b>!YyxZ؄j(GO1%1OˮA[>m3PM|5oOIa6dHW)-"VOG^cx* JO%r:`GlM3sUOԴoka1p @ q4 Z&XZ C%ەg5S3m:ÊU*-Ti{MW3qazDQto^ Cw*^ J+nY̸" i/~NjpvY & D̥ʂBkݩ" 1< C'BʸHYKC{`- @!p)6|^$C1DrօT-2̷ ]#))H>.Y+#nf8Om; H'S{'ϳc]5VQrB;힛Z&(jq]YE2T7eQ56RʎN3`C%|!%}ٵ}6#>M! %3fQT[9$GC!Cy.I)"AQ ~_t̾%i09_tM5^|%׬H:0$-Զ:zŎ3*/2 p;дzA|mGۻjZyZi%Þ̙Eʖ%#OjYO0]|CFB Dlz@rL-BCC1a+љ3ٮ DU&+5aN /,Rr(89u*]ﻵm}ZHV%Ȓ4S1 /jtn.Jox,y&ߖ' ' F*]P@[&xJ\u["8m=GaB$awόq}4/;fp;iw/(aHulÙ[ @$FV .2)W6Zv&82jhW蛴; Ij3"@XlY,yQ]Y|Vfy!JIKJNXv1֬&j*;-:_Yjۙ^DIvc`y_*L5OmU5'Uj#K~[d&%IV̄Hұ7^ DUYqBVUhQSl' vm'f&0ҼDpɎ~!}WbagX, W Py%+5u}F5\6 ;x cIG!$?_?z+7c{'K&,[.r(љN^wT'-%FVΚS͸>|$U*Q^!&l3ǩ@hִ77;kYkQzj&]sΔ^G a"C@ m<1KhCA )?bVSL-Thאf|WPYO)fpgAt,+8*?`i)ɹΎ6~H' ͑]|S>ٯfu=X8id'Xki.[s'HX*{8V6=Ϋ!K =;8LߴՋú@&sM ء-nuYHy#HvIk' HWNik4\>"=prWE 1["JXSQ&3$E "fWyDU.ZbљY%m1|$U*D/xᯅwPiGڡa2oD1 wgE@E5QP.zU#DžP5Qy BWWE#m5L9δIXQj Ds_.Eh H/{䭵v$ zZPA54~9/">GAj >!IRJQ On [@{f07!嘊̲P5)ZPɄHda_h~`Imڤc̎aZ'Kױ\6GXhkiT $XeJqdEnˌQIs96+!0Y}L?je938CJ0C $~# _e|yOF l~(aZ8>n&k} C&OT)w[K" O}u&a?-7΄_pblgu#%@MT2Au*ypWH/58b&[AbW)"Ƃ\/E)[1',tY\ Qkw/bOr/D˖ҽ_ Xbs#Y$ x. `>?bm _LF$a)$(R$GWWz 1r@szx2&(NJO6-JTFbBp'O R EѹFX~##R7Ycr7ԏR2/)P%!3o >q[*I{&2"'$Е0[*m9_X->jD ~>U+VjZ.vlDŽq 0d4ʒDs7) |!gGݥu K17DV&$pS -%Ykբr{VSu_:(F`nW6v_@ ݰ%A mBVcIiÑ9sV.ַ*QWµҔ@۩)y0ϪV] KE:urE{hf!@4-t 8c44q`EDdAtU55_SS?ӏݤty 0@Vu:4Ixs tɈչU [.WBҀz& Z(Tp'_4AvE)ߣ谜b'd  Y <&l8@^4 BVT-\%B~Ad #a,G=}Q(rtSaq&EFM~-TWq^dݖ. RZIȆ'eGaqC? ^5,b$nbPN070_JXuLpDZW Lxa~f4ëbi_&UlO"Z|xr}xBipLDdHq#I,TB$2͂ldd M1THot^2@љ3%9a+ǦF$ [H/'p ☢wMb/B,Ru {)##շ \CSW ,L|!수Yr-XI5x(KRXO["f؂Q-"Ȃ<5~'mO'K.bJ;j,>f k uܛ*v0]TŕpF#v[ -]+!FBUF3/3QqIc\^&.ʎ]C5>$=#v.Qq3R*/,XEKcT(>o%̊U%[#pDJnV݁+@)>r>.t0.cګP|Hq&#؟ļAǔšF' eHWmLy=-D\_J~F|Q5s9^IzLNEƼj$NPgޤ] ݨ,%иi娥Y}'[i죆JS3@ <'K~+l; TZ: B9V%TA`IlJaj7yU!\ȕZ7Ѿt+Ά! 0Y%WR;(H C daQ\R5LZ\QeL5lPGN$ɉڦ!f3YB̔,BIcdX-$H"ɷ^ @Q"O BB#tlX.+"Y"(V=Yi+S?sw.΍݆>!J(U[wEC|j4Ƌ tj^4#pץ}4O0#.-ns\V]y%ЧV!4dR#rLςkP(>.E( ]a&og=w/,9, ]ί @s>ي35+Y*UUnR7OPNnyQ!.̘yJkhEwy8L*x\f-T oH 2RFXF,0a[xN%I55:pu&H\nʼnz%2@[8S#1aŐYàƢyS`I/}-I:wVI0Jc&vJ1*hK.ce-YsȪmYI9Ä rl*gk>>(]+2+brPJXxb1zGKYcX& ,|8UlaqJt2M.5MC/-pCʣz m6)dHD3ƭS,C] x1Y哹x*RRUI }2a-,sE:C3|k!S7 @ہB>Ɠ?7w$DS`!Uf~|裡{$r㬑<{ T`J^/HS´pB0J,ʆnt>:1hkdzeԵDVTv$!8Tic ܠ0gjAYW zI<"Pwb^5ű!lcwd;ur; 1⮒iWMuVU%tMڻcFsP(IUUi$w S罳E+䄟kV{$ $11RUYW #[ 'EaɘU_MF 4[N]!D)adN{!Tm_,uqW $8]1rB٪YI+WUnG& 66`7\p\R0KN o7D#%r=hg]Xs X tP C \yH"\TV.54S2^ՕG}席y4~oI-S:iQa^G𥌵S$tq`Q$ݼfסNqp/Ll}] J"߈VfZAc2NV-(K~Ss"LG~8gV4F#gjIҿ`Gi(p*;ZeMUqxyp4pbO!>ϐg^,$CXʖ̃'Zv!n`/\l/YpZ r؄iߤ2 Uqp[BކIe+; Q"S.)ED]lmC}̀"1:ިҢ}us7!=j = BTxow$5vk}nN-b7n)KU4Yk fΑY ǤC#*P:a\E4v-i>k[}4L9o8^ڽIjN͒RCSaA7Ɉ(NytAHFG O _Ah KRt|ݰR)1fpUDNS^W@~tke!]~ĂaXjP6!!iCNW3rG [6@Q=mT1~GeIRu?@V$1yƭHEL'[HێkˌOmd4NlI:u$yQ\2(-^ȇ=H C 5ܺVvɖ݂^kTвRs8 r#wG+@zYCTbHBr0}oDiS)CTξ<2A$\ꆾ!e2S՝Ro1,Qsh~u$;eVN`ɋϸc*9n䊣d*ZƼukP *lnJWuagH-*KʗZ& & |mGCrٜZOs%gg-T"_5UD)?,OFyւ[$\ynF5/w|ǚqt{i1ㄑ"^a`* e,(M2D`i770Z]8 hJ̇O#ϱ.+" \ .%mD73د 2L>4Vʞl[^TRWqࠧ7zŔ~7x><-+7)3H;DQҪ1NϒY\/\D_nFsÈ; ՚@̖QUAQdnG\4-741’_ptf TB3)DNEC#[; :zG,-Ǩ R"N6^5/,;1[GpK4)ΫD`Ţg-*k (~JLTDc'<8"> O\Ny6*'USH04esfB]LitŽȞԗ*![閉%,//l>RʏS[5;p5@KȞ[zQ*j4oGt&GCLAV C9Sc\`1MH:[Qym=B]4AwN.ѧO^1I(PEBYNHνz,s\[SٸBl ca3 WgэۑҥVWM/'4UEf93d kX"X)F1BgiG7f( *tCDDKFfu(|ɧe񫎮(/ q;-,6<&k+.P[U`ҚqHUS!7M M ֒C%0ٓ舃\k\)8G|ݣ-WԙW^N/Av,S 1or6d_I4N n[C@!iF]ҔΐL*Uxŭjh<^V>: f"<%938Ʒ 5~61Tem.< Ofb֔GΏ']葔kRJp˽[-'J^cl),ω㐥uE >ʯ/UEIr{xϵzjsI#Z-BB+J #5"fSL*b Q$^k2_'bcZ' R3;vOlhWV<})Xmx4n}ZIHtsrLI ̫!a1 }b6)EtE2B HjPd O#`M[46!)JL$6h$^Q_W21l:Dl*gRtJ,;ŏ%='8^R髉-7l $P \ f-l'97Iu$NAT^rJRGYͭ1$"mN~GIT Cb"d8h0M&FBJSOf|H\5~M%] /yym{?A$ /07rJc9y)ˏ%COc(9t?؀ꎕKOBXVGJ "W ;,Ym{2 $2Cgo~."t.̄6}Bkvh#,kRRF8"~U Tzʹz#-ewպ^[)S\8EYV6]ƺmz/YrC ڰCׂȈ3@>gȧidˁ<"Fi؋h!f 5Sx%3&Lj{9 (7D l) MUUэ(# Ud^\.!gۑD 0&G &>k_.+b[J7>&\ngk9G"'{]fnBX9F__sΔ&;c[sae%b -oR05h2S&Ӌ""$8;S+G^,Ҹ|)Kx0۔` 26[ a'@H$U:\8ޏ 꼋=T7B 0ݕJ`JYǺ zt9 ؐG @#B ]Q>S\Ad!(S8]Y{FHݦ޸oH_Wyhgn?2fڭlNLL^p'?Q'YvK ݪefAQ-Bm,.mkIuzQ'jE`݀4T!&#(O_'QZgh<,wL9RSKܺ%|ur'MEoڌkȤN9g&{r|g1qKpt>t\Oej"Ec[ r?2%*fϷvҫ;^T* [*LEjq~IU4F&Hh WaD+_.&k8rWwo'[e~XyjK񯖸%sHhQ*p]oHJ$8OC[xR/k>Y"d,_ʩD0)c# GZRd'2}XȊo`N_9QX o,E5Mw~usY:3=JyCJܗok9 f>i%g"+*vL{;U1*D(%Uũ. )c23WOk2tiFipL+W b_^l 1C-."RרalxX I1 ~bp,/nM!.~hk#Wt!F͋$EyFXzYhAa)BL*5Jd*X$%V::i" ~]2mm|ot&SO:;&[@t:' US>P P zmV{!WS=9u L"Յ }$kRz 6dNC[|M$ B No3vOAz&Nf*5 ~"MƬ@%yEЍsSRi\v4XJl]n1N@M[5$wĝjXxU5`PCHY/월fks,(C%Wwe#q^$@"f1u104_$,Xh!"X{'XѦŵ1A\62ܴjůln*ksQ:UY?ևhO?c ׫. &>CgӴOv {ӿ]I=3GQ=eU]R-U'e\Q-I`u8gVǴ|B.>a= cB>#+y}-=5ԻAXmkߋS4c!qdzep8ԍJѤokfO/l?oS*ٳ;/-4ҵmu_Zt^ %:{E}m'vJNLImV6YO{\dU'ӱ<is>&^c@[!bIsB8qNVVj{. U! LP@h~E b,M=g#߲ |yJL.׵[SU/\W䊚ת4zìe5yfR; _7ԮXY2A+!x}M;Nc[1Hɋj:#Po^)G>>ّKQ+BN)UT#xT_ˁ:HbBLk%FZ:}lJEn xtcG{ Q"MpB h 7rOM- x ׍!,Hz]Qe#/ѥp8jnmwOKldԫ-9`z&JڋFR&AC :H$|\=4DGLC܆0})'}Њ k{Vyt)P;W!<8Z+Di*)wT'E,ZHG4Tߔ6c|0VEL*1r (Zk(i7!Ro#Wje]P{4/Pifqak3KIL}2R ((bjMS1yI2wUBC'^ ԰2 D\CBo zـC#V3)%7bF?$ ј+#[! W-J攚,-4.5ҺpB$-P{=_wTl}?iwjl$_ GWBf;oF~^VCH`[:ג+bF; oT1>ǰ\2ث!pKBȒl*L+ {:,n.v}֚OP}JtAcWRD HOcPu 4YMShd#fof~/MŋGIӻ/ZQ= 15qRDoX:lLN3]2j9hX3"8Te ZZNHYel+s`.0+-F X#[N) WjϻDr $"fw峸0a[StAMde#ft-?劃bji8'XBcܾuMVA*BEyk'j\v_#RLF7?]YƉr6q gLh(yQtq6a*IqM裻diԊ ]pA~W$S_-/Hz8 m.u2u"g&!C74X)4IE S?B"w$`6rhLI(N3ߛ4M-ѧx5= 1,<SSNt4UgH֩I3\桹lg)ms4X&>w:r idZ~$6$A']b +6շ'[6u)c+"R' Eۄ.2m iRbho^jl(rNSF=u|J2;(ڎlv6DBhsFڡׁ@x#< RB?]OM;Mk%%/Ѵ.9Y@rreK2*J@SG_1(Ht}\PB Yk i=2N9aIaOFұ+"q9Z[yza[7Wt4آn,EVbO.ʊ@Bij %y#S78jU" P̦VL}6L>ʯ$rIFn}A-E>) #%dNtW'}&_\XIRRӤ}cQ\0˛yJ' uPI%ҼC>!msS)0X;yZJr$OAiH%Xс̀"{6WصK6EXiZv6b# FJD2F5(!<̷`<#/e8R/H4Hm4^;3Lr/hys'4`[F&=lFx53.I0eVGs-YDb"ƴr X~$hdA!R@ {;멅r 3k`F559n!9*xL\`641A|hib2b?JԽb1+>ny-l#0~ .'gt)@ 4,f+u23A4 'R K  6vG$D"̑V>i^t'M% D$sק2'F[70 5)}xK0f.n0%(OKa T>TKȂb+@E&-eP.qbp*V{6(Lf8R" b~ j^ߴ+€}(ARFA :K(_4hTAxÉl5f{54ti͉Y]oK P\'ckh#1 8z njhؙk;~Z.%[cJ4:,DIOx!'@CƎ]fq*5ә%mkEH逗;S9BpE~ q wBlg~;j]`SPZD<f6*=("ИxF"3!Фٵ*" #EH7`l^Ud(nHjzb*q7Ee&_7&Є @z%")%x茯]U.c 7]# }c$M'smY̢IɅAyqq{9_uѓ.6uFVR}^QzѾ"|FJ &imDԪgWˤ^YYD3)ރ=dڶwWՆ )N>_q_fGG"-~~.Z* DdAp NYenMp0E҂utVP'C@9 e F8cØoN.(6fs4D$KeS ny91eTRa |cVKJ4͓UP{~Zع >Z~WǏۛpsb=ڨxZ+ |/8:xa<"hDlpET`D^Vtq̫ޫVER$ Cgĉwͬkvmdo A˕a1ve+ԕ$%fJVr2ͥfi_LdFRxSKw)̾bm%<5p8:"m %Et]6TZV.ͪ&9LDf_W/Gr C" A^F% BYV1)h !} *SO@0XjjԗF>]_3S/)Rj3w b~|[3\6g(.WC{~OUP3R s>U-]lR~B, œ,L>)_.rE$տOٸtZ}v]+fK+b\!E*K3Rcܫ"  cl$t1f}$yH>`|'%(UQ &¡jJKy_eKi#ȄaT6jhɨ)RJ  N H=1]&[RGm}WpEͦx|rL{QAo$R*0CF:>hF NJV&b<ꄒz(#"GgӇeN:b 6ٞ*4FYX0Ibzy6C_jd |7H)pSFS '%7@]ø5j]sFfo&t֛rd%>S 8N>1,Sf".43ȉJ2= *ؼR3Z`+am!3R(DlNF nvG+a7DBuAGMAjO/o_2aဉs5 +(&/^2P]>n(QucSc$$C <riɹ|OeUp 26JgNpZ[a@$x*nL_{&CNl*bǝ:RXIZRȣS1 Ɇ^%]t jl<: y֫L4(ސ ,=E$+Cg /aވ$dJo'$\VLo]wk[O`Aί$f#k ?:5'V#%6!KpQJC#{YhTw>RR$̕R4 fzmkҲaFE~Sz㡭~ gQҫ(S)32SzμreD$ N/yHSOQq˨B%Lx*Za;ޮE'C 5 CloL!q݆GTV~Uhd5dBh,wԢOAsO[2"=<ؾR,3JiDiNQ/Kv%0$V]6מgmm /YvHuTS!d$U7D1;h^H!^V$'4aCb8)lU+-UUɴ}Q&bC!:fDJU-Tx_$JyG&tSWeW;8*14M 4sk ;ф f 2 DH~Tv@ COQ*2{uП)*gp#i틴'4|kF=syzIn)dV:bpB?_)"mr#Wmr! U-1`y8' rƘG"\IE.Iv͈ܯۿ S΀(ƞ~]U"rSj}XW6K+]R? U!Y@1>|B_.fYIq2pĕ/9'B_mFc5K7|oE UW߲D{„UlZ?pmcAy26(Q^(IE*]Ԓfs''iĦ Dyx86TI5mX@ >K6y6K^Z sy/pR 2l6 O5z XG E#MD)7^eqf9evCrX5 [csM0iO9<}،ؚ*3a$2Q&Z#gYiEXk\bEH2μ+I>]yXD]N8QD3QE90$Bڭ \pE-,Pd$\|;Sb'i< "z؋W_<- N~}nȪ#nQp%Aڍ9i=VW8uc`$&yz,])jUޱr@ƽ-z)+um8]M#b9RG[4Y %a5cmzUތQ` KD2M佅 dҷHl9Zix%Q|t[l >{#(?'*)J,u*+ĉ~_!e*CO4]άNzC#B$xy'BT,&55@yOPF0qlGq\:% [, M{Rgg|Hq1(F_d7 /{>H9} @/:B%uT%"gȴqi+5[:9ۻ= MQu.] HV~^IaCALi!#?3rmRmjs==)HCuNG)4 Fea :|Ca3q'bs fa9Y`sv,3A`]lԊ+ ebHF^&A/(i'j"+KvЗ5mrF֚,8ޓ3VdxhrR12w4t k@Bޏ2ěg_!0'aW<#t;s/">XZ^*TnHjsFN9*yӈk+#4ɌrVU!9&xZJ=av,>v;%]U 1%l킔`#L٥!0g]L:VS=De9lw20lIpK8ßC<݉&;7ƼEWUrki0D&mXOݓ|^Y'dE֑pl 3Ps6Hj(x&c1W DbGJr < 26ެ%ny~>+?+{ԹI+}; fo fUgVoZY4F6>]d/.{hjeO)ǔױ* A4NOSóR+C#ta;f^NȌUEz6L\+.8!"o2vŚ(%Sʥ5'+󘔊4T3KfPFW  ,A"0tfK̨=A)-3e'B^zXI$M+5fr^M?r­_#(*pX۱{~pGЃ 0FĝaDHe5M7j~*$1]L&(!f.PSMKܝ̕7n/"l1k\& Bȃ%"y"71yzĊ啫*Y +(u^>G (lߧeIoO#A(uQzEaY6)a'9&k|xPǼ&,_4 G8 ɉ ΄SɌs-;?vBO$j5ގl l oG3#O19i[\6Ξsj"pop4R]yu)hSD% RULfɡ\N>IߢY JPA;*X0B1 ;PʢФSL@Չ/*޷֍ʮ8_Ty }蚴 ,-D?ĭ:[Z^tv-݋+:IzO*G*R#w6zHS3j[ɀ-yj-La.ND'<v+C 7\ZȠ59@i]Dy0#z6+P"E[ ABFMR%Vd?dF2PC%TTg͸,l]gm$O #;UM&J,oϑӅ"aP+sX,.vZJ;񍬗h;aeȪ" k~. - Ñ t!8a0ljlԢ@߹Ve8k1ܰF|XbVŶ)sx2Kͥqj812@k4ƃEPv×G/]Z!ԝU1!Wqd;{YXH5D-9zBDDZ܅]&)JZaFų0tFbJmcQ:aH6i΀ZWK6FvPb p@iiL$*B0ytB`{my(p1KCX%n MٍD&'Bv HTD*k" >>nJxK(ӑQ̭hVk+u\9csNr&d3z!V^L͉#0 `ŎB]"# uZ"%Qh YG^&2E#<*X14R>Ŗ 6#_@]JqsxrYf3_JFLz;07H\_v˫㊊@!(ĺS": ܅:Q1%< ZPku/2/C#ŲIlWL}DVjPgb=;jƯξT ڤUNce;1v1ǏJ6jцJ}_y7#iƻ=AK5^V.QLQj;Ho:Y}4k^֤eI0RcSWՈVP%MN[ u__JMr—){Ehd$˽~R:di HUјK 6B.A@̲I%BM6P4vs EPXÈe- GƘs< B2hXJ W'Q =bbh-XL&:Fj@w4e뚗.A6U%qYOkdLrW#Bt_R R$Uf@F4(? tddHMIEr'"'#ypdjT*T!bRBs1,JG;niO9SX,fVP\U& b HIDk>]KUZ3\%!iGFjJqyYř"qvyk?yϮ]pULz۱)MժXNi;YZk;\7ix毡Ч|ojǼ*u&K '>\m J!ND)~~'HKHs&'^c{ gnI-9}<+bV@%Epⵚ\ ~HNlB`T(T%flO,Ed&ˆ,l.eE%TVICA$kAB;T1}-g"pH;'{ dס ,>ҵRcbc\-(@5oƗՄ]gJBOv\$u P;UayQzPԎ6s5X;8hh - v9C-QVӍۏ LA++Lr"c d=TETvDp$jTn LŕiڼI0nPHBbKN$:6%svU񖻒s&{9E MmdpPsUăVB5'AY~[́xl^27"a)2G ۆHey``0  l+Be :~*4!%>lnCj#!hT葵&1jih@5|Fbm 5|(DC]3%A/GFWKJuvĪ$AE/mU%`i7" SbЗMMK0 ׅ#d^'LqL(*@D):$b j`N' a(הqTD.2֢CZ>U)Sae> W\$- <ְ@ʥ t#ųjCwmL#"";Haˢ>\U_EɈ*RQ_u:״՟+wŎ ]ivfU$.`'9Ca~sMDruXWO"ݴpB bJ:)qunt<m\K_M 0_w»cRnc2qUOẄ́\t<a lD IKԄћ}ICV!h(V%qdS3W)mNF_c*9~eXA`O)zTjlJkrC;D؏#X'Jëꔸ$ V4_OY/lYEtPj0Ft'df%~ 2I3a 8w!Fy;T%E NJ|a*r\0/ȷrsH79g1.R1[⥖UwWrG-T W@ao,j/J:-Ll!G: A2] 7`9 A!!]HY'\g}|\%Yoy#D:< C#ti[:t,50+iZ ^* \$EH7wrxE-| ğṡ[P7∳9ff7MR&`Ix NEjF\*(tGZMGny&(Ms0tod"YdYTZU`Fh4(: -eQLEFB:C'-o[Cc$Qt8-fܭr*F҂{5)x@/ld6ۃ* AX8X,$-",MǪa#E+4IX/1s7BH9Tōˁ) ĭ`$c"jP}H]F҉"HdX.卟S5Zwrf2ˎ&sZKO!;(P8W5FJ,9 7˄3 HÉWb7qLy<2q( uj!'-]RP܁Dª]%D]!B,%\TofDBäY-ffr"2R~d0~gI%>RC<, *tBۤ A BbjrBy  `l TӇ];'!4cZ&$KJGtJ ^yYس%8/š[?45q2)TIWdtALnJ<7G4[UoF)"SrUqxĢf4tMEj3s>$oc"GD n[-lW'$R n8D5Ky7u_A!bS865z|ֱH  M I('lldHtJT&iHS/T="Wȼ bXd#VnCnt+ě!ZPȩk&)nX5A4[G`" Q$s#5Y~hOY(p*y wPL: L!5<bE[[eE1Ȋ[$&ʹORlE |*h$9~SrN !K|ҕ[?Rp$](A{(mo4b[ѿ,r)Q9hY23bGeZ,%켩s`0j)ա9TiLEi{X&G@HGFќ ]TnDD:6hX ʃА fX(xϑx&4{m+#C?!:Uܠa ݂) n fXWr,0INJ(BNXf =%:QȐF ,؀'crq1Q(@!\~29xcE MP)pC`QD [\a|*Z^ahE0UylI9qE T ?k*s1CiďYo9f7U؉F$zZx?(7-;SF'{?_Jiiԛ:ѓ)4)=lPAi~2/wDb`ũMpWYwWܹ IW uY(oD;,D_*#ʙڨEJk+Ts8.0 :*)ӂ#I ԛ78>"\MV1\Xힽ-#}HТ.M3v|jΩqDP .PEP!u5,EE1* ~[ha>;4ѐ*``SZ'-2-vMBC@sܟmPwgFYҼI8t{=d6yrYte|u(j= dz-{I[rJc-ϩ:/q0Rce,ﱫ$^RfIG¿Es߯5ec5u:=\YhJ-9XH&c@a2LP3 U{1q+ܮN5G+VJR(导)yKjYzVڱkgY "X //& M֙A]Ci",ZɄݩ<'Ȅ/S/{ŃGXʞ7(m)gjV 1 H@_ȈN|<\hRQ=*TI 0kj;Hi ]"&*!PX!2y:p(H? 1NA(B9ȚIv]Ie#AS´-qv<gv(&ꖄ\&*EYId^t5+Q,,I>-ܱ Cv,>;KE]ѧ0bu(De=mEq3aQ8BU!q3$0S/M b+S.GI0b!4kS & 3FrTBZ'^ćs"P%Z!'#GB( Owƽxǥ3Kq$-Z>2y.VZ1MzƄ)$R/JELc:$Zg+JK̚"t Ԑ%^@P òE r+^Lmwѱ *.tIg}M-Le@BC-Ed:bH}h؃wdE]Q i)rGR_iB9a4|}H%vK趼PY ]q:t#qӄ< 5DA]0r=6 {1( s SU%=r7D8ޤ"LP- ijɫ "Y]}U --崜, 3egzn)%`#=6.}ή![eeDCi 9Xb;)a!`ŘɉC&".--VR{{j~/F޿bŴdʱAG&-v3%$ .Ȗ53г#'dy`T>FHk_.>KN@bwZ,ilUކP:^3>wԲY[P/Z+9+>4O0/hm ɼ$1:g ʘDt ]bb2 A)Ģj%=hjцOD*KwyV30DCVK{P֫FDy2Z}7d QǴv:REOimQ4] ^?VN:&W ¼dƇA|)fD~26 ψw4?OeXhH ,ȑU{SWNO%Q,{en&!;&[?6Bfb (aBy,5D+V:Z2zR<;M)rGP/ؗ[K}{Vւݶ|90_R>+5)2Ncșs\H{m8vp[CKrFѦ-̾#*ѓy̎78cFM}G#Φ5I~^\*^GUyoN0(V,:z{zH Ht㧩$!/gV D%\2qJrlSlL/loC8^10!M>റ:ѥ B2JRI6J/\&9D Z‚7T/dXYAZImT ̐&{2(!E6]Q}-@,1ŰX3G2" ĆGp/`Fb7:!L~#XYH$|]wOo7I1cr5O^du ON*|SSqk)sҿ GK}\۸Xga8V1t+`ȘP%v uJAF>%P4ΟS$0N^EY''xWmZeo+Ar?k:PD0ڄIKcFӸG(Me 6<А_Y/ pkCC@aEVF̍&lԊvx>$<Ӂ#‡k8){jVm W~^z F ȇ -+m*:^Хf+L +cז䯘J5\Zߞ\rV^\1_aXfcmŲ1$ a\wpGI-"G> R \G/)O SJR7kYީiM &!f{Iu6^OλXtɣRQ;P٨Hm&…j0jӢ,|J ,8EQ/i'Dڑ$hcܢM dUCo}^MpLH.? A I*p[׸SuGoc̶1i Z:DiiGkHj0*P ]K>5H>a;er+&NEdvc{z.eXHL@$T ׊/f &,|ZI~DWUJ @f:;RJʨmBr4() \jB:Q!ٽPLJ|9meOhtFZ`}6ɺ%o1[q}x Llẃ>T bR„P{92sRk5/:4Gbq .6hXyXьk46̕dYX z0'ln*%6N%0Uǝ?Z)J:VFf-ZˢQeEsGޗi(񜕲# D?\˒^M1U 䒒ZDTZd4q X; RKdI:&Y\լ8%I)G/u%=Z6gEjV:&>-^h ӟP-Ѣz3P,1+MŃ f{'t|+H 9 m+ qp,zS`a.92 Oԋo=4W k|0lƲ${(f 6x͚ГRG'P/Òd⫲nKw's/ kt|:䊑&32I8=VJh58"oDøԅ̞L2]z`. D,1!JpgeHǯڈr$HD8)VĴP9վ6d3" VaV@+1hBwֽXj޹ylVD 4o'%M P.|i 13tX޻%ۻ?#łS 2HJr#[UXkY ճnRu:X\dT&|$W2O\$1eѶ$&  %HiDkaeQy:DA*Ttw~1F8+\fhcEKd +@qjAMz4L xͅ"Y|5 dɨ8=:!j (VLʩА;ty!Lte v}+[a,KIw(f7jʗ$ո9ӝh5 TƲs"N<< *tj{)/)B̮IҮ$CUEghedx)>.Mz]qL.-dmL.ʨ4_U"{WāPRVߔ{ /P~I@Rv]AT\Z6_VŤ m/6ìCDI"HNG~6/ldksrGK(}"q mHplB0t1#6"pVvŭI"ξՌ BsAZE_ȍ.#˃.V (Z'1|@ptv;q!Pa1k]I`Bo/E]$!\W`GO K*VBt`ի^ \GH8IG1B^RI*Lf)^Vah*+ U&CJ>Oȁ̅\” 4qQh6:B$1X$ہ ф4@&(TAS.TO"#&ŋu{:Lr=bDb\< v5Zئq=>$P 7D#wGw)׽vWLfUA}ߋ>)iEDR$+uqn?Q;͞ƹﷲ.BlDRݬEtz1n`Ȟ+>c*gl Ɉ+FngJ$d&ͳ-˙ +"-m1(T"n4 IJ߫=zJXI>J>ݤ8mT,g؂ֹ+1 _LsRi QZe%_!P[h%s@[Y%Òǂf dڝ6ݐoQTw4O7fDQ]̑N+ɞ&|lB "ɶ*s|z\ siU'6eGkFN6)@v=yRAUFaf ɱS QRz^?:HbĶyi H%#Q#A)=E#%*Rcl]ED"1NRN/V;' 1Pu?QRL(GG-=QpWYoT[my1:ȷY@s)c)K7=+p=Kࡸ5Se7cTôq2Z5#w*14QSlL ]q^-e&lB06n~t,B%qi.Ō&aK!X$r~KjyK?|ВiJ'|$T}}M{I JUFΰnVhkChLPD'  E fH mjoL0Xf#oNHȫFY4vX1.WZcjE #s@2t|@c]4;D%;;(vUjTPlRH&Y2d䄋L-K"#o'6J'\9 l.6 IpD{ XL+N#~hL*bL%->APY̅5MOkH%u{¸1|bAĉ1 ۃuȹƵs$Sf@!K[igyT&[H+tA:7`lMȕpWrLȖe+{_:1͉`(?T`)+E b(fGd>՞W^yFd̡I 81UPlGҞk=;4'5VT-a|)8-#kN*X6':!5fN..3H$p^{!LUžٙ2VGjWtXD! [`6 E05L6Jv.T`Z kV˻X#-MV2ai8\$i&2V ܣ4J(;%mJ%7UC|5(sq7uE,BJmspu9p]ԲM1־DUg`i;'{-Y^5 1WLwU&K[+$=8v!Qd0uL|=v` 1tˣ%9<B0$jmDwqE S{oU䅽CZwٟ ╦Wme*'J7Ʊ*G ѥs%*%. L .f IF vŠR!$B<*^Tj@7Asz` HYGW:N1b R„ H*V.)7 VQa:]k.kPauL LHD^AEiL{0K jb7㖼>t,7RWa]_y$Tm,c#2+fxMa,"J|/0 VA3T7U4hSB\MW ~J[Nt܃UB$,O1VNG"LZb감'gl8a+vYAYzUPQUEMI`IG%5#; 8 >(Ҝ%;0IY C)L kX`#g+8UG#rh$!*tn\T, ]9J&~~ ppiLtlXPT"]eRX5ߕ7EiÈ;" }4(SJחU eڗ+#lELʄSsAcZ@3.FSB9W/xry=ф"8d'<3dqQUSo=DgR ~`I#eHJ9vqJI1U^9D7G̅~]"8RSĒ%Ĥ@'HU?LSgS1iF'xp17\{rHhheʋ!Ru'0M.GTvnB3Wߞ ?*m} M\~Vhg\vxwrhU']ذ@R!iXPԻ`"(b.lJ:F $yH=8t,wg&^&\]мx2V~JGJb(*O #`XHTa)ׇRwx$0閴AC}B ;$3쐱Yzږ. Ix~E0-|D ;/(FI9=rF@ޭOJ6].'ƃY4,)rUdiD馔MEI*&N*y^P$b A @k*} i Q /G. haץJqgL;Y'СSzN[k]a} i[Q|2* 8PNjА KC01@f0W$:Z$nq5ƶJ#TdunjX-yeDQŵj8Bb_q1:iQ=V tS2T>SU%#I[)!\̄@SAX\Y>Y)%Hv v@`cŃ04b\ئDIN]"MqCZXdw=eH4C+Iq"ӯIC )(p+"7l@MgErRRd1<-.w!t<޴5)/ꖋ5-u9/o͏ B7Ok洤 "H ~р>΁'1ZlRjp/Ay( ~YĪ"Gz2%iFW4|}]4BQp5:Y{ΡXDrc0a(b쳒)̯(d̂؎JYֽiR|NCEM?M*ԖAS +x9 t+&#(`$E cOTɷ &02~2c <,L.0 sW?ᏢQeOϋ^%Ak@JNbAYJ]]^bD!NJFj|x&8hB_9i@ӻ<8(ƄL^UOݜlCM17O #7@rrcrVf(cy* _U)D`F+a']Mb'EMRo: FVȆ󌲶m=ie2E:u^%ۓߍ|v:d^Ho fo=P-\﹍ej0!Ԯ MiT|+t#Լݵ=щKO/SvdT"gi ai!{9 S A,w!㹦dҮjJb.^I?bDr\bE99yj=H( !_5V'X_J@,sbw%7Wqy A>jH$r \a2@ MȊ%MXG3~Ҁ|0֓cIhd7!Yz~Nڮ6mj[0p ! -O6K"GvNc}Q]ʓȻHEz[1N)ן֙cXx`VK}%V|B>$)>Q) D\lTQ -M1W S.S6 bX)vQ~6g\)QF=L_[aS";8vlUtc~=6Mr;8RY (!)UC aڔ]':Q_fH;*2}2r8QޮY6q;WH*Ki8s˥!a6M ܂*לs޸' wF^TB<]jQKғt|/]".0^CT Z{e99FJuJ6k>>~Z 1.͋)H%[qFXu KNحͳy\Ta{1.!Hx DZ`*+ïAzJ9 _ޔ:r<`# `:5#^MW9`M2`Lb;&N1BTB$CKn0@KV`(K\*l{c4"@TB*=l)W}} ҤϦ3E~G2M_xL C0tjWq3VqӖX=st=6ZoĪI$%azm,T;,Ju}{ݪϥz՗rV7 Yo;-pܺ&#TtX⨖<]5 3K3΃ cW_ R,,({(X]J7MAd*ÃSd0 "JWHIRJ -^׌gB%X8LJpg4Ny,rԠˍA > cqy#0I7ČHIh?")ނH9zJw/GP̠^[Qg([.}IR |rWT'nUr6/Knxݍ]j!ݤP+r@dI+ ܚ4 זD!qL=KT8LgwhXdLA d2"?7h VIcβ&soLؐ>R/dJ.~S`@YtA |04L(F$d>cAEӭ[B(20NkrR*eBȯmPDRLJ nXߢqJPmxbBͫ|rp ENGH(*tqbfg%sz KKCw- zk$Y@2-d2 nBx`^O±څ%ß9ƙOynHg/j5qZyBdۄҽiPaa8Y(K31JdtlOU;^ŽDEF&cma>֧;Ux2rXVRo 6Gggc*cYHJf^hJ.:{Wk H|Ms>&6KBί{{YLlf˯}T MA1Eפ$7>=9(CR*OTmZ)d%8ʨD#ʏQTQyy-Ppaْ޲lȤA"U. KzDn-v뜚Ù-{8OӇL@$N$fuڵ*!@yC%&9{x1T~*b8GuIkC%bJ\k"nv*Q%RZFaho1*VQ -;K7 H]bAnA#*<"u'K>CHD'^  !%>&%o,w?lr*vnU>nUIɑ UhLꖳ5_\DzCŊ&f~M< He*>H+!O T(Uh;,G59Δ e,Lg~\-" 51(T;=88BI aBlXyPHAKҭ@P0s7*" a0C+]s Y" 3[q&'fzip$ FvRh*A+Y0Kae䘏8WoqbC}X ܸYD:gETpC}Z$^jJ"`&6<=3U,3:C$ d%IY!5:u+2_9U딓ϩ) 2fi\\/wY 38JgN؄4|U6fAcYA &3Oc;!&l&h ZhZtq{R_MI! EKT͖Q7'~oJ- -\{_R|O`2:`;^ѸPY@Nu-xI4BJV!%&8Ft A!tb"'mQܬD-V;3Ԩ\SGU)ߙ*yI5f*lB,oKYgJ] #l&(Oj ˇfP>)~!i G#p<@(4ɰ~YRB>- R- }fiTz.Oe?E2ÎO3J]][peZUnFj  itH-M2}"SqDԗf5I|jtFTIPjےΕRԵ(k\|F%bbs~-Îc F!eIԖЋ]Zh2D$K)Qx퍘A"V(%):dI6h,HcQ`0({quڕ-rmunlK1 H 6_GTXMHOE!( j.RHҟ.eM2$TH*4m"lr+sj@P\U9ݏ^U滏FӌĬ)l7'Htֻeͺ2v b^zBrdR[#t DS>: ֲ4Z$&{HH?yձaN tH:d8cKX^H)W[O5@,]1BLYd/nO3s"Wm2UV+[U;U٠u- Dֵ7K~"k ThB/7/BGVdB$V.El6)(VZc+0ޤi.R2nDLlƕnBgiUVȺKN ؓZA4˓֬g3UiBeF?BMh"ىK6dظpHY97 I~2tdj(hFUOڐ-bw1G$Ѫ &~<詬L"_I|́~Lsۢ`Gjb=j;_i#_]Lx.tƆ"f^5X M-XyĊ : fW(#E- 1j%OB߇B"K٢l;6ߕ +i-Il/Jϕ8k>NXdhJ!R*R$-ꒅ, `_s={)$=MMmȧQC|yf$U U֡(BDܘDN{d,/nՎIi΅] g I!_13XJգ`f@zezV+ H-˵ DU=LMuZ&ٝW &HT!N Bf~,i|A%oٓu-251uz'j}p+Fk H^8,yj_Pa`P (!]LVFVlo)JTOYdaoTM5QbQX Pnvܪ{f4+/VE$:`"~ #(\8|\*t3QYr5 _VRL%)'./Uoa9r's,`w^Q%xЁFҪNjJ=A_>񊫖$ E-{8 GR(eZWk#(};̵b:\TśD1$(a6,WؼD/9r9TŚoxe.1Ke_E9GZ8\/iKl 6(ZוMk ιd=|ۇh{-\)iV5K8ѝ$Lڥ<:S- &ؿ$? %[B hFQ\eZ~L>%7S LBjXZFa ỷt#V2&hMGOZ-dnX' j\R*II-$WaK1񽑚N@ Z]0( iHAߦ$T";[ҩxO"(2Dcc&J\D~UG7uȗ+a޺cȍ1;n [iEE@n(=JTʦbSLHR|~kQuC@oZa3Ň9E pCV2Oڣ8K6iڔ zGChNjzssdB5-f k<ލ$re_|4ȵ ˕xW2`3Yz*ɕ爵&l4$L~DjY+נ1MjV;HQC?P1*Gy*:JC!QaILeĿ .߹p8A5In)E#C+"L%l鲐L1X..\q];EhPE^@l7NCah1|ԉ$ L6P()&%w)Yhַ_`6ܔ-0@W!p@6@iA:O$|苼;HR_麗bؚ\Bc֐قx^ǝT[4ƶtb͓~v]NW(Vg"*$S{bF6}aĬ()V㬩KaJPcI>/D&cB%p]bH"[Ĝ %SD"N zsT6b n-b3Xt^`JyqCY:F8K~P"bUʠMBX³:"Wo&e"?^\j%J\3V#,2Udi K*.f`fדJlҜĎ̸D>'\@( bB8^+lRhÕ)?_.enC,ŚY$d(O_G;qJL B)Ibu8BT+O=u!Ruz/qmU$*1Sآ? pQhIZr<#kx1_#M7)ZְJ6XK1܅k)_o^T /p\zcEZpqwyd̰Sɵk,oY?E{t1Ndhu5}"4N!)6 K!W^/׋$E;RSl%JzDRq!)\z٬ܭhSQgq,ve2eSLMpN$Vq1{nr@ZoOF3+- I^@~h""R*BBac6s!P'5Ie<ӡQ !xVL_M^J' L"]nH+|,vGjp[}傲%in˚yoy$SrIw_#"щ"q'XەgP5Ul5x[ ֹ $b 'PT (}ls;⹐e[_oMDFuVVZr] (aͦ'"/bbU[:v=rV9"GStWLd7ʛS9LV)8P+3t@.h.Џ!$o#&$61r7 AP"-k8KeVdJxP$'( :?1_f` ~"@k4"x8"hS\=;adª ˊ:tB E{tf!s՞J8SPxPll]V\Gp)T՚7H*2=(9$s_؂MKdW߇F rQpNwl"%뒺2'𹺽 +$V~b%lXGm$.8Vpt<9?*$5FRӂ䲭WXj^RI FnnNZݘ'TS^ MI|%.x7i)UR='qF̶nTI.(w3n$7WEh0k*BVb&XD8uCinb06{: Y 2|nq[pRǵ:J(n-&LZޥ[\I~/0O><_״UK|%z"HȏnZ2+#ΚzZK"A]FޡR&=Zj8(BO#BU&Dlyҳ# &=t*߸ڟlTp qLo >2{z>QH.890zU~hzZ׶P #z*JZS xbɈ-RIsKK^%/@Y 2FJwRp0,TbK9ovhjYZ:ZJhG2s_{.EL ٗ_(NE`m\SOVoܸ-? h? 5BeNv2x%AKڒ#dDTZQhf@NkadhTAO6҇)"®qK9SC.q 6z4ނ;Q:0e }57\=duHkV  QVi8l, ȨV@dHC]0M"jSF#1޻kJH궢dG~zW5 jq8>2Ą5DR+4,JTe-CZ{X(iz/˗= ȑ~7Sn\Jric٬p}꺤fl]Fdt$C,SYړ!7lRK^@  3ydMTXI0O09]xB3Mti' s, L15 b.YVetɇ ?gRɲ{xa6R*ق|Z**LQ:(^R&*p.(sѮ>_B5kb(ԅHEdûװI Gfyσ% T*2U|JE*'Y3 ă rg⢍},<#$aiI5 '${!aq^6L>4k?  ՛A!H-.mr[)Ig pUp յnuUWdl=njTJP+|E4JTQ;g;2V_ԶZm%7b21V+(5K~KGHA/^ Wn=.;6& SEEX]^)iHQd`k8=Ņt"ņ%_A\iy{HUPF*#24ݜ f9=죄kų*W+K8d=lBҦC:ᦦطճY&`WY2@ YVk#=Z+ZSXC5B'29CF)!UQC:{e2a" I ;9ӏHHĤ.FQ[k"u7 vQi7 T"rImWc#$)1 _ϜE'f_k?%"Fe&^ۙN7}u r+D=.&ذq8RFWMQ! 4dVнdcDZ5<0/0z.𾻧/k6t*uC= ~.(ͳ}0]#jI"\`_rE gY\rHCP''&q#=)~ML07)E3#Btx)T*oc=B-oo:swF ţ]T#u:k8nZ]1^E3("&~5Z|`_q6"ɞ_g#hxSB$\J"HL r2EWoU\~!m,+MvUi0X;63șzW*D"QD&ʡ,.g7k\ڌW zhDfjybkbwzwǦr u&eJ[9 x/~ZB%ZWAZ1ĦZ$MTHE=䴳]pIC'MY4R|ehގ@fcc,,%`!%rMM_V`!S&yLppJƯ*3}Yx'tr^{?"eu(0DqV- JoYi6 SDH8DѺk ӣ4͖W4Q*C%S6g/N#IgKf2`O$WZ*նFJƻ8Q²դ Dq+&' rTbhk(lhy<$IzؘͦC հ56Plxyۆɲ G3|s숞J_bM2Brp>ĎfSn^sƬ[5)EvZ"RfߋfEKwKNQy" _riX" ec&`^)ʰNnَwbN\ -lO@&1A"p MpHW T &Sh0|*U:Xn`ݹ]K'17Da'dH= e;(Id=o?DHTѬlcok1B8X1q}@iLB§F0KReaDH@>2NdD5B42G#u>5IE[}J+):}|>,n"YP|:.JIS_ 6!vDȷx\f"eFr_ʧ1qwxK&ʜ?.1 糂)'~Ax-,+XVq?wpZeK Kҽo7!L{m"9oբ:"y3"VsFE5:-Op~ʁ'Әg+˫EqUDT9ZDw <" ȶ4#$1`~8f H /J$Ŷ0n&xT\&$w`Z]#+/ /:@IgB^-0d_G 2"dCAmO,N#O!{fi%B?T 5OLU!3TEuHdϴT+jv^KQE.c$'kZDI;ڳ$K|ȥmZ⨪H٥ 2ϐׁ\ll#Wx#H$J44>+}f^ Vѵ;!@ "  ;$A:F&%xXtTЙ^S}azG FGZ fVeorT *$ez$׊d\aPd4Gj+ɠ? X5*TK:F5IZEq?aK ʣ*E$/v;w38wߤ4,vr#)U3FhR=yQ!X'圭3hQ-ƃ%of%Hј̍5v6Os^W HbC RY:%giDl2SAnHT`(|W?e g.#2= '}W="2~/taeWS$?S 伢0_2Viex\>IiЛu< Ybc[DfxxўZF Lo/&Q CX/TZUQm=8M{^+}<|&VZp_.' ӿxVDDtA4R>*fH~5Se(|J sz#۳hOqwBxgd3/G bFsd)372O-G6%F]V=T a?)1!-' cs>ȗOОDj{_ST9?${0ѭSNz:l!>ƙi<WIc"3̈E5[ 9SkX DUN #$L0Ji,^HT}=};-Ƀ/AYy54ŕs2eԔh$"LAaF_W=8h=" "V giq:k90GT~':1r=U 5EfEDw zFPZ ~~?|2 bRc{x;\%Y=s2ftRI e0'()Ҧx1U<-IX3ɨ.GB]5V 1d֨u[$Bj:0 Zr0͊l6ֶu}j'lމL߼*SW[CDxO{둧 h^|s Uё fl?f>xK2Ցn:+cBECV[8Ů׮wGȺX O/ZVlA+/z@9ƒ@if{$Ut od%[(] {-Vyf^D5띊7T PE^Q;xOyqz;HhT[s43V彗em*P 1f@Ha=9QD@XPyH% zd*q$TwIojxG̒43X<fJJy0]I]X )~:[fbai=K{PoUg.CJԢ >KGYZ{e3T|B!POIc^5D&q!^Bq2WuE=蕼FJYBྜྷO'd$(q90(rQZaKM a4\aLͿaBuha`I; &VMZzڔ[II,E1T&ƙ$R(,CKbZ;/a$a6x'gN6&򅱬 閫r]=QI,!^󼓓䪆P(H՛wꌵLfNӃ.\eIVM5Y{JllyՑR$ĒwN ?.TBq@/-=![$#5di'\K{J,U"NYVO;91"zZA㯌B͈e+ |M`rҙJ Ha<&TIU76eE2EhPBD֘@"]`9[ >l5#Ajv t>H Ly$3Y)0F媱2N!O~cʳoŝ?|؁!P]1uR3\*XB#j'Qk1WiCN@ϲqf4SL6ؔ ) zhcФqi9*< yZZ^Sԍ&AU)&U.T "jQӠ|#*!33SQBlD6RwKC%`/V;-d#1$B3 @h+ܗN$q&WձUѼ $_#S.YɊ%-^B#&'CBfQ~U4RP^PYM8 Q,su#]mb>m*yg%M+vE!9Y wj!fXN³`[HN"UIeP8^t^eTTmL ("(0d3bE舤s3(@Q&.FAD>fD ME'fWQ2.7C{Y 'w6U C@F p-4!Z@jZsBe/Y\hh-j0b \b(&h ^HUDR2S4r!p|hldg!HwO&RЌK/LPŗ2{'8A½Vϫ~cԖVm p@a0{qU\`_*G-я$J,-@@A'QkjR2F1i76\`B*Tn<$<򀤵59:7!yHV订T#46W](M 6A+{ )R&|%PtQEI$$e&UN %-  >K (4\Jֶ+Hbq ˦h\#HeaՒ[$W霕Įv1 0t]tHBGHeh(d,%UtN+>ˢ>W ̣'-Eܝq|֑}aJsXMjH^ܢG^ ŋGMq%H'-gvS>Nj 0 .cL4R[ҵ#d)-eD9j-Lʈje0dQ)dY[Mw*%&Ɨ0Dʩާ&~PBhÊAxʈBBOٻISi3 :ͽ"JPMZqe_LRRйfk5Tu4VD' $)SB~N=a0Qgu>Bd+?1]-jʼq*6E7^%)`70c_%5eY(O|b6Y9J "M("c\Th(jJh i"'S[χB t@$+K- a )hHB0ZaʱXxBLlbԼ1xN! y}||o-/qu7YBVTa%L*z Lj,c"`?}G-xnf~k* UZrI(EUqK2xIQd>h3,m άUe)ZTzl҅Q-m4.PHְmd[R4PXW(Ujt] Wb.(lX^j Z8!nj N¢&4Uڱw 醽)b0*2mVz%#WډKVfe.Q2ȯmMdA'&S"L%JBFC,1&VY]L--͹Cd<Ӕ'3PpI=1`( ӬH/WP}(bDPJzAmA!\rd$D$!f SŸ$󤱅҅6`gυCQ渻! !DrӰFF˃Y.Rˁ :}7@ɖ!|\<,`E"Yo%ⱬ85t 81' y00&N$bEY 7Wdb Av/A vR>1g130,@W%7JGVGc46\ )>؜|͖ۺA3,gثlMbc;W܇zh䄻qsʥnWQd79/kea7ح%tE+j1d[h6<& 3|5ӴiUfٵk^nfxU)#tGPf]yy ehB@' /UZPr'I=NYfhQ?؂TnG#b-ĬF.TAKIZ%ϒ'RKh0yPXFjM0VuA3@ N++Á$7988-˄YƦFp0-A ©@žea"(,<za SL搩l@,ASe"J0}-bzH0~umrP6j*g ìJ P*/ ,tc G\^#*6l ٨:"7u$r']&95 c F[R#<xr 4N`u6Cv c\B+ ϑ zȠ)I-eF]뿽R&dldn&,UEZ Y!q_ɷy,+&IUIɭ7Fܸpc$ZZ*9u:N{^ݧKy n`#EVt4OYDADhL4`_jJ37c69c^"eԙݦm  ^oi[Ǎ6 1 T9blHd,$f爊:φk1ZN zk\z*F+|Ex\vd)]Vq I -lWWu2K} *ׁ~A4YJa (I+ @)^ /5#Z 噖XPJ|@( ` (ՁTred'dX7jX NnPVlС4<ַƘ"G%ڤx%Y1 KT"{$6j.dA$c4C^6ݞ CbNWn)I%wg8MKq?v`zg,BGRvla6O.Qv'ݡ>:E jg H/5I2E>$aZQ~ qT{1nVŎCo#Ix ,wG tmZiDTG €rHr.0$EfQjJ u`,oA+xi儃&߿Ei],;SC1*Jeoѫ$1(ش:5kv%)@h$SlB&ME0aLtYÄA,$, 2b8nE> x7L%ȹWC/*_s ~azd/}"匄K%bw<' B9~IϺH#b˖RG!Y¦R5n|4G w[m }#_:f]v0TOꢩ<ҡP.JP'P ]@U{-f7 !;ae#pe!N=[.[ 1 ߍԘv_`l8bY5Q4ўq#BC#̈P1,ȟň!PXM٪/}tKOF՝1DK]OL6Gurs ma9W'q8sE,:! n-WnVhF)&H0biXR@!- .,d \s &FόdHאiG8u{K#6SۜI%NEQr%W;zGxΟB2!.3SaJJ)'C>U]A /ktXv<}S6s ; JӋ)6HºF"0B^ǩ>9F\#2#f1$ێBtЮ}/մUaӓ_;\Z2BGŸS$+Tϵpm=J[JU70(f}oʤp"$.+`fTO NJ2t ~Ƣ/嘋|xLWWcSBDbW5eBBIN"Ț d F3%oqr' + GW#7$ r}Py~{DHSMId.\:OIH+g–u0/c+ 5D±Qh:!Gl"Ko6*3 F~^]YJ a4a~XmWi$@R/\8DrmgDżbo!%5Ī`b4 堐цL$hH:\`P@_oÅ5zm@c >DHQrY\leFy)#]D3td'HXl,+Ad7_j;h K APS5Bhya/q@C @Zli {2s"z6 2.&V=+{~^&Ǵ0|9U F{rHї_ѐV;|gO8Mxp6(}#ݺLBY,ZQeߴdY =A'ǧ<RXù(K8H1PΛ@"Ԛ k/+&"Vᱶo$79-xaF{M[c]"ExG ҜJSRg#"tw 7Hoƥ\)d΋=Y&e]ol,QUS0 XoH~ʐ3HY)veg#nc{k[4Rq+ZN !=ټmݛ6 &G'qiGM+ PG} &]umv M(D{H[Z^4'Ҍ"<3]8C:2i"KM5[aщ:ه*-Ї4sh&P_r^-F{s'䡶/3\tyJ|_)|O|f(UscC yN5uNy]M EPE>O+|?" ~'`pSd]ʯ!Ŗ"!.îApsM/\5)KM7EǢI+ Q%K$4G9NLEh`(fl]MdZbfaD0نT=BHGD'h%qa> dSI&8)-il `,AW {KH 20a,]4C("1lK5i Of'5m3~;pJbɚB*|A&Cgcq#,:cbDեb1@HUO$Zx?͏>͈z8y ͏HFOXkUrFŨK;Pɹ3`|B V tnHԮDR_2KcLv2 Ƈk3Zƕ4(zs6 znؘF&+vZɚ(=\Є&|XFTsw1X՞(-M;Pِ̡ZVQN.El%0/*n{}GxK=k.]O"9r" €R Xq(f|֚ H/RbݳP*/(KsƣJJ/xGygݞ$LJЏ%rC"W=??^[}8c`WA$ = cN`- 9LOOjUV[pr i;d8o:O!mp_Z^/0pܯ 9MkYT#U$Kl>M.IIÊc s w( 4q`HdɈy5=)PŮߚg4rǂ a}ϛPJiRBؘ'sM?|FlL[@k;R)VmiW]:{`%C"H/>JeY`"ېcU¢O;pCpގNhFi~Z'G%Q]AkRf]@OT:1C1)J k˄F0+WGJJ#rVPq=F*q} %L Ub!Qd9AMȪBF{jJB08sNTFNCQ0!i] SCKQX]"6񖷈>č%鿰5i[L#଑M ~ hZ*ȗi`8[N-D-e0.R}=W‘U04PRdɔ?ཻug"[!.SY =[IcTDj5XzFPs,.>AsQ=yWRRBMD9[6.>P0l^_FnGҡRy' f${:9i9#T*r}s fr@}?A!]V+Fj ʹ9$B6|mzHѥ,Cfp8W;Kg: ޱepmdh 73E%Eq)i1d9ZRO=@'#Vya=!Tv81ǛPr WfTUTЭB$VEsrk~9*#* %޸ D3JAr4wפQU2و8SĮXR/!.7igc4ɊĪRbH~eu75řQׂQH ώc^D7Fh?<A + x)jH&~P["k7ڭ々!Ԣ&G/N|%qq`D_)'rbeoW |DJ9"u:R nOul%h޵UUZº˽@}yY{ xH$E/Z iLzYFKuAG@]$/%Jaʺ1pwٍ WEn. -q|J*ʁy֐8\LW)=M26?fUĚr 25I%Sbj5LQg? FPRjH8}܃Pګ%0Sn AKˁu2)'W1 <76tUxBsޔTBҵX@2^㵇Rq)^da=9pPc_^ 3|ԡhmDhLF{$$3J,jƁCo0a7 knŖdy5ۢS*&rTK43kz~c@, UQq|;yAG&Z9'&GSQEtlj8Vshu yaqż刍ˈyf?숎`+%ĉ쬎|+6& i0B(0sڹEKhdULwK.Dሡ­hSc+K8't h8uJ_vmoZE?E>XMsElКZNz%8 J) 3zޝXA`\r%h`j¢AXΜ?aˆэE ht'^X XWK;bqX^ !h?AMrKRɨ΄.ReLcs߰JU]&K3A,Eg$k{ y/iyq xkiR4?\NxwrQHAϠ6C+)/>ǀfIEKyd)]=9e{FillSYG|ȯ{k@4ǝf=5ۺe悉|@@f_yC~ƛ xƣ fc*=bo5W|3E>B9xseSQJPt.{F񳺛ڤɳKbi̲$1SQͽ6ӛBaOtw=qc]F؎5hiams*LRiBe lr畯#y忾j$cDtqٱi@ :qsXQbD} I[ 1i6"'JgcQEnqÙJTX窤3tjnTApC &{N⒠y%w ,1*2+=+yr;M,$49SOrIu. Լ"|?6 Konl7pܙo̤%-4qJfWӻws[MM錝@br #$0e;8Ƀ"izTk UrKί3}.4z6GʡpyT&SvW 8GnA&ȓY\7 CNI+#&]_qjO/lP[wE![acs/Q(/-a:w3p>.ՙGPQA(* wUf&E!ayV݃)hFtCe# :yc %ϓL BerQ:(HH=RXlKB?_[]4WqLRY Q$YFl([om\sgϬ᪾5-cr)KDFM^ҠLG)q^=6;ĩj^PV͉pyyƦ GvtՌKg6SbDgas3EV)D/ P_V:8jGXTk騄a-V cZ*go.lSFSsZS&fAF1&J."p&#֨WqҟZ-|l!$2qlE@G0OdLiĔӜlxlNPFR/+iPes"MLT4~4.ZĪbQ.UThaiߏjD"%W99#9_J#:ĀDew.9W HU^$, cjӚYi]̡U!`ESSS/C[ (,z_G-;reȒ_Uݱ) Ag38E/B"VQ&}Uw6_`3'=G㩨_OU U2kZXCjL)ToLwSf\ Kc`(![1.ODQX;mE{ 1Ȍ|W*$ a4jPQݧ32S@EgrXr剑x$w[yfh4!K%R#:i@q`(ѠD `&ˮj521ԒS)D!Z G2Rtpx%- &#!+el^uX& b'11KygBzy?g: x(xh.g>Hݤrt=gPiU!#Ǥ$+79;H#wdvYzb1! KCuӫӢ)()PtslRJ؞K$d~wF*69 +1{K ”y9"1nxktӆũY3. [oEc4':soh"2"I(n5;o.~@Dޱ#m=@OE7yiب% BEc%ʛmy lU8hJ{'D\G7Al4 ;|A?ӗ"X|还ihe] &2HI=R7JV_\޺nNuJ%vNɉ$6~I8'*>>sONEFĈ\)pm6!N_y]f%jM4!A6\B"6 D q+¤E!ACqRB7 +D4/pH)f$*q9+l 9Q s,wLG];y,:; >lklbo&VLDRd4m,3I\$J֗@yVPFt%L=MlDiKgQc$4m8`~h dK˟*EB,243NDr>\([jJraRBMZX(Xix֐3a(lSF(&xiIl#nP?H#"IA :J]]%d\93!O ivն&Pe0%|)k$:͖>G֫6Xi$.^  2.W32,;! O1Wt%SsJDz9E;iMY'jp9rCШf0`'rE5i90kU#=oҡZ!TV(d+@[~5{Ϣs ;Os\u9`G w)bfJ,s=ĸ/]Sy7zE걝)+i1Is~ zT,Cr#4panܘs0OЖ_TƜ43@jOA`u4BS˜7w3_nIbN̙MlR5o%f@: '<\^`{/G/~5B}{xj>'?6̛&FdY8Q%"n}ju^… ^C.h1 ɤ10EPl$ ^WW0&%ȤoY^ثЇ3^\ hYNC*tXD~;c^5",󝔼I٤ L!1xA+)"rzDz[J;V9@J3KS9a甴x[ )sƖ̵2TJ^^|jQ@d`um'Xf Pޘ3+/; vR9Va`u?|"v_"9c:4)$`PH{53EVl?(>J&RUZK$kincu1=-QQLl|5C@?Vw>8j HWt[&6^@M*[ 3Z(C]jSouUTΉrS-$nNΫRS_aCT,3-p5ۮ (BdMoₒAwj,0Z`)ɟ s^HIm ֞MqLlj uB$Jф"c$nD8bM'ZxC=÷G׍\'徧OJ`NB][LS(<4 g0Tce)7jzfJ_ =FBj-XFg:$ltJ8C1F@gKz; DE;꥾D 4h''RRǩץI!O]2PLFL^s,2+J|I@;fþ;my>VI4F['2̡*<@^SFy.0cr"7`9?i/C0 8CEa#nQ޾-Rҧ@Y0kUKFj<'܇{qE+Ӻow%p}Z 3-MۈhK؂x:')4jBs)I|Ғު=L4Fk#55 MPBuEOur~fw{9R8]V3`RtRN;f[Qf'}T^ +BR; k-&X 9oU򦾖xD1|FAVjzCq;@q{L1~3+ "a9[ ^I$js\'|OҞ+lL뽂ѐn/)L*S^lF5͉xJзܲS ǬX0-QD~k`#)cqaLRȦ.?CҘkZk5,Ji\CBOh-Yʹv5`n_b~! rVB0'[~ү䎼#?;ldWhY/j?!7fOՉRTJ`)o!֊mL|oR%ԯUBvM{c ˗ȍ[\dCbƆ1?Mv+ٍ2{{oQJ.Yߟoszrk5Jp1sʍhbl%l}Q_lZ+YD,s(FYqHEz.+Nq ?^{ki,#DVh JD+5ZT!e')zkHͦ~yA Ms[݋Ջ9Y-0rI>҃3̸܁2ii"H96E;62,*o E 42j˫ROVl_ (#}[A#H(d%eTQO Mtlv n2")]6c W)Q 1 WfTەOQ!H,JM+a.@Rm?# ڏ%H>Cys U2C) hO`B|uzQ-+NQ7 OFQ`.fPj_OQ^0vma,쭦(?gs%+ߊz8oYȠŌv\dl ^=U'!M6`5Y:D_*=.RP*Ree;wy($ܨ-*xBQ*>ͧԦa@XfȜd+.Diɨ1B$whB z딂ҕd {L0Uj\dk?DZ$S,N~dR()Z((QI%\idfu\@!4E񆁋 =TDioe! l=+L[QnuG!2".}$Qp g!b&#n aѬ>/TXji?{JӞtz*r0PpTu{W,#f{ִ>[cJa `}BBaT!&#ɨEBZ˹d+޳' (rjIjGbiP!N6Su-o0og:1lrՐ^eᤑu3SܼQ\AmlSJDK6ȍu|*扼]QҴ.ʉJLA"~M D%ԥ1H!jZNOEdE+1crTא뺆sUEI%k^51PK%c ;NtBWiֈSі)!)#!fن.Uj&hqY2xƪ/*f+7 0RX.es0)u'} u*_o!(U BbmM&b9TRGLLO1O*R*r?̪'*?Vғ5CFR#~T<]o*IWې%!BunQ1I2ma]1-/z4 ݊vLj.n94Q.1 #I"Q.sߵ5n'n͡|iBT՝pj`X"M"VR'2!#-PfT;&dD+W3d'zh[Y<@P>4[@P0sCLj$4"(BX8Wp5q G&@Cmcjof! 5Aep1BIJ=_hp>DB(Rg !ןBD}3kx@ե_6DME4 WLNijj'ISw\ 1^~fcUw#s'n]Wc2/-*a=3rb%uQDµF-6L:Eiv_"WgRꡐzCQߕƏ,OMj˶OџJNf̸쨨+BdEt/tK>t;.KL2K3Z=q؈]EOTo5TB }rTsv+Im":E-!x,.Yמ-Ij%r1LS39vJmERJKj,h*IM/w6[+TA̢irIRkI^N~} 2㎧Q `) (G ;ew!(<',ڔʺ(l-Kk"^IO>F32a*=R5Wq+دLԈEVn|[^Jzl4sG2yH˄BP^Uܙ) LGA*}kJ^OUi[8Oy 3ť0yHB|,XƽVA,(؝{~% )SU,9M7H44QK1`!|MJ;[DMt< nM?/# '+2یSSsdȅtDwoکev7wX.rj."34U2$d L7Ҭs)VɲRz a1|N}5(RFc[CѲVi)%sHXCLEIUCd[}d ll)'rPʷxˌ а$k  PHa`h4( 2u,0h6 XAIih(J4ZRdMH، `Q_:THi)bR~|E_qHK:%_iEi/ުGyJ ]qG*SQ#e"6MeD]}B2f/Krv\-)ǖb@=)־~-%뢮$#b~1ԴkLZtsUT)F—I!Nb~ThOӹq3a*$DƤ>\&?]t,aY!q9%zRa[va"q|mM0ȑz`;;laԎ'_<[(A䰲8^Tm_n~PJ*1nH!&Py%fF!t{AI( I(ZO@A!=&~SV400KΰP,;M4~H0Ukf%c 1%ꇌLW!tȢسJXIeZ<~I %I4cKNuwQEtH\*Vs|8p,a@xpBZF1( xTtƝT$ZA0] 0Bi.yg*!^9$b< V-:єhyE9V"@T>5&z/j/M>djng_Pxt%C(C5$sxC5sXM 905NT._yִH(5T|:7J[:fW#K,O,^ℤoRT,ǥnCo埌,Dz)` Z̫:@`@%h6$] AJ)Qz AF險ck.E 0W<#;ZH(M cEGD,կ]|2hHvRn 4!後Tuod mR Bm?XTht2&_9B0?{AAς+IaNsEN rqX + ix6u ė L[#<~ߌA䩊kb%KuTap{ #B $7%J7ll/ȊÄ%сA7dcJ?(P AdʗQNPZKw4|K$;++~#uFk#}ҡ7=q q 0TQ<900RǑAhA>5T5;@KB 杆x`AA/A+!N:+ BΣ  # uh%*)%KKe CQ!yX !lu0 Cb'6LpqK-,X".ҥp0ZX[[.[Ƣ x(ㅤѫ-L*bQqʢtxk+(0M5<6YL:?!VtI 3=zFfB^/KZ[ޘGc!,^ą tI?4&mp(k8+Rp AH$$ t(q,T\M1rf9 N&!.ia\jbY݈,s3u[b-!,Kl3K)JĮsPC6yFF~.帵̲%v\_ͧfoY_JW)qޞ'>q.!K!+Nk-u&*-NK~Z~9>&YzS2Ӗa暹EAJ0%SnI^@N#ayP |t7!Wj ۛnL^I嚕%D*}2-W&Hk0;"/Q3_+Q,Sjrn$~ӐiPN;!n*b)Cz 'ɵMk"qQ:uL*ؒ+lM2qʙ!Yme-n>nf&*ݳ2&F2MZ1>G+sl[6Q 6%Oj]E'76j/ˌR>wwGz.6 j'E2H'QX'b ;腑z*%N[R<5g =w[N,aU3f ^a4̥TTbVJj&i\M:kM2>k{z}fjjH)'f9K¯rʜLm+dٴ߳,ZPW.d;76FqB [!M-j'Դ:K![t'r1kBwyĈG{wSU,tC.СV[f׿\D)3]ە2[$}+M"KA>D\뇼t0Z3nZi*#-j*_ Ann+),~iJBrN9MM!P\ZZM 7ݒBm"#kIg +WE`jPMsUBhUYWF:RD:iE3,!C##+%SU+"E)Q̠mId=T_)ݫԈsH ˹ȫ s>!W"=pU(u&m $llv5L&IFV}j==Kn=r6vrW|)(2gH{KO&R-(Z1IH}Nz5E+[S*ĠS8 "0W03؂8QNKn9jckͤtkJ rkSEN!c"H]_M>]Oړ0D?mb \ۖ]"Ȫثע %VLa{rSPu)e(ܺJoK/r2V!rWˣԇc>^%#ʦfj.I3ab9쯒~bX:#w\FKB۫6Y-S=w,TƩ:WGNe}tNNb*IJ٧ű)B؎2uLyX-)DB˚m)UF=HS#ќSNsB"?:G i6Jo AjߴɜߝV֭Q8!B/H2Krvk-*J&nsGmi*V^weVl!Dړk3/Bْ_5RqyZ%tfMzPuCW☖eyl**zG&wY0Ar!hי&HR埸_9#ȪVFЬrr˪a3fcX~#n_%vD%~A+y ص2[ԃ)t1LAR1C(ZTe^#2>|,|cEhs^IVBO5t艾.w)fSoiCVމd 1]1pujhԫSm0zX"ska0Ca,z?'[ls6#%H>?ᇁ\p^"NGt)H8a#^ ᪶"JKq@H;4a4S~}>$\(Tn:$IߴL!K.-)ijY<Robh815PI@G5$zd\H0Qe賎.NrA- <6XxA'O(9( 0iDu@ίZl.`!:B#Wa?#$(4@Xm Rq?L&ߊK,8-[^2Q_XHSAe=g3 X)gZPEp Bwi&(91s\ @Hqfz+*wPI/<#XHCBS1d,X М=bgRUv*:[%+X#s Ŋ'20elޘ5F?#&E8 JS 4ԉ(A0ØO.ZJ'G~Ď ``4Iy@LaĊKdeS3Yg0`P;\7)}sޚ P`Bż D3O}HXW@SI]6+T*óe##?DC `p>=Ѣ~;ߜqwKٽwbD1Bf% ,@ $^v<$5r(93sVBU$Y7KF#EBY1%&qg 55 h) $Զ6ꃱ$N9XбF2KaW$I9Fɂ@BQc%B<@GҸU ()*XA#"qy)ֱ)Kk v2P&gGM˔ 4b8:G;&`y# ?Ho*;QE'_QYdbP^YC{& R"BG ^J_ R ㄴ RZbWw 9Ny I:1Ib\s KרA`=W «k`bM (tMTYD(qp"Ma )hlQMB4YƒIJA-טLx]Rш҇߁euYH$iC縦rNL"eDm&? ># N SJ]xE(%%9A#`ZnSaj 6uOaf^Fa:!DH9.8 G4 4c)F$NMH./D+-É%ʚ\~(c9]4_!b`1hN6&P@D砑G% GA:D`%kNP† 0:G=!./0*]hlz Q'սzڳ % Hm#e|Y&Q' Al?2Ю! 2CM Dm@-cM(qH絍bQae9!WE kHZL re(AM4\JH1afm!bWչ na84hH5Gw**̢UF)"XC" kJyf)կ1Z@ ƈ{fe q+ .eGzPI4 YF?L8r\Qa&'aX,vuZQqK{)䚪L|pЊ4;.*=|EA!Diռ+aT*mz%CO2$2F}x4XŌ]ּ| %s*t [-)Cʼn Ujx/j\7 rqs:Cw*ԕǖʼnBJs$uĤCn=&6x8p?EhQ7NZQSZh!$`f9 Hg4)p[!Y#VXH)(QGP*ͭ L .U3R'# aW*cIyME+@p9-&D)*d ֠!'$$aqj^uu QGRBy7FRR4ǭcG R[HۘBWK!8md`|Po% ] , LabRPZlA|N3Ek? *e~ Y<PT y.j)Z:s%^hHɨ3T8HN&2R1;4qX'JnmUtW_PSJq/9\{?ԏ܊?=. E"UFN&ȴkzLrVы9܉GD3!9 ;jOԠ..:%oaId̲%&>VQTXY=3ǪX9;y)G>p/moȿspnLu ήWY<1;)9PFo[AI),{Ր+# I Do)LE0M6B W,: TX)anj9Lc#xj:`4p… up9ÔFpG(N2x;BĊ/`0Ă.1) ‚ݹmM +|\!e4$Î=栍#)-j[9$"I7ެ)iK$ZT8nN3IưU)vȔF£Cy\CBMEr_dҟ.f2MeJUhAVbycg5<((+onjK/6)!LC WrJSU~,%|JVtI1hDMArҍtOnڨžiY]k^m1uEn~ILUKTYAu~}*&!BA/!(9;)0'}Y,ٯjTAF5 UguZb'\\VA|鋆vۛPQ]F0{ȅ2iw;[W%3^xZk+TZ,&lҿ2 w.f _&y?xj%8l$8ױ_FrwrF$7:D#QrDNd1SI[Slmj bgYL"N)_[^J-ΚT5&ݽ[H't7q+n5(8P1VE&׮׫bH;3+E%v'w /$G.%إjۋV iQT+\wS &wMJIU[s!M|\|XU;8+LUJ"TyUҦ_ݿڢKBvŽ?fkѣZvxAk_oi̵xcfR3 đJhַ.:׮d"$dRM! g6­8w'8=ҹ׵)WDZi'>!$b`"[)' g7e*͇%=5"6+D_9訩glC k-&kյ7JjJD8Vd-{e*-DFLZ)j>jc!m("gJ'ܤG>3AW z+$QJeQ1bc/,`P[3KL;ŊC0F2AqAh1HOI ]ՔQB#$l6ɦ HF`=ٟ ".[3|M1ОRETr!vÁ 8C҇cftYsdW*RW[euW}TZ93s|='3ƐD[hfϾE(J_"MAޤZZLv;4{W0ʒzg-l(B7 EY']z(p夙kY(9QBYKŭ6ԥVFԅ*J9ᚄZQZtPte! =קEJZ*ɭT1R'fM-Z.DBbJ3J+}U?b蚹YLQ:P>0fRfU9 8$.bXk\ I +p(O8uh(B@ @E0yJP-R TÄ!+$(_YJ,f~+sݪ4{d[Th# 2w@QR^#bpXC38%С^t\H X'dI)^@(+ȧ8Ik,F9[8H;IHlP)L]'^+EL1k9C! q8-a_ٱ_uM@"; !.,C(i# ICVa&eݑ,:x3@ Ͱ?K!>QK|AZ6 !q8yȊA (Q z $ gjuazr Xb›QH^ǰjJ"y[&pvEdbQ![E |$=d f@hƎ FL}@oV? y] QBL&+}.R$RR`M@xK f,@D&9NxCQbѯ)p\4%tpE鏊{ "sI2Nt4^p浕 q *nN)/ȕR-(=hT+% bÊJ= PVj^EFZ`8 Cjt@*-ZjWѡ$0"Gd0oKh@9؃7^ $a!UH9 2 Մ}uީAP9  xϸ(39iSޔ<0bL`B3ʕ!JkuPo4S#cĹLYK|nNޘ9CZyV+h*+$! H#ҍ{B,Ǣ0Ƭ8S 8h%iA]GՂF!_~{uZba+(E9iSO>W2L[Ań,2M0Ig[1`Ih r}\.YR>aLd>RP8G%!Z+;p A4[և+"_jR~QV3TFkNgjQ"Iέڠ#2ީN:O$ pK#T+{MvSt!D].ƑB(]TS]fPƾ<)zOa~ pi{ kH•3|+٣?oٓN!if$w9ԧqgg>ljZ5%Z1$ڹ4,ŽZʈ^KWi"߅QMgɨ4Dc`hM @ vyST y<앸M$P343x'$đ6h嘃ư1j!#C Nf P4 k 0ӄ eF1t,BB.RCTGrt4X(LW,q2 HfOƌ-J0Yc S8ұ) 9OSD5HvWnJ^NuiʖDq9V H$\avX "|‰&!oТf1;:{<ޮDק)$ߡ%5#N(=.y}<ɭ/%IeUJ{JY)&yO$݅WİuMմ4ISK6KX C`@%<4 9ھ*V] Ԇpq"h$-xa!jV'r I'>-JhIXn-MT7D.ZKw5"ݑz`7ixp.evW AȾLn$g+qYpmz$x¥*tE*W0ڕYϐ+ g_FYZWأmFA,19acD^b ez U,7q~&,Djs\f>?Bdi [17m!u%$EQN?۱]dXM;X&=i\OBSO@^ cJzy 8z)%ZsmqvO"xҿ}6276ᕷJ76g#N33.J2zPRUeې}&RFRW%^!Jw;yJWi١6Bt{t&G4xs<M޼4YMl!h @aiKq)TIelt+.g_i{ɩD3 ]niP ?{hߺΦkv(nMe r&IEJg0xG8OKx@`@NCD (Z'ވY$|ȵܡ 򫼃jgn<\}.I(PMjFAc&z%Be<? '[yeENМ.WvCpG~C- |aª@y_XٖY=kR)EZiXd«*ٞ`Fnlaؗ`!DOe5vm+,j$xK<[HGΕ50# 5SdrTO8D$)%W35U}QۇC:T}7MXzl4R2MI,EP󐣾D- +@^d-dQFCI1TfB 1oŬ7QhNih*AlWWįl9^g:]ALviڇ*SJЌUP@5!ѵ9ʜζ%wԒ 6UB^ O5 3 \`"_p4n΁ċXL[T&1 _$n1nib=6؉1I=).Z:$ YM)o6f'@Lm4'cm0MAH*[$s_8̞W[r]t̿tCΝ0J-wqU2; G@Ҽv*,ivL1a)2*-"|K 5f2rT)x@4UҢez>X4ĶcXXL a8` KQa^˂@.IޠѡTÀThN?\r~ '?ڒDB=|?-X塱Jǿ6P~Q!V{N)y+MXm)\Rd O ~nnmSؼvJh7ym#"LxGT钕/]UDmS*-z^m$1O<[$s EGL cAqwTHv+/P*!y(mʬ-y/Ⰱ}IZ"uX-#FzQj&٠2czGl}3WދHLʛms'\>2XhVdU]S%U ->BPAO!5k27q(*'1lE&4BqV#os!"hگC#AHMdX%tMnۖ{$t"fC^1_8Iqqb qe5{̌0JסKRy.RW0*05nq6 EhX9ɠǔ_"6NSveLHCكMj!9LV@R6ӳżVryMXHzUmոզE;^~7S i_[\ml%w6*4!v, [XdG.XlSp5GH n{Pc6$d~ղ&H3cFRJE3='Feh:ԍ*'මڇ^oАhi$2H7h&{t|(: e {CT 5M BÕZ[}lӮ{5 ڃQ@nfcPgښ7X"M=y8rJ =HV2B^PQY`#u1Mi"tKp$ ay'\B1hK4p"с2.IqU_ Kl"^[؁?b_qSvBK}6(QIv]&K.sbh6ra5ΤW ;*fpb`H':e+@ę/nBZ;Զ@+3<iDGdu)m_l|YSB|wt _5tޒx&ڏHDѳ8ev޹V>WtMl;RB6x | F? ̖?8 ??;ߍBs_ptP|ED yĕYU1A#5ˉwl4Bz1_#"<~)XIAO])uۙ#.O$͔U'@"#*k?V(<0U JOF/%TH*K" T*,e8xZv0H#,-uP(&= >%xwצA?..d#TO @|ƏYl^l e!1M" ԦKOxF؜ (v=9V*b}+Q ^MMS b1&ЗhUj8_IgNy}Dpdՙ4a+KS ^%2WBLzuoJJ{Zʹ ǚ!R2cn*=ҵ$V mVOfQ*(rY/rLp"1#cN434 WC-|}0N_[7<. n eƄȏjQ$FFio'+n=p٢EK}&N0@_ԁ"qڒLyDFitQ x#: ]%aG3v m'4OFLd>8w  ;:t)|&ղD(}L4I"I:CcnG!^:܅@ܯN*= ^&LPAbT^+IZ%Z+DLJ^{w$ki#4V#Lȏ*.Y7?%fN[6%ڶK;`*6G5J 8Jy $N$, AR\pBc-eb@=NNHYvq숶fˆO!6tY/A!sUivÕ F$ՕeA⿒);~-r Aa]tNE+0<@M"1<-1 eܭ%Ypd5l€fFWwAm"A-ghN24- DwytfB[#&^R֍PoCȤX#U!D"Me>=D5R K \~A ј #CuK4U%SȰ<4YXFj-Vbi%d's`Ęcl'^0xc`Ug`UT BBv*k_ ÄZI}uE6S RUSMNuڙ|=sQ[}wki1};xâA 8$(l}rT84 \ś+$@"- t[b Wa_23]j$UjVxg)֓%1vblIc$0>%Q vPмoB@Ŕƃ_l`ia6BO:Iqd0zzVtÕKV;Sj,BU],:jupS-K6)nLKͬ Kw!xDL.GPLsK%ZSh7@idz&ẈE4BF5$So: )pW .(~S4HQD+PvI0%!Ď]T'@HjZ5D޶A]WIYY~sP$]USO֟="V'/~v̮LxiMJu*hvu-+[ tbE+ܴYOhEM1>c@nľ]/`ssJHٙI[ejdf  :;0g P63ּt6$3:]e@j?USZR Y; KnJ(Ti4b*D Udut ' y.Mⰴ4ic1#Ȃt]$DJ2bBHp+C7C(#DZ(c^an$Dq hU&nT)ŘL #ƕjfM"6hD-HG W[zOslIL6߬t/(h42s҄X$'Qvrvr(TzVڶ}ze]eWLpS~/>5vgNlڮGAAGf(ҦX8J*I7Z+.PheS-H}ݝ=|;f!"@17٫y=~gcml|hpqOzoT6(|#m' _^ZpevM)RӿɼPClҮuedn@,| EZhdbt2z n T ֔n*><2~gQPnh` d,JڬC^'$0vp=Jm:}],fMKY S59޿?G|*j"4yUnC8BD0brz(Ixxf715PR1^o\Qnt>_}%c uovn2aҊAuJį9Zd6^+\[.)9CH7LJTrŊLPɈ5TC\s L &{d;( P-42-hj3VM).'t !d' a [^$uiٷnb&|,UIHUMMd"oJ xoꤊ$F#C~B,ɼbdR:c٘/T)f1)M)-rT-0D""ZRC.%K-&n gB;aAV(S !#t%2xr!;ț6 { ګHϾĘEGQxk.0*L 2N) ޮY$WD{:ȐǷݔ؅G[ŀ7X%"Fh,İv*U"KwNʹE6u7B Vx=CD>ޭ! ''IӱwBEg}5ĆOBͤ}kZE&…'j6GU բK1f*<9^(J bNG%fe;HQ3_Y>a1 )B\Sos',mh %BCO{@N{)R}3Қ3+VzBTPY;n^tad*;&l`b(RE WR1D VYDйv%s]dLToFLY7/7XH g4:)o$mABյWF)3,TH0{hE$rvWciMm}٢qs4B}Tа271HF]հC]Oh$0w.31Q](@ac3 -P xaܣcA vwuaRr 8KAe cg`=M50LR!V(1>tuRx]KX1|ﺷEE|,oڊT*Wlh 4e"ԅ:Ef)dXV"oX\W-Fc-HӕF0B+rq-!0$>YXGWɱ+ wPX7+Y]4\ySʟFޑ+|aƪoy/4+rzv|y5\Ȉ9;/:|mjx۳ak35k6=j+ '͒⇬GdcPHd%VRZZvS`n}d{Aub(5IyW\9H!VBf06N Oc\'+: S}fQ(me3 QZOt(4Z``4'>-A_7TbA ΘPD,\8O яoS"r)#N DӮ YEYwQ(vFuC_9ID bpTƳhE(Q'\\8{A7cX0a6BgB* =gDҕJ;iP5 RY]լ"OA[#i~M" }V7}dF2:Qڄ0"ѡϹGi,LEN;n_&v–ĺSQW=lF'lY +Q \FZpOpbb]9ݺ hd|eݜwJjRgwEiĺ؍@P`,OM -0/gG͸k FW8w~iE94TON*V14@"mMҦLlV#D3xtEI<.b[3%v[hq2uU>,lg:y6"W2 Esq#HrK՟L\]H=i<*YIq|R =ë]2 /qfDfaP8ɫ+ث5r^qLA)W npi` y=IKt# &T"KE|sH">4F2s}䛑jX0!85 ݠP!̦i:xU2b6!ԉ㶑ҐI\IPQ;1JAHYVEtJ],sBh onoiWQxp5m<ܴƒ& ^őXu V# NLa|V+Zo1P/a& .!y ː&jpMYe{=kH,<΋ÙmV(]q˶eC]!G_e]Im`ït)$SXV E\GNU7CY% 5zIH2owhTu/_ndtm_s'Gzr! ӑ Xa1tx:l%z@e6gxD0J<^.HHP-wK!@p8T[ rKS,RV;DIL#6IV V5oyTfRyV<4ƼWKįiY!` "T"ŒQtkܾ%9h/k2_z3"V8_tK"nH&`t:)uuYQX5:y D)z6 'EZ֦>:!2mJ8B mh! `c 3־ E LQ$c D,Q-lZswt1fžzP;bӪeZKgE3:-ui&\BfR#IhGHWۡU$>%'~itkL}*af/8TuԂD)ĵŚc/Îʛ߇m,M+,x~_;bw/og~fKi]Jq]VVX:L]Dj6RzSJ"U#E+2L*u ūhꏭ\A=Ie$]73#M|drHm"$hHlQV^_W'a&P=B)EY0LBb|k60)_a8`Q%]74|{MGl2合#S*N"S5 o;0g㣌Ll׬k%VtTb׮SӼQ0a6А:Lb6xL$7(%"u1ԡ)DWWEBp$bQٷ$A6A[-MQ`ePr+cItAvJϓ;V_4٫/IŴukEܸO8v)bQZBt_YVҷ7p:Vv1K?oFBAekMcA-E}`UYdt- ¡b"? BB0Ցwn\lri #8 ݇z?Jl@}v(~?׌i9)i>ccmY}=M]«79-8j> Z(4xhhUFXӽe`ʱX"$"?/ tz+}3н MN : AY&HP>1]!bCDה!_׎TQt\58@1B; F mJuWKNY"-*ϰ0  LՍꢟ8'r> F`2F9u+rumcuAnsEu1DcCyJw%˱G$=bCW~u{cb kW[GJש|oJ.}bEaW6O[xB'z&E$%`ʍP2HFx8|氮4`cʧ<6:QԝKܣ Y +N '%R*BZaoΥtRe4s"cK {?s2RKlKK,c:0j G"_!3R"nGKbG}ݞO\w{eN'd=V% lb -nOV{%K^@hj9Ϣ4H }xlԔ6`x2 t .&*"[S,I J"xu62K,m?sk`Uzlmc=+n2ԏ5-} "_rE`}p&@ @t7Hvƿdueb3U<|_{Em1}CR/#HyKkΠx6#jB)1gҥ7P&,?Bj+Ey6ᎮUG?C2{F9k[fHmB~7_HJ++=Y@OU.SnbLizWC.HIHsei5I}vZӺy"R; Lc!Y-pNj$"'y8⤂Tˡ7X/P-mD ALvLK_DE$"@tmB!Vi &})d/D4 "Phg ᄞ#$cC崂o?6q*Є $p7 atHkq}goY!zT]]({DErʲ;-RKZ& L=,5d2} m6;6ytBzy'BEŧaYt#&! 2"Vg.ӽeA!FvZ#_JP ;Z I6FaEW9LH"G&%?VC!Q=HҵDŽC(Uw뫂or&־ &,~ ѨNQHQ*8?aLR,.m,WW~Cnd2[W$Za8@@$.mA(^DIஸ axNbjWll;HB!lj$MeU@90>Mt 5CXU1ąS(HN&Y~C+$]-7&KcP@FEƄDb͟v^]IM((@AaT\~ih݇`h9ɿB'7jk?KS A-qaʶgT4)QʤHĎ֠ɦ̬Ȝ@wjxjrZe[l u` hpl6|ȢL!kcYH[]%\@)Ҧ9Oe[odis=d5S8cEKV#^܀J]!0pHjؘd)[KoM/M;gE{ٲ H(>Ɋ I(]L X靝!VJW[17Յ隱1d`N6k{(=F+H}8 "xGNp} V#CJPDԹ17WSy;tu^]xjU$$N%X2L!dPo"H!_ǜM'ΕH/?J-'MҍLX.X8k֩CA-]*G n4MUl62ZeajW鈈N1_<s}j\ivwHKcqnMiLzJ͏SC$ձu6wZ6t#fO%Ũ } #G202 X5TVtorqLx!J7 eQ^I g,c1lXO1('#L:8"@s6E K.&Zm e*WŌ t*mzoF"Lwt]~&RfIw&rȹ:L)lb[J]6T4YfQrЉ+ѣcH4<QpU7*M`#3CgbЎAlL["V^3:o]zGa|K)x7ݧ˚L-~SS?σS wWEI#WCQ uQۥ[WKThܸ ?5]p`ty,ZA`հlJtjYφ-(C̀v .&x?<>c= u15?NUr!TUR`(g;s@BĦBJAB -$χ*O 2J2E_100jDh95N\Ć#RFLu1]ÅdL#+)\*e#ҴD7;L=[UiR7MVNiМ迟CoTp{!QMADD_ɸC(F[->2&9-Ð0x,lTk+AOCߡ}%3rЩZElNj*kJjHҔ2kac!eoIBޓ_/`())ah5FͯD^:$/Z̬yuoəA吞B[y%K36(Y?YLU8N{W8`4z3X0Z=xH1>f7MMԬY&@Y1*Ӳp152wtV0)B :^c;}I&wCQ@ CQ@V\ߞ%G2u~Na25N1 tjXK!$2ʒqP|{%%1(lv@vbnYҮKϒ7|ý=f^^Q,-HS6! e6ViK0rܽMJ&W"vbVCO 96 Y ; 5;qewIHmdIN6M،Hr˓w%Y?2$R\ZX&}L7iXͥIr$1SŞRv3@cܠJ"RJk/A(썸̾u1< sV6DЍbT)bP3@4&|WrIcbQ? >疐$Ok$OEBrr\Fڙ2~OB"2pk!A#Өjjn){Yk>ʜWV(LHcdikn[ b(^8z&>5:\@OLۓrrDO83&A_*6[ oGY^]_ Dh<"&wvXH7yÝ mNsW6xS#Ut+vM0QXiIH0)ĝ9w{4OIwDvX#(L(jYpDq_&AZijm7Ec[Ty,2~Kκ㚥 4nԦ&;k05a:iΦ`}-5Xx,+B،3p'n+4[ce`[F@d e"/>)C . .;Mob)t +x9#R)~@"mDrQ7#B O[K~|%O8".@*82b£19ЄR4[~ڄKC[wnmAJp(tL%oYpanى}5I՝NIʒh%V(:Ʉ%DSbӄˏ/O8BXSU#[򚆪|l;[ _ * %Ys Ytei&࠶S^ml@ DH*M+ L_"7j9~t嬢֡7!1bV /8&֤]"64[ ^eb!(; &s`2$ƪ`@4;E%Ѡ`4Xxy84, ʭ%Mf0EY8k(.iْkW"7MޥovQ!r ] xn%k-nJ ~!:o69IQ](bp*:*|W%fwn!fA;$HEaR݅Q2d f W7nZ"eQuGJ=N$ԦdsCĨ3LM,tV,MK>X)>W8a*<ƌo$iG1;CZ;lH7~\&S*B_-7KZA(i}ޗ\G'< ~J_:L D*Y"0Kݑ&"AI=}E5Cz7Ou- oͶMĀ &32U~~B8c(Wö p,xkX5ɿҶա&%ģ¨%dmƫTJizH4B ͢0F8mO1ǵzAU%zl'o" Mv%RU4j{%Q@)e@5)v NW8r!&mc[Vo@98!%AkS5htv280(qh{S. b[9Lb"4`.@]TA҉!KK!cTy $[V:Rd._^D>GSICP2H4S c+Xk#R4j5qe2`x.&L yrT-?_:X_R,`pkGf4. s t9;!e.ETHGB@$ m*Z}5M;-ɼbѩQ6*-ݟ[]Jܱ7D)KdʃH֘E{/1YJLz/I-7jH D1P"xbfL䣞\-gVt2&0zN#X-O H{E92Jx‚NjLWhv_zy99r7xlԡfc=Ū2qWkLA)k4TXD:CbG!8!ci׌# oQ厧aYZbDtmFbD+COIc2粦pFRwX>.J-Qg)QvN&-fu6I|%>bPDf-2Mg*+QA;GmzݧE+˃ -J^=`KKZ!ڕcb1L{3}u<(Szd,X\*p`!K).ζ3!Ox҆6xT7 !mn 1j-9&Z _ibѢncɵ:jq>A1NC*Lt-`CzEʺ :Av=ƍhpbҧCdw|T,L=$C;TPR4]&n Y2M;?bfmif>Q0|+cuhzv&LAfF}urr0&wM "H6mcŪ:h7b%^G7k4kT]4u:Q D=f[4}Vt%zL"S?IQP+oMM TMu&N<(5,Qr1]il췖iv#$|UoǒXu)jKi,$ ~2`GS0gG=xe R-}2|T XJҋ@SđQ["ZlQK"@D_ZC oKmOg>K((;:_e:_3B?fpKӑ\Vǂx_K N"*IYL¸Ȑ66RE艈>p>{Z V+Oe<IQ\5$xE˥/-;Ϙ:jdoWDT]L0|LU?qeK"Yzr2pDIKH.HHQ<F3B$ x 8\!2E6<$vc/EL*(3!GYv}-0:4dAb&*.K 9X_Pb#~@.p2+$+f]H)RpN6xE4o_fe 7A3iL o ȸXznX4juעm_!<y)T@LٓYf2Ey1I=0E$d򗬘H0&,rZ5q;$"1}mZ&Ftz|R" .b ^4ϘE"s1 A I SR$#DOd?RN^+A+(!)"DBLC^@\)wB疊tSOEH >\Im{>RZΡP"$$oo%]FI>,f)/Dl/Y2E1^X> DoSw`lСQF&L8mk&":)"nu g(]}xz|Itk֣B4#דsz(+C\OJ!Sۛ`ˀti.͈!FLWbڂ3$fkI`_py = :sB ؃L(flԚ63ʞS4id%g|lKdvgo$p038OPzhjwN! ܺ2GMЙ,v$@1y )P]CV NSJSV5kp*+HNidTq_zBd T@[*Xh'  r:\<-J0V+6vL/=ro@Q'S4bB,EE:Vk@L5HX݃kk+b5xp,e#%:]g*n^#N@a}k26j\el2`8%B&wjm P `%Ma WzVEͻ3Cݹ4},]OD?n%JC1$B >0!+),6FKV'xh(-cyX)d^ȥPF!)<y0ҵe|BÇI9 Y#.tmYJ927P^v_3:aÈo/4xB\YȤqnSHp[TZ؍j3`#ySwh9B{u}cgB~ ;6LИ>d"|XH; &̟ltJ"4%5#yDM\MF%iF\pR Tp$(#N /P ,DpM R*kf>Pqwj9zlo>C6sV.G-:OcRapZʊoMduVˤ[ÞɈq,rbJ16RWB|=d0'❫I!\_abHp^&-lM1s@#OLRttgg ﬕSڪH9+/IjjV~D3)iqOia `b.JF2NZ)Q5vDj\nrؔrUX,4%( q,xSΟ3La.!K'6EgXVwR>e3w5<8It||d6S+6h,yr,~Mmƀy/0'&Ɗ}J;ayoFZPjL!~v>8&BvsUw/=6:;滠WEMG*+lk,*|-5G9:hmyEFPܔYi%`CZKA"NDr6%^X[Sґl)\!;a#mlͫ%RA{s-(k8O19h~mdg}ΠKig3<݄8%ChQө(B"[5Tm/ &]gN8N^0HW A`Hh"єLȰPT&y.)ױ7B[ҷz Rna0eEޒ{`[8%4 ?W"{NJd {HLRJ&XUb2P°  2^ćHw}Pt#/EG ='~D@&7 ۋUw1Zfl kXv¶[)k3amMENj(gIA. J),;\PӾsiX]#Q]r@%)^bEbzc:-s#_ $z,շ"YEBr޾ @٬tV=%#LBHe(F,.f2U-/%G_5m8#TOb؎-o9OLHJQO5<>Mۋ{χ?tR5+YV~:jlGck.>+H[o[~#؅f"WFu^{]f<}t#LOf"-ZzV7~ =x %qg }sH!b $?CܚTm^3R"he@US 3'YSazD4oΐb!=U(XIiV0l* d_-{;7Us¾J?ѷ[oQլ_7ԶH$4ZwS8>KҀŪ{LJXP_tΊ,T0TvJ%ܴBeV,̚yVҏ:{&1%g 1qOLOEZIߟ88=4C#@.{-q $=$+gS%RnRţuh}Ib@^gdQȀ$?].?{&>Ϋ.wޖJOuE,] { M(*q ~8wul Ҵt0G/7)K0Ĩ!@ف+ƲBQqq(|{bg15B/沃%_Zk軃";2^el=&aw 3o*s!_x$UT7RYKXH՝wc,S$:ү XTSmԟMsgL8@/֎њzBxA.?y\Lq%e:4L{  ]"4e#PX Fh2#54y76ؙ?vvV_Lɣ6ɽV[AI-uڊ/OMk*O$z"cX0 UF)1(e71/C>A֕ ʹx85v~:tb&pM\Ihpt9Aq\! (k$֌ 8I$6_).R &bha{Y4zQ݃ʟ?MU0w߅=ĆcI%x}Uot?fOZoRcz"v$D^CqBRzEܓ/&a?;";3"kOkz=sM*bE9Lf( Fm wЛ 4L_ T琖-)p)5$ 0?E>q 9֪Szc -5VMQbg"%ꃭōԤ=_[tpVҐ;D e٠=3q倆l-=n0Ez/iqX6S6+wg4L BD@A` -LԌ?g,U#8tD6M%s3I/CR=H ʣ*(DǨ AX(cy[.(cbh/bLq̈́e OZ}eHIHS61&`>;@ @u!s q`wtOa d.atPpJD6iőOfcZ*0υ)0]PߥP,2gυ r #BHx?v5L_X@\j.1ҙ?3ԐVM< Ǔ숼'$JKByS0z1H71=Ki S:\N Kh[⚒d ,nN%R-%9C fb!iֈؠF3-Y*_;> K}JjE,Vڲ,XmJb &?Qަ?ֆo/g) O@I*TȘaЈEX*OƑRR QaH! m6眂Bc+|/ &Jˠ]IT| ASSu[me gخq+E/25C$.G45MXߤP‹gJ&ht>t*> <"1Q@9HA.$j?.r#Ud` WbBGb&4C=+3uGgy"1`sK#> r'/n~TnRඬ(E+EuYI-EɘLApb"q.Zz,j$QxbA4hAg/"3Q#(3?@̺*^| 7#QB6ȥ2s: 57->l1=PXHrR7nf+k,6{jX@@O#̆0 `,,1'2~B㚪t'‚SLP5z{hM (Ŵ02?wh0rrj -a7|W9O4Qo-ru)oֳ}%CIW$4Kkoe_ BBjY\nN|Ldr $P*K7@lR=Jjj{|>?J<*vd[Lf 2$h"737 BTMVϫBṯ\.J}Z Z.5?i`J/35B%D(l? ɴJY5|֓@k =&͑[#wKɍlZfJw[VULy 7B*%쎇 U'88rjڧ1*30)urD$Tk#UW"+-,'b> gqR `h-9*o!Gpޫz5%V( y TT8qE 6Z תAp4(,CC V(E+|DX*8Kbc#xa Z7Msi8JOꛁҴĎ#)dzS2/cSSm,sE%~ r-/#eP3YJde $_.)OoXOv.<ޅ$ =z´9t-jҵpSdeD%y/RR cj67~ ! oAK~R>bӷ'WQPƖYO4-u+V@MBF* ĄvX(Iy&(yBK#]#dJuei.H |+#,KFPL\"I n`9)d,N*Qېy3^١%CS됰䓑!@qEH;*(:wH 15-T1[ ߕIQNT©vYV>a7#vaꛗl=B*vE`QJR5"$PVEx`14@o%kWǫXǟg%EFdÑ -.10O]1ȌTk+O`6q!R]0쵤w P!M s' JgmL fbڝ&v"04tpK&z\>F: 2(K6Kt.:d@ YV!Q@Ցݨ{.¬kJ \d6")aBuL٢t$%U lXPD̔zH/MP#i:*g5QaMx9b#9(&MRz`޿qQsol)/-P* נJh-݁`C\)jtBV3Z4"rZƱ- H҃Ő>UQ.bD)#.cVR Z蘔 {\klS: vb%3z5޷5m#IWRNqȻi9^ZsNMylFGNwz["sJ:!&w d nLs3XnY֭![ -Sޞ%.,'x&zUkOa gp*AlJ<löC:!ZŒ KT41ʌk7BEIHhsgrO)TFQ9'Ŧp&, 8ļ|괠 dj T5%nB!T„l9^%b~\7i .S#U!AEG t|b"Nv12x$@"xSHJɓMy*^2waϵ,V=؆eRޒ, ˧GB; ev^hPUxHaױ&`TbE DiʀL ,XؙUMw3 ~FهeںiK jb7%G{-)~ p-;mh$:ı&'f_1GB\&l3n[*nIn]nTku8 <ߜ}gZuhaj3M))e FCXY'YSzu0P4KMىڙtsїocC.=r2kjگB$\K(K o4Ă2Jٞ ҾnY ZԹƍ H% y`O ŒATL]騡_:RO[ DDs<@h+J%' A5Xh8fMɈ8VJ P؆Qԥ Gو/kz<8 X;#Ok2%Ɇ!Iump y`"aE{*9-TĊ} ]5"@D+Y6 ÏTc{Veih\O ^oɳѷ̙#Hw܌/.  c+OݪsX|%%}pu8^.& +'yl$8 kw/@.7;< VNJ 'c"+|T0t"v*-,Bƶrи((,ORWLmؓ#riDϤ-*U8)xC]!c4t9ĨȋʗW iI(p֚(W-A{(9O[h'隴 T~f!y 2re=J#t)V0Ĉڑ^r/ 0C3*:fl}q7N<^j%#$|J3>{i;nnW%5^ ѠVP'GW^;ʏR$5:9_ot\n}}ZKjE P:OM KDlbb>1@(rr[1n #>B1SoPY'zC=V&itHUn;EJ\ŜY 2F)嘩&Ⱦ.G47e`HO ,KBeH\`ƊgdBݪ-dgUyȓX",ȱ*46:[Tm&|''D]o_HJudn j(D"UM!s')^Lr'~ N!BV)3孓$|?\)mL}+7GJ`}&[!@rfI,)HS#V̛},rzP:'vr\ꍅV |צ(EwJuE}?4~XjтFFmV]QB{K23l#I\Z)픁U;aCS w< 4wH'u:T1&3`+'_ fP#f xPV?(( >yT9^08t8)@g[Pđx(aqdyno-l?\ \oti+ f6 3Y)a]„azWa&p+ny2_P&oot͍dRjyUW3YZ|IZc}څocąf79E+w[EH1" Z#|LRs1FPE{x#8'Q+Ȁ̊! ^BڃEׁTRbL+T%` &6GЦP`(r NB6N(*w jx6%`cUhr܍gM*Xfn|-W5aSzH% _ihjnpi,eDNJGhP LzQBu*RQff "/ ,OC]Q xZDQ?N&B"SAp~"Ps䯜Y4, |kg BmI KɱX2ڇfoN8v? f- n5RR&y6+k]?G,承~+ak"uI3:=m*7SoMj(lMBo6SvuV\LyY+n72 Mr+W-%T^>x~`ѬrSTu%tU _*rzHӸT.^FIBe'jxRCZ#-uW!{tA:^WIo.HL*RvzbZW"m:VᅇG4HF`lCEeȎl;:ӑHaUKo 8A/9k%*6~=0Uڿx/)G(WT:KϐчŇ$'kyl\E"$}!}^evh,0Kk?h6i#`fGKKyۘ - M)bpKrAW° D_S^OsQXTq[C"R*jH 1W|eS~/jn<-b?VZ8+q<@܌2yy˔/R+s^ՋtWo*ot"$)zvhŊ#ʔwMP1ly@@ЂC i! S Dث3HpTm>‰\du=XQWGGeO2B,5 qYKeE, 8&BM  9:W蒊0< EVKaPB$SE2{$bK -{ZcҐr_Y|EHaD9ƥ) MJRD_Hq]*_ޒ}Q+QqR[5L* Njɒe&ӥ?~\Vm:#-#v1+R@~#.(pըS,?^ NGAXZg)9xJ E#$,YŀF04=G=xHݵwյ29y 6ʄn歝cn X(05iiԇ fr֣U*BTʪ\""RGv5k6W^mI!'!wMO(i&]9 Saj^b1x")[&#|F`Y!+]Nĺ32YQd~@ OBWY6Ucȃ4W2\DDirrT/L}i.dz"J`aa'|A,a1N`{8Ƣ0$`|,j+,6-@6˶}:/b] @/89-lPAMyu*3ƷMSB͊K=͖Sђp#ioХ}߱&JV){OA ~R^(`fBO\%̧ƕ(aǻK9gCyPIo;LG|8֜V9*J*ʱ3"p!5~+;'[EFR)']Ko:([G~Xp9I+Μm5415\'"hB8,ϡ[tRISR7^OTRLbrjn1&@SxQ%2~U# 0f $ D,~}c9zG"ѩ~xG|TA fYjyX  bԲ#s][ZAÚ.vtIk[^/ny7U?4N][&w|ku2W`See a]M/}br/@E3\[R؝)!#obs}Ұf7/0D!#ȲTjŇ ۍR"pzA!{K(,TBt;NJY"jѪce l&8bY-#ho.Sr5z47(ٽBBҤ%`úm ^";F[%>Aң 52 <EBi!rF"c¼r$#uMyṿۯwH- [5^̬p .`ЗitCLvvbtKAA39dX0.KFGI%䑭.|z~ɔJœŚMllٴADcyK7˦Y[_ik;ӸԜDccb*b]seT=!!;(IEG̝5pv)J 9ZN}S6ՕP#(AޏH4gPwꍓKyerxJ+k^oH;?903&'dIa#JT(KGѢzFdcYjj!PJц dn}а*l&hL`,^6T2FO11!AXUt2p p>7-|ߗ["6ێ١^3dUÁleJXʥwkWܛR߸8!%j{!KUT*\L{Y+>TԜn[j\y;tֳ/B;oi1?QYgskt^)&b$OcEKU׎4{ re41;DUc Y|%%.cԡFОxTK r1J$؂Ւ~D]GmA,/ap<)p@4<)fGNR͛|X#\qj)*O!M4Z>2$\ڂCPY̽cIhR;HCrav:3ώݫ\\t(da#8W1K)F@Pʢ $7:ϲRR>`oܥBzT'3,I˦KBլV\oe?ʑmg!lN@l#yT2 qV#B$ʄpH db}@@Oz揚*ViIzl:HKNՍ|Hrbmk-&?|*cjyCG#$\.4 E "!^uޜJ1|j"%&]+J-5P,o},*V%.+3;r3tӳ9U1FZ3bSⶫ%@r+ dcGyk)4'n)ZdP3arS*D) O+L7NYmi8S3ZXz*Oľa9nZ[F,W#St䢅XĊi$e6'LUKw"g7$>H^29PlYM]BڞEnJ/tPzī?yI>^̏қv*! vd'KQ(8|̹Ro:gMx u(ݣBW+e[_IL4;T'Xn&Z _jxL^1 )K-5  `16=BpWVWmbj-]J;FD3Q;h܄&[Ιȫ"ޖqMo讈!Zޕ5[unn$G)"ҒozHҦr[=5),(CCjN"]}&&i[ɵHl~|ʎœ`CuՒ;x4D3(sqB\ /vZOdIX&)$$ܕ6򔨇vj_NޢQUOKeJQI&(L/؋O2/ # bL}Fȋt2xېL2)zT3R| UwRt^HƓ׎fjB_l2|V;Y/;\,Y~8[C=UIA+G)HH `jxL5%r}V雸ĒKU#m?o˪7 ȍ(#z6~QSkh }a[)D'S/N"D׋Ze^).xMPSptؠs$fE4:[GWH[;x?SA=RS3_-e֣)_^_ŹdPPNc3A"bPTDVQve-gp 6*s[_#5+H䋜ۚRX FQ#Zk-ҩGXZty~Qw$z^攰b\C_Ա9 2w-[ `a p_ɷkoU{4uLfst}'; T}[Jms4ͅj., qR>V"7;qaSO˄i]neܼNZQtjO_a0u•9u IL.ӌy;١A0vٮ;ڒM+xFHjB1Y?$ylYd%.(W!p-K}D`KɈ9Fec񎴫럗c  .c4M,\,h} ܺ!$\x&X%W*)e˕LdiD59p%VQ'$k>*Wrҧ r]75IvdE"Jə-V_qt!V)qͅϊX$=U;hщ3gw/麛Ұ!aR+i47GwSJUŷvaTZ}1BDV56VۑS0_aFd5N]R"vd^ SnU$I \;IME $Y2%?l؝IՌYuHO<M|_l)KФL؊%xǨ't/,jED:c1I f.ٗ)HH&H,F҅[苳Oϻشb#1FeWa`$TSP؛U'$5tGnLgt.{*-M.XG ?Z L%-F;,+Tz*lӕQ\ITE6 J ti(s0tv?bvȗt-):l~QYpu B1 H/.(䢮R$7dO;85*TsZ0iZ=chI^wZ΋VǬe ӮսOI!=iڒ^m餟Nc=e9Dc}rEҗ>ԅ*)|F~Zɍq!/H\А=N Ii<3iot.THzؿr&c5sF K1v+)LPR=BO~43{ȨYRނ͔oW6? ̱TBiعpTJ3"**n>BO6`6//RD&E(0b+ OҸJK?G&Ύ]?`O4$K{ kk* LP:p^OxK-o5ޅq;v \vly#Q'3Rs1caJ̳?^9C+̖t. 𹂪4@V6nߙn$JV^3u\Nʘ!q5,r~ lql et)mRTBT #_/\SU]"Xi4II& y*Y_ f&1Sdz60$ %&4BWJĄ'Ռ-J9*M<KggLB6؊c!wr5:tB`n w6I)UeDlلX5h!^I;^z-t7ҼOڐxbb))^d= sRY_)8w1ĐB@+*hOG-AdԍԵ&Xg1xGвJ;pa+Nފ̑:fD02;H' aJd!bFV3=)ցk,2>:Z*e nf,2o9HG4*+p,,M?ō2hh}CJ[Dԙ 4~ӶUQ_ YQ/1,pb.t@u Ce :FjuÔhq>"f,&ԭ8UX0tf2`+T%%sDt1ȩ/2][9M:ͦ,ͫz(WE"!.K|5x rdVX(Hk^5J*EQފH6!")G*esN,x3)y NU4XƃxJÙE׹B5{ iy}dP 'UDrT&'2&'H%S:٣dJrk5M\5 rwxH 4V.̊bgJn 3ҨUD 3&רW JPv`DQr+Gϩh /aOvCe)a!@ ؃`*BA&z LIx|r!e䎾 ]IR M̋M**65j,!؅-Ɠd`)lo8=%c3PU"FP'/Hyū4wcQ:0,k.RRU#-dC9ڬF։ xu15/#`K%%B,Kߢ]VdAVtU}*sr Z j:7VJ ~a1o".RLk, O)]!yC]A8?|ee>wY Bk)V]_#qԽ<:#abKɥUͪm77"NRĵ*[эqEr*=7RbVHk5=}*IeFJ;hN)w?R"W$~Zrρ7gk)ŁiEnJdt/Lǣj|;֞Y"-QZg8U1)hsE/;O1L"S-]]w|bg6me@z6-͞)́d VnwAx"Of9pa߳/[ؐ,74D) ~$n_nڥDcE9Fs~]S)\_<5KoNi3نIvO_ cb1'Z]fAY F咿w2uY2T$:o2 !RIM .ZD_o-XH|14"hyPwPHnrh&KOgК3 7JF~PXZj(%GƁ`R}Cw5͆,r.9 LMQ8oLqՉjLd4ܹ T)Pd"wZӡq^d12!$ZnȗmG}Cgb;3>kqso3gh L^yvR=G8VPΥa@U| +3f,X: )`GYZΥy+g>6s%c*?~e. ۄ94sIU(ÀLLg?i4\@A;B[(*9hܤ̎St7Iuvd2i9jYmE]EJ+{FD:#A[f{|Ƭ5OU'lAGkNp>KNAĭM,Q<4& %]tǠřd4`\[/kKvN T(>ARE #x II`@Y i i.KSl\r|XJcBO؏/6ǽi˜UF -"F6޺:-אc2 snBDof/–ΝB*(R@VD O,q[,3lh"PHTӶ% !:^l}, ^FPMP@^E"ѻ ~&ă T $3NEKm[]Q$W?,-.U2TLnn08HJ;[>.G^-c4ʤGZ8H2&̒Hl\iBE^6T 빡 0o,TCnh~`Ty&S&{rv}l̀vm=(pDɨ3:DE5c)B;mk+g'`ǜ r\̟ZX_!ā\]M: oݠaj/YS_JvR8r.SD.UE+ⲦIBr2407f2Ꮌ4Ru&KWo3o.-=dq$JHcED(p1ts*h4ABxɳ9DJ/A=˩G02K <>j;&@cHg!y3xy4wu;jf6#Q֮G%UQ3$'՚ P٤Eqz>/:/oŒK0iʖfbǭE /4 q$l>I3ROVMH]A?m U SɌ$nDޚ'ɢ6̟Q2QKDgmn:`w(2J֚U\-n*TMEz:P6AM o{0~q88DnVNv@ϟQ`T!TOJ&%f}MݙNI4gW#EB .2E"dhqɜWOyXDc[yk"nϷ9B3ݙ^;^k{'v+N9)kJH?S=Mq]ZbџZiJSKݖ_' -Q=Қ-lF({#'K#HZko'Y$OxS!'ɯflCQB*20`lc\ƒC=4ng) }-r'ONWq7׆v%,*0DZ }@-%O^GV9`Je `TK.]fzīR56~lurS66t8J02W^!SP9qhڣFZq2oTe1MpG5+V8^[S-U5OLCԅh9,fBWYW)M +S##jHU߉)DOVB4il;NKkz&ŨVIG{fa?D*#$Nf)8ӧN\xSAG^*Hg 2t #zFb U"$8Hd׺|ء[\[@$Ru4D݄"=^fצyAT$c&|s۹$9Ӡh?jj'Tx%3U0vj2 m;ASp܄2QVP.ɑE?*nn"4U#&Tř- W&2~"KЬ\UWHL&f LmʛWK~MpOqC(-$ JH)g+`N֢B͠r7p.*0.6]۠X>6,"WX)G m9eK#MECߵs^jм UuQŌ!r,|t؇g_TPmGRY Y揽+Efrg,m MQP֦ٚL}b&ӇBP0rԟrA_*A BQX 2F{%ׂQt@sB9_y8{9٪ Znl(H}ϩ6]FGQUzq5у:e`a0J(BCVRIգmXM4:I{ l$ iy&<ӀsfAW|ӖɕJ@fشy 0*'6`)`K7d`o_w7˪S/+j.=E锗A$—Cъ>x7ɵdԲ`nA4lFE Mۼ&7DJ-b.jK- Ƥ`l LDAIz$Y~~<-4V!nϡ;ړ-v%TdK*!qBB/a!ʕ~KhL[uQ&egV3'b08RspaKKvJڢ$[B 2 Tߍ; kX\nN}\,cQ-㊑yIXB;L,.T QcT5:TB ^jD/֨áD+#d×l6NmZ3@!b4xsrr "=D0ST "UEW@ZKG= ODh P1 b ȍɨ:+D건Ցv<Uby$.(_&09S[CץҫʭrZ:T7L椵 ؆Zh.aa04`P8i;l$ @iCN4kL݈^Wi?E E5S-{qLwolIh:\XXz@pVÂ3ܒT̐7}Wb#[j@3CLp"LgƜ=|*S_9ph:&/"Uo& S17%W_o7Iv-6ѓ)u4|+!)JjQL+JM-5Dd_ pL'/&9q!jZBs)h}5lP@!0;DAx"!E*5E, YDh]EOD}`': Cqy=Mc)VPRG_'btׯ%;IEx,sڣG$ P8jSZE $tۢ՝#K_>A/q@L>|pTuxVϗ)$$-S2l!ltWز*aDKVtIlp:Xh 6"Mа+7F}T6nSJ)UbLvZ3d&\=s,VOu& ud`enPr#$+][tVT]9X?SPƺe]W 4Y"'bZ)rb P?-Ő\,Z.IAH񘿠̡r5νj ^6R#6D]Q^L?׶+. -mo@(&HĚֿ7m,`jL#5Y1)t.1`NGm6VRz\FF.|g \;ְ@ k_u>b_N!J2.<8\෩8hXX YZYʧt0{,>:kLX 'tvbK*x",#@;q@ i !8=@0R5icv -@e tA- U49e и2Tm^$ڶ~xa&viXIc3\b_) RB[z>%u/o2M8S:.{iqS`B bYVi8f0BҴEYː`.S"A53џvb"{ UAqZ7ɡ U!:vWt]-G6d2,4&.ŷ /Ȳ+ d<}T2Ud:G -|=WjM{5/2 @&DDŊ,^Yu^4 F`DhΌ}W\Rǘ.lŮ߾ Čg.o̼TV; fz䓺ԅ%gG wC\pp>"Ȫۯ N5uy(1F{?ڷI.SHoY-@-pB6[I VVu fUƏppx b}"䢫Vj{=Dh:v"`J˂`رx4:(= &Z FϬ XP%3+?L@075&#/#62 !QB x$>c[iTH\:qfsfPIet`vT;%eJ4Ƥ+lZoQuv(hUڬU&MQCxM$J]t^&XVOcY.;hrR!Jj&d;=Jvc*|/RFyai@ ʿ7kWT‡pH8!Q&B,olT". /I0+f'nD7zѥO↉aʽ4pgF(MTV[O"XM۵y$~CUqA"&`b[JP)7;ETP)G&CYɧ҈.Q@ϵelUSQ 5>L96bbjSxr"EΏIWy4OϞ(KO'Iye S7E]e`oT)\q140X!yf= HF>'e6\N8f䛢KNڟBh '%%SAMWt%MEr&ZLFWr/fh ؼN&llmhjEl "%ˎ#gYր@#5Ѡj)C,!eLQ*Yw{93\ᬠ +n `j<*1nWeU"*Q!0v h3 H< xYb6iԥlB( rڦ>o#f7512L #Q T&pv,YУѧB@hZ ; 6 NkP*M%rUê|IQʛ}d_l)c cbi#4jRX$-~ 4QHjQRŤy8TeIEu%i1>)h*x$> jɔaBF2 GC{TO 3W ~O.3Rq+*.;@$u-=>RL f W^(Qa>n$b\cHxAgNG$MKW%^J7K{䝐*%O͵>e\0Y,(40iũ$ A"~o[WM4Z `x@@a.0 cjs  $U F,cr&kEG.ŻʭC24]b;صEAsO(pHRJ]MSr;$2]"+8]U^K 1zr*[f'A3wYo̫ux,ږ w,c.ȗCkӰWy{lQg>~Λ˒XtW{.R*^pT\(zh+F]"BLZAZɻ RQ Pbqݱ&9:1Ic7( 1u BIb2Y*eY|U @fHMDAP úJ6 @(,X͐DY( ax@!ǪKıOe̜p".pOll0\"HUjY6inV&/ʝH؉TPJHU4^CxPْ$@@ȚlSTE %$j3utѫȗ7W7ОS(c^:TYBJP)% r"яp.X>PzbFKϊu-G> 26KkE1]*+{K.l7E$jbtyY Ƚ25PE,n2ӊqXy3XsIq:5eVyt<J_[m4o %DRiD(P Ո 4:YY>8,'Qm2/R-jj74tt! 2^\pDwoۿb[IsRs/lSdZĀS )Lف#K|řXU^iaOxd<@$k(D[i#QtLd=VR e$?d]qt6I2rs ڶ0.Nm6gnVSoI($!*Ҥ8;z_ě>(X\HM!(XK:Yϧ}d9$o[N#ZjҐKކJDwX\K& s9@ȅVT8"O!WRxADZ#s"Dl<Ȁ"b -ך-:.$BQ4`0Qjˠ!Os.l.P(e PnH8 hH :E1>#s&4PLēˬML2/>p l<9>E&@R/gC9y dN̕W2shZ(X E#fIAROZ*ۼ]6zsh*-%JA<F&7:3ch~ p* $A͡a0mFT;}X!|,+@ŝAt8hN2 JHW5Y~I])BCZ:z}N=P TkhE+G:@IH`e4 tPv$5ۮ + PE")DJY\ cVs!iTF]CD؞D"%Vyc.(,x=(Nz$f&Ԥ{H+/Kd ˅  b< \+1%H{((=0TaTh7Y, .O#9VӶ ;`0FHTC_307Hw&u7 dhK 67 "W_Ss-kqIwDMK# }64V2I7-'FWf\)1a4Ყ g&hzF@u|1<ʋlXɐ_ÿJVbHn'"QB'U'I Me0l ~Tɨ +@4 R8#&Z$biՙ ɱI"@d6ÁrIR]qLHwdyy"HNQZ 00A4 <l1Q }/N+|\ "ٷALCEKđ{Sʋr%=GB@8MWt +3k]\c|M=<7dQlL8'1& :ssOg$L$k46hG[+ dM4tF&Fhfv X +7R$&`U>XU(Pf1;f-(<joe 3't%ȋ4_3GF t%HTKp= ~|"(!HF3 źɨ;,F{m`H t{Q՛y:E^NսS,myh+)G~fHՔw#6;_;XAs g#AAg"l w <@nz 0D*ԍje>͂X41 &_jɧnE _F&|J@!1⇋yUG,JE`ЌǿZ5/2 Kgby$y: Mv՟ حu%o^Ti_QsY#YsBiֹ-y,oʯK$EқsdZ  ۦt U"9gYi(Mz8$ÛqXą7҂GOH4Ę8󅭋(ձ>@IJOT_\ܥr^P),4ic1C+M0lx.RJ%7|K1f0B&[3n{t\&H SKA#J+~[tP[feDE xѷMW~uIrբXT9ʮQ X-\ĢgATPslmC%wqƊJ 4rYkNH5ڣAKlF)Eϻl2ZV$x%Pk : iG\xHNR,jK5a!ث(0 ̤ƲvO=#V-HHU<)5L>_՝A,IW=(apl i7S@n#Sc-428 a-'ubVf0]$:x#jif۽Ն<꺥`@ \q`sE)Q6쁘`k"%5:Cfpwl:`Xkv^T̷v5 )+02vh}kJtsLI7Bzs=D &y$jXDbVi'_o,4;>+%Dӎ0bchhU$4Mۣ5ylnW}hZ,1ޡcEjR`0zb6h,L5^4% wx&2xVGj&V_[8G;zR>Dw1A[d7"eY{] ^\ȡߘi\NKH=*A ?=.S:Rf:q65[V[,-J6䞕yG萄Y,U:Q]Vc.U}GQ?ozbWeZ-ZqO-L-C+*F&.s/څxXxDlh$pU+6"P R˲%,(W"R}@#9ROBE#8bTŒt]>Sl_Lƫy_]OHI/!>uWZa * bW)<&Chw<(D-}V0J`Rd[lM gUSI4-4,i݉Sb :V;?$eQ< x\4Fa-+vBn<0E[84bhfXW1WˤūN+M0ts2Jt($|"$|cMHD#3N_i%vܻ,VQdD(u"]+ |2 o;|5UߢE&m@Qph\\DHýr (`OysE"iX[,2Vf%sbvqn`/K*W3D-A ɪE֬I z<$hCuBx)wڽؽt)Kfm4YȦnf埖5S-P xb. $R 8\bqvS|$'VgE$5ȖVZHc+7 ߯81 .TMUJzxOP7!.AKI"{oDX+k iadͫj,7*꤬kSt^UӺ˥S(VɥQ|-iOWN]9Kzڞj׫'Cb=a1Bgowg%X3<> 3 t fO2cNTHk%7g|hΖv8ٙ@$FQs":!Ls'X'*̹u>Ք1Qݚ/JI^8K=!<1E%e:JyY$Z$GVn'*a4pR0)C0` "k!RO^a)^ ʠ,EΙd8G\: ukVbgЈ8Qξ@{PR6Y,]"mK_ DŽB՚>P3_5''lbm Ir@TL~*$ȝr_, e]1dE(lc:c8/#4c$:h@Nl:\rvw*UF$§iDRrl$,ْ u>kbRvGZtBZDyDrTm0mQEz9znB}9jOۀBC%CFP61;bLhAK+dK1č2ϡMa+shF(3c7 G| m%fT>(:O+KO1c3GѱyԁP!H~S_]$!Y1e XF(-S^aV X`$d.\ ΅LHTHa앉'MxV + 1#MLn16">gYicǖ ə49zjϡC޽FxX (2+hs1i^NRg=Wa?$ PoѢG%WSvɱ +~ ٴHcsh*oɄ\"d6yK%12ǰS#XVK*rcʒҶ"pMJh $H [ʋ eM/4&kwk[|ѵ"SRey|ԄBX&R%?dBX^xz,L2d -*/pTY#"4E6I#tik`J^ђRejaQFlx@e4D=p ,bzZ!iIeV`I^&KCN 00-y `TjH:aD}ة:@U +:j.EY"<55H6c|&Zy*C BxgadYFB"_t2sIBk]]cQՃtn,y g%\=fqׄNoBC,ؙݖEzW8U"d"r)#w&.r)T;8̭l(DIKrLt&0T/^I*6N(1H$Ja6^$Dg94~З?A%2҈i(*ʭFHrr4򓴤l"!QUDhm.'>|nx$|efBL_uMcI|qo-.M!nIyK%ln JlC 4M|Ll.tE|lt> ȯ 2dhPY~ eL3l;&ᯉz(-a9x|׊a 12~@P 9Vˎ∂-".{/$}r.MShn4,C"gf.HHI]U90ు͍۟PS"{80}N96GVyh=\²D'c}NnL288{LL/ ֵ=-DQVZwzN 7 ;dy$8P(c$)C>R:Йқ #}QX)"-1+U%lH?2.!))Hk>Ivlb)"s]w}f㋬Y%BMb3EnR,a(Nd)8 2"Ąe"`T̝DV& \oʙ@Q5R!acFCZޙtd쭕bY֏*1,hxeu|L"OdD.W8@.HN͇EXFRh> |/U(Mq"(Ph5Ч{D9::'廽+~+(aF}@#d -cN_QHL[eB.x6a"&R!-}$~F6DmW=жp̆H?dQZdM5sհŧ+*%}$Vrc)b̻MwIygKOtb))a}9蘳A7$tn!GcbYq^Ao&,xJIAF\Vḯ0"R! 1Z >ؔSL\MZvÖ݆ANHh9JPLЪ>bB$.q1K7XQ";R-u(d-?) y Y#,|bhB^XsՖ8Z Sx">?" 6 2dRi2H2T^SWk)x Ř}Ja]umt2ggt&r縤dk&=eV/)OnhRc۲&_?V2ae#:dnUm^ Wz~L%vVD U BL'720Rgګ;u"ҧNc1u:ֽ>!oc5'MeI"oӼgM7|+iuJwkɶAw4P*BKYVў鋶C-=%L`VaBV$Ot6݀~K( f8=@SIC\CIqD!JwJ; R8FW%1Al@Q6 ˗ |JA:(XdtjjDH8&=9,U2VAY)ꕢSkjlSTrW%eqGIZ5"Ar Eꢥ)t˦]qQ#ʐ'd~" [^D.'mx+quz )YΜIv1h&ҿ]gPP|"2Z>W\K w\ ZM#Zid$8-mLhwG[p!%W~Q;TMJV8LL\`D+쎝B8$kmWXَPdp\PkCXXM7q=UƄfoZTUfr2댡ʝ"S173}"}YieHH,FgWJ$9qN܇TJT龹>PZJ}LK S]/('hjW8=B9P X$`?l>Xi QP$p\f WUɫI: =f'xͦޢ>]@PH,׌&d%fv(鐽\WlP2IF$]d n0ho棞Ї yő)j#BBE,dtKlm ӉD\'C 9:N&e_@F_6"]@)!Cf4'_Di" ux&E  "yX6@2ldفa+ԉ 2,wMM#V Jѓr"ЪIFbV;a2tVSUw.-iHQ3 B̟$ #B[ C;讏mPu2@vc4Дy! >^|8ir:lFMY!mɼD0%OD& )`OT l](S y~IIqЕY$khO8UdX܄|Cv,t;UqMwǿb͠I!Of`oBT' րDPJrHRT-&(_RGc6ąmT%b8 N{{j"H A9|&h.Ԝ10r)JQ&hF!xV Q$2¬^tꢅ!ĕ ƇTLlLbh'=R:"B /U&w'ρSUBG !A CL/nv[NLh02HU* 0bԬ=O%T97&Hpq^=S6(5DҼOٜڕk1dDKenu!;VGBWuIӬfl,2\U/"z()PEgϨjC;}-2w3o2dSm-cK^{S;^PH "JFR81m X:C 1ޜC #wOt /" UG/Ki8d'_/߸HM+]ƦѣmIADc8z8괞J*B^*.9_Y"UZWJJXj6RN̘x+y'4" ڸZoVm=c#`[ (Ipp\?=!ƓcrƧۻHޕQe. OFj\-XAƱxcaŁ4R^`H7RdĢTDy^t11eVVvwK6Z X0Px\Jǽhќ='rU@[ |+pI|ƝͪYhdD(*b=ZAUq)/ M%dD8#hoЕ4 2ɬq4|Lͥ\v<8|i%YLTW#B=Kn'iNⱉ5SGAN ]LMƀT!s6A1B+Lk mJ!DY]ҥDcbr_1$B(,sձ|LW9TIӠ8)u<)Fy;qYA%FQRGM6I6c&1tL^Hdaō|ue4]Vʆ:KL? V> 4Fґ*{ f$w>A)PJbӼA#$b _vIw`W&I-Wj5Sv7eEdX]q y0, MmR_U #@՝a $u tѦi2e9 %˾`X)-dʬ @GgIy\P De@_N+h_ Y̮Kj*Hn^ɋ3\ck  1 ɮMѨ'<5yۀ,`E~6Up*%EueɂHŠ Pٛ_"Uuj*Py /m^?'sQEMn drHx,pɆԫ/ߟs},Wl,Т8"GL]B-5Iz1Vu]BGƖ'r园b) b69 RSpE0+3n#17c638Qa׬ 5D@:l.ucbxz);d(y@xs00_zE"tg0NpEiB@NgIy!-^1.̿=ĭ#&yL.]3#4krr*$s#g{cI*Q zCHR{wY*MVp?NEuwg.k"`"twQ@A d{NR^pLZɍd]ܑ+mpDO,%&1IhR^Lp+B(h*א&Bȩ3A'e0ԨvqB͑42X{.I*@x@hT%ǐΰ{_:L鉨CٱYž(TRaly4 K_sI*JOe+HɗJS[c#:4JÉZ&qlM~@]ǜ, t (IYܿR[|GrYauL _|$}Y!\I^2wX8|qa +1q+'JMX'&*`Ǒڞya@@uJNis/^EoKRa:#fiΓ #\[H"0ui[ttw:~NK^R"KRJ&V ɨ=>R [  * d {- 2<!Fyڠ"%IP, -ʹW0B( Iw&e4m$dרr$\oG|<d2ZBSbG=ά1A%j$/:-a2i/e$*XE M֖>%ZDh54Cz,8+BFcZE"d&m S$ɍT* VtZn.e5(&PVpr6L e8)K˥*{glΙzp 5ȝ9ǶtGxx LUĂ10DW]_F,}eUXB,]Pױ2#u<,ud K 4A*V̓ לTR딷B2YEhA AHE?5L:=$3LD:VŁ]9bN2W [qұ҃3A?f`}/G*ܛV(ak=ɩֻrJءE! C1]qO ]] ꘄPIWh^KZ X `%hE OUDǖIßA6%8,&>HSOai@ˢJvDy=vq,\ =u*EeW$Ɍvn_-=ierz\g APn$A'V`:CۦQ˜. ATL5jHl; c3$٧GO$:v|BidLitLsZ(q dR"٠XQ+#VyR6|*H ՝qr2h!xVjmSm)~6ī6wy'kSrhi с-3V5)ir{Ad2k![59K|/r94$&ގ]LI˱SXĵ> J{SK"B/s@YU B'1"D  \Yň 'rDxTVPi9Wf;u23%StH#R2iԓIRck;RXD;Ђ&CGO"ENLrD86YPȐ$ʙ!RY]sisW7_UbiG /u\%._KML&ꖮ 嵛bSRXa!_n2֡iS??,uNHj%ENJ5GIH o?:rk\_'կِ"!%SM:G I"]ۺ{̔Ʌ(wIQ`R í{bxmnrNb6SSZgE\yZMX cTp4ǏXHʭГQφ^cL!«۸!P !m5Ri+%,k%kV0ʹR lA> Uƒ&"BRղ@x_֩fNpo? \6%xMML .ZDXyb)y9CJ 5sګ2W4uTq+%N͛?f~`AX!*tCDr/ю^;X]bSյHwƝ@rP, Rh[ TW~j)k)Of8Ӕܰd KwB&!öflETpLZ Ev! Tiq b<7 ^[,Zq=R͚3i<+aB6io!5S;&][JXHl?G)!9Eajٟ@OH nDh֦TL TY~ZA3>lwٶdn$ 6|G#=Ӛ)٣fD:LX)+KƝ{X@Zn iJMڻ{jM|4A=V9[ƒ`4X|P%vuO]#[o);爩Dz>aL[,WDU%8)r,U3GA%\(D#)Y4,[-H&m{ 7 ^g-;~ ŚTÅʅKN,^)U ]gl\4nCN&߄ td\FsF,J19&¬U+uc}4>[#7Lnʗi_*eK\ HR))tbB -#ٗ~sUK1G^8hӲv\BSܴN퉈 L $d䇅q6FK^G7HzLJNԩm̔ PW 3vɅ4k{}e ]]lI;ʋWd}>z(BlD%($P@ ub^.ACnY6^n(~n~+d`xDY1P1}JDRt$d&. ]q03 CŅ2s 6E<ȑsucݲˎۆq`|c4T5Q/X},d``O] %NQ"o)sȨUlSVBBgwDTDɃ)EӋ]5g Z, (6JVń a., !VN4&ҰX>ԧav' ȬgeXR33<谀 j $f^w#f[;Vwx͊%).; yʶb-NdΚ8+߈/M6Fw=V|esշ巸_j[\( TJ6fXSx4.߿6Ki6E&N9)@Dl&B_eBؑw!OjKJAaObR=4-)$` t^ƗJɜ"*0䍏\-qధ'3q1)H,oQUf D%Qa+807 MGݑl  L̩݌|k4w4["󢆏$$fӴ:Kh.i%"7f_M 2R=hqM&8.F݊x^42G"vwB6,mQ>4|T:kb(x"2,T0M1Yuң?І> QB$#,P{&A #a[MEaa(քUp۝4T[:4ĈAfk+uVU.HA1l a3.4+*UiX&ɤ8 QK%o(i )d݄3رALx_E,:@u0N( eX AssSL\=?{ۙKp("H>^$ʒ4;&ghpDt2u˧%O*A^'΄r IVbC8:W.vvS-gkGi0.'}><UYYnp}R$=)?$Xڋ?!h*,=x'UCR:HcM4Q2ދ'4kOU틻%K,KRx$pZ53TH M2)1i`=Y(VJ i+xP𑃁E3 IѩzQE>갺"XD繧 2_HMbfCƢӜYJ:̩m(qe.&qdi !J.vYбF7=dAdh٣2>n|@$3(BQjyH(w %>>8@y ]4$8~PܑbkS@TK\ؚ?y!}f\FOLpB<QFĤ2\]_1P`T+P0\adzE&H >v^ t"/Ze>.AA!;avDx P'@R&Tu+4`D1A $[E hL,>X\i8ousS¤'ރ ZFb\I `'k.5SuoZᴰskҦdE P΋MYui"E'#n$SGf  |o7حabruDib-0>0t@"jo"V_WWLb+W (ebdDdU. ,ߒL@^@GK+dA8?5>0d})A!1wB̰]"'ALX4fH$LkO8Ol=SUCĹdBUe4a%V,d(F-M!O P"p?3]"'B0Q4 @ L՟"4&eKd}UPB /{$ly釧1qҒMXUb +6I1ؾ8&@\hH 2 +ONrnRݳfFv.x] U(+6{̚^&HX8`l{>7V%t3+= 7?S M#vCH]a]Ha$3z8וXH"NeFiXTæ JU92rAhEg~S}7=Nڸ*_DMʋnEv(_ @Ya܂㫦eilKV"Nc(@%4'y}=GwTh_o̭J—աd T@N[yBCE8pf#v̉KA'P 9t?R=*.mvE5j&nč-F #=p0MQSGT o8Q'ϒI=PAwi*4b? i !9h+8OfePDe.JT(in)I23϶_R"B)2i.8X]4j]FOCߜr/=Ӭag:_H}ڭgD4fPM*I*l@pI4IȪw`:8SnOeSqW3_.-.f=TS7) MW kF XԞ 7o&]E*iqJh5I 0B}¶%_ -$:*{KڣP/V)Y6- <4)b&^9c4)XV_aR"eDbHs` lb٪\,1= h*RR+E0qHC\c>1 m0hAsJWO8aJ:vy@uN ^ EM6OT5>1F-zK +:v_%;J i-?l=lL w._,NI@Bi5)pa8,jEo H4 (|Q!ƢDjhBVg䡗D6c`3^YY2:%N(%acCp BGe a49J heNK70{x1š8*@`8UMHqp sM)X):q"ءHZE[_q aгaDc#,(GQ)(At-A^PyjWcX9d8%gE>HHIH+I> N-r;F\D/D(a=O2)t_0gWA (\ }>bJ9L3ڵBJJM#Cn*[[Kq!R5UsD41$Bp)$cH N/A-]Lh1U(%p(JÉ%FT.:N+)](yIiAL2LEb c"8Q<Q0ՓýkjJWK<7)*pHC\PKYalGR +4Hɸ- HkJ[d'D ̔Ux ZXU3Y "qǐ!dNH8) vdYTy ięl2юW渚Nѡھ*M$ۂ8 $'Gqg.{ſDkJ4C/›Dr_ *rH`aSǫf0R>M X:(7FEM,(݉fA z`MٚHcTx8 ۡ*0w`@,>Ϙ-7̱":ldq"tlkR'sٸ8HPk,:wgDOTN( s!}p C- V~qZ?񖩵pIc&ܜ(̨-~Qxs t%-r Fc&G D:579EpP+ú"2JlP^6״RfEE; H(y}*nŐJ$dZS uZ0vd[ꈵE%U0咲SUu>"=1ye>KeU. .*w Cj}4vIw>\ktxhu]H9ag[[ yhAYONoa3wΚDbW ȭ[ w1 [CT r0 SH}^;(VE/t4.H_Էsub`wR}UA+KͱQ5f&rHW}}7)5K(>l5`Q~#:Zʍ.gDP% FzMJj^yZ : ^PD&F9xNE)3e4:P)794iѯJ*XB# ?({K-% .3 Q%HiJ!Ӳ>S]7 dN o ,VKяak;hMV 3sb8j;Ŏe"ylK\Gq 2Eݠ~]zE׳Z*Z(%߼w] 1bbΒʷk-~_j51x!帱%3%%=zhvޙR+Zpd*"{ / l1?LhEhSl2˚FMM*ifne|S6^>˭Y)h2Bj%J]sg"DVp~{Pp9ʹB2_ecWz%ֶN34}}>#ʒ{I29_'͓3Er [0q ]GCRJ8*#Պ'JX:6篟==ra9{WBdk9)}" ^z,G*uJ˧ JWbU,]bBfnvrM#NwD^yqȬsCkfVpz|k%oaYO 5MFřtIyl^| )e׸r MyOJuKohFQTm44*Q8Mw&sA`:A={}?2Krji1/!7&=D0,ZKU0F N:&TW&F)]wmtv"ĴR3%& H;!X+\S Lꪓ졄%P@J ʤYVtgv98%2nteQ!E>@1Pm*\IEGq-ΥLs}}sqHtpd%0&":y 4(NQ5༜3u,QK)yOdiS¾=dbwP UR5W Fj1t"uZMQX$^(ՐIQsGHw|[=v[.[.F32\QG%</xtfnhc`:Z/*K`&hڭ*oS w=2$YߐF.Q* L'iq_sqLRQf&N5iiśb~u=ZbϙVlm#'#}TĥN+-Y9y̴!TL XqŽ+f#J(~7b9Ge¤wWy`B z{d(%Z۴11Oa{dІL$¾ݞ?D_beHVa)R",*(}a2llj֢.tZ;PLZ% %zڔLf$o\3mFv0v-؍ Cʼn4pVLp!o'CZ%/ՐC'E9Ik0Iv-D] mr]V3*!k+DJ!w F&_U]O0A?! vAɉRQEqaؾS0ǒL g/ps3Q۪lnG=wPUjdiHݲ;.!]^>cYż=؏w 4!K],Ү2$L! c,AyD07)+0m#\9D$$˅8X(^l&̓mJ?s"/#'K:k [?qXWD9Cղ8&,%)PCA~həRO9vˋ:i~Z̊wJ0YT;Y ֵ9H2PK *M -e{S:9x%]5zor(i{ -Z ~WF|„3B&ϲm2ɎS9JV*#N.qn@w ",Uuqc0S;+Z0΅7_ CK g|ԧ|v0AluІ$֩jP dž5UZq!Vc2MA,Mz1Q3KD96t)Ύ4,F(|MaGM+9 KN"K[L.cl“&LmUcn|$I;So&b\XxPOVm d*L92sIY4[~Vu.;Kew҂Hj` ="Em91!IvZ5Butn;L ڵj6*E |l:_ {)ۍi I Gi̓$n\Z-52R GA7 $@f4fܵr$ AZ%4zIg21LܲI/1,Y!GأFJTc2 ŋ湉d+4^!V!A uV@g (^P1Cd"tdV PQH9JZ5PHm.&s^ȢptOIHD@AFMuv^k3K_ڿN6j<_uiGMѰTw-u1/74O\l% Vˉ~AjxWɼ(;ucKI pE6#$,]B/AfMvl9ƀ@q'c{!Re#T]OqWdHܻLebl)RBU#ԋ`1&|" q1Ac,uƯSV"Zgu#ҶD8cˬӁ28W)@'B"PY-C `~j!j =UI/a XdPYt+_X xDX/eUOPE^jA"xq$Ĉ[ ɘA5Mر1W,!feEꥴ<%Y, h7#EwuD$|m3].?reĎ5 %;!ߧpFc#c%|>H RqR@V.2dYNTP!"`$LY,2U _6qJfN%﫶lďvɐ~IMē/Ut4edQ15k2"*uܟAv%K nOF*(ɧpZK" #,c dy2!tFs62S,K|F *? oR@gg}7xG̖O{ED9Bi=NUGy(Gj=DߵE;[yF+i+I^O?!2DԶ-ljҘ>YJ" AO.cҝ0ZSqOVeU*E൝9$]e7|hOCqjun)IY:(X_I1jkDTTEu->H[eTA[JDZzwjI?[UDbXJ/t e*\Y9՜q/jNub5kazhCk'HZT? *@U3+z,]#I-T:uiTӹ< ǖȔwIYddD!V~ZA4,lhF(*7' cgUUTmtJd/$6c Q@TxyIWYx}l]5J)Uoȭ6PӶRھw}YјC'q ݤRR*ϖ w8o68^y߰ny2y K#$&J[^6 *(nVҧrӂ'yZXܻ_r,i63]e)حqeܫ䛍-N^Eʱa xx}k>cņƕZå&.2^Fj&`\j:8A ECE5ײjDӝQs;i^NL+c4n}ko$1F{-FR6PKDcjaO3/*þ´J#2 ᶙy\emWIU=1O+[}yZ姏y O5)z^ɋBFnt"P+Z۞nYMq|#$.ns;1U]x+#"l=cѱfkoI:r/ܰ^5 ܋Ь=֗v20Y2q >zVK̏?Uq4ݓ Z򭷲ٝ%>NN DbFا=j4';}w('L+j{3h#1( ]h+>5!z^WDgkq]D(D{"oc^G0B|W"9"ZU2hN:H2ˡBղt%ڳ(wم\7<ݪ&HŻ=XIM'h-dşCJ"KrB|wUdKJ.LXc+"Z+q_]ud߶e$ܽ NT rOͭgf>@6 ImG` Lnň(+& 'jbR2}{EV!)V&C:7%:>gyH6hzG5O:]$D!R8ydo4(v͓ٕFbt&NUvĭ6e#o!sctZa掜#4Σ2Qq 7ii#&Q);b ;txڟR3G:tR4)S9Jo+Ydt_wҍ{)(9p38[; ݽݭ׻*xP(Ë7gaFX 4  fz^rʭE "vJ,tw\bQלd&|Lʏr#kEJ$$PgcBjߗumVDWWF$4Pc+;SG^CqSۙ f=5jG8hudl/l6bXɈ@V7wUucdJ(LzW$l j\V ͫGb 87Ie+uOwҲq'JڶnjqЬudń9M&d( z;dEY㭮N mS0'`GBC Y?N틭 )5]e0 J"y^Us`n.$4=1w֫(hYrg\.yl\&l)pY>2cJ#G2Tmi7{H{٦9 em(ir0/1EE\,An?[~^(ȳrQH&ZMHbNEH~:9Q31d&6S[Rs"8x=&įO@1 d}Z 5ꚷ; >h%rF$}:N'okwl[ag߶"d>B_ɜʴ*$(,HIJZQI]iTϺ'G@ꍿ0RǞ̇#ⲣg< ߛ7Ń^AXBv=xnL]:DcKYT(Hl腅 XԈgXhX bF˺1j[\FGl  |:8YTH-ilQ gJY!5PNQITR9GEҔ(Z1)"U&6u$}ZSjGzTɊ*QgZH*L?r5K}&I~ܚY%7T3(*~n!A`cr)p7SU0ڥ)qϪ== mpA|9~znsor?ƨ0 Ҫsаމ_ +#h{_>hh6C;xFSRi AO2r#? N 4m6 CMrSr4*8L`6]Gc+/:g|o@f a?sbdliZ˔P Dd#"y5JoWD=m)NV=%P6 1@'3^`cVٙ]Lђ!/b9IE{bFB|uIDG|Y +VUܖtգsnS՚c5Oؑ",u?`iV~~УBeX56xKQz 6NB2fP* x[b4w1uK9G{,z,t庭U0ȉt÷2NIq¹Gfgiy`~+\vFJL%FY M:L2X_JBH5hZ+ / [3, B}Vi7~L+J5\_&+B 4mu=;g9>Nݭ=-H:2> &4hG]Yin %`EyD>*:|B>uB2:EP(|G5WvqSÌC89 jRI$եϴtw{EG@f2KE "ŪE弘AjhR6C+~DySI.|U_"#I)fTzO; -1ٷ WVڞL:[{מߖ(͛ѾA_,Fe.|ק!WPЎ_k_T*&󦿢Dy#5(/w>֒b^:LW_iNԶu"VaN Zy"&WTyƃJR{^i0De(`?$M@KUkqD/2?~g]d+6ԟ _ S_OjN{y a-\Z@Μ+ J1h!Y=@4Hk{aBҥhX,STm[C.B3f@rR ,ԁYB| vQ< \=в 9(kЈ;"!)G!/iH9c1Ja^$*-zm+Ъ*cx,$ւN~8N)<&mU18:Ո."~*j0fY6 !+&Ը镔-J[9iLq [Bh镶)dh%wfH*dWiZa=yfk2Aj!qE*VT4.XuWQQ=;4.gkńi . 7Q#\  9@LH -AUQ!Ch"/3L(!1#LTĐz{aHP@ԲX9Raz)/Ha9o`2MzisA5ʂ{\P.:_p\Y5e}۞Lk GuDpMz7%2"qH3pAinpJ: 0% (wkȃ>uP&0Fz-^P$b@!!Z W.O5 NAc",uڏ1SSYէv8ȝ A b9ԯ0Uـb ~<ɤ+R/ˣAU:u'A%Z-Ƥi f> R|Le~ mJXэ1d9f萞lLt$1Z}lKU, vB\T(bbVWr_d:`M< 2\zd UӔ וOM"7UT*jlxD!棦R"Q<)Ylބ ד5 6[)rk3 + =r%߽dBHmT.TIH)@S#l9 (n8mGnD!:fz޾ 9y'~Լl\/iޒKzʌ5V䛗!2%n>/*/tBr)mk%&6""f1QF<&m_@N&iP( d5v#P%CdOgAeUZs2GMnЬ>~;\RVgROtfI ʪM:L#ӤcfOp5( ٖBNIT}N*y~eUaB.mVb4b~o?1{\g!Rk&FwnoK*圉PkW^: SH5Jm>&gh ta'ΕPu9eN[m'k׈މad^gH޵B1Uc2lC䮑yń\'+L myBfZ0@aY38MM*p0+DLҗSeE^A'9)I$-Dlp@ЕS_fPJLQ<Ȥ!z 3LFPRR^ LO g56#խoC`(iÔȻ*=x2*nI|-G+\A23.ؗ5|VrݹCq䋣o!t,'5G7 {-5 " |lqniIq05!~17*-4Y i#nf{mW kœhzz9},yC1[-dح4/j?v04wu7Ʊu.UZۡח$1dmoJ`%} W@ Th=z" I s~^! yN9{IM"thjr[-JTCvN҉~!2t,Yc8Ez0|PnV)k >KȂF'jQ DҚ6!5^uOJ5/vSi0bKgq*GО1)dW*Q"FDB 0_w_8ش]]㈄'KYtGK]SWy{ >.Te+iH>B5^PL a5VL"߫S_߸IJn^(Y)$IH:3P?0~,! $RY>D , "$˄:7`+-΃,extq O\fE2p9Mj # 'z!l>$k -$H29#f{BVDhAÈij36q'~˿@%*1("/EmuJv%X"FCd t2)$ʓ˔ċ pMZMN M7f^o$-KIZyBzD yU,Ld&&=h`.L)Vi3+n:I_EXtGT̀¦f9Q>a%NRr_J=v3H]ſcrU:<Ѥ(,&*@FEȚ5hS* e]laչ"f|?<~ȑDpc|ͻ\*\ϵcdH -QWu$erY\EI 2`] jђ )9Lo >Pʔ X]+C7Ku@?ܟ )Jn@N$N:NBO(' ۈ(Y)v$ZW 95+V K-dMP2) UK WՒ$Rܺ➸~>T+D->^($촸ULԯ&B E /u1`y'`I 0z@ٿ' Za 82Uʟ+)% c$԰Ib[ ͻ]Bvu$mFFGo?n q`F(}n-/$W 44O$  19f!&SxWJѴAZ Ve( (Z7:XNxNz(TCiL^mQ"&x `Q" 9*a6pyT}(`ڏ"K˽p) :!ђ hոZFI 68} qxAt$UR d$3h["8LϟcMBIJP̟s6R{Z}m (N 1V 3h0RXPR|CViM^xC<3'I-g֙MSL2+w[I:-fh9W:@UddI/K'tw-~B(U[0`rJEY}b$M We:˟qM&ZQ?^24q$a ϨPCh+Vc-}hOEFf89vH;_˳7+RDn.'YU4 Q()#+CGg Y9#ɺ> H>`ؘ* ˑF#VKgef8"q~8t-W֒TC)-[yڰuc' ]@َB&A9bT0p&T=R :n^RwEL8OܬC*S;Jj*/V`%K~3D +eqrU`˘'{REMnsQ  G9 {g2z}1Z2ctˬ]v5$ؠ-yyk~2T..y_Ϩ!D&VC*k=xYn0q\R"Mpޛi sF4"?5WZ2Rxp'AKrI{tAnim\vF{9ew-lT-RnbM\ܩMcL;+zb}2F7Fϝi$Μ9n3AC%ř*R*x?LѶe84ը '4b؋,"ltiY|<%tK,WO=[̴Jꎎ7fynXiBObS~M,ҿ V~\! E9w_fS.0(Hymh3#'8lYF xIrqqIljjWZgZTJC,9Үf#S-ZzǛ_TrEephTOeԝl6I20*I$]&#S.4tlwIgrY  N˹ 1CG E4kT}a켗J@9DD%9,atBT" YN@^;yT7pd7+@& 7c^U%hz _sE \C(/֊KX1[!w (!@>,NԓݭҊu*}b<,U2uUi_`~G)46&D<V4Ĝn%4S@]GȔ0%ciU\% Q"JOLJc7#@TSwteNAF0LqaU~I/Es@`"MY U5*򨄐IhT`6)2;ޅ"cy>!@h `2u~N?lQ5O"Ag"q(D2zL$NW+>EaRd|[m]Gkuݬ9Tc/db^ʶϕ᭷(uÄgAVlM?6&q V0jb#.2HTX+2f8|AYyP^PKaR<5IXG$\6`tp_݋$nm#f("I۸Q9۪/ otmM=2URXy8>08/>!Ib{Ɛ|}ae a ƮL_r+k!Hu!L}#I&\FJ<[y+Tn\=C]Y-(ڂ  $EBr\e " 6 pIi&bTzQ5NAA})Z]4ykm$ SJ\P&)!Pzⓓ$*#H''?\w2,R݄?dIFxYTV ᔑkeC[Im\񎴑^N6JSgL=Z|TF\4%Ɔ3"BbV:eH E%Ŵ$yUIrQZB9 M(8]DTʄVi~r 9XakL* w{A2%9bKh/;\S& d.IH@/dKxȘH*I52b!EK]'u[IahMV^1a<2EK4er(yj,l1cbYBkj0g4Yz^J!$r1W71taLj7j9l*TCkhtrAUkk͋sDqi~|֊'BKԋFGW'{ו"˘(qʬs(rr{E$K3F&w:XK?=7ʸjcxskQ?;X*kt8q?@ED(<M?doE ЅQi}9 gJ8jVXE4:c}eTՐ臓 ^Ju=}8Bh4OCHQH焯0J3Oq$"Zd`OW4/IM lgjsi[S!~W:x#0KC *jadD ,¹ގ<&iMdE洍bO㤧_oڋF|M_K EOyNB}]fIbr اj ~hp)C4O[HeMAqJ'kN!2by/g2zZLF&ɨBDy2Y9~ĐbA 8BS%OΦ (E$'5kp448tԕ3;RIsV&q([S`SZx#EЙTHHB$pAAwMMraUPPCWe8AJa!{sln^$MTe/N]ţn ˥smF.U7@\ZO܄#xhXw=d! ^pQCpu"ǭ дNDZMEXإ*$8(FXpGs'i,X<$QQV%1*!RJ$~9؈.iZΩGdyfF1~2V2Ju{KcKۺE"WXbA&BahKumISYt$Aьs1ȲOvm4ݘ)e7^5:3 8E{e:դ/7cMJq?]nMIykRL@ErN$U" 41G1 :`kAS^+2U!J'֦ <`(;+,5d.b!F Ir2lU"ǼPHa!kfhgNxkށ5 MH*px9V `#U"Z) iAr R,P'C.!H2F΁"i S$jEm yLQF 遀lU)K¬q%bԅáSar4.${q*>ujf `Įq> *A;pŌJrKʯ*B1 e   ,Ko:^!Dbs3L)$ 2R 8 k K{pbt[b"o@Pcgc$0!C0F4 6U6e&1"E1H )Kk1r(1MRХ w8ʌ* #JZy(Rބ1baMaCD #QLUY ) 1+"0PAheh+FLy2 U5q .XcO#IYBJ!F)+x}6 Q@<" FVqI0[XAMeCMbs,)cr#:L%#vbqL[fBGW)j[g)jsFu)9`m]N&3*<+DM(z-4U\+)Ir3pD% `UH)DEr9ʣ4'|`!?C'fDQBJiP"[ef1HP@b  " tpQt8yu 1Q+$]E# F=@kФ&Ux9 n()`y[q@!c0 a2T'!H}Xps*sdU' Dc!^tQm3XTG9ⰤY^RWG_Rr] '?OϐJbzs};4SUM=?Eh]w$اb{aX̭8 ?W`f;#TԂ9 +njthYX54)6GZv!Y3ǪrsZWCQkUɮ\@dEQ),f(0 A6DpXQ^Q9Nm8'4ţqe.#* \c#O ư0BTz2H  |'/15ْ:bt¸S&9;{Y%r'2AJ*WaBʅ 5,CgE)z.V}FMޓ8ZLfڛN#1J9]> _dDl"n9ZA]c1'$MM2 ]) *^"m#9t+-"$g^(A8)HCRqHNZMD%Df'r2E7\F/gD9236g:\Hws)c!T SCE   GwfQA16D8(8`PR؋HMr(ЈBYv > 9jBH3ưAB!Nu* :!8EH@b@  )HV\p!Ҧ2$`JXB*L"v/,+3HL* 8p`Ғm)[Bf/!1FJGmˡL2HgWyZU*:Zu7{>9ҹAp"I3d֧@ 0D  T2@H4ƿ/4s<"P#ZbUjj~W2]ʢ=)EӴ3dTD?, 0,1|"6X ڀ(oܧ/ 9+4桁bful?:M3?@c)]>9T'pzXgu)HNYnVI%Vԧ[W44kK7DTMl(QWiCW"ߥG CTrS=XX;8Zߺih\c,wᵙ)x. :kmnY'̒ la}t&#>!x=pqKQh光PC*WAΞPCQB q)h:nI:)ͱp>|^dpdѱbbŇK~[rz# Uqi} , N4bAW;> .H)C{`)L~[; 5[! #?-O%wU NGcyGŬJ0x`65:Bܸp.h:ti8Qj6*:B/ǵZ$k҈: b%]Hl΋L0IǷ֊RW%`?b%OlBV̐]+TgqK[V{qGY]Q*c1a Y!1}|$%303Ti!ܰY#:E,%Y*+(_ 4`L@)oy;9)춖QI3r`HeA=9K$tBvRF 3ItC#'_tޏ1~Q)ָ G8.b%Zㄫ{tylg49&:DbүbG0>ڇaJ~ljrY;K9 Pv1RXuL1Z5 $f @z080QABbFjL;iRkh7u4,A=|iGF4hH賖E, Đeʲb>z-ƃ1֌,d^G0I S"p }5(I9/q0"0LLjw+8Žh97;9+Ƹs Զ^/D (=061)Ezel86 eьYtkҸu bQV_G RLA tD%hk Y䍣lV)w8=rY Sdq#U)|0y (#mE^1#h RkY5cASd F~R8P b,RES/_&Jo o5v4-Ą '8^@;jSUX5r5*ppUiO5KZTĜwaN- $Z+GqH lR 5PQ]4jDJdc,!x}C$U ,EZ9|OSdpYTrUTϷ1+ @摪 Y' uԸ\D"S0rqK :64AFIsx˦ÐbBAthxVPal`rYU٤%})Nqݲ-^"6H p̩7l( b (~"Rb"ImXce: Y_D+8@"l9 LCĨB!'Cb01G0ky-YiXI.GAG $2 ' ۶uaΤ`Fm#unkA %fPSK-',i0'A3m=K'fdaV @]kC33A_pZ8D{^PD!= :k5`ik| ةBV4 (RHV[:&Í!^Hm#S 2B4OJ0+1~&%E4^ ($b',#B + eTQxP BYB!䂶 j{3 %"0B-mr# V^n >V i53 v4mb t*7A%&NY5 TIN-PI8DBqO$L)2 L!O: 62:X kR˱TBZ}!´G* 0_A5AƎ1)> C Vx f0E  G!"H$:"BMk<@AʒxeYGa!1 ڢ鵴(3,_a\YѤO=6[ ,d8 (f@1>+!DJs'ɨCCC pVb8cNt Y8 Ž r|5 2A&hba"#1CHH")7cg #Bp3BJsk7CCzû tK!9{pdzUGsA0A>f"838ɩ".7R#y(pc>8R@V:AظPԊDa`VheX"t¬KqJ󊮈`RrBRWhpCʓ(Pxn'*1;~L0d F#gE"1Tq\UGBc6p,A0#5mXA:r`Xsfޮ )6mBm~!(DKT`L̨D!M$T!151e+p,p`̆T@H⌸Yp}J80)Ax^RPс|Y4&1عr 5Ie=UqT cNA@3TD$gbUVGwC-qY!n)npR?*6F9Ɍf1 ,cz6XHbrVBtwNJfGg!E#?P^AvBުpw̴ 0q#vzAre )*@cYMD =·pRAdL,0HD8=jfs ؂bmB(ifsrǁ?q 1;՝b5@6 59UdA$V~ڐwC-dA&$6«Ge} h:ʶsnɺ2"T1e51 $B- " Vڏ vA 5(Ÿ4(&"m淳(GMq] 0^wC 3L"PaN sU!#S*p*S\rcYxb8Tklqb>W4Z)_, S P 4$M('! S]9<  Sa [S0a{:q ҙS+dm&Xّ "Q. Ȓ dkA'KDu1OHa:0R9FjFc1FD+BvY c0T)ˎS㒄JE\+*=W%}}Kp^"9==!Ԡɜ?wG3'b2J;lREw*Wu7W[2헷:u.ya]3W "YrnG9S̖M%I~3Lb!UըeuVη5 F&uDLm12߉!MrK^!gMCCxlmMN9{QŤP8L➑p- N ;5i-I̺)L~$p•#! QX(*.±a\CSBa -tAS$XC=t^ڂP!vcC dEE%+1/B7)G !(P(KrU.3@;á=8Q5)DӨ*;#XUv|O93Z PC@# SJ#D8d 쟒A[#2A[-b 2 tF.OxZ7H~-(+d M'[ ; QQAr@$'e  K C) ±[00+22&]d:q'yL6d"k%1 ܧa|@}LOps4V #PجfbA a.UE~hM(UBw*M h UbDhT DԂbuŠ'W(K»Su!' x BEe AJн97 xBr.@T 1F((X\;{FT0QNL1R2' Ժ;!PCHQ8q2LKB ?c^`%oiFyXZ E@6 I~!4k%e{Xi#^u(b"SZѾ`P`%o(Sy"C  iL( /Jēkc+KPx@EdmFϏd!R97#&Ś<a3J<  o8~Ʌ}q%` H 7lNQYR0YIT*ݼzR/N2㓝HÃEI8} KN@􄘕)JqL%7 "/c6$SIB wO5sKW࠳/NDŽ PX\L-b)i &Inc4P mZƚl 9,3GPPQk#61oQ@YitR8Yq3җI`Vh7$"5ʓA id$y )HxDhaD /cS $ "RVI|}s%m`r3v* qf)aOc}<ɦOIxEp\>A.@w [T{єPpaJcKsgڅ 1Kl!aQ\U;E˜s K]3f$(T+Im)F6P& #7Eևoxas\a tǪp“ 1V0#+!D<, (5P5I\Ȗ}.a#š1ItuF0h$͡ KAL4ۀ#NpÚ _GVv @epL D)^Tq8p2iAEQVB_6YX=j!0qe3(@Y'I AspaR,\#)09#PzSHrygE x%N.QA mX%/o# pQ8 /I.4P&##E$I"&/b&mBM;0W`JbT X%Rc`jlo] -n&#aHd/ mE$:lcFBE$j>ND P9FX$rBJz 0Mh7YbXF5>zܺڰIi1IA%*8Q=tȐH$qAx0ubyZL!TxxbH&{$‹^!A%8vAn޶5'iHB,łQ!g¯'x PPޮ^ (-حHa\  W9e<-J&P»Pe F1w~1V{("&&"qzܣ+6hƅ9V~DY/p?9q)E0E(n|qqbT9HT *˝7mrę;D΄RXiiC 95>.jE`W'Q0bL᝸r0HB pʡEAK]1L(Ԥ2GSԃi$v}s8Y4P@M5N( DP{G]nʟ ąa+:9ZDUz҆Y'r%N'V"ih[cIg24$º30bFa @q:6H6b$:HaM 핊X1GҎR5(c#Nc"jW\hM /]w32W1Ԅy0P16H%|X'XEjܼBcc!p]wk ,*0!y !`Y2Ԫ!~֫"Ζhd&;R)Eji6]0ԈƄ0 a0QJ6g'$HID *ǣ0AbQ]=%YyTaciqZ[YĦrmY'd81aPd9""34xH7j) ފDS鋊2)TBu4Õ0#`JӐ'2Ū;DZwzVhLI,$BRd$HF= FJ^$ q9oqEZqw.%n)S')gpڕ%v"s G#@% H6]ԐLHz@=3 @v&;0 HzL2ng>ȣK3P;uG*6gyK(r4;cCB rfM(J$C]#Q\@ UHg")W8!4gܴƆ$^mVlC!7Kh,zxڒZRM-JHJ5V\vqA}=M!qs6 Pt*bhg.nc8QVc?'*okϿ4ʥBrH'1GAcѴ%^ ysL#e䕭3a.;rZ"- -k])΢,NlAAlˆcDŽQfZq 68Q)@9mⱞm_?~_ {F4..+PRi4&BNsGK(PӬE5|.9`˕6# $Rx'RXFԝ&uקLoѱ$a0j xhoϡ(<72/v؂KfN)ܶwha9 W!>N(mX'|V;C!z2Bq L@N' dp^ramU-.0‰(aG`񩍚fl%H)yq7w "*ĤSs!tU=C,a0#tR rL]RyͿ@Qus\f@9^t#WFR(Ny'w?ʯS,u2% 83AK[0a)BDP\7ar"4E~;5QdeT>.>5" r˦]ssz{RkIa3%PQ[>AU]YgwU*\&vR,0#@&,8ʙ4Ȓb·/g l @NCa)-eE^IoF%%BYSl Ί$. b}4跺[J̡>]!Rk[q2W-lѦL"*^ RD2ڥt!Nzno-/žU۴eZ4UI]چ6q9N!^@)Q50rS#<[96(`RBJN5QaT~LAmQ FRJMj=RurQQ [iZјRZĤB Pt)D[F ɐQ*h@b,&䗭Q+ZTgJ(uhEBBȔ4NY Պ)FiȨyT⥢qU 6*m QՖ Z!i A: T@q 7Li!R V!"C' H!d"KY9J|M)UHJ$,8wij?%@J5 V\fF>^lC"Y2E»ݖd)Z܈R-0iZbp[ &kP!'e& 4" dD" 3(S~ч)6ndY^*JL Ppyf.CGtϖwpÀJNķ8to.Bx \֖8i S?`#Џ-⸒  DZLj`,K 1 I*0. -)u"pe8'H2';p4T9B| |A pA| jb#.^JԂ/590@b j0I4P ,U ^)" -N7.KgN G9ŭKpee GJNp*OC#AYť8!wfIz8yV IaIP@i{pZfMM  94@ zHyF0 $ ExHɱA= Ϋ]-RZ%@yyb`!kl0awE-N,딡f ,ҸpV1Q:/G&rY!g-n0,NQi}#!l)`X d) GdaR(%DpJQ(ҙIA-mn s\-}{J1šr\e$e7oD5ËZ[[JYGrwC 1)T$IH`vhO"GqH8F|pXsуi-v4ACmbM3>‹zL'XCե[ Q-$QSV l[1'ihv֑h;L3ߧ1- HTO[  A ׏QybN&I,{EzJa RQN0\‚$F[A4kANM׬b#{d|tvBR'! E.f'+5qi6KMÓ}-ȾU\A`sBD Ak*)%'Bƙ1 ^AW'ZGF *Za36XxA(fd I@ c804n_ =y!a,ԲF{L$jX>h)_Y˯DPiyѓѠPm-I]0ғ*\%E2E4{Z"VFCF'),,C .F 15ƙWvQI{=x@O=ƊTHt+cSɺKk>jPi"Ddx*Cd†>=N,ςBȎ6nb@,2e UDlqH`9IE,!cH))TlPT(J}oeiOL+,qdg8K!FPЂYan9 AGQ2aN&; D$=B. 1A WA"Vtά8xR|lIV),Er)a ]euE Kٍ%`*F4Ҥ;t,&CD\ge V w-4UL{{l!s9DIeI>`ҭ֢E$z(݇:;'Wrm7^BBzqP%PqΡXQh"%N-dB$V1TU?R<7b~p2xb6jib*6ZdJ/GӋFֽ}'?.Y%]EXؠ,YʡC:Y9L61iR<1hF!-t|[4atQ̽: ÄNx8<1xfh.@ģ,Q`1*8-yiMJya?뾽R\kOYJqA+F8):qE5">cˌ9=0 /ܾJ74֔dZ5M'M;$a֓ 5*3V*Z _ -Aʁhq&-{U~Zv'>Н@}WI϶g氠y֍4SH͂jƢ#5!/T]"i2U%P7+3ͺHOlu7c5KK%MEH/(MH0 ]!$ 4@Ru9g𺲲<)*Z#Jx(\8xTq~N^Cx+"5s|ԏ'nߝQF`aw9V)N*GjD./ 47:)r3ʄһټax2x/o+BpG#YWv푼#%cj5Fʮc_Ԓ8Tн5֯er<j/gb:6Wd_wB3r4e&GitTP+ᚄwe L~ԮFJưJI>KVxP9zHsH\5ALd *̾5LeG{^ݛxZg@q8մexxU0Kģ>D(f!`c+Դy*o"*e̶ F+u 9K͹o/Y*T!_EIAAcFCE)͉k*{V"q 5U6$:1Eipgĵ",)VR1F|/R,iΫ;b Yl𜉁bT _eP&D"OP#0LYAQENorX*m[Bө,@;yJC"3>`O*52rL& gZ fT쾖Ud;d K_i.%u&4JOWaSCqNVj ełQ~Qc1M$$'$Hgso뫉i@(%^yNƻ\t+wmoX9=k8^a0ybF;tco;ٺT> o(a*n-K7>m2ь%T%7S$P*l% &%vVaY_xMBhCY,zu-; j%′n >hlᱎcԖ}zQD"C B2`V U!2DF{/%&,c\J"Ggqqz`d@oa{F']26ߨM Q;y(?C^23v"&`Jf.bGqL5i1ms"P/DoF(VT{&. jss.( q," ӧm.?2 ڤ-W{a;R-g(+ƺn#Ȟ$QGF^s&::$LS+8c JeXZ9DB C .1F#'ۘjvmM~S|׌)j/@zՈR!t`s-.%AHt Tz. : #]WQRTTP9FZm`_t8Wjdݖ*SmqZ`"@wNQv&X&M37ytĚ\>D9ϖ2CܹyR>C~++1rg82$$EauE삑qKY܋xMuF]R-7ջlSE=;e})/9ӕh*:N3Iw+d.rc Ev#j 8(cj\ F P ( iH2+\C)$WŅFȅ̖T Z]K=9Eiz:MuBFbklVS})C= *:S ?(bPOhK gf:@N~mphM;BКk}N܊EToHVHq,dq^bFȵz6LEOo)el2$$+?(U#d%8fEC .{G+fPC-&m::kvd$"KЩ)M( (t0qכ-Ћm+rFlX&R]PME p֝b$&(QRKgr槰*pTI4WuӲyF 2j&B1K̛(+iD^ M8u(eaf$l솗ːϑI)؎md 35*fUmVS%BɱjG,(l\Q/?^ze~VD ]C_Apm446wH&\3^%oϬ~#BRH JI--8eX~oaRlAtV,]BMPtYuJAږyD );8TL3nuAwu!yW2UhUUINw 0J QRB=Ƽ\M~˵8_<62yyW2tyv6ҋ=7RQ(͔æ/E"BYC+0m_?]$)XZ՛dx3/HL2b_UFTKQB-q6Sb lgY)526'Xj7 ȗ\BU *Y< i`_Ls50YeJ+CAUܮx%&H).W0aNvIx2pH$/>("\ђP*'jlQ;hRWx#7"xQ_ HC$W!fI\$\a~b[ilet5 ߚj#T֖.$0$" |ʎ>!K'LH$AFṴ@UɐKEfJ5>m B]lvqR|z,uB-sKVPȁRI/AUe#9siAavvwDlڊqT-k* 3.手f>m˧C$5Hq; E[+K)"j5XPauX[ P.}KQz])wgύPF<\ =S+*յwr.A9ʕZ~rxlQb(PUJ'.ѧ\(I|p(a& sL5 .11xSHCC(DO+As(G6HsmM&u!o錛}re}NW{$e,5Ge4.|>ы0)g>Fl:h(UvT  J8 [TIX(B#å#g=Lݜ*< X[3d!) ]DW3 DIvq-2 VՕxl.`T& <𙦯Q]r_jkhitm9 \2)Qu_Ԇ@>2^= +Nk/92xwJP*ZAA4~,,خ4V 膑9oX@ ~tf[td:z; ʷe*MOt?T$?$ _ZYj'CY8HVۘͳH] `l^LDm2%z+M/tUm\42_5>GF<&֦DuoJ$k2dh%yLFC&jϏAnSȮ9NC3p벉Y2Eh KRtҬ_ƒK* u꼽)3jQ%X윯ci A`US LV\2W/ Z㈆\-() ^&B|Rj{fjb3V }IR; AQ(L۰ARiAhs$6f)ret;27Kx>Uh(c>N~n ƒu1QAõ|u08eB.ċ4I'h94 FU` #bC)\&oO^_+["h|^|.Ъ:S;3)T! )_̮GjQ$.9?HY..Q||b5ȱmqـ]4#b䌓Nύ%I|9Mfs9Sg I!kEJ%_ޤ?xr˘flLޛmVųvNRԺzwC p8txfJFwH:u E,N%z?s]B1U9Gě2@l:LaDpCIdvmZtazY0$2[kg1 Wާ&#4W"!m+ әm F㒆0m!akl-# 9=d?:׾&:6AԓPe_$U#pk#{yV> QW-}v]a5QI)!(L*EdmQ4{d,=$ZUQƘ$xstij֛ i:x=]vDf.RP@T|vɿ˼2̧XL6HCՖĊ(k!Lɀ޿w"5<"k4BL@ӡ&=ؖܖڒ'f`ձAJz@!MPA2mEM3\%7RJ.q$UcL (P::l-8)wCd,ƳPh&9$}1l#lXA'<۴ oG/giTGt'q 8Um\o#tb/ X6"-Ea-欞P ,6 *@e͕h k>V02ϑi NA<:D\tv$H3Ll4Lָ:"pɰKk j}u>ܡ oN@$(KQ.[j OSR8l!`g+yUZm)3K0i"Wڡ݆2G%\ͪ[H Fh&\~h?gw'3f, T5n]ORKv=;vZkA.L#|w'Xx+4-RLT| YAڧ X wƼ,EGVc9GPָRgg5jw%J&1JW)5*h&ojE&vx8r]dw?`EqQ0ezʱ^2W_ᩰ[!Owr(3PN8:ʣaLPrx :wf7m`Oy+(uP;Q{Mʤ nAy߷CTG{|LSR< v9rBkL^O^kˉ4ڍ/տ g.CRM0"> X/{e*Y)RUcX {5I #de;&:ƃ]Ld˦q/w=Ra6(֡ûܦKe[興F&/S }u)sYZ`ꠁXR@i>kt0f1ԊRd j =!JMs晁#0%u&t&7HA.؄VY:K YU,Og$C\ĎWɾ0 1bC-A=4f32j[A_dX,aMb:\搷 (_3rVġg,>$#->P&.iE޻Vl D'd9M'\`(ZN W'A;)4E9py,8"K뾨A8Vz$h()V&XI=<)}GQw 9=Se#V卡t3^Oꕽ|;x:Pօ8 RIFzl?N*Pady9 ?TcZn /Rݒw"MJࡖf0[=_Hj3t B \ OP6t1(2J SR]U~);0>f`V`h|9Q؋ O4KV;.,ư.ʪ{K!S!E򧁼[ t6JYQaOb$c!myh׊j{H$n2CpY|/h0؀6DbpI>#Huu*,xŲ!k)7iB^b-;@pݔi"ig(1{{\Zdv 9.JMʜ+w L(%=% }>\/Ψ̈@ ,9BN-"2""]ÀxOIhfFѐJd愉}{>P:II>yaĦ^8 I OC;R0!|/Qxݼh!߰O\|l=@,7g09WH fGxcp2c* b֊[RHPbUSB4N壤w5 dRR #xknIAZl&t3(Qӕƺ2,M 'g$iC jv2hd2i"cI$KIq+>I1Y/u7-&.ba3VGl`T]`{u)j/@3;TNa X1WeM6I2D.2yHvw3ѹjEF'톈._DSO12>u'_Zv-?cC 5Sz2v風 *%y G(WLqi087o0*qܙݙ/FG"t^RP /RGV 7),Cȹ UKw-f7"$,Ӌ.U5.=*8*吲-GM1ΕN4%|e} %- ,U4Fp3%siÈʛ4֘N!TMRO%'!ն{[AۥSʿZ@M ҧ|=-so\u]ܧ(RFFj#2^';/'O6cw0{eqa0*m*+M 0զ ςĈONx՝])@\!9,gw<fs<4̘H9);GZt1<4^j&_=z$oO8w5!Mā>&FΤC, %nqMAEtX->@y~Rd70R-YQmdmUq*UO(WѮVsI޹ S KAmj/CNnu3$ѩE92N'Н!QlfE<2ZAͿQ9t&3m]lߕڂG7OFL6X^~ޛs)+f(ҟ2e|;蕼9Fh\p-{tIH*y$mecŞ{˒zD/$"^$knL'djd%39U1(;!z)ܥK| jF&iFl9iæqfN\aVsDѫ"}FCYD'CNnRf3!3K9 j0hG ؘQ_ǁs %i{?UH c?wƬDZOnB[Bi{2tJG; ))XC['SP^ h.ց.S3J8+ƴfoB4!НFe`--Z[: ``/TU![ȡUp['( d $UZ8c/0\V&4~(YOU1*qMX #.ᶔ y3;`{/.l0|k:ٶhOKD'-Eo#XS% OXUC6BWƨӸXb"ea] IUi}iސIڟnRn |*BV O'Qc7\KD_jc Z;̢#ő+# uo6necWu,.Ux"Dc"3r=, ٕ' ow*Be#˚iTAMw WB8ӥzNDH;SSuDaEl8mFDcO%hHe9FJ*4 -,rL4wECoM2fh7r~Q@%@XfI)sEgb F5!xgЄK$RB=4fUJ);.r`]vk r-mz6WE\/$,B8J-Y'}$*02M9Wl oKqLI?q@TGd8 0K‘מ&4)uyXow)ڛt7B0iQ F(UHFX#Ê4}% Q8NJu9`M𑂬Xdঅ>ėkcA> jrI !Z%Y 7`Sfz+$|*8 c,b3!)rGB - +CA! ~DBm@5cC71 A6VިavC*%SbЂESAFA[al &L8lZ"j!8۬ B"/r#+Y8RdW+8r!`j岋Uͮ1s}.GKL&x!غ̭g NDzߏA)˄/-1s t={(=d7D@0< O~ EHUXj1 Mv8/6JZ]!*r}MwK"OEg!2( !V JAA/ ՗#;jE1_A|%RG8_zB5 R:3C t[M)7#% vRzb!pO10\Eyd!7g%SR_b{ 2@*!]O8)^1bHleʾcWJEv dN¡&\%%봐@*yԝI&kLdi^Kԟ+ɡ0˭Gxޒ'[fX)!KO|ve}+ؑMZO5NQ[,:0Kә^~z,VLxJؒSCmhdt.Vgʡģ9XCg}؞іɨG_VMQLJp]m&܁ =l();V$fjЮ= $ G^AJ%0*S+aPtA"5뭪S3^,Rz9dA g|$tDy8*xQ^,TnVoSĊ&Ke 7KnDy.q&@^ d@M̨0RmVw.ʨ+vi^} 5ab (jg ,čcEL |.s0ٱѿ:NBi}db-k T&60M s-ph"5uS@VM]ub$Hq-&U>E7+9FC2 W.նy섅(a'6[oLM]C|Xݐk*=D2YBBz b_8Ċ/I=:Dt"e%z`勒tC@wҋ;0M ,"> ԃڥ3όFtunoZ<|j|6<=y r&CWx!htLD9ʀ $TsۗbE#+N<3+op6.3%0;A"AX`bfK̳օ=vrv%J.vXJGi5!f+y2OJ7d7Ϯ&3 1B:fb_8g8|>h۠7.+yW>6BGa~c,3[pZ}! puuJqQ%d/3#Dq92 TJ‡&Xy(FY3W- Bm2Ć()s$O'A|Q;KɆ7, Rѕ?Yk{@&ة}+˶aWD 0p`iӦy]ƚkζᱳEXLXTƗ"=@,^}@⫧V@vpa ճ15Zn/<_3hHf(*:Olxab.:v-4Q"GPeѤ>@TiF^Z cMS6T]>A1D^.wN:n$B 04|QT] D2rR@[,L,&b ^"*O;cR58cWKO5R*Del-76+H;]l4mCFW]WB+)2 !E-Q8RvR{Im;+Q4#y7%* I/%Փ6/h]Y뭂}'9Kr(a|1_7սS0f@DnE^?x';'Mm|E" PQa$Q%<'Awh`G*=d;OBeH5(V7]RMܬ!ZHЪC +"g"];h䂊f."W_Wmˠ. @7轣wM[B4Уd8$F:i*ӵHPw~-|jdsE8#.3*RZ<% 3䰍6; nD492o$6/h,t|C jh:)1T&\LtyndItzh1JDepX! !DYc{otwdK)XOHlVM鑙F GQq"J_-('VGzW?:d^+딠c0ĥ4Yठ^ 1Rx/ %-*-,~ɹS觷O~JI^@[tOװhB|RPUOu"_(Y4\FbBXUj{ylƩsR*J:69&B߭bhɦV7SW2/ޟ[yI Y.qǐu 4AD0 )V͖4X\1P(ٌB0&]1젞E@m(B}}pC?*%8uOֳv\f#gk@n ᳈h-u†:%?OV|&a|<-dFC #~iThdhl K2!Dd/[tνtzcN-xB2n;]?]Y \/eҮ5zý+ΦS}o 2<0* He6,my\Fy.4H d4 v.F3}n`m-mx=S\Qqx"<9WkFeqvQV}ؒDP=u7 ET!@l^eQT: la#6&%uVLCj HA՜&:D(@LlXI }wxun%'tK F+[h4Pu"rJV<2RIC<~A)3 BÌ׸ ΦX8ɚL5s|i@-?`a_'4%G :j!k* -NY,vD˼0 *t~lTQu9B`6.Hx YWJɑ(xsV&+[%IHAHJG$2Z fti3zi[1eV,@Dm%<vZZ+)Zˢ3$\=1&(HZJtT/p'z iD%}x͆{w,Y)ۘ†n?!ti\dpgC SC^"Vbd(*%|io xG7;ḧU5fU$zB3,Q: VwI0EU _'*uCs Iw;02&Ux4Kh|G藩4JRu.1sxl957kQ>m HԞ{-R MDnH:Srˆ7tCLycLmmEI0,W.&;žĔ5Joڃ3HB_Rbju0I2k>tRt*?~5t[K4hB CmYŷ)|eg ;GatڎJa>bcjDb53ՖIXv8j~)qSAuV%0|T(BKa#}FDOū$c.OJ xAm~o*GwGWR>pQTRy5VR  Նf+ .87i 5 7RR0wKD9S'(%X66I[v^&y )П;OeLRB !VY3Q+-~FN%hahQ+6ޯ'J6ity)2)p6\[$%*Cԗb${m4d|.n&iJ0zv|S4dPZ)~Z2ˏkB~`Y`mD &Mv-gdԊR|N8NS 8?q 4^s\NBP X30(9ilLrM_E4ƍpA坍$*-eɄɆC$ˢ 8ѧ(x&JA!y+B $OALL*RÉ~$(/ifFe*BXMeLvTl̙8AqٜĊ\T(dP+/p ck`9,_?eO\3+hNErۢ:b 2Ȑa>V/ YY~bu&CYzjG"6 U;,sc0Kj+&#*Y5Hڛ;Ao材'{F(f4Eg_vvN'B4S՟L9-WIkdG9yܜ2DStdW 7iť*_IpMh{6w5LmOfZګ!@Ճ+}xISy2otV%k]y-3Lح櫕 S&Q -HtnbGWĩT4RF^`־JDA-ġs3agqW(U}v)Ph*lvUAݮ f"ҥ1/pBn"q%.}lO(KfnULK))iE*Oq+aB=6,bTZ"ݧ-<)BQwgDA:\$tQ6n"{p|]PzUp%T $~k,.ݾy R^o_6 b5gbEwADR4 \_VFQ?IVrCCfqQbވ+m:P;+xɁq#յښdzc`N sN!L'Ew Q9k_ulVũe# D+mYe:q!׏Hu[S%P&u`3tYiO249l'{3K9ĕE{|n|g"#dzԐ Qv=.,{c ?3iSdv%7qOp۞Ȯi*= qeKL"4y ^c"9v@]~G]D IdY0](bRڛȜXZ=N%\ʽQ`N<5qgRoo r#b<4dɹHF>gf_tF|yRCuh3ҖBv,H8o2}Ə6NHc7lFaPjzɸnǦ7HPAn!Nd/ͫyrHs,6f-lg̦4oJg>MDƐYX0$S.ߥuI-TN*Z0ͰpZem'9jI8K~TwoI'$4#5M3IN @́k .YrZ*լW&A 7Xi̐F*U2og1fF,*P&BS+Pzb$bAK"bo};zy1y+_Ҵr  ^lR=qr YMtE<)xo.?ZzZ aweAjZ_"8וc+tzTNvDA襆t gM* KD(<!5Ͷ|VR/VޜeWF6͸jX 3*9ELTyPR᳡K#U(!F`vCe{ U{B1]E_5AfWnMH#l\YxLOpؽ%!C&dC_q{dGA&$t?> "aYM6J+c}K- A,[YUgY Sew0"Y~8W L q6*=8)ϕ&)p^?ڱDWJ6aXQ1j<z`eQlGMg#Of, +*B#$ L2 aIzjP?@& q/f6d}Tnatt,Eᾔ&-i>(Cr#*BQJҋ*eOg2$KRgܩcӛ 5%J]G4-JS1& R|A!jlauQ3cU xni~߅ 7V+N}yNe4bJԖ4j LCwoOW;\1?yzK6i&l-ZU-<[׏aLxbMƍkk( F|iv%^Rnr瑜M>##mמ7ȗD{_[Jfڏv )m;-v;ysDR"VeƟ^JHF<(($#/%#`5"kM~Xv]55/驮{|M~ҌS$]DZf k+;+Ca`ԫDe%IDbPZ.,ݣ"eEs&%7^l.$<ԚZ凮($$ˑXQ1dJ$lg n/]b;qNrĤ'DG жw|=܌D_M|v.hɣkvV& .Yd9j҈W82Hq KVTtB ( 7 %K")Ԁ$jq]-ZcLۘCm@ftt[y!仕W8Hu}M|tLEYnfGSaUuB׼y}ҽJŭB r!\h2K&&# tƒ8Ƨ 旔#v{!|LmwF*FIa-Lz A[&NxT$S#A 7OW %<M5A\%Fj;aAsGD ޱٺ2k>pY7 e]թ"+׀NILܟ,C׺<2Zw"l\7Sιr iu"u\0C}OƷm$Ȳ;^mj 6ա h hTiI8Rg6;*L7)PU"ФE$ Cu=4 X @@liLL6OTggI{z`OXkjZ0ٿ ElSr汭QCT)P>23a#n.gRVut 1&6odI@_'"#$Kzů=E/ N %j։|%'I{lV]#K29Uw,n WIyK9 p<fD&H۔/&{#ںTlpD abYK2HEPrN**il^M-"$OMQV'689{9Cc*N V<)R$V#G5'7n$#2JK?Yb|tq~(\|A&, *] ѹ y ә06SE@1vYRQ(Z3XF;Gh%ƽr#۾X1=4PЭZ6az°2zI5T?V0)U{ 3^1./<1Ïp6%t³kV'JiΠNr;|jT$C# J ۪mHP,ND!/W?E I>^ÖDw7UBFbSz]eQMml .\, І*O;u )\[6G^6U;)A^'+ ˠ-zj`îujׅ>}|f&1ƈ¢i\ud)]Xffnt#+T93E%Q{wLQ cޑ$"`j1%Ԕ 7[<. LsM:zTԏVXu9Qٓv"Eg,-Bh0LEb,MJ:Xb! gJm:!p!f'̿X;( yk- HiN X),QyϹ0ϱ:ܨja/lrYE1&M2("+d$SB&,RPR\X fk *}qGOBcF\sNKRЩ e Z QvbOrXT.R%GI'b"`I);T,^Pdߞ4ʳp̡&JLל TH+F\Aw|ӷRD5i&!EmRhiP2jJ[3P9(*!iGou)4؈/; cPF]O @l= a[LEx ȷ$)^w` ;"cȌ9ahW0įB7̔`(5`.ђp.lBAq(*5Z)hׯQ8<}u^C?OmHr!!S/|q"6o59 9>|["FfA0t֕!mZEn?vhIHRlRd#_3q O'~.D0DKKqnĩYpWGhkq2+{#k)kFh/M)1x-bF};5X)xGfSF6(Ƒ:W \rTD#Xpcd5M#ٔZRvflFyn+t\}4DK(71t|u׍ [(Mm-*GVh"=*\xcHCdPQo\MTQT]H59j{jt (1}  9#B#͗5N Is!?)vCUg շe' Z`F519*{.q_q)t"f; BȺFZTtJDk%ނMȉD ;u4+ {w7K :2_&wT*|eF9䳮#6{,\v{K R|uE(✾R"~TFH0 4VbE˟N&@V-PcxY;faܠdէzb Jcn,uFI@Ht^=S3SfD\e戆Bp%1+Ū_"`iR>YF`Dp{<i-iSdsaHa6MÊ| XV $(0<"Y|;$ Mȥ ˻9(tǧЭY7)0*Ex媻_zŶ:EšCW3`H %tZrwq|Ţ^վBQAsMۛ%d"5@C34}AFtm b[Jrh4%D$ECso!n]nMSh3vJrkcK7P'^QpDuٚԪUy9lwAAGG pƖ:Z\V^.+#PܒUC١z*,Nk,n -lMH8}/-F/8nxap 68P)r*P]C'Z?)f 9 m%s3." Jq@9aۂ FC<>"Y~~|ĭ.-y/ dcꢴx\9OƨG*{7/eKb FkU >qdtA;bS\WToz,`m)CsZDž=ֶ]"dt``2ƥڻjnԆ3(ۂ>P$`(_H1? ‘dl 03Ồ?5'BV9!hf:jyP|C*@G[mΡBD39tgI5.Z`~܌C"%:DA &ē`2!^",_r/FM>1b(|hʆJ. @#hXl rTfhQΊWQApM:#P6/֧: K]%QCOc}cZyn/l/ H]qɨIuH8(3O$o}HWUrRQ3My\82I_%pbqYUsnOi-k6JB`A?Rc0SCe/A_)›"U?AJn-/vǣ CxKj>;;}H/__$]hWE{i- /C"}ߺ,}uj{.KCQ;B:]Mԯg-Ue7O:Qj(>p[)LnJ %}$ڐ͆uj)lT;:1zW|CY}/nt_d|XUٞJ*]7[Zʭ` N  #E(_ V7Ncx fhլȰd8 O[w' :8] J8Úk+{'A=綄Wa@ϤbQ$bZ*N p:Vz!l!Iiz*+DWC _'Ioⷫ% B,6 Qt+4bWÌSqxF(H+oQX݄RFY+3`t;HnmvGY7u ث$gR EˎE;̩f8K_l!H!qСܴ)ȑq%h&Y$  "c ,ZE.>@:&R㩜iy[qBu <`_+qa=^)Fq#/I/\ *-.R4ĵ퍤 YG/EUE1/N~FƇ>W&6/?ljC uwK?*/s> ^ȸA)܎sj^yoAgx@*?(ּ#0F*Jb=ϋZ$M7IؘR"-йԡee U*_@K (hUJaɁr7U"K|yJ;Zb5^!7r[.SI* (HW>w²SUMƭ pZtrr?xp ҄ n@c25G"S fRwkLy]Bj Ah&І:p]{ .JIxeWp"uŐ_," P8Du^ SwCj孍&d[6Nz$\#Kڇ1LD(xEoz@ˢ8I>sbXB. K@E6HّɢqGV$G;nL6bH*/7ӡs31A!EztzI'3VkS|"vPd]^є'C?TJe]E#GZ#>0O.p%1hU~!b{՘VvLy5fq+|3[e_ˆ4+y5< Ar.rq:R(49 o,S島F "(%$:]Amyܲ#R=M}&3`iA8IdSs%+S95$"h"1QJ"!>\G)ƤPPsiZR\D<2Fy-| ̰6ω > td6LK >E {:8B%bu' !)[ .Ci֋_)Y*.y|9L<Oټt정oBdՏ42B'ܿzr.XmI2kU+Ĺ񐸑QBq&(ZDCq4 )Ҝ̬%!5bdF/Fޫnz 틥+<f 93ur2apE"p L&W$PŁ8;itYi @DO&aD4_Ja/bb#v7v;?5_CaJ'5!bD qp a`x^VHHsx\"*~CVJ&^+|U~B72Ӣ7wJ((@M@.` )٭)!߀icAO/BOLE(ĄИ3+p=.-/B6SA 9+b^:$ T{YE]",.|"to^\L\dĽ ?>7\梞Ks Kkdsŷ M7 SO;fY%cs&&ȶ$X]-LtS#|(TV3(n,܆+FUlDC8q-჈4*XaAaD%2Q1`uv %!5aRTC C@^':  lfb9r?ӏB;3 >-4%w}.Z>_HbCj nwF&x:|{jpy{$P&v)BTĬV 5\SJ$1QR8ߣX^}*◚k^7*=&o@Zh ,9!/ nc&-i| m)K޲D& Z[S|: N 4Vi/q 8 7n ҋ ,P󉝍0)p/<S%9:|GVF<ۧbaBV1ax@.|R< l&@]F1&%BY{*&7|BS. "FAN!Nqׇ0A:ho@ ɬ!A n,lй7)#ԭiE=:W3C ?Jl5Z3ZM`Hz (zBߟ-]J |&hxĩ:e\ [qPx!% ¸5.mZsʒY170C{t5 -(OnDXZ8MKbF&C22[3 m/1B2k=lBPUeU|IȎ j>(B 2 ѢH*0pZC*rDm#p(6Г0ʊ2XMM>@–Gf'DШV {vݺxXD#m`X0bSJ P d5t~YJ8YW^LIXA[5;_(ZK 3x|)1/ZӘcU&5sֱBM#ϦL$!LG?̆aS;v\޹1h7mx|Q8RWrK$zYdL 4ޢc3@崿\,qC0GO.aeJ񠞲ę܁"e.hm$ YAxDHoF(DrP@דaN1 DH>lG)a-e-cV *6e#i#g_t#Dԥn/| Wi2.=GB.ԺC>fO('ّQ홆{O"'d`l!o= kIXȞ=Fyopc*ZFMv i!ͼoHZ@22X0[51=$'B_ZW\O* Z #n(1Q\RX+mx-6O^@azIWh-jNϲk%j=}$Y\LDL!:2ZXSG׏!GVM K\1=@PZK}0GAJ+'B b-ϘX݉4:JG0:'($.Ǘo'{ʨй$7ّ7#3s%VȥsѦGp#i|ڧW4 O>)>;V X4y%ԸZVf.%)Iʄ ܲ__ j%*B& @zDHV\wd'G'kɩQ΄0@T֕Q*)m8⢳U:!$f配ϕEMe +20@*H>N0ؙb%t`sHĊ/?djP0s(ބ8I=$iH·%Z|Ի!T  2ԺlI qabR\YYd0.GCbW(h:JDWD[:]pcnYnfs|Xs(7\=)]wcRt"z0ZX% ZVSR~h²2+Uzt! pR +X ^F>0oB*f~gDm9,NL FHM4ByUrdt"h^8tL0ʍ:( 70u2 DXd quW;/f? XV3FD3^=z *";'dp R=f^5#V{KwOK#f9[0eBc7&``-v˓HC&JJ gem걅*O'6H!? ܠ%X9UQ1NJ~#a{lTl;Ceӱj>AbAKd(]7y+3)HEbY9ۨk›#`'HP 0^.%١zΒJa. 8!: " G"Ɗ62*PLJTVՕ3Ay98 @n{§C邒(RRA;,ZKxڏ9[h۠:!(hȪE_ l-%p"q-*ny{Ҟi8H^H4+S -jc.ն$7&y9 EJBɢ^(uq @g1`4AܐL0B ;Alg,`C̙_`{3igZ!&!b3((\a{k\ess;.D^Nk5\ 6,P[dم'Wb/4ق7LeTOAY8xuKjJ@fo w7h7stAM/4mɈJH((('&'_D]? LKfQJ R|D[ٙVAo ܺ Ц[q_WeoZZ7L/>ی߁r:=j[ >3K !u_占ӭg7ZN? )ITĘJ~$PS0w/(V rW?U{NefV@ Š%\lQ5 |$#kc{^B(W] V -7·4:4զ!sy33RQݮwuT,$#ne?\C"uyR`t"=?bB*IʬDoeBwCӡFoB45 %aTIBclܿFm'  = p;b1Hmi73_-keL_ _i(.+-uTs)$RnHf_+I XualW:֝5_HBbVdOyU V˫AY'tsd\Е7։H,ZtooF|O  ·fxJ͐'1K~Ic-E):D @he=RVUE*Q=3,hZ''>MLUȄXղ}klД]KwP>1Jtrn?̌>^hd!:jH,bqE 1/CnX.ld.3frvT!¿(E!DIJS11^{?H"8FimkSu@~m*=f?λBʌkpktd!agM*3I[";rDwLE2vU)y *J*Xl<$$ [6N.9 *Ϳya X<.5a@D\!}Vή}Ɓ +3 z Yvԏm7CS<Ϧ"@zN+~:F.sv7_MqFȉZN.>(FMOǦ D(rU:u»2kѱ޾ZAZ4DO\Azi`L4&pfؐU]? B4` ñp-TzW C6PNjPw=ճTLFzÉ 퐽 :n畨c$KJeeEg&YJrW)/|Bw%ZTHiOVQ%:Yʭ65y&eBy~p"cAрȺeڸNbfINۅXB=*+j!Z, % 6Zfծ;% ^ g^V9y.ŗGxLBIMa ׅmgnо|_[#ʸoK`"!t_ا'B΄`GR[Tr%X(#_5oh.U3Iy\XIūG ^6{(W3h(VWP|\xZԌKh_d#,.+`SRwzIJvH]A?%eM2T+)uZ ]Oj%?XK eB|d"skD;s qo'[8K c ˳I#v7WW? /Zk@KaɄ Ja'^2 3:cK:fje>/Es?z3b:D.MοR5g ]e`?^MqD!ebbo帏G#Ki $n錆B]R[2:8ʏ?fzͤzЕfT*舒|ʂ#y. "Аm^'B=Мg/P\"MI) :1k‹SbcTAo-z!BI0,KZoi\O#$ƺ% R#_)&<O %UXq ɳJ0R-rd,w@KP #uU]!bd!y1wL΀!E>%&+[D+Na^ V:_m<?RM}.ש~@YƟNW~"G#ibVF$P΅J`+d-W>"=ɣ'7 _FZNT+tI[c9$a%̘dyb7&xЖhbdp "r@(>mAIKR/oKDP2|;7R|l>>%O|(Ϣ;ܡq󢫡|&5T#ȃ|떨'J$ O1l%p܈fJI[袓u][{G Ӑvյ JO &#oDr%ܷJawu5"(AMWb" }'Iv~0#d丒@Ȕ_ȱJTc\̾I]O#4gRGl-587Q"ÚF U$,Hf_\O}H' [ڥ 3w\1j+ Xjs[MAj Zk5 D"K&?b h( *>B4ʘGsQҋaJՋ3?Z\~,urƞ#<ģ yu @r6NK_n}[ei7n/.ͣ_U;lMq49SQ#mʃ Ӓ_H5ϨƎQ`e-EB[hZ-C-\ 9(4_6&BFN[P<:D@Gd1F}$2J 1}ٶpZ$p ἎO2?`e"g+fp ݫSx#FÌL HTкT&r-EһMF&F^M#܀{Be*blӒGD#sxM\&㢕P9 Eym/>n .fFH}Il7KA BI}:Is['qdNg(5I$XKBe~VFi|!J"_WP]؍ҐiJLMϙ# T{/{IoRbo0*t w_per*D̝<ֳiƾI⠷e]:2(.x%;At:@-k\bBd V:)WK(Uݲ!|( SGv%%D+u1~eJ%4@%D[&UCFǥӜ,/u{l53Խr;ײQ0TEQYCodE '{׋ch0co![Vx퇁ȒchZ!Va&Ds_/q;WS␊D X~%\]~ Q J403Dae5Fz^,s"f *L?WlS%D$~N=tO-n#i} ZCUP! %]Z+}vȧ%7w?m]lDWC,]WD⶛{/ Y%/8Q˛Ɇ2  Ǎ7*SpGT*p^ 5.-7 ]V@#z6#Br JJ~L i"bt p!cZ[(vILL\JF/"g / b"CRgLxp ]oѕԱ[ zQ֔-.zIHb❉dHKN> "#kym̈lFFy{K/LEj%Jēq9B/Sm'o&j;-e]R#Q-Uai+ʒTG* F6KNkrMr%|)D\Gը(3*JDF^6 &\{L:"0{y;jƯ I^\"Jc~tz 􈪘ZL( AL{श/BD(6D#X22c"âb>ry#S˯'@#kmMbaF1,q,e#uWόбVϡbun#ZNQ'1l&@LViSQj! _/bhe _)2p 2EF{[B..$ĐOzܰ?{e5euiE#lcBqT  QDn1'Wv~nny4㒽Rȇr$+Yl''M2Ufj$Z%rp5B>OL˂~ \.>oj8BGbdӯTk;Eg}θ֩ĐK\31T؞ 5Dg~H Pd^lW $at4CZ~iX)nVBWvzYS m/")YRk@ˆV҉Qc+G ~"k-L+*+t|J_r&;*;DP]m *e7X$xC:h0eǍdt~Ky~ gA6x'gnNjHԱ- bROIY/U[ ['}TF:Sxci5>7YuȇUG(`Gكig uHkLvzlEaUzLmT췓+otD* Бl4ɣKp&ʊxift{ޠIJ-a =J+xcDVң}jFٻf:~X!fpKI]X'K@rKv cRi54v%"jKB,z(%!\iݢB%0l6SPdh{VP-a$D2PJBX69JQXLBJN_x_8xXz%CCJК^W/_lsJ0$nQ~]4 OO8j i7d+ii2`ǒ9CUO;U"ꛯMe%ϹЬskh>o>tWaN'tƥM rЅ/=*P z;"ŻC'y\oC^`JX͕c4GF?;|IBg(36.!In./Y=0 r˹iXD I!TbjK3(EfEA gFt(Rb@o cNh&T!bsE,E B q{ɨK{D k D !~ ت#!R!'C怰 Y(=WJ%|X a0e "4hcTb&~IqBƠ(*M{~R5_S'^tppaP1Hs/zULCB[ V&=2)@o0),h k 4F "dv%p5bz ]W4뵉TlO}t[X'ngJ7R&*,b!*y(nAIWХ}]&#㼙;`@@@QRtn cL }1]>I 򒆛;Qāɱ!};?ݽ=iR:(LJ"gP(}_g,H8ަ!aB&4>j\vJݏ($˞p-|bS(k)~YELH $Ir҃]&3<*ZO`2|ڍ+ #ue)Jtɾ >umXLTJT:%;Мgq KJ{ZS?_r7܍Nnv߅̭41ЁSy15ZYπLI*'ғR UUJԪtFb"t, tte*!m˼^_61kַIBf>˚H5Pb@uV !:أW9 86+I)MFm C|k%0/1Yt$ηyWE$3abwYgc (Ay 3A(g.c֓fJE)IYsWMdMݍ'a0Gke(/ RO2*+ EWlN.u%&YD^ۢL)k%byt>^P#xE!4+$t-gx^6g\RzG.@'DE*800,c6hF`S?N4$ep`ľ>ZAb !&W}ƽڴ}Î)LПRz"EX; b j9*%Zz^ ﮓ$$VϥY&RK/лR(ZSI7a] {I+ROn_:I({[p+WvVv^؋oq nNrP" M&m<%pRt[ * cO7v X  _ 9Ђ\ʵ[HU 6VM W clgCN GdYbvLŘJN;Y:8<&S2cIae %M.5Z-b0E w*rnxDD'v']S$kviD|C>Ķ]ܪ+q+P}^G(]H Sdd$h M~x"`Jg+w*2D.S6Mϸ/ؘmE, \N@K=1;}r՞|А\;5_E[%w}A2!dB^5,4Y|n_N4١=dLIcp5eY425Y] d_ٹ?E[!ZWH#>BJ,D$JXz>1T].r2R'w"s0U2ELGPH^LHQg-N::I$Nhˣm12OQ@*dбTlQ)Eeς/鷨usU2\Y ;2PoTcHl)h ӳ@(q}k,`ܘTL<GΓ<8<0Q1y〱E%""3VF#Lr!0]`NEnqKlid1^˧^S*j)mn| ֨l35\C L3TsA%CωUiܒ" (d#f띧xPƌ\@+*"ؒKn0*!ITCU/FNW>ԭuktvdORb4Kȕ'kE)^3+K!cSjBCCh)P?k2Z+= 45`T&Pq7b ^- Phe I"l MsPNz{"hQdKsFK:[."79f6̩jM qOu{FQ0SKYc&f^fBDT( 1aЌV'Q9픴UB((2<M8}Gj#D=db=$ItIܱnymatV˦)x\Dgݩ'Lg#r66 CLiI:C33huvNu45^ZH1 J0|\/{#E|1TdL)ŮP ={ǵ<|F'ʋ7KqF 5ÈNv3ۜKwB{i \5$RC P& O&|A8!TO2D@# 2  ̆`lD&T+;cV &x ,$Q=,F }q&5`lKH=<W{$ @ IT.;Cxb-),IjkzD0eZ{kA :H^9(JxĞMe`t I6kشoC]1[ke^=ςCϗlKJػ.v7~mK/dV '9HrڅX\%[JIzq43H&0U zpȶyPjƥ9ע61q='iOr=]d=̃D]Rg' F$?$z D&&MWtGXQ%Biq&m<oR4g(5%r"0iu>WD"hѾlm02lp6w,F6M*g,FϗkHGmH$dS\ry$Hz}R05ȧMTQ;1%\F8|"Rii A@ s1&HLqzÖ$0є(GVLUEf!S̪qX]dtxJ({^FXŰ~IGH\q=HjvoG BqAֱ_rn$ڹ-I#.6\j4\8i~= s!T I'φIhkIJ- 0m )lI)s,c4m+I3,Wnz@5 %@Oъ" O⹾ D왹o>'n_;rӃ!@~~0?GAr?h=y-CcenP6w1(FH|#)9 NmVK_:'**O5&K)FL!%^ǭ"S RKdb쥏#z dg]!,>%d꼴frAeĐR8vP'T(1Lb5wH2j_)&6cӸd<{9OF*<%!/ Vkp8LءYH,-{c3t?5&Yw1t=6*ֆA7Ei6#C7Y`/ĥ/y@TB@6 Be@6ޏAMh-Z,#]Z(i|#ȶk Oj@AU.:7 |.\k}<!Lqlb~JH4Tؓ="]h&@NzH7ԯf5݈ I-B{}K-Y5AHd |SGFv= 2qU1T#%4/Аf?a}0,%ۅ``Gd+1zK#!4 ;p$M:7 ozVy#){\CgøK31D@ED"$)s?  TR<+!|,Vw,*J-kٻ$C18tXρt?QӄBYM#}Nϖ&FF3wJMQڃcHl8p׽TOb[* :I(\ƉdD/y:.E*fhf\ebyB'? sez/Ѥl-z!D|3c&B3Ik n97*-;R[h!#',Wrke_6tWMVQC#hTf<0XHwA->őLݑ J32*w7G$J^ K(zn*Y<4Jy>F˯>^DpfE#]Fm#!EiK12N J1rKş.B/KcK5u{v$\*Ղ"P&|y{hؠ䄛fPD*m@OXDEØ\Ȣi02v3ROZ 0|!kMDͬ&ɱ-.Z1Zp^տnjEgi# -0NLD-茝'kPtZGcG.ɋhۈzD'?Dߺԡiw ߆QB%}9Gac:';]4[w9Ma}P/K"8/hC&jẓ6@X잸z"ղjƋye4¯ ev  e\T&w, ~f+8EmNhىO5 [PDTDi`EN|Ij+s%"$^TLH)9fZ256t0dNr}ʠyv3"PcsAs$$lt1#},T=TW W'.BRxf7sCWv0YHmNNxg=TzA+_ o#r]v86oo?YKg(Yʬem{a_^qAЧ3 /eWL2ySX. uVĘ(Tw" DF1ռFSI çU甐\}8 orjCc¯23x1|auzmt,DoȔ!h Σ=#MIffgICkbr6U88nk>4 jsq#*n9WT'q:*I| 9,*Ju$$ П졪AAQO Z25/Hz ã 70ۂ:v i'KDn$'P6&'5'x+d܋O ^c+Ī㈦ljǭN!w呶==5Y<(xT b3&`"#sNd4qPLBR^PSĤܴUӯE4%x1?df_6Ε +u֮i_mD};wSYVdIJv*CMU |ě*fp\rlgϥg,u݋%r[Z,9%3pTNw1&`&U ̵SJb5S}h"ygJҰ)7{UˡI[T <<LaoscA^IJ$)EB\*TH7[QuUϽ,eC\Sm *iOGL WU}l%fNA ˂E+-$1s}a9,++ 9 P9]$# %pIbt'v!{P:Ii[xlZd5uG3\رm{:Fch꓎ko:vr;iQ7/oo ~,"e?~k+pPh]\|ڤc›bDFJUZt@cӛMl|e7DUc [AOrj*\Z#coV(%e[6Ns-$j@̹%jpfHIe{]gŴ;C8Qp 7=vPVb!&D51,t;TTR@Vi,vcpa]R׋hz/6Eq{Ԥӌ'܊Q#K C&n%{dy&;,p@+FKIX(D=6uѡwP%WMYjs(֥OXTL[fQeI@@l@j1< iM] OQx*[Ѹq[ˊ'ZLnuBL&ICd4U-m$"¤ZJ6lD|>\p%:VUE\\uG(S_|Tfg?=蒹M2~ڬ%szhF}?zf@^Hj#k,S4L|BImOo0zAg;RbC.S3,32[Fhm*éesؙgiza 3H9ė =qE$$q:0TW͗hnxBÉu@*X Jv?kP/b&>3ImT/ % x_ mԃ bVaUDz>S},MN+=LIDƾQᤇ93Ƥ1`T䑬jW Ӟ@K/œN,=quZ7P\٣Xz4;OYCe~fB,._9a\J]o&y:*N)PPtøOtG,<#W^X1LY<3bhFu@cjOG+:yÉbEtRL[M9=kFeŲ %i_^n2;ka2jP^LZıJDTR (!;y '>}g[ƻ]~a bq0L,Awab.NDCf H[1_fE! Eةf%C@N@k%m,Lgڪ򬙆fnR#Ȝ@"߄\;9nϰqDx FS-nSfZRfIsLI =+ WEC!;0xVPɍpEi`O޶EsKߺI9 ief%&JEB)T=wJ@W υIj!O k(SwEHnyBzh@;.ZUDYBN`Ӯ֦VeSe{\-qR\ҾƪYT@qbBk2$G؍Pq-ͤO~->.wۛh QÖ9f@ƒʼn * 2:doUCX#Ng04 Ԏ4`~uZDp b!zAz"y}š1ϩ=TxhՕ'/ith*t )r!ʺfH6&}Եzsŗ&fGp\DKHqZT`y˸M8r,w 1$%)*3DbDePW,-Um;j*T̉BKkJt]02ƪAڭK$ؔ2u@R/&lt*fxǯ`Dx8XKi\^@eG^+f&V'D"*zPP&#jAw Uy+vti] wҏ*YWVȑ]sl8*,HB웝o}6v1E(LU[]jH #^\Ssh\)l H1PlЍWrئu**rD^7GN8Mz;0N>3b>`}Bp!Ybq+Su72{7hc9A%(NكXK%W3 ۾5At)M,X6KD7fҥtL,Y-ya&b%%u7Bd[."HԻ}jv 2%[r+o:8p‘'}Cp~%x*ḕE̺A)}5:Wr6p nQhnfeñ/p<>0 \cG6^2(oi3V`}FO䥩cȾ`-Ƞa贏UWFʆHZu 3 sUF!&cznM3R(ŝSBIt Q 47lK|9DJUVUF(Ttl-Ymn+WaК?qwN".ʺs2UɐXYr->?RϲX$EI(SFFIE" `\N3h&Bh`}C 2-KĀ!c5&c5\Q+(|Fmf$;o*]R>}~Cp&>f̙>83,;rZ M7)%0^ 6%f.tc~PVW*G8yٖ.K+ ̌Xܮ}ftۓ'./JM:oP2>QH($H@hI<5jnRԖɂN~A!yV))>%\DGB7ӓ~B kR㽷!D)ݨL?H%55V2g\JR*EVsqc\Q/4!(䘠#rdbw*A.J#ɊG+lʱQ*S6ʣ%nܱCiz;|ǂσ0^V[NK}j/EBqc$#:iT+&d*mP7QeiVf+*W[at".1'&ӆ˯P&7$ӌFwu;HHʸ:s>.-@R$DH"nS3B/P/5bx./ɨMiR 9 ` x 2pI ôV溋~Pv4 ZB 0 f6@(rZ2!hƒE ~f|1HhM[1ELG栋pfd~::J(pS +0x6‰Za`ÿTզ/tsR&ԟMntRZTXZ T(y_HŦ}dRKĔp Z"0NW?/^5s"N4Z L߅`+[|/o` ߒdXa's3Ea$LfBf%B؈hzS1b.m€gv$G$I]jh3"7.YDN~/Z^ܙo%QNS]/$Y)EA3e&K<`AR}(G]u1?1*&0og c`Ph RZ| N,v:&!$ h!kH˙*!G`Rb4L(wrL~=ʹMcQ#$>w/N٬N1>}NkIHi.ܪL*\@v|N,]3vUzYFPWKmssBoSDTOSbYP{~-'D}r -<)ka1)6I#뿄%J{ JY0na4 T{ ~_J# B&u"Q9w;4V :8 CQ_gŠP ~;=JpA1gYwR3]?ԯ8\.8"DEB TaZLƈVnN/_+$VR]!5jN:iLDcΛsuJWgF3$1ٝFrӠAX|B`^Ѷ/:P&6|)2"E6a/30[ȋ hTpMI4Б6 *%.dmxMQZ)E%:ؒjT^sKBUgŤ1?XM؜mRYu+d@IW\jހY8+!ڳ],,s>cr| &5$a@#-뭇һT(O (CɆc և$,-j2Dy|Z"QGK5K  bn-bPl J5ork|Boę%>?>:iB{Ooa!x=dqU=~(uZ)jPС"I  y א,{Wa%iGUY1,YVf4A>O`lq6߷2?Jtv:۽Gf(zx{t2p*uхӪr,~OئQ4kQlZMr$04lYQ{u' ̖ԥ{H>߿ڛz/./W6B\s@wB,_PBE_C]*ONdRNJVTҥsV%"Ԧ Q_{%u{Hҡq6#2wzE`t%L}tU!xZ6H"IL4Qv;U ;+&qRQ)Ll;aG9HLLzNqשjvIiNad;(R*\Q M$R#G)v@Kx\UjUdn-=,.+- `N֑Α% =sK"o5v*&zWRՋ4?28'}#^[F|ܜiԞQ.Ff(w}oA|'=!B4ʍI:{6UqOv4tԾkq\=1E*ꦎhl9 'ޒ0$ IFjv5ѫtrb\R%ؘTK]D3``f1Gm~)*ӬO2+BȞdD惔TaEFz\ؚd$$<(BaM8`YOapK$<G;KewؙD 7m9PbIb! |1!ʴI]H[r 9 xE"vEg(a~ްUQ.٠;sq-$kVFjK*WP ชa6Zxl~^C ]AML.1Z"%$"ܼ_46(ʰ~&`5ړՉ$Mu3?$cǨsKM jdxBg"/WǺdCfTgkmu6c疴㵦/x`+E3lY+)x^s'9 (iiqˋmVKgE;T[ZR}ڸJ0$H|(]*E%x,WK_hVKbu.1wɱ mFi[ӮHQ])O*5;lh-q>eFs$/{QZ3"c:3=hʆIwo҄y%t- fX{ảrC Ti}N޴ }@$&.TڠU Blx"hX"EN) C'C^b ?)?ēV2J Ec@a!`D!(Ntb>LwnM d1d̒"\צ_|&[tUrݑҭܲ DۛQW)Ub^Y#c<c*vIN]"\{0]4[~~{"c:^!o" 졩I<>F#c0،o_xV)bПtVrV(E[jKɾ# ie|#fzXGF1̀;"Jo@嬜2 SZ ϷvSgE$,$i[ꄊ \}q䒲C:d|hb6LV:Xv$XmMg4dcI` H>>$;!Fb7JDiHFBnc QÀf%tYHw+TEd)n 08.7-b;aGA؏YwlAGyG%l>DVJoH&ʲ7(bfLcl9'}zdKk:pD/ړL+֟&6zmM}sGyH#Ve ) ~ܐQ5HIE?\Fu;xSA+\-V!~~g9̿_Ac6.9+S dZi!rȂ ~ŔZ#?"=IJIUi/onK#AMI:n ~M.)#%"#EhHJW Wl<,Ca EQTXT))d'hi#-`0MnF5&(dΑ7yâ.6 &;! ǡx5ieBt UQYeP`|q׆VGl]Id J?H6or[`j lDQNTn2MU Yg)%f܍rGꇒ|l ${ D7Cb'unHE=I{fiGDCKlwn<+G?膨7HQ-R12JYjsB5Ĩe9Fm/* 76;ey9ΎFU⁙TT"/ʚECГ?ndba D7`rVj ~xI)VPOLP(ND/ɥ5FKJp͙ܐPSJ${ rV{MMXtܫ;l/F:=H'S"<PB*>p) NZi:?s,;,z(^DObBR"'v].ծO-ڣ$Dö&ۺ<\Ι C%&'[!!yO<ԀNy5d\ꅆfUחK鄣޲A[%:׹֪ym_1ʍ1E?{@$=Y!rE4!ĔDÞ7~oPģRH"kΒ>܅d`Ve*H|wu)X(?8^lGaLԚőIEnzd>s!!~a[zaM4*ٚe pY}A]Y~II2USo=MW2J M.!tYhhȸ(IϹH`YV2!IDFeq U{KyRSlRagZ(;?zntcf}U9~TlRB, OtozVHN9ZrRoqK,Nf~|R!lpM"K"H\]܍v_X_%tKпIW>vU]sŜ-t8/gSպC/J |nUs*NU5bb] AeT1Zlr+m{/d aR/m6IF==w/3([VVШF]=-kv[ǒM^9lYd3տx޽|w3ˈQ]*q fqnhNjC`(Z)"VdBBZOqnҬuEGņzr6eʉ=آhYZ[lأu=s륷vXq UĮ($?h䕒&d*8{òHXO]2\#/>[\w;$f>.&) x =aIK"dlŘd=/.qkPxY/(j$.*?y },W \7JVtΦQΨKfFi-o"Uj%J7+7KjFy~]JSfšKү֜l)@Q#vڤ#}Oųf̨GY?Sv?d ccҦL9 lg:a5֖*Godw'1UڡHI}i5Z^SRj䐉ɨN`V*9n0d3__O@∤4Tl!̮#j Z>xmmԛo%$fpKd,e0%KP"*D;IWY~UEŝXO3w)Ilk}mr MEhӷ'i(0a)*\G 2r#N^TZeC`m&i2U͸EŔ(ԱYuTĿdC"+ s%!~-01Ԏd\htxxmfnРrL| [dGH0.zEȖZՉ<$rjYE 0,i,x2*GkH7GQ {oUˇ6`<<4  (E<ߡ% b7rxoB!N KR(!,HܐgyXi4KCZ"ߊGb2]xPt''e+4MG'm\~Ь̶D$u5@!",#OQ`Ƒ@vɶV rT.Ȼ8mL&"* (8( 2`=lj sUL$YɄ8y*wΑ|7ugpzpH [eBVOi MpMd&+DĞaخO)φOF{4 ,i'Vdats ]- " RhRP ϴ[9Mi@F(- FKkd / >mR]:ͽV0T`8K[M>sE왅QH x1,0 ;;up/n""*|.MN 4@9pWI&uQK*BTamC4P޵|pPdE0jgN&Dic ;",O}$7!lu ) D&s'nvռdEЗzc^4/G_L*⠝f`;)I0o#rJtaD %K)zc `e'7%\Zl$+N(Ԣ2)[ {v:KvT^ Fi1WegdZjO>t٭»S5v*ec\W&8>=B)aah)roWᆪkꐷz>b/H}/Q{6{[('ӫ.@fPfF,rH|POh^ACn7ak$;?"KOFm7^o?GiESp`861%$u ӫ$!yERAHO*)ϙ8Č{K!؃/}r>=<, -D(=9ՓCQ $R5UO.Db!jkV 眶16ro撥?U^~}ڍ\/!, $RBIF#?KRGW|6[+4]BdtP;E&Ѹ.\'׶X*+:g~I*e_>^G:$;)oU.ҫ=K XSiBrR}lDJMfu&i&L(iɅR@BPB9+ZapMe673f)P,^? FV8şJBZ/VB 4"i-"eV4ƿ&/4`0L\Hdsr ;h~ej1'ei-Us)MU${ ..X_d1[M=Mu}UHjZWhˆ5ѝȚ б'ѵeJn)T/|S=^hy ~ujLu iweµgv?˻gьc&ID8Ŝ\2XQEX``$ShPe%y4lK -a9h.6|eA7ݻU0UFD^x=RHk(D fO$k̖KUB]0l(MRZ ۳H$WIc_9V0J(N 2  ly? $ &e n](pAG„.`! d+S~Tޔ4׿ Y}Y'd0Pf#J}>Q Ea5UYeu]IՈleLe%-ݖq^ڎA,* v@d"1m/>qR6jE.]%0)?<ˌ)b+Lg[a*7f I5+ڞnTHuh:+Ȯ0+*ň~ׯXX:"t_DNJP:ҕDd\9 caZ9v/ /'pSaXą Qp|06΍p $|=MEW0x 8 {T?y`@` 0iMT_H. (%PF-6,nʫsYBpXa5e22uڮkti'&gw'܊dGm`FR]tJ$hU"zyG_-*FUW BLnd a¸ȁb۷ U]T%OoLAlewq~aU7 -l\S&}zDR&I:A Muw]IJIU&+$:$#SM~t(Ͻfi!baiT7xTv-puH+ek" ^~QFFqqi_/"Ik.dPCE[:‚ eg%B!`PbTad si'1&HXРLL"kAJiv `KB;jaR ^BC*qh&^3}jpEfRO/fS Gnn*K#0]D^$F2qx\zUK-je*mX$*z%!+U)3Аø.Ï 7eXfcjuW) PJ%dP[`Dj& aB2Ln蛩=,: A[/",/c+"aƍY( DI5a|*pP3IꢴoOK-CSHȀ6D,*-O]).;B:ȴXX| J {mЩҵZ f̄(c% w'b#q4׳IUiC'. v)FϟBV$i(VZ >JjɦnaB{9!T<ѺtKΊŠa:OntJ:S7jJRKE=;֡+ANMi.zfJ+2яI{7@"m)LՆR=O("a `Vrm`N%|>: ǐwAHiJp-bD 4 KI)8lu r90iVE8pQĦn{X IqV&+?[x@X>* .hܙdzM7"w4Bn&]4 lH.q&[ų`G)"(Bej]ޓ(pozIOo (N~/8 P0v"V~r?DC1QU{EЗ/0Z 27: -~u? V.q(4LX č'G'y&OdgF2f2ȴ"Jw< ב6-<}PyS(@I o-73y ݦ+418B84L.O]i6d@jpCbļ*Qఛl!Y2/S$PQ=2yõI<@DY#a96#ۺ'@DٷO,%s+CY 61#^/H4BJ}>+6k@MU$PlEToPa7Zl*H&`I9Jq_\! wP*XcI TɑJ0Ӆ\Lq)]e Az$C!U,G^ J}$?#L`e,am.6S|\k]()!B~IJsitRZ=©.$}Emg6MLj𹢭N"#B$XG@rL$4T ;ĊH! L(!vgNFhPv`28UG+)&?S e'rkK UV'n$q4|䥓RXc)7#0MRY~,  Q>@maX?4tч:͐M? Znp"39lLұ{u&6m"cjUI_X1'٥3 RXiJɨOgToC%3_۟v*LU2&&+̟e(YTqiPƦ:O1T5e,ҷ9tE& -Lo3{[S/i](fhޏ 0~D%IydwsyC UBN!d9pZ PEcWDh3k!DGJXC-+v$̽DnhT^KHeL䯛=^m[-y-j%aꦱ_Ul΅@ @wOK5midቂUc|ʾBZX; 3Rr_;K ŷoY~^vY$]%FΔmIبtpMg?ŻIUyg65OhL#mقwSlФ贉SzUPK䥋ɽ@U Q3Qc^#Xou9iL]Z?q'uYS-KZLuD7Yb+lA:LZ?6*?Z*JlJGmWuj뾕KD̾oxDqxesy#jٓh "KBD[1fﵿ!Hםt|(n͖Nmݼъ=Wi JIX}[cUĄ&4F셢 Y8'@^bxC#rl`Qi 9 umbG J@Xh?6"[ ^a\-!PCFQqq9y,ثޙoI/ U) ]%3H7m3TҬc5.lM?Id 1a/5ek7qz -PYKECJw#h`R"uL{ݑaM*_Z[xvRűGU,I*m;7.;C[0h׶&%tu8"HڨQE:2OiЃCBOb~G<_bnVb >3R>L}ɋ4lrV=[/^!"NZHfO'B;VknN>h i蕎֨g: 䳢dcmgRvғ,۬&H~-kLqU$_68+!y䲩R4D,Hq~10/ԩe= g%Lv^tx%'Hl Ƶ;@APIƾJ|ZjA2kũ¦ӌV*]h,:|!5 S`wPaDC"%ܽ"\T栛TREUٺᢞ»[j˚hvZmR74LzEkRbhV%|*FQnn&W|>9p.ñkgW X.IJJΣ&iO ܡ31SOć,a pXgU4$x ⑽.%zI'#sqƈpBEJA;nX%!WHĸZgN,H"QtچQ;lś4Ly^M@*n<2j@K7@ cj'y;DD{r6"x=l )qZ" pq|%2.,Gh]dI K4m/Brʩ \p(mZSs>b桹gt|, \fE&NnTU7 N or[Hoޫ&SF0c@^>vASMԎ$>/\}mдǴczUN)}Ʈٌۺ<6'3v}\E@/Qυ dwr-.5,A+fmde-ifs[x_b ~ wJS3:KU`\eK6Xܩ8hh.+M@P[gtuKC:*2& $LdeZ(_QK ?] ' H阷mX}C$gIj3b8=BKU@* g¾޶HNx5XOf"ƧχZ%{ST]Bz׏F2gjVfɷ.V]!JF <*/xsikAŕW72AhCu/R^BȆbYYddWJϹ@~urt'*QmNF*]op ]209UiВo*!CLA !e ='=>j$"!*zVX|{1^umuSz^:%#`dDCR׼~Ʈ^TI?$cnjEY Sg5Ko|K;Xw_"C 1n`F$7DMUkZ/2/ j̒ϱ=VCFhPs;c*ENNbns{i ֑ "2ΨxJؐ QAׄ[/ ȨhHi9zDC{bN)\nQ&iug[[N=\{1L2淑*LO_^-)%ҵ4jB2eO*#Wnļbr%mK8U2 /#oNkkWgvAؑjtLTX\x{tvmo"UU㴐 Aʳmk5fU¼QF5KUʬTCV$ݯnXij:Q ٯRyKٯWb3l6!8!}Fm+!Z1"2*Ӂ|{gX)6o1,P\B{pזaòy!0[>;$KΰD|PjTXIf)H|KJġVg2udayTM"#*Co  H =88ǡGPTG0 rMQE$GolPl!Iԣ&0qFt-B™`I,YyS}F1}GA1 L&,JK aR\u]XQ%G  i1^epӆ℄D"j0r$0 mN: Ǝ\k&`!ΆyGD^|-!B<4A0,\5M>Iĩ5qa8 \1X\s,l[!qʍ)&-R \cEQ(fKT]@D> X0@A \(U: 2 LcG $a$-6d>\'"x SO*Uu/o£ ]Ƅ pc%.>kȋ`*aUI-u9'bLdW$ @\1gC[c >T% 2SPBɨǗ%3 `@P|=P6fL ah.Na %dA˚OJ2$ Y4T `C |JX ^qfӃɂHKGDI#GM =^<<$cO@&KGf1xb,MDiBQJƎ*<*eC^6f.$5䄔@(@Ռ_4" e\X܁j70E𱜜.oB>!5N(ҨVv.&z#'2QЧ2amU@Ʋ V'|J\>[OMO;_5r`YNdQ; p T.ѵu*{d-} GNQ~\XN=]&En [>j9n@xjRK|`bN"KU3IQO_~^| .0M% tRh46\k9 dG]Se5\'&FKʋGZ We3] J+ Hʸ?MBkBDŽ8ٍ~\pfU/#x@&?@)GWT_thUb&$Si_*={>x{-&5^E%Ix%af[ϟc"#rT'dABIg>QQ5P) k'r0uruףKd8ݾo +DZMy(p'2=({>V҇ޒ6b zTFmNm9:]'z@ʋ7XaKhIe6>bDWǓ+jrux(MyTVeYol왔3FsU"^WBYWco ~ů~qrG'DD| _v )2'*77b%lDKžj.08I fwWgr֒,Ȼ4QoƢe?@a5.8LZZ6.gAXڻ6'肛Fh{R,]r XѓH̥Rm\yY24d3c S꽦1e"HR4:oeIl2Eh%G,kɉ0.BH;Yh֖^RNokD$qmdY؛I~`PPHN./I8 j?:rrAm} /xX`5?*2 65rSWFd=@qb"wYN1LyLc*NRZ^`Q RXa߲R)k*3"ozI H)lUVOWwR=!kЗS/EV? ޔ.4#=OcĴ)+RL҅͂QiDEKV5͸gd櫌lB a J$n*V]߬ grH~KM9|֪srV*t#ktOω>lߧgR턂."Ps4h"Z-!W"NUkJV#nE(S3y"DtTa<^\ٓv|V[,wqܾ %C%9(|%?7@4 yb_qJa'7"^hy\"ۉk TP0{Ѧ+ #5&RNtqQМV*,課җ#TĝLň%7%\ZZ\~3EcH<xV D0Ӳ3/)䕅vF|Az Rg@UQ( D*o \c*v&Z)^R0-"':VHE{.j=;Y(aD\O*Lf6")(fk9zTjwa°xT[K%x*5%<#닛jkinOV@5 /wb>L򮥼q\#diMꐆWV4 NLAUZ,lBT;MC4cU{9$ȥ}l]Y͝w`Y qDjM;H$sbi 0Rf'1(=/uƏf[ unيTmL 'Uq7-p؁TiЖcWӽgH6BIA>|mDOnj[w9E%)# AX@Y>0Ԥ0ש>q(גpTF+hY*A(Ȏ1]0dRơl,՘BX>.&gzܮ;bF !`&Nي * >&b9eAIVWȈOCDQF?b;^M2 a` 2deMy@0GoDn3`2|B!|3_HPq*r(=RCcKnmHɨP:F_OʍKtD'EZuppWk^1#X>+1yP2xbL+3/8/.* ]y4M5DkJ;9VvoVTJ;ǏDg^[?CI\hGb7k$$j0M(a`!6k9wYG}нDGOje"R?!)A-ѵ.Т!Jji:O7syI^_ZjsuyC~ll!OTrX{9q̅5ѵEYOrRfsy d\'@QZzRoԶ7H^PAE(䢸=~1X,"?OD7&T۫MXJcb1ELw;;*3^%Ԥ6'UnŨL[9KrD|^J1f&DqyӴr.peHBYU M+9FMz0YE+D'5TGď6m8\+k 6&SoU2+O ?$ːZk^vDyI4H:;^ƅ|c"M^3:LPN8P78csޣB< U1.\E'9zZ*+$QF*).&GBabr3xfbN$`E zY*f 3<#@W6(06C<l,?5QDvx ,f&bC=gHg.sf9W&ujӮ11@QV@c~\&KHp_Sc kMU Sh }uᦅ_% rL8]̭PIk,FFbVΡ~Z戌tf8X݂6A[8iU jPFReԘ,)^\N`iϕQl쩯uyE&@{7<łu_.j*]̦ +z ZÎ g$9MWKIˋ8G5269$Z oE!#z|oѿXZat0)I7ۤǒ8&]5lޒv)1rDu A$"8C]siwr<seXknu?1̶IOvl{cU.9Z$ u%: y(fQ޽kr3/0W-L'Ït`Cf{:ei<;FqV9!0WS‡L-eԃM ǝ$eQGdk$k/5 b_PѕS࠳ @{GMCKQ)2B9UZeuV%=rRtm牍A>愔n&aE9ԿjH;mp燶5t" ǕvRYZ*+]k"xk❱ ljqRvD_'H ^%ͬG;D[m11(;߮D=-.5X6_<ڒ.vHד&sBQ<m3- Lŝ=d]>/_ct-ϻ5YM'BDsNj=Nȗ~mu6M|)peFUQZdM IiUXX&U(xD@;y;Xr nbXܢwFA}FDAS) -V؅JBQA;GD=8YKuOaKxt)qR>{wR*۔G5PLJ\g$jtCb'&3?5  iV6-by%~:Q۸ E@I_fcOWegVS VޤO}=d$=ʞ+'' 4F9At4'MdYyoeRZMKӃf,d-'$8\\ZmHƫwsJxDX)x(Eҿ'-N.c/HOهL>骪`VMt% QOb%Bj? e;i~>"{ ݠMp+&sl|DpY"I9 uZ )gҡEVWm u,bfX:p;:.`tyͪ'y°(:0},+w\^]L:o Iu!M+ }RֻIRSl2>%5>-.IUGk-EDB[$7z΢%DBR\1c֡LIċwjT:A'MO)JMȢSܪ :h)G 2 #yYHU(&XK;B-,._򱉕 llMeq,,OG'S.i<ͥ(ut334+/M3Ϯ#䎬GP\4JP8ۚB8p`2 Һ jS3v7r6Ltb O:&x' `z%Za(:tdXt]yseJ7w.lҹM-;$F J^zK.>A[.$%yVݻn&mExEJ1B6'anߙF'P 'JRՠT6nAY)%YDRcZ.g%))I3U-j*|+*Q!PXNVCl#E>i5E%OqR.x0LQz>6S(]ԓJεTPDPe4|5$&L,EdmRS*,lōOY;2{7(FfiJ* |Sb=xy/F_?v{o4/ONATDr#Hܹկ"=Ml!LnO11s#T;]ؒeoXfgJ3 Rѣlk\ړáU)rm!x6L;(8󑴮[`/ߠ&C)G+ūX^2"\ӫ%Wk@DK$hZRR)wC9  66+ H!IeTᖉܐ"iSŒ27I wϼ9)BՎ _aUc#n k&8dIV!`a+hqrqn!D( H4-Ղ?Lz q'U}R Fݱ! [t% & F󕖘Wb` "TLA0o'okʊU8u9XpTJCU=Q=钷Y<|<%tճ1ud#N]{k.eIP4&T<7zdp JvpWIKBFI.ql:h`l͌D PIFQ (B2b[{V܋hLPQ2.47E]DðyY,/vUtlk,t1^dhX6+gzfޯ'D#/Dz'vzFH10sXm \ +PD{(^O,T%.:S$m*B~NԁR4CuqCi.`j=erN~ DSio)5M ) pاI$7 Fi24\ rP/U- k˴THGE0]Z3tc H|#ċ1u T/xaHL(X,\8: 6-K,٢J,ȇ_H$7i„1_rc,̑MTuԭ8L 5#+=[:NI3_cmI}ʮ8%H'o$ir'^xtiE Gkc ԂRAzdS{$,Ѕ,JTQQOD |?8PW{k_C>rd =\र}c6KXh>A2YG+Եz(C$T:'Cg,%!VL τk#"@[! l$k9TYGc|"^RHd1{$VOe^RaUОX"9xxJZ\RJ¯#GEqAJ`ڰ5ݦ<'īxҾ ΗLh`8D|PײM*HHGʔ<%N>2L*B.`lR'> 6(>ȭkRdR0l]s2Y7bĖi4}ر OGZ$o;˴,U tJPP"^::yeP%;g=XYI)q%Uv%2>$*PF\PUOa3IV(<,oX(~@2*3l%j`4M3WHq[cI?` c)00ZM/vR!4FTEd_ :2c$a+%]9ޫnDNF ʘzp4O7^(&jKy%-b ꜰCc*:\26y>J~TU]hJ-(NNڦ_,5.$}d)|B;7ݧUk$2Y+.gLS_syLCg)ǦF^SB7H#1_$ H@ȷVN< !BnM^c[maR_zbU tZ2Ky Y狔bsIzI[r4"Zp`:9Ā,Ow33m&I¤8xpO}VeBGIpꉤ$@<B7<4EJ_](|Li EI*D8sxj ɪam1D ;IqrB"0>dji~ 7mV0@!p`Dpm32iA;!a7f1B8y4dø7=X qjѲx`Mem  \: 15Ve/Fdhޟ$}dLC夗؀ˌ,p2dQYX]E/>h$G "D)CAsTa|Ce$PoL"IaAR.I5M%Zlj 74u,*O+%rB':fz{yuvjqouh'I#E`$A(ס4|d|bFZLЙ.[gӝ\\T mZ8x :>FzZ.:vuzM&imf<`t|ghXM]86P:&ܒ]"Hi*A(*Lı4)XjcGY&;(`ߦ$ٚGœ]ǿt7f@=P\6/(Gǂ/ߴLHn(Dl* }b .z$>EpIp.ɨQ=Jĵ Oŀ_Ԇ]NfEC:ph#&"Ј.327W<#侲! BׁRg f! 0A' xwfyn0 ȣ E Ό2!1;qV^9xDa++)8ODOYJT(D荣1"ZUc£xW%)V=2F5R 2BP "(nQA2!HFHd/ 3=3FǨb31,s(;|!Hu/0E΂Q7є賌TQR-MUF5H;ֿZ3dkz<ДhI8nWly_?̾2zU-K߄(߅n:CS8Gꏨ*NE9$dȕϢ'\b*fSҥ*#8\)؄z,bEj}΢=NBY贪ֵKkɉ9}.S<]JZo&-UJnV"j#2%U&a>1ȗ'N˜’_G%D:{jor}ڂ[ڿE IMI1(C.tAZR+1GLS?B#`R#8]i"St-Y:؈i5gJ".k,U-xo29+DպH-J1SFD+㟤nuq Ώ?qQr2D&J)Zk!1sQ[;A#Գ`A>@EFNA?Lݡn={HM/ވlGjk&CXqToQƑRrQ'TM\)u6*峷&Sy5K% ) 8Wn!gе09PeaL! 1aJ z~Mҟ ";\0Hu1Q[ hd ~& cXw0b`e3˔pX BJ28gqaJt1QC+LW]RS3z0GC2@1A m ' T-Sla',%NĀk_2 0Ǣr"%DZD0WV!5 ctb OLFd 1(n(!L"(x#Q&r7ONLt;7R)R媦xu9\:L/|ɴVufvTnWԮVE$F= Dj)}a\GMFJg4ź1Ĝe(BٱrGuBVŐfY̋C j5%`ڣW2@  _,*\7`HbVӹ.,병C%H=Т+@~`$ςe)~pc`$jB T*1Q *0SƵc:s= qz+ɾ[ 7{о}y`/U*"c`p *U[yXy!(d"{+E. |!9,@Sgh11**͠AJqN$OH;A4|Try5S%U"])g4jsE0 * I4 E6Kv-JA@XcKi pΜ- |Zqn[h! 0,yj=B|%Fj٦0vh#S&ఠ6Bh@4V B<6HpD*<37n iTQIbmg~_*Ld%^%e L5%ѣJ͗Z.kt`y̹s/b)e!x 5E/NCA12Ĉ/b.+BT皍PT@]&--:oǽ~4Q}J{&Z X移y1nsǨ%C )56iκBb1I@Y.=BQ"(=8 k3$ ['aSGf,煎n&pdL@O Ŕ.4E` 4`9a!Uֈ)XW#-AJ/93W\#uiBmB^|aA:%E=:`@x0y -o$`ѦIOq9K.BXq +T#'RJj \!թ`sleɰ1 ko,J֕)ڨ,&xFdfO!ب$mds(09p VW?/ (BI(xST:ƑU X @qi3Qى$@ ώp>B;Laf0ȉ*]O,҅pMLEGj3[(KJ#m2NT]ߪ!s +*T4xlAǽ!Rd rebÆVI Lʈ3&cPI$ $88a+IPT)A@HPb  >ңy/B yAO8/~+N=!pN/P$^=, P~NfJD35 1D0ulݽS+[FJ](fq:U&JiߕF$LL3$fnJ"&*Sˀd6=r&If T%?&D?HActfIq< ۚ0g,D@#\I& 0%],L $`N' QK" L &B uD7 {l (}M<&H]`GCmp'j&ܕ l ')c7AݛϽ.1j.e ٬yoIXK^*$5y\@CD*RFyF,\trӄTϲ =Nձ-p nb=1O_[fI4kxPykLlJ^ ~HXTO+Q%*) / >IMLbjzdȖ sGeHTJP[ zE=2E. 廉pk:Zs3)L`*G h>W4כ Q0yP״1ZM-"461!"'}2pX0A׈ E=ܟ?IuZC ( xIVhFcge@ BBBGpeb24_+Ĵ@;.^e8t cq6iIE},1!nb KQe~Pm:(R D3˦[&D0B=r`ć>Tq (¶>b"ԆFpC45rJHg9e FLBRvB($sA#P9n%ViRc=L5+As$s1!FT l!_='ab,r$\ )588$# .x$gF4e@jJ4Fy0gHB=6x@xbr%ga)T! ZWԤwAl?ւvEuA)bIEO5C2RYg- #MI$+< @,;0bX\џ015aɨR4Dƴx 8 5g$nH{lN #҅-@ǽR4cZᣍB֢i& 5UbVAF LP-/&67h|4l{/`E y> /@Fbj"*;7RrOoɽm}{##uoes2G_8O^=Mo(:h6~ECYNtkwHnMԊ+rH?_?'WHA6]ʯCj=|zw44wk䎓eםlewKe9nWEuiϽEZS:( ȏ Tpi&LpbǙ>F{@P\@? BJ]Q5PPzSY_GBH̢Uw%B8 F£5iA~B hVF+7yR O ͔uz *H-jvP#7D%T,G IJ=0FjWعjBങg)VlB{g+R<9)f;  .cqm>1Fg*P/>L}0l Fh,cz XTѡ9';H(IQ@\2(5 5~ l'|af(̑J뇃xFA!K"P,O$s@=? `YS)k B5G,N{Q"F3߁y4 ‡\&<ӱDj*e4 suX?\i4吀 d St97#ܝj縊0$lVL:6wq e|Xg Y39ኬs !&R ]Ձ|Rq߰Z}%<̝J ÊwqKEOKKqUڣ a Dk2ݔ° S؇Z& e0xr><O(Zv]*B,e..sj+p@ƀ HZ*O\n~*'ioUfr}W Js>c(!5f"vtvOuDk9lXXMļ; GqF0VoY(lB7xg,fZ<|I8ysz=cr%6Q?⚕zq?FPHz\ LtKvT/ãF= whbLgQeO`}ۺJ25 ps7=1Ō2QSʎ(4d6d)2ޠ; $_n+mX|>ҩ~%vWk;XzC@%+4q\(B^H_0QjEBaWkpMY^.rtcP*m_K!ʪ}=fBYY\QQ)H.t&X˵$zQɥFpCIgwhA[3F ww\( o+/.JwM? fB[Hc}NV\"!m % 5XFk@婤D#IBͩK5Lc`hj1=˰2$Pd%CK-SxH$Y ~L&K :Ukȸ*fdQxPɁP29U ̈H #FŮNOJ:j`\@* g(*4W~YfR,}24S5eH^>%[F[td4;̬QR 6"}b_4e$*EɑA~4I^pgW&4'†h\EjW96(LPz,EQ[2(1,UpV+g4l% F$9 A%UN%i$dTS * l"oY{ 2T6& X')s"zv[(6FtίER.}}HsݬбRWNf}| SKH 쇜قD0E]BXd`#»]+b6WqD_cv6d\]T^>Z@$Xnn}&>JGdxgTD/xZFM [#o䛝|m`ȑ2!Y2!vH'"¼8Foh2@ذ2 E҇vXJ@\8-"M(tт,3vpTq,S1%RgLi}Rvdap#=øel@&X΢;eH%mu^BH3>:`߾-eu+ H V)tH"zUd#Q29NVl+Slc%}Q~E6eGFMKy-'yc$ p $.0:Ac3-=:'Vŗ|)^煅Gn;l˛=8p~<+ Ы,즻 nA$2h#h᝔ w.hT 1X103__ll\IYHg ۍ3e3'VenFX+4QPHČ+$Nԯ Hpʈ\}B(T!Z#PdY;kM.A?Ya% bW1ŋ$.:mmEs,䟜39T0|g^0k,DHd#t"h& 0#(š1iWt|O50X@Iⲑb X"S.QQZgQLJ(2zpSA2E˙K+(D㬉h;Zc:鍪43 :! 2K^KoxT + G`pshNSI![pcbE ѐu"rXqKnnjk]IHdv0'&){[?|p:Hyi<")rbWZPsd1Q <{HJjX,HP MzKEHEAeE:%hpKDCDĎ ="r 7#(TIduc98M\IТ+KEܩx$Kqf6YXL 7Z(E 9 h bB2a%\r5!)YhǖPbpq)|(ީ1j Z$ʨgG]BRE].%^k =o-ssD0햒D٪vp ښ_$F[a0uPH0?r3ۚh/RrZ{25*(w\ %w̭?e\TKS~oV2A ݷyvo,!>ӼPz7:YQOIا "ݞu{YKP%( @ D'p pf-v)^q?%#7K#xd*Q>TJLR8`=dٵk#B'Da(!W + Ee9zbi -rbR ڶ)v 7R9V^fHY㑂^|x+ͺĵ+ѽsb?Z؅tr F"jD2J# \(ӬLLa BJQGuk\$ն$6PU hh/P@X XwS9)T;J_B,is49+j9crp1pD.,}CUs3` QL-CC4ܦ}ĄR'IBTؤ5_qӎґ$gObu vfΏfC_pyUj El%AG߽`!`P%k92<*:# dP%*"hI;)6}Q"q(va٪EhN*]|xS *#6 ;*7T:v'Q'@˹W.<'G!#Gڤ\7_ݜyHBa8f @X'8;r 7u-EljXVFE7E#,9Poַճ*]@;cVe*bOu#5ΒnqMmx9rfaxv^H%N^17 BQ_ru*0"*FҴ!ܷfU풷Ry=Wx&Sm>|Ew(FԸ׆ݡjEr. zPmȩD/6J{ؑJEpDyK]^TQp'<@gm4AYBC`?ʸŮl1RdȻ dPه%|+N*>'gZ/[Ͷ'of _ArJZc]Q ه-JqP"_#ěriZ$}K,L;mY;#j Z;qI<Ӵ O;3j,{-1Z}^)"O[7|RFo'އ/ޞ4:g JpZÔ"S'C&%-_N"5&D:3A_c#ՂGp{'.%[wɈSHu-/֋A"6ĆğSX[XWC4Q5qx$pi 簋: đw(V!~f9 @T34Dn% "l@+3W$ky|Vj'3K#g WpM (xr#a{Jki'vpi# А|Zud39 jMDਉCN#(_alRMӷ=noL >>ZRԛ<IFRLTʞ딑1$I ܸo|s"d•fĝX!?AHeQ61DR$T'%ie^Xȉvj76,Zp&T+L/JhCs9Mu,f83U3~%ʩ]:9N j.wп@Ug=aD9s! i%%B@8x'@gס"W $Y3Nʱ0!͵c.ev.N9! Q}/RX(S89F pKL-o y0gc4Y;Ƞ5\#0!dvX/rpFyp!FTIɚM3)".K+nH zPQ*V+,}+sEIyqCv4HXr[wH b2 u %2д]Ѯ(Dejm*ButI;dvפNc !$G4 2 o~c5(ЄeNa9,Ӡ_ :(}U$Ir:EtL_ !IsMCcg.IoKyͫ :أ * !QRY뺥5\24Z#Ԧ ʹ|ާe/fĹIֶ-g7w$u=bj|zELS`?T%c"˜J:ԧeAhq9 REo fscz~fsgŷ2z~(r@>ASA +88 5%H˜9M;bfN\Qv # ð^SC)AY]L('ejזꛀW1 NIkU ^casy\"9Ѹ+yN_z*{1OG9-"U֫T6j[*F’'B"de&I}J*O=Psjbih$<2Zʱg$ɹ)n?prOaF6'(Mκ%F FQ=n CfA(n|UH*'aA<xE]tU9з@o58 6rPa. bb!h01j빅"!JXզvR8 ;8ZEzHod·+ެ%^̷ϥA2C%gD'r=L|Sjd܆ (p[bśDC*κ4wHdi R#âyEl&m2ٙOʢ5 l()=0o|3Q.5%~ E֢ neNCh =G)?XN:=8>Vҍ$[v/m:SZXbH) 9 ,<M|4~*PՔx l+CJ%UDKceYMُfPN=u~<|?WT2CeI5굂ZBb:(*A|η%Dmɴ I8xʂfWN !g|"S݊YI{!0|s%+'hEA!!U%W ]Wxg*d>IŎDY0ٮ.BWI%ݹ($ WO5gvd3G4TM /{,¬ U HVMEq=^o"yC-˪hIXI6Dn4WtQ㗅c=,%z)suhXT}?bŔ}u&x`၆2՚&%[BZ#'@km?$ȞcL|+vEZTJ[X؅מG N$/j2ʈ"I S?wzZDL c3j=XyXvcW=ԫ5`v9(Z0Ќ=閖݆_+Lץɴ'֖a."`2_ yqjs\>j/ڈ*aժپ+"3|k"| =zwԃdY Kof*D62򢇲!q;y`s ߷'Ec1u4*1rd8 Mҍ|=cLcIb :#|]'v,J*%w潾"5DO%$8IPpqH"IZ~ L'6m](ڼñG Ķ9yԬq%UꛁRel4]CEj u9xY_ot *@Ǚcz簪yyO`dἈE(/BsBix^GGF0mSoFVA($O a*xT -ܤ~?ZyXv6o>āQ{ @ p_8 7OM쑲y}u~ m~F獕v8l=fɞѩGsHy`E"f`Pj1Dhر0*RAjpb;㷺^7#!]tʧ/V_* )q|X&*L\"EF lK~T!_= ,]c÷0ʢ!ۅ]/2Oa3׉l4. w?YNi,jRN@xOn'@Pzp:(s@/g7nլB3TMNS#1d#jPa5d6tl Ϛ[3g_,n*>WZH/.̷ts-L+ dk\F-6u H56$Z̥RޛkoMIF䱱DQ m+h;0G I!BB7آ>"/.? Ȉȹk x;@m_ikvMo$St2K5lT6MaLI,Z+{J!Fwd!9Nv٪Qׯi4v]4gsC9@1hL9|ӬGEc;D8D0&P8p(t;X?dCU‰gC:^B fIvCf6%2q|͗A~7.V%Yx&ٷQJ|{P# 'eAk%r{`"alsHsN)&+ bІzZ|-Uxsp'goP Dxz(iJ?L>zjWLRi@Mc .ifrg6,˿EA.NyE9ÿkZ_s#zI<Ͼ'LWKͅa!XǫxƬ& `i?*#'S9xQ qKt{Ym0o3yq2xU(ܳ1{ -1 c R,쪑Wa pk&P}IjpWYN"PAH͗X+dOZ-5 )VA*8AN&`d S9Z& K&QRwg|#JJ\R3i0CWmQ;xʵy>Bh!k% -e˄=)3g? Es nCs ӈ{G )s}*2^PLN|#/>EA1!bFh!AWvtS EݥԃihE 6̪@|j'Ȩ6 fO 9 {9< 4Y. i"Su`s'^ާvf\XTɈgt&2f_i/] &NN&8Tf*yWMbn©dzš*Ƴ-#\f9& 4 k\wل/m^6ќ2Yy$?K#Ω#EJdm*qcBx.% |X`_Dnw v~CIٖr6I:7n9l2WH?UDkxiU@Z~=>D2e,EҮ+>Gqw|IҲ}A0zH2uXOV}ш}R#oxMۺ܄Gisϒl#HnSyJtnK_WxPPb^kתq Zb"8z]Ժ(M*s]*׃#qfk4He;f^d(! Rmrzj~d<և:#F#* a4',6Xq0FZQ-ήMX b#6v!VT+*A^Q;Ha6H&J/lruw(gQ̧_Mđ0 (-A+"F!逄0-hH (Fu.t8, #-L&)OVH)FpD+W<U9$z5 R65l%SaAVs(NAT)݂fEJ=+T:S&cRX.>0bgc?\UFXvG֭|*UXv*߈D!pZuJLj~"p2Q2˅MI_HQbwK3RN K# }|aBp2mrx_7RI:Ԗis~"ۦ^!J{tX6n1`'덀M%P«/-uL.Rq\#eL6ozKq_މ,.iYEodk9 uw_-ɰ@:U:gi-o4:UH Q}NVqktb>$΁d|**H[9zS)br?:Ϸ} ^qؚ>1bPuyͨg=4IU}G(LM R3(t`n 7?V{9@īTUT8ܿ-y't(E3ϿNB^Ө'g^rhV<4sZukJ`$]zkh7F+c7 &OՄtgrv|k˒#o<͘b*6aМ~єZWNNd&)4Sf&\wN.<];޽$uR˻0@ -X[C"QXj))EhBT8oh_[$-0(;u8jB ĆgA`aQsZos2{D7FrJK \l"|'Z.Έثwg,ԅk ;Od1@6Ϊi+Ǣ5$9<{~Xe$ u[9j&eE&9vhs{ zbi#[G\ Er꺷u:l2s"sQn[꼩3ySF_)u.lU7+"&CȲjjpIDb Nc)ЊWr &:WMPox#~Jq =[d&r_7MV'[>Tzښ"5Hܝ H |$ řnJC@^!9΄%-ʈ7hAZ p;&PX,nkG +#Z? Bi(FU!x/)(8F=0TazЖdLՕ\, $G= fLڴMB*`a5z1CI~7E05_$){WL]' Gt]ΤAThW13O^|-xj5:E67`Z"b"X=DT+07CQ T#'xi !XPD$$${a{r#{QJ)j=I#4J f?DF$ɹ(ۊmbp7_KJ)c(E$ 1*r6jp %v)apWb "Z<+d#G>*#*ޗqn_P"SKHg@{% h7j!WK@ӕ sC(Dbe}!2ւ mZnlD\Jxie"t<|G$ʆNîq@ V);zHag_/ C,IBnۛ&2ţc*+ Q>'F0 kJ)0CQjY`wC0 X%{_fsS6 SYSL Man)Fr֨䈖mgVCWvnܸGs~Rt'>)ܺUt^͸Bf!#>Ŭ&`}^KLkb*PR(̛fehRu 3݂k[F/8RV)=6( AZV7 (rYx4X| {*Ҩq6MC HFC@ebJP^Cَ!A@XoL'꽙g˗40vumo溿VS _&u?^Uf?[HYhkZN:*^lA&5sjJ#s$_ѯ⹽*ϢMgVoaEoL{`-\)Zb54+" vr@ofFh#2;ܠ9>+,3m* -/pX#0\.78$0}X|$HG".(,pE2ª'Ǖ  Qh*L`t:#(JfPaCg=. ӛd}=*dss)}!TK/%TTK- -8L7?&{ϥױI0, D`[bڦ .C[Ga^ tUTV;!#x#m]vO W-`rVPrD)A!xOgwS1Ȟ PjNӞ7﶑Vңj*:V%x|4b@;ZFhԈB홰JV=bO   IHo{kwIOTFұPgzuG6֥w Z,d3QM'io [ʫׅöAu~&a3ctuR;1.Vfˉ,**"f@E@lQ(*pg xlqrKҎV; Gnhnшſ@G7X!$pF LDELc:]x]JwYZ?bJw?\ZNs`DBvY&EVd@JXAӿQ8p@2/>HR&p77\K@J#Adϭ-`PbbW<*8&؟ ;Zhу!gHHRtqףW3K$v$ѷ(9px]ZT=,2B`Ld4+AQNxotpk9w!{]@)^P8@Y9CX !:bD2_ h[!zu$h HIN[fvBY=̤2c ʜqS"?y^Ș@6P%/nTi`L#=V4}EeC=5|TaCIK+}J̶4 Fƾ'̓8WY(2g*^Gc͒gB l'd,#i[}nbgنzbA jT~*·ټ)w2}#FzCUnO, X{!ɨT&N10葴ܦ e/Ɍ+w U6:M|dz`i@a+0oʂB#E"IЏ{%nrgv"먍n rV g5%d$DFXyE  % ~\:4Vb?YZhqO KHgio[$*aחv*/l {I]TWw#$t81R}N#''*oz25Eq#iNrA-Mp̺l6z͕Et!hb DO9T~xbԞ/e:{(x"XܐA̅ۢ$*Fbӂe'*JʣAu%E$0 Wr׺F4!AgJJ7)1|U#tTvdm(=$*gWH=d`NGM2,GK_aJK q'!Qöd.{gD^ZnϒB j r=3ݏ/U)Q])[+-fUʏX~[MK)X``>I& ݜsV\Lﷱ\tJckt'$ ͍{yAW.H>r@R9ŅO)O.drhY|GF0PL2$HmsTk=:K; jVjY;+#ұqp^9 S'~.j1&/%-tپUEV>=5v5e^f_]f/N!rJ&Apу\"XpHȐ* }R$ʙ8.=;)G!qAL0VVjNw us){ WE]KhgЍ [.,5Y  %$btۤb:z{G| 춤^Κ()SXO!bin~M~w>ߵ瓯*[({.I\*I/? nyl1Ƭ^E0T?fT5PM-5,\'ŘtIu|7)$D _h`wi`ORCo+<;)b6#}HYod]^]WX ,%g2oy6%!L]/NEMp%/4Q`Z˅v6U ܄maPx05 A3}+X)ʯ:Pg o_U$@&D8fR#ÃӡVRx`t@u! Zr+_ֻZm6riѷܯ;`,ȓTȞh9Nj5oQ}'s-i{dD+ %PDxj*3.Ʒ[W)T-m%\ߧ[[E6&GQLEqq4"آ`.l+D,!*=Ǟ4LD3xy!C8B )DcRaIevpEVjMb@w!V.L(O0F !Zm6Un?B02ߩ ͷ3ziγEkkLI"*P45\D]adtz극׻ӥJ! #,OXsZScHjT\Lr촍!,#HX䌡%/9`jn&?v+I/ >*p}HP-"U{Mwo%f4=WD KI h㞻P#ǯUyBy*nE:K^p[Kg8+(4vݾΜ|ȤWdT֒uȢ8'rYp5|>Go"qn:%m*!] #ʟʒ-`8(~\҅FW#?'*1H>@Qc<2A;{2˚J,;a-h?N`D:>@+~{<-xD5'</2aǯ N:pv1k ɧPneɕ8k'E3} 2p%aeBb PJmQiT"akbPrpM ttZQJؤdJS &xy҄WHjҁ$veZs-P(ę %,BLX0ڟ$R 5 ' I .2qo\*O%I0PM( 19PkӘw21$YQ`I*@PY??\)BЭ99I:܆hI.t5ӯ_4AGBx*XɧblkG]GH }6+3>Zq0Q|Lzz:0 KhI #;'29Ot$%Mq z@*HnJ I n؃ >4AX2DyZHpbhNP޻-8AqMsJvwvk₋lUY- x Dn36]T5BH] ƕ{uwMI\"\%:k "_D9{lC~MG%S2Rﬡs^5%/j*kPߞ貺$\V#RPC1A#w6"cΤAM@K$>[ʛϒF׍e "8ts wدĄZzG.d0icɎĉH"}/ aTVNvt 0_5@Ki,`#Oh?xS]0rnvi,!_q1/u^ xE9 &}Yd>oH)*,EI-6 ¿b46 JJH;[jm. wZ.GA-M,$&,@S>'! Na0̽2=Q*ω80N̳n52<+Mr/EA6\vđt瀄jH4Y*2*P iT$ɤVMZ^_nDH!umhpdQr:؀ Q|H*£r,->G\THDi!JeFC`p8/-ZASI5"A'BD\/3 X~i QCC"X> @iJObW+ ER$| 5ͨt;f%\;W)2hFu(/>čES$]ۍ㽱A~#(,.U?C.L`~D "&`WBˣ—Y+ N0&fk#ˎ8!N:e˶d!3I9E*pԛf*,JyͧN\.f)n<ݽP7աڞa[AnDi+l΄kov4aٳE% NVAkSvz~h5NM͏NQDy$P/R(f+^H  Α#$\qDy2d$x6\%]d0iBa) ‡uO `4TY G]SS2sƺYIc 3CwG1U+(h|R[k鸓7!C2W8[6quH/I'T&3J© *OK`E` 87H*k?9`/UDٿ)YӡRGZszIZ1 Kzlax(g+t0}Nf‰˄!d+H |C6x/.fWGr#u].oewbvCOlQuXnN45[);ձC}}t[DUGy*[/DZteHq@aAiy8odF^qү.JMiʅ4ȐMAqpLڦ2[IB ~K|Q,e,Ϧ:z`,0 -Z[e{JG뭘oY`Ld`z.F]A05@^vр 6 -F3.P'*rJ‹ђֳ $*D|;;‘3Ze7?fJb>vsCVJkR9*Yr_C`]+Os!v[wX]J}۴)ALp)OV@r;;:9dB;7Re>ɬb2'y*983 ȫ&Kya % v.ņ&K{gqxlo&hH--]tA&gR[ irkE"khfbsE%TVk L2|KT; s'tH,)h"!GtR1iܛL@ PcGj4/Q'#`+B)jB 3@/FPX'9DfvȔZ6=#kM ~ {_!^#08: 0)$v%qD`Z~#LݘXԎD Ǫc X"+A) d RTsb 2Kp@,oOL(6\PbH~"फ-],-ncerCcHhCУ5B9GHZ"AIRRԩ:"[tvJn3V/W\ݑ_ sd}ҵTG>bBԒDaP|:{Or(4r?<+ګ;f):%*N)'3#Rg,h$3$/\Ϥ#q|R UIbYrSu܉CrF5*U% hr*f' IU n{t<)]kl!.KִƔj*=,V̉I~G2+,fJF&ͅG=F%SP eV۰oڏXW/E˒^;NbиRž4'jP[BX䛻դ'MIwdh\  ` *^B ~)CVX:`*qJ% ba& 'Y,!`h'J +TSg|2u.x@)';àt z/iZ/p]2tҤ>$}ı'\Q4I:2!Dį$R;@|9<0L=~2"U;H܊Hrlː-Bkc^٧dL,n6I*\dh 7AG`> Tذɖl?)F$͓"B?4H7Br&4a"2m;Vpv GI%~gM.5u@ydN,.7^I5--Ҭ͂JDZlCqH+Kf('&V/`R0v0 :T!f\yr) Qރ6A > ̔{y~ KxzM^ j (\8mdM,-EOe* Ԡ;CRSHsTK[!N$A8o]9"= Sh&L˙bMds4#fI-Bd!Qa0a˭]ҿ=];^|sΘbs%ECSSh2F: N'H?0B+Qp֛I" .;b7C*_EtB na}*5n42>0G'T?*G&i!2rD﫻EU{GoɊ.-^|[w)﯄ o…EŠ6X5sQbhڎH~IXNE3HɨU!B1gPNU vB 06Kz5'aHU.v^!"VnR3Z,Rasua 2N $%$i%"BAJCU2UYS*i\(#2 g=I#.׺\YYzY>_]C#VJH9HL3*,Q\A8*=HHMU}KH xVH iP Dk:`A{0lѵV3Uo?0gGtR.Op)lu[|Vӟ!@{fuǝEt$l^bʆ5LUɰSTRE bтWޗ-j2iŲ\'#P-;A 8PE"LVNbPuH7!U"a|M@ư D%&=[`|tvHSM!:m Mi9٦M/}eK%Uis [,ٞʆ)A=BzOʜye 洬k rWpC>ۼO˫lxŪ16c[wHĕJA S#XƢ^)1,uZcQAk؋ +qQG;t)PҡJKb697hv=b\ul*J$ʜUܲTDfLȸrS9GA&ݨADe\Ҡ'Tz"M1ߜU{Tb GĐCȎQ'Y)GvTH Fy_%K uj6$cq?he0b\ =G2IdޏAvR)lJ)k/RC%+E٨H.aJ{5H3qUҾki{% "~Ve#D/'a"6? (p[\{ c oT~2T icaPD"F9tgů1+KAb]A&fےOCQ_,D,d0/ KL dg7C>_;iK0wFvR*,-ySm4R[j,C[,8VYO!!ٺw (vX4ԝ BW#'* `aaJ9A{N/O}-O9Kh9qL3LRPCYh+e͌DJNce; y q8Jd* Dfr`ӘJ:eCqNK!jiCI2G+c[[!%,[K;L1f" g1D,)amGFok5h@j}i3Fc7}[gv[scV[}j(Z"ਣq?OMp($]$af6鐡ԡR< ;+2SMviMJ&PORc m+\@e,ZO8*ROli !)YKh\1WQLJgQ:󕊫3Ԭz#R[ITK2õ[m0lTUnA7֒_AP09Zb"-G]+(BGA }7m+ K oz t$ڕMe!RI,ސ!4v;羣 !*UKjvk%,/DwZfUq}‡>Tbq" JgY;.Vr[1]]b[#9^rYbEXQyr\kHHT5̣6j/X>`~_{U,8/kz\k!"a i!`a%姁lh!j[W9awS߄/Rj$66!Eoņ_WԲG??3kFP A -h4DbGfDbCŴG 9hU fA *$&EjW){fYKxR)uj ~偌x0FaWYsK#1$BFNQNj f*a#/5`bSh ״~V_/-,RQ $KVC+H09XVRo1*IN4pG0xʞ˜U}b[66j8X@Ad Kn*ppjVD_q1ؿ?PNA Xt$wB?cIPГDi.!1A NR6B'Lv7" ` @btC=)pMdnћ=6Z Fbyt#( 'އc2RUHbK" =Pe[Ry|})n݈n$!{ʼnyȩ #Ǧ.06ձl/rbI75ZnWNjLq]BXq<܄J hC(Rz[dߣv䄸8-\ Y9[|dʾݣ+D,TxPO5"ӎiZ' KQǞ)A- 8y"y=Ja/(D0h2 c(*NihM;h,JqE4=QŃ<`)1>S9^wYb7 i1`)M!vܰb| ل4I/8rVYbTdC"}&t;Ҍr Y̖t`u1JJб2ENƨb %Dr6B(#|g RK+?w FzEO$9=f('a!\AE؁iTh0#@HA!CnvhHӃN[pY*hvQ6x8 ?~` A/͗Yz4– hЁM1U81SuHAE(L*gZ֭4cHQ81L23FiBMsGQ?ŇVZE Ya鯑I!!|ICD3*A/)[#½ )'r<錱yw^㒦ujʱgVII{yZ)P *d Xx#6ڭSTʉBH0IS+![I-ӔaR0qNq:Ԝ/vC׺J٢-o5fhhR E9vX 史Yf_+̢2S40=^wyx<@;DPxrZz`D"Acoѝ|tIʞݎJ d@\FQ@ZH&RUVExPbNÆԭSR˶U7<4#+LV,,J}PP(fnD O%R</KT V)~r@'7iØpK]#XNɨV(F3M dUΕx~J~-j$dd>>r07>QeiЀA7!0LAy%?<Y$0%ZVe0,VC /xt!w_6~nQ )nzĘtaJ2r' e>Z^ fRh ֫eA깏T%-h(xZ6''JX KEjE^pg99YU=j!ˇ!D(~q)h|aMv[8 åX!v:7 Xѭs AR/:?!Xb?z-۳'*0zv~OIDA&LtW&:pn0qe5 X+/KWVA30j3yt '0r|̫ÅD;rjctWlo*kWFN}${$s&D% ;- CK55o\x= TىV{{X3V.M*Ldy#P JTKI&i|%  EsKY@,+_,ɔ]UQ |@f C퍅X!Fwwm?fGɦ]>y6s"ר tO}dt".~r - 9K"`V? ]$f[ЀltTpzΒW6QGQPI PTKߥ:aJ(#n>EHBf - 3T!|:MU |mi@DR5YsX:NhX- eپ^pJJoi ,E M|hHS?ʆ>GW p؟e{}@VPڻH"c17CWeT&0#U0n0<%j ȉ>W'}S $.bvq@i?ҎJ2܊ˤM &hv؞6scqZF+ 1 4*F F:=4&|<.N4tШL@juky 1kY EEd-+d4a!UI<0h8$ha>nJl69m4OL4lMSW:e:r!. LA"GਹIdi$bjL}6DEa/iʘ+GWC}w]rIHG7iҖ5cQjE/ߦpfJ"n/NC…`eK#}H"duw!\ʰ82@VtJgY?PS peB7VvUDs%$Q`-D9}$KBmHV-"C#cz1HHXlIXgI c%GzBi)b lbr%FKDž;$xdYjoͧMa6ɸ},/Aeɢ#x.6';,E:G]EQHO< _7U]6Qn'DL"2{#܊YZ|4BUIN7Op_Q)oLoADdJÕ񕐊~I[ { ^K:9iJ5iKa,6d3 j"\e-I/枙\7QSWXSQoYm4V?g1y"`9g#‘`E$bf$yH0 Lqj+ GI(18[w{:1,IJQOP!@S\4AByPP`{`;I ړJYiEFtԴZIE7Cx0ºiMNQACp~dS7}cuzE[Yx鯄ٲK$y,?U$lmG_[ﵵ~P0SYUS"cbq+`uU]иMʥCh$4,dh 2zYi|&!R%Q$|b,R߰dis,rWz /הr}xO_'%Z,S"GҒSD"dHa  >sU,#-64eCPgEж}bqբR@PՅ8- Ѻ)q^Uvm7M?Qg϶GW}_kڽ2O0m]րFEh쌴gċΑseɅH2ԺT۽-*zQĕBKyc@C=bx&4#Ƥ˯V<)" be M"%KI Z^1Vk *U'fg]wM`DJ1bėL :$ RZMO/`{C(r3PE)${i jdgEr])l'._:M?^#'ӻs#⑕;aͳ<5$V#Ry[#H7k`z O}h@z%X>q# @E]"h9FTglCfhFXSK^4^0p$5ݞS^:mmpi#NFT'>RcI4]A!$& %>^zd|&?`;6PTv6\.uq*^Q=@p ]703a1P@T"&ۿGI;x.sQ|Ww72SP Q6WrAwymF,%՚:& '[B"p:`nuk@*6)-7D.E6џQqQyjbKE{2JY0zG{YǘY ʼ_J܁dֱ"5KX4D-ϳ&.ւAB=QoB= eH\ , 4$`L\p!]<(qO]E@vXeOĊRJ%}l@HPdd[bjD\bgE#L=yF/Zf,2"I+`R13&"^UFh#鹸u# ~ I_qWěd:>ިM[G mXlB]("&% PZ.)v] F.Rٴ1@T5dB̴J;$j$sRc!GhßjnT<\cK6:j-\ЀR(~LH˛Ynߚ}T)ev&*m@Ȇ߱ )pGuPb͔skZ"q""Nh[XC.(LZL[ݹbWU^e"zjB"]O+++sK 芈݋ƶ~ecV-z!a4tEԑH65ѥb ,.{9a,TŷKǸp }`Q\mcFO30`|@ͺrXl6 KrSʙ@@JP>MOtUP|Q>e0 ARŐAmӋ{o&l]RT͖)7-l8D='9-"l|KubB*pGg\SgP<%"iBhc|A@zwܪ-ju-h@L;>!SA~!OU m_]$xt:)v爤ٍHM|vcMb,@hZ4SsdjB?"t0 i6$PvAےʣH=QU,|P5"3JFY*P<8|$%2$Üg[C*D(Ja: )_$"R8Onk>UYN?JFe ULJYQV:|-ěMӚ/x6LT:`@vȒjxy;mi'hS-u!SDJxh 'DwwgJ@Hm&rU(u'Uϣ4>^-~+TEIdDA2TyPLHy *A3+a GBϹjܩҬ4d$M;5n20>(v>х\&J߅-IFXIHt$9voJh% h֑p/M_*\`#Pt品Y-GME );4G om+R1_{!<:T0n[HnWzkp?9/LNA=D!>kSw&VԲ. 14 Ȱ졐fa%mbq@`q"nDND϶Rw/LΌW_xBN5o%%qNg40ͼʐYe321r@Atֺ|x<;ޜ %+jm0qnط縡 =vIScnAw)R6('C8ڧhMܷ:$Q3w78HVbڱ"%BUAKo^u @KtSHÒs]VP_ $#m䔱N :<^6M6"a *$/[牘XBzEDRqok":((VҶVˢC,B"k;wQ1ig[ #0Zb9 aAP, (9 A갟Y?HDU,EGfAor1|~T_^B  QJpaekIfTP"p4:_.A1[l)"pD0Q+y-CEF0ï TݵUb,4س_#h0BłWr(Vds *SlDoeqD`渨Mh>GL<PD "!f,7 d‰`m o6rMYGJ\CɈWDsfi ȣDj.Z4: D,L;9 !%%Gy48amp 4ij.KrlͳRTʭ$U47(5Ίɪz(ӏM iB\f":IPNY&4 \(GptЬg`Iaqkj۪SU>]&B_3_V:VJރT -*.|NP?_*{'. ɺpihxh9eJ jȨY-{}4KmJ[ &XT:plTa]ifƭ4!$<NМʼn%~{`.PebHzЈ(s.Diwo"&i0*&-mGZI.fT2E_}sN էq[IZ$^c\JE} ORXrwIC$u?T1ZG( \6?U)5zVKe-?^qELpN,ݔ܆lL'o:.2 ޺Ra=lW #84P4U@fC&*6yx⦟"Ekk_E98'&HxD} U!WJPbo§˝WR2l0\B\ɞ]_ (,R ty\c Xe\vG2ڑ3͕GQd#c=nSRs)C?qCu[/RvHıCVݨJG?\ ެgL`_"HE^VD)lR~bb٧7WPѝI< d{S]GT @B*G9!KK$x ZSȻ5`ɉx^JAA&^+VC.…& y/ǃqRZ?- 4!x!Lj@2|dN pR[UYeRD:!9(hT;SĐx KHh]=]rO42bjS ~6'cDx-#vȘ%h0J.2&Twnʰgy6(XU`r35')M/TxuACRԖeg#a8\IJsRi)9GcھM"?6D#4TSiu)YQCg%ymgZD0,={ vH@lH诮*oj]j<뫤#cv䗂aYKъ|*,m$t*:fefwZGtb(i -6TUXUhDƟU#PU.lPHYjU(t"-##i1^ . JG7 v#I191Xe!(<.y cr^ v56&Y[BH/PQ1]t)AD_Ul 3S->NIw'2EKl]x^&Z71V- 9dr|i-YTC'1eLUiV1fLJb.bˡ WJMʍb6&d]F 5l _J AupgB vJe^hk*>P6=KՌŅG ˚t»vpeݖ[n>&=LDWjS8fsC|t\ iI`` s&h#-6VqVt|e<+UѨ! = d I1 "tx%RM@jHT!`W:,?ȕ\*T و!JPD]CUL#+HncT:J Qe8#K-dlCyB/9wɿ[Bf\ g "C!92qkyX uZv:4OV~r'!@\dWrmϴoaj:@CTCIu t@,'(2#i\P<)cmZ! e8rd!~@ĹW6Yq {d7Fel=| \ku`˃I;cWzV$p*&.4|P-k"kXqik(IJBBC= dD)! vQ & T`%f<8,$Nԅ|"2=" :O_Lˁ ){iY mͪd;Zb8UUińjڙ+$1W%x1;F+5-_)&C^8N$R+dVv6q0>iuL2YOUu0SMM';f:m򵳯DhnX"3W\#~4D+tDu՗+kŖèSSr}>m;+sqh]vJ },U"!Ķa0%.R4~_"Z;a\; J'2_wbSjj) £w.2)Rg-ټ͟hPZ@a,vU=b Gh]hI5I})jjzfn1i+BRD 5D 3J9xϲBg0Na2  iaߛ`Z;*Mǩ V x~X=ae'Fg ǰí:;]kW_oNۖJ.jFpG6qu~/j+JH ^,;͂gՔsk6oa K,!,ce2U [N hQV4g\g.xa,jQ]ɛ+ fUMO%>!Z_ܵQvzo}j#*[^7YdS8^KQV+-095SX=g{ K1h7Oa rmGY'/K/Cb9fP_>})PAe5'*Z$cM1vT(p񚋩K6EhMˈ(,|jHQ0)'˝bQHeUbtԜ"T2+:`! X#V齚"^c+W؇'Ty7,$:zr;.ڣԥ# g:6L)?f"z$C&Nt5~"v${%'Ifq nki~:C"8Ml{%^ZF.୾\굚ξ^df :RŔ{mdNcWXj[K*k =ьH|&%U $ng TTw?A9f&:0;SI4Nr=䡼α ,=C|xnt'^ '/ 7"gR">-cZب@!`FC7d/^jVyF+{>&oЈ$)ra>k`4TQ (CaRޙFK |07>(uTh~7#81bнPۢ蒨{zs{R5`O].̫!]w7(Z0fCe}H*4ddB8RxKw9RULmM=,Uukd'*S#Ze g\諫M#-'NH q4 xA\Ind A =x;"_%TfFUz\"K|<5ͦUkD{GI=FSws< =i$j\jQu!X(.Ll34&gJ]2@WJEޛA^BT<SW[OQ2 +1:( 6#׿b?v>6EFQ&bSÇ !̥n!cel4=DilvmGZG0qT[Y%$m TU]f!`(G{= Xߊ^0WzRvb%9ٯ煮*HZ(1=UM9js=lksAc)P W!.KM3u'iʡxXbLOa\OI.RaJ_5FDEGbv2eKj-HDJDѫ"SB47DQi4>WlH+O/v"9y4>:Fi["Ԣ̊+u`M0?. ؾ iR0/Q|A0@VZ:`tV!`Cti+>B6(SoP{ݒ,":$0cY#GMk)9k[cMOt@ݒ/g! !\YRdFh'%g(ZF),R떪BiM/"SʿEWqH 5C{k3US7T'(U}bA,*I)G/zG4rb+HU* ?ݣv5s2mŒ2-Ơσ"!,i {DC0LDy:~\[<$8+C&h@1db(HCnBV~k: J# 3  dnRMQj* *,eӷoJ4$A)j!%pT:/Nܡ#n!lYAQ_wsA8]#ƘYݜo5#XDvpjo:6Ur#mئ"Jۻ3^3Ü%¡dFof 3;\+xv̘OzfձzaJL2gWIHtj:vכ`kԙ2AZFtW[䂦[,c7*zz 4")FA]6\lMzLipA j2dB`($/ RMw9x FaHB!Hj0"!Xb@ YS,4{w-,ީgrg7Br\.+-7le DHRrv"'uڐ¥7U v8IK܈ ʸ@unXF2/3M>O?ˎ2+7y(֙3v.ퟠJ6sbJxÿؐ9 w/ 1bt<#'9*Ŋ H (-؂SvҒ вƤˑx"D)ʤ"f} eMlem1c4[~ JAIkLY=RHBeÅ*%sC PñBl- I3vpS*ўGt .]ͦH HTcrKxRHE)*]w(1SE^r/)xٙSKB6 lq:nzz+Nibˋiϣ_E8F6xޣAr;:__%sϊ(Iy߿*Šrc^qw:_[B?> yF/Z޲nO8' HtJ wo2+D(S[n/Z!'J}MbIMպo!,5 B]ɨXH"<FGaBFxDUv7ٱ2>=j!ɡnje]L X1.y^aj mNBjq_"^= '1l f:iQwP.'&$C49䠜0|. {p팕KS}RoEQWx)fbaCA+ul xU`fhՆO:EßN|b曒3Yu>XS\uRG 2x/V$PED0nv[J&= ,̂tI LNz"  >~䘘f%rAjI"BS_ OG;lspqV覉X&/P@$$[&z(#;2zI_m)S²{ jIk Nm+񷻉˦/'9DtFnA@X<&\/@=AepD=e~fjNĄ:q V8`yQu 㩄Ugx:Ib+@NW]ϚZ1,FuzZ(|߼؈` .+?V^,i:t&S3zU-X@AynrfOY6I6F6x2J)&$Dnz^&.+` @N.zV!)pH|; \>Liլ)ԅуwb!Is [z\fL_eA…XtFy`h34S>7WV1" LZB ["I O 8.0V΅c o=W؃,}IUh:p @8-xN/" GdʉI " VTDch(" R<(ka4xnֽP@!AG JR׍*QZsrRDFr RZ h\]L #6譓Xʅ3SUvͳtj#j[*x3DDlEZ$, ,t4x7#M'^^JD=P$.WYI\>}^dc!e5eTaWt?% @@ pWFFxt9\<1f:^֋,#8] NkU ?P쳛0cF fʸ_|VqE C #D<'I(™q#OrAt{{RAV%CE-Q6К[Hs4y)*̴L˥bT5GWڟ%-KòCtyE#ӋJKYo Z9B QnYv%`6:%S\TU5w/ۺJk'}@T`<ͼqK̒?(qSУPca$v\b9sK|Ǵv{k"Mȋ|"D4~\Knqo.m%B2{I I6ɌjyVoq(P2CO؄2\Wc*3NS- rGW~`< R1q8lz/Yl5 Lۑ[eK)TaZd.1Ž!q(Vlʯk4&'zDnM_SkŮ9oڴW[ۑ5e.8Lm e#ɨS3?_]H2YIal$Ȅyl<0隕)ˉ*?O j];ӸY&!n+jV]Xj Q~ak[rf^kso(*Lb^L@S#+'p!G#'hvJ^+-%6E tsK:'P DOV(T3&vʻa0ͷAib\2 ^iQnk3KE7 6TY'dbdAb2:uRbެTKmTJS'.Wa@HΊM϶=ka+0D^QpJ?Ӝ}9:iC_X bCbE 0Pܹ0%hpIXOWƙMϭ<54erU)]g@4cCǖt!-r0v\ 5.?^@ l/\ n] YmWAG'F,yHiB63>)H>(R V ]ʁ5& |3/3X5R7zqV%;o#OV~mX|% 8"#.XOA=x 8n g9r8>yԁ~A:Gn5II]FMISin-4mRt(pS]zM/#>{ڦf=.޶\Nv/홞saO۟t(bLq.R%\_ܷܞS'VIXUFKEB}Rӻ^*۲Zҫ&Lmjgjg{,gkKL:5AMr-1y2?)+O j*$K$&6*"`mq* hOTZa3Fe$ [.V< u\5]GtV uEnqz2HDwaR6_\'n0juR" WCp4P#Pd7gPLt/(IEdz ɦn5 d#D'i\,5k-޻<-M/\$J6O F;O4vBJi!\FP8A ڤgєĸ4VdbC7.]*9H2c3lEKOQ6Bt ~-=HѮ{'[TzQwJ^YYA?lyG#gY}ڙbc`vI\S=&C@:bv˜BB%uCi̎A~ʥe=MH?$RS͆OftgB=b8lo >XVB)4߲lKI Cv oBd 12J„&bآc"k9V4ǵu3FhXnL)~d1;Gs{ajJ~41RBs^ܖŻUJH_3 lfe= F143m+8!)=t PJµLwL׈,%A9tA U=v܈vvNN68$G[cB*yd3I~# Y+kx)TA Ae옇^͓EDp*,hP-L r!`+5D}ɆRB@AfM`Ht!3)>3!Vj&@>)IeCfdn!PXj7t' <'wnvU1F63_uf$*F9TDHom/T87gyfiYp7Ah ׆rDQ#%OR`\Z_V/ѡJՑtMk6sEu̮~*s(aYspDH˼d]vU[$!۸1wDHQ#_\(̯&M;(΂؎+$%BbZଠv /DVA\.,нy^*BXQH[(f gf>7TH" Bi=S&Q ;K?Yĵu0<"+gȑ](,li0xHe"QtE2 |Uصp/"1] |$&MZOܬLsS$C|6K|^ʮRΑpr i)Drg3LwkRΉTB^pb\zs&y-kT"nXx*`';0V :N-@vdP3F>]iR8[$Z}CB ʁIM(E 43|I9[f['*aVc|4y1h`/'%NJ&S+IHcwjSqaR`@|L#[hn2=#'@3Qa{KZy. &ʐ-$ -@Wa!;?9-%fa'.q%X!)&Ve3>+6!Qq{ )4/t}8Յ#=T\Ħ=\wgIb6cp<\fOTݬ;xO.T!yK1c6̟tu+VmobH"5u ANu()L$W'8"H~ BjN1ˬAX6QQYUeFb 5:`\VڼU5 Oː/~v&WCB'A*m0HhX%t/9+ \˟O:ZJ&Tn2@mxZ 9.#Im5G-pcTױ,l)usxc/Xcf %iANV4y7RhwȚ=IÜ@+85PfTfJg/9Cgw8 n0.[zT!ש'yET>ԛi֦E ^ 샹b dQ/=TGt߁-e 6f`,\~zɕё\T{:ͨDW6T 8JZ1@N]V>'J5+:AӉ͡* Ð9ӓ6\)*ET yEӨSI꼊J!TkY+Q !pe3.eF*-fW QԇT6'A*ø=M=?:$z/*#+[[;'Z2~jBw[}e-Zvqr] XcR(RPM²7<hg.5=_KɊ?FKZ#,UyzZ]$H.|E$$ҩ! б?'FaϻOrRY(xC#sJr+2Koa*G#B,Hą'/"4e1BE#<0$:i`SiXڭBX01rש|6BLPqzXH_*?}q#1Q0ww+J({jZ|D!N|s傖5K~˫FV@\=0 N%Vս^|"XvoX0+"dACTDD'VٟA3 8wJɠbi Qfо\9ZWG P^P[cũ$,~nڵU¥:)43ۖ\3 CH#kĤY~ӥ;2j:(:2fLB pAd28R R.;$^W jrd똻Q!QbW.V &B0϶uR)1*aD_j,wF;/Z&hj: d+Q7r }+Ned ًX HXqP"&y:Ede[G!?$p[uǺDmT1aܰQHS%`CHĶV\f\ǿ*oG1nf^ ߴ><ZA ™VP֮(Сv_p5j;@[4)$;Ę.5z-Ֆ*xՄƬD7HMg1;ףlwtJFOPuWL+Pѕ=t"(f, = `G^hȵPs"$Gr&Cm,16A|AE s1T&!%nfl5r c'gXl}nX 6F906#bWWc ͹XǥٔcŬqs'] (ʩǤ~7JH3,Rl18ScvD[]1Dx91*Q#Ƴ*roo) vAH vpJ4Tz+5SCm5xA[ׄH䧄PG"4b7/F[ɔW{bDz뢳qUɩ.:gk~rKV9vM\WɈYV8 ! B > M R ) ʹޤ=F͌{ q|4FQ5lLvؾ 0 b(;\qp-T- F@l sr0vj 1~9`) vBd1 r!!q}lcb. NmdV&'v[drN>5s1HB=ȳg)g*ZLx`›wz4:,kWKzZe%{j$/.otNu],9(,q9ouSG3@EMgEY! n6 hR5RUK w^ԩL;GI~VFչF8Q$k]N^-B\J<_n2 fy{kv  #gHQ:7ȅ#YKNYYeTT.h`o56Q zqP # ]mA*ve;҄!f2c| ~k&ɤWG ;XČF1J{+zC5BiOS1,}T}%cfk^`U]>=S 8>2nz%a[/xU0W+ck2ӕxtFCprƨt:Q]1[[yפ=NBd[pOix_L9K+UKWCAmSE_MRċL1,n.IY߯o6Mk8Du鰓ȼzZգa˼5wL٘fO * ,2/ARyB.j_ysی@@NolբLs$sV-RtǢra#Z3IMs"-oF^2SEz56@{*4dD7wZ (Bdrűmo{/iܬЪ\@Q(3LӞi]NIHLs8 cjH)'lFbP0 y~B"KAf8\+NP{Õ#IuJeq̞J2.r"z(USC`cx7E%%`S;]6tv[r'bjdK=_iDl B%y9,qՉ72#D4༱VHw"OF}w*^deìL)+hD[$w(˛ bDqs8p%Ղ_Z ,~#Qz⟤c?ZYfǨf7ܡro-3"is^IJ.6gtdI<|-ɯ$SNjN?3-/ߒdQ%QhHzxJbt4Z93vWZR2K* 4AR\( L6s_b HK' p|Q-mҲ:)IET-*_f><xH!2a`Cr50dG3xǭ-vqXfI0/m#iü0ˡT, ]QC }#bQU[oCW4Iiˁmi*H #zEEW~t빶@]aHvsX&fr,fpӠ=!-"!!2`H$?5h*]@|`@ z ?|` ~R[rQ`/9[a}l 2uW\t C `}\2C]iYH^袊bc<_nˈdg@*DT8clXF;`n|H^@-DcA"}$k;&>, í4rdq=X X;#k5D 'H#>DZBZeWsѝg5Dq= uT2qYF.P6CؽC@ \}B:7wipsoH=$X+n TrܼmVuͮ$a)DB=!Z6_2h.l;njX kb5HhJ6ORoC<)04v5G>C+ n K6# Av8Q;vc2{8\ X#%lX[ D+DS{ E'ވ7Dl`7jhU4GAr=4@tDsji1|5}[ִh;!*Y&F[(} BJTs|@q~G'8DDejD=ER'YKu$t:^A~B9rP2;XRf)yF H*F!A_wkqՊR 㕹"D+^l(cL'>7>wv |  2HT:Jz؃!RXVe8z8L":of6 իTn)R nNVs!`|tsD#=I:Ԝo\d;QB$kHOv!{(Ěa | 3DZ_'p2rG$:+J5ZJeyd{}!e.s2Lw*鮴쐓hZtQY,^o.t)濱E\qܔZ; M;6CaoS&V3b* ^^]1J,_>Hqv}#uCo}וӤ tthqh"QX"}<蓉!v8UۗdFqA !کrޗ>L+h˝m홗C4v\v U3{oug(Qj&\.{REZdML77'C؂F4HKXN5W[9 X UKGFb~}i| E;u'AN4N,&QwK=1ΐga^`F^Z1&#P5=D.@22 f|')s#TZO#pc" xEBҡ.KT^%y%LfxW}t\ԍ~~V_O;}S!nT'T?⃾j ~aًGXSX֍!$HByy!Ry0ȦI6o8ǡe~NGr94{#o~<TQA6)]*,HK;{½DCOU5n(1!Điw(X-YΪ򕽍.Hw "&NrHD((OYyM)MPʶg74z*"%NI:ji4lٺ 8, GyIfգYصm"°- '$[$ʔ mݴXK+O,QΪ%>:sQGUG:zb7=|`wjOYf_:cزdb=f㿶k -o²yU[r {&c̳19fVlbZEiYSx۫]'1<{\qbÑ"j`[CC#TWJwIi$En!)Nh Oi >CirQdMs9QY$P,UL,In$nn'IYkh7R,D6`\T6OttyүSin !$XI\86L_ ^’c)"5ȥI]jV #R&͋wKo% ,`- ;C1 )do1L3S{寫[ q3A @N%Mkrs0OLf$IKҌ*cُ1Ժ>Am% &ИQ8}HZC:=P6ʥR|f@s0:R2?0Ё^؞C-;&$8E2*,ĘD "dWM@}Mo+[=)} C8Z%mg;y`ٖb;8FtSe0Z\!EU,ZD Fgq}vx`#J _-cmaVdi%rkG`X=M;9("W4o[LO)00xM0OLl-Ȇ!-/ȤA>[?,{oJbҗ(M}X;HBGR#!."©i0,PM: JIBUiE\ [@-zR?Cs|}G@{*^֪kB`#gx0EܞM/ĘGۛs-d0ՐYy3-gRu8 " k "RFAH$wDӞdBe7G~ 5S+ Q4 WCEEɇ +R[9wk{ xR4}ƒ r.dwV(w# F;$%6Yyi'^McFmt gpSZ Ew{D>܎xڪy v -q3 {}b-/F8U'8{\)*#YAP_egFi4BL6>]y,b'l .&S6O,Hϓ|AS6[O.>ja'|_v*>k|&< 3tzwkQ&iroГI>霸ϩ# qc ڃ@tiOC'-CX,˷,Aa{Eiemfsæ&'DT%?ma^tЉNtʘ/dF=L)-8\ H L8Ha ,cKƱ9ęCG[r/Q^#%Q r 5Dzlr}wP@IJ)x.7RlԫW2K$5.+3TJV0hVECLD{S*5pMrijy)!ڔXHKH.CJz-B 4 #F f+ʠT brPQa:E+iUIIA\a)#`_ Q`r'IVfU:- sQ]Ǝ\KXgh3Lc8z;"Ah0 Goo.bC'].oB|W#D'Ms0(Kfr J4&{La%0VhXøVG!gJWh0E`&!E4@ 3"ERu֩4| Ϛ'sjc&|$SQ L!>| CWsQB,JR=-~Z \A̦M(IGk]M"B>"Uqȋ&Tgx70 ÈwiQ*9CX{K/b,WU8|;j[SKbo$*˦zC%MXm=3!Y(nw6 %N5=~):r3Yg6*`V&¥eOmZ'BǀEl*;>}ZX*uO#bX굁"7C c9+晒Xj;V&[%!&292&Jq0;t,/R0: v Wd֊%J@Ƭ$]&̍:ˀ!'wjpj'W2T#ħs)>o"(VujZnj7RpXCts#j2 $]H]uAԢD,#2vӛGd[rB+(ӵ2VwvJ+N*: 㲵C]1VjTp7cͩ#Dṧ#Q2Y HiqrQu7 $7mef/- @FlGi\B55M2Y:{e9Һx`̐Db/IUI/Hk26E*IMl1(?g -pQ S zzZE2#_SȜrv;N"<0*Y?y;Hq|/LQ`ЁMTVguռs%l b*t Jb{y {m@|tH&l[8W"|lzDD[CIſf#C[(2dN^\ /˝SyZq=̀D"#0R-v(N.!&v28zQ[Ȫ,eA|W6kdfFa@`X`(ABC?m|}( 4rdruSW˩ul8Pf,9Er}wJ-BAO:Q#'VwmkVi6+V-:ӉWR|7j;N v'يgEowIeiVpœ& IrK!IkXlZFfu|}ZU% Rcq L~^U<2k͊GBLBP!DQ XPF"e4P ;a^}T x  DK&B=E"#eE..|rBI"mMסݚDhA1.8LppT!z4%/Wb<͉Ϛ&zƊHjcWh,̥\Y.*K 7?)\T($K U,f_ 돡Er *s11t"&2)beZЃ]:G|&*ho{\\A5:[3JYc @ *RhՒT{J R]SƎ#B)p$\k&H٦{k!\ԏȘ`K:]lqT'g(E a ӥ0m /Xp5:$MҖ.m (P:.GY]Ȳ<κ"#ln3CPQ٪ě].GI~tsa-2-"149.e'ŲTH@JA"d+ck4"a4I߈@ V*W1̒h @F(iܽ-O2jmd&+s6q\:It.@௔*t@U}ZDI"XL /3Df2)3ڛsH $*q|pMD1d޹Hh  qTڽ9}j&O[A8M BpÍTr_SRgFC-+Q=dl"ҡ!2Ս"S$NsK<_S#Bj" fyh@t& #"jLmCKdA^g@3+4n0"]I5K㍈ 0Dr}Y"fqE\j%j9 yd^JC7NQ4IɯZ2bтazD)rbTE .T$ u4QLn꼨ླྀM"82Jēc(UwxH&-_lreЅ2:,/JNh>LAB]B u#[CUf,CkZi @n 7ŭ|hʑoi769R6axnWLi[.Ј@GT iSs@ x9u#(1ꓲ(7J-<<)"`5^V'Y+oJXsl(&I8PX}ąh1,!頲(ӐQ|)|[ @V .B>r*1;v0B&EW*gM7Ql&N@(/’FK+]JCQI(^R`)ʇ%]  uk,Pή* jhf% j^p|퐾o䒳bkW V?I `x@MEv2`TqDx$/RXy*ܘi6yUI"g7 dɓeaT5?,t2|+1#v:$۫^*XxEq113|/y-jj^?%Ԙ;>uo "y62束 i(jA4;n#d&H5 #IUM5ο! ߮ךDGPOFd &cS64zhPP33pEu@:=T[ 2I, {NqM6n9\^mBh‘cRSE !3,刢?|F;k1^Hc&Eiu0vՌAɎA,VLI2"[|qqNHjuR 8v[i6Xr2F&ϸx,Vٍ`?K(}&/AuaE9,K⡔· ȑ[У0' ] ֘xtft;[MF0!M DO7A191!;L8d.a0oڷ/۫%po/Id )rvL}nim)"@@0<\KD6,l,!8 ZnZMkIŊ$GW c@[ 42!^E"C%3q֛ UE'Zv1@ntJң/#>^ɜV;$OCU,pRRoƴ[?Hz6G@=zGVa`$56ؒĆEE}t8ohH\|nƖ㵬7k)(,{dV=:2V/Zn5 ܼXp_ *8EW\KܳBșe*q6nīxF'N'*٪ƳZ,2PN_v;ރK J)+G/vb/kTc+5ZSM+AҮh)j|ib۞iԯHBz7Q mW]Q!RgH@QJ}tB]wܯV`Dwrj>uk47Uˈ# ج_GܵAn@k3W?O$]=?[L5d8)3/խYʘ3/X-R\թIbJ#O$rjF*[N +2|*1+ޮ$  JbCiwK:l(W頵"vNlEbOp -Etd.}˓oW Z%*dibB9yD=(sVuZ_pOVčܥe0Kj pw7%x5^#3hXOH=rG;35?J'sJք>'vB8OyNj-[_o"u}rO&kF6cʹЏ }XrWE]O?݆ -*U Ҧw+*I 5F\R/"V>+@C>2Vf%z10APN7RW櫜a%gX9ШP=h4K+!=fBq[VJdH/ofS)TY\v|p"f;gB=*R\YлJU|c;NjKv:gBQ,FٙIHRaG}%r|h ࢧZ -i5bV9R7|[ٟw 61K8z-HG*i:۷_cw$/N6N+@yd6\\jG丑*(3haGK 4j!3-M{jB7bi]1L bvGb)(nvZLj|;?6(rC##X.#xs;PuwЂcEp~@}B otV`xLP^V1ɼ#9,!S@@dH@Dۄ}k xjF{7Ɲ!E 8d)4iK5)L)=hZ;-%^IOѵ[-z=;19V.Qڵ 1Ɉ[F$)$$$ҴI _ CA~#ȓ.{X]֊2N%rdh.m4)rϛ$;V2n}%SP?$ I$t0 r3x:ҍKd{>Ir'X;2ǦЋJ}?Or lş3_)V=ű`h[u,2)ѵ1hwHC(-Q3v` [`N}qϰ\Ttݕ.r]oF}rU)yκDO1p֟P@#QI\eIV=t`@>=TKEe%q$W>,"<*(KdqpLE؃fAcB%I)#ҲxkYfcQ-dɋ ?]WK3*ܓ)4i\PM \H2:p䙜 lg6$1ǰh'’7Rrch1kڻ6P̪Ǐo?{/_HomF_P%:30* #U4! dOʝ6al)?均1qF#'=Wᬆb$M쒪`AoY;YtY_HqX0U-$ :eQ*x]OpWkb_aұc/5E"?ܔLa0J)1$:c]M JIGJ>0K6Eė VO 9F: ߷^Dԭyx>B?X`ԨgBR ŃGA_v<54_j8[>QᇢFk[}:g~:]% odOٱyя<&eUn'E[ΜTj  SiDZ.vWZe2[iPB`4GmM*m,+.wZnJbIz|sgY攛@;_N #,YЩTPjxZ((LDd"zܳUX !T䵤A ى#Zhj Os-U]NVVk۱gq͙Pq>j^iUUygBK;s Jdv+&;2hHIX_ "@/4ӡ؉K T!,.6;w_VuI̫vڢ*i#p7a2ddI$o'ނw_c <EzlAzo͖V&nb"8}?&gl8D3!7hD6+-m.\{o ^Knlf@*N<%0/|nF6MqT*^$x_j2 gsq0c]*hf#Ts7VUj9mqX*ZwT}le[KT,E>~fܑR^/ +}[2RK 8(" $H4\$Km6Jbi2UEz$DݑSI]o:䬸P..hl(fycэorhJљKU)aruH {10O>3$ơD(IIuڥ[f&N Рz>IeL RLS.3ea̙l:rnhTvMޙ#<+Aʨ'ȃ8>;XZOGevr'D6@xTavˈpY 0HAo\ׄLKc$ۇ WI.^^H#{٤I*v;ISIq2D=Q&oBy/Q |n+v;Y[ mܳDi@TNzK,$in|Xa "2Ap FmT ^!)ýNd@[O"v(i|vv"[PH+,z.0TƖ_Mj&#x$:o Ÿ,˪j˨rHSe%A6^j*0#/La~PypML4bF663C)\lj6IspI9Y*bJfœ4ߴe$9UG&FȢ+H5Z6bpj@ifFGfF{FWp鐀a./f0'mF\K~qƾPh})ցSZt}z@߱KBTK%]^pަg'ވX.Anou.疎frGRbsw8{QevB Er[ڮYB u'(x<['=iu"X&<񤚒%bטZmTfydvYcKk_R ]4kVǝ"7R9aܲŷ +}wg;JE\r[Kq?FFt) $9#G( TP'266iedvDvTeTcҨ=70&_0n8N b `A5q+J,D)|'L@Yd׶3|Yϓ&Q;Oϔ(]7:Cl9?V tUʑ^ݮ[!:/E{Эu f}ǾCIK1#ע ҇&@:2 ;FMHS(X,<'_ݬ c%P3M QUyX m,pM =׏NbR|W Bԥ8ɠ)P嶷&NUQ2J*‘$FDLR᠕(gBO}XS)21U  0`=y)IF 5:h|Y*ϕB/+LUPQx[JsQG+cň#y(PKTܳgtZ  J 2o)qb >-]oXL` eU Qcq0DB)-e)k^D}cƍ"2YZ #1ŝ`C)ae9\'lC>8'R;j6\S/F՘%X7#bad=K7qhe^D~z(ț^$D6]sRֲn\73VpsDǹA+{DmI]涡{G:"7da=yQǿ-=U{}) _tEpݫLZFcz|9^c<1NtbV}S'+y#2Ҡ5;tJɐYn?eIW7 G 8HJE&fSh"B4IDH|qg,rE8HlB4 ɱF%%ZbBzi,^/ެkւ{񘐆֟xEGʂyoda[+ ^}^rufäB_Ddn::xWqRdd*ˑ9RxEҦ=@RP;Wi!jT rHkxcA n TRZ.YpUIkb!0#  zrE·poC }](gbi+]LsƘjk81ϱsrr6?W3&/^*˗ng6%eNbtR%0xXT9 wV[ip*a}$ۯYt7,bXxˌ"p"EkW{{#a;( kVgCSobU-%. qZ/f+c˃)7 w"A5(BΗo}3x8cJ Qc\KC<HPh*vTKGs3DDw!0Pci: ̉6 &*w?7nmHQz-&VTv;` z."$n j/n:!29 Y%FyOh+O<]jD$JvBr p^QR9~IzY0pV$Q|LXv 3.,$ h0KstPJZ:Й^;ȟx#fĔ/ WW%E n+<CIv8MF434>7zl/r)ňʾBiRm;7K }\[gȺ%"Uc G2顇vb]-O݆1$u^(&ʚ(OQ+<-7$N4jd{eʳJM"קk})ҫАCKᏋ9/'z\DF<S} J!g5oL`KӢ_P3xg#.B rYEV``Ψc֢!8Q1 B~mA=Id#(tOպ9;;$}|R[.tTU-}maǧ@֙G䰷=--'0 ʛDDH-'^4ٙG,ꆿ2)LO0G\M#uL tzL",W"%:2gR |Rt ,3 !%K ܦԬ&њ5G"ti<:3u{` Y gʼn\S+N- Nakh5;_i)J4/JخN놈-0)1!WVRtw 7LH"3mLݼaf,FX5 "Bގ iD3fgIx ԩ;ANyEIN$+J(-ӕa'1RFP-(B)Ģ5TLBN$etRř&1z%wf$jpkLlMM+%Q__kyzTq;tJڣSvT&)=U b.-j$]scْr!{?#3x7-DJ[f gz7Q\$F܊e:*Saj%KYmzFH3F";&G%|eCmp 7F\X xU \dP9k{Z5ŴkbƭA+* RpʁSp.Tɵ_EFBH:!O_TJln~Ejk+ӽ 1MXѾQd,-+y mٽ65{_VڡgJYQ 7ՙuccU ʹڸׅ»;iC9be~1&3q@/d#&7E-KA8YbДg9ny#VLAVаl5< H,ńԋkNھvb5n0 Gd͓f_4!eЗBâ!N9g -HTH ^]T>Nm ˯s 8mJsٚb!ou ",__BBŠqB;daBPqۚ1YpR&PA -N8N@FR3Lo$IT.&Aޭq1LVޙ^ f|sL#&x5 od-+$ijzA(E!YT,Rą /̕ۂd)9pB87̓ _QsM}%sErMcO5@g~n,XJQ|^HrfRߤYQ)U$Z\RlB&|0k+Q*g 5 #;j6S/*i좮R! \\T 蘘jo- !|`#4!21(l/0Q9 żZ8JAؐ$zv>h5F0!gddJJn}5Gb5TTkb,+n^u ?0@D3 9P~?;{k@Ŷԓ1$gD'z81}[|=J9arԤn+(BrQVZ&ֈfxnyxDZ uj@ZI;vH欧 e;X5 H-2S4Ri 7WD-VY%MJ - :I Z?4SU"BTQSJIjt&$:\֯=>2;8BꌖOxXpIv(r f%DJ7%l쌟la@ ;!ؿH,2&F>~aztYjF!n!CY0#2tC62_HedoxH)!ck9 ɨ\V v fWYmS&cHp zE C@\m^/EVU-<ϤLS ? n/z`bhWFRHHI6AI`y KˎI6|=?{;BZzWɧFNr)<2iE+C %z`F1Z$+(_l%~!4v7AnCᬡ१%!$Me%Bw1,>m^/cN˂zxc!P֎o$Dܘ5 6Ag9@`Q5_;?յefV[NQSIM7: 0ԌO #e+ ?%@*.OS*EO?!<Jt0~#8"B)>W(i{v4?Ӄk_zbR"=A@G( \EeF!9&> o6D\O!QwmRײ-cEE˓S|,KP8TF]Qez>M%iFN&i YE]KVHa1 ,pΝs85b`cs Bѡ|Ż-q Q q,gnXLRS3Ҳ+-ҾGtAh;5076hfӢHj2X3Q9F/I`g`b!ِʛ1p$QѰ`4;(R|BI!Ub4D"",\\*pp,x;7cM(3cK$Y/zy[9gO :jhUd.~\yKTٔ? "G7YMkM4$`GEJCgI)v˶J+-H)~3ň%%S '"3L٫DLR2.S . h:`+0xEK `UYoƅz. sA",Z듃fDA)մF{ Hb5ZiFR~&b1o5jl6MײհT/^m y/4г\DD$ambf t?ζ9_P5m'cO}!yG6K8h$#ny\QOu D ѵMoNHM *!u R'5YRM Ӳ^ʼns-j1DV3Jc]M=yʜ(`hwLYRMD5H%Lq䃒LR8ԕ!U/HZgkI=A @,'H7'Z;Qi4 ַNĿbaed(TU^e=ԱkM3MrQL*]II0W]Ts>mi&ߤ v?-RcBHܿlD0 (Og$XFqq:(V*Fj(H*v^! c'E6jgCyl"MO@^!K,1q:VG*!iJ<"܍D&ަI:ڒ(|dB~M7Q?vܬ+Ef.pӼ [!m3G}'V] COPTet%2uRč$ih[~}o;IͻiwI]3:@SBB͌>'xBMy=<1! e k @@0[iiIFKT AZhcH`ZG0J ʔw%2&(J{'\Q2&%<뛔>I;&Clk<"K((5v$@qT!1f J95C8=,"Y  BB(9at>AEVوX~RW7'j]NB줱dmʢH\ Lu[c@$Eѧn|&;ņ :D 4 4bsMdڢ-IUqi"AHo]Ad6f0j(pxt(yL_\*b¥an(-Cm,ZXm<Ѓ$ `,û?Xzh(R# /w h aA҄#8T Xcia_tXDsTƨO!EIA2_L~u5(:A&qH ߝ3kڂҁkq$j!G{*=Qv0!J5NU@QbH[lj''jdO;ġD .7{B,;'xQfH_Jp\lF x,)jhV,)# r_ 0$+-zj-< 3 Q0԰Ȩy 1EˊG-2胍FE@9M':JsEI(ȇd!k$ B@JJJ]&4Xx+ԥp$ :PR&4o 7l^hsigolgb"_x]׮WކT.|4wf:g?6AW+GlTe;kcLƉcE Pqt0ҏAGJh9E$O%+U$E4&[+=(P3cDwONp|md  i6:R`$tO 1 */P310@l~fprHsИ̸t'(&brI}1C0x;8 wumixoQSP5z[8 v˅[z{'Bs*^zndDgr-m$U&K1LP_ڑDQ %4*NnVkZ ߥN79Ux*[j+aU;!Hk~sSMiFP3\G0mB[96U[MuS4KSwQj&O6GUQռ6* Ei?5Fd& 7T4$: LaU=Q:FhNCnGQB$+܆GsC."|&_BҾF&:6|l   ,_Hc%gZWE㊾hjH8Fm?n,g~̩T*+7%Kt~)ፖƊyb ]Q#WN%PƋ\V(_bHCz[ү_ uzSUa}5ԇD}~*??#AbO8#ɭF~']RSCė%iYcspF9#-VCI[ɕ 6M$`DDSqG =ÌI` P K|#E.D‚)d/ Y"**&'6S|$SLy`Sa2IN*F-xxzF2(H(* "ニ:͟ deM 轖)Z Qx#|o&^^`Ii;†TND#+:'^ 6^,QF+"UޟE m,;H$lEJ LK܇*FGTPHVBVu5 4W󓝑r^?WU/Ei% ii68~"}j K]99NCSXd4JCŰRf.-lC}k\%0h$@V$@Qp)M<3!EEכ&4pTUM˩LbWFD` D)x~Q"Z#H[p\ݐ2ӂjuɠt4"L0!#:vηXm"3XJD.ko6{Y?:PEc$*n;iۨ+a7i0*nQ7PqH* "^oYZ)`WtFkpΫfWtˮ*rHG8o"Ծ~B:0d֌K }Dӄ}"ڲE ProÅ2rV[-ǺT_c6' 'X9^yP@J/OUfLT¥oTJ+rHkeh4+lMp(M$)Ri1S23nS"Uy(G-M,tX6/^Pb'm'Nٱ8bAWܤx-3c 71 gfN n_xsNccL"R.=IT*2 v.@scL! eL=ޚ w@fE V]ΐudPԓ':@S6I,xKNI*]yEVKnA Rw-UŒJ0qLYe*Pz%=V([ "g8!-#l:ZL(G !AsG+VZml#M@!s&)D[xĪ~3 ɉ]zQňmp7ᅛSpaݎzv{Y*mYgH:Y9eX%{)_"?GhS;LCUKN>YT3$Yi J&F&W$RFrJ(uk B2|\No0WTBJ\rժwȆU0L̼4fhIBKIʕO?^()fRg^Nc<}a(`cE"gBޔ%̑_ BHAFK NԵ$Q9Y^QTx6 Rk Q$3Ȓ3bThw]iVV T)y/<$$ :K 1P*LaQ]`Sd~Ѣ&tZc9򖉗5zm뉰-'}r5cz0DLĘ@@ AMIR>{<-A1xLX39CKg50PijYV Amٴ $͈(cITd$6vCRWvNH j? 4OV`*I;?P#6e@L4qBsByhD}FvЀU$"G"n&qf!)%Y<8o;5y9_"EPObZ9сs /bɝ,XfvBpɨ]-zIicTI+Y%ՒW7S.0adYi{,c[NhIwaoOKߊ.pY׶^hˬ2E eTDJZ9:QE(C0E*^dYwjֆ=l߈EW9fn$NY -:Xv"hnT;RI1[%K]hSF ΁N8ԒĢjiqdؒkך~˳KER> ?mdfaST;3kԱh%k{ֶ8!Lc^07pR0B1eqVA dʐŹCq V|} T9uò%JG]V!;((eW<̥6( 0ND.~%JZi+jkLk-j˶7zDNDB;Fm[zĚ兦tDK4k4/O׋5!B3-4\<\C˭d<.8\d O0sB(箆ښb ߛsFe"5Š0A*PR|е* s3B{2JD !ԵR#̧g L|R(Us4@jL7'R+}э$D6SH^~*QW#˦ZZEr[Zb ;Oa]y:g} M1mkI_ϴ6 BNPgWudir%9%I)yEne̐TMof! n}FW)w 3 @qt#.:m/5TR!q}ef7#H C{vH4uWJ!f"VD?51CRֵY~Km[l:&Rv cOي5};kkwm|)ZdQR0rJ٤\HԵd8cPg+1<wl fWAX^n>SQ {'#f%/PvbLpM3ia;[M$I|uhng!%BQYRHB[ DRVp>kwhM#s*J"k8B%3|cijyVCe;֓h`*˧&f%DžF"цUP'ԈP:JSNCc%zJ;6Zؙ+Y8r̲!Vװݭi[Zl}fƦm6rniD\*C8Q Fg1h?kS}b573G] kMɳȌ=}RAu&>(w DY0|Yi#jK<=!}w[E& ւ@)gJaJds*ȯ0dTc1xw9EdF35 N.<{=V>b*d3Hr7eߡINa[Pk/%&+j rOc,e%㴤SȣnD2͇y gm)%) 5e撊J!O}Ζ%<9 9+"$QŬ[ [D"ȳ/p1!ȥ #jI%1K9RM(Lܴf狆-@.i);,L< s?Bq]ƫj ށqTo)|۩T<gN&RMT.%GFofxAs`_VxvV.DqK:煘%H7[t[HhRj'Ljx! /1$@9 ޅMђB~9"#_rGXӻv $|t%N(Hձح!,%] NjȀg3W滮Z:=\NzJ F 켞 @S^ dyzRz(HX0srXq!3`z9?ҥkV Gia;-qQЁnv'Bt?g6 >q PC+@e&c7 r0%:g9tc|@DY?f sF &K=cy'@ b5 ΁~XTƅA;w_7ф]c9Q7aU#1)DľR'|ǧҋD5cv'Lb@jO- MȐN] +~3&dw KFR)ǦǴ(t|±a_6ユ0D3I0-6tOBP I$LWgML3dtf̼Tq/Օ!Yx) UM`z^adtߗ˨:"P4Nӊ%Nu??ʳpsmJ}O ^\YIyȜ]|ZW# |Rq*[ |7nT8?Jgsh'G5索N\)pih̻>b刺ŤI5R.a*2M:Fe;ݿjleN1kL-I qdTԀȅxOQrIirep.4Ld(|=uίQ0qAGNد;n$zmR#FHowVsݩ CTtH*|z6Ii.QtiY[m^wnV ~GjNp H󞩴:3p=1=b^XP&" umtMVH$%HwAw'md@p%IRlYZۻrڱb$bMm YM -*3?omL?@`mpLz卪s4Y5+gNkզfaVnSooԖ%_^|*-#%[IA$H"Cg#ZYQU& ̰&RSpv#Kb,mjXJdBO)EB.$RvktQSsrOR m̬$meҹu@\n!.¨xg? [iK-< qsiXq>EOd(A N/3JJy}9mfJ0+kEkW06Ĵ=<6iU1daXN4&lc-}L4MMh>г'Le˕mJY:oajBMM2\&(iOZ ?D'UH tJF~gbK3UAf kJf2]UABcm-m" !v2R)9nc E%\0,$o*ҮV1u k2ik{I-nt3Bb ERI\'{}ͭ0dѳ$~҉-'')YJrJpTm- Nj[H[ċܲv#H4~JsF|ayWFU$˙Nwd澪MZ:8F=0̍NGs܃4EZ=(o= %LgUE&LU.2 LCEy"t9y*p@-{ojO]Lb682Ʈ|/^EoY" >@O^0}uZ_.eߎ$Pl26لpmJUJRO4S>l̳/F4)0'-%T_Si8$,AJCϗ\$7Kj]N4~E&nR|Vu$:bߍD^Fxg a6bVMEVuNڝ+D2W_[PPfL!2WKE:@Gnb\PTթɫ!ɸֹԕy˂d(ˆK;5~ΑDsڽh%d7EWA*+٘RwteTW>VS?׊wqQ3 e(.wkh$4Tlď) g(> E1A뱖mENPocK7Ge ֊Vh/;}m'k=ë &īi J.*|#YfiQoϮD\&He%qt.0 &cdI۹!>8Y|A͞ߑ12DHA'<4_1;*JO+eT UpW0vL*fK4ѳD~gdM!ȱXITlj?Dkh+]QZ/jʹmjh&"XBOBS܂(O:cBdJW  I좥~ChV"B_w]NkHꭹ󋶒DKyN<QOl$P/3E}xSGE,Q^A+6?{ET@TqZCku3a)E󑱱!}m ]+w/^(MBEcd%Vidg@"ˠXtUJ(%G;T/.2XdB2ZJ7(\ Ɏ FlK˘41n^ e7U5yJvU./gg ;*`2 '4d -Y(ږ'V0U%^=g|AX҉s)[cjME]ڋr ؃=IN1Eyz ]id C᡽ntnI} *=[7|RCi&ֿ`=z^ŧK٬#*e7}Ou*J%b,2"nNxҏ-zq](uuM6A9*ЧS9iQDvRԜC~V q gM~.យrz)TUgAU=?-Id|Z-ک F1G n*"$ZPqR,I'_\S![-MGD |6xcL8~]'iɊT2 \Ւ[:&}r>oحD惺]]w՚wX*K#J@_nȹ5{F_ r}@3 b/U4' <6$:S!8*h㐬-@81qD leHro_> pʦ ʽ3XPq&ր3>bSQREFs\ zS|-̗V5_X!5):*FCΊ-Z#h$^oGFIЈI:{F6d62\ a2\g%W ] bOs7UƬL[ق# YbO2 LL2g:hOs-鰭*6[~>:rqxM9eQ&\pqj-tͅE'ʲG5 d(Kd]GO -Ѱ'|hg_vT.[vjG0z:(zvqޒt_m97A!xe4 Ɉ^Vl=b7Z :>|u(zs2YiS{g *q 3)9VaŞyhp'EAH/X z rX}šZ|E4 FBNĎ^o}|kRB/$F([ZF3AI#UhQPC~fl;|Q@xWQB% BX$F֣`?!嘋9$؊xuND} )0%HR1p&f̐ PEGDhͽ4˕boYX 6"c@|vrEDuB4ZŢ-taLu*fjzզ1زmNNK1O|9*K(ԓgaAsҪ7.( L[/DCaiB}^tY5dG\ij(1 ~(U &C76DZX.Ik9fm p ǘA0ഒ=qPoS b6!)o]0a(DIF.PKf𶄋2)2=wz'vPlBpQNcw+_$ V]pE}sP& D@{Ȭ\QFqaC=z L~-UZRDM&| YX{H0M]EG +:)uZb=ƀ-%uW1H' 2 sS7?p)VJm.*FZ(IhQGHvɩ6 5">N u ĢiFK&,u'}AZmL9!GpK) DPd^E-͗c 7TI\gF_mMl Z*7FE:}W؈f.!>̕T,?LEk-.vŽA0$8Gy7Ԅ\~@Y`x,9M>ſ'^M|37nud{Q9 }u:-v"ld@`bpK'~KF3: TVtҸ&D{1A=+[VI秗)dRe'x3ꈨN HEVoexZ0ݝ>_W}$!;B5\s3씝e>&-֪Z{;/6D""l%xe3Fς!u'.Pik2SBU6<hk]' 뜆A[x$pL m t6-Tn( 6,,ak| J94Eyx?)/~ L\)N;H1ɩ/ 0jh%DO"t0!x@],%_&̶p60%Lp%(qU %TR\qdYИ8%l+Uj"/S ,~2#'#iWVRzd1I\v2svq&aq2c%CMٮ:vk\Zhwf6B{{ƅ/Ed0q @iƊ{E8x 3H:UBW/ D;#'Tb `Mn.BaD^aS^W=il~EubTl0M+0B-JZ}ޭ^*M`%}ɅĆK&5/3]4N1 ঈ+ [sOy`_ (@k~TEA҅\_C6ze3bUFIq!"(J9Dǹ`Qd=UQV2Hf,~ 4]Jy,1# RQڟtY:j'w;Rf@c#DFY><ne$-݈Ԡ62ven$c@-x%sTm(c"> QL odNRQHFu,$eSE]-Q S8iHjKe6^ ;6fbH Lk}/;  g׋iHeP9j(<B*8?YI85¤j(^Z78:p\͕AR2@ڻݎA70M+mPEq5WNgc4:t]|hV$A6_3^u_nҊDq/w+e|;Tot{/9cUm3݆~!OstE#1hV^FS&uQWvGF)';{6EٯuhͶɯQNG;7vcϦ+8uDEj |:̍2M)͢dkΘh%١fT ?_vg vk&Pv}bIgq[:v`+D&ާ{D4ZƢޅNqq>T`+ij\f>;"ڇE l\K83S# ;(h) cqK(g5K<[b_7ڕ܏zX4UpkKԦ-Du[Ӛ;ڭ[DUˢbf:`i(5XyЋLܒ at9D[~(1Y'P&b 9 %Z`+ 2 8@+Z/Ty.ńLDHO8;hUWgZM naK*Q@э0R*T2 ( ~!PZHQ+Q6,]& S0肒!1,Ad5hU*Ӑ>ZP 8.>&C4wˌ: ו.j~HM)V cUy1`JeuIu U"O'Bߒ+06}$= m c铉NWO(+.<_6Lxj2h{oHVy~tD"*DBzFNRȊP tײ*dtNU2XxCR;Yi R>a{+Y PI1pֹT/, PEWS*R_ޓsgXj$X31! z3wT =',i~ B4D;Z#@W}u-"]8$߆6:C7}{Z*<1Y4 K&4˔ry3 L9זT#%ba.5ލ4Naٷ?SqNQNX*yYWsqvBB}<t4z=Lt2`z%wDe>)BRLz-> :# M{ydI1 .K\#c(P.'eq1ZFȜ-+v4I$$A]W??{9DNl{1AէҊPPi{u*Z \tuDq*""/;R♑Δ>^{u5;h;%K[`6*VirQg-'= Ȃ&12PGCœJ 5J ؆6_|!P^jzR4].߶$D픜kDg ᛌɟTa:Dؔ;p[ɨ_PtD U5WKFThC#7u> 2#{c:„Jh$wma $iچSOqC&֒l9o)"i_n7xCT12L^@] -I!Ij> ҡMAgEu*kmQbU#5%''- !R }Cfߛw ̆܋'iqqb[?ێ ~oruUeNͦ[&\tcE kIb<>ą [Knwb ,͡Q WnfD*Qۜ(?Îq,՛㜬 L~I+ĦYҠ`M#>Ut I;0Enքm17  .IXG^MVa)ww91 F!j2\p[7%1|\'EO^\gV#ʂ]`sl`n$ݚAVyW皒E&Á$<ӜE_syy죘1J .PHhT/F߳01rV)n5 $nÌ(KyuL $ !]}A[b}^tLà D71!^M<5WOy2InO(0dUz1zz&p(!PM\ JECl**Ja Q$DUn P"I0],HۄEФn| [a1MQ: 8걇8M }nNWj1~=+\67T`%$hQэBx 0./8,r~16@^guRF (g[ .a]ˆRŽ.P!hg1"4{8'2fFPDӫINi}u~x+<)(뢣 cmc06O;yh[/FO(e}FԽII2蜜D~TNqNʼnIaT$]pDhU춰[/4 _5Rm`-9 3b+,8!XhJ^pھo@6I{^qCś0&J7,,Ja_2BJUlȷRl(p`iqJc KMOS.@$IS] )Qw(v,ʟA6KUK܊jm<85SM!JؕHA+-E>TVcUR.ⴜҢ% WN8I@9bp`HbTc D^)Nd Ȃ8X(a`j{yRH"T&VGHv7 8#G- Ÿ )JGJ@v84`{NO.ṯ6`u(R{k7$]\դ=pҼnL=!v +YC;kaW$Sw %?WSQ0B.iW+R_b[ɘ Rru<0("cYc|CI'K ,Za4 hɨP ,EuSH=a|E]S0x$qvPa!VB2 j+Ȓ7X@^ ša$8-BvWMT*|q$ (sGKJ\k1ARL<$y$dS9+[.D@8. uƒH'&$(4)]نyKZǵEۇ|(IIXʝ҄CDJЄb6J% Tܿ`]閷jkTtp d\NjYEsm׫lAMOԲYIǭ|s+> R9;qS^A%PLHo<{gR,k.M⪪W%Baz~)3ΡAw!(<@Z!Q0~78nA9j9TJ#0Lؠ*"EMd|i." R׆tN  +K ַ2$.qU՚B&B cą[/CݳZiY"˷pY7.mIS@[CP HcEz7,ueIQX CJ6&DjU˽$򑌢/ ew,W\ u9^BjUN" ԳP 4z͙PG>Hs̓Go% MVd 0ħlrb7;bѢֵ|5B GUh3"=AcO'G-4<[@N(XU +ÈYI,d~8 8 QQP^AEμeAdޖa؞(6Pm `(̓(?|c=~&_-\Y I4d(ΜjtmM2q˻3f3$т GjuXSdfJ<8AXɦQwQ+,7= ]%T1Mh TTJ!VB!"`P#%o) UhքAj#!!u[LH# mM@_^f#%8 )U 8z,JP R?QW{XF!/Oa㪸jBмPEf%nG`.#dU^Zͼ~{Qp1"Xrad0KZU rxRd)UѣA]yfx nȖhFh+ pMD֌]BQՠ1f KH[V.z)bQ;!3+ȖtXER iT X2@1$\IOâLBObL$ ӔL0d%Xi?~拒D'A IGHR&R9ymyqRAtBzy`xR%20ko{tgs7 5$А=0UnH,'2INxR)iЦE}$k]ܟ "Pӌ jM],C#DЪL]DWϟ#|vQ[Y#mM'5 Y#Ñ\JӐ^3 t|52o$OOxMZ^4^(`jXjSJxB,$ (ySDuQ]!p OdU7\ynq7L鶡]=ا;9)|'VWl;F(N9ӂB+|kuI_r J kJFe"i5&1/4#E0ZAb*IOޞ74%0BEZNS$^I m+4fPn>O2ꔔD!XvgR-]omĻFæ Y(>5 t֨ɣ+#,ޢQChE_׽\1/C?wT,2+rʬ,Ȓ=)rAcϒ"`|Vl9ZBn`*B2ܥLvW]_Ȋ^Z*Ԇˆo Kp3Tk(z}e') L!`Mo>VNFu4oNE*(S:Muqzֱi3(Ӛ׈vܑ0icK$ &H]#<ڰ^tdU^q6'/0G~Qkw/rМG02Kٳ6C--dsv#V{]E봗k"̩%]W}VY6h;[*ݜe81öu񯳟CMt^ Ya ]"݋ fhQh4ǑÓ9饟iJzҌV׾"!Ri2Н#jI{_^,aK#% ZAcK^ڋqQJز_Ң$ٌuR*}DaԠIKvJ@C ֦Y(rݜN Nz.iG$[ 4̤873e)I KC8C<[3jlV' WzРNc+px3\$ۉVzW*c1Lta] ^HSX$MgydXԊ8{HE/%BLn2c"%Df0ޓxbwk=L%Q%g^c:gՓ"I4R钗cʠg_]kq]#Y>[4 4eNӷ+ RO%cUlBu׉`|.JsݖG^iYz/ &ܪ/?XE<oBPN0Xc@(Qi}nؿS.E")#h_ΥoQuDOUy[/*0ӑ$VĔWZ^ebldYթnՒ+g2tDH6Z6IzAGUDHbP>YT,)PdrK" +Oi DUP}zɌq1[d_]Xќ“ Bѥ^c();owV5n4_V1FD1pEer&-&ꡥvFк܄{55YeJ&Ho׳& 5\@x0yǒ!RNMPcJ14OR ;1te2`p.ZBNȂ#QEN)s Or~ ࡮<锕G@& A cn#.ܺ /pH$T4$Ha= E/{ !6_!!]~%תI ޥ8}Lut#9.^N R岢jQpSIYD4 9`OpAd<#?y&`"葏Z8(D2hP>})"EBȬ#iv +iI:HGP} RHQ.q1Z/GYIr{y0Xl) ``^#ŰAX$`P, +xǐ R [)"RKJt$B =|&LFQqơt>Y.$ x \$%/+v) "yЖٳv!쑏uCQ e:%cN\WGqgTP$3P0hH8XCtvYsj q)f yG/Eb x8^/dUҏCN Ib?]rZNa:Ab )VFlc FVy ~>|ʛ ^tI4A]-%VﯛI5AeXI))v N0S|ExӦiST?D/㋫.ҷ eXemǙ.%9#N [mcP'Yr0&c&]C/SYY2xfI`J`Hf{wy/Ru+t&NIyV2(i\n@X5iFvUP,ljpwٲ%ZWHDxƣw掓>!;uU`d4~A/|"wf舠8hq[z&W^YH߄_-ͤvyK(!q2R~uo|1Ayx*Ҷh ؊>P֠{7/gS%rm%]ongh:bFugkQFh H+&K= x 2P"ȇkrT+iS+DS]$G[2#f|*[;%Z U >1!K:(НU4}}^⫐qQ >ە9c n%`d>V?Z@Ğ64K48hY~2pF?M$jD+^UD[Lb'Y,:|')EЕT1s}C2)צdT6c䨻dV KdJt@®Vpn%Td\AwCQFqVțY86~4inXr1A7T2pѤؓv/QbiD:%r3?nR˜_J5qlQvs_CBs[Ȋ/NiWvB%WBkE0HuFoUZVU%)dB P4!xЄa/ K`0 GA6ʝ~4fRGZ%%,n!O)m䄊Ȟ xB?)uю&g$Xt/ҙHt16 ,vXjU`5NQ詎ZD(ۊpxİ^IbR"KXpC2:O'p)b :`rO"K2D tH0wE U݄p6FC#o2%ktaHNu_r#f Fxx6Ytr/\.pb`RZ26)̲pN=dG@"4: ?#e*HP `RwX6P:B/VtudYQ(m"}f f{Ey;*+2%&ߚ1cgd3WE jInDiJ'$2$ X2kFT ,}-fXp~fV6j3SkF%:bC'x)&Ǻvݜ/L)TJ!lYX)hD5eLeUn8̖ZkpȒ hV4v3_\opind4Dʐ.S3$`=harJM K Zr2_T;#2IKeojwq;)o^2sA?fl$e%D+xL&y-fZ^qnL7nDõ Ɲ*[KݯD)R3H'5qLÆTcvDKQԹ |dtaXI ,2e'iPeQRFgh&8|KoE$cCrծw;˘|&`U!o benFQtKJ^&-76y0Ľ>ixUm\V2ysBT渫+O/X CE$mp_uTW9[t@e0\wJB։+'&|H\{YF(.(+{UP ^X52Py28cR"dV0fP$IUIM /t"i:FWSxFTj0 Rik[#/Bf֚fQ`Y6̠2D8Q -аK6"'hpYi @=6ΫӖI>#eA C8A2$E&NeE"Ja(hSt,X{*Th7E<(% Vm-E.cӃ 㜁2, ÄbᧅХK;<84`,hi.W>B~yI-t'$PД1 OX⽊ѽcHlwv^Џ?PCӿBP<(U  bR<qzڤ$ e`G Umx%Sf9vGGTfN֯躘e Af)e-A/55zKv&46F3"BъP! DM yq6"lvi LLا4.aT{5vêu"m*Sx*څ)VͫB *#'A+q4כ&"B$an6,cd-YR;Y+%"aTLFT,"d4 +%Af7;+(.LE lF)ٿv ETX֐VݷKe ~tIƴ< г2\cf|>*Xetjw‚Q$k0H%qA5V5\PUa3cGrRQK$Lb-ɖ3Z>tֹG8F!nP M|)7>yOaP2(ݦ$iT1B1H옶DJC„c-f(ԏuu&{̍+,ɭfС? ꘞ^%FE*W/$]Ue_GBhaDed>1|eK?DrAzh*2vAHq"Lv[W5AsP(LOQlSL7_Pa6caHW 8Շ8@Myk44H\WT|p0Iٍw6ĦT,CjT4yZQ) Z_< &qWz QsN@!LuLrƨC-ל=Ikg㰫-'\tz&b|ҡ0j7a$AL?jAa(P zέaCzF?!NPX fu@m;rV\igY2vIA!m ^ՙſ))ëz 6XWTE0FݲkG5[5J4B.-XDO{ ]{.5D6 &&` /38 &Mypl2g/KJ5'%df1HE&yA|Xm ױ!^:~)$˴x*}Pzcqn-ĂvĆ8$~NGr0]`te*QG=!.KbBl}zZu< XIȊL3bVLA oB@W9uDT'ZK_IJeJk+ ;#s2e>,Jԝ;ӉQX PMCϔdqت{f e)XW'CM58 9 j&=3z}a$C=F0LJ=A C9W×`VqA3Z؍x(IF< @(Λ5DLa yp&3@c|A)a#ÎM PIfUnN5||`AHSH_G̅c0e1 jBS3YZ(xG|;vv c Sc*gmܸn#YC"vKQ٠bMBޞQ.9.\W^_ll*BdqnBI_&"% Q & A]<“wFVE/T 3Pk_Ŝ 8M-0p+Rmܱ[sj,aىth8%e'|٤r7 +/0k+y~HJ (^(^OkaN-ZkSCgA!~P38X L!:t< v42*kXI&{t؟xgN16l{L͗-GU( 4][CmՃiûenBZ9b"1z '`{; Cɞm1m@|`ǭ -A9@NyO:U ^m !|jwg6' ̾,FwZ-X(A3(I Sϥg[ \_FRd߯pI7kyז(eSwjUOHťoit)AxPܹz OJ/A d&mN ČKtĔ%mUF*b. XL%.,STT4/ &{T -!Bԡ 0N:E3+b"vu]Mޯp8iHVh|q'̳dѲ/aAXYGj.DHrPqsB 257:VZGCܜv7BH=(5`\wqY*oMk?IfaL 9e5+m5Ǔ7$lG38x࢚L!4'#,rحkTPiϐ&*DZ =$80`f8 o@? iŜb ׉ZZR˶7?Ll6DT+7u4JS=\ZA[EV˹%]X n3b>jF2bM ٚů۽۾IF`\1' !10c < q!FCזF! I9(h/e`$Ç I"7z< Π䴩ëIE6Yc0V-rar:Rk.F+p\n- EoѺu.l}n6n$)R,j`aI1W1@=4^_Ѱ1dtbrFRN؈f10#_\iŦ̜hnMC<xNяVadIv͓9SQ;,}[}M5Ah+ ysoG 8k묚ft2aQL=Zvm KIJC @ B1ȡ*jN||&?$GJ&ngՁ8}[6qeGvbj:39ghcwm}3:i*ךbk(wϨ*Zˊ)~_1Oe^)DԙxiSà#y`D- qWYaxwm:B<+Q"H$|^ȑhP{il*ǃy{SȞow/N8 ܟm&3P?[f%kaعke2m]͚*q U%}ar@{6Xt5JY }W(8fV銗mEĦRI$ Ni:/G2n3ɞT ds@zJ6  UF +`U^zūB.uSm4:(] ;PZNV!!V*[ f:29tjSVI$qYU;!/ly5DţeAڃ֖!や*E},=0|V;0GG,`E#HLȱ@U̺^L6EF$AijY^iqWQO'$4pm\UtIgX{xUz< aq!S'H ,*.gFW"\ߛ"@@?sSL!C^.T$)+%ƹI>)% K]8sd,wf 1f%t8ox(b6Mo$U PRfA *;YI+`l"%1[;֫nBEn=0HMM! BrJk:r3UK~ o"nJRJ01U۫PfX Z^muo y&PvP](I!7xdb,K~)'V#T|ƁzTrt5LTq-*`Y=+kϒ elSVx͂o_5($mzE7 yO2x󝓄ZȧiU0 KcwODnTGFg, {88yBB`>xكN#T] gX9]Y,VAj> P=}@V|w&n^^~$r@5g,\!)q'eo8X ~vmBP $41)bD^);KBn)+1aq'Ey~s ACؚQs'?- ԵMϱ a `u i֣sê~ƔZtwqH-I0Z22OG ڎҏr ;66:҂2U\H 0ApPD"1+N1(}U`){(!TKK6ކ{^7.MK(%F4x|\f%5FqS]_]5wVX[TfQ - !P"26:"HPTu`YAX$ t\t#cFl5:H%l;#kS8/[)\ d(,t^0-J?bL]{92پ[}'*%;E2i bIh.&6vjoWQ{0=L/EaoVbMmV u h6(q!C'H"l(c5mJ|"~J '-_>2j*ttx`;CaA<>hH7r1*w<a4S+[G GjMp$ P#0> Nb)==ohp6'# @%^IJsphP$.=SAS,]Z_X*BG [EmIaLh?)WTGgKUSTuOi|.h-/D`du59oⴑ* +XZ[3p@`"mێMX۵]97LD ȇ#a9 (ãdP9\%S9H*ާ@o>:@%t1{I<{07 bQ)%@t}at="gʌhX'UT}9geYribA=,kXxy:$rYfIU?/XxYX,|iI²Q qj1!j) ڔxoB垮aakK(i{yn՛?$rCd`$'t@11Moh|00vjkK$̢"RIŴ!_zCDQ/a^#(IOYbAfWd ˃4F!4D5_=ͥ*-*=c VfwXm\Ŋ?6\_JTOqB/  ̓lgfdŗt|dUf%i<fA4 6AjdLѓ Dz#IQ$XCY, je#+. {5-%arC>D'u}+tɔKiLA҄!*KaVRůG)η@Ev U=^# ֕HxkhyY:r\5bn1t|x"tE{q$&1t 9mWg 3ڳtD,yp,Dk)DQACœuK*+"Aȋ <@]-cZm9d)tzzE నS8V9+H^HT M׉$GEr%i)Un2Sql͑ $` /+hXe%i$b%/P5A R3PHg)4O_"-;j̬+˺&WGd`(@ZX6n(\G tZANT&V%E4apOv!.>%zfclO~{CDzf!(K>d󍭚tCVJ;<_[ލ:/R_6 IC?Q^(XZf4& 'RDŖ#S"yZ{ɢ!g̋<TVaT*"ӊ ũK'g`E "0] [.K l1zwqLz!`DhL#0; (1׃ʚɂ>{B"5@v +VE⋙U$'])Ջ 2U EEqH.Jɥaj j'EKgquroL_2+Zc8d]l 33Jtm  (+; 9(zD@g H0VO'`,Fjr6X]jEo%~$M 1 N鱄[ y=#,CIUu@vK@'TC wWhM0*[*ʈ։ R+^,O܊HފAFT樑.I,6]C29r@ǖtP F(~fd#XA?2Gbɇxd!>!f#ׄ E{L ⅠtQrŢF0A=x*I]v +D՗![RGU\)n0 AF 2~\1XET"aWDNHI'ѫ҉pKm;ZTC(Q[%aF=ՄXCaYQc ɍY %*hQRKI4 ^-!|8>zq^ U2Uʏ O2x&'?&,ځ֦ˀdMC1"m0#4d]Aib[F/Ѳ^.8DƷ[t,&"&> JI|(2$꘵X X%;.pȓc &8%:k 뛪(Uwif CBnmҲv(FZs4*4&4c"ɥe!5MGf4R 2bq pۦx$$Py Ӊ>ёN$FrtCuΑj.4}WAB$4沷]6k.ܼ8f6(&_"a̹2Ԭ+uC7(B9^a\_M[\3U9yyP.F3RܰKێN\pXJO@2b5\ӳp xg.Se=o[`ː Qy,[TvfeaG %r?t17FٽdDzZv40!xF 1|l83ixeo\/b&p)x/e0Ef-IkH EvJ]i`k'g;%C29t\1DaID/^\qbM~LlJaa{ v}R+MP(|kZHt^d*L86A7ghZpt8Qk&#CoVv"9Kkh-?OҼ)C]eT tҔ֬e'q@x=}@O:Dl5S!eX}B"eS )$bz! P]AxrTTzhjb]e".2HkHJ"@\ULHYZd;`-gSw aQbIHlƄRG G ?@wu҅"QB6Zȝ#"!J etxMٙ},_RZ7RS^˭<8sDB#4G$TU-7PSs0.K"yTI2Q!0QϩxT$kdb)<m$N#sDH,S'<ޯdw Vѩ_ʎ3bT&u-$HY%Fs-m=ZūJc,t*ʤ!Kv3Ŧ!Y;],Z4m ḑGp_,9J^jisICBl.&ӷޘ#t㳦v{2I6HĊ aJrȫlc6 ѳiH`l*;IMTM̊`(*@V"а%}|UB%g./>rf$Gf$fb^gr!H2GG0wN @~Q]݌wzLp/]¹epa..Gݞ{zrOA:9C&iך/ IkLUA|m&2J(qb +۟斥E+,ZW*֦5VH&hCZ$JwsYZd\1^[ 9}ORHք D3ʙW97EשnD&=nY4ykq7dVҙqݡ4OpfYO- &>G /%hYv `qZ2 allե4`tDrQr"DA|.1ԇ(r&쬉1]Wغf2zHbA+e7@o-"zNmߴi&SfFh"ʩ=jQm.RMI4@s:dySɏm/ gLB5B2v- &`xv:&Atl猲hLE "%Y ! z["pP&iI ŘMlszBGJ}` #_P~U1Hlj˕%nޡ&S5iaukҪ!ঃ,MN#0/tLN ؈XlŲ.%$e1a1Ѓ| /@M":o7H5x`2#Mt*PBBy'Y\i 4u&Icdq(,@pDL,t*-)M\"$ 7BJLʒN,,Q1Ёm4S{WZ> D:f0ȇC<݄ײF5Li%dv<բa:anLwzҦQ!A\ȬKE @Po˭ٲN,fwÃi6w> {=tCt;W<|}h 9*" #U #73k4|d]*Kmt ŝ7$4r$o"ڜ ѩ6 >U>Ҥӂ+R{h\c횂e/[. ]* L*[a). ejh*QM2L &ҧ2Kp"]ƅ]3tO7ᓒѠ.y P"8M#Gi@6 u ThoN6PY{55_PWD* dM ^.L/T$آ2o̧C7,JjsM:\6Ro:  @V%<32i4L*x1t4mBϚ'*i!EW]M҃^g šAu  /BC$3EAm&KXKm9NSv.JZpjġۮPY6K,:e;oz\Rq!-A;|g˘re7"g4i~ʻ?ohIƃ$%hwnY 2C<ۥT2d0L/5 j L$¤D5U)Io]6耆+dD W\(*.'u{J>sa2pNXQDMCdmMzAA0]Mtكn@x} bd+o|z4OEzP˘RGc% Qi諈 C$n#{'SQEA}`κZ780Ƞi0|q2q%KW߇j4;'!C"ҮL.[3,ɨcH]E[EE҂E-5 9I @Es\9^D{m_$$J ) =n65cd#`Ցzh!U:!d%JZ;ԋ޴v m+D(وqEkO $Д2K?%\VKY¥U>yGb,Xl]j&C_et@iG+aHr&#&ԕy 2P]D#W!EoM[#V;Qխ1BP"i;!sEJuC%r3+Hr$.+n8~⳶[uNo69fqBi&і0lxUUk ɖn"@/ 14J1q (oI,BE2xDD6a*E64pr/ 4Cxr,P.j ʴA.eGniȩF$hfOlYmd^Z X3eI6hHI} R$˛V6Q5lKm]0ԯ8L eERnl6jSQR"$A˽6 ~8ePH7%Qz$&Jnow+G͍ʒ2!D-(uDqo- 'q@DYI> /%E,f=PK;hei$o+>!O*$q'k)&`[Aבp&gpB'ͩ.P]mRV-ktaY.MnNcI@^%\sfS萉w&B_ԑ=*BR!݋"AwE+'>Rч )eN?W3XŎ{Iί#``)^^VFN>hKh&$E 8257qC<[L,M1pQ ([xXE4&5)B%b& ѧrIqo'l==GQ9>s(2|%Y*qDl#i%2!yE hG#NRD"gWJY˱ Nq*3Ũb r/g7T ;,˳ b%U>BXɚ]ӢN gT޵a<$ȲXG\F˦^0GÑX&;!L܃b J185Xbf 5x(E0{(z*==EBSEv^%* Zn~ b9t` rlcat(E sA IH^m|S }tU1O(e|qHzc.j҈< 6TvRvVfcQQ8ha Ofu0_T[^NS[3Zb/~G^^e W#D ?=Ifm5`mRvK!b-ġ8;L:Uc9LoRc][0DaO7N%R:eTOl4KBu̯ (0TE&sՃHi`ea-Q;ZbA+Xܻ8rcv''Rr2esj`h+ Ȝǟ֌W\&a?59 W$z@vzJ΃DlYi6i;6R2Dm(^(xs ]pNA0J;z{yߺ!pJQWtL뇁 y}*wKkfFZRL13DЍS!q>];ώש7zL B&b2%lm 2I P$Q`2ENȳ6vIrȨ']ctrfFUNѷ+ Hō}TDڻfuoѣUG\޿͸,0p&4ߛvt[2'"frL;FF' xwfՁh16s2Y*.Gi/ 0.8Ix3G\%!u5S1KG7g M*ܟWŔ,˅e0tDxBa'b L/@ ACԥ[g bTA9BK$-5L-(x74'Vߤ}(iKuY=Hj4 ƛʈ֨7KѤ=2qvjbB-PJɐ2$cnI#zܯ0x`jf>Zw *2Vk. (XaB nYbj~m:2k[#rqzQgXҕHth +/rպΔC1zD-FQPѸ5{W2ϣ84e9sm5QbZZsiֻ*&Ia-};hdA|KZDQVTjüH_}2C%C}K6^CfiRA1n(DG+y֛N:fK E7QnG$UOThٓjufDB& Y!TKЫ`f.6]cYabnNa&RFxFPS }$Ic߇5ѸS{od*7wX2+gTxf P߅I|`h.y.Г\2_lit!y n.X!cD LdOu $DC[}QXқ X.EBac)cW5Ƕ2xS+ʇ'!)0(4ƨJgCT-㜉BMy&Rp+3ߌRP} HH|t:wqeO5\k_VhyU ſ!D7adALl]m>Ye1UO>xխ_T_W3dW\Dvs\Q>)L$]訠i am7"I*@ؕkyTflB@3EP ǡY R=yО^dp>fRHVn(d 4@ӟ* FT2gh{U:&MH;*MCSlaќ)IZ#mz+S\2gTH*t.%qBVFᬓc~&uMa7鴈Xꧩ!$Ek={IdhD ̏#DddLSYZ$,6X}DCfigBGNوTLxx&qFJo&CNHĢ5n¼{Hp.R\9+}07"6r9w;6y z];شcKF1|yB:;5|:'ex' ^c詝Zx3$8w޸ë$%ėɕY+T7EVh4k#x7ش?GNlMWD 1tYQ^D8;O'Ш,nUk>Yۑ{ 6.KcDxd(RE)=BRCnbda2މ 1PV%':0WM LUb[*MD:m/ $a_谝NלgaʺUrOKo}n%DUTbx7=L*BGPkN+mWC'l6Ҫ7== (ƇT[B茚s!3lzƈ+pDVv0.d,JJx&Eq$=HK:ʌ,BNm)! ]Q9P" TȌ-HQ*`:M ۝R,^iV'JMdۏ]+KΨىej:e7:|"-G#d=V ]c|)K(x%aT"(TA&i`kRŎɨdB$*$?)cM 0%Q J?Y<:2biԟ(”Oc8IGI,Y1)b9,"#ygXYGFr?n ?`X1 V /R /a0b3Be#L up"kH!LH._lIX'<Duo9Ki'ަ_a-ە?,3tBQ :8*yC o|]lPUXi2MQqT(`Bbr*~_8zoV$ LIfUP|TiY3L׼yR_H"lS3]:Ւ%:I~Qo4vbv;/}C[FO.fWWsn5=)MS=H7wT'#IUөr`-cJeN"bzv?x.ʗw? OɌ**&Rve+Fk-uvh$wҽC>Az9 RR2=26(Y0ΞwhE^*kLM~Lpj>oM+Z *f#C`úYC I $&tAT?Lt|,%@] ҳa2Aǭh6e/IQpť`RJ=ITS`%\JhW_δ{ԁt3$'TfJ eRQ{+q1-V{焎}WEE8?)h-F&;t/?ѡIh@O|1!TFhߏ(vBpu&XZB0H i93|4+< 4Qqp  ,)" Mn $?,jEo;Nlrf N*gR,y{lddAٍHUC:@ bGgR5ržtXith?$6ljIpkL˵p0 JAaȅHF%0 ,)c7 d dV'Y|O6$yOKMRboxv7(s}aqiM+I9/0JFZ&1m튽qf\a8mhS] -T ǂha4L | 5I䟈ݛaqWv2'Qh fbl]az eDal$H=l΅[C~QsiT)HBULĕv1gټZ7Y`X{4MMŲV״O!VVjBVw9Y",A Lw$[9qx(CGBTCNr$4"l)91QKr LXr`lz\U|0|hj(ɣ*e  )@Mpy`TDDSJ|ڊ24'2c=R6un5>ty32Ju"L`J5d CM"MG;2ArI-#n0YRx iؒsj% ?E_>OoIr}jw-P'Ƙ9 QhRF4j1HYBI`BFrV|\qH%d.>YB"Mύ堕ͦ&<D ?*,:pW(3EB"੾4@MҎZ*gmFꭓDI#%xmj6=D_%3^RYyLD1)q!tah`J֡wymgE< Ѕ X)# g1-AlQaPf&K]^XW^Pm{ iIG(Kp1R^|MBxDi `w΃aoZ:C(MQm3eTZ!\kJ`bf=ɩQr,4uRz^kөYGB 'jO9b)>.+|B'xJ1:){7:Gr+! Ie=ThM1*(!\.R>(R׌R@#r"ؗhYCsrm[-!?K0dQIRbiTS,!GFo[PZi HD`񐮊a7㊛f ˴Nl|q/v.wsb{F;HiDR@r1/mY&ʽM{ϗ&KNHAa7M.ji~~P)Z:5ZLDܙ"W3W0&-)#U%SE=XG+ÚExFsY41"sYǞ)Kd<;jTeS\)59 LR^[_PmZ[?ACRT<.ꃬ%gksF͵ujʚq KP'v1QLeR&kNLh_<XDk$ Z) qB".pIU Bgd!9B6#&BDFW9Lp6jea+=l`*%2  L&B6,X\Ffw](aDž,,D WoڔZg)}~hvA5֥%zm9t.^ֺ #iikbmg76^H9JN(J#0A=k_<5v ֒i..}Cc50-as^rEQ@Ԅќ̍Q6ixe L[=dYn L`: mepyDԹΆR=.R"N`Dt`$0fXv+;Bt 0cq",E?M܋'⼐t1՞SamG."LN*\LLlKAI4$E`Alplt&Ü$eOr#6n u"-D1eSA8fp "$}Y4Fj,NИu) ZTdw7F\0NO,3`p*ߎD Al49ˮXg'28F`Pl텬6ؑ(QUjŁ@ĴnO յÍN, 0 X2iH%m'4h7u<T PC=(g&`TN$srpLE4:}&!@4Z&v,3{Bۭ +KKI4}v{D2]' 7^Gr*'-a2A^-A\>@ם k1 ?ҩ<4 xHk ">o|!s`Ⱦɰpt#x&K1,ټW.7fW U25أ4R&BF16Pr0 K\T'+Z5T#[w(.fex2"2̫¨Hd\|Dg*V#ͷw8kumhs\,AR%;6aT{mјE~ ]6= \)>CE6Vy@V],Z#,\w(&XqHY8Znof0],['9h^m.WudgckHT! e =3$+le&@$r k(4ЀCMY!%۾}0sY]R.]E|(`#l[([-lP*х&WQY)(mn-v dR7.SiU1ܹ$~~ÑyF"id'<.$G"尛%mDg5K2'7y.$Y g $l,YU~v ʺV&Тہ !. )[*BYI1(S0Y Q5g!b8{-ͧ_WVn)nٔQ?$ЍZq=4ōu QLi^A&qTd$&]֤lHOH\pcVRܽTQ[iڐ3.@Wх~D}.W9DIU`G%gŝ~<#Ɲ#RԽSih1rTcW*O[{Hk3EŠΉ{{&zI9'XK䞉"5 mE*EttW/@1ZYN )$\8ҌOՠ)Lxm"Kۓ"[Dd, E8|A %r(@]Mf?_7#39 cɨeD+P>08M&O_TuȵS"!x2R$_ ^'[R\"cB_H~gUZ͙SzW6h]Mdq.֣Q?wMPU"y-Fކ^%"ߗZT.eZKޥKi"Xwr*kpq*w*(b ӕ;MPWL4O' y/# ȧPiURAl JHRH>X4 %=R7Z6z-/"K +PWlIzhJfق}OioMǻҺ<`דО0^ZYr Ty>ba"S*Q2HV_7\ β|B1p.EE!v$*=Z<2Bq͐ 4 .Q䭁CCF8M.*_LyuЂˠuvIt tFQxT!>D$f:2 E$^:H" lڡGY9)xlrH x]QĠI3ne8.wO7XSK\mD+ U Sϛ9ۿQvmo%<%B.o+V& Jw 噒̟T(s6IL衽{ ]ڔI &n`_vuqB}CA.+  ,X0ϒ4 V eJ"T?2ʉ#LGw̔v_lCԄkB 3hhzpDH$Kzb!}["h2_MaLQ|a;O ʩ2z 7HbZp^bZDŌ6ەyGl9sE&YRtZfTBBlLW ,!;t?śVR]w& ,^BlH4iXؠ@M/")AJ WY{E6Mm5"UuFwOTf:YowxFe%ĕHY=CE$dbw"%Q"sZw#7L= .I$+f1% F xQ~uA6styT߯҉2Qir/us ]-: &6Y]c at>Y9oT{Er(؏`U'O.HXn2rL2$>^I} 0&r%\S HL&W@hi>dCQveY1j͏JݧKeRYs"xS,\dMdEI:4]z@E=Tӥ-)RC D6Jl"e δ9 `G̑ HTT}(E FDa=~r닶.4tiEZCGLLL : lk0"a Twj$0FA^\ ĩq hVmt&[nS)PP9^m:.LYFTЎv&CX%c9I''1xD%aRڗ>D.O뮛GR$aD   rkTNjk0R0*JsNE(eזr_…C|S0z#$#SEF^qDlD`EE>(}b z/II0+/4|7ǩp*xhYMYWC8DKld$n@ ]#yJF^'%xrJDjS֪,/Bn.Jvփ(gRo/PEAf EA$H.B%wnXCv/+cUxͫKݪ%H_j*UPhX- 4S(ËY%HyA-% ɗ,%1rΛ&uăUX udX@Ε%SIc҂HKbN'gZ6%L,A{p[nbbP*oVRD]$^$Ztp&,10NEg\ڶj d0ד|Vܦ@Dgf7D*E}_gZTH2+FLCg.yVHdBHe:E^QKNY>BgxhLDb80U Z52 &PT_߷i8&qQ1,Z(bm?INOeLPP獏4='kn M\{AIF49$@|Ί%N-WJqR냶Z–7C"p $[n\ BtO[(!RU L"ƒRNzg%5A =⵼_;) Uw^}ڈ]epІE) /r:t+C H.)V>m 7T4y р@Z JQ|@F3Z67b wN0Ɓ#vzlc[DrTXKGeJj%`L::bҫ֍Td;bɱ!yd [S!JFpKyɿ_ õ3_܅)ϲpJHm!#UVL ďLI R$jTA .~fTl`Ua$S8q~TpVRW]/hHC 8cTJyhQ j 2AYO}HI&]P-AVȒ4ęȮd %d,O0nↄHuȽy(GX+YJxGa9%3x-sIU#**?y|6^kv=3(mI"HatEQ(*PQ"?TXK()%^wXq2Ѿ KeDK$ mڥ s| ya&TI4naJ!F`0t!C3kkHuM08Id`n5_v=wHX6D $s A{30V؄xUu U2K[6`=o10g(GBENWYm$=𩶜e rݔk?"g/=MGؔ茗x(-LmЀhHx9XpKgč-WRtATT0UФK.e(C4ыRɖc ޸" @)T%vjƂ\'fG0+9]Ah> }qi.I #EBz^_|Ib≪Z "U?l ȗFǺDP?I D!CiTe@XbMfW酙E&KqfR. gRѷȖyвj`+?wъ٦7«앟6J$>$>ºЊV[.Exk9>Px]4%$W/ r@( IKDQ$H42B T,h|xܾdEnՐ8طd`!}17ę`EMQL@Xrݙ.B t& UL+r -U"KDAv=F(lZU/41;q>ҘC:lp;ѨP㯭(Qu#fddnF]!A&LOw(쟅}u$2F&?F= ؤAh8ʬEE5Td7$falZGGL-28tH.HI)Ǡow!EMCl~`l+ΩaBA]rU[y#1?xhUgmP>TUK(tyFcxA]q8@@X<}y>eZ踕粑4>,I`R&5pjy$S9 1! zSJ!/G=L waHp7 M,٢\70 LXGWkH :\.NWӮQG>>LB a%FSאؑfF3 eM‡Te0HIw,QD ƝA{C%N ~Ar1x(o 2 ½b#|ͨY.a%;-Y ݆'c& 7Dt8qG1!/, )/L8ՂNDr@ĤKIf@$)ب2 -H PG4,  =^!íA^K`aQN{Xb;@jcb2tT"=%k_Zd6Nu,0&;F^KG BI/[ ;Q_6LJ{()d(lTlJDG=iVM͹k_ wQTJ76\~eTQsjh\*NEa1MT)=d" 2p(i6"#+v(;3VV;Ƒ(ӼukMiUNC:Cfn.(&IVkB6aB w}!JnI*(dL-J2DT3Sf Q!7\jK^#ㄶHQ<{-|[ek#$}1SD0øpDJ#Ndn:nFjH TPH+"%djޯl׺%/ 8a+Io1{;Ӛٕ5˚_+v MjJk$AcھY3,"$J!Jr//Վ:Y2Ev 'oF J^:gWA".r %IC07䠉PA,3 ?t 7`PW3kcGZ*qLcԒ}n%ed)o4\ߠ&D*hSpi{ԭϑ$qCq=r ʫ ET2ZOU,Qf;k5ފ}4ۣjCyf7{ΐ;`>X>=ZɧRAdJI+Tg P!8%S_ɖ #Vx/lK\ qG:Z?Y_=U’ka$뫮!x4 @mņkM[GCqJa )I7 ,)~Z|& !Ė1:]Y`9BMN50PxP fEЈ`&@l2Yl 0xJrB~׷`e5|=K/Q,kB#7׏%BA3$!͉Jop! "J׮^[B)|sX7BfIIE|;H6qhɨfV 4]y|qW* M`BHglhj L4s/fhw`!g*ZMUi -|u(G=>6&Ujuʎz7'rhц/`+=3 =9bLZ,Qq.wC2TE ΥEd4!3WPE3qG _mMv)eT.Bah|KhPIY\xDu` M,FyF2`e#P$BOM"4Bl^yPyaSXQuE B "tZ܊fpiF%Y4)>J+:1m+4 E3K}J/k# PZ뗾546$bB{ozOE t_ƆyVVv+LE{R%b8<+ gOn,KT IBO  LHb%cT2핂pѨ4׉MXTiַƟ۸sGze:v>BA8HMb/UĉZeGPv+g,۫%&H%C kVP" ,KrIUzӂz<1r !/1 e5f B: Ȕ0, x&̩j}mrZ2ej=$+7AB.\u˓\mU1ȎgժVPw%6ደ)b#0$c Z]; ˂BZ!7Qs!AxXrQ6t=B…2893M2! 8uUكgR#I_9ygwZx9ݒ-BZA<ʼnF*M@H'8  ȖX9*TB'f+C;(74%'<4@d7hEw7fJ&rFZNA#DjXnJj<$ '5.7"[ܟ0tS]{Ȋ E%/PVM^ t_&]JhV 1ZT]V ЗD{"87 o;,;jCpI@i`*)|xL (%ݕ)3u:twKU^ tQwYά#8=gnrͨfeDjyW5q2Oi(Or!,HTS_ԝ +C~g'&%%v؅ZN=$xe\i+wׄOڈ@U$ ⅸGwbo{qS#ZfZ8&2 7ȓ"drbGzN6'W!lIHt$W8^촄\]wk`t. g5EjyMt-_'mㆤg5yQJ셊ڨF2>nR¶WupMuڣ2 "HrCk a"T !p̩($5s uCTOHԜ}i(K _H+:@a'PiB1?RO2,]LHh%/0q ,mN"cm'ƐspаA8e|8Djc2؍t$hƍLAN!]|OiLPKvH< xadUw#Rj99q P;[զ(`f^` \4vӏNNj%ڱ,+ ܨ& !!iݣs9']GC?#0ƭICeeG~f-YuU$!E[&:w1l%^c䲨Z[I2noaP /rcQ)T LsL* Xʆ*)J@%n=W($2Zn/zuJbV0:Ҋ{łyoFuB,H-kkܵc ][ҕHH(O]V1"k|o fAkXF_TEp'0h ʵ=1 AA,i<{yMg$zb8K!-XT @U& 6X:x`5 3:xw`#1 Yx$5HlK5fǕ?R|D`:>&R<kDBMuQh x3d`W%aWVXRJLI\T!%=}iAP( =`sDhרCѢYs*,KP`=ύWFU@DLCQH!ۭ"$B%Q՛)TDU/5htDP-j뉱UABRiKO[&=LAZQէ_\*C*.?Pؑ+h #)}|ַ=&wfN`X%AU8Uego6$~ hh$#H ,Pz! 7ȏ`ʓ 1V /1|~ec֜/\2 m%*Y.i9u#G^/ 'H BN>t%&QpD8OXX:bm葝oѭ@E"Y^쪣l^ Cn $JaU6v R&7|plLa k*Ή 3#U6XNCۋ{*-v/'(^Cፈr4o`MU.4JS#AXލ5pFXX00P_<quI QZK?@" #7!" Շ2LLe _ Dz Agj4.j(ʰ'K)Mx{g /eBGղUXVnM褁/!z3 fg"]5$#9F&Ft`+,\\(^@KAAPo)?@ YDBAEr)6]t ^rMw'Hp*:#)`]1ReHTe_ RO+L"GU',*^&GKͤ1O!mM/˵7]hx_z72FХ%pl#%\{PɷMu胒=J#esV:Bm=5 juʇaZ,bfV!蠁 HѡĐCy!gQœB1CA 4Q_C'" j|$tS*3nk%ʥ4 nkuqqpD)b4 I*&{a屢]tu& 0|RV2K(#EOpV<+6-|IfU̎C0._p2"(3͂#H'QtWǰNb휯S,@?#.奒rXUbbDk5_2 dqCGV#5n$v&u=s,p|U%s"IC_7Z1ۘ4qX/@}E "`eVHTY"Ґ~dԅ?k(1d6䠁SDK}.ixG(=Out=]!D$8$'P2\4%@W3Iڝwn+Ԯ,(BKbUPE~HOeQBMXMklrwV˻d艎'&xl$w¤&yUplAoN[,: D&]е TSЁԭuuA}#'3 qZul5U]./C]eb4k %I=m;R`PL.1P7pݜ+fYR'm,P@+55V*(ueD-0 C5$|i{Ēn̘Iyspɔ\4$#ҮZq5)P& Amz)vIOQ ѯd,\Yp'h2Y $fG΍eE%$="HApѡQ0HAj&,pAO,V2I1 T>x5tF3{!5Eg|s;5i6ٔ: huFJ ,JJ|d]{/ac3Կ`/j<ʤaEF0 Z!L_ʼ:Ri]Q{E%Ahjs_;j84H!R"%>҉y*{Ufj,^&fKw8ofU`W}H^2-|ptٳUFHԏ߲nhˉ^ȞbIo!m d}6)2j ZM죚 # 8Â:wVU׽w6xہ\0'ׅ$ߒ&UHӥ|"ؖ ,w2 i$5!#7Q{_p 71_hY9z6Kdi-/$S+p#XMTRx Fuw”,Rt¹ tԭ~tR)}cNtGVGiBjs}н8'ٴJ&׈K=g7p\6 !J`3'H0g׉)I]Eo'` /Dh;T6 UeӪD(Jdh0tJ|HEHU*]l^vCS * nlDLOP"4J] xīTg}) LfLvUbLV(v+)}ݻN˕vIǽЋEbx+S?'vȂmͼcs[-+ܣ2lvC%G6eTF 5Jq&U(e<x@>T-N%P"_ ARM\)PFʥ8Y8w.BoF a >ցn39jU ٩LdhopbPHk&QX~*A0T{ #4}ꪍ`]}]D݈#V҄ ҫ ](IZ$AE 4JH",B{eR`ҶML$US 6\zAN s]ɨgHb g Vp^,\RrbC}n!h[|L"2Xnj*&\ rS#@xW4YDO;yKm]D+{^+ƒMD35kVrg E>b?Ԋ6涌44p@;e[:BCG ($]'.P Q]*lf.gQ5[|&)kY x:E}}abi/"Uƨ{A:&hP2ӎD);+HLY:j|Do -Wg Њ{$t_St\+YOP}:l<%h<7]ppWdh"ڰ <0* 'ï(@$AR"X$%x,[C諅^I2{t6e(,($y@\گdN%]1|dRhbHUIoepW~iLa"_^"oG$Nyx8^3hrĜ) .w4 vȍ3x`/xE.%l _0OQN- '4@p<)3(%Iff6ZӔ-(Y$@lƋj57|HMq"ih|YKQwyVLbp@uOjppq ]󸁽+'WNʂ7m*Unh:€CRo#3BәBKh 6؉Gye3%Hi! +SAyJr9$Q+|7up*U6l$Pmeh 1'z6sX!=^'ѦxlrOXbN($qtrB-}Jr W CLޭhWP &]D@Ka.lXÞ %kݦ$)ؑ9_aReVxNSͣ)ıUS\:tcp\v7M+\OCJBͭ8FB}w1" ƍ#"J [A!϶iL{&%9e6?Č>FT'\z뛕$h`Gg܊E c.[9qA.hɸ؄ J;Z #J!d&JmKs7JD ul ƌ"hb.oES*C{{b ӍOkrSY4VY]4&j#Y( "Ȱϐ+EowrhHMB4'9ɹJ]M(:X4hz>='. T 3݈$6(a႘қ{9m$IdKmi.7#U5} >L! c8aBΒMv8-ET ThJD)|%IڶkS!*b˙syj6mc*E(YC `w<ƚ%'1N" s8=; dE%#uJV[.ھl}@sz0ˏ _a',+Mthv.iPzD xZ2ְֆDy\pJWBdsXRLAye*%+ B7лotSJJ(toϦݡBvJQS($2%k1&vG+#ԙgQ$Z$bzCw%Q&3]ڦ䴎0 *l\y53tU4aru!C%)ehFNj0AIxH vưQuL64*ْ+v6mRU-JEE#eVۙɩ<50IZ -K>?kLM/QS.L{Gl:@OJӋތYawF;谉O)!52(r_#on,j.S2a2Jlsa*1,䇴MBfRNj%ruf?&m!«E^^jk"_3" LQdf]e3LzTGRKԶ84D=_c(ƟRo#{#׏eu~*'պ{zQfx׆>3hJ4:c+lsM2J7Ż?߻ ?t=)ЗS "JBYK%YR:xs.a'SAj(|QS4IkSQ&+*[wT_-v- TAKK^I)AmIh,0F_+ژtAasܜ%z_8{4L#z R]mi|9;B &DյT|'|kk$D'ҧ /IRNmd٫{\{D\2jD7QH=#%\3b׫hjrܳGarCjc&C2E1}E>I48Uo0x.b@A$42 GĄ"jb+״3V%\Q6JyGR)&Z)?\hC'6Kg+trYe*KtaTbl֝,uƼ"K ,9U041JGK3(; )LQ@F~^J,LqTT&EpR~I5o66&)`I$<惩@(K !K4} \[̣5uWjG,si5ᱶfiy5xVD~[ȅa%Ր*Z \;$mL#TŠ;|V74NS{[X>_:9GGk9Ia;Eme"^1bzr/n1U"4[P`1˦q)ыם8:a=hc|F3&-jF}oSYZXw1, u]6ZFL!9d)É@U9Z" eci 2%tĻ=TN+%D }Byܴ/ A`s2?B>(3mcMp)"e锥y5tpX?ʄ4ea_Jhy4ڰ֢i&h54I$/פ- EZ4UaS;RerK"vO_4#ě{|/uc0ڂ%!y1Б=<&(Tqo7kj *R0KM樳j"vbZW=x׆SfÉmJBR2V #YԾM КCKczhNX`t -@DW+PyQGi*L^Xtu_6JSn :AJRmA/"\WrAEWKH")~,mF2&DإmhW`[)q1 @'.{"Ud)`Ŷۉ~ˈG>M_b:7otݸM}ǚY?~0( ]x9mfb $30vbv:;CQ6g`1;"rkr~DTr[J iab-;;rkb?b4 "h=S;䬁䦩IH7(W\9RnK{" ~,b2%ʊk-F SˏrUPP"VgJQN^[}k9TJ&IsXɥ. 蘲ɨhDq<6S~Z/*i tq4V_d(8}=A<|NOg6܌R $E+eD 4H4Cdg0z/hU-T`xcow.uYe?#s I#ٙ3.]ULAoPsJ~c:Թ)f5NY䖴)e+b[立9;Qhqtm5SM{֟SII eR3){HOn )b!5ַrQ?/;QUSw5,+ٞCewetyfD"zތ/e f)\ܕe]5!#JvU!&,Mr*MUK0޵t;Rh˭ :{Z,[ʌ)Q IG6ѥ7Qf)oйMm1ۜܨً6_\H?zʾ+xVtM,Q~dʕS#jN*%c~)AZ qݤB'NLBL! e%$QC-J2Hn1&~QƐ"a#ISm 0t5`COX(QNsҞ7dB)>w5ID8TRqb͘:cRxɕ %mLFl0Q-Jj cj2ϊф$Vԭ|v _5K_*[^5AaI 'a \`j'V(#RUt(jJ'R@j+=wobWǞ8X410G,l1$$Q@w{EdGN KzBoE )HF5j?y D0Ns~,B -==W|) p g5-Ce6ģ*2V1I Sc:Ȩ J>,@u_L(⽸[1xՐ%()e1;M =7B])9kʠ.,L7 8,A1e6ДvR7ْ/2 .a Q)&1Er#phbac A?m(*]av aD}1PI#Haw-"oE<f9ӥ/2VI`_JM z̭T< R "%D/"!4QU[0O7lE^.!"rQWE/iyAFcV-%njLZN# YH,B s`0H%KbL> c2R{Ep8N]cq```Y:zy4vE%`!J)RxD4IaEoq*!K>w!-B\ޡSmHA>X[ X8 0BԒa-͚ 9#kS؈ ) HBhXxIjUTx!WjQXQ[0SȮ($DaGI4 0?βuh# I<%ONrYYU<ǒ^QMO'*4cjI BX$iD 2_d=p’H}Ƶ\.aIj-v.s1dLVˏLk1 m9;ᆋrH5f:Xl ? mBF4g$A8[D't< BYg/l\Ik,WglnwcbZJM95]FHRwG/[y;)~1ڔa*}ErHFT|{1mXuԶĹ39RJz<!jC 4>]f z+Ǟ!nE3U4RlKiT$Xq H[kzRi*s v4&T1Ӯ:, Qi"'S*F,)BO<-\V\!BE(A3d'dbz%t]X?:#4r]?8x7n!I&7Q,՞p"MS3uI7OM5%Ցg_*s-457{au3LA#Nc6]oWLr^ +PUyKs'-j ry =I[K5jȵIq#(xԘKSO;uN_q)i7K BR lB 1-M$T-u݌ʩ *]DDfӳL9z3-:m5AJX\}};ʡ>"|35FRU m§۝ru}:\SN^_P?S+oFsBMjyev N/!3ݴrZ%_ey&x(좌:H,]KzxdI'" Q"{IL|r [Y—7I7%++IUoG Pnе7wcaHOni 2Yy*8wK;-t-Sǥ4eQ8se$X9Z;81r9=`tpam4 W&;/ =Cz/} T_[6FG]gY5BY4$q<Τ7m|4DQ[JS߅ɬMhtl Gyuhe4rXUN(8Km!iV5'nPݔDVrqtg/'O'YVm }2DV#kGҷqćMb&N/{-= feD{I+Fқ7|$ /cl?dے5z jУRDߖs4?Lj~o/WB"M1W=6fo(cgaK1]I(ƫ*a#mV7XicVl$I MMF^/5—0ܑZU{^TQ5Z 4@b-IS;*QC#5sԦ!)TyE0nAu0VnOp&EOh UJ_cfU.2ATtCK-vݭ3qY+mPn!B^-PBh$LEXDti)иt`|:~w"1"UϏ4qfZ&ؗ2\-|jk ?bV9O|±l ]r4W}e$=lj] GA5'QB[NExV6K#M-4--qY +av6ƨD麛rݟ/;J٬زuy7҄%)/F"Bz'+܂I.w܄њyƮ#{ƆapQBJK;]YUvwqjo+Q˩XpoxGg`3蕂iNhXC@3Ƿg)q"紣-hޒ17EJ]Y*mU)5 jʴQq;[_^/ B @IA'v>zViɛQ4B0|ɅIZvxVR/GJ҅Z`4K Vv֭2O)'009 %xЄKٶ}jQO1'I#GJ_l/Ÿ,ĴxQ(lg8bJ *XOuuIڥq4-מy՟+ ڮDO(b+{A)BV/| WJeb f{fu:*`6IT&@aİkԒ/l,_FbgT-Ei M3.s|OZ ( WLL_+В֖dRY4nJqJ&3m;YySeM5qSuu;i6=N&: _EɑL&SXqNѯ,+ǻ8ӷɄc5$w2ۓKxB"JayK+$VR%.|E(œqhƳZ8A8AȉAicֲZE)0JVI[7qDHMsm]'>]-PB Qu1sk6ag!q䡤t1颫ن)Umk~)` $'\ &UoO#6XB#jykJUUb`!=~,]NWVg M0KwN*Aנ%%bEMLee+2Wm9x6o!]xzm-VsXlKx :Gm0$.0&( T;xAPof6"eWA beJ(%y'n6(a%ɨiL!.ϦOo& [ 9 d (|p8!TZ8)'LF$4ҊR3xc*Ϥ_VoJUn]&2icX*lb 9)u^ TBHB,YI\t-\8NJHU].Y"R%Œ .nu$=ɴjKZ1D>m-x^4 % ƅ'.OM*a٦Qi*9%%=LQw%1mh:ty_f{ivS*)VE3Kut;֐s $̊X~7L\IhcOSj7RW<:MİXyލZN}: !GM:i^Yca"rpE5N02¹$+lo.URM}cozTz/`,xa,"QVK%ĺ]M)EU]$2̓6]|BNr{JxB(a*_Oڊ֮W>HRc8AIdДjNu_YԢqK~mvPff*Nst,D[ HeJIi돊e3kV.fOY&" > ZG˕"(thR~i"L_)wcrVoS ڨZ,exI$VKXXr SYZf_FO(IO*ѼgVHV!?:tԫ 1-]ADQN~Z۝2\mK(f}6\30%&rDq(8ޞ" ʴ\Z̼#R1jek&&赨-fntyʵP\2R2Ƌ(j߫hNBa |wJLخq`JL!u}1ƪgLTan(aj[oj`E/QJ/&:3U\zEea8)uRʰ #jMfyCvҘɒB̾ b uKoM,ӺQhtiJVje"9 kˢV'TZhye䠭2-38vBEM1QyP5FW:>-KϴJUR˨)1zK2~YϜ滘䜵' Gڒf.673'2{117oWPoj*V4']׫[\JLk IVOBg?Z @/מQVUFU:^`lT+\OpJ"HoFrY",ܱeYè'E/OlzmMJ9B~-gz̥Vg&#ӎ5[?% ]~,Se$I$HE[g6kV7  %r+ULŭ Z.Ylٯ<K/ F25N+|, m+eHjF kl9(m$QpikD9sYAFS92MU׫rzq-&$vo魎)CG9)-9de5J(X}EEiXک?9z.$aĢQa2c9^qiUs-Պ)+Uբ{ Qq4>k9i_F"'Qdd0xi37כS^p e4,Ֆo F+ag$YL1=UQ;6F B Se(9JM !kW߉b$15߂XUY'i9hjlTʯH$#>$>Ee8Ljj ܊*6710K,\NR'IIxŵsE%XͲ&ޕBQD&1b'%״ijtXIՑqJo[&' :W4J9`*y[)dz)p{FAًJ0bq1M4%!vScǸq)X5I>V}bHB}ls S ]|M|L7J5/O؟mE2ǵBsA[Cl#a3'5!IqN)7DiI)ޤg ;q{dn5 [0VYI"RGF?೛iX1wd=yQY"\{ŹȷZus7j† ZhBf<\SEE${XIXPk~NQaiIYצW) ("3 d%l }C3[քA;`UTUϲQ1g+Yĉ2*Z !w꺤ZDenz_ֿSKgTfP¤:9|vIJLִ@BjoZ*}| ݶpu%7{:c ԷDNjڇƹiJzu[xZO5k/ "Gp)Fe`p,FD .N4Bmof.T琽eCsDTHB7kLjHifP5ZZhIdsjm͠pr fN3ϡv'Ie*]¶!.Đ~2},'InQIxKza8q8[$!NiiY‹}g:YR8JDϚ-Ig{)4Z&Rps+o`ߧ<7s=5#B$r(уhE{I4̴ bԔ[* {t^hDYT() c˒oV4,(f^)6MRQ?*#i@ + 8E5 bU}"6!IPpoIrxARB&OkR9X"l|" 0!lYĘq ,9=nd03VI <0(M ^b#zOWz9c˜ 4pHH;< pa6bsW* /9Cb/xj{" ӇU A(PQ{ h#| (ŗIz~<F Apn}MryB (%p\p&!A[$Ë$DrD$N!Λuڥ4Ǟ!O .D6OoqrxaaDY6|H]/ sÅkHEvM4(J=%& %H$V@ѫb$$(;%pc<0 ^)a E#]/ǬtC?0_8ɫ 0}X®lbPGŜ9XD2r' !tJ*9y& ʦ dlH>KGAa'5XK&F߃+lT0I)mr1J-aF*T B\!BaQAR4An!D U01=MˁEfp0XH.* BТRA EhkɨjF"wUaz+-oMMAOA(M&] Bk:Kj[ ]/7 8;]}jKN+!a3 _rԔ*o{qD lԱ B Js&)t"Dc_1+]5e~ZT͊M꺥)@aAe5x1=]\ZQb?ҹvA1IĮjV2&biLDZ}P\3ªڅ%;;-vJy=72e]nNj?g)w}yTtP@%Ԍ'T" PLpEZ™H!ۘrÀ! qOQK%g\4([Ԏ3  6hlD&qW as);B<CtS+8xh?* §D xe*\ U2"?191 3Ȩd%hU(NڸSB\c\h"!Aa ,q6\ / 11~g4ĎgF62 #YtR86 EkZsx%9R#Q 7 B 0ܦ!*V *R83;\m!IE4 vn΄@LmL|%!MX&Ԑ:F"@!@ &0= oWO*F3 x^C "p<0sfSӡx QQ7h"faF yJWAy 30fQ!(hB.gb"WR"F4`ATJpB.Hl貦\1@A =BS`X2Ϫ)es AIdF͑ZrjXJ˪Bv*_ԩ(Z:;EܶeO5.->*TdlGd[rm؋S9-ʢFN=\iD%9QSb(e*1_N)&gZȟ:ѩkvqxc/EE%ɗ/ !&9' u@>a\8B5 qg 'Ivsf_{IwZݒiuMݵ"*9%|JSd.!xCN,#BdrRTt%{5<1o +eMzG]K::1E)[]_zJmsA:䤻{X~d[^*#%X=9j |݉B S%̶0!I,C2#]B(968gt7F$b컎49S)e<^ \^1TS&3P1)1uÒEl56ʩK)~\1n҉,喼2aJH*rQu D0Vu[:s!hFT*WJמe!Ycdf8V]^UK0\^b+VQ0xP:}?=e"097-aX|)6簡\``'tZRA )&HvbBT w3`dיY-">D7DqF}"ʧB (Dej?|%g1X;c@]!m*1ƣ~!ҁ0Rk%HCZf+ 7C+p„D((@xG'ED hX&TmH0jBC`A(rFA0@{1!_0: 6eùCzLEs%b!06PBq)rcĤYLt( #sQ6G}0eq(AOİ@7F-)Ŭ!^ f(oC҃DJOmqEd>:R7Ha(2;4 FBfB&EDv)se@Btva; VgbYZ!!Pe#20V7SRRDW:Px;Pn Y#D0nS#@p!X pB!*XFE0HZ)zb!mLy+\,>!P 0 (i-3TcUm$ݗEaI=yBc(܎3"kT%K':!%dF P^">[ FaDEN$D% k"9Btrc͂2TAJ+)isk SC!̟DTX"@r)CeJn:q HDGb`+Y 10C-ɜ0e0@|s0 _(1rЂ@HxQ2`cYi[PchAWu.'M8gc!Է^8'O|!C02G<hS;1q:9xo056z 6BԂPe/Pw7ʲ$pCfVTQN&,m߻ju>)D%T,Fܘ @Tv`rip8K*E+Fm-kR?QJ:EafG hg"4E5y7B!D{Xa-(ȝNUZAV~ލW:pIL*"܌&{=CV;[Xqo(o`ZkӋ9ubA-$ea8f_B3r`JJ6RԽ+Aa$@?Q`n hhtӐÄ^A4BKZ\gSΧy*]!ԢyV`jHHdIA ,3*<>:X58`rD+2|EU!8HDt(> ,4 F="mHɱ^K^E|jI m7%ܖD#z7Vbyf(݅2bHB\2H.ъ] Zp=`@>VC#BRXB"V]D\JHx,G%1pLAŰB,|傊 8nKA< p9} GTy&)/^K 4 `JӜP.s>^'U䲧@)nT G c\9T3& yܔ%45n<Җ r @ԛ1*j'*5T =IQbDcpQ}DhoYo ),7g9h0,CGz1NQBJ5'm%$ڗZ=0=Īh!Z'k(ApVhGPG 2kYl 7A1'T}X 0[o׳pz" njBk0a}g<#TA+,$ 8N`2i`{:CMitX(^1c_9flP__: $r |!K%' (Qg`sƖs@aGLDdd$0(0 ipC0X@P@(,j ~Kr#Bu* 1IC{JvaҊBC;RpB wb*7=f'0"6l/%l9Cc= %;A!nBdu0:B} S0_"l ` !0N``T D>g)@0) kad֝ܠ>tIZlL H jPDˌ5 c+!DG3X :H'r(/cC;b%|# F+ ) QaH`qQ"80T6F2zca d4 Jw @AL.cb 1`XXVk%zFaŐDSU}L`#XB_ݵ`{ȓaxI? Ή"1 b z :>`j4"NmEN\>mC Ebx*16D!J@u~̗cSc! GMܴ46sFD~&+3KU +)sD4 | aϲD3铌pH2Awz! Yҏpc+ǧr1&y!АѓC) 1oO ҏ팥0#ZIAYI7 4$1%#`]:V2\ defpQbE+MDDZ) MkȂа'M`E$"!DJj:+3Ĉ2sR1HKzD2u898j$(`Jyb ܮ@"\DY#@E DE,f Dc HSa1 &XJ6:B8@8)8²rmTk*zY\$b!1B%*M `H.*1>.VVc"uE0W9C^v`Ud#Z K`RF²R~~6Ҙ/x34VW8}hTl%5:vTp[_ P|ԱdF?u09U*k1D_cc0GN D@l$S SS$*:ts SnS L*&) ! pE&Ah?&9%9\ UBP6p BD"RWT(nԎ(s - Uq9L(!B: [YQAAZ cqBv5tJgM0a L!d55?T"X<,J>tPDei"VB@%*vt uF,OQ14*o SȅR4ͤQ qJd(V51I1MuL!z)DX) &X"YIa…" nC`aв橅bӠhSUbcC A@(N; JRyp* j89R2(2acȂBI4ӈbD?`2\ΒH 2Ok-'Ѩ,q<8($$qD9 ).;޴}@ԥ"Rd&%, bϢ0sC$E@ܺplC 0 ! 4@A8R{œ$ 09L9'"A$eqK)ǥI}.ZܘEBjWD 4;]It((8#-C|mle%X:h_b2΁K$+2݈̤>L'KI;{0}4XQ_wLA;8Mc* Ze59k7BM|PaH]zR3t,@ٜu 8k&QZ +ӤdV QC\cw6܍l-+򦞈X$]hI 1D mn j&y#D$xg 4P` 42dB 7!9nJ/d1aI;tR4eR+R8y?!\ƿ~h3diw"n>NGHǭrTd%RPzTAof.VY7f'P]Io8ăt aKKhSy+x:ҿCxNtxF (.?M40HRz!i-֜F9^Tn?Hb|(l5uE-RKbb`G֮5$3* 紕g 3 OEؒȓr-aRFR d¹T5gjv`Ƥ\c Z!;p.XK([\ B%9JhyL0H(tiXX-Tp8TlڣA, (YHcxk4"Mhw,hF=dk ;haDsUI@ !jgdJ@=bxH`9kDXF1CENk3r)a3G3uST{r$>:0Ft B9'Bq 8S8,!1q[, bQU0)$$a!EɲY=**f%EQ#JX)qJկ5@@+  Q )^F*BOxL $f$tqFsH!4CfJ428Ca8f8JϐDp-=69,CΙ(h=+ғ~u X ҅Skj䢻9 Xn qK"꿅X9 L"H< zht*CP&PX E*02ehjo@p:PQN&%I`~îI,guA x%$!L:ka"攱%Q.Z C.8V9QR-C뭫GŔrܱ--W5Mcɨl.wTB+DG}kD0gw1GeÐP ;2AML5B,;Z] U#!RJٚ c0> ܜlv.t7aÃ.[+#SuviqE]oN 9l4fSvp8%`l""R-0s6z$1vQ*x=xЅwq!B̈XYr`"?IWdU33)nq Ez,/LQPOq:a[3JPG` +w*7 <œC¨喦 ͌Jqd;Fa\ EG/ڸ%+?fXP\emBvq TeȅT'Oi> qp 2LvBd"ABb&DX ln S"vgFJ(q$.bn\UƒRS&![1*-B8C)*#daC0CfP(֩V;KUqĈ!8f)ԦP+9Ͳ0" ]ݒ+sHY&R7&C):G9BC& NsuyJd'#R4 2e "j`G,C5#r"%G&o\08:hwxG3+0qDbPPZpD2$Yؤ "L#D!:_(MKUĎ@1B/&()ffVL8ps8薢4@%("L^g ]K~'w`!HlR+C;ȏ2ب+NB]~P2g73H)zSN?ubt+0|+aB#A,+㾆b|lf6qوA4+:"L*%k^Q(GUW]XC`AdЧ™ _DTC*=zN83lu "iUcFN  !z \Wgʡxأ6W J`#I%(#0Qe *=Yy^ aҐ(U/! m#pA2BHOX0gE`#JCuz#y.(AA4-aeD ]`h$7(46 uP^BZ]>Wrxq莜(vJ2>DO05my9I !7) M@򰬑"\duU(h8JQK)DDqób H?VS$V IFجA9K8 6"8<Ն(GgbǯA7DC8l)@RcHK'7BI{Yc269a^hUQPaBJi, (C `!CRsaØKҲg V7h |D>ې<~~F@SzaG\u he̳6x Agã"aF!QK 7< ԙq”9$h nJن; ˺ՇIXL.⵱ (=/"Jgh921"WD0@Ac Ev`DASr(Q^"t9QP)9yqvsDðeR9kjE ,) Y ҩ7%SD5_)D7 1LEP0a#ZHB8 @/ lA3(tiרvxVË>Tp!vtbJ򪣫 xLR!PK4P""`XHʀ (Ac|F!"BGC& $E!=Cj(99DBduq,6d'/*T/ {֔!!DG4jp4T)%Tc@XF ݈ .G3aхpVk 3Q{XEc6(R(Uww|v!AiqOBr㓜0lܛ <%tDPcG(7x x"rq;%&]Lerfb+>!*9 .T![:s̈j$(v9 FDCHT[90i:q0XB Z !Qed#I88c8Sׂ5 7' 0)5|\ }-"ȅ@z @V[>BtŜJ7|B ѬP(tZLNbfqri㉹8ٔaPԵS *ІAjVO BQZnNGŹhuBOR>y/1R$~9 1V_>FS,(pKSLqKO X!g0߈KߣpLq0t0n^w1 aR œ (A SX@-xYIKR_8M <>q!&ҟ {# [ԛ OLq%o](3,xUqW*āwqA:H$#hQEBB-XD?Ʃ;Ik2/MpN=COV(v|2>[c%$IS8uBUMT cӡ xcbo ⽠ => ip= A³V&D 38x/ 38>AZ{bs*N Nr78kfͳyIz8R%8 kZ%YWI2naiawP}k@qT3g?3Nrf8a,UymW5@K,s,qB­5V ISpRP!nX*I,Y.Ŋ<5ۊ#R)3J]dȍpf [xGaL\) T HǧpAv tC> )PX9ZQ#D5;AQ,İ9ҙ0H{e&"4yz6|QITrŨGK:&<prV5BLGˁYMPÈ[}L+{N08ËEIvD" &e҃!P<" ~`"c1P޽靟Ja 1T'kn2` 1-T)$9vKriU B*d e }Y#Ҍa4JDI7Ap9Mp=%)Y )%0šd<8X[E0E軡@\` RE"A隀@r81H RY=EA3_±Ag pʧ<,Бdxb) p"hxe R)Χ Su@,RZHbgcROV1e pR)N`J XacT?ic%²,;c"l2x;((FAsG%(qFZĈز#y Oqt|X!9(pqf2),x@-gT`3ōMG,n!?EW+JA$ @@ kА jم81v犋qzpPYH.'0JN8jyvID; a(AA,šz)m)R(ZI5%8130)x|rPXhYECsu)AWċ8+DL5!D7Ҋ&ZТH$ɨmpJ@}ƒwE#XKJ"tAJhT/q9s΁)W3:AjΜGFDE1n 'hE18t8\a)* *|61P.(WyD 0gS1f[W\E\'ވBY&1TV1rQpKnB EO (J;cF0ƌ`ACW,"Xw)4n6LsM0* "  ȃ ;1BTʇrf\m`T#>g5S:l]^qC҈QGީZ=9׫T›l3UP/VZnIĽ$D}Tp`Ӹ^g s+}RGwn(CY`aՋo2R (^'fZMN 9\($y(®=TG1 B!R1j '`E {HAQB8MSV g.&3R)!DO8KђbT a#\B)@K]*$A:Hm9S K\+,Fj​ɘ С yReC:(#9dN#pgID~FЕ. ')*8uw7h5.,ۄ%Y<ϢhfcZoZEsKQUa'[e 3iuk[!Ssoks+=IpfYCNz(T,8/35oxHtOb ;ܭ8γe$AA^6O6w7--Α9 AcI!o_U6DL(YQ=zܶ Tx Ep:{ZO͞ vRgoq#D)5,F%,+jl5Fqg6nGJ/$jګDS[Ӛ{@D՝:wVI2 *w 6j=[A3V[TqКSs*x""&%H_;lSיP=d0[ rHL8ҿ*λD%ed k-@QLȗpu>A9t?=Qj~ jc=؈T?T=l]L}q21=k6BZco˹RӠz?&|5哕\KVM/!.M[3a*>Ó1%# JKЂzL$9%$l>'~Wɿ럨inZNp  $S>w$t)9]u-UKaR h漇"y6U^d_4PN)yYɷ=_oxꬂI4osaSh ,^&#ҙ+\Yl6_RZ!3pO/>b4y9ftJ}JD ><mvG2be5L1k$@[%G.jBJWqQZEܮ1+'O];sId֧,-2>b]RXҒœ"Z &:l2\;g0fNAtS}Nq5*OD:(9JN!B: IuH:)ɘ4G /<wxEmsĖY h[HT/ p)Q`hTS bǤ~N41S>'w~JiROLLMA!^JÄo->-f(?bS:%2=2aQ+(YMs QssIi2AsZT CRwBKF)[L_,`x`2U|$Ưp6^:Fl ~:Q㴌QݜL uǼzUA?6JZ9Ugc?'eѝȎuq<״TVV#l*)Mj_}.WdU,MWOO|MWr]эlnJr. mQ܀ee)G}9eeȌDeč)Sy&&mx薦Q O:3y2\ V %wB|UF`.JS_w \+hrY> 2aVY=[71Δ筚ͿOJ!&uZtw̭% mm! O^;*T/*#O;XV ܖ;*,ҥmDkL.# ]WNx;SC(]dMsuϨ@D(C /Y(!a* yW'TZ:I[#1)㮘}j#$92\Oĕ"k% _j*ȲcH% E+4_$V _&N1y{h%isݧ@ O,8z0\`f#9Rw^V H<M.eHضPGGLUf9 H8YRW})+1f.2ªv,vry rO#B*2_(_5DWk +/*+KyJk%2j nW'ZEtCl$^l"rmh⽉(4|6Th}Ҫg` "~5A^ޅij"o + .wd TVȑX V(k_M( <7ð@\AY`ߩzDGK`TGڏR_:Q5Tb,7wтiEM'!?gHUaJX28dv8Y"tې^v TDB՝]딈0tӹD[HESdw?hP@'5s.>>(;#6M.8c:Y9Bz$ǛcoJӖ I8M0/ýўNu|ڟ~[<~+aS2Xf\ LS eT"JM6,ukh&"{ xyepڭ \h#J}ȉw"ԟY?V&ngpl]JDj`EvT< w?NכVDv&mw"q-pT $3 iFUuخ{!DJA8-fDT o &DIT̕r,=)pM#^dU. ;h V;)ue OeS.f~(HL0Є/BFt&8$Z9fL $ j+¾¢I{G ,Hw?< r 6G[~@$`$q REђ? .}k&蚅|Ha>`M~)䕊]ץxtEﱧc) @N YYlcCpǕ-;J>H`#d$TQ irIR"\PWy<<ʊ.דcm76A/P&zin .,hȤ41H21ό"YTl¤ e#,h.B*Y$v;`FZ& )zqGDg>/,4꘧IQ(eiHd4:i>x#9uX؁2M] (:(~ᖸBd+X,lZ}"p]Ǝ aKKɦR Q0bIePp"I[+=[(\縫 {oKQ[*iy #Q˒иQ6*{b;RX0̚6[.Cg$ޅRRә>'~Χ‡k*n x`:^ .cCcq_wxJ^^&AV榹CX? ЀE'"C$QKPeia`^' d,#i\ԡU<ˎx![ VόZ$#vW[,.IץD/!z$Ij{ =lDiv)##g"FCB%剉L,h: O%_rFì"ZVmN)] SP!V>!zӟ18HV]ɅZk:$r4EKK'e㢉j`ʹeIuɗCt6zYꪩy]NB{yzՕ UOMm_ `U%2K[RfJY%Qw~)}~RNIbYʼnO.?2ڴўF=I[kY!Wh?NciT\؅.b>{g$*+~) 3E )i">99V A{qH^.67Vs9=2S(8NzըY9 v'ԽP>KDP**J구N?ifK)~~jR A!UAG$%5`sWA)I72> !i^Y`\ xG5}8jgIDPdgYە=pB?+dhKg2ԧlq{lN ?w4?8 R:yHppeeyYTğz+(v) S.Š`%̺/eTAC+ U}+P!g8 I02W/rFy~ r- ɴI; IiwIW1Jg%-r{>l|.--Q;1q&KqMBh ay+RZM`rXU]@OȆ'QW{71 Dhv=›SΓgj;H퍉|)LUǃI9Skl$& o3$ۜb?Hot"OR2r6Ǣ}/+ Ua2yW52tQ]O%rh &-'w<u6RލmL B6| ۈaT1$]WͲ2&:x)Gv}zV#dɕF mXC-(bȋ27ʀex#ETH *ZqV(7Vf|^yƆ8lqӕX5mxjT.a)B=[`zM5,q] J ;uW);mZ\:!DJך`$7:wvm̕1,4| +hU^#O 8JФ|߳1`ƧAޛYp,]L"6m 絮 "}9lC'0i;r ZLO\L%DuF]łgESē%Mč=^B!}ki‘EsQ4vX. c;Ţl!'Hm*M "}9}Og˖49G@~Z,:8#r@L5%|QGp `RBW8nOrհd`-3He_1sGw4k VpgSM#@viF4Q<-uš皰$^]܎w<QG\<ĵrT|qD"-~]ޠ M_]Nd'EׯHY#o w&2HMlxJ:@bB{ ee^C bR,t 5LŜCb(3b6DI']%akOD՝UZf?V<>GC x< YC#j4Ԙ [ό+x#)_[RzނI =|ö!Y)L4!h1Hb1#e0]"t j?Ѕh|:Q]طxbRFS?F'FeH>3| +Mv 2S2k86tdJ`kWK~I&Z//G9:|#* 3Q&] =.j#{ɇ,c ֵ[HbE⶚7XPw 4~j:h?"JlQ/4Kr6BAo2Ga33.L@Pn,fȉE3kVeG8a+< )4$$ԙ-⢹(<(t)e,[*6%)mMLdL }_,D5A_[iR!+qXh'GMr\%ާx%:'~ SMYk%MSt[ g{?Gڎ{ElrFI5q ة,[T;,(5 0< 1XE+愂(W6(oo[JSu"a (8=2lZ.{4QJ9|ei{)x~l(K85#nSV)+&`4o48( Q4S! RmD \$uKl q-3B'qMd\ X7x6Pvr{BEjZ Vc_u"# Phv{j`ݻhj赚dDUkQsWEk!4Hbi}$6MY# V֙JDTy :CfZ"[V.XbVOEd đ\0#Х _+z`" vqRh$Fy@x"/dY@da逦hB_3XWs#PV8ЧR gnJ{7,[GV@쯜CA%Vx2E.l'mƴƨ;F߷jG2bB],-S+C}uh +5&+V/ BakiF]%d"2rjf?d薐fo4)'*NɄd? baf) rb-3|qe &T) veUs l|n߰Mı*=7г#3:epi )&KEpV, p6<lʶYŸ(&8\KJy"u?{n<^9* rCF lXy8L<114Թƒ0Qqv. ~#7+lDMpȭ7NDӔ45[-CpE"dPFcʕF .<@7c\2՟."#BVHLPRa¬PI W!>Z6 ޮ"&L A'(sJu9cB$3k\ѹ0GoE5겼DRYFK*_nnEXH?C+A٨-c_WN m~\gtQtcm Oֺ2gc SùΦj+mˑ>Vcm[7or:P讷0j3Q a5W9},^mr#*\MsAx =PfV@ 5. ȅ^'Qh*Jbʲ:MH:AB|vs~`;]T3$) Op 7_XRܘx9-f oGLc{}AyjzCwܳSb^JBtjj>HhZstNR̹SF[į%wU[[T)]7ЎL|ַK{ĺRް+7 LT8Vp-h6,"4G_Hg$fC5*M/^#%k=$c9ܚ]e6:,'ܰ5T?BE+(IYpQA{%FB"LS,ZyPw$C?} +4;sdwrexq^5CRa+X7YN`.-KFռ; 3$J?EH]F$Qb9 m`_zÇ#k'`ٗ>^=_ĩm& QdALc({Di5EXtb>?y(U7K=:NT͊"ZSoߵZU4Oח+.VJKCMx/)`8KfFBB$Q $bȠKU%&?W0)f,5sC״Nl푬@GIgBtcrJȓbtA\&~(Kg)!IWo֫Wv>yQLmM0 hIz}y-ڼ> /O;OWYtsiG}OrI.Z _[n$P` .=,)bA*?8Ǜ<EY^GfUߵ_rmG˙a}ڃ튃DbX?4iUL@ ~ ~@@~-v?7_H5TlXtO,E0u s.*2qki(OB Q+ `nh Hw">+>We+objM-4oLV ʬE.ݮJ􈜹3dϢRu ͊pi7؈q*(bJʲ;'ѧnmS=kEv QN&ƋؓIBon]y{JEzG:9TPK~%GjҬy¤P5C < F9Ϭ/X~.`[q%jMHkG+D}EZ%WRwq8" L*Kn{Ik^ѹ%vn:c{SP> bFVFLP (t;#tH>?~tx&5EsPjt2.9,7(R[Q(ErrC_TvŤW`E:< g f4& G7л|xsN)W+nIi}L@CD 3rNm7>c+8LSK13JUZL[I`C?=IDD_%{E# hXviG9%j%EԷA$.Ü1 ~Pb^;R< yPe,!1EVɇ!DY!/$ jCduQbZeųCۖFj R &ecqRXI"c, >M6pml?@={jK! KܲOUD|EbMNa2Yr}Ջ_T8u?n\?@`IgW0>F*pJnw$@E~8.CS) D^"vhZ⹻ ~ЌuuTݩ&(\bftLG^ ~ݤ9b]M66yo~WlDfJaduaYl|. ~f'O`j2 ^8bW^8咵a%2AG9K\a\wdYsJC 2v2J|OLs3c71f΢!e8m4 >]=)lW31]^%*auy%$zKY\ ^$&Z z;Q-;2OLq粇dtEϞHދȖgLo8Rد\Jk} /t_:ZtH-R:a3M֕Vb`hyz6-WH'T-Vs%-5 ̅c ϔ=$q%V3/2{,Hx *TJ%Y#EQL-$G|37=1_0Rh[ o6b}hRۯ PZr”ԛ=w0)4ǾZ@22I Nl㲪 wlT.4F _݁08 @X4`L!^tL54mWGHےɭ_{3J F@A4 v6GaRD-zYJC~w'NMdVͱ IfNHU>>F6?)I!,<*lw8a F3g#W#( x C<ֲQ54-#m}TL=nt(!(}+%`glZm2@A,pOz|{+ 8`B t '}Ź*$7WEUeξ y9q(M"[c/0 g9ݲf9AP$o-K[\lQD+SNT1ι>YS95&s ҦVTu9ɚ%܂NܱgɒG/vjɣ6v>VFoU{dHJqo"q}f]JeO͎œ7<ʜj'*!Qѡ{!I<~`%HZmD2?OȒ [WƊO 0pm(N0RoϕצXFR7,/" p+!1UP6 ȷrŬf-{~xeӣX'2outWME=HസT:\8%Ns%$Vt "oJtla5,O#}* YZlE*'PþG+D#k*A>Ti3 z"=b"ǡۢg$k -6EENz`5,t1(&9&]ZBp_W] q%ޡTnC%1d@)ʞ1zjR3u**Člӵu)pV7ôRZmvr?ĎS `>'=~v(Gn=C[!C!@#ZOf+'? JjC3N5l-gp*ݙ{4/M mY95D_rvpN3__}@K &D-DSZ̩73X*~Æ J\7,8qGN6D"WJNiHzPJrCR)ŅbU‚x *bPIF"#wy: VgCؓ<0OUkuE`o,]ELfXƅy^pG@>y09m]ls»d|Sݿ)F^g1)Gyaӕu;ԄN+h8{߃ɞw'fdEGM@:L>dS v/Oh}NtsRul'$> 'IWX J(X;/ȉ°ZO5})39amc-eoK{iQ'H ȳ&r\k\/EQFq{NXd! ) 6LSA=%ɢyPm-D Pks,/)uq3qMNgC(nGQ)ʰz=#/+ uKhLIpJ%Ċ04C8 pXVM|Н@&#>5ط#5v;T;SDnjHJ䧱1o/+doLz^tR *GTk7[^r/J .z5vBшI-.0 4(ԡ.BYN0EN 57-a7bJWI䫙2hJNOYA 4U -exeuT(A坊b^.i+I2NQ8p#<`RN>*#1t ppKZ0T `B-DIM&Q>\7>`{ Vr#)` ǢP"FmW]{ЭMp8aQ)WV_]"ZyaLKJyP[˝cV' m?,"!d&)9n(T(!{F&]Iucc%0Wз+dZ#hY 1@^ 0us(M+bzDy7~i/d9ضq}1}-N$(^l(艞0!ޕaUO6%<ӵ"4drɨ@0:|uwySRVuRzra ƪD#4]X̄r Fg0!7.:x`+Oe2a <*To~y& onN2y%ͧM!C K3Rh^"e?R$"#R8YzWˢiu1 ɥ*)Yb!휋;v<} Vy@˚lH@XHi GlJ.*֎gYmOP"m@mIK#MM㧺l6ɨoD%#"f7ʏcRuHPCvdjvԼ-.2'QPh4<&D@D0UJv .T͊>Gdc!H{V:D^mȜE%?}U-Z4+R e#FzT(RTk&KJYtƉjlײINF3ή@.bsEr;eYkzou ~=ʉAAF6[Ȑ]uF(1MbSoCFh{%gW8 j$:7ځE8tS? )Wv$U=F!PRA]6֒zJFW!%IwO(Ug#fw2Y,0~RF59.@A>?E'Dds%\ӈ1pZt(~U jѡ%OweZQdg밤π_Vvi kX"A%T-Mq? AS4J9QaH  3^iA߉F> I{v0ɥ@j܊i LT ֠2s4)j!{MǤ8U"I [NUV֥g3SoZ}2}c۫TJl|oiPeY`c'/Üs%Ωi5cgX鍎,"MʐmV#]#+е*7t)L!/~PWs]e߲M_uʂ0YaϿ\ .eCɞRwS5QR ͗d |]CAF'CV|OappnB6j]KD ED&_x=HSɩY I0Tie&g *>T IČ?w(Wf:ACxxFe @ LǔVMYQ*R@T6%g{J G02 H}Fa)\3zq99FcբRS2}"7->_[Tum V _8i;bC޶O*4iN5S5\q@_ EF Zz_wO/w[l#iI+SU C) %qZ.P-Ч:28G3qHd$+urI=zLϥD촭ug24QDfZ%^%ܢe|vNk^Ki+̓(8 싐8`&; Y> o3s\ ]"ٛ*S a H<;!), ;)&I/""g`^ǩnx̸b:zxPcl$9.a'DTuj|%5-1P5|}v}<Ʒ!V),[挄fIPS6`p(*lᤄ1%asc&!*d*)U)v\(:A{ #r )IGŜ\YIđcd+$VKMV^8^EԖJbj~L*k1]fb~(vyRˡUq%UeUL'E3g1dji(ك5U5Eyҧy;i^WtP:ZЁw/L>OV ]-*)0ii!tC=_}鮅;qCWqKi؋J[fK}g D6K*ˈ.jd7b|i1X\>p!D Wk@eڟO 2byz0S٦8H> fA2U=|FCo&H&S9 L>W'>uzNܲbi9Y$D,B%NĄZ*sQ}j.D>5=Fee,_cDKOf$ fkpi Au"[J᳋OU4׊xI" _Ygs PCCdQ;4d 6J8VJ8c@8|.||~qN*:bY3^ &Aprϓ3# '~@`'khG]rF,A3r]egMx| Y[Eg%$$ ';*9ÂU8WA&% Ibz9R`ELWb7Z=ӥR{݈w0ɠ8{&(vӧ0X-Ƹ˦HV+xH%&Y XQ,LC<ꉩԿFCci?R{ ^ńڴs舑V! 'F6í%tP " l_17# GOyfEN#t 2Yya|"QN~O◢a~JikZFk*S0[z+ATWhM.+y, 6Q&JU%P-*@آ8Ep~oK'ʒܶ`y/ ZJ2³]#/8ll# _i!Փ.ԗ<]KDI*'ۺ"4'='֜(ء) E+ ,e#0GH >t[0VCtՌ`HQRI=(EJ,VX*A[ "㼛W: :u4#7mw6&ؗoVA`#?1QoocmV揖;źUy[^q}WbϵwK~m({@` Y`(HS< ֐ihPhvWsj'LyQ \q.cw}0"7'2roji2+p(;fer&JW˘9pT6'bJLp]2 hdLvb @2NH( -_@@ !Zԁy;Xv*45-L@bTHH52O/tZM\[2Mn 4&%Oj4TY% gT,0\`*IA4?Fb{a-k)d[HW:ENJ:3HGnvܧU m.!9hBi_%gHऽRIH)ҧ5v+!(A1{JP=uj ~ُ 1kOȪUl8?m '$8DY +Ј#33&>9cQD̻䋩X x^lebL: B'ť(A1!=!ÇRp\ !SXAP@\dXHVX((|S~[h@C䞋LJĤ/kSHް=Y3b{Y >M"E<бwNͱPgn UD6<2}CRR{|JTB~(V"z|G Z_*SS)g-Ll6YDЭ8b7ieFmXTE8#hҍ Լ6dTapBU}5PKl ] P;'0" M^\"8`p)q6v&H & a@Ffr0P վg F(h-[ҠT@>k<"F+B|As&]~q͉q 02KW3ѾU4mZ >+n7gܑЅDc_.ѰQu*ۧh/J(K9O~vWam!~[$W33az'3Vo(?SXqڙPzԆTFi褄@oU50{ 3N#'$76 `F* ~dXQ/0H)l3FPjE1Z&;UIָFY#Hm1T8` O fHVr(4"m hmIaWG b篞m'U /#A?,ohT`,@UJAM*RWl,K#狇b K ^^HXƞ XP|ёHK#AVC6=Rd#E3@@dSE )XH=IZYw[`؅6j ~i6Q\dre ́VB?P2'"ZaoC2NɘEZşRb(L:E d@4@T17kunn^4ijf4gd(2rXχ *Xe C8| ~RM"PT ~ ň^'7X`*edAc&,IxQxAz6rdC=Y}L PzٽAl:4byND.,m2Nb}lHYQ  J`F8*SE HHfkJZ4&B37 ^NC| gT4|i|.tKR<sлiD٤P0 Z-3ا.#P:.R[ЉξJ@&,IѪ"BgB3Β,<*X7cGN*nQhۙ!(,"2Az*&@xڟh "Æ\w>YM!]Zj>qu; 3sΤWB ")u)f v(PiR7tU&0tP,{ӪDR`ݢJrQ`t@ߒ4AXO gb.}>$5eC p\hY O5T[Q(: 8 OD7x\\4Es 5Q LXFBDyj%Dqdċ#PH&nHVXQӈCB.!aIaQj&XJ6u.[8;IIx fBu!Bo ; m[e|ҧ $$6Tw^"'7 .t%Y c M_E@ @l|4| 2cK *t  \͂ |"Es8>q DQIo,< ,Ŋ$н?J4L`_yHI#SɈptPanidqlfnst1o}ZO!Z; vy{& ;>YZp0 ܱ5_Z| nq(B"$*4#CET's3{ڬx\ Rtpxp22U1qɏY$Ht , uX8 9֎{t[)|Ku]q*LQ-z|[ "ZVBs1(He\&@ w<7G0{.2D7xC*Yp)HlO>h,dJF?b^(ȩ"g'/_cxj=/XB_>}5SR?DI#1yxņU/7mQQyް`ⓍXJėH6ݧvkK33$q7Z"IzW5Cc`hen(أyџtGfVWx]Si jY=r!bFuq :g#JA:&Iop #QDj/IX:wQ`BMxʩb'Blբ<;\VqAOR8ijT1.(g鰧e!B.zD8UP5uע:|"BX?XƬjb[ 6r|V#,g]JW3|eȘ'άiN]'@N3p O Fa&%Vz:GEpD,"r mgWU f;ΔmJRؼ̟|mؠXr|LT.;l 9>4]WJ<'ws^Kv9wo7( < B>wSm)&4!12&ARe#ee̤]>RNZJĪyĘi?peM-H 8MsH3,Ȍ07j"T.o3;u[>w ۧLw>ώQnH7%et$>oY)P* c>r] ħ+8%0>jX@27? C^f/ =rkUBʆRwc]c7zDChZiR8vbD"*%Y8OpP<,AXɀuΆz5ቲVBnU1FC丯TG;4Bs>P4t  l(7\[s% ˶4"帳z}C3 :<F(uz p1fw[F&%aV:G܊ۓRNKw*QŠV*FdG G,,دfbk^Gm!a9Q^o! F-9+,*8m0xWDYR ᦍ  (!yDokp('WSKOTԹ)r~?=NLuΉz m7RHDG+e7,8vɘ"[=OU>"*)#A-T0티!z.1 >sͭdLNJ] *8*L0 )B3Uc4I E˧2,)lh$jDppī9j9"eU9,mYQ1&3ӖDXϏ/" Ydz >vЯg?FGT]oqe bQ1Y.{+[IsN$T/W-P}O=-75U>Bc|$u}g:W;;SONE5ʵOgaXԔ3J&)K44U 4SOiNF-ic65ݧE>9btZ airQ+ǩϖi4hayMTQfN)Г{vWY1pM6Th !ƉBBiUDv a] PD$N{G'VhL|-,W vdܩ!po5J VC|t:ae@SZ{E9&4@IԦQcmиӬ}1/&m1hM_8ZN'%d܋%4 dU;-K0 ƢH`'k+Xyp,[)IiyXV!CSVR1z/zv$d=Ձ Vb߮SsjWҤ-b |Ph`<dlbDL4#SYt,0E~eoMU,[ x=.P*(y؅ TgJʊ h&`IřX ѶTz’GWJAi=h-PZ1rTk?VqHܐ;V\7js2E-l3_?kAG#/S'.±UU׈ E1QmaRj39oX P1fM*ZOgtpi-L() fSWNb98 {G4$i>"!e]=몪&h"(o@!DM"cQ =Z|5 /4U̔+z5.Mt"WbJ,$irV(2d]ɖWgX X!AsϔE|;7 gyщ6W-I< ̗؍r68%R!ؗnEp)Z3b 0GIO}?l el)eͲmLs%nـe#O < a&+:E4@^}+ɛu4-фzgɠMʏ=v`=d] GU6΅B9f]OLHDw0?%!ĮRG76x#y9z{^ql$j̋Sd|Xh4Z Ѥ /F 5@Bv,Q f$=O56!^-{s^pP`6F=tMf]TXٮH Xsr/1ϱ+ In] ӣ濋ROi`Y^5JҼToKJ*jA~}'`n!yN_ȑ1/SDEڦIc'vA&_!UxLjl|y8H dƉȑ)+≯ IwG}paVh>^څnɏ3 A˸8 3R4HAPoTp #=+ysERᅭyyV$}yQ9kqF ڭ }9ln-RoWs Ƚe- Ndlik!շiw'eJm1MRVEȜS񀊝IIstFGÚBՔ*!䡦w;|&JZCENp=uש 9H%+̱r"{ۤӱW,:(T}v0V&ֱw֜! BeXmK/]f?Wۗ)_zJ.1x1Q^nQxlO@wU.uB6FpS7%%*U/Z~yZ ڦMgb&@uJI5C:␖U2I*>m5Q]D(8 0m>t5Ĝ7-aɅITV1N)'ˆaѽ,`?*X&s'XW3P3_>& aEEzE>:`|%F1UsR+:H=ES?"GP+F)9eRL J 5.O(ZU !9$S>ɢJktȆƥ].|LPyP~ TY.dxSҨѢԖWSR.%"" PU3ェ2m*DmXH_VLrI`c=h[?@eZ3oEkfZ19`dz٫R qA|]Ӿyt;y-,g:%:g6chݸ\$M賵6*G0Tȥ#mDMdyPv+* Y.w Ĝv5`pfBUbUذȔH>T``GTR!u%0кf)C@PId1o5a׺v\}'dŅV׫VlYK$:MJ7[ׯze)X9chRTeXkӖ-\ٽ"E[L9¼[O:b$'tuǪ_(W kdNEd *SL`q-1v&Ƚ1vQÑ#7"puHh,Ŋ(!{`A5D΍aHD[ϒY^&dA- m9νmY"tG@I[5 4p$t3j"j7;$bvDGу_ރZvyH9kÒ hA4~)"%/ӑzء؜.nan/?Yh;?5u1YEmt%K5moDJ9sb{&?QrW3C?t+EkUu;78lZ?UZ4<'\Z삉'd!_NV/ѸkU)ܔPڰ zCgV|YF(M.d>269?J"Cc I`gA (5+q+ߕ~h Ć$7[I*٨:E T 3m(j_ʺ+ }~lg~Ө2E(KHyh\zAx}:ͧZc Q+w`ER9l_ _t&Wk4!7S e|CE_Tn43 뢉"aG6{(^bYHfmk ݑ[֤%}nUa-o!bYvvm*@&O'wg""Gr3xBT#BsI ]be2Bx)v -|9-ݚVrTVUQ.8REggs /3D?W+<%g^+[n鬖s_|hKq33&Oc7ⁿφfqjh)uN6Be:.Dܚr|O)bTrUªu+;zMi ƺFlJ;;Y@ a! 2IP {{N~Y  Q?ykAY3 "Yh;tD'ƱY3:c*Bg%;0O&!d'p")=艤lOs.eIt^ƦSpM'x)b;{!n-3å MJ̵ ԐyYفbR5FJiT>U 9{~43B9ۚ3I&~_$Kf [՛&-X:Ml%6vԷA+4S3T]U;K)*ٝ4Px30ED`RɨqDhrt h΋םǥ˂»M`V7Ȋ>zc=,P@"T5}VTDk!b :BV(5D}T+|4Uš@H/I4u]ɹDٯ;ŤԘʡ]Lqp Lȳ*f! =F'3R"y`M๣,'g&RM̸("AdV1D"T*4s`H:zHf R-k eXҨE.XsCM̃x xAhY݈Ӿ >~Z_b'HY+"=QylsR+ZRow滑ڻJE%TڵuNZO2#Lv/vv E³AEP; m1(6 ҎBQQh/pD$tz3z奞x&NK1mԩ +DUq LmA*3Ks[BʴVDB! ze0S0sNV(.:^hER#:tCzƴ.*<0jQ -p3'QXJTX#30 DrkDV3 /gRZRZSQ֩azt%xs!kg/if9}r9vSHH}E 7jJcK0>, H"HDT` aQMhya2N/&HKA2A7e3DLhfW 6/LxmG7!W8,8aI4bt l7.?) ["(@I2QA, 5̵| \ `FErϫ0sJ7Isބ({>\D<-9 -fXe 2ajlVذI2aGPQ@[ B|*YrpV8uKuZ"g O_C߿4&2QBX޸"W"<4T%4aI`7Y("dPU6&MQ" Q$U ND`)gM&jʒ4̪?$}6 ڑ>RY0%9]t]X2qZΦfJ,"۳ҹYofsF1n+!fZٍm?=/2.ʉcy<φ("%gH(4^QSBL>!$̺m4m *2]mQ:NR5NMыkǦxB %{Jp|Aa*,M f`E/ b@ E .btR|%.'s.TZYS֗Mig{,XlkqN%#d#QDE.Q͘K ~#IjGx"k7!f;4oc < "|Pl@JPֲ$q@,@)f3Q1p- N`Iy"|+ۓ"m6ˆN9.w5߈y{&h'NSӗ +PNִz6rj!Gn9ᵔ6ǿ5}Aao^xEr0L({Ga$ '\}0n &SD֖V/ǁXdn"R[k4QE,4 EQZzNITvID5%vD:ؐjxK׸:`(Դ]S#:]}BY죶M #hqB :(&6Q*{ *gNd2|wa~ b6&AWF|DGʡ<nF TTnO2}ޟT4g+R*(Dc k4JGWҥZ7mLگWK5u~Gʺ^kMuGYKju4W\Ne- P` DJ 7urÂSٛ^T[a:*U5 IpRxJU{ľ4˞\7+}{Uq2MSm ;(ØidPh:|-p*hIBXDAE$GK[n>} 4TgOqz_ꌌE|MNh[ؗK.\-΄OQ?.kBriر+^Q.Uwz.xr)M[ɑ&۬q-խ-n iGZ;$@$&?v*`  9M@Wux#@ @ 8VåT#OPkvOs8v .P`h4^yiwdĔBdjO Ax ,sb4g͢YfT,Hŏ_-RFe=$|43Эҡ&hJbF F&WVn54"E$4{iv[^{{G^T*e+ [h""5 qT&XDCg 9!uLP; BuO\SBA;!c S|j Xl7 &E]d(A!ˌqGLJh&f{_ZIޖdHR~iŁpVЙʢc'nd,ܼH0?ggXK{.0jR2/p5sp T:j.>C#)!onLta"$'M@dA~# Aeځ~ ,_F4 ӈ$M&R[尐 9J uZ3m*LAKC (/%є_+֊˲^"2O˯p[0rRZNPJmJTU v4EV[ 4SXwNl\[8XDb'G7B^p64;!B BJ*SY 93j.Y=@)%20PtXaر1< #t'Ify6Vkib(FG/a \G0@OmÈ[T؎ >&iℍ!fl` SE _`iUa}Ji  3904GLM"{HEp:Cm6˻Ī~ΐws*ǪP/$W7WX\F2d&ړ("PSc^DQ(| %@XBM[H 0"B0ij.wqC/dJ#·!Ū&fRP=@ʃkF͕054mbu$Xl,![hSMd,SլcJpWYp3RU&6 d'㠢G֐lYZ:z: .%DH|(ȹH\x䝹-ć3Bu+$R _3) IJ2 /*L!`%4t#ěJ*sP1S>M $>*J(ڡLdT n(L5Ca#_,(;Ph76cj*m㚎QeqZ͌UK,. dлm u0d,ce]F.K-*54iqL)^ZWHů2.>t4z7_} lg3A4ko-&bCaӂAp| 4KBowO4[" WA|ϱ@BK[Du TaQާ*zV*6p -TQQvWd@tH4>P TABnXf̐MFbPت%" <9Mӣܓ"C6D*K!,\Уc<7Io"HyXY,6UIr@uVL͉qI΄((N d]@JJjQwLǕj3񋡁1&ԉ&.QLaR˜(JȨDDQԞ"-ϰmʹ\EWD!NiA Yn^"R\dR"RxznȄ|A-"쥦@Ѝe rF#6S$L(U3kÖXԛB>B\Ee$Q-.ap] pYfM17z2Be:uFi%: ۔rh}N2󵓺Q,.XW#ŒKڸi5XkSopF "F&&$`Rɨr9ŰJ$M?!@j*G,~Ƴ!M? ^j^ZLCEW[{>Eq ,b1!X,GR+Iԇ$+{nB36H^ 5g;c5wHZ%LwOx5vQc.20l (Li̇ȴ]. &jSW&9B)kDKǜJNB;tѳhbҩvCcRZ7K=i* *UyV\3"$`1aI W?q[4n 5Ȑ*)rVȾ*$Re_ 6Kv8ŭAA bR9O9ܺDoI;IW^@)\T5b1GBK-$PFsgQ:s;[]Emlx>\)+k0^~qi, M1"*宵M<-\( 4aS5N rj]{1$V_(dr~-#Y'uR TW+Ye0.3&r/s'=0?w7U#S"ӋšǭnѢ2Z+T!zQ~8 !K`6Gg|4Ů2] "A8]FU0Ul$4ql/ϯ:u }Z( ̧CB 9꾒)f}Tva#LsJr\xoDk+2 + MI^+n&GV8&H'<^Ս>}-8m7[9T_F!1#kMTQUODyLм6`$CCeڥb OqQGc\P>KPeE4dco[oԼ4FUr wۿ93_*nRg:YqMU)3!FaqԈߌveDHIDgb4sjAnYi?ODKʧrD$|(N%ވѝ6LMP 6O |"m,IjWQ$Yp΅^q Ș$^ !<ۀT6A\^.q SO ͝,ֱ.8ۅY>ЙzH R="icT7ʁrO'z&\&[y Qam%`9fib?S%zYv0IW!(^'kj'RaVu~*YYEҏJV)#ruqe[4B9IL㴽XD.lmCԘJ/J>WfղQ|G%:\LyLBUi!ђCr ̵A3< XƉ0%i*Yޭm&HFy!+(w-D޶ЪhЎK\e{,^IJ $-! 1sktJ@H#d d4Tc 3J8s^"DʑOQ>6#Oے*Doo E 7|\bHSdE^hpJBsTBU)nb(1* d\c9fRK6=/c,(ͤ[m`,K!lAlCTX a7C*VbI[kvz #XIJŊ(xca  !RJ]?EDpQ0,GAd-֣i2ҎkU+9$30M<(4%4AĴDa<$Q hrf1b"Е6e-X͐oP"L* cpShVѺ^XУWD7k8R$H@ 6L0,փJ%8RhQ?DšR v?1[ e'S+g=[Ċ\C 1K(5!$eF/} dDu Q(.Sy"!ĶHBq"jB/zB5Ɗ/0[m xCyjƐNqO" c ўy{!؀kP40je{c CBAvXL@4VqZ~S:App,Q$SYkv!>B$I3ԄX$Щ"i9U]+ M 5,KөG[AD{={"{=Ҭk {!. Q1f7_Ͳw+9rfR]vL"<#`V-^춄Tc7/$pʶ^^LG2 Co .RY4IzYҫ`Kb E Wg64M6dƿ-2KRjKǪMeP٤INܕҙL2IC7º6mWΜzN^nd(ˏ!jR,T(Tjg|>DJuW̴jּuKKYr<Yp\I֋-i(2,1A杯*H:,$@ؓAz k0QG\$RILAY{TB $v㰥-Gt;eN2ܴN*\R_8MV+bZJʈFإM I*֟\2+銬{ X71 nlbvDruĦL;MǤM>4<ŏW|SwA)봙HS#Ɖ9p2TJ!IgCD+ѢhY(n-(RALu\kpM󨼾%E)+vGQc d* [#߼yILվnubz,Bܗ4qSպ2 !Vجblb`de EXS%{Dme۩UK5{c43 >${EV nUY tܦF/2͔}B, dVi$᏷k_&$b:&PSD-s k dy4iѤץ/U>"}ށ!`i!2" Mqu)ՀQP<4+r"^rALb>DBeDh"b-%#m DO0d; \, 5$/~jHq2=N֐#0m1eqQХc9:< * )uukbq(X%"$+ų|΋' Zf@s Z!Ҏ_zT{$Jp@ŘBr!<5 K %=0iwiC=؋e1t ٜQ/|X.j=5)ڴe 0_Hdl>No3t5)3^\PO%̳~N҂gL<|[Et[KM$.ߒ9\f4M?7BjFӇܝB]rdHqI_iLhSҥ= &EsMG9Wtda7rdt= R@CXAQq>bj=Ō*DxiVXׇxCL(mFG"C*Oxru)!*lP'i2F.lIg ͮJŎD$baJbO24FhI1 ,6A M8F;W&TD_CU (uM<$#Ѯ&M(ҮBz lS]A5 v%ҜXlZh6]ʠv K"g BͨY$E(7XH_rYܭ#t!MCnwlOhOd >C-}Al6F[ 6D@2|b!,WmV܁54h_ƛ>XAG=W}IQPpeuYU(uE|У6DauPX]|ZAҝoxmbE v>H\-_I7/f tI>$TOiaH4.)3FKY2 t(⥄H,^W^:/"Kp#)8aZEJdJbDC3x^4#f!4v"W7} ]A7"i)*PMgDXmov5puY)/>d %32 H۫ؠ@5\lz-oْsm2ݖ)TKΰoZTe|悯;^.qAֶj"dgbY> LfXR>1V#/ȑ)*:xNF *QrΖd+X)GPt,|iQB }dyɡF*AL/bts,/Oy&pcʴm)ܞ2Q +3fj4"Rh>ȓ:( L5^enr+QNxPвaNB[,6Yx9¡Q9%` gYS>!R[B-tD4]*Ib}]-KVn*k AT "-4.0Vˮ4<.l_,m.tpPq5^/8uPF)MlcbTDU!E"NwFF{Hz-M~ENi"Ee)k]l]\<kQRekQPcz'> >/_ $lpпRPIuB,CtIJr&W1 ɨsҖ6KTSkD=[ /-ʥY !G e0NM ygGbl*uٷ CF,ZT\.Ԏ_^p*pBZ,yYDY.J%/XƸ;qU&Gʦ**6-Fvf [\5SlJъ,7=L|qW|/_@Tb,$YB]W%I -PKԼ4{"0EdF5)(ʏShrF^v4\pdb4Ls_iHcYFE=6~Bdr$@hYBQ#{ (E)lȥ6dQFJaF K BtAD|'B!O9tZT$TvńPBH$M5DwK)4; 4G=mCJHUxq7{$PBorbt6sʄJ4QX8J4p&QOBTC(- Lpq'ɵw/9:kUi !wz}O=z)*z3icmCL+3&L>l]'!@ɏS\_>ϙ?;Bp=rתx~ TYHrncZ-Ԝ7xbEnCf?5`#08o8c i@@y1hA џ}`.Y7Ր4)0g6!0ۉGmm@<)1 sQ5n12qiK䪚8vYg" G\R02a/ Y2eOVT3KObF$04 hzٓOz 3ԏb1(p 4.@5'd %!CB%!7 @2iiGՏcj%_sLvN\Vc$r\P|XDIU[8.Cz>c7md p b3Pl",uNVTUm_QHU&p:2џ)jw︘Hot6jr~V- rvk B>`1(<]bFo"j7^ڒH}TdMH w~@O@QjPjM!rqO}  H>a4p%OA6{Vә2KgWMoYh''J0 D3vݻ.آ#,'ܳG4AYmx[^'>v-&*ؙ2j*\Ț} {˚_$~1K{IAoC_o~.kjza-@K 6H!eF uI"!v`.>].r[F!ȉIVkp*t*o^i²u#shzџ91A'uC]2A_g**X<$,<6\|kZR"\r])}VJfV䍺{cʔt\Yx1b##uҕ C=C!2Im<pT,oiM(WO1͙3[ -"}fݎ'GY2}qʌ-nޔ4FdeGDJi*04\~$ *ka@޻\, #+n~zC̙m•+V'Š-<#dT"1P7J2lOb0Dl!"(ÎIPg&^jB!]P25"vu7%jbF_J^B c2P綌7FK NU!çGhX$Tz% Zb2{$ݦLD0_ 6.޺`FH!"2|lv!X5kv!|PBp$ ?/8V|Xp?:1pS™]^JY%W&Y]֏>fRH.4xCaٝ΂!$ՔcL<)8'OK.37/j_ jNz=vace3$LK]R,Wm֝ZV/s}9[J̦zԉs#Kyto8<1"'N,7 9$&0; zTF~%%VF +hpW"6NJ_GᰨJz 8!@ReQVVӨ;!`R%^J\|ȰI&$k􂇗d\-aLDQsgz (鰽Lf~2 x Ș,bIO -5ZsAnX{;M֊R*UIۅ)y10\)PDCʬ QX$~z bCçF9Ev,6$-+%FO3ɫ|e^h^UYV&+A%iW`nASMۡA+ZI;mxV:`n$\ LfFDi6pTEBpJ [&نoAH|>^%Bfb C׎xj BB1G>h@"UO*!1]V mjR#YjHjx5Z&5j3TO$ |Ufcka[&5*\br]M7J-z)nЖ> eJժ.^! 4Db|Ãq2(_[M>jQZHɗ2E9);K$KxAȜs.N= NnU7vbHS#H kakApd6nq+ծӮbg\6SS~SQ.կL^39*|}7=&T3&+\:~BD l~PVdڀ:(1K5 KIG 5)oIQAL9{/DPqx?RҶ(:0l ] +xwA%Xjo*EU0th>,AyTXo|Q25=6Q#.7m`{M6D"*n JeĒU@ˠF6U1?/?Oy2(ĶM/s'f&Vt3(*IwiBwO"2^ي>B0i]gWqknHrϜL'~1$Ȩh@ $v[:y!q+ܷK裻$GN2ζ$(vO.֩LAvyO*ev P\0Di\쾢KH~ߘNPa"~J7܌㉩x<"tKƂ'#MAWsyefF"*Hb~R!K XXFNѨYJ2lTEEA@a5O5#ʬ{{&Z/R+f9-7-RiØ"ePҺM^$\ PIcbe ܒ &8y=g UݸDr,l2Xpj&S#3Rndѻ>&$;RE dPMm;~lRVA!P,WtdD!IkIxGNj_ݤrBl)"^TZޘgGlc ,uv59֋Y>ACLЀ`$B!.>ҧYࡕIsȈb,gS*UqtUq ĶLQjըǵ{P:MJ<&'`zj*/_KX44txeeOJ3F)mgȁY"氷*)2R7x lݖ(^-DlxHu:Je9Ws7Q`d'5 "#FBnOq]\)DRgWV/TtY$L"@T-Lh !L Q0=!)i!)x*>-c5,^YX+ì'"29d+DS 5Z}Ѫ:Nd丁ruЖa xtboHmY@K&Sre1\`D`&dh dm(XEw(ҍ4 Dr#DҤeF %ӎd-x.bc%*wB g:}T21g*:D>P QqI%a\X )v #G4H8PZ* m /8Uٶ\Q%[01]1!bt(Z$Ojgr<ۇcĔ=i>Is G.ۄgs ~Uoe}l޲`/Evv0zIu>_`MY^I2^&D>yj<ላa֫/ju?cEhVڹ4cp&gڍ^DQ߼#B- 2  dj^G 0lIqniCYhF+8j ,¢ S#PDTG_@l#*X  saJT=EKM0D֨ωU~s]W*nr RYm3_+~`)QদTZKl}):u]MHd*sZ ѡ 8ecui,p?tG.yo* ~;(2EҪڤ[ZZj\(NuuO*jglh!y[%KZR6I T%=뷡8EdWGVԚ1t3$M<5Aii%jAtv 6g״WJ 20:!YxW*?Rn})&h@hxeB "A. 3Ne>*# #P" Z9۾f(1/KaBF G?JשZhPdҞHg?ImB[ OJϝ8Yq OrU+_bW0Fs /'-FxĪ &ȉc@gf.ruh*$-ݣ"k-9kpt +ݰ}m8I,[\|1KRzoQw28G:oX6[8ċ9,A>h^\1A5FHD*$ @ @^¨@ Q?E)t+ *QQ@%GO3Lkve\poERn#PX ߾yEҁnIRh e^7('+ObZ/BWRu򯍗CnWVŭA(&z/u3XV\nC6!f vPš 2kk\K eu꺴ͤ-/)*RI!dA vOc'i-&9:FdlJ gQFx.be*Ea(i“A5AeBj4HO3p2I՝V2 T|achNJNSWsAJkjkާƤ ._HkX'^:RdJ{%&*"3,v.RdD.Eu{ҽw&]'KqJf*ێrpkWJ<#TYrA=QB!fmN3da2р&0)meE|\PlxJ:he~~%_6Ji͢E  FqthpA?hrLrNO)iJ,y:u֪m}S·#.ތ$"pvQK+vldFNpް @3'I@`D'DEś ?L;xϩ^k?aPO'9e58S>eeJSexփ YX_q(x+"5;VS:XbF/;Bϋh^'PeG\&F#C2m`nXB OM {r?Qb Ê)򰋽zxQPH2S-^05`TFHI+7e'ҫ8%8w6!FD,TDθȱWiRu KaNYto!3}u_IÔv䥇;nfG iհz!,-:%>/z мj؃9. K=ko1*ae{)LDU\#AFJ ڭND飉Y%R$IHG)J<0X I(KJ>I(Fc$4BDxl:Z|f4'Ҹ(7IuO_TneM7׬OYdV;@z4e}fOߠ+'UFu+ZP׫TBfrHKH%H+<:$Q"*`9*lLȜҒgl|MPP'dEbM 5jƏT*VO:_ȇ?QA8Zw$\( 1LԲAuYѿ\nBaD%I1VM=AhqO{$+IAM䢬ƈUyTIQ%uf qd  PzQCty9Nq*pTzDzθ♪LtrZRLW}BMEy"XUE刽M[KjiI:Cꓲ#u S1g'U ECZp?R fB!oL1gC"͌[#Hȷ||S(Zdt\ Brm%@([S/s'!듻l;qnV١,ZRkYMtg=EyV(|pKh/'NwӇN 7Z2ѭb2LL[*te>}i4}ϳ:E.HMbdSbRi% .} 4!|-:a[4\sۏe/Bȷn,ِPDG&9" oPcaUfp'Q~|;mqRyY%Ђ=WOR;-kԂQ1ՆXpJpUqL p _SiE!^!tL/h%hl%ݙ)Wwz3R+`r Jrۢvquz5JMUU9+.(4isl͑ 'ȓ/dc\za@&k'%vcFQxFDھ馤z1 wKT~OmODO4rx!ܣ}?Zj~P _(7~„x(F%:( upl` "ΟJY/TXaeݮrt)QwpnlhL2D4jA &ЊY劊ȂtNi$MV͑~Hnmk)%*ԔSgjly.9Iҷ gl)nKɒB&7L̹7nI%97 Bjb9Z9djkg4t62d,8~o4n5|cV~W** ̔/gg~0 K%Ń9c )>#;D#JL34$ܭGɩJ_?s+4b&HWUL\ksٽ$F#+sSҢX$xYb͔Qbs,O;_D0J|\kJ'X2̺\Hq^Q ˒`2Sd! J|9,kSVٯ*h⪲(s@qU_FRtQm&U\),r׏¡YͶA?Գ,"L2%Z)b[LrKU d`"%i6.q۶%DCn2@@ Mq{O(o )Ic G?NI8K8ENya1kׇ" |~˚m <ݹ,;yݣ +Hfڈtr¢R_{Πق%=xH[Υ KR*alhQTE=FX500Hz!|^1H8rb\}p~eg G`ZPcS7_%gcYCrQxODיV~'- ޒ*-.}QdL=C麫Qd7FXG] :uD_bKNF샦m!ruR:LTզAe]V:p7e@XFn D;2))RC!B5HtW+ UYcvBƭMQ]O5FY~@Mk՟"}*4B:3jHuζ:=bMjTO*[LiaYi  EqAxĞ^+ve6>)Z2͓T^XjPrJ'f5S 'ck."L~##CRc3d7XW҅rI"/U]\!a7 ij`r\JH;쉵Mį'hA"[a \t,h舷vH|A97$xNfnoIsB<k 䳘}F FHXL& Mol?kfPvh#줄k -m|V~e}kŚ}SZݖ+REN1/-O$)H̪HcXzUh8PNQsyi>Ͼ;E"ЮyQZJrn%ݺ$*>ݑoO;}L^̪T{-gK(=tyZdoxFզJnqlьDN3Lt7f-XLlU9>(E" Mk` K*ĠtO*K@ٮe(Z*^ir"(Y ޔ#/{4JAo5NzEDGڢD8}ZMK^A$OնBjC :WIA$n_j$Vq9LMq^ ﳶdu.hƇE+PN鍥Gn{% lVCU3׫9ˏ3PfI&zsS9ocRt54 Q֩Dl6EKͶI2l3WD٦uk*ܹ4XRƵdEl!x ZdXhbl*B2ehUx`kg$"Q+`|Gs(#RUدJ<[ݾF]̆ۼ-D( jaΦzEo-!Z) `kQ"Ց#IAF Ld #Y6ca!E~peHKOC^czzmjrb:Ԓ$e㴛o\UǣKs(ۖ&\0f?EGcƫ4xW5Še5bM}R:eCuLމ֢BǞFs?6D3iTSgIrR33G h՘֜w-Wyc"2&1)M E5niW !\Z&.}ȆJպixm78z]tCXq7،aId0{8N(ِ0ÂBS͕8P08[4^Hϖ;/s ^5(0E[$PZ;>ܠJj݂t'O B\"S^,iŕN\8KlX hϳ}b%$Yi16p&Cuqv5^7TT+.9}͛q*bF5zWTެ&)E%CfhpDlΩZrg C1B(J*ZYÎg Rpl<bƷGPD**<|"Ȯ0P /n,&wu}bZ]삜FԶ*P-D*P"l LGeO0h{_aR6G64Zln2hN u$Բ2V@h&3,RjR@/ S1LEV6>Z4! k{+on ҤE#uʣH_Bffs'_,勉\IQh9HX$q~8vR= ںpMA7+gΚ>؄D`:IX&Bpi-ʼnI &da|Aa!R@#1`v+< +E TVKl},LdBbBZ3(:pS"r#6WD):bza `ldx>+XRSxwIC,[y6:;IM;!pVn`E iJgɈuoN#s|촮֗糅A߻20"*BLl;v0rS11 ڞ#ӑPCo_0 F. Ľ`DYY̅E^{a08Z!Ɂ!xF ~@\$8>}Itf!z\D8A =b5'i-uV!DF / cZH^aR6Uv3A_бl=Ad˫- /ARɦR[" UkRn6c0PsiTkX ͑TaPѿy<ݼ 瓀HD>v+|_)"p60g4=R>"(Qo+\Â>HRRSk=I_X#k?ZQ4h- M5p? ӌ瘣͘KV;q\ Eo1@F[eT*B0e؁QrxI Q]xڙN)ENʌ1{Iy=K58L Z7C= ɬtjx!aN!*UMNu B"18e#g[`,0YMDrajd*;LKj$Ƈ;8(2L$d6OL%G?M+.85he++edXZ%[s De"r1^>"&K[Ga ) 6 M h鞐̛Ȭ;bd;>>{<{g)w-Ϲ_6~ϊ9 `dou| 0)SkȂѸ̌K$L.,Jڙ1iU+eM͕lRpX%DDrL\-PtLFA r"51ܱ#тr&]Cb1+`LVG:bs4C_mWdhq4TM!Ȉ[o_ $v1A1}C5 ]gjY)jsĂ~D6|`ۼփ!A*]pZ}tqG|>&ښ3jwꍅKB? )cQt<$ `yqOwv ),?=B* 7^PK[t@ȠעC"; ?Q@L`=tw8PAݘK/TVKj ې'_9M@W+Lɛ,_R"hR弽ׅdNl\ew:&8=E! ;RK=rty79edW^[CSc_H1SqVVie(:e3ډ(btgob]&OϟxD(uas& 1]B 8H;ٱ-0 1'2ĵmq 6WtkoIfCdYDXٗc{Kتiњv^o6i ?KK)6>ӢI"\&UeZv~+h")gKMHԓy/O7z C[STQWӋ]!6hM&r-ZqF+ӔIK!g`TBdJT8LI"Ȃmw-MZ#6Bq8D8ԻJH#$[f5"[rdHKhbRĂxKiJ+7#]^xOd9jY@F[O`^;IL]cYK_]BOw]津g C〥Tֶ(iQ<'VQ -pRX.#'=Xd+s~KvhQf?4d(W;T6q4R}یWS/vtf"U~HxZR:H2ĥ+ϱ0 a\ 4YZR![bXE!I!;@ܕV~ yDP O-l!U*2{6D$:plFi$3{妦ll)6˚UojEFCQ\设%@0RKm/ҘoUũdL3J?T{U/J*A0%u_֤dk_sB(/OIl%OYKNӎ0C|()NTm :1le@EjR˜yr>^5iQomu%@0_-5>0Sbh$3Z]R #jE䊢{t}d><Q$LZz~#s" "Fb1TvL$5%0 #]"Pج `|"nԱc wuݬ""L/P݃Mf{ ڳz~.nY|G hb'nw邘y4hRr [bVˇi֪7q(l>aRJnWq¤wKr1lWq?Z @hZpђ(@ ¢~B1\yF=Mi%1?q'`7#ًBpAI'0$ T&OW8*bܛfFl&YG6ǁl^KІe opS% _"'gl9ek3.g ҅jxK}{6薝ģز,KvJ|2`),JXrrTd$'I-P+ ZI+z[Obt]Z-&o'6OS_LWi3eg^ݪo iX1cܦg~z\(7j]S`T @@<1:D:7)!h@K"% _R ^r6&c5Fix0آg)ara>‹X;ܷl  %U ^6VX|Pc)Dsܰ4 dNE6e~3֓GqL ”S?:fKw 5zR_BB8^^t$-y9`9QzҤ< SY C׸ďR`vy x._|ײU+WkM]+X+ /P0^\I⣲3*$*-_:=o (O4v"=G[jL&n2Hwhe0!hm`n)b.K=g Z4hQP*15xf_Qv ޒ=F@ObTI7y93~y -YG .A 1錫[)EfM)V\vSLkHC^1*%)VeMӈHׄ ʽvISBVMBuS7\^>_!%`$g3mma2)q"t:N#")oQJf KsK#aiɯ ;J2Kđf_NJ; E Ezni?6y/y"tCUJKc$]U&$pDCt&X`Hxl&ћBhhH 4 Z[#TͬiVw0fMiԨJ $-do*yBdHK!&^@i\**F7՝սhۡhY&ܺ:l4at ?}RGr3(dՆļpD\AA ґ/*AjLba@5 c;>wdcFP{l\XB?_37۠dUrX(5q C9$NBœDԓvzpn^Roծ|t~ @BJN H|>loq@>c8Qwd";LJvRd4q_Ԝiƭ=*2DH٠4FJ Dbm5~~ɨvH1Y y!pjq!1dhXNNVl3ȥZ(e^9E苣+U6:&hU EbmJW>pL}~"MI9H{Z@|wīmuL,4tk6\q,em9{'pэ-m;_+1b4'֌!j.V Ҫ^4l7I S1Seҧk)3{iku=9+DWiKkDߣ"!fX4GS!D%d,BсU>g6V; -6`(I sQem:ǤwXJ]);,,ly)! 4p$ _ (H*¡0B!O*p]1#qHb'JZ^_ẃO$"8o޲No%\J@\H EfGE* ,MI{вV}7ɓ݌eȪ';($U8jٸuS$,5|+nIZ8;FEӬA{Q@P:/:vU 9ik"l4_ߊ4^>/x- aO wTkv".0k}w#Zxֵua%ĖTB(1y5Ld&5t1 $Hp bز Dp38}.(٪g0ƍf%LZҚ} aK7JjIS:#fcu [h|[w{Vey+G`陕9ÌO M^nwh d̳ް9BU$B0^Z/L'f:PqLU̒#m!çIk?>~eءVy^xc@qRIhVaJ8&ɉE8pŠF[QٌEjEΩ"Zquǟ1Z^uv &0Ѽ5! C:&xV>n!O O? m<N! P%?&d%Z%_fdCe=+^YAcKML͗NB̈샿bE(続ڽD-[Nu}Nbͼ*zD{Nhq+vSζh"CfT8\8D[rMIDQZ21x3&اw;ZUSsbWԏT`0_V?ßnUf'E&LmPm`(6X[pGhì*' Kj.cT\;jf4aDwCINT  3ѻnqry1 3';VLp\Gn$Giy\@R[!W ӗizJ&ٖ~QYe- Ԙ:^' nɥ"qd^oH 5//rk- q&R@i?%92MW^D4\x.&lHŒ6h-%%p&6E?#lE 22CaK%Kә"\"uMZ;^S%Pk|1|OjRM2xO0jYk~ϣq+1cp|V$7gIuCzq5y.4&F5r4Qֹ-Ǭ&"|jY#1pcPIԊƱd!( 6U|J?K5[FLP2;)Ӛ80*d>]_)p@Ht"b8h&dB"e{3O]EfJ_.=I/2❵(0*D!+eyz'+=G7=FJTp~C<fK-6̡;2y> vRǧZSmb3IK˜-VM| I ih[dnPC2ӼWcJ1QԻM%/E=k%g[c|T8&(.e,@\|&xIk'3B>v@qNBaMQuX9XCQn"N Ft"s 眂'ڦCHnG (qt[7t [:4bβ^RY_̂+0dŸ˵,I#me 5RJ"kll[N<;w'}[ޢ#rvd f_#P,ZH+%Ei[xLԏ-$oE5S;>!DWfrtrnɚNV^b&Jw]A(q ؊`Mc4U\5Z:@Q.%>#PM@WD[T@x)Qjo`VzkrC; [#aN>dZYwmY'®}5" !gSZIqgVؑ9d䤒[-2EJ.Tx Hcja*k7Nےa4'hM#Ε,6z>La80Ezz?$ȑcU%% ˁvQtlLdQtC叜L/P7M1:)2KZj9"̆uh2h @p.KfY(Z]r(&L>w$ .d>d|@*DU.dq'Eh9+ob7dY kBC K50 ȁ 6fFzeV/"-2.MI|K/FP!ڜoMM#eS!DrTIe<2J^bLK½|!e=7 )M'#2Dء՚2Te shZԊ6}"B/=}9#Ҍ+b؄[4J_ZUPe*$HQw0K9쟝_|%LG5-\Zuz&ϮuQ~q>xVo?0x)Wē G3Y?2.MVRu_ fMX,Ĝ'}M"2QѴCK6ܬZRKab7!ou~z .aH†"QfrrC *K튆C FM&$TEk%g)>)`H 0=mkˎxhcEEs؅mMl᧕];:vibFDb$z=NR5d^d86mޯT܊6Ȧx`pYhў1UTīf !8E+_+\/ޢ3P< M,L&!!sԀgbHڎ F.$]xH6+jG/XkE 7N.'8L:pVE"n w `x"|T{$(6+JcJA(_;yͭHk^e^(h/" ~DJH!|'_xapB+ca4Lӷ^Hoڜ<. 8Q nӫ͍D7H nw~~[ڝ\th(oc[FxZ pJe"!({@ӗd3YK7{XOhq4o}v jUOߝi<+:n_d$-/KG=z^@)Mҷ;mKw&F]S'Q_>й}jA*HFJ}zbO,ɾAк  PxH BXҰV;6f@PdZ$A!ޭ'm6 K R_I~"- tZkqF_pquI@smcɫys&ixH\`^$K{ȶ,-])dO[ZA!B~7V=9=b~۟NmU=VY//.B|{QԪ/\73Jr*jI[Iiӗ+jw$ݖx-h/M], (Wƕ>ɗ1Y'>!pΓER4WL\m%Ȥ#z4 %D=ċʾTosI*f6 ;wZ=@EYe#B> @B Ԕ1n07| GyP@IתP&{  2Q f94L@TO fe+BH4ʁ}/lL2>9X`v"UpLzt$M6ҎT*q:P[u- }p[v9Bgz5hؐCg66 NT53BV@SˎyRjXHw1:Md﫪F3 Vf\‡^$.իGRjˊ|! &7 ?1T\J2ڭ,eƢ6+DR((O9 !QolU|XPdHPe\)>@K4*-Wik)TYX97|i6!p`ʿ),g"{<jܨy^SG[{z!V3ߟ %,NX0[-/Dx`KIRke ˼8g.B}֬NyѼGlB&\I_ ␓\llzK+&TV5Q3_59RU2+GOج籢ZQF7iE"]TmUjȞ7拶PA{oR&f(Xz9ˑA;/8XBja'÷GF3l~|\h..$s{I.7Zl#u:JcAJP/O brruE\h5b:Y {AB6+ Q@8G&Q맡`NaXU'{gABq-J~Q{=:j,ʊ> cTbvd~Hç<کJ8^ȺYО4ĨMmf!IlOW%$L2 < 2.3fl=S-ZgC lY^llܝĄ(VjýSG w& 6+asҬ C+$k".Qco*"&4BS ^VIӤKTOjNL62DFp S ЏܹB2,^}ԌݽM=o0_i\3t X˶HHN ͘E6 L]X#>8TbIJQFC#hu jA!}"%$="3B2"{8ܚ5 3l>٨]@BTMIf=:D/Hv,]'ȁmʨ[~LPWRc_7Xܛt0˾ʿ5*O}E"ww-W Ĝ۷5./ oJ-~U{L-u$%Y}Hڛ$w[e&Q(WcK{ZA;:@@y_4§H2>2<^LDs+I 66:l,!X[M-plJަ1ĐWx* N:L'U)>ژ~?v֥>֒c%v&E Wk8gC޶OKT<6-'Ig+'XLO‚^;: %k\.niϻm t[kWRV6#R_Q#\ɦT/W6VjB47XLFlTjZx'Dk˘@dboͅUNYΞ#0mTwjNl5N1Pi N# HD dTLBXDQ!1+3nq EF?s4tyU $.C'ҵOpBT"j3DV*#}]ZH#0npJ򂻕v(j"EX^ětKVџh5DD_,Ɗx7+F0Թr1pΒ+j`i|/̄7&N|s-Zf]Beΰ &#C"% KxcOfdE;]$݂>Oڥ2UL\%VJG_'-r[ a o6J\7…,PՇw>Z (ɨw : oy,3]vk#tk;O S8ZH2yJeE'RxA%NdCe:˶@pyi@kX-pКŎ;gv]վ`Y+ۈ1!%qDLHW\"Ad( !Ofڏ6rZWMҠQOͳU(]AXog(^RD0d8o8qKor }.wRt`$p6PtTrJ%"8o%+x| (HͶMdtZh}iae&a _L?떚v>erz~o VrdLRIl(8y'C0~iҁ1k I|_ 2_A614yiz _GtJ䤣CxQTiWCĔYBI3W; {({ov("vh(i>R[0fWsQ>ŲM~6'EC%A#Utm<Զ- E"K 1`w:U BhqRn#u$]zCㅊq,e˞Hv$J~ٵ`T6N {G { **cg CMR`M0 p*EQT|G CI Ӡx1҉DE}HF_:K%47 "pELD )/Be}cүi)&:6f{Nkmɥ2,iVUYm]DORsQ&{鞋Q#^b=13)wQ }mvЙDP}%@a{/!OYron%1RXyNg  N*70Tx`"l 4`əRN" {]I}{)09]6pPb6tJl2V+>s ={E,\cx_ĢW3PY!#}K?DC\F!BMp<= a$6cl5e94+NZ``)A(E+<`Hw3CX$FnH~Y}X%֤$ALyRӑaliȔ)/#֚R'er3eXJ 01M/P+<]lA1|Bs/,)ui+mȋi愂CHT$;U$ (A]t͋i&{̋Ң+ | Q32Gb{U.)V.q'S?Nlg%LVexNY|Nĉ.Rzr({"+M_G'e rO_vX|XڪF9Rc$^ǘ1N<#Ã刍l<׈wwի'z~$AB{0bai7-NA2m'$ZҨ(0Rk) =^q,gddA]vPhpJ#}NC7"*A(~o,GYX6N+a׊tc%JC*Lt$SJ%Kr(Fd(`U f}U-*Wo ʯLHhnR HcлI V L4lCm @k_ ;&=n!͢DENA6^=,V.]Ԓ,KzkY" BFqZWf1 fuɾ0GTPV܍(z-f [N@< P k3*Ɠ"6uYM9tQ}aOfQf{h:~Y)¤,e!ab5uwLe%WbVSZQJI|v\Cy̑_uJFJY$M_WSFrLCCʲ  ;ߙBw A)x !bW x4!"èYz\`C;BF3B%04<)hACEDJIJ) dm?m" P(y녔eQ<>|NV PIiVBW]Z )&Ih -lr@D9J-[W}p.h%hJrG)gZY! k)Mu] 0'1L2}߭t)fXe0'Yx|XfJ+3 4bT wr(O>(Ӎ rZō|*)ʛ KU@pBbuˍhOF&+`^"T5@'K@>xA l"ìh<~҉}&t;8W}|MA/2bIJ@x^bm@ M 0e5DPej6 D l#"`X KmB3GJ弾(AO(/N}+.=:.*TBٰͧ]" ?,2\P|С%jY)d}&5oF^vue:nپ-K4N'L7 nZ/E]U4dA>'Bi8I|;y*y+&ԫa! , *{=M*Aa$1pC}r}91ϲD$9@LޔH4 0 4 7Dl8p1o0֩B @5x``fa!&c x5DԜ>M<#x 8 $AJvNKbt2˧N|8fDTEn*]*uYQ"-27~"(*^a]8\f[DݬBi:&6;!MF tU;E}X8,G(e4cqI[/W*a٢.f KoƎFmREh@c& (y5UzB7Fn(֎x,qc ,aG0N\BDž, Z*%Sphv4֦2--Q'  CZQ=,]\R5+e d󄵂4yD]r;M$"z,Fʎj& Pآ~0l"O{z,xb~2tU}Ld }D!* 餩a;RrD8ݑQR~(6OH V:LM<1rH  (O eS@!$̿@H@0 R,]rE0sE%? " l`0(ZΞ!DzrW-:QZ蚨{HbE,#CA%PcjyO\Q)sDbWKjʬie/ ՝Z! *p♧˺!LTG ^!NCK6rmB9>Ry9JE4|L$,lY): $Hfh 5Oj\#h`{eRܗ8B]WQfqƏNN0ȀZċR6I{}F$#{z p:] uo&K2}Ft[&qnbS+Vz먵ՎP(JɌB*yoj ])+`B曲W`n%vU]" A!5J#kIH{fDzhACi!.r*+_ n/,` ɬ8sO*1:aAaªaT'AREI<`C*앙#4HTeܢxɮ+l*䤤k_Kn9?bz5&>F|DPMzyp߈<'nBێ:Q2!2HRUW G "VuANW˺q4*1_:=RNgQa&*xji0AY% _BGʧP5 ӨWN\i0lMg<)⃥1-H),P!d.X{+,8e ]ߠ,3)0r3i})"[ ܙ] MVey{zJ:5D=r.91%&Ա$V?ܦ$s]s([So3. ruaPAAz<ԅ3/ +ANVȘr8=NZP18*Y4VGia'}aR`D$uGKʺ7Tqb~;2D N+} tI !tGd~h$[%(MUlm1B݈ l{5gexhcw;*b>n:Yi1 yFbþYϛ9U{Ej>ݺÍ"4ɏI/&כVHHAMI5(tF/zcͰD'rQw+X4EZy)4TnsnLkY (0"@-qtnZ]{)5%g"cW1i3<&.fʼnM+\4[h"J|SDbjVDasp8ajvtbR\5 'R4e~Mg[B;mK,I| bi.pYQ6C&W K׮DdfERkÚlԍVY,BOY\ػܺޜɏ l*gPӴWCӎu ĔVLvAtyDUcÈ\ϐUP0?Tv;+aBgnD2k*P]Yqnmg#>[}}iZA86C/ Yވ' RJ张+(/GjFQ8剩4Oad\e1e mR$ͷ2!nd%OqA:Jߧ?I2LKzU_E*% 6*ݎ&n"`C*ڷ)=~lRl( )mY׹H)}Y*)jHXdy_-Iz~OcnTmV&`qgVE/FuM= 3{\6%J3$yR]f6%"/)+c1+d):.e)[/]5]IOB+&g]VC+#JU]m/]Q蟂cE2ȇS]ˆ%N PԨWsIIB8bPS…!0+.W$R 51Gn ΢ 7> P P=5HV;I<@N\ QT 3+19BS}2:4 c泩JXu'%Nd85a tP#[螕΁ N##*J&:UBAI@|DD^nhPFt&g E Izs a&!!$,^3QEzo3y",f:&oȝIuG0g5+9 T]Z_|s:]I"o Ui]<&Ra tMTYZV^Yj˦k"': ɾZLwhS*J>PIYN:~^%oB0qWU+9] N}tbꔓ齈R;--F#㔔楟L"[3yVbBbQ-AGŬūZA}sOq^Qv?.SRDY4(c)!N-yX&K&ԃm/8No_G>>T+Os!a L2 'fzr6mI\;M͕89w݃ pgJC8ûDLm#NG0'8Q(R=X1:(j?P6G@|2=52~)`~GnM?ϐTJ+Sei B1$p-h3&aF㮼^5{\#Cτ.UWq"w 1. 2|!p`^m;ΨT %bSG2]< 0qb"1: ڊtKĹ""^S'AWCϢ?jYC5EfGz.bq4xAW]$ǔA !+J"1-lCiOL\DR'cSTBîDm]At1 F7̅bR&Je͸w:mZUzYW0E:'Je"[;D+dK&!yzQ31jb?rT2ַ!O3JY)2{FtvD36 Ȣ0MޯfuKqD@t&/jC?uc&3}~^3 kZ (0x~Z˜[EdFQaCxܑWe.&GWA擔ȫ0yLZ>BAt@!#q(ƼGbaJ4$0(!89&TyXb6 Rqr )@B_ߢN,8'&#X\ùC$xƣ_&@9II<*hsT AB$HHFpSѕBm!x)oYrVV7, KXMKL 3ȁCWf @#88OXx_(} H+sb6MBoǗ%O;nDT"zM-"$ 0c*1"s(Zw)Eg$p Cq"0͢Pu(g(lzH{C Ch$,(ãGqż *P(8?W]xX֋L4a|+)@B_( Pǣ4]')+[#ă1B[CS-z*8V JezH!e/X'9qRFTJl(q䅂Ԡʻ-AZUCʂAeQgq`BR! F9b!N ~HH CtpǑBi- f0װjV Q"OIr@ $n jkœbָǫh9e8m0eB6ljyiaɠ9s0>z)({_te󴸕-gcsrVRY<:խ3Z-%*Fr@˂+U9H~*1Հ/zƭ2֜r XXAN 0pT+ iOQ?QX0\`C "S-;W`0\+̡(IG$Sݗ)2v4X5 JgJj&;0Re.Ru|UM'[!;5ޓ0XJ B֭lsNUHH`, 1&lx`" 0iRV1%VQ4@rL,Q<ygY rxj wҁ/ie՚ biP [iK(6lM%ATVSM"1'gEBN2Za*8(/D$N #,Oc^Sy4 ғ`j#}$亞5ef'63h/VĊ!Ɇv3X F aOb? ^9D*uJ掜1|l)(V-&''֡$r(xi%8S]0l @iE6)+ek&K PD'E$5f9@eq 1I$BH5Ä),eibGMTFAj3u%+"ts܀l 8aH¡O}_sTje@k4 eibSa1to6f j,8T èJuBvY_~aZ,xf\ӶVrOq[pSc|IM4F-=.:l.}d!o(i's@=8KzIu(+D-x)gG| ֎-aQLp2j*y8sC0M+vF 0ߞަ*tm&b@"Mx#uJNu_3M`[Rir:4yai+b{HC *Q",%DS4R`%hЀ+1m _)S Saeٝ.BssıM^Ovҧ|ܛF_zҔ}%zv|-RRfmfWWBA D*wSir?ώܥ)sE" AR–\ )9}Bwvoz-ެSnYxgƱ;QJDGM+)=7m"Uksʼ AKٺ&nՕ-W|w)-LgOIc{9:r{\VձψWbopÊJ:H &H.}]R30kբ!PQFE3+J{;.%v RWyN6aHOA L#Uڎ,b(\q/gЎq٪Bvf>T1~C=E޲.y)Z{sYHb~f8W4J+Gʄc; ZJ;m Re VkHDSmPl$NOdIX[ )!=)Q "Rӱ8Sa]7&|͵g} u;<*jѣgA' ȭgMClq5Xc1J;5Di,j2%-@Q 0.b䛹ld4֐EKö+PCX×Lj Tz}#{2?rJ3YiBn7-4!KFs#9VTsbԉ_FmJB)~{>b a9fS?UP!ٖ%޻1Ljs *s+Y>LN"!dc{RR6:P۷h3㠥[AD978aC#iLR)WCH5L!|Z b yϹ! * s9T`p0G#D8ǽ 15CPfIS0E9]EZ.C o"?(* 0%1\bԋ#:9#V7맪Q4) P TUq=prܲY?C֬U e%LTs[3:=9]%t]ŒsJ7 dPDO1f"B4ADL&{ML\vep8~zU-tb,oc7HeM!? e+«!Guq&) 8F$ 1FQ66#SA 0ʱ9t0E aoP1ƔǺF41x:1l@BD0F"@ R?QLX?ĮI"%ͲbPZg%"R eLuAY8ݶv[3J`;MʖNIrhAd[!LUm ~!s)qWp=j:حDRlBa9GL!ݎD5" &RqY PWIS y.C| "c RtjH#cN0|& T! 숬gb8^H 3 +kFN*b2)Fv ePMG"2}v|+;"F9 QW!iQ .# TN;e9w9qly Rp.)ĺ"ؒz! ]J"5O$0q-D48_P U a旙rg$)UqiSbVueI_?IME;ș!eԮBТV" ~Fbs566d8h7D PɮRb`Sݹ`@Ȃ"b!d5vG,v$ES d!LD00 Ƴ5 V4^)yio'$(5wZe7qx:*@X E VR*+VYC 0()zR ۇ };age3D,_ Ff!.*0QSwHi`%n @G s$< s b$S +=i zb4]Fs!*B"Z4YbyV^p`9gW0;x97t*>-mbDaaZK% u" \RFKt06,84g 2 Wt$O@iTT&H7nW]*J4` agc\YzŸ05 1c"9F$ {\W4A>3c;d Z$Bs S Aa5O+Hjrjӎl M4$!pDC()^CSq)]x,x-T ţJbHIFxQ$GrF- 8o&",,R ,AN Ub2i0 !H֡eXjS(VfZ<;'q{!L+KIRwbsH%* D( R!fA=ŚTu\k "FxR +_S $ , ,EK Pa!w3*Y)xaL˖KD|zPI)R_(7)EVZ.O+Sa 1`ӚHD"'(kV-vc< J|˞ðbɷ `F/,D !(3w䐱捅qBT,DY_1ꥼy+ >IM(eEG΢wql Or(Jp}&=0  %5f8Qxp J%v>'upF(j6o7.^vjy9'wtUĘz@ ,Aaf1FB):YW0c|Xzi0luL5;0!DSM 8RBofd!)"T)dpiHžހg.KZrHn-@@¤ 0?+HQa 58L֤=By|ya4"sKP´c|(D$q]M VM0w,tq vsKȚҖXNT ĤJE(v՝RL qMH0'ކ+ R'SYWb@+P #`hM&`@$QԬgY K[H4 >t4a)CqNM3^R Jwf-؂ J9В񶇂D&ͥ1if 2 ‡6FE0ɵjT0k2Ui(%QaM̘*bc La0 p+(hAE*=GQ!F:Q*6 *fͰujQ^TB:" L D tGJj%:"dMt1EA Y]+*aÌ OD*51#11JAJBY{F3T!s>V;'F*.3;q1KxUoE'"bQ2Q#(WbYEvlҏ^C%ޫrWEݱ)#2Q鉄I  ?N]N*_\URC\*@v35E _D8$_JFʥ1Q +A[$ET!׺-,#sjtd)B _g"& 0i;5=#1;h%^}8-Jc|s.-e"a(ӱQLPNq3 X%|6fA2dVd=)*,/m)B%IgB]4,%[P:: *uŢ6DO\) Ɗr% pD n$WJ2ݟ>QAE !0E h ς& *!(3 Zϲ:|X0%J&4 99 a1dJn$Lr*a 4(A'BoFȢ7" JN$ Qk68nĤf43`W*o ķ+uD52UNn’f.2hOء0"epE8)B@FES=:R ь3gu)4"Uc̒8sr+q(nO 9 Q`";LNqh"D8 ],єApI<2*j"chAD%h~`xS (Q1RY#9h;?Z7aQƢA%jj qQc!DmՆaUN SixE97MB#5a:)#jfX4f AA6aqťH >R- brxAtb Ip-L+a.r00C wK%i*f14@@ABS3aŃŠ aQk&|&CPO AU8M ĢRe"Q^e"# ŔaT Ѣʅu9B"&r'8!X D0F:XHpaё C^lL"G3#$B.A BSP%dF:."!/k%J G P`-A|`'#G07t#.L\p͌FJB.A + XY +& h91%L q%|TTTw!U!W cYg,QԌa)V8dR"TiƉNRMyN$>"r  qsC&AX$Fb, f'8R@ԳUayfՋYv\c ̉3ӂ'K' CTb&'zAb5t>`1R@HBsfR,VhArW%\9ԧBL31D ;!dzv#< PBn0H|a T#'YE0D.7. gtQs!IwgcVҔq@eb-GՎs !v:@epF+AXx ?jeATܐ=tbШ$P9A@p:RPd!-P9baV5IWlO؝T pHDS@;\G+cYEc?bDI CZ[@ibpe+0 HF?`kB'5 9HqRޤ1 ")Gs oAxĖ?; \P$,|8yosM"EE  nm(_ ,ё(5+IB,$3?4Yզ eyR4hA9RBA{`Td_BS~$jdpj1l +/Va I8l ,u^Ž&RH)Mrcau T4"a X^<2Ū٨-H^OhbLSɠfڬAxoJ·5jz3#K6S و? 5T@$"(h/5eJR>'u F\:VY8ɕ'4SpG6K4Ax? HWhhe2,*, Xwg ltBcVf B^<%EYn% _[ yaX1Bv-qI9AX(FYPMQCI(cbu, È("頁D;( $"aT8ȪeF,VG%QuKK' w){8JEB!p0hsSL<#8nl3oIq;߼ b#q9IN8 ;A$1%cJNqV+;X2=ES{pEl4`~CB [lBQK'GZ{r RI#)R[d|4]cL4a J B8\NK+%X3}9(Z0/CaiF⨗0wv#DG"PMjRVb6mt}1x+ tJF%$+hZHj  $&3Bn<aY7B:pS^L8WC(j)rQF>”P 99DzYdEtvF!*rbPw;m(rhTP‘8Lh0V=ClJ$B>v8$(lNe!Fp% n+tAjv||P4kb|½c/,BQ8zPрԍNe DZCy"'(Vp䆂?H Klaimm92T r9-̀nɴ@K.d)mRbRx9Ą G)&%G%!,J&A{'HxfU<~8$4A- s!nG_SMj8Q-DXV4s_Fs@AyK+,|IRzDj,Q-#zSo(!ddų2]bl*DXžp3)@q8ZfF\+`ڒRUi*=<KL"VCڿ' H֗tPi LfJ&nO5 S5R]T$!ɑʡ=䮻Ćdij׏$q+z؆T7f|e 6Z~ptD!f0 o5U`1Kyfa7h~XjK@) aGU;JY_*yx#'8'nj(-D8Y7!RWhD)ge X{?Í -!PG')h]Ziucޅsa>2I!RJ‰%C >,7}) Qo<4_Lq,5'0;X&&d&{(E%jk}ࣁqhN+B ѧ#!J0u (^9*0Y=XԉAD9^E j Q6D]ZM(i$A]JHܒ[滭G8=nM%T&8,|iD0kPi b3NYd3!\(Ri\Ro֡ Bδ8hg`,EteB[S!sic)BSỳP`{ {ke0mo qC'ڴppyHlw~B9)(I|T@kɨ{Fҵ7"OrrĻF &Ģh靽Az,0,RRab*ahIyGOq W/FAlp4o*]TyԐǠ墉yIz#kf#- K0$\Z*$rtYĜ hSvdC̳c-˔= M%7PWaӥ;h_VH(hTžEtyyeJfRDNsXVʋs\ғZab t" q@Q$ZB\$Q'N*)I)R)Z `d,Sh$󳩁&L\Hx励 Ra$BP $ }f~vۉCR^(KH-eN3ղ#})J)e= ,vPA!a i W-d4dŘU"7|`x-Gk 0!o.Ixrx5h.uCB ,ۏJ FmƑsň(U+ʸDj+LXWfu(\"FQFJ[ ` @n]Tb8Z |\Ӑ`Q b["x) ,aM8ū|E{7ÒuZ) CV!2oy4*E&[A],0Ha$ !a!7.zA @,p%$1g pC 6T$>b-`Wˁ!1k\cCj08( [G:$KPH$Vbn_HN8pNrI?֏IW4עVo@%GVx.o$BK{IggMƅ][j畑A`yn*oPFrKF9pCIg*4(13Εt$~r0:Uq͕4,AjI%(x+i L84֍hAcAٲb"LWhQ&ӽ# -WE:cŪmLɀ$0!3;~tE%$BJ6Dtvx~iDG[ں80)1 4UԓF*GtLDtZQu$0{L붘.o'HU]Љ h4@cim#B2[!MYIz8ؒNMBd0SUTVM2>2P{Tk;XeolzEoU*n"Y %[%ↁXs1-^ݧDN304١PL[`@J(&>6"Ĝi7.g TSw_>:NDmT%f*]͖[4[K |Hix}A < B`3'J)I Aí׳XV^hhDN'gQ-l*^cR(E+ @^s TA7@Fw_O4h4|3oYKHƩ? Xi+jhev/)׈rlIʮkp WQ*}0I2l8ڋP) ~흛aHC* Hƭ u\QQwg~Hj$n)$Q? R:OfMID C4,T1if!h8ؓ)7%o'@6f#aæл~ s\XTÚ+*7 {[)՝E/"JǤ#*JLl@׵Mt]DzWvKAw" ?Ѷrr]lH9KLj ]eΚUN d2."yf[J ϷbԆiu.j& 麅 - 9YiҖJMgd2z2_ H" NfY?X.RG;4i](G:j35(ŨP܆rh_IUpZSn2$,>Zu4;DG)"[XxIq(A6Pe# `obx JrY 6ة8R7Ri7}Cܮ|=} \x$^;:i! = ,Ui5EYH7 cpZIm _Lmܠ #EN֊4}Y3;:s";)8w? b$ X`VLW6UZ_INB yP:xQ"}u0 dfRB$U*ΐH/w)(/ ˜f.R&5h{Ԥ\njf7=iQ_cpm޾]e ҪH[(^Y27=bZ9|!}׶r>#-Jw+lіnSeʘ/_f&7^,T_#DՇI!ZAMv%r MԚY瓷!^G?KcZ",X$<6v6Y_jd 7)MȯUp ^) kƞΧ^a>'اgFMSh` fr'~ ,%]F#}"0T)Z)Q&Q S #R\)R'gJ(^'2tJfԁc!qA4d*e4~Vި6awr+%)h2)[m%ӹ(9˽MkJ ,zfWLĥ8VDS@ 8WgŘ@ 5~W9/o1ڢ-Įa(mR*6O]:@}?FIlD$oZw*8yI"%=e'}r5zoڣZ1M8*B}?(@2uS&KK20 0|_oif}עAQkdZZ̹!/ټ #&ԆldEz. xS\a:)aV}5WQvnqN%-.5J!, ÛH/mWԍXЁmP dZxJcQ$ap=HAyt dtH%66=?P#TxG)Zk\|/ɪCP9m)p?PP$Z@4h[/ _2&ub811[CXo;kSNB[f^oaueLծ}TRe/h(Du&gIHTyb4&SY>ZH d*&dnoBĴ&\|AdX^Z Pnx>jN>I\!j$DhB`Sƭf݅I}I8lI6%'fmZ6H ӭ85\`K֊"Q$'u:PkZhD`߽|'}&xe+m2XP%.Բ"S ԡ4l ZFS)Wri{TQR\^UdЧNrS-ssueSir$"H:o\xH%L "T,i'"EA1!R (6<(]6xD [yf rF"bF@P:.л(bL}{F!XAjJE ;l2px.dN]i<,7W,K0HR, wIBl\v ohNFyL1{Yoڍ\@% 'oi5$䛋ΈÓQhM'fw(՟bFFXen]H K6ޟq./GOW>ccq^P&f(lU"vPo`lU}R$Zv19)3Iqb#k# zt1(N?:uUSPKhtWHaLHc3qC1ł{^LG:P4Th@X@a{ER6 ) 0[.Bb LReb I71WFsȖ TXM@_Bn((4&Rj;,\JtPUb@d.<Ƅ;Ake4hUZz& x,J#%U*1v&\;#CYj3:ΣkU_AO>ثp  `!>FԐĵxD@^16!~qAy/"M'ZE>V k6ijm>I.HaI804P';&*.{TQu,Y7mr>&-FuVŚݾQ-I=%PA2b,v)゛"uGYɵW XNvV$MHlszERQP&YL,Z$az4SV"Tۭ,^-ٍU ns*ԢMCYa)YtZ,RH23K#z*/E{#emДgat=pY'Ai6,]fdPN D1hm.Ԑ@_ B8KR8pqYhJ--vp&;V-%ql|]>63i$:'-V^}7 &JU"a4(64#]䒗a "+ /$[vDYUs,ɢRfL>llܜc)b2 n02 km!=41th{"%j=1 `9A6B֬gm eH|%,(JpVj%_Oܾ*Fc Vq7ڊ ʾW~ @R@^"n=U@:4=F˰D7506_B{EQ(I"-^HLF Sv.8HƁv` bT+]y yYb"ҜR ,?mC C BhVD-  1LH*\ &n$jfJ ߁s'oA!cvaɈ|PTjdm +3e/w .&QU_u=!Ei؃6[_HBgÍ4͝BUU }溩Q/UcPz2 ōsY *"0`ļhC<"%; +ב/ۀ@j Y9` ǣٞx'ݩjN| mL|ߍ#Oy ܆&wq.pAmq$&ݲi],YUZXds]`jˆ~gz+v[|1TIfۧ`) 8&7u^Q3;Ib79jOJgRB֪6Y$ re3Pȣ+V?_@^ȢVv~Mf1 oO V(0n:BVfy5\k4#nym0̥b¸AU22K gއATDڗNe0VZ~ͣyݰ)hiBsъ+4ݤdnblE߹6U vwM*XrRWm[A0&H }c8EV',XcڔOѶe*೴O;z^S"q%@ʴ<~q*]GvEϹM633]CU`zӸe-MYLLsTPT uTط4g*n4 XSD:.o.k^ 2|Bv 5bXʕ1u.Ě5E,a^==FKʧc$A4Ut),`>V:Ms k~~0or݀~pEyY16M]uvx5?┡k$B=`^!#20!wc}Lٸ di/ UtB9i ';Ug?eZ*v+[0fE=l|L%rSx-1EDgޘqK044$uĴaVvsܼC!XO^%BO4Ǐ0zD0f Dq̸X,ӀD,R0rj_ƎMܘkñcGXf`StK*m㜅1qrs%Wy'nc;4oɅ`[4Q̞o, ׊k]c$\KRFN&IL-K@Id[S;EWADeLI  bU0{]C ^3hڵ lU@=֖chF7* DJ$Bаb0KeϚBGJгHkt DT/ p:DyE1BuΎ/Bya!6̟<X`MV*V lyHx{ yÙ!+!_K,BԴʰ sT*bƒc2| 6E$S'#=7*2%Yd 0b; $aV?XHdNR qA"0=\ K.Za( #cpJd~\wa~Cf L3D%ф/,S$,Quܻ߅Fl * BC;7E9N0Z/-g"r'Bo1i_q:MC FN]N@_{>.s \Pa^&k@l'wTehmycLq>%A`՘_ԓ5 +Bk, ]5_Xix & R<,="Ӻ]aJ!H^ȷn6 Ȯ! UO;kLG#IJ29&NU}6*2RDo"r_h@Xl;D+66uwHؘn_~2? ia,̵~ox)\G$[ d0ܿ UyG}x fc?3Q'(S֒Q2S؄DwQb YVLbJ_Hjs٤Edk/*FsEvIvABQNm50M?4D U%L |.ɣ(bgj9hY/nK IVMq!?\ߤz#톂ץҾثu"_ryj~ume!%N` cJ]-J^>@6޿VvHQ ^k r,De{흢qQO\!cK_<{R.5 |־+RKO#$}BEUF1j"׿ìXSb_=RbԉY%.E:i8Ae&9Cr߽Sy^E>o2hrlfϡO 0rwӹ8:{)%f6iOE ZE/KqԐhc<~l`t{^Z.}O1!w*E^?)Y3_|~rb%C`luC@`B|MډW֤( Ef^OS a ahSa'M]aM`<h)z*VJHmce5}A]H|wȄKR4ƶtՠzkY +as7F棯<8(ߔMw5pxg,1{]3'ꠑ~3Zn2>f0#]n*¯D''NxVk@Xq{E0"* b-irۭG~g.5?OyR@ԢBVNB|*S * `R-c|HicP'Ԅ$N hf3G  1 @{ܡ$EH2g=rUP9t`>9x)VJ9T0lV.(Z *\'5v?s:y=KUkq:ͫQ?9Is(k&tyݻq "d/qVpuծdxnaR%!D\?]"YNS٠xڛAC8* -l@c1(Sk[ fMw91Fϒ_Hr[<-I$zv}xF^cW>WsCؾC]:~2~y2@VI#F7RE"ZvFUQ_eav8P'^rH)%4H%轵Z*yR7풞Kǖ*&ܡsѪC¨qY(St1[eIߗZNrV9QaQ f[h[ _d=b'5%<&z[jcoVcUGJK ]%2Ϫ{[0(77- p5!KDiضtkBd*,=MoYoWV)18j]ړdűWM-yF3h7XS0yad8PG5De]u"HV}?2~2w%YCch Hw|>b"!u܄Aip[K%0{żЛ{9>c!*WIp7N&`4zm~R"vy!N0JY\X qDMa`#/s WziD3AYM)K4 V2j]T+psAa_M;&XW1:T1dV͐8nVG#7 UDr05lc)e~R23zwhiWFF5=Dv("a `%0 UX rSt.{ ΅J4(4Ξ?kdtH>+\0B.pSV!9sRI.fp}אM]tRstbNA]*)"=\B*O%Rp$$e1:B'*{҂C B!Js_* b1_ůl_!qu!@HT9bZI_lE`T'QS/?1%ڕlW?Cك85 Y|J&VN%+ف[l[YH۴ŭI1# H^q"R0DVqk؄1K4bw pu\1zĮCs* $[P VA"1}QKj5/:A)V:VQ1ې9$#In%p!N쳗`]SHBO u./H +:aN H Ǯi6^qU5hK aLzswzAz<'6BNÖ<~.*c+$!LgxS_ID `Z\j pTexϰB'P 4"eO4@Dc~'p_0W/n"AAF|b[FׅOjVX٦2oGXR"&`A.Ύ 7]l/@c:RJJ%[𢮴X 77Ѝ0są 7V"ZvR3]XV&#X,1F+BDzM4̄R^t % g`I_U UoW1,%ߊʁrJk$B.ȯiuM,}a;.B/ e->ƛe3 Rv2ϛS*R"<=gʴB"n_VXRA$PSܩj;,k'PСXDrjpLu(T[H۷ߓ⛢:;nhAm6/bb"n0uQ s*,7"%C z{b>qϥDN Һ9yzn-RsA#S#]+DL9&7 Fđ7U W¬H$AzƇ#IŭKh֨lU^F\2(`iq77l&xwKR:ޑj~V\M|D½>)qfjZFY/iasj NbR9sN45\ȂFUB:8 h-ǫX FV/JBItymTFʅsM/t$?>.u觬[@б8fdؼ %1Jqfذo G4i0$9RGsJ+${w7e3&XH2[_O=oK #A8[w3?( ZT 7J:Eb" Y۫.MekyJV ]s|E=I'Rקػ DE ;֒]ik炻ەi} D;p/Z@G=Vl|a%80'؞'[#$[m~EFuZj.bi HxJJj2OPV4pRs%`$_wEI$NDS9Ӱ^/RÐO nN5!z2>'PbWg7 V !d !SꭁM˩&ͅ'V1j3 <;u1|];jM.3_؍%r 1,'g? ϛTd#KJY1mEGFF&bơ!#>)x29)^fh:^usRₖ*Ta%+>&\Q5^}G|ܽ%hpi&B7䈑.{<gIh&f]@Dd#=הrvN H|%SVޅ_2i~##m'XʾP'lE0I> %!֩BpfT!#:E(D.Z&%/wPQ@ yc܋5Rf*=,cD`D楪GvcKxȆaJtRD72+@M,^k3H1x['&'Fs0#' o-QTۅOӈ]s]f(M DS*bM2Xlƪ6­$$c"^ډLoEx1sQrb5'*'#.odU0&:IZq`e1ck-?3yyےD!$h( fpYHT.CՆ7 &aVP d4A0bf4D!'"ЁdwWZG\ Q.B] !@!צ 4].#%< I 0<,:0m|.aqObgu"8S'D,S, SΕ𹆊i*t["T(lHDqaOD쏥\||>(}|U36VfG]eЪ','ѶBrpoAA$-Jq:A|%aQ\gM~0Js1^נpR|}íOҐZB\N@3GKKEt]7 )5\l.k'!TgN([48E3Q[ 85Mfcѕ,,O_&-2 2W1/%ÍP08P8.<8S "-77%Dms#9*\yi\j$wtЩF:۠?i(ϗ/!%t:W;'ʔfSFu{]W\(w#!9g I ?N)ixeoꩬ$7|bE"_JLvRx2^"Radf&K&gVӔ=4#hY9]:}ELH W^YlS?$VNzl٨8 QFM%+!ڄ×\WbOԝiV~<֌zqtD5 J,ǫa؜J6Tqmd?MX6CsNoByt @n[IqkP[%E%tU' _2qga)sִXd-yQ>:ݯ,K>Yq3*±8kjt *M?}R3eQ"H=WiU i(+ ӫ;sa#0AQQ"H<1Q~N\ݦe4:x'dXՄ׶ ."_;캏!\3hT4Ҷm"מ>7 bk/욬*4-`(Q;[҆ƙE~^t4׆lt*btFCG쐆%?Դ!VUkunqE8BZ֦Yljm+X e0[ޥB\SkvfJӻTuLzťl'"x5,`/0G1qc_uEVi1 gӸ˸fR K1n5kO)$+}1I$nȲɈ}WV9k&[mԦv7 ʇ(TO/?HxsaTZ*![| ښ ‹vޞIɕ{Q沟yܚ܁ߓo0T oC'rŚ(Yiʁ\k`Ы3 Ibcn.ͨYs{Coْ=%WOg8q{SPNʗL4*jew;$`}f;\ )vb"\@x/X>!&:t~7lV^7% ӦijR c&Ee)oĸl"QE(^27R.;$EݍL@iH G^{؛ _KoiFf$Kے>gs$K).|4q@crK=" 9gbև ]zTopT $҇_S*xjg'n =mCiM氡T*L""Lޜix@PJa`+tofDEŻ 6A.B5LΗ5>_-o)/kG)AюQ&(Si#o `CD*wb DӧR{'ĒR?Nk 0g A#;VdHw魕VfEc$*'S' H> -V"pF(ߢHGʹᬢ+G^'sl "t%w{ӎP<=QdUR4) 4pHI>WuUXd0KTWm*e B,  S8$gl1u vߡM˅qU.Pu~\g :+4P5+G'bX<<+@?%6.> X̆d~nn(,7 ݡǟvQN|\}C!s G%M,5|#GG $p zgi7R2#Y͒C&cOo.E&LAkqP9F#R:HJ*c?TG-Igh"^FLv Q \Wi%ƺ§iGeNcBo5+l DiHkE0!k _c.!L6ؔ]N*%n7@RFZs^ :ʙo׻8=4WEMsוO$V/^\ ko6ʯqb)fJGv',..B~M~):`IP`Wx -!tɖNRmi!]koo\Rhٽ2%TbLso+19dvQIú6"D3<? Y,!YUhhz rODڑDE4jj_"CNk1 v[N{0ԅ:Xć֣ƭ<~z 1'B}]D=N8αts >jJ ,%_b(sfFazGdvz>+hkQR4{\J<46ƪ"IY~B1$I㇒Rr}HO? B=[YK)!w1}v?,|"ɗ-)%$S)HYpWڭS/CqeWgLdIrbY"HxI",Vvɡ"|iacK_Xrۙ9źW1×lM3 P $.doÑSH5K/ҟL)!9՗8 Y.lpx&,tՙM\[_ bZdu"$$X4)Wh9ɍz$R>P,M!)v)\5̻=[. 2"$HHlBjNakPL9k"/E5sfR:չ8T DpʒWzw0KT1暚"S|`O.iKuїiEV}i'OY>+c l &+,gFq5JC1x ro_ouvZhA\[D($ ^GِHx1i\W(-)ah *2( 4~T'닌 5yv;Ps2%8󖚠* 9$2bQxCdp&(PE\YA:@n/ժ:o_ajF玁1]j4mXy$tӳԆ?<Q70PcƛQ>g,v%kd?mS@iE ز]y+b:4߲^/[o$39&bE[^{\I)8e*0ۆV,Qy%LODw_@6EO8vey,!)hѱl5V |!|2xױb4Z%LUc##c(#gR|ˤEF63S=Pab;PPLq"eTDMADw o y TPt5kHa8!ࣖ!`3&XD `jjS2xҧm1e*7'ض4DwH}nVp>Hm'#b3>9$ܦyfWyYG]{N;ER(zQ/Lhlũ0r]{̇$Q/,N)7P^I3M#L Teq'흼]*oi6#!]&8n`y̹];j3)nڨ(X Qy؏{,LG)-Fۯ/ߐl?&n b(얁zusR8[}bX/:Lכک6sE#Nzoaw2Zۭdm۴\I7")<捪߬ ̑5V nV.˒CњP@6Ԅsvɩnbt'H{ݒ¢.OJٳU->! WU:xX,[Í,oIkII-^Q@uŨ( K,'OD6\Bv N{Ƹ Y}_EőD XjiI1$'̮}lt`b6"9$"m".U.&lCpTۖ[A"nHjݞ l{s3RYjHE%4]()ĩt'- r+@TJӊfꨉa2P$RMQ-˿<;]| kV]׿w 9V~PTI)ۧez[BC=L1z'1(Zn4IQQϧ/̬)^gܨF3rI.OǍ[)|dmo6Vx`l7 TW-v,G =䇂}8Q%mOg Mܨ"Ok=G<@c]I5HJɎn.M'/ 3GH$%j6dx=Xi}y(͖Jc~6h-FMj ǵlD H֯>xϩkʍC!ӨS/$gwFdž$*7?{3gJB6͑rVL+JD_5:"т-]/vBY͙C_q!!f0΅kE9D'9J/ axLNevDƖrqLM z.NR%|Ep1`м=/xm_T,J&1}]-@.V>Q+eXW˲m Lmy/ڲԫkܟqv~,*{7+! k 泯MV*bI_%ͱk9|L/ï4:pf)9J+U\ht~&\!K'cON7-ÞB*1ȬƿhȂl?G8I"]HqBa/qiڊd]*-y'MT=xȋ`}"Tm_G떎f;5@Ym!t BoS7f*$J@>*j?EQbw?zn|"ȸ=b2Faj"%O.{Ø"JU賬b=F ppTGAD3]mkaTuW\]PUmDsLMѴ%Kz>iP}SkOrփ]Dž?cC#_?e_פY0ĝvzD։-%eeenL'/\t !yDe]AD 0PQU0ǫ0P`#0 C 18P6 Wz KDbVWliܒO=ĂViBfTe{4&V-+hKM5BGbd0D%%6$12Pb(qcF"_;6Sƪ=y8/(]GGVE*".ܕR3{A Ld7 `(4ʏɏE G.6[z*ue42$鏛 Yoc559We'oCZ')iןBu9qֶ=/BR$KeB~2M34|X2rl&ypjTJW_(X>E:B 91x{h2NaHhZ=&eޔFJ ` |q2PH~=Ly*tUX`C.̚QAC~< ZZٔt^♏U_yx%M{pHR6bT>N Af װʺa1օ}7b$Ws?i]_0uz"tYB,DFjeCe.O(FA OO!^+D¯!:&Sfשr:Z C:z_TƈKK}@ Հ4";Z#Z߮/ci \.~'K+s@!3c~Z,Cl]q9\ N]W:,Kښqc-_ۥ>7~ :QK꬐F"KtvpUM'u:t!29s Pr-1WNb1{:+_ sl6^rAE?/M CB2wST?A~&Ų)zZ ;?O 8 t) SD}bW?èfAHsͫbf@sPFx jr"ד?"E_c("oWEQ7C q,6 6ę.'S)a!wy.7na0O\<5 yѩ]w.mBZ)>%Q4]9 #(w6)ݜaIh),NyF# ;) [ zHϻNVt$疁E"M8u; j&O␺ٸV#{6:G]7b'(HʵhT7,&1\gи"{'yQSRvq@`k͖\ nY^»4*_H'~i]6MQW饦rv5E&\"3qem/Ѐ!-i6Cݍ*F^I LƵڛ+Ǧq.3_J 9IHׇ B{wZvy+mRK4n S"J;Rb٠ݪriX>Ӿ5˥ZUሟ~ͣzS "]V9~d&4p59dm;0c;N-1C@W)n.!)jV.axT\g 3RNjÂJ%>\)#TtG*xmDڢ 27f81> 7 0{'IK$;0/"j(aYI1|p=p# 誥|6d-SdM#=g#\T= sy] ae(4AadO$ךѐl+zM8E)gR"=o1n.2q=֍5 KY4B ySfLAHhj'KVD}jFjBj#V"uxjꎈ!ɾk 4$=$ "Gț)cHU^Lx9_SCKUi|pWZT qJ/irvߧ>u=b2 :Sڸ+tq_#ľD>T*LW%W 1b^L%+oQ#Q) $!NlfUFbA xV0P574Nh`q(&ht_͋eGl[BB='t/Q$& Dv!dm8Eo쟯ugiL6Y\]m)}e.#RX Bq0!jAnVEeH? v}!`b`-. R9)R1s uR AG2Y_DrU/ZUVU[ }NX%3ʥ{] MpozNn)ZAۖ_9nrPh9_MCJȮXR%-3؏$,B=&)enKYj.+rwŷ= h#=bk,΍EHW63.MS?m;y5􈁿H{t35ע|sͨ.Ŝ]j2_2hm<8{N2 | L\!B#d`mx;d{2;D!6rPK?}b0jE#~MYe[Ӽ)[휍1a7 SKo$,cn[l5~,I7}ʝsˤ<ߌTzWEwOe7V"f2~0k0 ID72ReSۘ"~4_bj,'cwVx `&x!~T1 ]*"2TN*a@܂tdDjU>7 uLb`l,f-N8^=} WLy).m F#R )V}@G@JOVtF$mOCέD^BLTˡ+S달Ԗ!Nɠ1c²Eϰc"(a,-qN+\ioU5CW7%\6)*'58; H/`viN&֊uLNn/oy1{>:Y_~thюƺ1@\1wMGޱˀO4)yo(hT8Oؕ \GK,$agVjdvg'w讹86P_z+9_"Q^l ?ra$1=6-(rB akdX& ZZ2z҂XvEB-c=r҉|Ft#A:jk,)АO"Z(&˺ؠ1HRHfŰ(!""H¥iBeU)uWdiq}[3[1AzMפ}u9%f/~y(MV;<[F&Vd DQWs1<הWReoď^J}&v}T>}qU{1*_7-#x?T J [@|sk,qomg #5dHDH1VܲPT#PE)Z7;Z.6Op6Ãȫ< l8N.@]'MS XGpAoo}zmc,ߩgK E)FA]ZZY!_aSJ:ێi|>3?\$J(SȥM.Ki!gDw32{-oǣN<hdA\|іRDvAoI,qN2ڀT /  Y Qe`TqO(P]+/?9еrƧnp kUEwVTKb; ԍsnkǼaZ|\&uԐˏ;0Mlu$(Eq, !`U 6D?0u-2cUUbL1m2sy3hh" DoN]мJPFB8؂+f-f5 I( KaQ}m# 7{N`!!41@,d|&!<:Q$ȫ D\ι(i 4Q Jw$jFͤ/IB]S5Siom.كk{ cueIgF!nϛ-Ug,ȁ .-X҇K-<Ԉʐ*չ 0 諠iu5?[5Ab&ZZyy5LR֢b̃?*ivM:ޖh4&I%wùziz^5EC4&-H)o!i_tjbH+@(r%)nWddD`sF@Kķ 8&gHcU{D]J le$ <$>97gSQ X!Jh2e'oz'VS&PnQ 5ezɘΚ8M\݄f9* KK<h)/N(1X @wRCeRA-_Z0S7L9O5"bq0͚t=ҩdñf_D@w2;35Ds={|]trP`jo '1m9I?0NVd,NR_`u@ӑTTv%q"dY8χDǧnU $[F;L ϡ_c6F+FNpKڭ9lҵ_ d ńi뿧3o=@E"S0sS^ Rj0?I :vQ4U<#$b25 tIOGE]i[$li c`S#k7/NY+XYlT-XZR-Gpv)\?٢o SLnB $ȉp-͕ 64$-Q3$}_>F*3P>,-ͥ7}mtw[+VE\BF.d|n|pu~q%(1S+id*.1#azk7 a~BJGRCy#k`Қ xJd@AIVOąQ *٭,6h7 PkBJ*8JאzlQꭧ.J؁ԝJCrԒB.S`@x _ p޶K!2&S@|n²L!5$4JA0~N#MEl\_Km O~K{hSWV6ƈy @ ZT޽ʏ7D#nl5|ȸ]ܗ'YEYg.(U/TS=MkR&*-:'_N8K&YROL0 $Yb%FsxX)DB3NN-i"XMFAn}}ݢxwI&;n#a݂lOkhp>m ;`nfH. Imf~!_}.K.OLʪ]I7`L<@hP ӕ&8bsq Wc7c*@BbQ *c~pbu[N3bZ,{15!#Z8j)BZEB\Xud,I9. Jdl+]?kz*uY^J-败A+f=[nhdJ㺐o$5. DUN9goz";R(##3(1XQ{$_?m_lghEJf$ƔBdAX"Zx  E2~E@t] XV#'0Ika1AFI$hvRٹҺ-TxeLitV'? E"RD̾"/,&s'yc@ձQ4RF[AW0(iX@}'$X@x+HiJi1^obˑ8iBp$r1/E0uFb]4a0o%;<]5J-']tZ&!p 0F1v[ry@ڀ[q?C;Uey#BÜXVyUHVJ_,:.D%ޭJvB~qv) ^(z-" ]suI9z]KX}!a=\׶-ͅKr+i0jQ gj  EFh$$W;?Z=xcRZ]E!9w(22t]e8E+)sݒydU/Fu%[Ŕv|œҗ~V/yKK"t0RP1IMxL%z IR?ߎ"B,y9Be3D;J;c4Ns}~v9!< C2V~oمr31KMR06FQRϡU :Pb:`orbGN`O0Rrx6el#`  C=sJ{Ynyh$3Uc%mb-3 -)Ⱥ%XQg1øEH13pZ %[;\B2zTTN^=&C y"{%WH,H"DBcWJ`9Q\$jq,XfNOD@ #& 58v"" +XIP6I)It_]a4- "5ny k\Y*N ЈbSeT)5I.!ATΥY1ءW&1!~512C_ %J/EX P^Z?O*"4 ĥ6'5q%)nܽ#Dj)o KyZ4~~ƓުW5it#,% $HP&@ 'viYӃ$D_-ENe"T7cd(ϱwx #AIjh$sJ@ d&"v9*x_ˉ  Y%j0Pݱ]W-t|S"$u?)&#3cM۔b3@#xBE$%Yk3W]m}O*4eP3$}UU\+٠Z#? V'׼@{W@opvFR16Q@S!% \k6 ,r.S{T/[ a xEf]"%GF}kŇ.M RK|7Љ[DǷr*z2TPL7Ԩ#wjjs#v딑ak{B$ xWCnO3ݧk~D7sҴMlbմwHy~(HdiS uuܦXvGj-bu&CQ(rV- teg So'T|"_8g` QB7 3\lS]gV?{[Y:~}ʏ>|yk|dΡiqf~ADz.k}U"wV)1,Op*9nY>rRGut#-u8>Ke`j -w=)^ zN擮sm._Bcz p& 5*/ȽZ^aȄą l.j,k!nXI+}yӏ3Pd3HڿTK.!LQWy ?{w'4))5SϦMUDطkKFv0=%=d6<zI;: \"4]\er $m+_ &B:»)!$UNMj>b^ƛ4 =EK4 "#c"JRA4;F3ɤ)! .X؂[)(#IL4,DyYzYU`iDwWs+y;e[uP{Zڍt P󀎈޾r$*ZIEPJlgUvtFgЀ#3D0Zd=E:O 9Ka3R(uR6m[,*{X1iҙfbI,K"5'=JP "hs "[͘zj1 "dGج((giy@ā0nA5lcC,%nX?WyT̼[=А qu-$@,TsPnbmN 5ʡ!I"=ofSN!a y߯B3'l?vdA`lΜڟ@P-]hl^Mi&+DƏA)J5LFE{>V[4^3A9h~ zD5W ȅ"B>g:^U'T|Rjs&}-l[0>D[(B *zOl,HI̯A R ySz\]H8 @hvpUg@uDDWGY:Kfv`{ (+=,t!^UB*HFĉBsy:d=y6p2 LuN҅] ?G'Os{3 axŞkMqeX⤅7yqRUefC70""Osf^ fA~ \zE \Q$\I,2W `y6-|@YpS!X: 8eNDT2ޝ>)ʿhBYgg6 ~O Bu~ob0(*҇JĻA(DɨR  ={WW z@DS[%E/zD-2zėa1lh8$[Sh^aq[`Jbh'M!lX OES@G: ]7vُ}sޙtϰE$yƭf?2Rd+ A+t~VD:hZsg%Xg@*Hd$Ȍ%A).zr+}e8=ʍ:Vy64V.QMwNSD{1~H&(- Aa(=- -El%h< ,i9oS^랏\47lDrZDASr2pܺ b+'j&ȫWR{qM1KP"fomN$Dx*q {6$kui˺m uANjNbGN,Ba$gqKH~ۍRjJ tb"oBȎ1P"<&#;Jh>΄>04)NmpW㺧)D ɝ#0.u1inf.1,TNVتd?0V[B`TRG>8Iu\1:<@}7Vɾ<8F%YOą'5Q Sd(c4t*Rf:崿+TY77-DISꚕMu UDΥP5ax"<\5 F5aN[ZZ)11f)cCN&3dHO~[U9(PJd#8Zy,iڰ  Dk(%s]kGAF2VFi]tTC\!Dc%ń4UKyChĚٝ2~9Fj:%߷4*&ѓܹP.,冝ЖȧϊWK\hsB[vF!7eh bmF(2π*]DŽ6 "@p#N^/;{ݙ'Dl}?г~^Qh\!cgeZvesSŚBq[_G  [\ؤP)BF$;C[-ܥňB/=y4A%e+AЯCM!ĥ9tA(=d1Q{E) ,8.R)"ic SKEFY*` #d,Rͬ0̾Ԏ),/lԉZ,+2Zڶ䍊*ͺnœAq9fl˫yN5Ԅ>3m1M_c]\ z?M')E]t_v76H.szrX̀[`<uh"OK$j$?dhEa N"@tmeC %(D#$C BxU\HEDKYTBى0֨ ~F.^jI'\6lXp{E 4V\gsģZSnaO"▲RR8@u*,3T&nޒK( UE0&)C*yEnϑ6tL-K #H8$pPT'DQ =,Y2ca2& zUmxv $VlݚEM(Z\Y1NNPPb)!o-2mBz,1T('Rr:VrQ_߅wЇ@l4zl ~wxF@si_fN_'!N0Ql}#A=Xtneg0D gclᔡAͪ:bG9Tf fC%%b.ּbW2^>3Oj;P=4;@]i嫑2N;*diUU(FW &=f|Wl%bISfD:yTA%2qf+ͽ,ש=\l$s|g eGS! j;|ύDvK}8`Nb̢3AVy?CpVBT>uܠ,)h5=4*e9aMx#aFZ*[r6CDFmwCݻ՜2ғDsBBƗ\Qr7>*qQWb)Wt~S$DY͒RfzYgza5HK .Oo̠\*nfjNūTu3Kh$-Ă7#?O!kl/OND:aJ&R/p! d l]HM5Я!-D"8 cґed?P[ J bXְ8C\ )U6jht\Po=V MH[]OW(L^ʋ DE6jBsAyGQ4!4Ƅ~x!4Ͱڲ@[¥g+fF5^Z|kڴp1Bw♓>$4L!լ)ػQk8*q!#t5,cĥld{Ug*Dy4f=PPݒXkUCK;B9Νt2MDt+-UbRB1& BVr<ʸĀaݴ27:b~[X&Qpm!hj{A>K "{Rŧ(P2eg-.l'B)'q=P%i-|o?UC(؋'RxH/?$Qms)@qZcu_ؙz eN"V&Y,4mAf՟ $^@邍faGGM#(LkY*5fV\?6bEwg Dn?#1ɣyhZ9";;2krѽX)Dbӣt~lPH !HZHcq6ts-|+imًNP !6%PDmBe/98q3Pk4B:g^=dFԚ~pC9l3\YQk6C}[LXnG L;[ MB*%!&qR8`!ݪD |AXC2 /+򘥅6Hbi_"cJZ*c2zr /hv0ezb3#җ+%\wxf/*3Z^DŽ7nqDԯ2"!wf_D`V@eG];KCSC0*9JmX U@<&m I3lM~-򝼝D.N$-4Dw1`)s(ZӶeXk"#ᚗ3è0BJvl)u^Ùz%2@v&7pY>H5kV(;Lb1 *"A5JDBE E.ǒj\,=QةLjčM %R6fׇ7\U-%i)1ђRfw(%^{pj PB`rQc_}D FFL=/g,LiBZ |cXtoֱT/ќ3UH ˾!2Z t3O8ug:K N3B0arB<&$ZrT/n! 9f x&bhSZ %uoMwJBY3$\p`14-g jr*l3:3@f@~aq?ǥ9@aȨ_'{TB*fW E)IKK U4 ,(u. j&ʀ`쇌PaVҺPWeBU,q':EnGOH#J АC5PJa)hR7|ݽ `[K~Ҧ9_bh'_ee6 ^Ɉ€HIl/>qGEF5w*S؅[E^rN?e„qB.I3uo`#!_1! рOC8pҪ*Bs7p I(ɰhdQ FǕqhMNC|2R&^-3tx uB=CFjԵxOWi48XJH962׾Ryb'fB#0KV8B@ mUi'x򘒪؎~poRXdt Qe7佐6L}ý׻upw9ɸOyQJRo6y~ \ .XCm0V 5DP0+8P H#hJbz, ]AX_#M-.BTlE(tCNԜuf_s.oMhXf'UYx-PzIsĔBߺ#'>qDfE(mz"ON},6 I4JM/&R`\DA>y:$PJ1rt;H$DwnqW- t ֆ[M9j?ei~"%w0TɩBEs֪4, e_i B$إ,jab`au-f/efk܋c4ϻXvn~}1EfxJN ^fHBQ<" !e64 E sZ}Q|"@V @(6+oP>uc*7UXnڇR4/J:\KUdfl%uooDD>eڞ7Cq5A]*骬G9PНJ1:Э+&~YU"~e'7F'Ә&;yUK) J{ȉto=Y ^?w aǯH}i-N`e~ǫ ARkM*v#X6K/.QJHb;G*4D J>ܛѰlUJ 6>L+gc]YR|eԮWɥ-Z _=C]TṈ6 ,v& JQ1e5|Ѥ#ަl{Z|ҐPYivSB%ն2EЙX @*9$L}{I.OJ{]xP[M2B52SP]L?xzT½Z_lܑ0;`JC" .3ӏÚ˯Rӝ,$نBt-_=8UJ#2A= U>_%S;:O6e]KlK|Wz&+ g ym9> Q/P{Y+gUh"(F ԤsSI]H( 1R0äT_sk䄵"R)N-l$]Rv졅+uJ5mr+zma'K%*MQ:*r@Kz4[:.IHu&B&Tuå.6S]"OuSSJ/8$rԱ4$BγC5ٺ %%6㩳W!vm@ɝ]&(.<˱Yr*2:PȯH5ZX`UH9+:J"Ҋ3P_Nvh[;YgYCVj9f%>*mEG`PgCw[>~=_fP<]:Ŵ9D#%0$l_ 14H!# J[,5mIDexH6ǂtr0+.޹=c4 XBȀs[ 62~YV~ =KH:8wf3nzgi%.+`Y:!䓗SkǨAD+zg]N"\*5xS̹w'S쿔74VN'-Re#}4߈)#3ap솥z] -i` }⮼$~ nK!WD- #V7Y~VH ˆ z O[`B =M+YuT QŭL #Hlc9@E EV(v8.G3#Sn oT*8A!@|bO^~?\wDl+l"|n :&(+y2I:RMo.!ېZJؼPrV 3KdV.$%kZf%r.v6>BU+rmz7 ֹDLf"- @~bR==ÄEUȭJ,Lᚌ:(U .M*Hq2JxA"rŊ>{YxiO~e%iSt/+ Fn(:7b97,NP -gW#0yPH?MGqK:dRڑ53w:XSU}LTfFqL:~ V4 SMM%ih=Rdm:[$"{ d8Ii 0m^_STOK<7?WutRz|sJ[O֝}[n;eeqa@gMz];Jic&$Z.rS^OURZGk%)3$$R|+3bl>1gHB[ Gı  thތ}T 0M0WQQlY(7WoXM/c 346ުUS lk&xS9BA/TŌ/x;d6B7m垃n*M`0%%\kuzҿjwެ6&ڸL JY.K?'fx};ͷyV a)"Ɉ{:#;:5hW n6%\!MBW5('pޥdLRN,5Jw[.^M1[ߩi aBcbSn[Mw I)$9[K/  E!]|1OfV,o{8 _C.L]KkRmu^X! 4 c&<|[|.jjZ|#aY]+j=y$88dSS} TtkMZDU${IQ|6" O ShK3 (LP7D7Bd6AY_WC%ѹدQ/tcYnGTj8$o&jVj;S,g8zQMХ86EDhe=Ne\_Wܤ("4_#.w"єP[#hZ)uBUŁ;#~ZL1"0?m?IH 0 ;aBxF$7<֓N?U!lI@^ׯ&Lh,(ƅCz5XzDewF7NR !T_`$iRx4 |+9+xQJvٹ@/[e 'ǹT`lebg#hLO~>=V+lUWlaz[1=W;55UC$yYŽZ#fwhdF`w S3gH<:BjQPDq6W܇7O1C" J|ưݙѺ'ț"4WIY2J ЕThjfԕc+W4x`BJYm9bTxBVe -x&cuKr+w< RɍrRTNI3-y}Cxo|9\jJ Fy-1|4-|e#DWഔ!)* On1@ND %9$9'dXB3(sc5DȠJR0֛UFsA2*:T@9j_''-9P؞pBϢ佰rKM$Ij죯vowaE mU]3]C أAli]V{'Sg 3&8$@n>IfqXp#<ǝ"Ej̔brèFj*N;#BGAs I*.S6$qJQ.p,4w %c'H>]{"Ւbu_ kҜĠX@BZXTGiҐYQJjrOUC'?VJqqC?tM^!>h\"P WU-b EV'<4aHL2N)&S*P$R`'6 arKzxK)>T/}P?} wl(QSe^b't>h\jfISxc~ݣ*&jJB` a.E%:ME$ K̀niu+Xs_!6&5LU_U ox}~,M$e2s㼼QTq߭Wx3!,ygth3lNYwɁϱFjeDz5]i{MrTn" 13/&ݐ&9@k!Yڋ,ACh5gWūՐ݇܇ԉǘHG-br+˅2먊2"LL!8 0"58]R;'>4Ij`BH@lSBUn[,Fp[U) @̭+a5(]gc]`A'%6QMJIX8rϩ(s3`g&R!;ʞs^aBSWf Bb (w"Qɻ2uDGuG1"S;1(fH/xt ;!~틬"'NIh# Gk\g3Z Ӽ/S"&Uչ{9ilq,2\`flC &\tW;˯Z߄͚A!yc-tAJ%G7$څCbEH.Vc=/$1'ӭT4B"xNg?ttutW,2@S/;-QHQռ\ij G&3]`(|X~C}\lEqEq%ُ/wv}tr6ZG(x B[_=@; b L,قӆrų![઒EFW zQKۄ€LJ,lŐ4X,Mۃ%D4+jLN:ot,Bs.\uu\ ye1<|z^k[ڋ*f/x k:FbyX `$4$+r Kx ݊-Ll)棉뫾t5ᑻFAFgk(ˢIC\~"fA8wjMHiۉ=aD+5sy\ W IOL-54,bǎeQ |gy=ђly[~X[N$qp/%cL[ H'Wy?,ZYuKDH9kC "(x2^MiS4ߗ:lxܜG/^*N]XowavZpꍁWDj1IRt},sVnuQWyG g3j wK6nPlgRY~kDIV(Dv7dG(-cq$LVikT:)}X:EAc 0 Ϥ> ԧTgG6׹vj?#8HGi}L&(f^օb;^cj[QGMصx |摅a eYꋯ<`yao0iml-|oܾb-jOTZlVgn3 hI9)ĥbS}QE'r5-1UާRڪo1o"*d)\AEyILiӘ'V7 Q۶ un I֒}9HD4a]rY |^QŇq(Rɚ]Lg0r#<[nq*nהs&_"nj" D7 '^;&@ɈFR\\ tW9dvG^Je9[uD]maţ+pL6X>5":0_#Be'qC=,3mQN?y:Ɋ7 =\Y*XU|ׯckf/ڶبs:F 數9gHMRRMsqQG-b)a2}ĸ^&]p.d؂"M q0.ĒTurRbrLDYۙ-aE4}C kzKY =PJF#' wjϽACrVpFp03nVk;432?Y/kEj$PYU*µ(paGdEd1ު_lRHm\ۥ-x44'p2 FqY%mtKc|`(%U-9JX\ܓ+YȮ栟_5 YH}(4 ["UpΊZ2G@A i\"i1Zht}UR$ة"؍^?]cR]tä ^{=Ncz/#W?Y!\'Ba6ޛrCzF#KK:( „+Ap >+("TQ A5D)klO=Q %<9RQvݪ0Kgc|{`ޙ1B܈MRwQ.] k7NpUO$J`;sE٘D\al(Y(=<Ūa!4b 'Vp(c>Y*[9?Iܖ|luLPWHlAIhQV,㥎@[7b5ԄMV{x+:޷}ZߦEE<&>k"ӵ+By~K=ZGT28M}.eeT+Ъ;mA(9"yNVyt/%yK+ G\11X4V *e)6)m+6H-0iS Se?st^{j\q5 mCB 6nVvI+e F hF ȠQ=~_lJԆ= 5Vp#],N\R:SWMS"1arl12Z1Q5/4@nP\3? ML2|cdBNap(aЎX8}V/hBp=H- NwaWƎ@T޵C9U=wn(J s)@ۑ(:=ꈦqDW&;߇7 J)/3]5J77}}XCUt'2xPjϒ'q*e^,@RND|6YX@S[E0G6+@`8 Au"1sdtc֎ӫRn%J73[JX]ކ">{ 6Qj)7VuST=Dx!80Kj>25U|AW5}=7;HZvXLUe$*(&3I D 610 )Je%V7@D_vҟ _A<Ԥ]LuϡlUAm+JH%!hOuz1P|pY y#*--x~'p2 1Eb@j(_ @1aJoN[kpTOI~j%h+&g9ѠVQ7UyeQ>Fi)Ru+*ߙi\#ٸvC8)+2(2 vӱBg}4 f/YTD MZX )r8P$LOK0ԅПOB@HREkb|X湒t>,0,U(P!E/6x,5.9WM1_@U_Up)A6=FTp?؄Y0wmAȌ^+&s/YgaBu90%Ǯ0KTlj2<5SהHTx* jM;U~ u,='sBLn?]1қH,Yw%/5q\@w3NV7O9#]0tp1~{,F>dh)%WЊzDs[l}M{L"]$xUD#tcXX)U]|f.1FxTYII~Kj[w' tH-`)b0 0@F@U@z4㝧+);f$c8BMq+JFb mFѥ03tcϕ+Zi+*,V&Y`@+(ߣ+tf$LRLcF]7o+j$cU-J%xBTEQ^`!|HPg|l=BזـrJ鈙_r:/#Qg B$}].Јrr?X!@m"S@Z5]G]eԑX 3}rR5L  ٜ#0T%aԗ1 B,釤QY}C ?UNc`G]3AQ.ӟOeDbaxa5)/BO.\3ٸ,:y:AKx~wW0\7J#Hښ4NH/NͰHNUE̟7ȘkeJJ"ŷ)],⹉GcͬQeǩXRm@rGEaAK::drYSY5TiŢ1+bBKL(TmYonrqJ1@ud)-KSNKUle;t4(WE>׭WgU$/ i~ C7a,$7>#,l0 NLOӼ RӦLo]~mh-TQʈEU-DP1DlTSA.nd=66緖RM|Ayɝ_9V 'zT'<j퐈N(f(ِ}9f,jrLx k_ ٧Z1$Sho]Qd[fXq9a-?Ma#JţnZ.y^A]Rz<>w2Gx̪%(b $w0-Z- A TQHR;`lg 2 ρeP`G#oW!KZr`9W2 tpƍɡq) MN꘦{"rKeGҴF1 Gd{^:[zorPs؜,e;;*`TXL >hl8Ug4#M*}`D@2~hNI񙼞.6c^QަZh~r]9pi`8U B5m* wVAĀ:B aL;lEp)XiJ̥ 25?qfB,gjǙALro8HLU -ʰ3r (7H/+:>_VtEc]5<ٺm싛\rFߟ'.WeKlN=$5<Ďg$ղqE"R6QSYvT|P5!ҦxV`F^Oʡ/XDQym.橡M@0hL zdtpr)j7ym6Uw^cǁ"S%;\[Fyp2r12WA z\ *-x%%wJ36&Cw.[ܒ4ٓ>^ʢ|V𿥵unT$,$e<t<,6U>פw2 B}L/6tR(b%d'͎ ]Cb,\[&t A}厧"GRQ0c?#4ͤc:)@'XP(s5 E%5{@ɃJWt!%[uF( HAmă̾a%YgInU)LUTSOH4vcu_`` 5}EkJRBqS0Ǻm;|5mWz]8z)x *dD\dZ6 )#U \*d8@Ģ),h2g%5,2QKwr,o> uE0I>8 tLHw7,d a͝tq_VQgٿ褷$;- U Bp@z%Wa!ыs@ŵ=ՎS2'B1{gD喟#&;ve>Pi*U:f>θ'b(5}SC}1LXyNL^w7&B#GjN#r2VbvK##1-Y8IOcAx3Y\ `77 zfbr9,]!2#m+lFgr?Iߣk,$;%3f :tlz d [$]1)< ),Gk 3HA@p!Qu'Rh% UZHP)֓55.nN51 m7:KT6җQ#Z1,IpnlDes+߱NklMej=e*ʎߊ,X4+\GuHe '붋IB`FBQx;p;gg-ïiKT" CꭡmtIIB(JN;~Ԋ$ٱ,A'pȔBbbֱ`Db0W+ǯ8&woXL4؈G@fdž/˞)S./us[{sk{l@noBuY/OI=ɔG"3[wGG.a^ J;;x)-i_m4.߷rTt>j͝ 2ec+&"h,x.;Atx,Sh9%EOju@hbdžN a֏FůsЎbEطVO;Y])ДT3'@Cu1.3Տ Xb1|\Y@F  Lۚ#yU I"\_!s}7= .ʾWG rWQO[CU9uŠÞJJdTRh}ĔϝVx;!Y6L-Țh8UtlR^h\?~ l+ TN3rpQ$h5ڧc':Šp2D$8M6%Z^)?Xui{ɷoܺxDRyW4ڡGz,0Hi0"¼\r+(rn?c9z |{XuKUn0t;A eTd4|ttK \X{{vi;yew[!jy[Rm7WwRYva[q,?8t[ YS Յ0J+;  eEEsO+䓈&ԟTD'Zhh5,ؼzaʶ %[IZ(4R}Yh/%r@b:A`.'fA:=!{\CWkf;S:NEfۼ$[n*؝SS:!鋻mOZN]ۿTel;k8>7e]":]m:BhH-1{ffR7&/IL%Sx. a(Flv2!L`DkVpzn,/%p !Ң`!̆NjыaG !?=f- ('-ZQ'EA YM m!j Yk_ͫwoxnT_RAeҠ u$g63~Q ԃ%kɻ6R-QidM]}#'la Rzq "敉Ѧ +'v :yLN`- m&sAPD7c^.ZYɭ~jQ&[p)S5appHD&B?C q?\S "H]з2qڊ/^D;h!ǟ6,'!IiE\pj/%+(+TE8Լ' Z5ԡIxR !}CԔ5`'?5j.jP"d"f1ס'z'?QOFuͮ:@Ț+Kr,ҼC:7c p3?װ(Kt&,*-Q񰶤@pLLa75׭C3v4N\Rr]Q]UB:7lR6Us$([սܿǍSO[y~;`ȹ0 uh"^tؑo_fӎ\0f(UQy(`e"S>S#m4cge~R؏^1rWܭڱKwtF 9k$jaC2"&Z 76L* YKY)2~b)M"27q.8y <"D]1 6oJU#H3.b)ej{L5fS`9h=w- ٫N[QX!U悩C/ݷXB”InP|*+-Bv[ rF<+7V!zXhgM-l%6źH+aL'sE@"qݞMKy*"mVE lf50Q"KJuΟ2-g@LLIWJIgMx7vd#WF'ܡ!@b^/ ԩ*V(yU,z .j"μ'.f,Z-N2,ɨ9RfTQfȵ ؤ^=6(* z 29 .#ĩJK&FIV1@ PG7QaߌmI⠴ ^D`\-aRڴTl:5Bs^ӥҺ%+('S]-Cv6G5AfW.KU\J@c9 {MD$%Q,4AJ151v 2Qmg(TfAxwG;_UFIh!&EHgu>)6Tk's+ .P[ |KFTJx`M"1Dḫ!],}$3w">fg)KӧE2OLx)J$fX (b|Ju%gTv rT KAyr: BV NX#i%-|(k<,GWS\:񕉅kIjIRME^9EM%Ͱf2Zu) 1xiO\WS$Sy8q\RrpDraeH#K"8&H;kO=P2K%60E.JK4IsrDlJ$rRCkNQ+n'RQd;Å؎:CuA( \?b [5%LnX!M{%(L0HC3H)KB7Uے,WA s3KlL+KeՍ㏵j4.Y~"SZTӻwGYx&-G؎Tkxdf /da#v,kr[C3$%Okߜo3t~R<0UaB{d"Qw* P⇎4JRjƒ#d"D1-Wba (+K/ԝݓ-7֫M.4 %V^+'l_f8IJi=Ym}jEsW3u;'Y>]QSLkz :K7"QEu꒪XIu1sFaÞ"0@L`R83|搷\Z9D_U'CH< !8)7u8.S>Zߠh\:.u`UC"]gaܵ cI;*b FMj)fZFZ2H Ρ!~Tpl䅟Yӊ@@$ gC"$>F],׌C (@pՈqR':Y=YOm,A3v+Q{ r '; Gk^InXr`EF U 'nl-+ʆ(%0oUß=Ht\nYiIΒ⾎[o+Ѩ `ETT#jT|f^$nOԭ@xFX! . (M+堔cVXN+ Hbj\ R01ՖDxD"0 =MGN- €3X I5'mA]UĦU9$5|EQ`kY.o 76>C籔syaT~_{dNܴDOծp@VFH*&sۚ|L.#quBIu$f >fO8"(%鲩ȓ3 IXԫ̳W_#,*Hȑ jKQUtLͿ3e $"d)\Yx$ЉJ7%;m}(B"偺"/Pjr&!7;CLJA5#CO~nfK&h^)jB[9s/Jg_N|6 rVw+I(ͼ([ؖT#O!pnhI =uҐgJPiech-l(I* z9|J/ BV-j48s ADb AYXRfxA*oa$K3֎ f"5g0I1bJbPq2A/q gbi (Tk,/(Tyɒ#gT[tBb)u˯T>f BrL0%}ز$9!5%p˝Q@ڼH̡ 83EGMuhBDZ y,14ʓ$Ƌm|PzN,Po> A5E|*Qd?m:q3LP\*"K.'8B! #rhїʝdžf ["Mj % &s30jm8^ hj -i p2D_Tk&rhʸa"2X!;>(XP\}>*.KάiV+rRLک4ܲ]?;9KL!1px܄Z"*iYߑ|a,'q16J6ʭ@$4] \CeL aHA`*(*?!vͮzQrh/z5w)wX>OC’ovLΫ;CU_eFfZp[kD< 8I+Yl iǞ<*DX^Ac>P8Cp)>6,$)Wx.۩`,@K |n)v -A`d(Ƕ1۝zN9ܺ=>L0euMYޞvC*+)!{DJt &(X=3h 7FM抵u@O",|yNaHQTgHiU3WNS#O"^(D))fxԎjAJSx| |w@iڵ#$|Q1e'lbזQ zDsCQ}](8RT.xHzTG2F˘~}1fmGJ.(Fk. kuش~;+2O'ΘD\,PMJtRpJt|}f~=+Z8Tk|¾uQ@}Ê[Bh8#"fbFn_.'}8ڕ ;?BQbe9x~X[CV3¼LD_ϞUO Ц2p8` NuŇi8Q}:VM"k;>{C^zEt[?}s M"ѵKx(⡈q&hѼͳ7ZQ)N2L=7u>=ozx,FTSPA!AZ- kP'SKN G@ڢ%%x=$T?6@Y1\L׾aN!Y /~C;+BD =!MU_Q}fcvG)vG Xٝ WHD]I_Gh(}L]edpQޑcM+K8'^3nJWra>d gV*9rUjvFRQ j-Oe g+QEB=/obcu|Y,Uv$P&d[u*]/NV(tR /z2FrPTrK\0wG40Z> ?sry"| ^<"IQS Y3s"Z_覛6uۄ蚝Lm2U껩ew|>9U#(#5  * XtI~(eUE?] p"ɨƒJ 1^~NdeP0·:m1TuMK-, l9C qӴQ' ],":7WdaSVM"ZEd.$jB$U^)c/8Tg0aFܯbL3\GcAkt2[=LEEJьA/'~pV_hP-J:٬ ט o -ch ]i;,Uj_nɄZXcȉ[4G1ϥ1Qx4X;aX΃!JK% (ea)S;L I %Wm"\ţ5|d50+ Ae^mzTtg覓+b*E 4NmVIaP&g ~8qD{_q\&J(B?LafJ&tER|[|50ђ;% t|/K@0Kpwu6Gt1u9b.j9g95jSETAulOQ-L?Y/" rR*HU9 ̢ڱMHٸ{5Џa˸ [vWWS:?=lQLB" tO*Vt)a$Ʊϒ mU"wcHqrxJAaåV^l6½xZb ȨJq֎[qB C+ (/65b+]ê(d Cg"c9.qr/! p#!f5YD]fvٕ?%,)J3J{Z[u!0lҌ\[@u+1R]0sDUA*AM'JI\jaT(VDffJ ,QzON"feZa'qf⴦apC>ЈBt_R'* *Xwb3*Y:I?n5 w 'VD>7"Y,JFJZ/܉N)6G yf+z-GhrqK9= +BX$:bj2<vSVP&]42Rɸ屒SbTl UB)h2kW Wz \u6#Q8\НC\6%k~]J?Wj:e/QO+H5LRI "KyDSY?RREY7cO%mF +%c[rZT[km#N8#l*k]b‰%WdT8ț{Y}UZ:RtN)Bpy%bJI/#S*,pWUϟKH{C5DSD@0)5(=~PrApeDm%2[33I^QC߾9d5iqR"U0+"bxD{Fk$B)&)]KY¡JVGC i8,_) a/giՋل-5XLK13T )#9]DP! K %tCE[/%1]*{i,Zj|K{ qԓ?Ab5]A?)yճC!œ1%I8&VziHGE{NԴ,ů|Ax^p_#D49r79;*>f9gŚedHe0Л=D,x+4ʢiܕQaDNji?T!si%w tR\X)^Q6c_gr*3a@>/\5^eS/DNHvL"쵻kD-Y7_$.+:Ey #:u[wlQ}ohb+ωj;RQ4AjS(HAE'EuK#xJ$D3/a^zf;]|eD M2;dl"Ay -I'(ME?khofY.R=M_v!JNVAWĦ̻Xk?( lrJ-! ҂[ h_9IhYC=( 86^n+i&wPJ79de(Dc渶+=Gb8YDoH$8RAMJ OZ$ 8C&00֐`~g% z{J# Xkw O [XБfCaEY,F-(& A8MZCÈaBO]Gkd@U&ޘNeR Y |W3P)ÚlNHY+ 1a(Ch6jV^O[eL$Z*gw$i\[Ѳpϔ"}[,hEىt_-c)ˤyƴ!7_ ]1|X c&Q/GsTZ ~QLR (~F "i Fu X%)bj|I ԛCơb V $D&cOy 5|.v`xQo zXOuLKt4IQ$atb74C$.^I)SgxHj= g #YU>Ui,8FB#¼ hBpǔOтA8ICZPp0wܛ9g<0$q|r6լ)a_ 0`1D#} ,\S6b zL\~`i6G[ب$(MaՆp;PSb9cBw$WY[ټ0>QCV4A" x)df I xԼccXYpBBXhE4T  RŘM% 8c׊,ކc,~*AdPe1(m9+[0"GnƼ12sG 0mma6O.:$u.Tnb+vXt)$Ip &T !'NJO'Pa-N() @Wxb쥖prEH=D]#5ZH`iJ=?2 * =F ⑋%Ta%xWP(xK$0u2D&$ '6(:~[$2H2q;-9]ΤҪR16ԯĎpRVIl1E\`-SX+HnF2yOIu XȺ̳VA_įAL܋"# NVFa0UWNj 'bu !NB C:V$8d$T摵@B\ubD˨-R/aK@)`5?,; _fK 4"T$Ae((C 72 nT9LQ`"< P9FK+6L8PI&]15 $_XEvDWu\)j h)o$pQx\"Ȼ(;bƮA. ƓbDN*I"P 8O>QXPMQV*>{yVH$b!yB 7"|!9RLT9+$2qm - "C\){J IZF4@K1(%FX`#[Vp9K"^uI+ $YGH'ߣr^J(qcT-KM1bl ZWFr ceˉH!f (LY>(a$h\R _8k712"HAk|ȈB̻Q}Iʺ@# rf<"T^AnM3t7|.5ωw>](Rnѹh}RjlZzx~ c4֎ڥKNID1u&B%eJJP^-rf1Θ+13Kv$ צH>:Ӊ*By?bVk'ǩ3"]u*s"ţcPE5NiQoiF^IGBPO559cYJ BWg7p:zȷ45XS JH+RT5#8^9,i,{Y IB7r*xZXpH+ L#3'B4;YkUp&h4C]5[d-a,-D9QҊbE!,DlRz5QHtp(s)}dYT3ؔ)@=l*Xu"~uB%0/3S Di J# Ub8B+D38$0хf'j»Yi'JwT!! 2~!^"-C+IG-(g쾒7MQŊͷet~!N|+rW+HjBQ?q9ϓ%d1Qd#5HF$Jõ )Jc."ƆEk.tflgU*Mm/PtS uՓ.S^bȴUG؋6LBӰSvbÿv91ev!)1Ey=_ܭlJ(aRP>Ett'em(B8ce"g&<`XFASqĜ]ɄT=P,gi(kTD)%Zfe'1KZGaF:[˹㥞&M egQңIFK5VL궿qj[$Vg2YZ!nCLhM6T*YʺcLAq-0[۸EVV;ЙǺP*by6K&m& B:cn=}ݪ~m1DeMR9a홋al $B f1_˗%KE CfHLjA1E>ovb._?گ"WFocsF9:%we:V&ے%0K! )' f#"Y8TKȋ-narV)bq1'GKwzUMX]\{DMT.sH!N]IRJl8nAa{2oř^r!QHnB'ے9,NqXA]~R]PJ }54Fu5D{}ubn^,fU+)QF8m)'!"!1cQʲeHqO H|'$AY"vU}Zqu.D"3\F-$tfG1sT[*Dq4g=U(NBfHcJ!Mc..ZbY )#ZRw^ 4-%zb`d %82w<.S0,}h+OG5|*5V,&͒mQO)zV!&Wq(ӽDŽ* Zj*NAˆ8CzAPnNPDVA$ijhAA*MWI! D|7 ڢ$ z,01=pi)pJ%T!*Ց DGDp'4eǴpm.zv19/HJ|37f+! H'{k$_ T71<O(CidزH(B~oI)HQz UƏ!\\m FE?* CIXQa>Mjd !EMk>BIaI`0%;m׉Yl([a\@9[kxACѬ&A8R`ord&'%0,) rޢx  9Sp-dR#2kXH" fЊ:IQ B(W&1c-}9 nRP)1zh)A=md 9rl+G$ S$5(AeyI5/I?H"IAMJpЕGgR섰 =#ҡ`WyfjqTU1Bqq&9pa[D5qh00IjA 8f~Oa&O1DkdّؓEt`D@[J l4QC pO3JcLl,[<#F,$[N!bKy!$R4E BE g.¼ARtW%98fF?owX$Bwfr CF{2 @H)Ơb9k)# a"`擄wqKQP yƌ@l<(x$2ā ƳpVA8"՜IKhQh̷Ra4a;Xpy$ ) )0T4*KP @NRQ9E8cwx`آ0<(aD9gK4P80]0Bւ+eBP/&ǑA1)=YKQ{)wJDjq0 J4Wȉ#IcP$!4EgZK \(T` UY1frh,V#`IHP@(M C$J`]8!l7ѢxRCҨU?Edc :bˮ a0/hTK<~ZSYe )d.jɋ|5+@_ WSy h{-CEsJb܂ P҄ @@)X'E4(EMq 0t dr9/Ԕf4OEҢx If@̥1BĬhyʎ4-@zh IS 0RHl$ 1's8<; 8bJ1"b3FIdzP]“ֲY ZX^rgX'$tksɨ…F$OLkM2w+5"Gœ_"U{υD[RRxʧDu# uuZoO=͙i6U:$JIvuPG-̍Y\ dB-"wjLU;Jhr '' Qvs͏ HHGØƟ)oGQۭ=,J)i?egBPGiL53=t,EF`L;%e9HE1..Tg9ͯJtqS_Ļbcq:[f&SE6Y({1B9JL*LugLq=(Lj羶uз:XRu: B!.X:jPBr+?*WLSN%;MkҲ7{")ǣ+ PeuI CyKBԻxֶ#E)iM0.h<2K͕S 56f u4NcBZ[A1AW9h7Itq2Cmjeo-VRG 1kIФwEG2)Ko/kDBYU1PT3\2$3bdkʝ@/G8OWq6PF)5VȧIx\23j!TK10%V0 ˭"\䭰dJG}eゴ21L/)huI";(K- |bTHTJ [C`L|{絹DlS{"Imk BCWD6Kb{'cD!Pȧ%\Y]2Q^IF"WiWU7_S"ZGTE2e:qPkKI\ݦ95!u*'/KR:'y_õ-SU?HD21 ;yvxd @L-)t7I1`hԁ`E.AX*5\3`+NGWJgsf@RB lo%[ 5"\Ӫ `!Ճq%*xwBTYA B&$\4sc(H@؇"RØBӪqqHϐ*h9+d8!nEw&f B V*YG>l bAajtz.=u3ǍĆ GӲzc20vU",)Out'~sH^cm6P3JyPCmQ3JW.ʨ]~ZDLJ W0ʥ9"8pBb>#( +!F=YFr29љSv!8SZyR5L2UAPˊ3~QpIzbrDV#ݬ$)IVH!E[Ơ)oP˵"?m׈.`U-Tg[E7d[AJk:VBe+%j)sDZXV)Q*LӗָB W*NGU) bmʙeO:YB6Jb1|aI!)μ;0Q*psTZ{7x,Ɛ!.}啅m"m8O}L0iNOR!fJJNV&h յsK XeRQ*ML NKY M˅>j.Rrcf x F^M;)(o%%CU͋LqaFp)L2 DX(bRH0ta&23Bmd޹v|nn%λZbJJL?%dQO*]0iK#e`efJ[F d]|U1=b=t9ki(E!Zq CRȈD#S3.CTDW3۝F4U f$JҪEदU{RTD]M3ij;ww3{/&JDv5vL։$=jK49*.\60Sb&)mc! T *Oұ4fj wlzKI9P*R_p@< ljч=#P { CJ.;$ЭX^"N3Cq 0  =5oe`(x EcKH=JCf͊kT{X^!+CBQ I@l=#q5!~eBC3SL%R@ -mVF:õh`S'aG:ud~-< ]oEJ,9{$IHcA3ph 8aeTAzؼto)s.{(Q$.1v\Kaƶh҄RLP$nw;IM4貉T(i1* K'xEM8 u^eL)H}#҉@%OAkEr\l"\H(si " {>CYXi0Ake H)8q[6*AQ~eB  Qy SEs H&Ȫ-‹ThS.TBN-v/t+E`ǹ6: 2PQkd0ic?/ Y؎@\qB[-XE;Q%XFo VkءG:a"!+8SpKqi 82#K4fnBzHA&Jp y'ТQmo3QR"VKEWvQ6yѐ۠A%#p[Zl9$Mm䈑-nZx_#C?>(ׄ_uSť K}~W`BƵ*2!?IY`\@D Yh,[<'MN(phzE@ @}yO(LPY0?l ToaxdI'!Y88&ot(#sbP9'ф8=gh!g:ϱ̂ @ R K$a '5;i.(>ƶQ6Ĭ1zW="pU a( YTG9I.ČC)T `Y]ׄ'd19 q"lD]%)B[v(aVUbR $@oKr=OqCl]Bm,? ”%畅5yzla)/PඇC= 65]Kw4 IA(_%ō5,A 82f hs2Z[0q}Rda Yƭ5@7OYdaJXCJ:BF V pQ#c $98 ZX}'1AqV$FL:> BfEF`Y'b5pıF3G+t8:bR=ŮDNQ!'Š# Nx "+e P$O qꢘK`R.RNPC+) cP a_C_L!E,_-Pl="s-es)8#G3R)B 4ARLz#HC1C#0CT1AŢwԵpFlzAxȑ&!_h!vr A^U!X6m8rrC.+B.UhГcs+%8EBCFM$| -9|pR0t 9 ^ pvC1 "AR/HQF$8L`Ս>FO!NTaNtSHs'u 3 ru}cM`sOYV`nrKM ʋF#4G3B7ҝ 8la!pծC2qW2eEBj6ZF:\`2^9!S)46>ȑJ"q"FGh ҧ/"p@Ր3T);?/B'GL0Eb4$-a\YE8Ը"AC>Jd"'JP3c XPE!0^DnV%ń0C; *z82? v B4bĀU ~8,g2!{(N2*.hUpl h R0 GCW5TATE1{ ñ a2q(`RVGbBSSj+1 G3C)]!X15I۲왻Ц!/qvm@16~D%D+ġHT""2{P)>!eR+8ˏn]`L d1wð8J*( &lٲz#" tZd;1!ZpBrraxT0xAop (_ǒc+3 ɿTVM&yLS QRevE HsALlBaHC8F 㕔!EdD*hHX{AFRe1La%(0$ab P92x`'BcUK91GS'HR8B"i[+gьAA$ҵ{MFbp΢rbnr \xi`ʼn"Nb12j2z~d %FHAbc^ "3 `)Qژ2? 9 SN W/`,`GBc+Cy]8®la<<)F4eofj)r #*WP"p6Ju0CZEl4Q6 o ab+x>lN«ڤ> H*aچ  B#H P<'%B/# vp踑iR2FgR` +ѕ9p AF J؅Eb%E37P13a\Is6R YA0k4$"g$ۙHi.aR Ha)#Q rZe]Tq3B"bw&-p A ~$"!Eut!! G2^"89+4S=kLI*XPPРc@B8G7" E]-qMǹe C04 _r?o#]L*=E< Hi *`>32ޢWvq8SE JBaƌ% iTa IP,¿X֑k!_ql/щCkB5C $)a8#xXN/h@ER|&ӥͲP[61(GjpUvJժ6Ś*ϱ TU!ΉS4DpUܭqÇ<ᣨyfzfP.vїY\a&SX!sPA"Dq}BK !$ܸ9fրsG 4aG 8@a(3>Z<|j/ `27%@KFd@I =^K(!SRAӖh&c!B=S2ıa ';ira SCH,U&(bX=+0(YG,evEɏ8T\Qr!?yE GDG@Ǒ /b *AZÂEA%\n,ȯ1R THD C*ڸ"([Ky: $)wqAAK5kwA )^lRIm x†Vu -_:b@)ħL bfvKݙ-"GpˡrM[XG"uYQ$9UDcVKNB AM C`S`XЋ  сL?F:Rdn;̀K#ʳ[4ƌSatIp)}A.Lh)p kꁂ"aE9#p|L=i#Z$Q* Z@eSD]"/,PcJ))m 欏r-DJ([?BM+aMh$BtX@,xAN`C(x#L@1kT`?0AD)hZmF<'%룕$nr9y櫁Tfl6\(ZAF^2GmlA^(R*d .TIğ#2NJ&1,Q5>TZEGHE,Y\\ߗ',*^Nᇏ [N AHBk"@ѱr $W2j5Cez h_hBFqI'BLa ! OxQKxP4]"Nxa( O9Ǩ oAFu,Y%&d'ls4 jH[JjEw[ %Ş%,SϷc)$ ^b1X!ZЃC>t@xk$ٰx-)5BQ6| aZ `5oe |@A "V䆝CJLa*x@|$TK`*'4%.0㜩~(Hi^&4i+aKhA啁 91δ#KUkb?VIڦQ EӖE?|9F 9QK/#oŌ%Ha[d[”_F@:5'{r4I, !@֔FPAHE^,9[0PB yCX@JҲ,PE2ָT?8#8!5./2 ^lIH4(3:1,/R-#zČ{ ¡rJ۪l Hܚi'شg6X `I} 4!w+n9-&A1vr 3A /*tE,$fa@8G'MR@ ZLR!J_=CCߋS @4k nr@'q sN1P7L 1Ut_\ -$ciAXQ+)sH'ɨ‡~t#bql\UXl^5;<3eC3RS>]qpڡWnYmMb-F\IZYE;cgR rmb"D(”qB(QA=Ԋ*:TX)!H+1Ȃ."H6y*bo j Z⋨_Dl$lܶש$)%LgG,uҒY .8Rӊ~ɫAjץ:/V/n`Imo&kkaDzmִߧg=JED)-޿!E{W //,ނ ! g.RuAb J0N#  n(bê„eaH G+E"lF̅& ;4܎F)!/gZhxf l2+r% Ȏd 1@$0~cb!(O!4=1*#l…;3+#)4DΩaBvOL[hY!(Wt;3QUʙ2hzvƻwZLՄZs~{n g̑$@`I|ύœE^T(fpS jU'7c@Ƀ_15(!wJS<ҌxEV*"!͊bN~) Rw"A .X[uU,t `ae+kRQ3"_V(W&k./9ʈRߡ>XI\nD%MBܜѪ$nPJB:E']t"-Ϊg4F+=:Q/e ˰bЅ*җY`8P)̻cHC2A36@a k P!;qh9)DCG(.4VPCeQ+x'MAh@< ( j`Wr1I&h”nA|J")PBB(S( G8+bP@L" H4`e C9ЮkLL'A `Ek/surݜ2^bk{6٭E |}IBDlmjع/bѺ1 zC*o8C)*R]#>g%4:"EQBъK|i2 lu9D'CwHFC&P0Sҹ{GTs'ͅ&W!ۈ-1)28 %4A(H,/[H&wȃ9!7^ِ\ǹKGȆPeT*!;j[zUd?Z,ETblg))DRd:-O@ o@ jK]9A2 dP[&Q%tF."AC,bO _;^Mk ?edLkrk6gD$"NzQmț ˃~˰)oo3+o.%Vξ2yd}rJc hVcRSm'Fa+Kֲqǔ2Jګ vj% F*6@퍁~ v *FH`KGaM󐕠;ks`(^I2k$Q3u$4yZ&sy51FISʯd6R2}EDܕKs@LeMs>"!s};'Izė~.WֿZ[fPBDc ;?-J^fi& 2C{/ӊ!3\,n:c>ାo˳7ԓK(O!'+\El80Qi갪]. QYWdF U0kH,G}+W1{-'& JM:Z"Ayƍy,%Q9KWZ" -"R[lnqFr ~s HZL#SH6u &XY>gqIls)}saȶ, w{$0Xr'}$'i폳9rD ,cV?Q/9Ĝ, oA&7$sǦ}[!0F^ivhD('GA mmM`sC/Jc{U+P`-/뇒݌VΗ\l):a|3Yg'J[RUF<(AU7EgED<^DWËsaX:i|4 gJzCunOVV@m#Rrk%ÖI;K{X,f/uˊ`_8됕dH=-cij439T}5->2c1@>7FR/FFCSE9&bbpZNBEcfh0fjGТ= rˑI(/P.-q֊b13)4e?GG,NAX̊ NLwH"JV|NYpnN㳧E4W##h#[.De ʰ:G{TmiWN|_5>?DjVU~Bn+E#e|.F_N[Hy&* I'ㅝZTX/F/CTbVЇ*QdRkhhcQ4CzyDH N]専TjL)'pr.!AB؀Oy!Yڨ/{9foݙ,pX6$ؙ(ean?]gS@4yr,J]ge,c >k99@=JYOYFsh &D ˜HY3//Pi2nC=X%.8,^.RxE=Y[Ld: RxOb@pMu{?c\4oN+"Q,{H65 !P~ ,HaQX,(4)a88 :, XNk E8jH= XXZ+Zp۾uPH0 tS_J%ozFr !bj X(,a>Q`I_b+Ӕxp; *ĄmFH (%>M=Q!9`:YЅH>1$0< $ az!j PH+rBX٥ ob] 㲖J]0ITqClzJVj$3ƼC^Β#Tzm\6i,"Iڍ|MKEKOə'c_a8Z)" Hp[꾃}-qt vCh'>N?'.KU;!8,ZV jqFK<&!߽\YWODHnԐwr sHr&y=W}Ld;I(ifkrs+;FѸ.v} ,:QTkĻpAK RPt=D%`J>0,^|40irG4&Xj,`H*D^F6JJOg t%۾H40Xz5 JOD/x08 iƢ){+SRP72⋥žckHN'T*L/죙SMblhXW-\ؓb.8 &J4[eӂX+zQ6׹ nblQl#]y+@76«`xpHbmҚ,y`O0[h-ɿbypOc 1QSlbI:m8Tc4`@N sx(%q;68)L<q雚Dq q(+7;BSeXsOƛdK;a_qN y<*oOGY^O%3Z<%t}K[͑Fk۞iD,^Br8BnyA[Lwͪ*s4da4ÌS=^Rsc!^fܸl`x:8V)LxčU S H c!AchD[=|d8P+ _hLҚ 4(A.8$eSĦgvնCU Vt:CAI PH,)+iK1K.10(Zq w!r\G}ڈ#{LN ecA<-h Aȵꛑia@۫I$O@90Sա##h WȢ7t/j# L"<9H \[zyȦfsg?:bQe1 wg2k(i8}?/QR+UjIGfCR`ꬔWFr|BdSn1 @02X{ڕB= C\޿et9BM;Ct ȜRcZl(,tj0OZtOCwdd,oC8&LI6\$KTpLNF ƙ( H8L 2qRňA2K ViYXAj4ݰ fpT1]g6U(RP%mZ؝tf=XIy/;g8?S3gA!39PP !H襖.N dGj;T `)YI VpBH_NKsiBq.2c2됍0ҍƎ//H:ᄴ]8Y!ԼtH+='^1}W=J8ԡVdIJ@HJ<@@њCDtG&wEG@&ˆQֲN&s7'ut90ɈˆJ ( [5݆?GԚ=Iipm_6s$'oJ17Ԍ2˴|M))4yUP~\R3ɳ-n++ X.yA|ZJahB`ctEx!2#Ę$/B/>3m#1512rA\rrhW@ϘDʼLj!G؏yD+"d"; U뺈'c8Y?0*E@討į7dhT2{g<^jtObIY0PHQ{`|{=mĆJIzq'VS̰RcF=kO(ْd0Yh&N|l*g2>|&Q"h"x"gܔdg5,YEDRYSz 3V+.-wљfJ%^R- jtL@ݲ̎;:"h^qZ&&=%gdHVxǓqlc4~V[oدRfFi%+m΁@y.)o6Bhlœ 301&q{ Dj<)HÛzZߩY"o /8lb{zE;V !Ox?d++ 0eEw_z&0 [e {À hA)*+|]weAj+rj1??w "%tc$.83o&z>$ k {ZT:v=ll+m4Iv_B9)F8X'Ze% c~E:ŴG,~>xJв>=j6:OZoÖSC)>ǔL_rq"Qҧ[_OE^<Z&_"P DBqk¨dR!kmZ jGQ 7}5O`Ћn2,oGd} WuhMөFNw^'!JQFDV2;8@i{Դdna_WcXDWzdd+Jy~zAE ] C˫X;B|K? ΂c]FszW:BglCD{hU$[.1%`P`f[]+Ӗ$oGgPzk66a-2lK^w#sr,c.zd߃#ƥbZu*)Aj2g3O=];JCf3D褎co#!%Q{*9a*oB׍3Y3]+1&Tk99 ]4.Z3OJqr ݉Ie* ԰^Tkڕ0!Q׮34A F %::V֨1+ܠcJKcbLvryJ,*ZB`~sС ˆaz迍;T܅ڶ;Hoѩ>FȌqhHUpYd*ޮuR.ߖHKa\q$^Kk q͢ m2/VͣvsyYFKSgp)gbUI'6/X*RX-'',7. Fz3%H*[Κ%"8%%Dr̊Lu"If.dRL* Š7Uo'%.M2&6#jCpEYȄ%ۗ;M*-wPUKT1GWȗӑ/7LcNO>2`ZM87is%b/-]sZqc,>OYR¤(tB"Kfbci{)`lfttҥeE`/p*Klm5kܷldǥMx= (YwM MnkE$&@ L"U'!`cGDmV"UE|bBEex#ezRٍہO/RF{BsIV~QK[Gg=[.a(}ȱI7)y0ԪH|P@z'aH B%2c.G,)[6"q"ÖS Ӊ)8Bjg&JecL\3t:+ _0HRd dR#lP+ߖˌ>DdYnSz9}?IߗO%`9E1=Ê 8:Ga] !ek<*V%I7A; XRQ^*H sȼr$r?R)<=r3ta_UK1/1q]/HX' l7Ci a mD }D(i@cm;LEϷFᨔ," Ac$YEV$JPƠeo$C8푍]T\Y`UĤjK4bZUx ^z@nll\[q;+8 ItIL1yF&q52bFCmwyY'hG6LTkM[eJMוcÈBe*^x`lJrp\P_N_i8gK;'9;VPXvzh3!j"8muѧ4VdoT[+JnXx%=1RYŚ})w53U$bt`aQ؁8[f1̓oe=+Kz!|ܓkUmߪݜ67yU)mNQ0`ҮYTU`Nj!"a>ؚKeg s q"/8I*z]ck̷-4wم< bP`n9a1f!^Ƚ7#ACF(!Гw`OFVƕB=;r0w%_ץw'IJ5h4 'NTaqĒm6_$0=M'4ڙ\E˱~跤=c#4ncꦷLiGOWm*Dub]|j A2[_3y;YR;Fq\ rf2[u|c4A"@̵Zy+MN^I4T*ͻuHevN4;4K|FAG 2 +!L@"rz,-L V $eK7aBBdػk8{HrdK500WS!wZUr餄h"Ct81!ġvS U+oI9?V +!ЩmL*ʡa f9 /b@1|D{/IЗ  o(#)x&*˷ .a$U,<(u Pw,ƔU m[ n/o!Qx 5KԹL8ޞvtl!qKf蠩.P;dZ D秊`FE 5 s]) 6S$SoL˹h[NM.;[yrT@MjRr.JEa `%nQpgޢ9&ڶz73RFmdB!1gIU4ZtiGߜs⊎E4")e*?q$Q {si$aHD) I-{>PĄQ[fi 24\OfDʞr[L+Qْ ~DA={rUw!/oT')l2KOfVbi|E4jpV AnڙВ֔Q|!!Z-C IWz9w0XjH9XUAqрU#*dU.q 9C({=WI+B Ub)"B@rvjO[z jtEC $ Ik'$k XRp[+n6ۛἸj ci-MOdOl0|YfE۵xĎE_FᨆA]70.V3~%Lgn~1dqTk3bgbNKFHIIľVVa+&$#OsJޯ"Qq 9=|HTRU F5HW0Hm! tQ$RJFx)֡zkt"u]IYuY6: {]ăuQCSyI_wx5N?(%x7*RLFm iiAo!1 QyPsQAl7qӒ1jKd;o>0PUSr'Y}t,d8uN,ofسWXJ2'ԬD{ oӳl/h W vJpYԍyU||Q`zUKc3ؗ=^MhXIo*HO@٭k. q%$ .^&.9Gc XʎAp)%WMi{BBF)lf Sΰé}݂Y2A;CQٶtZ+~/!)Kidˍ 0VS!Uolxr;d^޲Bv$)r=7䃕wDV\?V INX_@b\JcW$a*½Н|}}Fr(kZ#)dq.9Q^($Ժvhm䟐܉~ש!Lb;vU6a%:(l*]b4XP0Չpd f6#.*P|EaTUG.!^ цAFyL-d0zA%h!oJd)~hxYDI/TDJf@R "=?%*5qDu{Sߔki"g|'; j37OrKF1ɨ‰Du^ʯG2]^#" :Irg)MMjD3{QxRFrCz GUF`QJ'_i"Ge#RڮB@(>J6&}ً >K--S0[˕) ]7;EE]*I߷ɂ^REeqq!R5q/]4BC T|R2Ie-/O@RL! V_CarZ\f8c$RZΐƋ~N @F!(pIx4_ЅI5 6: .DI Wt*p 0,HvƤsT0sΦZH(M9\2b3c?u$>sYLQ1Fc`l}Be"A5 "N+r)KťlZzB{(3mZL7{aE61q69oH{n{{ϩb9KI8|6SA "8-fh^#Fﭕ%,kG<&@OBmR?v ƶ!)UVk5}" AeǡHd%^O']+§`( %YYG]z>'J˘:(<#X2f5ͼf1- BR`ۧy͵B{#M>APLH Pj)H$ C-sB026#rTddB=esWJ9N,GdTspDSZVXD]Mɹ6cB7yϑ`H1'[-f2>MN)6:a';Br % lq @dZbdp,G% 6a[Nl>2]*G+1K3Y~cDKw eך: W(BLj>zPG$ S%"U]Y|;(i,Od+^2E*dzM.SJ*H(UQ Ӈ,XXw'Mx=yWBXFibT_.?D7ӭ! vQjvjfі4<242h٬&qMFP2Lcys{ik5f )I>´ saDLjBl)/t\ jZM&ӇT;Q.c7# hD0/svRQ ve+Ox6T6plH_HdQa1E^T]i լڔtn:6ͲHbjM[I(Gh=6C/2K* b#/6It:ulWhlQnE n#2_+'s.N !}ʢR/H1]s1}\p͵}Sh7ĕՓbW0&[)+/fi#2D#3͢a\y-!`ƀIL4ӧC .td8pĴ@` ^nD M6MF7gT4 7rG"LG 4s(D&.Dp "3@ļxT7F%׭$Pq@l%5T[5e P) O`N_ EIu_ ֍XGq~Oў4kj N7?!69b:$T-+@VdmuRu Rt,W9z4%iܻs^PS&Z47g3JfegDbk|oeEN_(/20z\R vyW2  laF(+<(;$7B?_^Cl>yOqk‰Hï=6OW#%mO[\ŝ\Aay [QNj<7L Gr&Xt_q"{ kndSu:z~"@pD7$Z^^!ľWۮ\o _قD͗ BRȖZ^p-rR3dG|*C$J2ی ]Y&mXɉ|8@G6E$hX',>Eړ4@,}VC' f<}Pi*ϧƢ-=a}aj*`e "!uXYX: N- aI33t!B8 Д* OL˜jrvmtA"̅G=/l$\<* ؈F)C)^Y$)%܆kBQSEUm;L E:}в^t 1M-~_ !PG wly|Rd_,cI̵[zDŽvAtlReZ걆7yܔ|[DݗkP#U eu. v 헏AYI08/U KKȌ 4H}Mi@" ,Lf7F`_#  ^T0 o٘Fv3dQ' mg _cbB#}Gً%H@$>Q[[ !6H Y]uPVKUz6oI/}Z6K7:c"9Y_O6*+M#Z|:#yqM5ZRyi3jVT])VsG~u"@TC*<8pxfV%px Y4C$ŲSP3Ld^_PahBqQϟxmP[r-M2VqL""UCE>bD$E`> >"wrfuR0Vr0? 4W* u dcF5D7>\VpD+>CC)>AS Ul0 ۂMpZ;渹R RKD-d (J eFA TrP܆ǰW ]O"'Lzb ,UځB0& kAςϼl82yR$&*IcaQbER`nZX`""]d2#[2m,A;`u^'e(_+jf7%I7e8Wb"XgoE$:lI"CT>erQ/dUm"g%4?X^k{| b XLj㓇PXmXE Z*"~cah ء dGD!rBRBࢱe l4"|ua#C& FL0. &N‚(9%M=")$KFdIj(f (X pTr8UCSU5=lR9DN*U89>gpREqb'Ua'hfʟ!!vKoHsyyb>Cᬂpж),KU,Q)3$hVCu|-h$$ջCIK&~4dc^L/,ꊴeaK'F!8 $WhI  %">Z2I.hƽh8-L=bҋ$2rYR6Sy!uǖEgK:dPit C.'p + dvT-]췅X¦+-V&>I]B'қ[U-XE6c℺Hhp4 &Q 1 31  iCɜAKܥ%ɕCܣC^8Q]rL^17=LjY#xUaB|(M-K!Ōk=DOđ(\F6Isًqmb})! $D{K)^s|?|1/ J)cחb8Rc.k[[!k\T*^&5ViVS9ovUTS_3TV:(*%XE'}gIU ķwg~pGS0ޖ5bQc % ':m vX7l_5KU^UELE^u ^ @l;7Mؼ'P :' xZ%+nV5rǂ(x~=BxE^v[XB=0G?{*Y W(lb K}Tj2,_{a`}H =N7 b( |0 89W^Qr6H{k5 F_H<ȵuԦ~Ɠ_RK ;+J4ć.:izgm0iCq mlSu]3j%ry(&`' dB)Cت"@pI2%Q`j=7 وO&6|jr@biL> +$i ,l(+|N%*SԔ&5"g0^UY>ؒa`0w|N/Q 2“)+`J {s(<|^N эM1S+;HZ!CfRJeFB+;XB3pL upg""; FdS_? lgECaer EU1I3ɉAVZEE~ k{ PZH& m EU(" @Ʋ[74# &h휝#ߴ V>QF5TrM|\t=Q!]}P(CpI$m10(R"-xQ?UBQIT0jAt1'/ ^vqgɲUW1Zq=ೂu3 RBpq"KȘ8ܝB7Xe1mc 5uYR- ۹rUElvD/HաU9,2hs5G_8*" X>&ѦE ? X4Bޯ0ymGUHL:?d*,k.:>RTZ4LEhZrBtA/X,V"unaF|yܤU6СDU\UA"Zf8Mѻ2M(1U_d{ϥO5ܫv l(wH_7%U&~VuOe-ҬXPv 38nrg@>)<8B,p< 1NL&3%+81`h&:*}sP`%_zb^frtUwwcORukNT2֡JҴ5<"hl/=Zw(rk)~[z;"n٘䤽%lESJZ ^vT5}*Nl.ǧqQmzX"<U/_ czL`Z1=-D#f|F?cњY FPVnz!(,=#E{OmҤp7G72KYW>j})s7ȌܫT I ߻%]3q0F @>=TzVE0b #“@ Pk?2?H:bE@v(h)WnI/z1yNդ:v D=qUj{2⑽쉪7+dVmf\K +4xA6}0K{]e{o:-#P!\,xN;UAS#2 z-"k]uyвX.h; +! Ec@-?himP* /Ix}~#P7YKiRdH(ueu׮}}E<"|ESa{&Th7X(9mB\J\BR-ҳzd ,8!#,ryʉ-k1, n 5 [U'Ւ\pdxvsޅff!xcYg\U{6OucquG鑕sYF*ft44;ye;fW<U1D)kYz-R&5qkUmokNYShR |_>gL#;U8_A뷉|(RBUrP&9gutf8Rh%ՕWtI.ˆWȭ_aF)-OF#$4r#ڵ7#QVNZTQx⟲hCǑ/u5t jE=jr zNsMkO G~ ˝Bj J? ou2:!֑h/`'?ryur:hmj lC ;(HPL 735Ct pRX.@N#Ξ#[*,"(2cuHiQ*ڜDZ>DM*Ў fwldir!yPgБFA!Рz]P*g(6tҪ>q}V@LW461VŝLrxQH',A+syDaSM&P:4g]z!u !\! ΋?RAP.P Bl]Xrlh\0 8>-6jB͐:knNhO '4١pY)nu=5'wpRFk!4Im8=m\TF$!0nvJK4D jOI/3}+ETTɏV#ԐtQ:Gm{2 O'ߵF5|zhFp@- $FQXR xo{%/B\.t,!QpT|ȋ:<""vGZbh)_XaBݱQ(v9Obj OdX@@N-Oƫ$bizJv)@x-oOa5jfVj.z- S5$Q1H+O4G,m5DDoIl$>?eVrO܉X4F) w_cx (DVa̤.P;߉V<2$@SǓz=\EPMQC%XO򊯋bۤmOBXld"vݐ 푄\umHn lw 9+P%:nSIb,w8]_ULVPʄV'p!B%NmwmĢ{\(v"2"ܶ&QI*6q0}9Y(z5$HXЋ/QM ^!?kܝJO-pDK _*LLn7Вk֤1li^|2si5$˻//A0UwQ+tb\Eb,4ZAN>ʈfUzL]!c_l ? (k䬓ي{zA]D錻?1Hauj"9| 3yPxWP[5J"-J\6$BɄOSz^!6ijMlb:IJY5d[įLCoVpIo5F3=E^7c}hMJ[?sGb'O: ge1T26%Iz8բkb4+6W bI1$1ډ"{\viGA׺Y)>'**\"D';y3J'%@DǨg f6$]cH BVsG$ &WA6ʖN7~Qx(J+F]:VKyoLK)&m%(\!QMgz;*ܒ.  tűK_TD1qBUFY{L9Ot)^ۉ܏p^$B:s\GsTI%Bz4y?1sj`+7bӝ26>?VkajtN#jbD:4:6 ˓I/TZ|v؛M/PfQN@єJ&Ia`CTAB2¢Xp-{By'A@" U6Jc>Rf1PB*FAG0fO;qBf /*UORB$:ș2 ڲ"0gMexpt6U+W:g֑~2SJ]'e|}ůiu.=r#IedzPMC5BR:;wq3Y^*%&trK @PYsm⏲::EB?YL(h- Jz%L>̓b Z̄2Yc*&Havk HTU,hXRVGP*@L:Z@ aј^'w$!Γ]ġNypP|JVWq.K!؇s.l.a,\Y2DDM:l6| $xD־R9m5s𷄏asH{ g|p{8G;4Fem1~) *gH?VeBaE{|AK<<ɩI٪(!6 =҆b3% B2jVHCCP2sBTN)Dà%7H\M"knPUyWȼL!ЅRZUoB_5wfζɨ‹B =v(EKoC̮ED8yf"ʏb A*\#O̴ֽjS ҉iEr13IJ`B-)MVɰtXF"T&2N/'+[Hyҋ X4ti;{63d́!y$)cFATR{/G "MMdo:RFSDebOOA^Gq|_jӹl/;2")T7hiӚG$/E,Lo0j$O-0O2 V b8Y۟# gKT)*c1ǖ׹^l0+fHZ& *lbz"1HS3"Di(^('Yuu"QRv4YZjT qc2zQ ϨE3`z1K'ek5 M"0KFBEE]eb"BJ-}7)("fTd=΋n'>Fk56̂"wo%RImրԈ.O{Pm8 D}A*nRXP7E 3;Ov < X P6V;zh^xsi4=x3K7L;Ylmmr'k7Jǖjt!(S ßqXD>@fψ/nMNNKCC7Wrۤ!Dw\s /j \| oQ`%'b?d`6hJ8ߍ MS=NZBQXTbnXnc :q T*0Ȧ-<я*4+oO6 E'G5Jm(<5BtYy%IbrDUB%\l+,NrŸF g^Kv*'`ҷܥ=%V^Y&6!+8Qg|% %[  ,!MM0Y,FW !E혤zW 9{jTU0]%Ӥ ӳ'KEl)<<%BJ'Y vvbjpCsC{^A9jJ65%̂$9(M$*xBiWqdJȊ?qE 4|19 cPN2L_cUD*'-՚#תj*TVXE. 7njQ}4eqBdMvW`9 t×(ՙ9cJzx"XZ[X!r˅ag‰j9KTpЪHM1_l5$ pFȽe~t携;QKz(ӛC1):fA%<%X#!&myIɇcȼͶ^rʃK 0Ҟ,nhV!IbRC[H8d9l/KęgNᢣYȈP$p(r9bsF66UӽgRՕGsH.ZQ2pOVɯP9-&YaKBU_ ˆdˋg C̒ĢZuG.!AUuVeIIr'MlRcg<4r\T58Ft<% k|UDx IQ55(u>1O=NՔ"Z;I1@Yf}j7Z1ϦF* ʵ'4Sj3dЉq49"B$ 6ͤ<)M|rڃ"<@01EǪlj;ʽB{doc}4:T~\W!"yqf"_v}FE0 a $ z1z0 _$* )~lА1i] 6C> D4Y[YbH\TJifR8œ%űϓ 𠛽ȚXEH 4'2'XæV?$i/F k*"&j )Fdй)G/zkHc , u@\)Lfoh0jQ %O ?UW\JLCa1=bT|* P$'.KBLj!&hzrCl#SLonƉ.4wAuKnL X֎~[+IQ"In%JHxbaODF|h@BS7E`#xtBIn-c]'Z٤=~:BE0B6QUڳV&UwvCf;Hc0 P".^G%%hɑ!Qѱ! |4 C2P0D]+jࡳT+3C?zp!lqR`^*޴ 1/2ez%G1hI)\\wʄϋ0yA->p,uD yР7FX0U(rW4pAy".kV5;<ʰx&U애·1t]^.T|lH^nЬ!jS.Si/2EdjnwG`̒yFI&Fe'WEw?6}D/XXSW$1^+tW gdVKw"`oJ;nҹ"b}S{pRAhٮ'`BsgK;/* Bl#h)8:Oem+%]ʨ^oLP#E i"sIĹ 4] {w oZR[?Ezƭn%0G(}$# 8N1,.X,\ANgqœMƪM2QZ:|R\F0Q:!z;pKA ,qC K:Iʷ<ү'h褐[JɈF+HAU0$qjhc#!Vej E3K]@5evsiu4/qxe٤0Yv^x4qwe%0 $O'={g7L9вȥ;[ պUMD?!F`G?["F66&X9qDOU^!4LJ&0v5y %Bו;YdsUΨjUDRKWW7V;'KpMϥL>,  h.o1w?bX3(ߧHodhi 4*i -?qWt*+ 6L|H=aᗝGJ^m0#$ԻKTCͱy{/"Sw B1.aInB;NLtodkG|y$cgow!S>aFDTbO(N9SY[H-.^!7 :nTSKzbPjO :PgCaZ"Q^P|Rpw"(B0]zVo]N%fԲ&I(!lY\ʑ-Zؼ<~!yJ?b:n iLM4}6h-LEehL04ig&lΦ2[Z-\{o;M; G m7  ;%37%MK/! A# G Y  #-A+V49"v.MmcAowt|[YKĔ.{4^">9x eY%MNd':%I/ES-3BY긨{hn/O+kt@Uzh&{e GBIKKYΉ 3GZZuK5R cV[A~1=J5}̻~sPɈŒH / %5$e!$YLmL!:蚱N\_RXΈ1%Q ysr6\O n0;%I`3zt5R1>jU) ׇU6VvK)h/Um D!. EVݥP13Cvwק*!:\fXGXpayĭyL' D͞SI_P}z{?Q>ZK=4F0[WZ1Tnh>j̔WMx*`tC *컈-XD1ųRE#5j^5si5waY[$Xʆ&d6I3@ Q-n2h&N4] GU0Rq[H.:OP G!pn0Wk--1w{0cǞS>f@N( 6HX~JyvZ'#mJߺդ QA534l3^l[(d!M*nD"J}kyZrd ?U"dAOtN)ו?Jrڬo?]4~ҒSTSD dM2h5 :gWhkTF!,=tX%D P?o/Z 1!Q6l-"),P֔#ʹ KV? 7&!;L*z^#MG6#I[&WWai"ߖ04%:wa@ \ O$r/E5j]L(^0”2JpV|=Lkm2`&Xue׀Nłi,-X$ S>"я7#9΢Ks]>& opDm7ljFFU)/^ډh% x)Lőz[ V39:$$-u9]{@S.Ȝ 9WOe1F]+av$z?1 %>UF$Z8&g"8hVJ<7s0s*^6<b%nYzs ~q`Dqƶp*\O7+"IIj =)?04opJCe|hVԊ }yHVQ"r%j2\T^3+H>Rb;in"f,@RhXHDiK QssE+MbFte)()t= ʦ\.c*z-&D~‡xZTbHÜ[!~9Č4(%NŭR?I]䮄G @םD-8nyˎHIJ$ZQQd,6ES?jPr|)Э ԉ{Wtk\%EȤxP DD#QqQzb ȅtң2!. Sj0/ |!6~^t&GhD=kQ [Ljv0_3,)*իtLo ]%V=O=0R#&b4̉$ծ/` yMy"r!,$6̔O#13YbvBCUk(E2bNx7 V 1yPK S9s\Im ɂB^d1#20 .A`Ҕ=g‡ͯUJKB4¤QyMKF?H)BL۳LnTRjGL${A 9PrDF}6^\]-$3 y1륄܆@𘴸/]Xp[.' eZFZmPZeqW 4ZI;|MG9Գ։.3%S]_)O(jK\ wud\x)ё 2TvdW!m; j>.e( \S9xVKe#t,ew,-҆F34iW\! )-{l t&vqP[1/\!ql|*[zW䭰2}woO}VIuּB%j?)5lu0HRA5BD}[!LKJ4@G7m)\C1lV$6bXGM ~K+#MjŵXnHxW7+6+ Ҟ"F*hܫ/5WhV.2쬌ALZZq.(ghB}Ϋq^k)\E{Dٮ#1D^!&;6CR6!7"ڣĵ9R3Qe@gJƓbs;7smLʾ%]2z5|{AgG9knUOGAzlXxݜy*N3:Ƙst5$z]y8;'_}\eDqDxR"b!W#8u8 Ft)FZHLޔI~,}]*m*C\nvRid!LJ!RB?AT])KT/ +-*<KORPXm0kl-X$0ʝC<%tAX b[9ZX$qMą*Da99Œt2'PbvKuVKG~%4R5'R,mke+2rzyJV/<dz &zAUڼ,N߄:J˅NDh+DoMoe~`ZJ݈rt]1 T/^Z-c[,F i՗7ޓ$ /fW,؈, mn?JU%x[&k<@alcTNaOMjt^s{ qIPy^&شa+6^;5Sk$إ?wJVfd!Oz)]$_]In{g=8L$eI6A$Wbɑt u2 ѡH`Xu+ ӐBhB\7b~WËkC' ziֵ^ ٚLI~/EJ̟9g=-`-o,ׇڍ*D} Z\:"ѫ=[q_Fí?{ v{F~B/ytFtsi7A&`Be 'plG 96H= GةMe刁VW9[ۻT<,[5CCLEx{|f*<35y=f'?P5{%dw"u(br^B%;VOCxWQZ rar7i|/w^^̥[s{4Y9vUy2Ott`g : ז̴j$H98E{Di21p-b:4w줌TH/]/"/'qDU+|Y̎OZ̟m(;:LwzH3{-_wVRBva/"VJvΠn~icQ4M%7Ti“@C 61rtNU.=TWPFԱSHӘ|7,TU;mH Ŵs1z4~Nf&"@*J$uEwXg,)k^cGoȧYeʾ%j%EM PٝU(ip:}ڝUҷ3|`FP^E5hMZSX?k^/Ū(2~1JЊ}SeT#@lnD.s'jd?nUX91!Ha"[:Qk&@hZJh@Wu)GNAO: ūۙM)>2is Ab̐ofu*Omi"YӼK= |D>-oXw^8-QX_5^Ё-/ H G.N`$&WP Tw}0R=[cm:~}ܶ9Z7&O.Oԯ}?ɾiTeRXcS&Fe=\zwCcԴ^ֺ朗 ˪tXE_uz92r;d̩B`@0ECv]ZU5Yܦ\H)ߺQ%jeiNPGIJpR:d;[/HiDĹ:(8(D95uVQjvo{B.381}&1FCav"ȗND~O ϕ9"{=H-qRD( +T]xj꜅S+ CQ5gfRxH+ZDqM酰Xo(q%E[Ь@R+$EwFU)-EDC@,$Bd-5 ֕F35d:mrlki NIQ~urW>ąR6`:fVn &re'!x $ R`H[Q߉UCk[0_M+CA$3>bK`HpO6(ZGCNB`H#w, =K ro,jt gf9F-;LIFG*WJ/ivHϫ?b,HsÈF)m3lۗq礦|ԳěIՁGi*ذqp!j&+ؤrpgAr6 U:[B:(/Z U0B8ؙ-Ԃ#;3|-Ul* nBF5;…A* IV^L^.#rny5z}Jw?/6{[^g2VxH{ț2wz Eّ%$)UMBjT)(J4^adh{sDBD19U#xe xYB&s:&qp&Ksf{Rq&5INog4|q?iR;wcUҕtmoHT%YH.8tl#$)9 O~1],@bS4*n|(\Hbɍ%bڤUhtI{.tZJiwމcdE+ -lQ׎բSp!$y:+e@`o4CNώj+C%)#P˽G GTGy!>;:_/|)B"kZ8S-̙1_K[RXz*!40K8QZDDͣ3'+kzY+S'{IKJ$+fs㹽|fY*C3[jD!ڒ!e;jsra!L uh]kD$*T6TОq*K'&$FN:B^n1Cu:|Jp̀=l^@yDll"xJ^x`S)h`Z؞FaH"f?49p?% j۾G;=Qp!VQMORpDei0g]K_M؅3 lg&'fA9nxTh[k-_׹Vr|\V=\ǂ\~fh)"\4+%ɱLaZJVtV"_D/QKxt"RM6 WBLw>C;(;|D${c!YAeN&2ˆVEwGH3@DC,[bQ?1@bD{sP')ffFnזvkXWHpiSfժ"'|36ͦBD^%*{乳'>h_u9CIZ+hFRRk5 W7IHǴdݖ IyYڂ ~@"l[A H-aq=JeFY&u֧,ݼ fnl's@ЅSxٛو.(Obe S.,I/.I3t N[GܸDLNҗSeD EF>{qo$5[GE>F!4KDMZ5f2V"Bd5_I"AD Dz2II=J7>'u\Bn2qש P"fN{A cy]f%{R5DD!dQ"eH "U94/"b;.{Ftd~faBE z/`l2ZGǿIΚa^N@E=CHgx1tIf: E="Db/#L &K⋘VzQ"x+UkY533+if,R$Mjt zX' _Զ2~dULȜ1*reZ܉ ]^a7YT(-GU+]0@T)$2Y/D}YzD-LDH7X@dNx|%zg*{֗P*9p2:˺Þ,9qق,\|w䊐EG7;d] *|;x ȡ)ͮ3: #w|+TeNVKA;Kd3$%zlCB&TV\:md)PM3(@NpԵa$ B=i- DEmVt43Mb|lRkt|Q|JN" ńgɰZ!W̹4QӐEJFT!+<Z!_Fe6Hِ۵)Ԝ }Z *нBRnئTڑ>MX W_+O adja]ڃrtעP'M u2e ״%6!kzvR'hlvx D+o3eXӱv+LUeCED=6e5J6`'Ş/@,@x[VWjXwk-."V0Z̽Dp7I4w7JwQ7j=.ZB= ZXPfǶYSqVب' r Qr =^fnz.$,&dw@oQdI)-qJ!⃢Ss:ȐɁ)#fVHN.pʁC6#k\~Ţܼu#udF7 (9YX@MFPTی3!LMHOɨDl#㴭}95t <=H(擦Ax󹹸ko$d$,w3*J {gym'K'3ȲJl%iQMŒiK@@Tk1$ԀM#{YMy<ݝybMn8T$~߮}Er@- E@iiNIOhkT\G]A mD\iʣeMw:v3- 7U1)l BEdlNx}A/Rb)` ;","^ʻ3%17eAU'-3)3f nO͛ϝx(~a o7wV:.08ұ/huܢ ijz`UOKC*5UUe~XH F:T< t0hVzOC ڑOkĥOęsVKA+?P~{ÉW!ii"'+fR/hJ/cVRԤ=; Pp v'Tٻg!jL)BjI]"5yv-h|#vGIT:Q\]X=` 8%7"r64 DSHA%>W;-`feܵ6o^fTDVy*&}_6m54 φ %WM Z%,g&-<t2e9 찕l)uʘvQĖ:W2"\4MgXU %bYfRߚ<7AC+l\DZD%AQ(N8װԇ87_k fza4NB$v|SBDruDszB"ŋ!YFE[1Ūk_v+4sXB~T ڜ8&D˕2؎6\aSQz/\Y\^+P <g.-uOwA¡P$T|D8%82bz(djt]TC4b8w J .ySI]Ptj]ϒXXb RXsJoOtA21'EEw=iV'oL61Il2UMfOfcnŔk c 8䦆z CnڶJ9URZvtz-%:TShK,DřJC . ї6WI_}eTɸ꧆`eu sيUl+N3{m }a&iPιf⥗QGL{ƪIYTs6i9I%,@Id&RjT/3 ۙY9J=JWP߯*B|uI5͚py, r1]2\Nlۄ'{8QIdH~XlH٦aU|4#ėng2lFʪ])])k'VfR|IZ2*>cFXseD($CQ虚I !T]i<,TNjHIaZ(CDRe+0itכr3˹Px;6^\<̖"0 Ib>ccXq)d7:a XcWk48O_8I6Dw?KB\ұDH_*<Rd$FTN nuCc~J!iE]o.UdTFd\A+ظBzzBP`@xǂw+q$` `5 HV$O Zy٠H0lՁ$\KcX 6uٌ[6Z؋GjuG(y"5txL".-7oqdyWuӨ|o/̮4hE| J/v6^ʫ^%JP%[H&&i~X GS5en5; AB"Ga#G6P&*u(j%+RKU"tTjUpgP`ut:訅)Mz.3t%H,*ٝsH{g/ ^/WᨉO GLjZ Q ̖(4C¤DbP,xFNEV$dndAPLN|X)W.> x 1 Gۏ|8lZ2fQ gOX@VYVuw)!Cacf[jғ%`FɽXlK즦t {YZ,P5H٭iMjS%wCU!$a{ӽ(>E;."4xQANWr9u X-*VӚ_7g37e?,tZ$RؒeYNI MNdq g"':iϴ&ҬU8K+O; T TLYq3lQ6%B~¦ET}b6_\C`z1$ R8I#87DCdkACEd"R"Á+=3SN9-((K0U5F*9Vm hXl$6HM6p3"s9`'bnn+Y*4AEq1'.K(ޮ5dŊ=А?\ṇ5e Jd4f&f 7:q6=/z[戚E}UV;l\\ijR^DL^JAzoNMM19Y<PU_DKWo QcӖ4A@jnF<'RR\.$+D1+]TNxmi|, 9hCJIŢ4B˱ˡ%"? p,|1Ԑ~ ˉ˟44Kga|xZm_J$=$G=eΟ9=ڛ]9ӁiD.;4#Nxw-k1ZtQOfePM KnYg۽k{Ǫ#Tńԥ`,r\)@J ['+`8tE-)ZDȽ]lI3ڼS|ϒ/dH"*]VeƂE^AZmQ&$(:scrbX܋./`ȫTc*lGb^V%l5!FHsUwFO:"LM2Y&XFFzj k>{g[odI9d}fClYXL"5̛֊RWJrԲ9o $sS^s}k4lΖLl($df ɏ#xy39ЙM+NnHbEVisMC VeAZKX+IZ^Hlkd@F>!L0"a5 ꅸ ^-$k teh:9 b hpnDG `X%T #ࠊ:]C- Ni tAXZ%B;q+RãåԄfyϦ.B"Nx>! . m LiJ:$p@L ګ(T`,63QC2')Su< IH*@$؇АΨd44,|J'l0D,o2Pm"0 "D$=u f*M>1@qYCf;8AA@U&Q JdQD6 1|.1R*$M=CDlBSrnMSEK+֋T\cuL"8'oUorLf<&D*B 6;k`}mAn*`*C("PxɶBϯVvYepˎ#P^#vidx:{hdQ[cn73y%^ӡcNiH|ۮ$.J;`GHSaHTPZR"\b TE)\QQ0L l-}!xMTT%& =o D *aUz 0e(6%%h p"."L[iS腈rpe+2ńt)y,f^$֘Չ$7뮳 jz>{lrBFlp*ػ .23RB"Gtp̵Kq$Ua[GN* THJX&R;ѕA\DAv@vn:(:(vH tS#Ex2E 1[$=gO4 q(  I]"ʋTgm@o,t`Wq8g`x*Rm#Tҵű Ig$k`HKX"8G֑A2ACeF  lìAPWDXp@p& RP!WpfchJnZoEKD+Z&ɨŽmzU%֘6glQS3lO- u10HAbX-l\j =[%\wWRp޹%Ga|A5I X$ S!i=GLN[YDVKuS$ q\xQ9x’z.Rb%=ԅsJXRl"C)I}:ý"'ABP^*@YE,D2N(j zHC 3BZݮvVFMʉ =9aIBL&Ȇ!jZ]:>O9hK)xK 7BDj^'8aS :B)-B 뷒{֌&7Fe$0x $V,dD̜lt]do}E<䴭4^NEDL|E| \0Fc BH ]0GF%5抩|&U@)}̪R^Yrlz݊Pw#CG&|NNXW0R8 رr;A$ۖhM"VGM =c-:0uhZ[ (aB5.  ":A!Du[P':m :Op=`!4fER$~WsP;_J:;XäP}Ӿ?[xIT57xd PPV2O*UJ苃i!$wW/ͼc` 'AyJb#[~/,p ~V0"}Z`{ 6ȑ7ZB;տȺ )L_MMkξ5MyJPְ9VFNTf()FÕK7eUD`D+3+Hn{jK+*MnIb*DkrdaG -rvA7R xzK {FtMsmqHJ5(rzGH2 j0!v,Pp튗D(x78Γ]^RH sXO6Bʢ~W: ^ Va[:Jو(K9/BֿyC'yݦ%@"p$ yV&m4 :H_չ-> wI^m6ƝuM{Z1Y^,xh<0=\O׺䷷h*'kEMo$}j ~֛@r%+t #Nl0&q<7d?̽ЋYBւ#vDٝ;>q$riKn0Fvjz/J1̶o(c٪{ W.B1~{yn-6`K uA\1D.Xl=O]vI]"YŢKʕ|*10a9u*!hiG/D_i?x"GCN5Tpm)9\L.9}r="b*IYiXU$eqJ?'/$iGʹmNL,Zϔ0$8}Ggz11HPө,R #ctʔ8jԙ|2:|iI˛L)C`EC#?KFL x-A9 k+IKyS:O&ȤP T*#ɿuY*^֞l~3)#ƈh}1"X7mbqoZ#n;bWwʊ:~E2_HZ1ܚ*yCnYšxѩ\p&]/[Eś2A7ZX-BUNm-)fPԲzcݤe'0ER*U4m}n P};FhU֭P/tgdҧLWvr*JTS%T'(,E $רL۾3g JDQlV)j/ZjE nZPbG)|LK 58tE cRPcmO淧5tjjB Pܨ83e2R-yȾ".ZV8.;q8%xɚs⎰ 0VXSc f{ 'Yl.$ᄜƒ1W>SDoYe6nl&C0]XW0eQQ=(I@@ 9"a{ ݌qi zL^DC蒂'Ib$dXb26\Zj/+сRzP!8,!qfJa+pDĮbO1Ej^ꀑt,wȱɟ "A)e/[* 31h ΞuFQol^wqQ1YK[rɇȴi%[H&=A LR"t y *elĭ0UJhĉqGLȫfӁDL/)nZNe_:ЈmԩDgK|KQg@ ȑZ+GҢ,(PEj̥x[V ) 8mq Xz,y `Rz1WdvnfA`F#Inـp@PCow 6^Z6u#(i vj¥&ɂ&Ks,O1dQ3K?:*k4U;5v $iTSVQ !8eA"T3z%Q7SJTI,ΫeUQ V ,IiX}7fgPe/*gf|dZ}Gq7dwH(ſK1c^ +х8aJcBBUADN]a[o*l"2MUҍ0J]@p|>*:U0kS*hh|6A64TA'zMn-\wt(L K.߉DR3uU98-`sYy(^?ĥZ~DY 8͛.*co ^Zf_ l?M爉\H͜܈3DY? +|g%* OaR+aqЈ`E6 14L'cJg l EkcbD]N >\U0Zϳ1DOL.Fɂ(SmSԶ<ـ3RJ-@fCϜP6>l5,y9714tH[w4c:_Plⵊ nbY|I&ˢ)зIiDK.޳L6V6TZt(~܅kD۲ARv؃<(ksJv/e+i/O9 HĪ^'!{72\uc)oա#֏47N\_j(+4"^ѵO4,Pȅz>mِJG6:"KLN[T[7v~]^]3?E]էjV *p iu)2bri_k)7j_]y&ce'v&y|aJry8(HP 9M48I #*o$`:Ƶ&EbG֌GvG}Ӥt"/} G͈:LٓgMU>\EY:Vd:#ze안v/mԾ,;gOքQtu߱ f/l]_KdE=㳽0{1tͳpJZ'{Wʸ'CJ!TPڭF&["B$ŔKaۃ@pJWۂoED5^1˴x200=qNpÐHHsD!!:ZK1)ɈV%a . [XS8 [?槨c&A 1r 9i-Q %R*ѮIm{Тw7X#1p' "Qq?]JTt6Vm5m#]ʌx^~u !ɐX$z/i 3a!tsJtWTӇ;Jkul-+TrҞLNۤ!hc)ESMcIH[iW%vk["+4 jQi.zcd%BY& kOĞzH)MNfsm < Hy#QzDp94Kq%(i"k 5NŎF`QZr(Qe)D9*Fǭsךp.OV߶RjiKpg9I:k4(Ԟ2[^|uQ7d] *:ڄX0%iE|H*ϱc(p)GVŠ|!Io\Ѧ1+D Se%ZX|Ho"unj6 J^!zRv37~d tC%(b*R>XMyLO ɢ$ bk5Hpcz$q1cMyU(y)8j2f{L%"֊eHd|($bU-iI4 8raMAK'S UA%MTтR :0yY*ֺ SY[0Z)ڐJ]fCb2)  \C$Fe@I KCᄐE{8N Bd<3|5 8V48 X(JvűM{F6?2k(P010}$Qfre!h[1btqrtLAx8Ҧ?Y$(":Nmx47`.]qű϶rҬN$A'l+P1u֚50ͻmvrK*ۏzkj_.}Hv_BB[AM;qGP#8K|Δo]s 7 54dR.bX4z3,ȚŐ a*S )WL'i?"C¢~cuY)#Y9H 5d'Zc5FV$ӓS.iST] x8ԫӈxA0{[!yK"RNi 0/Pՠ."&*^r^JJ>*  VB*2`zP-hȇԸgLra8@,.QjY Od r6!U. b(}bv_~r?0p,(eqpA`^>=4-kzM.v yMDYp᎘n l1#]Z$k6룖vTfF+`14PWjROh~˩&h;vǫ2G?Þ‚#imwOmgk|ĴkP8.ldijuMEѤ1%,;@.!I2qRo4W~;a$k7X$gzB5ufMFܘiLG/:eHJc9g-[*k٩ Y-2Vpx۶Eh?;5s? LY}q AC$+ΥOl[*" KdW#BCMݴxÃu~]&sA.N;B: R.YhQi S{]dgzuwy"t&b7!vj?5X21!9iI)ѺJWا*o'v'ftiR4iLOT"slOPDy 厊ݾ--2ݣ.E!}?$gDxaD$uBtK s|&PUz dA9ʒWǡeOrO|d%J%sg\1B! T^^'KhXG$xC5ىW?51" XW=gWUJP-9p6%^p.4^p1Gģpؑ5ԜC\wlۉaГ`E'l|eAIr+⼗TD数҂ %罒\_hѸ67 %ȼL" 3N!F"XOO`(,b ռC;s/WPEzrFX\f~Q.0,'Ӂ 4i_{[0QzSeZ֕Ϳ(yJKj-A4GKn<, 7\吠Q(;Kĺ)P=b[(9>JwҘ,rtn;4D( t0]dTXɤ0rATa.|SaVZN }]]Z,0kn*5PWhqꦿFdzzјB^ 9*K;`iOy> >Ӆ.1|\#jZbkioD^RI+ʆQi 4G ˆ3ֿv7Zr4{e~' Ξ)x߄9Gs׾]:ISUS$ l]?YŭJ{Tj5fO>2Gqt&h~|뀼zV]Szx\OmFZKCtR -/2a#$ Rr0 b3a(v+t]lg>Ǣp162֥:>oa#"T#7HM]n 0.HRdK2VZg"S72N?,7 듂}YjLUǓgT|lՏh?5W\2 YTꀸA"&pcEMAzcEt8` шmL@=HC$d>!^5% E(ej!g\եq+K}42:$Х0Z.$x!-7486=c|a@D1]pQ1l4. Nh]VI,# :%rbF:@GPJ?Q<$'&%}!Nu@pX `>',(22m3EąDLv˥IxL@KǤQsRXA-Ihp}MF^P#Y#æOtв&f8%R}@ߩ )9֚E9gEjpBg8LJ5`ʒTpێ w WIuLhTM4vY¿\ I|Ϗ>Dn{K2u%x e *ε# "=["TŏXᶚ290|a b/N$+B4&Du ֔ TCrA֢Hlɂ+#i4HŒ [-?Nk *!yEā1XPF6<&Q5>"[kǕ4|e"2jff ._XV4])­}P"- ₟P*SgTV|İ*DTE LRE@*iv,% M\:J #DG:Y~wxȠ-♒7VD#D5q!s} 7az'M7p6"ю +FB͐p:XI1iynqAS/.$ JTE)hGI(>|Puw6>\4MG${du`|RPX(wƙ,&BPM8A87.P34H!r BZYa2 taxY H| óbbtЙbV}'VK]FnGЯ5wG~3n!*-kjEz!k<37$%%Bsf27c\Ӻ*&˕"%qM׽:UA$-/VzATT{%ryi"` dԆ*[>:B Aٴ2d "J=b c3t !,‹YR#b-ea[jrMl&$MT*f~>J8+~էQ"C3$DғHqAʏnmm%֗Vv57)k7~UUlaY*,cm[#7ޔx3X5 6ܒkO8g^!  T$ :elxBE >DŸWM;H{/Ntyה;#$*eeK_9%,'p*4Vn\UUwJs@9&,5f'z) Dɶ9$0)Q}'dN+m)3 pa) SBhXz7gЖ^hN1X0 W3H83"*jhMb[;p2 iGwd k2G*=WBOd /G)$bVDJ3Vd̆8+<VqEsİ=|nvndRQ57 W 04ӵF|c1`J@e:HF :zQsԻM WGXf[yC_EPmS|LF0Rcp >16"ytK51N&2"J4zoZ`c#Ntc Ě]5!%P4M1aF tA(,:ܵ]؜LRk7k\TbC; HKr]UnzI~|[d ~4A EE%BH ~QlYX18Yb;Q8HG6L_ȡ[Ww^ EmfGt H #G[H+by*a2m00?Ǡ3Q!(*#^_I$ajGz[R'2zRDZ&zBL(9kq-YOzflHd HYw(b "4v9~,`1߄AIWBF"~$m;BQZ[xV"~WLB2~gO$EhЌy.ؕ-ɢV{ΑTd\i,G g}\|O%fl˅'ֿUQm7A;X'THjrc8jFcC6aSG_I6!!P֛Jbb\+DQUϟ&nꅋ\Q"Pjs1D=Rjobeܨf&d"FߋJ$:^7!J(M逮o"iTʐz"Eg"IJll"ӳeG3KEX ZѝՏu/^YsuVlvւIG^U47а 5ahMƕBYuC\IGcG>mkЇVWϦ*D5$!50 ]d05tM(d p5NUǟ%H+NVT۱F>KYD~ŤJOsAԿ*ANE%.P9Htr/q*pNrPT`8香1_|I "Ȏ2 cY H$"EqK" ''2*FXh\0X_?N!k,Ve/lE= ~JBIODJIo:77!g"F%J i"^\iPܞCQHbc*elTIVQٜ VwIÔfuqz@*)`,wE 1,`E1%yB:E6vnq`kr…SQIgUKUr݇Iʺ0: ?УMekuyͱ>{}kxrY~ MzWY$օG5+H@ McoԻ6:n8C@7nR҂xZVd x>ByY{Cptbм24$%Z Ȫw1~(+1PeQhNILzz3okzF(H8eVm\Pb_Anbi `]z.ձh=T蘲B#&~uLHY"4nW5M)b|l"̎}nd♫ZSb]zyp܍38*A͞$МbCPB1k= hOj"]Ye|;gpuHaCA6b-j#Dϙޚ=xx0􃸠۴ī, jm%UďE*BJj).7/?SrY,KW5W6ªd|]p!i ^'h"#13 ̯N{ȸ~$VK;d:Oa--znٓrlfm.O e6Q\+э\+Ez ⒾkD^bxxDҔGMx?eFs*(C'ų. 15&T!V6LEv)V([nKKlCJj2?OI(}o?fq";|_8<ۧ\}wL{rU-?&AJk҅' eX+JhF͟{un-ԙ.Ca"Ճ1+Y?J$jhC5 VYiUGd^ޅ]QGPVVYk#\9ǷM[hDZTcT ౞hԉr 9*pw,%{u't .դ+OZXn+$m$GȆ`9ia] 7K/Y$S!;-\$Lp=241r-NK$=fRT)%O:xȑikvW-#ubXϹ(FPęMB(^7yL@!7PƋ~hZP[-L{J$JV-G0=ൃ7Ḡ*1+$+ O4VNi}zo/B +&= NPL!Q؉-&s34*CƉ럫Y[H-I>{&FhKVXA0T(QJ;aK/+Qӛ)^OM3( xFD &dD mAi6ISCּGA%ɖ}@RRff :h roIS9؅n7gcH'X /Tp=xdfࢾZ;M28OdomiwufYm7md+^긮FADv9E{+xbxB+?)IK !WcDn 6;)YUΗ7Y/Zz,tȹ % D䨦 NQiȠzI71<ΉmZnfCSt3C^фZWPB(RL!p!H#~ǷH&LT!@Xh]i^F$=>a e*똰 !""*OȌ鋁lGU1}rHoT[3፩*q ReQS7?tF|/g?TtBvytO&Z2Eo('/&ʹ$CԲu+Gsqz5HTJbRǩ_67d6AN3J4Gɳ:(4L jZH ތFdJHѠs 05#Dl:1@_%c,schDxiaLaz,M_~!; %K1ba<s^{--[4.31Ώl{ ,:m(XPXD^C lDB QEXHz?)q%1P+VIb|1Autd= F2G! Y _ڤ dKtXYK[!:p@ȣriQaT>1I>%r䶴g.rs drQFu")ӛ$T"(I@ڦ!($(}ZzN%ME t$VR% =!Rԛ'IX"ɟr\ tUK(t*ء[%2*GI40>,ڥ/_%I΋z~h:ϖrh]@H^lF5:, LB)LaJ֊i$&drǍO :L)Σ_jq'f |w /͛X|EC:YiS_K+Ylj&ó.gm0TԝstZ(#%aJ(L6WW "+>dV],hAR0Rr %V]p,*1J%#jB|dd܏ F/ilv_:=hn u7ȡyp_M:%[@Y-uwDK"K>V%Q[U09X"sZh͂b4f{h] CeaVWf,y(Y(H/*;L xĖ=~-SꎘN)a]8$\.N&&bS='KywE2>46k;,V.sD+zS-$@4QI*]S ۰Zښ""%tAr"J)V#‘_WI@lxDIJFC{mwVlrTE}䳔FEgzQ䐽ĝbb5c} _Nj]'L$P@1E9燨Y'#Έ'-nf7"M2(P9C Gadx.AlźϘ|doe ,:xIk[JE>rЏV.]sIs3ƛz͂>-ɐST&ݤ`YWEuI0W'#Ԙi(H("9ҷ M+\P\(:lEZ|.:e̴#`VOS$azC֤0tDl^*.{[48.T"T}NFOrZ I(azE$+e{K F iS ra1V?6# yT0 /С;8b `LN9XH 71\S}){퐺>Ki38>WPJ'Mخ"(M^ !Y@eCGѐIw,|"*0(ګ/tʯ[Ѫ'ª 5["\Z땣:U!aZRĚbE%hP[H^tlDU QibBTZ(T_^PJid!~7PA#(ͽ!IՊ%~%a)dBHqC.RS)'qI>TP&rwqvqUh8qli  efvWdUVCm6~l1РٳY*b,XT~pF Qhe?%Is**4q6vc|KYe1&F,~-36@SWl ҳOL$G=9G|&^,<**K>4iGYvCYC@1!813 2JMƂ 0a|w 9rH?Pb7,ʌا8 V45b`ߚ0yil-alBP.c k50D6k)Em):"Q u#E`*0/і像Eb1fm{khR0MOc+# ЩIGPSTFbiM%Z/YdTpTAT$*x+bTی'YC$N;Ee ߤm̊OxX}%&ji(=%mUD& 3Q& v!J elKɨ‘FC!?Č,$GS,=:H픖<1zVlFb(WZ8mi%˷Tʙhbb<F,LKL^'D(K#ړJ7oN<9ٚkIq\*&* yJ"G4yIaJ\K81p '{$*J-|N1nqکeu!Uȫ{&3u&C*LBRiBU::5@ByP ;lO 㜾SM6LɅH-VtG_*>[͙ }U2t}pJJ7J9b8ԑ&_MrFHWT؄ R}c 9,lϱ|ep^–DftT`<Q^00/SRqJۼ7\E5 Iє>0اZK/H|PiAlZ(i+4 JwBpYCUJnΘ¤r`b+3xAb$XQi>q.P@$]G/T)%e1B*}kĥ!Q"*V* X5V'Co\\]$e.s%|-*nKSS =ћ!)k ԒֽžolL:`8iCR "u'1~A#DYH`~ /ƖS=CN HZ X*YU 5Gfoak\'@񡃧JcͫOŻűMA *K_L q}wd[ `$ȔP"4p =I Ah^ Sl CK-HUUeaL;X䯜gL 뙲) H 8/u:R h*5N_Xц<([ۮEj:Nb~bѤ&&#~/FͣqԱrTMsiQ'g{ً/lE*{,N%sוKqYYR5ʴm?e9B!n{g!̻΢_J>6Sӣ"ǵp]ZX1[aiʩ|E/|Y!I#9 ^oN;OOaDU&mݚgnK[Ɔ% 6]+mPI̋& |PL”Lzi8ӛY,ӍshzUMi\!0=Һ+;qЄP@ZgqО cA,!EĠ##y;@J dHQWvBjV>"xQyU;\3;_7&څ_E"{("5Q@:TUTQo#,u6˩w,3%qvTldF\ozA8 lm[QO?H\00K6+AOu" 'V ¾"hJyCd`$ -t%K(OU!tŝhc5|\).s^g,/Rj"DSQbYQ"R&P"QlZ0WMzZm_EfY ɧxG5y66m'ֱ7$>BbDA;߿W\npI9C*̎2 EV" U3\׺ۋL`-sơ#dfL(ݾIH CDLIe=D~y"];mt5.h-%(q&q~EEbKCE+Agz\?:d<.}+2 ›j8pB͜6Ԅ%ɂ.0\ ll lJBYx[Y%p هbW EIC˖.|^:A8N1%p.Ti#(B񒴂x6SOpnx@R$yhTܧZ>M]oM 6]&O$2^@ǘ(&+"`{WK/) _8(;!`AcVxlmA--TX̡k$8~X9f'JURR* $,L"zOt`ePtsIiVC)鞫 y%iRKvi*|r(*#F_hF]P EρV(xI+GA6$B(e!$i!7yWɪ$yA=xeNnOo}sd#MLz^N)='gn2'K nmfZR^9GJ_jq UӪ+$sqdO:mTV{+ҧ>ҀAbD, S++Op5vGmV?gSse^[6 >:T 3qEMpFq*MF (i+V.eMe-A+7pB<($'4*p8l#:m>% f ZU0o_ 4fcg5]ZO&Rl%:KX53<-wQ UEˎ%].QBI$r,\^ 6y]To]I=&Pb'O[ldΡaR+ґu]BB[2G_ J`60ᆅ.HN a,%*Ka3g˱7ߐ]XI%]0Mj$eFLهP,XIAFh5} ھDYg J䄛[Zjo΄r/ RD"ßWТ41'V6%%ХKT)M"w$rY~W~U>hϓcAGL? ,'j5H7h|4"Ck+D6~!Cw3\юn>2:CScE10\icWbCAđLp$&bQ^hV 4H!irD>z´mP[=4Ok Lw:A8Qq\VsI΅ȢW/ufi5Ɨ NfyyWM><&őKC(YS *!&1 >HhFMuS$Jդ]sƭVd٘6z^0U& >Hns^4XR5xŮ0]X{F lJ9񊡔!0ks%Nd5&G޺fxXhdbwj -D$ foKw#Es!B!f?  !] Pϻ|=Pɭbuvj\G.VQeMb0/WvFmWșESܔitkj6J.<8.bIiQ@4K\C p#"x9uѕ[XqWXm+S^(" º~ʈm^o7g9cr(aWs2A0]<> 2њy)ZlkO2+|MtUQk3afq~%x3Gr5T$΄"$o_09Gh\oJ)yQTPDA/c,AD?Q;}yY,-ѷ29b%8*ErpHM&x ӌNRA"z24 E( )Y2Ke/$M"LAOM a4*ug<@dFfskIT?¹CpW%+5,>ݑZM&&H&himjNGs7T-DKCM%Y]f|]RX,'\V<o2.XxdBc^&YBRi4G|? /*ΡDSWv. KMI;צQ:=:+"0P`BZQ$X"ۼUWC$([aGB1Bo>o(R I=nyشf8?u9*8Vdq|JMB1!jjۆ>re 3Z}ӌ!Ij' mrgˠ$ :广Bi<,2btXcMpبԐ4`kAH,= Ccg٣!$F FKsK<"ėÊ)v'|ɰ蓵:O*n`AWpAN+jG4%@q\BIbmrjOM R*7i^I.)Rd5 ,۪~#&3wJTB_ꊸc#ya?)xb , .2]:\xtfk(6XdZH^>1ηKBUkt.)~lAX=JURL|,XzTaHqIY `3 I`Xsda %J٣_Sm2:ZeA.tMTpQ ᘂF1a*QJg|[!EZO Sn-})^p)ds Di;%vx-)M"R{ȓ]qAr3hұCy@ [$yn%$a%eKuhX{aMR[pM_ K`) IsPTΟ8wQ+kbcyl<^ʙH#U|< 3Rk[dG =tyifLy5~!R?Bmkbǡ:H+[h_hRqSȄޝݣiM0nv:Bk Dn@YI a8v1@$$J p.;aQB/``:tޮhaBBИh 1bfY+*]z܄dFdDa#fβ8Uj;zƆlr & `lz.e qc[։2G%w&c 2v-ԄT,*rr!ik/(~cv9<ݺ@VvI*0Bŧ:':L?f0W;"/8)67 uخ4~PZ6XPP3zTz69EY%!54edOyƗbZX5чbCŧ{^uğ gV>%% 7LتyyFFIZ*`Wh HZ &{T8"Pzپ3,[X p\ էi1FClZ6$E Զvxz)-6#U&7BMљɿHF$Jc}')ճP;Zzͅª:Dt핒) M={M.ehg>%, J߶ɕ#^xO1{`Eo[5g{k,%ꪇakUU*^ +T|T)AkzÞQ;媵'77:W-DKIjмH6=4*sV8gʥ5oMƎ[ iútiuj %mpCqo&A|e$tV2Pȗx" ޖ& m'"MrB MNl Dur6PLY酄쨩$QVɞXD̘U'֌+]6yvI vefQY-$u$[㨘:(2IW=O!"*Cd 2I4f'MaŽpB,>>*6a$FѢ엒id*(ɨx > ȠهIB1V  𽊭DQ.Aߑ~! *,&`nÙ1&Cdʹcϭj`DIDaDCj6էNM:ysTCphːa[U]Ek@>CJtrh6Ye| !>0L8-:Y>4"|.Y,]*3+ar ʖPP6@Z"0e?;Q*}"I_M'uG{Ͱe޴jhLwarLB `CQ3fT"tIcؠD) }-N6IRTit)WxLA<{ bsX\ܖ>{0r2 P4W/0%@MT Ѫ۴Vim,℡IuA FPۛxg p+>77~&^uD,nA2=4;=LKueJ\D}"2Aо" aKTrF.opqUŮIu<âM7ZEJH_m \D]RYyFDLׇ|kw)lp-bUߒ:7e|y,D[sTL~l$V (kޚx$P\[C7Q$ik*Xmth@$D<`Ekqނi2Ĕ*y3"#ϋD bIf^֡v!\W 6-R0 }exKG6AFU{) x-e5Km5=Zn .g]Kf|FrT]4LYBOji$3db!K|T=.[{l!x{+8hŘm"",)~loZ+dxguo[|"U=W?mruu].hR9q,mSUT }oBgă"IW*jp"Al: /WVw ި"q ]ӷ((|Ⓗ61F2VoS졶X$ 7a®ԙkN1aĵ:,6WJLd0_*}՟(Gc&]v'k-Tׂgipօ'!J[V&̿bd.^1nH\iŲ@K#]#$ٳG[K[%މWwmL` 12&%X[JiByԭ.\'`~xSV"l?nQ\ߕaє2 _o}j ƩRl"whwr[(t)YByV3nT. i a[rbnohƂ[\JFS+-M\kmH״uKD*>t@µ?AM):Hِ߉)L"N`fMDMVջ1:m~9BV^ߵ:@[?{[e7Yw': dEW=SM?UD+ŒFJ\POM3I5 Sab^ɲ] 4Uu‚g1QwEKxZʫC+eFGU8$N ~qg"8ʏ}' `gEOfuVHzkV^nۛ"@D%P$a}A4":R,^XM0J!sNlO EwEd9A8a =}1fGVa$2!8"W h 6h_r,3 t-Y4\ٱ0΋TAk+"TܢZ0Gp+P튱gzQ Eys,eP%#Y!3`Uu>,:EK#5`6=P5ȗMP8@_Z$kH6O stO%*^;CBJf=ÍoMϛY3pHMC󧽁eč.06aFRWBKb ڊ #@LZR=8_u1$|b^0w rHlY,#\KDM*rMC dC鶉o`Ѫ iRFf<_W$F3:.8SG'2oI(Ɗ],."3f50G69IiV|03p%6`YKcF!K2`B>Q}6k TzE$OfJsE֋Q( I̅UhVWR7:$rE!Ϥ"RXqcѣf&tzHEkke$@$V ]" &@&B"T##tҦX -iH_#"I-' JaЃ 4U/<2,TA"m0وߙ}+`jje9.XG"-UE- HTx%c*WpRΈ9cZVBEЍϯk#T#a pHwԙ"|յRMx``lƙ8cc[b!xPAB3^gd yґ#f$ڥ$X%p=ʞiR˭=skS*C2 N뮩KωTD%b({L>,DhQk6iF,)iI""Ma_rCY#K B #DnPS%CEcr!L u[44dOxNe SHC˨G#\t6Ź&Gs]>BXUg؁R#"()WY'|d$l[ժrYȣ3[9oIk㍘5MFE HJ P#&D,6(-?"t,ːf+fOEt*Ċ6hsi,&KJ&.tt5ՍsAa'gXDbGY Y]1 ?AGctp&:B{4\Qmqd03sqCĕGiSN#SX4XmjZ{RJ,Lڪ0lb@dKymqc,tDeʟ7͵oa:DB R1O%R R䔲njե~"K'zI3sWF|.ܓQ.ħk,Na+Ѧo?ʶ*N ݰ"VQgӞ(۩V:2Jc\8OrkZ[ƛnSid U8'z6!nƛ9c|\D(@4 ۪ +)l,֭6l-H\*և uLx+Ԅ1c0M#QԃP))II`VFaEr@ QkROL}#5 JY*BC brD2 ȼA F\D䒽1!)x-\;n)+dvյ3,UV%(%iͶ_EZS%B:mGt>4I9?TfGG9Pz G9vRa/ b<_W!<@ƈŷ$On3$neZelBQ)F@( - % EQnxԁ- P;DPOY00!M&^rGTa%5 %nNXG3%(e%]^@J]"MIӽh薄paHm`C5BIԼqGyrHjjI]ф1\.P8( :_z91_٦L!e01OzzD-@*dX$PLwş3pzD4d.QyWK@դHaj5n(N HѓFOxjb_ x ·)#z!QL4`0xn  [KǞSkJ K'#cY0t׭\]4\|Zj$g28JYhlY$Pi5m-9'*%0)I?p([v'\-a~ r$_Q\Y!>&<=asG;I թqΑU>0 fӨ0taJ oKt^XOe([Ru.ڭt(TBh%< %*CЭ3E%;Jk 4`F;khV2MՍ; <–vniJ]`T* AX# D.b2(Q?JC0,i 8ЌĶ'T?Ĕ]2 jzqHBS.LhCCSَAEBl(Cs5d$8@"BŅf3LbcMѪw8h!^G8uFi^Pie!v  S]ƹ^0F nʒWqPm"@\#&0 Vf\ćU;= Ǎas Ci 4S0ӝ+׊A"h,B#(Usxaa앖yҬָ&:&zmm%faR9vطfMȠ%p# G"OJ6bh4~EU_>ze&薬Z6CsY,0v `GlErpӽৄHJ#`A m:09 ]ǵ)C B^a:` CS!)>S~{5~4ia~oMMui!)1\JkN?P: i QH0C-Dw0R3RItɨ”Mth©ؤ2SRhF ?Zt0BQ"29' .!VBu1A2D̷%mS• MԢ/-pI6h?~NˍCMV-e2eHB%ehُ$s9}ܥQPԦ )ָ>L-E:C`TaL@hQזwG|Bt1\H.D>Ag0s!Z 2֊8ʹQ9ilcT1V S8# X𕣐,;)٥Ԟ$5 wJDBQ{6Bd0YQ#(- aP!̜LBb9">&HdȃVK3 t`@sʅ"Nwj;h|J鸵m86}eJQQk$ȒSև!#D0DTP5Zv%Óg0s|(KrzT*PUHBMRDŽ~U ! WI$`@DG) mbE $̒by"_D ((:dÊV(ԿHWI;~$GP.\H )mX'dj(a($PąncS)(q%T"G#u 28>5>4*{xJ=qXe |'m+ݭBat/@06$2ja"D/ i"07=M  Nƫٟu! ŭ*-yQ8r-N2PtT )/hÔ`qT![Cw#$^꾅#}yݾǂĠ 8P(5bBěC'MC ZA+Y&I+0XI(+ v5jtg8aGRjZ{Xon'3Rs4 kTQW1xs!%b&)C<[5%|3HX$ETyYPL5wW}XPȴh9yHRS)ӈbzD e#tF. $mp"7{VnA)t<بRh@b!:=1apw)JJtK8 ň Ʈ;GQ`b+tSFEc hs RvJ5~©F ]&FBبO0 B# =yd /; Wz.D)Y4KɈ`jJ NNJBnnmncRrzU'uzXd/>%Q=NT;w^f&bA ]:exPArY#؇ᐈߢ$PD*RLyedF`܂ X)b< N&%;Qdʃb%aU@VtR:!P91بGG9 JBϐ^DC8)"/Zۺ.2LE0H~$8RF!3A ȃ)R3)p ЛMDߟcR.J}cYUԿRpV)9)k&H!E5QsRjծ)OL$+ғS(3RXpɘ!& ܁=Z|Ç$)1KDʙ&H2LEf:w+(Aqe6r8H I;&͕8N @+ Xe~*uܪHHT"2Yj&YZ|!~"/(,d+ 0 T:'4Ee6a_;fԤU&Ō(H a4&2c G2Z\97/~5KZc+]}g$Zx+oR NpAmJ1Ls6 0q?|\ϫO'6Ҥl[v?1;Bk75 v۶NL&[m־k=.A\cs1GnzM2 ȦNa$#na. jV!N~9(2BRHLs)|t?ԉpK-LKSiE4HHw h" iTXy:)ƴB=B0l^x )H)%2g[x ;Ԃ7!ǭ :p'RZ߶ V !ՄY'@J3p#e$}1DexIX8t( B\%*'3jL@9"ǸZIY09 '>%JчxJ;pY )9|P90/Ur ZS60ưE0d :v"%c0$ ZQ;48! N 0=[KQE AKI/H+-&|l "x > u骰ڿ$YI Uji^w̔ZDj$19(,@{{YR`!v:@nQ' Hn FIĒN*P-⨐DJ $AP$ryDrzfkYҡ7#1!. EX,/Y2bFËYcR1M cK^*iHPiABv!5̱jVBDj~z$+*N~ Rz1 1 ]6B$Ye>b B db?(+ҵYY28}!kL1z2I I]`R2sG؍3I(Qw&Dz[2Q*#g\A߱#v 1s-W0xEtC{]2!p%^6V%ے>ףsik[-:_/%^7F/J;H /*D6D#?B Oϣ2!6u-,.)ړ0nɚj-4چ)bE2@"ep<6L 8!D\TL =T"ՄYyθF9 ['1nKל ߊMYVnZRX:R],$1$HIpazlSnh;=&=$v-^5Q3k)}Y)*n7*V[u=KzQQe˱d̽V rЙ(`({1A_׍Jcʤ UVn{ƋA*!Ny Ig֘0`%4z0%) u+Ot5Ę&ЖHs?Hp^B!I%<" Mj ,)i.l0[Z5r\w@kx/?- .ЂDɨ•H 7o|6 D08 CVƚa^\Ě)ܪ}^\#^3 9IF)̐N% |8 [Z'"Mޘ T#f9Qm&)ȞfKY)5*c(ȤBS(A+JQ1LqҎBx>r^t9PX=Ǥ0Ā`gP!#SBSԂӆV( r m̧%FL<4rRF @JAGG`+38 Tp+ <*6(\ܢ *` ?pfO`d0iLU L\E HUYF+ p)0+ԣ]!D(: ;jHH+9 '"! WTp6; %CQry1$Úu̎QG(n% X Ą/)QXI0"=b+%,@A L3t 3c£A.K`!&X'fņRh0*13ݑe BfOz CK\%Qr#-m>q '#=gJjRn%EЂ_(!sz?p&ь󅘆 &Rtq_4n#)Zhf̸EUü@f"g܀Y`Q$#j\RH3(&aE~T&rHz!tSSYx7 NBHЎW=O/+RCK1RF 2~hH9q1 f3Qb JEjnBb3BYŗo4 V2 *^M%hۙC&ȇ sG`C'F)Ψ7"aɘ)Ϟ2֒9? VcD`V!ֹʊm.eQAm! ͏ rEQhrb'N|$,xb8FG.׭YDGIq|G'cCiq !@`wUXQ*F+oȚr:6Qc(o"kv3iJa+a0#LTNHiEE,hR9FbR rpP"э 92CdИ:I*V\ZmLce1gr%#l 83ט,㙦Ԑ:P2o['.m-L36.a@y d&[D3AS6a$ H+-pO%GΑ"oSdMi ^̦H O Xr>ʌ! pIt ʜQJ2@B殦SdL  SC""NDDr#ЁN ܡRDE AՂZ/*N@ILVMvr#=1`G5%ZIy7GXr>zv ѓ*ȄȩgT#Ix.:!P[TF>Cdd[d: #xDYJ#P0Gr$WX S 9EچXfD fd@D1(S?(jW!p{2t&" iJ O'!v 1+B(#]PPG;b[ΫlD/DPBb5'*9RhXe5-$ND(Lۉ%%g2}JlmVUd@ qV bBDXfdd1ՐJ;p)Q0 "):7A ԓ:2G&l L N!HEOC J-$%`HX4BC AN21$j Jk@Ύ6o_dÎ)|Ô;V#mclA|5ґ(H!Y/QNm_!=9J51;;+Ӣe7`A "d|3QH%ac20)DYcEdqDe\!1ŒPpX4pAp;Ӌ 3qOF&!qw9 L2Cb '7uVGOJV,)džBaS90{FH~D!& LoC&MO8 ^}ҟv A%e=ňa{>Μ )w"Z1" _J?rAHD$@Y=At@qR q}45T@巘 (P%WI'@@8 ۗaקLR!Do") ž CDaB-V* xZr9I1^`0) vLuSz<Z"K-Cfbp҆M/N-}#5]$ܙaU6x063RI jẠ aQCm wjAh(0P^`N$ƚ8up3yeNQPO.H6:|9 CCr  *ĊNIXcu0^4qa3'`#.R060ArNqN)_t;1C:vCa%`Eb1R,ZK[8~ Ŷ]ق@Gn)T. DZqi(lҁRn $\+I܂RC<9ySRz^ FgEH1$1 z?GOp(m.=idZvN1ꍱt&>LG_SwOq qM T# DTڅfRZX<į\1|-g K_)(TC8M)+JH{蹤Q~LiD(q4yHDB(B]Х4D$!<=KAVڳC),)L@]D&6$JS 0OR -!c4!fJ,4{.F!g%wHH2eT|LC3IcFalXW55 !dXy`RV6 c.Qhk‚jL0t6{r+ҽBLQ=bA;*,aΥwjgF<э#Kx|!Qp R0WsɊac'TYr\ZڭiؔCI ҔD2 ɢ^0RmI&*t$`_Yh+JQ2GOBZI )IIn-i8q2) 헅cr8Ny8)e4ԇTEju= &D\ k04hK=ĢLb\ytFkk'- 8c 42A KN⹶xiI6G=I($,Mo;FcZc.^I,Ie5hvETDs!E ;5ʟ"}4RAI(b\!NcV iq9cz/= ,j#2+.U3=ٛR~ʨ) ‘c8DP9>@es#~ lRQ$cA  ͶL@ @O^#l/# /A2R: X` D 2;G*RƇd &R)pVe|Ӌ$A m `ɡ=6[%% Ҩ6ZRɜ'@~eҍtZ'y( k5ʦԨ( }%-(*U4"H$J}L!e3^F b^:R<__/ثgpʉ-u:>\1eqD粸ܲ"'c.ܡϓ@)"FQtICKˮh7Mi IujE<ה'[$"xw0֒RV|!1SCYԢ16`Dk +V[O4̠(V#Ԓ,J PSHCr 'AE1ViR-r HAWBsz-LcSi))OJM/C_!9BɳhZ8`s*x|ɨ–& kZ"'+= PrT :M<\A1AC0UUc*t@ESaS"\~<_F!y6!H1"8)Dܫ٨bWI"2 WfH3*jbrԀ[VuL(= Z*^Cۢ qAD+Jcb,A%90CZ%\ߕ c uN%ū q䅭lA6v'S9Q0H@)PX`Q@* H?^( 逄""@VܔO?I^$ҏ!ԡ>s c3&fatiFf(x8ZVw7lAXK0+(P | CH H.ѹC9#-23҉F1ZJ"4wH4#r9ҋr!k˲h}嬓a MnႥ QV|VsFl0D 1,ePzH(ǡl.! 4ac upr;ō Nணqa3:1J AT#8*(#9z&JXB fq'"ncs0tlM[fQ @A-s;zR0b& :Z1Nf"$ۍA a04߄V!t1JĈEs4D]E0Ԙph Q ;wJ<'BXE-u)j:E59RWD{S(5c FVf"G`hZ ȜЃ0]LW1KRkP2h첫#]إ+@w5xqSJP45)RGu?} 1voȅ"?_Q#U!jV nH#> 2L ϜAŇbi#m+ ] 8[y J3 K{(ԂrX3$BTR$;ч 01  fTYQ܂FF nt qy OkaNy?ν-d`վQcJ2)ۜBs0sf# ( b:AH +E1Sc4nd2B$51"%^d)wB Q?82P^&Q aE!PSȬ٩궧G%S wi)TDm/9>( ncE ЈC8܃ (o肊hq*8XpFNZw /+V)Ј)&8ΥEE'JhRH,, 낑,ݪBDo#lT$;VƸ#@sIP17h3Sxdf wl< j*AY:VWlc;!5pД ,SXrA"0#uOH~YmEGס|(bڅ)0lԶAN!J%1׈tFdh53"sgl7? qҏyU8 i.1 AO KZA" z(QbxV0hoAHbIkpXV$b΢S2jqScq'p!B|!=ǔRɈE)Q{y;= &?Pw0Iz־$"(z"ل HjaJN~)IYJU`sW,YKر;Bu p\8x{"\( 6ICrAyY+yV#Mo~ŷ|0 ϕŤb5B(bR3r[XÊ4<[WlX9`+O/$AYmU) )#@E4(WkѮU=D5;jUu#.pePה4m*K8 % P*wI kE`$@Zd R.1u(\aСB|a'XSq7l +LYA,-ۈ,(CkC]b#B) Q KE0+Yl XXՍtC MqćW3M:^Z-{OaeIJ0Eb Z ZX40)֐Qk   Σxb|xiO_j)wil PLJT(xQ'v #$iLB\91!qbj'ŌBTg8PT-, 5HE`ߤgT{66%dr00]RDbfCsN&EKH OzPpn;q ̪bcy$?bhHC[YẖR}Z"W@~ɨ—>LLj=w\~ieZ]Js=F!e1YWRg;Bƌ[Uz!fvo!~5ypl]Vu({BHCu.i)I0^6J Mzk~gFɹw)UPfCӉӺ;eOAFAH/I73"93_E]!bv9rAe3ю z4"VV;fYCC5aLBc'ĿkT z80@bzT%N F/'#gU:s:q)ZY$'2Y3~dF[8hbCeM3c&dЎsOB2tʼ?tKJ)CUJgg7U+b5VvaL]42NbybSJT&hL%gS$|qwbZ{c Db) )XaUT2Ԥ|0'ۻ[[ɚDnbulM|BGؙoä́۬1}sS$!"hXwO>FpEv]YS5bLTܣԤ5 )?UPi9S`.@ 2"" ^G:ydqWo_ka/-NfR(!Q$?WuJUkmV1#+^gejVR-8V2_bq﨓['͡/1;DTN\'$A$"bA-#;QaB7(ش! [3Z (qq1EzJ*HP92*Kx펵Vb8RUz;\M >4JR#օ]oЊqS9"T{M"D^{]KF)SdEGb_?i^zhj16X#\)'s'" Q씈#u(L&33d96j}yR!d!FcuiXW$FQlKRV=5k1.7q1 uZ!/Ua $^` rMߝ!L-St4ڋ\NJ*s]E *jY&pV"lNeDn9O)t$8m[r%#NsH"g<zga&e0 a zvY!Hm,YZ$cUHs߽<.Nr}5b]CVuR} $ԛ"bmejua)Ά}3Q,[Q"v1n!T\vXkGOMT'(Lzy,U r,{\azN;W.(-3@I]t.?ib?67)sm5&J8 (9 cP}I Ca jqF=c6qn7̂B2ߘPϵ;L<ފ,1&V[(aڷRNN͵f$$)ՓΊSB h["rY IEf&W~CvgZ½!b.`D5bԙdBLө6{%*QH&1& Ȼ(&% oo$M:D!090b3 D@U_ QSa7Α)%Kچi)\ rMrq J揍IHyuuQ17>J\;͝W-D_ܕ^s# bW򳔚 Ji7?UAMLAtE nY-Fgbrq$@%-҈L-,1x6n i0p"O4\( [=i3r-ESO%v{P-_sqK/K"#4/ExF >ġh\ Bs?`W, >v;liȲnq>G.Z|G(v^6^.s{5 Y)|=bDo3*X%h*Mbِ}zhq6' 4avftnoYGx#2`';":߶,iʠ5)?Ú) X*lI(AJ.//b2Z mnE(YT$g ];'\]t \-詸@DVӕ7R#ܦ1]_M?9\ȗ}I@N\a͕Y*ad+Ȉ*N;NzB*9ΓYCE!r1%UM>Hr3P;FYoDj8j`e#Kp`߉NH!M@ _A'ϑF-QRCev 5䂅CRZqvOqeB.Kd@:e`Lq`%r|5d4K{ȴF>:ǯ@ :: tX$xyTxyER%TS LcUS#:Qx %Y1.hi3Cu7;6>"t"$DO3n@T)]FA(AYR:DCz.-'knE_=fnYz]d>Y^;aK{.p~@|F.m(8$(Lw+L-0Aiq"2.?عG@Ij!>^*JQhVȭ/#&KƗQ甇fRT˨ɭyF**L˩.w 6Q\/sDSw!XK"eRhIiY&ETđ7972Gؖm+j|P|:/2&"qWM }uۏT YI{Zs-;l~䖊^Aas2q5n&Hqh6E!?d&Q|6?d~UkWҚDۖ“O XD oVéRuHGVܘu ?3{m,Ta.>pڜla6҅ޝ[iDc,ILXF),z`ݐmaNI|9^a_PbH`$?Duhr]kl"  *F4Xx͂|! @M i 1ts҅OU+rT.Y|:\c 7Hm,N 3#Lj&#cgyգ-_- \_E8o'DsSW: N"jp Cjk`uP+ kNzq*( R3IX&d)T!U=JyK|ajEFVZI_LSkF֊ ҍ+%Tb LZ:^WﴍaQtH]^Ya~d<VR%H71м{܎ "_1,لT4# F" $a™CT$wQ=BȐC^> +C " *M") 4)-֓RZaB'&9I7TQ|<d:rNѡHf">3CqA~84'ԵYI$"_yQzKgͧJ)'J9! cCM̈HQ>_8OˇB )A(X0y>(Y#xAf+~1)PU_$A5H%v @`$B H٣$rDjzc1PaJJ[EPGIOfDHS}!Ô]f㉹D^>brw I+ .(ό f-gfz߈AKf)ޙRtl+}CҶ}lO/#2粒&ɒ ^*(G} o."kn:wb}Dҗ^;f\! tTZs$q#&8XG"[ed5H:$ V􏽄PRm./Q72SWb>ӄe[gœA_kw=´SFD92eU6rIN̮A\t ֭~ZNbLԖ[u (7i4J?ӑ^dlUiSa)ń}=NBSL[o!&fڿt'5:%<]dabȰoG1eǷ=sz&7sCObH_`k{wSN Yf (Ze^W`Bb @ O|6,(& (@t Q"\%1沛!}[:*<-b./LyH:\؁5jٱQB~WrƳu OLM:ZInFQȰܪKKJ Տ|׍Y-Ah)nN;gˑXm.>&?T3:l/qBfr>oÐ\ĕW#=j *0D0&%$"c`~ s Hb8$]e\v jN'LZˆ,@=X9JڡF(Kg5QNp&W,cٍ7 mII}FDo@ZͻmU[e.iƎ2i˂8St; 9ŀ [9ʝ}i} h4!d}P^t|/n-==lr3< ``h] qw@3RwQҥo1 "q99]5KCM3^47[ q?B3tJ/w`VeF.0GKT'+ۙW%&@ C6n0 :z,>ڤq*壂W/Rmd+&܎gSsc*n.ѶXPH|dHUn&jͰ.|Ur%ǬpET[膔Fg[`>x+h4>2 Α+'; u*}('esqSqh\qr*~HTR/׺|"iSƬB(5בVhoG8M*fм @m plE3)%vXnaFֆcE4&d&RHMqr>S'p6s͢-Cg.OnfA͢j.T-tHzx2CYp*n*bQvGh. oVxpSָ|\4f&R)q3Ɉ˜J1 |ﯴ6 ? *%nG*)2 ohJOp%*rSa"'( hf0cex#m&jlG&hEtQq/&m6 Ȭ t~20H2bgf=D`5{/mߝfB01!caƌ[QKNjۊO.22'SAg4CȏLcszJ" o< ƅ~>M|EKk5T>m&Ya`E[p|^;HLiT G:F.ZKI{>#<.Rd@1 t=rT&N|bF'?)co$ZRC_Dk|b5t n@ HO0?A:!/)T5r%|:FP)gm6C8IhT=΄Ѩ뼠$mТW\KĊ˰W>]Jb@D( I-Dۅ"+s{@`8Q 4`##2wSÍh>fBZVh|zL*3e:9ԜD%T8 !9)#f6_` p$XFz$4W6N >dG|6\4$?^I<,Wx6{[4N u ]];m%Bc;X1 lMו`K0#ư~{=!`^a&'B/?U4M`~ tFgn\NXnWs$MBA]S a`!$9n47S@ȥ.t>,}*PRGԙ%ጁ RyITܕrd['o2m]"L.!.;JCƦ:;!3pX180nV^`ub9 ,fA{kc"'!|(wT 1 Ŝ(qEܒ:AV਴@vxe^ *a$)LkOXSٲ4a;clkΕ>f'&ۓ\ q8&h((.HlIA.c%;7Z>Vڈ5&ęZn!Hvh-E: CC||vLSd6L-0] !lغ1ecBiԗ (`.[K& n dzLH{Si:Xl_s^B]>㲂@F 9u{M;4"_=[dӏMC26o/35+ XMk-2|5QgyХJrNqL kS'&I^"{TSe +m֣,( 0*@j3EJI%Z r\Ѻ $f_nHJnT'S>*xO)nQwFeiuVAeK9L*쥻&`1%EײB) l?^OIzٳǵ~d紓n,26I6F#7E3+ XhP+t愎J˔&nk2h^^lkBp(dgJ (Ģ2JaB> , d(Qi1Gng.r/ } Νag}cPIY`ێtb4d#R_*So ֣=:-ieh/_v[ۅ#m b(Hɂ{ -z@Uk^UE}#u ge*BmO/10CIKJB]$EH*Cϓ)cRm%(Hzc0E: Hc(rJ1mLIxnP).*bYVM <- *MuFk!:GD2_@OdQP]<%1R7/5E kcCi`n'>7Zyظn{! Mf XRYIX!4E`XW,]zX`cTlJ٣&a*_PI (e"WC6dODձFDY8ȧUlCԡ4j|"5խTA))u4LyP!N8ܥhA#Sp#2ZЫӄ$O, `eMзPjߴ;ޕ~ jɻۈ lZ{An)yGvLr׍?|4+O3M5{$uDԹ-~ -90 "LwsYO]Lh.B<7g"tIń_eqh5ե8;$1>(gfO$B8ugBh( %BtDMY(=)+kBAmڔ; Ub̅إ%wg꾃5PF]^@r']Z ufjCQ0Bj%Z:*dO93qlN退hs%"=WfdH }r_ Th[rԏ/oKHӮUBUJ'V$%HM~IO Kxuַ\$WBLv]/ lͱkg&(y&1tn%XjqHR޹U*mb!A8ADE3ϫj9U^DBmvV?/|uR<>SD UP#Ş%r01 XN$/ܲIƓaH1XȒ7%!T-BU DHw)?}jrы7&wbtVBKD`i0STS3n,4 JHʢG5oNFZb̧Źy 6{JO^7Z )atUX6)abxۑ)))3V?֑A8gKJ e/ghh!*Q&2y}Wtp/e-nםe 2smiثǪ EmBGos=_L};c`_A+ZMo)KW'5Kk3E,+JXuQYv[YТxV B$Rna)i4o%o IeZf)*|VV0794Hb_$ Ea8ewVAѮmL1ޅTKAߚqԽXsyPA xBBBj08%h̡k?7qs,HrTCMbαڕbHJ'·3d2>Y(=ZJsoa{?o\йsCLG椫N!)_L۳^}YZV[;,:&˨ .}KSΒ'o=j?j}5{<_b69ɚQeoEca)2֔3JDe,_3D-)m,͍U3R!̶w߫@N|Yـ\`଑'q"#RTAh!qH!rr]bwPm]g>8Sw0gn%"WIfe j]/cL#$OsJuϚ<-)}Ź@ W)QywIK$7v%i|!`XB(ChudОiAdTO +I*תي9 \BWtq6c˱m/F—hηݲ._YY6޷vJh$5'/1&k" `'#T+LY2cFKoΤ?ctǡl\z!sN-#Z͈HS6 җŁC)k?{sۼ @HtlR2Aa 4k a;KCP^Sz6*\4"u[ P7dTba/jZ= BJJVXzIUH2<7GemDF_R}-n=۸ I149u p~KunK##Cr)|ROTjiBeռ}xoGnyTO/.IȄ#R'dab$t.k23SP×MOE<.t6ԕXod2 "= FfmLHZ(Ab0(M^ _<wFz+=zfjs'&d擴[x\*i7y1% pD]E E#p?zzBFjb81㘭(bSwx(XWG2 ^m;.GK|’LXOU(Tq9:\YX i8yK2^Ƹ prV ȋ!(q3%qFCMA*!vI2sM$w*Eh,*,L ܴP tX;RzPLBlRRzF=jf5Mix ^ Z (i,^w\РE!$*QdnG9\G9G6\tAt*b u9IjQ].wsp7 D4wPԧFFLs耩t(K@c^HaHoUtI?. ; v`+NcC-!\J}Rp"wf"t5BBF-)<-"PLz$ h5m ]FzN|\J ]:Ow"  f=ϫK ]8-1kncWHP @lObZ-VZH"2. |sXbT`ndSU57ӋA0ۓhݍB8&#"TQFNPzGx5$V̍I}N4"U]{o[9V+~V\lۂ1^_xZ-7vvqJ-"Vg*7ܢzyՈt*>i'!>fkXnse,gp}AsgDj(4Za dj4ItWZJ?TE@Es) FVr<Ǚro,f]bѧl4eM^BEJx{$*2ً U1Nng_I# *je4q!~XcTi-![/E{EgOj͊B_TEGCsk *h ȯН+Vr,/1@ƾ<#BCZj wGtg-.z\[v*&&VJakb"5x_3* H~ǸueMg)% ':J`Nb8r?o~n1 %jJ=[r2uF#N9nJ5\@>]9R+pAI)d •O2i>¾PV2};y8 ՐIƺ>-_#z1|'%#Dfɖ|xIZJ d!0zs>s8%<$J וYygąLhCY*w1nZ5jugL G{]"с6Yi6Ty3&K TjCK"X*{A)D@gOQ˥l 4MiSJVcrš )1O= `8-Ri0Xɯt(gZMD8] bV"#JQy߽`" ;L)Pf)+[vJ 1|VUVeFa\SvvB Dr+cn?](T&>~@Hp|3jˆNXtGT&bb/p{ƁTX9!TzRLT:Aˤk N則Ӏα` $ 8[*2Q'2:e|_jR ?̌Th$'ˌ*Z S\.2Ǫ-wZǏ{ȳfSj@j{ ub!:56Xը,yV3 kB7 ׊뜓k@Ό- ^lq$XW0?`m޿"SI.%P(3:Ӆ!szE Bt۫%(\uۍ(iJRP6~Uwb1P _1|㰻y5qT2l\FGn^Re_Kf jApY;&\ 0΀!Ըs\Jl!Vz}I=1Ra jQF D4D+Lݺx}.ӷR"[DT4m|sy$a^xJEc[U9ZlD7PLf'*"vi RMfB+ͽ&MH'R:%JK&b0>@Ii-F?T (9\][a?Ay8&rR X.K&fWET4!`g<;OA_ȭz q&ȡaH,m)ք2DTHx*x4>+KSF ,"3ڑ^KDjWH̨*`ZzvS.2]J㬝Q1+{5=RrGRG'c#xV/`-R~"1HΉi^ؖۜ)vIt!gMEFҲX|M-?z Xuj1j^,B7/ț@?ҵZ!#A䀃%8&Tb.r|ʭށV3lSXIq~'d ϼͰVlnZ? #UZ Rӡ2 nq!CxE]5M!v'J7͐Zo)dBܵ/L2a'܍Bѧ#a]E{× Z, .\a&o|v>.k&SCe.>'0i:*G;"4 BȂF6JQdSԘކ"KDnM^kn7QeYT]ivi zua\^c/ߪMviV!~abT/GXWu/Ы t/U5h4;_C U+? ,aԑLS#)Ry=%a1h~iqɠ=''*C5j{DqcBRwda@e5R>L>8\˙_`7 C*oL-$2paQFMjA] l3 cvN vӎLuh`,8qX.8]ko\+EA"jt*tE$7 f^<âH-J$2֩clo #FQuz (H["6VҿG>M7r3鴈nѯ5SI/$ƘB.Z5ԗ{kM2jC7MQ.$y5'lڳRq:4 <2jfgcFĪ ŗ%#H4xJPɖvLTMX ۏ@LBҢMH69J7 Pd o`%AW_ȗD ]+J)# t U#&+¿*l@P^·)ĮzubFG\M"!jUEBJȤu)eDD7z]Ô Z?'h s" `cix AG =z:z`7H3H1X# owzB="ԅC*5ӌӪx~-'i܍*†I{Lq}}1Ei&򹄂wpD9nLk#j'\dB dB wADlf"e7SpIb_X3u1rV++QA4W#WCD:5m#)s@E)0-""C LL 750H<D {:]`HSzpdHd5G]U2˵ C -n5nnvi-[(ւG"K1$f,j6~EzVEi쬂I{'10AZDT(i0!|&R٪Z[QsNx*S* E2:skbK&)\"OW.T-No&((Ŋg 3򝲆Ot&J %U*`xP*T U Vb!r SX Aè\2ޯFD@~< -B+Z%<ߧ:PCШp7D]P+'ueRm)[x8 k^Qyú̊M¥{m!V5*+zQ2p JLOks-+3#xXJKE/#*P. XbReIOTQ&He78.KڕLE,\0E+;mdZ6$.YS%UDk$#MNZ R+p86OԈlx '5m_r%lI")}rpRBB0OfMB$ٕ`aawX%]/6Q.M_Oa*!๬5| }"uX6}wtȴ#q(Ĭ Sw'KK&fvb}ҴVjR A)zBy_237A+@JMU}Ck-JfHiFLU@lDn+k.^ 0GQl:/zrI+Ta?u^{ۥ1' JJ'6.dҫϽfKJrSZ*щ[qf߁s{`A~(ߎ'iN XO pXUܑ%{IRSe].ZDFg-y{ #_4^B@GgFF@(Xk%ȏñwCL\V˂Hh߉I565PsQC #gY7'",!E~$vFjmGu֧mM'DT9MbiֳO{:T;YJT?rҸhĄYxsrCEdk۪ wFj T-mpiQ+wj:F캰fBDJކ|p^EQj+/83;rdXfQMh#JE@]дo1Q4߼϶oAAX$\2ٟ27) sqUg5wiR4^& 5x=!Ҹl)%FP.X8h#(cKST, a?Cߴ:, Kr'ާnn`kLV\?C2KngiB -@e7zDѶg\@Y |TnY`hxDBNL:W13ڦœLjHV 2(v[IY2T(^fח$Xύ*ź`k})$ބCq˳f%0TU֐=b 8/'jQmB#gŸJrPPVrvi?!r)-wKb)̞ Θ[*)ƀ67_Z k]0%gk+ 2A]#bvq[4F0 WZXPu QWAƇmWE96gwbYX\.9HA k[ <> ?%0Jr ml;:Lc~,>[6 PZC@)T~mFJrˋ,WwFk1 *)>eO#Y郎_~lvKd,-lܴ hDΖ}U1" ȝI$?ԀKh#&(P+TBZMOՊ.! jJ{\*߯ 'TGFMu2Km;cb0A,8/ F[ U XE\V8⒪^]ZVHOXrdWmMmZ0}ט$G j$)|nDZZ*oT腕P.y"@rVp]F5'Z|dkmsTTBxч6++hMҫ@ putġ0%@DsH,e}H!@w9u*u1( 4 utrB|#CufC\ɞsew5ދ'FoRnUi輷6i1([ar HS)۫E} /ĤE=)(q'Xd{ ([pBlҾ8G&r]K40ٙrBh̞&Ǣ GͮD ՗4of͚3bUuׂF/w KPs*;aƊ"+V6I5QpZCk;~˥?T|Dd)^ڽYWB~</ooLJj ,E<WfP6==XFiU3)\b9pRh[dz@hՅpRT(%sޔkU R*=eRD3BkS>oi_qZ\f?db˔β "#7ԸGrMU1O t 9j1PZhZ:T!Rۊ.// f;2iZA4d7צE?v,.ncsR*Sd+N(S-^@LI$ć&Vҝl1Npy*+R&i}u#AlW~Cݜz@G42+L[kr8b%_PJpFA""fUn" RWtMY<!f,+eOdu7Dpj2v.-&:Q%>rNN,2L-K|W*rYn74Oԑ'D#R\"WYu?4jY]ͻZm~7春y>h&Ld ` {|)4Oa^Oy>iYĆm٭/.]/S<QQ=hvnv V6BJBD(S$$j =Yj;YZ-oԐ.ODŊ#) v(E.1YknK(68iU!%cӢEd(X &i)SdX♊݄E튱HT0&:%!Pyy Ep+ <,-RALTi ={AiP§8jbH!\3szYv) 5YB0-Yz2Jyԝ='3>&`&wD쮫܏ @2^|n]lt;vBDTt@غSةb}|2k1P|*h0D:\ ,R)/6 KE"bFK:s,ns6aHS;$O;2 @E!4=GYm&A4%Zb" J|৔J0K<Pl p cM>q CS&N%u8hviQce[uY8h`䐘n'ub66+g +U:NWTO ̛ E"EX;]'͢BAҧ옘$KL?*Ba;xw(,_D^P ۦWjlI],N9 T-ݤָ&` B@^эl,a-t#qWӧ-ti7$g*;qeHT$%g82KMjkӦ"@S`qU 5ӈDakōv/+"6+Ha`P]q=43)#]HKlO1B0s)`L[ԍRͿ8t*i-tN oTRyѦQGHjˈ%9ل"mbMcI$%HHeW>9KHdA(|,ZhV6._h [P_`"=H:v5ɂ.4aWOf}cj2ѧ= "4/`(BF )j6$=ݪNS!]Q}TQ*_j_H,pWr{c tbk?pzɘƽ@ !4vH) hw}LcbaB6#%I@%M#Ց{ZFD 9vpYs6H#IdW2RCB 6j{3 !^j~7ĞSM!pE^"@B&9~c-bxPd2x>`}bDi܅[Y8h$U&_CȮ|`)R$F"$DC<]lۢJ=Kb67"$`;x ~6"6̟N[V^+/ >7#*|huRz7$9`c;UcI/fYIN}܃ZHچVUͯ^IihS72TTeY%8"uKc:DjvNPU6"ׯOj)oVgF]_;@4(Q`)oD'Beu;XD'-d%꼧ttMM) i}Fdy(?qfxTA WU"ab'Ft 5"Wŕgri VTeyˮ~Uj 0傝w^ KANDÅt">ЫI_Khj!8]"e ⊱Qo|>pEDk2eC*op+gdFHsdO p !rgc%v7==q3o{&Y\fB8V:yL_&I>ν㲜18KCQұ7ғPPKsMM>sM0 >'D74JhRkiBŕ)N`l^6IT_Kf^ qv]&![6&iHFnItq!*aԒ=+ХɠL:f폜.aD>P)PSkbY+jFoKM KF| qlӗk;#;5T6zJ I.4Y 1~&{ c5CJq@BY)/DwJZhnB%8pXK#V Iƪ\ܷRAl}={mo _ Hp?5yaǺNd!A$S 2 ]%K'v;"Բq%oZ7I. >!Z!?l / Ekq{\>U*=5ԓSZ2K."RYueQ* IOoU8O2't3\&T4XY\̛=#yߒN3"/Ȉ;&'{dY_ڰyI*s1;.c ֕L H'hʋ*h@P˦qWXtPL0aXKS3vbTiqn::g)29ëq5on|ܕdժT$țf2'jE,.I &.Z?ty?ԍWck)TGV>R']$m xz>}c41ͭ E>=d>(IA4)l"L#.Bt@v-^% !t""CCGci4&X>A Sfm LIzNj!StQ`@殜SuO hE)PJsI`w<EpLxt X#K@1H2 M&,-Â-Zd膮D47 "_ʼDIv$ 蚈q 䑒o~E'ĨE 5"ش]>c_24;BMG~"$ѰBc g̉*Qbi1t"ԏLZH/AuG^cm<:bi Wn' 02I%4CBa"0ŐH_-PM#p0͒Y%HVMf~\G̸@o"#JRQFEdFTI#zH("tLR=AuetX X~lK16XHVd%0I)P|']$NdHA 3[TaYE؝:|&Yʹ eSw]i2o٣;!rYbӛ?BBrBLgH U3O|OLV!o){Dve7^~@1QMKmڬ"Rl%dXm0yytך[F+YbK5hxXj]*XfJGJ%cъBblL:$!~\-U-j-l ȯSp'ݛl,8 #NbvW&E!U6dߓ9" I446U˓?vS4"#M/eq-r}K|[MVR.i#3=-Aۿ`c:} oʄɈ^-V:׵uvΛ)/]dMP+onE.Qܚi^<s*hUMb*% ԴQ~9"LʱN[ y˿BʡO.6RB=;ńM% t}uٮl"ןEJfD堀FSE1e5[İV6*cHdJQ+'z &-HxwЁTz8@`amM&[GyvWRc]:Xu+ gw|O+0}FyB  G7LJ=l70/䦰A`mBo/0S,yTtAcp=Xr 5imE \K_)+Q$uA|PD Й<H5_oضL2a&m$qqwE(-AQc<4EjQuHm2YmPIO+3V䎘H ͑P$cbȒh\1,㚭ЂmtHB^L$`sLdHf#1궛++LLHG6r"YV1䩆N*.eϊ#N$t1Gj;5P.4>TW s&Z&2 +b:a!FRIdۍZ86sBn)d;V4EmtxceZRbԅR|Pwd.cfo$5q>UA%PD2cI9X'3] T&PnSϼe*fTHqńD31 ' }҅e( BpAq$P~s& Yϯ цx:i59[hlAT'Qly\K4x/8.DK42qVCB/p]'P\T( 8eLZ>)(xb˝q*Lmv|+CvMv_ILRK߆@Pu/%9xEF_AvD`{6)HM-$AT@U tjɨ›B2 n[B#]}wa S- R*4ZGC1F35S'^#.rB'Xط !#=.EzAx 1)M*ׯr-U5¸<_$-j1db:#XX*("zrMv5(>VF:=o*0Μkۃ_F|CRʣ!7WTyF%\ 6aJUKF[A""y*Vw_PLQ" :FNJ\O|%A5Xa B:.Qk\h(c d_dSm^$qbzZY*)lԣE4aX3&a%OZLjIP`5\0E$Z{G1Y ˂G=G02 |ZȞ?8"j((a5mK^ѽmQ%2i ܓeK#QaMFxz+UCsrB&B}wD8D2#j͒t5^颸*|)EUhɎ:bTJ1$"Rպ( *룖!U;Y׭Q0QGF9񆦐,]-t"ig;ӗ&}KQ,#*dSJR 󒞒 r,Y.Wny:)3 =Pb {Ʋ,*FI?>t ZTB iLΘJ2SAh@Hʽ+ AG c0ZEKfq1 " V@C-Ǧi4A5PHhVdӹ,isO$ȅ b OrbBօp*FdIM:^Kb /+)k8Ziys1oJ J䝤P.s3+Dp5Wa9T:Aorf VBڭTqO#Jc%WfZT|dگ%l(#mYZx&_TӿR1|Eqg9jpFS4ӹ<#u0*uMUC3˫x!1|0-V;P~i|{inmHtKg( Ď'WKEsn &LϤ=¸)9qƨBhL'wFQB zi7VOu0o!L^ ha:%j>+H_ﮙZHnKߪo' ?_"ԫgjYAҮ/ZtK^%JJ]e9t{4GS ?rp8Sj#dy-rlkgkMU&m̲5gPrC]PK+J)/W^RLݻaG-O$ uֆ&FTFusVJ 6 @TU r5IsW7il bXC,;JUܘ7IrC`&:k Ku#Z0/ (1w0&ME">P7V3C# H߇)oQ[ͨqQZ!,"G~ [By .I̥Z{/$A6x .S=DH9`pb!)v(1\(d#f O%#zwf|+Job,by2F&f9>/w%ĂAsB2SH@,`m$ j QJ)0'<)de?d\*,' 69h,0K̵BW,AcIZTݚ:HKF-VݰQ;/~(QSM^-NK53RSmBfݛZ3ONd@ܢU>OOlM9YeVf)8ZZVJ "d"IU)Wk>frb=+*d2RQ-t(g""SI ix8prM)t.XRHZfώ &QTc&+3Ƒ4%p~kB%TarNS]#Q Umo[}'hɂ/bZc/_ "?l@e^O":](=m'+$;]d8U)륌tgBE ?vꂆ>W &. # TM('%y*{8[Z܉NJSjND@.-N|SWHI֐E ,\a) &3 A+,ݩʷ(P6WL{I;؅dHJ]L"hcv|bmdjpJY:,3DŘ>M*>xR/ӸЮ>oyT-*ƛ,*> #iT eRZU1$~%j[. w2ZVv[3LssE'H+WJoОp0 ⟕'))HT GN+G^A*aTRL1RFЫRiRK+᳃!gyy1]ykq:_r.\`k@n&@Ͻ≘|dORE^O" VthH3>@QU,`Ym.jGLf%Umsa (^XZeb4~=N~2qcop8*lJ3De|}bNf1i >y9[,!QkK~(I=K*IY^Nf{{q|lpUhe5Fꖝ.B~EH-H(}F% 5RR^fllKzK4|Y%bSl|wj1ݱީ@}Dyi)}o FaU`RZt>Ӛ%mrKfHD &Iv -I7jUzl9(F瞳4Q3N`Ϣ4]s٫[gUP U^~NR}s%: ,qGwc$6W!c){Q9>QLdKMxhul#߉EYQmޡS.a8Xms' $to?RV}Qd#'J!y˔샋9]n*Qq= b>y$TӰ{rPӦ2rk7Om2]ee-' 2:[Zgӎ+\4(d֋p,p}䟰H95.2OTnhL(fb6-mZnE."EխefY] ^^~1^QfVtY NpBB ѷhI|H eeAMhS_=K6Ѱԁ> 5&2Wb 9ѥO4\ 4 geV[l45X@w,~_ˢXZjqW@ZPnc43+fM]ރC*9B7 Ǫ+*5 QDd%)Pz·BU%jCq~D6l8 ~VHIgjbnc=yH$G%r!+Ǯ̰f3V`)`dvo#ό. 4hЃY_LX0Pd 䳔/yVNj ;4έB~L@B&ܘiy\}{\AIE (/𡌦ZqOいIJFqlаLa :2C -wd>DF,OL\lfqi8&AVm: &e c#Jq !E..6&HPҷ&$`txx\l|6h"` &n}"I~GC `{0@m $-\\@IbɲWY>Șd0aD:# M:R!w"]\ۖ`[!4X+'_!``68hvz ֪!z HoMhT&1ފ TfRGKs2 "J8#"13< G@!QLPP-Ȫ䜜N-v.Ŧ7-5#3H_~&s)$uc[.EE|BXzjTNI-ld&MfGnBez[mG";Tىu! cRKt/OKQ aI/^ai>z7Є)ƥUq>M3a3f[T(CMf& ަ֊YA;*H۾GoUe;ߍ#!VOUvV%U2@ؚϙ,m:IDLk8t$3N+"MsjQz 刉$E^D\EYp^DGJRQcW ",Jk1[Ya, DkXocj"pܧF-;z~I Bp’eQ$nW.S1ݥp}⭼hdxXkx$PWOȾOk-D` ɨœN)A)*'*+,-/o'Р+̌l JSKO T (;"T{ԯoQqLfmY6o7ɞzQى;BW2t;l܌+ |ݰB"6tf C\;qx5alHlWTU+35cI`ix&3dyD6n/R8'O~1d ҅7yp::3zI#x~>3ka3䥋 GX79-\-9'p]mXEgY+j S<:Y|o4X`y$68 @8ZM7p/c.Ir' )Ҳ!4gYiGbG&PKMhed^NI&2mU½s~_:ȅWzqԄ2%{w|81N^L;",V_Ӝ(>9?yHǕȏpR<#3L!lĴ*a݈]v\3 W ϗű7d#1f&DL-Ж~.Fw{Fl+;~(FhLWrGgk-k7Cpx-ۡY0^l3Ik)-HZD%8b.j&<@ ̌_gR/[8KX6$]YG?F P<57eɈ2 ' Ȍ"o7B~b#**Ҵstz0Pҕ㗑X"y^N[8R Ti(eFRVj$V׺ƣI604):ṟ'GBӃ10: h<8OM+;r9HD$3Wg N%NΠRYu/0vbbrˌjhP0Q:DΕ6lRL`'̦O+ 1^ycf8Y|}3jR[xc.X:э`[;A{(Dm"/P- :nuD̢]"4oTO:(LUu4oh!m}kRLk‘n l&-!&C2YӨ Ix|N"ţωTvJS1]mH*(CI_Ǎ@F‘2f[J:WFHMDCbD eLDu6yw%B}@qP rm/Ղ2_=aQ)t 0C+xVo'O4TBaUZe"I<ޚ"pEБ"2bn/7;9Mbnm(Υ(:'nP nu^Y2ZFr4rw\-& %ԉ %x)ڑ v_Cknƒ>A鳁[qaW(C.-W]AglW{ ϲ%e |Ŕ0вشm7߷:?8PuCYqeL6$V ߖ{^  ɏE嬜),y Aᱳm0 fRK$N|@|4pUN$RS^&W S|&X#DaE1Ibc .J*B\)xq&!'Z KL]>G?P]5~i$UQ E5y$06qf >1|X"̲XiD&?2~J-ax*ơNN` "(i1B■5\驹k,Ƥ 4[KfJUȬ%}ZvF),e?-$FHOI7~i͆¦Ⱥe\tVf\2VB犄ǂR`"=P"2r483(M=+r J#BPժ$.WD mdU5ٚݟ(0ՙԫ6urN3<p28ƗI6βyI-Ip#'En.ZO5}7Ȅ9a,-,&p.\A)O5Đ}Ɠ"#tf 4Jak&ZMEv#r[^[;Ki"#UV=Rg$֩{QY/RzDl'?oޠhqu<`ϒBV7s@7 SQ+O@P(GKEm,Sxs#\ H\fk*26FD1 *;UGsz!fأKj\0wT+&3NB` xo'4z5*s)|Yi"I6r1G#]&J2Aqb")PXUmri2edd0HL!pz|6%׷Ú"+n&BaJ枎ij Գ&DGC`LkźBRP& XS jfVO#D'j5ͪ(Eh\k+4P_ZC&*p*Cw;ZF=PXB2C4> 'ullZdO_Huwlʛ7Hö"LfFUO.%8N^TzTAv;8"c PjOh4 d vkwQ`,G]5=BZ>`@je #(jO"+CZV*6n"Dk4"CzKf- q!w,8v J <]H1ФUyfX%Jl?7UW$}[ ^wR?--1s}5 H  "cdYM*lcl~<>0'{*.aݖbM,Pkü`pLY>Vr(uilқ$t@ht{ȹ\ Dz%[*x VIoAo͐HʼnQ0ۉU N O +Q܄4,D3s"d/?|mAM֓9+VA7gOes|{sGP~z E2cL_I=_J[Wz}Q;;zCJ 7tkxvrglʟ]!DżNtnUmlDpzWT#Z*ռf6nӌ٧:ڊˀLI+ܭ|7+[CQxP EP+T U.QV}j D)'daDMkق~@@/ ʫ }!Hx @Z0a*3jwe*=CBHX m8.\.pWhv+5E2Wrc4g'(-M!{[~@V~\BUZa#qP\ҨS4r'KIΈdrzLHrnЀb ԜNVJz")I]1na|BZI_D}KCu*/=4@bU,8{iy閤(ec"YK3x O ^IMV{~MiHk!P2 t \PYq9zGS_-1-bhB&z8fl|x +W5J,r1;,h V(p {ĝabм6Ⱦ@};KW썂{X>Gwki>Qnɵ߃^-?_ Y(rBHQO{=8"fPPj%LBDjA 3(*>lޫJ҆ʊzr ayMRrN̚-#>s} 62iV-ŏ-HlH̛fy\C_D$CQEΏmEC:d^#DEr]"|R~žSU4tL}UN5TҥGhZ-eVgBqcHr`aGTj5$/WC2 JCG0%;3D1T Q-rfz{] 8=s}щmFne5fD] ZXDAr?),Z%SRcUx]B\[U`[s3촇dhTϽcQXtdHᘐJ i"69LI`lБLgC5{Qi@.O542g4o \vQXtC'(` |گ{o"!R1.W=i\uuv#{NJCⵌo 0Q$I۰b@sf +خwS(F,.8fwBAsOj fYwB3po_%fݤi%𣎼XsJe8ߥLw(%ȇZoqCyZbZP27'V,ci^|2w2=5/BRV9XADGEa6zm~h +8:Ȕ^㙒Ι֏Q7C*;a 5; ðS|O\ЯGD( F' Z-b3'[nS;QkMD.kr2i(~@ B#Ý_]q ab̥#) 쐬`LֳT0_JWBKt5(S? \IVx;R$ᣟ 5Nmp)1t|aPȅ_3۲~DfpǠ  һ#$LrLWZt)3ѫCúnX3!}~^q[g(hSݪB+Dx& b?(+ڪn맲2I#Ș" N S(I)Y;gEN$pb2/~nF1 l@B _.0 GEkD1!db|Nɶ7ИSڌ]o4Jf"5L~MJlVJqSr`EIV(F"̧w: \38(Lp4o5F#)DnJ,'?y&T֒B9k2+ ~!`XRVdvLfVx %?E3Vpa$-]pia>Kʊjiy;Gj*v%jI!T֧&M4ϗohz.*K?bZԨ^е>sG[PXb% nxUsƦG#S6OSLFr^̎wsz-֫T454j- l7hv5k_1.Ųё !iK&g6 =T>HlѭHKne0nſLP[A_DLJ2S9u,E,kF =}̂3JE.oH )7Cz C QP='Yp5 rm@x)g 9^C86,3(EАX# Q)nX NelR 5GUuUo H!<7>BZPwu6D W[!(&g͈JU mtKPWT!pjd+lR/X`򥉑#&1BCyK3c5ZLlrA)8XN+DEn,#`aƻ?gv!%DdsJB,ҥ4"J+ʊQIPx(7vhy"v$;婀F"r<$Lqȋ\ZO򰹺 ܳUT?$trq z\Ob?m"Bx v'^I-sq8ՔE֥VbRջH݊$gI`(V{A9k(@h'^I#vlUS23-RC,\(v3:ĄHn㕦V9?.d"kIxQ+j0 ] hXCAx:qARDOYl-}hdt٢nT;pkA6WFV<-tb^Ei ds;=Odާu,O;lRGɲɽj/5EE[РVD(_V0w2%X&)F$|jmK2)-Ѭt#䟀/zɈVA1"$,*6XO~e2[ޤ:b-lI2=J%T?Ҧ%V*^oH]իN+UnT=ޝ<>\=N\tduBc S+?ٱH9DQI9ͅCI$LFsYb5)Do< 8q! aEW`' LnDt cr1 6ƚַƙN|eQJ 810K=rjʬm8|F#B|gEjMY*[joBi CV*Qk] )wJ\N*U$Wfjq3^ BmrIxK$)%ۤ^w~Ti>qw}fۭ+^dף;kKtMSj.ƭ‡JQ4Ϫ%O޶T}Yܺ#އC{QZAx?hދVۮWZNƻqxwǸr9}]4n^Ǜ̢:[sW)o>格Tgr>:"TsB_SzOM{j?]3hS:D菕)ҟz3E{oz?LOZʯaSL{n]utE>*׋aruEM-Tg^⥿3Oweּ;$VդQiO!QlJCJStm/ɬ|U'T}/ãyOSkv5ʡ}߷E)N%̥{7fпg~>?w˿==Hyh= ա^;TrS;jks'OG]$M~QW)h@Ay7*g#93u˟DAg?:fM~Iq_Z E/V|ǎ٩Ǝjv[d#Env>>NMd@jN+#.9ME# a].o͙n;-%-*?!K E!- β@-k?2lyHFyk)35=k`l㔻%?Z% 3o Zvm~Fc`UV}): WMtՠ弌VHRd$_dU%'btu;jq,e٪_$>JT^qbRfMH^ ##4dLCBb7'[(~4 /wα4_D1+^|nj&^-~͂zer&;NJ:PɘFӯZxMO&Pd.~vYJ,6<"UD<䞒C LmNrWu;3re'/U kf ^N?X Pۻ7qEY# uuHDe֘?(Lb$丏}$l"9B0Xs(i94 :ԃs_ܬvIY*ş987k$**7EVgbB4ΨtkƂ}A C`]m⾎Rx51ZWj_%{^fe'>%mD]ڴVo6Z2yw1P)= ?\b66gѧH 2DW(Ɠ p6X+N-12*rchpdɳk'̀t]ň\ľ`(JЁ{:}ǺD$WromBtDo> h dL'6fA5ŝ׹7Q¸UWfUA+%iImokDBnM S!Ԋ֤wMP جdGaG}AKHSasؤր,d{]dDd41"#LnBu' ʶ#IJPjRFBN%/e+/$T|̼c%ńJSh5K/[*+O GcjRS 8̏~r[m,,z LYxxaƛ h_tiHk0}U*vH6dT5*w᭎=nf j R#ty1E=4s"{] jKSzal$({q= =bOIŞ~xφƅ(o> Bpcglѿ pE 6(ƛ'0T=Pt )²640]9~8z/x9yMS摣Lf|Ɠn6ȁqlt,jEhBt1SVUE&4."h8¡K` sd{1F1Y^"׎A] ݕ -w\ܤwٌ,3`bt4S߱g:$ M<1!l+  VGoɭte/ Ù:gIPH}1PWA{^r8k|r  4(!г4JPMC6WbU*'N)~8?{lph˅bV,0M}NJBhȚ"e  .cIKʤg>pIX'͞8'Yf-h>-8"v!%-hp|!gEl&+Ä?P!? C-cEk97|{;Qԃr|ĐxFP .L6ZT㳣]v}.꘯(CDc-G.@&E^8S8Eq´inhҸˑ^Zv<?5YZk702WÊOvj "qUO>s'Y\H !,Z͝Rܬ<$10$q&~})hwjx0۫Zi;ەbC/k}p"CdA@QCZ5E׵P@cX%1ô7^~Yw"N=1oek gc>E=~项IE]-%ϡSG-mwB5__e1T6$Ncys^ຈ:tkIqʪ"̀% ;lS(mojI/H(!E}Xe=&]C7=R.b)t,h˝ !5j0xf 0QutQn VXh>)JO^#[!mVtp4]r/2>b&8jHȉ;e?t,M]!=f{[cD@0^OZL x|sM+LNT}3tߌyʐ[iA+;rM<^R V]GDר;zu]tKB(kǽĖL &z'˽!!DB)ARiBv$TҢŲ.ZA>&IJYʰr> G c f;?933&zlȫk"3IL1 EXr6]*w# Ν0~B΍m%P0;$<9W[fI:cL C<ɲFGMo()e 4^~3ƐE!z*{m ' MG&D"¶dP#wf.]lXOE (!H2D^> ?fBıusƋ' ɗ(X[b1wK1DD[5AV4;W#)ߝI03T .S%HF{|vqc4UꋔZ1Z$ H/="hϦomO{HӱEå-=a*Ye"ϛ N:$g7ef=+"adԳ9&KЛRZz!]MNqbaȧ=Mh wV{H,QxYWRZYzNvJN8"ֹWKO @t7\j&*=ө;8 97JF%Z:-2))L`DrXm)stɬ eIae{dqh $*x!0^jD.|JXrZb%)bT_ܰV5."$*uQŢJ±bUQT. D1H%C)DbTLȽ(7K'a#H Jf/bARq9s֦$ebkhO^kD9iUQC3&mJ\W4 B1{B&Oq/AY@@%0Œ*& ]SdXn݄NLUJV,wbt 0IJ gckONZ FB_Utj@HK,Ey}p&?N[Vl^,t$,Ymj"R0<*sV-845J)+h I-.刂PJE ,n\HH$D!Xc-,ktYYXpN6ɱt6޿$07*hBTc4kmX)t`|Mɓ+'?.Һ-ɱLو?' H?R!&wPȗ6Y6O:Z%f vՒ@.8x RRqMs}wR {e?Z5"7N͠s#qd&WKz"PIFB[aFā[11Lu~:@]A f 4"!lԥ3Dpw쀁{OEQ%5*H8~]gI.  iH+mF? 7pXcI#tuTaXXҴ>zf:C+hJ]T+`kw=ʜxq|7Щ㌢ /mOaR$35IM @j4I~tϣ[,#})s8P_#ڼ˔T^OQK)" ɯG-O6}p^!]9193T`F9]:9RD!e.mJ#%oNd/]l;7r7puKhX"L@ } _$fnuxÔT_$S22:$[!.*5[K eD{NEEOq8,7vij>8E]bRlydߐj-{$<)熲֎GNّE;vDe{EgCrRSf7DlqG;&fb {tט! ;Lk+e,B^Kj(e>XhN@0tE9$f0[жt2B4䍎$ "&h#U8bdh*"h[s魮(krT$X:"7=> B#(tM v41v\2hmhq.jvaiv#TT&sM^W0zᦩdlb-7wuWzB/ +$읦tRrO2ʘs:OIb)rVa0] wo2I lXPBy|䅧]$0%)/H,TaM+A.0Q: تSrGfD2<D+cRQL[~= 9]=ɗET)}VeCaE=[kߩ$J(ۛ /VQ&ES}ȋ&Gz9-K< ^~l6tȬΖve3;!ަ =C̫=O Ec':D AWV.۷ܒ*1:fx%3%-r}ҪΣgH|rEm=iX1_S(UH*a]lxZ(J*_ t' ^`{$ >_nl5XP_ یD O;O[9-ChP}GwLtaR7ڊLe&[;O~C&D',uI#j9trʿf-rpcThnZ1NY m*\H׽V;OѴCV4!6eQ\$A`AfFɏRYPõ{h SKhZoXV(Za=z Db8ߢ׿_ӢP0wua,qZ{dtWX2o&7~Ddxg0TʵBtG|1hWɈžVfc @ᴧ1͠'\l w|G MAŠqJs^AnR$ m |'@)b/Aʏ*rX)q#UwGZm:`*%;X Z.Λ_urm^'`01j2oCڗ[(8aUj OghawF&cPPsVe\ǴPk&lEo_kJ"L=CWWu~CNVP@^0F *5j!V*gcs")Г2xV/ Ti wtze?:~!b%˚J\YzE`>+k3)Ia 1 5,$'+޳4'=D,v>#u*k IRi}x,eNK["\dڰ>o\E?mBhAme,e<.ThhyK?eh!Ql~$[,B!D(4H]KAD-׎L b!Xs@0Ac? 0U,0vV߯MZt9hHDžXpR/acօt ¸ȲD<ΪL]a$m#apo k24",3' &Řϧ2!L*L+:1a6j4]C1g:rj֌]|c4GYd2p¬Yt484g-F,&D͝a8od>Atp*ɢo˧=X0YgZѠA CShU2$ۙ5!o sEs#-ИP,ibI|(#'fɥĘ[w  'k%F"\̞SF{:Vp ? &ba%*Q+9 &h"w&!"5gAC3&0މ%d( b1?~tO3pī[c7m'1*8øW O%Řӄߨr>`M- *igR=6qMġ>ǡ$@B 1k!3 BHCj$I{yZ)FBy0ԓ.1Mji8?(.2h \V-Lwگb5bP SQSTrx!qD\Vӫ GLtgPʵ99h6jpUa@yqԃPY%-!gFJV,05(ı@2P`WV62 PYUά/*' 1Bm=LsN&$4fvJ,E 4 +iA>)k T8-vq$G<_6~Dt^*[.xE>M'K˿yrRkl: 9-*3{{ȫپ&]٦Ss'uSdul7q)8a5LQ1;kp@%^JA|t*] hj=J}{•ŒD,$ԬrmNk%h'C~E<ұOpN$o^-2S2 ؒ0oG+u,y67C^|6lsڲbRڻY9_JmU޳Ma@A^gv ӔTH(ȇ;Y+%&K dGeKB`RV/:u:bKk)+Ol#0(m œn9_E[ ucOCv`2t1ҙG|{׌П/!r3Fp'4= @^r}Cʼ45 V<2KVkcĻWRW9!VLƠ`N(2[bGc}׍WJ OKIBQns^bO&f1imQ'+e1!@F OB{:ہ0;hmvHN\­BQN+洆+rD˫p$(%Z0XnLtz@P6 EAay$>r$gy>+/iX"Nf*o{vm4Po| f}CNI!7).c%%5"xD)I- YLz.Ԇ,< S0d/MKe&$+_`lP 1SK=Gwk J%k5fe})_y=n kv{mn@$)2Ao:Uѳ6 FF4)F|, &/F,]tR(L!+#өtcEUW~(a g{!Mr'EF% Uæ×dCngXhT:KQz!Nik֜BYNbA}LS[P$esz>~275Ӌc-Q֨%b,E# oI KDaҺFSARVpor|UtT1&m5LU3KnLPr)z6 5Nذ^*m@6W äϠE*>ulZ'M&PE,[c"D "C!LMVxg^UyCCJ`D@M ΟgBtkW5e7]*˥Ô֔׉Tw\(0Q$u[\]]84wKIhuUl.Fz' LJFF[Q 09rQbؖ+p.N4RZL|B|5 NജHANRov\^禫yH[Z9p-yE< $pl"*joӀZPͯ@os%>C#7hDՔ=v6*E\ 'Ȥw{"6H6O/rkDx/ϥCsJ!kKv}hz2IY;:˃o!HT6w]DbsUX), N>ٲG +VԱqW$r gEmU:Ѕ] 1`~ºB\?o*KCOWͭ12Q rICL Jlgv,sU]Ε;PRGq+ Xaw$mR. rԴ8oPRDYPoOwI,D"syp'᪈ɶB? j~ 4yc6(a^_q~/פ .7E5PfОReB$K!\DlNr HfWL1sJYbɊUY哯7JuMgB;FFYl TL,I'h)!#R}U4de II9 kVX5:Qgx# :Vs"Ôb ^1b(-pJi7(32jM<̯SqȢzRzw`fH%0E gPBLہ)'¼_t2G9pO2%w; yT¥?xŭ 9s׍M?wk)t9mgddrۘUɓu5&Tf9e0NЮ aQ0KrGV.h2l;QD=aӑtvA4qghIꟁ$gvQ[זO^8}Vq1<ோ씤Do{l!KE\)#T%BS+ώy}`'XZ+栄U}S'JDWt2zw0.Z )kFa\E Y$(lF!6'h6!W7^ItQh^AʡقT9PD]PH 2m,QX'"'/op$v-;T,Dŭ8fED,x,AK"5Yp-Gp5q$YxH> -<@֪$-_B+q D&pJ󀀂ChD %vssb| {׆7p+b'I4+MF@^h3>I28|:rqBwx9h(JNDYa-)=#E$I~sUV̠O+)|m^\i2,D}m^Sr!`JV:;XyqPl܏<5u,~kNWb C*9<"*pKQ@hOgnu_hdක~N"e_Oݟ+~CXN#љ5gv}d[ iBf'UTo‘Z'^cbm\z.`ܦq$dI"|Df4ۙwBQ;\3XT?BW=}yzlp{fyVJ-m+aCZ6 ]4 p,Nh+qc6X~hH&jB - k- ZjY PDl"+ ˅0\6q(0[ CjJE uMcEDQs> _OȈf`ɢ9Ph ի}9pO(Rq5jXŇ9޼jdY IɧL7Q".٢Jى/ ~>JC\oYՃZv}B܇D>ǗdBc.%-+ˑfLiOMfL(_pNr"ph2Q`ٙ1h?6zL$j;J䩕lYJaQh7Bؚ+nDth^aqϲ!Ѹ & Q\D3매5uj,TK"+;=[:˄-k6ڡ)Su25%AIJ1 !BOK6Ml-7v|>r!};.XHTk6j>êHt)3Pŕ5XpS)†!/L/U먦}Hk MFq'fJ_E7 FTѥXReAZmjDc*Atb M&xM(?.FF$ 3R[݈ԐTH:rCR5Zh_cZ,T&>ʁiIn~JrX˽F6žZ(8ULqmqCYB8KB8r(cJG<+nPK$1r/ORaH;y ʆD( ү@59̌@L0 Xƾ' D̆!x5jpL7Yޗu5NaYY418f/8q6=ޚf -q!!k,x YwJͪxs~_؜'JCE(zgE~jjrλ"ZIU%2ζ}\d{VxҺ qXyn_^k0YA'q*%*Jό pV)۩NZp䱀ܙE{͂,-RlדgG%v~A`eA9(Gc ]Wv(|X OG#Vc..`·3"82TF z̖PAi»61pH隖T9;ٙw7 S%Qa< -'L.WNo[/-{i[ҞHp eSJF֙Y]WK9>)SjH(Zi(97e/sLC̿*շ.$ʷV#N KdɭQ,ɨŸFOa~ aH,o-\# ^8bqH<"{0Xw`;*.,󐏸H1EJ[EԲ2&`5:. G>* J !PK:C:[)fSz\'^gªPBt =A `aS֩rB;7=Qnj~F!9730ҵȲȮ(5OU H4dqNU9~d+̫Cque49$dq?X5L:g L*Y*,') R[aikv}(XGx,( fdr2K iDZҫœ ?&c+E)M8XۇR?-hR3>*+aڝscpV#׾ھiYT*.$y'",3ơH. Ω Syo7GԤ fW!Wn{LmLh %kKOݑB+d2a]yHk9iSQ$Ia` AUje4LSu69E"O12-/k=qы"ui3Ηʈ8 ꑇ }&{'6=t"Tb?eq"rP ̯בV8 q0nKs^ /@@`%R(v YH]'G׌5RÚu:%JBucò`y"1|D0M6A5馸f% 758[Dƒ#"h38dlK[J;姯&fXkPBVr~7-ytNەY!̏ze] as>n}GGX梀|!G_Um-v:i?Ѥ^Dr;eGPV4R#{ !arr,Zk 5-$b uZb4ŇPX]7$7ۂȔ EF5&̴Uʫ󐎢=f{Ԃh鐺McfMs eܼ #C1^(h)g lBS z|9W!WDdET39l$IPUjr`Vz,prF8\YW3b$`jtO;k)/Z(*ꍪST/;/ ?P|*bOxY OX7U8T#G{9|(cs,N^ג<MJEijf,ꖷɩOyV}lo+P0:t5T[\VMLmߘۥ-H<  ˣ[Rol#Ms/Dy CAmAwxd_*!,hR!}4~emlc삑(~s '3m-MPߚ2z#?ѵuT"WiąC;UU3Vh'(]Z}(.=ĊB} >'!l) gA*oa@j įwtebWf;l蟈㢚8%)r/`t2€yՆ>Yw#0=+wv/e5RY DGy W>GL._{ŵb5z5[sX2f-J&CrQU# ^ h.浒D%.T!i{mU…Fkl6,mlV#)ב.!2Shۮ=3ޯ*x%NJ^TvGˑ*-ٺ[𸒧*i=4xЋg,ZW(ѴDeD97RHqh!a%Z¤2q3Bb.i:ɒfM퍃i}_Spͳݚ/#?ؚ>hFE4lGJ9`sӭenaH=*yY7r֍sdhN+#ݧdtWWOؠDJ ;([@G `a!F.n_Oۀ2Zi bd㰉+{g܏აb!<A$b BB_ZT8E-q$r!яqjP%t&졿xmBmw4ԪCrzհ@NDqG107L T%v!Bec]Ap"z ap/Vxk N N' T3 }v ==QseuN=#go;\aT>]U#׾ue7}-%6\|?xPWޥ^ϙ>0. a5~'+ %. y揺`{%CRR#y)!#0DIU=,f|y[Ise2? t eTGHKd fAwk7ZȡyMBY-XK֤tis̬'I|?=5@V`edlA-\t ]CꪵJNZ ќ4hEz=&6v$5œee"g4숒 I~FDRsS䁿HZ ̈́*v~CVDiUȤXN=͎|^`ko*dzJ ($;SFJ\\6&cf}&9ʳ6+{ݝ5 I)hB)1itv}̼vYBNeq+ fH~_HGn n, kT$,x+NOY8γhmE f[1*e'hR eD\g?}ݩO.TK>OmFi/+r[."pN3m }(oy.WE^)s~9 ;, ؕe}.n c-Q" m(} A@s_)j\,Hɡ>SoS(Y˂F=ۤ*h2N$k4m}s4T]'k-et %ΥjDv,ڿ]ݐVio->N \ #("QNNJƂ :ge\"j^ZQK\-mU=A;ZkID7E3$^sZKM9'=,q% ]CӞV:*JE1#k?7hI; JmhX^c`5r{$(Pv)X nN~urqн:(a^-ahO%Kvf?0kۘzyXD~'"ʼnrIPBIhO[TgzdI1z"f ϮmL٪d!w M:gZF'$4|a'2^vNMAࢿS$D"RqBGȔd#u$[j1r&VGŠR1bE =JУCN,5MqWZE\%!(\!fU~)|*d;[t/!0ʻR٩!g"Hd] 9<~ot@Ir@\?zW #Aa?@ERO܉5JM*$)nyDKz&"+VɸI^XUXVZ^,BU DRjBȞ<@fn<*r:`s6IJn݅w]aTزnDe򵊕%UP|pnL}P(Z|Ɓi͝t_FըPR@؉3& D Pǯ&/oϣir)%FnY:6h*;-EjM9:u!6FJDBVҫ+#GsPb4;E%Gw^qu.hWFuQOR̻~4s[,UWgBqv=]sS\Sys=LК7v\G7E,ⒹXG"jzQ G& <.XIR*buw?؞a*vQYK~A礜&$ ~ᘑFኊh4 a^Նb[J {M?-=`.m詊Z2E̓{,T)# }xlq}E A?\IP"˚P$W\Sӄ'‘lq;yغ=&V,Z.` tl!׹-QS1YU-&YRkI+ ]f)MY81}<+du%]~U0OLZB|ҩ Ieʿ @ROTzQ["BKX/)7O.1aј='g;ϕΫ;չE;' bqM[>M}gP>䮴(uME(gA<:} 41e*(DY +4"TJkNDjl$q7} MX^,[G])HEIJ;lVWxe6<ĩ&jJWəzS67{ﺽ (OG8$&N1X. uSWޠIRm}M.2O/DaG U<Su6뙨[%2*^J9<e䴤 *uZĽAE')鼳xnъo2sW%QQD[J ݜt:up2&vg&JNo/L7J.lw7o|@CutӇȕ.418qE] [yH¼Q"W!RXTKK5n.!:%H[Ԉӌ'r)$U 5Q1ǐq٫HxٰTuE!3}D(&cMYmys6H6-,ݝי:#Jt #b"0D -2$\P<n~PVQ.Vq\34[DENI M/ew3TBD!$HZ SK/*T=˔:H[nӑ8#2 0 V"vO])CL,aΊX /t}{]y[[% i}>JXMIx4]$.@Qy-֨J`d>f̠bwo2ڕ_~-#wooGYe<_)NhOU׼(wܕSgϙ_\WtQB gdI0uMi9DMWufH`gag-,GO,qm$#y:}cCyXh?$T -2[*m] Dcu⡂ɄDTq 5Du0+-ӜyȌN2CDuLn߻O$ɅIh J7kվ}vvDofis>uÊqyWK'd"ʵՒH&F$送 b jȳ[_xGdQ0f-1tb+UzSսԵ7fJhcnx"1_3ػCRr5=_C۹4[Ms~۲x"*.{&r~]t#TZoRaJ-OE׹wP=+HOB8T( vя&87lK>@X~UJ cz,A /6h)P^JD6P Ex%hnx< ͣxp 7Pla:C\A"abtlvgaFꓚ0Oo*l6ɣ'y#cW,8tJl]eyB\BPS |!DpIaK`a^B.X8EӤ DٯR+e '08X%:PݶfOŏ\Õ_v&".IzH$X̢huW Y6QdrHF A8eV<)C\[ +Ê`QWf2lz4L+U m׍IeOEݮoR_c'D>#li6܏Q"1kR&RG4%L@ღ4ړGÌ$5<ч Hre%wsq#&r]e#9*#0g+}qS{7=",&DVL]d+q2XVP'ȳ2f4M%b`& I7ΤYlDDiD f1sFCRM3ȑ)IVJd#¬B LGc'xyR7RWq6n;IF̅Oң"ca6Y$2*&dY<څv =AdDž FMU:&^,BF&۽d4ȲO W\^k}4Bp.^Gmhiv="8[U2 oItMb,x(yU+)74k^HCx$B4d,!bǶӊ0B6JYs?Ki_MfdA _hL6(7.͚6W*qV/dRmY8n*eɊ?v,6F`fkB4=HbrZ T4HY(qbd.{!E¢IixKc0fTMU۪N tcd67SqU VF {sJ|!-aAYhqs RM8Dǖh!Sƅ1@yDzƏD,(KQ0Ah6I%MD}V{v ܍O$,X6N+tq&Gsa$_FӄTOU5\Ă]!$l2I2=؄.4S#Z0K6$V#HZK@zzH V^@ؑkV3RD2g f(*viqԸpkvѓ/fJާ }xm&1kA!Rf93/$qŬ05Hs,̳UmYY`B9&PK.yXBj0J"ZG霫e-ZdݕnQ$Q]Џ.F-C..L GH-LɢMLq&&^cDGYYXjQUiYDWM2-(@(`B P]_t;)UX-ɧtMzlQ`&ZᾉPmFPRJ#d2Yr95* 5b1Q9G(I|`(Q̐ YEdֺ=((FPm-J̉ iʱueP/".tjѡ2sN~Q#/gvnȞITOL6 AS[MVr>$7')5bcHlF'N_aci$rʾRo;"nNG"jޟ4p.x.GNY\P]сV?#[B$A1@(qf"Ag* BVhd 1%Z+֣u$GB_{3MT{(qD9rӬΘ3OXJUN+/$moH X- @@@0H|߽jf_./FRÃFhdr5/X@IՉQ#rWhHy jԵ?.Gۺ=t6?( !MiDҮeJUaw氪,E}Sdʇbz+TUT鷵)[*3DNgOz6e}u}LeWu{֙3|'j8pz\V {>Z~ηFY\6iEhHq#a4IHIVMv,yeHuN6LfQSk)euD$+ܹƐ:E. ?77Rd ei>2F?=pND: /V PN)E9?/ IKBC$ 7///L24_~8 ;x_ڢi$|>jj:5@X$ul^SnF.5+4QJkBtK.iT(a6s KI%@Ɠt7㍝$v$+*W5'< Xo^>=Zhe&[*Y$09gdIdT1|0JVQU_c[/4qrBUQy(=T ?lL3,.dߴ\X5| X31lC%l}b%)qWSBqW,PP:: !bt0!JNqNOJ:U&t(vW+ 92ۥRb7r@)mMCU;Lc$Nf%48j8K*#Qc * \<w)V_Z HQjGaZlrk}>0~H^m#̉dtnn|(~'ƕ&hB>s/z zbGrץi[;̗ԁ>?'8еOo+䧁n&},,jedOSmHWU|Ӝp&jR_|͕kS,JUiP,O-*{z58RTul#'fM]'ޢ s}rMqɡtՆcm$ XO(J)3#\L©5]کs۞,rRL[RK6D *O )+̉gt$>%+kOq7fʎ'y(o-o5MVe^ʞƂ=Mlk;a$&$~l>sK-/^m5f*Urq$À?+(&*_ьTn^##j["DV#U1QBd>79V 4 ㊄#DFv(XjZ GsBi X"|J" n}dQJڎLZ[B_ɐUhBDvE f(~@2 D!R JIA9N>0̪|x< xʈ6{0,cyrZ\gD^LRp>s"P 4ܺΟh3ͥ9Oho&mEK{jx!)RcNwTL K2 fD,BDOZІRybg)W "J*G.ؚrmi3nnA,a VpQ(\*mߕ]%()?&LH&o: bS;rf*(F%Li5v,F L(v&pԅlS0đ]+BdQC'YQ,_l捤C{4]p]FH21TtPM#dK/z,[?Ŗ]!z%@ 8+!q`HP ɱeϞhCCJ$4LDLQlAB}&bPj6%Ğkl H]@߅')T[2,$6QI%KPby&%i&kŕ j LRչ1?yDUUq?.4hxEE+In@Pǘ7+Q.yqv|ʘȊ&k7 4-Q*&%XP{KS v'lpnH,7#f4t,QY}'.]L4`bߤ o'g j?&(zф |ڎ+Ŏf\"S\". 4SQ,=VwY&>[|P5$(4e~h5ix*AEH2qW B@.eOVϬ|pLj솈9C.jُ@:-@._"A~욤5eO $&W\_ҟ`x%˄M7r[ m|85S^2%0E}(efNPZ8dC/Qt`\j w/Hnc/OL6I#uq#?XTBqlAۻ z\LA=4fRLJb dz‡$DB`IW='ceukXyD!̩[e-#uqrel~ՍR^x6yHN X*$U6-Nb̕4cs[J @* ެ"}Kd3GBӣT)iއ LJu$L R{X- W,@+oªOh$%h:9. nj!x+Mq*Y Y6\t!0Q>,e @J6D`B OwJ45ԜɥX؀g@ڍJkW 2R^m""ñB6(t_'k FDD|U=¸%Ŕe5X^3^ B/'pڍed(BJ3CѲ 4/!4R>X)PfFGfm9SiȳX2`;HQbdRGK[mpF"4TRylK-GjB$ՇCcFQ<iYED |OZ-w$X"Aqy(:Odx.἖ô&tiQl"aRm&a;qXΔgV8%]]߰+|Ǯ.ʬVUPy_B <'*nptiHA$Wh%Q\1UR޺0Β̖6,J& cӳ_)~ެ;.g2nL2dNl{M.P&"t|L8LWo*BKIn Ը0IR`4<=Tm' HsA6AwbgAl0e эpH@51,HmCR4Iq#0_mF%9)3?}(1+ EMDk6N9mOiU7TgQx?|τ_¾ s]lLFkLiE/e -Zɋ|i6zYMl[%'Q9LHcIĊC1rd@DpNC+rٰʰ.ݶH^W/s'Bm5N+??Z͒K%5\EG ]ĨY9W4k(Ao}P$6($r%rH9qYRfW>^l!DD |FQaTpW.WHKѹhe&"cϧZvR"կ5ZZqm$œ%6 ՌH,@y4`E@  c( D ZCB%X `ؑnq(ĉ5 ϯY|o5N2sn:MhuR:ly~~:KI "VB!:jMtRzT%i:I H--~0$V"r&q(Bҵ78 ;U~̊t1Gz'xG̈kx&_ "[B7,Om'%X )uq=OCY |?SXCو'[t.9Q)zVnv{$at P wo>@"IVZhIߒˍNcℛ1jG%`ő@T5 |ͮ>SUY +jjS>h}9ᶤeSƕk5_WC*Vˬ!ٛ9Vk*#fB/Y 21TTCPžtA]"d(L,.[%HƽhK363N]]a&U\(K$=LOݔLMa&]*UEś!"\m}^EK(n "}KT6At ۄbuDP9YUh!"TBeK"A̔7_*敪ZZ55.Bis&d<i:iꮻ_ԋppqy *87H](֐ G 0,+0xIcI1~W@0JLyA#L8 ;oeII'3,@h($dhx|zynEBri9 u`ٜ'Pqő$cAr_BDQ z#Q $'lʜ_'HVgHVxy=ڊ#34!ҳwY{fCYQM~Hbj@P*,Kb(gNZ4OGp\SDRcj1xmdkoGhʫO/.qSH:E ^Sɋ 6_O\V䛒Jcg Ble*#判S2At"Y a6Kx,*sc.Ao&*F֫L<`ayO(=6? V!7H0\ G# fA(ȩ(iRPj|I6SE {:I>!!sw %.k3o z1J6xɅj'VθT9ĤDɬl&$L})iܭ\ZSL/ J-E7Yoz`DH]4e! B Ey<0K#hprh{u2 d ud'=jǠZI=:(,!Ξ i1G̅c|ذuyA3Q}TƏ4r(#.cGW RL'K3el-6/n}tz_:q8XTxcyCͻ]htBHRI2=, lJ\_,v:(X Iv* c[xvT̸?H~dۏ5 _8Gx8,QTSg2USpEY^ʖJH5xK`.i$F00Yan0|] yHlxDKk"?B_c9zW[ȍb Qz6̔WoEҠ"4#k'A(_nE(oQ٩2tlM!1W/HnXRTrj LYd%SS[VQçiSs rNȪ,$ϭ!CijjY4ObQ۬t6 'Ȟh#LC:8 >9BJBȦ#E-R ) cl Yw p,2zXD++O-B{v&vq2I۵zf20<76h|2c3"[z[ViRG)@AM*BOۧ -RTAp!ε(wzϲЉ9&Q촋5F ",.F2_2V6%>VS"~L%#LspW^\}HMmKS;!kISS @@n(S<(F'D4JD8Ih ,"D8Fʼn#Mtkqz+YhVdYϥ_5X$$~CM]Y_:yuGϢəU99}%!$8:D/!hpA)tC Le 9k0qLf(j 0SXIarJ&”(:cᄆE %QQL$ދ 0aސž(m/RF۰_=^ ߢ')>:wM}D$S^ⱼۋQY0aV($I Ll8K:O@%RxI蘊A,UM }S?)R#_qԍݯw*ЎЭSRnbJE/"P&zL>=&soIm[jT`%44xnOx d%,ffbfFyDNne==]0>VOg\`DI7"jDPm9y x $B_rz9fL*@jISI< B5PԜX9Z.'4˙iVR~( &;SK6E_R~X%IGjJEIJ 9@bсjgг 5^)Z- o%fA"⼄>,bUR{B*`iH"MB|"?ɌήYb^m@_EE>Q5l:UkD0$xPL-33=k.&xHd)y,]$qZh)z6U"iӐfMˠsevmaJ/lU@Nd6|RfhVa2eb(^&Ah6(m]RۂΒ'2^}^G[$*Gp[~r|V28!/ MD,PaFp KgFe1ƌG`ۖx0R+e3b3CXJ d7GV42K)H4cr0~?Bd”o2Q~c]'7Ur#$Zqyse 9z{8VoH!E l$IܜH6LA[jQ&bk\}w*l:pe`0YT"cMD,/'nLEd@^hB=~ϊ&UPƉ?y/%{ R~H".zfS ?It=M1a-HNYY9K\fT+W2eE`IMMmJqNco>*1@ 7*[5jmbLSab:⌾]Qwb2d.03*ּ^SiqIE)G`ψZ*g:M OJH =_$gK`f9+3 coOZmeE[Q+k҆Kw2;%QJ bWxn6ÙSJ7w4v6fkZTQK8f8^3Eϙȴޑyuקפ t6.q+ۛBB$bޥ> Z_aZhxoFU1ɒ~PN.R"P2^^Z-*)TQc5N[F»)1lcMiPϗ_;6bS5XR.Xr,`diT)J$,kk^'8H$7Hc[C\0}9K(H ^HT, >6bKK0)}$ZB&AQ >^X(AS( ,I$x"K܏J"+ީ /f~,lˑ 1u+W0]أc\V=h|XڒDj"L!t>4&*d<}m6Ghӹ6%u.4tsE*縈@̗X 9%b>Od"(DkvV]5 ̄FbHi22FL~EQH#v.\Æ7nDd޳iYCAoN-vA Ä)>ZVxn[JYP@zBˮHjϝE}]@Hv^ʢ'xX@zc8q1# ]@+~UJ5U6Sɕ_|󙠌A7yM ~&-˓۪jDcWmgaZ֍UQshP%INf+4C1+,*9\F"YE%RPT%_m\Q@8IB"Cg[%52z)$ n<ƲÊΕC+9iaf.~yú2ܯǘy:,2xإ3u[-라DzΕZskcjm0`cCgHdr`Ɖ !! H1`T6lϨh>k/,ʍ]eD/}y ~G=|xfhD[B5~u?C ;TPM?&V|*Ɉ¢IPH1Uj-I(oY6eo}Z5+kKٵ|xKtvgjFiQҤ: v*ϵj堠h_J> c=5=zwfO!J[e!+EKsIu\5),(M2Q4'5{ND@în׬ף-7CE,fѭ?zHWUaMFPY˱jzJA4I*Řl +U%|yYu, N^D%3-jSM!V2Sv={R +ƕ2q|D2F $d.}mQY<pz (eIW=׈JnELawpTr0f&+y d=0 4P)ȺZzN_/72=s֧Ϯ[W4#bh ]m&0$*JXj%\iXB"rf,ܦMuԊ$ L -vOٿn$ҫ@VWV靿zfm/b浬[b# RY2#I k!OC;'%I^.[ddEA8GI捗R Lߪ,iJ 1f4/s &%TmG5EՁ:V" 0(o3!wgB (6;Z2G".|KجD;-)5㘀Gv\!C5.%CdlϮ`4$&ŸGW~ƕEi"^1C1ȴV4X$h86G,`/CEw3gX6Sf6.ǹ`֕x.Bp'"IDNjBC 4'i!'4g`۰iM:T@G_fn+2 q )D>!n:f3,"l!$H{È*WSиM:`N#9jp,']HtG&5HCQQč[MCs`r%?Lqt.zm%*ܺH Q!t AW)z7;TcgPn s/k#6$Gi;85Mbjvl4 ,@d!}u I0o cX!4m.c # )Wo;!uLI}YMH6X`P î$'`AN hgi!I~(fYѭs/}J} 2?\ A)c t&6cxrF[?Ǵ$,G*3Wh%GyA$MVfd z ^5+!lBVleF ;- Cx]K@0{=TLaa E۲uΓp@ DP 3Я]$siU%fƑ2]{q/Ā`EuW) Jù4h0GA Haޔ%ڛ3! a{,'PD;퓁hxE I3 Rf&#cH-c!\3SW¸hI6ŒZU.˂]R@ vI\,i-$MQ= jmaIih#iS\e ̖ ^ݦ,SPBxT2뻍p:F OY_-؎3 8rDjIWQq= ì @'  XOu0{Eq2BZ 7V$[ObXq|c|Q~CeX1X3`a!hʐL7$' u Q!i&]sl$^ dRή1ɉIӇ"u^ćO1I BN$4ԵyM3p0kv-q)T_aI=P}zJ܌.ző=32|PP \u}- JEX=VN:1Y?E VYнόdȐ4c9ͭN"T&.8/pG[ % CZ) y-HIaI/2 h3,1jɉxL)R:}99[ b߆lM,T^iX;gkx%1(:AYLy/:Ftƨe+!)g){qHA#Dn\< ]](,HEJg-uaQɉœ ?ݣXDgZ?@¯+e#ih"){U"Z=ѿD3b͇!ZK2M~a,0A:Ti/%eM&+.HlC-u,4Sd?(V\DHDs#s<oєJSe⽞H~}&* ¢AJb%G bVhnąё{q*Hž[D]ůj% PdN&Tɋg2=夫u'|V%bRs$"}"PHJai)NSOVIlgeOCDp@gkP$ؙ>-9öIۉ]Ҝ\4)R@=*x~LZ8TڡHi,~a z{TXI+k:Et$>om ? Hh5w{0W)}UIgѷ1oֿdžQ&ա_~cQr )k8#sBt ^۶^ NgQK0|E(_BCo!A?'z8щ*bЃLp*4ym+VB*+{ ӭ#MEsOi$ )<Ս,c.T$&" )4Bֻ2Iҧ\!%ў*i))⸬x$/<p^eWY%3\6.v} hLq ns]ESݙBBځ#1QA.YϛO@6 re JkTG4v ZU @1+-op#77wqBS8 YXrG۽h<Bج2Y'6 ;Y;禤!(KC]R=])=w+FD2 ⧢>R %cҨUJ8gLO KJz{GUc(jHBwΎycb&;/~ s" )+`X~t*;|tC܊YԘWd E*C"Ў rW/%R }dwmSia-1g8m#{%P=f&yÁ6}Fo鏧6/  4G ,1/dRA+ţsGZONA{:Nx>et Z+/InnqKQ,e,'0Nbaa 2U^vΉ%|R-rɤx(/ PMU+N[kr=LFJ2{7'10Pӵ]pBCH&rT^Q’1 [+%EbX 4!"8E^ܨ"!]g62EI)>βH.iuE%}eV3OeB+$j 1ѩtd &(Tâ8[DwD )P dOJ Pea-36K߼ !ɀ j/cflMs> XK%T $"-$x,;xdOƬyELebYQ%ex_SR4蘂LwACf}%]u6O4WKd"QTB5˚-`b[W=dܴ):ИD? BOB$YG'} w43[QQ@%TDҩMu&ƣB{i,EB,Ծ d2Ay9z [r5@'4㔜G]N1Hǡ$vIiW]zC;*Cl`6MM7b#$&Oة ^Ӻ͠~9#QGԮye1]uf?pkțxHtf&i=' fĄ70ɝEsq ZV_?\ѺtU2. K;ƒFacb&IƳmAI;Mmܨv2\Ux4OM^ '' d|Q8SwBql"N#*)!AL&=QUE!f"/،p!9h&)8UM2GZ,?){$2NQ6l0Ol'n "nrs" 7C KOI=ag^YIb`b!pFa6"S)8,Q'>'LK`S" @H*kL0{l(bEKS#wZ$9Wj#!L C D H$2Q $@ٔ@#<$ؾ!N3~&SQPsȏRwTB%N7KuHFcmT-'6\/H̖Pk2=5+t_t4@H+AN-a>NW (r=N) qy!|6i%bAt7Np{wm ]MpdMAb")^ɨ£ "}6̝4U.J16?Q-<"=wKӏõS](q~0Saek>7sO40( a N%T[.$evkTԗeр}LsR&KsRlOA3=u|5{YYKXXISPFO9>IoidRVG.MR2[ {#`ö0"ބ]6:9jr.#_-dTuُ"[8m:`xG̑iyX)rGyI~w[yj]^ȑy3[{.bKm&X #!u*iH'j UDQr).<&|Vy*lOҭ4BRq-4=DZ W+{jA 'Ñj"v='97~a'`;t]G+otVkLv @.' *~թX%g@$~ ^Qՙ {6u{fpV"[-q$Y`us`P䡾轩-r+k;dT)A,\~'W:3ѶC"B9 /.I-t Wf-{{V q0e.y&ȁT7"mu܂WPy,io"% O"<ŖA-Fš # ZpS^؀U'!)O8*;k0@j2Ɩ^e$6>"6M";K).&RU=Gɗ iu^736lY,T8LƬDǂBp4'ӻ5yLg'~l7QMnȥga#6o?9Š@gȀ]}~A]'U_M`bhW?, DzR5B~BAytbǍp•"MjB)+ \DDabKuDz۝}J" USr; +#teк>, F4왻:6ՓI3A+u.1@;,@'#D3:42^IvIuf3?(i2av$4G͠E֯D"h^~/ԲMؽorZQKTlԛ[-z}ncֻ=3*&Lf gޱ`Z1tdWJGURד7&R?FRlg71,J9-?+PE.fM -Ѫ+5 cX,c乚 >1l8R:BV?Nkd5m*g%ꘜK>  sm-B7ױK 5EoI0׈i]?Wv!ȫlCi%w0UHAG1pMP#n =QEa|JDfݘTk euZ:M&rnJ:}Te'z% rfOjf|pkEMe$i &QlEIKr B79vA`P>qU=Dkj z|")Y]8?nVc@rG\j*p`"|-7TSF*P[J(D$JuqnRDcQz !ASEC\}S!T" ݝe,$UtlA*`*ڡ!$ "Rs,c")LL)|CC>Rm!_Y0ֶ1HfJBF&=!ո)שݿ"naj'VfKFɞYi|m׶ggQ)Ert9hr"Ycfg AVtWL# +?3ݾE!knh@H$| Yޥ.8J/emABk+I@S*#Hy.X I1=0vdNC؜OU0$QYAjߧL㌊Jjb"ttAJk̢7r<kp3E$5b7]ָuY#s`2 +ِNOCYGuGylqU%*X3D`jyU5 x'|~Ό~1la3JG9sJ,h|[ IG"C-`z izz7\%%-eřy2U+`gY8-C|N*Қ:J qIv4D\y}]ų.] N5@Ź$r:>pts.lʭ=u,)EȖtxX!GPb}gq`K i9F3kb2F/:Sy\Nf%ťfO"&$/.0w!:L'rĚ 7 ;9ǁ@L0uG h}gA@jVOY#U(YSGCH%"+|HឝFR3ZX*O9/pg!OL@&\ Y;pك*Ⳬ6]x'nXL<\"k0|<'QD̴؄dzXJXtEL/]*ur_IdsHk8NyDÔ~XR}}g$rIwAp W|]" MO =):f&J|Y}T&!.R_Vfa ,U,E%zAgV^,p7~67w g+M."*|x+cMT3O%y'nQ\ ` B]iܾh |^DK/ɔ7lj뢥&tM;;PAC!W0R6nuC)Hż|23֛8%&DS:lPg S[#k-@H n-D҃(7ْR$ԫʝg+%WvYhņg/ˇ)o,,EE 'R]-Kմ0D0V3 )s, ] "."H.bޔ2 BlC7hgu{>jlcQPՄ?>>o{#+ `)26#xƫ鋚nP $03#>ʁ;Zkmpd93_i 3Ѐ-='{[ش  +g3/A ,cN@ޞ[4C;z@\cyē dAy`~ae/kIEN:**Cah+d9('2R NAPYzȒ7#K &%%A&gw Mp65W A C\Dԯ|J'NW$‡|2Թ-wWl.,5rLtH7 UM& j&Y<%VYg\B=m,XowPQcLkqM=;]_ӥԤh%,ݘP%iQ|KѤ9rQ)_2!܃6S]J׊yoZ(2%sr楿c؏cQ<٥jaPJJ(d*P+=Nr▍$GfC2 l(1gǦ'm8.4}jŇiռQFf;rSȒR\K:w$Q%C^IȢR8eEWR:"wH%4pdgzاiғ[M <| ǩm$]1D.Lo Y*Y |4sUM.4m>42%53>!FUB8ZOR4x)fTY$rPFG7B"WMʑYJ,?6ZD &'KLO ͧlq w;:R#NjG+=!=#Ԝ H!^QihݤNr\Qi0PU LsN&5i#+[u"1i݌Jvdf)lGsZ{TZ!j5JHRꚿomQJ I=6R2FwE'h?7v8/3(J!]E%krj_GIn拭ZFF'F6E(YErTh` T0igpCCnLd =hCO(B&2C\)/0Z>$ %f4st^J )_@νUVh3yys. (j2NDT 1Ai>1Gt6'A& ܻhw!#j`X$LЅo)שFg_Eú[NҬ[=EΤ~Z ےY7E]_һNlG){_I6a\aSVnvR$2?|Q*a#S(+3hZBWVek-Z;{9^h[ZJ ۘ V~+ Nsi/MYTÃĺ +ugQc-XpH  eq/ΊI-bFy,( [M<o} 5+E1ƁPe$[HR8 ǜ eYNWܨah#ZTusH7bڠ>uZw+]6#t6!-$3)i`pX?:I@Ц (k@8i !W=rz䆫[E 8RŘrpx9%fI tt)IIg#>CB O(jmAd'7. B=Vr ,G2LO9nMu^) i^!['-g7Rx*PPr[F$z.5 HU7:11id- O8֕ڒnSB).%(QrgrA4XUhq}kUH;M` ɨ¤FWf@4(-!`B>#L,Ml)nA$.[G%e8YKoѻejN'j p0aA(sk,JuUA$/Y>p ֒+oډ7K:aqU!DxdKQkC"i ;I׾r9buB=I< PzE=!b &8x">  h$A$#JIZǡ1^ r,mN"nLplĔ1d !"ab"b!"$e##+le"$$g am*mc!G Ǔ(8Ag8l%"_Xh}yqd\DB 18*'\ !_"Ox`I*D"磬1G*U^]j@Sđ&ђ骵+q@Uvkf+^ )_ILDX ^]`<!|" B4 [iE:#3dz>t9Ɖ@0VV!wl$dP-9&LZtD_4rm9kAaB Z"汶y &XU#6G!〠5'BP`/o:3ӊah$v -{2BY.jSsRW5үqKkW,d 8W:ka*ymtлK~`?v3Yac+Ҩ+4Mt#m!yre hDDnrא$\|:kj;jtGh9\'ɆR@e>ȷu,"BQ-MK/z"rdbrA) pV:qDl() ޴G4x8 1Fm 'WO#[Kv,[´@-Oˆug?Ra` /^RsWx7͆ҧ8AL@pC魜]ڗ4hS3vhȳn`.صxY `7[`]ztUY>-"A_ _ꒊ.qC:+'d33 Emd7v^˸CKjj3^loUA#Y{ ( O^LEnGTZg*)b*q'|QQK*q5RjW(K}h6PqXW9\+FV? *$vEI:Є`TpqZe-p6L 4Vz{_ 7w, DhJM{'L6ܫOm©&哻ѱF)D %Cw4 -܍NGT7^ߓS\Gh!D[ДЈ5Z @y%cJnFm!LY@A}UbP  =ۏ$-$U[ݫ+-h\;f·Ns&Y LHN"h[Wm~svpr]˽z ;ڿ-~e,i5 eT w#j,-% $/GvĽ/:_&" '1R%m4Gzp @(c7%»"sHi90h鹔SQ2h)+s-N(j Iȝ#P:iS#3;99/UOYe/W &'?RkЏj|.j[^/%PlF:iF8ҡXe`"0C 3kOى4e؟!r7Q*P?(28Ӣ^F؋Alb2;%=E*DR.IpngBjQb_YUNO0wj/ Brtvq΅"l*Uh@䃂;28,`~hVњBÂy]yHsLcO}ܝH UDg1[sHݩKf_LO!ªqr$o"/Ƌ".942hIᢔĺV3V Io+# G=ؗ,U ,bhE+'pNg]']]2}"K]Iw TK?Μh1K)uNQɥ)0#uG dMDk狜NM`1j.XTt' Hr~MpFd">͗Oo$0ș8Xe W¶p t]ai8b Qx.OoɄ8jQs-(V < 5yU< qLz}W:2O@EoSwvn=僞 JDK3RDE'[ h80DO49ZDf4%=>:tX`hIͳ'(I"G1l(06+*|;V9Y>B:$ տ $m[#Yw5YwD UА@x KXC7>YmyˆyIy[62x(0 m-EVV@G-DVv*)!`? uLOͿBɭ &j%D>|lYFܽHE4H8~Gq/gV&D# z7f\heϐxhvϋm"!!3_@a1;rLtId.J4#a؁9֜в1:tH/JcuU*l-4Y 0j".:\T[I=UH1vHM!Y{eMI#EY3ݾzNU<]g^.}bgl*1X,pWTقCpP~|@d Q!Z k(!7KNnd3b\%+. wE3VP[UsAV$⺓?PrIn%aT䠗[RW%N.XPL$sCh% C'$Iev (ؑ>mAO%ɷ.͓mlP$4bt&(Ѝٮ~:qdijL?"8 #z&]Wfs$ϔM~"-(b`DȆ;RZ'_1I(Ӱee5D6d̃ Āym?6WI3ؓϢgdws+;bץsŰiJ]i8=ܦ4pu V\RG 23BO^&A՚/1omnN} ~Amz؊mlIT'G4IAxv+[0лs DxZky,Ϻp֭zqSRd/eQ#&XʽS(4$g-?2(M/B%CfDa&^8|U.Y-pM6 rě:k-Yl(!£:&tBn8c"'љjma|[ *io%nhk [4?#xS 򕐋@g69mgX+A{ Q8!8:c\?*#Qˆ͍c)1 ;=UI%fGra՟H`x u?f R/1@UNjbH&ׄh+d4/5t ĦwoNe?l_E!1\kP0x|$B )3iF4 uP$Nϖ2) HM*w٩BhV2"! _=>bq$wJ Xy[#Ue2׌peѵ;- Tmrc$FH`(ʄEkMM5){4J!Q Gօ@`e03٫:1=Hk>%p iKi^hXWQ8ҷ ЫJSe)H~8eO؊( 6nDVzQuo+Ljy>ip2l(ED[e!`(ti1 7q˂qarzўG3 xa?.8@*Um 1NoOhK.~$'(FL/ˉ-g{QfǃzIT,X"ak{[I:{[D:8-Fqo$LdZGˤqDZT{,&4)s=2-JkgˍȍLV/2,"t&ݚ,%ɿb#ehfxJ%5R \۴<#Mvp 1{t-ʅp=% A*ѰAHs2TK$d_r) =ܽ;ƨй!\ CV6 F6zG5~tάZgb.4JVD06vC2-WDa7:%*g%R5gEw4MJ CFU16PeU%b* 'H]J̯"rh𐂿DN~T\T JO" ۯܽz [\ y!T˞ZdJ <,#I'3PGd.2kP%1!$mƚzX--y? ّW(r,F2G*wm 6 %PIo1м"IJ{jmUo1d|Lrzi5 *;vEb3/6'U:oA]_֊EK$K-/R79A{ ];r:?\GnNhjXE솻`6BDP)βpHx$C/-z?jpXsD].um\|JGBxk]Lh2b%O@QaI/&KAd- |q$`= ^꯵ Np^M\_B(F>3s&Y8Sސ͛*E?p׿b@(UaT݅v)=nR8hM{Ɯ `/3؄Ad؈fjG :Q~i:gZ"4K,#6r  l}&!S:U @0u V)ܐAJL= pRF&5voNǧ,!&l"&*M  )ɉ;E39]ʛk IaL&y  C?<&ia#ʰ<}̬,#.'4dID ; a#5VtDI5Ckʠ2 glLM/rDԉm0Q6>H˿t.X sBi;1Ie5cSSsB FevfE6yIfnl9y8Y#GoG6Quq[|RwA_/E WB V ȫ5A&Jk<2F)_4ir}NMg*.!ҨBtD{,yUX2dTU-B=IJa2->Q3U+?86Ip`Q07̾\jR͒ ӣ+EME'*辪ڭ+!=#HŻ밌:i\v^I@ag0qk407]%v%mGs96KWtDp%_V3āN)J@(; hƔa"* s^&)Yc]4/n$$ stCKU0kڢWЦjYd)CGMkk#-NUpYS׫jЃư_i=x>Tp 4 U өكs ZK6;w#Xq+xmW(Sgy xPNQ@b<7@KgF]ň++Kݹd% Gu#zsn^YM ]n} N ],;FWb2f! ItCGer7i})7eF,dIT[FiTbҢflRy4 TШp:X?&0t4@bVE̗Pwh]RBmSGF3VI 6fD@L02$ ui&r_=S 'S^p,•eJQ)Ş8lwI)kٱ~8\enov/d, ϯ2q 91 ~+bbPQ,9I /R⃯#iv*`$ NƑ•3>f-$z+079/Zˠ$! Q@`%$*5AOcٔRu^@UYlBhX% U < H,|G6$ٞM@%{Ra"°EP}}G9TIy;WĐj=y<ĠiR[E(i )lyVt90`S fp`GO\bUKZ5@(pGlA $ZwRn׍; 8!N& [@*:P ֊IT2k >cDQ^@W T s_o1PQ%߂cPjbR07,tŖ\6G&}- im9l\kT`h*V^0uJzy͐)a;\%:g-&`R<~*hiYXS/8cV!)ZFv.*sOɤ PiOY[s?wBgL*ST*yTa:M tnQf5iZq[V ue0U!%f־Z1Dl[q]u$LdӢRQRx\$K=_wDм^]t~S%H%GӢm/TXI}AGR|\kn6YA͵3nSXx։&K!7 C1c4$slkmuX1=G.%LB0ù$- #F?0IH$6M%Ry֕_]f۵i-4h[UM㼴۸f Q 24k?D[ ~eN7֢Z N K$S[>l^vz0_葡Oi-}N$ZV0g7fAi={ɨF̹.Z,1Ka!gfP+n%O<ՂIsN< 4犒wjZD#׼X a7nSRTه4y EQQ NS:AC7e.ø$Id)8J:TBs^W,jGӮe ~-PdRgg{\-'Y"ļ^^Og0+!+,LQE v m[}!jW8NhcIcy'coԗR<ψa.QܻZ]h"Zq7T Bnf$`s6=.,ږ6(mucE*nK\O%gTP8pB0$G*a~d+<]̔?o^bZyݤeMHmI?"(DQې%"zREVqT͜B#uHL^ЁZN u=o ;kw>J:Vix}RD^RS+ѥD$s,9$7N5+lըE" k(:o(NuO%?kQ4tdz3P=TՔ/%fX{n3eeJ5L%ntS_ﲻ#zMr)(3Eڔ]$ILSXC{.NQe]i[_r# _ؤc4ӻazl)R7Nuo I_EHugh1T?kk;wxb ASn%~}Hݪ 5A^%JMewz]ݖ> K051f&314V,`9BV"<9GTxZ1KtQn0uRQc\lC 6HD72M$}yĕ y4.|4ɨ¦B<70tHiy؉ZmAEZzIiwu-c U In|) *GRpbc&N ;p8tckIPcNGX/ݽ\))+3| j DrcD! D75G8 Ü ʬݗd]\$By,.#XzkYE>uW r;zEP UGma; Y V; 3YW`OZgUiLҚDTRrߒ҄-Fګ1 }-)XUYۤߣ6ζS>gEAN|Sm]QV*D \ vSԡ/HTw2ݐ6B #dL\i^&7jnf #]5 [^̦L\N94rʝ\E r ˜UԩIJ5=B 6 :֩7J0i* r# 0l-:ҲnB]:#qGQR!;% kFaWKIov!oVc|J.TMS1L!T3yR-W>B–_bm^1RAuQFښRχ;i0)ZI5L 6]B  V\u>ﻐrq] ;RR_WU1eRkvE`>L~UKcCѷ)8M^BBG)k:UlSq+x"&YoP #*ڒI&I"X%mQ(r qs!_ 9D(%,1r °ɸ5 c[MY!1-a,luYI$F/ X 4TJ5iKu7]f-|#\̩3gŽ/-:'EnAO݁SƼO H=6"vh,%Lv򘊤Ū<~ cܟ+ʄ2L4C! U I_uywrQեeMd*\%~ɓ<0#ȾF- M)JV 9t GVieF\%dR*<ë5TD?~iPRQ1 W^ A!XN'?= s; Wܕn!k|NC}(#D z=c)a2Z%?Uȫfy ԸWb9Jm+Ux+\X%ɤGLRIZjJVjYwxBaX>WՌl0:Nat+P@fBH1)U[?Hk?Us52EEJȷgvk3V,! +7/%2S)./‰ !?!LzE}5 ~YQbԨԴGCID8j\bu. Jw*sp򼪢g1m ;HoLi>$S'GtM-c Wkl^F ǨY))z~\Ql/Gm"L&m1OJ~1jܕ.pK}شЖYjF^!lQ̚ #B 99l*ًQiub1=]DRGJp~9J8|eȎFT!_.# l6*n-s s9)2I4j`f-ZZ >d('Τ[6H&}uMe2%Ғ)W_g۳0!)G*v"Ob%N%D I @JSO$ U2N?=[sIDrP_8a4ĕO01. eSqO7k5kM!BQpblҗPpEhAq[OgeΪCre3Yʨ*L8rjU^i)V*4sޝ%OUhYZI)#}vSQi%mi(|MIbuE#%t8QTSE.OH sJE+-ޫ) O.%%;*]xI̾eUl\yk*ӈĆGsi$|KkuK.y v}EVCH5Zc<ԉ({i-QJz 1e2ՍfkP=3?mN ]4]rJ00ڄoV; l򻖖΢gޢdLM\-4x]'[ bQ.eOΚw#uvBuܲtԺ"b NIXMYϫ\MJ #fb n/;7 Zc"sbPl%"5`g46S֯;4%Y'3k/).V]\͕BQ395uϹ;,?yA-?)%"R5+i#vfcJE3d;9a%cxgsz jF)+A {|{H_:uR4,Enz50v),l5Np\-ZmrQZ*?ɱEH{ˤl[R`E\ 0TÂ|mIީ9ݓJR;)hæfVNpnYZxk SÞ]RgNR񟦟 I)l ٠myC.œY/hM/_Jڮ\\Rα+aUo8]QzPH`[I?O"I[2"[#+ͅ%qMMy{pXcؽ[hڐuH%rSԛLt9ծ{ua]/cʥ<0UV?bcn!oSHMa<~O_V[ms2[c!x$$V,0+,]y/S5t;^)j%oMN4l%y'=J"Y5Q* % n,Х5oݚOZLrݛlQctܰ4 S>6NFj=- ZɵH (`:qAR+j"AV V\cm%P@Ё)Vuva|Ք@8 f8$  $ –4 SiSxlp%͒״Or-9Zڰ8Ҽ⋛6ǨMv G8vJTDp-e?$2"H-$$ǂ&F*y H`4{1(?U"̷ <O=ni:Ұz*b 斜R>@N pEGaOҶq}D2|41Ɖ2\qnLj9A/ `Ш}XUKW/IX`D)Pq<+Nc-؎Rz'I, (b,xHHt.8I 855Z1AZ-a9CG+v)d0qM%R -yg%(N#q P@ٙO Jo)h%r)H*^hNJ 0t@ x1[?ె^)YmgcT ,X-,A$9,  1qP]{D% CXakGU ' C*kթ?>M /PбAe!f QF)fa#ȫCڣ6H :,}<)H0BQ,^i\nZUXbHyQ_Ji.-X^WFybS;!h(SI rAg:]{pcO ,u8!Aoׂ¯yhj* H(JH [x2h ,YG3ڡNZqαJӍQE֙!D%a% aЍ$FL,W A@Re MHJ P>@S[fJ n0\'=›@)cRsW8P,%9uSLj A%Z`WF(TYdd.(Qq S&da^RѼ9 NA# `SCEp,x/Čb^,E< ~y}EΜWHH/;_ز >UBZ!Y)Rsa[ _XqU(խyBwP,JKG6.sﴬw,_IB*EC 1|%9j HS)ŠC3$Kfq#}tor.F2l5T{}rbjQB kiS| +)nHV6pro F7}g72@Nn|N1 %ϋ^}Ac._o*i&YJK!KU e4=CT!Dj+m̯[,ahN;XV!M.O0U\9qo; Y1T) ;kJAP=yV6in!S()lD"ah AP@O* Èzakԭ&aD<1ȡE*c B¡6)=gFq%1ǽMiPO9B5*q\z!N5B+v!;Ì@@2΂Ә sgw8})x޵:Z2+f!)Eá?X[N姠h!Bܻ^cZZIӨD)3 >'qCn5 rj=f7]${h|ovL CLET^ '8rHg8s2!|+ "!G0A%2QRI&D_Ǐ5e)%˵ޱ.² E)8EDO)H2ݭqrm%ĹشS gGAnr"¢Y>ówu{H F5+?ŰyUev}ZgRv- ^M.&!{} c 8zsT*FyIq+L6#ZZ:Y,~mS‰j54WiT6PŖGBK;T AxAGubcФ܋ ÙLCFz͍og.Ց6\,ge ȊD-2˜IBк_dD"x $C?٦e0nv"Ή = ksw"(ֽST# w?U8-zT.j)]F#Bj!Z/ %,1ΊjF )&exբd=u/9dò#)Id%9 ppVq0xJ(Z*MPÚ@4%dID֖+a=8Cf JYR,ri|Le5bq\L)9^d-J}f%Ss0]yJQlڢ QU֏bVfq"{/ BŮT(rJʩ\\չ_>bay5Wa&IbQo13JR6 &T”!yo$5G\J" .,qb[u<NJ#FɑBn!_ը~%N82R(nS'D!Sj !_92P*9.S9g N")r IPBR"/&yO%?FCToA%ru7pBR屜M;w-Ov)I5%!{r  ՘ !pY&ʠ|-YTBt#," 9g՝EI+&m*3bUB7r^F5&mT9v.AF㕩VwI&\ׇ 2*ï**0P=9 7mCLlr "L 1+q9%}].I7툴0L^pRΕY#krL'B u)!h>[3&xŢꎎOS8BIM芖?UQ_a"אjJޕwzv~8Kt@ƈEKxHPD9VR6X pqDf4Ý+ O%TEB8APGkPQNj!Zpݑ%0HZK|!0hC) "'RCPh\|CuT, ڣ A 0Q KP^HɌӆ re&3PW$ॖ yǍ^`_< !bC4>@8q)`*SXC# iYD V`N7y('ͅ E%U.>(N*%$To;8}s SscGQ1 -]S!KO@=ZYp %Oi\Q!AbF$'")Äjp7`+ P< ! AJ|ʠ>"HY#/ DuGޅ5$]& f *IJ #1]器#, qvrPPjmCWEީ%ƨ UTQ("H@aX$vΈ@3NXUWA2w }WIL1T3Zf&lcYxu/*R=7!J𑟨( Y7Z eIS<Ć?HT lvو@`yXՆ+PeUG.. J B ƚ$()\~0awYXkWϱ ?Ǝy&NBXȶ!?FP(c8x G@*V#IЫax9k<6 ~OAT8С(,իډU+ ZDo/|!nC:xCnsA%(.T0!9̔Ip$`*rFD?R1MXJ 9;%8jvB(~;~*Cqtwb}lvz*66g 1ؕ I3 vɜAJfLKO,/O5n3N%HŒ׉Bu1/7[ WU<)Y0EW#u҂́):ONC"|P){(yʻUVkm{qKYR봲WTօBb?C^zv5殔 @ۍ_K5~?"1*o[*ɞ'{姜(ҹnLL?qI#1 3\V(O*"=Z'!QȒnAbQI%$!ؕKUu՞z6@RM)ǥioWWUp#FMՒ-jTAC˷S\!51Sf˚L&$S&+OGus䪉 ^pg"Ї 1Z9}Ir& 4= &U˛6Rhu&M*QR_4MCV;9KgqkN!y4ʍٻ/-Lm#~!En yU6{=;L'dp0b{3ԕğ(0 {_j(A,coY}3Z`3[EymG"H&%\!Wf;Z¸!JVdMj͞u%jY)諢7$31 bE\K#aUka$͝`N">ѩ\=-$w9dr޴|>DV!WQ NGZvڢ8G &i !{bcV+/ZP f!lbq&1\W^/-2/9K~b BSJDL0EPȔ+}mo;YZ&7>nBee &Uaۤ."fܯCc ~ԕ|j*^Ue{\巓A[g,FLZF BnT{13KnCJձFF9fV39&tqFI/qTY|jf;E<ʉK4U#oEJ=VnL JբYjeЉ2nFTRL"7j|D !#g7m t6* Lۓe.)"5j-sQͿNF$M 5 r(D}彼^JI2OB):̤-HD!#J7/jwۭZn.= w+a7Scڦ/z?{d^|a^s{ vZhH>](Djwvуt,9ȫZm\E1bWǬ J.*%39(&KWnzB.>)n)h6J4n~1=]RW8'6% 9h8,# (#~" [KG  e AQ jЈ!BFE1 dwZ#3ӐJR N+C ܇ݗ(,(daA,\&2B5MHgx;˭+8ؐ&H|=g/H'ܡX#ȌV%q !#9cTW1fvT"(xz Մ]@ Tg1UQL%{104VF; N(l"I qJt~UӮ^*㒆D"qt<: A(BHEA+e bV'Q Aa06u= Y !a d B$ xİqAܠx-/P(8pldr!D脊D>Q" ׎fd@]z èGa"e(rŁh!fq*TRSnCjj8S.L=s R#SaS3O.F$R! *H- ,rP[K]V\yY^ k  Ϩ(ĜUA+t~cZ$#0>Wlqcoa? G rIDBI*#N%9b C֟daRIN(ZSN`)ļfv "603(](nNE㨋(AD:M $W`B7ӹdÕ!MthP < t\Kk<%ΥU0AS{ `-bpƑfNa(,ڀc+e/9FU7ZXӄ<-R^Xbl"dXQLC2SnB TM*)jlPSI2 HƙS %0PIq5/K9 f0^Ew;ɣyA#0P*߂j @8y#d =*d#,`bST+4A5ðQj4U#\()6EX<$I.XEd{@@A Ǿ)#Gk02 A,\$",l9 BhL!Č0PY3}c$@Q/~Č9Ɩ2Ќ6kO: 0xPSCWj /H0dn a"klr&D+v _7+"#xQС/TZ`Vz9Q8N30$A&IA3(#CMv-0Y$G8g;B.,ŁQy+6cC3;ʩy CJ !lTjt"Ĩ hBTK%@R,}|$!HDgcgHr8I!L Mg0`o<9Ecv8Jӄ ]G/!6{`R"6a]siB‚QPqfj7%D<Ǟ XZH)lGĖ"zb`N&R#;jD!c 3'k*O <ъ L ɨ©;5N:b^^ۭ NڕgŜ!h5:#`dTt>x.`b&t b0R4_)T 9Ɗ< 0Xt8q'F.kcVf!1˯N g`'w׸O,"&z[R~"*7r0+|T#z}S,/laP(' %fi9U9̌&Ob3-1 R`'0dDDՍ1¥>A)2'r~~+ g<7g&RuPVxe)#Dz4JįDP9y:le Y6jgDQ'↢e;ф:s4&9]ӿ.oiM=a/V?M:r)5IL%ջ0tft !AEiy$ wq)Wt҂<~*E!]{_Դ:2)zOrSdpR3cWp΋,I C8C!cJ&1&$i' ;e !(Zrb6p`N%$ ˏ0A1ߖټS%.aꗄ]d_%fu JJ&XjdJ LGF$7C FB1h+r-IUDiUv+X}ަ1V3RG}fu[-|2?`UDtlOvkP0-b$ՐG{p!&ڷ5&vъX8zhT5'ltAM2qݽ6Ryb9j+S~R6ּ!uU|pީ, PeCQ)A)}MM1({+HtbFED.ղz!Nzْl)tkE!ҘyLY71aor Db摨ee!g=y =F05=rԅZ>7DnND)!Vd-4LrҶ)%ε- Ye+IE7y,Tyαq:QmM5IvBM>/P/_TDJS! 'bFk]5yy(%2P4C؇hyĤjI RҞiUґG-!45 $/n&:G? $~UU>j3KP< l75zE$s I*I8lrXM׬jdI1Diy{3[#~Zu0(_1Sԗb|Z9-IFȷ_){k[ij&,) Dv1Xntj֙Mg' yf:!é|1.4Ls~G2ꬓE t '(ӮPTئT#CLԸI/IRGEͱMQkmK[o[JBQ+}SpI Fn' ӡfȆk%~BdjE+9BHr^ֻ&p$UQ_ʰ# sjNryMj< Vn&@K{)D&Z4IjKO}f10KySu8M FcR%,2UO4xF0Ď&r7Cr+OfAa#'DBv6&iT֕iU'^#S#kl_ymjvA/*$sD)N?54&2"k("7&!HIInR1HBe6-2Ypz0UW~4OrTzlMln/ 60Z9>q$fH+,J{zT5)Zj_f5M.ja bKsUE 0odO'tpzęz`$[.yZHsT: ^5<hD`;a('PTk'9i`PJCTp9C #фtɹ%x#Jد+8SB,D-PM`bKbiZ;!C>GX gD.'h j0i=e9?cifKt% \ItRMm&8#'J293AuQDiDf pp vjF-ͬqbTNA|(IH@IL. -bWe1SH)Ĉ}$|i ՐBn5D`yq >X%\dK,PyWZ~Hy:`!BvR(,2HP´@9\;O4ѶJ9$5ͪ !aœa@cspj.1KTKSĊ!we@3H PC{HF3fP;\L88Q -iI j"\eZ...sPNXe}`qG [ǩUTP69ZbEyQA)q>"DK28i(ɪ_hcۿX00B@jDKr >U:ȅBNR!!E#-ZQ}d]JDW b״z ` j]QopN٪8+h`MqeqDk=̓$b(Y.г``5d)3d ;r|3 }¨/%\jaQEu!+pQWUJs'`)%ŸyhxDvK2M(!R!KqHBҹ N-?ؓc4.8Q&D!Yj/^,d4 bt{ң_1N+u%b!/@5}o<]Y39LFJ$ *j Wxh OIȩt-H!{uS9l&vf֕jWkk i(i#L%QAl b1|(]JtlABؤ3 ym3@2fac㰆;X]nf$( ܾFQ6%*<˰P$#/q5'Œqlu #r奯J] kPI t3 8gQGsa@=b %xv$P jPGYpE #@;0a1K8QV'AĄhkhZ$rBN@vH( 8@L$Jas. +8ηYޤbXb Ĉ$K|`ےK|2jb^yib߂\ mJlH_x/YDJB״Р(5_zZ|Bs7VT+ WtO$!AjV.[`r-32Yc 8&ƝZbJ]6=7| G?MP/gJίr;EI,q8,~A5k5QUi= B(V -}Eƽ^^q{[ܿ zvZ2a;ȗ5 3?5'v#K g|U)PI/J7#ˏ!ϔ:0,N֩H6@lgV5@q9IX#xSݠ@4wm(Z}L#Ό'5V( bjN+RZP؃&/i1K`q)t2Wu=2+N^$hn*6Ge$lq%ЗJZ]DqE*v2j@H=b6\%U5/q t8oԮ9)́9;B|R^>ټTnge3Ȥ "VwLnRT^Y4_eRW=V mەeE Ds?b;I=+o 9@91>@qq;&K+ӔE>jG" 7W*7+hTЉK?Ax8X[gtY`4c%5.y O=* @@Mã`4hǗ8k";y)&\ͼ2Enb^9K.|\2x;r5ħ0)BfХ|TTEN=d`xNqDOGUm[BC9BϠLӡ2J®i\榴c#%}7d]YFM[xg.r}pbqaR 3 TeI8 */ev[W2ȯD8~ϙbE|Ȓ[Y2`48t ٖCN3ltY+Qe`_sx):G'[B>W``QZ t0j-GUk2k0m^ )Ӣ gU(EkVi*) &pUHdq"Kgk$#'OSf9LXkOTыIz4fSa<$Ģ@\"\} Y|Gf'?]{FݞQ~n H6jq"@E̢1bL.$ԜXZ:f$#-R0dN)1y01Z0ؠ7"!FcIT tI̺¢1 COlCvV&%C]I<{QrCXNrt,I 5WVREٲL#&wTiMA/EK 'o,6KAdȠb*~b>3/1SuHRd![d)*Xy'&CTL o]_O!KFi`crlUUKIo55IRјoW- $LVLӉ?"7"xiI9RiBʼnؖw@\BkilE/KyBpM\v\2mO^V|1pՌn0Koz*.')GP 5h'po뎮U]4k(d57k 4* wKp-By*].t;t3 %bf֦.@;Dotč!bLz3 0j@I_k,%T:jL nխ0%Aail{Ė@]@yHHl%E4ů1$!65JO APnTQB *%p<<"DPn"j_JV (?dCRBGǬSX5#G@BK"v`Kk )i9Jqcl.- C^GBxRSW*$%#&TO36 ·]uf}-e3feivDhkRk~TyCN۵ R)%sF2PcnkLFPPꢩ׻.G[bXo$"#^D;1c_N;lVpng54Z~fR> 46Dpv!LaűPlj_(>RS{!F2y_/',iShJ P@NV u S+֠gl*G;1,@XlP@< RqhV, N'dEl'c[&ÁiQcnjB ߡ_V>l6,Q\y4iP}SI>Em!3hVV Ik;k U?JOʲT@iO;DĖBe>rv,x`T1X"^r*G9J?QY-# |m{JY?kB.g]OSk;9RUzZ̏=LA. IuSSӔHXDZ3H*AH.Bx50;'Zq+UsҮ?()"\V!'3ar<[&QH?dS}|"JA)w2+&@Ȥ߷cj I#!IQa۠`L5!p ^=aRa#NMvy l.\WJq#j -r[;h- ^y_[UnAq+XgќC}Swjqۖt UϗzU^:Pz?CB Jp 0o CYN EBi_Sب4ICR5TJ; 8=[UmK2S 8VB26B(œ5 QB[3$-xP {$)K^ȎW*v9Z'=GX] =zh%>z;T*(@ð&!u 6BʳF^+ *]Lrmһځ&zR5T'3*$\.'j?k?uɻM-9dMt4J!@"ɥl݅aM!I&WȪjX6QY3]`[tO:ʙ{ Κ. Z¶2.~ro!]9G+eZ;4 [\ɖ|cf4*fs=g}bol|q_uLj}O5X 7`_!$w2HO+.1f㧗E&^m/1TUB!bE\iGtwJKE`0[$ uz E_6}z̋cI-$l)s`(T;RҼ_+Pm_lfĻ4qz| !lt +ErTUj/]VZ'u ' 2J泖__ 8]#P9VRǀ }3=Ei}'Mf2]N]$z%%AK>o"H/N6de/ݡH-u1UCGI{s_G肋_A:jkR4}L#G&claV;0-N~xXP}5h 5IuU! W>SzFH2Zju.QnjStߺOaP(+++bǶaOg|dV^x&,*zp+x\hnOc @E2xT?HQ嵑7эpAtCC!|.opr$9 apX A4Eu8la)~Ƌۍ( /v\Q=ݒ.DIXUM&%[TRKTV_mWE#:tQNaؤx Ԥy: gRp dANOP: peG0W^&YԬ|ϱ\ʹ )+DjΛY%HWur)-tea&~$¦Ň KIG y~wǔÆ儔;@@ \3DCWHRw+vC"[$G$.,8k/XP8B. J~86vgn&X/ Q8nK\pHzBVoG-ń6ߏ&Vt1'}SHUy>KOV] Ä'VҜ}QDA0_ = lnsd+}!4!rbLj&eBpgB W 臅 7 H:%J^*q)'0k*e iXWPմʲxrx[r\XPgБ8"G({W $3^1Ԑ֊YI c.ҙtcY+?"9~($OJU$&nE -*rBEwkIHϧ)n7jJs))_4D gILMS4PAP~%ѯ.`I|s>/*H*,#UuupFn V53.JF_a&M#0Y%یWOypv'!klmIF5Fbx\(m'$qv[+fzJg[5 bq_5ݏle':=Ұt{, i>G4s:0G@@}SfFB,R!H aˁLE`i*#GUR;pHFf;?E(P]z\yꖂb Y!wڙʏ{Y3б`s xv^T**r4߂yki1C Q%4A[s7 N)lBuIA,bO荓WFK?WB\QS@ˮ~]H}*)2. R *xGeM2-ƌ j.ShMUȉ ÿ[3|,Q2FԻYU"h別؈zOS+袼Cl[=r P]V.41&<8dFG'k{V &CՊdJT1V&z^ė_~I@#NU>״9ݜ\t~M f'b9fB|{7(5QheBe(K&iqÀc@!EsU @%&q# "H xE\ v]9ܡ΄%PVtT1aw։"*? FlBxq=W9z`Z(:.Z)KͷIOm^5]9v'gWl1]!BĥVL-(tPbsI\BT${Äal5K 孿T]*gOb) j-nWn6dO acS{/6>41(6Qߐ9߾I:TBx/5?R*k*T\ C/ʄ):,|XDBqCV(낁e:4wfBf\ܲ #u'J L2S4wo; ҿh73+bnJA|rDXq=s<03K՝IgW5ArXg5BSУz>WJʃQ%0U+e$MB3^=dpAj "'ɹ*J BPjE]K lj IsdB;1x+vK~|I:"*_mTv$ƒ|*<̛t8$Z; G_,T ,#Y+ cP=(RW0gris؊b.Zx YϬ}д! E ĥi]H% ڥjIw񎝙)[Hi$V6fd/+ OTH4)m*WS#&gi7>LuH ,ϛ"PW.'#N7JrT2cY$j]*UH8Q20?HO (fӋn,`a#Bb MhZ%O@+ 7_WAD4OPXN*h&QXqlɬ:]-/g,V<3Ɉ«vTh'jWG۲$AQo>p. l%ĕfM 1 Ac½Jw+h\ߞ;~j Wͯf lC**̟Oݍ$WH(6&e> J#. Jc;܄| KlS]dpUAlj&c{,$dKqYEV<%\c;_cpJB 5xvbIӳV:;ZR[sơ92L_s ۫؁ZI~40NIL DY%ҽ~SŢLRP6q9DزLlߺY G 2>)&2y3l05sol"\og{V1v{С1ϮXcYi&~S'wxmŵ*'Szt^|-aY<т-Vcc| VgW7V%O:p挂O’+G| \f+aIEhXP\X]`)XZ?_ga6dZ'uD~9;eP곇Ѓ!F  }!so!uf텄_r_Hq*Q^4 1nQ*D#iRvoWXDu?lۤFeMy~dݗWhpdCoF+.SSbEㆯ?b\ }_#rgl ߐ|??Hڈ"8"WZR!~i%IQv1,Q‍gJ3cntqar‚_U7s~8 8sFqXAdQAv$.NܚK4VuvIgpFeK1V$6'K+9Yɜo55Ag7g*f2hW7xK uRlaJ bu8|Zڪ$6sԿq U=@{7w[+lL$Z>% O7$ƿ[٠Bqzfy,W, %h;|E1d2ZEGK)sKӉY+G-ʉk#Dyv(WTlG%J]X+3& YEܿddK}2oiDO[BWl|' d״dA5\m3Ő8uu:mxҔV8ZhM((.?ۮybsM##z>#tPohv\OME͟Oߵ3To:o{MU\}*͙E1$ TadBŒ楰F>Wyx )ގ41Zcf. 9$@,@"" ~@b:BPOYrbo H5:^ Pb.5TYP8 9.("ȗCk(nH1>~RdJRyJKq_S"ݦCDmˉڝO~.0jK]AyG-g(׽..TǩEG; y%ЇѪF<_?^)נ6#jg)WycBQO̲31^ 0.DѾ=TKEZ: @:e0/9ZJ|;Ⱥl1)|UЫ h'5 I\ĥ$(V-ѥ- ]Ř,aBͻA"{Kݚinf݇Rxq#2'>p $v(]{ivTq+U7 \69"Y:!nŜv:Nq[v*ՎZ4!#I $(JhɅc(6Dх:trwBc⁕0EJR~(X|`Jo7\kYXCEl+LҸm@W1*/ /$4> pA9A:]rBu*8<8G^KXn7/k!н 2EH v3\-.-~D< !#.XI)I}&yV+:|Шa4MtyxfU Uٕ.`wbE^˰S&و-֣${Zka̱8fS! # O=E吓5<-|rg2DdE]b\US`KjeisZLܔxՌ.FR_8#ZZ:jZ0%x*@O"bTBH*<kRCuŨ۽QL*g; 1/aqKLOu #x0>O -@+ƸkP!4#t7teM]Gv(􀧋p&LBJiz-rB#v4KVNYM#9a;L鎰 ^RBQљZ/!="c+i`dŭU&svQQ-#N t\irfRfŝho=m]sys7Ar">'tdv]Z:e6`#a0 TqXǼ["3$3HhgP+k, G"E@|j$%AUBd8 f+k LD)F$A4rlإWFJI-V1u}CHăzU% wLQ:f-+7]BZLsGcAF9O1iE"E-@UW2{4gb2| D)e5[d)'rA|S!*enwA*21/MRL( l켚Fa&&cjp>8bHܗA쿱o$KKAU:H]% ΫOǫQ3GZrP_x\Y}MMz´5Cmv^-\]H٣dR4ɲ,"q:X;;rKH@w BQ`'~'Vja: }MP!KT4h{DDǫaQeĠ5'3y`3 gbQ,x%nh\z؋r*{=-Fb#z)BY6 y*V=}EɁW ̘m`e3" Pp5rw(ajb u"܄eGD` D Jz0xax4T̙7HX 0qRK< rH#Ȉ&rblUԗ>!QKĽ+;py?Ās0r#>X9<@UV?LylsQU=Zvd@!Q/DiY5%0T}1MtΌA7Ws4hHDi9T4͌gDJPpR~0teZOvM"wBi[~!񜕢*bJ 71X 3u a^2'G=92/{%Q}W Κ5\Ǘ11/ m4\o{Mr+Q[zE(a!tO)*ZjMT*-C %,d"#ËW%G_h[jWQvF3# GWP/rrJ"7푿6;9Z1zc# :A0BGR塃ė0sGA Yɩe!/R1AN^]f[H ehU(/&" Yha<f/pLk/Ȯ7Q]s56"?epFdh94yۏEkJ$K?ޘc#zO?Ó'B4X.uqsnIqtyRѠ=t@3D(! 3SH=F!?3Lkger* 5LfM=>BE"1<2^F-9DFPwGaww 5yF3BA՟nSqJDATꨉ)u$]..; ䷝)93"hZRb }mɠĘ 9BaˉVyf6>pJȲcIam(6 8Fi F u)b.wz雞BcqSlj! (JQ FmvӳCj`D-jIW-@bDĵSQvSޯTdOL#FCЍlxW!-/LħNf扴wQS3jC=F5%p//>]& C[3ƩB n6Ue;YI.5 4-MY.(͗O9/– {Digu&T>7(Q\ Iʦ%6] x#Hi֋" L TjaTGZwz3 l)ȀV$uU{&θ.aeX'~aߒ}՜3V{Soaq)fwcaoNr\Bn$f;jm .ZnSQ# GpA‘Pv6Օ:M|(Lݠ `|S'„]2|w Y~ dt][2,KRv:ͼÌhc!r;yTedS |iéҩ~Z-6xejuȝM:rI݊U=T6.j/j㑈F O84d4/OTv0(ZsYckIwH$&\0'qiԬ-P]k9+\-I:$.1uKq&֥C0s)IK4tB;vNz,ylw=[IQuot' Э:_KT's΂oN* r xGJ IV.^IYgj_ǟ17x^e/TD9`a.j 6g~IE𨿀LgzjMK*s&io 8}[Paq,Ks:15NsI2B]J1/FaPqB^WTB CÒ D1JjrSZeȿ[tJaAQ*B6mu"'E_!62oU YɣcH夽#;[CT-$U 2.,Aj<*heMh7TVЦ4bnYJD\UsxbQ3j%E,91rlw+P~~M*lpEkfNKf(2PXܦk\S35fxͻ/$JkZBmE(GFC B1]C""OX'2$\s(yQ{3\$i -r)!ĞUejF#w3n4U̢|岯+&o[[J+qJIȚ9ԲHܩhYp5 vvjECWߎX *7k$%Җ@+(!l_/ *yn vYfC x+G|~'D2rA,K(NJCi{Nv8gh~E}FȭIwjTS>c˷|R_RPӴ͓TФ~#g9/ABJ_P:enx Q{)@ي{nUHJR6̴C:c!) i1_n)WZq 0X_>~J(0qۅg4f.A :^ȓLzD "W^@Q9dvFxMdi7 _"zy|S :5xD^M(~b&ܻǩ }/Vp)|\}IW#Dc~ 󗬓eA#R6 Y0-Q,P勤Zekbܑ *)2<ɨ¬ *hnq;p)2ډ 4sf9,G!6* ;ICD7Y^ I@ibŢ@9@VX&l@;8@d'VٴVʅkd< 0^[r&'ǗIO5 'ad)\AChNr725@<9/,Ud# pĽDv]HV;۹S&[Ð/Ym2F8y'NHnkX)ևgB&Kΐ"Y0PdO%pc,0C5skyU_m !l\{}ӌLd)^r-o]3+-rH o؅#, ph@"X%(Vd!/ [XVna>]l+3U߰[S󪙈a/ϤtUp5ȕ᜶]qdϕ 1Qy۔?X1 |sΓF"0PUK" JU6 -b| &%&Y߿.74sԉ #O}.*Kb)m[{'9*o izĄ~;/nY?NV<ҳ2lv?+n\@@`% U})]sPZ<@ 4HHJָIY Eԕʧcr)ݫ" Ra}w>7Tܟy)M=BXţe>ÿ##s p6Cd N9JP}Wdt%6 6cqcBVSԯy lNNŵj\pLTR?ў22ZBU~[T]![$ܗEF t&?lp5yUeS 5VdߞM8*mPH\bE(@eʕ ԅ U %wP؍Vb8Diy[CD̖+Fv.喍*X1MNi74 NEB)Nro˪mx髈]A ٝI-76hax߶_BԹFJedыMQ vU!pmڄdBW#1FtiDGO|U$?6fD '1B8 Zˌ T" h{":` zE]uJ7o6+kZlPxG s9UΙYT_|E.$JeP&4]g:Տ7hF 2Z/;BZ 5*3Zm T'ZsCztC]`R|DK1U;O׳U)".=*5QbȨ@EajϬТPܝC;w2,^f~&-5AQz4btNe:IJc4L> *6ʹpƷ@6ȅD Hƒъ">y!{sRݝ N?Ye>x$zGr48ʖ",#ACS =[gCЖB$58'CJui:ewsVZuS C_U ^a4fXo1C}at5<B&)d1qCDoN_MDM/&U 'EZ*Lj Ңg+s'M(cH;fw Eۼ}yE6DSQ}+N&2*>C_l|"StB/-CDm^43a5M^LT1j@Q[PWk nPUx$fuĕOڜZՠhZunD4d,Qd57@Pߚ֘NȠl,*%썿pP7Y)Og } hUJG)Qf.\JOdUx?ydsIØ"?/Lq&FNG8ս\-Έex{u_{HYYRs2.FW A#bn,MDyGK}!.C?%ݎVQ֘!4 fn,QpR%s+}wr5P Xٽս5~2}7qk8++ B'#[,`{q]]͓Pgr&,(SW֢>Q|\>f }V/T^aޖV ` Ppr5i9ROz6c~O#]mJ^Q8oЩ.J}@Aֵ|{gkmS)PH=$pb: [؏b9/R5oH81BRF+_e&QWB)=3fd&&}T'BFPDfgg&(y6H,r #|#ݭмzZƥ O8T *e*M>j-FdhMkI ͝dP t&T|n5[coDNcc{ !}{8=jW2T$(/D ,%!o=\jK()2ohLה<ȟ%CՕ7,B}vhRb-dz8 #Te9)Ȕ-PX4OyN ̛[ 0lup  i#f١} DT+sg Lty efeѰİq ^+>HE*tZb!EF M]/ΥKX!bI^~f#X*.b_m/mYS!§hT=+#V6>;;z˧" ڄNESj(FВDO1Bj+<,ަoi/¼0N61e ܺJY?e"S$jኯBJ~p~+_"0eHi(i }*YWRf/ fS &~:*#؁U_]QJ)fUǓHx.  W̸#i-*1A }tӹg je* |l4^&iI mia[Y/R|dCoˆE )$+TN(UlyfXwɨ;[BAz٠E~,~/OgzK]ܣ^M {##٩>KdN̄hQǛk U@ZbYxf%9C$b.s UT/J-«͋a0;[UL96lrFRA.IAbOWMrTt !g4)74L@x 5IЄt*0uEhSqnQ-C"!FsnaEg 'ݗk|y&x1ݬ=Tp+ Y*& ͕5o{hhFb?rXٸ5szaLi3B6QZˆQ% .7-`Ӑ&@©*S!AKiщE2RPAU* U}gd5TC29gmZ)n+S# Ja,ILV(i}GDF<ӆc.pN/KX+4vJ^ Fi_rJFxze8P+;V>Rlj]q,jISif|i`&~a wlߐ>&R)șh/Y{27& `'ܸ%1v9~L"JSYJ1twŃ) 'BD>p 3- IBP+d#^tή.jijF V"I?%dAZ%ח͗Qsh|%^)PءM_RB WZa"P^ .%iPn_w*l"nF$U&0Rdy#.׻B_TyN \ ,M NƓXV/VF0uYe}W"4Z|ر3I){s:`eϒ+y6QjՅ]n=:D͚*5ڰoED[mF:a(&`􋛉i8&:toˉS)8[n{s)zFI?_rk qEeFԻذ"*AD[`zc5}-Ё7){2JRN#d}0MҥTRFy-\:\i"L}VՊ"}+S 4 C=z61%Im+l0hBʲBn)5~⏔]uHvd%)Mr|X^%E]y ~Jjx/O{4E؜t$~I. s)xQmu'T(BΡNJ+!IFYcSƐ"q,kea™ݷ7HeRn/ތHT5ToT0΢+ Dj }%Cuo82,SӈVtP|KHOJv'%G^>U-4[cw@`Pv0l]ȿup"WqS8 *H8YMۮBtn_.GD#M-=u Y)3f%nY3^0_nH֋ŚkFui;1 0> ?ߎ;8',*k;lPa-t[0 A`♖|T{ſZ;<Φ1YV!9*2;{Y^۰PN PBЧ2eLMH-&i٦ Tsmi}X:(4Mgqa]ܮJQ(' *.;U -j]tau-A[ D6$BWqo&WT["/!`Ȕű4kB9aWR\$>R,\#-5vz.<|r7 Йٱ' Jo qim iRY\%^at%T2 G/u 2(:"M:SR%jh^} +e 5+zY!I5n%O5b晹j$GqlW=Af^;ꕰl Jd00JjЈVcq/|GTwiE!F $B͸S\(5Vd *]fv=iI`bas(Oq+AdD)GCȈ7B{7!Hdpn-sq1ݯE_^P{Bj4}6d{cݿeL4?ᤲ&}iqv/eyO9ƽtTܲU“9-#f‰ P7ίs(RUm e@KT+A9to;9RYIggwF_zF۶w..xי[ط߷QlUM4 rcx"Ц렛ۭ4zPkУG" qIC-*5_GuGYA~Tis/Hh e doBvt咣lv_;5@6NvTN̒3tm+l= 4\ݷ(EJZΊnQrRʎ7 1A3퇭*D0 HB !5V9Y%ŲB;6~@v F8*kf#Y+\/;'ߐdSlOQ. 1~Do?KJ6`,Y@ R1FǂZ01X#prtp'$ \aPj YPT# ǂIH&^? ʕ?U]SǴ/$;OnB4e[vSLWMF٥0Tf; úcA%D@(,yr W0hwʞyK4VW-$\P{gU$K9&$o_y*4E Yy/ `4hU%(/K$7b%^LNl8wJ.bzTO7Wii|̩VzoPLAw35(%9ۓ8&Nra zQIŐn}wOpyVJnS:v*or:oPN'?W"@skn6d dawuL4t?kKQ9*srT #PM,Ϭ&SBkƲu-тi69mՐ'ӹ"n6Ĩ\jj3 x)c˦\nGe)(Z_asZJD;80l{Xzt5sGV%.Ag5q^+gbPYl_.X " @rH&IXN ͭbؿ8'4Z9PSϵ52l+kdaȄD'E/txQts',k&Z!SVkāiΣѶ8o xsC~If/)pE?684bHrCjH&d..de|b֖xwIO2xY'D&\M-+1PJʙdOmW ՛xQ}̣8vȝԀz.O۪ VD`e_ 0k#0iFyA=㲙DmgSMj%j|sL0i$\B529憮68*nLHըjM'WqLؖ/ۘr4R\Qwߥ"Gx+s.6q=~r")9d?g3Uղ!Ӝϧ畖b$C[OPc12HJU/ r©Qt[Fo~ h|e8yh h DPLs0EpL*q nS2K_E%A}I&AQ9󔄔=aHTSvDz2!"gXz&uU 6*1TP{x/޽I!(l+4bopQ A%5q>`FE5&PЊ>E| )}? 13nv!,AͤY2rT|U^WdBDD6]}G&Jlܡ5n֑xy)md"UOD}h72 H5 [{ܤ VD '.)&gH04%|~ڡ20 fu,i6$1U H߸BRM@E?2ItAP<~J0hRRɋՆ]hpșY#Ơv+T."<Л-ʗib(VsTJ((Ƃ`֐[ݎU#Blpx ʄ^#3؂pFH'Xy3@z?B:Zc zZx1_)#=B8&Je n7f[3n+io]by:׬{-=n"ebN`lm+C°BxgtIIf PJh2iິ 0ÉP΄FJX!"4G p@NN(5 SbU LUۛ"~.$ a>{ŁaNmƾZ( PUnδ:L!/X.ۈEga:Ok_-7:fKB5)qmCIи+e&L 5E5XS0؎pfscA.a*sIΨK#u$l*]6)x #0IMC5+n]9haznɋFL:+6KĊDDh=Lpݔح2qҲ!"sB:N1R$ а'J]Ф>V\UM8\;HGI(GZLѸrRsV@-gQ7:@ULH+ZJHen.,1 NMsEe s=dn#ZoeG*EYЦ2'{\K@M5IMM)2vVtqȘ:W8'_R 2=xSG'$˹Ȫ ;.6 zl1W=;✫GKTA<u\"vܽ ^XMp!7oZp7~[V%neډ0?DVBHq \:aIWJnfr29h(J1D 6ݦGl,/3-uN˽А4_T8I $na/ Nr&JfDOT(w#4ؖ~&d(Ci~QA NvțgRL% ߔB䶡G58"Yjє(ڊfs ": ʋCҪQN$M;Y$U=/ly7,{:0aʍ&T[$kpt)]1JI>!DD* 0im[j_iE{Dh)ZFQ&dXWOM,2٦3Cy-M&> 2`6i<vT%HBx^LL"BR{'|`UxXv0' ;rbqY':zz̷!*e(\v^?thqS}Z5tGFWDd1'%u4kU`(,cB6xW& T\Wdd5GVi X!}ڛ[(%C;Jg%''kf$+jt ִKi'?&]G#NZH%9!V_/9㠄L6&8MJcMM1:[-bRnVZD͡jK /KZoXUҚP_ ]YKM2W_Ơ3ʡ.ͽϧT.`!¬@*=t/X9=ea0@{QRQ/-}44J{af|h&xz#T`$V2ZB*YdjF L>POX} )"GS#̍-)U}D" ũ5I$R؊5!.&sv}Ɏnto=AObc7:C@#I-vQjR wO]RاEGz y #R^'H<5QJaruS[n^p+jf8U?5=\ʟ{8 S 3xU^2X!hb!b9w驆T [UZq~&oӮ`-~pDTw[I+c UE qZ C*kI\uۚ#7T$gT#a>!Wc~Tg"?2{+lj<*%\ ZWH4SrQh*~@^Nq T̍8F;IIX *e."Jз*yH|!*zbV"+pÒi!*{d9t$T[-BaL ci's#mTtңĉ_2[B̓evء2ꉗ:1-<)?"pW%֣z5 yZ= lV ae~qTbHʥ xb n'pZ[ص枓Rm#6 E1x,1+n3BҴNI?z,&xrL  w'If>~9{fz JrwDH¹20'JH[A#+\W c c=!ٱQ nCNi>'Dw⬶SެlM!~+j^ȸ#RERY3DB&Á¡zNi#&.L[}c L..-KoԳP؋q̈YYoUgaةUr(%/%t! s]yrXjXNv)R6Ŵɛ\0sɺ#Bx~- _#n0&Wɽlynqxq ooT},;׊U|Ds8:/n~|W}jp9 'C%ۡJJ> V(6c`&jBE,((p;SHaJF\z]6_qNJl;,7(GtC@'AHFf=<س3&-2{uq%m{Ja,ASZ Uk<1X2(e& )[,R@dE  <'rducu19*>z[ "ߵʙ* =-EwXod>G >ș\fWh2hRUP `Uj'$ K{ _"~.s 2^{ -$oSL0RM|8u6+Fv }ߤrn#}nf.w|{T Y~ >ʦKqKKwMPDA(n6d;Qq|!ض{Jʅ%B{ÕD?SfSQ{#VxRFZ zZ@jWVTZ`k3}ւ->.)ZXۦ/laZE|HT~xvi tVѺgڄuk܉dФe)_wK➳i͊I))+P'Ab+Ϭpo[TDΗgmF['|ҕ~;h)Ä귂cUԊt)QojwuVWY[S`?*ErM|O¯dnPޮ9)`<KZ9_q1OYo 1PYCnB-W01z @RH ;p o5+B'bf%#59rX'a%TyQJmиH%x;$NtXev5iXN4!*\`] 6 _L-g0 ;;%BkUjsZt<{'L)'* jZ&fiy=U0*>,48Hԗ , 5-F4˫n'gZSi[G7hLVU*%9A[M9|%ԎJ T41;#_݂&K_%}##dqcQ;F! J {^1,-縷Ψ1"HB)ϒUiCs' C}ɑlM %ew/lD'g^,@SN;A)l`E5pA;;>~fb1"P"xvˈBL-_88&ld/wB|@G:IPboLIs:35ʵC{I`?(A\UBk2dfB?u *sTNnhÊsӥkpg ڢAպ_e<ĸ!Q&4%)ΎPnO5h[ fA (LU2")#&>*kVG{cDG2E~3vgW<2 ?Gsu0ǵY ="K:o؆隧lTթ*LB75C/7eD|P) 8H\"@xqsbtή~~iaNi@KՄӲ4ϻ7:4%&v,UP=2].DsI5i"%U%(v13D<gyPFT^1G1 a&lZS EX#uœ"(H-󕵔<_6RqkCj87i+HH C dp+^#md_IoN}bSCHBXזk8uN"?̢y @i02˯| {leuP.Wl|66wUt76$?jI q3!S9%N iDR v^eKkAok0\!eum2M01V "eA,K'kv ФnX(F2Qaӭ^5ӻ󢴋1[|6kŁG*dIڂ#jH#ApZX(bílUMRl1u(/sR*pN%P&Xw?}mK#jȗc$)uykjM$ynקj!?ƙ5(PM~ V,vhl%1-|O-@a)4%G")PI3=CoW&> b-)+e)ҕM?-b, +s229`üw\mb1ƑL9A $Q=|)4B,]^WvRkz4E=Q41L8YQmªuOg*&_5wJEVH`H6sjwTk=0\I 6: WFNwed֛ N[%ʐ g?u5Uu' |{8VbQ6n2KQJAb r0C䴲S FʋB1XQQ*(7&G_1A6E*5M WUbXd~*Ď7$2"lȾZog WCRgNUKܹ%:50-^e2VYٙ{>AB.Hr2'amkǕ8M* DdʧnH^ C6Ȕtș;$} -uMMUC^~ћ kXAK$jDVY MQP);1qV.Rj>nXNۘ)aϗGעC0Ch*2"Pn,Eb+EKu'=It$u)6 Q)eeU" n6 vCphK‡J\C&Ԩd_"d\zHB,=h+ɖ߄J ;V- ܑۢ<%Jڔ儮_쌘%i]$';a .F4#_ʀ,O%.!g"4vum% @#69"eLQjXg|'\H-&!x-] Ij[I(  Ȋj4I)dLE>UF/F>YMQ*qhΣ((K8 ВB 6ژ7Y za;SтM*mw%F\Y[%<rX2'"h%苓'Na.WmΠycq}eL=1&0$MF$-HGsĀ#7]$ĒGf 'UYpB1*URWV1u+&ˬn/W*m]_.C0T'fz 3od`] ġWqD(8Ŭ'vl00J]^Zֽ#k.IMV䵄qq7?}S zcp$MR\hصva<cd6ׯ֞J澍Ӈfo IESZ'ϧEC97 CdDWޣʺ[9!)={ =I3y51WY9]0A9 Bq-ADCQ@LP%cG UP ` DXW&) w'q$Ep\PA^%qg)uivx0BE<m`#37D)([ B-Γ.#V $zaе=!lׅO|ZWuw-Kvx~խ/ eu}gzŮϏ #P%*= /Kl`M"Ԡ2+JrZHyxIe{~5=æ~}GWTEdIM)',ڝ 3bjG8ƿ%"+z❨jܾ_k694>bqO ;fɈ¯jV Y 6 - w  !FOTu * M9Z"'v{;QFZ-.ȹu'H[LS$$+]\IԳ$BaWA:E&Іt%ȷas(A %wnVȈvnBF 8MZ#[k'is'H't0p}[*DHR-˘F~3ʺ}*veeV8V(܌t Fm8Ǹ9@NS]BDNn(ݚ^ALd=ͫ"ɒ 7!A/6"4^-l.0z y+ j h3`T#X"Rpmٴݞ *PdrWFS0ٍrNKsvwU -3\#16 iQ.e|LG8!k~^Ii ]Qs[Y"5ŨQʒ@]cO%I5(sjpwA0R΂ V2(*duŢ*Bv76izR>+Nv Lƨ"@̈xA5C=$ SI3ͲrP]_Ov/#sWfqgUT+,x*巄&ʓ.^zEyh57u>,DMaߟXCtzEܤ]t4xRcb"},VdEDU~3VcDkR\ ߆[y= EU0gkάξ!zO'\J?Q~)d' < ~&\,3h.9;PGcT%kSFЏ~=`g>&\ qBش6.`o>Hųj3؟SN4ed1!$Ӱjiaa D.}SFFCc"Ib(Y}oƎWmb˝ [bR$ʉITt6Ph憍?{6'rTTV.ŪmsB@],"E?wJ9aQVO1X %y4e;Zܣ9y\6KǑLⶵAy%q H=Ŋ؟pٔUrhpGhxM3jؙE]Q9 gZG8|ˏ&Y=S0PJ#&P:huqyw\^ YeS1mĖF}ZS:R5͉QƵ{|ț$bxXZ:ã豂i1y{0M,x<"Զ+0'q~LգWz &?] )ed&4.pr,(8AuC(P! !îNS$uBM8(3+ ϼNBbHS.NDA-BI@FX3KCZnŗ!*B ei``I(~Ă;Ց?QLHq3| 6.}1Év=@8,V96BglA/Ss]PiÑ)Q*:7ٓbJ =Hd4)g{No| ȅ&KN%vUe:*՗'SzL@R* !QN}PC*Up2E56Ys-N7~"yBݶ`&`Ib,|kUn^T\~\&9McXQ;d5g̞KP@@XF[< &] !VH彉%r(uc7e"εfn ZQ*0M" ITf[H#wpz`mLA)uD3f4DMNi)PDʪx KaWrNIfHqJreCiTQRi@prT!>uJBTӯݾYw6t n; &5TيKbU^~+bu ?fTD8 ]-n4 V 3~k+%+v hP M)( )k9~ބ%HxWuЙ'D\4P!w jѪa5+t{(4J=6#qHSEdާoelROu{&f+B 5~IHi<!VծyRf>GZvtE IѸ 8m(^O&1xgb& f9q4[c("if5NEWrg{> 1 91Hf0X.&5A Naz Y7^VkOR͐`e@ez:Ix4iVꮢA!bM_ÁPF@#P//wfd`>⭲\υD Qh [kܤF 75p"JRHH:²Nͫ&TEpi"5;66xIDi:il(iF!QO7! saw*!χF}J3XFXeJ'"ަ6< A±MC3JGtԺ<儑ZX-{?@Vai9LѰ9'MG>N^HBya ~2."TG'`쌸FzZQӁDNG@^KpV*H#r[Gb9+jr);2|ڐ%/iRehdH pD"60MYȥ!-,\+]U$o{& MBrX@L#6ܜ<D^$Ia(ף0@;`p-OB%D#O%Y7Bɐbs> NҦh "Jt95Y hBa<[p+,?V4g Guh m5C$_s' =\P{͚^F*:?pF\(vju4% h#h6ZW5{4_) D+5>"KVg v&8"᷽ ?*yr2ȒbzI aZ BWQ[ͅLRAU AT?G3tYRޒ`pDi`o赩s>/F@QQXE˙* +*PIx%S ՘)!&SN&/dE*֔lWfg !H "V*B甄fcq\1k׊H~T6M {eq' d>i]d*[QFluS# R < *3u@-P 0/kҴaKGW5#2n?(ЪI w`B}(("Aru?jH"haue}=Sv-x2mY . [1aaMø3 D/XҾL!6!K^+}}(^00\bpnX9rN[bU`vj7k#+0W^_0W%-?Ě`bEOfX2B-,\"z`B8/1" lk??=*SYb@ؚazn#Z, iX,a泚zWNt"^ sH"p eg y͊l!yI-͂@$Bmr&4BȀCQcO >0R>^pViؽzk*>5x2uA7F)Y̾%B64ʄNZْhB]}aȵ` nKf,̚.\{ v!,B q[a_ʈP_w>#Ӫgp%\`D&X M\17\׈ǐk/]{M.9(1L? e~*֕SYf nXwN#|hb`]}Z Г"s@݅sFE83#eWIK{\?uxUxwƊrk2 >6/+{%*PYC&XVlgGāpĺ23) !BUAY" ,~EE+bbCPpzĤ!b 䡚w{h`*)D- #gbMQ("nvF:CFl+@Q`T4ԵfY TlRR 'AZJFi6_F#u G#r=SRK]W҂Tmhg[:XK M#z]hh3 B澓%{|h< »X;IIfիH!ms; Ej)#A!Ѧ&i>yb&X2'LCCDOdhL9,HV*: T^Qv-b=:[҄J+u2)睕cHf\-`LJ;/Lo,$+yS޺b}?+`ܛ۴̀AۚZ†3wVJgxjv_~Z vZssLv"_n,g}|Uw/H<(Fr"TH]SB`&_DGH0TIYgV?S$!־`=Int jv* v&2ZĦZ`:60@.쒳pfHнˠ)xP&B^ bAYxL/ y sxq2E׎ kZA TT 16:!Ns Z Q PP;F䌫4$_w)sz=I0#];XWm7FJHFInIP|˃2u3/?SABftJ/kN( smSDMi6cg/t 8CXi+KELX,ds%A)2̛_IMJ45-܇K<ðS,)DX̔ɝ~=$-Ɨ G$(IT~>7Ы[9;7ׯU6dV:5|. KԚG⯖ [fqo7.t\u&")')(&$¶s+Yr+T321›*KP.lkKzNDkۯI'"]z}Wn Dx+$]QLupP:5hI /(BCi T2HxPȈW?nV}kք;4=+VWJifZtHɂtmu]UUs/$nc<1rv:"8`RH3ΔN0k*m32 DZ"zRo V*)CiT癈yLr F핿ԹW:*;H pf7mJ3qk*-Us AHiZ7{dt#!5½XhΞt7(_׵P YD}.AQ855УAu*CS zHr0t!~2r0^ԨU"+cXy4LN  cN&ʐ37 xv+N+lazMF;r WqLSmigzQ'QJ=Dca+ZDG^R.Vk__HF݊Zԭ_tL.ׄ一 qr@zC{65b=Ϫԏb&`%<-iΉg}/Sƍ[uzllSZ[KM-|RI痫'vkFK+i? 5&)VMA0$"l:c1[f"^פꛙm2-pڑ"jE1e5h= |0"P/n$3X =@7}J+z-- mm3>9a MLɐ}+SUd1No]጖^6B]>-œ\RZ.VZ󾠨b/VrUN蜨(v(`R繼ZӯCaY/-,$D>=re( 5,zd:@@\&N,{PHx7wBAxz!`.4jX BP`2 p،3])!MǢ& %He]llwAF|'VNMp%80)O*Ihd-g!Y Ɉ°7RRZ ` w'GތMb iV#R( 0KIb蹰fGɣ oɈoń)MTrg,H&'47Z!1.RYsy)"6fjusCeQ6Xy̑J.LH}!e,#:OЕP.k597|;y[\jzZ!KJc~&~ NF}fZ$Tqp[* 5yL ޱ!,Z3P$=.O5&]ݭ_1^չF2+Wmn{,Chb\ez9h=7k\| eʟ2Wy",_=ttKsG6k!PblF9R G+q1#p"S,˄rkdrLv: !_ɧ3LDAٍ$f:W,>(.m#pBHZ,m`V3YNq|- ) ğZNVm]UǍk_7=b蚾skH_K5`%yS0Pf.F┙eZ'`А^\WJG&N=i-XTP@o8kT0&d?x"BŲ!Bt "T˔q ?%ӏ} )I(kdծKLݦ{0=-qrBJ)W<%F? EmC=yL& :v%oH)ܹY*g lMq O4ؤ⹲hΒU 3fUϷ'frjKUee ]d:S?(,% dYIf^3{Zr=JٺCÔ<^TQԛXEcM 44]M)hVeJϪ0&av&3g -T z+bFS"[ l V6f*Ef)E0KoMlfnpܙL#uU0Q] d_xHE)f^<̓(叐D+BW8UDdqHLp :٢_\F$w`!/33:P-(h[z3W`'e-?!+DJ도{0XłxN7 Ӊ.E&9??J ̍pK=UVvk"YOč|Dks? *>nN}"YhhS+URDdqVFj{|t#'HhM|w*3-9Rul^/*:TnȨoD2 &մ;d 9Ϳ9d)UH+Y!@M 0bB!tY՝hnwN _Dݰ`t;$`PNiYy ê|0gwqQհ|RqTo86GqHtlohdD-:9 3ഋe~ȀV657}yO(j>6q}vQ_r_>!hㇾc'85CMԩj0= GְpZO]\DuĿI6պ8>koOH֑K +q8~F+GO &%r-qGIuJJ)iӦ3qB(o0_R5B=(u 7q'IYuƇB ɂ[˴ r,elU AB8XF/ķ>ie%Gxdi&FW x\a dZRU-8 q.?$¼dcz42C/KPcIRTf^RT\l/!gIճq VƔ 3jiB0ΚF$\S2aSD>atGM&`MvXNeJ u{̼FirnScoC&JKIuHqL{Sd2u<+6P e3aեĕ-c쯷ӵaU*hO/9?/F҅z`j?AbWh@=>x`xƵvPҊ9#˛jיnG:R(*\pnAw_ޔh!2/dҢTХӄ5V^?jz%(d{;, =aIn.QӢsCϙ.p&"Zp` EvbABy*FXxaPECZD:`F=GhH=''P)2Iب,_ce  ۣ!҄P/+bpX FG >85z1#_DqMB2Zh,>I2st/h,VDD$ƛk 6! 4cLY U($h 싐')?K#ޒք#B)qd!q VJ33' 0Eއ: ̉-nJSf/]fЇG5M e J[H|=]a!29K=ESiHu4A֕x#ȠgGL: *dU(1%Rip;=7#J .:@V#!گh ;tIY HmjJ>>,h[A{7}V6&|UJr8zP{5J^ I85k#HHڛM I]ubY۬m U'^J/Jr {d<O4!6Э#{?q[f%n戍 ,je26, SgcGaê[슺Ktm\|WG?0(dNbÖLJ$  T'|%!jXP( Y( Db+gV%kjb Lx 9\!FPTF"( !~e4 GE)!br7^$+}N )P.r)[ʡ"h8JU"DZ0nJwE9* ;R'VG[#8rC!JF&H%=/\!c(*{e8cOʤPb,p褷I,A߈ŷod6}ܥzs*Ɠ0I +::}B܁kH|x! #AcLP9x3);]EQgoϳ~/2„EbalhJ)B8_œH➼||wbeKh3͏/fFKlݿбK016U񷴜'\"ԡ<=FK7S2Ő T~9Dvn4G<䨈~z+USdeS!Hn@X9Srn?9Oզd6Jjv㕠I'񪎐ܔH})Z6!&3O 6j:d.Rc_oGG\#1̂ |6%)xXܼ7g:2K ȈXYeJ _"S' J]$P`lA.;b9L*@7kzćWĞxDDu7纸\J;>QZ](ЍԤRfx1:B<)KِWw ZE*U>Z1Ulp/y9K ߣ5J@ϖlC,R1ӷNd\;Aa,yS]@d͎}IJ1>f mGpӹ%F*u\(/f]>,`Pԕc a ᒋ@&'b6`**m01qaeVANs^<>q42= nq%hweD¬Vm$'RuVZ!OLFNjTжjImt-?zGByI}O pLOw7osZ+0+J5 &(OCxL-LuDzGN6<גHE{ExQW6,,.ϧ% 7t cR@G2szp4X"..?:["yAktlIlf"#U?~Tshk՘i5N%ƪOFh1 (YDa2xnWr4`Y2ykjLȦ0ARHܟd> "baò& FUM?qEƔ['E$>$\@UƇX4@IFgBel$Gب PpM, $:|S6A< xXw4IL//AC$|x 2h6JѓN+2")g:d,$p& 6^;㢪&Lo|,NV/EX2J I\dP L~*z?ꉙQg֠+,rHd۞kL J # !#!bpאSwqٯULAG ":Q< '/L 2ҾC""I;qVƌ *Ζ"4EI7M:(+էd( #!8VIV&71 .caeRPd=TO!aph*q L[Q _IfGX xB+j/f ,E*m &:4$붃Hdpv]rIϒ?4&U :Q6' i 8>JW7 B +Uq¹" O'CS"4GZJ`?:իB'Hhm¼"`Qr,RaK,B¤3 N?3vسϖN+X!=!&/tP@*NdacezhDM8/ 揊6pɐXW ӌ`̞Ș# *.QB =速<'.4f41: \PQ|t @ax(321Av"9a ӈ'fQID8+eL Y yb9-HdDEfΈȸˈ^d]jegTQ4/U\/Y68  xT &R20"H|j!0pS̿S0$D1t%Ɉ±01uY+\]/Ĭi6*h>SY:Z a(Mś0;%!Q%ԤuN]U ̲dk͐:U6vD c1{7U3XM~2yPQ}}T'B|Ck.aۧ[)9ðr{l䉭_rgRfs#$V_&inpj0R Bd6.H0  9౵-lRzl[hr mXلo_fU{ !lpCr<20E j]%#bGS-<@G]r,XuM8!T9ڲd)^ZSQB(T)݌ 躘\-:~S?HH!FC_ήi> xԀ  mvtv1. j_I_'Y^/n%]Nn}폎jD#޸TudȠyK\rtnMojL#3O4 $=_ -Z vnIIr'lnb_C%z(h4t/gmt Ϛ1Zly0Ę68Lĥ0O~Qެ ( "mu7 V(qrE3I*DKV((CHڐXئ{QLQ8Qh5,[mύ;]N g6&ѦFj'|/L_(W,t:3Ц2!AY `{RWB> F؊\KX QDp0 ORBW6 HǷ,`'\H%)UVq S_0\Z(X3U<%ms6O$4}iI=%r L°A@%[>:Y܏i J1c sͩHz]=%XO݇t{9(Tʉ RVRTrX/}Uȫ֠&6@ rJ 1Zeyh[H`GPy@9}RK|qFN,'*XD7Rh"[ DSPH n%rz:/ϕKGĈʌȁ́ՀƢBtk$ޓ3A "G("oYU\&nR˩4b0#ȵPY{_(nqakMi$(a3R9_ 3&SRQH$"X`5GN)=һP@ O(,-Rp6 ( 5:Bܔ^ӈ, rM-m+2pq[$+Jbj|uܕI^WQ:/2j. VC}fFP(l* V! aՅEKL%Ľ9"砫$j5m} AH$s 63lG9`eI2epZ5k^4ۑ4ck)~{zn6.{܂!Lzmp0M)2IS= 4PDT2g.v/pB\-fɠ4Y`A`QdEQ9#)z) '/{}ڛ\ ˼$BT/ {bNߓ@4Pp;PO؁5yvHj*:7&XSC nGRo#%k%cx;E]i}jS.4 Ч#]k&"b0Ĕo=JS0B@$g ʄH>G ܯ_Ke߉{ZH3Rj0em&)Qq'HbZpaBR)t xS\Nß S$D!y89dtKc.~|k'M} -5*5ۙȳzVy`?c5j# JF$k+wd-h]K|b=Jf ]>Džzv鮏wuճkH hsH~V_V\~1'AĜ #%4^ ;b`պDVXH3 `ᴬSsC0̙ЅNE,Y8T( t.ňIrI>ǂo&ufBڏD ́iÞ8ߣH>[} R)G }62ً}r d]X5d:r*uD>Ept ԙeѣ֢9M,T21Oł҅ 7UY&!k s,uI-erBY+6r[TC,j}FZMْ1gz,UQ%=K25*FܿlS+C9WU\݄..TE3pI@;3yLm>Bk8I$+qlb`w֕I0 3NI~)+;FGC6m%#Ht&$g? FI#L Zj~Ԃ6 H4s yi_YHTJp"66 Jv˩-,z)lV+`_x#MsF ]_Fq4&%wQ\X c)NƄc$K{pg< I wO`—0c/m)Ҹj ȸ Or2D#p/8Bf:SD!/V܊p Cɴ)8$?'Cta$}&*ܑӖ|A ZhX .QΤPz1x#`i1zo$0|DI-*|ޔVzx+ȍrdTS\OԾvZo&L;zlPȅ&G ښt37y2̥(4o< v/ʳќ{t у ?\nDi+8?Bl r7R2$w2)e{,MVG5Cʹ_.0lX[2:q3x0iFJRdT6ԱU-HYFT't[ ^=4-[ܣ%ŏ"X>xLػ.Z T $F"Ց'UN(IףDMiMfQr)~ $tK8Q|-ޜK@)UֵCRQ_E;6f'K&CbVIݶǬuJpCa]/@~mͽ֘XzsJFk l6{`\*c 3v^M1w\z֋33p٣dlnaA˨P$wW(PeZG5wȯXO3uv1RsigW#uC_A%bzo rXT<mNKTFQJft~򪓨Z? waI &#`.{Ng|&wbvUE>(x7I} |J^j+AB Y4XsX3qB#?*eMa C $@=%HvDܘ{"H|"#KWt,@uM#G'+հy)!QFMJU`ax!5Kjש- E{:*az\Ag@p" L9>N.f<ȐʧTK&s>;2l ^WYPb;))L\7*^4i6@R+Y!+]sz4-;AM᷹yDc@@ o7mTa|t Q 1"u1?o$P簐F/~o)d>Uo'cVs} }ʊ.W$Uk02|YM^"K#E]9&=$1EmsXYATl1$O% OHڥeUy2;aE"W&ѭ>qo|pA8^17%&*D]X'SANJ64\ᰲ(W9NL, Mdn#ȥjKűv8)&' -v::(O۟+*BDE3 >&.j3q7?|mB/WG-۝[tZU8fB*?'L_+|kH0fS6S.V3 l;ȭgLZ#NtĠHiFE-E-Ɏ\ RNX LL ODegbB!a٩@ht*# $bCq D/z03= %'MH 8 jzbbF K"UK][: =&r8*xP9պg+,hnλV)7jj7뾗T%y%lmikj:WZYe)eζ՝MUE-UOWߕ?bClK]7W9˪BHj!+5MHOIC[#*T{ɼٴ,SCh6册+DTԒo2qaAސf0K2: d4 Pi 6DUS(teFi!Epusd*Iia4<o}Zq"&N* IN\FIrO^!lUHw ݞz _~dz7th:1*o#k9ה,|/J9OzQK1{KZTu_,^& #݄YvlM#z# BtTP@q"-Kǟd* T@&INT\wx.0FC<B`)u'tH+6ğ8N7d )8C[6.c5 FsD:č&Xf|6x60'5n#]_+2n P6:»'T~(/ւ+TxϲLio_V$Bt<&TјLtGZ'*.is&2HD@l2H!`>ySD崅R)^læ>U ɁԈTY(n~VW]cuU1&˃o#'HlqrpkM]9Dy;?/_Q Tn95OhR$8(KE8-{7)9G{RR{00ugbrӰGEa.|:u1IQ0-psM&F Ae} Rgth{e%噚!F !k_1B =ˤF4L H?1s+G =Lz/ucL4T< c#5RCP8,UQY 'edT+lӊK_EbGա؞I\v4Z>{WuGO6Hzh s3cӮKy$<ϬV vKF;7#0fCSW?2.N;" C<=_el&Y4V_42uԶpYxeI.Izp`/\"X!CFk1 *n!C2ʱEAZC3ZNA2w&|Y_ !R.2SrKD.AUd"A -_ ДT_Iث,{;H#o 2Gtz9tn4DM&F]nkӈ=N̈!9;ՏHl 7 1>9*6Ec2vB*[*.s$+v ;t[JΐFoCzsJC%ص7p4&?m*哔V)MF,8{" YRjcޒ`fŹ:rZ@FW'LNe1dh9B Yu{MƏiB_ݜ;}=0/^H^Z e_L3ڨєWH(| aBQ.eXqn F噏%^nͩϵ}2[9*!|sݑHװm!)*) [sHq`lMͼ?@!\̹/R(OG'ZHaN%{}B̋0$]6ee<>b[2կ)(y$ce#WX|A~B(4 xVJRɜDw*1Smâ9i"7Kr ,%heN+]BOv7|B`bc̐FikS.eH8ϴ%17 :J]MZ 6qz;\TW%mt;φAB:ec{XAK@bb5)=tW BE GCfiRܛb QC!e3GR$(yc܋6H/YCRD|F82t ,*VMšK8TpKm*BЕzhcr99'%YbF ʢ{=8rWҩ[F]bW.O NjmbXs/L*yDV CYĦ^֏X]q Vyi]Z}ƒgцՂ bhoۣ`LWa6Iy2<47EhNM_ t7G ycC8!Zqp ?}` z>[L^zOゞ ̬1zposdL"?O1*SQ y b~X0=>H/j D!ȿ: 됽D8{CE]}!hu=&P1$f$!=0)F9HLT~.! EYhc'%"5L~cS{h+ŀonh\0$jqzy?bZNS{Ɉ²9Vy[qoI`J/wYw 6N(L7I8%jMRt*p2A4LvƇ|xL;" ?qčx:CwXJl/؀D>E4 #h@18"!Jk{uB'\Һ"l]5y=m<~CeY`ŷK6r6ȶj\U\0PISJ*)?9+U $圉M7z%*^ފ|D*͝#.KPqL b/T(U%\~kT!C<QOP >HɣȥD%ހr+)%8F)"*'"굈okD@2M*d5J<1Dn#XMXwS"@6xa(;xY{{3 \2QI"TVyC,hY]"ǤGGY{] gn>"m^z7%ms92RsYEzgE6~41[F ]m3DTc_Ȍ.c&Ųcmw' 5 !PEWGvb*aC.rӺ©eiT-%_ =5(ITehNҔù OlZdc&vBS6oLdx [NɆ-{$nfcJn,eIH,9pABD, DkZ-d?\=2mRY*OBݩݠi/+Eq2s w&-Zۿ37ʮͯz5z=5jηQʺn!]6P,nT!Koh"YXIg3HpT\ӊ}ɷ2X( w0*<_TwMo0&| +'|mݒCkZz~ɒj`H7 k!̸BgtAJ\))!PF = Du/ @@.H>-~G:aqsTE_wE$y*=X_-EnǻQ;*/>tt*beO Pݻár |w|b^cϙEW(Ȓm1KcXO?q1V<o` MeB>A|eBAV39H\Eqyqo^=@![ڵRP 㘋ITfLS%x 3iu3̇j2LY.p' X !6X25 D'$?(cnp G2:V6hI{ʏFex+un#}-2&6IͯmwI$R]TEܢ!V1Ύ~e_`W,Oo(ű;"HiMw\yDhIIy 8*z 'Zsd1xpE#݇Ѡ*C>b#_ 39]I\>DQ!⬾ȩ/kO@S74J .GDjLl~ðP\Hw&+Cn;b϶v{"sbGp/-EC6sG)>4L1z#p4)̈rQ"rkVb&Hx`Jt,9A1/I{,/,,>مV{l;b7IZs};{'mDt?@zT/'j(pWV>&o :n`aZE {;A=:,2tR"Ȃ8&$QO)nL82ڋCY#wB{qYoDJuo6+fBQ(/ #|56ʙ0XƿºI@9b|2o LmIMrp֕!Ðv SUx.Bf!x@>;7>H H`ACTRqZ3–D΢9\'lMk&gu~[3oz*I?H'z5+\Xj)+H-2_9{WUvjw)&oVSASHG6oey7E>咪jE*747F#`1ZK" U j]sa*}8.hKd2_SKf?z bڌZ )/RzA.^$IvֽH?2 5-b{ MdQ6ٟTb#cRP0 6e|ac'OLGT/`)0рJH @ t8MxVpjRպTs\Qg.–ѽFX?C'N#9I{jJM^L'%">'US08S1Ț+xL.em۱JxD0)rVp@HY(% @8 )Q1 #mn"?/"B9JGmMAvOȷ|ȓLv7mP- z<))y^>)XC#>IE1t_86:@ISKE/acYyCgnt}U1rS ǯv%ՔJVYAJn+\eŅLE Ό^ zF]Z,qHga+[B)H|#F}(eolq@h5,x@i3%IWrnxGtQD9::#ԥWZۅAM,&x Hk"{dsA7?%T"#1HȌ竇mm5Jc10y4q}rF(bYXLfH&I0 [r`$%@^2ç |ח?BMɔt`W\ vLkk_A[AxƮ,qH O xК6hZ{#"vʉC kinͺ:JD;lP9.&}mn(GWrԪys3QZ0Q2t?}&VO͉Bm{&uGʍ.1D|`QvA(\PĖG:IeBԭ^ƣgG/jgV%ug@[ IaQgh gR(1 S݆Pj']j*&H[Oƶ..02! dDi3%DKPc)BCE:&\= ڑ!ln83|aU K؜E301,M^$XE棩Kً󼵻xܳ!yC,,?ULJ?5sq%B2qv-Yټ_$+.ˊ=a-XȚ@bkQ*C LKGl1eأC[=jCu?Œ̛>fevljFJ;+ V)}m7{guMr%IF|f$Q%<ϴFԡBanJ|I^ఋS$8ęm4cסd޶ݟiP).zC HL/yKũU!9M6KڗJ@a:^#,L߳P/ӝԄ*q7SDmPb 6N ,HU*tc 4!їc $!2F`b- 3Xp壒0ʓe/1eR+L)w78PNS&O)>,,be#N m!ơRV(+x-BE݊͵D̵!e߇a4 7Ҏh4/ii\es:<(toeիĂvWU?X@2woF/FLyd<"""BD rЇ\uT}bJWj1 vyn0)Ie瓆=Us@@2?=8$&_b&y$P,$ :Sɟbv'`#Ѕ"o`܃@oZT%Ֆ2=5nɉn50 Dɟ%Q$A ˌ! QRdSQO\l ;]MƮ 1.9'%0 G4W0e6#zZ+{N$N߄F_SgB(-߹T g0M'ScXug+0b/ȎQĉHk3;!E2d'˪XȍsW5Z'zM؉_D ~S3emSonACUeMc 3 ~Tě&`Y|<|⽬m˧CwO-2#qMȫOEj(xFɩq][>云פtȇ:MK#'LNCA.Q/ѲC7n6Vf1?:3QZ)-5SKSw&%>u*{<@boKnnD֞0il!ƍgDF퉍Zˇi[lq 1BTeUO8{}&zV 8ԾoW߄PO:d?Vnp-/7;S׭ [1VfhɃJ#҂#7Zm+#DEPtJ' F҆'T=,`ʞ73g(phS\hU!9~Q^ XvNNbݾ %=,Zk"]XM.0WqN^HX+/#KsDN=)̥Aca%#ݐNR ఔKYph>92l@pԙNF- !ɛQ?_sso[&[5ޔO:}xm'7t45 4Y& cn . Bak7.+*4VKb=vfN?b) `׭h n ^!D64QȢAu#W@Kb\ɨ³}P >CС̰崮l`.w!>&1D~qO.BVxkn#pc\(Ii t ~v%8YAP}t0W:ߧm5+p&AesMwf2"fYkwgڡnSA,Juj3: (H  ۢEN\g5%~`G\־9YO_&XKڔYe+Hմʬry:XV¦n].`Eڈn]u{U(S7Wŷ`WwOH-^V>Vt-IrkoѰH1ƀA)Q*L+ (y^ @B_>PTN cSiQ6ՅevAcs''#tʍͥE%~PJwJ|fJ TZVdA׆d!:!4WE*WV_La'rq2Ju Y5w|dRn/G,5d,6GХAz&.0Zv b*!`Y{vQIqU$j |eFl;qW,Wh Zu6)ES%y&GؾZh1~$Z豦iT\Lv!/^֎Q3lj#UMcid/MA@O**D ͯ,vQh3q laMo?r* bW$Ի $$Vi917 -i.rEeF~?M:MtΩl\ׁ®|(5Ql홮HuF ZRΏ [֏VBB/MB2@A!%@7zar_{bZ Q)u.C@ϲ?]_|B)8hЅjh(&dl4&Ѷ\d>WGB1 4G=f?8lIҿ(&*\f4V>}1`>8ur ګAA"HPe ӌZ-h;2a._eZusa֩I4L ٰyIhS.w3ƾRܻ^P٠zlp]|c]WW9jĚAK5J  tT"[gM#Z$C)Ehщͳ@ÞRa; B+K&zPp2K9檷H@ZZ,9'WMn[(> jdu0Bo_ :Q0XmjQLe 2E?NI٣m98"p4oE-<\z͈VՇ42x(e#NF q\`]@oL$꒜ [#Ԥjb#ƆJg2݌qvB4oe݆_J<펼)NyEsJ$9w? `1 A " PDTvaȲwOQC(XMCw4kfD-$6[ѯݦiv0H'%~ys7T-@;hZW(%'AD8\ kIj#5ɅUr%XyL T0PU3*0(2WF!=+KE+ح-9A"P vknޑM=>U[(t<6< m9Eb^TL{NO%Dy aDjUؚGcB_bOw lMߦu(sL\#y^ޭ_ɾ9r>W^$)Lh~S4lU*WHE'YabD`ʋq;K&@'z\>' ht-ӡo8*xx` ڕdk ئ@RQJh\bSCq2@I؈(ՖI;ؤ32phEF*,TsL$nPZNZH [y4jM2F\$ U,Mrxj:9Б`Ȯq#i@m@u!L&V$FI:zZy bLM*eʖ}ﻞUͻj͇Ъekv[?k"Sa2YV 6uvw]MNEgU;6$Mm(Q4wͽzJ,ȓLE7Q .e5qلB>wi)%-PWՓx{ ;ĆYMBGMWګNK 7>#35*!E)WDH3onxu*'C\%,M!f:r C:1/YJ*$K5*v̑1cM$. d OY)6UIۅʏ5paqMX. .alm1&<7"3 'a|_TG9PT: sr5,vs=OQtt3!nxlo4 y\X~JRy׻Zx˪ӈWDR2/#lɥ9+犊+H3Z,h⡹,E!Dg}u- R*U HuY;vn8Z:`NƷFHMR;G :GUq"z0@U)I]3*x +h=2.7@*CJ.:W*vy.`0,[(@JteEceoLtW2fCvk;mJOa1,wVVtVc -zc̅M+'M`Gڌ׽|lL^Ou ="@ny}#7Aq뎐#%Ic 1Po e6$  H&ҖXx& >x+!ԩb)ՕU=5n ."ogp/\)`='aGx.jJu 9 Sx'j،'㪉)NVwPZRFQ*{屾rZbXN}aYk}\hzJJTćPAi|Tq)TߒуkN]m]& %E-)K(BRxgBzTGrY*PZ~ 9(z M/ΚҲμcJt8SSF᳼RVg*S|R͓6KsZT^8 PPoWy4d}ΊB<2,4R_5 Adԝ+*c[Y@ <da`@H#`\}75TH&X>ț W&NJ Z '2ZHWcffT%Qzmwl=- 25>)].v ڡIKF^$WHbxL1uj^藤#G"9E g,hs"jRe\!ޔ ą uR@uDS8)~LfQ,Ѵ@TT 4Ϩh2(IRDL N IOq.Ej6|72 vq+CXO@2,W\NLhI/k8]wңu"jBRUuˈ4ᚴ:T1-vGrVEbD>wzs- 18 z؛[(]p %2u+̼0I\m$0zLr?ˊDVb-ٹzD%Wzr•Esz%Zə%.;D~/sIQ:vn]~Lk ̯i4w Xh0PebJQ0A\pajKq :N[%3SyphdlS28$P咔CW0'8)3@wIywe\Q=e[fm b'"˥nL:U VT7̓O4q-/{T_P?3}EHQ$"'<8S hR#@|<:\- {\4cz?CyLyay3uX8Jk!zV %c4D`HMH㴻}[zQ)–( Te2< Sb2 .)s\F4MLCx= N%`Ld,n@&z%JD &x~b4`M!H9MF}bCe >IP4Xห}RbUSa l֞Imj<+&EBX9!sqd|RH?.!<5bdĢ˘Y7)MhfVTU\z\o ~`iSut@.F\c5Do) ޡ 5s ΁irobn5Z3\6Z^:-0n hޅy9}/*!^=l wD0wWBdK h^l׋NRG)=inpIpKx3W;F't>#Q/$С jVj,%('U,B]VХucks0ѝE )&yOfSa 0W*j ԑ<|#63\|*N"S26i0{2r6$(R,aD =`pJ$3uj \0c6:!)ѷD@K%2t^Hކ*7T}5^DOiԀl!CqjJE*5 f>/g Ǭ|zMT#*n<\@TG\t-mƦ`ƒ<g.'uJzM#=7a;Ց_o t{61Օʎ1T9M"CZ^ozK +d~iSi׺s0bcڑ[R=Lz Hzy]ɴ=k(jBd_8CGĤZ}:?I2beHFiFLH PhF4f߭3@.~0ЦHG9,D"/+մC{(ءZo \L d1ŭ]3,Dô(?T@7U֡+ͅ-y_9AZKi)OjYMZ'z#4[k+QTM 9$X:IzlqJfzh[B0Z݋!])H?^g2#`-4Xɝˍ jd q_ߜR%\h[xBrAli_Wp҆HA"8J7rUJ)JlXaa(Z9&W]檐":'KAdA۔Cd7a{= Q ?tax5"Ȉx%,"o¢1tD(•(;g>,ym I?vڃ9:Cs!)+GdVRI}[;@44EN/m\z'.7XZDn>ws q –v^S'd>9MMue} ֡HW˒IPdzBFLl7"㝩sS^!@Jpr0Fa R 1pXzʞɿ]kWEn$׭yC<63b|! LNg'j -9]5N6RU6.9*;_XE`t9.~5cq)9 a^q *@cGހqɈ´+PeDq =G,f ?]"ٙ#A~$rL^-,s u: ~>/"Qn* GR H 9xc%=HT'8aҒk; HDIb[L}\bdnʧe+ *y=uc&wS+|t`ӬU|i đ$pFi(yI°w@&KJH5%<œy_O>@BRbӁEMSh??cC!# OD'-x _jiqt"'э_~xݨ JV@F&dlÊ&?HtFM*nkQ EC ˘DTbEz&VhVM "LL/+gdzY7(/ Q}BwdDm0lE)+Q2B9@"z'dVhs1z*r{]&UEOaW.IfaZ>7ԄdEV">Y3I'_ԁ6*zC͖E)e t`IE 1N>H?i]TQ]Z"Q1.mV9F՛{g6D=*‹ӳWoUp"ѨON}?xXXZcq框T@VQRSسi :W̼OL-!1sd9B"ڷ. HUt)ՄBFYOm[*"}W[J`QQ1ڿ,s"vMvv FBbB9xDXNTD5љ'٧e>I+(qkk(+ݶƑm5)iK{+ICC Q>wAm'\) 53;Uȗ$[A)pFXeuܚ[*b.8Ҷ!1'.u;Q T@5D.r*YZ~d(xCRdצ/Tt&>k/r/! | Y*ñ!n?> &zKB ۰\"I*Qx ="n&Ɠ7]Ι&!P9"94,|(4VXj;T%h3-)fisoW-E\gH5w@v\@y:/ϭ) P+kR~ՖUCƨ0H@'@JY#2EeFkrIV&pω9e,nY۹^[ـ_U?: cKcR (wtb,1h9~%_4 0tiLmrI%vv5+~#(/WB4 I* * k>?@igIv0>PǦor~@ Pp!@ ?@ lT2^ؘح/7l_& [4ys-CO=ۘoH/@5kH}TW $fKբ5gjiU=zKeG9Z=UwVYB(2Vn.^ ND?BsJ"Mڣbp~ y-Zͣ(CK#bj$<[C7Cs&mPmܘ&41'Du|xN.vgm+%cwԢ%IS=""l{.DX. *pfEZuFFy( Cx:|;XIŭ̆5P%`@lROF9JS!mq 4DE/.K?Nh$)}RШ~1RkuSJaی^mfqJ/d)8SK9!.+6rMnr )C%9gX)1Wy?.sj3M_$"\KVkmffC_CzD eJ4HH/ 79b ^&+46~uZFaZ,Okn"&GZh~ DJUNXp(gBM_H µ %C??wLcM?#GD'g9t 9wk|EZ`%Qe%RV1<@Lh|" i7 _ ߘ`kSC&Jt+d ?'Oٮ(`3l5VʁF$F,x3U Kӝ1;nCVW1GV¥""e`K{.'Yw B" 8!9@B!"R ݪW3__[eb'b7%l_+ej_JcR ݎE$ݹMhr},E &?]*~]ajdž1yU`.WK⁶M5$N }'3nK`\DN~ R46p_dXRꉟ=?$wΘ"$];fqn& GkrD-Ί 儛nIE B7Mj)ݣN dFB$.2DS Re4'ߜX;񕽢?UHպy#om\BR^VR˜,V铵a 4_N UIw2$\9ѭye9ΤJkl2n]p(MmȋQrkµ{rGUZM= R\Bv1-HcuxErSܢԘT :/J[S+a $pAL0# M8,SSGyG':] (;@) n 3?tݕQ4 +hס2uItN$ > Lɛ"D,Pd?Nmh1uY^M|*#s?v1mIRY!4l4U{HHU7-|h7yiz~UFŅ ;%hKX5LP`Rq:hp#dCWA;4Cou݅%X&'u%ܚK ]XeuO<:1\N0jWLB%\(V)ߢ b5X%VX3@9 M[KICk(,ggJ1JXIdz Z$~,FL焽qxG[M`s6EBx+UE.v5hL֍ ɱTDER0eZ )M;tg`"cHzD,9M?ԍ[;(Mr"Z6mJ#E)u5ΉnPa KaYe. @% hX!hF'~k[^m' )OK&ѸqRX8GHF"IaZJXnC0bKV9#E]:<%NBƉY,?)4)cTc ~y= M#/JJ'YɿYbT\_\ǭt#íGH*-zxZB|Bu?\72b42?! [!I2&u6Ff91*Դ&m*PuM~HhݖNYM*kMtʷTVWL;]x^v|_h6݂&b4jچ H,:CR~Ą͸UfXBϯ0+V`BB`vѻj?N_(8,h#yDO-DUFOn^B[IhTҧ#gog`ltJ.GFiLaxF˓)O}-Y+H|KJ&$bعKl }lNj) +PI$DI94RCr%o RAC<LPGŦRjTeǀɲ2j=#o|.逰@r>ћw}m}M^D/jl밺Xxw&iJRgRJx6\Jkp]":w6gusEly- s|٢TR;W|1B_Xk0QZ[!F|e4ItZÿr]76=c:N^[¾!O!MQJJ2ȝEE6@K`_4a)4 bȟDTx4k쬱߈YKGn}DH9Wl iϬڽ$RztDɝ/_B$KjkQ]q&VeY""K`Mڊ3 @:7@7 (2vM]"[.1C sR4Ō*ɨµoD<9^0ixLͫ3_  H6/f  4YFAQ 0[nw๵Ԉ g dB.UT!5/ż 5ޫ-bI$ilWej ]Z?ՃOFB(x39OԨ+gߘW{$StZn'oguۦbѵ2W3⤝^WLz[1lo"Mj0D9AV1uh-6Mu{[H"Evh0YFY?%:nMYAR~Wc\$]F>e 0'KV4`vDǮQ ~ z|Ѥ]+Ƀ% GA@i!" -T$aTqriB[ FGh}l2a԰{S 豈KUQbf87*A I=SXOct{PbIR[!Qy=Sb+gfIuFOڅ-9?= jի71)h.Nz'MJWM!9Za(? (M)Кgj:Q5SKQ-!|$i` 0.F3|XH 1BCBXxCO րl6  m R jwMz:l*ӤGRlҌT[aj [Q6K Ds_{j)woוȆ/%^IyB-&|]oՊ,ȓ'e,fx`io5YƋM](YM1!'BM%aZ-^ fGpsHӫ#4|Tn/\QȌdBzc-',cv'ЌK; a 4~+[iSmJz!lRae/V ELgV=!Ce׸ '٥GIx=VdS>K+9i%$ H_U^lFRr<&< J3ԗY qDq) D2CSqܲ -q G:s&uh&s-V[GP0yHeڧTp!ptα{EmG7BDյ`"3iY/ELoY%=Bk}WO` | } 8 ON&ԍ'|(ktc)A#mi f/ ! ˧n3%D<*XnQ ,ØD"9X&Jf][eLP/\<.DW~FnbN !‚|Ӄ$ դ(T0 APOpnpH7.o"QغG^Qh7 TPT-Q8f*DSuaʹTq(-đtP 3+.=U%BUݩ3\nI 封轢i: Bs5K,VDL?L)؈fLA[1;PTtD[VڐP/IǨִtBEjHeMre˺( wUשSrG rnL0)ljMȀfAhԒrrsSk^i>܉*M',:AcoWhZG)Bb27\T3SB1f{%HBr#~Fׅy*%^Kꢆpؓ܍bPJ i.K.SOy"D6Ug:m]1BuTygrQe d葴DeWQpUJR ^mͱ% egǵy9N,+ lj~ĵe*'ȍz‘QgW綊+m"ƨsB.kt;׌BA,&N}e Gɭ=H!Q+oEŵVm`hK=4_˲2, }"P_Zo> M=XG%Bx-rw|9\9 FiL`hD.5;i]1iQ,s}E *[B❊y4qjD0`I8k RfMH-,)N\4 *Js!$E>LMRF4R.kfD4ØEYE-Š<+FPUКQBrP>U 8Z[!ՙڟ}ֲDDdPVp+ Y%GjC0_h_޴SM!=s%\SlYjXVr?gT:2CTVwIjHbGv% Z R) %jEQU*dTN8Q̶HoMu痣pgHN( F e/b1$-VYej$"[U6sb%Z!ݦ#_'h58e1*7lT)I[d2ԗ۔LH,M8K72՛ +OŜigb\]Pd~$#vghPܱt#,ID?9HAz2Ґ~̥+|/l_i…i0HCc"lި2Ӳ TQCrAw[TohmWCHT/ߴ+Kf]DĄE1/DBzq;,œ C(GE-9]0Wީ ^*Aȋ~Q;#,jMҎoZ"ߴ'.? ;k !oWYpUwF9 E 1*2,,_tUGROzvQ5Pc^;rxz{ F2ٷ5TגܫrTYm-cKi3!&4zR8ArKu1Avy-ƮmS;/^'254&e鸢=})NVQAzkyΈ4',c:q 9|$YY4Rţ2^bE.U.PP&0|ֺFTH%lxKji\B_e">G4qΑ~DQ:THVꩅVE/5jieAYq~^ZRKFuhC Ӈe,_ +&JpHSoaOq{k 7¾JGzfS"S!#Ѓ#dt2W-"Jҗ!zy[zܲҒF_Sq3D^9 ,R'k!n&óKHmB ɭ͐o^Ыq;OX|ћ4ʽ_$hh-tȡwoхNJ%'ʲ):]ڭ(Ae9 }=юތ zRWҝRyШRr*m;jW6 ?qdӮ#Fa"ͥR 1GUTKʈs);3OPz3g>Tu8NTcYCP4b71d= 5m#lx\JQ#W )A7 $.ŲZey%9Kbf7b蘪֤.Ze$3d;3!7>\ݚ,,첉)$D'Q_JN(%x4GiUI "#WXHZ\ZrTcabg}@cxm7\ׯ#4o@|?C+L$?4+SeAB?f IFvx+tk~aqd[O">ӫĻ'vvD|vr]_爺H|`'l{T<)5>@ɨ¶fD..m )varHLk-R9Ұ& 0,;aR0,@ cd#gڧ'T81yD9D*w[C >1vrbLDn#Ċg!Xd:}l)G+c8rS M.pIUϰ8x-(HDZz7 aӛy F:,u`+E~ /RDzc=[ DL0reCMS*iOT+"\ P1t^_mw3Y7ɽ(v#=FnY!4׵ćT nd Ր/89S[ChF4y?qbp [CuNn*վ K[Di=W-YFFC -yVptqh3 |:xu PD13X" rbh(YL f5Bk8 ü~K0 pm*X8‘#%dCq^B̮|zyzb:{GK(4{B ELrIbp#O@U*bf- {I^Ü0" SY  *,  @<@`<`kB<5P#o3FS%tiaʊ$(hMy V `evb<QB'ʼn#r|YŮ dYnh1iAxEd*  @Ⴌ߈8L+Ni#ND˕%@yd0A#!i$KCzhY"`nHI%AMB9f>PR%%H0GT@4@vXHM )ca- )}N%aBFaAXKLd*8FH>AYŒ8˱MD1sTt}b BR:)!2`0%.H, hfd\Vy?qfE뎔 8qϑIR *DPxZ7Z5CasL[a&6 `{M(@9纞5ZK*mCD 9I^@S0xpIC%+r$1qLRI">#4G(SKYp#W1+Y ӏ B)+zH}>Z, 5 S!Rƣ4"2eP@8K`CHada%ZJE:DijO)8B-Z Vɕ?4=מ`h&H-%np1"* Pg K ld#X5(9I *MQ0$RMaS,J(O8 ZcBE8 +}DBe [NJ(QD<5`uVPI>=zh "HhM. $ e88Qk<+D<- ma s1 ZqBjt5bqEЦD`k(i%"z7@m{]/eak"RO9u@# ˓-RG2DL:ZNXE爇)%I\=!fF0A$L 4(PrP)>)'|rՃB? -E,-pHS0~s-^Y# sI4S` ÌdƒDV!CDW2g^Kp&O8AG';}QAVQS}h3P,RhXkHq+i0Jil%HUVуM);IpDB9 !Ɛ#s_`;e8t4v$=b!"!$D7P )MI$a]$"p%;b"4/[Ofȁ7[hAWvF|VIpӘB0Wp@NBC1g[FF9]t0C#`"F!aĨ[J #Q㮋(ae (.Dj)0Ӏ I˴aNdr}b[Zf",p(  w19.80ps,k8/8/ 8iAV O1Fc[GT9`/&A&hLy%C.I 1B3cA(Aթr bJBXCN1,w]%&CncKKуK3t8&ԗgf A2 xt5!Ac CPqa$X(u4Uh?sO~  |,hS rYys<F(GA87H (,^Gأ^c0CW8D1:J0iJBJ!/Jh$J i,#ˀ1 ҈D/;X@d܍@%R%h&/i< z LXxfKQ^Tx0[Sg!=h'$¨C(i Ey S pSRfKi noba!a']ETia!0?m 1<QcTPc9;$9x+IŒ]IKWJeO]}7; ʈ#{V^!Y,rY/XAP YǜeH̃?hB]L~f,nj|,-w-G袨_o+uV2jҞ/޺[y%IE W9۴tN8RIUElERC9% y]u.IՌpZ,jpeT*w qoP$7cم+jϥ3IQ*cQJ;JW׳֒wHክ_2#4'm+tY&dP_sxز ܲ+wfb-%t䔒|bJ˥V7~Gܓ'AURO F1u >5)/s=%~c.l&'AMP+sǬVҶI"E=W匭;fA; ɮY7E k"!!E4$zaY"SҤں秙GYGk%kooiz!>LzydkOs )[kKFܲ"UdZK1;{ zGH?X^e:K2*NEIeo=rjT _ܣ%XR'WM~HƼnź'S2*VITײDo[azUX}ks/t!~ΨVy#<)y[SJFAUv()+oFB?M!zG?y ZĐT-/1)DͶO3ypKI#P+ 4% b5\`W;܅ZC; lXWK!Ǒ(4(!ƴ_V])m$>MhVɉ]$@8ӢO>y?$3D_)  `A]r8Y+6#o]jI}븂F{mEu^t8~bja(-rO%Wc A4lPB!y5\ 4\Ǒ!PTP Q.1 NfNVJABo%K5N8xML(* ˂VV-f)_6B>S3y#HQ}}؂3)6EጇDH)*}dĿkUW<Ϊ!f}Hup5Qh}KE/I\,sbԒIfaXsdA~m9*-% T*\+.1BZ90oYOWig5  I HFx!ýf0tÞٽLWTx]&U:Hff{м8je1g#.7ܖ(ԘB\%!N|N#{ AƗb٢^-c63(1I < Wu'c# t:1 Iaf;_*X (m m1 4Ӈ˾{1Ҽ6Ch)%=hQ%J_jgߖR۪6DB]  ځ[Y jǎ`'4MbQ`Sg74IAR\\W=VztlV1kwlBB DtaP@ ) 8PKõŅ()/AGYAD#bPM1&Tr.kԤ1BÇoF0ȭ $Q H( `Y&h (D ,.Xޥ4z.yS/JD1wAR4XJWԎ MAwHaj*H9G$/lb<Թd^;0> *TJ C'" 5QsFO?P|Zh'kEEqVNV%5?#a9$J-d>PU/v+ w"t gQB?ŲOƋ)gx x.eҥ Z:sܻ)h|01,9DW7a 1֝ +S5qƪ:J/P1$~Qv" ]6y5Vb"e3S*A8U}w7ɴ J,;ITYQi0W8b SrJCE  fi9WhQ{\BgA$ s8T_wI2M U!1SUH}/PCSG:$4K3Abp\Ҏ/E2ՈsR[L~BrP ʉugS[{č1WQ)/8oV}0 z0@KL2} U%ӟxjR꺉=K%0,ZؓaSYf0IqL.L$XIM9}bNhj|hz'9jRI*yNV]Q6(n8!._s =үė19})y1&ӱ0YQVU$Ez|u2RoYˎ7a;Tk45)e:ˎIRr5YqPlL'ZYC:}-WP;@EE& HSJ@(Q^R8F!Ġ_>.桢 $[H*ʚa}!Wx,҂-?Έ1. MdP$kpRj yA` nG׭*e8D{J9礃ĸQ݇.-xaAb@r /|wP@x @;Zahk P۾WС8SHP KnNMJA0%'4Y0ԇT 5+#ãU0Q?S0+ $Isv١-j˜q0U * Ðc-PI&^D8C ADRKQ)CJc "$55(SAĊ,S)B #.WSas~&!\@[E hJ wBץ6Z! VR0pƍ$@;B$8PJ E z<2-uMVklH=m|P)!Q'i)e?m8܁zM0aYBPSE`Vs\.FA ֜M 8@0;O YDgܢmCtׯ#[ rT <*B 1d$=첂D`2i |'0pDA)U" wB#ZCJ0SS6.G,Q)I5*OXB8SC֡Βja\D>#R6$Ҿg û’`(ag20ӓ % vY[ah$р yXa+ *AۂD# 0!{G.8QEb/Fagn dNpxN2P坤>9Rm2d$P 'sZ~4G)Hƴ $,q9NV0~V;1xy)1 I$XX9#<8 vOO$}`c n![!)7/p0u$'&CH 1=ꅊvs|&JV!~# 'c- 0z"Az. VՂ&Yx k "AW:BBop(@p,IexRp({zb)! [FM]k6X`a1FPiߠ(A%0V\D ?q/S&4 J/2"@ka HF/ko[˧@Vm$aa 29UT`R0(_”@PlQx(t=QKW/QqeN E^a+f,\-p=Sy (XPV''G8`A2|FIr5 iJI"}~RW(͊q<{?ɩO%}[R}; ԉYAgJ:hӮ16=g)m,!f6Nrܸ;/Z{J qoI[vjъ]Y ֵ,rLݿo¥0Ջc 9oBWV~/3ڥs~N9ĖL*ҕ֘1KA؉T12˰@ZEõTJXHR^ jeLZeBZk,lD'X[TOKR}M? f^ \^ۄM8#T gR"U'CL7' j|FŤat%QT[JbV+Y$1JE. y+J:_۞C>u !CPyOuKIOua 06rAKy# 60A Q*?=!(c9;o~g q%s[% E+k!ZtP—NiShD<`NQZ\yzp]q3{wXK(K>RhG ^}oޭU>pZ'LՑcJuPZv Z3x?*A&Ƚf\C|V+ֵ*F*AѸn:ML e%ٱE=1goR&EA s^ƞ/4kZo֔C.Z8L2xUp`*IdW+ Ě^/iZ>OՊWY:eL)sU+_3%o;5h(-Lk֯Х%SE1eAג\ƥOM~%,${ZS7LYJYةTJ䤞1U_5 ty+a3lbk3=% jz.հn1(ŪII͔&ۈ/vk{r8 Zj!hdVY*9T!W,R4ר\':ߘ[!UpkLb)]mși+ņ>/u!6KF|aDngO11dgQ U`Y)"1*S ?dNj BWW99J(3d; A8`P^ 0*qc0c^J6?_za 07"v?1A |7Xy !DUh ?GUP~*֮gA`TUWh8a8£H(ݘLc BhW1SGLݎm!bDHD ) BwmO(lK@@ERBCRqyw= %9!~H%d 0H+Y f]I"r`vdKCm1DX lshDs"R:!wBzIS WqMN%j)8@)\MFzt'"2ԥ3ڴεH#3  "%ۙ& @@C'!*`"3R>ZzG?+9HѢ~ 2Jr-fېB0 "!cMjl"uԯvep.7`!ǁvW, 0i`AO8enj,Zfx=bNJIq9sX7d8e }0˧lS~o00rUepcG4-+(ƻĵ08'b{#B !Ǘ 0d6D̈FSUPHT*,8j%u9cļjag';y$9V"y׈qD9Y4 Lpmh%^>UT!Ҕ(x 75H xbeiyf 9=BeUIO \#-6](9;:oKE5F,@Z kJh(@>4* QPaR{nԞiFE&fyk%`QpK$5Oz,"G{)v# o/!%OſcXCG'_焁#HqoE1HJ;-3Gy3E2IDhӚJ԰r @/ ; H텎`/b&Ď6ik gsI 4xH=6$BHNg9erc>I1QABДy3• 4qBNTL~3$5J gyl%Uil("eq%6TURfy1aKX[Ӳ  h]4A4 I%^B0uQ*sJY'!hauR^FHLH Qgߘ'rp"\/wX3L^,c054YTtQ0V0Sq4YVHK"< ds xJ ':H#ֆ8B5bNI*Q8\)cj%1 =M+m IS{kEhNZe$r`ȠiM>Xi 0" i+}rG!5a)j)ZnEAOJİ3NedèHR݇Tr fa#+0b+)݊/* l|N4;ծ7!fY+'`]vM 0TRe7\\Mۨ#A19DF" P4N;Hg2<"h+`( H cVx AU^p"^J3 XH+r&g! @EBdǂPSu @ԁ9ʩ Cn@;R 2F֢ p!0hHnpۃ Q(n*uZ0 A/ )CP3\! 7 >fiDTvò(+|`&P2;Aplڡ H0 L?9EC0F ץn8! Ypp +u,1f‹'1U"V2251j5c"*0a nq/ִ@Q AL,S>GbAQM#9 CZ)i DG)]H-V9s{WGE |P  |Hе`2:6 : 2DTbc8IG"A` `r07e gw驜`Ey$8e!CWr9Dh&9w# %gw P82`^6t&PS?|8nd~( =ag:!@R6u {Qw@a]AD"A!Ԅ +UM*N5?Bx!$Ɓq2 7qTȘ@V(J|iՄv8l܎8]HhpH}M1㊇OH)L{?@fذ%(QEBWSoCÒ9 c1˂< |P.UU8CL/~ufV*r̘NL P #cODꁍp2C&\%ľ>Ę׷ud>C=8L7~ߙ|WL1nQ_/ܱCfE~1 kJ"ٌ[0z)4j-GS"j-%bwXk=&U02s9Q|q=^;=%j M ^+ӻ>'* 21B-]l^S8^Q=*dÿr:]Rrksœy/\E : |7Qz z( -, 0D/ c%0IQVPƤRmKfo@8* PjfJťH0pIL '^ %>bH/S(y(OΦqe4@>J/_c-~A%bBQ\p+QjĄ'G G { Q )JZ')bV{u?@HβJ<  F/B<:`cP\iLFzקM(d1H! aDyJx|2p^ \T jTyVQNB5 w4rPA6URBcHO R(,,YH(Y'" 4B֥?M |y7k(hbE⽌|9RP›f!*JC)` GilaGҍuhG:M~@-hc~ { {,qcLĩ" ,_=.A<8:<.*)'p["\bal5hh4CPN#Y}DRk5j,[pQxXcNJXHhl%= Kb(*:ٖ0U ដdy31c= I%K*͔b7&%8a !7&u){M'WP%\aL0A"|*4 R%\"GpĘM3ҷp*AiSi$C-ē,(E6iG1q]OXEUm2@$`DpM1G"d!qІuiR@KVq\-`Y5C | ? >DC BeL$P:-J54 F O=5dqfIOv/1 $w@ l,VذȓU{%& ah]< 5H!JJLvuS {\QV@ PFqH@g9cig~;|&0'ANhш$Ѫ?O[K *i.,9qcliEN |Xap/2z  Q%R0P$G gt}AI&@ bZIG YsFDeOoybeVX8AD*ƅP8qIVʨQ֐a_[(D<аN\S쇤 6tQ<(+=+{N͡"Kc| X1F専Zh8Id,RЏՉ`"nE'2cؤM-`a,ODx?tHׄ !Pr!1(k OH(@z?J) G6`BdSH% FڲESTŕC%,%)_8ʐ,11 A<,gC %(moܲ⨤z;I%IJ\1>܅&Q}'bfW\7+cugqd':.Mcca,m)-N)HOJ9SB7 CG66W*eZy5)};?, O%%z^uxUPS.,b\`EJ)•#TWtvu\&Ԯq3Mr&_4L2?{I%)jۚaȊGy4aE"s+q1-Zw17mͶ~JoyWZŔEnv<ܧ"OͶ-Dbfz4tʱ}*u:)rJT慨cՑoM|V0r+ޣo& N=?x SwehI^RoFrpg#R5F Qy͎[]=!1]; G}*kk5EryYFj-[T#)a;Ky}kB6ݵnbOߺ(7cV.WO5 I۵ҙzTg* d9c`}5}GQl! !ԴgrzL.TCr- g:a( Cg@,X@h(pF3[5_尙,$CFt ;#A~v-_S5(^)m`S̼?9]Xow9NMkn%Q(=PS+ucZE]2GZȽs6j#R*ܵ]!$,b* \i&:rF5*rY*|1s>k_Wgq~1( Ub9UqGa ʧӥ?1"+S YH,Y  <$*|ǽCM-/|"ѯ)<[ԅE&ZP"r+s=9_&$v/桎+-dQr-'+f{M($io+yb_H1;zɬ䉉T=в^[b0V}IuJI5"^«)XNw!0yȺcb9'D$Q胲/>Pb7[pD2b#bňn/Z&*&*-$+jW}Qv騈qۧ⌘#{nIU/ cQ>[3A_%LFScB5mͩ{,-WT$k ˶xFՊdE<:{bZrm[!-*# R_&)ob@QYKSD9a&Q-E`'K !*US !Ƅ;y ^R#246S:EsɔV.Rh VQCfo@ƈhAꓰBycAկ|q.ە7'cÇ!lS*VazZ _ɧEgO"L5'$rXYaT c -g+2NC1+(PPh'&vy q_E7#բ]H9`B%ԡYIԂ:5tyxw7qUhO5hG%A l1M>RЋ$H ]j}UIur9i)B\(fAzr)(fn%̦ nSD# }iHp$sdTg: baͅhkDgmۛ2!ܳR SIaN#"O4f,4`6[y e"hTpAxU7As,۷OjA{l+T˝HIw2Tuq{l{!†I G2(+]tiQ%A2X4gc&t`-D,P@rd%5)敫.pt4AXV0$aR]aa~/y32 >!R?#1NkH.BZڀL4B ?ET4Ӌdpm yB-阻jr  >p֐EN`++ @CgD}KM+íHQCLw!%0PH@@:IrI)s *2rZnd))f6封= FqtKKz3ġb@ $P(`H6 2H7sAy)d i@;7 965~[1kZX A$#iEyt>r%Ŗ*n<"ɨ»EBtq5h޿1^J%3_fÉE12Cn&6bNza[1ܔSj[&mr#SYZ0xK#R+uĢy\Zҭ!j +R !g Doؑl\mk )e7s6dfG= w#C2+9 a:T?, TO~Ksq|ElԐi%H27*%s1 / b0)zfTrDttC/}j`AMtBH"bUF5Ƀ-bΜQP,BUL҉:gm5'VsL*!⅑q-"]bU./.bYGwQğsL7S-EpIL7YLQPBQ (b:'.k 'zI]XZfYY(V{ |3DXz/"(]UeԅN%@?B~0~zCj"dc0K0Wuu[gFhqؤTiIKŸʳub5 ΊC-P%g_`ں\NǍibMpE2/zeeWDAcnJN@;)E1U(O_Q RZT)v+%vូX '_XAKYqpV3'; dP~iCkD$ͩdIp9ZZWvjzy0ٜ-_ H ך`H?uAF'_[$K!aRZzh/(!fH w:L6R)ϩ-П呈qdhjӯ=8UHҀ{ (Q AOvkc * Rj b(NK3%Grb Pݯº% fyM'sZZzBPRO d!mU)rtΡʣ,95nr$3f'/TQ6:Hv(k{,o*^jו{C&(`x$ p ^%j) $;@4(X"S)HL !ӥ o P@ I <)._q&FTOf@`u\2f+N #Б=FI6u"Pt?kE W]f;e=ގ7"y[()oqU4gVa=W/{ SWJ4TSx5Th zHba߇$\i ȝnY˚VS /㩎;v&EIJ4#FG4˘Ŕ{EK}ռ$^EEɱqB Ǒ3x.D9Hڃ(f-zM[ugٰ!| !W<[b"]أkgČ@&7P3yHpdLfB \F,嶂!>UK~2$$e5\Uݟv.hpXSl>+ 5ۚCtK w)jծh!jή`a5yVHz= Qۉ *%j*MXƊyw%_ b +)I*$+/;@&,XT:1*'4'e ad) xQVKQA̓rTv̉;m"nīe1K5(޸@HpЄݮ w OQS4 U*ʉR #g sfXL{rR0t q(g)cVt^)nGaY1o0 ]<5,),k$[|3(xxT\aTP9ZW=-kJחJ8?"c(h0=83t%~]G:L˫YK/[hF=r;CU=JDs{k$g\"4SYɘX1+ˉ[QQࡹ#Vusj,Bai :Cyj!fw~ 梓+֠Ɉ¼P(mܹ)1а2hbpտ"Ns|).T3GY=_Q2>oS]MdqP,r>/kINQJoY^N2/;&S%w'yPT BPP2N*u[ tt-r=*L %pdF} }|,]ÊPn}G1~˧&b=<~^BvA@x DʎBѲ{ƿ#[kϯHvAa$IX!ԇ_0۰f,6kdB gM"aRIOd;s_)2╸Gt@Y0e#D7NK:`J4a&/j|. ׬ lmucPQ*50ge N_z0J9lNɢw_I)+9JVߝT&<)%fղhm|Eɐ3O][ Ώ)`r;R DˈqMR_ywЫM{:T(YfFҸM&]qpv~4Ys4>{)Nr'SojI3L4)|6qNC9 Z#S>!"@$|4)2P-rL}ȔS}{ӻ9uR5u83k1OhF]'|BfvU$!3-۝H`):jU"@9de&Gs 4t/OJAY6s>s,`.2y#z# M"BhI(8҉i@qL 3ɟ0pK Ю(H߬*!|vc@DZxVzAJ՘cԡc0~ܽܩS-͊8J qri빡-zLgK}J"Uݍ mD^%{'ˉaNsĦq Fi5Ee8 ȼ)}ӹeW4TZ_@P~QDᒼ˛ 6>g ƃ/z(X '^b2׌؎!R' Φ.` Fҿ RXt_qHo$=+J:7Z6wet @8#h)4 !L SR&؄.%8.~:suP' "촅8y5(F9tB3EiS.AK,:elg=|tI!"&*P*RV|e%LVE_D栍y jėM1ߍWYKz"7ҷvv Zoⅷe-M5ebJN[(ch˰"]]u?L*)'y-haPu[sh~2/P)5`u񋯀rX"zdK4|JPKT{04:}.pJA-0rSkfmH҂VJ7̪䶨lDm|a$6a $j 6`q(WT.uK>{v'f :~7 =HF sal{j,T.2Ԡ%.44:کogဤ@W"1>v0K b3q>j\*>86?']`Ķf}zّHbGvLQ;Xʗ8y*ט]PՀAħƫ-Xx2~9 rr\oe4HV$9>_*a_ G4\{B?Xӵ +١B\u#;kXAX*>k:}a/;~b60^Y* e )HK@Ԃ$(BN:X%CDwQ7Hu? tEGs#MտI~&\)zf# *]6~85?..0+AX%-8hf[rtrĭd!HK/~6[-z$HaԜJw+URGPI"VҁfhFj&D7%jNyi$C[ݝ)fJZAQ9idG KOqDA*2\X;WA"iQzghY{==9jt[1 ?H#sտ,V<5"Z05~΄\6oWxE*9 $/u`>'X!Dmj*7f(Sng(IƊ|6s$9:Nʒ66#l?kѠR݉D˦ӮC5 DUQ\J}VyNzaI6s25Y|3m-8'mM ZKv2|  (#)B-NiGdn=)VZMM_Ռ! ҃JwUe6WCUb8_$m@cƠ&c"4{Ld~Ҏ|$hB, Ҋl(,;*O"i8YYPZy7sӳ!V=X͗6z1Zc: _Uu+ȸ(icOfTJlF;m)[U ċiET :pc Kp%j ]Srĥ a8l >6͝l"S@Z-  ciZ)pIR[MB}.Ev΍X;U9>Yl3 iȉ_+Ei0̆dw>*oH`[5y8 HYؼK1 DROOetf4f@sm1m):/џwdbhGr)q$^svppZ_<%4ݭTFAZ6g&Y_lm]5VfH]Jb2=\K|6YLP)=I^*V_0qn˖ w&.OXGd@T0)"O[2a;TJײ۬q72Ǽl>d{]2aUcʳ*)>VG-HNLzL9އ!sUM+A*ؑjcehv_J] dk)^Re}E+*7եɪT$ fiB|+&[R~B dZ"MU: P<_bAX/ &#vsЯ,u]}zLrc6v&IT<[bd%sYSHF 1 wUq뺟FDF% VBNh/7u;eNUXc WJxQFd/$Ghڑ%]ހGިrDv3<|g]<+Xζs9ߦ-u5!"_T(@ѐY~ zgU?)2^x- ]P7Lj(rքUJf8QFo?I4Ho_Ńk,!O·иod3FHKJQ W1dlOP3 M3q#l* Nr Ш\5PUS0.ݩ"U{þp%Qdf4n u 6GyGR)-LTQ",<HarQ|v+%/;Gh rWA-6o&IF|BjΛ8,-NT{ křKw\Q-FZ:1 e@0mON{SBͫ Z;L^M} xea#4dZّf$ A*)'GjJff=ྭZ7ʊa5V`kPEMD!9E{+4J̡sLwUkGМ^/m;Y*Df*UgPCQɎӲO_Sx@kdT0VL1]cAOq@ d+bQ/cK9NJb'\DO2M,Bz\ Gy#S&[1G"dTY p!b41 x; &O(s f*/e| znX@R b')RXb] I/'k![)EC\j1 ~rGv3LR1%S*RC΢ .,LَCʁ:'y-?a܃"rd)8\JFFZR]BKǷJM(+Fd k}TnZL;c YffI5գ+yh Le瑈Nj= xSv$T=H,4sP=|))mEGсdIc`.ns#N{ZJc{r2_)LbW.aub |fuARP/3v &DF O{aTR|#CU\4B aV]Ce}(KH؛+# u[8j_ IF;'FtO A8sj$ȞP5Vbb|%&UDiKIܶ&JjOm zQCYdAoX9KыT= ?g!"Q!1#c(igPWeNgi$E= Hm\w713E3]X C1L)B"m:B58 9A1QHq2ʕOH#7{/:r[ 8~N JK7r Ȉɣb7I#~OeM-*վUf'LJD2RQf&>(j u*f0;Hy/:-]j Zj7r𦑕x[9^bEDpx'5{mG@Ҙz(E޲899}o\ܕ#q)SF@F!(]Y!TAeDn?9fKkV-U$[W1!nH<l|xH7Rԍ cE!ԩir<&Ss6WENi0woa#ZDsU+8Ɉ½V:".c .X#9d@ k[CՉlA쭂Pa"nYA}K-qKhZ2<ޅL} IQdTQ!*:8JV$Z;VdXP\%TW9HjώJ1ǎUN=\y.2uHfU>֤.1.!C _Pe:;W%< Ef]L6D H7$d^&eƃi7->$p`PbٲvpLm>H% rz­N'a f9J /ݡ趧t{hGDi6qtYn\8?Ȗ5'&U}| 5 Y}|n hWI)S1[EgT4ͪV<_+"4LЭzuIJl5i'o딥ɟk ZrՉS?>L229yvXuIk5jh-[CC2TJHg̋[eS:{ܤorEKxuO1E ܿ}~ʯ˕H=/3}x_[?'A7NDC]lk8a MmFZ&cZ(cs=d>)U+\hԂ1ḱ\Y66#t"L\{헻qƪCgm(zEKNf 41 Dx\Hq[.jċc"d Be(`VoG@{bx0;5fǛ(^I28 F”`[J) ASQmXp.fቁrGC)ჷ 䇨EjZ.!*U ~ho)-(W;޼tn ZE$h<5IŪQ:/l'ߞXGI\=%oԽ+ a2"5UpFDgšS 9^5lgٙz }]g_,! RZB?8-!$%V=M˜66A*dճ1 Wa}̇ERA6Zn avmi:ߖI_d.%N<uy IK_Z#D*2 ̤D֫9B0|H^3Gٰ<#Eyf .f?N>"!aE+LE4Z\4X*@1dPZDg"zKToVT<,9 @~{nDeQ-^5.lB[x[P/vʹeYu$F |J1|jI]O,\rςx-k(KLKCs?N \ǁi* ܠ)a~KW52͢VG⅐۔Zn,).\nOrr0pM (g QrƝ8VVѰ$<0aU;1qL),@wf343YR1L):+mVi&_=f<[[c\݄F'Km<$KԵ]IBw NĔ aHxXFIwlOMG]GGEKG^1QU'k˛aIDED5C`4 ӫ5#P%GԔ>a>LVU"ܐ ?&I[t WVLĹ]QGsd:Px7 Fzep܉Kiѥ"Lb2_0)/"J4DVׄT 4hrY $Uxd@w cCf]Zw=LL+ 1Y4;T4)̵${,qnH|$ءqE%8DN!8#,@; 9ӬVtJt|~/ ^u osBI:n#͠xi-E𫍓&. aAtmn%q㸋iq#Zx5^ h WQϲ0l$*pKp:'okX)e>ڣ:FySd(!8BEiHp_ѳ)VYIX6rAιDrR9L9c,*Nk b52K~6~|@iC,*)˅hO?vg§~qUI5LMo@ k˺'+W :"'e8Oڍr4W߂%SHVvq \Z-zx pq +>ʼGYkH#dlڏ?0*X#WyAԽ_Ң>4^=k+_2 qV}1=&kL@RO8^(hӝYdr &O^E8J_@8Mtz[QYӖzp1ݓU_CGR8ybQ ]츕s K2J;*&V̖/29G5$q a+^F($+h?-9cZ]5q"$b>[*}cli#ʝࡈKriKcnEuj+Q/*EZy zh[?ށ|1rJ6V_y 6C(jCqT"jϔ$0B^< :9B t2|֥0>}ϕ V+,d4+pWJh תc"C[#z$Mí\U6`Ɵl0ARUR&U(%2pMi:ʃYS<4%.SY?S[Ɲ@0>JYW\ג+.~\҃%(Ο0!%{Axİ@ѮB2yrn%ht (\ 9Rֹ+o fw'{dʙ&4&<7 rW/HݡR-196G,+qn}]QqN=Z@g9cg3bFTJa(1Һ^y.h\$EdU~kJ"+)Q.KJI>A;K#L ɨx*qXY>럠 3GJn;f~ p_wX)LJ[A|(0E(bO^d$c`lTP7Ji 2 nJPM@ZRPOcO;TBLPi@ƹmQ^+0lLᕑ&"&Ȼ=kAJqI^?n=~'ݏtF Y48db!fD3 /m.Gb5V~-J UMB wu X$&1Cw #ȷaDI $Ho{KD1V_(h|CR$ƥL_/@YFo9[o!"C@+(zhXh19.d{ ,+) BYPR=*AD'btԽՃJ@pcwّETu,)!wu1ae#8:W8AD:$źa)8 KgQ*ϐ4Ax$E~ Hd Ds?T @^ ^qH&꠬jIacd9R%G:Y a  @z+4t" 2Szg ^)&v0Gxp!FcU%!Z/%uPă%)Qt\ҧԃQ:0k:M^Q5"Bku)9Fט,U5BinQ?Ssۆi-Rx'" q`: sC'U[UU\77ghg{oVUH1[5#Z6A $y)ܼ+^<..~ ^r'I*(&+iL6Vr5LXw3ImGm `:6U}LΛUǪlSk@vm{k5 j]:V-ʮonՀlKX³]t^CE\ﮥkj`چWY.+euvDe][f5Sh6[-w+9ZLX׊֑]|k/[@R]DR|&5,L6RrPǤ?s:rP+9 xU]Z]5#؅a 99[˚m64&8vKW$t3 v$Ej=pmeckʋGN5VN㧉M8SCx+mQBο}ZۙP|O^c~} dOG\'DxsCՅD^T=!Jٍo.ywor3%J)e֊KlːY4c,850X)$$'G-r;T"OoLbEbzR寢M} 0P^k Г7>')+ :ygR9OP AWFo+0Mq=/Fái,ٙ3P:5DM|WΓPܛrd+{p2-)LA+Z1%Ղqu^6[|f8֘H+zCJBW@G@KW|BT4@hjiÎyH07hY肬3.JIPboy.# _~"GB5g: (΁AqW1(t\z-y;B#"U V9&V@EtK*mr-)&oݵzrX' Nk@_Jv&ThJђ/;-#RbFo1ժ3;n^U@~dP*YXl"i z;l-,3y_`˗ulUJ kv6q{$2SŪvm ,3uG҂=;qsY kHۿBE;Y2,N$ônQK6XJuGt P隩,dVaKcܐt&PH!dQB(!.zw*ŝt*P6Sl M*E ن(OcBY$we[|>ѱ%%b]#+eXxG#}wߒ۶uB׵t5B!t/O]N b87K/Nsf=l sIߏA1KWm񧣤m#@nz8ZL8O#ݕH7M &1 -cg[zwXA ~DM[N:-kQzc|E3@Ojg __@kK}S kQ8ZaQvNoGS35|qJgI *uHvۮXQZObWFq`pAp@bVϞzA08TW6 =؄q s {uIg!<@^e; *c *z a5)䔜 :~)A M( Gnld6@CI60) te\8p  t}c zs9 !<T\8}6ȁ {؊$IwRJ\/qr}zc/yYJ6ʸB 4@2;<J}ܕw)I&>>8 axr `|H 0⭴=gɟf삐Cq6͋ѲrP0$ZQ;R !7M$>1qt38p착'_Ieq!޵1ngcVySHMY}{س+a,l3i5n2[P_N #{9|hJ 8/, Ԅ0IyS_H}5b)a8Xh9^C9G;&W0nȒOz9vI]7 )b@^dXNRCRr4FY TXlk.ŭ Z>%`o ~r$w xF!%Zin?T,2L( uKAa/FGE{&D3n4ؔIaYqZU&$NjCf zAЧRFRNX"7 %]ܔՙ'6>TV7=a0"N_)SHh5/ݧyV-rW3覗@AOlMTmշ]6!ۮ^^lmkE?l-@aXk=q{ۺQB{.)~zt#^j3 ICJD'{ QB2 r2.eƹw3U*(4bJ-7|*mZ5=ڶJY N0^baR fAZ*ؕKutl,*-?GϟׂFhMНJ__*׫KL؝}1EbP4.{iiM_?ޗӦ"ɯf%0d~fJЯ$"QEdڵ~:gv TK)'r.>y JDaO@v5E9;'KٓIg$T0ً̌8?m>OAR[\kmbd+:SxwXyWW]O_iΓOits 0f۲Qy@$js M^ır&Oi/;0%Ru=r ֗_&P'3GXT}@Q}DRPjռҫ[yY^d5ؗ=g_RHEUK'f8ף=d#x/  =/l t7f/EQl@TDE8B|㠙3}4ւ񲁉wM r:JhA <5R.ʍ̸]Lgs6!"Uj=N,JG!j#t-ӔyYye1!IGMd"`hX@1B ¼_n!c@g/F AX>Bl 0C?* p `R3#Bl&""*R,GtI-!+"F1EU?y;r|$@DIE$O\eTTS%HCDNd$V|]%(cjZM"DJa>9Ozm^A\~$!Ӿ}E8EP_F0zFpnɈ¾N 856qt$Ȑ p[g5$!7ZB:z=#=`J}+)$ĒDb"w$FOph/Hޘ` eG  !-LPs7@+QLzT i9GYt s"uЛ+Мtgx@rVDY,:f' >\S-Nnb"ldJg *L9)DeP$l=d~MZcyFIP~v$ em jv;}#ҀibtVS/(mX5'є:xIhrsagCoR%=2#K%-pW=i!:"Y7of6@ )S6 L\Xn䷑|:)jvXZPzu`F{]QJvRUĆe"\{hY1:RL\䖏56F~.u  \d]cZ|Ј($1E(/=Dh+ 9ekI+zYvf֐-?dϟ|@=VDs` hжVT-GxVH87QL Tur-BoY61iA1Hm^L>9~Sb}e!L.pb!Ck4wF80p`w!9dpY&#[SغLդP4@!V=4P=1˝5.`- %zj5ӳ#VXiMGCj9]dw67_gqaod,++BG' d{錪X'ZZ S2*axX8V[h (< u.ׯEV S:v'}nVDRJy kF9ġXFRDžmjL1δ-Xk`.'V)L7AT 2!Ÿ(`L6](>,'6մmJhD(V./[VqJv(KɌ u.BS#xV[|䭭)kV1AyZ\T%?LJr㲔F~M~"$9mîF6ӣ.{>m%5H[͙)"X,&B]UK$wIZCEr W?'bF512S#tQF3.2CmqJvU".i,%e稗]T }J ܂Jٞ!`"o9󔬌RR> Ѕ)fԍ4^9-Y:A&Y45GVT,h$[Nrb]9 əHp%|U*lKD4D}ۄu!B[ZЎ,X 7w‘In"ZWS]BQHZ巂EA'Ctj.xkj zQHX>*# ů7E[!H4to*. -ic$vl( y8!YU\~#.ITf2/ *(Hc*{q[U8,͑ۗ1]ߑ F20jGZ_8Iۘ _9K,W2<402aQn0.,x㧍+rY*nur˂L5D9XA:lՕJ$[騌ZbL[N9[R%.ꃷ-kl+=vhvkG y HDw a4r]0pYQ&q&[Yg,|\,Y ['*-SJΜ50FO<dS0ћ1 vFH3KB^Y0!ZR>ѰT[0Ķt#ⴁ92eFf%paTE.'H/*.ݩI.FCo#p8j%'DaF@ٔ!B(T0` 9R +ځf7 )VG[kӕ]HbUF6U `ii5ץ.^jTs}@VBp\/MA9Eo?k*OkT~A v閮h@KHN[-?!\ʼnu8 P+龋A #`o5g-7 ڥM0Ny$a_vPU’ekrҀr2 c=e ,Q'"Zۉ>UX[ H(POVA6NsI.9 %TeaIҪFbrf&Sf-lͺ:w_SbH,Ϥ8("fDIЙajWˢ6&Ri#< yj*R3#.5$3f.^!7lwOtܹ)H JK4"1X.(3xMl~"}FWttA8%M5.Ϙ vuHZe.6y~f2wF4B MiY` yq1^6xUO!Jui/)z:wk:qE2aevH3- jTDЛ,W]un}cpocKk1.w*X4R])YN\ȐF;9?bBgc > iJN)0Q6B2g:8 %?(TȁpQ)$lOhш<Ic @U^wq[Xk"sbpzJ&JlZ7L%WTeIISnN23Hoʚw޴"B\~*KL8vCvzC.NQ!鴽u>/Z?y&Tڐcͅ8WU`,biJ2I"@wF5 t y? ^ۚs|+ KL _ 0"y ·߫aM]0`ͼHC +r4־'4b!jSed4^.bV4jG׉E܂Ձ Ufu;n]\7{OOK+M&v-)TQ(Ȓ%,cLlHyj(Q ҸD|LVdE* 62¡G c1x-lN#ı|JɃ[os{Ÿu$=4W 1\%54Qs2+;v$'{h{O1Q(g!]aG"" [md#[L7{?]ЬGLZT!(ӫ9)I)iyjT&]xw5-W̆dGL -HRadnX &|&D|'? qezl ֐ O -9l8)&v-IȾ OC$&.A9X(I?/v DAq!rT)XKI;\;$ueߺ*3ϵ0.8L@*<%VJM}o BC \?!6ÖE˜B7Ly70kn ¸Y򩎭)^U cFx9^0)yr RlTQc'X M|m ef-.%H-mHZl&DtGMJ ",@ #MSD,LYՈ̀ Kgp3c.H8 S!8-4\.CbtG*IC.T~:޷~!Rf"jNZ6dJKu*"vU˜/1ְD)πbZԌ &6 l'p5lFD4ܣitpX^+LHҍQqQpMgXY. &Y@NHsl1\?!5S=6 QZj1|ZUdz%T])l+EV?;o^K)PxQU9"}✩i[mAmk?|Eo&+%eSycU/Hv9Ԏ]{◩)NJaL9_r^(Xtn(UVwT5n@. .B)J~:ZpNZL=P)K]Ҥh#d*yCF/4%4kMBEJn\!p\U% #و0& oR mّ!ozlS!OqYjS#u MEd^#6 {W*JZNEi}'|Ϥ\PrO62=T//f%E>a*lkQ/Cq71Jvf&{/KMpQRzef%ڹm ]#P! п p](lpJU8B`Cfld5&xMMFk4^G&lU8pCrNJ\RhٓbBBS뮱fʁO'WhR|NQ5&18A ܙ)G0FWHPΨIp>WtK_;u>[t]\[Tͭ9¤8ߋ|\dxRۮYdMGy*ԦKej~ȸp/Te3) Tf22_>Mhaq %(ʑ 3Wc>QHǙb .RORCG$+|hh*_ܰJ E;tL H q;= i D=Z#8ܭQEb-$-` \kڴOU0x]sԸT=u'>z5^|_qZɋ1'{-zO. T 'Q%r5m5jlӷ*WJH{]-֬=߬XA:.$-Gb/,o9X2;U\[n|$׾ L&Zl@)gX,anVdX6 CS"zĉP1a`С2b`7`y ւX'jx=bTcNDb3J~/d0Дx^0f9! ,."K\$ɄICӏR8Hoq'l)-D)eyMV;>B [Hq!l-189t5R]-op0Dnb6s06 ɡ? _ (4caC6Fi!ó Ȏ~ 2e2`Zn?UB2 ]xX}B_{F85'K,*vV(M >*,In'n̓e3gE~ P_m n).a))>(̾SBF!jx8V3B VsUgfɼ/X>stJN@L_=*nwȆVO8$=$ỷP3AnOP;:+"m33wNYA9%JɟPÊMk!jj \o\B͚󒠻 f?9؝amr 9Z}`m* W}D?@ N63׭(BL@H92Y͜6|A{'[>xIRPDtIj9cNC;Q{6(,TӰZXcf W-P~54 [^3^?6qrt"Y*\JwYZ,./ntKvw$[%a?ibU[fR Z#;V Vؓ=1/kMy4mhbЙR,$ѶҾ_H}D"%)8IJ"O-Vִ7" ʶٌY3DW-n^SzC[UbLgTOx˫mI%A|36K4pR S[.W C k)+iHPM $=5TKw;`ƞRpƛ֢z`ŖFĮbY.٩af581,DUżzhTFa|I&jXaK4{8J7N^&'qM!E^Wfg4YRh H25V57W0#ę* KPCfE8U 0,ibfܚ+)nlh}̄>Ldý3;>J74*[w؆M@ɨ¿Y#f),HIue"av5"zh3-KO7jӝճR5*^9rPZa^aS5GA ?d&%,5zSrڹ兕OuīBGu3kbtKF !O0=.i]@,ڡU{(!mgWY^7D*.-+#2l#K?5tqk NCNU1(wH'Jfp:aN2{9z+e+N)ňu<+Ha%cLjc+tK*IQ] ѯK^]UA@?Y/uĊz4$28VHjc#T/!2u !bXuQ 6Vit9ߛr(MTƑ Y"[?U|2ciJ. y*`! &C œeyZ6Q7Vp&٬Y圡 (T-LRQkV_(~pކ eE#tN0aRYNJRl`q投pH#8)URTwb:nxswX]3%[;\WS]&{]#;.g~^ S3!5mOuEYՅ9%*M=oePC4݋\ ϩhdɺ&JBS$^H^ʆdAt8ŋv=%#k'5m+/[ $3S&n,2UEv)UBR;eC"&p^ffXEw39gV(bEе|`g %.LpEw5h1[pavW8jNTs[A7f̿=+oIc61/ȵnD*sDuT%\:_`HgielH2~k]?&5ᆺoZE5%; Ԋ|[o2UCyZR҃ISb؄+XuErhP+ڸ+clV!wQP_B92*8eJAra^X=D%InyTk Q\|g$]=}d K]S*R*1d4lɨb ?:f[Э_$oSABӤɷԵ{xӊE-st2ա_0]gZ5cȢ"Ψ~G#Ca ȏIbv#QYa{_j R\^N˞ *0݀58YaM֊u62x|x +-D3ꇅ2%-Z%G;İ=! aE3L# ~(ϕ *FM%: = Q^j_/PJzv;gwY0N\IT\ 8Ue4қ9>as:(Dee "iT!f VnЃ%ER+:5d !ENM_ĵ5 -k$OjbW{hK[/IK 3 B*mbXL|ߣL#LԊ8I9 '.XheI(Q'' RN]+XH]I:&зkJ9ΡcnT< ڑ a,뾻̅H$v_=UCSyWiOo8fbzGqQkYTE5QdVw3Zt2v;u֤"4{jŌNdQ:4/uֺ뷆 | "#u ]-7eB$#z2nqH# ᴣyw3]Hlleir}9bҵ>jofX~FJa3@:.:d̋q-o4uEZ3wC Zy^)҆4{?"S@a PL~qRJBbFa^jS\)-r7X^"aP]Ґԙ>#+ʧi-aҐéZ* 뼶(?T}aOEd.!OUl8zQ[0l4Ų# ڶhGf"To# XM X\9([:5ZI3*F :\Am˝sZNxL9RNjħa{r"wk]?,T-%.Tm u@fY!ILE$8H/&H8Lns³6nZb!3Sݛi O:rwv(#WX~ÿ%@]\9*^,j O<4WOtTXPIr nAHöҡygO_;s%YvbO_b5\ccVS6T7er=,1IY#LV2;MH}:%Avuf#(JOꫮiusD=jV`[Ca5.1B,-@B$ȂbyJPǀ2AZ.WnGre#FgB8psTKJ)frȨu3"^>F9eq]HC>hRB. J zx (Y?Qm%2ҷu:R^_lWMaO”@뢥غxjUwZI+-Дt,L4>8>Թ/SP!ڧEo?ʙjQ1GfXȅxJ$w-̂Zp%Y4 ѮCDF2dc[HrʋRPؤ+cJಆM* VSI"Xf%৷S N䨅) .ZX2aƹ%=&)A1(`TKܢ;?hmA^ #2>]TrI8`m |#5Ir/I-K %2CصXiMysJPf}V dȋ.'rn,#ޭv28&Y- 2pTXY"16 L͗Z!$kcdpA^\ТcBTJI\RSuEJeB LƊY82A!gś5f#K"{S5iPϽ[š,m- Wj%鈒P𶴯" 긿 F2Skt l4ue$ê}\H@MX&U*n!5T\.Hy.QR=xͰ]Tv\S:2cA:!:r賩hRX"ݺkI >ėRȑ8uWi2\A0GeNd15\)NsP|1ԙTR^g r;@\TIS[9ƏE-y+'Eı0J\%pXIqo]  PMLͰЦIlQ7TMx:ERu]*&e2 u.pNx4mźdC{)\o0jUUgƈwC/;uC=%Ձ%n^[Ȃd?)!'Y֚ Dڽ>R#-2.ιFhL0i/Sꈸ}+2@ ~:,B5zF:*IkbaAw(!6 0RI cpcpFT5!zYvO=PA݇c9S :X$*◺*%AnWj(t|a(dAs?1m+.-O6JXhG>GRWiݹ֗gsCFtc58"0lA aN9[՗j<~LSdjb@LG2M#2(IffZ[Xqx\ ,˶Ѭnv=t ,M ]ӸUat9S D˖k&!l]_gɴ XD|Ɨ\,:0ˇL5C$8E=[h%7\Y)%q$-CJh+ρ4wV] wUy ȂK1em)u vÙ"ja9y$JC㧪}%ւ8XF`O5j0PɄpvMh*L8й`|@ c,Ck*OQ 2IrdB AD[|Bke,LeMm`owZ:m(X\CNSR%Zj`0zETYpYE?))5*\F-s@T *BA.䉋$E|` LP>8+lU "L3?*J%v4BUn:̘PT$#T\iFj>؉h"o狍z;V4oG^/LhyD]),BR d"ΰą#7vv:@P1oP(gs.#4&HJԝWHk Qe0*W#.(g;7ƃ &&=- Mw>TAkNL+bV>js gFS֖2C~flQ<"Ih,i#pZ{'1 t&F5nը7 IBkq!Ő5_rحdqnMy톹qC'd{@Ky ۾k$ΈdI=MP Z@LB2AAeyR}_Q$Uq]M*i~({M;\gQl lduVCBT#&"rI~wweaO^!04(E9fK"A.U "޽g% dbnt ^94,,M _FKq`8Jr_'Γ&M#KSOKwnwXFŢN#Bđ1zd;2m̻֌ ڪW 8q?XQ#ߛw'%/24(R[Ev4bltH˦GO6:*X|A$ B #@6@ٜ[)l #8w?YR%DG)^#[U3Ȗ.Ȩh|\oPѣ[qldT4KOO` `Tv*3jLYR 7wčWUgŰƣU|N%jEơ$ؑfkXe2 m Aޒ{3kSql(IfsπF6R%jBG&Ypc-'}`2\ )q]cdl"b01 w&<J@dsaby,2 ~e5%wӶ1ċm=d!?<p:ē<?[69W<0^i*P2UF+{/sJ2eFnHp)bIK.B󝃥[Wna۾xtBeF刣/?Vљٰ/)-0%DŽȚG16,7ȵ_<Pv%+~RFjk'jFqɨ˕VJm=6O3.'wᐉPN)m}DcOFz+d՞W$6UJ*Id6qW#op;WR(2BXq`(%#!m/MlĜH&DCl^0aGVIZJ֦ ULڽWuxWOW-RuMHw'+W>MX13vOդ3:(ūv3[L^BсE!bAoFS#7U ʳ-\L# 65YR>4fä́Wzi~- 3%-0Vj14-IF{wOK 謹 feyovG5 ]+Pk[p.PH޻r5 y1]M#PQj+j 2=l`3}J!  r{)) ^VGp ,ʢs )n bGL[иM$ #Usj\ɉ&\-*Gw6R`mhlo:'$ӭ; e,_K mlnCXdaL~˗^5#Jyt/ KFi:`DD1ꙫxQc e¬uNBiXɅ 3 :U6Ĥ,ѵM+%xzUPIN҃L+-%@W?d=U`/wIcx=Mb=N-uy}c'Ay'pEj1{yh. C@Aד tV`.*R,2=K)Բü (Vv䃠Rd0)sCrD+ 'NJ5N:4HS^"}7Y6j i>D1A&ayXZ6#3Gh|xgy6QSr3,T_5ͦJhl ,΄MEC;ٗM{5B@ MJt!2BIK^ ?v(4\5`t耭`R¯=yg@(dSV&S;.|;7)4)D~9Y54жYע5T-PGj]R4}(|v(wL3)L,l8FnkO{9ViK ~(][J\^?RlD#kY%I4=^<1KB y> #v?߁5Bѹ2rh?<" }15S^,jw[vS:r$,Y=*x^*n $KQ]_D^JڭGS'UZbCJr-,k0ɍO zvd$ E hLG %sBY$¡YwssD71*_:+g[#Yn %t1:)NT߲773vBx$9RY l֘/[E!D|*pLx).6FQd1Vk$o"V Vɵhr_u*ů,vYl D|/< cZ3 t6^mĜ[wpH^˱Mh96PҾr4`Xpi) nc*ٕ{aE6v&/ȉC,yU\++GvҀ]eBzM̒(yUqDv`;hZ4d\V@hQA\Cal>62 B)uw Ag"!)TËfbPU/Qn/ B %%o2]KD6v/R~b#+s<*:lY#܌Yu(n~ dϗ}4yL]60ZM^%sE᥇j&qjŚG&Hc샂#0N~S#TNmC9i ؿf8/%5]^\c-+'*X]KP ̓r9Ą t90Њ. W &I&$ nj].q)ሟw|eQʏtLCI"y(ڑ)bv Zlռ /l`ޙpAfF])Q7ԣj DVd~@aw.l.jpuPQF] HH4uV?bךva$'wQPȇKqƩKZ̙'xEIMGw_Qm&oA(ZojDHMqD6Mq񪆞~t]o ( MdijK6ٷ>U15/BenGoF+Y<1/0]1|K"1%f$B:k*KXtYE-q$5Ew+k*b8^@*1S%?A~Eg,3D 8PuDףft?D)k)]W#c7BD,+ZtH^{:(2Y5^YxRjv'V.iJL0p$vW@XU H*PNȗ4I2/q٨2* [c:@ǺػT`H!@A֪B%ㄻ+pMytP#wRynbӾ-U'g: bF߆x▅F4^%zƍJҕ;IGjF^U^7FNi즾ytvkm9TNj̊ȿ/qu(W,潶? SPke/2,Av EjSbw#SM92ki#BT2W.QD]{wZ,!G%Mc38_%cɱ[O^5:YI 7)~tn!9-xD&@%3\&Y2(*D)/PFZa4<6a`!NucB$W4.Z8rB/hTks  1ytnW^%fz y- Q*En[҉뤎j8PΑJ_oRcIiѮVAv>D^x vɎB]wb5ηZl~Yq1_gj}HJ +Ϥo^ݽB{&aLH53Ca I4& xn,HjX'i#0܉52攜lE,MR Q=ە:9.ҦfU$<q݃"^tbFR,@‡&*RD\K8S[Xt % 8`di+:j˧q]@ ܾO3M d˄CB=TSqx3)6VKРL4$C'ng˔_"DRlVrM#q!,PP$ Qo<2S)Ǿ-P<ߞm@F4W`shzOVZ`=DgE۪dIqu(;}M-H;jn],N$< RT0˪H fa%# K.%^7 gU<ӷM⽄9?H|}2OzE'x]2VXQ.ciJ9$UR% ʂ*Foցo0S5i|&WRz'SЉʸOxv9OU鼥Ia1QN"N^;x#ي J/F["xPdJ4/̜X,oADVޣq1 ay giȆ-#'Wݟc+\׊zC1mK0= hRݻ'bĶ&w]MeMHeNv|d %TR ru],c\*y_bY:;+w`rwA~D+ _AHFZXӰ-`TVnP@C,q#4J4_>(G!kB-FeV`]I2)Q`_D#Ue6ty wR@lp)(z+x K:McZ-vN޹DKt]\?sMR W&X3tĜzW'n K+ ZRe$Bkys9:zB6R%Ѵetfjdٌ7 qJA4E ͭd:6nP[UVC޷EY0kZ+2A dZVϗ9|DwQ#橪#gwok 0rtfҪ[6+rE0M" T?̅RLcG;! 7lqh1Aj,O=ߖm@ʒ!7X|Ǖ; &^)q@#Q##&4tti(}=fɅƑd\"ǤBfSUE xTרܗ>a :nlRuָZ؅UAo*,LKY\JBHT]^h_;k)% ]&p_}\5@$.ZY.(xBdwM!YE0M+.{Dvt/Fwi~#^xbG. ͨZ-P*O6>e'Kd%2X Z{Bh?'Xt1ʡek4ixhdԕuf^jھ]  O _ln|['*@h*RW5+ БA("lGSb[=OR d@a›H뽱*SajddƸlONK,4=)hIãRI^#reІ Y%%IvD+`S'1HڙJHgq/+DDžӪƤo앟뷄!ŘoJJXzfC%B3K|M||#bQ/dN2\}j X18j[AmSeRL*蒉8̚hs"ݟ[$o!DteOCފDMǫ#hQciE~ZPHqa+ak-qQxI,{kvzdtT./Y ј%&$L\2o%O C6+W/|Z% VUVE -S-f } Wx0[+v[}oh\U]Q<^05I˕`Y^tެ=^"3^V2y{*;9*ȍ|f'&][' F.,wX,c0]^I|=h``ʆp4#&GC1D@Y6vPtvo2|rxJb?%Vk74k2HL^FSQ:Fֶ)بV@~|1W' І~Pe/SSG ĵ L?]7huM [ X,摨cX۫۽ZqI,X%;:j{S! CK2>DɨSuI0hh[=!/x$Ԋ!TD-\BzCAE>; % م(CN偐*dR|PU#5M"WӉ] RIڼj $C=T/S<`$N&iʝ$oz֚=U(hF?D* *!dF*0.H"*H04sڼ- 0bQ!Ĩ"7hK_voؼ i# j;$! +wѬ#D¹iˤ0T@OdA!Zb$=sւ!D]>OAɆ1tB$]6#;_ke < ,dG1>֋#oUDmDgwA\"9i&.+Un #)nnMܭp rE WU| z.1'H*lW'+=9=LzzPV1"B_zVVE s 8'2]ְVG"U^~ГsyO_}~d7̕.Dp<4:Uar6L9$K+ŊHXYz lrۛ)zuڕ}CO') Uߤ?:EpjK[EׂuE?S 0&W2Ha9N!BCE05$(?T2-+Rލ9 "ݠ63,lYkW] }/I/^ RƚI5O)qO (;K3zܒ*dUz$X}T % `/LAiaZ7 ʨv4'_/7RqQb\aqY>\䣡[LBB -4a3-%ZViBw7RFd>ck=S2gilֵ#NYt-KjzP$sMJ_/UM?Ix4tLYU&p8ou<"('W$S5lHQ|W~,n<%6')$F F8: WjzSvۙ=Nd^V DjoÞ$֫YSNTS+~B %4w|hR%sј\:7xʈjMd.\OᝬtʢI0H V'# L6 (,0 3irW`~!F:ϼ Cy(U~ A.+^•9 "854g^J% Yә rU$; l%4׉yO#M?d}XrMj&`uG&ĮNJvJRpɉ]:b q<)2FnN6rW*O@ɏ߶ܤB.M "}Իl7VW#!teNs0H>SDbڝ۸U'SA7"Iÿ`4gd Z5Wb%5iϽ57@b5i \K6D@I~2 ;e: ጏTШ.1G9Vk` -8@L4ˆ``LqF=" y={juЄ3U{U rw4t$:MHX7Eg"P0SٲD(H7 yּ$̒ pԈ684pH枖k3n*#ϫK,>]>n{U,Aw0sRo5r3M=Hs1"ge>^`K1`tR_o-0$ VȮ?dR4SLlCMvŦ6?HWEZ(m *848R5h0y\*+4yQaT`I Y` s&%m>d7,PPNt?:*υ]qxV8F97wSGIjU8$Mk+$}뱐 M.47n~£cr\ΣUIF(9jyʙz9AH6,9HhuaKMB4/d_ |=l71RIׁAl[D$Y e@X}*U͍ޓS"wQlGF)0 ׫ezq ];#|Z /XP- bB>pRuJԑRL|UJhlMUl^1ecH,XH̡C BSȕPiZS ˥Md*?'E5mjkmL%FI髩a_&ڢvڍ; y%ջ੣er m>YaHzmr'h`MgrkB+2mD,#+fZu.#ALn4$*r\ ̚|6lghF%$ߋR1yW*hLUC#xK "ՖjR BZ_ɵ PlE‚-5ۢNֽ6&Ӳ 6Q*eaPdBh,fbd+"sU)&MZã 3좌H'DDDF'j{pz4.KMBwyfbAgj<BOJ%쉏&!B\0<3h'.$Z,Wsf8ÈH1/K5Т&,tBAħgOp341.}D3>VVrd?F}X(qp&(ĻnhXA22èn*/4Q.`vLx`ۉmň2`"G^f v`WMq(PR%pF\2OeFk\wv] ODL86$x{0\>@ًATrrSb|PFWu o V-и0TDGG6\bEh>Q{]\ _sI-ǭA,*:571 DrDyh,Ƒ N^v*0 q VfWЫL{E>8x/d(:_!(pyst;uL\PVԮY\F3&6nuC,;VnVDaRJj[[du4CbZI?,ZNhmh>Io.hPnb!}>  hZ$2%6V8}*4 ,b&1BDElM XEг7k,DYhP /[i\W0|_(dlDÝh\4OU.G}RrUЁ]׻LSL]BNce*䟇H0 .?B8M@Lu򏳣C/Ҍv:rs $}ux(Lj[j6y+N?!zgœpD5G ۠Fg3"Y[a(&gR&E|aח%IӖ[6@ ފy1VQDab$0R( !z5A"lbt4*>r}ᔞ:pW *XO牢p(*OI" };k(JqdWaQiȓDX:4&wC ١W3ߊ3xlT(؋MHUՒIQI zi/9/I%pRVVZ$^ңM*+UDt(F1Y'>'  u`MXdjHl(*Pa X'd 2SBGAyJh IUrۮND'3,|pD` aB#'ɭ:( .@<6S,;.9**fچi*(.%<Ҧc,|+N?VBY'Q[XV;A[T'Xۉ6y a.MD~-p!E(Q92.`UU3 ɨÂFhhhm lRIf*W FڹFR=פVR4 u":\m6,9|AC0yr."X]RV<ӟ5 YJ,kHI\kZ?j!I hxp_М ޒFmiśĞז:TE.?U?VHu" fw~="Ei av5EKG$="Bzc qdb5%i0oFs!tu$M*k6{%+ M 㺎6  YԄjU[ML9VI[1,$΢ڊ!yR؝"<^XmN!=>!aU&5,CE^::iLauyeCwy(VrO$)]N|sBJl;Sn-I1u\_NyZUiƋE^MFrH@G-V¥dT3pcRh 2LBCyf{BHFȣ"kI&k.ҵ|Z&Y#Vor0vC44M׃G l7~½=Mqa9ĸB\G<< j"J)#HC^ab32F@3N1#UN+CEZ RNU*xJͪYV{B[_W'⯒vbM!0 u,s+, mFSGj%UY0)Tiw^R)#$ XÙ.}MGu&/gkg KijtX[3\u4w:6ǜDK@݂7kh\ul~ECؑ`.Z4\U#uij^QfEAaHB Ed/O(Mf`O56]oVC]E#ޔתI[,a CWY'A*&F Cr-Yg:s"φK˶0~`AclAhtPSјud@:y D@cЃ3FMv '| l<}=۷`%(j4YQEɼTYk>+,V7^5Қ5nּa%j[՞!QE6=FxRr2RO t=&v#4̴~Njc2 Қl0FYD2CJHPϻNtfnⅲQۉW+m2&ܤJ5Cf3":(rrH]=q(6Lu~ e Ա  -d?mV2 TjF@&*9k8 \ Fv\8AڻSsP"(sПE*wID̰Bz5MUp;ҵfC»`E H3w3&TMý'׮=H)˻puqB)TƱȋ:dRLhUq72Ϳ*9&S`wxѰǠEN)nBy7‰ZV'; j:d U͏_}+QYYLͶvH DNhv0zn2&ɐ浔˥y' N f!d[6%7/zVc3I'YG($  l4o3 `+/RʧU[" COKX?dqRk= RU `\F|4T2VgQa20稲`q"4VAY;^ĿVɭJT?DsJh! JBp(jЦt- [_uInQ_6X e *Ee3y|. #1|LGީͳf/@: <딪/Gwld~]Q: PBc,]k8҅VLTuc,cb,*jJ=aG׼ujitH9jfi|⒂(^Cb&ޞ7&|;)MLDd 19-Ba5?9 VeS1𽏉&ҎXޭXJ6Ix'SgEi_4anb ertkZV$D@] OK-h?rq&:iU:\n< gwrLLWҊU Ldy(_9ݟÎ,Q{ ϹTɤ)tw{PI$BT2Ȕ*(MyB8'݊6BIӾ.0F"ލGF!A+$`RKh4] rCoWj+nJ?SMn>= E/a&˃?6LUR-R(9+u|l d+"IQl R "2r}- ug'B&%n~)H&Ċ!,[1VN#`d@õrӡN/U21'Qj1~S O}W]ev&L?鼪 rm"h :-L~bdcO4+'}y+BͫX=R7GL +qby%FݗuWɁ)Z J~ZRXO"ۄ'ɦ'd#(\R|Xx^'_!>͏ 1SRK=>{kW%PȔtتvl]Suf##9laq+?/4o/8-wybD|$H9XX$rq\l Á*x nԠ"8.VT]O#+BRv$*R}rjLJz^XXCZ\jqxJҕt#IBɕ VRvfɾ \+C0"9漜l%W!=p[k➛G-I1|r`(qC>G3h]Pu7Ɵz2w'fɋH^i&yU>TpMcL0^DOjKցI(,θ`yhOTo@>ktWn ىQb!)\H䦑)A֓R->o*%7Si7FGd+iopz0rY;ѐD,1_F ? pP )~h# !PJJ&LȰH> |N.Y`66:xllпSepSw38} ,}ɓX4IM\*aH*{!gx[Ywm)Rbg:L/+Fu@Dnԓ<&DI cu.󼢋w PHdZwL42BL ZK6,-'mkaÉŝ!%}G֊A+-D2 anQ\Ga0μ$ܘI W02GǍ!\[co2-zB2%jЛ]xҔ7Dcb}BD pTrY܄o"vUv%0`TFDV&ZEH.AOϔFq0ɦf]MocqHX+'LP#3> :H;CC&3cΠ ɍ-+A,T 6AB#w BA xL zgD r3P@ %Gsb4ny:-49i@16  0J%6NL!Թ=B$QpKK$ [T$>K掐#*qjȢᑢ>1jं<Ѳ/D#ǀGCH`]zHKf1f`ߒõO%@EYOD=v΢UՖ؁eOZ+PO81$ |MoaEV/ݽSE>%%K4B # 4 ZKXn5y386+ZMXp(s"UjY*-\r.Fl_#pT '!&7d _y3je,bW]auy=j}ouz| dgr؂٢fS*+l噚& hI2mѽg4~a,o*XSG]s~W ɔC=!=pS5(ܑg=z-jݞ/V*[%,<7Ч8"#n|{ȱ\~('U;Dڹq`b%np_ʈ59eR,~`h5E 6%I(*"=Dؠ\A-u@O]]?q2UC G4j5_aYV7L Y"ɡ[F5lz⑮G/wTc.(^S*d2+Z4eR+HW Xlz֘bJ1嘍u!-Zg"N|4UW/5;TVb{"dq_pĽߥdLN<|xBL 0 1Tկ"X ǢJQW1uJ>pqSyYtfP-&Czaۻ-bDeY% ԓVu]1P$4 {FCNw'DGE`bhb;FţbPقOA!^nv[#).q=RKFYν!i-c>ڝV(@DT)"XTH\yi.~&8B++q̢-m9zhX9_yơzxkݫBr}6EOlz@1[VbWdyx$z:-AB2:HR|˜ \VTLHWdZ鲉XP;<>B>)$9jf$gNA(HK<=Q+E9BcmM4a׋$xrzZB3#T^G6DJ=3iJ\Цa N5-C+~PUUq׍!d֠j^* Q5N+N/bW!Sy[9)*jS\R]JRie©9vE~wUʈpF4Ү+hFMjU>:kE$uoRu}F\zHXXӵLU6 !ȫfl 'f6j-`Cj#@/r M"GxnS+*\v e&O 6Zv' Fd:YDeDT12wu8^D[H(h{jTa4#E$JG2,Rҥh S:,x* TfA3Žx&,-7T $`3&2a"LT*[Dc_-EkХMK#+3ZetxA>ֲ~]8ELL'gwC)Rm.咩q.E-νW4mv)omW,/և,nO:- s:"/˵:D3 ,@QJY$38*tZj%Z?QAS/ƁEEY˂8 C0H }%NhE)j|W`|\\ІO/P?vkRq.rEO CB•ZIy`h&IX+'#]ӓV,G":&hnfj[Lx-J>ߺK1//J(xE9YrXiD/pYS `=4MPd $4%jqr)W]$i۷I*k$J:\Vܟ}_]җU=M$]ёqH@:p4Rc|؁Pd(^Zd| 9N4K5,him S`j# Hb +HxbX%klfF9N Ҏ8ӝTL{eJv8TjZ5 =dq Ưqw ˣM8GT"'4 L2fhap}X_iC擊tD;@Ht$m3rm#)"ը֐RQল?ǨJ!c K<(P3Zw8|f7F¼.U%Wbˉ$T/*II!eŏrBj0b2=x%<ȷBDi%Z+J:XI:4՚쾳~X"R+~[OUcpNψ2UpTVnS &蜒++om\GybRݧ}ZpjQQWLR䖯 $dz2R"_@y3ψRQ- &KQ)QS$TyדS_#L$^-ݻQFޝ= M7%&I"nnTH]}V pV1٬ܓ4W$U^^0ci&\²+5?4"G3 Op~jYdգdEn2YClT)d^3~T !PH9%ZAָ"|>(fx 0v^fZ]bnwA4qET'8"w0J~p_5~?mvo@ s Qj  ALn iisd& d@`|76NJlEɃ44a"N;v%6dCr2dcXZ G@% z1b- Rs\jhUEٞ{+dtiKSe][,hZ%]4RHVےŇh # IF$c?~:#G)1rK|!#1F<?L9,4&U}  !JVR!ThSJπ! ѠJ$Y=n.Fm  Kq D*!'DV{ J|dFS$C1-KyA aC\$qpl 5R1!|t"lE.$v{.aog pK u]aոL߆o3#k379Θ#\Le:L(=1ɺΐG_c7 hGo7O1*oTSK:U#MRnevF호S{H_feOA2HeG)MsST54 [8Yj6m 2SI#g L[%lDtdZVP 4$x-#?>IVGK%n_0}VтeN4K.Ԛ>r$_1̚]TſNAS6I T⵿2Ku#0ALY|y40O̤M*?W(9OzKh#q9蛒L:%Ldu+Z~ỷ2Vu6""؜e(MǤeFۨ*q9UӅR)Q@sr\*(GƏCQr:UD,C.baQeO0ϓDTyp"f(։א*{+(u\4;s5 `\)?",PtG,hL5\p{dG;D` < IQЏySlS<`]M<&Бq4AKEM"kHCU֒"DC) 1Ry`L(?Bh$\S.7cK,2Al.N IUcRz$ *,M#6 #"A&>[G;I3D*ar65PKG2F0سW:!|eta ^L*%~Ţ&A9-\oߕ"5D)3@wB=> Mcu,D"Yiۨfz,3ƈ¥2~|D%}^&,N]7(%m:R /qKO"XdY=rK `M+ʳu7MQ{r9bb ~([H*xO. YcSxyY8: ,g,tT&DTRc_($22),zMa0!|R^ۑp\үXizD0WtCs_6t QZB.y^g>IHJH226DŽ0>" hD5aY דR TX0w(3Ӫ4U**dF}#  ("!Eab_ }ⲹɕ O+E @$ݿE$L* ]qXwJ{z@ćH \c\"Q.L%ZS*]hV1R|p:`݉>KJD+wQ/wi|"5Կ{a]B{b9eT0ٲ\ita\(@ L~JeO"TzT*iU,/+T>x4>hF+RPԃ>Ɗ *{,-$%'. qQS4edf"> [- Ҵ'G4mLItAԔD6V# . L2p!{^#h4 QQXu7rW.h܋sG+5!Pf`뎸I -P: K 2 EzI_m6$0P_~قȌ+)@0Nd%8>jH\%6.,6kӴ%7Z}d$m#$0^\ d*eBb'e~1wf\IXN+ca\,(*E!`G"I~<+VJdL"Iy齍 s C"e 胻9 (}HRP 3&06{4lT@As] R(lͲs{ 6HJTPX6&PTr2ɣmByv!萍d=сe(VڔBք`DZ%B~8?PQ8(&PƑs4۩UʒLKcɨÄoW$wJRd&edvScNCe!Ȅ-6JYJi  %IY#; C!3kH& Ov&?5|(ηǗoA = PbJmYޞf'cj%6UKk2bj _ 8$,r 3Q1$,y'MCi,WP[Yl*H Bό=Eo,+!kXyHrA+E^qE(wyrN8%JJ5J8i*=t(h`bTmhk.@HAM_{/e/M &=(/a vȋʎ4+CG()A:BA(p^ra>,YQj$(p aY-턴P?"V#5?/ 7ws(jDI !tme0w:-Wn _2.xblMoQIP #㣍@ QE`E_deE>^w`T'DR>/u-4_Y^I G4Gb"1QQ,Kqʴ'8HhQN$EY.>h/\~V܌K"XY'ܾH8R/ U 'uū56"boY>XG10DM6Bl3@&aK{Y(CipJ #Q e€G[ ˭Ȃ5JSSDNJ V8ܠc>F{k~S4Rlhl{Y軈2 UBmsĄQtiZp )6mnz c)uM`)q]!|v Sۚ004^cF%Pge"x d@ I!WHNX|(S/%3;4g[yt>p$k F[jR]B9<($+'DQ$1&7[('o;ވd)8&+ASFbe<0$m&NJ%~1O ϟ*q*CFmy-h *p>Nu7bqClB`kpˊ-(8* F<zfLP[^%`#\&`  RƤhc]/bg)"(KZQcKX ZKld]׶= JQ%c.yێIq&弅Uf#u&կƤ,G >vuUCNPNKQPx.CC-9ȪŽux"0ФY8B9/ I #[ACJu9BNnf&.W$juq~K#ԫ2o!ZPPh$&l2rB$wiO"P} uC%A|ru32bm_E7Y]*f"FTRuB4DlFW"dDxO HEvkZ##sfK^yH;FWCMUΜPKMIXMY$wJIO&">gH7*(PK 5j1MD8QޗKkgq0sZ2% _ec meF >.2ۙOFFCmz4M?dVe02׏ũ?b#WV ,q 3z)7SZZ;Vמ%Fݱhڪ̝wGd':O{PwN);l ]Y~L^޷Ysj*Lv,݌O_5_ӂ' YכIcI35@\ęҹC.sW*1m gwQN$ϼ@ ^2TB9KsR%U8d-*FēJO'XXmt701%R%7RBbear}i 1 賬ml8)/ĆMhTq%M9.NO'.GUe+ϮRtN7զ);,M,%k4AbioYB;xjK1x/ ,J]d3%`%W(vˁq ՜A2Q 4`JA'4')4#cVpBNp "jN&ܙϭV$O'R*|ѧZ^IH]p6[xi8"1H+3Kmkg BJT.E1*摬\M`ewUAl7 HS?$o_p׈)BUB pRGO"̢MJկ"ALֈ$KL(mL㢢#H#$vE@&`d] "BxWq TŪZ9ˉ+"J]m1]u:4]e!8W=B %bΒzޝJdǠkiD8@YݸᐇhTG&^U G$U:i$ +rC?*R%&CZhz5~t{Rzcۖo466)#P=%xÏz3z8 58Ivq+PJ[LS8qr&ڪBPs"aoAx 98.p2@R\M̀;OztP`1@sج5Ɖ %= o'oZ=1%~#L0#R^)J =BzIJ X:T8ц9^BQ(?Fj2K&Cx+$yTEs.4ڶ5쎓ؾh >Rhg(wڛ0Z5L&0?1 !T{x3~}%xcp;rZVi]&45ɲ:,ǒ7WȐDf;6,3LrH`RuQˊuA-d>Ě>.M%9_<EX( wL,1IeL:<:"f](dLm"hVz AEUԳ1JRU:($:rڶ`)67hB~;dW U#'%عVQ =7E.dƯ#VjY6P}ƞ-Ր~_`T2@y_.Nqk9V>nZ@$AyEN/[n\єKkLKqq6҂w i=3Nj%WRasxC߳갂 ʙ %f)vv[ *]X g%"+sG>_aN $S&DP1-3rH/!JSf)hAgS QD޼a7@LiP>^("4,x@Dib駏h>v(dhv[UI$|@[[ViVav&BPY {һcJD=$\f[Z$h$>+rϺ!W gP*&Z^gb\fm9 pku:O+ Hn{!D{3sf(d*(Ք r0\| xJh۽1> B-{d`pTHBJ Hwcj$3-\otY*Hux rG Đk41* #c19,g5ɨÅT%# ie/|# OZN/!$7uݻ3Z9K9/cveBxW zm*FbMPQBMv 5v88sO /1o=QR?-Axs 8tjL%#zU.fCrs%3=Vh2N~8Yl^ت[oe&"vqUھ:/0Wy"xL& \降6`o?yo$S{M#`X?Er-sB!dאÖiW\3ҮJvӬ)-&ji̔g]Hݻ$̡t`=Ѥ.u>HSW- @Ǻn)ve8tҩCZ;rjk YДHx?cWKB͙<5\K@#am.6Y?e% &}"31 l+7.vnMƕꉷlJ0uDfv k ,iZTUdDxHpQ劌Bculk- (AY1xĞӌ5.N0aNݡ'{eusvZW -@/+ +ȔϹ&cRWKhG)$K i/#80?aN8ZOhuA2ps2}`18,75ɋ'O|kcE`]} $}>+U BxUN(olCI̅P>s2T̺_nb$&T ,[ gxVw-z_C&Wrb4OšvJ=ӓH~4FO>SX0/4w Α1qb*] 'Kݧ] =D|JXYc`,ICHq!?g nL~t4:#^Фf#-P$yE ^i\jØٓ4{8M{u@BV!!0RЁ7,(Tgj$Q^d|1#}tZ2{ުKIotpQ֙D{nU'޵~im;{pǪ} e9X[s hq Oct-℀5ah~2'RJR9IMPoxslV +"ԗ%:z]VJ#G}iZZ10 j\|JL"8>-&"{ q*e$#>v̆_;ɳPfWqhno[6!/q:DY<\삠#5ӟb: e}&Z*Pܲ4"64-H qu˰4e I2非<~c@[nU`-K0#z&0*L6^$`'W*<0S58f %<Z(0% $k)| HܪR ,{Ek #huF=AG䢪Dk( a9{9B q/"oso6& ~Y;O|H \I(;:`M΅&*kܧ-ʻmtk G MT,! +PӒ$dWSRVA 6;Y3L<'&,⇟TGDSj@u|LĭSp8x@eϽY- m{L]戁sb>Yi\v%c 4Uƌb iLբOٱ 䙈ֺYO0T2Vfc'i(%cFCJV/c-C,ޫrΧmYiiUpd&q鉃n G@| n\╼HjA|(b2u=V͎f&. ЋLe^ 9)fd8<pwAMhB2N#6ju@>4f4xdGL&ZD+-:U*Q1r5F]aTW1Gj3HBqQ8z(ZEa"~2Nr;[WFg,E¸ϹH*;綥LJDXc5_/q"iLMjXr:C%J58n4VyI&En7Ղ$zcO#2Mru ($­Qa"3:(/;}Vk ,R! U4M"mΙ^i]Ea/)2za͈ KOJ^H&F'/[ϔ´L" \R&`;TOa^Qr K#ʒdL"Xj2\mᙟeda$)% RC=bAL#M $BЖ&Jj{n×q[2e'./DWvg!Ħژޞhw['pU ϺC̙jbXU:%CWzU!Ʌ`єeJ@S"iS )#QH &bSL(}ȍ)Ya w͢շpgȕyܢwXRm9=QŁ,F˵sY{ttYJ~C.8Vu(sךQ/5DktWC^.],Q ䷑)E9%FgH(S_S|+d}aQ0Gcf6ّ gYܐUpGlkjOYSQi<,Ֆ"2& -I׋q⤻H;2M7*%Pu @7d" Jadn.94υwhBX 5џffL"y‹k(PY[`7n Y&Z/7DL!.KĶ}mgpMG)wEžcUO֏VWQt%]C8'9ؖ i:"@P5w :=" rGDUIU@ ϢEPZ &ż-TFEðEPY} U $>$?L=fTEɟVo?_qq?JYewx8~ 9ǾFŽ#uǫ&rqAxf$Nr+Rs B7ODI<80'` ic)Oj#ˈDLLǒ!h \v!~1SJJd] 6Z8|'ga@ɂi>PD: ^ -.G!:{˩+Qa7.W Pf*\"9J,iG\i-:x'Z~ƆyMvJEI('ձ"@6Z1?M qrhGAH،fPJ0n[J>w%wGz:3`&UyO6ȊKIkzBqm X#ĀM>d<Ӝ$@BDM&t"Snh̚T$OH{ N& jtCk`d^3q!VLo #͡t#ikԇ*Od[P5{© *v5IZ/YQt?: W,T ^h,yjJ Y@21N&ׇ>N0\ 8T n`RؑA/Yi7T4FOMrH)a]#& .8 kX,*Sdiy;;אʣki6 _"7SK6(Bࢬ[ZՅ\&y[#l[m=Ep "h($B>6ʭN}]:Q'YK3AHSC!i.#AnAA QkodF~~s[ĐQ(5NM-V wNo A%b5`y utO& (axL"LRL@](!1MA&ѐ(9$Y eCtxpv~S`4mP J[xÊ=JaAR%]%$ bVBnZaX-=:2N5_oYD^ԝq#Y1sNNA<7.DR!c(7O,fDU7HļBo&cjwCBRa0@1tR^3eju֥HՓb+(-FtwDјUR6sx&f>ZJs `Im!K,f.'Wq2<'*X Nt$@OIE}Hаp7  @k%X- x@M#ca6E$!ȓ,M|=H-\ #[ksW]vZ!bWecbFDXl}bzH)"ݲbj:W =uYWr|__BGcFID-hDhjYq02+2pJji-bl|v"vz.FM/E:Bq32Gܑ۫vܘ-~$TN`od!ZTE[3.PMX/6eV2:2=ɝaЍ?x20um" `|HQSAun촜Ѳ,$ԫHãI s _EE=_Հz 0`7  h ."'/mS2ȆXtVf )8(VI˜!k]ڜ%;%*^C:V3lg[-ڭ-Eƹɲo c)k[>h)Ho%Vg(DCuUPz*bzb7T#Yf𔺣l2}.59gMBC; ƟڇWDCN%|֌e/ x&4 c6p%jX&J"a-ﯥd#m=3E[P9 !MROAt ~*, G@Ч́=,كvF,:`]jEo0zXjX \e$ ɨÆHa|C.cfbUVZ8$•X'\v- ^ЮbȝK9-/mxf 2\MC Tʕ3$}Iב`AbϦH~ܚ wl~ݑpgPHY:j=(jEX@V`*PX?CzAIZ/HU)ufN3|GqTz@'p(=,*+-C$ @G.HN$;,)o)DŽ]Ux6#rE @,#bxNp-'PJXk7qDjr6}&E˙glZo쮰%A95T+J]UgLkiu;}J &Ʋ(MA窍sc*F_VcX|m \EDc{(gd +' KӯmBY,W$ P{eQM6nQADbvm>PELԡ0)>_ZUR\s>02F%p6+\B4q, #(w3([Vu`  H @ȣL$4[lddcU-V^U(qs*h22h`jڦ%PcQ<챱Iȡʾ$*_Sܤ'\E-e$M|&OY1w[)/b29',C|>bA@S0Q9q%IF= y׊[.)dn"\kNwKI-O>vq!f :U]W;ނx&{[_)N&dr`{9U}5nGm,vb}Oy֟g0#K龻%ҭ7 5UHJ \q,(cXyK@7^vPURi~^ '*RyJ1 :i.Je ?OCH(ʢ~ bLH_d#웛$xy0@ -ƚ Ȫ>sBc.sHڥ&&h@扗hLA4AEkVbY'\ER$tg|/->5T%wy V7I۰[W.VT(Ua;h]KbgAQt9O_#;+ѝ-I~hDJѻc >W;I'䪠mŊ (M"c:5b~ z{ږqR9MTCJQ v*n"lűzNsKE#E!_j_]>ISP1俒ؖG+Aȷ/ |KǏ4,SyheWwew:-X@IJ(1jXCd+MҫD.wp!F.&XuI-꘼\'T?dDIl;dx[US%Yw0'xasb 6%# sB:!E ̐iMZ$=|ߢ»78V(*"^2KEZcc^&n;e7+KܾEYVM%k)͊G1u|dK}{OWV.veŔDp|e R2pfؼXo'r='rp+gm8 (u"Xj7Rbj98ƲYCjU'H+^ܧYl*׏ `טG/}.ZJlnjiE%:i4j;0~eaz rET]H=${Txf 9|HH&xFU]xeF0VwK))zeAn%Q_ ,/d4#Cr'H/f+C|}L;t+Ur#ekZU1v;YZ*#wC;.+Y,'dzIC;/NZ?"3IZǪe~Ӫd\ϣb]:+`^jHRΏJ"{*Ur=>VA>XSH$.ؘDxEbKL%d@0%0l)ľ(K:KoT UG#Hr0:HYYýr˗܍Ŏ(,=Z8f% ah ޻0MJQPB&(2 $aAyI`G>`EF!F.,j,( e$hL-xM̍|JAeV< ,F>!)gUj93T&!$rtbc3v\ M߲DIDnG/BFIwI7%QRCɲX./^ŬgiiS&'7Jcb^/ ]1 2eU!RPc7og~'aZ[ob]4h%0SO%b 3x|>AS(F $LiH\B뜾r[g`rDU8.Bsz ]DE &2Q1T&soLy9ip(mB_Op¢dk"Y΋1#Y1d$ŜI0R"˴]y̸6(BD: S͹Z剩DX6Ix`НH˭D57X"" E;m뷷]waˇ0lX)p#] ST܎P_i;o 5:gA-ؕz'B\λbp@Y/M:yќ5 IxXw͇F((L9Ҁ "IW9-&EisaWՙ TM.t5 .BA `0M1.-R)$$4$P*q9LyȠaS6aDY)`)le+FTDXcҧBDl@,=Ȁ7:aW$_j#v" (%"BqlhGH9Ivj5Rъ n@rwFrTCh~mTz5v珺)=nO6,~9ІwwSƦuy3ߏǥvͺZ=PvDG8چ*_TC1a$QuKHg8f3Hٔ."4M9AVi/#L%ɈgCzi`@ ^@mP1(<X-Ձgx 0g;R;T븐2lKZӓy.W^!$y#KHv'E2̳II.pE1sy|vWے<TQ%#;}yN4W# LYC {;+}Ug[qb{WXEKX3Dku!:3n.ISΛtNT:JUXc5.XAe"kofӄ-kQͲ&Y ]l|(T/>^MjB2$3F*}/"? @~i~"%fY A̮Ǫ9(`KSjɺug-`&k>H%glҿuRLWKRH[ȂOI巔"2ڑs6A[,^ÄQ) /s8ČC_Xy" J:hZl4`Ͻ4"{-=*eQ歈'G?m tlW|L2RRX49wo|dKnn3r16k~ҵ[&tKO?l4drV{6vqif9B$RQEFxH/)$HW*,%ZX(``֮R@! ?~#_R{F@H'T %+F*Ht( 1?*iA\wgx'!7  wW9Z-#eI]ҽ 1@X1vDl! >bkEPXܙ,l &#j.R-tK6಍@B/`@Jy@`$CBnsH2BP>NCؖL.N݊f2Vv.'ZKXqoY!g~+S,r&[k ty,ɹoLv Auk"SJɤRW6B6&+Yp_}$ArJLJRԦE$eҁ?Q*cbɮ,^v&~c)Me~2޿\Jv EH_RZhcg_$Vt$޵- {} k^lGD m;IO7 Q̎O%2.02tKB>?&f_UUɌFdltoGVW]N~v$O+ :HvgD+Dudt$QFUq0Var`0z 8 Nbh7 hF$0_aS'bL! Z(X̅m̿Zr6R+gŚ ͗LO@Ag4!_Xk l-[O UѪX˻q.i-]S\*ΟďF/|뚣J㧲[6F0fCT nlnNoòh맺dW%:BR/;(̟Ԕey;lX(#)eD="5sikCl p\g\UU rHIԭ$򮞒SՆW3i.N I3jp6M *Vpv"1뒑CDaۈ+Â2)ѷҢR}+7J ,C|SknMk'ϛZ6Z,mjmyM jM zv+(4d6L^Iצ B.O=V4w_p1{4A7K֓wuZYc~7 SjFEt!DN\tY0;LOїpXQ]O3M .# x1 XF@j(~•mx;Tg_1E_lOċY'MF+<1ϱI-(ui2%5Vht۟ 주ȁyިњ#1TCPjVg=W[ GyW=?rf}dϛbܑ]5VxzӲ!⿤6ܿ0< $vEo6'ڈHo[kT-ET¬T]1S-SkM(vyo;^r-M2bEreG.rɹQB9=\E8UulDsRַE0;+Pj$r-=hmz%RɤBAö|I7PǪ S,82h 2PCyr I _, @l!y $Ws9X0|}y !KܱZãB$jVA be5>TE .cB#a "49(ʺ .K @E!xM.4y@z:&q`¹ 3f>Ȉ. ̯С ;lʄy[tJ|Ύ;,Hf$Ik{+/+a9 h ǨXeNп11t;FPpeQ.4N

|/ eʸd4Th '߶!Q4k] !b)2{\BKҚ:.!`JքiP'0ȊQCD XLPNy T%t$DUh wAJ$h4 2xR*6`ļ\a &R EnmM@HbVߊY.ȗ+ ؈,2^_.ݠKTQ6bFHRGU̯V@' zɈÇ~AJٳ 8H&d%Lk,AO;)5I/䏽cT5YʅB=UaFoaJ0%fK0hAK UPrLe/-'' [YFsR[}Q{1!z gHNL3 )dB0:0ʤwS2P͋+1%2*0*YD.)LCGa7>6k{3H9Z%H?"]6Jv c-&TufnLOmg'PmhLeO܆M6/ NlC3Wt(!öiX?a &ւ؛5ˉ/8QvAn {Ϛշڶ.RG[wH]%& Jl-<8#_Aշ'Yz#ըsʕV(<`w6[e$uj΢pjAHIUݠL*2$A)"'dked a7 J.y ws̃M} JCA&fDS!L6(M5;D B }4ABXp\Uɠ "Tw3I'-抬CƑZ语d;lZe q?*(ùzl܄L# F6mRT_nftU\|>l"w:ygVQ_O\4uXNV n:W[]i*EFtwG&Z*?[vQ8hF=W1drm>5„])#zQ͹ه ,BY2^K1JMw;X %"w1yF|ʱ_G w;jDGe̲ſ?4k1ye ];#[= ITl_[X˛[/2PD%!Y<7}c Ys]S!.HS}J:h^ۡ6:N`/o^Œdft^Ø&M\y?SL[6BR 񙴉[r61h+Z^lL7K W|S}@;HN @X&7s3%dVQQA*-~ɵ("D+ Ki#3١ @'5bRX|O#I;RF.ET>`$:YQrLWydD2MIIgCW1,dp3> cKr0ԪkS%\j|) #1jɇb!BQKӿ [._K·!K+zdVX̥ [gJYHQ~YO;Uq ij6 F]B@V7/#eȉ *bTKFkT1t(([]Z9D%Kr]J׾eҤHT(ךdZ5(>Y0Ye;WIȃư6n*=O@|F֣* 0ZGÉۥ΍Pu+ck4,s위F >[%K1 !tfHdp!)x=0T*bmPnoML>DvIQrd˱B_"6T)s-|eeoc DEg!bnE-ж$ѕ1 NHWYwE#Pb<`̒iNo* *8("isW-q DM)~JTPT4 DG 䄤T+H+\)T1HLٴТ"rxHp@;rF Hh<>Gc."hJr =AE'a)3=/ *4hƹa^@D|&m>lI=_f4I؉ož< ܗGSL/y/90K6Ll%H#Y.9}ϩ#!8q8S3wuEB5kX'Uue9 6rc-9 M+ Bf(=6 Gñ,Gi84X&4Q?_[:JZjj{Ol`(0&* JO}N됆FR~,>:(Y™OE*qHTETܦ! 0m"L*i6gn/AEKO)D,os@LpA3 EgÍ…%. eW8W"e)mrn?(-}qh ^ '5!8 JԳ*p׻u4꾶vĭx;=.mz a԰~iu5۽1)yƹ[3 B`ܭ1RK-T1AId7dR9xȥ$ TϞDӮEN+iQGvw!ʕy'7;%l{j0Il_ H${~ ]`iYt}l gc/ǏUdHx|(VKM:6y#1:"!p̥ƥ9f\.ZSIf>z [(6@gW7ϮyH&uBs&g5R3d"/w3)Ɏ&{QTɖ&+EDU.X9uxutU$$vЌ^Rn1r@*&r; BR *R 34.]. t4E*1V$b,H!qFRRBM5[5'eM/H-&nQg #ij%6 dE94 ,Z*@<@bKŠb - e;y.yUbw+xDP}z//tgc2|2qBg 4Et_sj9*'JZm;#ٶ{&I蹂2m"wDtpw%TBEg|"C:nv~+&V&>ٹRCЉE'3Տ*Sb : ݊>qJ?N)٥^[Hi 4}'{kf,\sWΘD& C#S]!kPjQ&-+Fh0M,Tg",^fae\H ʁs=Hn Y0r6ǘZZ~!X}B:F.qÌBYoٜh3exLu*Sy [cwi)LMfhIZ}y̻ɻ }wH|'̷b}qܼV˂zIf?P.xu?>07b(*x8V bqx=(_zXTs]'cؤ!l]rwjM rcXFءZOs+DzQ$Id8>|bֵE /f4+v69tآYFȶKx*~j0I0df Ic'W>0ɰ4jf.k5(eLu70\BhN_yhTT <9W+IYR_lh _P* %WvLQBDEP!*8!x0+/^I$ʈEV8"H wAdDpf2Մm ffx OJKH.F`luN/$iQa!U6q^~u%4ؠEi,fR*o@&4jM0{(ZBFE !9z|Ƹ RhtGsJ^ :⸗a(ZDd (T&3!FcaʨvNֵ-!>N (S/\"2󆂵A|j⹌-"\sPm(X-W]?IƍSb R(XdCścBI}j*? 8|'K"R2 ?r4ө82 (yq&5f%CY5vB b@(39HEL{.vRm)%}I$Q5oXL%jH7 =AHi>,˙1S3*b[Թk\΍^)IvyGRnf]Ԝ;Zϐ?5mYeķ1>I}PQ(zLw8 5߬:,mEpgo0at:9Eyj LrIvP8#Rٺ'fc^uE"իeՙm,0>"~1:w|\ڲƋ,J!@0PNA5#uR+!%5h%)nՙ\6aFӺxdaKf.K(*)&b ԢNt`6B[nwdj"&I0ZBrgĄzM`DvnUWFbcq}x\:$^' kTQP(tG jQZ+E`8ꉖ:>1Um=4lI5& B0kRR]IW7C=0c ЂiIأf\Q2gCz'upj.BVcMs}` !6u3s\nl鿞Y]^rEE_V7۬?,jW_WWPWP9*G3HUJ2 8r$dZ? HNnC)(VFҖ]y>2;ͤ9JD`FeAPPKDcR𹡃0!V)5PDVϛ>I…3-t8t2MU?&5V]g3x&=~(b>vHLOD K5@,؁x^+33lg':&]S#vi[Qdx/8J= ,PB1bVyfN"`YϒF+quC>a =pYeGl$.E2y" IfrK5c-I ݖ?ArhNvY' UkA Qaj C߾PGTawX[H_c.t2T ]Ve4 qBFcM-KR]yLzU:9SWzSpVo4\o&?/37Ъ N:^ٜجm͝$1TKa %"@Xջ!6&H7EXwT b Z-#%v Q .SeZ0dcY+(|r&PjY$6P&JYTXeZ4;J[g]|020:pbHBD^p6HO1Za@}(g aLa*NRSGQD( :"t)FFWѲi5'Eذ'8Ht`EGx.:t.fӒ/oDO8ȃ%Z*B~I<a+MIhAαYdSQ%I,T~eJOk(HsCP!=.l֟`"%sБ}]l,Qe%וP(dB}eˇuJq %}-R2A ĪY$t|+lh!E4DeʪKY$Â'FI|-YO^rMgƾi'l-̛2@p*"m8#:Ԅ,ʿE=)D^٪:W#Qx0ȼ14VV cHР݇ƅByđ*lJD D `"{m"Zlbpq$.T4d( K(9'6,iCE6o /l ?GμyQ6c^ * F,ak8S'5I28<Jx_PUdK#&$#=h,&,4i(D FMU W(|*<3dƩ&RMmk76[ns"zKNIUD&V%oP6qj*3E| ST63cmMx!:-eCNbZ:vV|E A B"EdhOAhbd،/F@ FƆ %.PX3I:J= C=)~l&Ga`8m+Xt`TD7ce褡aOO18H{LeܬONs#˗,42Hr+\hX%R>P nïMѾ5SnOVg:%<즊k&%L*KAXE%eo&]Huc wi2% [IƓ_stzٛ;v‡mR|>y ,':&uS%u@⨚O12:.b+R4\<8OG,]QNdYPm e&8XpuaUmBNb-d yѸ;iB,3/Za!%j%-9Wla0IɨF sp,xdJEkKwk:?hT!!K*%J?ɑoD{F!O,|SzqSys:oI9XX&飄lB% ̸L2>@eT٢49+g01rQxB٬b'#J^-@U2 ]((&(:{z⋖dG9AH@>l^O8F$8'vʨo 7 )>Q f8FQ5U|(4e/{KD"~1 8 kVO. nI RomŖiŸS0ϡm(W/b|*-:%30O1"e\m(FP͐LdxI zʞBpjSI*{C' PQh8@wG}3'J:UAA8+Ј h QHZVҡō7*2($_,tBEY ᤝ͗CAQb忾œT2%Y2LXSV[yHy 톝T$F 'ڲl/\<`DU(L~ȵ!6xd`(.עقԉ T`UMvi B1]T1v*U W-@t:yɊ.,Byjd]OmĔqRv8&yrn@~fE6I22BR+kWSY\II| "{[g-"۔s_b󨰛fؚQvXRr=0λduXGOGn6Y ؄,gbV0])E NZ2y-jü ^#n ;RjePa1l)a<ݑC}Ϝ[(T BurVa&5XR 7 ~I4g=\ʞz. K>q?;r*%pi 抰M2Q$V賲xEu}Ԏn\qqyʅ梚6`Nq57] 0QeK}>x\Q "nFcLbہ3J+[xqj1-B[tE-i5~R(hwKE"^KBW8BC: >}HPG(lw>(W)Mء "t!78AB#P6qxa-FVb*e8ڤELhnQU\)T2xztDHx_d~kG,#D86[e- WU%C~&<ޮto2z4jZI%rh@Ndc9omFEmΈ;xt)EgbdNMF',0a"^AnN&3j7(e#}&*W51ʢ}iJ-< ӂ&Q1"")LQ Gͳlʮf |Ԕ"fڋH}M$("}&3$pG鬲jѸIPɭ,Ld`e! +(K:܅$tCrK<.ɢ-6 >DžhxhL4' Kv}F*Up7 `;x"Hd$0Fq_- 54Yd%~la:Wa7 ȓCaȬUXF 㹍+^VrtcO$9KȢzdB..$M!ZsDwG 9LkIA{Js:4jLtS#D\C3< mtG}h Mܷ%@0,U1^&O\|XhP"F%[A,/Mma{Z*ʒ':X=ǵ5'iBU:@ף*w{"b \54.8BHitRE߄:F)>UC{X;]h?]U@yMn' VDй*ڦ#?t\ª&.A,㘒]&JnelX)hEOwI銱J#d$)rO,OUF[X+&+3ͧȧXU(crLW7$iL툒d뎤q^4|F,QPia @q"}`P4 dYKF \* )'{>1q)Z뾓eɫ seTkT:燸m"$$\dTxIUܒR8x`&%pNN}f~6 JRXp9S}*㾕hMi"{mV#yU&]ɓF=4$*}.SJ:WbwᔽWZL-GbL(Gd(Mz*VXbP|Y4VUl ']Vt`zOu"$byJbFADˮg*%VĶ-!*!50t?\.+NزKk}UaCQxgɈÉVc(_e6 W0 GP aA=J?%V(ۢX[6q~t$"H hNSV[J"` (Z㳲|X+U"Ȕ]ȃi>}9IyCf\+]^Q21ң)V1J&c N6??D{g_@@iU/}`]}Vλ Ji ZЉ-dQ$.s+guǦ ']&Idmdv+̶Q,eCb^{W-Ƥj j%qmIܩ>""mDJ(__L0YJ+}vye)V(Jà<_ p2[',"u ?H$$E@B n4lWqQ~#%V+ RSbE+=NoG*ps"#lQbEӫ-2J<A+FK)2֟(l'cJϻͤA_!}qgg5uC2w""KHH &!SRm]^2щɸm=AnFŁ1 U6ܼa )dfȝw~H)qbmt +){$.P B)OΛ"7K⏁`8$ ON´{Ȑ4l`46!B"҇?[8F cҴGD@^R2"pIvag.Q̌÷f[(D0V"JF>vUДվsRυ <ˬ^JtSΛ!s-s5vT$΀Т{^ܐB.f!,cD PjvoI10X3H:Ud m(S7LL f'ǔ(QF 7S蕷]Ll]s͊Ǫ(j3//6(^$oiykU7>˂BACFcn!0<2(_ AUt"P@2¸MYm6-dDΚ<ئP(W񏥵3V+kٱ*JmXWmKF')5$Yq`U2 !` _'POudKؽ"q7&+pX;uN_je)P$rc*R^# 沄-lFˡ剸0, ;" H %_PNe:=9C8KPcwJ0FiPĕ߇C-S'pf!)J\]H5̅sھvwTw"j.ȁ Tgq's8wH,,IK%K &}VDUlqϏ 爫4 f&`,?) kKNM38r6lmCڎMfb{ Zy[%"RXތߔk.?}߷o7.g s 4dVud"̭!q=5G)Z _> ס$ B[Yk+v<gm=HٱNYi=4P{uQ tb$H+ADb밌b/KME$iw#IE|)]1mIE{[NׯŝѮ&$8ꀶٜIfYz9 /!@0v!jVWo(E(* d[,\cNT\dp@'5ve&cҊIJ3:GR5R1xݣJe] ]0R#t_{LMU&sK7ݶ-aw67ԘKEvhSn7jg )+{jc S~bWZ>אu;}ХXqR_ޫ hd!+(׿$uk[kx"͎9gR 0ŀ9``ӊx_0V$ >S }ט`(m\ڂaL0[l.`-a`Cp'Ok)=R EC1s&PZt m QM!Bn6V⨯I'XJ0Fzm whQE/ϲE<{F:;< Ȥ}Rʽl-;b:wP͚ cKVabw$1Sy/ϝ:2-Q]\I,@5u”ڌ[1-P$} W[+̇doχvVo ȚIlE.ZC|4Iجѕk'' c!ĎYb"iH 0) Xj?) K{b.q>D w*#Q>i( q%ҎM2I2 +G:A(%]Ddc$_F̶#:G){r"cq۵o IǿٵB KΆ|zR!SIʑ_i}H_w`Lb/X<0Jq+JuN%amVǑ a"զKbD+ u)3aFwioD,lrcԳѱ I2l@ȡ! Y$eR%&X@RI0PI$BZl$CV=EτB&#Ĥ3\>[DC'DmuO$\+0daq54\Qv8 &RQLKHh%tRԚwH&B7 v6&8Ci^~3(ELE X;x JeQ}Qp~kTC., {tLJGGµLtO܎==; cّ<ʊ9&n2Dk I{YׅDi71%S2 ]knd$k-N{a\wEOvi ID2&`¥JKbaf"D@"9Q(3'>r:5jb@"wOvbͮ=2$.y61I&&=-:/ @md7ԏ]nTwƽFR* V p h .Z9 F+J}X}.Ƀ*r?Ob,rjP!)gzMv[v;v)9y1ɓ/d9bNGLUΤ}^V-nt=32_cTydW p`fj"(Rtua"e%oҰ:& z4vGUDJ%E1nȵ"U`Y>UȏHyy|P0_%ޣ舴E}^YbtꡎY#"QMD5>My|NDE+b(M&ӑBcl&Q7>[pyQH A=r!3'eh (CK_UBys̗4F P%fҩT.x[<ʡpLFhSG%lVn>5$sD07J}f5ZzvxfeyE'1|+Tsjm-kw\b,Wl?r8-2ɕˏQToyV%#(L[`fA.@S(1"F%= %B(J+ɵ4G I CGY醍nDDn O3U|@ӍPP\ $|֍ & 3J ==!R0NA/`t^6:"l')oD&sHxWH2Rm?}X&~yurNFޝ V؉-2ĵۋrޚdI/=5N" qDvjv$#Qt &JB֝ |D`Vg{bpW/N U'Y$X.jAq' MƂ \@*>E\e>"@ +#jl].<*<7 5|BrFObXXUV e ZF湈`3SZ;NP !:4xnJkOwđT#eˬTQoJxPtpk5m} -X;Ս^UWRnk>'NY}4Rw(ZЧI_l5@QJ?dƢ챔zA+¹-qn/SOQcf']D GWȊS3jA[`}:qDKѿJĚ~8}#AL"AY'Uӕ$7DѼRή| nEć(v ̹KHPX3 VR%oҧ ۰cI0"ţ]9 3?tx6\jP`qix@t Q#=*&Z@g^G@.Ygm&D|$$ <, Myٮ vAH2bA;" #?`D}sҊ tX\Iܑ&;Y"$[Ne4 S X1‚hQHGݒ>]/B*kw Z##hʂӄW#PZi1'(~@M*tGQĨ;;46U^OȚFҴWTAߌ<cX$lm>Ѳp0=l@DŅu$P8s0l[3 3'aL* ugܨZ1cL:e&I!WةK0N `HБϭ$U89vIldHb/GC> @HA+I䲋>Zt(2Y]b% wJ@F]-?ń KBD7"I1֛͢A+lČ*M]Wi#k"o$㋛H*;-#F$.i̴bp&DitJ6E@P^eq|gqDS;$;9􀿒k#v $7"@z,f|i\oFOZtH2 [MGB~ %RIYo8 a#8K #}Y%W8ёaq%l8֭ap2Fd،T79F D ?edP݋:l Dfir0*(J̉X4AɆ$#J>&G+&fE2tA^P-fK"I={jٻ F1o%ɨÊO EM}kVȫѹ*Ll%_&4]}4K$H}qs* U"k.V2ug$ILG*E=EP$U*uMT3t['erU6QEYU˧]{.YMfs[]{']k4ly+޿7 V=nThmȟw5{Ȳ]w_)^95uVneM^X555J+5>nDbWA Cˉ\c,,.}_r@(ԉW! o\˗\Lo^y/JiDZLfn}^=QpxSp\=M/W6Ą ڜǿӟ, Vc׾TFrU^,„5,DdEx~Ѵ6J0~NLg9͸KkM2QĚ.e9WDby!|$bg7r'u)J`8$N~[soF%MJD C DKK$9bR|F"N6@Ssi4aDuPo7O#_Z~ǩ|w!WF#2:؜ 6գl9OqG#+mԓ6Į6g¾JO/~7K1 iڐ8'9.'XB]LFyo[1- 8/AmAr} '5!Zأtdu͆~p㠥?Q$Э%k#qUjؒxpٳ\-d3U,mKZ;g`43P!W!rY0XEJ Hב$(-o'O%=@Y X?'1 :){BHpA!Ňh4SN$6,}q]U k͝oD;d @@'0dGJ_뫫UlzN֫Qsdصo|=eb_]$oϷj䀻&bir)qU. &ΠoM$%(~] 1TsEJP.X؎27G6p,iOȴmaMoɐss=[$ȶH ;H XhiǴAW-VYtjIsl="&~w_IPD}w耹l#NzMXٺ/YċdӅ/eϗ\IRN'b]d+2y㨆+%~#OR7G>`,32d-約YL XB|[@XCU47ceDJWVවBPp`%7 񉮡o-۴iFWE_2 &* r5Mb bѐ4C0@7y_2r>)NhM?e5)ڪR=P^ }sAT:xx퍈.m:qđ4DQSQO"J~AEvEFx2ɠKkA" AVlli-MXA*X_ ?.pԘ()'PGx֌0DoDO2æ":F:эʜӉBB, p-0WBَA{*݆<(ۆV|͟\ T=! =#ujHzg~qQDFmaݰXw yܞҲҰ|uJ<~9D QY\d3h\ҍpqw,Y(W1 y,(5 G#+#q_InMhtqu8A09!MEa0rqa:X)vEZ55}P=u'^K>;X*hX7o}8 /-mZ:JK4,<#(uswhznκ?ܟoXs!CtΠ̉A֊ G1{ QYwĠI{f-r샆xb &ӛ>PsTwÐwΎ9xNgфИ3xYWW;igWR6Q&ñ_(RHd74U=|l]p~min/aM53bR"éUA4ܾS^F!xٯeb>Ib۱xJ~]U@T2KIT0`& );<  z޾gqpFP(  B$f.7"0RX+fSTRbbA`T c8+r=\tBf ĪYn[iPȡ%JQظrUi I44xŕ+wG1//ta5I\E :29i,PP]xiXq%UEmVwpxڥL~bi3\6X"PӰE)޷No7H3̮RPM}eptI KQejWя/>RIbѝϏװhQQn4LпOQԜtd o {췊#! qOF3nNu]{T]UrH{#4"a: :/‚V0i.+ާ 3F"x۾RuZ:|H3YmƁַeIC{hjaSyDjQf +1])XvRcd*&U ]dK$(!jYH#YIS5Igi71%1yT59Lj剐D\(I X]b-= IOh܄N^GhQ0Ygr/CJ6k\6'+Ț qRr_(_Qv>W"ݢb= [Gn*N /*ψ&K?H)?^pS]AK)&% @KbD嚧Kb1%*azwm b)xh %㰑A%a cf<^:A-3!bz:5 [e !NOC]' ?R+R )v/e)nNŧ50C0'牮YM騯ϓƧiW5J R}'iCj`ASIQtD J=JNBl:!$Q}~C4j/d{(=Ψj<\;RfM4lLnTc4MU)y3_JɖE%Oe`ޝ; 3I'cazyO/qOGzҡ!jXO$s]'ً3E(=Ea>2UbCe,?>.cP0 tI$4ZGzlPNIAfQٚ0'En''C"yўxta+`(ڗi5z 0GUƚi1_MuMVԲ+?Ku2R @[Ն_A<-/'E²}@"[[s_U_2#0E, *; IqNt-e&Y*Z)P7n^XW&OA(yL*o"f12VZb $m+m52FlHg5\H.53lH"e[8IK[VEZE)/It-"D{o[ؚt \$YQ*%٦:]h7Ji_.N_ӉJX˫>E N o6d*7gBp)FT4;~3nFb$t)T"=4`iT% ։NɲGJyѵp@6,s}ě :!_R([cKhF&t$.v•3 hbݒIQf/P9XsxV+!,Ti<]8oYx=*W21S%{M;Nxi¯s}fF6r_8~hVV.Ш jTm|Ƃ{Vbc[u2ҘwdS>R]cU!]T( _UڇL[Y"LB3S Eho7]Dkqp!Hqn;3r:Q۱ QcZ S|;A.PZөYQȤ+F:Q7$ CQMCx)19 % D>4*6Qk*5!Yu ==0m 񅌠z9/|q(i[>P(Hs$ *kkZu@20D KPYJZϺ(JISJlyS+Ah.8R]Tcsu ]{pPM,pBZdj+3R&R/)g>?`LhiFosf(FP2Qv[Dd,h߆Q:ܤ^κznjWxҳ|NJs\9_޺r);#w׾W'!N0# JRce/D}SdY , T`ЄYRބiEpVzhnYc`E+ŅDΦOBƋj@{rva]rdJL܅6, ڢ\[iyPб-3.59%sCGgLFKwr7)a˯NؕU'wGQťWdV҇^UMRX-rMגB*'``*ɈËP   > oHpثY5:8,&>9R6[Y %%PO$\&b/Xdd@8TТtGI6@ e &YZP#$keF]KȮP[K#m 3pTK֘N"}dWM#:D1Wşf<|odOE7 JbL2^( ?P'[H,6\!#mԲ[[T626^J5:isCځ%gېA0)E0EZMׅQ.P-`1g4, tXQX3@ J3DU)Ҿ*;eeS\a#f}Q =Me,%TFE3ZJ;8t,7RѦSYψRjɫ׵"V٠j˗ Q\ 6ةЀ͛))/1A C֐,08B5~,ٔQ0pqNzh_LuʆGHK!3.IB .T,k):T;hJ b8T.4!Wl UY XC3;w+9uj).K HúhE=T У^s_c{V*WK¾M lńk0T&,xL[]N\a5Dz p8a:u~'(Gxa^ooN/ ys.@H&\6gǘ|4 =+<ݹJT)$ %bU [Ϳ fR1x)y|Jtl\}K,³%=6"XVYR?caefELZH\č((eWVJ9ubyI=;G&ZW>-W 9-1Ӥ ? JG= \gAz} S4F鹽@Rz\޾6LT;S$6q|eMGyR-p I%y8YpmZ'@KDi / s*5A:E͟`&`C,Ӥܜ [ms[4EE^COr@%Յy e9I㖵=L)&Eڠ&wzyC^X\ 2qVlC44HV⌆ k 6tgzaq;!sd5Xtݸ0uAB;_$Tq&Sy܉,1*GÒS PS8HSUku cQP3?7vL%ed~9V"A(lb JY:b"zye' ETm kR q\XGݚH FUaron wd&^3D'v#!V&/$!vGpGXPT\ٔTer%LWy Ya-2g@5V4Cf*5v~,hܢ7R-f:%ߗȿ&4u=ܴެ'G!  4q-}8D<8bf+< 6G L5VO}-T3^տЮR$n#FЕ ޭZdٗʦHdB$JK6y>zٺ;%zXޘ  YtΪd6OD% ^߾; d1fD8% Q.8Mbv]? 6&j~'EBI(Oņ?%ɴme]HOnl'1>Qeti4[xЇ <Ҙ[6pC47&lW;')1\"ƿ"x|/ 53AmgV0 GH:\(R P)jK; -%n"^!\6˘# ;зp?ִۖHLӯ'ҹc9} (SHUqL vc(U8Hwil vy:.c=<2&o1e_a#2"! d$1>A c0:bqAE xY5N!f [p0vecb"fNB ,Y#/HvkكU@;9q^ɩ&N0U/Q7B|+eLF|k6N{)7#=ǻ0BD# 6җIԲ^!q w@q*fD0n vAFM褒,IHR% 9H7{'wa?Uڇ&E݉v,91WJ1ӭSR7X3NbZiU7 '%p$B)=Q_OW5~>*?, WAYsVl-$*'Pm"4EEM>Mz*qZ%L:n2h?SM1=^'vj*ok;Aj BvK91̡l*Dꛂ wLs(uk;90OG14dhQ+|u1d Y3ΨGԴ[~DОk3/n9PM*(wD0[6#Reir3Z(䶭%lչ7=(+< PC;0/sDEoZRHX0K$b飧Oj%]QԲ4FM;Ԟ#*чSTrdVK$dr`*^Ƕ,;`i ~O.k*9.T ˼$mJVS3"vm>ϯ 9)ȎE2˾1MxHyN$Lb5C*JVEG_{0$ I-dM#2);< OBתJ+U؊@{+[?G?}%K N7U!s }F֡ieiE2Vp UpԂ(lDx2cWYCIv<)g id$k)x'(y\/ٷ)WdB4LuXg&h:z>li<0WEՔ?dii ;^$bީ筪QIdH4Ňi=GwyMSaɒ53UVR*Yc0Wꕮв,C#Nn5R2-e(HnlFyʓI^#ĉnԦIݫDaᚄUhryTN1WQ(*RB\c.Ni?RTEKaE5$NrYJ j$f ;T/W" ^~j v9"248^1d-$\`Dp`_2Gd+ XTv!Kw1JVhܤRbIhV*;a2ƑU"(JV'ifn$bR^a;+:7-_[֫Mf9Dz޿4ܲ Ȋ"./u\#Rn%Ee;Ztk/Xg ܚ)Wgcl5xW(iZ3G=,Leg[G E; 2["RT}E4vi~-DDtt,&W\˄=耩A(&րVE,4$>DjG'LaC-:,'ܷV#?s62xE/ |`#NX͒f1ӲCgԊfQΈ gI>dFwɐQ#jyx/3h9®iص=LHDi t;bدt/mg t8yp(hV0Ha^[g٧6K_bgWخXTiM-FPk1(0+ $#~SiVMt(jۧ2_vU0v(lZ)NhΰO94C2AI)!^|Z°6 #ǶBXSu96IS)RBs{Ր0j̳>fB7H*(-v^c$т]ljE=q&՝ocOQkvO%'٫*$kW3AA9RTLQKOz֯kS2$xV!Wm\(j"_bV:Ks+kEaˢb|zIђ6DL"9w1M(u_&N% {!廓W'ĥf{--#Ws4;Cl_GS=el>ZQؐ >UQ‚-NPfJHx`LphZ@6E4Oo їJnGmGJ!ã\ۉ^{RVh5|{۵47/IɥDC$UjUώR(ݓm mؠq[ŽOn&F!>H=ћ`X*8f"{KzX}Vc2{7ٸeJ&G7"T@mc&ڸsȔ>ȊTܮ{RB`-.%^ IIriM0-+1, %wZ-1+6mhSQzWAtN+JcU2DzhBX|B2ὶ9LU镔Ӕu30Ȍ|M֦ Gzё-nDd|…eKQ1+<^[nB-^h|U&3&#/(mP =wƢ?y4X nz8= Vҥ6gIԛZλ_y!Ag|>:MӁMx>Ӡ'- Ɓ28JdzXUؠb?fF1Ya\C\">=4|lO֎@oz Vb2xRzBبqRI|0 A3HA'\$5lp$ҎU$jzڛw|2ӳiNKd5x`DU6\4OaQVlmĢNWT&z+oWhmG$ETw؈J8w2j(u4=eIlǁ{]$XkB'߯LDgy4r^)tw9_'TmO†|4M]b>^ttbxr*E MPvmUJ5f0mחqX*t3툕I?uh"_wF2%E*6;C矖P0˸fd *VVSI`B37Ւ0&e>bC E~ihBd_D굢ˋ`urq0쏄.,A#cL4&4/I ^IEB%xAN)e EJZ|h.V{RC0k2&{dj. h8@мJ"=ԹHQei9rݮAޝm- |#mW`uH)đD\atȏW)@W :i&\PQk#)%CT9Hnd?!7M41rY(soK=<1hP3@/5e~9nk}B~:fsy-Ά$yz oxN8ܫ ˝:x ݚ_eHs׀1%4JPnlLJ! CY1K15Q RGci`CB.m]{vnpgKPZ2&|dKne*` lYr6&yiGw ;QRTy:yC6BsƟ&D˜d`HJN?/aZ8 \T0!iZS;

nDN^Ql< gHԣ`E$.yyU2Kݸ.EA}VULbdB޹d[~4⛜۪cE$?gQZn}(C@iT 3 al~ul͋o2k lkfbF,1> =U7P* 䀕gq!.Snn lFxJhk2u'mrD7t[IzNypґ" PTEc&%a,2t4j%ll֗fi.^+6QkU=H.(F?B ;oȣHgdj5էԝ}j>!>բe n?n:r ФحR\ra2V D4$8]dР#XpG >I< T$.Su۠rsbE."rYDCr~s9.(,F]DԶeC 1p@R]wㄘ!)L"m= eF0X$ ٷA]im@,WLGOgODi$aQ7bKUn0ugN^/{ՄGԊ2̽f )ROm2l5bhb4S|fbYpJ)$..w=cwƌTcq FԀ'̸&!{Υo4ZKe,Tl8CW_2YR諵 di8٢Id } S1Rp 0żhWq3]MleKzKmGMDÀ90 J 'Y0& }(,lIۍ9C|jYF,'B=PM<\Ӷ3 qSJ8VFm~rnW_/7zUav' U)pg@•B5:_UN:>BZKKpƎy2 YADō"Ʋ8z"^#6z*Tő 䘹("AI:fD@zz54`PS[A ,q0byTRepTY@A@ d'A \mpT<"kz$[k6`lyu :'B>pQ,ϱ5*ar2h\֟!i9""BnPޗp:% =aׄW7Fv>t\X .U*?<Kl1bT!pW^趮E'UE;FNҤ,BLFI},VD<\8gHSC~RU0s*cف3"]e=9&e?!GDE6QΘ&8"iw]RNjE3k+U&4*,M"Ȳ "Pg*Rʀi3P J m(i a,j,{ʩQ? nHX A.A$ EE/*zO+hبf)-G1qi9)cw|jU W! TwtArE mTA;]P,XD ɘͭMV6 EToRtШVm:|VmoEη蒰hk(5s'*9xWg9}~&*ɋ|fC Z?Fm3dȘx8CstZ&:+iP8mz: F>_R4M7>#DM:xHuɵt)*I |Fd %X lJ4 z"PJ'd^ Xs$`RZʋdPHvD!n' ܍K=3|L%jE'Ōt!;ꋷN"ќÊ$pDPHe0N])qS-*)J;jgY>u{tD?[Ĩݛ)ëdWCT7Ŝo_$/>_iKYꒅ Jw u.&N :Df󱌆H3]+3NK54N#9N`!i4cLEfRh ј/ 2\xfѴje BeS}y:,@3(v* 'eqӣ;Q#J8AIa:#P^^]Cq fY ;?I o F!q13xqReAҜO# $"B'咉W"I NhP.j;N;@*|J6Z]%ËJC9aUbv9#)$3z$"DQ6պLM4*Ԫbre= 4޸a&rd80fLI~UM=\85 @r" H1œTm 2"33w  SDMXeŵ&HKAJŠsQl/-%Ѽ\5-}n:6!/.wd*1BI+`N֩ STĻ3&GQI ɛl#%A XŸ @0,h!9TqH q Jkfep &vtEܙMH3ʤ9!BAX?t#V33%~LDm+ ' n@r78m7`< 7;=] ~1t%h*+* zy"eVHS (PNK~#S):/u$%D 1~,DFZOvQ;]}|ҿBvvª`]s;s6nׂ d7E*zۙݨj֮dE~^ T"SYrY=٤=Oc>S2Kj~@M&i"C+Eaw,Ocb{ b%Je*k|olT;]WGe^;\[(iN .x3,Y%*(!af7,jON ޳D#({vSy*+Q:Cc}[#뤅He{f[1zd;Rj&"ģc^"M47.1hLLI .Q {++Am;wRa!P8{R_DA2;Qpd{bRRK2#biI D9Yn|,]Ӭ̨iDTtJ jt^zpj+0%]}Wc0Y0'GlJR:X@^э }B\'q*qֆ7/[R=LKZwJw|]Kƻ/29-g{%s}O X+XMͬcS'S Z-}rҠ+̮r?dEM _O0^ Vy[1$츉Wmy4ߊnѲ>ae$xڨn[XUM1}Bd'tClgsMED *eC3bYJƱ,8a Y/˚q&0D~)q el.{Jd|& `~t!9:{2N삈`7[Tk [olxzIfkүx)~MgJm ? oԣTg6~ *v"7XŪ$2;1ʄ/oTJz_3i=]".ȁoꆦ>GsRzK)ajibJ .hQFڞ=-R}t8dz`FiRr -E3)t=4Y,x3s&G ~)j#>ΉiхkB>,0F>s1c GGZW"%UT‹ߴW=j&Pe|ISx7ipڛMVEˆAeFUK͊ZxP @h"TD̖4al$$,za8<I{19z&{Hq>uH`J@H٦Red&⪟I)\e=^]#DQDHY *) sjXX>?AX4Kh;,8&!~RY V.Z+ ̟0Gk awƊ zfb.K2V̾>]CFQU}]$ȫ(Fhq+^~P"V*v/ĕ6|A eH0~>dhxy1PLJIB N(Z [S·s ݪ0A uߖ*fh'ߊj4|q-WWA-۪QΊvYt!M˚b(;T kҳ`̀ԕ~8(ii瓟;"L0D*HslP&YI'3MIAdM(X1WV(cj{fkQFmliw۷(e4&XZi쇮}t֕+K N"ښ#fŒtg>ۢ!WFMZ!l˺֩Ziǘ`H-#+6~0 'q?ub,I̧ۧ=vr@]KP-E~%IsR[N'I?]gF)b 0S2%~EK0n-($ZG_$؝mH] V)JVUnUV;-"I.̑OFWoEw'%"`Lh$5Tnf x%}>PQא! Ϳ.Qv8" Q#S,cE|H(F 9n+Թ4ґwhP؎@dP'UBI4bh= 'd"=ҵ9rPB.JAKjN\Z<'f$yqZ4]мFmꊓu#K,'v,ٹ\m}#WHf?Ӆћ=휳ƪ`('Aɮ]!9C/$LL< 2x0ɐ@~K`ƆRo 6.\)VP4=)"p?K+U~96,Ta"ڴ=&^尽$ f%QF4Dfm)NBCJDbd$ũXI#44QsYee,9uiՁ5!.;œv0"D eOٸK+bl(`d{ܱ_{u;թ4IY擒UZյ̂fR"[Om(N[ 7liلI*<e)@H&@ ^| @<\|HDy5`'gG;hώVqXA)QAAE ׄàZfj(,qWz\!\p&2dKgZ]ǿYn5YUX% Q 4!yI]͌ I^|)#/rHG{vZ6ٳoJأ7Ա54)蹝 CQ 5+vroHx}h ,b:Y*O+ZY( f-J 4Ѥ`Ӣ Dj&u64V$߭u]P`"۾?Jޯ"h-]zd2İ,/zf <ϣբX`{MhB#ef K[,̀w~"pND @MC8Yj4xrK?q7.G|n}ۃD/hh-EuMK"ٽ@G7J0"9PVFf t&S(8~}Bzr4o,Ŋ&&a݋h{A<Ȣicf/G0~×6@C5% #D_`l i!.s$H%3]!ЭLYaEx$ZSV:ˉsI*S'(z&o&aTn@Ym)/#KiES!|WtQ6I60ͧ Od4iE) PGEb%x\Qwtrq~dj[wd+6n- %@,洳"P7w8j! KQVFwO &KkI,\,ӄJ?j;Yc8D>w2IH'K6آ{ $ve*x"0HW|/YCWP$D]J b@JE7@&=${=CLښsjSh0 J)֦;5Ĉgg?I,4UzP>E&M$*Xj͕ }U":,L5VMc(5٠tޒF(H ,eVH^;䄵f,_j.oBHC>b 'bZ I"%9pA3 [wQo,EVr֓`LK4Lq`wZsDEjՖ?kb%a(/eGj /4zW."vP&A|{3J}`FJ2S2'v0[QD{n%t`\.Hםch>idHHO4~Ӻ5p$iHƟ drWGn(U]EdQA/*#dg_)F+$/:irSǑ`!G5z~dTz_=tUQ,@uCPPcɖJqIUgw(Lw+(c/)D0AN&b4:KeKpeݘ9b}MHk(dG*Ω.SJcLjuۤ6Y5j$"3'}3vXM'!VTnZG(Bi:T#~&㲶^LX'<1rD6 w)b+bL:襛9I(v,@ =[`7GҲ(!RUŐ.C_0qW!kO[C)kK㚍fȣEK?(H .4iyR`"Mw_Tj+x@{4ȟ}:`Yx z0J"oH9.ucNEa &f{".5a*k.ޝ̬i|bb<=N$;QI# Bg#QSDU3yrJ$$ N=TK)!M8r2q[ 'BًY*lDr̊lFC`q#F=SlPT3awyÍ) tJbLTe{Bij&D$ϨQAJlaALF(އ4-@Bqͩg1 Q7 V@@@B aQ8 @'&h "qi)xf$,ֈTJzыQ 0$A'(+[ǘG-HujvBA!FF[~6(@U0Ҩy^&ktri̱ĵK.6aS.dkވ,&&D;) sюe^UfϤdC9 ?P(":2ڕMD_{Uy 6NR%bIgS#)Odcv~ze5:n(=WQH l6+U\D R4FEBW).HZK柨:t̼``53dD* d\ɨÎR1nN ִU ZhN 5LX$<$ siD ' II.I⨓<'hdHȅs#g(eդa&ٹx;%2c"aoB!SZ'RX Wˍ M(iBr M:=r3iƛcre1f!AqxY23ET@!DOZ%S÷4xv@ :߱ IjxCç2y-kҒΌ+DĜl61d}+-}]I, z1U ~&s wL9,W!9H*:$"\S"G &udo -=WܪW[IMECg_uʢ#t 0D98ɘ4pl T{ƆK=S"ɏ`Vkg{%SȅUQHniAt+ʌdZ܊rփ)UK`xq]Z{d|a.m'62,+OD;K5%,Q'),*(iJQ|h2R)  nZ1=T0 "NOs( 7/MN_ϫ[d_3M'd \7_BCMi$I8@U J>emE]fğ-E qX^;y^wI'[ ,(!Y s+~!V,^IB85s}7\$_@ D(t2Cdh0E3FYk$KD^D좼Q#4UWR Mfad6fx"PK^7Wy gAiэ}!Uu)"2/ 8`w$ R֬C &PÅS45T\!{ :iF%79qZ$ \m޵$禼0"ˇIBr"J%]Ezky"4h돱<(r6l0a|eVY&eue8me9qKѐp,Ա}S^]]_,3b&f'&0XGU5:XX1(;{>KNa yW)4FrACm R)W' ɑo/5tx&Pt)w(YZUEI$3NYwR U6?1_M( 2@eL;U/ۚ"q=_k7kUfT}}!s H0=b/a"$ ezt[9 y,-r'W.ݷ 0$):.JΏsOm )J-**@KRbw7ч IL'F6[4/A@VtJ hXA-@ (2iUM>Ag0lЈYZFTd[>CE[d$"L8@|>907J\(-a&^[4/MN Xs-#GuU&~TVgL(Vn&`/`vLx*|q,XzP&޵[2?5eL޹x^&FPFc%TXbm 2AtJR/ Vd[-!h=n%/)/ f]\HN YX]:ӐLCq+LUM d;ÇI)aUemU'0uȴ֕p.\M{x]-ؤ:ڢY]´ dIIa91# HRNhfC)%mU U%5F LHSDyHY!&4lW_XE4&$L%Qˆ% eǍ|0/i$OUC.Β(u(: 4] g4YRr]ǣZ|r҉ZA"yHbz=O0=a _d|HH:l;"Yޢq2-ȉh7zDN:WJNײ ҡ~ndz]JvQ=>ēE7u&YfJؗKq$%!LAk[u~`Xd[xs#{q{u$4 ԮǤiȄX7ghVMhDAa(zA0`LTÔZ*y[u  V&`LQZ4X.[,& R&gAݱ@J 8Hg .%0ޗ_s$Oȹ.| =ȼ_Dg3 (sj2)FzldKZ\>ԤQqS$zDžl$'o/-Hx' TX|E n^sor`Des`*)5͞kDVqRBt#cnZ?D(S7{݉5.ҏ '4pj,{ԥhiv|*J,`+fv/QP$Ś(P,&msqD s&MpU!FbIA>q~yD'.B3vXQ0$OVmHjWʭ#aj{bxԗ" qEk᠗U D$FD#R\D+^9n__όUDݜ+H+bWݽQ^ &2-? pp(Ӏ1?z҅?^ <y`*Q$=сAƹlL#'SFFY uâ7',^3{ci슬JSUOJ_rƀ*4k+A=z'CsDy@RBkmub2LԖ-si1)4Y&Ylx8@$Z8(+~onϼ]z"&G1!u?F)7u {OIC9HFJ|D!z\=3Ś:vUtLmwdaC^kmon_*zQQQ %i] ;MjJM?66_X >`a5c=ydoͨxsir8&SKI +"b$(G"/S!2+|M iiR-,L6dV]3}grYLYBM}\xsI'k)r5+Ho "^M'j Ur$z2+vҌgQ2&K/h׮qC ̏⺬!2 ]qƒ5>&@4LX zD< )A ^EGaIAMo.!yEoB(t圌vXYiu(X/h2@\8KHqWUh^je֢IsSKmU-~eF:'nAlr&Z@wL_5VV&CGO;'_Z:2E1LZ$Dg7 5X9jd kE7-:D3fӮc_Gn,C$9iӮOvER\MRQ~`V^t27tdbkIbyqqPGٻ&D10gƂWԳ!B;6R6!Iq-Z@#|H"l/  `,VCS+sF8?)=X7gXѰp̍+F! ( A%5 ezf0FD<. h[G%@4dQ/29aͤ*Mވd{kd70![z=qſ5\T)0ЬʓtI>Ī.(_-֫ҼNU>')WcLNvH49kڥAs$_!jNUWHw-ksֆt9ikIhm[p\~_ߺ#tPNLu[2jfhf4yr}D\*MD5^!RIHSۈ6:.qdxt>FLҺbq񌚍h,Zw]X^NY;,tZC;jzlf@@~}OdyĜ)BMcD"VDܹ]om.rXwY#kSpC٠ԝUpy/ /:OHO|l&Zk*& 1PT M͸F۽M ֔?A]YS$OhxQD/?mjgF Uj^[""R+o="HF`ﬤ \)u+~vD"+]P2 YFQGM@UOlTЦ2aLSҗ4?{Dv0eUy};1\ uR\ ĥCŕlR 3)uxlSJ4 j(֚`lSۨ5Y=3lYbse*~,TS)XMHF+L&RkM^*o^!K7  ,Df3-EI @UIE1* 8 'EQ!A:лǔXLӐ c0XxۮHQw[93>]{]VbN-$!G l]ɣq:$ȧ) Q2,̣(r&6D1 vGiS0d-DkI(&B-bqɋ(]!7Mz ޯ5q^o鵳yPGh䊕k[}̹(RˤWzo8"hū?F1.sn_5Z}x n aI1К0埜hTߕȧS5WqXCH],NNĈȒx3m2 &pEL  Iu&?MxPC6hOBғn$]-OTFI7-JPc὜M6~%]ǻmIꨛ5ݤ\aLJ2Gg{22ܣYbkB:F 7D&H0ar 3ff#LuɨÏL ~ ش0GتTG%g$-Uްxbfn,OtX!Tk̽+\MYandKXQ`R1 pN;d0\yIE(GEFˮ/oIܹ 7罍fxafXWVٻnP7:`py3l4˄BH( *?$K=śs*›%FX"ԩ`xrKbiv:ۜG5WS%w krSte<}umF#i, HJmBzX WK7i[RSe*:4;8d R_PBK.H)Ԯ: o3"Y`<(@@2V?F#]QĩHF3-dd`BTCFK3SdMUAL>8u;z)DX!>YծH1M*r_Diώ(gr BvgwgK>D]hDŽDBξ|oݗb?ݦ,X0a2E vh溞kTNxDVoVk"ݵ Cʁ:Jy !Qu}T.IlT&.I9GܙRU4In]ђ!\BDē]k"DIp6fK xSGKMVM,~Īz6$WyUZJ[h/A Xز3aEE87 g,U9gϕ:V)VQ6Zee?/H cHIqZ⋂Z9QJLލ%%l&<ݝTfԪ+u.x@Rh g(lxϨGtjCdD8h]"eAEda-U-kqw$O>MpO 3!>e'RQjꪢ?Vў-Y9UUT(/5 [* }eStTk^傫Do痺d&Q[Eбb:sA[QCK38uI6DgB$TTpqؐy)*l~Xt.ӤK1ȑ1v.g6@űg6[*, 5R3-})L(K'\8 HaVG\9ːf=}#GpMQbQM8paM]CU#byޝ_\HZ"Z֩txRBvdžs]%Jkbr2hqx.BWxI鵕PP~Ou,ED낂jȴ7QZZʇ1I۸),3i-ؐv}F,CZ?/4;Zj"Fo#QwI8[ MUy Vh+Z~euXwߪ .0Uψp5fEcbK(\X^xİj\b̰4[Izk^ { rEr"J=$3}-xxfXdx_@pXDěZx;kciշ K4"H"iapx eň gQIf!{C$1ndK95^w=1_թt?AUĚt *0zA4hvm "#"S1 Pr8S( ).kHnfgS7wA۠4@`uʘYRJxb䜤gI0UI2x)0oU¨K_X,G'wQ0H78Gta̟י]J#pTصqq] h*oɃ5iB.HLYG6%cfaʠ(5R& #E$#E\IT T MF\˲XFh^b S3PL`p$DO2RKV8ퟅe20^ '0 mv-Y<}aHV4' kū .b] SHx\40 ڠmZ(m `mF 2fX: MRF,&崗3q5д,A;|rrII5DIK]"$f|A^rWe>=P ު*Z>AbHsYC/9!r+]bA`'Ih֡ ȁs+=rF#"0>T`\htN,Jd9h>&GS6duyePHM@AADo,t$kbHd D06Fmf&bt"#굱8' aLCl( MsTImH+&Ki zQ?D]'A7[<.UBr;M둠biɑ")h.,κ,ԯ|щ6׹IHb@\Qr?|A0@7IײQ4!S dA>I(9QҭuhI .%jk>%| UDzeR3s%.yaefQAdˠp$j3u |6z)$H[R@UbAYPd BK7B pXDzEbݧ X.e̴D8%&,VΠRhi >Xf `^RQE`T’VȦp̉iE,[Jwt_>/Af2:!b(\9T Rd?¡E`ClgJ@?oTҡW Y[&^(DJ[R5j.t 4b(FBFhN|@cN2/QځJE-F?'BfȘ9:3ݙ1\ GOT`YɇB%0WE˶R$ /+oJ| ڃ~,B#R}-=*t&Ю95JFP<8N~AO9_$1 ]{҂pq2V7$+Z Ó &XԢv!4 -)1r-Ird܍ẙP(ɋ*(a @"RdܟV V= H +DwX|{Pᑨ%2F%ޭ9)&r[3ꏞ"qI &5 i(j+FYJ@xGcJWB5*m 4bwRr*Lpj![=YeyR_mח?_8cܮ!&[g%=!1$y0t3Yig#[qT̠RHKMƍݏDy 2zČ.8'JOx?hS tG;<_%.J0}k|UBj&/Pc!XFbjQHޢ+}K&b^Iè$AWl$*uLܒ#{:F0B#@mBL[B;>Xi&cec+S3#AB!qIDWnx*yi^!z3sL"6?3IH>8DeucWȥ֏dYCTjj$'G$@ oRnPAYXn8J>)v"*UXFJ,i)RNX2:IXu3>a ,,+{/[Pќp//!N=L7pdhp'X򂵕:mMklY-baAHPɈÐVmKn9D(U~A8 n$$+VgC%~v)O1 b}+VE)ڨ=bi|MX eq*zx fiei!@zIr.qY&b! {V@)/wڊXzR˵Yq {oBыBS`a2;)U{3 Kd]ywR,ŶY%h'(\aEOVbvSBWƗa* F.&*Qn{$@$婒2$!, D}TF~qdeK̘1V+GuWHk'EډPX+Lb5l^5meU\%oc}Ii JݚbO+4:T#mveq8  s`65'ŀH #)?&4sVQag%2%Guc֪qUz$iuUԜ_#'RbUndYVqa@ ɍ=,)TM<r"J2!(MgKʷR(nHţħA#2O9uAV&D428GX+%2D^Al>~bq,GX $UThS׸ƗᦃW6[^FVmHg]Æ3 ŋI'cIKG0m=z񃖼Zzr _Ҍ5PLc*E1#](KBeiѤ#{ =[W#qjXg[BpUXs fTСy/A^&\X Sւ6_aTO8?G$&*Yg|5Na+Wِ<ԸA!wnO&k#XZҐF[Ǚ^k"J M%4KͲxP $W\'|)m0,eV1t]_ҹUJ'SV#4)34e>;{_dU@ExPٖb%50\5aN<\1۰AYC{Cc9ˋ_ \|.H$0|ep/e|$FzeI֑YHnij%y[|0w% {.)?WNI0邆3!ؘqBm5ϣ9VN!24WCz8cepi'%v0$~KY~SMĚA*e>k5:BYͲDXO[#' 2AȑmjjH007A:<}ws0v))w:ъ_ɞ"7/\]ƦJHKt7%<)1z(U+Űh}ITYy7_G@5ɖiX Ux-m=k@oG+egERDCjwd/ƃK՘Kc=6i R* D&M#Auا9{uFZQgQh+'<+*{J6Vd܎tU_RDE%Xd{2:I!]YllEmS~gMB$H{RE (A;" ,>{4H'Cq4/WCڄ5։!.V鳳yV1z{?ұwCL$\p uS>xHGJʫP/jnݮXg\r}0JԕSHTvK@ԽY5S;g?moZ| k_x5̏{Y֢ʓ1&2E-()UQ?έBǙ쮰 TP9 `7wO2宎FFbrlͧ-b*P8|XgOU?m5Ц8C)5,^JWه2}ZzdQ7(.e.Gq!cM;,#{i8Re X8kyY{PeMg9@A0|TxLeiK`hJ:';"7B8fv*u9#T)e^ ޙæ&dդhWYT]])rHjRQz?xͤ6J= 7cVaJYM>vHH1۷Y.1oKVf,I TzgIC MxA"qԭbJiF0#{Cx!+' Gރ4{:"jtCaIehdOb]ID\^*/>QL~ Eo#Pp cY6ńwґ&ܢZںi3?Y&/ o q)iA]"+4xl.p* M數2QTȼLF9d =̫)JuOҰzI˻0w&gx+*WIahxqMYOf?J_nǺ3FlY?[UANbm坨 XZWYBKwt[h"Bm{/7_Z͐hfG c)C3Tצb8,쌵\H>tK*7gL8cl?±/thΜ؃:y l*]6Lٶ)OfFwn׌FMǕ%:)ʓm2cAT (d PO['&}$I)A+噚B5ԑ!:Jc@T |On%=iCߡ7L ͊oqC D }})uݬ``!!!N.Вʭyxv:8+d7Xr5탞q97t'p t S~ G掏 vXz(-Eηg=5={ {)uyU_|P6c"kCm_Zj?QS}j:>99XfKcWuw+Uhw֋j\18R~EWos%rn]i^u`t(%{IkcKmuƢ).*;_w|z%fyElmVRPT$cOwkm[ykxd褸_e.)鮫l.k,$trs,N[ZKZ{j -M}ԟܳݥe_[ډ/XsiYAgaiA[S]OkkG*T˨?5Wҭ&E)RH&f2yYDS[%{}%u K%4q!;V[{|ו2jkG$ϔY'-olj%eԖN/#-3'UVȬm$6_u>H4]mYuEoao$vI|X[xe56W4u$.77]Y$8ju_Wd KD֖owA lqx"J_yس$ڒIUq["0%툱zܓ/7H+TH/kTZKeDβm#{{sIO#R}_{@թf}ei{X ސ3sP.ꬃI\v-cyLc }=3 \VAuO/1/R+qD5^IJFmf=Z D!b2[*:7v}X:Ne "qCakê5a5lsp 5,l$AHab`Rf1/raGՍwbb H[R1 Hj< 'TG+=V)T/&rq?*S5. o e/i8α &qJneGet]RgB+ǜҪHCm ㌠^ 7wro6#K4Ԝj3*ݏ}d̻P j>;M* KQ?;pi"sf=Q!D@|)K4 |ETN&|J Bw:+ɥUWgrg;ObUn(^1 @|bgboN `7IMK/'kF:(7mu%@Re!yakN_Gd5sVpLOB&xnRz2C0SUZR9^g:H9Dԁm%A9! {ҨsnތZl1-٬JCz\uO9NED"K"7z]D '@ZK$F%8Ʉy㖹B` =zYYTrї α!]~R,ȲDMjmsC0Bէ/fKrb`kzB_~9 Jud(X8o0sYpWyO[VP],<(lϟ . ! C9  #wBv.в "|JQ:0W?S@e'o@ ǜҩC F=hWͽrj716`˜7ArXӉf )~(,€b_oչ()[)+CWiZwIAT A?|Il|WEbtq7+ͤ$[Z*30z :դ ^tj\4AJtѰB/MBIT(}Fڰڭ_d߆i!B+Jj)c1Y-Ez_NVZe0JYV颪#B sVK"8KYu;>jt=D(b_rENE\+ dpB(W6X"M:dY]9F mj\&ғ0}";*)2hrtn uֆKOmĎ#b{mP#OZwF">Њ_M^K=fnIXU57 KudYdY[Cd@s!3V_]K!O ~Pa0$sY|i'KudƅgBoJM1HHuH:e9Pb%^P/q:T?3D+7)RL"L zH:W Uql(y;q_Z%.V h^Z6"χ>t8`>3+uE25 cS':(FZtX7̟#`VA0 dK+Oc+;֗p D-T!+?mCуX7a-8!4aΣɖ%,Dsi",e [mGd˛02G6?*BVO".YKf eлʕ:+`t]VO˙ 6$\۰v)vmvi3.ow/͘>$b}7'2]{Q>OV+׉7S"Up+e h3I nǙ6jY_.]A\ %Ɲ<AW\Wsτ+梅aT@aVfYT%g;SW:SK?CHKss}e<}̲,'&>i2ۣIJWtvF(0{9X]d6^_J X]R~Cnk!"zbP!6ympOIICY!DSʱMF.s{TZ dG/F]qzzKJ>]4bAr>7hxPfJtxcDyM$c+%טJM ۽'ydVLoloJZSҳ`JOAe0MJ &L@a[Tݚ'MSZPq [.ZÔs뇔'*s)ZĉL?Vu9W㷒!}@ +B"Y#ݹ h/Ѭ_~lĹZ8Q^H2Mh'\ByRө7S"#롔j7ҷNv ȭ+Mt$gZ4y(2it\a4'a#(]%{3ϗCLK }Դ"֓,` e~ 9(d .N0ygx<PQgC_JTqڼt{YڽYg|Vrp)ZS/F}Q#,LAҋŅixt^ЊͰHNDRC'E]vad7mh$v#h"A2|`d|rϢ8gm;.Bꤳ\Q*EҔT.p'y GkGHЛ3CNLt3cՂP3.5SdV.,<8q/]H*珥 hI1fWOȔQ}O=,(M/7-"L'Pʅ܃-d2S$P8+V51!*Ko-c*zҺ"115>Ō4.;$XNUlg[ Dx+&êRk|7FI*ks ?"$nL+ۊG6CiL#p0u񋕩$o^OnzL]#' A0X& 'BZ]~kJ3)">7`*AYK0Fl㶧JzvOXPXa9M+?$|]==% ŧY▃(ˈN$q"g^ EvB%8 bP.,vG[jՎ"/s. bA EXnL_Y`֍w.p! ]ς@([Q>YsޓsaѺGc/C{kֻMu P*~j} ˪Fu Lr1X .,cF š,)|.Jy/.Q-< 4TPGC|,!YyA"#aZ.95 IWՌzx ݡ94K8iaE&AUUd<|znWk,\G?+Z 5.;ΫgrEy \V1oTt Z A}Țz<x≴#Ij 'P·ETۍ`4h)D֗GcUw\17iDlIXrqcz*AY{ XM1oA lD)w-! Yп$6qb&򚽿|{hT@ ,A)U *o:QQ4C B-OK/2=/BE!Vqqֲu;Ouq;'%CRBfC;țěablZɋ# [DR*,HOp$to_giZ+;#ƥjfO9NRK͟rLXLE<˟Y b+ڢhQ)!X3}EspNQl9T0Of` lh;zxHY:H.DR<\eX`^T %A!d.2E@3632.9>D#dFB,7%3lݩup! ,ң " 4,3vQ\f998tbߣWq=fB!CcEE]Gך]N(hK҃}dD`.|9jw[a3A:ѻ8M\pXS,3K4R\VklwW9btI^u%oM(4dT9NLo)+|9;/@JE7EBj['-$LǗTZP??j4g|k #or<|Ɍ[`*X?rDn 6 ? ˂ѩFC1Nė`o!JgޙUjc5,)GE˚G@K40U=~՞N6}Ut‚ov^\~1"3*zq"VIYgĵ?S>ѳʄIOb MHFX( 8_00c93cF3!N ZrTlBʦ6~֨z;|ygA- Q"kTFEʶeUɭ OrXͫ! +s[2W{OH,XhtB 2?nRsBHQfB`Ϝbٝ/[9|DxCSŝ\@%*KmBink Wλ]8 #԰(>h 1//ZeLYUj%28 X"=f1}SO#QI`ec޼X*KB'ic=WiBieY/}Ć18#ojUi?ˠ8շJx\@/Q$1 ^fi!Qs78vD1H)T*4y#vhڑpX,>;'% O"qT> Kٖܾe6 B߃\IFVJƃa$I.*&[L` O ֘irXvF)GD/lu+f>&;ICo 0 Av59ɘk c,|ؙFܲm2޳脦ƹH+Răc m}h R^qI ;Unt9v!w”B\?B/W1${~cOԉRrt(Ϋޣ\U//gMoN~F4>_$ҿӃa{da% Ll!Iv3Q>/ATtu]˅1HLHZ)c*ѳ"ԄDICW Tg v ./Æ^T@u(q, \C$)AFhE24&zsMw5E :T }V>Y,dABg\ LEDP&n("cs6(^GE`h+n1[`Fjqs2Uwp3)C3au[b:!-r_`%Q!SsQEJ=}OFraMJ'Io2YOv¡ʹk}،~)Sa>6*[XliOڠVvUiA8u48T N5\mkĻ?,@.?2F<)b Gv_˙"6G_&| 2ҩ>4Lw\=rwe9*NF t/;d\*k63f>Bfշ5xzEi^7%/@9^F'_DM-= "*~ӯ効AIqC1LȠ8}JRH#F<젭Qk5IaJГ(S̺̏GX%Q~Kݙ i9jr4QtkwUBC/RmSY6?'U$r{P:٘jvȐ,&{d1hQ(JHMkhTsN+("Oxx{b3 [WDﳇ};r L*t*=xp/lhSUxh mX^|&Z ` WX\YdVG[;[z3 %Tҡn :ODF5N\ʖ5_"_7{.DDD~JbkZ+$[|1;*xd ZEH|c,bsE@rRT{5FΠC6yxs/S z䡄1]4s_J[diY.g4xd~R2js'%ZB\yDjcV%\#T(q-I㽐hC\]VI?4˩\&ς! m<ɯ+n>!bkAk:WF1aeK XG:^keT$Cٟ*(P Fh_yN]ɫ 6 zff굔eEF>K&~9oI:K)o5*[%!&Ms_~;d+pLZ$jE^ o 鳺Hunm3הEmP&X?}!-}eHnTb;!4nu贖|oɳzDtB\ɟ Vs_i'*JH#6[\ [mVC~nʯRcn,ZmzR7%WrmVֈHZr% B-}JvH †?Hֳ1#?k[ouj쬎ψ 2)k(upfSDQ3:&m?׽|kf*a\/+FBAX#*T<""SԞH;nc~?ؕ"TDsP;Xg)$_L+BMTE;0DA&D& T]|oEgS,Vw9`L 3І&QW>byۇ"[ANb|dԱ]Co-IIz͡fR ݨ3G6U.|ϭl$tam %-pQUZ.=- VO۽b|5^ңf@rf>VS?$>);fғ ƒVLL=Pkxms )2NXPD` $AK6xK BI hii:mQ<^]o4\}!obѵ>I&vz?ږD \^¢@D1X"nk+B m e0k'f4ӞdH8 r COǂ)i65e#4 ,QwM>ljЕ2 PQw{X &M¡Qj$AuLBTWE'`&:&$t(ڄD7(ԳfB^|Riii{lzUozܫF}H/@eqzٓ'fbT#PĊe&#x~!bFuP c6 F;hr!o#Hhjf`A4מ&Ln5B3n5$TLnW nR'A,xOLr0օ2~0l=LL*`[N]D*+%~M iAJ2pOb![pk#Z-j 5 `l$9F"o?=FB u$5u&#& 520u.X څle ". gCU(=>.W,$TU塖&&"JXxv*ՙj|_"󚬖j֗4Kl,!$[:B]2vk Sƾm9Fdgtr+i!.lψʈ*ZdZgԔ,2味KV$47F*C3hkWHdf]wήz(\3e,&4@^&)ϯ]tcW( hYxP'X%MOdeyQfSМd0q{hmFQ@O'2R& 9؂"eq~5Y ([ 6pLؽ'[ɢr-̥Xn pBnuo$0q[d[riCv"?v*_ZD> U|뀏VɗA%)B36Nj1=yA QF_b`!+D53խ]5"&RRMz/A$Q4CRIG_AJ 36'+lZ$_2`P Ƣ2%~!6b>}.X$ vUQ&=nJ=VtUH@ǐ(L&\:EFf5$C@AI% Va~[ (hcE$70C Mԃxc;&n(4c-c&HLnFAj}fc`9吭Lij[4|N쯔H%\Ni E.'Oasɫ]VJYic^.OƩTȍIӦ>鑵$V9! r+BRuu#]Cv`~á;ԣe`"EwV׺J)sU& IJ]E9V5TV+ hnA0Bc\#"+%tDVT:괌I^H#I Qۄ#&;١td .B [չG3[zAԮW/>qUU/sܿ2d%_*q4] XfV a ȁ%0P4+o@~x*ԐI: U$UkuA`7v`3vIShԊF,2;`*~΄<66 +1S^b|~{R)#+~4?!?[URnz! 媋uctG0^I^sKM/h#rnݖΚKODx] . `J}keJD?_A9Dc6EGȠh6д&FlQ!s yFc |$f,ſs50I.͘JPaz`IL0vwuIM j#Gh uߋ3I^# я4ڇx:PD,,sjbvPAm$Rxa40 E cN9,T'坁"I`lZ",K'+%VOP*^$dꋭ^ljUʀgUJ~ 7>Д iN F2jޱl#2y9H"x!^}zb2蛰]rfY.w%!1+Dxpq7h`ZRRRPБJ~NJ&VM.VD_^D5(y_O>_Ȱ<QZo,S,.Jj`0Khzד"/рdKa$,%*x[H & U3 ʓKvBb5DŽ3Enx/!dh_{uMj}Ym"EqCIҹ6K:Sdhi]++4˓ޖW׋~,E:i2Vϑ'FbWJY/y 6, J #d3U2kB0SGo#A Tp^jm8PCMki;T'mc4 K3:[O4Λv8a*aSj&1yK5UtJh*B-qT7bD d]S$`mulp^ ,J!*Peg 87WjypdZ.ʼnSDQûg'f{Rҁ%HM_Εd;Jhe80zJ4B K) Lc$ƚ83Yn搗l"ҒNrTT;yE6;AX[':::~]T͕Z+y:h"֕\-$/Nn~/զ oY~#5 [ؒ$7IX2p qrꩧbJҳ'ؗYS"j #h1B*-MPFi6^iI\haN(^HxE,e6]eAWb\=wPPZ5Wg.K`x@y->e=i- LWr ]JWB1ajJub`Y\YS&ci=O5<Ďc˓"TgLWLVGJe D 5X֦H|hh?(#mR&-H2נ:X&Y쬐fb߹?v$^=v]g紋%1q0"XXkam|a';A):RyQcq$ɵL%JrE ,7saDc6d '>Xk'|LFQ)7'<''1J9\/TeJ \H-#v1JX}< Scѡ;} \[I:dzbv Yjo_ iEP nB*AKG%0`4[q7p&h4 TntQH*| Wr*qIN&0&rʤP NM_ֹ(MT4$d-bpwnE&Iw;7=4`A! #{`\ ƬHbں@PvRM&6<s7/##ݧ}ACΉE{@efW-#3ćtѱ{IvGmmM̉Vݎ|OSǎeQ FM*xC긝ijڱ7}M2]GJ*; /z) zBè,Bm% LK M]YaN#BH6R%EFxue4uVB`){&Q-6r:&$ORfD8sUZv&`0Mde rD@48xN]B1Yzђg${{K/)LH \HDJY6(x')%m&"ztJRՈ0#*LlFfvXgKDDРEG~Eg dwD8S 9Vm'"At(%NcZqN3L3L:e/OLɢ b5Fn,"0AۍZCt[T$RsfYZLV $(BF96JK.yqmL$.&OC(*ȀC'"SN>^ 0**Q;5@F3K8ɨÓNl1%Mog!ъR c̍>5?BGyubO"a5-Ot5%l)7\BS 1" ԉ(FnseKi1ۙXk-=!˭ʻO[IMUa::HfO#+JxKr,ZS[+Ί3ria5w,C$dZ(N>`lpZgc4Xxt'zD $Ⱦ!L*IDi%7fx`'+NҙާL~FOB÷O-VJCm:2)TTD&SH ZYS+R*$((,V{ ]~xdagVm422ۢ_CV]BCHJ!v:Q%AU;};F A([CqV3 &cU?k>QSeR.6uX3ndog3AMΝ'Z]>AӢ걊#@̙%C 2\Tt[QAS͏ob0&Gew!.Rmѓ``SqIţyP@y;8bH_0[#}IiG2ÑbE تW淤kUE!/"$ |^3Y J_i!ʼn`D` )׬! MsDma$tvĠ2d5[g-Iw:ab;_?!IaRX4oK_{(HN&a(zCk:ue#}&]m b}B0,VO.Bi eZo˩u\e8)&]j3e?74\m*JU-~7Cu3t8xҲPE{`#B_QgH-ueb%D%Ru)Q]ąK:rF++)ePs+$i5ފ֭,sI$U_REsD3(kԱc5¾:B.{TYl:è2]b¨Q)0gpޞ_av/^L~tNkԥqFM K1f=x(ݟ0:z\)Ҋ_9v){GW)M "վrm[P^&v%В5 D(I58TCyXd9pv;QGTn#  w`p`ʕam t W!g k;B#t@@ CxYb`azX,@i?plw$`G04qltĠ(V c$< QSNAp4{ePQn!6$tj<!<@ԛrr1fIQBZqDZAd[,w /#ҳH-iꓭ$UBƮ`VPL`  8 Wv&0WB6Brb${5 !"Do9ds%Y@Ef1~E}>y@PIFE*OWM\lA@_bf#`fM~r ёLOz1-RёԞdMɬ4N6XhYDrLErw%E8g"0 "itcGIh%kd$Y;7y,^$]%~ORn:Z56_ d5H$ڂ$Sy( fmY?DhR,3a Hx`Hq3E0@& D6dAx(`&%@*ĉ@`:( @o ZuBE{hG@:@..7EzOV'BoBM2H`@ Þ'?B/bch2 FC1E(I@Ǐ!c~ Bf'd›!I6HmRj+4K$?^riWQ=h䄁r<"jLzo(:ҵX}.LqeeII0eݎ"sl)Š LyYM,}9Pa}AmԕI-8F|])T,NM,F$+w ZJ}Fku\ }UDTS $^drPVNK^A?=U,& PXLPdɮfEɁ 3&~KJI"!TXd:2Xs/{ ''%e_Jte*,Xek~ٙrd5},HIH‹lo&/zzcvC-{I7r$T/#.'ʦ72!j*U)'R>%NS%#)ʒ#=**ͤ?LmQMI3M0a&RI<TDNWΫ^_5eS]WzjBWK!$al2$7$6dUHCr/.sA,TR䝩- {4' E6BŨ[EBkѴӆm!t*K.)Ԩ2ё:m,eʖSm8t=9RUzϐCb@>Iʈ^~:\DJWOrI~{"u)(HE\nk|CbjO#ȪzBn2$';;I2 y¥VyX:?vǚ#nԂSWGHbPZʤyJ/ԏ3V"!uE7Bޓ,Ck^- iNud7i5i7ha4R^$-|\Hsu<"*)D+A/*[+)Ƹ.э$k W[-ތUPrtLռ]C5r䭒>J}ɖ4rwdC$^6U% BldVYNV(AjZlZ=Y8EuɼdK%+:ýc.$GnPB2œ_ /B@$+0)]mԿ}R61FXq4 ծQtK>cDc?s;1⼇2)4DN+Bg bo6dJ(3Q>SUwR]*!־ fh(Ʉ ) ՓR^DG985]S{!!y_<['Rϔ*!a1M_{U+Ʉ3Mn͔Q:ar,Ewxokok `Aq}Ym7WB pR-Ȕ_/ W'0R+YKq)ߘOZf,~,H&}KfYzqd$ٚg?T NWU!p%5ƥ&?'0yv8J*R$h.҄uqyūxX2Z)?tO!tteDdd숸0&5tw CY{Bԣ& .(%*%%zz; Y3uL;,XM#aBeH@|ÄjWuGȑM@Њ6E!c#IU&׬Yu;^%AL͹C;LZgk"OUp䋣73e&~duP6]mƻX A]ΐ71>[ S3ɨg0ox5C!3=;'t$ں,o"s6|4J;a \zL>$"cRI#$dj .1Uא#)Mj$mDlAeY*#O&:DlG-oM꓈_r/fA9TiM uNo:ɴ;e>AU*tcž&M& )$tHɨÔR2ܵ->?= WG8Q蠖bO0Dhk%O\ӂBC &pAӮ8`6&YO|Q捗0\N8Ql&̨K[J:YaEqFQiEp^$J4L˿]IN3XɴW~Yڳݤ?YU缧xGyw[nfl9W*-CLz&l*"ebQOeW1M};yv֓ ['XzK57z5sKr&X-!!Lٛ3egBUM9 I8MMZ MX,H\zXiĚRH8gNha%!bVy.8X0BG"碕*(XIOwJi @-)jBV0[FeR M4lLaXׄ4\:6ɫ&  iz!<hP{I5m|'4h%Z,PkTg5K!ymԤ%Z^h#A5hkM<iS\]' j^2㰎RPVַF @n:qaĹhYīGZ@"JPN!Dt&ϝʞ!>>%F C7v+x,q# Vri,iU[T0ATJ`)'ZWr3/0r?ů!w^2.lc eAzp:-|ץ ,*@TԜIj!?%>#.b˱My%bUetc%.ͫC)97dc}!9`5G-2l8IՂyb-+(KSh*jlV6?YY9>VJe)[;~ fK!ئr Uk˶!\.AeF5VqltHkJ{i!RVBEQ B$ʻ;E&}2JFO22%SG| S.3;x&¯Ӎѳ] ֊a.Le0Z-=_f аxp}s["=2 ,RIjeّRݏ"n2KA*x-ߢJm,GZ!c)}SPƉ4r1arvίM%wVIE8Y gOQ/Z*H]Fz6|dHt_r'R A G}- D)AI:e)t''bZ%y"spbWy$OD3 &ȏQBJ۪GG9M|udx8Q{<W\z@_ֹC7F5H7i072P׈Hў^ DV_?ynv5(FI r  FLܹ!eBE^*l\!PzU|LM~$O7:U"8ļWOlXPҧ @uƘS:ZͨG Ma-ӛ^^'T/ٔPEӾX[e${c4N(B<.t M,;gkYj%8GD:vWs"@4:LPm5:{l&'&sy,E!hDhhYJWI(]94M"gB}52Pj6F(2a- od"%qQʄ zɢ!2o=`k%|iAE$"$J\E횘V\0'陽Jb!$DHgbxAj!D/!T(YSʾ_NgVͶZ$Coϻ<,@7E[[S:RZJ+RAbV^$Z@ݪ F'4TL$c]ʞ1S&36,ʨpW<0L!Q+!ܟJw}c4bI+Y΄Q"P+SDJXYk4eGX'F*au#$,#SӍ|N$K j([8\8/j}wRj|`" sJ!SsL B"ɡVjCĘ]GWd4?\(A0EoPKAWz,R("$ d/=Em/Iw{pE\Yi? ~~+i%O(IkLy6W(ĤNС6TI,AZOo!:Efg&za`T$`˪aj#2E] -|FrJƉuJC[Fإ͢`K*~;[!u0I jV/ ;MBϴDi?<\]@h:GCiZ܈x.uO Ub0sɴ6ͱ=tE6}?Hma%$76 R 1z$,4v dI[B@{}hqQE c<4]h+-0f-b*Y]VԻeX젷^0C6,ˉfw#,g6)f䖺[V UG5z'mLRGٓ(B[VU_^yA" +MtYdLJDNzšuEe.JuU\y-^TWOy{HBB$@U_0 1 AcbD{2ļc-kj $r"F~ɠb=ބ޷=6f:#[ FgDɝdɾ+;:)5ew]w_z_̢H!oD*iܬ)l䒨Ą.nt/[Wߦ&["rK9/27,enqQU:.cL&>bRs8LKHhIa)GNJPkz(%” h I(=Ct9ŞBOCY%y-kn_SQ]M\<%ʑ^’/<̙r5c'j5c_Yg(Hi+mkՇ4UeI!A+sƘ;efBmiBe"S҅/^~Ro{N)ꛬ<ɔwg]S0 ӂ|^?U Ev7YC7Jdʭ6GD?V1 umi8NuH+S5 yYmJ캴w!M~\]NA+lYԚ^"KtRbWBgPxH14եرj̥$­)(i ]-YLT-BvdYIg A&YvH$t¹I" (ybEMy/+fbuD^) מGդnr /"ߢA6N󱃱YʙV$>ϡ6Z}yqݸWQ/$$<|#$ʕ6OM\v]ޕ:y1w+M~;SY, 2uT"j*:pPJa>Zfׅ:*g_D*š֛vI&F,Sp)r> T=Ms˓tkUk-oig%e'_4Y䄋7ч0K|9m/ qEq*/nM&+U*mT܂.U2Y<lMfa3&K%_} Wr#b,@K'F$iz!밼Tq$V/CH1K=Fnf1%y9~M#,k&)/wNx3{plYF$I7[5:wf)%J6&Od桛qvLaD3r(oI; MD"ޜ'ўKat>̥%2@KYs0a+>cw']NdB+Fp"VϱlLcFRaOAX"C Wi-F2}\XP7^W`\)]%2el^#g5t{?)zVX W嵷O۾=H"\iYDՔ}wJ f:$B&:Kjۍ#) +g60sHa#Vu Ya͓)1m_Gމ&|E.&C% %{F}gb( m$8p';e+*LkKEaRN$('BQl^YJc /-i]8ZW3!#s}]в.lᪿJMK8=S7F]).˼$xJH%&j_^_4 $R}/=GzHDmQ!""R_ eKizEu(r KD!^qtLI+vK9׸;\-LBי-I×aJ]4?QĐ1{oWJf1]v$GSb~Bh"!j}Sj _mJ!2 XMm fʚFW;[[TͯxݒI_hIwdזKf NWyev6%ne2>=4:ͨ- |Vc ֲyR*p.iItlTwS^='Y2 QӤ4x#MQ tj45K3+AؿS*hRIz8JsIU]-q%M+λ [Fs݂u5X{ͳ2cuN<ےFvWr[gh$p7Vj8ڞ_WD%R_%+W վ$K~TE-bD;1ژ"OGħ)&OR"JQ0V`7b-QAzbgm "Qthua4t ooB0 B.K ǵ&kJC/4q '+jҼ0Y0J(Df#Rhӭ1ȋ{-7{7G.05FS48mBm/-4ѭge =9kLMc`CHM;>O?BP"bh+]^,Ny~6IVbISەҩH+ZRwE}]_Pڭ0!YR'G {.Gp%xI^M/4o0)>{L~bFY0SRn]mA;9 >_ԗA6geθO4ߖglE{:\9yV|n]NɨÕLߵ*f ͅHhH"-<#(]>^ỉn F4;ZI?{viTf*AO2uZu$XO,Zdǻv= Gm哵$_⇮:9 -DH񈸽WkuUQ'(B; SSFl,Y/tBF[%MTH)8;AE ..ee|/ ){*6a.jjKN7S J㶏;f*gI\Fڤ#v)HxSPS8d#17IJ-;F$v l]z:auJ]MuܑaiQyHk+ދM^Zaa ^XL̨j1ZSm"6kߚ4*)q}_,zo(t]^ ֲ1=?b&f ^dwŸm0,OK+T#U(lA%wP6ɛ4ŢR0+#{  5y{CxQFoB2w-n Y jJ5AJTBH.e d-Fm]cݶ|bV쳨"jN2QEjOBJX^|/ kR((Ʋc#dpsO:h tE0q BrcHz%b4%LO抒ZY&5Ԗ Bj$KaBĸ6D)=zCf H SM]4 @8F.g:^B&gh EK3l*ۓ XL vp}Ry4sQ<A6BA &AJ9eEEkf%=eIʄ8&S-nF$BS/)0zP,@w}+XvxԘb tDaΙgdL)m$cYk~zBmc#Dm1ER@t(,QȌ?$kNU5_ʹYydS۶ -kBOYb`PYFpKac7peXA ۴[b*ѭ6 %qL8a< !?E1Je=>mD*±G ʊ ёLq74/ph$=:q*3K2YebW"ܪI#vg1_հFN.Vxbϵ;GM'֒14* $JyuP㞬YsGBYk$>J,!eo-ٲ_XӠ- C©\ahzH*Eբsn3 T1 $۳kEaH)UkIS0Y \ƺdc&[N,zj$^{8_A(Jȅ"JK&Skm<b})kH֛6.ZAU ]!^B.GC:wLlV$aO$9u/T;!Bo(JniI#}@dZkPO.CqC }H0,:?擖 t| Nx#V看Ɍ+sD 1a a2r)BuUOB{deW8|^a+wT 0C&̲,(VQX`+HXE$0[ QtJGBTo5@diF/W擔gJEKF6TH>ZXV8+B՘HZǠFr f:bf"o1ǩ0ͺ3"glR)9.X#NGd? 7tyja]]+$HbLQ#,Q4b޻Ċ/Bz|O17xѻ3rp9QL VAh6$Q B 0(}b -z>HnoXH"gU{2k$GXvNiknص jh16% 2YX$EL {1dUY$fvQCcܧorј\~5q+92Zs?;ZbS`_i" ?`[ [^ CM-.C'DQ48lPeps\Frq|% UY~| ?D0 - pE/ S{VREQ_Z3- gdaQ0I1𸀂| $U:LD@$E0ly6W&ļVC,T`h*H^@ڀ@I//# ,*H67\HF,b+!#F# Y""H1iANJ2MՈǘ_r<ʖB,Dȵ_ePB4݊gc'Ŀ솂hCTO`< #1iE"Eh)| vAH$ ԉ-(! %* iຟzҠ9Es:%ݯ3peeV"Ė %GF9ϵ'<` 8 aJရI-)0Z?0DYE'el @[V hv3LjVQ] 1ù]8 xs=,HO(;4 9,YZ$%E'0 vD1QJ8(3B\F Ѧ86U y撕= e֒'R:! Y?6w  @N F'T0Q fQ]PW.)E[ބ,(Pl( =& %Tl238`K l $)1bGԐ(QCq-!d B0F*8~œ˭$$0Yp9a8vR8sbB{r2.^ Ԭ I; Xc")e$Zl9^XϑFJ;KF#0\K{۪OQE^/pRkfx TߥFIK&[pQk 6'DO(-}#Î\$m ubDP,F4NȉukEa.1ע *Ao"EY4Կ/Nn% ?2a<,ZR*GqG0i,(+qYfL:D̛#2b9W a//$Zs9H8ycTV7WkCev.YG$jB;_ǜ J?N+aA>AD 34ư7W |30<-a# Klcn%q˜Ւ0W`"#ÐV=%D?(ACHuN($XQ=r=%NW&tx!bL)P!ʬC,@H6y8D|1)i"G 5҃3Šm4-*F#8G7DPmqB%׋%StCـ׫(Rqi~Rm:X)_ױRW@v*)6S"9+ 0i<8IIۗZ'\)P0NPd#@pit У+8ےOhYG(-PH#૪e b y! #8LJH a#HOHA(c :(B3 "4˻._T**W8$llftj6 " 95 qr'=Xeg\τ9TUzA[ E2F|`H =n HSFfDNʡ&tq Q SFAIaVecТU' i@AgAB&;*; "X+.9 :!10\1!/_ xFF7PPagjAGA40(`^f۬RaX SZ<BB<8T0j"A;HBC8LWax0IH,@AQ |b̽*;ҡŸ ,/d g(ir-QP ^dc2.ߪI3QOU%Ds!bT 2,pUc+ixan " #:Xs;ϝJWjjHC 񑄄o2*3UÃ%9a_q+Q!J!_8L d"; ˻B >o`.(Ћ4A6E|@v2 H~D!g-P(Mym b)rTxaAE5*L du*:7 |mDP+z,!a;0gb19FABB$S) )9 018h C8;<9r;w7.XUHH]Q̃!EG'&a5T aJ#:.-(`2 z#HnR*cQ(`N%w `M̔9z(!٪21Qbv X9z"`Еu|L - |`N`Z6M cF>ST.4!ԧ`FŗJ (@@S9,t$rjeW-qMp⿊%=%w+O"ی I:BЭEQeX_,vw.Z\= ?Ҹ!g5B[ždRDɭ/r-quT}9h0c(C040/Ql3F[oIr@#SDhQ1HO֧f}۵,1 _CEB]LzQykgm3Fx\{P2.M8+4ϿM5"(Չig88` BH*s0]"=1=l d %pt%$ƴץh8x2F0C=G}oHH>@CQtC%-?GW l )PPHĤ<"$K`,FVj`Dϙ$kfe$]˥P+mRBnmFX`s9E% &J$6Ч 4,k1C,4eJQrMLLBu?l! j* *@ZNQ;#71*< 4W#„p4PȐ`|ZMi><8Ō{LJ1:y'Iש*v* e4jKX'MĸVNSyx:@c' sI$49chQ]KpO̍D!HZs9*_ CQ\,| a#сґFC!61:Tpa6zB8TC#{؄@HeICYxI -UYP3>5eYf* jz &,$n JlP Wތ2 rs0NAn>S"1%%$\d ThF+,!(0^%B@oFH";&K rR9) CDCm&P,=fQIy " 2L%X MIA%鱖?=B A\' HJ؁Π$8X $Jk< )SM6 u!& Av$mnHw F\mf"wa|Y=CJ_:7Kh!DA"Ĉ F$&ON۔0ZőY%DY QvQBjLW{5 WadC8 ,XI Dž7GyFbk=!P(Q G!3]@}xF(Ӓ'BrhS}Z;z@^ zt%AAH$#W%TRxN3[N;fz7p\&IPQF=q|Hpaҋ^䴍7oe,-` 4pcp8SG x"(E/@nɨ×! ߳1FtmFJ_X%3}+Vs/$R_R0srr^ЗJLG1;7ULNõEt5j sN%eiC{sTIBMgJS,2}3:^5NU-c%0)̖?tɒ""+LS+ اfUT-CMrIlΈg uK̕72/g^Adb,^7S eU=h!|O(B1N+b%[J!MIٔA'RC)SʬR%dJfM4㌶1{z䶊X~ѤE-+)K-d'Ŕ[f.ʋA+CI]"YWm"Ew]ql%0D ¹+\)2}&Io:h B㥊wUWik(KrWTfkgfJCXrhL#&7JG1B&nQ_J9&)bsE*өO-)gmviq(Ra: I5'rj͉Yœyd[=cJ,B/lj w0#+(ԡ-I ի#H\I[Mڍ%B oY' W6Fyt 1b-xZ\)E1YK)2J R}=~Zm]E mWLCs/JtY\IZEOQd=(yEd s~έ/D =Fj+ !XrJ0mՐHةF1c Ӝ$ K̗6\å*8y8)^G-ioqIJew!V͢I*5șf: KItoN#q7փC+YvV)6V̮Qvu} kJ)2-IUT"|{)&wҩpK=r7'n*.7^oZK-vTӤnAC^ZuLv%rBkaT %bU%daĒ1'K *O(x%'9oY eC Xթ5YyE-UqdhؿS4OB\(bDR`d\ :lIvB'_#E(WGjv}/m!mD }ÄMQTJȢAegx䬷qE/#@銤crF51HbcZ5d*AD^{+ 䬂ɴJ RNVA%=*2:ER\"Q"h@a&B׼ J* {TZSFga\eGRςL4QS@S,mF [:H&$]hI2Hg־TDB :[I49/ե,\3-["OI d^ݨ@*(Ğ5Īwo@Kq.Cf3yUbύC^]E, /+ݙF / j;,-vP_ DVgR -m),qnmC>Tn(vXI(dPw+[_#[E&+{VÜ6䮢N>gIT$/8%d`կy5<3mz&[U)361Ek2I,Mt$U }Q%-2,5jg.HZ'u,FXz_ސKuB-/OXL]>㜻)%I.纯u>cHǦ %xJRK[`Ljj>٪PدQM4P$Y }Q塎]( > ! JEB SI! E Za E'0@7˂ nԉzNPqH,J t/yZ%Oбh)S zN "PMi|1jlq*Bp)F$0&.$AZ h§|4Ed3Ɩpg 5\Y,! 'B9T[Hr[  Q%锲lWں@ $5v2)Jqh؄HJV"qŋF Uˊ>CŬj 47oII _$CbD("QHɘڌd2 I@BuA. `UUqJ(xE(G *b(š4J]*hfXEڡ䜛a=$(` ,0DrV) %WvaiA35En!1>c^rTa\`ls6cڢ:c(Ge|)T$l(Q`ǭv4h ĢA&IR{Pk! rXQD vS# C Ae/`2 k^ bf>QK=P{=/+$>Ӭ9CY! 1 :š8\@$Xd˩XYA cń"߆RibK4ь zIP d%c2h$D ( 6DG+MZ! ,ɱYIј ԖLMeQqy1Q (QNp1DN˵B¥)k-@!)bJ ]?H@'@ɲB$gvsTȺXc &S Cٲ5S qIbDhU$I e vA$)NeI .d~!8<]:Տܝ 1lhLps8g #0@peMs<6n0.?QєAb ^&&:YU",At ,6mf'\oՄ%$ $"ttR^0Aͱhp1ʥceX<:T4\ H? س TX+5ac ) ,\!'Ė[D(&$8yF E}u2Nt2*,ca%1W5x5<mA\[BM"РH-E'D2aly:KL8R,'yTQB @gk.QSB(gzEo ^^̟ȡ5dP$ SG k4$cJ/7Ɗ%Ԯ&{a%7`#n$e %3@fh_>A[OC,TX`E ,V;\-Fpb)c,G/4bmbQQz I$Z,ȃ@Qږx0A pb\k5)8*危\2з!mcx0(q`/XM8)4#TQZd[q(VISFEψhE0j-7-$- 7-i=sRZ-i9kzFI44SH  dAtb h`J.Yʰ#Hx\ "b?Q HKdH+kZKREBm(REhFcpI!MK2& ڈ4pQs & )4J$dyQPbE kYُ1`PQ ,f(ĞHm#?#m\" k}għ u*'# C $9 gůyDˏ|)zcN@@As0Z(8D< N1FV6_HHA>'-x>$V_h,z(Ba("Ua/8bY }!\a[`DL N<[1]"ran &*萉i'`ٔ`$H)бJ+4(jxekyf#o'(q9$@xWYB E*棤M=',+Ӄ#GINWFv!8HFr,>7DF{% -6RPaT`p4@Lj<1@P$ӗ+0It:B&[`o")*톫 jxJxA n# <H ~0#5 PWJSK -]SA Ss gu"4# %+Òq}qJ>1{MNӺ 8k DU8ks$T4ǵ*H0X~$S yµyKp`^St@ɼPB(K b8P?0j9FUR$3Ch1* E(&t$7^MwJhR $4*N!*hb"Ȇo K+Tb,rE5 '<]аpE8:$4$9 Q2xᢠg *3[Ջ$;PsVJzy 0$qKTa0GM @@+@T8p4|)x!'!bbL<`+ ejc3+x' uG#Ch '&6x%JJ)<.]Q2H|[P&󌩐ԀlɈØV}{x|d5 (IXE9f"ܔpVCi}fb/w-=l릟'5X[w) .* UiꪾuņI^K:iyph<溊Κu? n-x 7%o#dx37sPSl䳠mucSڂNW_.ik(nh+9p{Qt]M==rFoU)FUb(?~vR<7a.d52 %8nRT9\ЭfoKe^v+azHS{3Rd?S=/Gy ^gpjohAԯWIº\c"W-0+bCCQACSMt][W \+D Epru7#*# } ahQԎ*\F*R\TىM)LЌ㑲P3 1Xm-  (J(B=R`T*h#|#!$U,(f>``V"`k%\ L "2"\P}8&RaKF (J],r2E& &*0AO0P.P<145l[xEFB60$ȣR[2q(P,m$ ˞,Ȋ=xpB `(8 , 2 ##V@hDxΟ(PaS 6>i΋‹ȸXTDyc$ ?Ӭal2t,0X%DWo5ҋ⟟,>u rSjvʲBy]>f51,rkiDՅN\L*dG߸7.h[.ћJ7Ԃ-։m;v0_lr|".Jw3qȨ:I߶Ŀ߫*qg.܅3:mf4%ғLn,#ڔrgl%0T;Kgzjva b`%}?c hMɱQķ4IZP1Ur0 זO!Pi8 VgNaA4RXi D9iY.F1iĕ?>wO2ZBR%L>?&M-ͳy5۹ xRNk39h 5KI*lʺqj9JzU9jNR6*{~5"YTΊ+Sɑ>jùMkK 8 K_7a=5kۋmEGƑLɊ(mԈ0әb/`ɹ&{ ٨\U%̹53BP=Z;{"AL K'\FW|HMGɹ rFԂ EHVv>O9@!%(85ߺ"_͖GD4,LͩpJt|T}(&4}/L<1OuG|Bf7ڇ;<:Uh]`l OjC8Dվp:__/i*qhUU"QzbhOLnWw9grPe+Fo(RW9j^ 6OFz( LݛN6i UB^DnBKGHR{aѹtޛHE6(hbVa(ltAH&`a^z}oRE־ Rh4XpD/R>3!roXՅi_<F{ Ţo+zh znҹQ EW݋&k،P4]T]T),6k_ ,S<[^)~Q"It㨘bR׏髬EbF*yL/US}!6-!?$˕)M#]HJR2'F\DSu[G!EIf/M9H[L"9Qj_?~KE-ap ]KVe R: *Vi"LFq!XˢC#6HYo2OĂp6z$ľ<}M79B#{AB j+qly 2čq;dYkƠD > )1 YFfK^V@lP+@JT2Cva{(:@j0/6C$Ԛ:G"hY'uRl];-8N3(mΕXd6ʖ 0i OZ:`9C&Pyp(Mdx PSA vc脣mDܲ#ŝ CP) ;Du3H QFZyVAAD B3RbijUr&"Y`h*HYKxcQ Ѩ)) $&ͣLaGB'%\B.^."Ȓϻ%zrHP:)4mzѸ!:!` 'z4ۛ$RH&@D7&A"PxCB08PvBmxXb #u̗<&0g|bCC6d ;:ϾM*Ba1U1<2ږ-(Btڋy)'eD(6R(/=:ZEK%y{HTWpEEb2AD;<~*C0bE#& ȄYb&'I/ 1$Aa0B7|%xL.8r9}*R*Mؠ*(,%,RM !w8vڕLI=x ۨbq|Q[*5Dq0R GD2jIj=ЄȑfӍO^90/>v(0f*R/Ńp$H*/ ɭFn = RȝBeUXsÒАMzm½'j^գ#[~n,=#:xrTrXR(~n"&$_ G–ߢK-HJɱD3#3WhB{I LZ9oV|RC)BӿLTGDZ#RBV"'{в)fwJB٭p4KDB*mM aԱ/%+|J`}cV~W9@P1`R{l¨6²w{\` ~TZ3Ҕr]h"bjݺ1ؓ`#T' X [/, IV|[tB+>7Pn V;K_퐿cYR9[6C|N؈ann{m'&^)zB e+6=m^ 7#~&= 5X7*o V9s3WKڏ1^! k~T/8OsOR8&$ { c3:[y6_czlpp*טҨ5`K E$ mp4ټ7\ v71:o|D59Kr[U^Ch{ZԱ]+b#Q\/.~ nݿ8/oH^ݰ퀾ߛ+9÷g/tG[ԻAYJ*/g""TRe(b~iӗ5o[ADrXNwbw@{5z'K#1R5NǴ)FL1U]1Ѡf4*) am+¶+m5mυH9=29R$+AĶZf/TJ"v rf&r|܋^DF;N:V#(o]}%Gb σ}g\TrpRhKccѧ/S$zeЈna'-lPPx `,6%]>,HV[#S専eV\ֳTkU%7",@O#"-UȔΚ$b6hOENeDC{6IA;ˌh^َF]s'%! ӝ>қn$3$4 =~~*T®0nS dƧk\JtL%8+x, h9)m蒪+# fqdThnH6 CHRXE$r܄+ Y%ԃ #nʙI'ӕg;~dJql13l'R .r;Pbɉ54CԈG'/y"'vg%{>",2P8Шta*DqvrӼ]X`?қlA&uQ P c2 I1iZv$4(!9Ŋ#Y$$Eq#-GBx$olYPwIJX:eůX(zSZ):|A |g}U{)Lo ׼^`NqrPUó6bi튦:䝧Sr&MQr_[USjODWqc`PBCP:+*X< V"d]gOIDѲf*r!UzH$i;|* ^O1>1mR7GħV)[@cdD:lDMkj.kiq4 9IB@ğYCֺV79UDv܃x> =X1Ctނx3d酺€1?&~E{e-]q_Tq)}DdUx=Z8nűr`i|ƒ7ea^ }c=$1BTAsIۓ) &vVi: eeSKR>OAZu$PPAd@ 256y"RA,l7q8t ]Ğ73fBzK!_gZzEVRV((,eP˯,ꄋ3FgG%cE4 א,,_?PDe~F@%E"VF+0l +ƍuv ):ԄOAzF -(%Em%NND=)9ɈÙŠ\:Xk 9|B QuSNfڵ6$XQ Y̬˺_٥A;T#@ۍhΕdVḰTH5q B|żT~n>9SgĴ9X}PQI7׼yXU*'tJ 'z/7BɳXN5v@]:ڧ) 7mQkrMm" X_^#Өq0pkM¸:%!ETj,8IvFJT*{@Zc\y C DAڦz: \E"zwC”wܸ„)nA4"$_r1\N) P -KUsF-Eள[<"E qLvByl!*>xCwWG"Ű3H@5/n שB 062݅|Kt̡ d $lȢy5b\jħ %?yfb*lg[ý/tC窠$Y Y", aR?}VPn^ɓ3l"HL$JTAC*A %e{Xuif}n*/5w?iXH_2t;'A4uؼ*IL:X&8zH6/kW\rY0,ޗ'7,d/B d9w]_\cwAbjDTF% vEnK(X4JAKRFL}V@Xj+HhD.hW|Q&\<2L۞f瓤t>C.m%~ﶦ8U#8udj͖3[h^,ƋiH=n!E@+k 95;ʟY aU(7Ps=4\.S%s_X,$zU`6WPPAقD1cS1,k)FHDhV*>S'pĴa K/%6V@|!>" )'F[`'4(OQ2kV օ,8`Fr>xK6q}^TSm(.{YFb%7޿B4y X{ĖB{a1hKWS%ܽNb%<[UUeXAEv=-ǺA!T2}"u )X#ޜ ds/ x)ffHdf{ShrZ;{܉"ӥHRk-^`nT}WYN,.nTZ݁{$7!S~^|he p B/QpۛFCqKVHiQz?=)+~ii wy9 S._oOp*)W JXmN{Ew[<{`-'yنR}qw!L1Ƕ<lkPOpKJ_$Dh;8GOb*.b_ evMNgz>Sĝ'HŮd\VFtPԋha!0!g)9 $!̰:aVלBX죕 e)uO#!G'`eZΚP:H_ U,1 .uA3u <޸fNg/u_Bz]yu _y_ ʒ}C>G$q\M^̇U;"HmaYLs'15i=(XQ8%M|=ymEBU Q,52n)ȷU.1I1- 2*J.4ܧQX2#8eI2|ADA]']үO5=ܵ ;FϪ,a9V֤JZ(OoB@lMe${'zXP:ZBJMm!P\DRyk[J9ΈY-MWI琙 GYG#5}:\AXxV|HuP7nWOi`@.UA4)rcd⋾iA3YăE@_Zꆣ^k0+R9P!1N_nYHHMm0ӕ ߦGJR.d53Y>$jd+ E'76xJ;탬3^rIuŊgiʾALj|B*bt>:2lxAI BT6mAg,ؒ /DdvT6FJ ՗wTa脞h60MUݜFQ)MdDWV/rG?7V(M؝t&L]-4ƫD)PsO߆K;`|L52I~y/-;K/Ilg 8O\̷N,aS2u&fm#tng[^Q-J},$*X($1 e4DlsBEOBo4kDҋ?)Y:|F=c4oT*EdSRDIwQH,[kTRscjUCM[l 9PYL6" z&AlƑL_u+*5jdU5a 8*{ ^h))k #ZYwPpO-Ia%<,gkī)G3lvs׭M  *Ř@ RgzNf0%Nvje& D$1vCǽ5/8R/{pDx-ҼA i$iuYX+|dg9n9Il-c)أy\2VR|jTHJM=DLj M\XVT gk=& [Qq[<"Kg"chB/k: 9%{Q(A#yudduQ {,_leO0!PG*T\MGcDAE"^*Mɂ1qm3Q(Ms5VfByΛ~v&ΤmB ,U0B1jb t]&cUm6A܇ÈBVw_d{ y+ ^μFg%p)vI!HׄAt8⒐{#wYXȼ꯮9ޅ0 L|/d 0{4sa!:n"M!_Z_Fe1 Q}nT\2ɷ :'Z)iNdA[ڗ&%JLԉHuT\y~Ŀ&H@ҍ-1佐%A{e8):y ʒD{F1TIEa7ߑb8F=cKLX(FٚR¥yӬM pw}.MGJ;W)0gP*(ؔǰ-JJ䴼6^GPPۭaSd8kÕSSi41zȲ/N( @NƢrJ36!A%Ym+1z-V J̤VѫEJd꾎D2ITWac/5SIR.FNڴR/l(=ܟ+YK C63#Ak^sF#BJk9X_k]%BM "(U&8_ EXlھnߣQkR] seQMQmڑvEcr%2> X ,TAv>X@u_ xb".'b {rV8D 1$X2a8tB@acUH eYB"~XeAqR•-+qM~s|"rU!]JH} oҚ#^7jڮ*'٣6f2徏3zz&vN"OIfHX]Ә|Q}\hYZ$bʷ?=QlTtHFcJS&˻1bJլKbk q؆.UV1J_sDZ3۸o4JD52kT:u.S* sd1Ri|R OYQxzQh, a8tZatXURgDF'UMWdtw5Ix> $SnTDLl⺡*qhܝ 9F!eBOK sDQCvPށl4!$83QO5N(Ω&pgb.TҔ bͻ--a2րlO,5>CsI$jc[߀aDߗ4SF %Eδe$- [{U81.daW )b?-4p]zerhB,HSO>kT|%o钱$[V3*9wiBu`^OSED,6''&_/ D|i1dGQ8}5fgOPNnCj8,Qw󜯫q/*K6YOCi꥟U3zARN80D+I)r$AFrfkR)F z;ȲsR¦܆E֝ZOr{-Ue K,Z6JMZh̭߮:+҈f$\Dl#~Mlu\Mr{&f3Gʮ μSfHhi73 {-!2ϧu9.T;GQ-dbMEܡIR+y=P>7&*& DX7fdn+_SQjtg1Ig F_kXƛolG2s%)OMvlٲNt̡^Y,5Jn[ٙ؊LnPWr4JA+E8M,60h&6 x#ZA 6׈)!ksPtȸ!ҨZ & (3lkJd%5\;ޒfޚ6绨 UG5|dOVb;M" t_WיCLhΐEf.̒B__s_UMs}jTQH$CX_y gTkR`B.44 Azs֓i%g=S[*!"EF$E= H4e\#y4mCOq,11Ԭ70nU32y[&G1Z[w1W'*!_b&XFQrϵ:qGGSB3t:\E#U=xaW wjsI֓AR ѲO |L>r_+w*K}Bei[z{0N\IN]!D["U8ꎸ[tۓИYl)ηǓrUOJoP1k#e'{m93 c-ax豐Hjlk4lX!a"$I%i[M#?1?!=-/e8gHZ3*,J?Bv3z`&i6)7 [8֢jKƷ$%Ԋ V;=eՓأEJq xLxef+=PBC\d'wRV>O 8oM0. ^6R"6^]"'oD ȂӑqYɨM,c\cJ~~t(udkʐ;TMKIw0k+#fi_FL*JETS/ xăcXx JQK~^'bmhS.,u=7l|P0y :tpȋYT udNMA̘|][ɘz-yVڅ;FB '׬XM; H-U?cMtx6-c3 U[,lۼuh! dB3_ }26%ty9q{ØgۥapUhCtf ssUQ{Sjʮ"N:bw"s:o`%A1Cz B4dye]4 .^gܖ $$tWmpl]ZרBCT0}u¬nN#P0,.H:"Km`Y [>Tbz2^@WD_irt_)giB#^h  5Qc đU۾#}:=%$ɐ6G bIџO#hnkԛe˝QZhh{4h6keA)BEa45"V*=ZTK 014}{LJE|ne#w{of|zBWvM7MaS+/+uvuMEQ7":{eTRL>3)Ja"P1tH#|hv-̆7 ხI5q#NJB"<"Jd@z kUPSÅʹ^' imM9}8*T6a #4-*YdS j(厨rnhX:zsď>FGDEnFmFELDk $rn %dy 8+k"}isԵ}ٴe:u~CNE_RtUm03op-'?yNa]Zji49=PwaH ašd-Mh^qe0jmʰpn 4H]h^c$z=i/5>2{ bvOXѓ'gDV]-_rDEA3>RǙQLec S4u==[jݹ7DQ疖U4w?3$_\5l~44i@,DSuY^f\zZɼY Á)"$\)B1%sibА-df_jV/@PYB#$Ls bDVmcؗ",ڗe*??5iJnO 'ezKG2B_ա{TN t鈥iZ䐼HGӘ؜T1}|US҂!6+u#^%@õPQhgLI%@t$TuұA,,0${GM&p;"EV5-"y^+ux #"d"@|c0r77ijH||爩i1LCMJԐZOy>ՓkprKFweL|XBB"'K4D8;.;2 Jq>(D#XO3&[C}w6"U KSTfu2MKJFҥueK?WTT_$"\Pt^ *>hݞTJpeBҳjDy$*Y@6DNA\DcQnm6I=Aԯ, */0y,Hda! p3+>021ªxUhVFXdmyIŗ X ) 6'Tg㗝q pM$.8N n4%x!m6Ae;FpxO;Mz4pRDj7۬Y&rYP' UP] QS%0f3` X)!9rWψ?)IBR[jܩ$;Y#h(7it{_v)L麽pjKA8 D1㘺j\5Ȥش'X]ؠ ЧjH^|H7heE-Aըɂm|#EnULJ/R8|^ڲRXIt^y4G\BEN$ΔA`.2T㥉 P3&KDnfP^<VJ0B@  nF2cM' stע#+Щ4W eF5g;Ԑ oeOoV>vݽ_9_r]ȵװy@ɿ*ݥ^^*C6kk6z`jU| 3Däoi^9Mm cu4F rx:b@:n15$tWU ZSWdz".)w Oj*(>Ј'rQo;&8@%TkLkHsH R?JI}Suda-hfV?I!jrrARZv[-)gJ 9#vq^[cJZRī[#o@?I]!keF!f8g?Q`%qȲLhE,X|s_)+|游橔ʍ׳R ̭n@QK=dD l7T*$g+ V+0o:krR,v 2LxhB|k,B\[*"JLxH2RX:^jQWѨKBb[0)}]VjBւ˝LĽIy|4R% 𡙔_^S*Lʽǥ55=?8yFwXr2ABIVXKu3G'P#b#”;ȗP}53&2JK <5IH@wƫ5*Ƨ En&ż1a:R-CT\EGiD_wAD@~ŋi5@Eʔ'A\Sl6 |HTjB;6~&)4fB;Yo T2^gZNڱި )/ǓˌwVbqΡ=\} V++dMc4Bo6 PTP}Dg*Hwf7٤&HiGb:]J* ZtaVՙWSf#D%ޤHVRc 5(qrV Z(Dg¥m#S6{ߧjg\ ݡ }stNKI)^gVƎdGJ!Oh UXL.l֞@ͰPu Kʳ޺mlx*NV/脊V&rZT%v:/Eerk.vqVt#jDZ90qЈ~Vf6H&ӛ ea ZHg"&GW%?R\;>!H#O@V 3^SNO ^bϏOTD~&Q.%O?|d: {@*Qsy%Xc2CM\5R4 ȭ(c0B:t$'*4-4Kmu(ZL>01)L)*sW4ʹvK+/PyfSZwzn@$g=d =v:mSIEr4UM!:#f5I2C~bT&[yƒdlpqHa(doSp,Z'|ORZ ؚ(/lɘdX@H lc`_ ƞ87.\ld8'ThJ EIbӖQqAb? j8,6OM:|2`V?\dsc8-e#GIŶM3$<™0ZYu=ѳe\Ē-_B2Ȣ297h6[dwa)vOi13j 'nqVJ IH'|=Mcx&v30 )hRDD (_hq.;I'/#:RTI #Q.5D4CqqވZgAP ҹ#'fA5 l#e[k,:<%w+jWW-cxv nTd;q_PU=*ބGV|+YL#)8B^E\ֶP0Vx= !匎[HQ!p&dGfteqEE8/,=JtaN)^*SFѣ=ga6j\ 9ؔ>ȋdº)z,vG!ciJMJ;Ò'ᙔkL&(- c`<Pffѐ#5C=s4 :Eb8^'j}ˑmBR9Xՙ!@>j0r-mdg倓.sS\=7M<,E +8E<񇗝3G=R]M>"6瓻Sgnւdo)da/4lĹ4,>OcϓSA:2+I8됙8p\OJ+ZbeQeɬx7,uK9d:9bQv ^.HtEMM_wisB$:JJI^0 /׽?R#gdRa)+*+[z= aA\F2amP5R_sr]}s(=z!t_$qy|71[IO ]X IKni6ߦ FNq>J]pkAMMBܬĵ@&d'3 5%2|Y8aG#8xQ(n+'˔imďueEgL*rK}՘W>$y>smL ,ACeV)qiFՖNmR%u|[ְV=Ȋ87f\>a&KsجQwc ^R Zxg{)%t'VvjVgI`޶vV}=9NJTG̕О 3Gb@"j a@T]cBMi1!>q V7v|ʇԦ %Br}|xB2;,U9V~i6,;b$IJw:MY]'/1xO 8C'/w xh̦NË(*!1H`GƤ9)AOxD<8!)+. keeL(e4ԕrܽ[ƜZGv1[gތ(e}A4ҶwեBÉ7`H^9$W6tzPZOբߺƭxP~7\F;Z f>KU.K)d!S&:|KrK^5(Ybs["1ƀEAT~  "4M4AK7AnF,b \CjݞYQ9.TiRil9Y^?N8&1`PWgX`W&AH}kU;5e^؊ Ax]qc}$9̔ 63GBbga+`M(m˟3W"2\HQ{gvF MŁȸL,ֲ$Y')o7uK'O"D BV G#Jd^0ץp؍*`1e#Tzq8yO¬/by@a~P'"uF t?+‹RVx1l>RBPvGIL`(`tbgʯoM418S}0ДȪnR%YdӢn ~7y,;c^|JQS$vT_A |f;7eˆU,(DKm<km!ctEУ*QL i rGJ5W3XAc̸ȴ "Z7t26< J.*8J0t2i c5 K8Cqз#:b!/RCp(%Bݚ'^{_(a\pf%EMPL'p ixt6D|,NTՊPf=`> creMҖW(GBn,ՂjSi$<|R?Ek I8x%{ZBq_GEOhq;2ٸA%F.2_44+~LA:+"llJg#O+*Dgҩ3x89%v̼]HL|5)tl4T >qJ Gem`4/`X.0 1+ab0iI' |*H2"aMiۭjD+87y{Giijwz}VRޅ,8-A|Hv6=ͦDPDB;H1xGnؗpSCP11Xx2!S)Z+*C$ebH7%5Stj m޷jVNAh>O{\'}+ 7@Q#/ Kc8ѝXMh}cb@ٷcdSi3HCQ|Fȼ3HB#c'2X:XGM#qд3 R.R|‚k%Qa:_8jA"!]1_e/J9mk΍ cqS?)?Fnl!ȃ՗)bȝ8b B{Ȑ %D,쯋FseB`{lly7Sw5H |mZ~CbIYuY:kMV1:uh9㟷ZL+-=pҡAJ1q̞M(^pRh<3|D[;2~ň̿zYRislwlK!)::uDzNhe@'X)F8{a3Zexh(ZrȆ%O2l.NuNR̴bL"aiTbm?Ts;Vbɖ%ܹvHAQXFFkRf&U:Gc fOsrOJAH`R-B"-lHl ![LӿM9/z)%>\H$dCȌv XVX=7E6+WH}TN.rH?nw$Ls-K'%Ɔ(iڂL:P+ര$ѫ@ÁgAIc&-ej5o2d?TUV-Im!dzz'ԽkuD)oF^Hs둡% ˇJ=t3.mW )n-kHO4J-XZD!B4Qx2 @N8 9@ۿC*jÕt"&V֯00EW$t _iY{;Jٝb|mQ[ {^^P*^-DXZiYS͆Y%teU[g#'X$&Mkhآt B7%//C K $-(/\y1VqIJrj`D \TjX!JNt1 [")=p/5;Dk)jDkMxuR[ E iBAA=cMx4 a F=mIh:3$NsYХͺr9MQ{; SW7 ] E Ñ\6]īI+eͲeC:<1}5gb&;ѨZwl/up1t=B<|iU,mMa\ȎZm^f͓tƚAzUݽڶB yymQ]x3Y^HcɨPvT7/,gzoe:^y!Z&X0%(mVJ~9*rB*iֻ+""6E0b9WWv!+B)&VhBjr!d/RvШ܉ wZS뤄h) a=X;9Wbrw w2xĹ-ER0XI—?< }rE3nN9[7:ŻXK9BЧִLұ[FQ0Dǀ$Vf51=մ?yRQx|a<8YIk *%yaB PL Q ,^ 0i)T%l"Kl_hej']RLVns٬/9ܡ.%4DzF%?s1'Q].UggWc~Rކ3U 9oMҔj/tMJtmV ApQ>ZJ2)w7˪u!`'W4_WͰ$ ЇS7Q,nG˞;p̼b=>d!+[p{I)+E 0e\L"Nm_1%¢,9ܳ6g @y3!;ܧA{:eCj?ٳ QWܛ>0GReMU-[ԇ+6N|BgT̨J\dZmՇ\ˮ87%`3QfxIȉ,BїMRB/ۯ  VZG0:{'dtP4FqJCl0(3@Se5p/9JVn߹ނ$w'yYKA"P DOX"cJ[zq^*Nv9x-K|蠳SE+ƏWm3I,pR+I]'RK#ޗTٻhGfMs`֠b:D˂|i(J4:@;>ضܩ|-aJHbYKN ] ,",=^DiNC§0p<>7\ʷw”HAm5꺡^$c?%E"DSZ_! z2hX%-5T+%G8R;uMR}ߧ"Gc&>%Ddr #I6 豻V`KV8C.R)=jYHI+g:=e];NZYdoo!R!{ l%f%:nYZ3r@%j\p8 7DR,=<{S(Y^!q (xp<6 J5/<$hZ4@lutt.Dчgd Z  ,$@!'rԑ'-e%S}D@Pd*(UPCZlPWoA/":Z|,tSzPacRέKzZ0EރdA-mDms 9 C%9X ZJ E⪯1 BSEg4y=$LbsiVw0mҐBP aJ?" SLATd;.|_tb] v,ÀX6fVK3񵢣1$`7+ͩJ;χDu1k$oٌB>Ԅ_BcX}(ʠɝ acpEu: $zxne)'1z;JE(uLN=..e͖2P ($`E)‚ʂ H<'RvtIv%PD-Oa*VU2zKwXlkǠd:Ta`3v.wn}˟̖qkx*enl-` b[u&c ;+E2K싛N5[/TYy<<\ifUP$wDl)ilLC8D(eHU/}笭9VRьKUg*;EJD&bߐsSh|@^@*((06;0\%# gS|#JQFX +EE+ ڤHAq%LDk #"F 5̓'/> 0aP vCFZ*-޾F?N؇ynpKV5(D,#(k0], y3)H`3Ru(g'd ,,<0ٻg@^AF xV XjX\p)3Rj?Rb+U68|ܬ:Wt$ݱ-,u'\B2!K -\ nI S4@x5)TLsB)D.X3+"R&8Rt>S6OX`.UKƸHP^т3 Q%&ceϓHG"X<`֖{ݦx3rJdh}w6e6I3X$κҚLM.nɲV uQ:M1̍is 8 ד+Lu ?~Nvr;{x4~jrzPcR< .Th ԵI;Ra6 R[Sdkk-O+E6Xu#3mJD(rF̐ _BtWkL80Ҫ *<;b)K&"32 ,PG{,v^ o@ba\F< E+Xn"Yi<[Xj]BɟVG-%1&??igsrU 7^PQvC{(.|4Uƴ .jEtЊ^Ҫa&B, XnK b꧱l;&UGAm.S lVt2"=Wܡ5ZƤ P)on<{3JWɓ'.Z 3+rR IE {% Q1My]|cXj t6AR3{{b>xo%gafz{%*m킔me"(n?`OM e_$ģ,Ko*/TE&GFQ PϤ ӥf. "ܿ(9Lyە2˔,{Vn'̬kAm2P* Y|ؿ0a0 P#8@(^*V%̉*@>upHv!$ f `Q:80U[n|3 Z'1`[AQ7Uf]^SЯK[b(ȿMjBŬOs%XEtqݦ/49XP+kJz1o)Z٬vPӃİ'6$UF+҄DJgdP:`-Bv9]fPUr)u tw&=<82%͟p^<N!*u2Skeꂠ ʭ5q)YVO!3U LeitoE^24 J:hUx$ɉk_Qr<'|ԉɤS΄-(wSVMB"ւY0"Q̺M\X8$>BuiqBLm,v5#Xo:51{P0n|"kd:s0\U!X<#eQKb/II`IS7HٍN#u 08 D>,i@+Xm-u,I ##Qj0~V:` C}pz"r yc f-/riFt'vZ"SjPUpL j›#7`̡*'KzSkvSƅȷせane5Rqh,Ra3B]l;h3_2ǹ򲕩 >[+,iYe {Kv'jc~gn#molʹo<_(;UyNم ]q&!Ibcr0A^ne!# ȻCV 9Ⱥ6dȿt>"\^JIJ-F|@Ȁ:5JW(PeKౢz⯸) '7̿51p*1 l ix\eǯ-1o jCbNoluRak#2܋l k3HY{}񅮤+_ -NZd*C#$ǛuD4W"nP#%^$Ekq1KLDkTfwBS6=vڶ^G@ьO13lX&iVIjl?lYpRT&wlЩo"FAu4T ̈́`F/,,Z((6mJǠ5 q`Љz`xtal|sXNqk/EyJ Y ӗ8B&RK IR%kP3.bz^ "+M=F_E9veypGb2J>~rg*C´_ \x)Qۣs?G'1(q:h z38vk2NɾhdFpjEA?<@[g;$%ItHtdBӇp82 <[ڰ_!tvD?qMᘠ{IX"eҏ5B6AVyۊ_Ab'$➪lW" ѹEZB .I{ysRaZr-$%t!2pR@ȅy enWuRkzm&N:6.0{b$d-"m0%"eYµI>+XS)P -!\qQ\U9.|e}I>{"iAY_^۶}ȗCPYZ g@฼R%vX ".g`tTQNU{<#5!V6{ga,׳59M:'Fr1F쎮ARPs悩[D薤=e?ݧT<4osi9\3N^qطKQ[%ѬB*ngKVK҈^}L`N5lXq#gl`$@*"j8~4s@\֕:Rî!@ԣCP[KD1eNZ@P eEr "X[Kiu$ˋgNpGG+* ͩ\/PZk M?_K5ZQ2#454]LJ%DCUaa{azt.bSZZ=3d~vrNauڙcݚ ^b>ITNjփ5я9L%C`Gi~+;(ReWt\2W1L@~Ӹ0΅U4Od΁4>6]F:6{Y c8+3r;>X}MV.pF4DAB+, -F5/Vu$<]^;.JGIWGFOTPmFD?x2Np<#lt<ݫ |@_DeinYWD9pHe zlKaZݫ.-(5{b켥6J]­^QAYT!adq_{#xg"NirC,f $,1e<"qK*&T \kO R-&B0-*`69 46RՑ1RPr!B`t d .@9b6b=+B\a#fTɨÝJ$X~'H|\F[H 'tBի$t$(U"bfXdvϐV` rh⩱6Q})J.q57I"p#b>ߕAP@P"0"y""ċ17=A|HE+Ppz~17ǩ/]d+7D*Ϲ1E*ucؼv;]fl9p<><&XNO&&HkT@.6239"qOjwuf>> : Z^rY\~f^sK_T 6˿pFk3 *n8ȅsp*F8NT:8/ʼ|YcH;թOc8JwV&"4(kg^B޷U)frtȱmR!Xb eCBgX-fB ^_ya-rYIݳrj \2#o|B@ x ,ZDPn RtD%M\nHA0]>)0U^qÊ(P$/ͣXgw;j Uf!;97?`>(ƚ^GR wZJbzs7(I|-#/S)dS+h}>s!2{!}5x] ƺCvǙ)/C@7 @y(`]*֪%DCxq3D0CaA[Cb.tD!\z KhVC@P_e 9Ɉ J2X^B IS'CRF'O`~HLL|/2DtY7f $N0Hl *KS;pNr5'wG!YxU#iX٣$ï57(Bn xo2 ^N TT= Ah6 yA8j. F  P` avGDc1ʝs m* "M$njl- W[!m"^&82Qa/97bٽ%Ƶ<J" ֡%O|.$hq6BO"2-kbχ|TIGBtD19  >IZSWAD1^k:V[Ȏ,c d=A8+#؉M-h6#5xӉtu_6tB-W"y }u%o#|ƻS7g,Z^ ^:}`B ~AKS7+ɽ h$ TKD/;ՀR&]̜"PS;-MyRa]v|XǤ4wUa RrbJ}-"-04M%= (i I E$L-ŠrcIBŦB'3 r铟Jٮ]zXEjsH^W(+TN5ȺFhwtѹW7{_c:FM5/AKj^s..}3z `f9bdh؀9]<-!&t:Q/64>-w,1^%* Qbbd&a rh*!>V(`KZDS¦#{.yoz/:e7W -ɪ^ih쓠Dqyi32q=2ę4^Bbװ#F)ȶRC Q*Y)55s rH-"[HEzl"@7A Iւ 1x7t.!Kq%XqOa/:A؊meD.Zd!r!b!ֿ[7} "5SJyB_N"QΆI8\X(D,OΓ])$hd F6I7J Ɲn2*uԁ x6`]p>HeRt^YQ'M n&t8ړѕfږzSÈ*m"ެeiGbQ늽&&JugCYi;&EZIuP^C JԂ)bNK|PŐaﰝ9*C&Hicd[ԑ#Ҍ|rsdXMɊ%%tg%.hg JYDQ~jrn`dh<^`ዔ:R%XcV,`.cSWTLS专y-*V5a5~SnX7`x>8G h-`4pa< H_[ܬߺnӞ+k P I5,,n&jHdL(22(*C.+u^:jXѡ$ ~ϒ8;{IE'W1R,*ټZv_.c+1y*AZ|QR"]&(K > DRs=Rr!+S@(Ĝhn) ăTik'ƃ¢0%7YR28A x7A_^bcH>| (A$;({ŵ^&ܑ!IZi0wξ"C7 TV/"jmm4Ufkmn@K Y%]B¨#Ź+_ȖjkՃ{oF'A-CX!e6Y*_2q[rڈ$g|'gMZĚ$3ǹ||Sdʿ.RmJ\U WŖQHYYȲ{ s2 ZYCۦ0c(ͅ!*~m|t|qؤhy\{<S(Z&¡hS:F5aB3AJCPh^Vf.00<6 =ܪPc:/sEZ:ig1Cɝma/?HSI)9aZzNtTkZ)6DDcB*h53ؘD"](LܠX\_RQ Q ,'Ԥ p.w mid( E?v#YvYbd$D(*{gT$h$k0L.H0zK^hX@-2]$JL#੐UU9댘.|BJ J`]D+ӥ/Wӧu.a:l}J^)t'>Sp_)akޝވ / ,9e"lUeF>MxG!.[5=UT/"35uG&)Ю6M֨6@1g~~՝rp!L\] Ib{M]8N,5|jFT4PA;Pk*I"[JLʞBǐ+L$, E/wkSc"Hda|FeiUHl^R! D%(Q 68J_LFxEj0 a mlvR7+PiN$Ѽ.)gsfK QTȨca0^u,RLɿ~aWjxT꧂u\'fBYl+&]-`/LmQX&S䦎%i}?0ؒ 7K:`* +65z!if׊:''Ÿ|ݢ2@hR4dCpYU Pz2,40GMI֩v)f%#NRst@$CxRg*1AxFKs'%Ɓc+XRwKGX&3] n(*ItR8?=?(v6!Xбk DM†bqv` )MBֱg>{f%cb(n|Pt4TRjs .oM o VSehg,;(1rMQ3H;{+4*yLxTh&YR U Gv=G (dD)x0C"WPAAQľ®"<5e&S|OnTDžNw?E5;~TC Z^;Yhm`Ib'ˬ]P-X>RzPdc8*qIхhF0℺B#p2q( e?IuayL/?59l3h\ ?n@}K"@c(|)rȈE- fJETOL$qiMo! b1ȭP>AdRqT,  EVbvHo-%fGG4mK~) ;B!:5e7SЉ^>XM7O~ b.>Pl*#А"A;5Ae.r=4e7g2^|TQ uuE=iGJ"J@E_?rV@-Dj;Rhz&F*%-D[Ih;/4k߀X/Yb`M@r! 3\FuSuA(A(h M#HQDe`aU$EVIO3x.-SŚE. i.o=$T6bdG'eqYxНX:`T!`2av>c%Xww2DRtdlK ]Qhi}*N[dEqSR%ڤ.hȪx؈2*P!v$VPB_ƢˉMSb_W 6X]Ƞxˊ틐8 eVthk 3~m@V;Ǚ5""hRk QeࡓDo:57 qMR B<9؂fHttQ|\"iQ6&;^ehAibh! wChT |X"-LP~F.5V9"˒د>t zWܒA7u86PW2qHլDD.Tc'VxгKN)xFɐ6AI#$  S.ɨÞV^SG2't 7w~D,EHnOdf1H(^rF#n~V*R"(HKvJy-2v}y[Ӕ׬pdkR-mSh^}… ,LuAʼn ' .K2qȾj͐J`'K(dC*|̑0LCo6$/AItK< :,"  xXA]&xb8pbE,9s@D-f%qT3/N恰 ]18\Ckһ;J rW< VCi$nu5NbsToN"8v o< bwd3;vI-J{[ߡ#[ҒnW[u$wetkկfZOBԏPėy+Z7$_I\#$@,RNM"QA#"Y8+ @Ab .DqR'|\㈌|n,U0`U{>TcTc (l4\YB W =CK0A0dpVfb3> ]ʹV2+^-UStY+2:/&afVSD\y'Xg۰D6 "Fjf|3)>d-'~E3^f +.X '15.s'6"'s*e9@#QݕEi8)uy>h!fql@~czCX[)Ꮢ1$X<"k& ZLPTG1,#3 G0IvdUIKn[BZQ%h@Laiy~g De ÄB{6Y4ٍKѫDG&Sj<$ ~ݡQl)\t*AF 1=FY(i#V%&[Ci"b w1TBBh9c#ҦjUtZ2%"ΐCtڻ+cCIDꞱ@6ID^XNY"22订aW⋻6`*%}QKhLJ5M^΢NQM\TIWQ8CUqVe+|jP@R̐%>#eufF|z'OwIq_r]u*$Th$IKmۆj~,eVdDq&jȆ\3c{H(#bƒ˿nݟ70!%PR+BqP[E6@6NmX!5Wj^ٵ T}>.R%cb&bjBct:44zyzӭd rh]}[RRҧE &_3% '֦5;qyQj+=Z:P&v7:fY% OT@Xc hbJ:Xbj^/:+3+&xV#{\l(.%F|SOTH6Z?.206E'b[B@_jlGN+$8n.(Q WWBo2t& y1T홱v3 Hd2CB6tĴ4DtgtA-$+pn< :SԼ*Ҋ Z  ;ebKEpnVX=<~OF ,oGT`n0PLFTz*l~aW_A`j:R!IPHmkU21cP4I,}NX-,:-R8i%XL5+׬BA,"-.%KhR#x=on?**8*[1<+,뇻N, Ѝ^ᓩ~AfNbZnS+W#܇&a(= .QsV7Ʈgx0AI@an,]0txLj'MKoqn#Vb /&N"R%-울rt&9 +OrH~ܗ%,U{ֻ U nS0&yQOb|bn"VTKU>M"ZKEh_gFQVF۞4pqgv>L)oV܎.[yqn{H) r49&K;X-ˤ| \VSeEw\T{d+ޚ.|ςRm50T)K6ԦYJnD¿!g7 >aM?6'Y𱐞, ʞQ@;UZH?GiAY$ B)EPQ'D68 @"yYY\eۆfLLH5B5Y& E+~&p0zׄ"_ .HI Ac#3PaKa' ̒ŸHDdRqϜk,IBxgJq &ogMYZLAKb}~1 j-8RYe׭+.۸+Qa hq`A'M"BGECVe`gl- o) \xK鶩6nd 4Wb/Kӑۼ6мҐEREdFD%H 1j旖 G~k}.u;2K1msFJ׊-GjWMyk0'-C85;[WsKz:5U.Z_Κtf]0*K>? pW#Qn3"=口־@&!®qہ_YXLʼnQ"geg_{WlL\sH}.w'CsY9D.Rd+:uẄ́QK~"| 4V$~8RnS6wG\L=z%v/`dHRZ* `,h4֧  pO?pP E PHA! 8PI$HjxZB^ h(TK4  KQNppF] ˋor74<hu&uΑw'}U@ R)Nkq_ $ffin&N`[LFA|a|ˁS[| 'fU5ؚBLF+fNI^W`3t/:֘+c!FE"^cEAMmOQf8֋ Ԝ2Tqg,XAwOX4ACrc =X0ȐL1 P׃284y.0ք$5pؒ "xyY0ki$BF@Y(_|* M|ܤb?F;1CkdrMl.@hp4g>*@*ejM۲#ȪFH2tPLBgzRZ.a`M+X3eq\O>:-`[!3⋑^.1N5 TƫV;0bʄϋ*Fh`&1f'#D- 0 [y00h$t/6NJJy)E: +0 4>ĮE4\byjC,6硬$ BёF^V{"Hdu\,#NQme+e>Ѳ!]vuݲP BN'DUDʖ;5Gʊ" }* 匴]tVHmbR. 2,B>sFQ~,O#>>iAc#33&de &ʆ0=|EuMMNL YR03DgIt,xEBtl{<ڣAi^0# pL,'" p\ |B}0-K d "\"r"A6` ł,u#"ҧm k[s PaRbEab##:]y6sféRNnXF ZGƂ.VNX?A(eǵh. '$hS!Gv{Ս矺&V-P,Uu#>E晫$sm3HzFab&A2fܝmU[͂KhN9Y2Z$-\EC}Qqcbl Lw5Vyw噪@%c8Oz@,+ R(x =âc{5"*jjst]VKꀊ#*Z# Y!aߑ+IPo$$#cø~'cem B_ِl4#% 3ieJ$b+#b0P |rMJk!z**k؂d|-j$C̨BSZi}RXMpp$"HR$h402eSr䔪YW3Y! p)^&'=,5P  7^mLR82s(׾亲LVc2_1'd(X?74h{ ^Vh0lnWݦg6YfEoBqYYi>u -ْ- #-cqa?I 3iPI7C@(%Ccԅ 9N2;1n5aVPֈINF`Z3WDIfPVnp"1 3AkM0|ir˷. W]I9DL3' OuHd'IFI NҪ2*PzǫUSlI΄DyIzdOy͝QY*I/5NF3 n&KY7CKBL.l iiTsa 8>&(~"EOL׆stƤ\e%ߥdz,Eb*IQF]2R ͩcPn%^"xQ3 Xd 跊:DKg#9:l <$/](ChlY mֆ}i%FYWmZ[k N5%÷Xh `q/;A W*MF> >D cK!$.X"v FDr6gc]unp_Xɹ[|^P@(ymkqI~zҔَN0H6*'^MɨßT;5;+nOʆaL񊏊+p02rI'*[лpF)2%r92*]19"$JHs9t"G񳮜Os=R*,5sBAdC Ip-,'-F[#">Sḙ D CZEWl]Z|W|\+ RKPYu߅St*pbԋ+xW|@ЄeNH<\ފ:.$hK2|ቜ})49|8X@+ZKq#AY>\TdڝIR_Mψ::/љ9+'@{dG \"_q8B*5L2-JdhΒDL1QmAY <^.ܛ/}TIt{ULNu eɧ/,O1 @>\# N ƀ`D4=Fa.9EIa5 EްcF9ZC  !$Ƅ(gNiO^/(j拕i&ut-&Ş&Aۘ&ڷJt:To1o闉:i Ju *=yc);&Ǯƞ(s$F{TW(ӒgFͤYO.Rދ1,jzY8=De A%!+-Օ,Xi8qDZMo1 ZҺ;DGh$蓸U+$߁*»*r+1V-r^oTUf$󄄵>Җ.Wy+a% 99=I$"^3H!D;~#[^j)_Vre1dO nSMa.SZ^%ަ+쨐Z)'>!!~/IGYMdLJznMwUe-};TW0֑j+_bԿGŸJ@TzI½7vAӧGB(MT c`:WVHC4Qz`9&e0""`MjleF7b4UDܖ44E AăQ*j$ŐexڄIL)ۋVZJ%Xg. (# }xW-WkTi, L$avX4JBE<.tr묪h6!-TU鬣"9B uɣczHL!NqE.ziFK͕,2kf7z!PB(ME5WJJ%$2Nod+=߸19պrW 6vgJ^V[;I;KJob !N1/ⲦԱT+-䣪}" n~ߢKmD6JT[  O&>J8%2(6IҮa| f?&-.@[E'05S[9hkz$ᵸtO64|V9ԕO(FC瓳͓-SSI\TҮe#l]nQ}Z{Űty9 FIl˼5 m,0&9>,Rytu(ABx0HlRk]3߂ ok;S6(k=WO ?9[NQ҆!ؤńɿG:E]q9숚PʫSNb]" [^&jSMvŮ"G?eo`fH}.U u3DWM#st^#?bۤ̓E~kͻRi7V?2AN5#`;R ~x2=y׳~(TDL"M$eD__6l]v|T(T-+;bLHckz 2Lj&>hrk8$(0Ae1i #Bb;B&m0\#s+V Yg㚔-4~ֈ lnǃA(R^Ya+wM 15FԁU2i=A0/JXH$!f0IC`u m!q4hT6 X[*gI$6dAWpQ6"FD]~SDCpp@hćO')qBp#WXn Kr@6|?Ff!$)Abn<TE҇uo,4~  @xWe׷8)Ɋ49'Qj0%`K0TDD#hsP\\}H nJM<W~?) N;h t>1A,B伀PuEڈbk3R/uk(dd ЇdSJd*pZ"^ L;v0O)"]_"V1$&27o:,\}gsz[ƸY6.3}Kqg[Dނ b8c$IٔrQ$&sjE_o*6)B p'%M~R `{(pw-B`|wjnre=ةRmyjfo) ٵ(!ߝ?Eum8ޠDiˋ@b@G" 4]Q9%ȿ Xc`E D F0W:(݅S?ǿ5Bi K]Ê%wyWC'C M'V&O -՗] EU/&u%+O@úu/]٭1Vb%[>_=EцO26YrLص;]oj)jԲ]go!In~efԙbÛ.L~!ڋl4ɫ2G\YppvxEJcq]oŽ=X"W|Dv$i$qisi~HDkhßGv(jz(Ta94;M)jAqV^0r̦R* 7as<2>IvDOOh˱F)71PMz҈C,\n4:2R=UTRxf͋ :NݬFѡ-yWӜ)gMMBZY{gidtNߢkKƩ& _E7eKC=\֚H$pr_) nˆ)塆L& tV$!ě#d ȡsH*Iu3fGxV+fo*))cJQD:0(O&n$%8(P_R1V|D\Ni+`qbb|uC)_{ WwKMRݛJ@ UO@T?w2RHnf?T`E(ezbH\EG2XvbS 51d\mϿERq < u,]'D ?>t }\9Daܡ&$ep>Yr3md72oNrNnB-!5qRƢ5R ړV e4D.J^Icu_9 ~Ѵ^B,d"fU. fMiF~g 'E:"J4)#n05z"DZ%7qxh]>gL<5ϥ[Z.- 3GDgtk,gŊqqJӝwI:d./7sK]MjV ͂+^).*HWBQ +ݦx IYFmZ!uS[Uz0/&_1XxGpa7Ruh$F!Aܝ"8^؟tնE9K I M3au$|&rc.ױJMda?]gݓkh$a|m?;^,zyJ5dYRNleYoP-tpQ>fB< aT BDԿױf:(5EuN,s4hS/KD#W{_mSkR s,xp%ao#"Q4jt;u;G[0O$EvB]tƊAm6@ 84"RDVt 1L^KXݬcfʓal\7':db!Ve'frQ ?%\Q 2,jNAN1 wmpIZlQAUq<^شhpI]jbH%D,U[\v (X$$GD 4ZYa<~0!3SnK1dM0dJ儩1%z꒚aO) 08ɨàDQMT0Fj^Y <%'IH=Q,[(0%~@߮1X'}%Z,$ADhi![+wu^+.8-dOccEι4LTB' @hpp2u!׈D!OpZ!QXIң!GJ9t0(hLRJs⛪0CdA45Fl dTqNRpJÎcSN3^$`DȀ$ð3hF"hBOo7GaJ] j`rfȜsߥ9(QR[P}JpbhHR[ !q!z 6MD-hԴBƈDi>SVPv l@ JTC1qz_x7B 3Fq L 6Gɖ1]"KJzV1+7g)laOBjt \/oڃEQ*))X98y~e?$I2nS/ yQh -"hA~"ELz//F M!T#jye0 ]Xj?v Kh҅&$W_d#G<>]f]jE\4pSQm)|'i ˳AVRU*<Rx/Ŗ2^W#g[_I[X61'!s7I$z]\3z(笴%g-ԓe BĤYe t Xx9)bzqJab=K I)IZFb#b=–u!b#=6a&EhtPCN99~q.q-Xp2ơ)bF !{DQ< >Qanԋ9[ & ޥ-R 8',a_boO=n֭l(JL]墄šg;!,Q89U%"vҋԥO\KV!%D,A7%y]5i4e".&r=iS=<& 1ODt"?56)L,I HJP:o\9$ki2HN$UBst$(R/BkG,'TWU1I{,,Z 0¸009 R/kbKOL$W9AM -(HmZh&;Ճ#t1J$I'Su&hͯSt ĩ& *"PN (ZQ4>rHh˩ Fg!#))ݘo/hsֳlvA:"j,gSwspQԣGl %xьBud7>(WrE, ZD R}}'jM]33=x'ᮜT /])d3TTaRARQRRH HH"KߞI6q4b 3:nS61桅3PXQhx* t5rɽ1 #.'aEJzQn`[IС)e";0lVF%OiϤ!t4 v.]H۲\G#fQœT,s_&HG.4(J!.4hq&dn|Q$P^.\v6Z@Fe6֤TO!"F%dg$p3NJd(Ԑ\F& 5lÔQuutrnr 01&hزv;JJ?/=04攏A̹% Hylj5nI#I*KUe/-xΓUl1Y` XPuJ4 MJ+XAPU i0P0%$Y_8zM(+vP ^! J 4Fp[av%~#5ApxsN#) _ YUӆ%{XB!(Bx{'D@6_%A0Hi8 ?P@Hk6BD.0Ώ8b>8-(H8"hJ-@UrIenF iPH*^@7d\(qɐe?R_~ѢPr1 uB! bI#aœ"w΅8 Rh慄6tP%Æ3 $)Z1H)8Ir0@C@rDلO⵾@-dO]BCe)A&\!CX,_,3WZfebVsh9US6NiZHüPp1dq рAK[ź'N LXF9PhyY:jatJךB>@(`XC$cQ) I*ʬ:Qa]ʱD$*p5)#CU&: ; +M0@,*X-0r9 VN{ >Z¤ D'hPŘB>Ah8T#J(q&])Z@;e!pp]Owwn(S!!QtrOe1%fYARF[:/?/f.$& OhUB#%$ db\.i犭 V{N, ֘3/:hR$rĚsm6o wv='xP dpg $IA)A4 Ֆ;ua 'ɸxdIbA0TY/;qB '\ S'Oc#&F_'Bg(15 LT\A&QK(.<ې,0@Jo,_Q*!Ҫl<)@<- 9)Rkj9~.])y/ 3EZP B>ބQYFPwʴ/%|L͉Y )ٻG(cXjt_ A'}e4Qt)%ó+ 3fC Idj5f.JN‹!lrEmSHhQD5x1F+F8a,1/LT+Kϡ4K*sa$pjE(ƾԐd1b#P@gOR"PE[rS}^Ay#BgHqD~dĉtt[u$ё>=\Mzڈw$R Ox}zZHZ;s* yS4~ سH͈l8T"],JFwdh{҂eE*=)nHZ8̭U1MVi|ي"o87U:YBW6HQ uS!q .t1iՓsCVRekBJߓ?H-A J]B ڷګ U0V%Y:@h{=xU%[3Vab'cc3TPdCQ31.`û\m7)j?hF)6)ۄcDOk$>|bWBtNzLΖ<Е5Ir\IቊWYv7ܑ\%J+LaWv!95{Ԝv50MS-+ژ%<8`- +/5]1ڹ]K#DCh%ly.Dꖬ*HJ*SCfuRE{gJ,K=2 >Tķ}ϸ{Թ+m "j&7u"c*ZȔNj ]!rd0&RbSYo7*-gI݌BEJE%C[Qq;QE,-ب.Ђ PWe:/8\V0NTU´jCJo]we=\)<$ qB4zearjf j(S;Y$( ?5cx;_hĒ&c DHZEB nKfb ,q!k=X4րt#KC,wY5 ԉ6GR(TRd B inaabEy8WPͤE<-B$ u0i>$Nk2R*̘*1N) 0#xA/B0R^IAtOI(S'9fU"l]$2E`GhGXb׋$1N&W!49RS ["H YsF1YnIAAFn8SG֍YCDchgajĬ(3rD)}y%̊AjjO&4e H ^$/&IY;K=IST/p1X$(@`2傹VY0ʡyEqQG<#\rik=C\Cc5 NLРbӦ-+;Yhh2Tq$ *, է 1cD悘crŇK0CN4,ɨy@Ÿ"$#V|YXMo:ziAoHĖFȞT#5^h4›x `͔C|)L^ R HZX0!b:::n Xk?S -Izf& Ygz>>L`>Ax!*FIrZuwLM4Z)/hmWG"$dl2iptQ4sTI;RNQ^M2WhchI35Cu r٬SM$Lp3E=S.SFQCŒxzT3 X=E7CEHE2 D?G@nүUNf^T,Hau!P@)"KR9;bAzXH枋:xaVś[D'1 ,]"`D6 RJ1ed*$J "2DnGɥ.uK0I]#ԣEH!0G&JJ)2q~KkOUOɧ2=YiZbYbKDTjeyҦ%MonsDkWļ (2|J 29up.HOj[?^q0VL-4Ȅ-gk>No-GJ/}/ۄO ʛAʕ`;2,2T,E}%U#<#f)>ŝ&xCWp#qvyJ!&e腎>*G,8H*[ӁIܪe F㻌RA }aB9b1?lOM/HoZї5:L&+YB+TYW^Z.P}=#OҨz֖$gZR˝N2cSa_z!l+QQ\Bw,"/ag!Rk$Jm MʝDjIrzcP8ReP{5h*#,]32/`Rp+?@(RA*CQ0J܄S1HȰ b&͂[-~:"BpZRo@zD)CCr.l!Pc̄tJ`!KF\#SL3JcF*=6S6 o'ǟKiѽwZ%dJ uAyđE(3FwcFʬ"Â+*΃ J3"`JL*lf2F/@[Ls!R P. f#BG, rpBtpv=1 ԒoHCl. J"爈]j9SCT n^f&< )%f%S6mlR5k# !Jt`b ,&aHsl>D?`5sH SS@sCP2  JxMq6#0HJtm]|g \]y&iZj=q+;_"iSHʄ[5E p51SrRIwCrGG3/7D;Wj%#Qɾ\# tR9 VO%&>RGUg2_QvBXcXRI`B@C`1"($ѝY8e:G2(DRy(AӌXg ;@@:Ar-R֙P+ C&:Re 0D2 nn(G^ $`"`LFQM6u,ޚMI* Y)cc-~BYnlbv0STFy[6vݢn6{g:p!)6*\`G_*AiD (#e)hA%0I"JS.v<>.E fPAX^qfzh)RUT\AXSA(te qPF0B4p*f*ݱ?"0I郜1TBY^i\!\g#ms}8ssm褣c-W(: _VuTUwyvKSDop?0a֢dŐmwDWWXMQ#P!D6;J&@"2 . LJRbB!v59)l!rH=③F <KEp'dLV[}]$92d6KLeEg22pDwԂZ?MƌكǭĪޱ0*w-\~ͷPil\#@rI2GB<,…K;=.oE0HeJpB`}_ G`-+4xK“k(=p! ,L=U̅79L4Xt9OpӗMH> 0ciXK F$wC;ab=Dz( DQ q(Ke0L/z/dI0W0XAb`Ž=Y ,e>A4’o ,6O ѣOl?:% "FQ9P[p,r%pn0S0(-[˔Nw*-XE| $#yr8ivm} C~P$l]rM:9 ]e oh4 JuNI(vETb )“%2S_R(*lB1Ejae9ƣMjz'(*i0T452pgBB095@0kn#Ig[Siy&$'= hV(( G$`Vy^8CS%(02FD'5c QVh(y) B<ر( 9LK2A;m}s Q1≄ 953YHKJia`@:?az<fhe<^z$‹^ {|u".[q*Y{҃9oAI"L: >V1 i1qG@#^ 80I4RB?}hA3+Xh*GR_5#=#h 0XQ!G4GE󑯎RVN|Ġ"}8EiS F,o/^>SCVyC0rAd_!@}0dyx`LE@:3|J2OB_}`Q+|A;YIюzVЦ zCqy'NuaRJ,iǥI  qxeAgJ8w$2 vđN3%B giG2 ~`W}1Fl 1!Y6}@.`+)Av5CC hárl\1%h%4 ),"x0L M!8GZʦ'Ln?0pD ƬA)I.PxM p,iV4 ( T5IJN}0t,Eg!hahƔ4[|AA#4J8InS7&pQ PJ)*(V)hy+^ I1C<R!{H~E]4cYe AAXi|E)xYb^[(@R.4C[h@X.K0/B00xy$bQ5fuuģBSz_Po -h:*CpvfR^ޠ$HP,W,rܸT(hO ;)D #PܡcP,2j &Mh<]$sl}ߜ)F=]$ vo"q@&R*ð*yɈ !%fwf+˶PFGEQKCqZ%c(rG‹`A% (#H.%ur5˜/(jP6g8jai$քP§W<^Nps4@!JHIu#u 60[IQ?gUj w})'@-c4!jJ91~S N6'FwE0qJt HABRX5/$6B&+aYz$A>aq %#:| D(L\#zTh! :L>x`@?lWrLo's@K9hlbF\`bheZ\CB8Ղk)!χBBjȌj~:= {,Y4{jGgF BHxhzn%je]/5avBhҠHgj"%/Q8y,R!RWUӿ-Bܖo򘃥ɍg2<H"Dj)u?@S\9H{?D=4 * `Rj0t k'|㡏c/eA&v q^( 8(6 {\4@4%xG1A|y3G'm:1EvRucւVT -"A PH JP/g 6ɨã٨rk#'йeD$vAv dJ"%P-Rug!~F=DPnE2bdzy&,bU?u߆/'P*+Ȟْ"+zr"$_onDNR֭}&IDjzj7ٻhX*nɢWUҳЧN9\|_ 6(Cxʪt&D6}P YtIQ&E! (K=4.޲"7jALMG!y>"╥\VA(SWޭvV=oBmb%˅޻T*k {܉Ur VߝԲcK?ͮ,XFuխ)#My썶uMUJ(K36GT#ؗ)l-y+ w%XI[͔n%3dսhz-Bnܗ4A}g+uL7ա욋tt[3%KEi̋gS 6Ee0˗!ylsn Sh֮6+JmJ3r>tDYMSݟ &Hl$]NJ&ykeHnй)NZE,#4E#q$c8+9O Zv e #&cV-dAl”to jINݭ!M>7crht3Nne>QnN)`v-!J$hI|KFhȱ 7:[l]LOf{rj"et^T+Amm /#*ZP dd}1!%+^tPzx5VAF<| 1#2[Ȱq>d9}Ah}A ZvG 9zFhXx8BXmB9m{}BTX/d!]99`CƉQ2j8aESy/yJD8J#8K췐q.xt!?)w&+5blcH_<((1<ZDi/ 1~#1&TW$6Z sx~qtA%G$Ic%ׄf.7 b$f8=K Qb {Sm! ADջG8e>2)Xr4qBQYz 0Vh!G"(p) E d8q$`hQ8N͒a>ax@$ы,9HB7;qкJ{!ΒhC6gj^Zϔ)>!F&|lH%;\ @B RIr) YX1cd-!eA2ҒZ_"F${ŋQDxO ): `!qMnp' p^MAG3YH)9ި;@o8/<҄+dK dH?(+Uʖ5ZPu=\ 5YaY^(0PgzUO^Q#(` 1W)lx1#afHaW{nQ>aD,{)H`(Du£x2<s вXr4Ra#xzFF)0Pi 0rrdQȾnKD RH;PbD] a0!mZ# m,I` ) < 0%A#TOQʍPT ;Y t\w'l@C!˦Ԃix($4pzsBD9׈Ay(K"u ,PQb!I Nq |]Hd39MKm:G~:ʭk0IIC!, MxqPQ61Y0f,aj 9E))/?5k)1x1Q vAB)?̬+H>%<0áaSV$G ÷ŖSAx[jǹ\l ?:H$GIRh +(<~ .JH`iabu i!rw1#ŨŔc/ (g4#"2#AăOB)ؤ $,H;p$ą Jw^@Ca=cC:Ҋ҆Qb $-Yk:HR֩肈 `*B|t3C|4X򕣔 Pq-t#㹵,hdž[HpV3-JQt/PX@jBIN(fI8 d` I$ҵo/M!Cb۷:́  ]$,c(aoB3ZU4o01a UPBɨä F;EGI>$%gsn4az9*Xpс>EDr} bٳgdFF/Y>-(ᣠVnӆ0Ң"X!}%ZYk:>Fnk.! /iƦjwJ A7eb x$ϺwsHmc8sJ (MeiDCׄnKx GK*Pz"BvL t%Dx{DhajI UKݑMbcc†DJxq`@i(-u ͐ K ڳH f(5yѵO"3d,1a(!C 3r4E/%H/E'm &ų7 u-a7M}ޜа HVܫI) 6 9®*mdK2q,( 2i" 8$q=C% p\eN#%ްr69li 厐R#lJ4QR̚.aגbk$6[)jEdJ[ebƯ`R)NlM6"Ehg{lf}$B;YvMX`fSz:,[$2`1e%k4j9D!dTC¤yCMtXsxm' &Uz)W2-~OeˈB,U߲XAFͬSe=$1 +<$`FP4SR|񱂼h 3CTUXm/UPGzi3_j5A< ĩNU#}V k(xB$Chr*J9a j5F peQ*'D^$ؖ+LD* {3hN Pn YaA80IFS-LP=Ή@ōKhBWgBOISQP]SJ@QTFKJL`D&yJ`(Fi}B/J 8^zIQnI;^TjO+TmUHfG'sD .Pgcb:z 'F {WnGl<}}"FQCXi?5IK;GZEédOHQj+BDuhMb al{hzƪxnl^^Q ~U D3',tnYK)IDNݕWjXqbTb2$}vM0D LFRAC=L6WFMCëJ(y mEɽru| 'JSjLԞuGn 41^pLard^iz٠W<(2 ~-?edɴ9{F K$s6,b9IT"#iL$4tl\S*JoSmFl9kͰ*:=9"%XF ^h(̃5[ *֏e/,7QrB?6YRҢlxU3fN kcFڃzpA>D!½Vi7`Lj%*RX[+6Oz]h5( d_"CUӶavB' Wj<h&(^F[QqRӺD6(@lS_?%C| Za-z~$nTR>肯슚=Q㸁0 nˢ*>iYJmafV*,G~DJtSm^Hȩ\C+ :WG]"XSGu/M򠯱XDえp'ұq ˆ;yӪvGsqS am~P!qdr\7 zL1trR?@A@F+mW]ŠCI$rT+%:28OD]D04ISΉ7t%+E~ƪ+f6824oo\TsmHт2 #󈷤g~xd ]HkD&.y@ ]) "ńcM!}"B F>oK'_CT2b|m،d~ `~-*%|'e{{ h, sdr o4vA_FG0Aظj< ؑAM&VڹxMadɦѲ M-H;ؑ7J)'# tțV-EDpJ>c3,ْ&kXUni5￲t{Pn'$.2iVԻ Ld`r7'66oߊUN=,cf˭w9 )>V"q O0m*D쯷_Ly-iİGt%j?6ǥ138.x}- $ly7m]i&">{Yh?SLwL*Cf Q|eWXFAͲJhRt7s/Z>UΉ(/`hMӺ&n6ht(Bj)&1ÅPQoWi)gs`I4E(z_ 't{ڼ~1 DL)u#z&Z dR =F|Jo?OW!1 de{jy-7J+/aqS{jy+HuǗG}y.4ʴUNrHw-2@ (d'JsR4 di6l:ӬS7 ɤ"G%sO~hVJ;95_g 3htAS$X8+G1GNz#x_I)aXUI *^D:5~dT  "~BYgRRnBv:5=8RCS!!$j#fBUacD+&oxٔVCmP5C"RsC I3 AVZhh6$EBV&쪲GӴLņ H!ep/ Hpf06$jl:xj\= KHhZ{N2,fd8uje YQI٠UeQTI5v}g^P #X8肼H1~bвoܼb9E^[W8=* m8MuXɵmyӤK- -BB,$C *40<*V4CіԙnQ,( 3ł ng H,6ELc% ԧrH9Q֑jVcX8EXG2#4իI D4n:.ĺVEWLMwg}BrI#t)Ftתknqi4`\sAL$YDc0 xVi@?FJ9Hh/Tj)SiFHd PΏp8_HB SDxPkqDB;ꑾuMqx*aȡ$IR( fRB_rpK\E9&2b8w'.ALln#*n[b`nsԎRNO ,y&LJ Яt9~# oWA24ǫSY6z;O/VxutLUm_YHX{hBuOhm2穥ۑDPJ0jW0.j%ћM #f*(*a&g8_s<9vs ']L)+7# NF5Mo-2TAOָ b x[C*h.,و d3N\r/Gk-ekL< .D ~&>M˶S,IE ],PD:yŋB&IޔIU182 2~9ĸ.S%/an<1ƾtS!l_KV҅$5Hn*3 6:QreN6^R\ۍ#/3G29EGQofJ5r20UÈ$ЛU E_޳(K+ #0ݱ,iNOZ bB8/U:M?*@f H' ȞD؇y9<>A9j&PadwD, bYInE53F@x*JNmFkW;t{[#%dy.\pvC ^\LTbR˫5,C%GxOR*ʎwT]Kl|K< T \TUmTء"[n1\v I qVBM6. vNE.M 2 -ϧ]c"XeG nRL]' 3q5'gp؆#!!XkHGUP&Yh*Ý GiH i\T7Ӈ5Eoxy 9 ^L*S#7q}S6bxJ}‚XkDUIeGF\AN'ne 3Gly"lSr#,VK7V0 Ì=8.Sa |\L2ȵL?S#rta' +cSrg.(Lj"?"BCb62.N {eB1!,5BQ(,bӦfQ56U6ƞ55j'I'=M:[|s& [- VE)5PǤnR<z=|T+=ij,$ EKjMqSiF%+n*(ACcOJ"L2ZO1 e"ך cǖaƎzP9=35is{ Gƥ>k-Q+o SħLbf6i >hjz_qv$+UK/6|oCOա* #u0Rօ d+OU:):Nn> %b_eab I+գLo2xFQԱ\04ppxO`bn4f(ݡh Ά+IQ (gH_AraOa{GJ z-kAZ;n_*|@XO<(ٽ1Hy'=TQn$݌f,łd&aTlR}&*'wj)n! Y_~V&hnZ4-Ug=|l N6YB,/Jqii)D.uE')ֻDh!Kx8y%5/ÄCQH 3.NҲ)$5%2F}YKVcJQX@k$VF@$핹՛h/4͠'1Ž4Ă,#@1#\`J`!B2$[ַ^Ud5*+]&^wU T*?@#0O[NQtt,ec-`Y[t_hl SlN "4`FG0RCA,Xͪ:{5; jibe&ooYq?w?NgS6ڝLD>Hq^\SW \#Ô͎j@i y$S\EbIcK`6ٴI1]LXp`ӿmc_(H4HēH{C^.$KRj`||Ӿ0Kj\WM1nzSl/W)]&n̆=hGdJRɼ5xz'0'-WefX["(A| WdrQ͠0&^%ӑ(_{{<Ƨ*K%<NƝF̯44vsm/aw^C1;jCUU Tp5p-0fJ\@S)ȪRJja?/l=j1qndÅ]J&E)$KRaL  #G.LzYwÖ0(n0SKG65CHOoZNkZd,\.(cn{JdgSz("(SV' g~e%qa^ *nH*W<;ZM]b'Ă Kl Aշ4IW00jt狎jm;gppjEcwzt3E+ PY+Kb:t{T`T `dbq崱*eF&v`f e?!x1 6qDq9OHhv32B`J(!?,`5H n( F8cqx"dsGn\$Tb8RKџbCA'Eo-4%Fiacյ =UE)i{gō  J[B5c %ᨽiX<2v!9;Qx~l3CIS9Se }H!̭YR_bv#t斍BVy/%܈`X2_,T]hh,L]%9#"w)~P!)+jtHf8 Db2qz.*|NYIym?͂Q՝_{tAH|gdw-Hke4pD!h#Q<` (020%ȟy#^<`Mh@( 0> Aԯ ϏɥxR,c2RHM*svxD.WQw!CL pj8,i3"%CG2OCD~KHw/H{El\@uLic=GUQŖVKɈåIL F ! Movm}8"Tqui63 i`"}LLB\J! lhU2`6l,>PLR R¢|**PSl`LbӔWw$Յ,fE㋏ѳT*ҷ]EJN]\1`R7'q}8\&9+ vPa_~@EJ0;d ”a4Jw;P>C&Y-[55![Ve!+Sܦ]91X#~{[Iɷ[G#F;O >l^'UUWlme^Shz܀ݾŭ- ZE,%"3@)T/T ɉGK3Nvb)?3Z=ޙܞزtA d?B&u0`9N %G5 +Fk4arK uX'ZpwpU0wL7g|( TRu6Jt6&YdХ"')tTٲٽ6E9 o3bdJt5]c!K O$6a?a»U-E S[W *ꆓeNJɁ@T(7s*Fד̫A//9M\M&q=LV*vX$VAm 4C{E4!m~++ 4*ThlR+<F}|.HGJ{a MɑulGFPj++AbĢ)g䐆(R! *q[l)!ZY=?" %|jig Gv栚T*%( +`N{t;Pq$bpFv 2~ 8;` \C1.$}XfBC (WJc)z=.ζRI m1 M订M(6nP>c^Ϳ3z KLo!FD%1/UHu[}N]t^CYpq.Oap']j-ΒSGƤ&FWC]8!p4%>HiP6 ΢UVbЪr|=;D0- #C[F 1ʗDl2gd1k1KrNL*ѹ^Ebriρۮ _]sZrlo7likgpʵӇ DTAJWp:oSgWb v"#uӓ{#[TW? De@о,?u-7?yDFäZ r|YB301V,.DH|`>t:)5DND<bcB65~T^IW2ȦahZAnF`J\ *TX!+HA9?ZE=*:pA ;PA7*@#$@6v:EHOd;u&pzjs>兘U+!2UoiT\VUafGU?(|H}gpXDPB1.I߼DNw(%škAs8!fvLNi? "RsCCX\ŒD(5GPNCϮLI9um+eA֑i,r?VNdx&!O-AhH0 P+f`OP\nnba S6~+ejaŴDDxߔ]xX_^7BMMGxD2! `$1Z#߉ܯe7mi4F}[oΠDiH- m]$i|Ln@AdUGJυMDODLٸv_ sGM s' Z"/6#ׇhJgj)^6d($Aբ͔ jéV/i{ a͡[*]^N5"րw7_T퇱ĤX18Hq1Ѣ(أ:`3PE(N4(I%ıoC]Y3hid/¶'BDh{Ť,=¸8{w0hT~Q5}w+|G_OVZVy3t LAE ǁBeP+cc:bHfU00JEڧc# /2b#y(oCr+2{v}3lrEVtJH*7jyOt\MFu F LhU+FIW~H )EOYϾ)"y* q{0F{Q#q'69SǗ,c0KyGdH %{_ӹ 7yR.$vgզ~O Bl-} .@Ȉ͐1ZJkJAļ&YHnj1g-QmtU̺1')6LxFWwR KȐ:`мCPAY+lѴ=|5'"s8#]Y#96z%߃îui59[Qµg!5mJ"2$V&DeLh0*s<' 2k $ a!+:0 肨-v0+E<^<ފCS٫  D\uBa$ )mRtR;?y-BGQOP?IjQ봙nc$MhM[mN Ǟ&+y^_ۘx?v}d R2u1UQD%($,ڕ,JKɛwewn\oOpѶ1tt䎥u9v*($x2K9EAgUST'iq_,P܁mI1+I"״8ǐ{h*' l`RFI0_oF;,26/g[%X& < K$bfꐶL70 ?YJ4^bpBi1A\ `|@Y.>D܎C%&T'1ST㱓r1Cw)0̈́ACW`ԒU -K arL)4OZ&ҝ0'jl%$Sh"Igҿ/M]TZX 'ՒQX@@t#ׂ@cy⑃)F] r;_vo2^/_ch4CP@'aR̲ .3\2)K4՞u'Jwţ,z2Ed^}7kF>Id HJ0ZZJDRjפ?t?"3F_|_r\uq39dVnFB?=vns,PwyZj"7 p#Ob0S$Wp. EGۂЌC(녧Ktk/F7 +숢$I@ mVe49mk7 e]n_m2A2 ;j"_ )9\O\a2P\äcc*R$]-u(F`1@8rٸi#*Kk5O1z3(*oM+Kʿ; ۳bIPR)vt5-}UrϠ+z[ E"ZkM7Oؽ|S݄ qތh  :KRU[$~_Lw(%@a}˾0%G"  {A͗?N+Y,9H^f% 7t{J.xgNrGo +RE08ɸ2֌eq,XfӧU<|-D7%4#6[Vs:Z/jB.@N$,05<#.h\Й_ZZ /s4&BHy8ȴ 9S~͆ڜx0(gtPUyiJuq]m!UGCébj:䤬KbA;F.gF%- 1 :diij W2z [T;KRw!jWAO1O xFϴD'U,^z*{[5h vJK-= %L D'ҡOB*1DS`M9w{z6ZP6Dy[;D!%C(sYp߰TB5=^ @T+A_wHD\= s#FsC ƪ܍GbEUI+T͜S8EBU)^A{w _ a㔂X{kY %P623|+KO+ 0*]yfVwG lrc fe&$jͤ9kw<ܸ)mFq}iiHDT67[We5ϙQ4,y _Eڕ"(+/'(,D=7zױ$M@q숕ޑ#<}Ogz5Z/d#"]"_AZIr\U8^CmwyGlXrWʔA((0^.]{SF&b! HT'DX%$Tf$)Ldop2NY6SGŢ=,>ѻNə wi 8.>D5#-DR|Dv<>(&@X- ͪVF*^J O2AQAuz+w]W>|jx*SҠgAHL.DBϦ ]8?L1? N/\s% ( $db>P4drV(?e%bOl8f_kZ\HJ|#ʁBD8ۃAJKFyj\KŎFŁBۃpME9.+vvd~ȱBO,yؽ>7CdBb1ƌCP6,WnC2G*1b+$%EN[ _c#L(`9=,}(205E?ЭT\TN"T6L V;6vrWCMeLkueΒ캟ڞ늸aw~CITsiDsp>an+mHK[cs @ X@nH1Ѧ7<~M4rjƥG=&N+E4eUf :EN IV"ZjW? (BlRLdr+VCWi sYMN'"]8F Q:A@l訛E_`@! LD}=DiQ6ȈłEZCALd2*ؠ1rh!2$j}/ڦ$ݏv#hF@VF-YiA* FOI^[@N޸@1EHZDjEK6^naSdDWpyGS_kC\.HF,Ba;o&W~WVO*9t]X82[~*kS?|`|#E#2M,dP^4#.!B=*pfbAе8h1,Я^Pݢ!irG!C̤r/ﲔ x$wb rV7zȯa"h>%6?݃ļ6Oe̊Vb4`-^2hDk) GLY")( P=Bpu>TRy= ~{j!41@ fNvcR$8,I3!l,8TODshEDzZƛ4 z\WŶVZMP%5aV3E5_)7p@Gds\{2.3uWEm 8ON{/NWa]12ƨ;OQAU֖)5J M:*d+N+<*=I~\yU5M}'Jv6G7=}({X MIcc*R EC¢7\Ų 0v-5t˕P PR.LMb#|ىh8ODG qD^ Er97fm짳 Cta%x&)%\ [wR%M=8""]g|HzT$64FwTci!i~m_$\4lE5"售H[[Uʨĵc; x %,+r w'}"x2#~i3~Fͺ'؊U$ҪL!VŚ-?Gj DĸNGzh;oMH75҄7Yj^Cz#K'95WVRJ̱x83~QaD̿?)$*~^B 'H%ߒ`Ǭ`vhFܿP")c&F|<*7-$ %%#x4cR LLJ*(z3fPMx0;m=}8#Ɉæ@LWMw' :pz{W!!j y:q/<h$V&ٝރn?O44+E)I!XRdԒ[*onSvb&JlcY]_]$l$@RccQ( mTx8ȍCֲ'h><8I1UٍxR9aY@~$\!E <u0P*# f%rxRUg.T} @+eGr6\r'5:zu$PIJ"C# :hh.fES{qDk!B ]Nox!zv&r$U R&X|ꪢFVOI ME=]=X](P"pNh+ X/VM˚;_usZ_p&)YU5;b  zKc&ʪ*q9 %Rc(dG#ˌZW<3$T!q1 i6<}|" D{K8^X D@f d]Đֺ+Ů0K{UJn8B??:uY13.GWmws,1F̲zBv60Em! È"MMQg0t\¥ȝFɷ[ezx_#*P.U((}DPE-YqcCOX:3OC Ru : ёϱRY+\ݬ>hUמ#g;F)CX%Ҹ"YjdL@W%KsAZ;ԽB 0ܭVqQI]I3'5-x1Qˋ wf9db ėu4TAQsgŞI&>,Kr28y>F//5o'[U׌EEؠ5TU(a} 8yHQ& ^\II6$@T*(k|`sqɜ$eE>ڸGTO64*S6b~EgdD&)Ep-m/|,џ?XQaZbiv\4)YiG &Pks q~[Rth0f'%,; 7=-f8*c1K"/$EM1qC1?A3ᝮ*MJe:DyK'!HU08.J)goo9"zdzpH.&E}ڕY&8q>h]D[!=E/a9&(ؘbfD$d_w7|_2;2YrU4Bd ^{巺]HO OE Ibc؅kx,qӚFk1$4g3+lJEbqOTC1l3Ůfe>wC`1i2k ]Ҫxl"5w6#S8ӅL`W\+'hBНaĮ0+d"}'ˠNs.\FTRf p2U7St-6>W!{q20YbBSKmhV}fDt2Q Iewjى vT+R%#X!K}KͣotAҤ_Ix'=Z.Rz"B~R^:6:"TD(L4OKgCyZ095iy4S#y Hf !" ;|Cvw&IsDcKu[kNӒCToAWY}@\vfAʢ{snS=]'5r]Si4&OI@X Цۘ[^u;@Pr]WAQ$!//zYr :y`9&QEȧK vmSQ!%?PPڗ}ȿLF4ǝgu6UYղ_uD^$'RcH#YkDkh/=ȱ!"|Lrp&F@zKپBK4 !K ?7ߔ:/""|MfIspdJ31^ e;/U+ s5D;0DO! ǂ֌ꢨ &F))$7Ҍv21snٍFB {ap!T.ٵ5US ( A U ϓ8b|ҝ2yd.WW%bSz]y!Ue$%FRMjxb#K҈'/6պ uKAl9M^Yi%aԑ-YkiDMLD$e D.W Ż:.pv1,J=HpT}Ώ@~oЎ8"jJ$@# a2f [WF-zͤCBac+r~vKl%Y%Xl#" 6!lD(⦼EȞ;'CMνDh6']Rl;2H\́b)hXWs Ѣ碦k &9:M ! d5NGy&'Nj*A5sp4ZOfr/SV>M 4ݻČ|rDZSa7C/F5 z5mp\ĥ=3µ(\ W$e*%+ŢLfƣfBPTYE Ʃ|W ma{^ gUQ%iӞuWh+aJ>K/ET5,[g~ {荌L5;qah |@ T0Vim:;;X&G}on]6gL(]qo J mF6$ܨ>az}zTS %J"5Qf\pJQEfլ+d#",Q&#Ƀu>C IZ)޻5t1%!& ^Lz XHR0)^5i,+)"29 ?Sk4锆*lP ⩭xdZJB! LHch} .v0f2܃gQiD!SEb͠M#02%8s!eD*h6rQ%׉T^ NuHEB^ 3m(VfP^"˄;ub'YiTy3FTj}j+&#=9ՇXDJ%vՔ,vأW7Rڹd$=)2OG4Lч`Ͱr**z.Q% 25ÆbF6(VE mb*W8y LĤE e.|%_=-D\:cE!SA%Dg\~]ʲye @ l ,n D>D 9 P2S:MbBwh*sB"y`P"A]3 ZupH0hldyDKx`@V4' Ih+%;Oȅͳam7QbGP" Mą01E>XL&km6(Z =MRH#hX8CtDeu(L7U]0%6lqSqJ1mf(.D/4VP\|]gzOdXa#O.'M%=QHt]#*I&N)ķ$U~Pm:޶L]9^'SC e"8T3+ #!(ϧq!)΋}0̐r>-o {86fREg]Hғ|It6-(,Rĉ2'6̐> ϋ&!/@<#:T[B.`5ۧ4ˆfhu'KYXsjydhj,e>jlmbΜIg)qh~LyT Ke /H[QFD0P:Da*MRQ5/Du$Oo"b6+\X~ EIY'k"S"R+ab.5y_,lZZ#arWI~+b%ENKV XE'Ǚ':YII%JfJ:At$UBc|TO;Diy7N&y,=j.(U]<>RF bs37t#]eۆO:/%>([\8W*!NIN  ۊUd"Փ'QЉ90yv3i*):"Q:Bl[6F7cvj' RRxxYD""9g֬Ac"_kuKi`}RC7̩>LozuT۫fŤ%hiv>y5oD 5ȯYVqWԱ& f[(e Dy l >YEK#<@<@!/~@`FN-Ip[j*Cۧ(nUC$ s~[x[i^fk*R*GcU#Fʪ[D%jGQ$FGTfPX|[:۷WB+3y?Ȅw- |y GU) Ah3^hd-? ) p*g;K"we8fZnu!IM #%SB~Bs5 BH΂naUI4lQO2I_ DJ7@ 0(OYiN&>al):>Y2M]#d$aZ!F@J_ퟌB Mo8ZBؾ:A@x (RTqՙ#PNYp` tcnxpq1"sa)Nt~`ubL#~qyL!F{:(bf)]F#/ @Đ&XLSN` HҜin"0_JhI^)53B]8!Khm` -%1 <)"HsIZ5q ewCMhA*.%` Q +Jq04I7IJz^ sC]1s&jbt% ħ@ kW@C80y&,lN8Y`GaX:a""0T07 ]~#z?РCWBRiXҵIsYѼQ6H"=$oPSdi'Vv^}!y-z3GޯR[ ɚ4BR6c1{4F{^@&q Yחun@gTFy, )L …;inȅ^~wJ껇1]X4zI >O_.3vVbz6?}ȼ":6{%"[G4fǒóP Ň?L"U ț_jI".G${)٪+ )6^1=ZB+ұ5bD[~\6d̫PwOtRCD(m责=x5Iq\FXFc$5*Vۨ`ѸJ* {/9$lRoQlO$8{*M..`Adu?aRK+2Vi [?$,Y^-ipչp)(%A/Gqշ`Vn;l`h^YRS]JjڧVc4Scmh;' ۵)kcQuUiG!O?kk[G%"s~m׸z9"B 6Ԁ>7֏K80?; ) d FUxX1 :dtcNI 1iѤ*]:t0͈܈yCL;Bk>N0@u5P 4(5ِ ? ,!ss[9٣oKz?##er?;k  CDN#%JIpI#f02XgHI0MFa83 R di "L_nDm,8dXьsJė Xy˼( Cn0gi֌Niȣl=1%LbREU5yoNEkUv(T(N*L}KK )r~t D@ Bp{DQ)ZWZLCaRO4Y0*Mx~RpE M('[Jnj~t/9o(IfWH$_6r,| 2+y.[)1u(9zKqBfC 5^5<I(@ 'eJ͂v^7C X>pJf2Q7T(tp>]mŬ3A=N:pͰ\JBq]m_]iu$-ᐣBBd $6,1tFTy0T9LƓyAk`UbgIo|T8BI($J[Ajtĉ]aW e=-^$Uʧ$;$F (27J(0eU*8 _"򌻶ږ ;_% L}d3uS~k; Ywwfay5Mc,VyؑܽͅRp6h fu7DqN(3:苈O *Xb e\ `OFLRLj4l"RL6 XPKMB$i+ ̀<o9 bBABeC>0ۂؤZ%Ftq,* xᚌ16,]UsD*-sS3{I{X]vӏU8;>DHy7eZA\~x: h*Tj&$3q5v*#*ebw 6q/j#. Qk=D k(=Xyh-V.0%Y $k:k=1˽MDxm) fa"3̳~KKk*%}* {(%f Bz c.G4qvDL6 6L7).@6,YH̝_$.MB8 u73*/$ ~l]~G LCd`*pZ"33!! o#3 5؄uJa'/ZR^ (*%# \kN[ :%6yz|0&f8PljLaPF41W!+n*IEΓprr> 8PcNdnG$1!Hhs+i;\.lw>wi˼Ǿ8Bi+ӘA C<$r'-ޢU_ϨG0j2#ӌ>~%qȌ Oprv?m6:I/eWFZ2֕cirM4" D}+.IjGL 2y*SL_5a+iZi3[ܛY=%#VSR|4U, TLHU)| O2bx[je]I\lA>Kb5nwIO8c'D£%E:i_j| &*Vrٷl Lq[H#l;&BSFu&`.b详t Tm_DW *ċa;*I%w%$*QRϔtIүjf:3?A2`[GK¬=otrbֱJDTͪ V&xV% 'm$ ubIMWDOG1W hT#!6]6,G.8-{ >$D(&T!f66ARV>ga/$yXV>MZX.RxCh:%79Zo[25`ɈèjP-{RkA=s!.Ψ͚JsmמD̕2nқnө.ڨ~?"^u?ӄg57_k΋xKVQDe3f'\rؿ[(Wn429ce}y5m)$qEeܠ0\3)FBjh  y7Ө7H@ G"NV*NZXc.Uu/vk֏ }Nujɵ D3()䳺g'CG N,]raߌ&zcP2$䀬V{/lIY2Q=Kzګ'Ql"<꒬m`n9+jBuÇ=2*>QޙfRD fGsҼ2RUO:EkN'V$-T,2J|cV$ xn[Itf kYҧ,\1/\ACŒihD%غIN[8Ga0)<b8NϐyhӄG<C.ec%_9/xV[wmGנҦ_=Dn7 }ˋ :=)TEO]qY!{pE4#Ma^ (88MFe/HKőlp+ LskGq~D>[ r0S"baڂ] /M^hBv]Õ"˅i\;fr<Ͼw* .1H*sDWÉ;m8ӖRZ՛K%4ҳpwu)s#Z|,S n+ Co+gHN<]YPE|/]1ºkO3;R3CfPL*j >Zup-g$ p<: [Vj(} ˸ZB T[ٸHLé3jPO(]Cǎ(x{Fױ6H fa M^ui[ j9:\K)\5vW:єU/#c¶%N.#r oߒs^u)cW՛xгe{(ڲɘVT>xTTd*%.)&quhMw>^1,2y`ֹUb#%3SK:O+ ֥Eך 5ʂ^3Y/%i\hõ~-b>D7:M&0tDSDR/"5tv (p$' i#LşmqT:[\0GLi3ػI?5G|1X3iLIO?0C9-4ТȋV{(ym;W+S qgΆ0\'eM4+<M:IW2Ȉ& &\ ))}UD$cHX06xFyKo?@ZٟE4OGw8YճQ8|xNjpcՐs$ab*m;f=du̝r>u(H!9е#AV,U%K^mPI[ӝS_BHa̝ ll7pyPV衕 Oa%tx"GgT}L}#X% ȍ>\]J/6Z|:GlYy4L2 C/ V-QtH]Lg>Y')mω=q2Zv .d_N*5)Pz琤Ny15c"8ק@Ժ(rm Z=?\$0{~w=|{Γ-$J*V; T FjηeL1>%0DhI}ҹ2z#\ǜPG6w >}'tD]%,mA?4 ![;xI'\;T=F.M/T!TOTdx^r dG4ː‡x3(;,6%#]XP RHϣ钵utP/nyO%X?,uK ̨0OY~Ԫ0DE8)vDQ !0bc~e7_S,xT!3  IdLJ< '> N- iOszACjC_7O$LWJ-S/.mEX[DHWX)uX\GE~28 ] pDd;Cz-("+z{mw퉙xh\E$kDиQ<(9PM:B&;.;緘c=B5YU:SxC An*;ٷՆpAS ʬSN#{6n`"M?eewΆZ1Z V y,tgFmW{@Y&UZ[NI8.F!} AHtjNYmq2-JU;po;7,{Hs 9I~s%SPXJD&^J^[n+]P;%jGsa 5_jϬ!mUѺ_p@d*mo,{Zp -018*c?}XCl&ٿجL ", bH!MH@38 $ @J dQ8\I82z6-4dnP3 Wʈ~%U A f\ n0sSY̍x ɉ^e6΅uBzfn/43"Ezavz[KNC헟ia(tѨ7PhqHHo|t.eUTRg P cP3EV(y(w\kyLj#i%7X{BPAx: dLB_#_[FEW&$;:˿lSՒTh/όdžI W+*C1[c7bj:BT1#%-Pj&]Zĕ !`;F2/uUT>~MQFĦ)I 2$4i颲u K˒3TuwH2K4uºeOD^g}!/ |i:-]dzTUZbo/كVPJ*<TRsQ+dMG{~µJ"-SL-j¹e}?M~ZOŒQD#3/K-dWWf\ZY\/DKb渉fp}`oS\^RPY*4һ4X H>Hm׽ӱN/$#YoU9nd/vʭ.IDWscΧ{{:璙"q$Gvgb.G'z[n*QCtt bnbY&A9a/|;D9r9PQpݵl_:vAtU F#0( 49%ֺ̯j+wJ^e@?^uC,h CƗgA! iia0Np(O\\;!i։8_΃R !CCEcPj#r⧆UHJ w1+^y.vNB# pUI @pU:$ !gRSAdULXx7~.I.nF#CVh= LhDa!+DIyV _̴B`j|P%M n0U}ģ ;J`my1 դZ'7 EU|YRلaίf2I{:m<$cy6bT|?!<) Ĺß&Q)Vec2fόO}&f7 BBt^CN`4Gu0c !"5^#0etIBH&qd@dC|>spK g4ĈZ.ZQQ[TZ{p8&3@_tϊn6]}ãʫTz K{)VN_=>eg%cޢQf&[,p=Ӈc$L3;ׄMz)KcMv DA/ L>C>a⎽ԥ[.A3~cH9 k =t!,н (fÍ(4b yf* HݸGuE)ߑ&q!D yShhWkCVش aql-; 9sP'JEH}I[u1y8qF%2QBCtTyo2]sXR3WŧIL 1ns?d]Q2&x tr W!? Ȧ->:ӑ UTR[yAhƢƛNN 'oqk1Ek\Y+id#Pt(?G:l8C=12}=ht*QUM$ dO*r !Ҫp*:.1r ֠-$ i]]o~u8_vll 2p.w{D3=FyAgaL9błTn/I[c:(|P?*T,k I"c,'8j $AU ±KQMuW-EIЦM:~bmtN]{%uC71./VCLZ3NG4&+qOOӟ]+d =#U=pU=4o]i% F90ȷ5Ḋ! "B{CT|g,rE]ቂsRN^˽fmȓWޢsr>==YL6bضAC aunɉqkEA?sr5٤'MOz)oQ":N"fn;A/(}rQG#J%ǥ;@fPeQxRiN1tlR8$P& _~Q$ld{I? '^qPR'Ԃ",H!K.mݓ l& hPؚXD(O!zHwy }GƩQ]n e 2xk-ԜbL[H)CϴxSuUc4%]t'R:YY7YjQjٰQj71X[Cvɨ.$v܇'zVWmu6 &a *5lglQ3CGo|*6Q^̉lCy.b{UٽFr O-=F[\&Z\m31AKN[+" U#7ei.Q/ˢ| 1iC WSP.u;A kki>4Ms+!]~B"VbD!f٢1ˣrB4o$fm,K(wrt%RiQ`"mǥABտj/"~b}]Mt8YR?:RLuLDgSzs! aAdcYV n=3Ĕ MXYK90\]P0) k%}i5ֲiy0ʆh|' "<*_!xBVBLkT qz?ܷw^Ku"LWq@Kpd2= o!Jn!fvr?3 b pJ1{Ľ+֛IǍFަfz"\]n1ׅr ZBT^&hP!VLeZ6jYP,^ k,ڦ7A 4O*Lx5cace'g2Ju$eO K(jnV֐0d|^A%{ GhC'ImSHʛܱىqF QmlCk:Zb!2 n ŏ^ZP<^B-!#Un1Ry烾ni3pDC8LBA\9)zcњ ФDKA"_2&v*AMA80j?EyD``?<~O ꚸSG@ONP HM;J~vBDU2Eϕ'L:[#vHVȭ y| %`͐QP!T|"#)cqlU%C ~He!H6Ng'rd}ljU,C9?5 G]Psa%DCXLF`,FX8{^9OUi+4;jw˃O~({mjn#Wz`ܔɹin :w_c4}pBTV\k}-v ^{7\# xXR*w 󠞲IXN]|54UW1 @ {L쐗e$dpxD7ؼVDB 4,TTY 4o_2t̐ɁʉF^L!p =23vDVxP̮g^pY屗:*u9r*"sqmny9iaKVIt`*Iy%6dY,̜{S~EX%y iːT7_QX&Z DW3pH~2d!FPJNȉ@BLTUi@P@H0D4 (-GbCB7Ө w5X$Ex4 6(".B,H;m AxAĮm٤Y-\*PpfRkDRo3\IWk܋JxK*sU A݌˭â3C {mV?=$)jVOה!jzACB(V`34 D0XHd \J ؉2P.Pt ɈémR" oSqam#x NԒ'3 n5k |.(x,ݻVy0B]-1"}=>25fqsC"zLLowR[wC)KEBw-옾 3 T?HEvÃEC03 2H)0k@2\mOjD)F"y@7ZmJXYrS"fm֯|␈1ɶiZY67y(NDZP꘲es8iefFĝl=q{mԽ hRJD. ə6&#Cf.IR ,x ]*zQjr)E r3!0esYZ@&"IjHq 0BD6p1=9 w\TN$v'k}M{^osH| F<ڪ&UXꬤ~@phuCN{ܣnz @U ʞ"ͱq,xD$i⓫ B&z6U+/t[4Z#aaohE4e-ʒX,B ?dAfiʥJQ6DGgEb5x)BTSC - 2 V},6 D'1QRJ N8F?t$X/V ;JNzfM;]=haVN۠2JFfށJ8T"Ppv)v23)B["x;X[\`PK;5U}gf9E1̽i~To3Ycl" 6}:h{@zsF|ā$w ҇ba;uҒ :uRD1USܱtD <<"i(wЈl٥udΪ}",h T'Nؖ&3IhZ:*$EXޏRs]42C2vb04$TBP`Y'OeMrDDJv3b,2PMI fq; SF8KB{Q}s3o ,4P7wqep cy뭿1^4?˰k\ Lc"C> =&-|˸&e]2/\ QfbLOGJRJT)9]FӾ?t NUgN[|Vtr6`Iwp2!J"+IU7.%  bxĊ5|/tD­`] Y}D@L,dS.NiLmoz!T :0BJiEqV9#Ld]}Z3Z)^GOQ=Gs9S^:%Cq `GT tAYJU5җKVρDڿKpk 1ʲxٯ8S$/"+*\PYiQuXE<ӞR鼩$=*+Nj(qCg? U15MDɛ1d=484d[)Іi4Y}IRM}X$UNF-z`3굗v &(R6$ 7O,Guj(ͱC ^4;P\݄WE`Gx"u2\/:|vDUbg Lq?Oi6Vdt}ʌbIT 61GkgY߄ /bL'?DsORݔd|_2%_*z7KWB3$fTRuWՃov rn7)Yc̞9bC#*%{jfxv#[Ud)pj fCdYSH;Yƾ' :,ٚ$%tthrhƛʶ*BNld`.Zįs!=>~0 ZN-O+mw򬉙]t|A5T_?-$,^l,6w|vV^H_/z6>t@(jNϯ-!b*񤶪1[0 *' *b,ٽ貿dwX T 35ݶ҂oPJ#;HD7p~\ {~ሀjb/MQµ1@;cDbthn8ȡ&u⣎;*煤(ZP\lXEm]"%E=̻ I;hrU 6Zn`\vW7㴄`-X2r+ 6I@cESfkaKh!%%–B9BC-MW3;lV#4 U f4a6T*(+ɯ,6BӮ>h/pN 3Z(1%zῥҐ P [;`t U#Gdz.DOÁ/u Wͼ2`'o4Z&O%)uD6GɆ`IFC 鉨*[-%+Dr- k`X.hc <ʏP -E^.iQ"[1CHˌ PG. *8LiײQpWD8 *@fVcI)1Av8LQҠ|/XX82&gM/G8th]'UEDbPx[ ٠X~ܐbEC@^lb0ô8 .b:2X0);dc ď(^dѝZ̕Ӂ "&8Fqx$TGCQTP@Q3DJ (=̦nQieef hBtf'Ko NVjm#5aΊ 'A &6S1@Ix\Irخ92B#Y7AU![iY..@deRaAizwzbwD wHtV[r`coN@zEO?.ZBf(8nDB[=)n2T$LӲס!n"njDDPvː24 t5  d`Li{m_@ĹzCdC;EinhIbb;ɯKdlƤ~Fg=_J,k˪^BVU*[>?# KZ+tIҜ8bcKE isDJ !}(-}q[MdkD4l "a4/_*VĂkJ^UAq /%G1S)+E_J|6ʕԥPSPb[/4:$0fxS H!"Ј%H 4Y00.yl\LVr\s~t3T"P.3NxQ&^ZQn!Fi-cMDeC9JBQXŖ;͈hW`YbzIϞqV ~% ˨Rqps"'-u%qg(5pSHY|ui6lӼTKPz RgۛI\uM1k>2G0*2ÿg'؃.D(l!xPƮԊҋ;*qWdeNā4lHpՇF~*(2אv\ER|hѸTCTkKй+{嗓G{@.(2$ aLPuc-+OB KRɵE2m4lV^{jfxPlˡ$>r_#¿,ؙ5]vš)i;wxY/+ .Pj:kn~ sg%ҬL]VZߛe~Niz?6@IeI)NВZ7ؓvxϸsU'KRR e.{R\ou)kd/dgtԏ$S,Ko!X)5p{jBDSPzN=uV=ܹ0> c4B!ϖSftg` GBa`Ggyk%Yy=}pHp@& 'C[PbqqHrAx(wuhTV,R%p|㨝yudxSVrUtσ6_3(UR|ըDh"s\tD"|nQK_<-^ ^_ d1AP 5אkP:xhù*o8Jɮ{R^iB4""W~\^~:Q!?]NjOSM\2D8H/dyet{Kt1,M<#^NVR'jwl 7]J{9) JNSt4͚Cc4_͋>q-hXRحRXwG!VLʧ|k]7^I[ |FYҜ"-JQmQgͱēduH4ݽf+kƝ 6Ls"ۧE<{fcY#Y""yQH0zx2XZ'3"Ty;HDL*5M Z~9hWA* ʭjf Z~ Jԥnaّ-L<,T#U8'C~i EB*Js-ZV6lH֦S,~o*Z*DMNL3<-GZ9<"p DBIL8`ٷ@6Ai/!pA=8sS4DqJ,4]+"rCOIWw.B.b**8a=ޟ i.l5/6|`2*[ؗ2TiU1A `6TۜB,AL&PL{Tꮛ 7HLN%wt nݞ-|&'e-\w{/W*RL`0`t}'{|MDI|HOq߲0@s-j9;,u %/b_\MɈѻ"F&>i6G,f*yK;m"'k E0O2|xf֕(bB$ދ4Kg[YJUYG Đ1E ."c'$% gǷ4"D &=CP.dQ+ PVD`!hƙ\&sr3TR8_AD"'ۃOh(|x5,EAA\vN#uBD-LJޥYkx#t\xȡLd ٤jlAiXQ˭CR \pˆئ?-62J*t u=gP"O@;r+g4DPw]m9ԄvIϨ$\a,> \(>6=ӿVXُ'V"R4jNdA}bI&Y>LbsLY/>2ؐk2p ,٭ ]`"$"5}?8D)AB,G $#$ziҨQ$^B@E`BGIMEdY +RLPɰ{uNQY{lx*3t#~zO/IQ4dk/qS努Bxa+Ї(3o7'EH:U*8s̤H\&q>CmAc,Ac"aC(U8",>Em/ x;+`$DH"໓ p1HL8ap}BED-WDm)Q(Dh?+y.GN2|8p~ >nqY# t$Ȳ#a)8.}hhs-_vx 'V9RY@Yxfs \HU"WܧRᲆ.ֳmC63P#0 8y7jbXAkW|èI #ZF X=Sv6<IK Az$Q2L[ _9*T"(dnOL `Zh;TVUPpLl('+ QGĄD$Ɉêd?R HFR2T8y}6$+*Op H‹SPDZ:CA|0 D6cB]M axY&@EtjTzW$Q.M1D˱9=t> ȚތQ>dH!(txd;%sQ^/}4-SqE ]4X)RK?"늮Rv&pUR<& "+ 'P7uG߽Z xdcTPIJDW#5"P_$RDHmO$r<' Om#K%$LLRmrn.%ocEkPQ_!(8Z7n;R*ٝ0L[[7wV+A:'5t /6Un)b%VP&@gˊJfҪ'CqiVLSɤP橇VW㛔w3JHD}!³|3ډ6HXWAYf<w+][Y"A#j%J6x a(A3\mv%eƊr_7|)Ըc{3*^d6s+c_"Vvݮ#;7Ѓ=jڎcHʘP?ŲﮤUD1C @T5H1dAd @w8%x ii.Ai}1X6Ә\ZmPN!L~1xQ:(l{bۂ3'dE:2D( 'z=}6<ޟ; xbͣWkeb(fm^?! /lrL09i732d&.#Wgq&yFZcR6G (rc(.~3 úu-JKΠDJ~Y8{i=A;~*c,$#1aLHH6y8ϧыoEmH$7EӅ.VF`< gi%_T(FgD޶k՜)ЗOv-:))*"FJʚ>K$:B[o1m7o9"5iyiG5 L#UUʡ~iϻ[&E)ܷT9.V2qD4!GQ̲qdHG@iR)e:Z;b/oT;-f:Rj8 Zf^po,v0Y^ڨ&e@/QFl]b;RT#:I"odYT[0!8Bdj8aa0Ⱦfb2ov^t(#\|P"(ZG!%sBm!>!qP vΌ|QwMmWux6-W{gVW$y=9UbXkrNFtciP=6gHz5:-x"oSA]ۺ{Z穒:?#Ӎ?[V$V]ЫO:Ke4\F+_*߳Fr(J #ȝ%&J.ǵBhBQDFxp#_Dw"IߔYDG-swK)vare &K$y-#aF+.#a[ˢʥ3irY]ŨHcu)$D~rzW2ҐtLOyX7A0l0)`4&GylFeQ-b3c~$X1{_M%5'."Ig[}‘j11$AܺEuO`~%o=y~Ț$ːhjSMXsMj ǁf?=?r@sZ%9Ub ʚ1N+;K[{hVX38 T#Ie]]CH+gգbh43:L5k4ݻНsH`PnrKW= RW3B}:_Zw3/IPˢ/5{" ڛ0Tb,TZ:ݻ7<+Kq R.øʇ2[Qoگ&\jC"ԔW>C-.=cS?~_d :`, ώdwH)mg7y7uuIH[]EFʂwӁPH\!ve5̰ZfLiڙ ON]ƧH5H(|%Hy`:wh.>!"O߽Z\Ԁg tem J%Br&6 hJ==9BzH &28hMa3 EKXХ|kZeSG s5I dS4W\Ru&CFT*}DjIb)IhnD9E]s6Y@@ɗ>!"Md,,t%)ƪg*Cɤс} ~:hN)3ro^L@Wi|MzR3%:?p"QX#`. 4tؕK4*-]fCXaS+nhP ZB%M륐owtCVEK"&?i)>(. āL !꼍9XI(h?=ۯ6$.%XIsЎcYpOJ]VZ 6 mgfCUhڱVGӚ^"5oU9>:á7R/RҁYAH-VYCT]=uԶ͐iȺ !R^QNB S DC^haqԈ"1)H:6'R3wsn/:ar _"IW\#mBp\e@l >ZDŽ\EuoD/uE0@ #&(_}TBF3V'G /sk&s(( 2acDd|3,Ϋf}S߳ ``h E/| V])9Ii$N/o(|fOcS|$?J'}0j~[Q:U=3!Ҧ0^ku-":V2ř:4 hil=I47"+ψa~McP"hI?BB!UfrA*g1#$E4j0hpM,]JC &'DFD2<3풠ءj H\8G:5שQipI0]}%b" 6*0sؠL)lO"3Opp'"3ˑ%J%1D~9rhlbD DbH }I +jLx' ]*VO(aE2ڲ)Ӏ亮ֺ! ߋCcXfb<@a6OR&'P:L G!=Qj\fL-~$1RdfcЙ"u3 Wt{Su|,(٦R2Sǝ-0i ԫա &K_R3||vG Y3 F=<~P4ciq SԴm\^֙qI#K. r*5$q D3)}BC)&률@T[p#7O>5eE9em8RGU $#~H Ta̒sl5o nzŦqUjB (l 'SRb_ąSi(m2 !<^؟2:s9y,51Ж{^N@}`Q B?'8aXc&Le1Ժ^hpHZ5Eꐷ::yOs&*cGUPUkd,9 ;[$ޥzX0~ VφIM!5`Kٿuw֮&KU -F"^(_*(=)< k()_ EuəR((LӑQ-툯Gݘ2K oT͹%;@VdIsXF^ 5XD% j'- \ﲅ8&Ds6bNXzW1vu R_[|vl=F) SW#mBm^(w/oDq,=u(9~_}+ǕRĺh6n؝ҩ |2O5]+^P6_sQ0JdIpꑬՠ=qwd;l lxs6UQ܈鸴m@bj<%I5D44!{`M*~H@[Ht`\ |IG`ZD.UsRMj2 SȌ:a Ǝi@c#;$V͛)A5 d䚁Ml2'k"fRZU{SSFHOQQ@jX/8xZj߳Pm˺=36p@Ӓ$ݘ~B`V}c kzNZM?! KHBxItx mI x+P? C36&*|`T\XP2Xhpy !5nJkBB-Zjj ㅒտwR䔕c$t7kowU6̇ "` 3L%)KPC"L$R\cKw2;"MkVbZvoT twuaf Su )rם{* ܇4)9ND$JGl茻uhKGtxMȲ:oԳ_Q2٬`(qh/&% Jrd+3! e=6-YDBudVĂҢ2_㜓""̃O%ſ, $^]ooap,\b1O)“CBd6"la0dHAr3Jެq[JԗEy ${lL,Q95;hհ"9k4TzV.jE8*66|~I&I:-y,[)sI9$ :u% )Kj9NKe:+K5TES~m dEk+kUsvNwM5Nǎ"\MEaa<~ .|_T%5llӦ/,U.%Xjv*,R I;pV]sT VWj>eU-vʌHrb5 XQ3AUiB'RӇ?@K2X:.RoD:UMTTdӕq7'2f=$U ( A=[\T\*<€p:/*yKǩEcs\" `{T|%̒px.ZC'$kžbPip|]樠Nӵd PEVՉ FA.H*V'*c\D6_? NsQHrMlMD%l䅤ڷ(R4^[%ՇVfaR)d麎٦SuiywG0t^ԬDHOLg6#B"CD͔ac7@JI!?P:5S)Xj1L SkpnDeιK)tF jɨë D۴ tLX*6w.3ϓ26l ==%$:ZcPB"tV[ (i,%Wl_̭I!x\p[$ൕFL Zb! Β3-'ɊF{9!m(2ABX3Qbtݓ9U*AKNHcSRtiS+.h!|H.La#MrA20QպeȒ5+>Q+p[.wUx4Ĉ_Ȏ2`Yվ6lIؿlka+ƯSpAR S#UqeV:u 2%'Y6pjh(`OhB ,Q=}Haf+&/c@k̗uD* 'u1fZ*Є0eqtgà_p7"&) : ԵE|:s*ι3աPr7*_%b~b+gZ;2Il-ZNmi}BaJ|uņR* T9du8r\ߒ.@[5ۦ:AF.l B5 ^H3K y'~O͹R~[$@`[*'Vr٢ N Imu&Li]5P^SJ3EbA̺̙ RSc"l+W`Y]F)hʣb{:C/p+N-O^,)sRŹLZ*QN4YMK&oZDBuQ?+D/dRY@R]+6W1 ~Ae zʷ@NS8&xRq*R39DwPDb#t'oGiuC-.FY>L;w"1a)6fE!u׳] uQ u=x'G=JϟJ VAOAluUER^$D=^};jPc"&@Ѭ<0t*ɕx4v0s$KIo54QA heԥ}J 1Ҵ,>0(LlnIzBa)"ZʯIq$TFM߬f*kQn,;WQ/rVȢ~;,$1' Rv}۴R«(q"yӌWZFQ$ȝ@/fW%tret&^1M.~OJ8Q|x HKLv.Vgrs֕u*mq/:.cf>nH~VWp'iVk=%bN?Eed/گX.6ʁG-+vM F$!b]y d03lZ|[@E ~d!iZ/+"ir<42כJf4ZŒA `,HNB'./oXf>! m2.Eĥ5z6q+V| vE yXþ,X=r$?o\+ܻ7$V"|~ :̷g'o])Toʋ'hZt~ܘ*L.#54t~Ǣ,e`2bVBa[{S .h-B5.8NrD2?R!ZBq.+FZCĸYt"G٣&-~&4pbNo"i\'<`Ϥ,VI~nI <\U3hމR48MT Π8g e1XO'$ 4?QDxY X¾YVGOh!"hZ%T/騢LiBBn@Ne/-M^vj m@s&JjCqܰJNL&\\mQ_iՕG@ŋ`9\.?paٱMm4JBlyĈѽH1l ehSI!C[qQ*\I(d}Йfv֠@3hLxMJFpXߢb~`_u ۑ6 e5*kUd, 3;.BdIA0Un`_C &67l(o|l'>Dhp DkE;2aĖ-_ԡ2jSA <xMoIi.IKUO}uR.ִ;-"}8.zo6Z)#&r] f_Bɠiz$mZh;WˎrT^$Vw锘j1Y3&&i5(|rN"nx? һ-%*|[ ;Wj"(_Zt!dZ3_$옔 ]EN6MPYb"6`L1u>fꩯZE;T"DI6 ?E{Wvh0L}n[*aؠQ DfGm7/)>ҿ.Ԛi,Dr&cvὕE%@F1bST# /C4#j f2r (E h. n |PTCV~ޣvi(&r渎aQn%!NEhzPnaDWL<}+8%)DXbJ]R^ %[^cwl MKT؏44' {d4K)7 bĩ+J층R OgfZBN=jNGX3cG\6؝[VSIɴ. 2I"u0k 4*k^u2>![͙%oCLhdsұbKW%"S@ppYy897x|0Ix! Z>Thkn'iE- Km/f#Ew}{'./fjb`FJW*dn=-uʽ?񂜣"C̢l d2o'#O6>$9iE)LR] \=)e j"?1 oAvjz,?λWI;;fLH%a^e9"bM(lH?d,T򌽃(d Б'Տ4S'^FvwQ+O]pݼV( #/|< =#z^'6 :5gYabMwYtD9B[Z?96 rCBϢ ܙY.c^#-P=/bC5_SUN~ҖK$'Cv3RFm A bSjwlzL0Ei]WY@/t͇[K~E;lEPH% NƉ3a[1ڝl҆ LȪ5BYa*$UyH Ll=Ҙˍ2T{Ţ!:2A- SR[4J=oLLĴ)O24# 7amwSF7b\;d*tѦ޲kXwŔ7MJDޏHnä4Wj,<=UWY?2uTG:>0C2@قEbfZD^^٣# R~Hr,.x9Bk"rMȘ?+FpHbuv\]b[BylTk/a!QBҾY˹T`ƈ/tCkn" \C !VZNڨ*L&έ^B3P\g,{ |US1vEaakEۖ.!U_MQd!#&L4}RȖg ԎՐzyXIC2Lt O$)E.#;ک%G MOJ)WX͕ $kQ(lH^)qI89d .ЌJ 0 i#A@LESyLjE8",D<+G]>OM ay.:qIJGO m"dd\$3񣤑eM|($C"uf7H% ?lQ%rPBl*% P@|8T,Ly}b|J\]-SwH[$zjA˖\YFgpDCRJg-pF *XdM CMrċvN|MtDVF0VD\1H,<0 Sn84-!&@S4uBr> ذ*U5]:iX$&MȔ= *@ ::"HHC xthK.$#Iwu(Vn ?6䓺 344̏"dAB^ȌX PpT<& |#ߩNNIƌ-@¯G̊Yb[$}gXc μA4YB4ݒscBϑbtDCRAu?@%$#iOIDP CI7`|! & Td #'\`  =e s rXnI|14#r? b>k"e83(.0lgO#Ītr`'vЅ5ih/\dY O԰5~YvIRm5cw )hN ʬ eԫ|,:X{uq`^t`OMhM>0FD/=hl,lTs:҇>)S*X]鏙 v2Hвʘ Wt} nj7 P- x/ݢ*$X(8WP7(: ݽY.ZJrK~ACWDX # 2ؠ! Ak m *Ľ B&-+0`DY% >mDA& ;8=8u:xbϐJlT N3{\㜜b/ۊ%dBIBCËÁ"BQ⡑`A*B-S&HC82+>mWDMPQƪGn2(9q'' )h˧e5LpB,utOu-Z[ȏ } M2hEn)FYR_ǘo%Y2ԝt C;3MH#`diVfdo%LfŌc%`Q `w<{W/V Bi/"*uIm \^bZza†80ęɈìvDꟴ-ʞJC_d 5:!3oh8Ͱ.s%VgdB|UL6d >[eHY #ru OTTBfD&UigzEۛL^[i^e;BU_JuS1L:q/QMv=rtJcX+A(.C 04#|Ghvc4$b')Zg2eTZ]q-P6Bd,/lЂ_N#%ě̬x]aRBS@렙*:TT#!.UQj0 4[ܙ"5xw!ݍ2io4'%"%/WǷ V/ڦяaCGӴt1L]>@+0^ed\|(0mVvƣW:?\OvH #3)!(O+L>o  (5W~y7{h" U 3:.Z) 2\u)2QC4@0[9㾴c3xnR$ d0@N95CX1t1܃*QS(s(ݺlY/~`Nё1+6)Fn۔$N w{PV#z=6NWZ[$n99;9ә;k$̴)I_%j Xտ|S@&hR4;@d+SfPp! ,:sG nS!B953 P!Ba8#Ѻ@ AhğS(.b=5rH"n%f"|[pL:ĨZ`$LegfptRUkz.w/NŚZwc^\cumRo!p1Aϐ<5여eǥN$8SU3<uWl]Uq q!',@M^s][zhoybUju}kϝX?ukʮ[259O5 "a anvЖ؋F==nFK?tƌ,g' i;2pau?K-c54^Inj4JX"NQ+ti0eCW.7GhEJ$(xh8K  !Ń=z-B+ؽFAyI4>>z-s}*+ZH$skUKI NOM;\3R KCVp8uAZ2L}<0\AN l,VC4eg2uk,W5ᣜ1C}U\NIR+yr]{!?`XSK'qI&7eGCKA=?'%L \J<0& N:=!) `cx@T&3{aREF.()%Ko~n#kJn>f6n)[[ [QS~ ..#ZčdEYerM2WdDsW.D]MX*TΤ\6o% 1UI Ιc~ '̐Od(uLvd\!Δ,  /6Ui'LVTi`ˀU +MZԯ/ؿ"*Ͳ["m W& ڃ`D&ul& OJ^nzYV6KJBGeEduԪS jQdI\=|Gڤl:%R E1mnE0{T $bZ/C'x  NQ5LicjEt;RHtWzl&;uʽR "͛MC^to;->vdԎI (Gl<)x.2}Blk=FW&]P/jxϴh;[A~=%Ts'{a=a<ۺs褱>*S;p=Y-j_DZo/_kߺް2ڡ2I@`#db -2$Ҁ2 Y{< \!ZTSƏ)oJ֞t%I9 JY?4UfFp n+ V2LKZ%yX}gf\*/\5 ؗ0H.s*Wp-LDA)K(E󼽕u@bF-H &enz~ת$U_v9 In|FA~?1 !MdUdI?Z"n-H Z) TM!axW?O]FSMz殞'}[$ nc9mwWVAItjeɑrT8gѐzHWʗQ'I2&QFT77ɧG DP&aJJUsKlbt1x=JY*WJ-[FDC6`f;5CZqL؊[`PYhCHb$I]H < gX7Wݏh)PdRvN l=Z6&o:/<(r1\5Dq^tk#ŧ/}w w6>:]F 9cL2XIiUtw1ΰDKƄ2+'F$V\>e?m 5!ZC%*6τ,X/<+kDfA*S4ͯQt_`_ZdO^%-P)6_)0ߡ--&̔3f"Bkۊ1"4`ȄV*VBf4#H1t4hY yH=@wS:ԻMpLyzLG\;hCFel?ħFdFTTu+k@u=6g[=|x,Å"cMD$|hn5ADIZNnROV%8hx$\!-j8¢@D!_BfŹVܜ_I_)f͗'j5-RI":|ܑQft PN$'=jORZJw:dGRI ԊJ`)0O0Z7,U$pHDh9ϖi?NQ1HwiҟRfvTjx,bZ-U%*(YChJF-Qu3orvH?X侬T)jzc(jzTl6."Y3Je{lIQ|Bx'0wOp믮"0֊ %+ F7Fp&04:%M -ad}R܄!VWA!O  @06W!y[P*,ϘG Hn+Q,[dNv0T`U'Q J_0MJRs).J;YHHК 2Fݑߔ(d̸'뉫iolB\\n84y:#DHڑ ngh0O+ Vl ?72 8o^@͈J'h]2Nz@ * +98O=4'BO3d\Oߥ*ꏫoEI;L2#J56͹Ef ?_PǂԭZ~CLژ`I["OK&LA7!Ӌ+. hXy]Qzghޢk:hϠfOT4ƒ勹ݴ-{-Pr%ya~1V~]V~&4 |}u"(2F詋e.H,Rn%"gk]Qi:+nB@#R2VhLhE16ػZ89ny#_C[iQ{+0{DDʗ42nI\B@K=N*Ln+VmQs@<CD6`g4\J3Rj9QMdՖ~M -Lӯ);G_U=E-eLU$q Z(eGtfMm42# =j &IRId;@(+gsM\7&0ĉ(0cfBG!r⯐A lfk3̮9W~F-LL/ʔl MISu&@C=Sڞ+5-Ɂ@z s0R@2 2#D0|HJtHMケ8;;ǘ C&Ș"CH~Q\Isa}1~G+=>mRS-_kgS߫S3&Q5zZd$5tObT9ٶ,][JIN_u.oCv٬!҅duFXgj=Ku=Wms/ِnXlve~weQ\(拈i+H-N9æPHͷ@&04p)0E}b魚?>1=NB&Iq b4QuZ`5g&  8r#nfvELA8bt$ܖ}|XXB4&ɑ ̌"6+\rY s@K+V%{ i#aR )DQeJS)8Z%#ui)YG`_;Cb-RJ"2S튲rtHY2; G u[B{̋ELlW_"\ʞźL S,$*'~(<\ʡ,CT M'm]>< fX"P/,awE껳TBD$j )ؤbc%I,P)*\A`GD!č0V_Q%n$"-?rςG%2ϥM=`XvQ ˖he%y\ ѵ9=#P'(%e̳D:tf2ww{V,eB2=rZ5W5xaR"ƥHUq8+sXq7_1W)i%J9]|ěRi0KfATÍp%/x5Hu]IUYJ2Z8QfJ%ͧH1K66dT:*L7ޕFNbVhHo} `Ƕ+5A8 &*t ma7jۭa>")0t NMꊔW~;&_\хOc'(o"s8Xo9_A$=N׍[\QZT \nu-6g$(+5dij"y{mݩP˧qwZQ]ls{MAu{ʕn5\g;K6g[:$IUJz:B@=^NZRL!V$SКFp -UUba!{&ўpP.&*JF"`ߘlɶɖ`Σ+ %w Df[Ϣ}Qmqi5(jHzċ'_ݏ g\gW]ᆽ6twtf+ڕ\~RI9(+cRZ[d 컒 a3(ds铎mVr׫#Sˎb9_MַgWzZ˯Pl 2xP$/@ۿl|Veu%p4Qڂ+WSov&PVM>G eFӤ5X?F"&,Mc z0ɟ#Wk1GSb쐢&&﫿ޤ0j{}ERiftc-#]W4f[Č'6ҰTw|B1ɨí2x&"gd"~PB5cZ5-e@LFl }b!,5qH]_ySy:M. OCG|?QuCLj82T5* 6u#sWKrl'9sB{_耉Y] gr.du74q;ի24zwr -3 ƭ6 E.i0.d7Z; FdYeu~D|m ?U*7oKԓ|VJXnD[@[b5HP26sTaB0)% B++E2 h1 ז),9B"@URF\:h*K# !MO{Ƒ '[i2#B12-C NIwfj[}z\mIiD٬dn9\ `LVd'q3x21tIܫ!IL)y-;m2M 8C%t/k`qTiw1H%-m:V28 f`^XBywJI Ω(aMĜ6ӤIze&mH$"b uqtH,ms$*"Bu6$~IT^PFmcc&Zi+Z^2.6!>ng ]Hڬbh@eoé/IdޑqbBLh@!ߤ^wbGd$X<UXx=Y TPۈ_LXb] 'sU6J]4T'.]#uF-MN ާ*VF/2mDR~(EH=׫{ [!Mj^Y(`$MK0}i&M&IGC)&FmwFdSWѥQ-SXGf 37b˰NQʓ"͙=]p C|駌sƫ:1)ߑx`#$NK2nPpO<2[MpDLkB<>N t&*ӓbfYD$3#n2CI;NYR8 ns]JZ'$4Hrh 9zJ$B=:Z<8Hx%Թa7%i@E6Ij-փ8u^ Pfs$:+0/J4LeZg*I˯Bfnk52꓇P+]o5/'yAXDND$ȐRç )v$E$48iږ=ZLSIȕ'OPK].҇Ew-\(ĆT" S\l"鄲Zq[ 12E"yD6 CphD |(iC FEHk:(`Ө7)8 Ky%Q&[(.0 >*&>YaPoI7j (|iПeKP^11!H?!J9$:RHm(ót4$ YIL-])_Gh[(-R+M&Ir}ĶJCך"Sn2ńvY'q;YKCؿ0z;Låᆤ"AQk LRS :JDE5b,q!EORg‚ ʛAA(`jߩ胱(xYݖki[†ORTbZ"\eiޖ(vUc"_54AလCQ8-8|ڕwA>F %&3Ҩ5NÆB _j0:R-_ԻRRTbjth#Ft-ԟ<4S q$X8#CxHm?ޞ0&DÌ8𚢁^␢Ǖ)"(vز&(W*յI|G՚!F8z ݐhl,xE |DE >|LGpk b#ȀeCZLEH aEd?f_r%-rzdN!>DNeP" xӈ؍,}? IL }N9 kRTXV ^J6fl/G|&4 XIAfDm,qk+]OY]\S,Xd QڤTF!sE+ H̄&WTp#&M%b)é3GnSC>.'DAG τ&.,*t6 â#k €\d6^c g0 HXC"q* -?Ac?HHaRBAnr$ W,І<2t 8SL]Lf *|߆ _/DnitW]c^DEq "yGlqNbvqhbK3f:lj2s*If]{bAkf0FD`T@I)I(k"Y $#mPɻAsqo& cϮ~&À EDrCf\h$4`vt 5?x ܄kgc,ґ,A"a2j2K-|_,@<*;yYlR8\g8~{3C5`%5H]p5 ΣN $"MoZDr!=QJea2H?AA;#Tυ+( M91tT N(?SG:i!YlPFx۠.O d )0\^XLdW@LBML<.툥|%W< FnȸLb tȏE(B?Er0( Gf-E!%DCםؑ=ͼo]+QU%.a8&IX Y^"1w+dJ@§2iz:1SS7ANO{=Y/Sq;%wai_gO.hL=Vm1rRl spL,5ֈJ9x\4Y(J!5G;gO<,A#[6uMU~+P8,a0Ӈ 8lX4q0ln;X« !D2ދaA|$BۀrR _Fڵz3kj&KĝQ[q#\~(L3/}#&Ph}a5V26KƻdAWTZ~8JŸGS:QsH]PF8L!rĘP'G>x%ViDOy}[,7ك+D–(|CH#f`,l2Ox*%AMXR8Hu,{ap$!q,BIYufTVSl-G1r\rwmM>/UXF[TT)Wc՘<$ݹnwZ ꛖY$'KbqK+Գ<[l*UBPܪw4VTA:hsw$^[ AIb mHτ2hGmh57zQV˗w U~ZeߥҹF{Cj(M?TœcQ,DtMJ"5^,Ha(~Y.yLG 'LQ]N',it%pQ_;;/K ԞHhWDAwSK"MF 'OS<+*Qr2P]eK5v9/Zi Zؙ͒3Bl>!kSjAQi;SpӲ/GiLV*|,8\jC)[XY$薒/5M)H*EXGq!ucGV{Aete'҉N*.Њ#\нlqg%ثK$ɬ~nx]Ge2Дk6M{"7U:X6{uQ@ tjY}=4'u2Z>:¦Q ЮoR ̶[8(TmogZ8<]&PFHx#ߠ]LBI6K>k4i=7LQ= `(U#U&Ҫ4J%EZJ^6zn#G+脍 gГEcA;ȉ!uU;|ov]࿜=H:T jYXIP)>syx굁+iI2Rxv&i&uųiJ=#0TBK*>֗ʘ8y=ɖ:LЄ&-ufɤwEZTby[1n9* uhBmbEyZW1D hפv"Q35d\"Z(4IȥS|mdX;CpaV,m JWgAc-y>2j fpTnAYBWAtI_+l W GM#ɩ &p(K# 8t:_Lg10O-!(ڈ+V4ݿI?2'[TE2a~#|\,^\IT:! nxSnvF\Fd9W&-'><)pL86hvDؔ-$W*x~c-F?BDӥq'ԥXXȤIPdtҽ<ǂaD2Cl:ExaD$%%j9l!$dDxp=9zj}L'D4.FС1 HDLA ""ᬮGьH| ( 2dV9Z Ev"BVu(^*(]0,t_riaK&C20R6" BQ؂ډ#LDM 3Q4L& F֕SN+4.^r"6BKmWIaϡ-'ac;q ?`B3DbE( ҉U&|[]rDxcLAKq֕5t{Z"=^y>3^W,wJY^*Xn9*H hʨue4kLcpƺBNuⰆfŝ1͠U$4|/9DŽVԧpRIeMU%ŃC@  m2C$a#B$MPQNnSc!XO7lEiei+ҿ.{]_6Qy鹺hy?ٌk*J{XNt^AJ(I h_D|8N!|{z+I$gDQFI)[}~~K֖ڳn⩒A7k*rG(*T%]Y Žbpb<3HȺodžPEZQBJKh{D :Er EG ,P9! RnzQtB#QDR&dHj dZqJDԑ0/N<.c0g#\=.j%W6u"$A=g.0-*6a]LOΪz W}v3ku4j\qEYl)#9B2Bْo*uDRs? !NtMUKkoBw>Z,i$K{I+"Lu3rD-'=w"&sON-u'̻[5LFեiaO%:S4Bvch XzF0ڱpMe- 1G߻i [_l% xHIit8հjA!ҏ( aHZYP){.6#+cy"I2 ">`i20D1KYl 0Ai5u#jx/I ٶ^Ӧ4ѪIT$](Z}{ \@RBH$L&T >৑ŤrTӫ R)Y,nǩNېڑi Vս)_Xϝ+Q8bRސغ%0i,6 Ri;) _?q<(LobA*&wSP >:Y- z,(gquيŶDž0p`׾S#3CEAnw>kq())xtɏlc|v125Z~ɵ R13# [Ns@.KZLw#0Bz!%3Ȱt\$mD6^6ṳHJ3qˎ#&CL*(N$ D6N{X#tʪ0mTʻ*Trn1ȗd"5\Z$4 *\rkAUt %uJ a "x fC x# qgd*3&钭fͻNƼS}%!ЧIOaRh\ʵJ(^RR]ư:I.hnY=Th129 REB*ɃTM-5@5 )SXJi7'Bev2fꔊV՞*5V4 9뀵Mܼc=شTN1MJSebpbMًK9?Ĥj5\3R&wjI?sh"ܹUI$ydXT"m#ݾ# iM!2PA'PoKROͨJ]#1T/}n +T-mmâeXXU-T 0U{R}_K9aTPRtcG3D]BFNwXq;0䷮|lU*S}䴚芸7H(#$/A~FgfK'Cx\]Ro8 hIY@V,z* = *NTDUN |-JS,wm1sfh]1GWS$RJTfAmRtjEF\Cb⩊.EST2Y8wL4?8W],0NŌ@dt$g`~lg ͘&XZ~5|YpnJ.]o)xCl{ԺVwF5ye܏oWH,V~ )Uj5/Q(12Ce "H{X=벮ir9pFo'ZnH꧃Őu8J 3'&J9$>rSk^3f nGiSoR/^fʣ%L.9L9l6+nqUex҈lTnx${GM5GzZ"PzDo4&p)%U =%,8ht!|xt$_RՓVzZ&! %2h'ݕ!$)9cD9`;ȅ@f /Z>V*:+~i+450)Hu袄+)zLQ+ȏ^ 2 U/ 8{\NU>$ՔO((OQm#O/GKnpB333}K+tH% H|GBDo{;ϵSLMm6Z]~蓑KiL;5lD,b\Ei{9`H:m`U2F.`MbK0**dA -1`h\ȿ  b& U($tTl#]iK#"2 '☘U6-NFfUC$n4!։GJjȑOB7=Ŗ}5%ʶBRaBEIpu)a-]ؓD騋U| 1M2`Hml0&dI*GnW7Fא<Ifs$ P\z]SyRR~L^V,TbR"x˒l"cEǚ/{*2N+<0+BI։1BBE xF .?DU(Y\ѦR,ucvY*\ݥ(7BWґEzE%Ү rFsE4Tu \CG|MUzW-]<0kUx-W4X$}8\A"Ȕ {5^}_XD]0B,4&cO%Ft1!I(ꠑ4hf4߻c.LTUT3>)V4!8yUdDm4H擋1Etޝ vQo5mVo≡K <}m/QKQ; g50WU`m&SM)EUxJ.J*t1>Д^99 "QZO{-ĭ`ؚyiV#p5^mp X51bUMܕ!i!mXDjUEsזUE~6}wˎWT4DEp0wuPLM  aFoPHhG4XevB&*0Hx@YF 77kEA1>Ƃ% jGc9P/7*o!oD ȒTߊ$Ik Z\q _gIby Dpe4W}(%b~_; &`Mp@:z'6;dZi#ɋdg+]P6 Z婿вAF LMbEmnOj!V-*`#ގPxLKUynaZ룰/ iiq8y]ȕHh}u U LB(cÿWhLa. nOkUwuW]!nۯ{9ddM-Y(Ēu3vHxy<0Q,XC^+^gDnF8Թ$@TXRZO ,EE}Enan h @D 4 RES Ñe50SM4XBfCEd;h(2Y'qMf)a9L@QwcKeqcg ++c5Obuι^@4g4YK_ͽcE+Z1'k X2o*P|"ۅgu/FF31KKp.da9s5874L5AR 﫻Ңg|Xh2$c!fiLMM bzߜ&4,6$~BC U[Xx%ČeGفNsVTߪT+΂޺.m ,xKî']9M1E50)bĘܟK]0$dp%~."8tH *WxAP̶Q;PɨïW v.¹QQ<KB #J1Cp{f'k!*8</)}dBSqԅwLTƅӉlxݍHH[fO𐉬I9t1f왼!R- $t6j@lDVX"B1&R=jw=b< A`40Dr1(^TGf};|//Lͮ|d4 -KX @W( 6BfӯnBjqI *D$]PGp)Yz=+T$+cdOMUeO2+6uBkYVsR 3ZdžhIK͑Yt(W蕽s~Yޠ$*O|S֔ž ^CvɏkpaHaBOPlF3Sa0[Ȝ&2̃,]3ne Nz(FTS&XäuCt4^Zbi'r$wŴ͖b&R.5i-W򻟥Ik"RqI1}RV=͆VA9OfNH   x"︡]^(@0Hd(|nޑI脞芉K|~_Dv&ޮLIHORKc: }p萉 (ϯtуkc-0t̫O{ kyl.OW8(qŠ+J~"exjb%fDY|A (ԵyueK_`4dj:"dGEvdR@%# Z+]LLH fH*V%i "Qȗiq0A|'~Ŵ2K<ʉ A}/&G.'q:AR!.7Fo ;}ՒE*&L`]ޜ@J^u< :* 6(e& %-FֈйC1,w$Jgoz ma XUiV PQM|s͛(Ik14qf 0dSɕ;behjܛo{F>sYKohqEDtX)9=w: ok /Ggwql\؏Td nX,%2Vx0"R !ZY_84Ic#ax`"4UdTrLa;Y-R` sue,+ċ$zgfӍp8."GnЊ-8"SWkTJ ƨHDAdEP9է&#֘qK,xE">uQR5K$ 44iP$"L6\ڹmWRH]{y%mdbx\%QЄB$-B̥Q݅,I\{aԐnxcMVϊiCQXxn}3tL>G(IrlQz])ՓwhDŽ˒vQ6 mZg:FÕPpفw(rpE 4.̉*LH:6Y`:s0"0$.죽 U LIh+Aql_9d D+q 3LE=d3MH)JxO!" l֤LPc0? Y rɄH̛ˆu} t8~n-k&_Zgey%$UmT8ZM6FbC- 0n%E.v%YdUv,4,BFn'9JIjU}k(@LrY"(])3Je5ޘE*jԮi%^.Q2YtTp[ ;,y}e7+|O)4(kBշVfx)H F3Ee1x6UfvISREM'V'r +P7;[@,}Bɠ ΈY3{6GDV*YTxB/ ˎ dcVpr\`+uf<2D;<&Y~w%u;?<+b^O7*~HzmԚ)}{8@\IP`/Uj"<.SAxV1rG %;n6QuNrbo)$KZ&ڽi͌y|}C¡L@l57}C6F a_[N<&F5o~4XW~&oq )JIXwN4B`7;g|U)UDm2m+pk4/?jiEHJ~_֖\3ƙhZJ$#;W"|X—U:=NqoHֈL7B$ѻfQmQ$Q5aTv!U=iNەBol?Ca9[".t:TJDʝQ$RbL/ƻJޥ,*=nÌɕ 傈&m$Ʋ::¼+,@G^K=`@6& ۖnJ*(% uNVե]#&R<0#?ǗIl c\pU=$'eAt #If^53s٭5JڻgL&WJh.ESC>W-ȳXd/I[Uk͔k-_KRCE70XZ-n2l``}r ukhJL*- )vmqb[f.$/ĂRul١ A=QϠizfRMEn/"Q8K\'a̰Œl}Sjn䄐&Ƨ#d(ӑV"5! B! 7Ʉ𦜐7Xfj9aFPk=R.#$df4=T%t̎ͤpPVDP(4l\D!KF]`>BaPw;49َ-jVN#(LЙƎ-T$Ib *H+*R#iTIٗaJ4"5q4 )Dx6̏H8>(~t=06UX:MGu9Ĥ=r+iLʸ^b!,~%uQx-%j5Dx2d!Փ"Q.<3d1M6$s-6-7F,J QC 3Sx .A08Xd*%"l2T#ix=faZ#YxE rh,K섉'0*Rq-WDQJez]͈6`4z5=p2'sqNDcQͱnࠋi+*8u} ڽw ebhNK;^465l挸 J+u K _sL4.R%(w|E⿭}< eԷ)kPifH0&1bq5H)\!zܤph+9I5.P% E" >x\!N +m (0\8D*TwaGCOs0!PZ# i&qa/|Lt`L% :"PzV)Z"u&6аA!.2Y"W\D( uQl.`,oꢴqʙك%qjt9sa6#&(2jjmzF'r/"݅VjZYg* Q=>Lgj*7u'$+2[ u+.TT[V>,D5A:)..Z&c4B*.$Kg)|ҮKS/jFBBM"SGZ[R +H$qB .XC]!JQm!8A>_-U%7\/DJkD\}E>N!Km~H^~iMJ-%!9 QBcQ/הA6)"ak$0!6UbI?"@Ĭ*GLDEKhqz-Th@Q)T/xN-Y'Bwx-$ne}clkh+X@&K; 4*V \,[$H԰HTK}vs2^X3'*mFp[A:B2*FJ]wNK w4an"G"<%HIe *8*BH#~Y͓g G: U Q ? aC+`A 1a Y)#Tdr&0Xh*SLJUJbYC-6$:g ʝ6<.qnVD"A!=ō_OKMpdA@pMNZ 04B  yB uN_oplaujɨðaPjo赵7%Ô4}ۖj dEAѰP& HC&EeTDzPj:vYuyNj dNLA=3hԳ_/%R.z”tY(x8  Xh,Š-ŞKI$M= `iCI-"HP@筅Hcpb#{ن!ID<{ؼ} 3l'SRgWs,'FߢcfzQR)ܡ${٨$K}$2Tntu4aHWeIŭLEMg;Yu&(M =yY:bqmue7oP𘫊x5bڦ%%9,ɠ_7#*k":_o@RAè/;U>(I @!2bt >ACDnХO.D}5>0A`ŽM+ Ď$0%͑eM6j $&N)k%!" 4b9$Nx  `88"!Lp!;9r4BF))Rv[1 -]4%*p=2%%F˶-%6y ]yM!K,V~ϟ`W讬p ~`-4Y4>b|9\ijq(!A5 r\"F@} TZFb_T<͜xVX/!TiMuUd5gW^N3TEo1nԾʜݶt!vj9y33R'tm|AT+puQyThAFAA]\!4X`{= a 1dr`FM V-MKO4gJk~`H`Z.E9DvuXRWz) 8KKG(P$VdE2^I_,pJ9aȣͪ)9'Ę77 6F(k-iJtAK_z#a&砇(Q}1BI|oJEص/G"׬BJ5^6h c ,. Cj؃Qxx!\- (_qzfMP9 cL""-g6[Lǫ=Q)H - 3;3:>d ^Bԕ&?;An J ukqbx:x3,`-d2h u4!دq,wAҵ.-|~f85Rw%\%h/e ˜Sbm{2Bq3RQ2H- a J:MSTSJ VSGS6N'D{lSl4眤fBWEWyn'hqHsPЍ34.pJ]Y5E$ˤ"EcC t68ժlݔpVZHCV]B|.Si$,;$='b//UGUY)W6t"TѱNq 6` /&<)٨VN9f a"V%m6xǕi 5g v1,dF(^#1[!i>o8k'w UAz &Dqx`@E@ x2IH Qm@6(-R Ņق7ҀG hSʼn,b`"6C0\ tà.A0 FCVUH0 YBPoj\)sn]8UY& %ݜ๲&ΓQ_]ݔ:D&>κpد U2VHS7J7!HID[JjH۱NG.VV19D\K/ΐ[枭J40ҘxXг8,ILl[59QIFp& 11$YY$uve>^_M$ %I؃}eA ̩7DTP↼M)k0C y‰$c.9]ɉ:Ou۹=$qGcm:]0좙'Z= mn)`>a*ڽ2j'M#uu6^r0/1z4[d'՚¤\*3ۤ(bij*}*t2D}>1hzaΐvJY1 YI@k R[}M?&ʹSKkJ@za%!+9-)C{Ny1MlV^@Hw+(:ԂSTD)tTF0U%OHjxNp9Rj$)9Ƞ2#١#Q"yIzFmę%T"MqC: Mp'P&#z򁃄r4DbE,H 6HoX6nBQРici8J@/ +jl'bQ&#Rm~So S.BeҖ.Fl%57;f\F4k&"jx,HMA@A)˧1亚&DoUJ9>z9&+ E#pCQ??R畺5SLct\yq=Kh-S:iuMnhQLQk[tPot^+KJ.HIkdbQxstQ)L'Vlmퟑ0.F!k3"B'Ž OU ]HsZ%LAchf) 3~Tg[dK6z D;'$qm[ Bslf|pS c/C7D\}zaվk?Kwv ;թګtHEo}36ZKH|h]z=$j[[a;E%dm耟Pt!2WR4S"Vkw!S/y~Po`+hEV Wq5z - 2BQԖDvsze4U4Iԛae ˔M޴'mWȓꜭKpI+1ΨٷE}ġIOPSHj bMJc:&H֎ *UXl} (FYDe&%o.piuFo^Q䔌:9`z$H9M'E8TS +.Xaj A5?U!Pʡw[ C- -jΕAmWIѣ]8ft'_ѲEUlqw T[=LsY)gBH٢Ym*{1 XJmj|6y-YCR0U AWBD!Jq^kT8ژN+2=$R"^9O6<(Kq1bs+:+ =NVRPUsDdGY*s׹זZ޺cIat7hZEsYEt5xR6D~Ifso&'TnJ]uS7klG.]dxnUdL"F i r N?+k8}esvPB"|/!"$2Ϯa9cZ+qY\)GW׊rQ.J(LH_kʼ.IZ ތtEB(<8+ #ft/Vm#-O)O5("m}#hϼ("SԆ>6s7{ck`oI)#> %ZMHK4ޝXQ0jfe)iVgKYc3[D4&ɨñfL׵4= H wBPE4Ay+EdHZyi6b\=6Wu"In& ,0&&ovkG" KLX d&ڨ8^gdYHQ4ne97v>PyY A1JUWwnx=u芓#*`DT광Ut>F6"z IdD3#(:onO\0pi)ƏhVaGkrI9}PBur śU%= ͺ@͢?I=Y'iqUxqiwe ;W*u,T,ZdN)џWq0 \D$&5Qg˓稉6 J>bWSa,$GE*&h>A+vqp.w soԡ${5b.$mBębJ&m7h!2yFG&YiasL FʱF&DӯE 8\녶 I=zQS IDH ֩M|mOzkALOGbic?visT;!rTbQ&b)@iq͐&Dچ2zgm5ʾ0/ s y/36P@h4 )Mݾ5R7) Ώ~N1Wh$E&Fsp';>`*#3Y %#ɱ+Ǧf]XVm# a-HP,ڄ,B8I54s.j)SpoD;⪯=f9Z5O+' Da#3SWDMx& .W _)Db͖fr(c]Eՠa&$le RH?8B凉VY4KM%"i$Bm [줻w/‘u՞6 *.,!$R/5Wݖ,IkpݕZCN!2vl*Pz;Ii](&V)j>* b4,bzqhhų0IjiD dzI&- 0Y;\ P^S쮶FҧNV%0y[ΥFːiSZcģG& ƻ象m5lLkb%:OVמO]PC _D/e椓 mX#kvvCr>~ȝp]^VFVxWk4l}$j'ReH>cE79-L#S?W2e[6U?W-aF/;tJZi8!^W"4KmJu5*M!ZBV= Kkq>y(Qj}T^K9&;2fMuoRg@׳C5p)6ޅqK-/wԮDv˵mŭ~*1qt, bU%v} K7] - /eDwLbI OvbH"J%c,UaIi$On` {u'j~')#^nzER TӍF5f@1bFCQ/5b|ID59vطʞ "P8peq xRKLS1ˊPSQgJʼ֬H} 0CK$X#.R}ļ"ո! 6g(Q<$4LjUWK?&_hqaD޽PY ([r,]8E0u PrWU5ch򐻌#Vq޻ %S4/𖱉o+7y֨irT@{*{ :V-ȁQBAW-igQH!80XUENe(U0]`|AFIJL곡IYMng"(aZE%AFDbw5d1{F$'d!.AβhvIyxw/T- 'v$9fTD p>Djx>:[} R1JT::֌@sh(.Ke{ θiEK"aB!.`!u[0*:%-E.C}"kM!҇wbf֨ >f "Qubfpb\Ns_2G{:0k%cw?Q,XG[a!'+VHK㹿ҾRD|JN)!R6ӱe,\N8TJf갔(1DGJ|Q[pMj RxAS]+-e GQĉp4QL5i.aA$B ^N"0[)-GLVͥ$vݛ7c D<;tTg] k%XP H22_X )2:819zZ2uKS|½ IUE78V%f(N0sd4F%fF3dL&c+-aR2zݰbIc^\,a<%iY%ΫCRSLn^Ew[C&ooCS}Wf6AH,{q}&vH웿%ѝbUBOѡ5ؗ@z =-V!`Ϟ 7|y%9U!tfe9߫ħ> v̲υp&Ԕ ]9w.}aov-+Eg#1؄gR/dSBlG;UⒶw,-]$B D-:[(wYBhu MpM8q)]MǠi"? ?FKYeɓO?KDSi l(L"h~"ʸhG|ƑN8qohac m2F^}ԽE..[FhZ`e$Z`hm6^^H%Žuj]Ġ,g.Clî馣CacA&IZ jEℳ1lcGE)|PpK_`kr7LN +[ysv[dғ;sZ1yGRsYE3DIy9["rNjyׂa%eBʴDbV.b'{e>yqƣ'|ZUy춎VYANrJH0e͛vta]k2&c._9 #K]Ҷ{‰ %U7mŹYR# a4o!c8Q,zGWGjrS2(4W\RC9K}>o9 {\{>Wc%-,)IR'IȽd!|+_HI>>cB\Tw)TsWQZuZ4lqθQrQ.wp?{(p$+Iئѵ93ͻVS,FRͣ =&Ri2{ľhR3jտI] eD(UmԍVIYa x񯔆*&=ac*f^6I\Ou.KW6i+5 )Z +w69S65⋑B[Xu۾Mt)~;[N3RIŞQq:n[j_$)hC'uY["IDsT_ɒ/Pz`C$ Cm*q](6B p*u@ 9H!%S8 PPy@3zV5=b"R<4>5!: R 0.앵%{!Cic*}<+bPRC:ZDxA-o:8T*hH Ha09 k}BTs۾*Fك֠.,$w Kl i %MΆ>" c=S0#$r$#!3΂(R'PpBЊY,;8<+sؖ 2EyjY<*ppOuk( kuD@k_H3<^á3|IHtIfi0!F'r?N RA}|"pd9e$jXu!%(lHo$ k7#4=R:oD @1)=6r&+RY Í[IЃ̖sN0AOJVƈbEܐG)G4<žC85`J]r Ռ FTΰkIH-":# F ]c B$ :QB5PHzɨòoPm^WVUNMG@*ǹG&AZfI]ݔ5a׍QW7j ^YY†I766HBQNJ74-O]Ģq7ƲNSP){;afWL9Mhz_迗W'EKtfVcڃ'E,q>N`ÎO@!d!4,P B-=)L`!CIl9 _"$rB $=8zKnp#TǼؙځ[ȒXc;% ~FR'SNQX&#Jp\JB{xsףAX5𢒸kE9 ,K!$R易!=p`!(%u.0/]$:m$Y80J!1'IiJdZt2$q}kruq z  ʑz3:,-;)_{LBc:k|R[fdFTfcIy\)%=X; {l%-2q P(J39'Bo`Z!d"` ZD\@AD*9$i'zBOdȌpoȮG%Ō4yq8UQ8CkXq)2"4c b!B5aXmp,D1Hnob֪.[4 ġ)s,=3a.6h#D₠ ,oB2᏶>?J"? 1 ֩9] 'Jbw&!dF#.(!+$ r ='ŕ M%Ĭ8f2)rMSNS뺞(Q~qd}0FZ8BEo!z_܍! %Hhr4ueFAopNtj-C  ZK 17B/"u}.+?Y.tapkDK3/[p* W+|} $6bhmԨS,sϻAZip2NSMS蠌 ãcH`B:!,B\"is{;9Ҳ%UsK1e.m5~2*pq1-=tupdЃj"HG2u/ҏCK%-rkqSYY$1*^*eSөk"'Y8bT(HW2Oq 2]~0~0ʓ 4ϙrq>0»6Z c_IVKZ}Y;wP%.K*B%GNAJ8-AHSK&HV'0YJBfJDL*#ގt-ʌ Wښ b9CE*Jg:=ڞNBoS$4x$4X1XSB̼Nfiu ^Lj=]WP:p"riD,Ϫb)NkH#˩Fq(|tZsjĬ_*U'z$zJ>We}(-Jz_5z" SjաY,KWj.,v5{dM_ eZ=A3MWtɺUz&gӃȔԉBmpNPY 4z;1ڮrD7zM*apke(*% ejB-|a؈W4,Zȍ'/|@Ź#o:BgrB.9 "}IG'&B y,;\g歗 ڶ-U+E[P譵b@S6ЅJ^aIɜn!.gV!g@6Z"MuYr1jF2b8˫erѹ0p:iI G/j0׳rHD!ȴV#"PY^G֪-ǩZ3n Wd4#`bH%S̄eQ ĪXKϿR#Wڪ4eJVN }IF+p%dc*9 s?؅6tTΔz] ȶS5M!*Cbxqg,MB=E˖Smɵ{]tY׬mO\j*%-"D] [)IW FYެnKkdudخMĭīW,κ)u]J{ī/ Dx? ~WiE fqS|ԕ%^몟uĻ1$*:bA"Dt#њ܊g[;y̶ySKLBuZ8r{4GO@ "=(O 2KFHc_#%3H5|(c Ba rWxs y%%ֱEKzJQ#WE 1K46)֠K[*[XpI 8hz$2${e.q+ӨxM0/ pHqѡX yC&ƕ+u4HE@b%8GLYp5D誖EW~u,m ^@  -f<$]0tiSBYYaJ(I8nh&MPX<@ a)q)BMˁaȭB}ɑ`/Sֿs:֡¼ĪpmGXRKiJ |k;Ao U 9$S'щV3 *AHtqj|`@oH&EdZ5 Fx^^vr紑t5!Q| P`B ,qMSKS0© `pfagI!G(Qao-P!u{U mAKH$'?2lXaK̚87fet'{b=;J@YGt@5iFx-IXYQM̆ BLѡR1GT9|0(/T*ShFnAK0PEaxU)ZHHq h(a"70`1Y4Ǹ`28Cvy'!YzN7Lࢶ'RiTbv@H)!k+s4SE-~)9 ;8U 6dƸFŎc7X̫è-Mя~[U 0Tq%'C@dֆ/,NiapL|y<*> KYPW޺Fɦ:*XI$XCFg0Yf/b -d;Gr >zpfm,8T(Djz:E6D t r@rQaū xa# -"tVAO/3ӖX¤k&@'X5Od[+ ҔY^9ed]}-M))DI:lQ am3O=aZ1/`BѤzJm gV (?ihSD50J,vAh& ;WIFUS@/Y Oϓcx37F™H '9).T0rSegbPA`Tmh"%c058d* WgA#q$8."#rKbIQ(0Md4f3 z0v"dv-('<Ǽ*+1EvԣSR%3ߦJ6x-* :W̊0W E3ߓ\9hs"m1BU@jZRy3(")0+rrl0?LVr[`酚7( zÄ HgR &¨fx R/4%] 3T QSTxA # tRe@ao3ب)8Ibu=u*4Z8W9@Rcc58$2# 0  r8UD$)( # Z2j8qE2qPs;yJ3 QD@0߶KI)KE|j(ClD9%T#1xǂ3@ >,$1\+ W9I;0XvU2-oƠEZKB=P@ H5B,T0VD+T9%+2 ,-*E@Kc7Fr8MƳ9w9+t Jl*v"Tg)U=%)[ 8¶V+XJ`RVc?er0B"sb!j6:䣘0g0 .nel(ûQ S1F$B$ ? NE%CJebtƧ*HB* zLR%19d{|mtb,/:5 \N@F# 9h!BH|a03ܱ /3Iãa0aMrX!bsqM9G`@|A:8D%d$ +@ ^E3 #tn(a-(Po6IJPu1rb ^`\$H\d CBl@(P 1 y#sFAsaAtJfeB370ALh i,Q%GgXH ;SVAC'TP$ Rna؀ˇtY\B Fj*?nFaH hFł-Y:D&W@S&®,xFe&\jQW139Ƕ)ިr YT2) }̠|a2b0RSsuw !$.M%5Y030z%{)>FpVq$QABac6"渚k~$X1t _]{]Iz*7NhYY^JD0 Eee#:#1(bC<5Xp 0V sH!.\ٲmrJrEP<1$eA<MMLF.B:!0hvq]q}㐼Aq9f>œ'hCKSC$؄#)%C!X!ÏE(kU*hcN.OEJC#KVHaR}܂1˔N;: sV ؁-w+U:zabn B6'$ pBE aЯAIh0vV;R!l95GqhJ<ﰈB`B=';Ir,8pB̒)Yl3uQ63RlSTE,ݔ *KmC w#ND48^A1#12.cC$LW )۔ua1AR" r%=B&JAC2 4A"RqħC"2& J9&\q t5E%O/r99ȑ fGƵ̢[_LPZ8l. 2 faLcF*&L@plf,@s4ч<2,cΑ w5ZF$uXx \½yc ~R5~Rh hnQņLx {rW?" \<1٪ÂLBQ*$w?H_FVe\rt^aAR3XNBsG4x0RBV' &NU؅pCE# 9)I2Z@)^p\glx]3"pOb!Ofv(##]qH$} 8dzdQR$> EFAi] YD 3RR2ʄ ƒ.!:)WP&\%rR 4ek*:P?Y` &Ås޾~K *8b|b2xj8C\G!"R1jiC%݈7 B' UV(EBIt_JE?PuB58yV`%UCxFh>(EO1ԍ-$ 2DJ&] %JL * T@r;m}USo+D_YNqspfzR ӊ$  vr ӆ6;!KQB+ <@ ,gȄO8aXuPQ  =n9XiqY,"+gT+dgyPv&֕FI,R)8XR16#I-t]cNM% j$fPM]),jMFO3 ,zRqMIGFZǰaJxy08BH-4TWڪlhPLb\>ӞR%/ U H(a'c4lBDyAF 4s@c` @LJe+b P0ѓ)B12,ZTďaL#9tde$ڧQX8<[>i&9(4!epHKsEieJ$F8;HZ$U#Y OטXx l A¼{PXyybJP 5$0 sh(H0 &J %Ɣ8FT<%=;H KIA\}vf rL0Sh[D)zi%0F(w+X@@$g #6@BBޡr(xHp ..+O =5D ,؋f\#|ûA|hczB"Y3` 05qLJL+G&w:4 @m#?^j̈M F\0Ahq ( Jv8>bѝZA4e%N c杓{qR_aNSyDǰJk@ŜS[o " Jp(@Zd0DQAc{>eMX^Zd[\|+C01C΋6ȡQUȊdHyas%قx̘!M!XjqAXB b;aCzeS):o^ N&1 BAE7”A^H&C $\3@j c)_Bj%b)6xPDRFd" Br0¹W(+g|jpnC YapLD"$Q!PV`:L20Qp~5T'IVxt]Bw$EGˊ["ޣ)JT!ѕl_)L:t>MԼBLJ*Fä)Y\ kHzU#-uBh#R\uĆwPt"0ۮ00TOZ8T!C pbb Xb6>Bcq*W;e.Վ( sQMΝCNĕoMXV7'TӌA*kgU=Ls*r4WZ/(C! ǮhJP#s K5`CLqD1L w`bQ-r8L*WFȿ ӢҹHy 2`)hІ]C gpH^Wi9s! w"),m!X/!DYqD+QP6L5HѸEvQ&,WG,6Ҫ9wx>),BG8Cfir24ȁH1!]0F%!\|C`s G*2 aO:%(0!+'{3խ1!BûcwXWs(XY]c"U1>GL#13  QݜR# a Q VCo)dp@FrG#e(#(cc! O@AXBD3 iF'1ʁ' +N0B`J(A8ZÖHH*PnO B0N߂[aDU%#ԬbE"c ' !]90 ): :Dj" 9\ÜǑpPKb8ń3e r񗔢 00אb3n0@ESbjq 9:ڣą*J8s-Ċ$W5RA E a ) &E3haZ0%qLyF!t< 0Ib Ƅa">*ǡYQb*[e3^B͒_5𞕰sؙrÓ!hX]<>YCU@˸G#/Z|@7LW u vJ+֗#htzP0by,p 34T ,8Ѕ2!Ue00b[bN ZK זP'CU qLgǗ 6q‰\]l,r话j$y d'_(*5; t6p' P, cT+jL" e^71GR/.Vx ; & h0v=b9$Ⴣ CA Ɩlf3!cFBw='Dp—(Z /Rb9g[_\[ sJ [<$бw\D0mWYnxY!y/7D"QZӥVDR\bAJ6רPg!"PO9|^h"1Rq ֔MlڋeoHGq"!px  -M!(4'Q.cK(a"V{\o4ZawHĸ#=w&Wnu54"Fە.(}h FuKlÜT `QYJEA%vgTR" +-)ԅRixTu*OcHw) sDKfRݢc!Ym*B\†R9x`탎BkZm3br(ȗhbG 3XY*QԊzfg+=MjR-#HǕcM1^^mR̠c,CR"< IXi6)fs(Q֭c/ tfF(ӍEHpj ^}p,bxhMe@HhBɗM2. > ӽցHIgp2= aaBJdRpp/J0 BoF{ u{{i. bsUZG VPm 9P rx ^,=P]կ, 竤˩0~9:xQ0j #hTl(Qv$," w`HJvowssW&a0pÉ֞j |ʦBK-;U$ITXz}$hP-Jbp#hxz-XXӓAK2k0+ʼn/*)D <|@$BEӷZpT%s$9c"7>.R40RǤƺ&:aυ= i PQ($ *u֤d &uɆ(@(Qe?BYErϓHV3X\GDTm˄hCHl'`I'U":CFdہ')y S]C8Wԛc͔jl򴝪V`ʶx. N_l)j"Ï MdAf#No]ڈpXO H"<:?dCddgB`_w>\>eU$"tէZI ni͡PE㙧x!^Җʦ!rkkiL#nBo!"YgiS_x[qIy%LD.Q>@I8~zUKq*j6hB?uE΄zNBЇ>Rne4BQYhL5(8^yrB.jyH?X!V(:Q6lIDs)7>J" 2ۣIo3 9F evuix١L˹2B%j+ #~|x[ 6a4J #d-[v Z&I l^FdR{ 5&4̰' 9jINPдe)K @O *$g!+KRa]uiwi ʩ¥!A$,R]Y PIqƐ4{Friu aQ ¾obVܣ/ҒuEP/Ftc)DpkMIJ}y83MwdF,td$dD@+56xBk%3U&E*( e1h(*lVc  >lڈSbR!dYBH.gN#ãJ]E ]c.h2߉ZҜQIQU y?ӭSVndPA?'T`Dtì(ldsLt2(Ff|mAe)w@{Ğ'sŒp(jo"Ő#s$lQv| hC} f™!.[T;V,Kʑσ+ ^9_Ur\l}t(FKd.h+H "#I|.[edPb|m+-}iu N5t-q Diͩ*=90 ~#YUHSo7I]dfy`y-dHh0m ogmΈe}HFSb\i0FGya,aN`ZB+]&$֦d [QE W=Klhi4Z6\(ƄMQumg0UIM.:/FN&"f*du|ylB,EmȪ8ah 0$$2"EMDAzJ_=Ûx)σ1F.=[`[sK$d*r-5IqՋ<v}+1ڍW_};ʧ,_͐6{\2ނRs & ĜK -EJT:{FZ?29"MB آ]T4ټl3d^f\)Q`@ g&'kPzlJJB\% Xxݮ8mM8"(;ptnRzhTcF%E'4g'T2o-2hvʩjXPMJӖGOVsƔ9= Z@za0c;cmIbmGt +/dh$f@#]J.-bOXHH&{1QEzik0ՐB|cB8OXXBjb t6(XZS}tMwrdC3O f^Mw *޵o]A3ߦ]-;,i:$UiP(TtF{c@@僀\@M VSQut fI7 3ˇH5ّxdS KژM{8[4L99DDq+<~;V=ꤳUcj#FhG!J5q*2OWSkZߟӽKh#wdJ:))ԍysA GJNphBN] X2$SGc¼^X )/f!RH$ȘA2 aP{,u,<1$Sog'Uvѓ3qq˟UI^g Τϙyštw:=H\ ]ԿQtD24\V/\P h4w_BPbkq^3"piKMP}= hI:j"en1+)x% 註a/TjiI<ۘ"Yqo+j=etɌ dB'EDKb"KOFaXK~K PFB=4|*iOnKz?k4B_d Wf @7raLOx .5sQe*(sHq 7fHqx¾KRk57#!Iy-f_"ѠĐ1h#AXnl8@2("\Ff#1+- I *!92l_)'~ݸ.4eHCML ܫI;G Q\^A`E fc R.G>C䢃kvhm6>YX DD-?EjVZT,أ1-NUFRIJ2xY2Wf $l'Kl,Y&(GDfT6F,zi>K9].k<QG\P.!Ⳅ#HĚ#6Xw a_VQT-"Ou>a;\cjWA/.|41͏p}\0#*"A;B;.T Ve'X{*':*la-t!ɱl>iDPRxQVi2™es]@d2kiɽpT 8B)PTBA4&&J:VUKacDZ${r|Š/D042V#Ty غ'ةnr_u,:@9*x &tҾnKC)ؕ.V(v_%_ /MN:Z""ʙ>E]hL}.EB$6$J@F-7Ő×)(*b\}x 0!d}x<"hZ™-9~4LЅ"eHna\L삶0$(=_g%IEG.[ڦ'# wʲgI%]"j!4DҼQ_m(pK9%NĬDQ?mOz^3j3 .B:ˤ"=֔@,虇%r~1/x@x3jyX[sT,5 "!*@ #"#/ ){PHo7 5F(FtX5EXx#m"Ǜ* c E \i&gffS7Mm5B!N2cHJM\]ո!5 ԺK \ K##Y\Z%A8Yн8"qMI"=Z▨|ݜyS2%=9Tv5hDp1xٸ A@3%ZhpQ&f*w,4T-Ө-4 eph^ݦNJ${L G$M>Hڕ WIV%WzGFgB$ K 0 $-Q"D7@[|cTd=ԋb788uh*XaQ#eT,-!$ 2ȷzhaF6֩0$ETz\sJ;H8=YуbF_,Y"W.2[!)!$eqNaZw ?BDK#J'O d[QcUUb/ڴ;93*&B 'u=DVo4RpƕP .8vޒmR9XU3pj.YHfO)Dzkl"Y4&J:0=-$I}bkNli^Ȫ%f!Q & cL1#W6=^YMeCM󍄋hGZLHIGO J.U7l%-bD2QA\HY} dWdcҬqe3XŸZfU,mTP:6d7! Dpףka) Wm`po PGi|ȶkTr% (GԹw73^RB,0uMX\섳V4>mbmZ\F"'IDMvPGڊ0۔2"Hp.Mt%P%qZH 3B0VRظl.ޤJثyd)!o~3+1۞ZPMH.T|O1qo{VE򗓏ᢉHd$P,'۹s%8 yoI4o\"Pwid<3 Dz3' u845 ښJq\ B dlwt&ّR2qVyb2 Oʾg{d>V&C6d0a\EMu qKy%=(\im Y*lª GT:v2vR%BCgȚrU6M$Kt*d1"BJ1զ Q`$0T/P8T|EjKd'䷷p0,2JݧR+ !Yo:61>DS(!RRDF^h. a``i#oM;:LT*ֿjˣt+_=4p@ :/hS[Pٔ$z-SyvzZ$(8%ٛ/ ґK{j6 j\IL#MRMWmCgDȵ ⃜VPD[P$ʋ,kJ@'Ɉö0L j * |wJ}@{`ʰQ `]f߈I_ #2(XD# 4F5`^~ߧQ>J|~TR}ν8[99lx KE%q@ҡo +"B; cXmA1;X\)gEOm$a҅B`̨qҕԉCB!.Hѐa^$Wzcvf7n HlQQhf$3 ( I w@RI#cF}7t  wEXڀH`ʼnSXjm tյ(& hi% X)^*E45JW EY̶i3G~߳Mُʅkd|GLQ)_Shl*Gn*&l3*J+]LV$r6QH8'WDh&!#yVz$kiQ9QC[0蔵Λ+B K%qƹTĒJZ&*y Zu'sxn^nRIqǷ+Ij2&g)Xʶza͊iEsF̻Sž*$.(N{9-Q1c? 81 ; xxfŀZ Q 05-!MZBVwaxmEx#Jcbyؚp)bz]W-3I]`.J߫{So*K{yK>]@Czw^%܍LVthR%G@7縷YDX&9Zk& y@&.J[+cpKnb6)gD*19{wYη֐$=`ΘXFVaJ#Q0cYR;:BLk4caY9*Y gItn=*y;^-};P,ؑZ?qbnQvRdK<]z*Rqjkyv29If[-:T#b䑎 ĠQZ8d8ojw\/Zja^BGf7qSO4Iq{ JwMD:V\i x" {&+-D)99]UnLu¨1fho)е$2 @S W 6ؗ.cߺT4&_*/cJAyإPM\/La۔疙߻)3ε P\V0do` uRi7Y@a2E3H>U&j!EpOYo$$MS}Yn' ؛ Mnb)5$9>ZS6jV&fk/pA"nR '1V[u8Gyb8ۛ$MhzޜV%svl{[L*uS,&Iۓ ,?@~{2 !M yfUH]z՞>q@P-&IM?C*S%gD@"ؔag$p|5rc]ik։"E O2&˕#3] 6%XZOFqPdS/x+H*M:񜝪UNC 7qAP; w_v$ȗmIhl.$D*ZzE\B28yQ.9iSFЏZ2TP̃%zHj ,$DP~LD}кP eLJO]!3- D莯x:_Y{`i u*,MlA`44$!\A94/n\-Շ$g?kx"*Y@#;q^X;s%|#:Rdz;]lG6vi"5o܂2<BD JM dd-*֡f \ҝ # {yuQЇEVVXoD>,>(a@%Mqd6M-GHL9ӗ۷̍DD &&gEq1V .&JPF.& ĸTef~( E"V92"[З@ıҝ>9m[>ݥl^vĩ6O:hHFZ@F"m %2)Ѕt"s( 5n ȈX2;9Ik?j&l|HEVO5žOkv\"XETh35x}-2#$ث=zn/4T"(|8 A^q\+ EpK0r[ P'dB =[9Zv%oM.jTu9]槻G̃\ZLǪ(Q1r42n̼d1X@3R2? MqZR_R?C4 [͌!B""UŧQHNQ,9K9dVr#Mu ,T-$^td_E%8|Tא^Z 8&SjC%!gЃGiȒ 4rhx@T#.ldfwl|of%y}KEDHl'>G|iˇk4𾲈)O!z]H*cD%b"]^vmjĀfA & MaS9I 8v8Y5 PdZc3Hdҁz-Q .Pp M+< gx0%4vP`햢U>9Jr]`vܰERLo fK>SW!lNWʞs"pDO(;~PGQ/P-l\?^5a7ry.P޶O1,NE" :=\RV4`0n") + ߅nl >NS1)(rFqMPRv|% 1x4ӍTǼS5䪱m ID5I]6XeK/qH y r^ʹJ~.C)*u., ft V $v~1h|eoSQQmnl3z4_Cx2̖@u#d_9_YC?Z\NEqX9څV]Wq=$NDcs$Pbɍ wywy9xҙ8IU(!<ړK+VCޞ(;f),kwae+"m0"b9V@5 5g,8&&,n"txTYB3= E|l%,rnog`(32^*HnjQ ~T5QQ$;TXp]9r$4$DN$:GM%&C!ũx8V7= ', >~H"R},ӾэqߋEĿ56"VVX7i [Bsdz7S4Ao+gLhJHU6I 5*Gd&oI𩺇7:u}%0_p2LIM\e A2a'Ā"е9>|.`D zD}gsOÀ"YEꂉ! `HGСh3n5 ('t.Bq6+ N/?,PgDeP9h6H9*c_m;B#7K (\r D zZHr`*[͗©!>"W"5ַ&ҤbY&}3!LGsPsSN{mu>^B%e,^+$9V/^t:>k(%J%t9٪}7H+~D:K}oMg _ KV|JtI~8561$˯3&xq-oafڈ˦bGaB}7pc2grk]E8 ZbO &@Q(f-dP JqlL4MB{UK9)GA0Bt^Ǥ33V T\/3H}ƒ-霢֖29gI:d$G\7NH>RXބ"Tg7F$ H%_\iuwZ_bl^9%4&?sLSk9 I FF#w˺WFD+^|<++Q4->ߡo[|;eQ&`c }$սV+>BERKJ麄M| ҅TTMBBҮϜQRf9ر/9`F"ш)i0ؙIvG<(kE:q  Ra]u(!2!B!\eXw!l(Az?ݛ-mvfԫn>5u֠K5D4hx`MW3,-})B>-ȅۂ_抯{r#ǻԶX4NV$ļ.WTZu |^E Ku"Y;H?~]T% JhK<믙U)F6D7Ńg*=N"G4߁d̳ =QsOVMnPQ#5pV)Vs芙% Z^Da=DIE Q`~ ,2ItW (0ۋ4t,bq 5RxbToԩQN6 &$j[8,ޯ?@LqF"Jߥh*X"u@'/UxH/Y6ͨQ\n\ʜb&{8d"OlfvcbBkP0!6T?wje4RC56:FZ^{OQSWg+#si:ю4A&d:$q]NQv}2.P.hi4b8U4_G͎eaL&E"y4 0BsR2l(&3mhT0cҒȩ$:іd#(Ip,J!fZ/b gaء!6'%췼YȂ5Ek&QSJ++T2zAI3 %2 8@֝U _Kn"g#c6nR(~ Q*i.c*>yC->khwRf#p\P,^R=C%= ~LOx=#aEAq&MA}JYGWB邧Ԣ| b($h+ʡJR(ۂrǣM{Ɉ÷7L>4 -' {8u%Z: ӕ> G{[5;~hyIʳdVw WfPG B8O PD.dvv+{V_xt uXODn B$SXGg4I|Z.dY>‡+'8Ģ#PbZ:>ph 2b%9 \R!q'#)YG}\B$ "Z㍍)}ܖ*s _l4GBk(@BPOa&9$1BdsjB*4BI+HOPv161Dt|tE \>m£ ne=.9ԬCHs0)M~WmG VDD5:We!Β\MP͘Ab$/cSMPֈkX;Ria]TKp. n(10QIQיjTG$}q j**ݬk-A75;6uNcŦƽɬKUsp͒o7en̈ J@C"f;^gcK q|hsgJ%+M*. -АBVSls9nQM>"G|>B!GPܦBR dhHPf2FMQ3c]ajѳo#UE2|.1k%nGF]"^Rؕ}yQ[0M׭˟:uo؛Y,Dtw9WbPp'd K4tC [cwu#QKھIԦm;.'pǐѠDzk&̜g^ APH8FE ?%?&:p /jlf2=M[#QtHӄ5 ´(Nv~BNjhDᐸNl>-wxr( zM 4N *I {E/9-]:+ PH:QDGVAQlHhI FTc]ťSHQ,JXg)VJ:5DPۓzX*!1VVwsA]3y{W CK |t VLgg`T1epkzM'~c)ǞGE k%Yc5M|[Z¶Q_saA2fDTԽ)3s"pSHWk`arGEN~셨;Zv$=I6݌V'hPaTvN6䋝\p*A8!'ɓa6FÍ <7qxOH5rʘ*oJF4j iQQKAi1"tUw+AVwjAtt6t9^pSA?~ZMb _ˍwҮ[Nk[C{K"=T&E*t U x(0)Χh9$["-EE_*ެWC_{(#!j$(m])b 1`Pb /tɲ2XŦU -/]):581x_Un6qk.^%Y:u zF,E >(ZW(å sk9Eł"CVW H4X蝮 O7Qq~$OF2YhJЪ1&ЩҦJ vOPHo`Av̯v҃-1nzjb\E(LwHeلX6+jIBe[r2a9>Vlډ֝lHb6'qĂD:R.$ikqD0f%I[h[~ϮD3 KcB]BiL!kXu0Z-:ìC_$bj9Szz}6~ IwږP%BR:BD& Rug1]L̕'-3mөvXrBub"35s!x<$`3k:.*i ה\ I!.42bZ6a*)`rr{): jB4B"5Iek]v.IUJu6"]e{d-Q:9"/8sVl*@W0^zQ٤Ћ1JNekL9bn+paa%26tI{بX   [% ]xYZڃ GH.$T%^g>J~Ϫ'NcW`$岴t& yڍLq ܔH?{侅ѱkOlM3L0I65-Uf{~{7dK&FI?9&_\yv6Hxq9kMKiR:2QPbl0ᅉEAN1I.=7dxAt,ow0ESiBZ/Op4l[P=O]3}}[zuc]EWJGH1yj!򡗹 SLtN4M l1=+ ꡃmKVF \KȭxMA{*i aH'Ӯ!MG~yv0 JH-Eq|4öN:- EZ{^.qe8m]REU% JЉr"34h2kzuM8P SX&6cSPƃ*-QnąQS/~cǚ6n?uKU4YxcKJ;F̺omǿB+VYEiI2QW"0(9V)Y'`#Yn&IA{:pЪP]Vґqē$F[V3bE2H(LqgG _ % ȭ oi^Z7&VOW^"`^ eriT!@j?\H޺4{MAXt0iM`FtEaAht=0T//p>́~*P%)bt CaOF,Y"2AU_קL 5PHn.ocꮗ,EL9=#:l>>A`H? А5G.Ds1Q|Uc/0VP)nA-i5P\MQ<ڗU.*@I$bx@T^1۱)Yq9<dwBܝXuו(?3\tZi2%HLQ$4Z6pL\ WU-E2"ɘQ ?2IP&\[OԌqIL*E/PY/Y h K^apHD "W;RqvШXqD@u66-f@$9T hQIc"/K b AV\h(Ymx_ƧofH.{]*Tp t y^^'>'9a\o[]I[7a?SBoZ TM9@ B>djB2, 3|LX~KZ`pnt+JTF&n gO3FHOD[ Rs]L5~9, 6-,)a{|+E%^8 M$Xʰv #;UDB1 (7 ZpYGh"r|hezZck4ub%?l-=l&HQ bdNn:;>hKE(/jr7n5dl p&.1W]ꁄpdw’WǪ%zA2aR $Hkct;µC DZGSHV&)ރ?JBKb$W"ўfF<%8\J-u%rJ=8'y\["MܣyjS]&42Dγw1؝&RdU_URT|.#R]5]Kz@%hȁ 3ĤTNBPC? EB&Yapf~6OaȝςPNCS@]?AacA1]/;B|',<&$ `ZUZJ\q3jc># ߦE2ׇFX(iwe4U9 RK GQ3y\DR\%\DA2)kT R"Rkc Ꮕ+g{Iү=W% ]ЎtӌOtqóJRY7BJ0m:_0AA&n}3(ٚg ^BCR@Bpn!fEƠ˧[2zP1kںeYĥ&AX1J_/ 1R#Z㣷"mC7dh\- z|жȔtr% =RhnC+Ks臬+(qSiB)(fa_ϗ5(I&ᆩQ,I)ݪt$+xdQs;+ct,7a( Ti[${#0ǸRBXؾ*45Sw*_}"v9M*7!!6WbJHQBOg\@ ,^hVSO)Ym86H_)xpP=²L op恃.ԬJ St',(|x#+^s'_Lj-Hr%Kdy&=5~ I[ ȜYj"FlC;MQd2JL%e\Sg>^nhgZ$a#zDib 0WRSMuЖ^P$M_ 'ohv"tCZ$AsH,ҰA(xj04١]õ>i $+gT4kJF: d`"%YdmqM N^IXv$czt`hvOAp;[#S''˛!Vc'IŵK_ U}63\UXOXNBJ,Vj(cJwEᡋ1 na۸&! F7V~DM[(5HZB[ ,F`5!@ ߌ`% h4c:l7B=EƜQܜTiŪ{E1"UˏE@zZ': ?.Eh|Ue &D)5p@4:Ȏj@rrͯhF߽|xK#[1jҡ]vh~9vL顊^JA+!6Or,y[~W^|䬉Cȥ LBF/2!$42f:Yrs+ԤI .! D% ǻ =l4VsH?d뱰?fG@ hG_8)jRfV.ߺu;q<ʯZ[~}me4 ݂Mau#:2j_\6bA^u' ⺆[sa-<֑qJ$W+f7Qbt>9жYe}692UKubz vpZXZ@]o\d]DkSKܶQhZ]!hYj$\3d ^d)v ` !Y*KB '1_< g kuxfNg D%5xJKS|-jsd[1"O\J ,aQq,˷ ~g?#Sb[M,&28W,HK ΝÿֆBٸJ$C|8JM)M-HI.D.6 }Fh!M^;`_ h2Hԟ:`cK|ID, 4h݃u-^P1"b<.*Gce:KKhu5F ZD[_nE\K2 $+lBziyB÷*`':v jQRX4 `Bk-R1bdcDA\8MA!#Un>׼)jsuc`JDZAڼ}\>,2gJ$8Yl7kgOHP$\KPY3Ny"b],R C4@5$,XJ/ &Kf9S!Hh*(XB,~Xy+70% CmB1nâ&+TDEkVg/.6b*".mO6r,,xTLŝ6N 2)$C>,ϗ2o\L߿2052 GNcJ"4y\E(;4 -N $0%2&-R1& `[yQEc_P g[6:Z!d(;&pa89BEl0SH>u3W54{YTg&ffb e-bEJ0I:0|V$dGZZfbLChJq0  4x?XfyLb'&*Ĩ80XXLd79 KH[XDG|+CDs볕QUaT]I&Cfq']2臧8]*\KO@%BivV%zQ~fPxP-X߷LJĻ=ufJ¶l1z,%Q3I:Sf ࢡDR+K_J5GrA 2k _z;iE%0yHAZj>Z{H$-IC@pPH#ZTv @u+MS ']|HE7!{rJWIi1iFI/מ8U]lPX:b( 1*lQ&Fb sגgSN$F0YRx0 {Pcq" I #AkF"a~e;9:\OǕK Uj]iV!*h[~PEYs$Kr,`R0S0线:BFHs]^ȈsXT^LGFbUXWIXK.1!T1WqqTBe :(T 7XX%ЯU%JBnnJ",:!ҢD>]$R))r_q20EqfAc Db"=hgdCi4Pfq$`4ӑF9Ji>#alXC.J m]*87F3d RBh]Z)KRmJqa.SwseڈPAcI1|(kd(6ӕН}I(T%K,WS2"HuX$b½LRf1rc-js0-V#Ho%HuG'Y(bSd>5u20FggS#evP))0$>g-HСf\aᅣnL*)[L'3Kq[`JG X%Z"=l`D&A9~RqE IlRg%yogoFezet9Q>DEU*bu.I2"h]y*UGF]4PdP] x1z BrLXȬ wCU'f  ) UjbNJ9 XtbIaNl @k\\i& \^.7qϤ6 IGHA|&!M 4H):p  6ą3 0|:psXQB( wk&Œ͍loSi7iaO8XL$^\zJeHf`Ljn6%| H`LKؕU+~^ `qR䖀ҽ:Z f0+%EE*WU*˧i~4so[$3qzA6q\Kբ&a'{<76i ''mPM(]ln^\a L`?gu?̨v +$.-L;q4NEgZ(inv3Ԥ'~iy."iD-ڦcG5Vh.xHATA>A2j?4݌b$VO\Zu &X}-lB|H#UL"q(ֲ4? qZ>5IEbw%nHB;:W\tp#],ox = p!/;$jbIwrSc\7I ER݂  FݽEV|qR= K ptLsLDT^3)ywhv$͠Z}L0G7$Y'/" ѳer$M'#iNQ e`I}k޼fjPf- V8x"5\(q&HfW>gJiv+! AtI ug<}syzpQ#o! WrsM[ZiS?nhď-..Z'a3GۉZ{:K9OU ec8LBݰɈM2={)_&%%}Q4K`KU- "/X|- #XC{J[XE"쫄O&r!bJ2J19@_y:Bb ͩ5<\h%P_Y w_kL&g 1]BkGIr& (*+/|m<5wm |icdE^!E !gM@3̨$ gZW\i>D|vӊ ?5A4 rWö&f4UԚZ)vM"~?Cۖ$r9a&R溮|X qw|k. E^$%T(m61G>UDz{ifbrtK.;ONM_O&OЋmbHn%ā 1rOCgci,"JГ|]$5< {mu .ǗD}ačy#"7f0-<}u^㍈ ozunxHT'yM5牞}9p!8^qRq7p6JWR;C KeF h^e&*Cs?Aeu8RH!Ҩ B27aFz$:R=/lΑ1djMY @u)\AQ܍.xkK(lNC<7qT>0e rty"ITS'nQbnx0syG%Vd+۩< a,c̜Es5(.T$Yˆ7Rq;eʼnRRN0Pͪ(A-[nV,۠lD5L&)^j֣>≿(9DӐ]" 1TDJA)O /)"3)Qyk##abiw,gR 6`v[ E&.ȁ򆂯5*4_#K7"h>:uٹ/=d!uM;Jm5,ZaZ$1LUD\D FjuI2 HrR!uF<}mUTi-{^Rr0:0x9[^S{"WRopQO(N4ZEj5_ V9ɨù^F *we/J_s1LUyQm5dr :ԥM"I4V9^b~ {ԄFcM|#Ts,1-D_zu;93ֆe?a,y%V\E) =$G&w&6RlJ i9!] 0g"JJvd׌2,^ME J-Y6'*5KeOdD]LG7#N m !).אw3V=T)C+ȔL7VKEg.UnmDV+>"a1aՂMԧPWU7$Y6^A]߬-nIGΞjsl1IJ9ߥ{EZԣvPI&aSM"}=8Uden*qMQJ'mȦ5>[4RMJV^5I~bKO.FǒOC&/,M̝~S!qQWQ 6﫛0"PNeϒٿӎ#:z/؎ӉC$ܐH2tzi>T)ӚS4^SJM*JNJqؓDsYjTni>$bb6.ShEO]_4[5 >uSb=%:܂ĺTXb g&0lUipC0'$.'JYid>Ps1Eǂ.51Ak4b`OTèЬ/ SS3hMp!--Z3G8y( yDiv$$W4ƩX,(Rfo(28ag!;9So tA-9.Dj~`-W"$b >Sq O  /+ dn0A4G9@Þ4ҘDf<(#OBU9C% ?b|"H7 <zrijK'AH04a \!aKX1 >:N:C;6EUEsmF,Kɲ o+]dQYbqH4Q'?O(B;PA1Z0]Gc`Ypj$tpj ~99#DKU'\[j? B*ꓼW~Zgpm>A зmbT Re@aBi@K5Hḳ^# ڂ8iqHŎ "#HX}^jy"f|X3Ec"h-nP` ):3(H Fl٦L4:݀N rs3|% &G I!0?dc_B TK Q:`GkUs|#B"LS_X*)[` 5|1Ds~@r& x :@TWŤ-u#X8# #K#j@QbV2H))$:&`X jC2vy(HWu Z\ I)XlU|"/0$_u'S-""r&̗d0((B,@-ydX:msJJ@\dY3((p5<»!M6%օ=g#|mqR&9#8W&iPTiIfiV0oV3 ]29G Bg%*Tu]ԉMi"#v%"CXuF!!m7J6v|IkRZLI%F3R1It3q3a[2$(a-7'UJqg021u{1!⫓Ģ C}WMY?j{zێ;s.fw-aRSj[ĩPkEj[>jo0ºES*F9jLkbgR6ӳjU{>1T(R'Ƣ9D*Y =JZv~iYP47˻gK"P!IUZU=XR0*1TlֿU  |v_l g V`w8CYhIZYJi٥.sLqeVm]G)#LFs;!]޴#2J2PrEp$^YX)MsqA *)Xvsu0V*ȢcV~EzIbM_I\"-OE)F0pP9t&%WF}J9XtLbGȔQJxR`R6:rFdf"FY9Tmjuf'"&Me`$SQHBXQjU$! DB& 9.oMXC1I'˹Ii*3Q"!P:(+%Kr(*a(^JG!}6hykPPc ̇LUi!K޷YʜO+AYZIҲX”Sr0Dq|_(3+w׉Dy o=y |*X (;_IB 0W>7ʟfLJз&RZwڲ2Ҝ)T"Q`QB:9w zn79R"(V dKU!:'g˷οku_Oa,-é#xaD Wr=Wf1ˍK1ȺlʉCq'c ,0! QN*jDt̡a^Z bL.rD15U PP (DAHm]cha/5zk9! )Rw-$1y"7ȕ"@R;i}G6[kk'^ue昤Gjyl=)-Ik!vsJX$D̓ `FbEOñ%̚b40Ӷ 0Q!*9U _ZE)VgOj\[YФ1oNX N'k2H4H+m.b\֤su/i_ji(HLOezYE,bً[ReL )u)BjpI4ǵo6 ZuSL@Fl9Z[o)K|mU/_h;[ob33*b5Ns[^\)˄uV)+rjie#9OiL>o99Rϖ=7˛KpJFvu N}96~Z>WLVN(_i)#hŷX-k2DE\9Ip]gu~i%tn]4kl~y\ iF؏&93Ȧ8|U _MLڙlYZ kM|ĘC8((ᤸ"0@ /b(;\ Rܽ!XG)SˎTu䙮p$}ƺjIL0CIVCŶRMH$%pWIdRwjH{ԌRM؍nConvF5lX)>dOΜω 5jNZ忂 :vRT>qiIRs;4k{>1TsIbR+C Eb:R当v9r[yDԶ `%Գ%X qΒuSg9 iS4r7c瑬fڲIB C-rNJ9,4> I# UA3 H/w\m\ifш%[1RjQMV*G6gџCVb$ೂaE6)!]\M2YH*3!GkeDsTQƐqnΆv:ͷ' |" WS͹rb# LR,BëU/CqR_&r2Fܹvg*ȗlux@H_ Z94wA$$_`tX]@#D1#BiK? IoEIH(DK c )$<= x&K|h" 1!bxbɐJT.<[0A}. vQ.M F-B씢-0b$T>RI*p^v Kn1k$U|V1c|ߑ^f zFja–@kMYK4H#a5L0B`L $xx Kh[.kSy~N8"Ó/[*[e"n r4![:I4h9xp=m (*Ő$sVOY q1 V9*Dg IYa/\"l Z 4=Y=e IXЦ w GljVk5o !~ 0IEKS8IZM954f|QN-Q('c<Σ 6R4, S1Ƃ-2YꕊP"W:ZUܐo+RcC DPUmOORRy%*Y RYe/m(ǵı&/(>%"L4`ܩ1^*W0͈J!=L@p,gQʭp>II|s d,zY2"!DG_qR ݛzyvq1b :Ų5e5duQ"Dzu9 KGV:Sƍxm^j5G5j iWXBV/`W/Lj<G M/Efg^UC?SX6V<װ ,-UY"ZP>Dg}PaI-b-1FVIon[EẁѥjI|ZyT80B'tO5boUV WWac|J`aCLIoս7$@B(!acŌ%Zϯ|!HZ/3|m|PB I"%k]Nь-hXh(Hױ?K(Y݌Zߡ5x!$X[SӄdR ~xݔ{&RdCqjV; Xa{B9jgJMdDL;b&5J":̌(G!EIs 1x[R9D=q}/LGeQ^" 5o 6 "wœ'8S%B1W(4nQƣXd{/a@s[E'C/Ě=)BVCDSI+կ0UBd?H{bI㵨sMb&G*BcB~ū!Ci]p׻^Q,;V–a[DI(BGwU4EԭNK! 5қ(K^z) Ϡt)3#VwzI* V]CjiяAL0@K MŐܯ)7 *H69 IUp-Cesw(+6!*f [i0cʪȞ#Y@] fmzlĐaš(FEi i W7k!zaID![ Q=]W؂&neȨ,1)(F4 YHbPTQ1rSpr[y׿p-D{=aB~C'r#tS*r^ZČ kSط}k .[%͊Iٌ2EOʈMrkeko3q3"|k퓤9D!_!M-[heȵxk@c`L~ I$lh"& FAH&-.F^jŅ 婛ЅK[`nxA# ,ǤNoh6Z fMu1)|Q=A5e`0ad-NљU**r\O N(_ZjX{V+V i "2&ȓ5^V ujP[Ek!Yd,`H MĦdt9ҿJL]SFt%|JIN]WtQᲚV-W;!N*Dk5 w&\ !EAf25 4C}oIU ~Dql7Mdu|i&ѽ!׆?E$*BT3FIFg,t.IxSEtUtJŞ&cv 8K'^mŒBi3q1@$ch{3L9 PqM#$k&2οkR=-,eFH/S_b aWyZL8~eM}DIB #"WՇGY~nG&tj*O]41ȪUR-}Tp>lvb.xAƁ7p{EAuX S?t>>2m<9sVG__}Q|9UXˈڋl{VKbaQ5'*{Nİ26.Kqp4ɢUkUcXkMIKK tS y*AL׊cZ3YT73nJQؙMJW|P] ^F!06 |4'6kL?q6I{Bko(,#Ԭ&e6gBT0e3^ QQAН`on3Kau=lfb'NTJu{|S8Of~n:Leyy{ kH}b#|B@aFIu:/gi>Yr kzeQX$2! لs*(.u  //c0BFʬm^9F2;HRB$]`~VLhi&evv>cp;C)~n!z#/l%O MvB[RB'Eml|cΔgxJ ђqzn{{ 2"&`C;SrDoY}H]yEoW-X R\_PB#مIx5~2&Zh?nE)Gұ28L)Ƽ5DP4ԟ(#!Q~jL#r-&/ҝ<@|SY$}}%O[.e`I NR&zD|GGީy!h HV4IRiB@q%}3`HcnHPFfceNX]f%*牱ɽ5&{o}Hy9nNVIU]._9ҋ]̒33HLVm5x&S'SAN>ݜqe0Tcaf)j^uHaBbL;L%9.ӯ%!2Wڸ7~ 4<]sU!V>!k=.%/-K++Ff{*\_{̒[b3=*aV ]?F:fRYl`{ts{NS'rTL. CSE` `!X} 8]I4`YMȖ,Á<+PPLb On R"/rj#Qt:ЫG܇KUp8e j K`R(>ݖO0)aP.RkdPcd:zE1V}hby=DYg2%MF"^;) lD46tIHk֛ΘjR `Jl5 1i:KT`T%ߎHFyln–UeI`:"q; 4a]#7xֿpbm;t$$|XEa7JO砬@%_(S$J|\IImCKXw"%[>XqǎDBSV,geVߗS㓋xuac4K3xΜ:>dz&408JQ $KzcSߝ!S&e&Ά9C| {"!⿡F}]N{VU&25%a:YlPg1!;ݱjT&jrN/ӿ'$P?̎>2zKci:'96,1·ʂ`:]i:6>hFtj;!pb]ϔ,E SM/~}Epy) ̹LD7U)RKz.~Ei#G9}`@/bU8_i~BXx ;b,+s3r4l WꉆD4gVPP*P(P]DFeFKlH4*Ƙu[w 2zˍ! ݣg[t&%%V@o)"4!B[$ː~)I"$ B~N513r5nȬE.\w][ /C\5dOTU[BR A0?,ӥ #KNl/={<* Btm&d} TZNHD,nm#tA3&{(cBZ$Cuj@ޫ$EaKPla-7L\R8L+u(Pgh;EvR>;V7C%E%Y(ˣA87Iro.%c.#bEW ]eyoۂp8\RŇH&A~A!PIU5Ƅi84tX^ʖElxUWM`6:й DމJ=+}rH&\`$|-^]EE4 dfS㹨(evD4he.\$V:jy( "dEH`f҇^AVM.Q4\D]BT6X^}OT?Dg^|zRug'6W4/BT23Q^v'"e e^UH@L+t~}r{ޓ#lXDV*V7.ۥ6Y~_"}$ `JrB<, 1 \@&1A?k.ɘX]3h1s]gEg8Gg(@L٦eiX/2 (X5:6P\?j@d^wimy cFr$tDP.s.P*I~$Z#FEN$>R@ȱ}~>EJ 'kD`e(nGlbdPh. _v$JXU T^3q]& #ًaGyq>8D2#du9o-mASq$ҿfsJeeP͗k׵qI$<$K̕\'"!vᚔQm'ufcQ}ڨlS2z]$ ?g%ՠjM̄ PM=GhR!U,3) :vnӡII%UR3\dj>E.R-A#/?v ³S卷e+$u<堿!޴ljC3COu.D΋h\v{SRL!Hl0MT)^1siİ'/I=|jxPIEyokᬲ8T^3ba-$Øcj!d-c,qF5 G?БƏ $^ԇv&7KZgNiU ?K%A"ԧc(BȩLtFM1p$p& *mATI2V8+~n=29_a4"vW F.R2_ܫ: ؄[okInS\X^&eX]Ori)R_.!ݽG?g@2T#22n*5Q31=\QL)pJͥ zVD*{$(N沖X%Ync[[O[xf))"Z>~.zRN*ya,k;@I.F + 3'DwSr 8yg5XR Zh:>`d%5~] !acHfdW`Z'ȝ$1bY m' $eڋ,V+Dqd EBʆ.k^unEԦmE݉0 )f|v.ݔ-tXy+T2TSV15#mH~jTLD_=kYM¼, $4j5!N0Tn?)*-]#hRnRKL02v% J 0`Ahβ$;P󑇡HT a x+xĹW}P;n! 2-|o4Mv 䢚c VpQ/.璚&ULz!d\NCV f:;sm)bxeQhGx>js-Vb`J&0+¼g&tulڒ $l6 JK^"&82 RƚBaDj/sK1[D3B{XgU\5Ju^CX 䢚!۬P|t &̮ϗ7rtsB$n 5b}=g LN1hdPfed[ R%:JHc2 B1a5VR{epe h T*bqݔGP :]vbSUX}%"TpoEs`b(> ˛4@`2%!IWJ#X?ȪAFE<}j!!8dt[AS !! K~W~ DpE<\iMn `J #9ZbjXM W#7Ȥl Ap*QeRRUd% ЩcAx2 \j`ڬ-Rpf!r>0) HȲBD |T&\ =0fΧir|)Mu\I`>ӓi+r=&LFsFoOOEPÂAKĘfcJ9r07H3ȶd&P.@X1 9iZv(OЅGteUDBwa#3"v>v>=ba"(*u7 FMގI8ʑO5`-6:Y +C6J}mqpB쌐bDqe0ؐ ^$b' 5p- |*dZ$k!^~RDmc5!0m@$/0/~%N޼As"DŽ7JFYITAc%V-)YF?,^D7![S?mg{2}X+٭[#CO:ԽmWyki"(EF 3 ddŃxhdYW+T @_S ߬ {QYB;dO# 6%Z&؋t0"A%Ab4൘ARLy&shqD'.[8EWiԮwqsS! tN^C>E hggu0ْ6i^#YBj,ƁCT/A=",|s ?bӈAſ*H@a"8|BK(jʠZk]O1OyKi#+ JƬ^5N{F Piģ#$RLuaAd=i4|.dI' ʍQ;+ot8!Y݌ך8.XG˂郻%D|1ײq P] J *a *.l/X xܕ~p2⪸HE1hz00U"MLZ@r܀dYYc>@56̠fCMcy@@kudf FJb#V= ޕZ JI԰s2< )խt U# K}qzktJa荒/H1VQA!4!r.Fp(KU1 \UeM)6A/*<@ؕY!m'cĿP 4& ÌIѭ-hROQؾfF6o,M`H\sm6AF@?r`u~$pd| P/i] U$,y^7PMki$5i  oeϘ1A (RzԂ0@K>Y(\YIхOQ!iSqZ21F#jW`ަ(kvI iiD(W\/[{YP%YjпYX S$gA[rfC1 @:YLUFj؈#D.nbDɅ>!*smƀx1āK ģB*oLD>9|&\vjdit:"Je>sE5j= ,FfpR β`!,n P̕Xo8yB a( Co;G;S tf`AGJ',8"fpiR iJڵ׎Pd:b~Uזc*B|f$G|:] UFRЗ/ޑ`0eьSTgpao'%V0X|2x} 'F2:vޯwiG1l$"~9(]'ퟧ +pHB L6C>!gYaZqfL?vu!:7z -ŤA[lr%|*Ѻv_ `d\tѼQ8U|wp{I_h I֚PqO.I5Hα^""z$T`:$4;@ھ1Q+J?nd+5G͚ }UI5>?ed ɉהMK^uN1N\Pv*M[ lJ M㉍(S6L{ƶ'uIBT̝PJ@B8>U13QX<ֽ̐YP%-64Wr)TifYkiD^$*d;p JG!),QNuC%JT91U EA!fuT:^dѐNbEvNDjMo"RəC&+_AV*oB$͉]f#B( Ofn Llaqv G Er|P!&.}4H<$,,3@E$ SZxZKTcTˠ. .3_" hoQF,VE^jV;>.$2>vo4B" OzP jACqIHV7bxޫ"[oa'8tx-K9$6 ApR  A)d%m%ֳ. H+KNsѿ!0Hq!8:(TMM%Me-}q*+Nbc-8"኷:3!S5jKK,7S@P41kmr&2:> iXc#PUl+TQ|e!l '7" &7TL"?ŏdOUQ `)~ΦqDQ7m#̆P&6q Z-CUO *PbPlyj9B"Sώ.<:36 `VAH`,7ZQ]x :ToBNe]fdC&"BakHB$*aS&`-1( K@0 1\DT0+~ .kfa&*j$p*$L40^6Md!ٱdAQ$D#9 )Ad x:9`qt q&ت#Ĕ"/UB#0d HptP|m.ܗ>;u ʵDv􇙔L wEv,j'D`"9 Q͢č|"zJ5)<ΌupЋձ%,{dW|{P6&JwچI #1($`QpB!5 @aP)x,LdZ|X <[&ãc\=V`'`%Aq6LEfF..8OAp.̓prn *.S)9;YS|\z101 b;"`' |,Ey"ĵFi[<*]a>/!LHd7/U  @t(KYYuare#IBI@& 4002vP.qOL4p Zn"QI[݅G 䫰cX"$L:CU1mepX@օ .`]($(`H Ĉbbxr,&62bI@CI F鋹r\(}$OI4k)l Rl-7 ~Ŝ]"ĂDAMH&BllQanؽ̝L$TS_$NknȔ'2\au㣤X ȥHp`>\BTCME02qM^x9J2h"Ӣ ,"),Uqϐ&$KQp]JbJ)Px[*p^ZXGUr!ٕCo#mG["ӴB ,kqc;qTnxf ptN':h/c dV8N8@TRŒB-eҝzO9ryVO&9f~lL@-'pq8%u`"84ecM; {mZ6nd$l2t.&2Kx+)%Ǝy֣釗8LP%P=$40|Hč啸Z5;l@o B@P^ 2zƣY<ٔ|@رI+XgU> Z{_8seXk!4SǪ7O<[("TʖU&hf8V^ڞ F5ʮdj}d_|pt&LWܯD1lyBISr{ :'[xe(| (XD-by%ʉ2I Җ1ot0!e,ݺB4LwYzrEe/{ڢh*um@ (ڿmّ눯%=Oc7 3bn҄'Hyy5*rYd pø 0E "2Xbgi D\]z/2˫Nq wD+0EXU$BtO46bhb^Dx+g?C㋜ImH*&)Sk|Q"QSOjfD q~'g M=Wxe芝c6dsmtsg&*fOpnǤxBWXyb SgѨ}d-hFC ()+#ofxH_nT`Vys+BeNHTvPBfZgeЬٖ.fJψg񆄷u !Gb(n ś4m-&wf(wCa䁿HfU14l {oWZ$&g&St44PiX(D !F#_8> QjmP+{ ttg bVoO} 77赉̾@Os<P&"ȕwc7ɥ:fQ8B$R\1垴*Kee8_ na4{$u²vrIl"W+<tB"RE1"V}q_'U=*X='m=Orȫ0Tw*zu3ez c'tڮ7t f۩2P̬p.OTt/W&*7_Nz )xwI/⑔rF2hR_N+eaъ-s{tI'tr/PAUBPZ 6a3dsqCۈDX>:;]Ri+jUWzӵ@*p/1ԅ/!HQ] %O%\..O ؿ)4;_R2*FMGEE1Y14R:^`S-yӄۥ@v ~n K6UlA G<9XRCc,) I~WN伕kUHkHt[B]$xmܡLX`-ܓ bjR4,?AADhW_D!a,t92c^p,Mw"/f*.  :xGYCIO+$! AfC!LCSt 4ȄvG(&26e@R?/$zH@2>ɷ0fwU\r%HȌ6|)%veT-gh#$޷\KGRMd-}R?IUSO:A&HВNtrȷ%bT|nWȍ;{I<4lɨýBDuɵo)y K\KZI?cڡmkRn;r[U٤@{?C[ɃXn)LHosK(u-~e C -!Ѫol t 7.Hwt/LyڙIh79`[=+:.Wr%@h).[b k\^?EĒwxY*9`ОWT4\I1-+&9B{ (Tlzm#d+BcR[|Zū|PqAf)NSNBMU4bܵՙ7m&r(Ot, !"ri܂ ?^%)ggjn"A@0^ClG_oꀜ P,8 I䅯:VԴ加K!B  m`U^Bqуz! -~ƁZ[U?ŔUT(C##KVkV6*ϟɆ3 ʔpY&/B$)ze{ʹ"ūF[}/ט㡻5~}Cr6+tndk;E5׶◎uĥbctZח힦 /1ģ/G8b5uw~g*Z ;s2{PX-K2ك1>"J kU>h)%uYBD:h>?zM\ԩ㏶.@fV;%tƮ>'J$($5P\ E*$Ƅ)ȷg%hӯԋ5lL[' []\E D*c)]S&N."b֊ @L3&Yù5ȋ0d!WU:(Ȕ`X|e+wh'V\.]4 )Q[.FwEZ2xmV(~G]j'Ϛ/l3;Tu A8D-C++  ,@E$ I8 HHGİVЯ]}n\_irBUu V?Ḵ _.;l@ud\-HL,폊|46`zEr*To\(>$QЏOmQcYRm,ApXuDq${z)%# >&Am ĊM"Uq8f+tw$QIL CH>o>.yzVyZ9@m:7joz|}PvF ? E3{OkCJ5ߜZ|EZj pH B!O}P5AD~R4CFY J,7 DJ!аɑL QX!I"QEJ=$w~ 7!S;`a̎ PoI#؂ʄ-p/Bt(~++ETE -Q;vAd`03)6PT]bh&YĻDm͍%O! lȹMwjL-.3&GEKgJ6I]I`bJ>핂\aw#ܯ!NBQiB_ԃdb{%*r). LT=MF4mG1pժ֥'u72|1" !Y56}j$Z/ɉJ}MAZ)Rd[&~P{"O?]VC(.#GԈI<5)& u7PSm!i-DEP3yӑgyX PckY(M-PlG7U;l|@ :WW -H2uH.Ưɾ){dMLPNJ TOL,!>;ƛ k56/?A0's#)q.K1,iE_U//!I0/0!QʽL&FiK;HPH;vp*VAs:ABz!z'Њ̿d"aϛX4S}DŴaB dD_?7)[1fz6Q: Uj !I :x薋sMg DG A4H9Ad,H&= ,C"Ha0$~IM턷IR(!w]4LŃ0 +R*:d&HX S7(LEiq;Gie\S] kXCr=ѹ_ r1(꒕z?j.ےX{V/Qw7!zϦ XKtӦ>2LPX~_ )Fe˦_L].ΑeVl;)䲽e1[n4Jو"nAԐYS-*iPbًP Jp(B#$x1LI)4 iz_c4c>1eb7qS[EJW2T9ݐM LI#u&YU#L˟X|4&ISÍ >:jqQ2ዚuFftcJӾ99,ء@~qlMuyStFM0{?B "+qM=u uvFsq~(WSz8 E5tW#T BN$$/Dk-9(蘧A# A2շЭY.,>"9r{^6 Ҏ'QiT|Ǖ"Gv/IRFOmqjBVcl6.rYi5ϒwp'S p#r8IQ1KΨEn(b\22:T["E1DK$M#\Rz" W}.S`g!Mb"ME2x?zbuH7[X_&o$$ M\xTl_m2cOo睪FS ª!dq"4|RGT20h1Kv| Ӝfŋ# [FT6l2,YF6ai$rk"ob'=ёj(b$ .e&4]sà h@Ш(kbNAYGOUs2-,x,M= Ed&z?9q)(;8b P 8*W4꧳-J7&!>$SBf ?2wq%|hPkzxD HnMmjYYL %ΦPL+KH0\gyd͑KaC>'.hpF!GSzHE} 7FaiZȕEJBD -.$db.#JeK`h0FA\^!SN8vz_/ 0m "j&.BE( Ng8p#h"U4 V=txRYklҝF. κi!dv¦Ňb!9m@Kof*[4&3 jRZ,N$Ip_{Rn;DsJRSj9CXQCR+2X7wއ+22-mr_'CsB yj|CϘ9N_C4%yֶ3WoiE+T&R8_H;LShLDx:[Ɠ{+4M| IѾD]੢x`r/`օ(@E\j+Xx \J04e遞) tGŊ1'Κ;Q[@zeđJq`(}$>HL bi> : 6X6`6tv<.x]J"ry-U=*Ϧa>K _PGqۤSxAyL?}Yx;?Flv:,?i.0,"qZOE)ǧ0*(z$F5c6+, M1Xт'By q®NU>0NSBQuiׅGP E?As7twZ$i4&IE: ڥnѶ#ͪ֏]/tlK`dQQ?DklF%xۉKO@p2zji8վAnZTAJ|xi:FT «3]H!tSfWͶҠ˨bf]xP:eXӿM]'J2)7 ɢ7jCa~M<{BC4*&#ן/%! WSK\>@FT(2hĆT>Yl2EέosjxVhTa@V p8 *wv %m@GUPUʋ U ˊA~Y}P~AZktKm%ou]Kw q[xl`*4Qt.{n+u>_T*cB"BLZErTL(}sAn:<]ywд"I-w`suwԑ%UTRʖF Ux6GGZg{"j(>I$& dP_$ M@e\\&y!k>< G+f0*GFکc!aޥ1 R:: t0L6` ^]Ku\e4cY޷{KlK+UQ4Ws| ksk Jyh*R_ ܡD2!T eip֞*HM0Sb& CjɨþK"էB&b0ϲ^`$(vQb/-CB0Yta CA`8<Sܼiǟ^;z &yיRz]i+[<;OZK ޝB5ٍbѓT6j x<e=ߟD+JJ7O4PA(a8jH`Np-%jzG1^x, Ԏ{_+LG }@U7ENJ^j4&pQܳ:E$8 t=315i3OT@Xp)BTT8Z6%RFLc959-- (0R?jv4fl1ig8i끏Q-!4@[,$ I,1 M='-g=i=ipp" sCe-A''_.4f#aB("RОCB F=M#ܝHRA4p7ͮb 9I$耲QkRbzQ})˝G=jOT1[%lXz@c`H@[R5h ?tY֩D} SD + ӗzSN4WoQAec՚D4FeQyk= "]hӋJje\j)0'DlZىJ(YQu;B>щelj%b5h6'Xe[4ۇ}U!; & )pkiSXBzy $!:NT٦5 U<瑰ŘRxH9UA S,wBqnhl#R>bhf&v$ `x ``'`Oxqi@@MZ`ClJ Uٹk`Yoȿ㞠h!r=T$ɰ1q|r؊apԽ/X7O[{q d|%3q2t92O@i!¡ՁL\9 ZVV~i:fOiwWjP0 曄*CCAO+ٌ㳐 +{i![JҶ4-K@ԲZ\WZ8|L-Mzw)!΋;З ۶DܝUh]Y*$}bX2\98iUkDNNWZQbPKB1L dՙq"GĚּ6LXM4;kgnRJ-Y{#Еy HOi e`)hM6I)y;΄GB]DARji{L# l0IVYjF3*uilҏ@IqDQ939/IDvŲ,RLm6, X"Đ x\:̍Kg&L[to+S#PnѸ2WXS#?aY>&D^`Ѹ[*JUEi.@at0ba鎒wVc2@a yg_ S 0ɬ_enOu[gZD_@e"FXiRi9ZDFu.b].v0# 8L!VAv)k:Erj^uIW[8I6c0:mN YZ׋_&te*]@I|&qHn7Cb-[B`Ls\"{Vt9d.B*Pv^-A&!nx8R\vfqNGOA^VŢRhh1.uvaE:^UOt{(aZ+u,$mZvb?e:H?҇G mah̷)T5xOUyF+a"@-xI춖V Iж[|ҏ hTA S(舞]SPtB' SB`_d܊*n6٪s%vKwį] .ݝlD>0&Ğ^R-*c}H"\YVS7s1CI0.LBwjbSH OcuU" [D h4/UCWp?d)?45R8͈)y@bEamEf_,p\]sYP cXMi43 ÒVl;zFкN-s\kT4ԕ/"bK(1@J6 T| H(L|;P@b!/sU_'ݍZhWF΅gE"*꿎6NPDXt0]hKƶVZHk,Y"~#"e!3s .ҙԭ*kU\JM3$.ucQ VP]Bx&j&nd^2p^(kVWhň)XK&p'DJR*'Gr.3I 0#V%/6Z}%bPϿG3V&_c Y!03mPtrk]e(P q/A(A*bw3}@ff{Ȇ#v,[[[-Rg''(neSeJ涾9HBmHhM4bX6j+!;E+ש)R y /)!?~9ȵEC bߊ8LJگՙV^2d?u΄0,cdJ%))9ضj>5߭,V Pjku0[bZ/ 0<&jq/UȠƤKi pL,$Z5ŠyCАg΁݁8|0srObWQe8w"bزKd!B+*~,F{6Cu_#YBn}ɢ$V, "%yIN>$=^'@ ('v+X,AuU<\Di}BB;N5M; *L֌T{LpPJU799${44+hĊ cQ PQBi@Gj0IGR1/^rB%CVF!İ%^!f_9RIՂjuK8zmȈL!-Yu:8Q, h }MvsKW f(ֈx΍U$#*(1m7T+`ZP_BJa~%bsVe^dQ4㬼ыVh"V(!Nq당Z!/GGB C$y ʥ-!m'^oQő1"3z+Y)A޹w3ؾEdݢTڻCb3l[+*}%\mmثFJ %!#ؚ =~0maI8/,#ԭ/CHP4iB[l۴Y0(:N5D jzHb.k<] /[lMջLIFPߖOfV2ZxX"m+6n8ZubJfi,J{z X@L$FMLc %4'A`[EՔd6![v_9'Ì{"z҉Q0%ŅntHVTK:M*OM<|J>׏&L,fN$U($M-kej (r*<0cx\(ۑ1V5V>#q(\:C`8:-Ǩ0\ @#( q^_G0֥$X3`IJ1ar0^잪v zv  SL3&K-N [~!6 B^zTERvV7%1hAK*L:W3D6%4%mqу^^4fQO'ޕ ( "`,|q Zp.W | r 'CZ_>\5n\oC 6 S)wFGVVX%ma63^U%63mLכ89RU4YUUvov2f[Wѩ&\ZY?*uXU!)'*DqzH^ ɧE98z䤃.eIr'X%;8:- LGNG}:&9 7j1}/BUn9RDoqgUcۓV/G[  eNbXhT,5% TЕl/~|Ө8 Qky-Gu𭼨nYQma[l13-laF3fHK,97TQL2S1 i^(1FiGNKIυl@+{xeV4Qlpcj.+տUGjOU[QwTQk՚1)xӉr:/Y}Ġ;'*6) d?&K1 )d"n"q"+_ʄ شEG л]œF}JYv_MbfSg8\+R\6+s "S~%fN"f~|(tz{`0 Gjǝɝ H 0,{:8Fҗv$Y\BI޺$rY7Li(ʹ| [ b /( UCPH5}PYSP+65GvԦ Y,n$Xё8r-OBI(C1 aD lˋuZ! 1}.8+rk(mw{ɪk/<3mɖ 쎖B"o<9pOP6oy|x7L%Ӓ#[Xa7 $y%ƲG`]@L*="۽t-j\Stu^KdKԑlvr}~ԫ7;UNYcCqdUFEXhXIGNSL/F#b. .0ꏏ,|MV QGf?!ɢXLE+q [x97 2QS([Y]_CPE'GE!8`04iā0oF֞P@!EFq,)KFBZORAWlЛq=sx:WK.Eo-\VJX鴪]l X"D"ےZ.뉼~1ɄP6 fcِޏu$IbOfY*EiP:Gr7OQ>,E9LWovvV.fN&׿Fhm6! oD&ddu]o=kC;"qiˢr%-JjW?ı#{Ģ1oo:^WSe1w*}<7{8̂(|=-u2iBr],M%7]Ǵ$D1b6ɨÿLD ʴ~F +)!mIriiJmyo n[Arb9 Zc'Hqv`DW .;5uwۮٴ`BCb K<5_ osjܝK N 7#Yj?_ZfI+R|{ TD3(ҠycX 1L,5!JL!*&&0jVD+K#iT#QᡨH&&ȅKw4(N„>/CF2۠&Lm P=kjXIk۪.JY m!qŚ i {4ͳ|5<O22QZNEŭ>~)ģȬ<AoW(\{̌jjs ;qP$rNA@raHID% 4RÊ^hZ0%9𷑋F+57мQX|*W,*&Cj*R_.ٝxhE:5VV2y:+D"V t+2 wK;^䨺+ 1Mtu%ER<[D$e`]wBR$BPT'SIqwOw*m\dND;COX°=u-mթ**{vE仏& ;Y 6i0Ә!# 5.$\LXO0. /kTtěqJYYh%fDK:3"k *9!6E'F#(1NWZсgDdDW0Imj_L \2Ux Aަ!][-1< oOqˡCR^oa,iP-'M\G{*P#qeueޯr}^aH7k=O5ka)kFrloک*\-hЇ2G_8i3!#3R4Kv/ c+9c дt-&TI0AUYȝ^,7˦J?NeA_iR|L"(#M7ϥYG24U MVPW7&:ζ9z)+xyAcM96 ebH^,ɞB'DB| JW|* S)fXtٜ~r"m ) \x67'Er(t^TXUjjPe*GHyH YQ&7Q=<^Sabr 12 tRiEoW'Q8##j@Mz}w\"eJ̋y Swp22Ur3;Cժ$`Wdȷ( fNkV T6|@ͣ$BZBYIHzRu /گd^DIp0yC;c(J*Y* rYv$vS5%)MɌ0a#Lg*\!b'DE.l rZJաyX8&9m=ܻo]ٰvb4 GP"2F.kwoieF[h#}W1]djewhȎ㭨F'd6^GI.1>SŻ@-.4x.{\վڼ ̖l_eVwZ<$zϐ6P.'bJr(+q&f(OhpDSu)^21 :(Pho'#d=ܽ9 0ש"p)'9 !A| F'~cWČfOqt:#eʥs9L`ZM\a̛s1$N7+N&% \$ƒYuL_.X'4XnQ8m{6aĬ͛cvv1&fe,0uows~RJ[teR"͍$^X^f 7BRWM9-bӱ 2;~-c ,>=>x;۶-!!Bce.DaG;4$u4׺z HI,8Q3DI9ezBTLGw@Y!yx0ǏsR-^T =O@>I@(.^`R KЍ+D $T `mY\p !l ǖXOi-h#ͪ?jFs(EK3Fr+iy2%;ĵ8D#Ҵ8WƪJS[ou-a$qZE|ǏUZ~ u"NcIҡjq2W(ܟQ">, =Hy䖹+~Jh\u9ء}B!{Cp]iA p&o|:b{B%2LΑl:y,UX#P)BŚlNk&n)ozgB<sN/C8Wg-F[FIojvitAoMVEEDͬOuToW)G.~Sp'Aק r{!T0:RQ4ρ ,8$ɂ/ LV63è=$[> y|Eihïg߶p"//I'4F,|@Qh=cڒs=|\f2١g\8= Ҙ$!6͝ҼLU%~Yaw^ݔUi&H}ޓnY^빇M,T%cR.&A,A\E Y^4%'ŃbZ ˢGO>@#B)1]"k#k#FL[01wVV"G B 8MZ{X+ͶF*zQuqMZ$p` ~mA9v"]r) Y+N &AD te  *Ǭ$ޭPix4 ܅6G; *G*+'O"BqDERp)Sel "kK %HM&I3g#}jIjmDJxB %,FD࿏E4H퉬YLL(81,\Mp~d>Q̢8*H0_f/z✑]Tyw&ZLT)$La9s&4(T`0&t$X(huqլ,L6SKsda{K1YCKQ[kÍ 톅P;H"G ؁AFP3<Iq0bn9K-p" 'I,2A,H؟U< chsI^tuL8^I?<7Ίl^@ B`#?E߲ /nu62DvŃ©g@ɖQ*hI7L,*yxAkv>j Z tւ&`Kތ*9r:ϙ^*0_ab5a_i{ +L&}Go[Wbcjb_zB,-8L$L*,xϔK 6("Eࢇ݈cZgZU"K&F!%_-4r>tϨK"g* :F)vRA{j^G$3x2(e`b= yscG ZuGzSA@>@,+`quR?>2вj&x6h'<ðz[E1,!?:|xzXט}/DpH ŚbPr?nNoYadir,M'%hs йDݹa6T̵ʭ~Uj*'Zk*MÎ}iVgRŽ-b'iVm8HU ܋̱pnodLJ 7Q#ԯ cGoɈĀP Jwᴰ46!VP ` v ^O4Ko)%rm\ױCAi ^$X K̫4s r`ί䵖%4fF8XONe =J 2 Gc@o vD` AYX 5vBC.P=L+_AEc/uYs z8H[-ѹ)$qShݦ ܣ C%X󾪳1UQQ"3̚$rP)TXr?QpXčR VZ6զdf:"5jf^yaj 4QdO)5JT3l2T3J0.Rψ`jP?<,b"1"Cw\0d 'z_p 5N +A`ҙۜj*aF{>$v7N]nԒ3;hSeQ$W@BY$Q@[HWR~Pr6[eeΪTT`q"Jq&D~ jM7oyfmP1*K Dwɾq r*k$Ov^{~׻2}"">&TB|:̻T&@]$i;R[\`#sdasQ({U @Ah\p)5ā<[OHd1\p|%S|Dk I:D&MA89P7- ӇUmVWngfT*}ur-+4%nTmsqN=6RDƂ h$A"Pzzr2օlAv| 0m !iͭ2fdq{`yXNy8\͛ԀBydsbE(%f.~3g<@$@4BP(D=WKYp$#E+v$DPŠEjb~;TFV5tn.$_i>G6r:o-xz& I9iUsfT8ez !]\Y?"={'@݀lZdwxNUac;D$w yơw[j,pwC1~6'(.R1`BBQ,Yud*}wXJQRNtZVNg^۱$d"6D%pDXmu~m0%ÞUk(]PWTS%Y+yHS/>r֌A%$34 xΠt.Y̫RyH}4T.T:8ӹȞmB2s;m!AtДr"?/lRV 𲲨o;TrMX)fLY<+0FBfůJ(8=$,FI{ްu ܾ^ȀPm33 i[.G.k%[9,PK7CGLj12CUen$:-K%b&YO}krNu g'db7)`&X $p-m#PbxCr{p0}ah*l[ [ $2Z9QSdRiQH CcbڙnaNJ~DCny/Vf?R?NM&8ڎJbS&#R%j>b5rd0I`=#ކ쬖%c(UM!Yx:tqꞐSvxQ]SKrXO~:sA' / Laa \O ApD8,7P&1,7dsꍅ1I'F-`9442(&BBƫ5Hڑxk.Xş C0mS !mYk5uIR#ZÏT:H0IM7(VbJԬRΔ9An_芈I)fDB]9brY8@*`ū/P~[X]sO+^לJ"Dv}U:.'ǻ_7h1>Eĸ/%oQzQ2uߚ^D`0jD݋rtJy7J!D˜4(@, -<%A$/&LWK@4XUmm]$QSV1HD/ JE\/Y.-{A.E.v>Z粤L93]\*jj]֞IR/fpRZZ6 QW^rsjɟU܊fYprTMZQv . Ԧ\L4Ҷ4[uSi56i.<A4S<*/z~IbH/,Hw7b1BBh4.PgU9z+G7 z`[~os`g\ pu Zvb0P<<*W NmqgnmfL- #m-΅}٠ޜ5IN=t)+(K#XiST8͊ 0!mmQ4T'"#-BFTx[/g6iG–m+hS;%Osv'%ިK5tP IA@ @JFa` }S.Jt~Xt"0* N 8DyxT9`|JSXfLPwP5{VL arI( BL/[Er: HŸR#lBe>~ZGj#ɂEaAʔz)2 mbŠJF>L&*Awqu[~ˆ!X C""lQ!`jk1BX$ 2Ax xh0/ H9Tu2Y MJLL&LLl6eO͘ZC?!XML\Ѝ{M4fwq?S eߢI*Sg2z뒡+`l j 4(؅?d:kE?of:k?-x*=0a':2jȜW"eVpq4}6xTJ"+RZ‹3,pӋB18DXZl ͇ںamKɏ"1 ##'Q<8+rq` L]o (n[zL$z?Wws +UNJnM\3BZeXD =azo9jM߭ ' rꟘ_&z`KlH{xSA}%#Yh[t >D!ӐJkSc@V`R Bi_BnT:hpTiY|;a*>^V OI!"|Zy͝J7+w B0(eV"b†y;jN3A XVgh#[Xq7A2N#*&ZKf|JFP \nӉDU@+r!? U֮0%^'f)zG 2Z]& ʻ4Mi`Di^$ѧHNJPp:yO@30xRTe )<A=\'e" lIho{/(+Hb%tMS|{$=yI-ktZl7%EO KhimA"1毯d7IS&Gz4j-[bi-Lc"&}igda׸ )ͻ>Yv[P$ CRqEe AH5|b⽂*S&phUmݐ!Vӥ8(Op$Yvt&1jaM"a?ǠI'PEn;L2+ ǂы̌"?`EXLPZVB1< c!13G-IYfYM *Za BUۺK+ɟux:E7'y+q$p?0~q W`NAG,E^; m 'l\b ia0(>(+ɝd/P\7Ũ1p]O㲃w:Ja+3t3+(ETY X56goGιCƫIQxϕ\iYG~4S܇"kXWt r' ֩̌=:ĀYR'VJUxBY~__Nz^Ya`#t-#d8TSj)6ד+pPQaC CA2Ar^JC儸Ղ[ >?OU#(p^<%*5ݐʁ__Fi!RCd Ş6)tU8TL!gYm1\j~PrA:B0R@P@~- bmF)H7fqZ9:r$vyﵫ3cYy]&)ۛw&'5SuΨO xDAHJ0?knEXD2ELh/TݔJK(|{'9Pr+À Ɯ@{lF+ ˥H[‚Hn0(V]chRsD 7`T|dq'ZB@,%L24?7jȈ<cȫzɈāH首\*:˝e^@C!I d $=dHJBqklD$;b($´֡edÉF~[-wF*RlcO pEWY$![g;f\1} ×tft ,)ZHFӺSJ ܞ)K˽8ӯz=#CU7%V;Ɋž֟v nrL%_1: DgMK-T:6Ȁ\BC<hJ(![_H̝:L`$ǭ wa%%wj*{-b^AEʁ +4ȽTOr eUVLXy9h̭756O%IrO3VRuikS2Di@@d@P* J؍/u[6  kOIe)Q\lCQVLI1>x.iCY{`2ʾBu;ID4,x^ls䪵fLHm*"$cQ?(SH"j6f tV0l C! J.؏y\!8C,iM+rd );oQ2I jd0A$p< I&a Dx@^30I E}z-SFGJ`[J(jtʆ0Ll6GHh/fQ5R-HYQn-k!B\S1\ڰzNDuҵ`tˊL,.P=ۢSCsg+!s,%DBc:tj 2s&nD*ځl@ξy̙B SP&ەyA_!̏KFg?4 p)JNpF4~\V֭\a̧NC w;tg=O _pB-QvR.'j\R6=.Zmwn>4Jy?S%;WdL/RQ)P}\&RٖruۤU da5xjTȿnͫV"u=l8~E# N/ Jfk5/Q'w:*(71  Җ;fA[!GMhF-I[&7 v'"^i_<`r[^ ۊlb0n+fI24uxS JPhNk9{Y@X_ⵞ F/׸FKepTO:j` uS3%fC| 4dNsǭEm)RPۡ臿x`%TL2) $7w)?ZG*5/M`"Hl:%Eb+z2wJz/IcaH/A~*()PD|[(FzD QB|'ś<[jfءiy6S|%12+BtU(HW\4cFn UY *CKf\WMk3MՇSȄrPqjȉ-rP_y'e]`;šv &/NEgpAQ۱T3'~=tP~}Ҫ٤z"sz_?AVʹ_Q5 2Y cfCkCIuٟFjfqX  @ GAZ]8 ޏF)ؖȼB' L.VZ9q覓IoT=# sr#h\cgrLEFХ}Q~32t59(l9+ AGDȕ Ҫ.f.14$Qg;!l+v͹poۯg?OTHI5>VFlN=Zg養EbWAZA|,O'S,-E!qbh@i&C,iYeG & 'c)hb]19QZ@]ƴҹGgE2״^#v*[=}܅[glaIG$ĥ^%Zm"rlBp?B_bp|@V]+XlER!Jtp 0 lba1LD @fcihv%ƯUOvܫfbwIŹWţٌ[rhRuRwV4T_tr[7Im ` jj׶9_+΅Ӹ㡈XNM94\\J10^!Ro?{:#yЊTHw&F5ۭ_+; D#sƭ(h8-bLEloS&t͙;Fāa1 ur<5+|yҊgzg < 2FQH*.&pf0Tl Y112&n2e )2X?6T37w+Z%B{KҒCӳyR)uE^-KN¬HxX )(F'(3%sP[Nᩉl&TiC&X/)8WϏ Ԉ.FX7MҗJj~wG ~>v4}Pֳœ7?_ TDςRi k)X/x*PcM11 Kt&&t2pL  2U,mkh"17ԭ(7Swh7"b)UW>iQG $MxL K%\MڋV&ƢVZqYgN␏56w7^[)^f?7kt53yj iB͐B!y0.yR ؙ\%peӻqJP!&d0\"D`$aL>P+E)!{!!eߑY/6)T_FBU^20hxz;%,+ΑHjK+lRvo0RݭjؘeH1A9Ŭdie(*R\4+Cc4UC |/IlN'9dĪN ZP"*ЕUt EPgF0|E-Bqiq{8Up?])M.BwX,,tXw*s|zdZW΋GAtl\\!*ThFRU~MsrЀQbm7%*&[wZ{j'R9Q΅>"Q4 :Y?b,dCqx5-KRQ_Uؽڛrh*ʍj(JYMi# \N&xPU4T8)e׹hl|Er+SK'G^D/]HC]FdLW/mKZ=ؾjPC\F${BTxBl٪7 W+2J;M/!~)h{;G)8{yNPI~EdtF 99\GD*δW!KeXg٣\K{LQTR') <|WRSzr\* {ԅrEg|VySuֲ99%B&IkB<\m9(c0\H&dVRz$GHA$N K~J+/1~[xA"7 Da#pAW=;^Pwm7WP\v&LYüGc[ +0ˍZ'ŊM?t"_Bsg$c]/Ɵ@'7(%/)p$VROAy[mbteYԱ+W9dUߖ k1ظ+6-yA DR="Hf(0R:&$D,z,,JtoosT|T}7@<1њAMß(Oj:2!L:B5սA!RcLp߁ЋA8 RLRWb/z_2 bXy%H4@1՘ )!Z"` Vhё 0O Z5쿎pÂhCt=fLcZ9o< lˣK,,np؈a~D\M\9KR1I#2)bOJ| ȉ}~"IBhZQ|)Xę"*2T1tɃBK-M!#3֓؊*&R Scg^.KPw(,d#-SA%V@BCT_:&_xks#Bf{.#+vQkDbPd0IN◙Y#kn@ԅExN԰EօU,t_|̗wV|g%JI'ٱO#Иk:?U?Ajqft%[ ̅, ]ʮC%;F"Mh)!nĢa\Ad;Wd : /SR-8rwhB,us5K ԋ^T)t_1-<9[m]9d CCҳ5~*M [[ڊAMH@PSpS&`%/9ȓ+z\e I*kG0צ9Jw6ͬGq4j.}W0D2UFWQ gʷV+RAy!u%?U wggS=*m丠g4/.~eKj'lݨݐyۚ2ү$ШAv-NcSj„?% ppĽ+ ^ ŅB5<⧷jB_fuiݬzjD2~=^ .JBD ý; idҴuƖA@N%C~IhU.M6 [Ű1%2joLG#l&;Y}$\\꘤L`Mt1\JZo,gv}EOtYy-|uo?T$ZʱmEū}nq~lBvݚViSuK-"9R~nH) j/17 v!@nT m$u bB& T _D44]G}ԒV28QYf)T.S#5HBt:o(JZmxToqEC]$\~YlEiҖ)v2q i QL*T3)MF;2#Oyن<&DKm œ'-R>( E )c%Ϊ1YzP%q>CC, *M ?& J+QѦV!pRq+ 9УmD~yqL7qfPDMJCTT+p\XB@3:9**>yx<:S Eb*ΐO?;۵5@%}YsrN/ffg~Cp0 [Ұt -yhX'B GT=Rl rAR GARQVPkp澠!0HtBy8N6cI֝_b=W2fPVl:EPI`A'3x,$c9Õ"Fa8:ͨ6@AܬUKzzL[c<+p#&+d7sgIXoa)=\IJ`_hH#}sjuR#yZ$n%?ʻΆ&ډox2wkd-DN0t^!1@7TS Ć8RP0[ت' #^]-Č HDxMR6UOonpY[ AbԉGNS!HVآNH/gVr2b$OHvi*XwmSk^]/;*) Cu8h*lKeXp72W/±v6;L7B8l# &Ex7&/^DD6GΊ9KAL*6iy} ַޭX"[Cf@?-YہB L .9EiVPE.@p$hmNl%p n |A@T˱~3TL5q4)m6=N-]^oXj(s2l'gU Uo5421Z8NJ,Doc#SX D 0[,A0缮%+6 )F)XW#\`~=Y £hITL% pi.*xL[zc L z٭j瀮5% ,fg#3\k˜)vB"dMAY,hH2kXJ @J h90vf D6 F GУ[U{k& JɅ D-)JG<(֘;62Y\McrgDh>zO?4TĽx`_-c%> (QeJI+֍߾L ͞h*%iSh%г$G޵MmX_> FΖ\$K]&5#E?AXj[Xn<ܕnԝ ߎZ5/Rā|R[,,-lS-*- {6kCwai[Q80,$ uAHᜰ!ft!YZ H,R6Nt:MV_r>_[_bB)}*o  SU+£9՚gv ~}j1&?~'P%EkL,8T\Yʋ2G)(?3`gԋץݗ\'d[Szcѻ\Wv<*Hp*SjCDWk#9 (]\D2!"QENuu& XjjƁHr,[XaF4Sm+Ee6^Gg^~R$Xcwt^G$ORM,r\l$VaR:;d cCz:D@ | `cd/)8+Û[f1|{şh]ޭ:Tt'EP^.)tdZލ;~@>\Ԫ VތI|AO/M1JVI,~Y?fyJ;𒕫ͤx9̿O$YZ*LLl89_Y!W?zq4/ ̇F1׃~EiHM5QhipZ}8aM>դZ0 C)I4m !}P >.>^P* S f$0SPIyBB>pŽZ+%0W;M#a''kIW$DR:&nni+>xʾO GC,z[.G_9zgV>;U5KuڴB̄y @F[?I3dS ww \)O)E)* )J?7޶Rvޤ$G9aKl;hWc(Ul>U8FrfΚ#LҽjOtޛAKHWRRiz}9F4a՗l1&tMiuPȎbph<>]ol>Tt +وҹ^UIxH` RZ{5Tڅ06M ^d$ꮻq5"`BEuM k~2aI:C6'Vn"YCݡ?"_^kwWKuMS8%ŚLwwk$dH[ gN;H-&YZ=UVkԠd~)@n?m2qrk#`%U~ĈT-Zfj >d"jrIH=!z*a$Gkz|,u+a%Ъ& "EEdE9rͅE1"%+%ah+ [$TiRJ|qp$@M& 3)S݁F!'Xtdz}|0=^ ݜp@'5DJ>^n8S(ls* jwp̈́%] "3rdDMB!Ji* jSpvf# ^/EBVĸ^^yk:h{&iV~aB.S "՗)WUsMn/xP#P%2vVQOK5wyn}RҝIߕYy˔]JBJּ\4-6;L. Tu0 )&qIpQ &&.$fx s@VTUm^u4աoR\._&ԈM )+Jd\`4~a ,2I4|.8hL@+X9 Up"Z/q+:ԛITMp2-.4ܗ-W{#)ϗ @`ei~ڎMR㦌Շ*ò =%XbFܧREH\$u [ t Z ً\!H+l,— (=HOZ. pqw-iw5TPK dJL {!G\̵=މX.1bGqot[^k|c5$O M]j}etguDknrQr)h+B vd7޷lNCŀoiUO&.\_ !tJ"""i,%WMeKrk͂vu/Q"D:Ix^>[[UWU*'GuWE1av!-Bg,Bl̷to! S%C]*+qn*fT,*ejUU'Ax6JE*@V+c󯗬hR!_ibmKʺ=q) -^fe{#0`Cgz GUQX'݂g ܡ="$瘷a,;h+0E '4uQYzFV?RBD욓䀸@3dHj`.X3O} &v `}ϚoK|I]_YP֦ @#D.E)"OsP%+fHŒ -1SH*]RGDݼhհ@TNXE9DBdHv/q>˾지pJ*4_&1wLt{kc[,~lBS#|{Zʜ{Y&iRL/LɭG5.WSdžF|rJL-(#TgC#ȗ]`e઴2.|0{$:{ɥm U&\dѬjfawϨs&hE>@@ڞ2J/ΤfzuP#YI MK:݃ET/ x(,߃gGFBV[ b1HDa(N qn'}=VhL}DP”Z CUsw]gķCs# :`劐n7B%U S@FLrv! (% f]v#g!/`}δALCOHI'ϧ#-Vf).c_"qɨăH667:77b?=2ܷ'jvlCյ3ɬ[wf>UދڎVD9d6 "kJ<ڒٙDLV WC=IhXV{$wDcL1Y\R'#|BҹA5q DΡ*Rݒ |Mt/C؜*0*2rlu~ GFJQ$d(< 7iO!ɻ.MW;l KXV[DuYJ"Zbə0z |hɑ׆hOwV+d"Gh I!q*Φs`6ZTᨴvAH/d=%q =&5HTfu$ ^Z׺lGzxFП^/?jYaVB~編3`HLS$gfac<`gu{{]8zϝ=+$ B/IR}k}{0- I}V+Y=̜*y^u\^Ukpb2;.Tũ^6\]QC^L`U9"bH6agg.Ҝ~nL<`E] 8#FM@(nഒ7H91NߞHi>$%&ŻzP)3e[*A(#Ʌ} ȕ.\SB;Tbc+zk7ˏ6„إ S1I4p<,(PAʫ 2X0IcXHAhRZq:p"ΫPnXaR!Tr(4 (+B'-G)}жtȉ5f#|u2I2,b䆛:/dZp:F7l+A֚ϲgٵˇ@ҧo6Y{z81|[ Eog|'^l3ˆE)ňDЖ|Ł= /àNg^hhN%a6QRZjcI꬐k\iYtDP. iNf{"ᒃ, BdĉjCc&^.%t""&I,[6 4:cKDŽ5ų$DgŞ7<6XЊ!NuȽv9Zs~"9ykD] tuElhVxWp8ƅkzb[ڶJNɓdI[^*Zͻ? N)P$r2^~׎k+u]9Zp({f7(K/eU~?E[XdufpP>{r([b9L 5E2NL´QF;"q25Aj,4vU|<-ֈ @,J%-AZX)IJ߳ǣE]QAhhvܭVt VT4WvdUv´S⎸! _إ(,k]/3pG#!mqNz9E$r9wZ D<]`P gKJ"xj_1ubؒ{4JLHů/QxĕBDgʝaQ]GBsQ;J,ElN`Q& :Lhd3c-YXDW98{+b!b00$@L[B ,,'BE ӇVTD5μ<'qFIwŲjKa;(TAfIA DZRBhH…JҪ?ujZbL RS)UVᏀDL'7AWϸN&RFJ95 kbLF7x؊Fr=OOQf~gZYcL b …Nꜣ mDOg/'F%]+5MيLݜ1\p]M'GM6Wg[٥*gȐ,ai GYr bX=.Z2}VE_W[$ˌK.l$K^Lb x-3I*rBcVV4T N>Ķ-hYe5碦qLK q.9d+M~F9b7 Ya^:k=iSC1QcZ OAύxQA |Y?Ж#(.nwZ}sӅbu)|N"2-:|E6J˪txb ,\1V*2N.YI(OOjUɊe4~k~hKi5X']m&Nrg˕SZ !&rKdH]=:wI֯}Jwb9}_)~TO[&*oы/hXYjOCB ,vDKFyr{x q !1xhGgX[0fB.o4" =d[GJrBh *ܤ_ĩ! PAQH,j9BtM ',eXKծf"G}nI󾂭{mDHAM]pwҾMVIr̕)اI#p“!W[_ 1%̽2.P `$d996A,2]nE Ce˗WiӪ+!owiMR=1 Tr;̊wRب6#t3T<&xJTr M ˡqH?%!=-&QLK|Bim97: ֞ 'r_[F<,|/7o pU!8FFI> Э\eje{ e?fNpEs D 9LΓDn+d;]Eu [WPK,_ [zÕxXVdIَ}[:Zː74`ޤ()_v"4-Ϲ!DC sqWe{9AmžVg^Ltҁ2 b Ҳs>6Q$ / 3XD_DaȂ)Њ sBBQ݄(u]D[oH=W]`ڄœNf62PDl=XB5'7<Ӓ ԓJQL~c eW"N 'd=+ WT* CTl bi``ƍ +{}vSB~  /=#C8} @"(d"f8w@N`ت T0D*jMpa lZ(%funBWݯȆ H^D$U3}Y3,(jaMj֗z'J ";R;@l`%ɳ>w^L~j6Rd-efLœ))ʩZQrj_}oȣ? 8T(ÁaBER緊^q-JZ+_gD0&enkwGjw,x+b~$ +*o:ڐΖ<\j$c.\P fF%۠~Q" (Ut(EMRڴ*WK t]'W\ڒLնR=w=@$H gD dZ#y"1[FdFI'i|{*'[YՀliBN0q[E*A''k;P1M&zy]:?tDl *BqJy+skJIޡD.׃',Ռ6U_p۹d[h;]p6%DL0y0^i ! ߿TSv%*|9u crZa~+5q?űQwjGkuI7MrNPgBZkOt>s`=a {"U_"X a4m!~X .P !J,#-m/r|c!o:kѩ2gK»;'q)WdVP{:<ħh(ЏE|3_Yw|K'8 TvtO4qJR"ټQ+u<<*^j(z,K6;*e-"'"]8Ud TZQ@x@w`!Ct/'Pe?l]٪ m/ʕ%NuBa=n=8JQJ1ۯg\1W,nS,c xDυ$ʔ15Y'{߭^H6&)񪎕*Y75x3L6_r+Q˙ӮT~G3 _f^J%R3l l gaEñ*UXaܖcMK=hbԌ@ϴ썬*է#جKx"PNѣ<"ZN4䑢 Toޤ{K~]ny Exo "R->k5 %B P,=j̹$ \Dy`#V@KB\6pEk$ND:'jeۋF`*Lzv%RJ@O~CX7F~@'khe!S79.E/ƈH^Y(*czPҎL+ۣ$ަaxgBTwyٮK{{y(4&:6x d9T|,GRц-SBH"VGZs[5:1.s:j+%0qν'ퟌY*>6TFM-Gtښg?TD+g|N1z37fֵ5l Gy"CGYRa]җLʊ˸P]lۢ-'DJŤzO὞%EP ±_8*m\vdGV-`I{ kM$Mub.DIpYZo&VPȇ"Q*lo8$^ t^vabILFT%T"'9>%L|uY@JRc.oԈf 9p46f:UTHF}MHretӡ!5L.&]/iw_V!snhߍ>Bb,od¿5lS_, 7v͡[u [+29LB K%{~O :ԓrVveR8>U $sI__"e H U~.#Bg*$T2! ."&Wz@*<^ 0E7#.Ye)ayf|WX-յBb9ߥҔRٌDb)QO_5rwD_I,d~h$}*j2sbl,Vor6Wh mJ1]ʰOr< 5+t}ˈB[x2qf&hKrPdS^)^,ne7NCH`kw6򁪇i*J:oJd) FaLhgI35.,=lDnEr dB3Y&2!#FɨĄ#$@6*T `W5*j[8(0)&kDc4e„9uܔIj}.WdK-dfO-P\ʌ__n, اRf̄ K\R9G̏_8eScP5(p(2ڨIj5km&+:u=rMjG +)meD5ɦ[ߖ[ddIma,Caa;K֖ٲw3(VrKHࠑII)ǶB~R[. ӋHx,6:e|ИLTOVG qdU' sl\ză@PPG#6$7qfɹ2O*&m`hF_ĭ?KK)46\ĘUw98kꥨ#Zpt3@j@*e՚OKʲm4>S ȉA] `n&@ D*gZWr >'鄁֏3IYm, PPT=Bx&]?-z~}w\׻aХBZ쵌id[ʶfr8*,L1+b:hRI?T˟0iB_Z %L,-l"|*RN :THi=Q[$L&ڻ4U}gj(ʕ0\"Q1[eHA}1]4eƱ8?u Am-Xѫ̬(U-4PĨȩ+A@UBu3}A?`%+yQIP:UO~1Wn>)8z%ߺ~EA_>;VƄjTnҠU,PxuA9Z(.\ܳW3(lzUidewt4EQkL֭UuPll"-ߢwyPlHr V~-#5mZ8s/,O^9@oId8MJum,Ao=4wy躪HPF>V2DTE9aڠCKlߨ'{AgdYF:%, o6̞' p.%pn-4:+ୋPͳ}:9z?Wg2S9OrhPPn,$cPQ'9F"p{Ҝ H0:^NMyi 4(p=-+YOe#2}\V!cFd6rS(mJKƘn+fThv,W+'A9.&^@ؑa&Y* &4+YpY~2#_U^YUiatHhk}7,ve@F5"u  l^1m\B|L0ḊT% i;=%th(4a>*^Cm,1E/-{!DϬO%x<DMxȤ(􄻴ZUCbٮ(~&f&`ZݪN]vB99hɨȩaNEm7qeC O BM( P"fG$pS`$ X4cŗ(CȗNpϣ֪l.MXgAJ4='?;5b=>!.ZL70!U]dw?l»tҋgl\o unK%g2eЅnʽ+c4P / 5 |i-YC̍%DĎ`Qf0k %ȭCc*CW (+0Jv$Y6$p58{`h)g-ox$!^,cK\SI0 ,Tk+YL-ԣKw-3!!N;DsA NƙAԷ5JK jҧ^8y  Slv*x = &XE=WFU|$,zHFhƄNÁPi&*;pT"VY}kY'PP f`pk@DJ6rἕ]0hý"l(mu0`-4Q8BRP6U %_J[F➼ x?۫6æ]٣SDѮ"hYP@ev+t^V(@ fFKŧT92FJ0& ?KRRKd[AdOpNw}%s-($KMqB`\i.ynU+_|X,4 EҢq,5}%[x'Z\I P"}=Bi"kD"[xа8E1.XKdDJh[آGit"NVW~o+ |PbatmVLA AQ恤^z,1CDk;,@DjD}VE5uBIB@ȒF/\RI(ҍ: hq`UcGñ,hH{|\,͐A|+NS$AR 3ؠK4iXJt KB燊H[=f,W^G# [gWrmbZx$򷉈<&>Yl!a4ST|WIq?eT q-ҋ*vM26i`"tŚEΈyF#AEU lqȼ;L,^(vK3asLAɈR7CUJĨ\RKb +Gb,qA*M6l02Tef4v^ ,(lIrPJ`Wi, Q$:.9rRZjmtO8UI_k;WvujB- 9մ e32mfHUz"Qy;jg;$?ǓU9w% Ufoaǧ9-(^$KB)Ү.D]4BOEX.4~=p+6ɮi6e yIV-)p?M$lE!\5ͤϜW>Gr5Eb.Bl~a玚{ݔ'JFHW]zdOU 7$T'famcBx6FE*K7ψ] jM(TLA6A CR$O#@\By ^P;G/X&bUbX! e%s3|a,+ot?ƫ&q SfG| e@>% + ZNfD WoQ_D+u:قUM4L#t(*כBȓ,Ӟ!Jidi3g78g\HUЊ"? gli|BLQ>OѪ2viTܤI{}u $J;=EKʠzB$f LLpMkɏUJ$gv#%Wp's N^ ~%%-~8YXDYj9)6/1=B˔TyEYiԉ]di&R6eeύmrDDjRYw]XXYo"ܸ >xiը} >HZ|'Ygqya(8Y"(Zv R>Wi1ts+څWhi*2E賴&P"5,+.֞Y/K9~ Bjn&%ȄV^OTHfnɅذ 1F)|K)UE6cJ*]OZM|UmVb9U^IçV5./C&ڐ.ĉe9%u٥6' znu+tC4;ilG( ٥_ER={G^9W#Lm(lV.JGUk׋W3B- ı/mka*eBL QDi65c)j3LJY.Ij< \{vO-³{(F0""B;x^u#~xr B:e |W|ɇԯ}NEm"ن}܂j}(PmrC&ֻK|y3DRe5JeH$4]̾L鮫K?9F8LJy2WY7l0\.X)CvQh+ܭ0H9+@5il]qt.zw?"cp8ɓ"*ؗkom2"W_VP Cp:s׿/Z{d7 ɈąFZmŵ hKQS-9H~M*%ĦA z=F+UIZť"K+m)j hH98 (Xꋫ: YD=(1{rF!-xG!rm pczHD0 29~KEv((Ϯ>EbV-@lo!&˝]MI@:DŽӅ#+cˤY@[ QAWeEʮ򇿕HFYwfL֍),DW*H1ng)_Ar2ݽCd~(s3ouDŦ%ʴdfO]jjORch&uI6c 3%NI%qF.O!K/'J'I' 'AE "u 0iʅKyb*Ókgtmqd%0NY2L驱g6($(* 窜 6?|6 'ޖ)A[WV!u$ȩ&zue,N?%j?YI2fJYRČ-ƚFF&Dk:5#>ݺV,E,hNUfԜR'ɪ|75x- ˘D0 $-~|LM//7ΓN S'^ K6#U]阡nKQ>өصIJf%qߴO%Ьg0%]Svߑ\{PipjkG69sdPo@R l%{X_זpz[5T齈$$\l%'5Q)_Ja$W,TĵnA._:pƬtS&t!llJ‚Uw=BSrRHH_k/TP+/3b ʷz،9iAH7{ҭ9&KL6r*1^%|5EՒl;\cڬs0;b)vbI$}#{ynZUnKFה};W&6x^) <6Io:yH-od+q79X7&j )&ѱo)*1*K&QJ[BJ$/"Ae}"wFMLgoH9ksj)d0J|TbF؊Un"cRɕ˟"*h Cn@lm0i)A!a+2}+_ H38Uqpf%3i6+Y$c4(Oچ>[VD[3qW=fW1VBvP&* fT,NA]rApGs۽R=Eկh͓ T B~cDVl 2YZFINѯuwkW91 DmqR pJ1jY:dДXT<2g(wJZG@d1)^y"b[Ù?Q_T%"J&Dc*G ,b6i6 ʛ%.:POjI$i;)rI&I%w'B4S (cD:HtFCr= )WόTsR2Ⴑ,% ][ o,kFEM)Y5h{*a➩ݺ2{@h37ͬb. '\ӵ}$N0hj&Nn\.Rm:Tq3% )T3E&$}م (B#xس]&3k7Q:<>42Q'$ 4$&㤖Ρ5K榖 fI}LJސѓ$F/ P{nOq‘Hj+z+?S9[o*D >턶{D/MeÆv: ﳭ}(G{A;ӦNVHqqݱ.6sYt  %6SڟLnfV֦,]Wԋl{r 9'QGܮSctKdR*EdX xXkmjAگU(X.MF 2QRSBO, |F L$Ym+*X ?|Ãy`tGGibhO.V7螠XCx,e;m+#HăSs\Zf3^GqqV ^[]z8Ekh@0?kKCQVKY}_1 e 7gay9㶎#+V.Lb>Z+;i+)rnt!){-RdψV3#> /})DA@ H v7fTzJ 2AiB؂6[p,iR9MU 8p>9r\@݉7 1GsƌJG?ج34DZ8Op.jT$EE FrV 5^U1?B?6I 'ig 0U oy@cs>߸tVQ32Z4dzHey.辽UJ ,ZLJ|Ȝjs庈S64ɗ^(нu쾌6Bb@j意XIlQJWy&}Btp&o&0}2d$sԶZP|!{&|ŧ& `q`dC@@"k`*@Bji$XRz5A{9DD"&ic"m-uEh6>DZx ?q'<"eY(֟b:KgD[BGd`UGV<?.- "Kt4蘥GXN蓮xĹDٶH:6V/"cuj$EyOp,2eoC(XЩLj}U}ԙVD4_ddq F֫XCV?y0p ʝtʶ&Qd?ܭeW\iҺTRzM:+Lًdzp}4mi*AUδ+caU ;`D$hbceęU9QboV%8u%|$4 6Ρ=cFO"hR@>$=U^^@ׇA iazPՖYkM3yWZ ("Xagƀ˻0M%t%3adV|3!%J\RlY_Y7#JgA ś'(/^"{NfɌ2KKJ*( AJ@SfѫT,Nr9%"nɢbPHEO §.G.zf%rڥdF T@Sum\x"#C Bنps` XG߷ нຶt(;$1v5)l] yӢ&r[@@lIoL)gY*8A^ ۬ ǎ1 ڢl9.Vn1!њ%kh_9rRq #3`Z ^*m'72^VDf$u<[[:4L@8a}+7Eɚp)2>6`iEFKAsY&uah>4߆,5ź`MՑ .;mRhTeܢ2Y `L@@ `nP2Vr3zJNk5K2HD=^/\IJqc/(6Ltܕ'~٩(%Bw;lI|Df)j_dqE<Iwi+qq eܕ)y:bye$4X†Q5;30dPٺK BjNzaVJmdcG+%xwۯ߉ju%_RbE0O&$i؛ѻ)ț'/F\ѥOZG˨pXuk5oo5`R(Q:~vUCqbv&Mka]}H"CRӶ2,xP'hěkX3B?FqB }q$ԇʋٽc.JB42Tt@1 yw?ȾU1Wg!dM@dd4FWXG8&F28xF]rp͈)ĨK92S^r9\aT>6ֻW%d peQQ-%Y7(_H,5©̪Qr D)|𡸓\Z#PE;H<+@fRuj1\$JRF!"~K * gC:Qtq3miԙ*oAa ,{T?`2oŒ˜iHY8ɈĆB2?  :T@Dh\$dLD!XόJvJ_:2_ =h49yLq1 ķZg-Y+x24@4* #u˕2ڧ #Z\3}.X4kQFSOVQ_O#%SW#32n/l*R@]B Uչ\n/`C{BgSXΙsdz'MRM2i-): o]eLa& : @L}92`[\$QbJ\V/7!)[rt^dpo>Uys$%ڨʈ4_Cw4ţc&j`MHY!/8$ebJP|xld&0diiR(19٦V;2e4:|U oz'ld&QBiUI(2"E9Bkb)iT:]kk\\y84Z/=;1zPT"{InJovsn٩cRI?}h*`I3tĕ:-޸R{q,tr7+*x!I fycD])^$d6zbY,Kb2*IT¿U+kԳE i YA`a"e#D`9Ř 1M!cB2i 'Q-T,ձj D:R¯l;CA+;(t:,7BNS0h"t8 s 3$Ky Av 89{=zK,.ά&M.&^ʋ+rʂR +lrZ 8Xx7?T u+2ٍbK'Mu)ۜ| :i,ōO{C:=15<6PQWȉc mCpa)EDûeg|,vIE& _6`g3Ea NDtW;!Z0,ҘXEAP(twLx˞2%2u@Qƅ7Pp·"? @8DzVzÃ5\ygDe,}PEfxLy](UWO)T(13I$ 0ƅ`PPN;>9گ۲0=4V>j7tFJ}"տmh(TH4d>`; J>= i"`L Mk(/R}x>DHqi^ /X$ٝb!)C*pAa9$41y=y5G0.ȧo٫w5 Aq71ӕXv}Lt}z R4}*h}EjM\ ht}O!_pL !#>Q{ ewjmbs1dy=S,\U*n2/RQQU*N$S)=Sh$KE,ZkaF^3=7zQ8ᅠ&G I4yl`$),,%Pm=KuiW`!Zd\yxlKEK4kRS֐*|]\!Ğ𩙻0.Z'^"bFef fznncׯxV"#I @$ CpQlo` ĸb6  De|P3 #Ԃ_ XywFDR!ijũkBև"% 8A D,JU2@eR3N"%=K=n$wA]52X*lqtVo'+ mHVu봑9m8dYw0_Xe*(3#PF\m2/YCl;ja(?m*Ǒ%Y\gՐVN IV+ l/kl{A& Ad(0rInN7@PjMd"Y@o|ЄI^7D)@Z$8jCV4^,Q[%xb(YzŨD`D*L4SfLȅmTW#veo#XN7CZ[S-u:3LĵlV?Gt&u{)EWj` 60NOy~D,X֔W 8'+os~vRw5 \CYG~xrwLʇQ'^SYUm+"a m )&AYp;FD4:Ox3D{īb.nZx6P^Q:DHGIA$Y5biyŷU‡KdR$QA-f?YQrKd4dEN u5S)QtR0mV~6i\D@t0Wb ni=Se\f_[֗v4DCos#I8GAKzNSŸf,&y*ja Lml&U4PRQsuL"0wO. ޝD3$Q|A45ɵa/8*..(7"A BdRlBfBKmHyV0 lx&8jKA1El<"x}m1qVz!: I)lP#]0y6S/m&g,;A~Bi^m5yuq"l!$ZuZU2% #{øgВBN݌ vޯLʱ):$]Dвף̠)/emړBĹ詔<'N~qrYvv" A'%&*!!,Y*CqsEjb8,CWD؄UK(B`XWaj b 5K-amqtW ]Esm€eIJU}EEiEڵP'sRp%hjg~X PJz/aӚChTi}ֆm >|kt>Jo#eCJvPKWv^ź4JWcS4 A 3}~ O%TUU}dBD-5}v54meJՀy%MCKj*bW*, zrW:|̅.Jkh0o/8x5ߴЊ%)J}6 'M(HvViV4>eKM }UlT]a=a#74-$tAs$zܖM*یǴa<Sjƽf^t(~IӍ;`u0Sjym lGf>t$=jdz%͓J#7눜y,J]Unk,fYs9STX~lbA@ ɾ"Ge8ۦt+f{]N&.~-Z,xh(2>٩$HQs,@ɂvVR7wC']aL/\ђ9m旤M.IUAT$"Cj,B} Jc>c"YY7rOHKҳPS>7a ZJ9tR7K]-)^u1UY-)ׂE@]y2Qr#=7gz4⩾-\>8Γ&GOFyl)qo <2hBMp !4&V$_V#Ŝh#g(N JXx+rѳ/HPUWYM#h豒ŕ)H) c&2\P s; S:h, Dd.0`|a8|"@O &0d&5RB # I(*ٝR0xplAwV)@Ă-Z:GW "gyZh La>Vޡ] X [QU UXVAEtlG%Fh(Kz Px ;A'2RB]5b)pUGy̖5yAz02XG}h[ڡ4Xc*s& M PTyDP1KqQFG&5tGBfӲAme]A'R㧕`Mk$ʲG| BX/0kjJŽ!Ȫ!K(=,?ZJ M5B͵mЄfyqȠ'~AtEf(Eq#9q fpdд"Lp|doK+0k W-0VNleh(#jF}M/S=?fr Y?z82%&Mwg^:Xl}0K#d"BP r,H ˔mE,dN6N_BZ.0.@a"U>HuN#G|xdR]DWZT4mY@u叠4eHҶ%&$KU2HP _n&M28Eߟ " [Dԝj0.bW}Ť 75Ʒ3I4|cnuj#U/Ttabʌ.VBϮ@MȰLRL1VՉ?7Ă- 7]%|gwN}9tIzU.'MG(LkB ˋ K+21`lG0;2b h[L.))\)O;ȱ7q"J.w,e't kkɈćV~DuW*~- X?ȀX _7I1 ,e0g z Ba!18(>j8XT9!!6#&-#*lJRL\HTę{dIJ ۿ'zFM17~N.U:lrDK J tq$U2ȪI&}Eφ8\ȖO;חPނ!2_G. 9a^KbVTy9/T&k^oBC X_ͫпD; Q[Q=$&~k闢SrMh2!ݧgvu8 j[zB(J%9eo ^E^9K}ҪHߺE?XxEt sE:3$Vݚ 8XCr U,JLdZpVI˖8JaTo2iIr ?FJqr%%M>UIs,It* E(T #F)n٤-}i!oA,NIgڡ(R[rhIu[Dj]>#]\VF|QI Y1X"\9Ych?KVN"u@Y$E#`jv2ek7CB[s4s|b5R]mcb25ΑoѧɁ礰ؘ(#w@V+#͖ؕ \mb3(?wM Wt9mő/'ΎL#[gF8aa Qz! /W*iE ژZcn@/0ee&}- ~R8P8, 7"@-$10@"'Z~t1"njN]M8zvn ~p}냳ՖZF`QՐܹAAsF,Z9~p)J pT] T#>kF`9pWz8:F&@<r\%ʻY4&Q MF(IY@G,?+*qEdW=W# [T2 Ż/ɶ#u+\*5F+[%)P^X%78x'~5uHO;Ԋ;E5yW$/ˀAe/ءZ尙 ȷwCק-a\Dƫg{IB%h bMDb;ׅ [iWJtoVSsXiJ#)֣ͿUዜ44:(n庮Pr' 6ɁL](IwǮ$4f>"GRܽ}.ǔyX/d0[D[47F-*ϐLc_<4mj,7GDlAT.&~q oJrP:ӡ2&I]%F>ڕĵ"MTxm jҵK n^'[ 9GMGDc\#c5@䝼iJ#6g?xKXׅ *ХZЕ+#^DjΜ_{,P+#/߮H]bYU5ƫ֕qdIrjM[v\"Vniv:kZvh@[_ &i+Ie_L94MX#JPFn-U.UGgS`uk ]l4TIM ެU4v*cWNPX{~MbéftӨ"\K>wb8u4^l%DF3B]Z"a^86T<<`>,mO֐WfӄD(TJOǜ,=3̭C!SlYĬdd!VKF垍fOcj]*G5)ŴRӹhʟ M$SR+7dhU}x ^y(վnzbzW"%"ДG_ϮL9"2Ff*-N8DfDAVWwA)k &JR#. j}̥Di7lܲ.k[!ۓ{[Il:FAdkgm5FWFzg I&@ ҿZi\y& . BcEvfKjJHhmDXKΖ$% _ZU8R{kʕ:}$z=E)⪊YKT]poi#ZN#v)l`3ZI3]ė#g3bر)=Q3bKO嚂2L{l2KKAs,`A?" 45y `I,VdvċxŦASƍXj [IBQˢ$wi= Qzy&[(%eFΪ{&VS+"!,׶y͝oˮA%Nˋ'^)nL_ zD0OM]3$ :}Ql[@ 819-^`*F1 TM3xp6c !LA-~DXbBJWEEx-9KI]f֗ǘT~.v//yTTf yq':^JHyg mW|[z6?czU?̅BZT|omK/+^YWn2pR7)҅,N=/㤗56ÙxɄX#5,-*R塢([Wk! ^4O4,IM(&$P*8ȥ\ SM 0H}@!4z5c4i!+',y#7ae%<ݮp%PB&) ^7 *JS5j)ϴIX#W[!3 ' c1d @2e,V qZVjd9޼F#s8"rߙQ[+6~mG׺|~6FJk9OsWK'I$`dᓏWIQeNfP\|=!qUBWR-XVU7pƂkUPH@l\X%}LŖB- B<@F@X,vn튯Q_E]ۖ"%ZuҖaT6mQ"kIʓ4Л9L|gLSDa7OE (uG)YѦp8lCO5&ʢie#Z˒8pӋtTI(:hsg.Yv+,MnxQ^Sl8M, GH@ Rh^ 5IOF:X\WkC_} fɋ7Ex\kCEz0Hc(VdEĕB&Wٚ}wKrL~R _oN) D$$gB4$Hp4_ roeJ t~0 ut>zIz{[+&8Nq gI|ʋj#pɾ}B+PiKs}/ZK]K  GY^It1ԯqU}M^ Žb5j`\XG/l O>%*" ].X˚GpiY"$WL#FÔ;%a_٧݄G.2V>2#ɡܠiDJj["$i["J1LwH`$Z {ԈD4 ު!:dӸ=rz$eݝ$$lE!W&H mϩ.9O['i|U7i+D,Њ4cyƍҩ$sQDZPƹ$@E=I`N&I( ]HQ9D/MQ't4z-r(fм8I&~lJ p٦}M-B5J7@g+&lQz ٧XᶼV, ^'*(+nAD᳕eDn+qS(A&5rHz1# ֔b>8\d;A5еkSfQ3H9U JK)2or9R|_$Xc0'cAo 9%pGzsp]רʱi$Q":| ;ɨĈJS.%,3G7]Crn((U%ލ0ǴAK$œ$JaQ 4"oses2q54 "eF&@Ķ!Y 0"^%IL,EqLxH(oj@b `&9x!5qy. G bBpP(xDt`u 8tj "E%_ʣ opN°,"ۭő%:aE6r$6`zHB\0B UJ^ڱ60l殰]lZtk T"e$L-ܞ/[|DGڂ<`6tSw+ ~X¥Eg֨;BO^ &RDr_<pQnPΙ)DLFe0ΡAQW'#yh&1`V7DW[X (84!_}L{jJ W=鄹fMݖ0M +4 x'ͣ< b)]"3V* 릂E9}PM$ 1^y$)sP$v dU[p-/~w@\)z\Gpӹ < WY Z1ļ㫇tUWBOe!\N py:4oZyC ns"^Jaڂ$I3W B7uh\r$c S!DuNU[`^ lUb> F%)I^Y9XHW0.G$Ra FmCz2bPUL.>MD(d#ׄCuN~"u܅"0HsQ`U$RZqFP؋НԱ~ɒ$,!S3Ԅ70s w+ nqᵍ=ec%!T|(1I KQJ=+ 2yIhfؖ\lE#S9ȿkfM{nX)IxpZnl0y.KC d+UӵBY~D/ըv"L&(odOOea% r")Pån+W#ܒdS&P~ވxԭOȤ⾏&.)rSN4M6Ϩ2L/{ kFUر{ :Y60V,M͊jDx϶ZɕE?+.U9+\)ٿx 4JY =!{tAVX¤eP8Fp/(@(IF1P Y@oܚ%> bgtJ%@_m3ԕ%N_3*hrZdTш)f M.^r_Gɨ/ jP4QġH B<] (<@Ƽ5nPrHAwO9v!]LV+?dbb Ԓ]%aw޽ %"ȷRi\ףNFDK&("WȪLմڷ˥:N4V,{ Ʒi$C[^"6c"gORDoHP\Vŧ2*wZ QgYSi޹'s)ת{HҝunU'Qm BxwaMq 5j$/ iєQ$}]}vT!lyR^)DYKRU ,^Y-X1Q*∵<ٞS˾.G( ]vnM[n>fCU3 Xrsh㞷͌8pG4Eq8V-|| {RlZtX7½J0pRZ!<+4 %gXkx at  PG&@` 8s;ckX$wjվUI1j),*Xg?v2$`{TkJq606}s)0;x80 ),$(80Q _u#T/A~Ǫ{[x˻![N ۢ\UlE6B'$"gs)9#+ d-Zsi#jrFL'lŨHwmSڬ y(ސBeu'ehUF7sUٽb6kǡ58˪AFr}OՊ<9[SܝZ# /6O ]s&#WVU4)dZTҺ9y$Bun8{j \HǾQ+ B"B7 b# lOC/68%ONK_3{1,CC5a(~(Jsj PS؀OeFUK~$8X(B'g'P-}IqiRr GoM%v_oRS,ߧ'4TUhVfzR֯o2a ORo,"1UFd_ 4('?֥kMHYV;.ϒP̵Dk !0U)i˵:ex^JTvnD!%쐝R76z34^"S)bk@$/[Ŵͩ?oiOl$&V&q9>Kg$vxI [}TsX#n+u%ZcdN.r r(-#ԗ1[{K)] ]JO ]V\m 6k^ʃɨĉH+<MN7.gxkRx)X}-.M0)Q&"'LVĘǫ +B5:6y 馤ZK \5J0li16b[RRzp/˅D(M+\S'|fqb9O9?ĄyP;_-5~d("I(YWq$9\X-"XOC]2XDˡ4;_s /MIdIiei-g`~4\DK=Y,6UMcpEvmrUdCԤfwۏ#CԯJ]hFN1\Lȸ$:Kd8 씭,3uyQH^&SaEU.&\/g.N4>݊ơ&]L) Y&羚mJ KXū64q<*-'Q)25,IkN uxf߹4ڤh'0|]:/]mXG0I6 0Rp[ Im%is-W'U,kؒ kk$򫻟Ww Y$j]EBqh]^ Pn^C8J{znݷ-iKjjȥJC9RF>(,2TEP'v`HKHk wp{11„"W܋%'b@Pdŗn!*ʱRO!L31T$ шɯb*:W1~ߴAk̢ȵ ^wޓcN6QT`sQ^^P-X@(>ВCٽM:vŽc (O4KTo/$pL0Y P*!!NtRLCJ)Mv5N<YPi@0eCtaTXAqZIwePrpJ`)E :jJk%ǭA$́!4>_ JspYI=^SYi-CE&^L'  s8AtuDQQ(i$'ؽZ4*.;mU$FȍxXʼn)D14c*oYb}\U)3_ኁG &6_CmPnHLOSLRC}X@ӌ3S+t6t[w^gpԬ2~QB8ĹWyܻ;\FN(ӎ s)DI:Mqq=M6SrDy+D)Pd d,eYbwOQE0yHS /*KU)=MЅN!hBy8ڡC,@q݉[M$YB!g-xrC DR0%b3nL \sNOR쥆z ϮU"E)1xȴ,5~7x C3ʉP EǢ~Q>gjX%=x7{]Τi!O39BQAZ8X.1F/xB]ZLv#ƨaiؽ3.g. Z! =miH0WI]iR[/ ʴ4V(7'D5;ty.\E  1ڸ{5Y)R3|PM&pİ)]jX⿆YOA=7%Q/%e #f )nJIF$WUd-VL!" JHƣ&Rb!0*_:j,`KApr&U~x NC+ 5k@wĥ2iI^5%NDStUWh9% cb~Bt&Ls1l1TKL0鈯YxE옊0r PExcABXD%]S[ZI"TkyxJ!l簙2_tcRшT_KVMUDJ؉ʉ*tNDajX/Yˮ[0X&Y_J /AU2U&IHGDEJ PȄ(QdhUc$Eiș2$@a(:;8qJ%їST5])zg8b ,"U˜ `N9Ey$1Uw']_MU{Q\H2khᢄ|xw _WTs [K0c"NPՒt# J܂ԯ)9F XaI"w 5+F(uE-i IXQ g{aPtȁMA_ʽLTƈC2ٷܖ[E>?k/[41pCe83)=Ḡ \$QN6CJAhZ:HzyQRUyދDs"!-c64a:K#D (Hy\I^ilZ&=r!1 "Ѻb&m5Dٕ"k !WdًL$J ׅ4RL%!HH%HF^8dQ^)]ӄ&+W# D&C鋄姈N6N&Y IHY!i 7&\&qr̾!%M'H"}YhBI*[ _?0/Sru%?ɕBb6< 4yq-, -%M*% iRI0-j~Bk;or5J 9,niz. (\l^9H,nEMX˗X6t2E  }ūProɡbhh@$Yt^H-DS h'Y 2ПbH}"B (AlY +yr5-r;FlGblm)‚(% Xy:&"vAyZŎ17_AqG~뢅jOX.\2x0}]GaQA n-&rGZhoGP|[jUe*6̶3 2t &z:ap롔ꜱ CDc8KtG`y-)de$,%W-Wnm{djj0IU _θE֟<]+I-v 3lbR?PJ<%9"g\4X8XA/Qy(P4I0yt,l> " 9Ie( X $QErU, |$p(cΐP K cV9zy' RS[91b-$,|;]r1. W:Mjҧ]țBTx,bjd Pvr,%fJ`GHf>iz,h Th !f#0w)[XOhBv? $) ^Yj4_`y\-j6€Z'rО .FS1>Ѿgjކ4B&0էi!Weᢆo Y2n*"; 0&D! x x-Y'.B/mzE/IeRp S Tf`a jMq] `@Hj&lԄN%bxA UKl_ =kD~ZSRB60:4B!\ 04V3&`NlBUR#@^N.!wa2,(ڌ24%/f)a 8bd@!*$kƤwM (x֡t$! JI 8 $n* #A3j$LhgcHJÙyc|('83Bca@ 2"1ׄ⣩A`rC`A~fT1d!ƨYUea:B!$iP J6щ0GAВC',Yw Y#Rn~8{hMP%(&5RQQ!M´AD Vu{8T< Th11!W஽q(tyoRZ_$p9UBr k^4rS^uK?1ycq:P:%eʡZCɠAVBZ,IQaKpa"!~I(`z1^{ 7Ȣ_,Pkh- g9[qeHCvjhR* 7 .6-< 'FR XpP= !9YBzHUC0PM j/01e$&P85e ɫ Dc8ҞpQ"#PJ'yhS9YaBZ)χ1'D_:uNS*R,5 1 bKVb9%Y=$!;vN(SK  ;$A.ʁ3zAJQ*Kx&sy8ؿ8ҏ1IsE2c)k1bFjdl J "mb\0QcBc\as7$kmб !p,di [`Y@A D6Oi}#Ŏar0=.p,~ PwA`4lao ]y%'A]a? 9趃d _`K}U5q3[_x ,a; 8d$.7qE,O)qey$[Nbh[zJ{ |!, ?{Ⱕ cG@ p@lsxK#H)`{O=)?6=I3="Ko7 ?פ:]DtLPn#F S M0pPXUs1MY h!P ]" % 76@, J~ie*p;qpԤ # cŨKʑVrjA܅0z^O› q"*vF; 7'q9MiYE(q8b./ƐA|:Zh r, štL̼(>01 fqPPZh"XE4inpDc?1ATXAL Gh)!\*qQHVBt8cUw+:clb PMA7d1Gy*A;"-nZй/g V3(s+GFd A9 +PŒPZZ{Vr=ik caxb@pta5 J#c1#D_c((j1M_riTV$p*<E S)ɑ{sKq8*̮]/W&.8\fbH0fX Ф:_$WHBevFg܎!!C,`aHfYv\Qr2qP 䕔?JBtv1=3܇39GsFz#lgˉLK~ =/DD#2C]~"XfۙD:ZA=5˾Uu'[LB4LX=!h$n$DĥC?J^gm`~Y!!h y+'3 . i RARm)p%R Б$anlr ,h_4c ^@$r5:Bv I\(n9%ƞqO$4񫭂FT]TbPeIsOMȫ RE/o "1 4utkmd 4,  )^Yh(_:Z" d{[fʓx%i5uT*1 !%MEGd`Wea]el. m*0EFRp(CUK :ТZ#%*8$Cok7뮔iyxgGMqJ+8@Y/6J!o$~0װqQm&p`f,'B.#jAUGV^rA9X4BOQH7lZ!9|5Ysd ,)BeJP '$1& 3jQJO)YN[..EЦa4b#+ YR }SPRxmF.`C?Dt3,ÇO\d2HhX0ʝz2픑 eғEI'F"-ܳÃWC9H]{0:ÜA: Qu+0%w#B*YӚP`vhGօPΊ9o6X$e`brPƵ .C֯Qgb X-e;!j-Xp#%B /MڭH0V"BD6-pw[ Q @r7!޾j52@@L4BIp5CPя *!)EymxwΔg=[8tAjBVidr(,|M9!N @1H+z-ziQ tY]B#I"G*hEDf !ؖ"; q,LAZCXO'G -  w-.NWv5L#H[flyd,YѫU@2B0-$щw YJV-)s]XPC0# ӹ 狠l0sDjڞ5)jԳfhQSJRijvIV`.$ ß)`bT) a{<)R0g6NFcХXq U )A?Ii*6I<G>L817Ad3r OpyKV2R@(6HRY"Hyh0("/ L#]QZJJq=$e4,RfUt"XGYG5H~pLx"B[/I1<5"ء/(.A-psXZE1޼0f {>KPEx ʃ7L^0%UiޝSrVXJPw> R{4U4lmB[ r G -y P8'"Q*'JE c,{<^" &C1xC^$JD"b(06m!A/Sn p=цTá' $)w!QT%PzJ@hɨċ(Bh9i _q$),o͂-#MJ ъVs DDDB Q .q 9I(E1q{Ľ0XZR^9::qC!D  AB ^jw؅c)$&t.9v#)c{˨s)Tvs 52,g7M#F!>aC:e3L&h%Pca/b+n Cߊl8V(pƮ3 d)hb'6$Ayq%GȊc*Lq PF;R8(2© ӂ%|ډbD5| )ԊSRY1_wԪw\=/&uqOf*tJVCؤ" xZ5B9X]ȁVȃ *UJ!ݟ_٢C^{uAGcd}sġ`@9NZRlP ;$RfH~X"‘DP%:((caRoFtA{QMt:0@R)c> :(9 %9Q;_%^NEm'LdPwa3ʾ$E@q@h> 4#Ss{ aGp(B&>0(H= e1#s4 *fiƧ_A\rǥYUA=s&20H4(DCcߌt Dcr2d+ L`)BQ^^eC gB6E^F]dS ~:E†g)V*A09|]WAU1Y cQTe2s LS¦bA8@FY ̨.Ɉ(A|BaTnRv\ʄQ]59v% !""~ #qDr Z'0/tUu2 MA $ʊ'B<ʹ֐ ut9>78vNʕ Eڄʪbczeс qBc"sj?7f$$ZrRAQP A vOE!:9fH\)+,tN>@ۭW-PߓHoTaR~:Pp|-ɗL-s|a\Q)Fv]r4ga:rfţį!(qtz* >Zk 뗠v ˆ]DHf$0~dQeT8; ;":@MCF!]:ztJD4B"~VC=Ղ!`H#$)dWœ9@-ٿ 3s;-  v w@`jPHwIGCJ"+j x bIF QppapEKj7(i/H=#1םHqjCgTF-b*3!kO\HB21Ua (B9ԉĂ{}3T%xs@ܽ$&A#?W6, -t9MP'`ë ,Qu1a.n ?ᓞ5.Bv>V@IT%%A# IDuD: qmz0(N)a` Bڷnf_2{ :#e+!sTs^.\mEO):U ZxyKkKij8l Z Qe~%޲I`A[(Nj166jEi/H) +JcX L?Pm)0uLSK]S,S"Dv?Ѐ؄pLqe=ZqZ'IA.y݇QPѾ?d]-LQQXje맺N!*w 6ZKZ_;ḮnQ0,C4hܲ 5b= 8kj+]0@ixkC2 [WOlc *o'Bx15kIJPUTcfUXjQU~w bi SMHwC4-,[ f(e=pRBPI"vf^E0c[9Y( #:Oc7b-D  2,)d%Kޅb(%l$ A\9<-'kr XF0Gș j$2fiK1" q<( EYBRTJ~ ^8qN$$Qh :JhW'Q,uGŤ( (C^s]NdB)%BpÖ>"'hp 4XAND6ރZxt9NkD0AA:N)|!*"Ld5"R\PPnL4!Ǥ4 qaFh+E?I UYP<P҆RE֙,9BF% yXc\U!$c  SLXI#${nxe@M|둂ؠ@#5H@JeiP S G(P0 5AyhpƧ Eڭ@qR.@Y(7QX@ 8W3 hȮ/BDoXڹ 6 CAd,mӠ {!Z䄨)(ه)v)a׶$q)X/+5'P1YP!S߻VFX2P,ljg?X8kHv|"Q./LBs="1LX4£ U OnGmRKS(:Q"K)*-ԅo9fކŇ{#ZwSna|A/(Y˾4 K 2[&xtU ]TQo1KNagNRS\`!*FX4sMxXT1*ea!Wk W29`(QfCbCh„)+pр‰HaN@ \vgƚEJE>*$cpja J4$C,iIIì6 .^d[ڵuj#aYz]7S7djc!n"0K kֱj )D"M%571K!&H}GM,|o`0xQ[nŜ4ZJ1N{An6Tg)ʅ)DLcӋF6q(!Ǡ%5hgpYrTh8ÓMJ. .Gv#n,a^ /)f؜DqcR8䔂l%ǘq& FC̉`D@(U [ @ɨČF| waڄs4dzQģϸS'X '/"I_F9KDs{SNËjF[Q'iuyb :Rd!bh6<"5Ai:0u^$\(LNLXXq hC.XDZy}yzjSC<\vkLϟCxPS<_)9[3PQ RyҒumh*QZqқt4q[IE5Vԯ6 ^.ɜF80ڍ*V*}NR[Y3i[jy,_;mqasVT[Qo.k(jp4GqJMB&q]Z(t,.q[R+ ڟţhO_JBSXO]Du "4T]ڋK׈q[_RT= LIDmReFd jf&牥/d$'IvSʥ$V'gRR&"HrQL%7Xojp^IDU&>J*PJ 'Χ ̜g(uW}ts 9@k/z:-dZH`F@*KbߜD&1pg`Cn U'OZFI S†)` f<%. ouh:0ItOnJE_+[:tp bY… 2/)SO#Ha=[Yma&M5n2>UHU6kXWr/d-ld#d1^w,*K/Z2%`Eɯ[Uu)E+G!ORH~q!vlRݗOld6+n,JZt<2U(E J"k 2RHp &J._ 9hˉ D:⩰xM?yZQ7)}*N/1ًh?wpl2n5M7m{cPpDVq BW@tA! dX?@PtF@5E#E3[! u7Aˊm<>Zuv&,"_q,'8Hl8e7%s-d-$B&uFJƞ8L@x͖6˜%P2ʪBmҁ&'LXD7)PTštež4+zA /zqٞ9q8߰pąؒx#A)QХjbT$@ {Fl-$/RG8°E&]] >׭$kH>Tf" vhT /[hÇVz[u"{ͼ8A-As sUB-;bs`|!7&,Rƥ6-#o@J7ZmDÇUPO%oҲp@Pkk %TnE!۫] I> d޽z$JSM-W!n/"2Ud/^id@0{6`]`*XfY57X+PNeoTr zrH_ȑ).uUwfI-^HJv^{a0E+-Su CQC U[+93G._,C1B0v/` _,D2D\MGL~Jad ;0P丁!Q>e*C.i 8d3*K6q[@[bE7ZK*J娫m[obJĊ/ҺNgfOWTQ[DNFg&> M`;'>f+|":?'}tfS&TA1EbHQdeȍ"%2Jarb+M| 4 `2i/iqf4JdHkirE{?of_i M\R}Öw iOcfj:CO0лJ[P#'7J @`@ǜAp u`ɤ]W`lȋ#!4K6WY¥VCjU"sIZu]$ ٸUsӽ[2X(fҺ6L[M%`&A "&pdFAC)$\\j6H+|I6r(m&\2SO#ȕ8w W/o ?fQ$,X;x B[* sKX N_Ҏ N[QnI';}"S,ʡ8J_A Nkn"vCvXG$&'AY2 ֧-mVֳ$3r] YJϓnhT߁jaUN/LO UW@҂+S.*GRQ 4'N$4bP:ib'Cb.AC LWz2%aohqKP7ڜJ#0\ht}a^*Jf|rlt |.9YJ{L*%j!A[w(WRT_*KqWDԙIU?JVm㶱4muEJ.e:抐[/ڌ_3i(|CŗG] FAuL(Z>, sDjx;`h{`O9В>$7Qm w0pT?l lfrkM'quKm9* $ 5ODtDG|M$+5ܳjBdH""Pq#GWd2?\eaWłfWH(GYY*]%-܆&ȼK)=5&UCL&LhHv 7 bV!ỂdV!e2a|4i*DGE (&7].xlU" Ф; Qq: l2|TIxa_= "n$8P| !F"04d1R<"EF^[BFE<گAudC*1ؐ%R:žp`,340Z]a"f)Ht3:_tpnb/G^Dԕ:@5es_PH l"bU>qTq>AT YR6:Q96Zxxb$cJ\A%D=DaH`,x7Թ%JM@lpPp ܌Z2rb₂dRxiU:r&c]ي"@APc%q±2k.;W3F SwROΛROqҎ]W _ռߡm}wWoiݺ~K<('YA2 闽"7"l x(<fӇM{5KGkJ yF8m)4}LNkjAS+CbeM'sx蠎gjVhP̓>9 xZ.]684KЩ,{Z [RL"p u~Hv¨5QM+zjwrӮR8y$hw[`RU53q["F dRjIVɌ*K'Yq[y>…&y5w .bY۔y6$gk8XΎ |S =sMYNZYio,$OdhWvXQBkOws!#rŴsj;UE2Pe´q/UÛ{!uO+fȆjђ$7jӲOc[t %GMD4z\-?nD9ՌdR&8&yD?Mb-1 bh?R6/<(Eqfw"jAʭ3#g(jқdBi[)ZvV&{ϭ P۬somhX~ՐqjvC:4J@d)W&odm0SNSh"lOx F""Ҹ$<}A`28NH!hf3%y>X&T p9[d$IIZduhI 1\$!B,3Gtt#O9t z܈D%@]'zg<.GM4l(wen#~hfVq &8dV.]Kg8sː{|s4-heqt5%P>LdЂ68ETLwe& W*C% pQ%g} ]HI[# !gͺ~T#ҷwjq[R Ř[1D X ]6-~0nh-@%:!@_.u;)/%~H*Op[s,-LpI8:b5S@kpۘL4+n,2E꯲y"?ACY3JS+(+KS}Bձ,ժE=,ML١|FFJ "AXؠ 9BH<,+ >;oB3364_Zz:k^6()Ϝ-]yA񮠙'(ⱭNR.MIcYȕ\Mo .n*JIM L Gsf(H*1Ы"p:O?\3οJ6jӔﺻXRG»8q`:bfj?p,vg,D~u4:6(z 2&)"Yzy 5 Sc溺<\Y&\8bokrL HR) ڢ \'s!\.(،2A˴E" UU$S4Dtմ(L{vFMcJVWƪq]X1 TxD#䊱_8Υ))&ROӐr@5O>8|<*Eň\g kf lV"]ll9UNwhDs hi{3h) $#?hf_SOlce(GT}T`&wS묗 {i=rxɤD8e%1o]{kVcAl%^G:$Z/(ۧT *!V ɎMIU N vDEMUF@bw* -qe+d[T)biSDyߐ`JZ2ֈm a1Gumxk}TQUj+,>j Lh3C*`\OQ;oT~^-j_^.FoR~-* y63z&5`l=i!F #|r!/B՘Xkjǂ%p.SBLq_ k[Q{FP"&1"]J5jo8M?[}[.C<4dIzi?KX$nӓBUMF(˓|1HND`- Wqʏ:b{f ov[ckf|-(uelb2*SeP񵅂+4l>( "n!QT:7\7J̶{lh|xJX@aUpן-lʛ2{R>6ȜcZqa1W$j:NH pC H-uQhO? _Has]i-.&!$cQUirD>*@fT/GPB>*vr.xx'p.$9@qH !eY<^[v̟\J:,lKUQ.:6 dV6ƥ$+x.mM#rn$OGJxhJW[~J䜡d$WAwzG\OIC<7sZ8O/Lt<5$& ]ȴOJcC"{WlH Ԕ jsj~#%ɋKI汨hե AIg4PUXhD~lW)(j{(iw `]H5:3Kk-(_Z}_ͩr'Wb)x OCSe$RM4BN]\iX,4 Đk~.gNP-UWg}3"N{T;vr3HlJKkd:Ztj.{ҒruUc a#%rpBIE  j:*$-F᠑ ( D:.s"Y4I0}R~^hmL-Yrɛ ʧhPEYkdJ*JGj ?.t9"GLT*V1R`ES-` ]KB#$1q{s+4PנAHp2ΰO*ԉZ6 KYF{&XJ*.W(8"ޤN7Vj iCf(x9J7+nT7BvBF;A.>0&aBfS_a8{do_ -]oJF\-ٓedEXyj Yn& FBZGRF3r8PZfT/T+vjþL%u*칑gHrC?(QKYՋhՑy_aQ,4fjy-m)HXn@d=JiQ[=JtMZMT4\6P!Ha7Il~ڤfJgӺ\EYB\c/̭꧹F $bPjIt_2Ru]2_e*EKVH2UBqw3X6G1Cٯ5Q`vE7[&+ݲlNS!C~TP@bgFpBa{R߈nmM~ ?DF&1h^g&0h@g "|X4 (^ I6PyM?d!@LM`j; |,~j$eȽ0X1A&(XO@v=U$@Mgg˨>R;.Yy.%BubDT8CCp\CtTuQ(SdIҞw4ͮT3 3Fht)UʑZ5&‰I1 EK8$f=qhD+qvIX+ &j9$q[ A%P T(!t* ƅwAE(qӈc3TI^cd dlB4h'+pUIa~yщ~%-oVx뚄}qzIğhTqMi .d:e8q]5Kzaz"ڢ',Q'2-(UG/Qved)BI2]q)}S%ɭ6!P !P"-l%jAPDk*-")5i8c@&ir,_dppL}"xM|A[|ύ^ ,0 %ecPD!ټ]LdX10J4J\i90Өm% vnpTʶ|D"Ƨ\B_T3r&17tL ׆jj ނ\]T =0:%~twt1"$ndmx&URaTd`M*aw5"92^9CyYa"jH#γDB}xʷcʢ 2I)nDamqɾܮY5'Ne8d1Žjsu?BM)n6Q0^8QK:9.X|^"bo:V+#;(,U1ܦzSN8$DjS<2r.֢""eFABw9; BRY&1TtFyj6cɲR90۩adN4E}vRBu(^mJiBEJdT}~xajF$^ )ʿDy3zVK"FdilPY}?:S3$P2,se:aijs]uL;{D8kr_ CEⵊ![k㜍mE*eۋQԡ쯽R$}uR )]͚A@A;o1\Z͎2U* {[Idk.ݒ6̬/k%:<%bGDd^UW/Z60VR\+JBSrtvކ"U>^T𘀑4JFY 5>cC™}W5] { =flr77(ň YG夿"72Wzee`&DFuW+y(.T'Aոub4kV5)v`m*  `i &:k "ɑ> F;tK5(MzF#FףnӛaϤ J|^fI*2F#zo8%胁@T&3 $&3/as%ILr̂)a{5^™?k|&^ۥq2Hjn(e\[6Xa"蔬g 2MpZ'g ;Y&QX0_"/z?@b ;TCZ @=q}D2*޿̕}ai;'a8hn0o>&TFB$.~UDB*DŽu"BjbH;d/1Rb%Р"ͼy^:ʳ l=8i#>j+,TvnIֈD+@j43/ rEZʍq)uu=Uz(WA9riFuMv2)C4\j#d.꺆TnnaNcTΗc5IOR({ $=[&u2!d:j_UW͕ĸO}G`H9R /n7~ɨĎvlA@X ` B EFKMCGVBt9S+B~7ȏJt-Z̹cgPlSSk %\iV[ca~lI9` pSzy*]:kF:>nFH[jN W ZR[T5bTnXE6i\3^vXjMMDk CҤLc:)4Zyk3m~NX#L&u3K?R\=2.~H/e3|&&\̷{dƓ HԛXp[wIr5NE?_+&7PQ[%-Xj.~_4GV6'ɔ{EJ|&CI(-WIo4~d+ߘ7PS 'R 6*.P~Yi}Ǟy>EɃ" 0 y(qƔӖtГ3t\LI' Gt% TfXI,arvɑSiWo/^Ѧ&BXYG{n9j5D|ۃf u/4/fVzwMd\{έ7)½{y$hR8߯ (bYO[ver-Ԝr%հu}hu@V J"F_c )Ks0zeSaeiTZJ,z?,. ykw%-Z&J.(ܭ\g'OzZGKDһ_m1e CJ_P]B+4RjkVk5* q;e-;04*2%R|'^ T%?%0U1'B(nYRDAX#+k%ǔPUCbX",@dZYdIE}ndӅ=*J>%A6M50aGB\>:p>=6]K"jf+IT?d>*ĠZ)fBvDun"Qwq]IhVZtfEo vBFq̑/.>= pl4d݂G k>һa{4WX:iaFqxAT:8,V@G` Edp⚡5DQ*Y[`E#>U.1%&;[8WxG (+bܨT --~pQԦ&N|@2X +:w% q$(dX+%FHQU`ĞشE6KWpD0Z-!<<=L[[\$E]  pDD+ G2exN#LҸDHy 0ނmwN]e5B%nV+p/ܞR*9. @?,,[;׊T_TB"0[eaGSE%KmBFl%]cMfvT*Ž)ŏУnF~m,z/ =zHrrœɟYW8<ՍPqNDʒi=PST2`pPߣ"BB#o2:U&f<Bl%z̨lIIji-nb ]'S!=ǻzX$܍Us`g.˨QD!.5}'`'Je2aD qIٻd$~!hZ<+W&˛O0н )٨I>9zRJ  YX}''Lť웩Cmȥ.)ncoΐqI 44ɷR0S&X)?UߎsHhom[rN& 2F̾\t+!n_Hm%![rP + ɈďF۴ ҉9*ƅn,(FQMKXs goh{i'X-tbAerQ553<>.%b.{~idN.#2_:d }6Cdp`h?A j%X*`~z|UH6 &>ml}|4O L(=_h&w}e?ZP_BT%APB?uE}K͵-X#P$v@xMʢ@ pP/ fZLhT/ܟ LIm? V9yDEwU bRKNPI h~JW"Gm&jke2n=?-FuS%t $]}s5#fŀ:HyRR3s䯶_ԢmuuD\̡UmY5nˇaL^Xs*?fT9Y Vih7Ir2uFbm4D2ڤ#TWU$tg9raK8O<*#^ ij=)DHȆomME)7Lof^/TUT@~E^{x,pqƁ&$Ar"B,i/|Vj 8XpYפJ7M& VeG1V=|cA(YD+[bXV .ٰQdz5:2T.qNc)r݄Fȑ97zT""Hڒ?ĩxztY0]W|i"24ڍOv|N>Ȗ4hԳFZDr@t~/VN3R= 0|pҰ uCA; NEy/Rܲ MM`.]Ңn{s!j5:%X^K+UTC\@:+ OyF4Hј].v}oQuY\ odH2SK#lշs]R1\r%@6 ZPWhȫWT?I Ppj`TW*OŔ2)m /i4i&ϣĥZȖe>zV`7]ߔ1cjB&=}>K2>;T~ U̿tыoXgy~@\j k< wH Xjd`·t8M$4:뉈f.dAJzhJ/K]FPe 35.k; s0p_srMvQD/d6/z&!p6qʜzh>2jBU^p4Oswx Hu?yU[+ dO慺Aet)dEU{X%Qw(q&&|UDb&#̟g Kmظ$qNDx5Qqh2coߖ!}|cuZP^wT5$[˅t(i)9+eJ"}Ep3eewK(oGw"$p07d2zboU$?gk rѿv__zҏڷI-+\%hD@Zf*FA#dꑈT"t]$.AU#mVZU8~2F/%`#yJ}oI`G D(C0VH Eu\CT("]Z%wIK {jG$ƀ>pBRR9y\YI䇔F#XՔ* Y::_K].f:$;FN|1j0/)" -5~[@^c!dr+}?ɡԭqM+B7Cu Z'3SBCYN6-|K$C I+‰zR>9ɐJe^ sSPUiIx8?Bf+XJh!u2"669lddP*p烻 [ڰS?Urgb`dgأA_;|,g#klksw6Ϧ0$̦pCf$n~\OC%#[7C=Aoׄll`nO V nTQxٵ552Wo*+.w`$5XƞN-cJ䲓6^ϩ"뫌2g%acQIЋ#qxܟM hj3Z%|\0ΓzH#q-&TS'\ܰ3Z\!qOx6QŝϤMu*PJ X#~fQnΛYDPΗGJ*:RЯ jKQ,kO=2DS!-Z*3}Jf<̊V-(]Oڈ84$ qzoQSgI.2SUZ2_Ѿ֚[$3ʔ3 v][:V.'\ E`"gQPN2@`z9 +A)bp0;5G&ՕihN*ɐuH7,7K7D#˸L $z%̅YOA#!SwUb]Y q@2:㦂uSY U&=*tؑuj/AWk8Cy'Vؚr<ڌ]Y%S+-@\1LK'ZDD-B sU"v4'q$Iddc^~Mw^ Nbbd}a\r@d):3h^/k=<ɱh sT`\gT/|t=w`{tW֤cNRYA jk*?:+ ,淭ŴC+=$wu$E`L_ƆrIxŬ.^N},"bT0/X (t0ͯ8Ba nVg䂪G?w.ɖZS޾%CMYwbuf2]E 5΍o7ɟ?[yC̆XZt>iUښ)©Loiu[t5҈BZ]R\9:@j|&A^TigJuws1ب*'A 9oLgyB(;DɈĐJ a gĵ.p;]WXL e(U+ |SK]Ag=q8ZC˺.ZOF?,MgJ6,BoY}WSIiJ([gG ]LXUq(z_nx /_!2YGQTa.Y>{O{0_#<>rP РRtP* KD BU #sO #pR)BXk> 6D `HcwthI'L7Q5DlpnFRaSM-W.ԣ7xcߌfLy5A \*:俭ȏW 78jz+rnf8fq3-40q7xC }Ϭ֟!Uq(gGKc3<{?@chR>=ktYO.y_?dJ9j{GY.aTL4>ku*M$ h5<'O3e% tJU[<:npH<$$g䯉\孄δ6* 9Ep^鴗[>N}M2d.Y x@?/B^~j-"2>f:Z%m ,B>Kפ!*d~jѢ&)Wvlb1z+9 g)V+ Mex%favڴc(TWN/di+5 ƂT@[8KqⳔ7>2kvjЭ['.WIfeIf^'B3Snr\Ȓ0Ȥ"А. E@t롳B >gX >bA@G8$_m1 Fj$;lH4Qػ\{izyH  3o nMW<4޵'d#U (g E rS>JIF(a-k^*&H&v jʿlYuRånٖq<`W~P 7ds"KFTAyt!azg3׺Ĭ"QpM:!K4G{B_03tULӽ͝7AV7ofj4Wxz>i+[TVC}KK;xUoM+@K_%|8$(%<ۈqN'XN=عf/QopĢU^|#IsxG#qdӷF%"\T =B(bc1'Ճm; =HAǗ2:a7={ܾžo$jwn=G*Sw?n|z~4b2u#/>-H]w{^4eJ"]Bc4 k=r]iYЫ2/2+"FA1Vhz(f&{ *ڽqH)m#=kG}3?MU|Nx͝ xi]LͳA#@'ptbv!==dhQO#uUeFٿx*Nm "~rme݌O,bi FvC.#u<!qGEhIJ d"6я:L/*6tmԞ <5" h"$BeF[$`0XɁ _xE4x^G0f6l\րd=|9s=Wia3O[58 PD3mgZ/J* 7Vi4;UYVC=xPx*j8,2uRvMs(w>`huVZ{䑘z"_$v1Jt(9ޝTP+ e]cѸkf_NSQw+0%~M:I BVt„P ߕ})7ނCv("ق>f0␑2PSGFJd9U :Du?4od/;ԃL]YA3B6/, RYj-c*$fA,v, U_Ҏ2ӊ xvZR`LMSF('}(쏴ęiW~[6阛O o5&xDS()G+RD&7ᩬNMN:T}O?o >O̡Xhj}M# uK U)Ϗ/u _5 *`dme X }R|0sF)m*[ \[>N{(Y-vm+Ǝ`2&Rr N5WpzĨ/`o%.qmnsm[~ =^)/ѫ,\:Q -9fT 2@@ulB%#B6םBөu^M{)$ÕBNXIȕd-I%UK.n{ TlȔLMu~?焉WЭ5"e-axQ4*TPFZ~wQ!+&hO ˜EWH&\=uⶂ(h!yu \Dem$v~IQn5W]#L@"(!Y QM;e' SVKbדJ0FD}mA\4J ^sX"g*_J}V*IA6H$[2clV=$K]s>g ?uNQ:gߕ迥h -QP.{9YծM@B!I\cU˺%xV=OsaO"b9HX&q8RҜ*bxLb"Z1~"-L*,KnDJ׃,Jɠm^͊ 6\Avy›ԇ)'P1DBe-ņIm[T)ғȜPQ)MHw>t=Dnhym5.NK)COՄl3,v\QԀA6ͧKvz*-”l8 ҞR {n8vqجQ- ^{ŎZ1B) VRӡ6MY5< Beaצp~.Uz -1QO[wg${ʪ{- ~R5yWO"-6zyQ@4\n; +h_#?kPdW4㲨}[TZir+J%{ׯ“ߡVܡlzg>9pwRr{[bkRK?}t&Q𸸞ƞ҄F^R-~\*4k!9eGdjV(Ed+2짶ZIRˉԂ.Bcg U;<19*xGUӞL P !X&@l=]4ɥvô';)AF#YomW6Bꛭh7n%!b2 3R̘]IUiVRt>)cL 8n ޡs^ܓ:?p)a(Vc`!JO*޾Z޼ꈅN0CȘZ/6lgʛ}y+\򲖗?sPD.;G Z]˝[7pR^M:YPtR%.81iL:D‚"έ>Qaڊ׸MM+54v)iUlkFf+ [Iy1YH# aL-9!Hp707 AF A0`@t . ADciRz3B`pPhq(ȴű9aA)99sS22džm?tv@0^8Z5&1o/* |lj'L,-EݿFtc ihs_,&1tk}IGGI :x)IZ3*k35Y=%zkUiߛOSU|q l YڨgyT#"XIr,T;+G9Q d?y( A&o MtJ) gmTZ68g+I\Rx[$TBO.˷ebw2i~$IĜhꐚ,Y ( {[D CPظLU TJhR#hYPLʦGbs?T|f3Ŏ :zR `ZzYq@ V_J-H BD=#kM5 n/T#Ĺ~DSHԕ5k)51ã*er1XpþC+C_%Wa`Y1nd-.nq`ϢcJԋ챯=VOw=aAMZk%1_ߡI # *YpxZ4vMg[C#dMh$`휜V&kŵ`.-%9, Ȑz,.8Qz U)dm\;_mA-[L5"P ESR5#n%Zy?g",˚ )P6H 'vRჂuecm>2^]Axv<8D͎i?duݍT Fs7WwsB:K DE8`SɿI,e ." ay]}MA(etK2PؗXpPJɎ✳˷eP)>^); L;.j ] R5o ۟JpXPX@ qr_'+j#m ,~Mq^f[hk$g-tjXKQ1-=t_o s8({qE‘RFm#. v礃^@Nk#!"h$ŷf`^EϳmBZaA'bq;$Pcgۓ4)ľ \<5t5X/ @?&$AI1#,gv;d2Fܠ;rؠ?W{· 4 /('RK\+hLlAch$;zf (P#p w DBwMH8  ̭;Ѥop31ڗ P OTLq ~Η J_-d3(\#NC_vp0'lBڔ#b]{iO=o7P--pXEBCHUD JEL0:s)_DBedVr! j,ɛ2}B"Vvt#V8/Cҥ94<c Fs[xAB|D-$7 9+$Cዠ#ΤN޲UðQ2J`#3 lр;08(L?4~l8ENځhjt'arA ^ɎSzQ"/K#$(62y& ,)뢳r0&qB؜6 S,eJ<"a{33 5KJM?!1kL؍(H.M^}ڂ&lAeV-W`VC$`-CfR v4EC6IhŒYk$ xJYQk.Vg4dMz'$pqK|H2`+d.'"Z5*mo홪X^3CSf,–IP ,&;G-_pҞ)5C@Z^>UjdeCkm^Fi~QK{`1nnGrVsʂy.xV];:G0{ƀ^<:ʪ`UȱukPYhqgUKSΗY/ٜRt͞emT',?H G\؋DQiU)Pjҩ?Z-QX+5`ɮE"ޓ$Ul>_f81Xʒʊ/K(޻0:<ʥr?$$h=-G Eml,X%[9Q#3+Sz6%iLC~~̏WJO~&Hg'K&zu/LMs% 2D(#G Q"4Yh`ReDW=l}-Ղ G֘nX㥹L5k?VZ]k)mWQFLgjXŽTre͍D(Og*DpwOL##e K˔l'EG}X'$Ё 4M6ytEvPH">"B5GM 5 b$%WqJ%<4 wr^K%xH@93F̦Xq~v8<ȣa*2-{:ǺqJD#GYӁW᠛ɢRjx\%NdE,B.*3@;,98jXHC5]wNz62S:BTX(|P^f,!JTTί,1%b!"^0(P!0\_dWчg+ '+)<|o B fk: ?:-RB9{IaywֽU^v!ZaH渐`X;dH@T_Wf Ʌ.1`Hf QXom,sjf^*?1?Nz ԦJrojF*?zhн٘JL u79MD'hYN$7PС:3ӟMg&GğT7N!¢DY\oQl2.[1#x3s"߲CFDZ ڹ<F5GȻkAtgNXp8ZԅӟU؃Θ +0Ŵb ]C}M*ް. {fy ^%khv'uDu5CbFs9U_ }NT-VC<^) RrPԬz/a^#MDj%lpwII 1RzrN!%-F__+qJ8;_Z$C"f!{m23l7$}ɨđLdg|ô75/&yq Y{ZʐsG&'AՒ`'>T-Q'{"^ '[_,ZB'K%0ҕ.jVJ϶ϟ~Krf8~>gOT,wkJJAv̗4q\Znp帩I{],,* /-@4-((T]6Mx@Y{mJeICrb $a4,TmyS" L0xrÃM406'J }ٓ ` ABDPk0vE Z,@< QBjtB ˼k5UF?@wFKfV-t&ވV6r{9^I-ahHmHђv$omhHBhTNِ2,04 ^B2-Er {؊X2tJKRjVWŷ}+C"T vO?fܖM44ec^(j: i# .4|Pʬ.c&J=TQ1 D`B3<Ax||HBIWđ(sG6cQCtyl: vXI@܉{O)8&eF[#D6>$9r yc@y,h B65/"4i(Uanjy`㦫U \nT<|dpAAּA֩[O9⪤Fk282iD^tHG$<h̳ nECɖi%HQ #PeySu JhWYZ4FB?`to u$oX?q/%nwtgo3.GTPQeX.@UU /Fd7w>vS^u>Ƥ!6()ZC1v0j\S_I8+~{XVwE$}/G:†&/7.WKvd `|;NH:(6H1 9Ű3H3Ȩd@K)ȞHW(K{*Mο]|c2%d5$'h)X ? *5ҔIB+Hoٗ d*f-?I1}AcV$霅y o+$ʪwsZA /Qi)) 4F/<A Ɯ$,!RfgVb|:ݕc=u|&$`rh-Nd}6K$" MǡR y *ll= ڤ8Jkbh-uZ4},h, { ߕTҒ8A-fBΘ.ڧaN^sY~J,4$&7gp4Y)  WJhj2S?E3EZ}'%J}j[3+19*ʌt1+wFN8ig@Ё9ℋU b4q2ȿ+=dY4F`UDdu":˳!\h+>L3ƍYFEM1F}K<:PAM  m8,H)W3:OR:y!DWPΨEhAuYBAdȪ6\ pf}DXeaU6tC.Z%r>_)§B( >^JdN2HXE 8 vdlN@f?1>OTb= ݔٻlmizA,t4s ]HʟdԕJۄ|׷T%"~4LPFS)`®|iiHI Eı5Ye )Ҁ@DSрV4G?vˑZce`}&P dD sNR_SA ͧ^lUM+N0[%yکdT UϺuGitt=eKHaI4'GE_อErH c#q4*tF&ŦEFX$]jQڎP!wBmѩ+$V ?J-((Lc'0[B\j$Cf)SeՈ*SbDK]I7J4iC99zmym$y s;iTb.!n !>Q}αwk>PEtUq٠d:U_M# NeYr+,q_bǻA~f%ye 46-_ƙK.| ge/^˛,:PMk"P'0%HLՙ,Lim+qdaS 7z*$%RˊR@oQ#Co4!I"2[&J8|{7?-)d98eH8ҦT++/wsg)ksn|gבIsuQ&E7o1UxZ͊6'v#ϡ&LMJylY1B6]A dCp]QanǗK*8,MB%^`Hpۚ"f"ůkC%TsL@mDuhoGFBB!c $|ZyJy/!/U2! "SB}-QA, J⬄-!&!O%Kc =)D\A".g[ PkT`?qcbf=t"9:í/YA#O̴قĩQf|D. noZFrrM"+W"-Ys qu 2?$9ɋ.v%A CƷ |e$ *,GBN&vÄdcZ%bNw B $C4Z Mcv/[$ф\T1kLhzbZ[nlu[Y/Bb>C} >򌑣fT@Ep(?FhQ쒿W+2S"cSA"۱;VʱsG Z&9ʶІ d%wVY?Fh;;_ƕؐ 4*bAkWH3")nsxS~IGUi>ȳJ {.\$IMhST|Ɠ9XM,cH^ ‚*Nn vy 2I"_mxA&(UEudr^2UWӡo1eSٞIR(uG3_3ZjK:+12%RĖT"PU^h{C;khL49YRT QX<Fdac bn\ ^%ѨCPrBωa-ېDtvu2tZ@&?몍 V=-IPU\*?Ye^GN(# m!pTٕEqO,.<[`L)Qk1I,G F=Re3Y\~,K 25 6-"c9Bpl!6t?Ÿu$rJ1ڐ @ڞCB_jr43&rI&퉾H2"̷n4lѠ [L0"pPChs #) AGPHnEQ'Qm׃h:33zQH6S \3Mʤ?/I&YI|jsF4p K-i{*$0tb=&&ĥ m٭7BHͯW`4pö%zzF/yI{}$|!2w" BZRIĿ[(|P#> dH'rN ^A8hGjEFfTp,P&͙O8UR\MgZ~$,$B/>ъ(Y *p\9Q4h$8f{`b:N8&xW,@_ejN靎hL 9! ɨĒHBcW紬ᡖd#B*ӟH^Zܽ1hIrHq*nO6YҳʼGB*mTg/Rq7i]a(e5ye)6Gע֒~I! LSpVpd.mpnP}dK) x]UkHD[] LHu]wvfŘwƺj+wOOV~1>ķht17{>ɯkMǕZxkˢ(L8!2#+C!#W &Ur/#gy'3Te+NXDv ,@~&MOA?S}nvȇ`ЁsbIcMԔP"V X>؊,ZDeljIJ T QzdMt)D"8Zd_7RdªG/1]E-2AMY,i|ϔ1 @̹4ӨM(V!n&-,C j]B lͰmVM)HyCH cQ/@KRMKK̮a,'.*ոD4O̡㣣*JGDBQTt%)kb -o (A4CW뼰,Bu-5JQjtPmz(S%VgKS(z61Cqe-]!:FQ6Rӝ̄t#Q)?~Ϋ-ZÂ1OTwrkqI]2W+ w](APQ~T0,G!\'nI+'VYf"8Kb֝TdyGYvVEm1f Inp40!+W(8¢@3 Dȵ_*I12Pc ăIn _1W? osmGnx3 (r_%b`RȲMfXn@;>pޗHR@Zd+mVޞ};f6:ER)m,"hcw$Q'=QFxNŪ`$+צ-&q-AzzQ!h/ NwP!*)+ARrדs O_h-=U}oRI"ōU|tSE/Mmqtq",b²$ɒB^VL6 $Mo`d{YڴB$ _GZ51+G"bhJUq603ue),!L`Q窬3oyNb%-%6Ԧ3pN I1qً|Md8-_hen0^miaa-Tb 湂U(8+oyn g5C AHF jDs,Y.Y)tpRXM?[dCcNiXZ{l2꛲W+ Zad =; LVCN Fre$&+CWLyӄ4!`Ҍ*,j"DE9 uң/!RdRJ5ERGtWC:8[+4Rd fќa%HMW!@r&cr}@X ZqtKO 礮zڼf!A!mB$\|EHAԩ@qbJ𷛐!t.VqRwF'.2CC'[4no2Q U&M$܋ԕ"y4g|?M(4Öĸ&(OR|dC#<ż "H qN``8 c{օGRlLf 2̅di][,v-?G%RK`+⛐@\ ,I‹>>g%ROemԩ'O_ Q1L#٩ԝ@ϧD웎*$g6&PE#'{ujgIA?Kqr Tȉ62{R|+|55H$HM1g(t% FL~ #I ^O "qZS=cBK,q豞RU0L>qjVKqbZyR֟%R?#mRK%?:亰A>^?jx<uNii.OQVFPGk:hA\ѕ$ >C^]--_Twl2k}Nw\NK)n $6Ҭѧ(:8.qEKŒ0[$LIiqA0.^ F+Ä̵ zJnu4ju&X|p0N>YX4i6/g*#r-/I7>^'uI[<R&{t}#NG)n[Yf0䒮#Ii@T$SE*41Mlи$LVȌA!Z͆P(F2tQC=r70u"SRh*('m2̢eɁI9W gK4޺HʞOĄg(EFVBhey9"HhȂJ5HZ$Fa"%J? +0{ĠjP24/ :CsR"W}VAq6$|-f?x,LU m%+$&8_Wawqb+nA1oYpL䉚uhc(~IrԳx%؏%.+#*ڟ _k*Jy7J`ёujsGj2##xl˜c٫{Mҕʄw,"a1{\Īk<>:j+rP'QEmOZ(Fr O!22,7 X+h+h,`BP# n[Eq_apĆǮ(zI D␄宛E |FrQ$S+HH\@j }p3I{Gnw/jA@Keﻓ24eERg&ǖ5U>VHT~Fe]Vִ/Ů!sISD2/&F2AkSa{F/ 'NE*[A @^p.V! . @di@)P@ ;/;^&&9)R_'`pD= P-\cY{PFS 2A.} 0(>LB V2FA0. txU@ * ̎ Y3\21ʅ!=^:.,abJo_b#JP9Q~}TWʹV|"g°""`iPUӻn=.,#(\d"ɌΦ[@G+gro**7$kU|#E&! l&3sYD Zh/g̘۱W߹z)f>E.HH$ WNڊ̉d`EXCʒZ:դ/p0I)Ff$0l!%vV"wbc- Zwks.# bJ;N'Ƴت):z$J-t.CuՔ^c^縵3+Qlօ*2 Z)~Nz)9px<씿pQ*>l@T PyX#Cs`+Fz 娢GT&!$ _v#[kQw[>R*bp'z+؍bH)' !XQ NKJ_#:`  VƳ24I""O`tw4ͮMI5quM:PV ֏ n=?YuPKjQCd62!h&z}gxK* ]2 'DJ?&C%Ci%KW_ 7?VS͕uuvʑRN,{@.^1WQY'sځʰB`KpCE9j 7 i &5⭣fD|!%ܰ8x]!d+7U[a@ Oxj )HBV &i6MB+%MGb2t)tu!4z47L@RRŝuqcfTA8OJ ^P"('.2 iM%I&$?YQ<@*HD0N$ eeUGarS)pZuDO B_Dᕺyĕ6 y%4EdjQ$dnr2ֿW+G?cM7T&jHMѫfGX{PliMcJW:@Eß_<2٢fG[aYx\nE@u@Hmf I3㎉ ,es#a*\6؛ OZ&,fWia:L;V:ɢ腃! Bi0ddC$[ T]oM C%ABqB=%pnyd"K0tB$<6@ La{1FRB,[6- WNbj-msy .~HK60F*^/kUGbj0ŲPRF$iPQ K1,sQ1 ÖQb1踲5(3ҞV]j%lp-_݈J,Qg(ٍ' '-)HUEӾ4HkN]xCLGe/ ,L>?%eH" !ЖVa6ViDE B 5#uT%K4#Z_b iKkq Q Cܜo]hR$Fq' EđiR9hf0ym1(]D"[UN6OHMMk,ƪղBUuBar!iO~N5)@ qЄ%MЧHNa? )f bP baܷ@GԷI<0ūUZYK R$|C] .ʭ S6&I|A R/ZbVM0YD)u&N8Ifzz$ODCrpBT5[ӟډE%[7$oNi~ c˛]X/E[c(҆J A=CKo^u v少,|$neZ 4F+:ssi{1RF/i|`#R}XQ:<9xw?H|*CUf CB@Uq4JQʮbS\^fnmӚ(';/Ad'aCB!9,zLPs?u rѧ /ѴJJ3\+ġrtyO+\KwUE=C]E OUe39k%1x)==Q0 1!40ކIZa˯)wv :бe%gTr*  K& P jX,d4CyO )rcH.[j&XT!:~ĄT g'x9ɼU9A\eUYp s Cw=ScVYN-e,B-_'{b"PƧbis{|C*&:))l[v* T RVYd Fw\bZvɈIIy*bmD<<0j;{\fBWSU0~ 171鳁2d19C=d, %&i 6f {QaE?~gOBu9әn"JN \fElE#܍jP?F-, 4e8بzdA'5H8, 8(m?um7XVV3Mzb1q^a'gݾv{߶&Ъ, V+U`C2kTISuS_oM׽#wA"rxN0M*Q34Yl bRLEXQ[eˬfqM)>q>7O W2k2g@Gr_r".da{T^\spgۃS?qgy2$(t@Ĵft kjB2|dQE6ZʚcD\i8>e5:K2#3 \lF{ iUۥ8`DbzΦ\A 7S ޒX;7|QwnI;9mh: N%9 œ Yi׉ӜC _űL~;#ĔU:y-)gc7Ts>UoHZ[1.Q:JE#h0! +9G0 PxjLv`> YƅﲨQfEdzǖ"5Ot[ m e0Rh),`'Y5`C! RQKtά쌫A5w'cÒ>Ld^Z L9$Y]{d*ѫv*χ6N.G0M$"5[ j|Nad3>"y%U|񠄔2 FkthjrkqʲWGً UI'؎B#?nTV;YWX&Ti꒿J I$+"1!::r4Eлp/Ykc,CTgYOkw[V=@x-^;%Zʪm*%{Jq-KN3nLKҹE-^aa+;ffw &*É6f`1"0!{hH+ vyko)SyMWqJ(OFB! RxMZ!tܔ,SA!ۨeV-TEC3a O{EɠYlOxڛD}$0[SW優Y¼үO;N=* (9:ra99,) qL9,0S$\.L=bT^=˧Kܵם! ~^iZLՕ-i @A ̌=:%RH}M70xLyJdz$1aoQt9,ʽ?/<矌rLbkci! ᰝ=xV,04#fWAQBbeѩv("401]|wqPR+4\̬r7O~[3vAȺۇ˱[$ vc,i)H:M*Q<3 p*L,[QF+SM3 iZ޿e!RO7zf6dxT>Q$SUH>:)qKI@h7pC-PKF.i sd+4؁ʜ:aAea̧\Xf,71!CMJ%y,GiwI0^dCPn$'"/@t ج:8.H3(9dFCN8\rC.MK^'?x >sщn`&^d\NN]TҜ[Ho}mq"oX.᠝.l붛1]2]6PT'M(P7-$\"Qx" 2Ƨ]\@o~şbqIY[Hd O*Z)%L*Lbd=.J7Ĵ2O7qb}¢7Y!T<ϦkeM[o^ǟ(6Ƒ, 80tI4d$\1=vrDp"6t_W x&С,W>_u>ZgDH"$T<;O]цgNatSy5H^kyCÅI~}#ue]Ju4!hb]H dK*-Ԓr&+MieƂ$|` (XD&*K $-l,!vV"Z[vy iIeyj@Tlҳj'%ގG•S$E~d(2YA1%E|;8ʢ7rDTxEgaTbc@d` +d^oҦI'IINrAaOEHM҄$l (H7pY& ʨ65 o) C{^NRB>f2ȿz.f@I@t>M=zh@P0`VO.UcSe yXku}~GS3]OɊ2)l&~0* gpݜxeHh}Yr+^a_0߄E*"i5;5_XrXĈzhJfg.k~~v5 C5j! ',_QM8^fFS1lsa tejC }L'APQv=. `.` l"CU%Y2LB16އc=!4NŹ:{*̵UJTc čN. 6rf+nذDH[IZ쀧1XO{QSײMzz,5 6*PpjZ:dL $FW7F- UEmS7AHr=ş+DKC8'T; B(>QQQX>; l?ԕ Zeq+ӂfuunVPCX)L/\q>w|tc6i]&z99 $F)tԬvqz, ַ_2JQbibB=S?p0e U*(Q7;M$n};?J% јA^S@j%< Pk,'j I*ߨӫ/#XY4 l!@dHG u aXt͘=G 6C4al[,k 'ĪmBrMFx fۡE(x2x_P)1X+pҾOi[愬%_CUj+s⏧Nߤ V݊7 ɗNXb81鞶nn2]Ս:~4/e&rL~ ^;p^W.>G@D] '*<7g\f< 9=Jxaұ&m1k +IEE׌_bWaRHZfJ,dlK+#LNGruB&6S 0OYu0_#3&#?;@-93I^]VޱF&š)MOEZڎ/!\J{dƄ!B!V*=p"Z:JDYHist+ۍxl6)  TTʐq%5Cuݼ_lgKaTeDj\m,uOSoPWi2m@fB[+naGn+@Љu&zź<Aht-$˅r/NTV,VPdw9%s"n5 Ybu6V4-k),nJ L){fRHL34iUQ1jDH6XH*`Y 1Q [si-\TPBI7HMpreRRvw7g?J\!rɵyƾĬK̘Q dO9kT)! g{/k_ȧkU1MuھcW!\B҄< uOXah,y aExQrCxKtu[. +382lqD)kub쾔REI9>WcG- v!eܛ Gi_-56f-Bbh9V:nb#[((ڤOLqQ {Fr.4 1%c>^cxM'Ìbu |W>K 8l-[?HJ('2} #n(ĴG`sfaFuU=D콁ȥ(݋QŶb:vJjA~}]=oP%N/yIBCŝ") c'WƫZ=Ķ y+k`W-bf"YU!`H)1X)G=YKO/Lhe+_(xKhS|?'=6KL H,g~_֞I'y#"1$?kŐh.2?PcAm$݉iwTRȨ;gzZf-s(HNtLٞ}Z:{cSLEQN@ZPmw\TbNvF5+dO"ĭ Y)-%XD(n盵^N/>8M$+"ϻvǤD}OK7 SVkg3Ȫ=G470rB&3-T.ڣN/fmwH*h%lLIp0}=9t /@.л"P&;0l*€7TN?̝GDp^qe8 qqN捧jjwc(jr^ő&#M -H%[_{*#x̓EXa^^Z, ud-w7 qO]_w*I+HNk33";ξI%3ĆIjEM4fDEowz9YP8fE'sfXb9&YC.-76,GKix`@۬OB5N٭, \>F՝/L#yHyKujPXYoB󀊠V\a[k5ǰ$z(eWW~cwB yu2IT{Wzap "PڞĈ V([Pۅ V*CYxh>AL#q8;PE0H葀V3.!Ni5;Cxj_IU!7e1̶kbӣ`\[j!A+"9ra\J7V:S"65.(3Kt6;([Cd36%JFg;M+h, Y'&o=IӅ D8ʳ6f"g TrޔD0+XP3^"!t$b`ԩ4ioAWݧ:|r7(Z_nL%bb5L7GJJ[&UC4`U܂Ef \`񂔛f) Hg^ǽx0j}xLyKg!͛+W6`H'@~]9'01D$'fCug0nؔB\ v}] l>3k w*Z$VwPy]i`S$9N^ݧ0ʭi?$BB TP+ɊpuܱGҝU$ÿldk)VѫOizcE TLcɑ5brA9314 "ؒUIq"ۗ+4ڙ`F,j'w=a+ycoy? J[ei6Z (列'n5jШ4<$ZJN02˸XH;ВOd%+okޑ'B. $MQ^PΙfn45+Au4OEh)nCW,3TՓH-i]LQn_WT{iю"ܓSiEY# Z9U6eڑ@pqi8zYg͙~PY_;sBgk$ FwF_R"&z?`f2J/Q.,@^J1pX,*G8sU .Ieh:35> 1ͮ9zJm"XdQԬ9T(GL#xz'ȵ?(gѫLF>ic~sVDŽ+,3芔>샻:4~:hcD{LTs0liCO)YdHCŔ8s 0"YQ~.?M/Q<߲;S"$d읖Hȍ RȗD`̶CUn= ZH//fv(ww(N;-LH:ܤNrcA *lu"bj9BGUFIꎒq0r@,fr%ES;7Fez9rT,Ȣ"[&r2!RaTNZ Q 0gd($ ^K$̂flq ɠ< $WE.rr \JY|erQIubt{$LxDr@ #&s Bc\k_s }g*(#I)ђ*ʊ)He3\bB:-g~wV4vҨ%4fLYXvLD`i$Bu`W0*臼Ku(LIНTI$zݬ Um]̟ڡ@뢄})N!A,rs^ (jd)= "!V@PeR (!e bhZN>j)[Jv,Yrե:zLcbXs5 mغ"9` KL&daZSF􂔐 "oN&C''c$BawiB^4<6EkE#n?wH'E/5ʧ7tu)Cz[qIlK*MjD9Ŀ)t  1&%PQ"n"Qz7"wՑ2R׸HO,+lH}Tɥ<|J.hRԄͻb֠{23c4}:\LMfmcˆ[aG`J0C,ILh%y }Hm5!Ɛpp?"Ω'm~-kb+CAaJѝi΃4 [{bEٱI/j$q:"e,-fDqkҹlb##ݭ Cey2ÁWiy~MώҊb[*[f:0 R""$4p,XAVu"TYGٷimyspv9Œ1koSq[v~A!\k*uJVr0GJlL<><[Y3#X6BJf~ ~ k< +T$^:/B\R BTR_+*CyV2q].cK~( ϰ_9 #~2D 5J>[$2U ,OC 2̋ `+\kϏ\2. o7Ҿl~*U3ZdB7J֯4SGS˵rO;LaM2/VYڋ/w\ d}=BG̨cprkBͷh:&t)镔G IO,4v*,DR9/#r : Ʌ]R0"RxqJ|p`AD:LFqX/Og *![Rp!0f:` ү9&!,T_<tsM8{}Q:҆%%9QzdբLw:#3;EDA=yb/} A556Hn=9Y;>nFYY-R_DLR{%nNNR4i`Nd*vQM_JOzS)%koj&>y^*R¯)QsIMBV'Y2@"‘7иǷj up*t%3&j4]1i-,Lz7b3mz#-6XOi{tlENSQ7b{;[o$> zFBRQڝƚX}hC`& i)T֔/lTȘI;R섆1$kI,h%rxjGJ,NsM-hY6į` )'vL?E` ߁bزX{8er),=P lk- ;G|Ѵ!.ɈĕDv2ԡERnѽrX*$~W5be&JRL'$.*y" b261|y Tba'65ZJo%@q٪*mTdWƑݐ4㳬_i-֮!0E7o_ w@+L)kU:,s3[p]uitR)՝Xޫ+|E%(+Ĝ&tI1 | .#{o"ñ |"`T @F@ѯ#A{u~h|&Uʟ=gLԦ꤯<.JsI&vhj=tTM%!eL#X^(e +4L>mɥi R(K}q=F]ez'?'F Ѝ7$lXYąRVey?B2 qa0b*[a~=:8g\Ԋw卋"pmcW&:uYei82 Db]z?{zUa;V*%;Œ"K#^*nAraI^,D [ Ƶt1uq(U UaFqؽe]֮*¯8B$QEAt0PGҢEA3!V|נP*=B(B UEV=b\"PbqVWTɊ&d8w2t=6hNI ̡ʹZlSXvS}#UpnDv^ ՖSTvl97$4ԂX-7"AȪS7Ѧii;Q Jq#ULJn=2]q"va(UѤ$ke` SaU|W$ NttX6x["aM`VdzYdd6N,㓦`y3MT4+âҳ&2'wqHVh+\!MC A_iF-H[8b/lV27>=sq3GhU<$ZĎgDň ֪wۯ쇍8L=Z%Aԫ_{i[ <UZ&Msٺȓ|cO}wwt"@~r U#UdM+4Hc )2fQ10hTf 01f2(+Z`E :OzAH?|oF쉻!E|X\S?.ڽ,,s^rn2x*f7T1@QXl/oaǂ>(ʉqm$$@x?_yءUlϠ({#uref7`vf_/ʷ1CN7w'otϕ{ǵ~D40.ujT)*.Q:1(B((3&P4%/ JelTYqAűαoA딺_?Bu=E?z%O=O_MU hn"\B;R\̠J.(ÛHߐZHnjvI9X ^z$.s;?)KK.Y~ ,9IZQ'ٳ8PC Ts[&./gTΛR>7lj6T71|ꖺ._w5D1vɉ KK&'?!M晋 Z"s[ˑ#-C1ZXVE\ğӳ7acm>A8' ĕFi}Sa~O O]ܙg{rH2(jG & ..f-XeӒXVLP&2%Wm)" ]`ݢ0 N6J<xT4L2$-Kdaug\<ʨMc@Oe⏌JkIe LPf8{oֶ(߄?7WaO#4GmLM,7VT&h :ŀ -H*hpŁE[9C \IEeUu !yhoD'Z)^Oo,  +^vڲ1O:ֶn.&7.֫~"*V&Al\t N*Her)j%*% A&\1EI~)#r֫tUf983I.8.$Iy#skYQ!"cܥqh0d%j@njUi:^H}{$" Y4 Z G!Sd5B"dT}ɍq%fx#\ÕUAi\ 7m gѤwk֯;jhXR%!&/;#UOz- ϗK&iG"" TsCO4]ӟoZDW^mj5& TjeeKb,_yzdpb^ 0ch84FȔK Lx AH[c&ܻb+H/2a&OPG[Ffca:5_,BB-o}72y75 Կ?WaKSx{|/xZwh|Gظ&Ԩy?eDQ."0&%]7H 57NxOSN=2lG;$ xD<`&68``|"HJ9k`vwL0W?~ivJR4QJ/ŹDO j6qFŦUp)ƠR}3+lA3]SꐑABsçnuJ3U= !1- }GR J*m+-R^ ʔ茅5fZTJEТGB) 3EWBC:^~W=I}:CO*NIY+Dd"r-Vz؃p1>_!4T31q ɄisjA"Ћ2qp+I'ï]$ĝ@7.X*9uȔ %Q&Nt%Y&*HdZhrو,A V/2*=1 >,\&I~k'AyXaezul8Dm$a]Ҳ]{^U$^›!~\F$Dm$J^J)/`ťK'^iX+ z& `_`DD(UE' U74U_]$lrIϟ,K%  e/b΢ h"(N QgxE^f=J^<,숗|b+i&6y}2$5YJաYos͸LoqZ+B0(O$Xΰ'rpe҅p{[M#3ML o $MO'bؘO-(]iwcv&i 4^t`DH'[K ٘YIB""`]Wj7.Y{(HlIQ[/Nϑ`XL D `J}K *R_厐iMo^f>-5LuEg @E')B oWئ2:_$Hu)"Z cJh+ɗPdzOLŅ +'vuWjf(cHd&yM52Ζt}O$*ib>Y ;6bM,BQ&JUEx>>f=J,pYPtG& 0+{G!5CX&hMtCB(KAب䰄Af|܇ZYLu&AoZڹ.x&PL`xXgEp3>Dv t)𨳈?*@\?ɘ@&@ᢦFl5M@\ xkY|((v̢FV#P*!.Alp]2 @e)dά11;ǮӁt'軧GFqf;* P<.d0͓ڕI`9ns@!˴#Ma@'vhZmŞZ"  3h[Nbzk`PhPFxX% P:#D MD,TÑL=3hh%V{0#"X/ lEYaCӱaAyȡt\[M,WK-]^OQ9-)lQp+"yssQ0K'WC5anrrLNǛ2 w턇z*OW4յr[]KMP5meͅuUܲKsDsDLPBf,6X\uL^HNҦJ53AV7YQ>驇8n_%B2!U(n`1yڱ/Ƣʝ s+LE~|+db!/ak6pXICC_e*1H'L+T$dG]8vVPаJT뷚.  'ë^ј2PH VqlcIR@% P.oQdXK-VGhm9k,7&=)}⮛ɶ(QPmtacAy$mujWtǫ՟Ѕ2 zX'/Qz=[a#rD2q%2Q]=:F,t%?fKRy*f)aX}IQ^z,WIeB*غ7_b񜚵-mVE#F.,{ߊFh(6|` "3Kۤ4J)nV NRj#rOV,):feqIDL\tX[J@)nP+N!\͋et`ɭM8_UlzWzv=xjTz?ض6 >,p$(}SZvYX×ALt .plA[iTMdţGĂ(mi$Q$U W m}]+pz doH"4ř")Lvt$DŽ$6ȟ! r0pmiTfވMV26:68$ucA; @ o~^ے>GaUn*dQ4mzpo:j(fǣt^hm,zRK\(ixX#Cb܌A|Heow 9<=Tw_{/T}ԏZ$؛^jԔYRZm&mL0VNe~CGLq~g@/(5!jdiY8)-Oq#t|ª n(2؂^Hd> >a+p+߉,GOwဖuw  ߆ZdTcrQaRfâ1/e"1**MouN"x;$VqvS Iuh!.ΝBm &4[5~qe3@*Ѥ 6Ds$\lаsUxbd,2YTd!iL!? {8] 5itPQH:ApHtj[=+dTHué!>|׶%?N FBG;/Y$5{;IJ֬a1ŀ D*_f飴$oU]R`vw7̓ӋP5%k*$X4EyYzaEC!# kIxj`<(gBe_kEH-GY='9tHB- k{1l\w+\Uّwb%C.̌<*>G4tK*ּلfo2SiRG3̌Ei WHLٙPOڶ|~[BqNb0,[XEXfUL$)(}20+R۔f%:(ֹKUFs! (D}4"Q.Ӻ5bZ~V*MgӗY,,vRςNnOM2SF!Dڝ T!+$ޭƮe#ckGB #2f\d.jH7REl Z'45tr[1GȴKp#!'ų+: (d!3"nȧoi 06[۠ԐF'xQyG"iGGI]8E^'E 0~3F9M ,e,[X <ऌ wʹ+f*npD{)+~MJX g5׺ITE# T|n@֕Є.UWcq~Kf, HygSze )T΁rJbm[b|5EljkӆůЏQ$K,ԩʺގ)r2-'Rf$e$HPEc:",+2Ke5kB LKaU/e~ZA u[9 FoX&$̪@E@6aɡi ޣz/Z`ʐԑ.McҜ?|F$(GYfiqB{s2`R/=|%@v1^E[X0i>TTW&v 4*v9rStLMX ͚D{>~7$SCDx!w-colB8{lIX9_=_X5%'*3Z*JbY@Yl"j"bt ?-Ʊ`J >bj 4v#Z B .onY)fIŭ= $= mrBYV*\ȜВ'RΧV lR&Z +F+9.5K\* #O[_t`N(+ *sAXzpKDx~|f^*tl+]OZ\It}2p|ԧ*}m v62q76-D cWB&N3$lv<6\Z-& r*;^A+BH2p|\[W}`v9A(לYÇj1{ '939d椃ȻQ8{6d9R@2ti;Y\'PJP^JI2S^vRi]KTҍЎѴ1BL1HYa*M yϷȓsCTEaԛ"D!az)Zpo^\ͤ(gtE;{yS3vڿt*2d$ $9;-P孯|?$_b44rSsY9A-Gw."aW0nx~ @h4%*bɣęc|-Re_21I nFܚ1RX#dr\ZF`E(*IH);%$)1S)pfcƁ=vvM݉ڿj|?߫N~X.ze4=lHw; $F^iz^7,/:|zj)RQ@] k%*&YCW+1iUy@zQ"TVh#;gGxZ)q^)).':qATI-ɈėNeRv`鴬z]^$R ތXJ~\2N0cy64*-A(h=ec_Sad_*[\Ld(0#F_W˩+=Uy1g D Hrj !3jZNxrz7(EfA#{"* |Ea8RUX#F+D.Eevk󾤒cGIcҴkKn(*d-yVU R>e*(-C>G !*%/\|}8mYNarw^SȲRf6F.ɖ< !8ݲz\  3hkTiB\]B ΃$|Q)u]|6YT(#㽕) ЅPTJ Y]^žqK.Ua"QV0ODnˎG!qѨ!ⓡ!Zdq<ǡX'#Iio! _]Caj@"r&~ω /9: UVM*;޽bz5r"Qd(Ib QpVI8-5^ E`v t|GI-e9+- =].Ì$άx]-%VE3U*a:xXz VĔQW88BQhJȚ VpO|Zd:m;7DY<H?h+ 'Sb#ZEa0?P*\p͢,R:KeCdZ Q-g!bJTCA B`ThC3|6R^|͊BTyRt+HIX6"y&*ޡtzzٟG8< UUwҞjI=m\T&ʗ`%`FPL;:5_,4BYV0q\ԓuHf2ROӖ"h^Vw]=LB?ܮ0E dԧeP)tٞ G|V>w^Fal< ~syR?}j.BO A$&VƮY#s(haXsJFDⒺLOBpq'0! cXj6N#%H /zk4F7T,K8uřc VHf>m$ȫ 7`DkT)kΣǗύ,45M8K1U `g:e ҳQD}-Tldq맳eO U1o0WyAHS%k᝽7iu̒f 0N9A(nuY+ _Ť2Z9:/|Zgnϣ>AIQdh43-"=d߬lܥjaZΆ!6Mzm bͮ;>oYpK6Lq/!Ak !yReE(1yS WrZ1.& :.nTdOR p@ۭ% Ag8HXA15l%Ddf -Jb0Mnpm,isObՂ3"+6M<1R9'#aاM/O\ԡ Dtҗ@Nîq_f 0Z*R{d `C ֥ 'o:?fpV~e@hg,m .~ pQ  ٍq+_8!H N&uOp~d0U^%قH<")AWgUjn9qѶ8,+R]F~yPєMg~ umC2Tulkgy*,'n;` AF-1 ۽_K`\2DTac N2jORĨ=p& 9,_(s (u嫠T xzoKl-ӱqZ%)VC^t&Hml&2q^]̅*MY!= ɐI?3B*hhTl pt] %7!\f %1ۓfѕTc2C B¸7qK֣YOu٭:FFnٌ~)L9_n&"p9 xeMqY+xSIǹƚGEX\Jv1RW5i H7t_dIb,;4-M٭oO^п18CD-` Җ*$7sZuɫ#ADj| qݶZ"ÍUއ&:[^-{EB%+RBA+zw@lj \+Dib2? $fT9NL\&KGG֬N'%)%!!y%EK i=%..)qԜ-2Ŗ35k V &aQ!a%DN-oy)i u R/R,[G'ʛii+ ºE.KOw5tz=ڷ[*@GP Z;?/iyx?@ uЮ @R& D3;>&u\d A9 ꮆXIgcT(=(HfsMAYqIo 2$fd?)_l;_ڄ j?s";߸ 0]:7Նl/sܩKU  "gZZjI0Q!*ALI$/XiU˓NC%  (̒.۶Kei5H$2ܘP$09+f1$Dn.!SS"$Yë!oCl.Ux_`v́NVl#t>GP|^*kvX(7Tnno w̵_wn[-'Dm p[/9%v(W:'{gzNOa ˼sCꖯLڨzDc_D;(b7ss(v/81kNDX* JLr$ji^Y4:lg c! &FCy2J' J AS'AJ`d) BjyEEɦ(ʭ{fMآ35lbI @+0-fZ\\Izoin&/DߣjƨWzDH?2X7ûc_s ^ [4ҾyJ YBU-J' jj,|ܦr+(nLi5ZPU.%@d3Ng`kvjxC^<"UiG%3m0<Q& ơ,S2#^y<ge7,5C^t3WR1xZb+%]]gFon 3ݡʀT% VtJ("U BIRB~ŅPȋb4wUYWK5ٜ+F(]#Ѕ<X/.s11:1VqXKA #J'yo pok#ElrR~ڙj/fE8N-;7{}ZB}=DJ~/n-˄L:ȓ/1jh4:өJj R%lxNP :Y襁[8/P6ȱsAIA\E!-d4mSG&LԦѭc@Gmg!7@Ѕ%9B!dFn$`+\^]u. y8@LRuC m _6Ymt S+UHcs3'dY[Q݊+n3W0"ovUec$m@E!fY~Qq'$ B1Rh8_EzP*0Q_,1}3ĭ 2%tW;6f9*rM"/ݯyDKImyǫ_d^]'M!:m`oU$&jm&43f dXQ:B9Vfj = BraQH> \_zGVt; tCpLp:_uS8-6U*w?p"B`J"$ijc቞K1_ƔZA7+pcD.5uHQd\J ;mTXQIWH!SY#4JBϿ YnHCLAH3^HaRei`޴]c:薧ZZdZ8EX2 SăoEF5 dK,zyT0_G8ɡ cptlч!]3w>/9?gԙ^l.b#TRT4 s aB4٪l3IW5R$˝$EvɈĘJ w Lb %0Ȣ?|6PM/kiȊ o &Di>4*XIH̿@jO!nhGgґ"TRPn\KKEA88`ü|.wh\^%&[#}$}.ė (O!g^CuϦ2ۺ&1R#~k˫xyQHC'?Rq@ sz͖W(8Đ"cWa][-cp#:;D5i^5 PƎYZ-/.+aPD!>L݃DOOl)&Adѧ.3:Z$8QGGۋ{"2?XwY hJO3NדP# &aT45]İKi*gӸMyGvg*f ec#\9>oJZbQ6) 9:@r}2^/_b._s.%wݔ* HO#A#GJq;CV9PH=RVUR LWT/ T^s2xHeEI%;\=4&7̈~dvO ַcR(53x^ζnٗo Eɰ6&Jh!wsWTPv2'/>hLΦn>a;aFJ|nݜTh 7N YF o͐eQ ݟ"KKMHȥ9)Q{R L4}I&*K섞 `DhU(: DQ4(d0"924OæY]Uԥʂ%q-Ψ3;iI2 |w>'@\v@+| "uAiCaJaXҸ2k<8mM{E|(bREFdЙ۶8MM)?y5KXhbL.h蘚 [7à+>-JHԞYԎMܓ->i6$P7hʍxѬ$cfʴ< {5*- v+9+ļ?tVkBDU hPᗌ1M^)?!@U"TΗeJ5fݴd >bWߍ+C[Z0\ O;C"+nf*  |)@̖4 NC²)ð"2ue(a^hSO RA'?R%~7K8 \n6yBA?'ZEZwt{\%qLl&nImhΰh8ZXY~x.&ϕ^Uף3|[w2*ԢN#aϣ-Oi@8xYڭ3h+(Xx9Iȥ?`|&mIgƿ/δqdQ1aeWY$UacG10G% $'AnKoHJ휀FXPuĵ!_HH"WJ8_J, .nsd:ͺ9:lb:.rf8c$CZq/Jf8M [ :隙ڄEo:yr>7" +*xaHHK(D1A?a(Ə Z)L*0l2$ɌE/.>GG!M1i&s3 DSxjO\'ɢ`rHA+##Q fD "RYhВ%*mVxE5;vnV:pN%ޕK{v+=VMʁwBHǒ"ߖ Ne[+k/ ~pi2JEEܥ94V}&-״{p \>2)eRر"~R\ N 39 ArOkIؘ Ǫy\ja`ȕZ%E ZڱbUdB#![0 ĉ1flJ׍HM-0v%3$JFgcLIZ4M]5l̝:E)vh lKڿIS-1`%ٴ=FD{3ٛ2XgK..q_C}A)IY""eNc\4>!kA h)"Ho?9 /qSX`?v^_EXǣy]gqtE)Aė2 gq4:kiFK(՟ƛ5&M۾;!2G7+ ],r.&Y$Xq"-\OFn3(ڛ Ć1px"L)F`vbdJ[t8vM;7 KĄB3dҶgti9ysKn6EF:ƝVm+K_1j-!х=:dDz} y z9x[8:m$=~_&!wzc^>nk=f0n7jK)Hs Ea/++PA"kK ު*78MWwn2Hw1IJ9"צ(D 27I*gThF$>C!?lBx`|ifYh./(+ a:xU)$DѿmMvU"#6q#4$ ԗqRJE4g܂uNm[!GЛ\;OC<Y\^˯TV=nz-tE;:uT;7.'H R帉.NT9K:  \a">u6U>+ub>ygI7>sKZ$")D+ Gm3:1lec`Z@`h5|O ;Y ; d~ u1q++Ql,E>E! R)9ۑ! \[gsvp)wۄ}OB @zq(*39u I #fd~gF6fT!'~"w Kݛ/6*JjZ v>(= Nhqp3(SMgTI+=N̪,Wpו^LeoI\{݋c-8aEI}{HTo!̈3e [ LER@HRt |q;v;:Pnp^2<ː|1;*, Gf/8F8$&Xw\ H>]>#~ݒYCJT3ʈi*G`uw.و V̀ؿR Oh(| Kf)ݚ|w9`O|k9(Q+hC(1l87p둹ՆdP¶ ڬF.BW.z1"҇ea- C 67%D$>B^8&waDPQ C !K=xx8N9Ä< .Li.Fivj 5\`mҳR]Sd!q=ߩkƏ_Xfv|gj*Vإͪ!3^l[-j//cp]"BFH5C䩹39$0emA2T܁,؊#uU @Z3x);ɒTMN_"f:kT,@$ й<; T-B x;wd} mp\rs!+(zUɜtJ0#/\6.DR3+܇bCs'S GmF4 yla5vQ{g/&G8?0V/'.,C1rCZB (,6B;$bao+jCy<>J~_a` >Bo*+H0Mqi }6U|d? nF8~V͑]M35桊 \GSԫ;:1eFgs9:h6Qx,QTbADH1v4PuV2Ί>*T dY["CZrοLCJD"S&NgLir]M$R+׀0ĉ|jOzEeQ i͞>Xa$bs&nm΅3cP{ z kbwQ74`5#Jt}łL$l"zm<IȣPg61QFZss2bW~>]L' rg]#V򡁂u)^f?úhf|~kXcXK,yB]GY?V"Oξrϕ?C_# xpR;]>D-ݖ;/a!Az(&\X6?gm6;۲2 TTKd9C2{_)AuEĐEaNqK<,43R\s(v1U-޼`n!$2VS?W,6\h:D`N,)&`Lȇ=K\Gmwl$OONRh1wk1CET(m;uޅANK:-Ha`X8{+eEmiZLok72 yW QU/JV&q D2Wt}v A2Qe{Pxګ3 TD&EQ}osU$BTx>'_ȡp-2E`N$2T)akp w^X#`h+~IWJ L}X?AIu)`fA'+Iȅr.Gs}.DttU!L-K_Ɗc1kZs׭NU1){V5$XϿ=tf,ncېEKI?K7TK*/m~OܪJQȚ;$d 綡27s'(%qdDŎ<P*-yHh; ϽZm#MŇ%V e)pT;NHoٰۗ>"OB5d"DsoQ~Y!(ܴ JnM.aO(FmP KЕ飂Gr,sSU@8tV;OK(~޳SĵԂ> Nٿ%חT E;Qö Zp#(^gD/HٚEej?оSg6AKП yv ݱ=3kfMQh##>Ʉ0h;N .[?Ƙ-eiE85YMGE3EoAP98AjL?GmvL3n K\+w~qEKJ\Hi%ۏ JC_`o _:K ֚kVH*Io:nԱSCk0u3"f/vb+輹mf9٨u*UԔJK%-I"ӎiGy~/,arhV6Z.36 J J "iJL/'eKe$BT-uU 0*G*%h#-j45LPЀt,HvxZ^`|!|ӽ=K*†"IRqQ[ߝm΄[ty3Wr:̏9!s X%;º֡D?CXu ݢz[iHoQ^=W=Lzs) za6F9`c- UIđkA#-ĆeOTPD ]-$d- nx~ V%l¢͈Vq(ѐV U,|d&xB2GɊًtڳ-Bc`9yGP.ZϚ\BB"fu߈y`v>`j3 Պ[ڇbD\qTt >zUg|y7ݾO% 3x:C}XhgY޶?0X̿nuy2b.UgdZ^qCSԎԹm 2\~BKyZR*ʉ3OWݜ~r{eOˤ,Hܒːڻ"?(<7^pzJZf൰儘l 2, xLd#9v]:xH(u_)RzWoJ_ ]D仑2Ěo_'Ġ&[_b@a(Pi±)~{=SD;otB؆AD5X0  EQqAʝ\ #hvxRшf;#!r27OE&69olR$7&@wzl [HZ#>S黳X'3YҎ")R) $Ѝj@oLVR](F?_|5Kwį HMqKkĖ< @;`J Z!+2,3rxl4LBCA{Gl! 7Q4C/ޖ,wW. PAHU9Stˑg}çv>1=tU5ʗ]T[Smc=(aeMQ_0^lg@?--Q)>Y"OrjBΈ|f^H7,ov]wOWva /š"2.nWcQDF5K=q,㳌&HJR,[5i*$w>m`%4R+Ey}= 0jj<۸g[MC[EUoi51WYrkMaSjo b6j [H]lR|I Z &fƏ%#vIH zJj"^@+:q+DE5a,7"d) F)M3P>"~%L>v~JNe ]MWTpunY4E3 (7fqr1OtyPMaIRL랯(7F߯drH7pe櫏L{% Vo2Kbj,z H q M<]&< gb,IhIPI[j7 B) vBI!+]i ҫRUsHeN,Y=$޹sˢ;X.*Oڲ',Mw(ʊdI3fa YRTv:a4#^wpj KnbwTweV3<jvl?rge!@b @3/L'~ -Z*E/ r*$9Q,Z8Ts;op2iWt]Ȑ^vEGlMNj^U#=9UdjA^]b[5ٺn~,p%J$& '4 $8^c+-O6iSqH.W%r#{3LzYNLfI d[DF:847T[2!".@LCD?"EO"(f9/i"AR!pyE ^ *@?>cn&±:tړEZl 2C (vW]H4LtQµW*=(o.NDG+mͯޖ5Nt<(ScUqҦDh(/z% UVrnteAZF->mxUHVqfZպB]H9Z0JL̒l3͒il]*lyR('UT5*,"E 6EhD(N.Q Bي%%L+@el8M,˂QoopSjI6E"N: B񴾜$ItڞSBEBTY0dqJyQg~E]4LGf-5Áo, ~Aj[ytr:r"zwuu\ո.6+nD^"'Q[><5݅ELޘy 8XIϾBHM}~l*Ip@4+ɤ#EIWax 7dGE8+qiX r%\E]hbDtV-JܬO\ѝ\|4ޔٯ&vZ|6LSyBS`Eޏ=W sé\l=X)D]_wV J4E>(3nmW7UxvDRz&"E5YRbz!3qj# kń%M04݇2ե)c@J"Z-lW꯴ULBm] Tz4U˚CEk%-첺o*%BO\Ibń4òKgJ`ϭ\ RNPѷ ,uFH.t.Ӻt&E⌘Q@.MUᅗL\*4YKMye!2RYSHn+nHRkʯD;%:-*_,7FQ,4oB&i#Z_oW|PQyy]p~AԺq̂lAuS9nD wj-UVaEwwGǪe2 JX3eQ3JZ3F Z)=_e/n~WްHG*Ƅ)|>$*9rWҠ%)~ҳ7ꘉ>.k?n[%N= {?f$w/n$]BXHt6GiKj생_rB,z_lgߩˬmI6H*R]ʋEe:3*ČCm-.PL2I38񆍗8yg&-^$ȠȖYGHH]M QBABlɪi4)#M<꬙սw?LHe FY&l9<=29Z3qR$엽>A>TR}9e9"ۅyco`I.ϖ65Ÿ1ƌS77Irp݌\07Օ/ib%D#܊؞u}qu7DDȢž+JNٮ_x.ct'z*RH zHyZ)@V(KtP[6zA ࢧAq>^Q!4G/& B0n4(j(Us(( (2*Z(%4b(Bk/,j0Q!1 r^%b:a4*uF@q>&bY]c%e'evfxnVYF96 u^r~?'#Ҿ&c<1F# 'j! >@մR?oZ:7.vل"OBQJHR{JXʑH\HАQVHXY,"?RKDliyx`I"72g WQz_4z]*їnX(H@JJpb'P ; եv?13,%0R߱.դ>Ip9\kK* P@z`\Sʒ?4[_ ric@+) O%D ύ`\WJMUZa*Xթlb35d!Q[if#0UJ8Kr ́E~݃^ivJްAhѾɷMՏ7 (eFS0<.BV B ;  n @K? %_sHZiT$|yd;@DH^5!wǜBCbRnuu8ҢP#G Uu׼FĬMyIoDމR9@Ik#6KIA TۖR (2xS}hKJLRW='/VLKbw3]5$ZT90H1@~λUkBrԕNx #UuqCJUP!U^].,*1n$ 4qZJFG)xM>2+T *6} IzgHF̡o7 Ǘȩn$d^mW AX | x%16G aPf P@_` Ձ2B R$29jp 'c ۀ`!Z"\ēWHNT"Ԏ^ڿ<Ǝ.Vq.#0$V'&FLUjи^Vr)1 "#,ԗJŀ^+"AUzmn=>Y}z #d+]#\SDz}֨Dۨ$ے -mؘuQ=|GDFĢؼeVM"fCDh, Lr|kw G0/Gg F5A\k:l,q`GM6^![X`\gHN#URTqc=a J<3?lApk"acI*u bab0ɰ5,#$~Y2@K+R~ c;O7P쾶>!usġ>p޳k*[5кm4{O;҆(TFP޻PՌךKKoYVVez`^AU2Dk*RT›gbNswW|<~m(9eCr HS؂ɍ7 hhaE$]OQ]% }#$GI>)ހB^xA\nٱ=@X%W5 mWC,H|*(Ij '5"oLD*LBM{L{cRz(MQ,MUn_63r 2Fe)ki*Dk0)Nf蘦! lO8#hzCCYu96p7Ut.!Q[uOJSS\kl5k~HWE6|Z@VTWɰSn8fP%[o._"e5б.qoEoD|̒GztrO-MjmlMN]I͹B&AɛA-x BT24&VXZ%X<&hLZ,Jc¦VкiT. 4MUAKWR̾]zD4nDUrʍn0LEKc^$b%S+Ȼ@)'FD_N.Iсأ"߈L"hJZA *nx5,:kAt,%I[N}Mi)$S]AC,#0,jq!Hb#S5N5vH*Q(V b探DWfQ(Hlҷ%]0W/>u⅃ t/ MjQy<\^| ^o(f|!yIrQ8-kJuŨ[Z Y&~0r>۱ML*6Av\M9fێgkQw2i)v螨P*KMD2"cSbp%<^1LgDkU[kVG {7I;ީ.Pb|o8GB_tdN2zԋ‡W0qu/qd\^H$T/&~1S AQA-TLNk1&^} RZ'τ~$I@ٌ6 3*drGM~G>0ާ%IH~Q&T&ERiۄtI[dTo^ #Ϝ&=U%U"yx…%t* "gּDC/rww2nO]BΙ3AmY R%QԱ&%Ea*Lq'RD>#7&y)͗ H;d*!uOiR{?XbR`M'l0ÍY`1\Sęd T{$H^oegeCp6-\z~8pX:~?[ x@>ltڷ[hh>+$CFjL@( jNP"s=i?p2IqV/Υk,:gR|+ɨĚ, T̈IKVTeD؆.78Ho+Lz;^x{5,nm,:/5f]0])iɃ2mN<\Xı$g5Vn"Рb\@Μ?Ί3}Qv;3-2y,EDH뺻JJJ%3?@`&2l0|TLD9/B[&qs)z…X 6(A - %ANJJ>lRݶJ~g1:ZrF|Zfgj|"loA  $A-Œ'"~F9l*ɗL32VR(Dؖ~T- Øs5k.)QM>[]WJ<2k;"|m6ò !1X|&iԩ_=HzMsj&eIzk<ZXl{W]#vʩj򥨶s\ޱV7$a02PH*K·!dnyQG>d]@0^4 K& p5c~)v_'-*j6gܐXWMP>9YwпCbi%9 Nս`gCAGyljVʝmIuf a*Ƈvܸ0էቛpܔM4OX LGB+aF#š\!R~|R߸O [_³vmF!Ö{uҞ>qMiCA0+Q :+ 4b兽0AnyM@j6*ЗK&1V*'i$e5.DzGn?7r3)D0 ]^ mA_hv!om! }ge4)%ak(o U-lMJQZՈ5Q%z!~L%uJNIކv(PJ} 2 5h/S'}"Ĩy`?*tq,fH4Ca?$Ԭx;Meq-첢)0\`ACA<} !BF[TD/oU5{EXI"OA =2AO!Ƙly69iZyyF h,1p2Wꆫ+*J8i'׼ F4֤tS˥"{ E;nCF}{0o5FQ 4?Ue1_MU1e3hJtUpǧ]iňm 4";}uu l_X d"(1v xG%˳]xvV[qK+X-rԣ'.)<|z\ ,YLck ӍERِMaA(H_!'DD̿)+f#DT[t G(T.Cl`{9i_`h#v\GSw%-BĜq. ?"')m,kQ)c,J^aY*_Sf @S (YeoG!I!{ԎqhσQ+)bA“DF~^j:sqes]g|q+o-C|m8X %&\Eab)Ǟ)$ZRK)FV,9)ܪI*Ja< $89}yތspI۩HA=\5n3JiaY_$4ISҎ499=)oyARzE/K$A[)2Сt娱R LO2K2B0-OғU!b = Ek 1jM:Icxoq *,ؾClA0f YV-w7bN;ij aXJ -b<~:O>Z+Zv0Y' V*( >Ob/JrAcj5[:bD鮃Q^9zMBcy !FXIiQi,\{"I"|:bc5F:qJa([X` 6Ђ7up5 BhN^iӡ< DoD@aFɮ-Sj]R;(zZ #\qʏhyUI1̧ݳL_}vml6R¹ =sײfp8GyMiʆ75#?52\^ʿ oi{M:E7Vmf,/dJwjuCA"/ii'T]&2TȓQSէDhڟK6L|.QR a('e ,hU«lڃDZ;=g@@$lV,LCZ4 D.ѸZ-b` GVJCB'"P lh^sh1-wMJ!1B&HPvDϡR3<`]jx"rT/7G|m8h]ҦkfzO,9BƐoX11Jy'.+•CL?.Mu&74O2%+59r'71ͦ sL_|6fP qcV Fh,@N[ QkWk[Z*>YaQ7/"oRAgsidRIIk#LVEMrŠ$L".04_Ibt֎@=:6Ii?dtL-"1 3cM?b0|aD2vZȿ"XA1am:RlC|恌<:I#(no^z(%!$ijܑLѢQ|$F(zv.~=٤ol^GzQcNvt[5HL;g,߼4s 9EVEZZ0MK4Y:neE|Q)lFt,d4Ml^+Kх; UXeJ"l t<<`@.S1dl3h?_(}+:<@DBVCq9E ;/&O"$0j~ϗ=E2Iѧ .(, 'lŰ2h ]nP@| ns]!6`hŢ$4tzU"b lGL 1#Y{0;¢Cd}R{lzfIM,rî-˅EDFLX c #̖TmA XEʒRh7 Tm)eugA7 ?& JbV_xkoH"{p갢A'Ks>@ e֚Ƚ>dGR&A#d} !JKᢨtKRvPa4"hA"BrIApxwPNI6Pʝ%&н v'Gr%)pZ8oԐs3Pap:jŌU.iRnbJmӋ'i̲m]/3ߙ0(;??<-hlQJ`}sɘ(][p(#5ErbFKHGU:cjO!Z¶){Yò hB2L!fvK)gd]Ee wpFbnT hDr(>%;% Hݕj .qX(Wrbpek,<2xEy¹AWUjN3b `"F!-JuW5! B2^+ Gi4 &Q:Ό/F}뾠0O ?-I,Нp=dRrPY`' jc zti|qF嬪H!$zz4v^;D@s% N)b!B<]n:{b)D ¡f %D]56)y&hvS'zAM6 ^.\<)M 't6R5RTUG}8L)!?-4,ҧZhArWQͅK#3oh2GZ)&+Ic5*V2f3gGcEI,̦Ҧ U9X2 P*4lYa^-3>hTSZe=Ec%ںqzI\p}fM&ڕ Ki:Rպ oFbIuV%:@ʼndG_)ɉ#?5Tys'd_6HK98$&6j|].M&Ea1$ EXm+G\|lYtiM'dcuVבs >t19f^7l[#:5gm,#@\ P|v(H{9QQ 8j[Y]u; 4'yݪ3-]7}y8xdI><'k:1K~!ſ, ^Yq"-EI&t9ϹkHUs _YP2"(g8MQ:B<Ɋ^bA-Kä^XY.-*8qWI|,EIMY]+oJ'R#՜Hd!KYmle^ 0~,"-Q<1 馥g\URlSi4\qms\Йcg޵CpL2ێqf]%R0/,$q `#څ2e{խr}آSںE/+oP_ ɨěN  *02u[EA{\!t4B$fQOɪXӎ8F2VD/bVȦ/M y9eH4%i~Fd[7ôo(@lN'M(lLt0B)4iE:]sL!4 >b X DRŝk XX"p؁v=2TYqŎ"TV$ub>6Z?iY1-Ljp EQ S)+OLX\++1}BHWA%*YW:5kzi"GMA zwgϽ|kmkMi%Vn3𛙿P\6sa&aQ|HL *YjDKm bb v LԊaTH(Mft侖 (}kXˬb'ksoW׆I8LC~A1}ʢX[wX6:\ .! 6ID$ET/jWU쯕. "{t,|1PؑZV l%ZhG=M&QmThs;2zM(rʳ 3On9#Mѷ6\cMKF!`[ؐ+7}*Zs˰ ? G"T-|6,+$&fwBA/fdtMPw |ٙ(Z@?5( "A otDZVA购17kX09F3ISbGl FjHA(̘j#v"FfTh*Vn*#x`f|H"|\?8?>l'/ Ȓy:}Ԣ8rcK[ε^AœmJ *HC Cc̮;kpG(<\JҦ^YYu֫{q@!UUL|;3Ҁ[،[uK+{[vc݇{Ƨ7j ¡ VEcx]=:͛fY`@%ؓ]re.'jTҐR.e+]] C@]o/%3:F;!# xSI]_5kWwۥe~~HrۋD8ﺳzkUkV;UlxsxS:<|=ufKTghnurXaj<\bVB'|wڏIFDՈ ]O@{&ɜ9Kͯe@J2Ū\M{H@>prF2gWxTu&ЫU}PmKyoJ1V>C,!̒LB_TЊoڹ̸U\++(П9L }k-mF1vmh’ OOz\N)$A%]r6B{z=6KKmgY @A#T=*vc"uQK.hԻ P U'"bSs[Q8%RVw+O $[VH7ZGaDtHg+>QC7&\n@l,ڴ| C!sgLBa +GnUXJ*Bz7VnJGKhS[[gw oM’<6G0b>ro9:Ug+jzA"/06|8KzlҼvQwB=)ww{z7#($$DA+\ȚQ䘽YMTY 6U"\oؕIB ڂD86ѹWBrEb0wA7,U:*B|sq9Vu$LwT2vkrcfY UHצ˽hmmղ^_ c \$>֐egly$WZ~ #\QfHս?ApOJpQ60fnлT*>aD/zM}'%l\B^ER _҇$uV"".\}11EEw)S#MFڀL}WSdBzu ZyE'—,W=*b3"D`J# <&qHA~M:Pq|(heA𴳕-Ii&EmF *-cjM9F,D{ d I:gDF* |xtc$KgFucDR r<]¨PǎVt-5Z1U|Zƈ.e/y/UZW[3'xZri5Т둸ieVC¤NH2 `XE 1y5zqe5M@mjZ}ҌU$Oy4:Xy:,nq&r)en䒴M%Tg/"H,?rM~em hb݅tϬ1T0D4Ϲ)b&h"UIniЀOږ 2N_Dn_mهN\vAM0]uW J/k7oP <` OGTj2HL9PʱQQ%_љ.yD̟OhM\[zPx S>=cF8l"6EOK j{WԢ$z[f-T7]X.{&7>MS˱j"RFj")?G9N? -NTļWfۓ,DƓՍ 2ivV$0SENޯ%fl"NEg@QMJ%iO)=#hpnV?Vm*1brYg^nu&S>!D>n*ʖl4x0C4F=:>eT"& &4@@G\ۗ Ba\Ñr;ܜK'T(LZΪhC*RF7DRb":(/jf]rD˝E ;qKP{sdu]j#j9o :Jt' n*t՞0KEmb*ƕ<)MBi7@{K|Bcr(«tt)񫄋QC㝯RLO.%_e VV+~%ЌB9%EMLq~nqVJJT ?^}%ԡQ OFo2˦9glb QM=ӊ9џDn _ ծLr3TWk6r:$lw$$`.x*ϳހS6f9py/ʟZ#IBE$3rKg76cѝ wt VyQ{Uh׾S)E!k "H ȴ젩)4zoѣҘs'S+p+ۦs7 CSgH ,T!pׅBJO"LJ_AUtD1Oi=K= n / N4;uOՍZNHfXꊅ2|P),#6~ &+htNLߠJe{_3e蔪>)ܠ a<עԕ7ţTez.U!DBPrp#iMK c1a$)Έx:$ ex/&hU<'$E/ iB{V 3e FRj/YI72O.GfѺʗ؉ϕn#9љahD{)t^T׫m?WWˢӧ?GrW w!` ddVu UCEQ%[Te& Y/x~*9$(B옾3c*^3t4ģrYKhT\F$=I|Zz,nzމDKˍ4XbaB){iVbP߄82=*j>3Q,j -%@Rx CB ͹Xf0'0-$JM HzlZ*3A47i,RhTξsH J UD#ȌD1?.9{%.!uU9.O~!كU_l ( cxnu(67Qz5NtSȌȗ鱝cѠ%;qN%o1O7HMLN70LzAk؏(:n` нR`VI%J Zǹ (c N޽!l% gc]Pnd'~vjb27fObщyOzALa^koN J=#j%z1SIkBVVf~nX169@7 Vo#٭ozYZp{Y;'ZWjSMHZ*~\#ʏڥ! "&AKY- 0Ɵ=q#6#ll> o@#OWQI UcELNhiD+35Ki\0kp/S[ /-;ugGAaV*R>75zJbڞXIva9ъ̉$VTr'"ֽ8gFr:K=Н7,J#Q(w@C[d4q [ƥ0$G~mu/ g:JYVʹ{w0|"qaeZ{"Ɍ)1N{,oZ^yoCx0A|XnEJ#F'HQ$|'gsP '?e'@4/5d="H3Xi|%WZn}):\`L&' WbyMWpʏ{g< #&"2k\)7e>ҙt*ByM,rSU_G'(F1G甃L* E;`jCIr%Xk]hd=:ԍiYJ惘iQ9R71oYG`%$PuimۡɄ)ڷxm鐨GqQOvOAП$Ѵj9Y5Ev[mmOY5<j/-*;ɖ|D9 wbnUC$azƆ5):ͤ}K$a+q9Ti0x\c>H.zV(KA2\u۳GRj*c/ߙ lȍ {r5bWKFoY ^&::*0O,]^E 慭B_2'י@yp8 e,N+鲄~~~HuXm1UX6<*ݯ}qQaZ VЍᵬK>% tgU#W8K4`5-K$ [J3c$Z=u 3STAg;o#uAyAҷPŤ~ryNR]2ZnW#?Q{1t_+g&d#Sp3ɬafɳIKZڤ.$K ețHMD%7A,!0.ƨEy9J(N-Vz±޲#Y k#YqNK{!ipK! za2-"&t:z6ԃ(XF?BM嵧0C bΧ2i^&̲Cbapf[_SXEhYM$gCI*fJı-1v q5Vy5a]Tԏ(Yy6/p1 1;9[Z,;8Wh1iqrdg_\ Z(+s3ˬH֗PL$qofm.=k{lw n "FJ#(nem[?+)6cc!5N,t=jl%#ZB_e8W'NeVnfA]+|X')u@G5myب;egZH{\f %zbj|Nla ^\,ՙ֐A)'˾C <`.DfK$IUvU(nv'}l6,2n׊% 8=9YPE K#`0a!/" Z]݁Ђa !r# skMpC5I-Md 9)O_i.JGP2 AA]uc9 G"z4!@$g!UxqG^GQCy`56Tَ$-3\P2w%g!:,ˉwS7~FS;>E|%]'('$#SMruav|=_KGb)Df1VEr/u4 ]*[".pCWL!e1 PK2^sx>V-$㩴d[ Bor;HAk2®ZbAEDҘirsQ}mۗ\"^ౘSRud\BРV _m ȽdF"`Af66Ԟk5e*Ҟ! ֫)OZhj1Ė/G{ه_o`;\QY}'TAD^#.nT--nt\GIlW~؄oXUKlM1\ O؀:[Cߤ&L vkyL*SB ]Iʽ#r, dGvZT }J-k`l;rbEv= 0ͽY}gp-T6$@Y/HlXG*Ccf̋CN!wdW*:N'C9wEpqr{.Da-V-u:Ӂ-Xd- eǡ{"ER e]g i_A^=]47r}ߑNYy@ |TELi#?Dy:Tv߸BOO gɨĜDNNؐX38uf2 EQUl]}{ ,6.ćrv>c4G:N0b8F }6&'Fp s)VА@.{%bLZ Gdg- 2\0x(.h/OB44zj3gomɰDI>1'ڇs(@U;< ڝlzZ~NW-0H.u+kcŞh9O 1'aUP7t9܋vyqi@}9YǕ9$>Z7e 0 mp3~EiQ˴J1ʴN#qg7qT$"PV6tkG\f+X$ƕi s[dʱ2#\ܐ\ĩ.a&0~tl!'EuBFFDUIW$]v:)L)/bi)TP8/%tk;4Q q7.itMR)0bhB0?f "2-gؓ E G!LP@rVUfH E0܅ɷjt4ce( #O#)~xbO-&'p dPL;'IGc0ak0aH1+442*QĕFݮe==B/Ɂ)n+`60( `*̺lg6,WuLw$1Aؗ>yiUZ"z8g$} lj=D ME {Ri 3Zxo~ޯ1\KM3\vl}rv+N*Ndq<<%rA߈ºQIJ]BzQ &KLTu'єͬ YLM;M*we)Rf$5`sq\5/f#x$koeǛ#m}["%h:^eۇkEd#AL怢S|t[ ^QR2*B PgDKݺRa%ɩY1C"UIm^Όez-s:90#=#noiu&mY4x^DU#BUt2FR hHx_(l[*p3 YDtE:c [XOM~CH`,9'X ,Hl,H`$g($0s6pK uñfyPZ͈YAӂ\_cA1ŸxJ P&0c$-*K&|5C iyH g)PJ fgYl8fI){D=cLߘK1:V(,&%d2^zG cҔI)m9״ f8J(#* Zѱ\LL Jz|7' 6ԋOXKzIkt5D.L kSn Xr5M5OҶ|4:_ _ڟbL(j#>O.5)u8 ]n^UP}IPKJ}B) -G$S7%$jLMr4 Isdׂ(i"oy3Iи%<SsH/$WВo:>0bCpPYpQbjZPM7^~5*Ql5,֊ 㴴$CM;=Ɔ $$Ĕ<5I,|0-4`@vQX$M-~QLriD8/Дgl _ ]٢N5JTIj rTy(~4E*XbA0 QnZ{$% A`=W>P娒T&N$,5pOQ*<`=]c7%hJm yۉR%uͭK=  4XNj $J䋈NFFȂIJ\[ZwE115!geCY# ܵ Y'vMlb~I_9*Mo~[@LBA #>gti6R$,d]E9'_;l+k{cM_ṑiӞc{ۨhܜd(Q+&Ŕ"9sf5?[TLe?!f7Q)UU-nc ~Dg2ݴFTW5Pc&D{*йpեGO 8@NۆN2/Bˊ*\];Ň$i1 .:4M_i>&>lk.8T2Iw,Y9ygf2.T)(?[ *dڭAB/%#$5Y2|HMXa% sYmm "ߔX][o&+h2ƗFֻcX`ʔ">S%9%ιH}=fqy-;yպ GM( z#ߕ+He7ip^ ǭV]gOւ@6Jv/YujOujS32J + gmcN|]sr&ڋU<Á9JOEVZUNs BRlT4 \kУK5!,/JX (DBǫyܓ:Dujh>;.QnĤ!Q䖤#3bmT!Kwmk[X<̟#aȽ)rm dm?)O\w*Qˢ߲APQ?F#YFlH6ou1_JYR%L`=Z7|I2Ԍ ۽,0v"Y'ԐLۿJ:dAakpOLʒxФ[Ew@&DB+fWWQ@5hP+Դ QQd\ .,œ&$'S\!V1)W6TEE(( FxZ[dZ; 4:u_"\' jVO(>4zlQ,ia#WqэTPޠKLIHأd3}BVN]x6_$ TQ!_!e3O09Fdu \&{ł-aeH0%J6Q3VZEs" ^J!) )^:Qe31IGkl],L!]7٣xE"1*l-_Ppdǚj8dG>E l'Eq=tbY鏓X~NKzmd Lz,oQJ/EDlQ]ѴT@͒ `yu`i13±;YzE)Z "Kvzw!XS ]uM-u'Ǒח{u<:$漺H"1EDA=zp;2w+cqH*S_fŋD#?bOr8J"{1RX-g3H餑&ld15Q:i>++9CfZ[i >n[>>m 768|♇p.[h'_2URm4n3Ⱦx*{|e(m( BPOEvrА[DoMuG3T\:kK,6JCH)aDRJܣ2o#QiiFH%ե2=jXRkuk:H:s8ϳn;e_Lgf7s \Knp`| T࿱MnT8P,!3DrmS"θUmf]SP"LY'k2,"9) հ2+t/e4y=÷ʚ||i 2REtGV]L9I&[)=`DI0N~ W'l$5d>Ppm 6?"PaO$ 4!4DϪP $dmq>u}qU\BPfUWMQl7~(}n|GT%z 1:hd@dӮa)$"JD[TV/' 7a%cN]bs8WIvoCJj" M.*A?@hE&j)9eEhYl/GC%|We p"Cs,rPL[K`ΐ<#B$t(Uř"n oDTl,'1Ǽ2ZIṊ lSIz]JЉf}!iIg>aqC e.SՑb'Q9eF/ec/ ġT}1'Ԥz0"ZU'^"+*|ԅqLCЗ-|BdvS[CWn1C!/I8e/rT:SQE];Ggӡ2l_B1*eЌd pBBJ*Kd r#% Ku|)c,FffmAmuW? zjwInQtgz|{^+ii,UABD|~VuV^XZVһ݅)CT CV?qȏC!z);*0} uXH+Jof&*2΄Jq I$25MB3[b3ZeIQ1I;Va-j&#˚Zs ۺsHr@U(Zz܅ZqWcS m52[%M[a֦#MwiDtZX1 S*ɫ}*2RF?Jkre;E;;()MlJl$W%kD[¥LLmDo";YTBr)n 鴭i %7Dfum!ahDZɑ4ɚ:ʻf]25gw1ӜwGvF2"6Źn WGsO+On r1Bk˲iElcwUnã2 RԜMR7ZSۏ`sţRLT>$jȋ_pG.r\BB%A .딗0t)uGr-Klc^e_-arlG֡:K ;_KC.aU^wR}u:n&\sL) ,992+%9BvPt:`I\`Lr6+zTUʇW=*72jU]L)foӢt[w:50A(:ldgBE2agrbME'B,CHޛUjDydGVO9a(g%ZrEz,c}`o~S-*>9FsMc.3? A Tj,W8=E&]irW֪:PVwKdRiWF̵RG*n3]BQ J}/&0BɎ]Ev^uMuΑsg,Q*JRiAXQ*fH]{!+ U4Gm3lөBIW,G~[.nJ`򰆣U噻NVOLw BuVĕD1(vΊQ'r5 ojf JɦJ&걓J"܍qD'q^M1FͤĺWw;q['UVH1QIh/!Q_(!̄NasA~Mwn1Kn1I 0^{;jnjTSKB'j *>VRD]uU6ajb:Td+"AJz Fao!)GŬFWj`=+@cs!d8{BeŞ ])U8YܠX+%b⌢F^GP,aArqE&#sJPtRBT)r v} *N2&pDŽ Pf& EQLpdV#6 -JЕc eh,gY!iVJ'J1qO \-ُ̡\4ZyE0&\zl~f @ G?p prI-YtH=(D8@IW0EghJ A)(@e!/“'HAoƘ d(PklQ,>+(q`x1H!c1rDz:EӨYzy\Ǵ$MǭAu$rm31$ G,i$ Ui?͡KiD`Ibئ_#l ݜɷ5R)C5$oh+*^R09@ ǧyR.B/XMaĄZH91JE0oX+p9FZ$P#ݎKdg0QvỈ̖ ] ^ .WĦ50G/@ cR90^2fch0| (]B? &\*7\\hPBbQ̈́(h*PA8i&_24\VĚaPHԴR*ܑ&YŨA}!YRMYLDЅ9k"=j'¬: sW#85xm㔥@[JR%v3z[PuhoGxG[Ս6, pcP(`NdB I%-%cF$ə3b2M"-b.il9ڏE,XXB!}DOU.O-.?6f pX3&K:؄"H#x97'(cAjp3oa普.#,)1i8#Fոn'¸ZU,]!.,㫗%,TSP$4xg@6AC;IcEDp=0S\NB1zk 3 HŧOݒ?w|3$FS1/,Np))@dbp X>/ `,$b&wC|kb'7ΰ3jAX.YpoD(qu` ۤ8E (iثn 9$#) $C}ۡC)@BĿHɂ"͝jmqז+<A#C}x%bTRkx@(i BTg 0$4 'D %<N{STD\$Ct1kfɨĞ c^.q"Cd IyqL)|4=F:\3 XZ>@J@E“$8ry0L*#UAU TÒ0@Cg+R d BA-( |b= pdv@C) 3']F1ׇ.h", Ge@Ӭ㳄A0Ì#0B5o B3fXQe] X`fSRW ФakOJw1>7;=r2Ѥ +rŽQN1$>蘶%Di  ƿfDL # ZxCJ\ƒZ&:ƇmC!5/jQӂ|i[’dLiB 1e"ȞIQ:PS!2YNS+1 Ft#URi. @Q,0L`.a0lĦ PuWT# 0x1Y949Un& B C1"s;B*¹7\S9 2 ҔwȃPӦ 0Pe &4Il28D  fHԎ):hlE5c(AZ LBݩ莋h=d#gTUZ:J_dE1ONa7ACy2 %hP?B.J9ʀA;b* 11gSD p@+BP̀9+Ng).'$!/e0#nf B{\T8Tm ԕ2Q5g'r.$Z  FxƪHib0d.?17*W8K Hr''W D|GP!n!q(8fڪ tf!*Mv-G  Ue7`B S:L1@aǑe/gmPH>b6dZ! H@ PXT#`dlzu'MT^8sqb꒔ԐD/BEQؽx+ Zr";R/!HEf XmDk#V9 ~ R b0VqBuz郐gJ¢\_]ZmH?O @3þҳn +BU`ҳ|Ǝ$YQ"Rv> ԨX~ՠ X CxJrei`=fi(XY]1ZJL@ `gv% "T$B 9,2ΑzO y HOʟH&5!Bӥp>D Q|6 z/:!_ ~!6F!\ opKI*F&5 i^&䉦N"R,df%8AҥBZHY! 0EY$l B XcZ^A9B\$aE5ЙBi*daD#Bo,K(1I-hȦ! -&T4K ?0$ӆa ;RB PF  dFSDΌdzH"z{_rJ.%&!MN]$D[4p kph'hqJ=qKIV]qBPȶ ޣZ>MtA0f`[u?F8B` +Ęh8(󃋊QG"SJD`Et$Vb# $hAl YtcûDbr"W-?UD0A :lG،Qi) "f!#9Dd ,䊱<-ec9Grb`cujFru -S *BR b+,dbTL @C1(?`8bE^~J1Θ8!r`I\RЊ $[# ߖ`qv!SUBB Z()w<"~N8P HNbX"r+sy!A^a+29T30&XH $Tf~7{Ei A#J̬&B^fd !8DZ6jJqpNKHUD0 Eb+㪄ZjEVQ#*  25`LAQ?J1 Ʌ+K"[h.( ^c9LRV(6 >,E}-߼?NÜhʢd2Hvͱ+.wBpƢJZlb4cYI&R#N*W\Q2$fh$LF/ qa8xj8̂"! 6Bq2Ic@3薤!2[܄"9q|9pTl ʩN's-_qp̲}\C3n1}]Hf@"T7*`YSV5x+0xS МE8RA9F \7 [/O+!U Ug8a \U0 .Dj{PdN CӞ;F И7WN2Ϥ H i@ `E~J@Qz7`;$BCX,BA5~vHCzޑ@^79hЮyNCE8c`RJ\(&)xJa4;OF(UOB{BlAXK$Fnm8=cJb)*9P#V۸u0Z`AXR͑1|U 8WqذEtYx\ [`j0X圞0CpMN"N#EM'3A Bj\qZXtP 1Ũ\^OyaÚŴ9^e TU h,rhpj70q y0b 1҆ yU>)K-&3,LrI]V9EH0XͰ%r޺Pq)yE)D*Nx$bך9CU4phq9ϡ \)<ҘMrexI+N[\r 0Qm)`%qLPXͥ)*语Ja!E)&@bxA 3d!%GUUz FS 儡|AK ( /=) bwRagFBXG) IT !%" O$Vd QD.شq fȘj$Wl/Jxu"CZA4A.n iNfph8%b\AD%Bqpc%`Bg)@#t+܁y PF)ڭ7Oc 1 pK(B0pOc~JGq!a-QNh#8ǡ'b$!#Pԍud'1,̓̇!I))e$5 pn~Bĭ /VR[Œ9'!rX ziυ(Ϊ_ \J75,߀m#$kNOҰJ۰' 4 SF]aBD y(E\%|t#bg@/HP{Jg@D4=hM*xW7GZM PƤ1Mщg{Z@B^^0IL,RS3?4 BL{ANO%./R%jpŬE{c"`E?`'xHtXvFmI&5j[Qu*`Th"b]kr51D!d—^X.{ e#AKTjStYABBT(i- 7RQ5GpcPaR#[$IAiZ!#>Gh >VE >=ݶe1O#EN`%ݠ!\1)Ԩ$cWDo=){b'" 8a:F^-M KG?֣D+\yQ)H2T'e\e4o 9KbI$("`!s iX,z )2x;j p`;i1h]&)dÒA״Y0=C#"s 3m1H{/=J=UB/%0g8$nǬt{ѱʹ X`2ki I(1T\JiX(r-.;(1wU%w^; !H( FwIJ1J6~نKŮ`,')})TBZG*ĎEw4AA :ZA:VO8H-GY+5. aAE֝-Q(e/+E|šARITuW>gQ,I1Rh"<`ҏ=/Av0 70R +M!J 0A(Pt.hsuƼ DРM(I"ds27+Bx*Q(H[3e%ԋ q'F聀B+) /}@ϳB]h( JT.I tItl̊Xyl_>V@8%lɨĠzX=u P_tE4{X 3Ĵf( 5wUbPG R1L;Lpj 90dۅb$b:f), Iي! ѐ'DpEa3e&*;Ge/)dR#e lʱ.u.]h"T7wo:q% X{X$tkk=<(=¬QTVRxacmE+q-0dQ،N@J Nf|ԂOsCARDAtN,\)QP@(O@ 뢧S 2 P!`0ܭY {uV&BLcD]aʤO BWTeĹ)SZWuoۄUXgh%FNȨ!)ZfvZh&I\r!_w%A؄0D! " ;ThdZPBhuQWgGPH 2# 0#*P*A+<25@A;MH+0PeTj^\FY;ڼp > 1kD\@fB\"5(Y{oگ7!VLIJMlT¥PVC%1\`Azn**N9 U%'׫)@ّPcD)KpnB37E$Sa/IP™ 2*!HɊF EJ(5g|J0(Hhs^\9(s@C 5$VCCKLF8CB%5)DM `19 Y"NಂKv+^_JfmapA3!PNɌ0i :p≎D:zM7#!=%q)Z1RAPa3 2bFkE1=j1QRAmA -3wCu.v'u$ Ȃe; Bo0Y<܁lJV^D9zyJ g L^q*%FE-\$2=t\r#9~E)ASqB NW8@\)iAI'(߾\' D;5}2'7(@H!;(,(g2` 3}{RtVdzA:j$M *M:ͧHY7k}9 U|UY[`+1-KcxdOAz$ T*M[p:6ȏ8%8o ڔ /)HN)4H%+JF5u[,Nq *;Obr9w5̀+tY9c  q)9'"WD.^JxuClv-\'C^@ U TxD؁#N9ۭ^H:h "g-%$Z|)f} 51KGջSBhҝ*/7a,lEh( ګ #Y HP" >d& $ C`)(u,B%O0;[p;h#Jժ}#YNg ]_OPB Ѐ']u v0/Gj!` 'aE+cJ̧Ǒ ljqv!A W$QC{wP< '/hǩxH|¤I@A>%D9b,!ũuJ( A\H1m!ˆF҈Qf@8Ë5FtC"qeT (X8؂PS^'4QGB%[!iM /Uoȁ* zJhrHOZ-D@BaF+}O!EY[ANZִHQoab0ThWU[lwP"(T YHh{g0a6羴!PF:o\ @b -ZByoPVN3q`}7pyWDE/?\pz3EY}fLf[׸.8Q`"@Gيǔ!d maF G3M10bv\%tVܖ!tgK{*WdpEZ)!j#G:ݑ(Ɉ4q0%4iY0({aX^9b,yG㌱J m2F?Hqyo&=@׵$J[dA|p( ZTu:R|@m8Ԝ ?¥;wq oͫD dPo`Muȧn{H9C@%qB{ lq\30چ-*~xpw o3JxkC TzI D,Y GH-\‹ 0h1aqq0 i5AӮӅJSXűZH $!E'ч^]ʙ F)$$ ŌJZp*\RW@[VĂ >pXb0"U=%%kg<F;~߹AbB3ARR RS˥ "m(M.2EK0{7䥽oզM-Vbe2O,jߚ΅:@GFReno*nuڃ1 9sPZh\A%v 0jI=v"jjj5 xU`HIg "b8DKгEJj_ 7C凋$((i"ǨE {B#v qf# X1T]e$8Z’0 d &]A%q裷58\_<2^8TOR9` M:Z$ C($Z:9D6~n#R XFY!G3HuEdS1¤sYݦ`HD u@cIXy--&MT(4:mC2-O4 IsǓOgd-Lp;Q~۷8֡ѸjZ2e$+as470<ƜέS-!EʺҡwXR9ҫQU Ixi浲6 ,O8Lni4rDZn @ͳ=%r!JV:hŊ1|i4a _oMj>bG9%+xS ֭(ǂj裍rZ &8(bdzq |h+Ŝi$|$f\PR $u ܵvcK9P(?`SXB"ރ^3wBQuz yH!Ӓ@lY 6 ä =I 1$qH@OcHxCIiBEKd!yq.@u[mqZâD(xR6 )1Kt|IưbI a%k璬_ihV8 YΣ,ҕ %*Bl2R%&!_\[UjuPoJYBthҝ"Wv (+ӽyRt.4s!(A/]!"+l!$ɎVSLWq \&ǂg0p~Y[.b; z'9,ș bz'ټM,L 0?h6}-E;/1̲ p6>A6"yђp7+<]N`R߾fqHw76!?! +_V;?cKڲqazozO! r+xܒmPws  OUL'v{ # K!FcngLȧ].XΌJ??DPT܊ލ2(7]ؙ%̈]UCi(; lik.kq:ODeދ[,*„H*&4\ ЫI;hN%%+<⹍giC7#x?/+O4]zM]enQIH|]nSy#;W>$$ 8dU6F$>Ȫ8'P@C ,cW/o_fb"j|[5-V`ȼZ38 if=G)BRM;,lӞ:Z>8u?c r2dat1ˁDT3:.U:1)@Q&+= (2?nS6 lPwpntb+b40^\P .ɓ=˱p&mxQ}p[I Ȅ`4)ٍ%ZXx†(14QkHI ׆ EMA5; /MվFUm#ت/7z܇k"k 455x#QX%ҸgܯW%)ԝ}E+tR{>(xΉ/K{[ 7C+=\FP`@,V VbE'\u4b% Z2Y$/ bm>'(ƘE};h+Qq]>Q$O,"{2ɗ=d4Xz{ ,N4-;9`-Zxy?W@*.D{Mz=POe xK4<n eDzJTf1R' J]z|2ДGU0bZ#;L("vLXLc:Te LFǬj+Pl@vAxnA@A,ľofaCؠXZG*_Q|էiu/fJ2Aq}Qnl5ONC)&J& ŔDoReY,-8<&(lueCDE *N4QW֕F٧ɡtN[ȳE.+Gި;#ٔ~\G PI1C}\Qk0f_UW@d؊od) 46U9zb-sUd 7DϞ;)_ "iL Xm (3e_5(#)& @¤Ci X,wD@1-&0^UrRa8)sK-YPݵ^iEvv΋&"BPyxneGBpd%:ytԯaF+0B'aGy`B` +R HXFB'""'`朥3_ 96F1AL0U2a- P4N$“i˴\+-L@vQ]-DJ/F|JL =uh&̵92 V-i!Ԥ+sڰjR5+Z%[5 U[h&6DPL,Vhn4fMgZEV4%m0[I(F`G x&8aoFd>|]LƗJX![Xmwxq+WVZ֓,zDTBǠUE#+u klB4|V[_ϯGTu"DNd~xxt4aPpZN̙##;wK$޸δNPʞ#$(2;vi%0N>0 k$%Ja@TRH:U>))K6!GlN=򐯙U8^zdT>uFspjyċJz, oԎWւMҷw X{ZTꞢ:K}rnvik %R&P - IZ~&DЈVZ2LXւkv9ȋCF XE%qaײ2.RCe59Mj-P@Һ"V/'Y}o1w-Ggp%tM&{5w Ec6J ܏ur2aAA1G:񡘴TGvVt9)]e0(ЅJ*ItXS*0P,P澰:UIJeτ(̒QgӅbF^\J}Uєk')s' VF.5JGj4^)x[\[h~!-";×DJ[O7_Ö[ԥeSp pFuH ଢyPJn'/rJl,I&snܭXKwCa0 #@2_|qX}uz fdެz̥&ԇYd]K N'MB0N81ni72chRi ;z];#᠀UI*lZJn- pXl鎮_h-FeCnK_ia9z> V3?z': +ZR2Dl.P啔WT?2[u/aCK{hˡv9 Ap^084=p 58$ #(*zc4wa[7\[R0Px0 R pZH 1޸ 8^ì(+2֣@-1K^VtI-o@ڲVPT'FeAVHRa}`ۣ%Mh ZvˣhEe$rhxά**rGcPht0dL۫.}sOi1%ܙ1[JMJ3.0T@9!/`0cF$0@Gx FX4ܶ(_>2C?'/Fydf% HJɦA¤뎟MH._Px*tM=Ll&FxLR#Qb'!{!tJYX^gaKmJWla7юff^} Ix{>h"yMpq->:+?P(\# ` `M% P଒/!l5pY0- q>3["~bYX)R)D:C1Xp&c@bmOD"I)uҲH{SAD׆ j ~U72#Y6;7%AE/|C[}eDJR9; V2Fl ,x1]0+BUb{Z^k.1EcZFz&T+kJnJr"nGb}i76r[}R'kxz// :##Kbu ]9!NqHHaxt2=x4(`p9 |n;IT/ Ep*VBR SQo&4n7|ϑJ&.D{slZtvAs!zL.Μn m9 GGaLaT43#n J2Ν˱ 9!MMmo#r5P$K  \,XV=q%F|L{9v8&j =k'jq;!=I(1xn8 "\ވmEAߑ-mOڗoHu;*j2A̛í-SUleU6 UtSzGEHn]cHov,C2f/!u&tS }R{RYq~U-8AjnLhY=UZmjIִsPg:S 3*^H(Pm`G6SL^T/W@kv|}[X>G$`ϸ.yBM?ݘF.$X#J)f!L} )+2O,ӛePi2pnC`Z 5Ԋ I%bp@cKfiQ dZC%ScNv)$ia2XӖVu BW24zjyrY&Kd[?Zg}T7*_rCAO{LՍ)'Cͱ6%Y!/,J 598ISHIƙ%n0e]hCͿCԢk""ʼR>-7y.|'9.Pnqck-CP9`&pJa«Rw N[uFt VD*t, 󼗰4ǵ赔.ʁ>=ى&%yP3X.)>Z|,{uNVjXrQ Kz7%B}\XQCxR 9\O%.l'ӧA;tE/dI(^v/Wsk刳E q9g(8?^.5Jֆ T|tt>d(8 QXG@S 0Q9c4o0JV. >vI)\`đeoМIc[ڒ;ᅎ-Xl ;ږ]Zb"{'״%At{W¶'}K"n>1L$lێ$v;ɬ)Y/*t]g*h9x[F1K9Y@"9j6+~V\fwȚ-(x2d=2:8r<1 l=P  KPfzX _JHk &R3,@RxGbI _a{ؤ(a ߉Ԅ8'[w F7b o n{% ȪS?pӅ= *2"q  D{K7rթ^/nɔBÚ0VQdQY&j#5B+~ Hs2FAK/l`i}1bU =$[ ~#x87pⓍYd{F*$+Cnxv" #έ҇LMvCa*)ݔw'KaIجNqvV/h`R1aaeWMEPr mw#)'2፬]>LR[K'.ߕ;`/J[):֎twDp DJ*qQQXpH(G>Eދjj5oky ДKq#iIE+ܮntMt5}m&\d%-Y!;yIŭȧG N~x t"R>#;Z&Bc a /CHjrkZjIO)#la LDp*'#*6Bw4j+_;)݋==W&Y.ٞxtЈO~ej]۞)6qgnv.˝Y=HI WrG' _I3c`x $\LP}PH4jZrE@h Tlc7m/Cr!)DƯ2`DjUtECVNiin 5炃`:q޽jaan |/jY}nk'?+ qu? g۳Fb1QMLzҐ\,4*ϥuV j:}i %(lMȀ@%jwJWzMS'^ЖQwXD(f{:d,B|Dx| ^P'A lgtV!+!~C-y@Fւ9ٲ[B,ez#u K-%ek`iȡEL)j ␸,\@>:hjX !;~M"BX@-ADI!j!4& ޗB`"LRjv"B2=)j@wpʩlڞG<=gTjlٯjpJf'eoEBq#a,KI'~sg羮=btћ"\&*C)/g.޵(ֽmKJn7QUW{L~./V%562WI62`Iȹ&՝MHrtFuaۍn} =XZ( Z.>rdUԂT6j=Doc$`pֆ x$T0VI@8Qk"oAL` `GȾ?y}b|(JH!BB#IEN(V8X?i ܺaaM/F9Ԫ!n=#?qIɨje ȕq1ؽ`bɈĢ7Necδ} 0Lx Ռ dsqP"ecR;W+ՅSRb S'SGI*aJ|ZWz鴁? EDbQ1iMUtύ  v_ޛ[kՕ:v49/)%AK/*.  ,fdV2zل'/ w>˄eso⹆0?ExZ/s[ӂzj.iy/HQtW0- n`]zRt ITozreTdK/'=^NN^F!Jn!#-G!"rR?G3!=eMdSsд{5xդ,mµP( )j_j2q0] 2αCDRբk&$C}74׽E3a-n@hgFq5YQ?|J2j#[np$ JVV Ć,HxƳ ط)lٲ,y>fCRRac tQm_O(Kkh,Xu Kh N]sȟ\n# oA=y(\$a.A ah"k"AiII#5A I It~z1h{sND>)=B"r^{q^V6n?{s SVp5D'Jcv#"- Al>¼fɊ;oE9a+5|nT](1Y*#m'h2}4L2*.OU@SN;}%wB^ɮ '\i-&L$dC7,wfb{ GƊGWM\ʝ?JZ ޥ %<MM2KG4+[l>ZrrI`^"XڙhJ'.wϣ(R$:øԙ Ŭ^| #p1owQi9xENבV|'p?n0R#EX\afAɏAcLEe5*҇ ;bi[YX"h< qr,}'ATC<><8W:+"הּ:U*Rjń<&~NCWqZ"g;HJlF]tQw]O~e?Pv3-?F!)nF n瀴i9#0ZӜHk FZ@/#V'c)l{ u7q6퇠E3tP;U H9  1THǶm4314e31>S <4;SiQ!ACܢ kxDO =AGXT0%se"6ct ܬvXTD1HB`ᑥULu1dE0P\ x(b BĂ;\ >guc;]boҵDo損HqFӻ>}4c)+m>b/º „٨uL %Ct(hMI ?5"+bȰHh&(*QA$oMO3D" @'E\PSUrd^5`L?nPyГ؝J.lS NUc Tn쩒Fṻ3.ZiglC.s$GZ֝t$HvcNU<M"0Vܺ'}EH1~/!"ikAYŘ퀟%e Y~@[r#O'&GDC2LXC{B3u$PnZ%# Lt㓰ɣ4 k L ?ȗtKXAQUgUT58fRT ZLP90l}bnWӥ% %^((U@WOCGuqvSKBQ$4c-$H&HaNbnM`m?D֑e%GD~wz?Wd-?Jr 9A {UZСX?&0w1 d^94Z\2zhC^U} t:=APE?WK p4d7@4ls1T `=u@(/p^LNZQ1K&,E1Q8I>4c̠DDWh׵ qpHg*媦o,AI'/r~)!I-{TX$Ez,Ww&p:-݄+0SRB8_tf`% j % WZ )WԝM&M1/mgθ3uKm >>mDbI?%ЦG㩗RCC/" m}KUsH5I:W`]6EKR=BPPh=J622}&CQZFBi^SGb0ݦLE`YjmjځN[h))HN}r/Bv2˜F ǏRE_9i#ĥ-ɓ :uVJK#']0TYOΘ Ok%}pb4-ϻ#Q StjGȹd^@bBLJfClas sJUݣ@'V[sOa,D*sg(OB\gcEON3/ $®wѿv\XK['?~![86M)fW9a$BmaRKUcBԸ?>r"760ܼVVMhMGtTKz CHPCzSffõLYuTS DD3jO@B{Rrj6 S*yl+[#B`Jood;uA-d0HR6K O-U1Q4ixL˚f!V aZ-Bqӳ<Rv& :t# c$p70@C2)dla$Qd3Hы J.Z"6紒\^P\պ̣P̕/DZ=.| |5cQB5++#5ք Jc 0:RG(Yi/:/9ELQ^yy|lK;)1H975J`R6^ߑHϖ=v vEI6d/ %,2c0&(pz~sfs`2k jȉyݙ fC.]>>&l . DMȈQEDi[^^rrWc( 9bw\23JCMl b\Dn zc(o 1*IFM>OıI3m uzd-Wt(2#c 85%&[<0yg4i\O6HnSYRM%n:Е hWkEѭHaZu{bKvJd$3_^f~<󯪦_pÿfrf1(ZbtȍSr-%.cwga.'//s-535ui.H8.lEubK#0#xBH&"D5xL7h@ENLE!1r’vB,lV%9+z8/ $Z"A@BMօ"{"Z^P&풄D#s4(6fIhB͋X[1Ub*aBX23R=I+Ojѓ?"F@G<$aMSkXȇIwKBT3bv$"ecĬ#L [/Hץ\#_ d]θZ Dž))_gRb5H*1ęT֫+Qq]qk̖iyaB<;Ñnaz5SN] \︕Pxn0Bfhdߟ"PӢcC <&cW56 ?<&Q1!H^bXw UH>l8JۛflT7á:(EUS2-@ѝhT!#ܭ8B X!dnClrP/( R #쑮!NS7eoitE>JxYNjpsdS13l!E7Ex/,Xw-ҥwP&00gػoDgҒ8|[Ǔ# *xx^ =s^K2zE1%˿!fA&FRpCzo(JEkgpbCr.gt)zMQԠ6Ũ?qk  pZ.r>!>v-SvYx*8NL#`úi4ZtK:J5^(HjHUc^2*J1xQ[ཛͰU]!.o]F,B#+|^.C J%63*pڥ?]ۊ[Kҳ4)iM|'q3(nb?S&*v&m \;bKT,!4*>H!X/Ha-?O6Kߺ^DY/զF4+TUeS7"Jf*Y.SʓJP=| L1t"O)/4 J"λѬ R{6+sff?[zltCgedMSKOfJ(8s^]cPF2a| OW3бSt-V;3i!yF.%a#qGY\qύS-/q?0kќ6-^R8Oh쭢,1 ѹܶ1>w/DIMr` Pn JC|iZ''hj d Ɉģ0T  N  [ ^ C36ƞ W2=pRhRw5eGOuӓc yE_[H49(N!'&U\OzZ@^}ąxldz23| hzD_Cx?8KLxwn/^@ 6.Oa}נqE\H$6<(L^ι|I|YEkM1)H]ɳd;=eRӫ ^e#Mj*]GbĤ D*"I .PiH]u@X\SljE!b Dd<"Z+rQ_렇j!-+(|deĪTcu *jD2\I8X|j1k.淠%*m=L3&!zPr(MIhi`0Q*Q ko?IEVV1΅}㌄Bܔk򊠙8"8$z#q.Ť r"nJCT:l1+*`뮄)OdPԿI)ܒ[T [mHfR.Aւg3ewCM|1X&$`+v-%%H<C,"tC?|'J??*!^Amn6| Uj/H}%_iLNB/)r\$ 5 RCO(uҼ C NW,ؼHAs[̹G+~VehGܝ }u&wA$\RjE1  sq4ᢚ#ZȲji*-5|"zBHN|J ra)¥υ= L$a|R `@9vaS '0)VG| ÎW Itl4ƛz|t;DqH֐[Mr0]h#7 ;I6oXGbt\8gPy~A e4.lMkoI+`#PKO A81MNH݌h^F@c"YJP3/5E̢Z9L$ zLZqi~*;rQEvKJըOSA$dN| ᆽN2|3]RYTuծʤ 3HuOZ 3?ߐ e[)TK!n+_ mlܜ(Q= \R&7x:8*$u6qJpߏ2XU?]%_vzMlܑލsrxHߢL WF>W&MИA# J2:I4ɞVΛre4qDB*D"Tr .U*apN:i(j'TÆ4p{  h !'FV. 9Y>&a}D`16􅯬 ƾ:T* 3_ny,7\tx+7#;*>/JDg$Sϛ18o4J%5ty, HpWWn,0r{l߃ƚ-렉+3(L$bC!l IO@ =էgY{Mq߂N ,Y7KLKS1Cbżhg[r@C$0 GtAh1"XyIdzYm ~RBM-s(KEmׅrY |# <*`򼔃WU1L;<ɲTU!T> GaI)uX 7ktYڑC!F۴]b6.ۛd Ye]qJ]yj^+MI8!/߿Dbˑ !B %{t-Veov{iEsJ΢HF!9 R!-jӥuUdq0>XB29u$'2I<[pdՓ$"Ş|M(FKmT4gU'U KQ.>,2҉*؍:Xe',s hai$1JQs9{Ő֟1g4(4>}OVjc$Cê# F}c47=X'rx;a/WTK-K=x4KL=2 _ W3Kn*:l䵱G-+Ɛ hL4o.gQ\5L+d}eXb^y+ [%v2䆒DCSV2 YQ?AÅ VR[s1U]Y('S^uqP(סO^J}L*tcL ܕWϵLSZj@51؈akufzm{J\BÁr zZ7vOn )7'3nR֍Hmj627GJԽj)rǀӬFǺjK9sB ŝE_r}]Tt$:HESQLK f9 Q _[[) LlҼhZB: aXX1kZEILQgCM&,Nӭgv]JĩQ-4Yi>lN?_VfΟG5lk=2P~mmLi1ZИR" E^ :$0#20)8 0!|Rohڐ EQ)pN|\Tuym4ɭvt4_d:Q2 i(mml佯~ܼ3!xN贄@Zs@T}4T[mBJtH&l 4?;Mί.jw2OkiķݞQ#LRUP*RjJѭ6Ȧѫ;ߍ: F@ sC$0uUQw쨕†d]jA A!LBSiA< ĵ 'ZB1b]J58rn0ȦI7t}K =4Jwaatad vK6&dήlfټH7T^hqmM<ȦxU(iuO:/_ 7-ܾl)A`jJ_@OWVa)Z 'R>Pr ANv[-A CSRhnrRVc}pRQɫ7rڹ%='D+Iy?:yN9geQf%=T1gbgyR%0ƌɯ:bMIUm},. gr>mN E|tqb,V> L8z+fRi5+ F *8=?)a2-_JN隚8)f1hgS[Ex(5CVe )nt5S9-a='\kq.QTL̨{:{ksY#ΤY|]Ƨ%/4" qH.nJX*')$_vw W;DA]$HR,jDĐI^듉 nT |aN"bώ_o"gOtKnͩ<KEx 0fIgAV480祉K?$7jF,^¨KP3aLEdohd_[Fd{N{Q>{;/`,g,A;( AAv<4<''(%"21xEĻhQki@_$AWDceO^/RpO1IؚW&Ka)Uf]7]Ŏ5[~=,Ps`!wmml"ӼhfB4e8@d`U98p\.]Kx(൯}:-T37u7N}Y74V*?M6ԂdmG^)*,u@sS7hO \G&O`NWE^h,G|Є/)DNqinDSKT[wIaI0r"6;e8EȾHюbj$/cQg; K-MʷԗVtGG5b@H$ȪXb. 7m[Kﳭ tJ'k5Kbq F #c TθuՃ,*G1DI2㕏B, .Ym&^lrfNX3=4ȵqoCY:Etk4Y5ot/iRȥA 3Ԯ۫?Qt)Tu Y"!J\C)NJsŴerT@]ĿW`3-+/3R9ʷ~Kܶ(W1l)aU EZ)lGJ&+)5W?փNų^R ߐřϻ̏)bb#Pelһ/H_%SG_A2ZY".jDOٕ1F,]1n&oOdوw /(rbvۘsd̅Rs>i[h!zCTX2(eIdrCإkygϲi6%<࠻E~[2`^yidj)-FZ]Q _+F+ Ea˃i&J˾j X`vt|CŲ˅1JZ e%wE-lUI++$Q8IRRCl]B ;}Ft Q9B|BNac "y+7獍-™WxyVQ΂ʖ&MYE(l4( W˪h"rKbߤD3Њ:rr ˟0UmVLTV6bG[‘W[)'~( a}رXat UΛĐ"Ka 4a>?RCnyK#8W'ux9|B}|>Qs-blGN%4NSr/p8=$.N?`"=a+,$^ڋC9c~}1'GRQ])H-#Z :^FCqwWJ^Ĭfus69n\];f_؜p􆺱l:RH-n`LD&Ry ".ŵ0 JJYf9>M)eQ8™wK1ZDhRJ +T_.0{$ +@DՒG&_BTT &2O†C,0HBL5ԚB1%$KiX{&4*$}fs[ȱb)&$씻3ahΦ*mR':MI FJ(dQ9XXq䝓9*੧15Q"V1*查zO}:1CkU96;#v*j5|ϻZ+Ga^X͉IrӬ($XA)\,Je.dvQvd*6(h$ULPFX\T-08P04L8n:eQfvDBP;(&ƊNe|b* Yrfjޑބ{sEԼq TZZs*9|zPdFPi3*]&O|cRR"5 ߾zB@ؘӜ6{6j߹;›׫tTZ sZ Q?RfdM!&QUωeKhLl2 kEtw:PĪܰ%TJء7n/NjN);]B2Ŝ]eճBxc2*lɜ[&}v:M!dPNT`BF\pvBnJ807-1Dq)& FqYrSZH)8Èo]˸IrR.2&7G kP0!\si&YRdHj^YǓ)omP'I:d>Nڎ"y.>8~ק>ui6kaƸöb2m#e=7)DEU_b%w^'?_,0,Hjޭ/Ttڡ卶`@`ҙEGxx@M PgaD {{;ņKAK7xJBGU0@D5E .Ѕ*S}' 蔜B.`@.eA yٜvSg0OUfK鶫Ϸtݬ j%JE0'ʫ5$QF*&3/#_̷`pL5bA7O|uRS1?GQ!\BL\Y] !'~CdIBT>]?95fZjo $RҘDhҊpN5Wy)Ag Idpt6wB.Wʘ6"KLC`-9tTK|",ۣՂh~ܴlEI8%al"Rn GȆ @@@LW"bM(eg>"Q"'b{fIK/(#Jރ*&P{s. _Man/(lX$"4Z768HdKJ/2/-k8]% !ž 1&Ԕ vfsJI^eU cZ$1b-PIfO*b΢y&a9xԌ5B8(W9,zBsrNա(wJn9,TJ.Mۜ{Gʥ-S*6܁ShJ`=*U%Ţ5VeȧT/<,(3"k&gM['Px:,s @bRXZhpg7gm%l!uU$Rv C0W@Ʌ#WCk_E' cJAŒ3KTPx0EQ㖑@" X|cU<Uш= &C u殈lKQ'ݤ/E#]; T p, hȝAX" չUa/ЇR/gLmWnVuJwx#.v@ZT+Q s @] H鸌5[ŸE6|<\+z*Q9=uW߇`;%} ]h4qi&d$(>"`0`dQ,a=fFO&92iOM֊JX"F6ԫǐ2P$ҋ ̬Z[U6Nzj4A*RX,Wp 1F*Y2H#j8iHք6F5 hsl&1HdvAF*^1=‚X(RҌ,af6C~{lc!:'a a}NC prd 1T]guHXr#10B hKH(H[RmzM[.:Hw;$KNJ ] U  '" drj5+#mA!`w7ޖ{Y#Âf"i$<d+[ Kt~YĤ[O%= =,VظM*W\WRS#'<5;:\ǥbbt((1d 'Ye#NoɕU47`D{Ѡ2Z*VgheD5qO ;z̈́uY*8\-ܠhZ.U}ÞL zޖ ͖ dH_G0m[,(p(9m ! [k|(7@klc&a ORYˊ]QJ5刮? > g)GL\9-UGM4~%(\fCpr ^,F9< h 5>JVB=Y!hmVI(u `zfcox{X2L 4 x^fS"1tq[sJؚe4~)S<ڻs }`4-UfY/w}#k3siՈmkI++3M ¼9>aX A,ߴe"W=D~)コNj:u3GYQb82mJ}d jƨI?va;w/*G(8 7U͒WMh<yrڄ@ Rڔ (La,Ⱥ*bP}=gs˙:*AU.xI,iKo0Bj(mȪD-#4椐s {L vQ)[# XFXk3cMQF-g+iODK."(7m;Tw[8c hFhxNнe iRU`rFP,_T(о8̱FUF+OR&MeMn5f5X1MݾB~XjRziC̪Kyު+аy=HE*ݛNW C'eaҒL_ 5eP(C>EflKik"8ڷ5 LD<*~jptbz!ʡ>$N Iuc2|RS!|5>D=ZUu̪wlV:ݡշS2"FpEfKUO(>G(_L4b爯0hW(g4_h Dn.90('oHQ+uox5BŻǘ1c+cXahJ 2wzrך# M;hiπmv$g0FL"A164%#*=`4'XRh(,kml*_1)^\xl@Jܫm ju)^63F2=qE^a,57wI!BDI$jhMk,8d2CB,v[Ah9MlC6ٚYpT^S(']$_3G$MܜwݲhaN4JqCUDS=qݻަOww ;:#,~5}1[Y#\(0L cy)>Brl>1H^Υ3{TKprJ m"X~ Ylns](!V ۝]!*&Aa4o5`o6AgHRNV` ߠtxFD[c6?].!pRIUK7ߓݷDӉ#=D*- Y'OTFVi@J+pB& (?_ݩ eG~'o°VR~(je$y$/f]@yih!3L)d^kw[QG#$.MOE%8GI55%?ݔA 8- $$Í!К'_ +:IrJ"tױ,mUꙗY# UW[ɮ)4ȓ +7L'1;&4n,!8-鏪\Q:RX Jk7 e}"UEdM|8$tYy9DGSo4@4{.C[ uӨHᤱI&0PBe$JV% IS |)BHՋ',om-+4R2]R-*Tv{Jq>QPO܏] ut t"(tQ'i\H{_mqlO)X,S#Mӆ[ülݧm^,Nu&Ȍ̴]#(&AtF؜% "2)ܢ6.PZ5}Ouſ-e*:SVixD%0/tZ<:@)T8ƞ[*EД#vm1*VEkj# dz/ط\N˭l@)FKa$ &zl` OP0٨95(kjoބ@mY r^FnF!`H[wOI_u+%t![W%d0\b')x)] jՉ4)":AJbBFBQ]A6($Sr>C-xsQX#^)v$ㄔ#oחCķG#q#I"!&sзmHMf w9,dY&(](ȆuF\f6b JJdH">_4ʡ %p9|Z{,) q$OxˆZl2`M6EuevZ\Q,\J%$hZ1-XeWkyJ"_#=o1u,|LZmzQYIuFTU$EOػeΰYj|;dPi,jmQ[XR؆cc֛7SPbIvSJtbqaED20,5+{LWEwRd(D*jMG E5e؃ޙ -H6TsRCI(xE\ i;l+dx}-RWlCNNs؀!R^Ffb`)Ihm wrj~,fq$x4*`_x&2`j,I *HJ*0"#犭8? xZ1ۉ2$SE0qP FiװILC/ = 5<B~R,b.̑x6HtiX2/ N?O Ǩ~6TEČ$O t9: @iaqe)OLABtFbJJZQpPADhI=p2mWNlքs`bHz׭@W t? MSzSc Yܡr83bE]'Z 4HIHBː|3\lZ"_iSj D=Xē$I07I zIS",~A4밼2 E4XTI˿Ys\c! Y?u-0Wm-e4MMUXe+d#2XW{YR/BNp d#EP6D|,ȁl} LPM5 N55EL  \!W5пRMA[Z 0i`bh@9@DB#BS&*Vd:h >qF.@ TnO_gkNZHл/hmQ EW+&-_3cYЉ9gJ$Q,)9uG 8>J(ڨv+7/UE&9]>N#*ګ1%M>k.EšP.?쪮5> j"G,A^i#@K)=YCxLc(<4v={ ˣ{R%%g<)3kPe$hyqCs>A1!:bE>rJT>w4ѵsB&0xEOpġ4?"W RKL*,(}%Z/?} ShT1bKJHVT82^~]ϒDZ*MjȒRLhi~p8{JtTXE8A(r&CPE싽cЀC?Q$~~!u%NIV\Ћ[}ےngɈĥ"Hzݴ$".цEsJrcR(4ܽ8ǥc«)Lm!åɭrݿ5]#anObrshVe hieÈ]P!KOcLb\:ں~*WKa! H۪ FȆ7.S=n5&H*t!-"3\Ũ9^mzeMf*TN;%P(cCX2A3\kP,3yaPʃ.FLUb rf;x4>GX_=V(MiK ]i"(f8b]y9JoE3s<3&Jh~kpZïO!")y"yZw!EA퐂(wDYsTԇJa !ͯqdg 2'xVgࡠK5j"jfU&%K?< 4˫N Dq&vi},yd*&:FR˷kA5s,LݝMɘaCޓFL"۽u>EY '90~]5վ- [83 bcxC;rY-Gy%)lvԏCSr3^rhBY G똵FHyAwA6PI9٫uJsz7EmSBmoPg߬8']禚U [ؽ]Y3Xas DD,dR8X|GgN!W]\(#(8$< 2")XF'ǵ?7*əܱ^zA*#P`csYaS-wձޮvoFD\.xl?f2 qF]s#&qki+[<07H;q!d7 dդ K}Q.0N9Uϳbp9yCS.޳'N0xdk- \57U= H_9K;QN/fU(v+C%ro\X|;sJJR95/7=Jv @м{r:[֚3zZV`}M#1&@(֤nʞFSmbГeש(Q{+VP`~#\, dJavbgpat,_؋+JMMjSVJRGXSX-xU6w!Xq|zr>LW>( HoRI勝8$g=N5V? Z\F6-5RsxfޭNZѹsxl֬V(X[=,)]d%{ʜ85Nk~̵!YҝI6N* jA;k)p]ZDqYiD6&r2╽Zb'>n6_ W&BŠ*1jAY;nx7I;i:3U [T*Y] fTѶ Z4qE|is&9P:/UX55aҷ UNXj,«(~@m/uXS V E0)iQa4TuWÕGUzk4(N~~f[቟Uc2w ?E@H$Ni)hz+V=q ~FԠWH/8 B`R7h?^섌au`r `Rn]6Ӄ2(d*فR١B L(Q<"ʐj,P#& 諫B?4;# '.R[}/*] 3\kd2>_OK˟`f^*a'pOMJ8J NXCc\b: 0@]u$xE`˨=D7WBO O%e\".dTUMfBOib4t( @`Ki)J C.U/xЛX,p@n&`L:dMڋXBpd|]{ +oz%,d~lɏd<9qUة7w[,!#đ~L,gٛq9"]-jĔ. E%-KosK\AcqpiQ93Ne;Vxrc.~t*F/@K Θrgg[{hHδ!GI 5W:P,T@UC9{ڎRgԀ*9x?D (> e 짹X4\$ʰDz9[<$6&YKGɀhV)n{,L!$pTe,`^`--B2R:ą;TYK#(QqKjꜨej `DK`ھrǩII%_dk,؉sܢ_(uHNa)Щ*5p#a,d. 9c ` hwmS.#O_ϡ~Pjj?79ǣbGq3].C,풿Ka)-^#˔ sPsYZ*y/y}rJM S3S꺮AjFT"FK #t#-,Le6g1EkwhԷ6]t5R~fƃC6+JH'u)}]d⡅#Xe̎UBfj*g>d}Rf][BPĤ 6U.Xg/[ry}$ͻ1'•d!@LuKt>XT9a8e*'|/fwgesim[/D+'*%9r Fk(X63J Z%DBvzF֮Y;WGAɴl)y{5< '3 JnVk8bcFmƅfP[#, v 2P06X>b' 8( a[P!'b*t<8^8PJ}+h,8m1me)C -0hCyRtlVu0wJCjg/q q5(%~Meh֎}mMs≜|$d{e,9p{foB2L KF|f3'Jg"Ű@.+4/Og%2^-$6υ)D1Fr-HWwQNg~& f;$9 mnM"cf1 -&J~܎.y޵ \VrCn`M95̐;Ѥ7u<.Z`(f9qU6b-Y>؋YꕘK)aS;AsL#]0CYXGT-)$ Φ )ى2󸚬Xތ .އnK&C%vY8)uWDBށZ|X F@wq5=DXA<T%d*F8M)w#IDR[N=a2 ,wFҭqn=n] '>o."7"^^Y\RģfW"XmlIv4a}ǂ"=$KJ<ɑUa_S*syWsc))uG#K 25@\g   C=ӭ\~[s`SInm IFkWVŽPeGXSulHs|Zv#]adt̽Z?֖Q E U.T]AbD\(V44ct+ hMȌFb@F!<0Lnб@" TޘMlH+=.P+pYuXBf-?faM"u-7(W[s*t!TT_ NA"sIQ_1'ONġ;J-aKȗ҅wUhR{aFLT·P>u(vdƩ +:2 /=cb$ BDHV1(a6,] T!1cj C!>3j$~EG($3EX14/)WC/3d'tJ%[PVL2#D||oAISҖ^S  CK+Mh%QnA CN垻td7 9k!*ToB4-%oK'!Tfۓd5mDN19= `v v||V?ųBNuedsPDң6Ll,.Hh B5Њt*] }Ehi6iGByM:U+bZ}+n񮊌Ap}QXbgNjxXb!BR0Ĥ. 10/DD=>ȏfKWA`w/L!p f GJPdX as oi(#DK[%.z@C:-C-a'T}9:F7J1MZ OjpOb{EqJx{xW$#^a17"~3V= *8C"nc=]oUud]YFaMb-PXgiP ,+e;=LPԈj$Z`MכO?1~PQBV'WvqJ\ۦi`NKyFSċjHQH,lr|VG A/4Oop,zCrtZbd))ldyV<F&wԸګQ_t%AB܊՞F%=x!)ޡ֢cRVt:lwn cΚ@(hKӔ;S/E#ziZg-oC7 bͭ*K!SjRB?U@mv#pti>:ncht 2e՟vmiKjp~y̘:6-b$VM ZWƤ]:{|v ul8rSGA\oj$IAڶC e&Y[&i (3ǓtM77~Dvfo3%DaAEZ;H2v,ACpj ^Ե )T8\hJ 6\P2cI;Yvܑ^4[6 \4aҧ[^RzlR)H}K@0U9x`7 O;d|!vȆY]hBe2@@#;gQ΢]3Brt*4>D]uE)L%˺;sp]f)_7*fCm(T:uܴf!h/Uǽmu䵧Q1;8.l0­Z}nn-FxŒaaE-H#5[ KLLm sxCH"HJ8m&^()  TU(DK7YjEfy"[ D Rfb?yE`;rR \J]BߴI W^Cp%hm9mǓ0 s~+LdqYed9撀oE>mT0>P8b%ƺlE)' .kTFN):I!œ>GMn$Y (1, ZB<(/!rpCit9 Fח ]OcWKY(fzdfvUGACjod߱'5,Vj6ӜdLL|8z%oq5jVD[La*ʌ#hH{9+KhKFĿ~<10NI{ٞ(ɥ%],iyUO$^qaDV}(`UQ̦AP&Fr6KJ)~S6ΰ{b\16Lq:nH] a9Eh< Mm4?K-W%"QNJ2j5>L9fH./M-|[:a1,g[{j,ΎD-)JN1G2%6ťaZ7\4rcu&DˋUi9QKӱJK]lW/-PPv05&WD>s1 \sb\_}i\߅E޲7qI,LrݴƄ1mBz:T{^oA$mjlfLk#vg,E uG UIg* GajAUi*Z49N.1|% K4gVj0 Cʅq(kAs Fa`@[O?F=ZZ?F#fg==?A$OOF$‹Y 2Wk!h~3  ܪ3+ښ`DTstLyIS7A:x;~5h \-%vL"]hr@+B|a#]44L <$]e%\G m;ܔ})R!42fs0H qSqzqk ^bxd@|Vӑ!d#@z1cq{&-ܠᕺꐵm_ZkLccs]z{S33exnERb#K3A ` CK,J쥚Y'GH_e Q=1lw7h+ a A!\) gԦliȨB!=68e?{j 3 O~k0Mhq 4N2ȂMx^JBO Cc2շ+=oT̡ոExNګ+ tRYRnM¢ulũWc뚷۠Ht LdPP. /s6Jsl%NYnVf@V۸HbW'؀:i^. 3#lBp&UrE0I7a4)S}-C{_Z|rģ>涒0{0Sn幝{mDy5UD"t^J#Q6@ h9B')ÅVX\"PKN3}`@J VJ䦣j)%FRV"%q~UI9;CL{j`"ew[vtZ[=hkVY0Ed e(f) rr$*HKupO:ϳapSbKm *!Efd;K;|Wl8Hk%6X%4,٫|EaBdcAaa0HL`,..X:D *6$>75ai*F?FĵkyNa8 ,r#<&QWVRN IYV#lx-!3 l;+|X_̒Ke }i̧9Oξ^|P5 (1 '( A+pAsC#6u/J4PI N# v֊h-쓚5s^sk5ڟD+uƺB, FH:??-2T@r؁н{w(Ł"nS+)N (̉וlJ 1hnh6`~/E6#UVBt=dL4DE([6)2!f&.(v?; aDQ0bֺ^"b:k巠ֆoͻVdy*I6g4Z2w|5;ο}T+,W@6H3{ aI5$ޝ)!"Z6 byk`IRVp0$MIK&Bb%)4nbn"C NR)f)-dLBw* MMieUuMU>%hÅM< oh\ʌQZRT& !53Pȸb>20o;(s@(FDF0%%Z-TZt?2Lʒ]Pu%Ae~,\TׄZLwHW+˷ƹ_վ|+'$W3{5ȝ6t"OuQU%^h^-a\{s5m u-Esc*d]_uF&L eNVIP:*~!)9:rK L9c %K& ri4+ e*rŅ;UB'f%78de"5lD){@,Z[؁;bB'x qbt)RPo1, lVN3ÇE H)ir3\/e1"rEw(h [A-jTZu#7ӷI| 47uҤoDl,!WDC1OZVa, |μJ),A|1@ӊPc킂a:XCV\ȸ,Y'*SBPooAp)!hZ-fqQ-FI #. &p)KAZY4j+.%6`AШ)k)7F'fBg 1!ӫɮ/Sbv0XC) EÚܧ!>VfQ,xTė M(#U Y ?/iՆbR@[w85HP BK'%|/aO9.]#s-6[8 DQܪQ(1a*qvO矯H(&E ؼ8y&W*(i%*>ccU{&A,f7FO)2 mY6m0 p2ncSyC"!ZɌXKGXNj:K ZW\22ovOMFu>%+OإYM9cظ7 cQ`NX#8&=9Fgb _+dȤXqнlkpq0q9# T!xBSSg%5E;EZAS?MsxtFu8+">A qSt+NK Gh$Mc`e]8ףQiFТC+ (BкY hM/1$RX$:ť  I]*]KKGPHk=^CӨo 0Sı:;*Jn w!3 Hg%4liW'nP8?A~%Xft^n!a[~c9b L=vYRU(HnW[5dbM(*=*ˎQj.yX GTޛqׯLƕ8yRuن?r~_ p\-p'!*VpRY % w||1{R L0w5ԶQۊJL$"\5В' 'ҙUM KbB(p:zȕ:W~>ZjoQjיҋ[sF++뛶- 2QSq!MZ"onvz\ D̊¸{IT܆*M4?8je<GƧm\BQBtamT83puW,aAa|pT״:p콯'ːL5\6hm=7;碼c d.,LOt11;<̦ўb5_*k&ԋleFĚ:*_@mkWwCߏy\ָ3s2lY4SY+f&d*HX.AJ+$$nX#ۄKv2؁b ԯ EiqҖwH{3Xw  Z ]SRqyQCx a 3I]N]N%m Ce:1|$Rӕ)u#pQИje )JVȂ`RM ; ̮0:0HTΌp,l#Ue^Qh/NBːḦ́LA |am 1*SstmR;x2񴫮=0`/\#!:&alE2+Я:5?&z)J\u#"_d/p%{R#xdf_?]DC#J ?%z`'r3|EX`%>5ՂB]lZm.=Q$QRtUi-*hD#< sP#aFl̆+O(WTw*VI ~u(eȣLj6RO?j)i$̈́)A1=۵nig{ұwD2m+U5,x*rUd&IGUM yd2( i)3O>=v :R(CWS+qoi ˄}V:{N!H*'=D"l;!<͂3ZAd'6*X~d!Aqm"u{=5U /60/,³òΉs ̬|#E7$vv Dʼ)܅~ŦY˪HtSr@])Qc-dSX2Cr@Rz5~6ݞFd2dS.Z"ヷeD> ̔Qe_gZwN1;? oK=OFe#]CҖDC@VJ"ܡVԢ2!⧑-.)8p?U\r☇n%WZ@֕Vi}|\[B0J%ΦN&k"рdr2Z1ōDp֙^53"O4X Qܓ11lD ƪmΈu4]rZo-0W:rKq{azfgXNj8%G\&*c,bh#"RUd~jMoHl:[RbQQ$G)hə쀴f L6Ux.zcʔgL 82u )tPk.]{ִåCQ^5W)jV6QlCuc? QioHpbYRJQ_JY}!&BA5h6$E#֡LI6I?bBֽ̊ҶdG1>\HdQ::,؜#@h0c SJMwzm+9B23v(=#*c&{Vb.Hdt_:d 'EE A ɮ27M}OK5*#ש lSeH'C [W:eDeJRK![_ Wu׵#ol_Sٻh97!L H SF!G֤g$%/$xT ^e%ל|w %0CS ܺ:|@m)FK2-Oa`fŪ46o|H-)T&W.VPqB,HxɈħ,Vy' Q  3TAV ӏFGߍe:LF|ˊ\DH3K{w;~/fcA*2癒a\c4 µ#`MvDBȢMLv_x& lc@ {`9h՛ǝB]* F hMT 7Ǔ!i+ n ciS;(0L*:98{|8> %b3%PwXk!'Hx6+'n{+JզO/5Y&L|F4H.dh&N$Bx'.|0'"B`Ʈګ;|n=7ȽnzL]U1 QFlܷi2ɳlaK]gmpűBZ=H/'KV{y#G~a;u$(S~<)ֈîK}_Up4ʄA85œ=C~牆'DivƎӏBbAL-wdUTOwv)6xVJ%9N!2M%9Pg$rZJG%QVm8Chyi< ;R4U+{DZ Kp^DGS |'MC@z!d#|Z0Q^*z{)p`<}٩Cv`ev`uiu!H7J O<(jJŰ=Nl<lw)Z5"H@)4fJ9jUԾU<~3!I?2S !J4f<øځm)>2[z1%7 $I7PaPvRuDA\D[!\r@h$v&4 p)BM"K"Q\+.-uI'x&"%RA$ $5}קMf8$Y|ںGan)?J o8J!\!7%a%K *UC!>(6:]TTPRMCk.\f/\nH1c9I\R~LV#z 467Z孍+:\Vg9F)*%Wn6Y"y"wȲŗP" ju `E%~$=Uy[Lfьc2^j=gV;ypDoz6+j ,$ŧ2%yD@/4̲iA JdLvf4' N Lb6I,([51XaDix /=!B Re]u#}_" +}ٖcVAc$$dB30Ps1lBFP|4<9+?-* EH$3-m} ;2=2.*G*rGLBOf'l T)GD=KQINѹݚ!8'rb1l&fQJ2=lq#JXK}'u2wcw8p|&Lkeom&H$7҄61lTź>hݦ~xEĉs{AƇsz$TN>J*> }SIUfNRw >H#&.\E=ܖ\>$4qB[zՄL1(rSщs*>Fwuh,[=csA/}'ŇK}ˆDX9Mgshn$ #qֈ\eHFQgEJTrWaEԖwa-UUeX8vbe+q$gtMqJ-'rBƣa Q5]啵2Y$6K #u?tk3h yHbRk4lyP,K~, {)ӂO]_s>B׷[[i^I)79O*k+>i}@B (|l*leDc浙ku.mqK4b)dFK7}B9oBDX|SEi]JN-BB팬 &${To1ZFhZR@-F_DH#\ t+Yfo?֪;=hpѸOo*E%Օs[R!N_ ^:eHD v(D@L&@S,28W0=rpJDtmu8L orxX0_ bℯvM)ud+E#Fu(c,Qˑc)Z1jDWl1oU&UK/ަʹAf⋽4!khPB>lq Ѭl[%m- 6!iAIA,eqg1f7us \!6+XcU0-DA_Y.Ԃa }1An侀V7ErDXx_*q!$vЄjEÐlE$Eu/M,-h: BGc8S6f G<EE+AtLɕ,`6F'=JUR|af$QhTM&_ sf[ *:w&N>`%j=Iv^uvGzO?IV0?B-N]b6 zKZXkbBoiRLleAaQ3z$kNQmDSJ??tZTmE@;DBV_O<1G݇c,X.z<>N%E+VŪsf猩!{x-1E獶үy ۔E%I6G#8tN̄`Mm6˶C6KQ-;Q c!Hm~aN-*ٮRT)^a,yႃ*4M̖(e {hnVDjдVL7h|FVv..0J NxCtgdYK u!,Hi[.-;F*v≹NA1A2 <2Ҳ~}Jg 2A,\--]>$yYfSN/~ȈB7+!i}usgm(-;ru1wm< ;lR"E2DYh6041Yc1D@>9uYS"M -Kezum*$K5Ⱥo'}J::H$$8n@xdF9%FN2r;>F>ΓϠ&tizij=+j,ik(=EJDt8=Meeā :",0@8.Es5e&B!qe|Ys- < -p:hdb F¦01Cgr&EC  u8X﵇QP݃TJU-`n `z7(ba0 /kI0:09͒|-8cE٧Cx<+#jnJj7 Y,z3yQBs[;cizIPy?GHbQ#_~ٲu1 ]MeJ~Z4 ː*q+XiYe 0dxb ұI8Dt`8PQ 0@lp6taslҍr^Ѳ$t/4#_//\fICJN3r)+jdImkL/BmCR%[qi gJ6(,ݣm^ eD#\GӰJ-h9|mQ/ٯrhto,gz`_K1ԑY #s+^bO kIn3~n= 4ni'gt%yg{]_Q%QL1k5}z7 ?XO7k+FCՌAO nѐm'Շҽ1 9=/SE-1FVq l #TqBi|7"(- %IaԲSm'Gᰦ8}v(hSc9N{Цz*F Nl ifd= W:ﱒ[ײF e4 Tt> "1(ځZ5lS@hYN c3 a,jT'D E MYX@Iel]`K͗; 2B(7[$U&a,b~GJfTM $I T=v{hsm-pmP*F+Pd 2Y؃-@RH kG% wz>&z_Y2 b˃ 0cŔmDҤ) $#}\u`*);"reeԎH VEr*BFxq/~٘Q6m&D[@o'Ў`p<Ņ9k BJlD.ִl\G3"K_ewj쥉+c!-Cv4aByV\UGlUڷ1Yp CKK#r&/[YWJM/yW!#0VoUl0Wb@-uzI&եYN9bmO$0vM=R3"S:G+gQP"/tʚUT4 ۶AK\+ kxS,wLkCB&ƣ~ ܱxd9w *4 AR~/Q)EU."R85úR0]_FMpg*%'~N_G<֪>n 01OxX"Q11Qá %ܓוtc R2ShCj_%VP M ݡexh+1R"((ԾK.!=uʹ1r/KQP5wuĿȄ@udWu 4Lh*oKKɍ׹zR[>R(h>tb^>3X3~/m!4 kB( T-Cs↤BOQubԤf҈9<^/1CJ )JHu5abDk);" }p|Dorh̔t F._Oߚ.D Fh[MfDI/qļ|ռES5,݈ppܨZGڏy*9L@q& %;W5WΡRt$Be{NλM%`0TMLh_ׅa8VATԖX;}YDl++"^Cᦍ{V ҊXpO(+Nb̲lY"(IɈĨNnDe:D7Ӌ%_W6_}oT=fl%#XV@N]h8g/4@*utXᎽmb{*qhj*$] Z1N(l3*aeIndЉ#マtLKHqTrqt5[oPEU~܈7[W>ja'h Tl7 hzBzFiʭnfQ %~D(eE7dX6z3u콳R-=!% T{!ʂ_CJj"Wgܷ0 ӂ_!1VjiA#2Mj҃]3pt\uZpV9Ҳ+n3bCHRɩD5FԧU[͘DUKtѰ]#$uvj6hQht` z`$qb# ag"Odph M+*'쩏Үg U[ /DrZ,ҍYnFXdcPaEަVZv(ՙꉳ0HpmU_/^n W9 /kbuk";oCKGدu׹f ]f#bw?n< JhO$Gf"0W#ەeq G}w1ʙ&1~3QfM##$Vz'hǨ<>3]ɝ_YõW%d9`0)²W2Qp` L} +guL4еΛ#Q^vP!eV@6|Bҡ4Qą7dVn˨C-_,rP3̐*Τ4@"iwVjBZMl"s:Fg``Yg7uk(. ON>~,<ASa"uJd]frBQŽ0Ko,{ n'+u/S3S1h9' ٬wSr)Iz/f’%p"`0>O0ONN/".dHit(wWJ\n×U)`4NG`biEgʼn1JcbbRtޫ)[-,q,rU;V, Pا73t}?OKف~g17>_z8bA ޏO'_r%OgQ>4M91 U 498N"M 57B~-bXj_}zPѻ]<2IU+]*T!743$gऔg Ѭώv\:ݲ>_fw3ADGuQPjT9+I]ej%.ȯG&ǤGłtmfۍZ.{a܃{v`Z'!>`2IHJ?k7 ;tz͘U#Th@P~BK>:7*䶅crMhZ5r Rק64*,f'儱WN 4C(E>x_>պqD'?(-..u\քAK;wE}Tl>Bb9.%$3'Pgi"t-F FtI)bM>Ӂ`fFLmZ@4! PfqNldr?L$?KtX8zJxH iڊ9bf*6 J/kϠߍ-] QX[hHH%h+DdT/ pԞzy8H=a!B&r#Fd?%j?YMNiC)jvxWH@DRjY@S,(Z'bP4X1늑!XLlSaD ր!sNԱFT7t"WrLw'Lrsݿ!:rVڜ?l |+k]@Jx'Gpp Y{Ѯ'JJO/1u 8RfNkf2)I͔+=nݟYTt^?'l@90/D^~7j$VQfݿGǧ1dHbȍbRX5F fKe:'Df@ '=-:!C[jѪq`;,!&cOLHTTG94^=Y68!H䤚!icTXtGK^ؓ]+fO }m~$rtH77 #2E\^X>hptm;.Ii2YqCd`"}=(b0j5MJ.)FU'6$P3$f!+vm~]J%v.vˌOv SjSM%9%a^nBt2ehȸ~Ogˈ{:_#.y MF`Э2J~4i7캾稉e,?^EVChI9n)ܮz{W@KVV.O1Ƒ|fx]RC0i9rQWvPe[߫#g˼|x?#-0@$R_9,$dE oV1b(2bwg+*iL񐰴8X6l[t̒$񔓈`:+2luj1 ͒2zꞅ 'dH Y>jT"u~T\wgχRF{l]d+Rv'p˗.ޟ ώΫsf`P 1iٵG.7vAʂ9g3eW>pO|(+"ֆ,~b#ۿb9 FBR%s1u Wr"W4KJ\?B\'xom"#%AG8R[ +6BU\P.0''3.0*U"FY8 #ٌ4`Dpj%H#{ JBEB 淮^4RGa`pxTfBQ0Ho6WBt+)߫ߐ?t@OK*v>SaEqMYA-5 ֝Kx_ӽwLꞈK׈hԈVJDt Xr-JjRdyZZ E֡ EmCI5vZ@C* b9kZ m1 /КS1&7&JL|+/'%kaR;j#yf3$xcŧ3+lkĸt5?HH[2f EݝDxKS""ɗ|`˒D>ՁP0GIY!| U`}*VDߨ@%(@uzA/һG2NAg)o?P/R9im+V[Aԍqtn6v*ů~ <#7wlK)WYQpAlEߙNF}[S㚙V料7,3$^`JWܕiVOSՋC*b$i$W5bDͦ(ďX%Tb$nQK?TLK 6Uo#&d ' dˑ*-Zce`M&- ,M7ẵvVڿAXp9^ĿyKD4i Y. 1-f-!T-T]ea0e]+!ڦM7-k51taݬBhV!nC!&wC)'FJ,WZ9n#j{&GزBǭ"bH!N9j%Ɇf3)mx~%TY|x<1Nx|nr21~Rxg Ϟ%eٲ28*nL*f,$+ѪK$}AH!"ױr^;mBWGxȣRfNAMvnF"$☮:sZ "@-!-aa+?. lޡ2_UAJj5XFAYT7bGjU;w#'D_r7D$lr GdO$+FZU"&lP~Do?<%(Mm)SnhrrM}c-<(̓/Fq'VۘB^{ 9x,|lQkfz.tj. M=j-"HߒUi176vR/P ɨĩEH : 5 ~b]XF4aʦJo :s(| yWLl%ANS0Z_`CRB~Hl6%`\ndhj#ܙD+=bWB~_Xc7qΟ?zJFVÂDN ~ARF  J-{t)9!/|N0v9DM=g)V3nMoym_u|$ %pU5j&2vڄ<ƞ\\PиpT  h X[I( T"tC%#S2k4?zR1N@ܤ+ f#$3 B!O OӒpyL+\8Bm G3\47Hⵟ=uu/P|."M@5+EZ%RMu @BA(ت!byoO'[UEYB`TF20hn84U`fEi.4=E"Z)ޢQx!tnCN`4aZ7x$%!cC vd!8sȮcm%aNs F&5O ESIhT#m"Q` ~(V&3_W6]iɭL!t$Yrh6C:Oqoʼnѧb9ڜ25 i,ދxە"<"Z@ \ bpb6Ɗ]x}cfF-ZPjնOX-&Sc*62xEaHQvL+Yiq2E>gam>-/AHPNEH]⏟ym]z/m9n`JHEbԫ< #47 '}fSK3݀,5nl3M{[lfEgfTVXl6:qYzS99Dԡ*Ъ1%zJxټ]w@Om1ByR_o:d+6j LpXMx. PR _đ8}Փ3yɹF5w&EZg"o7NMiДe! ї"l,GMO9X7 d @ ;[R/k(v%t;SCS/Ƅwf^c1DK$-Ykg8=gڂs'D?IQbS&䷘f v1܁Hh_fW k(394jxUAwҸmQP7Q@iֶ3ff`l%+H^h*b(Ajf~+uɊjG&_#j n*՚UMdǷ̐@`|E{ r(4h#R@S}vSS Fw,*9-QjLr Ď^t|DR/5U9ɋDD%q) ke>FD2\kMX6R@hRe{HW|I\nrS1Sֵbdڗե`3)uYn:d70N;zHr#{Fj"hkR>⠩FKn9 QwiF~QߔZ )z1ܼZ[քLt0Gz=rp1ȑӫ:; 8$vnHJJaQY}؟ ppUP]#tBF1)2 ]Q*HFzak mօ {Iޕ7:6 5 Mߒ9t??O )v:Yr!y1N18UĹ@LE*-_1fwH/f4w(/db,5tDl$)( %znR.(jҘʁ˃O9ھ* en#H~:n%@T'#aޖ;,'!{EQBC>t+%xr DT()]L/&95wL6h&}VezHi5W^yXj0"U_vi)Or)9Ε}u|mچꗱqB&U%ށC.p<$RKCć #.BUbw^ҝ/Y-m11U=1/kb 6J󩺃 M(>4،F0NS3D~ʹ  HedC5}"&M0%KT5c KZ_$5x]=*JЌ$95* rO0ȉ[nI5brbt7VՅ55Dkj:rk Ѐ% s&,[ K>P_3K+@Mp)g8,ŀ̋!y|614&kԓoŒljbn cJxrx]0yĂJ[o&Rs&仝nx<#X8[~g*!Fz,#HlY-ʬ.aR#&o39`H$7=8T a R~*BI<7ܞ )&^MVM^8gݣE$۞#+Pc plcKZWO;#ZEay|I<վ׿ՌH%Q8~f\ݤ8|r@ž_! (^D7_hgWPG*O{r \u ^*a#5A,E%Sm(3 HdˑÆֲ^4yT55ptyHI\*[E^-ڿ8?O#gYz؂ dsģ*:܋2z0By +bK[t}%jݝ`z_*lM%K10D)%W |A!K;DcoR8C6A_l5W5WYv75/MM +UDđmPikiE &oo&&ui4Ry^#X~K;3 s%ș6&HK% f[Y2ai@,kv^jh4b)B`5P9>nz}j R1 R~A &6ȝ1c YL,5,Ι mn7eK:!SvpU%.xk)uo/S#Vko% H\XW/t]j7R&l9X:f+n6쉋}cf_Tˠ^Ji|B_CZȈS)B'>]+(|!D7F`$[xG:e=E^*)#TYәGXW$eܴh1Zd>&.P80pV#ęd} H R,~?z{P(1@.675/A 6t >:@|#H H/gJ@ADqcp? P9OZ$7~]׭ L rFL@©UZJ`$)atJ@-Щz8 ( XM97!!r7a`" x#Ld '?O4@qHvoҁXZ ZBBZF{Z TY$jA"o[yђa_bMk5(#Zg4ޡͰaB-V 6`7mX~)Rq@̘&+Ċ&rNl?8z諥~ ׮4 p.U:~ҠbPKZʶ.&fS8[jDoDY9P 'QøU9TP'IpHm2%&'"ky (FixU[)I&_dIDP}{CG0 I` cv19hvP>66ð? 83Jp(`vrj8~\$4dh2Us0=M)Hnz 7B]DX]G|~SF"<6al./E;a%q#fȉ*vVlk%k}0@DžnnA7鸩L U{ S`,~utTR9Dh!9Ix"ZٖW1A ,[gY"! tyؤ|Xȍ0$*efԻU+Tz2*!pvپtlb(hbUK|6^8",˕*CW/2"‹h g8,E7GQ>$Kм)0p ;+it3鞇."pA9`Uć-g( LLjƺj f5=Г+t%,!-dt1BQv}{:)lLB"'<ڔZAVr"9C҆"Od$ko+5k1˺ve\/\N#Ӭլk*IJPvbk M=Z#%'q1J[1nkDL R.u}(#읛XnfSq I?"*a$_3yB`ɛDoc-e|_ cWa*`L<&LCD !Cz9x6L2栾Iù^AW حDQٳ1>('m8 Y'atBݏHbڛxM#k%,+)g,f:sZD g;slΟeMyzw:_rvf)r!\[ uT蕡o f/TXS9zl9)ӮZ8u1O!| lR5XjȫQ*] WSŬ7_Rh +dWx|R~dXz]rn2J:ˍt%I"*&* [=I^N"r lTqYk}5j./uv kέ\_h{e(sJĺwLsT΅$mXHLdNxb"?Sv2ϖLZOI2U'Lbub+)y>x9M^ }+*]\,\lP^*( 9U dTρW@`XxvE<^g1b~p 5`d!+Whj^F&Yk҃ܟ#z'˽RETjV/Au&8VHDlVb4BJw)=Jt*DCgjqwơ*Q1ΐpJ/7O,O'ωG?|%UݩG$/.]DՇI7,jkH ^u|^\a%(KmI'IEc3Q2]En&⼃747rrGZPj m,% S8(4Ba Y#xr D7CaC݁UDj͑ex^"GQɨĪLT2S77{ﴧxld U*[PYPG!㍨j[HV1Oe&pX0.qNJoںo$ {:֊Om,/Ђ 0r!:'ۙJCe<]moC# ڠYa|a1 cB<ɼ5z/h Gz(+ }4Xc2Ꚅ/̓fw%ȾX1o4kr^O)Ԗe0Hy#~x1cͼkKdگ&ɩUwk 75|+WL @Bc@G" GX`H@l O?T,Q}c YAXcxVro^F:bĭzqsËA;o#56>U@a|A2ՍIB-ܮ3CM6}S5hmx "UK :\^[vͿoOY6}uZЫ8 #5_ HJSK PQǹ* ߟ5c:&2L3 Ū>)OUJ C#EZ`8O ʘ&vzC6y㞾+* zw,X"[J3dڿSd\xg F|hɇls>jW0-ZWY\SzT Z+&p6t FVF V)@24<@HU;ܭ$MTPX9oNU+aV K >yYO$)hu$J.{H,%ZM)mAFAD $˞1$(VPl)}#m9( (Hp"KF{.&囻l ު#O*Rh^k2k.qcٷ= 8]F` (ȨT)bDčGbJe[GPKW/谈q۴v"Z-#M©Ӡ2 ,e)Dx 6!A_[İ3Q9O|HMuԼ I.OH#Jjs\udE8`Dc+d#rHA#N||l}uxz RE[6yAs%c3cLs PØGѮ~GVR =f2 EG7iH(Jeܑ0/*+ǟTe)M8ZvLzw[yFE۷e6rȾ|P፬xFG9B[y鐕ncLrbv/Ғ qBzHl8PjCo߃&IYꀐt.edϔea=BmL_-W6,`HQXR qQ@iq;VWWŗrC-|]U d0a)ljL-/Z&`eӈD5C=<`йm=&"AXEfn"NQ}UJԪ$FV3wTn]_]>}3 UHY؞T'xn.VN&#]^lΠ&~Lܬ̖=wY1z(quqP- C< bx@i)B'WᢠC-!h|u26 9f'-Fce诂_%mrJ<pLDvF;&:4xTeM{Ҹ1#G+q.}}{cj&+W+%HhpCҩƜy6bbSx]ݒD< ] 2EVjhB+b mtEL.UqS2T47rو*JrRdLߤr4TUEa2P/[B^Z1}+H^+2_jIRTYfjH /~RP%aRḍdDm>vRrl`U;㰠&8ׁ tG*xZY#WNCLeiѲӔw`Z)U\:8TeX??~j3!6M4O4/ڌ[-)"LW%PJ2[LXt$ˋXLT?m&ݖ1D ]UX[4:q&&N[ gO(?"3?>aCfv[=%x~*FyEZtw!wtloG'RuZWj|ݣKBX3`I;9V?_-JhCQ^9D\#>nwDI bɄ2@Ra`RT=O$ݭZ=c4#;ƥEF[~}YBX/'SZ*%'`$0pt 6X;XCji7HKaMGʟ^$uçu V{+$+j.&A)% KN{A=,>%Ru+,?i܄_d > ž'd]5i[zVjBH40+5 ;:gt##HPA(6UJa3e}s3Ov[TLc\W|/'JXZzO)CmExF# / ֳ}G޼* (JmS!lt8HK\eɔj(`$gq $VVh`z2]} ;ã= 7;ȇO5-}pyf1Xz >D((\h8_V*.0t,L2իbX=:r@ p$ڌ{1<,pl2$(׽k= _Sͪ$25dpVKk[!Al 0 ;^zX#؉N8LWBRLll YA&AVwjYLl,qvDt^Q]4S̕ګf4r޵m[ziH4 ၚL ŵH+y8 Hq@`@- .>Nmx_ـ-Ϥ.!x#l@d SY4QT4I kEu Z淚n8AiFٮoi3n5,LXI]a}NHC;gexU_<|ؒ]}NDj x>U@ziL f &U"ZQ &<|K}\0^v<:77ءr/(VC؜H"2H%Xif@Yi"ȡ 4PPA 8< lđ :8n$b%ao\l ug)z=:%G>ۢe hxAd /6T|#\T~BG [PE!4*wk_:Ծm2Q4LU^CiĨv8ZOȕ!tHЋ;LCc'.-OLm"bEJ$u>Q^3UkII"V"Dix_g`X\( C]ƖO&Rq<@2SUL1/F%dT$riJ&c4L:,0D&0\<\5 Sg$G1>. )iA ~',eӊ0*?UQ aU,ܐKMW^,Wn=!m|Xg鋲A4^2tsu.|k 0Eڲ"f^!*]X?]^ꘚAV8 DS*XLJ'q4I,1N}@ H͑jDXE_w٩RE<ԉeS @lǏ|MJ+&r5o濇O &cdfkwP w6,Ӽ.ɜk$jX):qዞp҆.|Hc ˷+g?*$`L+Msp`2f`EV& bFث`dZ0TF ;^D"ÍpRʝp$ŝn :c}6 @q iϦM+-v&lج6$CJmHBZ%"Uec1@ۏI!A0(@&]VWC)]) Â'F@8ؒu]%hԼI̋Ƌb хm@= /aDĐ #3N m˞aδ"C̕Jx': Dk6Q\rW|!b 51HYY!׋ ņz* iqT4]yٺoRÏP0hBVOyYe(BwFA;9#M?ӮE:D"JkN})(<͠Ćr}_j+)N@2tzDĹ 42(Ք,+T!mO ӾN OF VD6YշvJS6a^SM %vr{%Ĭ%M"7HՎlQ+7Uk/faj|Mm(~bViΗ&F4.SZ%y|)XCd+0ԽX8!\TVZb6,DNYL_C"R~W6'>hD FXЂTݭ6%TJEˌ)NYE*;il4mPn9:V {_d_yntC.ٟyH6ECq)QZodf {¯VN֗4/Rz'5Ua ,sAb&>=Õ T#gfqd ~:LQU{+X`S"PYFnMXm׹ Qd ?[s3bJB!o >n :n59jEHW@, 7i-S'J"DG&q9(⮓w?yhui։|󩪜7@ٔ>⸔imWc3+tZ E Y-Jt?HCtQ&RDekK Đ.^̺CYJmd'y'h]hCa U H= R_4,.<[⊧d$V~† XqɨīKVJ߶`Hݝ@ٴTG4/W_ P(=DTߎV(49[1 NL#Zr 瑁PI\HBμEF/K`E70z4__&67"{w216vv?'~͏jؚ܌u,YYm"FdKTu#ZZ7+\.{e!R d wݠ"dR1;GReu9.3ĭJDDd]֭zJM -Hte)_5?6 [%ds)ƹ۫0d2ןD~(pCojS'@u3h*AT Ykn2E7PђѺ {Q]ڈNq[4]Wg[Oۏ{Bp?I%)%SC{ jmmzcIU5=]Ѧ>Pe( @; FRpʲLTR@\ij;lftuњ2⚧1]""!i7,bܚs%)LBF/:\a`AC;7."lIOڵ % ZTTtJ:S # 2?#@g`z& `t^%BAFN @F&FE^BHX sB_fK#|I-X?g(W!$g71*wH[D4K{7ggnS xit8]D\>VgEj7"X=N*1'Aw@S`Srb/i!XZp4uva`{&"邇SzӒY`@kpwm#閏G("qgƓNqеz jLwy1H-6[+r͒n30ΪU Uژ" GDUcjr:E?jJCD0pl20A*kXlgQMP5>aCdO㡲-,Ij 0,TLZ&Z#.S&X ! ·^fѤn^E[b [6 n>jթ$<̞1OXũdRi1x8~m6CkPƕ^吵3Utm$|K.9ЖtȀܷbvR$iQN:f{uYI{vJ0P,V}pMqY/A %RΚ2p Ո`jx"IAL0y< exKװR$崄K[UzhB) #BK>BT'm!IchP iW*5WI'`8H0@ME$ XIpAV4xTMA8gW BjWk˸J]üT{KU3T\-5O,|v JFEJEpܝؚFh8-McL2C[==_*NB7Id*MçƩ s&B%b-ZĸFAv%#=c: &rT]"9w# A k8XM1n6>)HxK2CE˽.OQ` cGET*2ʊM$ˀ>"ؽMG9fDH+tAě#l3-UhfoYFNCtbaO"4*u#O4Jd L̴ϷK*d`,AU GTG/곐M~Aa>v啟'7(r@.f@!:1n}X8:e fb^*J*YI4NԆ5{ceDKbMVe7<Бl x"OEu),GcnqZM_F'ohrkޝ?>aƢcPǢh5oQ4+(Io=U c($[D/J嬩bʓ3JfBYǯ#0R69pm/^+o4ix)*ΌX/t+m@ K0%#˽2&1"lǹ:^2BD-~dOb*x9? %R֟Z M!owķSby2\_I rѰc=oInSsKlHR>8*jT2G?JQk@cٜk-xh_ӊUtjj*_? eCu_:_~lU P V F$b#&7 zg wGNn]zRkaNf[+5f~ڻnඳEG;Yq ߤ%Bs MlUq6'5 cPGgՒ-euur HmKw1-tkH9[}+ ƂWf҂mcJi=ݻzLI]Vkv! -fZjd&J!ňvи黸s}}+leBe!2.c(mqCA6i06@X)OS"K:P; 3SV5"aB"J@dEuI{4+c&y0G}t8ƠJ>-{ ~\hc[M+%ߍ,rोJ?D#YnE<Ԭ2yXmn#{~DhW/ĤVBQ/u<[**1}@}=1RI5%H3n1? ;L]%bd_>]+(ДOv2Jg)bbmyP꒭_wggSQ-H \uf{1H6Rb2W\¿ʔ|ei?9&E 8 *I.%#GU*A"ߧ"WeeHG%,D{\h?g]ߧ7  :ȐlTAͩlT}2xrĤmB;hu*YO(`t I7AX0Y .PiJ<p Ob}7K ~TxjhCZ5B|E @rH- W^5D.l=u:R%ESQ\(./2*{z0V+|2tdޚJh09 cnJ<7IHT>Z۔m;ݐ8kiazZc}ا&{wNGG75F*5XoI7NO{\ /*:}PL!3.ѣCՌ-,jz%^ޘ{vEJy*n(L䓔s2V?KCD/Ownn#[r4ΔEf@UNO!*˶ӢN"h4J9uxVXHIIJ@3 hX5ku!xvLة76@Jb)6=dLJ])vYAM~ԩ{,d F2CjF'FQ9qwQH٢ծyUfkZ}B}džFvIP6^h;_+q!h/kn=kHC]a u.VyѓԈ*, _ %G&jt-[9+k%KvoEЖ:NaOƯ$%& n[m1I5W+حiTO'4HR,?қθ` nt@D/An&J ؼi.3*!`@G] -q+A7杍&NTnz'@~f->L]IOJpWL+RpA : |H%jȀmTFݍX4C 0/a^αN] \q,q¶ {yS"t7x`#KiZFCm`_V1IIaEhf񜉐?dJBE|$=֤|c 雧\k-E? ͽLP D-bxu I3Z {RQ؅ݾC;%ђ[$=>蘞+VN3]40N5*2Jh]]6xӒ] Eʒ$B ˏubQwJ״ 3ax伺#;Z= 1 ;dl]Xz,5*3IOLSlU%BNRl&.!x,#xkjHgl rlR-M9 KH)7WLnY ZH{Pl#.OF&² 8Eb*oaEo. p$mMg^7TZ>AqY$-j 5ëˑk,ĚA*:^|# Ԍ!NT^Ę|V#;W6`#ƫyrظJWwe ~ly鮄.Lny6SYl)U<%-4%([w2 u^=nt:۬iTikmߴ{/xc8}_d\ h] R嵭h%DpKߏK7e9pƍG5qoy9YbS.tY33XU\ZӐCC˚9m8Y%MhD >- %2Bi%}iI,l(hGaX5Kh!HXmy$]P߈l2[´Dh]мx2m$M-<9);_'˦6/2[`4Xd Mnt&tU:E6qBr*ifԻ+8rD#w7kku4V{!ߍo-r$%m8*9ʮʻOHc A7tĂVK6UuohT +MdLU_nJ+_am\L1CZn͵+`8}c?!H%(|RP6$̛$~rquX#[+B*D"a2W#B+,C(8]1{!7z- rBD 19 D]3 fF"Ygd am29+r0To'PYL' *rT`ͥPHC2cmNZe_-a Ij-WE}c#4O|z=EduѼiV4o_QWP[0&aQ^k8IS O5GXjMq//ŮX͂T?F&5]j5 j+Ѧ87(jyM J ]REXQl` hI84!$͜ky R1.Pe)8G+ M1Bp6m\fJ wyXwl+g.& BQcfŃi|⪲T=7JB"q툵YC1DjT} 8L1ѮUs[FeVC5 y:Zi^v\ ,Ue~!bTzzpXڍ$,L_[C)y:VtӣEN^Sz̻x,8krH߲_s}̕ ۂ*+?")aU JE ;NgBMO"7Uדh aVj[.~`Dx@ f"`M7ql1@A rᲚF11{K,{DTgnZ!|t- C47R ֊#j% $"⃠^VPhmsx'x[d4BY]YAsX 6O RV$r#D3 \AijR-hbjW^f8hOwjZWCGk9_wءيرIEgR|TK|CETy e.NPX JM%hJ`N ɨĬ^< !@@*gi*A[µ gydGZ[Jb'ZUǔ$H]Nfև;TՅA"C9vڭ r>~P1.%MbZ6uWAd~1-D;HN] 諗ng.6k674>?yheMi{ . ?3-_ ?$' ]Ox{52(+XbJ.Rɗa-ͪK)UmQ/ -HԈYijS](mtak,AሻjrfGLx%JHB 3F%w2T?8] iKx.^2GFL 7\ގ1jc4UOY?Dw( I#xhq97 <&7BU B40O=ALƒ\v EcYGIy: ]&MWzU[ AѷP!s ~>[ Õb,քEts2?akM@m+87Vh3H"]F*dՍ3olRqSh2LSm|^cNKj&_\lu]Q䅑e RFMyqD">*~9f~=yG1.Ttϖ5v|t.,aB ʹ HY&):¸E9.$b# 8T'i`Q[i۾D~pd"\`dxG@\@DHux4*$쭮p)T&Rjĥ!|xu\TXՆlCd"H:.PɫBY8W$.rā3IsMN]n 8IV *X8lq`HesxT%E0n7$aQDA,=ZDp"ܰ>@DĢ]Ѿ0݆/ 'Pآ79l{Nd^x l "\:*zsĄao $Ҿk8'eyӡmW|c>D5Oz)ҟVIw|_M$NjJW˦CRL\|s&BJAA_ ;)aZFVҸQA0PTa}Thm㧏 ɸLQ>u+2qs/Ux0d i2 ;qtXJ:pݚϵd?V]tۋ(;j4'X@&,Fv]0M.s1t0Ll4GQWr{*q-((CfE.p| #Ԩl(}JD`4IP<#(@.c$J"jqDxOVYG2Cj4U$E8S7!Xp5o"҆ē⃦Aj(Q,U+1Ga'?$]ik,0Aי/ZqģRn?͕!G \F EQ*!mB0\6.Seđ~CN9$X2J.=2@L˞YdEQSUbt '`*}QC LBl(&I"gQÀ?登EQC&ō4u+ ?M'V/Iȱ8{xyCf6ϥq!zVEisRJl8UbH|$.sGO`6 Q(C18.ؗaS70a2p+qI‚u$$ѝ)AP5 x&[#|$Nc+L"їC X,vQm7PB䙞IYs0 >% +D%#,;"y)ֶD%;a:,E ӁEʉQ`+TA6Y- ˤ5R"UqdA«'칇l\<2iX$aŁ3D}XUAl[Bcg\T,T?VHRgGSdYV*$SM5 Vu@MSCr[1n4HnVEJWUoD|kJE[jX_7c].*P*4R`+h> d+ļ.kj` V1%+!q(5 .w+$CU+?jj nWQY,9QZRSܬQy@GK@jWVO2~\S) ,qxJAV0kf%]c"rcL-CX6(f\s-j{"DII `'"9pC 8uܷ6ÎLURlk\L  #Fż%FuF'АT26/Dvܵ%2̰a+JƳZ̾Z{vMF8ۇ-]GӕӪ=j?V;hh7gXC-ij>g_AMkk΋#23x_4ߔh?,t4\dS)1w)5mɸǺj|ΚYM\$ˍ›x_<1%#4g &z-ZVuF't}ڷ3a&(e_hˍkAȊDß@F82&Y.nld Uȍ  ?1\e# e;)}\t&M㽚2IX~+:|Nun3TD+s)\-;iB1uUWRԞZfΉ|I]׭Zcm_Q٫S` vaܣv  _,+JT,NjuWڳ#{AA@SEj!W)[y8_0KwWqIeF@ UͪPb˩1LMr/ݥxQ h*&>:Kӎ%x'jQV'wY&|K60JcQjO9:E\=KnBd@o:`ӕH(kh*.أn1b :ˑq2?AhRnS,A?) h%YX[0 {؈|8 ٩Ų{ **tq).ӸAihEd@8UfUPSss!42 ^O ?SA3N=N ]i dRGq]qԿZummY6=y]maIUl*?71a5w`@+uH.Zn )I,a #. s q~!Qz&7J5}c2i^ 1ozvl!NV}sy+f󉨧IiƍGŨ>RZ"z3{;O>w-7_#xD)bM5="l6# ۗfQ~͆EZA +B3 @MˣqU{S pVI hF!. r`0d??T]#_ EfbA0h׊Z3[w|ji! ŀCi*%EI  B,RR#)`?L4]ʀamABdI?]&$lߔ|$z.PO3v\Bm~  krEx !B(q!zD?>x-Gs@%k3'A[r|?黱dnxG<L6 jryjUkK^o;Ģr!g!q6Xȡ62KLcUk "R9]]L7s[GńvŎBH tŎj}nNi$ gKuuOO? ϛD1oyӻRI/XTs3)?AZݵm:o?z볳EZxO>D$URYs.S䈘:gEoSMh䪢C^woLPʐ4\*pA6ՍSsƢiÌ kP,<Zn04xÔ+SőMb2@Xr3DqPz+@xВRhdG7rd!EKwAsKE{sԶ6ɴn|_ h'CU2)9_3񸥃(r7؈ѐBOPo݌Lu!L2;E*VG4P EH <죭A@ -|Y=LFq`s]g7 1 }5E([*ʆo՚.t$ 7 Fu)sKOFobۙⵆa~)l&3|Fĵ3^*]j=Sl)NAe2qV戨*ULH`hbIݻo_QL`SM21*%mKB1Eur˒|X7iEU0܋52821։/?=UZ>wk[klX \\2!IOoSaՏw\ Ǫ#QJr&Uu Ut4(n;3#>{% 3Ǟ-5 bXiE7]+DƦuj"U1{7+Ut%S =jv$2#hkhWb֊y+)"H^33b".ԞiY9Hc~Xۃn?Z|VgQfP a% qto>,Vȡj@Fa@,/Ib uQ:6lA>f%#LD?I=!Û֎W7\YQqD rˊ'9."+۩yv+PT́PB~_c /xy۹e^q)DZfo? 4зJL;MJ熏A-4?B)+9Rl[yTP/hGcuؕRl)"SE f[PL3_2ȃod\UgYS%!Ld,/Nb m7Vӭ̖X6|"!>"c%8АRDcȨ,jCJ08CR ip# dT_n;6tD?Y营k;XbRih( FJ}$U/z!7;2#F-|XcOD9}oREZx1R0ud'Ӷ;0-`UMXh_*lLIfwG R Ĉym*_HtU-I +P֫|X妖{X8M/ C@.wN$ЈoIR5|q^?/ZEU1ґSI!Hg~_r0V`t>*j?8o_jJ*yifD&kG86Cd x0@("߂ڌsRXq_bGG=L$,P_]Q]2})"1&1Պ|ѪA3)V>Fa[ xR=eD jU2jbh𖗅.>t!nq+ -Cv,DVo+:q]UK9\7<+7,1HLz,Xuۼ3SYHL +ⷋi$jݩ{[/S $)k~'Tς׎0jHKrBR{Ա%N24OI 4FdCU=‘<mر}*_}]k)m)PVZ*OAʲ)Гl $8hLJm)ӫ^wgU1Ԉ s競U΅>^ Ľ6 Ș⌖ 8HT,@#_[zlM,YH*TO yF'ybO-e.'T©,|`>`2GIEB$06%VeH[IYHY'Fޒ[F93V-!c}9nʓ ֻQc7ͩ[d;ܙޢ<ɎI1IIb5( [t#BaOT-ب uGV}G`P.x$ٯSE؛t*Ǎ@RtE"1:xTDVL%+(+dlތa-cҺiT@0bpሉP/E^[Nc,nvu+)Z%LS :Ǜ\+g C 9L(24Ņ.ɻA[&t{h m}!P)* SO[ɴb 1RnĢv/},d\ĺxYmD&[Ȝ^IX\r̠֊Ii_QD̶PI<+A4 /Y.bZ- E(IX"_<7S#8 Ll }yf]:2xdYdD eUH.S:qY3Y.t'>"Wm3|>ݑz/ٓgE:u~B*J(o N9ĆD TFMR* A ڞ! [ @DC.: "ѿ%g}.4 Y2a=uZQ ,.4NݶF&0.,iκ(2Q.Գzڔ]1!3Z4a`Xq .Q QBѤ |$.`l-:j7*Y[?)u+FuX:qV^&J_. Sl03#nB(64*4V Z\[ C-*,q!~+Wn q+ X(=Av豓QG'CbJ(ɒG@S{%詿e(D*yv.O!¤ +brZV՗\t6ŏf^dl%ӷ_(ݸYVN)/^]aT]'Y{$]"fk{x\eɨ@|@A"l (77͂%aTX&4.|f΢/0wԃԂVhE hT&!)T*ETWNxbT&81-7ki. m=Yd߼Ck e>[:Tw_%{?L^as^ihSH?W5 _^jɫN\Zl j4\U'®Ԣw꺽4pTԑ249:zMܤ%=KuNh@sPw\k˲k3F56REvxnI>R5|N[ Kb50և"PZ,69Vu=+ <( jm'f|c A >@HI /vMӤ4Hec^d-:I%W8r٩C3 w6ihe}J-k?u OhՊ%:̊%\,@kNV5)~b 9v\ߓ!?b"⢨5ʧfmQzN.jvbEU˛'^%D2LQJ4;ۮU)-FNiіkS2K4YSkLșNd19d@Od5hj۩[E I9 5TduYVc̮F"*sb~<|VLpB. N ƥyR!#c e8€bZV݅سt]{O}I12D6 ٚ%rx:NG̗[TfQ* gPDL 6A\YV+۔j$;Lw5=Ϟfdg]q+GhƽÛw ͎4#$mYRBem{=^k," KPFN#DkLfY/&e~B(ܶ4ttZxGWwvE%b?uc) 1e޷q/!Fi*귷j26Iڏt KmFO lrm>6 Ĥe3(IkAfC[Y .e_5n ̚z!bw&K=dP^I_uz^9VOonl_3^<^XyQ+KT@ؤ{sS5Y:'MϺUzz(՜,%NqJazKK~!욨S[}eo />zÂ^ '!dC>nrD e*F]LUGYI".Zɣd^Tq%rm|G#N%·+H-7㤪ֈdS|?$ttDN@H!XX)!q40~gуQ A{q nvߣ賒c!A=SA"T^_*$U^/AEQ~)",.ks7I˔ԅBWNhBX[z%UA XSvz`Џ}бZc^Z[[|g̡vXtxl_ NA2)[?"ʟ($4 ʖ FE٘M8 qsUBf [b"A٨ٮ &$B,8"_LLJX:cHd fLL:( PT? 39q17K"c%O(.-CAP:"Mx_#CnCbfُ©T#֩R?qkGg'DAsHp|diȴMlR.LЪ<?[gP&5.L. A2KiR%t-\> dS5f9x @pT, }z%EݵRb3%‡*l*(3)Gc"Ičcϒ[6j(&-et^B25(yh>+kRNP5-0[)x‡K-,#yX#f3&Vc%|AΫ6qqx FB҈'/NeEb!DKﬕʰ#]Yz ~\R!^{%܎eB"؊Rb1g)n%BwT=IQA^dOA\DS\ %?~H# oYU鈑 3=9N-5AM!݉d0QHZ,F+fSđ\40R+XB} KBo/yq}t̄U)Tf2fĘJ#K#gi%|Ir9bVSf֬_ld{Xc%5C ԌnSH(RdT^+}Bˤ)29#Dк-)SvXQT3cY"Y8F!DVSnymQ訨|' kTvk!95{2ҫ"Lestd(Dꢑt8_ 7B-D]Egk:~cfQ+镙F*H{>Q!9Uy eґP TgzPZQI19T%[XkƘgȶ'v4#S\\dJE0TKcmr{b:3%].5Բ3Μw0# CkiBShJ(]!szl6H0"bױ &Jn(@`ijG졗_t34B~IP9bRȮJ N(P rN>(@PpX"p8'E p鑇],EKb^= E8 ^ӯf2ڵ[ůQks9Q) wݡSlĬuWSWk"{ O=jSWSи<Ϟ19],ZBbUkЏikw4յ_Ϸ>TT{^mOY^+nsl%rI;ZB@gNZx#ssS+WbC=Eav)l='-#E?a S 2G%ZAuSuW!݉zg%vF7Q"' T O"HK~1?b^1AI,eUmC$dZ1N |~A9l0,N(<$1A!1)&ر`kx8U! bL`(†4("X졉`D A|Cd0I:ڐ)+pBACy0WnF^v-Hн( Wfl ʂtcy0,"i y^po݊PVH ;ǜd wjhkEѣWƦuGIx)`}~~xamH1,Bn pE!Vڹ? z]$DWkKwhȾw b4 &$B A$RZJW3acj *D8h{X0E.t'KV),SUb ` _".X8/‡zk <1m,!A4P]Ԍ[P%䅖0T8Do*GkPa RV;4B5kyG|lDŽ/˦ϴ/ ]% AUNTgk !fRURNL ZdOv@2͌Ig.Rl!q9HEC&^l$Ƶ,w i& 8 Om\+qee bF9Ij%BDC\? (.EEG-x"otq1a=@( ,{7/ M(Q%I,F H@vjJaH`oq0(0 "H$I 30(_. | T y!b4Or[3@n BFCtd%qi3$ (KT} HƷ4QXh]B P/Qy[)[MnvHW&4tЛ4?YA|*ϱ C͞g *`ȖWST{TXVQjjf]m0uM"nNmA!V4D,Mr"!j!E+IJ1bjKc*܄v[HU#e%%jҝDT&l{EtԢնF[ J.m;٥HrVY13K|#qE"௻ҽa)Tv_}W(F2j~¤Td.8JL͆.,ω(Gj# ASYʛR5 w8Ml%/?$z_NT:GjQVæq9AaQf,jXbeNPEw"鉉ź><ΕCؚ;M0OMnnHb/N:Eo,纥lrN#忒bq,ꋥ9]9c'U. ]B5AU/)w8\e0޲5GJtuz+9HB#5:T W1JhQ#SLPE`\ۏF!]C-Gܫu~ !f1b$u# v,@: +aP TГ<) oyTp'舲% (1KGY Ɣ8!wqZy Qrz}!SpǐTjZ)^T&9Vuyu AJ֫Iv d~SdDx!a)f~80"Hnq[ O!wem%Bi UGd)!J.r2Ȥ৩tiY!IdLԐeQK],2B;v2ÉOEBOf1[ؕa5u]s.Q2 *0i ~&#` V/ȅ8LO[ȧo/&r/djHF'MY0*=ެ1UÎB}Vfb*[Dcgc^fĪ_C-cըCS,D?:%F/eݕ% ʈҌ|-_Nٜ.hD!|~1 t)LS" /)1TʞcEzZrU2.uo]!W&ɏ[oj ig!o(GSJu%օf2=T+7Xۏ9.|ZJu:ƥfz#id_Ըz2AR!fҪ l+dO)nIgIɜC1qvm0G٤+m%i}RǬSo<Z.S3)~by/O>c73 #D^8fE;RFk) '*ZRI_lIšD1p2l‘^$/8[Hڏ]S֑HD$+6YL7J!mjH\]Ľ*_}4C!|}#pfYRnA)~KRuJs<ՙ{¡*'Q/B~fr[N,Ba/(C"ȥo9;HUOg 1LC.\؆jqjV)܁ J! "L!ʬnH*QxT.Btb=F#2~A#,ܰ%AcNY-p!#p\U~!DL`M䠙r9b@G(>:<c2=`L9M$ OT$^(XP=\^6c%Y @%"b4<:8C5,xExO[H5 tZKкbBihn#+rΛDZ: w/ǐNH־96r&L C~4 C QB RZ:.fBY> kK+>a\4,an4m1"^O 2Q.5,qt!j՝<<9rE9*(4RH_@ FIJO VYCϑ Y9[:&K#q14y<,S4kMc1?ԱQ)4SeJ*J(I zʣS$OC<\2S/(b ^X`lǖPU)fiR1J|u]s78фS౶Dئ!l+(4&f94ktM+P!XlrTfLv嚲yH\i!@\!j]Si%ak0YlaŠ9)t$З D(.bz 152`@g ` 4H4x4  (  sĒN 8A&.:l{1'Z5} ZQ:Ր\#T#gqk!%9 %F2XvKԈ%"(CD1 1P0zࡂጂp,/;x}CM(#cwISIC(ɉA ^H8}PE$/.gwjQZya|J jvJ\( C\$X *[jRXj (XQ{ADžQY%ш[A3HF5p!G;3IB2!OBbӲF'`0ʦm?wCƐ7T+" WDUBY1`A=(lt?+D$A%P0L&A(,@1S#MOYPyY0:-ŅYFgOHU1!0y y)Z|"!"0H% -\,JO#FT+VɤJ!1H):0{ubEV)nBJq^y!13(0Jl:{7 8QEQp'zx :CԆV]" I(""XaH,`#4y,1VFAM@j D g`G1P"⮇,WoirH'e05U+=Kxt+LhWwN% fЮ {=bFj/I" #te.YFЙz~eJ'LKcz t53 LBJ1z2p8\yF"R#,|CaXV5XZB/GUޓ&.tesP*N qg[ϊC'(|H s%vv+F5hs,@>@u;X2w{5( {Чh\M(4"{22,X8 Ԛ % ࡥ`mA~S/xS;\H`ye#Kc䒄p+O-Q>:M+lQBW)/qd VA+dɁbDb|ו/$"xsfq,5io%9) `ڤC5,RyO~4SIJfX"N ([d>):mj*EŠxы#FJA:jF5w+)Ѕ݅f4O'9IL[Q:\&]Q\UB:c~!b'[؄DwDcKqk#JS3RvUgSgjVM!ƪl&7d2[/a ʩB9sNKf I/fu6ajT_qȕE/"JQ2 _}Y0QQT&S5fڄ: ]N쿯bn/$*1#{=Y Z7:wP!7%o3V毋ĢVSnٍS~j71JO"$;$~dzM!N'2sJuET6>ӊ~!{^mjz^Kڶ¾zWͦMNA+-z[MnI\W3R#C RJ*zȁ S6y*y}ֽIK-$-h) f4:)وR)XE'c; jQEimu3\ȚK5p s)h=\IV~ҔqRG2DW;9 ]uy?YZ*ȾL[ /#CLER%WnلXAq9UBUJv&UB[cJi=t@(UU=C͵8݇S3sȅi_܃yʈge[ZVDr3ki}=ǰӨHYi&?$259(QΘtX0YYP$ūv}DE"-!"ާI )bPQ,ךSQEXt:.IVȌF#'~s FŠN.q2"S96+#FaK 6(E.s=)!R)8 Q!y8``HfEX3L͎Qxac  hx''dwYيQ*z 'R#*'4D񥗥dDF4Dݖ1rZyQ.DNSkS6P6PB,RS)T)D; )߄=9#2F M =-r bPDBq3Q0bg GJS .\xz#>b"΁D)3|SlnP2eUG/bRULG A(A"N@y9Uzgn j.YAPzB4W)(e*Ϫڙ2qGaATb*,!;|gpzMS  uժ9!MA)A ؑ}a WEFD "? @$"ta BH srN(B8Þ..R8he 8lЍs<tLQ %X#Jt?BgiP&£")j(;4)l0 P 8K\ӼBv@gRrF4WrE)4=XOAQȐ0j t^Ht%]xĐ~3X AYOTɡϙDtcy#8ʁAk`SH1Tu %D 1Sثa1Ɂ ڞzK.-"Z̄-pUE]U 4AMx221>NB %Pq`| MlR)M|q pC qM*dV=QB$!_^͓\ "c B-b,7OsTn.PeCB|VLdqb,3:%<aj !Iy-tfsѩxzx1{ R< x= <) !EQ\ pð2$! -RQN!`l!" DS8GfO G4 2 !+FQA hK(҆  +ΦRc"3kNe CÇq"K@R `mD HGr %Cl(Kq"[T$be``% 4=YŅhymigrAf.8rf 'Hl&Q.H> қd@9u +O3B6%  /K@A\BH(AGa]d.fip#`՜gajbB;Uƅ,vI iht =`0$Mhr!`_X Cv 4pC,ԏJe%VpIo"&+bP]=}-c JETZH 3-交I(3+ Bfqas^ђlj8?T]bgS?;<[j,jVg;tڏU$E$ *n *NN81+DP5TA#RP)y&RJCK ByQgu8!Z<’Q@[H_W EG Ɲ췘I5g"P3]3acaєIKvxIX>Ɔ ! !W9tdD .(Usgk=1WR3HT%4=Ճ#b ZEnhZ # P/6ErD\q Mq}?,ztF [5c&6*B!tRC @.X4/.6 {@.A, J͵-' `MEq揰(BDyu+xtؑ) ,#ܢVKBZ49 pT| ؘr$!}GyQCd(u). X EPH@8bmA1P\yAN8_,o)V:lpqr/*$_\Px%hCS,N&AǜOpE!ςho$5fBzpD@k)RB0HE,Fv bȭ%Ršc)Z+pU!ɨı  ;#358D] !!\HLh4?)#LbF 3!AGQ a#rꪠ!GvՋ4V!a7NJVj3؁|{VCreEE2 'FҘz' a+u/0QA%PM1Y hR$AL Eq&Y" x葝iA,%ñN(鉉iWp_ Ax7|-u_H"eN0e lbtJ8ֹ!-`ҸD%Sw& 6a%E d~5pSk!􅷗q ?O:4!u$N ܍|:)FqX؅;V!P(¸Fj;qX aüGWcٹFATE l!Jގ/̅=}zBjrnRu.n@mXHLTSFA9+<PǨ`DaUQ~ *(+5 E^H:* -GP^̭0Xsõо"6`A!GCR.(~&Fv**W B,C`D&` Iٗ s2:R֬B d!B D#8(@p.p@);!gpOer""gfXa1N1lC#+$C8)BgpUB c!ĄP`QU4a-(\(f,a2 hPBgG,7/8D"C&%#; \crv*3|@Dq\0y6'F%caB?8ra$kɿ1!9L ꪎ)YmSsj= g#иRb} ^s| Tg?GVrGB,b!MP# Ќ,TdD L3`&uIa܀ފ!*K*e*/ צ:-v7w8| /3!P<8: eP}mVvAPk()XV(0WsHC2109ea&$fð1c !܇D#━f*9 8r `s|H $";BsG!!aŢdzq56doށ8a#L|) &)@p:2* K`[01˛T0݄ aEp;a nH*05OB0nR7 1 !jB;/wf;0" s}Js.K-6E'&SzoPؤ(^lx\U#e&K#z]"iPۧҭ/)-)mA}z|)Ȇ;}IQMBES{5[1f G!u⓯QF!I(qVHFSrbr葵m6.TKQ[!؜\RNI8DTq y ) !nBdy͉GLRk Sqr)J:h&2zWZ0Uj֓,e^q5q2Tu CȪc?_?ol{1* 1Ui7a(yN a l#!W{\ MjM 905MjYD𑆈-.v,Ws#Q|,j‹!`GYAcJSD30 Re| NU5Fg~8%fWv,k$IG|QJ=ĥPo^35ճRK  8@9"J#$hhTsB2$Ґ( {ƙ(Õd*eP"/ix8J$J4h&x$#,V`fZvHY-,L!XbӲD@Ҋd!$-g ?HۉXSht!,tVdI(YVI V,HBpcذ`O!լF? Xœ^$zY`5n8 BqK߮m믟 `G =@GpiMfMxX()hAIIkk'suJ mZ] IuD抇ZGVgS]ʙr 亗\8E py޻rx &($8r,q`*w9Y]-O@Jw[X9!^9d 0"Z՟ H`ѢZH[MӔԍcV(Y+-g4$|ބg!Rmn*-:ix#+)"<H5a 8qĐA2@LK^e1hc1vop0J0;-aK( ԊzwȋX@b/q!-6vg dgc,bBҬtGe XnVxErجI{AiBPĕh(dS!&/kRB  ' 2bӱnEè`%ѱqQ&^ZB^> (Yr<@Rm4V?2D$C'@rC-KVGBa&!Y{0h&k 2Sx?bPbOALE8Ysfxyƴ8PDa(*Bf Q) k$sabX4ÛѺ!r# K>=$)^$ 1M #aj-"S C~HO#M wCH3t0H)-o&Q6B$ Y.eSH@N<ID*BT-}W4F//zD-s˶=2“wPGB"Ef;h_D"„r$Wiօw^%Qekst7Y?:T~!RFzzRZRP‹Q0]h!kS^B"|w4.?bGT8{w%VwubPO01sx[JxC3I5 \V;ju;t=ʙJ ?JRM]*)A& 4R,hC0OXbDan/Ǚr1^?F!WAdho*D, .h50*seg !_(WJE25n]rJ=Sq&fz#:뢬v5!, Z&J)d1^.{4!vD/B Y C?SkIk'ʥB}Bﰤm&,>*EN*ޞzXf={#z2j1_)sU6V3Kj*n#3X/=l\Ows?q;]˛WTRb7ة W52"=_D^^DOЕJKɛ^i [$; f[uӭsr.s$JmRtRbH6k[v/:%J7TS/<1D&3)(ղv}DtEVA*g-sIbtEE }D*e1N<'no961^'3M[ e't@ɺTJ]'yOF6/53J9?f 9r׬"cKYU &+S]RY+|wbi"(:q׎QIۦR$fc^B%&kp!U}{LTErD0?= Fi%(:H*uUYm.RHcy½vڼ"%8.QzDƒ,Q&)hiZ,3 5&HI@Wm!Ub㓵)*uoB;Q6@vfX"@QʃGBUE (9 acXv=‡:\@h  0@aZ@c5ry̳HFn=NY%(XaT}cmQKj9b褷g:5EU`?K/.5HzݒR˭Qe`;,7f%+TS&B&1]bCmAg~JH^.,m4KxlJivjԏuWūs{],)a:J0sÅwIeo,ƥDzJ.h!l˜f85%._Mnp!̳m5p_d)MX:]wu_m2M]SFʴ EEIPMilYn䛯AA<=Ky@|d!2͆B5 Z[TebhV$~ uhdwVP>x~zbeDW;%?a.,xn1$;ȹ(`%딿/ ?Ξ<Wzmèқj:Xgoą0zip\W5,`r|ɢNխ[gY\ W^,RQo}K5WzGCfE _SD8x6#"i'^ ̄xD[TB!fG/#BD3!κ ‚xCn'ȍK26e)؍qMSEOJl62πiA m?u D#4įW_Rq>oR м.w8Aoѩ@#],dӏa#mܞCO; w0^Mk۪^zn XZ1X}CGE*!'7 ˹lkI7HVEh|RȥYhP~LXP]Ȭ*wBȰxtպrk 6?/ٮTOy9!nr]86?TegM}$eF,z/M+ROP:5 FRt盷^tfvXXD@J$=w|eInbHn BB39|Ʃ:P cuzxQVi_%?R7}mב% žc2tU8FR;E(Mdkj mϤYġՅ܏L)Ԉ2 Yno$wrz"I\ZW(Q'ݣ{kJRqW5v8_xj?I,Y/ ZOE䚖|WFfn%&Uɦ?dkv|bjQAl'J+?M'Uׂ+ YT""\xUoFjYuR{*?^Yt-(cIONVS FvXCVh0XʽyU0u17y",D~J`.(sҗ6%E ԊsT϶} co8اNe+$g"6ZyL~Ҷ*0I+0mX5Uk[-MQV&`%'ij?Q""㯯'rɌUBwzb&bCPژ=ؽ\#Nd}*72.c90y,8r,MBxJԳ٠Q)pPGf'|[}&Th$R c5I;mIQ=Qv(Z K]Bᚔ ىD 1⍁E)BQf0t"_+M,AI}#A56y=(B[W-:l Hfۏz4٨0RIeatYJ&PEdc=cS*ɧ’ *a-pCE%Ɔw8{.8/0G!%BB̕# 4F`A 4gtSR R6J52Bh8<@`iQD҇LED١DA+IjɑBطI`x"^Ǜ 0d5KK̤JQ&h,BXDJE=bN+9S e|I-F䗢\UF/$nڪQ/$u+ ACHeI~ĉ}!6UQҗ\MlQAj֖9I ծe:+K-M]7P(%5ֶR)>i2S_B?o[ѕd"#V}-XV} /ie$ %IJQnM#W/+DaDp'GyADJKIj#d.HPZE22k\f%G+6~zH7ӼbeۢUWGMgV9f)V;U\@T+F4d(]^|oOKn閎ozYv'=Sџ۳O_oZ-2M i~٫FΠ!Y;!LR|k+ $Qrڳ2+)d-("d!$Fl %HS dV-2'za,&hتY5G-q0bMǠɈij@V4v  iVzy#ƹUOWp3e:l/|Z<~&@-'$%BSqC$s% =Ȟ URI./󄕥ZOڇy+2?unbVTk4N5,|u1y +&?3a. V. 4>l>S, '1gaQ#f`i]C+6Lpo6JEf #&\Ddje)Httn )PXdeǒ,LM1qJI&D]0 ,]"&RxcD_Lxhu m(XaI8+3B(֜m npDf61047/'ڶ/E%֏gʻ=l&*M'_F^n@ 9eb(K\NѷCl؈Gtv['K&&nM3Ӑ~tzw^FC򕦚4׊B ̆ύ=(.F"̒u $48 ʉ |p}  8@iČĪ,$H-m 8ӉeL7]K%]zb] i] ;<a%oqz5JH=:wM~-r5#Aj}u<+-|GRn %}vs+^9xNy19ǚUwrV>9o劓'( 4}*KBACU# Єбhp2~h HdHʏ' P`ڑtHkE$R$&iɾI8ga^R5Y2 M e\T[>-TVE݈K;# "ffIEIYH"\} 5b(!6I{7ԔRqj a/μ)J9ƤQs hpS ,U\ʑQS X->׬@hӝ" e3)Q3JJSn+ o|HTeeaO&NBtݹf6kYջX v,Dh|܅a|نS<.7bJWP[7:%gʩSZ@N +1f T'An^.97ل!ƾhP}Pm+MRUQ*%/>ˏI;iN lvIL:quu]͝N^br[rIJfk0Ljn,/Tt8>d"e'c"x};S'l@Ą!a䰘ܲQ=rT7"&}WxXPM3I.7] Da=DҔY?{bS|ñgB-&#|q ͵N0_?+z B gVm牃#!#Wޏ>/F4dJzs1]K&PD AHB@X͝cw$OVMVQQy:57dX*̺'_(lFSpcڊ&kE&1#5"za!ŝt4xSf,f >tmWr `xt'C d ט(6,UW F8Diebg8Р潆Mpٕ"fFQT3/y8ZV{]q=zcKaQ i-U8W_O@e9#9ȸvkO+ssa_DL@?|J?%ֶ642Ym?E-.e' i"aeNA3!r3I5ʊ@+LRLpF^ 7&+H󠥜+~Fq9 hZBf0*(DlS䋶[p{j[mNibX$c?%֋ õuH;rYV4q3KKBLI?.k;Gic"QX!߫\puViG~B#.ʂ&:MWoFYYIPcpzW{Mr0nqC 7oJ?o9:̈4-MrĬe]+x# zp{MpɦpeeѬ9G&̲cit}"ujNOb[[+f[WNv<:PA24&x 4DLEՖIe’]Lœԫl1HX2vJZf"Jm:Q|P*mM|B(|@I%&*b3zhVKB<8!$x.oq3']qlFKϿ8,BW3DW{\IB(L;*PzPd(WdGhAsZ\蹕UIUߪf5KADu"Y'9(BDB8op  . $ KYn?2rqBh blFn̊'!~X__OsZS[' L}Up G%ՐPQ9Y$-+*<%IQL}7y B1Q%&&*X`PUX"Q)B =yľ#3%0X% &RTP0<4:t5 L rāg ky%le]H\a 3^̠^юY~3TO)5G3dVRw7E?oca݆hTi[~)gըr%/Fn=II\yfz5GCTB;5k[ƲfD/[]a"V"C3t蒁p9pE ő@AAxLF5YH`f\)Qf(b&Jr&@.[ґҙˏ&^ l,(VP˺϶UPt>^aR2uK.nɝB#sͽYNBtWЗpjg+d rݿwV+ø{-"vdV`/0{lxZoXiW8@5}wMV 345p߸=TaW_؆ ɓҥ5Zڇ9!O\˙#$r k?W^%!Sj7dΜB"";˵uO@) ז$^ Zŏ0U=:X)m#H\-)R42&ce=eMf餒 !l  LYzf`TBH". @,]ykA,J W\(r *ce--o>1*7t!"Ci7,Ɖ3obD.Xɼ if1]i)s-C5ɲ 9dޅ!i!RrHqբuVt!aOSM途Dw9.wL5Z85(=@+f( kbՁe0gyv唓[3N K-:b$WQ8hT~r]h\RYRD$kuBШ|n!uL̾hc""EwKp*6-H,DM0 N^6B;UjWtip]FDOv߻ JA{*h# qeؓqFM~CI;ܖx2VB:**0T 5\SZA"u8m IIĬѫX"yB lR86C; CCZIjٕPm@)&`9D$$B9LHKRՕ[}_kW{ڏ}p;fmtfM'k=24d"I^gj&6a QǤԹtzLBXngI),R |_#&J `RюD3m^:Z f+ˑ#W tbBƔ0^1HyaD7nmROojt1+JW;_ڶk )IiYɣ$Z@\Zv^Seڪ|#ߕz( =A"hEUso9jjVE-K%K|*6=4TPgI?4I($*58t&`m«OC(:CCd#dƉ\琿_Z>.ʐD$b]ߖ3+Xܳ-1pTխ6] lD* ޒA d@o(< Ж'IvOMRnDzyDW)^Fzȅkr.-OR9IVFzю]6t(rp6d=*D[c҆U Ul2u"-yXD}.D!1&WkcϦ^?4aL KB~ Bߡ9r,2"_GY:kDrE3j1.|8]]uUFS`Zy?gS tѷ4JCKB4M[D* ;/ē88"\ވH\ږ)w[soCZ`PrX*IwNZ8>( Ԥ8Cfk+4_Ɵm IHȤWik>]L% +ΛZ߃xʚ'bQ6DG餮₋JZ|WqA?9Ke4ݺ]JRQMk"ҤRx}=!X{;2/J nvJEo#P#81=X&o@T;[j{)H.h5OL-c !]L{XH'G/1#YɏIq+)DS)},vyf n@!DF}+l aQ_IKYTPq:kTC%bPB 7$D\1 MWpm=D)Hxב=abcm5`~R(fq|N"82GetÝ*w&F?g\BF&j_f*C6cmF9$^迄+^IBP{dCJ#Vc}M>-b[0IMsK!E30mLq7R!#n6+X4Pc\B,+ @Q.t8^|;͙I]R!qgu4+tMAB| q^AA!y,RZm 1և:*%P&֪:So2TBS\|Ŷ,=C"+7,M-_zKRmGu2͵cd'?IdJO$HVgRBWnZϣ5"Vlul*YLэGC.`UD"Rq)9HdTt- Ԑ[JZVBwȔ5yoh&@B/ Nwz0$2ڶE2`) `C"F;m, $pdsEr{B8oY8N2_$ShݕL_pSI|0O.ȷ|x 5 vo $ٗ{ & BBxV UzA;s>>"QKJJoxHLTO/B;W*~Ѥ@àtB`;6O% _t#;To6gܼ—O#.>Q@殛uJN E7寙Nl5 :m]_D_Or? {8-ٷPL.dΎEA)sDx2$q &4PMQҘb'"D5H{s^ {Tp$#>% >1nvc^y [Iϵ$8jҸZp8>,;^oR]:E\QZaUȴD(_=q2:anZgHL61f"EP1GkYTP\y{;uNn['a` Ae6hA!~9ɴIS'̬k!PJVE`e1aD"\zZtu#Wɮ՚j$ DVHw#6"%oRAnhNl\+ 7;m! /-'2;lJv7k{ jhv /1"ʅAz Ԯ 4]>2:6ݽPԈœ D֌(S%TCEZ3jNaB?XlYBR'Z%"-2 ZϋiH^`UoIx7*B,<кF $<dł|bࢂ7ǭ`?gLf8D@!Z²Yx` iv1fR+ӽG @;P/P\lsUQG\Ǭ{trQOC߈i׈xr|*3Bd'?a,좤=G83} W_}@sK$F+i!Y>v2rU-d}iŌJ]U#"zJz7L@Ξ<ВhDn=F̴m[{;"CDJ&$jw$1x$NS&x٨h1)U|a48^MF(HTZOtcv᠍6%`LhHM x511 ZkJD<9E%kKHK\t8)XfZPR٠HzMﮋSP')/ ?r-}(G2ZaGjlXP{#rMw^Nqb[! Mˡǣ#uNUO&o=h+wqLOEx h gS[C1>0! WFdo-eBs11z1lkX|[Obr6!Q|* D~Y ?(ӹ#PI-)ڗ9T+:`#)>A#??Uߔ Aix/rg6B}Nn%#QԂp P "c/m`бNwd"]BF$?ׯY ̢L\֫U0LFXHc87|`2Bub :#i:)hvC=xUH*"`{[ Iڷ.6,Qy@TijyٴDr2I NriqO IUh/QFlzzw Ee#^' hٴGfn~㔼ܕkB6?nOSRvrbr3ғIbyA=kXFR- 0#+"1GˊА^ DVBJxLCQLXC=q #~D*3X{1s-p4T*0H iXPZ"+ n$M70VL*Nj-Q!9 \ />P[o&H=_.U$>2Vne*q|8i4Zk,) W4[L}X(9I'VX,B_1ρ9EGfQ8iؘFLB/ƒxhZ+uV(UF*0 !Ah\ih0dUoԆܤr)E:2#V^xJ4>MAp%"`P@SOBŒ:%af,̽+c=D&}/ܘuStSQ+]"ky%8IXϿMe&@Ȝ5I!לvmZ~_u@Ċ(ѸK` <7 ƹRM1rQ ֳѸ4[eƸb'6 Yȶ;>>b H`BŢE>< '*(=-ZW) 71ItWZRjF=X|ЍX[S%aB:cfuU b͕4ҠQSʰ,91NJLQ]Tbga~f nCoZca(V2/mHI+ tJ1Uk.$ V D v!~`J>"ŅW 4!Y9V-5`3^.Z@NE_:9.ǔCi֛W Wㄲ/Rie ]l+ƾll+URb5D\6ܺ{$Ӽvt(X&|޳%B+.m2Ǔ\'+,l7z:67zn̼K}MꆙMګJANgv'i# j DI'GHv 0qK?;'3ShVddWԛX؅M(_E!n Hy'qIFJȓddIO53#\ʶb%HDo .H|&s6Q؛DN[Y46QbDqSyēN6*5^Х FeMC̣PB%Ge;kOJHhn@ip pU{c[,LAOBCϪz'f>%EZ8W|EDq6 apb딛*ZEC^P $fsOƥC$;8GnR! MjsfZܽ褽"•~dcWa^vJI`Rz ^ #} d92+ qqYm%QzorW񕢍b ͈ iCWW.<=I*(*. ҳ63[j5pu˯a\4 DUmz4[_MRtD[ĝ[WA\cxI1 Cw'rwyn :sW +ӑ-~B(G ]iBob7Ū0H@laI˷(?pb˗C<54YKRۊr9(9qh8DRtHxȠ T2[$L~Oi*C[7\!V+oR'`+ M&JfOU8cڈH *z^.FpÜ)DQ9aMRye/wW=PؔIhO3w XL+QZEn鷺7Mk3Bw#ѺBuFK^Dҷs[' çOV#qAɢא1SVXwiEV='4`}GEY eRta4.Ga-UP$E`@*~% ILaEIfa <5U'E>±j2Qnʪ_mb %$!.qq5g!C}%L~=n&!C^W{k%OȻH`p$nZ6K(ZY1+U?63m3JŴyHMTG [ VJHӰw_*ElN]rAKħpjXl]4+[cL5;7 lCBā8I˵V!q<*AɈĵRV ̴٭șɏtfR,ɓ*+䒸&ꖨJxj}W/iʊQ)k)\D zS8 Hǽi][cEZ;R/YH=*nb}Kf#GA/AKzVĈZL' /v+$ vKUT#(=MJSjB"^\Vp=c3VDF(PA媆k[N{iMƀOk}8: < 3Ii./0Y']}qlم Q%2|?=bo(iaWGQ=_ykLfv)'MY@C:r4 tT6w۽;^ghY=ɮ]KZNq7FcVr{-rznDv"1Y~.}/XeɣEOcAJl0ӃЈӖe?BsD뜝7e,0qXLTl P3#6LAe!&6bĺ8FD:oDG )9;>O )J}]ρ/atydq.z;}.25ĿYwbiyIAաұѝf?|PRii1~U>{db@@i R7``XmZX[p}^![MB!M-#ai5ZL7:ͬe3Z7-7aޱpd6 Rӳ4<^~'s.͂Dk\TG{ `#e}r\XqCn(ʘ9*z:aFo B40IJ7!X()xyb%(1&%_quK8PL])"a`UQLµ,nU JtI{6B04=,MlQZgd x*_8<ڒj>+ҵw@dT/x}%t`'p"1̌bf1HI#uZB8bl@O(H(KWjtc+Yeͤ[RJf{|.T 5Rj ծXe7%U"k Krb_#dRUjHO5(}l@]HBe൲NIU3!. Ե݈ߝIà—@3P /y,P ^#f6B SfcpRwk"h@UDչm%\wfI4],m|mŷpḰd7ԭRN CRkb˔^wuÛgՄ]ƋJflL/tTqj$'|/gvčGo5Pv#(7 S}j~0H_]!}i*t,+q_yH,p)ܹN kKZݶIbQ-6?EI-7,Dm$\N]eL]h0ƾ ]y xErH`Ǽ˯_HQF~d荒Z^u9"LDxɔgͿE/B0g+OcnsJ ڹ, H9(;XHBVMBEh(A'ǜD'vƒxIuIoӄz5ea3qd>mk'w|)v: UKN b27)s|ECSCFIO@d$,큌I5[JFt?3kR)uR-Z?dzId#B;(hEU=0r~^?W_OZq ^i)f%hS^֊hV@.3<j jKʤ!8XL"^>R^AE0K__tT E|oZ1%8rBW/u]Ż_bzo]+s8NzfyQG"u"5Q۾AH63^LcPbNꄛ05^qKn*)gϯej`C hv4͎[c`a'ߝHhK7=(?/Տ013lOkBNrAq507[4ݧrc/w!8Z]~~"ݫi(ޓ#/9'L<;a ңu~iIV<+xzIbi]_ƱDF@IvH"eD`DA yz+AϞ{ @NbX$ bCO!ЯHwT D,\џX =FH ZzVXp=μ>"3E%Zw{gXϷ:9 '!b\e%ke7X &3|YSw??\EZ^(Q zdŽ#mc[3ʎ2JQg {/;}qrNHmi6N|O=ґUt{;)&߰( HNjnX9`}(rP,$sI(T|gGSU|0(dSč^bG/og\m{/,OĹ"0ۆ Y}C7eOǎP‡7U6%ak Y(Uo*ҸJu¹5Cַ*Nc~j\U]E™.@Y4w ;\!Vm"ǎL]A5\k>aoE3K`K 9UCvVhHۈd%%O s2 w( J@x˙g[J/gH>R|)1rQ)D>S!CP#Jyt+ǍVRPl!-},DNb4YǓx'VjCK#w"raMФL= pp$/l`NeN3yKZLM{>(dyyǠH8aL/}p[@5aH.bc Q?]el}gd x eǑwxۿ @ݨs $Ý4"~čM(C1j ҇t?REH8sw*J3GRZJfK1rapkmTfx# {ރK}"D/DJ_? *)2W쎎kŸ&3;1z=5j"'? !~\wkr_\ea#δf,h")J՚͟N?)#6Z Y? ,XEU‡VH*l[rNW""+Q9T}uRye]>V‰ xvنJVIƜ 9=61 *e4nyZqz%hfÄ ,̅C9g?C]vv,s}rg'Il <<dH =0E5n 2n BhX^I{bx\+ ?V&]R20f`bF8{%KM٣]FL6Hg#( FsszW"B0O` Bh$egѡpJMQD&Hn(CL2UʒR< "д(Z )ݰVHI$ԑ8Rl^2Gi6Uh2,*-iVA2#w|%ua[POtL`2EߒEzFR)H/ZpN4k?"*:}Ӷ~5 1fFe5.GbAcXFte5F [[?jQ3I lJ'?zqo뺱^pwejt+N ^94#xrTTߌ9MveF"0D]i(,q1ʉATo""d=u Nf2Wh1K)a`)f[/<e0Hj-hn ]f <` X3ls"2t@.HYG]fH0yOTMRbh:*|_:_{ԕӱQwGQw'\bܪXG)Qa8hެZ8d6I7ڰUnl*MI:n(G%sO&}1<}&MDةUAGJn[v >''[=Ѡhwz@€D^@1gxfObЊ=cAғ'/eʀ+ "< x`~w hn~vbaILCo[F|J)^)MG)l3s19i7`*4{qLIan ͗zbNʙ :+;vʽ9y.ҨȿXae;{:wD#6+E ʫ_ 'oW72gVRҞV' A׺%_^dY} &\,PUr ͥZw :sjUt-w$ĔkKUNȶͫյ#(l'pi*9sXkӧOHbvhڕ 3f "QD«4kfuZE'Pg51mQįelѓ˙(?ɤ5 UC-zey`'&ەTUqQgb7YrbĴ" qHpR~:*P@#f3qljex3e9Ֆm!PCAFt_@ &QPYC+z@Ge DH(tls÷t-dk@RhF3#"ZγPֆ9 UQi C#>EW蜋+oĢT+Ѐo*5c⦬@ǒ NgJ*Na63#VϚqs} a X+ %y7;*4d>0B{d oȚ]}@4SʛN1~=b_Ʈ07XBN4\1&bjCAf!03,{W[,߁~EM}(‘'jWp*L3>Au' qn,bD R^A` mpzvsk>6Hfkd$| | !b&`)|.yX[% ! ˏT1Co̐E2y7K9ʡzYF]~vHn8EWADȐ5CN\ =Wg1w9G Z7  VfP q U#͢}E'Q}e~SI!U,0 咎JSzS6_NSY0dYon&ZaSgAP|u@ pjnsH4PZKgE(-,/&tXU|GVʼ!T]A1, A!)M6QB,MI, pUQp[F>!!نsLiJ-ޱarb MD tT'0|Ȍ}33=*dASM6N:LW:I-A])BHMWVy}HXD2JPjW["Ɨ~IO Wzg*8)ɒ+l@-?TٽɫB鬶dN6R1"sjRy"֔5 lko8Пsq*VICBL:zG.J@OQˋ@7&Yp}_L4"|.!~ 6'7}THp H!Nw Z$jeAh"ېFS.nBWUƠ 9]RiB KD9͸JܢuEeUo!!zqc1 O-(@Iфj~kopbe%: bW^3nSNd3tM\Ū4mI B0{̨W@!{8v. |06YIQf|&$ `P Qw3*mBʾ-iIm-Bda6MS5ĢFYWIv KU4ה.u' 93F<ُ#5Iul/I%Q@یAJxϻձOodj" iU J{x,’Γu*sK9&0G8\RPG4%B:FHǙU,cO1|\P6]p,9VB؟VmF'A ~vU*ުo0Om7[%>( VUf֫NIAС;k@1}zu{bPt;رI1:y.-Q:UW  AL?!~e]Elӵ W$n-a>u){4ɾO:ksltZpv9+ kX`jg4 1 i;g9kQ_Z((VLv@JE?=id& v/&&g1))͓й׸>Ftq0\ť_CK-i,-i@M$q ȼ R0A!ӹPOJK'^/j&^RzQ2v}`Pf"M?_ʶD&d>5st;<j(*Z#Lt! rK݂fsÌBsH ~hTV'dO9~aN!1W<=J(f^ED;Bg~Pّ f绱3Nwx]q3jYpWlN0걖THR>qg2x:8h ?}ӳ`J)͉!Go $X"2z_<$6o$npF^W$ĂHھB8&2'^ 5j pBL: y[6]hh8O͊mX,̛u;Θzt#lL]tzFXuҙ1Kj6~qgk+R~&G,AɈĶ[V59 - .D@ _r` ?2LJF|&1>P$,M6r hG '$`gl8sGD'{4 S͕͘^)3by4gygo؂YS5 &%,> k\E,'=ǮȎ Ln`\ @ 1[ "Da=SD℆䒿JF=T'x/2#sfB6ֶFfMqJk F_?,^I8سF35n42t &7CDM!T&W@Ub>kvLv2Zg$_t|ykHUSl.S!db0UFd[/᱄voJ:i-~B`fHK%ʅ\1mhcg8c*+jlh1Q@Nr!d0qqyG-H!OrAi@*#Juݦ3oI0r\D6i p5jҭ byRYc;p$;I䓄$O ۙ`nj8ҩb# X2+p}u߯UO@P|.4p 1N4 &'Eim]--4CaxmiIJ g9@_ BDqB. 2^bEX!r<&XMnQυgI%ZqY̪X аpDu# G/.O>v2$Iִjd#J-f oIuA~b:QFM5njz[ښ AYBl"Ԟ KMTLO Q)c>UgPM|4 "A@c%dfXW@N'濽%6r[h,Mdte >Ԋ.߰"N$:7B+QvY`6@ltJӵԉ#xL{)цJ9[(Bsқ6\OI$RqrwCӡXe)3=Ӌ#oF*Иen{J:ՅRE[_ɻ,;LCc廤?JSeQڂ"d^+*#ǓJ6(Ϩodh{U!3gD~('a -Z2%ddQ*a-ҷGñn( 4+/IOn>_yvW%P]"_dԁ+䑺~I(%b' Vq`hٵQMu|mGt *b3PiJ3ƅ1. ^/F$IJnűg\Ɵ"_XڣU Ue+s,%"8垇P6,|GYvK:HFxN29COh.mJ0F31kwWێΣO:dAtZpI᫼/&H[*-_ƝC&11 &twB.tZI(!BdbNx;=dx,ezh!/W2xnۈ 6-&s ^'p0tMO&-F$ʹ."l/[!6FIw,_] LKiF~eΠ) zjqDE6X?GE=aݺG/G@2jTQ SwJ:Bc$c1uZEuZWq;~O[rЦMȬFۀυ&U,L?*NC6Y]i12*,(8凢*k\!-5͑Dj{=\0#:-sD(*.hI7h?[`  \2L#? v,ee.6O\:}[h qC™D}SҚXY;zkafZMvv}XZOu wms Ll0ێov*WKDIt&krS鈗(dBu0iT0u2r/}Py }?7zfFJ߆7]u~y$&f۠WvVĄWD~.e/?[v?оV_vBW>l:I=Rbw"aW#eP.$\X[0 yKJa,b1{܄l0OV'@7cO+ؕ{W.Uſ"KܰSZu.۫vB}0,3)REro^k-bl`նRiJ[\)uղS/VW _4 Rw}K1q=kq`Fb$/ii )($4"$elOaa1!6!;:&)C( 1#hF:VLLf_Rp&te%lefF\RS`RQ>Rebgc&\L\e6TDVdMRPRGPPŤDŀ\I$`O!7Ry7:Vlo$}w}Ixi&H O&OR6IZzs)(".cn1#kZ0cz,X*"%"cnpD;؍:ILV2_ZW5R=Mꝃps>[Ù[#4"m qB10F2# `&s(.-£/,(#R: %Sj=,FV] 4ce,8RqGI=% jEܼB%%^(}+ª-r*,b-&/\6s;h+Ui#AGB:a 1!NC>JG!0I!HB05Ѫ a~gwg8`XFjܲp]HA4?C$ :=>D6̣~Ԗ>'\:Yvunw?"iIg+ԢR˭.,γ/6 sTM6J(4*\δ%-{rK\n.%o{u[6V%o7IM-PtI4OtP$L4J$K,ET)MTa-vrXh/vhbPEy',H:.@( j_iH=Oj$> 5A|2k<. hV!rML qvF ?G gҶ."])7ox/8UN`w);RR[t1VL]iyv .|iX˛ε8.Z,?{:i'H杄SSQS@eKdGu-`wox\j2ٸ[>v)HKOh[,IEM7XgZ<#xY`K:Dfy!3Y~Z;VhVٳ|1$3:yWF$7Ex ꇣtǞb'n$#0K9#*HS($-g)T!w8\Y$']zʹٱ459VwC%O 0=iǖkw6t<ق*TmK'Sߪff,s;!_\HFN?cٖhL*=*4#`Buʗ2CW4%xL>(t"iBSYyK-zBt^lrnt~A~%,rb{W_(]V]Ъ'HƊ嗕q T?Z2D4:&GDTn98U.ϢhQN_y t1K=xn義qHk-AZvQzĈ~2iv?7SL:g1,/c}p74hmXZ3ub[ 42FH+S6ԿShC|W9HҾWmC(L_'qK; l|0-gt2aViB(8IS;DZ'@|F (Ѫ[h/2#S$ηL#1\W[WBF&tb6}R$1,LXsB^M`\ R P@umf" ӭOPF(uRw?77?~S_-SriJcE vTbZŋJ[ɘ(d[I'XO<.?뭓H;ھ*IO (F q5&M#: >!YKO#S|nD` b> ZKwbQEhmR~b3,Rb 4MXpȓ&tn9Ϡȯ(<11*dmyU<2FÌe=Ϯ}],o-RTCl0.„Ta4!2ZO`IdaJq o?u A, ?TBx4;3EGt&ۭ1!0Zu64Հ}!kQC(zgfZ]Shix6&'dBl"Q2d8RB];>&Vѭ3qKS~!Q\ClSzıg TZYA -*D ,QWU]I;,w#[̒ TxN*.8eYr#Z"\ wYH$\(t)h*Wu-GL#6o bn_Y,I]I^q) )Z0[\QbX{;!> 3_3L5m9o=H%Ɵ98s8*-dW5,WG쒒[e$hmu1bɴ#V=.ľDkT(SӇ?Ŵ!=rl%HP1Ť6ho]*zKOR-SʵZTbDΓH $a]N7$϶ )б.hnL@Pj2bei=vqȬ= HgѢeHEU[e* p϶!k/[8Q MN_x"?iʎ Ű`ȓ$fxH0,x b,H4Aݢ%iOLn0x"0,:jA53`HH41-nsV̳]1eRzҢB#&_@WG$Rbv*oE M $K':#W܆"8K-H^"F8D*Ўk",Bԉe4D:2*G @@Y G ~ƞ!R_Dkz_^ )lw1ugƐ A8,,х*(:`A؄ <@o5 "mVGX[2)\M UaW.06ǃG2.F&; jg*8aC$IYz\N;ڔ,"UQmf}d[AF+.?b,Ҭ88$(DA.:h$qrʯ0q-I,و,@hD$3;v+x,u[% g-ɗb@ްd)dm Cֆ=Dy9:跗8Іz2Yhe&$6 † f@`_c 29L oG4!H-%FR bxw,ȒEHhF]RYFb#@HVz .2hXBq.5|+ I'OiͶqtaV(f٢x;3E0H斯Arl/,vG ^8ѕ.d20G`'pWV2JGB@ᭈ\Jl]"뙐͕]SJSj`O(,F l6NfW=HkIqW{z &?=Z$HCn]$bzu"xE 9>\xVeaU0fi9Pi}-?=愰S.௧=-atMR  N2[&WMHm([̂ajCẑYyy. z>5Q}*9dX3:(a!th s0o)Tvij1?Zq:#Z tU2ԥ'r! !k8hb\5 Qza)H b3Ņ p-QQw M!˗u 1hLE5 r}ix-89ҁ]#Ӟ2yPQ=wZW2*qqHB8*虋Jdb]ɩo]2#ڰSN^WLTwQ[((U"O#VP~E."R@Uo̥*U|cUD\~dg $R&FR)/{tN\[/m=4t=Swrzλzc&J$=5zHUU;{ ,IKxju% Jm1ʧ%"p@= KЎi%Ȍ%CZ W#T=D'a4^ BHK Cqg| D1/c F>AABkšXM8\a @ʣtPyxD*ڼӜhx<YVݾT{u&^Y.y(MQ*H S|-O0Nq/$f~;y7ҥB4tWZQLj:/١Dh5&)Jj=;T:F&-ԏ>_ѯ53񨿕pk.q[E? YUۖ_i&ih2 j$or-+8.K#$յM *DК2hA,'ȩ8e/>bd('P(C5\=c?HE~< x9j4B9BPO{VRO|+T֡GiZn5^ ~ o܎Qd:n[dơNѼt;PJ@h0Uz1Q`UFVzY57I\ILJIL$̼Kļ,LLܬ̩MTLTIɄ]2Z==[慨r;ɦd>Ffr -KɐGҦe 7~mF, x@@%Â0t/R bF&@ / * +a_Bqa1aAQLSdV_F"Iԍ_^~VM[Q^?$;E], R)M0si43/(WJVE`dGɈķ\HO/|m(P⪦j?HQA(^2Ua6YA%yB\&V4,z:h,PUlWZ>![0d}*CĉYmP%if)0.Ts[Fge]mȏ 4%H)BbL ѱ8/L#n3*=r*;3iJAcf>+-iDz+Ck0VR7y mhJVMڲC+JHEc9Ѕ4))DŽ!n"`MQuycArLA@jZ1)ROk?!<ڿSΨ& ?Z4:$pQw̠I8x , pD ->,rLQuJWhg Ӭ{+"B%XnkBeyx@bi,2,CײRz"]O.H~ome'bI"7flH$eԦÊUFX)LG{'{+SX51cmmGr. tM9 5,^3xwάM C,) !#|m޼4T! nEczIAJt+e&Y|$+'Q8W/ fP*/Ȓ򲣮A6b* q'6")e`8v9iUd pYM'*3DL$5Ci|Q"HH2 ,?.5fS7 \+f.!j.ltEPF]-ɑD #ΰp'>={Vw:`pMOWEj'[>[~^L&-PSR2Be8pQ%zږPIܕmM;2,)cyρ'riFغ#d j‚.aN6P0_j Jo 4R q~\HwkB͖kԑ Y#6_bb̄1xOSk&F0d&xuzV _%dƅHB%<&P%,3b fxu ,\Cט3"-rа cW+s P@aedu[ #,T ʱԄR@S? +t̕@1Bq-? XF`t+)Y4Pk֙e K#4}OaAE=F+1M }Vl h&I)OueDG[6tedC4u!J)e6:T8"KIU{bhp8 [m8P5O rPEeXiBgFG08qFD ʺ7.}یB$=\,QB7%uK=)`Pw)R&vBc4YqVlQ[QzQ5_B@$X=RHhN[+,6"f^II 1$&eVġz!B2:S;,F4SP>W*dVf``~\ٌb,  N D-#NX҈ʗtKo伩YiH\zXagT7>S~Ma8L‹H1${#4mʂ4=`NJEYVDz7ﵳ 6)'GNޝFv*Q7q#IuO$$#"|YKknSPd .#V&bDc'飳K& faĈf|UR,'(5*+yMVf?.,١g@Q6%H;*} mӐI4UEmc: C7I-5R4]BQ$uH|f0}S$7z^\OB`C!\ܝ4Tækڙ0&t&35X:E?dC&zň]aCK5|6PE̬F%I 9 &М92HrT,зkaD, jbhW,eqsu1NW?( QL *&l0(F~ TQ:88sM8Ёr($v2p@_!HK9(4<1W 2Rθ51 6]7:'X 1ܻ(}D)b%4%A`:J`fAWl~H$d JfGƊ/jB E}ȑ5@gMq3sR)6fi|C!;&I7 +,})qV֌sd"I؋Q8ҺkqթY&&&$b*>R=a]=:[bбB Կq߼[o^&Jm↷P<09:\lPDY!N-Lk!/b˃tт^:w :.Mr͘'J>)Z5Ug)>1LAc3'csݱkSV#s7]yӖs0Bq;BCVeE63Y;"SKJi`V\ArN߶ 0%%.s%%S d0_;.{W;i&p45o"corfZ{N'0Jbh,% G6YCBΜ7E:NHˤ/I K(40.yؖExE2"LU륪R}F{kC}/sޠu3bVh* X煙ps%ɰ"k.+>;E0'МXG9ƶ2hUrtW<4+xM#(HTtw4EkBMCd-\R髲 :-Qdj" -Lm^@jf xS8\݈B#/Or\D>;(cP! ^u26X7(4:`R)qkK$>:A6:lC*&UdX^'"uY3)x²lXEe?.1((L؃qj,:, 0UK|RP9'kjIsc0DOH4'=V[50O҄wmLEDqO뒿1)+ȌK _4t]jǔi r$<*jk>y,r{(;АF"齅>CyQXf.2qP@k!6fkzP6dWT"2ۈvvX³]@V tzanŨ[2#XLTt~#zC=&/\fD9ƄU}b]<.*:574O]{bEk9:=H*bfH஺t\Z !2!T@a@FapoAX@FY*bP@("_]!~J bf8V`JA)`2MT]@@E'.pWi( M.b΁XX9 &#["% v7̎*G$[ $qȓ֒p&}b,MF|yAY* y.NA ?S[)ѹLZBۧ UfZΧfP}NO¶$-z%v,E<*~yj& J7g?H{f O SUv=Ω1uiD4S0Nl=++*Jh+mtE\s$*Pâ$ڀ,JwV`"p˪z`cT1&86<)`@/t\vzح++gZXN:w QdG^qaRJ$ 5sh2q́ rw>c#w.R&s.v\'oyE{3O 68M"h^ky%@IA{!Sj#H {trɈĸqDb1:DNGPTWeByiH ">J5YdM`Iy}mGG0Ex[Xt g_Upj*"M7 z3hxPbLAc:P.Ŕj& ôq1K$GyAMM{>u<'N=jYCEΣ *1|< wL%p_  $ ^(&ȋ:T[S콊_S;6F j ;ɽ>ffh +V (*(أ >&6<򮌸#̰$f*ӼɂQC]=~;Řϧ=6 l@VmVv,0 wm96Hu@,2*6(T +_@. 4JAQ= b5Xk$qəD:?5ev71ǽ]5-J[hHTqR~F7>@EO @ΉxU"ϖb<&K#4ml oe}Aa+j3,3U *luPAgW8:NKXU۰b#蘉Bi?c8qTVoN?5D%:,٢-5Uͭ)zfH Kb$le6FBI$T9T `Lwo,)̀"tRp<$$f"-,oaYIpy鍜}e[’Ȣ_cQj yUz^3mLc#CA0PF~lLDHbYخzyXG ,(lA 4XR4!lO"YG6 \&qFu(pв c,U':Z5#PzRBGdIkH6c`'IȨ~moovhgtO_qLr4zsŚ1TpՊj{y{zb Ѹ@12[1g*{I{J6Aڭ}~"hZ9碲Y7d1Yd|hz_xTTII2slL2Bu1Fǥw1Nt+)V fXV膘GIT)Q 5OiHK"w%-08Lʑ:`eot ii_Ss[K#~:&AYOETDyLi/q*'ܱreq!7e j_E2ɁU-X l!]k0_(ٛgBnQCVSp NW?PFE8K>Jd~!sG /bD*H:F,5&Yn( ` 4el MR*l/f($bl]qH\YCa?2jxeL/"ሠh$M`'Ңwe OB}V`.ץX]C_СBe 1 DPN!M4Mĩ= aL" >Rx6l<tMI)a(*+ck-9„!7(8_`A~MZa:ȦGaPYgޑL2cj{BNd̗~+gAb E|4r)&xNv&d䬭a$U7ЉFh0Lb!Av,MMll]RGV&kLP!/יRF_f#-דy i$E3=[ A3@;{,QDXS1"7JfM$qZBa5f/n2JHl9kejE7. Ϟ%e8 Mg)ԫ({A tʼ#Ma6Ȏ<.zhqhͫps]OMR aBG &Gb$ ms)9L8񜸫DJ#^Ls;e [mx2?H{p$Ӎj^(2ҥZčy[FNdqeqПhbn1@4|@š@#fY#An؋]VIT0!awpBH.ʧ#{C\`qa=SNBf$PGJja4\0@LuHk_0]4s\ѕ>`%SR(9+'04 j^U8 %x t^]idfLn(Y֧XXEVG#XJ (/_A5ns)Ga hM/>37#vw/)1]|th7F.4jOc!c?]Fa|E"m DdPI`6p}NMƊI|q XE:nNRKfgQy[΢% 08 mqqx#bJɋ,6X`!Smn!h\FtӅp2Io}TIwBH'[Xie5ɕGg5n·?h\q[nzU8hqhrW( )|Yo%Rb,Z:Et/}Jc ɭ}Χb'7iS40 6DFRLcКVAiD ;;fuڍ)/ؐMY(pvsq({tu2fpOdn'@+%6գl$Dc~sQދ:W{IMY6͋7`?fjIF# ^Qc6Z]#%E1S5iW1JQ $#j"|(F"- [1#iup,;DpZs%.Y <{[ hoǿҚXr+ci3gCOQH[4PPHp%5;$_Fb;/40 F $Kqr|^%h%2D?8N7\>WG6zì4ECifjuP&)j3[8'],˦䰢(圸-(\>6f@m#Ck8N1ʫbt{z$ܱ%GIdHYܯ|r/MT^K]2DӋ% $U~O!/:t6OXHO*p,Kfm}\ގ9d\ BMcW՜n!z(Z@"Sa @Hԑe'mkZ[XނdyWJ")-Kw^/h%Q;J# J#' 7TW3ǦSڸvr*=jTF)WH#6%L({Q1&eb$]O&Q'L=J ,^Th9z=Bͽ%U>y4TMl,0ϡ[pIqcMFδV)Ĺe$ r,/뜌eeB(ED }zCBvtӴ;¨3tKd)$+в94ȕj=Pd)'-Ubm!ZmUG(y)k[M2I410a!0UʉfML5(ضTx1`?WQ -TE2\?l*vshĺuhɦUv ѵ-Z@YYvSM 6ԶCI6cnD>lA-sJVdk"LRmK 9$5%Z_ԙI4!$Vኟꮧ𙼤xbԮ'[Aj r[5MVsOJHk,DO(;Ƥx]g 0\OÃZT9(iiUsLs0Vn1F{S72\r~Y ,J=kEAr-e%vd&} ȗ?+y$UiS)(iEZdf#`\E앦_0{8[Kv0Ž}vS=qUOw΃~hw@{ҊF] ڊŒv=dNʹ{0!^g4[ڭ[[u7n$`?A1ٴuұd +Ŧ)Q$ "(%6g(苆dф= EOA CΡ MVXI@J{\J'z]K"3$sr(EѓFfPt>XE贋ɎLe'&s&ǴÊ-L~njȪ;xO`~ר DVG!;('].@ &+**>( b!EHHbԢ{ӝMs5V0@GPhTK+wTwB2X ~՝xf"~ ug-j]:yLa Ҭm¥!(GBjk 6,T2],[ȽD4:Dz$VKr=Ps ~)odNQTj*rN1c kV)6=.#7,u:I-bO- [wYS1Z$e;d][6ĊUIӊX@ÒÃ{X  x~r.tcDH)="K\ ϼqO)/ -I)5 EK(a/gl_.E!-kn,bREZ%TDe8N@⠕QQUS7]p]gb\)LT9|K2Dr.Xbx8#D$P+~Tq9takƦa9N;M;S25UHj[?%d$(^ҌZseIwGFq a^ ɍ`aw8 #K|^Y )L0CH`A>I(7 w!*U,j)Ei0V(j!U;m&| FF-]'3(Kd2S@`> MA$)em~iGf(T[n)}]H" G{x[47.2x]&ۗ{$X+ mĘ+z+dWa_u>*t#C9'l'`t%޿Q-R3]?IS/3 K|/20?}0wnF0#:<y[r٘Hveo h}u{(vJnwwJ;^vR678m+ͩJ*C"thKb>7sJFDc£38H$&+dtħ(h +e tAΓrЈ u/רj?Q(iZ1 쌖JLQcO\V9JYա ZDgNkot=񣫔J\n,2xX DKB`d˅D>z\}OSM DpJ !#>C]T`:& Z!iGdK#S:Ǿa㴔u*XhJM:z0 _QIeX#@R`7au`9((#^{Dm 8'= *Uf$hHpO sjcs5lЄ#'0ȤYɈĹvVa~[l l#%'jT#Ov!TB-k@Z2s$+rY/Sŵ ™{I8]':Nj ?їS~N!s{$f`gآ/^Y|@XDP gVԂAa00$alKߌUg$ Y)hloGK"I1*-`m2LINO+cg(m\sJ]3XLZ:pX+âQ5z0u"?0 PkΪ"[Ԍ3"\S^E"R1X9 fer9/QZ]c,= e4aYgҢJl0B9EՆWhZoT' jg+q^[鴔m#`Ԙeo[x0D7fMaJAPHbJUOT%9KN ,k&ro#69eD!JDd%Z'D*\q޳%+i)N~8 BoJ}Q\3'SJ +biTVtV{=2 tor!uF4lXZ}' ~k`A[41n[GE) &U3}:Ѡ/2CV1PV;V:,ZB$ڌ@@_.|*Fqcw9-&xN.àeyvTCce[yt @d!2T2BՎZn}յh-XԒW"dwq'(kZjw1$55q[T;7.&9@^3js2 ⇢өI!0YbeO=.C(*Y2XXW<N֭Eq9iRQU@WS!\N~Sқ3p8X7f1~ 6[ HuMz !W~܊%,>LW^y l԰q?DeKĘ@Sk)Ȅp~6kB/ ی*f] $+ʲgI@dv7l)16Y`a{ћ{5K 1G~zYC86k #:MSJu~ 32orҞ.vaXd345# Fuu7 `u,+;`30$f$6$)D,/qtSl3L(@W9> 66 cš dۚjxVHjkDt!!(pc#@fHHR^NC(^;ᖐ O O TA|@3 b;"eYR(\<ԟ̬]Z ԞμkbH|pu8\e!02!W\i妏+ ~ |2mǙ#Z5w"D%܍7E{_L/W⊥(pۉ>R; 覄ΝEѮ.^ +(43Dܻxm/dBl#S2)~,baS@F?X3;iZ^i i s`%&IWhf+NԤwz*+9^C ~numsSU8Q8Xn5"E'U9T"1n>Du; P1{X^aRzs +D8yV!;@ y[5L:Wώwp2E|\퓰g A_tGz o:,FCU(&#\qzŲH>)!JTr$rFA(>ԣʐk=k&hna>p!)Nơ@OizqSkgHt{y^ Ձ%a) JRY\y]h¬eZ#R0EPݶ]83lN!6C3_hSiJS>HgWQo-\0$`x1 8o~mXҙ6T"j) auoLƫc4! R8N%ӝ%?Ϧz`C'1JDl)d[,,yGWaILA.OJoIgD~}|!AZZƶlR>bAe(6?]}啴 QϺQ(x]zծEiKk1^ꈊf>q쓛$ /;FjH7\5kDgi|2TLkv3?{:UyYW2ct(ä2Q()F꯳fUHFE&Q+/=o.]/'cEj7La',apX5:l_{S⫡UxB%ЛyHpй{Mw 9wBidDMj/I&7Һ]EEO!X3&-"V[K])fgJ@H9 )AI-?٭7)#A2ԔdJ1AU`{A'2!JrТ@RثZ@KM' eD!gE< oChO޳3g{#Ck8v~Id ^n H5Ѵc1ʬ y]+/gR}%~?D_/ʊҠv~F?)P B25TĜRKyy\#xVɺ>S8⮊ Bze؞7k[3wtdRnQ7ROY!M:ۛR'ه',abTOR#y} [X==+79hBqc%GEj+ DR!)GhbyJģ&]D)vF:穄ẓ QxyxN=h$ѡ(]+;`jRtʎɮ *>돲#┫=68N߷7!jqToI}jCB hg/JHu- iиWvVMΆ<\jPa˲rHb .Z+|y<-.oƧxwdz I ̯+JW[},~z-:V8%U!z3 Sr'PWQ"b@$p샢SoH96&[̉am¦-Q@Qa1f0EqKF& GmrIύRd{8Z$QPMxe`g:߼_#VuͯcgM9 'rզEK:ac3Bss$+``D|zA[TzED,,^0^7BO :A:!߫CTDAnRŖ,5NZFK"/@׋~7@޵Sfh~"S/schSKRCo +'5JOP:#8yɴP:e%R;' '7_!'&R}<(4,Ұd' Q`LsbJ/ Fo:t\]$/@$NBCt߮*)qa Ǽ,ZeyN"FX /I0QlJ-r)z.*BkM兩MNаkF+ n)/FFNB6O^'Uz5̕{9`]*XmzH)"(ڏ0B,a 7MiHs"F⮵P0.*5Rš@N3ED[Rw?4.0!ҟzS~gQn:YmPKN,;WMž\R`HF¢ާ3tŕ$dDUbo/uU-'D &[mdLR H`<{JH~f3 &JjDr~˴~m%|#x̜1I.PC7핶(3AGdgz3̩Km %ƥb\KYa\"j(P7f~iWDTEl9J &a#RJB\{uId*u itR= ȯ ͋j of=ƮI]&&$@v1<{|OUھ DTu(enP_Cwk AD)t@jK] Rhi2 (ƍOrbunĚ3H>oTA b_ an{qJs5m%̇O!YzuXHnO^cB85wvw|ֆ z4,2e 3:zIģ94GԎX}$]$tQ" !!RK"?)\YWi)Y^F( +';D<"RAő~,T3ߒR-7ǡAs,"tóG 7d%unve1S)ǒNDT |d$xM!Ɲa8a]4UE)F VJbt8aFKD)FY~Ùz 1>B@ɯfx-Y3C ^FN*؝Rz[)3@DH+izJ&;>}B' 2S0V A/)jo x}ھ/Wh!AmjBeI46)Ϫ[ǪJڷ[\F\#d+;|Y<5zJ:  nȜ>\-le[٥S=..(3Oƈ1~Ao FB|FF:* 0 y10# ;4@!yKU)7\[:=e I W!b},2{c1s+s:4ņ.//rVY "t5 QՙEC;oS˔2J=&3ѽw"`,l-&* #R?ؼ-Y޶C73%_ }po$8:f.NN/<)ivd(ΖzgCettKĭ#(uږhD}q X)PrԂSP$""Klb?W:xHnLI)gP  Bi'p|sG7VcDJWD pMCdd!.Rn6J@FMzwyfؔHbYc`1H>b:cmѯPa nfZNj~rϾ9}szˀ 4Auc ")Tj ˦|?T5’A պN:ɒѸ%-~Pb j'M,d5CLaAI?؈zu& 65)f̒g;*t62zT6&*-UDc;nT\V3(Z-Psi:t[#-"XׇZ .QWđkC?Ef2'85ȫԧMm؅[tGnraQc,͚FPV=.z1PDaB,z%8yf9Hc1n)"f% ./1)Q6`84thMP'+o-*/t]w%3ߪfHAPP RV~"56: 5b%%*]hf=2rj9BHꘌ"(IVՠɹ`7Lu RB!-YKܯg\i|eXwR8 d!Bow{OTQT 8k" м8עbBYamdh!)J9/#3tC-ď[)h[ܚ&tw a,I퉄hJ :Qhޔ~_S,gr,T R1 `,eAIx"H1ɈĺHđw׆LY5]1+ERw(8EcJ(/P&;IdIXB QTѿ3䐒ȝ4Y #,[y%a}E`5u ǻ(0q*S3ugBMCiα$cʴzxF1?TZ"!R-ذk±0iFvW|<+ D&AR7 ՘yP՝{$ZC5@ 2/ bT3z:`*,)H5ZW|Y,Q[+AD "F5hI68PY`" f*5y[YoTE)z!qzpOeک=QS/--Mo-Ho驆(k{ sD,w٢h}B<H5v,HqS* ݥ׽(SSUK8%nIt+C˔6&6N0~mݾC,@\k-s)޲!?Zt 9>H+KuTȯce-i_(,+HЏB0di^5}Qe)u]\ r'jM.xeҦ6 cRN/RX; IxJ]B.`pbKEvR`؈.JZREAIW[XHoV nbcMb^#q$Q6ŷ AZն]ȏmȏO wa`VyJ\vO)wkEK.H\\45ah]iy)j,KndlpjfΟs|HC C,W1p-N iNz %N2#߾= ]/P. 6)#_kMebukM㖾NK%UfEhIxxK'Us X$F7dw9!4 [ *)(%D4tʪ\k̞^$PD+?Du§o*YZw3-R~ll$],$7`vj^B'---fMJv~ThRB* Ȗ:r tPnJD/ap{ˍ'T7ۖ .=(RG(ѵefU&OW:]OoDk}Q2˙%jǞ_{5߷穗GTƥ8n^<м{1 4n q_vԎ*,j-3GͭIM ȪbM7S)o0q,u_ܗrP%<҆ #>*6Sx`CEB't'D7ⓡt~BEc^fRu\^RMLmT5"\nx$"*PqTNپ0*r " %1=ԜiTE|_B|c! Ȗٕ)~p#89@s-7EhVcTXV^輝!a\VD/0-I!2ŊI*N`&9&ekFn#$2'>l=E-IQAjNOջXq0lՒe3my!J?0^.gV. }+Q.CTT6ORn&^qOhKNGf4.k2 oLQPB( U.0@Θ]KcJL"À@:Sqb-&V!nF튽K1 ڗzlHzMU`ې1jԛ=>l Xq{dT)._*%]kIGNۨ Qƶ+V(Xʔ0w2}m+tk?yhq+ZDZߛtOKJٛY7X@j7"4:ڶϿ~4nqD亾hҖ 7Jm䳺w>T?\ObثXN CBӱ#'!BtN' w+A@M4ش&n )yղ+t'WrJ'Doj"\ bI nv:KvQ\,ʎỊwDߍ y#&`r—v# %N06(a\}&Ikݽ%Q܋5@Yᘀ>q*/%5[V+i8;hMZVA#]-)a]bU˜MA^Bmw gZMHGbgV dw5?$q5IlL0RQT7ҥuֲ>\U(Dq~y=PD"%We m~ʃ-714#i}G j&oo)ڦPWK Ĝ;HUH%MDȃ*wc\R5x\ea"Nz1t8?zpv#LUo%H#S2 ez 7i;DEI>'f|Lo݄NU- /*L[Cqpu5Yx`\̕uPaj/fdw_ÝjT.a_VsƋ@)BB,>R]v[?(0m @z@'LN1SPEf8&XuΉKAϢvwaɎm^s88)}E4lv''(0ݰV v,易5&T̥)s@] CŴ~N7<ټUujZ"QየO;|g[C!(dwς~Z^NF:bZ â~CZ#!UcSQ, JC_0MhOk/"7>w<`)C]J K#ڗrimo`ֺ&Lm)9*SjĀHZfd"jO tASb{ֆ!bbS Qs:+jTLm8]eڪ `{ l& @+BR\;,+V}Emŕng2iG@l#,e7S_[u(1`{jUvO 6#z-w|3Rb:{`BDof|q$ b)3  80RœbG9nHBٷ1EQAqYEh"5c@ DtQ0«Kn柣ڡT'`*Rt"4 $l SɄv7G׾I؞鍛o--xɕ _*59 :Ry.eG)LҸ,͂N@SMs yQXǟf.`4tu^B4yrq^v]qYR rHE„vr2Y(LȓK,@)A=`rlҀ/%%`1 !_U|t").&EDks!|(y8%Q zm-2{W(c Bݎ!@pjoδ <(uG@X*RA\1@:N&CtLXwR iVȠD>AsdڡH~KiI@bd.F@Bc ,ۥrGⲟ&N;$zɍJε(C{^ҿ47-4Rp5ŒL(š($e 5T-GHXK uƅEVz `|4ߨV)EBh+mެ %,NQF~Cu4 ;Cؓ7֋ T/(ΫT%` 060\0TeHP9<)"h`ЃEFTRbuTC$&0M/ԮpA淣4O:l} yfpIOgCɣtg*$C32j*sT+cf 2ׁULڦhH3fbQG> i#0JZ,NMAFx(S\;8nJZʌ^XN$~TjЇQx]^Б[W(Y^7C9 *^ |s~kCGXIfC+ܑL,hܹ 7Ng d _mbD6:ntI,25R^WʎSZ6{K[IЭjRUjV--*XFTY+CcdIjY245eʹi:@$>`Xѯ]9^ OYZiEs!jdfZT+K=+Χꇅ>). _:ZLqbmNi6o:=x03 = 5u.L}o;"QhUF5$[y1%j ] )evQRG3l.Q(0 O}My7߱jQk%,bd\0v@ՕȗgW~#.m2rkMz]?66ftoV:"<ܤJV=@j9hNXq31BXsy# {m%G^蹒pE2pl4kUYNؙJp'&ˬp㞘Z>#2[D͊<)_ďIȒ!F}BZ6{^,xLF) :Ո'HX+9L9X!&ЭH*c {2JR }+&6 J<"xZgbNo[Q(H)?"E.KXF`a@ɶolR:Sw%pQ9HwySCB?P%dq(E` < p$;յGMuܤ킑: -bSf}|,)XfN1ji9E QS,\s*IiRf5V-M.(ɧW*)un|jY3!ֳod'J4rMUv┆qV #2 +$^-j,e h!@]tУhq}1ܫ!nHl;GDn7qy"ʛ+~E-fjV1=J a d'rB'i\ez[P͏RcO54s V 9H-Aoz%+tg=H8GX ?X?zHo4BYc>#(\.J(!D!+@'LΉI[ra ]]V5u{z@^om{ *+t͗3lZ'XaыNF>ÒͲŇgV鞒s"HT pT@:rT #Һt+"w|(i{]:g,J/xU$,+cPδ'd)|GJ\tm!&KAzbUz #3QE/&igp!n qӦ\DʑOю"b;B}hT?rf_|`9"!$(GVMRI^G"JONc:A #@ݫG._;65>\cA,xKD)|J'T3Ae ( "pr4'N۞ HP"ŕR"߈|o|Z 62yݫQ$y!ښCsh~AOR #-:FrD) PQQ'6O7"4&omGwؒ8cDw HJ ((% $Ԁw‚xBJۮK,v$j&O܇0m$5{)޼ڐ]ԝBmS^w@Y!~o[z)JYf[I+fA_>gl.[ǩzw&A B8+ FQ(AKUbl6L,KF(pWVWEQ썤X ( zMHTGBU"EL8sId׵"7x*GmmSUU1N0v -@cxc,1*?K#eeܤ ?NhqX㷤&$t=;\N\$nLjAaQ~UC;I(0ɈĻxP# `%m+f‰lxFR(@7 2? `b~RĢRĠ%"7 x5Xd5K{ KpT\#aAtY` ʍ?(ʞ1:ķNFcACh"_oQ^٤DX*$h TQ!hDi2һiET^b" wn g@Y;ZzFQIN,m-opG[.W%SGFJm P S 0e7 V!a*x]b/:RVsnv'nKMՈĀBُ h~It,= &&PQI.ճXOZAzS,sR]3.gt~teӀs9 =>"Kt-#qg& l% >9 BmLa/k) *i2D*`=6Yʴ Y,gyL\*^=LpŘPÂ#rexx& (zzC 9NWcXԑ}t`dksMMW;<\TQ"P:1tغ.?j'D&]LvnuUdTN?HlK&z>܆1(ܷ3Dy4&2.9C'$O4r'|b.Vz'4/Йw_6Mc;0?Pi-.7իR_nMhYb8 əNJÍkglu(ẑ_d풾D{3ȇM\\ͩ7sjXLe[,Dֽ𸬈P/?^5iT ŁP !ˑe>BAj)҂>G' j&"3arMDEvVl(<%(~Iv&%szrgbMxhqYő߱9ۊfNt9jA^ʖOFnbB^3HLsWY֫)4uk433V213Nz;WMf!,LUvf)A7(,֕$2DfrIK \?P)_zPn6(L p VoN%r!hstxh/CeZP7R$`MC:00qLѪ_{m$+4ifo$4|lR[Feޓ".9CfX_*ը_!U׊^&$!U5no)qJZqt傠/ij6(j𤚋lUg*zLW 4ۧY^k1 ?D.qu ([yS3݆[ӉSi$oK;1^^ r\> xZ`9(S9*^o $J+([%;O{,f- tko0.K~0IMV51#ġ砦>'X(Ys|s-Q`LÑROBg-[%";!BQbPLj +F3xRp-*v5X_uJbf1DžlEGiSeƙݢyӽP}i}Zts]!=R#уDsgC<}!&\p[|CMq@)%N ][ncljs}=1 @|[c;HB#Xt;oH[&--2IISz=bzq8ӯRըky:-ܴ'()DdTB36yؚGP}Wbb̥ڑ\ޒ|b#)//@SWf H*(5vbχ_a 4.=R{u>:2Xg v5 ]#<k+Jd3Qߩ\L65n!qfSӺ|$>"J7F HL%&vCzR0' ;5xHr^U'X/șag8Cq<6OԒ0Ko5S]¹P%*LjZu-3}WZ%Zy/l/6?o9ntf,?G eu \f P yEZr7޷9D$qD0(9Y /..? `/Ա9(#fP:8 ;MA>-D`l\E*ZuJV`x,w =H^z}Dx@Df$ݵ뒿iy(1ng k㹘'Љq*vxWr}HkJ 2=͓( RZM\\vD|p#gIi o3C.7;33›_1\Tqwq!SQVz;]?X=g$UV=N($ta ;4$zV.5!u 59TYg{=utQ6A%uܴ `l)Eyb::|CsŐu&{.$r Yz~3mKނJi\<=]`91# }I-?TUv:b!mcBnGI6ú^;!V{6x$Q)+b_I N\!&eW-{O> vIULe뺥p,o{\*,`l.$N]JZdQ/n )uĐ( dH֭ڰ'Q7w 4 %'$ x0({HO]]Il:ΔSc<Hx_c { ȇ>Jx;]5;עxSC9~P̺c4]FdZQ$X)bgT8}OHrt*T'tZI4!eL.Jh_7 mY+dat>_rd&kA0ɇ/w^"R/uBkp]-;E9cd6cuY\\BʄsWר8vby:&?c af}DBi^|T9m|kl5^պ~H_#]=q.DO 8vr< H^݈E^t'#ħ\MT`ե-yQx%_mibg/!󽧤u Իc]r.urSz:REHUX#3$%aSu tPIQD-S]ZnDZxp$Te|:b3cR6"x'$ԱլhMn#c("4)FP|w-6 QZ{bz^Az<^/- 8 p т ɤȬaLMi7}CrXIR$zZ]e!@>ςq#ؖ*o:{!&UbGⲊRZRi\%nɴvֻ&Zi,9:G Q5De!S ^IbA}?R;`-̕]o!Yʣnk0t]%z5{$:ؼKG}POT'8gV[*N '* z *[@p$,ڜ"P00+:HM|ynrY1GHˠJ§ G2Vqk^]~KH,dm<Q,t:G ۙK_x-qE9!w\~?c8D8<3fkɵ /R, 5ʟD*]qv@{z9F)Зez#3 `t^a@o-oS4D(T9ăxHҝ#"BӡJ-ͺH`[GAjo'Ę%+G*\jOlu Q1J52HYa u{NfnxՐd"5',_;.4dpޑ, Sjl9_;gsaӪ']i{72gr{qMu؏ȞY\@+[H ş۸XzW>k+tE: sZ6N#Xg<,d|&rGd Et$"򐃾Gؤ%.mX3diɋ`!cऊ F(UVpYTB(F>뙕,%AQְH#z&}/ 6r'?C8 /UMnq!k'L "P)T7-Qj/i HВ= )zTVԚC7ק*iewޠY%[QY{Z%x/j 7u vk%b*a )J$%LN3v(T'k ITSut׫KmViZ{h֨O|LAm5:D0bg+pfWq1ϰN{M約O>'޽Rۦ6+dQR_q҉ A$uA z$ozHl@6>foRD)P $Y԰'1Zm!uVh]&'b)g37oӾKȸufFt986 bmbJXԜt bAiS' W[PZ & E%$"^J:љ;2xdӢ7yb;IT]fcFNPejcș59':Ǝ@yO\2 zVHۧfFY}¤r9\)1ddNWS$t <뢘N7'@|Յ|za mD~GN?nީ%X;\sZ2d4yn )]I>e=TwÔLu.7tFSye+Ci28 ihE鍘` 8Gt7z u\//?ܫ> Ɓ?%6H /zB޵ѼRmߋn]`%uqKu}YԼKm+y2#7uC&ׄ<(=ej$ט@AaO+ ?Ye#_/:-ЌL2k r)Snf),?/+sXweK Sp$00Q#'.Syqa[~sCffȀ/9[su1Є#S`ĊlJd,7C4 k*0^-WnNO6 C=OXH]!OKGbS1 v V4i&eTLM9`  7~7 "!\YV$G-PW6䙌'H _bCo@GVu)>+}RuXХL{>p0"0PM CKXil@Du`oU:S @ŘHqM^jȌTWњ 6174LsO LL$%w^ڡS<ʽ:?#UVOMHLuf9I޲~ ZUoO0ݲhdE SVCM/}xC6k/|$AyO7r>J^MGd޻,=a%YMQgmi;Rbk S!5o% F¹f0tQº|taDWV[)]V?KD"غDwEoR#EnL"qqit|j#5^ ۻ ĥ1h{@NaO7vg? G')!,hU̷K{I(+^⌳@k]@5eigtEOWVyvHf CĈB c6#^Nc#`[cנ@8k2ck S J" U?$Ճ`2l L5ʾN}FC֝;i*5hgaclb_Q]ڧ.Z%wl`RȽueZ-dmK`VUҪTe~\Mc9H[:uN5ȤDmLĦ*o(Z?-U=IeZy12)y={P\~s&_&%Uö5jMIU tUlnTMW痎H7BLZ$_?[4 uk<Ga$BĮ!8FC?b>љd\?=@eҬbd-ȖPF)lI{x>Yvk6rAg9u1e!V9vEdW@Qy p+ [+RIQ`y dK˓COTˋ{Ây YY4"V$du vgd&PxF[ Ҝ;prhd" GF;PF/w\Wqoz-mHce eΒiR$o iW_S𫿴#®֬zUӛE"1F4&Hu4P$9uթ!+ɑMl4_bW??bW22~rHQ.tgėQ .b<ZjPfewJ΍B^"n Gar?Ȥ4 4$[p%L"0j>OA- %e)NY(ڿBx-G?`' ¸C IȺ k>=DepZDbv6xR$n (A$ `Jt?ADΩzY*82\0>fLJ 1,IΘ%.Ap<#,j10)Ahڤ s5]TA:.H* 'A*U1;3++ivhtڅ$'$DNudKmFxٷle:p6Nh=N:!j0NɈļmT.5 '$z M{Tf ̥{쵗aj?+ӕ "􀌤z~P%OFC_v?;H#*P/**[ #4U^PX/v>$/yDYi4`CzJZ $F#F^SDMhuV[d[uQ5fZ\E{2PQzE#.qճ6jw`VtԻU)uzW}c?R/5LCyߜ} ˦aڵi"1KH^qRYXݘ<zʁGs8ɾ?nZ6|Ce@Jlp4&*f3&DJB0l qVtu=7E%DeYE[ ϚEb3Ȓٯ&;(^s$hLC"OĈLU^Pެ ;Espp1VV9G sr0"[m"%}ٷ%hlşs:xI2ug&+ $@@'c%r(/0AŜ5K?KQ*HKNZBm;{ zZƹzv:Pg5A &Lv}BA (볕 DhN2U ;N.֠%,kMmg?^8z~  U;͋]VX_NƚJP0F $Tt쵿*GF88A+.E%5aQ"餐;iFdw,ʈA.k ,5zXfL=`Ffmi{ 1( #)YSŒ|:i0rP:CqGOWؒSruSWM!9ʒ"B@N3ڵ4U7褳-o6C]w须zy]O|v%"m2ev*$mD߆LM7(qrD$k :_YaEw*yBjJȿV'fFK( v9[,[['d..g jv }Ӄܔ',wQd썏񻁳*#-GwvO5Cʑz܏ϊDA'ff_QӛѐQA_MoխN]<{-#̽! 8XnD MkswħAxVz83MB\"p/E)8:!k%-Nj3QC@x X0b'Q$CE]PR7& ]b䕋ԛuZPv0\U}T"ZvqR*ҏGڃ0@e<&vOʙ O[2@ӾTv-d]i($v# ! P.=D?j2|C DK9&.p~;{އ Ejj90 YK 5"1lfr2,֛Y/ ?X1F[d5dpzI@eMB V*ɲr(1ЭƎb %q X/H Ķl *`nbQ&6%7b:oVs]a#S4ħɆp~T.ޑ<\^1iWK6*7sQiy9:xßEEg!A-Rf麎Xtׅ2g ADѧ"HabG^ح$a1ct'w'4Nc\l2L8SF3(:U#5vDZT0X]*Xy%:|B@I G-b6nW)謜mܛVRYqP寧KIݱ?4|-xBVz0"H`wKyםܯ9 6+yګ T[/HS]NXd0xMLuhfvq1- /8U\`e8[|TH5.s O Rptphi/FXg'+qF8`(D$pLNX,4fJ:ts"=oX9IRPE'~H! 4<{[iZhcJa2._rhVTb\H]XB1s]JkR@OAg!Drs1'/8F/>h8g`x* h~ұr7+?Od* ڽ![-8!PG"Y2{1.-Kl"ty_.C R2BCkmbl}fW;Mڪѱg,`!MVGv(NjHpٻ?}~„" ]I#VcÜCsTV9[zb*!VzZ [nR-wM$MhGS Aa6Zx Չ/>_vaT<(?J%;)SbXI0u|,#<=]6{_̶4|!+Y4$JcoYIZ /44ZS|^x,#&)W]I:jPR#(PP8mKH~-t$gFI@@B"w:NnjȒ$.di۬8&wJW2(|gȰ,HE̅{)\"ٝh`tP6s_ Ueh!-ܤuS"0VT|tI0n1+Y0faD#GV`*=D]Ea X$ZD54e@YdH^$qoHAc< $gG(JG/9 [Jb`jb2́N 9P3!;!W0U$; F΄A$ϟA8 JkvY#ȚSR)t9l]3%snOӧTW1Y&nÕv_]7XAdT"v"Ӆ9JU Ef&p朩$ΔI%re${[rNUUCGwD;ɨc&+LynB6(rwԀ(*3;jAȪbdh ޴`#;f+ljMA$Bq]Q*]KeQ;5Uj$Tl~Mp혘̲/#H2u /)@8 ҅;=c^hZ}AG OM^flRKWs:H&!%gUJ)z7}%Ci$zo<(4^g;4 U0S2x U MODc>ݤP–6M=׬ڲ-VmT| zVxTL Fg3fX >yqb[]WHw>Y,!$MReh4>zZFbF:]q6v(iN[D&9Wk\O#~Lo*q?EBmpbd2ZyX0_DvLdBi (5ȵ%%fz m* ;^eS]įwV=(sJvde!d|cHA."cqȖ֮iah7w r0EXK|綄XGц $V]L ?xReO=* wRte">FO7L{a+F#1k)i23YKEm7E)c':*l6iTT~IkDioP"imJKVXH30wխqc 30޺ K!x@4g,`m8AxViP/ ;.؟' PqlQ4]Ӓy, W-xh-H` %E&N\`E_$ÆZwW\fIw0HT)e#Cl /U#,~-YQ섫 azRQH # o"uە[@.4QR H:G[W.ѼAoŲDAih7|A e}A(O"-J!)lh~)EgQY"s)C% /&THN u,ыS\Q?7E 1iH ly韾D|&m`1`zD@wI ;aAAQCUQ- 4∎&WTVJ*l4PQar:TV+iAY0tXhnf7c0-;LQĬji\ap(!5e a+_lE $KzbU~> $$Lt&^*Kל$x¾gȏOq%T@ksBUڷNZʞb؍Ύ <ؐ3қh/0=Kՠ3FcXIڌ.&ፚ _)ZVD#xUq勬{sK-+05Y6I фl4,4cV"i\Ay;08٬V1A'yO!su8HSu%Sk< Q('yFh?J.m\֦(rAi_!,F7GUoK'qu'EMMpHvfY@n9K[BWU':Vh+n)d6xsa‘]zr$ԏY>dX֡V 2UT#IA*6NOu-Nh C8@|U ~+6Iʤ+GR4!o0zјnVbqՇIHװP)>sܩ%-u{!@7 k'u1%;`b.O"P5Ba  Wf t _D<' QIβqSD`ڡP4ll$``& ,Gucp!1 ݞ()ӗqyNRaKXԒVFcVv#u[#~6X(qU j?a  +g VgAte.fVOMKgjS9(3"Ο<=d)su0"r@PY >$L{.WkTO7Bo4-H (D%gUFz5r-EB;n6-dthln/ퟌGA0)w\A*:ŤBGRoIddZDm;3&0@B gݞZ_|0}HIQ Kuzg1/ _Znkyk#M ٥'*# &/[Y`s׷JF.q4A[cSNUu;u"cNH$d4'[[&Ԅ3BT9aOnOKY&޵912 jR@W}s(p7=}fQ/]y0БaF2-T 0`*[tG) wׄ׈km*!(%s&?"ـ`Ls׭ {|a%wdiM\$S G|A<oIȂ[ +7&[LR,ZήU|CHaWOc`"8vf7t;2'LZ{r^l))1 I#ۓMRp{="tVق*A1U}5y!2L%]{BRӱiu8-FWpB{jHgi ~F!ly.bv{R2" 7;4raIwM~7YEvA')^qwT7G`$ox:SQL "b/* 8DQ'fW$bUT`dLJ+i=\AIi\'A7=lgHſfq\B%.!cX*Z,D:* qR+5IZ!4[dl4>ԥ_v,ֶThsPng>NBcbMWݒFFtJ6AKݬpӭ<E˿1d͠&MT帳&VJN)f u)vS8Gro$<iVUiT¹+2%S($ΖzA)k7yHFL[RC~V[ؠSԎw*1S9Fa脳8nkGl/V{)i~IHC!&+4qbW-u:B #-J2TIYY2ţZ"TAW6r ?bR6]n`o>Eu,T1] zdn@| ,I޼Y Ѻrdw5:&6#.sa \,/G9-RiNO J- N߹Oug0p 앿EMxwWGNW  vnzj%/K ث??*:KېHȈ;# /07s(k!"SZ@V+WT}ɭjcYOG22{ _EG YNLn rHE);mUJZc%bb\zL9]Q|rNU26'0<1D.9iLsv.KXVs2Յ*rWsDR@zhZnNx7Jv~2l֋c#ՕDa+Gż2"Zٿ>="b=ږ'lfMP;W ɐHK(UHJNc4)24c|{!,IBDܢO^ޒkM$9ExPGZy`x\)/!)??d[,QVsFqe!9u֯uTgoܱ&wQ,q+-IŘo V d)H&ϣ+,XFވG~) Fi=z<: LJo}SNJ%#v/A7 Ăwc~TTFUֲU=]AуɊowWKg:nhHRx+ F{vKPWډ.YS3#IȊ%= vfFOFes戟n灻~KKd`Sd褛3r8c&HxJ*b(Ԃ D.l&e8* Ppv:''`ط FK'#tڕI~8ȽD>+=#Z5U-{zΤQf9C/Hʶ.3 :p#Aj XL ͮvMQ/_Xh)",< 4v0}c~'DRU0a7v6Qq+J?a5I &G0K[YL T[_Wj*%JJ !;xjd*rdjCB,KiBfh&CԀ o.$is3 n1 ~ y+ Vr;2I!HA$p}!T;lKcvfڶmS/e[~J܏?VtUȔT!ikTCYC9iЕ!BrCzULh}%ƞNdpN"ƍgE" ?,~g+؛y‘y2#suN\ V:h"3cP3ͬqXP*&m+ A@(aRXHqkgDef=j_HK(Xc#eH.0(#=FJ:Ⱥo^rDR8Oܼ#=e9VMUӕnR $(-Dcrf{$)4 #2ӭ>-6]fH ij)':р_ܬsyk_[sk߬m2E]wZ|uqOѡ-&z ^3vh*Ƹk2 $~$tTt|Rwnm~K- Q y#2)_Lnc}I ajBE^h'GePΫU"pj|z 2ƒ P4J㪆%#KN$!58Ճ.2%A@:jaX±15I,߈beP\DQf-l;*psvÓ` J9̙D*~Ek;~z7c65JYW<{SOoNjخTkw$Ŋ#-H|Ȗ[dvVWckWQ<> ENۓ 'uǑUn.X Ş28ZWhjmU y(l"-+ĥIiׁ{~M9Zb\PaB)/dJ%ǶFnX#$z@7"MᨲPT8ŬE ?nj'0.xABȮ't  幕%+&dFsPOFd%O IdH Y6 *QIJ2wVDzpl5ёlԪHۥV_*3 SБ %Eb(URB -bb:V@igqю ebc+! J| z.>ZP,ƴs*f{,-Kоi%57|/H15ԏx!}j J;w;P,$'Z{#==╻o:~tu.i  Zd<(bb1\a bZNG^SEg&^И3 {Ϡo_0870I.lh՝HIݽ2^SBY輩'4 Xg³o bD5&1RA~8FJHoy6UvNˈ'1Zj*5ڶ}D1:Z-Lҏq}Kd--^)7[̸mdvMەtc<mQ)^*Xijs-Ng^iLE#{Wv_`^?莆i1?3qC`@J1F㳢%lwHd?,3(22lRP62@5"Ő9 HgQ+P #`1 a뵍70?bBB3C) 4{N]%C h>1{!aBb17hu!"5ANB—:̫ñd(bؔ?e~FD*'yldF=8b2&i9\TtZO*s>Iv^vqH"sʿ~dD0#'exeA #Q+U6@F*#5iWJB@zc['3잘 Z X($ +Qbzhw*#wX I, Q#))8lvn@6p?F/MS4UX@OTBͲd+Ά|.))?ƤKdn m0R. NLd­c B35nDJY(0&3Y'!UnEa>ZR¦#y3#1N"10^IIZYhHL=T%d}œؽ= cBZظSR2+76ӪgB5Ie[Z')e*EkdBΓZk:?* CaIȵ_iՊZDhyrM;t hbz.) ͊f% |ChE`7}@ifEhOD'MgPBC+-'UmmC ` \5y)yd@R4x~]B*ubXL;+!6"0"oQjLՎ+m>%R^b;IìW e ‡4B B2_ڰq:8FRlry.`#6V]}Il% Jԑ#_DwT͟lΈ) Q rbƉuq%"s(U/._4NV T[+~@sQskFLjY)"x8;"7ƶe7~mvе8(^D4hJ9z BXj7+W9.^'oIrrLTQM"5(DwN=dAM~%)rА^ACPzds0))L /I _)('.,duFxCea17$jIleqCDMX F:vL"e+Ƭ6` IѴR"36oըgͅH O$Æ̤XI0"8g"qfuNnq~&+2>~=ek-hR8=Tʥz<HF2mei!|w}tn4o,JԖGA\v,Q+^$ /uQgsW>8D2# r %$3ⴰur7Z6^qJ~!#z .(Ie!JpȔXW¾)]ޱf}#\ӏ Sr UF)*c5[|ŻU~.=R%+] / t%|X3cg/lql"ԅr~ɊnIkC {m-"| 2Bk7Fߐo8q9&o"O Up?vQ<$n4 d^3)MR%Qr,'YAl3R$/#;mުf{&a *-%Czv -0LT-(E(~ )$!f6)" wT>:_sbyb:Ŕ [~Ur4/Waz5ZJ`"'{,1;8~?gFKdRb҄8ߞ8oc')BWifC^VU,nP7&iKsU:Kjٳ@L=Og=u{7i6 ^Hlo/T& @86HP쐝9$~l0/E(b#iDNF 4` LT]| 'y|~A^ҘFRԭߛ&N$T}9Ⱦ/j1(VX_AӼ֓2Eg@V#.Hs3Uqt $VLdr\\c2 fN ZyJjG [!G ͎C1!Y# jSZ?5ZH!pt21v@5 5$! a./hcV{sFʵ@ϋ/`b̘`Le񐷠 ɈľcFݴ\/ ԹVa:)9)Jj"Cлg5C9uQgHgrAVa /ٹ&AY[sc"av"_< qJobV  X}sl38t9$ؿ4Ί|*,,md*LVbzJh"AQ]}sيB+ͯ}3脒q+(ucZ3U`>JUFAh4;6+M`$΄N'gh畉%X$2sm$ףA5"&,nsfH'.-3G-_$^Iڥ/\'56$b' ](g˂2k ^ŇDuN*a OHM/"'>wĥ}@D (mB'G$aiDcSTjviK֯ &>kבձQf" :eoWجM!R]LN4&;BwV֜hͲ&N= 3't:֎"ti˓gq%ҠhY͉V fz̫{W=78 m8PMNd_]ʔFC6謙SK{6w߿3\1 sZ1V⤝:YdYV 2&&}l9rp.7a]`&]W ! Pء$6Բn-Ha K?ź\hVvp3"( D!*_l#Z6+"SCiU,iwťDR6"HBg|ɬEK`_VA9"1ajk1yBHqK.USUo\)}j9Ɣ+R9toؒ=iZI )yJ;̮O=eDi_ Y(%r0 )![0?gS$I2u'*NBg:2V}ޤ=QC^ͷ֚AskhT5 U1PR8H'Lz$:y^Pw%%,+y;¢A 5jC/<˼ Ӫ:C_k$X u#]j$_X sLe2Hܔ"0Xh)#IH0P6 SĎ,2o96(~0NznncjBKLQ_ PHuh*%ۑ&f%yO}ϧw;r\ Ǐ!o{ޫQ>ͭkVM_(L1Wjeiudw539 C~@&@c %3l#Lz(jHVI0L_N8,L "r:ϵa%ӭQ3:!s;a1ve1@!Mp%x--!*E_1lbFɤ2|WrE ,IV{ӀdPhV0r2z-nS8\D&z^_#ߚ(W U?R;,*>*mc10D\ᄅar|jd'?*f20țZ%tXP$Q J>/̶h1CW)%5Wj:4~(慳:C+|j I2]K0+c>=LPD #rrIQQ2=ES;-`غ\++H̬JE.VKR]~fQΧڮuUZUȶy_Z̝YRY=MAdfy.V4qL19|14EH'~*GЂ"Dm'4.`6m23'=ΥY(e[z[U4<| F` 2:6"L6Qpcyb=3 )@hTgbAwzeA!܈x7ñ[՘(~sO#+qɲpbQL{y NtW8d縵9R=ws +orbYbiu=n]*1.C=WJX\`J҉0nq_8a(!Ut R\("24*x:,0zuME |wن :6k$i3is9v݋9\I [ ՖHg ATUA8e@/ѲT~a!*3:´ސ @*Yi_ |2e.ӞMO%P-h/{/:RW6唈Z62ldXva#EC|aH"NC5λȆ>?<,54$sWCINh 'd é';j/nS0TG]a8ԢLeoY1 *Eh Y2`\q㛬1jE7<;mNL)"[p6J0U!::"*ybĂjP4u6-lbP"?jQ*XUFj5IrOJ~`G!+Awm\5G$렕d ԓYpj* OosL)>.dGs/ŬtXppL@ Edr2B1s'p}' ̴-;lUמΐɭƁ/ s㤬F}R['?H"DV4523KF- j"}b, !x6*VF\2fLh|eL.3Z]FGSMp:@@Ft_((TI䛖‹ĻBk*߻ߖpsM+"yڅv~щ =9 XgaL^_Nq d-/[@4{I$MJ9U5a#O/̘xy4!AW]+{Y%H*ϰVCwOHz`ڳEBYi>qPm%;Csk 'Fx͜]ږ`ђ)t"qZt5!E-y VD@7}(tZ$`^֊ (hp,P5)[35`Xj/K4*.-YD/rqӷ~uCgi76O (adKh&Bc2t+ EPp)XNҢwx%*caL5_g7DSaWj&fYeEJFe(PUl͛+hv4 Cc]])j'OڽZc(b@#M6(ч FP6k:|`A&OJ&s-!$x Vt&S1,L©F@·( @K~'hS!LQ`Ϛr$$b&^"$$i=QoYzCcLHњ@Є+lLPz XJhźVvR+I+8KD_z.ˈ Ycg;-8\3zd E*gE)L3YwHI6]k"qlQHT FztYVF؜"ihĤ5>T.-\` G@s#DpJ4?<~U4S| &# ҋF V.*]3[?raW"0rx3<7>Y2sCD[i(H_&[Y=T16I(W/I(͋fvI(_^f֚7K[WhZZsIx}\oe27Vt c&/~ V|{rhrBNځ 'z)hIB˙uZRP!֮??\Ow=IdRM+xa'dy!bk38!C'k(S-pU3Y}drWK#(,r<oB1Y!!j$X/ҠLx6Ln D]ф !d@hHP\N F_"C! 7O/DqbN qC(ګ]QHNucV-z*2]DbvN3ŗtRy^*Z; ۼ5Lߊ- ^iggQxVwTb=i})ifi? BYD{l6(r]DkD ,E+I20טw?KbUH?o!Xg S|Otﮥ""rɼUj.Ww or ,Ǔݩ4S\yZ(ݤ9 3WJv_ݰLDR&DB ֛K.8tLZ~)r!!ER\K%Bp%ܼDaj^m+P BPa0Mf!ԭ K. *4YU43,F4/ȴP!fk$lnQf# KZrO@bl^%PJ݇H`4_}S%25TVEMpspn[\K4BlKz"<ޑkqW.>Oa{' !qPjgJ9&O~TepT&`k,ƹJ?kuk|(4$W'qR"zP/DVb0jXиk)ݼCXimPN)eޢP#/N$O^gZ&:iͅ8d*_lo0~*\aH)]t\hd3*fi(+Qcm2]dӋ R<@Xa°R bh"ߦZ؁鸱*4fnXH;+IYL8^5K¯'R8j C2|/XQi'vӯaЙ;VH0܏ ={S"`$O[IXtAhz$/Dvx.ξLF̂kX#R+eϣT 8x.m"vˁa*F˽T1ϗc+*B1PWr"7Oe5,F+%6fX%˞z0K?ނ{-DԘ# JٞrFY W`,X"iz^4#ʯ 5^Q!N"6(إJh2]PSs(xٍ ukhkO ls)6YBKqMS%~2RsH#Pfm'gH͘ v:*ˏ*>,=)Ԫl"ޞ\lKk4&%O`'`)d^H;XsQ(W+ j+F\0͡n|jNxsΗ+1kSF[]oPI! $e<@Ij i kHk17$ :$~4D%$2Qj;$,H.u 4c,p EV2]लf3J}͖}53 xh׵-4:_HV޹yRi[[)DO#XhIk|[2‰P&WsqHpBg"ֆ$P_UD!QB VPG9u:5eOʩ83+̃67ƶW58ӮW ݵaJyH˄ɈĿdL [ ] 53%@FHKA86(²n0>vLH9eb-jP1pFAZK:U$6FEL7aa%#gQ{y2GNy?a#}R>VhgM&C6wXa;S;b w8OpQ(bA-Sp"LiLuc ZgzU`Ru圢f!Գ$ uy#|hIći:(YeTR^$$բ)ʓ0$1D=W J7]oGT0;1Py::9 ㈂M< $rbھfrm7ŌlmQy%IcY fx, QUTPx5/^S4;ծ M*E':\ݽTbcApQ>J%X {EN`MȘqy5Pq5foU>X!w@pu0 T{PdQw>."$ϠU?Gkh:\Wz5Oar#U q fV(EBj~NjX!Q@a ~ULDu Q *wN*k?[Ou{&K#9^-DŘys H*< S0v]"T"-Q*VT'/1_ib.Tiop!Ш_Qѷ7^Y6T;W&nN24|Ri*r4D9uUk`bJCAbٯfرtBx-GZ)]-đDSdeKWoCm-YIY)(ڳjo1@U =Y\y-*ly) 6y&JˉIGs)NIE*wё{)C%P@}k*&IbGcHIw|FSw(?_ڹ&QKzbky_:T!vZm꽶:H\詙rOKL L|R$; qUi Q%'}J,֊ 3@ɝ$L*w^4l)aü U&r JaSUt~_LCwU/~oiZHSO?W PWJS8Ty7ݑДSte#Swf$vqusyum㢣4 &a#ͯBh:DSqgQ=UHZ(ck!y#C:y.)ЉG҄#)D56q= ]N&܈,$0_Nr!sDAs"?i-\ſvT}bCbjb1Ub]U"eA;"PϤ5!H'Y-5Ks. ̒:R4T#X{qRM OFӗ%NKK),:H! (ި!3?Fez}nJ3C }J՟6 ֿri%ǦILa?s^ݝD+Fk2d^.hr,?CЉJ`d \Ij"%`tƭ~V)&sUu*9*[.cZi[>%3N [pU]< Tcğ.ؙUӔ|dޝP s@JpDl\#]+3rp920VU gҨ,%SfhNkǿ("3.9FU^amExNa4ZWFͫ~<6I;d\9'_ =(K =hGm<n Æ&٭/̜(RK,NV2)@~Xhh}.KƵijX,L2%-My|ţ9Zn +LUUT鰬{bXmcl\!җ!MЬے3 * l<;w},FE#ZM%dINBr".u1 ?l^7ݑ"0-N/]KĠdt x4.N{y?̜靱$;!=hBHBUFPT|(#P15N I }8%3_[T˔8 udԨ2ee.~et*G`hO#22X'? D6;I#RtnYa\lR;+E"S\CU"S=mg"lt.yeǫk}I_{Aqe"-8219HXA#92]k+q's<y/(`OTfEG;6o] !EQ0@h9%aV )X}gc Mp <7Gai?*MڽPChKR@AwAC âFvKBAWt]9)jCNa~?nH1-PDsy}U(@eSL#\l )%""A9[`jĒfGFp&('BL('|KK[Oǂ3wTΡWJ'7HR9Gu&K2`+̛ph#oNXHjD<(1^i+~aF_dཬD.:l%Hf쀔/'Ư[zmBŊk*6҈/T* DĤ,[uU#g5=ЯQȁżHOT.wPJa,9tEJAŖY]Is'5کb jUφ3؊ I9ֆ6YU0˅ [t6i]s=d -p')$B^(z^L蜛5ǾP%mD4fT,7n KqI@G Wc@|r;YsL_':{V^ረ՟1ɖ5lBGFDwUs 9ZϊNn5Ո:ޝtW1Q(6]}ǿ†/Qz FWI!jAa TqE2&93OHdޠؘ9&yڂ^GTc[?RJR W ձ+7[AAEQL$'*\n|kC`eT3Y,a,n)GocO## H$K1w4b3W5%mIPf9&EHli jõ0PIH'%L>!Jی&Hyg.6].]{VʔN(  tȔnQ+2 X Œjѽ]䆶>؝Ӓ7Q 3&}eXX)c2j+46QdtNtW'g ϫ>˨v9ۉw)'6iRc|AO^?qZ*ҭ07b H1jlMLNyI٫I?Hȟ,$9#e'H$-> bƈħ'%⡡ P#Ah Fj t C`N AjQ ekL]d.Ma B(G( "8-"EHbK NuYгW3~@^HdM$cV bv @uU ڢIKc(oebN (:.3DE5+*qa? w Qd&" /=T!$=jf+ U{ï#m%iuS':~ߏVxRpӚ 6ТmONk5F?X)&]V d32],; _%-E4DWldOœ*g& D|fZP #g~ӛؗ3w3rVտ^X҄B7$G3DSdSk0DOΌLbsȨ*\ bZ"#AXX7.42tKIoK+f*EorydηV>W&JXE'GJ[lx"MITW3$רS4q9u5 _JR[J6w9&*Z u__gJMNXk%brގ*2 2O 8& =/ Vo}%KGqF?'p-['8H"z|3J Ev|H&lBC1/ l\׈>OE{ry#ԖK>{'yV2T4aHA jCU\rP*)15 LBVTnOJ,VbQ5O݋m*Uw0zk#4 Dυ"# ࠤtZ[ĚڰxE›R>0MaNIR)C;ĵ+GևWҳ5bSR"zg&p#7H-T̜h DM+P d5ԩ%!Ep X+!Bg`xW @Oeð݄=7&]IZ$){rzjk>Gwō QƈS_zVo$B{ZIHTP.7(~m8NRg] 䠨qZ殴bycnd N9ʬ(ȯ9IJRUo[0zH`vRDiEteg ~!nl@!2O=83^-.r;C=`3%9)1Nl;C#ZxjoٓBiR4iYnC4m/;8Í+OdjU})d+qm\jv{g!ӟ-䚄XM9 PHDvdqȎL^=lӯ570Li_gSV!= -ўe6e+{A'BIQ]9gr%ҪEТb[QMd\N_ iicx+ψ=U"gTǿCk éMPEBp4 svK!PD߸7{y%ڑ`&tzÌĭJL/FϜJ0C; Nj`d"0R\E@+]tٻd?<5^GH IDȄfĨWu.q p٭1aOQ.Y[7@[r{H jӆAz.:r\|p߫.*43S6*=V5p4yVK!Ez tdJy!El\iMfGYR Zҽ=K=DKor_ =ʅ(-ډćrHL]xɞήQY%'@Rڵ 7FjP=`JҴEȼ$@9qNp O h;,$"FX$v2)KFD#+'cU%rF88(d{IO7.q0*Q#+"b*"|.6 #a]x/ϮQіU:V3}0!ȠC=ڽ)E3Mr-c㏘O-J:A_1|G9Vcfs5\p<-̽"}!!ΔME&}F.dZfP^=773[Np] AF]|&b-\L؇#IwƊro_|@o қi`G跱,@Sp.<L2Ps.Ɖe! KiS\tY֝eu,5QV? )S5J 6"OH]Bd Fn!|'{x.dU^i/1Y=էqŲBSk:uV\B5 >$;iBܽ~~>i˸ReDQX[s*/1!°gnQ(%`]H ]Wt0Ɔ D wT.~ȳ_46󲜸)(R#]KJ31 pw )&T1+gzr{y+jgz1ܾ&Jl(xzuIz)A ~&z)P ڄǙDofs[*vB%ݧߝ<@X>a4oVmi\=^юcr&KD~$ڮIS)y1),Gs%1eH#w9Wg_!~CZ"Og&݆7X⤲;8C, zs2}o^ v9F@{r(ZZ^xyMZ-dJ2A:mET39iDOuIk$vy۞vIYs D+r5ӳ(Ѥ/o?ܿ9o^L'. KM/P : 5ڤ$ר_\ MDW/.D\ &fpapRL׶{Cf룪/Z|b+$bb9(mt3O( kF-Aҭ!ɖ<$q48!7i+F8םثx$7eZdm!C,]Qk|4̫VBR{TbWP>~aDQ*)Lp^Ӝ RЙu1È.ܣ[?1)-la C98e b'g@EL\N8V︦Yz{I`ſںkV2Yʭlc]:҄G`t"ƎA0e!X^]SY/᪅W ),}ɝD6{\ N 6 wwI*2«$3HV,j /ҮvT5㪇lG>[DH9BwgH%Ћ@3db@ೌj(v !}S`&,Q*Xh]x7>7!P@+~JW4N@ A g7̜,o=~݋g)0lTMNB:i=  Y)WA2 (chQisv~ !`GmPŸ*^)55';Gsx*L'z?ʤv[ 4h!S}ĴL+:kjT)^[U ]J'U؉39wk1F8ee"cK,G/U R?YJYgʤx㗑e3<ׄS\Asr*`XW(C$DXjU;$U H7=$(Ӛ= #)47ԭ2957Nbd#gnv& proA}yirIieLAr Rd(ZDJI]I+rBP /5uU='?>Y4ƒȥL.-9pE<~k9Δ.y?6#VJ[!5R˛-2@QZ.ēS!|k-&#L\qkOu6?G}oby+X~3rWu5R؞{Q qAd|sQ.=imS?RcTD_Q `eF+΄6J=(%Њ1_!2_(/:u<_j#{ 2L4z&؝P) ћ`ax$+,"Y r7悏oXq[ M\TwICDcUYmRQ&-ȷ,G>)qi:5vsz%DEj^oXҩi4[}{ ت=KK3̤7ˈi&[ 籤 6@g(ph>cіIIy3 `1UM7,Hi .ܞat,+ WPvRIO%wژ$;-ΉK$OD)GtA&=0Op+'#u1tI,7/.SU 6!C&XF`˵_ !3GԴa 4v[]=4p%&Y9޲F % Z@ҫ$Μ*+)=RK$fEX"H x0'CA"XQ6 9G!Q7#k6 g$0l1y,P+pg%"5Vтo=仂.:QquZt$11*ge=4vAV, ;W؞ l§ ȤmJTN!t}ۚuĖZ cHXݱFv{1ĭ"MZ}N2VfK Q%fN\-tTy0룝nږ$."Htp֏5iԜX+&9zt1I?]EEԧ' aq/J>m eXXyD*g NrGy>mwjGᐸIsMlJDɀ$YX<<(Fټ0VeB~A*zݽ,f L[f0 5I4l~zpr8%vZ质z̕?Q-)IXa1G|f);Aֽ%PW-c3Do>hr*:B֬A#d:T7D25g 'Z%ݹw(WũDJaO;>Gl፥?n!D%BXsG̡liYR<'u&-)I(KMglUe.-rcGJj+|eR0壭$8j:/gyYKMEO'7}}U Qi3(Nm%9,uOsӍKW+F;1 A*b{cX60aTfl-K.'9^HXJNC5iJR)˞%깡sAǒ<( R(Ac " dBED2d j3;4Fj O ,x$HҧŜ!8RQ(# @T>0,MxΓfDhy ҅) sĦnj- cG?r5|r-×O+ "h#:!C9h-@+h4K`" H tI[*(fULHsHf&."3F=5Rvf"~fd"&;W/I`L7[N$oO }=!b~W~lp>P]Y>'8kP1A =%/r߯DGV!Φ̂0"ӝ G+YkY(zn3BFS /U< nE1 ^^E$}RV^0?L:6.ƒڱQY0`4,UKFc-Gh2c!޼0PqʚǧQU(^:7fb㨗Q"gZH ML3NATdA(ACG#zVCl;J`kBAl =ygGxr? 84`Tfz);PeFJ1àt+>*2Xtɿo.}H{M(Ni&;6*0 @HPJAZQ}DhbL"flmj 7ZM)GA2m0IJpߓ>ss Wi] \rel[tמeE1MIyl>&no1>dL:AFwd"F]n$Ar{!9,;(b/2ϥF꒒+dLxnj Z_T<)34D5nQZ+yϷb<ߗ):WV''b2)8^t,e[eo>hd#T I+XhM>bU@0v)^3kֹ34Zfl Y;YXk >4  ~`nޢHR2?L ' ;6"h|ȝj}`ěFw*oK̨eV_9bzP.;"Y^WCxaĴGƸ,Ra;@ wʸcZV.ѯon##lr|-TD FI ]f0).XPXIGi( U3)bfFv$Ԗ8uIPy)qqZGdZXRi[X$m{+wVPL!x9_nZR"YV@n*JohVu:vޢ$C?r"rY*K 8J,+)A@Y"~!3+L =T[}`aC %Vɋ}rG1Sde 'IpXyFq8hZ\ ԑ l󰛬 ߼-18 B&?QGơ\( 7ˬԭ'yfns=JqS!!0Ahi1c#Oj#sNE΃^jJETDvWٙle(Zch/dv2L ZeYx®*?ל6eP*P!MI?0 FyH 7! %&'2N0vQ"I;'@mr,{fu3ǂV@%N ("9e.7$x| 15P@nHI^;&Fh+9ƍfFZ5)"H6Cu)#4QRA42H"<&d ł1 ،C>aA SJ/jbѼ0FfVer ]ѐ]#`rB4%dbt$́!m>߶ ^\5_*$rgƤ+2rʱVIT%.;xJ !{puRFX\Zdҏ @3&U 2:$0LX`MfB O"*u =r1 LZw ~Vb#'D#A+RHce~L A"(D:~-h)r&@Mvä+4V,oi[`*r;ύhm˝=WfSe쵋{_Mzs b:R{#E=F[F,HZ%z&)J'dSs `U y^b6QEXQ2[U ҢHn~-΃&). ng)lٟ#*"fH~1\*K^4GT2r'ߪnBHij?ErjKmIWm:mԵ^rFPN P Y 3ToW% /T,D^zћi'$%(p=2!O`BϒUCI&;JV99 Vq7 R Q3J궅|~u/!0Nl{$~`Z T SbFZ8KV;hZ=XԠIs b9C؟[Q+dKR4̧T~gk"C+刧Q_xݻfO8kqknM\!j !$LK3&c!(0=iJT'X wGwX, ]\م"3#~O[ V-?h(džj2zXFQʢ86%[P2; mN\F);^vg 1<Y^oԁ c{XrT3.O)z!<&,yͧ#so׳G!_WN?Uxλj:9x@SsI6}cbX<*3(5pt^E'RBC5G1۶WӬt؊M^.6aO䢂o4}z/9=4ttı]kRUR$ԄċUBvk.&gXТ+9]M<!팞yy-}E/o), XvX9Ͳg PS#`(K,6fˋRVR;+[N͗wi4O Qv}76l8.{X%p>‡1=f(NEcRo6-J.pV&TYf_PDM+8T凃jRo.w6/*%8$oDK',s4mjҒδ#!qZR mJ%(w{F`.i@.Di$oz3X "C ҹΟk/= , ~ 5#TWd'qJlj!8i"k>M5^Q+`ab;SL; QIz9e[m4 ̗M1B/=ES7Ϧt^u.`29K7 aI>L :,vy,7mrUYUY}68H"r2P7 UIrĽ DpHb_Λ\&֚OWX2B#'wljr%Ccb ^{9 S@ЈԨ|ja:A!hC4#iEug'P!Ed΄ͩsm $!"3%mb 3\C`u/ EUT#nLҩ agXNL.C Z]B*YzD:֫][ ߾oB{9{d\5h# zgX,YSaV|FSrA7&b: ƅS>WRoS:UђT; qt HW:.SΠDUT~PT>S'␌߆-\x]IG1*p\LufBGtDϕ~|~@Xd &t5q9EHy1sQ'E:#H!"f r-PJB^L,^rFw噛=&S!2 K kHCt.di;xRd'Ic$K14hbW'd0I9= 0v&IG|.g3V*)ʛv$Oc R_E8BpV+zEђ+U&+i^,HUȸHh#np$PeЦ&x$&tz }>:Ն$@fݢ]>t*̜ͦO|Dϟ;qY(VRZsQGa"+rc/-n'M96)Vg7fiSD-j46\lan"wA/\'Gke4= N]b;sAM5ƚ*묋sU-^ONҐZsItЮe&6fAG%QPR(-nonud4m^Q/a&=pЈܫrӭIN&g'%Y;0='**( NF@j_iGR;@Ld80H>tL(@"4}Y"G'_LmVj7:gJ eK\L3)pd4++nΪD^l1N_[ ޯp'H.|,C #(R'Cu`=[qZ'8,&$cl ysj7_dYK"PFUDH'0ύ$((LUgF0114. eHt7M&pDQ3mwd9^w]|c [MH<&:uhqiӹ 7EAK.Es LQC< }o4WqÚ}.2(~n]ZfXςQ޳-xXX`ѫd} X?j'*6߿:{1ʜHVŇY8@B9&@ei`SAw&Aցsᡄc&!.p"͜ʜjaV@g_"BDIjIRdE+'ӷIOYq9b"aFC~]QJaO0\܎]+s\,2uoYl!˕8~@/#"ۨ>-W/J/ѹ=]l@e5J*S\3Y(I"?vudd%cD##_ٯ:R{+6q Q!3( &, x=iNTdJp*uDfL15 Ke·y'J9-ܳX6E~GL,_J$Uu.-[$dF2[R יKÁ ˶W?#*R`BV:Ht\Dj{QBcHHR mov GXxLO[Bv)%N})cb3- 4cҧXN9 \2)5Ur^ ) t[9U[US2%H ꢌ%;SuQsuz9uU }eDWu] s䨧!}#M_4\|;Ͳc>V ;U[TRmv$'"k~>{ ]!*F: }E//˱ 2*9d/}Y#ԛ!(9EiӕQ]f?F$S$ l=/|CqvhG5&SZ1\Jn,N;Fc$ vR׬ q^fKBx\O3&(!cR+_x-G wH"%@Z(gAoFeQΑ?YcTDH_-Af)'aX=0 J^sg7riq<~Z%Mt{R(@Fڂw˫1Prʭ6֛VL%xڭ^]k2`ﴊ$It[RԢJ`~J7uFѫoy0S'MͅX5za"7^a0bipRMt$dJ[Z0؞x#N2ɹ^E Khqp paT`&H46b^ Qz bn Gd!\rյ<< \ 5B #2Wldcl4d`hI+hE~ےA[jcVLP8SE#EDgw(4z<Z4 U; w=ɽ+ӋU+1U@gDs)FR,JuԷ^[oG|'f3m]I] m>"3XZºnr|M.0)Yԋ!>#9AOlUÔcJ%#d{gɳD2L^ , O S*0 BgtpXT ˄du^F:$I Fȕ$Jjp7Xiyh4(aCpPN0S!$PV0B3e(G I{.X^2Z^5WY##lK H!0US>W^ ;fN|K%DkYʢ6aLQJ=T+ntk R,[VvrmȽ45pX9 zƄk&7Kd):u VeTL۵mc7U+?ڶyUĞQZ!he=kʓajMIp[ud+3[Cټ7>_ƪ% Ʉ*#`L~] EbNXmtcӓBjdā+'ЊjE.LbU~ K4ϐ$&>/\@ &.t̄HTĠנ2@Km<` H$n˦ <i (-!a%CSРTQ+kDgiIR!Xd@$v&Š\gw-% _l{xS*h5gtdDy2I8hbs%"Thޥ4AK)u=\ ۬5A+ حJOS ͯhҼO{JH0G XRT%|;VNv.cߑ{zika53(Ό38USK.*N[9!M*,#t5JJX~MF2I6Eϒ\x5ߓu^"tG r0`b 1r6(1 -@CP)$K2!@p_@D1l̝`v Q9iP€JNlP* CƚЇfH e 7.EBabrZBb,H*b5%Xc;;UTOߎ3SyB&bR U{:vIˠb ZV#DR25dqV!.|bı4ZQ_뤯^ R3ۡJ} bv.Ip${r]4+L)HvQ;q8%kҥ[Br q(HgU%#"8ޖ_/z+KBY)5pȈ֍,-"Ѹ.8(<op'whV@- vRE5CU0lԨHU\B޷G 29u .0Lݫ)IQc]=Pkq[| | 6B6TE(Rq-e-˄a3-6ܹh(W)wHɨłLlD=Re"'ͩj rb$ @N[Rc'xJE܎t?ۂ( 쫕`C&a8th쎯}x`58>|+-OeuʛC{]|N@|yI~ wpi#+E/Q*(J胍S13@Ar4+lK?)< n/ RB(oSHK皩t:RX)cV`CuƋg+ԙEGajB'²dBPJ ErNK3!0^Ah|xP鶓vzb9 =O҄LyA89 >bq[-YDOVm ¢rJV|HжYTa,D9'ol2]E B{I|vknЄXpfV%Webҿ1.I@|\i Ye)),'nCK94Sg!Kfv7Ol\ت0: CGʤl!bp[l W.KZU74zs¯+׶A=94x< *tR;G1)t R &T"]Sc7(  LS8:Yr%3pU4wyݼjs7\;!'Р$$^OGy* yXg5;=E`Ɗ5Wn{C]w$=9JHϏ7N7ʈc:B$o!=, `&T+V-]ezlQ\v;x,H;1'5jY i :bKYȦ+טVoH^_/8.=T ĿQ:tij Vr E댤Тց#A@#`To£1A>cIǦq[1`iLjSuh;K#P\!psiWJɊgѼV%hhҙP E?֦pEJ&o Vw'exëA|gVG dwSYS%bgVvӔ%}|3S=3~tw@V !=77aO3d,Švn_ VQVUhXRԚS,ܪ6Y2XRyj.$^=%R$ؾ [֜'RuU.-(;v0šBԊRmI#NI~tҭΒ"e%oWł%)F[k(EX␕O=|HDjrʏVPY;nOZBRSy'nOZQv?bA5E"KEB?6"E`se#3T|$'!<Ɗ$fő;ɕE ZŻ5еSJbF,q;i|  V&k>  K7B XIqq3g>%ejyŕrY LJ%IBГ8=B3YxRD'$Ә4C|Ǹ Up<&Q噓84i`TB93sP5 i= F*EEAq)f?4k 1"Y!Edc.-bDbM(ȩ׋R3T3ISHHxPxI'7Fx ?I(؋1 f[) Pq3, q.P(Bdf3ZHf@tp8x EcWR!@-N4ReA6aBE?NDD~!Y|I4cRT#(<"/Sla- y^㋊5GE'Ufؠ4If$!/t39)i:!kaa5Fń: ͗TJ*KȌVՑd[0H' [CfZ(d EHjm XǥI* "4^p$30}:Wb󬱑bs,UAP@i1b~z?|BD%BNFDKCAXBC6hR"$cJ[%* /V13):SaG*^ɕrXԅWu4U=L I)$ i wC9$_j`H(ԓgJDx`8k 7Ez,:@$r %pC>&Nip1 ~ʵ4'!w}w }T[rtJJ^0?Kjܝ(NdP.E|1,lآgT9#xvW-$)҂ny-B {Eƹ~P-iݴ "a8g KʢNMYxxa DuJ.8z ˴NE7_.5"&d@&uN *AUaP|4,vDPHV{~A{Ga-MK#_pQ%Р-jW鯆xb $} pBbI52WFs* BQђߔ)0Ԃ6#hTS8{N- `REQ6̘["z <$ `-Tn#Ӆt-ݥZohyz7=i)\(Q3DPR.lvѫUˉeeH\y]ʥ$4W{B|Y#nI?QO)L˒ZRm)BS䏵UXq Im>BMUe`LxIUK:]LµI9F5 D+8V(hZMjHS!GB|N6>n3G!A?oLU64y:) > T$W>(]q{HWe-:qz$3֟ĉ~W[ȽW{(y(c78NK~(Pe !NkJO 'Vx Y\,æDs-ф="a|i'vX cFE&VVnSۇ$1C*!~1)Os Ybq=c2;WBK3/jsxTkK E0Zx46[\yPM֬v Yy Š2VUq.PSPQ4&k AR,KKjA3JQuJR &deM 뇅6e*tM;Esc\DKUf"-j ѝtL@ g[Nz %hv?H]9ue|NܓmrIg|⓮'qh}]UexCʬ\7TusL':6HNNP9ygaO-YqSlP,FA^U4O2EDYS!ϷKJPBM0l_1(Ʈ% P | NfF+)=ҐN?|!Z ajlv헴@L:=A=8N"$FxTKM!ҧ?LKYm8?PME9fR$TW m# CA_ap0  V Tr 7ԙ=Bo`OcE|1izU;kKGg ph*(mp<6`?W"`_&,g<~/fA8֑gBLF$=z&C&~CT% %a˜k*ȹ]17mY𘄞Eяz0tCCyAke/T2ԵUD!zgfݻKΪPM:k͢siުeLM`Oqt> ȜʶIV@OUDpD4ֱVzF֒9ɈŃH5L(fRMHj dmCSyDy%-S e>yҊ&, 139aI4ۈGppCK ahㅔTD:!o21$$XמRE0ɫŜ:ُy9cZ4K11ȚHl((܌VEK)^Q!! 0 l-͉'GI01֠8S| ؤ[Ş$*5zQipCKq3G_.N}h!bm DSms: Pep Hl5-KnsaErV U3.s)ަ T'')>*pE 36tmԛz9,Źe.ү.1mud[j|$'TSuӰ lqB&=" s9λWH$XB? C$E0`ߕ 9LDcF~/%hb^9+@g0C"z}Exsetn9~XCU琉}*T /*@ n*4a6$fjթ<%uǟ;'$t.[!9)lDMk< xpBgTEIr+_aŌ޹h>·]hZQ¸t@k:Br19iJfSEl 25=(b0{rAX#H 2š2Yk7IB;"|'d!S` x]s 0FdK\9!)@%u ^)tc=Wr{Y/:5q[?CNADSL"B0DU K- lY֒ %al0 $qCQΌy:v!VӺ22GKY/l"^YkgBe+!)Qx2nJܦ4uc־#2n[^V89WF6Dh*ԢzKRl|fQ?hPL u{Ŀ569ݻ77Owr{w |`"1#d;0T-Y0 Qa)NGO㥝.kiĉZ6r~?Ue_?Z'< TMXɛPzwT&˻̣rTԦ-u܋xvٮV}i>1 0t+-ADp֕!F10̣+Ok̄^?$ P`DG/Hvp1Nգ%0ݗKY(g]C>icil*PE15C## a0 RQw&C57Di YH2mbG$C@e!go‹Y?𙗝dڌ|rMe5zZNgӔ( OЊ=cd%R/L@yyܑ![Wܵ ul.n +6~J $'^Z}e0-4XU \S%WO(|W?9of> +-![_H]q0¬w7O/9+T%L\EOFRZ;;Lިw! ~oM]綛3Lrĝ{d*HFN#ERlVvG=v¹xXh5LDfE#;EK_!#n{do/c[!-z8@wբvOsPJah%=eMobbcV3ϋ&K L,B,j\D Ĥ$(+:S",O]GsMhbkE0ӝGf!v'aYoW-QӚ|O:`1* 3O+gnytԑ~/W|˫\CRViI.1G˱3"{1 W]}q^E-OMӿK*G-qtT/ fӡ7\TЎ%EIYʍEC؈hzIц4nZ0)I,$щM?y(&>EB4Iv}+>0 I v9CW.M!Iݛ[`lT^%"!1e{UG a8Bf^tjd `Z(BT@I_+yHh#>#9 %WމHv'ipq|nSSu|>_1*%Mp3c p|(?2 GQL)&=e`{K>_Xɚu-_t֯jqA Ea !IZwiA?4m#$|Ŭ@F·f\ =/;RLR/ouT50~9  5lp@=ppr1p@LY3,ϟd]:tډM0{wOViBڂWr%[dNt;Y6~Y$p2КHИ R{DLlE\bƮbDRwHIIސYK9_ d=,F~**e&&NM0qHOWsy5m/]ɻ`)<|r8R'IJv(6ۢjє ޠ{7X;䌘ZiπxKa x'06h1P bAHn$nY.cgLZO&Gў|+|c&p˿>ʬId+֑J,]\*9[}pm3' $KE%tH-d%09Lisͫvc1jY [oWDjO_ T`F eųƖO\aͼr&Xi#RCv1{i~0܀Sr;˼n!:="ⴛ:za$V˪6O͹|I$*d'bn-I b!6kj(ѾzE 6C5%S5;uj&!)Yl)`#t*$}.{ GN]/"Lg3b}bdZ y.!Y]#xU0o3]+k˳?^q{#Ļ~li&oPͱWZqd\ambOTS+4 ͍Y2e#Cb.5qV0h;UWW2TbAڏbv]-ḩZT&b~OP(=C[:]j)oqu8Ȣ։j[c'E;p-] –Ҫ]O}leQSy9S 7"3E'镊!UQܺ/G m_,1]SAޢش<"MBMz ~#QYDte ஫]A%,Ͽ:pE|}ȰgÑ.аSs. 0*_L3Ԑ'j 6+ͧMS !Ҭ' -S?SSOn5_T}H,ܮYB \S$yP}rD`*~lB0$/$8XCa~ӎarByV12ea<1&uEk^knf`f Z1J\5CI[FDE*`ON@M}:4ϣ=cZH29Jk+!H2 T0t;bk譍CrHw+ MmF7Ch;3]SvW#HԍpF<1xS!=c#>M_B#.ZYa7 I}LrGP@FjB2KWcWF`PEdY$O1 N zŐg۲EN:EqL+ 4xy>"q"#=2NS|g&$ڒ4't||'V2y9njҢN9Ahl+[ؔBכƝw8|K >##reGDbwb>.[EV?BIĜ`lsh%w3*d,uٳR YCG%Rugӈz"UrUtwph5 yI~WqBI,m0qCF:pNx64ҩm55ۼ LXC[簍5MCÕÏ|:@+z#V $Yʶhrnoתv[ztŕ=(4KU"(ݩح!~OV}EڳyO2F~bѱ#5iX:fm O}kèȠF3 j7bF$:6"? NۡѕC2rBlt TܮetL`dے_aG(|MWNk[Vtצ t\O^F] _/ JkDTӵ?Vɮ=o)bmi=&]a|J=s95;R|+;$^$o5Zj;P-W5uB!GR. e*m4P\^'i)(vN'Z5 T&]"3zBrGus6.Z ۅDbT/ +Wfou-3K/X/.ɋot10@J$ۑwɎHk1 QixP(')1]+ D<$լJ'.Э[$4/Yٓ֞$bԵ]jKYa-juy!PB>&; }( $ cG-jl(7 >#>LS2I$vq=56[t:4idВumnإͮ"u~) N%b79!2qJ,ƹi]Ȍ P^ԝ^k2r+܁'XPՖ&rK. ǪKP<'f!ݶ8NJ+{Jm;RrTUb $a"("LII͐XA8hCC,TAN3i`ZYDAi l2X:vDn ,RMȴ>&F Df|FI ґ\X)Rib+^vl')/9OiR%su4Ga^Q/0!/OVUeXHhȺ V)N0ϐqۗ~i*B1U 7Ռ)B `Bky (QRf|>R/DNތ2c{P;gBxhW[%)HHU{ֵ/"@\2r1KeӠMUgNnD҅W%zTL24/$yPoN|߰ӡ )G1*%;"2M#≔O`"RX-җǒq^G$$$)|QZ ~uRqP((T7xGa" } "]APދPXpOX^±Hbj"D 8r̮TMR,7hʤqҔ(ZdQC‰%Y2KmsazH 3"g OPtM ]U?qJXD&L4A wv'&칇$tckP~5;9 V39Tr,8њ?2Kll։T8Xy 6q>OE6ϲUei>BOے-BoxF B2\E  rmt:$yez%Xz螟mqZR|Sn8k%!ME٣*(f a% (rBnCf[E FB Te|\q,(gG:*bmtw Cۦe"tq:6))q(֝6duaV 'T7y6W]DkemDp:Ho+A8E_I+&Rf3@HuWPjyC-VC(TMd=+H0*i^IRI4W45Qڝ0~ު2 j ־KqO{L%u[tSMHRB+95Jʶ>vfdՆɧ*Zd؍^Hc`46+_ع"l-e@@R> \VE496ʐhD-5Z Ml?^R/6N^Ul,vۺTԶHϹ>n("0Fe ȩqqoU>Fmxc.yá,6$qEo+{EẀyclEx2@F]҆RDHIRvz%TFcgJXT7)Jެ*v>|@0 HP-tx@,>5Ny_%+@_*Kpxҕv,z;$# KC-u܋^\n'G.& kL @EI4t?4}聻3R) i "3IU:Dl!R|!Oe'\nF~myעF2_z^Urz%i`t5N#P 'sHn%_CI>9q)"Jbij\*kPڢ7F9 ?7P@,$b)ȣifG2vk/1UswVleȗ tsBja740m>aDe7BAo7%xz܋` &|*ļq{uVWay٣{ 8^,/X^`Bp)uqj%_iF8!`?$t0YĪQ6z ; fL{q&C+^hU,y}ؠ4eT"@y Qi}Ma9btHL'(X—2J[c$D_[#ı5R2ZBMZٙiU.cTz>üUXo xuoL@7X5H&)-㼍WQU5<;/KZ/WM|T]GpkdRe>%lF`yeJPk4hԕ1"q5bCĈvG^.& 4XuJ>pҞWhRT#1\?w[U&2'p7L`s& $kUٙ7U%8+K{ЌG((rCLHBb2B*k΅PH<:]2S,V3p#ZT1qHwLιUCVߟ3C_p/MDov 1BJXGb%{O0}q>њ>awzm\)u ύF!JpSwz$155-&Z+Xש19ԻpPP6 1|u"\ڄHKC9G{4]O"öXZtviK/ejT\RkA~ZC?BSTtXf5⹻#6=ENiZf52)i8w(՞¹X/ŴˎՐgz U}ϽDItv\Ksc;6+2(gve"U-t6jʚ)P&;pk*4'(KyjIFC1#־] pRW_r!P@jYLZ,hbV/p#"gj;E_kFB)ًP&C!eS\X9 ]De27 T3BYYDTF1!)BBE$Է5f%jѪuͶi-M.,߯$l{U?"KBTP;hVdJaBօ]j,1^uo4Yر3-z8uhQoA nqVvTur. IX@ѓhȢf* 6H~z;4åKvʉTLxl̦X"9=U#TP.IK9>i+vEdA7 td,lnUGjyg"Ȍ$z3[摜;aJG:5em8O8h'i'٨Tg6I3nr+Vy7,XG7#Wq.nm!ѵXF~ޝdc|i<D .EarE]{R(S/ 0P܄p⋒9WF|Иܲ"@P,#,IZ04萵XcFr A11KxEH_BkEI`21ͨ8j_5؅:?Nѡ[˺jx̸bɩQdx&2!WJOUxe˲FHZ;c! I+j]j"ZLHf]j'M+Z۶;{muXqD$BtZ=~ĭ++6? ;^#Guh?LNIICՈI# G+8I.E(sBOQ(!eJt-%~x5|z@F:,m< ,Ce\T -%ʎڇ$뱿5QPN<( SdÜ,Lq$A[ޟ] ㎛ ͗ Lz/$8yMRy>T[J'zg;bV=uӪ2Zhkqʤ˧zt2#_xgB(e^z-1%f@qpR A \ij1Q#6Y@*ZN DgcV}pv~VGˈ{j}$wIG89%*Gk]ɨŅVH_ֻdܲ <ځ)xj jy "+XpW- B410cop@5 -uM'r-$fj~FJ I]&^^~߸Db* "O2^j & Tk4p/ {m$l/Ćˉ˦udf\]U)B0#nRg< @.|TQ! $9ualO?SR= `Fyrr_p0 5%R[dm$oOw7]j 톕vDh55hf6ڜd LTIUU7W)FIHe.D"_WDp\"~͕ ;8W%9_髊ˏ`|,Uޤ'lь>\-C5{Za>ˠbH:y!ڈRCG6Pn(rYijb E?R!P}}JQ!~#%5@ y*6;+E!"(@2yq?xZbx,a).(j- ÁN,~TGSkTe rBzJuE}6Ya~i# ɏ3<9g{=K?&~d;"'I+*#>Fncyi8UI3Ua,V^RzCިZ/Ʃ aN ɱ3!Bxpʢ?v.Ej$7x Y3Z#Z3i0I:(5T`r!`:bL*BCOW* lj温8΂M1Pƕl/Ź swY!/7e&ڄpVx(EN D: eȮZ:v'e#P' *[7Z?vZ"0#Һ|F*WJO*Z%l0`Zbv|W)ZtGZ}>79+sw5rWM\)ŋ6KMt?k Ϗ=;!@z3פkH4pZ0UUBa0}*E~N'HM3AHCܗǟ;kz3746yVR[<5\ט vX觅S2t }b|\'Wt%J ~Kȶ,'ڹI(Z5&,hRoRBm䔃<)UՇ>XbI"qšT{1ތ+%w&OykQdϳ߂Jel&m8Df,5jdI@)M6r*U;鄠{E DPT{+y36B 3#ZeS78wJT8t08eFȍn,+ǫsI٨43e)Ƙ| {kӺ?Q&ƪ}Z f<816+&Ru%9i"=B(t+SK;e7vγ-%')h`Ptc<Ә1ZUoRJ/ф2oJW..,S.ms&НUn mD2活ۻA!iO% .{iˑ/ "p,mKBMnvHQKR1٠2!f^@2x0|cCAޖLzҹ$#{?] fJy4mZFn淍( >֧*'rSe|_ʽB)mb6DN#/ʻK^WQwӻPgqH{G FRJ:!4ZWvx Ҍ1k)WUMƇm \70α54?/( _鳎6aUΧBf(xxt HFp|3|ED+t ʢDSDQgJ+E7GC@'8<PjlPjCtBw>HWHB~%КNd!0Za ÓɦZʷvtdn{:90Z$t n^/1q涱XOY UWf M\`+6r, ^RFs_ 9az̹q/- ֯xq|ƱKGrr}oǽDWMСFrvY; eCI&]Ht:g6`^х% SĄ7]W5uWnTӾ(UF[j]I*nᅵDd:b@O. $[[jPP:,]%/@:b8QQ GΖG~5Y&~*FovmHᢒ K>65eCrm,[5  R9Sez1(ә7bGi=9219R|"A?#2FάQɺWWz,w1>IL5!v*aa-C(F40"7Jl@p P&'Ij& tw&"PER€! pv+ HN3=j1 ZQU ]ܑ3\d$s%h<*½}[.LS7#Αc2)ydQj e`(<‹f1q Gbӊĝehx^𳯾,͈&WQC% %8Z T1(vΉ};$]0,`G;|b9KVmBh5?g.Ae!zm ב !]4j\EFlmąI-U`bFg6Hup0n,4(kd_!R+Lrg GN\^H$0pR ݀E^)=0xeZbcsd:+xEl32'7rrMzrq^$zmN]Q<|!IIiDTicU#srBEJAV׃v-ܹU˓UVgrqQOm Ȋ~bʩrbN5~QoE"l%>Y5s gƄJLA\"uaf$Xl~6Ӈ,nË|{~"Eb;= ux@͋I, &yMR$WO"3SDEt+Z%]69,q`Wnk=pE적 [cw y q0b-U՛ȩ&hL!0k\H2 Ĉ+%r΄ _ Iؔۈo 74`E:1&Ub94΂jb vƌBtEwꚹGWY$%-G9m1"dAQ("f{1,HfWGHֲ% ) #&I>ˣM|St.``qV^ܶ=\¤Y)vgPp3of'.ylS He%&UgBՋ+-^v.pOiD5.8a,qIT @3GqpUB" #`R5 q pmC`p]FQވ%k5uD.)ŌE IUg 'vE% s7&?{K9W'a7[ >'+ҭ^ْ BAuۊɓOFI!vת2jobe,dT׹KTyK4Cܣ!dFIQQޫ^ 2^Lb-V7pB8א%l=|gyAqލX-aK-4u*4ofajQUHvٯЬK#bZ<̋g kI 'OalX6Frfd'9<,14 rFU)+ x" R#X($r ya|Pvt#M"$Ǡ!EyS,r-d7IH0'Y{6% ':Ҝ^Qea-6MޒKi}|N=/ڨA|cݼ{M{?)'7$Oݍjob:,BʘcC -;җg}/[+-z<䢎=*Cuzqdc)MDaTkvU;jU1>D[gtK@£%67\}  ׽pR{9}z4Yv=ΥVO[ٓA`45I@IbDo(4N@@cfN47 @ x\\5&ԩB:*lB%1 gYfr'K)۸J; gYVֈ0De{n>%8'II1v9@ tLJ61 qiP/ i1j"䬊K8 f H$M0uԋ-=NQ&$$$O?U*Ixg#Z`UyCg_gTcMޓ^d3ӻױ!D ͳeodThqGu:$$Hhj=ߋl3뒿8^^K HhJS3 "~b*`%g#v mä(g; Q FWl8-7/sl\%N*6`jDue,҃찙wKkTY#3Pg5=<֋?2^twNϤmE۩")ӓ/GYˤ( R^QP;RQxUM [\17DC @n@ bX0Bq n,;2nMMUܺFʤsPѱs-=}wwotAFxtkX+׹{wo^Fd=e#ѼO)(Qr9V>pIi:,8M85G&^ Qݑ(JoCd)1/'YH9ף2bCu %Ku-iÍ?Ʌ,S<4~HlY6ZԵ^ dԣ6rM%2Lm , SK*N&gl^OO)ήqʶEG?,u^B xn'Zt(Q\@kĎJ^::mR.X*dCfmx8̓rj_Wc8*&KȬTM! 2=w *Yл\>N$ N=I!Dep/4J /E¨Q/B"-QPa7%Nw!E.S`iĠwBmM\))~{ǯlt~d Q[.5}.H-mLJf*X'-|},ym/tK{u,Ot3# jyA/NZV{L ~EpJKk]M7'g-2k>DRa^_ppBE%efꬄ d){Yǿ?>=7ne$طsE?RRn,m~ZF&~QN&~ ;?_k+ ;) Nm lEtqnEX64؟&e${hͺ5 $)|U^q‡TdUܒPs2ɚ)X` յ? Ai(h4` m|WLख़B!%p{(ߒY ^Szر)nIC'Q3H{({u=J99!I\F$bqE4)PXɈņJ:Ɨ_ 2&&N=T? b>Ĩz5k;z kD3YC c:x p-r<3B@$%qF}4)@@" ,18&0!hF 9UhuESWݸFN`\#/L?X+hcfZ.[f!KJKL"&T}zf59dO]*B@Q(_[6xĶI3jcZDDnRm=%9ɭ}=԰VLGI4);sJAӎԲ)SWXiw0ӚX 2YgHf) ?FcpOx@^1<=.Z^_#x;h*ST*'WVH$ &KVI""ZXr(@DJ?%{S0H1-YWNE"9͡[694kU8&o5[NfgQY[ժ)]SlYJTnI !IKqpДV*PP>8m CMc[_)s =+8WRXq2N${+;Yn-yMC:RLc o4V;5͸gتmU"ujg&7|Kv8;\-|_ʎڈN_cTABebAY B'o}2wYA?5>wԺxD\6!"Ñ@X"`ȅ! s}BڻɍDG3zmWbuDtuCuRHA,ebtDrWz\-v]֯A$iJj TEh1$+7$Nw yV!9EVBqo)J+جSxOe rd[#}?{;5Q(W rFR =௓\.7įC0XoÐ&Evn*be4j++Tq^M"b{9XitF=g2h*|5܈B:Yg><̴ɍe2.LvCBsgRr"xX^TB(p9L~d C7d@4|C Ǡ cK:^n3bDi9%`]+3(cCfjwzLW7+~ecS,}F4ĞA΀ES]a078p&#Y&/EZ:8 (&7Q7*VV9r̂O*)@!8bF)HcS CG&p#(3 ċӕsO"ؾuH`ˣt|䞗-c3`oHyXyHr$R  IeJʢaj K@-Ra} ff En# )QA(UvGZt3 I:fKoJa]>s'.))^z,[*uAJH5~/AvJ cj<Ǐm2aTŮ+ RN7כSGL)n] -)Kz"h(E8EphXWFJ+m:!o6$6n'BL[dwV+ k{i#ݼz9|?s"h6'ǺXW6TxD_iCmAܦPR9@NS ɟpGgZ,8A1'J @ Vy'w{ ] $q`4˜u^A:jЯN0.'eUEdZfz@(EO'`ɚ ۘȤ236| +ҕM7:xnJQ'!7:[\9۸ja31jGR]$RMNgPH;ɪ4)}WVuytCיS}JK9S>wljqiR#HI&?18*آT`Ep!MN ^_6҄WPP]+ <]7&ϷjftѶܚ<ႴK5y 4 ӥ@/kDfP\$bϾQ|WݭYņ {S Lד 5w!)*N|뵙dD}o-pb`m\0a()d_G~*>ﶕ'ZE4O O5GfJQDt tbQ؈:^)WӤANjv_tSg0`Z7MN)CEVekMI(<%Qk |T5mq)̗߮d/^ M>+~w3 2"QQ%sQpI!|4rNOF D0JhalLDȤ?c-UKd^%!h̟YQkmѠZ 9+4+7;j5Uxbct: zmz`•K WDdl`?Y9Ee9^)X[XFE,9fYE#pT{0C9Q FU`;ٰ횑څ'^+wD'y4b5W?oyz.5aHdtW@\HTᴸyi"6ikQm6YQ S|&a aб:@и D!C $n#ʆR%GgIf | i7/S7#~谜F_Ap pyDGJɟyʆSn,wNK)2=Ər*&a{b;PӉLS̵PE Ԁ|kCV6д%wn{%v 4,& b(.nHTobj[0욞`bvqصdW'7P]h125&P4 {!G/yD<)bu0r{M.TNBrQibQ4cTjEX@Ӳ~:3Xr*y ZJ[LO*x&3p4. ׀:UyuZLx=CZ9MB',7,z*"3`5ŠP>R29:05J]XМowQ̩=;TںSGFx4u с쓇My($O+2󕊅;$c7[m7 UPP6^HCfmӭJXٚ`G޾q\N)j^ PxSԯhqE۰#Y,VpN\ C+/8p,* dEw3AjԠf@CZv)W).$P;qdvgH0wa(fjEce,$c.X[RM)] _ \`XT~|j e`!% dv "?l{`8X_P,>M^^V#S:WP'jbv|4T 8(_2$ bVgTEOۚ>/CjybrBĂ!5|0'c2A%9BHoBjɔ0jw#`$'%il!_'6.R#%9]k+32~dF:)ּ=-VU $ڦVTo h7On )ǛuG@іҭv'(RFa1p9!.j~X7qIv$m%H(-0= _]FbģdĖ 7j41^j\0* T6 օÌiplQN]nD%GA:5A(B]AH#*ߵ WȈg1(R%J `D@($OOU'zxDb줕{TJֻl=#Ddo yL#. ēVV @[y`~]uf ?~#n Y-/b얣\%4RJ&޸;صe3JY@ Cl=&O `K: h|0^ HoK! 7+1/[ȟ׮V7lLĂt!Uz֚DtgBPϾz1{n"਍"f&_fl创.uhWvBeJ*8m"?ō2UTUkי7vS4WMp"ܴ c[ 쇧 Au .%_p$t%FzVI&qR!VG!LQڳpl9d~@wnb"sXk=(:O#!~$;|( QݐiH4 ,wCmuU/h) %ү|Aδ2F*SH0VSHgE]#2.lwT"R<,&J[h,R)E(ˢZ,!!=Ka5ԕ֧]3Joޝl'{1} *[aFRjM)a:ǫ7VO3.\]\MrNsTטaK+aᆬZ /2Bh]! 4}M+Sj&RTsrp*;;`%})kuI ~.jh[cnˠ\QE% xpzޠ@ -F,:,2a_jQ3c=??,)W6Y v0;Rmy|.q#.sLtR5B t|lSY#pζ5\]8);{))Y[^`Jj %E J,/f QcZju=ub=)q+ /AɈŇR:l:= [4!"w׮GH6dԢZ!(ު7Ǔ(aB2ٽ\twyᎻd#aAOO+8ꛑ7Y Y *b0iel.{٩A,yTQf_xU zVw;US+7(28U)|ka_/]c B*&HXͮP Gyc ĽtRO|D[$U.#׵*N#DDqd|u~]u9%4т.q+_\^'acE B 7-d8ȗq5&Xw[ؒݭ W&m}5CIE|;3k;p)4 G@81W"cF] n]д, d%n yU>dkıeHLƳ"$yЦ e %Ĥcvxqd?n+e0a--Rn6T+Ek)"Fb񺢧'~ Ba0T||<1YRg'@'^EV/EU xbE{6ڝ"ŹNd(&;\Q97'7闇b3g,ejhٴ\Ԙ頡1 蔴Fȹ"/Y/:טޡ(1? |DH(Ҭt};Z)GȌu UlЖ%!xx&Hb\;5A9P( !2 8D]i1 š()x3JnF/ 3c.=#NO6$Pǭ?ZjܭO SpdKz=5L͏d9įP p&&"TExvCBͤQ!i0 PX`FA糠ys" A5dPED8uZ̪D+SWxR%Ȍh%3r@%bс 3G1kW}1@״o@-@x%2,duؽ0^OOSJ4M;k4! vɂ{-!`6Q_VT@(I9VM2c1b q&JwxN"wI!dV. 鳎.c;\Z0oQe sLۍ.t8d, J9DN8q uA0c+Rpt\<ɧҢ5ټ?qAvfw aQLp؆ feh/PD'`2>uP8|.A[G`A%n}Ic 4B åɔ@3ыR-nI6p+ )&Dh;0O)_Gof<ᮧ\jB̸E6Þh~]xFn5_xkaڐ;qܵ}&bԜ|?;FVv\s[pjMuj餿0) ;‰me_TaɺoadyœwMKJ1A5z5{U\%"tD³uz+Ռ&qA;*YBn( b^v+gb+xd^KT xliȜZު):$z +w2646\YAV3-NcA.dAVb H0 *I߅[#~3CdΕFsbGBbX!Kt*$eHd]ɉbJ:onH5>da#X^JBJU9:-˵7xo)lR]{L mzRvP$!ɻzr?+Ns!'筅bjYA̱s^8fIB}j۟cQ~wqUFC(^3Ypt5l")Wt`Тmh`qGlòsd'ξOt a)Վ꜐rB%RbRϷ$W]WjȦҸުS8@QR~vB+:/gT2(Akf;*5Z1{9A b9(Lh&Hi,ė^ _+]2,n5Sr9߱kJZU [Ȉm:sH>dTKQmQĿ+^:0MMP^ 2T"ӲxNDB^(Dݹ*:T'ʳ} z̺)YlD",v?9t*h-&ln>s2&%B;rp9x;?ZɰYJSLpAp%y8;KZHr ägj2脡R#[ HyhRv_9o7׌ء˹"MQgQl$%3 )UAn{q2rU$e*׀T 9m9LHRV]V-FȬqLyIᛈ 8H$ZwҸ> \]:iD}E+_DI)Sޥ5728"Ax'ԕ8) 7D`;ыB]ȿn(DMrZ 4s/50DJ Jڜ9c Ÿ!G?uȂhz\D7-²Kbŋdy8"F +:kWeiB r IR48`=Gc5.H@. K 'E,$V<-mnQsy8{͎F>0mMCń>J:a*Y\9iD0Rю8]48Dq*2[cZе\Dt@oWn)=sReT BGIsL$"H| +@7q}z`:VYPfbx/Ovm7•TU客SDV,<Ёp-x Бo&xJoLj~V;OE,"K< 62 /XL-1Sz騝Cdch5<"f0c <뇂CFUYz=}f&ݰ:\X@`_¿l/%2/7~Ыݜ-W)5nYvzdHj{E3xw3}rzda5H `BńA2_y\_#R|G[ BA{uL2?Z$ FLۢ38e a,ؑ0,Ŧ&s'͸ȯi˭5iq#SJ FMX2?en+Fvj/P\ԔfwlXfF*+RRI jjbUVhgrU}Q0[Ir榣0b**[žb<;XgBO +T})"jh9RpL}rjTܸ$FhQMOQVb-ʚ4O2X}Ntd8kECODڨ.^R!io t>lT؃K6~ge`sbܐaen$t𤴂o׵җݻ-a,ϠO+. ܗI',2Ea)|QJQ:|/u]y'DK X0揯LXkoWVӍrce(sxNɱH섹 |vJ8Fyi@g*fg )1XNs[i8ewD%4DA4+"UGu  B-tʉ(["[#PTb& OJj9@&G b,TJZt &A`2D$Kl(m-D̘` b+ xf*Ŭ0hmA'?΢B`a5kVAPL& ;-zD5,diOu%S @АvZNܶ%rVտ!<{&uJhJy`?/Rr e1c-+Hae.1Ki\ZA*~.9_4[Cw s)3;1m@uǴ)ځnQkL##wo*p<$Qę̌8߮'LRh -mɅM#%1[tg(R(nChkk>J| R>%. ʈ,14HF-le:B>Y(Γd U.JRP"Hqy3QRЬ-v%FQDHT1h%a@.QswcAB<]wQ"񔨔]ZQcnYqEma 3'{]9T SF54j ׉K do=ֶ<b$}/־tp~.=X>ID7,oQk +]qzܥD5}n~x>[eEڌ(?ĥ'y|V*\FF+P+LHZۢ ot8nrwZbߚO': {IyoEZa&ƦEbhk XZ4F#a6б1EX:skN~gB\ Pl*3b4Ӻ6r| Niv y>[f)"C4dBzq"f@]d݂" ҴbDHFKF'hĤ-"ƞKF~7rZux{¼^zEa#U\zDZF*Hݧ2~7IM]BeG`j_Q"D6E7U2~Rȭ5EFbꦁm3WB R nMpÏkVVgn̈́z/KWŧ~ԺKvE.D)Wt;}{֛e*̥UrJ?WLmekP!.H+ GRۄ)jW3 wr ǵ; K{cb?/8Fq}X9.W&aώ1<lDj(2$}#=j+Uy Tl@7;6pPA!  7 M ~C5hZEXd:iJ)eO糮&rKa]VEdCn7bօoU?RpG (P5 IqTM4J ZqSRРO Wr!,.)=d v#ZdD1gfzWo Ck +3#'G/1cQe̦NiQ*GomMi!WCL|Sk- hT|> ɜ,&NDV鈌gƒ|Q I-`%GK4, 2ۚF *$4lwX3/pt pbX9K6]5=%#AieDY*-זs_:|q5$1l!BN!)8Bb&(Wc:nţ>Iݶ,ٿn(!ˆ ݅4+&5 lr+ Dm\ "?ZVϮ!1ȉe S`CQuTThwgd[ 3һ=@QQ;)I^rdfv>Bw\iƞ!-vM.' V 9S6rb5GYL϶!@x.ch0 \EY)\q! LKadn!i@9.Gh5`-zEK6:R=AmnFs4n+_ăwhyA џ,ZF\^@c['?$fǏC}DMiыR_JCsH1|Cu|7:$3^P.-F}ɨňN` Vd' x<Ӽކ(<S,7{isf,egH@ [jtRUh((ۧ^ϥgV^%d@? eh_jqcD&zk agܫ$Sj(JXu5R5aK23uݢ#%ybeϡR¿G%u\kݏ~jTVjh<Ň uX;!b;Bj%gl))3ԏ5VS!imk/i3&|1~>.@C'a < D%&si@,ҍ!-{Ay̅߀J̏ qPEag0g2|Dt Tc<#7Rt"=P{!M,l !ZhYM9 @6i^. m#4 @&0}=DP& ,f]R& y$%CdKfUed K G Hl0Mk Q n N{˽a H%GyL''j{.m0C+M4}Y Ȅ7D.<"V']C?)c̑$ep,vZ[:∟&Qb&ShZ x6]R܍c}7lCSqhM',$w cf8 :O(y O %Ne"eQ|yʒq GYmQej+'(sjA5av%:3'2,HBMA :E&f!z$0<}Vw+XNK`Bm5y8A12k F׹6FMhJބXCX 2"mkSğVB,9:rە'X1<Zto,sZ{2'% wráA $h JL(Dk'1,WI͆A0au_F]YЀ`l43mcb5p%X:PObHdfnaFc< 1x~Ҙʱ7@^ZBN#+8ˣ cؓO}e7q}27cKSo:M@BeZVȐXdw$s,{l}\G2ofxW'lPf_R 9`-47-JX ++޽AN`,oJV71ɢv\HPI $wR9$&%2hi_As"ly<0ssjZ;8OF ZJAqnJeu%WkggI]4 V].l$d"3G X<`:ϙڈ% !|\"MEr.RRA mm&^Vq0I<}#Y Nķh/Mh7d̉Ns\1& U7wIyޡЈ`ATf(KHR!mC;ʬ#ykgF~,Fӕ3c @CL33!R~# n~oϫ#9R2qI*~,vl$*)YKK[尘ƚNU77$lԥ&b^jBqBŞtUUh:XnЭ Hyi!z&*|Dchט.uk+QIe=GE8ᤶSV)Tb; $12LOJGiS3TX +H%}H T*:ADVtJ$US%Qc17h(4\E1(c)pf֕h𑃨ҵ(yB 4 RjD&O%Eb&&U$XX}kX4lȃ"&ϗHI6QV)d%! ܚWpm)T#4Z@qB3)xB$KlݽWlA̫~Qz䉲lVO.J|Ս$T54*$@ɇҬWgp3eerL:D,0tckT" p$,)aK y$8OpXZHD6I tbE<Pm.#HsZi\$H4$*?vKe2֕dQB>_.F֍,pV[pTsw&hZnᔙlbH0Wh72Ze2Ng|"jX\g6FmpV۴"\@\>c>XyPdψ6!ks%j]*KI ⸔q/("4&y?6YOdFŊ2&DyB "C,"xd aT]wCVMޙh4 :I̊ b*#$Iɔiu46h#of ]f``$ <{atwDf%&efp3uF`;CjL}y*GZ}wH-bD%xN},)jz5]KAZlf`zPn1hCN=Іxo S)t) W/z_yC"^i+D~uә>x!4bC̐M%V;U6&bCg fk LʪH˪"|m+IwF6[hDຑ6xeHY7 3 Q Z*? ']1Ux>Kgsi ·y^m[glO)eOp~mb2B!it}dȮUWN{0=-]Mab\,Dp7&~&€"Wq5*_~B_A!K|Jj"+3ؾ*a(Y\WRB !0nxK[;wɓgJDl1ԫFyEzWCp%ZBAZSn1FPgYa\s>B EfAQ4yYDc>h;(1UmX{mW!T':\OWbF+bV7hTwb&B/3sR?吥qWsx:eҍe?Q#\BpVP U+TZ2=.F]vXt0N.@U/쁄cK"<-D^/IP)!GGkVҩ.*T,Hvs qxm:&3/Ţj̲O#ixFyV*%bS`Ў°( iqK +i̥`LJtau $#(B?wGԇ} orK|Ir/OT(FءvS.S˓$/5JڽzD$ Cwo,#^II7TUEULП5['-]w4RTZsBXetpwVb-cqQVT8UӠ3k^-x\6 tvTns&.ALg$1La$eyNZ ]hU``퐪Dz50UJ*'ỹhKyYHL{& =!+QDQ}4ِ֟vD1^HuH]d1O D㛚c0uY(gOOe%}3?%-EםOTo76G\CXiSsCS"LEPxSSn"5}}KZjÉo.7,Kjߨ~H<&CIb z˖*(EAf@Kzhi4^ %:+rb%C9:WP"54iX}bR (SSwؾ|c< [:mJ_s#G">h(P 3#G> R^d3 |w6Li5.}v1D_/ŷ~tz[K2VPJRu1ލg)\W{7+-WJTy3ko*rcz Kvc)cx܅\<_Ѕ2w4!U>k-iX⧢%5+)1\ߩZ t{HDRi4`o! <X2<7 r:pW/h2Q5RAyC=eoRƁ K"-9!C@&};$2 uM+hbIQ !^މprxG'-nOȒڹ*K!S5:~4^J{\hL%10F߰V+A5ݔLx۔ʃ=.k7cE=ڪ=CVdƥ bõVR A;#7oFWn@ݤ ^3,%V@զYOHd2}xъVRD:1q-{RCZ*l' " )qKۥeRTC4DI CEJX?='ftZ(OYd ut0*B,[p(.%/ ȨB) ,HƋeq4Q@!ep<18B>S~3W193aVge sZQ8Z޻b>uix-JS$p3qaE4eFU,kĘ=ĉHS^5ݧ_-Fd v(F1:|B`p+\]JKS1OY2I&-(N4owyr̳Ji}8r!WCP+#bvTq0B')^V0aOݢVi-nUߒAVf Sa捄o,%5bI]uїyVIX0JMo8#̫fk_hJy{ք:w Qm6W&gGBFBR9f8H 8OղZgϼ7./7 G)u:kS;)M[ EQC\Ha2L# C5ALrz_Y獕ơUQab#!yHTЇaI#Sl!Mi-?jeM^;!BmiۦN2JX;*z'\sTAԪQT*=E$ޥi2~,{'[i(#؃uqJYips*|QLZty,{o6ˆ(2fQ1}(Y!L+(!d+Μ_CR!UL.Vé}lǕBf6zTCF@0RSuO<4..׶q/1Qy΂/LmqV)2#)Gra= i2m30gOW8#:qzIВǢ,dˈsv+eBvS&lH.fH+v6BO˗ bEi̫PW1N!Gj9w7t6fDk\e* ) YH&)ʁb SM5SDvq~GQDDP}UIIa4A=:n/}IXh㖿~IUY}wH,*"%|BxQ,1K\Iu(jyG==?VW3ԋ7]Z<u?xm: .COk j(H%?_5&܆Ja "st3)IEjݑZyj\j I l[%JEȏr(#wux"֩H'W0+©6F$4 e5KÞ2 |߼sieRړ`݃jဨ3ƕ(TzT׺$eKA͇3Hy?tM!,䣬&1|<&d$@?'.ycڣ3̩ V3~Ꟛ0d[i=I۵@"a*\@yMڹ>wkc$sJ$%)PHܹY8Z?\]OxU+raY`TUTUms]h]O^Z _<Sp9ioA.Ez$ HdLHf"A66(r[db?LCkFg ݥx>+>H[?:Pof֢> @5>E U+5䎳;)/n썳'4\JQxqr{O{e*[[ԀAG;BxY)w)H\AkpYP$8O=YR&pgɋKaBhadn[pc=b<%Adt-]5=X 8!Dh<%P0ڻzkuF<G{pQa )uSGLg!Qx,5 i?#dK$xnG(fhpbLPV{ '6r0 y KL![2|^Q ><@_=Z9nǰϵV{ͼ@Ƃ0=oM2 Eo,qGZ|r,B,kV4 =a[rqK&^ި#c"h5|'Z2>Z;$āD&<[gX=Z&*2OODpC Ą0g>-J.( Ž ?+W8{ߙ'C4d`1NlߏKdDhnDaF0mPAah"F ew" Yk/_>2nS튺;Qɘq "aŗ6ԭ,|eC9ND̻NKҠ@#4_}yq-w-C{R<&u ~eHb|C9ђb_nY1Y/ |nb"l*(1ؖGrW_x:r2nlDk6>ʈ,VWAҏ@p걈Obn̡W֘P\ǾSSy?zK )1 C; !Nǀ% `MlaN:5ld2)^a`F:'XSC!@$LZO((VU]ziFb߼zȣI{I99\+נxN}Z6rm(r_y(*mp%Dx|%Km!3\4]Э"#էnYg"|_LhOG$0qrCĀ ˜>\oii W 8;-BŐŔRo=W>3%z0h'I00yV$0(6%oo%@I.Փ^T\C +6;:yi7fI*d(/砯^[~Jnݿ7tI;sdQ\(2+,FHߏ&VKbr_PawG{)v.QVUEb5OԦ*щW\mjʹ'ddp_I,4f&+t7YL?ڌ,$m* EkJSka>jH^D`eFǴ𰫊`X9MI[O{LDduw?ԩ?2!"<0@7R(bM(0p1+L]ch1;`NIF'< E|#M6!wHKUk:IKgjVbjQEID던f,iy]%V\6)yneQcأqb F5H}^1IUQ+ȅQučFKW&S>* ! ! .BrRfJ*uh_R}찬m6Ҽz( 9o 4m ۗLbү;V%ieXѨj1xVVUKB+E51[ԛM"/IL'D*vG<5Q'e*cOŲȲ!9lL(o胮- S!UF8[D6/xFqR5u!(<`Z|14Iԉ0|HSh19|2gXVMkTz$ $O r gaxBLizy ,plrh 2#U -+›Yu[E?(#ZGy+1)tq`lv>XIKn鄣8M_4KJNUzNtO3EO>G$pDA}kf]ǝх!M")'j[OdOc̱,A|{8f*Eo۬?⮦$ Hо1HZ-L/r5 1IU8 #~/Dd6V"ː3OI/O_+MGD>K]_2 Dn1 沤% W EIH8RC1#:ɮ=!fl8ИY(F;Pi|{Kyد5wЊ)LPn{D(QdQrnCgdb5(NcRnY9lTWZRИ]5FծC]_n]S"qZIBޝΟyZU$"CД1J3~uTBO])|R9#YEI6ޞB 뀎xby.YW*J٬*q}YS\ɨŊB/7 s BrL-PL d;u#%70 Bw-O22r("jWcDG"k.qH -ą,IITFnݩ!WU:' `$D"_D"zG΁ewk%'vzY)RLB# Y|w]*0V4yMb ow 'rB1e EmMe&I#'͊v'#zJ 4aSLrnS"Hgm5$J!ᖍѹcO01 ȤErܐ@t԰Q"Iݗٔ EL0#j]ȹĢh4ڪ#ŌU%X$i?Bxklj|LU|\'I鯵؛"&:)da̋G Rˊ@*dݞ=/( ˍh4rW.܄Be hvt*h1 03HNJ(ʢю[RͰ$WW/^ v痫QܚbXֈ3OJrXNX^)گi'.^4$b4ZR8PVࡉ7*ʔ|羳?[ VdfJQD\L33ĦiE}Z8*̽5zVR/&BK/K,T-nvs_99dښGANcZJvBz;%ݗae.);ݛ VQNkPަαG& ҍ%BE,fL=L" UtrIEKsʖbI LMR ZrTʷ]x%ƈomUYdj!Dl!56˳-8gIjdBJOEZHTǘ?ٹUe#r"3)SkSo%n!VJGLRE̡(Dt2UZz갵>nJZIid[wM$2҆wNu!dcJ{lOx_ҞmJWeo9g/^jr7u4D "T]TrJ]_!M5jM$ޙiQG_maK);?DB !7(oJEh!U!qKYJ_ofrMM8G肛r@7?%[N8etb`E&E T5(}cY? |pJ+ݭPTeW6dCgz)] S\PF~.)B?mW\BP˴i$^ͪNHcD2¶Sؖt0<]zNT^{=B!zb\ʄDl%Цm[[T壷k슬ՐV{hjgT}KIMb؆76fGiGNUjwBG)YVPWei9d*0 N:2b<_3ҥUV?c8n%ąD>3sֆ۹.ȸ"+u\*:lU*ҡ,R#=W4VGl"ԏ'Qk+ 1ۛGv d%Dg]̎ RCAbFjRWD"K RsnvHgGDŔ"qZ:# 2#Ddzqfۢ2'H0(ȌJ  ,aùNfX6-1&q jvH.[bL 8)Z:l5-5OՂ2#ŋ5ԪYXD$cua+fm%'YlI~$Zwڤú/Vqq m4P $hHMg {<-ղo;4+%r@_O<ʓG Zk0[FQZTw Z&VNtZDUe5o{4~ǹg;ǔ]>8 k v ԦnӜpirS֧G O "k0*[LM$_6* a9_)-Hg[`0sKWVQ4J5+irhq; !/aĕ1!eS9覗%E/%t A8͘m#B,ٚ=\Zq~a :W0 ~B-kFXಈ@?=3WOe̦۴$d+9킂3C)&:oM/k? !ȯL6:& BtZ>0B=_iAYݼ sTfQ SGumjD$-A"`/lDqMJj ${T2,h1DP)aREقԀË| _mI%W4P)*>18ٳ !Z2ǭH]|4nqiV I()^X0 %@1E=K8b=q!V5L:[n,pM{)׊N9V.%4RABxRQ$(7L粉TpLs4=Yb LW]Yh Pȁ}pĵ`twCb&AR Oe$|!ZS̖ZX'ˆ;`T y2[=8`jT!t_h:7ua1TaE5cpyGn0@ ZՕK6CηFyD  UÖHxU]h,]I SVcsXZjI?+J<T| [W`JAAh)Sc{STn }.<d!\hN' AeȢzC&ڈ -R6"Urf3,[ Dw" Th&ҾOnRMHADItnUBԄR(SeB8ivaHI-Ulj⬣s*E#-xN/sbb˂^QHV!Lɒ&aS7U!7ekPĭI/+y0=˒3E,kf.JcwCVL>&Xl@8YL!_dZ"]8D,,APv#z MNRv˜~ӆA`n@Ւ5 -`112dC}= "2H Eअ ~ 4W,*, )2 /,PnG0 "ZA Vv'#``ߊţ!-,wa͡l&ЊLXGLGHNFp,([+5AљAwbQ2*"#V7ȴA1d_ϊd!_ba0fJDL"cǥ`ϼ )`)dXCk w LB*y5)`dQqJEbT8BNlCc# ESI ??cɌa "u X&Ne,A AK%`*=fFI*"*,8BH*䂡E^=BO4(ᔧ6'h_i"Y/%Cߖhnd:@eޒX&!z)->?bBjyU vRGX$/39vbBIOXW<1KYRC !0 p$RA8$Fb8qۋF$=Q54ӂ*%$HDBքBffN2 O[6SY"7 `aj%cBEH07aYጹ,K̀^al[ qpyuD@#'ٷcX|rU裱w(r !4SI! J; L8VWAjA-]I980Y& =h cX'GXm mJ uu 9 a&@ i^ u $ "Ŧő-n -Đѧo4zpH)\7xKxBX\Q䛇 X[D<Yj_~ 7x @xb(jAit)zldt.sّhy%,*j qrZLd)BHi=p-0<'+[I $/lT)cJD_i:G4O ኰHY|b*d@UZ`'G%%UH.qW'%C y$#[+u\Xw/QEA*˥yIςL?}k!A c&#}RTF[K4Z^]@;7{'7P–9g-HA:փफ़9@ ,*F tYE:lv  >9Hܝ #J+uV CuK0 \},0(,tpd8)6 S-ēEG1p;y:+V (FT!;AJ$mg0QQD0|1uzǹg9lɨŌAW^˒_Ne+퟉CY_TmSXF`ÜbN^'/f;"oWvUOWv rhy]؏!_?ު宲W~D\lGwzB!^%J/:Qjb֕NK=^Ѥ%r7V&Rn:7.\zzUCGGeda Kz3άV]D+' 6sd-J1S!jq qP"j(?M;ʕzQ4hbq:B">,-59EJ"'?Ͻ'fMg%CIED,DefyW8%5Ϟ$eI|'c=z7<3ꃴaDBû2BDDAFY[>UeR_|XGU*FM8GQ+HoA-E&-'a\uVVT? T>7Tܾ*qf|^jΕwd;{ caQ bQ>?W v]5?7؊"l iEo:zFZEMN)=U2Xg S[~d$ :eN~s!MvatOE %nUUjգў{J] CQ1䧠]"-_^W|ygUٛHg),Ef;6>& IlxscÂK<շ9EVؚnFԭIg!ܲIO2u"jJ^D:!1L"LaVHW\YR|`iiHב,jhBiPQ"uUS23sy(Zo YhCIL[-8"uآGyGƺ}ի1Duv^d}j%?7w#͍GM"q2e5>?m5VA,d"=r'2ZFjNRs"GdqQWWGrK@v/SEIȨ3RD;&7}ѳb iz˷{ 1,#W5Δ1Mc撍lxOM &wVEisROYXRXH;HN"%?_;}i]`^I51I)ưOA{L#V3*jPSk)IBPFw%s"!5\JS1 #Q r"۔a Ό*%jo}dK_E+l#҃ޖϭB[9:ђ#tWQɵFinK˨QŹ2BDzeWH*|DT@s_dj.OY8Eo,~߼ˉ#/O6miJgou q_LZ&LN Q$\eUE/-7V2KK2JVӐ!Ҏ71bF!S1GL4Y L+EfjW"p'OZܝZWKR_,NmF1cLtG(Ky ]Dn ȩ%U>Rƫ~G,dKbDyȫ!̥<]>}HA==D* I>Z%y?B]Ot:I*eVg.UZsP#GWwsbثa}. I I6GWJQM!p(ȿbB.?l;HW"7A=ȝ_"-$7|eާ+rIfZ.ku|"-5>7ZȎȍ%Ry#?5GnFfK5ĵbM{{EDmvS-hrRk7 !Ԓ;LMkDf~jy~$&)}g iQ@ 10d( @`pݱFׂ?d<<>Q sn"(ݘůjH@C̑"CE.yx*s9wqX'zJ P)!Fkㅶ\a080Zz,3/&1eX>! pD0ql?sl1}w cPKB2)VpZE Xf"qEo*}NA+@/]cQgd|p`<sȒ(4pt|yiqj$(;;lVs A0C$IR0R5>.2!@;`QjKXHpR4*RV\`v@L ezUq{B 839!Mbd e-:%iA!I‹1!CWbP֡wH9Õ 5J6lᅎE%gT$9R RaC ])t)AjWl/BjA n_M]+F3M'QPC;!d%8bӝJ5BO{^xYzĝe ն1_ k0N}O=cB9|Ꮽv} %Ժ"N թAHcBB %JW{ <{H;HzN03V*AzWevU~j΀Um  y̑zQXMg8d?Ʋu)?z@n +EE#F@#V`̏ZL3>80JF0ie4.I8נᡜcxax8$@ۅ[CLjB(EAA0a- !IЅ(| yMnJa&3&">1a]iJ a[p QG2o! ƍ-ͫJEa @g QWXHz$c r|$lh%VO0uII+ uqŌ:E4ɦY:tq%'`NW~ю@(ߡPŊ3 ye((GpnNRY:J XX|8fv 4R@~%(HY8UyO"52pۿ2 Z;J\2u1V$$4lRfJHL(ZXOIO͵ Zt)ƱyP2~ ัQ!4;UEZzcH!ln# LF$&yՃДI#]P//]`i@$) Tx`NXAmpф amk!njЕ H) kĝx( Q~YПQ:)N=jRPjq(dN%+AMh5 xy3"zRm&tj-Cs<+/[RVsM>Z)0:re!qfy9La& ($ AR) 嫚 6_:G aag`h z[>q]¾x%8@F@QK z\'$1D+i4J N;,%QWBfᆛ+J<01Qfxj9(a5$C-d>Q RP k)̤{OcB~rv>ekH$C--E^ AzSsDJӭ KڎaE?,AEIW6nV ޻dyBʼns<)\X)mOzXchD/y :rVl))4|&!''J"ХAs9P4!*Jի"HC(m iq6Qr1º "Q 0MjCx( gP`˓@!U8%o\qPIVC{ if"4@bzΖe C@+Hf1)S!CE#1 Hr` 0/iLE R2)ho?B  Cpmi 0!3s3Hq:@pLج0Ɔ Wn(f'wC)'}6 F0PnFJ' cH Lö!vq%/1,3k`$)aȻEV4} FP l ɘF+9PK t (#r@3t39/5 r a78y0ѓP,(HZÏP&P ڐA(c>  ÎP(fRe LV%A0/1R> 8)8e %F p3]gfnC9ׂF"YL("nar>\s%AP'l"4>W2t9 O8'vAGv Cؔ8P҇p)+!`.3$YsD?}G)~iݢ`0f9[PSA#Q\^:y"L;4b+g^W!9.1h eb`A`af PW"5)\UG <X&RErV #?x `k ҥ@z c8&)vqzA$ WG?65,;E=Z4婁3'8$VVzh,SS5*#R0e $9 t8]Xx~"U?01zn8+B>)TBq Y Ÿt'@TcM <SGZAXVTRT3hS ^!Q@+wp.g 0axJ& Cq ^ܴSR oÈqr"@R B7BdJ 0 aL6g<g LR_L;ԍp=Q$8w&{I^ѐ4RTtâ#&4*P¡ nآD8v)vx7c2Q[p Q݄{?() ?twQrn>e( Qgb7VaY&U1A5]JU2`6%@[c IthͼE[D[ MF1K ~(ܷp( : q,qGv٨/ M,T1Z0Y&^KB_I8# †Ƥt<1`"X1& De9utJ!~J=JxPA"0Oxg +`òP1qA ^NZW54V 9GE0HAQ*0n 4AA+ Q"SˆwP~2Zv VنAUgyu8 ^)Dg#zbYт6}FR 7G@@ljifA )+ iq~6Kv# u\u*Z@2h I`!g)v0~H\k/ցPˉZ rf a^LDkJ"L$ ب>e&G7t7(/I6.@ZD1{;k1$Kݫ)RK8QttXfQ]!W<,96BŜ@@(!$‚4W6#QT92!`=8)M  t'$a@͒H OـC1AсAQ g x mYFnqUbFۿawYn,@(S75Dzf:*ǟPBx2ܬe p~Q,l!("iK"|p$:4h)МD-R(h(C#8I8Š$ CXf19S(@>MiY:EKXVnOv%hIJ"F" 17R7[I4A XM!%r9J_/F>TK|RN~%v#Ll㉜ UB_S񝮤a׾vL־@wjrbگj>[ cϟ띞NQJBX;d(K2 YfA){mB]vbn\TD# ~/LT1Ħ lMϫ(s :B3T" ;m#S= Q ztjЈ⌤Gc8b@Kҡb,CdX0bR*$hPK$y`@ e9#`&5 ǭD n bЂtPP+H?dD(ElP3&gl#}5HP#TحM4wwAWz.NÂ5 lSK[3Brb閒'fRMҙWRN+ve"+Cһr+R!DI$d[W1D%7VV.SQ Ke6DorXgg5rE Qko͒R{*u(ʹ",(,4D!eatEBg␇23!da> C#ͺ O]^8T˥Yj!P[{Xo*bUasf CrhQQW2-o\-z6(^^ B-dzL ejEԂBsnF\)_,7[())_];֝bOJIbI6{ )LIiŸeT旔q.}D19?IHMBZNp!Ě>M$al}ri$B+'aBE33J$9g:BI%6nb׎@+Tr_(0pp%FC͏ļdȋN ofsGmLe3Ҋ݇6,(lD]:_PF/EPFo͹0F-ݦ2b"Sjq ၛ^FiNF]Ј' = }JR‰KvjꊝNUuCQPUr ,hzr-z Q-}!8eApYU2PLD%2z)Lj02n^c0xXi2mM \ÍIE1!Pd쪳i@"j.J<)1cM%\1c@zL ֠:-D.wY$T[B|_s!SpyP tݲALazF %/Z%S_>Tʒhg#@|.-K,CpYH#{Ē{]`J̪nשw&CT:j"0kPŜ%5oBiyIAQDn0'@$JŒSM&*}v"ORug[FȂx擾DB(*=!P &6m),x!J,KQ'4ҝQ0ja7%%i2UX@G1B@(S{B2іJ!k .8RByQ|W>Zk JI$jH6r` 5 d 艻%_`9wEJ`dRq '.duyڐ@KWZS,N$zLEa,!N;Egrr9 Jxv4[ \QQ,b -\ؗbu޶*AU+Ix ?ZD0©.ϡA {; 8 -jljҢNb֌0W%0cU-vlRQ'D!CAܐ(V1 -$OAfΠkTyޡXXRT"c 4BPÖ9I[ -,F@bE ":1%q w/͊[pB(rWQ)QNQt:3eFxg"@:ɤ AA)엍xa)i&Ϸs|wHr˵ڑ@5C Jw 0if1 %:Y0+\QM0]tU!"'%RciP-rA^rI)J̃Z -*o!G(Jda9, V,A?ɈŏFO ZuxR㓇ع9iZmnʹ]ĹZpj/2gHFaDh5JdYScH{[NcXXge멓rYTѽ7 PE3 G˿O'*ʄ0@N˵aaFN?"BEA(@նЌe~+|Q4*5zIGQ4=EwNa!K=^" dS ICp3zf*Ly}=s9Ei]lJA>+vR>HTj(%i`~_jX&@;G2%q)pflMKL.՚ܭgU[zWyJ]G5Kc `_I1nL9"ehA=X@s \ W0-p$U$bHB8K 0r2Dh\s} ˉ['/wK$S\|?RwSdʊz}P@P݆HjȈiy{ &?Y8Ra߇l4m.J .?y ur%dS\-,=UjbDG킼F5Xe=ަ%F~n*EqM/xKFcP`_?CmJΧk{\Ѹw1rUo|v'n f6]j3j?Z%͌^MA;z11#)̴So'UayYpfTrUUxf&%nTKZ ^kb!zKWq^{V˙Mw*pWF8gVse83iq"~qYw2z jۺJ=jLe\ɰKGj\M5t&%:#Ý~F%q%XPVOU3(֑D56ڛ%xQw^3t=(Z$E^ev(7scENĜBqA-ɇ. vq%)hiA5fQ:ql5JbxcYX*̔>%yQDBۛ2i*'N^޺q42 M/C,X=9|ncW{Kȝǀ JDuD&+) D[pGMxCc4pA>H^C&UkUTx,Apת)#ɩqx56{˻b}(IPOĘ%(]$IXDe'`IމjdZINT_S &/<7c ߉.I}壀ɭF>bܛWyEa)Y3@赪V쾡.2^-B҂φ3@*w^M~MrMbv#- %ZrzLCUTz()zn _j$nseg(ߦ1J /C/Lu)oS~\6'Z֦[?۬ϔ,0wR0 7w#LSkDBg:)M1fF,B8J(Tz Y,2?tDwV. W* Gm;gN+x2 3NB<*Y%S oomBY@[E:Jt) &-Uiԉ2\D!z҉4EUnڃ+ LVP[w6%%ä`-gܻ o`xv8"RNWIȯ ~8qZ0VY㥌X{i 7\]')7a($L€;=raTV؍6g Dx> ANZd%c})\m=術WezR)QcTQlѫ2POAԹ}iI!5\?{K9'%޺X2l'29䉺Du4tSTyCY򉭉 ;9Ya/No<"Rz>V(11R''/<|;zŚ^uHOT9ilBHJDE8Vm"|5vD7xf"BtA |͝ǩF1N'RYU!baZ *Rc7"$wމbM㤥b> |ַ rٕw+?]nѸ,[yVNa\𲇪6z4GzglBBg`gHs˚c IhdAT]N_G쌅{rrHhYy¡i+2ytO q3’n10ؿm`YY,ҕQ++oGVx*oPoWZ- ȼt+:vxаF %.L ) SPn :܉p(qQ4z0wI9$*~Lr*xB+Qg݋8 3%Wg3"ҐOZ˙n2wӚIvrJS'0% +Cdž=쉫jGB1)!Hq%%ĸap!yl._cu18V+mOg#/I.xn6Qw䷀f' bQID(1R. HVp( 2DaX4;q&+N m,L_HF5I,"5Y zV+V8Tb-B\V\ FUԠ>9,8j8:W!U3&FH~m\3^0W(ZHnDL\NܵW9tf$쨊'Ȅ A` 2qc5Ǡ3F62wc#g m_cּ?Pؒ+D_SѝCrJ!Mb-EޠR1iwp6|"iNvD%V."RhĤ33nHQjDBCoG}vd&'S^,&n;`Y!*Sq4~rH6-?DBZ6Kc\>y`_s[f̀{Fr* GY%1p<(7x4nW%}&eJwx/GR!/ƒ4T Ճ)W5OՓ;3(4Q˕ʉA*cPc-C½:R`,۱!osi {.C3,?eRBϣaiP kTw^--?ɮ.GZ\3OB jaT Ĥ8\%ŝt_"%a (jFtxip#QsdɃ$~=R8SW~@PzRVҳ"$KؘkK2 7O3 unk"UxHU:"\L'*7(}In)υ[ m)_#@N?d C#B³ЈT J"JpWIQդm,tMmxr v5^$ZY}wy&7b 7v"Sx2 WsTGQxSB}$ wT5 7+!m7D;Ws R"c%3~\V&퀄Scw1$dU/CǯpR%k#-lLX,>884HYV *J 2Ъe/Ӌ+_J|T8UqDdQh!0TlAd "k3;(rGRC ʋ{ E1{Sab }؟X{͔_YBMj齵k{-ۃ7L([H6)(-%*tIer7?%5,^ %DT5`JcWm5>=tj-4\A: \CI?zī9qhDe!G' B~9tT!vUtEH$uDL˰a36$ܒ"}l)*XpK֫mqL#ȅ94"F.o"Z7S K/S+ݤ/@ *-Kh+haDeDH!E&ωx q.a9~^!Ct+ ^V-% RyqBg+NDV:jmK./f'BQm&k$d2,gi}wpZm4.sne9j6ǚqTL:3׃PF\UvsSy, › %Xh/#IR(H0CB+M=ѺE02[-8i6, 03N6FN(mb"o~R zfTa@!oh仿U;1Q`𨪩2xI$* kB  @_hnAy "ͨܬ[PP #YJ@>4E#Fi!L2YRiƤ?x1FE$db_ J#j $KifѢ^Y607Y$~ʪm |` $ѪdY&RCgfa1_ͥ)z\P_*{daҊ[25Wa(%LbCPwD%*AprkG/ ,Ϋ6HB 8n򵐟Bj\VRٮ#yH3SROKJBT/Nzc̀+=!Wx%d;+^+J&T4rOtFfa)%mRoMȴ1(sXuE]RLf P6v& &XIO:4QLՊ| "9&~e G5P ;J+_H")9sXo8LjڔΔ~IUՑ2RA@DbA"b{F2.5#29e0{WTPՠNWrQ4>XIg,`0? _W9$/8Lu1'>Otjv7Pra ӫ߹1:dMթQ O<7j2cps_&dZk誧!LPe Iֻh##\䨕QQy7: Y."9>,B X܉>U;` LT2DZ.J0Mznf 6Ԝ &Z61F:jԏ( וHY]H"H'O& FGigak$IF ԺY![(7zyC]QÝ [2@lC?q~`"׹{B(DheBRF-(I:qKMT⎫trJV1#'9z#C-qo%%Ct;F?LN.&&Ό`K v3[U2Cق|lECe#ɾRƢŔS*SUőy2B'$Ml>0Nb>pZ}gFe-Z)3<HLI?MsLHѦ.Z0򯃮\P Bߪ;M~(SuYkUۂA!b+,6}Jݼ*bNQ EĮ `kM:4ӉYd/3W63$6l|uN4׈B!)@PVrtJdbɚR\ Q4ȩ¢ْDUMc##CE Xxfl% ҭ)U^FakVQ V^j;ĺ|͙DȦ\#oNt_WNg@A2Yu1a?GE&'lS&lL'!zeTG",6\(ڈ/I`c6 V~ Jy/+[XVgӶy1NHvF)1}Lem4>.KPM3e3BB­()d#{XPr7B눥9Wؾµ.n] kz .\zI \:/9kyAɅbgɓrV==Ht#IeRTє --iV9G@Sճ􃕟"縅&! ׈AQ^6+n&`2aCc=0ޟKvpap8OǔNpȺB: 8sEIB Qn5W`L$ۑ>"J1?B=lmn.fRX˥J-cEv~%l/"âF B`hXBl:{0=k*aoN5XZuI*̸Ht2b n1pԧjB!kk*z#/jފ2Fс| XD*}^J IjGyئ(#{ۼ@~ɻ RC9e#b̤C%8(āqyJ2"nJvE[}rgm8Q o{ҕ CREpQdBeR|h"nJ'7[(R|H m`S":@Ps3 :efīŻpdU)Ϙ1O.b'+\,/ L_vOplf*zV!+kbw"` u&gxBB$E*VU3Ԥ0 Z&YI8?2scrEfD}OjvSv0ʎΑlCc)1BGcvr0pV-Kb2T-3dƂDAKrtD^o;vMyq6rI1kꊰ}偁u)!0+:"t$'ԕT{"7FGJ౔ԩՋޯpٱy&S)E 9ZXc++v[̹<|mm+FE!n쾥NuL><Ͱ ˸ 0̉rO}V$2:9t~X Yl!\R^4>n NZ1]GJy+/3TkDX(PE%1S?cuWRoA8D, l8#ILHZF-ңx"ȩhw6{9̪e4ŀlvp)`&9?%5#bK8DCJ84^”"$\uR bE+i0 QK[JSkx/3;Gd4),|"g|L>dtQVŮ3^W LAϔI'cg2ؐȁLD; \r`ZAĆ*"vc['&~Mn&^ ( Eu/$Cs04.+"%3#0P>FI$l)IK SAqn{OVw0 pFRܢNc-đ I%@<ZJBo+]I[UѸ74T?73'iqT`VHaiAF3. ɺ^ n ?(&XfV(*6DV1^4pUqp3w@˗ZlBZz HA{|wɱoe|Ľ|>HNec&ȅ+\C7ϭ)\U"GCe<4/P0j=7VO}"_ܖ*7?$  P+^^XȴX4b}a;IS8G&6)Vkx^GC >Ab0(Yj  3` Y0. a4xW\R٨ anh\Q` &4IЬӌ{&Zh pЮ?1Ai!*ZYt2y٠۝ L5gy,$E 1%w Uz \MкƮiupHOGI+4 o$MY7c`VrpWnEcv,zXSnH] X>sU>1rܗ_ y +"O4 ~(JU'Z%V'R+<"Ԫzs:F[Rnt'&pgzbBxKo?5*i& i; GjsrHBCI8t@ABӫkY EcEYLUE$VgGN+Nv\<wz~nEĽt$$ô%T2P+3vQfpHb-!d^ > !No?<bI0~3.5/4sܜd`f@8vpb"XlFp0Y(b9<霌$.kB*u j[{IXZf4s/- %pEcfk&aH)g [SEU">a?*G$њEMbޓk& CfoO2?4TbA{K.B];# j XOiDwק/BPQA x0LsW0Pҹ]OǰA`8Qe6;9H;n#Qg3+Y;39h'a&}@ 4Z9 !HMӎP4i8H.>xgs;t'xH4UVjҪO=`$dҘͭcϽX'U~P'%i?Y]7dS,|OE!q'L_[G3|Yr2\Ya{a 8~n{?,U.X`&3]-'|ˢ3 .vyZjsvӸ|7[% Zo+*%@prK?-L 7},MvP:[0weNW9z:}JJrIY ˋ$^rX@)ЄIIMVl2G?6g|v7/SK8C@Qح>iULoyO߾ٰوU4@I= GTlj13V B֋nv5 K*?0RRWUАmM}f ID~&lHʾ1`훥 S}i LjS֕xZ`2*l_ akYL<3HȾ#b9hڵeÐrC7}ZRrAf ]5s7/|ftIy/˷)H/Z⟷ *2L˿7-)h][%eg~M9Lj_RlqӋSN,@O ;ͥ|)Yt рjoYOy)&m@4 QZ 3ZĖ`\FHlGwpy=ZU%˯+Rֺ`r$Pָ!)m_yfTY@n;"$ie,%yj@D*\ж,XX$twBe$Z$h%n*5W]pHġQTNtC?*pS'4Abz.j6#BL\7+}k=M( >r'D=pb4{Y dyFhԢVTVacPGBob7hQ!]j9Wy4*lQgQ~J":pdUi|S<{RB͹N鳕duV;憐uA+c^2_^;*,1X`_"} ȩkXwh g<*! 1!Zi_rFb` 1fHʦA{VUoN"؊Bw֔b+^o7ãLo='~tnY;B㥝@ZƪZ>$'n< =΍LIm$V]ۑu浽B<'USF[W:^[;+N+E@1Xw8%㞣(|" OXZm;^h-GCO"QEH0  9it[˱ck5>+vLe(iqx'X$b?IhZ!{(YjxSq{2YF%3h$ tG\Z(b*勨$5^ٹ} LՏ]M9 ]" $--TCA).WA:vG=!at^,$}l: $kO9L<VKf"ӐNHaK=@R؀bR u|NRp$j΂X)D>T_Z3\Ѣ̆6XݮaYɍIu2LԋGd/wdeDz: 3go"^%4{Ffo(58?1Y&-za ㆫRیaǷ&WM4_; t}7*9c9rJ<rHfiX>A=)wK4^4Nax(;dձFnHcqZC7/ S:PQ(U>Xl ϥ5? _THi籊͆QJkb*%B4\5K(NhȢ4B6Le|:uŴ itb}&w5<< L،F8k2/a$Ρ^b&薞ug݉M#ܷz/?j{OG*vB Z#6νtO$cۅM7 rG|)<״5F`m-Wؼ}Z XCǕkoIW|̣i.YJA'  ,dzY+=XHF\s.i [em[jWù^7/ ⻸tHmcO8EB~ $ٱ y꩞ g/ ү5ox4G$ڛ +Rq\5'Pry@9~)SZخDFL cyU.E\1i[meuS<$Kh|TgJQε·n ы >>F^,d:Nܹ7"(j76bYi=z>N:a{S;d%/C/ &tJC'%+TnA6NbRK>g\ʇ :Y<(Ͳ`Bz\*LxZEVH"< Mhԩ)y2f}`LSEtgYG;EBr)h@!pgfĥF Ly=xfnB)jd:C3LcsJcx%A؉\ #u:@YO~3qbo6.2 ߶OS ٖe-& 6uֽ{Z+Y۾K܋hUa]$71&ф͑Rǘާz1y$ӚCTF0f)":wOH7< 3d1IqPftAR2ej_ 9HE M5j{pQɛ&6F_EBRP0D. 74 CfR0LnNQS7LͿܴF Q$1>~FpԊS(Q? =7,hJrڌg9kG %I6Wbn+oWVݣ2ɽt7 /uS(70盶n]4&R"{Pt*9 S1v n. mDԣ$]NHI8KҚO+Md`o{aZ DZc*$<æTmt@*n0qُyYfh>4Eѷ(c= )jP`Ҏ oܨyI慯 KZܗ⚩FM ac5 cq F&B 0n8(kkL)AvVW⮂צ!YG&;ݍirNIh%271UB&6'$2SJpit)fK׺H0pv#x]g1Pk5X*~p䜦/Q rE!7SY(t{)/C Z.u?,YbCKTk1LК8ZWKDܩwn*1\-:\dN  IV=7ݬrbKMRl.l$#j&:IRF2!3fˎJNdzFԁQ2f`vN dG9K!8"'g!U)[LNF7 D܍ⱌE _`wyF|ƜNcTLׂVVuYק#X5鲒x.TTŘ'w[ -M^I2I-_!zٸO(n)[0J!JzL(1rc#]]Jz[-Id ׷ia1eA+gH-"(N)'7*~:SQE wlkdMM"qjW%Wt׉vx=|;; +h*?BgBe7Vk/FnKqY·d#"u`{@d3jOR->P=:9@fk9!,6<{oI:{JW* VLʦ́﹇qDA s@@7vK!B=Z=`Pv'T !HnQm@6f[}>լյi$Q|}|d역|BS;cF5-1"iAxY`!w4.Kt#2%I;2;M~ܴc쑌lZU7mvi^ei=cҰa |ګEL] #/6EUNWQgTzxH(Ԟl\Y;P| aY`(Fh9XY#VY_{#~MĚ . Lg;}t1h??E,kd b@H^5"p)*G-i 5 ^I!y"9_ϲ9+L8Q9x cLX9qkS!XP_R A!94<%pr-=-TdJ;9c'ibXB*7 PEhDD ?^ި.<^*^k6Q.,ME iT(ԁ J5NU"u冧~|t7;*!pER,YeOб xЄHD$OfI2D]~ȍD-93Bj]ʎLKЀt+d2O! ʯ^ D&-4)2k$ RTdb&4`y#L{콈Sw}ﴨ‘'z0z|x}((@n+" *4:PQiE6tMyTD F7F{QC+aVj-cuJ0Xie}#z+UGoT/IJGf*Zҡ5%ĒB!x5#?z/to)\g9 ͐ŚQ) j#1!ߖέ?ǫ NЃ/A^Sڌ14G߰ڗb{-f*cGM L/C%1}Cq˟ɧaq?HAc%c순K(D5If O.Lci5ύv*ڨا;f6m, N=`r i&_t⍔MXia$;1]Ϧ#IWCP=d 4'YS_%O @!%[* [0UCIKe WA8N>qvͦ|FA7"^@-=^9@%SwWa`҅Eq7؇M=$5/ 5T4%N- {&9)VQج^mM9ZRwÒ5R4oPDrX TQ\%; N', dH\#gj iE_Kaڒ ~D 0ܤ_/Erd{f#cCKSk:}%,8y\s҂1ᢓdߑ16eDzp޲(3Ap|]{M`l'fLz vpz}vJZ$$?eTHtr?#Fgڕ̬hi'"$ Ž"lainnRXKx="Ȅ)Hn2ۓdֶ<')Kr6x6 NF ЦTv7Պ( RzKІhȯ"4~rE|LAJDL=+fՁ_A>n! 7ӑe9 = fUF': ,\vJcJOkN'beF۽$B̙nƘzUN2j%:l>-Df_h i $nx|R ٢)եE*neSA HڍݵBa2b@)2vRo]a"@4Tkx_VEgG{SD[g$stm\L]^\4lW$1)&;*yz'x[o_VtT&WY?` )Uާ<<Q,\N*+g2d[31n StB!RF !&>YqishӁ'P^yOÈbuExfZBo)\W+)0*G`8<>#BA&iT"DŮELfٚ2ԨNRjVN3L7U[)uGJ?n@o꠼%*yh9M۸_.BܳJ7j[NcVy R\!&b/N',V-=4)S_M}]4ڴjulJIWPc!XQx c,}.+7=qvLz٩TB*^1zK^nl=&ط,|b cΊA܎BV +BwEF!aBL٫:^a W2+^JxD'VF0HS :!Jgc"##aM. 7>B7a}Fqu=oA0t%GR4w$+2ӯT-䘜y6 HQR8yBL+'SeI~(Vj\N*\/~Drmzo\Vvږ0_)XdOTHԹOގR/ j|f"{V4 fB*pR[ },rmW}^L&[!^aS]ニ܈2\+XZbԨwe•1EĘa#_Sk2%(JGq{61$=Oo.j/fdFv5>nNF|8!T'H3 W/FFvG\֑KW"\ھA]BL;Q:3ۅ/Mb5 L3W*r#vSDqV"Qc´ujG|!ADNH7ԙ O7 y.78f.ob4 E_-JXrQ1=i)Qk1MM(R6ɨŒxЂ!Mi]RcPBQɩ&Rc(exLU-j(:;%<Å8O JE*FZ9c8{6bVcB4 _qJ^ΟbLci<P(%&GpنSh0} Z-Vcg+!ZCR,&.;s \2=lߌ wi *ȚzWM؊ I,^(ruh@f]& w^dʿZ,rYn&~'T,lB̮܆GE7~ Yq*),ߑ*0 ײn{>!zʥUISzY襱0RؚjBl/ * T#J(5OH$J-,Q&wQ.SG򦑸^%bܒ&4!#2j0 Ƈ2)1 ,z増 T@`M[v#\& hUr,h6NbPžPQIn3Ʃ8Ę T8bѪo*,"JhD@\؞DiKPJ(#`jB ZԆ$T[D;H;%RJ s˘sa# !*@HCВbÊ1y?I! b2ʖ)1E3qE=^\٬&& *{%X&T4xQ0_z{#E+ ~HV%XQ0-k`#hWz'=ߕh+ k5]$ȏYgľj@b Un (rKuZC.;$x Z,!$Thd-鑞g!<` 9HZA*0|h"tg|2zÏIԌ@H ~ Q0h_?H.E *pԳƛ 6!K PxsJ!\r<-fle!Dp==IxEK׬`eDBт59O 6:e 0?CV% R1d2BFbc2+6^rwԄ y"CB@2"B(}t[[59N'" njh1I\`&M,AU#juhE7'55zאJTarI^(78Z`6فq).TK&ЏnlX^y_$m (qT0]~Cܢ^+Tә"Ȃ) qc XIԉ)$q81("JCZ$Bi*(B9l J-̟eSNۍ7"KsDUEV@CCq @FV]`Z@9 CW. 1)v*z.(J)MBqj&j]Z{h/+3[fDKJtr ũB+QZIXlٷ6lEgF>nc6'  HApQ-ENt(oȞ@)cgrM=dQ!t땦1_N*dH+۶" N>&#B(IyN<G'vY&3yTᇭxDxTAϐ rN(!a!9SQl[AzJ\1EƋF3Z-p[2Ml.`ɸ7+hn+z^d""3q- 4dV䲊F&Kwx.j\)oRmե8F#0D)c!hq3Ʊ;E%r: 9OKXFXO'(|yAo@BA ۞olhU\HrE.7CwYR[123 ]j[Z,de/թHN iЏWG\LlnImnN^o DOWq^>tk $@|&3rаv%NHQy2]H/ď*k*)=xҾ4*hYWxl).GpX0YC*z-$7uR< b:)>+^%ڧ?0BjybaK-0J-|mr83 Fkܡ*e*W9X\u ) hhvf(s\^*{xl[{ 䄖D S/hf20!W3wu o3Yٱ(4Ό¨ƶ׮ʌ~bf ? Zv8vp$ bmi. ~;!=Y DG.DxIJ6't"Wp`hi&#/)ĔYBRʒGl 9@9,"J!KWqMUүʟ":Չm#!̘Z v,xwҨ]hn2Ub:eh8Utw:42V"BwRc44ӜwJK+.ysb 4`Xߊ vG2 KХQ.,+٥VYЖucD#ѺjUTdpLjd F|-7E8-۽t'/g,'*$C,c'93Q =5ZO X&XZD+ƴZjyBKG &luPc.CThf.(Nd;ba j!QDU:a @,5}KLONp0JE^^śEџҵֺpxxs` N_(Pǒi9A7痩({+ ɿrۘJ_ڳrГpM. \Njf!w/1oOPq*Ew"yccEcX@fsh_O KRcVqikc]&-خo}ji'Ȑ,T*Ia*u句tMa#[Js(.V 'κu;9F[ssK)iG8wbQmLeQQ𜗛hƞuieс6H HKIԧΠI C;pZ(_:Q E0|̞P@&.)!9|Y$V1牵xˈN;F[`;쭲C,"?@|54sLB?ҢD]ްwEQ(n Gk,!efnGZm7n{ 䙄c[km;=cO(4!f=L/>V+ҔBPmӈ(GP4gdaN.LMT*! C6Z!=$HۜT*(] q1|/,_)$BK42s f\@إ^oSdhu !hUɴErZJ]|{<]FvRuE.b2-_`v#ΌR (/'gVl Ve %x\DӣX|W$vڱb)ࠑ+K"NI(AC֔i]r \3H Isp1ӄ%>8 Yv &ᚹ~X33D ,ʴ~DRqhlG)čyG{8HʹEI9< @x*ƿ ;!Oh3L+H4,Cخb=W$3XdA|6+$=!Q- S `hBq #@b+g'ljmvk)܆]mޞmK+ /_ %ʙ!+=RU*K^035$;G~a C_!_fyF3u 4F,d,A%;ٽQlqJN?1TrEY l̑%rf!d&:uFnSRĝ=ʙ]GѵAf|r3`|K\:o,'ljU>Gѥڬ,+`tlIGA8]mdwY&NoC%Q CfD.GDRެ?+~OI+-"7;A8X%o^rΥ*.A;љHj+P{<*+/ɋo(DTmO5)xVvm. 'EUI;!G7j_eEȔL۫\ݷ̽:fJ0 n X~J&[Eφŵn WӉe>zB ƞ nYgh )R 5*$5UhCP6BGЎLWBF/sWQW2K6t#]mC Qh]+.e2ԛ+(Ue8yzn @70.@29V-PC1HB1^]* ;1+c>pTdH2:\\,hs'nn#NK,I\>O %'^53Oc\YYs0/3%ԉZEIVҊrU^7"n墩D>m; 3%ZٗK6>pp~=hb^0pE2rL` _ GUAm3}W$1W;` R1TungiHDE4@zo"˲~>3δJ b#R{~dSITk&KQ:"h6"3H%N 8ȤVBXF  ʐ.sH ?09BD^91u;a{q$Ŕ`&F|+̣d)ROWYny:kYU)кq-Tk*s$pݷ3J ;QW7+nbyr5*v5rʸ6üSOBȁZ[g:@&&M}D; !Uz੹%go(:=]i}+Gɪ 8S1g<$UByB^2UW/$~sgRg 73bCu <]OPf,b"žB#@A2&%JLPդ ZPYZ ( ϶CN|x{IuMWy |T*i}Vo-_s}dx^!Hߏ ) &‘RQbQ',3}2#vp@@,l0HaȊbLekyiC:.khr3IBx o>h嵹;؁i9K8e\w,Ha;6"L;X p9s]u݌Oz]*U[JE ̹w$fH[ A>`$h7W1bz 38|!ߒy`ŶJܺSqpC%p ykmNʨǜjh8m%zL2A1?#j#h4 PE<56ܛ gyϠWKz:Rx5ڤPޛ%7ɈœFtU_^Mj1fİ{1mH϶!DRH7Dم|R'v&2؁ZԿފ\es{tWښ4Xo"eųKO 8ӯC) HU_ݬs]6aģ1SI= to{Αk q">^93g6B%֟wn24,oݤDՏ$Eam4,t+⌉osKyڻT0jʻԓ*BrMo& U &NesYlKR4p(y:k!xK&s{G7g+{"/u>gkEnңTD\ˁ%,#.nN1E+h 9#UjHo\PU^J]r)8wgE|JS4zVsd(r\`FTH$!3o?wo"/-۰ݯfPgGZ]em1IlK8ir ~&"#IOx)R&@ۘP$LJa~6"!P],TݒTK`N*EvJjPUW#q90+Jtg_Mˉ)Fis ƵvêRqLo62}.*/%jF#o87Eu=B/ /R4O6ldD'/^P*Mt;U2JmM c(HL#@)h8\±1JefiQ9c5{5&[<\%C|6kH-A;-} ,z&}#^&DocP6;*xDOܕcZH۳ :ywyQh,$xBVe}G %|IٴᝀO c!X^W j(] hcmE\Itp'cnٰA@)D ɉ?ҍlK.m[J#vV[BItФSۅ"RV%,*h^&#ɛLxrN! ?j@- 18E~gB4;\5t\c;Z#4%Ƥ8bAKObj$BLnR%vzļՉSWInR\7_jmj[L vCKґ*-qM:|#M.;9ՠNڗtd31[M5жőՃ+سKDrRyLu|Nz-rjPBJ|ڑkP9U$$0FIxRܨ N߲/LCff6* Bh*~\{ XMD rJL9/:1ApB@*P;R`!PvMyj^Y4C"fdc:!6S}lWSR`K:bUҾn6Y4ˌƵvflŝTVym `mEp_h9vĠE-[ ^jL;Ƨ]MO+i $Ѹ*K#8hJxߣ8,=/P/=_=$gXA!D M|:H1FVmi:˱ؗչ`8S^+b~5QzZ>.-l9Q d~D;ٯhғ&AÿҗQ-DJdc7ۘPsl@ysbM.cRel̔xaI!` p9hhD*nHIh|nig;Oު+ӆ+}PTal\J=ո*A%mKV܏饉a*e:q3%H0$iQMp)Qᤰ(˃\ڎqG]htL8Z}dEW#Boly\WtʭRN 5=wS.Cu"v9( bm(cѐT!{uixIHT aE -i|6dFvdӔbxbRxL3r֌rqWaiӖMSERX=ǦlfL丽ówIYl(jxB˥oo8}&^2iTF#ʒsXiBќd9vN~W(3U^A UvM: h_Rw W0ڔU#*Rݡ\F3oYcL!um\J3& lb+ш~0)ˇNَv3&N[ޜѓc۠=U+E]#lZ~2#w5)W Amz֮\ՐBzޡچS=+/c 2:)})mjȾHw z ȷKzڻgh&ЪF£f35Q˭ДV\I$4lck]%˩lwnp5vnTu)tKDE>-5;Ȳ_0j(^+7(>ۈRvч~kG;aOL7r˘v`#ʂvMIr`Nq+y)`P~feCS)kDC/WlNMٙYR$̼eXN%;ժ҅yTbk O ܘUtOLWGXl@DZahtL rCw]nOf98xzc=M7ERD@$f MtܫԺVJާIG+hFbP=0p|MWK-“H>[dQq&>Q >ҷ,)=h)޵M&Mw IR NqP>}./2ז(._( || G`Gj?@'P0.eL, ]7o@ <%9}W )b~䶁 FbKۑ2m[2NAc i9Jv4rd9L!¢4V_*dre;irA0py46ZbzoRAP`M@zRXxFELc [~dMͺ<{#.^&y`C `5 2 (C|f(D \+:QlD~Ȍ;-kz V2w{efJ#-^U\˜'zz{9Sxbu%YZ}U\~4nP~j$?\ IR h|*RT}\ö4YFSA+2ѷ1RO9Qc ^5&eGH. Oi#bP=I CR-XQfL[cBK{sy@ JjP>*שq-@L|xT !N4~As 5>OH|hmk*nԘZ'31P5uI!#ZC4'YZ'4E("R "6e䔑bQf9G\Xe\"TJf $;ۦ/oPi@dOPxAVE B'(:􂨟Zb'4QB%o;fDHqfI1IܳoCk^:UQj{𮜫[Km}#VI!DՊh_y)\nRU׋XES4!Ău&.Ď?)~A[8ݤ7|5(c BRQ H^1ݤx z[[&Ntt7|96J7厴-:-:,ϢAe~ӊ%x[O$j-ĀɬՕQBH%r.w4ywQIoӞq(T(JUܳ FaC2qz=1U]``FnFkY{F+Cdh@5{+Q72,C%3o:.}Ytpmf 8ȤSUD/&3lP$+=.B|H/x!r[Ys㖺Ё_QJH d`oX(`,67[hWIgWn-]ӲbR7TD"[">*QS<zGVԙj"@K7(m>as i"fŢs#( 5Qv9b}sw&FXV@rU Sw|-$L^XCo(NVPn[p杣5B] =p0=iRIh}ro+q)?UrhwɓW[3Lv6,5ʪݭ*bAib{] gPЬ A(I-#QpNkj%3T;&'۴BPk7,l;&B&FE A!2!pE%ix _ǂaPhEV &4Rq/Z-J dT-TyZZ-%4ɿ"%SV)2YɂO~ԚVt%R6,h5O1S]Oa+ g} *w]Vw7;ߞ1]:41+ۅ&&"B|7:KA)5: 9 K)P5`@7TQmaa @S6KfcD".U \fNsv7 ׿I`v4Q/ZV DFQjO{iQ,k6M/?wԶ   6.@O.qe*1Coih ' @ WXfXG֙oe S M+H<,z%D/BaL HQ%Ek5ĝzJ&WBS0-Pxzx31p<沚(ۜ2)>Hd3f;tj|?jVtl|Vv7^/rM'mEe)P{E:q0,!D[ T-7CT ̀:d {+L_sTIO_A\sČxB6 `p ~$Q[QyETDXc}r a.>+0_ѽ9ly+pd;277sfc*+m3HTvqNo&4#x,}  x^lԐ&]iJ$g$OJ-i5dJQ#n֖Jm.㧥 b*]VFӨP3J}rن %`rlԃ}̭Pl7$'zq yPt/EyMu+cw$FAc%o@ ϤDzW)=P_k,0˷b* ZqV Dn8mѨµ[w lTGGӽ{QbgI-~QtN6ŽagmD\GzXŢ@F(]wnth. C{k nR}p)dSf#v\O UH/W'+aK7XC@4XFy@u2wK\Ll<1LCY16b9c^cb*Hy(0ՕcZlٸX.5{3\>Y }_ lr0T:; TYE@GcN^V,Cc'2(תg^xrtJ FcwE2dywRt7u"ع֩uwZ4!p_ET9b!'tt32'x4 =Slqt(&2z[22:=&)Y$^"b\n~\F.+VrOE ؐ* bLmYk?ƲDk;;$~j"dYKц&}i)EYo ;q 0٪Lzd~dҀ:csK4}e Wpģqvոu4@n8p 1 DDVWv6X L9Yēq`I2>1 T"TSJ'Sc 2zsŁ߻ƄBӓE\Bm"v:~` H׀<iGVFH47GlOB;>nLQMIX#Z@. 1j0VL 1F:+^ tҹ锏#UdJYJE av>V{;) v,^KHNA caO, aע ،قx0Ją'ւ$J0(DR8Ke#<_n2Tx-DaTSdh_6\ lZT̠NYj<e5aNnۮM.#9/N/eYcb4dp@_]Aj6L8 VpI'q{¯iC*:@] ėB;xtc{g(ZBB4RwEU-TA9JB'9bhMg)vaͭ7O0@I$.9Qc%,LBԘ˘Kƍ'l7,.%GVwA++Ia)W +3XNXf,.]h:B;;Zץi/EY1Ĩʔx6/OʈŗnIAenN75{0=9‘@09kŎ1~TYfD뫫+!)X[ '4li;UE@|֗ak7龜-KTW嶃DFqm121^~ޕutg I̾ף̫M^ԬJD47TA o\i#)L"mUag+J_W G!j)g%,{"D61pV 8ڹwEbР[%@ɽ`"'O1=x:V6 CT }&VٸePbLg^?1@Qξ2?Z)ji09;Un&%Bȕ_N.=-9B+qMTk{bR{H ܽuonE/&C 7ž!IPmRsgET[(E_}( #++Yї9BWPݎJ-hsS*1CޭٰTs)l5u^bb+J}d9r1]nbHedU/b.Y}M0B$x;GILR;* 6D >Jl [4K/GM3!ݪ-G?Jn)h~a@ 8OU 8h%c1%SJKxě|jSdLg`Cx"e^6Kjm%plk~ ]T VfUPAiv/ع`K%=EA˴ Tq8$)c=YDb9 *쳓 9>B}$3O݄0 MlHEd'^˚a(w J4'O.Oqm!n0i꒾/1Ն]ƶZ%J9,2'ܶ/s7 $84^$T\ֹnH]}/.b!ޱ/F`J+/8Uُ2$,Blfu~cZ-aUCHGw&.oW4XxY2(nmCyD)w/*bWD_+IڼL⬨3鍌ܚZC`_ yf`Ng8(vVyfm;L@rVX.?dψM%"gǿiS⤛VlYփkI NV„dlV#Vmv{þCbVOBhOJ_ad\dIS1TB-f|7QGTC3W\)Đl7MDS$L.\ a`4,Dtf_˕*qF0mXPWgz'SH e*̞! 1(-+D!IcV)&ӓ 3!%d4#ELliBWx4 0>U&hX R2JxGj2CLT4:KQ[*mu?moV~Θ>vp2 =uj˴fw ֟~]FKNh jRDR&f#/(K7x9RbGiv40d8CkWtxr  9}8<-G|DZyr j9t4_u9 -OB嚞@`YLjg6xmڃc+U!=ݞ2`5 nIj}|1WFbr5]!o:*3/SMP}NRI4H.H/pz:y8?^ CHOiy4nNй& 9v&T5hrP ivxu$׾U߳)}f,g9g˦QYW4VA^r)֑FV/K Oa.]h ڠ\3sǪ3yP}ʞn,H7soz$98Y ")?˶Qr{t/"uΒY L]\sgK%w65) ^oq`*AX&HKҶ} HZ˜DYi#rl zVӞt %=VsKLXl@ kG445|a&a.j dyE'>tT&5,Vli^ili~n] /W2̍"!?Q1چiqcz21 VQ3d[74;f+*iBS (3.? ؖ*攢1NJS`(N Dķ%8kxsZ2:AX-l) s`YG$;bH4T+;ʋ^፵Ԕ^\jƐtFs䜽:!O"'VP&fgZʵPi'Q9eB0,vR%HDMpb6$nHЦs}F@ N)WPdI㴓%p[6 !xלEcO^LVe5pW9)`r)݋u/6@Ih! P$p%tpwmOH9?SS -$m?' #KnDҏNz-46Ă_'`<]}Kl|uFzj@ 8N?ejTqi P|"n 9DrYFCSX{H#Awr SݹyYT>lBznKKJ 8jȊ?K$eλ,kaȒ8 -U@" IGܷ2W/j`*9)m5ԂQE9>i~ p}~* AӽdAOɂ4]Qzd&C fZʵ&F|8F4k`nB@B q 0 p@Vl:V&`$@ Ky qUSW#P-Kt̊ݻ p7ν&]Y;6d<GK%;][5Gt&@ξ!FME_v YL㒙n(FT[Kndtimia@țeMG`h xMy. d ]CH1)IQBhdN T/#6}lu4E ZABbr͍D9Qywj,8V !B0DȂL踊:ӟ0'3b3 bI+l?DŽR:KM!>FG/;. CX+Vފ#P,xdl}:>gjnoa",arBN8͹mf lw>"FDQ KI؉[I҃Hg{;Jo&-_KiE CAx2z{Uj$ RCwr 2G]DQ1i n^Ft2d 4ŤjX$:Gq,~ ֘A/FI,I8?М5 cFqmo|^sJp&2Qb: R [FQ,S9J)Ds`zG6jS*m"P\Y*AiL+Ts.;, c?.sES@"tX0nEpCM.jҭ^d="hakYp 5kPH串&/o;F Pu K.lY#l\`.Y/{&d[TL^ʏŚpGkH;'M=!^Fd c_ѕ⁦$'ut?5}?-c#VrXd"VIH=XA+rdږ;L*q57-u]^JXgH_7J&"HF k;۴2xgo|uWւك\5ʏiW hA/u6;)߼"|E8}==\K-nA1jBe.+N N.fafIɑysGeLRm ^J}?$ϽM/G^ɿ TqdX]5""t1#t2K6:721t׍c}N Yoӹ!4HYb-Xz A{]]iBL 2,]_+ ^gQTjTmU-7Tb}J|n)HO撴R]:.ā%.NV3&,ГEM{uABb@nQ 19ЧQ8G-f:,0 Ԝ,YŴeϒmВ"PdEDKA6_&RnTNT DR56o^y7m <9J\$CQ Jݯw \2Ut!<|{ph7{Q~MCHhO$pYT0''s"ތoxVF F:/"[Et%iy4֋s`e?xAÂGvK?/!3֙<"/S+67VIdBD1=[7Ŷ qa6|.&y>~uI 4t(g b Hȼy;[q ~%\ÁW#FV9Fl=dŠJM ͯڔT~Iš?=^t N,k8]A{2b!5),\]M~;">ϥS 7X\q׌ܼi< ^~ *B /'3*q']ɓ&ǒ_\)MYH' [_'1j9UHuFgj{lMfL21͉pqE-/Dó+RZ5}#YvpD;-ɅW¨zn9tDL^7T/"wd{^Y2]q d7T,7R;Īa悏Kqp n@fA1ySl,gK$^`dAuT4P9adM{vDɮQ"CMXT3 Ȟi2ZAbA̪AxsLy&nt#,ņj#XQ%e- 3IFPĹ`MEhRH3yjdGO3t JȤXnmT'n6H@H!(/`u輊SLb1Hɚ){Sp1  Y)hA%F \E_? ͎pcZ͕J"тwZu҈ n\j,1"ݠd,^8+\g^r:gkbU5Rx ?$rN]^v(R5?*=0`8=KZnl~)BB0)2)Pq21R)SR55<͏ȉqfE;+983|Ucg͛RM{y1Sd pPDYo1x)xITb qó'I1(|b;'㞮QT~ .LyJM 떘 CX !Iq# |V'wq۪|wIXh)$%'W~ x) :k]O&MDS*Γ>xoqZ)}vcDcGD3bB ecno}(Vmר02/PuoB'Ɂst?[$x`R2̐CNgP?-|gAȣzISx/yUxd>9e~:PWT;p҄a *'iQ7y'FM|=I3$AAu.Z!#J:՛'t UhGS CP"^)!f80uCٕ@Sz+"/J}RE\G iBI%u Gp'~*OvJַpm~/iS #ٙd豵1 {]2%vJ0hgD,̲ԸΐBJfTyDq4_}j{\m1"1|J=Sk$ɡ0+7p"}*:9uLٮLJ`K$,e,ӍnZҔL))›HMds쎉"ְcjQd_ t`<}++ jDyR͆lJ" @O_ 褬n4O ۏiQ<6 b,ՖfEI)FJKA(g=ia( L:xx+{aBvIWA6G)ƥ?\7|"I?E\} ؇OPAj*^jRtid*%4rࢪqPRl0'yPf*Q/hwfN=xtwlW4D[E(MR\24x#N!f4(՚qoVJWGLznU$'~(we"!{f6[Ē#W݁NDX39BxnXxǫ,~/Trih9~V3'Q1  (_TK$2rJ*  -a &?^YҐ"\B?qӦ2(O%,Ć,LC DF9/OgN =32(G1B7]FQ 1TXX"}6H =-d)PD(a!^4Uatwm-+z` fYRUY[]lFf iWz#En"LһcGEȯ<2YA*Ym $IzU/CsMbb^TG"l>gmHJhBujY蠇Nq^)3oK x xP[`uPK @uɈŕRAl 怑W2w?X̼Tܪ=ac^[IgقN A7 s!ŭPZ)W):` P5^Jzoȍ1` {Zfw* 2Y8GmPtvyI>m7o3``3{B: OȻIQ$]R!m^(/+dHq*"_H{(s5aC>~´@g-cB^V@SwC+va霡 Re'F1^jf3IisKV bV-f都Qre7ghZCU0\9_>)N.=+݋ؿz~J G^bP'vhPْ-D\8%C֘/ ͸(jM֫jhq;u[]jcӁh'0rZ=K[#Yg %.N)XŖ {(RSH< =䖗b  2(9%A_Ynz/*vN}OwnrT,$jUS3xkz2W$AO(|7_P7GK;], *Z Ny5{S@ȏ[W5n2-ksELJEY D_^sR}fT 2#hq<< Lph2ȈT}"J>fZ*Ipi[/ֆiGr~ Ig|yLFOS iSz[FL F|0" ~Tpj "{pӳ#Psei˨ _poUw'A5|fCG){Q&U" ?vcZ T=١bUR^%NfШY7<εCHRBBIU :\s8Waj&PLb>eE|d^P`hG$}эtF1k ~25ވX* g'(KބaR>5̶W~w٤1"O9v윥.We1 ` J,  NV^u@GYXlb "ʭ0QW)~6+ݥ rNB'Ȩ?鈪Q΍8SjeYΎx񬛱?R S4N.ox"YZB;PmB!h_Zҧ,wYdt [~o@MM\/&Np2+*s&*x G%L!UA8KTDz/tʊG7%lLPrWjABE3,낞-!&O[pZn5ᄒq`P$mgŶ.E/  't<*y։YʴOޔJ3#ݓԄukj~@٠o%Z.L$cvP. Ǩ>??oB#{ Tg9/򢑤 i_4.]7U7&TW$?-Eop1.BfsSbı)c9e3AFQ<$$  YriWNH:`8Zjc^"^ fq)6ߪ-4?uUgnC ղ=&0&_dhf5+1Fcؽta: qn$Irg{\PٟZdQ #4TU6u\Qn|Y\D[1x68c@K(MoZMmww!8r(;tH@UYXpt1o6"=6䩷+(%I7>! )z* <9&ZLD"b7grU4*% d()((ZTrRtʭlN& 1Aș轶V/gߨA@UҰ5Zbc v^BT׫Q.Rxo]i)l 26F pYl(.hv%N?Hh/^DuSYK,0.آ+!c/3q"QV X/z@| :8}ΪIQ0ȆXԸ چd֧(vUeAcK!Yq䚉t7{.i:>-Ill':g+ ̍RwbD2/[8|itڥ5%=mұ;+M?&FTEG#Q8C8@ȁ #Ǵ+ =&e|uDV>KLԾt>_kZE4(Y&hXpjw O YTҦsX24i1mAu%UWΣzg2{ªI"sĚ3!LQYLCm N- 9w*0է5RW j°`bB7p񑂀6f#Z!# 'rAt1Vj{y`OŸf2 Vȉ 2vJ!a4##ܤVZU[: jsǥ̟#^cϸ$*8Q iCד+D+2g>?/${jF GapP@>zvX Hͼ |"tIO  Tddn!gu3%yB!AEװi9둹+Q=!' ͣbetv^X*--ZUaT5O=EC& +èC't$t[~_4SeP @?152 rV']ib*(}d|C;/Y%nLu)-8/u$x,=Faɨp KB2d'nlЕ J)>=[?%UP[GC7x-+&:t`JNA%tp|ᐼHsg?2B37hB@11h)E$))bXUM(g{KoOuvypm߭Qb-,MY4$;@ȯWKꓯX<١l|n=6g*β_Ȳxp k+V;iKȫ X*\,$[: \$X:}0o.1(̢z^ss1w"l`Rm͍֠116nDJq0.TNLzo=$C/Bc^2DᅽgR=I/!O|٦^"+U9Fzl7t7$Y=Ko;S,fdR?1*blʑyZU4>@}(3uf&Q$fMeax>ǔ "!]sEj&PVGѯ4hZ͉j#@Ѯc{޿xWO`,C\3L=n܁JHtc]&}orH(or$F ́ Bb7Nh+j^b⚵lT'yrV;zmrv~qnALȺN+,ByUM7vorfl&4ltZzz} AwWQYEB/ hWCw1!{dʖT1Y/ɏcI~@jjTBYi}y>ѼbjU$RؾqP4kZHŒ`JU&)mh0!I"@U8>?ΥC#  ZYA+ xTEiN{6* ߦ#EvNPV}IHuV{ΆKRydJ`kK*X\DZ-ʍRK_&4**wTuVzZ)= Rb6`90;{=j^b >썳XG%r.V~j@ V-޷$>i pW}?+W Og!AKa,QY삽v'6UۻYXAcd:Ӌ {wӥۆxYb}VTʹjJG2!9QH=@GuwtB(Ue\Ɖ p@Baj gm 脖,U=O#6MtȣF;b8r&B>!q%dZ{4$v6VoQ$x;tl&G+d%+E%8c+3eH6Y<@Og~)i dmC~0Re6_&T‰yjK tASX" ŁZh,?4sXKB.dOBdRj0ae hqUʦM'V&vܴ6 v@#A!t򰜟еUaZ~SJAY(ÍE;ЕmqfCdD G\"$H`woT'/1ނ 忢3SÙVӃf7KO렧h;RoNyROjp u%iPAn9,רR +xlc.ziL]ѷ`a>mk5+ n{L͢jfseyzbtYGw9 GL3DRhx#9\R ~"v2_Ԕ[Voj謱]|Fӡ)'R1pi嫌 )6)i'FgiΦy$/,7. d F_bd&\:$b7<̳$تbFAV!=aE`xzo=҉AD VC%@Ψ +hf''iv$a"6״ Qw*ĹV6%iЇ!cMbC!J+$ ẅ_$1k*Ũ8+ b"5/"Vh;b0Ҳ.1 eޯ$tR%4b:#k?}`)N0U䢦"˰o;hHj]tVjYА/"Fw0] #Ȉr!^WF[OIGEWq:&,(YrzYhSΈVFQܙbsMZY6J@U>x;y@]'"Z>^K^z:\=gnOb$ϓ+JfNݻSl&eJ~w\Sx+puG;G*ʄLs*cVW]"3=i>FiRQ=$D?]"%ceozD@2/a)ӓneƼc50*! F ($&((i^kEA>EMA f~, н %{ڞK ̂#5zR.lhK٤!/$dµQqB^{4ȤSBҶ/fBQ<~AfƎҸ.Ϋ7\FNP^ knTù3$-.=It-W+Z!VFD+%YrԔTpq+xERНܪ# 8O:]ަmQdf*.|9ɔ䘣RiQ!%ӫi?p6P:p [ĥSPfLAbL}78avu~@u؋\OyPG]yg c)u6q-8{s?}L!0=cdOf@"8sbi?ixLQJi cnuk#1=TkZ#4#v$N)\ dEnnf-rGqu{"_SBwQ^YOP^#"-LU?]}K%+ ܡn*Lh"`^Enx-AHMFuO:=4Hѡu6)J܏Q5v2!n\a 0lw1#ן96# Z:XMb͕)fw>Fq3D4jl'Q%-l3~G33~'xH$qF y)VO5WÒ'[Jgi Z&b'&9U؄u~S 5fk^oM@gctwJHBN.! j\^Nf0/@RpI8F:in9 m#$XbQDL@+=KASJ&X;K^i5U½kvr4]RmĶ0(Xמ͆.zGr}b7f"hzU%#eE%D%ƒug$BEjd*TJm/ p+Z~r2.$JL!щCXfQ8 x 3֩Js&/)叜HxNQөhrAXZ׆@#оNXJfbXr'N:G}@`:%>LnH=$ٍㄜ<\kb1 Tj(Yxll ]Q%ܲz".tN $P:QPYtet X9o;{I%Z _ܖ=rh%Kt D> ĮOA* sM[" }ðiH(jb pد` Uu (0wH9Ue*'-쭦kՅex0&@G ń·՛4"g9*6N8l0*$@p19,yOK|V, mloza; h ) 8!,ILTף*۫/-F)\%I L:NpRhBYV BËRb~!d+? lE iȪ:kꦫ2Ve7nF5+9H:DpW "kS*P&'w@?`a;پJ6r&Fr (Vb@Wd)f W(ٛc҇.,ɈŖP U'4R"`"jHCrr0Լnޢyt"ɐFb]ӟ<]@I5ȹ(ll|T&H.>\J̈72 [+uu;a٪B ra`+ ]6$Yh~ $0@. UwB5$T:uK XX-dlujMA`ЂGdNG3\dSJX)K6yuϞZu8 z{cn9`29 HF B$P2Xpa*RX<2lCrX6%L%ȬrHZp[eD F:86Dv646J;JPrFs`ބ*3j78{mL HD .]Q 0Al׵,C)ws2ҹ4jӏHt}cAG ZBX?bYw 2{5YH$4 ը|eS7ۊvJr_+ur C :*ؑLPf ,J貐dwEvStp(/N8#1k< EEiN1``ƇQ>-y8ӍEe|%Qs&cT~OZnp:|،#.7f[{rBhf'NIÿ uAv w}~C* Dn#҆ĉ V [ePm/C2L85i Un9T' _G&_dC9<(V13MH6=,HWGays^6×IɩTNyu7/K9Tm=W 5Fnh%M7Y/MDW:A6*n:ݾ,n%a??o 8#r4; ԲFH'' Hr2b@l|)"Ѐܘdԯ_=pW$>ڐz[LUM)58IK*j9! kllVCRUd5fdxl7׽ra(_l"#@xD@0!dzΦؘ.O_RUu8TGf2T!(#ENKT Id;b% mZ-GUBPjfd@P+:Wt1S*z^Tꓖ *a0&+~ ano47-GغGGKRB24`:B :O#s%o7,);L3i&u^=͊@ڙ'X6tNvT]!`\pvJ]|( *pdw]I|^qJ2!n}x޿'`&?ήaY(20S]($Ȁ0-j/-kY {lfNe ̦[̃Мe!e0}9(dAA#-#TR0" Y=]aA d(;_PLe |B/דJE}b\U|Q&`T X!Nd#@b/خF4a%qGsg*.\79%KϢf)/x`#N#notu' Ļ 'KEG_c2'!W `* #:?zPF v*_G1 ݥTeR-*% y|4HxdĜX=R_"gk!OIXٰ,e#$'!MVTkF观[8CoV_4t=3CV9@4:0$"Db*pn\NM̓]ko-,{CA*(;0oD*ZR_g9o*NJQbWee,6\cC8߰J2|@u!+CpN/sFj*S~]ⶐUDzDF1I.IuTDU RN".5K F)9sղG" xUg5DS\ceg"DOl1b4<&,mؗ>8S!ȶ C^mRO7)ȗ^IK_+N}&EolRdf23<2Fl~3Tp&aeyP11r\ry Os]aJ!a.Cd qqy"&0\ceroeu&K\BCXܓ =R )̴%*eeCqu]%%KjC)(C:z[ǣ˿o|[FPp zu.0J[yX.:;Xd'BHſsлwD, 9 b!EU6:db& Ĺ*qrH%P~q2qAN FH\MļLwq)ÒijE=Ҍ PAj@Z y,".SAP~+ =Uiy?K?K&/B1N^J-at,9zlK߂'QWإR,*-C jJK9nA"NĎ2t3;Da6hy..fZtL>bkh)@J T kb0Q9t(sjcqE:xDU ~e?$?S4#{@A_l[ W\_%P).fCGXCbQP컲=7zmBEca5CMeUt4dVEf>|>3%Meh)BZ)0z#[#)`]@C4;~3~xC[2`]A6ߏ1NBūBR27nc'x7OOJ"%2GfD0*)&DHgBөh_$NFDIYU' 5-!'|&;I88,R`2J.Tìn #"-쀑Gٶ"3ilOR:\QKa0 'Wi׼ܡЀ" NnD|nc76~ỲʴQ<ЁiX\ȋ;_7UGܨ6>2[z]"'jyF)nDq&/b=Fs/Hs"\!." q,J%<=άLȚK"ݒZڜڨ9H̗֠7DzH7JMa*A|gr]+bTfd^KbWw Lf艠(-ړ~)Ỵavz˻֒)NQv,[}TDx{vxN-zB7b2"zX6WAaYgذJcAf<;rT^[u~f2pV_&j${2=, jH,w$jN'9T;K8!- 9LɅnʍyR6wZd.+UUV(!aHP^1l%]Y+ձ <x@D`]b})co"s y+}:$X%@ a:,B+RaUe:ᘻ|AW=_-$ʽjB>i _2eZ_VT[> 3IzCx[ɋ6,]'?s%zsī?6H>r}INL$&3]"Xf͙ VĨxpnvv$@G0LTC`bx !߽Zco;DK&t g/E2f5``R6>V ![1,W Eh< HgV_ Ͽ3:(WMW6ؾ[)sC HJuD%OoM夒UPbK"TܾM0# cFB1"kE9l)QG|v7PhvHDve?WaLS8{VL贉!4ohӼ($#D<'FhU~ʁ) 8ăJRyM,90#+Uh)W_43Wh 6\ّP-rrp>& & # k ‘1edo":ky[\Y&CQ/M+Bh3Ud=z]zo284u~:S3F&\C]Mory-ֿOW_e(tCΛޠB"_id+~N,Z~It ĂTn~?h/6fќ{C9PlwZ]1:U1W|>WJ)zj箋UFD+ц3g[-0%xı|L8(Vnm}atClr0N|ιʹDCys;E%5&gB <;ho/1h u<AR/. L8TSmK^ ':^U/',5ԸIM-1ǎ4r Q'jQe̓U|",+y)/\ۤn(S#wܬ7[޷w[ O,/iiK4 I<;IbSy _k%J5,?}SG7n,4R{uң9HG{H &DZ9#z[~SOMi!S~j L^" 3|.~ZI$JZxbBIU0hi u  SzEZq"&T!tY+B"CZl- Goe M'4W͐ZH>U Y 9`hɮ6X\/Qk#g1^l~&;B %t1CTҫXZ&H"<}K4>ؕ) Ȓ Jr[ &[E!ƤZBdp<9lnꗮK2ÝTJGJc%~N3 wK&h2z?IL.!\1vdZ1aMzZloI#X)+f'w,s0!ȯB}ˏɧȾA zX!ηfU/,?2EtBXRB#\P3?E\%HА 2TnReH}U9%B cUʥXD+4~-ZY!$QKI{eʱYGo+£zn;VuBED(ȴIEicc=UOlCDObb N2)/}^0qz-AzNZdVEч T Per[SW.zɨŗP$kdNm)ʲ7qtєpXLgdnȚa3} ReD&DRCI iCF֒'3+" 0%1Ye4&zEja͐(͖t o`9'YXa3f%iZh83rx\q{&8SZI8tɊ4SZpN#@܎5C?-_"1 ;rHf*x% SV2=S5;*sO35WNFGfUPUYzGfRʭ8O,+)dȔ8L%|O[`f9S}{Wq]oY diaöVIɻ!1Bo:ܠk%# PbHIu cv* P%coh;"uy  G &TdWFcA>σM|áP|DSLXuKtX,"AKGRm:ILY* D`TYt`bb\jM(LSN2@GqzG'j0mc|xU`@; &"$!%lVH^M;}oJEΡ_4JL;5gl&P 6\? ;PB7J bv [#`C5VЉHsu>xe NQс>=*:F21]k&]cEE&ZvWb6B qb|Sly<2_|W@[=8#tEQ֞@9xNdz ](PpskᓷDKJm\<7kwh{z$tHr:7+gnIH@E!q;d+WO3zI@l6`q g2V#{{' ໅D2 }R#Q@h0-^2В1LUY]p^gg(wy s41E gX/1VݚUqo{j|'Ga2 Yp(׌V1pcoiv<mbLctM"&K&e.5E?{ _l잜 XP(BQymxSk՟ /Hr)cK"OWv"}% yR +(AFL<4A@X* l%FwWQ\H%pԇ_ҒPZ ^R&7m?swkЩUfoY$: K V 4)( և4 űʒA@".PTT*m)b{"Q#%#<(ȧ$X Rz"[㦉 "zO[rdeehVO3DhmkESo xY^)o޷Kސ*'̺$c(=xS?)=Bui{Mqz\0.ʗryt#66.P1 mvJ!2SȷepKTF\᱋!G#kۃg Dv;Y} R%#[P-GwgC@DOkȄfѫKwH-S~&bbА`MP|+gƛBT]W]^`eDN/vRZbt lrJ2j4G'-!eZ'S51ߞ%iyHA0.>؊DٲCgOl  N/ܕ*p\8"6@G?ⴓ~'!Yd/a[kcuU4q%tm'ؤ4y$x|k|kyK!lPqe8_ͽB5IVt"UYpF qҟSXKr"AYTJu3% )v#RsX&IcQgT "\pq|eÎ6I xjG0؀a'V"dvIk(!..æ[`QdGHJ1>Dcu%+fId-J1flQ\'RaQ3(=ؕ~=&Y!f;4,,p$A j5E3,`kɉPpGOiTZFTN`6V<բi:g'Ԛ$y~K$ nYx]RP? tXnJT`Q)4ɂu+Ў6p%Hc"BϲFBjN vŘHQᰵwܚ͚Lk o~ ڈJpQzvV5Ɨ0saF+|]/|'l4aݠĞxMG/@<%i[W i"9Ծb5/@&F!]isjCt[]3̀"g*Nb G+$ #TK>BlKl]'$SIiŒ2BH*6DeT(˾ NVaEԴ q%QK^3*YLJ*U Sm="+uih@ Ap?$ {zء7x2&w( Hwq @2NA~˄Rd)8ƈj/RT` [2QW'+7NǤR"Vgⵇ`K9ztMYsA |$*SBʏoZ eeky$g3* TslV2 QdHXK/'Di6V-FNQY u%t J5ɖJDd"18EΒF"cɟR |qJkˡR"%i+.TEBE ʳN2&y#"c̨ek(]vKhį#va֡eCI&Y=aL1S$ m%nϵmF|yB䪒yw~ ]YѮȷVJGOG,Eu ӊݢ*Ab@j1N%rWD4H~("5KU5"XJG~ȫ BD̘a/#-ק^Ykb+1|G:eDAAU9*j`^I&Eq[Jw\eTTN{RCx wxjZ_ZSQk-TMwGZt>ػLvhNIOtQ;B8+EG$/4/Xb@srE{}G런uHu^rvN X%|ϣ;~ 20l=F6ˉaX&er \ENXS-H T)UuNJ&DhSfw"bxN7Zyf2z$T~y$,T<,Ȱd7LPܭRG>jI&bڰX %|J:㺟C g#f#(Z#L$hqFS|.? /O-kﻤJc*):sCgCNl$ Њ+L !xwgךa*cMǢo[r[pw g$K)p>-~, POa MƨXTԚlU;y,dkcYRYc) ġQ$@6`RC@ A> tvc[z\8bQ$▉TGi u ^+*$ aQ%AJ^MP( P v^]t6θi'HHuƨ SwV(t3*K#TuR Q~RM)p` 5R!q5|&Ur:TAQhl4HT t,/bι VdE*̂m37& ԅ?mYv">@:p?~bd $ | Da^?*D J ,!X/?\آT%.g22H%%'(!#QѱvYn5hN h,_? ĭ΄*/Lqk5̔,`.))ƍ7j&( Dnǻ_ќs:a ix﹡GݾPZ{j̦"ge ^_,jdhZ[W"c: :bCJ)bJgEe]hRTh-&^]KdG, f%w ?QHD 2)@A  taqq#"-G͚}QyXN @ 3 T 6=g{MRHbE!^%'|Rv|. `2dH΁7IPOw& Ј4oS9OLNƫߦNxxȱ1$AqTL1Qr/L^V͚]aM .`['m Nvd v.6c~&R45i"7 d^A|CTw{ʚu=:#i>lS*.2]FT[J,fʄMe]TIvMfG4-QNmf@wB?ٔr1" R ;Lxnv8T =tWRMON1^њ Ym J393dHF"ڡr:3egne%2?HXkDtfz|JhO*E;npWd6EC{|+$l;Ѯ8i|~"۟ݴz|;\":vB(H!SJhc+N͗<lt!t6R12 m&j+}e ؄Bt't'y) βsA ɈŘVa:g w.t\[$Wֶbv6H3[쩺{?m*!(W`_ެܖKT^c)]{=;YvPԱz$=N>笛گYt*Tz?{ZU}2a?z#/Q&AwLB ΕjİsOj,#qsVoq\vߺ`g%u_Rrn`z7'vzLFM7ڥZT;_Aa%*JCXf>v?R`d(K ">Q)H6MP*5G,DF)vpkÜrc"IZk uZ%@_Q|O>TrժCz%QԻ .{MDJ.cЊ7Efp ^4( au=HWq Ha "̋+&^~TcR)׋3>gcXL4u5] Γ_+O8 RKIa @}y"yU5f怆ov42%+^(>ߚ >y.R:Y'YKh&Vځusg1L'ӛ\֙Jt"M`5~oi-l'-p2날J$SiÜ'Db3E _9*CJٳ \9n\kCV1pi 2)Dzq wog@ų J6m^_TN8RtED4oH2:ZMd+40`GAa@ύ#~q*d%q2ۂ}W™aA} NnXC z.t$9 Ńl}Q Ǯaʶq>֝F]&'[E1y%@eqf]$X3Y*DtqPXA'UM%܌.@Mu./;%hь 4SԜBN{6DŰnZ z&3$418L8ZIrY~y tɉ8P4 "$*K]3R vjUA$ ?а8^v4 ?zF6?Us{0`=C4fvƉ>8({LF9xAb4eVJۋ$7'#sr-pho!隗%YPL> !vzQ)"[(J:%Zͨ1mӂI\xt 44Q:eATP&ףXR_s55ռX5e=Tu =JGe}I:jv^FHpK:.LAij&S&s|7m1B`  D "989SXZAz-'Aj3ODiwA"wPaw\1McHN6kޏoz=r#7V?ArS1hyRDٟVqҠXʌ+RųXb[\R) ?$Cw O[D 2Ƃ񦟺gz.( &D,$AgT;⺣Q`ǃU Ȏ .^9^8׼=N`e q'HS[t&`.H" jWQ⼸$*p 'Ά%YӜ+ oXFB/D:K(ƀrQZ/n(mDv$k44T@e~-U}ip 4/ +oX51J&*|ׯEG$=OE|ʒQ& USVZR’U/Ei=bkK.C\ Ri}>QkmϙF qW *~wgZBDk|SF5tl+Q㷔EbO, )t6XŽYi蠹-Mzd:KyCË"<,N 8&bbxZM2ZAM5 $ &AAd&lGG 4᳝,L(H,M#,4F 4BZƒ¢BS4 :PŴLؒr%JN40}9 !GDLW*78$A.@D&}L*P1lw.n>$=c$B(ZFPFS S`d86'%H^Z3k[*# H7aI*5%(8&ewt*w*[0r)7CWrˋf/gJ$Q_Ũ"8%8*gn73?4CW y֤1G$w̬xg{~lޡCC\->y!XB(Fe^)L־h7u&ﹻ?,(8Hl]oAeʽZu&v~I,KI({|JόvQm!l+A," ļJ7oNMRjWmfeD~2.p$lbZM ʨI?Z4nDΫw@ RgE){"D@jO,w&lFM>U85[뫦j}Җ=_w/o[y\ZfL[ڞk,fJ-eJ'ǎYɱt{;"emPDƧ.wfտ'so$8RXr­J|lS_PˎֈVN4w/T9zO[!EicEKL=*&6[q %I^a,K9%ʄ&Gz+EJ|,Sd,\Rjx1ҍS}"UC>$r44D:0 +K!y܉Q)` !}1hǙqqzjijOއUYU>YUHVE hZ޸(XFǡd`SHam榽32uڈ$Y;;HK hM[J LXxSx v9HnAa sF삆Q-2 _aiR")#II%j#jS4d/:8Lck; m) Kl3Șhحj^%U9 dD jrXobjuHdv &)0kn (܄P)3 J+[ 'NQ06ىah5 {2dw3+!1z!ygaq>9oVFD )+Bv#l"C(5 GP a ^aﮔVM"*44za+'FvDao;v)8g=Ry+ƖlKi ~&@gYnc!v܎I\m5+j%fg-/DKOrYF#>hSd-/u̻5Л_ǡ1]HbE]frC+7bN3ܐnO+(cn8A ^|\k Pkߍ: uȠ\O^d>z@V>(=Gy'jdȒqʨq$3\y /HK7%Nh‰GM [1 DJ`U3$ 5F`8+~+.u+C%s1.=_v2ʴ))lԁN#_!X6$ dSTD%;`2FZjAC8d!WUdAMo룚9 nZ9c"˲8S Jx:JITovؕ-qPCX>C_nSQE(x?M6'uQx44VxS+7am! WcLpR vyps?R~٘Ed:0 )륋]Q5VcK @.ܵ@;RGkv8'doD|-܁ .h"JpA2ЍG(D+J qsZuje҉HƓDWt*zXרJ7!)UynɈřDu @z2׼'p#|U}jّF [0SJ=*J[%xw)Wٴle5m Sjչ 'z o^09\4FRYztԭ7`A0LrK% 0l"ʅLLܱ^Q1 fL^hFzc Vnb9.99̒dzĄd31lM(x9TﺹjFlF<؂?Nyp,GӠz$EEXyslohdJ3W2:Ytz)l'$(8pbړL*ϼʭNHYD\Vj2ϦD ؂ MokYsݗr!KWNU -W>Gci l(C:)E#eSn_hGi"ÿ4X{X3ۚ<1))iZoS#P0kȠ/oB*F8ȡHC a?,c:<;@hw_B`wRGgr/Ģ_9\웁E5R 4I(kvRd+ 2kMivWsK%r 8q,y-Sk( J,(b,m ^!h2QrTJL#h1<,a3FnuTDzd;{#Y 6X@PWbAlv:z{L'9X(jE*Y%;YPC"dw _jmϱOI;tLSA EԔxkˆU/Vۣ` "-&k7&j:g֕yIK85ZErRCR_7:[N <$NSO_/!>/oz'wOUVܗi27VaHU miO>l4JTI%2´h/ 0D}R#M. R1WVW׊9]ie37!D]`B^Vұ_tە͍uz撢=1=J!*~%< rӱ2U:eZǃ.D,y0 >Pi WLCfHFt&v?6 Y1yKQ/|PCi$Zm9A2El3% H)C^K,k!Z7B2M[@ Y[DCk:5)/tD R_; @-F jW55"C|;F P1,EcfwՂ2R*.)d;14Iu(NdgtJAN|3(B[։AO) 8=CTP5Z֬{foEQٙ*l+PH @PsNYXZ#eb&VF.c V¨־i&m"UC_Nڤ2xOt3 k~ tx\Cs\w/l" VIdhܯ9 Flb´R鼒< PΏ8]ˡQb"i(N!12ADSp/D< $'x4 c*<#,4Tlж[@Ψ>6aD0|]#"eSR<|@[08 ]6_h87еp*ٔAhUo tbϻ|ZWXC0ז5Bd{ vf,X͖#zpjl^ȉu~ʼnDBbFch &)zÞݱn$!hԨ&PNkB5'PóUb%֚\gINN$k&J#AtV] .Ѭڹ5<>;#Qc6 Kz_bmu-$eo"]{vXOղJIram L>ȩ!qBb~Cqh\j-J=+h2IUo"XElO!iHL'A*`l["H|bel{\dtOݮfC"-; ODYld (ńtXuMwD'i}cٞ_y{ݚ] Ei f^Q_2q_xp'H^6&\ИSN1q;|[owKȴʫC"\vIi%x i_V%\a{P' /aPr}02[Z_quayi3k|fH֗T& H_Ai BA*$X@Ff>ATZ1'"_s[/3KA'Be"2,¥2och/>蚳OOX-Yf%U+0O X|JXd"@Œj"~r@ҥ+2?3VW+XBf7f#hFa/@8kDgN=Cd'ylt_킲IUeTm4Lu,fkxt_5%1+;v"<~V{!64%D1e@ص_JU ~~WB@7,xn)<4FtNgtϛ- rgW3d+Ȣ7k2ԓdX5rťR%M%}Uf|0MN/ 2[yvtpM0IɡE*[,:調@I7U )U*HÒB巴է Fm^*4O #,hQdj'.2H ŐYLU~R1NB&ZarX$l6F$0hKN|䠌АI+$B24jD:#x,˨ԇ4&Bٛ8P"svo ֚*tbQ D8'1I(9ǜHao6QI'&Y_Zzu˓٩ 4Z4&妗x χo=pJpݒ=~䝧6Λ0Dhp[{c p&U5C=ľ^bȮz  dEJ^QV)o Ƕ:"N-2'ŸDlQ8)\,/vahWȌQ lԫl@"scT Slg`PٸtD,NB-&FBJ3fޜ bf9ٙ7J>؉QVK -)b7QMy׈wbrߤnqlD\ʻ~cl꫟g/R?L_}w!,+ YYxX eVQ*X[/"pKs%Y[%b|@R9H8 Jɟ6[pTŁP(:8 'E QS(AD<~8kH!V@/vBQN,ViC`=/槰5~՘YobI&`# P iz!y{5b-qj;ݑ&)d}>uօck!&*Q)JJ*gAHrcn9GGsjя޽2ITMj2K:۸Ϋ3X5-4),?妹27%݌D*0q/LCy)1ʭPYTPɱMrPwHd*KAO)lj(_갱4{qU6nH@41`Ob1JD LH'3ဳ,Z Q'A;[)=JSlF>'ZKa+#!N$&jU;.,)RR?;F!Trj,o?ZYKVIfpS"+2i-vNS\I>q:TsBrnjidžʵ[)#4%MV`n"s}&"VR vEWbH I[5H%^ip& %Fu<7Wbwek~8@g; d/?F3\CZYo)`. !AK$:Nn ҐWE~cXM=x$lQѳjEr$#TvFfL#y#J1CF""YA\U5n)3lZK<9R}g2ԊJV;Jo1{ZTA$k\d$J1@}'o8$1A" o % { ޥDm.4{4>\BU*@.DeŦlZ]w hMR#?#XB/X?,X-h7PF(m?0FB. sg{A Ȗ:AuRgWhI")V3I0 pfFgy{xB`4DPT҃|r%|;V5r?T$8l }3ȯ9 d 懤JIaޙtH K)#z6Q9ɨŚBI> ̆aH0B a*Tןqd!DU#＀Oʋ ߼GG[}agln/5/%zm3ђJ4 Cp~0,d6 +!,h}}fZ3#ѓS5J@0,E #ժ6|Dtd8P$*m1S>駌*,BeIe&Axⷈ|rԩDɽ]^#`%PeuT45)XE^$3mH"q682׶ooή<ܶ/Z]"l-0`M$ q'|ꮬ*!e$Wr׋oFޭ/[CGirAA5x^&+ħҳٷ!fzK;E[\3E],j+9=ݒqM A & wZչzvd;dʏ.y.ʤ qvY[miwn4 Ees|8khÛ$SDQ#L,-fNuFE(Jny*U2uW, 5ONouRteFZA>oirթ.>9rrF87n"}Tޓt+rǛ9Я̮e | 7| $s4*[ Sd1Q6{ f]Gvر#Tt1P| d xcӨj=bs}= p٨I'A9!扥7~YKԛTmmҴ5|^DK4'/\#) Zܾy_pܔ=DTQ #1V93Ud H*:R룻ZfHc[C X҇,"d6}\=wĉdBNЁ%$ѩywϊ84$PxbnjBt ^ 9PhA-&qͫJ;anO=Fk \|!Vt]S˧i`Brɒq#ԝCAG1js,笭3zD]k_NLf=`B.5,k35JeJ"zCD5py$ _?[N1ʚd=]^ƺĎ@"Z2EH[rteu+=W֤ˊZ򐥔۞TGZg7 ,X<CRK8*:5ǜxq{iJ&فǤBdD[&#3Fǯ{HʫNcNG4qĹ>FP(w$ sDeFNhA611 4ƐKGf:P,@Q6䔤 CuÆAEy( wETD JSC^>cimS5iIV`@O 4e"O~S'6Iw(B"pN4lJS ,D~!wiSi5xpB73=N4reBs8!lGBUzR[B' ˔eSD6.lQ3 M+֕9l DyWqF%D JBK&Jc!,q ❱˫'r-\ZOVHhQd (U:,䑨 KV5HI""l R@X)䪓^'&fDj i'<q&#Ed F j 4$APO3#[F6n#d*V{Rg AC#28k$`%+he%idb# N}JڮANR@E xݪ҇J̢J%xҍ"*m˚cl(̆(8ii6}hŸ1&h 2>zvF2MX&٭ji0ҵ&&7.fWm^׹!mF&&HSAa y<ǐS`AT 32oT`# .hSpQc X&r \`&--Sd4Tۑi3?v#%IE}n| * ?9vƜ$uӑ;!b#-_xcB7HKު==4EPWhI¢.to% u -?Hy>_%b|ܓk9߼'Ds]ɶfPH7gS#0tA. *R(P:ډ![?2|I34|a;FmrދgP|Im;$T閆 «a pVEXZJ&}}G>D8FL&&[+'LD{zAar m qϊ8QK(0И8L  :KGd.džf6OZYE6djFph27:'$a0SWqA!j@Mm۵EVDs+BnͲW!Bkʢ..i?erۉŦ}UDQ_"ӽ^i&\_̚Qg\1W^ h*IFqiR[ t" I^hq-Wk,^Vp]2d!2Nb9$nĚh:$O_JTVurN^Ly^4"rHtnd;Xgh0W&$D$w9 ѧUj7x"¡BdJ$v K T&!%Їm&V^`q~?C&vڤJ.M2ϫo.oEf>(/?X_&Hh:+>k)#CiD3]N$[ȋ:R08.>1FX@υ$Wз~nv,AyB)OmE8= *όuCVh+M<ܮ+U۱/"m(a)jTH9eVcۥ\&jAYkHK5rjWFW<0e+@H{VI2*ԉĵ5uR$;˃X*SS9#23mU'ֲ|Wj_2HWyoا5Q#AYdBFS=Upc2%cf5T ;PخPI.JNb)nT"C/2E^!X3k.֏AN}^5W$1|K1DчJq@(fOboNQCWd \ ">Z,tM,y4Gc!Ē>T">M_G"E`}ds ݣ&+ؚLH- aĿ̈е30)ժjD SEL刼BLCqs`!ɨśRFGIA<353140F؁uLUr'(M ފb| @]T3a?;Kt^I9KK!{NGv$S< [#FՓ4$ڮY7cDT,s>; 2]B#N|H_gTInhI]0 `E}Cƈ`\$&r[.d58m-Os*l)y MZ7!.H"|tI6d-JHxCW{_pΜhɬI4 -L"vV$ҁhޙyN熉5J:[/,tdeJ ށbn 0;UNhxfKSmmK)YކOI#j/d)WzKBpޢӠRXY "iwh]AGVʴ-fML! -7֡(GdPrVO^!oa>\J GvH+f8D"aj̲30$nN.Ԫ_.S.0Rwb\IOv KJqlYŊ[9`xax&r3TPeEM <=\Dl|F,|D֏.$Sw|2`pU)P%Z7NŽ;"_1dX L4dJMtO{q v.ڽC`TYYj/?Ur"hEa$3JCKiI2dKΙᬳa! g[,ǎז$%?w MUFP)ЩrK]]*IߋYi_0-F ]ly14=Fxүx@e*+ QǪȞoo[vNһ(\~# T2lvnE6umމn&YgS(D $+2vEhLl'C_pͦGmp&uoj|\ mLkmQ)vp2ԏ^PGeld{5"A?C2ֈzf:% \qT[#8ֻJ|?H{wEA8$+r}8  Jlƥ_q›{U`Ȳs oa*ЖӅ{|Za4$ dyQn>G db`|!nm?HkQA, r&KZi-БBD&P㌶TbEGhHN26pW?Jli 9UcQ W"GG$P Wb@@"C]Lo :e * W קא0ׇ6HEڸ" ɩjbU!4Cۖi Kfv[jP @'D_Mb$D1 2`Pͳ%ܔԡ"QH! HHYtt£$;1[|J 88 lS\5j.+ExJiBM0hWv%fea2 xMzL9,Hܫ#OhF,$ hEĄ`H\_F$*_H)¨T< 0p\a"XJ\5_g^PF^+p|aReMkl| rL6 ؔ›S?|\qn~oQ G7L4*C KkP*Vs8舥6Q]\+n6>UȦf1N׆D:3خ>:``e-*[CHf1Y,i&ShpIS-s(p.Y!/FUy1 l"L$(kPR}ψ2RjlSkUtGu%7;C/ Ǘ)M%O@7ڒ\o0?T3+/vHj:I 9iU\[o6sW˒wzC.Zb9W֜K_^F%qDDG~! tgwLA}j=3A20&4Bq"sŦ^ uH8(F'ql~ϣJE6ZeV.ҭWAUDF;.爚"2Qi7ʵH >4Y 98ȧĤAى{cb,Y1iL4>Idb%R+0Z66|kϖC\شym,. W(!iA3ϐߣ/0sߪJIjN8*dGRye\Vxuc@w(yغ$3;څVŤ22?.hR=뇚k>MFT'03>Iݣ'@v.&8,69y[R1ieV'~eI^ h+RRm=Y,XO݅*UFŝJXD$>(.ǚЪmrD2x@OJSbJ9C嘻Y m6=a$ax0E,%BfĔ,L8(a0 ` 4 i -%qGƓLH [P,مfN*bJ 5nW\#Sa[*•]kHܮ4߷[:ޫ#BQAʎcgfr!XBE8 ։ϑJ oj/ZC9,ZyBZ SZ[L`*:W'fDAʈD MٕNe wɔ:s<'$T ȓAVqܺ/MU'/ ^Ư[cԫ^C:5dm[OB[׻1oJ&Edž-Vᐔ(^'?\(FzCJ`"!)(g' ؿkBUK1gKgjm?Ve>H]EkQvލVy6;I?&-53Y:8є"R ,JJH~f+RNh :$1lK:'zJKC@EXW})t|AoQo&LO'APS-Τ1#MiY0dd"63< ن7P$Ddbw"/m]-Yx'A&|?P/L:VE4+OpChr/L#Y:JlYrEӠK\˂0Z!WDQl%С9;}Y!+9`6~[YUN|RW(u;>`f* L]Uj`ϲYkFJbʴG[!%T "6CFMG"Q6h&OjQaú 4b*abhz\ۤlb 6X pTz~,ʼhkg9r 踂d ێ#蒦lMS-BB0⤦"nرVl[.V[  .#;pԉ+,QjԈw,AiX< Yl Vbt|0Va'SzĦnP.C;|𱾄zu/wWq$̓#n/Y W:D,$'(p0BvMlE4ݫɫP07QU R)Yt8[51aDdQo@OE?:6[ X4(RKHf`ɄV>[g#߮ $( 1x\L5b |(TI1[y.2 M`,ta0a p C@|PA&u-1Uĝ mo:DUݐKأd7eLi ->PyCluPR;\+Q#ܴVݚ`L;s,}҂~2Amnbeu í3٬#Xfθj2QTO[ʈ &u1Ԑ~¬)g"o qFqx= 6$%Dʚg_< T BpSDf-R()"whw3/92e<"vuEn,Wb3.¸X\iyDGU^MV֬K.:|ES,v%_è8EnW-"=M5蹦GX}xlcH%DZOQa1BCcɖ4}'Y~(G.mt# 3틦/a(c?s7?c^ip\۬iuVKjխ_yz7~(aNVEdM&R:M^"vYx'UP/4z?zVx]# .L6rп+:TVSL mH^$ KJF睭BR~Bb1$|ΨKkT JT:窢6lwYEBbB%@x.`H$4x(!֤psl sir/Jc#P "$+fږWO@fڌl*hTL]|~SS""((CL&JZVUFI_BM  HBI+Qg!\MMQLC^f=cfM2`6ӧ)Jעi'h&RbHȺ,z, V8DgcxMܤ#"b 1$pZFˬk5*x!7ݣ?ԙ1SRof<, #k U ,U`%qեR1)1"> xBmw58t7JU@E?7UDCM֪)8ed4a}JԱ(:\P?~xf Zਡcg2nb,Nf폙Y1j2hHw$~b?"oӼm– cDju uLj vM=ddQ=p3l:˾q(+*Ih'E׵{"RM^(~|S `jkDH+Cc48.1\vבgm_lղ ۏufH뭘*_UIN]Yy/\;- j`V@#c eD> %:}`!#H.dz5qVLt>|Y4r4څIVHQ~"hdIjJJkN \HyfS@}7XцG o70xN.*W`U-4bs`$,t%wP"<֯VS>y+N'j`ʫj|Y"kWP>ኛDW LXp]x 8\UE6*եLLx fpaqH >HѮv,@_Q怃lQB&0dx<0 uJ- %m v/RԢhEVi?*3EGPX8Vɋ(;!DP4[l 'KECcoH _z$la`dB 1qa6CIK8]i$T  JEHJ:4ZꬺOW+<-Ȣ;8]FW8.c\Js1 TeTMQ+Q$з%j_o#KCl`l6,xu%xN-մK+|zg55E/Rd/&Dr)   (dR= ;O9B[?cZ ^1lr,&(`sM["{Kayg0@Qda5 QJ^ayDe[:(Op GEUfAE4Ly$-M`řE?elY\26"\풯OP~)bI,lU2x'V"lL0IrHܔWVhTvjǴoVveoS:וQv vӰ$A!9< f]hXL Ĝ5w5O)K:"-Sgq?EdW! +UFfC]옶toBT33FQe p& BL[d[UPIa\IE̢9(;8 +$7m,OV;pt< M6dhL`LhҷF)tU(BnrukH ȗsmC=X\ų)O,lDYv;eq3n!+Q[mhBhdxB xAxCTj'a/E˪+nt0Hӗ8JM$4}m#2VV$fMwU2.'h+U{UL!2(*Y"ʳEqy,*|RVwljlGVn=]AtF"4 \ʲV}ɾVCejtBd7,gdjQq**uG"Z/s`8f: ~p1ar`g*Px:GMRk!e?.2#îߖ .vrgxڥ|ˏ ~EځҏDWDV53^:FBT,fIQAn<Ί CMrI,vj_R 3E|0aȍ&c iagD9IΨIJtq,XhKZ(1 !,HZBV$[TYX& x#96(X&.ل{QCΊhnV(q5|q19I:-K$džM"ZqT{ ȿ氿y#&dG[O ]bа$2 X^+B-_"`Y=|g$.o}3+c7쑊:z)XdLH+S$76u"47V6o2DI)CsX/Z?*p*‡z(U6Ӣa=Nhཋr!KeKA&v*F 2DްzH\čK h" >n@زG hCcȑ qpyNDŽ4d * M$ș O@bq 5Yk.I A® |*ao]*6r)RY߅D_U54}A'k ,J.A d|ˢ$U?#<@)C 1QTAZ#Ph[NYjmqCv2-E~-@MBo9qf*tq4R' ГU$nv:"_"˕+h I!Θy,Q A6æ1bMw:x y q*(\;7;:QJ칶^tA\hXBQ@4XİTSc\!D [YSqu-Hpiu# ֳHNp Ma.{\_{u*+ `< a81uz0yTw w~ C5CL->o"IzdzfsTѬOK`RrѴH(q۞`ᮾb[d) ' 7Tܣ-o(NHƑ]-9SƗ~DEn2}#D2xIxS}XR?iÁUu!E:n2"pB0Y6'$mHK ROi- "M+SrZa2pI3 Bmt*|Jz3;°ӏbMt.#7~kws_a#&Q-YdFY]t\1ANK>ЂP+^Qs'`*4Jd.j/h .lfpky'ňƫر"/<bA J勗.TiѶMN,@ ]:'QRnl@$+'8Yڮ 17ك6-h[hByU$zUU/aM\G'w)BN-]mTܗ6ڡ$#wB e z0B|(`7&7@ ,!c^ !+AM=[ne"Z68F R$ rJ^+n.,M|Ġ4LZsvpg0* j6ecK>HŐPGR<՘5Pi7 Ey,TB[`*9am Α)o1v63&)1IZ{tպh 2@s+s k%VЇb,ll\!x\o ėlUZ|ک{se5_,E YY}[mj\!K X`A*FzN#~]i$ /8F4]0O0LJ}n3nTx$ŭKS32t+X{IĦ˖IᲨڄ6i̖%ˉE06zr+]}ۛ;ަ(j=GVk65: OgBB'Ǿ+|}*WihhC.Y%E d<>ąG_'^!mZ' `58'Z YeCnhI{¨>DC<{[ՑѓA+ *KfqA =+n(B`0Q-ғ6D |dTEٮZk Q ɨŝR _X6>%` H¥$b#DϜo{R hDR%oZ/ء*t*DȢm|f1-BC'xPB%aI&ȐXS␲T"4B%E8 PgP?A|bscI@PSkvõliQf#" ( PpBG3-e eB٣ՙF{MD\y <$TKP$RzHAEe"E1%6<Τ)].Y"l-E>*UQ]WIoo|cr(fd;\,yU31 ]G+(VrkMM “*RZ:&i:G1X6g\ePt;JLS%?TBazj {rUu(Bы6ؑ5!jW:0P5r~`B,H'mB (/ ) uL.bcL4Ȟ.NB_>JJ.\6`ki̧WDVU *ۅٽy5"9e6 *_V6nj-CQ~N)5">Z^*" eoTTw^Va>'y{ DCMy8Q#+~䒯ZҚ;cW1g?_ssCYBl | y1W ;k idFl+cgjJ$> .P!*EF5{2g֌{ &`!BLL;"~TtY%~ejh͎UD|&dJb@%c|ʌI#-uļ\roa!'^h%mfJ{)C Z.EN=AWf*IqSnسkBQM <+ꀊ E4ee7y>1&bsoUB <2Sͱ~ugQsJ ݧ&.D BPb" nctZ@b;M+'zx.}BT "8 4[5rCMқWItQ^'TJWK2߫4׼eŔ+蕌g͝$"ei*gk3S0BjcqnX}rRT)N(^wu8̑3FzF(CnUYWd,ϟ$깕:Tԧ )ޤ,/FrDž}D=6[= Oju+3Ψwo]"qM)Vl ."D_YS A(B)ٰR=K%XHI;Nʔh"lD+et@؂TJ!*Y%քůgiDytիS*HXD2x7{n׍pŅO [%ʨs,1's! Ǩ„vR'R2Bn?ikxaҗCad: ؑCq8YdPuһXM4q^H9:EVBhB),iеJ  2$}oD4XD`t avdxߦil[q%u v7~4n$z^ dqQ p!|<&v!cz\ohބȴWHjHLzdx2ʄ*2|"? Z涖hG\\k{)[e1]׵e:뉤˟#,.hcy]5SOPs؅ky'9.Z%"AYE j.0H}&p\fM v^#"x & H!:$Ń>aB(o%Nu۝PFߵ( ۗF?ֿA|_6n$@yr!r{N웛^==SFk aEA),EM""R;YP6+29U!֙/^t0Bml#रia ӽEU!2&TwB] I#„qٶJA9Rb֜ӗ!zȝ4'6P4iYJc `!c}N+yN/EF!; elTB涤J tTTE0&qZBoչMTݨv R'DI_O{)8]"PN-xhS:.-~`J RLXGV41ry э(Kl`8(a)@#+Ĵ\$AJ츅Eh c })j*ria+/UEN֢e@=3P2.i|iWtu΀tЊBKFPէt5V&( mSVf.5+lRM ֋I{hI0"VUQ%.mQ&f)A.;mLk&˜H+".*W6;r4+WEa;[uS@@h$rPJ_^ Q,X7R6E('2eJķ2pNO͛_S><.`y1S2dp7*ߖO̡(?$T_ͪ:&Y%h6jz|vҜZk`Y >P'eج4 HGZDem6ImVЊf{e0t`h57)D b#POrVta=2lbIbZUd_EW|wiy<9i-F>qf=$˖APgI^3{.L/r <Q:ךI&+"Oפ[>#.mRS%n@%p#yj6;.0R?UNRc 0+eS*x'! Mg-(?m\N^i ؈7XÃ"7L(jexV{p_ qsrtY{ Reg54CFHI$M,WQZpd(fݒl~"M=_͹ietuS)%J?AʨM1Y& Phad0dnҊɟF J* zJ ,\AK#jP0PTY 0+F͘E-?E=KQ(A}Qz/$ ^}1!ʧt &u/Y]iRg!SQʾ=JQ_@.1 tF^ !.#܋6Z:vR.f9Nƥ!rÙҭ ia;}xS*?cуbUZ+{Gtk|-s[Qbz&cA*8`(S2!m܈XGFxy :Z n2r* 3l"-#JL`) H;z? > VIl`(Y@DqpBr%:aA"F RG\4">ջakEl֔>Ph0HQ]nGtT6d;$0!] =ձS]%DŦڦPV@[%S< {`4aPnE8WnV7.oI;_Iq&A$6 . b4sԽ//IT_P:'} += E킰ud5UMkS",NJtyᑖ2$yWoDJ -V:[} 'kI$8h"o 1EpBQ<*1OM*˩`w0P`?crD3X}ubѾuG"顡eG\'&m*(*&QMp0P +j R!YKc4D|P&EYxGP* /?dJViLK[{8$:Lͳ|7-[ 3Ǚ6 !dE e(rdJ@^RAɫnp0,V/fIN#EfԿsEM+Ԍ>\GVva}13|>}V6>mdu%??ʋPUp)ZsMeJ?p3tN`ExnELkhH >QL\,t.R膅?0QwyF"O 1s `F"߫hl EI< g6AE'XR%}RXTPEò"( B%,eg\4pD"5Z톶 QPX&N<}`Qc|Xꠦ8*-Z&SՂp-NV}%3O1L13MW\Z8;̸LiDԱX!r$0PS㔸HH+aFÖ .e8sAU{H r\Qߧn*tqh.U[;/&XfO,@|"RU2q,E.HtsoÍ 'Ŋ0,]Nݥ*Y6a]l ֘\L&Z$E٦.?>,s@&!i;4,U"3Үa9 ̏$&EiH̊6w[dxS($B#@HAjR $8Ӥ*|L~F#:VV qJ̑ DKm+qi }%аD.J*^#`9|)Yƽk,<:>͉n5P&MjEIn!be=.S21HC2 7,CZaar(etEX=SfzX76\IȢ޼pQ2orl+#$`A3.l7~'(~U\D| ّ \i4]u .*A!D>#'l_UtؗnG"Q٠^& 7pRM0Dwh* xWh-j$$ n잼L8T5on[ /Nl_bS?;8Nj^ *ZJxz$Ch$Id|Z4GEajD*P"+ +ג:)SVƍ<~fV%@8B^iOLH*¹qysh>Yb=r4hh\Ply'b;@fvU RQm#'Sh$p?3hmDm2gB n@`m{&O}-\37k :z5ik2?\Zaңv\Y}6Dp(,*PS-ǒ,mk}CFâxB$02mb*젇˟8\J>\#؉peWh Y^(D"btQ|E!:'DLRC: ҭzg vHԬH"+ HmD ᮈECeZEJ2jE]leF I2Qrhe"*#tNEU!1\[Wc#).z& &K!!1#`DW8ݿTI9ͽF%YAIjrPvYXؙ}-.X$).DQ7g{:sW-r=,'A/CMY,(>"bw[.[Hejɉ".~8eu·BRWXȃ|1YN]?VUoQ8^H;`lu\ ;adnlG*dDN >M<.deT4R[H&&H3NRPBmLFBF:(阰Xil+2Dvsy2P^ 2\=bOvi2qᒠB-4bdTZD PqЂ8)ja 0ɓ'YT2be$?ШY?,- Ju$iF\*DF:j(uF Cc }P|vŏIPD{z`KɨŞB// fOY?T3{t! Qﵲ'wIɡ+d7/vIoCJY ­ sS/; cL \+qB*,ijh;3]gctVl\1]D*MInv:o"AR<7[HsR!l$ʮ))m<䪓ó֪Eث5kKZ7B竉B' " %ݫoۧ9 9Kuh}\.H! AX+#yx˝C&FX:]dJ۬(X+ġB] 42J'Ź_δb~:fA.{NFjm3^(RZۻV7*ҒCTۧH~GU ;&(В2) lGҍx+8=Lϟ - 5R[Q:|(?u!0m J*xwսzNP8bʛd3:EXhgX̑!eFQ{ƌ,RPe.4&xkvZ3nt_64zZhhu[MUJ+0:Y15ZT`s.ɑr76"Rv'PH,.ϙxH=d$שׂ|>])BD,̘6/2$jF{q!EihL샙@"9Դ;1{K>aBŦ8n~K'0aRj4|ޅ =tRn&:ɍ4oYBEV4ʼnďR:"l$<BOO2+cfb:m!~^7DS(m{_&LժK[xQ4SUS*VU(tA$(2[ HĢ%SXM7z]>]=8J&0J $BgߨRΰ  dcZȲrF!=(D<D_ ‡ y ,q@qE&墆5bca+*S+rBRY.2Pމ~$@dl 8iWEF&D8{6c(AERd/6 7bq+w1bqԊK!tpu Q*=^* mTiWc/1&P*FbPu0U$T_r, @DʔdIIVHBpF%s'6DW.= 6vex7ÕIS@Kˆ꣘!sq`S+ Zh6בJa 8((\;hJC(N)#y䮱/uq*8r,QNF _b}* Ut!5BIbXd[5n韺ŮjC9"F9To ^;\ Kle6XY~CR^H⨦oJqg'Z4Uqaz@ Y6Qv{Q ,zxdsBtp(ŜwLP83f¼YCXMi]x@#H@V/ ]5͍"BV5/Bu $O!}ϽE9SO:Yi. \,0$MMf =dIЯ$: Y E$#uQAxdP&+1 9&}K В98G!XE<#5bp)%T%w^ p$L0`xĄ+'eFF'K0VY5y֔oE7GyL{8HH ( w3`GR8::/U: #KL]NJSۉ!mOsyzT /D"km~AwM M3? }{$^ sp#u8Y!P*- YxH!8Soآ 9(# 2] Vn 2ĤpJEhx/ywj1R4Z8,RYmYBD7/j2;3T2z9s+y!F[ʅR$זCiIqQAWYN D˝՜;r5Az*]Rn1tIIڢM2#ǹ~*JBw2#zRYt"P?EF?ϓ _ )Ҧz{9:(ؠc!ZU䟓 6W]Ƞ*XMSrR9$Hb1.!vP:sG1Tf>.wy ȩg[9NDy]mldUSEABy1Dh@=ޒ|Z gJ'8,$![zO"HØ3E;Z?>5ɇC…NY%KvnynX&5 b 9oGOKamS_G^,[H顃'Z7U7lrlQ*Sϋxp\.4$\{]0c+T-k}{_<$H$TtalcnX*,F @R @r=>"ڂԥ4\V7$mf^B3;r4`g|d.8sN+oUoKk-`l/K*k4d(ln4S+,2u +4tlc}o!$Z%Ik&UK>{,QBrsg*O2ɖt*Kr*˚aFk˭/fh!/h(TFt$Z2/I }-AK8<ã P*`NwFQ4^<Ðh1E Qp^@wM-$Qa Th(>"ќM6'_"%=+cߛme/a> +LQ?HT4UG[ϕϸYAAӈДdFRs4:Aւ<#&X]mc?fL3+ޑPj?Vd1ۿ׬6sh4nO.@@c9TE{ʾBKN*yV)9Tߖ<ޛ?+/hê/ӑ%^mVH1:`1u MhCD…ñJA!vQ-҂‡(q*GC(%H,riJ%ĬAh^ZJkJ\iir%*Qr5J$14*`e83\BA!%Z!bB 9g.S,ɟ8­_klGe_)?d ҾKIܠ0B6S)H+¢2O%ԧT\'TB^y3^fM4M]IrgґgF֗xJ4Vdx|q2uV*ňI+Ni6"=9$ct3U: ljeuX8jmg+m0q RDV(2AQLTEMGu;=| W"o'Q:r+("jM# JcT$>S]L)J(7- 2%zk/iTƕEhCJs9_M밢MjsEF)R%Xsq"Y-088IJ'۴8$ Ʋ d xZ(V?IzVk*BjO3Ym =oF㼈HDTIh %'}0 pHF0mXBсZ9ɚn(~ gRB\J7r̴QHlqs' ZnYF =BOJaJ-VU8H8NFk{qvߜ/wuH9Mզ\Hşq}K1|)#ę쳭@mՊĢG_LrQbE7W)NLfD;0/f3$(AmB`H$:+lKfY̥5޳3G0I#'5 ff'd''dղ2PO.ڽ3GVd}Ӌ5q~А(ukE<۬7XizSJ}NW f|ee4,VQL;uMm1sq؅[b45WXm2NI(G{V(T4޼a)M$R+";\IRF.?#@U7"y/b[c@lhQ@D$U$;͓.P[!54)e*q/6f@" Rrwbͳ:IXN &Xk(nR6HM 0Ӱg fգ|JFct@&6[ FU:6AIoj #n\Rrֆˌ0GsɊ+^☻\,wOдɦN9n(< 6^^Ƭi||C V3d<ܣ@l&oH<`^:W)r{ۇh$6wzcSO-]!BaWKO5;.AcQ;^էȑ\ '@I-\ KgɈşJܴl-~O7`*L3uF/8GxJ#o=K}bU)ͻZ@@R+Lȝl0  D2-%Ij(еOtvdҴ ! tKP@L%1{:Sc`9%:{&y @VÜb-@7 ʁ PV:@чLC 3XVBAݣ ŰNǀ@i߂4'0Y`H`[ 6fhZ.(D>eqNj5Y"9uE-`iI"6hqh[5rF"X93rF EC$Aꪦ8~ф{m+c֧1];D\~ȸH@Pi3io(e;=ish̬2$FZ݅X]V/4]< Ք 7"E@c )E  qjC 2t,Tb1Y20.F0egqou2(#wtAW!x hCuIa%.3&o*Br@Ee%*f.*U;}u{3:zl*T';l&e*9 n sE3AUֿ$*2 Z|Ⱥ MsE9'Lz;R\Ӝ Jt 1HrD ꩠu! pFĉ K7/fإϒ9j:fbǦߍvpQnkQ,}Z1dH*|S`U rI2(0UJqpo& NZ6(% 㥘RmĐE9<YD5sF:2pؔzЩsXV=l </p?!9A$, -*_weSV~9f{6PI-_j>[ڢ.>.T 8 P '*w01*ީ/ 쪐["0AEĜ*f~Oc0/K$\XxCRz#uhsZ#Db\nrIs@M]GdVzOe%Z3'v{B`elUU_@eZ]Q74,>:!hL3}DD^+_sF$aO  t=ws(sO:a6~3<1p Sj@Q^f;i3d2«7\OU3i(R;~l*jl\.%oȫ'JlźV Y·"^e @y\5w ~Жr7wF $k9`^ˡOش:Zn'"r{ :ߜ$Ayz 8q}20f`zȄ)Vk@v9[k,Tk n t˛2oA N$""WЖ[WI-H[όEd Atֵ -b%w5}` 0Ld넱a,/O!v q?дdX `$ct!2Gd:ƑX]c)20gR*)^p,eVWDIF3$zuG@im8W$1#Q%xd9<jyG=Dtܫh9Kb܃1LvT#Vu]^Sz4b4O<(XvY@yGA'lS=Ե2;?:_otqSYLoט}B5 w8P؁_Y #Hx5oS"#\J{!iP1eU^qkX Ƞ4uHkm? Lw'F&rd}AmۂX{flNRu( dTLU[m -) 2˕S =?Lb< "x\: ,eĕCA4oJ՗^fԨ5-y-iqe q*!ke;Zl9e<5jr_%iT033A@Pa\F8>ZdZY1_-Ԉ;&3TRI+u9}8ߠP 5ͱz'A8 &+(= :D@pFq% b₏[S30Hh lgBB1J3$$-@EچBrB(*ZŨ7b,ЬBA$P W 0-0 ­v"c&OZ zh(oIot\RPo'V0U :+9(9{/|4AJu#6zDЕBkJyn.ooO0hQ?|33Da28ʐ+hŗTRrc>lm{ӄ0#Zע( 9#%ЛFHLV {Yy&rK>T$TlnĨ/l+>؄^aˁ: ]- Tq? 7LX+lMfΩ rJv KrMc}+htc-BU\s[j𴅀47dxl/;v r6{{{p6w5ɻwnFYv+͝%I~X[3:Kq쇶=z?͒1WQ׺;]" izSAc_K*y%Ք+K[kl&\J> J3ީ}A7:ZԝS.2gCPTJHh@4 CQ@* 1N(9 e1hxH?'--zXKELܚ|rb"5ؒVSUhGDt(uKeA)N\t{xb9]Qݼsfha_}y/9s%>;<)IEDvАiK5[;VZcA˝|gn|H"^UQ%]]5Otxk\3'O@fO۱c-7'ao?OQgBѴǗ*Zr쪪, n=Ib?p;O"'PםS .iJ ?}F:p2|fp8! hJ.@|}dy"Jc\ o5W+Dno}nzeLRCd, $hSh Dcl7v2ܔؙ[ؐT^|mIhhefA,M$VLǷ2Qf)rxɵM{Eq"bѰʺAEDtBgkjqecebr2Qsʷpst--!EHtYM;YG䊾#L8AI]iUL9n&+56-Il_%enjRgԛSe>鷪yղ) $4F-gytήUNw-o7{;Os'?箝Khݞ\:^ڍ@p{vU ksn8hbճU__?&]jrDϯV2=RMFI3 -KS扖wSD~/GC00;E$.#LCsA,ABDMm`k>t5>#g C\e%_'GxlXbCiLS Q`3&PbMAMJxLFp|oUag"dʮ5Hmy4f.t+(wJ'p]1lS'C$ &Xzk% Cพ :KN"1d&aar$u gu"{ P&29P2UR_llw =\UIO7%\i;Y9EF8 Id,wz 0\?:oix_.R&w;{OoBQ!UNU_dqE5akbK>C(B~cllszEKm U$?R8/9 Ծ"5R[ YPIU/zw3lB01zIK)?HD "XIy'yd /6qpsP%G0╢ ePC媝 uaM5c!Bg<74&*2ħ4ӭ~BD `jB_"idg%.-uΪ"W-n{|QՃB^=mh.n%63g#| Úu‹ADc J |@7vσ\1h!;kUdwQP)B,3[_3_cB<8?R3b"a:  o\4ahVF#y喙1Kߎ-™p0Az:%2Kx NQJQBS'j2C(^BZ X&mi"Qvp 1x7Kdށ"20,@ؘK[SKG.s7!D= w\{Je W&v?O|k ybUSO2ь[O!"-,{v d3},'D OV0^ b+4`eUMPb~V?+qd&-9H͙k|>9U%'S@tZR3W1b&TǢRu-1䭥ED !gO k{俆R/ 4Y<@x6[HI?Irڶ>oܮhTO0}M#!sb7)+q9ƦWƅ扛օfx[ (bFK'<}jYF<'"RW%M) { !XB!BDPfT+ ?B+]=˒ yÞa;Ml탖My?2 )(Tskhf^xQjfBrRcW{6csM ~kTݏG, k5Tq=/5;=x n*yBo*$ڪl<нiEqĒOr&ۮ$\+R[GUԶNPfbPȚ+Ld=Uf9Flg3Y"Dy_^~Z7Hy6: G&nlD*T*[$֧iU#g"4 ,L>h3%!'h]J04PnqY7՛İ{aq99/&( q ԱF:(b̯MMPkꂙ􅀄.O+=01?ߏskjfn,OΊ돤z'YrXZ{|rQ"7Rye,Zk/Q7Dqҙ7a&>D4^Ғ""ReqUEo\R7WqoNclWLleEFŧ[3ibwas.)4I8RUD/ H,*f2HRhTC]yS 2Y"HɃ !MElyDLzNdFvIBKB&@gctITDH4̊Fƿ?(Di0ϳ 1^&W2D:( PBMݛ5A^OY%H.H,T$ 4%vޡ蛢EY*1r\RGR^VDN/KhuFʉ#HJYS3viY&2'nTV}ڟ ҜȆ"`ܴnp=<Á@--B!xV "C1y+*mcXePgK,f7d}($3Ь:m'<܎#bdnݤ125 LH<ȥ3m* 9殄EJ*Pa󱽙\rlU\pxP ٙ+*|OY=ef)ݨܤ~J/N ÷-Շ,~5MM)bSf%/pƘi cuR*gɫ;<ܢɨŠoD ; ݌ h$ :&`ZeTU>j~MwtT{as:}]2j,G-~ -.vTX9A+J}0&k>ȍ;:Mh h1rjf"_bD\Oq^x%WUIe@Oi x(6%b[W+!0J?KS/WߓG-S^_Z;PH5j(9PG^^01čBH5#yȎu,Dddhe!#C ˔āX ml$IyC?T a0*$ $ PT~|]VP!rxTy7&1c(m}dq܉dVH")Bx;FYH +2O[|A6S_1XqWmE$3f luU.bW" lO=*(fEh &|9ĉ]3AmXF/d+ʊɟϮ긋&IuxKZo7F}ÞJaSn^QsǯGnic"NiWސSQgm$`nuU\A; 0!O[A LWDŽBcLStћ{ҜGƂ$k7'ك )[:ԩ$M? 2֨ռTD@U3/̙rTI-ηIEOFFQEzhX @EuHXX+}% 7lՑ)CWI dzUc.I Ua]2\^.Vh]sq8Vméj%VuɱxyNB0F׼  Wl%T,B§1MJ}q"&cci8Eӟeh#TQ'iP Wj(U,4l^(TIMipiui*ZCE%f8EVt1l:Q%f(JK{5ɴ*-aD851GF pnJeU&B}&E+&HM{()Jen'飤I bsiν~m?SIX#c%7art*hehQS~>^EHuF)K}i&ߛWgL;}8\ *;iWIA>!c',4B<߶DfĤ\,LF($lByYh@ǖ6/̉kti=$-^L"KtiVHCN I:dJ":F'`3Y>k珣ԓZG$!CI`#ɊX7%ڵ9D`s9t!kmH(Uzkil"@fH֮@PlDaܖ FD\H%F=\ V>@83Nk2{B kY&`^EaZ% }4xj_KE3VuEthvbZ]TJ"j9Dž.%mܫ#]u.9Tizo=`:frNZDY0*RM.sEFW-1Q`ӷ.yʡGl+ʨeU&{ՋqO`VIfebmӊ4#w4g,é0:gϽpf2Z?,*Vu'u$0n;NsT$y +b4C<(tdԤ?"bվgk\^OM2r7l(lmc>c !Z+_SHė lqcƞM&TD-UA̘⎍{ qF ]=j!4*&CZ?Q+ NJ(}ij)z{}IĒVfIHJX0[r֙\إ!سmNMRQJ*R~fr+f8~Jb0*Xݴ& b۶.7tWi7jў-@ WKwJqAwͤfNm;=!%D R3?i[fL~y)X#֯QfSO9t5-dA"RQY3?Dt6>%z#W 8>;O/쬳#ĕ[pH"eMECHѐaNb=6K)xPOj]$ /RHaU{>%2 >QURNŎ^ @},'Da&-}e-8Sn-JZ7Db&mr1Qo3z>;G {@^N{ %iR'5OK] ,bdP4Z(le"AVך^sYHOVf{|"n{ ^%/J#Ո7yx8rx%DIBOFn0m)Ƅ˶>β'u-l{76z[I|az(ie{"a2VԟAҤB+@d;>'"}(qQ1]ͤ@%RDiTZM`jOLyb9LW}"S uuE I(=Mt`٪"R(SOD(#LAU,u@%S8JӊpmѠv̒G2>6*e`Bb@BcԍAOOS=*oSSj]o~ O^`"M47Zf$݅ Z~dP!{YYSi+ꃐl౵JLP 31pL PYNv8m= ~& &$WH݇ !VĥC̚aS`M=+:`6O4`\\M"},IGau p$g1H9RL)V 1pEdA]bBd$9?<,-H~=ߝ][*|YLN'v*g#3\Vi/I(t"3zo d0dՋBRe cֱcZ=h9j|CoMT[::-ޑl I $^*r<" gVn9yb).*Rt&<5K E AZR 0$~f9 Z$0`ʆ ,Az/Ɖ3!S{Af h'@[Ya>QgE@Xd| 2xL>\lD|L @BL&*"x$A :T|"dmg0J&H:@@XQ˺؈f|d"F D(ϩ+FdУĨ9+则=ax{Nƌ/(E%.*euCrX3GF;gUa)SXUQ'e ~E2Y8B!4F\S3@Hʥ6Co5^l<"~d5%mզCGPH(ŋ{"AdEI]k3!(Ic!)* Ē)Ĵ`}Y42+/(?IV ]22~ ɪH#}5Əʪ9x' "+UNLRPg1?; %U^T4_}F%HTl`R"'69$曍׏dvӮ_D';eLW"Y Wޫ ~чԊFlxڂtѲR&^T]?l,C$2%YEniyH%mjM4uI< й˾xOm DG/0Y\6./M0SX+6bpM#/ޓ +MxEM#^ؾuɭ+*l!4~S,@e^ ,D>OPgi@ieF4oaѦYhiƚ1UwInwJdҜ!t>*ELʈ#Ip7&ZӺrEAMB `5GlHpV%J XAaq_ {0-.!7yvnW 5N-H&u.w(EWInMa$=nɨšhTV*yN@,1366lTBe j%=R(' =*HP"5DtV0hgT1D7xGu٤'Z Dg.vܬ{lxRwT_xM؝+&WjUY|z_L$Gi؀hdl x_NҎȇD LH 71bf_2?6i%^EWBf?m}ΌΣmB.Ȉo* $)S 0&C3ڳqlBiB댋wY>$dk4,DRE#Q xaM ;3qe_.5:d!@=l([ n+I - 4 $Ŵ:Z35CűDLJ~GH RBcB,Xbb,=FY΂I꫺hET4邚. z]wG2xf>y&JF2xб 1|Gl/[ KfCT~\˭Y&{0G';-'wFȁԹtXr T֫1mY9+F .>-g2FO9XW wHL8Srz GGh(3 KL"PТt=6u"$IKۜJǕ [1;Jd{]Ń/:ywa},ƔqRaC)<\ITnng#9+R`28ip]MUyw$g6E hĂV< -6x: ZI'UW7fY|ȧj[,Y%PK{yJ{Gsvʒqᥩ(,+u]8^t 4GnxbJmL=Ivh4(vk|кERlLKR ;XՓbKUZ"$WNS [ŤY#&_OwUFCK=IfFfM4ޅrARPawo^Tհ2ȏ I>hzvEl[t_4+ʼE-%OJa7aT' OdK9)N28D zԢLlи߲+~t=愂!ypJ.>nupljmͧR7L4:/bf8s i@KxlR'Eg¦:y[Լ[;!w5 ʏwO9fnQKJߒkYH7d*|NWM_τKWRKb%5bZ ÙЋ(B6L<-MGX9q%Cɍ |DW):lʺQ.!:lE7 :Uv1F2ЁEL X+&OA:^"iƎ}b.%+i1ߦ"jKY D,'o*/7&ˆ(5;YOr̴D`ˀ.Nݿ`qBwםIɨKOw2Jvjɾ"%w|ڣNSEcb2:wߕU+UgF`o{u9VbM6&sdIlKX]~Dv*Ы/BPt|NQsRh声,rxЬȴݑd~RWZw f#dH߿#\\JķBF3h!Y (Q ѭWvHxjOsAI-DR;K?%(?aON6 Ebcq3 5ȧV,Z*khCHgHUCTmnd$<ѹqaਲ਼52K_qa hcm"tBh6M9L[,Ź\ۅ+D91Y%bLj);XjVf^P}+N.k, gzO tr75cٙh#T+Q_`pM"'⊂vJ;X3I% [/'_c!NttoF%i%[MZBܻT~$eKnܼZ#:xDQ77;Iw~$] lPBОHpj88։&S|H|/|ŌrH.XdH=W$M.hKЭz`QFpr49k`5DT ۸M!ņfWJ >-Ty8:f_I=e˭-e%H5-JɇV 7&X Zǚ-գM?e+OL hJ~C'6-["*XU37`2H:)( 3"sh@{*.V"?dI|`\g1@b>j2~MOY܊IYc<j7Y4gQN3@bi1"Du]/Ļ h9E_,(e3 g"fYHE[{NjEdtV\Dw^.IT!1S"y !++lPVb'*[TJ%լJ, @9[JRs@ޠ3ϼyѳݼ:)ٞ5"A='J! beoTIɲ#KԚcb9r!T(m&jؔ݁A;)r#qڛv%6W-,mdr<?.ǍFhE(~vGib݋{gCMDS[S+*4ӊHUEF:k5xtDEa1pLYXXn80d@`D#-4 x AaZ?BVQ]FPҹGUBϾ7wneL1#J4l]}euiDĥۡgPu2Zkd2 _zϯBUP9/KQɰh_GSWAق+YW,/ Uݜ!,c]U-tYMBoM.̡?%IJ/|55 PFOjM&DU #TI"H"-*h&KGaq}%D);H+4.yA8ئ5[}jxP]01a5Ge[cƓT8 y4a0VĂ05y8Z$dLAPVL^Y'[̐uG }4e`S $A /p݉Y"dѐMF2P eHىKM1o5 xk:)ϖj0Wkʥ"'jwEzoF1*=xҤ!BG{Oߒ?鼴1 饸ַ'SJIX"=gyr2h@_KdR@' Jzưnhep ܄#sYK6;z5%$Y/"V" Jo,IMg4b Y(-gBgO}bZ#Rڣ%ݑԆ9dQgB +NX ΤN /BzFYfvVexro;#TZ#ͳKt+4Ihb17T{^&.C6wKZhݜI:f뿴 ?/BM!eUȚ|C*=RY |Uf5c-̐:\'Ez')"V4&kS7O?y/W"K& $*Z>[ 1E7E*>TŇ7 3d;Jτ%[̘%<@bZ-g) QSD3K)b(HGG-Y?pg2-h^c;*̓ ~£{M#d~. ia)G;B][::BҪ}M 84ȻQqX<6a U?C>0H~I%&A]7YK_ VPĘ؇t X,cؒSX[Z䜫_Ea2 .~*Jccd*b0zV Xx .UKj1YԈMHNGJ8 B4IMua ;kH=Q=c4Xw}0,Rd% I[E?aU{/mA {D qo<;TIl%G4=E K% J ])YmS#E]n51s犪W;]$ "s.b>@?VjIBUZJ#WrH8 DnhK^*(N%HvLvM1KL*#!ro=e=U  '? j`XO5uo2FhN*Dn+,u:!,Y{Cw"1Ԛ1qܸσĘoQ5a[S3-bŁ)l. HA"CcN3q$GQi̅,etyjQڔrd^HkޮYϋ >uhz+0 ")%nFS1KF4&'=?]Qz$|;-`m谰M̦ t8.ءQh,EQ QG˙ABla.ҁt)1F 7$dŗY7JMhh;O̎_Y]>pNy6zB/ՄV-Ey) hVV KD2Aۿ(!6f/JOrW(uڥ5+R1o5Ir~g̍|ˠbgoH2hKV4GD*UpžVYIq $Т 4򢘸IL29kQD{C&*z"'{;쟐rW |piH;b29b| siJC~y9.U!tJIc\J"ܣTZʌ")HY ~4o$FSPǹ_Ԍy$^%e%`OEDTV:d(YeB"I|1C85//+Z{ u/moC&Ś5]tJ_dfSX-%D-/?l|WYeАK7O%2 @\&hpXJ1 T)fIbĶ5_KoN˵W;w"Ve8HxQB:inXzAA BE C-GO? M^l.hb@UePh 6$R8з|KbJŒ\yKx&P*/Q6 ;jP:x0RCB bGp%Hh?,UX6/nHFJαL&(V@R!:N՞W'njPgy? כED mMJuI{RIfߨ5X'kBujh!&`9 PV3J!KLsq.,tF kdSY]1'ܣ%&4|]<д d<5lcydՑ &DȂ8/Rpd1yd\+c̞3@':@z_R! L|߇KHσdVnu^=&VTBmp3R@TYbԟz1`Isǚ~pڛ=82Sh4Q'_hO:@ъn5AK&9 "9NgeAqЗ_]L⫄?ɡuO␺փ$h<$e8DQB)]g.j= },fvk 4Q?}!ն%%FUeo5 kG(|V{{yHɔ*K#hjyekcaSI8Dʄ&^PTE3#]ڵk\H>g$t4bY r32dzG@M;8G/-s_#?iO&ebS&j(+K96m.Zmi'U@LFLuuu3VrW޿x#Ȃo%񽛤%k>7gl"5j)WtG:&ZZԱqQGJm xIez N} B-x2U9Aqxbȿ&5gJ0/ہâ}K_ޚ_C :NTo]WyrZ"[C8w{ioi8ɵ4k G:g^¹j͉Gjʧ5-K :#=$ejRXLF#?*9>[YmhđJ 9mAWqc%8ISl fu6g5ٴޅ_ƶj%IĤ,LW6 4eq7Owt뙆'G J-%oebSFHa5JcOAR"ޥHd| GoeƷM)O.zFc-8CHj+/nQF@t 2˓:3tL98E#?̈́&$eʯ){4S3C8|B^;[we.]BɶF*Gw*ms_HK;=&fhtvGD5AY jc'{蓢F&^g^3] ίkDWȏԽ׃)j{$kQn ǚ:L̋lښ֭Ss3/Es۲[MzT"+pZmd9 4)R ?.;<1r?Yಿh'BTI}hJ)bLA*?X+,/&&fsHK]yκʵ$RsU"OvIUJ!.X+< P2Nq*|-=Lu_'tiw9KVq5. 6ZH4LjԾ6nJ@Ta!K#$edU5S)B# DnI Mt*k˲ӈY в.Q4VB8 ܓG:!.)T6OdsS4!䗩뻑ͣ642KDFUXQjlʕKμTEOrT!]流Z#1H@S2,oϞw7Zj1нj[\ ;j_'L7vޚE.(}(`/?Yt|mCnY9us.R lIl`\QsXL܂D *kRkuW{m%EZҨ _067q3&+mQTPžl-ȧD5[T+# !ނ"Tv! IIvTLjOASW{VTjVP#E|~rL\oܦ kdcgcIvG BYB5P_nxX^iff';l`)^Zԭ5QoBhVvĩ2>-L>; r<ɨţf 7m~V.c}PmuU1jԃ%Ν،#y4QpYi(+4D LANdC"|e@tɧg[fC@Bu!74 F|$G桬Yhq6*˰XhxePOs!ͷ/;dQ5kVsngxX| .X*y=wOC+O&q|궦ВJx/m񧡑C}'C ۡ='c!c) K{8!["Xv}xc}ue5pO{_eQz$xhqa2IwՕ-Rrgi GEhd?椯ӓwnەnqBD%0ﮡwKX_oIgFԣ XAB^oZ5$IE)uE|#u$Qqō KsnN 0IN-TmAu/ ]a$%/Vjj$&RP T=Ksx>,/v ܲKFVX<"LjDZ2p@F_[- " $]R f=Ma暈@,D2W3 ^M@PZWb7%#d[’Nk(%($D E#|pڛ!Gj , G#Pߦ6a!Ͽ@ B{Ț}&wB1QCÐnXLtT6?I~tRXY N͋NRY2X%}D!%@He~7PD)r%`! ɏ]^su:A b6pVc]<ܗ2%jc (ET\ԁi8,u5U*ɉJ`\2F.Rlc\Uz=Lpto,:H,7gi$I+@ QfZx^zn$8̗bljm֊I W<_lÄӦv&TF2^Y/A<9uK0pT *NO_i1?lci 4P#:Q '}M ]?rB?t U!fفQ(SLDZHJ.v )1`ҴYCfMԕE TGwKdxTCT҃((Fo(`-'$DTi%MɋP1GJn RMl2aF\,d/$fnu QwMZ;+~ ) u%&V>SoZfdn^%R3D7}:2c}6-)Xwn8&;XH̃62vmFkƌq%e1[*ΥWCJrM!7aNQv`\H@M9q$iG!7D||9m"1l,dHeC(2՗=~â?({ FD)^Eaڱ ?,VȣUsJ@aoK\Zd_O$rkU_e03VB H~8o$pqJb)sIT\IܫE>?(tp,Dz,RPђ jIv]a~6cnB;ld("RG)!e22*#T1eӫB>o5D2Bq=Q"c`Wrj #dqVe^IcDX[u,YnQ}b2fh~bbt{NN}$v)'0'DpiJ]S@w}UשYyΝY΅%Aƒ#PP[[v[#8!Th+#qJnV |8T%MἇzÁ{,A{Rsgm$0w2Ջ3u/rizn# J4BF*3G)jʄp, [nMR ~Ipe;‹d%'.d!_5>bN!`T zLJ"^խDN}&isY3~A0[3"BD8#m'b26ϳ"K + !{_UlUB!]Ghtq!\^+j\*•IJ6xH1m[[c yڪ]_KbZ>Je̐*BwPဆ~!#7\{o:m&R$]RR0XF ( '7Ol3)\6q--ꀮVXUDđC{ 0x"?+(2.dX2t7y/q: &׸Q"u{Aqu5J(3XY߭g=g Xz?zC.~dcԖP ׃K5j&Tt!#4jweXҮfRk Q%ĸT-d"( HJɫ)Y9"!K!ALuK}x;xgP,j?Zt'ϟ}g.8X`XCQ'In1*N ,KTqN 3Q9}b/ *󉳧KHH2?qQLVXg࠯'J'aj\.OH#%N$д{]]Eęu/JޓdFHhs7W*ux?bhE &fV41W[wmg@P*Yl1fk<20@ J'­ O"5B kBPFgI`OEˣ g6Y"Ii STH .IfqKNI1$ $9?mY>h(Hξt+MW8Q֒|lfP6]Ć ">&)ц`R @b0 ^lis3#P 5@&'Gy{iiSq T: P:زu&q[IK*ŧ3ؠз\E:˽zN9`֍{iKZbQLm{B53~_i|p#6V[)XF=% Ko%S6DLqBKE*[-ݜ3=rE)""zv⫨X(gWF5co IM-% 8&F,Z2"9F0<(  \Y])(iAnHm&]).!!K8,@hEUJ?m5wK>B3PMd6qu^ߤJ@YzY^ז[ Ђ7pxRӇDž-cX^+64;rtUeY,DU!.74^}_D5#b^CX+^IrRelJb%=;aub0$H0Μe0OSm}4ìIfѼ)@JdJ)DYl[" Ca{(ߒJ\cK38B= 㚝$ǣW|YSpVFP~itu+8o_kN%HWT0ʏZmjbJN iTґ2JU;FU[!SjXڔ[IRe)boZH٣O (/b$W /&9]LȰMP5qmg+`OI+*vN'T|s#F~x^肏;M33LH.X"pISUtO9Vq+ 3$TeC ԥ} kӸ) #6ɐ¬׆=wMBnlNeX*`)AH&1) "+y=n;D~4d>OL[XǾWgVw} _nLu9Jg1q hE|X/\Y31k|#ڨQ.Wi1 !JeҥIbBg"G0-Z 0+ U#&ċ_^54Gn'%$ xYMưttpOknhۚ]+M1',^p['e䘅[(Kd-٢dK,}t l5o+}$ _jdQ$`qk;ROJ/ ]8h#RQ!QTs5V*Ⱦ>Z /'[ii/U.b?j](xWIn ũTuDS\H dLOK# لI VTDYQ$\+`1o\BHd4IYq cHg NjMS2#aTEsW>ä2sQ"Z(,$‹VK~>,$Y?e%lIB' V*;mblI'gJIJz``nEI1/֓"r0*9RzyJV)H'+rjNr4]2wMh5oա2-j1^'7Mb\٫"&A^'W^L,2Vy*#bZӜ$uo{:dla+QB_j ̣&u"+HW&ӸZB!tqX mH{)î{iHKLH ĜU_yK^_̰\ԪZpu .C̽IY+v@QHH 0ɖiAMpu%q*QV6H gmqQ85ҙD(\T/t) @Miu-txu7*ɘ?*6c", ' EUACzjKnaze#i~+WO^;1l,V>r}D~r|h'tK(I .-muO/!h9 6M#w%Be "_r b)m# gLjKDա"_E"Z|$kts\|S/oJKhLi o$~ 1e "/(=\ ,~ޢ$M̙k$/˕Ůe *(ɨŤsH-f hV",+{2k U= -6%`&Tg6(E7WK^OY-DRxH$]="#/t&&EE3sdeoȆ!}h? lɗnkdV6NRJi0 mUjO#-`Ff)oSN(h泇!. {XsN;w,LxsU7$\P kQ!tyLJyʛpX5C!Z,]!(q'%Tm]Sk}IK"Rì(swAڬP3*) }( v >`Г@PMuW򛤓h{s(lZQI8g*HPwKg*aFfX! ڸ2_ЕoB?NӢ}e]q dc!b%҉yz;IH!.Th'/)xL%o/ܐ>eRVIKIv Tcby*,< ɯ}qZlXT,a:( ̦%K5U,ImvwL2O0XsVSLl< 2o}np{erN #^DrgQ:GJ^mn<6Ćk䗓Ee(RBbV)Vyzb$U!o7Pb n{4[&cMN\E3 J0΢3ל@e̿(eu \S!:3WO}I~߷Yؔ]:>MfyUlZw(ΕPբ#V3D>@msh:mdEOo WWm6Ծ鞯KK&gZ&LiB}M Be`K}.oEoNIFOZWF$mFه:3M܇4@Ô|NӓLGiA]$SSA?=FмPo{]htBͪrTQBYJa뤡6#h*37'dkSĎ.VT_I+Tt$$#05ea}@Tm}^[.Y70S`@4U(nO*DXܶ(!$0(`)f+< $|TYC5Y]VY "KKM1z_b310&p)NAnr"PHڎ;Z a [(Y },8`Hơ6wUKR̶ (h@*j-a-Cb" InVbD7`sMvqMD+5x4 rwa jP׸RhHj B4BdIJO! ,R ;H697 zQ 3D,i5x!O$AF  |jyOD1( )Q+\%v +Z" Մ=`(<(IA'aYװ$l,D+|!b!EpxI*4]OGXɣ~7gU’tU(-eW 񨍜Bgȥ3Dy#AFa|ӫ{CӴ!>$:J`@'Ki "!.TElB롸N9FJViP*ZRщi!7 [|>'x(dRpCu) (C+_!O>,,gN1,dH3 - `Y-i,Gɠ={>!tZܺx夗rvȤα7%4I}0B2ՍZ5}A3]) Pp!/ .cX#_|YayyE7ꦩƔZ.kA"YݘPcu~"W9ӃSM`_ŬNY)80`)<5eiW8Yd[ 1k)ʄuBȃtaDar7):‡iIF϶!x$-%cYK,r-.ZRL#RqkW-r\CQA%XꠋM9 6# Fe(Ulܕ)g+\C3Z֐>Ԏys4++T6R☂Y\$-rD耢nJj8a aLSS&1Nyi E̘=MTc9'r.~jV-mo,ˑT_{d'>gd ȻaR_.Q Z)Ic!i"ROAJ鎤ֈ6Tp΢ h 6Lq `QB$*([Sbzl CASIIo`Քf -Ǵt֊V4`Qi|% lA.щ0GBow`eː)%յzjFHk ) I\IJWLYZRc#a+J4D)A6-!cDdZ3LDqtIit39M?yC9JK"!b!KañErzjВŲDnfL۩)5 +;Eqb?QsҲw]LZ\D6^#X.)Lg%3\XH;B2t-XQ-')kc NH 1C?OCkC` _ `F Fj0Ebmy0MU\k^B1*3fե(5LH.S$ OQr9H^J\ƻ2uNԞP*VfpBHe3:9ejI7 97ױG͈P{MƷT*-xˑ[*(A9!7{c ez*k[h%](yolaʥIm!;%#k;BIk jNq%u;:k!wMfdV jMjMҲw!Z°f٥I!RuH/=V/66) WN$yfqIV1wJ7W_u8Ù^d$R'R"jokLc|HV5g]KHȎǮ1 ;= E: y&PyO8hʝQyypU0*+Y\tC!Qn~ⰑeTKi5Ũߝ2 (S`; <@ 8,L QN% YVhD䡇 _B,I2ppHe)B8E!5V#L9##P$ma{!b { oఐ,2~|r> Y" jV `u밶9) XXÒ 0%MˑY;Ax4rԡM iN-ʢPQD6(#!c())G/o^\AxY~l s 0ߒzi%@+|2MM56]7!H̶(hZY,cֆxI-lI!AJ4Uq" ͣDTjIHќ (,2 bmrPZGr:"di8  S eSBE낹J^֠ NvyF] #9T-lbbIuдв\&ˈ@`-W9d1|[tpP5Fۇ%`b2 !cVO Uiex6N` )-Nk/s HNP@ݽaaj1I@aA@+-OKRie)X݅MH*QfZV"NJ DY=%3TɴY:KJgƐ9g!8Ja Xsߥ ;( 4s,VaZ^U<)6BVP$*$*L\I5U #<ÓuVB+}0$-&>dPQ;.1ȏ}"$[T$轊(ViqHg/ɨťtDjb[*݇&Dkv/0"LDR#yjQYC}Bm;kcG2uSC9%:Mj bEALJPA3ԊsDTg*^!XWtwAD =t2:Y%Dƨ$5B{>S$JIhWCSD,KYK#VD8$XAM'P#wIBP Sqz4Î*9ڡHƐf"~ #JMTU+щ[nSI$Nǣa IY!Vi4&in$t jXWzM *AܾO Xr\R%SF-s4[C&? *NJ`0KtW,n(@RC՘ G+iI*Hx(WhAH&҄0֌A-(Ed_NtԔ#X"8aN:.#Iu4_wiI+ C}5 Ռ%`)p&3@|b۹nIF&дkl"WWICCr1˔u<9d!CT[)~WA´A9I,imߒ1AӺ߂ 5 [WfISAj"ѕNU=#-EQ֥}$^ Q+[kM)ei!deCVR(g2 SZ9j's;=ţ/2jQxȻcDlM%1R"2̢JZ1{UR{P7)M4@> YIAځq;m(Fq Cj!.ZLYR}ό/v&L>jMy~|]%Ro/5,ik"O)$ZK! #mT%I0- zOT)l%.E8ɏ bbXj9UӠd]ԡWy%1^H96LawR_.1U̸oNd|$JVp1Z# ؖ'52D&UrNg\=|#M2]!8M TCJ4 CFbTFYǩCxզ{iŕ6V~M@6Nj #a!aDR$ t_LSqD N|Yo oഒVfDKCxaê)h I|jG{hHFV#`!J¬.,6&j^z-EBɆpXy o$zE$vi0P(-.,t`RSx3jCAc/8#Z'.#x0sFIբ&y)1{Mœ0%B5(@5H wJhImr3r HRz,BJg5aGXj+!H< bsTTUB Px C\*9`}7\ۑҩ!$*E jJ0,v 7^Aa*\" 0`PzV#dQ0arZ,>&\HqVZ#Yh8Oh@i@(3b1.)yP̕ xU Pтl@,.tA mpF'gA\8w 4{xx(#!P 1xPF88%_Yt(j;F2)-A[L=%CAV~BI\ċbh񃹢 A!C̓ACk(9z,IT2g-BcB*zTaͥ iQhcPo\ LGH!AXΖQJGX#xVӄTxr%6b{*D \b$ {,<]dm&C p,h)ǭ 1%򁋼iisqOBB z@xC+J%u$]Sb u" \.2Β*m|,Nn&3WX5Wg'v)d1kqpuc]@EXh)kn!3xsQ#TK(uJҲ=ɑOZnI7ϴr Y!JyykAI6PHm -hHp9 A!7;TKP?.?0By-BO4[n k4ǒ$]5dT:hH@jt+xeRXPbKr M<ӂ&p1"#O%!dXWPyOkiCnbh-Oq ו,$g!,d1vw8 ID^P'P VP{B癅IYG,Q-cs؋=ۂaE<5I} ka-aKB՜/M74W qvNޓVOi&Wget"*^O GBႃژy Qy:񻘘%-|(x (.BX,u%:/qiQ0\K}@iuh1\@%zH5SNa~ 0IZapTʕ 0aw H#"/DKmdA )&2'uLIqQ_01W dS.] ?cl$B#P 9)=tG,RB/q`5F"@L|XR~ZńPHp ĔŋgHAz>v(]5,bgwOAB;9|-9I=;;-aO-|I9F0\L QH#b8CBzIL};gQ%C 05Gy꠨<-/,UȻ`($Y$MƄC\jchPPӡɨŦ}B+/Eq3Ch-դ!IS#x`m9;؈/A KDv)(iink}WͰXQbǖaX\đAe2[WYդZIlfXy^$7E*B◧֪31T+X(ʤ&Zг_K./$m"YϤڹ'G(Eb^)AI1ilzLd[dkCz?IҼAIÌ(KQ-Q6b^^1z 5m8J2'(CcE1cCO X}(9 D%N6դF vd)zvͯW(j\=N8ZRP6PKowbk[_bHrڲ.J]\&yMYU ;U'z얡e`ʂ $v(ya_)|֭d}kN4Z#*7BSE{MJ)ζ\3KVŦ v}jN{D;5[OmehDd/%2 6Q|s]Ο&OWY]!z6^ݒV4tȖn{0VYz-TÑ.BH+(bHnG +q9z`Hh'B n0$iG'G iRvC@DjdBZkFMs=_DZDcYTU#Mʷm+yS(և{-תiZJvݡ*6v*L Y tv&kgdB%pPڐK(9/,V(ԫiV+V 캦bmL2@巁D h!RK7eAzBKg"=FYWFTW~bl_L Q cFĘKjA+#59 2ȞcHn/.Q҉yJRPJ;(Ο9PO !0p" 1r$'n131MrEm$JUϨ( !F*Ie.=bƊ0Y**b/Ce~!~DÕ|Ҿ#VԐ*\ lćvI[ԼV%+)H^pI [TqƱȃ}*N@QX-*İ]XEQΒ˅\i5R\ggu"3xN @;ZSh|耜B79{ 2: ZUNm.0uQk!bK%Il+ T H1b5L5C.`:e[*h_хia)5xE Z2K+Jie&b H,/9G}bPyFnP o|L FLoR;q8µDWTZlMbhWeg7Hةp @FpXpS4 6I8da:Xtl0> 9!mqW |skP5n(sE, eS(s}!FJT`N*$^]'',s.NYkh5 J&)i㭺LY>rZ j@F%/4V]x^D炸7anRڪ>cZ/$߭-*(NVuMci=RK+`zuքfȯDY>RWzA s1E( pvF(vU,,F]4Er3g[QV*f"FQ#0 e)ߝIb.>*;_:Tb>a qXQ bkzJJ9cbGQv2!R+\NbcܢHSCMRjKާP$TKJki hq@T,Y m008xе)"BI@q,Fөφ’ȪU[Mxky[Kdt p4CݽtuĞ[eahlU)B SX(eaAqE#nWv.iRTK dnEAޫKTAtk8JI{F?ȯSVT&bU ŸKyM,\ڄxb9eZUO@1m dL>7=7jA;iOJV-q ![`^IzB~e_"+YE}Wթ?jRM톙3/Ĕ @Be+2Aqp-Ecagb $WD7BU~C0L_H5QKO [Mci,\W)BD?6Q\4ID@0 4d@iEr`>zýcT+TMSc R0HU pqhI/$ C. H\ I ELSH'hR }A Ɉ@RGhC.udaC +\^ƨdˬZ[I0!Y{A,puAC#(&GC4$8O ҒyKI!E.(:t(RG8YT{B'傞KNazdC<-@v9鰔ʹN%d%Hх=K~06x`[M^F=W Y=V+[TFH `J]5!<ӯRK @!ž 5Su0@a4$q`bQ@W  @jp {Kn^Y<"@f_4 sŅ=ʄZ 9$rnhJ F U,IQ&@,lq (Y 昂bWxDbą˘[1c=F Ln0) %I.yEPN?Z—Ǩ%bXl[70ɱ4P"PS9)NrfJ:&Pbg*}8>WPQ&DQ@UPE8׶z*w j B=NY1*JOo OY+ӝOosHO M &]~ev nt H7(`$J'AD)x)&n4JxY[m3_P*tׯ_hQ"veD$U0z @ARm>g8uяэ:-5J~>߱;ڪ3J8|gB,5jwϡO^KN2i윩xUI?lg GA0u-tq1?i}cC#ywA5ᔣRԲ=+_p3OPġT1Asr)6r4RugJxdb劉 ٌqXQN~}5*}u)BkY$|r* 8L'N_ۧ'mFYS}f"C,(#T0,^лGtE~gǝ]O|BHӥ[ĕƨE0Ǣ3RjZRNz K8L֑KҢȢWLL䰿:Km,ݏZQ )xa +Ǫrm~o)kzV4z~8JY#r^qZy [V_R Oq-z;4jh="E*RVnF:럔y\(,"-}DHɨŧzj FcwHB[Q,Q\Ne O!;UdMS'*vc h<PxiHh-%@(oJjy+GXݱfG﯌! է{AlWCRrX+nȱǸZ ›~aL'G[c=rg>(0EgB%Ro>$X.Rlt( ER-857e!J{q}[{H3BWQſnSB4A j/ 3y4ά3:+ F 7Q.!`i΅OJcVB&\*0q#1-s*LPʃȩHgqTF>UZjuKP$%Ax`@`ZB( (G('\lT P_*mK/)" ɮ'i?!GSQv3[P(rDoAD (m65!JA!r>:'zhHsU۝J{ !CF*:uG_WDIɈ3&KcZh<2҆WRQa޷CRdz!X)V>#v*3Bω!QV&rB %0ce#Rٳnal!s#'B  ۉB+ʉjIR5AR*fN O8H|1 @K0x!A8gՊ s\,t*)A+##|v(FmÐ>toYiK!<D0PX0*G@ѡٶII]9--i)CqMwM^ХjI e=e=OAtq3bQQv^ܓ8Dܣ>=qUZDb;fQN}/vju-)*+G V$ۮ-3荢N1Ց+㈫WwhWӕd1Vk-PEݾ w*z]oKbrBh]o\L >=h(MIHE #"V6Br8vq"p$~B K SJR䍘_me :J/>}F>ZNJ[n5ƨ'ܵ{yGRhU5!5@ rgCIٹaq/13!b  XgHu@ aj k9R{EtkԞ`cT8BjW ÉF(:=" eG#0AĔE/QI!' R A`#/ nn ?0AÜ2am{U@DRu]RG'Etl!H24BJ]%Z<* нtn2D J$0YτhB7Nc+Õ:.RtT8r8o=!’Z0S$ںQpՑu3;S.B3='|yjEݝCY!1r]! ϵcISB7vZYFr )Le^p`^qbQe.g!{*V0-)j&8W h D`b,аCaNTlZGRR! PC0=φ褀PX8x}r04N>SH#=%A%=:RJr3`(*tHj - Ӱ(rnӔU?0!SRCLC` 8nN tb(@v|H*ݻl`bI8!׷8[xq =T2JQ,9-`P,ie \>S ]%8R6c1%J"mN! 9baRjjhgj :YZ2:Cgw=2]zO(W%#KqBe B+/ZDD! 31,cCւ^y61[I`R=V<"س}k0;~!աؓpsJzdaEI$ߣIRCD% VwP:\ Y!M0D4rn EƾyW*ꨤoiTex4a>y9cܦz;ɕ ӎaAAkAaO%{r+9iӃv')T͊xmxZEDxYH8ԸeJg+[ba8EK)dBF4gCT%dȅ=Jy6EXl c=.h<Bxb VҪ1@r 00dɇ)%{JDS<{ >HAb'I P{b Cqa Kv(fĞ68f'KF&3 F@KeVD~vjÏOĩ,8@G%3vq~5Dm=P@QYON4eg 7`=qWIiBS*ť( YYIaR(⡂%~`Fi鵘oaG%w+\A7Us %lDy!.[ a  d&APXhBH!_d!CP7Ĵp*D<5xI"GԤ9 \A B8C D>N}f,ե"EI1A$9:1c[P`r08keSy$P(=85H У! j<I)Np@وNhKO蔎T’LI 4 a,F ^*G.G"7l9wpb%yT-Ha"\8X1x/K1О],FbU) ȡ`Dq!NT7vǞFb q"K^oh~L:8 l%:){BUj8)m0dW8dm5iRe@4SiGtU0#P &MBji`q^1f˜0NjB P,irk@ ;= LI͓O "D>o;KpHB-ȱQi`Z * 0[ ITGp)a$1f)-!b!"PPCZH1Hފvܴg 9>K"}a91)CDJRJ]A0Ib*Ek?H_1e[s, dR*{#.8C'dԝ.Z'p*?MqIrPR{ZX8JEf#UP%EdOIumŠbDE$ì(4`;tR2V",2wQFbdM Zha e0y.)8)oV ,.pRxRGI=[ AWD"AFIF-zL9ėg0`8,:GhAuxBVbH嫘J=Ԋ-O DɨŨWkgV0Rf.OjN{0v%yaDeLqױBK BHLe;3wS5m%(ulv _3tpR͕+Хɚ(wL?Q@Fa@ iS(8|Z %ZSSqLqZ $ri}(JjymaadaBP z6R(DG8{[=ԙ*KTag4QvWӗ=iW9]J QHOF\I"Ee K.6LM"#dTdH^r[LBam# Q.LpS.IK/)TwX5zfknGؤ-@l * >H@ "Y8M"!H*^?kq34Yo/:V=&{Rr4D.#]IXEije /לH|ƫ =FN 6r{g%ꂫDv{=Z3:%;bj?k;rRꟘdR.VBH]*nܓk2{2cK2?!ƕ"0ǖ"nuLŔzʷaye~  Zҿ2Zw )Oմ{3&Ʊ$b蒮LM.@Y۪Chҗ)d*MTU%$l9-"?#3!'0Ŭjj$Rƣ ,jqϑJ6$~qAP/yt1*j#+N\Q3 R#x_# BT@/~ES-:Iw/Qw cmQP'm/$KcXm2t7_4UtF*{SIHP-.8+ADmd*C%{(P['ZP5j5{ )mX=r3IXNos[I(V2 ^1۞蚊 riRl(1y(%]'MGk<˰"ʑg27,wƕ"!~T_eɉzo&p[r42fqt?BQ'_70PZ(صg'I$׈Qe$iZ^. odHj T(l2kԔ/ I76D' Kp 0. >۪NEg-w k6a#`)IhN_ &S8L{ΐQYBVJprBH `J^\HJmn1݄߬,.#21٬Q˟zPi7 {FD"+Yv@pi+$I_c(e{=#NA0X֒:ι/ 2PgX¹%rf xe1[-ֿ:rJ cM  [.&P98X>^H;>6 iAo_.r(&?iSq`vg\[#;4rɲ?=SWJ(:I=T. qrg9>'h´ߏ!qXTҫ +XS=Ly7Lt/Xx\yR`/ZreY,,%N-Ư!BCvbnBg@|:fo#>D"E}nқxLTc(| 173{6ѯZ/D9\nB j7 w&iX&Aܵz$Up| 1GnH1$β|i;@?*Sf\l/뚠zsUDW\08)nۖLj@p8+nث/õK,1&ZV*\]7k:b--ِH5A8q7!$w2dȫ%171׷)VZ'$L!F-P4k '~A%qyv?w:t=U_#nJJ떔F(o/4E o`Dxؾ!֍)x('~"0)|62j$+1+DE%O[W\:X6Sp&"RfIY#1:6$z:H&3qlC竦<9klʊ/SRpfO `B1Y~9fHْvzK޲4ߋmku;+D02W|4?ՠc,+d<nUeFU7o qV1Ĺjum!mj"xHHأśvKAl8v5轊i'i\Cԫ/bhD@ T4ڟßŃFtHkJ$$\# ]p?U&]R7U <&MI"X#: 8A{ fx`GXLM-+aNL7U0 [R27r!h9q!VҸNŌ, [N>C : =3'|PWرu"` G(&h!Q."!`삃kRlZ;䚿G0CbK .Ll…de֏J[#嬌ԁS.xB/F`" LSJLȾI\$d̏ 0D';;U)I]Ϫ0t`-ixQJdaz]J?u> ŹyYE ^@`}N27("Y8.p 鏫y,tXa8ԑCt);V}1+b=bnAc'RC$JJjG|:ɅX^$*M sqђ#d"u[Bla>AFXIdbe,WCKo `*=060epJWeP ֗G-6cy9QlRiSkF kMdHKN`N@dHjz)&ҳ c 28:s:\K\B.v]|cqcV14B4  ? <C/6 صOOX2"Fbf!Z` &< 71]g˯)B(pS彂FVYFH$Ȓhˤ î*&?O@. I-#$ R$::`A01Vƶ69Hu\:UIqr0CvXeMۇZb2yZxЙ&&:C~YP@dBL<|E xE%: >i}i/>XgF?ˣ իӍdYhdH.N%ScTq\)XZJ(O;=#`E@g+M3gA1xD^/gV$`hNQM%1q\(2sEuhd$7WC½ Hj.Cw%'@29:uBΖD!Mo:00 "%6JXC0  A-tѓb"a!VevӣQ!<_<2!rtFsTsBWh#hMjˠB&Ĵl% b,=]V8mkݏІS$!@$dNjYT푑Vy=%}4_DthhLg){1ެ'`EB;RVTX8: :z7DudPdA<:ڙbʦ<ڿPH n=ɡҗ:X<IS@ SLJSƂ@T[.B.]ET" XT$Up87E 6U](e&uG%&= pGy 6^4 I$CKTU_-?'U/zz-`QzoS#m![N,GD'Y8)|;RreFޡ> rXznu]Ԥ|JtOG-Ev l ΡuTK"DB|ڱ(Ai+8+2:Hwm 58"sWJvjp`J} ڙ"*f11޶#ؘ!kAȜ D9% >c&*"KZl`"#>дXt" - j65ӴS#7@RAPǩVc ҵh+*UWטP<_J8N>3XWAb'4iVP2R$D/NֺYn VQQVuk06) R]R"8b+| ~2Au{32M`,$s.:zEu.Fa9*{H?G -~ceNfn:j. hg99h!~R& ^KlArȁ lɭa]5RE`՛dUZ  Ŋ%Ikhq< ~mU> <.ٞo*;ddL%q>p`b'Ʀ6Z&7zcN.,nL()dDU_c>(n]|R~zf]VZ;u5ecuW?tW&׶x8}1ƍn?{49F(Z_QKJ*P-oW |Х~nF]8CNm?_a8H bGKan[ o./xɂAA"rBD ʔAziz"JT8eO F'$ ;/1q!N`~F`IYZL\_Ս]Ɨs*޶M x]"%Ήᠡ6r~Sm3I.xMWV{ (ȮyfVĝ*\Iʻ*~uT)ҦUQҊNn7zȾ'Lء%Yv֣&)էʪ'YKe4XJ'ճ*+9=eUKɈũFA>AB#BO$?J;_4lv :qhʶzӥ/4. oKh$ ;fUT~d 1In(֩ZE[ՔFJΜ9f8, _ /DՙyF(B9D1… rj!|·YѷHeB5&%ó;}Va,>j}1Me͐Ȫ,h 50 \LYu [SB[ԛh>iC5Źi&r$Ƥ MzzVYy?(ºR2ۉL6I }֜*\ (L ** s+Ei-R͇K 1OvO g V.3$%'MV*! gwIԲ12${cC Ԭytn&uWrm,L唤J?K2rB2nL2JF#}Zw3kpaaW:sQ`ˆl S/u9ֶ&XFF(>uPL]J WWtn%Y=a.[ jY0m.20.{VXRd@ ,/VʄEF,W*愎YB MpB|1 f>?ѶRKLncvR͜ln<'#\`BW[ ekG^AgKj΢ v 8ɼ$ɦj"ʤkP.73?)N ~GEQM!ڍ'~Mz/0 ϫzvCBpRllWUbTV)\$c1.?W?U~6!(B$84zT9*1YqeqrVۘvAHt#Xl2%K((C{zimt,sall^-@S g00J/J5) Gf*H{ ?N@DC[[vvJ"Q΂9#ൻrQ<3eJ0YɢrSO.6E"V9J(h,UAl³HW D$4SO*9>|-` U,5 oxC HtL)bO2N+(\+UDD9h\{9޽=8}gn %QpUMU1 yf,xq>"R#'Sc\pօ2SUFF.Xf )fȷ&3U'\PR{ew)ZϛtɐZED!ybgfZ֗J[V"Q3W֐αTK;zj, HC  B(gvU+8q:냾z2rm,c^eJ8})V_\Z)IV#uz$%brxvZTJP E>+Jx`';O .zVǐ}E^>]V*% tEb.PA &&o|L)ԕһGƤH4'Z R|úR LjBn6xIj!Z U3ũ9@YSYO>z4"KJ̠,| |O3JNw) l D?Iy ~Ua^,k,A;(cQS1g* BtQӺj1yOIBH0gn&0F컴B8ǭ,F$PD[8=eGdc֒Yl($DMH:ޥXTm6%+LܔCF:ƁyTWg๙:kAs<:E 4K ̄0ZGhpI]Mw Gb7$7hk zZ0Lw@Cldo*ߒSgif/FiB ב!JtU `DZAx]^}`d^Ŭ GrV4n|no,9!ۧ>+-~|V9;`!R٪[%#NRukBpz'̡2BhF#A@W1~B=+A5u#&+^ ɧ %(*^&@ v0 Sq2 BUГ JKD^D՘b+f3qR]x;>jy=MHڶFhяlDD4*4{5+C@E\ o-VjM6xk+䟰($udP*~AXr 6FF)JlʴDyRNƢ瀫B M8"DWG %JQ0 Z^B.#K7aR'F6K8jTY,rZsw>\D^f--}/p`- R=c-g0F8JˀZa;;V'6"c9@WBlmA1_Cv yR%^nX:PTr l5.32WrXBFgڒefSqʍ@YcDї‚ȉy&8VUi {2APZ.c̗ Z[(F𪡹) dAIJiJ>nn\$oǓ+{a[3hG)UN&o;qrA.D,bo YA4>u&Zz= sꖓ~&N.ɜQXF=,s ׾5IUj6>G܎%g49%b/&1TOӊX؅RRY0'u_}FX:pij^AzO0\>۲+A4>\e;On۫9(F#7/r5)#W"x OғT1 r$ԡQKDSJd Ney'KAѣo H$k2%6'X$LM4DH>P! ٥j:^?3SO мxZ=72|GX?3օLcSOW ʅY5t?-yYěP"Z-@:p4Z 4f.:CqP# hWfdp~m/&)W9qMf +d6?X }"`:0܄* 5 x'FBܳ! g; Au?1|Ť)9>kQD<)삕3d.L~éΦR͝Ri1{eE<JvvO(^Qr]L[!7-xKu!:!v*TWH_Fa-[װ7;bEjvnVWe4RYKftVnX)+/Dx3Kq+QBDRI `i k52~ΧB*Mڈw2}D[HqBa)-#H%Sx^wb2h4pn6E/I] rh5KF34Fy Mلxoc%Y˧=r*yLX9M:Oΐ "Jig.,߮vK6٭0H' ٪6,o*H<)T Qzѫ2s< X,zrN%(Rs&Tlds,TC1ȌÞs4 9dV/22'c9#ն5k=TiB`/&$̲Al>[;F=Nu8KjHV@ 2IĞAxgvAEnUgsqr'a iN `<0'95b JIm?:fL*i~`N s8QYx'aw֚㠖-ytE!cz!`NXvMHeMuV-,7UY*/S*5G#0-)S q!ڀ+I'Bm) $N`ŕ5OҏFtz,ؽ\D# aGU I H:xIr$"Yg XXl_ϋgA`X6/=)8S+SA3"{{2+ܽIe!HKW#i3n~QRy,Ьm̼*Ƒܠz=!1H `x!HHvS8T@jl(8;-> Ww s#W/w;tPӁ] Iiji?^6vlPes>dK4@R39xqcTΣQ4 cԭi$9y61mJ KT=o͍Y5ό*TF #X151* 1zTra葪/!I%D(Ox=)Ϳ\wAMqz@aR@I q'w' DSb0ʖuRdQqxe3 8ɞ(%r!#JvT^k}}_2oYFٴoIOOB긺WcSuRJik!J;W6@!$C#H{=4F,|6uTvL&t|Q DW![0<ǩP 29J6Iώrj$/ޣPêM93j6Un(EBSOx8 mSMmޟ5M$!#̵U5VBq][bI&HL>0ݚ3k9O\g/w| COfd61^dк,vLJ[ KV@*?$0bIO, ƒɄM$2FQ$<3sJȽvVBQ\+4'p5rk<Wk *Ƃ ZA752X'[SD;aN 0+԰[0t?8͋I + 9 5jPS#lxEVg2ƅdFnBf,(e o[5wm,əMf?ƌƟt3Y/n:5{ޫ̌{'eDcpV8dC*tD5Hn@V(ZgD4ʗ"(a&bk*TD왢*/ȑєj/60 +D9-0R:A. p3KE:110:Y9ULO CC_xt U&U%XBP6'!}ƒ[Qhd:c`QzVS W+I^PAAcADTPeAzbRZ+w!a|C5+6_Rhbĝ"DʉO͇*ЕQ'd$-|޶XbkY]#ֺls'Q5]n L%{䨕y9Xs ZMM"?_&'R\ ɬB,xg3#Pj"GZ-g8%JEI+ S)ڮr3b0%SZ!rexB;ut2dx2"- B~B߽Jʋ\U$07 Vt#6"6 N-$Wa|&M?ӪD4*:C) @c&]0Y@]DS톜寁IHjRF_FFUV^HeRtLk^C +L{wy9FDf&#MNoOYq*_!:8B=2M{8sڊGcfmKzr&$Ѹd--FCt^ޢ=x2b)a`F"~0c 2PZ+};eRfIUXCW"$*I)1ƕ6N- gHdXzf4PlDa,̱(!/#ϡuSC>1r2`Fbl8$py+ͭu C5bRꜯ8^A\ 2sV0^ Z+ uʩV?7M L S!FDYS $@'U"bhu$ wnwF5\[Q1H2e0Dl8t bP#<9g CB ndNM!Q }7AIeG͚*[n_!ȳ|X->gNvtUCNVEd n`nT$( +gKt\w;SMkSM—|5Tŷ;tXՐ@aS!>²c.+..]L* s"nb=~R M0pFhɐ 1Žhsjt)a?pDcdI`e|R!5~kfoZ(IY9a8bfr0Wl*uTA\ʞ]|ab5O;^!uR%G֚ DGI,mFP.[V~ "OIjδh0m,"Z]89:WUp i|pt*KyAGOpl~҂Sg2{^jQYro= 豂^L:Q8̹cX M*#>JBUf%^5+NBd̘!% ~ϺUUFqDæ$HA{X5CR&b1\5R|FRo\%g"r՝Knr*dEȒ*4V!@Ycʈ|Lܪ.O젵☡F`B\I6H՛B/ t̶Gkɝ0E9dh@*lH(8 *A#т&ɞI<6п9bݷZ^=ȧԤ,"U*K+`wHQ!TaRNkGLvUo pr˧H\eWs= 52dP/\q@GK6-d77,1bWDPR%53dYJ(:#lhE˒/Eb9x.9 Dr `((H U ,Bɂ <ͼL&AhHa 4" *"ӍJ&è="[X~ |vXZ}^xciSYU]BJS]ohEFg7NvUoUZntmܹ+>l۴m[m+yK& d]%4F꾪 6TpOr pDfzA&x2QZ؏wn"^;U9AG-[}oF-4LH`"@$et\0BXq^n18Rh|UG?ox^^T&bU^xv-񇥑(Y.]_u_^Bh壏2EN.т+,(dTJ ADlR0CƷwVw"MӕM8t8*}"E^`Cf )aJ!@D)6QI%fU4,E-S'qJ5a6o)~b6q웏IiՉ)wUdu=J&]f՘K(.SmS" ő AgV܄Fѝ|Vh|X<x1 va%s3Çcw1~ҷbuHSLٍgB ]n3.Mj`!퉐Co_7u´$^ H)MNLBԋb"AS?Dڮy'af a2H&Z(F-&R!D[>5A+d a="ft&MCqn6,0ꪓ6~y2$2$ .6mfD^KcBV >LAr\ Pqk&QVM1go,2lpԎNJmw,)l'џg_Dq%_n愂3ҕ/L&wBwlbL"],J-%OfM+Dc$<c; >'C0n-$">a6> ILm! tiȼF`)$n^Ă \yJza2)?+ u#ahsR8ЌP%F\@%=F Fr|@nzi;bzL/MR*Pn+h8`|FhM90x>  {NE]W|a0i@UkઢI vAQL3vfߑ,/4.jj'(S+4k2EtI;*]w:[eѻB$eHԎl:Mc9S=ruwj3 k߻.UVsm y:ci li/J)G8SSH(i GBg1+>Qo"\l6s\JW!$q"@˪k}|\@3V& `Jx <~,Za$or3%E[JD+N',d+֟ZvK^TGsRRl^WD< dLkTŤ&VLWN+>Ė޵_ϸ doX `͸=XSfţ1dOe|y|"⼾\y&OD$ = BK"Am_.1a{ԬytG@> 7K!krE,zME'Y~h3i*C ӝE7X;B>*nzKWN`~=7 6!1gDVr䥟}mRrJSK}W(+}FJ2d!tU%v8#<-=lK1\!0uTW|qgQ4X% %q/"IMza TX*JX,p@O)lYX>YVLQA%Ot,RBm2j$)A^)Kй+ķj%hpk T.6$CעZ߆mzZ^jiF:1ikLHt蔑B?rS&W:z'(B+{R0AJ"~bo _1ĵ.j-[-!Z;Bd'd2L'>DDŽuTԓz!ΫJ4_-ƽduiin&JTd"c.rfJ]!1bubE GBcx 7d> 0xe~E pb~-V- ܽFƾ`iQSPg K~ZBO|^qvU[_GzCvIM+p:䜣mɖ?l'ʻTܻR$ߪT$z z2dRUNWzRV|XbWvU|N5*i)fވ!hLoG6ξ~W%*sKhz*=cLC ?;Tx䢧l!˥0ҝ Y*S*a9H:PBZ荥*Bԛ5u/y^a>B#VPo|^3"sa(nzֿ*kNwp`cWAZ|k=6;Cx~=G^NaJjm[-ᖹ4:,RZ>f>:"{!Jj%?JQV,e&jJJpЋkw烅rm}*C˖GYG@\".pHp#R'9Hu^[e*ZkhnKq&lrv|u”#/KCD)f2,;YO`)KrkoGfVTJz! /#tBV_R~~[0O/bͣY*(0Ss;9~܀D+'mi_Ft1ęKb]ݡigj;9؞"iC\&8L㺭}EF;!{R%Ň izWgnUS7*+4Lšwؐ)i^=aƾ:/j}O,LQuT.ol.Ho8#Ks2Ni{UQX>HO)RR ZbzQQTAfЁޥ$$4?N>[CH=!o1B}\._% nS&Mu=V4[͗r3Qj跄uОUع*9#u컽v#Ah'{IY'iȈ앞<7긗Qe2%AիZ*}: mYꉫV D^+^:,?s#Cˆ6Uy9/x0!3ar 2η& S\M1(b?gZ]5UB<bH7TF/(d9Dp0,bt7<۴O}֘tٔٽu`DMŔ]+e֕C(b씹pDL\ɕyyR"tghrE*j9 v'J#Q]|::I$eb8_ p1J7XPx5"2-Z7HNP-T[wwJ+3AͶR1lכo*'2HlB٦vUUL35nA!!9T 0J)ɑ{I &c[,eSX".'FNj5Ch#3+ؔfXϴkB8ԾGgBC1` vsF_$<5&p|X2.gV 1!ajC^DYqg Η&$T˫/Z9w;6d;G4}ɈūT8ImV 0 ] D s3э(XwӔ%ۤ0dO[![4|Q/{gx[3-X7txtzE@Uؘؑ9$AOUpeny) rD- {/@m cQ?%F;~;zeTU7ͫk+sՖJäiM} 3EQTpjz>/e-v!?_BA|^9lTM6Bܛ߫V;T /VHjkRjrvY!,v^3<,?VZD3uD[i%)}ltw\ &Sj*ž]D8ཙ[n<ݘ7"n\Rd8j*̈́)hͪC3DŊMy@D.kmv[$SBL/*:6c ԕb #,TmQAcc"!FTdD $TmI"XD(~2?16%9hיMq^;%d^cXA=-H"\MHyZ\+%[8iW3o92z,]g O% Oੳrx_ҢvͺLJ"lL@~g9蹻pQGh>i& 7lXf"dk{v3_UN&bvA!G1k6$ F쬪CwWS&#6˘'?:K!r9' hND mur>SM3m@l{fs1\+9.04 GA ފqS#2MT.:g⌼4'ћ^8 ,OjɛQy[e"°j@PR|A9oZ)ka6R7P^o 'knh\ƙt4cE 8.C&/ CU&ʖqȟA0I 8΁]^a< $FUm^B8F]5X &ܮ%na"=פHP<qz[X$ p a&=,_=L\DpL'Za^(.xBf'gnFHY^c3CHyC`34Zek(ԼRF M2ak+l3S}q0AB9{m ~)4&ʌh|xp:?9NpR:yƢ$`f[Smt =WIHj$8,ڈ fzD= ^th$dhA/ڡJGX^HMuc2cD9V>;RqI=9z:,4lsʚYQ-M\g^?3]ӎd)eqށ !iۺqs`ajO5/?w@[Xd7aD+ Iz"uKW (p @.CQ^"0&NE$2ib8msb!cVnl1HBN:K꜋Xх^ʧWF\.,Z&R1X%E;aـ⼫Wx褨HaJ ձ!q )fJ-aлu!͌M89WlY@&^,57 M3.20 G|lxzA!IX,!Yccъ ,T )4Xde5ko7A*wHkaꝖ K:' ج{p~l-fI>+B /$uS 4ftvgU.#Kc ݲ&JUo1FAV+dB1UdAGo^!E>{guh.$KW+NrFk4_=.+8 Rn78GBVJ`2 BaIyy`~5 40$yi4Ց\QMcDD 7t횦#bȹXI9p\ l.j[LYIT Lj)oC$+J70Pc땡$m: C߸[T.ƜWۃ(҅6g(c>0pe8BDFk$k#?TUH ^ps-G:D4_pfImRON-AhRoUt+JAHDIѨi \x<ƃGjf4>ekn>Èyz[_l (Umչ6DžA'.z>vTj2އ3CDPLL.D+ ;H"I7?;`V8:KRV޺n~BUpdaV DoQFj5LpG|D23]dgj2}ns  jBoMURK+o- kbyB,'}>elGwĬSHu;[f"_T⠰)$y28${u5.혓qO7bQay %{J>ZԎd˵&ƱdRBdrjYm.R>kb'6tbSwG&e;fa`Op3ʥ>˥_8ߌYFG^;AyL9#s-xlUV%sMvq(W\5 um!qp kYsa3ǃ~/xьEGG3A";!/2cjBy 8,D4쾅(p$ܝ5hיV}댌蔀jpÛ !0J0!eՈF6۹JegWQk+T5&{d_D~|]DNtk^9cKsn6jWkwuw RwBq(aç)]K_9)m^/0ʨ۽b(72NJyV"Tka,UVBV8 e>ShbIXVp̦Y`jm5|v=A&/M% @72Ad_PR~^HtH{(ߕQ^ "ΐdS}~o)hKavW`kQ ٰb# ,VL$DA?YV4[=DWuTˁRf%\*## Vv1Af]>R=)`"4Glu$H& R<BIpfaINW]Ib%Iѱ Z}ݩIQ8‡ #ݲ%Tq(zEI)䑍-UuoŰA!)dZI]?(Mkp!n;mN0ڇx:X 3sNg: : FmcMBoH\ &iafA Z/&YB /$Mڈ6M%>._sX >,+SbCMS66tq\h3RQ&}Dxzɫ4zQ[DOTyYR9led>rNwnZ7*mM\KB͘_vQ3rS%V}ll<~Pk&!E"IͥvH(y?qd #VPcRXΕ*Dq CwV^)G_cr Ni"3Јf @i9JIL^'KQ)w6J#Eoͣ `S3?OOʧ҇N6 ? D*OeJ N Kԇ"<ZDP*tUyC% Xvr9K-{iR>Gœܹ0g斚IˈW/%X*B5Y]0&,ĉU2f w Q^C/YVTҷ Ò)I&午>I<;8uzrn=5CU o'Zvx1s,D3_/"%^!U(XM%QqKY+po;c\e$pQ !'`btTj 32S OqY Ż'6"m ;D, D:lA4 ?E:誒P"G2J`)VW#aRqx3ysh#~nshOeݾټLXkJ 9Ժkbm]Ju?bycf76ad:DwܶF(y{/ YA*>+fc3Η2~  ~G!qF$PxlB<}JbNtrŪ['"ST50LPU_~_ZꙐ To3ѹ6A;+8|} \GϝqBRVh3A2e~v6x3݉GuF& Z-MPg2١eg{3dvf@?FH*-jŨӂ]$<U'f xr(SuRTy7|1쵟*Y?6zm1 ZK\mGј*9 ј9E9.%gO%KFȗUĪ+VRzPruH,2h9OŚ<>ܡSΉw"9KFs9R.EVHIY`FF heB#b[|uظz-~;V! f BFr^,$B*hhݜ.t&*HH~Z@BlzPd:AHU:j ZVg2Ss>]hburbAcSKII: -r?d~kJP۪R3X1GїRfBd+e-ܯʩ٤+]ZH>MKL<5*A[ӳRGנkHLT[99WWBŲ֌ixNdUe%*5LauC:Dx"z;W*sxՉ*.s>*t=Ęxqg.b$Pxt&ѐ_,~a"&:fJ&0V2L;(]d!c2CL !r> &FlKK @K@:iF3-olY T<4>´MK3msŝx-rr<4`fDV$⇅K`\|%AOD9_{5f7,GIT'!K f?f휴nե(ʕ+b-j7)?8C.Z[(w _,hЎ,Oo21&6~%D)P( I"Ҭ.ۄ)N,YC*(2Xxc`,խpZN,d)6  @J"Y4† Ad@ҊB*֞'`YjF&" viC#_!ٺF,M!C5 8YؘDr$B_(x|W4q>qԸQZRFLLA$-<MR%Q $"Du[愋W%j "0t)R_z390W4<֞P|b4%E,bhVI|›u֢R cVR^,%rӆ;)g; e}vrFLMd]֖~Rp)ג|b}XN<0IGUX5๚$ H"'69&R>+0n,Č[;Vi-nlVaL0'" D5& I\|^'O- =R+n3s ,gR# =.IFͪ ^Y|"ߔ@GЋF(h\NIB*eb$(im.:e%ZQ?{rR:<ķI6DQݼ]̜惾6U-)ri 7GlUg-D`f *ª`:g*h' xkW!;fT>n.gS@^8IRx P *Y$mYu˖2!F\p_wgO151DVuՐθd +^'PԩR{e`.22?Ѽw/=(rlGm1yc !h"h iA<,iPBFZZy"eJd.$^-Mɝ.2H^MPš1wHgnO@Fz'̜eAIy ց +rpۃ6?uR'iӘzr9bVgZ j8rɥ0ǤPn-UɎ],<#iԘ#4~1OHA-km*b-t/__XnrcM2D( y+Y4WP-&50<1ZMw dF 3\Xgz("1a*XR KOe?#Ք!6㒶K!x Q1e F~4ueF'B[\1. lP0h'ɈŬFApIovsM@2W"AK8?~Ac-[e ~5([H"wK+Lz !0ջok d:X|Z*6kF/'݈Q+fx!0QOr%1IVd}q߷5xيפܭcnEBp|SѬ(B+>A1>Ү$AW9PZ`-LwVJv TH f }hEA4-Ԟ(Z /{~4!U+A}NUL'EdȄԨulh~`G ڧD~v@Kx!ylRTBxyoj' n$$Dƫxz\7oxf8sT'FZ+-{M @~_X%<85Aq@j Xrʫï'5Vz)N.t:k|O T-RvLhoKm>oQ$UZ=/1}3w@+Y#ƚu 6(M=pu+pVXLԺ=_RҐAtV#fPKr. 쩄H_u Z8X~FhmT,-PjQ*!(U33e@nԱVJZ-BKKIfO8bbz/tFQSpr=,+R%6(K"tZQ6~_Jt: l`PK,#ѫ -a{`;q,Ŝ:*o)WP7W9"|`R-툴C#jTPxPM<t k.DłA` C)uarqk~IB=;7W K: N`v Pa;DF3cC\0SKof|oLSdZs9-Kbg5\jd ]IQzzz:H} TT7&jJj?2k'rx2_C|(PXfT4aeVYF%БxAPNۢ(t/>О~8xQw%FR£lC $c"Rzu%ǰPUInnRy&D+11LL9ȇ6O~B}Q*4I:8%)%-{Fs[9;Tlͳ%Wx(#XUQ0" jvHOaq>rFL VG?+v`E*Г@&\yB:@o"”_>>Vw UFKqQ Hֳ =[.oywYy`bEt9kThvBsFYpN&t* Sس?\T+ O#?kNj"ܶq3uƉ4D Ȓ3Kx.X.D} x[jjhʂCV$|2uǮO6~5xb)E]&;ꤼg%&B*~88&OV]:c(]w<r',Whk)Lz҆&sA$*aўș0N񓘘Są|-uq(Emj* ;mB3oOPނP{AH\Ho`5ԵN A*S / ^32G_@#usy%[IH➍:ml.G]U\ aT66n2K[bHpw"vfEIwaw|/ئ isu c&Os3{59#:B儡jeM>#!~c y^XX*6=0^2B1bhTl!/ B X-"$YޒdZƄTi4N%/1!ԡDr#&Saq"뉪-%ĴC:D T4 i1Q$գ]JɦfSS05i}U)`X"( 7È6Q}A} <#L Ps>kx5q-{]w),mЦ|6/LxDD&t*&Qĝ]+27\j7ਸF JBvK D`2 Vᅚ0̔l]xhAQ4|&}}tY"8YUI2hyR}μ'qTF3c'>DYحDPMjwټ!NMcQWB3 +!|Й~n{zl5l3CW[,P~7Pi""uj_`r$qjzΩS3ʱ1%iL`ȅ*ZJMz1%eOV]wa5I*1s;( A$ *yZu&6x 7En#<jAHa_D6Hd̟]Pv\6h(W"?Z-lde5/ 3k(Ttpj|PԴRi⢏ Y@cRJRg^[:XC0mxSLg_xa RX-v*.`ErY^3Ђ8T{˩Xǯj>q\SpT>J*mrD+hRDptbGR¡EЄO)I!q;˪'/R>{x93 Ȣ1 t#e~-s8#"vSo~¢%n d-`á[B+sgbUW2eq\؝SPVVo뫈OFJ?.pZWkLD*??DhL.]2 Ԫ"V@!/kbNdKNQ:uAgñ,^ބ\lDũ)j+9Pt!bkpTw$X2Fitv/!yJ|UG"nGB\;˭JO-B[M3XM[u66LTjݡ]BٌWךJ=fQgWeK?tKƯvM5)V*Q|v)f0*W(o=oaNjٟo?);CrGb(zf{Oaȣ+M3P~ k-Ks ԍ 3DHTؚ>~[ }Po!RZ†I-?d&G6Uy{xYqƗM]i'fRo vc4eTɋ?|X_Ä2Q2dZ=:-D B5q&[ (3ԭY`j!dp0߅'dVPa6L尦mQ8eDam@ 1KdpCoL'TIl=.z ա޹(^E(GR(3vHsJLd[yME@'GQrd1E߾IL(UR(+TdB2k :cUߢ#9QTs$ĒAc&p/ESޖ&/嵌LT{6~l!I!UmyvϾV-Į?t."AI.|"ߴ #L["U[85rU1H< (zl^n6W 4@ev tSI;6ڕ?d^Ӣ'|2܂GP`Fwжv$ɵ8/'wA[ U3G ˻Sm } !l0ExsGyP^l~تx#憠bMUb؋% s!DLhx+uPypjc Scw -@kHLkVDK;LA5"(+Wa)M#(z4 u SDIv$bL(kn ~%?Q/5Y[1N$ζI(O.twf#uإ)DZ&M}nwuDa8V XCCLB~~5goIqV9 B)=Fx1S335$Qtn0+R9  'XXͣ oo,Mڸ#LS"*[v ]=;M-z nNUDg%Eʫs44klB<Y3+6䝒B7.]v,t7gGRszuFƤ[.$KR>|9 v$[H6L@>7AAN ٔEF<9(f`aga$- R"IJ%ѰF[iC\2ɊTb,2jLSfSkR7Lz՜| Y`?qRPYQ_#ˮ3~0P_hq~M4^/(yJ&e+Hk#І*&vE3u5Y{D?XsAmz! 5fܖ,N:bi(J C=p. =Kl\uU3Ig.xc®7CVZjdrgzbTȩ *ǫ!2|#Ӯe }~!(#٢- fkަ93a~ eDĖ! ze,DDXV.ѫtbFYo AO2ј\lvR "B46"(NPѤT.}S]*e3n{EQ ̧ FbFYIȍwEsFL!k5݉#/ "eѺj{̭8 $.+ &`8+vȆ.$II1BW,[ ǣSRQԠa&-ZVOo9sd-`AuQfo[/Y_EpR�<.4t/ u2,M "RvpW* #pF GA}Vcm嬎MK]˳ MJ{A%1Q֟ YP x@|-th`fY6Z$ĉ?.P`#t*u2{Iͧܭc}#sy LL̑[TʛaZTcj"KPxOt#(4ɖN5dSJ-[O!Rwƣ(B?#D”Lhw?c} kպUEŚ?}\~G[*v`G2r;G.{ލZxԴg]*-\V͓7jlf[E{jٿdՒWNU6f&] LOw4tv6>wy+¥T:]'wf4opvd-~#~O-ZFBʮ/`R@lj  #(:t|ؙр,\䄝Am"1P*H&19SHS 2Aaw@. AC,ygvl}?ΘSK J1˖77~Jkl($͒E ?GPHieεDi!c,8[B⣣s&D TD Y Ɉ r VThp#bC b+NJ^Ppk^8 :2LO?F! (D< rBDsvv1k돍q,,^VEEAIi2tylG[Κ΍Te\T̟oHDJ:xЕqCXC§ujX~a񲶂S J-7[PQRUSGӡWuѓ1^\P)E}, E&}/NV:D3D!FJf)+gex;hkwr ++2F⥢ G 0R !(Jq} {pIKYNUڤYyLO]|xtމߏEkSĖI]j4Ob0]uHƼtPW \KzmU_%kJ{uDgk3wTIRMQ{l5 ڐ,f*t'ؘYx`P:)b|bA x (TcPZoFbTKJT%KrV}0DZ?Z TLk{Ȭk2/F 6L(3u]:HDozA*kjU@!0ǚ1;<,Pq(;l/6_I{}5D@:W"^318Ř(TG\$6&nm*eX7)QoFDHڮRL\"7l?$~Vg Y9v|P=-&$Y ]K459a 1ㄒ1FV9Ġb R%P(9 q,jKiA/T*+Dw'O(;|B d3bp"{H(IG7ڻr0SO <ϡoᝬ{x^ >Q'Q3x=g+W_;۾*/pM42]m"%n&dNV\  $D {mKp&nM" +Xk˓58 JI閔RFxh |sdYe%<Mt_K( 4`|璵Xg ,`0!`$ "{Æ UbW% JYWi`;՝Hjab.DVP}nCf - R t1CJE)Ѐ[.Yg̐US( |w*p)a`2Rh{ jDP +) O3H][nbm#=NC"_5^%]vzr_4y~( qa[dHx@>?'8op@k=Y8lب(4Iړ'-E@HI:\7gbE̳y4!*x5 ?aijIae!- X EJXim0s(0+AMyQ}CEqMIvBp@";`v0džh8x PdNBӐ`YwWnE &AIT] -(p R](.ݔK*eI* /E{go+Mۨ$ퟪȲjr-HU+i-G %Q2Y8uY"[C 03*OHNl\ j6Vk!\*J)7_rɊ^HRh:] %$I-.P_C;$iΐnuz8}^ض5zbցgG%3- WeF5@ CamQ %*hϧ=N +W54 PBor2 #rMl`"D  B͂YPI~ m  [hz̋UYd ^|` ">0<H(Z@@  R.WLwX(ys"hƅI*ɡG zW G%`x< \dVTI{r}Iĭoќ[ܤO#Y%HY1]]fJ&(,TW//`0cl[jS2 ]'NY6^nbb=Wҹ&yTЇ d+Zs J6V}Ê3w֥o AF:N7xB$lV% w AܩB ِ-C"ӶPтW.AMA5`n8pߏ Gts9ҏ*TҊT]gCYK)lc<|I bH ۖb \"@]zT⊴]1œJh2o/: ךDXLȞ:=St{j"u)\͔әҧG>*PQtf i3^{hKko{r0˲#doJGl# w/:GK5JgUUƅ>,QuIDQ_NZ_e44F_DFخ3x[;uNR!"UnbX7g,o^;8ܸMȣ٠6ϲ ɥ_84TP[]8.h+cx(ʃeAQ kh*=_bh644_D;>T_WN 颈%w1K-r9 hLFDt"õ2b[nb|kY?ɗ{+23Q ߪ;gOIF˪dFBR[YWH0[:ɚ$$7A鈔e6FҗQHW$vS "y[&ATgf(؜ Dqrл6l J|, :p 0D2K`֏ OHeU?x WV!: J)MKtAyo\"جcǼ~L[kPdo_h1JT%$ga3LAЎBUW[WbI96rW{Ki#s3bb*[E @" +C 6۱?J ~ ^ҋo?Tb$!CUHNZRKS81#84W[nOHŤU/`s_D4M`K48IPR6arfjr)+VI20bmEȁu&PpdX2ϔjIɸk)v}6G[ah9;hSnR06IT e@kv7VqPzNʚĔ\_1be-nda~^S&bd Ln'`5 J]>Bq3 Y}%?mr& Wսt؍ViO䆑Kq;GPюtdFUԞwY>Kz EF^Xڂb7DUŬXJB0ؓM4[Q[LҾK1ETt JJ[/io`-ɡ<$M'b g&{rMsLʠSx%r.#}PW&6I-ɈŮL˵"U']TFvX]]H*+o,,oْal(}pL:Sٳj> AkS7d;8*KiWƵ{Uk#-vFNy8UQi%0xZƌbbt8H0>x`yL.*kC&WzGVcb*,Y͋Iá"R$$D2̠H5 HMmC|c-ѩӄ)w[E~!ZIPQ̗ PE >S?"-DThx+hۗ$t ^y>_;*nhT})p/NaAR#!H@jAHA +ҳ& $ +i' ѵjwJ?IWpn3紛Ay%۔A!)ԖP FF%H3,0*rҕZչ!"3BYPJVϔwȵznqr)^;=5#^Āբbd;(xBHP#0\Nd &',;fZ"6 Os/ ojMWU+.zHAZRS|9OJ۝5V Z8H>_Hyon4`f/bTΓt *Kׅ<I!ÀsYdGaG%Z褷%9[Q<th}B"v^, I R;a cpl\%?Pǻ];0drc2 VtKHF0`3$ ,$+$DVsH*6@u-AA@'5/Jh@%Z|NZP4Ak;Ԡ$ԛ=p\Ʈf^S4 ;ҕeeC>%oЍ=<<n !z$kU@C9(DFD4J:nBdQ67ÛHLM!/7C]fV f N"\nrȵi>Lʥ$3ﲈF24%6 Jjh7LJr8 v+^(&(-JE+(OdpG_B^;Y|!"$!)j;TډIOmaa\7Q3/l\*~l1%{l jyn! ^Hx t^8 Kρ+sr"*6!zH`AAQCP;2~T#AdA.(v --5mK#O0`x^-N`b~E'C{Y st^$[$?<@Vr'm z Z@ F?4T\EC߸&rɛX gv.'^kM4(2!}pFt C;vN6dDY::PX^R 0n.#WqJ.K@z4ImDثU T" ޠL53 aSiDLrH@¨,Lf(_666)e!t"()F݉&,ȏˉc քCν7%.3H! @ne*sHm & 9@QQ$ٹB-B (@ ߈O2r??;}0C3$/%bƺ+BHIZ0}F`Ekܩg=xT_{X+%%6;Ix8!Ui =~{@XP!Ck\FfQL;9*uRl饆mf\4S^! 'Uؙ(-cP ^2&mjdE\`kI3'qQ>CrOCܷΥZ}8kܫ,Z1SP@J@OSˈdxW\ Is9%k 8'FβwArczzi;AkI>?tRz)JR~!DUNCeRn*\vD/{^]1>PaX ilz$uw5,24ZnG$WQ}u{ H~FVSkV5Y0&'DV?Pӄi3^N PW$DUY\~\斔#BoPʮY%I#h}x@aO٨,3EZ+6˵N wTؗ4H~>[J顄rS|0kcz'rnz*2x:*2ZY뮘DTt*x3B 6h.QxGn$E w݊_Uӝ{ߪ_3Dds+NrZПvVى;2RW$bQ8Y)izӕ؊ر'v+-Z)$^%6Ի)7~Fr{R|[hVݲt>m0S=k"jw $q ϪA +YA*PI24R$tED ui](q#"BN &e6THd  *EGJ1*s$HADX*.W R qY4A_$[!}yGIGL2k$;oXF(U4NG ۄY4bsuW=EpCHCccǍyOU6ë$.RlHpٱ3 SAE d_)gHTNp\yj.7#c Ԑ$pSA D 7*\ttS23y:2V䀁ch-.`lޫ`>k$blJB%:rHxW!P)pGnƘA~Y MH zG#qqL<}ЀAr2x Tu(@KjŸ"g?H!a2Ujy(ЋB(|*j @Vوw߸j$)2N(D ԶȐMB:DN'  a^2% 4EJHQy:Y&~P,yXhA>8D qH TG"Mϯiridu b Uiv|țt9{CzQ0*< HE1p2TPRƁLT4NPM"@2$q@il",,W(GM %b34zF@+LE]!~&R#4,\ LSeQq`wJxY=I 쭈U08`3,<YM;>ՆQ&Nf:,* ˀ(A;сe$)D<ãdDt0IzaKSm\yak" x.3`B$ȲC "Ex_#/aաA4v4 m21BuvD\B.}'Z̢ݱK!dVKrL q^mlЗFo My6%ABlJAVMb6"$*$)MFxx$E5(lk$E~>Clj'vl$ܦW,̠u"QK>s ĕƴ<vtJ٭$&7M(~ ]x\UX K ,Iɝ& c9;$=*g/>(,p p7\<. D.Jʳ* (HM֌OMK#yXhi5f*oW60v~gW nBڝlh;"R)?P8_OKz,1͐#AS 7%(Q.nn祽4e,AqdI7a%0jeJ oJ줒\,$݉G*%M=J1Fkڐ5XdJl5';(yZa>YcFpJnEf ş[o"hͦKJd0r'J;!@PB|tLݤ󔳶552@A8D3+o.!Om..JE §/FEVXl8eT%cSFKv/ب>X&I/2K1vwkXG"1%N#IA`)%@pfԂNa#]…YA5М 6d4-I#8F&f.B&`fK6 ɨůBV2amta6K8:,$ƘgBog],+kCe´L{I։DUDr2W!cfr~,|NRi!9&3M̞S!Wғ%q͐UWAf݋"1%T#!)bXΒw#z3$}7z,ov|!AGR)?EWe9/ [o ]9th(Ew{zY\K]-mr2n&J"z>iDJjTa=v{R^_-Ѕ >IJs&j]$UQ?\k59-'k<ms&XY6S^PuiA68b&:*Z˲(D#-%ED4D;4s!s?(#z.ԪUFD(Th),Y&UU!w -49UCHUrFK c@X_D $kKB!DD&-[EvC |AX"L,R,m mt" G3]穿1ݏ4%xJB JAZgIbJ\8PGͯܛԄ)$cM4GSK>Mv|w<k, ooH2&08`ZV` ' U=0"H58Az2h_~['DҫM~vM0mOo C Nf-ʋ14=re"[F (WUv" mIonόȦ'o5cYM76 3)H&rp-5>]1&/`jQ|iUoa'1. I%&Y'kD 3Fv%O 4" 敏FegPc;+f  m l',u`sW:ݓP6i^qd_&U*NW8c|) _+l҉w^6.CEQJ0ʷ쿼O+zBE3VƉ)NYOF"Z.~;5GoLwfU!oNw8ʯ$T*[cnTTDH rɫg&b^ϡijƈ-KH+b)۟d4版ܭڼ6ٯjf` r[DdیP=m[jI/}#*Ȫ1!4CEqC|rPo^D#{@8u99MXBbRs\UBQbQ6VVKx.P#>/&^4U2:)Z%M$45f+,@Qhmŵ9ni r2rN-Y&7 k=` `, }*m.jB߃ 89GN%,G&AOq E#"btKG[FO+K6Ї Ӥr(*-*idҚRe~7\{"I {"쁬G5A5<t0"Ob ]\I;.AtM~Ց(}o6U85Fz7FJ5U jRRp DUQB O;nRĥ1q/c1.]b$P[sF*֮6( 13 N|J1fYd%Y%F"Dxok%"c(χ5,>:0bE XFKvHIAbzH:Gl #|rSQ ץ, u^ f2{5{h9&?O҅X5 RvmcЉ毜Mؽ($yS %ڴVxJ&a1n/" -*Nh^0^WYuCĘk*.zrb;0R rIgJ?Qi8#!(ǩ(WVRG;‰]2f!ԕtEi$ mYIK2RmgoIiQ&olȞze+)5Kg (#O M.8BRI* 0kK,=/Nt/'K7^nwNxY]g58M:˶{6!8WѦ|I&'X|e陭ɽ6T^)$UD,p^s_R-Ȯ#l8*>$mhWff!b^([H&J G''.Sf{Wb{I:%6?-=ϰN8 JP? IjYL2B“A qNխD@؏1=48x7IVs-2haZ \CTvS <,:,zO.Ja E{iU',aĎw$G>KZa b #blVrN 2vhѲcB birgxRK HBeLH0~i4,RڔePqԍr#Y<1SOg ARCG*D8h(Di8#?%1%SX ԒfIG16 +eIZI4_qKVv@HrEA3XQXu Jq"陁52_( d{z)CaF彍uS& qz1.1(ˁY lALc2/*Ad'x148 ڮwCTDF:MHK/` /6MK8NA(хq, # |[GQM, y$atANZx%x,TS 0 JgPtpYBņfEilFS48R02hIxY:`0bcC1z9K=eВhX1\Ċb^IB^`T樣A\4X񃨢HP-xEDRL @;4u(bpN0;%QHh72M*piSHC(1Jz4/w xBRWxDшJ1\CLIւ }S87B4uDan#I+XJ5[½@'~Nwl7Jְ{<){ ՌC!2/4~GܬhdBEkYk/mBU<]v@t|yB YAt.6Ich9cm##T`c0Sq'25dҝ? _it'䴓)9E~5ޓ䠑p&)KMdߨۯpuX'Re;_H9qH2XxeOByFK?s,!L6;WD. Q"E'Z\%KTnM<)) &P=y˭^DaahZ$` j^5m4Њ,ǥZբf1%oְ[ bnQHgv`V?_6ΖXٰQ!da)qgn3᨜pGLeNlAI=u3x Ah<Ыȶ+-Nd݊^?i ) i]j$'X x:jNQ6;V~`ÂX0d׸nć% #g<5lHpA(.Farp!A{Gh !(! )N HXyJQm4"&@{ɨŰVwuzy{|p+'@gʀf䖭3]JEP9vłv| Cy) Qs{5#pBw(KFxR&PsC¡D!LG((9a>xY jKc zN8A)C2TQ%nH-g`R HچZA|#gzB+lMar ÏF4F2e=t EAZႴ:ɞ 8pHH 6)a $uNs*6["ڒ@GDwZ9g(2Ŭ#z7c3X㚳벘%30GA&#J)L ogz)r}2qppn0⥞0S_ T , j=K˝ S$(Vݸ 7dRȃ}DvAEsE8蟔S'.?bL Li)Xw;d#e"[h:d{!"hM)BV6΅A"%cqν]v=OЪ7Ԭ14NyʾV8 A4)e1D4 C;3QUk$a&r6 !ZDR>][tL: qBbJI|N{Cl&{ԧ=lҪ;$Ƈ&|cier$s^Ői+¹d SUT`,GM)<\ˆ0;ɛ_#dCkfef͵- -cϺO:eR%׸Bxl;Ix rKV-:LbǼy0ObCaҿC)3OU+0$VPJM)%,zİbqP|)XJbJKSQ u0M2Jޑ =WT3҃)wpFRB2qB A 9ٍN> /9$/M)NvsNOBhT&q"um\d#OK'gl"uLïo]. W5 +>!Thb/إV m#v!HޅsHm?R'l|UYCmq{uq,K*41~q2%Mpr&. ,ȑ 66mzܪc1]:fW|Ocba8O|sЭhı,Κ*gY.i RToģ|U"lj74acC$!cUoQ5^XG'2ۨ|:tIkIE$]) 'u! /TPU$'Jβ*ȸtLB6"a gA,Z"5LmY:;ztĢjt"I˾}MކRۗޤEV2H-.YlHګaYeꬦe!8+ S9v[r: R i;YuB ވi 8Kluۡ{Yq(װ!l2Ui0 Yt[sAKT"*JA *y}S>{6n_on'ѭFPF=M}Ы睄ISY|7;%l"{xBbUZd%xO|{7vb) 3Lɬ_z Gr>zBz!ֱF؛B >e:غT,z2h'2yWU1)!R)4_FIdZUouzRbˬ6b GbIʒe& vs1Gl&GJ1KwwԶ;R猇 HȀgA])q.1I3ɀޏ $&PS֒0>J'Qִ 3&c) ,Նҏ,XhPXGS4G-nT`Y$6\y;d@Al 0*^VL̷yb8H[ ` ,!3ibVS|N0Uie^|zm'MV,)5vqBX%"Xާ9%^䙜 aiPk* # x]) |$5QAm pQ(V AMH֥lˑj_,@~VhF"Z|pDW!ʜ 1v} -B!5E"E֣@kن fC˓ XTeqS4M(zׇ= Ą@bAJ&#^T`ŽgDKCt B,P*'YPԒzE(y^(C 1GaK# t(_4!xM9(UƎ9FO;Y! H%0(r $7\=܆=6Of"adj Ŕ,- g,L4 qw<Q…b$pG{Z<=Ye% Fqûͯr}t'8%PK<ht _SǒzI=E-nӅA8w us49 P`0 JդXFʂ8إd`ѢUGtQbqkOO[V!ʼnd 7to+o%]}OÃ$m% MQfŖB\`bES hW W$= )` )Dw~@A:\@7\+#JMcVFp5:v9҅23ڢ#lH`!<C]9lsIIz&^k-&Xs#FUdiRd1 YpiH$k 8;$F`P0K6M@RDSMXpϲ-thRRĄ&KGCT0c )G.z[Ei4]c蔠x1ƺP kD 8BSZ!Ҳe2iz ^9 8No1%J GH;Qd+4!?Z[[N`BmgF*סa1)~#drg5g  /|MkO؉l)ǁ UQU76qEX—Jgә ]Ly(J/J \ ph /b(D Ct&P)B6Uq7ʮbS]d&JbN_T!vk=vj^^_#xl/J9Sc9^C+9(+_X8)%f!99;pB#)./^1>R氼7)f˧U,BadƱWDo|?rzk/9cjbXcH\Wd# jr2B7c&ژd@Cg"\JֽKQl^ٛ(Ϩe:Ļ}ۄ|b0&quޒD (A=NVq"FDw b8Τ32#K (b=Sbw'1LA3(?.BzRDt* SSԀ,S4+QD:1qr7tR1DgbzQ֤&W^3RRĪ/?o34BiG':ު!DĐ!?>L1I!`'0L@D<ف(9o0G&1'dŻaÔw&T8-qҊP++VWqrQXGJzrqrG$b@^cf0Am bQ08.s)Rȼ$b#(Uitǥ-839ˆI[E_|otфTs!PC\egQIJ(MbkZ6*ЍJZ{֥K0`k Ut^HR]*i(臁3FR xj5.~Pض@hC9DaRElea[lO]͈}؇ȩ"eumkw+vWu)(d!]^&_=:bKךH|^}ݸ!-%uH7yEeK1P{QIU;ɝSqoR!s$r7x$!J'*B |mF0)µ&t a)j W)BלAZha)0'.3]&Q?ҷ$ϋ6TЗ'>0h,+ETaZGBx0P0QbL" 8ȤC&@qOrLc&u2ỳ† .T& @aZBp`(5daˎh@psqQ$U?.h 5 FXH$70{89FMB<( (QaX`K%̤Hs&"nu Vqns'ρ:|cWnK(GT")h0QcJD$Pf "d(-, V4(  % :4r wÄP1(EK\@Pc q(Y4j:JJH{~ p;>x& 4ij PШQ$J0YpX~\iWr`qRAe X4rfdB;O0a J_,#u $E$&!} V)8J(n4V) v hD)aVDAƤY7$A6NM2B1ļ@C _Ss1$B}fhxe@H,TSGc`\@a$b`8sMiLD1\SrOTᦅ2l]<̝ӱiD, GGiItab(%if6DuXIYDrGEJZMasKsJ'‡Ĵsk:qڍ"KzZP`#6O f=ZL P#Y!~ ,S4V@-||c~!L9[JZ%lלQ 3 hNnL9׎8=-u@jLycjJ $ƐT B'0lsQՆ8vZW$5IJPǀ]ef=^CQbo5 5B8&Al߀Ut)|*C*| ;`"ЇB1!ïKCT I '3H919ĉbF Kk( X9$Ii˻Q3Fm{abE!1 ]Q$R1M&ע4:_!#B]n!x @4a>g8y&== i\Cz*tu>AyԟB rM5A4}!^y Å7BP(M(Yp\!D> V"$)Vy Э/Q#"HMK@W"DfyNKjse[=< D_!`D `YdDHadG'iŐ) @5ǐ#G9"o;T+pȆ@]% #I 0P B׬"mBW|}+y $).xc%6 iݶI%] ť]0b9/e~p,_H` &G@dRqAeB q.JTX  &IWҵM*i|wkk]B4CXM`4weӢƜk )N6(*W#fw)py /Rr3[ x |9azܐ1Sb+B{`&P]BLZ8A?YR+ V\j(ɨŲB۵*Pu9qfQjs!0!Ui" ~}{qOC\)1U f2Ri]J ;.$+kӒDZ?ٕ3ZЏSYN .溴l]D%3WIƪjf^IOOrD!:*ZWacHu)wRC)^-Jjβ(I#,WqXE=gK) ';.T9Y\3Vm8C N'+U:R̴{n7'[J2DuϬwFV(t!F5*( EgzgofH-~aLK,%SwisGҋ%/Y$LF=%DD*%k\+z=âԳܥ*z$HH@1M":>Q:`(mI/ns͗SKvEŒZ2(Jr5'U[TD7= L#WJ1dEbP½4"Յi \JI S, *[D.8B#s?K5>mU:q:Ns/Ѷmj28|ꫡvs3sue'5QެĺNJEGd#k*lL./uTͨ%pQm/%s=;$v%Lkv g%J*TCED)ڕDIE (I]Vy1FS(ȸPЪ:3,MEմcgPpV^$tbrskr 6хbn6AI%qFc;:2Х 2}!)~$ӿX,2$]sW]PIJUwIJYli8BAh $\Q8'ZYE?l|88YOlLJN*tNB Uș]{yyO^<Ř-fV)/&\dWd%o[uhJтy,jcfaD쎤ץd X([šIb wv}s!17V럕$@ir^No9e^Bԭ6Wֆ(T]~ 0pp$3_wRxJZEʓ{Xp؛DqC=&=iB u7FL,cTGV,Idq/Z`Te P H*t@tp * ~0tA00c;t*Ma.2e_&t'}~1>lU'~0XY*6>V X q%:u1~x,pK y1j"O8utE٩ kB]d]H5Bgxrlv"\kY"14DU"U"6E(,; 0E{zD_.d6$CL$EVf H1Rylƍk,Je=K 1d(Jg=V5Yz@"WoDC΢&l08Gk |4h qAIc,Oۇ{ fX H$fŎ 9bTX˙pPke(KI4 !KQViϐ3)1q$Su$s b3 eR]W} 1nM`,c-$#P0+ iEHJk["Yi4gr/َ,v'AJTBU(EwGϲ(M\XjޓqYD5>Bяl`{p(֥PA#J$W턔 j[BEDiøPH5R Fuq⸇4~Z )f> & %CT-7,^ÎyN S <;|ץ0l&( si],=hN NTfۏY`ZF)@j +2.L(Eݒsx!-yY ~n s^BPB"=;Þ'ms,D5gq%( L*$R/Xmk0 G(d$ Ҡ. FP[b !RdXiJ Af5`YJO'J 712\,9aruR)X{iXZa%ؔtLlIp8XH46$=|bNYq+,PN`l/%@rpRһڢJy\eu6!Or *t84qd(,BFyDŜMg$o "£xy1 lJ>B4(zPF$H0ɒ+-mb p  ^0"֙ D ,8_ Q):]3౦ ) BL,{0JdFe qN`F=SrJTHPD1g5P1pdzSzNp8p~9KN<5{ȹy e4jhK_4Y!с>((-Ǟs{EJP ! (~<C8]Bcd b(b$(т%Pa6&P0`%C> ^48Y|W{4kZ3J3[RO2 V"R=ԅLke{980Aw䐌axçDUTE# >CNyڨeGER= f+҈b:WAB~䭖y|HRRӃwV,*DA!6]vWNl=AlX+Y9@Ԡ#w]ۨ#ƅ+SIm0!/]7Zמi+ZAAEFHՑj_kDw>ky&w2P$q]շ !5._|ʠqǼ'}dR4XDF<bA|Ɛf3#k%Dq[JS1ɐum9BjnSxc4sBcڣ Bc%acZ,$$2kMIum,8,au"~sHIXKK;Xp0cKOiy{zKfsEˆb(<SʋI$ǦZK1.*@2*&@Yfi!]&$H@<8B;Uű-zT}ŭb$i፛Yyu;Zkܲs5wX `r?8pҢE*\NYeθ!xT%-M}ݥHRo6536 tV22-xHJ\w)exѢѯ!+3bJ@_NXoZM{SyFrDm6W~ļjK]1zHD1ZI+xkwtXh;YZ[xˣV~{L*` m%D3̞+ S4!jɖ-=\ V\{T*=N29Hk8B6hW_G Sl&z(H|hcH&_6 ^RT)ՀH;K Z SҥLhw궶ޫ4>n[ٺimˮxwi`nҖ>ʴZB)$&Đ-)쾧*>/8C] /c&>5?Oe^$7q\قi{gE@OS%^ga1fX8 dRNе&xtGnr|T.U Md q,6Z:{!^Kr%o:ڦ)D;:6k[&n+LZ#,ٟ̍ZIY;놩~Bcb_viҥTP~ВychYƜn!JbL$=c5}S#4MR2T?1d_K_'n-AdI}nHNF0 Ռ(LDgFGH.Wm2/wB3eXzIRb@%2Vgidgq[˹^Ll9z+bܬ]"7> 5>:|kgbD%7SfJwhDi)*nA'.M*˗E."?yv]=]D7sQLl[qN*Q'`R#»+%xP7ogPMC?"g҉ػ.<8ApC؎E*jyD/mZEcm;<(dTgMzB^ @`s>`)YD6HT{ =o@C(n߬LNܱj裏YaR U:0 dUԆeO`eKEϔ& sِCPZ SzujKj饑ބ#*8苤^ 2EF?D̀UD~)Ef嫀kKNJ5&L˱ Ƹ}Hb8"l[pVL6[YX^7!bE"Gil8:ءo'4!P Z{hGE)^Q}=fuf nonDf'4OPi&XqqJ}0۔E UȵG gJ"rOit!З(TW^$n<P$G0)+.Ft,*B @#.gqʚTI㈌TO9LqI1Z*xO`i awG]ޕi3`qQm%x/;s}6JV.=*F+GSuԛmQ'n\”7mPtiE .N:̀I{\IjhϻL7YS%\KSwۑ3LBԹ_*gzF,Y%5lR[`XlXgQJL#jh"F(::MEόEuڙB0'`>bf9OEQfɂҸn a3\"|d"J,<4_: .yv&IZ) D.pR ꈒS$^HfLKEc.꘳7=$;K() +:3eߛ>,)Z(ԩ/'RJyTA{dq lI6U%otGE*,NC 9f`S7=3[k]O"}T\clgRL :6AoZKU9kK]Δl:G*@ֹ[wϳtMp4ff9V2JF $ϙ`qV<òG!v,Ce}in4# 4 FZ,bV6Hn"CW0@_,^T$y[ nG;݂/*rB!ЯjF* #`60zAE[zn)=R[uОq{V*"KB.JȠښV?i8,RHfMkER,ՒhUm~ cϺjo"<pAP59yu j)ξx{ꏵݱB(Xf[Ltˢ9Փeb!&Pp3^{ VCy0zPm"Izv^&6kGL-(<-#'?>#Q '=B`r Y!d2Qm<銻/Sc$`DuW5qb.BAuh 8LQH螻It]_5] $cXIG[+p))z@WǒsriIG iSQjU$|0;&-UpPt7:ݎ;nbKNu0Tk>2S0X{tDϻ_ G!LYKקJx7Dy!7[(0߅(&Ѹ3ɣFĔU4!B}j\-dHelonb]*];Np>^ීSTN5WmE4rWH&14 ڶ'`ΤyoK1+KxR[5hA §Ǖ%  a t;}duȌ5?݀u{`K<7~L%nu& ~C~f.- \pu*n#~F44LgE/^q%ȳj_O /SNW8_ST5RSd ) ط-Yri!Zzgvmv3e^ xgYʏl3c+21hZ#[(O(|!R0NP(?ArbKeWeI0L/ÈņkֻA> PPE ;ټQKiGtoL/v O(Z{oX >0_syhVD8Y $ U=Ĵ[E>Q! V_'!njGF.&r ci}oM#[{Q'x =Nl{wNMj 2/}Vm*k8mC7Y"EN ivEZqPڒa:1nkw:+G~&MG Rn&iU-zO#'>>N3&g-PȒ9u}EZaT]P\, yJPG. mԳgĆ8@߇IqdqͯU,f!s5b^|ZL|tbœ֠;mob,*gkK1ldHbʾ᪷t6nnbҒ<53F0Uc!x8E{iIB6QVH%(CW?^F8g֦*a+c:WL~vڗS؇wQe!!քAO%KMdњpˮZӷIO >P&O!fC*w&,ĞV4V*I2=>/+]9lU1yKCzUeb,;^1nRbtRU?zQ9quMǜC2h ˽Xޛ4]\LOzI̎ev. ت"JZIoOAIߥQ<悆EG_{3 ufrQ039CHz6eD]1Vo O]KB 43-I#|D6 l6$;ܸEF'c3uUL\\`35lDW pFַ{$9@4o ,ѺZ7~T)nJZiӫL:$XlސBF(QhE?#ѝ@>5D֗QřI  e tYWnƢY rO[YT}{M2n"li=lF}]֣j\[ka#FZnBS3 e1B/u /NzGE*HJEܴ'(AYnR˔eʰ+!bvAz.!0h YxvA'cqv ^fAA#$% +sHZ番\`OFcՕx? H4E(b&X&-oF|40YȪPɽOZ֬/32|MJ%b  ab 2`Z&Y|]'jTZyiY݈Ч~%'R)]ikRd ,XnDapLu '[U­S"!{.t@ŒlkL @r 8K$,#}:4 uy˕y~>>5iIPDgG<.WS,7!&4BOEݞQh% qOt 8/r' tz| baBֵ+E+˾`H\(y15pH %Eg*bA'Q d,Y":DeW;-2R6 BN6QV)s}vnXőԑ4fܩ&ȳX]I8uDUXSHIKPJ17wdoG &q4t N 9.3 #-M .5x+@"&.\UZʥx&:+jpjGDL>+尦nTON>l$9-[YD^CxJuK;c٣\UjsH2juC9BmKxu)1z BI e@Q&,NYi[ھ5u6"S'3J15^tU$J#|ėPJ5*DVӇiOI ^NL[S&0:s5rTvlvso6|܃OP}kio<^;v[4vsY\V+u~8A*^' <__L]-H^B!x̤0I$s'Ј w3<\p[Hu AxH@}_ u{tz'1z,##!fcԵPi}D*ۿhvWCT( F`Ʌ9 8n ee'ݔeǖ 5 )9* uxQ?JaUˠ;!>{ZAÇw/R)V1)d)o!݈My[)2PE#^9F'c ]+H֡7։Dآ=y]ǿ8'G"x4ŕpE^ڈ (L < ߿M? +=s[,g@'W^HA$9&,Hc$IdUo9VsW=Ӣ_4?䥉i~Dﵷc@G*r~I/9f.-rMtb&9hBUPj)' 'FޏlBح'˽FS{'dgLddh-$P!|[Goh'c5Tm( N:CV}Fm+J00nR95UlL5ꕠe GPSG5owZGGj*ʔħaJǴLH|^BpC: \-1d`I۸0i _]1h^$Q* g(F=Ygj }pqB߅QOE*Mߕ`LJǓ x7x@Dxθ=N_c㥙^C`iCgZfzzV)_M/E]誎7덬KOMFChhP;Wu2x8rf15*(ʲN"7#k>K6MG5UOPuUlS:L:/.|֜2ti_wV ?,E.D_}8N!2ȹB_w%rm kB߲+9Ψbˈ<[qo\&Ngi I 6N=*'2a2ʵF?T1w=QĨL垧օO%їuYZcV‹uB"rRMQkҝD:_S ޕ+lE% 'Emwx`s(6O6yQU2tNNBoULfm$]Ten" $vUtQ#Xw, oӄzJJ\!bDq瘌Q$TikB%Y+q{iӣd-a්qF )UROԳ֥A8` $t6XX:[6BX=%5 s,Y-^P kӇ>PܒF5759fOL <ՈrqՙgmNyZbEOʪߡ:}D4ɐqS,f F`}ԉC}W!TC* FQ:';Cg.)~sKdk,5z.hPɚ& g'sä0ii%,M IHPm[uX,"aXJTb-AX% |M:7P w{m]FNU_m;M]L~=⮿~l%\Qd69ǤB 90{ӨtxH\˾&gvG 7OxyգT繌Z u:%D~.@ xƑ}Y0~ոh.BL5xrDŚZRy'U񷄁Nʼ5T5F14:HWw.[ULޣCaIe)[DW"Չh EC8S8RФFJF?l;A'D#2V\].ʧW%f&0U^"FB!h% mZJ "0ΒLSSm$ϳ2~̽;Hһt.=4bO&L8In5o`FKCVrL+K5PEإn PP,>1Gt~Uߪ^l+2xկ$\͡52,)9ʀN]"BEڧ2G0&2Mȣ_ )j!ptz¼v9ZLJ)ڰG?ׯAs(1SL5 ]L&ŃȭM"m%E6UG! òҖ?Y6tp&Q 9:TSA:rT h,sລl$lbB{AP1O+3e5R^0 U:U"KȦf9a-5k,eH(ߙqFH2 0=.N%C2dyBk)휥*"aSsR^æDg-H#|* '\q5q icJN>#$GY SfQEYcPF#.N$ w.wy]ա { ەf^wxpGJ=HmFu;r$m;6zœJ1 y0cr@:}Fsq)9l9P X.DJM4aK*Ĝټ !K7GO(獑ËST‽j%V|X*k.",H2ɪB;o=)M R#fB{x6RD7hH֖p҂y`2/!MJzs:zDǘvZ .d"9w /Z痮UPqp3ML[M`ƙuec( \`9#0O1+MZB[WPO^Q]Lzl112ވ/"Jsyvx4^op|<. Ty@oY voWFtvL9<^ J9or0-pY; ߭vnĿ(qJ 20dKC_u0,$L<{ѻdL0FǎйAT@ ]!fOGpĭa[O։G Vעgo覅 TX >tX,3#)_IG%5LMvUԬ!qԻ^N9a=!IF#vT BW 5]N_~~ACZ`Ju( Ћ֓fjS~`TѕL$" ]9)#WpX}6S"7.{|$C<^+ޜXiǍU`z%nqgڮ>Hui{Zxփk@ߔVjٳHm1A((퓓hR^^ ,ET,%l,[Ot0ۚHT@ɹ_$ryh%k@7pH*u(V%`HwthyzO9Xŕf8dr U?I@I@R84)iNOl6fq}EHe$-'0w)mÚE@:wn ?6k z_{ڊx̯ XfYK}1mѦ*P'K!6YqC^/$sYڤ&d,E忕:7eJ\F;sSǩe2O547`+kigdžo; Ie.?ЭO*0ľD$ơ8a\.Yp۔TbebI9n7qGCu$ eW=8Aw 3"@fo{I`4(R@{_28lF!ÎíEb(V8 )7:Q(4`^W(k|WWfh1|Eh9д.W |#>b"ʿrtwIMS1D2 '$؃&Sn+f fM]elN N ng\FƳ4b/=gl {riH gE?j "+>ӧLM''Yc?.4x4 caHSLAm8"yAZ1C_8A\cuJi,l~ KIXBI}QRPP"8_R!AFWH[C_;j~Br<_LvtEY]dS#XY+ʞztbA2OxS:ʜl[FgyHn%v49j"%xx_4XFbTJ۹\}D48K榖ڮ$2[#9CβNK]+q!,k`IP.~rv1Qh4Xyg-/K,IҳT"K_pjҕɷ,YbP-aĐ̱Jp,A]5u O묒i,]{<"Mϭ9ǁNhZw;?7m9eν~4?zώgjLAus컷Wz&R:KsNç`(s{uAi 4Sv+j*R)'1$7XqQ*MiUA.S blnĬh)U D|Hkmxa$aR\XW]G: X-%9A Ǜ)yFjw;Ƌf+jֲ"Ʊ̋꺚-SL7N,ͮ jj"1MK5؛$aqZ,$諔rT Qj1͗M6iQyێy^ϓ/bvg,M^ Ÿcht+ndw Ys 'e,3 _g,-O-Nsu=H-íԑek.}ehǞ'pXȺ^k#.X*9ШLMc]a#7#m suxiwgöF5U6#296Q3e"}8w{P bl>GGJDtBbVqM[Q_9tPzxS| oP%FժrHt2PH(ȟB'!Uq4L)%ѹ^JrڏnI-D.qQP#e !Xl[5 8%qGY)M`H3K#E:"ШAqXgykϭ4`gi߸M`l!X6+>e3HZcxLdsKj@sʡ99ZDmŽ%mⴉIZGA1!q w6aS}Ω 1JW=Y?M/8#t6iwbk8 _e2&<,0P6oJ#f$1?Χ@IndJg; |$E谻j'ւ}[FxɾK2pޚ) rA%/СUKP'P_j$\_ތ̨4Ge37 hD*8'*85P^|o0R96Y^~3q۴8l?2Gs1]X+3aKZW yqQU ~TedrӦ)5SH$xJ>D("52XgrӴXHr<'e!P?QU0D†o!gPȭV^q?vu*S[|UN8,;Z{iBs3B= d`W&Q U2E--R&kڂs[ˉWP[7_lG, i'aSRRH Y*59uLc1z$s 9 :<Z35E[hE@`߂3NZ<ӺȫjS )s+VwI-Lf`'mAPCeRPԾUԮn5EBRt3ZO/vd& ƷM»S4^[i\ŅHF& D$Б݆ YQ9{"] dUUI\( y!LH'H]"4rӪ)Tk z<6ȷa+"^9fS54*4t\lGwBy I"qJӈ s(N /YQEa6  61͛@$7ts1 & N~*! 2\m7^Kv]ASȄɦA2 L7JbM)w2.U{AwU0竄=Py2MEW\8Ջڸs)1.hSQvec4v2[!툂3Z++< &yXt [~Iͨ:t*R> @vzWQńs R lLbdR#3+;+wx~L}-$m6*N)?Ia5@)jsu g~i!ݬq5WL#{^|.dr׽fh9/pT%bt:M#I ù^^*rOخ};< :U;Jő"Z ~'EMAqX(5W" Rߐ%YxI;3R,mwl%2û7]ɶi])EHRj{? f?J!IB8&.Tɸ& l\C)2hi6˽'#茻3q%lA7z "X*7C8^`7bW009@A`gYS }ʭWV&͖ 4,yIhn/VAb 5aGվZLC.tRXgAdF%`HߧD4-(+k!Y>jԲ "^e~r\485/ꛞ ܓ6 4LG$nux|oܺ,k~hY8JzԼa' m0xA (͟:LE[jJN'tY0} uۜEqZOVBU}c .edT-/Ix < pʕ+AU$IDueq7_;n26*&5xkq*O!=KKaݢ͗*pd`XӤ!:h < .Tq#Ya&bn6!B(q<CɵS)#F;Z bmuD?4%LrmG2 "ܕ<Ot]W jTvoXD0ULx"L>هAࢡe<. g5 LN$9$3ȥq~%[ݟK$1|ilB,< #qD4Ӌ9M ==ʼnF "1 ؾa<;|4@!#1Yq+OO*op A2a!bN?ttˉQllELdPX?@h C`E?EA[wދKӬ/n]_?=OS???WwҳM]eugYc+s${#KnQh/ )`^7W) [' ra^[TEe^Y"&o|*ˆI"ګ3/aC8+B)E꨽?4xl{O^P7S?ҵ ɴ%A6^`Ú*P44,3"nwLa(S@qX`:UHGb9]OUo;"' ܗKI{CH%!;ҳηzֳ>N6r 2g%һ,0sfPPc$YS}q4*O~FN(N镳Ɩ@ĸ8D7Ѓn_N 9.(]2r`r( 5jH${yC4By\4awcGrWό|j$[v5B='{F;/čhsIʋ1qnJNG7J?4((), ,q" [ҵ> B+*Li$|bvP%юSbdY@a^]K 6|9O.G {Ş:d ܞi1ЋƩ=- ?b3Ijzq"VV qsg%Cu JB@>qFJKX~)l7.԰G߲rM`f2TF,y ïJ#jͶ\g9.n@ IP|Uri%Ӣ""-td9aAƤ$P8 xAЛmZ2)i),ܴ¼,% 5GEC;HTkXXzؓv )fT*0K!.sCyDA{\ IjDɬYFX|lev]TRg:4\:⍇B sb˞VWR]TA@X" l(LX-\6$7#ox7D`S.XQ 2+Zr}Eݞ}uwTS@ɚ/^u L7 T@PXm70J&FsRi.GhD$JEC$[8$4* \B"[9 G > t 36"b#ȔnrB4aL ?"o J.Hs*dNB \d;q06)ǴI0T%bn+iW8)q};BhANPfY _v[eFG][U/t7ꩬ*uU||$vN\&hk2ޡY0 g+p,ktfjyL[(02ߨK[e*X K Htm""8FF| â[cn]@`T\B @\lBH:ы,kve1s[vm$$--&79m*~JeBSZ5rK"뼠+v JݨR~?r\|2Ըti a+`ƣī* bS !4X,38-TPmb)\ *ā-W< DԣoͦE bcbsva1GR Vf7)P-lqG`8Ww0 2,ȡ!m+B7웴l c,/BK:F2Z 1HlSǎx `$k%En`"[ 6g%-iV.$=qQ0)8>ᏖHIUu ~c*68wC,*1Fci{Mʩxvg1k? 9Z`Qvu^J8 O0h|]̅*!d̟eL_>̲ZZ֪ 5h%[؋Ɂ2BM%3/gHh ~ ^a~7 bؔΗ>**!2H.8^th*`$; T+PīpD_MVa"jf7p" z1[UqrX<- 6@A6$Iaxy\t!^Xӑmv;i=U*!WhޭڬuMhL5UZb},RV1KNf/]Qg7VWhp<6S3aQ%yIZ%FdpJ"+-z b LBO}꠨FcH^x\Ql\BҤd貖H7d:??j1ZE;$P8h{ -7Xu^ݯZ ҅TE %. 2ӳӴ̙J YZ…6*sInV}VL$8Qc9ЈW\ɉ r~.Hi$5%qso8D=ZE ,aLi~g"Ӽ5 ,m PAw YfH: =X3KqD4<Q 23)@X̩g:XI.65J.&n-5r󖲨-IE.05m ^u)tDI_qŊ(ϥy*Y)KC>y9ϮSlIAⰲ$-i l##,P@UEbNJ}YELe#B} ֣cJ^'b djE^DLkAp\e f *f\UۮX*7"!9nTD[B/`[XĒ(uws'3UH*ͧzp)Wfm&,bH@g-K?u#_2UK +~k|T,Xie ^runS&b)u-TϧJSp=VT宋/ow9`"02bV86Y"،&D b^zhd&LDQ(lVX*>#c6XLuq^Oa[Ci*@X!͙ - JL('31N$$ɟ3"|ZAnu?1;E&eқڡ8/KӇle:dLq6UHT%mPHC[n71 kYlNT"JQjT D$v2"%WIF{-G, Mj^0.F@QB܋} ؙ^dːyҩA,9Y'208q!<.N"T7#,gB/GlOgT Ψ&P~G ;Nj/ӹ嬉~>OQye]EHgO5((*jёknW6R)8Li V&wJ"API*5p A0IbY6/ gD>U&C2b?űZ{aG6? >t[h \ xjpH/ԝe%?OJK`1SO)&I xġ\H af%C(tȊ4SqMӵ"CK5ϸ[K_y+E:#Lwdv6Sq$5O2 jQ)-S~vq tH6ѥ_|%U1*| \Ǵ^M+E3 2IEd"}t1<kɓ|y[uK FYJ ]t"rdQ @%0Z5=I領qK= `m3E^Zj jѬ_]Qa̅^F^){&롎v$µ#ꪹJά$>,EYOysn7{C d5I<ʑ_ӺUe=HI(BL)Q]P y3T ӟ+JcQ9 xwYKObĹ W%|W'YlIKӋtyhຘL\|$9RNi"MK|e1A9_΂3cU茌LEk2HZ3Bᕬ/. eI1 w@A ` Q?F|&1nw^ln\,܉/cE{]L!*@kFmZ UwLv:W!u_C:,[^ޭ{"&)ܳk66͍:Sʸ)|LbD~ubZ;g!"$x_/CfJp[j]KԐk,Zˉ#k*8c=]VA߅y邟#$PEg :L̏ ¸A0BШgS A{Yf"0? GA;=G)xT<$YLuA W X1nDN` Ab? 6WDW Uȴw4L,4|Y3JJ44oِ!vx[ͥ*#j;R L 9r |CVڪhk+KrZ+!9bz΋]:@JuJ2.g3mN1{C|'er5sqƴ8/Asؽ0H⢖4,"-ȥYguzRExYpʼn2:ZIf"VŠf{+ #uQNQzL ʐ* D~3Z"qXT.r4%I0ufQDL|gh-Jqq:FE#COJ2 )8Xi6;&#źA~^IDfE*<@EW0uBt.@6 !$Ÿ!s BNBIb1сQ2OldMD"H]4Q)6P ƩM`֟(.-[)Yv{+Jk%OP\Z*z4?䕴*|V 7ѡnU<a( $Y9^߮sf8=lG)5Zj\2nS_ >ӰwHʮhGjvzLkypE-UL:N%)t,(jFdT0ݏU1"pn`ؙ\tt#S;@2K͐ (=|w7&`P4Ðaq;,h0D\@#QtvPs3e[k +{.)ۡQ)NWMWf6+\ܗ}d͡9骏Y=i)>im4Q0;%edP"5#)Zؼy)B؞*DZk. Ԧr /+rk vL]#J"Rký}*!A:+ kH9^CcIbJY]#ieD 14P~ 9$ k<D$p1|bq Bn uKH*j k:I!(*69F?# :Jzz~f DL~0~)D9%+:$ "祄TE&m4ma}H x[ֵ"'nn]R"bddVvIaX+,c2c&mnrϤk[5R$c#ĿETw΍QOܸ90nD!+oiDh1,b9Nr$? -1-Xl&+PE2.GI1Df-xj$ hц  3] &p$lzn^~4J`;!UN&*!+ceF'J@/sS&cۚw/%i%bGT2E247gRשr.Gh㩉)d2_ jrKlQ;_D"u 5{cuV*ʖOP/CoxG~gG;I%DgH-7|v^[vy/H^8 ~y10D؄bUӬi]{(%لO.3R[ ʕ&G&OiE7b# R^0O ]7X '3T`QkP;1:ѐq8j%ljD$MY_ d,ғoߑBLyb܌\){ C;uiZSl!b\)#ZZÊx};Wi> %3fh8[mĶ6lQ4񒻙7CaqKn[/b]^d$b eg26i5-}?'-"!C-ɈŶNRe0a/"%oh\ u#?8cy jmXJ$GjqF,:![avEC~9Gp!;7K4'@CZ+ڬGP(EN)K=M>/ddd,aI֛MT8d2ֆ4wB zHB-G!@7"YRO,Mw2*ӶaN=r. qu'{Ed,*!F+^.I}Wn,l38E%pl~㇁ VMh#y*4(LԈ5Z+c;G?,`A %IZ.~; SNl@iB@jRMauKDOC]Qg mߠF.cQ4't9h.9螦AV` ㉡"L^Jn&8 jf9P{0 r&N!&!ſD;#*Gs800!XnjOžbkHɩ{(lM\7U4*VD Y2Hm*<8葅qt $Zߊrqƿ q9>% 3/8\J'Z$رfKX*P HmТHk9HRċ(qɊABQly=2e{&6/Ǎ\ZrXƋ֌pŏ(-ۦS UӠrn21 fZ.&80xE)>,[_~/7` y4)D} *ch9Iq(?ud)'E<2Vˋ%&eWT3 OR ]mPuM5P~o=EffMODq@g`C,R asxd& LB=|BDxCݝSvPń̌J^4(m-g2SG[˦bXOz#8j#N΅%Dx!A 0V!'IۣO5I*D  ǘ~U /|5A7i62~aUlSOv Q]d p3u0`Ƒʞt˓.}E!!`a*fevO,rQ𕔂MxD{slnM.^B K"!dL;UkWDf% jD>S܋QoIr@đyAߚ93l!7-c=ȬdǺT0~$ 2HΛNk5)ʛ"zs11ycPI!#QS#pns3ۋVLc㨣A|0 Pl>b"05ؚo̐S 3*N=WaΓAM=ܤ-݉&cTۖMn:Q!N1-_^ەJΩ[ uID|>$5 ¬(ZxpBY\YjJ'y׽_VK2N&6N),idYtƓZ USet&+zS0`fɱzJ[A2!Yz2B)Mx@F*QK읉6:Qmc=+5=([E.%&on^F~}G&T+ڗqZ`S+3'7ajțl( Oj8 cҰJh!lQTP|HzKn`#[C ZUom*߭PǕJFblBcT6\\$k̮0BXDb>M\(Q Я*c qB6\g$53q XO@X/5~LhCgy19ŅW卧}PMGjKrtګ)%jPtXN~d͑( j>>!3qqB(ù#Ua.r'嘙j'KTy(^h[G'.!u.2Q ] .Cҳh㌳pt jĄ[n"l[@Lp5Ll%rB0c(JJAqiSb(E,zj#P.1`uYPbPwI9N”nO0MQ۬ʂ%bV2itb̤GUJL6f'c(6VDZowF39.M(0QH%-κ%*K]BV08rɉWKAHbf$f\%Pa5X@bUKԖ(jP.;%:4,Kp =DJU+}d#h?UFx uNGā k \w楣|E|EVtvV}OYhk&ϥ6NE C"&ar!5> JrYH  ]/ؽO$ٙ 'pҬvH  Jb#Dv#SO;dH2 U,0h˫Ay'Aqڡx(kܴ~B!<0ZCq.1oJZ/vZ|od)ZdKdc>ҭ,od0l>}12&&X0C^@ SQpF/ :V'xn2"SxI~^`i3w=N̕͜IL`lM} )4@&8*|yUY nJv9Em̵]&AMOӴ${^<7p Cy)/FcNÐrMqO/7f'A"^N@NCPZ" ]8i:)K.Ĺ)WqK%zZL9]O'wps2JI@I WBT'S&*E_uE6h '$դ.VݦZrC|x ><$4."CN[Ah+^'>,08 AX Eh4Oۓ\zDF=\Ɯ1Y#Ls42u*%?!"#ޝrؼ?Z8ÏlɲkoWE Y(M{eԆ8B ].EWlHUFuW<_mYx8שZa0[-_7}#X,q:9:Imui'”Qf,3bKqebUu[/msƻ"n_JPM u. hh:c^޲3)-nrQ*ؕ;(("Ttc,ƁD W Gg±=Ek쎈hiV > IIO#0j.2>;Qc/@+ ` ){e! 3p¬ޑ8*lEzYj:{ AD1( I'. 5L R^ȁ/{]}A<+ _(?1ZxX; @ʰp*? Yyw)'%IVEAKBӵ2qJ^ZcۄF2:5D!arBTfC>6Tl8FhOW#Pj EOs&j H++ R\viW Y3Q1PR{ "KSҵ-}^!KXxIQV!َk!''}rH٠FM PؕZhHbȁAa*PC%p90D C€x3hA9<D#Vr+ ?ӆ `Es5z;8cŗ  s9.&u"BP3(!3̂\q*  #Lj)OPuE+(Kd68 dpsllHyTs:>n-NZK#ZĢSҏ7,cr IcDἔƛTͱ [k2xK2&j͇NKJB)Y7f_c6v 47Fem6{,p`Ӟ[PawS?}`t Z4"h5P=8t4oV.jB%:Hn =J{jʥ|?g͖|1wVmr~m6\4f-M=x aKcknI=E[\.\;7UO^:$O,B- SԜ'I(jIwrՌ߈[ QD^:RKDOG9%ܾvdHzC'OٿkN@%- 0OJ)!Fʻҝm.#BF&\g3= hS_h(,wU({XVQM M#2º9hX-TD$Exx9 +,b6L2, ,tM'q)8 w`[c,Ja"  A7Y~?q;Vni=dMT nP<6dBH4*3pٳ !f>_7 q'^ =Db= ]7`núEKie+˔Bۑ3,k^` $0!&IZLґX ;z_JTyc 8 1SFj2QXM e!qCDj] 5JC}A`RxNiyN dm2BtnPAK\&cBDbl{R|> %i5GjVk񺲎Cer"8Y̅RcРHNk#(o8 ʲG6b[AEKYGCǡC:lPF.wbSXd߉ B8c(5lDF#Խ"P P GEz%B*1 'MvlqÖ un>68xreB$]Qf{-ڗ3zI1*hJs M^M MԲ"c;'֩ߕBN6ȡ9WB#G-wFEXLR Jdd"L?XS,=jVޛ y~F[ԥ' V-)ZdDIXb[[!rfRz~I[HhnZ)ONAԥ%J-jv"BȞcojgRU7bi_뜅/*i*IլFUTV[RJs8a4&]5`v&,7PHsӕʏMxVb@A&reL5O2?@M+z%4 țk:FqQ9niV:Gg.v]YRDtA{$n>%ʩiޠƎLʱTwWtԁMU쳽GL,@54 'z'$`h!+__0wjU?$%SsC+yhW&U^{ڪ7'Emu:)*-b͠?'hp",e<)u#A4Vs 8欖4'p9d78XrwِSz ڜy@< aL(Y8O՚D+NS]$ӚDBZD6VhN*$h8lNqypEFD Zt&P61Q5k*M}5zۑ{akK-CiEP* ^+FF6j"b*dl' (qI0Ӊ>.KёHv}-g@"rDk=m,ҋ\KqLR!T,ZCe/f!Bfq"qy-L!*sKP)vbs!f3?gDb&BVlRs*-UeWawh.[f,Ik$*#INI?ʨI/qg儃I M0js-oV-lZ06Vh}'T0;GEB. d@(pgTI+W:h*+ugU~*~W*V='O%WXjXzdMs M܊Vgj+a(+{1+Y>}D}u>GW YzMoCPU݆ZﮎOKh}f}+}oI1 &to&/MK(;ZFm5!|tm^66zࣽ!#]vY0dݨT>ۄ HB(5=2WM:w1SB:Ss&%PUiTw r7ft5k GJ'k^X:X`~ rАr<=+Qil[NskI nHm}5K7/#j;fCYB`#Մp$^2Bvؚ'gmҌL OnR؛ziZIC:1UG+~%TUIMHH 0@bdDZ@1"JyYyTǑi X F<‘gТ6 3٘nE7 g~45}\(5ƠZ+iv\&sB g%Ch&7|Ґ<&DRl,- G%?A/r߉^rTYWg!WyP>,YӰp%GA(D#[|B T1&F[ |[&%6<&!Mu {e~7a=P@T^O2YïrO-*ᩩU7PQr<%W$ NB!'a3[.p᰸\ZKŊ$"m{7Zi+҈m|5߬P~WGXS~j̢ ۯMMВc,%$T~T(%7h[^4.Di1Kjpl5>n!A򱉝rbgᣡb* nl;3qwB®aE q [8,Ik.jIJUH:lv 0C×6 K&foWW4j+2h6IOkPϖWA'#[FeRNv%cho`ֹ!)s@!Np{NA&<ڊ-PgQLi~O4#2[!&f?mXr6?t- yB(); b_' zvg(CA&2K8ЉOR Ys\X%.SQ*Z4bP:"R\(Z:*Mnb[> օШ٪>cZAګ*&[[wSػӕ%>~c)cR>H$}E?zwijűW\G`+de|+ o:{/vĪ'ٮ!VoF\uߎ^yTBzn,-s;U>ޱN*drvvSg;"KΏsWXFWUU[MH_$t14U!r ^rEOx! ھs`8DEJGkN 9few["&`z&5.-{֘/+EiɾIЯmD٪S^‘遇ʫۉ@*QXiu/''S?5ܺbo'n1c W Z̷ UPFh͊"*x/g3A Gu[Z GenYӕdȾjOjj(~*,`+َs P ;koԺVٰtB]WdÄdƄt]Tau܄CF I2s*W胃ew2$BphTm똏9sD$Y[=/(NBķ#C8v]E)'A1 +~I,VG#X]RLNˠ+ke;Hn5>ߤG^%M#Š@P9۸z8˖3%aWM[%0.9Z@Z'P!ᝩoUKna$xlh$.ݬREA Qqj˯2'~A`"kVS6me$!Uw.v$ အIO>!4PL6iA~0Ɩ}«X&VKTq#ƜmʥE$Z5 è A50 B{ÂMIO2noزv[p].o 8K<ar SvP6˺^LRFӘ4?4DNyKbYwrXqC%,<"ȾJydQM-0JK9,`T?`F pPG[ؐEp]IJ֥!GlQ (ybM'lc˅ |.x(,HT܁ZL|~zSӒ']OY!hd NPՀ9zTw> O?]Jb0d v[(uP^ $@InB) ^ W!1,aʩK3"j U<~B dUuu >@O!⎧ _=+{2&}n=nL#QPԐ=C:\f).OR;:(iWl*7?_Bt7h(M'FYuȵRn4x}hX>"]]b289v>iLʛa/e 9[A$]4E+}+YAF/"7~A/#\NR8R>\538G";V!k9kMxJVB*W֕ c`?=)P45<9:Tz[m`)$i2d3!/D!4ܭ|UjDn\drRk*_Bb2ĕߢe^F. ߒ ]{v/Uf"F4Hm-h(ND(vU5 p-,S'Q聱 LTĒ+3 ird7)|%q -[R{8%YMpXi01+Q\l "%,wRI[>,ŭ1UJPҰi7Xj ,U^7VȩM%ʚ1Bԅ~CDQl*.0hiI$P~y4cMIze??;JX(I{* WP‘YF曃xЗdLdZˈP [A@L\K.w'eFb\WKޣ_gr*67d!RK4.j% O+Kq1M\e\<J&o#MK/G/W;j(QGE l@mL#zsʗ53.!#B/4Fcy_: HD6$;J`v^dG~_tq DDRMy ڒ%NY"zWjX::x1r9Ceb5 Sxz9nCnZѐf$*M&NVp'U2c&m1[9iYI)#b `k2^cO48ƌViܺ3RaJM/},Mܖk ! Gf ĪՊ&LEydmٓ𪯚+{WV9sSVO0z9yP^)-,m}v?jᝩ?)_I^V,-CJ5Iu#(F \T:_b#a[JEE-xmXEJL/8 Ҥ`AiLxxoGd06ki E/uQ[a!Ҵvq!@Z3܉3y%Sğg^:vs`+DhCJNŗCR@+HNE/Zy5 e%=O V B%$ &USuTA=N/fo71iWydqq xx4ӥe̩_dw("Y)qz;|;M72WӄyԓģYWNw73|4&$2f+}KFeI/iMe .jG2dxQ.H~/Ρg!r90u˰ފ:E/dk~ݲr2وsb&Iyk!Jƒ= ^#-7:IWE߱& l ⒧ /i:Qqgq7Y)y0-,cJ|xvYYp;rRLGCdz =ďbaVr;v #3F}ﺧ'op()C\D2(z} /Q+hL(&؈R:WGܠqEV&/n}|t\bd+Lɡ*a53uT#k4mJ2E[>j9W`@MmWj\t#y**N_/Qz^NvJ2~&\-6w昋!A;ؑ[Lǡ1Z ̖0宿鐬\pY!|$rsQVK0Ts ߩ T_ͿHDW}۝.ixnr)V+>i ,S rĺiPyJAp Hx{jFcIGOIwTRR=R<;%)RL' ؟ 2y!_DB,3I^N#NSIX_aC"O Bl4rBZaQڗ!]HqQڡ*E:{{K9tPB3"@Mҭf\ mBgXL!= LtW{7&$JpLt19yL9ViF2 QNG`m>|hcUO42P2*$iuNF$T]%!5ILlTbjoc\{6C6[*<`@AAʐJUBvoktRD0'Z O,d!*q) es -`{392-D#T4hߥԆYVj/G)F,AZ;jnbw-ϲMu7*I'?F@'6D]oà0aR0f`z3aE[EῸ\o!~'U+|&IMw2"H:k._D\mŘ$ab^ӚNDn'rLUQjHWԤ}w[ por}i!d+d(v)j&<$!N6nI\h!%gF$ s@_Hu~:Bw5#4ͨ"4lH.\%lUi2tBMníE/dNBDeܱyfa5{|9Ўg %Im``Q3R!E$;Rd$gR!g6L@O)D֢ >(ydU'*+u.B$z>U0B8W{.^֌dP 9 lI[)d4֘zVcU̙=_b!v^rX9?I9 ;cWsJǔ0wG#_ܺ#Awn%%KPQc-\Ў!2euasNV  ۛRƳ9H_ꔱiC@4],*=NoiF<8W~(:D*Nؽy-ξbz$ R5~gMz /][ JN(z8'NҌ("`WhZ)uLW`V)\ǟQx)Nku`DssqSILjLr^1,b([QIqRm t &?]#YUdL}X̥ xRL*J vK>ֹM) 50H_¸hJv(TRQe,1hU%Xhތ؍ЙhR_PvUFxPN^$! zot VRW (G|6)K8u2Tʫh8ǹlS:9fS@]&iLaTB;U0Թ3Ⱦ1~j^F(Q~THZʢ"; ʹ_2&2Yֻ ÆQAmJcwUMsYG{ۗ0+hfc#"BI ݩEwܦ Dr&DC;HO(U~"/9TnN3}ö4C-4ɈŸdF&&)%%#ⴭ) ojH՗/]䫴tQi@j )bOmqQ;q;6$=L>IQ ^r\;+ B 62>P&A3@lwj#N_#N$Ib DB϶Bʝ\kxmy]߷byk|Jpd",U[>z ʂrmJ]D&sBKU?@ɺ)47Ϧ/8٪'*p[Tԥ;b]mY96M ? cl+o渼C&JA5X,]%@\ ,IZca7p{Q1 bץP .AH [u{Nm ȶ mJ[.9ױTAoQDY#ں`ޏ(}rD+L @ۋ||2'zSk~RG>۹q9*v6(#:3d_FhcV)Db,ơO4;dq1g3WZ2e㦖 IܵuS"j#C?E;АMaXAš_e: JPEz&A&9\jTl"ȷ.F&0M͝a i)|pѲ ؁Y.沭т%Ά;hO(`*vcVƿ(S"&d(u ijNJ砾V>z0mDͯ3W\J;GP4OB-8|2YϩGF|M<'eAi{ܹJ犅OZ  7qࣛ)I+¤z H250Px PlQClxF&ZFC)sp/PR }&+/z݄ hXr@@cP!N^(֣0xVӔ7܃k=6M!dяzm\vdWchNsQy4x(s<3A]8z'CQ LDT)sPWv_ n֙Ud0Z?>&^J qp<9z<@&35'UM e:s"ct3icS=iyftVи驜~_{1 PePSO.p]IB 2\תnb < %0c ߽@IY^.Qeߡ*%ENwW!Y>E3J&!8TS2Pj[qgmpͦYHʏ`J#0_?MOdQUGU|.6,BK8Xz fV/>y7nHZ-&*)KڠPe2<_df"313)͉u;+z^rb0 WM<6#lԽf(+MRJNL)WTbh;EH1Ǿ'Fx KHI dwD<C@ e9Rf99cqǏ>Odx>Wbx@0&Lk%͗)@Ї=0h-w!Hh ׾#*|Y,1|V|rHL-}V$wz0*jHtlQ ,eJA8ҳ>k"Kgdj$VSv$"8$-UIDW{*,gޓ^4d D|}bbT=Q aiϻXːz$TL۰~f @T|uhCw)AJ+)DF/{ ۩Z'0;~ :h~w#\1LTØĄ > sRdcѓ,Ū*tY\Hwi$Hq-H.&*cZBP@МHM%ƇBƆµjXHW1WrR6SU5(Ux)Pf˻ OdӃo弪 v%+A\i;|'֒i+ e^-^+H+Bdtp IțA+hpJ>c ?X2Cnn,Ҷ? 6XRbNAkLY6"جQH_UPw@W]n2]! [cd/Gexw˲SnB8 O.ȼFEa aLnb,D+Q 9%Jeft<5JbXzHWάd/D'(+ܮ^rw3Lі#Ԝ3Cs|N\v8Il.eUO:_PN6R١)2,ըkMS>,*&`4e2 :D%(uCfwI\MDI*3%`(hYv91AY6[s2K>5hj}K= 7J8Y2%u,%c6rϪJ[ Pm1FIs/Bi0Q8J/e/z"iVo e0^Kr`зm1I$]"K ЎiEy{~c9P3ی鄓%s΅|iĶM]%xcR[USq[3Mlť"}H*";Ԓ R+ॹY)9yp6r%)j$$E/ bVչZx-e%b Br 藈Ƀ]ʋyjf.ɮDv^c:IRx%N%]9n: X&KXM>ՑbL m?,39mNjqw%b<٭L_"򌌺^%4S'o@?ԷZT ¯\+} &"*#k}%lt\UA-Do3E$cމOh* 6#RВ:R5 !s)\1K!]{l%viU}ʆs֟S-<6ݞk[ͣÕXߑ-`@`490g!\ZvIl0+Ur&s kU>9jJIKE!#% Էɮrp{NdDg2Y!thGB(0.I w AfֽKTa1J5g?k ҅1ƚDl"\~|Z`"jjKRsHERy4AǓ5}ځ@ Uoa1A9T$s)ujjO"0b0O[%2OhJg*#bؙ"r&(öK}ǖtbJ\K{ȝ{) Z 0HLI T(PA*Jb^q9W2[{qI[5~)x^y|tVlݬd%t4+wtiN,X#UPݺ]-SdDhJQ|dtCiZ-^8@PB`SC<$<9 JgfrEũؖ;NBVr&Ϋ^ꢒ\hƤ0*QMYfp] PW&ǜ6J"*K]ugrekK!] ;-ҟ%hfn&Qzf(\ۜz ME>%*/~+f41`v"54tW9KoVl  Cm.6B&t[b|WXpm %XoM-zm;$gfQTDFs Ԓȏ7nĂ w£ꄙP^a0@W) :ZbI3lnsvzwZ30DJ}KŨ5,,еyj"ڤ)H֕($Ւ4. >jL|D| iVf]yzĩuƙXm`~qاmp ]DDiXq@~cNగ 5u~Z y/TJ:Zիx[`k&wPu-FЭa6mc'y`b`!m&cbr^28T81`Ku S>u'P`2@`& `~0v-cBbɴ#(ebVTVkI<dϾQ`@T/zcHû^W2"։_yU)EgKVVہ=)蹃"(*8Tf17ǏSmd}O䳉OxNΩAԌFdrF!X\^z5ՠarpsPkby! k?$ n{ +[lT#Z<#JpAB3? bQt^/؀Xb80i] S@Ei趒fE9x$BԱQp -2Flƃi.Ey'%*%+,(.ձ4,Y4;a% e+[{*ZfDV!g)Z%6Nz}"e5?Kݜ #ܟX-M9p eX DuR4ឰo dtJgJYd_$# Y`Ttݫ4whJ+D(q1SV_ʊY:7SKn`e?!H 6/8 4Xe)1P` oǃj4ޓhI nmTvZՋig ?:HEMd2ߑsOo] e4tZ1mۿHXy+;j\xV܌$^LG|D F8])WQ{4^x&_/Lfř] 3 ]m%JaȊP@ A&CѦXO~`ya)e ozɎ +H'ҳVsJ mFg(BlT3jR^B.r 5%.x.CRϪ~ٴK2#!,ѺhUx~TB:ںb xSyo韷WZH8f{k {ɔ ? Xo ~(uXԊ瓌"Swm3~"ҝbr6Z$HB;,݌~dg?щR_{VOBi%s[ ut^1=ɨŹ H>4z"`CXԵ .-4X :<X A{r}+ VPnWsD2tX\XN!`* NbX'U۵)ѦG7[`aS Խ_[Ihx,Dt%cqTYCIBgo)Mꛋц#)]!/O/3Ml?W1FI_Ru1DZae2e ݷ]Չv3 ?JmwTt<1U)%sXUm:j!UsUAg9${bVVJJi7 ZuR!L¬[ aB]?EwR kXwB4!Q%fFb;6FQ9_8edax[ZEb$ c=,0L9b%Du }0zX7bų)hNS4H 2ruy W\I{\ P+] }c&4ea*K!Yᩱ%4sZ\%CѱtZy܁ zQ.LV;0WLabňfn> b 37Mm f)-I!DRu+Do -E`h I!_u͐!h0Ud\] AQT9$2(7E.[#ѝk-(R.+&Y6Ht|b[;1Op8Իuh+O$)j-Hky 7laB²"^78taÍĩWyeqDT#)^3MzvDm<ȴzZAF*ёNE TY qȞxg'WA!SRYluZ^IS GL+?slJ5QQ::,Ydpft'QW;5*oY //VRGnB M!-n츎[?u"%jj0q= tRL R(ժH0ʹ'1Tj8t 6Ty:: L 3 32꘮$0k#܆3(rH^VZRgaIGB^A?vTT Jzn5)c7anZ>BqSz=nqlǗ! FKi ]1X 3ZLǧ)tP ;7i :m4qveZPBbe'=G&.x*븨QK)y\(T T^i[ zHcUBrIJXfcAcWY0u6=O5+cV%h";|cSׄMMAԜyZިbK'ea@BbU}<d]m#nJJu?/n#6|#PKWD=-ͪ/)"dVxCy?5qdnwUr"0 C~gCR)6i`@G%seO޷#ZqD46:*a"ny]NxM2piG!MmyioXK=+(~*GC,x7Y^X/u]ߖSbewh0r]aWhUew ,8|H;CS􏲍jFe,Md)D!ҕ@sƗ*<*BfǼp@(%$Q Mm{-Fݔ(Hts1<} A%tid%J'-u ^C.륓J:K CZSCpFU $߸U8UDn8fKLuӔ_E-x"F-(JѸ[T#,s7Ylza#K65{a1bZhKhc_&5AU} e Qv"֕(!Q;P#BZ1(Y1ڍQk,A (p;6A~PzzI/!MtV  g>|&z&uO³M~sQ7iCB1JSYWi%2}2i[NM]F2H*#Q(2|C n$QA=nc _[X;4.ϵ3$y,m-u)4LK_asuc1GRݵz~ ½SV`DH]\ii'$VQ"l8z U&;7}:gC^TӯӰ9m YZ0kP2_2{o\Y72~A1q6שel"C-_sRl^]K,y)fxVGIw ckӴR:I" Lv2UBEϱ~Q.⇘D- ĦM;%,@!=i4OB'%d](<{Wȡ[ KbZ;QۭEncUުs_Gv)j}~_We.MxNФ7X.ؠvɈźjDִ= șb2Z=4IBwbj[(HՅ\a;G#lJdC+F$ pNp$qq$Rܩc*0M"X$B=ϙD!d;0&ofKgys)<7j6Ť (s{U}87$4hPjCtru&Q0pyCe޻~qp9Ȝ'[v\#$-/Sm&XK&ۄzrc2窓ѨHP(Ik.i]b`X[OjH)bMzlz6lV҉֜ql;VPAڳDJLn6|ZeH$祳ܐ}J1+3nKk>z!- Ŕ-n6kKIDUlj{S-~Nč3U?(It䫠dbdʀ4Lh0Rk1Чgr ti~2ʥHyŠSjbS_MQU/enT/Acl@S_0 "=c2Ȩcef J?$my@"BGq$хz5|ҫ)0)7X}_PN`ZzSq&7)<9,".'x7@(1wlfJϔf\19)b^IPwAJ5-[qztK%)Hg-vvܖFǒiPC O`HQ:K׵ԩKOYDM'5 |Q;p W!Vuq)uׇ28pN5MD Tv@\jhwvݫ{鹙 Gž3o4!% ؈SV"0L0=s_ 5tÓfS)/V]Q0n8Bੵnٗ>#"Kް==tfr0%)N>J~;o"̒u4*2%=V=:"~ ,e՚Val!t/,"8.iV; k*+HGT7)ކʸ+2Z|7I ~_Zтá鮁it!݇4D-(-LbaYzP9Bj!bc<Ѓz O?R!PM!V/`֌ z"}0i͵ίa`(Yc4 8mx%f-s扵H$n0vD؝,r5ߏ̆xl]!)0:+*mv/ [ku-ukĶ fT[>dSbTIcG_1X6* Kˎ3UޖC[dNFcrܔ4D% 2ԔBT*:JQ7!Ti/>HYhLQn? 3~yo+ǘdh)WC10:î)qN풙c ! ?x hQ W*HeWh!JZS_k;MȐ.MijH1ߙN J} ·ApE},'0)ѝ4h@;S=}&/4*=6-sTθ=?F}id> E5d+\Kѣ31X>(P(p!1o6=JiG I=}NHidKON{V_.f6Nnwibť6b/7MzֽiRc}Ѥ!)Ԝ:ҿeLP0U̮G 2AeOR}GpY ,j<ܓ;mSJ4NmoK=3'#s(ȿ6_1@U$0QSBy< 3a AօÂ)+{؂sMY H 6,^*}!2dID 2.,;IOhDK3&)/(-ˋlŢ="Ai-':nI ގv$p,j()jIY:^$N,h+h.(\z~mSRj垶ȌUlS2`>5/!"n;983 ZF(y0 ul!yf/]d.~+=B]sIrL&_@_ 6xu 콧3K"#j'Om^{wXn4HܝD 'BaC2hee=Jcؔ9+ݩ2=ѐbĚ褆 pçB_ؔ"^3I#ƅ PQ ;El IϏ'ZѢeCp, 1 ;C xV+s8ȪnþJYX^r %ɝJ+d!tJ4mD権(nv70q-BPaj:^Q+KؚV)kg3o3dŁOD(Gh YZ PjNE4"Q*(wVUZ8K`5 I}Z,N3o q1,E"96-lW@XTEq;+%Bӫ*]ayZ+*lL#=XCuuB8G˗{$޵=qgl7QlNp|Wwȧ=vI+(D);}NEд$/*jz;NYHc T3IC#jdHïm(KlIk"\*e_?9A԰]_>d=tI鸨S|T$1ҙk|"bïjqS_NɅi3  Ҡ,?$NYܳF0;PD19 @DM5[ C :o:n] Bۂ*RCc{O\xG%&񗭀H`\-3lz!t?:.o) !]ٷv2cdmPQ2,FD0T.+3B7ՍΙ%&%i4ijHL bz{-^7Vn#HJqM\pIh}.GDؕ $ 8Ш`Ԑ i_{vz.ss Higx*1tk'YK;`^H/Q4̉}JP&P0'$ᴡE:jz}@(\\S*<33!CجlEZV8DC  i:O2x!T֍PΉd<3Y)Ƀ&ܼnMiEs! ܒ 䢉F0J`iWlThFƗ06&$8֨lj2͢^rhzΪuAgAn z#&ms~e[%zn.'aTCzZL`"d!F2|"fZ0[g46iCAܼtPҗ3I1blHT&0BIGwAq%Х}^Q9fX#W1LCRؖ-#6G'i eYV'kt%wq1#xWtɪCU=b`CA=68^hh gV!,1}l|ksrͪ*t_Mo-eă$ó1c:Md$t BL |c oste!'h]{"RXdS#7El}Ž4DG%]z=V~jnsDkzR 絤Ռb$r7Pͻ6-ϟprefJEI"1 ݤme lq ״:]x~G>}τv2(tw*Ejx3/- لΜTk-S;Bz0 2!; xכÒ#HXNQwZn[iIodYMơz J¥=U|Yht@dU)-9^'3ZvjE ʧ8QmA-8bKvQ^J  a~=9DWpEC$Tp#*1%$@Heߗ&2y)l1PYlu2WF1x0-TmI`)]wBef/ 68F'~L/B@+!Qⴸe+JpJq0/}+[B,$.ce%y L]#ESƅXTų;2Q l+ P"=k-b\!~>ģ=ʙkԐF_Tg􌒳ڵ7rQ9$ѩG: 2nM IM"X xVz#BTB>Q+q߉5SYj̍IvV9wE$D/1)P\7bn>vě~,'ݤ]kS] %LJ.3v>lW{>dU(-m;2!ضQd1ƢdxT 0b|R̓SD WdVj P7+#A!tڤJ!"xa '@rM%ɇM*i(vh 3&F.hho+h[gPFf#TYJJcN4r}=l஫yqMZq#{yr@>gxx̗Ȑx)[1|"))Yuh͜"‹-GhLX)L)5O(gY8?;4Ry&Lb"~Tz^x04(^m{-2d(oxzaGX^+|~#z;kW6ɾǞebלn(\f]gZk:h7[0]bZtG9tH#R_s mHnTqpk `^t}Htm@Wp0 똦/'Iui$At)lbZcY?I$] ˂ѝ fb%HwR4;&6fƦ'Rv(N#\d=*XD!n֩b3X@dVj NVV"[Du/R.ɣu01;B8_] P (`\{CkM JCpY!P*FJГp<.V)0+`-fD=%搙ѓiKdh@<=^}ܩ :ÎƛFJzDtkʍ4$q1:\jK Y$/Yl yZvF9O_'f5鯯=h')>qLaf?*Yc'k$C&ȉ$k7ѧ^z\ |¯Dv-KfV(ٺFy'8ثuI+'' v x4Ec Mg@ #8sF A843r>D|+JvUP *A'bH#B gדz1@#lU}`~m`_k: 20ِ$RR y$Kك|teBe)y,3#(Z3'L '"9Y ]b2n>>QHW'g?7(%a4 PEx9%!(4̀E]?l2@_CgA. `@hW  \ zE%D=%wlK8(GxO7jG$kmY\etթ9B4VϔlIl&̄t*TۑשG23wm f>%kv,^)Lo[eܛ6hR\iCC yO'xgr9$MSk2T)@> è9U5`'w3\-PÜ9_'{28+t0}&Trȕ(~%%"c3Bh~Pv9t@OPGj!SdO/ot e&쾼5 /mPoaN O aBX(FIQ; &NXC.UjrRX DcUcxM%ב1JfP@eN|y]É%ώ؞NiLEJ }xl HcBG}L3ڶꙞHs)=&x&/꾥ڌu6xҩb\.V uFf4t'KLP5ac' S!2ž(Q_YW_\.Kl~ivʫ/4tQq4%wC@ l)5ʃafzN"[z[.j=*V! %źYh]sm}^ʌ˩Orz֔ ]nOv~ǃ=ܴɌ g I8ʭ6,^t?1$@!.ZZZeM;jF-UТ@ִ ?Կ@c~󌔳 bx58[ΤԚM]-)eni9#!AEUE;VK8E5╵;!"b&),IM!/oV9jPbs]u^K6#&?*لn_vBT]YYHA2S:Xתn*5 ؾV 9צc"?:{-X/qLȵ赴^OdىGs`!)%F4}CFT6zPpm1h˨E9;PU**׳"2t;jXw`v5rX`ҁZYZʄ Z0)a2n/+,EVAC0F" Ŏvn/,ъZV\w2F$v5[UԏM Kb)NNS`?&Ou?vvȩ\0Y2mYł dKñKOL"B'&\>0^dLC~*nb\-jE_T4N X0)55 )Q[v_m̮DT-u֍T'i;c;IE ei( N$3TgٯEUh.~H]C:'GN%"ՆTǡ[xxQaA8R$iP4m'u8I"Y#_.FUiAK) p)#*F8J)"Z] 406O{ubqOc;=rhܛѕM1hFcSV%_|Lw:U2HH.8nIÓ5 *OL#aH,1Ӓ7 g#D؊w`,z|ApuBq"ӳz/ G Zp%Z=Gl.5”7cO$$T)1)NJԧ~U"9Dߘ?(eH)HijZIWfX*ط o;׭1y|?נ+ WCRAzTBӨ rxqLN_X+1|gMB]w f!<6>KxD*'sԦy(dcmdQj$ F8&gYE`Ғ X>l P>>!UԝnH\Hd!rDS/t #2\F9\V57xh I*8s"7c)1՞ДiG, ʕkF"rWhF MlĦ\r1Uޢi)7 `PLE_:_[*L58Q(BD&R祤I ;݊Ff m"B+r5w_l4?>r zO—]sHm<54[#-;}bYSr"8 TmZn=mԺ3v2߆pO~B%`g8%dBqT7;wbX. 0.Yc ÊWp#sã b($O.@A F1߂p:!.Cf(BOHE1dyc.Z糦]zCyŎՆwz&T&~42Gbjl̥,,a}I9.35:KDdNB{[R}3R]Tt춓V#Oj0!(&)?iL*<6| B#`hL ,Y]t8%w®rQP%ܖIXTGo@_uyRL$z\/XDU6{J~ݮ ԓbe/\f Ǿ8مDNF+]{UWv*pvxd'PTb]1 ‰k6RPQuLqr<7;@쩼Qۧ 8B||c%`/r ePA$D锿 B^ b*4ExB,_ȗ&p+3XU"׏%jjJ5a gJڒ vD/ ХaˠMmJ܌aͦ~x(rK%(Oc[P ͎QyQݍYb9 -QƟCov$did>:L` ڑ'h/, R< ^CY-J!^i'%|36yS<$MSm\p G *k{s=VQo( _B𬫮m%,!~V6 rԕs*dI lVXѐ 7*-D\T#j-hOW1Vܲ3&ce"lKp& ((^ F8BDBdoCP4}?'g+1:CppɄ&(QQ"X[B !xDy+}oDYK:HsXm \A/?ZiOzԞH"%= HY`,د%7O˨]X?R̥p I9B6p󡙤rLd./x3-̀Jrz>gmEq' "[(r)IT|x@^BBzXA~ ~yDCKM ", d> I=ŏ$WQ#QC" >pE̽NDU%ˊ%X~z/ש1}a3'|Hiu5;ҫV/MDVJu(ZȢG3oES1E3|F],4݅q:`?zu9O^xxhێ=d$by{:BD`M`2rIN;Dp٠I#!]v$YHo%VFt _d_K; ȓ1llR3̂l"b=guHޙjxjeVdKA9]AoKuBG¡ߢ!TxT6(J!v J3U@BQ] DE3 _tgehpYa,Ym`/G{'?mUä"2_klj&]6Y7vR2zUOˈVKabS#XZ)ʝ;JZD*;Z +:GP$?V!ޔP꺈UKWN[gDI6ʝ/skJ<-ⲩٙyԷ5dKf^HF*1k-BKMKeZ9ZoF*D i*S΀޷6VJnȈZ#%ZW KSBu prgx.o%lF@(1u,VK-Mx0]VT>`Ϋ`[rt X \8|KCe(&ɇZ8 Y*ͷf,X0蜊cV$ (H!3%$; ;*f wc/5o|֚#aٻU=X5Mkyta2ռ௖S./4R2Ė&%W>گbTn8!XUcYDӼMD'TQG"1 #–jEbBg()@eu*L4FW.0TLl_H`ؼ BԊᆾST8*))rNJ&ZcdaMD=QGDA:0)3)f@1ɈżxV2ln3`?,Ɨ )Gik K9w:hez0T&8`堫gA493nLIv|)yw D}93> (ԉz^R[QH)nuU𨯶l{ARL"?(eGWMeE(ZbdR!raU"j}r-ntb=|jE-ن ]e9|fD);FEaD BJ6Pd] "ED]7 ޹,^,g5obHd+~3%BR tDZ̀TpBz_ir굟#ŃrzSr.|1CWQ4GH % R<| $=L໚ɨq$=^烄U X5-! rq+2drИHhr*N @I։ˋ@<1 p. N8s 1|DНB]'."l~%k]:yFԧOctB3!rNNRCOI |nI9iOɫLݔyRrZD|JگF FzIV+jl,=TGTC&SDaUxQbt/WN:M=hHeYs婊W'+D`)WhR"[R&v/U#nۨ2j:I83!j2\0+'<9Zu}ּz]NJ }Q:M )S +5CrnZ1x:4ZU3WֱlIDA2#+Q%4p b3$0UI(ܬ@.,#`HIiH y@u)-*9Xj^-T,'l~nk#B |AlV TSGW|3/F@S4[<-00?@R<#0IIM䡴jMd$$mӹQAYmV`ݐ1g"\t}e(Ҷ-_(eܦI,¶}0↶cQY˃@BF%C-ք",eDJ&7 ,\ p& $(rAhb*:F$Oe :)e}L{,p B#|~|h_/Fjg/Kl..y0oWO])X㕌b/@<ҡ#2QJk}nщ_-ó 4iYb+T- %;یa~3R%,A|Ο^VUVn4e dQ)Թ؟*,gxficp*R„ ChK*MbhL6U:APZjQ>pU1⦨ťi@W#JU4.ѲPo¡~1)oi~m5S&C 0(,#gKN:0wjcK"p`\E ժG'5b*Nh}KnpH(ʲ=w8a _uQW%E[W6*vT(ec\_Iұ9{a ..YBч?hGD*ⱤŠqۦG(.Vi-jb&Śh h--;6ƒ$ {魰,gC=AU7ANȿy/xnׅB[s@~?]>BgľP\:&!]b*`zpU@(T="=h.wQSH8snfgPKfA" ?kQq̌tVJRJ{21^%hYy?RU 3Hy8T`JĨ(L~< b?ԀR^i=РOHQJkse؍ -'N؀yƱ-+ZF -1zts JRbQFѡ"k=ݵ'7z/tJzi!!"29/֎+~m'&3D)+UD *N225lkҌø72@%='vŋoa9X9H_wzZ7֩BGI2odچo6kTjhgj,c>>J"F>`!SmD7O i1$p8?"J[_ Hօ)0 {hR^Ɯ܉ݚR7${MmHZ6B5ѩ)w% R;xnڼo%"RN- ;33Z|á+y VUL}2Gd|yƪvj:,K@I+M&MwǁAplj;}V뀓K֘NvolՋXp'!SȩmFYHkqyPaPk࿽u_oz<CC,r33*+whރʃr, 6:(76J,h]>Y![?Jsn[q R-Ԙtme Yʌ̂^o0I`IGA(\O#e^hAe>{ #L \?ңWʪ),ۍ!VNogj贤}`ԆO3Orhb?{0CFP WAyCtv%[iUhoŽBx4؆בW\[hh7tS$vر'tqЀޓ!}qz(q,2@w6-ܽu?<+DG"Sgj؞R#3q8N-9AX bD {OLBԋE-&6j v\rGyڄj[(cd-YDѤXi!Q* Ar~8NmRf{,Z;J#G(Pښ>hWMt05I5[w1T4'nQ1#hl0Ap VG1mɞ(aǗp]붋2\b}=}[N:ٱZ'#9SRCjĊݝ[EF8HR=P ݦ!t7``m 5Жα/EdXLJ0bK_%DѫŹT33nRNBUNdLW3{U=S~ 09#$zxMNCauUb~ TR&Ěޚ|.p9ْ@6\L: =Bʡ(Ȟ܇:ێU%;IYC;jKc5l8&_A:Va*FFs+rcn'5V"\5k(Ǯ*=VQTLR#͚94ƹl-٘ҪzA>^)j^"sv}IV]ah膦1#%|XF`Yh8 &DJĂTn2&4JgQ#iqg ; B\I1Q< * }!R~MBQh~^,52柢ueiVfnA}Do,t驢WbXृS!sJDg3Uv_5Drf Z} Ka6ߢ?L \_+z9ҍ,~_ݺ?̜جWW'"9uF #8b[ +i ,mF[.8IƂ]ruWF#1k[%/QA@֐F5HkVɒ&f)4KcdvmcP X~B1}B\-TTH",:3[Ӥ@jR,<1-ӿ,b9͗m \Q钷0SobM!]K_bR9H,SOyAg4dofً?c,8wf_uZTY L5 >xEH7:5ɔj#3097L\=zD4-!^ 7AM(0 }P~ فZbve}CXfܹ-+DcC0wث^ ٔ{6ǏR+UQV)Xºɔ'}/N\q7?)TZQ6aOwB ,/ntS?f摋OEA\Mfco䊝}(IcaI[Ix J4Bc ج^MaX 欼4|1/v L%1JՌ24yB8T<W;`\L>T/$pC|O%A2`b vf$u6D IP{S?x9F`|Ƕ\chG{W])L%ь&&;[0ʌPUqk[5' x1d$W Co?}T frOf;˳ ]g5 $MW6hc5─ԤXL`+^ KGח2wB "&zk蚀:w׹ trp UTwP*hCC]Qt1~Tq3#9bJ1^/l╻.tf~DZ6dY6e{+\_9$]I?ԟtHzQ'tU{*_qmG:fzLu Έ l2Bf⪠QLM1l^B%ؔiѕ8'I(tlemtL6PH(#m"?ul k<>SP ׉Kl~pLC"#@\] ٤JHlhj.9 ^Б1l/_l%.ۛ%'6SPB*[ ItKխ"fډ=.}–dF)F\ȇ=89EfDDߵNwIz"[q7ez_MVLQLH^QbNj=:jLx"4 L72!9RaQV hpuj'Dh/H͛?吒t+ N CV1ƹkH,-*@x7lpFE$qE<8ߐN헗yKF*e_7gO #{ox]i)})I~9"e!v%lbNt&sO(kz VFJj9hzH0)%NB^/a)ęiOQ ɈŽRqwNVMef>7zh: ݐeMGg"K$QmQaQuY9*+ϧҹ?M% +ki $F$ ,U[ jߊRcM䚡]Cc~a.8]SR(l- `ikM" $Yum0FZI wP)`H;yᝏld)9i΄yЈTŊFNu$M*V^64. (vZwBѳ^4% ćEFz+Q1J,2rС5;LH L PV9|l`r иu&znmYPo/Bo ob8Ng X yAҧp՜C>a8WӾ !Ft}%j DՀʵ \{ QsRl? Wc{J2 ;Z⩡l5P6DVRj*#o&5W[Rk-";wr1q<"J; û3ΨVXFw0 jbVA&PfEvh%6;% 'r2%4V#j,Bn<cFS|DA4C{+ CZqa'Ks9 xJ-%o?3IAF?eRH`Ep*1dBȍÝ2:Qbu *JAze!VPM:.Fi+1"ڏ]T "NgH8'XU BJJ{UJύ! ᫐x") ?Vk>(OIT@d:R[)-fug'XW_WI<#]?䩒x(YBݳ`U%YQqzdzȩV(T] :"O I)CK5,!ɥUa}2LJEzqT]"I'bRp' ;&0[%`fM5$ ;Wi'`@Y/J$VrV~2cMٛBz+6a[x~Vel,24h.!&RLh2CNyېjIW~p 26"ՊC6'O_BeT˜x@Ff6U *MRgTH7 ? % W{HOFEḑr8V7.RQKT5$- $<0|Fx9<dKODP GyM<nM*1|Tq=Q]3RaZ{űdiRlE.Å^dHn1s]~LjE*P6HhAiV򉄥yN&&[3*Tun`A軟LM0堺UDD~i%,,{đꐗ*h7*Bf 1~lVS`oaT#h*DP|nܳmnbV7 oѨ 4N8LJ6Hؿ`ht0Dܾ,BX^2#:&>&]:j4Rnya: %H]WX$o;5TŸ\4QwMs)1YPP͵|ܜ2u4U)'7h&۲;LMYާ$\X*95ݶ" M4~_7][3n݃;urA! 6#C#_RJ& 5UC̢."fu;B9BsQvOI'=ɩUXC VjRrA8FnK:#zȯ1ԱmvR$8ء0a̾$nr"A|'9^Uo;f|(IJV WX1T($dOEbkVI=YyiUJ5@G+ d[&ݑ?c!bCQ""jzD"!n FJl$Wq9g8U Xq6!:Dab?R ߬kؘHx2⎜f3HUM|I﬘|3!TJa#b̉2N 1GӼB5DRp3̵i ^n |P`EX"y&RcÚ:lP="/9yiY4tzm9dڌXȺikTtJ1\DI.6p1Ğn4_Q]jω#:~b/`]3l] 0[ tdŖ?39 ꯥ26!I~4F3"S7O7BgpB mlj&s]eg!ނWe֒Yuc]YפK&HΉ0*?1\Co=K$ AӨCfnE2XzgvzBtegS\< °B{ɂ&Ha¼3P4TZc /~E*o]2x w8 f=׊,ˆ˾>6Мge)LД(c2eҴ6l|j7=HU9RwuA9%<&1@fKCXҨadbsS͵ ' !M=BCTUgNlp@N6J)N0*i<~g>ؒ2M֗笍bBb.dMp de_/ S--7]Eŕ _ >|fdb?} P 0 Ӡ(M8⳽ 4V*?u a+q& х.yۦy61b<0oG #iH [죿KdnEƴ9-i9QJpu>|}h$vҝO |[USg?OZSjG_ڀOЄ߁\Va谷bMEJ(躈k HYExTXq2E5Ϋ$b3G󿹞>BMFҿˑx1E>xէK9FIN 6iycAXWN@\ARи0qsE,Kj3H5Ff&Q*:"; 4)mک}$rAX DIQBk%(:Q\rRdz?خu'=ܦ+K%zVuhS\"k2 K@=W94lpuR YLb8fVj4P Q55(XžR ?{iLWҒޫzUqER."Z쨯 ^JxBLv 2[QKΌS9="C}8(ҿd ~B>J5[/x[$nu'yC7JDvpX.h bdFPՖb>=\#d(E݄4g[e95# DS1/C;Dzλ繛T9n#VѷIU~q9ąfxbF)(D'pu{K)q9 6DTAGeJ Cȝ%$:Mg㦑fjd%@Bʂ[2)cmٙUxdD{\a\ =1|Z흞} 0/zD܄VG[e1Otw0YY+0½|\t.@u9.IDujbftSBGLΘ>gAK; hG޹:XVqq苔gzO;޾Ϸ>a)KC e%R[`F>KCbsc)=t# W*U* W3\*#ݴs$7NdL3 ?UxD4qf$j8X9OS3 h&QlkOU:SpGG2 hlf01!DU# ^:C{(t^#SރVXyj^˶sm:$ջ꨹Cz9N~lBt֋7++BMmIգ~t`>;RD,PL*9AdNLIЦ]S6FFNz3[J^Ӊ[sB18Oe3ToT}ߕέ=hv8-_GB,\Z,k:H*f**LݔYCMV{,ݚLG_yO6#2OФx`oEKZlP`"qu3\0\&ӈ`*p]#ʲ{#`qot佅)$!sekJ谐o<̈Zo >ғW$(XPn$Ory iIOtUc3ڨL(D޻q A~}z\ԐiBdz228EQPkr7de >Ts<*%R"ّlc4/ZXֶeRoЩ[6Om)I1 %qIJ<#96#U#cV4Q̹(Rf<;h>XIJHx'JnLFӄ~6]|ZA)m+qre$)x>JiH*[ 1lR2fY2(0/ 4Fn27 ⩅2&^s\mlLSk<'ZGrُNv ֔鲸C@b4Nyrw1re' ,Op\ȍ[ ZRY4Ƨq I>zZݐ}2C?hqkd9v{sFz.4j:os\x܌ XˍH)?o rtrNB!?CaR>1\ 4TveU*%Q{WEjݙR|9 Nsyɢc5TzљuEmmI!)&A!굷R}]kޗ4T\(bF$}ujbzXra 3 Fb̀,%EhN`^[xiFmȦݛ+&Rѯ1>x]]ReD7pWZޕ՚BQ|ƸrOWcpMiKRlEEHx^e?ƒR|'|E[qssEj;Ւ^ BFĢZ:TB<AUa8F?H dh(9̃4vRZ+qL~kUA fT?mDEUؘ@%0*`B̂TÄ̔y'ϙ-)becEHmAFQ3) tdrTK][d h]څXJ:ysWCۂY `5x3QCC=*q+@rZ8O')JAM $-eODhcsB]>ٽHvZ5VujV0&v?2$n4sP4j=h~ڲn@C'ž8-bRmJOGr2w$WBy#l?֪ mAz?êPCx W5ڨz$4oWmP.m E.m~ɫHhboW+Ge!+c?r­;N1/EY":6HoyMLbdlͮUĘnkg2,Xy* )܆$lJk;o5Y<#P>4Qb@}isi=r"qm͎H1&7]uW-{Pgƚ(72C$9TQ*bPУe5srĝBZd< jGG4ܥO&vh7xZ M^˲% γĤz= 2>>MSSY t@! &-$~ VlW^+ 'Lx=QFQg/mv5k ^ b6 %7$ 3Dwe[:Lje M'QMmX2=:^th{rRTwƠD_ɈžvPT* nq%gDz@Jf;:"х)ZR&~;ȪN}hN,W' yzT9UBSDl2.rx Nɍ-mڊj;K\Ṋ"xSKhH)Tqth+HHPF]gxu Tg.G %T˔í]Xp )J"+`<3h7D5$@KR,V~MQ%.0۲OKMQRI"‘C9UrRtoh$L X¤Y C`B{4D&YBA>7}P@>s@SxYUlBj)7o.u[&{a2ran j )f] RGHnFE / \0–Mn VN,/|X_D Kr4q.H|bf)KCުS_iŮ 8bxN)$۔FV6.L9ҷo C S= ɴя\EwVHÜ!~Jԡ byb=qp l uN\m}P21Rj /0r `Ú=QG! ?Sꥠ w capYF瑀I.q^e,ηKEbj,LL P&6Z ^SsEUD~3=M+[e=1JI9oJn*3ZYj@[Ö1Apޱ~H6oZOWo-z9qg}>+mR{V[(CqDLdžY`N\` j0B|> '44Ib}] ՃnA!S0Òe3TrR07$cD nxL&p#XB7A+C%"%-X)O+yCHwTf!O6GKXl~ gqJK:ө" ? }\, זCO)K5 ))S{6:e6,Y!NTOۧ 6"QH3aWHfڍ#sT+k^]U!3΅BW+ M)LCe !+ Xƫ | KFOwzbN)te] iZ])WBtxSX\gfVZj4y7~q HE &*ѱP8~1 Z 2?rYDȪP+&OeG9_fzw,&cDo[brP_2%xU"Rd~(-E=;&BRYB˔Z<+ 1lblAD]7q-d6J^ܢcd!HX,D&Bv4tmQ뼠 @iWGiRI  $X!hySNjKEh}W8ޘE*2<+?U(l0&RvDjDxIjCҎA΢'dc_*܉@Xԓim P鰥DMA%xIpb%(#}QCxZDEoaoĖ>%K7 p`d=o""҉}OJfuzR8"kP\祕-6[Y&'YF )"9޹ `HEhdsf15 l+ֆی9[9^K/myb8d]BH" rCȼeY~|q1X8(GAs,I 1`Ap\*C2z}Am{;jVbÉ@Fx?V}QeV|z mJ/2k+r]{t۔4E^RÌ[h8E/rr3 ; a$ *|*vn&,T5Ȟi nReT4߬-yO0mQf+`>Ȫ"HIR+Q9"hfxuA ܹ-h#µEI#&lQS}(s1ɂKV)"jԡJ"2Xn -$Go7$@R"fԪ}yŚX%ݯGN()ǙO YI[DvFC;qZm$m1tZT»w|AĔ $lQ(*=. y1(,\H[ckV73؟1iŻJqWKWOd椌 J=PYލXAK=,T[Fe-*ʊ bPRũ-_}{D"֨ęPʀV4Hv 8` i01>қ8|`yʥ6-fYpN.3HU~+.Wk, *ND jB\ݸN?NH|IkQZ5aZj(D[ye~6^h[ФlpuQ.AqtSyEBjVa4K,G̼fHNaRTPRf2*BB}pRk%de%84kzjĕ}ch5D?&D5-ΒMEGÕs;w_YG¿d;GQ2!(HҝxZD7/'AuwQ9O,$v&kOC~kk*2Ʀ)t!$fvOnrIIZ΋li#[Ǥi)kE 瓞#0rMҹ!fxlJX!eE jp%™ZvV`ȸH[-8P.et4UUDH(TrC]%)0l5p6rCٌdgsMexnHKmԃwkke\`h lީR&ks##F&*?gkA3n\j󌠥/мkbd8PVWGuNu6JbR>iq+p)d_KRitIGt W$er;ZZJ·h2:#z8MUR[JG=7n[Bv{P%}KQ =ɏkvpv.Ky? At+>Cu٦[ L-m{'R2~VUgSDs4bO JՓ*/5<`!Ѓc|a{gC%4E "eX i~k,[O$12v1$^GocM0|/7J_jqxnGi"1g2V>+I~Z*:\ ޺y9IiBb}-y C ׇ0i/ĭJtqJ -$NR޹)2P!\'#tAR*FF-W"O!NZOQ|yBM42 78rFfd&W;Pm#kfضܚf)ZK9mB!nI];BGEYɁNpw锫-}g)B.7H=٪+2%hn J!QdxspI Ⱦ)ݨM4^up4ڿhfڜrx麸O I ԅ]IS@ȱ0} a^4DeULp'9!N5:N8xA `7(0` %̮T/v kPDpPBGJez;gbLF: 5g@1^Q+mP\'1kJmmdv8*J"ue_E"#HߚwLn"z`!s CTkYŗ9AŤ'RB_ .kɷF+:$jSEڷX8g&0=Mg0aJbH Y?=cꔟQM|l&S*RjQk;X?+ X1$Jat)#|Xdn c%zj "9xFHGn)U K;#7Vƨ=]"x@,rԩGd$9Et/r|FO?,榘⾙B eJQT A X3fP` 5}SpNb]bfZ:[V joJF&,֙[ؔok"j# @褉)q{ƈwBq|}dD(١,^jt-XO8mKmqFĪS>J2w#蝈J@CZ!}|_[,)RpKcuExODMF6|JIkAq^**9-J-Wt攘bgkCBM$m6L̡p }L5Úu J C")mS(6$ɽb#0 Ic‘cE_(0!"ErˏGfNKm.[4#w!rQ} y $(H/y^PBdg&^?u}Q[n[EԬVl%*}kN!^"ȢQ#>J\&VV"܂7X+.Z5̧_=K KIKX{X4J=.]-bqdeBҳBZYoJA"5*Ji|Cː"  ‘ GI aiAʘ2ɂL͢OhWՆPHN[$ʋ 0Ɔ&/n0 kb~>?Vrc/:X7R ojfP,VULF~IFhY fɨſ2B > ׵R>Pފܤ ɈӡyMDT.'k_` q1V1FlڇPz>Qc)&b{ZɤZ$H\`@ CzZSB]b&X\/;VAEɶh2|SNHJڈB?^Ttvʫ~*@hpBn#B*VoQǣb%E缕f#;Rq"ck|7v~o"UUK~q>69z6 C:,rʐe.u&Vs&Xb63qLy'4y5{<,c;/یԼL,3CaSCg$r̖Eo7SΡwknke]D ÷)_/՗>^] %un-f68t`p.zb{UTP?44"L@T:px6&(V@\"TԼϗXDaPS£@4id84.ht Y4d&ȌUsF/QĮT^'醁1o* !QMUel$gMfop4$U?)"&ᒸEg\ ,={QshAMe-Y d5#B8% @FqH0M0#8D}dw⠜tEP~EOߣ{=UQBY\k3zeVTa8'5z( b"r$R4*I2]IR7qkJ *z6T068^ً(Ff:i<(_Ҷ$iRyGC&iW=ߊm<&H$+Zk9,,: S~$y*$\ӤlH͢ 0"M8h-<,6 e_'u $4P(<["3-Ha{*тbݤk5J1{rZ@ϬeH0!?`!v(YT5]䊕dJgMp]e?(L<&%wLqFκ̴euo}\҉G*p%`IN(<.- ]c4]*JiAyZw;& )e^ ~O%DbEv[!^υ fKW뒵ӺdJ$11U21M"͕D& Qnq)JY +K1=9<G48BF_ݦeg0B5X<^ҚC04q[4P)X)osy*w*&KP_Ըe}R -PZ2 ࠱QJABOMDrDv8Di(Beĩ iԘ[2VV.tgaBzF!h30~MR\,by aUlbl1'숼J2.P|Xe7rz% lQ޴t U#z$IzԻئ%sLPSmYeEqᴊܩ`fAjw@.T)-MQRQsB'ѯ/; Jw!'?DKTKzhE$ݵKǩSJ(fjźZ,a"zZxcDKo/gq,;aBGrfŋx$mg7eγsgC̪b}~r@n&ѩ|/.J6 P`z0%W_Z"T4Rα]ďJgLѿ愒;(}d.!B"TyC(*"`pT2rչZѺ+ZQ0 ~KW dž[Ed`ƻ8dTl*Zm ~'K #lοI 4zM]~;IHR?WJ #T\#o\CJWz1UU(Q7󩜋d,WsxY7މZ{jVՒ A ~ :# ?4XX]4}PfWhȀu;-E2+v\B$ U;w0K|+\g<&a:+[z+>'1~-e+apo(k TD)V2n}n/"N!ԃ$Tra %DZZ'(VXAUϰC ZWҦ!GXxHwa :dBM| hl"|E/:$f$%Icprҡ{3ᵜR),`E u?D/<پGIo?h%._kF囹"A7:?T!E]˳ܡ)d[{PWwY*OdVe(0M׻z'B Nv(ZR+O>e V 4nUK Dec'sELH8Qo+&+ PQU дEĥwGAyAI '@2hS((ZxDv%r!顑 획5~SRZ tNQўG&fjPf-4/%0%^2Ү#\nmۭ,m<%h_&zJQ;+Z.C#ܩ?h&"&ZQrW*ah 2ь՛n iQgS$#䤨㞬i>z,/3cT)d"jqW^FcH)PISI҉cbfy]#}zQ1TLE剔w5Zf%e+ `M"BhwX'.8rM;$ȰMy'i2GF1H@G 'i" kc[0b? ݆Qy vtӨ%b6ȒC1SqC}4xcBI%$ZJ,!5a~I ;3yc+ҧwTmӉ%e^2unצI4:>@dQ60 Ƹ{$mɧTՐU_¼馜)GBtbX+AA3%uִ-7d[:cZe;}3N̽b''QY@TjPXhv|3DU/k)T%iC6u e&q%V]Mi6Ϩ1QB@l$M(M$2DN'KXF;<]AqФ$"˛0Tu"it+YHx8J9LvlN_HLL0`c"Fhn6t |/>RZ'؏:hq7--Jw<x={Ai^,YbT y҈7D9cL`DSwS?Ej/%*C5V1"[sN&.tsLXFE34pvV^+Q >kIҎ6 ]#(A:fo-DZ{c쀙ċn念5\ΒO ;\DƯ?$Mm'-qHsYJo(_ RsxD-;xQLi:KFK[rXT- 2թ1$n8݃[!!US';YAt紉0+r2_#bNyim٥~WtN}*Qxb#Nj)'tz7\s'TwfSkɷIWl:p>Б&`/bGk$pa{tpegտ 102£Jt>\4OaQ8hDiW ݟBjFF&o&@5ojHM&(,f:BRIVbf}bzY)*V)pKC* G/ز HO(eЗjrdV*LWC[W((@Dن6ZU~]O5Gq>DT}eiG╋{<^<~U #gi=Zz,h^@2@E=f^(M. $4H3Qo:Fݘ:e l֭m{S䢨֢3G8\(NHADLOcKXĪ8k$S d^ʽ ׼ɨƀB!-O'y"pX7Ul&R3Eaô9RxC.6qɛ}Qdn7HPnJv\=`tdB/c %s.]o5v!YP!Vg 88"UeZ)VRV/I7Ӊ* +ͥԵq'YaȁM'Klm|Re薒I$۵Bs)!*3"{3'!rTۻRk) 0.(I TV/ n7^Rgu_ڣD g.~{2w6O+S-B,r2*a{,}멙]b1S![8GFS+"aلD^[aGY]!kݴbߋΎ]8GʩJ!"3Ɇg4ԓ2NK0\&]s:B.tqh6AK&ȖUK s EJbWڳ2&شC)3d2,cTF!jZ\,Sݽn! OI"R$y?Z&RQwT}G9,a1f}Y*eq1յ&̪,CPzZޕ3S1tlC ӒasDyFcU歂O2Ȏc Pd nVa쾪.D0Dž,엩JVm[̸T2Q XHeC@e0 H`pP@(y$,_,w )% [D˖"9Ԭ*PB)y)oa1XR2 E:%%&ӑ&hC**i-KaoCjEIR*vܷ'[JHȞ"\\^ڏzl%/]Rkib5c @ J[ OLGWdDxƻEzm:?hHd"ЕRBN2R=DMuEVf e:YF;Fmri 1HnQd_WwiQ|j R!Lilz"wrӥlYdf2 ;IgnҔFJ8_Zk급d&n [ V 7JֿEt gRړzԝdjTշ9م!u\:v1_a DʾEOc1ɹU#T[9PKJw{9$ŘuO2ef5fSUaG&3CBe%.FRO>W%X1tz; B+HZ_LFjE*&~͓W;kkꄔ[HtA(RJu%F҅L% RVsݫj]^AQq rI!x>P!qF-2e2,r!,BH]RUPp (`ЁB!PQ* `!χ(EgcH\X#XEĻ7șjKdC2K$3u#V8(fyw7Q#,s5&K`Å ;9\+D̗m27KQK'ޔU泺H 6>ks4ͧ.!I I"goL%'T4f.Iv|aY#1RFd)$2$=iXT B~BAzZt#Ӑ"3rqiJo(Yd\J5"ܲŢ & #`+!IAc-܌N"O$:Iw=I)*5|#aW譢iX#.PX-ʦ ST¾tLR"$"yLdZfƤHjm .!٨&5iFV;f,B hŪwm97 DkS鵤j^'Rl~(p'  k,СKNeЂb0< oZ{ I})J{RA3D|z̦IoQ TB wTG> Q 2r xLO"4b8SaJRq |N&P~AO^$H8i(L<IΧ8- _qh_x14`$Bu ! 0E@@Ȯo|T,Z-q0SY1!_8Zh ,* hrrAiQKҤmv PpVnh ~®+15dY\UQXvQeXl X4Ƭv-r!=R^1u#7A) @'0{ܧ4` 2#2(B=Y++* Ni֜f(&a\`@K VhIoa@1<qL4 z:Pˮ(g5Ə<ӤUQ@<ہj" aPX"F4`2FRE<`ZL[58hBZ5eo #0HY"9b7|y11Ss$n`$,HӴ[ڗ Ӝ|QfB~Ce?r&<V* fq8.6}Qk)OޏM5&1 AZzR]n@y xO-|Ԥ*)14b\,zܖ]ҋyű^!'qT/9+oQ)-D8Y\41h:1'KVI1\0cQik`)_Oρ4QE;4P)0.iqm)͔2G)0aXh >L@A7isY+bHKB@H$ ( y-B(V* q{YZGP# `+:8agh8l nuU<1^9Z 9 xSC A( (,D:-Ӆ9ӋdVѼf=2ʄaI/T`g,l SS4B-rZW$s1cBts# MdlA!"ht,$9&,X@C aL=a 7Y?zVFs^B2)[Q=:F!~!\Mi`BtQM |!RJPBj݃9W <$IyH!u0)d$cddGRSڂ eh$ Kd_kxѤBDWaS xеX#M4bb! pRסlmdyPR S J@@4 ֤d AR\3:8j-Ȟ /g`qΖbahlұLjKOՙcašQOWBEIY2Jpco|&fOyטrs GWw': %bڒPĉ"al4 diʋ X4ъ%tUC&7{D8$4*/+-Y4BE$%EbkQa z &3_>-Ri *^>`'x崇J{iR6  ЏgqňA( 7`9rC\ԱQ@Csx՘, ? ,>p~ IW@ .@Afbl$fuO!$I(~ACI4!ʀ%|dOĄ$s8Zkvݬ(\6BZ*qZu9qP6pqܕ`(D,z#$P01+jnI ժJF‰)gfIBDhR)℡& (QCWO^Z|G h~!eeVByE0O2VT$QC2; # @rjnIʵgH33?D&TK < 8<+I*K1l02^;j\( i5{4(E! K@NCRBTa,X)B- @ #z9q%c{i NJCe'Z>Wh .Aa@ CʵV8G@G(7&P!.4R)*R0:t)hFKER3 0&=%pSSB$0"*2~j8Aiqۜ0iDKpfW:ÎH7P0:$crrXY5լ YS:_ԹC=f-7OzU; IA1Z@-E&vQ<8֐' (Oo9F|DX -gM##=~CK_Z0 I /%4DX0`Ē"h@pJ#4 (MX&J&\O.AN-ӟ71I$*UO-j?l)Ea(Ȍ"0{m]<#/'FX~э,0J(QcݥC: ZTP)op@L,cg{NiBqſ+$.]Ĥd0G7ᲅ1ʤ)&TKY02!)!3pP wIJɨƁJK&7fPZ7gʅ )v91rGj&Nq ,R-Ih'-Fj.#NQGNŜSnP+AJ!_%ITO9d$×R G"y9ԘnZ$<8U2F+s]q$u(:,U*Si_ 8[|.TAHG%mڼe5v>%C݈#nԝQ!A]8p=," Mř͐"d!;nCdL.Xd@dSe@ 9:VcD̮dDd"LkGe% g*+ E `Ƨ-]8(_ \UqXݜͫ{mcrLNTaR&}F)fRf!ZTPn9YFBQdsVbK&gcLYPN%Έ|ڭoB^ss;<ê;&-0.x]_Xeΐ\YY_DQ:NUܑu2{(UM7N칕W-uCW-.>])RL as9YyVPJ*[Y" yģ94dzP}y+Fբ1;ΕY= eiRm$<21f'ȳQG}2zFK݊JuolSe*Άg\5Ir:!& {4SQeT$.gպ&Asi^v!z~Roh-MKEZOc"I=Y&L(C: &t# LY4V#R5k#J(͛ u$4q,[IKAlUBbXC82V57 (P7#R `0C}r@>DJ2jUjJ &9V`Ga > VT8̤. a %lGF0 AK ܟ%)Ć!9sCbflHJ<@j &BAhʅPJT)F?@`P؜A60 r `ys7+12wG5L\V̨wbl"o2!9BgHͱHԃ18q t8qSTaq32H Q,`S q%ftRDGh dy>t>tlqRAl1e2ùر 08#FRO.NDV1ck?f 9Iy%jc`زO @qI,ZPB&G"Q$xq# P_Doɯ`[U#II 9C:Ź#mƸJYQvϨxTV~0a39F X} xܱkӢC+n%$хqM[ 0b/h*H zZXp宪`<5'b1B h /qM@n9ފ$a% }RGGxY~2憠'ٛ^=,ڴ!x H PPM[CyX(kQ`G.03,}3JB;X!9% %ȵy|햤mT4Jfq-ıH@K t)`={Q.(D+//aUҪ؂1@ -&:)6L9ο |KH -d085'Si.HQ^W)[r,i RWx"XiUJ0OXҰZrMR@J<4r,0`"@`aj+bǖ$XQGǑ a%cTQ\`1|ć jG]CswY҂ /{7 b5YmyRr^8 a0IAQV (D`Uu*rD`,qPfCD ~1;,bMң&nk;!w,T֭J X;AP iEIX灆B& X#Ob *1 e Q$'}'i%E&8f.ym%'XC((͌((aA0Up-^rL; <8D-z(m9 EK! '0-[~y'#DZC yla bOA*luSǐsZAD + pi#EkgU i%91v0d )ҁ5OB@Jqmf{^r8SReq@ =%, 5HD$Ѕ#;1BKSI1x1 Q#lPd #(t+q­M8+`B/rռ\ԦPI#O 'cKXÇ8uxXݛ5kv/&A:@ưZ/{k& Z><ڧ,\=C JP"arFÁtq,7Zp45"(9$4IRp@b$&ad(f)m#,%"En BAR&ZD3#M H1)GXq1!n '^nR}zЧ#7 \FGDrbrB58@fT !r&R䌱Q0hb& Lk"3 tK#$9 AW DhW1RPk&`͖qiʲq1΅mըD,O&E6F#4W8>Dy!AT(`dˊ:CSqpN\G*+Cˆ$ZT \ ^d.8RaTV#2H H#)r61G :Π^*͠q!W! 9D濌>7Ȳ0'L̈́]_((ϕagd!/Kk ύ8 lcNF0cab%L.! #?棎JE!8`.3b`b7 F'r.VP# 80u_|H1D!Mh6*)!.dW#u;\F1t#6``+aB΍@B1 hig;(ډc43ld@g[N/D7^n6x ^)E*/(r e`܀ c BLW2 Aa I_jA<"keqH70E@){hMRT @T&*9| ĄKA.B"L{4 !PbgszD ) Az’QS0q0 VHDA9吸k2 boC>1 ,E.< fs p6s 8" ; % @6_ 9D__Q4p&0M11/1q0VBE56z%P 5D1Q0n1S|U0DF 31(JbhDD*A1!b39TGBd$B2bAC ,Ra;*#%3)0Y N\%(cB +*#+Q)L'(µLantFhb51&&Vb8H0OT:N9&AD` f)͡BUM[0ҲS1Rf껜H c>@R#\ 1!3!*/8cP$Ú! 0TT`Bc 7c=q08 9S0Ad/va z D$(.؁B,ŁixR(yB(P$mX.@d(b͢gj^|E c@HD^Ә+ F (PC S*qc:hGv 'XQ,Q]*U@Kr]!(S DrEFX LbTF2*;x P-vsЄ?H /M@gk +(cBH9nBU4B1`_! {9 |W3" Ơ +PAT,N @kcoXa'12bA ŇC+jaȜ%,&Ջy!;)!r8d KHm5b!A(U؂CP5\5ߗ[;J ZcOBװ;BTx2L֯: M{q}T"QyR1gCQFC+BO|GjLQ,q+p)۸y,a$1P0SQIaKQ/!C| ?ȃv!(BC0,]k}aH!dtؙҐ܄B0jMB<]Xk<0QH4&r9!)ՙAF,5d D@3ǵ^PTJPK8cK\RܾSq3@c #AsӰLС#3F,PhEXa/d-t@ 32ь;JrRl fAdZ-]^<]JB`$aR I.\4HTYb Xp"P*`I@F BJR`0,|QigqD!نBJk"Sx I5bbq|Gcϰ@XНhs#FC{HX"72 bjB陈脇{Z()Hqxo3\@)rYB ? ҐYL8Xy3[&YB AH*"M#0y9hC "ttL;C%Yj *cjB-WĘ_3p@rMNp"} Gni."_e41OD%&0fK"c\Em4rQ=&R=R 3 aPTgUrey kqJ0xw"!B#\_@:yL8Z4Ʀh8!I eʟ {_!욂} KX:g7jSr#HAP tAǎ|8dk =PX) 50ϦT'$2=B~AO# % (fWCZql%faؑ 7`"ԺȨ`ja1TY$t$z|sd#?8BRO8=Di$юYsSzu&# ”GTqf<~ 2ae2xE z#$$<$1&kĽP Y6#X׊(mcܳ/Wt8 05 iK 8g,L^rM.v{U(2"FrO!or'H{ڥrB2Yae8Z}!@@IB+Wܡ:[8g vfb "f!p"& Q9[бЁƨjh2I0la0Ao" ()J4P(Eqra3T1#y+yEOEh⭁b82 RS"$48h90\bBga'<[ EU*"~贾+$R*N\5*x8b!i!Z0,r8aAgaTI"T$00<`ӸکtpAq 00JdbD~7|,I1f\xQl'@`,Fb6Z;YQaG'< P=bCp͑F{ pSAS:z2W9@srsAbhz=& ;mK-僐m2ܤW+ r%Ѵh5ɨƃJ 0UӚr8Thy,p)UP1.+t-G($Rѝ, ƴNR+j_ۉ1H8M sg^  iy,J}(* JaIH҂F@@of)(Xw@69 ( |QJ30ZUQTf!!)s٦;e2`:+hT1C J\ƥ2a\9 „(0FEX)$4qT89)zTvjOV-dc#TPP@!͌7)cFoĬX5ӨlCw -႗Lha20"g"rr󒑛U+AX!6% *х"\o)1se#@1Q`Bf@#MW9ػ0ȁ eCzFw*PyhVSkBTMf"1MF\tWHA70") I:D/dsK)"r%k( 'W w%"KBI1Ĉi 8]%Tn 2A8AL!S@HVGV \QsAc2'#9  nB;Db2ȱ^B%C)&6Car ;w&!E3 L\`vI `> B S$`C!p @@A^!,LDF!kk3ܜȊPZ/ m`fXx $,Rr&/)P@n {ANH^PPf9Q`68#> 0.}8x; -h 5uLh6 Bd0Wd#@Xa>RDG#fSI2 E` !H:& Ğ*B4Fï QAq@d"7X͘Bo༣``k“%);PZB((6(;5* ,Pg'#(sX!7"jŭyFȃIpu$™+a!^ ^J< ע!S+V`*I 4 U#$PDr܈v 8Ha Rw r!n¶ HqI&N(Ylc-N0Tx˵rP^D4Ʃjٺ:F Tbv{L}Oш*\@Z%0JNV@ 6PxtY4ؐDIf!G5,gfR ڤrsCUDw8v<,Nݶz9(q!qb$RUbBPmӌBI;0kf2$(=8M ?P([D]_9@M5X0a^;Y1,E‚9a c` b#%0 3#QV =2zd m5FSgaj)iL)a6e;uNt X`lYQz.5_FYǖ QKK<z$@,t+F8aqRE@ f>'+v#UL,Ƃɶ"HŵَSOR3Lw`6me|-r'RX X: Tza5!!:" (CO Eˋ[> **UP)OiVݶ5Tr 2`*JXYD:0 6=\^ aHJ ()P<$Ca= N}!QyvR$cFzȴUݕ@DI # vh;xjqaApjWp PO࠶dY΄,6(82 ;0*$IcTs03HKT)eX^> wX3V䅡/WAI!wTh2&9'\T+!@[Y&‡ F$bcK'Y2^uzﮮOAPl'A a =>R$Žu-Wם-GTx!*J-@Ǧl3ĻUZڅ%+kA3!gQ5YA %8Hq,PiCwu ԏBh/-Nn}d;jM3Up7fϴ h2)#d)~VT͊і;Jhe.8;-{>WIga4"{$NڟL>-Bz$ZTT)!5 څ6QF\+Xj7*I [@)ԙ a^VX445wFY Lj*%Ӹ`TrͶidew0R[}?x5Ш$w "^Kt .oP`*jvK׎υxJBBի/(cʇP.Nݍ]USUs Db `(wm"8`ӕnUVU# n:2ˢAF 4:>=tX O1EOb)q-zrBze KQ̃%r:QH"S+eAAcXW2 GiD{&WX|{0$@܋lČGZ|E($MR|1Yn5zH`GN'p[& qzMk<׸0WqWE #[[m?oB"-su 2J3S5qf7zs΄̮&}z|4zW.ID]zηBSpV{FoӓeDahGZ6$,fD? 4 fL{<|~XuDZH|=$rڝiT>؉ʿ0Ѓ’vO*ثoסmUVܢ%'pkm/T]^8g\$}}(2o3芺u-t~,GN\ Ӂ\Q6Cu '>%NOEk_O{% -)b \:(9-t:ՑBea.YTZ~woK} uNv9)Epbz|Bf_X;1B<$Vk$oy.}eW24*WvYV#Ee6K|'O% Lo}ɐPhSE[ ; usCFOc9 ;DxdsTJ H $2AI+„Tw2 ꦧ#!@Z4:%Rly_M""|4uF贍Ddh$7͋?]4AT=B`Z.Sh\qRkf0WP/%4OFe8Mi!ITּ!#Ed|7'OWiG 2Zu*zG+KFV`2`|ԃEt%/Yʑ{Vu\j臉d'FNMFԙV mf@DaBe(؏HkH`FEwK)^mWHDT&JɐS}YuXhK&JWVW(j6=8(p m%X_B iQ0;8KxM,Ks/025^5T^őDz"!Q PZۛpD@8uX'mZ$ [I'D > oa?7wvgu Upڵ6$Pti;]6T B[hYJ(Ҵ,6s(LFlHC xBDĞ"z=񓤯d_h_v- [cj-I2_i$w0#8a5$T8*B"tͰW#A'3o筓E=ߒ1xZ_6 lt2^Q-*ސxwGfu{Ttϻk͇ݮV_Os22W'KeQ_/x([P]1r ,%gp?KJV*_ d:9:rwл7H5,, {NO3^s)I`†B%5yf;gz/Z]mqx|9x#I&ࡽ_:Pb?JtX˭m98H,xI=J{z:.4N Z}`uTA5*e*DF(٢PjѮaWr[4/mOz#==c[I:?MbT,$XgHf5JX 77.8.IG!X[ʗ` Ѿo8jN7 `zD/ X&#ުZkGV^rd) bH:nnɕm9w] !;K3QN*U[^EO搂e5S4M~4D*쭳(*8$Kr4e%aL p^ =< H+ ^Ig+W2aWF!"F;!;&6[d0]3!k\t޼978kܓosfóm1&̞WdU&V`PP6m:*gg(KO{x+3z: H'b1xn#V%ǶbQ!p6 67ݲL4 #R!ؚaY[0LH 1"O< ҈JPcSpM}G/7rC[*\ש.mNo+x%/V.ZݝL=̵$IGZoKϓ4}$-j~kszZOH~WbtvwdH;Y'K'bF'fIDF ǣP@əf2$,uq VYQH,TvI-B]yXE{xB*1X#/iczJəFvw~(<0H[։';mDw0R,d |>(|@JT*TJ ^\o`sZ2BID#yњPޞ&O*Kkc(9RO v:uJg>J-kvg!҆?w"TJ p`d؉}HƉ*MRlz}L9!J&~kV̄SʹɈƅV% o Z  )e > GIQG͌ãg 7F2gF^D F?ӛ`5ǗKSF<  aūb$seG|Mr]$zR-; V}4.^Ys`)*!q5IHH2x+m.5 D 49)eTu7BB_\dXzTϮ+J ,+zD9uAD!x愢U.ZN" /-Wf(+DIYlu׶D^.fsU'\"i !+H&Fq`R<\tFxھ%z7^Bx# //X/ f:oz\?q4>>@$ .ɲ/^_qJ2%mE&dt2xeFHy%}rN+ք!%*Db%Ң8R.JP\BRݙAnfiY \KF6p~v̈́B&Ud22%.6ʏgs'm4`aə&4>Dr x5K~x  >4嚥;y& 1Q>7N/m.+Qw"RO*UЖ5FmRP"4ޟX!RܛE{BJPbV hS:fiAA[ƌ *aED V@#mK,̡$"TPk@@\@k4Dc̈́#o=U|l ȰjdW1*lYYr>)@ocqkLbnQOW|?pjоub^yyQCDk2EXFn.]wbK̤*lEB,T DRn6+<tPm*<@>@~|$$E0MIEI a2j^SrħinVRou. buğavy77xFf r"ѭeJTubN닼Mm㳏B2"3DW,QO xDLLPqLPF 0As,E$CSFiW .i4o|;hcG7T *M2sV͌ls4sJBM+۞})}"7&O3fp@Si"I:&\E"q٢I:YB=Nɧʨ8W|IvN@rEz8[1M8)cm^o65<e92ϩWcr4hoOns"\$'<8gtg*w_wԊi{ib <3 V_ײtTXU 5[D-!"uSWrPtR⒦ kU83D|޹:*Y knb?X'HW"ZƕrJ4#=yhjAZ!O+*!kE"`PYE< :(!DS v C!"mZ q0bB5sIKwtnDr4/e g{0d471B֖.ݸȲ,tir >gEhq1`BJX čqN({K bT:Z B~ W̥ѫLVh<~L2!ݪAMe3qP<dE*nէMİƞ Vޔ9 bY,nUo ,StޤQ%" ֿm"`H5]%oHMŒ;A?.'ϋ(VZ[k`ݛqH!Wtag ^ˍ,kT vk-6DwtmU^G&42νܥLa񪥑/)JV$z?) * do+B*b͈u&zkTF-Ld$opGQqyrkʒEĞVC,Vbj*#̷ZHkZ3jC6oE]Me^!?YT!$"T&q*J Rp؀V~V7WT1#@Ao:Oj̥ ,Wkђ仪&'-kWs"&h)B6<^ A^_syqӘ2f/r+ꥑ -]urcʩ4W±^2/k&";S\t$6&z C`/3h<H(U*U[Rr`1;;лbP43b/ c|t3iD'np[h 8* ׁt#c5<U!R/l{F?ԷϽ.ItCrPIMɽ|掭2mC$CS73l2MBIWyO) 2wD\Db8#iDʆ+!mQ RU9u'z[d3cqLMrJ* !#¶mڊ.^>0h&ھԌ$QȓAk&AMI>M_rZ+7 ߠ O1uS1jWܣ)\tTO:8 2ؠ'IsGP@q[{ hh)$_JQߨt]xVޥv=b6.1-2~joa?4Xܤ9<)U|Gv2rf4#8(IB# mDw'gC1]adꘅ-qQWGLT| Vr|6{7@20,iܨyd ˶TNۡ<NٓatК$:є[tlA>#cr/alM1&ubn>q{_ HȽa_OMC 9:1B$%,$D 3EeiO"XJa9ؑ3G,俕 F6،Gf"#_w2Iӯ_y&~:nSU>"fhM#chxE XeGX/%Ǭnj.w#(,>C%]{fm'&4As 9I%4@qj²Rht5lk*ɣ&vo'*w ,TTFN$UZp/CχƋmr%ϔ`6J7Q@P/s|HE3?l%A(eb-]a,.$牨 a1[J@gqjHИHDV)h~6W5+w&7 \W8'E%cey"CVLE7hGޤCA߶^ LG.^Ī)b ƌ/o.?^CjM,& VfhDI% e\kGSL#XҖ\B1ߴ~E!Q#UggNgȮɒ/6gq.f/I#wpY( Yi%QM&ȮIQ6/ü\Bl6"Y:'n@ƟPAycE nP0ÍL< lx΄4ڹ23GU`ɇO@t7]?"}v66|[AY6)tI @ qV^Oh|ZE` ű(=j_ՏlH7su%$'е8ճNJ2](1Z'QS }.ÖTaa4d)Eۜ8:H{Yuȟ RD$'H=ΧN 1Ue vzH/d5!@Wegsj𫠦y]o/~ĈPFs?auEl@7kGyޚ7HI<+?aam!S*#(ʀ(B(a1E O&0l;>lr1yҫW@\N`Q%9a6x(.3B8?WK*r46%`D`O@+,?T0Am@+F`(0K$XvXKAhF<%%1%w8#@ًKң.BgOLPpԗŞF?1]Ѓ."2ZcMD*(|]'uҊI&NCu0A/蒺MI'J,E>۝+H$R.bDj}J~ʅ祺'5&uH44? e%>R!dE3R4-A9$tBg-p 5eeR#BIfk0Il+45N0 Lڎt&9?,vSzzf֜򜇢UH{Ҙl%=rNm5=)18(xrT^Idtpt&z6s.6>X jdP h$JڗeCE]@+FR#wL85m,k2IM&l>$CuME9wږzKZ+k<9&?0p?r{o@Cȯ^HrblHfȡv E8~ %NڎѹP"73DU͕znC, ,) c)Nt^hTX8sAd(&H/V%}̒u]aHR4:EAR/."|Ҳ?y<$HR0bnN~\k{]v]^B1 M/&<Ðj NJr$&ݨb4 0x`aB--or "QyhО0dv,&lJR'ދt/r$VZfU롦VQkM2+z␠J1A>bLPvTNGRwZ~Ѱ@pYf <A(f7?UJSyy% қ<=xtW1Wz!w=$ K=Tlt6U \+^ďP׳+X(U43wDz2*B~'(Tw@@ˈUFUN/&D\|5d4ؔf T"^Rr-9,5QHRTD`RcSH!.*j"!Z5" qVd {F vMKd|G 6eг<%f?]ATtU1s4/uҏ1N:NV҄AyXTK; RL'!O"(x㠤 kiqUr W[foO_s$-LkacFȕ/OAݙ(ZhȊR T{$~q崚G7b::|nR!;1m QfZ{g~l̻' EŮ>zмx[P;I 9a) BFl~$(jaT$QղqzfYJRb$_dX"`ș_6̂|.74eITm׺^>>)qc{ ""; <0Bk5}p|a1Pbء2 &eO"ǁc*H]p'hs(VmX\x6+om"OBiw hfnI}W{G5v-O"K@a29?8u_+樘3$O>E~$TP*-\y*-拄fy4Հ0ِSwS}L^Nl~wT}q\dhps Q'h9i Y&Jٺtwr) ݜU3ed)3^V%;>R$f/A"tzcs~rlvM%t4L;vNJVk&&" Bbf]bK ۜ2|[IkIl]`\ X#WVJL`}DʑXPBh *[cf*hZsqӣ xf%, sN|qDrV- ^VZG*CF~3 %U`b~8IDybIXߙJ:sc/[ ASA$5/;54/,j1L>yu"NOY^_kݗboΥ-2 ulſ2C6dČٱ bs̘6$DuŮq)aok؁Wyn#KH8Z1B (+DA l`O2~y^CDuSު",ʳv{x`Ph+aDkH!ұb8i$fKX`E8 ӆ135(d#CDC #.U0,Y6Ƣ~Wr =0:BEgBcfA:t8@t{$)M%9jPb#e VMWѯ1ehf8hJ:K<ڣACv(kdJ-5$UFJVAaE" -(d uM!t1W}R:xC&q6&o\ * ӜH\l~$FǏp I[=+DA[MqBlyf_[dj+fa D!0Ae)/ 7+ZZZ $WR;JRgI4oT.Rg}YIWrG7u11NZ="`;AD0XPtB`VP R[yd)1q҉ȒLE*Ȼ7)!b$(3?Xa/,4N+Qit!zBuTA\+Q@"x_CmY4QGb""25闱VJl\=}iߤo?/Wg>gO+TYϷ"ˡ!CO$J)}㉷^}Œ~KeBzHrp/\5z*0tjPwvNŠyYv2ycjJ) 4' Dkh[8LjVLެέªo2غ:ZjT9W0?mxG6&ibK*Rgk'S~cX&-6aFVY|(*r]_J Tqd$T<ݹ*/򰘊1pi^rIQDpj%̵E[֠d l,w-1ۨQg;*HA-+ĩ&1{Roncv82RŖZE~ff[ƄˋFT\ ΌUktԬ/#tډv,a/>e]UOsδͻ*C_oԒ*bɛ2;X &3ռzf_tZQ&НMX{h 7S gG @J/D؛98Vm~,ZwH!?M90tJ| ev]{51}F٬VM)h!r_Bϖo|-rjJK=m-{!>lVd!U`rF*.vȵTl *wrG(3xb;]4j{'ZՃ tGurNSd%qxFyIlO @|8 1M He\b.%<ϴtVP,b"3/9p{ő(NjAF('jHw%T'{1@ҿ"r?U D|)@ Mk ]) oWQC\M ÁK#B<+ 'H\VJ{4 K_tec=)IG6=WR <7LO;2X^Kreg=hBltkTitn0#Ÿ[&`E:߮jDCRl8`.r!0z.";)XrŀbsQkV婃qK+9_2ڇ5DfJBwR/\m#6ιrD r??|싂$8Qj﵆;ҳMgs_ ,EIJ%kS[DW#%ֿ2}j KP [;O0c]_0ϦAP5)A~mu&Meyzq-VL+$mhybHN5N߈Qnr?- / F4 K(rE%HI۟9ʑ1ť!L5q2SDS)iUY,LHڤ.d).&KɋYz[޻g^:yrů 2vbXHRPϒf4b<6c59$=zӄ,ɔIIt;^xT1(;* ,- =`EZ>:J}b[I-b-z9*zg*ԸS-FQ+2jlU:P)Xν G\;O[!I}5O˜,Y~G(uGm=s&)ez[G)Pur *~!sDD!YM̳ Zm&^j`֦&b]eCA KRT8ʀ5nuޒ@ ؇'JMs3t{XK`Wv<DQIl .ϛFu뺨c!XڭťRW_B0#̹eZNaC'ȀQ~V{o)IOJv(hr|lFE~'#s3ʞc墌 P83(TDtN<-AaVP%y8X -Hw܉.tIET1 *ˋDϦ/!H*E9|" 3uCcRlT@IZS |K]tmG91R?#6DTw}.-4[BbNⴛ t)}dlRtb-Y&ef:3ӄbpnK}u~PXwB(̐k:Gu ݒdi K=!0{UcITC*$7C2n-h~lcm-sw]J,m,;A2eX(ౝ _XQ @sQ_@=+O)P+T~# w -1/xQG|*/9h$"_#-dKbeR/hŘ ^x|7.D 5('L|;R#2*9k'%'gҸe+HU=])sX3b̽N T JAYҲKPS"8U/9ONտ9|Pt9ڄP9*+ RH9 KHkg@/Wcb8KdͻIlq&& ]VHtr^D>;*'Up[SAOGL#kb">}DZǽʸ4i>s{fcU3~qL{! *ku&+I@P"/:dZ̈́MV mr'&(Byd'="$M@-gch+#a  dDKϵN""Teaauea/Bg&})~LVtZ۷RF=wkQ!,Ri)j5xa+Lg^F`f(!1K[;t)}+~J=j#LuM"] NSHG2VSBe^xr`YwرB}vhrj0mgK˕ .S=d>#F|TrcdGD008 ^@3BT:J[K93hBJz=+`G"4+{.XɨƇJ7'M} 8I [z`T7Ĩ4@#SXv8"u2@TxMPcj ى8vƳuQQޮh z(&=W˕58!Üp,)o 8~2V¥owsS'I6MX<8D8ZF{?GNEnw?_0_N1pJ\-%E+Jre/Hc2ɭCqPVnsb 1)57W2-j-H{U10<1Ț+^x}TDfQRD2u*'MLgSFz~ܭ-ܲ ~qTd",]ۑWp%$`;bH918 t "fuqn".H)湂ijoy=>[Z/U{_VOaF,&z<|LEH#/|N!A#f&ɌKΖ.#@{z o:HҟWo6+BSeUi &ax*".lE~}֝)qbb#iʸztuJ 䡆aMڤ \F"na;DfܯY,4yCQf 7t"f  Y|MoY7 @d_b2 @LMu!1|EEO Jn{I:L`xuj  1u᠀l ҏyNcErMls(-kƒ2rFV_Ry |)bl(eԨ#Mo(}ׯg:`ҧV*_:_7$@|@(nB &VA+$P2=U)3R75hM+ UC*{Gܗ y(!`6Z]4[e*R8@ű$$ h$0H}`% jI$Y:ԭ5Z{WRd(p#HV,XN٢5UAV)ₓ%SE Ƨ= ϻz'V E۟D&n_DG2r;R4'd]tlFn~?n^6{]LZ%KV4FԞ)8WQS t&#Bf#kn6bx͵ l(&AY!.Be9x+kV <,%)i PR!$pb 'ؔ.i(wgÁ`x1 <1␻Q׋hzSGXa4$m/wVȵ/3Ģk~bD0;QIdcPXW):Bf!A.) Vhh+tPO,rxH0edpxS!}'LFXΙA KmE.xۑ6uC3au~%6h֠xU^TWF cb6Ofp u(_cf )ƴY0VSfةvzqB">&3, 7HR8A;xg|xp M20 c_qj'eAkWd}HW@J[kK&!>|M[ b'7AJhnu 6b͠5k1"^dhTI\U&E:Xeg9t*ԣ"D#?&} Pb(7 [d7) mQ 5% J0G~bQ4)RDD4I(2کa\M*""\B$P(v>I;B#/VHgBXLr=.rK;/%!^{:+\b,'!&ED&&Pd+/TɆgWĠ"7yȤ5̱3~BIA2ݐ (_?DǷL%U .lrKjQͩQR|1zJFR}G,HJ!¢oÆ !b@P0TbR O]% Dg4SťY CcWLd0Gbgi6HteY<EĄ6ǦwBkmؠ$VrrGNy!\6,@A SdiNI9Yj^fFKQmYK.L ='UIaEq֜Sq3\%)n1H3P;!J')臒J7 XF!y>ߧ\冕ı8 =ndD'J WU]xҵY_r[֚^#{93Bn•x4.dePzT,Jtk+z=n8OSBd䊮 +"brV+^CȖ~43Pz FPY=^ ?46pĜuQ%/$F ۊD5@PIsjF7tO Tl: RI7;ee3ڨ@u$&'$ $dKW(VN)1<,;gh)< ӝnHS"} 8LB]EW\)#o{$$.Se4nL4kymuKEse9 8\k\:R$h0AA/2a*R`|Ofp7r$\B!7W*6-_RDMT"1 t]n#;"!U|yZr4q[4JT9FjΎsXPFńCtxѾ 3Z0)ł9DJ9#>: iaĦ+8Dݫ;n_f8*!GMTkW wqP`*SA1r_]_XA DS1y\ԋ|@ۏHcqj}?.<&+Oq7uFص8 8񔞚{b KhvׇX PhJoW'II᧰!W\^ 6  GfDYC)mx'+ct_B&beZܡM{hª Rp]bgR$Z΢Zl?Hs3IUONq5lyaZu6HFQOo%1Iz8zge3'( H]&Ğ|$2 5>(wb2DU<;K6-]8]^)n%tutˊ<Bqk3&!/@cy/$ܓp3d G<IRJ)5uk5s mPLu%*HOdKsվ$MeE@]xwZNXk5vfp^ ^#Г @\'i L7y6A~ 7Wւn{H+AU[>>E+hrxD)RUz$+T5Dʍ(dM4CjD, @c !x\q6= ֍\:JUгqOXN#AMJeqC e&7+Ni(esW$E(}IIM7FlAHtDyI:}t9(a.!ʆEG3/X&ޒZSC 3e&5( SF"5$];!kU%r̕(ґ]#FbD% mEfW>%SM<j]FWSqWGMq&0x}R !YKdRhK2D$_JzdysBq$D!f$;BD댺 [-EY.JLUjVňh&`/!m2dy iЀJ`PZB>Xy!tf}M7>n& H t5H;na&֕P&jDW2A?WoayLiTFV[Dk7p]KM#'tÂ%M&vjYSl.D*q#Du)g4a"b^q^rYdHXDblZxZ֦٩Mv6EYgP.k u )nY{66\6Sxȥwh4VG*~ϯ*q+vd"\0 p"Y-<&NZA !:)i. llz .EbʋLS8{4^L*yI㔚[m6Iu^"},iz#DPX*)UHIa u-jfl' *Y&}9L S#`Y_y/ufyjD346-TJOpFMH0/'Udv2CEVXyK?[n GS𡑃 A i4"%}DPK* N & l$Mq eW<ӡ">ƫ|PjUњ :R?- ;]-"Dގ! "wZ ( ɈƈH+fɽ{[53gP?xDLQn mW(&0ITxL1vnnZ/w.WAR&hR[J("䓣דIL̇[ Fڄ}(xVExCYZ@R,B9;TO\BJ0 r<҄?HU(,J-A.!CĎ,;O:"s T4  pX}Uw CEݠ`J+$/o= ^X^DѪmyBe7:LjrVV} Lz[CYw-'6$K)k7NO˗Z)־"xfd=Q uG{o}eBpæ }U8&@Un9ϖ^8mE֗_9?s"%"*! "!((dL_MAIFJjS:A2W*41QB`0(퀘*1sfc0_ T~Wue, 8f>Am^1AZ[!+JEg@Sz2LO2VmHr𐊥䏀~1-~DQ|1Pƥ1>a-G̥c 4ymUO xDgM LKֽ)3_#Dj&6k 6G1wBe2Lў\eIfm+9_|VkQԬ#z hv a/ut!;+Fblu&1vTFU~1[hKD~i]|{5yХy?o(ԪPL3/cu.^f4#3Y>&SċG1o=2J'"8"m 4B_3s:FkJ+-"}&z^/8z\[ ɡ( 6v=fc~/]0KY3 R522ah6-ž˄T@['8$2#5 (Y2  t\gcD{F?4-8||VM*+d(XW%14f 5;aޛWIX"!Z'X5Cv٘x9d7Ǵ aTțӵ5Т}H, lxD4G46T8ʜ<*_nT &\ ( 1Oo|N6o>۟o7\guBևi^Y,[)rkœyEي($WB80Ѝ:/GI)Z†Ez5.1NwRP.mZvE%)E PAI<%y]PcPU Y;LM4)LGlD2֕Auy.Qr6k+iM_ltxYST>1FDa boM$+jkT6vEHy cF#UJRj0^RG-%,Zormg6ugpOlE DٌK=z;MI"ލbYcb[u*ɒ(^CEM* \Sr憭uŏp͖QࠢDӔ V1+ &{430# c4Ϯ8͛ۺFɤk tYU48h(;m bSnCƻR @^EЍ)AziP!hm֜o /G2դNhIbPDCJ,xj-D='N _NkVcPyDH ^y "/8p`nAŖs/z+<͚aOɉ˳(ruJ7 ?oyr@~ XXg[Nm:l7!ip8^7 ,r Yxm%pWQ.wQ~/%4g(w|<%p̓2 e`Kpu[ݱB9mhٞÌv/3a YHE_!$r4Y?TV>%B.5W-w͡--bhbnb9ejON-kĹ 9 Hj:~,"bR~nC6ѼM*nb'mH9g0,~ױ{Y-։0칞C歓cAC3G `C2%I2񘺊I?ǠVz9PI!]OӵBfR#Rዕa:a^j5l &(W٠\w3Ɨ<&Cb4dnW5NB`X-My${Qhl2H9@-3eŤ.V:N"/<):&;$uϟa ޕ 2N+v"E Tx&pEl+n(_Vg(5"Zf~ir|.eRjp;WƏ(LU GK7EmdVvvք Cώ/d4l!wZMt\)PGЌӸBI(OˊHK,bL q8IU &QP1U]ætꪩ kJFSot*EݾhOI%=6'RV6|Ɯatp gdž74%M {=GoJKt.T)]]T NADJnTp@'NVw5u3LqMn!k0-JxL`BR lc=%)x'C=UU9HQ 9 cJEQkeՏb[X%;NE%)nL F1ϨbDA-S~jXɄ7ofjIaEYZ[v 69\'p.+v5 \9QyMg+%::\Jv@=q!f@W1wGdކ_K@X6o>*8 aoZ|mۖ8Md7AC{_%㋒bZr $K`7CS0\M&&m}1/a'|g¾gt7ő5JF½qyXɬYzQݭEi ìڗ|?N'hvē+m ݽiQ] LiizZ/ ``T3wD91Gw{]1>#aEHE::Hݳ rDIX4+󵰩%ۻhkMtNFY$U6-xt[tU'{vV\7|!pA!`_V?4WDPz+2bٷ%:`t/,%=+4Pm95ZYd"a˃TK/˅Wabkz?k\#yuVIa̫D@02?FE"Tu =+rA~{Y $NmDXƛIO:C@Fpnl~q&]K `a1?Rޙm0k ^G nrf0'ı΢("4_.ÀXM mϽ#悸M .4gP\@LA$U2TCP4VN@RAb& # 6x|e~ [̶x T%\r,|A4dx$h1.q:<Xgk tH| RU-n^J" L f1RK${WQ(Uo[8W7EXLUY9Jʼ"s )=/ϦlҒg]5AzdqXV&.(ƈ.d篫#ݔ=@BGLSZO,ݔ8&.=)|RV>1K38t}-UloyU/²3>C~a7'1$)1ԌZJ $i^}LB~X+tRʉ?2GjDb,@"0 #y;w\.W gRQa謲^LE1!w?݌(M@!_ :,?=B+pTW.t.] E~JjqY$eZ|1cdf\Wݙ'D /M4$sX!l'pY}# ,w73l&I:sl'؁q^Q#(, 5)r\!d01[;T?VT?1t]ľ2|Fea^*I+g.ܘ eaSyXN *\3o}Z'ci6C,?` %fr?A֧L RV E,CԀn\3.8\+k>0\GV89 xG<%?Cy/ikpG7Nߤh6\Od:)*ZvǽATomс{2АkcmR2Q(ejg#xQVtVX,VPf~8~K$9RbV,4!VLJTwFIT be̓!v~Pvln*$֢vC*̔1s+H5@]"]=AvHGozfا*+ze'YPVQ}?Y"o" ˖N)s 9ΒfYv& 6> < pT d%;"}gp*)8Q^X [VJUEj_MAEQhm;g=ءT^r TFm__5Avn-h5-0+QB] "C&,ĖNUIIBbrq>*zSB{z4.N-8_璨!jh{tv #' /2]&rg7SaGV&8jz` Y 0& ,Qt2}@b3LGWL."nF7Yr3@KYs# 6AXax-3vqg0,i(U!<;ZhmVo3iWEGV52ƽvn+B셝Z/'.k1P$C0q*RR~J:by(2C m{}O  lkW)\crNyvc"ϼO0ShsY{m}=N(N5=Q;_ 鉬h,_r+4RHnf:_cĢkW^%;4)* J]RERf< BayKOgW>'Jo[s~ڱ0-ѡ\Ql[WcDAUay*͹o-C&zP꼧(׹Ar&LKwwc䂪 >fTrd8 tM׭Uʾ Ky ?:!4e\O¶%Rh)t.oΰ1K=-2Q1S 9X(` @aɨƉR i")[~ٓw2OlΚrDyZʢWLSD'֖?M\y5'J,Q$PlTB/hQƻ *fָm5 n__B+"dr8NcNhh LXSFVs<5EƱgk\lIgE8 ER)dkä铚.mg<ȡ#lź>fE$f'ĿN;凹qt4@yZ%,Dcr-Y#D%w= umhݩ#p ʶ>pbt/;{bx\'I&(WsLU%҂ X'KL6ս1 sͦ6 v3K\k -RO#̓I f tB6z3<ʽH( 5d(!XyDԖ1 wl[LQitzkN ,s7QȻACQh lZ"9aZ#| 39]-_"3>tl&@]:1a dSx#s ,A7PRDD sYe1*Ȼ>/Aڠ# :Q&Ă߱pW8b)+(xFrA:[h8<[[ro0eLpD>A^^;:@/Ŧ ע%HJ_l%x nc}=,2:1Ni{{zU[klER 1N*ƛE lHC ^{P8d chof]AmU*3@9Q~,|XڵX٥_9D1Sc~AZiMFc3c4# r N3?ۊC Kc|,-҉OMHx$3]m5ֲA!ܒΜL-?um]cQBޛ-O a_^KolONd}>S g"-(݅ ]Dd-fA4&f@ZT )­?H5NwӨg MŤg.AD( םec.0LoXh69mO!#R"N.2b);z\W ]=[w2RR"$H)<[p:yކȘU;- SU8هZ?O.O+, "}۫-KE)6r/8 FECq|KGMocz|fwht:JKE1c.(͓zDE4l_1˳9oU5&ĈH+4 (JO&V0mt&2C*NPwa/<]]\[Sc-*KP^7%^ɼKaf@FPQ_oe$8gKp]77ѝ;%յI0Qҧ!NJ\brLRun7xςP\T\Cy7B͚ ƅXP A  T4y^ T[LfxdSDJ8*[NS}TpC= a AkJvl!`_:ZX'0/Za"t5faY>͊^DRZ8yFM}A:]UNaY Z 4/nK{X(Nbg˫b~vrDAKѭ!lT!yLVTEoy@8, >\sK H:T5⚌ÅΌc+VJYlk++e -ځ9Ԅ@L5e_o*2ge֠=tH wGkNd`]+DNޛDLgE0 cVF/א[;m#W5^GRV]YBiV6LnAb1L֔BSRvjUo Jtmm뭮)\苌wRB)ӰJ‹Ty8ZzG;jaƀZ.`ڇEhE_xy\K箂Sa%,R3RLU|X*!BsuLddֿ)"9GI" fDLۅHp8)xu*72g6bZiY"{UA}83΢'U}JM%BRhCedjuA-|K~M#2 ihv YƩ\e..dQ'M-FK*s B&?v(pfdII^qLm!Ϊ2_fTdV@v Jڻ ئ%T[rVڸ e+7Md2 ߺ\֋E]6zrn0P^u5Z(伀l5Ę]l P(JHftm|!\`']C6:("V;@VK^yi+ nzM}XyAvcty&eQ +0_J*yF):&E%ȃג[$\=Łdca i*r !PU(Oh.Xِe8kaӧw7'&ԃ˱8LG~@!$$.>!~Af 㡴yh7#h[\uQ|KkQ+Tk]ޘ }#8G_e˴02=~IT2@pbbQ>L)0QZ AVxsʌ# QLMqa4 GI)=PjA}lXj>CVȜ/jA%DRJyn.ND9䔧{h!*iV%*.Z5A%h0egډ+ԋwKhPm1T%)i UB%I0m1L qӛA2 4+SgU$LTC{:e4 0Mini;^/vXKJ+iLŬ(NHUP3BH$UVDFZ6gG:!ءHX]-YƦo 2,&[hu<>hEfXB"M}6dN*,/q#d$C]/'C-jMU}uIkCNQY11=F(!oE&AI0nC-g&6'gK͌(J*aZߋU2^ΜNHht@G aZKk02bnHp9mJq 7di=Obxm[.7Tu_Vj}b'VQHki:N lu7 )`%^2{ 9JX8ՆMJ^JF( y)9C ⽕' ?6j ǢZYO7p<;:>!ѹMBWZJeF/1}RB·7-8&S9a*aSM֬iu_0@WEbXV y7qiI(\Ҫ`7mkmb2Jd+SVH+!TQUppI uZC"XTEPJ$ѡ?VO&NctPsAKB-\iD& 7X,fwveȐZvH m7m8@O +BTR8_ok_6q$~܅k8RZp۩%9Pn:ʓˁM}try($W;ja{7rJiZ%*|MD!1P5yhJJAsIx',lJ49"BNju< r7ʾ%KV7&OC%Ciz9f<0J"~jXNrrXkBu"/| ɢ#,o9KތjIhO+֥Ԙйu *$efw.xDrhcgD P0![ .N\FLn;Dy"+F~.)x k.bpNɔ;-smGO4DZc1x*6Bhs@j4t`pm~[zBPL@au0\Br!- vbNdQ).`K&Qkdz2x֯FyH '"N$hQ'#CxiަXb␶JY6fIJIB]42$4fYNՏJ-'+W:d.½ot B-*#2YD!#ZFl/8Ig!Hʔ!WYl -1C_5ڀppiP PZD("_t0Dk&4m+ZX!;5둲{>)VAj[ { J/d0vaܭ<vA3]Ue^VXq*t]^x.d>_f۰ |0h/?h` [1(?Z ˽L2 l0j\@$\)W6@(#0<8>[x-jdw[=ݟJMCT)]R@&EkQv!iYXQpGR9 Mg ۨ! mB ')O]d0.Pnga'<]ۙ9\Ȱ%br~~#(•*zрhRHŻ3 !K* DȲph3PǨQd͐O_  ==TNhuܷ躝es߫s֘r*g[1@O@i蜳,xPvV\Y7~٠w6A!LpqDYe0 @ۣ`EwnLԼaKVМ@ғU!@98(A :t -uÔW !Gi|Hm$,A4!6i}s9ZA _R`cCSuHiJ3;۲_Q$NlfF=Wp.4y[Ռ-X5`)GT)i1tX&P6ԫ2"@1bBBy^>is({PbRL BW491% oԂO,8DN-Jėԥ M+hb`n%Drlj ;z R` L3o1ud Y񋞉 b0c0BUA:_b6*ei, 4|!F̏ c33%JuS jns4_/)/k.`Oy醧˹(5!]~YkcФtї4V0]ਫ#mBBkUJdw2ewo"!!QSt/GCt(xS|Q'[ TeQ7X7$h}}tPPNhFge }!t5z&%[\U mkEe'Vvt'bbOHI2gIw ] AP!pS7 gh!dbg& T?I]C6K0ЌDh^l+a .LuZ`J'n1ɪV,~OI+.nr<Өr襙ȥ$lg=/¦ yD9ttd~ʓ d%@6w2ħ1\MPFnџh.R}TbCQ/F^hV `¿KaqEJ@EFd>9ML^զ)K׺H1UZT^g&PW\J CS40d!l½>zYKr@L) zĥ .~kr%B4^R RhjB*_~"KxU`Ai!Ya)1qXC[7yMy9V9菬Bخhq#3np#/=@S1?T_X HB-2~;@JviWÜ5wH$Pע9XI}\v8Hoзh+4S Lԝ *1UL`.'*^,xJ*U!)꫊ZB1‡r@gWtvHۦY'.}CYXj+0[/m⫼JMB 7CAzӡMp #upƆv48!Z[78n.j(ϱS;Sӛoaې 0gmgxb9\HyLDL^*vX4 PՊ[v,5DO=[#o^k^YiY=W5oHf/w"QijBiQ/7B̨KBٵ˺ `Eǀ+RF2CYz0Hgo#0ggD"s%u[Bja%3h"{A!dE!v#ݱOCK`$u uysŇ威J`!>%dZj ex~FlÚYc OodlORyvOQ ,"Q7 MѾބҙ/6.Cxe邼Y]obU-gЄFR^Yo%]L w #:M2EF]F(C~ʭ7#E({leRE{#nk0.;2XöX>S؛pm,oL+KOEJ\l2DGhX-lֽK%§lX:I*_~`ӾW3f; ͇i+}GJCX}tfXlUF˦[VB/wDқJ?);!ъf' CɐDP{%{;VQu#HK`}("a~6@`wDO1]$rLBAL\[Q5yS lPCKLG5L$*x.L#ɼ[Q^0Ti oTUYԢ.ByaZYUUNI[Ta8LRMcKKy\5[0a6~#_ex1YUibjOj*Z8C!4H1ӑr*%9Y+f=8D^ʵ&?z٪UnfrMrJ;6jtUi9>h/gS9W1tI]1l8NB-e Y(aQȢ Q$R-dE P*a,!{tIӕZշ=#i+;{!Q!Q٫zn-AҌ3VލʽyިzZ?Rg(]q)]yDjZ!"$"1-&V  w RآTd9c C/DaӐP<]+rde>k&‡}>foҁR/_d$0z"31N՝tEUv)? <7fgfpFCK_Ae&ŨkYG?6+MsE-3."k"#lŻ1eN,9fD*bOK!<Ն5ŕNݑ2@d]]Cv(24i=s#-3뎢6[-s] ,݊DickuOO쳺쾑kur(ዤyO'!6RI#w ^ycV7:U 20s S#-Ur@1oyq'ZJX`ۑGkKL)_QɢJ)զTMs}2VR$BmZQeS1Q&M:[&N8T !g1p%sD 631́R1N=s6Pa akFA: lEu w :CiN 30'f&{Ycڳ%^-P^gCvl8 ?cVuG.' `بpE.aN#z1hB`O>۵hs^V#9K; *SkВܳP:+\S:F':7DpQ_(~@FdJ8ZŅͳl B+XZh.1Q̭rэj7@|y H[%&ץDC39 NL&Llݔ?piĽ.Ca]+BBR[V!O9N{449-D"\W e+zΥ/eP%\K⮰4|]#UdHk~gf{54.(OL ` <"Hx^)䩿U1F=Vȁl,bK灊Þ^EkCE3C2iIqń>#k7[ Y'dT񕗶FOGTފZlvHFEZp9=""7eRk(ϓ]-dg8ݓǴD[O8 =3bWf낾 J=i3:$IҔ*ōʝvXB1Qِb'ZMxDS" SA@\<֛髐Փ%gĞ>b#רI |j&-qiX( t1_2i-},/@&d$r`Z\F]y@yvjTٳ` Pls uZ^a݁cmkdBFȊ 7`\ `Pf95\ly6>bIE'&@I Pq)L*S?ch }l n4( }rrM*+xy` È2q9 '" EvrIJ2,:r&z>M 0 hx cNK H LVV8RlG/"(e, 'K9dz[roy .iw.pH.i2XGF2S'"]d}.FQ 2ȰApKA4H>JPDੀEtljR$G^{nvƗ*4.(Ga"``MLpra2Od`xeV>ɇ軄Mۉ2Cett3mcT0 M8$2Щ'W; u(ܮK)w$h; ܱ)f50wU`u!eMIƘp.)M=Ap(6 69%6X!(24 IRkmxW,("@|??xWEB&xle |>  v7HUrFFOŁLH A52#NČƲ"+!.T=R@B3lB"_`(/(SI\RbRVhO2Xx M8[i>Q< rT7 {h΂ ؋mї7<D) ۲qtAr/`VLTtl4gߦU424'Kd ] &EVyF,TA[ J^(8UG^7d,G u'ۚ,&PFlhD!^CYst]%Ɇvt)yQS²$.v' @G @TvߜJUʤ0YF`Bt$_DYd4_̡w9Y / 닆 R2[r !diifxLYхmqjK( MAvhp&$I׍e%}@:"ŅQNJY?uXE aJ v"sIP]ښ }H/ #\2* ɨƋU1r8K,V!ύZ.yB E D`GAՊoS!ӹ?Jڢw?@N&7 L0iIR C,B^O?Inz6 M/^ MYm&Pib,3Ka&}FBJTk0O,RXUN2Uc—lBB(QS!J2Lff TsPܩ=lT֯{q<%rc@M.J IFo] RT%$@=ʵRQo^>m>݀l-2 o'0OVV{'-#gv՜lzeXWT\$0"!=bJ@'j *PN\#@ -Rp"L8+ A=iBCnFO~&@FᅼCAd#oJCm=(h8}Εb} -S~Xb>EV@~Ɛu Iy2A44BxqKz%qQp%l {g(*('K#!ZN(cY|R>Qy!!J"GJf({ػ'$V⡖r,gO>Cn$nװpiD CȘnH{bVcƋC#1 `{ AX7*Q%_oמ#":XS&p\(n.%cThAlBN-lũ8Ҳ΋D1ܸɫ]r?u^`>H%RNTWMKm1Se&a*$BR(-ۢ, W8G櫗 $:K,U,⚣ B$D*u+%ڤVBV^_21I3(IsvTo?Ź Qz5>C$Hz.J֐8,+TfXE;Ӓ}'rYFU~G.B Eg6` R􅩪KHTcB :MF ,㉶DvO2s%i"&  `A58ڹ[\iL4>CחƐe)A.ju08!a>k{j5>a2GŲ9As+_&-T5hj_CK1nLx0YUQh]6_lSN{ѰeHQn-!0h 98&UI M4z4@[5Д+gJc2qJVtή_[@M/{PӉ$&%%(+%*B -a9Qa.aେ^Csܪ)cvs^7k+{wIlwfG7aEN~M;!Eb*A]0Niih7|hR:SFA7 4?Fjj{nKa[sMng\ƪ_s=ݹ)-Ν2eֿc ]y.@zc~ f",XIī_ˢ]BoFa9AF` چSͼv5+& ]6lZD3R1 aU=FDd30~y֌SLG ,w}>GM`h`Vq .|=߳Z tM3XP`Jj 6lmFCa8ב3LjzQ!XKxzUձ:N׻)Iewd,ry}W ɿ=`W=A< EU|'9H-@QJ|=9*L'Q%I#ڰGU{#LU[UUBh2rq+Q|:Kk,}/X~\]^} QUq7dH&ބm>RrFAU=Y |zR0XNj 2Ak qlST{5tjƛ/0ˋeI#(\Mn8=+¸W*G^0[K!Ϭ;-Myu_]1w Ibjħk(*pD&֟NfQy Ja aS|4#ۡzZ.J^ӣG%%{jT p\[Q7zm5#[N66!HqmFt,O®G֐D)/ t-Z;EWEP􃼊re/NL\t$gZz螲p I׈J(]wM<g N_K*;w%9}s[澞 G藦I* F*B8ICl,4QA#'B,Q 6ZK4>/:ak8>X*;q"+|%XO"uKl+֊k#sW" ӳ6ĄkuT)ε5tu ]I7  ɾ+uw5)]-J6k> oXfIR(y:+_M"L3JlTHBt2<zr\S SLKG3v3hDXZ,H[x Iݕ T_3W@WAP--}{=x6&$3'0p*K3/mj'"#gKLZ^o^!U+*"η vfi%R[_mfppxxO>f/ XDQYqB)dRΞVUbKtpGZKȊbpiFJze ݊{%V4Ԇ.j%fp+ʬq{;3~zh,VfX&z k}$]γQv,}/\.R4҅O")y);+>FЛ*j7N6@THwA"UWg!3f^Wr4QNcPw!6.c(nIC~H#UV9UkQE$Z/(hҡi\֖=rY*B5UX!K3+fXaC`. !pɮP'?Ľ8V0)DOv@D֣z3]+b/؃%bDPg#kY=R]َh3NQR84$j/h#Gif.EC\unse*]C ͿNJ*ngxEd`S|AeTڗg,.$#PjWޞ7mKi*O[eS qFp%A)TTMEၷolqdfrrHzJ P MZԭpTk_Jy4Sf,3Ԉm'w.~v?jњIF@VYFt az&;e˦('cuDg s3(tX֗ v.z&G_=%$6Z[)ϠK'"1ْ0$3RIyQU +zηf!DUA 3>MVQ@wzh!L"/ҳO2VrguwQ[1Q~t䌹tL72LmEmM|"2/B;0aZ S{׳ρ v+4ƕkN W>rM @~OWAi6K. |?EW <$ebxltm.I< =tcAC1LXc^Qּ!*Pzږ/ IL,j^~ z(iJKiGҕtU<,4]})X?xsh4J҅u_:>=XWCQ!GDwSڅ*<:Uᣇf{e9wڋ']!ʓeKYe'ս&xIf^hzgg[{ Q&$׿-WM_/ZJ+tY9weQo3-ηKpca>{[Re2tka6Ŭb/Fr>0]G'd7Z6T<ެ@BAG˃:QP 9"U17*; ~pr<#IO+g=!aLaft+ @ɈƌDXXYAp̙]4w%v_ mwDlz搌^W8 #s^c6T<EtL(댭,̏rV Usn/tA,O_5%ljw1PZvBV%ʑ4bVQKdF(.GDGQ2[ɐ}>; m:RL3ٽ(l ]{p~ Qo,*2ƍثgJ2TLb Hpt|X$&SÅJ5(-Xٚ$Ѥ_B3@@63.%S&`  ѨB,yh@Hhim%2^}4N8=#{zY.3S 7?GL5N+J)<6$:C;U#sDׄwٱBO(.>@M,m2<`6-6( x0vx[^X*!Vvjԗ"+ hw2MCFѝ@kYU9ԓF 3YI-assK%MrT,.nI e:3j{@bR>ov3am!NȗI[F!3,>mYV| DTJVeEk^x$ >RT&x ҩct׹ND3 -= !Rhj.1<+;\ۅ"b Y2˜[FoJ5ji[OT֥g!C: N.(;IBZ`mُckFO% @"CE}2'ASdD/O_SډXIɈ: aOLv~3@*H[m;m$)50w] H y=|ۂ©=,Kۅ:,CmBƸ3エyr= .6`ᶎጶC1RBȈFZD6&CVt,Qo7`B@g".`» W*d|a+`'LI-F^GpɔVrR1_hmK&چ CaEjݳw{@F)Anbn2_\Դ)U\TZ+jyvb w^D4좹ʣFZ~邅j*5H?;!xǮ¤2 (%W'YA^}hz;}³Y4]@ol!)MH\Ac3g^KǬƱe6ᾀ/&Vk$)rOK%qL_0%l+]ڄ_ք׬})[3,G 4'5bتx@P L  TmC(kw5xG>jUi Za.Az3&ݤ[G9I`"620IHLe@F ]pAWRw  MBV;IJ`X;duVQ '+컉%rW3Q$}f,Lg"di)t>qsYfzgR2## 琴|\uAV>5p0:L GՑ d6=]KI$IR!wt*s{|.g,Cc\`}nF9-$&5s?Eyo|ˣ) Ec{)ޏ(8V}b޻МuvT~*5 `$J=0}!ߓ OT p~|2&+%Jܔ5ؾg#޹wSLr>c e.u%iY+]OmAo^lӕ'lWڤ?EjP KK;xK/taԅt$pP$m͟HRe=߃p)Nf69Bh:LX^hhNjEåQjӕm.t./(p*AO4"%i2 r=V|&ؒ|/ߓ}FN:``t7K$25b5:3y7X;d5Ӛ'z x!@q!c&Bl,. ik̈́rK`* Lx:#Ej) X%|0ņ`ՐT$]?HFVz ȪIN10(|:VN 𫾸8Rv+\ ؕeudӒ挼XDMWɎ?+.+kYݴŘ<,;b2pj('՝) ٭%T-X.%Ks~'vob1.^]]g\+u->H3yg/*>*^>j[S9stWzYoW)f^$H9&)'c9-rʫMWҶO!2)y vl+ABO_IӮׁف r6 < @ &US 6rDWz6' Bƣe!ّRK:㿆4O(Ƒ(J;t䜖PuALFz?E5t7+寣MYZ>_gn*\f7jOk'E3}FHJcD)_ڧQZV\` \gI.7HeZn8ܟ]r l)z+XTsg1_Å8߷SͷU bE?yf"'öI][ ixwReT'6gBX*ZI)4scFݲ)X:Jx#BrrPBn6 93C(B"Qd#C2(&r5n:̖ -: %Sqc;&4Wʅ(DŽŲx>Ri׊Y #-n8G蔘u:/8M,'\/) 5 HB$O2Qjfɼ'zueo.K6c XLa = B;H6Bgx56Urؐ'np# Ki䔠PD5e3槸vNRVegћKp^HhߜT"n.i;2DVF(-F9 xF{3FߊɈSJiF3%f6Ja" E])W?8;yw H+ZjnO_|`}Jѡ~ 7V{fk"仔G Z {@x@h=:f:))"q[oNu 3(MJBԭjW}/\7jt.1޹ ɰ{OڻoC"5>4Kvp8 YI?,l;nGHHD2bГ 9(^48Q4m \9*ܔ Vi`HDj.U;=Ai;E}tP   #ޚlY]h2[ӈ* @% #Ng hcc9C["sآcZ*-t} "ɰ Wyz`V~?"=0 x) 7* JVVJFBc{jHEzu([P  %1vxTOvwJK؉£GOX"rNNa-5'd*~*OI 50Ifɳ+$#e`rkk~ź7Zn1v)7| ʗKt1ļ>%/v{9)/JxM9AʛxK؛{}@[VS.d i)gm*BTQ{l2LYFe54Y]yam3B\ErԇT,AE&, y4iqN ~ITC+F䪤[@aBt3 /P[{A5҉%A._yq?BHl,H RlZŊegfQ0NV&(fhfzF) ' X`*&\pTDޖ0 4PXL եӣ̹-}&_Щ"eSf1C o S/xanX+CKF*05mq('z?X>-OCp1Pm[;)32^`w0 F\Y]Щz:"X4b acR9BU%Ӯ #0?7L=4Xz[9J*k"*;p~gJ!^94[Ḡ = EτV6ea~A&zAnW%r#!7Q/?Een\JoHM"%'Y%+qpqP0uUTHvMbPzk` .FZ] Tuѯ8y U$"Oo9Z8IrfrQ縯7!"gol~B$uEv![y2w;[bXY%̬,C=)ˇ(A'BÿˏWb97nyg !Cfc " 0MQp׀BAD 1ʱ֓r`rmmAOe!78Xd T!"'U LPj nL'OSCNF'iHt իqzӹ╦ULLY{Z VL $ (] Z A? L7B Y 1sJCh;."' AEb.PQ bX"q尥ːPXO%'ZB&c%YR~,$,~E%-ДRu.k9=%ڨOB)%jTJI ˫t%N*jmx.֞jyCYC4 ˮGj!:+QXK}e;HɈƍTa&1 䴣%6) 5|C1Pb:$Aed^ݦE *=q:;>jcq08ؚ.ɰYQp._֣_}t_&o.>kJGQ9HZѺwhJn[v%K%%N^ju{0Hs4']xI,:~2o?e&]cgzexջٿ]&A 0)W9HE7> p@ uy thZ )E"6ufxiB8 ! p9/SLd2n#8ύY$঻"dω{2,9o]&ҦݵS1#ADI2e7!b^;] \S1+j(K&L\&+#)Zդg-M_5z_Ʉ4k_k >@=4&FAr_7wܦuOr1hxUUسPeJe80>#k),;%y#?L)7*%C"$ &$Za3R}j}*O|Bs o)1A'Wւ^"#a%K0t\3ޡk{숼+ ~08wJI CTvDޢcq𴗹ty [$Vg'3-==v7«/Ds6u]E 17h*W|绵GTuX`]IP6&/pzu z=c^ew(M%{'waVȨ(!S>~%񷀖AISJ5*[=9 _'066"UO8dcJ&ЉX뗞V[m~0w֪\tBkB򈒭M/ÈW#!Z$)QU4V wex])1+~R?b3ׄ2.DY*5V(85>效=. uTNwLMB~}+'~-=1]:;\g'fDM))>vkw8^foi. FZ9j>7A &$J4%u`Q!F8;44Ā~GWfOvepKK+w= :f7Xja̍8Py r5258QM:IJS'RRVڅ&[nSGLOeQFnMe*KNϕRT{{@(k KϮ/i'Z dHvVxHnx\C #˾3XFL^"Pn%UB*/͈ܨnЕ:C¡ɩS[E[H*9Wo&CJ> ۊLĊweMeY-=lqW?ba)Q^#O𹭁>Lu)v8d4@Is3+/(488բ+(5uII&Y\3|:vXHR-Uѐ|E*k"Ve\M4,i'qvTh \$1l=+5Yn Uj.wAqI?=ũq0iL14Hg1A+{S$|1siPm] q]&%hu߀+~Vufw%ؼ&YF;2zOx%py&^Iǒ^,Ip 4mJ7R)u S͈Z:n&,OFh3C2\K9!9$ I% 'bZ-R},g2<˼ڪ#ݮ{'eliWU$A.7^% z㓉 IWhEu俧9ZE5kBc8֩!Rv^fEk/rgUzYfXz(dD8[%&e]mK_Ӹ`]Br.8ؤo$#db3m̀{%8S1W  ,@eКN1SZ&xm!  cy0bg R#[()Z}z%~"z}L.{JԠfkFuFA 挂}B3l油"sg0(['UF(SF<$w!G3rCeEa~@Jr`ka`@-GB,[Ee4 Y">A>9t!g/2ԳQpˎTfz~"(.>^qV]ݩ<>>''y9-p$%yU*ԅk<3@T #YMq` h/ DDت[w8v`.T"mbKFk!U[)rX2D 'qs$rbt'@j[ 5d;R*ɝK?l J6W6+Q&ѩ5㓢S.W!q!rɡX-vs#BhI 9!ZSV:khDɥ <KL:VhQP; !Z%\W%![1I\b|, I "$ 8v)D"~&Br5@e R=74sb-s4E TGZdc9,p606_z*n\ QɅ Ͽh)JHfgӼcm"k>&;i >_̑v59m<ֳ3œxն )M&˹Z@6-\P̀;{d #Ch7h178" r*Nf^l$E!% '*'NĪK`K2 @ jnLQ/.~O `?i`3T+B)HuTymkъ$ g6^Fe msbp=\ B+d@P'6J@*^U޼Ij2eOzڱrG7X wڱx#ՕDZDV?Oz\ڭ2]30tyc~g@Nߪ#PDK2TdVZL)6J/"QtdH@B7mͅ3n)()GC9PgjjUhV1'&Us[;P*8+.(#_ꦖ7Ejո6g{ "/ J ,ؘ"LV"E{ׁȡZ$Z9y5Vt/؜̨f6:, }u]J߹T҃TDe_=8T`llh& k*рzՆ dף sbV*^*u u d΅g1CPE@yaM:aG7q$kBR,@ &]6K;!"nULmfF#ԉk!MJDM18< *Y:BViTLswŐS Tce:vL~;R&T!?̣tQaz.}il:7^R@,ژ q`\4 Վ5&0i&yarԟX{ ַjCEo.nAպX=Xl.R1@,%%=^L#BI헙mzZT #&ho|(Όa pg|)`n:m~b֛زk7yI675Ť8ܧ̉wJδ$#SxЧLLQ^HY.e !}0OegX [uBz.#jԪ~Gi#'VS뉕ơ G,P πB^$QRIHn0qTJTbG!T޹p"| ].[V&,u i 9Nɓk%xqY tzXFfXca~0ʸrxX-e$ 4L9KV/qjo1֢‡/6(IK8`e~BdՓF;nD"HZa1QV8T%xn썕 ο%L4*ᚡ.5p M3ǫ šaWDdp{Ѯ:gzcdLaxOsI?d zqeh.&-*2ʴ * )"x}SP8$ґJuWdOs2•麜R̄Q#,ؽM IްavG%|&Mh7Sz$}t2/eHyTZhWJ@T4NtE6Z#\!搔bG٪xAz%]OjOVO ;%+gO ĂYs :$2IDOa1A!2yc  ?xpeInAyQ0Ga~&;X$kSUQ3PT¤6B ~}] E'TNMs`mաJR"E .2/&:"|fv DQklTԿniR=\ҸW%o1GK%C-4o?@bAb [?Hi6w,:$ JV/'dq}[3G4R杌T͚ӥ YZW(SjG~Y E|IDƜ"Oɑ%cr4fFPon ܯJ̏q!r'L>4T]Q:] yMb|ʮ?i.qr;rv)Zk1^Da!Hz1Fŗ{(JG^7;DZT)BoDӍ]#ّ4!Z9b]%z*c\Ӛsv# &?,70ٟ(q_XMC``MC+usuC^Ц|#w ҊHnT-܆~;$cP>8ۭXjhhá"cQjM0|'m32s+$HNC<1RG1㔙5atW=0ϻ.dZlNOOmANDPKXUiܟ?j)*N%\%{_LjLC!QlA]D-"  ?3%1nI*:/ ΏL fUA4^NB>^Y/JRpGN =R",QMI4dy.յ2qB ,6vn$rAy+ք2\oRt iSݍK#jQ7j*gfМGP䗬@I!qƥ느F$D0VN8cAU|Ma, JfU2"9f%\AD*; ls:af 8~v鲚UچcC/Qނ'b:Ṕ)nJJZSdeoPb^nʸ~LcGLm=EH.'0&jPуSΘ)0E\K܁3<('E u3D&w2شubҴ7(:#1gg8wkijL2T7& Yc ˛4Ɛer(0pDde .|(0\XCNYزT@̴Y7q>?g%Q c:鄷,w_os-W?/lޙh+HO{(bncw봬&DVUu֠Țwi:I!G":SȒNT]& ̴ ژmxpnvAi{ znFb%%PȈ9)-~nIÖ2$.XJEҎ]oL dST^7*ˣH3H\F,K(QḰehHPg1|09jV+Y1GLz*eg55jsLwI*Ut?<ɺ."3.%1XUjyhxaj)"h'$nRG]߬Lܯ\oH gͺT'X^Ejٳ>_¤P6{5h=Uv+J.̸9LXS6yӜ%haV |B{D$K8u+nՊ]C,gQОa=OSJ2ǜdkQNdē{yJ]D|xftkl_3\˔Y*#~Eml'e2HwʊpݙE|DzD97/-׋R!X!yCʞ܉r]XC.,UO>,B\lQRE * 3[VEH0o0#54 Q$ 3 N]LI,Hd&[jX5>;FDWEùE!A%%@[qK *,YT'XpE.M&(ȡqd1FM*R.IΪ.0\qBM$a-3⋰PtBSOc;|.qOb]-OB6Z7$T g |]]#YmhKQ3Jە09i=ԑ\hp驐Tܴ'](g;һxDFX.07{Zs玎'd\WmfD]g XxQ$]xExBhJ 뀨.J @nASRp`b_荡MȿRROjH|ŝ'nޮE:;qxr<(J&MEH62rWJDܕV/pde|RD&,\RFSJ] "pLATxLlR.," tp"4އB T #CLkHIGG 0T i4aġTAB 0Z΃B LҏByPW`Xx aaj;w4#{D8jTyǖ HB0p<*~a,G=/J}3S =$`@ E G-iȷdi@U_+ykBY%y`(ӚeJh9Wk]e` !D*GMMw&H}Y&^3̈.EH-4ߠ:֭%Kbkh'oRReI]]ϰ"W[+fݴ3A%\5G`~nL&:0 2DxIL>:L+Gd-rE c!3T%]Jh{*P6|u$sQߴ>&ҁB&plֱk蘅Lwy4d3QH 52(T4/qpWZL)đA2@䊞{[Xʭ *KE/2y5zкsVԗVmޏ?<|RJ0bʖ%gJ&-9(- 5QBuR08hJ<0IǕTYPKc,) FhpXZXIKEMBLO0Yф֡*Ĉj>P!ZC G#R. tȐxtA`ڽXuP;Ki[e4lM}aiƋS[)~^3[rJoJ68U Ǩ+x8@|>0E =ս~B54"xzlƨ˛+>4( 'jūw{YZ88=Fcq{9[p$dJnG >"Ex4I MwA2+,Hb[uHYhMU*6k۴n:\6o4]>6>fǴ_ *z9ycy7ThhO1^LPf:ri隨`iK4mCchr1]"^qZD`N+RJ,Wz`رbO |9v`)?--XHtIEb7$H^ Nѥr}ڲs)Si!}IX hTaF)8pih dn$.o U!$ *6 υ .vg#+Q$TVHx?7*<icpLP2 Z `(Cܳl!Df<4 7IHIL Ivr Wc< \m.]!0Q*.**~.#R2Kg%f*[ 钰gыJ.yIöqm΂<(1<SNRX`SU$2Maoe|GXR*d(QvfeT["6w>CmKcVkX8`Bd B i:@]aDu·Zd1iVlsE"x;lH~AH5y#G&Չ&hʗ(%ZWlGC ,|cT xE%R~ eM#Qm)&bkXE&ѷIvDL i,Yͪz)iL xYoY¤ bϴTqb>$8c(7QL%A"-T]#Y{;)k8otYT`*:&ztmh+#"3BFh~ۘR*E! ʸ,8.hR0hػ֫ uGS$5L2]Zj AC8l[9 $T`ud`9?$hͩG G`,;# MFDek1uYfTPuW3F1v8Jo#{NqvUHSHF7[_B(nE"~ѵZZJKG] F/M*b(P-R LƳM>k5a nRK\b|,H!ŽWt>.Dt( ( p `l @ 63Z\T$x<6P4xztt2`ͤX(]R&\Q%L2d9J& *|2ATQ)jTQ}׉$>eӻPM݊G:&jݳbb Ͻ|朲ӥSm,b*H.ׁ9QRfUYjJwyMԡT /"cۿDŽ`K^V#9\LC1/kJQγ1B׎*|XNES{-'jrA.I [{,]72_/+H2AX]s MoV;,#ia#vXbsbJ_=h)#2%+/t5S`ًYLF(^Ć&(_s_H$j0"*q%g7kd(-嗊:wL-En[F!7Q6UIr޼_JA-~>5VSt3Hz/=yw\pIUL}+}/8iꖹIB'ÃzJƏ:%&X̙ cQ쟄ȷU&nmKOiHoDgnYJY\|VPS:fbaHIGDUA9 ΨU.x }z'+kmMm]9KC8ˤ i7٧ SVb44p$AHAϲE "W%&N.APB1Vcx"E̓#mmJLNW>% UV#E,?Wa*#$}#bpfђM S"yߗ954(s]11HN0G(02- dN֖oA $@f2`͚?{iY!+ZQtBR*W"FJ_*G`5l;ZGUXo&lz ,\s,Z2T˗6CrK̥\՜ wV_NbIw'4By{ŧUɈƏb  @)J sL&d5sboEFSF%GKP v'&"zHZ “N 2M"a$7qү<͍CXT`FSX8& (o@,Lcx%˳B!lPP=RI(MDP3O':YS2mդO>po+KKmqFK FH(*8Bj 0r@cLe+ʿdjp<}(h/@.BB$c^ %I3 B@ Xp|$4釁d8IU%6lcL +d>Wa˜F2 QH,Q̲̬dx1ʑP*W& ٭^12$+Qh+Ť[x -cK^&0Pu lj9łNqyZJAC6eD7wB:]#`Gu;I6JU $B8D:) 69AP8 ZǣH:AN i t xیX82d _@ p\㠭I toNpUR=C[)3.%:A#^( f?V=A_N %Fhil ۲3܀[_hU. S_,<2l"bfL4鮝wktMm]¿l>Ru9 vZYi2 &)~ke4} R[CouT8̩Π*f}CL7e3dK秔P^iBΉR {~~씔NM @؅jBwWXI0+"= 'SZ)DhzVeԼȍ2H1f?D>ҟbot "-9bq&? jZJZ<ފ񶫴%i cEeW-k~j;C?c}0qtKYI*4f}/dsM|uhKKSNb yRBG8ع\g9vCe'2;fU4}HϿ@ˆڒD2.NךޏdUəoүYhL)*px;+HDI☈PfTk8< v>H~7&`A<C/w 2U9rRW]U Ie7AFeKKz H^&q% mT+,u,KF5Gj3F܆(Ț&->&E1M8XK4C_~DR`6T+g\(S9@#aw5ƽ_`}"ȟJsUÌ'Z !X46K|((ztW^GXqb#ֻlA= PD_mJb|ps:룪0.T 9|e3̻͉OjTڨk+#V bJkBVk2&|moSuIGʗk*?< P#u2\J C9qF!VqJȈI^Dp7{ْ"Ցpl4äk>r܍#Lr#0(ݧ.rá#"ܩ)sr$ظVZ&OaHZB0哘EB .,:׮aoQq2I78kGaP6O4^T 5իժ֮"hZM'~_RaNչC9&pj%n~}LeϲG54H:yGgku& c0#9GOUځ=lJ1!$)ɸ"==+F5 _;х[fEu.~RX&@@a;0[[]8B u4-vq\[#-V[dF#*%j Ѳ=MI<['αduىUdgd.YBU\_h23t+i^hpU,ξt*Fe32-Pl JX=a /ޑm"ޢыz6Q5V6zCE'}'^Dl];6g$"C z`fTLAY{$V>`iQRvg1d%t|4#'C+]=n{"']Efyդr'?׌ŴԞhI/ZaY1 PYAߖ: ['tv~I3!nm#kb48n pX\-ˑ]u˦^9 BER \.؉/% ٬ՖG0"nR -hϖO&U huq~%(g鵟a{~UVRȂuittP%6oA'Mx9 %iIQ_AsGOU<N?$%/e*0mb\c-o^Y,:q$0Bz $u0kژ%oK[DJ?Kӭr蜯 I[֖Ňvnk#8$"4~ h[䊞-r-Ӓ #̼]鴩Y``"UN{24Ij+`DTw#\뒝FEءWm7,xyheOa @ ܽ!9vz8hbKMҔ d@LB|.H+ OV Z+x 44n9YcLzzmƵ{-. Ak$ ` 5K&}7)N|,JnHgf#E]CYnz>rZ"͈[I& K{RKg?r?[-l@#SSk9JN]}4Rn<*@ Hf+V: .dʪ8S: $ ^Vl,  P>@ѴUDgAV1#O7p!0: "4A00^ر7;8tyn-͑Bw[c=X@ܩR@pbH@Qv) 4Yv@$Ix)w*P]8$ޕ%Kr\Sa '.LuD/ĉjٞXDcKT҅^M38Zɴ~)0^2R ]mVn[+fv~+֖\N D^g^YD8-b"ӒğT)@ɉu#NӥڈNqTo_IM(O%0,.IW[f׹Sf3O Ơ+^!I6w`Ӵg>baPL+/F0+|q,pTŢqBIeVH6N{+aY\6 " b>5,3@iMW{ҹ~QO~!jl!fEDg?uma=ĄM4= AQ@` ]cUl"Y83;rǜ{ hb압&=O*^{yAygAX\$% 9$(ؘKC\a/#4dCP]),OyY?s 폿JۺV$#`n:|Z2mȠm- bwʥ:NR)R^$1WoؤRv,7}Do4؟QƲEgDLJX0+Y?V(oq1H'!Ѣ,䨷@5YJB U"d!%ʚ2Js'ς~ZWt,)3CzNtmcU#eR=&DIQH~uy,޳@Pή/w^e6,Xd/v%)}Nm''(j؎^3_a%i^4I˼h:zEəiiF z6u()~VHEUυ6*{`Hs˓o ,8OFA 5|=.&o8;j8p=2ۉ ~lId e2LJ'!,$PƱtu ,&S *,$a /**b>dDAV]ǎ.&+LYĨM)n*e;5)- τЕ&Gʧp tYzgjҽW*tR\nk$ITO׿v3D>*WdjDE6 Ͷy! `DP8z>~mѾk!4Rm&dtg>RJt,Y=U3 i'^Ld剓G& ;%X8&yaNy0o\~bɟ)xSrilt%?ˆPL:yeVCe(JH+@"hděa QeҬE6 /.CJfUm?ID;VU$\W*P2aT+'I BLhAqHĔ7={PZڜKX)}hZ+E 5.E.A?%TcU, ǣDh,s̟sHG8>LP.n#,GLG%0xsqX= #^Wj}-=ռ7dppq/Ok6k݉seVT6i)`2A~r/ed!ЊYRP}&:ıZan.od#j:;#.y2Cɬ5W-.ֲ(##VG@S|ɨƐB@*% ~@x,5J2uQ=rFO,@Ν"t\W.}v8ڜ$M$͗xAb= 1^&Ma!xc,՝>7`)*w:E/,9eU/,dUYQUc1D=i<*U8 ZH$Eub%=͑.lDWQ 8ˮMR.uX&H&ȬW4xdNL.is6ؤck\(~f\Kl<1䞣(Lę$I?YPzQuKjWg5>\"r4=fR9G,{OJc=%u5 lg<ɤBKrD_j&}QC74|mkÛT;cOg5))UAgs95Uj&c"eհIfXœVuVÏi elmWh"LcR'Ds&RVR{srBn ] YcM,P.:bxVf5)Ba d"DzOX*h2ݒRdݧ׳rLc9Ov7serAX2tgɡ~ $-ŵ$eVMLjH:i)Įʟg+G"AX?pգC82.}b䀙$[BTjZߑf;~K$ c J t0 HFH U*Ut(~:z2Vؼu58V敨5bnѼz<9BR61 WV-JT+ PFݏ#)ٌI[LmMrZ堘 6}`&.@Th5ɏ8ЦY.+ZL"Y.sRʱ,TGktbDqKJ&c'+;跕)9tv9.JuD͙Ye>.`]rV-N*1_-G٩beR]NFV)SB$!}vY#|Ȅlz[E[31LY"E6b7B#pܧ5Sk"{:XS=6 3Gpu5rE%G#u6Ԋ;_97}.gQ1p؈&I]]Uh*ȵMIĠd"CV)UQ?_[đѕR˳rSKM=Jӈ0:hNM^":C%L3 T.*;),{H.TO;TMFoZI܉f?KYOrv*%1KE'*tfksi\0xdnL2*fDJ;<48Q O H BLy ׽[H\7eXܼ=z7'LN(39roxRl%bh+A,m-6ɩ؈P#-^DF"'\JK*q-t- *;)HgAR 7S^.^3,uv%NSbc1HOM Bjd^A& 9igyAR&rE#pAӳh,b. 6Q 'DùXJvD,f_~Gsj^ (QWqT->dː!+)"QOuIG%8^ιɺЋc33::=80գ{t\/=-0$GmI/Bw-3S )=>j>S5Ž-IIsA夊L8QJ`TyWhhQ uF2J m6\h٠ ߳A @zh2n&J,Ko`l<2tUSb *=ԴhTS<]6f5o2ub(<,P SZђi./K]CA%^0UZ*&MY{"ON'n*֢P9 *lN!H8pkJ1e^VQ}k “?Y=˩V9RKlPE/K(X uGFhzWM/*< lyL}ep@U6e's@*]mX= ꀯiIqxJŐ @9&6X #I`g/G4 ԫeA$(EM$4uR^^[$Ð6KrBF: +,ڗI8tْv#hO3## U% Бb "CD;C"_%=P5Ir0Ka![hkDRO8Yr譺arpG֦ rl ?|aOѧ IsgU:Jp\t -F.쎼BtXnj+U {YYqgmҼ` \"Hq,6W‘^@@6٘k)sl;2$LCUЮ `&IR(F0oꑃA$w<  2cw>! $u[uf*DI $R h/p64rҞOHB$cʊ9 Ϊ@qKb %6pmСa0ǔx3ĞX`rRJzv֐GC(B4ptHċ+ORԤs"I0Y|t \jzpS BN& A07Á:@cYX$(D]46]bI&.S](%b"UD6GcHx'ҵ)G*|0()I0xyre}s`tM wX F` M8'/HR <(@İV mgE),!NfUEHJQ IBGu3ABx if0&n4˜XJ@BE hl9P"dg#h(EV !9hQgDIxgp Sk216ט2FQ^9q$Rq E Tv>Z<z1YPxS$HũLU~84ݬ-4(kfU-K!OPuASg!xȏ!Bݼg b>e4BN#XVW~Ut U7RLmJHvH郻}"po9:tb ĥ\CfGDB*C)s>H6;GDtR/3BM}VjTt9[ȉܣJVaaD?fd!⯢y19O+)"77h vޥ:?}J['lc3VlS/8!QTJ#▬Fwԍʫ){>Ţl#21 D!H"_FEz*o!*;ySLElHt0aLm^TC"MbVb(!VP* ܙ[:+JPQNU& $)z*- P4).C"@K !@H@IV\1e JQ(R j-E "C2ӻB caYs C)+L )P"9̕Ln+WDpVV #:P܄ٕTucSM$ 2x7,L24^`W*" HE(a*Ra)$"R1WaxcXQFQ3 3=!\WnˊFšď cWdEŊR0@I+@i#iULRPG]k q e\n0" #)^431+kCro!@EqW8qFoDXx53Hc4 8lcWjM3y4^S7(W08FBMOdRF$F @ԏDwAӘ!g60 :0D5>eAr8 9(@ 1J z ÃQ)qt(` FH\!vZDb5R* xDN|@N7G%E 'v`U#a)@h.@Pv 6S2xX)R+U9# L Pet c g߈4Qd`Z"%ƼeHMJ"R7A! I4APQJTEtH;# !Sb# Y,FQlUa YPw";(c?QLD?(B #$:`b)8;uFQuDE35 ]n%2V=R0$+ A+Z1i!E+'Ȧa 5YLH0ϱXc`K2Q 0C)NV<FST!mTSak:bIw 96B ($D5cf.fWhl 펾+ " CN (/#B n@c7R0kqH\HES;5`~)$~a™ MEK l cG H@M #h`w\Z+XJix+шZǰ)5پ50cyz=iSQq f hi2Л"8wkEz ȑniE &K4ԭ*L]Oⓢ2@1dpQJ蠺j|f"AIż6aDK%%*/D9U{à4٥N ;Bi*t`@xٮPIma1K<,3‚Fh!MH QD&VPbxh^c]AF%P($ѹ2jsWғ1\iA% nbIՌH>p[[ӼF&T.Z W'XrЛh"Uf_&3}0,Q׭"(0CEB!QQ$r6e'Db1Xԕ/M6Ek ňY;Lڑfu,XnYepY,hQA<-BWBF47Z40уSVIBK!e b 4&e!#*h$rm/CťTj6<"WNaBJ(p oz[ yARD;C8e #Q +b3drH`xa^I2R(d,%m~giVI(4a$0&Pn/< $JE8 >0Q8"& qDiXH"G P8Iܐn4`(O@=&p(npHװ([J (+Ib0pm@sbR(&G5BNafH p$% ^ Q'q0f}YrBͳeURYe^ӣajMц &!#?iDw$Qa, = mB~ &JU*4cxQ,fc(Z'= W0OeرOί88a?Qyu(?, r`8N ~ YP A(kJkL L [FԚk$Q!!VÔ~>B1&izbjn,I[dPp=H4;ZI)ū<[|+YN Sm *n(dgq)qCI.db}#n,?B%j˖orTpaÖR݀Q"N׺db1zH <26(@a-89y &tc P땡ũ.B@K]2| %hxAJ 8fܢM[q?}wү߾A!)!8&%A3C"ŕǑM<}/-<SaLT] [Ч%vXɮIR/[@fĤbּpmڌ$)HV%+rCH*1]P,%W"fx Ԣʶ~Ejqju zlW& 1eW9 r /q̦Y)GB8 @FB!d &cVKEjFemVl0aLaCdj!#%MFDW"sRl.!XU~ U(` a"˪QuNDK(O9( `Q0O-1!n&K|d|Q3?a)2 )"؂/9|v$2F܄/!|8a* R 9b"E}^3g5l^6v7;rnQL"'BR vvhAQ!DG?? s"(n4pB'`DMbsHKILg=LnKBi2 F dk;,J4J!%r)ơ @Ң%HՓȂ+$3^c!lnG9r-j̩%F VA"J5 AiyALp&a6B tKzSguK^a|\HU2((q)]F -*dR&KF<$ob3Hs4H-RШ ݰd]J 8Ud=1f%7k |LdR_zԮB< b/d?_/ ld 0%P A?޳4cX@6sncRHb!ewds|K;gT m {N Nҵv|>h RddZ0'jd[q;Qň&2ɽ[ѭLUcIA–ɴ2eK0Ŏ4[PTB)1E[, ;}{V<Ԟt@v9fCޗc'જ4ZX2rӤa+fMwAD ,FOz,3KU'm#Ȥ+V>W1N"E)2K0H,U"Jm@I lư m8]@{eiJVq Ajưraio`B;ny tkJ qꑜi)c ]Nj߇G;Z)`.XPtZiPf%gٌHGO ͖aDQ.Rb)  Է lbw=<tK`%C 'baϋq!P*wȠ$}}B,L= pZ@I-a BI 2HQ& +Q[@%/հ\Qr V}JB$Wuu?SP6 ,+E\X ,L\)mv3GK\ pرbЂ!ZU8N?7%IAFIBS,v { IQRa7)ڃ[&ǩRPA\DPUa dzt< ip}0y0!HZZt ,r"ӜCld U{0mZZ)]WV8)dܢt1eJu0Jp tc`K^q_BXEcrgWkLid i&H@򇨢~9eb&kEpĒ=8Tю+k a  AT3 0Ulu4. : mJZS1 WKB+B!1\^RvH,EOA 4B E8Ȅh[@ɨƓJ N@y҈J$Qg"\O;o6zkr"/wREf;}1'b3(74"t]e%Fb :/~)UbEz&"( ZL[ B$F$G\muBH"LW\>RM,Pf^ea9{3O2:!lgQic9JV\bV] Q mfryPAd!% ''td*C!16a7@D \X( zȿ<9z/NQ4ekƺI5?pD@ eM& K1 a,xSN0"È;PF5e!\"1#O)]Ңݍ z'020`9'J{'xG 0D"ݠ~Ad|J6VXB"g"CQ<[6א7 c,q#V['S W>V띱9=!UymGB}H4HZAvt/2QQo+0XP`o0…ԛ1Qbz(FCqp2XęV: Vdb9)|;lSbXBaGjRJ+Wr1Ȣ| RFA2g>$!9c**7N1Pa +Y.!HDKbY -XGCUC ܤ1T&_F!Ѹ)bcjAR7* !± ujjhZ"~J$(GU ~  @FOyDz"1>R;KF f(lpG f dё1 ;871Vh$!١VEWˉ-+ޢQ'AvR'r 3*f!!MD흭Ca3yCZ)R {bzB!q&lC,UCpS+15r$eل)酬V9)2$k7!Bq!\nT0"&:4LVB7A^3Op̣c&N64t1nF?mZƊS'T9^ ̎ [ %c2)72>"=K>'`6:  BTQX|0̈"išϚ)&Z-^bFBLA( c.#: v'"yB iiiEfeʲFV5AM[8 :#c:Jw=?>R |'D T*|Ņ(&P#zbbv%qs2*-͍JlaHC` C(@IA#Bqv "PDN` 6b ܬnr@X$U WQ %pİ @cp'4XqP!8FVp|ʂXFl#$Z@b e$ת 7 ot:1JbEanAq 1g!& @(1* )șʖT@O J#QZ \a 2S1p n<1|A)/\z? 1#8MD DTWQD9L5'`2/ XcQJ{t DtzgB%.\ 2V@eT"ēG0cyEBQ(a椃EGt %flr-wg"%`#QCd5j8b' ]@pjB:.) `!,&$́v-ce-$ECєdخF4$ |?\3" +FY՗f10vthzbAHlmrqł"dD C'Fc?@ǦTbC'8ʯPA]A] ftA'A:zd;GBF 8G`A Dk G+ƌAբdȗ #(taN*Zxba#P 1& oMFrb+d9!@J0ߣ0N? "5Zтb}U !F9L^Ï8$YjaO3\2 W6MN\9ުZi%B+&,eAe<5F-+yrcD&[$RRءr,@DI_CQt>obD׹;E8ZޔqdLZZPJ8YHh#H&fȦsF_Py%!YGbܔ ӊqyc+E (%N*u1l 4}!& rR5@jpE !z%{0e:TՏxSDZXU g6SGmXR޲Pg>q: Lj`gX!x\؃0\,#S 8M!F% 9#J sUuQm̒0vA T$ ÉbStM q)?BPBa0 h`Vg(J(UIƛxat{%H 8KB WIȂU0$A3MHF ,AX }Ae#̏E`$+VTHO4h6{ewDlYA[65"Y]'&腸%◂")EU!KS|/p"-*W$4nֳPeI aS b$Э EӬz Ql@D,^XC 4>; XRÉ/(KGfP>mYF9A[Dn4=,yHx3h4iZlmuLHo5[$q+Q^~FN$S-h(,Cz"Mr@Pvcxז&%M( _Q]eAĝ|, N{1X3L$nDh:ԴLlD>q6` CI&xq> (M wwэ.&E I~ &'BZЪ ߂zH(HS":aZ>(PZzuw NAE9+vox0ۡB#vͭ7eĦ_R 뙥DL!Ds̎?)zӝ!ApÄYJ.'IsOR<&ᛖ,%?a0?JW+($! @rA  ex 2XQZ UApZ΅w,6"r CX 83'A h`1gʔ !wBҔf&z>uױZUλ|WP,Ja@W 1{oG 2VC6QF8ZwSf,I)%]B7˸/֝-K ʼnN%Bbr2]sM!LŜ2%.>KrBYRYC/ EhPܱ6c-fJbRDʱ6F9?0 EUww([ $­zlɐ!pj`n3d27cFL Iշp(RC8 A Dh]fD1X,}pHe%&8s V#BxT-@,;t+3)֏|F@*SRULlq19V&QsvSJR7G'V R?1RCN|W]8׫+;) B|,,x奾^Ý1lDRv87q$֜@0^(q!C 716<mbVGp=r,d\GQ1C"F 1h6P(E0QXLhd):Pԅ0uS2B820JF!deA 1"tc S KNhQ۝_{*(&`J̤x\TP/ˡ̨7 j,:(XXd= a>$r0b,9@D0wK'Y,`00(܌X 1[ A6b1Jv08W!p0td+YLHe"S, ƈaX#WQ ,έBPVC1!$q3t @$XA΁hZD6 y;Jۿۨ}NX3W A*8#Ăz}5&] PL#b 9$I,ߖZz FSնG3l\=$9& 뗠k,TcTJcV!EEZB|)a/͔ѹȢT pDCQGЌq}3im13i)]&L-깛䦱Y&fu%=XEUNFeg:7lVg2' 0 ԉ N'?P&iq$4DkjZH.i9HƦnb݅▟ZM*%\yгSD|iުl:x s8{GaԜ1B;F"##ua9~K[›a 0tS0TGA2nNEX*nQ]s 50=d%QMoP M}Bя`LKniÌ1)QJU 7qCpQ"TSa ѝLR+MPPB(?Bؘ3Ռ1J|pQTU|O݂X( .ǐՇF,GgZS˙Q Z΁uu%=,IL,g숭A">bL`d9d71[ࠥS3#D ZAg҉Lq*DAv0BްXj3:tgd)J]ak!"DD X#%0ĸUIf+Zf>(ߒI()F{ GRACXv %C259 T>(x?9NH418j3+R\od(peǴ፶"k$$IgqXO&Mj(p(a,NX45^t (`siUxJpzD<`cpr$^ ^%Y =a"fZ$8sg xy 3},׉q'5w<ɤ j(o4)49ě`13%+7f 99".߁hD)n+OLE\?t Mz. {*X8 ZlCx 8R4hL{6ӺA ec,%5 Y`+ | ez1M`H:fqEȫ1 ԉQ]"yuL"Ǝ%E8KO`?Pa˾BEs'h o0gmGWp`?=JHIJB쳇w/`!]oqT8Ox<;aGgISz4zJb tG!E{5Ј[@ŤpA:ASw@gB8ZG#P?LՐ{pHN3 ⏐C!cQ T&Vf_7@ Qic08opjO= QF "iĚx)c)V<<š?V,E`IW^P%Z:CKf oC]%d!iO"GKCY%q8StuB8 $$k#kE( -5 <Vz6[@>5Ҩ6!%VkŤ{K0 Dݔ"rl{ӈWO!IViTIJBѺI-`w4n([xSZ/G#v?,"̬aAГ L5E Cw<+]eq3&!dsJ%ngdWnz(g9ޮQd JrHe Ab I@d.X \(JQhDwď(4BHxqe"`8pI+L8#$汐 Y&nQd" D8rR ӰF*k[.9FQ!I9 pĜԴi`{tpP’#51% ;!K=G 0+*yH~`%M+ XZ\, P9bE9qSqPJв^h[A['()0iK9%brE5.$ .BY2㨐v.BiiMD2 SE[8qᤴX{LT8a|rL"*7u+F4!)w9SDӯ^ /Og7Ur41̴ Q][8VY4"$@J慈8E4aM572JA`@%40(=儜_HAe+aCFC$ʥn\Wڎ  Jx*%aEǰVj SaE#N*3yB9y*izV("X6WS K'Sv{!U #ɨƕ)Z029s/Za B*=cbDjDgr RB"QcfkSH @&㢟o|):Ƙ'79\T )pN[%D Ѧfb(e8c32V4rmW@GLvDs2i7;g)G)?ڹXL*$*t& KH9`TNLZYA ͆edl* D!cf\çU%YLT[rQ$)AP^Xm{&>$T$>ZRn0h5GRig+PRKb|?zH.;TU=+/gA@;ɢ?1 ,Uef)ᔠ!0 gNdwT  $PS`AB 랧abHF* 1'D G`N"L#C+BWm 1B3M1G I(2D4rWIt1Cz{C&($Έ ٔ1DgZWZ8VN0 G;iXa{lǁ*#\l^TV&9! M^RPy\RE$;BZ &\%Pb6aQ!RP9 9\^U4䬎Lse{BaLKRE$uɓUHN0)Rl_AC#)'Ф;ԓ< BQr/H_IB+< ^VhTr  LqC0VRctk*ւèr)G  3`$s5 e]FFy\J8I. ,IΗ A#AځI$*򅁩l▄%9f)@b'|ejhhw+_|)ceOVc-)s!DL!$RJ֌T\Ho=jfRt ],E3^2 Ro3'5N-;2WdkqK#Ko/u9yT+1V)ݳ_ PAҾTL LJjS ~3KkVJKgη񻒥Nاsj԰2Q|,Nzb7lJm9?e5D\3FORT)ȾAY%$ʼn"M[ rl1Mz)>"fMbM8iL1xm#C-i5 t:ONjgꬷO~xe/)1L-e"' ] #pCJnTZδ;PZf ..Rj/sxT =/CZ--St Jp1 3);A3wQ7")gЖM_C˪O&&!xH Y$*xLn-bj$:#KZwąXڡMWbGfDDe% ±B6n]4vC0 $P|/8:&3WxH6ڎ MHoo)UNvk)[mtfHd9&[vFFL|-EKBVʡȜ]HupmBN !q]&hwhJzj=v@~LK ڒs ebHJ!?x-.,2C,4q Q lAE5OǼDޞS^ȺِF~^iHo9=+Ft_g2L'Ag"TZ x>z KyBnֺPw^3ީ9;qںS0L3.[sn]GM4JUNtD?PT5Q6OdV"fղD(0 lT \cĢ-sXI~rԑ5}/׍ZP|G5$ Iaťi/Ȝ%[9i~kh8zeĴ\#WKDB81Jń`w j3)X'/#֑IhV$1 ׬AirԞEy4rUuF-z,ɓuC~uA&ZoF"pJ<& YPѝ^B Z̒VJirwDj@;$;1ޔ)椪sIt~%*XH&i|a4XIx%)<ӛGYq8FF ͎ S Yi 8$nM,Bֈ x gL"hY ,e$)ƈ՜HI)U &U]"Dmb+c3(ND?>1͐/ȫF[MԷkq, 12أuHGO6',aJ 5#wb$rZpp 0N4, dӦ(yEbi\qZ$Ո) uSov"2!{/Qtphl0++=i7+QpNxĉWױQ!N  +ᚱxx*𧙇 0b5D} c^s‡ T#xtK&x):Qv'xԐA{^TI ~}!$AbdQp)$W+Z1ҷX&cyvnֲUs$^q\I#=DW$ڙWŝ#@65[Nu7 6pޙȕDp<"0~8uyA^jHC65xD<w1S"PSS gd4$0cRV''qVIvE4Ϋ"JED@Z#< TZSDx xZ|SH$‘]&Ě ) 4)XPAy(gAS,7#3;P^% N7Φy Ԛڿ_EUgʉHːaԜ-+FiV)77H&/;n*dmˏ쨟W 4K\&ӑӧvB{޷5jyfZ`]GH(^yѝMe GBԴlH̩ljbiĭ扙EeUieMIuPTpECRܡOl8,YBl 6B!)cd\.2/TC[nMTQTD UUZFrk_lCŻqiREL)$\5KLu RKW-Jy'I E CoxWB:=Y2lѨ ]bIO,AfF ń1GqrtGI6;hDI]YS 2NfP򬬔z&7ӑ:]ԠE; S>{'ͮL n5QHkC?W)8Zb.H:]QֿQjRk?#k~~Hԛ T=հ+-3mʟ)5"+X= TQ$q_j0_O`!uGZBVSĖsU\0I2wwJzZS ϸ*j]>~SH&Hދ)[LSK_siNZl?'"jHء堁35vEjAeuڠn`|MQ._Z]N 7X(]'xi۸|c CTOeHVc^ݴ?x':;Ly@yS>Ab>x8 s|B^8Fd#}RcS0stfBMrTHoXOb1)xXJznT^zHgQ` eEUUMF/as/rcM(Z֫;Dk׹ o!AzĿ %fQw:A VR4ScjNz1ƅO(Xĉ+b qA oHl p+ ZlĹ RteOڛ'9Ka+ƁaD nbWs$>eEMJ/-.Y&tЊߓH*Dkf\yKb/p"A፱l%3Yrӕۛv]jB_v!t,[ \I}&YH'$$^a+ 2*I;z]w\eoL\ f5^V+6JDx^_b!#ธiof"xtD ygwޟ?^u| ՍHTF*=HEm|~aٝ56E²\ A e%çJeIQe{j eC*=r-ͪ:y apX9AċD`_",aS=wȂ=kE-V$aA]DK]"m.'Ĵ5Ԥ$Q(Cd>g6#:[w ~«#ky3"G&su7;JpFg&o GgUN"/",B8)Œ6J*ZLUZk38=[?0RpD_ XVA,:_P=(i#|h_ڞ UhvR(@E"Zkc.bpk<*$p^z0M )b2G{@?Б(5rZ:Ai&ꜴpLoK#<5^ruRgXS;ehk כw u^65o Q* qT Sv/M 4U4,'R>E\.`sZKT&P5 &kJX9m% X"h)/9Uɝ&7=az9Nx'VMtu9p;jaGŧ 촂 ILr.ϠJ0EEr\V@ZV&֐X)΍ܸѣ+Ew,>m[#U,h2S6#`ݒhPJ C][VI ]|xB J2J$"@&DENĐ3*16"]@6(x!ó$ua^nb|T^#4"N7Hc9.) -*J~qkxs@0 a6/55[F@@Dk%#b*洬wHKj*)2Rb lI'%9 7UJ̠u*Ӏ>A3d@5'jŌcf=N R; ;AOuG7 zB]^\_5JkUh:pީcٮrHw^e@): ቼM#)5+)="&2H,7lß L;QMJҀK0،hZE"HȒ30NjX}}7ʌ&ZWH$Z搘"m"Pb6>-H~('۾`m9ږeתymCV}E%lFhzvbDքOġԾBHL6h?WJA}O09zTsSD!n*4J/Bu^Ma$ds=ȷ$[RU'6c TD {Zz.nXbiPuiS0!6.pHSY3E+#5֯8 %BTJB/&t5 ^Гc}LxRAZu$-T.Y@Ћg=]M) ,Ƿ %tx^IĦq/.~H)7Km 5he p0'r0{块h`T0 j/Oj0d\D73M Y},-lH(hYK1- L)ǟY̷**wdǛD>[xnĸqㄥ(%*KF=R?V8kFH(T"d$FV`fAWQ v|sJA;(ii!x.oV9q@n57ڝ֣9o~"^9~ L9jkXKN=Up^#1ł_4^LDUk,V8/#Tƴxx 6.wjZX$~ޠ ̀U'( '8ǣX+@#+8dmQ;bPXH]N=d~wOT#nJ.$nFj'O#kYY_J". } uJfɭJf\vKmR3j{Kq@?ťiV[[NiǜYmM˦ğ`yOr|pCM.4I Eb*J-=(j˃Q-BQDIbӖ uFUf DSfF]a(}[ȅ@J/fl>I!2FinYmVC7|JqbQE>KCX(JI! @~tl7@ppVz9 XJo)Ҏ\+Jz'6G]VIq ڦ@O4>lq9} 2N+j#(GyeDjJ&LI(>x{[6CFy4,_llh9T7^עZC(5f*'V}t}Z*))vHgǣX"&x[KJ~._9A'Lg[_I8sZbّ%$d,=UW>R1ϙ93} }N] GUnE+?5屈Re2*N]ue0j*nr2ɰc]%]8tu@PI:.΍*VZZ38q)eEgO TJsJ+ҙO$ĴI)l~V<-x%i1=ovJit#j \׮j)9QY+P.kb%4d-bqedB'Y5iB3e*s@?tgO,@I "AznYs Y aRmz&RO`ֺwjyVO8!Ҧ\ů?hذ|sREҩ.c<ޝ%ʹA(X1|.ģ6f쫣S|F|Ьd{?8\XFPL$!`&5d3CQ7x-:4UujxjS':RS3ٱ5_-1@k"U32ݮY|l(~)}uiv("p˻\>HANtPO# yJnXF $eQY6N4 >h~roĢ'~J~Ŭ h9VN$;Āᱥ35 +*~kɈƗHRS %"V>AՊm0 VK -eF=|h,&RS&>-PkLcr*<#aɸDzfЍ}P ph /D"$U/uȣ}F!i}?A#>(6ajcUDh&I&ٯoDB|&{ס6Fބ ^gazor[g(\ݲN"zSE蔯o teX}\f:bb!*H~Yy,Zf@%ȲO:@ÐZNKtEvn(6 .BE4VWe%'噾\3fJ1`Xj:pv_۠LaaAZp"#iJA7~49WEF-%EqЦQF[V8A&̻A@ؑOj' bhɶ O6vեKRב\wȖI+^EmR%*B|1=h5Lv*oa@(2HVh 2_"2h`9HzA< ](f:j"Ҫuosqbz`)g,OoDvL"}qИ "~N[ aO4]v&dGIeQeoP z~t8J Gh+mu5#@_CBUd߭GD$xb@|9ߍ9֡wF艝+XSHl3YZYzʉ{vRFޟɬxnV+21:%@' nTۦ~6|=Z&z]&5lݺ4+z-Blz{{tЬTΣPOPC !Ưks;#QHP adIbE-a|uka#̏gJ@%{\5}7Y3 ;4!YP!h(dVFՓV̘,XDP sz70VFe2$+N@0(qCဘVDʱHN,$YOB&jdKʺ*&r1ܠn|J7W=g:Mnjեܺr%[+s΋!%dIEoyTA:=rËj dg : [w& %s\&SH]\M7פ'61Fc"z!":+VO>W"Kl!8+DtVyJI'r.K\w+0B3ĸr^{HʑB%*eJd@@GN^WU 1p׈$`ρ.4~E)gCMDwD"Q[0wLJ%d7rQ>+%u)+C! \vN+9 91O`yqM3 8\'!Y+##`cTV%嚳 qϟ,*E@,d7unBʳDb(:Jf*GCtcD>BFNB-8""͞hBF !=۔l01!G$-ņ4HZP0wtD8n|fzye8?^ ^?`k8$ ZK1QڤK"MߨB~gnR*xdZ4:ذdf|@3X;fx.ER*qՄW:''6\5S*",15r*:F<$ ]sJqܘf jPJiwԐRtiA:m%N $ܱ~e_SnoQ0fپ nXҎM~j-U-ÅF xسh .uS0ZY!(|IqEP +b"{6*$EXl Jq}8&`ل[NL;q ̚HF '}꿥$Dd˘5u!(r8[D\zCjb '(` ' rhXZ򅘷C'DfIWjzĦE1R#,*b2ٶF~vŷɌZh$-Ia gb@L@d4%"ҴB YN>u)Oo( k$ŇEFX.asvШ$ ~c+ 3:fy,&vDVs䭢!Ŵ\;"5ڏ7ŠǶֿ̟I(@( gM}AAniC;(-cDE_E}I'ﳗ!(OWu78R]3)ތfs2]69E">ЖR$]ݕ6G})N)GDbKFd&LBCsI Bh qC_vw8>e|UhVr-T8 yRd/qf-9ddo`W#+V)+ %uO FCn &3c(xe]m5 9;IFm%qC6!'0\nm ..oD^^f/ZeKE^\sE0Z^k ;sZE=[fcFĢᱞ垨rwغ]weeLE ژZ 0Kr&Sϫ)jAIL8(:)jv 2 &s*2S&M= a5 %*A@|R{i'NL MDVA6h[67ħS1nC3Ӷ !7oKb:M5P<~͝Ы"}^i(zGVܤaReɣɨM[P/ؗK# sW*9`̾ T|(M_G;R(b;i#P*OcC+xrRL(_UYMipdD(UF'lѣAE &{8$Lb57E:znm&YUS0̨UUm]8D5 ׆Y eBrU̻BMz< mk0X {睐 L1 7:nto{"Fe~bRڙ*ct35RTBL oRN`Xb1Pf mTR9}-w<鸳rI̹m (gL hc !V>$)SJ |rQ1C_k בJJ"T2NVt;ۣ\14ҟʨ6w¯:/cT>]Fj1)R}_:TZBZx,2"|^X~[Ҿpd& !5 TI;ʝdZۗpV;'F1qjYɕ"ڴE Pa(Q qZ66?}Y`oVoL03ըedC~GIӞwV*V@yljh_m Rޏl8œ*+7x)H+=IO$fڭh^bbXVܷVTOڊ!axi6"3UC,h*U\ Ǐ7O*ZqcV҄cQCiՖ_ 1.*GEYd^ GK}@^ųv׭~6F•i꫽cgj[/ZdluiDĘbl*n=mn #~[]#X.Lညmy݋yꚘ|IٓyFDC3B3뒓8佑?'xLVLYҴ$DP `8X8`W$*Ɗ&ߪYpV:,i?K_%G ,*Ϫ]o'2-jTz= y7@t0\ &23FS yVby W2lr_> ģ)t) ĄNe3 *L'`"c$%D v̍.^V^'9%-Ģ * `2JWrfBm%ks.d©]_X2@WuP`0vؽ^um< Zo τDĥ&)212TgKLXPhdC goˍVYdi00jf˩\8*KhҖG]gL?!T6ܦT"ؚs"lH=zqTLV Qa8^$YJ*>WR/Qv'nQ""[s׼KK qZEݮ=˴} GFIH?<2@6:\Cq)Nlﯼ"hH}&,Cibl`bENd TT!!> \" 2Ehrz@Ȱ@ lCPKq4os2]0Ή MɫE?8N.@!hHP#=*J$n1iTYY?mN,I . dkG`kvEOR%IJ' d,dȔ6^| 5Klu/<I}$~hOib=u&3iތ;qt ld3l8sbY9;H004UI"Dd".bOh)~sT RdUma5#+bg䊊0ѯs_{ƉŰ%>.8*ϐQR8uLJXTњW64ܹ& 2r3ۮ΃5U0ޡ=!Q)BmUAx6_&fDuSNK2>(evǧ̻ 8}MгC\Ae"Wk_Fp7 "H3",˂cEj;$yN7咼'$i&j*zAU2tr4lX@219f|(n(u, 2R5E$7yNKH\e'pr>nlO}Ife&(zWqDdB2Y!$_nLP+Z3q6Sgc6ifY8˨xdii2iBnJJvU50'>gj΋<'BWq\"$0uS RxrT"j.,VM)%i#N.Mn;Q*"%LT(͙ڂӵD|,]͖ۘm}Җ)"7/cu4,,*8^[РAUPlsDO.j64^'"% 6>IMH*W(2т429S/K2ɣ.։m$dAMA$ImlB$|J S'B,"hw>QWIHsߕa7PڧV`r*2Թ&Kgo~O6&& 4Gپ(.]5/ݰ 5|Z8P9H,Jq"ܨXMO :4b֠!靑zhMTbe.ʁِR9j8ZdNt Tg3" *NmR*O՝ U߾@aL'7nҍaz7R")ibJ91]wa.Ӻ$y} Cͳ6OQI-fPf鉿fz}Cr;u ahjo(Ԟ`)0EZ&JAp߄m ;-D<'BXƝUFAj43o 8qnldܑزlJ 豕nAUJ|Kj:8@LjnjJLbȪʸ#&Vxhon(8'N\hi`ŇDB]V0Y-K=Z=Mq&Sx#ҴT↱[4}*UP ŭVg=Z#Zӵk(2)N.ՔZpwVKOH3sf^IS7?ծ&}0}gjQ*BOhbNnaVZ$Vt(DWoDy%A?hE[X)$%:8,eQ~W rO }Т t(XtvSy+X#tG %!%3OU,լ&$(3Q*fizY|/)wV[dZsy\9!xCdz="p1lG+Ue6-n2LiN\ZGr٣vrC1$ӡK'v}qn[(THͩ9 fƞp<!rjQH5PÃ55:2 2T~q]8s2orob4ӫΩs>!~}r|hYYfF',Wt?PnY18Rll$i, k2!1܊TbYtˬ{;Y)C aAQٝ6~MεYJVUu@+*+'R܈AuW5nyM]E6FAҷSzBswj.Z&^iA[_3'jy_G7쩭LY39W SYȳ:Y2p.U%p6e@NqH dׅDZ3<,~3 IzZe1OZ1%V E:'_)CB` <"й x^s0nJpʓQ4X fk{gsT?3a+"Kɚ γTf4Fn 5#$鮫ًz,,FIl\X\\ YтW"tGBͩHɈƘy0yDc/څ1P Ugi t{ШfRAI%BaRDMm 6W1*O4Qc X&mFh꺻ICkc$(`7׌۹VFT*4X׎q&_x6 @4HRO+(&͗mD…Q-sc$>N@zĴxfj~ }\ !aZ/6LT:DR !8yXzW{PDAhYK{Xgݹ%c*wk27]*]*_yF8[E Hx,(sP\OarjP'A{_Ǻ.Hc6 ݿZ@|8j~PK&ۉg% qUhe]Ā4s.YG$+?>|^C-rgZok.*SW![6Oz_}+&у@C$_h t>PNS]͹pcg I"uU6w6Cfh,k#erZr>PH`5f? R&-gLF~,I$ @~=~I;^DҕfQO} YW!xޞ+"fIڂTl 4ڛͼ-4 TUfB?I?{gL"=\7Bb͈CQW]ǡ5k*H[Bf q02~%5$Ok8 eۘO`fȲ??Ge:Y{a4 04Yj٠ Y:s_{L(r!w,F3ۯ,ɤT9h 7+˕~^)*Q̼[9|B/yBҚsCJONٞLP̤ebKi!w`jffO(`ш]O*#I֍ 'r۶pNHq-;w5Z5RMLBnr*E_hS3ҧ8^R;<6~/1BSq{%"n&amOjB\Le9b txt<ؑYx.لveII[;%GJT.,tw+W7 ";Y(c } BUMQWvXODjнz}lq4fI?b`^,[FCI>4M C DiD7i-w8A/81شn'E=Y5Q}S9эrBK!cD>4dژto!tܜ$d#1yC vyU9R@:vEu ߛJTU.~./0uʏdYhxiR'$H3 ohB~VCS՜wd -0Hbhd>f*d=iq^׮zA} a _%\ZkkbBEtJJezGc,gATςiHm; Xh+i_C8J#-cmz_'%3s%euᔢ޼L)w\֨\]6l|u6<´|x ԉSr!WGٲKuwI. qhu} pi MFXڋ['!kV#Ҝ"úC;R (% 6&A51Ilͤzx&}zH4z9'r1ԼeI `N ?"۵N:0]|Y5 @BZ-rzN2'd5:&$EHĕѐc qCqUsqRcNԏĨ봉Xi?$/`ϴv|NJnY]E2t3fe> ^5)dѴjJ\5(Q[6J)X=8KJ%)*˵yh݉hUPiw *(o[N4RkzBR3JE'QS18a149*eOzU-EJ^rUȢm&蛹?oDjG&knGV^XR"v&}:*lk)/8l7sa!wmԏK!)QC$+GwaI5W5F%V\;n&gSR\PR@Ms8,&i!QC(Nl0n"Z,#|Z@ En%'+U!Ru;,xݍx\u]|Hw'Z8of #1@s.4@%gQ[ՌYy2&(ĉpy^#^DWxaT|weū䯄Ja SHf2qX0PU}w,_3Z@ &+WĜuL?P@QOfkv7H1x gd EH׈dB' NNt =`RΑqK?]cGw -mR|lfʥp[ݪ"T$1.A^5+]N,*Ɣ2hGn, x\Nqd^td~'F B[yAJ`UqP=Iɋe#,{RC,3( p2- 7BKoF^jc-:-!{@:ȒCӢ,MEm,~" Nh8#4r1\٢GE&Jl}_[id8rFfmQE{MU i|c< dVd.,I̅bAP?VMlB3.0sajEx1"TQWBQǟw!D b;>x7^)O#CTN^LKU;}̭*rGi2X1ԻmMLU6uF  >(LHGl2]'&bɡS ސDbDnr#."fKkS"N.~ jôRƲ52F9V؝a!6cjfU:NY6CD5E/U-D&U+Nڥ3B5uo^))eUM'2ZP؛5Ne |#ةr]"N-EW"6^*A=Q3}cS_[d%Y[zA,bZ,~ w6 D%Όc_EMA%yr^*G%gkThc̲SyIyY.Ioo0Z&HË^M= Hز`b2dNʌc2vpIxCs;jZԘsIS)Kʯe߶>$)U=NHL?- v*` <`un:}xNBŚce"b RƊd-:C.*to6Ï@$C&X~HjX^p]I"Rƅ_ +g|ѿrl'lQ`p3XgT 04۩0oAr_Zga"ڱn#':͞u >dX :xj VoAsD hҎCߪq,id:{]ٲJjRAO 3KY, !]d7A{_l23gi"NM:2hЦFGv/.j1I jNNٓ}&}S!w}[ jsbSw^-BYڰ]I+hWTF\e7e7`E3f̾b[FcPN#JLhⵆd(1~CVv>}yRsBƒ}1(/UuU &K˴=[(z mV-z*`6J^+9E/nI묛R?ƒ"/М6mN?=JeC2,i%$@aT5uW rIkį$uOU+"~}9uxb/2B^36 '篏=_Yo \h5N9A$vc9o# akA2dsbtx%y?x%>0_QIFwyt:&ڑ- 50PZUphnAcz$" DsB (L#űG8X17"@Z Ô҈?Ør0j-0A4GQHKA*6 N*^Y}4Bc Ҍ0SZKC@m,+hXg\+&h:- ⢅[sY0 ^u"˪S;x6Kq5 (Qa[H;%xNp1q3rѤbbRYfG[{Κ)Vpsz(O3UeqUD`IoÒ;4N#07t~UZL\D@75`Ǹ؞z}@唼k$R\B(Kw.dp'g\7"fr6Hk6QVsMmr`{jy>WZ*xH~Y46bc y,BnY+:{9bħ'&p2$ ;:6,.r+.x |T/w2LZ}61"nbk%)Kj5⟡c`MvLNjRR1ghErB􉺘Zs9KwĊ1cKy,9J=s1v8C.ܲ$CIx 1G7Ry]U5ȍ\4x{چ5lHڕs 9pL)@r*KJn+q-rňA,)brN1voT?C;Sm(HrKmWkV& + 04^,JW5X5ÒQm w)FY(6Bw{pcwJvi2%ami%Z6<և3'V @n#wCeM{gn"Z-RjקNEsϨSsN=mMc,I&$(ƒPh=hdž&Sr\X?Iu 0>ikBvUQ-WSM9w/}@Ϸ$ 1)͙:"n"tŋZWn)0>Aze6!¹# JSkP=&x}@c)۩=giH(BeD͜@"lygK5j^^LXۗNSssR }Dr~?\t6 XwM G{rɱq`LRϒd)愫+8LhXӘ@B?(N @'h<4@1 U9&` KV ʠp(H4(RvAexKX3bڼDF| ͊M,t7?T8)HĈp 'ү-Rj8]11khyxG?]N/#;lSp_1P&L`h3LN.P'2Zئw=f@&Qn Epˏ6jf5 &]NI\Ǣ)^Qc/,kJȈQd!yGKϗ'Cs4k{gENQ)χH\hu!Lڄ4ng݈ʅbQ{r *)LmvV`eg )^FX(h ͻmQ[sJNlp,\ (VFf5g#4=Ź {"&T{Zd*IU'GEe!2@$Iӂ VNJR%Vr2*o-x%}BO |K(FH"TMV<#|ݺfl+wDRAI%ٮD.z;WWA܀ɨƙD|'V4|o(rAR`w "ZL$M6aBN~TO\AOEI$)J%*YHUM,)zTQIvqCoYBgcq*"P+k%DixrnCPw HU&.%LPu%ZX6" FϞ*PQG΋Po"t[x^pS \>#$ )Rc&KbJ[ 诓V^W\5 WtRg3~ eRGofS9_N~F2տuI@@sehe`z) sJ[N Gض3i8f`qa/t3?&)OI8U:E;Rs:86"Z"nԝ,k%^N;ҍj)DlxpH\[(!8l9B_ S]cƏ*zP綪-s^].bBA"L(T||6>ǀA_K ?8\ms5娪Uu)(Jg X z EMH fْOdB޲dTK\şt%WVXIlup_8-L7X"OX|:2I .Z|?kI>xs,z,(J1%d~W:9;lOY1Ѻ҆Y.++̦˰yo#v+8O] iAa!抎HUW 2&^fDL2"BztWS=%Zb3f%_;Q^'EH6DȩէUf$jPb!Kn ZGݺT’5UsΙjVya|hIc>S9N 0X]6_6Kc ?ѣְ.J}(FzEz2ȹ2; dOuNHIz;NqsL3n Mam.kh;k|oJ+e;!@:sHK ~TW9kle/[W9HABw]`iL:_WT[{ڿa9 [T_ S|j@0}i8l0"|Y5Q W4  2~o+PֳIokZBrUGW ɞb-I<.q 8(6r,kT ;zhDtW"uؠ.>â= ),A[BF:LNڪwT4-i}]::|'Ebfw:mY'-ӌTs//ٶ]}_OVTem? -v,w K+jBu1#=̀r4-J6coN v_҇հ4  vƒ.Q+Sw3JsWG nZ֞bjAh-#;[C3X!Z҈kq2a3cNK' /ZG )(lp($ Y?DȔ ASĪDN2\"_dd/Tr%&ܰg|,>MY$HEjr*4ɥ+쨍qrki!n73BvZA_꧲4)J] vOH^B!ΐ4Xu!΄CҕaF>6<]$hUz%a􂛏5eCPΨ 6|t_@bEfncdv!b}L|F*֧S!"j!kjzߩzUUE)"TӷD|)YM DeZErӏl8f]<^],Qhl>\` ( mD웄H>B /V_C^c𜠑?. ԏv+F,aTCƩc `$8ެSS_jIU]6iHT)fC,Z5WHIr 7!/q$Ys`rU1'V!xIuKFT~覒Uj^HlK rਠN).zūF矄p ۭۭ-h+JVHj1EJMOd& ֏]ڥH!y0/q;ޜ,30a×;%o_tNFL|=R3*rXJYGxQU.GF@uDXce ~ DAuQ92P)zU hZp#QKDaC LK> JR>J:EbfįOG_=%V!ԑ̌}ʡGe˩34 2Zxb4!6 0/LB𠲕b EFP.}J0Vl4m/3i"qaD/䃯tC|#}_UݨF/^/쿕ܲ"U#D n3{E ӕӊm'dp)mAfL+SVN$_XH"8ħ%oGb4'?R#, .jX)Q+VIRݍ)tI,Q&j$0wUQT(Avws姴<Ϯ[ h/*Q$QRIWAfGWסbCP$ S?KeFX#gzr|eI wb e,]&PO> ᝘.5RDU'O?Yl(_4evh@IIFyXaCbL+$"+=U޲" >PWA5 i]$guJ| UI#*y.0lHأkEЃJ2ϩIFA^l[מR 6A])$]LJ8mSN#7֩t6j>X"4gXmC[jenPQ6M'r Lc"!.Z7;E"n~'M3$˭815mu)t-?m,cEL{E #v0ω&+&U8WHS$ 3xW+T-$yu k0@$r> Ja5nx:v[$z+za$MgmnXHH " ﭟ2Q]++`@|Bd"D uyFե!t? #@ (VOew%79:=eA sP9qF]r2r%Df3>j5ZE8w̋}zPFL1+㰚_J  >SR2XsGBt#i |2s#;.AjR֫n;θdud{q ,Pȓ`hja{: 7DYR=m(w0X`)`F19;'{k.) <:z֔!L,#!7[i4 Tnk(S&zQJ}ۺ8|ߺn< eg|)07b2Ԛ. |!#m3H +=>_DP9@y x_ؤkMxhuNK:*ŘQ]603(z'5Iצ- p`AOT}ۨuzAAjN̕tYb߫n 9X™鋄S#7bz~/N:\ |CwגR «r32QJ&`+ƿĠ={06[:*@"`t SÚgk{ ^)5xʠr>Vz@[L)Զ] #RdF`Y?#U O&Z4YLZ+}MCkpl4{J,]Zij䮭T͉I2wkV?FjC Īp~4UM–(U0]gmr/5ײngȵ/RzXk( [ҲV`! fD.θ;9Qc?xJr_+ܳ*un4*)or#}5 ޵K@y@p4!Ug<d=K)˜MO[k2єn?_4zKf2,`dmiI{kTHzzU =?淵;jÒOa/;=2¾Tyx5):UW K7/"5o1vzsRU3%;ɦhԦ)q:vX/gUܢMѠ+Ejs)S!ʩ&ډQ{nTЉTUS_'oڷI:SZF'E6(9٥\+% n%a; '#dF2q&<׈HK?(b[ac$]5m"ūZZ(JG\.GvX.N nYzGQ>(NԘѮXo ĔlEeiNhC Vu]  %`+HzdLdT/jJ_cwQhUқ;:K4*e){ؕ ^uB2#;.H̹D{./}RᛍP"_XqJl7@mQOm-Z[)orD^ZcyTtʍ Lϼ1(sy421@H$aM]@eR>j2~dym{ S%>" g\Vt. u]49\N(W0Eޕ]2Ӥg"dd ]tw~~ WQF܋ص6&XΛ7+97df)'Y@ȣ>i@@\UJ9(V} 6KHK.Ҫ5T PlrU_ #xMᲜ[0Pei}<^QL +#ǍFę&\ n&AUp0&O[vU Tи*襊VJ:AuHpKRSD!I_<' :AyY  CMen^ 3$Pg }lGeke| If 7T=654WB_?) D$+VZ]q#>`P," ɹUk\(: J\@NCGpDPEJ͂$VdwEقx2#'IQa t46՝%6*6  fiEV$u2 c}G|Ȑ٫QJ@TB&C$LPd(_ :h^}a@&D,yZ{tBbE( ֊hޚGK(:[`v_&O4 $mR^Wczq? ,Pq ՚'־Con{eM"qp >z ?'ekzWB %խ=پ<)F-ņ昑- 92ix1,q g6؁ >XًDtGy.RɒU >ōT$,L*zQ @L"K!c..cX6Hh_" jĕ7JvTڒvU%$W =}bc9[d0We~Ŝ$vQV-J%T~uwu" Gi^y},JɨƚrlXDZG7r5 $!,5N /O 9\!͎GR BU% `5 > 5bwnvy*jyauާ/GmNp֎-LiČok$8( h<)ʝGZp 9 0UA0Al PdHD=C0,P5!EQhG$ZZ"il@Fh{&Aaa$ctLBDYd?DI;`n'']@. Ep첒>'Ȓ{ nȠbmTfRg4!e0&v`ixߩmY̐SWvgSo)2n}Pڲo'?qg' >f·wwܭdΉ|n::T6)$c CATeAu@]&b ?w t+vt$RRD f:b%!V45 DMlŧ<< 'FۭxׯAcĈYma8ʗ#/߉?: :4qQOxmXT6L<躦O2"M10A"n0C<2_9"3dֵ9ss+J: BnR$N|K[|#I}NH!DK*7U׹^̵LA/U>+yN3Av7)f'$JO p i< I&X` %cfO;[(̏UI"1%n48=vՕ=!tWJ]r YLꒆ Rs&`K.Ф)4ns*uzw+BQI_:)bio0CU4d%|YiʫXGۍ*9&w4$9."]b[yD&Jm9 N1lRZJYVNo[hau-*̬H^[_3RlmY4~"%neN+ .y N-f4 I7ߴUf"Z)jrW*رG iPTa YU]k4n!"|=.Ү7$(S 6ŠL0˙Š_7%j_G?h BЬrwxDܨ2JQRakEd4Oe*Vi&|b9P]@hD"` ld0 )V Uwß$r984ΧZٜZI@ >cB4)YPD#$ƨP"4ջL& X5Q^`Ǧѡ8Lc,SXXbĊ'ZBAгOJCC%W-D-.]eRM8Lr!/A'}g-G^,"Q ]Q:13 YLYeOu9n&U>cNNmqbGC!y}F_^ٔ!gtSq8se򲚲Ē6&ukFlϢXM$hc .IY=TQ3\Ķ5vH.7c$wA E'Ei=!M%k |,NTv }Ў5kv}K?>boI8Qk[{5DrW:c=v%6;7kGURHSi> A6RXg0{Ý@@O1o SLe 6p=f&G>S3t "NTcΦ N0WRNw@ډȁ^k?ۓ$ N:Fm(zRK ,4tYZYeÆFJ9O>=`T`x ? \>E8/# Q4` \ V5r}$Q]`}qn~b/g6V.Gɑ^e.xy]I34n$DN.|hzZ)DG>IQґ j=cvyKvK 6>pa$ݫ/MpmgGԛXjkS8 E5a{?ukR$cKcoMkB/pGG<>˩n%JZ1+0#+*؁AYW}30 tW}j˩̩qvgZuslht#$y4n^;C0}7 8O׆'XqWaaufN-g%:RvR1٪3O|.I2I4&2l#ԴM Ή#~#˴T9UP}Z_fnUMsqbl@m8aƒa3cShe3 J(V#(%S<$9O⏂4N.AS!B[BMu$nO#JI@IuQ*! Sj~ӱy8fTy__ 吞PmCHՍVa4\wH /f\TfHX9p',z+UaU&YnQ̫BSfh'I}cܲ/7'řgB+]9 e(oJ'RY9d44ՒPՕSӱ+E(O ~4ץD^yus9"Olޭh: f!}>@FIIegw؛ nON*Ql2r#aAXe*~Y8xN~Hfc{,e3 iWз/ߎ&]~+X:.PUbKhwU*J[7 ~ညV?WnKEJWw%2r^B;rq\ u(d 0Ed@l֌dBuc"M!imLgYQ*U$¼CW~BduP(]ixeQoJu?_Y%!b¼ɈƛTpsq]YVftm|hKӕX.{Ъ QsF_R\Z &sIxD{([fHtOTvb?΋PPJ][2jٸ#}A f7v0xY" vsH%.xђXl/ INMb-l5Z*N"|7?ZqySIJwsյ'&( [ׇ>#M*B:8i=/=Ηcp+t\11&bJHɢZ xv䂘T+EdTk-VM\&+W&+s !q{ҌeY)9=T~Ց̓k(p+• * %%\Tщj< tZTfFYP⏁VA_aA3.Lf#4rpػ&P"-;eǎoD67 C{[do0-e! .*/uXay3sZ*HjF,g;nᐄYJ ԩاt&1&lB@)㨈'~o"GRh@ K814Up-zM ˘kt@?F-Ťy56Wp^& |'wL)EJ9o9TV% 8"> XC V"cPuʡ[E,iǎW >𱜱xb8n -W4LjT.{Cdz(W2W'ҷpT6բqۋ?eK;6u[NuYj̽ڒR ɯzSj=Ixll|Zt!雤&jr[Zf2n;pPGI<[{Be`2nJZ'Hj4@ & /t+ E-H1/*[BLSi*@fp0$vd$3T G7]STn ʺ+CmӋ$N#պGCb[Z~ !}f' p-eC_di/TjwKu,t8X 21Gn.(!Q6'UT;,ߴ)!W~=%YrH%pseCSBb-3uL 6vQF/𬸣jrS˴*}ʷ^ Z,JO85Hv S4n=+9oqд޶3T۷x\-J]@LՑЬ|GtAGo%N<zd-޹ ґ&*IB|Qy_: `-@G$ѫB58dZmnE"Hr j]jnwZ-填Π-?1l7~U7kQ\|4*4pǭ&;065Yv9| < Kq@68^)_~䯯qr1g ixnMYqbA5RnrX*>鎄GrlD%%IΟ &/VlNNO!!ƫ"*Mm20'y}`2K)U_drɦ ID([\0N}#(XFrJ"KxS']DMjI=2*?Z.7ӡHJ' .S!`Kaq/ d 5a_aw !rQj71jjnri[#.`(x\xX9gnDZJIݠ}SxE!SU˥`Ut9dڪݒWb NJ!T^]gr0Mt9:_벘y :NLX. `!M~;uDu F&!yJ2Of ĂI<B 3 9GDn(c_iKϭQ_r׋|nvf) RI œ&棒0j Wvē%.g>I:sζi4*bQ\v1G#Ilo*)Bnj6A3r7~,pv=Uӯc YeGi>㶾sUh*̱k=LIND pոE)qy^mUZ e~gTYV$E@XdjHX<UV `>5hjXr"Xc|4>]nCFu`7FE$XHR17$V"{@B`^12!,ΘTrBSDHjYJIS]A,©!ID̓AtNM>Ȕgo1')x\+4I ' p84/53*N\WMnx]_<[F'  916$kh1TWޅbTH2='E☞ECѨ%өd&g/bIEai62.UK列|t^vײ Nի6 㡹3!&2Gd*w%8O+uv51ﻅ&] y帬_*=M2bHd&+MfFHdqyPc9ڞ mW_V{$8d1`Lifhȱ< G2 >_ ,a/jSݟ}oc^X*I4l+}J3"$X)T1Ek -Dy镈"7zHV7jrCKȓvXV NtN j09n+G# 3 Lɏō)oq0z>8,0Ѓ i 'Q! Zᅏu:\(+xG "eڋAp2?No(!TXQZYBTۘGj!!8epSy5m* EkN'*9+5KˆQ!_*J"!D*+1Bb)/ނ K;Nd΄Pi<*LZXZ{,)SV| ;T*ɧ~[iߝea)c;Ye:IvC_f1k[%KEWZ/Q-THԮ2SKW}mp aKS'Qj$Ih6[D zT%W^#5OXaDMAI WϚ tiޖӣ^`ʠgE U!Ih;}IBAK|KevB+l}j{>'jlWvF)M.bgGD+F wm Ah Bvfl$XGp4@08iVKo8p .}@IZLQ^?PD{9;v_gڦ/ܐ-;M3Յw%)tGs T`b} BvK/dBE!b+,P-XO EWC~mM+gԊ{Nŧ Yt`Zr)Gb,ɕ9<N6*)M63c B5 D X:ƽpV[2ޮhu,wVPa5B6!\=Sf֩7۬bjM!P/0J.ZҪq+\93/94H%Lm*R+"!tjTo1y][E C+'}bZ@ P^-"T.0#歸c6KɲT?ı&VJgm Ά8r#5&K|spDBn9^9ihvU!E"Mt*vrtv"/R.JbssjrS/D;[nCyb\{'){RRBJ9so'T)f_O> A0WsA%^n^~^V./=#ݦjR1-B= /&)-ΈV1 UL 8rPP̅s$Z RHIc Fq3*8o&@ʬ5H8@? ,ZW^ ?Hy؟ݤUAVF]T\&.}B%wsȐ}pBW˺ o]%)eȑflzU./PJj_)FtR?vT6zBi>gdV1[i8OHS ;NB[A)퀺 r̄h-e!W v(((8BSW쫶9i/fb^*wKDS'5ϔ9=,lџWM(Wn6e͔wc wc~ щrh=zJ;JW_vL`r| 5* )oaH; ̲QmH1߹yNf$M ز5VxBpK2Qň2T.5?s G5 J*ުRA! "KQ ^lN/f>:Z&o)%~g۫k0hNzefˆk nD@O|,B~3=Rӻ(:0MyާíxHY#i =XhcƻΒER kD_qbsQޣXߜ =2n(USjr%ՉVu[F٥J%Z{E;^ՙgZ\V(څ.a{uKPY@vd' M^8uF (FB l@+Qy) H7`ܙXF Oh.@f2}\FAcҳf0C`PVN'^;O.Y#Oݼi`$JF W,&Jsm:uhzsD}5qf"]7rdtdSy!*~ Կ19&Q'6$v9)]`W2oѾ3\WIޜ2j_MD|Pw!H|D%jz=#fX-V~=LjsIbŹJ&X{*EYj9^&[P0fOM[X9%^UI5l>W*+KZ|aW1Rv6W!~J5PҴ38L]JlA<{Ki35MW8Vav )\Pal1a?Y6ʙ=E+PNڗeGMKm-ľQ)N7<&Uw74,M#~R\@,>u5xe˾TCQlH3O׍?frO-`<['=2VXoMXKB0A 0l „b";}`: "Dd N`>'Xb<bzT@-t( ŬX}2 W$2E:S9LO)Dm&dϦ$gEܞSEy25nkk|¯IZIҡ62bR[Rdt4S[NOo;uTnsa9ыRܽJԅܠngqYfP)dB\2i[P-F:ZREiFXT0/0İ3.`~"bIІJӼvot5P9rq`EVnܬUʕω*F uQV-FKnW I$Bp#ٔ!H87axC"^QWJ.=h<څЫљ(ʯB&`/JOѫ4ǽ? M50z8e#HiVIh_&@#2 e+Wx+i{]A|)YI80 I۴`-^o~t ɨƜ3i2V2l*V a OZ tX 2]n؊$õHf cƜ gp3̪Xݾɱ9xThˊ>q R86 믄# LwB^BlQ3>تn !&\)ʾ&7Z Nm$ߋq|'i5Tea`4ԫ1 q^?sKW Yu?}g@]GW|Y2IǑr4U>}],]ĒW,Js!E:}En:.0xBA@Ch \Fth|'Ů[_F4TUlNFFc h޽G ]{#<c*BXޔ2${%'TD`,z# ~~ZOq.; bzl$)Xgl Zk8Nh!zՒ+EZ)c=Ȫ:{Jqh6x`t`@$TitW=I8;g9` (y 8*:[8"ĀY ((af"ҞvP!thU2_Lӊ Zd_EDKa3Q$j?\&x&x% t ӟz_4h"}q,7=K y ͸8M>w 0jOyjʿ8P8r-9iލX.Bͦx@5p"a7:ce`#ba79kX8UeOB#ξ]1I`43.q`?Iy*h[[(κhti(`{4^B=jՏ+h%[(`2JQjp,H!%חCd#MVo ;D-:g/T@*HZ'g4@S=:cWUCQeҒke$U%(Z-XZ% HcVrZq]^Eb,Y` n?\Vg5]p`8ˌXL)3tO%E݆^ԷaII8ve=jfя"hc%VJʂ6̱8 kFRT/"K\=.IxvMsm@H`#ڄ@oVeey 6?ՎlyP`2+*ESb fΰ!(=`k1}"I g Uð2,ԈS= mXؚt*tOHVkw9Q*:9{M+}ȂPQeD BFFbc pyI^ћBaR-JJHX^9NNw K͙!V;酃`:D }bf'i0 aSIDRT6]i(cB.-zmc#ΒTʖ(LIg ؀ ZSgDq&q J`@M7J"ҟ-́m@pa Tb „4_ 3L+nv'~#BafBf#"Ǒ4%#pT`phueԗߚћJLH$ <`Gl[W?bbÃ踆*k6|qEFC ȝ3y5d&ɱ pE$5bg^A,]q[%hEY6J\1&QM,fu7,'p%'y׭sYB潵&0Alй'!Tx+r&$[_jU$5L@V:PІFL Gu~g_6C0vWB?]>;?G&@LJ -h3_4d҉P, $E4+uFluHX`[D'rԚT}KC*.`6gɍl9{I)74m9$uP}=n2Ѧ+Ε5CrZ?&RdH .+Jf"`u&~tYLb%kmt[īkU\+Tub]\M[K(ϰ\_=A'Kљ+l'ٗ9wtES߈)c mձH"}g⋢,F2hքuQ2PlEʊXUIn%,$Kf׋4=+ƙJvd|MI /V҅ƊEdR\VtQs8!8 IsxAv`Rj#JB-^3O# RpuueI+!: a?U}$%LAsswWF&MխHn HT}噈4EI󧣚["*>AurA|l4́,=bv5! !5.EhKk"z0f'%Ћ^5`wD]D%H5gYRaݤ mAĐK8-,TVe9AJ` EH쳉fvf:}$f}Vx6aZc.oi^MehF|}#J."!72SE,8o,w4N}kͮH4c M!,i=ss!ٽ @ԋksUFӮTRKk|ÄI&D8ӂ1K5^N[i#d:Ss6Q•ȷnWyD(xz?i\5Pu NY%Ȝ։ΓE !'&M崩VّM|؇ }b^g{WHdi2[ITQb$57pHiFTle՟EJN"q=-Pv=R5-(!D1K5K>-(NL/nAk|bɳYc~bd+T~n7v>fպm%KvyM\IoJn racG+FLzaՐ[g/쑚,3 lrhdRh|ǧ[ 7C2aJL:mNXŕPU扭.BeJmOfjg(i-lY>t,A*Ë҉QLFpҴ~ zK@ ʢ"HJa&(TX꟢,IiEjLDjh>=]rT;;;*xe;b\Yoi,1Q($';XA,ճHyRqAH>AebM;%eXZ>a O$|P*ЗIw£ϴD1#FOIܔXF[cjG*eK' q2TXe,NI RJ-:͵:uEKv|]DzQ*&EDkWOt> vG5P~?vJ*b 3t"BkUW&c|(9CH"CĎ>GŎM_D}PAYK]qN:/)% b))RYO士Oq ެH2(XOFWZIV$G1rI"D :}J! GbCNUkojoZ8ٌCSm|>37!9 A0gpMMej]EҊBfa+Fmmilku&YqLGIaM/ 6h4N,$@0bg PI2 )4t0IwA\ARںOJzLZ)%9֕QkyLdXkZȻG::pN\An K>nGD T6oȦ=Z>-T~|wLrѫ`eS֫ؕTp ҒrMc6L:)V5g6LP!(#$$(C2X(fi"ȪPdh1|d(e# etEq>ihEj"Q&I RHe ķ=(eoiXB.AҸBKKLjVbvZТXO鶢VՕT7;bDD\y&rk`O 3bEgݢ2[ eq.5] NvTӥX)|lr3ɈƝFu .,MȳP2,4 ͅD:fѐztk"@kHBFs+OsX?7)a@xiPItO?m:(sj޹y| DȅaR2FD^!^O^ƥ*IM&JMn63 R r*8ydUH4颰W<^q mw&p(X Id܍1i#ȷ+ٚ0A{)Pi3)PY$V ĽgVW8胲 ~!H2&1?|uN)O@G V2RfU6ԇJeUfȦVs%KTy% +(II98$=*LC+*dVD/bdfW4 ^tz]J<;iL'3*p6 L+S6JԖ,}VI psB/+c(<;1zgBQa OI2HHj"iLiSpuP]XJOso0_O4?Z F'!Bщg0FC TETMH`7D:,xəd_\ 快0g-HD( sZ'Ϊ?=q_7s%Hƒ3&SfK(WԭHm:hF(N9Z?bU^/)ȳ!x )/sjU?u f2ͤKh߶v]T9Juo(q1 ؞h,~JU iSwXL13j ȃWJq Q l E=hfC `Xa$ڼ9)tIf/grh!Dž kMDP-Ieմlt`Z~"kV-/{ [#Iږm?i~A2T[ HSw4L'йá<2',]B F¥64䋤o~(ТY{P_I9@cnh*P P5fŜ>1]|*ܦ'-o$en<lvF,*)Dϓ=xf[+[rYFfB[k%G뙥"w_ޣ,;n-!Q7rE5A+Έc1u2 PKIqq:_J`w}lJ2J#- k\B2 T[=3ʄ)FǬ[wb%#(ni$4StP^wS;iطI d'm;~:s9F_@)ǗBew:S}S)kL)+ 4M}OY& 7T1QRagH䜔P4$? ƒeKdhwtm^!t]g1&|/t: n66o c|` #R$ٶW,?^C`D1йy c vQM-;?$p+^&٭"A(V~zV-&19dED|DOf yrUzXȱ*u||x&JhZu2V6}SDSSz SlK^{zƀW IL V#W&Gq}Y,0?Dz.FN;vEIaj )8V=x &oj^_ARM$k).+2ʸQ\u6Yٳs U'1Eye/iJ#є={4ptM$HNQ,ţYp)|JOGFV<=+Da`+6/BQSa^vJSY|!WˆU"xDѫU |/\_(LjC p$`0ޥC]ХoF'MV=y'̲VTeni=󻛆)n8`:lM;_R,CΑ p7f]FG G}UgdzR[Ll,Pui&jJe[O|6CRT'ra>:gbf+-:IQ-]9عn^7"UInYHZXsp@ hKtƪ^4<8Gpڗ\);X .Uogq-}\V)/26d۫Rl6nTcN1|y;<*z[&LLjnkv_1ཱ72ɞQ 9K~ΝL抸wU߂ p2\"ѽ51,ěy_?tNA4|AHs$^G]&I٧u&9۳(̭J;;r+ _5K`X ¨0xTŁq4O87fq:AX+wd-= Oqk @ǧM?Jpk%@Pr{T+,KYԨ,4*n7K>7ʫ5ިNpl^vs\8S3%Waj!qpzl?jRY2eڸK$b$HBHc=Lp4DXtŽs j޷q~5"x<*2ޭKpCuya` `\"=b1A 3d&I+l;D)"Lc(-_dlBmO_rw~! :A0Jd8R%8 d}lq#ʅ1Lnb :a`x|!;vfXC?TiFd2<ʉKJ1PT!#"Gd- Lt2H&r W¿uif01FKz9OGIޓ`x,W#EIJ'gyvwyz[qkJ˲WIV= P9lA@~7>֫IYk+= cؐoY#)9gmW䏏&Bkr7tٶqݲ+~(n K"x:M0hk 1rHt:k1?MQ@5(ƁZgaB2reװ :bR%jKoZCA AT|"ȓϢEOCoSP2lğ'aà Y:Glɥ/b *7J$r}^.y&THn~Vv6Ez|]DJ>ٮ 䕢22R%$Tپn*"j] 651DlYuK !~ O2AxA2'K!^| ([y`Ų4"(M &嗍/G,y9{.۞7x* MJQq ΍*S,M LX#)W4U#ՅE/wk&x?s>#x; Ŷز0.SquՄNK^hiģ{fe3a:ÆIȑ""83BYޒuXɧTZas2KG_E"lX[CpNYw]Gfd<PdaoU 6/Z-v\gl=.KB&(d1ƒ~QQx)^E*jO9a~k}"!A *kvPT'eˉ"<#4T=l;lhmERBh*, I=ۍM*j?T iJu'mZFU'HW7 ;>x4FTs_Y,r9pUV[j^ۓRGS J[ר޾ʒ*U2R>ljIdo~@HQi)XS#l[%Bic[Q,QNѥC6M}Di~?yo]`b;(HtCQ-!8q (񠨴( [ƒH) \s̃%ZL n]3۬lxM1AĽD bi 0\9~pnK D$կ9!hTZe≖AS*^$pJ [:VeŗX8+t[JeŪ͇a+YN(cGb7? JU` k coeh I)&bxt^G5úQZ8;% k$_ڰ6Ϻm޹G)Ov)M{BR6: Dp9V&MchrA[#oQTu?|:PĀ)+ҞMU2'0}E%M i]*eMF'(^r4"r4U(R,=rÜˠ"/l4OG}po3~8N 5'Ϳ{d6;R$̯s6rd"ELDز$sʝ="GipOb($UPgpXM!UݸTu&V&2t7>>+s^)篇hE\v`D+mМưNl.'Q@"J.PiߕM摵} _̮:4+zb*)A%Em.ichCÑ(w5>1Q߫^חHcIިp_!*`qѳQXckˇޗ Y+6ƛV߸^hfmrzØ$('tmʱLY2AJ%oғc( gpLE6-`g+ON%ѯl ,0#w(M0CWbRDMrD~pw'L|_XJT[pizD)TQ THY!(MiQ0JM:)c eȭj.0~\_@W+B69@y\!:pf,@ҵ$1I \!wNDD^ sݖo9E|EMF? xxHc;Z"bw=PIv6hTPұKKx)kKKJ/Q*ޛ۳1ϱԂT2h O*V@I\ø7*5T'ZG ۀLE) Z4 KQX_y"zTN+/` Hs0$o"H*8] MyR["sOnAZ$qUݞGT"NŶm&F%-o*ԵtGAZ`Nr\%rňHk':֪P4r e`$/o$Kvk;jxoiM AB- y=[ D4j[,E9Sst>j>&yE%f@FSQ1+>u֛+6EW;kut~h[w xj%6N-14xυ 0qrS*<\R*:ؔSB.qQzni@ 4nY$g|mV:]2/r#;6Rt=wDS4~k=rv;VN/%Q$ZtpUL1{f }U]t!Y Cq#QXܔ;T *6$d|UĘ~O?ƙ'L۞og%3+^~WA5ꖻ~3IVi\'ol iݚ[Ba5zMrӕN&X:] 1A۷*@S죋ϰq6(`iȩ2荏z jċlЃ_"ЗH^ ؟HX5(hA(Kr m1^+$ J"&uھv:o >x)E74~0MyIʃS  &pQKȭ0~b:?XkH5xQ4E wK5&NQ ,+ I (Q)nF@ bg}LL褝 ߟ}uݪl[i>H⵨,BEwu_%a-O& dzKZ@3 Qk)&1:\mm&ƞ b3JauLTD]_]s"#X*:+ٍ5sjʑ01g]1 pϺD]oxҳ=3fa45(˭XZ($z]4AGo'niKAB0ß4UWU dvd"Cⶺޫ8EV ^$N"w ¦D:`zG^ἘXE 7D(Xyu+TR+qF@ir 38y#6 1@d\Y%6$.*M;+D T T&iOMCQbfX@B|`QEB]InƦ^FN_g#9/JKBݴ LIU }T~`I M/Gq*>vQd (H8{EcǢ"\4Dhg[zn:ɎS&m3ID$~Rj&iҚݵµI/+{:ȮڏB' G\1 2UJ%YD͝!N^$gUuUK=<}T&_/&޶MWBQ;KK5##Ghv0oe:is@u^1}J'X/K\4Pug1[w94#KדV nKmHHI(ȊB|g6Vf;~h]!3Pˆ-UK8]i`YUVo$"/+9'~!Ƙ#$1ܶ71lG iHe㎧;Zdg+p*q|wx+pOi1Ddj ];T9[ݾ)fMbNlNFNoSwm8ۗNz%uzJnX+ضq}[p&}nL PRM*BfXJԉ2ioL̵ ޾3.{feӋ.uI2ԡK1h1R wn2RԫrXݑ[},gZ[Ԓh,j[r[$@RX ,TP*Y8ן 1J'^y|bUez:(-osDNXEYJ%Sd-+I4!+QȠ*3zb {2Վ+QNhQtD \0LJE]9a,-Rj&EJ^r[\u)ViQ-K-S;jt*,PI8# 7JЗ{*tE 8}^ L {0( '{ի#hiqjy- TOVAc\Eh 2< 3D=BbQ_̞Տ{ɍ?NĭSOLM]0t"msօRGSR0cLVPLR UbQI;N 3QcF>bRB&FUʒFE32b*m6_ibB j\ݧ#STOb%3RZs$؎=62?+9HQC 0q- +~N i@ wLX Q?cC|GHp 'Ǜ% RBጐ$/ ~sa22TSzԪ6t:2HCFˁ6zbDtM] 1J 3M~h9W=ۄpcw'HLW2t+PlMnċ̌nGuD C;BIRϢl@Qt:86i1xXzm=mC|dAS*B쇅ٗc6/.{P*SJ5\*Ous1KX'ݪ"&5A"Sl{g$N'/"Π&N(W;LDn@Pcj)D˙#۟cTQpVrјfyɓ(=:@ʲs8b&z* @T&¶LP]ؒIJD܎:U9> DdõT d,4{%sZFe2c9x\?$O7PQ^B@0ffd2 2VT. oZXQ NBR'-ҦTjVzI%ѨMg!ةuӰ8!W u}y55/IԲZm>,e/ocҠ/* :%j@h$^ѮXɄ@&CFbHP>l_$Nʓ*v&qJxFbBp6Lٙ08|Ԑ< mGc 0o f>f=DTlB:Yi.bЮ:dDKxnX }˘\1i¹ML6NwPrt{bq4r:IAW)8ʁfm¼NLd=>mufzT%u275# $œHn(m2rIrE• qKdFv0TN}V5h5Kȝ J64~] ps~|)Mע-S#Jb.IvG חFz5PI43Lpp*xl,2*`.R$.e~Q `hE Z}bv&l$Zy~Ž-.Á6;.$*zoƢD.5Iv;iqS9s8CgSqmwux) ěTPK-S-< ֧;s4,.TOp;‚:/% $mJLrE-xZ0Pc5qΙ8#ʤ#^VBK? N^LJ러܁sr MbjhI oތX _ ThHb독jm@ /;;I,gi$M&ϝT Wmxܶ:8"9,"/޳[}ֻ#<_5Z&4Zf;5 Ԍs3N$ҌDWIۡ}XD)0웕qtKא4F);1/$?n}.*ŵ *nPre9x}txT!U+rN&SñI1ؕir7[VZ舤TR0P ^B]D6l'S }|Q*$,O TNE1jb2}@[T(^/*;HU#d1K‚ yB5șYskVo.^tu<ܩSC7e+$ҨDejE͖[1"Ύ> lW\gTo|\_L mdԒ ]/--ݜrEYȅ'6薫yKʱzn`]a֡am"[hěFaFC,"zI/bY~.]IT.(3sb̒StrɵCY)Kx.蓬Tڮ\"D椾)|I3 X=5A@rJ-5Ȥh1H*:ۄFfv̷㋧@t0B@gқ@VFIG{Ppj>yJqVQ&# ~yqۣlUҩRr#8o?̡4տzNUfdRl)CWjjވﴝVt Ji}_ !~ gB[閈`$}h^HpZ{/\Kg4(8rmA=?·OD0I@B=Ɍ$8.D[n~tKƝD#!K?lPUg6.AIWovNZ:]2$j IdM_[cƭ.ԎH>)y4Tn4_}Pzmú%˾i f~DA8Qah4B1!v.6DȌ.ؐЀQcD~#:q+.4 wwPn<SȎW4^1)eguT֏/A is#_+mIT^.gr #I|C^7] 1I!9;{/n&U3a[d7aܗfP봡rRtT;yhSu9*k5cZpvAPgAQ)iM t1eHzrPϿȂYe&&*Xr:?쇝Ɠ4jq7O[FLyڣV%!DoEȊZT t]WT)\aˆN:gǑT# 0Gjww QA۶4nToɢFSoԈC!<9gBV5ȕr)eeA^U̴UBW!$u7eo3BlG!% --6*G_,xl ͦN5x h 4"Ux ~ "W- l/-צhBtuTM$4r:U ĘĨlHld 2a  F''@AIJr:CF;2A7tzg's_I#՛J)M; zQn'$X%L`G*4qܪBfl3o (~ ^!*O#<eg9/5pxBXȤ¥N}KjiXHDҡi`oc*1E/ U *БشQ9B M)pf;+dT"Ƒbxe㢂.7݅:rfz6 $]RC1;oJ)DSClCɡd&W|/So/!@@_/Y0(p@9Y4XLFMg\9Y3~ []z2ĨL.E7믂f_@CjڅwQ$V؏NBy)8UTLy*Xݺ/1H9kJ3vϴUG9-o>8{81{JNɽ)Ok}I*a~y` _UmI񖭭HqG Χ21x(H=!D^p; a(â1NevZ&~Iۥ).f!1Y"^D[G@\ZϦ4!&= [ b'<)DM=bS1sG2R( \lX]C"F6a7F{%ѳ6?&jR<;ѴOs1rLxzМOZi{ qu)k(%hM{m2D3omwHolz]PA=r at"e.$cGYm^ɨƟ|~ ,, !-ulP*XV4$=rm ʌEEHNi|Qi8*6~CFwlibx'襎 <(bH`COv>9 ]xboNQu amiWzߥO"&CpŝcIv/XpR^Nt`ۿ8O1ϖKYGƧ%}Y< Tnd!5b:LXuB%@G&X X+֝g:#D*5,tD<+po 0q5) G qD+w(JR@Kw@cq#Ծ`M6k.*E}4zU±WǛqv CZ!EH=rf2x-lTgF:b- nx”ȸ2L P?qޅHX&AZP/ Ǟ NT[^nxl$ZPK_xt1\1 (!!G@0ay8Y!V7p@B0(/B\z4RE!9DYCG\P5Ę,: bp1T{YiVwknU (ʳFJ́nn?P JY}ZiȖ$ih!3)=8 {lJ(ԡk$Qq"_nZHdv&`(`5dy y>{D"IyqGf<R-)ZF1k}(.9kw')VZ6C?(!o2MR-[ VS= ( ?lQ[jN2wm >6&7oQhie @ۯ9=tIf 7sv,!%{1`mo{:dd8 (G ,A^$nCjG7X{,Bnw\v1$Z/˞sGYHn(y]ru墨V甁p;D):6}0I'cG *ѓ'4ZJ+A!`-GٗmAkKq(ȋg&hJuNmLY)A1M)iPp^Dź,1~)k%(^-FOPTwgq/LbuXAeAE"TYITl u$Be? ro_C`IҞ#ݨk (bEK6JW L7g|=3NƏ?sTG=l #.{QP ت q +tC_͍=dCx(M$aؕ,l17*)ψGUvRwŹ^V];+ؕ WSTwUYh|-bOc%m8:aQ1D @Nm]GO5w}ZPMșKlPCC'q8 9| d 56V';3b 2"se[gM&UL?~^[8y5.w-aȷ$D~AOO` p/gVw:; @&?PM |NO[]>7Xi{6- kɅ?2Ibݼa.7G!/,EIvNi1~Cr$h3ƭ]Ծ ;h}3wu*YhG3i1FcD|◒e]Cd$P;p',ZO?~AP1>Z@ cJY|1~IĨ|Hn:h.@]4!-{BI*1BNAa9&+6i3l&⁂s ~Ѡ#ā۠)\wkÆ%"UXڔnGK59#4ߘyvp(]_&*)A(JAErav*J7E"]Y[R/> ㌋`bؼruU$~]=1ǃRkb !n?,+SHG~e~E[N_ȞE#=VOh,6Ih|BB%4\C GR~ʢ3,ޣR"G$""ϕ4_BXUko(z5bcHN9 B8hA_ǾwVrTN"ӸZn($X*"d.dl6T My5!@A-i(0)Rw-tȗ>TLrmf !uq!@̤ JSd4bq 0S6:O6;e=!b`Xa7P͂1LUyUW>eY(ՂytcʕRT`XD`$Hp$<,,@օ_JE.6|e¡9 -5$ [4xd!%BR$Ii )Vw_2dWZ\îO?|II:Qj4,jƺ gmMD6zOoŹ&"KjpG^&$`Nj   ( $д,8;a }TXkiz[Xݾl+x^c#e8- +IIމ:]tO#[Ee"%"Ce>U6\xɵNW򌬔xYcpҗ(Zmi$e8smٜuf 7wމ ?0kJQRF#LUU0rxI#UAu|骹72˖A$ Vn_VN]D]E ވ(Ǘ-߳N+ɸ[M1DiDLpJʴ(v ȮQVgWݨ%\Iwhi]o*V9u9 n_ª M y&do+(&ekmd(TAX,fQ6*Y˂#EN^`-Y0‰:OOfuOb8S,,B^tFhcj2$P-U4ɩWMH@PDxq#J(~%ff{Y4!u0o_nq~njFadm2/qF_:/>5/f+[~,2,kT*r0r t7;e}>t[TUCz+ݨ/Eh>v<%ݒR儷K\)󢝊 '2GJX)RM_:m&&riNAAy7)QQ_}SΫC"Kh*H]V%Dӈ_}``gbM+vbkO's(%^vԱdщaZ~'<@_8ZGW˙&p̤Q47D+i$P@]!4Sܵ\;<*ZAu2ԼWRc?7[am/ԕoRQ6P5\H&;[͘$dd8)8'jʖ/FlYOMB#&Q6Jq':9r=cD|i$T -#kx_}' 4ix̵r†!TMK?8(tѢ\ѭ!@' Ǒ!" Q BE,$HshA,J /4jPf9&atH0%. y%-!/2V`Hc,Ed8Gz.QhoLWvHKzYeUFFIPHGoV!J=dURdԝr8޷tʴpk>H%T*8H¸[y럎>|IN;(S_('&aF[y$*❦!L\PX1{e,RgKkh퓍+0+4QdpnbhiI԰HZ 3P ɿ08-Ґ(=JBRpH1 4"mkY $ жbyavZc@q#ӞPXpy"'x᢬A,*Y!0lp_4 vfÕk7CbQkBNh+څ7!K/u[uֈF\e۾\|p_1nyOv`A/a0gRUJC$_şFʵVc߲ i(ODmm=ˈKi 2͂֋Ԧ{]0 <)QDqp*\GIء[nOi XA:\@!+ tȀB4!h-DJH8ҢJ:_cKZPL(k>彎*jdM]Ɵk4ΰ][#MgXBGCQ iRv=@L>, [EMò֘o[:&WSe\{OwPgGy3/`JO:f3I훋q8*OuAbr?6$fJ.xz6VITO̫(~Q;n'H3|V>SOWG%s1@k 'gЃ\HU*l{jKx2.SU 2H8z`^'f!./!0XTEm#.:azg\Z5sV+HMwj"<]#&7O~[U $Oc_+5Vu6j Z[|ׇZG4sV" N)xoRlڮO9g!qzI$vI48pBg?6y+MD1B1}O@Zͨ[1W[sbiaЩ XH.|U]+ś`!.&z_t񮬙) /gb?ziLTaRZ(]ʳzj *mjԽ ^2z; @ y')'G? D)Z%<")V]wqY~$}kAr'd~&W(+Rt\ /ZEyGz<k"!>@}+'y&0H7H@#[vtOK SRg)Μpf($ >}XX~%CvTї:/VolU8kUSmIy]m, R+ITy٘%U3@H6 D$+7`?R y?P%KO>^s+Q(6(4T|r?B~G7ȀIB4_IV&,bJn633% 7IA"X*z>6נښF9΀c͵EAF7HiY֘ P wZDMŴ(MrWiWI#mf*6/MPr~quO91ك(B(I0牀pgtV\OhPG-.Q6D ;I*IfISd>uHh3cӒ' ͲFCL,ֽӖgĖ(FV䃌roo F1yWc&_2Q+]J+?@Jl.Y>r*J[H*ƚ99 hImCGͻnW|*1s.ibF~UNG׶ל,]UlRuivSE5t/T8ZcSӵUx lͥnU*f39ZɁړxq\oۜUKYO2{wMJn<]2SD8#DVΕu@:i/H8~zGD <:hoşph5f_;ƚFgsZ 'e.BZ(/oZ*nɺH> p@:ԮZn? jt.C Jhu 1KSCO^?ST䨖#8SjপoiaԿ W f+}T'hD&*FLTf)/\S f77w!O9T++yZܷWŀzeUm3#C!+H;i|uN|*A7\ hPbU箉O}jyfB5PR[P^5Oi `^ JN+.WH'nKԽ5}45HMGYQ}D/_ⷡkM|4GmʩU6 dZ[,䑝3\Jp^Ǣ9ͤ?~͡`Ȇɡ&DEGw5c4:1?A Jf/H0>aGGFo˧,[{FjiRٚhݭ|ßWB5(em[Nt@BܧY@o=[6 E8SѾʈQ\:s{=`P\fPGg4}[+ Pzl[nHίv4w=%^ڋR]tSǁ%M%UG_ 6 %@lت F|]^j72»qoZʳ寊h~Hb_kyP-X\>^RGԥ7ٴ4!)hG-/~ƻe o}5kȤihyڴK1gq Ey&m( X޻/Ww5Ct9hq:LD} ؆mѺrZV.[7K(wglR tzO%%2=G2Ɂm"1YbaI\$Ir!m{5-1p b5o\/YH5.}780jɓ\Bm]=(6VT.lSu[eaU[wPU ?dR=ٳ")`eT 3_9gWQuJ[v DHza j/8X3a_cE壡BZtgk,=k)k^nT9VY -DePZXDcW&'N/x=1qYzboD05ɑ(7O' *䛖KR>zKp^=%cȌ'ȤP%qd/#t,ƓgwI$v:_[3GT;h:U؈sfa!hqQ{:,^J1KZ]1Qی{lٺQq N\m$5ô D:k_K e0i3?|[tީ A D$lÒNsn`ZzT"'Ė 4ݪXEcdof?Q#͉@tTr޲4;( 55pܜƧbLArDmge^wCq!iݘTi|0ki'omVKd8SnTˊ#;%3dm$l0d<* r(o%X`Wl'VޗS䨡`¬aeY5 k5}j".1Yi3s(rd-OuL9䐑FTRR9 F8Mrb!qF77*/))Ӯˀs9yǓ́-OY?wgnX;xßzބQ 5h3>D"XϹ @*Cs[񊪣QZd/MvҐhcy,CaIʎJI_y:hB`=ۙMKbawVݞݐ䤟c 8wAQt@ M%QuՓlDJ.`6H(۝te3;i{ٔnމc'9ޜ>c|.OYlA te|ՏpQCg$==}s lb *>@-D*aND/QTa0\@UqB}=Z\\W_uAL&<` A]Ofs5$0$24UzlB;&<@+Uu|Ddso U: A JDRoA$?~t0*;&F,!ц1eYd غ-tO6$3Ї9\{C +6@'Grh]C]ipP(Cn4*2:"!ÃK\|dj6QUB"e̡m{;Rޠ¤/,A9i @F=S(Buy`5G~Kt ":¶/ u"*b$3?PiXjbQǜ)]5`N Qł2#tbesJEkgmPCJ+,BFB/Ø(Y\9ZZ:4^+У'Fq3[0>m猝U5ƗqgkQK+0ԴOW" &'6SQ"<@~.֥Lõw_M?Ťy!-3Z;ݷ..ݸbrnΪ̠N>3xV-|})VZ4 49jBUyBxnο*m^6F[qBDYGi!lj aߵV4PQI&!4-bL)Y*Bo]eBJ<B[O;I@*tunRL7L 7=gufhʠ"L !+n Э+v42LnrU 9`8t`MS41e !!n:E(萪U7a&Y,攱WВe*Q q'z'.^0 :>l4)/4Ȕ¢mI)j, c>ww܍!GS?)H:ʨ)Kq)G4KFuZ|ZҊ:Uvwh XǷ׈nC D %ݘe 2 DLv_R P+ʥٲ*GqK#iqC,rkPb5GVavUwh(%vH:#3g:la"IHˢ{6\T~?M:S " KSۄLqiTt rQoYfR0%Pq ,eadsZgovT]v:.I ?T:/TJ<%h#MuHߓir߽)xa ^/upnڌ&HQ ސ7$?z)V)T\Ta"5y#Y9 &sܐZ3^2MeaG|%8 rS:s?GyNk@SV/r3l[:gLA$P+yVQЫ]]| ZRk=L~ò~H \'ߐ7m[}(mC}G[AZNd;7x"ڎ27/a1Me I@aav'0TS= śJhn/mtRaʜu/xP!J~-as \ o" &l`*qM%b M#p횛1I_"+2{ @OkhO'ub&+4{4{eVJ%=a-/}!*8A:ѝ37;_A@Tq d/&\W"bO `}z%^2Do`pQh]Gk,InvȊc{4)UBA 9hj7|"+ܬ,:njuyBruy-"Qx^f1 qL(LdkKdb&}ɖ֍O]DѰǹx~r71Vqg0 Ii2.H 3g"N@>'nQ4G)Mo B^2B++~R"M=Z,I} {+IQ( :8ӌC:(NZJ{83j1b of1YHY NZ_g-o갮0ɮag%82)oD[&6H1$ ەEJZ_Cp)NCtD׷I#JFW;n'ՠ)NuBz ZSXTG~8D.O.OwR}yelJOE0~V9.Ǖj.`1~k2)|\5a* g$vE ,+aCQAк˔y(c'Wg6{9, ʵ"AWlvYtk*$UUl@q|Xs|+Zd<b.\b #f`*DMe8M˷s*GciH-,ҢAN]QDq[2[ IZ"'S΋cM= :ZgYU1bV0DD=Cg-Ҥ(x,D8OLܖ҃oXu1W}rqTPSbrƕYz]C+bhэ6}jBJ~BS#*zD&t2X0gc)E+3 T`+7Q4UY,F*"j<R&GtE"&ca(BNO V͡ӆ*_VKOlZvUô m(SuشX?q.qڍtMtBNSV#V06sPBPm*lQ(Y9TqIqS& [9iuo›xU(5}dMAnBk ,45ܪPEU17Tř 9 BzIS N,Ԗ۹̹jI3xeѠoI.g5ޕ% *m]-?fS` EuBٲl+hyq_HˢGQq)#/WJ]v8ÐF()\p>4m "Iqq!fkB4c)GbqCyLama7'8J6SEAlBqM2߶:GT-lIrHC?3?Chs0;Zm T)f=͑ttR0}*EHc=6[][WW2gà;iS|, #}qTվĻwxV3%-ߘo~4A>Dv!fo2C%3E;Z6.+f:Qg;XX1T:K,g&.b,gN %z2j߸}qy$qO٭?2={jǎCݶio3f<(_r+yx\G,GJژ oIcQW-\#~hޗB󇃐X ۗ dr亁s&Kb:<4)V\+'9Q7M3m KSG$j8d.}(/WFq~X_EOyB^+"I%{E +ϗ9:TгǦfd&jͦݦSD =NR As1绂G1Uxd<$U/FD2qILgbU,ƛWsWLRTֶL|{[4i?=I WxlUv$r8%$)X鉧QxLEєt) ~QhpXP#ɦEsxNHsT݇q۲9F9S|vL){'(4Uk#%,ŭx#5J*.cN>D䭙!:gߊ%S)5Kf +(,~ݟ }cL۬?8Ė=co>mkV!"|9'F, ܒ_^|l* XʲOj@4M}#+>ᰵW^DE*I <ˆĐo"{TjjBfBqe7J)8hDny:&:$}|}̍wեvL4Wt|iN*UPɛm{Ȫ̀T )*_|ZV 4 P%D;չK;MGZ˜>*>5[VSx&\?2kw<^JJցLLÌsgjuxjV9ΑbY.YKcQfxuM9j "?U}Xi=:Kp1m3;p.mud|U‰=FQ=r.ǭtS#-O U4aaNlmdW'jId?/OFV12`ٲ :{3im_;q"/vEU2ٺ;fCgPJT{j 7@`DS*EUeX| 3xA8tWL/g e~tԪvuXha,}ةWvPW6]3nzxrfJ^Q#|)h b Qœm$Q[N[  wдLEŽf)|4mM;'$8ٓV,BFDdқԺ/iBg56FnIoO|ߙlcyͺ(K>{̞I3RxB^r5IԎ2Q4oO5QTIc & ]BB`F[4j9%Tܤ"A&ZS< AZBZɭbjĞ6e ;1]GM%j >zxR=3UZQd. ^B@*in%$ ~=xAٜѕW>fJvb0ͩ:H}8qP`qs]$Y >w! tI)A9tILn}|x&PAZm8do{jfsV4N FE6w 9 5Yj_rwjdf_7P(`#)ENdr-`qM-d_-ZLa(`P _b#vǖʁeF^_]D}9"QY'B6q"3 ~Eƞ.J;؝UPә|֯۸EI__ T5r{k.pTwsS$)W  ?J_d-ϯc jCSo'! ~xȼ>nxq褵pB)Tk?A[};ufصgg!D{QT(bnhQfN*rq/b5#]Q UXUz;)wtES+~бj+E3erX0VdS^NT>vl,`@j%*1:RP+cCⰈJ"*ڜݜ [")y bsQ'Rw?Gf`ڋ3x%\p'+]ٱdM G|K$U )jaca iYwh7 `qpwX1b~(R K>S.j=䩛tSvMU@㝕zC 7q/r4T,Kשڸ1Ŀ(9gzϖQӥx pE yd:KN$as#T@]4:7۟A;I@j=8Q9Q^9 T{gӴC%;2airP';1ekm^v (AU'gp%Sw~K#bںOؑubIm9N|!`n"Q7'f6[f}?7;yOG9(Gt%J^gZ'o/$ n#Wx,hjH⣏V`açŭYHlRA{8bHRqjg'`+aP&ڟe[fСl(q%\|2u 7HoSaE!ґ+}1ą%<D*2| S1 SB$UG[#fE*%P': !PzisK yn^bzzP5nuE!zYb+% JccThkԱjY!4J5@pf?IB `Bu6ץm=U],?-uob7 S~ԪT*J)g=oQkjۄF 7ͰpdUWυS8 Q&G'*UQȢd^IsT ?I@ߟ_[Y:K{[Ơvދ=C(MH Z+#yP>3h}Y>jE6A7Jp% XiJe*gb(rcT:^#)>+'@"Q3`X$6IAJv\=XID .FrtXnw:ݰj[mDo7lOQLU雹%(?Eu{s:fȋ P:Q˯ebK񅠖Pd WTrr 2-7s,o5[2.^F2#JQE4p<T@sSv8u$L0b ͊Oӑ0av:ChM'CQM7e"y!VA9H0 . #B9Gc*4KYQˌkH t&VפF M20nd1zJ;?aL%%& `t`F*Wʆy9ΓKJoŅippcDL7~ͰQ}ɘE߹F˰x^|+."s bxЪ_Sd#B@K2V!ێxB(9McB0 KS qǤL!\0Y;b+JE0]#v8I(cepGc3IE 'qJ@'+kr!z}dbWԢ`hJpN5!TIn%A9 Tq=1E[h/H (<51/`at !J? e$`9i!-/IS!y8nYu$z~55JgŅH*IcME!8V!Ը 4 Զ>x3Bf2jHB!7.- +:q.gQ:3VXd[S/Ls1k YULw'OT}(MVӿ fH@:TpKaa*v=NEs<*erE}թ{qRvpNEPMBќ>yN \Wa=m/%(=M %$Ye#2r!mC26ּ kn#9d0Σ}v'N!KB A7E>ZMPpJ"p\vJ4^4X I T{IzN&# g34޷ג$tq4O[tʲAukAή(:`g~R> @ѧAclNd1_lxof/t)-^D9t]5;y43/HшSUn,3}b$NCF$Hl\$=~4;~8[-igy Vu&nC'STt+WAilwKް@ƽַPb̓dJI?td{3=LSrJVd+qD5|N]5nʑdM&_[Z+mDh ]{[_ӧсוEwk!cE|W #m~#MwL)_OQ,7*NqTq[ТȂA~%+u 7LzȦw`@ 5 &U$۠Ui[o.A>V1%e/+UIW!hB7j5Wum}O Bke">Vŵ#GHc$8MeM m0 !-k =~e10I" /%X"Y6EL^0=!pߛUP%CQK4!΋f gĚ(viI1% ~Gj!&M'(ml]Ghx- =?fO,FDqvT[gU,:{/d1$tzC ,TIZ':*bp'*r7pZr`g/(؈u=h(x6sba~l&nwA3XBae@KiwNF,+t,8kz1D8a+ʽdb>PӉ)b-eUu#Uc. ''7:^X Gy+nXP, 'rU J[0~G`$-G⑶3QԳGlK8bS"T)"`m }|_sӑ\o fwCNJ`GjfF!([(o N0A$ ܲLS}*cd<7922 0D,!m FFqI`S{~r-%̥sZZ+_`έf%. r 8i'#6聮U9T#bӱ%nȬKkQg"]hUEڥ"KL3nt>};*ڋ%? ^ZŒ6T~ i$X*HDŃHKNɦLVul/zȗLZFU Sv/cGC3rlz0}A%w!9Ɉɬ؋N9ݽU)j9 Keo;٤M[f@o?UiU(K'%>uE)ݦ/ yA( _jA]]en))ٿ?U~_[ojBO Vg:4 ~Uiu"LCeHؿLD́h)""łFDdЄD#Zz0+3v8L,jrθWHI2Y]@bXI&UI$bɭ fqk94EG88IciT4sT3a=edB]Du3n/@%gndI)/Tr`̊Zٕ:tq[%l'^9_YeWW]L'Xe-7&W\U 4* QX%E\)):.5rA0N)7P *|o6p.X\JC&*Ǣ[qj)QG€JCKi.}/Aw^R:͔HlwsnOܗ)x,m9TLVϳcDHjUĤ+~j1H ΂EP݂uا݆E&V裣3ˋ|5zI+K2}}?NY7+coV%GHCR RX#?jdDB:l(f$E1A&*rVtF&8t<\.$HҳC#sJ,{(ht6N;gc?-~Rm:EC2dmM/Aaƴy?W:tmZFO_qvo_.fEuߐƙ}Bmj…U| w"dDFF%+YdU#dH8'\QR!"L~>yѯ;|2*S&YI+-xycIpQ!HFzJ!{#aљ)ckQ!)!{C'%'"%a˃1A*]N[T/LoNȾ/`4i+&Z1 ϱ `y?]\ޞE]ƪoPX_Hvȋ.VSvD0nƗ}H$K(MʙϘg,RPN7G=9.ĄRѩm0a?m;6 ~1MeCǭ[m -J3Hb¤ɞ16wv,kD%aWH 5^xB3BSt\$lv$zr%KLe@YQj:o83g НZ- %=9-zdIe|h#6bv8 嬡gI=ݕFZ.4Z~#֓ 7[1tOK4bvRLUۛvH=1̌ ؓD'^uMU{HB:.挼vomOWZJvR^Z[IH[ uVhFNZYη e줚"W_?:rE`A53%h)6e(JmiE]LH M0zɫI%49*:(rLYznZ;"Zq#JTQSx3"DC›.nSv&AZ,% /1B%hVrE1LLiGS+ZԯɰÃG/v.l|1\['sAw[Ҳ.!"ʷ-tX=;P8\('Q4?&Nfu#!!Eˍ6o=W)咉Į~39SS zkx£! I]FNDna^x&AQM,XfTldD,\>tvH&Ceo.{^G%G5ytI)j˪F8wuos4D]A_͔`l*} CT"} #sB337`_zoPK'Mvd7A8"7m!K~qlI([(BXZBAOR8~;o)YQ<] !66j%`Y+`HH.X3*+IS L ZKC$x>󠑓.ӄ2t4S†ڽITetoM4Dյ~FL<&]޹FLu>1!iJՂХ #ޏ/_yC]j%o%rbw䤉܏y 5a<! #FT1K |Щ3]3GV`\-r  ȷ^B:D't^# K>r_κ(mӒ]y\R'/;1 \ee+$hnL#0`O.]Rqhl))ZTqoqy+euzXVQpd%XɈ $UyHX Xa~.CO'?wҮkhvce-k^$-_rT]*5j[θVe[<G˛adZ'7}כ>h֓ekNZyz0N9AD7|5h؉4e)`Nhp*%2)!M!)]=AU^AK JLȢMV?$PxcfG $f~upQTEB@.UBCFEjD D`(PvHҁPP8o+^C朦!)P 0{J"ʗ}Z\6`E%*dhJ5cU/RݎYz1/PTעNq ߫_?Eҭꁴjje{NE%~~K|A?tY~̺:b=Hh \ɽ柤5!=ZRdP?fS3o~:s+\\(R uN730cwD 1WdU Zfp큲CgrNr1aQEE0#{\\IX=ZC.,q;"E\KP_U\TaqjE(L6 ;IviS:g2UsQɋ,A[YW1kdLJSK|2%,栌F>!&^ hv3Li;Za*^ϪԂG!eK&D Cm!X @i*^P"pͪ`#x;H n/SRhcVxi Z fVrj&̕^,ܚK%^eX:*2h/olLxuB+(rZ]$q7 W0:48sSl0Mq]|H,&L⡿\hMqCRHˋ ˯KPVDAK`UVeq&$2v wDU8Hڊ2۞JiVAۭe ͶZKpl M twNpg7C1 |0h?l'Ⱥ ~̖SU캢5™E6#T"*ʦei .\V*`mE:uac{~13*oc>E#ػSl^tCN?G77E*c,g*s8{iϔ= rأw'ފMamv6t<(﷐.kx L.dK<.10^k]LM eBty#-%ɱdSgQi Lt҉  }}&7z~ O>1X\VNtҪY Ad?hSF,c*i˅npi%_^ޚFX"IPE$'^:"GvtQYO匬^Ӻ[J"qVG#mB-ap*I;+mSEa$@|0~fi3tB)E3R'q, !QS*:o]ф^r!:0ȬgyW"hmlmpqDg8IT䐸LMDKq.)'WLDQ8.eԪJڼujR|5<'u<l͊_",MMQv%uJJ\94l(%GmwZ}hUKYeD^v ]epʘ\j-"dhy]eE卬厭[|O_+W͓IN}F-N=Z/ Y)q y ^d=Έ0>"jKa%׈pWlNY ƠާR ,\  phfA(%^<xT⑙ZȣZ!|dvÊRHxN'}ަJWDw)I-FO6͎r2DxČrffSίH Z^䤹ckAk1B_vvk&H5:5fLի.9-0qe}<-U*mey{|"VlvkPw[N 67#"C%PIlr؉%ܩ%0}s,.\v^G:?WЅ\02I li+$QpG %`]Vս3(dV"Igrˉd?5 yVG;ᐤܳ\K*ksCqâAL|(o rcW *(Z'kDչ+ $_5E p'Eٵlp}=%5w_5zqi',Qv[$z;Tq%U r60am'ײc @D0+b\2,BCY7PAh ۖY-ܸQh0vH^yJ^mo՛M`إoDI7xTr%΢\{e;"N-`}tIY-IOkG{=Ct]ZܬSՆƨA=ZdUKCS`C4 :\j<}d _*KH%ndW/ SڢZ3n6rYi+h*Svl\NY&:Vi, 5-›âա9,cb_J,:Ăcĉ+S"A鏭[*!|H ̮ImȔAЕ'0yµDv[st<.>{\7!Iwur@OwЗ&w&BT}*136)ifI3דÉ\B>tnɟ}U>7fMmږŔgB)st6,SQćo d(sW?+׺9%mJ,nnjFXMFL) ,# :]iL\\ʋlC!3Aфt' ҲșD|Y(Zff J0$:=cA3Ё2;7I0E2KP^g!/8! f=躚@%}p: <(j $ "oPIYfkZ42 .a:-ђD4^%&q̕`Tfv(f7 *R6© gT$GK0&QD[{iRD2@2}HTbtLufD6*9ALٯuݛ3/H>XfP+E& qeWi N,>yr8&. :lj|K  ;ivܑ DҲIa2ٌp%NS rH]{d,likxAIWr;v6!Uk 6J$l&4qD͚ő[2dPGu-o' da1FN'd^da ZN/uyNDTG\'Oг<" ȀWlU]ݨ;ԈT|ZV̴MRhE S.FƅGUiVo8IlTˑXTitI`=Yl1bQh*1-؀d T|A\TYDY! `` ؑ42ɨƣYJ'*J Pj F(F H&%lZYvp(ܬN:y2650g H.(CWAe DT˿ P`!HqY7FqAbp% ¶J!Y+AJJW:҉%:8(y NϠ#F)C^^Bn;|Q)v''`qQyeq l؂t>,O OJeӂ[0YKRpwPeRhȀ2Psh;1 vB:2즤@ 5!a%koUK4$mkn[D$6|XHϵG(lu9PJ&AH GfPANU̇!ˍ{HiFD싼i@JP@7M2Uy2ʈ@A UB "-MMXg백`\*W\[*} \bjn% $ׅ &-%5)TR0yb1\J޴5twṊ$,~\j|$@T] $Hm +RpHXA \pY$A /3Ť@g0sc`PQzO h՟S$UdO3 a ,<|ܣB6 !T_[5OЂq )2uEp@ɋP0Zp`mmj2%5%'8J.7S-fItV%0ጳu:J8819Ɍ!$#vc-2Y שK[Tz1\WX4w4  @DL ~k"#r"eI:@h ĥ l"EdYWVb;>SmݳHbԈP}?|* b9SNTy yV"L b~i Tb\B+6#dҴYB^p]&̊+>Tkuw.Џ>?[y(}o%K/4꒙bxS,@(t15lє' ʿs HĤ3TY,l"HC)iԍ+rS%b|X1).uA Nc Bo5bS\pN&4Pѥ<"Vf3|;0n('zEa=]W(BCLtJ%^Z4dX"T8S+idU+g+/ ļʥ }fԑ<: D5Ms:zOaBjʂ3Yl ӅB0ٔE`frJ59™Ыe ®1_NW+ѯ≂\2s-;g:Iڢ)v%„,sJHڔ!?.#D CDp'VBs%p 4n: T$̹5ѝRd [!w>sJK" zڬelkHI\+q3!G1^Oa\);$ϥ0nKE} Ӑ#LG&[{IEO7U& HôtBHVrt&Hrci4GD;bf1ɘ!w! :%|AjOfy4-e)Wijvr E1:uġfQ1PBn,"EGhX:w3dj6S$,J9BQkE[YbbBЁhaձ2+ҩtNRL!|d/J#1ÑDtYC VIߺ(NZm*R4N)2;c8f4lzXW0VE"n_[Z`BoI$jyP<0h`ژ{(y'}E-L10<] :Ch&GFL`vz# / @@K;P@t=AKnaTFY%9TxgZp0,$5FU|('J1&A8= SĉsT-NEuI+C*&98zIjPaee ֋#HGr&bY8#6ԤYpR \>$8oŊU0P,DRZ/\qvhf Z ) I%Cg'"Sxi( '##'XL,P.֕ F i栆3hs/({Q&di8{5L8+^ J E%r^6K˄@ý|0 *? *]Dz8ˈ:X'`5^J}|2SC,a '3=eB<=TzYi Ѩ @z>ȡ"zۀIY,C\A)T/)q+ՃXP)B!ID )a砚 AP9Kr/00=Ĝ߲ FIKYB%F7 ,~|KMr,vxZ(u-AA 4pfĈ@^! < .JHu/}jIU"=~c$ZP3%.ūVyÙI !Ì MTGȡ H<A8OLSaGH0$9'`D2| A\Gx4bsZ"ju+2Y"S:H74&JbX)S%D\$jYc$& 酖Ka,) ds ǒyc H8@d)~J"m򩂂4@K= qjJl8f9DӨR[(HAۖr+"5ƜK8 Y 8Q;GrCFQV#DBE'k)F,a>o3͖|Fwqp#V c/0 }oì^q6='Ǹ[MaJrZJ S6!(8@$Ou,RYa-d28}Ҭ L+LTud. `p%<|$9"͙/46NjM8(K G!С Ciƪ!G*Du@G~nRF"iHVj&ōNAdwGѭRrKߴXJM dNSOֳ36Y0]kD#+U&ӓ¿E0l So+ttᥐRzO #YԒB3.iT? !מQsN|5~7}E;X3,)wSҮؿPAncK2}*MZ[QK(RXOjUvie:)RL*$0M4uu4u󭢧#,vhvLRhͫ8*ˠT21> UO~@~􉗐d l`TߊTDG...N2ۓr{BD}KɈƤTzec\[K=<6EgK/oV)S,)w,*05{f2ࢂmETD[LCr Tl9&#R\kD? ANW\,`ȧà԰+/ 2j@ju}<,IqIfHKdS4kdrLA 3T _ήE/TPٖf~sTmuHXN9B…aFU(U2UCK']ѱ4KEDjME䑿8/(d"ZH-u3"9/jg .ou>U !pėHHJNgS$BhNtq-?5'ӭo%!c=4ap _ZCf,e*fNAq.ӧhw_hTW:ǒJ7ARc|, ꓑ`ޠ"E @sF۷41Hav۰K{ʄMlRf=Z OlUDfW"S^soZgf{=g.Eb,dȺ6 V/j*c-0)Z)tĞk0BtH\aHr)!DPfjaj4lXF+VJqC %sʣr Α\Il?3C [Ez}RbtWZ†q@o$+pOejT FJuK.a¢A2TTAӁ(UpAʵ[Q8*~S+2f蜓Z)E 9aj#!{ⓀZ˥g캼ǹrԄ)9ֿxؼ%>Z}U_{N>oI)/eşR" YxL b:Z}s E B!*hT c X>BD6@=u3>'$2+ptsvv.Lv%ᠸdJ|sY⺺ YSa0JB%cjG_ݳb"a;$ 䲷rQ[s$wNٓ?5-Xm6)jj~[:g,o.W]%~3KbܕBFmh&y2I&f;<ð@ WJ+QSe_H[Wc DR:g}r!:+{5L \'_S&bPFwTINED~R9JjX*)%Thb {rb(]jϢ [Ȕ .ԉ]` t\@VomnE3S)f{Ohax%X>t% Y3'[ 1֪Ć\1Ql)YP? *L8\ZˇTohXXR˂RʚJ\8dQ@{2״{Y<ъ*$TBD@UuX22 r$00d%/*0lN`0 ;D^J$%r@Dυ6-bNz9{K[ cDR¦Z09(i! HQ }Ȥ~-^2n"!MgLR-}u.zol"ΈH'N1tLm ]z>B UW$|(*vbyb*t"Ky0A,Vw;R(KxA!2B $R^w5Amgy:B~)<12E*J^'tZ3fxtfyeC3ĔΫYRM~!gcv/#!z.6XAj^%0B3spJ/FJTP|VzͻsUIקZԓи3یW܉2(rOJȞ! Ư >^7;s4j_ p>"R[e%@#p"l''9:K̦[eU7&@F6&JDICHp퉡`ؐ鑠XE,OB"|QӒxoIDmBVqw{pb0Bo1tUEPoh!8?{#O6&iEt`m[5TJIҐGȴO \$M{jJ8% b6pcWw^HSWԦ}kX&y<ޚ%| jQВ2_5"sgh8KdmX NL0\')7F!G G>,%eɮ]1R!2'[>@k%'p*c_EcncC-dP ^tXD/k\(VM|3*z\dGT.n\|VD[р&AьƅPFBo9<Bt ֹ_O~˘dԠu' 1-81"+-(7WN hMSqnJ]DpقLU\] ֚ Vfh'7.rWȉ1(&Yf׼p.,|Rr._R'exc?9o$3^U m-`}+3E϶ qr5VttpyK/0L mnJ3ܳqMȲ-䛰l.(Qr9 PvI”v]I$]2H ޻DF1ƺuP@MH=CnЫDpu4)08݌S@4>E-Oc Nb['sdYJYj| ?sz:&.Lȁ΂Gȓ2\$S sP6$,4m(I0>9vIA`勨bTU![VSScb4'ylq9ps'$QSWl^TF1M`9/A9!.{ԾUU+zC`YHrcR7mV7-L&:uYr8sIG*{u Li |<ҙ E7ք0wS1゚P] X iU sԈ[$ν+J{7G7Xg/܃jx &+whX_jqEH_`n:R#1xĥjQCYIlk6&J30dwOKB(&/2{h^0~İo=,-DHčWS+&ФE432P< D@1 !PE!?Qεig+9hj=V5woI@M2?'J0nB FX%Q;Ga(D+O/X;HdJv`bDZB ~EjBԙ0^ĥ P!LP{BYFJe8KeȤ2%o?'I5)G)!Jd1KY*z{&OT%lV]߭4WAHℑnTݍ?U9SvlZyJP/*wIԉ?69uXTP PF*%Օݛ S78swM盤3ZдwV l0zNvZɡġɃ[) !ͤ|KVuwxGcWZ1 QtƝ)Kf\z%㫯I %?>)3$շ*I[ 5q^gWS%80_&|1uQbhI] '¤a})Zc-UCMj>jEH|_{ދdoswwnPRmMoxZm+|5$Nd}#$[u2(-ECZn(0Kp%[_v|+M|2I=Y u0&LAnRb법WF:wҲ#O*5oK-'I >19{ٍ$ qˏ g]]b,)CgIi sO,?=hʲwPb(xV(dLk*rr0߁( ^.vbKpqg3%8E r@d23lؒ2ȾRKGPH t2W~bsĉt:M+SƤi q +FLy}ALu6_襝ƭ /j L%E,b~[+-DJ+r'10_)Do1fEݯ'!JU2WׅNL5׿ or/ib\bl=pXu:HLRqr+YgiZ[.Z*XcdFEPPKhբk 1_MiDDgIv0m1.!#dK! &ha`RRO"ۺ7aAB!/$N 6 .)% DoZkhBz1)xYkB[V0xE(|$H=[c dSf'!sAt'qԧ鈋G/ܤv #qjF(%Nn~Fc%l0H ܚ1jyo+ZpB9G'h,}rwpE^|ET)g2.u$SdD%m)N|K+@5nJ8(@myF15gBƂ-fafЗm41mFĤFH8 \*"""k`J*@%G`RpN!U@-ʵh;v ]xJN r--1;Įsalf†AJ?P PfUպʭcoNA#)NCQؘ3NZ.^be͑FPO-ɍ[59)O K!h- g/#r|tfF!줝c WZw,* HGȌ&SJ Ճ$g|/ +f4 ,_.xGFy0xQ" X\|+aUIEq_e>P5<UP|)Ȳv XR|(Yљ`d)E`0B||@|iR G,s UρC(uPHB^0i2:1w~*%7" IH9!B :x?PMt4*\`>Ȇ K#[rhQ |˝nZ)kW$ wew  vJD(Lg5.:/6F-i2TlLgn)=M˭WуQQ  Xi932.50ĺ+i+yߜy FK!Vhng0% D#`EdW;ƪ K-lxđ" &%P[J>0Q;p-USB4F  m_CHJ\@/ Z@d,n\B ~CQ8”D2I9^* 䇷tF&xf?' hDIx$#1)R!^, ;#(htPd!I"p0D3ukO 0_{,՞!'&4'QwbH^h#*\ Hs0ܭBMR͚FMm ftYG0t19>!FS^' cpV`j/.o۩O;,W1BYj|[kPSmMSЉ~أ>+> #`񮙜.JM:٘RԛTp4q<&>KZ'a22p]A宕 !GK*Ql] "G &%>VF zB]2\?L/Nsj/@ 0M n(lh@Vt3CGZ EK`ܼ&Fc)9ѽ}b?ͻ|HLjS&[yu7 tzmAD|EZ:r@mh[:ќTe>(ssUOvۺ%R`ޓhF(3;~Z(\̐&T(mEjK7VF6Y51(-agoWN;h8DZZ$J1\p{OUѓÝ‡3cC.*3CXkE$tMЈ|Rߛ"=1r4Rém6PPx٧Há>mh+#ք!Yrse^ݑ=ɺM֭^ďx\;̈́fTد[|j'ɜ5X(`Hb|5|ĺ%U%"kDSX9i s%hutp4 yh>u =+ x半}G&4d˾r0 b\רp[7n-D53Iir )o,%6r_vxy`D){ܗO!}C v'hzЃg^ں=Kyҕ]: yRB2pTV$ McGuU21F2VDEȍx?Vt` Oҝl<.  >4a*zG%~;_ކHJ$+xT>e#O\D<l2`I #c.2P|@W)^" 0_<¡D2^Ų~x>zڋ6gQ_ Nxu8sv73:׮m;%c+5]ўEoЧ<},b7WZ$U/rN @"$(j9ot/Ps{| ޞb']kP9]ϝTM2%HS*b[Bu{MoRuщղUS ruH [,ѶI(ʓfHeJJt##Tm )}5XGOϓ<@DL4@$-OzJOC0C!\GJxJ9YcJ*Bn*PgL6~~ xޞ:Wx5&:=/wa^ԟ3a-ڜ.}87l3BTK꠪0#X]= b2m3s4e5>uʄP;^-M<%/wxϛrʫm:[+*rPRJw % FQ};+pb:p}"}j+s a\a 5$ ڋy+FSI/EatC!M ~JV^ } ]" B`0w,ȧq"(gbM1jw۲vb]*8d6:||2 dl*ߵ I 'EHwi 2MʛWSu-O  p2"$ux$wRA]( /}EYߥFLIo0 cǍ5&)s{Q4Re9ݮLb4htaG}*`}&6:淪ߌdr| `fno~R˨~"]fQݷSI^yDuYEjW5(D{-֚5YQrBIS [@yW紧W,3W)*+2[nZxOnQKA@`L,,d0JJgpdeQǂM ܆VJfKs^Wp''Iŭ[RBř0!|LrhDI zZQqyjV5\V/D:&lfb[)k=)D&jUh VV^Pw_e]33`Rяr`* Z hJ7I҇+Q8ߗ#*qX@T +N;t\3k$}Fecӣt.[(IPaFVf~yJZ2*t_+fhFM c2]g$4@@FlVI&-V=οz"JH lk%)"]qҽ7C¥G.Z(L.iP``"]A$z.q|N%vUTjZ;hjM @j旨z zp^~(tIJ>:WoI$9_lF,{yNV̆a1OY"l 6@v} Ev?/[7gs`6F \`,W*3Wќ.Dd&RRTB$ vKS $h:5EH4X ?88@D @GXrE%ϮxKY8ӥ,Mi X$TTPDHl^Hd ΥD$ʢQq{m'zuyZ5Jl24`EnKrG)\yPrF(NbBC>_M?ou$tGJ] ic S8˞0PѭW*"ފA rG{VdQKD1D hjkZN%7+R`FJn΃GL(+OyIHIYB󪭜5M[ 5i EE:%XL V!Un\r1MP&%[!8F6 8NF@>`&gq }q%BjbQ{Q;h6Rt.%jNOGJ{#)TO ?٦4_[Ux8Ȱ[*q?=lӠZ3 "beͶA8KwL[Xǁ&Zt]@%̬Ůi]Diύ"E9j[fY ؀Fͥԋۧy K`@#\pCYiB|KpbPZEJy`;P||/s徂>% dPPhx9&y PSڔ,`4UP_L]AW9Qc3AC+2r>r$ @=FhE6M.MG&V(dբ!C?+#P leg`v~K~(b/ K!5RCJGb\X [rk8ã3 !T'p I[x1lSƀJP5WX'nEAfYW2¢5k -JgcI k[ #J^_qM%?Y=zSgEG5kU`smY^cI^ХBj%^鷬hq:nlAc)j&c쒊Q#ִBEZCrBBa}/A%s[C'TUQVQ'CG2bb'8y@nU^1'lĮlo$?`59+JTQt\&uSc:䔎vml[ky)074`gTܮʲ"gAEaGO3mTFlI"M{{o$ ,fv٬-׭kEqN1:Cwp;KW2U"sĂBEH,{ 7Ruv2pl8 DwNj3\ؤ늚,1uFeyבE|kf#eSv| o)ᇛ;>֖U}eg!ƝS_B7-e-lyuh𿍩;SH`;x s&vģY6#-'pt/j8!m@yX_KX\-6XzjM?sCW{{u2xa|CGp 34Q+{1Q V)NmnKjr$-O$L e.ڝС{}^c JDC=gdNB00 UXBn4+z$)mΗ@,XѸL0m_&xʦ?}Fՠf:g2oei5g /_a^3QdsFSEs+*Jɏ)(O}6;C=w+) Uڨҷ̱n 1/ei>Vt,RGT2!pr}*Pf }noQdThR >H8BƃЇ .b|$\ ?G l'1`M! #z~̌[ɨƦBFAN: W 0<pL1 ~:|IƦ cɉp: &Є<mx6FlJ3.TyZB> {3@Q㭪 HSSm$UModvn$g"1)ޓǭ<TIk"AAftml|1"H&x}E\%^N1\G4ք"D,,+1{xz6AbP6 Ĥ'| @r{JdUequs 1fZߺҨ?̆AWKJ(W7/٬c#:mrRhW̬a-p #C9}BhWT ܐEed'M eJ 5ƘȤAWAI8!Q Xu59_r5G9c%"pCE> vx~ 4ttsTA|SAw զ0s WH*uIZeI^ NKV DXUz|PT86)~GXXPE`r;Ј\b 9D浛8>]?Z-^bbX zF֙i7ZƯki%1n;}W,4*=v Nk7?'!<'"x(^C.Vu]8/ `mv$^%<%tXѭQ䆪LN}]u޳΄H q U$,><_aq©Rydvw*~5 8 #&D3C-'|0DǙ"8iA`-4M5A6'SRhtk4txҦA u [Z/[vf9vk}'41 YIaό:WQ2 !{ 0-?x b%œGf z++r_eF/D]H⬬!<m[궙gOUO+V`>"*#<‚,s|~5e(V,"YЫ\ Jʔ$HMTGfsfwzp<\l옯.1AAQO ieȘqz*fɸN1&D!dq* ?lGT٣ c[]*l좝э'DCT,%+1я=i_P xv`KGfP|:˖n_D,FrL}g~߸5@sM@@i/""PXХ-O+Um(-gf%K:UBw!M鼛n# e5HD`&ZEB S$]HZ +íTqSR{9,- z97K =dA8sIh&b-`-@"a2ږj2ymE0u]<2jU}bhzCwDruZ2P"ʫ䱺,_xMBO(N X\܈ #vYA$T *Aa"cDL<ִH]{$"$?m֙|PlIW)g|$(o)`'u[\UU"0.R\@LG!EƂ2I>Il:<ؙq0#YxE:o+|h/l걚n _,M6U#{AC (SٍaX1mf8Dbnx3G I4YZD(,9R{Z(, x}z< YL7Rj4P5xW XR>mrЅץ03d!oGi6xfWym)͇ 0W@}0X0T[_##?m]jJ2YOVUFrgAM-0"@x~\'?Aܓa6gsxNjQś''8ë2Um#TLV?_/ojj?@TpT! >+J(0XyuH(6'X e)Re7lġW-hzx(2,:R;\PhHՊb\M3ϴ\Grxaa2ݧ{4"FeԥWrgqA:kUCWUM틯 eኛdƞ saqDnMW?Y֪FJ}Ȣ,$I2"1׌MM)Go]>z&f! @ ?GaX~9TG9:/ߛ!Cչ amu)Ze6gpJܤF!N=l Icu*f~ۭѢ&((WG,X0 S] Dkn _eΤ bnS {s;Nm`ix(s\`2-$a͖8u*9l>*ieĹ)x 8%^=㌑m4,.VY*ޤр0eI\ñȃ!:H3`LH?f͈ UQ @gZ&;Cdajw*}K]r&y7"\uy2aŖչHN׳:,\W0BZx--sVzZry%(.cfQf\$P#&͙3zGb">YO fG7,5XtZȱ+6bc=(X'f : ZtܢG(] ɖIጽMrO$%X2~(ժǓ%4-$l ̊p@G"\ q+@TJvJCܡűôPdjD]w!_&rxI7;˺&TaqSq K[]mg8v4{kGVD 1XpZne8xwz(# C>iaJތr7bH}nWUެB$wN3fQaJb\JAV 3P}P$W^TH4ښ xH^!;VYr  /۟{NU8A^_aMc }sXW碪vIM N=m9A:cqAWU&FHEΆ3Y%^/N؈˖䳔P#MP"66ȵ"Y Sd_1aM%`HnNV Yc#?&SY"h&lCH\È˟a+  hFweEž*nTPO>YxDӚxi}nma2_lh2 n-uɜI3U9dFq}s1PNfYzf|P#M3Q헅V=ơޞ''AwB  ԲsTBSʄ :8 !&_2D-het\ ME_$^%oeˊ#27r2-{M@mMUfaύ\1V~,N\}T=VB3Aop;p,t鉬%8dArq oqh`!BnLڲ8s{ t[`1TFHy*c7 Dbgܩ1) 3D SPIKϘ|'X6䄧.BIuYmqm0:J $BZ*P-`MC+l#<ԩ2B|Q8Kd->|4;(5xJ}um]Rq80*@l("l^(htp l,^!6W/K3aC:brU<]0QPE' "d]A$Bpoq-/O]"GV{!fzJ˔b0Tr< ʉ8|/C#H @s$ qDL\/8=5-E EJBܣXO[JE,SzZdz%0pOGN|pTŇN&I"[hfBD $i\:.`4KKN3jYD8}==L$ 99gT!& =|lq_lD%;$vd$%' d M>QOdKND¾`Jf v'dҋ2=ԡkVZiXEѡ;܁@! H F ɨƧEF$X-KIZ)GFZ儉%Q 3!47iLkԏ[_] P Ys`m} #y=G<0Ĥ誥 D!8=>E$aBq ">04}$B/jy*)8C{[B.1J 8`p@1pG-R_Y<]BNsjo@ԧ1Hr*(mcRN 0 D&3 'C+ c>VQɟ=8lV4XY~жs*cs s`1o4%f]K#TCW)+:a hppH/QBI'6 Jȴ#T]EJ? ymix֗~ES+ߋJPg,"^koʳDV4*EJf2JϡJ(3-U-y7 {I5(9tt;PPbiio&iNIݩm9VM0D2"R۶),ՖYjeCj2VuY=FΣa۪UjcI&j3B%WA`O8Wߧs3%Fگ# L:Foi?Wb%_q֬}"'#:@!wnTL>6I";$g!ʂnS`BgS+F]s ȄY=:(azR=y9v6~FRcYJb҄hT𘅦sIIm+%1<2L}_脶Ʈ킅ԣ# kR^l!( QU,>yc"^$yoa/Jg[Am.iD3moZ䩕St2"n]˷»:Jsv4_=|YZ"FLY뙞"41_M|k~J|2&&a"?d}\)콝ZRXA0IM˦7"ufC:WgmMe!f3#eff%q5+"$[*VZJ=midR-D )TY0Ej~YvÚV(ϊwf;2$o)vY+k=O6J\'cLxGbS1TU]]+uuu%i*i -z5 ⤈.PyDbuEʾ1B,o59#IFzoMtjmP~]2E-%19r|jatQ+>PzjE҄{J>"k^І2SME#ͼjzZ+ǡWfaDgY{(LZHG֗+-Rz> N׮S#gY$>"WqJ*|TX"ddaLR Je&ӻi'D? '3 #?-xRY4WfPf.P\;Q_;dB$jIюȗ*12(J.Qm1*.5\}/|f?rĪ =s5":+BS62dMz>kH5 1t˼Sc7T8HYYC@_YHb< 5bx_!>6A% vRIW$SD)Ї? AƐAǥBHŤݕb3;s1Qj,V{_lʸ#_iFcЧo(OiY1VlHBoF.}(LkyHl&"nD'N \K*iN쥂Υ"yS!)˦uMG ))tPB,`p kC_ B # zp^H*D檠Jݲ~]OW|WXDwd)aOguu 3G3ٽ>]".oiu(6ϕhUV1L^l\Z3}XW)o:T]_ڸ>VT&1#Mu6~giXY 2v+ꡁ7[/muuyjo=mɖj Yɦ_eٷb^''[wJ>UK^0qA'"Y0eqr3؛mE`&wU!dDSeDrqzS_5avijHA8[!rwE [LU)% gw)^+nmSyq\=<ǕUH]2+Owہ\XIel9=Pi1)%+D1Uu7<-׫J3xtS $𾹞kTfSdoVY+-߮J҂QbbnM"]e/ JM4nK9U?LA%7Xdz͕ft),Ro#][RUwO{K 9^%6s[ #t3"'>>vS$ ۅmdvJe~) 8 I,t\X< Аrinb4D0򔜑d0f\Y`M,HNHgKXAdK\*dċDCPZ;8X }cV!faX >5n 9+tLBLsQ,}Ud hZi)%  qapQ#l(H3*σašO4gd1& zTHu<yHqBiLB)!ZB7?H{ 0@( ^=/z'j&G  (Ij[@` (<\f`{*Re+rl9Ta!tf^ 1akRM(``s)R)ĨB'`P1HхlAaB\*26ق.s[wj5 `TQAĔ(PEDŅ4{ &"y3$ZKrA)OJ,YHAW LI(5DK6I"B#ԓPt`,UN.X a+<>S[ʳ`DXP< @ZpR^c (ĶU@ {x(Z0jH&Sa{Q<8ܒ/q# Iν,98 lyh6B;KBEDx\k;mw{i TmZ-Z]q020?򼳂lF@^plz+N[m DX@BX8 [kiYnP#*hqd ؄#IArz'zc?1 @`zd;3󸃶j*`ᢠ UL% <1VQB y)>^' `K@g2n qi='_^9myRȲ9HjUFNw,準[IMLXE|Rb.0b6)$F7tB-NJesk-IIDU2iEEd_FBH6UKOg-)-%&{xtSuD0oW~R:-\Y6ÑJ^_G+y3Sb,b& *7҆4defS=7\L✚j.xEu0Rjulj6blR1ҙ(!JknkbعTٚN5iCאbJY5 W#N?hq݈'!dP 1~) s g/EV+4 gԬWM؅lZ|YQ*UOc{5L7[}c{%8rBQqS Q |n+j Bh]ojz ;K$ J(o-.C9PRE*U^zUnd\Il|E5^eeKaJ#Z caDMC-lLF$ L5lt$PSNbG-}8EzhC Gъ( @ 2^e0PcaqBwI*m,c"fVM9 Abx@c=vNm& n(9l"RNqJ4!b#orB*,"N'JqI#=DT,*t!4) U,K00a 1`# OOM%]0? >Q4y"th=ʎJ@{ <2B&t+Ɗ׶bS)e8ST QHOF:E>d@i%pR ;iR[l KҬJZ#DAQ.9] A^Po0)G*Zvẽ5>֖W$`1%Lb7,=)   F4c^{(1pH8cUC(r4!v9k$9M( $Z*\M@!Ɗ SSšBl'}^cL:;X:C-i* 0Pit"9[/h:e]kAQ$$S7 CK4Ɨ+r+vEPZ"ufr,cx5}k##kY2kDAi2BE=x6f'8SX![! ,RZ$WhK Ry"i\o6F XK'v{3ԠX T4P<8dBxX H 5 >0R * I鑝lPqΆ0̔"TI`qgܐ_1-!Tb/ z{\BK @`^!s֥;= J"(I$#4`KsaZl[ЧZt ;PAyָ`Z&AQ1רQFI V >ƐL-eo4S$,ƥ i-Kp䄄TTz) %)p2!ΰPQa%ƷFH[O1h<[ժCgI:mE(4P Qf;:Y#Py&rpٵP,0>K.YVڛBF$TGYKD9d/h(ض~} ۵zVEzg!M^XAH(Dx&9`v5ALI /L'LE)tJEm-!$lR%r NXY k@0B")XhV*  TJz҅i[5IYK& 7SSmN x*0HgAͩ IBTIxyh7.4KNTc R$܁%0 aX5GGzRd"Tve|e B.d5 Ioa p\aZ9LA?(׆][Q V" |=l?Z_ L\\ 6Ĝg Z n1Y&J$Ԍ ~!>CsT|HhԼaOȭd#u~!773LdqjEGDhpcj#*YC"FƃdtBˤ;{ T҆ (FPlG2~)X"CDP'Xd@I8"VMօDu):ԣ9 S1NצHZAMs2;6=1Je'Ja6B; F">BE؂cbQ1bB-v"DB1S{DPr&{ґ8'Vw 2 )"b0a:j. ^#`}qa $Kƨ'(J 0 qZB!riJNZUJĔa!8jF GЗ)>Z"Vh(oVڽɊ'98&{VE£ el(qU, t4׻G=rD>a3 Bw#*qÆBBѼ0N~`=`7tF.aI &Pw( Fɐr!Ùc|+!6 e:r&0c 1*DddV8daݍOP!UeAGl-|"RUq0SfQA`TDc1*{IrMMP_dQ7xf1Hž@e܍(AKq)U9,xKnhBȱrK,7r;|Q 8LVQ˟%nΫB(jt$d &P=B=nyWT0 %Cʽ d0[M}jpzICmI#iY/$`OY'+Z5QB̛=њWfG} SvWžj=`^+=gG;s ya :h0($bG7s]U: R'PNL"f!Wd!+ՂRDZIDP3 60$I!kE'J p&ґ´L!#ZDe"l[*~x28)*Z49"PPg-^t`*I!6 J%*5wE!N7բR rҳ?* kL<,$i0XYB}'Q]'Pjx)P(-G(ŸEU[%BsH1FfB! MG))a.g͞sJuwAq {08|!&]qƸ0M0_4Bg I A%^Mt3KT+`(=mhpx⚴26B-O(`lD;_Y)'$ڈ>gz 8r$%7gQ+8G0n]dxA$e-:6ޑӈ-pgNTw l >G20 T"u(5GkIsESl5k :>,A2Udt٪9G^X YAc-Ӯ# E\J *LP)Zհ'IN/e@-x INxCZ5^!ßR$f%Q- R/sP[Ze[b^ 4Fe ( i ,wrt&aʨ1A-!4CPQbR, 5v9GX@::RRsR$Jӏf< i&{Ef~s(Aat$&)Qj =;NU +$pP6ջR͓B&C,YWA !v IfF!爵W[d,ɞDIN`00]0X-AY!I;TRդ2pJꉸ+u RР'|lީXhVR BQEi. r/X,hS_l1 HA6CA ' z)G+ =Q1kaļZ t햖!A}5.0ZKyAݞqRt0f95$LXtR )ǒ$,ʇ2E#$D_!\?l9')xY:>Œ0x+uI?VcAӧcPq&GH{8YI{n(xͰbIOU`Ϯff;JRp'A,#YDG bm*M8@Iꂇ9΅v,70?|8RT Q.$f`16I)dYX QPWCTO>('়&*1$eqƵ1Ь -?6JPlXY=%S䜱@!&^ jO1\4 r(/PE=VKJ pOxS`eIB!0B7+ Qj<' 5 \(H{!9E٤<;%(Z! "Hڞ! H::͖! WV5BaYMs猶 =ceIq XZANC򱅠~=. d08NjZOTo8 _R`)J,JpQ̸8 :F2  LYcRA15AqNcN@KY+ J'EJN1_fH>bdY ,!cvpt9ߪs}4 &^8+a"_0/J{#0^ @289BԪ()JෑZ`@Rz*I׾rNEbQ9 BpΡ̡@7D:wSdE SX0bәJAEѕh!G{ )UK*#lR l-S| S\B:(2$!b 3QDgCN$!=+ 0p$RR Rf"=A"(+!PoS%P bt0TcI(#%&>,c"s)F5ŋH`YEr2oiC -.)b l> {j]*R /ߕԆIֱFc,|B b( ,+`)B)C^WE|%ъL{Jr~WAYC0p( }x@8JtqB>h31e=So& jDRA VP cdhEqI;rq8W(h;GaC8A!?Yff":СӬ&;8* ZءF!A0R"a cA"H2$'vAl:4)0( SxT8h_Cfa(3)CcdAҬsnqvQ9F vOĵD"A &rJ1fc8P*hMFŌ}t2OÐQ0Rb"*2}>Qgj1 bU9n?USjς$WԆD$ iKԈ:w s pjɐ(cZf/!Uѥ1 `G-CS! 21~Ap;Fq О.ǶIxٕͰØ& "%CS9G3gF!4ь!b'8$ B3\ԝk)f|D"Eu~7BhB@zUZ܂8 O0CB؉!!jo@1f8) jtc` . Wit$R:P\ \ Hh |6F`#;e G1. TS㍘[jȢr 2i+~݅R2taE\n6m&vVzK#Xg0:k- JT XbdBe~ÐEBL  tGlhp0#(P)&}V.};! C=%>RPzB|G 1}z&^Н0J.;+d±Tb+ (]gT5v!Q0 Z'*"o*BY*Adݢ }zD@%,[S ]6E'f#/<=`AAemIA7l/4a:geX9>AYw%"KJ6M +Ōvp:ܣ,(b8He#N]% n,h$4UWP`CMY& hkTܒWKhXЫa[pώ 1VO\֝3koYj2'7q8YByV"\1|7w'HzUFjHc8 S2:1ɡ'f-! df#": ̎% Qy R% e b@q"Oy!],VZ2ByB"s tdb9"%fh,ɨƫaLC)MV 9@Í)g1~ Wt K8z-XPŃ0!l:{h_q sCiX'Uc,CK`8 bZ*hpoWGVfpqf(K!w3HQ@ª jj.xa`%-fAy13Lșd~ 6q pfU32Ai!S1P9 eowǩN/udjRi5ERRN4?vPK5+gܧ?Զzp< uJԔфD2>ԃnQ42 2V\j3BxR1{ƽHˉ&S+RY6||PlNJ+#sح+噢KLANK%Off#>cqڪ3 G.& 5ؿl9BrvJ*Ԙ;8aIŠtuN: 6b11kLn5ƣbČT% 0c(ȹLTJ2*O`LtB9JfV*DT`UH-9AVb#5" K1lQ q ] MQ$RUDGTUVEGDm.Cݍr OPk2=Z%Ǖcܽ$Yxڨ/3ЊM=f' fr 4g!KzqvLM1fʌ"2E;PB':Ι*\AaDlNlXIRhJ6 ϡ Cupcg/tU$[@>E:cpad+PB(}H%$2)aNB- Cv%a\r d=ڮ1Tzn#c8`rzkpH=VXJ6I+.ȝdAA'=1PL'ؒ3 a X}lKt蒛4u꙽}VzJ/}O|%/Yo:Dz bƖ;Z܋d'"򘢔jn{&<#g4%+ àD̔@(gj` *_}n#F[GUl랒?ҝ]$&5Qn@HU8b!f @SA$ dbx1%pJC"A362l!BDl8I$sn^xM/&5D5-dR))1tdnw;RR!]V:tOֽ^V/5LtC)p2ϢQpގLrUD:[ {\љQq)w F'ӲLt#d+z*C@4T+9Є%~͒IEChEWM ]B",:jrS~]fB24W_q J֜7sfX9ZZczgvK %ZRiʚwT" 72Yy-8h>MR{Uv&!%BB]--Fm(/WVJMqۗd"Ӝl%\$1v7OMz@NrC&9LKHSڿFY l!Km_UC+9ͭA8V 1'}S-JA|% 1GޑUT)<9 LϤօD}NN Λ;ʉ(%$$=trN:;pCH-;.t\dls  r,u$OCGewמ k鮪u^<AHeMK1G˙mP#օJe/f\!B)JsSB1UxTBHd)ٻ='')IVZy&f.y9JDC]hn;B2<-0Uv!_qS&qQ.ZGhw${F!Hk촧iOs#UW-c=DK]Ӓ$;M#LzK/%mHԣ-VjN[S.6Ob#Gĕb0I㪹[;ϐ[j$kAe0$BgJEq6]alí4`t^ \k#G%C"@Nc) !ҍfg0dSR3IqYC{q$JɯH=VKg`9"rAI7J)V#sfJ%(N,Xgg(iO'5Nl[5=uOAySR]ыDs9rT\ *Cqd AB(U 3T1m95K?\Yfu&!6,]5{ݾD(5O^&P%RҮ-DINTʉ"(=5.羞eBn:@ Bao 0G#+!Q B1'Wz ^yt^%iyJ e- Э*\Y$u1-R(Uj$Z[: ~jA!}Wru/D#Agm'\iQ ^>N)(r勧D57V)^'3 iTJtL{:ִ!1bG(W/ 1T޵|DXT2הв0jTVFikI(K/8WLW8{&+ʨAW$I ) : 3M,՟BKhs[?֖g&RMlko\hCʟn^C  PQ>GeAKs{M>Ғq+O {p PeBRB鄬SF!lFfQ;CVgϪc#ȭ"2A&PM8ʦKE|zZqYm 2SEu/1 k%O6S3 #3=cN[M.'i2E ħPv˷q涝)뮗X;ʾW m9 F˼ڄ:.sl[}zTQHl/ 22I|ʤb6JkI_~SVT/PA7:u,MTuݵZ>ɓKnfأh3eХiV_[hG$ iM1 N㚋d@l| a2ecף v%-V A`,UƢQx:_dBG (S kd^Id Tf$-ߘ!A12M*#ZڽPn:d@ӰTs$S2;dwsKǢI݌9}񆴂Fjq5OJeXI"6K9j qc:h]>C'ɡCc| n>ެ7Ek)M%,xvqWqERJ/uFO/kضku(MXgظҒ*9m:5VuΤSIԋ>#+M2_RM!^KD6^RMg \qHS+DiTt?$ ƇAaǡ4ܳU$q%J,gP- $u.(BHuT*0 F,(cq+)ٳ)b Cs#D#ͨ.,둗 ՇcbNR Ry[Mw!w MDY ,HɨƬtD: S@8ygD +kw1$Ep6 !(}ޘXy !̼.4' {ޢ؛ N=?_}<ԡ#WUw%g>R-FASznt "؝KmP3t=cX&sƈ-NIR CZ>6|[L ><ĵE$ǿi/Eu \5eM4dKn{$ibW|yHB$pyP\儱,J%q&% fq#D'85 Ho'A @&7X4|I<4`%]T ̉՟ Ӛa rІsS^iO*R 2zh(}ULJhnTcÚŸM^$tAuai8C$b[z2ޘj= ׎;Cp›(CX;Z SرHQ-]yıԑ1󊥈pGacÄxԜ`DQb7-(~ӔA0%!LQu4QDCu (](ԃt_%D)~8*oG/kH}5A9=%"lX0A>B2KjaS ,B.xa"AJ(F H1ee'CBs%uK[1H50SLquÌR&P$t-˩I@`Zea B13. u92y(C6R^h6!$ƞCHEĵ^\t GY2Y$ɲRFII̹1*BTKlRLJ 5)I &SH`B1 ,Hs(IM SQF8%5eE10jz=RB(1S˸^Z~5saRCpCm',[Iolyi=r%/0 5乫IIBךK!ȥ r5S14/bjW`J1y]g"kIrƔj |$Jhz<5dm$UŤŕ5e6%啶5EƗ'GQɜخٓ2| @D_ ZfmHBHKA4XzuֹO9%8 UZUbj2ԣ)+*fUc- F:QwNVWYt9q ÎLzԅ!J$r0CJ)+l)0Mᓼ$kgna/ŠK?PP?F@s 95At.X(~ºUj:% xtTFaj:xiiօT4h>!h894 $Q(6$X+62/QCn ;qi(*RķHl-O jQe-z](\4UXL^Z -k =MIin[*Pq:TOa۪7/"В;O aM^pwWu`+[ `7uW%A{/Ƽf\{B2B짪`b I"_J>ݺ,M8-˴š2M5[az?k7=AMik:G\ib>UӢMi>*d"سp`Kj3z׭:52"dBR_!c_^b#:8+Nx) bf0EGwH 0>8agx[7Rx@9%v im]5kߓIR>OjnӺ$Trx 95gzs z9[U,wrT/y6|nu+$`ɑ!;RL%_& rjVS]"C.]GrW^efQx`%pu:EsUL Z 5Cv?a&cھ~mkG&S̹-E4yb6ˡ]PPlJը+L%P[$ļ^lym< KMY .RXޢ_|L5hL{L Y'3jцP4A[x !CDtQ 3v<&&mO:xL)d 9 PѰ:T蜙VҐa~q(\HyŨOK zeQI"vIZzЉ\$QçieV|HF f;ztvbJŒZOK$vfvp^*} 2ڜ(L.w'4@LJ014+0#^A(MFh#"5y5 Kν(AjrH;!I cAFGc,66҉mva7>iYSiH./3 t-GH|AABTĚQ( $,G$HT(VBa"l,. (LҤ:2֨MP.PT֗I95aQKI>r6C͵H,'?*Q~JXDSh\`eܶBzr?5R#QT~{I5L$b G5,wQa\b%GV}D)^ J)Wݺq="` WhK%}D t_6D$}G$K*Xߎ"blPLwO$dTA5rM'R>Z( 'EΛe*Kԃ:V`Mn UbZ[-TPe#\$ֻ l# Bjʚ b34WE3j/K`pm.ێh`i<'xEa|͂5@U(Xvc0(^O ,Du5A;p!nҤD?-EQ9NP&:鈷)aC/3T|w aLj̡S(ՏD H)*_O2pT3Gj__禾<> EgZ3Pw FlXl` Z "H#Wti56s(⃵Byj;{"o+ šyu}WVw͗(v :LH:{{?I\lMߕwETu2:,'"A7 L/,!5{moWt8JP?p_MXZ_pfUFHD}$ "EW);||\芢$]`^濹tS|EE[GRE/&짊5⹷QZvpOTWUftdU'RjGUz:BiRϣ\#x7E1U7S vLȾߑB,3۰*9W.pbeh .$[ꨡڿ{JCRE^s\ *L;bR+fY +'qV_|:XT\0}Ɋ nP rΪNhU4qG4bE+dWR^|; ] 3(EX6aML'#D\VHdck{tkWXRؗALyЈHɜ[LR'?VmV15įMz6w|VmjYQ3H18$i=-=\[}uQ'0,+-vZ@o;Pӑ/*Tb%S}5#L/Չ4 zڳ_)X{.7ѠAJVߒMXl7ӷl썱6CFE؈Ě?Rx JZ7" ,H(6<¹8Mls0aPl^6dN4^L= CY,G$B| 0/g}1Jnokd"(4s:|q{NTyd x]R:7k+pQPwbVbCW-mX5.J' *]dvE,|ÆeE˘X!QU4D!3DbOT3 T0U}uf[15\(k@`e5Z x K i\@ZEx*O/0MeRCl=T`s%E0|(;Z!]V[]h +abU!ĴRȈGG|b*(B.'CTNW g8nnglaI%Rc^F %3(NpM1FYmHf힅A,av^JL+J$4)2+E XNKE?VHrՎ6(""v2МꋵM;,d/!!.-1xe7cfc!{^ ;"cYJVdX4 棹])9FxH$? s$RW?8FQ_F!L<%i;b4xYŕyc/(v~@Qy4M$/PG#ζKwƽFv0Z =j Gjϼ$4t WU5*EƟQ eCdH/ZnQ)-}0,*/%<%E YWuMGb+/8J# 1Tb#Hqa4KiQiO6rAaia<]"pIK˩@!Yd@́'RA[S~6F~]G ) )6;IȔ@t/0K\=IQ!)gtd,T^ӛ-DK v>3뙕DqnV'9Eti$RCHA|/O D){jajz]-aJY$,O#*Bybbc@`)0j {aUYInZ88ڨv1,W 1cTK`qk+'%m 4"rĿ3KAt+kJS9;Bp)$UdQ+9Ȭ oÏ1P9L_ `A$1wEnPIj ~wE-'#j'mRQ)lB|+rOm5d 855%$:8x|P7]*v! (駷#Y, zKD"9W9Gkr!cK EƜe#l ,n#ڋіַCȱW05㪣&9|Ԩ2DAU42`PuŇ#+JPZ+3UMCzsv"ۄNesh.%;{NWޙ00R3S-M+0gB[C "F KTsp; AhdH "=cy4T(#_[4qg]7of )o9u"gJnJDk  H^POF24 J5lq3SlcVP-*S%lNgkigz ԔݔȞhA!ὧƛqIغWu^Iށ6,``e^BY) #K+9nx[+y)+(γȚU s`!?$?-;=wz lĴg8j-D<|!d6g"YQ__c sƒQX7Zv&a{>|x!NLX% S%I_"9< ?a7^ ֯f{+rDc=Բ qEk? #IYs4TЄ<}?J̧dKO12=#F,PvWUC!a e 9\I)8KJ4uY_Pqdzʴa&o}ĵcݏTWGw8ndL3T-%Y[n mkndQIWdY!;׎MV߃lEpal ObXŗD:-4elWIw /­Yej( <,Ųzhw-h.41ɐk&V&yD0n~B7 &EzbXaF@"d9:Ф~ƏͮoX{F=G?' ֎R&k=.+_ D,-E1i }phC^7^hށdZ\ڢ9ԛ #oa|ZF'AT0_hIjt" WKqzns}F!XKiF,bqMCy E|ezoV:ͺ1 bm%w<#+MaoO8JX<ջ|}8T η%<8fꇔfB{5Dhrn5tR?— О}%\n+&}XHe1qj)]t=i,bjW&GF囗AM5Fy0vilD6} BNI<3ef|Ե &cⱽmAcK3R1e)xKpgjiߎ{$ۛ<6 IƔ_SyK,fbW-rvt^\K-8b\M(oEQ'ɤIe峌>ʷcٺnr(peC}4G :oK:8ސ{ L Da< J˜&}t Y=;x]X3)}Vi&\6OVAGYV+tR`}w2BDYa0le[J]ݘ`k&ҲWdfiRiiǽCb€LЉ966^fXG3/um_I|?F%QdjŁ $,k  rM^WяVBʮ4ߚJyNWqHK~W9 %q؎_(wǷ'Oe3["[̘#"$.K5B~b#S95 nI,h5Yf05"8AYBf$<*l2p!n6''zYM< >&O-ӂG+Hz (iJzuqcK;j p/j,[̿ȋow%z >o>?됄K#uB&PQ{:+ 9J4H9ra6 t&[#Lmңq@P̷0 \}<4Tg+Bzwڢahr-.+aˋ'UiĵM7+ hG$ZE4Ubizz AvH A&bn`_(?ҩވ|MT[Bb=^5IUOCf)u6֔+dHVh=[yx1uP?#QҠ"׌^ji3^T:NLuMP\E~;-̮I39Ԉ$s ޕ F6azi40au bt/bٟT(LH*ߨ>H" @pzn-8#R`eWc '| bĚyМxHmbQk'AI=)HX4V< Y=0/mb1lF6#"6-O OBE=!F"k΅| ziln/gB-nHDZ6ⳏ7>tD/ I>"Emm6ak F ,W|9#=Ğ6{k!SWX%Ɨбi8rX[>_:SPuȬ? Eh\;-BiH78b8th$$ n((ED 1Vl! Kۋ$|#Wu K"dž« =EJڨrH/k(9^.$;TrUL=8·&}K'uwkUjaG:,L=CTD4 K 8`r%]ILZ9\yX6dB.Y5|LwdgxH fɨԅߪtq9 %蚀p&C} gFde]$g09m4ìdB-T[wJY{O~NA$yX"e=d Vz:5Q0r ! 桢f1i@m(+zת: ŢnW&/}皗odDL BbC,b t[o6th_r0F+k.)`ER$g΁6.|d68*ސȪO[J/ LOw,fsgU=2 *E]9N=j6QP@^Cw6LgS57@oYlA^&|Q\H$7/rYV1+ ygnvYcVTGuBl0/l35J5KAHB94Oo3aBQG(: 0L|U̞Hv璥=qoE#[xP2ϛBh? ~11}~(g1l mai܅z3W7d@Ĵ>N")` ,$\#H'5b|W=:]ˉQ;jboy2ȫ*v'+m\53 ̄Erm@D=BF{SjwIJLbC~e£tjS[6*]lz8e|| ~:M*kI߈6AK츕UQNg09ww="#L/VWj߉orQrgIb*TJ+r/b$V{]6cNSl/ɧѬFmEH9FFkFp[W)ceB H6e} 5Е+BddELa) -<]eY:酆lGćGuDmxwPBb^ﯮ]oڔt[}f[/mxYUWh@ 72.w\'D̳z "pFQ!~/9e: k - jՑ՚rT?wc"8SZ:]e95w&oBHƒSj%HU'X5Lx5]Ғ2hu>z3k ?o.яDr D%rKvN|A/LBQq)Uȁ)&QHBWMLK{FЃ> $i/9ˆj (iHXA_@Ĉ0x^RXPэI V6JFF͙pҒdD V#~ӡ/)T(%a#5~JZzԛy?dyr-FC{ ,LOS QCZ;U7QS?(Jn~O/Bra H/Z105cA3l&+Mr=]Ӏ)yjVI:O /~/vjU:Xø$lxJxt"+Ɣ4~%/_/A*1 *3/lM%5b-"hl% 8پ|`緙EW_/P: )u)j]ӵ6iuc \R9Ijkw< ̒XHB"W|b? P+=ܘb@oKwa\ݍ *Ѳv E¨F -ѐZp]EfA_엌 HT3]+.(yL/DA٩IPLbqDpB@䟃+;}b  IHAڀV4 @d_Orp>/uO'/ K >\ _ .EtK{,BS*qgX5K{B~6$:+vR%J\LT%`KL,Hn/g= jՊ0$7  Zh+T *TKqE>ƔH z(ARg2nfًy-Yۮ|!k|xhn rHj".l.R~AuV1164 x7 ӣ1+RR`zˡ$eX`EP(*<]"a);l#qh0U x t$Q ?;|. 2[! t2"^,nLvYǡ ϠkpʱL?ɒ%!EQ^>%ս2DwyB3H <ħ;. ێ&=}r1jxxϡOw L0QJG[IHJ "ƢCRiO̗x_լ-\ ̈Yr2ߤ0у$!,~=--f$.qEDSk P4y Ds{oV;#^B-^C3Bɔp"5.H5BT+HkJ̑RhyJmLl4j:9*VZr h~I?^ Kp)g5\Ngs)1s:_9vJ%1YyI t$P-RREw(+ BԘ+?T|$̘HXOzB2 4_FT1:Y x&243TMPT\x^mx2@ 4ZF/g#:`4th O*|/T`"EHRA`k ċ_aTp3*d/ZWS-Qޓx}< hԆV}&v9Z1t:2 ΢ 'ӓ y7tҗ-huv^d-o %:ބ?z| !jQ,!9[)8Gi٪ሼ -ѭ[|RXtQViX ,]'JRu+r9F,L|ԚǹVcK7JV1řj=vAIԊW?} I_ `hnG2ֺ5?dl4!mc~PU.;$e^J뷌EMt1}(jV9={C>;2Z q{DnK,+"xOME,-LPBI5q'aa q6nOYEj GDdlg3"V\暦-IݣkA)1b@r[H(RibBVPWKT5A5e t 61R2b$ D2 bt,V إ]ѰjNA* T4+1n^'Ơ"Co̘fB409b8 Tˈt@G,PWm$8XڍDx%ب32$$Jg&oasАz:hZ譣Zh}I1R'l[IMu]N &s'U6/V3CG`/ 9@kd; Υ!}M߲kDAOdh@bx7eBӻrBPKv"3$+G; +pF{LPs42%8wl!/)v/)4s˭d7 ^Is"u%[Sē6El$ZZk1I֠ajȆhww1*&:kӕ*\ny üv^ `$ "B:yiTAӢ3U겴%BCJF-D%R`FGHGGX\fq!2aCS{Ϩ 4Ӈyyi++ʄ44l51lRC!܈\˲!~x4՝(W8 XCţ(,mYL^!-DCL̵RqHC2sEʅ+ ?]P̬ ')1z3j@JDwg~#R_/(]+CMFpd FnܵڸXF "a<5{~/4zNQ<3o:TV3:7o;2JR@?!Q"q"bLv[D 3>=1UT2dRGiDu?i...^HSԣg(maU3Z͌H\.yGM |P&$?S`o֙ݰHqDӶ9f@$PH $f24:Np ai>  tT@A$S)>5L".~F*fEgo0>#&*"-L,9 ($&H Gݠ,LbUk\%9>H ՚l nY*>1Dt%(SR5܏ 7%Le҃0#-ąC1 Pz%kH.I)#7Kd-W-z#fhŗ170dFr醒br 5 Z$3r!L`BNaJ4 sBiZA+$ (?le', wP\zrWJ \*.>ҤIcBf"fyiBE07p \*@EkH,U7#Exb.@m)ؐ( Umq@1oj반JD.WXFAH9|_  J?QB枛k썎6([S,`GAy"Fw9h˲u;GWY+Ia鎷φ"ɣt)`!m'F~2ʧDiƿ(aNU3JD8xW*VµJFCk.91Ps_m%;R[DcDL~ܼjX.]"9\a(p"?&2*`T (H.@}f,eB\.,VP0Dª(QWh4.Q0TؕK(_ФlJFXN ĕ`+Ap]%W-Mt.JDL$e~>˵}Ӿer6jaAH"*f4\H_.[u.R?71|Mŷ{rϋ+ +Iʺje\U@Dxœ~w %D*:rEOi[ ^Iv-k J|YT.ڐlIZYD{!d ( :YFNB^o9Sj^n]i{i-g ȑן Z,/$L.`lX$m1}- Dxi#b$(diXA I6eɬxJ.I9Zغ7$rt"-_w%AOؽp͕_Kֈ)5SA|!N84SqodzƏ[q~kOB32/׶Jf34 yt } ir!'o.i*kYeUJnx̶W`,-GĂ‘t#JTZU!'1h.HZ@,blZܪ[g['#?e%6?ĹʡIcg)m Ev­SϴJ k,CӯUю:?1;e7nye[[-0%1eQBw|0%?tB\${Cqa|n,ı|a #M<3 [Z* Uw}VBk]l [Fҧ*{濳qtI͇+c}f"_/" dT6t"@Q G@e#J˟h$ mBXE * 6{џywӭjS6Vƒod"Jmrƛh;k`fY6T3)oP\?QѼt/PbWu&d#ײj"RFWo@Է/JAxq !8(ғ\hqv|/< dqmQN;gg\ 3tΰSM/Uˇ1\1h$E;|X:j41ͪJ̠rnvc3cſU{ QEMN )]lW._z۴ȋ5QO!,_349 )*ųW]aLR E}f'zd+uX{NjbN;څ5ma7>\.#u_QkO!v$\Ƞ_u4@"iCg wwˆ ãӎ4&{Sk.k2u ĠTe7i   ǸYÏ'/<@kͱ4Ȣדeܗ9v2xt!g6'o”%,nYrk֧&gC t&( 'žu嵚9Ѿ|UڂGd(7G}]TSVѰxJk5>]H1j tSZrwTWVȱbH)SgrY\JXSŘRC/Jz|^(qS ,# ƕc8gbXog^%>jzL, ̚-5| "wͿ *F ϥkueRcBb\b cQ}KeG^K?aCęt=TԳ>[ߠh%fj_ZƮc-!┟Xr< FDHrk4ڬe[r) '1pP `hw+vH-;Fɕ.oO]dnQ:OJ<Dބldٮ(W HF+v ()*02 !P198ѫp`ؔ[B7ƍ: 7BPY \VNQh,XB5xFٰq5m aRe?$ -i,P3_ I`GBl1m)fTyI%(*~Zr,^;(yqۄ)voQ^r`ɰlW:zᰥ;inZ7 2K6½+.#:MT;qܒ0B*GU,ZA:&(y & +A"Hf`2(#>&4 "tl01R+ˁK &7]ژz1;_+y)9xXMy Xb Rv1Y 9 VvA]?ϔ"IG>a~wՓ% h rRՌ*Nr"/ f -%NMIAA ~?}sAN==Xv #-w< ~l^dXA\;!Єt$3xS)]zv QKVM8 (TmM4#NMnbQ)%hɮ#Ҿʑ7lYI~A<|i)4Dk3u0=$u 2xB&bek!#E^bE @%|h׫o\Kea^p@`nfaB>贤4IIKX#zw Xpcu.bdxJƃܲ{X!25f9 eD| 'J~&PsRTz5×얬kg%XV ʔbNy X",9@;pTB,Tj0Xw#eH k50Ey ̕Ej\P逬uՃLB]ln&+4G0E#Cᰣ&\ر2% DƋNUȮ\3Im3R 3F =kt(!N!&EIQ/{TiIUqٯL%h"lkhZ+l^^zkG. vtVL5gJe4-Ǿa7|bo .'e),"䪊mW{ ?27H*$?$lTvKW]%*kĵ&VM#UfNsT@~UDіOu{m. ,-6fEI=8fIzfe/ *"Jq|+hoI tN"lb3/*Jސ!-okBāA^IlcҥqB̐^H~Lļɳ0? +z\r!$F|%dPk+ ⃂Dә_Vk (ʔ%1# ~|crj;F41lPJ"@͔g1—$])'M9A['!k9J@v5}2f3-RF@q39cՕI-ž]7%C$e2io%Oe>y3 %8) K1t"iMD.퐅L="} 5Qc$a|gơE44\YaM3WfVfs#@# `2B)(8!!ǜv2-,@Ec JL!TUZ7{8|eo]a̚u ]3~4sLHR]1w r|BX!'S*$Rrh^y VFBvP%K[Gy 7eHUR,aA+9~.JzHo%*%>^aV\>nsӊ! _6秴 %2## ~ by)yn5`m Ѝ?9.otت׺eNI *H-2jYZKs%V#mk"zqA(hȔs`vK<.t75dN2Y00}e0B01j1p8|b,5pA OV>VS]O? L 2ٍl2:LԺr\^jv|mKgO(jO;_r\q1 ؙl]wgmK;S//\c ``PBŪe]&:;۔ kW&YMJ|ÍZ'n8 trpe7',rO 9 X^ jr~G,aڲR+M(:~}DEMaTquHTZԑiTpOb|iK2TxK3UR 2L$nqK^#:)vxRa@ܨ/6*9 p@r28d%?U汨.Nn ۣ`}q(*zdIQ'NxO)3-Zf*D m"P5B Ai$&?p6H'pҐىG- +Dҟ.OVqkՄRo]o,WN"RRS~h3>"VJs 8kKFoV],Zemk\H݊$Y„bZYfDΘ>0S<^V4?,.hm?MgH.ڡ(Zi$Th#P `6Na4CDbP_:oRuQ $XA"&XLM2V:~w(P,vi =mQѮq̖%EP4 oʢ 2(N8Иr.@MBju pH" 1^&<ّ)P(>@!>0='S:+Bv3‘$EyA3{qN"(p5+ G>TUѦ+RqՊɨƯ}Jдe>5ʔ_ mN! PV^2߄݅> Q f%0'2<{w:uT+S0 $J،Efc81RnVVW t)}^Ė[~Z%5^bIe0C+Uץ@4 Iؓ|b8CDZdlQGD#TU=ʔ%e?%Ec$49 TE3_;Яg&g,a?Uu[.?k~[z(j0Tsf-屭l`ԐxNBC71~H@Wt1 k‚{PI*=@6mY%5y D6;9+wM#(QWz4G؄'xmL&-QF`0 >O|V7kO#{h@xGkpd,δ?0~Y08dBgm+SUi4 \TY%ȴ ˊ!UZgXĥ|k<̃3T\XA08(Bd@\N鱛 V"W)J~J6z堾 SFy3<4 VyB AVxnބx QlL/&[@L4PUg'MFeҕ]HnLg=QOM~"b 3}e .VJB:q{D5xf /]sKb FvN@g5m}xҤ9vB@ކ>2qgR6x/)U>!NeuM3OW9\nA<,2VE&D1 H9@Jeo&@T#g;#^t…>k!QQllPXUѯi1콗SX? KBxD41JR"'?y&\B`}Ir-Vbv^w4';7W.VËvhZշŻ⇩mCk(VYY[Ψ>+&Up*o?PE {oDP^q?aD:H2H!EMѱYX)vIvA{QNY>blW?U[*+.&'3ktEl(P5(s |T>3sC3q^X6(iw:eQ.pv?% JG[m&}G|zL"EVI+[4a"K{eW)ɱM3vXh5p#RU'ґS`PB@K1fhДEcl6fSMSL_:![5Q~?a-"qcrZtr+Ppj%[;Oi4TJXQ)~TTU-զH)U#}>hzswn!S(of;@Zbi2$N5wyqvTȭv~Ydm2#,2X1*fe(OJtPPDJ՞8/3 -2ȮYӁ8MpJ(E$"f^b 6Vх)>"DbevnT'H;=1 Q 1G!s;BZp=1Þ ]JwSDVD& " AQ &MU|+ooT_ \)h+,_zB)uvQx̲sr.YDs1o#q7RhӶ]pa zјdftA-4X߇yS79loKas S|FMƒ~]a1S^(B)yVEӚ?(L@'HN<(-1;3iԉ  FT£"{FÓ*1TX,CC;`?iM",7)f&fϗCeۮ6Gܠ(s qվhډL/qa&ҲR_)rW&W;}%, /§MKI; ?ɋdF# zu ]B%"Em 8A Hةn1 C(wv* WQZ+F[Ƭ[6bgG#҃CZSfVn2}(q \͏C۰8R ~e3G-a*/!?źJ 8&&De-1{BkfҮޛO^^)Uhd╥XKзҪ&U.*Nɚ%+>>Z o5!r9d⩡o Y`ܜfᬵ1BE2 b~HG'_-rLF^JkY*48;/1i΍ic gV'mPKК&)L/ʾxn,zWcg$U(Ou-  ?=ץǬ!y"׺S0dDC"= KīX !_@!d7Q LQ`0Letb.N*t;^HyP3X67>$KQG Y;Ey 8{l#$+-Z0iCU2e*-Eӥ]dtDkD0QٱݹP)@JH-!H5a |T0z #X\f  o'v elIfu~ Q]SVD..(dz[-2PdkO #֋`A,AodK(I ` +gGO5VA型@?cID*UˍQ)} 0D - V_F@5hVu%ݡ! rB-%`j%F@ć^ Y qِX\솣ϐb YTԦoY5MNo6U|06QGWdI-J)R * (m5(S4MXض CVҠYhd3<7uIx^ͮ=贑X< 0¢7H|RR䕍5BJ00Ɂ0Y/2igNMN4f؉El1%Yjc ,ֻURjUոEтIjm,U2b`ȊR$LU'1iG^3vfGjk̶z] (Mљk|i9^c:Y#䙋%_:pcEVߊ(f\9J0nm ֔% tRւ; A?5aӺA ::LY A|kv!V:պT-f[v'7#9FD~v$410|U*bv'ɠ̻|jqvHnXյXGwWv7t(84Ҋ,"J"B`$H4%2%/8.V]e-iqSJVt7̚B)ޙHLp;_4`CFPyLHxRo5WkS@ BҧbC2o⪴Z)F..UbOchf-{Ы)Ho}I18wf/WzS5mC b[F1 k6;&"\ɁJ'FGlTyA TlrLIr4ync!6W iRѫ{_Jn{BɔcXa~Lƌ1^ 7AM l%*tz Dm* .PT e7%᐀GvSr=> #R#ל J\pIm"1F&o(~ %<( 5#rr(pYx۞++c3^97fy2RMؘ+c77G=d.mKG^.,buKa ^<AkCu]Wvr d^Yz&bJWP{Բͥ>UwʵV8Bq2U8g%/Ԧs";1όJ*?9DZ$kV%\yG`5@W4TA[>\G.w*^։kLRsTt.) " Fǁt'Y(>(,AChN UB@NK6E"vJs PPx ieYN\HP"'Hojdo:ZƈM/O#Ut[%ڲH0uHo$ѷ!2'ӕj:;x5J<]k-B]V[\$Qګ *K߬I'tw+SvDobcZIft3$9\Ke5}0~# CG`L~DC*Ө1 #jvdV\&lm~L~|i?{(2^Vw:fәQ-9[a)Es.gNiS8NfajB@[~ Fѣ"|tݨITLc`X l#c8MD"AN ќ+A[M3ޫS4=,rQJW?gm2.P5pBbB R8NXZ<+_K,xXLsMJJ>~Fa(P H҄q%Suű1S +ܱ';X7A908Ci+R|!s'MXwrHJH"zn`nՐ͑^_$1W%i r#g*}cC{4ɨ@ŻfL^kfՓ iJ[/n:mii&aOPɄ+,7`1 @!{8S1GDXY8jOƬl+?;ĞQ ala,eوE%,Q1+׉H* 5nNf%|EWIty^<nԑB-^nƭɪPv"#qK&/r9mԩnz{S3H#VLSXJ\duRzn"'HZUFۯ҆2׸̔n.fRS) *RC+ޏ?*.9˙ ՅBR\r+]G[-VG| aQ3yD2?σ?Yˋaqp]tCF -`l"AD=)D]N"xɭ̜l&;J1&u$?,5!h@GM-LspgUoc 0/Inθ؎.67h֖D\ĩS2\6nN}R'JÊ`++KBѐ\2%0j\dZ@sBhJby_^/-89*G=S5~ kb"VâV8,3'*sK}*wjb#a)J'_7L䱮o)Nˢsߚ14Ů _:bnuTf* }xIj.3&ncͦfH Ń@TΛ|,Dj)3H|c54E*:? 1,-w}&KCo]Sl|p%,9ޡ"/Jtk?i}hWӼ_V(,PV|~Zyʲ ɅvXned-Q8XׇnmA c$D5 rH+XB5[-hXCqptk d@A[|2>|=ׯH1QO't^x%l9S SI3Xv?\B@GJMH=$wִKK#%:+ m1 r>„ _:1bz3s l$NNlجkcHjD fP<2!&Z_šyk:6 MyV~kY0KMLί}]"PJPj6#q|1\[MP3A+hRȖD0 ĘF5v5MJHR&[uV~7)XIJVz-W"xɋܐ6Vv@N#F WVLHczrrׇ/Eғ9i5O4/qP{P,  ]v\T 1wT`FTT7AX ,mP ]=}@a]89uu$)QspPARr- h 2 R(TCz}T+sKr҃y+c:ŦBD6Ѯ„FXˤMhRĶg't[t'$SKH\YINFz%Dx(&ECDtȒ@vLGl+dlrp3t)ڋ%9z 'z DjLmJ9rP&tuѿDaݖ1LϞe&l'Sㅲ罗HEiO&ZQ Uc)$ftXbDN!opL޺D?$SmJD|%bE-Z3zudBS:",l{B!f"2L Sh`^k<f12O2" J#2!I |i#;ا5|DZϒ<^t@ʒcQnfIpN(FSU*pB^0@U 8 QGuT7S 26Dt&r7RUnZ-(gdU^d:HF\0^GB"'jb#'L#JtfM~EZg%.hTZGjЮZR-jTΊvz&0I]Rf1a5v^LBB1FȎ & n&26}hLRI+ڥ&|д恜m=1>Z{Ofe\(6"c*9:k[QAdY5Ȯ1QumkHƿ=UO@M(P",MzCo1?ZN?'p6Yd+2gI3>;b.D>@(65m_޾ƶN2l >Ʉ 2aêp}OL IbvHvT<X QKR(.9ewEE!(5|Q8+>"3rdı,JDH3kD@Ţi|BZ1%4A^lH{n-T^^}KUEZu~3ٝ~ˊ 8 YxٺЋ\I`~裂T%aH{S/I~KDBc9H@g?"Q:7LBvn^y'^jx^ѝwGqRXUwҩUN>|bx;h?2RxCjXs2g"҇^sᛇD,,(GԂ$3K] C2fdTXb2*t+/{RGSPz 4J8FP"oߙ*6U<78म(&ʌQ`UZXkώd4Vg-YW݊*YT".t_bQ_<(^ y)}/6DWe=x%:!TDxR2[}d^!(n6K؏=JBUkIPPRd A:,־ Ryˣ HyLŪbkE)Pοg  |R*s=쇴 P7'mfEYdщ8y=T E (s)4&H2% tH6m"&x0ϗqJ_^,&ZC44( F@PΞ,a" ` rnd5xkGAJbSC]r&^McoH:MjWZit3<*4'vIl(@? gw6\TNF$:`e./ҁ(C_7Ym*6P@lcAfX}DB5t \^P߁؅x($3 danyɇ&QJqhw_V̰&R{YurHFEM >gy6XJG69UB\\S֊pY28LT",6&Ї`wPVdD8K£t&P48',؃'^q|>R)%]*D< $>'\nZKb+a7M!9X1ߢ źԀL. ]y9pT* m`P7$B֒BF$4E:~]ˤrMxgI UߟW( -+{fid{7=R~iJUξo)6 83CHw;-#S:@lNd EgV.t/H|.fY2XqYQiuFzvbΐ|"ISB% %C[;wf`fh90"INg 9z" ʦMjI3ŠQ'Zb( ۗ%LbxHN1i@O\OJiv:9 BLige{, eg5ޓ K2 ճZ?'ҟ{K,տ_o8p$W/0 8__r  `p*;/5C}* O5±¹:gHph{rZ,h#2DЊ8L63t:ƺEEp| ΁I 7!+k0m_$RKQnఇ5l /E„P0!EQ& GAT(?4bW!Ӥao*./TSGڧ}II'H O3O.xxCJh 0 <'Ƴ y4tycW&(4(TYQU"M4l5nZzK$^;ތ_)1V]]%rCzITP^' nWJe-fFQ0Sc$9WO)'3衋/c+BbųZ1Jp˖*e[>5ԐV򉹏PA+.EhK{u]M Rl8o[G?TʋRtx}$D#6W!pn|T B#(2gmS2r6GJ$gבZfWgM+FSD&na@>27)E|XwVUnԅx7PL Mi=RpxdY~7Y*ܧZ/d$ sM`"#5JF UFfZ{WRX` qKҷ:x{OvR㕔Vl5흝%钿蝭ixC_žѼcq(aaD0y]&jY3"{-ig \'Ṭ0R I"΂¥-#O3w.5QI*lf%&g>Y^LUɽaN̝-ӍDG ||2\ic=@}H |P~ WBAR "lE"pqGh* 5)t8s24t ,2Zݟ{ŭ(JLң3OKSMpAR,sB"mgܻ":-XhlUPU4ܕh~%qM#C3sYDwJ7 ;ycCP <;w@TW:N512QYurv#GsQWK0ӁK]ʲ\w}DpeI6r5Ewt lS] pF>u2B F3eF9|]<|Nq={|M';qyb4JNu(+$`,髾tF@).Q9!.j '9(aT0u!+ ~h/$M#?6=Ιf:jܱ)"$U1mtEŅՈ(+6y~fD{9{t"lb)3T^z{ݱ $SfC3PL,D"rj E] Wt:G& Ғ@W"y"fOzZRob$e($]!pxABH %Aw N!ˠԲ|1R >.& JMsU_/CԠDHHDSШ9HjLaRߢ LMM}d8>A8&bąifi%v=[UxqVlb+4*V .! (Css,Kg0'.iv31Ҟ%"M5xN?7+ jl&JuCÕ5[LY7 IOVZzR'(aY<)Ty}k:<E劕Ң] RbN?\ $j$! XJL=6A;5@eGeDї8վv($Q@x21b /b8 FzEǙ(Z&8:l0=p oԛ,ncDkߢw "įkUdMN:'zEc#ʍ)H}O&Ij2\~UVdpg ƁCl Tt"C(2Ke&8\IE8qETi Y䊉 (*@Q:XPj<6r9JlSu0,#W luBPX#YKõ>+t$^"\%$Vs, _/3.hM/H/]ͳE(*lJI4tHh%.B.04 1)𛾩K6T$a&,&g0ү}PBD#r Y~`Trˌ>~QTرZ:A(+Id5ymƤQb,p[?G/70B!($U>aD.pU$ `<=ɨƱ'BP?  (C7a `@π!I*&Ǭ>WM>Ⱦ] J'}gqo++Ki6;]:gĆ ]fo*{SZR YS4%[_% pQVlQ!*!z.MI?;AԣKu$GjDL`bAeNSW8@sx#Q]ఴQF66Ty _v2DPZg:ֈ*tF!2ÆW(зmU /WKP7pϧ A)ٱ xMe-J:2Hn͈Jo*4 p6K`l6%"RTh && ]KLQpq&MmR @ay qchftO=aL8"MT{.W&B$@S,/sYE[8DSmk>Pg}ͬun,j2Ơ{1kq'od tj+t*O# `#(26 yQTKRa@dಭ.\$PL5,L0t%CaU QCGC6Pd lѠȩ > Xi_Y  VCPh. 1"5?ŕsĂ ,4lQB41(&{}rhIӥ: 2jQNcJIΪ#yϽ6Ih[X$R},גIV;KDB68W$ w,ES3p%~pkJ ZPUZQâUmfN(cW^iTlUQMU3Au(KkTIVVZ3g(%"AC^_[*Z aINoPBZ1L(<8&k-Y}g%Ǹt@ ) 'Qky N!A3}㫳 0sD?Nj@"?O}Ae}qKCx҆)Rh5oT"_!%bE~am$1sO}e!%#+B!ݮ`b3ԟ1FmKR$stApr`]( 6 BP(}=庅acIFH$Q,)~U*/ye80Ŷ L@ԉ@ۀjT0,$ƨ 7{|F8pp qja!pA@VE !Ru i|ތ. l(vN*x<,2zHTV $7@ia*ɴW<>{캥ݹ*"Y_ko0~k,XaXAB˪]q:(?W(ʝ,ixoUr$0{ Qf搪ؖk!P6\_YB3fRj!G Fqɨ8)ګMKӨ0'1gۏ 0fNQ^"xɮV+tq:oW se5I?DEG`LmƶIm3Q?d[,EiciN`Q[fu 3 /$nF?h aq^éjɩBA?È0d\Iwi{P,]J¼ $]Y9:3O,X-髓Ym)x Wvs# %̒'2L@Xt9dsg1k@Z: e*G I$XP*27z:ЪC)UW**( 4<3*?HcF& bN N|w.sh՝5mZSb|gכIA ܽX-F\],kp8t8B茧iH}i*(Jdz_]Gc}&]ȁ1ԪMu zpS:BD*ؽPLx;\ 0nYO.T}Aꇴ/G"5}YTO* ϲHRja+.f0d̲R3|[׍-([($YN euQa!W/+շ>Q ^KG7._A{B3Ҟz3OePOY5"kmMB&RG]Rh'x!U(;HWYIbu5Q" jb=/N<'M6Jɑip_SV.j4Q]r=IN+&R+ePE+ &{uD0'XJqeJCR}-JXTPn^}S˹Xn|A0DX.HHEUn(&&@o R{QZ=Fmf4vӴVM,3C_.~¯` /T,t؀N/ ТPʦʳو ?"uRYkUU1u#B-)1|L%YlZa6+et.MC/IʂtoXEZH¦gġoXpPV; ueVc TZK 8qKA(6coWD;.㫾r*Ⴉ"e NtPbFw1EwmM#UuiV5"a#veWqv& &|O05y^c-!"^FnH}r\U]AXTP%I 9ޒ=F8Цaj bA C|v(Ee Az` z:叜kN3/VLzSw%53Uj3PDQ}k8tkQy9lW}F:8.Iz]2e iឰW0m"o޹)ڣjє;$KA6=m4 eHBm!J >$F-6Xͪ4IrR46Dk')ZibJL\D_-L_Dd(K-T#gGqj(6w۬3Ҹ~DKL*^l^O3l(d$b?S?RiRp$+9uYel+׍&{}2.Ev%1wV͛&H?ge/1ǯ܌$,O%BL24f tդ̑:JxL')K@+XfO@(&!zXJBiJn12 }"SY5u[ɚX[8/0[c^8/OQEr40[yYy2s9^Cų)2R*m0RTPBPh?7 /&^(4P34f.%ڄVKLHUZts_/A-5Q"H;GK(X`JtINGaa{&_U!ԟ}jXSX9taJ$uqDyWjAQ)Ak;J/Cb){W2 qwؙ|l7GQ9U":H7("W9~M-O JJ-!F&hcb>Sj!_mP0hrkrK޶ͳc})KFeq!Ŋyz?:|0iXJzHF -0nɴ+7Һ@y ?;$ECEYB+5R$q16:+|Qe!0VIMף*ßс4Q$ "Aɑ"=Cp$2Ȣ HAÕ" Q8~Է.q?_4إDaM|X HuŚ C2/xS`am*f.1;.h-݇|y״WDd\2cXvE# ҭ #N@7XPUy1]$f 1aÐDf,ahxLob X`X<07ഏ!!<)i$x AhpZ,P88`a PP* 3'XF$QsK/(1-_+&#Xf`_ u!̒;y˴704<Q!T6J%-Jh0a1cIwT} d*;@+s8婡޲(BAeC ;[|$_ zI\V&J"یoUT,Y+u:-3s*pƒaތf4ᎊK83;q6%.l$uYV6fdD<љ0eoR!oE!jMEBy]5S'J$y\/zPdU Z_9ʰ\k#-n269bTbFnh$*l9CQ0Ij֚|# Ŋ a*S>D9MpaVPEu:3!<]LBT$**&lG!H;ţPx0*`hF JAl跊}ؚ 1pXa9e?O G:.ПaCIQf<_dŝ Vn(:i$-? ʗ; bl2gx!;ȧ4XYNd:MѢKżV$a-J{eiA&TTI-&+JH%hoTHIU{(m\ tn粴3FՍr1 "Ep#)‚\P{H"U vS𓛍QD"EuLu31\.Őh]U% ʍmMPKEi=*;`xCwU$T &ˮX pd"/4`/!Ф 41'I!GȠ8(1td޶40yg r ,(ãp<,$̃Xx¯ HS>NX0d(ja(s9ÉLW! jBYf洶DK^qLN7˖k e.!+xYjh҅;|ЯRSasyFʆ1$2:m2B +եjQ"HWگ42 dLb~{QIڭ!cJ#_b͙^*tKա-8lqdj֝͐p-"QE|*h$t֯ee,fR628"q7I]v{J,ZAşnVW٥IK귮[ O-C 6_?tH&O&0,@IiYN歾qȱ'p>tmjI8-XDd[DD'#>w|\`;!o8qD F4&$(Pqy_ٯ %'apLea\Q[6|vgD<w[ +J˅ 2I|8>xT(]x4M^du5|:=eҏ", qkWwFbV ,'O 8蕞ydz%oMh}2dB[hUukszF  ?Rυ ⹓>lMG+%E/N8еE Aj@zǪaȔznШKE`AvvH@հZqA!4у * *V^V7DAG$wLN#јfMΈ-Vq%$teuHtS2Ku=v)*JQ$ooTmwH{vʤ9DXԥexpӳ3ӂ$H_ N,uG MC7 8Sl%;F 6l.`- K;mgxˮv*zT1uU =3L4ukW@G$tY2 7qJY\*Rm'7P _^M2,*\TW2$ Y&ΏU߽_*hδ&J*3fM8]L?znllVN, >ˠ,rI>&Đf$&z;S+5/Adyv.2쁅)MJIܖ:%bm*I'XM#A:he$zu^ iZ0Vc3sK :-,atq,!*4]g0O*M.RL^z';_s9}j9\(c.:yXpL5٭=i)G5V3Hu󫪆HofwyIq UÌ ! rAoa/bl="f69t1#M==t]`~qI?!^&2E>HO2/ 9ѕ"bٮ͚(ltPpizAH( !mVW:R@"Ȏ8-^;s-P2RiKKф721[*H3u QvBfQ g !FHZ("ka3(I`qetj~}5dg+ä41u&!"B- YuiP&(`HbllDkuRuJVg׹46+|LJqȾT6FBm[P[MMctJ+*%u3^c,ed:xJwC/ 5禙S)Q(^0MY:jVQ"U:b F} ۤZWs/TP0(a$KD8 $O[O & C,*RI"oh -v(-%JzK@[ Uh4Ƅ  `8Ũ ( iZ`fd4- hjEm*T"kҼ3q@c 3B&Vmu %I >LHHjKW̩ҵXd\=ȒޢJ[ox,M/5*˿9{oU''UgSu*V\|ZL6rCdhxiʖUiTe†mFvD@ä/NH2y[t &))BHijSxBhQSjʚ E  Q:. U6F;|p6LNhERu 8U6et8p.u޵̙((#@PHZ)l6T2KI.H4pVSo tJL mTV=wS6(*bBw*KODeLݹVͫKcmȯG FGɈƳjF)G'&-$y =,]ʷoF"G&8-K fs@oe*f뛏 tIbOgScW-:a)Ej 0for0-M[G"ަTUl,Oط#zA= uըfcei"Wn.4xn&+k-b)i".;Z/:D*ۏVK`ϟ)Qj?h%5C"L#RSuW+ 6 Pl䡚"o]p5.6s`zRW_@MI,NL^raj'_if}Ќc{RuznPCwL?@E z$vn-t.Wm)S̒kY $tm)Uw/'5a*V濔4 % i2[ukzADf%&Q5׾&OĖԼ\QՇYIqbc.t]jm+RU&Iw]K`^,i NݓR|VPWfbȔ`z+6F|m51rU)4 oc&l!C5giL*L /i+LU.̿VWz"-SSO2_knk …SZ=Ea#wpƮD Ix_MJ&e0 ]MVD7ED_b#f␳XD߰J* EEc8z `lwA,ّsEqďj{s=e9]5PȂ:˶n?ґE|\G+ֆF~c.ы>MxnA d]E1xFD0~L7կl!dRQk,4 Iwv:yv*˥II,ʹ2M]}f] X:e:ٴW$T{J=8dr[p2T(\}n\e <460Gs !X\E JXZ(&K8HeVfڭI?ryah^OCo曙^[ѐ)7ĐEG*T>n(*n:XE6 صrj7S*Zo=%Vp|!QOP bfvtlQwT5 s** Av ; Ǥ"<4 T6d nKL֦bugLRIuʗEIPn+k+5z{44VDM:HWMKKGm! \=lww"4A*2#O;T_m#Ȓ*U/E;`1#/JݫI$7rHseVbmWF97: M7`sN1QMZ1(V ?u(K(<FK k>.fRTZ3 *) l5f$<ĝFN"P0N;YIZ}. CrqA'/qLQH'#.d U I:6%/VI9oU*v &Og] }0qwBV$Łׂ}' wRgxA(zJ;}mE(M#j,䪶ژET/~E* Nʅ3jJƆ@ a!|Kw gGD%KZ} r`o(xMDG^X]TSLƥѨ!N<,u'\QNϲ6fOX,RrHՐB7+SMAl۞&18*BPB HLM}Ʌ7kEC:vtw&s (r2 9=X%! ?fuu'/m0 g'_"V)Hhr6mڑo;(O&f`uIƼ!(V4۩%"l&z {_5!L:N%>-< J\3x>ȟ,^QC|3.H#!0OG$B\hIhSz@<(JqƳ>-c5('p6dL"I8 J;qrxw\ J֡Qy7he4"bX{#Ew n;d% `\/la:܂br*D7*0Ql,WifaS!Y;5K|; hT-_dh-79tҮe~0g~М45ͯ 5[#W5M#GnٔqљnRY)5ύ 9IarXWXEی0z{3b0 @l(VJ}C=[JpVc $+ӿDx*c<۵A֓gGnMq"<7Zjg1$8GWUdBlz`ng|qW҉HBQ7 ģ=E'.?9La u +IBlY ,%iPN-MG7YWe'-8JxG,ߚ$6F(+;TDJ$uV1lr,}. ֋*$]~*)fgj3CQp.n#JL.0[Jv7HM!lb 452E<*dQ)Hɓ)^$veU6dTNrD\0aQ5RoPu҂zn$֝@HܳqٖRBTm;*5דx+nE #2+n#xehBPB6֚[M7O qj۸fIO<;-zV0(ol U{&¥Kjv})ZI:&{}CŬ!?C^<3]Fn sܳ\dn;:NB) "唄\i>_#xOͶp4APU+gOk+2MJ+A+U<Ʉcdq.-5M_P5[dc2@Qg%vʴM-O~ݯRԚ'NHsFO>zB)LS%3co9=hJ mؘ+!wVU=^8|w'q/j{\kǪzD46>",V-X/KN"V#%{rZa0Q6IE$G [!QNIEQҷOy1^n8[ MeT{ j!Pv,Ns1!sܼzuX/T~"'"1Ыˠ)P)=vөN*隈-q•9Sp[6jB`)E_( ,D,H!3!5G11K +^ֽBIb71pcMmeH!i#fimNx갘=BL6N'҇8P7 >ȒP8b8qCԔ8N;i;*ɕ-~aI(0PhDBa0%[%3)y BxgU:."]){. -UxaP,&VTtQq@::AhdON)^n{U?PQ-Ä觚g"p#i0( „H>ˇ1P"{ ={z^35^v+Lq@$[z6|xF;hשU,Fґ?lE#xƞ-:ϿS.[&_vDNˡOdbqjĉb,NAB#d \.LE>eJYJDqFǶ:#*zVfl7`|fir"Q\򥋨l IZIPˊ-r* 0OeUV ^6_8pf+k(?44#NUVm]BOF{ߧ#UȏQksjnII`"&|cd+ ੼$G T8eJ;\V`E(ȌqMB]/doE QȰYuU#inU0$/:U\BF :OLL ISn HkH6NW47;vF>%NG֓b4=1b5׶&\If!PC!-`pJմDK-`VY9)9Mz>+!N>ljELصb7eC4II|!!nݦ3q SLFOZA5 8@{ 6xGĢťD/ 8Dxw@.zA$6zBSVJoš=P7.F=/ksD?qp6ۉ٧ԡENa)rQثD1!Kă:_eB:+|}$R51>r"A,\c1jߥg|Ix9 RCѦD{%JI?>X80O12&J P)J6n\l\ۜӦKC)'Ӽ/*$Z22zoG5J)~z!`V '2wg&q~ !D$Ϟ? &$'" ai,\MjxK3HÄ;vǙjFPFםQ7xS]!4ԗHG% B́$lb*UZU 5{"! !eP3ù?l-jĕo [!rebmwr .2`qjpXnjIai~ F޳n:ŖBl4Qw/?r-,7E@nC $%YA CōU>B 65i'Mgg"\GUg4Lyĵw zXl\54KvsȿljaXYO[7:) @BЌ\2谻"9;}2LU[, 4ԅ#$~6Zr>?u> ,ˆҘ`0"GɒWēe2g` }.)4%ݭ}4&#C-M-ɖ꛾lZ6iŔRQe;~9k}" YhC֍Xg@<5DW0(-<׋ԺZFr:y0G=16~-G9 zz3Lv- Q3r&P=e.*xAHiAg<Ѷ r5hK1 H{xń9.›yvu*ý_ԯLxh3^!2pD:%2 Zqh0#0|@ @5ɂ'ƭ6x3zZ+Z02Kɷ+D\֔u6Ao+K]B7?T! ̨-AA4, USu PH-#ض)kQ%(!f!YxA}$D$++(GjLBQrWY)BѢ3~e.ˤw>Fa SS||)VQcEA(þ2.yψ=*JM V;ɓR)zt uoO͐&79SvRSlIA|h#C YoeܺR!<$EXݼ6M +B&=LĖ,g!ykR dt, U2-?T'#RDsnGջihHmQRԩC%^" kD9xKiEu77\M-Z9:/x"mǒ5Em֗bh[!%3iO h~+t\ҫ]l {a8#Iiٗ!K?:ː),j^s*24O0 ȵO[`&㩁HIm` ǵ|J \QP|ܦ"DLEHjQ̈́c0&/J 4s1E7 N}@PHc8Xx3v%HX4d^WPr/cV- "49ڥNd2VфC+ B"DBwؖ/ dzy"Uv"n/?s+(ÖW]HմMn$2EDNJK4Ԃ@jؐPH5L8UTR NⲰ@ x^m5:BHu4Pn@. . aT#MĊ_,ee3!zFs8 9Sm"uiG 9NCNРbfL s |e'~B1qZE=$~4팝B9E%-8N, 9k%Vr- xٓ*K&~k? 6Ϙ~QWR2VgɤV"JTr6~Qc*+'[#0c /y KDdً]' yCE#}?r pPY-nX^dCjK}|'!U+DOý j,,vGHC 5S42?XWaS2Ȋ )A)G&ARIBVwhO@[P6fU㡄8kG ̟I蛸nAaQjU][⸡kR\AK-Ihb9芥a✆N5m)((AB!]p4ʕ2G&/d4UV S 6}xRlӱ+|ҧrT,BìbCJs#gdD&*IS+ZXdR oX s`I\UİF ,d1R뀠hGpО9˵ru'u xB&oG/2_Cx}uIpn eoϨt {ʎ$DNBaJJZ]v&NȬNe+2uIƸ4)"#,5R[(,(6*hfI`/E䛓 W\JRA =B6 uX3!q n#m@Ka*qEwNd#<D4%8#&cwQ$Gw껛N52T1(mL$t#,Eβ pBCbw,^;YI\`C%ZsffRLz;\]-2{F愿ڎ Sc6YɈƴHcޖ壡ȅβGj5(H+D7Es#(mTL*lԻ,Ts;n4 PJIhHҙ =%Q˜k IScxj95PPմ|j蠑J* dRRèIԬ{H9?%%p!$"P+C0- Fq$U:@oz}RL9Sm^|?")wbL|Mlsƽ8q8ؒg:9dڂ/l4:rKTΨ4vZ=~C )j$oa`<ɻ R9Mv%YF e棾^)cn뿳Oͪ:#r5@+a{4|.Xr5E>ID4;NW iY,*՞ gX16]' F BUFޢRk%vGR4M_Cs8쏎:i4mZHt`cZaH/Ybcjb!8l7!4X-DL!]E/Ǘǭ!S|fPxoh? {+b(0Y1^ߏ-)wǝF2$.{Ww85ǛHG%~R2DRP =Au 1%Qxa(EĢ RIU 8dԕ:dw 7J1 kWzo5j3NՂѴdxL̨PU @O3ug.;Gǀ8r@=ݦp j3ɢl0#MCG7-'!TBbEQ$UXߟ;vj#'V$'Eg5|{F1p|0 Z=1kJzQl탙/mQD);6@dT]9Yh@YR+#2E h @*uIqOj~7yI#!T_k wP/t F8XCv^$cI ~y bMWN({i#JJ@emMm&,gl8c_B 15"GPҶuw6Bm-%-9ض]EUqmxh1[?~BvZB2h|6F~?oiPbYeb^;[$Bp -wybGuWu摻7@\)i 3m eCYF0TI脄>JJ}PȠ/D\U d> 2`lPՖ+!ٿMق #[ݑkOulz60A$α|s[B2NN}H[f5Y@Pw P,%PP5cƴ?z W`G:F]خR>9(G-| 3\~0Ü-ӻ~XTnrS. J|D[,dnu;-S4Hұl$Je{W,1_EIhUs7S[I;H[ ^པ||(t;WuBmDŽ/dQ qx5+dqͭURؑuc)\‘7J*>6se߮tREi+-+c ׅ:vh|RX7 )QR%"Zx$AcGA ^]{9֛WBŻ>[2i1N:sS )"uS TգKDM1 <%3.c~A+!lGAA9(w# w\( D !4ɸ9؎ ;"(eK#2>2轛!""K&cb[+ayt!vBcg-.qЁT3̑a,(و]p,\`ZR"/Ȫd¾~?<${Hrae|T|QսX&k6^ Dq5 B-cm\'KV 4f kVZ/GPV7$27kK-W|ϪyXkJ&ݔפb_ؒFd7j/Y:,r6gACi~Do{"ŘK11yƦ[RY)&ij<^A^QFƋUޚ*'!PbҹI["V81|TTT9{8 mڬlO΁ 4A, v(gN0NL-!#)ݲ*9Sfjt 媅z2*5RAP&cWbЏ7&pp%Ñ #ߘ+ۧʞ`LYRt(g9'BcH4^;v;klqo#R=t%a^R͵S%PD!KrfLQ2*K_3b;e~58_?*Dd%@DFa,@S c1d: [J Ѿn " ؐ3 >c3 1RY~۟~EEmyWge^<?jN̞(>uq9ٮ[Jxkoߤ 6/[" ŷ֘!'w KAd|GH_X D!6v$ `|В0o&7DF #,ͶA8kZq%#T-EtLPM_VWj;y вj@a*R$& _^΂FB=Q̒~Z`10aMZwťdEXȋ J0Ŗ1> }t^՚w 荈B`xFkަ&6>TiQzl9B+^I%bA6>wa{kn=2ܝzRFnJg7NTyk1X7f19E W˴ Yr{JSEzB.ɓ c!,QF|a̫Vg]ĜE@k3`\*Y ]9/ 7`@$IC)h 9m׏ McV]Z}:Yl[ -bvl$naWr}ofZ7?f[+v~ʙi CO?}"Cۿ V^D.3ϔptt\3OPC!՜@Itw_<)`lE Ԯ|nnRq9آO,GzQ5X OV^qEHb1IRvWF "".3~x|͑3+*Mjq%Є(u=Vkjh!aTk XOn!t|mh{i:+* SA B9&8fjSxDmK~#sJRkE&PS JbaLAOUf)(?xߏ te쳬(mC?ݳ`ƟKuKɄ՝aa-X׀S}gP2ܽ})+Nn$b Q6+ԁ| 2Ίۺ399L&1+%S{wRZ(B-=/%[0EDx$,M' 2-N4k3/?/hU_VE&SBam}6yn 47yg wపLBQ}9[a(58p`"0֔3E=E颈\X }aDs2P' e9 k9O@kARKp$&ɰx_H 䒨P= H@C*IU%D]Z TK4XÄzƉ-TiqWRAPJ}HQA.榄ߗ|쒰u+jUo0)htdY4amǥߛ%#!3j*w 0V1BKk]8ѣڳKQFt 71KK0[+3iT,V&'*m%%VN<.fk01=Jqhִ3-tt?(hNC=b@|T(`:lzF/ }Xw#VxMcs/ ,`1*d` ( cv񓐔1~[(hc#b0D%2X ;1jXJJ4Lh03Om1bN;&EjqS>9 ̵"لCD)UZ̳*ؓ2 zIg\/QXM>잊eCOPR/dFnҨ{&GKD73GKC\c[+hN."-8S)&Os+f74>I,Myd+Lꞁ,"( #D+zh(5Q=(TCaٟ0ڥ*$KdʹI&"uW[AQ0 kjTI,ſm.ݙ*t)>HB]BaDH#k+]/ֿk}zLO0$OA7#v@o?1 hJjR"B1=eB$]^ "F \!"К!eqRBy*)6rOdyMY_RڥjnQ_59:qi.KCj ߡҶPE̯b$A/⬍*]ӁݙGF^d]9 A/*_ۚ&{;3.M/Z1]PTE]0tw4X$QAoN7 cBpY %aCX\u1Vk'0~̩#^>T Aw(S!@#5XW#[;ej^K <)'CZ &aS+*3G^?'J^ɹ咠!NȨ5L齢ft^m,7椾y6yg>zƚRt*oE.$<:P볩aDgL1izr=Q׫2)к!B_HY'gpyZd_v:r/m"„O3,VQWN݊4LSUW NKX} tMSrI]|nVC>ؼa[m lQmJ6~j@_=7Oiչs,P^QR3PNeDJdUbwꛜEĩHĮ!rJ-UX%X en]h"49\v1(59>D3?%}((y@R+_5mR@pb?AbxKǖ7fx.g tj0r܍mZ_fcM+eRrJ%< Q:S'4_ /0 n͵FF\}=c.Zp6Mڟ\bQJLdJGί3߾Cźj#9[@ h/=ɚI:6XQŇF+kӰ^D#?mlR*cv$tRVk*\ErԘ&AJGW e\ЁYY2|Li`[;ELXX*BZM r $z|Oɻפ]R֛ 8PYssݓkgADm"ŽRJ+IwDVGJ躸O.%d]6Ԍ^^ cxt_aRLE$>eOFԶ*;3ԾIVuŋ{_ Lm9K=`C(QJ0ҮؓG9jW+L#u*j⠍+"ՅŴI3ΠƤ tԎ&'ɖLZ FR},Ѿc BZ28N\,~o XN1I_4+E^ ̤[77vZFgj3ْ1w*:}x1X:uNt!nF2ѩYyL~b49,{12/4e_Ϯ^jLl139,RD%R5UF[mvIi mm蛅\;>ꮉOQ;tͭ-ɕ+ͺ w-P@)-Nz;sHz 2aL\윉Hgѣ LQ19˅?UGD"W{2߮jhQ.*HޔvuEWf[wO߿z ~8H =0ORxՎ$n(!F%Euʙe\B3B_kˆ %pxH!4/ mIW 4pع`4wz K=lt\x*lR2-yatµDVr-*!DGe ҴAZYTQ9|MMu3 *8dK^rY̿B(IM TeExѡ"hd[22M;/ʴ~54?9Ue?n&`6 :H h-+Dj % F[BbL} N*`z6QR93%7D[Q |B5&7,T} [$dHDriR1HLbF Izr DH "xb"ϥf-2d"E/h8tS4KD+GR /YtLdf1~3,3 :^VvP9L^_(Sr6Cʈ+a"ܝ v-R**Mwv"f "2ʸ < !$*LԢN,&_}Еb"RtHFQJP ͑Q`_23,ؽs2jPWd\Dt,TM m+[odCU21(ĸ:ұ .rG%T_ Y30]t[+ȳE i2EC$U,"U;S=(JDw5X}%:XcƵIIXD:<)PUgng.oB[zd1I`=s+WJ[YKPu0~ۉj tSAʂ:OVDE){"I Y|$XϕiSnh.K%PBdyJ2A*\ߓqWI!>#e2Z G&HuF쩍9$܏=*,r'Nԣ0Rjr9=m/ .aeE&Ur(DWe lX4o.6vZ`N^ Rtlcdӻ4r{h o_tAwz>'SޠJ ԇ:tf9;k;4㢓0@Hj)2@Un )3:#&$A 8lл|r#a 2,n^+e-~W ]Ȉk6_E,[]*KoHd8Mgj".å*ɒ4 [$?+dtTc HTf,߭vmV2c8!2kk(&{$GJѕpjA4LA |{*FaWD֯FY?^}."nQSgdAܓ6x؅Kbr2 8壶v 4̼r'VB=ITrݸK'Yq)ȉ-@$E*E\#(cT`u%(-Qr]LQyᩛDI9[.JfrbQa2"eV  EKJT"b̕ZE&!\,2LX0ҭ*A\O%'ģ2D {ҊQ=t=*0"i:Qwb_Z5Z1B*[OӊPkFr[@ԣ%&(fJT&>>1u$%}l #' Ir&!$!'9jP O"*cvBgZĐC2\ d DP =H8 Ľ\HjHL,1Z{Ͳ*OȔ`L M,E0 t`+ %j X1&C-"$2sGlr4? tj7ԟ)-@XCD0,+}ԀĺT(՝8JZ8ej7b~U "i[NXmy{AzTVi|E7Q3ڜssj0m]^*C-o"-0MhZy.mi_~ߕ+/H'YF듨-*r}nXBzVt$48,q.AcTbdC iL]P_ZsJ?-,z@`x=GWY3'چTXE$8%fй-Il|& ] *uƲ|-Ţ*Hg̼mD":QbpmԣDEmҖ'6j{yEHt[ I)2/gb ׊:i#ʙ7 I3GN;#]a:tRQzz@* ?oK[S-r8@xWWY9mMU ڇEPaIEܹY_Ui#ұ;ǁ x&USCF0"NME0 M!@L UHVslX.U]s8b#9|ڈ1+N{ 1չZP\iޤQ\<̦zv5:MTFCcbJ09'u'h  qϪ*㍇cB.E|?* |t+6Ȅ'l!)<̈́?Ժ8V33D$K@Ahϟ £!FCM+q UGqzFR$jzr{@0 )Z[L:Eff+eY<*46 'i9Չpe@mDs,EL~ffWhW3Ft)U2rpTw4Ū9b`'%IG+>ҖzXaWܗd|vܵY6J U3rd(7$6;qֈ>.y\̬m#|X?8̡3!6=,Yu ,!hr ,, ax<.0;cд f~ݨ IYQQ_'͘/ԮQ8D(~G\P yy9C 8Ymy6]$0Щ2'XmeMT~0TB2lӋL|a ٚDITK]m6h3} !cӮ}•}n'K*(yoM$,յKJT~ƽ4Ag0@Â&!Pj_I>\\$*i$b`޸wfGa[D2P4( ĬJa.H"D \}EAfo ωgX2} B&@ T-Lu"OkYZDpʉ VM JЈkt(d2I.U\Ba]'GubhPTo6|KHKNK.83N6FKu@D^:hH̢iYXL9ptpj8 h4Lևm M0߂@*/h@ <*ɔ/>/e"f5R=!;v%x$`Y(o5 v0ޘ*YRQt{6X$]d\%)1zaܐr,& $^|4*+3x/{VWgtU?v$ 5/vKp+5.EFemLhڨ mWV  QIJRx.3C\BS-LDEBƬ}DJ K"4o-"( .8L.\BhdWN:) H> Ci`[8g##*z;<_x Td\,J׉@Md'?#$Jb"*d] }zQEPuhy֭2BA2AaϵDy^g` {A%ؕSe bvJKMB}FBȰDf q|@V,E,3)\ j|Q,S֫^P({cӉqb1!EJQo,F@T ri0 xL]0Ȅ i2,]} )O(Du1|q*jEl(t,AE¿nJLwG$Nd@ĝ]ȳbe^J_76O8Uap։(y$$EA_1EEP6,ڳ + R҆Q4 Јx^RI\d\ch|+ s*h- R0*j n6qJuE!m yq]O3ia0\q VIbiC "a\745[##˚i*晭6@LH#`.{)&K*y|N$DNMWaBQi%ԃ<5ÇTEbETB8k>@)vpM/cGדQ=Y:&J Z'a)L& ѥǛ*^yu(t%b;%c"BpY%̧A>jIcbMd߭ЂoPt$|VvQ?lLEhD6ɒا{ͷK|a3#L- hO nB\q%zy ,Lb-^"ʦ*D\<)O |bH{eI?%"QAɨƶ2P2r")13 kkKY%g%6LxC@F*|M(0 1JCa*P@! >)5'Ů^y1ΘRXY%Xd[jKԭ8;#6DY"em,Yp`24D[V!P`+29Hg;MZUM\eZcalzhB9 &YmgUM:lRJl q,G*21r+ aF}VY%ZM%ki%v_JGƧ섰( e "V(p ) R 1Mbr.LcI"~ɮ'P18CyR/r>uZj2 Kӗ!3+* !u$(lZ{ajnG^%iת' yhagnJvWB8qQ `D_$fK%#@p(/"D k_jНF2A6 D9ߚ×08Rl%IY/h*bujv}i9R[WJ|l`C B;„bV[md<ŧ|m% 7<[K&JCODl-)CIC;HFbMdJݵXG/]DY}|Sj\qxׯ;S4)Q8Z\ 9]™ 5j}jKLInJr_)5;Йsʔ':H8e)9C֕)~vwueiՔRM$hͯ J qn`HqNYSE7|աԨ( _$j< a{a|}d#%~~٢8# (tI#qׅgqT7)LC0%Oƙ\FHFp@#I:]zLZ@*) ?\UQF+YHp&юTK([ @0BUNan NoTCռkzK 3O,W(@jR$-dZ垄o aJd1fRtZ_[/m8EKű"NBaJ) DgfO|vF0aԻJV8!N3RI _ߒ"i$dY(R%uŵ*\h{[L9T# &Y_p-5AB GJceVѢɖ2T-"AsC$37jTB)RRURan&|B%IrאG !mj`h̹b2`*"$+" "0tCAӕK@C-ND9x㞣>-i)4h"#p$}1 0z$ 98(~2hyW/oZRrjݗ矗T\`$*f65R5g$\HUX:NH/OLp&8RT~u.MJ敍1+) yVA$CLKV]~F;W8"ir Ӈ]B D]0O'6bk;͘EnԔ'â^q~!WقR3V,ѓˠ1 BaΖH$M!8+Ι)?߽5/ޚ29]|&A5+.7cҢm/&5FcM;h~Epga]kz|#cyrz,gEՑ)Bfp/$ Cy> B *@3:0 .:wHh1_ʼn "h{BR_g7,Q& =\10}=C.yYsRoD`H%<W!|Q0)"YrGtɷo?_*97Y ݔG!!!/_iJC >+Z뚐cxyҎ &gCn,@Dx!D77idJm4;D1(l.eZܷSFYrM)pĨ[SFrkr;E u>{W #Huu%Bw3\?u+Wtg6e¾8Vu}T]杻r6XKy;&u`{UmdQ-B  wry-Wb_E4 eE Nfh=B=G^C p{=vSU~ĸSӟXY%ndA.+ ! ZI+‘["IH9Qp>KN[QeEd_ƔV[&WNP{zRZؙII4Q]a_}INt 6 ^'I܋H[$9HZ)kAF_m(q, Mͣj-)HD|(Уpbh0u,\+(4րQ.qTKC'C$0n}[4|x+0v+[]>~hL%a&7W Pz,$!~`RAN >~_eLիHۑ1SqT{*uS@,4|fQM9"Rby(ЂZ_ոSޢS6%G|䈖*= Q5h>Ɠ(5=ISDnm;ۄO@*5٢#I+jz!bě-:6.n cETJq<8+.A$[ e'U|^LbÊ=cp=y?cesA|m0d Q"#(i{LaI"V[.PI{mU&_T1_s OZC/MOMDIZ_qH uLɧZ+=R`w"qW_zC-8m )_K]&ڳC%$TRQ(!'['7Qd?bY-I;tYo[Yj!N0enr'0+6mV.ƭ,!42H;1P$t+}"%sXr+OG 3UFmh$Pa¸P9X~V|)@P8(=_ՑF0 C>}:=se>_/#|}QX O-z[('M.SKS$t;;;+z=O]vq؛1\J (ǿJ  DZ1'%Sx %]If%/#|Ņ/aUBt$ַUBuw=7$Uxs#Ÿ!EEzjQzxazaUz]]N4^7sYYlj ~VF vԽP@U&)BtV.Y?3T8yN&堁rF<¯kX.{&ceT8!GfUñjipICd:[$V,rjpȾ BA*CX(k  X%!i1 a^A7[DU$xi *hJcƄ3-(?]g K $m1K|M$d2!ZGVxx,wA\CYiw#!(MWLuj QCGȑi.@b,.vA?& UV^gF\:3'x"x1ܩ 㦊qic NZIe}=Tӹ"(,, Ĕq5I4q!+^87%SԵXy'_+ڒ2KB" Qܒ$g' lB3&OzYV/].hKn #E2~0[k{ItxՆrN92b1\+A *QV^#XW*"!J29!\:c-\gm4S7G8-G"ѵWѤ-uhNE^^=d o2%LP.CxuԎY|V\`G֜#xɆͷ 77aL$܅D4H溢_L3wThBR?͐G鴒%K (Ԋ d `Q~b_RZk/\"A5Zf {=!zH Y[$h^;Ъ{a]!y$L^ԔecU803ϬJ/.^fR8rBlB :J E Fe!vDkFZRQ;U*] 79F zݿgK?#*ii% ~G+b]&J{̺$;K4nOO ~V HAxY88{ IKLyf1Kydn E@N5a'%f+&ڞMA̺@ĒFJseWly(@I)2RSXb.!fLII1*y1mIğ%BNWDhO[,YQ1HЎRSm85`,@gDZWL[68Bp "~)紭UgF#>!ȟ-}$3}%)٠ڑ]7r_V~b72 eȀʓTw~6f;IxVw[+B&4f:Tpu*B{s6$~=-&Zvq ]xƴQ^;AW}+Hǭ1+);8}"M[꒵iDښlY}ԴjQ'J3,k,DѶ"dE0^djJr QY~7yB?}7D(vov-3/ʤ 8y(jx#nTY/}ZKj:MZ+}Le?#W" 0GfC `v3Hybj@al  M;U]*" h/]^x|u"+8A2ԧBpb<|i5 :}ZI G>%ĢwӡH L:" ,  KN ևv\vON2 W/G dXkuwHC8)1hċyP)N?S:F0 |"" QqN \ذ({C`f25P1ʄhձ}F.LmVyE:>KK嗒oWE&W[QiPV%{ȑzo˒}!v3묮TLQm]P;}2!"i5T`kf9.^ݫiSfAc<:]}dAPYt}^8XaUdlQtg6 ,Rl$!fWXu:2&,y\c U@.58¯*o~9*\Ygg{gRfɉ"PO5ͦX.4C);_kz޼!L CDP9AbVĴXr6-e9[H`BJL?ahŦ/6D'b(&SkB2*?[a>!6~ӽ՟N.,+CwE`9@9O[ 1^b%FJ% ""u_gD]TӚ!+aj -bdВ`!8PMo b߄eRrH\ /3DZI F>X/=F7cv(,ҟxNmVdoRPp"uqMHd':xS/_E Ph,^pK+װ#=J$;ㅨ6PخGs\58r TzI/Ik@+WU2UTϖq5g Ku i*lDfSE7dAjYOMzVaJȁ&e}p'?57c)u?2RIGz/2Yt#QɥUZhyRX~ە"W$peԎyWX^͙iLftv0`}ёBmTDxh#aL-fR5#LOMO}jip'Uf+m|շ%e5xyz k)PG.h1 R4-3)+2KL`j$2\/-!i)QTh Б@Ggr'@Ww:+ M +[]/T"bzA8Ҵ'Ĝ1^eXX6#³ŶB$#O3o4)6  ^&H=[$&B]jQG6w=n֟jNaaVW."{*޲)Ɵep;vtBxP{'(CPD4 $SmX#݉#l+Oh͎̝I(-VfOԲEaG4|r2(R_IM+ֵ2C͒ 1ZMAX5 /"ZBR^IIQh34!UUd`uz  0M3v 'E ~ KJs4n^@L 5G1eayxS* Cb1KN!$J&) ֎sHD>i=' =W,=']6DM]$lwo>j2I"' 4ϟ4RQFD\F~%GkmfW47h8 1(f_ĕ'^E@^fr0 Ql <( CT+ZfkeuSɾ*b K?"S.CoYvZ"d pU{B:r3i4g%(/Zl62.A>@y!4It K>i,GO\j$7dO4D͍D@xjd}AtN7͋ofm4ܮ.#a%,numZiktyY~R"H$S>"34kIȀw]Ht|mZe>ULi4>tEVc4~CX ^"2w;K߅ 6gϷX@`|+P<̈́2Tw7# -mkNW/rכ2)&9feXc}P9? @KqO `%pZVS,.w1꽡}uaKLU@ @3(OQ{\i-T 7֓C ٰ[iVFN9tuQ`l&25,Ii"{r+(3m#lyrh$8  8VG}1)`JPAq#xْnJ|,OŷE cDZACA1x;H9h94n J~-!?MK"w 9yQ 8S 5;YcOGTך Ha*7ϝ:}Ay^X&AlU1[HTIG?,Eg?֭LgC*3m"(95B]-5( C H.t4iz![-%< [PHcnz%QS!! ԂY p1i%d6j58R1X.ybB:Qښ9=+)i4g>]| QvO,C^ PkjJ̔/ж2ė7TGļ 9TpyG9ZZraSyǻ#J/JT3^U#ƙ-mԻ^Z͹,[]a|zo(80 .,.IC iפ’4z Qy^V)G?\$ X*Җ|$@5.YRXRCKK%Hȼ@@Xڌ%=#z9$$&Q?T kro-B҉BXq-@/_3 'e5>N$,IIzV 2_LӏY&(K DV %,'-1FN4bih>(5L'AG4P([Չ|6Qkf)0?LV/MknGz*ڍxˋ4ER<٫:A){b׌y{QA1Gyɋ?ܙ,!rӞLyT^ m}WA,W8J0iRnJ HS;'IoJ|[ 0oylT+?]F8% WUT\5T%HF/|10,~m W{7 ܵ1"L*V'ߨ5H^64zQ,\1 $PB~&Pbisny&)sҫOAuřDCmHk >\]+χԕ,ƳqGQO<17nkLX}*_[PSM"M EY eT61k!Ha|cLaaEnjL{M2*6YG]{IYMT$[ҍǩL4{UQNxVsЅFpŔ]dKF.#>d=ʭIEB7L"==5-K,&В #Kf$mz*eE;TH BȒ (K-nN%(Ïӆ~CF4KG4LִPk_W˓ÄYʜՌ|~X RRi! 2¼9甍ġGuTڒՐȋtJXkD˞~!8%=_-4K)BhƜM  rtRm>A.Nr$~lVDªŘ*V뽅*&Q)2,)f.Ź .q3^aIЄhaj*,*mj$`X,$PRQlٳ>8/aLy2Tf|QM4d'rr5a̒w9&}3UZ'+/j?۟p ;"( j Լԣ:=YRv56(kGDŽH5njEh;ymqk.0#枝m؅.Ӄ떚"3"D[֑ۖ7vF&BR:))9`:QT'W|EeDZ5egO%O-TMf943`Te< Z-'nbf;#k^<&K dczrddi&Y[T{Vs"էV(2@0Xlf3**Eu2h`l 5%rYk߮]!(V߻s!VJjB[9fKW$rY]hljIƛFVSqțj F\I˘:IP~q,ʈfU$i?ݮ㛫:;fNN;kÂn^LKYy\M Ֆ:a&QuɽUuY7WiP %q.aVnyNeCbް{:n@6جܶA 0$NT,Yaj. Dz~teنV(CI~"$`Eٴv&V 2sLA=xLD=F T,(0qWE- p->WcQ!C=с#/e|D[eE_*Jkޥ:c][ u_,1+4R 񬻕$7nH Rgi- ^&,L; eX̳N[YNig@N *L-He$7-%F8# t1b: 7X2듟 iS,|JyDD獤p&rXKh7}Ukq} oX"zBW\&āC+)m#n,}',UD jyDNvvK+ #UIOژ>(R䉤h$H>ءQd{s.)'.Z)Ũ,FpZl4@(?-zXz*A$/R Keayʘ^v"!.=كc:*S[K[o;zG/IhzF ,A l\ȭTyڻ4-!GHrVsfd "[BKūyX5Ԥn,N;DX, %Zoq5biMApV%.^*BZQRVlY?|rD`Q46jJ3uL qС5!zT>)Z\Tb,e i>-䉦$F)5{;xĤ xL:,}|(&-j?ʹ"Y?bpHq$rJna]GA"q 8oF[U͘Vh?*cce\bI8V$͡|L Lu.Z,4h|-*P&Efux(<{BePJ.?[JW*)5B8w$DU?.gyY&ZP)\p|K,BG 0^[Y/r\V vz3od TAznݯ (X*efp&HWKHP"Q#B불y*8h1?q(D!,ߟ+ L'~8 nA?nuQJLVyXD復6B]i1~DCmQHT quYMa5TH̥sTQ n LƭG !uxlfKj-b(eUiȵJ&@_QU:r{)1j淞PܸJZIm1B%|-Dʓ}E-GŮ=R =*.e HʱIam`*Eq_]j|U..HTXWI~1dē^ݬ q,]ZXe,I<%{0|bjI 9e0'a2rn7F0]1B" L VMR݋l NDɅaEE^^\PKiʆ ȄJx^aԣz{DtirFCX;sߦWΛsޫmoS^L+>:/ݪhWg6RDh'Mj*)Vi,&[Q)N6!EB FESJF}ȁ6ijS*ct$ q%QiKg:"H2MNgd3fcjDPmH'&0_㈙c{Z}[] JdmS(_*ba3fCf2qB,|~Z++Qlvg.kQV:%!g!TccX*i]ğ˛RCUeU5tH:1Պ^!sBwN݄{&<'- ى3HHx\ɈƸ[L>a%0& Pe,Rf.FZNN3lբn&Q[22wn]W&!a_Ei5se e/%BHIBb}Xe0T[$};EuVE(lsLj\d V qC d9.ߥn6˼TpH2$͘"q {&$l1IE:Ҫ 1ްnZ14Qe}FS)GM24" :ry;ExK~| ̖&8LCGQ$6b\^ BqI(e  XjGrAaZnar2% ck@nOulg}UgXlceLgDguvΰD.3Y]QQvi0`̳M1.J[=3 #2ӝ^Ǘ64FXfN8~!BGd<IaVx:hRQcƎ`;MNNNqcođԫ̦o:b/TiB%^ 9W[Zf! !LZ->_[ |!:0aiGSqVN,ٺr[%‚ uiW)ʲ"DR#C{@zߖVBl,`K-m\֬9CCHEl([eĴ/V/'AqS`v0}]?rR:Dk|ixuv3u.1_ 2XBN4ľ-d'CKۘBxD 81poJ("MU'fMmRs;DQɖUE ȋUJ*LSq@4VeJ` P"lV\Xb~tr5;t3K4 >9,8r!5L*p,ݱ#!$X6؎fD<UOh&̍rNO2ˬOá&h;>a'%] F}!)-ab97-UD)Vք`S\1kz_1&n quRnI;R6˻\[$DB5i5d^_̉RCl$hxSL۩/$8yB$~#bAe3MAU S %Ӷ#᫅i04?3pt뇔rJ<{3AHE}ШʢtccnA,d$YC*Q7/&R6} t<}KiBJBTؼj!u%vw/6=5"`dd -İdH_pi[!}qyuN@*7Hfb>#_+OO)& JZp!}mZ5R-b{H V7+bU30}>IL>Uent-{[kz`q¼DinDyFtR![<#:4+%T[ȋJiGNʲ\8VT2HZ̍);]pQ~->j b`l8#``*Ȅ-Hg(1E\OdU<"UcDUqךZP$@杖YY&N%9J+s.*D-ّ6Mdz#cыWci%^R-?Q$NV%+KbՆѶtF#R_e1A3hNCx-vjIÑX^ e}7U!^i (JAEKAZ8LQ̤xc-[di\%) |zS/:zC D=0NrvhFV\/K+*q U}= q6|~W].Qik$GH 7q !I" $%?[?[7"%#pi(efq/5ي׈C23ꜢOB&[M$Dl3L}DОJkm,򣣽>bT r6R GSx8cGCBn !ʓ aqPXWJL'Юvl;Q+O-Jn`erq'v1;kY=BFgZ/yIwIn% ޹)R4kS٘D~:)af5*d/Ny;s2kauIz5jMU8)Pa0rE,kW׏;KUpK3Xth5WI1vI$5 eE%Jk⑷Y@[Rԋ|wR^cƴN+&IiSc&qTVվ"1{7ȃVC/"*HJ3)onyu%xШ 㘀تėpd9+Mo`gSPCq #M4wop+4Q"*CОuzJ pH}YHiX{ܳw zNj(ECLZ\(!'?Q씳EPiYB3SК`G%& "חd+al/'۹ J'pVP 1BL~^8UGE<0utl J<䂈]_թA^!pw=} \ZzTT60j&REJn ˊU}⬥|q zg`"A1 L2 a渻Wm|>5gYYlEfYz6)jkKy?&Nυ#s94iLvgEݪGk ShhLgչ-/^떙a.K(h3+}1W/>tH84\ *:P(>Y5wV+ 1\qSvF~Pʑk^P(BgGSSiɩa`[t{!Ea¬O+}p!D :"( 0iPO1^=yHaD 8Al%i g1PնDKv'($*c[ v՛Aj. #V:y2I? CD2  41uoZHiϟ3c$BQuytg*bxw'Q el.0"bU2e, 3^RRXe)4bM*j5&,#UsN1&ğ#Qk-4%@ *) ROI%!{"P@B78qbB5lE2.}".鎧J e29e ie1bz5#:bpg~KfTQ<ΈVi8kZD*J'[G%sZnf6^ (2g"JPw* 0ETX}<Mt~M+S=o5RLq;_wR *p¡w%L|6{Jܪ^CK)uMUoEls؁˂SU㦨fTI ncq9&c5 *7yNj5RbWY+ )Lt׏t,Z\% P~2k43Ԩjnm_.FqG0I5L3lJ' WK<_Vi+'"Tl K:S Ҹ!0n, T$:s&ݓ_ NŚ(`szZʪvKy顙&:t͑Ki9BD 'dߩޫR1p(/Y>U4,mr[nF$c۬ mެE]HJ߄^^iw P3"Bh!CYzw#ُ!L0@oCxgҠ2yN^?G |)7($?IȂ1ǓՇa7*bAG TVV |@0֥^~:ŰQ.rYn|KO) wmD8١ T\hUx du&* O!Z Fe(4$U af%!qXfWFFt7e$8$iE21&O|+& eYeW$at s-!H~TD85a Ǚ<)MFYF#T|L -Ł)\i`rސqGзET)c"įY 7ȸ,cFp^fgt]On j"OaINt?kʉR.ZNzmGh@^]]hxoW(g#amᶖYO_2 GrtĊZګW7Db:+:I ƙUPF(ykUl{K]#y{$ X`VN*w *R*mKPGWjd i:B+RT @ |E!g)R_ -vK RE6fBhm)~=ʟ:a܀^X20#ZXi+)șxյ8mr MK=Xw . ^*2-B^ M"-=sR/rlo,$ ;~]oOY©Iѧ,JJ)]DI,^$+udfS^x Rن".߁QsfZR!˺GC'.gR0\|iJ.Xr= Bmv&+Od Ae0u٬~DkEĜmzi^Ju,Y确 6^6vftأ]ۦ߻~:E){$+/JqEb_mM~N%9-R`@qysL1AҊ.h^Ъ"fT*JaC.22;p]ZLu#BPLnH^JR ZA܆Eic$ZgvufgF$|b)  JPI `RR7 uX1=~(&: Tp;zbʶ}Vln$ Eħ~#%.LL@*BڽX|rRr >j?@Csk/pٗ ފUʖe#m_zTI uʨ# '~Ԕw><]#]sw9Dg) ̧COT/'KjW/YujZ1HҝkI #C?(Pgב }2"'־7 ?}uK)r:T6bB,hQ\?=R :zIQ]iQB_hW,Y D2)eAjP'>IFYHt%+LQT=gwbBI FTIEU mpW QM fҏVPWQJԛ%AU,RqTA:ijt@b]~s6 /P}7"#|* |$ siٞ?42"i:LYP"IWz_nSnGks ]= LL$Hx$@pHv~f#e;!"dРlق?@TEqK`Ztl2yUr҂>,UHAzmv,f6X8#*Dv&1*fDl|85Hv'c[Fbf!r=,[q3wcq=FD{~EGǣ$kG虉ՋSԪnfRd2cd1C eX"S|z^OirpMr^wfPkH ]k&Ae72G<)}#-|f QVW,Nwb"SM n$j lФs%,Vjq:H4Uݍ$jfI.?I$Dï\[~ȢU=i_ ',AJjD_2Jl:xxR-Z†ua ~%RlYƤj:}jd$rfƄ^`#I QGpV! )e*lA.(U!&Y(|Jx ֥QCC^Ɠf+yN?|[(P##)ex̘@lv2XϙxtjݠPN`sBƬ{SXS[:RvNu 1"n c֞O'c?Zڡz濥O)k|1,Zd*˙H/ f)'nX+b-[YZ=Us&rx_ r([ư. i"G2̉.nr-MrxhqDZ%dReN UbI$$r"Udx16W/I;B}m[QÏ4xI:%k y +lFBꟛ1`:a gaDai B! UuzXV#c챘_hEwЇe_\.N# ӱ.,keH/!˟BI wcgٺNt|eۃBmO0~)W]N) V&Y I$>4iiXSu:Q 8CFF7iJu[ƪ? VWTRf&H)󅠘:":.@oU금~r [W@7>5amkOsaeDu]0DyE\$_aW*⹰4n5$+9k89av~"RYإJ%W E Tjw;6X7 y*i[Z/G:P._) u.f ͬUeZ}yrծzxuBa ^&tq Qr"b]< T\1F!#\j~G@o9N_HLo&-z"dm1;WɈGB61\X$Ѡdpꮟ }D2Uڨ鵻m4#mpoU#KΕ5yNN쓏J()s|;lԯ(^WR5j1j%yVHuH5GNK*F aŬ: ѮL7) GNd03dvm,Y LfT$~j>赚rVZ5ј2ߓ9C AMAHB2[N)^Kـ22|޴9Kt[zrڍ|QF16tdPCB\?Hq!z)}B..ɹEMo?jLc:[PNi)Ws@"sI7 W/Uz؞&B) 8cğMV &>S dRB_̑0!5jYH_$)ŏ/,pr(7$DU't٬Zw%YV,ѭe%h  &\wCsh\Z #7@zdَܷR21!Zv IPEJwfIh!x%I*#$@LoDϫb=.ǃe%g`zI I :m4xF^r~,`\V5k T{@!1' 654miju?Q] {f5>@$]t ʆ9XG>ǒ*N:d?-UaZ#2gq)i{3ZT'>yE%N՝QrJIS:N쇥Qጇ3Mogs &>^:@r}I8 )hxL{!*Tͺ͆WLF6 $A>L5~c,T[ɍuuB3{| QOMs_h8O—\X@5)iRkCr:6E.?MKYsTbXE$''*f*P!uBNRiBr\N8lRUO%F8+-: ,MUH2-/`~"6P럱G- ՀDv0njn JnWY HCHu%ssŻTl@qu# RZnsRd`; kSԡ2Qē LN1РTEcș?u) &F}AP7x?Ap$b^s' Ӗ>3:v%Me+Fv2]yyLdm_ ~)J3AE:PB gMMVV+A/oU8wk7&thQO7lEgk cu&g\i5Q3wz`ͷP%rnҒ_4fɁItR+Z 65.S:X>Zo^ºHNbȵ{#TYWsVں['sXAM p]4=2V(%}I1+`)2q L &,s]fTԺBxA;ɖYx4Dc`zIb9!5dM߅2DL,]+Ժ4h؆)J$ŦylRR? H刳aGtNi|XQ /}J6ߙ4]}opZrĭC.T1m36E]BL #Ţ+))⪍' 01i8=e^u2q8{5H+ JVܞXEcAb,꛸Bj-Rde46?1fӏZ7hּ~}9i\Jg-톻&@4Ĵn9m$XSD`}b[2̉M& BU)r7I`<@t ih)T"R,\1(™g) l5v|]s9\F\%Y fL#`_BޜDR1Q9ꔨXzT? `TXDŽ+~ZJk'H ~4I@άEpV P>t@ Z-kKzb3zc\[dǐVh44YZK:([w\^B $!{#/#W jH:?h~N;trgѶE+DRb!KpD=HBW[hW{jr e1JEY=v'@`㔝\L.'kt>/l;]Ѭ^=Q<1G(cRIaLF!n d8`'\*;K ̒\pDH=zJF3@8wit`+ 2t>47.;$l/gySd´#lV"](sU[5B**Sbgj[9nakR D1amS*"ILV=!xD=TWhrG':Pٵ&yM !):0ߵƢMB9Phb$<v]~jVD"'#R,&9x|LEj9$`a 1ئa8_x խ\.&ʆsćB5,o4hӒ92Fl !""J"$=;;)2xHH`S W@h h8DςkH8 /BBT-by x2'$!=NזEW!'5Z!aؔ*$SP+$ x]甫RzVk>}jV6r5կ ϸ 9kKY$w;j}-q'leCd QAI= S*6G0t%aRJoB £:ZTDPC@m$+ӿ"m<%0 8&QGyt ~>3v!8d1~Jr_[JG<7J@k';J5f&.x^.Ou4{_e$ͪ-s dh[TS {{?b,8Eּ ?n䬬¶`EafHP)E[PobYc4LDWSX5Õb *QNf"k+:{liHei4/l30bL)Bhfݎ;D00FHs /hdupDPF7$2WMP?66l^#A*e7ӬB,+uzc]rφ<܇V ;Purf?Ժ曭 m;( ȞOq )k3Zb;wBqn_+cnm,Y!|&y{J.^*_xŒ:v-gfOVn$VS!jX[hLN+>P^I?B N`Giwq'9Lt!w{$ g]w43<0+anJٺJwbXzn}<52HM\ce4\>BPXe>7.f8Re$N,RpP}uVei6k8&yk=V%]B}saA̓o/ Ȏb}Z--bEe]< 9sYZaSMddXe]43%phsc$~xf^ɓ mت]>O航|`DV/td] /Jrx: *tC=Y#]4D0PJd " -q1Ǻz``AKDZ/JG(it8E!^SCbSk^II,A=G$c~jS%,ȴ jaRͬυQh:4ERi"H=ZU$nX(*8d#B;UD`dXr+"W1^)Tք/@FT( WQyŽJd}b$4.ڶVkaR"$6qMQM8Nho\|L%D+k`vt-,J 5B-WM1 [i&$E7.4+\$jhgFayGF&.yb:#bY#J5<9r.X𦉌]1g XB0|Że*ѽjh@2(oΗbmo7r } iGMܦ>;/.Dꑶm%zLwQa_6 8w]6E$3(eNݙ2&$&h:EMPL" 8nNJt鱝bWkahl&Uƛ @`i.մDM$^]qJ=>j/6/.E-E` c[ᄲm, `[F s#GC~A#E.Hȅv IPVܹ;d,&AMũ- Vf:51dŴpD&C }_VSp4O#ȱ<|FQ*aSX:c"ns&P_d0pX30BuBR'eM.@Ta=,&QEk &.JI#?Zi+ߛUiqVL|~FQ0:ЌbFGP F&tp_@ߦ0nvnZ̭˸땡D)Ӗp8> # P]Db00\Cb.<JkAŠ00hR `b( ")b̽[sSZK.Qp}8$ŋhLԻX :ib (QTh)Kap ZI`,TZQEр8A EQIi1o|uh$;PȢ). @8NEӄ .h0B}]\@3f.@C[5H[ bTիW&IBf⽻s$'juzRv{ /T*4#_J+{GccVbO"b[19YB=q++AӤ9I͜=K@AHM\83N#<0J Nݤ !( X5W==GR6?Xj8ypN'9ܶ08(Bau"FE"%Yy{3 ]<%抧o-NyC.*@FX? ^S82vlϖ3G'/UPxkOBr'&T׊wzNnuhN%:jYl󠎤w y#}6%f~+3U@Gb&W w0jqaj^|3u7(C2xWN4^^Âש=P@UV-\)4h4k>50c$P֖) 2;^Yl]KҹԾi pBTi ~fkG]0),SRED(6#X?>k>O/%& ҫ. I?NϿ5~UtHL wFk5G|x.:HEo;Ң? 7]umNj?yvK M l@O*%&R׌TyպdKVl~#?,/$\8BBZR0]شI݈_ .]_"o$8#0Yc:A.pbשּLρ&i3"5[:Ҋ[nn43Q T8K@zEF,ENk5vo DĐ;ɥfrcSr%$~,iU[ub~CRr{>piH/x\껸Qv|!?g;v jbjiY-WHJL1K 2ć~z7&)/_ x* HK)9AvLN0¿ԊHN 하/%:EA!CÁDikD6+衁+o,WKC澽$yo XG 1JQ3?R+ h%RBZ˲θcQ:c\Ig^A$ +jp&v!j.΋W8 | dɏ>#DfZ9J  5EN/eX=J)3D%&&Z&BAͭbeb OQzJupBrk_WI.|4Ԅ#T%4j+aYm=1cLReHłtwB<?Iثwfj@N,7{-@wYiſ4-&cߏNM4gtvsB3On(N1{U:Fk@*-.EsjT- I\ \oIϛ 1MHN8#,ҴW蕔W/8HGܪ]] H&JJUc$urBˆL|NT؍_D},z4Gj!K*BQTIygʱܕm~bBt׵ՕzfR 625`)8䨆j[hv*Juqzw^봲EO4cv>z@*|Sg(8ˌXǯ[ƃ6#aDD8eG jjcbDo&GFi~ZձԀ4gm(ZG'%\Hw7GFb E<Gb[UCMC{{ "֖7&vlMk0.p"NY p35_ Ӣ_xRi*4mRX_J7E2Td-MJԱ~Lb&'4K$=ԭClrEI{nc`"+{nsdQ%4'/spnRo.:/No&3qT v^44F f)($>!"_W1yj~) t?A42sKn$oB3Z WQ JM֌g/˔S߲M H،/lv|D0Mlv ^`r4,Jr^7W*xM[a+dMl–>k4vE qPFn D`NEB_+r2na  AJHOUNe,SőNXJIMҔ`lbM '[\C5=\L4{_$ʜVDTʨ&PusgIǪoK4-P\eGWAHS ΛhExdx6 J-:&r(Z(;GlO~@.h",6aPN#EK;QsZn~.HH @7aB Ԕ)H*!$TI]f^+؂%@&,G! $Eai\l5&@Nw铖%I[_5ϱ1,Dca ʄį}%Q5'W)vtEoOY3(zEu ˗TUuiBA0@tRZN,ӧs0̲48$YA iJU1Vmr&4,.V,fUn,D.G acá!'O`Ų$H=630 TRgWpk8t` ÏavSD돭,¨gkMEo"{p\raW555ӣC*5-1XZ`c \Q(S zjF\'0yUC "sgx.d"Gq5P$_WqhGbvB0T@ċJ4]yd+FWukm'Éͥץ舖FOY'kq0Qiۚm@, gm*` `jI60X)d; `Q ˊWぁqg̷G6' ͔C vmW{#%q+4]26[K%JrM_)̂ddȹ-\pk֎̴BcqL60=T^tvJrx&b5B2nxA[a{ƿm;֠)v&tYR uOCO".//x,ln}Ɂ%2ҧ~W$EiɞX%4Y҄O^=jqtF^\hevb(,>|YuS<-ljc27b"ɛ_ŊQ938 ($"?n#Rwde_cmdv>/Q"VZōVn ]Kzl<2~**g{QTJ": %pIo鴻2 ~X%2W9jJԌd@!VDHlbVF@LMw1qԯ0HC4./V%Ll'AQܭ4JSbK0#W>/Yv {jlǀqs#{v q ZfT!VY}bZy"G6_uTB=AX$x$yNN/4Z$o!`hՠ7K6/2_YyԨLS u!ŽOR2W(%g6})Mŵe۪ݬ >Q2#Qn_CNemuaRL]MM%%Ѡ z~1o!4eDkrM$iWН7e oi(z.,\n4a9;GqJ?{N7g]R¢A@tb'IwT;jbv0!ձ*ޫ0Vpj0|VpD՘ j5Wwm3A"ruvMO+vww99&.-{mESsCTW^A6GBm y:QG۽zW9&/]hޑƱjobt'1OѓֵԠօK=k`̍l)D#OURX13H**nKU8VQU^,D?$b;)) vن怃W8\g6Ȭ`MP%4}q 8[mĢ*8(huU#F(b #__@ZW5t,?`"^^Kfnx{{1:f v?k@*}M^7̌S <=u?vcm/κjpVzh&>I7'zN `^wDUY EoLBqpl+*Ouwi,-0 ԑ@t䉒SuP)Ԓ[U]!=6e}4Й.w F&ύ:њ]$}sĭ](QYVY1fI juRMl7z`Dȁ ;2=S[k[`x&l64!-ɂ"V(ȡ dD M~35t'H\LQ{#y-'LWq⌣ȿT 2 scCG 0t8I6CZ:*DD#S *ۯ]u"r;=.)|eiM ~ڗJ$'LC/:\ m:7. :bq!*)70)rUj C!B>c)m s#7QP1]+L!섭Js\̝$,,APNxQM>n;Cl^~Ε1!Ӊ2qkA *=^ucu[vͦ8#4Yq (22[{  rFA{GU˾UHPj]CXw0t=YcUMGv#j3i1֢ڜ`(n8^0A& [(OH&G60Gn|l tVU{'}z;mnA]bP]ȗ߆bF69կAgpamU2.25`'q ku#L@EJu D>,LB D5y%>;*zh{@A.6e~~_RWZ1*5vm-R6f\ZpVc 0VtдL)0Vr8 ṃHMoݠP( ƮlHQjDR.ȹyJViƉC&%8p(s۫{%ӄSA<jJ# 1Gd?tOVza-ռ>7؜NWElnKHH֔x 8|w@uiYumO~TX,Zm&kѣI@UUF䵠I~R5[6-ʡMQ{ GCЎa>I#lW~6ԛUPqW(߮QW!DRmY+BOuIᩰEC. B'օ$`N@z]m=j$!ċٱ4(yc98VPkygM ByQѥyH$ i( r#MByIUYq~B@#5^Tֈ\M\_V GCc!y5ћ2uJJ/`>uw^67,Cc)"~<-jducNI^ppr+̭(jI6'Wؒp*~1UkdU/nai/Z5՜\b%4 3,nAmGMc?0y!@ZxXexPcRZb6D)$Bq? ~/%atXQ`8ŸWFw(LBI߱ kQ8%E#L-XگV:2n[R~(MnQ#-Ui,/͐)Rv*+5*nKfHPS`<aNN>xiToayD&$4㈛ym)T`՟]bKе`Bpy*x[>*MԎk72Wy}(:7"iMFu%J#tE]TP{p\&ºO]Qqg=Svu[L%!L18c{js"] [5nw'DqRHc}E+p#bQeDM !.^6o/M[:Ue3$QE׹.47TMw?';w{lT%@J%w"|f*#8۪roR@4 n d1vtHlX|XE/b2im|)%![|HI⠰'šRk4p;LâKL-MIړrY(.E:,L@  AhU*I9|%10d-҆ lj |%XDbĠ !®y9*GXLh#2˙ABMϘ60mJ/Fɧ5 npzm>XFiVW2DQ1CKcuN`BG[&" iӨP1s'*6Tkx;2.rtCw!%nܡzU(4;rrW$.}zdTVѥz{ҵ*"e$,䌎.A 87Fc-wYT"u)WuP A+p{ecŏj5[yKd H+AjZ)r&|%Or, 3zy=N7r:`L8" _2?*DQ6NJZ vDZǎED$P b)0y'T[$*`&=NPsxE6qԠ8F+XN=+x9G.ߦ5G-Z\(03A5d1W@[50&0cBWRdS ' 4niB2T2:KU#dX¬K)S _B^l"&jq5ncb`*vIc2Y=-]Wn1%ʞb\T5VԧV6O׷ddԑ"]G]%@OpOh6riu֢\U)ts̉c9DY9Ks5|JMX6Q }]i'v`hZ7|"r39;fTxh@=ǝNppĠX'=?~ A"TőaudӨtF@;E|R%As7{,4q#j.m(P_&6z\! 9'K<%Z>RpB&_ Qa2:rUHVj摝WE6+㤸R) 7FaI(w~ȾմٛþJ !73kAZ^RjΫTJpU4]k#VZ`Xf*Q7h<sW%+5Gf2(->DFzQxSC16 Vצtb1XWxxbEۮH0(5 PsQzwIȄOj$ F4 5 <%l ] g X&@ԉ9UbBR^f&1 a+jAq"-H)83([\[+ݔi],cp^u[3&յqW%[dnv"gJ!B+)\f"G*$]Ű$V9-;#~g2E<-y*m=͉Ԧ86BI~jv+žq6dHfF웧QUB9=pR,)IŇ8`ЩCiN HbR_,iW4ChU)rk˄ K=W2K3}N*?OJnx9d̆zJGStЂd &9 9* "$t[*!ƶabeoa!:@xBف ?Bc2Q1#RC@PUk-iwk,r OndKK$[R؋3DclƏPФd[E1H8kR8W2%t02ћ6@'z1=" e XəY3J߸pL0i ҍ**LNظ\x(/X"g3N5j?!o26iNZY4KY,C=WFL"Y2%ʤ|$.(^MO*rme-ٜ8YE/],|k±P6b4m݀ѶVhԵ'LKVuAG'dv"Le9V0(ātC{1 MeRp\E_*Wqzec1Z O~ ,O΄}%"oxm yt3 fgYWV1&lvH{\ rr'OZևGG&Z3hWW7>OOL? )&h{%Sz_+]:h)Y,넬`@?^1YW!rbg4l MlLvxeHL!'*\"C#e\Y{!‚$ 5#Vġ-u.[([9䃛#|l}gүW=Muv M!1SZ_ɤ*e#,{󞲂JH/Ø#1ra\J >DyQ\qlָ:z էAN:;rhӿɨƼN  D 1]NŔ!6T; B=,¹-#^2ki\N_e;r%zY%[y]t^t+h}èKc|9z%"s @㯖T-j=^2D kԗPj |*ҀoG`;pb_®gx@Qіgx똙uj*ZŚ2ʚC X9Q1r%'::^ {'rj1XG\wOA8yU:[84>RNj+<,QR3ndKz:ȃ$pu$OfeݖR”d<|\]ҬzOIULҬ~f~w)g,Fq@)b" E"xH8riYk#X uT7A$Z@אTRoYMF=0uXG=v-XEydjQgˆcKft[.$!E#xj: b Roabf溉E ,0.[p1' 6~nM$]"X@\OϠg-);'݄L @B~24%iS.Ng7W*TH,Rua}F8_FרŻuNc, b@J"N^$Uvn %O{'St-5 iiʒIW/J*nwh9Z8FDTU8$I+_,'f2т!iL;DMyPEJ(D/-%Q;՟KBA(=4,n׌EADMnYsA5oPIC~hcY弬SC (D's;' ]N_9-#9ji>P p<. 'i$w% 'x kdAGcW{.Gg%kc Xca[)f#Qp]\~-~!"9#Q˄}'Ui5dGe%51x: 88+U4^$i*'jѲ6nwk̨ C];A$CGoh&m}?1vkR`,剗3RGZ67j2E^Ɏ]PR%[ K(;uniC1Hz# e-;ixl:*MD#lGi*|:̳02* 2K3LeWC-kn鼔!KHDes:ӉȏCRPدzTIR;M,i,w |4tG6_th_s̱ 1u?fj3bcRBD{M`rOT+K^+? JSd U(q*/FQ``$)r;C?zz)` \" &tXS-?RQ\&V_^⍭ˁLad%- =&Cy> JoFʆ21&/9FXL,hSu(#b#Z>i4Wa8:#g@N IqO8Fj5"1 PipQPC8 [{ K;G7퉅1&78F{^57[ܫ %cbö3TiȖ䥪NҀ}xh,[">hJ#cFMd^z+B(xF;0lC%BETе?C9Ր߾}̸s96vQ\Je: ^bY4A+%7:F^cxA&TFJ4![f:HGS.6cqX뮬dG"6Eܿ)kт&;&2(JO&{ҎچivLd`SIXsJ0Ɍ_N,0xs;Ig"lUj`4y'ti؃BHد}mQɻ]P|=nknU ܒDǫ/l0$`zvhSe`L$P{_ef|Fp'0uB C;pQ>KmVX\,5RBJL")g 0A"LcUhȜ!EW?>ekJc`FeUm8ݐՆipOybẝk2nԅXt2Ve,9h.-EYg||˴1~}STc.fj{[l":5 ULT'jY 6gfxq[(L\KlvMuJ\G2 /^4=nS>Z 2yQa%K%CƸd4֨֜,dƭu@N|5cmzZ֢/%[wd& b=)5I=Zd[m8A rVon o{S_騅De,կ:FǢt$$6;ޥ@,Tڹ shŧY  m؛ݝYo3E]B5ѨO˯&{U1|rq=b*ŲLthAC%pBOhciyBP[xB5Lcj2fpN\~J")dJJe4ZSVCniPxKfJ!z83cm7FX1ք:z-*YfM!%R)ǨcL4FQ.#>(Ǩ'HõHZ̆6f dT`Cғ,J1s`{$2CR|r^)}KJ-fKzi{`f$h|z3NT'?Fo?ۛJhЀ@Pwg~hēCt"튾U7XK-~"|sp+ܓߦM) ~ftD,RuΜHg,#):j_+& ˕>naJ`j-'`KȍX3F~}QYZ1&Z?M#m/g1xmS Kd:&>MSHyedӦׄZ+!6olUt9EL20ڗӲ%?ԙK)gKA-*=6-Vz ƿwBl YO9dZ&W9qlhS =Dct"4mqawfB@H2@ONor E y|nIThnRE7Qȑe& |9Pr'f-6k>'[ۖ4 (*@ ,bi EH|x1IH@cCW͑9Y$oy# BR=ՖU>߁u<貘Ve4*drYɳ0\W?' cuLr+wm%sSDO]UW{M2G2}V[M7 }0eqW].cħ1ab(3 1ڤ)rt ~37lJ~J5u3@0: j[tj kl"$6}6ER7+nʤ# TPQ(_*J3rPccBKC~pyb)e^?Yk.;Y+ 8qmiI/@J>\r27d H!0L`Z}k:#Qщ^#%CT Ql('Yi}L󻪭@Pfʼn͉'F0.'4%'OX݄~U8OF0yRmnB7Vs5q6#+5Q$%C2zxͤw{ 0f Ouvdo;I!M0lSyV3ٸH\wgwE?ݞ\334qM2hKE5tЀtU峧TޥvoBӱ-]qvrpm'*Wl!)YxH3"%E%s (_^?u L6[Ylޜm>|#I&65F\g#r, K=L1GjR8Y[ 0ނj:Ӧoj/ڬ,J+eHL H)J ֖|Ut' [Xg [^ +rOS=-zqna(= 䁉g/G%smPEqлdʀmC5gzc񸹓O-i--֧[5G If85#;qЬH$ʦY)*oقCvXwPVZ|tP]&zdg3?bXsr'&9 ܦIY$f+ԉTl{>R7d湫?1'MO|$m7O3ёlEEa" |S]-0~`+.q N1u!RDӕ#`afZ_h|"7PA#H(l(;Clk7=S)BHzg| e+rD4Lɦup Gb2?Sq I98|$ <mEy 8NJ8d_d_MćcLuOK@'kB.{R@a*bIQ#&JIIRi Rq 2k䫢QA W–#G N=mȉet< S;Gk톆їn]FV[P'%=VD(R#L7"z$~e(8Iwsydb<]1,I in1x)HiC/6JC^b%w C2^օ91}VSΊ8K\8g]j&o'zW.HyZLPZj4 3I/1tG?Ȁ2)On`FʶE6J(7`%UEF,.cm /P!ϼb{[;#l:m쒺(4.lDI#6OkbK#x u+0Q W:1A'FZP^_0@+ Ip6F:⨕F6"# vM4BP@!98JDGQ,p*c-56CHTceeܟ%LHU\v³N9lǜREq@Zo,`'qC NS7l6 2'=<`P[U,rI'|))D-(x7' 4O~  |&Mi GTq u;PIFYGz]7 FسLsl-H@BU$|[!Vf)łLpN6-pvJ|-6͂vw֩LaȠ{88ᮺ9薅> 0^ЀhpV!;?+&p@X҇I3;(lxlm Q@OdyQl2mk>Ȩ0ChH/^;mPx}"YDc)0L*YBYrW*Qf>WO#Sa'ɝC1Z6h V}*ݱȌxҢnyFy% b @ˣ$YknMo!&DBEUأC=98grP"HX.yxL> #EI0C=PF?"ci:)-ďB!"E8].{b/#yq3/C,6Z~'Cs|dgd]/D&TO8K&S0uA5A/i`"a*0JI$kA($nrRު|RĒE$"e@ǮS$ ( qg&>/tܩ? Əx17 `[ڱwHRce#Ff W*5Ý6V3ƢAK$M>KKFF8"I?KNO7sI6pS4fD3jacfѸttǻSэ ТM oB$ <}LU6|88pf)#VZqFf`^y6 "CE!WY{C r 8p\NELypn8ǷVd\KXN^-)#8FCpS`-X.3mR!&3*D;t/1 ngl ]tPԅ32iq,-y]}\I 1t,ahBOF. Q(2\ls(Z+#@¶ # A`J=->PjdJ0$L*%h 8͈tuXҜr<YM g Vz{N^z^ A×3ĒП^LјCbVnrPnUxW$d{Aƿ"K>#S~zhBOX0k*c*ǃ6{,x3b!M9$d' 5/ѫnYl U7jY@)R1y m ęrE7Ws:ɪV -i]hd?vy!R-0ʃj1 cc: ?4?_=Bg?e5.d8Ve-AQĶ=.jlf-Q h ;$_:ӗ P5 kJ6٬3!Uslab9Ah:4-QFg,VdOF5 ذ@FoGӮ61 T@% 5XԱfQS*Eͺ3~d?aAAH!vur¢',auGX' 4xE++FCrcDTü9ӎ*dZ05ԤՕ6m(r V ҈ MEw`WU[jEC L?Ò^]xd(hSD'L%!QɫIAHHn8QnL~.#լ{EVqwY*anV*{~GA`QE'sKޢ ř)b)lUZ>X{;Ȋy%P|QGSC- SˢH$}4JW9*qm5JMr]:-\@d?#@?딊We dk %`l kٮclJW/^l Fn҅@^+VKRW2Y5KnHU9 yeJE}ݤiFYS]AlK}zGɒMX*u :Y)n_jrAJUz*Uv^&R\uv&Ad#٤D_u`H%ˌn/"&% zyU>$If!ל%#G~j/R{?MY@Д[Z[o}jy+hZKDz?^DTOC9H4]Jє TTY{JT? B*OEQ> 3JT GyN ?z-D|ڀ>Ǻ}'T/JoGOZҿ[L(ZNv鞍أ}u%zS}@(_w(:'QU{)5FӿW*/u%~?߂R?jRh*:A}~?R~ѴV` ; o OEo$Fg&'ꀐ zNjޅDXV͝),Gb+I*韱C=hnj†TBD,ޒ3(TRq "&%;⼻+~BSZ^I+k\z2ܦZS햰U3Bg :{qS_o[%/?8ݯlvV7G!k&@\rXzW]R>GUVeaJr+ JطdYi3 csIQ]cr :]Vn`=(Rd܉T-o-=%A! 6Rjq8]p!I{A8;QSKTkD$&rA _udX +FhHJ~}N*LSBPH!FŷKުwM%HQ., "ji/l U]',m}DY2LN1l|Y Þw..bb&p&D?]oH7 4M]1B8cV[!l3в][ǩfΌ>B# [w^ĸrA|9#cGf#5mZϾ`YrT-1yɧJ)5{QZIl%]O9F&-2ԇXN7>dm*\@m'3}B]>PM$xaL9efg_0V& hf:G~]A+jNO'K(F '5re,HxSh<*mϡQ -a1Ob ME.B G[ļ0A<խ :3oBdX{?ԙe:Ni+,^}1>} f#e{aJ-t(D.=/S,D '%H}{&\awvwCK ծbOW)@0-OUMbp$heH%Y?j6jG=9;$U)Lb[ؓA yO#4-#MC&sVkj$ġxb4ZZ*&#R ୣ| r-›׊+Z+&ܵ+xnь\4$Xhd#I:tG!z?ki(#ތ/]j B8U;G0vI5 J*yXkQ@v) #a$Tnp/]m+xa* 7O̪B$ȋƲ)}fQq9c° 7U ٝl;Kk;z%!x|Փ,TGD f$ƿ4gɹR3C )s\u|ѻeiQ'eXCoL7E\TD)"?еYLM'nλtLe]uADx!\fd{./*=Rx{c #a{IEQ7a*l˹<ĔTYnGn0 dkB֬ =B;7J+ bvBRI.ܺR)Ks[ZE\'$,DϰNn 5"hGoթM,oZ{d\!5. Ϝ]<ץRB^#K;#ӱ<5Ldj0$ۗ\6v}\IKIpAV}@5{ܪ8)BPro7KjVBQH$Lv՝*Q&ZbR2R~}%yIFnK(1(rΓRGA1W[muӕ]TUU ;]'{!M؄xTXbt( Ǯ@ dsINz)Vn8?Iෂ#*4JNjzA7;gdFڃT8 hM͔:H;)#R%U(/B/1ȞؠhfPlV}o05B3XؼLs!Y2jX +q|UFJ)J~E{VqeLVc&1G{9h*W-7zHtC DQ%e|&>B Creٓ(FԒQ=0u6]Z`bFjl> $u3uu:+"Eocw+FA?lna"fq VtGu*;^l(3dI;l[g/ Y 4EIACh-&_u4'v, MZ+.mnIs##4ͤ 9ӉTr̰ꋱυ#S8(*aA!D=P*0L}v^*DD +W"Ҵ:&NXdxy[,}8S؃*g- J;vUh*dMn㕹J+w.uotm_\d"k? 00>j4v `xmwn\?|w!?r֢_i!fTZwrI:R%S3UleL2:5 mpC^@n|iIˆ]|RE ;{&Цǝ)5d46iͥob]]mBeg%{GZF$r '#` Y <+= 9![""$ ldR#IT52]r$kC14- A֮#I1>Ne%!~zQ:Ha@uwUo^{ˆ*u_FazU,Ed>}9lB]pRL✐+l} Īb.}dXr,Z +zku_G0}i ױk h<*ЈaUX*${O`4WEM8GG[-8npvͲ|lbƙ;AԷDp'qU^7 H'Z Pmj ^{~Bs oe5"uǤG_g2N9b"*AMmj,p4AJ ΧVZ0X؞0+!-P>3Ao̬ͮ%NacIf|g`u9 @Yr^ V0ȭAоEN5QqƟ(:ILfV-Рq)ЮׄǛ8 db&/).M/{)APKK%˶U}B)E1u(eE^ћi%8'8VB xYuءƹJLq9_d;s[physqR +~xV*Q]u@9DEs#CC_@zǓꄑN;6\e2zKSPy; Cw8$ ?$%% NYIw#"sa+(R Z/!<.1#;znFpRz\V#45J EmG Ƥ#"gCZP͈L|+R0r-*F!RPd%\;z&. W518T̰Ԕ@X'~/DL D&yɨƾ B,'= S(hBI7}&'M4YGhY)iVbKUVAUj3B-L],dK(7 {J׶I+Ue&Sa&׻CKKH"*7-eti$~+z쪯}YKGttKJ?f@ڪ]faO#v"Y5|'%< 5HzAiqFqmi+&), ])HDxPFm/0BʴԙqNP)<⍽Ktr~k3ۇ -2i'5R,qO) |\ SQӻ8A$, aJ^жrZ 5 -=~'h{X*֡T!5ht%@q䑶@RF0J "T(0a A,q*F8LpG$`G "i6e`E4A-jS@{KSHj3kxq hL T:$@1daB2sD)5hHκ@;팱%j!I&^mӔ۠V/(y( Zq\&F"N:WBB-̜Q^ ) I!9- 1) ,1L”dacGe(4!I̴egt)SHK4O_ 8RVz1|C9DJNG,7$ݱL%&+ռ.Cj/BBGA0˲NBAan'_le! Aj[\uX;CP/N\h5`%b"4FǓ6YzluF>G/}L X zX<IJO;:iJXlHo%E|u$5-mBG_ GfD$.)vshS$)w&A8)h$J,?T1rn숳rݗ&$M\RСÖja}憓 IAr ɮPy-/Na,40RҭD6 TP{e {, 0ZHp~;Jzbilr% טTkam_-2Lo…1@b%l5Eԓ笿b 3H̷HyڪꙤC>5Bg>cUQ%(iV(MAuJBt/42e5Cib;\K2JX-IV6:mmh}YdyU3M"fEq_~%%G$McB@Ш訜"ax&Gq@X=4: p0!YɹqqS <ͺ$*;%,Y ޵u?4բ} F|C2PMV%:?%v'/xI~BJ$?~]t%k1r&I" NN*i$u>a4ar,"4[64э{'O ":gO*L-IYEc} wEmD-K"In2L\Aos4Q<# ҋFDe: -ٜEzIp$R,KrꖦGyj(0 b8-r+\}F93 }Vc)Gut`?ε]BF:SjB/GvRN̏T= 2y>[d)]?LU;t\dMO]GWX%RJ|P9&hJjʻ=pN&z2JK | RO ~7<-؞'jCd,!-km`_z5J8Z 4eIډ'* <6#iĖpox2ĻɦaZ[ɕ wו;j[5%7]#4BغUr{vr{B3DIR_\=7FM!tW Y ^F9dk51J)kvвAr9;ſ9-c<NI"P7.!)o$2 W!-cwI a\4N6K 7N(NRMO#Gj#bUZ]Y9ib_)>TBxU{l;[ɫ%Yt)- EU)SZh2Q"LSSշjͱ·-ZJ ʖFBΊ$e7%#`O-6| Մi=2d=ddKβYMħu9;^/;l`9oʘē!֓f\BȦgb@*M( >.`Pe Q;ÍlJ@h\@5hxa ip$xKq 7̖ he<xTԾ&0I\rU`ʠ 8!ޠ-±',ڰľ/&Mlzrv.%^$6EpIXFw$g<<^iuLԱ>\W ~HTRS>P%$IfLCRJn(<8Ҿi ԁ>iQJLaO9Flc (P q=>Hh EY7"DMjQIuwu\ ϭ OtRP]OKL5w\L޾g=ݥn&))]'.u1% _wBEXO@ ⒣/E0G`(D d ؜H/f&^ 4QX44Xk rbX>6ڽ!b/ApR !gkQb6EJ1S Aj)S~ڑ *.3kMH0eRGC4 E0pv갾M /G-&M,Ltg=tF()DƱ@*Q#-FX{ÁYyH]Z\/^b $$RWJA cڙOq' 96,s^ ڕFl?6DzH3.C,_jWf{JOuJ ,: )>#J-Xf=+CLiٛ0zf,HCB Rv/D-S\yV5ܢwhsCwn#r.cLa)'AETH\ʺ,)%e<_ai4.I F"T ׸K3jS -b $SJygV$,#;$I''WPͲTBpn$p$U M TaErq$=]q|U&Lwq}mR/'KP2ۘ#bQ)P)Ӹ-B+,;D(0U$”(B T#XSL9Ojن*jһOP^VQ(Ftx}2 lIeiN5䙹Ƞh栜/V"cKWʘma 8cnjc-~/ .pX -TdI"cBvJ@%,#%ֲ̲}wI mtײƛXl@/1+-Tw HmXGRo/{-|0 ^vB[R .,b Fˮ4 DH5Z>%fꯥ9=y솖hU5|w\*UߥnVw rf"2V'I RA5RpȪ,؄ZK#3"@d0H6IJR2CpI4nB[W?[s$AsȰE"W1 viR@Th$y牳y)7&  B`\6>Qw$ձ&_ \@$<4&`f"jvoTb(G%8Rd}AzMJ2&|3u)\c"'E ']Q,e7x$ (PC8kBqvDaJZQ0M9EDa(,}nM3)Ҵ  $4d@pH7˅ ֕3ADFb1N؉?ѵl u҅^/$ceIU]'QJ3ŔÈk\xF9mQ.|&{]vđʸ4ZOHDPL Y1´'JС%\oW"HwH\ܽJV__7K˓'RhԬV[4'\T߽t=jɈƿNV~Gvܴ }jwxȀ(3@;/89Ŕ䅴j ,9N24b)}b5{$  a=Kj1_QNƽ@cs祽!A\)WK+˗{1ĽQ!Y)/r/6tTd{z}Q1w饱kMcup_Q{) 簐?z hcڌa+%{ oyw%qTD+xtpP=E؄: X6`$|јB+@ W6L( z ?Bۋ 1ПA-D%#xehk2ǔ9^0-+ˑhawUw^-ʏ5 ʖm! zDT`<"!S[ $ҎϷPܖ,'k$W@2woK*@C[ 14{ĽrTo^YsMgVKEW/3qnj4CTZ|]#B!$f/f_O]0ܜ['&|HM7LZj%dKr '{.QSsvm.zVI%0p-jhPC4MTl[Y I/*j)c+!Z=Dv"K )PdBȱkVz*Ь%5 gїEK_#M~QDK-zW҂SDo9 ȯPtMiD7)k:ӇdYXMɺ}@M)V0CY¨p ,<ë"veaQBRHtt|nߩj:bk 'Q-(:#kg'T %-)8➞7|hRrC]8C 4Igba033 +pKLL_H>=6j@jQ?"T昹PWz*B: )L uFztt> ?l=vh2E?<œAܦW"dj3ChJTzñg[wf 1 \T)f@Mسo/QSRZ R8,|\/q6Cn J\N]G,0Z5==4m@sRA/'xZL5'F;!Q<,F\VZs;xɍ(I 0QHQۯS:adi?BFDNvL%CA@^Z>ɖ~d{U0Qרp$R,-GEBV@NN#RdB; P  @"EՃ$q Diq$)5M*Z|0V?MVYZ3-;Rs#NPcQ@ۑ .6Ig$t-P.~%ش(%J 5 sg5=AE~_cPAP.G0L!@#4vzR0V#.1piu22KR=L%G~:ɻ<%ZP6IU(&\1cqފ2yu{>9d'Y$FX@FO\g(: SiiMN#s=ө BD 8?d~VC7U T28E^@ʂDž hDKbG )o]r#1px]e4c?}#Vǡ >դeÍ@<&?6O3OQ6kTt"^$GJֵbQu)pMzF;}g9Oe4vd9h\/?b*Q#G2撅 >1]f"LXYut&`V`h€9 OHӡ.#A0C@:yYO&7R! P ^tl>KZ.$2'Ztq+#{n p }r-yU \^hDNe&mTjN}r 2jf";`Kj&&RF2"';RqbIʊ1dnLBԙ3j+~$Zb#<*7L딣C0rdQĥeL lCK2[D^ A\~h=^]')$4'%%٧EbY梺90.MPdqP59J|:N틂#|#`bN0@A1M5E}Y9}G8f]C-),u`im2s:\kBzʺWtVmhzPVE$E#xKx}9NUѐ]t-G.Fc,+0̨TN Lh-wCBGΐ'x U dq@w9?Gd]G/htסJ ?qz /Cgn d6eDюf`LN..nm! >_,#^lP)$s8cҐֶ/ZdT`</v?֧Ȱ ,iX WÖUgw<&y`$K5%0l $|;RT"F[%MiJ#%s %}YEfPiWٺ "GԓO(kة)ɶl,bLá [C$e#cN&D|F[9Ϧ(_I+nlII?0)"8!x 62mzpPE,KCzv J/-C~]\W%Gϓpwz_0@B7Ko@rltxMQ5Y+M:B(&Y7ԁ &q22jHigM)啩"ˮSbtZ 24hc}O?+_ȐKrRrN\D͗ME6XF^I\R~qmH˝һPyliJ!03G}yDm`wc'L((3ۑy 1<_U7(ԤhjN(=ofQ("5nrN~*P I *O1N^C8I=9Jp2Ŕ'ذ-OOy.8誊!̮X!/yK=&](-̒(eض-7hm}dM#"|ZT{}r5LkbL aq>]WO GB܁jS^eSHڃU? 7UbusBnl] 0(NC"kZVE]KOvu+hP` Du>- 3/완d "eu5 VvV!]ib o'l+k;aLtIGq nerQnk/؜Х>}O@k/9M\)s|Ḱs"%j?!OT*"AAFjw&B]!X,G$ V.+Ņo6{:zD+To1Kg DgK$' ͝(kD\A4K" Ee$IUj5%ai'ytΘ^J`<.*[&]"*;g퍜]l~]/ &4=CͯD}N!f mB2d|xɂ0;ǿz4-#a`Mޓg8nq$CȺ3$'Vub;sl:Fax"uԶ?&ERIFe,fW/1]~;aÄ"gwUi\J:a鶨&= b ͊O,쟏Ȝ'_KSP^LVMcrHf` z$% fecܺ%pk~DyH/}OݐjQu $z\SXtM3c@@W+X CH8,sSHHS| S7pq*Q@)B%fp4(14xbFxxbvE.hlЯ4.d$W]^63cC҄̽Tn!t"3er(d,%Pҏ^dBJ,)A'{yeHɴΣ8b%~~GXs=2V"-*^dRE.,BH+0TVq~ Ol_eNܯQȓG6{/D q$^Oq|kEtO\>hFF.=aKn;HQ×PXՕ90af=/ɷ}E1/gl_Z{Gi-bbm3Ly-W M *~`z5V}HZeFZ;4 ͐$F6ZoE3Ҝ58&S*i_ئ0VS$$nChEQU+$< LĆQ80Sdr%YN~Z06nLH)@#U0h9yoqFC̚-ZY_TuK/Tb?He02@S Hs[WҸ#x+0%w>7MW2 i4f8Zٺ{u~_>أ̊Tb>r=*>oʺ {m;re$pvlBcIrk54!})/+Aad$5h TSBo̕ph! $Pq!Ձ"SsҭI6gW"VI_1ܑ`%9sFV;8^738BJ+O>[ۦl&r^.IݻqUn]`@.ϻ.QKM>oǥۚC8*KG+""̅ء&"e4*l!B!z\Kq30r"ENӲ*(jP!IJgNЯTDU).lyWg'w"e0e50Ҙa^eF¶'bc,̡nH tS=+z|r-ZI>j*-pY?8zED)*&U ?Gu,(s>aZTm\ƄcGīٶ56Փ;S`dQ% ȼb舃8dהhq쉑QXJ{:%ym.ߥ "WbE;ܔQ5~E#d2 V/Xa:RMbʉQ!5eGa+E+ѓZRk֔AbbKшB-_6$AJ-qU"DRl*D2)H7D=yN,k>4݄YO˴Oơvrޮ}%:~RXbmU;@$0{(Mn%,,,SЂ1&yx'BG-Ȍ@xd r}H>ݒ%(\ʖ~:Wr~‹|G15$T*U<3nHh>o~C1PB$pʺ3#>iDC>DsaǍegk8Ω'Olj*SF Ӷ/E!FxPa$q64Eh]lUc)1A7l[W&5͓aq 黮#E>/ʼ]u3d;Sr9x zAX$sk2łvJԁ\i&䕦ƉԵ4,8<4W-) ZȣY6X@!BҜ*@XP&R\Q_~ɨǀH1Q߅K"nKK#epC1 J˺mX䢣*~lA6TFNͣ&uodV~Ks-!v\;#{F.IvZE\m28BN!RX73=H.]R{bN (."VdNb6&@ #<ΙE^쪢ٔu*[z<3LV,bs^bT 4\B3uybkeiXZ8)#9+?uSʁ#ĆS"zgrJa=ܸG68oHZ^ m,G41 !6"R w5%B'BPXjn;ڮ=&xS%X%724qH!í:$'!9*FC+lR-ɔ1"aӒ!;G\lLƏ瑃] )U9\%#lM$j^,( VD=m"06T!lL,\%s}BZqYWU滑"08`)# _;J!=h}j#3{Ot$>QY z˜P[a`x†P*LG,`8t؊Q9T\ʔz]ֵC0AeQBPi6B. a;\EfL,RB&>X&EAo%'HUk~'./snώn+{HVL^(KTs y*"]!][KV1^@C柟 fDxT"b/,K6K+'q ')#F.+~H}M$}Q.ڋ;;2r9Ei3o(Q5*+{Φl!JWh #f]rG.'3~ƆI8QKJ9V2^|-=- FTpxZ\k慀C h#M2ӇI.@` \9[ :Y6%""ʜݷ;JhX Z鮨BЖ%M/Iڳm:S11΂PE8=b([g=Oxpb_CYǦe"WCAPlvn< Xm֧EVŠ Rjѩ;3'O55ꔱ9 ?KdO."A d1ӃϾBZffHc2ohHX.ȉxN hCd fllX"AufF\=G:%F a4ybݪHediBZ0DQ/ 7$wh,)]ePYXԋjµ=SoorXBMDTREQtA [,%_Dd/M$^c'_c>aBX32aP}^mp 6d\W[SvܲFd;)'VKYF@U]fn'MG* A"*,wH *|HOaĺɈs2&q_Jw2a*{lX;ÅݔmuAJ:&t.hE NtZ;X(9o u3Wԥ@]vDΈ:EM`b˝:w[7Ia(CKu\%X臑/٭q]_v[U "cU<-Euh!Gdi)*&̩|-4tyc|(hrl_0O:^*rqItM l34bBD9PJVq X`KSzjMZ,".˓RMrTb1 Iň|r%%Ia_Bc[^dMBXkK'F{М֋O}Zhp`EVn;^-|9rnpEz.!z:40:8hZ ܔ/ftDaؖ׫LTT i@48œȄ(YZ̄Hu# xtdΤG!$q$'=rKPDhy3&ypD w 5 "*،1ΰaJ,DS7%:MtC؀"Dr PA Q{ɑlEY E;u msxb闠!ja>bE\O[eC~*{RQBWM n+2TtJdkI6#>[$!J7A<˂1A-k@7B0~!@[㹱\PhÄg+bHh$ 2Abu^"!ҊC3#JSb%`Zi`lcaRk3S_u;6x NK%1#&-pHH-] k]6`Ѱrl`GJ«B!^&QnEG>+{̈́޺ $ ΉTȳ4K*{ $ㄨe *jiz(2n@١-f6> 8nm +kϙ&BEIUF 3[ޒ'Q: 㤔O1z9҅ I=a͏$oƎmvSR~\C/H7l">;#"'A1RO7IXVGD ݃w3!s}3-[.?ƽLH|Mp X |U @Q`V!ј $]Nfa3lMى)lf#K\.U%X6as|KTiVA>[*aDқȖ6Īmָ(P>e gg?3E݂|7Y". A`:6@ Xp <=bf>gA&QHuMzF`EM_oL4w&b|46`_t.u _Q{FAӰ(%PDήz%[+AH=x\ 鴧5%Qteqv M$麎.QY[,]bܮ̑{}dvƭ:> G=kP_ $c-͒t |Mmrqwjh]dx6V0#UlK*!:# OVm5 Dl.JII:PT"d7H97*(VQ=Jg$ dUO'Zls*d$3繷~1-w <`T|8c\ߔq91$1p /W Vv*%2ɤ2 PĊXGmZDBEjVuɪA6W.D"+1602:E Us<&E$BJUqx3" 4+P. N}m Q 28TS351!42XXlY\C0% Y+rB,vp0ua& s%DL D@Q~8DqPgDJٌ(->aM2*]A/u%佒aAQKQBxL%e5u[U`C9Q`!n0,n 2,}e\Q,p - l&-1RaK4)`ЩoGϖoň8Euȋa}+GRktosd>:o]:z^PgILŞXSdrzʔE̜ʚU"$R\DƄIbDK8lT8J*y^$&G⑰lxm0/QkPۛBgj /r]rb\>!mzz?-Fl.$eHyKDܤ]B˝0! l͢1R1B)=ӧJƴTz DƓDTuFPKo aOP|x$.] p,by36U)淂69aچ z_0_3,v !haQVF$P .% pԹFbZ`Qs8ɓgH""pai荩ȕE?6/JNqrEJ <ݾ,QEdlU L*Um^?i0 +95@h2)xr?eD$„ùסTJ~'wr! 39W!HeT_Y@ pCJڤ0NTζS[-Ęԗ&Z"g^E#W.0e@]*0Lc"|$VrmJCSP2^u*BfZ_uDxM``TFpvt2*F(*y>& H##Q7hY:lsmCf 7Pj%}L ) Ғ@7.T"qleTְYufH-L|A^4Tp42$9/gtgӓ1g( ^EMT7cY8J%#shnˊ ёR MtIh&7iR哙$ݦdzS˯Kqd6 9 ]Cl]GPN*%og g:J+^lTcNdȵӤ}$Ӧ24+Ssdfck0&y:% +kE03H>ȞB./N2ihl\HeWQ1b˧)gMD3ܯ瞓DqÂCnuO!i-|P ^:ݘy‰໎C&T0f~"j؊:G C9Y9#% ) @D{ Ҵ:!a[|nT. cW|߲6okQ9[/ow ƣE6N%;`dؓ4RnY\dta:8>ͅd%.Pq<uDQ_6FDrf~J>0".?(GU,2 ~♘} ?p!os舐MZg\qS\JS/]Y5i gVqBm`1&V'NV`p3ER?ncDԶ@HPefJ O2XTbi, Ukm(p_yUXв.Ԛ.!\} NK2"iyvc Ky{RX%V )Ô2  +a:$ɨǁN=+H< g?@ 90.:6~~L4@<KAa[R-+#(y""*Ubɂ&4}% yDɯhLp`.غiadfŽȈࡡGꕨjS6ge"Qf]jT5BxXO (Zn8<\2Jbt*]#Ck0z8h(pOs0/臖eˈl+ fXmTiLiړ JR0DbxZbGvU2émk,wT;?'U?ٸ5LGL~ ]R~dsNt\QE4n?. wR"F:꽲Q xh`Hyf7B4u"';V&T1PN L2.~NFԢ4 #NdוB%GHæClZK$Iwd4w#73<*o$Ȳ% QuKQBzKud#BW%{PK^;GiMnzb}-졅mE9,E9# aYYQ}4ƊÒC QCE_HO$I&[Y|rMb'U"ƫJ_Y%\)ɚLnJ-,e%dřI!"w0~Rb*.Z1kΠc![0FČR寵+$J E<$ 0O#I'(2C#$7cX 8g}"GM.F%),Ц)Y-AXjR#QʕO8q1^J2=h/ㇸŏByjI ݛ'-UM!#{LKTt\~lF)^+F?r_8lI5؟7ٻ5}qreBU/|8O0Wlr8=hʚ}bE4vR!T#1JWB+;cj#XߒlvvdYQ-$/jwIT%5[ĺHYcYl>ULFjvc/1g$7=Xf$ ԞqϿr8܊$DP{ qw(/| ؎*hO(\1 F+'Z|6 `Ć!Ea.@ɌZb\%)^tXJk )C(a@#Fo1ˁu, Y!D!D!Lix@>~s-3^6Un zlzYdzT hЂrCa5g:qH f\vzQIHO,Z-τ#2DA/W"-"Lv(H~$>Lm&-Ӟ- J="QY+q]fH-?'8PQ HXwcBVk(FA+{,r&.Q*~eA !kt1g#4 1}bjX p)ՏhG@`O^d 0!5H-x?wP"w 4ye)1&Ob9n9qp?VBwm)<tK!$&=fNH *ӴY)`#i(0kd:)p )Ǝkok"Ho(QBKCH3X[1:36CjhllK$$"pXE˄Y_-F.z }b+L176gXӑXOzecIJh-!;@fn8@aq!g1C2Sز! wFhÜ ]jT-3L(>xc#F̡ Nh $q1#\QꂔRi813]OD(󪨖&QNKUd "Me,־יj:'.KGU^}WVRDXh @W6E)+Tgʤ0ښq$8& [D|rdƖbHCS]%$UMciaE}]yyZ)x4\(N C&DEUu]Bܫwa)xF WЄ #-TA g"J!nm%J\N4]ʒUʣ>ʨvMzQDG4g"gHŐIPԺƈZpib^1ONLގ]C?#XLD";9v;5_z2ʗYrlo2xkB/IBJa.ئK]"o,zXFL ^?$q.;5֧UmcUabvSq h(e% $`BHD\GBZj!4WҒԡ+cѐ.bp5BN+=˘ r$L\5V$5ND}yHM3(G>DZU*-݊'R_?*٣r#fG,Yk.2ᄈǜ$B< zee@4g|DқJN mSfu0ݬ_9$jA⽨B†c'\xѼs]afv- 1jܝITXwT7LjթKbB]w.!wqȦЍK'*jln&Z"hiBm\2F;lQvfiC,ƊC"LYBD%,ӚR1%\_k@ B P0! 8+=C<%T(}1{%b>(0…֎GB%EQ9S,0ؤ'cbĎ Wo4&D}_^Q2+HIj噧+z:T(,i|y"D *tk.L$AXhjҋN LL*{i ҈OCcGb9Q#I x)N'Z&FQgƉ2]Xk '9e-@6%)4}HB!$SEjAF6I<=X3h$R#1JƍIlʝKZR-Pw2B>0Xί#ba º" 2Ns[$+OgOhϱӺLȥ~Xår?eB*3XDK$stku~VI)n\=w-ojd7fǵcUuL9 4HKT UL=\H)stU]1CE& c*~uuu~yyӥK|HC{yjkB|ʥ5i?[έňquI$?Nx};dB/"_<E]wPejOcs~)XCZ൓I|R(Ͽ$~|)T}ũy{0UwXIt &VAP%v+Vg 0*cqv5;&t.f1j)34R Uvv `T ZRMCSt ̻OAtKma$g:׿w l鯗z+Au5Ճ5C&ʎvp­&mׄ.%F&GՕJ]6n {ZTU(^M+J*BKw 2IV3F蒤%M'RHN5=4X^:̵~E]Ƨij29ܜZO. MӱzJs=:Q -\ A8'׵WN赡x@W,;x eFQmgJ)4rdOa/+ةbFnBdj`A}4!tdIn:k"\$r\(1ȭpAH"* G!jhɁ5"F1~(ϩ$;\<~pѲY). t$!ȡdl@UO {j˿Q g3زH&r%fĩM1DQ{AFy|NɸJHld.J!tK 1rOE"wDi(ڹ㓊F ~(?l/Hn.$끟ҕ߂ȼCQ'(unOJ(s=?IYuEg;LzV(q#85_f3S:˙KiqZAMk,9[VNPvkoyO/Ў2K!;:G0~mՋr.(Af= er '+RD&{tEqVqY6vZw]Jn-TO4=jZ'&{*N0Y^8unxWJ6C"eBܰ4LW !Ei!i+[%tʯ]o'ljT"'#̯?oF[ F7ECokC$v[b5<<}YX빜!>D1!=JqߍveTIJ$XWn+כ1K(V1tÔ^J q4ZR߅N*VC!_+>%uT:""]J\uW r%u9"[8lS(C1Y!ҏ|WDl6IV4"K8P`G7M;ynIu/DiFȱw G,8?[2ֈ;4u CJ~JjMx Cp)m3Irϝ9)"UW<%>7KCs ˉ$j' yS"A}n Ix)I )PmVylS >DZMgmi*)V/i)Lq=S!s4Eb]VJ\ɨǂJ!`ʄD/+OYAp"8|b!!#1>!D- H`c M5 G$qD)P`P'7A }f $A2Сx;ƌsP?ӗ qfȰ6CfA*ВxQH ոq Ģ;We_BF77A}bQР"q?\W#0@1CN3ʃP>5c?<} bH%N+(#耜3qx|ЏT1RpDSaOJ!H7T@)}T<)H"T )D Q(Ls0Ֆ\pQ2WBD|Y 0I1?R`A(*nQZpFFJȇ^-ӎ7qVo El)tnBTZF3ч) Aѓ !Ja 9A6 .d3;$!d8 8 wL',P*{L^T${A6J\[n^ħٌr&m\~;Ԩ}>jc%e:)Fozu_s7cDFNtM[(*u 9$=Ap‰_OL˖ʹkc(UѐjF"τi2f}k9~ د)&"EDA5l̆73ZBfDĔ X %@ h#f΅w!ҳ1+ ȱ0@oc pS8Oj 0b3mG3 6P212XdJrF+zG8%#Xf 9@b0@*0R)1g3~AÑr#a 3 6\ZЇq-DD_X@"x0*?3]B0^rA@\喑XD3|i!^!O[AsP8+p"ѳC3\T `A] RPcQb [g'h)(܁IakQv -So HE8ZBXabA~J?nО*A|U(ACc&( S{ *RV+ pLĿ 1H= t1أ>r3qij ڙ As̅47<"`@ #Pk#2f bgA ЩPT"e pFd0p$ANwPT( B?u^,@E/t0MOGn0%@v@5he([y,p)P ,0N&DьYfzj5F0RE%hWf`xrB(vRVG# 2|aERҜ+DBEC8 :LxkBPi A94( BjqCEzWQ +Hz Y2)I"Ĕ){?ӌ|\QT eeT. *xn.9W(ώ!:y)’8!ЅI#JyR*R0Xo؆%mʆYEB;pC0 qho{.t ubAO'> GJ.2߂D-iX Am Xk*3(!,UK* t1 ?I6HrÒzeI&(!XhbO{<mQ8Ҙqe{I4ANC)1 yzTy f(Т/1*K!P (*%҆&@Ǔ$r$} -Zn~=[tD`qLAh- :Jc]{D2԰~9%> pe?>G9؎OR8a hXA2S$x8q 0Bec<]~4)" ENf9I_tIxK;\Q\IM wXк τ.Y&adq܌ #'yȳy)c$RB (aɶu| /}"80Hr=nF}꯲$0BIjH^ʚs zBW1D e`"^|P0E4(q#JʟGO^hNJl൹Ĝ7gɵ7*EVI1Τa],o҆y7>{1 YNphN ,!a5) b,[ ǐR0Y& 8ij>I#HbHgg5}g$U &"V $ycwcF'%F7Z#@fZ<$gkž=a0JI(5UFv@,#ŵ_A((JhP@(d9hr:SVAPB)'=}\Ea^*yRٔ1gC ^MM-[g~ F+8w0@vCOnu؃\XT&gQc$@\ ^@N RQx(h!}XnZ¦~ĺ3h?8_!tP4,|KDK pv1IA(y+`M"S "ty`#l\G1xh$d Bɱ"( $PJ"&8hGaHHx4l0}s C;tᆨ4Sv$(b#mr&`0D&5~BP׭Y^~tzNM}ᴔ4D0Q<a j9ȧYb=7VX`8Cț:IxEㄅ5OrJB-Ah0ƠjK;ZjTi $DLB^B "̼E_qloe4<=4,`AD<#$$x^-} չ4`Ӥ(GyݠBB0pWHrH DhYM[Q zE Bb!CHBuyD pWJ anCW̰K$dx)H N&cX=sTHSEɠ%ɨǃ{9SCGQTR<#$5R(JIЁXGg'Djb5=qF~IQ_ 4sSONh^*J)*(VVXB.B"%/&dB[u9J=DsN#n.DV7p.En+J)BRNp}D#!{lZQb ]0Xkr]s?kbZECa"$_N]v]"XrB[ҥ 1Щ|Yv? jR~@ \DTTQj$!iP!(Є+qHd-f "2IO|sqb V;Jr_œdB:T)wZ]ydmJ7diI5E9ǘ*"܍W9D͂&!^DxlVb:&5rriYjv)0a,bJش\d(]~+"f0M ڈ8(qBrr@.M M"C 5 e$(öQBH`-+1G V:+ QÌzR{߃ 7[vbb#ǎ8FOj2NFFAR#C(kBШ93|E$SVuN2`Mڄ9]9~Ln34Ex?E HB?Pì1!*SLUT6&RBb#1ApҚMD(duHoUAO1캒1[)o7XNgn4^ `C 0͟hK(Ty2gkH !=nkNPRm #d̂ ى( UP9i]Q:}( L8dsEr 0k..ؙ;\S0 b&U6 H"+%DC Na2ja;)Y+vݥ(qy0 ,rjTDhE+%Hb BIAc!HH H> tiIK8dINAaآIcAt +9ȩ*t-uFФqZ#h" k,&36u&Z6V6ԥ4!rC"eT9B''((E>JEC]pn+a,(AJ`,5cg 3P%ME+z A$|0*>bҁ! 121$ g W!& /Gb )H0B-#4TQ -L6Z@_$)=:֪E۳ 7)7̢PEU]6h^:WIݞ20K;U֞Jwb4R/jYT\RBdGrwc({e|V"Dg:-ZV3 #E+3)E! R/^;U))w%8cuf.Dy(!)LbJqNt6^yۇ+AV0>)=3H70M gOP8 wnAdjatԙJ4J6 )U'˩Z5Yrd@ CvC0Q5 r Y-8JTe0Py[1;NPnN}xӓȓ+T勦#H{Vfm-md`AVbM$lzT ekdbv?R."HG/8MRgaSƘYUf.X88'{Yb1ZdN~jPGNm:cALk/I\7̤Z*#+%jaXhCqH̨shKY[* OiMKhQO(Ex8J 4RȴGDg$m0V0GꔤBJKzP^VӨɏnaoTaMw%ЈVe ב! ZS |ᬖaw~"()]Cr%A( n@@#)v u>:ʡ/o@;WU>":2huxwC+aᑲ^tD(PBdr"8 P!0f\^8Ȇ2qd/!QC%ǭsM£yAUVIȉpp>"`wXfwREDx1! Y (Ŕ ]P49G`0j!(3 h1)n5YŒ] E%#p(Y 8:g 2*:8((Vx*zr@hA(O5)ғm2b a#X8|_C΀b S _LS5%tcH6TᆠBPEG0aMU9~E¶ $FZVčaB 1@8ܖN [-,?,P+Ӥ 84!iHoZ$bUe 5hqRujŻ,4SH$3M%UB0(-P1kjZYK +3i)]s dm2WQM1CV&AEA[HަNv=9:Fς ^GjդSNEklKb YLuĐIIIpIJڧA竎@PVP$%ybJ_9h7;seWhe$CGg<)e( FNP&b"‰\HAaEXS G a4pBH:[Pl2- XcQd#;1Hr.[ yD1)$kEC00 L$R0$y@1!cCE9#;"8Z984tB/j`$(Hb^t Zp0=O_~ DG1k PDZ@4,œZOqO\'Kd&ʨ V8$-hİ x0A\ԓYJ\@I,I֧~f$N.ߚSV0`Qg4)%Cl)6ԑh6&Di=g3YJ&)t.P5قxcC#A?ESل2fX )%nlj!Xסij6҆!n1y2#,kU;TRϬWaIc` VU!WqF9+9_hPɽ1xhQ"4Q&*@\(QRٓ4VTyLPrH~$KV(ў@$o(c,xQMiLXCCy(Xe#Jr´BwP0!**gAlrLST+xf d<8 J-׶(ۙ'ru2$sZI KdxfJA~F ѡ Xz0HB,P4ZK0z P@fZPT:BPAȴJc;>sC!w9k;T\yhuT˄ E}sƐB˵%N1 2hÂQCSǩ}ZĻ1&jH@Ax >Xz'Lв^! nT%!+5J ^%\tТ kC =% R F V8La A&9kV)autlc-4_kDjAJSҏ%C)Q ")R13$ q(`(o%j|>;+h)e!r"(ľF $j9iKJ(ā@8qEyJj-G CA 9Ri\.w qc/P* !4Y8(M4)DbOHT 6ܢ\NNxX@jy׎r F0N1# j`Ů HY)?{^DWӜ@7@v1Y"?`l>0Hi5'k2(`Y'` "ΫBRҀ1fpj}(KŢNr;QH4OUP8ȷ2ԫVn'-N9o}7Y3Y҃1vYꢴoՔUV E.Uk*1v. tdIGo]X^B2>oKkPo$`g,` yT7'Dun-!ld9kr?NmfՉY C<֞i^`*jjbR:v,Y5iZ g5ч` 4cL]|c673Yd~ wR'%2\혢CuO\,! g%=>1F] +& VkHK$ 0 MvXޅqPVuɁ-'H\Pt xfdpr6Xk AɒDVH4`u)R@̟FD. cg.=s żX}&Ȅl>\Xxi>~ 'y@H8dHfc%HcTK[O~(Z8z,hEA̝Gp3 0W01IK}xSv<1!@UD{E\ d"[,;Co=j9j.ǜ_/^Y+[iJM̸(MW3qd2LX"ZK\J;Z[FE/m%#KTi2 /m H*#7*(ǵ;!#' kUW' eyOG/jBmPjʂ*5֓&DC\G/ ##) aE.CYR1Sݓ]Jlz@1v N{ANl/FebBTA,8Z$ma~ʦ,rKyRjDE*"ʾrUu7WO(9^`AF]ɞ!` U=M& ؂W_JHJ/J4mf|bÔJ?y4%mhAhd_g>%)(B]*099MPE*0(T46O,)`juMc#?^9c *%<'̼]4K DDiyEƒIs\#` 68w"@%X@D[F,#6` PL]#vl_X݇_ YvXtě92s1]8 lTXjQrE@6rTv="X#I7`1cL2JUz=BX6H%^So)\b [ybN!9E0c Ϸ A [YLEٗ^ЋCC6%y+͕`Ұ"j! :n~^W熴'x1!5G oJʇ xE1b}4`cri\lAnIZTC~gWeGqɡHSVR𹝶 s\ W dA%~>|0OY]mMkjYz\(ꔍQi#r $ynQ!B@aI:J^tV/9R*RS:sbZ}$i#E;#LkTFW}mPݬ.GJFQq}}T-ܫ>FwmJx;d" J 襹kXڀ"doJ#z z 6 $.q&( XM1S#́J!!?7 q;mƎu{ɠ5<$emZZ𪍽C6Yq+P96ZH%.t@1 h;BQ{ku Ih€au,T*B%Q=TڬFf2QؗCaEE"r sO0q 6`$ yX+zc2َT{$JB8.b.mE  r$PHA(dv$@dچjI ;9pE~bfP |[H +J%y$*vmP@K!髹hCluAO<=;Lh8FxB"xk(N$|8a2nnDkʽRԇԬqeJxBA&|Omoh25?1Xb1{7.`--b5fYgB& N5Gz,(=3xĢcjk7x= a [>=M\^%)BxL{yj%'[j($ \7V-ɚ_a;xe*QJk:liNSk __p`ߌI\v3_Q'j3eLy; %oib%$_|Z:}eV۟tL>azT(EQ6^PU-|sBJ%t!Ӆhu2$N}$R!]<omb?Ydw+ZnS-^iiۑ[IDѹ+~ _oGt֩/:DWww%)5 ;![q~c^=cmgcω&"<"նPi[q/څڝ!&LX e:V. m?D.FzpRu:KAt=ÀPJ =6Fd/AK) 0Q$\XG8A< M/< RF7^  U!22 `bQ` "P8hEH 7N Na`p7Hv6BygJĩHԂ9G7bjB5/fUc\Wr3:'4~ #eNJVWpNG(OeZ})F'+QڻHFZ \H;Jf ҍCe5,{HF+bdTafJfϔ#)r0K(Q;nrU+;\dgE{Eڻ_) {忥U0*Ix8_Qӝ$&B.AWB ǔ:U?Ԇ#15XUNziϓ6CfMiS[ l`ү38nC;=3z*@嚭&.Q@ًncqrh6&[2XyRk<030E&)ZxVTLOaz9,M5C7$a-_9,). kn?!b H; #aCj5K(zNU.ՙN\y9u,T/D-9[:իTgifd7f Wسӥzқ~}4 "k9Kb}kd uRe$8+d]dsnTdP/ªr*jXe؊(WSm dGn[Z 9%T_+ʐ(GD ]M9k !A1Y^ޝ3oMrɾ,ҶG(B /Wet?% Zw^4cF0m0A <`.ɯ:2o)U<}KƪȴP@ 7Eh'$CD UW X*9Q\*zZB1p[ţ :դ$ ,xu~=yjMtǓiYe@%Bۀ?_˯N#gҵq5\dR%9NZQ8K2.F(vYݩGe1IM(W/uıJBYNSS&s"ise8Byul427!MЃZ{ʬΟB۞"$+3pу qϟ!*衱%$BI`zsoar_&fL5>}yV& DP5K4gTYfj8n[>SH}3|IךOfQkiƩN/H]<+vbs;TZ1 ЕRwJ S.ZUN˖25BQSyC~n'KWeE ]O> 9c:tdةP4.Ҧ/Ko[ŧNBgqV7;) XCplo q8__vO6' mW,ILzLtTn|- /AVcj+YoNTQL_x%̯O_ v76l;!bd" V uD6xN]6YSI~.;:k;%<&U1q[HEZdprir?IBF^A\@+?*C`(H)QOOt{2i6^ sXZzb[;ܾI,T%$"nײSKFrY^??@'h3ފ b7KW7]g5ܮDi)/\ %cN?'r@OmHm$"YZ^$A*1CV ѷ?VvpA'$nzC,p Z,Y3)nU >A0=yczI|z::qZݝÕI>C㶨dzKG=4s0JW_iR-VfsIr8"N3ڢuH'44W֧ݵ*.zU$[6)l%5h5 oJ뫶_'"z Min/F.: w="88m:ٙ4v9Fos?.M#HyvfddTQŠ*bOKJx)B]9mlawTU4=fj%y )+M"Gt=h =/<B%,SW`kNzW2+T*4˥Q =ԧB.NfSx &4j7JK%-, "i9!nYpcDJ-h y_Tzm1s#\+HuQ!oSI&hYB'cP K@A rqaQ5f: #FsD4RK:iUբ=kK-ix_)To0ɈDžFIc+sD`|%砌y[q%nW=y<8^5G;ZC5L٭u,U(E^g)i@/^{H%3ubt$4Z%y]h%{;oޡ5-|O 6>`M;2'\G* e?$镻yF2[ENA"*{s?lYI՚ngH jTÞ }]H88+Z(Xfz>GG*b-ԑ'LXm`7f^"8, NQϴuIF/ΤF >AVea4.!wyHkE+'/l):>rM8zIdG%LUMS LR<Нϧl/=\6 3CiН5c, 8n!I|{Q$ta DOm> qIEH ew }̋htvКݱnqa曆@:9]v'Ė fk1}@6ldI5"F`2w\2\y (t˗i&:Lڧpf(ѵn IG:T|T;՝7lu\Xd" r%jʄ6bC2[qQ|KK% Q+ťB?ޙ'_֕W< C;T#^*k>nQ3&YctX+>3g!JvՓKYMevX?eW{ML DuW5B8<XMw[Eall0sF2]@`3ԜA[4h/uG (ϗJ[=́ezYu%.hT@2Eղap`.a(j:=u9 G3 Fڻ&%C;`=L3yп1)5Z2eh|.ͺ~PB.^aig#)_] i7dz#Qڲ_E[֪gwg9Ra: * c*^0gm(cFf$Db?fIv9+$U'Qʕ11*I3z:6_%DX` #(Vû zjl]H 6,O+v63WogLZ\]A\GQ5G[aJ f\2`Dk$8$l_jgSx̺)J@8Cj6v|5rc6\Y%n $*l&LS3$`8 aQ4mda WFZ EQGOnYC⌘h < e<\p{DUim r^U&Ɖw hUV`Fz?0 l>B mrnC#E_!7] .g hR ;kgT\HrmY $sJmk R[$W}WV 8DNM'G~ P\'vEX=&#+-XĨ: D_ [ KDqM"GWJ[SWFA," ,c)#hBI(k²Bf. _]{]vr BP?-lL T,٬NR!d\JЯX8*_ZGcq%]XplWFl*PgY{ T(뮔Z%(6PSsKIÚ0]nd܄')`o^@X#g9+W_E{ ^E<R WN X~g5EtȃXy[!LHȷdF?luǧo4R`"g~8% 'd#RקMC!jtX;3GdQ,8 E`_(!v ũ{ BoIΣlFeF:EWc}-ycȑp̨b.! JsD+1ٸg '&g7#8*g3淗E3C-> jL^ i3,Mpk(y:V2~eJ~ |ApyQ$,4g`cVItCCA !~1"t59Dz!x,H|piE" tT;Gexf"{l*iO3*%Ϯ%_=¿hb MW[83Ӫ]n??J& oq( 0Mgd y|(_MQWH#;+FQ0-B^Nc YaX4VLW*S`Ȭ%*YiM6bNIQL [F̟6i?t+suK[F$#:-#RӇJoEQ#=h<عp"5!t(^*AI[+,Bx[ bu8\hJ N8cVM$m#0;)GYm#Y4iRFN9:hebM_ +y^Ւ#(Ύ*(kЄ$gibY;dFwqԐP-dl;AH^PZA`den/CuAnқ5i2QTȎWc >')P4^DdJ7x:u:_O:;uF8 &DPI[,}AѳC$0LiܲI9ÑK^.NT'DZ~&݉]PXgGmؽUYˋ * >ߝ^NA5.je`- .KQXڽa:/AnjA~ mX3`|"U9FL*GHE)Nt<, RRK`H)Dwu9ш^EUm Eďyk~&tEq)(Ϊ2*``ԩ{%ߦL!5+ErqiPtah #;ʂB5-`m0+ŕ )<\($UI2QjEV=/zdih-$#)XOQ1nXߑV&*)]:N'dF], x]mnLX_j-[6k1XN"pa\]q9Lw-ԷbhqBFl²,r8̾/ߜ'{{g F-2!+x*n&( wVsǵkbO93g)yYRv3*8.`.SJιP`3%4L)1Cg*~_FŠJyiB5BЅCԜhxL-\Dp5Dm#3X :<װ@RKn ]JֶNDL..z`i?)$/kq';=(଴*r|(m,1c3{ɋqލm~P "+bR` ڙ ݕBŤUY%{|,?YUE0W8" V҂,oȢ*9Q7r1x/CBp~9n' A}HJ Āk%f>bڮtQu6<%wEUUNiVYR1,in}%HM^8(zS&# NHoH !Bh!TuCt1=84%b:j9Ime9Cqw"-. Mo6:ߤ"Lya &9(ɺ'P(`{Q"I%'d \ ꊔZN+{ &  urQע+13*3&&b7MJe!.Uvoq2rut-g֊C&a"Ӎ[wZ*:kaTG=o* JsSV%'+IuX/ IKjUI KTwr:$g%6_vd'nlM/;!uHzY^z Z54*& q~wlyVҊLyo b%mhNѾebjd 7Ðy-N;ESFQ%r1J}AQ{Ĕ]RHe{ĄW1t_]a-^z@Β,HOHF'fvMD&s#؞x6!O1 (d,:sZMeԸg/"`؋SJϦWhnV"ix[Աe}Бxa_e#*/t"0B7)Q|Y97bNbSf1T:{"'OeMdį+V(%y`M݂bń1QHf[j7-:!y<@lbD  Ag@\2V^$ .1)"Yp YCV'װqE{XUǭ~H'> yo⏭ulTH.K/ g/.+F2PH-L+%`!R, 8MPQ юL{``LTDi67UO%.s^AgJu>-ď#71xO8c(< \4K랂"@ u^ HpHBXL `D#D=V9Թv2¬e4T^w< 2q/ށ F8FWoB$o`%A3`# !/V=4Ϗ9ɋOچxM1 63"/zDCWN,#6)\9ͪ[=Ad+4He4*hOLZ~Q`*%Fyb9CgE2٢D#JZL i`30U`)CGPKXHnV**}wMzYY9Fе@'7VusK)SJrF0%# oR'S,ԔQyuR }TԽo.uSLIE1rJ[NVVRI.bU44"ITzq#*D2FViH˻Quhi;#=/ FuL lzrrQ)FgzQPD/d(^zt;ɋjzd ϼ^\5*&Qk}Frᒙzd:/}G7PTa>*Vv3'> ׹.uXdJ%P<%xFx=Іd3*xK(%%1;Ro+0TW+T[ōҋ*1~f.$q*E@]D^ M8@'2's1Rٌ".Ņem! dECu^b{ޤPZt +iϔ́W39lJ՚{[`/2V[UNXN,&ΊCЄe}i@F;d nQ9rr1aC7l%d̍Óm`QMbS6~pQ%PϏjǩ:v36oxsЄd-hC/~|Iu\L)XYH`RuZp2FIj-FNA{Q]H)ZuG|tZqG[#J5_'GPqj+' }ߐ-4v{̲a&xP"Vij~Y>͉ot"Eb #;?ZվE`_D`2_ۣ Д2rWֺVOYP>!y z[9{ɐꃗ:3@Q |mV ozԠb^c^UoWh6ScUJ#4-A5Yq3<^AL^Og䉴J ȩd1*`C(r81"y9"MD[ 3GhLveb' oWqJn/qEIVI$8"<t񁛢v6CY'%9}v8!ZҬQk2o[2/ӻtmU7~S8L`+*&X!X*G&O)ȵsuL` j+zJBT2k^)}i/^Z5LЬȅoZ}U⺛,@nxzFlNՉɚKX ?,lSv+GO6?RgG͡D keplAN"qvi4ֈ[ǘ&4B \#wu'WAyڂA.llr *p""\q2Z`F13oTHdѠ &]Qj#j3TʲPmb!ܢyzH\RzWŜ)ZO݌/T'u2z Y3bt8JsZhHzFZVh,&"GT, %?t BPbrO* Gra2J~ >1D+FaR(+Q Bj \qM3+1aCNˈӸd>V1˪Z"._VӅ,)߹,ݺ{-H |8a :Us{aʅ6Ro.c$VFD#[8:NQAo[f^R,R?rU_e=pRZtץ'֚/Οcb%>%#tX)L (wbtqb"+/鼇ZoKQG"Kq7KOS!˵Cc@rY%"^,XFg."#Axt^Lq22zfQkX\fg6IPF9'ը _&H=ғJqqҬegGid5STGуFJ": T_ !{ ։C/s܍bBYR8J5  sHY~[yS/uZ{p}6\OT!8j$bOvIfidL:% 6 sU쇊)F@*[{ڂIqS*'ђ(hL+\yqRɌr\37| gdV@OMfw Ah :cs*Z в%ڥ\(+aC/R޾n7Mn~0!dJADV{G.fR&rYo|̝R8P3kEL@(9Ro_1n142s,#(DN}]cN,–H-,Kh]S$ʫ~' RU^v̛B 0oΎ@v)Xˡ0J3Dǣ?Ⱦ]Cq|w)GlGoM0޼mֽ?X_iz|x\ɞ sdc%5*D8EkXH.eq9ȼ=]}N1k^7Iw]:U@_3>Z(!LB)PWvdvWZaKNCCC^>LL)b.|<GYwa'H^TRspeITU*G/FD@Fb)R; -%5ď:7MCJS eG Rhl_s{?O%HPG x[}Gi O vc&J*.UA7gjҗry0 @(Έ& 4P2;:!"Sg%"ǝQ3Zл#Ddu,6eid5,~DԜdK&sV(2"#$6{U35w6*Ϣ:F`D$,{1p{U@D(tR;EOVVNYpd|N^njH^BP=A&Tfl-%$J'ajRV`^E˻d(F錍CzV4' )Z%ԃџp >5gbL'e!8 *x"r xJZr|T qrk!!&͑TN/$ĠAs_1~馰CM)IB%oaV猉ƹ!@jatljrx,&apN:z/-[~iI26#3CB~Kp{֢f/Q +VZґs[Y%?szxe0ko,pPp< >؞\Pe,PJ;,c?SSxrO KaY4Td><]bbIPQjZc"#4!(RŖ'h 0kpV6}y#2e"RoJ6I<2/|UmRT:2"Ta5BNױ:)uW+2o!XMB6U`*d( j'gQ6W5>UN&l9"V`7uG|l뿟UyUjB+`JJ a@++kO{JmnHŮn@%3Bu7[\uQxSiH8eBf %ż%| vs 9Asb⦦Ir`d.ƀ#ȚrM+<+{>8"צyD  @H]uE!TژH&$g!>{QP_7(]4$mlH߳v%MJE<>Inw^Yg+ F0;U"6"&V(@a1YIx~ǡ Ũo4X5jϾ.iC,0ZIrZ5,3W& CIuݔ-9 O' ɡ*OL)`l/&YR|Be4.dUIå"SQHPHF5`4rtBIFmwAj mQu11 'R\.;YFq)rZIi\[RKP|〘uOD{ fF9kqQ aiKUD{Bw肊EfrTȕ=R_^8EkR !c\DR #:%33`ObH֡(o;['%L,mDDSL$ڨUzͩ԰_b_bA&* J1F0QBX.~l#eL?11.pFn@߅IzB1X՗ ROaRQiY>\Gko_F㧧B*~_K>h&G"l"Ǜgr4~g#gў)#10B5P8B@Rx!V9:43>þffMȨnaC̡_dx!^bIg'[:ѭ8k"y'[|0&։|nn#?BZ籫dP<.2vnՔ7_$ B'" %0i j%8NzYaR8Vo9Clwj$JtfY*-U 3~3BQ#Sc PԁM(9628ӇUEx #t!  2(=F69kJF&p)ePwIQtBNWt4,̛o|?EL{҅6G~0kv4J$:bnoERrp0j$i')pȜ 0@ PPp`.TW>EGACuR[ -N iZ&q)'r`ϝՏ5h"}jQ5GÝ E8>ʌS.E100QUk`' =U.yR0Ṛ0^rU5+z_K,,_ɭL T7ؗ3JΛɵ _[YS^nIo,ű(Rȶ {O-Q?UFz6Yt_H_nd4+7`_S3_NQZ/$Cba( F݌ )K@`\Vpl6v)xD FrW/KpHKv71;Zo+e&Jre .-TkH527iG]Lstf[1bLPƗ1kٔ2d?BiU8V%*cu+L-9< ؕOEWv^膒KQR ٙ Q5NEv J[ 5ʐ5i?'{~bD- 7-Qz硘ClOWdTGcs\Sި]X跆u5%5 I5AKqcg!*"4t=%x։5jkzom.7Z#b'ӥԹ2ti0V΃FZGL?SYHJH<d)EX颚`u\ql#*;xGm3Y,˥ "-)A=m$ .[zkYYr_%iqwȩk[Qץ̚Gq23i=&Nec(ju31'XPSQ.,- ɵ2B#XVG#3ykve8էgExJ!;&HU$< Ұ>9RCjA9yM PwVg8_d{.W"eȹdɄbH0wpC"D?~[ ae"?=J],Ɛ>N*hf_*@Gp^H4l>&UZIܕ>2K% rF,\۝GjoFF89#l^%0y4gIQ;Rf$KyGE{|#Qy86(b=}HiZ2V"u+ CWF楪oTRjZ,1vu!{FʵN'Oj%(2X7v!ݣ* "P6(AM⽂YEniX hl@^$lV2/U1-Z}NOb.ˤ_J QţDٺm<́ wK̶)`~@#e8)LCΘpT|! Im1s۞0M~S"CڙșbӬeյ[ [ЕƈR|/|Y O%GOHE!fVR+37zZ?).[D“aRn_U㰴Ue-b>/C`Ux& #FgJ JjJ/{LA+mO*V>B^o{b7GD(dcL'0)rƍOr+߮dD~:TSwBljA){ >7`-62E.yjoMUf,:_Ҟ}9ϦU6eVIs0y*!~ "bS z%8oK@uAC&nZ><4RD!ŷ"nXMdI.$U)Ir=C{lQa~Y3~c|a. FхUv rRzƓ9]'rJGD(38Nr* -Wz\-6fUTWϓ49W5oUҕ=¡#%3oSbVC''jw; ik3->[1)6P{hZ S 6xlJH6Jj@3WE(*!:R^*Z#9=-<Ƙ꡿C;W.(ʛy5(? H PbҔRiO%a,hGcV$'A$W7>JZQH* D42eRHDc_p@mK:t˧%~PٝL?3/KoF1ڴIe2HlԠ;\T\~>1V,+bY]D6eV怍⒐BC2Q$B@)HVX3Ս{#X#'܏D"tVB7ny`@EɨLJT*tW) E S W(|f̓rS+x&ze0&D,w7>ܐû171yCQ9^y7Gh\$`ݏS[+L\G\p93Ӟ+ ; A.,qIbHŏ1ǁ+_m󘋠_V4-tZ:wTrwđn`ubMZgZ+b'e.zp%4!B Z')Vb-nГ $> E =E{<0.22ٰkFWjnJ8_?ua-e{bH Ը=y/&dT̉%-vmbOR`E|"u{-!v vЉa L LG)aAH;ܥG%_ SWM)U9-f=J#!$p\>I7].B 3=?D4YwZV+Ԅ, Jas۾F԰r4Ws*g$F/m]Gc}^j JA8C +@l"%^-^c<âBG7^N  MBO2k7nq+a-N!k.2.`D`\ɑl8M*\>>qRca6-N?#HDQ}VyM!\@LLq뎚b@졀~DYHn%F$V|ƅ_֮v#iA :0kH["9s%LrÃY,7اFȦK{={IR^~oߩ 6YÔU?PIa4 й@+_tI*v"P "C2WЧ](Deδ4 n_Zfx"_MIMFsmV&#hS2K2p4N N[ _btKIyL^JaIHRw?ˍ2Eʤi1JeW-Iޓ"-tjXby_T.B5$|#$ q9[!X*:z0uG#qZa]ha3aYO*h~RɈD³=+$l+h7o=MR PQC&J4Σ`D}YxY/dwLNi²q5Uⰷz]׭*ߐ)Huu6<.bNֿ3-z!be(PK9#$TV3@k5!YgǺ*kg%+#ْg\,vܨW2&ӆiv#CuLSrHjb4;L$ &6 EA4,8$*DAUN7rt$1Y aYZcH EQ,U֛3WbL&GE[ d`zR{ǝۼPsr *!e`""B|3^(t9 Ţ1 ^W+. JmОLp봔{S&K .܉n1cͩ?~چAKS5tN \ AVg81Dj~7.042Aɋ x&÷%W=sݑB҈ UκKZT!=J"霙Ԇ|3>+fME -q.So$sD 9Z>/Gb`2RHfrM"V*} F90o0' N(qH")f(DyvdH#qIO*3nIv{ ߤM+Yd-bITy̢J R)c8),);F XnMe+ʗ/qUOI )U͠LaK 膙Lr!NudJV dq&j:so|f,a Q h-D T =aX,YYbMdl65d,ȣn޿iqw!ZD5$L70_ߋ6 l8bm-魔W{J 嫋*CT*(R\nOT a S|x[jA. -vpO7LϦuDv2{0$bH2稖#dy,Ug4& v];7@oI: S=XBԢuct!*)'@ BPMeaӦ&cj-U_Z^ |Jcb>SgaݞV,R"p!^iQ'O$+0 &8q#BDӀaV}Kanu;oo?6qͯ_0SX7ޚRlKF[Saqe+R%>My`Ų 1kŏ"CG (PBZ1+d~g5DXCB;!րu^#bHU'πb8ac5!12νO.*لQXp$Z R㘟s vO')d~=_?0pD嗖-ҏ?S-RbdPgs3-ۍFnWu}sNFV̌V|sCMA;]zvbIljV8򀉎Y4c8P.E{% DzX&T]80^!]-75jV:kW#P+-4ғ4=ݬ(_:j{Ѭ jl;XC`NunYbWuZ+АbI-kG^~)(6J>GPZs(9ihsd"HIA@u0POy -:N!{ԢU ێC%ɄAx!>cq8sx %˘T.fWKBq[¸I"!+;D\bLl~N:">C"9KHF)(msJf ɻDEBd+]2>K~FvRQ H9+v҆)KvThiG33"EPGr¶p| K4rJSXT-qF8<% kuU0J4RΛ|CqU9I2T2JH 2@E Wt,BDPnAPM ^+gpslFM $& "IHʵp ָ(yZ!wɃVX1 !B*, _iER?7D"LUqش[̊mQc4WVkߝ')}Գsah_;ጪcyERɉ>]{$24Ƥ9x7"XpS,W~^ҸH 7G}W0,Y:_xmYN}:Y5ʆoj{[H#{P u`M*<͘G)G DF|"l?`Н u`@ō dYM˳鑝B,aEa"H!hh!fn*^6n)"Bk>V.BjadTV-sٮ5TѨB jĂjyr'V.jd1a=N]^Qr:("Jr~R髑2]*Eji y$#債6{DWQIc?)”pU/G>HOnf/x9T~zꗩFzE%.B+ZȣC"b5q~Eޕ/nH/lljm#AiP_y8m' g& Uq:A^ɗ192?V.f3V>*fO?Sx`#L"7>ɣen't(7uB\2KtN7U߁"ԏL#m]6_A=A%ȲX ɪx.SJ;ΩuE59tR\VwRKe HnqsMT,…s@)gRY4sMo-뉳n^ f̜Y DTBi䣒!fS\PRH&MRG-%p5$w/ftBynK5uf*=7HQ $_Y_Oz>I!eB!9UIfOi ';:)شb"x8S%$eu:>&EJ~e_Q,[b-?dJBڣ|EsF7 !ʨz~_XFU$32CGǕ~(kw|xG=Ml^ Uʪ{|֯%O5I4 :!謆kS$ZZ}UwQp̫Rwu#lPFE0i#c9bp')'9xaBdvlQ㿙bB]B)PJ)wpHj*3,OV|VWQ1hpO=89;yXn QA"%$*~8czi S)LX, vL%@D): WQfWi- =(4F%L@c[]o@C2Ԙu Lt^"T#iMSiEZO; !U-;I4 ȗdG62VD_"#y|#۴v\XA*,L#^DO-Q;b|]# 6g|'&1M4{ov1Uߣ`AwDlb[es}7%Ln%7{G(Ig@"u@^(ɨLjDxvf濂 ˲~I jsns n,ȣ?;zXڴǍT LrK6 :0xٗn4[8g5$%T}}'cEQK_Vƒ1b *B\&LĨwĖRU#OUҎep-.'TƔH?dCD"Ah)Ą!ajD1$ PCw(!2*VuAN;*pc!J'00 ]Z0P $9(['FT\=5sƙS$H2>N%ASe0 F"ږ=ROL,PdC\i*|)8"#P+xJ(h#m,Q#4D_yCJ ɔUFBqN'uney RT1ƵGEvHquG#r k|o%,bêg  1Xr;s$`-KxJGg=d`6?\ rP<=*}&v:Ʌ5ղLFxqj HԤ ^Y5*|r#TyGUVnb|F?%?3)fx%ȍQ1 &jp>6J\$N _4!Y,f&@$-EHQS| 􋶗6)-D8LVCHKkKĹ]'03UT>..)Jyf `!j$F %8rpq!e2`ei(1 D*(!cXY(-d4I„HXRb#'“IOjiEM,'jLN>,VI5]Q#=RRWD}=zL:+;TCW,m|bJhGGї)h ɾE!UҖnnicAtg/S5[FJpns<@vv䅪R`m0(^VC@`}ʝJ9hë EUtt5MOj,Ε:2<ʭ53d$o duDzd XR@$W}~e RC̰\^hm "ǀn]'=LT¤[cT2ʟѶ iw!DTwѲ>] Xi 1Z5jAS1R}s`.FK;. 6:s1R,L]]Nř"ѮBBʹ*޸ķokqb{i%JnBIPSHkcQLmcMƳ^cDE©݇L~ Ǝ4Awp}fVrB5 =q1ѰĴZ$!Jd`&>9R&粈TJ^oNc9Dldaږxx$ $UVQt_\y wZ i 8ӎ$\\X|$OµaSl 쫈]u(H6;b0 V`Z|މ$]k5x*؝4>mo|LB u*-5c% VOakhhGP} "}j +r@Oc!ZTM/曥#a0GGZ2ACY%Jض{nHS Tvء3ɳ䗗b8.aZ,M ['±N1Sdfd a&!! m`D*DZR"-M~KX.3HY!%9% }b<$K=.rז6aZ"~HG.-&.,֊(bȲ7=A*>b/xYcQeE&AÕ%hn[ ?R)wF/:_l}.xO%dsd6-y mLN\ZX8E,qݦ 0m*rH^wbj†x1 xu ::CKJsϱtom3 NMxBPLQ7dI{ 4"uV̕U*e_Nx('x! }aynq*񄗋De(+ƥ́U,̢Tׄ`vƵ^ƝhK*ŽY6yX aIK,YV2[, 5jtyAr^0Vg MwO)BqV| Ur;,̴>עi>E"I-錓2W:Yݭ$X /Qw8oRH_\OB1ĮE L_׊CȸvP[ ?G'C"2ks9*Y8-:Cngb搽f%m}nyѢ1bL toPB!ʧ+oшi.U*4le$ʑr9fp۱ OE0XrH 9ǍO,-:`T좹j&b̢u֑,9o.:Kֱ}#o7r &)ԝގt`=B3"Y5^=(E^x٢΍v{UE`G\/sl'* _Gȸ3b0$;+<݌̃'ps G5'2!yuN7x&cm8I^C~:&:s`b]RcSy[Q@ɥA 3ȡRhxТEe I꯶U0IwhvNKBq6Uڈ6(dsTR4 >k gB-AC 2 2PTtk&T/gN 62}O/*( ּ_V"vذFI#=/M(v^=GԂL.p1Cy(v1Q/c)dϹpYr }>Bo,&ŷ\VIrʡQ/]$ sĨ‹vR pA0z{R Vu׽JMALgcBGVJ+}4|ZO-3-ʞ?PEځ'nڢeL֏Ij&yFSIm*r6~),x^yRU4/J[ 'I4&[ v% "!)+nҪ7"+VoYrb { FThi5ꔳa˿?tد$+hT07| xMbpTbmloR0F(>XA6o?v#V=@DGjnu o(BLHTIR1@%H,-+Zls'Sf$R!]mh:UFd2J1*mIN;hy2ɤ ?RIK$*ʄ ̷شMo3[@"'Ցq,3ܵztPӤ>,~ԌDbU+mr鎓mS EEW\OXF+&nK+6I$DH];uI,;k80I"+ya"$<0&tESD1M/у *' X%7zyHln7f㎴i̓/YXM e yI.j k8#1neQ^jB(U뾜 W.vLӨuYVt6gGd 6JgLj'Vᤏ$jO*ɽUs.R2e2Vִ3OJV?Z `өeo3(P0H4*ְ֩&< $\,,MA 4t:eAa (*@QNx .;pT=MQad(&ʩh.`BOׁD xP\DUs2!YyfGƖ O5|H2zٶc/D䖂7ن!5>TM6#y4r=یi :dUBioppd!%Ik+StһŊ+^hgKu.(Sq52E5lW?!0 ]6>$t42J}s!破cnp!n{! !5["hܷ"]+RD`E:T :}s)tm:3.?B%v xKur=}J|Y`~2{&V˄n/#(:9E﷩UE&8}Dv_G;@'n;Т.,A^Mym`NbFw-VEy!1<[Iu#"Z^mwczQ9eT+ 41jUdksДsذ*˯ w0ҍħ!-8y DSa(q{x22JhROU'CƄ|AД"2Ei6ulqo$&phUv(vIC@F5$pf+X3ǻ6*nr)>VgdSWJiLP&TBE~H{)岚ȑ[߼֒7|og7{}z=t/9iYabS!m0>h&$EzQ 1Y"fRCͤH 0$lCaV L #$` /3~Zh<p. 6(En=A2ƕ{묚 &IܿȸA Vֻ/GM·i.TF%mNG'Hhp~$p&@3T20iC^3_ 964nݾM_WZ*Ba3j={ɈljPe<d'=Z~~̱wR##K (~<29]&M/FDV\WL0=Tp}r*yM#DŪj7hBTdۓNGu5~< lC|p`T;6Y͋bM%d[Ї*[p#TT~ B.X0V@x |O=V{" sD97*^t:b53(ʧ}]ƥ;NjtѶjY33NV6hKSu2>eo9 ^z % C1顤jf3p|$Fb>6Muyٱ*>j C7lwgdwG໳y$bj9){"DNo3" uG#iXgԐGN$?ѬPD,6 wWMir>$D[@;RH2gF9+=>F8B272K0;b+)o) TǘW~q,p#"6fWnA$D(kO2@-.>F*Kt'l7 (j;&GLCuKbs30!t57 ?0-r_qL@q<~rv hAMD7VI¬Z?yYYa >u,J(1 Oz ؒH -.._׭F%!(\tmJ-ځx١d VV*HvB鼹 ޠ__"0lMsECvy\{ךMd:K#CX,7MB< I>F8(Kܙr2U9c椊LQzFmiJw~{O?DeR!U)FB4r- H5]EEAi9jИ` ƃvWoB4 ̓N* K<,f5\,"ǚkrYf%' Nb UV.Kr4Qrcū7좔Hq?XO𿡘0Qȓ i!s5U!]o aM`.L-EGmMZi=ϱ8"#,v,Lj4iLf!!yQbQoMMw#U"4KԺۋ,K!:^0SHV,v4EJ WޑCᩩ}@J!ȥ( #Vl&A@x@ZO4-uK꽥OwweKS,Ѡfd{|},G[Q`Ap\Ljĕv/Wl 榡xRmeiti˔ E0N DYS#fַK7ކE{dS9,Vʀ@rPB mA `m\fGt46t"2}I$C$>Yz`yB6z*ӵ2ݬOQ}s`U]h4tILz%b#Įb*ЀLfx WP0lmVgw!Bp~D;3%kwYUya 1v9#:^#}% %U!,ty%)w^{9 2x-'S#uˏҙh^Lfe͌ -F>\9S\Bdu)ga8 dm-5Ot; Ő&qݩ Օ#^nқg% %pX.NviBuU>z] ,iq5?XMTYˈbbwѢGlS}vwd 9S(}R~WGB\(Y6$|YœcG ZxVz&: OLHf.zpd <t%nѣN)TQSFFqr/-܃4EGbeعw *#nA_ڗǕ7[X Ό/-:̮\>x9Nm3wlPFO=N`:CQp)+h+QaWSv"3nd#q F^jfonS5\Jp6&i{esx.Wp6Y m+e QX%t*~xF驍 zRT6hQeV3b q@,A2cf4ov1}E{KJ8\1zHIg|w+Fxhe&GߪA AOL t!cZ ͜ jv0 -+?2bEyPKW#h@=I<̟ʟ KCˡ3yrHO,a z ~S 'TGph /f< ͛"X%,wqԞ9,&8pkr""Sq@,E0 PĉfkZ> Uxjk`3>A,:T 'b D[CtލЕ([Mer#y5%A3:/5vm6FA#/6]dgwt/%.W9UN$ku0W@\_%ԪcP%2p  Oc IxSqǤ(rO-ۊ 1#Ƀii&k&{z6鰣2QOՇdzoISڽi/KY (L聊$wπSBIv\z)m,L"#y}R!uZoZx&UX-$ѻ5J6{*,$EbnTD)OtA )R5wvhܨV"{y7HvP}U֌[d*( 'ze "AS;(4O_/ Xit]w{$6RTeߟk{LVM!!B@ ٭(Mgݽ/2%pZ U*6Ij6z̒l"]DXJ[$mܯoo d-arU֧[``S!2|BDaI1[b5DMQqhD$0$?Ibi.yҰ'C-mef&4MpS׹H`-F]e*A8AtH|* LjvvhdăDd*2U2W_O.CשRbpU+cv#{SrdZK1(Ld_{p)uG"bQj6et'ljU#L|Z)7ibV"Eo^=9MJ|t]6Cz,%zf4Ě(s QR 24`z>Ѯa5=Sr!!M1۹VޕRMfu9*ڗ[G|ahyVsC¿$Ϧ y6 C9mo1B$_md#'ϭg U?B: nAC*Dx/on(NY3'PAVɄLI{6rHiܝ4NR!s6 yb8~`j7a% )ݯASM,r6QAUN$KscH_o'5mu/-zʘ]fc퐬!F$9(K^ɱ BH)f1)K 4*a4G뜎&SP#E䀛r̰fu"/lk?B^rHZz8+J(|_ٟjCZi{ȕ'U!&g\4n"0Ae~]@֘V\) 8T"kTwCCt1--J "MO ;G_辠Q6\[+,4qc})(vO\AҴ>ۚڭ#]T- gEvK9oя>?ޭdMPboGa 뵮uLV:d+YYS*DLmmU9qsjY+:U*f%o WtÌFv`LC G9p?|n6c?Is2Qhyc`́X8b*391bqgq-TR& 'g,ؐWa$vUKor %RzE9r줄Jl(+cr1d^J3~kIsg]6z&uvI1g^$WG"YVSAEL$eYZߋ‹|ODze)׌ -HQfbש`&3pIc} K nd'c8YBy%mKQ0巉b\fDUS2JE2#h֋\ȝ#.j̍2idۭ1zJXG]FZ:pJYW'֎3T{9 ͩbȥg-f?A.wR#?̛!rSAjVI5 yo|<6pusc?>:=V.y,1Yԥ&8|V$8MX7+7?0q;u%Rv䍞5s둿avFaAgegtZBLs#ZjƸ*rX[??nk0Ab` "$1O^eLMT>SXS3"R`h\C5U@4 Ts֝T'4oM_e.Lv ݗ6$.$c!DgrYBgU|cp0x絧m}E՚瓾86Xlgfeg6mk${sJkZ^iԦjRSo$KuvV!pc.4݄n9$U8nf\11uoNR6cN9ш,lڋsŔ̅bV?OVDMtZimxBVNY_2tu-:+gC9M9E4 AP bhh7CdE M|3MMKjG;_I41;,N:91& m6mm,]d>f;J[d , й4rν)NBMμ$9$V8k8jFVޥ\4En166q(B⟍{Ǐ-S\K{l钂ĖQwv(&&V@0;6J#ĂDL[qY4Ov 0YP.ys.BM)0 8 h 2ؤU3z3e.Z?K3[n,P,′is5n' dx&.aJʹoR2|y?xJ$4/k5KPe$|7!0U6љ4,7rO 嵂(KqV !K_Jc)FpWCm2ct]w3әˁ&(9Lk-mVp9,}VOdhגcnYWhSSEtY(Pޥ%=y0V&{g$&/?g&x{bbNwL2aSx Bqb`HY6"8KIq61Bل_4#B|¹\n`&n"$ 0l(< U^D RHKE=dѶ;Hܭ.5_>m\'|Uv}H,5mQ>s{}K#,D"Сչ&/>Q :ۏ-eH j AH7[}ECu bºzg9z9'uײIa(R!rt{sYOeDZ}& D?cyO#6e}zlMcY"Xʰh?b{rC/+4H22byr[{|JGɯxgA%ij/횞ּz +:/>ޝm"Oeh%fhq隤9zP lak;GCHl'K() dɊ$j0A:c>i-ߟatmRl7= d:J9XR(RDnFcvjE*Cž/.t9(g-.WI%T_Ԣ5OAT#MܐhR?H횟~k|}6-{:vܺRepgV;̖PO% suɨNJTS #*$H#ݴ4z~y@zhW@H$ e d D@=l+$%|JC/* st:]V_2.fEyn" W3֭GH/Ja3k+ᤕ(lNՕ p{MLФ&y0NwSSݑK D(agld E<"YseuPyԅ`=#B%U(#Mժ A!e:Yrr,kmE6ke{ <3hPTH-[QhT,lfZ:!kIJ7jK8YGXڧ ܌G!~mie6}lyE'~4<+3&!B6/7~;}WjTӷja]``fqk?ԂqR/oOదb9Z\>w) Ap݉ƂúK*q:ق@ja ?uDs5Ej^7c_ʡuYo=I$Gxa)tɌ[lKQ) $d);bxE(e\7IˆJ};fԝ0IgpƽAKNIeW/`'_nNe5)pZs;WJw{YVmOKmhZ*R %$6I a/7E뾲Ge7II82"~Φ")waGsÔjf:KKw%`- i7U}. 4*tF-w[D(M"FIiN5X!ƭXvBŔ \P"I !P ,exSq Ղ+EKfX~f0(,&s5aDK#dJ[EFsPl02%X1ʭĩSPI2J>r܃AID gءrTP/}f㎭ԑP<3GM3*^F*Ϙ#D&cZU-{tcL%#,ΨD5yZGȻTڢقB/q;$X"a6~C@(OBS*S";D4nD#UPDn  đ2DH"DpB;4"NwӝT2AtJ3 ɂ0;m'%u¨qzF?|OKS İn^",d6IfHPmM-lyu>UIJK jK& @Z_PH H59"S;qeNlZhd'I>ġL%!T8jY"8M1TU#pPLAճ:B§k]r[JZjHns;q4] inѴQ:D@8\&xN02Z$PblՉ`^PphO#¸S3yb>!vɶ-g+HNQj> 2I]˪(fbucdt~K51 ~Ih)oE!I,Wv[|hkm #aLIHʓUzcI}77 %/o\@eK'myBzFJyyL'ɼJJ'_-eexqIgV-} mef 6 duQQ vhMeXe|6 hu"e VX, }O[uERGn&$ waءڅ4,+y4%u%;xDJyE1D%:nO#:Ҧ*0Fŗ!ODXb'IdފS̨>$d 6(t@ΚG)jFwjhy\K6S 2JVB~HߛGPD}MJ>j7"{0>*ÃmYS醽Iz+)HoeL\(Oc"TG(\!J%JDSVu\b6L7Œ$P,ԔHvWK M!8KP+$!=+njЦIJҖvd|ᒃ)H|g7ZAuLYD*_$hsg ^+K3 q?C R,"E`,*rb5Q H,p}τYa@п82|kcr.?z(Q)5%+{s"iZI以4,°-(R n[ X-)q W-S ; s>YNxpz@@tJi∫DAd!lK# 1h85:-DB;:{mMe6G 4l%`We#?fB^!H昀伌!;`TXJ#0 _uБҋ26J83ޯ+FڀQz\h*a1P}})V+]3pX_Tpnޣ%"+vz;vJWfIik)O/X#;vh$iYbK17nzӅ;Voʓg("!̙)hi% @"\\U4NNIďGv-gaѡ-DI釵a. -ABA_Lsj=\ nma8NDT7j ]#S2bǗzciքD%p*G_ݑMxՂ4& i/ڔ T)U;1Fŕ[\"Rh Nh6 UKbS`a!@PrJG0zkE5abjXR719% c ޱb{D_Ձə%ЖzF||S:X"bݲk,]!gE/I{ p 2McZ[T#CjK- O&1Oo1/fGA8OTD+I2#!9'WF$jgYC`LJԜL1qI 5-"&v._VI #V0&VAO3Dxl_ Db%A oxBA4G5d5%BΕڙx6,Pb LLzȑ!"$V%򼟶հk\_ sg>"j[н2] .#rSF@`PGaUɳs@>QuiA j*b&bwX}F{(@KU6ْƈky{|2?}Jb-S?=ܑ͗-Nj{k<_3732ͯʓX(R[-rWieQqaOk"?D2C EiN>tJ.NfOR_]6-rfIUH;6jE9˒Ynj!Ȼ꫱peӃ{Rʇ K6h[L1]v~] "K*I/ze?01;-M^70hԩJ/-նÌ .kvO>?hm) &=ea 2Zqޠ\M;.䋺'-e|W+rjk T) 쌔 khBRȃY9LiJj)oBz/SqO961%'U7CVP)uۓ Um]Ajؿ}W6l=&"gLaJsݣXnUC%˞ HR[rIܸ{D~8K=3I$"%Rq/?J5[屣I1nc˭]O~^plܩɭ%"b0āg4 O5N-QYK>rRE*5t$$gϳƼM'KҮJM`$+_-Y3=\=u+8KgIoCU5N lOd3$Oʆ+.ɧ%.y{,`4o֪qwˢJB+Y%|6[]}@~Pk{Q5HKX3 dĸ*G S@Q UM̯WgVh~u\&G:Yj!iD GU%c U{CS{I7>Bde6.WlJS[n7dդu^jt~M,Hݥ0տI \h2LmMZ7,1BħAl2YO;,ƩU4I&Grh|DbkOlY?F:$kyW3'ix%Z z!4klhGZzhGvJzoo+6:S@LѡX꬇TH =΂,|DNЫ}X5*Ieu cU"ki %!l!AR%ڎj-m9nhR9+ sqǨRIc;8xEPnre uoM;) ʔN,S!1;h)%UĂ}Ys~S+BF Pъ 1L=\:O^;GW8֬^J! bhggԸlsl Kc_WF[Bn`Ҟaa#t%lRE) ʖ/S=1n 5rɽJ=bAӢyzՆ-%pjL@۔GKΞ>ɨNj̵GpӛH |@%4 /Nxqn-_y5FL^p4n2pTViB4RTQ Yf  Zy]j'RN_8XozC XӅy#p,xncDO-VA$/ JW8x +4”өGP|TB($gtiagQS3 ,q4΁*zR[J "?/.{N+rP b4hJL!.+^"Da*%+z/3ؙ{BFYEG(FYV#X%"|ЀRQ͇6bM Qa(5NW."/Q!YpSa+Мgԅ$%OGBk0O DDϗ-(uDAw{rze[|-_JKx>"Uil @#bvL}FyG4E*iƝ5.%jBP~c ='ץ jEFy RǙٱ"\Ϭ!lp v$(IklP!LL鄩 Rl+̓8%D-IQg>Ď$QF5e(Џ^"Z(Ծ2λGBo>A=HhshQlcUq3Iۤgt`͂:HSI%1+CaO+@2#jIXj &X$tm74U4CяeMM.; [erNz]O:2~n3sPͣwN[0t< [KH40 |t`QKC4= WQ d'$Ҹ#*f2ĆY, \UIˇ-M֪ae rJiLN'H/酪~ӣSN5'<>BRfC6֯ o۝+zLQghH!}3Hz2dΤb ɰLFp# atpD-& E$c2Ѱ$i%(JPr+pY|Lh|givxGli$UFHhV?.msR!n= SY 41{ fYQ΃r}$Ĝg6dj,ؼZ=,[@iZ3; ̔kGl77Ɗ=FE #lMyt. n1  zD ƤJge= CTձx+ OA*%;ڨ:{.6}1 &ve1 f/8پ_`.H#, !d_)/ Ű*HoYt)wwvӐ^I&Ne*'X7y"_'&~Vt .@e˳5N1dʵa$h(H]_63D"2mHP*2+B؂V唊X4a?/0FmT~(0FIҏXV9E r'Ie?㦗az,t!ϥc0ꁼR~C^5UEp%Q]MY2%|)JAmh;ȺGDQOQR3>1*1a5ktkMDvFЖW3Av7Q<`O#nuݣ\\]׻AQR}lif-}c`IKr{X'y1#(5u >΀`pYyEXYRJue:O-?lUrDCm'U3;NNjW 1H&+^8@.e2ș󬝚Czψu6)&`kdtL`l#rM+-y F: D[b$H4Usij+-!-SKWskGUt;aLպ|˳?K}D=#|g+7^8J,52&g@{ Q.p( Ǿ3`@I w~éъ2+ąUų7QS[Zڬ"L)/2|"<ٮ$JnaSFT{_ˣ/Ԭ1FҰp]U⨜wmM7Frnȩƿ[RSRőUɋډfH|N#T((q.]77p-)e1=6Yʱ:R'æF)y>.xc}4(=y% 'c|TBrЎ9PfMxX4H~h'"UޣЦ x^ {8YHb,%:lfLQW",ޫءĵ_`VL%Ќ~wn& ^cd`k "'Hirqaq ITk+NȵTBP{!> 1L!b馮!UKxYҦ588Wb6Mܩ@K8O)4L`{"'? |5)@$qٍvf¾1Nȥ &+0]eu E?h50K.E4[Uةx`K~Č7cа vtmS! wsRh  JQ]).AfsAc2y\#HS9 "bT|"vw*^yۃjԕsDjd! vNЂ7ԹY,0`c<yJC&ںh!N5`C *g f  ǪB CdU&Wr)]dNLl,lubŘ+Ώ26ۢ$uQu*Ktd($MEtl@XZ8PN pN)_WNĉIܔ6 #6|䤽_)0""]R!DeTVHW/ dU׽< G5ny10B zC+w EQPni0Q_F |D\bI:;i pwJ$YϘ,jݜ>j`̈ `|NR\S$'eg6TD}5e ޘHڬ<[ȥb]飮 IkL!j>_BBhn2fPkzWnd#蓇KM2bo1h5\uЁB⏏DRT$ L,:F'rƉ6Ix[` 7BC:ޮ(Thcb-QxU[qDNE{}NtɦX$6[ͭMYde6@Pжf#ir @EXV/UXVmYy.(Rn*7k9zr AxQK$}= v(THYq2"<be,ҙ:?ԣO]$&1hYtmHQqcbTZ%E:@mBr*k-Dž|rQ]\4V`xU +N/}vBA4gLmy:B!5qK;b[\0 yYShZGI,C*#8Oh&Y$Z8,JMIס%g^XJ!r\o$"cXvRU#Yi\Z(~&Xr, R"O1@pGR^ͨ팡Q:p=D]%X)I3ěݜlL-&k3}n#OlQ3p8FBH iT '*$^ g!e p`E n\Ymo3ݺ+" emէ_z;!A{J|xu[bLMR sM\dIvˡ!T"#JIhY6 ͐|HLz։|V.zsc. ~Y{l'cBB ]a3;/@%'b#CҌX6qR/p%GPifOe?7JezI%dd"c aei㢣i(gcb bk$+#a#,(fd 8 'EBy^;UQ|Y@F^<M"8 E@T27%ӕbk)ZK[]1E88 k'Q2ƃQ4N^Um^yi0X6gK¨8~kX/OQ`Y~nz%CmST&Г/VԂKYQ7Ѝ8*}%]Xm}<kDMHtMQ7K [KvF0 ULgi=1HPGNAh^ސ<8#̵((CK=,WGQVF*h{& ilf4EpJ( .\܀2@-r12t0h3jPsFB'CQ\Vff*:vAu9:DhDB RH)hk=jo AYZbj@aEWZ"hwCbpIjCR]hD9P0 r>% R !Qe*qRruΗu 1CV%6ώ&F) ; 0AvF5s 4BA62Bkq8(kkBU9r$ lpVSeoL\.^3עf FC4 ~(|fbdLպp eBՕ$ZtpAzʎBrA\CNW .Qф%7#: @\DAxOb„*l|)Nb[ >^T d kB륈UɄb\ ܮn1)'f?T!ɜv~bm'\]QrگLo&oB*_5RW@$jfK^s&̲\P@A6SՊa3_Ro$2L_KFBk#GϽvF4F@ȴ%CEQ_7JsU8oWfrLZ!vEhv;-cK`vjq q;S!BOI t2mG.#MF|Q3#,=(aVoz|Р`Q0 '7Ąohc`P" aΓ\"DF ⅆ_8kr?dQ%5Tגn/$}s*E`);|J|!4n#"o1T`- j.N &/ l\/놃FގhN9yIޗ6IE$(ZH UR%uo'$MPharj I:] (LbbQp`x0p( 0 C )JCs_t[!'BZ!v%{֢" 8R=J!N*6 60.S)$p2&̙͗8dQb"[Q2I$dZ+AD+/2Rr1!Fsff(Ӑ͉._iXOHz^9%9@[&}SXk="iP`MQ]$M7YOլCRp߆r5\i8y)Nk2Y~A>&'(G(#n{[3Pj|$}(_8QϗEN>S 1I7l Rg12S3RQq 2002P'N1JL#m:\=ɨnjF^/?outAa=e  C!$ ѠƃŒ} /hhœ'qO%4z#qb )v7wZ(ȭW t JEQ_$ypB@iER5R.Sr1G1twzS ',ܞ$S w5E8U %|IޙLRD{gqL$i%*y-Jҗ.0DZ4mJJqQь!YX >VedJуS ǽ+<)N00QHx4[i ;Rz @$ A5!xZJPMRMaT{hW4%B!V &hs5A kԷ੔e}*+>5#rUDB ?Dy)@P@QCYͲ.kٴ؞Rvr;\7%7`I+.ϫm\9su% h%>Ekz6KyЋ\ QD ǩLmJ_V%Ǒ)TVYW>.ʪS)݌};1ER) Q =DH嚈 u1q꽟e\D[Xȇ([ؖU)ri-*AjLz%K#Rӊ5}> RQlkb<> ;bZlS!Eҡkg.,O;Z#۲ө.pO}͑Q?Eq-=VT<6Iyٝsv!tIt V0~~19ү+F w+e,3& ޤV(bXe1R))&ʮ(Α,JU$3Ή\O#oJţ1URdDq:)nڒ4zΖl!O2q(VB9wjO4woS3g\FJ&*GJ/#zD֪ 1NQVw YFFIp\j/ӟLc}is{䢧y(V娂WnSjRz6Xl[L#4@=WI#8\{1Zxi d3׹>kyx>t#q4C4ryu D9i*JkX["KŊ:£qgwD5HWr EnʬN/ cQGE?z4";bZݩDd1>‘wvFTɖlPؤLB:7)$b{+!DыufTRVRbVAuС= LiJ'jZxB?j?=Kbn &:W6i Yh1wS.:b(\BIC03jšw +yq5(r*. 2IH#Pv%Hl"ICD?\1&(TOIIH|^ʄ!lG9:DOLQd-$s(3CQQԈu R{[x?%=+}l/В?#=uM:s"4hIԒs}DnE.WnBx鴠߷)[545Jb_ɨ#w ݖvE\](9 Sf\߯Sz֭B+rϽ#0m &IeaE&,q:՘AWrl;ԒwjuFrHf)91}NS%&a~5*Ѭ31B#z*ٝDGL[xH#&bO;jR/ncbBxF<;Zi;"Wn+6̲YmN'2䜣z}(m5G+/2Ksj2ИQt|[r2Y%̊}ᴼeATBŷRgqGr&Jgc%ݗܡ]lTn2c[bU$)EO"epRJ^ m#JZ`gFcV+REAk!:fTjr*T:HY>"bM m=3T L&GF%]I ?"ɞ"fEMJEUKb\@b?;wy#4wWJPcP' ;հfG @KK۽kqͅBjײTKMFEh^#an)V -͐@= ȶ$fH=EC#9ū39!~ pR]q>Ԑ zR`'c-/̕/ b-" %(gH8le#+BNWa曶[Ju o\G@ajdA)QgL~{LENcHjʳiIʴ(Z1f B"T[}Nm k 5[.M6w"gpEr#|r$jn~~dJߒ^ZX]jYl(SZ]KrXu,&3V-LCI4+QO_fL[ꖛ]lM*/SMK yFcsTc $ @BE7OY!S(WTbȕ&gwEr0=nIo8tԔ7].PPV,bפܪjA&ˈ+]5u7_%?Y3|++zs"EӒa$f3^梪inin,1 OxU{IؒzuueǼǐ{mމBv y{[lH5Jۋ @KɢW^Jz '}0bgd`M]h[~5+a`6D6(,];zBq3 tx0ӻ&R-{Iɘ`Q_wbA%/L gqr|<[X fϧ2ey.h3kRjT??Py˩{^UEY$ ;=54/K7`<(}5VTQcT^YƄ/=HXkbJZ{Zᓕ2A*щ#vOi~ UtĻu$$YB {,kH4NmEk.v%t (.v`kݖtDfNs}MÊ.zHHV_IE[+O,^ \!w8ڤz_`&ߕN) ku%7cZ`p3Kj&Ri G´QKRYGʫ5.GdMSC>Ag)Y(*ڱ=KcJ>\0*!\1 GYh20\F'-,a n i/+M F:г̀+\ԫ !@e(  śנ-`p#M0%`a1A)"/wĐ{ełKŀY.P(wjIСF²0Pn8Bw)2-FRrP/P*x굚@0;˜'bI"Wq%@#Y:WagxeQ }@BÞ c Y!.xF$`^@٣l-UB ]"l Yi/y Oʐȱ_ M:d֑ij XAk]2 ,43" Y=lyBa4uA f((hUi$+DEh0T_IP AJL$9Ӣ!ƱacXT*KNYe 4-` ҳ&mF(kl$&%QNoK1I<ƗH71f,.;w H8kB`4Ag]Oel Q_G0p\~1L X{kdT)m\b\M a khvu8|mQycQyF!2"pjq9#dz x<lA^AcX1%GGђ  Q@x4p^,$@Hj#dARG+WU`D,}DkZPA"N@H ABlG'gD$q&/XR{ -L E]Ĉ 4HGRCpx1)87)Vh-@hC0Ob䌨 j!=(YHkak$P_ АW6 @;JEFf$$(SCSF+OrB5\hEɨǍL{yrcPLՑ70ȎGkF(T^/(˔:ywݳ+/RB%F,@SV˭k JE zI&dBX1G\I\nKs5Ő1k#eXxF5v@>i+[Tce'!2'4P9R4\MNwKWTB"jqmi1%+j*jhpߔ"r%~w{xq"ADM%*y$!$/yWJQdZd mU$ߊ|JZr͵*,tOxP)dz%4%DO7m~hѴ%p(LB jhڑ}AS I6ֲ$L\4B h'e"Bۭ')OwM"{pD~E桵6НP{9_5P"@uĈ؏ŲXTM oȺ@*ᣋ<䢏0[p "b& `>4`˥PN\y1F\Lf,l4/XRjei rPJXjYiK>Kzfl*B,jTČu+|Y;)L`60"SMUȐC,BcTrCRLFY Ĩ 5YK,:A#Keo_6@,/f&`j_"4̽q [~u8v8@v$t8 D~ *8iK*c{2 .D9la7Ȟꋋ:*'-fVSysfвyN|^pڢ<%¶f&ؙ;0(7(3~z͆@ `h,d8F6X #Snq I:'odCЈϫ&tK ng 'ʏHT-d4Hmd>FGxLz}BƚF9v@vZāA Q[4SF IbAQ(6BLP%[$BCn;Րp8_lE[D:I u q=.D\2; [S4l]id 1+>"-WR~O/jE7;3cGG[Ez-T] Qz1t83mrʀu馕`< nzMCh^9WH^ׄ: A;荒Aش\dcZ)V/$%D5E=(WrWl?iVHl_¶׺ݔ W=5/f2Ěvad)΢. Rٙo'!4,tW (m"/J  A СZH9RkU"/r\i[1* (60lD`T k/>4ybb_;/Eەh,PpP\aH|qN2=P@HȸMR:>bcI!T> 9*B&RjTrϽvf+6+}ȓ2|SIGDԚꤡ)10Bs=S`2KAQJr8loP5HDS+ I{aa7G']YDFS[[T4(ACGg4>.{p;sAȼ'& иg5RVGN+1KtYtqR0P:"mn>:BB0d|>VX(.-Y$ \MyȀRJaˤ884yECANpvi$p 6vy0ńqX[ *ߨPoj]1^Pt]^ohQȕ{38k}+*ɦ cNLOB)p_7ڕ"M˴YhHȒ<`c0]/Nr0[mxA@鹯C"fSk#?9h%q$d( mK^ 22ΨoJp 2|1>/7Xkn 9-YjT\@,rh`t0 HAU:2iԛJGtJ|NMIyʞ b$f%6O 6d2n FB'Dz%G†WHc>*>OCld`"sG̏Sf'VvNq'RPdɌ82pM %" UnU?Wld3*5S2}`gO&@~2veߖWe*B%ݶo6!Ie)R+ԬxR7).0+wSWS[Gjb~gAId1mQWŦNwLd(M$y*9|.7\Xtl[kC N%=МZ ;Q6IQP@ FEˣLNuF,LE( Rn"XVe7E_*>iIWӪ`썕epQ%`,>Mi0٤˜)C݅GІ?˳ 4g8:tP XE IO偡QAM tDCMj*/zPJΧ aÌ:hApp"jFUfqW{^gO jZngD_DQ@#o)o^ ?vNf~^!>`a>t I_.n&z a8KWښ'y ŠF }xb-]hi?~q3Owaŵ%D/;v-M)zLgJZa38~G$w巭\QQ>{3 p#  ., O,Gd"rti.![*G'8qqbCGKZN"wB Eo&Mj]5]"2QMVY^v ,H (pxE!0Td RE8~v9z6邶<8ŎPTJ8P`D V@`[Ofƀb vnm3+\F] `EU{$Чv/ja1,v.3]LC+4K%V DԱӣI:W$W|L{'`O Lt57e 뵓)ɳi(5`:M]$*Mg"%ێYNxi5IďiFPEYI?YmsV/V/uXwubE|VPK7R|Pa%4\Zg"5|Oȑ ahvH3@`3/j!78/*5ɽPۺq3;)!.ڑ9c+;iNMf D^7^E+#@%a8Ixd ڈ(PX7_P…m"W沓 h#cx3Ld9,"\ D֟)Ȗ66c) gg?^ޮ_̑H)sM5T{Ed"F;G$5֥N e<׾PW>Ũb[J]FemR1!c>[p29[ŏrnOS4k曏ž2[gIRҏ{;X>?(r$Rֵ|M= !SCl{ o$C`z sVU9zp ImIwo ?.G!6'U05hom$IrdhD2}ғYf]ϝ#Yj ht8|k3smu/ѫT<;LIBiOcC쵒~<7wX{B> yPZ^QU2e-1C\gwchТLZ(I jZr!)?D{{c>e pߨQ}nP').ƭ<.$/җ7" z]QU߬-i#N2.y)r7RX3a&Ptj8.cxUB`J_1r6 peŭ}/rKpY1Inm\"cBt/x+Bm0 bKO~h$Aut&]}xo^Bvϊr"%HuˋMC.IBR; :.Z!IZB/G~ Iּo[5IKS$zYˏRbƍː\%% /սшn5DMU4k4Si J %ZVDmksL*%(%Q3|#2k3Mb8(ɛU2Qc P FdU뇇NSD8d>j@5ܼqP:0YÖ-@M(H$g s-ڕGNN!! -})b\QNbv&=*Sڰa :}K"MVl vm;n^1$͌v׸Q&GC.*$^@dG[uN>֞XMm?\ȇV-%W =C-&:i3[yJ F4^c!nrւrlL+@֕bƈ"unc%^/?d\ɈǎL   @0G}(%=4or#[A(QoT%B=$J"y31zR//l0V( oNCO-n&L~7,`La,Fo۳&f;MqdQ#Rvr8Oxsp>m9Z ?$RE!C\"- RUm"~G\uSoV1!&A#=dDGCGۓEd˂+׋[ .q"ƺ3 'W$.Q3PՑ#:a"#/Cn\4!SWٺU6[ 7B:r?S#5nFә\ zӋ 6$d <[TNfrFtbN kW e&2ȿT#"~9xڶfɯ3`G&S1(Edey=X,$?%;P$b D,U `|𻌁i]lR@fPVʔF&\ s)v1k}fUy_C*XaQ#*5L952.tGؙؕ9B ĤmΓ4C{h+i--umQ>E/mV0 !DO$&(6N(lII2H̞ݢMfU522O/.ِL|" dĤ P.#S^QWɻ!Li'.DGJۥuAC3y*O\3=bkBgJ0cnxӨ0C3,}s})G*!,"CYs[O"5Ж|j@zr ۬_3[ G<q9mO +ݮ}ܹ6cTɋ̽Hfn16n䐦a-dwND5~(d٭qydI 1"sMDK56XnL~ǻ[+ )'0}D(wk "H*+,TE<.Ǐ*\CшFlzTk-Cya0lDUgtAqwjQFJ$?t<ш}7wnE Y*+n.r*ԓy_LuQ׃T}q‹~hy,F=I-Yub3)tkPI4<f>![ф 4ϩ~ UNg.TSը#іͿiXdĔ--iX(A#LL IKUMJaQHF)z-ݝf~$I[Pg־.2'Ɓ1F;&HViّi9^W^K|WCWVwYtmAEPIђ;1$^ظX27h(Maș 4ZprIqBU H4 (dPTDeUz&`TO O3JVV ]!. >5DzQF$7F5t[-LF|T%jL!(|Q|NNN{X<v O/=+Nsvޤһ M-ӿ!&xY14x@PQX4o;VY*+9H@ih'D8&Ǖ0lM XhBy\'kU[uef#"ډTXZ & gJk"N](U,;J.R.́@yR,",5L|G-*I/ȁRx4lxAhYyG:RlWy>R(Dђ!f {{ҤgP-lRw!tXl鰢g>H5&2;bLsu'&dH_5]5e1`{f\Txt*~N2p\.G M F p;Nj AaMNC8э=gNM#Y*tHXR.sXQ܄/I9q/NlMHݔƐk{}Zi ;若n وx1ZGf&}J$qrwaK !ӼVhb4IkԂRkd~^B jVRXGwX%64\8BGxW2KdY)gOɬzDT+HguP.""&pkּg9bb+ a̛i(7qF|6 q5J`Qyy h](WZqY :RdGT`"A_-! 6`lp_ $&>c7y)+jGa_!HT$aZ>!pka W'*e+1Tb⏥GʷPPrYDn$Ni=e1|v垪S. IT9P$?Ư?OvZQJHOICB~e!lݵo)IkKY ڤ|xVfaa4NjJ%M R!$O;A[_h!@;픊,YfA%jvbb:U!")D8v^3_7+SXV-,Qaycp6kRX$9"dY1 QmBq3n)>=D  /}S#U9~c KbU9@3t79BW 6ҏZ<;1jZmȯa7~{1l!M!SU4JSX!Yv %t\ PmT; z.Pͽ"$"'ALyhȗ w"ÝT*P4DEtɍ[= G-&֝%nr[_*oղ̂eN ս g{b=2t|V=I JUB/t-Y(G߈fLjدI\D59j!^~!>5Pf1#TO5!S;PEz_xz܅SwI8r8N}S*2O`RL L(5$6 ,iX +^xPBL lpQ0s B @rkJ);b1i! ɹwj}5h{|:v|x[REU.b$ RվZ"VjMiybvΟa%0"iK Q5 >CZ5pSz#dz\ۤhRt% 0k\@~[]DԡիݝJd+IE^gX ]-oѽ")rTbgz. Ԍ R)Qs/_Jږ7p6EuLI«-Ĵ.䈑s)2~nIS{y fO ̞yj@#ťԺSJGaȎPWgvDg~< ^[i*׌[=ztDE3n2t4y >EOKS. ֿ!WUsF,3.LFrH{q;&pn%N}@GU~pj<'l_9QS|JMos.k66țLm$֬ BH/c1?Ke-Q{""yn-㰤Lko/a~&E.[s0DfyG3nScdM#ƔFy2ۄ) ߠ?DIaY-(Qp(c+~ܫ  q9zH!327+K[|`&/` Hu%JW<}mޞU$tM5*3In%u.gfTWL|(TAd^4a B1i;rUcnJA{dF5L%E 9@'hK*|7Y;ڞMH|zT)/ J6R^8$\WzcʈAlS<֖5qN%\պzW-rXg۬Moa)zvL N Rbqoo&R"rg+Zn8,B" .u bz+P᡺; @+N@fTc]A:|D`0^2v6v[cst_`/+&t'I%UX[`+39wA7t!w%>T\$ERL|S7jrfש)pFibsdЙ *HE!sprcOBX&\^9ՉX'G:1zeԔ'(3S6%jSҀwg;))"r9OaRVZz5[eX>],J"I`rZ@Ѷ SS b,qQw0llȊ0P!GNH+c$WE%jRh(j^@Z^ )kv3bBSE*+Hxbk׿;SV"D#āa+m˞ (QH"+BPWgl-gQF^ ,``LJ Ni{oU-JE}7iƩ'p%m,"F ͌wQ1g9Β `;S_-EݠalȰSaoxC0& dI:ts:QjpiّIuD-Տu_b']ߓػ@),LAC򈬚xhÑbYrvD* raYԬr*(KV OIcp$5SBp\8PJX D(V $ f :޹Y*}?oXfS1{lH+USBaU % ,u9a_*NJ%J|jIX̡/j [gōݴL?70>Vޭf)znZb@?\o;#k1cCE"!(cL DA룞lgWˀGi4_@m8 e6/T.apQ'V0Ixz%~ 5?MZ@mUf{HwAv}]{(wt$W2q9aSA5fSA- Тd(_+&fiXHy(JHH`T}\^MkM$U߸cpϥYn@/fUi$w3Bh?T+"-/G,hIO`*!@w#6sQON&ghF*{:o[X$H5lߩ_8-ܦDu [jj5ǂ1!tzΞn7TY|ȥQgݑ3WKll}IjACs2'yc ^'Qd JjM+;쓶5@ɨǏDo]1m] ͕ jg1i$L皫۱XR1*05] 4q$` "cCaNX软Ik. 0KcsK~͝}dsm3F+:粪HqgKW#8Th$jVX@P6:y̓3P:ZMG"_YD,i]IlJgI/E֙^mH<kE5PC%Zm5xVa;>U=dKm8u m26Ok3G' ~a|gܜ[?X>9/9]FgPJO!5:IJn|+PnN ..wuG 99{ZdѮ&,Qۍ|ϓ^I]fZR3īka>Tt O VO^VE M -o;/) T&r&K\Em[s7L2-,([Q_{a{[#LSAzppl!> ,*jk|4%.p`D\ȱT|9 4ƒSjb#~ܷsTk)pIlP`|pDdBbB'N&{%01#ի7ږM05=sXw&lx%@! ,S^& 4VS6 "::Wt+ߌIBt6 cTI3>zYsC:@̍2*"OQґyqS?D$/6>C9w%VOf&!.%Ø~!pR;Qg4k[u/Q7T_"TA  M!MApll$lLZ*s"BԴT)%x'3ZK>E=#_p, }N2]UBļBܾ՛!vNs=MGWSIe%swX7=iPZJ`MRޗ>ѹƟ6R! 6T#PLkQZIn1Śu["!X@F 9Z^l;`כfW K[ț hb[D$YY~",`>0ņU.:6f1E}_h"h.zꣷ MeҬK? OX*U2e4Dyk/- O'(E1a_bTQPM\u"mwfVdb\Z۠"*6~kyK m%DY:` !34.hm4]ur-nFJ+h?jzi%RX@^oC1BˬviSg ܸ!m; 㢇oה?[}9Y8ԔC H9_xFJ|+ C$B3s/H? v(ح˗豾s ,ib–sAЦY`fl\0"Yッ )M۹95lv"BfZG]*Xv9Thq+ǓYFpt(8aabP(ÏK!^KΙu˧䳯Uުv5^/*V* V;OUJQHimjl#Ϣx;`"ZkS bX'<՛B܅JXu󶹹5]Qٓ$ -Y|/<8;&BJ/k+hԑ^z|ohhrsEVR.@xdڀt9{S @/h6O 3LHy*qt )T│aJa{(Us# $lJoNHЃEb$JFm"y.wJdMlMl*I"X60[(a ,{K.P$y<36)Q%D֖PUB^G; ].٫MUԡEOJPqN$LezosyHvm9CKh.o$AC:i$ #x dD5L4Gv9MXTq IpT ^yEFt=. N.m"T^HGs НS,]T,R<ΧIZ/x ;uJƚ4kNΝ$ !˗hVR?Ӗ313{(@/7:%oqp,M* Kƌ4}u식Utيo@\P#!IMmU%N#$HxgXC, l]-_qjd 6\X2dʔltb:gs/'E2; ;E%;[*iߚ $o2k55Wa=ېd_Q"z+dzH3>(^l܊4-"W ˅ALJ %t4NX vԤl49? v2)a U ů !7jdfhg|NӲ)9\Ebo.g:fex+VD;=/qBԯPFULb֞2~~l>l<_K.xӖ`T⊳|!S<1WJe֦?ؘ ŠfF ,c|~sQl5+h\NBI[V)JX4_%)|mėX椘72&E!M ۳, VIms5D]kfJQrtM"CѶ!k,o[s 5F?,J`*z"+@UKCUSp88[p] J>ntm\2>*>qJ.t(>iP@$[:Z t+:`& _ TemȿAASDܒ Ee .2ȫ2tC\X_~+H>Ѣ?"WuO`MPM,'su%TH"K'(K?EQI60TBPda6L&>1YVQCj-Zxl(irE "VNM WI Ube *`]rd+k["oGF Jx ˊCݎMMI)qE_)]&BFŌT"`Ã&~$_)x4Lw❆%`yٶ\LE4Twq}C\_B]ZZl[[nwk2]ws6VBPo%0+ԨNb(4:)H]qmB."$۩Ј\hX f*f_fpe3D6U&LHWXmԺ0HGA ųQ6Kޝ%ID>հmV jdQC Ql.icY dIZQa"eg")v PA >͢R/":R&\,J~d& *<)R2XMkrmPpFnr]A^MVv]wG#+!o52nO|\ݲ VA3x C.2V \a;qʻ :лݿȲs +Ō6b5* Xxٴ\~Nyq1o R2xA"q-t@e=b \є}: #8X/]rhA|5N| aV󦌒6ݔs(z D WLY2Lhb950R. -<@e^v#TsUJg7F;NOkYDU j0^2Hphp:)IJ6N]!^Y7-,?DǟpU+=`ɮ"S4M%K=ג6SB>$xn{sTޮCYpVMTm̕E0C6+ߐ]N;}] 葵6"x]dQw!k펴w(uYUKA!7 < KsZ.^0]WT4#`E&kQEByhک*OlvF6R}^P\DQhD 1"v+4+r#Z%Ap,gEB\ѐɆ8z.I:K ?&veJ}+ySW@`/2Ywrs:HҢg^r/Q3]i֋ݣ%6*æ}9u1{E$ Gѹ7<tM^|5ϵ,ƺVy2$藃ǵBDj86a ,E>gEs 1EГ UUggd ʶֽ"8%eD2qL}(!̭1ZJPh $ |&hP~R Uq̷QMAO#gĄQ<8ݨ,(d+=>{/˺v*ԙ> ?VXS={ l.I"VY3TNU%Gm̒yZb R~=&EaccKКND`D2B:$6>L~Z]䣪 N=ʌ}q0њ ) [ N & úg|O'İ\$$&j+;x+|jQlEI[AJ2РDCӈ4 .f>``Z]]NJIܚ%uuafO3lKAdFU&dM!O;0ͧiaQ-S-6>=}^?&n#j|sl 7ߌ]$-ɨǐDʹ}Iwd^;;/*,#fS,?caӤ{j@5țT5DɌԪ?FeJ.dH~u \ڡNqՅcCV t3 'EU}aCb#Q'˛Q5 6L;t{.2&|"ٰ&CވAȪCeÆ>DRNjsƃ W@ġBA[&1&-(HWlur Ad5B=bV *rRȫR?A$D+彤,EY?b[*#h'Z̟<o5ͤP#=E>$"P 4I4XK3XEcwē ڧF"*im#М^FGAT }p3F 2 >$0)dGFKYT"RsAqm0+|f ΢0lș9f Xo&&Mz[k PM 8$ #В˖M:tDxXIg8`beA0OXσa _N*6'ަ02|љ5auPKKyEXU?xJM;ul[e7P˛;AQ*E`LDfJ,BL44|Q!HDB1hF(DS~qXx 7IoAO1*i3GF:7#N3;6M=7DDgc7ULHKl̊H ƒ׺(p5e$g ')bO[,+Q*&<1KŻvxS~R=Bt՝ +ڟzaAPʠ{ |L577_`h8@E\%)6DCM^<(&*6ѥ8$XМI F&K+BQ:T`̃M)b裴تH`!JurZ^H)kf& Pi3悄2$O$,,DX8z{Œ XHeKC\"TNugNI[Nj]HEib*AV= _z2Pm)V PKIj # ):y8.{FҰ&>[[ˈ:8gvIcvH)`Ɂ~gJk:kK7 Bs PL+3^0䦦8Ac'"%0Np*(%!"6c4|f2,$eɴ.VRu%(>((ϙ/%|N.Jpv 0K2 hÊ~)(4g5" = !`eL(%maj2oC俯M8Pbu7Sڇ.e1g"JopQ,d1gA>)_r+vNKUͨf٫K\+4;jNzݱLKPo`#j<;|S=tV&Av^}+̥m"?h\^k=v+/@_xI3V TI 3spRQ\WcǂEdJ{a &0h\uRVŅy\'qAvm|A\c1_" k>իKd} \8OK@Duâ3? EϾ۶JPƜ\avkQN3*ڄV 6&0D$}0ydnBΊySNQOIȨVaǞ۫,u~1I#;*qsT?Ru"HFu\3,3-Pؼ|>^\uY"2g[i$oG+vjc&83wJT*RNG "F-/q! Gy p%cyBz^!9>lJĉ(?ݒ?jϫGrȢ3lQECBTȦ"QBpȑҒd$e/bROd,K ED)ZyFf腓6 2Kt/( "Fz]R;i 2abB3G )z+|JThevkD78aGPQ+"a]e7'Oj9U3jJE ' ڙ}!@{=`29Nd1Oٰ'<6gB'WQxmU9} /D%|$ҮIo-DOq|Q!W-a]^ ;Q3F&g\,;uoa_.[VWe8i/}N4$΋w=:eo_)vi-X$A2"'Yz8Q|IOٍV,x#̵I }%^ӝvY|TtgJs; A牞Zpob@X1g[bqfhQkS2$1|=JHIB: e"sQKߥrbyʘ*ϒն&"B5S#SqDe9H; gDC>2j/2m)>}~-SXDDJD5ܟH.]WYћ,=u{LS((}F, .tjmL ne)2p$Yr\HL$}b _r-"Y)1@`CqԜT$fIY㠥EXЦF`^NNΛuqu0$-4f->/|' 1+A,|ůXԉnkpFuU `) @@>(6٥0<a>DKvɋ)=*A"&&xA6gZiE- "C5b] ljD㯐*|QE:X㹮1Ciw 6 $ 7y =bOq;k7]S42]kEJd"~Qo9Tc"4$|9>`.FLm^H??6Ew;@Wr e&/d@yKJ y"!k=H1#Pzd!/ /2JZ#z =bk$ĒMPHeʊޢ~ !}u,AAں(=B%'|y&tPM%GVLq1骖؃da?^<`:fl*&AlTVq;8dP~+Ľ o%:S)ZIY.Y5dAPمxwԗr7([H;t<>R%5 hEpi7Jk")vTŶ;"AʈR+]L^Y&ceaqX,I ]WGUP6Ⱥ˳ z>HPTVN[dg:BKWf 7e(A#"G@Оǐ Sk*<>cC)Ӵ,y1Ef_'MBM8DaGo-[Q;^kf1⡄G]ؓk]%pg|edՏQɩgN.}⛊oe'mE&[Q:QpĂ yhD&$3CO͵if.&"" ѵZxʣ[}6AT+b1{]0ҹ +5((iۚ5LXcⓛu2xEMXdj})pCL1rKmdu=ѿ:>v"{@I.,1 I\ vCFYp.@G@jB)7hsɉȌ  (PR"OJ[(TT"E 3I Y[Fm& OxSvDEn al9`դ |#ŽRK֠S" ɢD5K#a@Y U2hIT$Ci\@`G X4'_EttK8a=#K>GάEaR2K;+7BAD$M[Ь"D"M6^yle( 0T6$轱'!TRzt(R H"*<DELÕ6kc(k>.1%h_|"J`}],J`dRςe{⣄0pE (l@M`B zKB'2P5V;.WQ@!r6ҥea]F&e:* }PYr&XqؐR3c cLe2.cUWt Dcrw5JZ9  o #V.Թ_ڟ8\8 ۦqh)nj7f,QVuwiB<@Ȥ7'ksLGm`D?%'SxF6S2a56Φ{֦Km?#%@mID̏a1aACKN י1$?@"va4w->Eb7Ç RM\sUWIꂌ}PNCiJs y-&<9A*ۄV7ݥjdY+lpΗҵSSdh;gsCAvfAekGb\Ӧ ٹnu3tMENw {uE.Ps|pD;dkNū# J} JέYݑR= ɈǑP~<!=b| OJ~8{(sSmR*HQ7;&?z{a֐n9/hoYY\W:HGNBHMz eR梨ӮP;n(t,ƅ^Ѹq3Z2j☮dYUSY.Sm"hՏ-_E|76tEz]SN^3EmQA[ee RHDJj s/_,ʒ d_`BVXthP jI8*3;U4FH$Ej9~vžrcd#fkD]JĭI98_` ?\hCҳ 21p;fCjc9i,@*nR`8#W`!9x3*zoU\cypسEgLX>ۚY&!ow0KW2x0ZhlX@[t?{&oE2]E$l@*|!@p]3 $}qBvYX? WW1e};OFQ2O7wPX9;vPou\Vkk)y&;!"ѐSupZfxڥƅ"l \W.,`zCAINioFY 'ZݣҠ(BvzRMYѦ'/"MŽVpMRlU3B:Բ,t)9E j9J;j>4;]1  ^xG b G >=U/rS$g (4Niyh"5VG&} u+ߌi  SuyU{CcU^2o*IP-1DX`"2j@tI[\vHۂďJΩ v8)LFkޏnL_lڮ_xE>.FHWTR ixIun5RA6+&y'DIon%>:sE<}৥hk+%8-6q&>=M/ܸ|I 4r\ɬUdD:tK2V^޶?Meeޱ#nNe`)'`ղUK|H%)O] Gk"ŒI>{UK|a뼱|וʈiqJ ^##e2ViKGmvqurC7^S~ nEz:ǃZpxc(tG!7LM# [z9~g`b\JG I`y )wwtMBTM H"@ܣZƫth؜l§ZZ&$Ƭ=4RJ&kUqRI%B.)]k`ȡ& ocBzdHl+‚"''Fx[+HVAr|ЏZg-=&bz|9c;+%,5@6ؕ&H ЂS?ι> Blнks 8Yu$[·hY5T*4TF˾}pBd^z7xbZ:tzNwʕR"G".ٽ$l,tPiȋ Q+ӗeB.t.>LqEX}5Ԋs] ~6<$ lQ3V-ܲ U]fTPYYZz3{}vQw,L9c䘟A5=gLĨs7 ce/I2Y-ܬ_ŀj!$/ `HemDt c63IJ @+ܨqAz22D:>08!` M̐s," J Kм-gpcٴ_kuI2v ? +9T2o"}FN*6́ObToL,IH&(@Dp+uX8< 0ф%gD+3mJQ%F酛&/7#jvM Z$%Z!J鿘2^ n״߱vϗ(MBD֬]uO 4cU젃F=HK[F8{6/r]/sVd2 2_$c3~*dVA\$R4Ar V^}cU)tbK!P{HbDX yTAo9 jmj čiZf4mU]^zVP-GL2W&k P%_5`{lk:Yف9K1uՍZoe4peE-M޵3Z9V8O34Ό-ߕߡ)B V ȜqE& ?xO,MBOݾrr@|Tˀ;q3=LQ%δsmKϐ*¦Z y8h9ت#[lB6SBipJhT[_BP g."RJ5;i t[jsN"ڌij1$<hܽ,'G cBICZP"Q&ءZē0MD7iegdB-;),-/۵JݽtmK40.%l"l(A6hhnr^%X_2Iݦy.[Nj{"PJN 9,޻ )7*,8E'j't&&Ac`ڔTS+Y$n3mM(/G# c_OׯҜxx 6$T L*c]C^B@I IjM\K=.Ih h"\cU5 {ćbxO]贰B[d@ OYD[@O(Y s`.Bb 8smZzD?ec˄, Hj\%Bީ"uSCk,Zx “Cҕ'.἟%׈1 e;8MBkDՈ ]]ʽ5"#p5M!4 6RlٚX/JrWut.Lv+.h-l؈r£cbnLtnd3sd1*6 L^FQY# aђ#l0shJKlOAuw7rH/.͎.< Tjzl4GO"4GBۯ 9 B-VI@FO~+Ht,Xݲn`O+zŝJ˦BچcD'+HL}(4 ‹RVs!kǑ'5Rj F17zUdIiH$̍<-.j> (6j̖#2BO,=_Р=Rݮ][fkh{j.j s4G4Ef%ZY)^Vqng|Y[KH Qݤmf"tцb3%JG&N[5qES³1x"(nU _ QVA pu0C;AbAc<'CwrD# ԖٔQ锤HF~`V@z-7gb֝nq㽳r%+a8dxu֖Y^GE 3I Fӆ;4"ZR h H%)^JKlR YZ7D**b1jy4!V7he%9heQ12^^Yպj%aЇ}b<&2ގp3N^3×V|T4j cHXTY5ԣG͊ +ȊV`pPIǁ!u䩄Boh&`.!"w9"2ΧmYH`L)x}uAũ|zXc!Ԣv6OqZ'5>c}rD%0D+V΋n҃mQho#](Dr/߾XUۥq2<eEi{_ZYT] #&5QEOtղ [2DMWYh[f@wDHQj6\S,&^p0P."V"- ݅; K D%%r)x} {^QѰ(Wg'cnu'-#E%S`՛VNfَϘ֋W rbvilχnLBy{PV!b}^>(jfǫR\WcزPC t K1k~yGH'$AtA#$DW'|L̘5jVvbmꐪX^$ 9Jd/y٫}p@6q3U."'!zRbȹΦ`*fsKR)Z'1I6S/]?gj\:DUY H2RhcFI2i T 3}Fl+J%iZQDc[#W I!u^M c9Zm vxأd{c2ȸ%3$^RaA؀5's/i=9!-=4AfO3zq~yA!IʪW;bB&In?q [(KDEEL`H uTjZFэ?R I*[>:vJFeClZS^$ 1H%/T;e_/Y.KeVPLZ_ԘB4'-ڥ)4nMVe<lX]Sn(c-xL,I@#u`[qXJϕXΏ#d$(UeU,e$qJ&& (Ms;vӊ/gxбZӫg.uQ4E}٣Mo'=٣E4q(e d5/$ef?RQ|dj:ʋ-zmP.H{cb Bue bom%k(;Cyt9wI>Y 4B NAY J\7"0 5i!b1@bBe`H0+윭iߺRYĤ7{>,iKWn҄7D>.(} EH&Ij ]A4jp,|hg~ːoI(e -C];;Sua|ʑҮ@sܛT6A`"!sT;nK_TN Rd*zNQi5Ve3&H~gQ1ɦ"UO VjYL0 Zu)6g;Ͳt<RbP̏;ɈǒbI۞/ɒJN/(z2G$6ݜHoPxt0e95U|""pKć r!<%Inwr$Di9n ~WY"7`PAҎ&V8w.wɛ Rx﷊sX t_urT&wVp1b#W]Sa$}O¨ RU2@glgJa Ko\SKS?3V1Q=I ʪ;9Pi3qM2PR#/fwrhoDm'E: db(F=|I+zB\3FkgބU#9ny>3m(+N\!0Ĵ;}a=#8J_+p܍9e5x+#2cೊjq_DJ/l?d`wOEʬ;5DZ*_`_YPЄ)R!GJ/Q']d~U)t&|5@݁``&1l 5hIkf1XGPaa$190x3zփ,QE8yK^hA5-Mg8{i^>Ѕ~%*[hWܛ!&[JHi_}] K$W2ߌ"ЁRuPUksAfv}Xs\g (vjл0n5:)}P[Bg \+bK$?nZGW6L0*MK1+ʖev3V藹|R  &RS2PώMP`brm7hvK5ԔGV*Hm֬^ zg6 Դ,Ͱf#Aqm'^ㅴ" 6&T)MI#Evnj!B"0>Dm8T`ӏ#W˪*}{.E fPk)Ղ[7K@ \j8ʼn$}e٨bEpROn{'( ms& Vh{ejy68֐TkiLYICNq _̫t<(ac,XՈ$+ȽԵsaDk$ V.+B&,8TXmPM)HuxpnhT:EvCsԶA0Dbf*uto*^DNY=Ikt?e1r;-Ang(:r#:8őrN7k B*٪ ԼB&ġLC0hwAH^LbHY@(@QLz=';GS~r{)IE #WwQC% b38+OމC%@@-OW)Wո̅J._TTB}ͪݴqFU5q ]{" \]{{U@Ǚfd̓w(v.Hbo+!n% (ׯprOaPae'GڜQ[sfη@410 y%e;%كhKW&,?;~\F|Sȳ,jOdr>=5B(%ADgR@%a7[HIpX mW5E'2RJҏ:ah_k64"]ڳdF&F'!~JI53=/KKn?࢝0ʍYd%[ws-PMк^6^.~xȥq'*FVjŬ*dNJ/-*2$)??>jr%6si;t[KⰕ|]]8'Ve wxȼ|ĴxOA =JzQ g{v$m_s2Zv$̭U:RLp!mf#!*}HY~8tiVQ`1}f-s1k)o Lv4"K'bHBf5Uޅ~8 Q!_ TYG`(Lw( )C̥iHdQ*'6jh+-BTlj/T}F tx:[ɤ3o'WTIv+a=(KS,FL_5z:|"BNlDw}('ù5)R|B)Ƅc:LVfwDWl#B81KbX9H^SA A~#0:;"*LeN :BbЫAbPh@c r(,a&Mљlme1QԬC#dAګ@Qܖ!D{z3Dm_񼧸\dcKX5Af0(oed_Ұau+aF" {amNN^G,% \Ʀ.+4y#=31G'2ZrM= + hcbIm@tWgJr=U|PE0 m?VKYDgN^. [J?²z=PϚVB:}7ջFZ$v<'3H }"ѧS0zowRx "DAc̷/{l뗐Iy:Ys ʹHJcʼncIp~Ql`DRHCxihidUuAO펵NIYɃy|DSy& 8/L$C,zb`y*ؐ}\E" PQ&aHg@mZ'i %1K9]$D紶uLZ vz\CϺ|P柰şF&Y`IP&EƘ*h`L^@XbJ]6~ sg.9 n+ PgN< 1^=s8(ͅgKEDē,BSGV s]5r5@6T$,̬ fR=ngZ[,҄Vq@H-D%cϱ~R ^E>E0m2TL؈8!GcpRV*r/2tR"G6N3G'DE; /͚ +LPӗ gL1hSar?n]%KCₙeAIz!&ݗ+#BJdlo%xG24T*EP[FHzAa.e %Jt$N)7AkDFaY<>ZGyru.C7C, +D7VJ!~%E>ي[K1K-!|#)N6HIgV>LG)Ujӥ_a SoX)2uaJL4ϴoOSsl-4`2}J"W ]e?w1`äHfK#\!^cQ[~ !^= $ @T-7Cl6&ch ^Dʨ%V({S6͟e4ق(lo50fdҌ4_0ޔ"GGIй(ɇ9 *Ttwװ8GȄ!H_l@lH]LZ 쩕4BtD2lrf5%mݧH44Nfyg %1f\(pբѡ6̖$qr%$Qz"NV;PTTLSI%C\P$S: ILq"11"FXIe&t:+44ybQF`#DJźˆЮ{Y%(P}#PK/BT!50D|JRc6rC%ׇTZ WKq g|[-KnH8eSٛcwp#M`)E؉>rHfw*vÇA,9,, cÐXpRxǸ! iN<i!N`L`bCN/xԈ(+1Jx`]+Rn'`N"nz^1AˆU?D{)-Ia) &T1{B{rXσd th8C0KP)/b_bodS*^9?)kQڜ[-Bg2?k+&k.߯£,Nbz҂tr(SsxImE'NIwIM>r\TL#=+vbqY\{r(M9ٌVa=A߻cA[Tb ĂZp`ȊX uwvybt^R̰:a3/.O&eF,JfdJ:.d;p/Ԫe'Z9'SDYPćBK4i# X/mӀRtú(sșsh67Hx㱖|FQO;s)D[[i_gA+k2F!Ԛ XŔ׼qt$ y͖#q<F3@2J’ +57lU>nmޖcOCdlnw4S \'֖otp~S-nѽ4oU3´Q4jˤPj!ta5]5iYHBQ@VkY%(r{bKy|ʬ|޲rwZ"&mci{y:5QJkF)$^:Զ\~UL ee=@<[8 5:=Rﺭ_N]1'=٘@*]4 &MB9,OӚHRFmܮE-{68_`rB:E;'cYȧKs^M+]e4e$L(oOly(s?ٔ1sZ-s=<!ވX%ckahg찞P?];>R7ؘ_Q$QTkow] \eU'ྴVYPa6*S_nx@iJّHOZaz~ BB-c*%+(l}a8k"v(IMl-,sNXL*N8|j_>I3Uթ5QqH@s<=E+'~T rjLHobTh<,o n;OZ!hWa7GhNRHTnʐ 6,PɵRJlt"QxL#)uw5kD;@E$GDFs>?!^yev#XA K-kL+2L7?hF/$l2nlֵr!3RPCWrMkr~~ ^K.dOb3h~pPLBFvtIJ(;V4E3k@V6p}`]DX B".t6ĪfL+钙2o  0>M#ӛgOBU̓Hpbe#CB<j­dYۖh{bFcԂٓR I}5V8 01 '̗`oI29da~-B.ՆjrrKgקsĮH>gOh[0ָA_3 ÖyFcJZ-e&1j!J3?>itTofRe"_:Z *-թdd:DCPH[Jv4) fm;\^9= NNQ1ɭiA@Nԅno$<쓩Yοn aJ( 0T668'DFZ@fB7x  37iڹ5Lm= [M0B|Ŀқ^ڜm1^GҶȠ$aX ;z2"*%Y?%2l.?s:sUVQd!-PITao 117R_M*|e5~BHK0Ȃ\Ƨk7 SW*T%N&jXC0lFrGό&h4b'kz9X )<0Rωx0)?EgRPt7hR;%;D;o(Qd4E=bw$p>DFfQ%+e9?ɗ@@Aӡ2Ed%N:@.@xA,Ʉ<%܌ĤWr*`AZAZ*I {\#u?!&?74o||*mizmMZeNUlJTH8x6ipdJ+Z.g*#I@M8Jb<|!'N=D(!in؅yP-m%}t8ekEKa}!ȭ{h0J[Q!5+8lBi# &Һt|VWb2FL}cf 3' %Si)Q|5Ĺm iJ6g9r*ylm:.}neAI" C!AlxfPv"6 Cydq8i^,Ϧ 6DP+D@\k;)A;i^0Xӗ:-\xq4oIcXBzJ|bDDA<(^,BD&U40ȳhGe%_F4Έ(εhAb) (@iY"ȫk$! ChB\ Ђn&.yD<( 2VbE (XKHKVOI@ELKLGJHKHAFNCAQKCHDOPr/@080{B@4骆8%y#_`kITcO΃5͟II1`|ZzWY-S>ަ:bG'쒱YeN:LO@^%/RNںݓCO!0P;.σt1noys-NHvd9g1~eP]^JɊd;0[!St(ޞ:zΙ}\sVe$\0E &H ﲣ&73^PRpYGPBPiG֡pwSܝ= ^2P0Tnr1ڮ|.0%kFk [îܥJ!8 $PDZZ.Wr5 Z:[>6 㶭|=ZT q|k?dmИE)( TMӛ9טV iFL^R+"(Mw:qRwIT0uFȢC䰷)[uhadF9 NGXZN1.Wk/Bk'޲ioz{ӤjOxS}Hz);Y͎1i;Ysx8D!S j5)0r~"]x|鈽'1ST* 3Ġ:&Qw:.-.&HWo[L#[dz-X;+NEhQY1s<1o]Y̵垣r ^Yv+Ez4bjw1t }ߛDm?ԙے:XLg6R׭aC˜КWX"Oyv=j}ّs#m1U%^6u+ysMTomvN(`W\8pgڭdj/BKh5Paw[5=O< ,6mhp < bݽuGAp3 V}}/d8!n% o d潏Nj%w5G#" c&QTC?>j+G_Ya%٫6F91/,303^NBT Z &pEIn`2Cbd0tC&ȄwƁ1w\f a埱B5M?}%jF1=w)eLWs\-z)3G0wzVKj|CfeQ†32XU40k@? HDb2en"Ԛ )qbăs-M8VS$37m'n.bf'/m3Χ*j{)]y6A#kcd<AX3 PVvJssS Nv@]<<c)IiͥE0Z/S(FDz`Dt\U-5(>(  jIXp#?\4 h$(xR]<6WcX]ܖ 8I5ZQ'ku;,Fe+h4a$TΥ^.T,\1#~S΂ :h{Db߿]Z#ubusTf";Vg,RCOTz= Ј4"FΘ$S^fxvu+"RzܕHmMzǣ6A6 IiS GDԜF!#u!t3]:Vs*#oPpD{Z6 Wr ޿Xx(x|DL2dز]`,Rz)jTXJ=+s=nz?{JrfV~PP>K :hGmHV!@rI9T3R+sap({BC)>rżPتժmbAeZs; H wh׎XPS_ cAs?^xhCM_vzʪ.WrɤA H -zEE0S 5 !Mn`pbԳ0?ojj +Pb M$ V(NUc! -$§EMGitkYQ{;"KrO!HeBKM }%p4A$*,caaĨMKn?܊|F=EMB;=VȇKέ~٬ō0.翣c'xe!jn"H+';AN 7(L@if3K_I^S*8y,hFrHb䤾@oVM.vk.(MRt=y3qV qY0_-q:PeP3ZU.uoІ&{~",ec?J]&dqy T$Cչ&Hmt WE)yUW3fZf%iZ,+Wd/ORH떺vSv *p*V:G"V(>-UVV{4,6[sYr8o '銝ZHܐK1,T`H9dT7ȑΩ2sM^{xH1lY#..3d}i6I (!MQSa;LS0k.K}Jxya [J"FV3}R] WlX B6 dᱳ7[!*!-E}YSuZȝ  \c?L0 jxo ^euW1ٕ+E3Eo- rfƁ3+tz|vGWGݚb AIH,],oqrd}k[c\r.s TBK齚M84YY"J37ZKa tИ`TJ-aqy8.9[[dƋ W<0lKE%LC-Lk뢊]w+(Ʌ =Dpp(2~Ԉ?$ĸVAAr'mXL$gS43P<#/&=(BbRƮcʆ)A@Di҆SPp݄ 6 ~TY=y|h0D*ХSe"!V> z qQ0|;U\J.?Z+ NT ܜR](o⭽0ǂ)C&"MDz* @$dhZ1&JÑ^|uWl!YHaRybr'$>ĺʕ]T" 6.I&kr2/R_"'%Ȫ *N]?vHYɮ2d׷(rGqHgiY̭aOIeLq!YS!;.9켚d߄%Uj>t^h0GOTc4: 𩂄u(E'Rl(J#~M`-Z᥎(CDzYEq(omL9BFXFR;uy+m6/[i\!EABϟ(= CQL@@>^B!dqv5}k&JhkBZ+xר[_jBǥĩVBsGV:2z,$3~z~>_ VjA/n[ʬ^,xBrvi4{ȞC:[(_"+n+/DyZI_ӠYWa4n&qvN~Fiqh}Nxz%2JA^rhaK*UNAެ% KeCxF j1}ZCkpb:zTS/?زDc4_Kq{9*$ՙ9.nW$ڥ}#n^7lאrIG[A -ub(j=X\AA3 BA ́PUDfX~8&EΉF!E#qH+4dq/Y)F 6I}2YUmWH(,:cŹT9ˑ&W$IeBgo9n<r} W~":<ZKM, F6ˌ 땽xƢn(W/&݉dQjV$T'H?Bv_SQO %Aih5(רb~ 0eGS8]MBHID,ALN1ݟ H5e[n:)W}. wZw%ݓJǥ2vvEC)GcC~%ȓ@X:_bHFIk˪LGIԪOk,""ɈH/ +ڂ0@}ܴb;UˮMjɈǔJ > Ų)]a Ā/ݐ0eOi*˛F3ْu QFpԥ}9&`eױ-4[2Ʀ9 [E7 קH>]5^+o 2e S!ƩQ6*0 KyFe\U^lz?DpCb7}쀘N1QT2li)dSVMtI[TB)Wa2X;(TfDRMNq*j!1?P3DT]S@uۙ,0ټ7햘`nuaRX!aMH`Sz*|BK )mJ6(* i;p_L3[wExTAMgr>JwVru*%nn?LyrMNº) e[0QDDJQƠ,+bFMI!x'hGgV~20~^%x3(* 4GS p{i$M;ԧYނŗ%^R=-9ZoEVxݾ6_}r., .}45>Pq,* <&0 qj \Q;A}1i"y0"n< w`hЀW-ps,Ѣ$i$%EX$}z\8UWg!uץ-uX>͠ν"%1P*s Jw$Hw<^@B1')ԉ~u+lRMMg|ua/rXVK6!$wi'.8~lrM[4l̚hp;hn$߹C4R@UC}]#Tg]򹳹)ϯu~c"0&#^t7#R\^~.l K6єZN k<;0.:47Z[E?$~ʵLŤJV"]6*y0tDRRVe6G"ʵHVK%Tq[P9V,׊HK湣`ŵ'&0gQ#rUˣ 8hِ&̡gZ)U#%&3"KB!mL,{i^XWq% {z>o4DX{m-łD)a] CҀ-V4w-Nq9IRD80yQВQ{Ӻ.*pf/N. W.EOf%/=#X>E0 :N-,=ieq'N*,Qܹh$)p-r ^T5ڨYh3Wk.5 L@èSp3q;(%ֶ*Ȟ}4P؁(rR)ǭ$+>i!p: M ˧2r|LC+B ppF#3 O?}{P4_si2wg%&nխO0\v׿IpyqiE EɂF YS^gG*ޠ JJ sr~k A]k46N# ɬb%ɳ%L|ˤÄ dinÛ,,600DI!rpFF;UзVRhG Z(,V5-KG%X 4M(n\ˁ$PjvWD+?U9:3v׻,.t0 ^dЛވ:2IYDGT  onTWixد6y_YeRsOj\N>Sϟb']a׾Z\h[iJ (q̷Fd+`Z!ALX!6L)Ij%r"Q-K?8)~1BHs\wEWęWJZ6K $!Qy)MtO$JEm(&ND%uV:D6UqJx2Ʀ la߳WV ;,IE6y*}m(KU9(^(hb?IiRu4]-R}>2xl?i,&M,p%&DF;lJR83/E%#P@om%-hUCo& &T& P_?K@f(꠷ 5$a{<5IO-d]UM9eN' 6e%=Qq~xg8EUͪEG7oP/c[ItD/rzW$GW'}xtMs+p>ŤKDO[&l5#EԒP ũ1 g(x*TgI9,`V!'Mt<>σdlh`9Ɲ&/1,%Gq"~\ c>j|SjdؐU3bPbqM><m则u1eCrX.nGdИFXła%*ᔄQA/?7,ch6Kc})&)>@.QrdpASIA3 qo4|{ϔĆOՄ(-E(WnOQlJ-"I²-bGhbޝ(T;jʑb+ɗsf r,Q9 &(_Ty$ s5|6Z W \Pl1&!)KL*z6λkZ+iQڒ#C;)ah}#kx"{En:X!, *OְSb9Pԓ̗8#'"2 x bi |/Hxh`uхS@K {oS/= bgDB(@ms&b'F'HfR:F2$b1AhgNEnUu04c 4(ag>P :Ĭ&%Aұ_`e&M?I*ޫDe@C_I7c ]G0*J>Q-2٢tܠ@eWl&K#* 0#l:㜄SkdjQ8pWM0u&*{8A1rv_D[㽷o46+票ӠrD6P5K 4X Y!G }9v]{%u/NdMњzsS{=QV)BSriIӑ# J.c4e 'Th3I(,JFNkd87S/˥e ;D j` N+3;lVqv$g~ D 72C۪AHA ((ɒEشmK8rRJ&bh!w(cWVvަEŒB'}~f*$\HFz24[#@R$0@5;F B~$m"쭢BeUa:e Sc 6c?>D8avmGl4#ISI2KT˂*&KёQ@ , k,,v<-AT9xu2U! `ޚ+D ȸkN.AC!`E‘F1a͕ "t bI'f P@*%G>J 䥗M鎡xPmp@NJˌ2(QZAPL#xl@&~E.p"C6:TS8DM3¡D5&J$c='!͐j\%0PYшD(X,Y&T_ e78 1ri!A*g<(=5bxŊ&(X R눌w,N{G*&bSog&ϛHL2$%5@>XX`50,B6*$T$XuһŚC.ob=#x};q=ݒ \ ]G )fm+RْɨǕP  p aWNsHւ(`Natc*pDԻO7p\ٸEC +UJk*\uAǴ`Ϋ*Ss{um0Qlp7 &UeYqXA㆕]<Ʌ"3t2H )0쉯¶"Be3hօS2ȑtl`Q+ d6wfN#k#g/NUmԀ1M8Ƣ&_|$" IHA[)7ur˨7[{uDQ:IuRIw" WJ&oUXy?,+Wi.U ,%RYq풴LvZT$ҡH +>dfC( #OT A D ٕlѵf/]xbE 1~ܤJUh$^ )ĂFe|O{7U*8)W^H~;}.MIbU g LE_Gy1R$SywB 8iae;qt lC<Ƕ^U_%eʆ%|i yb!xdiP 3Ļ/0]*rי%o *jDh*:zD)g¡ NK16 R`OL_l9Acc>dIf#Dʃȍw bN#uNI.¥QBW(jKN{2z4DaZovwНab.&"F ] E#ؼ:6[l&dS}<;DH37h*I5plT7b^ψ?ϒ%~)T țƒIem(XS^!cV;ٙؗk `-d^c;/n7CҵT-J>rLbV#f=e"$Ջ,-~6qQ,meXa f{ +Tm'A!*vu)Z&&:Q"&,CMtpXC e&A4#4I |S?b/7a `3^b(,q׮ 2 4ﰁ U9 =G!gvY})tZh%.Gm.JW?2,XȡޣtdDcCa>+Tp mA<4b|A6g0֧9^rMUnqoZo2yZ{תɣD"O #\} p >3-…㘺SEf^C&jUeJz'CqU g-n(@𴼏(r#$B_ACn%|fuYѳڿ jLcVG>i<0ۭLlD~(2%EH_R2@B,"q2w. 6/ qPO0*C(в;R,~2,6zR dO/#5#R/Y}I CUEVZPm6g0:<3Eݚ]Z, DuaRe˒ Pz(JECqQ44"Ԡ%=#m gRߍXaqB7DEkJ@oU'?EJ<3۷M5 :Y9EW4Qg*r .ŭiUM׬dL2L&c,+*Y|_|YiGτ6]O& #Q\4x!Id~q) 12F"DC K4ObTCPZDJ^m?JbeVZjMJvYK{CUGOi$UB7P1xL_j/đQ&U;7$TE ^YbQ_ 2„h9 2>St''NP3NF"/?3bʘF~&ª͆G\Kg~RDP/EPNL63 2DLWF VA}!džArŨ =8!vUN7+kMȾB>@|o"KM.%d&Os"|=1X|34mGQ8W1KtK>(Pk&Pӊ.}g,Kˎ(!ݔJZьJAWE4$-4r뗙 p^%UH9oZ'OytFߋ*+WU͜YX*SIi,]OİΙ57@#MnGڒi,mabtXCc̱/˼`m5AvCIje"7K6K̦=~HOWX }]ó=S脗<\TA@y(`@H{{ˇ S-;\!݊eP p/w^ B6"0y+keS$o3gq"ۃ* c.(@Nܩ±p-^c&ZUQJpz&!0)XA6#!XRYU"B21 ZDIyzmd>پqORkNTXT)diTMHHJ7 * #\~+7cC`Q5Cs{R~S?Bi1rFARH&m${4xWgJ r]2U,r%CLWZ*YGA@'RnD8 .d# *J܃. iik8m%G{(ȅzEG|"x,@\BESxQYԇM/ *A# 09MAnӣ,( 0"?r`.,EΊK pHK$0ѿM. 4 ]6;<)xSÁ  D¦Щd7Jh>"{G:dWFR hlPied\!EOwDRX# VNbTGEl&6]l}%fZͭ2"gh}VgAOZ'/*NE'F>˒6ZEO&!) GBi6mluV .Q>0ܗvRUA4HmHjmA {4pu0-5.iˮՋcP'ނjDZCk6ftEU9i4YeF!X-%L Ca"`W@JL$!ɆرOP>" $ {&2׈" 4{- ^1X^K8,ubY,(0z ](`шY,T;6 h|JaH %3J^VKeHXKwƒ91lAݜ0#ɦ_Ęv/d ͐mcK/`OqxEMqI?0c+&-9M9F F_'T }st2!yJ3`F#&|(4#HK<@谐Q7\"Pl:r^ϝ $瑱 t HܚޏlQ8X%2k"TiD,1IBǒJ誯"K(VfTDjEjFl V:˕K8 \Dk` $e*jy "W%V->< L^EqT-V|䪕, (.P {2K>ouzSRtGfjHap‡x5lFt1:S>=f+vEk#%h6.uq(e p҄SZEf4J /{L<$#X7$+-7񤗣G~P6aJSlٖ?g\Og c$CLs%S&M{&Qn {j'5$T|>.(2O%&ɄYn.rmBqD|#43G ^% Z)"SMѳPe6W {~V_nD^/y K J~q4R߁- i}T% 뢎#Q\@$\LA /Xu4#$ha6у5>C:pMOݒCɨ.@{e~XH2}E s{#$#^}%7A5R $OeBALW#{ G7L-XXk0*wdhpyTU|LJS)ee`s* 4]BN߈c O,vkeϒ*Iz=2g>Q4(GZf9}vsJSnI m7H' /h č2ԝb Wewds50l_."_SJAߚ؁>CܴR#X~+!/,߸E/i $r ޺3!yզ0HCY©:WǒZCsǨITֶ*[, xɨǖL,["1u@hw˙ulg Wz;I'pС \[[SsYuRVhҎcŋ,x!V@:`)'$!hjZ[`N_󓩾 *R Ņ~NTb_D Y JIlULh#:ҚAWV)_ڑEtؗwAnt[D-EnzU6P^'SIbj,A-4=%WllT$"˰VdU_WV%Ɔ;BMD;!̂a4 9Ggɿ!VTa8$cH%4A*EKJoKR割{Nb)J֞[ݵdiDhJ h crioRp`ug=M޽k/(D ,(7"ԄRI[i% *)& J>*4 FD4R,Z !s ! `bH4yΆؑP 'u-B$PQJ~@=h5c}OzpD+*Y;~ @bwb $pP-' t4IM@ m~WF )a E`"p$4Y$ORP@&He"Nњ֕ T")Q ρ}[OP)LA~>eP)UPWeLy(g%Y6&ReL`*ӥԆ%& cy( ()iB[MF|-d9Xqa^QC RerKUǯ␍9Q,# fRFY7}d{O$ryK RcQ'_w!2Dӕt2&f\+Bc%cqLRpci1+uLaC'+Դh՘!!E&;9K 6Sgu F&B+nXZJ RFJ `h'ɪt (Ag!Hpj/P +6 S:omE13&/ v cf܍4 b)Fa7]٢ V z:= Aɖ F RoIb!!Tˆa= ' DL"}OLxM uF+:O(^,^RA5CGNP '41%BAM^dt" 4p@@BJEvb]KYVZ&c㪅tZ ^;"Zs.:BbJHAh;8Vc#F{ m*C ʐ&W@Ff'INJ02tgO'aaEXtyV!՘VF|T.hr3J$cDŎ|o"mBȞ1G8s' hW>ԕ J o%;oa4ҥ\KKG<%a5 +?eaX@"6L u0XN)t%BDv4 ]@QQפMwUkpr$1kwBܑڅZ$+W˵/@)" *X"EЦxBH0jUi㖶)ֲ$ F^Z0_.#qjbƹt9VUFǙ~e!w:\6)ǫQu-em'"M 1a.SR%YôKMI]0W]@(F5DGd" aRC)9v,E>3xgp.0$0+MWt*ʖ˚IHIL*vƯ>C˗X+'X;BL8fME)#bH=)k' CH`i"5L8$aBNc I̒u^q<5 ;M)*$qdS #0]jTBo)_b*u* -]*Gk9UIq RU׮TQ\0! 1 =JC O eupaZyDQvI@!C B"%z1N{e]WK1;-U˒(c|;2 e&9h"HdΒ4EQ jNT&pgʽ!`ˤOIj,B1ͳTV0)_bm3\㐞m&`ըpb7ErRGaYwQtvGyسiW1R}s0Y4+q6T"g9YK#ѿO֫1>~ e9Q7 0Xt"]1Dh,b/Jdd^RꆫEg6Ȋ#rNbe8KNb\+Y&ucnS',#,#F" EEPqC(z3ezR-$!drHHLអK-Y2!NHFJ*&I"ukGWA4$9`4nCX7b:o eYWZEU#}iŐ$  $4RIGΡ0 tjzA83|[.Dr ia5{F,8ׂFd&lEʋ!]~*JI_ `R 041tBpjJԮI%׎nӥ,6ݯI^5VpѵsngJ2#qELd/ "[e4%mB*!aRT_3%3I j{%U$RwUUUIiȰ1R,RT\ ?TDԑZHѱH NDw'7 9#ܞzv, ?**}qè0pĈky8n\M#4IZJa`ߔ{|Sϊ8U'Ir;0dy)>aaEHd<…59ݔ3n4c=p&T)ed$A  J?{hVKǬR  v2y -8%@`>Q`IDG9"Nu99BoXIr P*P-NA\|puMT4NѺ0a`f!7_'֡Z=Њ $Ì.  `@I9)Id,AF()0eQ+ZPz c  ><笖4'q)q"g`(V 06ZAQ䎁{冑H! 'ebK@V0H 7BؾAԠHhEŕ&d* 4 )V!W66" xJFKnAl9ۗ &ؠ Sǎl7Jd 0 <XjRUج~ZP$ҋ"Squdz9ŠEdx1Rh IAd 6 #0ŝ-6;d a\hP+D\TToJYDTN2 Iʀ&H  ͮi\(OƁHƥAi <$ɗT76(js,T%t 4i >5R|:hW%.xC?hcJD$)h !pXjR0FR*p`z(K:ɒnsH0$0 4KyH%Hf @jKTNR!Ջ Z75+ o" \QA<3]W<*Z甲X8_!J[LIwwe5Z%MZ4062?3*JH4GIePk#X{Uŋ YHzD(4l AR5͟VZC B٧6H#@QȲ,?K2h$HX^(_zjB<,$4Na(%}-XO,"H<cS᥄ٱrԌ7 PͲb3GM#xZ>h$<$@-haPD,w)#Cl$JXej߷`f1-䅰rĸQIa4Z>49zi0 4'cf m=h׾P6$Á)@7IΕa}1 /@l]u`CPN)zdX0[NyQdJIKd-&$B0 'm% ̕ܭ&3 E04r@O #PRThDi|%|5,A Jzib $$xՌm ȡ@P2 UH6K&z:h^MdJ_GɨǗM@J*a&L4û 财UQ!K~E޸d _kbO MU!()FYfv6=ܠs ,\ AJû |l[JawJt6=q IKaTq#5NaBdL)^ +%am]sB^赂Q"g!7| 9;Z}3^$&+pD|LeOLy)(b' meSbh\3 F9$:lD7I7;^ElRPfBt@]rS. @((ŒVo^F~VG4-Žuoe'6QWR|itDKB[ځFN "Wti䕊B 5IOR'B@a $9 AGTf^Ȫb-jE*{j^ϭܻg& Ʌ+^)EʛIF1ɟF(~E/`4ZǯyJ"R GУNF+ԏoidj\:sxy!_\N7?eRN^`'L1QZԴ ɌlC UsVD*^3Iޖ!(vO!&YscN"n5{.9w0cb4q믲踇D(u!M%lA+n?ꦜw9' 6!<:SL0;TcqJDd0654N_[jd`U&"y3}\CD>s՜qDZWʗKb--4|,tUJ%saӼ8rs2HKF^2Xn[$ eZQߪ~OȈ1XrFD{gU!Ÿ]lR?~EjP\_lKKaE/e.qH]ڢطJ?T+ҏ02 RfZ*QB@#  tE:A{^ބLc!); 'ȁU® PT4H"\T !R7CXE(R|4"EE%V#d!\8* ( m;/¢(D9s AE(qv'BkЂS0i!Pg"MH 3 6r+*.Tv"_~m 6԰V()+&fng$,;v);+ CZBcNA=M;T/9C>]&`*jtdM9lVC!xaJRǗV/?qk7llk!"k\w]˦d(_}qRhGAF\/\D~$4% N=!r<yS)jĊ:sy8Iw>&uKEBzVD>ɉBadɺ9.FTqS!qͤ0r+vJ̋S]q]ړ9 X\>6j+DR"bp5ˤ%[65}иfc[f_"ڄX•d݊W? C8oC")BJٱ_cKo&MdЏEw~+?T2L+]L)Q7 [|VҪDY5HxZPD73Jv L Gi !2E2B艻&2#sRl*/2'(vd[ǥS!Je UbY)R|aQɯ#Du"ՙw(vs7Yeꮺk"{>a֙mEJHF8$AW~ҒSdZ,K/#r zvohSYE /$0 !’Q{rRu5aQEK1!Dž/ǀk6YK\'F, %6AH/(4"(PAzs9A&ѢɓH ihG:bWpa$$!SCP$M-qF_Ip! ,~ ѹd e^np-,bk/JJ)BX"]!)drƄ|4#ر&R$ -H8U[ (\D)Z2o$2)ƤBЌ&&s~,%<09LMK{iCA]Ή%A Q1›o|1fc!+}Lh0B < H@:)>t=jtB阸D.Hׄ#v(QI .b6 0pB@8ݼ{)[$^ e/+SIdgbT8JFp*&&!+fBhLY㚳^q F28VN[( 1EZȁ1/ MQR_2T91! KRwJSHW(nta.-aGQBVw\PHL wC8gA!1JP(4BŕĴ@6eR_3 q&e$iru9mkNQ^e A o.d-̀ P=up skIjWDL5Ȩl:0d< B].(iB ObAh^ Pǘ^@hb\.!;Z--XBWtyQsY/ZGdY> touRWQ$Lb;Eł" >x>xv xd4$Y m2  Ra$CTj5B[8˜2`6Apg*`O9DLbL@2~cU1?GJ11߰E%FpW Xrl+f@! @8[⑃hPm3Nc RG"cdvⵊ#& B T3,B|H9ۣH C[Mn U(XQ}QCxK$ͼDҢJL(}qxl)rD/;6 ]X*%hׂ$[&LEHp1Fu䯊CFvIpO01)p)bqS%UcDgCҠa7 )U5 "x Q("+?C"<8ܲfQDJӶL'S=ts#TQRb10+H,ih@AC͂VA$iƓ aC4L;C*=%ى2<3h! 8|pLr3 V Uj@c;@Rg]XJS~!DE )Q7Kd! 2f! ?h5іk(I=Anb011G0־=/ s'n% !Hi HU"d-V 3FTob_AiN #1tB(L !9wcj59u[@40A G;9F2v| :7Hc2 C0 `@!5b %%bn |RaPÛnn-!?$7 ,yD&L20Ʈ!#C) &%tyyXD!)`PVOVϓ JN@AC8Q)@JQ ލ X%  Lɢ&1#ȫnd2v(6̶i B 2QݝCeXi'(b J"xd  <xR)/J57x!G"t2#u#v" .$Lb1qGpbt2X2!2B"qaG",3r=@jO&8)8PcVxB(d宪 aTd2K:`& hS+a#N&֨"2l N`z:q01C8(('8u dS oTP2 ADV%O0!ȝ,C mݜ";@V"a,j '02:p.9ܸW4iJlL t%VTWq8QQYF`3sxA0F\(a\c1@\H"%+ [ z1X21kXv!: 9AEe!/0H6hm ØQ l&E 1+\ 9AI q0P" &%!L(ԓ- ΍`AP]e!ӠTM\a #*#9@Є&V#(T `U@RSL H|c& BA w]e -(/GUq0Cc bMUBu >Ovc1Ba[3Z;%r6BG`0υ؁+{59Q6 Pg5d[[WZޢ%A  0]g-Dc Eu/pd!]0ˆrRb1>Ρ\5hjz2%a qX6 D%0D1u}!8 Bpb(qƩN0390HV])Zʎ cgx5QMQ^9"9*b%tRea%! e!y1ދ!#,:- A)\!@RQ"( akE$f]̉;]J$db`GbISEZ(E4xK#l‰i fd>{S0k#cE4p&4 z,O͚ ah=; DJ3* 2 BC`IX fql%eǥnbT2%HC3b 0/AZk: TqU v9UD-5&VAËe66 %(P0Q )2D_lQXP #lA`JR B&FGpjٌ9UCM Iʔ!i4F%`ʰָAe*wTթ8AΌ(,>LbQAcZLq;³ l"UJ!HnƟqV]bKrQ!0JhRh"Tª1D^~lG`( +T21CzG &&XAX~(1H d- 5^QXW.&% ;3Ce le7RsTr}L\*01!T6c"?Ols!+P) VaXXAۃPG9:rl,5UF[[KPRPd`PIvXjg(ZX:)'5 0`瘙J9BύK|,d\R(b Ԑ 4Τf':y_J+ԍvQjSε1 fd[*ddÒ;F43`ȸS`[!f)s'-?Ze}POI RğPEYQE.N2EE3ԍSI1 bԙ=k.ЏŽTa%3DX`O )b2̍d)qZI/u䆚Ղ((^іHQrp4&)C8>S^B 'εn8ӼXFhJ!}0ھ+m [ ͰOk&1{~tږoQC)hI bMc[*J ,ۏ @D6HI",K l%)O;)Pb.A"1YOT 'D;h=(AŅ-keZpbmNOh˄.Q[dS|#‡p: 5&#Jtc%GK2Y#*0$lS~=#(n׊w<=6Hl`:K"[1V &WipF:a5Iҏ0P1,3aH{dBP`rT4e8ev@Ĥ6s|”3&yyHQ@& 8EnRk,IT/lҚ/α^4֧#D3Qƛ(F ?*̝$KQBrX- )DH(hFx[YA@gם@F1hmN`my-H(H1жuD>z@u\'g&uv0F=ts*-xq"'6b9 ̔Pq\S6(aX3)CA($: ]P*mAJё42 p@ʃzBL^u!JR'}P薊:lzh q/"RBFɜ&݈g7t$D҅C8_2vDFD %%3QJ0$31FM$!pB<xJ=D)h; T\ؤŁǔk `Hs)U"`xTĆV"tZ4 NjD+0BS9FAb8株+}) P\4`I\b=!K fFNz7))PcHDdW^jKb0apGK׷\IB}W}H,B>r+8yj{8 Ȩ#r x,98AbNw"? c[ ɛAW# DZAa2(61b"v]ka 8ʀGUx2 顴2/Ȕ;h @$c#1l@0ijjE_<4~opgGph$PԸbrmyXLaaX3{C*a3d0ACN`,FZ+ 1׉ژ Vp~Oxn5nBʔC Fg@,`B,es2NtdA$ӄ M~VTcfQN=hA CF,HPPb#*xf DmFK6*Ae V K̅I<) #DTN<@ >NﱈQD:JQ:4*tQvN4B W`N#@QAG$8E"0[ &w3 p\ZT65O40$5GsHtPcE; )qEcxPAX9uY I膜8< 8zfRcSy89e i8{ ]pDe0'y”Z,GB $,@vvK۷Pŏh+e4cf2-@ڥX$䷠ UHI58yaf!XIB`#䄃7/Q;T }5zRN1[ħn5@aKo FG 4bד7^\-!+61eGuM:ř{p,RF):-G>8 AR(Z U4jY. dAY&Ył_ H`,FV#gsY/.1@]Ht*>W)ue L+D()|+EeZ? 4&"sqH>0K[؝i2ΏRa aalm&eı+y(En).bŌ]Q0OĶ2hK=JRpAjE[0HCJ{FۘZՊ4sȔR;s }$-vIA1I)D8,}=aP SBKC:&ixR !P$>bEÁߴ@j , Vi_iösQ BsX@};>m8+ Ah9ŢX;[HASļvƼބ aj\E %eb%h_(?VBPÁ5,_4S(iD""*vhj!3A6rT (cr&Z L `~)f)cPehՠdB_NҪ,+°ym R<(0UYKisiQ "+s˃c }XPxE?H8RX$&L+4Ai-fJ/CsiKia|2h3aD+2e!f /_=aR4 ĸ AZ^}AwxEDKH3882Vnfu1$ 5c8AK gozDqlwGUlzN,g %TC%S梙!5ND빍(:/uo]d ALwчnC~I!։k㞔rؕiqwS: q5zHxxh:)ʛms: 47@:_(螜q$d5:+,1㧩j* QiMdcGurL8rjXej#UzāWe(Tذ-:=U-ּk窿-U7!Yh")(@e,`6(ɭ^ |.=NI txDPV\K*\,~qL#R8Db J'3(7CRyZTϠ "o RcC^$e\< ,\p#a=k=Z{ $˜$ MA]ĝ` d$Ktg L5rޒ!کWf[# ?sk˥{o>Y+j__92cj!aےC@M;#^JZ祝83Bշg+}URƏZ9p[^ezTNx:WA؂Rw}[sfŔN{';PEaa8C /D([DK:V  .A0Ջf`>GxȒGy^$TGКVhoד Ϭz!d ۗȢ?c`Uϕki-Jd7;I#tw -RN)_pIu#Vb%s3gC`4?dːh}O?vݯ? $~:ޏyH}}Ea&H)QgrD Qv-sA)H;B񓱔]Pf؊!tnI\ٜ75 Չ-|9ˆ2ʁ:\x?ؽlRD8w"V΋Lӥطp\E[²qyގ?Tgx4#rRaKXmQ`n&ٍu=ȭAeE^PĂ555fu\JUXb3pALfӥHL5/9Dbϳc2]B!ɍI@ICQA;b*2;d'U:&=n[Idf)r PoZsMoJt;`IKv.4Oչqr.# *]"brB?ZJ~s*rӝoѬӕeW\,C$k‰ o̢/;HߠK1=}8,AGA8S8d lp#c&60Oika3X |U"%^*JY,ʢU9b,-;)T@I` ۯ[>5ЉcG/t:CΪF BN,xDA2ogְ %n- B ndn>Mت=~VKAeDVϔY;B(A`%j_Ɗľ۩A9&k> )| ᜚:y(w0)z#Z]ƒ1L`K6UR/iO!E;U/Fx[g6 y6VS@@(F/TTrwԥohਛ^USMqfgx#ټ=]=6\Uw0s<UZx1S-r4jNsehCRee#w"eoHybormYJT]:o,VNľ8LR)H$3f̩lRi{)0aDQldDeEyںtkyL%ǁ@ ~pLF嚹 PN?{ņ5vʛ{jAs2Жo ̏p!=jc)Fd8N%  ΄䢢'cuk!ڊgW z r:;,F(ǤF~КI/tlD`PLi~% l iOIc4(nܯVX:xf,x8$Νµt7r$=I2UBeˉ1I& $юH@h8w2IApkR>U=7N%:Jiqzo=UȒ% K2^ #[ov iiE6 ,IŢe xUQKMMŢcZ,CܮRm!+&qukyԌIvYVATQ}m} >xٰ Age*wV\) f&e&szr`0 \!J޷'k^F‚5 Z4$KNdMMbR+=I z-KnB`f'nZ}6.NPOD^7brm]^?;fnGtYeFꟍ$$a'Ww1k;0iM8*%ȥGIkw1k~M$p|4FW 2,R}yߦ:Ħƙ̅2љ/fYmǤ =01 6LҲu4Ṣ< 2uCRڍ W3B(;\9T:Qgzoֽ=3S:uFgk2;;l|6Iv r(p;A2gq7 Ⱀ0`!)|F@pKg!px!|boskiko@fF݂R74sib+ @d#1B&ڒ,YahD+@xpW'Ir[ Uy>z2&Km' .)*>|ǽ,Dm)"jERNhK@~n)5Ҝ&ϧ"oJͿ+NcܤnN,{'3fr{X+:f9J&K;0rGX< 亗eUyX G\W@ .7bjo+ŬFZP2:_<,st;Dzl5 |M,T#R"9fyb̨=QB2VSt4؜XDzQ5u9s'{_" m(2U-ׇ%5X$иAцH:ҳbi A4:GFM4 K Q!*cJ|n(1Q V%ڎ!i__<#zUjtKʟj}B <BT(v\uAh=%y Dl57Ef2&tV':~MuE)\)5Q}˻xkwmUiЙ6 \Ya%z$ A CNs,[ޙ1xz[ց_G5ũ" \SlȜծ7lkznݫ%"O*jun̗[0TԂrD鵼J۰WRi*-PLa^M\j giI.O= ˜h:-I=-tYT\z?/6On:W?j߉:ELK4K}8#,*ZWĵ6J37Akƕ,F/?kBJ~,DKqb޶(xIT]1wS ?Q#ҫ WCm)w<]Q>A~+{_ 뉩B8Xt8KF,–Z2Z$JolLs4@̑a%[dԈC(J"'*wL`1j!1?Tvѹl4/@al{M@9$."u9]%NCIg_s|2h9b2v4Uؑ|A ooVI$ #/ \-&џ|D kzڨbfumW ^$ZT#Kk<ԯ6J>+ Po7PadrΛ;;~o\"AflB1S"Y"љBO)SzWM@ٜ oըj֚- uy. mṚeb+CM:OٟnD͕B;}Vd٣"A j$FK+$z F>'%4&{YFi\7+'vSj#mJy% ,F.W$QAb򒥗.d |/Z=dJJGOD֜f7pP9T$%MRJVM/VBY! 㕅DSI Ɇ)2IJj];<^Nzۤz/2nCd=kG:G= N6Vlȓ|PWDS!H ,˫ 񵚉VB "Rؐd5"|jNUt:n2쭥)p% "[RTeCnݦْ*^\cT!3yWKptcBsfFa?`EE"%$^>]ۧ*]NsJj~~sFFGy;5-[Q 0Z ;#1bRjպ p7*?'SSO brj9_O~z$|^dV=_Kz33e(bT,Xc]uǏL`|9zŠ%J )G^hp 1(v\A#BãGҁRMnp$W$7B4#C}CZ])HrÄ 3>*9,wS9MqPŰ#!y_l<AI^k)s;߳͸ tZ%VlȭފUtnq|ܡ*2@Cv)e4 RaY%ӊ|۪zPdH}[MN$*fGC8glOFTXkb”-9ِ"[Mޙ!Ĵrt\ٙ,79͛q(8Sg*FY\6U3rk6 p.UnHG%ƖdIHMRD;zi@H`'ADPO(WX.=]Eu4>>BQK5-];vD1 *Z}'ȫ4mL'!I˦!)gUo%|\_H-mdt%C)>l[/9V je41yIuf* 79Y xAJJJZ-W+Uܗv]vIN5h%f|2gyz*#["RW16$6frBnwȲAlugtO * %_SG|XRcwUZxTz1Ni2Lc Mt6fiiwsx/@aK||畄CBAAYJ,˘jTT\_oIx~yaԎeNb׹l;ar%NT~MCV*-̓ PoIݎDZpTY]D n5 a] eeR$4nTiqJb!55ĴJVVAq\.V&CJx^NzJz/nfV;4b,7vi@nȝZ"CM?"C(Sa<^]即 ,A֋Q~*"(Ezɤmw-weVzT Ai/Kv|ʣR6"3ƣD褟-,((|$C#@3)nV Mu הMg%r!we:1gpЉ8h.~>}<0]"U2r2:JX1$ !bדRqP ?nGC#8$DSxb_鸉^Cpْ4F^Bl0Eƍz2[ uDP̔4K# A|aMugr$hWDA+GnXLhnS#IF3Beůhd*j><>dVb)Erfv擋w<$]9E՞j3,0;j,T)yNk~Vǯ#ƪٓ& Eab!8iIg&5J" d%-qky+]'Gq)Z[$ N'{x`cf(XR7'KVS\ })5,?w9l~/i+t)쬔Z^KQVno=߷Bp\AQ-RϑTN@Dt5B%4Eiu$]]ZoӾbf̋"cԩVy7Lt(ףx]ZKkE{"UXLbd84p1 z}<&<"Ѕ"l,'X9rh\YQIDTmE/ uQ\yh} X"J`$6 FѦՎG3)xѠg*ORqjN+=^ccM:ڍ5d-o/]r4_Jd } ie"ֈRcŠIHNP.F>6{,fd?B?ac]…@ٺo{F"@m)^OMrBs2eMX),/p} K)Fp a$Ƈx NܣҧvoJ s“bL' aZ#pPxiv$,ٯbRNMl谹(7;7a+=L-'0:VHZFTƧ 7AF쩹i̙8NfPr2LL@H+sr.cˍH)K0VR] { ص9 Փ5V޲v5fn4C4j {Ťe ] AQ pRtl,?$xv бp`LJm^,Tg -(/_.&2TAUôQn:atJ#_Fbpi "x0&k"E! ψj|9eiX K:K|xDBB艍DU#_¡62xTDhꩤuK JF}]f=_ǟNsfE/ NBYqN1=EVl\\iԦ `1=kl"S$@(eR$W0$F˨,exT@فHʉ."MRJKF\M>'bC HBq%?y+!jnO]#)N >FpM*i\ :q-J1ֶ$(VWhuNTGz;a|oF9Ҫr& 8(-;Tܯ3H\U~C=ƱSZ_4x^dB&"b 卍]S?MWtҚ759б.)~G-^Rh,,Rb"nD@- # CE]b"$"el$PgGV"6 tI.Qʥ$I"a$96YW9ދe6ho1Q hT"gkv.3ڔv5lJ[rvZFYM Fr?L{*Mԗv^t2 Wn[;|%%!PȒd8 ҃hnnjX}©_O*Ɔ`(K@ ER1Fquc5Xv[' GlE22"FȊYqD .X1s3-&&TJ4?Ojb 2]ֆDW4(,$Pڤ s)ڲb ]#I8*D2ïPfQ(G6mC!5DÔ$t#I((dIPx '& &[Ur .(T(!KbH)wF]'( #QWI2V }4S_OhQbMf,?4)?̥&'%Tz=6 V.n=5lO6TA$}ΗUhD%o >ƩsͼKUFG0Č$9BcI1FLH(eQd\R䳔P W%,Tx$.8toSVsJ镓}S(|3JW4 2$m AdQFPXbHV}{LQ=)If81D VL0:yIN&XS8Ad1dc|H"! C}bQr$Mukzr~at c6 ˹<}[/XS>HQ2#YΥ׻G/"ErCB!dZ"bqZTܾؔ"%JrEڈhܢ<&I}i 0"d%y5xBdGioiVW@"W.2dI$2L sE;IVGaJ:B$\uҟ+fҙk"8lA{M9RaBS &H)y2qw{Бp Bۡh#*%P@.W 70 Q[MSs,r)kڜ/Z ASl P2;mKVlcO!m{?PlTۢt$8՛jTjiRQm'M*0 H &uF CZ@mo!A}1, F- }6K(y3V!:D Kc0ě?܍2ƻB LqSO`F(S 㹡RxzNuT$(I&0B A;K-X-_JZm"Q#Pk>–UN$vF$vbQҘmfS%ʣt;$*Ќ6mN':&k@,_6j]8nʈ1h bsr(zY~dCS&V?|69bEjՋ+C;ߤb,ڦ's&#viSzQ()%rx;zwBVĆE`JN"b `+͘q|HhMQhNʳTblee* Pkn oʜV(6nY U~WHN9<~LZ肤gpT`"KіL 0Lxlώ[- X XSnrJ=2*B vD, qc5$H&K0֟,E l%t:pR1NivwvXg= T;E|qS u&{AC/U77 5I-1_!j3D*|W)2.sByC[IJQNڀ.ڐmpY{,/}+ 0˴!2aesVh|s fJjdSPauaJ._LT\gE`AUu.@pcdP2& F,P:^?12B74#JcZ ]zI )(!{"*eUFvQ2& +|}b89̰}\,ax/VJyYUfc #1Z,XeoxFW~w*28{)Di'ou%elyND#tZMPP/DjuEtP {RdGkmo?K-Lw_&YjlblsLi4/K{ܤWL,<čMP±Pu`apډ6rQ5F֊MQ0b]O_HMi6 ,q cATT^/Fx)1 C G Q8%[-ryt>aUM"hkWzĐm_\)'~Ϳs7Zƿ^F[~'=%&T }M L2$j5^۩b2W_В8{$֎@pkaFB+A2*,08ޔ7> z|N{ݲasx3;`:7XW3YE?D(olU{f)4ژ7Y6[ ܿL90jB62د:3Z}絈,z95Lw\veK7+$5=VfN! .KjIt%9BEMf#pR lpa*(ЧB1a=`xc9>z.?lB34\f> y -&0ID#}&]nM^.YC&Ӓ|HP~ՊIHyDg5%b/`>0Iڣ| <;WH -7fU:Zk(R8`Z.>YPrF5~;TsR,Π1\3}Bh´*඼7T hǟM^Btd%MIk15PW.QxPu"q8 #0FÛ>P$x)Ֆl( :'A G3Z̹4JM7.j5"&$h#ldӽJ{=9@HNaTU&"!XP iIDss*=32, sȬt><>as&ѤĆ̓L<8:_],d&8KAxzaEnƈzlp22pj *; 3|T<=lL@%@P|i(ӈp(TAUlMdTUAqU Hmر1\ƐU _J}.Б*KCd!RY\b*I2]ԀDUѲ" åb<Qo*'?v31\D7D'#JL [u,O\  6WbE#W s.SfL$MKd?i|eo9[ puAȞQjntҭI":b\x1 %3µzY_3DF@VnFx7GuFET"AG mS`~Cdp_Ş |AdIeX&%Lm]wLUܛjKsf$jFJ/&ͧmZ#>) nHvMۢDLWӳ(s ,OD&DS~"XAQn,n$Ey2"n8j&eMC/m |RtG4.~!Jō" _cAQanMu7,8U 4.xW:tROpל%lV`n˄ܵ1iJy]!iߠ/=.c)O@|I*)3DMt\:S60.HP" m<%o BvаNjntRT9yw.vZs?IbPVйx<@/h^Gl!mDid$.j)SfF [% G,& )2X& /]!aOR ęZ : *JnN T6H,1cb?]sb{s$WEru鹙#?\[iQZ13Pi!a:$$iMܙW,R )XU& ⴦H,M s2t6!9$skoG_| D4+ZP>J@8PI6ʋyq֠h|å"חCLoϓ@.jԜ\fdJ OדrGĪDMy5R'd|{ݰCGNԢ ?mk-LATdni#V:5ۃkM2VCEA)\F.XP:F((*'Y("0\(TY1A3 P:ZC +3z@71Y3!; (gP2!Yqz)SUJːg^FCޔV;3 9+^R-%Q#3֌Z!mk)2'-91Pe"ɇ&ūN}xk3u"W̲ =EKUKNe8fkT.4/mvu kWS;khw,cE2O*ri4Y4YV`_Y^ v0nV+$S 4X^npNkI'RVNTTdQ,3&Zr^ۚĸW{xaFzqe"6 *mʍPf" KRҫ]%fN6z2a3 ѱCtn)Ԍ7DZ2p1h |Z̭EFX ŒaR{+2D7{4/ ZO#k.=)mC@g?×3 G,mu L2 $e] uǭ)RE-TuNXѳf0/(34+ Ő%͒)A&{ F5ŦF ؽ +IdU9$d2oYN5_S'zHdIڛ$3~X`m`gk˾@oqZy%@]mؠ3 @쉢mR34獤Ob?t"jfTKzg.eL 08&Wi QEڊ!])dceU 8j0[q `7[_+$1!C$[ro±$1~FLs}269,HtwG;i<鞪l8阯V=ofZP"qe1hS6MШWTLv]S.息XxH Y{ 3H>/CS&Ø>*iܫ{Øa`hR|y{Gi 1i"N V.@5!j!;?=1P\"2c[ ] ^,~,-3(#U0)%E:`Bj*Bfr3O$z1%Ba#!!&   T/V3i)oS"\J+N $;4=  . 4DNf#1NEzV2*pͼ_QPx~|(@XS L,QSک*ް$@,%tB]$Θ 3plَLZ^GSܱ39po`ϕE;NlMh@N5:bվ񉤅CcP(A8r4{k=Ljy؃䰫uL`6n >iO{[S1/^U\Ⲳ|W|Xd:sAi-=D;h} eXAug-B潂e5a3Ҙuu!DB9(ou`ܑN &.edt `c@o3ɦU (GB$ڄ![2Y)ux?ɷ(,]( 9w)W=6qP%1v, O%]EpJؓ \]ط]76n(ݩ4=.Tȥ"& H=,mz" e͂q`Nn*3TPhKFh048@U&y4Έ@bE=%Bܫ̢Lԩ ?#^P0˲"h#W‚ƞK6);P56̻X*C-KXKv_x05v'鄛A 2F0Nf4YIpܼy$$9E"I#)d+G?M7M]=ke}uAjEGj(!`"aW>', !.nɀ7cݫrfJaό?ߨvo)1~"gQ>Ql'kz]3Dmՙlv1RqStեԏ"} ig#Eb^ Zq/CHҌf_g E6MDYtEk"O({Ə7o\؈O-!ԠԞPHzJ&?r P$Kz[H)(H{;(QLfX5I0!a13vW58CMb$4"l`ESxyS+ kmEC^: :z[#4,\!ލe">Z_*9i|Tk,ˠB NL;DHH^$%q49wqDŽ$kJYjQ8Y8Mj%Oƍ1~gO "c$$ګ.2$#Nd?sڱ"Q&@HFS߃؂%x!">.l C&6DՕmAP@5QhˑAZ@8W1̡5l`"j)?I:/!/pXDP\Zyp(2U y\9:BUCq`bb#)K;% Y1[.U-ȶnqi Ჽ;vn~ZP|9?P)>6msҼL1ܧ{Jzq{G@%a^-?@_h!9EI")/҃b2+|Ny$4Gg2ĚĢSiW$5FCC4)2VN%{Xʰ+CDGP㨂?,GNUIUeCyXQF< p$a36S$|ԅ0*/6q>4k0J։ gC'pD1|TbpȊja*a3-Lc{ o^ќ;1Gy#1">3ؤʇĎ N|#/?a(\׆}yY [xŁ MR#Unk`=;Wf%!dJMDVfww7erwg*=i܋I~LI2k@BhUlfˉB u[ٸM& f7{ D媷zhn!]d`N%(^Đsa!GtBlH6vP _(R9s fɿZe9R1H1I[\MV=vc'Yȁu%VѨm=Zqu&KJ X)V!e)_WAj]Zf)%˹l: \R+ ؒ@OyKн ;#u~"*1d&k nvgj- ahQB3֛҆5I탡a qX! p;V6CGN ֌8NMFv4oHǬ(H#Fv[k/'U^0䦬v,JJxҥ~\N Bd7"l)+7QfnB%|CجD6|Ok@m+R1nDHVޥ;|!f9bh.)8N` &VS7]PcC^!ʅ>(0A/hOv[u5?&O0֭lV1aƱyR,.1ay8'ůM֐SV-Z103g1s?Xs|&3TЄ:m fGiክn'!$: +E2E*fIIU r^B7 0zq{ vG.!|fΨ]t.8LA0MA@D2&:'! 61 'QRKL`n'@ p %aǞ:B9#G[j=?1A4GIcGPgL=ORO,"f4aI{9nJ3ߨ0%.V.JBȌ!mEHUד'6IFRGEi*|_.,hD$`&ENe/D3ڌ^W`<ærYh}q+gn8,5YބCDvס)* WB_$դ0lЎ_c1&L~y<ےѺDکm)=TC!()+) UԮ%ˆX:%Km!bſ;yG8,]#BH\@A Ɩtgb6 V\+ǜc8IKBm#wuBEzx 5]f1P*$0XF!hYlKX[Sg[E޵su3JОM dԻ&/96x(2K3kܶ3S#:EF ȗqy#WnX>BE?W'?*3y Ql䁁T8p& 1Û&9 tzb̉ʸ/^v4RWPfj#KX$ ɽ(c${Fe^4^:,lNTBFo:"]RѓK"Djn 6J:1#yS}+]a<1# XRͽ`+>h2m 5MUH9@ҷ2L羧? <!HݯXI~ ^ fQ2S|/h)߁@Eq 3 FЦW9)셊GQÂ!и6Ci ^]̦H`C 0X9 \ԄFpxxB4h%H LIQƜ0aADسD̸Ez|B]_e$S*b2C lԪ۰: FLM V^ m &tЯȚi #j]45rq )LvxOY!t !XB$Dd[nB"B5reʡ)Heًf6?2Hm1&H7uZyaDBb")̬m-nfjۘo\"CTޝRE^ҝHn"Z Ϙ 1ò  9"Q{n*jvM;$AOubL%pdDp'"`轍 }Ѻ1y%RN^BA8 tRAจ]RA#)5;BN?ѬiRLjt(|_]:!,|Hx9 x ,FUDaP:%)ؕ&p~2Ok: (¥\@j'kgq/@pqB`˻N[|@\L*%&bZNRQG g4NH8tJ,tQZViq…"j=gĒ km^{Jm&7,fxGA\,FH(4R!kaWmD, +.ZK.!+8ѥ?Lbl@ y B5&\Th4W@UGD{$%l=3 TW s{ɐ*9r 3PHF&1~yz"Bj2OCJJŪvbGy+ajػ#Nkr <,%G V~ٗI[֣X98}#K1BU[ӓB"<.. L6H(>.^EjHM8LGkn`n%d/ /fHq:4#]bFjR4[ݝ؞ p_A7Bs^͑!byTbaa֑^yFO-^>;!l-)GX]A_N@)p[!tjJǨ,0o̱D@7H /}}/n_ؑ?%U>jIQ;K%4KܿZc#dLʏlm H(C:!VN4v8Q_4KRx{gBiC H">! W%iBHۧp!h&@&C͑a$ƨÅIչN*H&i9{"V0ڧxmZ *b`i gDe15 wS'*f~55NZQO)o bDrg{byiWc[S_( g!z;$ʮM8%jBE rRNLB/8m)#%b;m;UN j,Zs;,yBc;S)H1?[$V﹛n>cUjGY4Z꡸7_ژC|bپ/f*aKr ,6уL!JfqJnh2⺩Ї(wOu Uk}SȚX v|$d tYP'š*{B?,#4)@IZjHPqtHF^)Kָ*V!{K6<$RVA`2&NmN d2>Yg4q.YIq^cr 4F{_$U'khͶQ=PS70U8dĉ)@C4EᴦI'ˌU` J/ ,S̀x`G)<_iQpL / L8^|N QnPBlp <Gr>~*(&cCQ[r8K0"[г>OTYZҫDם S0w=utaEv#i۰^* L6/$L+ 6[pt[$wx),P!պzLq6j&=6ͼbDnYFu GbNop ZӎbFh U:567?ĶM=.9yT'-~ ]%Z5NV)WDa84FY6гt@3(ZkGqr(KHy4K AATT# B\*bs8V)MyCCrn $1Ju*BF FAxv+v7O|4Rt$ PxllD'&s10pHr.zTGA Q&_\(Ypc؞JvD;P n'pؼLJz-ALm5jS*zVJg!90 a6{! 4 anvŁoYOd'1a˘/߬V"1Q \17.) 4޹|ѓBW'/TNYT[ࣹA:eh XX'S%}:OIt"{$%dhQZV,Gy5 ‹( li2 `-=~_Ψ\讵aji,5(gEB((&d / sqW/n/stuqƙ?T~ N^ 0ru`Wrݮl1G@LjA-Aw5fQ Jab=|svT=ʰ?CbUT1JZ10 [*=^(_2ܕ$գSoQX\.% Ȗ%X .FX CD/1_^f`C:{s6vKI*lW)2MJHK+ub:6^z^ Tl , Kra\mGtɸ_"0"sNsJmSq TMъ?ުNjmYش-\İ=tB$hh4!V^<@`ȴ&0R)&wSdFD)Y%␸:VL%my.V{ג:SgRDOj65&ke{Ȃ1CXqp>ӽR\7gw2݁ӹ'  Y/UÊgn$Ie;/)<)B@R$Zf c"Z/QT .t3ٚ5J܆>N]HtHӔ-,WK^?k"^`/e aTHxlfTiFWbLCdPz[j%$E!inZbHLFotcGxB %bѩ!:逈(+|Nx 2fdPĈʆל#3YȂ?M" 4w 4G\|fHӗ _0Ja 3y.hTG2V8R5jH>%g!QX;z |xAt,Rlb5BBf&)J'/2WA>Jj_4>/YmJ[3~qɊMTڴGVES)x_'CZٶ5to ؃?.jꙷ5;3dG0)d=u#\;e:H0JgBqrOhV N% f r W**C`Гr[rxq0ìtIߩr촵&픐5R_\4OC–=Uک*tɹdۉ պ͌n JH4޸NBd~G9C>H3'$IXRfT#ѩ_ GzVlh rLwINQVQRS Cr3"NsćTd*6AvW\5!̥Z:Qv7PWTj+𑞪O+44;85Pz99C}5 JcPSMf4A2hLV(*V2$ZOU4؂ɚ Y ?2)EA, ԥq ЫYpR3NHTE($HI~ F1dĤ ʾG㷳$-iaww㔟64I+݆oO$>0Psv?Tݙ=M\vx;@Jl¢mm9Gl,ulB bd!r+ʞ tBdYsŢ/&^69ԣy ;T&+O Z^@+“h[Pn*pf5>(<}t(H^r1 ʟX4 `ɨǞHkeW5 ПHּ:~N9@Ȕqn'P1m#Z?MO#4d:Hō .ٙb DфX9/!?(9oWN<"bg3W1D78^קMkcñb^kȄ7E4%Ӈ~޼ɶСrE_+3a#˞]\"ƯjeAAʥ)  9ڈ,ۮI' dlb:h#,b6uv.tԚ25dJD2ɧ^IeqHF|! р)ՊUqWʃTv WL2an7Ti+rEKJ_d̽<ĂHI\:6"^R\uIN٣D뾛YMhXu/xۣd+P¼{DW^I&R'qjC$0e{ /++ 9t<By; .W$i2D ^I&t3"eYT!|0͘R^Ȕ_h9WWHBH,reĖv'D0t-#jJqPpǪȢLNw]@PmY~%UU8L2KQ-.q[AK,HGi:KweZd³CE``*-tO _*Z-Y  $Xʩv]7Bb" q$7 ci=ȋG*̖o"g*wGB=w6J Lm%bfB3AkDE Jh`~! ƽOŚ~曌եMD*W"ͮ4sRo.i#`&.p,kJ`qXNACX*UB]7صPGrwb'okf'db=rW>,={6xSrJjiSi$ I7>`Ig,8]"4t!xzC-,$pB!E MDԱ\J qBD,O2t>1aG?,"?Fa5CцXU츙#!`Dyl(w"HN)vcskh,*YO^5%GWHBbC)-nShqΫ:c HDJѕD}gߎF6BjSfpY."NoQ䝈/F?_wfiP)]b ?2>{:C~4)xВ} 2"cgLےR$6  F*jvI,HS9?MnN+'mI*UFtPIH p@;  Se :_dhUj4!C>Do"w"Jl,|͉B4/P/ȃj'cTV V] Ltrns*F;`GBg?8^GЉa*U{?ut]; 2wV6_8J_-,0L DLx *|9T= ݕuI<%^FEZQ%K24$aN6אW/\ICGM$2E*)1"$:))e&BgUZ&K'GeQЬ'm+,QR_1ҡ(&qu DM"xK|xAxTrdlʔ>`Eo- YUcB p6ωTqV I_>mB4FOF|/] gXA'>Hͳ(`;0\PM% I'6F*]}  ̔[ *l!D-tR8ie>*5WSkDY403>!M:jy0.@6"RxLBrDU.0LtDb6-˖V-h1|IsN vAWwz =(%U$QɌyxTЙ">)ftN)zk "m7' F241Afӄ Xg ϟYD}GwRNdˠ/eTVF7vx'c6 ",& k$u5"nRI$YRZ4%ýW )˂ܔg\jDѡܦHR `uw\xVE ZV2"9v$#' t-KЙJ#6"$⑎ c^ DǚK3Rw& ҋaJQ@]4/$0҄P l{zl"#(\^A^aϾ2-)7s&sxDЂ|xW?B{Պ=A'0"DmA?+ cIH-Ym)"s vk"eHleA@vvԡĊM` x S92iT;(,0h\&q|U4pt:*27OZ[&6ЗWZ|pBXY^3[1'^[z'ob3J'Rp-V&cfʲShM‘OaqU ^ZUV*ܭatsE%GrGotMQH2k};e>˲.qp n.M"2c Sin5׈gNnfeN`bb⪒sįeԾP|bX<;#ĞCHrIQLNƛ*N)]ΜdeŁ8';/+*DgQ#c'D΅v^##3))gs6tFJB#͂ nݜ!YVlȑoMg/Vr%R.`a5|jk*Ñ SHPTՠ#R}Mt ]njJ:G/ .尥m~ uAPj,C6rZ ^?Rދt.;X%vds8@ufl,܄;Ϡh/_3RJVZD9#@w7٤NZ\Re iy:m4SU7ƥK7D QB)+wQDs28!W-7жD͓^r+cƲgTlw%q+_gOnx +/u0Tϭ4}^HR ƭ0M5|BX PHZL3=xYfם>푎H׼-"uȖGQܤF:xGӇbbJvS[ T@i<]Yđfӎrj)HL{6w\HpϜMo0YZK슛SnmU,+8JOI5Wgɣ"&J>IR$EĆǜ2TȀbUIłL{P-c :KR8y Q|(bbK ҁK!a&!8OPULBޙnLJ&>ҵftjkd% +~;"Jxn+dt#J THN) H˪}]lh<M*+gVEF͡ cD~ku`5A?~k>8DU{UmEz*`.xꨄזlС% !ᢚaZ—hK9n $F'Y9TaK,4L Q{6,9&f7nyJ4c߻6 GUn7Lo~ap6#Ul eDPT|cq*RBTFr^t*fz,2J6ძ(BH,dIt,Tذ2/ EQ2[ӫxTpHV34č,NY;i``=q6R1-f2 -uK%ROi0]ajù4Gd\82A'>'uD[;b$"acD*tyH\MFϣ7$M[ .X/oI|/^l.| PN*.I[]aj*DS/ʧpT6 [aQқRC:GQnGtQG\D!԰0Z=bda4A#䇛HE\c!+ql愕6TR"28f JP՝4$!a1RDi3g!$|:,"ءF#W MaKEM(B#aA & l&W # YNjmҽs$"P~&j\q)QϪ'6+D]Ghvx\ >wY6ևrlOFIUdWWu Xʉ؁4N"#'J*,n˱)Y> Seɭy( f 2 UŹ@kKQ=:V\9oOf7x@BAzD6JvB*Qx$B| Fm3v%!$0PQDQ YDvzRb0N펛WiX8n[RN9&/ь2Sg02$ d1XBNH1ۅ'!xL*n)싴E?B!3!1oA;^~UG 0lJ6gmjGLg(W9| )d,ZAU+ʜAvDJ"a ?n@5.[,)K1oʭmvs_g0KSeR!՛}BHkB)-U.`; d1lFА 5d؁VAZ6**7StocXrS4OP<\rB=&#܇!6~_WÛn2ar,EO'L Pr/Ne"G}zMMs#7`hyLD!n/=z&tS_ tRv83J 4<! RWYuŊ:"=ačBEEijJ H F_ CkyHHޮ#/\AW-?K?JtΆ{ ]Rr~'!3 K gGfxo HՃ   k˻߲i治[4» ?ĉ}t{ӕGwD8{=yLd%R^$6_?䗆Һ q.GP\].u!$f1weIWYRW|h=x8G^*G* $+տf,ϐmoor, HobBӅf8iK[+Pc%ZYy:LwtL5Jq@ Yȇf2wyhbDvUȟ1Z^H% qdnD"FxpAXR'MרɭgHN=3GFXmYV4I]!*.@$"ע %ayڲNBHmZrJHkB0;ڠiQ0b!YM׽~ۉU;Y{r%ʸ><w,?I:wq(to^!F$qX]7p01ƓyD5Cd] Q1eiP`b-/39T쭻CKD'nPBRVa}ڮ}eQAuǚi\Avd-"AwY#I!MXʠk޶.nqLJFBR5nH٩ tjrF\(}ú34v!,f;t1g:2_mڄ4-Tu8ys,PN=+pXx; {ްȻmq8u\=>TSQ=a2J AVbm; U`E"daBd#E]E۪7‘ѕNcIGMWjL{GP'H:(j5*:J8=EQ=krxduc^Naf#4FCؐLyYG;$Sޅa@rf B.KƁ g_^w"@f(!|SCr|dIm*HiIܐpg ʚ*g"aٸ31:h۸ ƻonjKn_rT 3Lh9]# d2w8H WݢU*5kYPPzPC#AbGЃ=JW1I*.'H%)(2C'#H҉b#0[-B7{i n&ӵ;˔*>eIIe5"JHKT'EV^J]'E8ߍWGcWsn/˿ڴx޸$k"'Y4-^ 6"4$LADϛ!"^~<f3Wø찇*Hܺ]geLĹ[)(D=  ](zL԰VvWqm0[ݍ(O`v>"TShMIwVRM9|ɺ1ӔeOo_HJ<ȇ񑘐`4g /Q#CTPv`Z¶]3%[e-)u]?.Ǟ_6#kMo躒qtŌWt$-mF<_Ϻ;C?!"㑂lD$*iZWИ]gràj_'g v$fys3B,SQ8A7ҿ=S,nѪEV^DN9 zN</6/5^rEr_x2PWZWWޫ7/,S}$?K" I=|\g55Lg<}(U ¡BZ' ǀ|- ńh%3‘ "FkTcl2-_?sOL׊7Ҥ!hĵ,'"U]~WƙɷQY_r`_n;526Ԗ?Oti26Mz5q 595sOg \a^ cgNaU{ixџ^z60-#+a7\OV ".ſ| j$ՓaH2Ȼ_O%*nS9MEkIIG&5-gREs5|GfrfʆpX~;gABJYA>ʖixRs]i)R֝#ҵ¢-+b.]==Rpi"nrI;lц-.V!/X?Ve y[ϡUGWѩÎ+tmE@H/{6$*&Bՙo Hov<ċzkIu'D׮;do/ĜJPCђ͢ hT n&qPmk/Bqc_g .pHN ezAs. @`l/xڙ$IxA|10`vgEH̒ )ZWJS>rfY' {S$  nZBe`nDEae#͛tZZݝIA/9ol7X=N"D.ý]4 ה3S t߫蕶Mz6K$s"fE (rv_$qo9[\d}b֯O$$b0%CJ@KKz/","Ѕm$G~PUoY#(ڤ ŹVaL[,jcS|]SDV[kkX~ 4K ;fBUkq:CumIJF=;F.[Ϛwա]I%}q6P5Qd4[a- tEKGݐWLuYz!10X!g 4=LRe* :5^$RU~(&[Y`D܋q7$gq38γ_DHqbeQۛY\DBgV!y7BVk_VT \Kg&V7BsI9' `\!FBß

x5SG #1P4rr͚~o!:MHY^J_El) )YA/Ȏ#@n*0iM&V0Nm?6Pggn1IV;@\G[#\H)aV\Du&7\*I 8 rE.6n "(ߑ`=4jq:B/ QIꅸ3(.HNmM(qɔL)ߗ=hM(Sa)F])BDxՅD/WY=K_ X1]#:z jQNbRv5\  ]/B5{d*ögi)QqV!2c]c|D QyZHFHk@;Rtp;ńNN % /tDAC+S-nD.U+8HiVOqbo ) wʡmku-H>*;,cܢc7s[_Z^EUWby<5DѧDDY!1VO|pR>5.V%]-Z+茩0j0T~'8{/>9΀R]N?N'Vy>UEjTf75VKѸH I%zK{*aKĉ-'|qoa5,NʚUm 6%\씛!3b#%=ʅ3_JtHbJ#ClF@= dy pl jTr a&mp9G5E&k,S%ٱj + \ui{a౭IrmXM=zUlpw> & Phtڼ~5MY%V†[r5HI 9[$yd"ѨR1dRH\):q% -# j 0Hٵ6[TP;LЭԾՉE G#ƕEMi$)]^*zqZ- Rڅ ܶy1ߏUmATƒJ@6]cgZgL0=&Yϩ.v~K /G+rﯕ.M;en}n-\%}~BcDF!`v1Ig6X nI D,u"Rl8oX7O7#4j3-Ҋ<5βȍygOX>MhTc;FZD T{1T>! e)^ MG@j3lӖV,)VLrO֪KPՓUúFp*|_r(ح7Q-FYVB3ƦL j;oN5 !w&eY9Q\&Nx [K'u>V"x/ fjV¸\"Lu0 Tp- g9 A U* ! 2BDQTå9u9F;tj!vUkHߵUqam&ڵHL>si6K;[[jU)PP` ÿ߹Gd%P̰!_ѿ3XBeqOQS"m)Qv1ntrw=e.bLǑVb+t!f{Ǣ#fT\3 f/ Z+ծ+>_`!1C8ZhAY˃C\o,21Ŕ0C٩˹>&R`T->rpʔ- 'J%˓}_)H!RAN &B*#* 9kT)<ͦ/ad afVtXLő>ѳ5.[K ?(M,r{e*:g!aIz H5X:J@_R\-jYM*)h,]FŖ4)ȳU`cRdaES Dc+P^ U:ZG"!̕* ϶)CȀP9t)̨j y6"Qk.gRViV/fV}PQ"):w,GKItPپ3x0DDwfa0M^ $VɁc&>O Yw؊FlVPб'KI,i\۾6iT9׈Lȍi@xfs-,JfHBRD Kɔz&7ܕ spPXMҲml 'm^ mN$0u12Z)~]}&`D3/?Ս@Mur@G:Ht .Nv/]TĚa\4ku=T6"CqVu-3zV lebKxyq@dj' rb2"`M]`]~22= &|Q&T`F^(̰P@eUЄ(D*@.r``Kv.ኬ/ ]Y`ѣRUZZ]2VkKHsbU\rk|_ kNu1b\"7u)G*GZ`x #4Y7m_V5?r vqk}' 0$,m~Gis`oZ\ cz  pѬ^Z=`=4wfjaq5T8[9Sc3R;/J Uv@UJ}D-੒N.R,E)qgbHSl:ti$}t O![YЋ(\:R F-D8#4MJ(LNy؞f+S<ɽhoꍾ|͹ k6j8PC^J@e 0( ٝ}h̽j$fuK2zSl5F7*-h">wj1$pD f&|:~c]-ez:;gh39,|ԒJiB)b2: In*)C)_Daitbj #qaEI6/a[wK--# l}+',yd&Q[H>􉑗-\)gtJH.Yl c5FX]m L*ICK>5)~U< vGiԁZ[ݞZ*kO3)~!+k A]tyT" g630*ܨЁ445V*X@cd9`!`l5-wxkQHeAHEq$  u2Ŷ8Fزqq8)~ͩCsfp6_FYBFuxj$jɦ݁OY{<1/"Qf1YNab\Ih]ib?_c8xfkݎR, Ib)ʦB^*uЯ4T%F @N3DZ$&~--ED2R#v%2f]^DeӉb~z씓96l%|xrKx+G YTP h*ԁ{s$!ӌyE]dQn#hQ "ce1It4d&nY)zHU:$dVC@w3м5$,s1 ߷m'+'ʑѝ]Vvy  G,yywƝ0/T`ׯDpM68ÓEz/aɍ0Xa_J,\TC^ز.HNg 0E HN%v$pH 2%Ҏ׊~QlT-Jbk!qWK8|I)bdi5pR)#$~Nj-9m{1X_zFm`n߆6ԆX pRGꟈǀs UA[cH[=0%hMxJP `/veWX7k9|{ڍZԣ܆Wڹ(LJ<%R"+iWGC69Kmwc$y܃3ъ D4{*`\՘ZhbTDZ:ST~&!T 7;0+i]IQ3-c HA s`!1#] x^gsUȱr>P</TxSCVfd6"d;S C 전sCY #Jͳ@**aT7 ~ocn'8zóXc+Q#̣d*|f;(*2sa%|}iQ0;wJV h7I|@irAeM`j\{[b2n/-/ *+R(<,IiE7cvbT~ޏ. 71͕Ү&qR`&fݍQVzs}$+hml75"Yknȓ;o%%ɋ+Yts ?c|{`Ig@,z|reĝ6kvp\ޅS%skJ}7݆](kjEl;y?.fo .[neSa;:=j{Z%D- P{O'h G4{6!$s C HeƂ`e\HAFi$rBlDs?~YC)u.iZ:aaz2r(j>}Q}UugRS UBzXjT`F0ŊV8]u&c&%SNU"i,Vpc[XAl#<]^eɘW C"nk ] j.rZ"91ș f0_!l;3Aq ;3@ʂ1K*}Bj/W%c2,:w5Nֈ,9vb[}1H^Bm_dH*qIyyTh4b*#Vx|+,#TqU?BnCç#6Be;܍K~;Sd4T% f*ĕak/Ko4LLȓ֋BU+ .-sfR25]en b6Fs fhFD;"ksg5 LK!ag!fCrbsd? LLT!F(O3Y' ]f.f%d"&f0"B KrUd.1T\7  &wQG%e-D BrE2cߧ-uV'ݲ]*BZyQ~KDւ%nl&AU9@ݩXdH/1'wc'PG"-J/d~;U"UbeU,GljhŇ&Ÿz#Ze)X{=}Bħb)0ZY޹B-fdBbWg1ƳډXZC"k=Ĺ;o"DԚ6N9ԅH!SnMQr%oY#Ŗ6u) ĖĴAB;|TWܫlUWܜRR\0V/ (D&D%*N_REY,FB5VENBf~dzR*2լz[.sYBTV'ZM#Oz,j|wRFxHy:UF"т<9t3IC$sxRȎ]L9(FN%.GOtxƥV= ,(^iԅlb V)~r+\𱩱 )V4QcCs WD6X ]sb7N0xAR3ġ #`h/$V8{2 N13Ghl3nEb춯5X_/Q;0zgRhkS- \5uGȮ1b$h~'YBV)G|Х$ [ߓLw脑~|bQɇ N Tćǿq)AH|Q' ‡! >e9PhE@톓!6 gҸLk{KA_~-9p^ $_ ]B#Y't^E[*} =QQ)" fuAFϙ/& ⣏5:@1ׄ90zĐ`Qwj'`9$ hX?pk\ڲP2+y`~hMYMfǫgi$oeJfVN&K ؓЏe; Dn=MZ oT`Jb6">!a %*MYBs`7*ѬAZE`$ UtPZ܂]3LĤ)Ri5nySD<$isɈǡD?ٚ2H;̇򁬤^ACBP"кƳROe Q.؃voYzEΑd?۞RhV#J㷹|DÐh8^%Et!^&LC/ bƥ VFuI +Fz3+ *<\zZ`R:Ș#$qdC'1PJ{r$SxPesˏ.^%r$pgIbڲJj/ @IctW"X.5u-e<,u[!DχeJqowt5b܌ShG3myRʹ_4&Vu%39{x#wٙ_%o@fĀ&" c^H EM B)wӢTLKmfq,dİe՛Df n45݋ &DzR ֢B0+NiͫJBr[e~ofٗ! M!f@@CPcA Eh-4,yE$ …}2o%O$`Ǩ!<¬Cyy4zbi,eI\ OJGrp=ᜅ[؈Q_*Ҝ-KFI3t&Tje"3m€XN\=ZVG8D zw6II)%wzK6 4!"BJؠ QkBjTP`x"@( 7FD)%ARWf x0JM:HQ73"5ҭc^L7d"PB]#\I6nqr‰<,ܢjˇ[V\^hK@l& nI81AN#.9 x5.Dd(V80]{qB*/9H/]z1ZI5߈N՜3"#N?ޗ6)` G?C<0õKŽ V10Q,GƹhqVp%आGE6RJ8FcByi Ǒ+JF!]a}d<:hEd炻OVyD_*08Q6HI|h@&\ ŠD[8R,Lc&]r bdrHUH^`jh^bctnPnfrfvSW{"*c.F,R2Ӹ}M d:-Ml?+Zui!W !$mqT_ f2~q38_=nwQADGh4PpR4BedL-t ]' Q@J!e*)+qY!QA"ːb@\weJż.S͠2bCJ 36_V#TYw͏ hLcEt* &ׇ̦C"eǃ$Yۉ·`=U.5Op6?2?("ީ]A-(uO4,Sl ~DK0jX@Rd bqɿ1߆%!nHX\Z wm ӣ2ʪ!Ը&dN9-kη$,F\T:i|wݗQ3\*)#$1!` @*,o7cRy ؘKy".HX*FI8ŲG@`q5 .9_A`EG!@@Hr N!er3X(2#dDJ  p^ɻ-ڼ#>ܻ~mDUl^iDByX-O&}#f9aU"N#v:qLw,`1kԧ]#Uvͧ2%AV'n"Rj(tb:Gh` t̠9c&?c3|X+< JT ᵙQbU.7uىJXnșqN-z+.-IzԀ@cU CLLThAR&<cdGFb=,Q%K-z,/29~ ƌ2DKQᨸBUe!`D^ʦRWSdDwLJ'Y~I v+SFL<>ˣ8-&@6E'.pѓeVx jv P%S"OZLEsL,4䐷%NwrR:^f ǸT['ׯP2,Rz`w +F#Kp 7#eVc:#݉Oߏ跶wb_tjT1-1ltк$CSd @CcIȇםH鱎}t(C!CJAH^\0~Io'J=u)OS/AjVkk(L!TڌFX9"ԋ\Ll@o(VDd&fL]G*&HBpA= .g ]o3Z$GqbLy+$\ ܰ@uubFkMYU(*qidT;t-M̌\"1Xi]B(Bif"/?Om=Cw(e/>림bt4TPY+vd{QMb cK4_XgtOו*5'ƓL][9WLAyL=,Iɽ&x%7+AÒM%2>0R'ذdFVLWR/XLZ3xlJV_o,L1mPLP/aˡ3= " ^ɦHWS sjy뱫Ib ?ka#~ Sv'@Հn9IB!P ٴҾ-~oB( 5Dt)=l%^-5@Ó !Ԓ1CA@(| +FTadΡ@$ovEsz 0DB*7W)O:R6M:G"Ty֩XH2hqF&)JgnjPY"i G$-{/S*'-?_2R2GQ [3E\Os|)  ר4q8eiQ~(cs6-t2wDAe_KkӤ 5yezf2N{']}d*1l#ٳta&I7'[ġnrTa\Θ|HDa70Ӣ#TҷznGlHݖ:>Q攘(A8`.`ڝkv 5\(#푯*TH t.ݚ+6zb}-ݬ\)'FZ$:쌪j%a.:P(kEJ\:%EɢDY%QFS!|1BN>\"Sg (k?"2As 'BEGGLb@dz$ᆺ\4A*IDwϪRNwam_C]hB DVB.@(`Ņ'ɑ*\fxAoJfX`l{דּVe&cW@\)T}H+.mPS {a`2'c ~o *^y4A͍[Ջ)W@SH.dW8P+:0 S6,F;* x1*4aV-=^,:cդeR+sPTu$HHDY"zL_b p- rz 40U3g 2&bBx)*8*YcA=xώ]D&|0(^a}?TlDkTXlbAZtYU:q˞"(vc ђ9DEH\QĊt%G #b m Hp tء포, %#F"tH7L8N y""z&"!\:n|B  I8飯C-VDb&f-Ĵc#RVu7[|sat"&"Em~&l$Rz]ږ3P]M$^*}YПYK=Zr@M=4EyOR3,5}Ct:IyFԏ~ib-ll"N2%Ƌx۔i )]*24/*;l*-V+) ?9Z@9TӋdq(in yoOBoT ؘѤm2[dK#N`)+E<70\5mCf&e7|~wD2MDAAx1; b<8AʨA:"lRe_* p U٩mA}SImieW<ꝧemnMQ3+_U4'gkSԵ#T܆K+&pMS4YRV]ct"Szbs]\ro\$А?ߝVJ3lrQKT@a)6𮤋ML S*Gr‚ ?zt.uK!`P3I2@ 4f(ްcP|KϋT ոއ+jDջH^v(]LBܥyk|rSBlTJ6G4Ko]1P[q,Wf(Bde "|sՇ$I ѐg6WWE*n\\avkRhXۮ,mޟqz^c2$LbǓ6FߛWy=Y ox3s12C.).g)+ lBTM-DhCq߉[{je؆,hPA2FjE 1K*[v+ZϒJ10xx04@jC$!xJbp UE}gjr%,NnH.ya,~֡tDȞD4oM.}dȵ/ 9-"fd%(s'k|(sR}d2G^KeSt=0en6Cse#2\;bbATnc6oC-VFyi/$6U%jX9O>gDTVrK$+M%Kb&8"dhSxÂJP+ o* .@)tJwUʈ3f3C ;20<[J}l:ؐҦ %5d="o' ӆEfRp1x/T$ "82ZTLO`dy`;0cB}Eʐb ,BZ`%;;h&S%QꙈz),[CF ZXGPQA&_tP[iߒDD߯2` |Y02BC!?"LHD`P&H QnyZ<& 'N/#/}P:c-6E+ph4S`9V8[vHF}4ypF8g| Hm}]gW \ b27:Vo%7FRɐѺu)/kcx ߻ً?荗hAMws|#룖=;'Gk}줩TL- UmDžL. 回z?JB)9(=zd\Ku*{ThDOЬu75/L\_ZK gcfT%D+,Kbj% jzũY`'jFxF{Vrȍ!S  D-ONn3ogEJ#GuRHNzJ=:VC(k׸w *4xpkM0_rSBBH\Y6]+!q V\ջtumy+_v~YJTƯ';Yn%kKR(;;fd!k%+]9CE(BgH9Zn!ȵ@fDrW;% $)~c\~Мk'u%v\GG*j.MvTay *#B~@βɤ޾nt[OLk) \G鄕;LOGZl"{3VV;ęTW:]惱ƹ[S¶ f۽7oO9,slfQ4Z2SCą={jugQ !cu *G>)ɛ+9DQ+fG1|׻p 1W)C6^K7=B^?ogkE j͘߇h 2E{rZmb{> LMZHg pGA|DFf[A}HL *Ul ui9,,Pq&LZlA=}ZG'J}'Gv-aVuSzn ykl4ի>?Phq"p麴Bbe2bˈ!؈O+H4"sk+#EqK|DO3ӕβR{Q+-1$<.K)Kb=̄g×ŢbZ^X>|D^9T1]NZ{ArKߎ{%=cHc` ?AN{{\,5K\q2DŇ u\S&\=ŜTQ:xa\ErHUKk"Rg&fᶵ%lSyɒؒf,\%"RQd޾ ]'mjH"y擿t_NmO@@ ,taUSEzjk]+to>i#>؁TNDqQ2).[\LK&r' HZ`;`Fϥ%#5,H-dա/ [*AceeH"<#*Y(t~&Udm^[ޞ[gQ5bH}>}2j U$TψaէJDb[ҧKkⲸPfL@S ]zO}4e攷.B]r suur,"/Y|Brx엵LҋzSR"G5y{oPN'tQ)0Rh`P}G5%Go3y$Va<:Y-c-TeK 4Ua2uE1Q~96e?`WQ0 _:.ωxdZggH/?o[P)X&s ߩW9NV#qKBroj:Ֆְc h^U=+*n/4\?y/a:xH.L[ZH]thbYAۍqʦ4%Gt1j#,.S1i?!MymG6LBvsY$-Ler群kvDPu2Z]Yn[e}P6;\D\زX@N*(cBo'0~ؓnjq`u൛7*bZ:.26F hz~e9ZDB[.GJs`Շ]9Rz[ipF{PYVnD!TJiKbm%d oo%.nf!rj J$OQ:Gu*O^^l9&rD*ҶMA#r| 7-y uhD-&W L/T!BdI|/ lcB("D:Ҝø1Xc2dвҫ*ߓ$bbq#"~ c0&1i$yc"G`~ S$$HP\1`oɣNR$Pz%QcZ E7ǀ eJ)/77p`ha!XcBkSH H&J! U Y3:YP[EEŬգ1n{;6QI&{bw({g7O<9aU=+M _쯕V|%h i*^G:XQw+d8Zؒj!(f2nS薖:qUsK~a*}Pqm4fۄA ƭ?WeND$trqu>wם*iIWV(lϽS.Ⱦb戫JZUNi;~#k`aH@ VxȂEY}H /MP,=aQq#0n11!5l 5?f|良jbv~:UC&K(TyTlD >U|&&U#I,Z& LsbԩW~@Tn^\k/8s~Z?wĻD_MעE L"jhV]U^xW"-HmХjĿZ_㺆c/&b+ V/VoC3(KJc{W ),c 卑"{*FR10m[@ؖxU> A_NŘGi'9:9w#+e7(lZp0 . &t]cl#~>ud,c XPܱS3mKDh?6:%4ET|K5|mU}REXO*$d VV"p:Cn6M&_$U @rؚinBM*CEH׏ ZԲGNnٸ!֘;!!ƍж%@wHt<  *в. \LAaBڃ60%D J9I0D95$\AW0*g{McMِPbFK&?TTQ; 6<'!8c P m|$V& .-bdb9>Mֱۘ@`E0*I{542ԞC񀚓:FCi)NU粍©Qq*&=1pGmPV>XUM* t#D+k 2a6M"CȲQ%/HD$5#Ӈ2y ƑJɬ9%wJ)n&%\,3`YcY ;  \֔EhOjUobJ\KR(j0]#EbVI+E$_C[H<ѱ*VREH4oMiKGJ=a]1ED DQClRMԱI%-z,m$;5@NLXua;ږ}yc^%22_?_3XDhWuz_[LUE,d6P63׏dY  Ptu!iw*&S- ؒIJHC Nbnl#IJY&q S3vb gƇY%P @X\UY]8l'xT%YELn<5G3XPI=0Ou@6* bm2MԐcq "JuЎJ8U<2NfSYǔ΂2-gKB%RE)\4D HFIBqM]jBa/l@?*h]"6 WA7|Y7-bEUfa?4k%Q6 &Ͳ2c_( 6q"7cMSPQ)!i<YFwbi4;tGܞt!˰6Ϙ%SD(= mtG[F4B ޣW ( ͺYIqr ZqY"i n_I(Dn_s&uΧV;f7f}^*]6l.u$Gס/D9G# *ڔG0Uv(jtJ[x7⥊A 0hd%+eؑfDȹ)cJoW 5XOw)|`QΌvd[Z$ "7'&SFSFB)؊#bEޏi / kSiD4tb% $~Ёx`3}`p\hV(@ŵ/.tgr+KœOc4t )d fuIbƹ#36Ry`*cEeTJ˼x}$!=5I jF"O$qw2R^͘ WE{׎'@pu|$_٥zCȍk,YRt4.ܔysȥ;-q2V0ʜUm v;MS_wgлTUZ{#P:唼mC#/^ Xr]J +ɁXYwنFKuzh0H"Ih 6k+nSLA(S&&GyOt,#F/*2bHbsdl47'W5:qLfiF+<1bS9W@oe8nZULbZ"-++u0[CvQ_,5|&Q.%)效SpĤ_8hFmZʵ7 N+ ?!Hf-?Pؾ9 t$k;ꆟ+;Qr%Quq^.s\KP&4ו(rOj]X`koo*_U0إϧAfB62{fN[FfH4,+M̻қVW3^u*2˻2K+5@B%b{W䦗"t|X1bz. H#OC`iSyД9||{#ʫǔHZ2]*[m3/zB ׊W>U]8[G/zW:(8ewW^]/P=z w5;jܬ2 HI(r?*+Gn?KVǯ MTٲ2h[lXZ-/0No_&DB{Nns`TS12|S G}w~lTG I9ATd/ [8Av&o05df^8:g XPk_azF(X"E [#'h-gnLP#f*Tk jGûT^k]QU (Wk;r>2. z'fCˏˉd6H`oPP*o AvF8ۊ0,. %:xeW&;]LFiVF KӚKцSQlku *8/lBW'0jxVcCbCḇ Ɯ# {@umYt, D˅u$a])Xp3Ȭ]$Hi (>S6UC3jJq(ˉS $fVlLKrޤ5\@d,mEoe /$5; \.I҃B,8" js7f )8\;Qr_Q9*E6ijK13aOĨ'2V';&IrJ;(*HQh;*#M❓PPBdL9pM U[UL͔`_.yTZ ] U' K[NkMRx:K,tї>|GU-7i.F֎AZt5ܗ2kZAb* C>1jb؋r+81ĺC bD,1hS$^ q^^)%=;i sI!CtS-dK3Fɴ,5#CF*3 iT (ˈ(D%a̮EZұµ̌8&WAb?Pʶ/ CgM,ĝl\ ASii8ˠBP1ztR&K OF",BkY${VKjk+Yy^IllF!஌\ p.b ^ybҦhU429#ǁTqHK?BwJY IR6HX2MIc2^Si& WHU0&KOـDr A\shTP"@[v> Eƒf&!HMJ&Pz hosCIMN^tG*I$.M EI"We Q:ۼd@\I! zki$Q{%oIV 3 'StY)iI/*KLx o8* 4LWP]Z}3="#G&E}tH]*ڔeR=VVJbHMzHR;b^=IZ!7lA4V"yAjK8P}qk +ug$4+ ͪh v:2FHl:}VeMS+~Dagb9VYZ;7֑zT|I"|.(*B$("0#$I oƦ:r\PA> >2 x恢#"€r8,X'%dKDlPV sp b5Uczɷ57EYNlñ))92$Ἧ5YT6LV+o~l+v gZ:|~4QNKAIΦ =I^וm MTec䉌W _!4lsϕo8Ρ\0$a^5e舸>cJSzW&%&6-Gy=/VrOE gl-zFEm&1b?'J wLG*9̈'WK Xh>`MVg@MXG~D`kۿ#2K^ <B#qIZDKڈ'B3tQq2eh= $[$wBIMDe L;}]aԠADlTZH&av'L;? TJ2@'pDlV8<9qZbG}NcŸ/Jy ؚo_+[& dbqo4Hb3FR_|Bӟ 3ꓦ$;&1170I̐ .R=g RYѐh?clI%y%oL1`Kpo4$mޅ䕔[vgXFiB8vZ.~QGI%e0%F<DRtit#dO$*烕BAXm) f$rI ǤAxݫe9c=N}O~Fc#KZP=ⵁelE%GJeWE"cdXte2:r9 7JĜt[rk[|L/ي"DKR9|zPƏ#me'{XO{62ęLqȓH %C1vNG/ 1(:Bq, r6!,Qi-ZI蠣pBʗPEolPrI0qbpOJɽR^ ЄR"qePp] _ )(9qe0"2`ɨǤYR)IPOy8_ :P窅?S+:F֟f22;5 K9v֗$4d#賙KVpTsЮdVשyo)V'wmeN]M#(27Y—oQ>QN|t@O%+вemy,~6E=2THR%OdjrNR3]~ B'kcmzP{O'BV^M@W ԑl&02Vgo?E-F60znmV r?4x%_L HzyfT&sIY2mqPk ^2jvWlJ1 F(vKcVv066[;ﵰӌs8X\y?6XeP ZϷUhsE)"Q=9'+g\t8%LqM)[TubQ= aȤFx슚Kбb Y[lo W:'7Y[ =T<(Zp湄s4hB0`TCfiS$ |paBh>z#T l(ᗑ?ʛOѬSZ֌7:AL'Hh;Jt6!Ȩ (vBS^Sy}ҤRoO~ Ѿ$;Bk }tx:ld?JH<X'^&I@,&15 BZ7Km_QʹAS2ؾbQlQ5?\7#1u]fD7ܙ`ƾװ~=j= jL+꽚[R򂀘`>56/DgG2>Tx  :O#}ʏ 䂷PЙd2g8u VkPPӳsYxΑ!.N%9Z$ ebcQsr NkyVU0Hl%Lݲ7HBѮ=/y{7ӿ<=ɗX=gy G[?О^L54f9gM2"xPu\_V é]' 7*I64`eA!>J[x*$R[Nf5$\erEc713fQ$lm"xX?聇/܅HYe'b 쪂֏^q3o6Zo%m-ʊ^_\ &TT#Fu? \D<DܼVI )SBd,{լ*xHdMV&,B(CdЬ9n_WзTR WgzD&r -oU5MO]H-<5Fl$L8{ijڰC͓[;ँD0uN𽟲]iBUT#2 ;Q &ԑ;]f@jM)?CӒy2nW\dܡ)P6^$^ (i/qv6vNnnc$܉Aj®=]Us*]XI nA"# uDj0?FASgg{Q pUlwG$-FLb4\+qѭ.3\""OHa](XZ"xtWlAsM u`@ӧJD'_tk X:_CVt^WJX&KsbBPxZ@Bh rʯ]ZcIЃ-lԈCRi f"]" Kګ\#v1frfR-}s3uEz}pF؇O1nAm(-Oa^1O|Jȅ%ˆEFUN7F%ܿ4SM=K4v/ɩnc [Qd8z +*(V~4:VQؠlCZB#eEK *00mGR!zbMdްX̀!C/cy(-`K?aq}?6Qp9z"bTVFg9w995f5փB[(Q!5ƶ)#=[lm=ŹbjR5^ħ8V`1ʒiWNLҒϫE'_ſBzRETL\AyX<p:DdDci4*>yIRłe>LPKҡJ,GICrKTsZ!bK0>T =-,wIX-lUBƹ|!x7Wxk7z/vӧ':1' EifWp;]ŵqЫ5%EV:sQB-i8M$Ђ~#pooJG|.Sw"`(-\y^=)hEj3F?1sONpu6b>FӨZ L]&I0:EP MpXr`ZAp9 SQ\ȝuwzh 3WaFeV2;:*JDL.N:0Y^3HςdfF ǂ ~;:-M* $qPhqF.\tuP"WT"uΙОгjJiDtuKdiQ[U͑"u=)7G*,&ub-̵|tY" Ĩ_W)O(}p$ͽ!Ij\-=Ehr]JBZEWj+kĿǃyy#ڃ^&8脖ڡ<< "4ҝi&C} KlubH|+`(7K W' eq)KPPNJ:YkՒ8@g(l`6ۡ1 A1=~Fȉ4ghZv2ԽVJV$mcjYi^ƒ9o(D,FLŐLL`c jWg:٦0C.@ِTZS$K$XZɊ)G\n+m'd6ݪh@f@4(h  xJ> j{ylDh|"7\m"ՔrrY^d jW oH|bş1NZ3kQ BM~x,a7aDw5clc>&?c fKSSzήmbxTLmؿ(F5JBa1i,4sv|DSXVtNXU8 ȐӺ3 Ƒ) l;C$2+*f_i+ƬBa Nn1d"5x+`'PZk$+.%醏Ssp27 ^q\QI%z$=] 49)_ɮJq0{pMW Oޭ9E!G{R2?B#ºN}ՂooC#hzpDM_a5 /s؊kemĞ02yK h_utIfe$9]~ER;Uu>.hܦo,dx/-l7!E^qUطhv a]%hPCvFP=lԠ푨*=dbܑ}/ UYrԑW-/WVMH".;#it]4 |.#U&dMlȨ-n(Y8% *]b'WP<61?*vMB1⧷`9 MINB> ii:7-D%['qUEɥwزxxY j bnhUPC-*&ˡ2oߚ2b;$H؃揬#(5%W?DLUYr>*oG=Z ӪjQ ]snT$TԚڹZ@#$LnS6PNAǭRBI '5FL)7:պ=Y)y쀬|^{ប4!%j&W ;V FKVAxUfH.ȘF $ =?(g<fSz&r{Hn֟/9WnЬOYhnl(bN @!/M"ERqs%(;$ [+Qhb{)XXEmTUQ<n5;(DŽ+4T!.C $ݙˑ($XeRK,D3b@zA6K8WӖqZ]DI xn*_9zWÙsUw{joBR4mo%z)op|TJDf%w!:ZݹKen|y9} W:Q'Vxw79 &L2k]zMȳ|n"^yq4[jrU eb2\RnY`iK&8n:H!d" Sᐰb<+qa7&,Z:1|6(ϘN%V-%>?NL[Z2 rlIBB(70U\K-uN/@L-R"E<I\J#*pij+ HIVR#\Fv@bD@d/z{ͯoN,1&sIo*~7HC617Rl+@Gv+aWK"7{1?uKX>j\OE@g+G;+D#,PĮoNR-WWgK]rt5$T#:5ȏC>MS'>P.s 3œCG*+_hnՕORU9IJa xUM?0 #)]bʹ79_0\ų%̄1Miqˏrdhg4vC9f}G( ԨLY *F(ʺF40 ҃JX^;kiQ.|p夰+aΊ0xe?eݻ|rE%t=ij{R(I%o~LfSrxPm}VEXw\z3\m"KflԤ莑?cFxeKW@#ÔdH4$̎'z:H$ LH6(m!9(NߩthlhPH%Jl]{qZ!jdxE8Ķ)Y!ɈQ+$LRg4zu'H!skv0䀮oc*a?Ϻ_;k jdabЫ1/IZݏ,Ч&F6L!n=Ī];.WTiR[3T.ys%\iw}ftbĎTKн4X^ttIAҴ]OqdUJ&}5Ϛ2o 7a(d\!DGjN#fƖI~]xI"W6)@x'd-ũ!EΏ T! HGLWqF (6ؿ2-'7.|v*GR%D\\)iO IҟmHI[)561IP(lt0Xg6A-ۡQ+HC>l} HZǝD҂4S4m/dK&KDp $ef\0{(y8,gI> dsό йM KؠHd BH'b3 ]h\03]'5XG U?O@< ӡ rP6(SR) W0+e eSPm _K5gݓI깄SQ3n\|P_ߗv0( +3CD3䮲%)i{8%x: PFY](ЈH+ME Z2[h2)^hUN>PaPTH v6USDGOԜbl ^&C"HK. XXmpִ޳ogUZ)].%?/ko67]gTN3 ;q$5Q   9yX=U6-]ť:nD0(׉ FC R-.CҤ%jnN ?ES#ֹSnj˶gǛ Y6V3#U$K.nLm',Vt^!ңXkd9|%,UC"Y*Pbo|Tl7},RXԑc$0F JEe PQj3!Prԕ^w!ʹbhvIr?G.qE|^ 7>CZ Ows5? h2|4I0/ᕕ F WB0  d\#efM[OYRTnNNyX Hd^<8Z̪؅̪"$s& e qW_Ū V=*U*XvW'sp y"%r{)7>3p/,9j'(D&T!z5vl| ?6@>`*4 z->,p"AӪ&JҿlZiK8dV1I쌜sY)KΎp=;3 ĞA5wf0@!g G|IA& "6ѣ ^^_f+Asd<{fYpd62; NS~kHD_UIIoJC1}>Gl*ĈTDCYXNo& NJATs_&^#6ڬUf2e3ёa;t@cɯ8 :."sgv$3}]-Rl*8fy.ә!,HP/tྌӧ!5&ؗ8D9z&FQи618̨^񡡫 K2Խj6eRj-(SS`%j6#8'&mX\5Z'YC.L80 :6Ii;L)T!!TpWX%+8q6m^Iӱ-ڬ2K}c}b2E|LZYC2h܂O:Dqۇże*^/YV$tR!m'a<,Hx`mT#.k 1CmZ^ɾJR_9pvn{Ey\&s*o"4fho_L}td4k]qHo6pgd*MZPH^? OaauhDP@YAH\8ҙ~Q-i/'#Jz<=_%?'tZC F~tr.FjK80:pPO ]j" x}0IQ L.$ozu3%eİ;Z&R}s!g{]YVZq:Ge:b{/$N}1?cje-yQ?8A g g;V9ӔL-4 [Q 1CǶҟEqϕ] -!Vrw\Q M3sULJ"EXӜz$# ,&3RVg gZRf~4=n4eG0=@ #!CeRFgb0*N4_Y*_{-pU2b>X!2n#_}-o-vۗpV^BN{m% `GDH /)4q2 Phi551 EqGMg<ˣe͉qGf) ВGՓa& 貤W O#(5 n`ȻSD_OUQ, GJa%jR5Wd5m&4Hok+9E ܙ5I]˭\vrȜnةrFed.THfcJʧYMӉ휐K0&a6"py$ýr\NKڕL$Y( $q>ER~+ni:x@"n|HŽ6{,_Msv %.( 3B11A1OzIh-}$,HwX[sxKqOQdyW ttv_DdYW['ԨbS T5C@6! ȃ9C`?J$h<ﰔ]Q=^/$)ouEN8(%Y2%LWZW-=Dt%|'2j)Æ! i٤wM9Ϣε֦tZ[)Z܈hDT;H6JT W  V` nFPBQ؅yIZ fL!ӠA:F}oLK'!PTh|,t1#V bbUHnhl1T2'ē)_1 "uAI d :Z [(&4ʃ80Xh(}5:p'xO?$Kexzo+M T MMDO('=$Ӏ c2 &XޣH&S|AgCm7E ?6P2JTr'19Geo:NT"cdP|`^zr骍SgHҢizN2u@MO0ȸT|b(tߚPHD&# 2Y4$FP@69áCtx*(~8DXgJ "DY\ϲ)M I (cĪ„LgSH@&ݽ&}AB% Ej%4"a aREm*|' /sk$%Id&K7y~DŽD*X.iW$_m:ւbF]D^>ds/0n0:p^ 4$a"5(f7QK9lNht({K#3 L_ZTvc1s4Qr1*a0KKqr#LT )r=b8ljR/MNTؽ†[DV#O <ӆu%K"X8.(nUj1..HW/z yɸ ]^0R}ʭtQ(1G^M [G}Dn2mERmPL$I!5IU\U HJꌤG k)CMh/[|(U*7Wib}Y#& V֍6%H7 o+|ridct?#kH-Mр@wZ}LA2 ͩezXuL|rs,?KJUn.9Bd"LL2HvGFIWg^d{Z~U,D뚼נz̽Yޥy'?W4Z@nk?#h#7Ձz9|§oj57;D#]M%8.RIC#=Z 0?C2yI2wptO t OnX螾,XԵa,. mC$Sl28,F*tUE#Dec ,]悫Tuc @7΀&k` -7UCG!U$@=O="Xaϔ>eb7S$QDź|yqIQy 4PЧ֥"ZK]ys+<'iN^:ݸ,5^@RIJ^+IW6E"Rk\JbTtw,݋p;;yPYUw*ቊg?j]҄pOGK蔕z~E~k-@i~ܦfw'WKNMGۓrքkL;,/79 {g!ܢa$ Dl/(^خ#n/MD,}SJRFzK|%GΛ{-E GDk͚ac! qKEpư֒'PEC ^30ȵ+U};ga&k$ge#WrCcE%)7:VLSQiYLp>.O=}85j7ʸd(ĝHyX#W8m; mR+jTeWٌ}W_76ŰM4(J#MrʔBhxˢf!*8FIq ]c~|^N&M\5mn>/6Rfk/yV)xվi3ICf;POE& s^Qx7/DwBdiTr伄_b…F7LdZD.W->n$sgѩq;VdwB`d8AQc0@]z"dzܵgEK0>ۿ1)y۠l -!Etԍw\*|#vJd3tm8t; FB0QQK]ߓ8MIE$J.>Q&J XIrV]Ğ+>;L"%u (_A7)JtmҖȀ|"ܨPTf˷HTyM 2)ư`t]}mt6 Dl@غt1m&O"Q^KHF"L38MGK"y(λI`v /$lSQ J:V|9 92җ ɬG@qvɨǦWFwNg3Ȟ 'X Lȁ(](t5Tp^`q$E" ~f(YL2\$2&$HQB3߽bp`HXtPH$VSHv洊**:$XL+8HHH`Xd2ɛ 5I!%WURpUgh`Hѣشl=p]EiN]/f_lYb$lƑi)%<ƽ*Ur#~[{4*B>NlKp%hKbmRќ*+rn3_XOF㘑t]AUr\C@7پ!" m F2HBsMJXӒ ^s0~ye͗*_WVt2%:|ыm=~wjv-v~nEG.Iz\Vd,Ќ|Dhh}%,3[`=a0{>tMȋ ɾ!OFyg%g` N J, P0#DDDD@\"$zn.p!@с\GI,ve 4D6MEL @YWrr ra#M hUenEH-^,唒p|X"Zq9kfDz&~I= g_wPeRJ/}` &M:Sk1Ԛ]Y>uc#bm;/w'&MP_D"Xmb8_kG7(; 0:򝋪}cnn|0&'e 6xdYB a[si܈AOp. W W5lhd HTRc6]f KlԇO}+B}: /GFi2++R]%PE:!&ItE_Meu.tR5I m%Z*M΢*}7-+}|5zэ~M:E:-#?\Iҿi2ͺSgUvӄNE¡D!8͗R@L )2c6&hXM0"/L۩ʔ $C,lUV 1`(Tf^hx&$!,O\uL| u$gU= vy&SRB*hW)/_SYƘծik% WNk#^qPNĪyש6 5$I?e ǼLZ챸̬H CJlJ(WSl{!,# \`JP'(B gĶ\Ş4d-ctʨFP*C2ޫy_S!ʌ2; *qa޸NYB,S~d͇`a uII1;:2<ːbKw&fñgQ'Py"}r}?vBPm (&X R06wKȂYMH{w6s3,ey}Q՝\Jaj>R$'TK5jſ9J/E;9y 8Q+.7,ε0;5ƒŖ@$IĪ'Fb;gq`۱@Wd*&,n/e!z_6uAJ4@]LEu8Kg Ϲ$Op`Z L k$4b~\=$~dV M+6 ΓS}B0Q[j c"`>ٗS"'a^T@ڵaB[h, [ % YkC H6SzbNAT6$ RZ6@rJ9 SaQN"%@&Rf#D4b`yqn-V }`I#'9'biLnM6@pYt\; 'PUJẐc$$7 Q()-%m)ɐ-[nʤi q/gG'?-wt E::.:ͅM|q/yvqh|fnn.Abh Z:>PcR"2Pd$nmk -Kq(Z.XWhϏgYy?,bJ*߿"cEu(Sq֋ΑADą'DY(UC-A'wkDt[zO"JV/q@PA:G bY4ФcGn,ȃj""EvpN2ͨ͂+9@WD Kףa>B #~&ChI^U[3E'㸔S$S$j*,’J"&JU'dK ̳QݗBSi&] , &0ٲn &%t荓p](aOd(YQwV ֑^(0"`/zD+ݒЩ;+OBɂ+ HPtHdʴV`5zi7ΔpdU(:aLc%ɏ "yUJ Z_Mnp\DФVHO+(ԙH1Q,%f4I D$'JC$GDɄI8(,"(mCDnŒ84$>d(tAYu  |:@012=ld3*Si经 LruĊb]$LPD13_gD϶Drf.~#ui1b,τ 3M6/'[1S746TXTA4tכAdU'fL)%SKC)T0V1$ Etj>ᢦ7:)x2Ŀ8(|xFgk᦭BDR ģ,3QDM5+h]l-4 i Z(JBFnV3vU \)bjK,]%9S7LߣgDp>CмȨxIPKRm gqe7Oq|]?Ն R+%EqLz_Cg\\dENO2 (%G$10@ZF  :μI:Z*ג+!c;5T Yr} 5I1gs'(3 4 nj9MrMGoW2,)&PE 7FV\m&vB[n/M}p>1g+^ wD[,XD*+!70YV'n譢V.h6FY\Hȣ2 !%PM!Ue=]В.WQl'o%Xyj!.:DJE BNݸҗQ2ZD`ttcT *˟d DSZ WH6$ybp SG7'f"c{CLe7S~V! Jg( ooɚV"s5 p]N%ܝ~kS"cLS\RFQHH$\&»>ނ D. Ekù GA:ԼLjT(`Ӆ? ތTQ~S( 1^l)E 䰔7}؛2|7"cRƂb:?Z!\HU2YU<xybadUAdzJm;EvH: n4Q, Ю=(X0t(7,CePPȉ]"!}e3h8?WFTIҸȎR>α2w5}#;a2@,4rXqsa1b^x BG@IjRkz'! Z>"R&UG+ _S  :.OQq2KqlpgĆ/ϩe9%.Sqvԙ = `p=@oYP6@G hFQ%H!$&B-0Bnh0ԣ/u#H6MɭaZ 2ILKi (R(̿cm*. STt$Q .^.kQk@1pߐ7Ē܋s@"%|R" vT; MzIHN,CCcf,2 (~4N(4B&aA(tKj0pEp4aDrQ*Ë<`H6Zώ^. ЌZ-jxh:ID>)3̨^uכ$HD9nv1ao]-NJ# _T!ʛ<ђk&Fpr1KA ,Eb2gH#ޡQ=[Di$ᷢgb!BKj:^N E"!+b#%RX$;ͥQg,{XZ/%2 t f*{SLtb[rx92de>Fpk9Īy97.~\FHx)hm?04'^XV<WdХ&L--T;k9%Df:1$+)Z$--PH$&GɫzɎ<3f>0URf^{Saelh{c%?aRg}"}!$TuaK8dK   ]FFgA6oayp& Zmj"RʕjmZCKː+* pDˁv% 7iLΌ&Z#uÉcx9QsuJH`b!Vu 0&)@Be/3}"?33X6b@V殞BHYg^Qj Dao/3"ׄ@+8O18H%CwfQ I- 9A(C60dpxfה<4|;@p7Wقhllxn?Dae/ +xQAiQ7F*G; 4 7 ۼaµpLq.ﰡEb lE.'-:_j6d <5^[Z7P@TU)  ZSL'7!3&&Pqϸ;$jOҝhyrSDje%g'@Qh꛻#S Lw]G$z5/FYY3qʢ>hxosG{ \h}iLEm^v廳"]c?b6MkǩI.p(ҚEz ψd=2溦̔ѴRD^.d zVJi Yіv0;B*rWqP$9)y'$_mHؙ{lYk%{BN{ܨ Q-WjE 項uruQ< "Fn,m HҤ,e3U ܌0s&EDүcmo^ e=2,+ᘔ6}PmJj>BBFt;/uGگrMb#oRNGj:9 r9v\߹ȁ `D4x Kmn qIqDz-ӊd ݖŇ:c:@.$9up:]bޤVnZ޸=4AEJͦ2ȊZy"A2E^/skS"]3P5{阊Q&7@[o.~{o^%B_'r6{&/u&V3›֧K XDlB@j)HF @ih,TL^ZdVXҜEITqK) ZNRID%@l-h.rk!aTmL{:d7v֤Q(n|xnɵm, y '=BZ"m}d_ndUe0ќ %dhey67a]vDTnRRφRxhHL1VT)"ur@ ]5j38FmAdJzKxh9,e\,<{,7̦ˡёJ"&NL\Zb $`7&@T3&)[.L '~vo9/ t+TΠiȴ+ ܬ@g1}fCqLWuE _(Ȯ2(L]ڵ紗I.cK%Yz2QF̆ V$$QSf'\'.9BVW(sjɋΚ i EDhkqipMkӢiK&DlMYbKQ O\Ќ>W&#6hPpM{LMԘ:\{oj"OXC H6hf DP_l(h@d#L(Huvlɗp؅ڏ'&f$~.UDlR*#$inl*98DdMU/S^ ]!N}ƐWߋs@tWAauX}r#; Y . ͦ! &iD ,B#.2KivH /q3 jhL «\S6.slKaPcņ;!%J 52*iU-iGh  @DOX7BgEFhm ۮ\bG/س ~<^ym͈1.6-2.O<P(K@:!.h"dFȜDubMՋ3Z ǓA)a 8Ԛ%y$Y(,W'$0&s\GCE2cm%ha(L*0 Dw[m؅K-Jxî.6֑\hA(=Ll%Y#gf@ 8}fSةx01A,Dt&i ٱ),te15vNyA +w x@{3CUD2d`q`aI۰R4蠴hﺸJ?"I an.+ 7dF HS(%(: c'iPrADWF 1MdwϘeҁL ˌ5N2s9H u1 Ǥ߻I$Sj( ?ߊͰEȼF.r14pr~^JBlbYk'gj2zĬRͧYDѐDܷ5mW`AHnxė`\['tB}o$?~p-\~&f$r<*LP<ޱgRs4V 31Ֆs0Pr:6C?ՙ%n³Mn0f"*9HLy\SRܗZGdN:* _ foԏ(">Ldط@[ɨǨ}L  *fIo JjdyeJ·4p:↨&JxPH9&޼!>">qY ԩ+!^AMQj2^ bmvWJ/*Ï4۔JV@Ilqu :O:5.\-h%>T-05eݮ (,S-icXPk+mKXDuܷbd Ԋx6 pi$ăHj+,8ǕNȸVHDʯ4kňNtq)xϤE&>Vy#-P 3OYPEWzDAڽ! +|/rP}DgZ$4̚繚K$ <`CUJy@HV7p H*)~7j!fLU墡Bt4ImGEk7rdɼPљj)'9JEA,t²̍臻;"S-vn*Xe1M]hQR7IKh[9)Ę!fICq|_B]~7ikg*cx9BAX]*&^)I(fNOZj Z/eV!A87z"aX$^ЇHńď!G9I u%u9mKMk%!!JIQ[<3t6n!ڲVQ-6O.*ڪHKſQ:R}sVW;?h=!;+.Wa1M}G3i^Dkzwg=D#Kd510]7OmvYcp0pn04::0KPiHRLI|?`0j(GUt"*p"gHj*lz] ~uWl-deʗr%bćkAon܃b АYe^sQ Ej U&UnJ[qOx*F'" wƷID ݾihVk_CyZuc @'Tū,~ɩ=ui?<|yG*32;So2eQ\yD&VqiYų\[3%ΫI^9vE:S3h/R9tکkݪ441ū*I^f6J?p BZT1y^+z+ FE6UroE,{0)$qT5ⶑ2b)'!.7_QȂ}@19QXyMG料\tvB3o" %kn-Hh A_Y;HN,Z 7rR|(|Bu GujjQ%/CL(2JQpgOFHW77mK+L,c+cA ,0nE(+Hհo#[Z+X@Hײ´M8@A 0\w4i:aF{<C06hOQ:&PA3kXQ-fJQm{`8^Xs0-*?9D5N8)Z(b #"njOl]sV?} !(+;:Ek8p?XaCqQA z#M[Q-HG2%HuJyJZB$ F wJI9%bmꍈ,C 9pBHů Uc&أLGo ^ 9fh*ҀWiNB+ 4FXnK ]c=)6tIG0;4`(xFÅJC2 NU[ 11^N!X1%.!Hz^Z^K.VkSQ9ݐ% 1ST[VPqdAc>v>s~M YFr/%# @UIjRub҅Ӹ`A ȶ־NRTLnT -v%ξ&Н%V9jbƿGRq h> XAD9R!9)r3Z0dd`6: ^@<<(}o*BNP7PH0ƈ4ȶ$)'LPbWgQjdeoEUNo4bFU0`L,b0I6 :NeuYcD"c)Lw PDy' g K/LNnQ?(9D(?ShbU@! vۖBVCR.%z&*jMbBv$4.J%DZ aap(+ۢH+\w1Ub.(YMdBK7XrQY*˳kϧ%5SǢiM(%L;m( F^k[O5侫FtkE-W"K7i{QܘiF2.a/5^]0-ݥc×EqdA.etP*sLN.ھ_Ov<9#Z!v\ KnՓ&Vgl3cE;Xbg(,)xC(rpI#<*(S||Q I,&y@УHd\~3Q,"h6CHS^4N)fm@K%rÑ$uQӟ»'hƜ!#xJK } ]LK4CLG/ެ0I4 #FF6p*% EJzU䙳"[_BPU PƆV_ҳNQ ,G!pEHAYdMҧ}*@B! ͠"H%X̖&Ls0KK1JkK{"%EaǕBV jJBM(/Z@ w.8SL=0 , -Y77D)Ryb Ժ,QeLt Xj)%ׅBDY6&TsY&^R)2Bbz&:x0u< "CHJDx9x2* i&*V玕!\z=4@%4PsI)$ʐ{l8?MSABfߟiōL5CÅul_ RB, !*,(L,QFa' yk}HOA&*@8YɑbU1bXQsu9,DV PuZ(]9U2ZtCV xpx8D@זⵦ7셌H@?0Y/(Q]~gbN"~qdA6X 4 9)kbJ0hi0lC !k5 dqℽj%;H,Jȷ39BaM(CH?AϧXs`*0LHuت0m'Se>sDb q7bBPyոY b]m3]KN $pGkL*!ez qC_LSmEC"d1bTtE =" 3ڣT1 bY,+ Te8I0HI§Mm2"D6MW ~=b#ZiUvx2V|ހ?`-hK,X@)$`9˱P I!ҐKkA.s%S CR$X!۴圧FKgy=>Bk xq$qZ /)(kpGBͱr4%G aɨ$)!!G`-=X@bn]du-!PLYaƗ4q*]DI,XP7s-jL۩OPf ¯MkSQNo&Vs-BZ#=y0 d νc|A{ eĥ,hg 獗H$E>b„`DO=)&9O/Ӆ*dTS 0AErF(~=d)tb2ge\ Pcv JPFάq{!ÈGSh1^8Cpq_,A UQa@4dAY32b`#̅}SpP;-T:5ߊ@F\ rx(9S8"t 2J܋[5ܾbV B;5q(CHy- JTzR)a3aL+?k@F1GKXl9 }؉Ls +M30I ڶQ CV5E:F(U]Sky: [paPFEE\xl `@Ŷfj0 E:"1JɊ#"1u1Bh#Zn:UC):g1ȭT•v7bxdBhB/1JbKX,Lec S-WXHPOXm_kDch`qj#hpyLN S̆1m0&ؕH38C~M]!wD×R7qxo$n/T͔ |-@ Mmv&stROsEr+Ă.vFjV>j9X•6rߑ\.sYf@NnvZ) A f"D sIXɢBRTNvU" ;ODf;dO E B0JU'jКR )7(@>g&^e"Έ`;ʠwA87JќL\u8v!Ya=Q<7= wMҽ;^t! N(\ |;v2qZMñ1!TT 87aТ&"0MB>9 8{#E=bn2HFBQ6M">+!Zt̠BNiD!sPPqpl=8]N82A* (LB@e % `KID! HnY΍# 3 QFwL7AB -3pQq/ M;]mҶq}(RLdkQS{,G^gTL:y T93̒QYגּc65x~7/ȋR +TUTb ][:3EymV/閄7}Y^1GTգҦQRb"eTo(!Vn fBTLN!qΛj]f#6 q}Z_a~!EFOl'%C٤G~%+(  ,P S H@qǏkGPbA-( $Hx80S󇓪94KN2s{}sD!O(w b,гp((*ɢaNWS gQLR1=AR’B*`fQ-wh߭] י{dLCGPs9 SkBve0Bw^[a4=cE9XBc Eb/D+ėh@@JJ6% ͋"2J񛱴Et_R8zB*8c:[j3FXQnB$Wm7zHgG/j72N??3ؔFH?x~͋A A)2hX'9A]Q=T*r#Bp^ M! H@CL\4ZM IlgH2s-8 bo(҃)GЦ48`zAYXbuP;"(I:SՉ,#IMIMSDK9 @iA ↚[sP Z#y@g)^;, $*`v?s&,.E"4Y2AAC]/OG<cH aG n>" DC/ >׃,S$p` 8[D$!odDx〩"V=4 H3Z|$X ; 8]-YJ$/9Nb=39 . cDBdk*K#92J <)ljj#]eRdS,C6l&j/QV@1IL3L+V4ގSE,tj e ([PE8YY&&l8H0/Pb%*Ӂ)Ad0"zI(hUO(&0J g2F/ ct2dJhjN QEyKJ #wpm s 1_M6 wQJ2sRG8]+m{v`3F^$/ Vx`c-*F1-m9@hhp¡@I&=uCk;"^{̽j)OjԜcۻ(qXQ6cXbhR"W.9%(p,q(1 X{Ⱥ-mEcLc 0 cE4<h8`z]Jq\rQcCI#Ek8'Qh{BD qbA<6+JI!;!K RP׆8(PPc XQmK-XGe)_H5, mt;@iE_<֩ȥLR0}Pd Cz\0a[oz0e1n{5Rl ¨j BL 4zqK.PUQ=|Cea@ p(i Ɯ A`Jk@9R{R F 8ƅ5d0@1Hɐ(3RXPHi-m/]#mJc\65XQx`,&,K"[zdeX r)%Av&ԛg,!sI FXfH4n\TEkd).ѳmPQ٦.P]葱 /lHKI%QTkqq5bX,hd`!Z ,`RBTBH0PXa2iC-`ryg35|" MJeI-$M!|\A)!h &A~ у?e5K%)bQsDq(ɈǪ0wIXRzx"L6`qƄ :X5odRQ29eBH' !~,1.PsDmj*%mhAK _ED 8Kz/$jUSw-{}SNa _YՑ!qI *֭/,6a&yDSPkGn1suh'J"uDS iMA@z}ӈ;X-V ҈.FpsqFBmzp%X VZH`JuY^D`ZLbl!lJ)-< 9esϏX9%w IzJJ{N2L\(f ,-c U¥'_$i`6DVpjt4!Bs1!5$0/Tr*mBdP(g82C{0`$JˤҸe2u *l .Drj z @(8Ң$,, a)Ԣ33d6,]Xzj]34jsrCML=qT#GEC8ACN6#4Q]G ª$8 Y3:3Lghd] Կ(6#0BW}orĮ*ulRF 1iX ĠP!ñt9--'*6@GzUBEN%Ei`SԓV(-DS 󾭞&Ï>`^)BJ'L@/ #3šRUS* <~,)O Ŭ m $bjt*V-ƤV|H/t#X?LԹ"R> MD(hVhY6<~(L 2%0xP[DZ%S xߛK1 8n$[BjaWypyVmAk!>(?N8Sҝb=n.%A>jO0Z_X%Jb_vh^$>, 7L}=MI{ b99rQ lIRU%ou\LgF)19TV(HRVp(gHa@M(Qa{ b[1Hř,ՔaMb .#Y6Rq;V^oЅ8eK`cO3L:@PLĂ &VhL^- ,p,0iV (;lWJaT\. (W磻2uOԨ!43Iǭf6]XRxi?\隷ZH.#961Zo7=˚>^2K^. #7*B ڎ u L)P*٢a"6$eF "";m;͟^pO\ėKHܯ!Aq#m!a a*.Z> !8gQqYkm+8jt;[)ھSMP; svc&wa*zba+ ]Pci8DSLHEq\g`UW0-SIV#S`%]hv𘒴't23wbx/BZԏ.=m‹m&:G(.<6,D &c@9EWydN|.aIH%ږ8hRZ`YzDXOԝQ_EWWu E+,.aH-wV!P'nHSeq.;nka} `ʑ=ҧS!U|T3XLKҮɫ ڍ3I¡`+|?{AI_TaAH H;[K7 9G4SW/{ e%68`b<5~eQ}kF\S jbXҶ|}07&hr 7K$1P:Yg$ 'M,Nݵ4 Y} Z{/M3xY5_^PQAF'Gk|1:15|SjE9p&V ޝz djcIm\v4/^E)iF&ؒqwws2I+s"Q0-ѴD|Qd*"ʏoKP1S+ 2LYZkpL )9W~)Hb<-3% zK2 hXlz9#Wl%L 4l` e'&¼Wf>TFSx2ߟ] JH&<=R ;/t$3'd7&‹cJ^Jߞn9A Oo\-gE[dxI֥%U(6Xƚ?nyՃa3:ՔYsDVy˔q΄%dY)GN^0RfZ. gQ xMC3JD>dLiUМ6eo,TVN;5',Sr! /ej[SWp.@0*8/Ypȱ//H+d?B81@x eX]ʍ0AZ3-1Ck4;&QXD Sa0h*YSr-,3 ^H_6]zʵ-0A^ҢʡR|Z!pN0mg=Z1\(a(Bʴkdg2#2F^XZmPڜfz-8pQF4hV#^֨*ǥEy*n΁k.㉩&rMHnjB< XXu[=̢ J(! 0j)0}0;^[tsC,&Ow[E|SK VXqMOI Hn10L" Əddrڎt^T 'SSH O+\Mɼ j 6v@,PH/0 C$j-DѢ+wHQBPI/7cࠩ 6ﭳ0kNƚ5]M-3(S.Y)4Gp 8ŞU~g2>ͨ4+0 }=;7+zҺuc+8aҎ8ĕ $F{8r.r@c*n?X!m#0|#[Sw6۾ͭlH*Hm0ki)|zb4!U@| ږi0S?k$\4˸ʞ"QSWhF=DZPM0CyKgA ȨEUKFX=dMk(׀0OlA>LΟe"-b' C۵ |"G[>xoZY)- :k7ci8WaNLu ?-(D҆t:qy2ߙ-EpV][sOqiRMNxM7[ 'rWxd[b#v,8ܐ+~4&^kg00mFŔT)LsvԊ9_ QD1 OSmJ(N٧7"TQ[+ZIJ^92Xxmm3 xq4\prKkUN+ϩkVL{OQ+J lY:3MdڥD2FDw)?!Iv" _hZnh]ɟiMJ}QʌOAE$_Hj-&)-*-6r@ޘ˜-ZY_&Q`mpju ݟPB'W&@ꖽG(2[d,8Յ|ha6wda m"WQ<,En#RgHt7V2sK0e;jdOrԁC K=(RLFFd"kf-VQ5lP^vC/H## @HY4$',_3 y,Dxa e7wk$řH "/aZfGndecb}iD Iz(Kq,&[S 26B>;8k?SQw0kH4%$%n# ķ]gh(tFw:qR"`aVLm &Nrzz+&կ:jsm2\IМb H+<.q#y;9 |82B܍UPNp$#a\)%t61[.&.FN'+xh80Y LJPf iv;C҇yն̄7|<(.-Lh E<ĥg+ꋋ>Ԭzzj Q}x< D1S%B@#\_b%#? ?](>/nF^F _0%hCy'ms"`Y  CZO}c@Nm9h \zTh+ǫ$A sG/4qʴTTog3O윘7l^D'QMA_gauWu/Ky7!-aQ{sYFX锩bbOZd.6GY1+򙬞Qiur3Q G(#Xp(0?GXrlM]XU([+ +42*Ճ<$(hei .wᅼA|!y: &MWM *wa뙻IolYyEgq%_J=Q51߇Fsx.j__}r5Ź/O !J\ID;}҂!&5w6۴ѧg!_$~d )%h x jB%jUNU\B+blC];wf,VNiHK S'ZDC))GBzWs$;|WiEnO.+I# z̽aJ*q6vs{d5q)ubW%lqN4|$bX_Wh RnKJ^âʍDtVW7X>:/"+*[uԴYL)NL 60U52k9X \Ziq*zaȱfӽvIܟ>9d}rWfh|EJK35S-<]D:ͤ|(^_T'QW˅*uK^=(vJ3GYAxOl\&TT9} `)`ފ1YYHÎ*K,R@1 C)8\m~H4qM HREK? ka#3"'nx#΋TiOxC1;20Hױb ϱ,Ԓ#c"alV;?]n!Nw87q#ӣ/EA{8a4J:[iz\p4pq&s;At7w%L`fbT}Hgna4HCH)4@Y~,\!1m^-=E)UDNJ^fZ24GlfC"3+*Y6: *eAӁA g !z?D/f'rHGr}䕾ԠDvr9` {X]~7&RN5 fA>EX׻DB|Nd~Xѷ9Btlh Àd<$[87ŠKŒ8:^ePa6g@Ƽ%D]39xL`= E4 @zΔ=PR F.Y*Zڗ⮹:.BXA2(]J-o&)!\+pB(]C=KwRmo tZSv^fTa_$d1yK%{<}Uw.Qt諡PɈǫ7JGj"j%PW E3Ҋ\X4ҘC-ܾG!!wm'2VĜ*2 HƈSzvV#g`f8^:~a"o0[[nIl7Eie_| -<.Zezo~-m/*NYB4(gB#`)QpD'+^N%4EaL+:_L ƙB,!.5Y Q!.DZ'*)yĴP*:JQ"-m'A DV'?e$$MLSF>w ۱0%4ʃ.\9F`JYi$(Яwe=ýGztdp굮R.;945~07XhE?%)0aGKr7zqzŰXJ8IܧcU^"8"V,E[L׍͸Y)S=,L~lNOMMt{pC>_:fJǎXj;aft/u/;In~$QWj΁ٱz1$Y) >YQJ6@^ahvkBq|zwR[3CzDMA tdVA[IO=]>y2R׬B-:3Q X1"$dWeqt"d'!GN h.&8"X$Pf~ )OQ jaU˂w%(2Ei ^$ܝNcA$x@X"C+]/r,Ij5Ŋ2-چ[,zDF!kڬӪTZnό #Ne$|rGFfJ>=) bb{>w[*mܵ.US+n9INWʨl' L |rܝo'3_-~bjۆFȫNxs؀ۧeyR6=ER/Oҕ)>vOXcm/>(RҔҐNb3%%5O]uS.kۺJڻɣc4T6RRmRfc)>rq'ᥫ4>f8g$8Bğ|S|)r#~-QJlE ll2t ~*Lm'س"=9&7 ն3.u< RW+x93JőXeBST;oVDKUq$\Q HY*`Ȇ A #APܻ$g?0iP11f\/B+d4jİ20V>309Ytb{R!7j\𥴼ݳ݇2ظ*IB; m!xbI=Asb[,rZ=i&/y,~u*OLZӷ+iOjzBAOD jP/FQtڠdU<'lna$ [ڮ_fmJɕdm>MvcsJ˖P([l[y]k/{Q:T԰"3eP x{Fچ7$o4?\vaj< uJ OOlr. .cM$¡B`'>,6W'ݛ,12~ 4(D0Ė!a*F0T@-I-""~ ir.* bD Y^ Qڡ+ l V2^z* 2(Ӈ)fer Ҟ.!z4` DV%"lxzҟ!Eͼ9b utRyK ^6"!.Aiy ٷb@ioh/3$2j3ُ ]3OsD땋Ahw D0)ݪ$ebd!Q꩓s&7dނDywIjБJAvφ>ۄ,!q/'%R B:qBN͉8°HtFfQzP@E,n@"F&,fLh$DGDڔ1]wвS3XM;8yx6"sg5,)|@X"P~ w/w6h"fJ|2E@s% IYGu KdsMDkN Q kP_ˋl11^*,í{vn _|2Wzϛk-bNY΋|M Vp敚Qb&C3jj2صOf?02QBҭyit%*GiƮ]b-)=/|4D4lU"%,( ou^VWx@eugƳ 4}~ E[2',X^`\X $1%AA LuC[Ua"YQFҝbf{9Kmȍ۱yrpTXn&F^7 ӰFK\| RZM;M* IKb9z&K]Mk~`F6)XrdLoKRՕfqm߸~= /=nO M2|'p$7Iq|BZW"_u1:Yk҄CܦF5&"ג+5ƽFEQ Wm`gȹ^5p̬$'iB3#Ro]zzsI B_DH^J%,ʏ2Vtŭam^]9pBȸ[|3FQ^ NjWbYL|X#ɒP =93xkpAA0f]Bc@WL, ʳ N1UƬi/6%ѵ2R/;ՙՃڳ%}PRSBWWQԹ\΍1h蜰fr0>:9CFckjo-7F.Lc]Ju#liT܈Ԗ蚕%ф"455l켠8LX0> vߜ\b!9ۦdLy}Z˹QQ'ENFq!,{;IhRe^Ϣ"(r4eA%^Z`SdI-=}WX ,ݹׯ% Dި'Y2%((zmK~!hkHm')TTn❿HN ۢZQ"h&#ұMVs{aTX|Z!|^S$]jާ2!?7"AIDOEQԦtAہ4QS2I-̛sQ]]z*;.)q3r,^+d+V֔@D܅u⇑" nQ|^߂ 6"+,*A]& \ zFWQ}a|[FN&.,4pSscY5:R+:̇TF _krG^/NmLKli0@/]\۴@t$Y$d9PS/͵`-K{PD)N_ v,C 5^' PBz?Ž F4 &IY </>., =Q)ԡ&f,E0ŵBdf;9GPCs!}==e~e Dyj-=#j"f83Un C, ]UzܖH,IxfA<(z%vjn/ǒ$P 靄NV"ED&pSH2jqq8hyXO si=UJ) @fJ?ȧRdz OsB+$*|Ao:4y:/wSOxzRs <'-L{Y؎{1.ǬqJt5YHHwO$Y وjIDv`ddmϱ 's{3Py|.$K5떽jK5)^΂uJb`#CJAu}:٘ٓp; Y*f\S؍ϕQK' h"JlLo>Sr|Xo$O‚1XFt7'srp^#/ iX쾶'l왚a[#QI8S6F( wOҔNd#泗%AD6)"zml8=Ih> -rk7@-L+Tm3s+Q=MI2- DFxonsJ7j1Ac33w=- !}RYE09 lk]:p[&E!ePW4?eEEk2k,xꬼShB'W%fJՋi٩kcŤC\RFBQqQ*Q˲z$XmJe6 S4DqBk 'MGVՍt[uPzzHT,B*ll-!Mцu+٠?H* Py# ${-xо*C;{Z蝵f8D`Hwc6QrQVjmbxʆ 6 v5/TYe9 ,kr;}. P뤲ST{cwg[CKT! - T^.j㡼*\: 8HkC{82~mɌXpEc7yV 2͚Cy;NBI Q #D'n@徦*F~*Vb%Ĩoe,PPВb#M(# *8,Ғ)-*eya`('I1F OKgCG&jFV/W%KQ,Adm3r)4#!3ݾqM;nSa /1#hE|63\XȸܶU_ u~u'%Q8bkTg 8]j{+lK]q8VBגE \ga7kK 6L0 p_lh \26ӣSS"b9Нs%y'q˥idoƥT <4D\4h&p4l<2!!M䚴]rE.! j7`b)#U"h)2 0%w \۠ќ12*Rdc2 Z^`,P73/8S)6v+%.%"KA%Qq~A=moٜJS`HaFu'ISAS_<ŸV@\25t"_өJze(J KBnyn9'31 PFb#3{6XdoaKjRت'+biHp@)DT CKb!J5z rV-0q2g4FReB x<{4UM6./ۜL8*1؞Dhj9!sn'főR Y3PBMfb=ɕb]'2DgTM~E`Tp a[Sye pT:ePbf'i 6Cmuv=H'&|X+("M> D$NC{rzcg'I_A;F^!Ii 3u)NV2ul3?vYJ A #hUHdhf|(sKJH|NY9_k@HfzC"Q.=>+-Bxʗ :C!+V $5R(lhd~풔OI=A*.)(xjzZt]*V_vѤ~CKTȿR cXǯg:)AM雟ᄦ}^Gʮ)Y{@նյh6LK֕r3 ն( tiZ=Z HbD*OnMK*ѻWu;dbԆA J_=&uOBII; TT{:BpHGkR 9 LK qpa$W;c/-b-.RVnZh7B'H1*^j'$fZ1;RhDGeRcx[-eU HOgc߯^ڇ_6%$M?M܎j}n] Ĝev-*k[*kr5ޘH!f~PΔGȚ VɳP)Iz}h`b8O/Hzb]4({  @,(O/n_m ǶfvL! AtOK-BƯ& 蔉Bn>,i9b;Dnɇ/fb > 4i&feO3*~~i O'InM) Jj:99L/$2%VUΣ&֓kI"c1!"D1$Twb,N+֮Z(i=Ʊ5;tCV$h%ى}d:?}ňL"lxsQGFh`yY/S ڌ K`}4 @+@bXlxQ3SЙg_ꖯhF"RˬךuuݞȷgMݠVA*`L(凜IT*̘:"6"& CJ^dcR MW?۫,(O,Сu%fN(rW0yeEHrHlI%2CZpS)(ÎOj!F0J3yxfi/8WssqBMV3>%NZheKJg7ڢqVP2q@SOgr7eGB?.mkcn(t]AJ@ /?]1'cQ+x++8ȁg$ZAzX1<8lQӪݼmK۱tgV\>MՓI4WQyȓ;xj#&&@zٲ|V%f+.΅VV0] >UTh#ߴ 2{Z}N>Teo?o.A9C`+*~y!5tVyyqܡGRcMlyRڲ>H:%(ӺhG9(Jn>Isu/ OIux^Ȗ0ÞMefe]I#$J6~s@`oa< CnR!vE^HopP[TIJN9; h1d ƌ ƫeD0@ F&K`(һ VB?M@b oAְpHfI0SRCwF(&hxbgm^3\ oEE;:XF.`U(\Ixpkk4ew-#Hw8?+f1'j{fX~gzq$5Fa`0$cRU&L4Hu,iR} ,5E&9CO\ay,S 4Ar"ړ (Eu,Lsa-Oҋ"K#BP#OjLLCP,d :x0Fe  ƪ9?R+ aT8n1 ($d' 30@f0/ VĬ1|gPAdQK@0< IXTgYo GC iޮ^E&s9ᄂ|2__{m^H8Ihv}eRx^!> | p#%nF;Jj;}g/o p/av+MuϬA6䁄G8RkoH%z?졗vnP-&TDd WAY3DInɇ;B*ۙg]: ^Xn縥(.߯,c\WBr_hyj,Hg(JR#M/;쩩e?u)d$bGD`dux+8!MV*e˷*OB5 {&5EXl=>K ڔjQbꨪb.0´o/fJ,E7#s#xۭU.p])T,#Ty66V-G{|6mI;x<ˣPdyjj!4vItBE;%>RFMV 1e${LOW!IQa\A=M TH6Q#}J-j1 o4-ZlXVᶶEUC{ҵ!A"dCGmj2BS$lg~}Q:G Eʡ4B!1ŶxfX`"4ߑ-=X-c8^\,D.Laa }{:.أ(['RsC5Dؚ0Ue'iYҎx]g/>%Ɇ7zەbw!1~:Yj|qʫqa5 L~ěmiF+G",&Y4p=ACfM A4և NX#[r]Ӫ}0گ$NŁ#2-n\a S4$O킊H_^w4Ql-A Vpǟ`Tpy \U$-% bJ&ʅ7ҮA|Uy+>!+~d!#K }uA U%0Jd%e(ab,Z 0Lp^qm @2/l1v*rC&Gs^u ?ܲ|MFDD.٫7s> 6O kM* L.@+=kp"D^r:[͘ȕ<pv ̩ٔc). -XϼP(Hjy*1z׫"ـ#)zX`J ]PKvnJ,15IfJXQ?q"*p Bm'&U(c\h Xpo ꤷ]UV)-;E#$xtB*h>]N_hIE[h| AB*lLq[zJ0Cʕ$DdI@η0;,䪜1bi%ɀ,@'ۄN.a{)FUdS0[0 ;'󢕾^d;3K$B 좦J> "v!|ZhDlεRK *>:+n9SZccB:)3 4tT%Q0"Vsn>H%v8=Gp!c+=w<@rWl F`Q6Џ!\+dա& 16y:̷+Ы[Bn,ށW2t#YoV,R&q?tÂni"Ay.rސ1RABJ\* LG4ǷN 5ܨtS¥vIqu2[SIVte|bg3'a2bjU°q 9.$5c+)a F_VL2MG:o:2։B=2hG= H-JU QMEgbXMT_V<$ 0^D#-¹0NzFJga ӎ)6"Y2CMGuX+~ Y<9{Gh$")*ѫjr®Y!^ɬIa3vRbr;OhH4}iAi)pX}1kz "'Di!r>ELPw<ۮLv!<Auq,{Gpo|Kgx:.SxJR6 fMWp Ç 뒰!$^L oZ=z:ޠؿ~ZΞ[=lchY9;3ș/A |ݟ+r_ IsP͋Pd{ط)J?;kqBDv8 ]Ɲ"~3v/J|0EP#(ѫ@gz0 5WĔelj "!M. c5$T8QiD@K@p+B1&CGd/a6Gwh+Y챊 7ޖ AlGhkkp͖ܛYpz;!vOFA|a;&*MVq걄FB 8S*Skʞj+2Jʄ3y} JHZ%`@D bIMKOv0BJNM,zBn>P,|;SlR yN-TvR᥮KH9YJ$íaSF>\'M8ӗ3JK)k]Yz9H]Z 2ɈDr w~ o(-$\n{"[@4jgYP8 T$ѩH}(~p*k1_EQ7l(1N2h@kQ/Mr:mJmii_%>:weR `J/ܾ~KbՁb{>IͰYU$&Vg-Tn{#ki@0t"Zon.kA\#2elLsN\{bl@Y:xwkIJU,z~ɼPAuP\zv|J;$KS06op g֨ GJz%tTFi9/׺֓ޣeRi<9rnlV!SDciJâFUs3("gUԲ`/ YfLЌ>yѮegSv|9z%ӢHx~/`B~!&m);AMirȭ (aE5JޚX $A\]!)_B(dYRwE!.4MT}xe莻\SV=-bpnPUҵFͶvt{fgRMkvR0'}S~IHJ_ubgh2]ZspN1$Ql[6~{USFAiqTxKvŊz36g@ЪW@&%VB ~1Uˣ .aSKI?mݱ=qo 틹^5?Ez'/Eyi.Neچ|~ۉ[ \S]wn:{zߨObjuLm QēYMW\C͙;YrzμSi;p %/AbUɞaz2%jAGA,2}X{qd&Ė״JXŚ4pV-ܰie 7-yk|8 8J Ok9ۨ@a'Ƞ,3On85r600_2py?:н |RΪBsszu%9"d!?7^Gɬ˫W W!G[qKEdUkJeҧ;|f(j?[c+Yx)̡m~nanw@7Y*(3_4̭-\`\AC>raUۋ,-*Vl/ĦrA 7.U7i 9hZqB)^j7fiI22tVbACqU7bhlh+s0bϳpp~9O]M3Lo:ce!!`n#؜V&DL,QJjʞ*ferT}F_VvĔSF1Mrz#)6,3F^5ūi\誄D8)yӲFQpWK?B~VavZ[ X*%UB_:ڠʵRJZlE{ΐRZQKUYLw+<2dpR Uc)hGKUPUz ItGi:h&sHY[XZzX{ +JiAhi{έˌhL1Jw.U(DcâR; aHv#hf6r|+j/B(M3_Y VkwŅv2%{/J) AjYU#%ڞ/sTimKSbE]C*Qޑ~D|_aq6` dOcYqmP16ĉ>څr4ç$Vt/ILUCTKzifɎL \Ӭ/ZN٘Tc?bs&,8Pn2̑MW>'𽯪Gc-l?%2&~Y!1K_i/ןժX/L6@DaGWob@![3jhZj/ԯvs5ʟZ5QnW\X2H@6<,LS 겉aEHvs|,8@F8Ia*E9l8!^c̢t0J5qdW((&uֱ"Duri YoWm Bt0jHiPXfoI+Sſ[<|}}PHQrσAqh^t!r# \hWNEdLiQ57jFscxz]B_Ni!8g CD@i@%ҾwSlבFu)+KM](.- rj~'[b]9ؑоA3TQnmbޚmټ1)b{(O5~H)Gea3^4 vcy`$R境~60/ T 8 &Bf-l6j;Jyl0EiE=AYKVLz8uB'^Uvt#IFJD[JbxMr6ğ@_˯٥"Vh'\=T) 4-#LsAUz> M莖Ks[ݰSPaYmed݀f52!F#}r$anr0HM1ZBURCQժaiR_/ ~t YI9-%mcBVE=P 9\"aF=֖KgR8]z,;d `?E6*ȿ]檰3Nk"SV1%UnVQ궛ԚC>5 "rC-kA\S'ͽyJLi.lŗZM {›$̲ H/fN;(fCES? Z>AML .6I{s0h7TVɠ tCt )ޥI!ZzlF Y u #ALyVtȒIN Z1+:}.>mV(&Jq&tLB$\}d8kCB .Qk>-puҵ*M pt*\- Y:l=W Edۨb4u=l> `!.tL?:)eRxD]AF =:Ep eAdA2=r+i nU!THZ[@h}'7$@[Q޶.@tGN{GD hUݤт=Srm[Օ،zxg]ơzYעT#B^c*5ȟI=2\ Fh'R+Y|)bsUs,N mJfa Z̆ u A&Jl {^тI~a|{ tY|hZ昑*cCkv>R[ߥe il/d> "T4uigb_s^ I\SiS8KOҗ<ٔԿeH8d${aCH-c"LPP#t2y ΁'g| zbpd֊WGj},P4Y b%Ye\>ytV~1}oUxCy#B_k.LJr5'ŨJޔN!aIqx"> 4PD4U"hlb@"Kz8XkmKfxP5f=aK „!;O㷇T vf:eY |a|"1I⛀tT}!sNC:fqD{~&z,:jr銓S[a7&ڽ$CȧRȒ6N!M3,5kp>WОv'fբD]jѷvJu5ur#X' cJ!\٤KVLFe#"x0lX  ,5Rdb] Dqc@ N)%ۤK4쀄[ƌhpF0Hn"hL\$i4C=TRn"L\XH4L)zSD;N@'HW@8 Uؼk57L@>Rem.DO~iI \Dpzсգ> R D($MIB J)~J'1<;*\{Ɔ.HGjֈ,mj Ƥ3=bP~BvcL 7rƜFEtPEh=e)Zi`{6G8#G@ϵHByFB#+0uq,5ؔZJS"J]dԩnS~gq%~t[G.6Dm5ǰw4DsHD]Wз;@E.,Dȫ^4NF)*y܂E791_  ĉnvw|NL(EJ⭋mF+O;^@ Y/W-1(]\mEMYUXYU%-ɟCs8~Ư吸Ce>jA'^$/`伕Y̎;J+ 6FiY۪ &U*gʍn f  Ԃ 8 niQ8i5̸&Ƹ7m#L"&Q8W~-88t<|a*cx -KRJpanT;p {[~z$PuOy7X(Gpmd~98:*M^@ $+G`5BcK%ՕKǢZ M`uF d#+mfX$b'P]&U5EOn ej%vJ[2y>,.4.X(nJ 8Ns(Z"LB>1&v--4ɡ*@HRmQa.K-!3Z*j!E y{K*"[4T9IJ'H^_H;L#a3 ,IMBWNPcgPɽrWOWfJݞaXZK-I`] osE+6#OU|վ~z^(HYzʕ+UeGnޡBǹRs|lM ̰8V>Oy{uQGzMbU -R1=_bXN(EY\<=r] 5Χ(o%}vViBn|Q度:B3*ygIR߱ӧkV/3,!H\Y|m]*5$MxO'l1}ZpuG^hQ(i^~x]-M%k9~~ UzWSr]Ez_vJ"<37`}8+#!CGӦ?l2zCitvY3P̡S*PeЅ[oͅbq4%#> `@(\`@^H 3χsqEШD* 4O6 Ph0' Eso|r4 esq& "r3B( : G(c, JvaL6L6EXDę 죯!3 &L4^,%+690`CNJlExBsemH{ytv߶Ϗ 5t؞NPfJZ , $ZX 9@9BAC0 ŧԣoN;'ZtAqJh<|,PcrQj5!˒-JZ,MS36"墦]갌L .8$Q4#}ˠ*Smt4n2Pȭ$vAbګخA%Dp5 "Ent "b(8I`yE6*)$D+BFoߴ/%VJ_oe$ꖪ32D7q.j eюQN x$ MSz ☓ȜJvq)R Dr +Up},e~2\u@ 뵖v'3D¿ ]u]ފSqEsd1/ͤVKqSwUg7H ⣂)D攞wHd8nN1Ga'NIRk(z3O!nPrȶ殮,~a3=*Ъ 7i;H̸􀇍%O1*X RyQxDq]Qr7stGЗnfr{*M@'(ˁ,z ZTIS%i͙@4fHS-VmqGB$mr Sz+@,BiX6M_}Uq[ןO34E%;&A+] . n8R:ab+p-L:p٧"ǎ΄5BTH8׵?(aX/@R75L"*uhDs$NH{-˳ZBT6Ev>qә[eOd&eZ[- *dD3'``n&-^YrZ/1NQ g-uŢ,aXtɅdam/P̖4:Uӈ4s w2P"Vx=|%vE=mu(c,)pRD ,wC2FVN2 YjJ[zU,h4,>$"AK:2X4x<5)&ٱqWFLG`&٤9TDט<&,wINp.st2W'cTlۤF /mϲ[c2PB7O*ڤ':RDhm;!t MŠ1D9ZR=;PPE$98-B/=XaUΔiFTW֙{\Y0L݄U z81Ă"Įav%BĬ\9`GshP(AVJ*HEߙ|EF΍qN # Q Y8>*x S6DT6椮Tp\6Pb.bA`٢/pO}*PbfA``D!9S*K+X@UЈ&9-(DgEfcK2B1䇴!w秃f=hSXBMfֈdB) oEvݜ|m9&z:jvrVz$灘&7Q15ݕ`PVTF "yi(m¤@z$$'Q9NP /\6/yufndsjUD*: FCLNP(WǾtX 6 syr5t,޼ŁR]}lr_Lܴ/);"PWdH3 ~V1o5h0Cg%"/tj,o-/77<8sTDb@2d-&zhJ$7"|ezr(R#8`M2aaQ|^8N]8CEG-Gg#P1X^~ F#wкXHZ*+|E+F l.,!:'c\Q 껧%<9bxJꭰ惹 lzHŃ#vf)$c|6P)Jx өM3[$bDДm!Pb% @>)DN4B2J&b Q Ji'9@hV bhD4+ey 1ƊQnĤM`xv*:Yڈ.X˖bP.爥*o:kM[-d'ARF%8^k=涅+1o*0vNHl&#M(cѺoi+\EBVWr* E_ VKtm/G>TYTѢ'X ;mO9N`;#rZ8r2L4҃fA1آBlk p21%q9a"1'b9~ssBc_p/(xL*EKb&3Tv}ۗ sXk-MQ Y%!nZ/ެeCVN'k1]|} |.) Jl4o"k U-ͺ)+N=eIig%NѴxŃNiqyVE͠LufEXBB1-p.˱1z={|ң#,޸ g> ;L#!h9avLɈ#tҽ@Ƀڝ c8tCH:Nhm|pQ 0/a! 1:w"/|F5NJ(ՅF`~"b%i # +$,4E}3RD`&^$j N`3abB*nhJpLo d6!:^i~*[#Xg6H*(LDvw=(>\+b۷'Rzשh3X7r'^* ΂P=(->7|5"e МSn꛹LU:%*RSbر_]BM\q`e$Qyo\оV!q|TS*w1i IIM+QE"8tUha;0 Do*qCi4BA)`c0)@*.P`D][ш%FL\ ʄ;Xx,,fA.`Ь^bZlb$j *mi(ǭt%x) ½pJdFɠ~-_f0o*d-yЌD%- Y!AoF%,kr Lt7(729*kQ3tsnt% ^xS)@$b"ojA+R:/]:4@AHϠp, =yԭLt Yp"Y -a=7.?:2=UƁ5",   ԌkA˲2)" e"LԦ=.b|iG_ VPgpBjpF`Gϊ״6KS6XKlWDl J\1 ;UvvrzZ 싘n16{u h "c Q̲4Kz:7³1_YXpt(M>9 v3煀z<]F3 + GO4!@Kt6 4L7z 8 "Qs $5 ]+f L: hD&Ɔ~*&1ioG:ةwPY*DŽ!Ȭ2̻:T[ 賷X{kcZ R: I7RYg3A}j-Ic56S J77"i6uՑQ*fulJ=i\%m>SתReZvEZM.9U{*Ĉ6ˏ|4BXץRH95 $cI59(1 T2 B\> dL9Dxb"aG~2 ` ǠP3 N#I RqWITT;0ЌO۪ rLVQ1K6 P a˟,M5Z4{j4ǿZIe !*Ozn@X1;=YYt EL'(%*GTHO%EbU wTFM>3jFj]B(%$xZX##wvp4)|IݸdN HB@#/FlLp2@mKeh@0 ` ) C'u@ `.QZ{1RR&@ O32 f@ |[ΆEôFxO PX!}YGĵ;ߺFb5)(3^U ׯ&ԗܥƟUSWGKUJ 0c>8ow=q:mMh k*[z@Ɉǯ+L X l2Ӈ0&V t x7ٟh>:ʋ]b%D"$񋈕Ȼ8Ѝˁ|ͯ׾9T0916U{=dSuOu؜nOD\GLTEZF`X^٪;yZՃ gY5{ 3pσ@dsV0<&Z.fn~K~JS"|3\VeotlYJf8Y!b06̂IC'{5LIduLdP ` U1lDiX.j#r $q$L+OrhIwJHŇã¶fA-H%}b*fK\^|Kn8A yd+u4LiKr%v =k䊂tC!Hga:0(8JT}t==^$^xa[Dpy6}ォxȉ 2jkʋPSދ<)wFxZ XSl%dwmaiPOka[K-I!F.Uz8t5CtlNHGY :x|D9hlW!~MIlX3"o3PL} gaz6Z<;]hn'! ԍţQ ¾] V=?$6Mg cuFHC,=WM;_USWms\D. fTjxy5غ*LEG-4'R4j$: ßcJdF}KSirh7/3'#Jg<( uTŋ#˄RK>qEhA<$.+YQJ>|[ye^ZRb}X, +Ȱ;PL̋T&~BtNavvsѽ􈮾_/ -nBj8;%4H{^,Wf$~)Xʄ/yJ {u8Jh<[P*D~dZ7A7mA+03@.M!yc $߇T"}5LcvB /XM*Wl3=MIC98W8)2!%E)iIr+9A(^4ԓ+mðD'e}b$siT)m4U=C}Dql;i$a]F^ޥ=¨NwFP3"@%)㍪1/?AR3(3If^+~;!.M ]K)q gF1ofmu#7K[5r;JnHNC~qcw=`|T"neŭ(b[VhI7a*|k\Bwdfz'uRN񊾇 'lHMbQO wI)_2))R"9l! X*PLۄmWQ#M\>iY~.OԸI qޢߓ@,Z^D" n32,.D޽LHLJ$,56}4,U;!q,c6AU\e[+SQQ [fIJ) b&4aeїK%-#RM:WsC GbUPи%Xfc('k-56-)W _xHbpNxu:ME3fқ&jW}lY (n{ K^Kbk72@&3*D['xЏdo+%#ie(q=oX.ssΩrgS<F6sG֩r&15E?[\f<1f]Fݚ_\5MCXܜcϲX5f4UV)mnZ]p#\/8gTe92+h&|?u8 ^ #j ,u̥Twjw5̿%=I#Šx"rB@!,'NKC2v tj[>Ԕ _R3Z]Bn]!6@VW[\/Ix9g?ed5d, qW8+d vƳfou4"R²e"ƙOJ;V.HpS WtZj/lZ0-T8/Iq㑣,kd"N t)ԡB,lqEMyv_>:tL]}Wbk1y 'M.TxyI0 Z'>3\*a \ˉt[}0TCkl^3&v7{hu_ꄤTAb_ݕMN:__ N>\Ty$̰u#(^ЎV׼LF>A)-M m׸KJ#T:6HL}"= J`Ds\ӷ׀3w"Śko|8'߽Vw a#K0_ĢHjA݂;TZTG)KC֊94LD~8begH3e EZVQo:F YlL9fD`Ȍ(A481 8jw-ß6en6/&4wit*v$)yXH.|`yzR+,fX K߻sY$ 4Nq[xRٽAlszUE2p>4fivEURM[UO͕d!S9O|: lì5},!Pw e:BQ-srњZ _fRu9_ D eil[*a"MBpv#%ؾ8PU>0skȋ] A0PW+'@8qQD0jfh"UT|FK2 f:=L'L!(YЭc*-4M7Ut]V:f򮳩rbu?o.̙OOso- Y̤}Vk@%_ˢALb)s #C( g`-3 v;y%2UZMr)bئ70h7 @5@\B*RϱCڧNB'@y\va;"$m$b~wt2H:J* ''Dj8S5]{K"w8[U*5"Tδƛq(pN !z@]n)OiwF:S)OJU{%0kogj.tt64b Q^u2r$sb).kirvfv+H (QYKPj8DA(V5(da|.=1BhGSڒ/R³ۛÐ]TL>NeL(Sbej'sS@5$^Z:waͲW^ȅId){ȼ,2VzL((Ppϥv\x9d Xز䪐[S|)Z}\9z,% ~M9m1R}Iv)*ISڇ N>{G KN 3CO i]EIeLʜҋҪF5U3MJ 5=DB&5'vOĒ:bjrŃ\"%>6TkKR"wVL ԉF!(A9-:Z-À%8`b pQmeѕCaQ06-=:j*$D 1ܦS͠U)CnDVPH(6 ]~$0 A7^]"=lĚ͒w%n-d{cS1J1*x>Q6Me$WS[-a #UU7=>f'EK€8bSmm:-wg[Q2$?X,͂AkjgvFk/@9I=iX<ۀf 8{݌vM37\ @ U@Sy%dX4\Jf*ȇ=,DpWA- d@-PC\m&ꋴ'ˁI 3.c Buj ,UGQ]˴Qm)"ȳ ̰e%ٓ44,XZbB 􍖉.Ot],,ދGڻȴBS0X a)#ftKN,{#PPy'|%\g OTbjR25QM}Yn ,-a *LTkHX^ԗ&EK%nȠZ7nLo|X'X͏&JM.n0 3jĄ䛟x|q^wGv9m(oЕ-HWZ8?CP0]]T+B(1ͯ'۞*.8ObquRoheT)uEU)9HTP/ u'P(+D;1`J46xh "7Ȣ3 *E za&.L^i8g:3d$Zj=n`+2 =a'ܭluZ*y{Fh 93)o9C%<Tٴ@4J^`kiCM.5^bTy~erB!͠^iاb>/^XPD% SXZgrB`iDU҈bWygEʵQ0^M<LCqĒ-miq>.2݄y5Å)N v.^h.[#TVp0izxsD4  "3LPaSM(Az-=ďCQ^ZN ҄DWj "cjZ1I +Bw"koG$hjˉ&gKŇ22$i40ҊX'^KЍR%ׯL ANdAA8ũ4c 3'b(Kzkz} Y&Kns @~-qO ʱhNSᆱO4DQ \9n,x*hywZqܜF^.Ctq!EVTINy[Nd ²-# y xH{UB[c׋dzltM WIϹL`!sJȒL?lgn`NpXTM{`w >_0[YDjU:i$,#)2_kcAԱ/3~F .1ZƵ (D5篑Dk8p5Hi/)dUlT˗@ v@..czco~(sՌJO9휎mQۓiV?lDZj٣e;wV1kn/N!͢!,i OY{&#vĝzB?1nWAAQ?įȸ&ߊ>G Vb+.Bk{urE)0hlE>uT̃v0QJ9H& D Jz&WBQAij=&]]y|JXz@ U"MTΝE wN9nS6"Ts^V.娲.20\h~&/B>.>s6<'A*IbH%4 +gq#4ҹ Irn6o/Y;ӔBJ3=綿ߜhD҇p+2J2q:n!DNjV-[򀱘g\˯ь-.!MO4kaP|k'0iM1L\xlF)`-k:?@+j#bAT -U6g]šŮofEɷDttp egapHHלD%[u!keYoGKX s/^xك`rM#WDvF_wDY%$N rEHelX[uSrILCto# Wp@$vmfncƍFJ, Ŵ>"|u>HIn_*Jك).$}tD\&ڇcz"Du*5j37Jv.QWM.I"G!n/϶z X_+Ά*PIY-6SP&I$Tj (gQIh&ܟ7 WX̃-z9M<֓ H%h(E؇є@M)Ī eH۾;wmN&wj#xgk!#؋dE2[A ]I nqI!($;'p( Ap3BA 8.5ɈǰvV.rx) A<4^*>'0{qVki0Nrh\7MγIYL|Ai nbZEM?DK1 Dy8mƔ>E9(Ǻ}Ta.L#uT*Ir@GH2Vm".Dyt^[@ "Pe K4Rca|&AHc35YGٌ_$QQ*ʪ( >pA%`lSymcsF[RNz6s݋/ ҢԔFWSWO mk!I-Ei \m[)ݚ+;Zܘ˃jlS:MJ w뱦W>sEldO)LWzYij/Tē6bITɏING"&ZL1E*X%k2 L&giXP(?͘d$lp$}, d3,rE[U:o#'v4/-9-0Zd!Q5D ccX;|!eIDA[/Ondt/Z+SVY#,'T`Q/m\<Ʈ$.Tq)أ^|[rU:dlw Y%^ vV xP%o]nԤj hUpV2:/RY{Tj'xulTR|Z9Q q[Dc"âQ++?``D*)߸ ` Nr9G}F{)ZPdNMt5쇄!tn܃!"rR@GՆ4H8k$Vq jrօTTy<ݏ-g[Ԥ6$|44.Uy`Ch%tlRlyt1RASBd\yJNCsvcM kw0N#A>8yA bCwBxN,0Sq 1wı}x yV12ȃa_# iǒr/&T“J,aiηDjuQT(8׀w<{o% %$Ec|W$|F*sPұXQ7T A;6'G@MLTCTi]&4>~b=I8rs,=i#N܏O%$tT%*v,8.c1,\rKqҲ`%Zl]<IԺqNӧ83.ˣ(N> rࣇ?8$Y". b"Od bv,s[6Ҫe)'j*7)}1xRlpӠV^,Yn}"EW6^"?tٛߤ2Ja]L)uc(;qBŝN>$iȵOiDD^1znxw}qظȒ&>ZK]nm4޸SoVQ'NVRBF$u-$A6򮠝T$=boz-!F[t-ĩS{$0t[/C"eb>ݦℋ32eـ#%i"5HX Q_m1rEDnR9~-$ Ɛu't" oTD69y3GZL gzVnk>,U"0.շ+A{7}gKȲQ9Cer%?<[&]U j F&.uIYEWIɶTTF5ᮾ1vHۃAl2W"XBqMXUgdC`QUkN‹N`kiL.+ExaE1-xg9C,aj,G¥ƃ2DHR˫6HʓE麕D{D:TDGb-ofyQxBHL ڊhNܣ+ BQbZ%/CBh󌭄jHc180@I ̠R-]t̃CexCN)S?F 4m*\`8 `͂/7OjU%e"YcZX*T5i+}6T ֑Z}])zKs+uġIyܖĮF̳Na#fApܶI(:A0ⶢCik2[NVZURSgWH(=`;4,_fV%Ut="04%bPb1--/8bP1(i +B3 H ы #-ocihw~ҁIyTH*`EKsS7ܘߘ5l27۟?ZR_~ Ws{gAYGBѳ{Qo4iB ޕzT>)u5bqDW10q% "~:u9)Ew>ˊ/Qt_02nɖ ֟Ҏ].-W<߾F(TJSӵ' KSќ⪻>nPV @h3313ū e%-q`|d(³dƦC1rȈɘ']uچL܍nTN EcvL%o 5Ђyu-o#KgӍ_OU.dlM4V˃%==2tmԮr4lyF!\TIR)yzXpUUd,tfn ^8A:E1.{GtXc-j @{'i5F N3rELL)?uLQȲ?Ӛ wHb~B/zu~(JqAO1d$18p lt11*)%%K;+-;W a%c ]>F ʞ<0l p'ԍU}w>)*wV`ɹ CA# NBYZJ4+'{UɽUIm_G7hߤ)fN䋕>I+|l\k*O2̋$ M+mOO |"ì' 3=Gg\ՔG~;8g4V-zOX(U{n%4rK.7JvO[ݪ^rʬ beоͦa=S7yQ.OQtP>ܖM @p]0="'6ymR4$4\\7MĞćKtp+d᮵:#`kGpCk- esW/ !g2YRj=[HD9hC}WDF{vn5jr/ݒ$/;Cg1ft)+7s=Y+_p3Rs"P>WEK{f6C"f*eOX&7Y!yr7L|j|1eN0ڜ@3u9f̈́zE?NCA Q,23jd@M5\Q>WOI a,-NdyV$r?U .Å?EcjvtChdHl14y:FٔDŽ?܀;ʮQ$k4v$9h̍v(H|FCuç, $HDl.rI<8>.=Zo%Wp2$ :Xa{/O" o]9䁑Q"0gi=@q " `DMEO+TliVhMAY:h劑82*0Ib4"}BVM]mE\U"P<*nxb$7U#(.G$2-aوѳ!Na|@.{{@2`MD㨕=XFj'pe)ɏz>KBwLV`m17=ukI?k Z'Tc윉HZ$wby;O$mm{'Bkc->dr,.\p2YUj$@/ ])2+8)'C4 @=v8v],'ygVH)G Վ 36$ӟ\aQH%WXH+RisyM1⁾ $D{c ֓V5F5E˻at ?˦BvPZ8 OyF0NB2^X.RD[dY<c-xAjOV6y/s1PȾSHQa3qedP|vTd>aZ3 Ap`[Z;G$LV5qL'j耯l"䔁tn]hp"]6tfW8쇄Ϸ3U]s4eoJ4V0D9!Ш^ntlW%b0PTJdb͘r?| cI#5`1r|fF0P˶~,1ʟ,ϱŹQp%ƴY*/~ À?J|.׈='t~*"r`|! |6𵔐fnXU+o."NsEhGr 0[|&aoF%m=[cj`7p<:lռB_3;Fj'" Tj;U\ÝysOZ?Hq\53~'إִF6s\:N$f$]*~%M%3֞OzpF| hJR甞\ms@EVɹt=y~HWZ-&, kr Z!E!U8INGek܌;(]ͥfdrMO̸៎#!]saڟQ8)Ԩ`} t%1H$VJ"b_pY|6GY q*,1M%' ")ᬈu! 2 N>K eS4]ܩNfkbWߊoes65v 3'{XKD$lU]:\ xE5 GiPֿzMn5E" *KH~ ,1X)LK2e_y?[T[A${ ʛhڴ@:*R!zp7D${$~,:JTk\8-ZKG !,֜*h%ƛZQ4K_'%oZOc>(&[ G.R.MgNhjO6VlTNWW&RaP|[LAr4,l]IB$Co( !!_4j2mE_G -{-b~YnKKcMn)MIK>=( =j\ C$͐Ve,(miFr%(M xQAb37?ږ7H֔S] KPvL$r}y)^ ؒgy貊nb$V$~ !p̜*eEq5#ΤI@\xԡ*8+NWZ2 Aj%$GEh^TqMϋA Jo_5Wo!u K9 ̱:prвUhuHiuȐK$t@WX1) Iz  Gson]% ;vi3E\ΒI( ǽX@- kf3M\Ms44T/Ytoy*ZMPlAPm*(0gW\14wǤq@H. 6Ha'Y ,AqI BA HkC1p]xeF+0&C*k) A>TG3,c[C$6ZnՂz] Q[~:xAm^|C҂B)?@Ѕ]:'OpӜxCBC&\TG{1E@ݻ?"VxcZ pjI|ܧt?(w_#We,jCb \Q}$\GNȶOh(%c56(XZw@d̝+vht9COX1݉΄Br@3`S31dQS`*>n4f1Y XcU_αR!rYsoCPbNmtoEs*4tP`"a>1%b.&Sxw6n&4rlkm{}vüd@Gq"im)=ͽ7_$ۊSɈDZqL -Iⴭ#~ H}ίԴpӧd$Jo*|~E:w$Gu_XY? fQM~&=Te`9. \ #sJƟqkWUizujF/b&&no&`gitݏJYГtnXB+aѥKXcp5LŘE"e!R)h![f g TNTBGețRđEC8^W,B4Ժc!cC⨆]p(孾e-nŧ&u4gbU)G]!"z eIAt3w]g}l (}|Wdp&Mi̖^ȃ 02i=t1fN[Dz&6f-uqɹW e%Ý%Ȉ1Z}b k#"%͹MWryL. O)YvDw¤edAfTILwH%s6E >7JXp>z Ec'W$Đ~Sd+%A> VZg|zpOj|x}X?_{Lc]mdCȯ/nkz.7 1 nԮ VC wyaQ\iIpG~5e[c`Bl mܜzVYshά9k˗#ģSuD3CJ˒ D :eyT/\Җi<=7 S:JDR3:f=]i(u[ً'$Ն*$XUf(rVR%FJ ,w:*0{rID]u%AՈE"+]DKtAV!Zw f/ۚ 9if1OE#JrFjT0s4~\SPˆ6y3ɠgGk iWIEm*9SQe)'ѡiȊSӫ=5?)“餙;YokCn{A@oS ҷu#;9"wT;.-*U i!$ԥ$.~a"EQB4E>$jsr[Xq蔋`օ1_B4x:X@bR:;E&~4C_av A BhCup]`0`E$urZ7zJX.^"˱ԚR?NI3JEH~Ry:8sEȓd:!{ 7qHFgT."ݽv6 @gOE(dON KTEcLd$k.aNUAAՆ[*[Վ Rҏ$=IYNݳdAF2G2TE&^i2hِ, a,2$\.{-gx^+X O]L^) ";?G>ӗNVI>zN$)X%JHpQVp#Z/vClOQ9G'p"j2AR oA`ncX}ݎK @*5Ʌ%C .c V$ZIE_bDSXљ)-bJAU ja;h%Mh jer/\waL^,*Q >x)n>l:;CiUjbXd'e &(Aez! 9jyuH˴Ny5S@*hֱbZ"Iu1gӵy&*PwfSW*>!.Ud\we [ 1&’V 9ʬRDD>Աj93eDlc)9=侣!6`y4 |u}ݍzo6 _8Je'%3 #Uaz\"+1L5~mw1\ƯOzʵuQ&p[@]D}k)@bi$C(M @ h54(TDaBN3dlSRͻ[kYU$Jie%T'm!LM3uǛj2[gr j"Ớtpe A`{sWׄT0gˠҡKN˝OĊA™CcϷ-Jv*K^ݽlw O2I't3!Y  ֔0X;aT^JVڻHf`dU@Ʊy!َ g,]GtI6-E=aMSkҊ߇+='H$HpJ6g‘N-g QCnFC?B3bWBT~eZ;az4srWlXy7اh=$# iXxj2v6)_2,j]Fj7,bQoaE"# EA`[zHD=h( ł %:`~2-9pU_5 m&M:؊jP6lmk LhGOL_>vNVa0FDu4RS= l{St6޲."cq"8g&*Efֹl7}i[͵(fIkNZDg!KTejԕٌ ߉} @3 +잨 l*^zNt̫Tn:(z3pЩ)(1TfrzghkzĽAU*f6Wa)??":f . lJ𰖯]JB8p[KB_foH8^RtTI&$^c̷tc* KZ"%@Ԧ]y3*eJJc`#3 eGꝘ .ks97jͲ[mesbB!韱\7"?$뚘uvV$8SzJV&]k,Mdās(%PW{1'DH4ߧ{i i ն!xpA{zQ@-F'Hz\ 8p[&e$lus)WӖ^sqnkvQLkiކubIM+B0M ߠ)[%J.rHm"ŮLQӗs?5?~*e3@Wž"pH%'OoAu[HbQ})&u@&6Cf;i"J- + 2(O7 U$AG㏚㔼+- bm%0g=e:%+8*  V􂢴hkejXB$L:i@,f>$Ƃ,Jn-b!,Bfd:,2ZidNT%P_,19Q1@n{zQO G)bނ=]؁ZBbj:18Ci7%?m@$QEfrB!]NlOWy呦whIy]SN 0\uY|Fύh)`b1({ݽׅd"W_fJr;LZJWU.&71~nk+s%Daal%-?8QP |餎9|FaIac|0&%m3Db kN }΄wY"eFV] +a~9>ӾaZFpz?^'zyAډ!%)aj0ڦ.iS-'xWH"&K H~\ibss$L9Z(pWP ocf[,M,"GU,xNfwEEc2[4 FqfI2'!XRɨ7_Rb2eb(W$nHj/Lt tXQewCP$VxV'vVb\-X^ɸ{C5_ڝ_Yi)DLBN)'bB[X/}UQ3e$7RtCPb,i/џVd%b\+(vdmΏ6&)FKbq:K3B)>uQSIfkEVA%gemBqPcBaUpԄ` Uf8(9R3$u",!n`]Мfw8#SP5{DQ`qʍH#ӣqW:2JB"Ɗ,t0g3X[kMV!$x7F'+T"~VBzCu0!@U:ݍ\-VzB2MiK'\MPl|3@x+H\YATf@Ԣe##(#AD3Gu^ AEB`QےZ۳(7BC51OJFIFg/!_SqDZ=HQ/T6~i*.1N#tecá*D0s2duĽo.7Y-D^Ub^)ё9;EBSk5~F/U+RdĤB2P1JS: I,^J"~3Fu][9_qN͉]_R &x°,*  C &%N6Bc{-p&QJ,`o{ CrK{",6 _ʟv8'uWyqH/%JW?-M }Z/a 64AXՓ_IʥFl0(q$E3{rVg&s{ uP l1tHPFb Nj-[}>N\[_ZV2QAZ3Tբ $7xih(8>!6T Ee&n_釖c}lyBJ Bq#;KgGCIi 6FX9Iʞ⮽i( &E؃5MOs "1N(0Qz5[Sl կs̈́ofXrIg71K%Ԡ mȘ/MsԊ ;]#w_~GBvrRv41`4ŗ eDBY8X̭+qEPRT|ʟU\M;\&W ^ ;|$* FPYhőFI:c(2EeӘJOĮ{/PNR4KMz^?PzZb1U+`Rn:nULv=z|;F/vRӻ VR,Jv.Kuu25 Rd0*:#)ɼ6!<>7 RCƬ#H alJ3h +j@)Y⠹q61N_I*8ԼPzMn^k27 *DZu7<|پYT=>0s͌oq&\O{OCHHsM'I"$@eM UtmM<_Պ@=}adGFv7.W]#ݵju *p[hW՛䘜(lpR1ٷg.YQSiou׺iD4:J* ?o?*UfRg@8(Aob#S$1˨UM#iMW)Ou"ʮd"E5[=PWTx7_ + g8BIB$wAexFW8`H) wZ` %|aDϙG(!WX=t1 +U̘Ϫ z52TчjZIEX2nG)]A,u"ԃ X)":TC'#T3 [BF8~pS:ߊ&ԓVG’ASJ@+,f} S"'+ # +$O9Y\恋YQokBO1mV7oAY͆tRVa.lǀ4̿Elږ \op|'F2|:daYEpxZa7 ˜B 0&R:Uyze&Ȉb'ūY>␋!o`Cxdg: GJ&joD;Dϋ-6YeNFGN Qc"w+>h 2qJD$DI'@B"kEBť49 ."J *j4ZhA$F_Ƞ* V3C4'*V#j rk΃u~c2_}R+`^wLW}V|<{*AbWCg: &TM7WbQS |lz_N{hs+SBE8SX;dN]fN%*rU4k~[sr.>?c$UU4ϖ ywo"> Qv>6Gx *t(* sSUSK!dl|X8Qc,k@%lM?FUx$¥r5n F3~U|x9S@lMy(mFqVyEb < !sDTq+VJ[u5O$*{?5F4:L/)gK?YRrLb!Eչ8:v#߷<)b\ITxXz' e(0L9*GJ^f dc J3G\ 65ͮn`NPJh4faW~E:\9Z}ꙏ ;9>ջOc%BsiSf-DWH"DD ̈9Xxi`€:'bM[ qɆQ Ȳ7Gڐ;%uB:_[39^r+=R띗}.q.BGGe *Sr;1d1KIMc.`n]?3+yΪ fThgl*΃5F㥆-2⧭Ve4b /5 :61BqF|RL!tڏK3IQz.]Gr1FЫD6J5ڶiJҹ =&B1[g3*9RYjVۢFG|2ϊIΪƵiP(˝FWNfO4>_nVl]=_SO 41JlC0ƾ A@A Il(+|F707Gt20@$5.|;D BpF lAGdnBohR$/KbB}HO&uځ6ݒIh6Qiw/vT]ÉPUi!"k^TBWuVƆ䭻U|uBjokIsT7r Kj_a1Cf3bbm2)(|.vAF(2*MF,рΝ"n{O dHh`2WȄG턤xQ 0fwsnOVjA ]Ub\n1݀C>.+M,g1> )smA 2Q?j¥sU=ޫN%'TAtx.~NǮ0n/yspE5_ҼhN RCZJܪVDPD@ ʹ\%"Ǩ(NT}va35lۦgD%ܸYf,5yq;C]1;cãdHcЙhe۾6qLs"Ll` \CXRnDnB<]q+;XG@2>&OKw,h[wzUla.Bsݘ}FIVHiw(ʸԫSkk"cMщBu]X~4,ޥv =QXL&* {uSi;RlQ7sуɥ2挠de!Gx6lFʨJ/P#^IgG_JQ\=cm䌧)f"*R/! 5wC[H9H[L{Uh8,Xy)󎸏h LXBItY[0;d *ejbv;YJzq؝{礍gzNfÛc\#1/5 i-tfU V@HfX%}NR\oSo |%4YP)evzՕ:ϦtYvMP7T\Q_Daʸ긡E|EBtcA.ٻ39HJ؝i:IF/ȇ?(nt~AR^PEF>򉑺@]r[ 3wJLx٣3dw]r][4mU'jQ Hʥl*cRV7HwC=P!D&w`NqzU.F+XBʎՠVsXO4SdtZD7mW/e¸Hl&``G'V9tM:N9=!4ZFhWŌ[jذWbfv( ki_%D.m63ff$pPkе8E  RgF^1,+n)GmԭMjjqKJQeflv}W0Oɵ<`h4fcscSIl)#̖ nq*kC WT%Hl我$;S1F+^WL7loXEnw-Ti5BqX/dVĮT4J'" x diU)ɮ_bq{PE$ɰ&n7T1TKḮ7y Iq ݈ ˝f!Нʧ*̘U2-A]2P=V q#CY 5e;#=Ur F+hmS[gqoK8힋Z KZ\Hʦ*yO/26^DpǡzR:Fl󬰪g(FN~ӕs;PkS8郎x ,]&+\WQDMrQ& oca;sqLNˑ졏㦸%Bb,Џi+~ĥ=HܰNA"tJn֋6r~fM8_5LWٿaȨjBE dce+HN0Ƴ o f |ѕ6Ik$I^35QMa0)Sw̛HSemPp[HDe ҩu\#/!>h<͢QP33Txi56W: 2FN'c\I2@Je˙"(hv+Г!}3N>G X{2ݧh7^_ձ`V47@qdZ'qɖO޴9"LɨdzHwI~6?N%A)OdbO@PKtu_q}lJ } WviQ{Sϛh+GX0n9KI_B'rS/w \RPcx(!qmԎm~"+th|p8/2',JYh`NՍ d:j)F)3="6ωŴo7]SՌ'>t19<䤬BSJ]!8܅T]mx: ETOlTFvRm.̼&5Nm`1FXp)lXYJNy:0ic΃,Xw@D_hs$!AmE )5#ṇd{D+W^]TBGD}=%bF+aw4sK` Ƌ굎۫|j!w$Л*ٕIy"5O-SoB!O 4q'd}[@7l!ɴF M~M7 t2.3⪆TAl}J7{_6(-6g8dX !lAMꜸrԶ.@ʦ?2مI0sf( 8YwVM6M7 7w𙼊D>lUk7ҍo!RzoJ$[,ͶQO'(Xh$q\LmM w 8"YT9%rfͲ#g]*X!_H6-ɦXyB)rz'yVT'$_j;!)y,mOO<`7)Mx>?GG{τꤗEv 1~#iyjbWAe+ 'ɶ]_(ix|WZeA!# MȂA>G9DW6iR!3ĉ( T0oGWԏ#F+#\f$q$AҬKp /+M]V[-G#sbuTo9$ dN6eSqk:IuLv{i߈?r*nqis/dwұiE+;Vfۜ{~n3˒! =QF;y>0^Ťv,M4.KHc(^ bn +*US *_"!ԛ]&,ʤ4!5`UYtlߚsA'9qeN3)#1"z2º\QнaX -R ϋ>F[O{(e3ȰD NYfNkzyä*caZBBj&D_S{5)D0.ξ:^F"R 9x~,34 m*I[^9䍇ˏ920$&npcUң-6"+%zPfw(T-kDz+ga >vN*n#”)t`%rG㐖cu$L}}.a`-u8"l7^tW@U.&bE8qq#v CŐ`k"ڜRe:Y o%Y,PW$;H ,&Ef"CPbc~ $]h({|Y VBDCW\+RTА|e,20N[Ev?m_i"]ȑ)ξ0DDM$n=K4".# ўBĠsѱ-xP);LX]vئphp!6\,;@ Jk%! N",]Y408L=7a$,͓pesE$(ď BH2VNؼ͹L 팫z=6>ҧD"eD^ : ͣ*Ѹ|ڰ>@_Dy7 Ddja`ckgB+' IAE7 +3*z|M9K_MΏ  1=K\P\JaQlZRe# h0 QQ@D. ?vet],֔:F{:*z/ڵKӵfR\a'ݽA)mbL 88jZtʕl!ARį 0&NVLS %}(TS"]8Htߏ4oo[bL2߶DAAf/b)IrShPbEea@А$#}>S\f5f{2Ϻ(%CuGW6퉧Mu)+[/{sd'7Ӂuɍ$~.3)Z#ڭCV' J0000qx&0V.(k# QS%ƔVu'Ybo* Ni̐;]J# fײfDBFqSY㷦F /҉&̗g~b-(EկBok$+2-i])%oLe}=W?Y21EMDIӆ̀$AǕEKDIh4ݗP`5.FNKPb|m`&-Z@ȓ}@B&QubEfEĔSY] ï a όM6}JDӺQ4k[d%HW%hZ{#ap0h#6qc}q站BlkjU+1NXB!2`..]qswSsz $^=m2Aa Jf*-YrCMSҔ5U2hrH)\ \uiuJ>r+CRlfݐϬXx#ZՋBx^(iVp$G17NQ]Cz1xBdBvXWUg#_C'%I̖$R&g E'W -;z.tX²')i#B@qdFiMMSL'*@@܉!z0/ 1_ʍ9D+b1!x kl[TJ{_< GMȦ.kU24RJnbJߘ¥d`HB}5`i F1v{&{# .,4T(h[Kی 5R, d4xLHF#™'DuVc fRFkn̰ )TƞGB s2wwqnKM$C_2t { jֳE6p@<8&h^օ *vqWuO׷^8b5DStc4%)teZ9ꊎsA1Wj/#x=xh vn3GiwRKvgA(`VzӒD1, 5>w: }BܳfP'@5IX6r0,)٠:ՄIR.V}ZTP r9ٲ}QKQ%&)nT whRJ mٚq,,o+ˆY`|i/ V wȆA,'FX<ĭQ!Zz\!(XVb13zw3?G EQu=iD=o*V{nUf+^F e*f.h<]IKYM!8J7("RdN*ki$Dr%C&ŅQL K* 쥑I$7/w-$1DnaZ~Lj"P6\lJs{iQxvaJ I8)|;26{sl4=CvHym6ܿҀx *-*/i#.$MX8]IЩ"K &hHT82O! 43{<td^eU\4 }"U.3@OO-AåWQ"<!hR6!y.aWxX@C !o><(OX=A[/O0J(8hs]CG []FlR EVMGDݐ"Ojr$ĺŅ/~4jhG* im:F% tDPԇ U <%DwM*Q9iMP^݈"1*<ȥMh"GB Y3edMMdOiB["Ix%c}ݖ.T`ud6gƗigzG#~^I+&XgM'22҄I$B*xâ?0}4Π*j"d筩Ktt2mcIy۴z>1Lt S&&۬\'Y)H40DI &EmXP_rfdoPxNowŪ[ev+ER89*`!k ee{+EuҥWBFil[PL?:wv\rj%]_SĢߨ%WuIW[{"/\kH7ry4+E5[J|>뜯yV7M.$pVSs.z3q#5I,'d] 5[&:Z90>4'DnN9sLGY˞d6Q˗=+IsbZ0†F $($б cbZ)( 蚖<$ U @ Lmmk\ ڠaX2rql@ K m61 XùmdJ :"0dH{. ؙ3YN̪)Ď@l7Y}VI\tú58eO h^Nr…F>xObڢZ= U'ҦNԫ.<%6dCb-~_qe! eSGjtfq؜>tDMIZN9XCrp ;$T /NXVΘڊ:v:2&O!EIbP+Zբ|ϥجv㜯&:^/([T5.G,;w;dFQbIiT~fۅ$itsVjX1 W=.1_CsX4':X[~nKm&Gh} -lNi"kBkE0{.l߭]@Ԓ[dv}1!hqMr>ȥK+"r%rnT!QndDG$4O^Lł',!K)`#ɒJFUKt3*! hj MAg뒋Ѡx L53, Sܘ6YsmXSAKB N3zB^P:rI_j'!oU!д޸Ի8li?K.`M5qUQub_ 8&! 렐6ɶ ,?l:~>;\YoZyH ψJ#v&]+vNCBgBj rؕYJ2-3v~hUH*N#nxD dLX LGBC\p5~bh@+`@T(!L`. DA*pؔDfF[25*L|4xM-,\53{m .&AL-1ûn9}eGT1EURc']ALTo~w̓AH wbܘa S3WӉwA>sxeI{HHJel*yȬ)vWhvH@q@[^HX\i#]vqAm[WͲDrxDҳ% ϔΎ-X0 NxޟYGqJk ;R x !!U%U~Itm4$ ~ kA*s$fÏRO%Tcmw%`؉oY`gbi⺚ M1ZS(kN2ˮg9^uIeDj畉$XPUpd,J;$sO@6rKyInc6\tH;u_&񪸎lyf܈/TXvđdPe\N"GtR^Htw1rXcL/Sˎ:UL +ohbΔs Fh*,݋slJTmAFli}&EQ?p!Y36p9XLu8MFq 3fY*E)Wiqb SKK'!GqH9| ˄wT8Gۉt ?Y5 z QRq\Xr<" )OF}A*@ *aZE#82E H5-USvb rj~6a,ubh;N+Q92IoS#_);%d࠙l*J5}@d@kKt&f[Y俯yDtKUb |quxBvSdضZXA0ϡe#fFd9(ɕ/zs{Ob)mTOTs♈! rHatû^6/i:acw((i=<%\)F!dtHt1ڄ+ :W!/N_od@U"לlTcm%tL0*4RB։\ӶṪr}T]^LZɆDdDVz^WM֭9Pq&}1LIgchDmk7پ ($W0ݵ 0֧W^Ia%f}[=x"WRO2Pr 4`Р'7x=H=_J7ѳRTr+S{lBM.g7?T1 $Xp)%1!) Nů D)c%-7ĉ (UD?fB5ʘm>2&J359i :[:|<q>c:\ƉRGq&ycf]b-BTE@yzNg4c1x;hdЬ.Ȳ|<[E"m+:2G'QLCE[}Ie')$[6Y= j?sY˷,:lW0x'$,,GzA\ hFh{C9h+<"+ʳ+ʵ}>'h V~˪nm$~`:х K7BfMqj~n & %!T@ERC*Q)=VD_t##C a[LK j&uTxL A86 R-?_yVp+Q6R&Rlh@)(4 Z 1Vq]sX7aɖx1dZ8v5sKȑ94D F.ܥ̷'p6lUHjxiDjzN.RyDS%fjSz3%rm1.jSBr!uzt?U]*44ZRͯG`;BƢun`r*9FΠ!E.d{T{cZwn;9:Z-VV}k*8NޛnV~3,]Yhm+lAg5JGr0_:&1Ct/;Kơ'"!S!j5'M&[zSr oqKFMw+JkThTēN;dN5Lnj% m5#N3XW#sD'A|%ZN#qjDrM{3J+\)IU#Wi`h B3ώ,l )mymH\&% М-2$z|fOw͛!kfefȻ'ԝHFpЛoX5G:⶟ưNٹ `()<7$bFCҥ7 e|X I d.{tV@oRpL,!s?lD6Sc#> GkgQ7>d)i0m^v^GݽYj%ؘWk.H5ۂܻ4z/Ox)n [}K5d"J%PzW cDbm7@3b9,K$뾟ФmҴEd߾K4C,x)սz 6-eH?}1LR8ij`d6g]TPn*aN.Drd ǪQ4tjkI(@ Pr/!t7y@3h槡9P`V;a`zl*4-\gT}˜ ͹"o2m]oWe_M8w9?Kƺ}99 |iE>6vMat*ÕGck넽[tQάJhM~"Fn|a^R&:9K(v"46; ۅ#K9sbvr%V+US;{PdKБssi:OǕJPs?1b^Riw BG9:?_)kaG1xGjcis<%n n=<5G); ;kQ݄r~BZfS_[H+Wkюֽ93Z~-7ZfFKGxz%Jԁ,!rȗe[o)(25L\j0+,PvA NmhU |qW&JAP>n&@b2 FFaJ6 M|E0y$v3~hɱH*v2Js$˰(0xe#P}% ͚ @z5 ɡǜjb2`.#pn% %:_u0u2T0' .HA%0@lV>8l#9M-~XE4%*-0дRL稟%1"~k$=6୮) DeH"ߔ+cgSb/BB۩)c?g QsOgZ/R絼l&l[ܽGa>DfB@{px1 [n uAZ\_ҁV3;Y]NNg!HXRcyz6"_OnБH%.rʈS hD>?W2b+=4}LZ8RmB  KFF&dDr=Q7?8J2!&A'kJt&* - A&h)TW$38rHbq]HZ4oCd(a]LU!&V* L57Jp,+GfpVVMj|m#Z@^{:m=s2BXb'$59¾+pXH;-4ʷZ03Ibe薷mUXبtz앀C8!mtUDՒ4<@!.Em'[Tv}nTUa!F~YH{+b`"0ӂBj{;AxP`!)h@N'Ki ~Lwp6K-Qz\ CWju]3՘qI@r`=L1y ۅ+2:eK>'/T^8aM-y'!GÂY('tPMԟ]\jViSD{H_QnaNt*%.MxoXnAU{ʼ:M:~*׽FC4j5EREZ&u/F1Ha@WJ/T-ko.! Jҋ ,{+D4N*2R!x 4s+4PfSڀH5*AZl)Y\e -a[ (,06Yd/ۛFCo^Bf0q 8ͬ9Y(Hέ+5hVb' \'y-A e({8)L׀$QA+yD 2,-i\VF6)w~(%/ qOt !+Y{'3iPtƘ6m`O̶iH:ʑl)Ȁ$39cFbx20&)=d$Tiʽ݃nE%L4MwWQl\8{+m+ōPKȐD]PdvG8ST% tFKo񥧆;41-]wc la-T 9R.nՈ+DZܞWAkn :*7Վ(N+EdK#x΍K!ztf#,Y),"lj Ƌ-,h9RiAh&ƒ7XɰqB˫Ț[ ؤÒNjgi24`MPQ%< vIS{POC=mlg(M)1rTNp$ 2#Rڻ æ,Ub8DtGNބHM 8^G-*)W16ްoj+ EBt鄢jU1Jߧ#J"3OFݡ}a-%~#NDy2֋D?b)uvdR*\dCTFlJd3Jv'&LCJ;:>[55SC"L 9SתU^i_"Ss6RֲETN R]Fg-Dŧ^:xg 1K$BYh&yqawk2۾hU[}BYa/=ȍD]OYhm<\>I49Xbv I8&;-6P hB7BNCO7z^5B#)pXUL:t2vm9YR PTxI"Y.o6DcL]g\;abKc_*muRxzi@@"4B~!\-}B {G5R8\ܩܸNy:VU |Jt![tﴘA}geP#)$`'Y>"Fߟ%MEAN~ҲgBDjo&*o6C5U=4UT(E^XU($;5&zii7VebpٰTMET=|y)(sҹʙ~O| 4lkk*!TInhj4p!նnxzL Xc݇Mte2NDh Gk|\&Z5yCSžsk E撟tu@*f6Ar5듮 fEzRcm")g59! ʓ#"QRS)7r xvjH> oh2Ŗ=`q-B ؊'d\w o$0xb\d)C6?&oY4?h(Q}y  ejzcaLpNXNB{j0ii#yM5!(Lt2a0L%}aOxV$d\/ vc v_'C+ķJT@RE%'I;~.!Ha1wXF?w %KYscf9̠4~W[$~ Jn7ZRQha6˞zIaFg_ 4qq$F(GLnDO\UEdgE*F>h%w-y  RUrPH(,K&E,> ?@ɨǵ.PAz? eլӎOD=DJ J*Q5! EC&HNp0!H)C*A[14H([N;RQ wJJys< tdBxaDb4r\!gۥ}^z N֡Pd@|C %-lj 6v“lVScWdKT`+M&v.|fe3ah 5| zr7!6I1\d% ]afˣnEIdzn&%^TOEԑ ddJMҋ^PqF/r,(Т_3R j$z-ggMga-kH1R %K[Kʈ$Fo.jH-_u(ʿC:ԔB{Wunp*+S~4C`K&l2ic/(TIiםp${`c[n»b:\iw^"'&O +ƁBFTjq8b|`鈛 Ua+{UY m ~_镬^R1AcLM?,/䊆s$Oc7%~JAM5fIRTNEԎ.ew׈W'd([&L4nL4AhξDlY&DAGI(v*Ҽ3&vW݈O/&DJ3ؕPSs.6aƖPβ:qIG)l3y)m}{E\"5~]m0u-Q_$W)ߥbvk-j'ujJjȑL^' ZyxLd"7E&jYQ- KƢs_ ,zL2BYphY$CYw9jY>",! T CGF!z%7) ) *ITk 5RPHJ#%sb*[% , *sEm(od="R)A\&E"( Lm)v\A7Xn>6>[*86V0DŞYC!Bi*hqԌhE}ϱ#GCzG2D[H?B :8D,L%Ek'l皃Ҳ gK o bmXBDah֡#om'2{x nϴ;T)tL(Tm>mh ajkI̘-M;6DwH l"epEċݔt@}qTЪH95ji -FA%t4lk8ԥU(oAQn>s#Y3&3,5r,ul.<!|B>5ut a㥊[E:e`:_=]ЊB:@4'W.? Sz~$̦;O#dђ.gdL'Y*+b,|˕и@0/1]26F@#h4@ ݪf!cS 䀼^aT3>H$}t&3:|0 S fß#(Uk).VW#G֖Z$h^&+.B4G| NA ]@\6ۺH ǐV-%PjEhĻ:~\^FϽړUFnLpG47*n㱀K@c$Ic,TNnU.N$0hDέCr8/70 p!x ['6"X%Dxă󒎧4;['42^a:+-ɂ7FpEP,5^9yőn&c=}/̄MSϬOI( ~l7h%_7(}$XonS-Dۂ*U:b#8ȉ ٷ'El|Td.˄:f!׎ڼ3-2V^P@$79HI̽J~֚-!5VD(!RDpGI@{?L *،jeu<} fe5b7RNDÂ--$nK7Hm} Tk=җ}N/tLH"?+=1CGS^lGf1&m:,"%0牔KyuŲR*C ,cR Ӳ "ck&Idiny4ϛ/Kmjm&NN38lx+'??jʞ̈LM _jDjPL$ՊfϬ).dT7?kR2ѻiUeh2 ns^bǞK\sA@+J0{oSc,dOgc?q#b K6:mKl#wa7f"ڝ?˹vw' {lA *͢98LD@C?jNΛ²x'B+APR_V JHk!ɬT<`P4q{cg&㞼jӖNZCi>ͳ^"7&_*ICEG :=Tڔ,YQj6X#),mpc٨ tH.5jc*F12 Hdm*[HboBxLXX7 qԎM- 5LJm.Ɇ|@tv ۴rXsdʶGP*VBR%uk/\Rrh%4r&R`C\!v&ih"([tb(>,p.'u:,bY'؍?GT!"1^D7r9 Fө, )J$b\vOsBBv=egIwd0]FXHI !B]-t|.UijM5nl97J}#Ս1jt7{l9*y+Ue$GƼG_wLs sx,b nK2]-bhZزԕGBčxc.DM/0 `n+]Rٺc&8^ZĔfs,xE tl8k z $*r I hzeJE{IR}'PL`nȘY[GTu9XUIV7\+%(=TKzifQ\iVߚ^zyjFn85v4 %NT6B}LUZwyKp hh>YTmFb+uoR@/9O*aGp]'\Nf%\gj,+M`ńDAirWC7r"Re|"ؑb"EAWLUmE2%`N"Q/M>Qr |2xD8AL:dg|:QXH6{,-!tSLT@!s{Ry\%͇q.:@Gf&06bB!1LtQ3   nVXaRk& PPئr4"j}/@,˔$6 %!Z L.аۑ&AXu$mO VԛQ0`{|'n3~zuHPnđ$. w5H˻Kޕ"KΎ}0[12ArN0d-׭9m5p}ƌ+EagĎa<- ohhDjtSR|4L-mxSQ #p׈2l" `2,8BJɨǶ'Bѵ'Wl+m.P9kgòR"+3fdgl bԱ?ÑuO/]tRV#o+XshLNZEb[!(!0ORӞ%_6kI~jYMmil>HqDn{2M@NE"_LR+Y!ݤa^fQXEgt椢'[0d_j#;ac uk[ +.i0BrKb+;yV-͕U kԨXi,**L̈lE={TwRrIF#xz LqJJ/2 JQU0b;EI\'oJaE) 격؈SaD E+YR SBxJ7[1ةz1HO5z2֔8CZa^#7EDd-RE δۮJIM"trϧiu[kb'^3 vc҂  V',qJ4D$DQBȞ)NZ"? M4ƠS@2HFKBT+#xacA $R|0Qct  Q "h-p(A<0ATXľ\8QF `QA8$0`+8&{8g@c43BA8?0w9'bM=g ŔNŚA"8 ' J]j$t )op#MvXg0f0rF4ư:G R]v@s捪х!5<$H@`V:P jH K4Y6-EC`&AX4FŖaR||J_S?z}H2OPB.} '`5&Ea$ADbÎnYz<424YD0w[Kj /QɰO4Cǟ&$KcBKLH|<5aN؟$4Tc804# 9.cMbIEO&#BA #`&4}pFj}`'b҄!G`A[Kοj07T&r q%!/MR@n$# s\܈0ս6T([O! e%o[[0*= "I8,(pf1\">!.x4'G  %e`rFMڋV?z |p\ x+C,KB^@74Ԩq|q v"k:tAa6RV@d_P)=,H#49i9Kqv,Ġ9%Q%X]F'ZR@BP(k xq!A =dQ@hBW,+M`hI !1\>D6:RWtQAPR s\AdK8y"6 ["M*\]h& 8AV _ Y(oH =,uY#Ғ‚IF-ni, O7B҈̦)xpׅJT&`JF< Hab|ĦZhp,AhE@Z#fYjPph@u\BB c4&*%L)aԶ (O3 5,Y38n.A$1xEŸoZ - LA*Y},j HC,Q~X(tg[P]pq}7;;i&0e_'9 ,3?ƾ< ?""K,&(Ϣ*j!9O[YfqYJ2/1~bH Nʊi Kqf_ PRU8hsC1(c=$8'O(un*BQi!%hG$[JFц_pQm8|Ai*SH3PI+S(-&F BJX|ؼD3+! aX0nSk„2zWH6#,3!rm HK@!d"H AY,̷شq"@Xy *+࠯v:YE' [ҞC@ N1UU} @҃4Fi Mi0"[F92^Ȩ!bZ;Li j;Az!J(0,72~ȼ+. (N^j4!P eS( $:zh JK&9kv ~J4@Ci(2c50HTr5yx`AD{d8RG"p0(0z4MXĨVd9 Afe533(8AXs2}eޅRv{ WW\M{ZU]:L#6[- G1!GIWJʹzbjc~EIinMt*e S_a0Ҏf3*3GJAIC2[& ]h }9 $MU1T /%iz%t8F=*-IDڑR4C6%}WRcW2Q_T^qYfDNl!AOq'mB cW~[tfhZ_q1Z-|&n[8Ι#g(SUQ. e}/|TdIȶ*ڹmlN[?qyLNȭS0}-JE9)+ٌsOvڶ"6bq+ꦷ=6A^[m{Z$Jwhť,B *W}D%sȂ_&5ΙZ)yZ2iSd@TUD+)^wD!T)֞/Rx<ܢSy>8✉%la)jsr ԩ)DO+rPasTg;=Nb֗ꕐޅûꐌIY; jU]Y-ָlF-QqYsxDWXq333ȍtSS\RJ1udr2N\!*Up14.4vmhaJ%C9!idJR!HaH@QP|{2Tf{Hvex Q:>BuӤǬ VŒz}%-BcVgGS)h!ڍM,FEy2mD+6k]B C%`F{1!,r`t^3S+MܓY{bOW '|iO=l\D"syJ݊GE&U^q!=o&Eh-dRM)\Tuʦt%pTŮoYL; au|2okdTB|˛ jBj#ZqVI-JnݱoF+tBeQQ-fC&d@b%QK\p"٪Y׮|~2 Dgfm6R"D%s6*$ߤBPOգQB'*^ښM/I,_5QǭNZg{+4 )szB2L/iOwũI|oʟXߍdtW'Q⍴ʯ /3k?we+EfbIUMw,B[D-0Q w"GY!:C(zK˟Z{}v楉l}oQ^"KUSڈF5Ϳ?0(k[yMen4gJ/~]*פī#.[<æTS"Yc#MN2ܨ A4hSңu_)15ɫN-)gJ])9g%hSέY[zrvOJ#Qhbbt(b-ѕύM. H`8((P|S +f$伾ӵq^{dkBo[4@NxEaR=dAi,,ASI@yc(ԕYUk %,x@gIjלM#05~ԛIs%v@0'hs⑍׸Q8DH<DA+IA l0>ʣN<ƒh xV%sYVfQCSFKS=CH/L%Bhiz@XHN*(J@H0Op#8 b@+hąBkFa =_®J'K(Y(J'}U 7sCӯo8H(BT!5JzX- ArFh/}/kv0!6ڎ'%%_#)->]հfq34C[ē,$4Pr-Vn~C!g'dhXxFX>F-P?rYKXVh$#sh7ʟɶf(щIWo]Y݈$LiI  gZmF? h)8ЀĔ/W-5x2x)0qm4@Wr嘇/%du8`.Ĩ{o<@I4>$H$+^dI),aEo1C 26p^Jd ;D)AfE9 'FÏxN3…` %RyޥD9BME3@\$ir;&q #@pΎ ܅?E0h94@p߱cW)o<`G h B Zʮ@s]d[f (y7p'<&O# .E!nF+ܚO Aav0aF`- %Çn3J_Ƽ`BX} j\t0A&&I BDI%Jsy4L qDaW)2RpX )rJ> c5r}H/xDMPh3N Q!F1^H0Z sHqR$D䑙[Q3%17gJ"Ѩ$0"^ j,cBaD%ޱJ >:W?CEA,MO !d HSqD64+'hm)~=P9Ux N εPN qlhff ,BDGs#QeڇiHTH?NA"=/G4DRZST9e _:@BUNkFlT+R@x9 H^m#0D`M$,$I eo%J b($;˨/3輹i 9KD*X?B\PFޓA4!`AL h8%AZJ ab=kʂAf"Ndp#P| RJZ pXzJaFI/V^b|B)2G$O|)rmGΔc>$ֲ+4E2"xн oTQcx0F1CQr2[`aЦA&HԗI4[~MNs)pr=bJ+,VN .bm"X$ZZhƐեj[VV"PUɨǸ  %GŠ:kҸ}A#üƓ0$EÜ8AETHqQ`Nq ;Cj^)22  `D;99W ~U +#p 8ǕN)_ ST!sb:rYV8Q)da2a gB'/9rl֒0CMGƘk)&PLv, eMlA/Aw@3 C9(0E@IO;v/0"Dnr0 16aj:|=j4tB!r Aq; aQx|9(rRC0O1t9&r@%0CoNTƣPP)o)2(dQPP=2"pTFqR AY4NIPWn/d% PN' D1OxQ# 0Z*: ح"D fڙIⳭQ.(INl1J:氯RPG(AD - 97&1zڣR"P 14@ MDQ(ŧmP֤(%8q54(2^?, f@al34#'(VW>8p4hEV P3Gac;B3H7~~8U.RZ ~@T@Fr0v"0`:vk1JP*xb,a Qpd#0>-GT0l˰XRL墈H!ƠRSva~@ W(GUY~Qal C b II0BaQAӈ~ WL EO icXch^M Y8T30!h e!@G9ZsVl9<@)hjqs$p@ 4 ȑ/Sx)gD °tQYu^A!KrP;g T(4z.5(za ) @'<DIs'1r {^epJ @CdNXf8 !-㌵@uNA 6PM9*:|uJL)U29ۂar9h`>(bc/3|S4U!uR㥐 TaX#!U`@Ta* XU[6<`N9.Y[L>ȰHSUUZSJa(]“a"@w[@u A}f!٥h#D!~n1(.a @ҌEv 7TjBJ,";j\x^Y woE^pQR{/kzXv-+؈X$Z`aܹ#Si>e&g1̿zc# :-ai o}UJ#bq0!ws2Ғ䑃 u9 5p؍A2B$ᘪ  N Qɂ^܎с8Ea:ct"aC%`u?[rTrӎBSE ܚ\).emH~N/1ę8hPh@Hfb0A3 ԡ0u $QDQz!"o9`y $y千+`*ˤ\MbpAil3d6_aO8Bե)K㍤ AfI(Yb4%Dl cU yKgހR8,;Z7t.g4hKs…$sDɤ%-3 !P`1ROUuIB[1 N+MZ0CEh!8X Xd׉!\+CrZMugniJ1YC?lz%ϨBƜ[$RH<$Td伳I,kB'KQq@um1a,WCly/| j!DiކH><ГN%#nIH7&ƠO1*[,7RrzzG$˝wSU֘-9I :-B@D)juV$tM(9lz54l[%rW)-תYyz /A 戦ɈBKĂ&jBx(Q-G+Bm pCEĶb>[Vz^VxHF̔3O)rbXF@ZpRmcQ#X4VC H@kKgNWTzx7DG:%zcX,i=['_c0pc:.+& |#ۙu>β5-&`` ,, +vl֘Pr䒛i [ (7clAϵ1$ɭ/>$@v-eh (0xxP6hUha\OP8(ep]4gt3`}0S8aHla'‘0$rJ )= &BS~(cï1q<y bM* n5hb`XGG%*U TIq(gF ({FV ŞCڨP'!Rzi[x!%Tά!jӼQȀ—:7DRչf$89(5"g Y/z=.4%MYՕ!$A b-YĉHkG$(]{" &1n(]DP'jt`zMԘlB#l)ID$A xRvÍM ~1D,;pNP1HQ"ɺg:Ť^U~a0xSlez1̰`%c /VU)`q݄iI0"GAЅ0rzo"}&O X* ?gܳzZؒH 'UR̄$ J={jl%(W@QGcziN\(C{"SXNP05[jj45<9$ye5- bf$s@ĉwx >w_ NL~!OrJ<"}]H焘c_ƃyMK%`o`cJ"hL!uϐ[ %o5沅Qo0~Xu12=YaBTqp*Ir4*#Laq. $[ϓiՅS4X8<  $DAWG0e 7PRs,pտS%PQ\%$HE&>ަumgN8S^ aE5G;6ц ]#>e%k, B-̢b Yl҈H- E+٣zHPs}*]|`M)Ĺ%  Ύ %!/ N e❥8AAGgVq"¼ga(X8QaQF~H `T28CkǸKBLc̼:Q5@,apN9ARdg -D-eV|(p I!.DN_X-HJ((@`e1J %-YTԒX.O)F B$5CnqUxCSlZܢnP1aZH!J!K,RbN`*BJY|d(d$l,.w=; --iA0;&Fɭر#`&=ezB!ROD+(2ZHh)V1ZuX! 0V+PB#ձ)L泌=RLDZNj[fC.Asӂ6n?vȊEJEJ8@za`L^LVl쐟0B)A zKTֈJáᕐo P㚐fPg%iYs'@FD.* Jf1;KȚ5GB=NdZ"gQ_r~z,-74O\+by1:=3HYWAZ IҔ!p$1`Q{bBSmB98#% őm!13Sb6f"~Q #U#XIL8Z!DL, (CHÊS3ެj)HǗi^륩t?TGu.oy/1>J9jG6ժϔLu RP <,ؽ3^s.Mw<#3T^8sҡaAJan PXHE[Ȓ7kб4W~FC hPJ?%PS>&cJ~+表.- L /IK_Pa!d0" :8 s%Þjsd!L:9rk]*[=-ev+ ubH!o8?ؖ3cJSL,0B &LZ \0/iDS Y_b0)2 -(RqIE}$XxSd' HLJ/~pЌ N3V織R¾ 1.Lѭ`C 40E11+haH ̣:,SL(WBQĵLK Qvr{r`PmU>B4ڝl+?p PPAHmE5 3F G!* A(GPb) ;{KY>;1>gBY*Ji MjV.;F"Y؈CR GB;U¢d!3VF%Pz$&)L)^NaAz2g Xf] Vz1qV?H+ 6q7w-!ȌAĥ)徺a[A0aQ$BEʡ8:%ݔtRQ$%q t|1)塰\bY*Ef#WA\t<™0D68̚ 3v2Y͓'- ҝ"m*_*#PVE[YZ\A63*"uk<PAY]%sdhcL1G/jĢ0AuV(uraAAE]Ɂw{99pJBSN&d#L(n!S^9N~>w&"0aDp((T #2鎽HJW٨TS5lBmH&f̄;]3i`B A=.$@T'5D]:E:.;R>I-!!0OGoXMTEKCq7o2!=0B2]BXdp r`[Bt:$C+`K^ 62s’ltR "<87&K}OBsȧu_r./]BH4 Q1 %prG! A ( (s/9)ճט r'龥3EC>g TbW))TcF( gC^5ęU]̮mԗA)RSFB]4-[OT5Q&)/W^!!gvd0LB)h҇KF2û=Xp #s0ٱHDLfYjOk\TaX^0*HH !-q,xp*!c\WO:OYV|yE~z7"(PG8(q"xC#A;X$A0&2tG6& 0u "/# U9C5jWest'=!#kI U1Kj-݄?%\"I(Ց|5/~b8!g,O֠jmSoqm1V+/F)^t\q O7vB90 %e&I~ 1|6Ȇb3"#2Z-!(_ob2q@G*78DxEH!Y%: W4h5N!5% @o9[ysRL,+v@AC x|2 Iwn<("X[C[M Ix:mB2y;)HE h-*~:xqUM拮$\і6Ll2j  :gS[2F<>UaW0 2=%x}(2ZR(. ѢYA[ ekƚa 尘$cD*3pN]HBtpb]2TH!g*4i* ecbmxc' ӻdKT jqőL^hjsI@uhIn"QC)e> ^LZ9•#e%)b u%QZK<@$耆{M@kAK0pefkRWRשNv3xlj \H-%@4K^, h1*CFP`$?d!dŎ*dӃFn7~r \ŤVi3E<]ڸvE蘬*3:%t1ؒ¹RUzTa {=guXx A{oV.R❖)ֲ#lɈǺ@D:@""UH Ѡ ua C5s]DƑBxm ~~2C%\m }[ݩ562̖O# &Tʉ7k1e)\jvI]i-qVAheBtk;<͖QFhA%ԷV.C4ztJ2,\Ӥ+Ta njCi jlhb|B, 1А kDB6)vLf ze"狔~:)J*58hq$C(A6ig '#$Ds*!tRִ$,`<\ H᫸4 4G1 isa,L$A"DH EYJP UdKeDRb>g+蒧R5[CxزDZ1Q-K)'2Rv{" lB8cIBZ-䄑Ň\!Ж J0J(r)"%1 dqH0&K HGTQ/}Yz yh×Je6P2e$ÇP(M3y+ʌ YQ8ʹJ>^6cjM*\DVX/|EF(`ʆ$e uhHoDP&fx3)B1E+9>5Sf<o?|"N֥&z]6"GKyafd%:6%Rhs|Eh+%!$naS^dG,DE=S.ZJQ ve @pN&dBUR~8K$BKMGM?yd6dc( ~ tL3scIKOM=[( 0fu)IysR5 T=ɺDwZK%^I z'fntF7|gP XF@ܵ*5J{  ƒU0:$]'ebTX*qK0-K!F\lT&[$L3؈U~^ޙHMXؕ&R\4HƣE+2yʹn*1'rnjL\|&BGqX풴&e~@P%ޛdIx \6$)RkGz@L1iQ!"Clt7}k!6jǿƖVR*"_Uh@]Cej_Us%hlo0iW9:7aZh\(4먕T_}gMK5L39sP`/MҽLM #tN]ڛyz!uRA1:g !: **I :-?P$NG'Q5{xZ0ь}|Bԓ[T$]U5;UۿGnj&T`i_5h_!XOƾ]ce?%7떖s|& LX) mY^]Xӟn= @S Kj8ƀɭD&zC2Y` -&rcZ(;(FY!5! +J߰XN5F-QDoihPQ򧰈754*ܚ-%aJHM6MdSh0z^b,q($1 "/Ui_Jޜ56L3 =;!)9A&HrClig@^8>0;$mPU gl6m;3/S$N iGL@N'Veρ9I_8I{NH-G㥝fPz-c\Rf:6fѸqEbF~l߿R`s9B07:CA\-T@x|z+wH; $^g2"`@ ?!pv>Rb8-5moAyׄvR$LE,ba&8Ѿ^Xax[D^ę?2¬DiFK[OZYn_T pr?޶!N1񉲷x} ٠ [SE(k4|V?$vCBf@x'iTyQ|s -ˆ.!;K.{jQɯ8EK25҈;hQKsdGZIѫ>U1z-Ӆz&D ubE='uSH<zFyI,31y^o"o 1ii!\L 2pHچ_!(IObN{Ey'"JSYPt>dˮ>JKY UҥqC8= ]X1ЁpWFX(M"YA`jag5- J[%,`32QeVR%<9vXjZt?dםs)*߲Z+q Zgu~&_epw&$\2 x# $qmQG$sn6qa I(*Se7+2?yv蓌ȇZ&>`gBK_g6C pO404Bd~OK !ɔȍ#Rr0/iB!Rag p3;! )jMoTj}4Ndj,od"4nL1ǵSvI M7Zi-s`ITdWȇf?3$+ Hg2r%ĺG+eK'#DkSms-qD;eJHYr_@䪆?*_(K/Gepgx׺Χ4`*Dw[N>hW}Y4TA}ZJl.l8vo=r/#ٶU\CRe1(ZqRIXbpf&)/1_̪1wJ a)!ɠx$W]?X!L Baqn[G_q(Nf_& 鮸"]PLsSOk wȊ*o50 ,)9 rh%zŘs+س0yR>XCI(UH" @ @#!1u9Dzz!J6qr |%LgcN IB6bY%$%!:j,@*¼xZN' ;1~pZUUùͤ+a!sf *-#nKY mV2NfGivQǒ$%2,.#4`m)$f.)P%v1 Ѱ0 yZ3_ "3ΗE=_\AՓ^ E]LU+vT:縪(_rPd(+G%v%і :H"_24` AԫOxq<@aQh,$\*Bs ;.hj*J[t[j! #v3FR ,dSBo5r)nU"BK'YE;i'0]{f񅤄Q'$3Ex>YP9(+dPuN3.aϣ#ީo)vgI$u/M3e~z%Qq2cD-r1*ŪC iw)7°'@Y lAe$i‹ [.ECѣ\H}fvyQBD+|'YI㷹թҗDJVWJpߩEK!JNΑ9Z3UTLK "ZR(3Zh}n[2٭Ru%}"^QI27W N_~`*SVE}*8,cuf q _OUA6EQgԚ4:' 8V2QRW:$Ms{#.[e#F"SR_]kcLlcH#-7iwn*Tin㪈qR:F`P2ؖ ޤڔ]n]yTA9(8O'z ֦up)hN6/at*x{iѥ'Jz;EYٍCj#|Y5<;R!(QgLY)>cI"U~Fb +z mgmZY/+93I OUfD#lN?Yt-$^ˈ hq<IEJ+`+As$y\F$4yua'6jv2h/8iuJoGl&GA2*J'aV'N+3ZG1{ JefϿ)o6(wH:PBsصft|־MsPIԞ6E"#[ŭ@<!FX#uOQo(\+Ȏ.Z˛CʟKNߊ"PUksXuf~$Ӵ]"$qb)ҍ|N),|Sq 6x)S媜3N+.t[cRXW#J"0?)z'G7kHxɐ2 jjbD ?AX^(Klt-#5 GApXjZ>{R%͐R+ ʐބX3I؁,aKd`쉵[nI㺜ԿeSXp q؀LNwB@HpDߟt07 CDv|Mj!i$i\?H}fcl- g&z?{vP~SIN<8CZN LAݜUR* $brV3+y)bUة2bs 5.3 XNЮAOHB;"^ ٲ&K@3:dmjS*lK'D1OK)Re=2U#.ib;S%ǎtXUoa,U/ȓF8VwfT}350@bZi49Z CQ9LX = #Pv0RlMyD FƖn,/989 \y bu+仼QqJSlI2uH:qEm {@`dڏP7vS͠(H(Z$Xz['1[UףΗ+kS2̵5G78~˻klȖ\Y13^I,dTIۈW57&3n\Ob>37nk֣jKę2$ Hт` y(S}̛nq^ +P|70jSS?=*%4lQJ K0UʵJ/aOo B |[̕%7-8ו `8"*^裬s +9uut~fRUm8U8mʄI+#*T2o(^wt#B-: tLێvAz%؜²Yr` AV JNyQ7#ถG$鼔iI{_Jfb*Y\ԧU! pUԭJm=] TG{$c2eꉿv5c]"'l7Б [uUo,t+@Z䌔t  4 #yIl$7/ڣ\"ѩ@pj/- 6#tU]RתP!(%3)!Й_)2'\%?WfU!'ZM$#*1K'00De6Ʉ1%/ȼ7~HG(EA1'IseRBWj+iB˕X60)cJ9:~ gb pWl,T3pI@vQVe$W'sj̓XC@[(adNE [+LB<ں#%S4r[.W3=.ǽ|\G a−Wnʝ)sv5.:Ɩ|qwaiQ,f$57Аd% R*,BkHdېǞro> g&$hycEBl4'Mäm7ײ6:d\%6:]ADl^,x{1^^ s"|r^ڤ02x^L:n$ح˦vmV)z#83DDɕwsu˧9lj%NIBdl/u~0Dz=@:͕ULiOk:@7n--"1@"DsjxrYkݰr&V"\>[ɈǻGR Uߗf|8fBkec009$?؈oąp8TnČlCV3"B/Ww\c!g'EbMV+JPLҎsO@\sm=M@Y zk"CƀT"nRj+Yp)&+,dGQaVgG\'j6 9s` \ ӑR+43VR̸!nQCgqd'ZUJH; aQK=RJ^܎h[aCIIbyO7:5lMҁטVh\yӍ ^'6\\B)E|@@bƥOgFnEzO,t€E*"~OSHpSI}~sUmp-LX-yM#1 4L%_lFJnlWNFrKZ`I߄Ǫ FEAM{OEQ>bD&yfNmn:_Zk*VXG4ݘ6p9$G*R2j@ˣ|+OuFg̪jswFא<ӼPS3!(~̕L1um:ƉVZ] SAt@Y!${> sZcu;i@Yrbv85.PgHߔ}dc!٦71O6@M!E*݊Y0,4aEc"XX{A [[QVhD.E(Rrɚ)+'Y$$A|s߉Ĝi#Vⷩ&/{@>J20(|GҝN.޹vv 4WMipEkC$1]fǩBGѢZ q)J /f~N%GYWFj{%^ZSRe=Ҕ9iD#IZ@ѩfRI yr2"6G{ ʒDe+R*h嶕G?Sep(; [7K:U2b4pmo7S<0r J4݄C. j/? fעR#)LuZ`& PԩeJLd r%8AS *P%öEL_v윬 F+:'ehe4 /^qWeM.#2`Vdok̋!z-9EaVT 7i :h]ξ0`W'd.Y”q/goW2lǬJI)={Ǜ{ pNr^$P&= UPR"l1]M$fPn2ڏMk焈,q)eK5[xt󻂠}fؙ'jiGS,*Dߴ.&W&6e2'7f"L5yA&GBYǭԝ#2uLr\*q~o(oviVKDr9*\l-ײZ*Q)q&sSFarG68zDVJXͪ22r)Aa-hY Z'.GVB<tBD0GˢP(ƜҸnp]32KrA*uT 'G6p"9đe+ǓRj VPپC2ļ}aA?jgyH:UGyeT&UL0GjdlYrs#A(V@4 T9]Xi0{Ԓ%piEۂNk:]wtʫtxzզZv b2` QAެ"hR9=NUeWр5djDXPrcj^]L؝4l+Q7,&m[=%#kKƏ fɐ(=.6褝b5c2%%XQQLn;6wMGtfτ7=S+]TbAHȟ0&b}C,q~"1^-$}8wXqV.eO*Ym;ZPUx4#RjxD+>%6I'c&eT1ʄXHU7l9 X*/50#M,F~ Qux3UCvpAE{`DsD3k2jAt % F;-p xiU0_n 얂7.qyۮ,WPHe뇛)|F<{""@|Ud@06Q135>|4䀢L9EMd=.*QT g)P0G%ohL\cˑ^3_>enU ?G6جZ|t4C?$b#p"UeA _MPP~dkN O +G{WThR48X@Z <$S/P`7Y 9cQTFhrz]b0IE1R\"XEqj1M(@Ad ՄcMnRcGlm4ӭz^a!k{KSeSr⮹;1N0uRmJI""9/'r'* RPrvvnX:johhdE: $m5(pt [ _$l mh6ֲ+֯#`$z6̫݃Һ% $bܖ8^Ae6\,ImKf̭2.O`*Yb)4]dFf2EDɱC?_BԊC7bܥeSgIj5fAdΖ&OwunRN SElM8ߎq՚8$x{PK ^@W#TQ6gsnM!_QJY{I\c5AkԯDLLnD[%r-MUu|1Kkȧ!m=wOeLCnZY3ɐ +f%JnVGHJP,iTVDZ{GZGכS곩ú 4y眪6u'I Z+R8ڪ5*|x(90yl3vo*HEN>pޅ^*G^[m$)"oU#HЄy2؍$н¦p1SeoS% yIᨑ-&fO\RHv@攻//D5+!z* Me6DDrO= +2kXi-BAHU9 ;qx]nu>br&^U219D ݋I?ga^~D_ҥwV'B+4R*^"鿦PXE"}`6rCAV,V岆yQNSlǦ{/j DTy2hE4ؐ[LІ+$X"dZ [b"8:8 -%)^ijz>3jY/REXUz)LS2ctZ&*Ј6Hvm'r}/ȷ@x"r*~S24л:%-KthQ3q-ߩ%'gG3Q1$4;F A$MR{mG]GFtL2Tؓ?d Ed7VKgoRtJܺRI4 Mdiq a'n2Og~b$Ґ@ Xf4$Ҹ6~oFN5]VKRVC1m-ƝAM|bv9\9)%Jl"Ga NCBS>"ʎ16V!R1iT {xP [r]Iؼ Q;@aXeZ; @M SP%\EMB˦(Ba3^Viys\Bu{r;u({`lݦWcx;[w1ă0HQ)r7'?.u`sWvcHGrR)i ڲ4fk[qMX2oʤ,tidBQ%Xx1+є0"ML,##Z(:١ )|!UjWJ ̂)oFm/i(=Xj # ϔ"0gK@*N:!#fRrI9 &F^%)ɘ׹*Zci#<8YxhQ0̫ %i h;J`d%TtrblKT"P\-l[\k1싈Wq*4R+YSVOʉ96=}h^*IGC] #G"!e:^'ꑳ@uZz0];t"7qHՁE 0EͭWkM/'LR6-iFfC""~nkiqQLaVm_x`RmH@ZHQWS4Zs@*B݀R8ƾ[(jI %/*䫼 ^Œ:x(')i>);s?HБ<;!q w7{xN=gPfڔZgDy\(@bcɢ]W _ԩ&bВi'?ѱYW>d\O4Q5sFݍ;[;g-1qDQ#Oi6\>`J01zEHY !K&Pr㏆F xA>`)z  M8Ҷ!kf{V-BtRT% y~"1^Ҷu, w1G:ʈ-ʶf“io1϶sփeҁ}Jڢ)Drb0> Z*Z%iՖʐ0r#[qINh8; !lxV*hSESd%UgNr>Q V;-a"G$WeU;i^yx%2Z^dݰNFur;9^ImXDF`%nPVIKvek"w,JSsš(0N:5Tओ l xq>4tĊ$Čh#~V/+#N8-0Zgq>0@9S! .Kh!1 &D2ũts*aXd )H!)$CmQZk:7d ^IEӐ6!Wͭ63;۝|.2H̘GdK8 HEB3ſe:[`䒝Z-xo zWj$%ީ\ASZpQcf|HA"<%&Xoi}np>)Y-!°bvrߡ%0'P$ȧלtR\(-$" LlzPA'.5̈՗K+~~Yc߉"3v<_CZץ1NdEߞڭM򑩼lIyZ\k.s`R+R|!~&|[%^ӗUla $ mo2{DŽrm5fՍU9 E 2&I/*k⶗;K_J"̾)(Z׳| QmЖ])~Z RL*B5 n4%Zb]sc׫Nf1TNؤt~3rrB~ւ#S&g- BPDB)c"$itHJ ̘,!W@SB5l-TFb<]?$F t/f#}s#/x}jmB{DƂ*n1bUP) glNլ6cN#2t#$zE4DP1d,J"#Kfpk+8F0vvUEA=9(BbI2R$b1DP7%V R=R?B.fJW;%Um#t,6>%B>= "C]Oo69-yǸ|PZ,rD:3"v'Hs@ RM,+ӑe#䡏SD a8. Ҧܺ/ ]TWv&#U,`IYkzQLZXIiLP~% ZNUjB;y,sy'PfIj]'|ˤ1%C)8\Dfx?HI?=lf$UxY6E)lNn>8.bʪ?= H𳯟oy![';/fˀ!bM`fdk(j`KN$ZB_r)}B)KV?Zs!S#Y kbʙj_QM\wW҃6XJx!Zn)(q؛&naC&HÏmWO-'4W N*,p!!-&A ɠFhju)!"bhPa&Fo5j)5ԢXB.Cgk9Åh4!L?D0i0\17zD)KS9,^CkRYȪ[(*5[obAW4Z^SXʌVI'!O(>&4]u3b#RCܦb(C:ף0 F{l$aQlPٌ|ޔ-uVE%]4aQCF*5dQcH\$5SFD]2un+PQ 7d#QHIJ`d,5|޺ނԬ|7Ǿ)Wuj&hP|*MkCmMKQJ"yÌd$[C#l@2kd́k5|o;A, 0WjtkXYr(iiF@WeBV#FSH^S)) \mԬWp=b~޵`! {<S紺 dH,4TO.a"4ssT)H6*k6|<*izeBjoY(x3 řLM|(GQ"{8O|\#W*~mR~5Jt&Qa5 PSPK -".Á5ؙGI+^L'k =ǾhPP &PG-GP)h?bK0X{d(Z0i?M[^єǒ>8Bq& Xv"G@s2O].B̶ֳh\mb4NSfŻSC1 %`< xӆyAM|$:j ឵G'2R gtM.H.ǎv8o5VM$ o6@$?8Ĵb@f+pEө45ʢMu `Ǟ]uRPEad:/L,E(@]/ ^IKOԸMTKMfgeV )[ mdMmx(ߓ0]Yv/mcx&&lK1'1)tMse8H Ż1cph"Hc7c}~Z1X f >SVն8Dotm,0 acPCR^wȩ. Ye64Q./aMբdY Tq$(3Xb5FEbv4!ƪeS 0Z++b?БڣUaH*qT2yBT b@02+E= o :1D8 '!jű:#Aƚrk,KcˏPu +ޮ2RʡJ4iw,. \򶗫Y*bfХ:U 8`p''U5FBh#Őp$6 /&yĒN #/o-Z9u)+q q;J2QIC-D@Yp`bLj4; DV be !Z?JBTe"0^3>" sfv> ֊BVV%_nI։A.VU(>yUUu^LL8K$({963| M+V0xHJBT8&G(MU鵎ZBcACy(A /gF'/&K $!JдTRJNij+;82R;+y!gY,촔ng:HQM]a."4 |GUd[T"֊z!v1LM9ZgƥA쥏$6|Z}x*TLIЈc2lr%d -$C̄N|ʂWG*D hrD NS(,i?DkѼNƓ; 0xho50S &$pI!"&J폀GQXvcT_ѻt/!(W:9ɖB1M}Fr~[=T.Zk G)(*L)(kʿKPvŷ PA6l$!Y@;$&Ҳ ~݋B!ЩZ$gclIQٌ&.2 l/fsDpOC>#7U'>7MwV tƧAcEwA[^2>x*+D+۳-[A?0EڨwV2Ei =5ʕwyAoz*wF6P[⹕QAzZսuV2+w) / ,bc![Iwh0sFrn$R TⁱM3&IH;6(X~A ;xDS8FYز$G?GQ-} _c'l [$_RmHDDpQ]D⦂f >,b=RT.fJ2iH"Yl`?*rA[")Yy59!"_]mv3#-"ظ-M<]L*Zu4j,𯂂 $;.:i /?g2F|4}H&Y"S/J\Hu F &节#tq7OK%[%dAٲdI+WK.?va4 0^uh⤱E Q4x*(h'5tGP,$ [x٧0x>0 j2R /2dȫ i _)SM~,Fi4 o|KvHx8m%O|Amg|? I?!G?[#>:P㮒@c 6s?IHڰK"lTHᡣh2Ԏ =YcX#ssQ@л,85 oK(M"=‘|HIB"Flc]%u$ȴȡ5D͞+B+l=R'勍Az-#:ˌi1%Iضh mxބPۧ/bd& JhoA"N]lg@( 6c'17  A~5C5$e.AdFюs!vZ Iy,\IҋAHb(3{"eֳI adzag| "cǪ]c|EFR!qяp]bIM!8FvZ$u.bpdMaU&60h]D#9) jBr]\ 󬅉g=pCϛTi!!' o7* ԰ojjk`/3u \sF;sIП֣A@f(@T/P!d[ RȸTQܝI؂GoU]`aYW[;NRKJoDjCf($M*Ǒcs"+civm҆R4FiXDysEJjM%.2ì/JkUCCǎN` af ¤Q;j0mќ1M>lW@!Xq%IJ2Az4zYJT_PYtHe]΅ֵ aؼF24F >8 / υF.`L,MwMω7m&2\bnytf)Scڔ@Yq?iȑP@BO0^ɫ"trfL1=Jmo#+@|m%AY64 NU2 *\]s#"i5:lYUX%$ rkVO82fkjx۬*{.gF!v)cM*8#嚖EH@$g_  X(vr&X*P`v 6$ &֑ۏR' UHlyetC0ckgSA"q!XڐTARBs-_|\`D!t"3S9"9ʊVM ~@^n¨֢%T~ce U1nՙ'Ů_z82I"<5<7*! ͕(߉f? SMH3ҏAgS`dJ^TQIr(`{G¤ۺXuԢuv wѦ Áك27q`P-.z\}$.'LǠV*2Wf(do  ڹ ցfQF>BD P^+b~2}>7u)̫X=l<~/V0J!Mkc GcUůZChĹ%zq^d~FǜǞ MkNEzQc(M),5ǟ+zb& %߯^0 gC,A?vE9FS4Ugd)OT(Sⵣz1bm ' ;TxЈ's@-ILb$/N#@A-o=:۾SS BVv,*)F nNl %^}Awm>.[z%ԡ`Y,.s!O/&}lwN9~ 9(Бnrx\DTsr}Pey0K*SqP"Sc\8 Z oFwYʜ.<&olF"ƐL7 G Ė!#/ɨGi1w=fɧqt|  D jKJ=D&;; TAQ* y15Y'z>R!$?f_0cc{ iIר"0E> Ч#*+!߰ : buMM|mYt"ـ1"+=p[W 1;4y!DK0ݾ`Q~^={ N{Z&ݏ='Ԗvx(Qi"8 .=F9}Vxk?٪܅%E?ov݆-1f`$ :#lHV$|i}V@V7ĕ%6i]41rOH}Sx\B1i_pVI`t%ltnOtV17 M|\:fD~ MnVsћ&:Uy=ylñ_m>j\YI2E-I@b^b]"5fB:9IJ{ٝ}h1Vʩ,HY1O< 킎hC9DEc

 3p?ڼDLpy\l%G^$kX@qscD ;jkk(F_ZYrc_*ÉMϋxS}#yH,$dM(H~+b7iN}eU㸊.$z c% 8A- eGYi¦g͈l2b7\5jER0EEmDAߜpk _%Q-` ׺cbp yJAcQgv qRi yڠI!g6r ˄"ſ`!*Kt?%r(#sIMl"f+ 2w31H􎪢h FvZFaq! ܨ˗g˞伫ȗ6Hg.Ո`({҅s[GFgGg83&ab'*ڀ"赊Bp;{{Ku=ozu4ZIЇQ_7Yn#2-.c$e`;{O@!H@ 6X>]e8ʒܡ!Kw:ͯn,*}mD3/SG1 ˫KWģ*4~ q9˄#t^7tt*(R Nuo Ϣ%-kLGJSK tJ 5;̩I5V]: _IVsT+7b'@\!GwIa 2$" E j9'SgBB%Հ84Dx 0(%&F2ڠ\2$ YS/+S'ƠNNbAQ 3<npn&r5HLj&Ý  `fmD4 2Nkf6)E4 0GJ7h;ug@$HW! G6U%rc ;M3EE XG/yɫɈ޲ҋn8TJ,A;M(]&r\12Wm,'wn7\yf 'eG@П:z|57k* BEPVU*ż g1ZĬ˂gB  @xH\ [1k,iG+e78Q\t!t*{)K#o^n3 b&\(=tiEg߈Zi%YJ>or.B[-}yw& kh1^Y}7%l"+^b+Ve^6n:a V8ֶokJL O+"?1dEI&5eS.©le8 @Ԩ!Y':0UBӫ%jŌ2"$!~XHv'$x Cgj`dŃ)83^,FO\uZ4 TnTѩHfRL-<&#{5"poh旳 Ԣma]Qhvp8+:Z35 .vcy.LB2!٠ZB̤DrCUa:݁H\! V98C*)mdf8Q1@~GOc䊋I.K7"(jbr W]d.WFCtsg(ej[=kv=ɯu?IJ\'ݙ;IcF9Jt;P>`Y= 8m&s)عQp|r 9LFoA>*i*G1˷i{Qqj9gq|8%Ç%d4V6ׅxlf p#  D[WVoHP(5}9%"ۈֆ^fA +\^\NE#}K5zIzv$1(xrJV6VK[ݹ=X: 妨S4s^b |nCw%JdҮ]Divu.EӶX[BD` r IGه *&Tv+h)EVRNpkV5 UʜF}$zLIz7%&E+):;[K,ϝRTׇ 0v-&&QÖ Wd1'2 2SŤS֣eߛ C1FX紊q:ղ12sQI*8[RȆ(S$qX#}9Jo/.M7-;gEFKͭkAٕ?,RUɝO!._!d-tKE,dW{ j #x%4jw 0ʆ7Hg0!K{j1mm)ġmhԘ!& JMvmV&m:LJ3 xtwBPWj;uUpA? db1QI?COfԑ'* ÀD!OF !/)}Ȓ ` T/cnࢶ^J|WiFʍ%Gd.3qa֙%fN)āWJZYٳg*.x#OxDGN_vui*MGhI8Ԛ0.D@ @OUK.$^zW6Zk(JR8!*U PD&ȹXlζ JOg J1aѣ2{ @@`HL ZQI˪į> ELd0V6XVgX:4]IR@UU WBBM(6 0,: eV¡W>S,CIB}+]~TaBw(6 ԰HMKA*f2L7;q!D4Q|7 (P%೑ X 3YQ% 5+ϡV EDx6:9n?=$CfB ⋿D1qhQ S!-o]"o:&(."q# (­l {5 @rL )Ky"(ck#")J¼s1 ~괄|V{3*IiFˠ(,6{9x ʼn=ÍĶ ͣB*4 (EϽJsMvꨙe0ҕ,QX[u6`]^QM¢zdB@*`V ,+-SYgBI=[ -,?Dϻ:=L zب{'mCyi );j+%-%YQ<@%d3% ;X $瀺 [6) &Ӛ ;leiзY0]GjW2>0~_r iZ{wU-ffSm9ƍBUn;LbPnADn4E!yY7B<ĸ),y.3*EFlt[GM+f.S&цb|-PwBbwO[V~:7D~()_dDo aVkuHeY˗?ĕ$N-w;D(+D臩4aEj_)|mFVBr> dh:ْD. G3^x2Pd:n7qd sX n%X "hMD^d4qe(motLOd}T)1 莎)Fv#(BxVjm;VZ*(= hm0k%ZYkT_&4:Cǭ6% _E/"KPEBwU>rc(]8k&FdN|=3*.5$F~$dM|n CE -v#ȢNJTJE"vQx ۬QÕ; %ӆm]spvk-, }R _v##<<53ʤp!_QO 5|R3nX#,cuӉ33m=[B'aXL0,gB~=N Ke0^j*͎EpZUq,1%K@[lb÷ _ jZqrC 'n}(IJǟ6ŏjQ4k&?plTlkl:|&U#Zxbx>pI6)îL2PD3Pͩ$Xd4-(cqUU.X4QcO5ƥ *FԸ bQi1@"̗% R )ǭ%)ɵW %篙Wr" ݆_ O /=ڗ=0G¶*^E294 r'ujcpϧ*gˈb7YItp*f 3,ʜ]H^T+@J\ȌTѮhظJgݵ.XFgp&P %LY.,O( ,XWnHuvJ"lߐ [g܅CU[8dG#LQ@+:Vhn.C}[vش:/L7Y*8SRhuϊ?0TF #, g)_CQ0m&波Ki vF6nt\*'6Wi+d}Dhd~2SV j*F*$fSJ _ ]eZ!Gdq+H8i D"%*ChNx#WϗAcKj),{(1(WPM&XBb2i N;@`c. U*MŐ/KW8Cehy5-@`'Z9RSsbYTm$ًЗ쬩n^J'ڙ~pB_B3Y$8;~=Rw3_ȋH m5ZCF.%ѕJAS%M4XØs*x!1f[Pc@Cx1T n%ZJ"34H}S1,.`Բ 8\J}WSDD mq}1#Q4$Y8(|lF K]de/$AhR7YH8D/+S"?܈6Xl2$D Z1҂OU2z&M3DrSB<PA) XEoD &3-_J2ԯM7.^2m]=tc8CWL'(%m*j~L_'/v҆'>\FΔDhDVT )ϩHFmx pq#hDUc@' dkHt/쾉^,!$,bY2 ˘wtI%1)S&A u\ WL.1{/ ZiqGP a'F',bUV/mt8.xT2Q PDE놨yiU|d\0"0NTVۍ[C>,v9 aQrD")Hvʳ܀)njQϳJԔKqa0yk8%)M>{Wpb"EW0wY?h<'E݉z{\HJ/>& U?ngL4xnQ,3q$ ߡƐH3Axwo11$f(4 3Kj9D" 2LK\VT.=YKCI )T7QiNG'Md"bn$)ㅍWq,^Fx5MЦ́ t&{#^_ڥAezjԤ7; #ō{t ^t"4k;І)0Й!qEي7V"fX)bv鬌^#lF2Ɨ 6()Qؠ?b7M鴿NgQŽypݢR7uݸ]ZBߎ7"kMS+Wt,el &qr*EU Ǒc r.&׿ܘfr\\ҚMS/KϢ&-8'.3hح^LT ,[9r2c1yըe>}Qf=]%rBb,Zt-RFRF_Tv\<}_`jӎ1Gy.}~{c)&P@c^e'Ex/i̳{-M+a $lעNi7}5]| ajfh(Op69?~PAx"!-PtGvC}>bDwWkSj8'"1MPLmoDDf H`vɨǾ KIA|Jd GP|n4)m 6rc,;a0i Uĥ*0~؃]`]PJ(  =ZE>qnқ P#:.qW>JuSeAB7F+/Í.'9~9>\P#oTQZ [0 {*u:X$ݵ֏bBtI(Eq'xAE:,zYQxMSt?brv[5VȂ(C š3pk1)^'lZ_\Ʈr`٬睶?R↦Tķn"&,2h$SN_w9 {jILt\)fz5ԖD8PK*4WTn*9q/+1)8nmQUc.-Ѿ_2椴9 pCW1ؔI-_6<.;Eoj&̣ĊL)"oi3[uZ ݧHD =|Dx!>: *}%tVJ@WM̡I,e(khXu(,χr3ey6A.E*T,ՅRE=|U?Cጾ|Ko%XS* ɂz6 YyҡVuX-ԃqT4<Lz1p@tA$a0>Cl(,h- O}P%bGmnYcL &DhϿA {)apwR8FN%CaЊi Їk471`J7[F~9BaߤZwd'Cj?v4+qXÊ;`݅ Q0C|V!rK hMl7DCvc;vǒNPmR-$ V6b)5.ii "w?jYz)phZ$v#Ԛ۩@NFrK1Y u>S}PĹb)A3] &SBuxz& TiL6d|U},hȉזD}oJe3&~" ~1M1bF[Dϗ"N=M$̩lS5%MS6e RF/_-)(\ dTM #pC͏o ,L 4EB2hmuJqVj=ieQ!^$AY]ᆰkķEIgNchsm<\4SHc"q<ڕݜd)5UMKP{,B>yҒxJ@g`M<ᤵ BK ~:FZ%UeTժon]XI}fKbIC{. _JCx$ #\ԑ2)VwkR:r~:^BH3 3Hq">w{4233?d{ xz_:%mi ÅJD5T|bk6f-%.X|zXa=K#WM-w.:ՃXQLj;q.C}tUJ81f*.Y²1[~YIrQ|ulV#%%.g TU j-4RJ)hwD(/)eIB9ݯ^J0 Q›$M%|J\KGO#iZOѷvXHBS) &jG7{}F J˗e&.= IWJni .H`UYäSYX/pU0dl,aJ%TxCIT$Q6 ܏b,NF鑤+ĸxJ_N 0 J+,%H_J2kj϶LBzyF,ǫ' I$v2 )JiXheIGr#qR"qi>yU6YE K&qPܙt.tqy$ ̕ˤ}syBxMUKd12BȍU57[DEmI[!({1' % Mէr5.S$[\UFJLMJ*dOzc 1Ļh%VJk'a4P[C'K8*}ZD%)e= #~ġPK5#"9Zf(ZF1\ԷAa)64jI7Mq`!%?Fhi em#6Kb< 6dTʈ(B0a^iAQ߉1 ,u7|t#'GVQUxޚ. f \B 2Ly.|fp8y .*Up U }m|aF,7,*9]-^B,2rRE_d;FZC5ѹHrGUa%<7Hƺ TJsݼoc#εI_QWK3'*nS$]-Fùӝx"+.?& O\،% UZC^!dNbg8ϟu("̇fP'n*B6o@t@]Urq qڬXX~3x-iG.זf\bO>~A r):+B TeM je#ir8gP$3k=Zpd<|%49cRj:cj7ăVB V.Q :fs6hzz`l\OF'-do"&+ )!!/kC^!$뙹 #&mxa6靌!Sf>T|,.g.mHy* ۑE|9S`\ q bB$&+FhumLE"+ 8>>b!GG)ژ3^AC`+]4| Ά#Qh%DOWjsW-IܴJ M4PYHߞ;dJ-\QMAE.urQrؐkWQQ9i^x_]`dv+;YW |$w=HtI?ϒ [lr@YTиI$P@CؿՄB+YdFR 萧F9 $d/QT$ߴ/צBAcsL%gh-6|{sq#(68&/ 5>Д@;bIOHtg`/>@vaHP*B*@.TIIߓW3" \L,S99ӽЗ] څZ󾊷i˭,LghSl ^"Nk#,_>. /*w*]kMh_&u;Ƙ.0pB᚞Iw&yTf m7j)5UrFD2i:X艥g"gD1qRmUI ։^SHx2 s7 @~i;M)CmPgj_^D1!RknF:C u7v/-+M65#Ls Xx < :B-"8…4rlX !ӕ|+䏆K50+M/_ʡc*vQ~@r 8y8?ۤ^nPMD0M4$ 1E<]uz RKbe1 v0{JTMznD) j}Is診X Ջem(Hq%QIVm(, JYzi!O+8%  6 A2+ AjB [GhLP\捩7/?w;@m<ISۧ}]('~vh5E Ze},4QPJM^ Qиn熑DS1۲J mOpeD'W2]bX򥝄jen)ԠAZ ҹQ{^Ώra8{Վ}Tq0 U^{ %aafhmRJNQa* 8.-HaG(i&$HQ$.4MP6 HXr>0I$0c+wX _֯O},Qwg]J"LYlTď/utOhTOM"I~=l#.y웧$"..ҥBȖRm~mg^IOgq+.%i0XUR0w9\E l(xƂ|WOեX[g $}c'Bd5,쁗cTԽj]}RobhQe,luZ ;#OR8wvh8&b6H8LJ*LMQ;^D V /S Gs:I!x%9TH&Q+kJ*ԑ}]/ .plSGR*㉠@FE)B5ڷI2JEq6][0#(L- mߓ~B#/N Sm3Քoҝ&Zm+kG BdJsOnMb82#7ǙL 7Uh判ShUrin2Ts|DMŅDD=ڢo`e l7!OS)rɬ +&b+SV_xx' /r( |ɢ$u.r~Pt-Ʀj`Dl˅oF:k ]/ƫ"iŌZjA &C.HFqƌt%E@*9,c+ ` M9Bj dx<=GU嵤oW!v؅џB\f^3vyoq6M:y-1W0ڂĝT1{]XhM/?DV#,4%_I<'VMD%ڵvYZDXEDVЍ] IE[Be@l>$%*ha+Xގ"ARUdcq0y fVW#O5M|(։e ;C"$ȝae&gJz%/þse2H+kE]YrޙM̲6jX M:aS[Um?l5pk I0^B ߝ{+ڳZ;diXުxwʙT4jI:hUV%Ņ仦5QbhWlab0fgFQA(E0)D\H! 8r&GM[lIĘ{(Hr B n4T jؙ:U$}rnEesy13 F'[^\q:Z؝&u!njUjPк4,5 pt+\qf$շ5 {*Ez. %A P|DJ\)/^ݳQ.T%y)wҝC?s1L.qÇKF>`n5U"/>QK݃XUF)iF:UŃnk*h,ǂdZT)q,ۀ:H%v}Ш3)| yQFU he] EDOLjaJ&'w1wR߭rKO}6jM2R -Q`5d:<3҄!ҕ"$ b_1$d;NSb Ь0Q EovYcu7ҿouaeHY_TɈǿ[TgO}!,&oЭ1pR .N/DòZV<9-x8/˓/B`WUj-+L/"H8C85γ!x.B&;ex?_(|rN߶u,Nx+L:҄lX脃p& bDT lX:FV'aMBPc';Jr`37$?$l ygIΗy%&ZdVgM[*C1SuYjwkB A#`zBU?ѝa,h5 a;:Fzd1Or a![թEqD'u,{eV2f00!./m$ar^J=ggM5ntP )I?\]Z~c,x{%D%. ĜT Zl̹䥓\üCѳrp@- ʴPh- QPI#8oUV, ԓ,p*F{G޴zܧleL2#^OX"*p&V<@OPxbxy(^"Cb"Fb}g\u<ˌ+_d/H2Ixnh$n2~;Bq ATf+a?/?u9OMtBN5%m)ώn:ROx6WߩrV E>Zq6$z8'-,8dyx8{h+Z.Tu=&ʎIJUEQPa$0pE @ 8 ơrG }8˯JQqgz%ޯznE$B`i4/Y!L#8ܷO3ȾbFYráKVVj`D[Pq򀯉#(G:4O9<Hˋulj$*R+ݞǪ1@*N *Jha33dbtuՄ^\Fq4H1"\^Rz`]2wQVL&-)m.tuGG^+P xR'Ykҡ51qQ A񍝃.,˾._D1n@L(WlIQ)rzJJaG(\HTM-V¹tS5_")S^61E^%x[3Um]L%D){ҋCҲuB|ȕ7+R0O)]YێbRbb ;.fKuz9G89yϦUƉx2C7.we $YkП^ye5^/VG#}) 4I!f*%bX217A&OPWI9X[d bPcXtM8,z (5{eil;F#H+Clv~*Es㱸DWXY04gWE´H 2Y"\2 4; lG+HmdRgZgȂtx9MlnJ,#,ZVw(l HHٱ 1d8F}U@-8"&<O 9nQҚJ܃)NJ̩Ь+ک[fr epPL;x̕W.Ć ܔbyR^H7/1"_^-½ͼI cE -IbE ޼f(b^ $ CS$1 C?j"X y-7uȟSЅիHy6>Ҭ=&l׳X-cXX~ m|R@SMAƹgZǷdr*UJZqeDs>L~\t{r?bC*\I0'&:h2BL) G^d]a |CU櫛\IhQ>0sW_u,z{R@ХaVObxVlro%Y!Uo +fO\+oF.NTxFϴZq^FBEŭcyBOn8"Y('BvS3ujvnxI~DkwBλx,h;iZd εC20`)!2@9 /Y1l ƦAv-b; 9OdnΟU<)+k#|/ nIdY,JZ.ܘ t5m#BTcQ5"-̀Q fS9[Hqd Hʓ@xSypFyZsH]Bd=Z!K5lAf [/xMZK@=S㻲Cv UE$&߮-q&t#1Cwq+UlaG ڮfly\qTd{SYz YE^iטEzhc.{Ih"1Q@1`'9 '}ֱ4B ky`F"_LoNոBG}Pdɗl+8:^`*dzm>7s݋t!m%=I:d.1A 0! % s5 SzZ:!_HyZb\cS3ZOOX0KR1-z; GѼ faI$딨"B[e)ȊAx|RguOO1ٲ\L&HגFeJ19"R5@rv7_]FEܗC[D Sܗ.q] 踋$F+j f}^ZЇWϹ[|^ȭ8 i0;T@1Y+2`U7jU:b[B3)Qjx5OlHg%=GNUn /bޥѵ)dYhn`NJBRm.D*%xlڙK0@F>~Ԙ1 !GH.q{"‰jG0e6RbzFx(yZfBHecm!ϣMR"[yI;>kZIu⺎Q@kefIRX׌xfCS}PTBCşg%1O1K Dh)9Hhmw,)U1 [U+ONvLRS6r*tE,k^bXV(ܢxX`!kkkP]Qw)Sͻ|MX@;TpAx>w:9L H6 g-; C*Bj[ G-¥FsdVo*vR4gc}~ee"ܑ5:~.EnU *xC6E 11-4(ksc"Q蔔b#B>lQDxw 'F6 JWJ& ]6Ls~t9B䰆ӵcU36=G"V1yN9a+#˳Qy~P`xJ+niN ZB4! hNޘxX8.sоt|P ;7ޓF%p^x5NJ ˟HDa̗pE&S竀JHxJqN)G GP7l򙛹mv,D|˱"zqK{XeF?\a:7"]W960(Da73563f7JFHH="|A٦SHG9nTN v o6tV18d:hQ𖚢He?vh!RM/lYfԹ~Fvl P{zz3 7T-71Hv~$R"dyN;clrANQuku9謅s_v֮a;ǘ'BAL!d) \?V$ mxd?̹N.S%u)/_DALhʒ%nE*"~*ˤxs/yTSf1Wd08ZɈȀ%F,X,*%~ d4|Bh #aʔMa'sV&Y#0iN0XV"rn-}7w!0M0H;?̺qNI\posWmcgG%]VV939gppHZX@Arx!+,DZd3+ 1ma( a_<6* "\ي!Bl}^9CKdRA[ *K-R㠇 n\mK,4U^XR35~܅ bu8C,Ig9P(uH|}mz,3oqI(ZEBː+\KR/"[GH]ҊY` k~b`j(8jšwn.B<+3`t aΚ;p eaH~ZP>usAZ&78Am+u ⊙Y[5\ ӿrzȃ&Q3ThdBWE·ǢF\R$baZw^ ܼѵm/_륖;a,EBC`$h   eMAdɛd8D A%M5E)04jP Q:T)@ҼyQW[Y@vy`1q1̋;x DA$=2! (nC.\;5B"LfT}bt&ˉYh-D5f羅O`$.fyO·jM 5hg) 41`4A428!χ+(*wni-$: n7T[K')#P$f%iH%9z"d'!BJ} OT Q%[H{i+TNk {Upj(*hV6S/J8D'3wF$3UM$(0F)f _ՋrFmP,l)Z $Ґ_]VCB! m I"" HY_,&-鋜|d$sP7~Fnc(Q&gNo4GQ7&Jyv Q==dO4;07?M4CVS|- 6DˏWo^^Tg=#'*(!DZ_rs3;IʱbÓD/O[0UKYQ4;0M3~!zTx ƺO˺yZ Z˳y:g }谦zaZ>e=΂0`{~ g3! `Ih\ IH]t%* mFs ZC)V<(\Ջ!k y5` }dɁ6*%C"E(Zf܇'9>yت2H]WZ78KD_ty\Ϫ)<%<$k0p\ U>AI@~[ a{iژR}[7cUaǚNec(YazB>2{2+PwiճS&y]^D+Kラ'w7N9MPa<.ɚL8:_!wf#DFƇ5(R&O('kti:JWW%r*RC(lsދjF a?՝P[Y(S\ػǐW A \ ?£Qf&X,|d 9~]6 i/1MM4QK҂h~HHbԥff'oDY;hkZoVH*KxcA##~-V.6€HT0e[OĵICgӅ@hRX=cJV)%×ih3`T 2IhR>dmeJ/Z{Pebyy$I.F4 PLՎu'@G,S/ BjE`TN]dNFaɤ['k5RŲV%g!GuU+}׳5ַM7L g^@ms'BD4,QqI5GC@.j*P~fJa7IZFw-U!?& X3(6Yn3| SIj}6ƅE%F B- ! V6F2nPy'27ڏ*kꤗ z5UJ,}q*6Faoьk6ݨfǛ:_hTu|lfڲ$v2;/@Q׽fEU\k.Trz%LTw##e2,Gp-o)/bc9α\a1w.sEL𴋚":r3B_gti9,$hivᆲo&mJ,3uXKjX`wZ"0/=.3-z)$(#)T@@1(d nfwܹ7^<@oJk۾8B1o86]5pnDn?i^Dt(6Q`Mҍ=0YXI)I}X[nhO@SV(G$@>KU]_SI_(q|?3F6'Cwn tA8vn{UH[D;S8 ø[ b%[,Yc 66j-q8mzif@(/ &< $dqPEU_G¡a',$&g+qJHK dK 7jR)ȴ F 6 fg~BXYϨXT2R'ҤcO6} ~^E.‘^*Ϋe[#TuXcwCWV3vV^Bp{FmsY \o'RưP*G"4)Ktv:@6tte ħ]"Ta<".&R H-PJ/beXI1il|+^7+9ߺTeٻNmt{ H<.م}Ix}y!xKؒ90{8Y_NLM0$1Pԥꥮe 9T92քĵُS Xwq=k]oI׶(N:PIXݙR2,qڢ\\B¿b*@Ϟb|e{GPQ9U[/<"`Z+AYT+;~-FSE#+a{ g3 }0Hti! R υ#$/p;LT1\ȭ]ڶ{5ƮrD34LD_Qo7򘯝'} e͹C ew\ >, ڶLŧY,bcs$ Fƥ*F\HP HٮE;jĴu9U%fc.DBɫygQ.{ӭ2&UAUK|IQ^U?5.a%5 i9T̒4?WE!+Jv<=ȪQ*e&Mj0~V/Te\fƶbЌ?l+/^p^h/25ۚ3YQs4.^໕VJt'6?y^ѪPZOJ a5?Ỉ9Lk-%eETk3\oz"\_dtK9w"q(C`Mx$3##સaЇ?hmHFg{:Z0Kis- z ;*!..#HT+#Z'8_NTnNa~*C^e?۱ er٨&"Hi&양Z:N*Zx50 RB$ek:84 | ·3x7,D ⿸]>XPꫭXr'lKݷt˫LKWJb)zLB]!#}BULm|W=s%24-oIP-$`UD E Dj'8a_Mh*v ;MXNY; g2s7Ŝ~T3Bh~S۵^&>1scB "TckE5f*O(,ykgɊ ĝ@G)IFgxzBV· )cZ"ՉDӴQߣֿC6 TAw;`j.HZu$l@-03>t1LVM l!l ~h2*xYEP}j.7`޻a@;?HƏq#2F;:xŒoup|!<\1JmV=Fdi楥(buLxAj T2I#|IIIB-VE35 $iӕ3 peeQZJա_MLS(t$dج64%NȺ1GrFiهdД 1tIܑ 9Ұn#YrMx%5DGbbM:kU70˯vb`?=BY·Kq Ö|57aXݾ A0VCWejvhZtرxJFD8ՐQ$D9Pv 2W='̶nP()" 0\ǽ`K!'wftlֽ[ >+P!Xo4^[T2֜"aeCm/H뛸[ȾNf%u![*U`I`ąһk$b]X-E8z4Z|ڍD Ɍb1!og?S'`2 rNgԤj{,jΗٙt /! t\%C{m^_SʆC`?-*>dt$(mLK902WZ9Sc'.S|"~\Ž@ $ 6|{f$Berkj-dr)(Vŕ|q& ¬X<j=5'$m@ElD8"e H|Q {5*upa04>'n׼V7cn%LJ&lRC-'c* bT=+NEHʁ:FN-!Ho4;Ei8X`?b P?$0N! /Y^=eJ_YڼГ;& ã+f#¥d*RMyA+$`.uW3bڕBDߪ hhQPmqBf$+ v"}Ty X !@"Sa@(1C7!`Ï..H(B3M~ +HۣT6md|9J|DK-83z'vpNd`/OʥXLÄxiFBg /T9lv PM(:52ۨU'Yȡ6D< 0-ۉpIs8Jc142,BA Pu^ W)$vQJ" NxN-ʕ"̠Jt1*gB@F63"9zkdmyɧILdۊ!fsiH0ތ.Ia7}.x^4U jkGr4$Ai\i uW H{Ҏ\_<ƣ+ڭV6.Aa+QM!Kl%dE4dFþmg]+uvrRԺ4bałniNpB8ANVVov8:e[aCǶ؎AgyXGnK!}kr_`gO`<$ϪGz#؀{V!nE:ffmS],h=cPjXSXܥpq%x֗,Uҝ?苠KRe5<$4vEZ0RxL1 IhMߋ +) (h'ygde[zrg& j+JK6:IE>7*Zz T}]twùRW3ݑnwEgmq .xPK7O@֦3'JNߖS,i7aPV:} SU h7YyGl&xSH%8 hsfxz]1smOo)Bny详:d ZCukp5oUOJCIjBKC)5L#*Y<e&K=l~[djHYnP&oڳ^s)Cޥrrk(\VgN߹Aį $ )@ο(ݬ5D/י,#%(+UJ2;1;ۄU3.w됢b=4o|3Ⱥć|w6'sWA}Gw63wNZcѲ% 1-hfڏKN N#{.*o*[b+zǻrj^yl2oB.r]1#*H*RMDix ߸1 e6RRdb (S-lu;S(#!$Ɂ%~Ȏ.]4!. o*gk\͉+ Vw0ncM֨! a^l\%UFץ@Z`0 sgGl.gܴ!oX $iԄC?dRFjO͠@RE _)V%/6g1Cbi2Vckt?whLvEb?dÜWur&3@yQRHR!8Ɉȁ"H72.2|Pj7ϴIo:݊8<\y@Qs)M*M$7c *Ay4Mkj{Ge:)jo&pؒ4TړQv)F+4  (%f+"c$ch) N> GiTaLEE/'2b 8 Dx7ôG+w-VWkJ|(]=,I5yj#7ӢL,<Tl^)@5Lrט.K:+7^1ib8M#Mԃˎf3[F@/! \#>)ӔZ`H6^TP`E-y}X~Sm0SOiK2? J B4‚ZLWi'EjWcA֜_SVJ5В-ThkbwOQo#-: StXm}y~O#Ugc*x>.1E%1:67{gljc6k6Oڿ0o!@Bxtʏ+ڡB,! &suP41I7rrg?a ^'2b2$vlDI Vucڪ"XoNo2X&qz6RUpn -SM.(y P #M:!$} q?KciI4g\fjMlծwį_fԢKF#Zfrc BSAzǁ%]%9K"b4zuлnlKb bT V BʍJm%ڸAL%(D*ٛQsxi!)w"%K\$z5ZI0ʍ< }ToMQYTA(-(H$iRB_2X% P["HQ$3#uƗ=&/W2K4 ޤ}ύ+7#,X˓dˑ)ꂅA |&??uҼҌ*d++KؾQSE B]y?o/ȈAr"eIUi6LkZSE&]Q9Z6:Lnwȓj;JId3D\K&>=%*O ?{p /  )GF_< qՕɥ}T3>-2IĞaau5A>elkӓ[3@ BNo/Hj-з!@r#}Ȫfدlki[uuq.`~vF{2Vݥ >?7gn4`SiٶwČ53Y(H,|ʔ[:Up 5:yGC#Y_(ҶZeaUIawYْ?D+ȩDLb7 8'!#FŅ! P>؆`x~14 Xn,踱Z,jY)Pq#\_/W+0&SdhꙂB76PLxc.i5MDbv7˂Btpڂɧ,AQ C?YMjrCIc(P=m^3XWLvgRY:]t5gp9jc! d[AПHܝb{[{55qb Eh `(1x|SdÆ@ُ !N%F]%f ߇Ԫ]/L%dM yrJ]ܯ&A^AD24ܴ%aNvg 3= c*a ;)*X;hqa+TWh%&rXԃGG膐LrїDMhdxfQ) $(jETo$I(wQ Ph 7!:=I3z )Lng'~=JVR,9{Vo& oedh Wꔞgn+8LwbfFÞu`UrJI0F"MPsК,Uj+ƾ?m%e/}ZkԘg@RjK||bg :t۵,h⫮}NYu1XrVLpJ/tsArC"|tMa(ޗsj Y kU)#猍-ԂeE$c Jf!edʘ(۪{p4焌!Hda7lԖNQ_Rk%/JCt٨[ý'xUrzỦ94̓2fc*~L%pZsZkB"_G9) cnͤZc9pQ ]1IΤ%NZ8ayx[9 ݔgy(eT$k{k5Tz+whQ2㬿NHk<Ռ6jz *e32qS 3#-nv#;洰XH } C7_,@hW ;w&e ɅHqB*iND^O+Z0S!!!`.= E(SHTRÂܰ-3 _Iǂr* ݔSͻTTDd…޴7dEKE3W@@BR;T~Jo}@î/ \꤮:)'%kpySru|X8\NKK.zfig2›LCqw%=ޅc k5eJ@G/{FȃcLlxLdj&b1mǼ1$E$z ùUEcI`08&XdU_>6o?  _ _c a&|0"sqݬ9wDK"0U~n$K)T u>O}RXy\-چG^Gx{M]!Ц*N.X8j ~Hw"yʂ.IqT7/`BO4<補_Ez [0!.jj6EԈ'qW*m {qh׵i+98XI &,)]xSpB29RFH1*kˬD PHH ͓ xxFVƹW}] S M+n AYGj@H1Qެ}窫Ea;0f GB2yӜ,2R~TTZ ]>8E297@]u.RtUf(gFB#rEyY#&!2_ҎdM _(xC2DaD0$Bo+jPd޴%m CS7JtȡҮBl*8e/j ";k _SaKKVX_kIEJ\ȫ͐Z!I;@fM؉(B&FէrdzccD\ܐ~D$"EWXLUС_,Ǽ?`F|f%iMO@@11T!ð9VL ` R<,սիW:<ܻzӰdy|l$d"nX:SZe``P{T5"_tv`*'&8?cb&( ..QT#:VBKQ;r?h yQjV5der['IX. VjQܩI49|\Z&wlOY&*镞-plT6"̺G҆4|[,_H'T>"8hBE%TPKI UGW|QW,G- _.M&ꞵIޣ!f/`F턦d#G3h.oIP/yjDxci27dݒ{)ҙ?aQՋw*&Jُ eznG9(+T[VTGfv lBZ"Ndsv\1Y _#|:GHTt pIoNJ^t73c%L+T-jp+_ֽnA,TP{Vr1q3/ke$#ك!acӈ+0s0~CQ@g> #QD `aN}䘾!'O:9.wGW]E* ˩Mt8e9&IتKjrߙ C C+ꇨ]hߡsԥKL|~Rׄw 5Q"oF(uA?W&_.[Ɯ6hSvA.bE4VͱvI@F 5Gn, hDDiQLRn@S4`OS^%A8p }-Wqr볆>'EBŅW<@fT}v\a* Nh*{ZBl qyb\:RNYP3^p|WYf ZIiJtp0{-p q! !r#In'6e%"ÈҊ %݄)6zN(iEzE/Q %(+NҒJ3X*U(:O.1$bDIj4P>5qqS)')bM_e)䣥XCo-Ɉm1JR\U VS740-$2Y3̠fv+郴74|"8Rɿ+>i$"+LnlN Q`C訧9I!VfFiR Ǩ4J1:IKp:q FS[`&;o^J K+2/!TLB`mޅ,YO mV꿫yݳ.5wGvay NK̼z šLöZ/[ 50NۙUwl9RToV3m,a?Rg/KneJj&l iɱQ&08PIM>/&==5_pv!M&v|N,o& :XO9ay56J X%؁]|I`Z )mfq a"BV ,{H*~ 5b!?7J#zVƦۗvhlWT8WRٹ);LəaƬdB1wa>9Jcꧭnf\ޏqg;tF)>"XtNh|_uV%ߊa=`Dzseڌ&ֶQ$gq khj"ر/3aJb>6gt5`).\jacbwW X7P-M_ IIJ*Yŀo4ha-]BL6bj(3PΎCRUJ#S$D[j4+&r&Ww 5,Fڔ:BJuZ{>߮ӶkFK`]U@DH׷n^R~bKf T,6D$JEj*lDD$P$ZF$b]5M(%ªv_3#zcԆt$M'c_4^-br^Oh'ם"Bq Cf[%=ɖ8$蓣k`7sb'Nݾc.`Z|Jk ๆny"s؍vjdeK}؅zUsxnE:pȝ)qFTQe!g5n:C0LU;96b;gH&W#R·bqp֋ G,0VW&HҰ>%,`J}Q1C'fx qwgöp&%>KwT$tyZ1/nRu5s cz)D?4X9;OSڧ6O[U!O~L(kBkC2䔁=d?>g|HPHN\51ZA3V0l|,"RI= :Q,qz#E 3(Pjѱ*zO.'*d51K@IR|Xz^xᝧPa3˂\gd^ t9aicZjՙ1Ng@5>Mܟ/4.^@-tbK2z%3[)f2ӆ[}P̒*r6!؋1_Q0A@#}aFgZk (hĘZnZ- +a4SQS邖Ba|_Xdz[J25̼t ^x&u3+9ߑBА#Z䅕vsuU+|~J̛RhVb"EBlS9K\MYnyV*j̀ɂU$ m^J8wve4M%̨L׋E[ZJ鼦#:L6.4q^DFJe@ziV<5T"̂\/p1S !q 0=Sݪ^^%n] =WxOxrjxYJެaR ܾmtQ-l$Nj{.qh5 5Y;I؇jl59-S|Z FL)*N1R {%_5PNKAW C(àLNy g>dQyB.靠U˘jPii?Т, ";T4(ɣ%1;KpPQ3tKSy fRb!pKjN4BtC:KκHe‰ւ)XNE.Pp0Vp å( [f6R`Xǁ!l zȅ|PbHӪndJ6#a=Yq3XfpL$J] ?v_Aj1&U~F~ 9bTbҹR~o[RߕeN\1hsi ڕ=FܓV!6.wd5> 0'Fcs5a/yUtFKF`(D'ud B@S`F?u)2} AJ`ĂR/G5?D" lF Sw*ͫ1h~#Hc?'hNJ4; DgP<薼CH8jWc9#OV,:<,_T=IHQ#OPz\Yzޤi,z1dgp = hr" Rt>Z(>#F7 hxoNܪ*e(KO=-Xtw/t_}\TyoxƄilTe]iI+[w-+l E-g(87 d?L"2| Wt$?\h8wTTo# xm1}o1ezM%WEKLoCcU;XdLlYl3-~~G?jϦǥW"VMK{|OgxwPD %g8y==FtC:tId47!5R'^E7x97?Ў֤|R%fĀR飝Ԭr!@|FB\O̭JH*޵ v{"*sȪBMAoQgTRM"UTH[ _Mi"rg6MdEeLKN)`12 J(t;0j&,|KcXBTdAKTe'[p Fa?6,c4[?{$Hcwv"qVYD&f+R0#y]YZUrQ+9/Dk+¦pt[,n X%o5h{!7'.wX?6C)I`˒gBfm``Z*S@@F19ys~ӹkD[u٬LʻXc&s+|YtdTEZ!,TKLjy*Oy\YI- @S- y*;d&PB"#ϡ wPi7 HCӉJVN/FzLf6E\^/+ *aV>2Lw? No3H%W=C?]-ƌ UIxTFaf^jc.P>l[P81v ։b>6HE#@H A;=u~GaX50&/؅ifV!hp%j5d)XM&֏}ijV4G}7=C3 >"Eͬ&~j# Q(S D"A"_d(IZcVzޖ+fݽs$;5hH𗲒ZNo RfʾTZʚ5w6LFˈN9@ .rh-C*/)Hf&鉔ڙLZS2Mϸ[u (~a:JxZ.R6#$_-#e7$?GHY?1\(Ao BbUP~BGg0! Bcj7T7(m)ҩZ ' 0&Jf ÆJA9 4#N-)& q2RߐōL'Đ_rG*M9M&jP"5^,n  qc*p(B HKecJ?d 9\=v *EJiA ٪ S!Wo[R@-mW MBuVWZLܭ.h$G9b1TvF,9 {Q ޑk $VXYLێwE ;D(lB'Jt2NeE\/+f$IzJReND%*.YWqݖ^?MA1BSHK ZDN_H[Bt߿EHv  ,a  1 aV# Cd\1\CL} yD3Y%3ţԻOxpϯwxDˡ40%T5TѦL8U J!C ȉ,'m:[A5Ĩ_"nG:#+8ݒwW$rg)P~6 F>F4'T KχpG%ylձ9)gI.VtrۮM")7[ښXv]Q%HJot`_ZO7\F5TqD˾@%5Tc5~(ec95~٩$MJ0HTB32b!5tTfWSfHdd.p%9$ eh[ vLv 4D ZzSSh.-\,B!,!;$x)niƣ̼* ڗޘMAw-oT"#L%*P#sk锢uSA x[I`RY830k5ޣT!7m6SJS^䅫(lT`)XE8zMYPYd<:V$㱃u r)qU{>hc-GCIm[|!,f%E++.E> ˸(H֙|rY"܋:&*:j|J W-MQ&¶-R,eE Gk8@Gz M`q>rŕ,(aPiFnTX19|%mȭX\e5qS#yfB6IxIj(So:T&Qk'RDk%P҈d9Z?CDS`y+h碎(>bsF\Xdʳo&^}|DŽSl]ֵ/rg%Z[8s!w, Lw!:Q4UՃ%@KV`>BiF>F6e|H˚S WDUkRS'3-IuF,wiEy:o6 .-~&DS"!'6Tt{V mt m./͒"0C$:zhnSK 9$1`ۨ h67%zYI PSY*0n<)7TpGzaD; t'XZ]j<YQ/TL,"Uz"#‚u@l k 0yŢJoHL3"y uR0¨➘-^4KjPYŜ>4@h)'l*4ұEwEFNZ; +[T?^҅ tbTu#"b (6.~w˃a nԇ$N*,ގ A5D\]9MOd*p"Ў *KM> Ab$HJ3TTe؄,IS)l ₸bAFo*b&ֻ+qܹwd_C-iӫ2w*waoNh&8{6:zΆ$hFvD4̴w$ъQK WLZ<6\Z>RƋbeB7sWVCT+է8h^!fJӕ8Jڍh_t+,EM]#E3^(psyuUOPR#g+oMAȡH>h9(U%2Drp50&%.b'Y F1"OLr6 r;],`$M+9I.j8}W~AǨb[!rFULeя_ڇQ})78*!J$adyb|B3MI*8߾Ymov1J&ݔ G`o7ZD)G싌 0 Ie'3CFcn7LҩEEՈJJ+ vgxخ!@si;1YFSSvy(Eb)%rMݫ,ݷ ؁#9DqTI"-/P6uHktL"{e-kfQ#&qޡ⚇BOXP{a اlV|T?5n5Z8b'jx]2rYnݝ/3XtV(p0A>3E B4By[ŠPӖ/ZCh.f,h$4$yJNPVHe}< je&;hA:G\uyW4u@TŋD~ (X|?8ƕ_qʀW<4)uOhE2³:)F L]=rޠJ{V)hy%f'KlqSV]F*j,/p덩< 5k*$rjeJMn1ڕ+w$Y<_ 4M%}"A3%Q iv DM>"D(%!עd:CHu3XhwDAB, SFO+,W5DT c*([^3P`( @R z*q`& % @F]@)/Z#! O9kDr5|0&5 FK$_c=DZ0$AdlٽҫI%ʞ #'NS\cVe*<$՟,G&ldo3N^O7V y);g+`M&ͺsii5)hȐ?z`U}eQ)Vk_>2$̵1* Ӧ'5SHo7!Z \T8u^eXlE *cfWH0HYp5 F8c ,q3iF N,(ϐh02j-9p$a 1-@S Tqa$+U '  YN2BwBM* àfl1/&U"ub7?bJ2XLG "m\)1%B qBAd*@ݙ Q3*v6m''͜WD_Q<~bUEnm҈غgDOV~j(Aԍ !Nio\j_|E uJzmvhRM%!,T`7\PJW4%WQEYdW18"OZ(졳Zlh@I4 UG& 0!F9H-U<(U͗8)aLceR1iJCIgݍŤ^f-2-H%f1\VG&HAK2C 4Q)ͷ~CDbŰ:*E,\ cm0LeToL1Hʭ ɓ&e>3?rNZ;^ .Me"4HR=Y%>3|2ٸ[g`Mi [k$6VX~6=ΗNV&p/+9zBcyt 9NGLhqB9,Z L~UIT a%ۏtœ,IE"pI  j%6&ғQVȢşTse:T FM-( yxѽ$'B Ӫ-դ9c)2Xz[Vfh.NTTJ,Nb>6kmHȤԴ+eek +v*JJ`܅gqh|F*liMH ߂DMJMmW.#/a݉/-w}fWWOE(wݲ#GMxEIį%ȱ+`*Ѵޏ&LuWi <ϖ"N;y%ȏ}z)r8wAuQZ6}01׷D֠/ul$5 hA3yC$Cs$J˱Qrʌ#\VX( 1z`"O㑑'(fe V8lp"8GʣLUZFsBJ+sPlծc>EhR-  }V'FD4,WYkde)%jxA$EՍҋ9BeNO3ba&aEST(Wpdb;&X 䟜Z2]%i[$-d!h.&Lť?d|˒)mdψٕ^ާ%P_$$dPe:} wry#?9vDsfҭ!FJ\z2;DUCwsZT\#.bRG.WR{l}zwi/|()۷"txbU~ɚ "]ܝfMko0O$TsL.oL_+umEFQ. ;Vuyq[jwWR~dGm~H>r3ۑd sxeRb r(孋K?c7j*Jbbr?e5$~/QGl%`/, ,_2&Pʓٛ8]=?UOI4h'pB1bRk\ S)RfI(CDx΃bE?5(=KE#@í.OX!fHԠ6EQ(ώb_}JΣR4)Y>t5|Τȓ(C%X*ϤZQطOPں3o,րLW\"),RSH̽*d1dyq!J\A;W=_$Nld%9kiŮHv3k,B'ކ[n",Rm,aD&4,]I ɂ̐PD7e4uyoBJ^ߞ|0mݣOQقOqz8%RZܧM0:6c\:q\x4i<G* h8/`Tj^.½4izB+/̿!'&B}] r[: lF6MJt(xLP10]0;E"*H'7'CL"BbtFReKy_$%Q"|o6$`~d9SZ 2Zdzۋ".BT6J_F 1=|":iVQN! &*gx>$U7olaҤED 7¼sf$) >52,jXVIZ7B_~d/ʶBHa4 8&hQeB,ؓv o| Q^QC|һu4r ZՈlk@ \ŗ΄!(ke&Qf5{>Oi+ ]Ƴ /NQ*Ar6HlMDd&s=;$67bf4یA:uu(BVkOg1oe'*Z(ʯ%jATmBs4QZrڥ0bh /'bUԢ%$bu|E*Y|:3x҄Mit}0gP] S7mo˫qHf#Z|iUl߼@!b[mIe*}Ow FFkyL~.KzҬaZQ.jffU:i}=j>RD7bs=yQv}m!ƈ_5@%b,؍"L/J;wh>ˌ9YR25K8rwd6B/D ZV %‘uzHs1]QpJ^QI七 e^?ntWfm\@-Ȣu&} &פBXY_Ry6K}koC5vuJ϶7c{(xίP~ENMĦ{!*# n=/},ՐXÎBKZ ɫET}h?mc7۪!v.@!,U";'я@6 .f6ufRhKPڻc*´hvXƵ,\HCIODQ"5◴UO霮xWwrL5򪑷o=EgikD EoDQ1b-5&{:'.QA:l>(]#)#uk/ g4QJkb6MgücC {G\E[.Y2w.2njqH l- K7u"ihtwtsоHVgD>B\lqȉuFHxF\uTݭI}H3l8BAISD{bVi_+}TM4zUmjAHIspǨ_`|4!f~ՂGs3hK%w3'3j,a  ű]-КVѻ}fT E[=ʼn>҂$roh>1)b:Y׍ε@\,64/YsNEd },Bě@Zgq>Iv+WW>MJNtw%D/&88݉43R4Jm,[E9эYLdS+?VYQHA鿑b.wvq 0S3f1 UEn-77oY+BL-ճ1|N)W:`%&E0/tY^*Tq63bhKHO[h&ӏX鼬Zi{$B|UI9GlGȬՂ)G ʢEFv@XV(N3ΖeN!L,fy;J,Jjd0k׆*Nv!ן"-ީƤgZ(;vaQD֯)Gd!wDlK⨘Ux0wkz^Y$NejlgKDU l%( _bB1?x3[1 n17c,Uk\ˊAZ#Spb)q 7aL17ߢ؆)K;7)E "I:S"-t8Bmȣܬ>u#H?HF܋ 6@=kKAM {w^uB8bcK7|31-|$pFv 9$~Zu㝷J@kDYJ[I#&X%X+ޝR& oIU8(VE'kR&QIѹ ð]=SAuQ nhݷfUbO6%;譩 X@C3F[,$Wp>ԝ #d/bseP0N8U/^(Dݭ#M IW cN8B`_Mht$Mt"цCS2/8ŧD6[^,1PY8$EB ^IBk=ep$颅(z*}_Q Eva-@RExkzCKMbfW-KhRIfpH)`C CI+I霬ޓF틭 (.njj_;^ǩ;Hu‡qd ⵤNIȘZwpJ*ԾpbY˩AڮmDyMdW+PfBEjGīúZHI6eȺИJ\D)+) 'un&eIUOܻedK\'yHi׭5YLjw%FSmr>A40뭬DDM ĒeT԰e.oLևDW Ihwa$ZIu)4T9+%ḅBL s-brizJ4v13FQ{Z`q϶*D-) OwjoDw<ڿݡ d-(Oђ8` I3)Ö9IFL)ʹ(%!+ܲV7ĉb#KJU,N@PnK1Yu8#I)+\"oyӊ◗ť`9M0|%׫NM8ܣ߹%,mMN^sb^_A5[9R%j aZaXCiT,F%GYw'QgEJIz,Zr-lQ1(W,<C"gjaD"_z.ON3E CAոcq Uj8_ZNiߊ[a4o>iF(4\M Ѩ6ְU9- SII~+`ⳕ^ټwkiJEjYY-F_79ӛ湞ڹ ƙ!foUa߮ň0cM.ϲ1E%c.cl-8IQ |Bf#/He$ Uq6Y/ucZpY0BDz8҆ysv%ӷb)uCoK:IX7Ʃ6['VˊUv=qsO&t%9mX쮔'EM[[0X5)٪9f;ɜfo-dF jvF$&LHwQ [ 9oCEyPeFK9QjRՇaRdfRʸa8 x;ӹ9yk| nSl4MQ}L=磞-$Pߪ{$L7VX\'7>RBY9֏6S^BhW{~Mʱ GҊƹ2H걾Mg\jj/hko?zTV" J\◤ujofXoɨȅ}D,2) (PČZf%<9 hmD0𰘞 >hCv|7p$L bD_M4YT390@Q.D5+}ԉ(A%bRMselϮw,XOLmf ɢ,9)?Mc=^VD ౎Vdh{^m!"{N@%HQ`qqX@[Q<01R8^Le!v\Jn Ń9LQB=ạ$46 !%J"bx[<{^P$҄ ty&%H^CeDxv$,c%l(q9g#A'dYũSKd1`]ԁ%xPtpZyhrԗm(Qbm/]YDR\VFO!J%ZdQinDK***#F`qԣ]eaiBϗMb\@`=@%frDl( L=$`hJe[C['6EZ yCkF'")PPq*U`(2HĀʴw>kYZEA|J0DGt%  |-\_HĩV-H/w<\RriLb)|SqA[̤^md,{p)iyk Aq=M*(yMO4Uaxaʋ0N0CR8Ě%3,WC6uztd 5B‡v0)C1SGL? =DJ* `PZU%[? Իa0`*2\I w‚)h6},;#\uFS`Ȳ5c"S^b-ƩGDCn5*uҲ1he> f:Jp1`ĩ'-TrvN{j O+յN"a'^F(Oey(!,i "g/ ]>ŔF[[O? qo;3=ZށCNg]gu jKm kvxi)אIB8dSpp*G'dl&D3vd| -YzĬMFV`V/߉,EqK2 RB! ʵe{ّѕ!uXJb8VI8CPf!Ȧ3Q:{^.NO9jTUG(CRmY1jBުTS_`JʹBylR1A1tY1'tB]tբƻ *ʩGNf"z'kcTtB 9|gTcچ5G1q':#VKVvVU͢{_TeLJUA F0Ll j6cl@6c+<](P5RJHhzTb,e|x%Hsm,5FsRzvB>Ӗ˸<<#ØCX"hZLԸbJՉObId>53.Pu!e4J#Bk4"tcLJs=-:-ZՌύ swE9SDqQMÌPUԦ=^60 ځ6VXrD+M3L3SA)xИh~CNq&wYbv(M o C6jVGmRXHbPY(VtH֗%B'ռ⾉~9 @f R6sk[~ݯB]gi1Z? `9>e s}QxV$88A/f "U"II*B:NA!WSB{V i R% Aɺ;( X9a's|!DHzx_P# -^$@4X,"%S` `@=)L`D0 ҍe?DX-xSF<}9qׇaSP;r 8o8u9'F 6 0̦7\B-'k(@ `1ɂ%$ytHƐr4s[ 8,.e9չF!.7d=@zLq$Q'd IEȂ)(ja\G(yzpBa? (o,8(FF&?+8JXVПk AC=؁MSa8O8䜾a-$@ @Xm0QaN*pRdbn` pQ.xfC `![…|!84vHp$s)Qp͛+5*CN, -Ť]((v`r`CY,0,<ZȒK-$ǝblQMPOd5 xe‹91O!/ilQ~E,鮑PrD 3?5V0qJ>N4RHo-E a!zxGfraIIsJ`H(6sX&wHB@ˀ8N`D AbZ_9f>;‰lPioLDG4jcn,|F640 Gy >Xk&Bq^Z$c&9)/`ANSz4 P)4Z ]RWK/0lC8L(Y/[`(Bh)lq[T,2ϐhE;`.Ԅ/0f-E[$=|! Iң״9}yPbN^(EX1Z^b. $CNVW$hb: 1p>!7C8~SrD3a,I8y ^=$IN j.pV/|)sFZ8 Il A鲟@ $J6΋)1}塽 B )> `MP+ᄬ%KPH^Pc` 'z˕3\NDnq8mKϛ'!jy}TN(gƔG#8<(xvy0Hrw@8CMERLJ =K֊<Ƶ05ĴaĬjm/`,#J8g;hJXF@JP.AY' kc t/H\ZNsFjmgsr^|쇔 4$+3(IHke9"1q$'^iOxk4syJh $T{ X"|5vgxp\5J,8`0jPP %ǻmY8eKʑcH+(kbM(X.dZqx($Qu;Ys41K+Zf-f{47F( AlHljȗ gƄu'$;>F*/rm!8ssLCSC@bI A[=B8iJ(bZv AA0vDwe]F 0Q,C9d=V8\)Sp-"(r|%'*Eo%@#4  (d. LǍNm:LhX% h ?.-' 6vE&w쪜k!v0niqG7uVOSStq `iGhQф=v\U`dy׋> $ {gɨȆtӥiE9ѥ%+ (:%[YM*8-k%)Z()#X@Šk[M$IaktruQ$/Ne/>ͲƸ^*26TNR z3*J]̫oIEs%PB"]ZrϼJuB"iQHAe=]Bſ^ܔjbJ&! M( ԧ IQO:mj|zr{4U袪[ 2Km}Fc@R='*W((Coح^5V!Fj] #㚤s盚Slw*SW/k\ !E71TviQ?֔Nʮf L}0Dn1_'gEHn2UR5{ž ݊~bNo7$ E yd`5neK@dXvTͲ P6md)žZ;a! P0X2aEQ^bBV!jbLB1Sx@HAG[VU@uHhFjgAΑjqs:򨇦tSQ (HaG)D^U( E|A{ R*Jv\6V 4&\dv196~bp(XK`57L)D!h%M?^SrWHĐA 0ac?*ӰʊFA%Յ_nčJHCrlXa)N51jɐJ8.81vr,1`)iK5|ME sۊ pwK&O3a5†\RKTG J@t)q13P1{Gn)DGc&L8zgCy?8K}uόVS0@ `쉥exui*T((9O8R)Md 0F0P #V`< Veup Ykf擔WzIZe37{+*)sobW7,"}mm+2Fd2s)|^{SR^Na&uzqu͒2t Nޖ`dirxJ,@QjL%C4H އf^&!S^UJ\_"کl~}+:6Ud-~'YsOعӯszQ]TrfWת+TF/R9D NZ~DL# o!Ov #VC)$i|^M"#EeECBk"|Җe!,tHV(zZBT3eҩ!WLP~̷w3۟Fb}LDT{3ey>f!J}O'"h bQh2;ڏi3e,.3ubY>wYIz6L[YcF,l&j#n}b%NJvP %`!/#ҀEPcg"CEq x0PQ"BK2*Wp^_'h' :I9#;d\O VH0d;*P})۷'/^I=MukXm4+,^AXA0M!Jñ:E"t3h3b4i4F]Nnk߶#g7uO1;vţ$.>ys #ao>% j$VǏC0Fن  ʌB%Mn;@ƈ?iF֮XQx KdݕQ+t {JRe~ R^Tȁ=e.4̥C T 3U,8$`(&PZX9A 6NlT!4_YFX ]ZR~&asظ'=s$Ydq4S#`P 9Kg $Q:r!VpIwD?HS8HɚO3ğ02 `ђ,93Bqfd-2T-IDӑPP*4\d (\ZI )eފy\ XqSP"dahѥͻ Ӿ#Aig֏1'{mPu0OY5Cl y׬7y,bl7!X}Dr(7]BXc|c `q'94D iL#YPy4ְ jŊ_/ [WM1Q×h.8K|%$LW\ċZŦ1<-m5ĒIɤ4 - mPأ*O#IἌ0[Dz ^|B@OWɢUbh3 qJCMCKR4cه(D 1'76{1% 0kP"I$xYjͮ(I(.Äu ɋW6hJG8+9HH^cS#U{BdD Z@rM!#5PZtfPP-P>Ƥ) OO?V j"@䑮 hI'BL %N0i 6˂z¸|,LIkm;\/,rۅM*bV*^.s"KW5d3at %^y[o~s1<@ڒ^L ,Bؤ9:3H*Mť݈,Cª޿^N3DlyG (@,RYϟ$(1Ї~.Qf!-Ÿ4!SVMd[V [zAo r63y;%}CY^y|(GA2WvLд!I(Ph4$ S$0SDC(tBE$rHJٚ@͒gTts6֢K8G"b xU(C9,_q +uTB$˩Ρ43+Ol %Ztpw QFi kFp"`$rKaM''%Dj~ G ,ia *W%z'fZjj naH ӬJ(ܼyLe,$'Ӥ0BBڰ#[FQPDXOx<`=Eǯ"]@%o0JO  `5spj0v@ ZŜ} $pY&LdC[afvjrV+B(y'!fAlhT(D$)DRiA)~.em 4qb|48@~#D=Q#H<˅fB^@w*+" kkU QSV Qq[OPcqgX0(-}s( OE6[NPeV()ɨȇsT84**)'%"&#Wb+_ʂym]'ZS{3(͕^lvY%\&0uMH|y.Da%[2  ;u;ۄBgON[tf OtIRB8Z6!$tJm%N|ʚ_\$RAu7 Bv+ITW"uE Y ᶕ[.(Yv֯J})rlFN]%GxZM ~G]d tsЬ1<ʋ&}'t3 8A/^,<68\t>9AH>jW LweIs ܃joa9zA6/4#4Y_]YfJ(DtMe4KJL5IެXTcxu( '֪Pݣ"J p#5MM ~ۋ=҅ $]Jvu8FYZ$: Lq ?0" G]c-K.HXM%F ]!ɣF|5o$(NrǤ등r_r21AXLт!٢iFv**'gHb"y"Ҳn*Q4a+DN?%<3W֙͵Y!4)W:q96Bhgnr -FH{`^v2YV&h%zۢJZ7{'#F]bi]ӔWC]Гc.通CsL% 'n[&$Wz$TѵM$7khRuyYm}YJWK"xSq#Zf&IBJ"d/-sE T)G+ȗxTeM`Yv.tR>&b6AJ["(!7Zm9yM4-%~")Ç#%I2Ϭ[nE߄GW!q͗uQSz8MVJ6b_bӡl; W؃s!`T-M #9 Wʌn%Il )/ɜFRC}6>o64D$]".$ >G ~IҶ!hIOD㳳$=H.w0Lj +,]._uR7~(qIjơbmUX.ЅxPA<)ir/ה:zGuXET(W}_Wrj@{٭h;"2VVĴ|VTЕ\|)ɊȧA=Q+UOcyCj#|SH\O6-.[%Ԧzh٘Ge /;Уteрpp ABK|F  g38)^8`H$"#5):>Kj1NEx6%~6ZcAY'W0+++]rB/xk0W61TzR-!1fG7 E\B3uED Z}hՀu!Ԓ<|?~ JX`7/T@SIL Vd%=tDlL*MLX<4|6ϙg(Zes9*]hT]|FUm@Vc.mHf1Xu r*5ZW%Y/Skf)V"]^9n@$XxV0LC$/:ezX;*$lp t,#1Q77Q:VVzt9䙺OSm.JA"e')z:1xF%4XH "&=!XRJ(m0_xe$3|ԞpwzvG¬ȩ6𐘱KU*m̭AN;BWWqЇ7)&M護l lis?t&E %&de]K&5UnZ((0N $!lgӖꯅ-_9v%%1YKt*#ש`OZ-"y+'K!l)PTRtn'X:ryRsKvxB `_809A `8@67B qGcZC2Ѕb2 y־qWo #ǑKg,Mr۠!UQվkYj$ABc% "F4""m5nzJ}[>Vs飁 p89,VȖ1j)8PjrjXZ-’Q!svﮬBٖ>qbĥ21)0%RrxiPv h-O߲*!Df7w*f3%ʃ2dJܑxҐP~" j U *:R_'8+:}oj pR\#P$QYbO £ZWOHV}Z_GMKL Q")yT Gsg ȷF (1bl KdIjj@M#CZMvH| ܣ/ &Hd AD#TH:Δ.Yhʠo) ?Jt节<)DՋQGG;qrBI: x W)*$ud+JeJ.hO) 3P.B&3JZ.-Lq9qY ,6E"%q> ˷hի J+جXU^T$p&Ԗ'r4k2>k0otI`k,!Gs+EkɖI$-rTɔ?w2tv:? ~l!USZ;y;(61.\K99ƱpG8TC *زEԭuXX^O詜F\wim G(qYg2$^5$O6;29a2WM_3+Sy]nQf!L/!vYsԉN4IOιy T#hl$]܅ Ԍ p [&$^Z͋E FSe Kn5Ynb\Lp ā3i/ oMcvi)XF"B#bg;HӖHG p3 ѱt<Qlȩ{鄧 Kul Usu{gq!I&Krԅ4ȉeɍ/1U>amQ\a3GK:Kqs+@q ҒxΫN3B`aAm"CMks钇 /\A=J2 t:yD▷X?$1z, K8XK( ,0EIOW<n$JRQoDG&]2XJ#*5ESkГj=UMQ>6N"V[[ak.V͂^Xdaɷ:Q} $ k!|ĶP6֩ 盪`=IRewp|i:j-(A`6tfqKCOƋɩ2h.RE-2QB_\m2LYJ3(UeZE|􀝅Z]~" ENT'nvgDd1y;}8 Z%lW kDÛ(FʏH/K 裋diEi+T-E۰BtzAԙ,7n_-ݲ?0Z_-&e/M5;d^zRTLCZyu.P%Uw 5GH 27~.\,))dj6Q~ @|l_*G<]n4.Ad!`5bC"rP[\c)ta+"̕wN ?҈b\}@HoFc&? ĠrQKbŖOw\1Ydfp[bZ!i0 SR)-Ŀ ȹYvC´РHPR~T3v.)&Z>K(Ҙm_S Nm %TP]ǵ(uN'@Z\ DmBے)ZjАqodsn-^E+_rLlV"?Ƥˣgpٿj]UpmwsE/K+p]$8W]׹Tk@O5#:r7Vd&*r}Pb, zu6NKfD{MFzH p9)n?Ց-'vd%ǣ5 "*)ʠeVpc!7,\ٴAYfsH+dL)nNٻjIShW𽤛J)%5GJ9Rٻ˛X63(efI"-%թ1 HTWWG^:vK~8g^KEo/֨ȾucVEA'!_hЮ^jBR86&lrDŽ쿏y.ԐY?59қdPyY2bpEpU 7N+%,?KG 7"+1"35t`ڝ*HO若3ts<6!u2&Mh?BF,cVlDHLՁ RCk ˣOcA9:HAE|weAog"ؘ1KSfkG:I+j )7BS{Tr)cӮG}0<-"\Oe0QXLR(_'Rg,0z \e_BpQ,Q <0Sb1GkPew#xuK=7@&$3>DiϪHT<U1Z^.+)Z\CWCo̗"%Xڝ z Y, #hcG|C\a}_# }E\/W= p(ZDΓA"c =_Z2^1oJ.NH?d}W 77Bǚb/=,$tRӵW/B5(Hs?T3ؖ?6$as3?ƨ(rT]'Cj[VHHٸH;v(ͲM`|Z/^OyIˋ&L)|Wtf0(@m@*1LƠQ~a@;|מ%'X^5X!@!0AdMTR/V (y^}=]ݣ?,ʒ cUsyF!{6.]co.8^K@A0A 勼Yb*JYM-r|b#lj:oْ)&(U &&Q0{j@>26M2yK֊.U%WJq3BҜPMKQ1\د%N,pN@|rNWTyZĠII9塵+r?wܡUrO4M+g4 l3/u%R&@bҳ+RVUgVkRUٳJE%$A=1 [:s" &юo&{p?2e*U(NEW~  Od#u 2B6mEETK*L8Z]}IcHtz{x.::2=b2߽L<.Ch)-2h/5yD؇m6ΈO:>jmssX#(s-Kga$ FrLX5,T@QA0,EbEX?Ecnk 8JK #Amu=ǎx5#{Pբe=%dH)3(: O+MLДSHMs*CB? xD6r4XqŦ#9nw;T3ڟyͭ%9 tZAx yhnU>.p .!)ʲ4zB?hS1ZpEӛaEiْ~mMtp˙~kQNPVoj\-:LW¼ kБ0rKW?%:";\tGyɕ6}]?|$,_$;V.YJ&OC,1ķWpoR 6+SQlaB|)10+As̆wĢ"Du j v'oO9 S*8uJ֭cRf&%^$]~n,Z^nH +T#Ҧh i`Yjgdz7:̠Pi*װ3;6vQy=0n_+ -'L~ܞ*!YG"0;\yG2Z6.i" N8lh YNʺc# 7[$(m*M77к3+(90)Pq6RJV9& %D24BMAн"QQw#t뺗ܘة)s r/egܦ{Gwki+(Pm$U@ph#tc3j*-9EB Ս8A*LލOuI'cĪ:2'w~eBZilN `IEev`dJ%q}A=b`JI)51s a밎7#fu/HR]2Dm/fԢ 4"j`P̋PfR]@, ja  X&ۮnǺ#6:6 A+qbe 1>F8ѸTǕz9Nf]T4EC~?^_Ij|l-j @ Ģp~FC7*,1؎+ZBbk+17s,ؑ(z,c*R+*pƁcc~zuW7" M٤Ʒ^2g.|Z aBb׵%WzӔ[LO\BZrH䀉v Qq#4W-EԠ"~(fDPbrl *ɦa6N+#KBAHS"Yk*cf0)@pNAZUj+)kj6G'(Fs&]+ϋ ÒQa#S2ud2Z&Ќ: M]18M")mJKщ@@; vW JnOy$M BrKYEac]dҦʷs`J}5ΥӬV$+`*gk,U.έnSx=MqSD;_AoҺ&JX}~C;~j*u&&PHUjF18.ͭ4Й0屖6ySK&&.$(&3c` T &Shr)s-n WQTmAi!.&$.2Hfyo f.&&ABZJ楟r.k̋nK*0.`NьɴXdTr8tc2LxUo'YV[9-2ġ'Vfpw-^w~kݖͭѬdGA .bƄ ~x)H7z:= 5RaA[]mSgEk\ܮvXCd^8*RDsiCgWΌKK_ Zi1Ofݩ[FxmB ،r̵kHqʄ.johMC)BA Rb񵎝"q@xdDʌTh [\?XN=nJ-9.1<.L%*$ld`BQO'LO/Z[ KT{qBYr ׅ-Y-Im]<%\_YNOz[wum#(V@±1z_;q]~[eJzVVXsJ/6K4$5Hp ڄ̛\SY\H鮞?*mٴ͈e' 6P ($ +\|Q7Y H4$J5%5ٱuyWq!EH\i7 #3VGa6:P/i@0 `1~&ÆTfVbZM8EƚeV"tߌuR]5ޡ.AX6IÍ}j[ ˅#AB&aYhxS;ED۵JGS[Ion*|D^E5rf'*6 !KW1k-\uL)M=EQJB߳8V_ac獗- a =vVRm9VWXR}ե:,Xd$&+\x|e-S,gA,K$=}\QMXNiuB+#<7XV\ E7 ` /LBCh' x8^q)J%p Λ" ̌rw2ؽsAbm"F-4]wI,:];MѶyKT>Eg1 3 oEh"~A Dǡz- Z;#fȬn/*k53~ƩaIkqId]"Ňm2k2##C(-!3-+%GEAq9#;:_RkMIAc[VgY; lq#3dɦ/G_5v/T|j!UuQVj+4.3EDh`=$^3'h6VFMZwgk&ԓ?h$[t#ŮUX%NѥfuCNEI]AUmCDs+Ih8KꗊTS&Á]&=?)=ZI5dL,%I[R"̦5 p)) Ɠ3'%Nd3I1ɰV,vR085 LQ0Pk)6H#FDʪQs椛KCAi4gwtָjQj FaIRRfhz:Y*">Pj]sΦs/D$ Rj1.J?+yg4;PX\jRN)EC: RT<7Ą2v41I9ӤY :w8PՖ^sx3A"BOe#>Ui}~p0%#=m8B: ~ GI`"Se*urjΘ$E%~+qfL* *OMXw APTr< D+N-L?0j%U)*øi\}T NH:sj+ 0H@\B_!{p22h%<"a+i]MwW:cxMtڀWvuGFBB "\-GbI;YǎWڰΪ)[PiIn-{c%| *Q_O:_R_S/Os;lj=?Thɺ`qy&`|3aؓ{QEzC~a,Y&J j7;Dd Alqd[v?YpD"ٵ áB 2~WLOWr{}`*B†%rk:*dr@r, H&50/ܭ3ryMsͥfS lca_9aEӟ$MS&|2k!HYmzM&O-YYRͮ$2ۉ{K+_tY>aɧ:.Zi;#?SF~H ,O nm*4; IhPٯ"ņIxKĆDu ,ȠA)84 cL~I$;2< 3W^t8K{LJKȶCuupJ}HOxNvkRAX3Ԩ2%zIzus"aȜ˱װl)Ֆ,J߬z pP,%|hl(2  4AC[:3AQ8 6v7Z# /yuR34E3E*eMd,TiW^RGlO; bpbfqM(PRcgI]U~[;U=RUk]8_85g^5C'Ѿ̐#.TZt僗HʗQ7ze5VގF ' $bcuBP0m#*PT JH)@nri: ذD8aTws;(R R4*h}яfm/ \YF;;;4?|x4ɨȉY:aYcbz@w9,5S]#ױ`T-ecn-EɩABVK᪪]|>o]Y+ 3ZN@ʺN4>`%'XN89#=vx@?_:(7濐CiHkccasKsyA P80·eeBݛ6BzklSl1i p~_G/ܺ3uS[R^`R BX@"Ws_ɥs#+dz>M]J]`Lap$sU`pNh(\aOij},xKuĽ di^0SiUy(2GTe&c(Bh:FXiMi<_|L2F{gcfrh+wj5D_OK]XJۇg%#c5t-`[iMax°6Zm5bӧn(C 2F 0ZA%&4.`b-䈨/ye;y{B W.[1;"H %.^du),-knÆJv? BQ}Uk4>ȢB0U"$Vb,!BQK)5.{I@_dڝ'}`=.p9nWZ'1d'|Xи53Ȣb"N8(1!I2(9I(z4+; Y:6×VVwurYK0 |cOYX@E ;Ǵk] ;|kX:L)%tD@a'l2[ګW5&#xٽ*.X}'̲}ͷd_PCeB'skJW.rгVǰP%!!bbnh +R"'uj+xmCl+TE%Ԥ4u4e +9[_6:Ɏg\b*%4v#>K@PZTqj5L:*vj :C&ZE[|hLCI8Y>PIK`Dc{L4PiDiGy=˧f߲=gaF䍔6%`UX1##6lA+iNV?Cx ɘ_lk!3C,_dE^GJMq(JRI4 sƴj=.\diZإVȩɄkZZ!gxŖQ~j][=<޲XEdT"Z4I"sm Os804s4/[PR)RiRG)8CAQ'l+M͘[rZ&NP;nVghKuiOփzz_I(+1#`!۪UE˩tOLjV]Q$TEoXb10%to 4WFjh+źa# UD@Οm B y]z2z[Oe4pM8Q5 ]w/cB89%7c45AE'.(#&x|G v D8#<̞&NKQS5$rvl#HқYdL(y=/9 1sr1؇X )MLf*$RQdZWGK:]Ʉh.qf.JY X R!ȓp̭xKG7JohP]]T!<j+ܓrܽ HKu=՚$T\qe6)] 6aAG)dWjSR&0,qDTJX>k 3m! J)4AW}Ո?' svVpI*QhbRul )BP4!1ɭ% %.pKz./60ʤ /^g v !d9j2]ᅎ <_2GF |&5VKE*Ï7^WD5גQB )Y $*! xվ! D%m.m+D)ZPɿfG Yem8_qlOgJH MaMwZA ~eC[bAKU @E㇂̓RԜu\`&&]R8,l+~SYBevSӛ2PڛH`0 hh;DO*$r%q8ԙgKvm̓Ő)O^ ibņOS`hhUMrbC^g]\:2nl\B)A1V.o;(3^p '?mBRzx1;4>4v5G p쒛ȡۣDe+Mi붏JFVx$c$+)99&+Y =dR֋a2g@Fb]; G a0aw07^ 6*Rud0#M}Wm,h)Vo= +E $'p]$r\ODw_3팎St͜)csnPؠ\V2j=[Ͽ|_y!9G)k^R5I'E\Pɪ 04lEt56%<)mFD婟gLNI\t$6pH$@O,]+ed pN]})ʛohi` p :Vsߞ"ƚʭ'Wn-Y2%cII/.!wCL.w*xf Hnܐ Vuj)Ii."M?S@31|Ab` _VVtϝT:pYQ50*zx-x/F ) N M<847"Eme`ڠw6+8V)(`zX|@%s:*@H/B}ϰ)ABTӬ:^.c)FeGR8#x1S|ll[If@ 5e.z jYj>؋ 0! 4"*DOntBAR3K9&5w$T99oeib`')ԃ(n֪OBRб_{V?p o78+=՞r; VҔ+Cm<?"$*Xhm:*{PE[btSߦJ泵n6%r]FVpxxGUS\MQO5kVp%~]s9tXv!_4h+MABԗ@IQcjHn[=8eFj_Zk&LcQ NQ1X3=N'1*j`dmWFeJX!#̤l X g]J$Z1.s41zТD\~IN@K9߃ lr"D W MG} : E UbMj( i G,IFdxl eBZn ȡQ>8 D*9YX"%$.|Ruv$Y@?U[ҩ Mh& 8.%8/r4s]ԅVV>!'}*Ѹ86`EQ&G:AӤOK P8.*.qS4t;\'As?h+-5+䧑ibxP!B&  {lx\9-%",! b屏@MG1! 6<]BP*  ZL]"'$ &H#6+tp;0:*je{TX"⊳D3&&Tڿp(W+Q~]d ( Q)dM"\JBTr[#\"K oU?KT3Q+牨'w,*-&D 5*.Q^wY\(CT"浪nY6ExmRɔ憎©4F(DD'Ap0AjIM4yQiT&Z60r=z*ll4u#qWH"hpwU ˂XX]3QoZ$HD# 63:[%vY~MR{u@c)ԠlPޚ`K;w"$DHLlHnC0,#DMH~8 :"~W 6IJ np2CfQx#vM9m28*t5 O%5O3NE*}(bG6kʮ׿T+8n h„q,H&I#ͨY&>[âHkl{0 2<~(Pb2 Kqg0sf +:Qo hM B#̈3,P:PE ?&AUlXF*TЫ((+,WjG4٦^H6 cw2!dT'IDQBj8Q$PTjT⥍19V|R M`HL sJ:UBUj &|LzkާQcZv+a\8dN~ ŕ1?yh*)I>mW&tnjUR1]G8WbM/F"V8 5&>Hz&yع' o ټ/jSOGG?KS;,Hp#ZR)4daVv^I64>Jize7O42|a) *iLC=Kӄ5Uq%KQeMƶOB(a90MP ZTFnA(")&Օ$/Z32m)~/BFIȇS v4#RЉ8$eq=+19|uFbw"*V wOoP}@6eOM#uΔPG],&_`=ήyL\޻|BleNΣ(QOb#.."Q A*usq}gȠQj:0+A§jTAjqTBP&0H'|E/n6jNq=@^l)KU>*N1!5MF(4dw<ړr~!AzVNѤe>5gjC˱8P 94i?L)2RcbQ)h*S9|ԀތZ7JܢX/{6 [c~*V`׼^1(1hJǟv+|p٪Z={bWAw4F*U;ZIUVyvWԞ %TvKT*%!=;ЊJ1RNSHfg?NU_/v$x^lqsbQg(͕@Tdy#Ȗi*О#;cE3/;T^zHr1Z ))LAPK!AWz#s"s!;ܰ^Hc Skv32⎏%ǃ(Ӌ $>*W]<7C)>Ob$*˳H?*o τ~'8 FHޭlTKb`EWV?N1]C۵2{+Y0-փƷ+`(T%"Bs/ QgvM㒑H1'^,|JY}vb,wmEW/gܪ\f~ES'3 >vAv6-Ǫ;7k3Hbl l;BnU/PjpLQV2 !D;8n닕VKfKjG6۔ΞБ!đX *`T֡9.xʅz昩(&XödMwVF.K^;=xSS~;5LBãCϝY屶@PZT;R`ҀzpjCTZc}xaEaÅn*e V$ AJՍc&L◕&uiQpr32A!|J2H]F!BaS tuD p Zptc\˵f:3'nBz4() IJZW0L q$rRe:ÿbΉ% d OPJ"UzE)r`MKteLw.MKs?Qb/n5\&P'3(1oU=0P4JD2^EחTɺwW|V⎽Lb#^cC`SP{!v;uo)dz+/gdI?kVŪDսp-fU/N)x5{]a0 5_ ݻ,@@1UU O/Zz@x:U+gyj!E'^ 7T*/ (hX!*2 L  PΏ% CT7lوx^EaɊ{Ĕ)lM#fFxz;Ν^g6'r~ǧDIQ#Sr[(U^NS񧶥9T4&W6$/͗rڽn$rrͦ2~MSK7erjzHAmts: prfЫe*melL4=<[Ka{th+r dbhg73@sp˫Q\=P Kn C3TRcF5'ɕoAAnL5=^fD/F:ð*nozX2ؓ$ޢ` hn!2fG&c I.9̰6:ULC94){(IB@Z֬0Hº?S٘igyT1~LDj/8 b%.WWz*f*"񘙾 =c$JI/Y2MElИ'MΙS`IS]6;4]J(8 ~\Yptsun6bq<*ct}: |qi]8Ljd. ^T)j$fϚ KvD]G-3!"\t2sEsʏjV.,4 ,O K$xR+d?}zˠN<(%T#=PQ4~e# %t #z8V]/bQal~ڴ^%EltUɏHd=F*=T&VAD#Z"#D,LlAP{w%y4Pb>愫P$^oYx^eNW.Wb8¼G4v X,|x+Q/UEcSZ^HHBO]tX۫׆UG@ =Jjԡx @D|[A_Vd!PN cGH2 D!G(sK~$F]dXC"Vt+ڮ?M8wA 7r wήL@8rɆ'VHmMʝc}1G-=Vw)3]V1') ؜J/թ0BF ~Cj]8چʰj!yQ+e+֠ }pQ~.'vf:wfC( ,TOɕњ/RNwA:*x6e;4)~\8 T;}&uFI5CAn=q͆٩ T!,U?!bD1ꑝi _.U|\ [luzk Fb&{d!y%Stp,14 d?2z "l)e6vg[%ͳ1RLf uCk"J)IA9;"cSRj :wM_Xmo:X†nXxR 2~"DžE`xyse:WB<-!ʺEau!ܪJA ]}h DvN"/AXl"$%#Wed)q4%fBf:ȟ/gҢW +.N}KK ,NA^"_*ܬa,"t,V n ba!%-sjE줵ҥo>vl&Q>aV\` !7vZE&_ '8F,Y}<!^br{LTliG+)%ԳɇXWQ{L \ qޒb!]N`GфfAYZ,j)Ӣ4h+HFk(XL48 zP&szeYF'm= _8Mxka*ٿnG_[noq+$?0#o׺9`\)(ɉVp`a;'|4̬\TArC\D/Yk Ŕ4<n X-&d-dJBRŧݥ[{$cY CDF"Y_ Yj_RJ!SL6+rZ >􀾚e[q Rw5:b ˇT*Rsdޞf`AuoD\) ,y887` oJdу&eY5 yb-j#hIKQ=Q0VmQ\)|7f=pN/x&,i !]g`vRԱqTHd&AGm5D#$=e= I\/d %ԬLK˰nD 5^0d/@#IêbZ*bED&A*wBŊhsKz9DL$P( AJ0i( Tz܆U`jJϼ&y Rmp- VTtD|gǕTHPouPDsImNfrQ "|͢KgS`REudsOx11#TXщ]NT'[W┛%c>ubX"o{MDd t]="~*SuH)r9za#mHYn*HgPbQ⺄9k%vDU&H~F$!ULPԠ#*T TʺWDB݊Ys[#.{B!ØU@% '}!Ԣ͍0f1fD?f,e$w60`/>s,jD7!35hYdT۶Z3xΕpyNS_ȟ! ?L2-EiIL=䐡xkn1_ O#! ='QY߆9/V@jRQϯi-!OR*9DU=e,g?RE+'h903,Fev,Zri"?7"AړBZ&ޢ׼%NĻ1xFGa;F"=E-:iU4s`?P,d&&|NŋѕU`dLXk&Y3hK[pLe%HeKXy#% f6v kR=tn4b VlU:=JD"JQaЩl~A Jh5$Q#v<%MIcqˈiT7Q=9R{螨Ys8M;׋OtX-b@&MN`zl7eLl̐ݤ7iC؆qBr8Sncj"N"$q;Ϸu2?_BJ%=Z-f6:OWԺeQC:D+9[-,B@qvI`^ш ʌM#x+Q٭I))܋v=hV52*.rOY"ӟb9QTSeS礛;QkGId@ "6S I]1%\#$$'*̖ҙzc⛱%I^ܤzbBs5uX`sPINM\de)iuT u6=6"ϹxC3g(r+}+?|ŇsPOͮ QfZx÷q*jPD}`6)dF)keR PS`1Su3!yU#OO͗WbC&yv:5cegq8,݅I֬˥[FK9P&lB"eEĂ۹{lҩ`L8hhB 0+(7"7ȍZX8Ma FQ^fbZ5Jb4ԙ{9Gk=PI()dZK|b e2U]^x6ʓj]d| cIcN$Atbsj,+f&ûv`dsq3lxX MՆ@>FarXp!`B́"YKhK K?hڍ2eubݼ$xF `\50=. Mт;$h*N{4aVQSj#XZ 2_\4Q S.9 \ͼW D6- ?]%!oYwPE6#B)5j+h1R?YJF甆 y)OF 5G/j( mԳ3J3Ovr3#:%*-eg9?&ɋr|J_lմT@2XXCRX5eU+TAQ 5 ۭޔ!~i'e (:rIn :IEoBɄ&A4.Jes gJЩLAg="8eak Fֽ=v&wN^Gqh&T,:g_F sWZ6.]xty7{G!yFO0{r"1I̭Bskmؑأ'ʍKw:lMȦT.I$CS ͼfj7'y]`7r3ОYb\JFxDxd>L %N~ iԟR%)B=T5nªPӓ0Ţ]!~g(A"26|VGl^x~I*9>HǛVktx_-K-dED +x(7ȂsD*T @aEa[su9Os bzd}0α\rͤO d6 :15 G%́ u6dsqx@𐙲:V_iHYIi){lFd k>0χ)тy!x|&ANYk VyS罳ac85VɨS|#7) ($H>ygȘ[3spHhwo.JanIH rأdqJ( Jci;lJ>h C:ikufIK=BJq-"0sI(V4?ЙODw!4f{QHbb :j ! JFXT=Yױ%U<mTOc`! ^)r`|$L;Fdl1eLRq&LAMvQ0)t!8)jF*Ǵ E,L) .ʥ `\ l iA ]2,$\2 m)a]SaL֢›RKxHT7Z]\*&ਡ5HQ="m6F*:0ES<1ﲣ8},\kXyHiA,R +{{k5w&~„'$}FڬއIH T/9I[?c|"لryvdh\H"9lIl #ʮ FC^$vJ|wf(x_zMIT _ |0uۊX,??(3+yBoWDi[QƦhεTH 7JVWؗ,E/J׋<_ɛFtN8h$} wEBS]U?,q'Su -US2B}/(( b)EmuޚJ%ZoPkIDfNb؄UI#=W'dlu!Kei`Qy*k i5ʁt:5”!BobBg_ DBd3QõCA/.M%hIx]7%+ ki** YR/6L^dhRFH?%Utҽvִ6Qr)밐޵.eJMq=Try 'kȟVw/D-mTP^vwP("ueBAEժ?XCaPa@;􂚴"ʒswc6EN;3'ό{C+ Qf,HKBz_a"Q8; m;$A +m_{QGC1-n;$8vs N7`#hڀ'z=,.jɄ,,LXh;KPbݳߢ9Y̫]VZ\lYF`A'_, h(((`(W x&#vQ߅ؼN IH4 Dx 2lG^Ȏ=] c)4vnZ\'!QE~E2,JھkԮ^KڒBIuoK[b0S5!nx w|V']ϯ9 3JBFFH i/3D(9 ( QȻ <'kD7Oqe! Wy]ċԱ x5Gk3zO['<鈨t?Эw۷̿I|#ꆔR_>)G@[l?aj5HH$l(Ɋ54%1l0pZqMf_Z:EHr͜lXV~߀Zxh\!)nIv+kUUY8,| Dؽ 5{Y HV=&UsRw9TZ2ӺULkl5zUJ@";޳d!tf1Z\9u66tЉULn&.2تظI&D4 Yb$KC L9וg+(MO5B=ۼДPj2;& 3]#{L8jYe6ꂮDCl})m4Ϗ_|?g%kV )γIg29\hCx%jfԪ%͒5|9{P2`j]~NO^erQCGGRc&q @-]QȄKŠ69[(u V kNB .XΘ@HN&PL 3 ^P2mHحK]&-AM+CJwXINGo^M#=rrΔX6> rq._|Cp']וhc#''jHLl`HJ1W'"Bl;,h,f9Dmc炧d1%IvPY"`]%[Dc#j&Z#xufgt׺uTtF%R v^"jʢze3 Pw `̺"ÃmC}\x=RI*{VK[-Kԙ{TTqHӭJ?i=ל6M} S!V#D{)+zb/wظlPT?"=C|ʚ8 #s 'p 'Ptb)B)|lk7ƊB(Hͣf@4Z`*( KXf> 7j"2(K6oh!R" :1I!\ҺfMևy:*7"S_W#%ITOeUgR.04Q3:^awO9CqUąG2!"lYȊJdfr}}l"@9Hl ŇMX  w)HB䑩 |]?O6j+}$Yϣ%bƈ%tk.ELʏ!w*7匡XwF躞gw"GJʽA0m NLm!X$^ >5% ̱GcwӠx _}.2=ʁ0.p3Id[3ә"d["@-g̠bSygաrQ\ρWs$ΠAԇɟџO'O#cxLf& '+V\zm+4#͜~9maM5M' ɘG:iR{RY"3Bar䢑h[ *KJ2Z$yQbM!˭a8᭳aI ^CIATB-Ƣ*9 rlu1D_B&6="\5f}!f+~`*a H wMHa,=DKz2-/; I j7mrT#RCZ308jqv.HZ# ɱl eFy$& %E>K&XRe= SL\(\XO[$jSI'⺇. یQ/6)xAP@AG"Qmb8"Ye @K"\GMΏ7~~awҮuF^ >_ p2)zXz \3tZHЛ飬D RF:F-#̕[YЅJ9m8)4Yp5[BsIB!/) S(`\^x,L^޼FL{u=#7..IEVfhLgtz'.eSios2 gKIHnH/UT3@|OS_I+jP=hhY;>  6d[27Wy A;CzX-(JLIx:ؿXbzmGKC(A+GM;^D)Б h3d!~Ȋ]lZסwd75H"7;QFHvN䖌+LV&1|<`voB5rlʄ&U ť_3+ǦE0I'r$edx|M*sj7i00﮵=_:|XBP'xhB*bdMBvTZH lgY uĥӳJ5VXL|e Z%j^oci>HZΧd+s 1zЉ?SLzcrc9K 9^D"K= []?-k,J=`PO ,!6xf!2%R PAkfA<3.z(#츠DҒ\HZ<K 8ПRq "ĩ\ZżҾB`Dnfdv xJd=xUf II7){gY2 jtFs}NTf-ʁGEPX&HCo\sF)_jzCerUq^@rVF&BX,za\H6w!kW1qqC1GȑV]ʲeO,^#k(VTҨ8j{2V`F.ZDYYbnJxR|#X?L}5ƨԭ7H*r.c L؀߱+Τli.?̜PiN7O&%V˺Y$ЖA39&ZJcK#  x~sTL9@Rqe6ՠ͍7IhqK`Bj_uס2RF ń%@|羪{\Պʃ7B_I8c" %GM [%]RtB4wJ/, rVw +flӴzM|:ȉ2KնOB<a*VFղFH{d¦%QX$XjX:Li~Pn[]y(!m/x4Y"Ǜ:@faU &oɮD)!A9k"K$ƒKՍ`uI^Gy3Z%SEGYBfℒJk*(k_@h6n&-l aOzBJ*Sd#)gxpT0JD ;@m^ђPHze`#%5d/m%tqGajp^Ȅ@L!} ɋHqqgb \k႓QxξIxe/orz1ANq.%D=ȈhriQލ'U#/g_'*&NpQbqnҠqq$obǁlcx`!^r`vy@-*LNOS(Pi)Έ H5xn\#J .Wɨ)]an&e٩ax$n;,?(x% R#AO1$!M'|v:c=DY\R>дBOQjbυxm쀗F4_.ԙ!2)l06Q&22)m.HpOB5St49y%㜤WBā'PCXb!H7s9еoj_3' "1 +_["N}*/y9VIF+]:,(ٟ,orR^a"r- T|HqL]CJe*}r.&Ҙ%b8,CH7Q .ja˳.և A2(_n"{$ٶ<:>5e8㛰tA)L㼱\R~IlM۪`$ݠG1n E~%B5%Hؿki,L8i=/Ζ,=tEX]Ae a"zL,msjr7/q!BO_K9LKtA0Ɠ)c[8Ba?p5_VhR'MK̩e%syS!]ө\n =DЫj> p50zsџ;Z17?!urMC3I='9E>$%pl9&GH=Ř*ÒՌ8cu2hpJռ9E-,`$>STQR("LyRZ. q$iRPv}@Ș)PI@?wGV1 52$ȗ>6ǣY,&98~O 9D2`c *0,XՐOI'ȘVF+jɄa1+7GYw寏.)]rdK,U/AIQEއW>M]zzTh~-zԛdQNSA`*{; <|Ue >v9WmNAܹ+i{+R92&YKKOfHS Z,U%5G_.CtXm.YQ%MltcZtpD틟ZN%THSRTTjRffʡ:m^A͕!b@E$r.ivuPD& lPO&*FYƑT*@6&*#=!al8oꫵ-= 8|𝚲4>|r^C[WvB`|#"*QۏFf:4sI- W%0Hd( ֋&!U/}wo07=ZHSg?rAኴamJkz'QQ!>y+12t0 *@^5T=9)~ c!3MWtR^chedSoy>aa`p@, H @$c28ƛP/H`uF4aˌSx(Pb]OzU3+ i+ڟ@d0kFwu/1Y̍iKmڇ_G rzlnR 1Ƚl͡G-R%NѻO;Z 6.}eUjwAOypCprVC\?,:8(jA\aBn6QW9b0 Z'LO)uO&l}U&ȦG $5Un=h2ccT7kd( 寸->Ƶ`У鉆<c+;ڤr/TNn&<9dPQO# @ nOHs"NWf#5~mX3U+U k1Keiq~ҕ1C ̪DV~i_Mcno# $P#_H01.H.\=NryաfNRfd%UkznGy辉bb|X=$?W,qXg">53>U9_+Xi"UDLH˜']4%;ğÌh]7 nl5Ug3eYFdqm^+"`^rL CT9@VnbTB'U^<>\,,!_"p&q BRr%;C!;QjZ sq[zKlQ7ubrBd|%3PbwZGVPSMv}zs2"'~b*9K@$Qj? !hs#9SCR՘^U"\YtD1o@+ὦB)h #g6{}H bP Kk$BcN+H$O{u' ~Q(fT-8o48EF"|`?[|X:~T~ ZYk])A(S nJF>2S ##ަڐS"j:)uȚ>]8*vVB- %1J~ŦS*dCa,BgJTUSB "v~Vt*g&4^8!/$NK h̖fP:!0ZT1N@)K%6ꞣ@Fu(6vI +[6"?HTFړ/ƛS[2SWC懈Anj 55֢-,oD@ $W-ITa|T;t5 \5hfo&Ef\3)5e± `Ppn>$)}ڶ &Ӫ+/41^Uŷf'8rZ6yF@X 4wL:5E-|8R:^ "6hSPLa|Z,\\ [r8r^>`Mx?b)Dd+`SFT^xc ˎa .YP䲲n;)uXQniM>?e A3bSz_CĨ2FG"AG>:Y ̹XX"3Z¾ȍW,,uk!ZZx $ Ǩ#oDQ3`4 1섉ɋ]_ItPzh-*ċ3ZY>Tޮ7֫5 Rݰt{&ZbsAg~tbB}*j lȤl ]p@K&bߣACňNv EA (`X9}8`Ԓ +!YnA&bQך6=:Qb&3fj N`w jHu_o,uaO) k+`ޫ+߉ؿZ" BŒXl4_e׫1eK[8#TY_JMWp,R0L)b!] <{Laqr.ɡo_ `UǷhlfl7-117,i.˖L D3}TzfyAh[ekrEԺ݊.%O6!|P!2_V对8j GV;X(RC,[DqxHxv .d7tLW!M͵U!@퀕)Ih]˄._sB셭X1YMQjkmJi}>չo"_ wp>ΥM>_;yfuJti"Ag}YLDmlwQ>Wwas}—'s\ag{,0)7!ipD wKTX f9(WjvF6t-j 'Me4u_x!%qQ]>9A6 ~mreSBu ^{ }feIJRͬrYXHq!s1-i-Poқx""C)oafj=[蚙 )Hv2A]1_fAq1ZAN'DL}@X ]䀚P6|`@|7#U0EǤG0%-\slCs]cl;=+7*U,ds*15) ]0o_1[8֖,\F ,KmL401?X~QYE:ꍈWI !Hiq-i6YpA$:=. _f:ѭb%,!2TJ'1Uy!4 L Q_QW!„GWb"HI{䬂ʗըvz1J629=!`ov,6fC4nh]P.R)'F))e-eJ7=|_6Ѭ"8IAO_1 [\JFAc6FSQףI+Ajqڔϙǩ<ڒUTVE5,>v13M sIYu Itz 3_2N)B/-}%BvOAd@[4հ |P#R$ b2Á9PE0D nI3>NH-g,af-$҆!8e6!a;l~ו ,IR…J}x QБpVҮp)@k ~#F&b0~)faT 87 bcJ.f>Z-YOtgJ|%\ゥ:$57)mhn~ad}dtԟ-i (abZls2k3YMRkm}@N1Amxb=~l爵xTw6K8q Mc0p6N̆9Ra݋"2O p1StԺ֙\C5+HeS67u_ ]W: &mvKyMu(ҥ(qTb6ޞJf  RȻ}aۺ7C3y+LčI={whr75͙ |(M{(uQdj D .=T!sm1w&> }rӇ%rYS?[UE ]0howȱy(3tzkʖ%8SAVŨ҃F*;;fͳ["4{vx`A5 ;pM`&H}*lI cxֽ`E,OS,S"Z:r(mWE9 nЩդKF+ʾє$􈄕(zwYԢĪˊDlb:NOuӘ7"n.Ѯl"l)\1-pf6V4=WA+TT{$R H3c%:D3TţNʹ-\_ԑ\JyFGJQ>z0+c7_#avZ/r̊5;SϡM}ʜ|B^ w" \|LF45-5i+E(XĦ]-w=/RH3H= EȧvHi8X[^&yژN=Syu $[`M´L.BEl!rkJtw S`[g}J[*C(Ċ̨.]B[)jL-2dCitFJ;4-\_ki_=].{] #c، Z8v-fNi@[ IZ_gգ{1nwF#(TyYx!0f(%&@٩xrR\˅{% f9BH '{%x1r+]@QXc 5h+f" "o2#x I.kD}|AğOW&m< Q+eo|˴gSQ`Lmr "$ZQpT)f>^t0ֈL_8C|nN9/1}+֯W8b4VܓЇS5N+/T k;\XWdZ<ƽ{{EV'Z*j9].A;DCVB嬳|vH--ՕvGꜷlP"aɭ\pgՖQdT "K\t\ LeXQxO}ؘNeMnjWpڼ-x'aH0};,`;~2:sc㾝熑:UFX'=~Z {5Z\L(fh5xu Boe0!d+'z s%謑XKG2̧% ̈́/ iMo;?ÄRzj@^_AFw쌵be,\)mFQ%sHRhI@E B&oXol?JEb[ QKE$5*;cnia3؃S[.+]zi74feD)J* \S>I- VexS1q|QB ̅1e?h#:37x-`⧤ vo7*0nۄ.G6jAȞ٤dvܐ!Y 8)g( D.*`# S4N3IFU$9y[<3Jq-'GCk} UL2!yaGJȤ}Qw[9]w7ZVblp ~kZDr=v&Ef58k 36ިnXG^0V0#_YhSA$7_rj-%h#U cɈȍN k [v*?>P(E8ҁbqYJ<NmLbBZjw_y Cm) :B茡q B#} 6q0@X2\|A6P(o"#"8f=itj"LZ}nݷu>m՚$%T6c!D;*M\pZoWoq%}ek\ՄWzO){HI%lW{H$ѥhiKUOywגV6Ҡ)aaF#nJs}Q$>r>7ϱ"Rd~Bn>kLYTR?MzGfJ6dIQ,4^ 6{mA%5AHDvӮ~mmZ3q%&Ȫt2E"ȾwNhű!A$> 9GBI2I1 P<-  ̤͌|L-SQE`jp7۶B A6#+*bVbcj@.B2]Wˠ᯳BoWd%H[KdZTEdkPx.Ks42>5TP5]cnS7}\$姚eh6Iˢ`mK9ՍϢ%jFhA0擁F(e`+D8KPt&OrD֢K31IpXfJR3 1Sɶ}6NPSYUXx~g,>o*0 !}& %nzz\8i rwH fXBitV=+>VWA#GYv13Iq:JYF{;&6',! (d#6X!/ i[ }O5Fa43@%zVz-Uj%?'#qf5>M;Serx;|ēDhR0he%})Y.C)Xl8V:| tXA/rHt<4TSF%KSx ݐ\N#ju( .oE挶?9vncͷFxyDƅ"/$eD1Kژ @YŚ5լpr,*\B)ת t``5 #yĶt"a|*ujqKW9-LM5 :;h(ɩ#`B֐Ш!=:F)U2\ag=k1r_Q"HɺD bvY`ƛFxX3dI*C![lKk,}PϑJ=ž=ڍ K xjfJ`cCN0Vte-ME\wV'ܳY1$kJ׋ݠhM6Ovڒ#~Pz#w~Ek%tu},(TBN=nL8v > -GECnv25% JYT!<(Vedr)9Fw\`|A[ 2\ ohtȢeO4?=R)!^ A`[%bR[l lnU +$UZE?߸^4r߷U)E&J:FmdaD^{UUR B:[A] P%fny&+ehM qBSp1Yy۝ZA hp:=C<-](51/c+dvl_.5&8M@X}VICʲօDc X9\~K16pxB K UnlYގm'YQ4YЁy{O  gctZB ΫV ӂP#OsdW%^B!@{f/jwL;ny#F q'X$WBp1.*Z-Y)$fn#4n I#dЂ0S]2''}2|)n[liтKStސWPW;7Ԧb(u9u4[ x?Ol\]!e,xtuʦ;>1LYF. .$Z{)'=Яʳ_|-iL~jr1S"JS ,ؗ nm@8φ͓dI#zKT|H'Gi#&I)*FTB q}hވHaNZh)%^Z| ѠQs¯ ^tܧUUE/ѡf~ʓ [/^"L2) 0R/p4 X NׇKTL^oѠ'X*ym5tUJqCB&0Pm<>5.5RB 2-u[J&a ?:V ݨ8dRqMS/Z`E'[sR 8C+ړr oN!6^xL\]a$__Kw{.ƓF:jJ q⣨EEk@s1 {3ZLxˋ~l<*5r+tL͘J>Uz[$,[9 6,bJX6ǧ&!r\1:Fpv|1(Dڋ/]t Ѣp@7 T AIgH6C8?HZ Jy ~ilaQ A&} . BP!$v >ػ:Ґ*#dBa ŽU8֣YV^|l E4߿By =l>jYJ(r;K'%szE.??1rWTHr_#eYYYY[[}OL$M'$USkW[k~lSJ?Ώ [m|`C&!WzZaߕMx窋R,ngpsϱ_7~f<9)誉~*2t>a{Tb&ӣRBʕ=QK&d[Bd1عYJ{%I EJĢv90ؽ5հJ%( q#b GA@@A@RB?ڛ4TdPؘ܀ tntװTfJ0]]A@i*ƀɸAngaKDH""p*h<'>$ pP@ FDD83gL#1ST@7+J0P_q8z6!ܕ#BU򳘞Ljv8Ng-2f%tAkiu Fp§'\5> guB=O4Ane46}͓yW }~$E*q/Vki BrBQ<& en_"7&bbѭVDn*.e|"-L<);:S@-B$9BNݜ<#$Qrb/g :0{n,\ͨH;O#/jC,t&t黺s,V@ny h3 OP)(zǰc(鬁%`)Ij~6.OSbf`HVpaDx[SxJh"XAOӆMY? νZYԮ]P)ٔaQyȣ~]/xwf䂮yuٓ۔ U~RޜiGl!-\TTC-յqr4iv \BU&)VCWW0J`%&M^t>C<ڽre9dĩI-h#^Q1С%?r^.S0v92|Ao9]SS D$'VH&LбҕHZ1OR[O'kcn%R"lV ,[?\=@3@7w* !38qEh=8.Uo D,oXْLvC#™i.W}P )?Dd# O ~%EטbI'&).3$STbeK'er *Dו4jfM\߲m&S0KfHw2JRGC0mZIN@NOiH1gg"7פx)z p&vֳ )33!@ ӄIw-^anIGUA$8RdY+ q9 bW8mLQٛ1Lp4ô>_)@:ց ,@%ZJl[ÜO4C-@o VœN Yd/Ȼ(ѡs;7t!pW.!A{HW a5AJ%E>q\?[%h/ q3dU%̿EXieAN A:nUj^m3o'D%Q&P(sev {/ ˴刼@gN8Y/j 2Q-ύv)>"&F9[vէ5$3v$G /ɏ{5x/"% b(٘YkQm9U}𗇁Ԑ#@ԡd|<ۢ=`zR8QXQҵ; lQV}+pY_ UjP|Ճ^ΎDԟD#R 7I/Tw(J_EJ Qi>Ls'=;Mν, if6왶1Y>{+G?h^1rL[ZE~[OU/|'8U\3wW2|;[/.9/VMr|-̟fg5ٿ ZQIUaE;̮^Dr,%=FB{ g: 97A_igD%TouR] @yi1\!R&BMل35Wن $7%0RmŒlsmbq: BIRGQ0#x+6*Dd.XBJ6 D6luHRCPt9tv30m>! 4B{DpMSNamɩZ yy+T:R,Qbѥ +ܠ*>=ǰT((vT?p^NƁ1"E,yU%+:En7趬wᄩ*::=)g4L].nl6pl ;@13q 9!@`-DbRCf8L 9-LaoX\{ˁ?y$L9):ŝ-qbl1D)+U(Wmr=-f OE^V(.V"q@rNv)+xarDU\3r:ji("1Q*'*Qe칔7#CYqʝ/';(g2qx'od.*`iW5eּ+-ۄ@g ǍEl>r?I{iܮT`Vb2xUA,.)#JI,iH@wsQ>z[ry`~$28r~r0u^-R,Dɴm0U6^eH 0z4p^qތ0-h\.̦Tu`,*:S<ݘ5p {jAd6&Y$}h@w~``\H0TZGYo ؂ eS.} DXə~RYdGIC6V-rjy]EyIA F&}'np2[(M& lZR *M@\XniQ|蛘 M7*/MHLfgf$%%̋ Ine~t\תCuCWFԼ)fhr+CEzQ['9 A2Qo 5 =8&6`=Ave;$XP Çhle _wsl7XR0}CI;J Q'|15yu= J}In#?E9}$Icm?X MeonnZJu%ul3gZּ&J0s𩜒XT: آ*tТJ1EK$s[? MQ%GKdVH9'cM+*x[ =/I"4QޯesӉIUQ:^t^Uȸa kKPZ' o84qH9+@XCH4D5"c$6*qvtC+w /M\2c[2DTj% Aّ/B5*$D'0Iӑj\@hP@ÛC|Bz"9],rJ%ҵ-u1:KmlQE%-e{rI%4[_ N,|ah,#KQ1=8dirQ|@4Q'~9? d"!0=raQ=^BX&e٘z^!;!m5zI)!ے4̨Mtf$u-#.Ln(W\*cx njE VNSbЇiz` ^QzP5L6`Ӌ@,7촜5eIfҲ>*Ft^N8#vA\FVjg#k_ZʼnAQAdGۤ [=A#NODLDah3E?E:=*WQ~S)PH|pF 'Vҙ"2JmdT&y>Yʘ!b2%C 'fgA9ޘykk\n>Fpbi%>Ћ0R3O!FUg[NoK'3:P˫ v&gK Pp9CU?>( Mݘ[!@0 p6fhHac\`DAeAfU¤… QI\DDTKإm&\fv 5GVOg%櫠,0X*I>OC z2.bAN@6g`b2=8ʏU akŇBңKiq(cD(ҔѾ`LO+'s_G}z7fDS^z粌N!Ƕ_m^^pM5.GD((T vp,~jvkbXM_ۏ`8Im b~RJSX+\;# WJ i {zؒ9KIJlj0 ,-t>S&DΰC5jߒR\[0Tt\޼|w8P8;SMQ) - ˶XeXc{L#rQb>3d\GyO$940l uے<&ŹاM),Ƅ}i:}GCT6AET҂EKܓPKIRhA>J 2 qt22ڄuwo7j5JX?J@,5' zslRDa$PZB%GL#%q*Dڤ'Bv/xE$g*c2&W@%icJ <4&  Wqcr qE}yfb}ɢ EP(!]C2 qQ6"+D91Od(+1@w̭\'~4#of6U(!pqLUtKv2Ӡ'J6-@`[ɁRI34+D !_(BO^uIhy1D%GY^3'JrZh!-zaek䍘]Η :GўS'(ғjҐ-nV9XM}l 0 2pB&>) TGaߞKNy99PM vp'1oi8)[Ǽ%ͻ#Iy}b@iK/9c= gXlj8a<7RqIV;rm5Т]}Ų\R6dLct|clHֿ9cE]&!U,A<,)S6竔7(u;xV lU9ª Fҧ>어 6~`lP/F_0j+HNY1R>dkAܮ+z8Lb~7,c8;FXdy1!:> G'Q 8jC+/#4fCl Xү#o:4Vܰ81^LÜJܕjN':(kDzR5 _0 r4Nv E'H5fDt.E;w" ^6XH C+#fj A4̿Q (ֱd=gw`1%-:{NW."WYŦE]Z®($D"o QZ!Tjd^ c%# q'Kj8-F%4.\N?T-|tZN.Ms:>]31T_U.|DI SWyN{J]a)rznlYД]:ն}6sK2T!3]mJZ!#:*>s>?+P,~@)amB-OW*吀 #&50õ(XУuoy$::zwfyq,umDr-oae3Zl~Ud\vQZ:"&,*MLFIrOi Q a gedi->i&V&bHZvˬp.^x Y 6 ʢq>qq% I:%/p:xE/!&K"ͦHJrf+*,S6%X4eTMUON2IZŸynJgMYyjGpgdZA蜼hەy8~+1A!nkvLIt?OE4"E&\Dӯ&K[澑`\}p9mw!U.hɽϘZ*abtԯ+*:/z$wxɷiR+рNȝMge}Y6*n&v6||692|¿da&;?q#Aw*4E=)8UrH(eL:KZ>X$YQȎ>!I<Ŷh8‚xaʨ'lQbAbdO*&@Aut̶Y[\zs+)W~C̝|vܯ-Un6>\ޝj8;|ZJ8W\ kKf1#EpLV[NpL! fasͭa<~D2CzaRR?I֫frUb*w#,=&^Gja y1jl`Ej|.H,(BFTtL@DС#As'3ǦH (ӕv[*gjF?*bƕq)! Vo5nM4$U&ѱ' F@VADG *>(plH6lT|dt `: BBb‚/#" `Ρu"6DVFКڟŦuBUVKA?cVn&5[3{Znt{_oێ{{'æw#9Kl&C߾F (I"J1:@ liN:3ѠN1* ݢ"|рd):,MeM|{HɺBB$ʛiP2JB)gꪆעO\HO?oKE.;.MQ)LȞD9/{GGCÑjE()_;a3Ni4V$ PTàvbtו>[Zݠr&e4#2xݾڅ@4%.@ ی!P @0FʲV2ІUMW`F<7}5^Ɛ}:Pp4 1S\ըJ fbjAfPUP!a;-V33c*:\\N۸mf)'t{Dɶ$&,򯾱mIVsgώY-K  5H>i=|pJ 34S랽TWPp9LT\)DđPAtO+mXirQ^T!̄@&pW"};0Cbr1߈;M[zSIc=V/'$Y\ݛZ F~jd>h;qg"MH&%]ӠjЩ4@b8I}()`=# ns#.1oMfCLZ6=ݸPĹʔg0 UW򿱻 "raA\ mJ,"_&'d$'w޺\߹_;xC^0](g<8q)F{mLAt7OJņ1dC+cB=Vrƨ)Џx+,[ƞjXTf?b$cOTF]>[z-L}{ -|)cLzCNEFP |y QD'\"8h3*ZwGkBAbD;}fij"gR Q cRY a2;Z^&ӂn4$J;x\8#Ǩ2 kkL泡Tna𗡸̪┧Cgr#b v  IṢi}Q ~=/64 0: 0HN$/G 1z#z Hg?SHzatU<&$g:\Fc6=1XR ;yQku#gl  EIB-Wzi)?כ'!nQ9LUB%%h_D =3<)*Jj# f/L̝"V2'iI%3ȖL`XETc *@"{9q#AX3Ɏ+ ^Ȧ˗i4.f!cH.3rEEEIm sBd(SΰGSe1D,F$4:m"`"EB"GD6tx3D|ʪ}(A)b9ʏ˝(txf0MgS]d%:g|~Q t6Dy̼qwDV#@鉬7ʝf/ N s$zB7,}]UA;\Q٩jBJʨSbij[; 0Tng$#lЍ,E @.hEfXHJ.l~zE0kV""U*Lb!U$=ÉcC[[fCUo)Q)7NET!0v8/i[Ѫ^UJq_~R@}IEKA*' @K%Kq 3;J pX'~0+2tyJ!8@^ kSFm1u,g]o{ujOj'ӎtC /sϋkM =G,5PaCS%;')k~}xvZ/"~)dN^$_H_rw? 23 Ȁ5|֋x9ɝ"jj G#HSϥ)MPh7z ύtU~ADHUx&-#/iTVQӵ5BÂ]-glje,Yw&i.Yh)qstH-@<>O}daN3{;/MӅ嵄xod\+Ԥ襢^TZlgE(LY ̧ZұXBU!LЮ7x8!+j܎h?y傒"?fPb{B̚>T̀E([t:M5ru/ҍQǹcEtXWkьzk+ aΦVQe]eT3EWBd$iR`idK#f!oS% .2.zd,/[G.n8_^bۅSy,A5tF:_9s^g?]6 /SȺ) qb%pv Q%!a=Gep4SĝL!L*W~У9BArWWˌʣ;+4wɐjȽ[+ؾ[X"r_ z)X3@F KVsrgTt/bhC%9Y(1AMмG!>OTgi&gY{f 3" Q뾲$AcN/J ڌܰ~dEG YQ hnSRpƓ]e^84X0r*.Q"c)\,һ/CCWa&4[z.@wlXМKcvx/0 x%zE>%s$OZ5>m؄%]*w8u%zFR<%bnx vD}k hծ \VE[2C:1Len7ضh}IV72oUx[e{h+)E.R TA#W,Gm ?[řDaw5gytgFrr%MqN̢ Dqr42ɡ'|FE,׏ޙNpy O)܈O >k ~)qNiӿRM~,/zR.R%EbOgzN)U15E{!ʮx4vCYz?ImpĻpj J+rmz =klHʐ hEqo"ѯP}J>a)I hKP255-f(g?@rH#ۭ '/'Mr5hE8UQgTvoLT^H7IEp,@EIL8B]Uft/StH͢'+B1Z_\Fj8]J] IDBFp|#x~.{Eb #^ _'g -i;䵒[R7ȝf<,Dl{9 65FOZ: H@1d2eW YslRN;%h/P/?%nzxú/&SZqi~yTI"5wY7zpH'X@;a_uedPIڞ⽔^wa>(Hم@B@@?@H<(EZ<婨 >Fa\#̞bȴ[;%3"#]e#D ŏJ ĵJt̟t1T<čwm~(pE[rt52'T}=˚˄.,R[VbV䂶3},K<*WDWh3ݫ(̑,2syUgչ*6Jbp}[`YeE$&mC@(A8 >>lj@ !9uMܧj)7s_-<ׅOdT" $@BG RbՆ:^^bKvTatIrOC:͜P7">i(Er&=/#^}R%gp{Tw@>^M.bKQmTGT2fW-IZ[rIdDJX$w@2GDj \.̋ӣ\*H8&YnKb1hܭxWR`[Xl6ՠPäi4 z4Y{SYq nAوDnPpxeČ]0̈"llD&'E:;ķBҍOypDEHv%HySR[IQ$FAIbJSI("g~gP'yIyD{Va:ʩ5F9[e.)2Y= ^ ?f*fMT>H?ʣ'4̺v^Y."'}DACNT|7 xj OMN2 PXF `>VU]h,#++,w[]F^7Xٰ\P|h ?p|%mj, r)W$2' Dj O1ȿP:(肢ޏDɅ覯C6k'dfE2}bWǩ*j˼9ɨȐL S=2nٳuRt.;Mm7!N$A9(zI& S0"3kl+mPB<&1#(UΏ L (0-rک}F(b% yKQdd#>.a7)y[hMZ,LPbDwΆzT!>tk߫~\A_.(YM.'xD\ #6ڹOv|"pZZ mwu뇸O: 6}bJiyF}:>Vۘ\tMI9Θ؜n҅k1C@_`*Q o2ş ,-r&$ 6Qsj!"9NQg*7V#O+UN6,"R L 0DH7@F:W T9l_fr(Z"gI> `&0\*N}iuGIٓûjpgҵjs"%+>- T OITF{_@l3ȏ+zڠ#DBxJ)8٘,g;klyJtGM+%e|`bn~~q꒔Q PF3]v"c.P}1Wa}YF/;29=aC6Lמ"𭲪H/"E5LcaPfy11ŋhz2a4$\-vpPU=LQKIb"D(L:6uF4:)pd0]ӻ,vlNF,6i\FHD;|LdI(Z\D ^]=6$7+BڣڨWY+a_eV>oIh&#@rGr;\ ،4ӠR,ot-8gqr1 K@QJuktPRZKw5jb 3{ϓE'XƠ5ݵ>84–SP\*hs薪iY}Wz')"f<6'11:) UɺɌ֞rO?PLTMZ%!O9-eV e MTfvoJ둳RLFNuBchMԝ(7j\RqG/Eӹo."D1*Qr!9f $/*6:6ʝȽT>V9xfhwaB|ihH1gjnC;z.~[ $Ŷ >ՑնS2a+H*!RlLW-%4t @}F4y#a(` Hsu} Z諰5PC^pIݣ?V@@Wk2{PAcfbGSSGؠqL&~`$BoJVT[*ӈ]ǗVTa;I· r  E% Π9Bu%RH#ēiQֈ4pqa>EuW(]"C|]}m]xD.쓱2y 9&hQC<+EP3"RB953-^/L{Թ+!| : [fB'$PWsT6vaTBɘ蘱qr֏ 2@v3|Lj;5≲Fھ7dQB+EHQrlΈKHc!!z*+io/()՝=\C30@ -B'kjuCN[E|?td'X4)hFS)8N4¸JIID[9݄@RrKcI7ж_d]xF?w݊욺8Yh,ͦ2nGG{9amUU5Dc2sJF!ȕe.)Rf of:yz3aqB`pH40P0X9 D4Щרsb,[1<3_`w;mM$"#Q%z*Wq01 P?tH\Y~l<.O"8U!N ,ѥqOnn+l%Q k52rE(8{68vS[M2 ݡIw=ycc\;6z̿{տSlG)5Wx 9jx.ԍ6Dŋ'OI1 qԜ QIw?9"&،fu446BxN8$5*A $< "PLq\HqEQsR,7G'#"h%Yk륔)(ȴj-p|JGih1sA t>ӑpHʰ LЙ_|ԉ0 0݊<ԛIQ{.^-,3XblC̯DpU2SD0c2]CV}rTe*@ 0 #> pr5UB5_B!$_#KDyYvqhaƊh &5YQGHbN֦ISoRJR, RF&iԄ-5Uc2Lfd!ֽǁ!pD2m8 TͿgc?ǰ/IITTݩHOЖ\P4K"9+29('Y, vS2*ѱD%[ B3~wl֩/n* ӝZhvNX;n'4jw s5s{+?&=㤺pNTNh٧:QtaUNYj&Ѷ@_D9A>@*UyOQU8,X?2 2$>; Ba%1XN'd2݀H¡,`M/eCA'$3*ScaA@My Kod j>X+10JӔbC9k{֡D )(.Z7!I|([Bȉ)S;BՓ9e/GFlvb;GXXBP+(/X(Hz2#-WCUSv, IVg*DZ`1@@/%A<|S洛Jl$!mp<G/PkO"I=T&*x.IDB 2J,ĠIVӇނxH xm|\2->!W30qHC`i HP<[T^w2R3"Ue )bJBH~0RpLW5i 2"Y58 x\ S.䑈ij)jlBl $CEꐻrRHBy!;2@8.Iyh '4JG#kEOJ^`̦|jQ;4Դ']f?;4+3TIҠ#ӷ ܟe;@$m3u%`FH_ٟBzȕjӶKWQV`vK>1a22C jա@Y|m6~PQZTF:i=lETrF`Y\1y#%0\0 ´@.nCRq,eFO"hxO\H6f=BJG!}ggɢz|Ma3+g<+(f| taeE-1)ºSL'28m[Iw:W6M =r?'ѿF#Q9Jtoe z!WTfPdTl;t\ޢb&)wܹm+ ZUr?XV2F([L؟eLjmli7aʌml4;6S׈IFP= ՅaS8łack'L3Qs I)&E5|29 X Z"!(j=1^͖#J M_.͙; iKH\ ت1xUT?XD]ԟ4MB[L\7PWA4&^ +kA')m3Rh#('%jUНQCe1,2^@F@Pֹ0,jAq;jХ/]Ρl1f.͏hK#XO&KJכֿ΂Ul| g0pRJ |xL誡I䔆A6A1[ M=\9(z BAP&p +Pnt1[D+ 3??]]O nֆؗBq#= FA%G[Y¥RΎPzؿQޮ%oYnr\R"j#r];*QL~ E ;؀ьB\0r*1O\'\zWΈg*V,Q҃rdܼڹ/5vbb$˂s3cM/DӜKޣEXerqW[o.lOq1e^20ҺRT*ŝ~<1AG.N'p0[ڐR"4G+DIQ8 CR.xH! Ay; тìOfT ]=-6D@@@JZR~%!BDۦP%Rl!@ȐR]kx.udM+ FcƬ20%Um 'Si[3#̛*名] m?`d0io$C-Sd_SY!;U*y/L7+ xBz;0x%g[л@g⿋h/>@Jvyug('UNɦ6ʏ+-%"=%/}4NJu4(s/^A#O͝nN8"bUxQ4+);xP`4dlSyx( k vN4ZMOX?Pf&?@Y<#d.gY-&haR:ds)541=,`AS כۺ;OwvX/]W)7ФGh7!*wWzbHJ Td}$qDdk -s I0VdkeFdWY1zL Rs ܅,22JQ'g^?^VlaKZwIMN B )e 'U:@BH;4RSDԙvXD掜&H2Р*N/RG  ::8$ +;AP* VwP?7ܸbҩ/r4{"G ˆ+*Rٸ3T싂b+v[$TD.+XY"^MihԔBޏ~gjuViNp@} 2"+=`AI%[^f^}˴i*Y`&N?\!7s1uEU]*4:R4wBrͨӗg<}7ߙ{DQ:ql0r#YJrz[j%TýH\B K aXSlmQf.~iceR"wobyH;]>5_FENFE͔.aaeyv5^2l0b|F,F3:~1_Jx\PBMHvJh!JENښII ƉyS2,eC4I! UHOYNq N^)Ztp]cR#Kdc{W#zH(_#1 QdVg+#U[F*K* krk+UU3JOnLLdnHBSŮdn2e/ 냬ИtW6EﰚɨȑFLh֔߱: _  {V-:CJŎ+(vFcbqm'oh^[ BQ9ߒɈ Gݎ8L c=Y,H(22\H4'نk{]^Km5 G %1%غn0+]dŢubȆ+6eŕ^FF?rB#HpaA_#20)|LVm<^C0P؀2aTH.\ROw+ 1\ӗF2銇͐,`EjQYe+lkeرDR"^v|%x"F$#s۞B2$iȿ=e2K 'u-q&W{3DZ)5l E J'lsNԶ [mQB!;g:+Rzg DiFu 7HCc 6] &`+M!*nB*;RX70ʚr yHf8)YTXIU'[sxS4Q(ӎ TQΨ* 3+Z931ejA"F{"8+g($vY;Yu]+Qֻ YBBT[̍fu:% 2pnPX4BMV&[*چi2O9(#L~ea$,^wPxUOU9ez/\8=u} ) 2$אME9KLF">CM-Id YiIG^?}9JYOۥoYrF3g~ҙBa#(L-u4[1mf7UP~^d[^ ߊD3$"]E #y(T,) 㭓Eh*asW&LۚG?#CpV7 %N`!;r_H= f茐qפ iو̀K,CB*1E}rb'ŵ!)1q7,DgE+u3B#6?H3^lŃd1FZеCu)kHK8HշQ2dWcD$+t܆djd"jXM^"2&)= U"bn!sSs%Q`P%Mq_qygF8=Q-#A +S߂.jLGI%Tbf>zʟ؍|=$B6<) T5F/Z(2lDpz'T]^0nU7YkPΆ> U9@+0m`p$䔧g~JّΜASZNȯm7ѣD~+ !hާ1%.:2K<ᛗMH $iFiZD{רƅo+U7j#so"U"X: &|I ;,iP\X)HYܞ]f% |H`]KQŤGZ'af :qx1*sEu]yC#\©k" iq@rbךv" V_5RN5cZ5lc64fF9HV3AhZ N$%bEܐ<Ȏ0'w#!jƹˑ5nv,teoW8 LG#?.0V;}jp4H?B=Ӗ%Ŏ}. ym>=x!E>-fmZbN |#-ɼEۦ7j`” Z<#w"Ha٤*)Vvgt]Э1_ ̌'#S q(#U]4"%)IU5&B5H (e-vj9BVR~E v xlD"U TUoXgȽH Bԫ0F3TM 59`~L]^bҼtV:i-mǎL+u|IDE&NZq?Ԟ*FB#xzYdE@~on )rڃj'v#1"p(KvJi*}hڤ²{13fBҗRǕ'Jli$;3ү aezTND*(T4A̳/6f$6҅eR@+AG+NIuH 'rQX.R9CaLus^#Die<}L7m#e ZU(돲#4P96|F6B zVyP+ C '7pѷsdTͧt&Hkq(PθZL2$w`#dJu-n],A5EJKC@Fv$[.MQ$-8d`Op煼Q샴@_x 0H[i1", ]D|Vy3,rcEqAt` (L{,!ǟ^Ѫ% 4~;$62Ȱ80D%pE IM-g{Ɏ‡.O{4;rLpl? BZ -zw)!ks,XN&E?=sqAn!)D=S=6i䊍cb>Zlʩ##["> :][TSb|兹$BY%{4#.E"t7&"NJAZ\CQ.!kd\U\[ѸV$՚b[$gb7bHtzڷ XMŪ([F9'tLF^2fvr)ejA8.'dW~dZˋRT)&fq+Jm(([udWb0fZٳ`Ӌ_#ճ;nire60iaEFnKL)a58QX\me:UkE/Xϒ191T XjN^w'H}NUB_:(]2(^'ʧxָCrO XfMEq6̩Hkk29WQG\3H¶*"ExV{+QS/{!f\Rx-timWi5MM[:@)1 >JP+jlX*Xn0|X`>>lr/C&aYY{nęHBD)t^@d 8^.Val@4 8XV<=u9c&;+(_0"i^7418-įQge,GĊyUBt!9,q%z ^[i; -boNߤE`LRB)2{a&#jw3#IZ]Rw_VEbdi9c3vN GI^$K}.N`́6͸)Q f)A<"@Lh~7BW`‹Mձ ϺoYYv.Z`=, LF m~FI 符.l}Y*Lsg/֦*?hja,TwEj ht.uyO-˴c).=*,zjH_wi:œ9H"Wꔅ'55p%*"RNC(!RH},E8!]|Ag"(Ċ@ j(.WKRU5Љ"t-*>\4;nayL:"$)0mϵ\B"gxj2-,+!3>MP/ڡҦ eXږ)x2.nR2LX]؛R8BD w0$+r#$łp1'PI>4ҷN8kLZ[iǼ[H7"veOیQ ?ߢ%P^L g >LҦz;L_ʹv\쒢_bmezcV F$D8]!'_ke7%g\8Ki_b CU!'"X{\ٴɟҢ[i1=)w!:EŤeI I2h< Q0qW;CIܱW TP'Qs0а5!.B=Y)˔vTj.ӧJ*ؖO G)Hƫ֍s[I"xv9?h#1P]<._dVu+^)w+VܢR^^r`zR?L!~ g7RDwUVh#u5NPw-fsh&3mt0Ei"Ci4nh&N(1ghz&)1J뇚b F&qFS̓i)ӥʡBh[]6SȲqE'zA‧"rqtnkעx 10? RDQemK@Nn| #i`qe/ HT}G:͆RpڮyRl~Icin̺>EOEFdnfo.4"Bݲ*Td\WW~K5; ߝ\;ތgѶ*hMT-r\|1]-1x$# #%OhRH./̀STد v~IDݜns>evN}!{G]ڄ\VD~,OZ3OYQ28gX4c~ F< R7V*4%>. qNqSt& )T_qS3zYGV2`])Rm!T#َ2~<6 DN@D= 8Mi2{?KTl-hPU/Knxyt9,QG̱\|Ϋh>pw٫_GW2ЫǬTR!)f< 0fKk3G- W6_Ir> JmbZ$ n$+,f u K|c₞#9P֦Ǿv "'MΌP,JdvɺF1"Oi2" jIR!\^(4ANUu=S( pBM1[z)!v 05TE5,$h]qFDX' ( VBÆ>AZ6G!PXȮZM s.t΍89N!5mo-[^|XǦ͚Gܶd%zX';kZ lzx9dNYv脥l(IYf `Ix0éa͝.XƲ&.2rRZwHUB12Ր %VlT4 A#8^Gd- ~ N}O S;Q-_4g?k{:R):9H+e@?IMKJqdh$&G1B;1Ư:N5EBEړ<8r}6gRcvDE ['AH%߄U Vd, XVWQ]@*M%ڬxKQR9P!v*W X$CKh+n|fwYHNYE)F{,*'J{e ^IL9yL=4zq;`^@.3~cjOm`̠bD5~طkU׌+Ps`HIfp?Raqߋ!_ux-]$+Y"tJ1.z#/A!GX܂Wy$\f9Z+-WcG}SqU}H2Yt׍^WQ^vomm X^ȯ-Ur_Ѿ+K?)JErLOYϱ|ٰVH*"Rױ GԘCg\҉Ԩ(Ql5y[QS1#I̕A@-b5E -ƕ7ܾˬ'"(d4ydJ *?ա>.\EUFnȄH򌷡9dw4m`? [?Ŝ87@ @o=LP 49!9>$Q8="P5?7diZg!"Q2!pyc hD$?(ht ;: w 撛4XNi*d)l%N SM#o5PQ~UdkcA0 n?(B_i£vTU"ŦBE]kLpDnUM5j$,:+ˁgRXA6#jYZGDQ%J oԖ [q)t;RZx0Bj9bPѾ@b'={g0ŪMEi_t]i%G[$^ΧˁP9bZM2PW1 zC$G9%0)HjsܼMg,ʔ\cqr\VfJ)EH"! }yԻQط<=[%?25&í) 3uA>IIiS%st{|)!=.ie/${BJe{V|W=bGd!ģLqA|_\T B",SKʿ'9 3\؆v΅rHrEguq4E+nGEJSoo3zu떵)fzmU iwgwzدm<\[x%\P"'0U+4Z6?Gwڦc͉ep"ZVNV€9<"! IQzde 6!rqӜAt]֠nͨ/ [P:_ZL=E#O h%.0=JJLuxfN/;)֡4NFAX4}f;ezl7Ei&$(a~R1SZ-Ǿ8mGau{9x"݇d^͉_"ýxhfٽZf9|tu^?YZeIWgR׏)1҇$}/E"+p[3kSɬםޖQkQTQyH~tͤFQ#qwoN&ڹZl|RTͮ@o^CXO.m5W5'VSÜvwˉ'V]&Ґ^; I^O; R$1cJ{.'%&U˚N{Pp.T?ӔL#/̉'ɂ2hZ[ Ck{sl[eG$UUq%_ՏJ)1J"˩~+Z2Mx+WRn~K=M f1y}LQ´ZIVL tF&lp+U>^ l] -MWη.KJ{#u␈i1SG`#Mv[?gcd]3gs~^u@0u ɲ8Ȑe+8=헸d gL~5eqhN,Đ?F帇Կ%.)*X$;i`UҔ5s L UڑdW}X$ #z/!&#>B(&Tqj]K\0_yIgeEPaU%Ȣg%R%&E.+z7/= $H nj6E&FtXn dVJZ8ҮqG#|̀"% aGR/  pIR (`H $BQ:ͷjpT 0jL*u0@ieA#,;EExRQ6E"Yc1 R45[!E$ J\cۑb0&.;tl)"P}&c@Rl '`L+Z#H+tWa& Bc)Ǩ(}$iuF˺L[?O|S%DV\Z/@V/mԤR 5uZ0Éi$A|_ .^܉-7ʥ5D쎾*%|XQY+CIjmr2tN7$`OOLLZU}UG򍝑]ZJ?~2 ArNv Y r:љ(MұZΥ}BnĖB4UT\${Yza!5 k/dT'd-͢qAГMSZ'%uzφ3:r#v;1()m?|Pj&7r dbp$ݹbw[¤.(W*af6 5}wa]~$![r xr9"FMh-jȲqB,ѴΧAf:}iZ,ЎO9IϪQi' )wn^k G&筲4uWś~\(& tBႌKu_ϼG<Zߺt<_@B:P S#X:#}DB-䋤V\ q <^롺2) tdks4=եj7_雘|)d 8 gS1E[M(/Kη@kVO`Dt[U=&}Tvʚb7 8ShۘG4Jrk9eTst|G5WZtq%-,5"-RݗѱJp)RgBB$U \{%XL\8tJx~)&]G*FRm[˩CSbSi|]ړUIw*LbփBT āٺLxŲoImah$I*2>b5l]0iKRl5c8UU529#O:[N%bvwЕ8('xS6I;/XodrQg|<3'BR9~PV~W4 3~ivZ!ʉL0g뢒g^-W>,{6}DB Zt4K)x:}ùe((w | 鼠A&Q; ;@S%>F;e[r`]}rV56%%GW魗RqnL\7rߗY#*'1QS;Գ۳*K_j6]eu캆" D#,S:IuHc +M?\S]$z' ۂ+H%/mJ5C1 Uk,$E:\R,;T5&r3`o-^z z|S2(T I3PAy2!_6$oÖY1|ЖEԴF M[l7jԾ9Y(%Ԣ`\[2uZY=h†'b)y} | Y6,H13˂ZG~}eHAeqhz (\ꨯRq%柒PQ_4+KgfUuIކ)T)ebUsO?k輯y;3C x4teY\c0d%r/sꕕNjYH>G·B5"#3*?n Hi!IBA /vJBlr=Y`(FzuOUܫZc+BF%BCV^m' !1$~y_ȵN\J$[CJ"~L핫 NWR Nȏ(R/d+>!hWnLBLjٿ 8&@anIT%<=7aq?I Φm hr~¦?|XCI" u3 #~nc=FbMB;e$YN*qwZZ8sy^_B8^/r%(u?P1*\ޫfR] `ȠBUp*jcg4q<'\t}% yB::&b|fu~+l?r>-!m̦ƒv.Y n$"̌x(bP+.ɱx(|Eid]x}o~}]ew-NI7сښ115lIhFAqj,p}X" #2@nwcQkj&gT/h]SP*~B{E tq)7Fo=?S9Q;\h$.Y?6op-`&=Z 7٨kɨȓLLD$ܮ5ԗD >қe:w϶9CQwM\WtQʢ}>)[|'CD48.G l ƒ{"kȕPºu'ʸMn$hw妘{ht6갨?oNz.F:XSsf Ƭf q+.mʉZAUʪ=;ft̗ުܔ@E l"0K4sx>=;#Y,O#LOݥ 0z7TSJe^lIN{A_]F'9\)\"]I MٙdEZmB#rArmIZ‡cm$H-cb+VlϒFNV XP&2ډY",@Gjɫ3Q * 2$/H)[ HWnЇ-_EM8C@658+-dJoa^$DeDeW[ u=#;_{0Fzȁ)^)ʚ[&)USw'$_>(4U }h^`j Vˋtrqbʄ'/GQ>K,m%NX %jojU*/B[ $Gl.:Dpiq;ˎOPS/pSöơWw)Wȷ)IbT gɫo#-4䗁 iUZ] QQDhln~:a8%L2|~hL)%N갂R&Ջ0dK<ٹNږ}<'8w"t`$ۼgL#F{,Wzؕ(>2Cِ *`c9N#l|ٜLy#p SZA&6hɳ%!A`7 t"Dl+"cD NĒ1QϝA3;Ԡ#3rQ7)! =KG=FSPBW7&v=ęnNZw,:7YT'Or؁+zB7+}zA` kHYؿQ,ZW"#Uꁦq,q zFGĮx6b% {o^ns]D=ꤴY/#D3슖2sWq&wY^aUCDFٶo,l}iSTrƷL=ߺ5֤5~7H߼=\G]>l =>5IQqGZ%R$TZf ~uRښ@of<I*fֵBj՞.YM %5֕%6g2jXJ"dCj-7Z|q.VGga%tf|˾K5UpՌaF^Pυ0Q6ϕqJ,g{*Oqŗ)艶(4om 3g,}Y0GKK/hygP#)EeHiyu@<> UfT.|YD?4&yp݊4XRuqv?],u'A4qXPuĴxq8$}3€%-Jj+\(|-g%T^]-L"7an ?Ce .5M>49&: ɬ0IeA7[7.(Xu(!f1|HKoa T6Hob_sft<Q*I{ix+yɇ f&h';e+)9 ,0A4qBnf Ly8R XSAV'[Nc~ o(0@\1lb"g XZ'%̕jsu6]ģ%(/uxfvLUp 8YKWjP$>䩃2VJeBIԒtUV@c hL`2%p,Q=IwFbcSftMo>U q?%DOtqdL͎x?;#"B qF-KՋWG_=F|,d2:\|Jɕn kj֑?y0Lm_6Ӳ\ԙ!;hc6n)*$ /+SpQmnw}s鉘bF[zAvx_d!Vr\NKIIw17\OW&S'(lq%Sg ]%VzܜܜݚR +g=9ާRr! TqrĥKak2:(_w/c4H7vUl}Rc_[H  nCuAɖY>\eͺڹST͈MyH!pڢdQ*`|05.T\4'&Y&JʔR :j*Kd&P+$LQF\L?L uY*`T)a (}Cğ% X8\pKI/83ϮOԓS'st&Q!Xl$:RC7u  Y]Fտ/Q:DAK iwqF!$D*m .IQQ"vwU.@b"k2UH1]k.te86%P.#fyAVĄ|X$A!dK40PuH&pс%X,F\bTSEHPsCI Z&JZh i*APLiYfT|⥗!l8\Z$%ᎌDJhZPh @p 2Q;O)R[K 02)z:rtlRmcFLMekYD(-!Y,$T1ya Y\jw:j4<#揚>|D C-恑~  B ,A X&'>e]s_^[&xjD}O ň24m‚#]a"8I5+Mʩ)QPZ$ PafF:bQ1TA0Q˵o&"SHjarED" }]muʐUCYBtAעVlIun|ګZ"4M,&Dά𘅶!0@PZq1*!LxQRk&GE7BO&CjS2a˔T=65F&j%SahJLZjNQLD@$|a3Zæ"4xTHIY^"9KZO@D(XYq'N2Z)qGL}ۑK>GjnPNҞ̊4)m}MM\ҒSYq8LlG+uR¯&gx+mɕ|Vnq񢤲RLJHrQE :CR.is{cȉulHjՐ,&)9KDb͘k-AJãJ1Rݚd§2rZ嘹ɘ""kb (ĕTm@Cwit@ vpTP[ u{ U9j!xCY3kEn'v="Ї.K`ruP)_Bųx8 !A@z aBAY:5%,@G,=PSD̺T8Tp* Mwҩ}^4 n#1=w1jNׁhC6b oPI#AlH_b7)/l#Knf@k  FNA3M.bppxDj E3H;gRgNC4(w_D* L/fU(v˕ n*77'B: ŦM((d7fwKˇY e%WB΅+S,"p|?, Xa!^v׿CP#ZxLs}E[6!Z%r<ԯD +(隐|{NQ }kFkЅINj5-^2"~2BҿQ *%"R)uHzx{Yq18-VNӛ:'ůy?$: )eC P~\&,B@Ȋ+0Arm,$<#x@UL3fDx~bgK(9{/zt ʒ1ò)Rõ&.oN1 $8L[v0fQDA|t8gJwЅ(Zr+|7>_+魛Oֵ%(8Π1Z✭2;&<3uZLhP?:Ƣٻje·r5 ݗD3[sr9zҔ'N6 +:_"!E9%vf9WhijLC 7kLC =^C \r|dYI;q&΅CQ|qLoJYBֽ>jAPQcͅgG *vJP=iJg# c:Ubƈt+U5PR5642;oOkN<˦P]ݳ.&' 9{DN6P`xk!e`_4TZ"une"${.05"ô]`3RDiAۑ,eh.hXJ dg-'5Ҍr#w4{6$eR*zQO<2)SAjWH7C޷9"Km k M,jvn2;r lÜm p3= JV+eD(B&pX̵k| eӚ7 ͭl͵{ZLƵrD)bh&y}޸ >D%}V ~݌ۨ۞nAUj*@VmLJqtcOs -B~1i*n #~Ic*:Dq€кyuebM#<* c9 Q]piw->\Q횒%r(bkT ߫ΒT)-S2%KTRzro gUj7IkW*.mژV+yU/"L"ɫLp# BDTNDtc5 88Bŵ_60x NrR-0zX>B C \t>lв0dT,`k &|$HN8U! c}O`V[1ςRAj Xf9NӍb'łJ2i2 $ ~ |M"8v׏1cPyba`4o =6 dpMƟhGsuذ-a% `l &@TR*= Eibؾ68z%dĉK{@XLt1C<=,4eoty X| ejy$Ovr.1^fiL sFr:8 D֤i0Se2Yq{d|L!9},\%4MK.‘c)<2R l lAknD"[& (pc`,|i)<",2 :a%,(Iay01Ȏy.^D\cUS ,\4Ӷ},&gȋ LRo4JM468BG* XmODiHm>!"l9ѐ< Foepl`LB@] @hd,.:5 @.@R判q@,e/k* (RAU#TeCD]ExUbzB$&~cb¶\hd.>ì'Ox 1ef0TUXEKwxv3bŊȡPL@!2>O 6 Ƀ8xd`4v}ZHwuX ,\#!\I MM!` (3<.>4mu}/? ۶mjtxO* TXLp/3dP" uQ(%i' 8<Tؚ05(gȟGBC~qfG.>Nrsnd 2~7bX@.<"ZWsݔ_ 6(LHMm5'>}2"z,>(tYv8!#CTIq!E5jW $0FN 6œ 8#p  4/u>$ }#ȖFGI"I98'IVNC}Oʺ(nӝ 5CD\RzP>8MqAWx[8͢ܣp f2ɨȔ BXW(nk+ThԕzQYe!PEyXf|[bC['uv_ֳ?$Z+ |;s:b?%d:/~aWunrַd" )l3e[XCyt lOf!ʷDL*cIr6Ԏnde-튟L3kt q#YpU)Y"HJ/CBb(+R 3ʕ$N:|~'+8V(8 sJ5.WU'#Uݺů_GU:d#Hb -d,C dBnD&\5-bZBTces;9p⡒}RkR`p |t(abBpDٔ!&E 0I2+|Zv bb!!3 UAK+}֔T_")uzb"6bFerEq*m3a(Ȧ$䧓e)_KBCZnK"N.)5șM{9jMM#"RG$g1hS fZsEjH>FXָtN?C(8P \v3y!U[З''*.07`mbd Pc  B|*V'0J(*j:^ 7dL JNmw & CŤ V0 v!LB%uM"Qg]02U(Ψ Ҽ쾍[ӗ.*8,&)[~lR;QI1ʡ]\p5/R`%5 /+TB5(ZTVR"MV2m%X{-W@;ssl#t"d̨a^]5G!d:2TCې;#J(c Sa Ł An"#(Jhް !(ѽI3 Q!. A#f8CX$rV@@JDd!cwTyBP/fAN M#r8_-. oU<" V/kTRȽݤpHGcJv/ w+IRvX"|8r]/XkQLE ظBkpz`;s!d!ܣIgᨇmm(Ŧ"ѳzqH㱤`3 DI{W@^:"KaDGuIIH+L(&USu;8mFꯥ[;qt0C:"PEܝۤROi7iٹMQD9LQPЬ%HP̷O(L!4=zҼףWwJ|:ŭL!0JpLqZ=8Y",4! {5BKrQ/+%.!L}.T4-Y9d:dPת|0 Â;{r s`N ВL0y2r,})ֺ-' B>?rԲwCI`zL+e'BlkUyWQCbN!qJžg0Qjm+ن QByBWpS~cZiwɗi"qtQlb B QkQ4K$.O0 2}VݱXh@r.3cᚵ1Y҉*d]J@HzV KmԙwF7l JD9{H=:2q =8Aj6$yi:1BvWZS0,+`J/8gԫKڂr=i?RtWv]¾!&-9ΚCLJ쌟b!PjV'P0LڡB2NJSK('N/[H%Xp@Zl{( "Iw\YA$HKhYPkfwo+w'Mpjߏ w~H.?W<ˌA|SC 1*-1P7G/jlSI i.^X_Oi;>3A%d($#~<M4׊5 %,cE5OQQkyJ4JnQ|!?ZÍ6[ܑZ Sej:Srhu3+i,a†0gךmR$sW-SS)H)]GG:ZIoNka!W,na@\80")hiZsń<  X۬ԣK58aKac"v,}.dJ5mIF񢀣Dv)>j pF*v>ϕQW_49 |$JDYDRF^66lrpumYՂK-&;} iD-a2 G d ;h!b4$BcD1îdSYc⦑ I_.JpG, !ƼSBxE1!xP dY,XKC"sbLM! X9+Hiڶ  ,,y<  f!@ 0{41"B8QaA^$ }q*xZSZ[tzI5"6b8U, -g׈dࣱG)b`Xf x`̙~#)kPh5@yVJï |p&)fb)$cT@l1d9BN֊{?McSy-+I[ H-,8ԣ`xTF6G+Ke&$>A1K{7-,Xp(D=Aemt-B&ʶ3 1~`,,4aOR3Y5^ʙDטȇa 9Y-$H)OBT:bXhKL&!@U쥉 "R:g[I$*,+(@zdp!,T(`<c^؍92:NQժh 9AnlBTPcO"cR(E8Ә'9% '`ӟ9w=HH^ NąZX* #!ĐQx8ʬk,`jhQ+f 'ZPjXVG`$,(G&2 Ke%g)eo xYC>[ [2%(  hXy!y}Vh >Q,qѢ9ŋ^A!^p).aHJ"S '(0w 0 x0QLayk!"qfp,sqz[9 ) R ZT(vRyFvXjMch\X#nS`D sT؛#T4yBH--9X`IkeT0lo4ׅZS1Y#AUd^iEԦ1x̔A;O=" */ ;K iK#jv156X ?^[u(( #zB< &4M -3v^b u&q˙g"*fk\ לBճ]E˫!q!_g(yXY/#IB+NR8VYv˼hm|Gu9w┡ wK,Sk7xްnrk=&y+d:s_Ls^; hɒ@˫$CS%5>ߧxSpɲ().nA| z z52Nl8!LyK|8׳"{ Z'\ʟ-) aj+?CYԥr !9(Uv )G& Yu:fc f-+&n0*iF?u0 e"P4iФ)ɨȕ TܴM"T0a\yT\RJpgA2]M,q Ht">'xA|'|Y3e-$xC^S%)rReC̵6^~{F$~¶{FDoyj09`6ʁR; 92 pW}G G{d:̉'4)LI9"Cq"Cٚ[<WG5oD9%tC1e!+!R4K7i&(K7$r: b_i ٞvHu:45t=W(G2(,rxz4 YIKyLfZ.Q%I$9~'~Ig'YoTߨdX9"BX(Xd~Y$Km罇u!\MG4uLP/XEO W #a5l}9qi}MotMNߒψF3۾c6/Voan[& ,&§\L0'EVdȋLM`PCyц8u$!ڝR<^5lE( \40 0: Z&I[F YQMt)p\PUgiv5+Jmn*œ~qIf)+KBKhݧW"V‹{_1eQe1)&^ҮB-dTJ,V{8~IKFv 3Y;}Q>"dt ~ET/ɉsӍ;X@tCmX94=t}ij*vDt qR6\f-=)G(&!$B2oy$Z}btX7n%*"I Ȝ,KJN|S^c;H8`Ļ)UdTEe~OGl['I{ȕk88'2UUU Ow]^/ÌƤ@_ɫ֬ 'M*QaNlB;;܀:Dc%AEtQ~K&an+>!e'g^Qaڮɞ荷 Mh_4_9us={|(eg,!~;ej " Jhق*UEQ>{)"~BrR,ENOt@ ?,Β(edw|dzTLeIDРW ͉ wA60̲j&F;Ya FibpeP[HB&2&ɧfDPm\3luͩ"?'w[nj{a/aTޥwi+VӅ#3Zn>& &!@rda~t9/B9''ZLw: tÒIL5s&m4n$q4Q/K5L!jLw$-DB-sK^ Tײk-b1唗I3,.rp^m*(~tXJxBSQ<=LTRe촫?|3PRbĻu 5 yo$%ݛٙ(!J, ͳi$FҖDΗ3w؜0u´_hKѯ"Z4.:e0GHEиC;^G$2B4D8E>GlOcnI5,䔊v5X$`ϒV4hkVOԋb 4y^육d˥""-u}7(V%m(_'@(Ll߯ X\$V B&qR ܚLID 2MkmD*fA76;W6XGJpޜ3+黇=vhdnGB}\ (4-2 $!𜑞17]$Z(jX5}$R%\6_}# DRYCD+sA\ ?-J:Jj0G` um*gN̥D0u&u/ BU(fѕ9RX%U]КVQEBM IiC#d:pD--=L W3sas #lb8jv-l!%lJHns'22jM|Y|Tw{, nɀT"$X[!:(q9ڇBa ćϖAȉo)rA"@m(*v;QS2T|U|ω_ڑ /"s/c5?jǤ0VR.r,MU%͹*=^T*Ykm~[uŹnm5Xp8pS+yԷa-~ߊ X[ҧMEZ|9%m e))7 <9Cź~)XrP͎1fSJ@<.)aW;+|Ŏ/2ЙHؠ*AKmT]U"nbH)BkjQIH--eNa,1N6cAgEn^P-_sSא^G]kd8h|IuU5'h%+Mu1,ItPQ6SF<͕M~-n:p!4lCTܚV`LA eY DA'l=ucAL9tU" Z FpBidA6uT(_>s‘CQI"by\U*fڏDKM}7󚲒/˟,~sVs些 *cr(/8FB.kzڡ@ 2.6& "064px2: /"9 φXҵR=ӫIP vD/%8gi/{SVڍHj){9\S1,f63O[?'X6j̓ǁ>̻.k$܈\k ]KC#īr^R#F_Xm&-dDiMpemFJӝ{YS2K@|=9*PL& @ PNZ >[!.,dxGI\ mlow}1Q, I؄^ޢD3^*KxAtx`{rjg&@͉}$Y d0lp 3 na}(XZˢWVĈĤR& Q S= tptK~(LRb~qLϾd&3(uC ճ M6ޑ$ڵEˆ<6v&ΐhv6qcDh>-!kg w˸م[Opވ:,8Ѓcl$`Gi5ԙpDe%s W⣠DS/ 퇗PNI}Cg &dҩZT"Dن3p.nh\4\H@YWk,[I<PFI|RMN&F2مPޕLӑtpd,U(.^K6^7,A\^"p\euQ. ml@.nts2qF.n k!l$'Dꖈ87Ϙ.\A" 6@4vy1xkDDjō jY]bf.;g;FJJ/Mw:dJw/P:@2EmJ gϰ E+`(H4 5լ!QsB:bsQAՓdLOfDy'W!#lb?2*!FC2Z$O+8g*ӽM$PK۔%?(H$%PVAETd=5Ew,LIPuU't+ńBVӍ*.C59xE]\< ˘խ&P(]5*n%IVC> J  X@xfSi <A"M:A>*<4Vn<>ie "94P<2 y5Bva, 8.Ozf<G̰OLF24M&  +]wD.RI.AFu 3I.ڸ iWC(*OC q`,$6@NT tO ThniVT>z u(Њ{11IOd,GQ@q8I-S")? b_|* ѡ!J;nuQQaOB qa; dI(D*GJ*@bdE("VS2(2F,Zj΄q*-ۍ]vtHBTZ-5c^H'Ez?GZ.26x1 M嘩2R,UU,QrÔu E>E 9}7lI- 3ffOF GS*TsL.MTrxAO35딊vNK;>OmJb>=V~d{7f-TgF/^=I:"2ucbJuƽPN#xeH>N;9Yr+&υaY&4~z#5K{'So$[esepؙ\m(Y@{]Ck8PY4dЛ* 'rm5BE:j$SE I6(<+۪U$*c)fjd߹Y?< $jP@Bw~4W>Ưs)A1BDQ"W}HPEƅIjn8`^PU +P u'GoGz->tPTAoBbW@X6ޔq1x \%X;;>O>}ޣ!cHq@ .y,*vB3$9~ȡq$W68'v 0VFδlԭ>?ürY$o|[ )7e)覚W܏M91(Ƒ$Wb背Fd/eYWvsm|\:r$>KR&yG EZ,nING<,.BR+6*JDpK҄ET^u*\\4T|rV~+X.*ɈȖGFަ"Ԟѧ ƠUq8 p/3#pEf.IƗHF Q|Hm3=~bC5kUg*H!h@_(' nT p.[}4 '2@ru+u:WfӹȶWAwÑK (ݢ!(X EN4@d li%j,vpA>#>̄"4E]#J;V{ :#ov\pJ2@#r5䜑evB jOy}L-1 kوL.yդ'8YQxLPAjwkF61H,s*Sϝ~l>\G4kR!ʲLKA?m}^[n e*J{BmLcx|BY(.]TݽL&zp~"_&<.#&gֽα a~%%K`J|wBZތx=}PtWUBdFGe2n.(5@rA"Bh3Td%<R r{vFVBf᮶JG-DI뜌pl56S[P:>]?[oI"%8:/5tBqB)(PȅkR|4] Wؗ+a/b#H8dCՄBǬx- !ޮ\aM?;<L7 / n)nlA<%Q!`1im^iB:?XLSNi!fmAXβP3. n2XS[bR/MAlR",씀A\=T#:l4Gk3RPbr3;ܛ59 QTIԶ1juJ޷.4ydR*" KMZ5#~ B^oD%b;Yj<6}ni %BP ʓ FbbU?jEoZ@+L=5J;Ⱦ\UV^meT|uΟ<MQC1a2l97]bݯx>6,k@abx- 5Ay@Ȃ< o{EO^ԕ@l0'd,q4J̱$'&b"AYFt"-Y{Xֽ+ n7f +>ka!*浳8J$e!E=aX8 >fD& Dphm2l6r\#VC@hYqT R lE˜:Vi6J*( ﴹZ+iBMimVV+nQVy.V*ibW82Q}z ZH{]so_nR;FM"'4T Ѩwvĩ!7>Q)jGYMB^ `^ˆ>+Rꈠ]4BFWMge „ֆQ 29qN:m[2Ej+J=/"N07[,z =(H3eGۗwOD&HxS/!m9Ϗz*;fC$%9/k5ohJALdy თSz/f6_.ޙXejb9xnr,91Nٵr+"Ѩ$t%A!9 !N3fdNJDӝ!8F"4v4ƻt&b0RG";Uz:Sb-"$xGPےR/:]JK\Zk[̍\u >(  P#0k쒽"_h]?<Bur y4Ro+ E)*FR//B5 wC &H=U-r7 h(X/I*#L?sP =f-yKt%a9l1򩬦6ŘDh;R]U1+cp- bRrbK]Ό+b , B#䄧W;fz`9pźmlaִjԭq QRt1]E10v&) r<\QAɽ,O۬P#FZ#PU >B=djTAd vRTvI SAfdwD-D|<@sȠ-S?ߣdykk2‚L`8N/!bvhS0LV[̘IYb'S9+pL 9|4xuuċ%kMfΧ)ϕJA DebJJLi~ZSR|C$ pZu"Rj j@ 2| ׬4Re"T"L'/RLnԓ6G<=Iy ;uW7[ƫ,W"n^܋r1^ KcF\KFXPV~US2uQ낢3Ĥ DCfi _ 1HG\^J B#Ō=vSH ;HĦ$j4,I&H$I1fO9-]ԧhe2GUOͨs. ٵ15WOePС2̃dJ- 8x!^ٰ !귰R-GylǏ"JQR#d2J&t/UXFrKZqSh+%ؼ5e<4.\FG MG.3&&z.QE ]oTn ^t}ɑ$lEPqnRCJ[)30ZR'5ݺ[תv YмjBƉ#LI/:*ƗUT. .\y‘N8IkMˤ? X%Պi ă.v腆犲K˘"927 A z舋2)wr#=\/>'c`.PTvMD6R*"Jr)'pljO_YQ X9^@>yCޥ¡G<@IƘ%u_XX+3]^up{dPخ~ UGڤ&N#^N `ڭUZ ݝ Oבb2yDd*9s6BϿ!7K}5#WWfjRPB9GL]n^ґG%W.FKB(oEQ_#≼26e8u^CwXM"eN*.RS# 0Be="WUk6챵22=;Uc,3wC(eNKdF`6-^"^:̬:%˔&.%>PbKWi U, 2N-q-& Łسj uT2=MD(p.k%J7$!Z8񑹮D%o/5c7i D/uHdCsoj<P *qWy5j 5&D9[BU>uLe#Е3fN+ߖLL^KD#7NOJ*ڌ2[67m萪fgpLIEMRjd@](_etj'ҏP=` 1*!I^ol⻧V]+$)DJa >unZZr*$\Q5Hat‹'JSGOJKNaR} QTa5݉Jг_Ҫ~ʕ;-5_e4 X)84 Ud]>?b$J3Wx*b̼=.k"\ (sYX@V"1b-,+rW 1ǒ5lAsvhfnJU3@LPHZ!Ž?ft6}?+5D*|:7@`8C\YxU[jGVG\<_L>6gF;%!gUΊkWF@AK>`C"" ʉ-AyuPgJܱJk2 6t4vٴS>aVJ㒄zNhdt;SfE# NOB/fꦫf"E;gA9!yK%Y4LE`w.Du\wvnէru 2 1~=/ĭ\J80Un\b+oP$&h,)p+yձ-Wd1;nC1wcsBʊP"k'ߵ:0ntH.X&W Bh0Whu.SU-kAhf;4n]a2l/ G+^y,VOzȋhA3v{b8[3qE[B,Xc2Zエ/((ilLi][?-jJHy%Y=G~R6p܂bE䀹XL- S>BܤN)fBB :) ҽYZ}Q dHp<:E|{Q[Lr%4IRZ 9ȝ3~&P.iq%Nw[,ĩ^.kfΕ/"c!QQ nG@$66S*)!4(L)qKęP|4xVwe#&n8+(dNNVk#ut#$j2rJ7nR(8M71lLB  ψ8 N5+.taZ YrRVe ʳy,bJ԰uH;nLvmۚ r/T@\>MhF!\P$+t|dg@w0Ɉȗ@F€6´M#M>mO,1o`o V48D6j6B-Y\3.%na#iVzjM7FP1M2˟d]7H`d< 7)}Gga'>1)i?OZ|R]|8̓(Y"žVWm]M@H]Bz~ v_8pտ`F\-t C(0(imX9,2-VBe).?&% *h`1o>K7 Q ^w0ɢDaZD ]N"QYO|#VJzQىg`Eᕬ[Z/2IQ3aMQ)OB9ǾO/a on0 d1W{.g5qn3N<*RՄ+ Ƈș!5+ M6sR\S(^}<!]1mC+ uL q`%\$u ,OHC\s!u-l@ަR"PK^u9hK{ޔsNyLȤ7!tǻxJ&x^XC#n⍄µ_hKMkAHl?Ip!BcyQB[JfS#rr^.p O,QL ,i8O*g˲*q>kY墣"AM݆Wý'tq tk:J@de_)W9;P5ߏ>U;=*r;t~*nD?Ք]ᗬ~ķ%i*C-U,v“˽-e\ H&r< 7/dn3 @Saxݾ O7 c?:cUbGR`6 pۘ3Aaqq 23r.%3>!kbdv'AR6SG[1X!S^R83+:,Xk3 bt@+L[_DJ6]&0йi7p332]1A.{2$,䒕, cqkJ1IKRd`* ~DPXWӐ4i/4xk>0-ziIP3"n1({Tv? HNqKڽ#5?oI.黓(/'sV vBIOX,.$lԻ1gͩ(Ϩ q( F.[yj(^y2!NѪl>trW0Jر `i 1)G~zEBB!j>M_9PF?68'(-v=*---٩!.lX+74Zmn[A`@m B<̬=fG*$c`Hѱ= bu.X(> pЬi2v3r_CdJ&ԡIooT]=W80+iZD!:M8e;Tcnl@Ox'E~y`.Gz .<}fF 0R9 `EM?cpbDHN<$#Cm܂6tFvV8:{QvDh]l}^ O1{zm2Ӭޓt)Mb֑(jk)\2R9aHsjh&D^-WП] bJݘ)w'x8EDy{ՄOnQ8.h  >% x*$RT^$ D ꅏjO*,LS{ѷYC-NWN@jMo%YؒC=j*  k9DE։7b8Bu9 O E=~\,Y&'+RTՑo3/bEG8bnU)xYF״O@3K WB pI*ǁ"f44A>oa.UeP SAm(`+ZX>"55L2ɮa;.s6x֤ؐQMۧ.[ɤ MXxRoU3t5r, jdBi׌A2$PL,5pz>~~b# rX,[мݽFZ228/q% <{lȰܣ!A\--8V3s"Kg"d-]HoA{('h8 j9b5r ݼœ$(ie)Ӆ;LO"ImҚ|ayGzDjvEŜct!y%TV\ҺA@.+^Qd W]6f gL.XLX ](OXP&:x5;{ Y2MBJI ­d**wOCx A^ F '.:-sU#&0/i* B Yƅ' qVII?\_g$G?7l>rKAGILz"]RۛȜ5E.7j{I؀^]k x-OԎo7c:fNh39k{6tB\E_c7I&Ȯf'dn(bRcXQR)N_gsJLHT !\($lm2+l Kla6¬XErzیlxo>&m(j7Fq k V0C WqJ.3=tM;>+T/I"##GifʌMͷ!.&i(8p`$|ǡxlRQ\$3}4؉/hW]@Z %hkX1%\Osqj˙hpL/XB/RØ:xmNC[6ϐR.]b?8]j0(Gc/5 t j<6Q{-=eEU!_Jt0@~ +-O/ܭDZchUCi{ڋMKdԪ3k-e7ͧc#"υ54.㨮gjf&\2Q\n<" ̏RT+4nmnZޕZGWw"..هC! v"2k ݍ}nXyҽw?z -DW"M(Ύ> y՞Ye]D!φׯZ7JzpnT 5RF%v?_8eR5q8V>1lu pHSYE ]2Ll$nZg%SsᨐDYnCT%P)W\2nt9NBY&K&+`h P#>4;y; 2uu-P/+]*!xD/N2 m2~}]s}; #K'ND4f nkRV$AQb-g a+aP.^[A2"`B.cVkl=M_DlW&(7"x^[+KSMZ&B`AUy79a9щ^;EKgG'!NS{0 LKzҙGT(AMj= _1hZa L&{,[Rdj! 1l B, j#"B[y(U!aw˸˜0$bd=Q7v2yv42yCYQSrd$&dd79)9}uo;EI16mzdKNؘg*p`DBB'G5z%l4.e2#+"KLmcrԸہsmv8Au'̑ jrLS{ 򞡵 ܩK]0swŒChC0S@!9I E9X!)+"S˥m4D:eE" BfeoXeq'LRR{Ixbz/3cg4ȸI+!Ͳ<^rmI0pkWm.E $K$ϺL~Ԯ?tW5,8x+SFܹf./uQhUUUm%w^} -;~IkdM\JkZ,/ezejHpU71"'Otf<9B)!?3뻃PN,",(v8#xBX5md]5vPd0gXW->{/Qf:5eS`N>0>OWBEsmf$rqT%HUD_+yO Q}TCtF ȟ+Mgm{-Rv1i-FChEXGX'ҁ{LVJ鸼rz*c**"WR*ҏ4O,IK ̎ 2*w]=} w YR,Y(띗5\٭~b{A &eۋKL/?:ۢH,\)4Nl1ӆq+I+ARqL>s\/5PbWH"e[AO0Khi[[tȲ#j?0=eGbLwifX>Ĕ1pᢴd\4a&)PXe >3Z(.AHW5 cр _kVە_%%  D[p}rXiiN_՝eK='ޏz wTv49ɦ13sp`4- ֹW2kČImJ\&*&P$]pA/+lQ'$RC@ش@l8%R_D(&FG"%)8FT fkJQibtVpkXUn B9Cԃ(g7ۧ˼T_7Xs\.,):ɔY/+ ˴&?i! C3j{U^-tšޠO)H@؃w,O !lla~ ZՕܙ&t$ͮvTO/|N`&n+N\ٟ3$ܶ' Vྲ)m VoHakIlISjګ:v E]'}deHxѓtcRb& a\LD8.Y2B2=Eap+I~^BQ\j]QuygTɕLh1 Kt"8.Zo'2A\*'jH|y)tY 9Wxw*$b|0.G/l0%G6ΰp4ֺiUD=Lv[&[em",Ё s\u%?X'c sxLF=hm >Aqj4œ3;fu`l.ΪLj ,a$bHcƿ{ mZ&?J) ^IMj kUB&4$+!*Rr.EXWĖ-){V`8L\V`o8D.]@}O)7Կ3'U&),J τbԡ،yzPy+lTΞBATxYr,RK]E'A]pN\SAB4Xu$;yaYA݅f,%8* "֟V`t B9ΓV Aɉ4ͭFֻ\@ lJn0a/ YfRx@g"7Uf&uC-;6IaiJGMgTWGoo譢:ÐuVAi8 fEVa(`P&"HY?Iύ+D4s toDʕcnO+$#3Ѡ" Cjk($o:" MferӹxئVZyUbU@+A1Nz$=jTVtffqKx9,i~F}sRL$4=*J_m$[k p]g=ϧ Z ߸q8񦗂kamFM)XÜ`_n.>kUȺ%}42ԼEi˷Ld0>8L^U>$کiNyc ^;LuT,LAe@u)º19g2]5ꄩN~ɻ{7zJ e%VE =4dUXeFE(NFfB4 zv6lE[E!?Jc4l1[ Cɸᐢ(%h¡ϰD7ϣiE`΃4+\s&F $LJxXP(\`""qI76a;@FFa^l"8Mצ$qx"r4+GJyXwNY;*G /1q%lrMDX>6Vqq<7iGuh BC⊟ TB Ta74Eb9Cwיɕl& 'U@/Q\k!2R(ڿ{)e71`h9:9&`e"ggG@d ! Vlu%-q.뫐kЅGq>iO3;XRd}BE>D j4TDW#Au{ 8XAl#=Hd1Pgw 똅fKm5$َ@xQ-| f]Β09 *v >HzY)^XEON.{j)(7}Û^x֕Sf2c:%!B !"*~zhI\*W0{>gjU2 M) 9Qi!'N RJъŪ#T^/Ⱦ`(gäݐ('`¬`mOk|oԂ˞AMʄbj]odrxu-)QV?JEB]v/ioA]X/i\A4J%1# ZH-O°@InR.o@"SaRge=V!OS%3V]8eGtBPN 1t;4GjfTTjA4"b+~s&S51ZӨPϤ(8JTn…oꯦ>4%^7b+L1iYn^to%ƶL؜_X!"+:A99:"G$ٍ\'?ԷӇݾ52AJJn#LJJáXm`h 4v0- x&"#9^|X m ))BAC?X %“IJ-HU0S D0VTz0^Wr#W7_Õ3aPi'zMjL'"cddI+q^7y<ŵQ f1dEeĕzMd~=I(ytXS9[Y7zy-2ID(m(U(ILG}f93HCuB +p!.4~r?vsJbQ\IM$y6́$Z@ݘ XLGȓ-5tm/EA@ɺ M$bۗޜd"{b\)LzqUAwqz<8 M Xa\rR JyѤ\#s%BؔdQ:?)f7bɜh{WdM& X{gM$:~z6Qbty"*]M͓aB>. Cc3\e2 6#. E<0mӲW.=IdFRկ!Hp6ymV!^y9e_w!=`]>z=H~M>%Z j3YWhҾd0+% `E=4+_G! f*񧠸8G6 űW#?@ g#$ 5 P o>-X(# MJ*/?ԕ(̼vō"d/Duciɥ$dikB_h XrT ܚˌX(aFĵy,-Jr_m7⥠*LrmYkڂ$:AV6<\dgFi*I(:dYVE5V[;N~~~qz!pj% h~„ ۫r eu?5ʅ_Vc-MHkBW+ltjJ!;9"S ?VJ(4!<바w,$EȊOpBGN (Nn| #$"@ ;$d3n(NZj4x- K{}ͶЭ/ϗOf ن\"9ƀԓ ;&m3qtYu&< _l<&?K<0a c'nU*\R!9F[Cξ~0ȍ&*{g9y߹e{!%BL0"'MQyT޽_o߸69ө e)nEVf1JM rBBBı]yh4t^lЅ*eaJAeN%Z%jІ( Q.OH^J#1)R/ 4H [`i)r/˄\-,\3a"P)]?7:E#WA8D|!O.znwQ*Am BXs c"LakNk#eeEU3|ZhHF cyp/˛ڍ#xb-^Ѡ4;7/T| U"fMy%)[ӊ/[|⊪g¬v\ YApD* yOB rζ9Lsr*UQCIow@]UU"/fo  Z/rTTePkY4·|[q1D-q 㩕ꀃJҍiQ ţ/)t5hѲtBdb|.UB8cE/Kנ%f3ܔ[ WW%QV5!SΥc*fq=)ٯS mb \~f:6Z Q}-(נ!̢ 99QUOPFH И=D"HQ샵R p ^%a:.U+f(`LXӶ(:@DIo)qOM:J2_+[r9+/)JԹZ50w݌\>UMZMI)E1oΥ›L[Oe7ZH73 nKct|jR̍Ny&xsaP/ 2Ya7U4~a[2ޜEaqDp/H"[ [ۄ@R#(k vɰ*DJ8f"!$gp7U*1˅,tKgE voM]#XoT֌ȯO\#";ڤt+T;~Eӆ~bb%B P/v{جW3|z rSsXrƨIr6rul!*c?$Bqbq\3--6{ P%yNL^Q(E6nZ' \QZ$4{!J$NDX d0(NDopkW~>ɨș)R't%j##%(~+F.]1 2gut(?ЏMuqM{G~,ojU4"2prpJ3g_X%RGe+}_ᡃ %T6qq BJT'kc* UH \R˜Fdl<ΈoX,j[D@КsD5%^gLX)o1Ns~v,B3=) ; 3!\iD^֯wnЭ.qۜ"eL\f{QFZS+k$5͆0yеFjB䄋iN} VG ICY#DyH-R] ﬥSXhJ:!mb5>U6PMwPqLi'RMV8R_݁mUmFh}M1b/,t5Y"s yhw7l#tȡ|OrA&V$^R&R޽ȓ:n" pp\,R… A KldӃPJ4ZEۃ5o7\aˋaGuZi|cKho4Pb R+[%LD7N]ش4&ܔK tmjR0CBɢċ2I:sh/L`P, SA 'u"F9$8UcFC2d A )(SNDŽ%GtݫO8Ft1@Y?ӣqaIq" cf ) `F;S$^0IQ"'7Y\ZZ 3E(f E}!zQ8-HhBKܗ2hmL1 E)?lT rfihDRg9rR-)0IBȓ ;Q .[0=DE%0Wd<$9rjV2alȶChf2H^ U2NF{J1TY @PHRsZ12K+ؙ}ز=L|Y.&%T8Æ(+_/C .!]ж2tFv~E0_Xk<<1r}#FZpA$l!>P@[PGdKQN^>e )\2Ī'0$J':;\ mL%^Rq=}ˉ׽YŨB@BJ4AiT/X;1VviVS8*(aKWW,Z))hZ~Wr Z!#*;CҳlR纎ϵSߩiFz$-(O.ϊ!ȋjzzM܊g:fJ&{'aU/MNQ 5xإySKA'vnJLo6[ !p2J},d?G4Jr^h@8!k1 u!!⧮LđqyKTM¶G{"jA3lQDKcm3;{RJ.NV]foeh= hSARܽ"_ B`rzsMYX3lG鐳92GVDD"AJSZcu&9s^HX^Uf(/("jRF=7_ƥ.;%EM`D:^m1ptaNZ9!8Wk-D`0^=#O9iT*u&f0-Ȩq*l@:N B>YYתuY}S? an r+ejLŚG!!zot2 UpL4pP(]ɍ#`\T^i˥RUSL8s,5Wnj'6 xǺZ_lΚ5 b̼@v)3S&1='2T#P_ gJpt&+a(P=ޑjRD9 @d)rƺorCq/˘(xY%u›Af {]B(4}2c9TmO1q9hEk*kؓ)jYܪ|Մ/nrqИǻU(DfE 6׆du]onߏUyVJ$"f!cCbD6LPTQdCa!1ws2P"z#ݡeg;ls@TXy+aJ jGg碑-j px,5$BK5/z4P"KdC7orƂvxѿ7ƞ sX/>hj>qX7T,"!2 P ȡ``@ Y `@ -.-]^ЇQda2{E4I+糫<4Лq |* [1ڻ/C,&&G,e +ܙl0ļal st۸]]%7WC[1j^<q*$׹a Yplf{|Rr߬uNʅ-vf!;f ^L*cXjCYF!HBKYe^Y2_nH./!z0Q`kOjF3{ժ_E&K)6bK?nM3J&O}S"pTCӋY<`Tll{S]T(]Vxf$ ~C%x0-Lj8bFfkm䁡ʛmT֞%cddst[rCP_ASB,RDk_g$2gP` ln[frþͫ_.%Mh ӎ'#}L"D~25d&0VP[9yhwD.lQVd#\ETe:q+q C-bM%R hrj,unP;Jv!Q`#mQH*9v|`CHe(ɛ\F`Ч_F3󂔪C1cK8j?iǛUSDuKԽ\"Q2ҧaU,WQ%o.I.hc]ON^춄dJPJj&jcj DqztWgs{&%Iu$q4mI "b[t6\.0қktB hb0ROq"{0_^0,eNg4-(&ھ? McmMHB(/5QnqT7-kQ[aSVZZ:V{'fsnMR-`qIX%2|Mүճ YD)+uo#=nH_kO$ۢq6o:Ewr6% 4߸VIHCk٦kq%[/ҙ~2]/(g[*Oֳ g{/y6Bfov,i Cn?8}NQSk8Ki'~`="Zsc\`07DK;mZ- ol}"ƻI:rIk~I??e^aOBid/*U1R)H`śIlSS}^==E!'GaL!5++[ÔtNM"J)ON'$>`2r-J?_t#)b:"ff'V7o"4z:y,j֣ CDsN)xnhY{)±5r8N0z#-KѦ4ŠkY׳jiͤ/:~iMTsrY#狉_(WhQu BI} *PUxr~KJ:GuLv ˋʎuN96RyFvxj#KVR"V}?zegPKzħ[kIZJh/K[zs_jNqC#G[c1j/^HgD5^D'cnI r[Z,;)[v}$m.elOYvv<'g[hbfPbɸyKc>w<f 0ʱ =)J46Ŝ[E @J册 o~B#0@-AP L0MG⪏,*[~Z?TD0]@A*F|Igg w%DI,NҚu0I!y9{2pLYEZ'w ඤF^q&_GjEKVO\c*aÆtKQ sk%UVQs줖eb.d΅*>}+,:CKMģӑ&Ɛ0I>E͗Q]H6SKOUTە@X; Sn-#b-%~eWԋInI&%]˚PϣkVbKL;TK2A;Y$r q%;tQܡ#G?T/;A8SU! ȑ}}OOr-d$ &;D ?ZIr5ro,_|^`*4s{} 8ג`BiquɨȚ L?FCB:10/M&MzzQ(Ƒ#wq)eDЗK$!Y)R.Mm-jluWgugxSIʨ7cB={™6a\ 0M-z7M* ZVi*Z@D!ꔣ#Dc#0HG Wݑu Fڦ֎zVPqkLK5Lj_wY:y3YYݪb9 LҪ%`&D#g1Y =4aGKdbVP$ce1P 8} !}(*V.Z$?Ԉd,M0q v P0cd헵XlAN}қO勝$c-'1-Ni-S婐[_2LnMtI%BWBmm+)e{KHΒ!Br,QWJ*f"mʳr` '^VG&ԩ1C̫%&B1@_ tvdR2!%ߒ14uSd+573w;ŕy\V* C0)ujzGZF罬@0Qeʹ^|+CA`J-cqK⢹ShTGB3(HPcaJ$[ DUKJ!enOP1(,v ;QY$PT+oNA$-6Iy Hp59(H Iq qK\ V%*Z.QKsc,"3zڐJmu!PF%x[VC=P}G&U+ԞcQ1˛R')#pD(A9[Vdm;f&KQG&U}GKO}2x6eN)Yh.]TZ7N&iԩD9j{H:qFc*.6YKfNJjN鄽njqqYߛd1hNgZ:f:Gؾ1('SЕc0ԶR }UDV#>Fw r(3)! ƨCܵBJn,иI*‰+`d %YY9?@YN9j]lUN1HJAs=]7plFu1Ja!91'Bc\⟊?]5IMBqՐ8=̂(BO IrRzm*[Kz*ڲ*7XtOl$[OV=ʆzSZ*Ya%1r{ݨctUu)3ۍ/Qs~S\j eL-B d ; j*9 ^#2L s'uи t3nJ^%͉-J1LQqni(VQK1(~.VbִSDCOӳD|o)*!#E=ӓiJ\Sh&!щV2W̧JȔ_W?L0.TdbMIW*?)19vN#8jiGE2aRBKQh|tPzp4XrfnX06sSpB9e눧J<t"FJծP3hGSNK^8Y Փ^5Wz3REɣ`¾xc4!=|R!{T$ن7 zI^I. {:dg,_2kR):j6#d$U~E_6rg:kqG5i0Y2)6'eVk-Y5>bܒ%|!~aE@bXD_P:HJR$CNJ$!J+SNMn'UIK숪#)RfLQbB){QJmv"g5"R޶dege:'&F=]*!bLm$" ,!$Mc`WiFxRJkjBQ-Dif9 @4)N- `~D m.YJ9OJ (l4_tB ԤtWez(B,G8hXB,G_ٜOE=E(sI@Q զ^3ZpJGdjdV b@c+ m "&s)%hx K .e( J^' [MSbb@IxYxi`֍dQzUᅤ SInCEzM!3 rXG~1@dzM͗V 8kN]q2Gɹ*K89DZѤBz:N()P饔i^ VK, @ F찡zJ"v&/%#D2xJo{ << H\ ڠY'Y,s( +a[j%B Y*P`d44CTjЮ7 :[f[ GF2鄑$![k#4;SΣ'_L2_08# B81M%HR\eeXFv32.H&р;>8>H3(&#,4H &NR $ Eb1yAHX,9tǙڈM9Ѓ"W~!EDKo? `|,mQE 8  P TW('!BE`g#')V M4(&icQFIŠ1Jۈ,bEC)nj;г0V({JC6e?uQ)\#a?%CMu bi ӄЦyP < y+"BP2m4?y,᧌"qkG$G1\)bMbB/lJ>7v,(G:թ'> E,\,=ۦWΉ2j @6ҝTz3!Kw (5b8!4q%"~@"BK-IOiR5hQ5"G$=^hbDH5 9OV܄b w* naH`W,s^A= J]x@عGxqCtǭDBn w4$*1D( NI(X$;bQ` LJZ1z^1 pQ0!44/Qj<}#Q`=j, Xd.-&̒;qK8cj Vٌg D OxiÚêjրGZ|UUhRs7Q4D!$$O\ˆ ,5WA",H<=e +Z6GcXeBI #Y YI2cһ`S–(ukZA 8Q0F+R hN Qbv1V! u6q8d t IOX,7U KjGcv0{Ab=-!BK-$ n `B-˜F$&>8dd fhM4!XSɨț'D7-04ױ YX G(tV i"^G)'kS&Oi6(!db~+4 )F|VY)lʠhسn{iѣB${DRYCdwExA-`EM6@pH& 8PKS#().9"$r&(5v[+¶P|R3E #~cbE(,`[iF8< O ?N Teae,+lz*k$f]p5jS+NrM CFޚSbY E*{9eJI扐|txb.Ύ6V/*[a)xFY^.2[ '߇9q6wRNŤ{Vbi ZZ1߭RV\yo)ZYfE Ep1sVWL߆wŒG#3  ,e$a }:ެj:nQh%7hzi*Z߱m"9t1d+ȠX 8>rSj<2R"9A(zrTD݇fU&&kC,v#w@g P Gr1kUF3鶙Od^"(j~V4G SW#Ŵf1ygT*$+jU )03'儦Q#] S:裳/}_RV*fXIyƦyE' 1ъ s,rC3]*k$dlV0+ BVƁ"6ҘVHi*&9yD%| vRPB> E55F7ؚi}r-#!:q/')&lIK;[rczȦH'-◊W[rc1 nGL(X֊ă<4-e:Q利K>cpQ:Fdv qK(f{R81=~^T%kl, k,>rU6;~$D}[Y<%׌0HM=~tKPҬt:[ ٭=s2F$F^Y) ،C7 3٧}`nF§sjaBbGd¨=)*_o.zcՆ&M?:NRC+gK()I4!R2H'.iU 9dLyq̞P:\͛YZv6yڼ^k#-rLFc( dUVUr5uvuU*a7k "O"0Q#.cg 5.sWMܭvY c|iO_1ƈ9մ,ʳLA(ERM#cݿTȩ($-R63yfSNyױ9s~t3VbЋHMY"ocv_vUHKf:bb*FfqEyli̔mK#3M/gI|ъMZo^L9<_Ht)~qN3Qʽ&ZBix][5XʲS"#L;vӏ/1b(f]%Z9; z0[UMe8MIձAG­:z@#`zCL4-4"֘%$ChNINҩhbǁ Y^EJ5%8zPZHLOҬ|#Hz F$!rzjflIƌb>Ҭ?ͩQuX)13yX='; URa[0,T6 eפ_YNGPN1R+%`N3M*zMK>DҙC(cxϔagVM"aRMe]0#wH<9ҿ7'aLJ5En^2 ҰvgD|cr t> EۜZ' {342oOڷ kAО(I >)  (*BA8tDK*:ٞ@ycFB1#0Y h=VѨVFtm[ ,$<Rp4̡w!9%.%dCm*-prXXO:w?"TaALr`l!.vbBBd)D2[EF8 `YQ?pFW~Xpwka9yotkiۍq-/N$1c%͸ְcF7 LfTJ"372JFJ`4-V%ff{Z!.5$GrZSV߇%IY ZH64p҃,?h`@yBM-GX>'PօD P[EB.hCQN+^LJ rNdw)N+DwV{D> "^{aѣWE? 9d_0__:S-xE DPtB&9G(B3lBKxPLm~D%p^^T="TMG;`/̔\N\%adz쨁9uֿ/3 kRQazaPֹW1@8)~ANx!ű'F%XGE1w'}Ie=05\؉A?5+nMR k\##v XI"ZF<i$g(lL mݒDʊU02L #~bɆ7P$)-[ _ik8rjdςȼ=Ed`9:k!k斞\ A V/$΀'*ɜ1@}ոSߤĿdL-h@1rȀS7ݧ#L''yc ZQ(/Ř[Ȋmi}Oq<)K!RGwh8~dZf+E)FGQNm}`kvMq"/oh4lrS!8 `$naB 3aO͇SJ =ʾN[MS?mWGCöjYk "їup01V­Yc[hUd/[D}j [)5XQWO=󹋴\"@dp\<Th HODIL[2]FXfC 0b@4'&ͤJ]"qڧ윋E߫!ZFXNY|%Hɡz9j*aĊP1B Ppv%k}k;CKEL؎%fA_L)۾"u*D~JRbb4g[Bvdy}nDYGCsOf Y wB{*LIKڌO~.ԋ`%i7SEd}7v#340!j] .+3C!yw*NTٳ…+CXP)BBdL Yv|o|0-(h>-u{"‹bY〡3j>F%mHъhqu!GC@2 B|V,%xBQUt/^ڳI&BR9xhk6!C$WvʋT;4f[Mn =jx?zTŎ}.2R0`T82ϓDpE, e3!TdB\0jS&LAaLf$Y#1KA6nhۇe$or.~_vlx("M.z{D^hS22IwP(F[K|JKIοfaN"ZWf‚ & {#'u%[c7UR>rdBE.*#E`'Q݆bq$R[bB$o>#'  RQ]@? Y[|Z"-3uEћu[d(m]))M}μIej8!+%vb֭ʻhܜSW]T]zg[~Bq=5nMH'${9"R犽&~(\ZeF0"0__`^OGK0)H!2ΒZUuԭumqeH3,bmtLldP9; iU`ZXKt>k djT&+IJA564HA5C"lB*dlЗ(PGu+jb_LL p4H Оld g U&bK&)WvǦS7D*KrcAbz9}C\}$Z-ִ~\b-.P6mX$fA o) 8Rf t1Fs4YI=|Β4?KdS$ /E$<)6|l,'*V9B7eJOEJصKḑP }Q?~6RL(qs4Ezg_C7$L۟CA ӽZ񨂣 -UahH /"bLjPą%X@Q4[ΪpVt1 M: 3Q%FYGQge' h1EOi Px7'E2(&>|+j ]/% `ۡ܄~'lS :)A,ҾhXȈσ Eq "ƍ$acV gEhqC2mHyA1;ZեoQ3.Z;e;*cXv("f .LѕNBB3Tr&F0XhLl5/f?C *"sLQnA!|#% 88|Z/󞈩<1u*6%4\L$Nt.P1) !Y[0 D/I&hw +&h~6 k!IAlOCI1K ϫ^ΰG3G_ '8ˬa*JY?6vCBûy4jۢt+|sORTh.ǙHuqm M@!i)62@Hy)^o~V~jQ=_%檧6u?+k.E> P3Pf3V^ٵj dp`F⢑#ʢA5wꉒ74~&4D[Dl0 GGD F&tCh]K- 5! ^^ ѮgJ*xL~I{`.Ejoz b>ߜ{!>C80-Pfz6͆/ lK C+d0i.tv⦐Sgx?BQ>^)i_޶o [nxRLwu'Iʼnl#PeI朏4E[1}IaK0X *@4Th(Nm*>ʤњ?T2PycÝduנ޴Xril;ua^7@WDu U5 U]wѬ aArJiE:J1P EL$gf$IKL BR λ Hőc,*lb.Ν[B"'pf:@&!@O֣evYQBbVeX?+JyHJA|j>B@zb =#tH&,HhK?z`0T%G80->8K-9PbȬRJr8BOA/venJDFDC({6'#q:DKӌHWQFZT68u)sF[!xFFš\bˮ!*xԨ糪VòAJ%vt :u)¬X-D[$ʈUɵ7HR?s r://2Rx:r(Ru|z$3T"{=?)5&frtʃn+17ZVΑgi<@&?TD}S6 7gg-݌ꍐrfxl{gǙMwVS 2RãFtґpTzmr<8t外ىtBȪ˹#yy{z^UVz{<뚎"H `G~zݭivւ#=*[=NG%Iɞ.ܛ֑V=DҞLJ ;ТKčG2 ό5ו4Y[yN9?~МPI*A"zCBS>~iθzva4cܡ@a}~tfWg@*Cusl_>Z{Y2%_ZU/yFnW41mbe3(UlNj엮V{'5Z$2ɱehF| |*:Z,&鳚JkwP=ܸ_^DY[.k#" '3ΚuDL3~c]VRjnYH¹syh(W<Vx߱^J#CO>p M)$ݑ>U+@fFd =ٺ+$1$H'?Ƈk|ZwB +@||e'Ɇ\iꁵ1m9E (pi¨5rrs#vpG*ce%\[jȸsC)U5B7WF-2jlr?lꖴk3%>*5KW"ڞe퐡O.)ți~0}3Up%Ǭ W+vVa8qq}c&W?M W!%U54ޑä|u&h <c)t0%jrve *A&&J(w_h @€P(-$\Q-X93j%A^9 9Ssnэ5xO&ðT"MG1[2R#ܰz5<'4e*k O0gyH(? /?ڧV"Lx ;J KUmN\I`*yゞQZ~%y1& t^0C!Tx5MYL#^@Uʫ``F$4! UgF> X 3,qօ ~)jJ2@hQ()@38GceSBY78WpZh%T,X͠TeozXZ(G i>R{`3qgZ`{REYF"Zƫf.k,+(`iñ7J#A c/L/8nF-x\Nh3Y؊!o5\X:]Mu!,FE-[ՃRə66A7A#O|t1s>RGX2hAđ0 .Dt &6IM_0։\Zjđ4&`&"E?WԜ۲?/o:wԏd֎}U]1CSWA+#=p-=L]=K6!RY%HQcq3N6Sa"^}aG+Ъ)#G"v;NP\ߩmb*5aMZc~ APtZqhX8M+-j$_.B:O~Ca)4(L0`"$Quu;7RGIj}==DNzY2n)tPi`  CF죮x>w gLKD!&*NA}FE$RRed 삃+a/Ld5,#g&u__jI >ҵ ^65Xt_7[aO0_g g`$D'a.H8$1E:/풷@44RFXTuLLs f^3I̪l=E1O ē$@n'J!!wA' *` *pY򷞱crE`aTT^ =T(i!00O1bH) E-\(2VL%J:%`?I.r23ȍBd;4ܫNo $ 4е̰ovgTd/刯>QV˭,fӱ=Kcq]l;(aҞ-8H .ʉ/|%%i`"D{i9%=ZELD>NV' YU l6CiAX7݃ɑ#vź300M`F6GaM,i2$ ¢ L;c~DMlM=/ g~|yµ*,[fIfP5Gl((L8LwpEP|m~k &[c¶,v.FoK*vAeDžh$\Dx&Nj*`Hv|iG_*,jaO.,ѓ VXowfB9v n1YӨ5w-S|jTv T7eĝWF4Y3~n=׌q-lT%F}XrR\ܓ_ٙ긦sVQ@ߢbu I_dWXR'ԋt'|NVx9.% P\YDRiJ0'ٳtVg ω "&D ‘v"F0) ">a!t+ MSOʂ@M3V ,QQKL$;^FL e +×\&:rȻʂ:p8"o̚4RGJߑfb-5az' C-o_i[^9@Z #BU(eQvq'#Qκ'\]|.瓙% IV~Cԉbr0&A4Pibe̴# yѐU>ʫ΍f߾h@SuP:pZme,7Sʏ8 4ٗjX(H2OF_2DDẊK8QZw AC@d0Z\A*B&*g"EbgTkU=/Opb!Ku{.J$Pr f~*@jEOVq(rg_2y&-Sh0eUkDk.1l }qzn5ؤ("JV㌳]9:FnhE!86p .06ԵP  , i4{VQ}a , ^w5ZY85(ZX"ńk~yo_ ߥhp",Ril)u_IJv]pTx<*!31"^'*M_CĔ@HN'0Eݲ!"_VL! X k;I n 1׽#z_@>00Z% zU*^,ЏgN歡u17b7*L|n6GQ/Bi>B!]A 9gbx{Z03OԎM  nE84V'OUuP@JiP3qeB8g!|Al[gc!$8@uJd?G[Cͳ pkOemoiuip@@앪k/ G"RoHUr 4o<MS8(Gz0Sf!=bi*Ĥ{jƊOR= J!H/)E]A ."RLq*Q>FHCST$hf]PvrW[H.Wk4m|Sf,0l$}lתe4Y)o}Io*B* giؗ)$q$>Mf7= gǏ& ZeShhn&LRħ'+ʤh(WbϏI8zf|LX𩷠Ge^⛒z,&1vj`h簉-OղNQ[p|/w *&&WjlI8B"YZ Iď &Ht^0~tۇ.AM`(|zͭe !0a2ʭH CM:t>R!$c(Z VU~Nr롵1ԨS.{r˼5͂J7Tܯ ۿDZA g Jݮr=8Ifҧ]FyXW]\07lD4P)pH4T_'V0?.®JзYs. H+"sk'b]R@!"OEr:gb }"XXG8)}xn|Β-hEbDbL)veqL^ YF)$W"7y8Kq9T։-L/ NȴE㘄l<zmLcREZ> dBQ4 &3:%pA $4[DWH0H5#*8Y7ugA}C{  cܞCdế_͎3V /Q Gxe`ZE'TtjyGG R bh=!{.ȿ^]ذZ.wĤD5 #z4b@!% D@`Z7-Sb&KlYx)crZYhImORL$/"/Di} (d4@+YR0RIt#],9E",bde.MlVƼ?0*܄,EJZvD7,3T"@3 D:JYr4Y|Z1U!:B5#жS=%l%u@e’}*&g.e tk y϶cU~S?쒗a$P]Ht-di'Vx 9L.{c58?IcX3qX4e:"(X]!mKMj6^ZpⱆX/ wxصƲtm\*@zP6/&5D.!t;~I)ڙ~t'dnA@FQ [=\oMAeij+1F kOL_$ubu$ /s$Ł:?~7[3vYb9 +,f0>^֞,n'6)TRyIWNE˘Vm.R^JW1u+Nf<2XSOR,G~Hb&v<*jwFXF[ 1~ʓ#T'2AŚθNzL֢@I-¿܀npc<33=w(+H쇸*"ͻZQbZ4|ݡ뀗EeG;j,q*T-pA'h?K,'Hwv 8CUܔ[$n{+|Ѽ#]!.r&$Qb,ߐCn(oz~i HkV9d,ЎT5"_OʌM62K>IYӼ7}:=#dt)gvg#JVP9 *,;X\h="0.\KpyӲ 2i}Y:k v|6)%1SV'9d*ᴔ܈Ձ'cxSrH9DT 2\-TaEm9jPMVy%އieQ#UKա hLhaZ:; i'S$3/Kjd@$@Op7Z+D 4/ӭԊ6 QqP/hDxF'Vyje%LX6ځ{G!Q6.bh 7+JfT2 ;gdn+2"ig̊rrTJ)X9e{7ip=H\vʶС: s5{"}(z\xi;P`ew4 %R¯,ܸB%bt u?E.-i,Fn\„/ޠ1AE]X4g).68ԣ4¶;Yq}&A w/Wwjw. j7w2mן1$E9jەzmpxsOk Q,``_ jmٛI#K^hϧJםjz V!$\TEѾZlpŧAv$ Y c}E"#1c,!+#L^Bh{9%5&*rg ?iJQ4rZ-txY4j J'}1N"|*p.N1=s |0&VҲݷ؛ E_'FI$ɒ?uC7b8 Q@c:8H'ذ"d5!ySۻx0aa ϽIx4m$3T[沧7UfTV(^m_f3+%4F?yg̋nOǭmNk4pJ1~!H aD؜KLl|T}vf)O^RfތIȶSvt! m*𖻈bbwyfã1eӊB r|>9Wxg%_N ȧ ,)v KdJLobRy[OK5A "xx<ɟ[~x 5@^@zbD2;Wjԏt!~~;03 =95k)RQ/&kTʤMm舰WC/.z :/CK]i/ O)27#iQ)-^rՉ(z! ]#$O ́q$k`Q  GBy8crMѕK`J&_Zeۢlz942+4H+D8 nhĀFUI5Qx?>[KإL9c6oX':ݙ`#&x!۶^$Rogg=]Y?fH[ hؗXزt5UOڗ%T!JqG '>K ^'AhEY1BX'OXx~UZx86~by2]z7.u]Tb% ~rxQ#rHi:ecc$Y?A+dt MJɍuތ*lz-[TqT/*%A54qL0^Ô„ p@2fZi)|'6{Mcz 5pQ|Q|[P%`?B5S5mC“'SEgj p99jPߑn,zծ["T7axj|_^'+"涰5A5OTӺCd bgnUd(ε[$,!/2d[5^*)]YSF,Ϭg WLDY"V N?}{k E&2iMwS-\B`ZFޢe+ϘE1J/6N?UƵ=F xzaޠ DLDތ% .nɡJjIr\Bµ+O]8(Cx9&zyÝD _\|4t`U YW_lRqd6l @Ɋm CfSVi*nКus$\[*(qLE$L=gA¯$IK$Fke;!=)p2q 8~ZWƄbAvCsL I@|TMqۮ)>t&łr$W虫40[[m?!trKmU]tC։I߻ѱQ*`@i):PuBk' Gw"ѭSe_C q~QKtҎ@ tH@K"ppTW! LFȖ6)jTIG+(\yaA NK#'* +і14|o x/YA>!1XP)].M#H2d~ƐhﲟDҰv)d>y  eơܦ*ῷ(ں-DS|-|H"9"HJ,,[[l?w[^^KIP4C3==ZR]sy =ڑƭ#fd?c%bu|Vʫb&nr%i^U0nQFV5XSzAL سK"騜̚j{ww Q3V'*a$^ő2-Pt᛼#]Dr yRkQ: d( h 6d&(/* l2Јq{SdNK%iE&?X3#p5~voܕ'6GFlFu+O>x&t Q=qkViÚ6F1cfI T1WONf*ednSlz'4P,0ə/֩EBPfe!D aus8:\ժZ!'{5 βY u&[X@cX 텈4å1%:+Z_ ?=Uql3Nc 6 اL@Pŕ#OiRtj}C&HDJIa: W(,@O8[ql$dDW~Wcf?v5hSS6s;!rrU|D[yH4셓:=FLCUY2pN{u&ԬƤgQ"V\ik qնY:MؠI WbJ1)n_PϱW^ZfWTg,G(tz/6HjWzyƨƻU9]rN.LXb~Gԑ,,ؽ(IPĥWzZ1^!pWq~ +).FܠdTpW<18γK+W#M#ceM"j%!=唁XԜ 1tO0e̥wgH3S4 )Vs}o~}̈ؒ랛QSR;{, K-ۇYRM𢖜g6el$$&Mnji:<Ϊre,6*!]S >œO2~Hٶߑea>$|`n"b.VQVg kbh3@҅<_)T\.:f{dz!5E}+k󨰌*֤ωϘm}q:ZT iL i[9K#&qȶg mx{3p7k݇y< 0jwu-#UNKCBnD/:<%zstWP)TYjfYԷ>ʊ@èPNbE&\)HrʵnBg@)3QN yY͔*`D mw9?@[RwqY}[,s/ %1wPEg#D f73Tu8x7qUD)P xʭ^Բ%Ea[ /̧ZEWPS&#} (Go޽,u4ӃbЎB/m&r^zqb1VE𑱂XE/j" ZDtWxo9*fɩ(8k֬[bg2)RK\$Z IrPA4Og8DdUs慆H2$,*D$ l`p8ЛA YYAdʉD ??Ƨ"DŽGлfNdŋmtd.LS|jtʪڪI0E%߾n,-;u덮h/l(SW:}Rl5ִDZ΂pH,nd}\3"71ߜYT'P[4R-)%=/NpPXvYԥU,\#ǷջWB+VQ+I$ЂtJ:>xHŅN` CNh0ȹC$~NrF%EPRMLDoIfpn^ԴYH耠iY1=l\LhqhA\MբR|ejj!?ߙZzjb3LX;~[HMH[VmLK$\8Ej2+*=X{k) FFtSG4ZtOjZ2hyJLho6ւ|ITd>WIVJoiՍ)9~3 3XxD[3quB+<\ѡT@dH0B $|`a1AR4,XTPA,!hlt>@A0t2Í"T…pu˲Ir]mi^!NjX^O]z͍KO\fwoWvVJĕTޫOH_[cΌNZo<,}>K?ߞȆVڈX󌢢NsU ʹYٖ>/ 0U 5FiM.TnTn;b:Cj>a +[eTUyePM'.iզ@J(aE.6d͊$UTp|hDhE.K 8`E$x]'KU"EM3m*U gx$rv|m!~k?疹bFI]fڄO4L1B;/@*}P7+ZUi$e5t_I\zgTọPh]i{y6*YmPM6VW]h,i $ G$q-͂v1RVJ*xg8l[[kI8ąvĨ4KiI!̞64JTS/z JAI"iT@J$ @e( {'*&eYE3>;26R鮯q{ +ռ6IK%ta}ԙ3^IgՁh/d~(:W"i+fJAZvz?gKAm)*&s >mWQ媉a^(13G;:Ҝu,yZY͵ܔIW'*9y  Ie!g3DmH(@Yt5S DrAEWdB 1S4)%Dn92a]xB]M$l'` (_ ?+g>*7`7:+~?fkwh4c[Oe pb%A ؘ GMśe(2bXKBU3SƲΎ,ȁ']HLWhVBjɎL|5|c*FG8v'||z? IwRgZj ESe:]^(&M6 .b:I4TˁO$1>ylHuZg+zc *eŵ72Ib ǧ_9$5CP$u v\ZX 0 PNv%N5b7`el{8H ;`ۊL5UIzg9o "1*RZIg{3Y:4eR 'x )*2 dU\֐!L&7duYk*K̊0)EH&zڋ2@|ˤ9ϡEzWT͢8萕Q\bƞ^`hO9]Hy Y>vVA/XtHW m"%C2'UqckӴ3@ȕ)-XH`Mm6G/F< lS[P.Ko\uXaeQ ت=VO3lJi5"&v6^->FOS6,<0EDGLI+=\/ & kPRJ$Pb?ͱ6q钅bϡ"f4qW=bAI<+$2)6j^36Ӟtp|PRFSy*^YKqu޽;6]rWE.[>g#{Sւ iHyC5TH2epBDn%BWJf4i5%+%RWj@k%!|Gv\F<4n{G+]*mb&\Dk!%NB=+OҷH94S|7'r6_帙( 6ܕW'|Fk߈nw2^9?́) 4c`BUhЛB'e@j: "e>ῶւa@w B@Rt8AIJ$Xi TG̏u㚅[+C3s9Fn6\pIᄍ5~\.xH€`prCCHU)AD`;xTߦV5ɨȟ;D?1T_qD ,b#p6I{?~(bmP*yQ"UpJQBY/B֯-Eb9gNo59uG'8ʵ5$˘9u-`0rĉ!*0QR&$LtbJxͽw4V+be@#3y\zLNQz-aZ⤈\t(uYvJbd trG#ChMa|Sj_!Oc+ LeTIdK`a9*nowujZʉ٠\?L8ɻnl /WspN.Փ6[>`kCTjoHFHC!&Zy)`?_ΦO+ݝqeg͓9CQS3S*TX>~+Wzp:nfdfE}^̟)>DUMU<8)hA$09Ԗ* R MpCB3 d,n'R!d'$KYLAО6nxLɳc,1g'| u9X9s}dcwo3z$c`ODE*É@PJ5yg`e)ΡNB *sA@* Aw#-0!рФ}Q0d(: {#&\CU5+P"."ؙzYCME?OO<N urrA$PId,z}(,^#ԅJwCmv R~݂PH_1}Oӄ+[o7Xwm/kzM ҆,,~dl!we!r62/uL,DȤ_GSSQ{fa# xKuk2W؄tmRa,^[H̛.MFN\*0K w lkYЫWyF{ M0,%NJ4C*yBnL"^-T/mjUks#LژmJ%NT|]zϽ'pe r.kGfq ;iڒMOJ@ٕbn$'iD) NJ:YU tГ58z1JYq’x*Mr D}n8t?rr~AA]@45,H33B֫>|_!։w}"d9IHzh*M"Toighv e$B1)liX 3~(+`tyQғ /Ab,ԩ&{z| έKG ѳ ],10]av ɛ`ὐrHE C~2jIV5lTYnߴh|p^R iK7&,ؠT>y `KW~..Cwuue'duM0MH-:Rg!($E# HU#uYD-ƀa`@8<8iXeˍā9YiUHuC%ShPçXIZtIJ*umI:WU+Sh..0ebĶb|Dw5%2Q}))e(>@Te-3;*]㥗F>)r2EMgbk2@T{.b :Az$gX\M.b8O!J֭ DS+YYd.QDق'q$2ҹ Hz\x4 V `,֦m<7 ꋜVWKp1|{.AU14N*:&[<\HX0aEZfQېwTj.Q7Оu|OUZC*W'qaTl(|Yr`_IїTO k [DU Zy)>rhfPb=YEDRT;Me%CCo0Daʥy򰓉a_js, MPv1 :*Ft4FI2hlm'LwYT3E(PGI23I4QW 2oqKeeĄZc r!uܺ+}(*nƥdQ,] AFL]M ~#-h6ZvVM2Mlʋs 1aJ.:m(RM3V!ZV^1z&)~݂GnviB[AxۉV}KS?uH{Z(H/+yL֥cr)[Tv(9e1ΥȊd7_'u"3Qj"S'ɡ%.2*h6)XAȹFL,(f,h%sm$۾!aOP ߤny#=o;Su**ZeB"6[N&\”Һa%o2a +L0=VYG+q} z'IlVaǷ]$k)i/eC6/-af+Q|U_(t>'ڐ7D6D( idYhx$qE)"As 0 r$T"4@f/2SJWB=UCKT ϖR/$O$DxhY"x&Gi0"E *!su6ZB]eZs<3QsX/S0ƻiKaQ[E,\䦬mLiWdI1w]V*b,^-#Ex* ie6ˏ@UAcˠY:E B K9bRDhH#/PTeUHE;ɘ!la>v bնS 8AŜnP:R=asO>2NnbB}}"*^oI鞝DwܡѱΌjy%$܈YudAo6˕jH8suX~hcT:u [44A(*f*ҧ6PuYUgt{H`-4т,7>FF!#Gzz9Ȗ&W&H*er:4 x2$$×-`"R"{mjhIKf>;Yq_]tIѱ?ڦ7UN֩6ɥݺX[Xkb$@Y\uOrI t:<߿QY:/%.2[R40OuEPهe 44QIDHVtFi0N[sq4Ik,SCgt P!,kwh& }"Bd*2L > 9I &{αTе_k`%{xLT$$%bNrG@:И|IXw(:jKqn q=E\2y2`>It|uwb~Qoo*mJ-ܧkAkօC/cFG3ۏXY k=&IXw-߾4N(Yt_%?uSsdnY$J墪㱿(L#+(9qi˔]#(.|WS2Fw.WpZ/2~z:P!ZDw 5^'QESMO"ۂb tl.d"Xl%cf^:(Ma¬:H!--颈AFΐ& 28<ؖ4"p2\602΅_LD׸@&j}~6-!m* 4(‹A^ݑ$-1ޖp*EHpLM-O6 lMUvC/Z:T"'eضC#M *r)p=lvmt} &_>|Zh55_@(>7$:2: @X&X@`ʮBYisY3@d`awB`M$\AxhW "#"3$ LNҖȬĄO?#.r-vI ]Lf: !b ]R^u"Q<\q+;$-+eҮ; v+izJ:R}ɾxWof^0cek}(E 1>ZoH QKSω(YsTxvt@D0$Hda8>$N!lM 7.XEN<շ^v ti#Uw1J{ˏDNer4&B1gZ8_O @'@l,o &LM ๐*NRh*4YҗA~*gFx*-Qp"txnLc32A6% 8D4J<3Ѫ.0n,UcAt N4fj= >DxسP}bBsd]2.dF`bqJ[MD1Ӧ B&&5Ez8Ws\-"#@#I86Ӯ>C }r &t]GRYrF6/N H_muqs Q&7:6vsMLGo4ɧ粜#9V}6I)FI(JKGNŕ X&uXfMJN= 2fB.>9L6SL3N(wd::5*!-Y%mGŠWll 5o 0qJzنG,uY&dXc?Eovˈ14 ]"*Ha!sN&oi8Q峕Z7*07o#/b*"ӋcY6Tc}튉0.p^xc(WN;AD-!#*"JX@P>R(%mK,a:`6&lyST DERqkO9Be,`̋ )QC=v,R>60`2\80+7N"njx'SyLC} Q_iR7$Uq)V &C%R0ATmraJzK8:NCd.m%`ABxiTM2 ("qkȷ`S)5-؊ DIyA0(-`NjɈȠV|{x{|x{x~)FS~_x53%^Kudavfo;/K|}?eU6'E.Dڦ"hU"5?`Wi7=^+Mݗ!x%Y]?2ݯԓI5zQkEu98&k$wxv(`&c%d+#; -Lmw#☁mlՕ}Q)~IHfR[N7\$O*ȦՈBnAV^$iL ʨM?S{(#G[<ɣ~ZdC*rEbn&EDD>VJ%_nY3^NayRwD@ȁ te^}/yԑ<a;|{>E.åřy87>b3,q&78|*[VYQREm&eHapI}E7Y6!IA;$K,̎?V*ih;fQWf+.кYA*zFqI*Wΐ|P>n^IQb ]OόUfM)kh#G+JH24e:dD`LcQ7tѲ! YݕVhNDw <,L$5< tU<D R ЃeS;smvVg;DWk`>c̘:NHD$LAI!=w+;$B@Q&^b/a2΍M.|l6Z#ѓ"Ԣ_yDrWK7gOȷI.쵕:P6ܐ?Mao![ѸRhsP)! !b,Highb` H~;)B•p5ZXt 0(EqHPN7kʆ` %I[t7 瘖glã6uG, b(p$@'0E1¡G/yRH),,@ Fe͡PE}'8J4͕|rI T6?#1=A18Lv9;R1  1 ;8q rDॴ@[54[l3w5}~!AePnhB֡'][pcӷ%Miz1C0I$]-"&>ק3_4]esB 1 $W,|pLmŲrK6"Qպzª ]@Mr |&nڠMz%Ųȟd:8|bF gs5N"ہCYUߞ$PD,#k]vqG&6J#&-#c̡RX3SJHknwh! q6ŹeKV_Pq;jOcǡ|'L-;~fG  0}1rT%V!g(K+{gxB>x5qmek{HgnyጋL:?Uupnu1'_\*Jw61chky&7^ջ *^W(u~Vlx o5M0xt~" rbP0l}I3v\K610gaoI_b> [ j9!z J^TY ޞv2#m\<3Փ𔅎r4/o}׮⧶"4 )º[( ؑU3/wBRmҽe槔UKg~Hu0jW֓.OAhldTLtd-qaxMe2ӠϝFby>d@1_ WN9쫏ݨVkk284,dX-e1 49kU,yOZ UTu8=wZmNcxG߫Я:d&OHP8\m2_-DLj2ɇhh&LZ$'dQœŋ{&eme`l~faяg88Mő0 wwzD+dGn@+ZS2[flf_ى> v%KXy F6܌ET"Y]Mt%+5m)ԁU؄{9uE:S:Rͧ^ JpUލޅ16f[b8)EPt43T[VH<[IM Q !+V]SQiM u)~סj?gO>uӱA-[VQvgI\yad(6#҆?& cEC;o2bZ=+M9B cFK6vۖ=J&/!{=́PlM>֩$"K/=[٪ZbUlN3gpGĭrk~t-&4xPeOuz5 Y(;am"%Ղ`![RA~g-Jdڝ6HL#6s6TUd.ѫD&'56#p?)")[vv1TT sxdy <-Ʋe ԉgYcxre{hUDޱʸxZZYmgߊ!F}(cz}S9Z]V8 Oizd DOJJŽPPNU?ߢ)&Q\֝]'>4yԫalKEЛHg_JB]Iq:1f_!ԩ9jXeu6jn bH}V*y W>uw +5ۡ8#tE=u0<3ֹ uA`F[h'{rwew+LI֬ LNؚN&ՕK= JɎSKaSĤ3 gq6kXrj@#}J-IpĘ $m,ۊl|ӱHH茰CA&} Qh.JD"2GwįPԀO}q.` Ё- Q"@Hb;)uc XUS^)5R}zn'"QlO NZkdEP&A Oul)T+sZã:Z}Efeh]dTJ]NlVWQ*\uq17vV\6*^g؊$c12|[V8oULB%_0MU oW~`BIFaY,.=82DLR.',xTdFfBTP,< a(eRy0k2e!␈X!Ib~1Dj8GSc*%Qt>|2b1Ha#O8#'Ð]|F1f$? gXȰʚ\rNhIa&H.}jr'0d 25<(OwKڠ2(KV7D=BB&M"pQt,szM 5r-֠|2%]I\{R?*hZJƾ-zx/K-e mM9v gBR:Hd*PJ.]å.v̼"H,)0f])lb2e4H_! h|M6VYh|Юj!\U.cZ]$Oi cDžDRDR 6Hb.HA5xJ((,.Fq#,YsX2{|S "8 *$$A;4 ډhXy >$Z]]u(-6 K%>!$*PN3kV, `L'ؕdgb.Ϭ|đjt[mJ(M̒~e3JʖGyze+VB" ctFuR-?ޏXuI. PFsg1e=+BkìsY #'a5}aP[)wB gD58GܚQr@S|&`30|"ftJ&PgQ6tvчJB3!oQiL9]B/H 0lp7c&-P!-V]1զD"0LQ{Q-5upvLg ˃ WuFUV5$8Eʯl">g!~©<'Y>^T%7]UGTغŤ諭O8Og0Mb٦F\MfS+ȸْo҇a-//hHa4) rֻ&Md2͒%~zHS$zoL%)\HD&B-!D}*oN(1'[+M] H4՗BR-In=xX9\*"b $ku0F j'~u75՘ٱMGn S6Ζ20퉢t#|.ԺyC(,S+'d+QwkcW N'>[=n%n0 #!O'ȩ6\TTOq tSGxx i(k' 8H0V3:%+Xq'eZxzoblȀjٙVxuB [mo^LݤhƤ \eOE Cn6ǫJUN譍`U` #fV1(dTUftuE Ɔ4! GP*^ '57/q2hR7TPe  IK' fخZ6OQOeȘN H];8|T'hKy=7-{+w<ĩČ(e;w UJIt^Ѱ< H S%hnZ ,AlW}Z!XEXCn+ԗ~*NjFBМXPVJUʈ/aIg,܆&b9eyRR+3_3,Jm(g}ZKk֓m Yj߁J KSn (6ѓ /u\Veq+u3:T&# =nXAQH~_9  (  |дhs,ԵҼ%}ԭ11F bbR3̰TuI3H2eږ{+xYrŻa1)am+ u!I㻦zy.)|(ܵ'1ogYzpփfZ +O˧rj=L 6s.[U箵QE D72 QRuoG)ħi}E5_%g8m۸^BKwͯr*WlݸYc:=t մhC_Fd$66KQe94VXJ0t O\m̋Xa d6̴АP% ]=@$r*͚3"Ja[ᐻsJM6 lXDFUtѐT#7-ɨȡFvL qPI0oÁz9!fy!ށd2&!Xd᷒ ڥd؜RZ" [!(hMQAI FY@P *O r'}qR)JSߢ3C5SN[Okz{b88C=;wzdYiRIl/i00MqL>$ǓEB IWUS9&?ZݓxMS!"‰0DC!N9ҐP5SGt'R?YW(p^iv  ]Kk/˦I/쪣w"}>H_5gV4 'Do#ՑTS|ݭ_#tO1 ?;Oe1@  kjQb@dd~l-LVTwZe_r*.蜕:'X lE+;LukcX(ػ,h&6Ȣ!F9Dg J-?_%mޜs3_N%l`e0<ꂕBcaD[ i/s~+".&FB`nZ,!+CzʴV(Y bj|ć6sj䆤;"= S YYGFHAYu͝D.Дȗ95tdC`dGf IՅ\PS/*A99_Kb(hO V;]Eպi6GM6%T^e|I }t)AQ#!»'[#=3U e(q 2T[XUdˊTG*m}YnNgwrT/j&w`pxʓ[E&Т^>N~GF7)\!jVJ[=uKW$R'9cq[dJ٩ ԜҐH]=%ݫ29Eh6bSMJ|g 5?ey~x> Իbܐ1M7".c5N;8eu޷/ҍtX~qbԾS)Z)JKmW8z0)igWЀd ^"-nk4$zN$1qc{^Ie q@AcZ)Wa ϗ=X ^ED3MoBiDAV“zQAhuVɮj/I 1D9 $ +1([Ykp4MƆ)fP˲Wjhj$R=Ln,>!YzAHHԮ7C{cp6r8i j F~Xf+' o=,|H5Dy̓n@:BzT\2څI^fd޿BD&`˂d?g^m"Cg vAD/I)Eͦ4Iu9K{!2+00 "EkI#OTAT|5-HDɸ咹LX\*^H k[a-hEȃXcuhA,L#d:5$\}s{YR9ғXd\& 8K!KLi:Obӆ"@mTs)RvYfO W \ .n]49ez>:J$7N9Kl"XQn GM1ĜeL_3 ^ ;C*N ?IP6vVXğ3) ճ%"wyiT gfWLdsB=-.%Vp@RX֙^ 9E.iˤ6lj4DFaÅW ~Bkuu).{*C[hH(z<?ޟ02T L@@9O8h"z7GL(QNE"?z@(7؈(] _!\g US:4s,BXn뚝]s4G$l7h)FѰS?6-mq unn$hD3g40dڬ{]xc.l&IMW*Io:1xj*IHJwH~SwXx{nJ9- {ϓ" OnTYu +em9-- nBU*DAGBaDf> $wWKS=J^l! @"j!k %.`[ xUY hزD^}C$j>'>"ʒؐLO9F*a "ťH\S+TUHlYӲ +xN@~#ȕ&Gl{|A>"gfIFF_)Y15fN"$8v_}2ؙ,x7)Bo@5gu\s84 j"d&]uQ5VpIī`-dVG@E  sB@e*[$-jt/{巓ݺc#(uw]e 1Q/SE >Wۼ\ߡTO=warl )ԴY˵ؑ:_Y٦OMC-/"[rg|c0ij\Al n2I/ڍkl%U#r/Κyd=u0[|MР k>;ddG-O!s&#e.wfiҫ*l2aLœ΄8_SRw!I}Kq:ت,BC%I-Q0'TŢ4S 4(`^ʈՓqN5~yL"ytVK_.fbF9|"0THN'ט62:)!_'PW"J6 vEKlu\@JF!s"y=|(^}DQ- T|Y= ?~UA/zT#CslfsZ]䎟)&)2Q2~bn( .NEEh fDj} TARx:t.80T0C.(|'zevi|Tҡ˨*l#X)=?MgQw%`x(( ]EO%A#haFW7OB8*NƇ25y@df8¯y0'4rvbdt4zWb ّdeX3/'_3>:SS48aQW޼6'@pt%iL\"A "rD~v\hq.yePATK4G rut(]pNP$j' vvŌ ]6w'@m0^P*&D.R^(aFPt~< 42H1 0f6  ҂{? y`*nȹgu%Hv*b ]F*Spkeg82"AHR?Fn$.b1DʝJa LS\PJbYTVWů'LE)Ѐ=)XٯVJ*ļ^Za9gm1Ѕhؗ!#va-,8čOSLeѓiQ3bfT1Eb~aZ)DLH3 I >'buL3ȀZEsȾi9/Nuk\r~'YIШWm )WSeRo'u- mDҒE|EuL1Y:_i7I]zBLOA6i%Q2*ijTL\%gNVQN$4ZdȡФpT&<ҴJFtVMTԱ/X4dWMQnd%,5e+Q?G5I\mBr` =l 5$ɶhD}S^M!=7s")L^@M=5hJ8x Uz_VJqH:&Tܬ{&kWNǦfVb%JSq*7/~ZNBqer=V)\9+wrGEK]# - X>rOɋ _c{r䪂2Ht M[xrފ꫃)Kmj\9vm.B OOBcyo3y3Fy8NZSSB,+aHq]S͵7"Y>WAQRD.o-c9@w)OQO(oK6ޏ@ۦLg5j%JtITPp !mR_iң){.= j7 3 ƪS8'uI%[t*5[&.2PEx˸3I1qI=#wvs ~/un$(b}s<5$ޙ %ROզNgjEhwbQvzmŗAp.%SDec=&+@(je&%f#A[c1i*/R$j&J4,6T,<𔫬օC5`ZOA" R}ri )W9˙:SET+/LJIqg|Аiļ[jkHTLj* =0KsvJ&joTiâFEŔ`kA7piDp/4}p2nJ(2#GꜞT | lO%1] +SHl?`0ۀ 8?D̒P dXfY0wn>O&LPMv:0ƉDˎ.Mv ĚTh.zH~{!u,X 'L l4\ Qg7IL,\ÊQO߆aHj6& x`Uf ,*06ت#OU@t5_ G)%qC0p zF;IvJ GRZ=hh"\"^PD>Ş7~R_%U4_oZm!fI#vNx֥j)Τ#5Vܑ ``Opk iE^p"ր6$L+{@~ :PW{le:tGDP$ CxOHU;#ڃv%KN JQȄNdH=Q>-'gn F dT՛HӨߥ,8~iNm-D4J'sRŕQ©wճBpXiU#(4p ERF`ـ #@Ii,QR4J4& {[=S*vb#l#$}tfIxX'y5ε j /S$&eYGU>_Ir\rxOtk';y7mESȄjbHX?4br,"Y<&L?.FsTiDAJjf:ȃ6|f,΅쟾FY˰.? ŦY>A.mKBOW5i6LXIQgV9qr@"g)] ̐#%QWt\/IWv*I!9H9"2Ċ**xZEG2BV7jMH:ڢ7sz1 |xa5RY1lwV]LVHy?Nf.P̥m v* ]hf7E}o;LA9&55!-)/m˘q8[:VŃ;3Tacf!bJ+w L+NƗ:ԃ)f*o hpb@&jX=jw,0IDPE%Q\~CS& X-*#2xH:8s$5"&G#&*#ltH6)A<ؠDbatty$&HM Gv*:%T/_j bfPL%Dc?]}9{1-3k#Sd X,WJ3H:`!@ I;ZҵRA1f+ؒtS#h  (VYa+hk!$S˓8KH"Uz@n=^ˊqȎTf2k$Qa#2l&@8zSdLR1BE-cTLL Pd%`Qp;7]vY(stQ2`H\\,!OI pDCh&V.2fF5\eYbZ7WGY#JWpY5Y$srd֪hnǽ^UX!l9iWܽ[A.C5] z^ѳq=h!iAmb[ǔ-wA$zzބ@E_"kp@9UdtTƃԡu_)OÑ  E"z ɶ Ldb\D }P9'vMYүQ9J'sD6+v+{B©|H9M2>"aдN 7?"X0L!IәppE&GD $I"TőND/h G9t A]Kȕzv㹻̚%&WM FmʳפZt۬ߤ)%aZ)}Y|#9W {MP1E3*Rl{N$1% b-AK xdvS4E.Kf]qaf5>M`n:U#{FDc!8ŤƑ])/ IRr‡``ɨ۳.BC|YKWe͂W"TpYܡ7 hCSU*P\NZ輂XT\Gw/llrZEk$1`A{ i*3eU.n|yx3hP*ʧ~(e֢ iiĂL1= >D&0! F CJm2Dl]]@*;J2.iC1DUGպO[׺Yl-Xȭ{Bk7&t> v*rFb;BC4r#2 eήd5ɲH )e9~pDDU}'MΝ\-Ud]@#( kDG`[&4)DIؼ^Th ~|o[)K*TɁhRsmJJHpiTjTbKƿK[uS:Q sW8ZQZ$H }Y]n5{(Bʥ.JU)J>B 6PVn޸Pp׀HJ&,6؉C5xm Zy+M \L R*t9h暍[ròiw>~ǖu9#~ ~fK,V+vMqYOPǷ[QM9r@ƎLŧ ,T2N,.$=r`=ذc{(sveh\s٩Rlԇ^$/NQEVpV5"'d J1{:'kf)rY-&IgK+[뗴E[#TȤ_-HW^U ejӖ-]"H\޶ D흾ʔHi$$R0\CFGe!^(Ƃ$ G:՘@!$=8{^t,u$^*`*(|nB}&E(}1&$Gklqy[%0.2ԝ_1('?]?jQT:*9i2 1<מ6Sp%4%V%"L'#qb!"VL_MN]F (pmX1*6AZ]T( KqEh0(zD AD fY32bB*0AR|m{ [ "9C˔mqI#uO6{֋_FLLKc;KĀBwTocVs$3NzVTj`~fƽي#ǂr-߰-I>+J -{+㿟pO܈fn2r {j?Q [Ӭ\D@j  i-VUDոlHicL;RBa>NSRVOgH|]AUa$Nubh܈icIyh"A eQIXL-q`ښ<*ijXY=8&I=Lw%0]Ƹ⪶ƄZ]Q@dVMF_#Y$[O}Ϊ6fĂm=ٕ 7v&%S[4T.&E@ te4nUb,}#GORE\U!-_2T{~MPOrb_S~RZxf0F,7v!@ =9RDEZpW0Z/7t\{hjE@f\RDO>4jy!jM(E.;Ѣ$/SW4ҿWr9? X*O;eE1`~|"4?Y*[Ubz|[}y64Ata1q SBʓLT_Ld7?Ui O%̰L4;)zE\"Ѯ+#fUdD\u^ *8W2,ImW]26O:&_O+Ic$t?1'/ZX9 L_Y"8Ԍ2"a|]fӀEVB]tSC%pwE 8^ :>Jrz;AC4tA9v[p&5Cc$VK]l+%\4#iB8F5Ӝ@M$~M ,O(SJ(TY}-2B֤@$= |k[" (m`,LҰkHL07liw:_ja*"1b**ș"g(IB%bқƀ*q(mƩ︙~{<8xO#d*yEHM@@bKQ"}D5. =Y ?młtbCP"@. q[ h; ]odp5L *A:FM<lmiwI]Q$>Q!RUCEHL#tFكeMBlb&MUgeH @b6 4"=*T6B87@bLHϏ5)J`Jik8y44U;zⱇo)!$dV/)lJ?QƳ$HԈȣ%Q'ܵ6"^8˸6NfkϥYCbBqFy:M :(.%!w~K6$/&'Ie g$N(IwPR)@[Su>b7ZFX7S"`gJ:~Q `&L s17(T`$NvEzOq,1)J0]U܆(si^(A nn[I䟑0, KapB;RB&)Έvu \r/\iz8&IyJ NKfL>S\Uf00͉h`ɁTAS!ZF !Da$δ G]YD)"܅ɝ/#"4wbziMa"˗ BH0R0,RFҐV̔"8&;};AФ߁ C߇˻ HNٜĿb/`.&{}_~ DFYEIOy%S\El7K|]GUK &s,yO2HxQ%XI;bT"gs&HSrAUn0š Ih@,H#:vF !]/wWOȩaj̕j!e3F4HEBR x%I5.Y(tXV VêNXohlVd4߻ؘSfH Q,wbte&ɏ씘H>l*Bd Eacz?kuR<lv MHAU@X"O߲VNjW$*,&wՁi&L+btJOlԘi4:bzz3}z,`Vj5:RaJz!*w䉏8dBl}8*ٖ0F \eĠΖm:&M1 P*P,BÇ;' Mm$<]Ob@Cr<^Hx+b%b@AWTdPt&ykVDZrJGN[$>=ĩ!)(IOA&`ѓΨ%OZ(>DпޠDD r S*$$ TI)/;&ݴ 2%EADKAU7u &$_{,IKOt-l!?~~U&X>$;UBܗ,>!C>v$$DENfVڂkh.Cc2EJLV*)O`u8 dST"P!l[XoPSCG$`pqcTÖ&$Z:= 7- __F*"Ȅ2GB02rd-(@G< Tȕ x?cXdtXTjG@9k'It%HH,N'bZvAWZpH|=sPDD8P@+Ck ?FE2SL): iQHSic: 2On(2   qx%,p5 gA3f\RmQG*[ LH.'_i='zrS*E)wqgDIl pF  13Cs enw8Af4Tov$~#I jZ*|(o>2`]#;Mc̤j=mAm7$*HX]MY$ܿqAuC,A5/ګrJзEBNt' ZH0N(2 *X]8PX\iZ}b XIO\#Dq˸ DJE'28&*8C#/aS&lInq z_-t`EIOřpPƈ4[mqjMek+hR W.Rz GR70&T֊zJ#7 ZҊ*lߧJDT7%SLHFR-9+ ɈȣRc"W SZvyrx. k UNԹV% z!0`fKt{7<{ ?_b:LϹ)Hlq2NZEP 2iH "pB~2"( JRHjSljIn2$B7Y-9OJGő]2DF!/r(aZJxH*ʑV-J48=~IeDV0>ʢ.qf^;W-*^Oz^֪,ȅnL T_iQgX#+T2|xZXk];܍.2D(!!y%3/'"gĚcӛ[ a6Db@ q/,1x*C,Qv"Fw;Or5+MIkKJ"ҔyOKK&S+FNUqQg '*&C |Jc@0&fC脙T6;ٌJ@DTIz }^ˆvk2*% Lb6҆Et\豜SgVss酉(u q2%q&lB6e"NWt#Uf(騵Q%$mh}"bM0RL|?m{zLA;HUpykȩDL Qp3!dP.JvXP 2 @HDDYAs 3%;D.) d\NE+nNGKPP'30~TiZb'1"!4oeFY@&Mx|,ﯛG8fBK :v̕_S`-O0 d]Uma |4ieYdgME~JkjPrT"OO19xWHDWptOhQ?}*1^`^ZEC&C=Ldx 8ZGϥzYC宙ag Im*r-F9W;[]֔A{|qeh)0W[y{QJ N+dY,^^Dozь0nJC*7O l!,LgEl)EP%qTl@ᘊG@ΰҁX3L[ ~̎R7$>&@tK`eL  rq1]BĎI2,&|Lv$(_Z*Ղ3-[zRyѕ:‘Z Ph'V" d :. ъXL*v\(˅ {D^9KT(4 8jޖm+r%mAAE^ Jcll Ȗ%FT"AFzȡ'0ŽJ3aġb>"RK Hj qI4cHn) R6k̦qz1U'NhYdrIuY|(v@ԒrR)E-"fpP֐m6F ̨苺5aOĦg=t fe+hAbȮ FNcǶP/=򄽫jAؗ֘?_ʾkǜ+F1IgSBsgRS'\wBf-$mRXĩ^H'k⬢ZjĐƒR6DZaGV)ȊKX:E>YYҡ$qb*t(^F窮h`CjSx-}5I"4ݝ۝R0o)*U#eel rE05$1:vFR; 8tD G$/`U BR,}h!1R詉Ht>d.Ҷb}n:Ry=dڬײ8_f:adڐC@~cbXS!p03oWu s_Y 2 "A>jCyAUOS4{xs[_VAá*0'FLa\E%QLoٯ rIӼ1r `1yDʚ8K2-lV6,".TQ{trN*)/BJ\%بe@,~,OI pW 7@N*redT[GO/" ;t \Mt.=./}|O;9km3mE_,UI4q^5Uw5JlY~_Zv$MzNFJ@H.uȃ՜(8QRϙM7\$cp#]socA_9<}h+ÐH3HTtgihVOj{p&H1SQ( oQB "H LDTrM&i*&x̂1iUllr %}{==0pbGtIY>A& S'XrdIW{!R% %2. tMz"RUHXB}㻕fJǔTq{#*rE3GKddP$8,j0HX+߇vZʤy]B)i%ErXܟpعjFh+4M]< 'c ?Eڨ?Srw<䇹 Xba4urIiX|L6ݥN{F>7,kz3p95#p0~ oV =mO{ qʑ;)?SCh)LҼP%%9kK-lWo˝Unq&~5Nj(JavoIZhښa{Rf"IZW7Uبڋ nh-r;i+!u@C,yVp54RHek*c\#m??臲3'~;dgDxI3KȱxNʅ Z ;@|aGdSoFXvl;Ѝ4%#術BQ`l */sjc,Ga ny!nHcKrY#k (EjDHٔ.zLjwk{s>$hftH&rDfm<ޢ}Ǫr (ijK"MĔFՙn[/]b(1'Nm.Ca2;" pҏ[ X D $Bd ҿ]s_-( !õTmk3d[vinڻ V6 e- V}" Ѯz|ߦO)qS< 3Z+b(OCS"20؛SŸ( G,f(}.1wRc+KKpD"dD') !,uĊ or&C )b^vӈMYQt;9o[i~)N,{b74Q3 ╌('TG6w)%KkWM}8)]^L[N9Eo8gJ6\')q-8+GjEp/evVQ#:!֛˝ɺC˛ QQD\>ʍstbB)."4LliBVD>Z$4h;&!wjcK f4~D?[Cgl񧒪7+K]%غ* \,ۯJ8r[4x1>ehY),`骡|0-`̼JԿfA񂖘[F&9 1Up9m_QI2r.B';Qyme&i&K%9_=i-rf&ӘYf()G:OR))XZrSl3¿-3|oURAy!'_Ĥw0 #~BOi3 Vë%|;yZa;)"Z ֧r*h^n#WsXe9^'r3]+oBfܝJ- A+`/tBDVB0hPetأEm FD ^&O |ab+5tőiCH!m;khLLyQ I+Hnl-FMw'Zٓyg*ZV熙Z̝SLًJL4RMn"^9=I?iS5ꤳҳ R0Vl Dך;TgvL.+ܠ#WugK,n;Sct-=Nԝ5Jd\+u4uLJmU?,[ZU6c &Zs,uѺ<6Jf4)I Hn6ˠA wqZ, z;٬Ct%8zi%p(͓Wν⫟4[5a%Uf9lS`Gi;@jK`t ~+fD8` /hc,"I1fru!А/+MHvSv3<mS*E$ݩ!8Z9=>Sq8 A\1O߈p90]3[*}E]q[YIv=6/#n]-L^xC!K$mŵ PEVZfPzj%3^M4=oV2c Le2]D'A=K0,zaFw+IA/'z1Y'.V٧WQL1/Osmyc CKdG50oTׇſ65Y+Eu]I;BEV]~ВciޭOpˑjAn @zץܛxS2XH-O * )K9VȢȦDԚ[?A{?WO UXШ6=fd$?Xyl%D% mD% Qի?Konf uxNU|h+j|-F9 hp$4(dHy*YAb_}~劗܅.HF|/pϚ>*`~p(X2nzO=ez n2tH| )F7ʶ&@.j"!+TYG$uӇx'>gũއu31d&P߁2M :m~ZvY]%jK]d98?2<(im:v`Bkiu(^xz§4M4nH| ϫ=#Ux ϋX\b`D=QPF^*r%([iWN}Uw@mR&{jﶙA.ɖDtбMT'_٭>2whܤ?4p+z}C$7B  ZL$pR"G+YcK JD݂Qs' V #`D# EDͩ*ySEtSS v',G] UP%T<(הS))"22R_vAxaЛ@lP( `²YߞΠ*>>QȈbgO 9 &q5bezE L^2B CD8 %;Y 40554cќ MđRòkֹ} Кzܑ4J7KQ&E!-W0J~$},̉k1rJ iu9V MEI5|tҸAN`\HGZ3E?xuu{' ^6-R \NC FIdCbe(.ٺ"9rūm xd+nFZ20Zu)D.hA2stsN.򢍒]2(x IIm*rI ,^FI^*wޮHzLuKeXI)[$αY_ne(q}666*ȱ׷R޷R|+RNF.VuNoԌlWGH2X/k#_մe)cRh!ֈ*Kx|IH:[w,##7ZX(]MmR \F'l\>jq#,g8lMK%9Յ Ume+w!LZdy<֟2Cb]tQKm~~c߱ 7?Lp(J4l.$,s_4ͫ~Q~IF9tv[G7>}-`k vkh'+W5"(olRELJ)꒣c=F*kDGVU6vWLTt%7}5pD6XǙb0M4ҏhI-"Adj`!Xp` Jv P4( !,8q 8:S hj}%Z,p КE+iE Q}<+ e+ZXD.ƒ,P^͒inKy޸Y$΃ePuSq/ߔp$umi,GKX3܍.x^_BMCœUّ)Mb.ш+;{:ie:]b{zޑ﹉wP_,F[ իj8X?øN[A x yPWP҅oDH'\Sd1CQqYᲣ$m؜"r_>>}ۚn ߵUr3y6'HA(.K%]S',oBZqƥapI Rרuc51,Rb#>:j^ q%7GڌOa Vis2')VE|vJL%܇JmZ4Ʉ]]aIAtWŮoTΩ75 }!υtt)z8ig@$AzVTGub+fɌ |`<+ٛ>G~W%ԇUsQ* ˩`2-%qX>P/ yiHfixW ѳ $t(p@+nɴȸM{Ɯt(IAdʍ= G $jƟ<}'v4;2GI}H5uvJߘJ(،/aRjWDaZMs4R^ߟAl (<ہ* UY ONUl^8ar4Uc$:|*?—6yW 0FI': i+JMBak dsbӚM:<[*b,JYщMV,3)-.1ʉZKtD#\5[k`" I/$O"q $>D?)Pmy>'.ܕj|bZNƏ C"n2$4yR0]Ԥ{ԆyHA=-"8n_ oF\++!W[ p^%:A\xN/pB8PSt5HE(d:ěؽZ *P|!WXZݒUI],(tF$$u#1}T9s~I1dHUk=Lszy0m /킃N=xd*LY^\S;W'??Yۍ2~w4T(G R%.8l Ɯ[E(`Z=||NpWzTyݡ*@࿵{NA}"|(a2Њxf$ % NYtҞw_{ }Q LI) ^>VSB '5*zTb58 ;bx$#L%:Aa0GIxU^.&7hLsVi `DWB9G]h%Qr@7K;q+Y MfDȦz(1Hkr$X.4*0"d/e?ah\ɨȥH"|g_c- G SꢸaBpG&ܧ*-C6dA=ڍJgoRđrb0^Dn!FS!UC&D-_Ս&#e,i"}BM, }rS?҄\VBz*E%|ӹ΄ətnZSSƘ(wIH$ZDޜU-D+G6BQʲв'jdAHRL3 `;rDȴiGB/ҿAUjnΦ?A;}rPFYec•1;erewzbhͿeXL^-s(PCBo12+N'#" Rbl2nq<{ٝ_7TC:r!F9 *{|%PSyj|muOr#WZG?9BQD+/0d\yqInһYs*% [؉JNEiM;ZWUR"\ܜtcT/J:1NZagjn̿iTJj4D)ET:jw)C֟!I2}" ̋;.hH qZ#60og Ѐޱ"I [yLͼ/ @FbL09`"sXs%]0r?V™mr\PHp8_taȁO2H,1uE1\`#80dtvC$((T, B (aC" < GVQYU XpDA ؂A0)ẙMX%; !0hQH=ua^e;A V(A$ @`"N-!KPJAaԅZ!A2UEU  +cXS@k 1L%Jlzh;;4\F\#;GfnS8̝Fu *3p\!33/A )6QHr.<=U*B !xAe!|1X@*!9'!Nw^EBC1S O6w  cad @,7𡟒 X3U p\ " ?r$ :z}̘DZ A8qA29hDt"?3G!)(0ÅDϿwTV0Jt =Id5iy i\5]{4@{q-J AU%KM5M`Q, Q:N$h#9O{B((A\`S M'\2 Y@,\@C VңA+xA=/0~

GyZi,ȑħ'BaܟтHI 1'Sd'*-Ak(ԨI+#n$(Sa~Q(6$Nq">jLr!+^SnSaI4&YdA"t+K@֡AŏL mA b4`_T-P*D'`:X^ +a ,= C .O$٪s aТf! n, XBFJ#XC 8mEj-"!JZ6.|ي).6L$FCَ\LRq' 3rR V A((zQi)*42 V\%ap`O!5Ŭt.+J #FC!W'L-T  .jqU‡4 Gi,8J^@!)H8u&0d`8z "8C_{uCjۣ w䰱N8smHh`igÂܩ_C娓(Kmq ;{IHRL-Ң@ r,,8oJ4uc0@a1I0cpK,!YҤ-jp6B]ZdUzmG3 sBPY)S~cP?rC۞m5Pt*&5Ҷqc4"xE !P&A(*PHFA6)'5EEl Vp+ V%%)@y @li㔀p; P d7*{F8p`5SZ$# 0P" heTHfNPXaF)`4 BcmU@&B9 P<?CHv`v@0Tҍh14ST &1JX(Cyr) 3 . 22\w,(+_}A}tu`fX-7!hWY Үh" Pf,B9qkE ϱBhgđ%Y`J%F^8į8{GapXXb&'P)$@FҰ0*EsEAΫgCڲAHLQ(d)8JXB?A"].LBxRP2`N*&(yJz* !.pP1pgZbfaLwՇ 4ć(9$ 9BƦJhi` IAFʬ-bQ k^+E^n6 rPGꁐj j<iXK<.ZxDyBN'lU#abr!oX4<^Y`CɨȦT@bhr\mb cbH9rPB29xZw$N A33#Fq>6wᢣ#:ηߴ\sP|ÃԵY Vm)⴨q-V dwL 5# r8tBEBbzA1hW y{Z21 3T"l4+`(ƈ9x˜(Za9aЎ+dbEj#"Ⲙ VP=8r ވ(d6 BlBvQD;qЎǃe|F& t"Xp P epE\298€E9 9'|da!D  QE W&ń`2BLB5Q LrBvpQY 8a) 1pq='i&8S b aqR Ly-Rb3ܘí0F) cFD ez8c΃U( t< v PCJA[mw^63즼q BeƀJqWH&q'b'I\+"Bs Dq'!c0TA˨ED|!Fe5DУxBx+"9 U2nq!C̈RhUW` [Wbjq2L R4 R6J02J㫶Dr.jDr @h:T(.r4cefQ'GeEvy1B3ZUݪ2ŸrcelpF1g / 2 Hgb│Ub3&vT8(*lRl>{̎CglcBP2,*_!ҽgI3)aTL E*w\”hJȀ o 4Sua߲BSc̎±w-""HcZg`jpᛏ[UJ!-b I,J$LNd#$zv)ȦuxUbÿc^:2%H8$pAf(F&"܎HI}Ni1CGF>P@"h>CH*]HR CVGt0'sA"[uL`>)8AGA\)Z #A0CR P8PʌJ(PAHW(G3yT9yLJ8::)FjQpwC(u +į7am&'F!29Mh$ph}:Р{YaF0tUŘ&T1>G{<0𐴢e$=+4D*JtP*hc%CG  !<"Ay)ETսJC@a!b6K%&6(b^$@CHp`鎌O$_0@IU4P!tJ* rol$ڒJCdx]sm'ƫ/QE% 3r *N"– M!9H ~揉aB#BB @1<fDYBHfq5桭uXx+=*26cԕt, Z֫PZnaPէ\E [u xU>Ķ=z#AؑD$V%ՀӼ!(H$|L$Х !]OѢĭX0c"v g%K5X:e4Gz<>a >1& RPeW"P(iu2,EGfZk{v!%`Y09n s,K=";xQOA ]BiBHs"_,B. FA%b".2 m8jC hF4X42|+֋zDķ5e c B,6ɥ)FɌ:V|+qƖòK(tEVt$Shǡ\UR)eFGQzep -`yYXJpb)g&qHryꅐJf jl!N1#p}9ElR&ǥ(99 1{G~Yv3AJYjE݋ . HG־ibRIEH7Ȑ4 kH9F 'p"LnPiAxGJƠ9q[E+0rIS ;#=zJ;XѶ1Li+[&YTg)Be1(wdn=Iarܮ^"ML p3Yd100w!hj9;Sf Dp!1&)!0w4+Rd+B)%(ہ0VrśsAU ) C JrB @CQo1S"+4T`{vh=PwAš1jHSG@.qٴ@2d7bI1C)p? We1$AYp2p(uiey4)0,=Ay#+Hw@"XDxY$]]'{t#"'JkH},Z+%B*Oe G%MbtPaveNz f`qEdO|]98VO)"7A Ȝ%h^-i2 )XEN5A &4 v`Z{<Ә Q%\NdR] 2-0((^ˠ e_mOđ j!U緐N[4"3R QMEG KD Jj1IkWFS(Dn FĘP_8DYqǯ=VQ_J8a{mEcZ_)BP dj J|%1 Oz $0UT xLARd!'rUo!rBg T(" %$q,@Z0)ZEbky |y;F!,[XmsFI>Ar^!tBt)<ᄔyB-#-JhUIRq!^5kFl籜'V!i!N9Ba4#lԻLt'?(w\}>x*Vc $2 QKsaTs%,[:0rxRAiIelpEb"@Z;Ie1N,wO)Ɠb[%: Y,f놃AI,vŖ@9T0Hv%#+ 5P[ Z .U:`rQi,xY#W.I $ MFM3YYQCSg8IC!"Tcr2/ xSY%CK_q-67'Rd7%bZPPE8]{mʫɭr % Xx$@.a=]\$eb›H%[xyK%e!jy" #Nd&맛q--%ypԁp@H.iPhZxGRPKbs C,SAx5k%TYGE9?E5d%h!4a/CHp ĐFC [)JOE4+ek1!I+Q9ŤahB)&VGYPi5VI vePw$HJzzCy9ʫ@b B*1;:C  VCxZn\`(,.!>C!c8qpV x APTn-7(%ԳZ psDTj*1#FpSUP0(hBxL7Ÿrq{Z3ɨȧ"aAHD `&aԎ_E, Hn5 E9Gto[0xz"aTRlq 30PT6'((gR.rDel*t"U\2Q*[3 |.mvɲ5PLjfv#YJlL=XDMQ10#P$Ig!D)aT6.AQBdlCiB)Cw3(͋T.itQ_}Y*H z ]ەRL 5`MqHvyQq)*DT f@e`F> KƨhLF! >!vG Bj/,9']J`3?BRd`'7, dˇȮR(-̨ܼ,*7`9AF0;APHbX6!Iuo)YcǤCA\'Җk ܫg< ((4&jrbKqY)Kw/کy^of˛,ХSzH+ n}>Zk$A͟T`Md "SwUw(滎qܲҘ+$S\mӐe {|3ONWl^|}Z ZaÁ5 )T= mP"erYI.rtcv-sGV$4h@3dnf#DlN[?NgqƅG{jlrYI:!Rܫa ; ٧q*T_N|'ʺ%TF{\YDwx%͓_[-&]MC?g쯾|ԕ+K'|/NݮTBv˿haH)LlW*Jj&* AtS{/+D( teBgdo'keRwGR塂='(qcagr51LT 4 4 q! pX^5H;0gec*,=^e[!(ۙ.)#Vj$IRgSYb)a\Voڢz aTJI%'p-n/YM)Ŧ lODD)?B (5XDɻ6l A:9G;XYV`C"eULk=M˥Cn*N*e_󯔝hIckru9"kp貈~2d-(Įj[*0oA\(:0&;$)a {]2gPSCof%QNuT1Rvt!;9UjۖNS%Y' Xb78/քP-^{5KZb_g<eyLqLOWʉ9ϻEa rb[TAPɸ>}qVeg 0:Z׵)ث[ 삥 !;*تDڋas^buiIj檚F!M>Թ*E/ AXefbc0J@*&$ \%HU Ee:6$UbWd>(Y;Tz8NKXG,$$jᢙ: ukk5_w ɥB Q(ip#> Ո58ߕ$-Q՜JVRa8VcLeKI'C_b4%*&;/ܴ3PhYFZ &[A7yZ; R[0uq(1UЉ6Ӽ[}ex#KyW4/L NQ'Ծ|"&=Bmr~(%wԊAbme^ ,CJl2e2)Wz*EӺTc0O*5PD AW^8HN!bIo{Rş*J\a>8J(oHY'?hF](ɣBI-SuܐLmٻy)NWèK\f&\Gm4&a]8cBdCیz-쵦9-rHB-)iY+Z՛vg0=} >q:k,ipS j wv gkT9)wr  K{o͂5oOޤ*1a'"I p읬Vq%HjDNE, 8"p! wzD @Ж`H$#+lBkzxFȚt ӳl9l3KD*XtHF Kp$?HUvJzD4<"SkK+@~Qу78c0}QE aXcIQ2nM6AcjF84Ė3r )"RB 25d Z$WVHx1 b #0Y=ӢFa.tB;pGɒY6ä*<{C8_aI U=+KqZ$`28w zER≃ Pz)Cr1Jao #"0 IWchHًZ;N6A"0CEH !%/dPhAT$A I0A6CAʎE-c%c7SsTuKU={֠- tB`G$9INcW["Kk9N!z34IB9Td QC r0@sK8dCed)BF(sB˃'܁,L,)≲iYAL =0$C\rPYbH56;I4 15z`yh7ˀ%H`PTByM_1b( oӂ!l炕Xipu#OSmzdS`ApҊAKlŬ,`Ǡg&4@~cp${ŋPnpEj3IfQȲj"<` qa? s{%k&HiO,x g!c R3'ViupPzFL5a& !UYB`+Pv0C5$JR*(q@$ 0lQa54a81eBBO Ӫ<1jAC[o D` ʏ1>z AhrZGD(p跅~B% 'k$"h%$(=@idb:$iři@pS~Т$ےd֪ÚpfBZzЪWF"H8[yh)~G?T? 2u7 KgeYL,9>L(0^)k x>-|cN sH$#G h}*+00mjv9VZ$X=P1` S0Ib)4^<,HM%*y+B[k5MXRxASuPxL(.!FEUb] aN ]ؘ*q8w0Q㹨ird 5Ǫ$(hĄl)p-u%$QJ>hCXqg.{ 4QH /ca ʺ+R"}&H} s\forȌh„'$Za#).\Ma(rLAmЕtQx9-@h0|8?Glq^-.s@/P'䌪'- y#cǨXL[A]#4bP;,57A(W5*e)EKJ]z%!\i?8CI@0 g A!N [E 6Z#L8VTtDUkѓ%$RE#L,we upQvȹ<6 ST|؊uq xQQ³vB*ab8)۽hb5NxG@VHEK ՍQo,'r]t ` J0< x?g -IuvCHlݺ+t5@#9֍XXNGVFdQc2 )0ŢЧS!I8 Omt˲$`Pc=afP1֙Qeښ1 5ǒ;Ji8QQ%,F aNA7& &1sRDL&F$ļyk1CnR)ΓumoQxl^+F)+Ce8LmNІ$0-QBT[A rZD4ГV+(q :Ei-^ @R$8=q^ky M.4aF,ibNd0BI!pౚ `ZMgP'M));BޗHZLK*{E8IQc%4!nRF5]ڇǹ]M-(qĝ/D%3%s{' $4ـ;V ƥe`$nlxp @i: [cAH-ؿ=䣰#RQFņ2AO%}!õ֘AHCSm(9RS@DkI4Pz1b}V&G%; ,&6bti̓4`+Q"S$É+'lvR%G !ʺè5sjƘKi0' &6&@?5ֱALColpp 83ki!5Fv4@9pP9f"bpP#HP>ȼPƊ EpVp@#v ƽ{JV4\50Q{4Ih, "$Zin3&a*2 G-PBZ`j);jxa`Ⱦ#0$Hf R梦+0l![ ublTy֝-$!Cgk<8 aI<#Ee"qm&MH w9.lgO0P,Td7ځұɈȨP'&%^fr}ب _Q艋JQ'DV픹1Fu ids/&g/ek `Iv * tAVTwq"O]ϛ vlԯ^cn~NNtvFbT9 Br!-٬ P&$@Ux7n/[ZL*uFK40Lfiu\o :,n׆HER$U(YkiQ@@x20xo9.~ͥΔ,m DEʇ˄yE_Ė$T`ຓ xed ^J>J .-R*F0pqѣ .rT mXif%h~1p/" [X[}qpw|>˼"IrQjѦi3RA~?TY{RP* Ji2޲ʝi֤AQfפi)6+,kiI(tmm[y[ J/wwu \HPR )vy`C, ()kyl SLijbSXr?Ub%8;̫ 12FubUw.pK*ˊّa/6Т֒3qa؊d]o1%5t^ʍBDOԭfZjv%=/LHV]As撊DqFT@\·f)D M3%IS,( E-  7|#ekLS,g5#kC%!dN/F`%9wut-LxD|SVz❯E5=J%ע~TAT'f' 2&KYऄ3"8 ɼQ`eG*ˮFpĶB'hp4dD*IK8o- $[O5R,*:mB56=[AG݄,boE]LN"P_i7BȈK"46EP C`a/`N`>!=bɝ2 {Sr 3$0 wZM#f6E(Aq\oegBN[X*9j~I\U[8RRsC#1lSZ M99u"qIk Hqp!^4䦆NBX ̈́QgT©w%T!tfD}Ax35L:( OWH D4**G }M9>"msTx0`DX\@ilrR3"hփVOx<ʩp!d4ب[Sk2\ 쁰A3D7mDHsHXOh3~P? a ؃US #eE[b,lyn7{o$$:yxMP: Y.b MSVR§%68eWQb 0+@UĻbcM-$xYOƈ3Lr5K)TSIwN : [`b@-FPѽx?o-j&iTU(-T{7XgzϥrUAS9$JC`\_Z7 Ś*;F3O[IR_=hXJb '!9 $+V)p!AV_2yivpھRD4#MqnijurVW+Z_'o*OI V:{,;&HcY9w9 %~ėb7)`KEUM.q,3-"z!ff>9Q7g>:SCE־ڞNya(q Ij,WuZnMMcLWn7@nQڏ:ې &79꼡d_NyI31XT&&̚p}FXj aDYo.:HD"G3_@(AP|\at&lϴN媒}G?[V/0lVͻ'r=t@~qk0Y`;jLu2[qhؘuMh~㚹%HClG2{Xx\=$s6g͑5LEeAU8S"`t: ;RbɠBbL[s;qv#3S8y..[hΊ:0mF& $П6<{tBsMUNbMWP'i!P J*DhjwtUM3EUE<{檛f[֏‹(  d \+D ЌNoƊm]:D|)u&S2˳Y|wJ,ОcZ `M#`M#^/L7>(J귘yޕ<\ЪVYS>k?6䠃RR$94T T/&4Nݹ Tv抈3zg_cfY0F8VΟa(ʉIBhr|DhIEG!*7PB/D'?Vuk]AE7e. W J"!'m2H0j6e(]s'ͨ\C~ & UtFKĪvUZ:-*,L3ff'93a!3vU CpQyvT@:F*bSQ@\<pbkMCN&YInk=}CbLY0ٲPJrFXM_اsimb xJDX&uVO*YX1]f`@M,"fnNʱ%ъ 0 WߓFٽ x3A]E*Ma&H,SG>ʹ`F{&PX_.Ԝp+X,@A<\mL*hQ#,EpxE5 \‰ TQ`z8|NGB&a 1 6h\Uݙۙ|̹oL.Xv˻ ܼ{[>KWB+XӪ#lr_S) -Kgjٚek) 9_W!L{5r/l<{͜4)՚ϩw RA oViD[T6fD<{rDI͋la#\Qi8T#m8({a$fTPeL,M&Ld▄e XK M }(©JgGOWlOEnU蛽 \ v/򣂻ݥUF&U`vB12*}Dr21Tɟ"ts̮9.M Ѫ&c.$W/l6!K6.\-Z2%9)Bh|LIzD~uBka7NUepUL4uΗUHHф\dAyW*RJcpDD Q«'s-4~qŒLcm9l:~,PCte] Oչʄĺ8췗LerӘOB#PȉM\퓸e >.S3&͙#/4i~#P]aJTa)=2ތYk S7$Hje+/+?cc q.j:7RB@ʉĹy%*_Vk.Xt́S{dzhJXg"$u&oYQRJV`Ah&il!~:88m #`CL~%"!IQmgĥ%BF|LL#eGQaCKSis6) v.$uϘd2uWყ`?QP;KEXԏ]}S5۬߬_HH+Ij–"ka{qb.+@;>z?earؓzmBD4Jsrp*I1̜z!csR.:xM^7*֟=-{>BB0B& )o"N,67)@3#DSмp{rvmU1oB ؕ~ľD֚7$죙u? /.X}8?7 1X DzlHϐio5#vJ{yAnZLDe ?#XY9tYꬽXV/ !II1oq^u2QC({~HDl8ִy̫P#w1%&dSA^[S^łQDgMUJMhWB"#>?4@ JNR;S'4w9\0 iUt9Yr*;E o(`,#0)wIӵe 'ΘXK_ D!a\&2v fVc%ᡀ-_Kc% He|lf:oҭG9Fupgv& !-b @MF DKT[0"@ Ncr7!TPJ!%˄]m ! klYRWVp"]Qa9=NSas&0bP(>Ysyb#Z/@u Ēvj#/,tHss5W)M%1B4Յs־XE{8Ρ)@\d8l<jPB2p$9*#@z3F"8z2H@Hj6>F A`APU#WL/:2J"2A['j/F x)LD5/F!J/yǏHGcsgzii񙭋;dh:_3AgCH*(`xYwnB Y@^ "y d=\Cܲ HZH6D@_l2JZcR/:ҽG%ܩsDj_t5f(G~\ F%cra~RɌ305%Qlդ`9AO$)/uJ\JxvmsBwhrnC+_~6ٷ͕> H b92"*p"t#- ^=x#H#Rv׹Ke#sKyB &kV%Ea/ WtZ _tE|dfR<=ڍdaUC̥!%CJ2i@h \f2 !1#A ~ȃ CiXJ Y%i"B9mPLu\ݩKߺmzoѱy'Ļ̽?<̙/M S-1δIKȷIw(VQauBbm pwJչ81s $z'񳭮]u>D:P-Z% Fl?eWߙCx2){4J9~E;ЊPiMIjm?/qb!,k@]~yQr6s*KՂn.ƟếaoS%َdteC)ă{Ux 8"JDZu8(H"y[P^D3'CXU`qc)] !~*ۯGJ/.;w!Xv$g&eUS/)¹з W- D*[⹌ϤhcI>DP.DfQ;QLhƑH=W9 n6>*\ B9;3IVk/[T~1?dXr*70 @Qu%q)qUA+=F-$X]'*6a-sn>x#M"U 2I5S7 G[:z5vi3 /A/qɵ&la^̏i y2j-Eyͺ4-蹵uxH8| >$a7ԛvyD?z?`aD8&Q=aRR|"bm#+liq=u2zhnSr룉Qœd ұ2WmWw%?N5YD@/qr܅FUFU(OU{Ej%xc n8. -?݂%J4cgMGIr>O4`W#aҪ7B_.6zX&EING""A(^' .o-Eb\XeQWz64_" `'CTx `XSUH;/aS =mTe$1 +RV.gI3rZRP"f]R݀v>1EQkLI7JIT0QC-c16" 8$kd{ bt%1 20' fIV$g P 3K c2L>!AWYܹHcVrLF4%\eh ㎘h)CO9Pl*ohNZʋ*[]FLD|0ۈ<[Tx]-VG@?cꐈ酞`.I҅*kd׉QF_ڠÔ[G#&uQ$?YyUX;/U96i&Ɉ%:,Nj]_样Rtk ()zyc5&q( {P82%!ЮH)ro~y21Y=yg~'닸(0* k5* vrWl^ ĈIHbc5Ԣ (QŅ%״G?0)L|5dKsY~_e5Ls:VgO(R;.{ƫ2/BհYBBŗ,sM!#R>RbUS+e ) wq+OUP[;ѱ>oˣ2tk%-e! vং ԅH1z'--T+MWj<ޢ96=S֫C }_tP@ӎzhI 9g"197h^THU;f+ 9v+'G~Vwie0͈<^xȈw°|N'10d JSb̏DΨr~ro+V):~̢6*R dr'G8H̥6;-Mɏ1ĩr+Ɩ:/ YK"6U _ɖ2V):yMҦ椬X9^@9gX V:h}jkh~=GHqfA+VY"נ5wRYJrI'{˯ >,/g4,<gsXT& t\@9)Fl5ފno{%+Cv&.ť.~/>ASVZufsw補JߴWVHA'J>Rr4DvL(`phBqq8tTBB/́WvFHpr7E$a Y=hG[Öc]eЎ\ "T2u]K%iK1\AD?Dd1~oPАjJw$32SW9yD d0j^a6AWb~#E=-L^uPو{kǙuLcG? kl.8T(#M6$P)$0{(,7ăh{/*WђnbqN}iwwATUʞfiw ŀgI0!yb*B<5"|e؉klZ;n2R̅IdiUMʅFV0U 2fiȈ\O #g%:F8(RAzReQ^+Y}/5*,OcH/bQ آY ޤrh׳jRzBLk|! MK y1J#]F߅qOQo~A}"]F=Z)_-I!e,zD}='l,1#g"3Ħi}p^PD!ϮIRhv tuK1 |$Ph4Oc/a'hqef*_%e{KCu&^*2GXM cƀdz1EL,t3 ákxNx=8HeD#Hk:!rXF¦`@IE0[-u|HVfTp%BY#{5WiQQf::(nmn,W,nJa1%bdeGcZRPr}3ĵ]F8K*9Tl)ӢSNvĎl@!FN5ՐB"c9A".dlj'iw5#VdF0h,K@[Uo[o$& ꆖA&s=K{J=1oCQ[?h#* I3?VGd[y֬pRXJ4EꈈЂ, DFCg)gq\r\d(#"zd""VG!dӘЖr}KF)&Fce܈`̹uJ%h"v<别-"8HH,ݚ|e6Rץߊnɼ.dұ+r΅g~ͭ^, #V+L~w{V2D&&G饉=MU"bfFN0)#!h~FI?O_ByV: !}p8ڠIS[hPY$\Y̳*f42n3cשQ3ʍQMk܆E3Saټԅ@H-NB^v&PPTT$)V~O-6Gbu6 + /Ƞ*( JlpPDDJʯxKǩ %Q#[.g16%d_lE'9mZe} iOX#췟P(f)bRm]#]CD%%Dꐡ5#݋*_ #Ӡᰔ,%"ibuӮŘ*}91">Ýe,('UFAmXwSy_?6FH dF\y3SrيH̥ sFaȈP'҅u"A+p~3DQA, Q,3cY#>"qx@4 hxx{ʒ H}U4ԠVB1YV&׈lٺ_~O9{J܏uR6a4%XT x@!%/&wW63_ JAA LL2p6\`dҞUYbL0p>4+d@ƔI u Iqk82W:D+Ӣw*OV>ش&!⧮;Js!)!80\`4LNݚ4~ݩ#BD?*v3C2YP5.TPb\r$:U4Fd>Wp\FąwI]K{7(%Ldq^YJRx:3\>*ٵALVRbuyŏ`VxS%'t3UM]W3lqR+/:|5 ܝAdE,V WNi4`+J׀8tgI57xx>cYpx /a#<մIC$dL8wZB/0{g^[&״ "/ ԩ\.D`J4|] Л"VC66/ LqZ1rR3d&FK珖$!s'X sщ+s4Ja#S`h=xh%xLw=3>.2[f?W8gЮ֝:t+'}&DHe̲b_.RnvlZPs J,[&$ȂƎG!iP" ACC+EOCiR,{{EE>#5P5.cLa&kX*x.5̾ΤjNc*6w[s!PZNЌ%=dIADxT&>*ʩ/Q@6PVU'p0Zb&[EÕ"qT!*VTVFAvMkZX8$`:J"?;p?74IwF" [@OF#M>b-.H(Z7$|űk?֣ۗGd)d%J6?E Vd/{W˫Ff)9t Q3DGƥe*k1RL0Nf6xcJQ+6[OqZ]ݳn3p~:&XM#,%GmE5;<aA-KnMJ4)x2 5g%NDERȴ@/FD nA1ОT:8Huě22vi7Z纱zGxe+"V4^B{ ĵ-ZE%)xu2x]e3ѩRdVFؑGa$?|}SGq)YQ-912ܛ:X@ƚdij.?6ix֎;g&j<߳Ά<[Z53\j]K$e>z9NOB2ai^"*'EJS1q=MYXUH}lMEs~YwWO[5HTʯ!I!g,km)l=U,Y sJ+M`* a(+~9pD`/3T(g~ 0ԫuU$tt Fξ}Mz83oUL<ãi\q8v)~uD"A#({kX?.E& DBGYV]Uq'Q6Ph)dwF_ΌDm;?InJX^8E,ԃ:LT.ܕBҜrEbggT4Ht۠7"~BB䑕Xh(.,EژlЋ4 kSӂk"A$OYkQT=RI0Y5Pw{\ p,Jm\k̿1px>YȾeGo+XA!lҊ֞~\RBG ʖ!uZ샂&T+ZLd2·i<Ãh9KLUlE! 4G>ȩ XP#&3EL ٦urP9񴪹18d+yD)فB.OKT)g.9>Ct,Y==‰s!kA$!V efr_M+*Z %J@Lq3`Ov*zz 3}/3:{Ui<]/"]Q[#LJ-4Ca];k+rM])\VNih8fgV#b4@D zjN}y$[I_"U(!%pدUI-cGFM qo +HZ- !^d/u&*,DH4Xe89QcDFԣBVҷ3vIʠL`Eϱj"1#I`~Fn8 \C3- y?[mҁ `ɈȪT5 u %WA+x%  YMo$kmC EN4|C)UD5<˜AGͲHL 40'<0DŽ!=世D[Ai$+7YL& i>bj dc+6Ia[,oJ{\HOj (ܽ {{I% PE`N3)>=4k.q/`m5Gμ=y\E>F) `o zLA %qVw_'B/*%)2u-%Akw"!-vyutRtȖXaw9W:•w;UHswerRzCOAa]EN 4Lzt)LÂٍ;@GY8I`GmWb2ڜ ˌIs;B(=yO~#ۃ9~gtr3NF4kOXdQG!y z&U0ro&mm!M'zTHl͟p$ەp1ƅ LX^Uo$! xq yg(6R .t3fB]n KHiݼgO{s8_2| N2 amv$}{K+vL M<==&E{=eW?Q A+CYL}S*ɍEKx۲p.%JHKTVi~1F4fl;tB.U9.Jt" ĐMwXS8.isͥW©>tԀ=:]꜒$>K3[{ĈAGQcΖfmgT -Ve$$Qۻsxc=2C֊S縧:)LNFFb ɦy#Eb4͞ 4 jJTްĸd:R q/F*V#/V!›P7v=*M*[A-8>;he|D=Au7T<אRHt1,|KhGsn\L1#ܹL.#qW#$vi{(ji ȴ''9iA !V=!}sp>%Xy;mQY{A"BnUn G<$LO%=2_] }-nzRS+PZg"! x+-;#UX)(ț\ 'S}c4_ҿRC,q6dfKʋa2[N1fd-gcK@<@D5J|lKԧ׬ߤ{9tr#u0 NN0GwWewERqIT9xR EUn>,\|z)Xԧ*bF Ql@R!*@]9,ALWi ]KICzOE0ܩ&[i֕wǑ^^d#[VK\QV"u=z׹JSV)NoEٕ Z3#(_2 uM$ɑ δ{ K3d,ܪ{JOגflʒpB3Tdf[H}_e=o)v]_2j杗E@@:YGulc`Rw4Nc6b'h;dH/m48u.B>W3?F\[jBǔ͙ )f4xE]?+dd $ TLm?̟ 1"quc QOCNB[zdVH'S>.\&Lub6i{kWbcB L_ۜߖ&.OzFiTB‚91uu%崫JJdbHF3A1 PJ1H*bhn5zS̞(fNI [YRǓ F\L4!i1&ƊNVFdhM`F;,DۂW`z3nӗc5*;X%EDJlDjL&c!da0H1)pBx~C[AGG )>Elc:& "豣1#k=p3K'kށ_0950". f'sV2qɋCf)"c",[h}cajvl.}k >Xة3 ٖd +2i宅k! @N^C_td2C3#i}i&YdhrdjY[uJRX&^da P{,9 ů}~ R6 ᨁP0a侶/bbKZ}᥂ hjc20XE 0+{:a\]lҼWh!kj(ۯH3Yad+Гa $A6IҜG}/$O-hd]$|q'AAOHxˉN g \Z̃kWHm Dn.J>r8<Ȫf~EI OV}d!T‰ȫ$g덒;i!%U© E?%KM]CTvdvG?Z!+Pvv%`PLԽ5<׌ų5hdoHi?'όF .]5J9PKhf'0YID#Z|03{)-¡ +$8! t[?;GaһԝڮLJpHj^A>I"h@u7ӄK@C"&eʮp79]rJHFӪyU5Qo))4p^ `Mb=MG+>>iK"гn(t'g4biUK-@8 KIT{G8.-@Y˵hv*OSԉ? 3W~Z;6Vm)2'J+S,#3^iɀj-f,5?{o|w`:/+q$*QDqA``kh4dj֨sSe!C M㔽Yj>1|} 3@rP!ůe(h=M63I]*h3`pRJx.&]*jO]_D<!CTZAi. 7 D7D6J'G2D|~cd -/v^Q1SSn[ݐ4RpY*=:M 4&DXbMq/micf@:!lquщu2/1c*23r? Rc Jw(bRMn;?粿0&?m5 [Sie¨퉬,Mڅ7+u\bp !^eQ'!]0 mts[4ʵ19@Hלz4zO`7Jpܽ8DBj؎ɿ%m"%,!RS?Â)Gswt#(#C#AS~GedQP@F Xq],^/f;>4Cv ؘ$T̄' T&8gNƺMt%Rlb^0(,1-2#q*";"Үa[|`IXEVjWRVԸ%Eru ,k_(lƀ}+ڼ_=fPhɤk1&ǫ 짵Z/#QibRKSfLM<"N! yTvad+޷wRK@{92q4yS J)3'T: T*jJzuЧWK(vۤ9+٦wef.T{,?艂E )˜-I% ZJ0+1 9h#Mg3PS 2hc49$~M4` '+\2xIh!Us;v8ڦ7ͮy ,7F,o5]]0( +r5򐶪]2`,D{)-4q: rEbWcp1 98}MLޑRtH൫aĢPξLlh `X++=~]RPQX̬.,:[?X~_I|KB]Ħ x$ozbMRdvFy*|-p_K=C+fTDo 3z )C/)k4u~1bQyң1xbXNOb=PFqkPȒnz! r=8E;q4%a&!zXyׅ~h>R-hw5y 2=`Ӿ J$.U򡍺LgagiL&[^ !W $j(Z.jq'FXS |&q(=+CV+$ Cy*-Ls{U_1;F9oH&iQe>3y0vOohRSrS7ҩ ">-0h*'jmdYx3cQEȯ- ]"͇mŰ3G{ %g r7w0֜s/3]kBͺƢvCPK'Rm@ތ=qBLV-f|& vX9]d DzpJSBƩ@ɍ$<,q4c,\@ [VjI2<:t@y\ TY/a::L5HM::Sn!_KQ%K^O ksۚ2|Ϥ hw#3e0B:ktPi(ۋEPաt{ZE#*X}Fu[)9`]{Lax1ƣ_kGc/4."U Vj@~וǵ_P۵ 5Γ5S1anlgIT -ު]Irm"!Zv1 QIT|9:V9Ey-mLG-sR nƎ6"Hlql*h)6"]JGB}OwM;Q) ب1Db7)=U W[eNu@rql瑩CC|Y5e"bؤ(2_fm8m GH/1BSKs<&S15@t/zjq^q! ![!y'FBc,֦ɮ ?cxQ;p%x+x>ae_a "Εs tO<_vdDǰLl@$@P\)wo#'U-dP7ƒa4#EA$ P,Ԥ!H&_%!]{\8={eK;~1P4sdR7m*@vi i9Oq xwY/]K+\_I%Tz-]*H_^iDz$l\,J }<SK`CI,[sʌAU8Қ |8M{E|3U!2f'9XQ/5xf)HeّTZŮ)Q*;@m:hlBc46X(uhb wC)!6/NFMñ3?7{OL6<C?YCgODE+ K^SB0Bd7yüɒ0Wu! (J}7<8@5Ժ*H)WU& Uqn@\pnŘ9 pRwy2ht6oFxk'i8u1OI@m~=iِl`lPD_IZS)q {8v$FXwfȽ] %1GyrK5ٝ8 .eS12?A0pCULVew 2~n84TJq_Cjpp9w[{6K/ Ky-{`)ŜH BQN\ӼDuA &㤤 (HCج(zzGkvA X$F6TCDXaڕZ(7AZlrR׵+䄔VG h7.↳FC"ddkYs#O½$+c*ΠGFD NEY;5LkG9 14$\d=AJ`eֶs&#&H)6-wywn:RSq*l\[ܸ]n޶yLfUfY6,."h{/ܓj=jJ rueTK,,1hR 2cks4@_9UӨC*&"6PO4v3y] W*Pi\)ה9Hb a03աeI 5J-+-(~Ԋy86Cw ȕ慤D"HRDxߺnJ:3;,C}m)O60Բ.$6Up[/daQdw/KZ7xÚmujp=2\N@ p Aq8Q8h} W 2 Wpxc XFk:ĵiMp H5!]PHLP=ȝG~7)|xDTw'l dk`dPs4bA!O؋ȋ\*M ^ *\ZJ@g>iA}F6h^jRa5Ahw %`i<"t?f*y=΀BbG2H! A}0A8p e6^A0E@އ4#Bt4K.w_mqF*k4bAŢ!g, k15~ iޮjR2TSžof$A !R'xQf{+P!Gpk j_ıq B=юӛD1Ǘ'v+g1ttËeU{:$Z80!&;=Nc5;|J\AN"wV^bHY鰃l9yR`/&t$F^Ln{B je|PQeB)0V."TiUEw'сԢJFgv'hf z&0cq-^M7JY>/&Yub2ח1/hhBl٬Fz7\it֩cz ]EZֱ7I}֔$Ţek=/_ʇFK7Baa{v\;Yݢ79sC!)ԸSROiN$t۽\ "SUkW?N|r#זJ\7ϳ%7/fن@ѩmxߜCl2Epݳž>/Pq*kVXu X)}ZǏumH_-RL.a_=[mmwg$jJFmoۺi\ܺͭ59fZv)JƞȆm{kXiZWIqx{y]YJ:RVׯxғǔ7 Lb:KA1 p͹XcNi dɘǒ~/9+.=U;y֕P_9+$6.xɨv<ӹalk2)uEY+o(AT PӢw~޼3_YQ]O1$%#@ͺm^Rum֏< TIeF]x-Rׂ蚓nOYظdKYIY6>,k{_8-Q~ĬV.?`^?󼥽s/(K]y.*{bU[|T-Y/mԗE{zge+<<>Y6-6dho/Wɩij[C.Ui*RzȔ63UuN1 DPc̛徫mꄥ{~5TREIWk>|I& "  [m®b-G:H,gam WX.L A:<A  |o0Џ_81 )(%Y9K~HibQleaI@a'!0}/M9$YiY4(gV)n#]l4Q?#n讏~kJi+, @2m'1J.Sr%}.̊i3J,קe؂':Jrlrw󼟴';No3f3M&hSL& 2ɅJSrja*[HbNR {r;뇐E^y YiUzW5IRu^|ܻ/\/=y5s[ AQ?zX5 VQb.f_ [Z0Up8_hbTEa ^* dpdAFgL٬-ո%YkRkye諂Jƭr4[]uš0ik TEh/d"";%jW7"g"m]1l A@o )-jMTHNGěn&XqGN̦J}f+ йqbX16d<(@i.݅cpwdgHo"(B|K]"Z{' v$ԴSFkehZЗ2fHIs?%EʫSk*ͪ;wHcRӼ"xTf8 #2/?w3"V蓇ЬR+ӦF :]WcD>d31v4&9|[NfڮU?&s`E x" 7:[XKa=ՃӨh+nV&kg_v%tY#v[gwAhPY?vَ__]eaP5T%Ip$<#H!B%@Dм.ɦ.^iIzl;EЌ"$3 4y5x&fXUUОOȬJvm^ՒV$j.L5ZCzv-IEF ^j! -kUUFz qaz& %.mL},C$+ U($}_3?6,s@VnZW;Z/9T9<<4S@.DɈ- Šiպ( S5ēWYgOUvt `\[E4C!Ⱦ(`݅u^D?dKHa$7KBܺf hCRȦzeP %TfDF̹y |~1>aZ!ivl u*OB ,~Љ/\upr66$T19RLʋCV[۳JH 3~5+1 g^%l6S | ;+u_\ Hp͢Ik3Q`AԾq J`ZdQK՜NVJڼ·O+BrmA蜔f]`c~_ \k-}v-@k 6FSPHwVHn\# =PC4R][gal UޯIu$!t!XzdC mފtVReX XbU㊪D-78XWvn/_Ca3%@(JE:>*3Lhavhw&35`oND)2AUڣ,ùB,T uYIwlBx7K8]JPB{4[`rY%|׻%f vϹ=&1%̤txi6PS n;`DϏ25Gs_SV%2cn}T !YH5?2DQZM4HQ Ðӏ9g Ý4![2W~+aZܱ01pXvg" ?hni\.jE6".I(/+G[6N4UZ %Ze=KtY>& "i"w)A,LLD%isV:011A1KNe]=?Ҩ"_9ql&)$ q&H+ ߵאljR 9H~ (̘dL*Zj+|D )Иn9k1"q_?7l 2۹5RY!lCU{no/"IJhvgEI\./HD9OT߅䙶/]qw7aCBu)OM)ҋ.e˦hv$,2Ie*u#l\>EL!'!R@ 6"Qޣi{J jnbṈ"+q0yanSLQ׬(:O^ezӅOxr3aA~-IY&'Q%8!{prŀM*nm 9us- L @ƥ)j{ԴΟ VUjVPmXB.Ă/fE˚3: iCF^N1=6.3^ThߔKhh1h`' N)q{J '62JOb%zCtf4'DϾ<q k4[>mS.͚QVi~P%3>l'QRU({.4$}>V>"DYoa'c*w|Yש~|@ާTosגܭtf#7wqgsἐllr %$#8>;$ekjiO5-?Zi75zUr'kG=Ь JLl)!tIx'VX|YPv͒ |l@J΁#^Y;EYFI~L^d/H@͗Xw[3T"o35V#p6j&'жV=zmD>8Q 0 #>PqvQڐ;($iϴ _|fdU)KEj bX!ǣs! \fèHhZ`P5Jz=fY2` NC#R9L'pUaNN\E=j|B #!f6yU cC08]"+~s^8J P2t)^3e`_E*DplfeBoc+>S[ %.n;cu* v)ԨWz gTΦlj<5h]*a]\&^:]\ |FVf^`  اoKW{Iz$ 4s.֞o֦F{qIJb ߟB./^Onp? ulEhbq:|-3F. hvߪr3s񯰦K%Z&wRAm8dÄ l9 )+8C 5RY]NI$-79J׶4%5sIHE-Q9FiTBX`'<~9!Ty7r%4>vNƹӖnXɹG7=|`a } )RXYмOռ7R]CFrA%yet9DN F}`tS*0(h$ b)g'ˮ7-`y_N&A>qIvA0u)Jv>$ 5"1YXtQv'#H7 <9T2@:^EՈyW^[,gi1BK=uGUw kNʵC0 S?GF k.O(~oa 2]K>/xhVGB4cY@gi<}oNԒAɮZ﫮%};hkY2>;Rxxj wB)Z9 1!6b=`Mƻ&ע\TKDј.c  Lv`z6-s>Ez2\{K%MBA.)*j2+Do\RԽ,"k* 9G~Y^_(ñ30jtK\P? a\Cؕ(z h$?Id`-c*tvbydqpW;_'Z؟ӜG[-?ÿL)q0=YG蝆9'3؞bK3Qԏw5XV.Igr4Xl# Gd *nGhl}4cyܝ q"X2 q=#؞UK_Mv#K._*Un߹W穪LT[s&vY#+W,OE3x q*&+N-&"7B!(Rr@R״dȰAh@7$L$DJ߸ȗKV.JiR@m3qi2_WԲN9mX<ݚ{6aS].TfK5|<Cq* ͂bzv L1GcBq j9bA[pF Qk˥2r@G˜_I$cP\wE Idss˷ zN9O`Mf"xvnD&4"I/%>rVn g|zb0ZgbY ׍ߐG=Ʋq&Ԑm#ڂr@, $vĹQa+1}eAK+gvq,wѺϖdwijHMcHFSΧ2,O8by}f>вKD1TSL}g5DLT"M@]LA{qAڟDwv2QD~pIBLR[4Nɏ*9\a7(r>*_hHB)@B:'sIL(.WH XA[y .B }=*P?$EJe.C\VQi6l3u};C?WkvOBk&'3I=c"[E"gFAptz\fPIfb0cv 'I`V.J?ݬ= èEĸ节A )){#\ʡM=%2TSAY5DQQjX!)c{;=b}<=.k[㿼 &[ ^2vTz'  H :Ne3ɋhlo.wcw9(ZMbP&& B{X@5#015նdYX־P WuTiWCf[ԂbYtYMMG7 JkI:'#S_T,O %sZJ$?.:; "$:~pzpNF՛9>Y~^!K I V 0{Vl$Vg)y?1մ TNfU]{-ZHV}pf4Vi/=ğ-%ʨڊG{":*,˔2W Y4$!ZBPi?AB[T$ D4f H0O#!S _6!5?xQpk- ZBW )YkX ?\{ %~=8v'VۅWĮ(JT^nbN'wW]kʩ+UϬgK,I9]-nJEuRX$r^@ϩ,X"X~Ur(/*I1l5M}t{Mtߨ={Qo!ѷ[SP "^o/?"MPi?G0RխO8$ FY 3sr%(˴@ 8-#H$Au^=|j#=S7Jq@XPNdp6 ) O[Q mÔJ:փ]: P]U&SCPrp9죤G-N$\*0$acm,6L3D4vi!C*!8$D*s m|ub H&"^< 9$nwԟn MAP_ŔoEMפfu̎~;f1L0ÎTq]$|W^d Sś%TQUpR"-jA4hRĴ * I?1+#N1_cLK UpW }= (.=I_I&8tyG3k; ƻ@MZ|Um7{͇Z?"CAںu6U:x֝8;2e(IQR@s 6kAxAO 嬒_v&j QҮ*H+ncro=BNު_++zHiO1YT}3Q'Fsޤuҟ#Tmæm{Uǂ)Vt`FbY= ʥ1Η٬Gl8b+^UHje81w6+ͺj Tk(C=62x1[ +eqNN|+oBdOSCOYڶt;j2$_,*_ 6־MBgdOy6K@U,O1@lu[W&f3C^[dF\&!+Υa?c.E*}m-`YȪYߎ(AvJ5f|Z8 =MgJF?z)Ӛs-k6 7k[9&g8rExB/hcH)<C< Z BP-g!0&%:ItU1`(a/ 5?! =̑&+x[G*jaFɩۣF̣4W! U!C)3PIxc %`dT*T۲V'S#]gY$ [ڳm[ ޢߡuOH;B*DJl7j %C6oǍA%.OA<U+"s&{>{"-N+"VƠLfb;K/pT=ݺ`pyM >G(C=%7 AJRdmR.?}A&\oJ<#VIvdrהO #B6g(室)nW$F`EJBEg(0}zr{禬Zԣ0ԗBP-Vv+.Lg݀$ (!p4? Ȣ `gU+%QF立aƯtD&Y$Ga} $0# 0PP [t5.<_t1TFFI>6;(te'4,)Xu<^SaMp%En{%,tzeTWd3/snsv-֎y}f<QIENÛlZ=yEhoWJٞ4eJOB VM ZVC <b*DW.*"(ލǠR&f(4l0}:Fb8]ftY &P vʎEvZ H}S$n'tj48q[5 'uK3KΧkBNIY8C"ZHb>]31Yaf$E:2 ǟ%L*PAϔ~5a:JEZ],DN슛ͷ&AtEOL@p:TֱwɈȬV"m ~]\MϚ?wG_>ϰ bozvsܚ #ӑMLݽB"!8@]=@!gI@f6V#ROG?p/}cͼznoE5^7: qª75.|EV'0 H@+҂es Yuq\|B+y#X5q7(m#0 ̥V4x'#o1CRX*0ߍ^-p!C!3)K4O,ߢ&HX`)VH}tK][`~%6J$"B@K w7^v|]L(mYEҝ3{o S8[V ?2h'P?][M^ JZR/>!`^_s ݄1]K+ MدsK%}@|YoZ3%G3}!$U)}"M1Q %u$PՏAs m2i(5 lϯµO::u4 f !f . Lr 0-g+fxP t}#׌#Fl0MѲeZ}YQ}c5{$cElf,2k;MYLƼP;>IҰYV2:LH't#RЋber *8ҿWcf;@j ;q;)/Y dEtB@R2朿Iݗz$ׄi[E?Gt5hKD/V$W+-njq5 @oq,_˦J ^GGkĹ/zW*¾*]RlaxPsTF` l4FG- IYgn% C?s LKBZ F FciMSʔBqQ,Gp:97NboV0"V_/0Nzܝr9w nX]yd Ɛƀu^:B502T)DNV% /h؞LnĮ12jE9-ײ*u"PQs5O8Gw kܕwF`1e k=mV_]ܶ$DL,UmCʾ r8BDO5"؂kBK[pjjOQ1kJPBMDG%I :8CX:@M@BpJqdM] .&jrWG\_fIr꿬D9J@r?i> b_öm015Y򛷐49SB!\F@/M;(3*o}"듪Ru^'{LfXiO(RF'8G8qY߅Pb6qCLآ=b9NB=̙@Ct׶ab(GcJ/ pG*a*)Uq R'q֨: cDK~ e^1$$f_e6~ ^)\`܁<+rYjc~gyVꡭ'F9؏`fZ mJVBgNp]IR-BFuZ|kAt20_(mxdEC]ՌͲ\np .*G] u1p0srv$C4zIqJU٢vrZхtVEPP6F2jSaGe 4{8죭`ⱶCr#I"zCJ-d3-ZH.0h_ ''d!fj. k;W5GԺ Q^ˢ`@|t*}>zQgtd^{$۵_c|TtGؾǎޢVd)"`iN.VX=VZ=q) TLU -yI0l`ՕiT>'P&+,@ZB)I?ޢS S xX*J@e+B^ZZvI#M%]~ Q![F; }"4ntuHݭזQUýuYN67Ć^B{g Jnqo' ayul0L U%b7X\J.FlB#%BI9U_NЩw | YQ+k|e}ItAڍOsQzCcR3IrNo=TȶDfeLJ[{%{*Fw2|̨k{cR>\}7ZN,6K)?kXaIhI-RQ{3~HX2LTp<{V?@lįj^W}SH1CFLrs!u;L20Nw'%Lbq+TZ7Iܔp)*ai'L5gB`Gr7y|31K 'JH'o0F`[A1?x)HsUW1,K(! w¯І^E9kx #Eq |qSTNK[xtsj4Y_C*YR~+TU 3e+c怞n*A\ŋzJAѿ8XpXqHFiFgU{!33ؙ4a]7VU[1"Y9`rzGB/ <ۊԴ-4JRV b7΂~և @˫d64QѺLʟ!HNt`9A”u3>^TAUX%»Z-$|($q8 1>Q< &#]`H\gbFAf,2G"=Lnhf c:HB(hfeLIؑ" iѹ:,I(re7 *`"Ȑ =zq,[䆇 )ʄb<Ҧn5 7aN_D4T.Iȅ㢶KHM(qJI FQ&уc*vrC8@oæ<&ZR$-m_mjޥIR>CS>!󛄡MRDIhq|'qo_,c-ylbqĶKn[2Tߝ "˥*f42 e,>Q[gL9n T :( HlmI,hHPpN66ˌ[  ̗zD&*4AEYJݖA4s/ 3iK wJĨ&fm,YY37ɰØ+iJ*E ΟBIյ=Qs%Z9AM;MP #v u`x}fg+`hN^2|%A1DBc~ 31q!F^hdS$|gY=@ qIВge2tB Oũ} DKRA\P$qe R'EkBKqwȝ2'oV84m_;_@$p̕, +ѣkѺXf%l i'BQ@2(U3yldB<VLT<( ;dvJ4 $E"e"dNwdSE :KxAM, tdq" Lm2P2z$ 3]6$dBHll+\XlXG \I4Q P(H"$$-!mAwnJFINgFѩVݘec X9j5MԒ)s50K,2I2T1 G^KIm6^ʓLJSMYN p1TgEkvg?ed/R3|?m ?(_>: C*Op1tz+oVD?7\ℹ,Iu톨S4Rw aEeKe-󠁊edHU%U[e[Up\XAJ$FN& &qPaକWꑖ[74b)vs(%`e ꞖGv{뜄>[m y_4kb@ì.] /' SW/XmvC =oXG)73X3PD2Ō{R)+=IzcryaNz8ψe;,۪PD{]idG}r*|)k8ʟ+E d5"LɛDTΒeѤ B%<Fܔ+AQg7;bQط> :RKA`ieRr .29,."dNͯg{XC;o!*I:#I|6xD|4I8ۙi7;F쬬~cLhz Eŭ8 1ɋ1+D"*/z§B"oOH4XpzȧPC͹x<]g|]S (X*"HaTʔh*< G@P:@dxDF 4pb @ź\ i1'")lb0  w  fnͳ R^|9ef;3|5 Ndİb#Wh+?;zjÅ,m>^iӝT~h=E%^Ѣjf7LO=IܿxыN3XՌov=~HEHX^IR+ Z6uѠL MMA :*H).-H$_=5ω0?"+ 1XvzllFq|Ϳ9E!;]ٝI r1[I!\ BADW9`/ 4&Ss} Ʃ[ѱl^$1J^%"4 msH1$*PV:]sI]/`zNGGa#+rZ&C($ v̑#]І^Vn#@d 09~%Kr$ivIeW V "B8U81\UhUh Ҏ5n|DH[$/ ǮX"w DᠱO߲QLd]Om: EC 㠠@HX+_]GV ,ɨȭN!|Ùu B ՉcY>C Ui %>QWWr{}K6OP|]CpV` 'd&{cq~zR,9k5)ژ?S)|̈́嶦Z JCst]\P8UԠmz(\kȡ5м"( ٳ`Z[N{_l\bY/mż6u]_AI _m2[V>]tJ@3 ,zF'^slՆC!L~cSLJUŽA)^`ڔ;$V hq*cA֎x{$u&l%LHϧ+z_jǩle\v +)b*o@KvՐ^ԙIxlU[˙GvWTFLVf"7)((??8 9h׶1QUIn^xt(P#n3^Q\v>40rZk+\Nt7ߖRZq61EUFiċ+]YQU%C0 S &Ccj. < :4w-Ҝ A9L'Bnp At"[&WQF 2Z(m"d=ިG7cBº&ȶ*\(4pƞE% _-,Ȱ @4hiI$|NT0q3J"K$q , "EBBe*lQIQFVKw?DֿF[He@.}|0ϳn5Klk;rU?qU8łeFOryî%; S,69}NJM5˿$WWZ<ęo׋^nC b10WW=pCu0 &SmS'la'P?Uϓؑ@d%F㓘jDh:ȌY jQ̃O@mUHP&sNqYؑ9:b^l̩*"|$ڽ剽 񪋍 1]&V`*F$Q !㠿""b| W^^Q̬_9 Yzbu҄_JtV@!$d<׹Od N<[)a>*~B-a(Ї&86"7_((R j5GAز|"ݹE5f8rxX+̍тػW"m- 5Y/ЬH\Ģ$ rH-^~U9Lb@*T3yܝi u0ZV(/eYtFa-LKLɾ+lPKdcS Jm}#nUyX;4U)M%&|^*:̯(n㘓Z";da)oMȹʏ[ѥ|( ^ jM1%!| "kTODw[)}2Br4X{fg3 M~u˩&OHC‹ZLn,S5S7`,Mn0mic# RJVgyeJhhnfͿkgs绝eX/W}4TCgt_v&$cIVV-!LSh`EFf( K:9xqa ,=o*Msw*H_W$0 4 ~ÜX<6'?kYQ݁·n YQI wPʼnE `JBxiH:-[+;ZlXljiC) B Ct%.%4#y&Q+*ESP|f~dyP:mތ,z][IM[%e'*WpגF\{Ǻc&,uO ox)ttd7f0֢Jcas&a˖({O*3;8L%%`t8&.< ?/>*% JcuJ>K2#C+\GQ?"x,Q%F)T0&Ae]8Qi:/[CӱBh'M.>i3AP`_$q2å 1S5gNv`` H,f7t9sdf,tYkE-]y7niMB7d%e  GQ`פRIKjsl@m2\u|Ty7Tzz/UTRZ}{,!Lm\ud$BOw+lթwC K$/7 H4={.d%͠NJy!S!uKBJT1uY~LځX(A뤌mMDR]c@w ڜpFLE"|ZZ2Gi0+M6޹uPofT ߩ^f袩,SOޯyWvgkb: uO^ M^1Jz50n+9.vT t]ّ'#`^mHZf^ނܕBz,Pj C)Y1'IO)Bܐ>9fNu[&fY,h^uvv:MDz@yfNT;zPȕE6#Z1chíT"F?c&g3 0/GT.gL%%)҄Z&H"`V%MS! `0K1ג|3 {s{V)P`TmI5LsmvFjt5˜ nLwQb)?Y-,dH%ە`C7-heI^v. 7h_18iUEܨOE{Fʁ0-,w)QZOv'*;Uʈb߈+%83hUjf٭ \ ł  DpZGhZwc Vଞ<evRj;6Z%\㈺8MX| >ݕ1O&;fҴ8ثO@PBN2:]طzIx֮ZDWԌh.jU ˝ Ք+gYaq(Qu*fpCErNBvւoޫP$ v`ɁN1!jLuBS4 sfc0wyؔDWI7A-wbOp쁂;;(/ЫVxqg5%E W*Tg4oW!BpJL(jU*LBj^)F630 P1*e\[,I].W~r# `:PCKMQ+Cs yxP ֜D1rW&d7mAa""Ht !:zXp?D-o(Znϊhg HS%0_)bQdmA<5mYS5&caRgVXXvdE9Mi:&A|} ="jtXZ(⡝I}h =ܓeG*^0PZ'klHlqBȂlO %CMD53bp%yd׮%3L{f0aSk R&y$D<0D6J錢Fu* }/ $[cB$*ڋcr1~KF3~?b@bBeNjB\GرZ TXK㸐)||[MwhB,%lݼ>k2ଂ3 >h}<< }4vx0 "swG =r0#͎ɇd$6D+2i.AJ/݇1H䤞$R&"'˱K4zDٜ3.IYEz@1bZ-wHdTqOBcϮ4YjYѻH\1mnK]L1=|R{_S >vʼnjc2֧=E-Kg1G${iJaLc*? rPPЌ5<$Fi9~ILѧdhryL FJKI@]V161f,..{ $Nc!(7HGip+H)YA*#M4Q@r &~ulϖܾG4 ;WB:=IHW!rt?xFrp&& 'ڱ w"$<Q^utAO?tm_~XwT73/JNH3fEt=D]vDjmd(b |K&RI~AiD-o,z %QTKI M2gIS/ JMZKZ8q0/P%"oY:g,Tnt1J viRp!%MxIS+?dD,R Y46#t*1)2pk :% .7˨u7HpNB Ԋ0~P)I)|Z:/9EY)mpP5pbyIτw"( 1KW;S\~5A^ tuԦ%I Q_HCM eD5]-|Nh5lJ.Z&(L\IbQc}7L@^1`9Ey_Vi'ǧυEXnM?HhPFaVx? tVJAPϕ'=̐s0HK3mɌ;C߂t׫,1GFF0)ኑ3v3)uAIsvT^jS0pK^"W%LW ]PzT%AgdNɈȮT3 L =%f~xoj񁯺ǂի/adBƕŇ2:laB4 eWuI^phySEUs5U_k$ Phr*v_7 wU [e%lqޠSFRlcȕ5mAE^O={t4b-)LƢxk#pW7Ҙȹ1s ,1G4M-l $Ɨ/nY),D!(0ƶUF|!’Fi07d˙`8V$+B^^ A\%RfĊusե BeaA dDLt/AY+QD)V &RR(`B!J*^Vھ˙rݓλ9eMSr3L^-K,b^(3,? w "Q7{z%i*:=jŠ6JaI;ek 6a{0U ))3{p Jz macCBǵ&zN~RZdKإ  2$VгcM 4꼮+5E)*U?7N A"QbD Lt#:qj54QAkL↛dd]262mc4 fnF2VmqaVEFXo05me _VZ=j$ڡ⿒t˼UQWʪբU)0'_^A_`Y˥+v2^lŸ_Tv&Tn|QXծyA -q#r^b>£GFMɺq}Dht_p]#3"9u/ˈ>;+;tE:쑗vߖD%7"=QlTtĐqIa8w*UNr-1"NX~&HݔGۄkpELX._֗ܶ~!FAXbϼ>Y IK<>KGKg1k*(\Ow*% ɥ7R{xܹ34馺a S5Ǚ퐄BReb<@*Ah1 Z-0pj`Ԓ^B  V&>wpJN'!Ia5FV BH@VQ!Kbm`w:#@c[lEd\6UFΙ} gqU8ߖqy2uNk6&N_+NDG׺lHKTcIfDnu6qP>Ţ"1ѵ낮td9J  ˓4 6dWGEI-6$c*Ys3E"KGu[Dާ-UGg- (!Tl#ZǨ:8& ׋8'X ,6EP_v4UQ@ݓ\N~JBསD0wEhq #sd,O 1J ugSv'o#^3 ;Vlq>>Jv m_w`GE;<TB"A /bZ~ҷH3:qQ$"&Lg+7'̐2 V2 DY-!{ItXhE@J[ #J%o^2_y!B>\h'u&L)vME{ KMLti\C*!eDi/;J5[fw3^igBi+wd9](;$Nݣǒ5PFcR6mѵeA_ Ar@b:Mf6|n%"›A n:ɍI#WUWU!!`5ᴫۮ~%QKW&s ;tAO8K0S4 JȌ݊FU-KiV[w8Q#³GOK^?ƃe"$(m&0R D#64hm-]?lpX~K7B$~ $2ԧAlƌh93YFzrrKIN rpz!DL>&٦n&kބ\h>e_?NA>Vrf U&тBKBOf&z)~uZhޥ~59X:N)6Ô~)'e\RdƊ3SMY(5Բ0k )\/s3*+҇neH""1O<ۄw/ \W(#ky\F@NWJ¦1"_:"Qnd$ UvX[!<7ecс o xa_8j+`5 Pru1I(Y5$c\^7WU;_AsڷzjhNmU~zuv^΀4$C`Un{?H7!SޒJI" B=Y{社g4[LI*0hSΘ?WM6vB35Cd9-uЦEl;1IQ}i6$^6{խÄp1ߎ:7GJGzv.P^P@`GB_Z&vB2܈,UC!S[ҔF</r+;D7g|n#3& 1:l0w\}eMWJuތAU% Tu.FP^Q#c cbc3YKT1<9PxJS2rY2QsD%A%dk3~0bclW5N‰!he>^4-_T{- 2{fgAKhXJ1Vߎ2D A(f e-z~IM eXO\Oz%d@^hCh|S4{Mکb 1X \2+VR N2TCoTa %We6<*:(TN!pvD"-=nAΊD~H GY{ixrs)SvJ=%54݉(Q5`숇'~~jhrUɲl>u*yġ!\=i,ǔ' !3 ym"\N+ hYzW:»=pb"I#%V2hdt_oWz>OO5( p F.-=jCm-FHŊb'PΖȰj*7@2Eo[э[)M$s|RQh)W)I"[.<*lyv˪\䃫3CU䍄`r!""6D5'|DOjŀf I uENj4 (DaQF7f` WˊPʮrw^&5Gfk&ZP[K,9 ӗ x`hu8s_Pgh)yx |L3E%( ^j? ԗf^Z>=RcX IMk] ^W_ɒ2!s$[t^3E.2ґGzB"JA#V dE\`]V @(7c!4O.% <2>WC3)Tr=`\ LQ(ai7 ӋvE Y-X^}0[gn*Do^ t#*5fȑMRkdQ jzwM€7rREFlɨ sS%q/B;ܛӣo./Jǯ& Q3OfӞ)a^!= J 0DbtpXk(de]hI %Wb4# 9hRƳB- "U]&ЌX{bɐblBʈ-U ]ܛ59mebR!҉!jJE1.dpMG8]BzuxgvO<VV%m[!^Q'?=huM%@V?凪]q$ ѫ* Y3ⶫkẅ/n%Y,Bnx%I b?L孈˿CL',~n%!oS 'n|Dy7K,Z$H"| ]RrAEkG Z>+䈝ET  @`?M?5KǸ*&s0`.ᙦr63_Qa*gCAuB7n7jsU,7C*va0:$O x\ɜ)>jNXʹ~]oOJ| - i]X`>,qjhP3G)Lzbw\ĮS r`rXJmIܾgGkY8^jŜuEv.DH~Ebbx)a[j(1s21a[+5D1sQBR0O&,weѾbYXMX,XB*D,ea( @UH79Nd Ad^&ExJf%x GAt`K"|Ƚd߬#5Į$~I(S<\Kl'UNj ztsޘ[))b`RIҠ94G+$7hSH'<9LgRW;bvѪnG{ց~Z)qĕO[њr:%\m1 ngbC w8Pk[2t$> O9>Փ,eE;uO~ >'pИPnч@źbd6 (VjnzВ{_J މŐ9 zpCk"+ϫM&,("ɻi)6phn!Q il۳4ԍF?oNwJ Rj EhƠ#_rJTy!ag%Mt.~EdD悦b$$"i|1ovZc2-~ܔY!8=D9-<1QkQM-0IJM?*Ƨ\&`D8sw b ? ,TңW$/lpѧpKԢFA 9h"5UiwBmPu2JERl^+uJ~ӧV)H +DK'F8YC#4ai} %3ȍw$&7Q૴kJyoA!O:j"1)[h̤N6' `۵ 8R[l_ uT%K*U U03=\;6^|L|ڈ}hFWM9w&r¯D ._ϊ=:6 QHTdTSzC^dl|)6+GhȔqcL1Yo2/o6f)$KIb^@&F=DBοvevX81d}9/>VpL|jHg뵟Jh}oRSr⬎iح6-cP&D@V+"bS"@ȞmI V1HMP|!{TbxޔHCI#@e/MTtӯl@> ,Ci ^ 6|vj1!A|tܫH"Y2"4qPP2 I5WNfޠvWδ8ޅO.XGlD$Y'B~+:tКYt W,epAZ@>۹K_a" io+P^Q$pN2UEJƿ91 ?ӕ;)aU/^_qT1Fp!R&wSdd˯u룉J]DZ8*I<[+MJE 1A2V%d:vy~Sd|a Y %z*0hTfa1铌 UH9UWC*C=Y䠥6E bmEplӠM >™M!,Q]OBSp*l^(aiR& F$݈|/\"^v3aKCaX8\/Z|%rO(:z fR|-D($@Y13s4!r"꾳\ߗAxYYeYL`"҄Bc[{TzO,Q7) X7$?QY.x.Jal}\ַKMq(0OTh%fg!lY2H*M1Oqxi7Ѭ8`$GJZ'W]5ٹR5J#fΙ#ېcisT/(GBJI GYs1 $!!YCA)USKe_;TVɨȯ.AlAU4ɦzU ?-ɖo0ƈJHsld9;V=%#IBm긐g#9B@3^b,(WOz_\6gٛzL)e/n(HiI-7@d&e!wa+dA~XЈo>_=& RIv/+75/ ]a1M!!A?GG#y'7QeQ/9[_vH"dtSh-:V w ͒h ږK ESzD6Ga*[tz$x8.3<ވ.26 ;9%ڙh+X{츾W9с$[t]6eg{ùRIa\^@DnRlAirwR†e4`aHc$8^l/$R{02;f’?qX]Pſw5gk*xcT@uU$ UQi,+lN_g  % ȈR> :&  f F..T" ,A;015k D*Q_dGSaREEp).Vb h&g'ދH,N"_f߻vjϗ)ueRyI EsDTYU׏c1Rm\V7 h,rb?BII8ʚMa2CRGa XS agq^ <*W䐧P5.#'1!Nr\npM'tH+΃-?Y$I9شKb(j9#䐳 I $c[K!FuN!th` xHC! )9a>K'_uY9HZ&PR{) tϰXXsxҟ|ޘ=*i!-]VH%0T*ƤLǶ)G戀8{pb,~*%ZFZSH4gX4 I*)7'N<0ի!4+ֺ eGp‚ cӊsJL,9ž&yٙQyHŠK%} %(rUD]4g./SW10+80.hRjC%@+T^TbS[ O6#H4Ô[0KO(@8z ?*'=*A(QD9HхQNiy:E[Vu"wk\lS%Rw =:c\$;󨅕{HϒNOFVNE% a6pwbe5tx!KF7 XȒsqǡ"TVɗ $֩^")c_P6 zre!k/J5f#b 眓^ c^C\)I[kNc5~BH$Rۏ3 q+# J(tVn ($^5d(XXT[dDA&H}q(ԘQ/=F`yD $Gjc+eQoSDE<7O*jVa(RDmLRƋ)ncOCרRRae!8gY%5GEV+^ɡ>J$i eS6qDmN+wgiSJߛQ?ÂVpXAĨ%4vŔ@BەM076֊H.|'@ aSq!"R&arLj;.-d,&JrVx5Z4`=OU'վf "z]֑ lXETI ,).Ck{jab,$IY~$u^>(Y!SY\' ^L 1x!28եBQH\Qva9Ek^GHWH\ipJceCRqG>c[`Q|hU{4O'3L~$)fi {J[!A .EDr^)@8YlJ%c%m`XCcfg v^JbN.2Nzrf 2{jPd;U VDG4Q>&@V:ob@6Jq=\ $k8M"p`S"|-2 S=F:ќhoou6 L42ZrsWI<-)Ώs}bm`ۀ7[")5:U'-|̑Z%6di|GN*O-k!eD.^hIp *Usxјyfb%(ЇؠUx;r؝A^6:rEfC ʺz aZX~pB) ]EIjÙ׸]mb5_6NyDEr31Qݛ5V#h..6:f[=UKw+wƅheSQ^hVm^Kq5ocGT8t>c^$ ؂,S:UAb :Ҏ2u}k E`K#Yނ?sI+ N@*CdOη_m= Fu ~:E҆yewp'l5f kJk)^QW=uWH0=ęDzkhJ)Wք[TdGv#&Ef$aNJ;PoHlNIEb-r"O/'Pq/ꊧ HFBۋ^򂞧us\zpsGygK("&Wd̜+M"zJD˚,j|9JYJqh^"EPL(Š1qftA "uhDPpthEf)$rXݒ dA3*u }> |fj|虀Mcaa9^oLD?!TɿW.Kr۟J2ท(JBh[N}'Bd"ܜb0Kk,T[&.I6f5 MVL]M7kJYC$w/*.]U L6h._I,U1MɸTՐ6ZjVd&KIBCoUDP(V"%\BS%1sBEU"\S"Ŗ&6!%UδDDּd CV]Gڝ>,DoCLҳIub[!vi" hr2ͪ~d "$ HK>KHs7LejSxA4‘va]M.bL#kMK?ƒ.yJm+tԍ7ӑ dhT 35evL/R%:R6I_>Ө8{r $:Y[ r"z]5jQ SsoJ7ffu$o\џe ER*/DA)~y4>@0e~T@I'K#d+~s$idH&ɅHh 6ATc딿+ν˼lW4t,2ؔS/:k6h-'+X:r}!(2s~p>D"d 2o-exiشb{|@tJN"/LR?)J{B! pV(Z,WZh;m6G\ >&ͮf& 2bT6TEϒIM4@MiѣMk>$ Blw[4.!qdȱE6e /[ k+El2($NCVImJګ ~8̳6DfeamQnvX¼G2b/m'_f4X*ۿT%ru1UvjI9HVߋ" fx]<Ԕg7xl(7ѫ+Em(&]4Fժ~<2a r3*X^uZީ[ۆ܍+(dKDX6qT ZB zJ),HK3 7WFH ĉdaĺAҒ_rR".Bw5vn"Q+4 uI\40F^ȑ<.9,OsG8wv;v$ExO63LcHEox7ر"EgLNH^F3A?9W>SLfO+HUn(ʥP0DH[3J+#RGHۛʦA bלTMaqrk(ЉOg똦 'e!v#(s1a$_O9[!eT>x&S3)&9PH0t Qiq:e #A(Sαs;ݍlR!mHxj/쾉.bEL.r͖A,s%Nj4JQSU$dᡲMN ҕU}\:5Wo 4nB9{RdºX/a:#n=jy.C1^f-u ABIfie (mp[OZr8$FhYUӽ*|("[}M/X*PP}55`* [\TN8Pibgs9C@ 1dk鷸iRi'% r>~w*l=˄Im(WZpmn:NJI_.8f UrQ!K#/ }e,nn.̖ϲtw+^w܀0ԇTe?Xv|î{/prqw?O#Ԛ㏚V d/,6v7˭"*A\):E/Vt|LɈȰNZi-_\T3O N΋Iȳ۝42IY $Br:]"@}>D%S]{3Vӌ}Uqc#HK6yS=`G ElX9)qwo]}" YKEj  n4Ub;r_}Uf>7vʭ iķ2aa }b6ݸ:9T-q럛}!qWN$'J\wd\hR{_0.# Bw IєGtQCzzI:A-m/MI] ?2ɠҸνFWqtGA mTaqRJu#R.28jhwptеGѳhE.U M1gB)_RE9)Y"$7]bd*8tfX&X5ȥSOB+pė׬O1 }7O8KPKTj$H\G$,/`bEGA6U9?ЩB1kc "vJl%u(\.} 4?wBn/K~EYkKFpniaU}`+8U F## CUꁻ$Zp)y?0NM[j~)O Z4~ bSo䛥jZ VKTZc,@HI?˓J?y HKiŪzsBUJǶ@Q]K*J.*Vԓ rd,Rْ3C#l`(OB,z ՓYCPQs*#Ly)#LqH 8^1"'7(j]in !"(Đxi%0H׃(LY]kc0׌#cv('HXkb'>ɃlyZ[?l_,`,jEFu1̮%Q@.]H-CO+ƽ:u7JN3_}>A3quU%K#*/\S~gx}vsp;|Ԣ\Hd3Mkn~V62<ВQ c>fagi,@X9f4*p3b{por"( =k JPkج1kP832Aщw9 TvVas7i4Qw& N)o)~M~ЋYϸ+?kwwf+x넕F7~|FNMˉSL4pc(E";JXka%X~|[ ,w4?i6[7#,Jx$L~b Bh2a dfgT*0PUCujȧ))0{`<'7Y4M | HD-4拫+U4(# Ar(Wy94N惔t7T9NtIƮKZ9S|%&%TYNDw&{߿U>C/M|DǛ?ޛq.Dg65|Կz */[gR)=9,|5ڀTL+&68aN'tx5;j7+@.z7aQ_ 1'FimIbX,(GJfgFėdSm[K1ւ.|IPElZw[YlB*%LZf_iȜF;C]+MσT O8 DSaI~m睥rR{rgj4% R^&ND*[g^ǿ#ZmLvB0LS^3A[ʩV"<<,ԶQB +~M#Tw$+ƕdOg G4=B(:33bYhy;qf,*i9`Y/xNʴg38<)%h2DMT B:D;4EuIY(O3arYΑG-f"/ q\bm˥pFv l.E #*Ak~i$cG\uȒ]@xŦaCt\y0lc=ܼB1YZ]OKQb1ϒ %)p5@C'ʓ0vgā*EC7PPh0:蘴fj$G)_s;7xndǶ6 #! Է6 {%tMr9m8$.ސ(mQC"R"&ٱl ܊VZ/30=i5PWчEWI]*g MW=2,ah+` Rx5%=~f p=G@ya0( K@D t]H4%/mzMC&ED d:FH$0щ.sb1q]O0צr*E$r~ru2w?7ܸ<8L){iiK")uE(}vn-Ʀk'ǫgRRݱ"Ghuy/ㄈhE+-I=".u(2R|Z 6NkC-Te^s$á(:ONN qV%S0q [t (!ljf0{^94ؤ r[V~&VI}7ǑPP7]Ӎ#yxmKFޟd`c"<$9?@Oh:ZD5 ¡d Z0e;T2qo!iI_AŦ 26̣5 MP ,9[_Y\aa[ދl!W_).PM^;UوhtϠV*u8Jra`01)Т$pol{i ~fl.q[";9b^pZ;CIag U  ņ6D!&pDX.sULgH(/z.b^hu-eᅊA8 ȉ!bKd;يqQc/-ށc!;_} ";Y65; КZ~z5z#g|YVu=,DKڇL*9a X"Љ6XiP#$W?i!!25bBYN̂Gʰi䄋#-+Fع-2<edtjIr!Q02UC.\iSodلJ#'#eTFg b2۪]àeeQ XD _RJF: T}o*yJ$w2~ϧW.,_6:]?ə*|%%H =lDm+h^ ɮ냎 3;z \ =Pr`%$ Ĕ$/A̅+›m7UӞYI܊;MaZ8sܿ\R/;,r7µ< GϘ,q*1n/!BXc 5U'Xy r>oJec y=?0ϐg&7]Q1HX0XenVZ yjgoD,y?D)bqJ >=j-,G[(v?VZ%oKI1'*FcG;J0((Q`UVe:9ɂr ጲO`!g(*nrv>[,^٬~6))*(B}5xUZN[1MkÓ8;Զ KJ:Hee ܐ[Ts'kNbsR05Fe!&d=g&VOs}W9$;m턜ϨfՊj`^m܁JLhv|,Љb?݋T^\KVA˶JˌZ/%b<0'儠)>9wSLKվn:^Ey!/mRQC2JQ"da:Hؒ(Hˌ13ǩRORU˾"e(ɄbcT5 Tl>K8DC:[{zQu/u;H\ZNA%WM}(tX7XS^Yy3xR ݻH\kI2v ;# [S!ӗ'T&y_͓)Pdg(yMV@b7֮z WZ*C2CgjL'ə"dnӮj-ZZp^bra1=,uRY=%F QA"[gmD+DhjѺs a\0[K X |O{!5@XLKvp+O +psQR@HN j+ó#xH氃CxF;*7t1`t88&glbO"S@у, 8t.0JyQ#7% K EMx2 PRp5?Pb /2),lҌ2B(!{seKJAp[hRQ-rXhtY`XzL5 Yyc#J̘%L={QJ=)tL䏿؂3_$v%ioI;]&$W Wn mI A' ൧9(u<)qR"|S\tGQ,wSH,/EM@%-siR}3驴BDZݝHyKz,"A6l*K;dg;7Dv6mM4L䓋Vd*Dw-\2|"ETsg܉QE7K"$" 9 ܐ KJ97fw*n)8夯.\NSy?׈mj)&))%۟WUUB*qrbDRH)/:e.2# b"ZahSlrh/T)Zr+ TJ_.Jxm K˖vI"nIUtJLK6@YdUlmKbf"f>4]3̠͡a2}Tȷ+S^*- ]ضΛ%ZԥY.BQ$jðJ*d+\ܘR`юX{mA&:d:k~JQz^!T1-#BUb# f= Q!6RHCj'^ DD2׌(Vpng5y!:hcTy:cѿoaQI@B%#k&lA9{Pte"(+n& NJ&(Ie}veOm(5+qTИ./#GOP58n )P$"\` H/ r"^4&ౕ3fmHҋd#¹L%w]BG/LTaݩLj(\ٻZ=ʏ\ :%2ӾxvYW.fVG[Qo:]ڜA`VO-!s& Zp!-F;4huc-gy-a332l] 3=+7R>Kn[К~]VToYOu^#=+[-)Gyk}ρR* j\5{´]2\ u~& kdsf2$E+PcW̊E"ZHT*S!MEDcEFH2yG #rf:m#!#0p@8̸h -M}uXQ8 À<>bC "]͖U430XB9ݢGrY9-@Es $]Mbh9Q[+ڬC𽨝9>K<7ΛrXr) ׻5CtJjȮ*EoFx7Au{;-(<`Q J8'ߍ6C)fMڹU҇, .-UF>V#Jd3>w@LʦLce%RL͎%eq502%SY ǥM9:H+0# 8И*&f*;1ݍm`6…P" /?ǐ[GQ3 UU *,VVV3^璹[nrԇVvR,2yB'@+) oYm5:ăF F:fW 9, 'f~"(#VۡM}$vnOb!7cڟd+٨+dn#J)-n)9?ήkӧHuiX݆w~J!r0/sɄKQ+&xAC`b_2"*/}XQ:`p`\}tJ$}BU#RCɨȱJþwģčd2a(nƀKys IV $P~@+>ɤ<mv;(=j\h7.2b#9xpV6):&v,0^NrȪĒ[0Z%BqO]vBP--"P iJ4bƱd\ ZFRnDj"ݪ( rGUyekEkM!=q*#X9ƿk0[bL?+ ?vIu9"0}Wl7U]}I64FEGjDy/ֱlEg"fDOu&Ev2aUmg;I{*%L4ՎNf`d钤q) wmʙU!e2 Z @Ü0KW7X#ȕhxp :f8ibPvlA<ϏE)!3 >%N,(.+m_t]p<= QLelQeY#B%^+O^/( Q^:mp3rT,1(/zv:uCB:Z|/9.=?M" W.'X9{vm1jm#v nl I' }ӕ|)~i`Ckl90i xq 4Nw7G_ȉ.'HDc`G%\V_B?Ȅ҅\_j^VȹmBA`TO^`0zqLE,ˆPЖlFSq%AiJ50HDH"bkȯ5:+~<..4T+5dfň'K_ub$ / bb?*^8Fl2%2I`+)f`"FJ1n(G!J Fz@a>: pCA:}då8Uʉk X"$D[%cxwL2ɯJC8Ul? mi!|3+' 6ꕘt5BD}]´Zo <.}^NOPsʬ  bXn7$FBj3";tH.HHztG-+7|J^4Zi">Z )]3yAnU 2ୣʘ %*s/$%4N.mA4R]BsNJ:kpE\E2OnJ>X2u*H)yg:{O/T'7:$RVTNӨJ BPCѓj"fA-KgҾ$%"YT,&c8<q/>|^V1A_Tq zU8EJT_t^md=6IiEఉi6uc7{%[$v50tIYq6 R_x쵨)#]{FR+Q2Oi>D ($Zl@!6ĔѥN la 9B-Lnt @M |dgVC"r0Č\}HB>\EZI)kXS`<)?bBEmNt$9R:j8mĻ.w^!_1.bA zSO&K;#S7 P['Ҍ'^3\6eJsl'F{9nSM)]d$tZpaAR1bbJ9HMEOMvNk|Ъ=)dVA;Kw*a3U APHX:f*s CXJ5^KzκrpJjÅj&UbrgPȪ%"ɖ'"-wed 9*iO39ژ;Q6ݵH/v. ގoPw.!-!롼k^y;[-KDЎ_V]g*0EJ1U;Sm'o#%濫^2D4bIXa R@OAYψ͜k4Oˀ+|k' h#эZ "ȺL##݈y`[ѭ_ZeN'5H.ČA#SBvy5J2F&ʏ(@WTx$"*AJ}>`Q$;1)9KV)Vv/K^CK y&fapbgVϊdg#S/ n_<#hYP/}- dM#MLEB=" [5/WOj? B1w@J Erw︣% YyPN?#NsX\/`PMRz"c"1:VNJ\J(]X#!,flTN>M bXcR`[/gB6+rWbq _`GX*r/0NG ! 8lxRb$_QeJZίD.oo?mY ]LlB?u7*ߨHزb:e}A"]0"*Ri/\GJKHT+N%ZzE-T'ڎƀHa_{ 4$C-6L-X)P;# 2*dXbSb-AWH6H^nd;j"t=ڀ! D.\vm4MrS.KϿ}vϛƓ\KMa޴c=n@j+TIkdYMP#`/ P"tr-3'4Jm1vNχW`W%=Q(,/*2d/YJu&_QIb\Ģp&n&"EmLXc@Wՙ"CQ_#X!YjgVN%9z6.bt5v7qzeq $PmEѕh9a(pԨ"fMlqonCQ~Vș>'HCy= *#LhhD08LF,nlaSRigʈAg-#ٰec!0[qVzLUIb_HEĒE:߈L`'T94HT;t"al''!dj7oJO4!ʛ|H/Pj$eǽCbJz@wo8-7@EVѭB=DdȬ\u6ҴesCCcꮢ rP:Ă e(;M0ƴK֭*d-RIMoSuJ糭}1[{H sc{ނ*g2sϲ/|Rdf/v,zxo`Hߊ7g 4E׮_W@58>-aQ'.dJn+`Bf\T_:iBA] kQ׭xlwS4G6jvM-ĵz.HĹQ@ȮKX#?MC"NL"QD "qAʚ5ZUE##Oz'1_SKnƥ_V['/ݣ5ޗQ, YP|7EHׁqbbտoN/l,1J+stK! _^";b!q7ܙZ455p!#m'x0SxR|HW ݑAA;%7Ǜ? e$'hϻ bjg*h FB 5]3 賴R6%iY6]weT.v9/fX^èTNq XM.mx,`DNOݫEa7Jԥ\΅ܧ3cxHs2z9r; TB8;*Jzoظ~$plK3T mc_Z3 lR8aL#JxpCh{o;fgÁlz% K&kMQih~1).;61.frPy 5NPwJaR)Od=X7:沶)4:z6%:҄] I=7@lE id,+qVvl{RQQ!,LaR霝 X hPO/aa FѺ R }ͨ2qyhu2Ā(I$#%NjTH:#3ha{TIPpܟ:1dXDI@y'O i}+om@P.7k)ɪ'r+<"I$6TfAf&d[oPKX+P1 ZA4'Oz DB[jrvы/ltQkGHƂ ~fz@#&5\HJDWKIEo~~ L-^`/xI #4#*;ijU"x8ixQiV# H9 0Oc ^_? :6#谬ѓ\j1w iBW'Tɠ#c"E @h<~dZb#7=ZCNH񄄟*1|BsЀnrЈX*Dp/B#tbfNd9y{UbqeY,j>z\~u0gܖ0f0b/l;$DSJŰ~(Dّ$Dl4vj"z|s~J]iXo+ ;K"oz-[jDa JV# #"$ϼ hcn|z O<]^dmȟadOKHJ[=P%Z2"%6k'=neǵck=q=dE`g$W'l`Դ{zo7ltg^Ѣv%)[΄ے @ɨȲFx# H&|fЧEe6%k<UU|aר)Lv9RH)#UNKJ̔W=^+VN I !?Up<|T[t[ny诟WD y6TUR^M6# ZgӨ;"Lcˡ,zhjU4|ze\ӝO2U-`,Kt}zMr,Ɔxwux'ng§VS\EЬy!4)m`G%X9̧i\ԍIM jMgkЯd`h,\`'38p<YՌc=٢eJ}۟6#m=>ig*'=H/.(] @;g*B]]haeFGV*TtRZwd[hx̗cqZ)/h2WPX筡px%`/XQ2ݖ l.b̡ %5kQ3;e(+kɄjcFo +^w%loCbAyƦ| I~j=ry$z;ʺ~NWs{T\,U:w'*uCTDix/[ă@"TIN6vQnyX= fA{X' T|²?OLPÒԖȷ'o0hT eN$SbY2]=&>t'[05n-V2)!r%r T&vS v| νp1=-Zz`U;<-W-)Xɋ@ 2w+^.'$[o–ȵ F˜Pu7ZHsڪJ5&sKfU+yj{3Xc2%`(Zr 6X75+N['TyFE'D^|y ?9*sOFuKz8-wFjBďgi͎a RH'bWhB"Qhe-pv]_)oƖ "Y);\3NKոOTq"O6*J^!(E8""СHwx4Dh.|l)/'DV_2|9J#LZR3]tSt`LdIȑNKN^ 3\ #RW>ԢNGu MW4RaѲ2Qw?tr\>Vzuju;~53+k{N5f}ߐrE̠TnG-;Y)cHU^xnJ+ ܵ. wIv`@F&W:|B+u2?GVai/ Yb98 Q(rb $~+ +zzO=7DS w D/ t$Um/5uԍ3g;W7>F|"@)4> 5(aȖME H8VZ'V)I\tPh|KNmV!,TKY%%k 5vj*/N3K *F82}TjA$8QY4hĉN4l4ǤVgŨ* "xvTBZm\I:eNQV?IuDp DgA@H2a CbYțCeΧِ Sɡ׵N0lEbn{&Z_VSgޛN*m|~WbgL)S@j0kM^ {ś uETSظ.}W$%@goIT$G2 <~EBʸQLOyW$6'@jĆaة@B@FK;yKeBZ~#jWar<##s{{xAN5AD j~H4$)BœIcPjXs(ϐOҤ)2g`bݼd(GԽi ޜU/hSڑ\]R[C2R-Q eKTSmjKzt6ڧ3]wj SG{TYDOQ(jĺ3x FoB/%i{bvb\pD2t,u@ڱA]eҙ`"j'tHt_WgTsdġ{6ɧ0# 0!6>x6eBdɊ'ՊR! |+(yX.qF@~%T^Đtzؤ{ 3rG 2`d^JHFlS ;r݇DV͏κr!"vΐ&a-^04q'`[w$ ȒfԈIG{gD4چesIt-?YlF0IsԺP7MXOo]`'H3M$%͒KUϨw,)5[165{Wt5X㖵Īe\EEdP׾*auOB-,ȸIdH JAA|_O^|) x;pҖc4(l#~f\įBFtHqJS}PxB nԹP+lϧV6 5VV̶= v~; c02ɳ3)F<)pۑMaNige$Űu `FpRQD\Inr*Rl0ړkeYQif}Nț rی*cwEm]4Q4(;EUt. YEF ٗ'M՚+&SC Iӻ+ kk!d#3gA o d($`k_ֱDEej Jn2wUt6B=!S90QPjV.nNl( ECG..3|9ugxHSU|LWT5 djMZ(z~$^Ill[ ]PĻCOv CgЧ2t߉yXT(MNK %ׄ6IJO)mMƌŽY yxTsPud$^i2\"2\II$PR%޿ BML]ݖ, 1I?v%))% 3s%Hsvɹa5% /%ZtMyWܤrR*JTDak ;n&i\ȐA)g1oD{x[p54 ~L y^4Տ`)c $r kBn@7z/ dM~mE~^-lr/BrcQUd3w߉mtZ܉n"VO~J"_,,NA\by+7"Bąukײ R_^=X͟ Rɫ6!xD*"==\NGHlh=6E Ǥ@R' 5Ş[05L$ȅ8KRGIF)re&Fx3R_M ̗㲆+uAT s+X[ bAڍ"i0LJB%r#6"`JGQă?%. PN-@d-i/g+QyVQ&h!BRZ!Rlq-(aet.Yl8"=S .r3A2l}Nv)<߶m/2^O 6߫#FH#. 9{9x-pnǺT5LCDyhcO ilCZN{W\Ds?XK+nO>ԋxM%D+/ r+I;X%Wo& zRB|ZE30%&[BaěݒuQU}8SdFXR.zF:vr~1@9RNL~JڲW}aʗ 'F*nP+T|'npT Au"gt:rpv]U;Tt<{>Jԥ=] E(ZwNv͒roPׅ/MOI7ߥi[΋]|*14"zRK5XuESg1qK3F6;5sɨȳD * :˙TN&)m.SeB~D!1B6Kѭ]8ykUܭ/G'izK鰵@F?߳/Re8Ί p1&p-uD[A{ʱq[v= ^!_z8EXyt ol")?l!rQɄ nWFrDoDDBGR 'MU,_YoINOye |ihCnߓHN MxaRN^3!R`a#a8^4wpm@u>5imL[Ԃ^w U 9lΈsU.0Rdۦ$rk4y:Jqmia2u~4eW=w,]Fj&uR 57aI}v+{e[A}CR4Fbޛ^qbh Co%AA;LfZmE%c_ Jg*!`p ! UQ1o#w3#`DLXXaӠ.0Q8MG+<~~Eט㞬cd '֭7R3R7+P^a4!Ǫp,z?pZ,>\42EELBMR๲C/$Ps$0HQCsUqW 2b)kYtA-_0έIAaǒ n4M\( P_GɈ `L0+ȐyKOʐ}Jr9xtX% ŁK94=s1R%g8=-8TwY mzolZ!њNJH%q[}3PU BS;I0y] [Zfכ^4FE*ou5˞4/5(F5ߙuL!Z0Aa+94fQ,`И\  & lq}t,] pA&qTv(Z`0]  W(F`=VFNQ]>Xh^>de$"/ѡbD1W9''`UU$%t`wE !g19rY(wʗ,2 -7: Wx%b AG$(`vUY3\ĕfRk> K_%Ќ\{^D|5VO,-%/ JLS2!I$jWDžaf-,NYֻja{D8,k sÃ0U"2ޕkO0]8T1KA , 5Đ -I(8 I &a%JN# % .WPNe`_KکgwjIf#NU"Z8kD+)kpuzfa[O$|MmEg-OqJ`6,^bnQhۘ ADf:ϲK?'JT8yiWD[r=mkH!]F2/Q~(8k>]%69}.jh#<˷dՍ^W[M @ҘISTFH,D4ky=?EMQdJEBه;+*B@AP|Ji+7ܑ8oAXhĿqblJv$T@qwVd]$B8h^CDXj[sԒ,|]]F&m4DHQQ6\i GQ) arOڹWm ΈJQњRJ_G6r'nVF D؈cQ Sv$w3kRʻԽYlW9L$JP *hSԌ1蛦J ʺM{/)`YtJl-ȿ,Q,sߟ^s]sb,y]Mc_qVaRi!,Q4 h:Hv%`ZWXi^w;T/"=56ѣdD~v06tI#Nx=̳uI`xK"dfSHoW6*/ !%M=SN(IcYK)@RxݐfQJ6e=: Ds6T9T$u>ӓ@RWcdMv13n1A'JךM|xw3)L؄8UH]AS-RFJ6BL"XXSi-*!"z(h͢6Ś ī?BY`)CɌDƈ+ .Qzg!Z 2eѠd*R"Vju:Q`}fHSE,Q+֓r `2MH=}MhBTN*pR!!dp&!nb -Di1Il>OPʄJ). k&3Bkˮ kH }@&8P"& )єAsU!"w2Z9!\,L AץC$8H2B=s>o.%/Ygg#E]D \ڦb]ɱ 6 80*PfX^ /5 {.R/7"^">&⨡i[6_%*7{2bI~[iEs;?|o,~ƿ Êi,9%xt$\-ДRhRv<1] 9CJel ;`Lt]Q$Кc4Ea8 " 1Sa#/tX4*A + r)N^| F[QDK&o5cHm+`f%D=ʖOIXEQ>Ir0}^9RYeDEB$c"qp¬pFEΕ$\0Lsi3LX@ә66*D,3ʂ\O~=g75CE ?𐨢8^mVD=fH * M^4L' [<6@4 ]È*ĕh^iu_ӏ).B RBh~euaGZPWK69&NyMlUdO#S!{/# LC3JHﶓ5qpRdGJ(i|G #SN}o$H3^"8ѳdPv_V a["gH UYR)"'UqpTn"6 f<@|iƬ1:YZ8 &X(F3&P`T$PP2g B}=m p 38:ڈ3!rzZ&3҅`D\^'bwD("IR݌+-Smi9V#ܸ=<ئՋD2c&hݖ՚ѧƘ<ȂIXd`v$Y1iA^\&qVw][Kae9(Cxi%5('Е 0pEсl#\(6XLбAuQlDŽ4І冮usC/SwJvWL?\0 :"+C0"SR 3,g\@FYUF/L+/3Zr 6mdIA'm>\j&%R\v1RP$r>i(LKzfa ^I BG{ Z\Xl䊉 Ϙ;@KaGD%AgH[ qNRLA ab]FbpeZ.p nWX^&7鶕ȀFZ ,J/h| ;kQ'R7: gi}z7q,dJ56qѝmJ,|U7#PCM@ R Qf)#x{VBBkMDy1DD̛M%PF#RR 5U8 |%%>@-#r.P]rnѢSH T(i|D`X<ɨȴR$J ),+f(}#ZhB&<ء -~H%&%r x𣉚&\D B+ p!ejT1Y<4f*Aņ>OP Qq%x0/к<%L*r*<㚀hXH</*\qqJ D@N#0 me"7]&e~hٝ!/ i>TȜTTK3!-'w?# =2J޿Q܍S.)Jc NF'ɳrN_fry zCMUu Jvv9J|9nA6r_$M }{|TQ|Ϸ뚆UKgZ%!Z=4"HMAbEK?! !\XT$!+p]:kU bXY2ȜG:INQY $B*ԠJe7%ڭ6HF6R!i5-[P,6@$Ko떥큝u4 DC2Z/FJC 1/ڞ-c@A1cy WZH\N`fu+#&tC : < ?7)o»orU%"īA*`Bx9.\,u[TnxE% $I $Qo- T)Ԃ/V:lsӎ^ *XgQ)e9I|xE;PH 45E%E8` $(ޏ $(`лQyJhkLL}PF d2<.[0+$.aJԔXF3H|3:LLX2HTmj^b؜缏TUK/?p{3JyÓ5'f ^N Xp9jP I<#ajaV[:+#{EjBٹM4$(t|PCyfWkzz!O Gw |S9xCfzV1w?Tiчa@y 'H$jGC !{% $V >*H(L=K"eŲ֐KĴ(Az"ѩ*k>{3<2r%zؚؒFN:MGxet`ug7Ȼt]]˭ӶKZH>MnF@DBw(0U<>|P auR֙"_z ۝[JuX)ix!J-^UH$譋WD6 {q"T:iu/7L=~Q˦ngrM[UOץ_40qBDz}6]'*Q% 0ľ&OpMa%l|o/xEI+0DlQK+Oni C4%C^FHJTx}U-]pkTw:j9E;nq),DZv2<ŴyTVBeNҿ펱^Cں_6yjs`]>$XKV3iХҺ9!`8//{x(U Ѳ*3iU`v(xq3f{XmU%  2Wɯ>}e`.UV@7h2& HF}F%)(D.b:h_iGHRB% XXl xZZVGip.n@ P͎ t)@9Z$H#zA`J"P 6ĉb#DΕ@JH#])=B,רiV4.MS^Czs,SWmck"%i=canp 鶟MQRɍrAh*f(u#~rp^wq: %-W>xQE(\9,81PNh(Iq:rF7MLik)t-o%hL9:(Mb#BBo\(/r|ux"tipEp']\qD2 Č\eƎOH+fЭٳvΐf@0+? rz %1wr{?7YkIo/  YdMJfK=AlNJYQ!W z=13M}Zv#O&BZ}CɅ@St W=ESb?+yKǖ!Jj)q' As[1j55jT=AB<j7cg R^BG(Th`(dZ[c"ʓh$dW^pZ~ي՞@pH )GL>*n)=νe1-0|Dmqb0דZZ2Ћc%]ؑ=`{pcgje/)!~z;h_qsB7'߲@&*\ 4IP#hd |\b{XUSfD7$DjGݙ$ YP+[Cܼoo!6y#+j`  '!`K[Jcjk~Leあ,3$O+W|˙H,#'2ioh㢔АZa'2>:'RX@%9qJRGRTVũCkWQ \pcz;A )/P5C]1[(9-:-(4VgVPwѲLh}.IR,p f3"b ,)wyx#ǾP,j//enR\ѩlxl+E%!D~=%++\>wR)4|-}$}:VMU9dմa#˔rK+*+=8i|^(~ V\#b̬b7_'9!ǘ!PiVb-2#%<?xr۵KPRҒ*ve{c^Tnã>ۖu(RѬ2=CxqQNx"Fn1ajb+MRӬz$l#lΑ4[I^lkH>ʆp5<KȐTL|W,_^Nq[:%aNHo,Ҭh'#wD*5j\l^&g5Y\uBC6C(ƜQd$dzVcj&`t ȘLU FH_mK0#,}?nz*.;Y9'j"eduh5$gA՞1E<*\XC2i,Dn0G>J'_M:f1OWSC7+NdY+Vی` DW_ސ@CW/#P̉QC7@e(B$Sr!'4;TRdup?lá\^%/ׄH/v );T|5/jr*ay(S4zdS_*1\"qpjn*9wA\ OI>Fy]&D2,мQF*- P~jc#^,rDvAqb`\L_o:vJDOOn[>I LĂVq[ނiv ?SBWy&n5J`Gd-)Rb5c2rP^Q[-᷵U;NX92ds"ʼn+lFtJ>wiN'^FSYB:)ިY_r+,'Z8ڗ!zɹ "I ftϮ5LV\Ů{x #A@cϯ &TUAq وYVe4Z SpRh!xNicDypU sI%2N΁`_g* "X]IĉHrNI*OYɟJ5Gz"Ɗ?FiLf)jJ~Np54N6ϊ]܃gijօ$?Wޥj;d>Ц9) #0n/bΎ'"uo@]ア+W#[ #%"634vؿVMz^R\Q5EOz(_tU.N xìJu/S 5*,?QI.C# 98oW3')#pРhS.2n  >9Ҋ5%2 W1VyԡC4eU`k2ټ|> '/]q?GD*7(G" pJ)PȫSmzC[hBuLħGL`*^݄}EŜE[QH{?Ev/ʱ}&}- %rP m2|=$/bk C_߂1&-G5IeF1!VAoeLhY<]vG sLjr'6hyӍ.#Ɉ^ hp@vLqi3hBThPi (9Q٠T @V uB֟uhrBX4 `(MKNn/,D$`v:DpJv`y'I+`fALR=ނR2D`ёlu \ʒ\UZN[$S13 Ȏd*zS $Թ8&N8;8YIS", wBp@Iʂi)mX~x$r&.x>VNqX52{u$DE\*xҚ Gሜ>2ILWzJ3,:%~&1m 03,ma:Or*)?iNCƕ+V2I u3Z;9,Z/% eJ1RdI f} r;~sPW(zPy1@3B4mg2CYX5E$=d@V"gEDC,&My'Ԩd~0"P Zkf<tro%ܿxPb ĢTI@ip05M2WlXH#*^ /LNpLgAH=%1&3<Ht^BQ/q)nϣmbF# | .DHǻnH##w>x/6-i,$xZ0N"+IQ[''SdAYHɨȵFJK־k5evɚPXe_7K" Ŭ$f`Tuz;!69-Y1̖lrSmE\W@dIA$HI'8*FMx17!BeC4̬K{^85KQaLґhFSN nR7Rc8붛 XСG\(-MՄO!⹥mpL#y;v _NJu9@Hk zչ!A[*#69'RNuX:eU窰`pC,mɨw[bTC1}9W6пu}g;^0Lc437 '5#MFUSw\$OV$9.MZ]"ZQ*>L\%XX\B*|HڏQ|vrunA@1Y+F]DrDʦVUI)ߌQ'@$H.0/KivYfub"Uqܺ 5n}^܀F|_a\LqR2v҈>.8B$m̳"'B#%cjdZѨ{}$ ([:H$"DF>*pxp"7U7[hQ˟ ԭଚM*ɭN|$Tv"yʰ{2Z2TW*kf)VOA9 %)ޣn:s iJPvB>sݐ%E7kF|%O~VLqx2ԀSQ'֖ S;ɩԖDJmp2qz1&9|gE! +!0JE|@&e$ E[U~!\>?}OD5Ni_gzO-ivQ  >JS| dI#c\ ^Xe%reh쾤Yp[fΞ, Bg֥a, k2XzX*tfg5Kb \#vF;SIs"'d_y!(Pq")z*Lש9)C^541*@lV!V! pgcqa-D'ji#PgAg<{S`R;qkԉMnk91q$i0 1¢op @hIWYƱ)zWiEàlߞmE<ʹ1 YBꉂnsY"h& 'baE723N%aU%C :=$Mӧ"=)ff,cAR1x b:b E]~@rč4.U?U^CSF{hń9Ogs߯5 oj?lj Q~ޚP(#Y<"շFfq/oX?XoCkFzkQ7Җ]h1)b'J+P%\$)AtW" =.FU3->bU v{Uia]d1$2';gG(;uZ*sӱK B{ JAA )%LvȀFKأ鉂D1qsS |l"@أt!*Ttvʦ헕.1?҉3 I]`vrzc_O4r0~vF.}HT7.Y{XMJiJ+K¶sb[U>$[I[m\Ib++5B$uhe7ҼRf*kT$ֹlc5f)ļc*梆U(88r-Oqf]]]ɞ\H7V"MuT79Za[*4l Ts5i$W7m/(CFy%G\\1f3 #}t@(uԾeՔǖޓ7f6~iq-uh iYnf!)0|(ҕmv\^3WxD&&lO2H.XbJRbS X5*b /ӊR#Ҩ=EUqCNT<ǕS3YaٵWC"ZM5w__+?\NcUK{mD۴/rd(Krkw^\כ9j'ߺ+ (H؈,!'IWȈNdbdT69:+;Ա__G$!R&I]CRg2e{}܅/Za977SIzwKK0wC.Cgiڳ~MjEZk){:y!I*461k:e$IQ38tJ?֩KK*Q]+:eB`Aj* lܰ*E5 ǥʟ8TN`AXͪ6<)HgB_دWz8WY)*<+#DF%' Mz&)8s*3MNUg#DA3sEt7Sy/ ?6cPF %Dn牊EDVW]dD(L݅ 60$v"%IXw !DΓ9Ԭ&P3ўd 7^pSHzgBRz>v X8(>bx o{Z3hBXWSr`8nԵV#ؓݞRҨ5H,50q;ޏ*/A\kDHk]J:)r4L|'bR^1)Syz| uRL"Jmozw^%O)tCWJ3@LLn|%,7Q~įgw/A6?J*p87cUԻgĈg'Pw Y1FU_T]CZeq4ED҄Ir2CZLt~K,\;"(QkX}o[i-4S!3+%WxX0]Pᢱ*)Cbv ߃ӃC'!3gK yHY&$ f#K SRZ5_ž3Xl:BFDP:S!^f%F p`!sErvDBҸd"9^VtO+Wߒ{{6ԊZ@3AnXe2{aA W p4'^ G;f}K2 C~RV\-@R6[/O٠nՐ &7&H|= VxedO H ˄'d牗w &z oCP?fh H$@m&BNt A@aFcMpG& 66`4-)-)ʥ>2i$9S"5 9f_z7ܙ֯~&Ĵ՟Pk eb]I>i*^+'kvX!B׵mc\_7y-u4Þݢ? sKfFzenB*4|*w"zWt}myDBD|5M/F>^ͼ,3Eg m( 0嶕flG'շɔVz\ϴGLJq, ࠴ K BⷮXPYz됔pN4i"H6`y5z{Y#1I7 3,4Oֽ[LB*<>#=:@ZaW.E,*Z[D1ye % Q!W#%R!buݖ^b[\puaI}qi^bٟdoQoblOȈC VGl2MAI!F9 hq"cy;|d؞gXvJ:܄B#saG\$ 0^ 8Fv>(.`Z!`"+Jw<,3$v]O::HwŎکfu U1P7!_dK)%3I)#(B[PVތ3PZMcguޕ,#4{ܠrLt^XlhPbA!BR'vprvDFkdu"̄r,:n;WB.R)ѢXK9h ޛw\^&Wg*aGڒ+~g!h ߈!v㗖:H2]u.E.$Z*|W$ k~WL. j 1Je -KǂA@mPkfbsgP'nY9T'O~PB2cHrtKÈ.p+@"Й\q_1&jg(rōDv,vWꨖKL{1lcQdzoᘖ_>\)/Kb8W5uz!:d 6̹~p ~2֕׌Ƅ憦:(925y݉ɵRj+'*3GZ4'p1]_'2'Uc⶝KFqD"oO9Ux*ne0]X{$&eώ,^ w!DDc^sQ4T sc:81Da4&Ą܃ xzOugw1Y7PPrzoND H/C!&Q`RKKXoX i5;jbȇ6aL.XDnzlemGKRW1ɇ_3⑧XUGʫ2[[ dDX|HNaJ5QCTf!g bw:`*  .u_SNVAҡ/"+DkAh5r$"E־.Q[L6(\nRw!{<9H(H0<]g`&q 9WWoUG2}}7H՞=4, p''Xt4pPoo5lb6%(D4nU6P TN,xLܯ\6M2:$8.[Xx `tzjEX~ܐ;5_)R ɪ q =9/+C'Z>F%ID?=c,. zH6I.] q]|qt?؁N{fv%ek p>i$ۉU\ȫu4bUnF YCT :U)ӑŽ D'w=$ټ+6LVf` 4slb56Dɕ"] t#n҅,%BFP,qW*IwѧZ&,6Jy) ݫEmH,!Ė *pLפۺ2Gs=oKjw#n9> %mU2C.O}L1NCA#rFܣLAXK*j}$M߂)jՔ{'ɍZ5h=oe#gnג1n)*[T"u c z+3i0L:q-V8RXFx›@~fc*SM*ʳ ΁=r -֨<|b<+#ohQ᧑JnV=pLuԹc;R)s nlIC\N8Ф,HvՖGv+t" ha2f"1] L:,]v !vUL_=_ cpq ڵ8.heQ' "\A8$Cĥ0tw%X0m(`]YWq\kBeR=8}2n R~G8d5L,m{a0z bOB:d\˞"JLw$j3jK;sS0Vld)ԭ+7jnz=Jgg!xcoB(35ks!*1I; bbILfwEwK Dj] (RE 2م峁БU#G216Y(f$iݫ$SU2(pL!+-_J+ro g[%hE1[ׁ&J9aNqwg\|ΕE#q\x=fI;&He ~V`4C;\!S(!Ym$ㄶNK+5 _'Qݏ<\LiUB&TJEL7)t%zN$mdZkB"r}3ڊB!EY/S3&aZ8…7% o5zU&x]+<(4%D£`R-`KDM0I0LWv5ҎB.5Qt~fuGUHEA>@c| g.e[ JK_{Ccum<߀N2ZGFRԋXئ:>tA)UR>fMqu0J*ny J.={@B(8:76 eK=A\O|떑L+J~dj.O܎w޺⚒]PaUb"闋|YD/*.kb$?Iw&5VIEZJi[v؏gc=£3̢u6Q A!,VX F-Ն"V&ײ:S%FP,Otm tͬZ8 yDM6=|,Pe4s\' @DpH {%*&h*.:FiڊU+YAme=9B1p. `J AcxSQIO8 @# '*uz FJ %f#50E+l1Pr T֗r ?,94]=MeR P^I{LI3 ܒo,f3CED@NRaKF-+jќ1xCB2nFA+T !ިWOv"L@Bwɐ!Z[Ē襳0Y\=E!1={ r!?bM S"Qmw-oYX&?,Rz %Qݥ;'QE}3،N\Ik. YeK/o }GX,2|^Xs3:s(,)LTEg)( (\).L\1xwIRE$ISe,/6P(j-2f;2b['-ҵ`V;pLi@off0o% F.n -L$^+;gW!*MglQ}A2yvMXRRd0pbzffW =%@tG=myA5u)`׹.ocC,Sap+%f0*l)1:pt!IEkV;lj0mG*1=#TKbU˾ysܺ婡6j¤9e.8oA*;2 ڣRs;fKyj,ˇ#\TVmEnJJFAw189NDB˹1BQ Ci[?e)J* DfJW45@H:2bZ5L˞]7DICR׃C>uJk'P3DkI6MuRPOo e;jm<\&g{ULI#GG~'<Sa$RUҥ6ǼZE*j2Q9UPMV%tP lD2r<έ?II Bn]1'Wm2B(hro>C'!i!vbLU+wlA2,ҰIؓ;~$dSDMŵ-X+mYyJ!V49^|AG7洅-2TpwQvI)MOn=-Ut=>.3D[*b\9k{7WU8!NN@LǍYu_:$J%!Ђi^J!_ qSùM$Ns 2rVq_2r )QmTL֬񡕨E*q e@pE8m֩Y&p1Rg.(wkXdM̯]tJY+rM'tD,5y2dc?'$S|sݑMO Bi_g4!bnA%)'+{Qg&t+;/X" "PvxNMDr ])tSFOn$]REØm 18WH;{l͆Va5 c" /YpOʬJHH;oǪ2 -H\ .P,*ɒ9+Ed!pO_WA[ Ia~!rJ9M}ZV 4)/Y>b#>4I(=)$vHww?ܵ#daTW(I%KMN+OŒP`-!%J_-RPQ[9Q)[T:ʺF&gxdB f~JuIӭ&L/ 'Tb;8X94o2g13Y1+MJgJmkm༨ dѡ6J3"՞`(c@/k^_VQ2(rY6f" J?<@&ǀN^Nx!3(#3gc|`I{2s,KOoFGi-6,L%"Tj"RǓ~EI wY(2aCEH# cJ<< MO)훣R+*| 3kBg]fЌ$ذECKI7$:XV;B!DFxQ'܇Q jȂ靠/1=kV(P.ˍ>YeTFbqod~LktBg1+{9I i2VdN,Ȋ2Ț#\1cxt[؞4,B>X{J3!v3ߕT,c3n<-<9SXWDޔIpsX E:"2aYKtv%PS<"Ʌo5jِݭ_HÍHZne ]ZB團EW "It8>! E1q).8 &K`FwV:ڏB~4kdN/Dif/[>eKqifBP6.b|[sЗ"A1-7\ ],q7Vy3'[=T~l7cBjB\Ջ[S|I }%Jh4J`|o"N\4MҔ9Ь'ZYB[fJZ ސ]:+A@W(SAԄ974|e?\$c`+2D+fA~N[ 4eףʼnJ+K\?IePxn-6z9K?"csR(x֬Zk^1Q}I%di,u5KA͉9 TDTJ^'_eWIqp`B(='5xg(!@r0kR|VT4W 'Xn71'Z4,VFĔ"8F=c1qЖa_GaI6Aٜ :'ʃpĎڅ"9CpH$%&19 W,hpxl^_!a+xU؀t܏ HjJH\~!TiN'l>P+qmib,UO U'~o1Ǜ )sMSO*!ic׫HS(|| Zvӣy֞R7jmULKr2Toߖ̄y K◄vtv$)Ou ?+Jހis0>8ÈBrk \_cYSiy5s>152s˟ѐwh̥F]_\@1\BI\)F\RťɥSu:m1ǛB{SOj,'G94rϚG*Â:(܌1bnc/Ϛ%@qS}|황O  +0]~R!?`͎RO+%)ξ6;%tѶH|; HP hʝQ]ӖKpAd\JP5clHX@Вyw 'r1!kd+܄Z 6`L.b'=="6$y,B>^(,m*nh|xhXzp.w_Bʹ*Ff*$O"̮] `$“blY"[sE)Ϭ\l 7e>t L\8>62PG'9"ek!׺2QnrDfT/&VGa1:ńbq HqGNF HI #eI=ѥ^"dV)$8)>&VG:CREL)LIXPVZ}ȜXL@k뫸U *OogT$0"% Ens;8in$%!و*"*G\Kr<1ږ"$/~R{LrىilAyr]y=ΆjG*TXTm=ދbw.ޯ<9=*ܬN4yo*˥Q[D/l!pQ=>.y4nX\@HH8<g׵"Ja=Q1]}?XƤҤi-YWUHŇa Q(\΄wQ @,$sAr0 ED*I2pRy.eR3A Ds;B;ڙA䴔ʞٽ՟]zoxVhV*g,EdڭL6*"٥ܩ~n2NeiNNBy.Jn-Rߤ[+FI6%[w>rܮ6*劝Q֯7}I*USɈȷV E , j 3 ⴨+6 '`x~ “jGpv. ÁiİIuhLwݐ!"1M=섐#T1 =_"IbbfoK k%AzN@3a0;sݒZ~~m= M!=5QJV *~ln~$?dȫ.,Ԙ\RAa""kC\-.`|))1[gyREY:Wo!5,IBQd8d+p_ckw-t\D5=ihT ^qpX|\1H+;0 #hL' W"^`-9XNERfѾ(0h \-WSŎF+jHzJnN"3p^%oc*'~cd%Pז%gkؑݛvju-@$nţ0%5zzGtQu oXnXMIa/f İhOWIpT$? ʙfIkdDHVZPL/!*;z@Hj3-)R %u$ g 7{j^',='*pLJB3%dS \6SvO(O؄j@uXRѮoѦmi.ohr%ZrR"CqKIK; &;͌uqnA lTѹ}mesf5QȑEv7n_*qV(BC!5=EF)fynۉ{X˦q U_;v(Sfq7-QVśָgޓI[{""R,f{J;9!1V Y3]0 rYVN 1q눾M'N)&IZ*o2/3r\L2\TaGPܼh3pVDvZhm*9zV3r媥j(GC9Lw2\TfY9" BB(R<&ikF>46< Rsʰ:nH m+zVQaSKZHt=fQFndsH\ZtJ9qisVTF`6.td<]~=xI|D?Re,+5YWbnȀOcIa\)Tm(K' m%N88ݤh)_0N=3XP.9hf {LEe-ײO-}(C Q>('DnvSi03O䰰ȐNz̞1]aJwQ' }|@ϜOO5="9gezźǴWME7ْ.VK,TmJS}C=Pz']" Z+)&GrtZ*}%wj Ka|=!Vʀ qX ⮄;[!.J],vRAc'݂..kؕi9fqZ1^_!9 H4f0'<*n1#5D &qVy!P&Rb'Qg'EF&i?n }\UG Fl̲F>+O(Gj@roj{:}5%2pñ^%CK,ր(RqBk8{8(+$=>(hԖz{BrX!JRY#xzdT0*C@*&C2<@.n@\Y GX"Y"svꡃLpS\2BB(88u2tmxȝ0X6xu&mfqUx%c?u%SQbGݳ/;ExaVQ+FicOwZ1 /Gǧ$$]OnQ9p Zƹ%hpELqؽ aNI]o3x+?[nOuєvJ]K*`LkO9lģ%sX,Oi_n%)or9 Vқ ϔ?O j y9~I!dѷH#(\XdeBjk^M%g1#t`PgK5iljH}!$X^+J m⵴7ڿLRc[Ǚ:ﻂe]S dIi !l62M͂lJKcR~_*H5+wryذȄ=M6Ǖ#$R瓽DOdAŘ7 k$˜g] jlRc"Ebξmȵ-7"K6}_.I5Aکhl+ss9+'75 0Te##V6GR׸H$i[oiH z8ÐJMeb& DLbDa.θߍU9Ő L:c8\Rm qftrGO12$V<`$Y¦b\THǯU\;u2AV\VeOi8c~w8HL1 g/-stKb <`7j“e0?NG9g!F?2M%+8E<+i4s{F}_Ϯtnz<̋S.ӂ4FY渮Ү?Vc?Uw'K,z7x]_ҏ7L>"# WULK.H^`HF&LDJ咤HJa|K=:zcכ1lX̪hJxY& 2md.2ּ]E,FkڕjX2 MTQ|`v _n.;_'yf}WkrIQ S8!xGRԯZda5/^RaOGU 6T7 9whe-&Ŕ%qp9`k@o+qe -qJyY2)A WI%RƷ*hQ,R2 ȊȵGJHS'IK-(czJ>rX:ZySuZqґTȨSw䊖^6MWpDm+*+*`|O\MM#kJ JE!= "@CoZQ7A~Dc!bX0RW dki[K\nьe5#Tͦ HC2 Yv~*V V!JmՈ.$%0K?w]*t@T,nLvFZ_uf [^FYE3u&s"I4(ۍffL@Z&-)R3R׺YHU|Z%n!UY#%WZ>rC9Ee (,e+2>Hlnelh< Prh@[ȤI($֋R~6DUŊ:1fFLP3Mj*$U騱'Md*#ky=tXwkЩ#T2S^褝Lk'ďܻ#aN4c+vfb?)Ktdnn6~]ExJPF QkY!HYVd_Tzُ/ \a# V+78+`PFDFo [ V0zZ]=195sY*E6SW)9r:w7nj" E!apGGD*aG;u'NHWDE"/L齅m&RARc*QܒxAAr2 WT &:v F4&"Gf#ʪ (2pF~ $}^ @DJA(3|)Cx_)~W-Eovdw⪕IBƫX*\BL:Y5NXqd?E蔺+tH)'eUݺG1L W\شw%R^˃5UO@aaZY~F s5‡D~;7U!. r5JeͶ3Zd/(bRݎ.n 'T# a[QFCr==B)&cݰ#xCU7a CF>kְɌ`r5S9 ɀN\BA)n8 pqz[PᶉmrrCy d" !1VCOaM}}B1)N9˷[ָeiRRY18dr~g$m*f_ug  N>~"\*吉(@@>} H/HLλ050 #HRh_CbV?`nVMD[P`̨ 6lDج[ӐzgH .:ZX {MHq`{:jTCP_`mj;UJ7d-%I4Y%WH$91YLUgӑ@1ӘLh!J%kbei hS[7B[,ܯB -m?@G>Il\o*"L"+O,:js SJaQI&Ź!x3 8)Fq=YFY{ZY0LP(WG ,l>Y Ty1hdsQ5Tz%CֈZx9=þUvkG:EMy a @BjAWJ~8V^o;Y~j~3Mg Al5,zRG*;Ȳm,)oFW8fV!ګ*(g4'<%6܇J'v ).ڶD6!N"eXxذ=5d07{Gӵ8 gRui9GB Y?&!,|H{ R$FS7[Cxz/LYNo3zdASb\k%3 {[69KLKCS1-E$Tb.*G8NeOZ*f]ю!26}Ň* uW~J3:pdOvp^J3D ,몴.YH %xT$2]Ja CXF e(pKfnLs3[U*#++ĝKՈ0F! S l35-ED~$4I::h˧1@Xĭe '0iK2s$>Ja}%#ILT$TY)kD)J5;F9{9LK0rWi `x u v;ܫh$;+vЖɈȸVP N `}0>P :?>yMK :5ըUko-XL`lJah}|ceEJ؉rMS=W./bbW~{y}sL2{6X99<{ZwK$jZ]VU+|wct#Ŧ^!ՎRvɓ5g%X2zXMx愺VsPsK$ҍzOj>Ot»DX*0ɺt bzWj.-j*ӽ45&,V%uY|Sp)j-xKtҙ}RbĹ7nf[QcςXöK1?qiZŴ *3Ŷ"8{d_VQq!"q}(\)aק8BSU#ǔU.+#R k'`(] RF!'EP\0/V})LJ_*h͘/t~`=WE(tM$l5b06R S+=V70zD!i$)I:nCO1?e"wzQ\hۊsG*ԁP}P*+Sb VEr:]E`إAd6g:gNb坹!qi[$enhP'܅r C{L֏I@BBq^:IBa,7.rݤt\=>gžTZI)D4V1,llrdADA#z#M.}.T [l* HkV',"%5H͏E u`?|v [-i -rxCs!"k{چr S"I+&N,4*v8%%mIom=>C1"gSZ^d]ݫ}1a2[Y cvSSF1E HHU*F$P"!I7tYQ>$e`UZ3CDbE468>`HTӑ܅'&Fb;KCnkbr´vGѓXkk'ʴ(rj.=Q=*QKۏgEn6ZO%pެZi*B\[pn$-cR(ھk< "Ki i"TCl/O{~Q^2K9G#eP!#-$;FSZ!Noy\ŎĜu_kx%8w,W0U2|i3Kby$'QyaLz)ʰypC n;XbO͎9\j U2m[D!tI=xp%rkmz$vVyxo |$ _y eoq5z-3q3C~iM aq%c$K!j -jqe:~o½2%[7LVZY[ea\k$뤦0-bH㺿1ӺdN\ERA?c|_.È@ny^IUnќU䢤DLbԕa)[iͭ"D Nɲrx다͍A鷚{뵄3p xsбD5Jɀ,DXY`XIB&, cVb3rSX%gZ[£*$պ7'BynNs(ԝLHi~"@_\ӤoҚzV>3 BҩvC M ΚgV[ HRNyN!R4Kn]-DIV I84j2+&z4㲭Jzpq)Hu"sìHW-X<)w&9{b&q'-m/qJ,s8e/C52JIaeFyVv`4I @ Q2$0srW2~ =LRD(&g!MEyV3vqtmvT-"+$P!m zDXLX^JTO1ӨWK@IĨѶju2aI`Ŗ/g6%p̻JdW6,d_44t6a[uvph|y#g1FDʩs1{'j_HpL_;t}Uu+ffΞ42)BaȯO>lII28iWdfy:.Y<$}uͺ뵳w _ǨFPfL=~&a{uhaZ R=EKXGI1Ė;DJP$E&H54%:s,IerO?AJE X hm09EP2i vύViQoA`৾6T?&1F/=Uo]a_ՍD@{ix54RV{"TqVvN_ @|mԼ{da:+0TQ^ X{Y_68tЌ:.sryj*F@LyL)"}p`uTfV J S+֠'!5w[ȽKq?(!ed&ny{en|Dv<{SrP[C_n86ޏ+8. Uע@A̵+B㼤Y,qikoQOVKg-3i9-K/7NZ6GFk@wH*Tv#)[h[Ȓ} }RYET[iYo"rlyD(*}@=Ȍ3E{G oghK2:9<<Zߞwz(e:͠{d(oc #Ѕ4uQziDK;(l]g{L;4 [ ]r 5zti+)EioSZG\gYK=*v';*Sޓ[FaAPlP8>Id}ڢ1/2fz{P"54$=#]9bw/U{Ш!9`T\d ]O dj53=-"NKZq`둤 tbo;8ΛuJ՟ &pJ=b0<֍A6ډ4i`‹9@,__ԙI,XD|hENN?{(CuuWaURǰYeX=,WTlH'|t! *3-Ď,YKŔ | B~ ߦR5|X3"iv}$ej+Rٌͺ;l| }XWʫZ6#΁&O0mG.+άZˀQ'=m߿6٨)s1ПCJw⧩1$ hl-aryҥeGT&j+je_&x'hJ%kyT0ǎUĐ@؎r=6Uꆟ7d8F:? =Q5iY:/ |K-#-fW.zm3gQAa6Z: <;:Obao&@;ArĞZ鼧%Fp>sڣ¹FW3Cjy< MͰV"ĤĨciWdЧI`4H= *+)*RZ)/SIp,mǦ8ŕ1k+ewM&#צNW%+Rz PEB^I_Chu I$;N=-?1eZٚTⵯD*枭mpSBgH[Xh]MSKq*3' ~"?ǃp\9~,C t{&bfEa ](7Gύ#v@MVf}fe8k4=7Ja(,J7[K|V?: ['BEoX{HߊN B*ʴK/&ɒkO: (7#F)^泺6U5[Jh O%d5oxOoBh)BD'r>+,4O%`[V+Owd46x݋ Л@VTVoJZ.&dMmxI[^(Ob'Cغy@dfZղ~ٌI˶+$tOo6ˠɒPpf@^}`[? 2KlBH+Y.DH==\aj~wgi|%xwiXػ(юpUdOVT t7v%s}v# *ƭ`#׫j3-c/mwn[2tIiRKu#e'<Ո c8mAQ^P ^~h}`Au"6XH}a(D# h#)=17WϽSk3Zp71"$BI B r2Cϕd_gE%YIcؠ"-ɭ.I]ҟS j"klv?"ׯiL-y!TnHkU-Cd"H[wrPU#DJ *םPKXR,>XA! ZGrI#v_zѰR#\Z>)D0Tӱ{ S^?u{iD{o i(x׊8ZM(Vؓwu4#_P^|Cf^9B٫RU?/jD-PWqŹ,Ô傲Y _XW~c,qz5(,Al2Y# Qr..3ǫEBMZ==+!Lb\QJ734M[Gt|1PáZ1s7AQ5,|YjHQՆl'F+X& M_wen]˲n]\4c.({-QYmVS`ߟ,{{騩M{ *p(?9`~Dg@]%W}5Zy_:;FEkRZG?+,\rc%;m(1HԹ*'D.\7 kz"ڴtLO=)mɋ;mpBP*/3=T*޾*k#*"XoɖPRKjT7Eԇgյ"H`d0j賘DaB#x#Śx#\"dW,7g1,JFGD*:v(O gI䫑ręAzEV!Ė,$-yHyZV4vn XFϩcB_Um7,Q*d3D EZ.Lm^f3ACl 6fBq"~4tD &I#g$zRôTf|%dZcrdHW,7JgZ ZحiAg)Ъj)>{ J`I%T%@V5x-ˑ#I)^"W`ɜC g$[%q1$-־Ш:!Llc :P.volB"K&4:YpCj)86 (n18@mC%q(gUISWK5JԘdSH;fLgRN;m2"z%nFgeO,>fz%-:5xjЕ쿕BlU)+iƈ߾8sLS"UjjDIZƗ HHZUB[JN’%n̅e?΢ƶKJr\C!%pL1Csi蜟0LdN23u"i{T.ǃq*v%HMO%/KI4-F\ (eJ]ΑZ8+"E;_d)= _[f3CktH~dՒNZ/KZ+M_Sa<#57ݸѣAV3`IU>sʮo;4[/*?}9jec]f<<P> ֙x:FPMxR4-Eh$a!MfL[H7=vzp:|)_DJ[ ݴ,II$ɰXdZP7fr.4BLn!L|KBJV%(<)D6^ hޒST;FMc/MGȰW /"DϮB N4Ep1uV_qDKO4:]k&Y5i-|'lT&b*8fusW +#"U%[]i%E8H6G\AFNĒ8=0tB>$*Je>=_s{{L:aό1^ѥ3i2ʖQ2oIl,\̽ɛj{IitYi\;:z;in$TzR>s% XW9Z.$0ȝw#Ǥ>!ɐS1 S\7 M=Mx(GlQm xW#K"_aX= 1M]&',-/0I4[8*`#pLdls4*(<`klljtREDԬj~q(VUtؑdE ^܈_ YXۤ8)>[㊂DK/_IKee[1})91F0U83,EGJ,YS_H3)TefdR5+",GKKFX09%2*MɊ_Dle PTf.2idGÝ~n?"Qt~?!({QZ;}d_vFEFFUj+ rje1iDAZ̟fBAm3Z !@* I?m8Obq)(!qmbBJ54ב;yr~C30XAe}'BՔkʩ, C}#NrJ{O% vStW4ݨzT.ӭ[B*D ;! 3'?,qe?<Xl}J(r<͖l?% .wrQ iOsPJqI%]o٢XBCXm7Ib'#vd.:~ZjM`0m R'8,5f_4{}ZTXz#7=bƓ) |1m_>4TE T$XX @\X*B!C4߮!JoʨJC_Ԛp*LC',-uT`."84_/p YbBס_Ŭ߳OylYt -(X4,Z 9ǎS%7$& ]4(F/Ww|1Z,_Y5~t2oÜIƔ҂5lIbMRDP2:/Srܹ)ISxMPN7[,+;N!4`OMs+YR[ɰ:JyPLeW1$9qihFl,N& A8M QH%keF>!7fWoaa䖓 4Rb97ی( G'ީ9V-O@gKJȳdjVg[Z/?%GdIszquܷ;A\Lu~M3{-XㄕCT1JBoE&U 5sՕ%t9݂0D b:!;$L-x¤ k]AqtCLrI1xd^%뛩Py}TOa(N=*oFND "@&ZүFO_04r#\H;"gIT=>8dS&֝yqB^?쨫8'ց[ 1.AZHK.L X^"3/-/$=[$pPL8$HJvgpIV~_L#4| k "dapV^U+X Td<&!]f |D!g@zK 7!H 9GiHRL $gC=ifl ^v3cQU<+ΘN𰴌|HaF WGWmj;p{|☄{*EiX]8Tƣ5f])bCqNF9{c?'<򋹝"Mެ4#l )[ltJ)b{ O*;++|lAuoQfF6^jb`"b u `5Bt)@sgIG0N'^41&k[G%ePP^A$&= ^QB'qIA"2{9i9 ZC l1"`0C1;Jɔܸ/WG+R>;;O,"4;Fvw=M@uf&g4X{3+j,j}+ * ƎTvW4gAՉX IKP{~ XN䴤:>}8_5bfb>}ҬH}$ў cv]*YٛZsQ~BFS`,SinH<7҇oR|#Y]toj'6I 9GoB}Uӓ͹)V/;1"4ODE(` h]*(?gq:neY'yv.f{F2frKAMDTdy<\Vad&Նnf|8BkФUA9 ay؇be(Cr^B^ZSeS&p eITG"1Dn]ԠB=NN5 S+oT<WَRk|Gn#}"&b)Jq]a+sᔅf#U滽* ,OnP?BjAZի8q8ܲn`eX!JWhp`5! 64EG*y\: bM {C~ 5i{W֦ Q9<0LF? x99$DIn?TG_%ۓ3){,vKkfnw7{LctqNm 'еM,^sy!5׷"f_T~Ȟ|:(ғr!w;HaQa^#VJHI {6@RZBF 8V-*TH -9;ω13"H,JIf> E˘h\dEU?<<xYL_‘K.ݞ1}NFvw~>Ɩu ^JºӲt)cn9vE)Sa_% tWfq݊SUo4`'>IjԊgt+ޮiL$|DHSGAmRJ43e2ZkՉ[(moy@N9P &Tc|xYxşa h8d"UEA'B*-䤊TB?VL`EOgGCj{n, 9vvΈe jwA`@Iy.^+95 {A;xMǂ$~b'Oi- Xիx5fAEVdr)cpR~i2%)+H@DOkAqI_,{5o=ѸjI,5ȆJ zdBq#VI3b$̖JG\bd@1:cu+~Ccؙw0ƈ DђBe>GT%I _^SاpHN}ƄeYT^Y} ':]T&BKa@ET#%18 p8F|rfhQ7j3a ^PX @%u$ۇ(WN"S\ t:iv -j[ǑHYģ['z<0 Cs譑B8dO6Fe$61!$dJN R7H!NeS#+_SW*V0YI2vťZ'n+dw]Ge^+AΩh \H v5 at'ʏLST*1z3.̺+%+g@iސ"3LH"U}J^ Zx=FC P rXV`5/N*>@p^8f*p.8)JMA3H%DΩºH,I'0ϔ:| ʖ95f{nŚSSkFqWX7nd)pTݢ;A{YSBc,OZi ,G~CI H{ylqz1HR0?҆X~>F{'jsTj&?CkbFX[k-쩭c&>m'|+kZ-iY= n Vyt[(sLri(O&*%.*0e[w6lbTH`#Y`0DBs>O0XČ2㕡hBsY`t,lK?@cXOb!!Hoa0ķ&kUfN6(%n$PPU!<\E3쬇PW<焹1 dtBV&C#G:|ZdEIKIaͬz8Rןc%Ҟ_qr8בc)A0# #Nc@|`DZ;1^%?` HWS>G_I N4b6@EݮM)'R'MC,SOh%! na /,KJ%LHJy gϐB$k.t,zIYXOfHCOE:QkUp9-!3<Hɒ 6F" ))*V^Έ۫"1a4 5.hA8\y&a/itb MyQعة{l(72!DD_; `&7ů| 3YƊ\b]!khBrw#cBg$ BuE$&A&9qS |" P>7"~%g8bn  ߳7~>6Gi3TRaCMNBYRQZ>RRrHN~} v,mHP&n"wsGarAQ&9g2A?V,-L8 zhj!JUQ҃(Iٲx*nt#!DɆ@˝Bū 0Pbz1_ )M傤<:Q7Dd4¡0C{ƺҩO/O$#l( Y&9?/1@fW4g`#W#1˿!d 2c[>  F,) *91" Y txOԞ"fN[btAs8/!KfwϨ.EwWkaeHIvM]Θ|*QCckl1Ѷ鄙L#˟_-LZa-Xߏ/7޶-aɨȺT j,f洭'0e BN,HߢU_>?cu;>Doc9VV̂Et3$LjP !YmtS BB v=t( ѵ8D/@FP,wZL^zfo1߿>Jy0F&ZA@ dpd *B" VAt+ʲ(}a"qz) 3ND<4⁑, ܍JL"],m;T|b܁:.I~UEd(_?ՉC] l' gE*K.W,01T xHgpQsO>c)2)\#g L!\Q*E:'Mld󇱅h5:ي$n\W) ) FfrJʐ{v\@]hKR:V NQ枉Fb؍2R( {'KR`i< 0RNRCe[R<ކ )X\YhScU-}/E :;VPB ]$Em#VPLfSBeD;C 蘠`K A9L&X6mOyG1'RGb5!f93"rźͺ/9#f)N1Α NdP Gt2$ # T6#B\6K"А/d.ZŨ1Ia9g=pE ]R D%{r@撢3p@#B<}'v/@d 0&OmfsȜw.Py܊ *Q2 nP܉ ^ n< ZAAi"A)oD2??eCCZf!XLu3޲C'8%Îl*P%&+[Dy;I#]Y$d$/ &8b )3֋wUtcHI7*Nw[#R>c-G";R|!%~yd,7ƅD4I>`H:ߟTl?Ӹ"Y ȝ,f'Z+~[˺Bэ)Վܺ7/?3giQ!#:;xeOjˉ1>;9SrB1\)ܛ^uJRIW!*$ \eE.$DX#,:2Q녈N<^P) E xH#a2|,-}`@6HY3ڮ]sì>B+x'&E1 fG#tܴ^}#jZ$\:դK=@ѤBN?rEH{%EZ);nKÐog*L J3 *|4ޭTFQ沚(xZ]$B2DuTL[!r8iw"-Mv2y!+z։Jމ<ߧ~ 0zbevA |84;n)RoAOfnof9n٪/p^1أ&hnQ@譑,.Yʚ!poEB7I~9U $=% +*6?֬G\Ƀ]҄1!W. )/ -1\qGWQb*E3%XIB,gu;ˍ2""&l*+uyUM۠W)J(IۚL}Xx(E J|6$Ă,0JD.r@Pk [VhWThRj*URߵ&M`$,@Cb)Z; %9& kXRJVTT.4pF\6mDJ*c"gA$0X FeeL(zzn[R (Ev][7;zo&1=toԔ1G*=B)avoe K(s$ѯ4zQ]#^ޖ2nX*֊<0\<F *4|T02y5+D:ŊA%ʺ0Z_fK\ᥙŘ58I * ($`u鈕Kzi$5QP"ݳO_ o+mv0LDY Ҏ qSx)1a;T^Bq)s:JAAZ+3\\" p K@*0 dR7I'>/B@]"RQJ81Yt1AB=-q]TK` iv'3B+60bӿq"xRAoʇ--oZuӨXPwRiT*:e[0MPV}yȠpȪNf{ETFSw/6vD%PsO5$lF2ZQ{' {k>|̲7%U&|ŗڒ1F!sda? E4)ҩFR\MZ_ILAPnzPҤj{{&3Ξ 9Aҹ:pEl֔ܽnHԦ}]Rg1HXԥ]-?Yl7QȜusLY3ASߜvUN\" NiV]@@N\ `y/6LbB,]],'ː.@~/fr-M'`0rP4@/xj΀"I6"2 !Ds/ ~ZR?f54q\Ug:,~a1M~Ny&!) /{r ⽹ lS1~N0XbCl%Q pNkକި[;ߋ锘s e.rJ8.D %̚E~ָ`[] ަzh͌3?2wDVRPjf49z dשfX~땒ʌaQӼK+& RHʔuzSYv;5) (/'c\.El:_XQRxIFߣC4،9@es< i$2zV-ʂN'=փ Iz8K)w4x(@jb]]u~[(E^% ƻ+XrFJoȞ QHv-#)gn.BˤK9e)$Q5 ,2rbB=P ^ڒ/M߿vi"]E,g6J)Rм^{OXR{݉'"I?iHK!nt^J.Sg3؃M!&xRIpFBE{KX/D'/TR?^y,eG*Ktr񿪽xȎ[̉ojXd"am~8/9A רO4R ޤiݚԧq_3,DD]յ u j*ҬU^ .zYxMi{$ۦa%DzlxbA T@ F fOB)E!\`A!0pSވU*ã[$:rEPrB%v‚ јK)a؝q:&bdRkEQTz~.:',9][i1$*}kStٮP]Kks;!si!|h@r:Z"DbYX?T>JuushY>H~Vsmƍҋ)05d RьOIE'->vhkH$YWQSu0'Q7 'XNdd4?Tmuvp\ rBs8)'=~Zb%HOBflQx" 48%r}5_jGF!a7P4)\1RBtjP+{+ f:+%I{(_}dCz3h_ Wܞ)G{9HenY敃fob-3dk+CYɨW⏇k*˖M"쮌+1Y۬5fHkȧ I,#NN7/*-#nS1:E"8G9yлtJ:<*B^rq1Ucw Jn`}M^*2Y1FU3f E3g" HjkMiICh7 QWT8Ţ+Ҩ$G[TIB׎J\lFŻ?jA?k'f|ŤϑkKJ*!-[T+БH:(L|Z%\'{+NhR'/bYKE> sKtVB)K2vmJv‹XXL#~ZīD ^袴BaaA.=A3YhGQoC+?H 3.yf?4K%ZԜأɼb]-y - syn7JpNI`p*x+Y*݉n^zh X=XV\",HY;||?y\_zfM'@)\NnMTؒzLY: )%GK%E:͊ʒFHv1R\,]EsF2RX{D x`F %7[<1IӪ puȺxG_9!tR &Ae W}**Tj r6v)9E&c!lp˥zmtMc'乽q(zbC5wEPLU ]Z=(:Viev5ݨ6(-|+Fݗ2%c~S7w'ٱh>3^OI35ü\' A;_lt]6(Z 'K/}RLCziRÎⅆx-(dOa|/#.PZN }%VJH~66ZtdQ QVXxؠՒ7àJxbR2p] l+03ذ Gw4-0 Y1J1virLGkFђrgPHoҮz̡वɈȻVuu='$Qh` Zt3%?j榢ch4} ҵ[eY"N4o,Y S'H *.7Bu3Rj%􉘴q$k*#.*xa$8̓G !*iw{:kT,Lc\.bЄ~ơ\Eө4q~!("lBْJbUC0<3'bnf=<W5x07+zT!S?W]k׫-kf~jVKn"4eH:\x(r sҡ~w毯o_TΧW;#nŤuP9^Giÿ[b"5 TVǰ 8`58q)g߶]jNн'%=n):%dg2^$oƜUXJg}%c$VA"/^3/YtAt`!<˒q;qs7n_OhbA +"2tMAB(¡Ef1y%:ܓp 8%wܒT,]FMI_THt!`+d6VBa \s9<]HQ1f]-~ !\׻+MH _U~ZfIt9U`E  ~E[=3B;oa"= BKJa#g'%jL>E"tiעuT{thto<]p3U?2Goj@HXd9}Z^EŪY,+rX]J.Tr<.[[ >Yx7,~s+zgʛ>Y\NXUWUU]cW3YT*!:tnk[vI̩i2@ ;ӡlQh__VAtGok^_Ek?HT8m0>|ؒſk> "z5Q380'HI,ԊO ]z_nSw'puQWj)5!mi'࣓FeT\<]r?7 v$kԋ J>Q#ʶ}u.q𒏚5T9Uٌ̖Yk2rre59U>`A-gLZ+h΂O_ֆ{8o8Z{LLle0s܎Қ2:.f(Ho9e7-7ayebV)W$rk;Jl/2K  AcXEWQZv\V^Zv{eݟݙ0B -mg؜ PJ~62Cc-B[aJS$ ψE oxMaQuUYq@ 8pIFˁaHL=4i< !_-4٥ˤno&h #*6q̌EbTyNL]3'zq2軾y7,ɭ>ę|zhڈ3RhPV1,Lnc(}:q|OWe+c(*a@hgXJ$ٺT'$2͚O a35:N9,BZ#?RuZOXtX E0>% 0$-vSL¸`Dxe$7!LZn<5B%$e˽5w-V`˘+M`Ҭɢ7dйGhu|xk;iZZhQBw&D\B%ad9>21xIRu<*/v8"oq=zT//#DEI(Q"W7=νzpUv^ ta-B'];2!r^֏RPNYbFȎh.Q'ocJTSJK9\/Wڲ.U4ȁɞx^-v%?L"Le{>bz^cB@’&JT'F / !ï>YH'%ݢs-ԧB+wһ{I 7a6ș1FˈSG#t+ފ#$ouͰEk{SI_D;Ȱ9ňbJzZ򭵉FS9v.Sez氂[C 4-b';jF`@W*DiyJ4׉3lumzbog]j6g#k𶥩e[WĊ@«MKeFfK;ұ$G[,@-H+? !#x CN RD.E3;t*$-z^mG  POVY)Mx YE3V^ XWˀ\% g!i&O R@V(lX1ϽNkjLM8{[.$}(X_$&0a̗ot_F"ylI8J+9URr@&N1/Y$׆fd`{ێi>/@Q$0Vp7swVr0|0 a6 $V)$*j$%vsRZŹ5,wХR|c $9t}{6L$‘#$VaDlR \X7P0$'q~E{*bM@;R4b=&9c4! HJ\WA0?"@uW5BA7MQJwyT˱vǚRcr j}1H,<{Zv!cΝ1 pCr"=7jT3[3U¹dD9}BcVMzʀu/ )Kf/" D j_=F_J]!ɁLf7P_^)q({nV.)"C[(ȄspGB,Tó-,ůd=`3LɪR?>K*Bz )jh^7DG֣|̥"otjzq@[@ M}Eth7"%}֖NOSgȏ#(fk p!!0D8Y}!e!nvB>5z\g"pf۱s|@8ȯi#OOjuE< 嵷$=EI P΄KB&(ly,d I ҋҐ|s܉U/t)Y3,A]_Q 2=jQ||F&TS2t?O? g*T5NqW"Q 35yb6)r;Y3J.ZΌ΋ZDbP֏X oum2p# ˟_iAtDB} #*O# =E6$;[ t:VhpxHԑC"WR=!z %G˳dV024Te[>-JU]Ȧ+ +bИF^2%RERm[msyZPYj4/2+:\o_[Ke'ðv/ ƣk>Ye2ntcŕ.\>vȕW ߯FJ ^0~XZTrbRF"f*#tCWB5]N31RZ,,szNCwę^Ldq VsZT!wT:x7`8 |KGӂq u@"4iJ30md/):_=5#ȕZ>sXV ]0XII*uY5.w^pԕQҴWp/DɒG)+rod)? ef_yT*LpVtE<ǽ $A/I%w3 [y] DO'ԜV2 ƣ19(8jz0"t8)RkR#rr%mzvs\zbVR:|1D3"26ZR¢;"ZR+2&7*;y( CyչN(IJAIխI5Qr'Wcq,s6 3c (ӹCJjY*0 4AS[73A"mK\°q%& p=k+lD!- 1d!Xٻ̮**K[YCjMJan㩵H hit+ E-91塡5)eY;I9/[j7`;Jw^rF՟$E*cF))#<NR795 WPҭjJ)܇NW&;bI<[ȝ ѢX]мR[0;5䢁\Y]F$QG=\zKiU[[ *l76$KyyqyQ]:Ic,DXV_ "I]5mr ș5y I>خp adbhVi>.0(Ffm+OOմ>ll\@6ei(VZSќÎ%2XiEuO$iWZf=Y.|1̩I88Vsp`R$4i)O[V?8= DsZ# 'tdI+_/)k,:UŽ~U)a}FR-'͑MvY1yKNOfEN ,3E)?-],H4PN HS7"5KXWFW"U RpZ](2c:@MΛMyq|FHS[xIbRC@F0}JQvU2АA%_O%W"^vMolض,fP/&-Z&Nj B5B6x&R8y<x:#@K%ffB'uW4Z H DҘ-s^-EWC"Z0eS~dv$mD~=a#sPV2Lzlz|O_&lC̿5SY0ꈢC +#Fr2&"Q IW'ɂ&3O|nJ=;H.CN0ӁO"H2%bH9ᖋZ۳HJ{ ~W7VjIGg$(H)((1"m Kq=`n:qW(C΅y%78@|'[_k\nk^pLKG1\f =_hLF d#KTX!!P uK oӦsOӥ&fVW؋T,+OB UPZ Y@[+K4z"Rp#_4E&+ڗ*;Q(>x!G](LT1- }MiElLeU#dR "'/Նy hxLĮgmυ9_`fβrh㦃׌CO(?^zXE"=N|C-EOPD]%يM?dNR%y(@PtVnXm˷Fy[1dzSLveQC)vsJZ.FED9( aC9]&$%Dh)I=f7)'f希*L A5^Ŏre'WKfJP2LLfklMiYF_u11ѵ1Y@ ]*J\weW1Q [9]t?:/!uWQT<߰fW=K(B4pE#V8G_|T}qW6g}Mя"*!WO:&.1!7&iZ*b*oawM.P#szǪ+4m\+>q$594-tv]+[Fvd ͖ďTsV儋o n*^ef % UFD?*uV+{ `;!|\n{M6-[:>f$2i2Ż̝#FӦEYE8ЋɈȼRRu*3w P}YONA")`i_'~U*ⶢ".daNR% *&;B"C_D!JFC$*{w3S Oڌ>*I4Dۇԥ>5ݱ'#vz25F"a;w?D/:`de1&sWD P}Vq(!r< 8G :cdSm$$B &YܕHNtPTˣ$Ҕ$j2F wd5suP= ̦ KN_yd=p>FqQ^Y% G0~v(,vTО}°&rh5 ]k7wQSuy _*u8aI Dէ}צW'Z$/LDEc1rO Ab6z<Kzj@!ֆL&#G0j I?"A+?$(dگXFVĠIs(7X)ɋ#Ry.UOgw逐B|zf<|Ofٳ13ih9C3)H4]B3Rbʉg p;PulHD8&)/ ?_؏,NgkϑwXCuep Iu^J˧qM d6ͥ J̒SӀB=:i=u،-n\1_*A vTTk!1IwFWğ2uU:o?b?F:[@?ڂ&B4!T[r:ayL0  j*˂BhJ8zsȗR M)Q$\>Pv Ay3}*%Z 'y-C[n@n^e:OcooF igUJ̪{dg_jl1&/w Wr[v^Yۑr3ev ^5ɼ"L5 hQfNN䳪9aZbIʵO-p~md9U7zP'0PeW_ 2)[$D1!43!v:qJIe=m(/(>:f@HPf i2^h%EbM!;> @c'ɏr-=\6l6Ku "P%DŃ|GcwZIq (- FظÖWzZ ;iav{.yKs-z63~ m"tw3JzLr?"dou֐riGXEϚM g&[ʴQV<pzL+0b4IoǺ+W{C B+HBѨd Z3^]xmTd'NMƝ!:6M$9 n2|Z(+K[(N 0&~0dQUڎT3~ oBL@%q_!outDfYrB;RbKA (Nz|vzWl?C6Szڶ\^U,[xOQb%0"6@TD۞N=ᯙU*"o)X$ו9~^R3oA+$TWk4u/Hs'U{ϬWOJ$B ŮᆮM ev]\t Gխ K|NC\C rߠA.54EegVbv^"2$*=L`ɑ% H{иyGޠX 3nLQz%ʽ3]iCV`P'_;h/\N˓חa Np,e,<-J:/JtcFTLۆ3EO]1i1Munc$l,s/G2RZUJ@+&81J@ -/o , Hj !kFq?u"nr> Ҿ) X#8DZK? sz[Rp,5aDB-&u 9.b )F Fe+BywradȺh#;lM] bV &b/oªǪq%)nގ^5dJ(gS?) <2 õSbMTWѕGxQk{@[0[貦*2 Ǡeso鈼5)JDŽ>1ȹqjo| 0aj]++mb!7+Tr.땖~1š!1rh9yni~M#ezJ{v`L.@_KPt pU ϰ-zP̍\GhMZ|^R`e"FDŽ?r$ĂL5P' kf] E-uB"BrJRr[M+J GTP&4akyƱdXA|a:z*A 7u6_vf VF C>Q.Nq M [| X~z,` Lv"dr$EyTf/B9Ӥ-.Uoc L %F/"qQ-m2Ⱅ6jՋI+;2*^pj]>FRdFĦCS3/yqt$˧QS%EKkF̥(KqE]*|ţyPΓeGQfZj\7Q,cv P$p -0 $,s'@ `pV}SZ>P['EcqDQnP6'>Sh1+kj' 'ɘF,%m 4 ;p8tE1+|B[)#X %\$RL|^Mѩ!4Jx4 C+ )rniCk;9nu<" TDUW5Z&:'5g,84Y̲z @_))y.[{ K"UVcQax(Kp^B)F v[$]PX,"AsI^|'g,YV7U ZWdԏVH>Sq}:h867c_v+u:6+fx -- S3 -DqdFIC *ɗ1cHrB !nӸh *#*D֚ &K8eUN[@+wmT9;hzj1$X|HwҕdzkL= QG*Y!6 7&A*" f7*?e_Ұs7ִRnPP7rw2Tvòy/-mKU^1%&ܲʃDX$?j2|/ڤ=j6MgDTqE˻Debs'R2ֳ5! /e-ll?J Ӌ%fR5jLBr+Ie$L4 ig+/2M59%)*&' bbfyF5</aU)!G帰|n+#-?ŎŇRW%{^zU?Pϣ#(JJ`z'8aw_p:,?r)"qK##.hb(|RbÇY-"i^t/˻nzgكq@nӉ+LBбNR)gRqjm,XvR `Db_Oo9BsZֵn7$Q3Ria~78gR"ej_!uYIHӊČϩLjx^y' H5 mkoP+8=MkTx߭Oǘv3MtoL᝵% 4L4gVN7nȄCow>2ۨT}Z yV/*Σ)8k/GqnG)3ih4|!W'͞%Y:5-R6qG?Wg}'1{=1 -j& NUtGJ?5/{UcNҫ™283mм@߽JI'77c/ [ EZwLߚʨ=k џ.j}Y"_20G{N6_%>de#S\ՁARϵ/Yv  =#Ѓc/T3 gal#t^}WDQ _H2ݤf2h0(` &6MOکE䫋HKO$f1AP۔%vQ TyAsX Жpkg%M`z\X>Q 0VW8>OmRh*#DR_Yԩ-!En G0I+ "XwȓCLV*#%yt]jy>*_4JYOQOJmW_™-?׋j:-$⎞7'^ (X+;D채oz!W%7ܟCbR.>/hXǢMrB57#j$kh/W/鴑y:Up=)I6KG$+%.Ƃ} ~;ާRgw8c6"2P6D{Y2˙V["YWMҢh6\5e-,oMqV% _6dg<]D:p__(_"TtdI`Ԧ KK Bu&n%٫Jɕi#ɸN8&V7dF$CI֑O xGAy04Ż R\ge^AO%ȅg/u?w~uk 47ݺ583ԩ,Cܨ{DOJ᧔Sd#i@`t4%OZ%P) % cIV\Y&WwWY1}=)XA+;kaFS-RnwGܸ8N]d(PfjC:)’*I27w'"e~OwJvQb.L ?(?VxN%Vnp7T5½flK-8Ұ_~LAVaH|!@˂!Rz vͣ,\v*nS[Z=>tSG<'̠&wDQtf I4Dg%{2ͩaWo!tv`AF}T}93vUhyv3ɚ?)X0a$ϲaJ1ȒB?$"_,(cȦ|bO?յtU?;ѻjs? zvjƋeB!cؙ쥝`S'<eKoAGvWBt3M0ź;deѯKKG .ހAL2N6yɉ:© #Di=-+DesMh`+{W"\YOH_xv {|1 Jq|<h9E[NZ!$] ]HhMĸe rS]EOgo_KY ,:]Ȍ@R'_]=٭mtRTƶIw mvQ[dATed?Xo Q|Gp̉+Px=!#&~EE4NAXܡ'-\߷.g6HQ'u %ʵ(|/딲unE F(e, Bȿ{cF2"[5HTcE>RCdf鷪JB*|g(7%xSF0d d\HMe rX/>:A:mV=j͂8eɰ4 |RrMm$u5!}OYC5%'Gl!a"X޳ G  oSZ`tҦ Q+tΟ< bLĥb?p]w*\bI6L5ߎ5q1NfGLw|V3>d) <@԰N>9Sc҄Ǒ7 |ߣ a):dJ,Y=b'Ō6ڨ<ӉWޓ73/dF!`DxuuDî1JC#"C.a'MbDč!x>IJtHdd*tMBt%1r^}O\jkoD:awkzԲܷA^ׅrZ~^w5dUu_FNCo:fg$R$ F*4A£y u"^Y-{(2,JR)YV}2_ٞ[%izgf6@.W[bHIrW5]cW+UNOP}h\{;۹8iII. ΤG$ &cYdN@M|\؆Qd}gٶijY]g֡g!ndV v_vdZvq7]sܧYqE|HY &%b^ a2ܜwW&6HD. )ZE&s;]0,)R3x,L?ɈȽT,S]rUW`}Ă7K(,RE2:Б #D$@I҄)I DðUuOeY5P\1aɏ,%AC n@(!Te=)m~ȡr*YgY2>3HUK,(de'AWHr:4;\ʔȩ֚Qsݵ#ӿ}lG2Ԭ9Yz/Z ބ)G$i)7& hO{t.aI,=F:b9^rSs"9vN2T2o 9:fDjEhq oYnƝe\5A6VyF k&dhK]x;ݒEiL B`h=^X<O'iJ}vUM gP mĜ,T 1X.z4OוwKfXh*600~AZxx~R})PqΖm͌}"E?"`mf+MU4c9\U2 "Mo#3E0 IoDI5[7ΑjbZ@db[1 hSFIR\_`j[PjXKҢ2 F~$nk}*B M'𲱝dg%iU'HN`L!^PLksFCI"&|2GڶΗ*X L;:qy+{O܎BI )6Б;[]3 ͤ_y%Ȩe2.PB툔P"BY*vX+ux7ݪgu#UРÜ͙_z^0Ғ8dB߫MF31Ejg(/t .Q6VHH˦56~!c_ 8GmP+3Ajý~ & G\iaLPGXj3]5b~P( Ɓ~VRn8<$^,|H Jwӗ+$*=J u~YB=)VEIq&.).IFm;=TPTĽiJ1Da>'06VB->!4I{B]1=_O[MMv:ƦU^HT3FFL.oD1G7_tӚ6T$"WW8 Sl5D""){ߤ57Kj9)"+G.h,$0y;~5Ƞ`$E2JPk D1_ fg7竕\ QBtuE:F!qP' X=f=y-(bDQu,IA: ,!"qFHy0oUibk+޴A^ * 1 Zoիkajb=5&=HA}CqKb^!HX)eUdq>^?H=eG7l_EE|)=q]=kO :%`+M.b9&[fٻVplVBaKwƬ^ٹ=gXޥޞ '`#&b[ɜl78NA$PWw|uDYQ#hUW[ݒO="ÁJ6~B䪍%1P^&\dAQa۔̱qq:˳(dHSTIc_(QkhG9adI61T qj=QDmaBMMش$o!ٺiR&'^{sJ ِ;7SvA .nѬ4"0:,?@XZEnRIAk4'LTnƿ(USj+Kef}Դ 0';{PCrcrz{ Pgܶ$>VvNz&A#lAɒO*F'K2i#f &\Kv0\U(v(: Pp< PG"Ӷ9ԫF"nT`4: EN l|M:*g/keV#fDH64yQNTW@EDϡlYyi-y`zUֿU!s .Erk boG#S7[ &H3F_MB-@4VOJݮ) *?l +ѻ0@46u%ztдBk >671|||vB1&u򙘆e1d%IGoYU 8.Rk5v1kX(qH`p 0>2y:7mJܰ蔭ԯ|2t\G dª<6ћ&$2z Z,ZKe8Iz"L-@*Yd=z3(7bI4H"r:C%-vkE-F c Q2 !ˣTSY Œ [,}PS,/iLy-os(@e0" *Nu#y D}iBRj@&%a#3Ҍӑ"HmY׫! k7[_]Ɲ,lY8[;fZv̚EL2=$aXѥ~]*6Cō&S9袅R'~7(Lp"x(8`#I c̲$!H$;5Ʋؒ§RM&/3}"dv* ,#L̓UVU\XFy?;c"OИEΈtB7eP;@0'F㶂;*9'⋻=,"`5eܖFO^3$2h&BpRS@abAdIOxK|@m*D~ VCx'N# qI \(@a=<ŬSɜfz6'inl"92H^@&h,K$6\Dl*r &> SEazFU9[覧O}.8}oO&3s,m׃2˻#EU@"Cڒ,3hjVx'٧ $w6cN.$Np3 PmٺZKDP4"PΊ,Y I򃑈Hc'وO D.؈t> €6o*o>I=Y6zM\4%ďO){7 6-B5.r 9@FtVCl S*r4*;Ԅ2ɥj`т0wL66B.3Gbd]4%dh:8 GjTHΏ < Bɭ(on gE4r ʂa0!l,ف ą_\ h˕\ Z;~ED7׋8äMC@o8N"|4B,wWiRDMdU!TV]2bTP6d 6#\e$\_68Q#?m"oADf]##jB0iHI2"Vz)\UjzN 8NBa+dÂN0Tyʙ*]IfYm.#9{Q `%kj#Mr|F4N$5SǸod Ź_%ɮC/)6Ee+?W;W4\TvW>t7K[1I0e͍y@>=YF śD]$X$de("PLeaŵ} ?6c0\C%Q )>+q&BazJF#ٱFXtDBUG^K6:sƼTeJ՛@:"$åBJxqs̟w$v&i Zf>.4)_ӴJKX6c/.WIKRO@M1PvLW!>MG %Wz쥆uw1)BE<*&rtpPi,z_b^V˭@Gd1LDxģ{tH;X]z^^adTO0L㾄fLa"\i#4'SɋБ JaɃAU6Qc3^uAs¥Uh&D]$s/qFŨ,ى-[ ȯ,<6+k_y{RY! I4Vک;X q,B#~F2B c_jOִ_ZWhZD+׻ӥ|op(R.V#"D_vX^Z߰G,qG8S #C.F)K*[O/m? .T,qbE=~XLDRtbOOS"WWX-F)Ć/v&@ܜ5\,%rA}&"ӿS;Bb]Ъ{2hD&3g3DY| (gZp)cWD,Q&+w 1nҘӵA0WƘmWIfuԈznwd&Z%͞-qB*ٵ!|G.j␜ѮtͥNqҰMpE{&_R6♫Ȫ%Gozz- łte,ǽiΏ I\? }hG?%QoɉE.0EQ!^{N$P%"\娥0j+P.,JVM~&T JK B6{NQ"Wl 3O22PF^Sn+~RHR>ßuO m&”{Ƈ(P9oq\rjy9m,siΚs>Y-DɈȾP_T~(@0'%T<9DQ!DK|ș7 vXCQxŎIO$D8jR#unW$p^G6MW;h>,@&fw8Xv,*oSa4M/b\*nC}y)R1?Gpd=1q+ӡX) I!2D21"RŬDBHg+ A]ʡ|go*̅'> mIlCB>&TTW\ʫóK$a":}L 0h"( DALj{̣(\cB@6(hPP^@qeߦT鯿5LIXXQPz,~$6]EDX:$gGU|jLL0E @4"9- I*1#ɘ҆-bL9K*9qM#"\ T3ݨ}{o/(=1PzpKCO8J\4^X`SyL8ӠRWrQ<P.D szcRg=,`Rp]dwA4C.5)ԞLjO6Y!*͝ IUS۸,jMH,*rL[e|X_RԂHIG":r -)^?<_dc5_*9Xa*5FJv5?3Z|1MyBO5AIZ/MiyMc lQWzEdʒǬI䶐ݓ5n[xg&oY#PdgB*h?R P8#ze/YfE2&"0VYhD2fW94?cheU ;"-J͙0f؄P[3oqp\%Ȑ!(~DPޤ#C^.oBڟ: @e3ml߷Gw@nyBev*qPNRY<ǸY`t$# LUJ iV$\CW0hJE }X5(FcOb H9]c4gQq"*T|ƻZnVzK}r4d4:jc;w}.(pT.ͲU ]F2 <|I"h=h%R+:Ja[7d'HcmQ,AHa moT-rT|W٣\@Q0#]S8% df4vElzz=}V?h̶k|+4${jnIlB‘jcz1cwBS"AN!eQgN+6OM/pA3;zЌZoj޿%*`FFGeTY`F#@Аdba @&L(d v@X|h ,GOd # vI-NGS#K2H2x{_\SWweF֣}^عPOXöF;`4E څ۞q >Y s3k qrZ7R*:N4hU"Sj[_<0Cç.Үˇw0 ƂM+T&{ญ[Ӛ-AVn";(ۙn\ АE?G .^*)FI/>ri-)J(…J'b%?\V)4ٖ1[uɐ:BY5*X.yY|$ة4EqA1ਸtؠD.p$ѐRwyJd`τ U_J%*!Z23$#.j\CLSem'FKC 1/w45g@){^bodO/޷)PM)(H ´Q3JjTuJ)e[245tlD"^#4 T 7_!%PD$ITp9Sjgk5xo6wQ_SG!]tc3xt]JL wd@yPw9!}% (nR`_ zns± a !/#j2_eo?Z-XĴv5xR4(w;`FREBi Z-H%$WX6&Ж%[*Aj.̒JqI,ϜZNUN3Y ) $`K2DurKy\ZH?Q'bJ I\Z@J % P\TIlGa@Ub!^qc4-$ZcN\^,}7,tsQQ"0†x><0!h]J#U#( XHZ/CG+>$D,HW yC_P JoHKGI<(V}ɗ}31OВ bt#/YiBGr;M=7k(Ժ}-|ÐWV> dǿ}:XqFT!6)if!$МzKDzӋ8<tUU@UځQ@A1ɱ[G$k($/JJ':\^ ADm-s+U~7hL!ՈND Rb@QHv= ?LS?aivAnn2b nZv2Аr1^ZDYN s&7lQt+_u#}}J P8M:8UrB :&tBL)DLЖ{&5Zʗ'-k4sh5?QH,)u |4Yz%SeR@u~):ZSq1oq,reíoA vcƫmlL"1"+5avM´\͟E7r@j{d2y0 n.u]}Ikų'g;d&΀-܋((F#_TXR8_x'2'5FkіГk{U̲tcȇҐ˕DT&D;2#p Dv+0'WZ 0D/Gy2m v5&X^Ă,Y]M^'~n6.iJ̐(RsRڎ\u2IʷB@JQ'E\qJcEV#=^)(b,9DK]' l+Xj% pdlX^C. 8adk|!|&mQD=QExsEuiݡ&0tty@V:B]spG߻.Th?Ci Oqx@_2Jgn8붰4G OP 61 =lfIy aRp $8M̩dP N'ljV(s  c"K2jq7iF"Zg!D1Xܹ7 =Yci}xki 2Mr'Pg]T['Hf1%vk+HqTH<CV'&W;&t1o L[ ,*Kv:HK12KIJUgpN}7̒cvkۄ`" dI>)ɬ.WB^W E6>ӚĮAlE-H E$( .+z'l$`~џ^G(qz$Dȡf7ɗ, a,* ((}.3vwvh ^^c448>d:y=v4͈04.fޚսII9a_ HT jcJ*Crf&U)*di#S{i HldCPC+^T r/ DFsE*pڸɕl*Fdz?Eņ )T"P8S/ Y\Ik-,RB*c.#e1J g dd/>ev܌D }ba掆MiQtm(:ak4#jnDe&bs|"0 $+g5XF&[7#|Dm_)޸$ >x4%?R 6LZZ`$&A+}bBwKجTH%ftCF$^v*?&>ɎiQHRU#0&ih6ڭh\ȮZ<DPHׁ5C K|pYpe,"TscT$Vb>qD;d6ڳ7,'[L:Jc&X[^FF"4^-I /-ވ pȠ@T5b1A0-~IgMPe 'HmR&AQY5Q2eEłr~Aaat¡"KStn]!R 1׀u]GR΁q)O(~ hpBt?w2jňXDΘ S̅4AC i5WAr Ť&NT+j$̄2UyYoկFX 6x)RHI&: &#;`1I YQ\# M&vuU8s#'%vc~BZK7lT h)_"1<+#?b=J6;Mk59pD3:c~E 9k<#6H7kjr`-H3i'HxZYB;bU_EsJ\XmY$nВ*ig.#jEJu(Hn ʴ*tI.3IdU UTN̎}*АiK8w"휄=ꡛ}ËU}v7۫8ҵӡE P1TP[gi~UY.R*Xթ)&,"'ɺ:l(QVJ%93j~"%q=`n]i /EyseU &X?3 A"Y~,gƧn ϕT![#7ԊRB"M@qx@c$ebc+ EtL5+ ,rL `9;m{&Դ󐢻lx% Y*LL:@Q$v&nf*ȍ |lT$MM(ŒyEL;l&͚1=Ugs$4XH 0'ljcNR[H윦/+΋nq9PhW ]nPRUh#һP^;(Ks44>Pyd_/e^-SPkbzv>fBpO)ì!}DO"/(%~#\!-=Gf^e>%}91PXt!K0|KF hD'е J8<_'զ%*ʼnHI֤0X# ]վR~Lv j-y,(BĊj]:N@lJQ[D!ԇʥ%fyW0J%}X zI KI["@tRܤ1LגF/x[jl5dJ>u"JB2<uXj/K0ɈȿP -+UvO(%OrGy @1>/ S6 b*"\?w%&m&h?:~*MZS&F,=Bk\:BvXv_GvηHVN5߯>o [[0R! f/MogV?̓Icg,V)!#ܓ(_Fd\a$k[i,,c᪬mP͕lc} = v!6堚' f;he!Pbx'g kei["B7[dߺ;l ģjp3o2\()b,RO-han0Z  %F hf+%`>"~9w)zcm' v!$B7>q&1W2%ȐܥPF)3sS/Vw/Ȕ|J%($0B J<&Ee ?ɹY \iOwy"6g<%|QBT"*/V0O7Bw<$]m}Wf4X~Ye{/Y ` aCy+tS3OȔ"L!TWu:\tRO %H%r܎T0tecYgR*yԇaZOYIƾf^0|"!$~ Po Q|洧4Lm,1*l Y3?(J/'.8eq)]Aav9! x掇atFNܲ4Y3,[\u:>6Y,Nl<4W k+ o/*5A6i8(ti,Ezڍ_VB ܬٷfo%΁,HOƔ3)Lx+~6B0G5dJfb5H$ME*?o~,ҩ48t҅ǖ/Ė,Qte_*W>v\7sQ*hr3fۢ{GG+y(R*<3iBYS؞!,@Kw&q%8c!>$_&Z i^'-)CKKWTaCd=„"n+>|Bl1_%FRgհ񝯐^ 5.~~93ېb06s:Y3xW_tMldbN_LJ4zZûEz fF[ _I&N"%qs>[yJ AHǧF8Fnk͖"E .DpmOAmZs6ɂZv-D pńu!Z|4>!~Q6,c_ JUpN(ѷz 0M@{(WDe2\#Eh["X\L7ļb,f9-GAhT̎TCHB!TB'L 0zOH0~$DQ Z/Gcg#cwMhp;O:D-(ih3/$ж+1 ¿zi5CLoΧQywc`DvsB.f{o-S؞<r0i{f { ԖEV6HuI~%|)FY(~ /!RW}_:sB~kZ{#TI2}$Wsh%w厱F"]4:ȁ{<]oòms'@fd1 R<5(J3NPHDp tjȿ ]V45)Kh΅ I,KAѽ2OHmRz_QȀ7x߄QHOҬGYT$BIU1fM Y,1GmH'FMDͷMvZފIk@t@ti!8کo3f{SE(8 hc&- K;2b>ĕۻj}"hywtc%2qf2ĩ}$+G2Ra,Jk&JԳ+y"^)>Ӊ9`+]jPB|2i3~g3ߎxV%l2ANRs{s$? +g?$Jj8}G)~Aa*O/ F16K2Ip'!\oT5]"%Ś@;Ig>1@_e9[r}&u9.2DA"D}ZģJHBk43-:KWYd>u/v,/1?70ysY,]G6OB MNV@/ÃL{zhmGQbe;fF)i.D/EjNisȩ-W3TVfP9X $ 3Ҵ vtEY8ǰ`r^"tI-_)&Bh2ao9 `{&8"3_A.ٜ#К6j~푤~TI-tAuQj-fʕ"K_#ƹWKMף}jXJ+9hc[d[m2mT>Zg^G FEsIFLu|>Bm^l1k1 o?9.R_eJwL`> MNuz4PsGmg;CS ҈@%~aY8gPU.=t{# F19ԨL.:zPє] }c+ģфU<:RŇ. }y/<1b"h\QG>#%c敵 Nb$JTNIs%D/Hzg}鵹*4T⫚|I@, g!p)j P vM<@kX֫qJXu)NHˀ(gO1*64$*{=fJi>*&P"󬼮%R²1'ܗ}UD7H AAsE[v}Q,q*+FNHgy~ cҢ|˶4s:+g,$~e -_)J`RzY-@Fql6Ѷi!YPU@oq*¿IxkSZy2$ܲNGgp`!w؅guE')F3dWا.w&U8lCjLnhW2B#)t 0Z$w bkf"YyJ4zNH?BݘmImNh qL1b?=B!n-q~}eI M2"@zm \R{cTRSiґ]/u+- 0"''%Ԏck4t?+C᥾O鬄kWqU9t""ߜ9 ˂hF:O.}hsqsuYITa< NX>Un9'Yr)NǞ_;*Oa3-}f!*e!`%=oKNW"P<JzYID2J!tiGCrkh2")"~gf@e;RN=%'9B#N[< @(ZAO-\HID0ؿSOU #s[lHE./GzD?B! 3{5T0,!e+ Xm2o'*K)PIxfX Y2Q6^$/ebs-BQ@L3~GC:@ "xD: "ĎG6xsѫAԡղj{2ãLl#d*m[wU b"l`$lu>YKTT- 79Rg{ tE̴> e-m]]$1/Jr ADge .BYLl$ H)# D*e-< ( 3[f˜NE:¶hgY2 ) +Jg3X<I^,3:mpbeA$'FATmr@DqN4+Zไg!3eLHV[O,=g8Tc፪jja"%E3! rMɴ/Q6v1PN(.wZEzިN~ S"Q,B>.i!%IrR+.U]DK ޻+CL-% g@2M c~hz%0Iՠ'@C[0+_&05c:B؈MC=CL.1"o)wHR}&vS("4fHFX=i S}qQ)H{n6~l :(VhNEVvL$(FElܱTOqc1 i5 M5m""6(!p%.\Ń9G?h" CQ: wm"Ke;IhX;/PGZ[Q^Lb-)ep7c{RHCpo~5,B)nߥ!чb کH/;IU|ba>jWP1/ H胓su~ Xt͌E #ܾ q[ GqP¨JRppW31}'f2(tXcf{EuYz?^)(]XGضڗ}J"a>,EFrRPAbXW=]zBZkIX#]h-jlHɺ"bitK5ӽCT iM}.,K"A. eA!J NDIӆ:J VE0@ /[-R8N;UR{G( ; %Whؗ ^O&-i&*L}U:{;FcTc+:ln~| _6[XRceZJw$-OGKoi e6n儌Ny mtĥBr謹g: I}埤H]KGE`™f"R<݇S^FdaR;p\\".lG&۬GBte4Yǣ!yY/ƃ{$*"&izRuv!*ϚB$8yHSS ,֋3@Mg?SsH)n[7n#uA )![C?|S'2*1rÈ{I T՗ڍ=cmd2LBDUwiZ0TqYmC\<t"9j xEPd#IN tW|O7i`͝G(K9Spǒ\!I*үt.3)24E}$H*E 7a(҈s׷ۛUɏ0"xa"" T#}4%"W-p+=f' F(v7q[Y $teJ+  TO6UpRHm@X*r w.+JYػQ"MʩùCT<2#5ȳA0+DCMKqQ\DH2,>VmO[,F"۰'1K@P@mS :` p5hEƯ˸BY\b _! *0Ge=lMFX HKCz PSn%G2D"*n\Tv"ܯ`Yezkd79"8;^d%hBBss&Tд6ĔOR8N"%7>S E4rl!"r71SAINRLW'Yf[M]?ؓ@Av~mU)-j}7̌_1Ͽ|`_J>\n4s-3E;֟RiKw 9D {VbϦX)t@ɨɀsP8+Yn  0:7K}GaAܗGYo(U>|>$+| IQY6#Tӻ࿆mj"a.I&S E+5F0x}uy 9>g& FQD'`&-j 4LЄD. j3',О$pY(B21mE8e8ys2S%R`F`_͖Z.gWFrls-OOfkٵ2Moo&9\6&/Qs=ܰW)fхV 5b;TKU<2os MU-y邹| `,L¨@92_:ᬾU2&RRY΢ꝦB(d#|,]&*)[;8 CxĂz %v#s 40W,?äPUũyWW9-e# F^1U$ΑTQ?v%MiVUvdf.'UF@74B̠t^4)5 Ў3#HKFӆ*ZȮhNePFBfuu7~dV^NlD|)ִNɍOMX楽*9Gaj"'ACR~D^F\ޚ+|˸Gw_7!+ g:3uB|юcaQzRAӤ2OUS> I^"z_Ly[e51tȃavQȌ)< + Ņ}\ }޲֍#hyȤIMu52* ?TL=GUb4HՄ)z,'CtlJynMPҸ{3f~3Տ4딑.sjM&ΖXMt*>RiI/>$b$YEgMT$hZ9]F%hBنa6VrG7@݈Έ]jڢHBw_3*5dR$zLؽE7\VzD٧b#k?ae-7CKjodW欧0U)x)q> h|-lٝjW|JDV{̩)*#y;7l--oՑ(-jp͂n%hjUZ29Y,,GG`ٚ"=d3JE;f(pRTœAS3O*ԠvRdlpDW/xP{ݸˎ6[4/!,~ѣ%_'-_ MP\qƊ- &$v(N&.:D0r-vاt X Gي"Rp?%LJB vx x#O]k=dR]K ߋ!GN{؉D˯b!.D El0TQ@zB͑S ZɆE"3+?:зH2ᑂ2#C_"E}RS̥0ݳ>˫&"ćWQ@uae MMxY&5eIWTN)\DbEnDvD R4-8օ[MZ+@r\ז&OC,XGNH#猫#7 (Է'A@*(X)!/l/>h}.cL-D] ʫ_OfN1a5϶'IC;"D;WYq3%zD8vM0phLd(ckXq (ELpLܨE kn!Ț?wHȓnw-u|p2&g%z_9*G'2Y6Ү_jR9VvI8עnˑY1VAY:2]aI p7.-msgi&dg!܁ԠO}2)@ %2 Kr-j(N Db_ ;ȗPڸ@Rr9w O'[f)"Uc,o!jBȉIJD9$SREW͔XK1Xm^C7KJVјĠL DTi봡jE Y(&H!˰'UN'$JT!d", ,,k0nX;%7+S@熙ʓ y1 Uec Y`B&GCS?QQeFn2nPo%7;(*UvVuF /` R [T,Իz3Z4Y 5>Q4wohDdbMC n(n(DFfҺ{6SԏU,zFdv"^1[4/*Z夛Z,.AqEȊcS:R5okq;@vtt9^UR2?|j_V1|q eɨZEC`(FN$ר>2`+ f4Wnde#i!/N|ͤ*R`WP%䒬|h&W8Napr:BwS2IF   J 68D2EAO_  iJGP@ |(b@0Ԑ`r}-TO$RA6Pޕ ӕK {u[ B}iT͉b!(HЍS\no.&HՂPm"RqT=(oWmRK-wf[mII):ch xTƳ*JpI:a9D(+HҢVG{%/=3v@DX/ ydW(I#xv[5V%pMwӲ18myfRwԼ~:yX_\l+Dz͢'ȋ) |2!?wQ+8KjU59+ IkxbEbAFτ%pȦΓKFS|etR/;tV(_(eӋ`A*$0.va$mym"%A.Q/2+(-7\VlLz%Av ЍZݥ9gtcj\ofz~NOÍ cB"-KHUEj bA[8JȬVUMREH᏶-TkҵH2$5+jM_2ZH #$e (cLHД|'ZȨ@D` )l<0d̹>XTB.S0lǁU9Ȁ`}usl\zRwLњ6{#Vq8]t%ZȆu5I:J ,uŗ"mGx̚ \ZG-+wvq9l.մ#tSfs"<ꂵ>7R5-,~j-I|+DCwcӪޤ]9ՔEJP;' U_C2-F0J[ d.Am0a년‘EoBj/nX)j\;tBO#@py5j4/LZ@Te\QD'§AP34';ڍq?H(3IaщayEO.މ"ΗQDN-K~ܖ5 L Gn-,7jXa-CNgGjk^ޢjFNSe懽Zdf?uNlCwVg<5,Y&XXhAZ*[x!(֛U#ͥ,wN0AR1(fΝH]V=($\P1 $PM̙Lg*3;flH̖&Bb2N7^ W y˰ [Ц-b^G6Y'yAdcu?OFε')K7 =_}WK­q+<һLw&ƥ;FqGSZ?ƔoW(3o\]J[j/c zHcq-yL&2vQ[R&*ctJK2^xqwY/dZo$oVYԏ2M!`WE(IHb8z UOC!J%,PAIĵ&;8*t"F1% H%d׈'r߳1_ғ njcct‰X0bA׃)5}mI&=s1[kd X/Pͽerғ"")X2OzO5_wWPYˌD\,'U\###mBgliwrn17s=$ģuk$>7HxXcOYb®Ҕ/!myz_'LtGC :ԓ, "hɘQQRO+. `q$N7Ӑ) .XcE1!8 mkԸ _HT)Ln26k5F&~&rgRh,c<)>+agu tGU[-Hv)mӇmbE&?yͥT\̥gJ=7kB׶3-To2wW|^;,Ϯ;9*)={:mS %ZYbr$6֔(wV4b ~}QM5렬`JA &] ,g*-K5,`'ĺ'%pa<.[z)j0 _0C,H}#R=tx Bp]np?TBBSB\'M܂"eyέHiE3!(\Gt(Omk A]yqFB4r\=6̔f~#m~-2ˉhĴ_>~Ƴ;2;GBR!|9*rTMe9Tv$VCa3Fi`fT q2.\;1+2R٪Y{)&Ӹg\*6_s[$Gzo'[`)hTsaD"# \mĉ\ ?_*p!B,Kƭ(10`Oȸ>>OcB̞W #OEǝ:3>.)+Oru~I=KٲoG %ГKxlJ-ZȢy7e9&KkWͿۦ3R&RLda8(J9/wՅ)E+ "C:LE m}vIcYF TsǠ $_y [ea4QÚ =t-ܙv;-{|Eg0@ܢG χɂ(Eu6 'Rst7}cyMY>+1Xv?O&XeG|8eá т! 46wܥ{y3^<_DA)O޶ F3j;64z|2z݅f4I_}6,T|gizHؕ)Y9B\Y $e;^ 4*>b٫D{k-ٹ3AfLyV*_-S[+ yXմH͎ϚҔE 8n8'Zew/%¶MW?Lb<ȔD`G`m9u@RwYEfyFJdޡ\rKQݥ>d4o§,nzNY nޤAB!ЭV|u;lA@$USݟ0[ߎ=n +dX<(nEƓ T:^ID ?P B*8eͩs s㻸=M*#iT2hªޒ~R2I_QDFA -C|w1TMܓB\F=ުZ}xI1XSQAUF^qP~3ᐃ^]no-ԪC#3(8vXMCN$ڌ{tWu(s< B9SK>,^;Jݬ CrXHy Tr [{:-t~ep%;Ҟou4lQj], 'izvE]_Ve\!I.L4% 5<'yH+)Fъrb^03rbQS*EBHs*t9}+&6m3bG:0*/l"Qxks|7XhW}Od` Jr%Rq S;0*!B$LOviϱ)Mbe,!BҢ |y'C$CX@.ʐ$p4M0. bBϠ #ViQw @3bdSu?laCv]1I&N\9UzSȽɦ8r{RB+?PR\M*SV!-UȆq*)6-i+ieio,$M3V]u1e-Sew _q.OXɰF& dA (t6Ƞ!:LiA9hlqtV(զKF]ݵ?2(xq7:b|}a)@qy$ŕSz q)4!ER8M.k2pF&qD6\h%7YQOK7$I,>Q֔:ĐJ2a&\f.oBvp0\ b@i=4RV*ĤNJHt!XEfWnA 1D"`^X4W8q]7H[pAz'Clcl$4ba^A`"*.PֻצV;$dHu ~SNRUz?/O8n4_=oj(HIɱ4jqsԗD MYR6, J΃&A~YbO:pU\TMT)2J,V{?@M pEp CD5 H%jlh́J;4(q7F0D|c|dCWp6PIF3i5J#vU_7iUx7 ,>Kha2P"C.z$,ʚAWPi43qnP}Q :K XYH[%4lu+MD[åWʆ`sAITX x3r%X k17ɋ.bb"YFY!kZg9D,@\)s6,O$ ;/ 0"|;zCtjY/56qe-v7Qn+&!k1@Kĵ١%| pU$PQ QdiV 4 𹂆JH53-z]۾ɶݲ:f*é+<}66uB'D`|U򞲉"m!483C' un "ɇיqF^dY؉84\Z8 p l^[߽LM8Z~GqS殓3R@ @_<0J Zɤd@М/ PYj*53eN/W0fb/:S5KZ†ڢeC= ?__Oi@nP բ^Q+_g{r+̎{!Iol*e >ȔB\ wYS&(l$vԝMjE`X+vw.1̩E)B*>D)kD=a(|(ORLtm,I'@-y6>Ae0Djf ڄ@4O)Fa׸ܦZ`(& /Ap"=9XE sZ GVUltbcZJ.0hUT#R* h128;UگkKW-8 䛝mk^H_*àuTתyQ)c-veY!ڥ ($sV%YGI<~n^&MhAr+VSٱJhvW&I7GcCr|_3eS#ĻWe62Gj];uz #0HDU!\#2/#'myRRhD[#B7u۲DhmFJ(`RDy?#18/X4`T*y5sɐ Eh Tx؉=Ms.X@vB0P a. 0X݅! R6_|IgGO^Fk$rЪgʌ](Q'ʿ)HvY#HvPڸiɻC_x؟קp|5*cc.BnRcU$ {ܜ ŢbS/&j5M!+y3t#Rk =$"jP N1YWۺ}$v}a7#4Z@ELč:r@tb:M4.rt..E0o'$Qӗ0,\ AuL*V 3 0A5C @fb0#HIF!!rt2Q-8udHueyՈcX_439ɛQ1 %l<. :ߪ <Pfp-po~i9闢< ƩM"U;k`AEX8:.[6_H@"A*jTW% Xʖ]оDLT_p*z*͹1dgZDOȳ2N8!mnJYbBd*Eg1@ŒK: Z%uՒ,B|6KM>`M=0ȷGČ8g`-ڄ^Ls$ȃmz-5gOp#+j\\ 1MVR'nK^ *}o2i?fg*0=f>f@ջU7%Ȥqu%yOtQ9 b/=!qI9DtNUE0I/[oX凳ˡnR1A<7WGݠ_۴Q#1ȔNJ~-CRpϥ焪EK̈B봦uj7Ek/La*`ԑ«ILЙusQw%6ʓ&؊2eAOG|Ch2nްB)jD^ӏ ^&;pȋQ%){AFBS45mY2:4m#[\`a3kJW6]g=E$j0B˳ Vʼ]&AE/.)g4[7 _Jt!jK}Yu\;)/[\Z~`@z R/a>\o63"]MZ R.rj,w70el6osŭ=z24QM~ZcWg6ޖ1rOejhލY$NvƃSG5d]Ը^^g/ĮF;ULЪ^:[(W3ƄկoOu\|1z^Y5.F_t1gxĈKD0弝ɵ ˯~HkKByoQV x̊43woVs%_+LY }T,~oQ[̔BU&W!H`H|7*g,!$7Qc%Njd)b ) O*Dr!"B.jSk֋ V"'I) mBU<U3h0a4QPS2XnaḠ*ޱNo岂~z\є#`ӊ6 ~ /vvXy^-O[KtGd= _D!7ٲYFrTEy!3r}-K"$.dQ}9N1L!Sr:7Ԅ&~'>(.3mX5g& his >LWBW&*#-hЊړKb=֍qOą6C|r TOAAg0nЄ*Rl𨢨.2^ OsAjUX"P~(`fĺ}L^Ģz:¢WE$@Op Q)< H3ƄbβX(2?2YMcWpVA@m&O]^!5 g2h{RԒGܑر?mmrEP!E&2#9ՅS[:EK?X߇%Sc8o^".&u'j>" n 4#+,% e7ֈLؗZ"ύT*Z8WDHQLg|5)ā5+>ˈ ("@ qĈi("%Iq"7`vţHظ$"Ԏ+`XXtF} QёvP"@2PqQ5p]0ɨɂ}PEg*NJE =%3EL#)&Qm 8S8yVMN,Nכ\bʼnO'I'gOn\U;Dhn$Bt0r2[a9 t@Kc>$ke ct`b ЬJ(PB: .^3(8@&fEPX89v?X(i6HD1eYPSG4.@ *94!B,r{sR8$TT\49{^^[{ X3۞vq9MQ#Wm$~ _]vR8J1f-X%s[Q* IT%N$p7['PN:ž0"n%W<b֯6͗e%A =rapś;QL$.՚AbT %Ł:B,-]UA0 pC+7fU)m,I/BcOy2=*op'5?#?S)-l 0Z|eh+ރ[QS0b!ajz8[I SIU[S +ZV2fg.샽ElS#3t$(')QÍ)(/RPb&[H,k_^'&֍hÉ 䐻p~s㽣pȫ/Y2 &u6{fs4t7(0J)=Z4 eəG0ΉT TX<@S W7^ŋL414 '$a25CIcQGNUjXꏴDƐh]tEǥ;&T!\2IgKB% zV,m=TԒ]c]V&Oz}#QR D^ΗٶAR$D4wH tf;':Hh<\Iv>U详/b MM+DзӵM @.p<}c*70[SūT!chy01)'ب0r( XNr.[f .sP76pO:=r/밞T+Ԁ$MdJF#J%ha4$RܹFzФEVC ۩W/L7Da mdП*d?+p-96m]_E7[^ i.l0? X虍hV}9ƈuM9eV zS zfKw->yKKlL c?cC1U+{.0"tՈ&uy1V)S+)fwX f+ȡdGn&m~iVI~-[(1cP)(9\r9z:䰲r4I# vc˲QPP+aZbV4!vzx"E ܲ³$,fT]o]O~}VAqUYi|c6iJVߒ3dݙ: 2LկrR (52YF|@~C JHU8s&n 8P{&x$gg轄AKV!`񵆊d! @:TE&X AZlDL J4cP%P)ϔRfi+.f2{270>V.w]\b/mVI&E\+eq.ŐކnQbs%0)J9l(o >uNJpl*xMu 0 DubmȻgG 煉mC%n?ڕڹl  i:b.1 i(r#!PAð\tH"X̄fd7X*d *`xvՎxU:q͋q3Y>\Aab.ASm BBdz$MוC[=>*|U2aZ^u2)Y1E/"t;UeVẓ0t{k>.t ʼnxHDS%κeXdvuAbq7IYŵ<́.#j^0J-!308aIBe7 Ԙ[- M%܁h9 8jʌd*% Iؾ$JC%$Emt_pԡQ9 ,": O0> 7R7\OX`H@Pf^ï(H, P9 2!;nx$q/8Bb+I$9"YM|3tZ$ECYgyXat19iwB9۩Y3m~ %鯏,>wFm긙Q袭 ':*XiSze6:\O*-#_9 0HjfbVƥ?YZi;;dCфN*Ck4rxȳI,Ei~ b2`T{.*v]d˵2]J3δ3 q+eo*Hwo׏M<ݷD|hĶbKŒCpKmb(A2ZvrbwWE3KdGu,|Z g-X]6@% u͸Eb$N+.DҖ&$_x@,QkaO{_JI#2ƍV D+`Nax*$\J \5B,5^oʖ"Fs9m!@yW8ae! %Mml(Ŭq5N8#I,D;A;͗HM"$꺆 W'8E_C=@oJA~e"* |Nʑn"c(~^J4aTTYlH4ٿi `HZy@Fo/024uIZpB7Q]eTΏ*=(V-z(߾g^ ;KZ70A;61'J3?,/ !ufFFT͔G7_QO@GP+CD>,f7ɢSI!G}Ա%zHIi#f*Zl2h́/ S&Ie&4Q!q/-á Q4 NPj#q0Bg.  ᭡3>˜"#gS &D8aQRWyDF*"+ e.QݏHM0p^hz4WI2A_$EP L:= >G E}Z6 d,H[;5ulAְu+N 5MIbd4~k 'Q!(}Z Th&Iqb ڿ?m}WE o ŢLXi'pʤH9@LT",lj=#(L,Ga:.Jl)i9I8pg /5nFuD]p9r댱Bw7R!zތ?F Rfq ӛ(LKF>0&(jO?DҭQ o`| p8IKmP`J4 Z,*,-BM2 P~0Ę,tgDP_{f7  1ۆ  2kqH!PM/#j!=ݰTbT%O~BCB.I͏|*mǥkdQybYL4(RlUDj2![B^V5|_j;ܶH'"xWxuHx(έ%}b+}0(~zٛhY+41ϳS2jZC"S_kL/ڴLWDzez RUgX^05͑ڑY꺵]E2ٶ sb\?!&=i~º!tw lqo]:k]פ &Z11F!UQ8jJ2YxIݾ*2ĉB*!0U4u%3prC8Aj|)SD܆ԍ2..xuأE7nڵGOzJQ m")y'sZav@ut>WX HJ㾸_M*]yJɕ {B]4,~ԙA:xlatXe;DswZyK!O 3ݙ1^rK+4K=VT׿Y]V'|U5aKܙ۟d&p\i)U_%r mf!I1J )bDL," ک #Cp%4B"B[- AғNF6q쫭Af$,0J]c0BY5Zj 2}PGLx}̑hU;Hmj/Yio@2 *Pv jYm>t(%EЅRjv_[H^Φt̼XvR{j’Dl0kL"Q"&thВmW&'5@I 8Dfc5@}QTD$J0Z XŐ'v6iYG~[(Vâ3.^*ȶKpQ(TJo6zΦI ^WȅD L#įrvrZ{ۂ*2H?D>NW&a*8lwƧ}tzmUuNܙЃJJÃ5jNi"F$H {ԂxABS5 |0Wkvؿ80qFTa~#IQ4rʢd5!ljg);ǖL|nhpČVdqۺX,u:!!:_D,P[tOY峄[zk2o1"CI5SdrvÊ}y+ jWkǘi%2,5*;TGyuK/aR9&Y'!.S4r_u*+- 11La}1*1EHQn,ݲz]5ȑtstV>t$,qe:R:(ȉIiXiXEM !Bbk>Nz~A'ELPjk|E!;O  E'#h%5+!.w^"e*II/&!>:tWFn|:F4\ĜN#^H{Oެaw-RN\՝LSG=B%8 6(㏨ $9U6M{L_ap\r]=^;缗#)X V{V)/vҫ\[S\i:#MZ~Ϟb\3 UCfdp*SB糝+a58%A>썞{ \[%@08,P; PȞ;899H׽7n|P;xa«JrKF="$KHTj:Vۨnk;mջkdc'q"̐jXK m=I=S۔ޔ556?(#$j]RU{gz-(f>0F xZݴ[* _û Κtp:1('{G|9$<[d5]=giY?m>,R$5¯sMtU(q_$! PkŞ"6 eF_*͡) rwbtV K| O#_Nk- ce#> h)78UhtxV/3BL4M{e7:,_,1 &mäTuƔ;6w [uG*$W \e+6g,DcK,F x Dks\T2QU}!X!O=ش Z[) ݄nR;}Q)Q *ҍcy+-?m3I^Xˏ`4u*,ne[ojiZ0Ei"^ /q1nWOͪ7cs$ p0dFa]F : FD`B" P !TH F R!YyyBm{tO\c>C 1Kd}k=9s Y#ۚ4T-ZVOUl|'*Hx스0EgQgMf4mbpjȪMGasf((C9\ g`z?cVa  `L,Z,-;udP!922dݰ b'3 PRRw3$WRŊe;WnluA ,AKY`&xk`^9J6!9SGSR ut~ k#:h'eQKDTcRZ0I4rcIxEr y{) cZ-cqskoTԙMW֢׎%ط~_n'B>MSURr(ܼWʢWBZIMywCRj?N-t:ٷ.9u%93ɈɄ,T\T?,񴘭H&6 @Fu|ӕ>Zfq^γǫ{~ku?U=3Mz( ?T>oO.jB^³J³kFvĸ-~񾯙 }wsajH+Rmbcl/yEԴ]%FP]Lԕ=Y[ Oה#EPZT?kNޮozէ+*n+*Զ-[r* \k£2>>~wqT,#ͣI5JVV%I]fF[EzI$MA8QD0HD[Ź\V,J$]ypj&gpGIv)xG8F Z(EJ Q'Hbl@ a#!p&UjSɆbfkFYfeўU%iNdAKĹMy@1`VEQfVP^@T$Z@䙊RlI@wf|`%Ky@94C+B'h&J,0b$AD/b%eB$!6B$itTp۝C7GQ.$_|5F{Qm qC2!Q#̊  *l&GG'@Q "qXhZ]x[UgAzD5BF)O6g@ HA1SW5cdS UmK[Ԇe 3dD떶 ez0L:IM,Tj^E-$@`@ z >ah݄%0;ǁ- @"O8* 4 HJxGgNw a[adD*^Uث &N ~J42֧e~7Q>?l ePJD?3qq6v\x&=ĉuRd}M;5A4U/;U⤣2~IqT$0ҷ Kw*fK^UgEb%+uAC7Duxo> $OڙVn̸oFm؍P`K֢hbʈjm~cb&ǘFІ[R@A>Z7e232T]h#,vnbMi B!=ʟʙ"(kP3%< ('+V:D\SNH gh4Hы#!@)׎bz$>,D%c _eʝ,-UViׯwϋchX}LjM8 Tm6w"[GA1L$rOMY|x+t1G b:zRO.u+ 5iZxR1;*kk5 E9/eXo%$Ԉ SY G2p>+lQMAO>DQDSQT[?\2*f/PM*\J1iXzLl zq̬9R(gk#u&TD'*4Ubr O$Fp-(fL< -ؾH{85"l3DZRLr-Sns4;n볨>ߜYY.&ݼei$i ,mX;{ y'MV|r z3n DVRgsi(Glە$lRszkh &IV0|wSq "A_@mp[ wA'[&4bHǝ9"gc3M=[Y%!"YM>i"pkJpon/LI9 J_+ʴ2S^:0yjc'+n!joa_* B.< ]CY}7K@@m()Fe 9o/3]ƂH*f^@9ol_nT6yiDJ %tmƅH6I 5)&47S0xIrDIPSMZ IOsR@z Z$ `Xm %Sy0r7t~\8qJA9K!rHZ mI|N̍5͈PVLvk#BC^h[T^!t,,]̂ɥ4\EcBQ".T&Yc>҆g@/π{~؀Q6dwe)D5yxFq\2tW+@ӝ & ؽUb<+liI)ܺA,lҿ hn2A> 斬M23\^07d["qmʯ, RPfxJR)r‚{de)7};` ya*Y,q HYS17sj_wy9ONc$ ZK.QնWƞ63*B钙A _LGa$l:y.528vXC/8l(M˄ էaQ= ٍ\4jݲRzX^ 0Л\ZP.M9Ov! ci ,II CHXʬaP]X ^F`R3퉬}:#W "#b <jC+«,l-lgd] CkVsf}*ԓ5ݐdfX`BFY5x@v&עlHޓ2vC:s}N_rwIۯH&ZYމY2H*4SrDЕ8&v|J-ÆE;Fz ՀL&nL*s@",׺O/̢3wR/a#M-ܢKΣlK.CW3ddЅ%r]o@SԊL#Cc'Q(,AbZ9 5SרEeh55 ZZWkŔX2 n t}r*t-]W c:-De`%"w@tZ7zXI!]\]q-q3 `=mQMu}HښWϬTVLOS84ʞ_p`_+5*ž kjx a,.x]&'UEegzy׵Wp}6Ж "wU%r⏈rAd[;6lm E#" "bhR!$70Zw ^˞4ِ߻}&->%Rf)KHv2KyN&r"xMFک8f brPn? OH9H.8.W5T^8ɲHxA'!Ь薴fnpATHDoYVr*}r:&"8hi$\G#eqقʫ f:Z "PnM6,3f#@st1b׽NiܛCj~1Wɚ\"#qjBȀ)ĵwQg;omy{GtİԲO&`Qj& `v'mU id%g4R2MJ@@Z?"f{ >VThu5 3ca! mLQͩzApOf߿-!B!pr.c%$6՞G(ǩK)HSa"Aԝȼ\LތCheyԐm%yg"P,DZ'lByboGsYEc|Gҕ/Bw`,8Gҵ!p A}P!i#1PO6zªa [sH;?Hk%9̦b  Ys~['e"%a(+X'_ZSE1.X2~5 !|ԕ Fr~T1+ՍGA[CMOTQv|0@ţ7܍T/J_"AT#F4a\##hT8)C-p] b!:fr^%6TGLּq_= H䣀kXWu:0RE@'IVy"9򍬸UH3\,t00 [ B9#pQ؃&ϢA?)U,:v`H??/+?/0̴S\bbբ"F6*'LDE͌zą8HxB8B6F8vQXV4 FaPx><Ca r( %;BbR|.1 ςC`H97Ga!PT-#Hh58 8^;pRr i'. "!Iq1Ԡzl^@vlljvVjXA!{jjաִ9:*]y{|'ʗP=߽Ԟ׽Kӵ&HZ݊d[?-tzB_|Y*Uje۽q^$ꌝY۫6ʅl)zUt]v;^Xx^.r'CT*Vsޕg6L|l?SΫISo*gUSAk=6U֫Ry8M:?7W/?gomBaxkq}-2y+:ƍ{_9b 0`A<$r~=&.C"T_vL'lK#LR˦wX=:5ǡ+C}ZG%#ZP) Ɇ"`Հ2֝+Kl5 x5Oxkj9 {PvYH b!/ qcZes$f%ij*}DYs.^7k493&z:N7fB!Y5߈JPj.w?)hfJpm̗BY l֧np/^a!%vrBȎiD=^s p3X'.z6ZLj/TjgW򵫃a8v( NdxZ[S.#VȭqQ0I9d{4;T7h0ܻZVn[/Z;bYl`CIk GlŚ[hݯ#TwAz o[!4cZQj=koZ0}Y jh!ȍ9C\M]#7MIXYx]BnS"BONv  V]1ǸBfBJr$۶i5|܎0v%y,*_K I:;;ߝWޕm9 8YMb--J]/"!f,V5,PjAGBYmKkon"pvd1r?U 1ZWx- ̌[׼΁ zƻ.T',]v$Dqv#VKu`1:aW7ˤS[='T1( κ8E8)ƫ)@-)O4ư5>H;*(X3%솖M|w,cZ*ɸ-[x$TTg8&)F{>q,gtbpHH/*'LOɖr?޶Qǭ%EɪL~̅%7MgD)bZrEi]-O[yd&H(TGDTQ;֔,EvKDe )wv ?)֨֔o͉JR+ʷn&=']}_-q]T]Uq.\Q9L;]1dU~0C@Ӧ,_gL>.]җ4[j.^U^x/ 'ɅTkBɕ}~g+F #:$BB0 qs@xwkHw8YhdbW-kV*j(bH5f%:c hTNZmW 64`~y)OJVq5.Fϣ/@ui30b8ǡJu)343[^UG Ozp/ ȔI;fIIPX~R,h]i3I!˚8K"PkJY  A8ģ,>f '{[ R!$=aNiltUr Z Ks!ZVqlzgwDGLPOJKI:D"̨]GulR]LS*KҴ{zYT;z.(w˚͜ʒU ]do0-\%B!?E +\]K-N% \np}.#o #g_%ZlSiZ WcL{*h?H!aT ; h1Ԓ2Ie A~5lueCne(Q8p 9Qzr4Џk~*[kra)X"˰75*-X4TNPfA59U9`;)#(9 6Y\`B"U2iCϳN(Z/MR:t^r/s,LߡL7òȹ}*˨u]IJȯGhPWd{wnD ۰߀ۗNghI)h& lĚsÛR՟Ѕ`OI#Jpi:RwpbRjKgTbU=Z'@FKX, wEO v&Z\/׶&*1\A*J;Gp6o'ڦ>⬓et3q)߷C!9kv~ޢo]~JniشPD({f" ߔnϔCx$9u3g t/yWʛ:zԭG&JbUכik8E[GWl VfY2c=]`,I¾6%J$W:mAՔK{oe wulxIQ (N2{3Y8S\[yCYS!$̻bg^=%G:КU0e*usZ7^6QMu!M k61pg㼆YW%"K#k+魟Uy-)vs9^ ;Յ}w@K8*!aUDT@ɈɅ+H)Z´yذ赵3!R-'m!nbć#֘3ٚߞX,kѭw5Q5 mEQm *-9<)3E/(Ć6!)3ς;9zغʧɐe{Rb0M)KЏ YnƂ<ƎyC  '0$/MB[Dd۪!ctb tmj4hbAVȕ%*S߹BKPy.a+ K1k%n* : s@gA%+9yb_Wa's+K/ǐ`>A `6BpZ4#F94&@mg vBK)E/;tW>!m9t&j% Uzy)  kY C(K2q&[\iW.a"ě׽}BN_SILfIZ''F+fAE~R'-ޚGgY bQ:r;RRHg= hH!GBz[h(rXIr7qՅs}@iP pnTeEv-$y8ND Z bC* bY%ݎx"q$VV8Q&2g\(9ܸp%pt *Zr[YKK|KsV*D1i ;3TN'~@dFnqJGCga3cǤ6jBhdi's?MӚKS9nBt\ݞ"Nz=δNRH~d.j&"DM6Lj]*Bh-*sosWq9`FUVtC5]ĈgIJiT,ۖGgU]W0oR mb#Ve(Noԙp5r =7Αj/zd dֆ)>ETY{iI_6yzH3i}Yq`nY Ĕ;)Tz\;*Gg um-/^lW\x|yZs< LQ% &QML$]6JȄDnѫ`ipTZ#\8Eyl0ԈXYy'XuB1,d"X #D qm:`ej(rS v/ Ȓ:XUoʜ>Ia첹7ϔĻ|է"g6xV̑Ɲ99 -gsM-LE_;}VHAkoV2{<@DL1X}z>S$J2DΈY/ !zycҎEeT y9T8H!ګArf1hxdLpy&]PhNm&RޕwiR WJԚ=y7*!vPPv^70@+@#i_v3 iH'j7#*f  2zBeeUB +] զ6CGP-=,cG9Kkx/ Ϊ c,k׳,p N(Q'3'Sh !vJձ90F( 7]L#\2pC'B An9GxfIJ) VĞZXU9 f؂֣|,bE!d3F&KX.$麵6#zFͧnxFj_=%FyDD .Qنp'ybKJ+f:͜_l1>CrJ[P/rnBÎKD _ y/{iPfn%`؉ա)A-\  1f T%h Jj3+:%`۶ק%4Mn䃾oXLva՘ü["Vz[GZU8胄BT2-|1-R<1*^rwK>L_w;ga:VkBFYޡOog$HypRO2GB THA#E]$pu:3H m ]KdP>G**D{.ۏT"+JĥUCO!+cLoŝȉSIKa%CY׍F%g[ίXN*4{!%- e^yh "?5"酙xсȬ4 2Ϯ';qbml=vaŝQ`5v] ):\ɴn0,]: gb`.-1!T}1S&ȚHI^aO߿4m70^j6Ѿ'wYj.He9#|P24 JR8𜄛X#ӱhY_]l:m)!ÑגhFBӚ~M]B*ٌ$P FBAO70(8赘&OV|WZ1]qHyK 骮ff'qhk=n}j&1}hY2R \wRZALBEɣgq^%0wM %0TB*, uMIzxW U"&2mEz|Z Ύ~RTjbUʩ2Ob=Q+1oo.tS/(R]%31LN ^.e7P䕝RaPb 4 8)[2C0u" <QiQ« hS". z&EVUNc[VS ׎{邫N;$BތTB}fBK k4J"WҪR `!q|{\)r#0 J"wgDn>nH-͜#Vw ^*LS&"+*+r$) #T%䋓=1xSk)^d8dQMOsi+TiTa ҕA$lMؙDY809B&B_ܺOm4M;x@XI-+CByMscf*fM$W3q+r -Ҽj>%E2{V?a4bѫؕFxK &Ux4T-CDߢptK0EP䊑ސ' mɍ{(~lO&[A)#o}l{~4NYT?M!, ^_#:H[g!7)JKs鍘\Gu0h#%UM\"\h0[1DEl"9rq4&!: d_Zf-`Wn!N1h:R𐑕 tjpY`&Wfv0PI #ڱ1xOyRr!L:\,S[MY͂ОACfzL|/Od+d W<_ӯg8CVHwhq=̩PSlRPkׄ"zkßxl!P~2b!'T#zR(Ic2tV(+U=eIbiFELRg,I.-z5؅P~~r-٢P+\quzh@,%:;{䑜ޛʲ z6{Xf)fI-mOvpbs~3*8ܧuK[3Qv?G%I:c}:g<"OzM(|juf{&{.mRDbaWTh/Ret]1gnQ#aqke$UV/Cv #Z qNI`HGԽIH|7X$(5hN4y "cʔ 2n԰Ԑ.Iv=clL'0k-,-lDvhtcBcd_K2IwӤ6v=v{yi?ahjyRG4b 7" N*[LP#)K/ؤXw )jrDA}`*ՇX$/\tGQbz \<5oP]t6v4t+RBŖ>MْjP4٘u PmI5qL APDj TL1 C0MX!eتz9 QEx >D&8 qI\C5v80>DXH[ȉ,(Akz$hO1^F6+ȁwCG-n{쨡_@C4ug*f􈊲,!Eɤrg>7L:[--lBr^@Nj$t!O7&'+lg M@TH>+7 ~a8}610+,oIe~/Yzo|>_g3V}ŏf"D RЩH%G1^ BIDFԿoӵ`#`p>k n5G?ռ'=<%dhvHr~ܧR29 6$]f^cv,jP0WWo| Kb=cnz>'4a^Qcfq 7>ڣ_1K^Q'@] 4L&sx-g #4#Tyd_rV)$$zmBSp)D:(Z$cB}( 9 I$Y9b`r#bP1€T"&Թ1a9w)T5 &ټaUl; 3myns; ?A9s#sޓ^8*" T4⋶:(H/ }__e2#\Gv{ZXLR-Ed1Lk27]g+Iw ؔZ.NA(*[vZٙV<>RIŝtlԪ23N'8HVK ه?Jsh{K\`b pi+ pVDѶycWIܣ5/]GJ+V,?۱NQ#꿎mBRJ-? ‘}%p: ݼF3Z"f*QɶyH,bg׫^Aq-P"s=wPr(Ĩ=NRğ}-9hD< &؆F*Bp#멽{jHS0FKF1dG(=U;\]::({T/?YX9HLNI;-yE۠ڗN"VmvgA,"we*I$eJP-vHt@~FRk4צև^\ih܆W,(.*%kKBV+ݕ6'4.}eڍG3>$I+ZTvT} 2@]l_JHb|}k, %E6̱! δen}, Et$ '#"'Aˤ霮7_[D=nT+]^F2rܵ叵IѮWkHIiT Sv3֣_'OF?+Oog{~.uz`>i^ԯ=>NX:Cgx șf(y%ӈ㲲:iUyGn%<1!\7ԑܪߕ͌ŽW 2ĨP<:ެ!{XCAQYqH@}u/̖8>ŷM6TWફ-$&$< lc8đ)sa#">t6(,8TT iRP0CȂHcaBcTke@@ƿ䬐W+%V2 ? IQ+UGn&j V2 R]/W[7g!MT!B?BnIUd 9L\+U}Ypڮnki~i?ŒDz,G]ǢG=&I?IޗuDbY`(#h 9 ]1\lu.VHv=1ɢ[iTg{aȁ]-ؚGYU+UubDbuؾ+xs%3Z %R.VS[I&n=&cB@c&m!k 3vk`BN4eD.HEE"?Bd8Txm4UA) CD RĊcn.1 N J!jjxp+촱pR2Q\Ybf|P`Tro*M>똯mȝc@iFcDZ1Cd3J*u ݞV~IB[F`=Z hDUdp"+Ag([۹7_3یB8ę['-'B6wOy ,S6TBuuØQDi3- )y|vVMBܞ%l'oqX #FfH׋Sb[b%LXUDYR# KJ8lj5ʆDTn#DC*Jjk[IM.Z1f2;arE3h#|_N Q$+'pʠHX(%@$0pyScp߇!"u *"KIN Tr_LAd_~6ܶ& j5a2GY7g+ѹBCyHSwxa] ոL:..]#ڠO˩ Y` PENJLDB,b㋲LHWؐ G%O쎢=A9>⃘ RЎÄlKD3\HtЋ KJjW\45nm?9@Y'r[I1KKPƙXC8\6${,CZM!Hq1d^cܚ8 iWn,I3g'W2-ܵ WvWRg]'9\_ fq""cg7;EpQMš)va( k{{*}d>xp !bHB/B;Y BX֚gݡْ)}X"qMi44r,w,8 ('JMGa>Ĩw2W61l+tJpksA;!0?(~Q]WI؟7YQB: !5WRnԊ牀#3%+\SI:֪W[AAVG&pk~8uҸ,)WVeg(jL%ۘ$bʎ߽Z9cPcߓMm&Ȓs(_[&c`MbhC쯁u8S0tdgdJ/1z1 M2R%0)!H)J@d(4s4Z$\/TgEֻb1 y\Z"I=`-B;a.VXI@JY!02ۘo$虒6фvoyDQd{ C3s1oeC~dmi \KՒ6qĘK Raԋ=]ϴ  \A]DҘDMR[b֊<].߿)q;Z=u^3HUk j;b@Li@`gP7jfbt(>2U_(S}1HrqTf!&mե{ $83 B4´1ԩ_@ |KdԘ{{_cZU$TZB755* /몿jE{G+T'fJЩʢghG׫Cd\Z27cBrBh}?/R%1fP$$8t"H- A8B|B1AH']8d9U~ 9Pc"ٕvoikp';D- +j}LN!* о6}j>2΋TvP{f3R*;=s`詍AZ.-'gYaq0z" ū bӏ/*^if!dQ]{rB D7q>8K>rUqCYSEnE l:w|A._gMWTP+CKUs$yG}R36VO^!y3U2{ e)kɭ2gQ+6Jx&NR#|) sWc C0@.|}b)s^ xj>V 9.440jxDԺKw&.ɞ̄B1QF@©ч I ar1Q@Z|,< Q++@;#:Rkﵕ5槚vqB|jh|TViZ}DXy7B* 2)@4UZDP9fK oJ0rp9BԿC .E|K%/_:~(€`ɡ[*;rPWpe5N9%%.6-³1iN lVInz9~ߟO'u%Z=)]'TV\?@jXesJxdFefS5UN+"*7H ~CfH`TUA=CLQis >$c| EU P#4$*DYTcb4QC0EBO$ < d@"V Ѐ T(vzxV͋.<d?f@؁ʴEn۠vcYc2"G:؂`1;+~5TJG bM2 ?4^|JɮbǼ";n Ut{-1QD)0I/DD B@ZUڿ5o4:ᴍ除3B֞贸m4Ή^nnLNV|j2l!(wc2q<΍Q#g@ _/d5 jМ"~KE,1_~2#9lRu,$TaRCDӞr9x.T{Lt/,NE"Xˈ*bT2AB//vdS1ReeԚkn3Md} `Z(V|-GJBEOnfQIG|8_Ji'σDX+H*Xodl+YkV- ;{s`*HJ='ڑӫ)1##۹D" KOmH08=ZR~Qw$cfX]U;ZՖ^o@mW~nYZOav^ORɧkps\mҩw{>+Wb~p$r4hI.sRކr*˗Uj+DU=4(8>XPbo)M7Sj$I@A};6ӧgFrYWYhe RkdSx#SܦDxcO!3~"MIHԢ%h[;"+͒;`3#P_jsdž頪#}yΒBؗE9Fx&j1Z![V E~C^)' %̄sB+}H8t16P26 Q傊Av M?i▎iG>y0,YαPlY$TmeWzTse#˜HLb+e'WP ^Dтz#]b#h XsޒKcǚ &!r4ҧT]^-ky%=p 4 5ʞt+SH؅\"*0VQ@/%,Nk~l-Йn2Vt8K^?h# z P0s,E'n -Ԫ~HWśX )rs*nna'>iB!h(n#%^R=\u8pJ;}i4?ɇ2Nm8~Kfdw>#IAVVD^IG78ЌPF4wR\!9'-×z'?= ?[JA#T*nh^jjnѳSH&4%T$$/DkD!wEPA&!8LX&O8L*&{LU,BFHU a8L ?4gJ/~;AąUqsB㘷o@0_N#IA\N3Io  fϷ:OaXEj@=U|%<1HJ#27FRzHl9c5s̈́}rQ*1d%! | ipܶ:K>Lk2%*䬆ںjsTSߝ(SqiPFJ̽b۶J&R _ @$m2g ( 6C0 t, g=@HE~*~h^O׏Q"M/GyAzccHnH euDO3^Pc+vIP MFetC\1D11䨓Ӫ"vʮauPEeɨɇfM, S<(K^Y[%Zj|( c0ݣ|y]nΠS9+7T_vl3$ M6VdU E BUCKh&v!5c{%_3⤐Km-HBWE zFEtCY?sL"@߈0h\dBNҁs5z45 6b&ȍݢdʻbew0F- < ׽;OMdˌ~YdblT>HYD$#uI;cH'=D$&O)Q9Y#:e[uy+FɿxLYR#Փj>%,.!tfU ȊOy b, ,$O ͇D`)TcBz0DT _ o!( (AMӨ 5&rΡޘ֓bXVo9 mH&*$e߼%rMvlPK@GKyD=0q><FrţxcʪYH˄=QJ xp|z*|k- bp-8&a~(Ct B7Z}~lYMn˨9tǔV@8DBqt+F("YAÁ Mcg3ֽCœ,3O%J$- J+Xlm^\7H1k$Iю.V dujF jق e;i,L<^Ko&=a$XbydmղCp8̣ \ZVtFbAD8kCT饝I-,,%B# c>$uNB?̫[[QbSndsRR : !"\K(Tm'QEI]8=/-n!HNR͏-24wg]ڨR_'ԷQD#%oh_/NT~"P2$;]i_"`@v52&T0B<+ٜDgJ/pND\JUJX2_ (Ac>@F[&,i|)NOZjse-71&^2i{ w1 W2-jHˆ"Nd+`O Vpl9 *\ʟ~\ykڊ6dub"dqnVVD'V׻"柒zQ"WQIMxR7 aUrjO%i#'_%Tu˒R`28FJRgb qZh>!!?7Ds4Жu5HuDXƩee퉇5 ,l|?HMq|:3Nj{s-kUUgWc^2d>:N|DF6GuYXN3]z "2(^/%+E ã7-:ipCͺhWONd!Cp@;s瞩yLY 7sX$2M}}mI}5zH:t.*-B;#{oVƬ nc쮥C8g|- &kz0+orW9>VL;Gc˗Ni_V]a"MGTc)oWNu걊X,_h&7@&iRz4İ썂0(Ve`5H%DkՁM)($q7Y]UE5Tϩ&ZsV p5dZP1/!PJHlQHbW1); D/ݶeBOnh1sT%۬lQ^AI`gjIQ[ZjL>A>zltKlŃiZ̷~ b#;Upޗ],8Xj Cjz'%>_(V<89ȨhFB)Yx F>w#*2;=Yc)ѲaF*jΒ$[\}pB-tƁy(AC ɜ^6Wh0A5ߍLY 7#P $ J$7h|LZ1cp& ZBR>5VtT0vvZ5 @N ($׵NxDdN,G<q:`PKDE,neq qCn V֍%QӶ4y` Mmt+_̹\Vgd&OpA~¦W'ѻ|pq7l`ţ ]VNo$3XqqzA,f>a;yT]{{9}7}#JS CcN,a_:ZK 扊O,ȝ5ʎiOc@-.< c1, 8b4'3?1 Fölb A`]5ObZ) ƣ!Eg !YԒA}|rd <^Ib{2FQ.#"bJ#0 B1rrԨB=  !L L W-LԜF~hH3rBdD!-L}lzG ;cҟcm{MnoH{5Kgrekid}v$ 4ڿ1X# ֊UP`5F-5P-K$ϡ KMm_E,+N&t`a#KC^ljaDMtwAfiOb3Ujo;*]QaZQF0 8=b i:Qso\eݾg q9mQLRԱ^VCQY'Gu '%pgeݲ F㇌.Z^'X $ 'V2|7S_Ȕ#T rГ)kA#ÇV՜D 4 WnF i=6RpE 9O h@=,**2 J Y5CPr٥41]TI+Krt$R%*M\뼱u[ ֍H/mQ+t9tOI K ՎPf{4]-ֻq#7KB;W2ͼ] "TtW"Yln̰0,yawCFxT@YvEh] ً$! q t+ \HpTbAQ,cSR# C =0 9z{!nHP,S+fDN  <;􈞼0jLaӮ(5rt`G(L<0g^JTa =5Uj qyD\6)K̶K 6o^"Etaټ]NzH֩ &K'Ic)׳ZpIݭ"A}HU6lhM/3`N2]i_HŃ [3Lxوq%fVi}"/+:oF3)ńLjI7Fp^V,~SwrDA]AInyhq+m.Fw7,sA"&+VtӪ%U9SCy>.ZMgt ,rM)3yI<3ܓ]bwD4Yi`Ǐg}[ae(p,0XbEH+EI4Î[LKKf"D*!VgNț$Ur_^k@-_[V…) H/JoǢ\JNV4!ÃHWEyd #-Q][e6<*xhMDHq)t~$gQͮ5ȶlقqOB(O̢΢NdBK,kD]P'.%XHSGV;]F4z$N{NB".,n^G}iDmZ4[c}^*l6ъ9aƘ]#?"Q9R+Xcbn*G&jSXVRD#$:C}SVYMI҃u#,@g% "4~F@[tK;Rw8oa*0W72 vnCbWL}٩~jϻ%'+T軦 vFCep Sₖ>ۖ3?(M!3;f–Y2Qy2M}#0J,JA7wզD<,λzB$ˋDYtr?#At~Kb&fW[I"Y p6BLk2^ȽԷ ̖Bm߹NZrE'bW1H}-7N0ez+.Ǣ'9'pˈ&j@ACccʹlŎ"}~ԕdJc@ֳ, TX(miQ6bt}f|EP0뱜&r1lSaF͘_WkXI݋FIsGNY Bq8DA8o#(GxM^yQl5Y0lC$[S$aTkDTC ]!b7_ ʡW{_ N/PF[4W9G S ,rMGpaSmw#jE呉tˡ W]'*Vާw^/n-f>7ϲwa: P$#z׺} f mLTI~<2(A<!mf8'IkaJRg/ *%VC%_QF\F|'(?V%^Vn)0)u H7UL%TsPEq" ը)nqPH[\ p:K *ؔ,@@,Ȗ~/v,ٱ'{vR%\F6$yrm8q!2 }t#ڭ 2gr͑f<2p+_“$׼ȩ{=y l* 0Z=R)#\|]4hȊj9Q|4$mIzRMT(„2A{1 9ourC0D&$DqbW$찪j8acخS!+] h-6v}W819>ZN AB$c o]jsXceUI]$(BʕV飼bTrW]~jW_bߵt'XS..0/᧼}fĥ 07xGJ=.z"h,[2 fI/><]v5'x%FiY5Hȵ29C:\NX$(tꌍ'R_0@riLϒn,(Šx`R;6ܥPwT51ThW\ftQZopIac}Vv 6boyt aGtЛȵ"HqhSaoCMiHRZҩ'P2ļcBNNרӆ2ZEx[7~¨㪪nHdWdxIλ]V C6jXq:͆N9U0atdxF&EFE}^1` f&kM&mE$ה)]^e&SN$F Y2'uD-gC~EaUKZN @(գ0qjBؒBdAD h+AGb i3Ô @BaG/heB7dLMY6ߛvZF2NI;_3*XHe!dJ8LtYl ʼn]麠 t#F.E d? Ve$DvM$MKL 0W(]R^X& '$Ϧ 8 AYی 0PutfHZG((9Ɗ`pY rB< m;\*]v { m/K- eQza}1]ָA$( l_&BK#*ά,ƮB- m$(95TVn/O-8" +RyPO_}>KeWU$Nڪ*p7@Aՙ{';x1\OmCh Y=raЩ#Cbŧ )^s;PȌf$" R> M 9{Y Д|-qԆ!I-F>A$  0TҼmoO%xJ-)P Tesm+әķxs#tOy2~_KZ9)RWZ=qĄQEg*Z̧%=m<<:ݧD寢Vl.א8kGZMZS[%$:bd|ⶖ8\.NU& -SeO\hx*Yn\m30fZQvfk Mx#WUM~NR?V"< _PثDx0JfX:#(h\. 8X&|[u+#k %NDă##W#X.AkB=ؔ^O\re2-Vkm!J8_;yAQ0 ~mf5:L7uZ| Rz䲣2 ȶQm)I%Iul<:AV7K:MZ]5?7Qjk?jgt.EoޟM-!]Ip6Atg˱%HMhjDPe]0JKeX<[ʦ] =SHm 1,S* &U^A qh)v+\`&Ge-I0L]M&ʺb ~_6_t_2MGh?i<դЦ41Ldh1onjuGY:e˫3 H5QcpLAT0l DE=J<7h$Sg$į 2IhMȣr]tY"F+d(>p 0e<ˍ9rӃ vf+͔ؓ׊sO$I4ENAؐ21- 0.F?aA$'L6 <oCQ(ATM KfopM<$P^$ 燴ʐII 0H g]],U, & [ʡJs|qLBQu!9&\mMK )=CRϜTNW땣J;^m A] T),AI!N oxՓ@F` KCf  YBpQ,ha 8Ɓ/[eG،dk5s߇5kI.VBw!L}0PD8"a˚+ߙRl$`fNY1U.Zѡ ”誤iV\HDQ`EBi'a~*8|u ?O&yHaI8'ϥ6J1swy`^0COb/bBuM=},/W&HA!Gai1j4 6U!1F5d``)UdBLr V>$q$)^mLEM;mTú`R BZ%^# #dDE 91k OdHSPI5MREٳOFѥ\g5L/$BSGTD3'Emx$sHS]+cd.WELRIy6RɥB6S%4Xs9St/΢Jo@}<]%dbMd!UرNh<Ñ$L@CIUM|DǵD %l䇲ه*= EFq#)X#o!tGE4p(n{oo*{Qhd̼%b,+HJ Bq!‰}[iRLNm!h"cT)\t>DMVbZ[iVVVjSli=d,LY>3`TP"*5~w0QDZ~rw Թ3EM:HLAB)*ؠlHe;&Y$e|#_w'c*RdܶmUkB.AĮɜtn'x{O2fN/A`c\B}-ɉJ/Ǒ^)1~d&zf1BR[u=LPENHb$!SڒG Iނ5Wh8)Pcg͈ $*+&@o+ 5#uOdl!m^n=T& MN0M^]u6,+^x&uϔmkp] DBu '&NL5Iy\m5הy*:$&oɨɉL 7ϯ ;$ܓ#aM LGn~ 엤ٕuL&"Tz,n6(K{&2 Q\P ]<e듚 E/B},;~UWH[A$[?51RYgc )~[0|$.%;qDzXDV4k+b6lOVrn115cZyak/ΛvF `&(Z !vO-R"X:u/#"㥲vV&]::ɞ0E>a_:_tw@>kKRk* < `DQ_Jhm4R e! cΙ !8Hs od7o 6^*bĆsm PUHQy] VrL-ܗ 3Rt*t1ną3OqZ߳?8:/?6QҪ%*[_1%@hZ4p:)>΅hu x*o"~7K?jtMb l*{I$k986%~] #i *QbzLPwL.]`cz4`At$ 搈p@4t.]i5ښP0ps38h*BNrs.vKUOREE袒Z5=AD@煔%GD|KYˉƇWjc h#.5['H$Az3P9[Cf>#F瘴2 e}BgkA#DG&PLӖv>v0!4Q hr$w8Q d:%겈-Yb\n'<('lÝm_CuL'1HZBS5œ_|0ƒ),SUŭ9[FT;:XGji w {-VUS"Cčh*C}goa0d^P) 1Z2:YIm鱓4焅 VY$}RIT9a Lf|y_gEęȈ -)u-!=ԞQQʇ$k|{Z&᝗s!;?y:4/"ݮd0"ND_tڔN{G٣$7j_mlXw$ As3jtB]:$B|&EB '7&^"9eno]LvD=(vJq28mL)Z2T ;R'v@"Tחid|ThZdOnC̟tt3^zvc6zG7K%ChX\DwghFa˩E%1I쁩T^5Q$v [墯D?9jT==- @{^HpLG6$t;& pޞ㗪]K'|"j+ ϥ7Lc'&Ĕ̶ Z̙HoM}"#"fEq.Xq,BQ Yy.|M2Jp .Nݲ$ɥ4A 9xMHnw\!}we#?ů.ȦU)h.LIW3 h[H D,qO{Q j]"/uhV a .]L@8EÌj* CTʐ^5IEf]LYZұ&,VCw04SGqo9@a%X \#N9Tm| YKaS|9lP"D0JEqA ':]H]c͖._ou Y_E(ug4hѥZKRRiD)+$)bADK)ri̘L8ZT~C(Z2F_4r O.v-O!wPI9j% Q*nDI8Mo\-g!H-`gkJ>t=zجW P\%Y~%ȜE0 Pы,w>)!ypBT1w`Euv,#a$@-[A o`-濄 , K($i-غR<$W+NJ`='GxF܉-O!C0Q"Hprn?&PYPNBė”.Z[Γ "-AhW]v%.L,Fn%l:ĒR({!I(eOc흨C3lQt$4H/|lҕmh%цoJRDaƒ0,"%Lǵ*k:m~H Cd҈L–ru0V -Qa*px\cbkiMKb kbQD%t{^LBJT%DgoQyB3Lz =(0&p YZ,)\ا4xy=$J]mKaCEm"uI7k](54i*55D5`h #ֺwJ)]0LZy/k5`T]3BQ"%SI!c1D)@cMU_WI]dF[*݂9+Ge,T76bj6.5GdDPk&IY*}]pޱEFW-~,L!s$ʋ7w$۔bS>6x`gi,)ӡq]OhEL,xR!Gz.hunSezBEUS &2?)}[-ilţ MW)PZE"/O-:D?l0[p⫯ iFmltDBW2Zʼn#VUG9| _ZYR4-Ak hC-x&Wu^q/H.kOF(OjPR VG:i`R] ymZUlΔ17 SB0)pн37Hx {JϤN4x5ETJdo[E8&VM (*!EF%=mgM3R¹)w &50`/0w`& =R(oT:y$Jô*9^a,`XBr0Hf<"B A{1 @59D@eXdGe] XڢXY4ڒ5PSnfL\W[:Ĭ|DGw8P"tu-,ܷcR)\ּOҌW q0_dy%* Rts R]MϾN›g[Y̖z'd PYr y55:bcJ^fu"l8P 9L&'˹6[\7eSºYnʎt_p$OO|Uj]`Rp*>o3RH|=}5)䇛uyQ(XOv4+Gt.tkm5f.5ģGQI0>GS[^G0 5OFm̡ϲ޷'[RWw6ѩJ* ChzU",ۥ&fXhVۭGWSޣ/w 8=_EyǺuᮖ-Dk:NH)jh kI,Q?"%CmiK .M,IgMҲ5Yi:0M/IN Gc7; y#(n!B8r 1 (/]u- .|oFuH0̼YFTfoy9 AxriU݊n5N`JASVA9O]Kb%=TpCir ]?YNZˈ\ K9 V,t$NpbѽiS<3ҡ x/6tPv䉈0Ih 7 W~|B"_5U%$87@ШK hȣ B/ĐV8U:Sˆ ~ $~q=B&.HŖ4]rH6`ن2Cq6Т#T"J}+2IQ&h2I*=y&쨕'Y]8" yP.H#'VƄO)).0u/L7 8Z/v$equ RWg(5ij0eO75t5U l (P,N&3"LIHA'$ILR\ONeW!^ȸ(&F/Q;rZH {`++Q)FLK}ȶӻV!6{:; $0\UF.l" A7Ɋw 7)’&%@,Iw(F9Aw%:cӋ̍K8| C$Hӣ!:XB)R}yr-eDERE"K(.k4;IgKbw)%wqI\*ܟpڜ*$6Id6.>/uZ'PiI YhKjne 4,'Ufdȁ<E&RVYS40uk-"AQZ<בSh,.%k! Gp(QH7Y;xmIN8E $|9KX oF>>q 6tR TTV";s",&8߾PTbX|+w2ym. Z`$F8U s(M.VD4NMTi?Xw4&ʍM+ZDD@O`A;r!~` J{d7mMq_E~MRQx'JQJGX:V$,yHf3RM%UBwN3}&p"h qLଏ\:~vH>q+,Xd0fM(wrZ"T@ "I)S# nyY ڰkhnl; ,0Y%E@AC(й)(tGPloQ:rD;fTHI5QLy+N;aS} Çŝ񡱩Z*Eii2Y0h ZW&F-$6)yVRDYgtB-_:JIۛZ&{DYIa:-] FnK @Wó"~Z- u>Aqq7{k[qiׯBYJ$Ⱌ,Xv߈$uE0*&"7dxYW6IMx]jtak2$R6b'1Iԃi=m%T``xfP¼#UɨɊEpVܒA`QvB''pR.J&iMiڶGO;,R{nLRh#13WYDZ-3+H#7;X&%0U" hɓL҉a z&T6'r:7\0.YĠa]&LD{iHZJt䱢C y5B0`8Vn>]ܰFF7ԩx5-i'.ؕEJC77JțE&0o$%9Q= _*yĸ jl:WR0](~dGpGESV8~5 MW6U=5L5̝Z0ҐYriV5Davf-Ҷ,&^A?yĹ/ P?md}X1q[$A6s0K),뷈t$ݾf|sQv+M1+XԡY%ѱ&i)%Nb)s\Z2^hQ}ډ~ 35 O*QiNI!Б<^VsRXoZy[+ 5:$4,ﵺ JukBQHezEbi-s&92ILő_ $wj3q$1þRϪ!ZyN{7RU(ig?Zݗkd}, }2F7jd~Rs][5IW]&r-[J8NyN 19 2Bn,5!fs ?HA3Mc$D*h딈 NR׶(^]ZתЖa92!VM6MVB\(6Y[ʢX\\" LRhmfEO!*LnR78籃p{5O)Xcg$]GnVh)-f?:E< a'$**^-B nD&LI!< _uI޹Q)Ǚ%T1}^-p_e* {5K"βz󴜄*4nҵF{8j.W07ƈsۇn%,(nAFB\=V4Ձ% s&Nѕ.+Y{L7_S@9BdM$!1nP0"%+  b ,V2/J\ҽ0oƌ5U-!f'VՙTki~nkd5 dbw wq ; ?@TKLea,Em2qK^>4,MeMaT| |KЮ+0xeMu^no)KY]I!RB> `z‡AxyF>]6^CX}Y_iAMuֈ- j1pE|f>|\6.;RfD0?ߵ~.;AevYg$yqqp"1lhv;}Br(QY&bϕ"$b梄.'/ ,\\iWqߪq u)IࡾoJapM@^Uf,YԆF3,2 q(2!Mۜ\o-S8/\0cs;m}-?ARVkUV n8ffGESR~|3;y )>fT4_'T@L͉DHgEUBQC$;Rs'#bS0 a}wpL. ~]J!gۆz#Jj Kl7"`"afz忎/ 5b-I񣁤% ;FUjs^e%~- 0b&%?h%#waCe VίJaColhV2Ai"cP8BQQY5Xq*Lo+ PЦ=i-.MgCrY|5IM8B? .p`b* P`pHr!!gw)#YYEJw+ ^51\ZnQLd#/*TM&P h]iSxq K'kJm&QTɶ2.Y ^3G SZ+b~)&SCQ1 F.JܤpMR%;5g~uhpG+ 5 8J/>p*hT!fN I~ 5w"tʘDq޸=w@H'ZNG/ę)OcM扈+o$i<2=,}H#f Sɵ?B10N% 0Eb%+ C'!..dfң PL,dQQl,Eh: 7"ZKդ^V ܹ)6<ϰLuDQs פI𹃮n5u @5l[(߰:6Z"On{d02:d$l6<2K*$"D@Md!>(T@K&ǼLTBwN4ؕ`삄T&Gp6޳eǒZt$>a- ϙ` Ԍ%V P؊[[]%;=lAZeJ9nsXтݑE74I2kLi] nRˋ(DQzI' ba)6ZC;U(D8&B Վ* <$Mt梻 !e:4E)4܆ AN05}%碌XgWAA&I0*{`ԚEđrW̸EaQ3|_2E* 'V\3[+t ČډMjϠP%$݌[݊7X4qo$Wec .򬒪BsƒxfIu_˦&e _c'; T{229f8Yp +b׾ hM& 6dyU-Φ+JTgL)xW:(L2CriYVgI& (qA4)7I;A$fhWjɸdBu(ULIᱤd\WŷpSi ꜻh$CK F}H'є57Us PA|dT{$DjTHlvʎ>X%oɣ:~bRU#4'J00fRJw $ Yj~ܝ!yJQ0D0'5&^ygCD꘬x&,.ę,˕_stxF3 c9ԡ~sM2K{cY^KM@$eU(fo.`tvؒ?63F,m\R*ю+_~XBY鮹B}Ed7 ė}⢇ڕ{ ["d"Ay ,b:Qʡr%Z&Iv$ -p*9+!Wkoat\0UGMU|M1|I601K( Ret]7g `A,"hC\fA1-(F&‚4&Zʥ%!ҢH6qv>DmQrěJyI #4&4+%cnoGY| ]OKRET򹽅 d^ԕ 'jl)dp\FM u:A[d D)JHrPdac*¨SЄ+:fv~d=IԷ&`$/LF@y97[jkdX*%zIe`F$EVl^\z[/E6u$#Q^]DDHQ!]bѕ;'hMJ;I<2ꁑnf6 *jlַ>lIf&wp'dd$&jc!3Jo,t!z\oẒ^aeQ)ʙ0QA)[[(DmeTJ0L(]m}*Srizѕ1,OM.hx8W[0wbQm!!}b/^f独rs_\/uHQQ'#\0~I+$YTָ pdtE]Kq06R?#oWhQ뷶겍InD@W$t35z7|0PrzE`7?"pk"l8@'܈H<nue*pG &_L,֩2>nbL:"F&T~lK_D"CI PYLJU!aO?Er%B-fJ}D2[)S;8\bɐ^d5uj t(BT ' JB ~y.&fp"Pdvj'ңA-i1Z5vD`V7ʅj\ ~8Dǃ !R7蓩 KʎqFhP("6KVl*D$h ^AkC4 Z*"CI0%q #NAޣtyܨ`WE[!.!BSUXO"e;*gE!7ue.If$*4EFLpÍ*b`XnEeD{҂´`ڰ $%E =ҁ8DH%B8U$PTi|<RaM4APÃ.j`jZ`;bmZi*˭QvI%U`DBY>^ FG />³>+M:舢ζO%J;%DG~mmádj|Ƀv#Xk[;k> tAw%:1SHWG^QLR՚"UvR&"vѕ>tп+'?{u"guvvٍ9`g*SkrRRN+'xyI]js34auqo7 A tv+c@n1TZ5g!C![190!p/$?ցI6@籦miuΟ d/\*ӮwYpoG2^"&]nRuJWT^aʏ`auT{r1U2ф|koT6SluCAl\RzVUXa\Z.h]@ѰlĺQʁ"% ͟b4^!ЀĂm{⸡.A):#f'pbxKgvϋ,_6Z!p-ЃhjHH"IBCe]>to %?ym0T"p/1ݩKRdoUi RNR)z_bT!{WzM&K8 MW\T`UU,dfMezĝn,jiFtdrlx>57j&8j+^[-7nt"<]j TvdkSDBnoŎǶ:#/=*ͬ6Qh A8ҲgqPjx'dɚ.lPx}/uWN3t6C?/b9!)E$'0fhA ce53(S~A&b;K)SO5%)wo2T]z{xzA ?/ ;N߾\-Z!.GJܱQ6 9iJtY1k t䫴D/"26R5!@PH3vӸ2ڛW8)6h +ߥʃM+ʚ]wy|ɒaLd_nJԽoRaǩE6qعA 1X&JxdMh3OҐEzYCC hJ̥Ď~e`8}@ِwL"`tMHz̚!I @eaT/;r.8[Q#?b48K $6Wf}pcޑ&_횭mKo,PM'8ΰ6<2d!GBMYWnXtbMgfꇭLtk#!>[-a:ݝ4P2eãOHcX_S~"GyFqm->Q]m/vDX`\="G3_XW峥sy{wVqX3,-&1,G&'OcC4$јPrtVKeC;sy0LbmP=nzl=HB B@~Wo]h&2טeq R2 (|^%*9􀞺䬛LVʵ24J=Q !е~Y1+S)DƩAAah0J):Ȯ%D`T&ugb؂'@,VK+v頁y/f Z̾Vk0B4Fkג?kS&ZlD.܄KKeq Kx Dx́Yx/TPK%=S(*lWu$, eR+oЩp:a!CrLĪ jvO)XX=C@c–5~ <_'b`hsa3H^<(Jˍ:-)\<_C%JG$/ > Ru2Zü>GFޮF,+*Z%<g aqP) tuƍZʂ [I恷K0ΝgRtin?? 2>>\v "2`A%#ͳ Bm B8EĴ>s;$Evpiw܈J6HD}N9)3_q4$+}W4I%$X Ԉ ]}\*,rx#U\unUR䱱 Tlvա5Bq%_VRRD~S+/QVA;wZN-+Nb (UV^")Q\~)&!#Eym+"MW)T0ObXi9P!:\UUNV)݌XZrmx7O^LyoJ*sxRdzu-9Bkt{/~@~㼣N(VRT}*r 7kL/odn/&JiSom6ʅD_v䷣U}l'H+egdA4oἶC>/||/%Mr-g8'` %MoO+ϧ#= _'/(ջ Q8䐢&ԨYDN2\"!&(f0teUp(< %k4@$0%rzMAe 2Ձ%yC҈ JRK;*4|}|8RnHewI6K)m-Gtv}VA vpSDߴӈ 1#t"*uJ NU7Er6!JJB:wvUfpvB-*Yrtdz$ժR GjP,c^X+y 'VF׹_hĽ#<uq 1uX\J ɢ* h|C@4VJpZ= A| _کb&obaz&OqH 2C3?Ļ+!6ۥg _s-0YDYNTյw z"dSwv<1f܄'h"| җ۲m]UU%H͑s &67.-ZU0>Zg?؝@J #=Wl`_Kg+g )bV:ylT!8lٻ]. By)Zj )zmn_P(7MeX\?*ɵdauM6k` :W)5`EZ *=jD$D@LBqX+>PIL5 ꉄBܱN:B~d _3e){|p5PɣGzG"ɩV4|j0Hp Qr㞶?np`%f8؃%=j#(*53Tcҷ#39 ڻKEeYW5\Aw*3BmHԓ{Rɵ%:=OA{ř#mwHyIS<)"Vb&wBs h$3psSPHvWb-=zt$`OM&+ {hP XW0:И@YL(/Ցb]S3bAeq/6C4 nhQGiZйΉgjyIXw$eEA"RXGb`=.kwݲ9CeB'J+H#_ȞMݬȣ.bË05B9Ч XbWX<2֏ j1dIO/G&ExD*~WYL0X ڣe땑9+,GهO3Ҷ4 ~"]  N#*["RHes( Ơd bPlJ)97 K n @nZ+VHh#{#+N" 5D%ē+g(\Y`f%EVA" Qmʙ} <L\ \ "ad @)=pqXvpތvjTKÜCMjHaq_аIm@X6`rxyPnBI Qڣ .r(3zPfSs +Y>"*Ed UR.;Yl|J4Jd!j6NڷB+TUHC?*mo':Z|u{NK^=G]6/\®NNW)FB N-X;*u/]\(h `\ސ0*F'£0F=&Z@u%+kH,Kƫ ;!i`^5=pT'>ULB!AHm"(h`ɈɌFhYg2t'jFG࢚{>D WF)uh8 ')P ԫ81s^ckgSfdH0Tu, ׳^2ܔZN ~$Bdž'$ʄqJ7N&ҲI%WxrP v%+풖[, ȎS^U Q/3cw3Za]}a!d2<& !VJ۾ʛO$e2(DS/cH RV@P!7YK묵Y:E̻وY/dU&kAQۖ0;`a6L ŷ!q:2kS»k;r9bhjuI\go*\1S"WAa:kMp״5<=p;O@ʰ7$fS` p+[j=yd4N"Z hFGz9"$D/pY 6Z"Bt92/\-FH籃1D["`Z"%*VYy5m蜮 'CFʏnW%jk/oDi+ t N9S1X] k\G[A85`>SujS&*dW与+_{<.tR.:ɹ%P(b-fɪablm٠eQ@=EKd94  Mme8`0ž*#XH!ݧR2egѻn45Kg ic"b[(% X"{RcTgQ QG1:Im.zc(砵S QBU8聰VuԜX糹md'p3=+B*)ɛ^d7#$JBQrz& hUX.C᭸4؍b_:aԚ>[]hjf{&# (c4LgHUf\$إv:v Up|OO#Q] +aTPT&U SV5.{li&yGc-!Ԟl֋OFH/W0HhV!+uFUޥd:19-Wоl!::4` (2"Z";ΊLKȕU鎗#rhbZM Ʌ"2d+i2cJ9/G mç"SBH!v,s9E;m0rF`+dbi޹{fe"̢N1[M䈖!^xxd/$?Hk`H~HROi%j4zMAT4و\`p4|Y2ԟvX/=#anGN]*ʕ2f- Ռ|dA (?t3{;ش{K8NaFyp{ͷwc)hKh ƥR +)-@W Sɿ$N`q[(L Kyd2T'%{|+}uBV+5RhUƈOS1CAgglLrdR(np5`v8' Cr(U][~K)4$v2RQhy6k>фm.*9 /KZU^Z*1c#Y)~tkobeI+$͜T/!`%0G_u;|Jt# |"xm7"f^%$yPDnJ_wRRյjmN=hq᜼dF7_'Q5u2ܺQPs;J'šD-2+#J`DN[jBN &l:;P\:gUKP= SLpD\jqZ2i(2ܙÑ-.XLtN+Q,109'h%oUHgFq̯RVeh]1A lDÃJJ uAV%i*cfbUO+}ϜjVtL{M-#iTN?e-݁$ )YD?d+a("@f=m{ f``W&P @Q..TB]6&4#F8ʍn+Ad d 4h!x'6R {l(IйΟE찆3d]!N=lcU"2~o~5! lJ^\!'20/m 2:aX %jH 9DL3SlV~K;`b B:Uצ){x[%<1 ( IoO6u4m٤ WrK%$M5M#q5p68c-)*~I'jm0ٰvŐ]&7ђS+VuDED$i~G-XKp0Țs,$g(o֏;$6s"p\{/~qo'̸&\FۇS /Wa~XA{t͑,[Hr9꿁/Mmӕq_TQ@2hݹ&6+x=$-02-zcM<CTGpwQlfޑt 6Z+x ~E@I^ p^OrFi!Q@'( J,F ;kc:uy}#ܜڜG1ܙY  BMAA0"H|O!F\ 2F6ܥ hoBLLJ6:!KmJFR&~]7 Шz}Ǵu%#L51$Ak"Uȕ(y!D%J98hNn L ݌&/ETI5ic2]j`hvp=nX6)b|X$zޒlĝԲeET?$/6Ū`6g V*-VA]xVc^n&}9LA67D((>H~T >0x5ʽ؍啝HQbC!]lJJi;M[HԾ?'%n)`/6->(]/F :)SxN$c&j! C%EtJ滶&Uwdijj,*7!'TQzHi \ATmnjVd*!i9oEWG\z V W d`3'X?Sp)R>i@}-R2\0.~tH4hSpd6U0ftau4!FݢKtX*^GDO3% 7 Vve(F'Z^\ee) 'xMlT>l&k2Rmթ ɆE|:ybibaiƄ8_׎z_l+V%h ʂcZ[W/ &uN ve){2ezd VSPۃ?9˱_޾4cBl$|'>@c؂].)Ԝ JCT؉aS_g~<$A9$7--L )]{r5NRBp@!,u"T I-d%Wf^`%<85>Ġ0ZAdEcca-Ű FPh* fk6{jjnQ&fQQ3]K I^p25hts B~ŁCLIQ c SC.)há^ݔ$v23"n$(#SDd;4jB̪JnvD&?*"9`F?p& {@мxN@MIRbFD S,)ZK{#KSyD+ǻ/~ysJ*nPq[C}A`US⪁UCe=u]&I؁5F_n^-*Z:.)yZ VBAA{MvnLGK]Bƈ0 wZq+^Gt0NrMx9>̝wG#4'uϘ(C%S% ZڀOLi\Wt28gj^oEr;Bz;TtM/B6m8+fRhV r2,~陸J,N d7uvN޳d怋 > C*Lዙ. LsIA8J}ri0V0kK{96Ab#mNN (6) "h>S^b)IԂXy,kAEGE%B%e0tV C3y96d/5X8HI\nkts/ _ B 1KE/PȖsd0Vɯ Dn iu*)%9"iqQR4Z+F¨lWb ϣ")XPSuG2yC`-98SC&Fu< g \ng]{c$ǥD–ɤoYd?@B$9"׫$fIzd_F 2 h&z@ S"Q.5t.baVhHd7spu&::aO}-ǡC=Zԩr,BLN_#Sw({G|ԍqN\"a{t HGx_Nqᓊ%//f{c%x@~:ZǫaqrѬq SiSRvKStY)695OVW*EhB$/>KȉLnUw1 i}Ŷ dhX?$Z*g,!G)K*)_q"j^JL~ "rȔgjJH> O).HE~LIKm `/콯! nJu0MkpQWo폇 HmoX9یLDү&>[9T#ֹqgaqyBJkY2i|O]+7Q~OwT)I25*=9k:I=1Hu)-"J8U:`FOQ W#be}l Pa~%xHVg7sXdn]:EIxTfTOVdt M&w VriU>QY`Kd|Sܡ\R'd U&r9P\EIB/. 2;&tNF 捥'2nPv|4^h! jס.Z- n NB:ǁhF0X <^ bD.Gg0DFc&*m;C14 ^vXa!fdSRij(:x̫H.y͒weͅ$:z8?δ4f[dxB"FCvH8dCwIlyڌit򂳭`|ɨɍPH@)q ʠi6bkZْhq#b!Q $A LX&6ׂ2^RAe*![&VR;l܇֗ ۓ(eTI[2"XxΫu9i KƭXC815aTOA|0\c80_qp:0jE#NjDBV]NL/8(Uڍ l 1ȁUhg؅_V=$$9(ǹ[sǫIL^p5VʪJLW}7 6T ƹ"r&LE% P}28( ̍ I4*b4Z Г3ok؂rܝЛ,E`eZʁ'RШ*Æ"dsض ɨncfSCMI6y"mQ(~-vݲV"=QFp1hD!5DCxfiD8pxY|tm,.$m\೐L7*uBZ5U(-6$ {%K{o4&fx,˜ i` 'r],P27xMֺ8 O A|pL64y`yev/'ojZ6\tvh& U2d_`[$E5+۫\|넓Iׯ#ՖS&I'ǚGɤ CWCȚ$AZ_ ,@|q d tu)6vhEv-zX$XQKT DF Y'jɥsWV4Eiyyf o1a_,*W'6KVO~M6'[b@r-ofI}D NKTxGrRg~>yXDO=I=Ō4<7DWF0&44"A  L\QF.eG : `&Ȉ! <1&—:/} ZYh=:̛I.SoK,ȾLU Oeק3 rkeO_! _!*w[]A9ZnV%o J@=75/ -,Icyh/+Ҩ²eρic#9LpB& _"9<&D⚟c;hFzK`:)Rg9J &?Ӆ} R7)G,d$jgL ~DL0p*$ E0l[( 54)y6Bh9_A HՋeLs=`!V (pGm~>CaBf'^6Bd!r;(eWh)BUIo;ƛ1:Bb3Ǣ>5?fp?'CL {PAg22aB X  +\h:Fh R? !d-# SG,$5ԒO=ćm:}YvviFIEz}h)ұ+u<.Q` CkЌWIMω92q=RLDj2ao$V)R(P+vCĶ"q¯:T CW0,vmf8MW?CPl5ꆪ ^|4h" KY8q <SQ$CFk`ivCh%ĖLfzn,N0F#>DGR_Qf!8_G [Jes6`mAJcFHQM_#W$oҼ>;FegM-ِ^E*f;I2T ߝ5#~3dչhX؊H%Ahkݫ@y i=5zJ%1=MX^G<TehVddYUS1_$1""-)h@&I&]v˝{ Ri\YW/FʥJԳ^跏PK%J/(LQP d(G*xXvd0(aҢrw (&e sp<,֘QPD 9ƐH><0~'iuzw11"ʨsTNuo!y߹/rHIW%Uy s!O<$wfJw,!w6Ģ3 u;?bZC@?B(K(N@`6DTŢĬ!‰4դ֊Fvt5.S_稂9us.%Д**\X4hJ&~eZjOOBr.*"QQʝO'-,ɗ 8 $<аh I焠}1?lqܪE _v%.RQ)9u(SG C<1$ bo,Z8cI)W4&iԟp`-o̞١ ӈVkja()VG1ş 5^]' 9~UݐTD; :'i~H" jj A"t@)=NhZ ml(R%@r\/ #K (6,uh XK|ba<)8֤ êJ~ݕ{KeDJ ;ؔʎ>ñES\%ӤY|Ɂ$V?7iJ 84w`%rnR JO3k29dZgSsvhuk4{-V_"駁b;h֚Rg|dioeduy9 Ɔ*>Hv  =`K}-Bp NErI|cp' ŀf5 \HFq̥v ʒAZ/}STA7~O$Pt4[N9|X)dt4r> R!FV501QR%kάvg ud^QO R&Ncjk4x̀R+%`YzxN,MWȨ,N"d$0p!#N[CF@ AS`q'&]*-B08jT<:ubHo%B#8>*- M['飡Eޢ> p'y5}{ vVag|Z?J miF䄰b 1qڲ6-nH "~DT׭^ 4ĎЮh[p9#m4^d^rDA5"RQS_\ &yLh/Mȇ#{ȡ&βKzVHrTir'5sGi\А6XxP "n.\?P r[Bl͍t_9q']]T %F&X XO^ŚrNM׭CVE`nS=8Jb4+O.WO$3UQY茐aNj+MLbIF7=ؙRѓx-CMŐGHI7FT_bMg*C\EA &}$YdQUoϗ 4D }: f I@FzOQ` T)HNnBĊJ؍2okR߈Eb_j>F#2%O+&8 |fZ"BiІ|c=qN(iN7]*VHU +uA $wv^S}oLWk΄,!mPJxuW歕2440;߾ G!*Y.?+Ƶ+$pBW}pY_Z%VTbpZ~raC,rcDGSuV~Q*HBTH6Fq{lhl%GSFgYNrA$ֳlzsEǒ]s  $n+F E1fh,P E:zT29@ag0) .LwL4؟+…$Fp4grtѥ '(roRst#$df?dW3*O7#f_$őVwrꓟEZ00jLp))eDm8M_v@Ȑ\%MRlީ9Op/ R#&F%S4\Bx8ޟWwd׫N>*0b1ùr*!-F9CWd]❢H9^=o*vmWC'F缁<JƗnM>/u']<,B'E[Ho8@x͸^׆KS 4ۉDr֛qcMɌ\`ᛦTf=qBz$ /T ע鯏yZ gvI I%hK9/+cψ2)xgp:6 ɱW9%lhgAR f,m I܍~ߝ6|r k,AQUTZěP4QS9N93 Q yf"LT8RU ^N3bD/0/N2%& ?+ c*]vJqXKdlP=}ObÝ/$MWX`Gk$j_oi= OSd{Peu؉3/۶gf먘21t襆MKWH"$@ "KN>W(Щk'=x3#` ."1ZxJj,,J`kd!US(bmnt(Akq>1crCø)2 ^v@RS/jp*En ZiDG m+ n\JZlay2_\Lh4 pc5*x#66{RXoA*՜3ZDSy˔WTU; \CC] .kF9*5:P)+mDJZGqv$~ /TEعH77.&ƚ5q!žMGLNJ 1iq @=ɈɎPgBX %5(WuӶsXWnWwixZ7e!nJBd\4eCT:yWb3Obz='By|׳TP=Af7|"L'4Гv}4< 5[ÁnxA ?C#I _lPmXG1U[l6LZ?iLs2w7gxV7?F89cNo,q~$Hj'#h# pq9q#X IT(Kg B TA6P<&˫3ˢ3n>CvcVi7M#K7Gw 59EW)$逮(ƃJ:gJ!TW5)j,1.+!cP(4fsH\5˳&XgX6#(4DsS92lC7ק;miUz*Dؤ~VU*UxYy&z( ^aΒ,L3T6J f { g[owy&d:gz[+;|{%yH$gz~'©~NQFlE P|jz&)r(zǸk㸮vCZ ٹmnWK],kJs(>iY$,nŒU D1t 8\@(!cVDfG]g*# Rˤk5LQm3<u][]i|2Q N&zCf?PE Q.)D8$Iq6!9Y$*%\οx["E2KjځH$XJGsIY6UWj|+jr>ЯFnѺU7.rzfB/Uk,UWjoHei0ζ̥UqgqNu'e\rՓ2&OgLI#M*Ne^Kl/ޗ9EN#) _7XU^ӑvl*X1Ĉ'&ܶj_5]XLzjֶEr|1E$:!FHa?p{wU$_>{!1YF &wI<M՚k9gr$"̫]߲i"KyxKd'bgWNl;B}2AxKth1Ny<n͝8uiXcZz~VbQ\ؐ+rE-XU&H/g2.l,UdN1sDi2\i$1dE%S![K27`hBN܊J- G lYŠ<Cv%0^2vA^= 4>9ݡ0.*QB@ĩ_GꛢJ hZ.ٓ':$NVcUЈؓK#epMfbHugӂO.w2>@.VD9 "A;,YW|G[X{KԱHά>[P!'s K)l7)F}II3H@R _Hu '>ѧ$("N#K**4U1f|u*H@D)7Ţ^+ۏnjSs[1t9Hh]xx|XVzyeL*TaʅyoTIn,LHv`@#L^EX>$G8ReH\G&h>eoL#Z"ʍ|HPO|%:TND?AH-`ˌpN%'T¥oa-|qWFO])=%izwQkD)]౟,Ȍ 9&aAsse2%Aw"Էi4L{ZM6k ^,hA'M;څi%Bo'0gH#d3.m;j|gܥߟe׎\mȪTQ2@QBEMZ|y2.!]qB|#,uY zEKY ċ >cErrڷ;,m !>2j]\ tiA^^/3j蒍hb`׼ u8y$'˿H)R/f9y]3 Ih8 nvOC>T1CS6ڲg;#m@y4ZTib%Wp*j%%÷rnX4KJ/~G!7;8TAEjUH@}TduH\rp W}MQEf7[^ZpqoÖU$RmLLoLG4-kzR%4f H?V%56B!v~"s hoԉYB#2).IܠEDe4/+JV[r6V7$XWڪd=J@V8"L<-,h0 (Y?KU'gb ~g\IawG=Bbx4<,U/4u .iwpoQĶzXr w&.ƷVl$AJVJҧiќz!ZsqMz< R=dMNjj!ey(6 hka7 MHs$LN><";$E"(A'IԼ}iຬhX0@(aI;][!k$HFչ ϞEL_r.7Dz'l)+mѩNhMuTȜ:d~nc\LW@NX _cJSҤ,''>5%K7|Ԫ.bIfgkѢ֩R! MFsO~kxG,Sd)~Z#IJ[^Lfz|i5v1`ZZ+2 J̩I%rrAdGdy.;T4#}qJ:PJ/1dȽ+ tVfAiN/II-\!kXP'ɴr*iDPi[:3Q i*!d${Ѳjϊie4[I?U6H#hK2JY e*Wf˚]y'A""2Ji(ae7La罦%.@J7ACAG ܟF;[2'_ZGG :/`ANLfEoiPudͻIJKn^&s]BX6>I1|VqU6nqc6G"\X.b s'-J=5*~"֙ :hQ,ɴp]b^FPRy1Pzmb6nB[ޯkVh=>38ع ȍXFȢBa~^C" c㕬okCe*$ sbce$9֌&ҪKЎ1&C;zļB'(V@_/>Z"N%l!-5/$ӡQ"!mѩ\SKi\uowƳ:ȓbCs5¬-vpi4XSߤ3dWgeWܰjrP{n4%y0n~TbغZGT%>QڸPY a(|bj2ojQK,DևiqەpAr O;Ф+}ڄeiӚZwz>>$&6FNgshWtuyd)f?FKʚCJ8ePܲ|DGo[?+9} 5.ΘUIjd)}IŮPNraC۟ k1¤43>Hn;o=Q*  !$VoEA'8 $N'g,j&A9v\+/-Ve9A -U-;_0ZC. GF!H:XhD#غ^A&#d1%V-\/",˷2z2:E}2.VBrs[!ЌK_0#UPZX[r16QYHM_-,Uc-M:۰C(QkԻ%r2D Iҭ^źeϷɒrD;7uo]E[<^p皇I^X/E^ZU#e!BѐY}M>_v6c@EH;4M+1|F<#afX㤗d:sz+ܫ2o-\&h~fr!t?*Džc$f \Ea;y-*,3B'kZ53EI<7OI+tH.̚$-%RH֠jv~\/47 ICњSAadlBHPpؤLt'`Xb<` Q4Eff`hX7*HʏNv;axBv \ @h2FD9Q̋G=)/GiфuEmEDG2VE}#.R$; m (XDf4%^UFie 4 's 6 i*X[Mp]⦖i6О}O(%瑜c5&Zۚ)1w_46OvZ|锋r C410e'2b4c!mdZe8bE+ \ռy & 3X|X9Tt|@-RCjM 2TXA>+ALVTR(0zp9<#vR0 c{`Q:ǒCHl@Z]NԑNb~LMze\Z  '‘CRqIUWGJhN^^9ɀO L _ @f./LۮJb{Z>$ȍZ"$4fo2Ǚk͖|E:kѣf!mg 􋵿< Z;:sksPڃZܿU[6T \ɺ%Ή+.)ݯvA#aC)'ڙ&+W%uk@]w8~Үz=4NF47X2]fV}}%N`EYLW݈Aq_46&#NsdQ.Bj^?džRe#E2%Zk8yTOXwD:e1%8JV-DQHV^ylia\ݘ鱌.u0o)+pM܊(BL3w)=V&;ΚX}7c4[nT*PXe6ѝE)DѠj̗PfdB +0,f uY8-w;%br#z`+M (~Nb}h\!壐vJVD)1~ bIcrvz$!EjF{gz,X4_:I爉s&BpPlſ0]GF6nʎΎ4eːXq2?"NrdT]O"DSc?+T5/E{#_LaZtJp^ɮhtW:c!{ck7DS6^QȔ~=LdISy6;j8kqg HmTJvjc`v ;©z^Ȫb62%w,T3's첥 w4v;r;[6 0d]^dѴJk^ԡ>Z1t5Ou7j殊➱H4-BZ{bٜ]*K0OEVYsO=3,+*)$^E%w^xDKG)Xb7tNP*_N ǥwkfk8WSCU~#-mtALnH_MDPk\R4E)K1OKdQq/[UT+ ~g9'3JKVT.JVk%͌/N2SFsLeYyXTGfe Z^ >yl}\1Sn3$ٺN`~NfC/9ʥ DOIk Zu1R`P-R r"J?lLɐ% [0/j7í6>D&fŽF{DěІH"U .7~$#=V t6*{ adHq.'[]\l%N 4:Leva6qK@Bڬ'gSY+dI>5I"u*9\")>|-V.K%<+?”HLr[ Ӎqh?S0i[ϡG; 0/Pe? 34,2n 2pE #׿g QCY CB@]:-~ R\iNE=}H/g,AuzDyu x:P_؆lm!;Xs7' l#*7|`[ g )LCKm!q|U|$;+0GX3JӦ2y> %h:Ge6:!=w-zcMubWk wlwv4}M@לVWB!gwVbLT_e(fNh!K2&y/X\;@ɈɏTB!Jrem.wS(v6_$(DG$7")04Pg'>c[C߰{ ъYWQjiRːZhѪ`eG_>(pSH]i_->g|"#*ͅ4.2vڻG&S1GCk\'6:@@MN)7Ք[';j_q\̼'eR8C"'-NIsC->7`ĂPTSW,ER'נyxtl_2dVFycWTvS>V+gJE;׋ [CK1upyn%W`,X%mh h$Fb'k?""+Z ^5Ǹ~;$FN/) ^ >h)+RE r" Fi)VX#-WdPv `k ȹj6 (('1bkAv;t =4Y1UJ MύXU=KsSmPIF-ln s8-L⼼!."^;l_^#A28ė`4]:cfaiSOfDN뺉y>>Ad7#m1$VW] ;9ÜX銴TL^b"KkbzxZ'ȫ1%ߵ16e"tlWv=0@V1Xz|Smzr:PX j5-aaUhG.pJH0(pwS͘OAn |`z(y2QJԹ*Qf^};!YKiؔHܣ|ORE=K iD"ReBXM&xeČ0EqLN> p$F-$ȹs#N a򪥛@BE3UM G&ز~֨4Q\v5d%ҪUx^mFHgn(:FFbrqO#^U_yu-EaHe_>VO_Eb5\> <6xPUGe4ěu6MBo(pRNε#M^")EH?42jqR7@xkHtռZK+  %*߁C] i"mSem0HD*M<| I؇Z(Y nȩ&;+2MRJ;{ic(OZܦʠuS FnVVd[qI81>L.$TS{XYK72TPaOfZXJ~yg ,i-Y_°LTGf#I8D0$ѫM~64~uI VOq#z1=mkI֝U1Ys-ѷ-"eT =Q2!-iyERm2%5f/]-rl)ZbIU}>l5JG;ǃ.Q> K84%frC-ƌ%TqU]8#R0쁘X`mߊ9l/tE?Q# T.y/!Wqbܜ׿-L n@!unt.Td!_Eg&TW dUJJ>n-$H]L$b(đʩe"uDŽcaX=."Glzfw5회bHcNԀtnD'*9{=E^[^l{'#!ZSsU_T/3XRo[ mvj%;y"0P}z5( "Ʈ)E p PJ*=L( ݵ6LSt_F"Nw|ZpUenh\iKn@a`TVJINQHNiW^D]v`q[haX,*ԟ8 T&̒AB/:qA|R%s3NG^zWSC, ѭsԭCi'b^k;\7]P^3jԇ~:~~k#_&a.S_mփLJg8 h)%C)⣴m`SCqܮb21>I5Ld Qq1; ţ'6Wm߲dfF4cYXs`& )JIl yڗ: )( PxH$ UAEfk!P^, EF"B Z$Y sNNQZߙ}' '3{lsg#rj )('H7/uo+X HS!`2t2$,EkX)p%=a9 i8Z1 Ǥb?:޶5w6(U)u$̲ ]53fVWsD4*e RʙFE|3 &XW*<ҨLXs$B"=Li6uiK"FN׬:VZclzWVOF!Ch~)rIjߛ3∤9k B4ǚej ,z%YNC`F9z;.C&2ʉ#PbBa%PUS7M 7Vۤ#D+ә|mjGY|̓ds7O.|,$I8W|N($1VbJJhVZmpҷT C",'p?WW9M!n3#_3.KS=U V )4Ht [vxI]xf<͂oNڰߴt'ZbT ?M #ʙ8VZI]i s$pM)mٜzp{ !/@@ \L*"BƜ7Πn#dp#jSYq[ hJ#sv g!s4 Teӥo]o-:#ۑ'#A~E+ FpKhL | 1q>(@1@Tp~@Hr#WU-\rˏ2d]^\f;0^`]?SCqOf$u yA%]϶Hr[NsE]jF3\$Ȑ\L(=J` |1(bjf% 2 P\zp  0aN.ƅ2cOPZމZZ7A {KؔIT8>c'p3zSˍCP$ EJ{P=.*$KJU {7hZwH1}:N¦IsaU%5Y4iߚHV%#?|u)1Du֕$"aMNlUu{i%i%]J+H6^Ш^ ۦ1Իnw-t(H)%-V ֥AAgl4([-]z 3|BOBA9>Y#<(+BDְbT5xj܌8-pPv/fּ$ (V201$Ub!I NŒQPcNJd\'|vSbC̐wRxXu-g3]2VIOk?Fʛy^ΆJN?_!}{(Qq֯`&r 9/"Ĉn`!A 'SfH)&3"8`B"b:N9Jp2h\%s5!BEkF45 h y~EA*DmCDXO6)YR䷗*BģD9KHxBeČѦ'C H6A|0H|lZ K6o/n?PHtC&ԉ{0L%(|R뾆&CBB8u )F@(@-Ɇ4 BmTi.2oc#I:&!"5O ^P (kP/!x)`#XnTx_cVV`Ղ2E[]7 L6!xU_#@hz|b.="R*PoDdXB"iIWD坬납BTOsFt63$I Mȉ(&dȤ|tsx"!uC X`2hTK013*ۢwn]sy @!q\/:$TXd&}W@(L(Dx&HNTj)՟I[~लw{u{YYYn\΂6 h_=m-a!xW{6鹨ĥWz4oR@}ifzWxսW_YϹ:)tj-“J4[RTTNlwVMFCnY4/+f|WI#.v`e?F`:NewY dt6ÇAU.k> -T}PFQxiOXQrm*V @rд$dA;]Rjvoĝ9^0:Eq1L3 $Z渳 ɃDL `BPAaDx1E4  mKD\>mͻI,7.RѠJ%/2u9rFzi=&'=/^ ~pj%7O O=="dsF;}ݸ?H/*cծ]NYhy*"FbQI% UR.LI2:F|.NIEX;S\BX@mqEG"R^33 CPN7<oo1FĽkT%<ف^bEd"1aw[ʻNPY:i1b-:,|mk‘13ĝlLuXpM`W+}k%@C]W9)dW^K ~vVFVi-띾S('4~:p)kTJ,)$L!^kkL=q_7ɨɐD ,CDNz1j8~uXY(2t񒢰 _~/ͣˤt 8>Q;LjȐڨ\%-d $?8M -7c3S]չec~pܚP6t.:h_^3BP24h]oy 2 _[pͤB |ӨH/HH$Ⳗei/Q0B$A"Əp҇4yMըn: kŇ #ub%m@BF%ҵHĪMK =Z&v= vΎyXL@eneBer{W$_¨K3|SH덫\|Vxmb7;U]wQdǨ"2c\2sCpG*͚]HK*eU/n%&"m~O8=CU+pf`lS KHc>V2A+;kBCqy%$gj-[""J>PusBMekʍ-Eš"- K 4ټce=56#0J-R 1-Ed1. g9AÔ ԻGl8)%~_K)>'_I8r&ܵRJWCG#VLaQe"lyxuGJ님뻖Y:&`~ډOddh2U2D\Z.cWW!GMmQJg;Džs1u JEXnhyHH F)M]s$T)ƴR; OYzm}6%8iϒCT<'q)ZB!'PR_mI!SJH+jjܐRBZq -WdLQOh$K ,D҉֟i(W LЗXz%2&y8K&\Y#\U<3{"yY$rDVu;>F Z$9*Q"B Iah_IlN\rBСym"LSу/}"+R.UR$#,lW>( +{5M$*"$}Xg5d#`BLkR[1A(NK\[l@%NeR H1!)،Z~AxL2-€LG֝.!0#nдDs/ DU%WQ/,#!BOyuf\M~SQ9oH2&ҁ 0K"[_ƒ}Y<) tHA uG2A`AGa @&^8aI!=F9Vpy?*˄AXͧ5n]Gv8z/M3d!vrK~lHdfhOY]2"DžB! lxȔAЋiX|& I&JЅ X9~b7k!Jkxna5yb#6lHfۘB3$kY[ )dz ;ƴ.H6FC9LBDhiJY[MxIS5co͚[DO}c]{)|rCUݍG`q.}E*AD%>4 8p2@e*(Ѷ1fp,4tVym07˂H_J:qu":WCm0Ű؂} AEjxW6ʇqQLCD(h$y O LhLlp@-]>&PmLNIjر@D&+BOE؝2PEWmVWdd7(=Wqן N>[b72CQkeE2Pcޕ,VXG AHd /+.zטEy cjs)ЙRmh 4%*P/Zq0:}-~lpJ(:eSҋł"NeFAH,[ , >I( Fzdk0kSFnu$A#sG$ ^%?UAKe5jjʊ&rKBMt {Fb%aJ \4QMq AfE(ghQ*0P$8 /qĆDF $U9JBk8h 0 'Vfe0t:>A x|݃訧5oXP m1F3+LȬ(u>V[A.*PTT .$FHDD.H QKEG0_I /T5,:٪7#1n=άm(wKўfொE` g]?[ߐg*6Q^|zY 3@ ínfGM Zt:Oѯ^9~PҷWjk^ήϊ1 /|o_KBS?kYǸoF\Y[1xHp ß(8e#cGJkGc+`Yn!`;򞂠p$ATAT:XzA%4cC`6t4E!\l [I BQPӀZ`7H&9B"‘tDO'p Y Hh՘i%FBWx5p#`:3B#Lp˔5~*ٯ2&UA ..yFʊI,$Qx^(ɍDK2 _ GX*=؍ QN"".eǴ8T&c `~ ͔*,8f2A*q7 *m#›ؕAL;wc;N"J#|jeLqG^1BA _$!&c,BL&` }@ÁKaL| b5pTpUq2a I>'LD$,#be /.$ SZp**I"ˊ(־4u ~0:1C6(nEa)S}݃A9J TI(kυs;cmVqm(J.qsB0yك|3aW$ΊYʖ1:mMyX-QIsA聃(/ZF)/N6_x}b/sW1(RdoAfhē첨}I Yy.d ,Q$x? xC`HOU#D(ag$AcY$mlh 8`rh26łG\6LA6΁d7,D\T%6L`4ὴX!`Cj).G!I0Agu\7eSJ8I ](LNrU-NT]x7>20ڴ!ĉ|U~2{wd DG-kims$E5 m6r$tKDھH :'>S' L 5ILtʸp&kwW-K;LDhB]pnIa"2S8}EXIDrs{Xeec A_!5XؠqB ?@ ,! ӡ?LdAa^.B"$\UuRv̨K@RzDʗUc @Ě8\SҙF>׺17hĹ@j~Lk i)( yjXU%~dL4J^}@F]0V/S~$n%n[TY >GtrU m(,<..1@g(*#I,A4Bq ";=ȺH@nץh©[|s=%szfTqqIwX mӔHhwIs' ` < {DI6B%l ӞҌ1FVjrX6-Ϯ|@poVӱ{8TUk-']>::g"b\1^ QWG_fnF V/z_DԧsYG*)MRۧO`j|@܅%Y bA rSADaN~M|Dt@X8(L*J`l PLP# w U\2{H( E N/a2B "C8E(sHL4eXU%J0-j.H[fvL vʓ(\T (l' MMHe_W\E'\,LK]6O#w:(nʬЉ*]Ңm7ꅺZ5ȒSp'wI(G+<<"0uHn*`dĿQ >s2[O8,AQPHtu6F=R1"XR,$MT *Ψ$> &4%*` >ু.TaKE|h1/E8)xd}  ޚL S23fxhR(u]^1r6…pGoBE"Zq-&ӧFHab/T%6UQmldy:#^otCfpP{ahzed>]u:BXX},oET$ؔt& ` }!ɨɑNDzh;N'8|YU|k2Ae]B0@wOI0CT~CB.z.;x nSu SEę{eV[z`(͜nNMU旖&$U@.H6>"RRgV3oM*"FI}u%upArhУG֍Icm䈨E5*2-#嵀AƘG 2##'49W@BҰw| 0F7_߉9e<~_dwURwJWȬDvmeb[4mu+k@.mRϊ%n'Jp+! D"̊-sZ|4e6[ڞ=\#A0ԆݔQ0Bx22  x &L/6K,4AUQE5&IEUO$#haa`^z|(JEH8@BW$*A*Kϓ^AFCeKӺ񑪴(7XЕz>"&deVQ;dwClo?]+߉4.c5Vfk?u;WeALȈn<ƹl%ҹJ\]ןHHISչM:vJT+1;f*!F{\?rz#k6ӢiD F՚3W A1` PfF<^(4pP;ؼRrCWI4p& xن47s7jNNB,xeeE.hgz9[.*Di/@#{K[CiW5wi T[LWk |.uoIQI{pA!)ca-eW6Q6 hg_wD2gjdp1nJظ7΄Ѣ<ѥ-C&38*5tsGt Nzxb:] mjIOfθhR)PHD`1BԷ:媲CjDцqe2TY R[6FA-gQQ5w#V3V\)oQeBܟ+nEgM#,TEPN`e?&bTEǚ&gdyKq!_Go4-COg ih`_(^ZM9`(x9&VBC X=3i`J$C`&|潧e"e!k<Um(aA [FdBHcWzo=6.BuAk&X$v{Ab۰^kٺ5ʯ=c>ֲQ% zzB%uL$ Q]MC./+t~i\cT}Rˤ7q/7ԉXlQ:T{!2KZÇ/j8c ;83;tw`mPբ QC$ cL05 J Db2m iNإ?ώfgkvl͕II\@[[ Z5.2x䖶o\s* mQMb؏p`2`@+Žԛd^`JI7TWUb:]Nθԏ}iB SM=Tea|PңE"豒 #YUw8:c%ϭ/O~S,2(|]<_Qտڽm Ktpf޴QB*$ -'^ˆLALCҥ/+VgiG1e~\I+%D&(x4)r8f b49,$qjZLe9hKg7%# Xf=ϻBv L,&(FOH_zE%Y 8 &8U&GHhr҆JFEak`tR ʼn)7rC+Wˮ/;<*gj׎ n(8#e)C[dXMS^YScRMM`/p9,,>7X`49,GB #j! x1  z@t[F(@M) jeP?mEfG\wr("%&%"Y+I "dT֒H65-[Ug.loS I.+Kֳ厴yݙ.MJ!Ј )ŒvJ+4U5 $u [`[_,v !w2 &#c{팣&&82{:;?s_r{dgm*­tIB;ߔ"Yš^"TZQz]ZL=u]S N¹QLEVaWUYk)'3}($h)dQ yxTd`fzC[g jٓr(jZffIIIB1~x6iM'RŐ#^Y!d]=/#ToKQN(9Cj9~@ɛ aKp#׹H <+7j(R*LδجVp4: .Bi-"ׂO0H@P|N^2?V̦8]ׯE׬+}DITnйʶqֺ>H#4,JWV%}yU1Wui*(y%)GX&6=4d й4K>#)Bs3Ar\Dvj;)3e2(8И.vw6 `6F/^ Yå`ڪD}asf8[8OUǏqKc-IAhQeKX -`HYmEe5cB4 W]/?UeX.SFS e ~_)A\KPϪU) Bu?` ?iY$s$dcٔ?=G,ݡJE 2ÛhA2d6d&}Ry4{UDBmŸ')`~OT ?œ?$GEt[c=p,E:T0CSHcLO.&&DLjȤA`un9I ,beEB%TUKɃf9!t$d U+%@, 53PMAEKTuoN;8v 9uhqYr t~ $iPJsEG!$mqh HCeˎrA248)U\$$AJ)#Wa9j )<$$_Q%i_YTHmaW#}{Kw~cT <*xX֜:RPSv&mŒ74tHS8b$~77NdL*E ư mĺKb dǓto8d$h.[7s$R]dHNX|9Y3 Тd4>qw4"T'&%Hlq3HBeYbf/NBaA(mXF;XD-+ /~!!+| z TI'hi%ӫM{H¤$";$u%ll"a,?ۖtH>4oALhPF${ϫk'XFS42((JB 4|ۊBDf*22ډm>'LoIX ILH*4 EPGHQ,#b7&BaD6RhvQKO0I!#Ut98LRE-S.;) p򖌑j)¢݊8u-6:o*TFH{fXCppS9"$/K" {g|8EoеۅR3 /b1ɗb"K<-׻dE-U:UDuy8$b ȉr$3k'q~j#a 3lH62@FVzHŪ_%> '+ꬬΊY(#Lc.1Q<.Ik۱a.SgsK,Zݤ\?HΑ_zP(ܟD[ ɲL%%[A`*1P8n>Us.3?ei'x8ë EeglEj8\r'}u4r +Ioٴ to=& v>{P@F{rMDBM T_B`]p<++I=H) *Wݧ?\kT\-&-dEŔI\}Dn07 hpdv9^[ns!ˊt6LFт "XPoY~mIhCeiR7b|H BŭQ2W[5Ʉ$R.ݼ6"u7.J j6 ( yDDT"@V?p3rƶZGR4@%Rښ;u𖨄ʘ*/FQcd+eÏeOq% <'t-.퐫"}Ǿ*Qoىց\(M-" X!m^ot x%W Qi{''O ^ɨ`my%ŗՆ0U؍*sR`+T@v#Z4e!&,uB@#> gUSkVF1Z,U Z~L2eEYaH&n% $BHKV_8/u*0]I:CwI֙$!t)pux0u-1ΞʲAĐFfЊـvbpImT1N*zKNk eF}4XqXQ@N ˥(>eMϢX"fUQzY)yJvl C^-)/iД H>pAqHS[ !b}X2)1j~QSJC$GPY?*L.BDYNp$g''RYp:9&ODqȡJ;( ;Xa<D1ELnbC(kq("wh4w;f^Qq#`93{\ V1\aĦj)s{C~ ZQ)Fϑ|8~9VtU`v.ܤ0 4 \mZ3np(p\WkHts0N*1P/h6-(##h@ B4BzMv;M擛GJQMt*VՔ--X9_wjtlFSF}}N{$F6?DL3'b,R>;ܯގJ'LN ;#_#"MCo1Q"3q6UBo<V̗-9+ݢؔ'ev(J-MD oYH/t:/o~g#&0j!݈¶2șR2t6MX$#\IGb9X$%sUd ů K63*uύahDU@oW> *Ĥ/n"9D'&{}&AYEpRB*1J fI)h/MpUΫ?faYgF=[/56BA͠!`m:} ~~$4qNФx?x,kM2.N!v짃lx|ȚUM"L% 4BD?aJqiS<<ăHALb bFͩ.DkZLQ[gOZ\tֶ%2!͊$>Q9/J "4l36\в 5gLlHga+BN$kݺ ;?V7Cѧ2(DNҼp5FqC^yOsi=\|ཞ^f%A Ȅs$Lf 8Q `ScҨMo60N5ZFVɯO-)ue\X -5];bav+:bkCEfH!X\gXLXKdLE!)9=AZgʕIsU'Q^yxnTEQp1uimJJҎ+_d%g*HHYe͑MAjBjEwYRV8HsHIt"l0s%lO&sI TtLk,g'颽C\xhFLjŸUAmQ17DJD6 W$KZU(0:P<Iy!-)y!`yaEn-i LnRba-tmKS~! K&YO$~>))on+)1PTTE˾oPl{8h2,EUURG ֯ޕ9C$lP#LFAIoe '!:#v+xj ϠX( SlWrAL eJԻRvBXT$0T!@S J48ALP#D'Q jzfI|4"jSxVbcvװ8qs),:#2W^BzSweoYk!1֒:jn(U1߿ ґ&ڣ5.VI=TCzQZk%VGk-gFAS`#=+ڃUY #K7߾ #rQ?H:8|>80 = &(qrяvGⓍ_=Mx/y=-%ɻn#-#?Ug!ڽzg3(ʥYph Alμ.EhPq'\zb ="$[1x"^6eJOzL;P@cEhnFgwp N zhWOGcgu5SUw KGYp{TN"AF,إCm]6u4ɬ7aJ_!tu{%\`)+E DEc IS T .:XŖhGDGah-UP _gI3>HxQ§PR":ZDVw4BB}km1-xA/9(6Eň43kT=mu,n(z^_G FM'YMP6* IQޅD|:s~|J ,+w M r꥔&[Wda "!kjyy=̪XcVgMBj)XQdZJlϞEbO 6оn̠m6hP¼|C-1WaTKN|~h@ u TV6eWM#VAdI׾Ȳ$I6$'a*#DTt wo\T,ηS>V=4 >IPu,0#?DhOv-ErOe d}7əOMK KC Fl*ѮRJ- ǫW޶W9YСjAY鋖,̦-FQضҾ,D8nq4-$PNaQגIj; +PC ŗ( e'ue:9iPN)shc)URJ@!F}]3D.q` !6HBenexQZeʄ `A"QWhj3-5A0$t"SI8@#ðPoh_*y/JkC+^vĊѓKy±JQ0v38h*k˅T${+/}%;MqɘsX%~=dY^vŲvCѽ{x:*0 u@LE8 "v@Twk<6B_&ųR gk\ 3K!PFG7J5 jAAq@hѷUBV _(:ޫ ӴLwx +:ӱMqxz.1+ʹq CD%" F nAAT a=k|LTE6HqJfKu0lf,4UtKEb"O2 `ŒMn-)Ra9]Htn#[b|\"X4HWa@_h&.$9CŽa՘Ռ-̺b, &oȬIOc5+gg}~7W].(A . p8&׼ e+_<۹Q=,'z)ɸmw &Δ?$޸<|Y &u*o,-nJ 4;:p#&vHj #݂z|f.hwΓȈs1eߓn2υipZ֮nA\bz+ڕp[3d"ol )Pyzp𢜼DsRp.TN(ůI{bgE1/]|^6?LzRF3c<]bMe4-W/& r ;a%йƁL/͌F3AԈx>{s!)=fBțE-CV 7܅G>hNA ET}'ɼ֒1ʛ+5b&Pv][y5qebI!ڵ$!yBoxM! M 5WMx[UDJH{ 6'^IyY[^!DIIUɳ|+x` CH*Bё6:[*!X@w64xQȎ1hϬԠOxR UrB.X_bz!3+_חr6BZ&u+BJT\MF\Jk*ԲUB% R#] '>IL}rjjJ u7܈:r1؝jZ;OS?4,7gi bw)>ޗmMy"]" E̤I0dWw^t,xHX\M>kh _VMG7rN*HDk |GǃĆ#Zp'oJ.ݚ6Bz ˍ ̞n:da-z H4qNwjneQuOmv_tbBp1 Jŷf D.̗I  ?֦r*rXkT>$8m#v.T0#ClO[lV٫^2=Ite_k[;ż!DPSlj~Jَq/[)aO.Ȓ]K)xC(gHtK,LEjOe|QNHQTSTeQT~H.d4`SeLʧXՊ.l`Ƹyb=m҈#E6 MT &؈蒋(k ನK .4(t y2<@Q I `/@ a]! /̑H*H/5f==AAѱW%?qHf3/0(@X\¬1\3IB_"ro ug$9aoR\^Tq%)rpP^p|!zLoq"fG 9MËԞ Jj-D׻"Z3vs*z!kfB{3AU)wGdsIuCa P󔲬j52"c0 M3p1eVexP7.Efjc*bvS`ob$sdQ(ztDrM"p6j U QLaD8r `)1! aˉ,ԶaT$T-b2(趯qdzW^aM5 6KfQTewK"H`+*L3K_%;CJh]eX#LRAH|ZmM7fy \"4U|#d}1ՉV~2 ŴShI.23U/EμJqɻ7o'b,NH{n)HǙC;# xtASVBIăc Ģ)# 夸 >אm$TDc|q'hyV6tR)!d=r L5iW,j)JTɥ$$ O0E=SW6‚^hD@-!ĺA !" <W*J//{`?D>ht2^*:`+̅Fp"h%AV:+3v|A R2"DPgiDSRm .4GR42qtPU]\'5{uM˄gE^6ԡrЊȩ#`~O,F*U^NYꪻYmRwh+5s,m tTŔsʐuU!*JzL Q5=h4`( *RiIJדƧTA* u ˌl!sSI+ϕ *$Ag FNɨɓ JX7䴧'0;JPMR$Pʤ;d"^L1 Y*Dx$x(6)XIjMaBl4K:(p0 0JO-2 1ds܃E2 ERzmÄ}_ - d. HH e9HhaCe.LHr0j2r[*Klgo.i4*,O3_ mY9vھ>`o3WJ/8;wEq[""y+.sI'IHbhmkjd^s 4W5ԜIN kԗfY䰘lS]ZWXotXN 32uL83s,޺n%,8^|{d{$n<49PpIhF$Ӄ92CǬPB 4"PiH05bEˢ[oQ+Ȩ &BD`ßFH7Pz6'Ww`( 6 9 ,@ FsўI|"`` 7P.L6hHWT3cd($枪 9򬨎0#Y֡EbqU 6"$24dP"x]J e.RUOͶUo7$C$ۿ &&c$Ma RhFrx@ɊtX- ᑩ?=Zw K>;U orHnyI v"]Q益מ*~Eε|IT; CrnL[zSMW jٶC3/ѕ5Aәņ5$-Kwupj45#SPwG#Jb)nA7XQ2o-AM|@xOm6scb*l.wD߫$9R2TXOI%$ >R]s=$*?'|L}) *+Soj|tBDl]*N1^TPl*Wh$߁thӂG~̚F`PHEEYca'mk [pBm ].^ز,Z62 AM*,c7MMr"~R6?>A ̊d@Oo@}gx,AB]_F*F\Xbw ; wFj4 ufp(g_dAB~|ԆRjC 1 (Xf?jţ[IŔ 5 x=D7Y&MsϠZdJGE[ ʎD)5R`D'kb27;28z!-3FUu,MDbdMJ Ā&XrJDg4YHPFN'sЯ  "llyn=z r aF5訃ձ.Dxk.o[&pN)NН(Z8jM+Zeꁳ!UV⨗TkOoy6U9X3j &j(6؛4Q/ tjOPAfՏAXK؝};5@c{U=1 ϗL"° TTn3Э k,Rпr0Ѡ* lGkLrG; D4(qjWM0+5  4?W Sb{:&+V92QXAn" 2]PҤҵ Ȃ0꘡dze3kwQt%Z"37PowܓZPmgFF.A,~I'aiZa$9Z19?Dm0zTWGsNm\D&td-&$ ީ;]VS]KR糖)= ,EPl$/a~[b@t2@`hK-G"݉ЉUgŎ7˼K)–:UOˬ /HXSa.aBC.7r`u:iH,yPV   ۝.5Od *]+Ck!ŭc׳t">j5s0곾w@cHh-JWߣ$#LN| V-e{N R KLǢR\)N2 G[VcRn~Y|ȌW|0W;IJiD*9Ym?3v+LzHhPrITJ4W ѤM{wv>B\cR j7$. LAv<%ٍY|#R(R(u]E(k1LW7-+52'EV\ND \u@Hjv!FĆpXGt#5H-T&:Z#R^L$/+U*X'˂hU ѿy`mEƟnU ^n>"ͤ(/ F OlP.tMD#ihxgb/C3-CGQ!6'͔0t@2,O^pgM-ḯ$ܓ$@t@IδHL=cӴR|;$.UOe'W'pUh_$g}s%ȁ H"Kء`yGvaLc8 fVpaTIsV D͠>`N$] 4ϾCYO ɗI[ܘNU&uhϿt\ޡL ܈^-:a!3{{xٯeGQ, 4M 8"rY؈k%NB1*4h ]iaht4I5^Rg$EMI|QU0E"Pw!3  659znG8LKjS wHPٍL*~͊!ĄBDj((BUDQKR^)+e"׺?wZ5Wem!꿍`[|rzk֪WXEKFRPgnc/k 0hPBu1{0cWjrݑFk*C=kh[Jړʝ:{=yzfTKzv9xk .*VZZΚ[BYiA.ިrRBrDi,a%ŭ6(T9QQ "[`MIF0zT0܏QHQBVP^dL`Fz_@iYd!Rf "ᡡ)ʽ{*t jjh7}3 X2zkf AYJIHew\K>!jvg[%C-ˣ0Uvo̭,LtM񉥧 aOM9Ȥ}D5h.D<­UrwDN*v\K l-P3@sB[,wѡ/z"WtS' |ql9kպo&pKXdh ҂:%RD[(jcu*M/U5% GWSiK~tfOͼ93 n<0Yl,# wM9_T}q 5m% ]Dq[9Twa*V&P.Qd¥]u}ZDvEylN m$N$JLV{hi ԻUɉDAg_!]ȻW}k*oa7~5 de%8q%old1QO9#d} 3,qq@GP77/N@#+0lԾV5/njp-t(S{5!SzbԵl3g%= BvM6hMlVƜg"ls bTbW#O3ۑ+8 bxkwgU[sIijuki1ԗ*AȞ,P1}(8s6~kITBRK4 &>fd^ 6*(m+v/B0W Q}"@~PGLj AEl|5:O[lvhL&?d~j%/dÎq:PNׇBoyZ~:k$KldqG2h.L+?,*8;h$:Sk!plW[IC7V֭UƦ {)wIϼ^}% vIKa. -첸1I/d%u]jY6(rmh2+?Hvf~q;N l\8} ZhGfnx'09aTYӑ'IҩpxD(YPJP .x6= G ckv2(jӕ@^:[L|ǘoJ FRE0*ы_ۙ(bZӬ *˔Es\FLz90grްěPTt;Aץ!#rCFнhG##ek"$\\Xzm5U~:R|U$߫-&4T>Q!/Cxn؅4I YmȦY­ ."eA'QJkW>b@_iD_4]% ]$>rɈɔ\DROʩ$BggsP+$TRRy?kl=tذf|sk%f Q1_dog E7q7p_D)tp4 E4tB&F Y7z3L WSQm4ZKA,H| pyqљ $҄jz~M[?lpUːƱ:HbuܙG[`WK ,p!qޔ=O5cEږ?{]J$b{s #*& (G.Qu`61PB+plKTl i!!$t " #ZYJ} 㛗ShoOxJdUh^V&m5J'MoRgEjj,'^N|i=kh 1eC-[kKgK'C3G/07$ZO* $J 1נ_E꼦C2!ڲ5ve_ {|ӌGLhQ&+}V:#% )ܭC()Nݒ*ک <6f TkBD58#+qB6D$0Ahx]6ҏý y&w18;Ozz~Ԟ,@ 6o(ܘt"{JU\VOL:Tܧăw;P5+5+v?1 ^⯝Na+4}5B-^Š&䮡ϟ 9C*턛i*QS^Ld_5JA8! h!EAJl8*ܒ&;IP$E]5vE%q|c{PN\Clr!Vir'U[ :sl(JPkVB1욅>7#ED*JadA}/w gK&;X@@Y%2ixmcbvS^u bbϢRGWs?ddeHȰA6- hۡ% rРY}mǩ`R-l+d?i'0}jnlČ=Ǘ@eL L%7x+nV(j<͸# nPRJ H[\;H%bޥCo߁xzZ,,yM8?:5=4.T@6+2(ڴT̩#,!Xs/?! b$M-ȔD*[a a̝>PWXVRD+M[S`t :&0,M%WAaX0"ɥ+KƉM0Y&VOd$ELEF*^*h6NA&&cJW݉5߽ ξbI >QbIZ(a ME2 JX\Fy^csu 3U\5@Snߕrܱ<_Pz^EJ{]|J^MpPw 4Y@/%1{MMc#US"WA!7ݜ:v°AMN Z[!>WϒԐˑ WAEV!s$vY蠼N{$_4:H /ZE脊SVRXG\LPL =@K2Zm- tSG.%x؈LDO$ WT\WBx[d+L thHdrdؿ#~@GB9{wHEl{}%PLnЂ:{a}i$B֯U!n٥/}h\B,۱HW̳@v_WWWXH;=N&|qՐREp7_@w8Ȏ7ˠDPX= pGݥIUn b^8\τh7!A2/QBҍh?nR <VP9)w JR> (Y҇H+=wRMoYب(Nj:(JPB pʁd I:gfnw[ٚba^YJl`Q.qL*(M)O+ o։ J72"w4YH(Yu/K=EYiqA@LNPw5v:2jgmk='=@;C"ﲈG\wC'{ 2_)b!v% b\A7-4ս5~-49[ڥ J8s"&Xy%K $7Q+4xfH'~SOY_փŧvs\T-$_j(xKߞ9r*eVp@IFD&^A pIs;EW _^Ynv_*>G2exF.%p{px9M<$68N.F6{Lz}N@g$LYFXo9Qlie ,(]KSğc0u 4K\$l2F|rvI2]ܼƇiDrŨJy[RoTVROv>Bb@ڼvh*BA ;#݅m+YvyT^1 J:&qe0^x%+o~%zIzO=4V[@nB2>nDqڲl_Q)5O[!= /젮 AJ"5+v-Yp` $H7!A&QNE* <³U"8r+#\ysW+ ޓec&UY]Lq;aqN(ˠol!!BC2S'J:2!$ȊJue*YuކK3? X3{#YS *P1)+Z9Ib+b\vu(LwVܗYQଡoRʄ1&fv@je/P};fzIo;/9,[]PR/.H$iđ˅:ͥg*!RE:+VY45mln7\c.jrԇGAF^>#cO 137%X=Z+E/H,|b9^% KRq/~.bP A nʑtwωJ0lc8PBo'VdVZڶ,][!HTy "mez]7-)tW09rbbB<[y9_=wyWj/zA yPrä+͠rS'%+@tSksnس,.^P&s [2 )7 =jܢH1`١(C'Xؔot.IЖ.1 v_@eLZ @ kmUSSO ?rpTvظ, /0` 䴡[zBӵpFm -aBЈu&gR "EBl$nJؖ#RHIu>]Z4=Z~16#Swuje ճgqnU0#5d<,W#EJ:W_?γߍ[zƓe]KbuÐa@`3}8r^r/aJD}Hf띪Ccfw҂Ge2,r9drLf|,cFŔ@5w*R\<%RPRCRF.&)>H %^$ؾv ^z"\82&MF͙,4D{LЌH=(Uh(܃9i8A2/-pKC@i2ˮ#4ܤs _'>Rk7YFG3f*5ZI &t^IH[QK)!c:BAJ!S/MRyŅ4݋SmD^YsRM1կfcJDF;S2vbQ21aOQ#J2%*f˟r}~\#ʰNQ*R)i3 ml& 1ٲ+h٘em[G1׼#$T9M6ʳҊ>ke<0I&^}a}8 eq3Bgxl&b^ȗ`GBtGLW,FH߸7IdfO{쬥*V3kion43]O [#=dXpܺgY#$^C\2SEJߜǝZΌ^n+TeoJD$ Xg;6DB!P1읷؞"t֩i! "^$w8[5qhT>s"564uLJ*FɿVI[aĢ'r}NjBѯٴ3!2OY~&*c15I?L* ύ3oi)bѐm -^݅noecV^ڈ˅ꌮ;!q,2}ImpZdE¤nCTpP 6rs#w\S׋2KD_fhxʻ_{L 1/zY3"ٲ^'U5q7ɍJͿ]RYTЌ>'B/e%Ź%Gx=G{'X R %GtG7h z%zm`y5`^p;) 7a4d½ZlB0d Uk\:hT@RˠROɘmVR(tq_uFxf\!DTuSPGʕ 󥢬0&)ZWuԶT`IK>JpzfumU&{z赀, #AWA(%U MSa) n(CMzQOn *O "&n!ACC1yA#2q#Dd^FHWO|'a3$$^4ռ:,T~ɉxsBD>Nw;)b 8:mlsQJBQua5;UȄ6~M׊{юy=·I"`@ǽB}GQKlZ9% 1 $o>k{42șn5t;73&s&=VbYfeȥu#'UKL&#]J22c*gx0J$5$ +Py4cUOD,ɕ@Bzvm=f5"3P| ,F N" Zv4JTN (xU)e8J4'/Zm} '8ƛ򜶡4rp&%NܢK:v8dКq q5lZa$j|VSRS͵[AXUvݓW<,n vrh5WҼ<JGI7+%܌%ۡ#J=7:4KcLtg^њ+ȕgYw:iV_8΁$ 492%T .q7^NJ#EXPvwg/ ՙs9 I&I { t뚺AgmA4,uO 8]L);G--3""̬ Z+jJA'Xj-N_v-U"bAzTVUH3xiNs-! ^-|(Ah‷?D3CqjB.JҗRb`)dF7,K@z0 ,?O"Ѵw:ITk )YTSNMI'v?QĜר^/fY1)@g鰻$R=(eKN?^> DJ=bP98{;U+TXd@ǩY!DkK. וJMK/oBWi£JT)Zjq /eܮjW»5[o_l9.˱/vџis N bVn\0wVkjq1ZKw=nʬZu ? a\AA:BRX G*+ɻ{J/i-\׾^D'#a񍆡'זNn|fEIHOKT'rZ:%onc; pe-/&hktmA1V tz?#~PImKsOÐyE݂vwHs"NvFD`. ~ șލV=^ȰB?fzU줴J$> WJ_:|O4$34HZRzHI]: sGy ߰:BJ[U 2lW b!uϾ{gvg8Vjc#7f2Q|-*>VC/>uZ`IKܖی?V#ԺTIGs !TjS/丹oLú9<k#%OBޙ![{pu#Wղ"saʢ˲PUYg<.۩g7nF\.4-8yo>ΪhS:Vbȩa'Y{B S S Ty>| u )~5?>.y:{')e4#1O.9iW2ju^&+WW \Q^?L"!yWk;ɋթđC:Ok:$nNwRӉ3LYYۥ2q2^kI9()Jy=ېAvV->j.s`agςbFo pR,h7k5W@&!O!!N"ƤJm4CYc(ϡiC z\ )&^ȥYhR^U- 10YR_ف5U)s:WENMX*΢lΈV:/׷ TOIALqj -+=Q}}Gv>a3 ܨq1#4A73 Xk3"s: GnbX=F+iqwL`W.JsC#Юa]5yEي#\ܑƔn7R)'[^aXeʨ6Ñz9jb!O0rjf@4m Q LdK&?ij\^Mlxxe:T(,4WD~>6sDֹP㬎G^N(|W~Ri"|b#M LҏZ)1Yޥ'^FzD6xfub!  rw0QMin$Cz4]BJK!$WOzBН,-eE"5HӒZWdC}=\n YǣkN]QldB4J Lÿ$Bw[D]L?׫dԚ'޵Fd"bd_J a_E슙`+|Sn͡)ľT6D'wU8ʶB*JhhV=TU0&XdvN6A"R8r3tPi{-X)X*Bg$A/(E%?׿"}H7'(S\'mXksw 6G!ܡZk5 wl?N[3 U- /@KhuDx\zx郰ězC4lPu̯;]̺e&Z"t2 Vg"Y}cg{Uh9+c4[SɊ 4@O%75T}K9J%<]Q7a`J\3)( bI0У$<"ox#Ӌ(Q )[A3&Vlexc+hJ)ތ"+4oӒ1.k)3(!ļ e0Sxt`r)Z-Gbn'DV D}+}eq%!0XWDAbX.XV5=ds0T25lh5dDӊ4XJ 4 /OZ֍ZBJ+  8N!\*EyP'>#Ԕ(Jw;mhlSi?.C7 fEmxun5 Jmjփϖc]%t.E+_SenHQe;˝u^k./&7h.ןz+Ir*ogyѵ}1GxZ~ \Uջqݕ7jn~,! `@iE^%Vu1+A#LX]2nT`4C` Lr9 h~ P `1es%$`b`GQ9#GbIONXl`jD`<,"A~#"%Xu@ %F}&(KJhy]iajo2@8YЛW{5{~/(}DaJhS,%H\Hs)= $nQKc Hl#HUI @fGmBN03,bK*at-(,vX/ XF5 <Ah,C=,4E״q>]fddJP!l4wm7" CfW?|O}]fsM67)h/B : .³Eg|IWR䕢>1EDMO;8u6,b H9F ^B,4Iϋ%d4BmDXHNbzhM%qt#@Z*P2 x (,W#Nqzz4ԝN !,(Dp(]&UO"hL*a+ 84LЂ 8u5U/קlhؗm{ǡj+UL&-c q!<^WQ웯IDz?%K'TX$:+1pdMa *М7=b$A&a22-@VAi'5ivG3) @"DTsD&EáEAI1AŬ༝Rxy *[/}JT?|q8h+^jmƚi(P/JlRks@ ӑ*&^%$<Y"~k3+^bJ\R]xoA/%V }Hj䟵`HZPNPr2!pye'ⓩ#k5+C;3cR#S3hj+q0KӁ};pPi4 2;TLYG_'O3 |Cd32[%7FkMIIa3Iˈ z( L 9+}F؄j,=c+iD1=YߥUqnTY-`qM/ι!eƒ |x A# +|MGaWߍ9nn63+-S 굕e-V;;1b*92ig0_ QcDhj SV*H6H#{~|HBDZB !M-,tFf'\@q||  v\E:J}BrIf>T$L->(,dh2  {FWxwqCa#cV < G!IAW[HWj)r+mG#0ɶ)HCC.ħ$cdGŗG_hq& oO~.j#!FH&2gC>D-Z2ZPs)g7ZgҏDϚH҂Zuc6T{!0<6ytve0Dչxgf `='Z{js ehĢD< i^)F4b:=pJyhUʝ&5p?>D)w ~=Q{=h {9F MmsBȼ0sϔtaŘ Q< =laWѳlJEK-ASN\ț 9wTP/d-( xG_%@ϛ +^;@[EH|rOfhVzrLUE%o2ȅ cuMT8)];J[ɱnDvG*Zs/Rǿy)b,_6;,wVywM;Q{|ECOKO $EuQO3Dc"9HK1.ZqK3JeE74Y3\ʝ^ }e/$Y!)#ӡ5ĞSpVLWŗS^y[X7DC׳qXm3)-‡sCٰ( fho:[:չXRU:mk-IRɭLWI$b!>¸T$Y̬K9$4 `JEmZ̛食:  d2}Ay,Jk7IQ!h(.3U"|ĢG,XKl 5H66,H *1W_MY;?+GɁ4DK1*>.)8 i7Yi2k'X' sr6C.ci[FM(?~1er6_Njm &rTeBNlB%=%߄#Zuc)Y-|%xT$_-PhtBbd_^k<PwēztH j'䬗!KڈZorqܝTSR$צGʇ d5*=J跪l@^!EGOV8PmAn#zk FvBħn, F&>:7R?'Ib^XY.!D%؎&^^؎P9WCܢ;iXcZSeMN~`fY_Z#K8L簶l+ kTӄS #3q/͆.&v0MqYi$Դξ54TSٍԌ5MjobdGཉs)!Fb"//bA6Y$nR))ww=H^npN愝0R PSB?65e)nO.5}/ U:t&d=CR'ؙjdFb-^lg/V%G gYs.1NJI< GQ5h4hk~ʜHRf3܆Fj*1hdNhseIa.wH[^ߜU'({g%JWUJPC[RV=BqeMY @,i!1W\EOgʍJhxq0dϋg[Y4Gi3w$'PTʿ 3'͘A{'jhq-a5d@HٱGPeޙ niDb%٭ּH ͍Nd&Ƥ*-ueF_~I(7Eii[t%*Dr3I5Hz:`i,-qquЩ+]:X ?f'c2rK"b[uEs"bg'oTNqnH&I+vndԢqGqi+ǃL> F";YeW+Ud%O [{Σydދ-#Roa2דK'ap*Z]QWy+NB&2좟JϒUpt2}rzzˮ6Lm5BipiVRƏ)$S&Ѱ0xhjmWD&: XP׃9T[ɨɖDI} Hͭ.f{ZM;qv<$5UC;XklG8w'3^T8lijpi)NQUenzŒr;Q0s|,T+}3/Ik$pCuhw lL],dSR:[ $=WGZ.J*~s&a0ܥƂ*HA .Ic:IV'F0,E4'se,Tj(4h0 dXU6$b`EIGEQ2+}wkl%izIQ.LccX}7ɎOI,2.fK||d̲5XuY#q5U2FA Q0aH 9ZlxQO G'FPOLQ<*Fhd0F*k˪u>!'94>Dj}3C$m"pVD 92W!}~vsʵdLO[RX*jށ.zijƽʝQi:sM:sAmM 3O)RWQv EksELh%IQ%4RC{8CHRNP.Efq\rW&te6H#?ogsԯ+$hR"E8&=U3Ȃ83U&eΰID <.dImQld|UUS~AE%ӊ1&$NOJN~>5c]w&eVnUʬ#WW;Ӂ7QK̑gh^ ?쐙[DRG֭}K}Jqfj1+%uӒ}r/#0W'iTN."5)_҂bJ  hERDK0{3F< T`T@2 M=dK,ƚ|zߢM.-m<AtY܍=Q t0|Hg_V0<<& G-?X֤N Xy'XXK5+b<${ !HHE< '+Qti%Wnwյnɒw&U_$6\䉟˟l_y.WWvF'!'gEj"xQڬ&ȫT/O\h*M0zو[[54ԿGHr-"#(bNOtt ђ`eP# ޟ)dmT8"oD ]Jˆ `S=1$DibڼA~MR-:E # $"[t4Y ^YyHЛĈ%DhH bQ p{ 8ilqbK n@cK]hմR,lWU1OZ7d3hh&~~:UyDȥ}39Df&NJ3P[qMuH VFhr!8ϑqͿUQeWOZL=i3xZJy#UEMy Iȭ*VB"Ǵ‚Kkrg1B" M*fɑOCx`KIz .6f%_Z$u(p⨙b¿6$>swKh,z/`Tq*H#Zf#HtWFkֺ#T8q;ħLO-mt.#"lw8 -f+/u;u" KLBTr q aMy7L>Cp[607VFu}lX|l6I-0,4Ȫ81+{Цa29!!a鲙4͵T{Dž/grM }kdk0* *o*WE}ij(+4)sȅj7-){O)~E$}nC.U-Mnn"ɻ+z3;ʉTjm-3Mt?c#mNI'72N>y0FYka/k(4kPAvc.=_\4@Ǔ;ͼJz5Ulud`+3.AP@ lM4LG-hb x J<^4oB[JW`1D%-m&( mq|Mg8@蹁!aK4.TG] dy2J,.$P;WW1~Bjv&QU]^e.r_=ni$-|w%v_rgn| DSm u "$!g Ki2+]̣=b"Bk X:˧%7RrCp>I-k7$!8PǴ;^B#C4:ys6]q6Mǰ'coo. >* }gp-/q,䡿O\cX*A^."dC`r4v7; Կߟ' Shw7`ØF7Ԕ~ɷ.1DʕX$%$gt} reOU*6$!(uKҘNJ#!"}qqZݍ Qrx'ډRe O#!B?# g[)b%riRi, Uڼ:mI!Joq)JaRJUf%Z)];*캋g-ZT$yDV(R%hy[+: a.E| _=՝!$6Y2i0Aq>Հ9p) N/عLNb Y^L2Ӛ1):\82 ) A.-"*?jkeQwsıeuSA9G2Our@u^ͳ3<)I+N&%,JN(~ Jr=@, ,>\7YF`˘O%si}e!KEEV+w)O L' XeѲ-;׬w}EȊX@ƒ9kil=\UW!:EӅL\(u0Ged)M'bm3,g0tՈA( LD݃K$89uΧ3s~u$ͤ,iLְēStYW\d09`yIGvŐ)*Dq&YE8@TaoUAxjUC 5u& t 2S a$ $gˎqVS/Tee:&pz&H#!l\t-%2*z|WXėhȎ28ۊ!=V#_m@Z߅l*E!aE~ lІJ i/ "[Ĩ?Վ¥MޜHS  p&. >L[i-x趈_do[}rWQڤ\N  xEdJ܉ αaٛHYPFvR4.*ROML` ak֭&ue4茴BfxTB 8M @n>)ڋaذ@M^QE tTrFNx\WHdf\„_g)HM9SUxEw^g:A(X#f)L$1.(W^/ LYAMz BϚIW`8ª RFO0L &MSǔ(DtjA*Hl !$ TB0Eʜ]D&Aa3 dVrwåcU5UZz0!kp|ۆn 1"Ul3J69n넬n{FY$gӥQwRkr?_L9gEAΎ,;iyoeX ~xz2B`;:`~46HMw6iZ UZc&:,9  8 lRˮD$Gd:*WA9_ fҶs7&&RE7U>B)0vK#(b*T<tTh8H4D# Â~#[ɺ9gTQ\8,Npݕ^`FTDJqEJdCDEI]nRȪB+4#kNfb&{.1TKt4QQ) z s _K,\= 9BcJΓY0?p%@JH R('YWH X:-촷D&ۍ}] &`AWqt 2Q] )ߋ<U-ܨ.IyUC {Ncr"xU#lte*(* ]R͞d׍ 9@2W-}%l Qúr)0䬈&iU>v鎃k1H7AA{dF:PLo:'r1%7346 bfs }&b6оri ćBCR/BLTpR,9aoEB!]93'˖hƼRzD۝pnA%WgͮhD̒kɧ@1H&HN~FWQ<7A`?"ž΁ l 7g5RE[WJe: hA,Y_[$ B%\ۍ 2YK™A=]Mu-Qa $\էi.$ y)HrQ\WkyB &$f 7P[Y1ٍx\%gZw 6/4-wHSGrUˎe] ̊{0hd X'1м[ڒ$CM2m LL@]ĊNTirc4iMOTKPL$rȨ-H"phTfLAx`{:F,319lvmP$f㦿qD #a*M@6ץ4h@֨S0vċ%"6Dv'G EKe)D[(ߝN"ՙ4EcR^4 H2g +2Yrm-f:ѻYx E5./c ڧhNv(1"@oVՊ'L00_T4^6\AC |]oOvBdRiAPEAKZ~Z0 :1aD*aGV8MX'1_4\5 ]hCCc̊Fڢ((Xw=xO"1e-B#.%DCdV-vIO%0k p#5B-zң/ w3u\o?=U Y p xB{-KPF`q UQiF|_}STBͥǔ*0gUb@<][w,ב - =)| p6C3J^2el5*Pڄƣ57Ab ޮ2CRB^M,}?HR"'X.S%lB Ըd4DW96%Q*9OytmCH<(НU%a62dd'V||:@!w2pcMk^bP`ok#ҨIVDJѰzaaO)#!u1ǿnn%G7&Qk$bӂ7ɖ \kV Mؕ^VW醲Vna q*^2C^1dyciFfqG-*a1kl<1D"+p[S^/~5^̪45~0ԯ}\}Bf,пipGFcv)OP,V>¼EbYj/LMHee Vf8T-;hiDQ.nհbR!k'XV GĉoGHP&'b]MG'lt7tfG8dW~V'flεO Y aQI‡ 24J~2EV ~RIVJo ˯W  Tj Z JI-{ \]f$+XC+$@Oq ο;[Qg61r)ݹA;E[SY.=8ACۖ CSgW`aʥ;t{F)U:3Qlhq\:FLHxKЯ2Qſ ft=77xH-sIbx>"uڜsE[xH+Z}YV5hg+*cQT3NTE_9R^gz֦^frON , S37r^kT+F)PTv+;'X^øet0tW܂E H}F W -;?cu~2 /Fu䈂цm,[Uyf1ЪY<`ٮ{kłRעD rRw9(]aަBgɌ%6Y1R#&ɁrGPwf@!I.;G6,,/nUr  Va'\*t\aBl#MńED^>VwE#SW#ihV *&KXkrQ%-l=W >(4RgEMC%iP7ESJ5Oow9Ϣׄ1#rk l4Y9* iloXJ/cnc-!٘w!H)ؕ#h P::4 <PE$愰ad/2+DzЩU'=E-c}M0R ֠E8lpoQh*D{S/FʥH;eȚ%RQaql4VJ0cGGx'҉. M鐐f@*= |OA,4?Ԑj&)f޲4/-n#\EL;a?W:Vu19M_}mn9_WAƀ[.%a= Gs DV}(\ ?+[`lZpi!J( hi,51dM7jX%(2w6Xx.T?1'4/!Pzco}n4!S9$ŨpA2X6(^4CMNxMT MI8ᄖ8(0͉ $j Ģіk$x y\NF`AYT'(d|&n6.2f%[a`U ZUl5M&aK!i;P5G z8 "aeJ` |]Zl47i]Kd7l^\P [ " t+BL 'VT!X+ V%.~ṭ&;'֫1.}aL%]"MxMgS^%`  A''=Hd@VK&^ؿ1)eZb^)JdOզ-IB`KVcNСNC,7Ig29oe55MغnB%S4NĂnT&F$#Ř>lJے.^e+"f/8Tbc?t/~25skMqk,W*--ʄ=<v"eQP"./h b{_TOlw}̆]$>o'nH'vn-dLhr[@t"MLZHӽc4hK^~?7xGe I4l!{)߂{ fdt+e2tsMJ[YYϣ ިE!B12u ZJPċW!3*99^e" ,vw<- =QEں!SJ1a"i*.T [%꣖}:dZ-Ё-%޾͡> YDUM1hkB-ٶvfH*%hنE;B-%ua1Wu8g燙 fWĸ|^Ľ\Ϋ8ba0؄ Ҭg,;XR[8?XArteAKgr^oo*@T'5XEAF7x#@ `l-bYvs\z]ǟ]aN@V{`( ġ?TމZŅT؋yZ8U_ߕYZ 6:I,[=IUֲ:bc =0  jSAc;.TS 'F(I:HЛ?n_O*H Q~WP4{;҇fR3*WʾLUepTQchlUm%ʺ徘!0"䥤r]qmXԒrosM#OѾ[ BUGɳpV<$}[l,)4,7*)/VܗɆE'aS^A JW-?^ըAP-7ͥt[F>=k\0vѼ= B!)wk)EKdQr(W@xpH JF3ZgIE_%"(Q)R[dQLjH̿{Yy_CR,uVv.D[^qɖ_bu*#=žwjO˝Gxȏ8k?@{B{x5`yTbACh,٠x;K4kEZBBؑyn璵P`Gax&HG.@Pr'*NgȎg3V"H'O׹ۤ&F-y4M I;P$ %>c4=HЄDfk #򎴲()6UPp+rT1GpjNò[i2"2!pTESƂ(ĬdQ"U0P6}/ZW2 $E*T@H&g1K*8AEunBݬM|M,\( N䋡b \4qE.eȪNh^~1k!GkgI}b H *xX|Ҕiz봓fUMn)KV)Zb҃"ϙǖ6A,e/N8H!bfx1卮y3g"p Jp6 @kr^bp>Ha@,0!I(kʐEc!xbZJfPLhvyC8c8 B̥L^HmsP7Z-nCs4(|@U73WQڵRCǣE ]u50Sl{1rJi-2B&|Fͦ4Ndl72xTD*b^'WwEĵQ܁ؾ:iIdQP7GH ѳX6un"$Gc Ĝ d Lih4›r``bjN:S~`I $HH,͈h8Sqa$p3 /򹛖kP6,X5 h FhWJ8dDQec0F"0=aB6b["_;UgDvC7g1E#/ +߆dETe*P""!ߜ)KbȞbl 6 YRBOBl5IHvoco ,?&y+9E*qRo4& wd1=,l6sn7ie"#G #KMcN~iLL:Pcr(YfRA0].Qc""WL)N{$=zZYf8m;hɘ(BbeS鍧OVAPU&F6&7hLD @9=T.ўhVjKzJ'FB1E~tgrDǛH|0P̩`md]c^ /4^@H(> JڏtS&&MdaBjԯ1ǍVɵ&njrb:A *1:дCq2틌m+JnZtj'A^mdYw=]xaܓ}eڡDHyb-`W2wV@r,{ ݞ4B͋&ւEtmryip&Nc"k djx lCͺh͊7he\u8TguHYdJ"q֯I8tJAHL S^h52@e*gVjG{}۫{=Q4! p4+ۄR= _G尲Lj2Fa_GM*'im֪jv[ i7.Gua dAܰO7ʔ?0H\´J*1T.@$3fEh X=MQ f:j^1m3Ĕ#$ T09}QU/K Ҋy$:{ژd㮠=bbiʳ:礛#N1~z:Jt nf?9v3B"Bz Mspa1,H]cNR'G@G3`HBdSb8+}eDwFw&S!}|)G= "ˍV-bjPKM oSKEȑjIegOSr[_ -@ʽDm<+VLy +"\>.a^ .PY]W)"?HLIg~R/̝Z(H}cWJgC aabÜӢ!%8Kf>Ytx?OK_M(_|L 7Z􋿈x0}Y,%Q6(ȨVpgR: 5VFmDG=$T"Mc&KzN0C5mt[[WSY;9W_^_=v.h"*v.B*_B"4Mղ'B_S ~ 9oq]|!F=\eȥre܈=Izdl-*go|4z>.vudQʎ\[R߲ɨɘ;J#,`s@M S)H)P?eRmRU<26ܵ ljɐ!9#HAYسlU6کʣ>?m!΀Ce6IV/؟;7٣jbA< T$1`) ~Y2}c<!2 K zdx'N*!"#2$w(RKd:3,6%SלjT,N[7JG S8ѽ;[v$&~lR.wBc ͭv)!Ez5U1}Ro_\PUNu8+z:y~{kf?(Jj9Hyn<ݼݖm3We9@\*oN4zV +;%x:?Ⱦpя28]9mP+`$+Sg^־kS IDXL ?Vr?ej][΢;Z*dnf&÷t;2Y2ù}ּDX#9sSq`̳)k \5X$ }VrX`\V͖ỏC USVbWo4`tE- #[K^fiT #A#%loqvҢoj;_&ǣ&!Jq3QލoO%"dz bT+7]Զg=D23m42?kb?.ZBë_y@ߌDL$W/h}Jަ5VY]4!k.2n`tg`gY,֭ߪA7tvmu/HEr:ŪAg`b_аΫWȥ)vZ0l@؞`ldyNTw)_gaos /@&cV(RAP^tuS2T9 & ~6#k}f?{ TN$vbKXVH]b&|| #GGK(0 I斥tz4pX(T20M8)`#bu޸T_A1eQ=+o]S~eZ'3!EQ$Ube#L3(c1'gC3]g ȆC>hS 9J׌pDav|zB$ 0cmLב`Wq؀c/ƥR^evm^P UJ=^*N1A&Xi(pH@}"ډF%hsMWd۸RrVND,n/bB4ӊ#c˟(#pol6i,\*h`;'D`OM>+07}PV)Ӡ' FP}XQ`S|:bBAj5w~pFT'R'#wA"!n݀-q)Y{Yg KOE3"ltbZ<5-Z3VjgJw˄Fh?"Ghi16^1oJXiY}G$-J^>zЁ|uu6HPB]Ls4$DXPP$0)@3#[g~S0M A ,鴮`P6zUzjf/+A&CёqtۿT!Hr^:z3QϮnQa&H_w#}NפljܳWi ޙD&1O34M',+JY-ľD20Q0K΋f+E=<`ĺ~s&$f}zvʊ,- g6zwQ$`s <*k3ߦBQ)d)m,tlJls z'5V$ogА'|R/2v(7y8wYw9jj9"lSe5S]VsVa+C T{D _3ERdU&n*&kSBg[ECe۞q0|h%BF9ghlϛm$acMHZ -WCi #Whug+cI5TWف1r0>{X&-eh0';Hy"M/r>+z8@6aq 0Q\9Sw7{sC4g `fդXLIPM[y[X]{0X]$ HIKbRKj,skT&Pi4gsKN7nUSXC# '#sTWFJCByJ+#x3͓F5aW7T~?O6x(d¬Td ԠX1+o٤t.Tuվu}z騭6 J"g!5Ke}InE_w-9V%GU4j B:Pl׆A( &^@R} &0H%3@nRVȉ ϒrp`&D% xR1˳8vP1 N ahSMjkkf5/K-]dJLlQ2DĆںV:% H` ypNDuK`Rv&TU `Gp"Ca+ #8&HE)1"bD7ADljDYVxtS\6dq%śesD܄*Bb+DE#.m.rz()*1! ]868IGO4$5)!)XK'k0Żd*ӬQl+$."a,%v5FCIЬ]ë_vbҿ~&$"i64 d$hdbDI?UۡP=,( 2W"߭S*ok3ɪrvfxح4a#Uda;q;XIr)U<iࠒm䘦;{< w%m|9E6 \vU†I6/6ŎR8>]u#S 6%q{ &md3 i-2O&CM6(OвG *x;LUZM})ai%$"B2 W;R,Tʑ`X&]:&FfIB}F"PpUB9#ҥ\d2=b2cV+p$4"smAC"lH`Zbb &}j`T?)1G_^EĶ%[&i;bLޑO  (\@|%J&2(w[ UrS> vy!lrOHxo1kÅK㯶DY\E71[Akd ,Nns󢂨xPoU)Eƿ:ࢣo^$2ɠHE[@8" ٌp2-$q/ёmLe$\8Mp)ڌLTAOåjuD8!M2kx$jEN93y;#p7b@pnOdQ8FBZJ1bj¥ 7.L-zKFHTOU`?`!mkP;EE$%CCb" .$ eVDz(,@$+.A e"pXdHDMʌd\;2qYjWЁu:e$Cf(Cc~y V дdU%:jcD0Ea]oQdh鎕zSRx&%T  6dkuĖBaIŪx1jDɨ4y>v->=.MȺXqA薨əS+\lI:gr>(' 0_BH {:DgG 8!2R {G F1iDܕHH l2j#AMƈ$&a|Wut--Ȑ@*=>q+K3loX#ũ`JG,:! U{׼E턏؂_u9͛-  [BF§qN*2*)2JմumX:ג0m1o"? tRZ}/͆Ak% (j$(| "To|=3(0jvTQJ3xSGEY@J aר@;r&l/|e *ole?d̾ʢ& )aeT.HG"uE5i$%NAPP>9׬J <; ȑ/M0*Ze T ͇NtAỏT9W: ǃs awA 6U,XSS$>  Jy-vcDqjEĆA2̘FWv^;KSf@S//XO bz2ZsHפν=Y DjEt<*G Wpa$QAl$zh$p^X´=C,B6ZiF؜?v-II P?T܁W!уFzEz ARm-O)B M<ןRBaMl)5jq&'̖)AG9QYȌ&GMs>#|Lym/*DSxSJel{cD1gH K0ubLY`dҍ>=cd.ɨəC=}1<%ykdwCi$TQ6%ZS3j#*t ЧPP`q~,٫l]  nF?! \/a.<Xxɓ`PwDbIɅiD?dKֻ,KfR{ СMz b?Lۂ "_|bh}.fqLLwG/-aE4S(INnh[nRXD 1O_WlKsd&O.~!4(9 "Q..4}E "x9r [&pDIo( r$5+Amlk"9j9&J&$xxM#V.mhV B *ҽY#ObiњCce-x|  φ6aLlzMSxbM"9L. L9±  6RNdnf"U*%"Ve >¢:3ꪜR( ~tie^,x&|YbU,#DM1Zr'2]fFsQG{'V'U2,T6:r黇%cˆ *1IH+Y.26pm ,kvI3M"%sdOMu=wob~CH^ڂ&Tl5gFOnlj{-USqz8|/MsGUc\31~P6hٵ>v"T֓vu8|G\u!)EPe?D_MR8 Y5 XXTʷH2. 2+- j9ⷡ|HΖnYdNqpWkyT`fQ'zٕ݀{-QMK>̿ pRPBFGa/ zOU_Ŏ\[E`.M LPwɣ;a^ZlqZ\l0XxmA!u2@N@'MaQTf*mrĬA0p S<ˏT8X[wCh M,O)XŞXqab%ɫ|EL`By({v&+b+ 6T 3B,rS5S%%8)56\)&`KyyGkFɿ2RyxLz!1(03VJ"4-t۟ei )W+5 Q٬߸JbqoS.izN痫MU rrS4.TV6hl'd!Q֗^KoA ^PlǾlz40=zA5vPTIunwZKu $5~@`Vsrf};Ւ):\GB2 4"H$2:V aA '\k4g♁YvLBtKة ĠJ t)ICR[WƩ'4R??w4I;!e*X3C{7tu`O< .$T-"]ʵqBf%U&&U|f _IQ xlf[cR!mҐc,K!aK" c[:O%s"19WTBd2NcG)`(֢LBy(Ƴ]&{ Bg+hBK9c!3>KP@"@*t|,`0֮Z IGY@ tDq:t #rH%kpP2jK$ d˙f/I(d̰X佥[}Cs ];|#]})hU2 *xA 0GrVllP0_%,GFAU_'Lɨ4Un=` ,hYxND% w8f[|1n7 a<1RJNz]8$nZnts#VVAu^WV4mQCf܎E=b,~oD;`6)CnBdΛ䷓Vܿe4Ԥ1#‚/^@m%%{BBg$! hJ@AL*JA$k¿H0(TC#K]aH5I ?PR.$x0epcoȚ;\Eg=F*.{( ; EgH هH{UFT^,?%s"]LR 8{ͩjBgA61lқB‡~D1d#"^Rv¥g%mdX[O5h*MlXuRs)jة $ 9c~Ł0ԧO{Ic8 :B'>nݲ4ʄwp'8A*2h"uoo\*H?џQE?Z͂rxk…("*.gL#w"aq,U2(6Ђ„d]NG%֋;niWT-x2A HV$"C\A˂%3U@mՅYc_UG+[B,) ϡХ" dSXX4y/Ѥ%m)Q%h]ߑɄUIO9,6xTYB;R0x'/Wx}[UAbϰH3Q⥴Хd'+LXLht7ty+|w hg.qY[  S706,e1FTE'D&g]˕qC I_a}[8I8֥b /.5!\o`hZA [:5b߬v钨 !(Y81OBۄ=fB5)KŜ%6xJcYN_> jܙI#bEuD@^zdž&K/-0jXnk?K,%!br:BָI>)OߝhAxd"7̑U\湝nm#T=1ƤT^`'+9( >U]Ce*>9 24jSKY`LHĄQEa0|WPh_+&("k8@e"[oaCwGN  493hGVZPSFkIQmG J)\rh`*Pg$/1VXЋ,cyRVqn,o}!P-{w>TlO!{1kx[]Y[1O Pk?Z~3Kep"]aEG/~!j}9>,Cb ȋzQAєytcDRnRE $ω*gcgarq*.cU[Ň&]+C)wlꔑ-݆]nB((!qΐZ9ֆ)ǂv{Od{ &+JSp,XٚV#S Vpw)U/ o;˻He>3ș~`ZUOKpW xMۜX웷׮+q}{dYh¯!$6Y֮D;ѧWQ̓iTiW"vPU^$ Ae?CRa[)˪ Is l<㑫B*R{Ew):6ph ۏDxvȪʒ 8yQjiph gR",33-+FdBȒd_DS@Qɕl6D@3Eab&ɛVedX4K/tpnN?~۝F)єĆWƈgH !Qy xlgKs7VR#1͐ )˒ԁlkcBb8zhܢzc(c\:LĆ ֽ6;,tS|+Z _+%RaDq5f H W§$y7&w\80Rh ؊,wS\Lߙ9Y2Dѱ+"TM F9Ё7Bk (\I\NW``@Q6v/Ho|e"Y?WPZ$l|Tc,\%U IK2O%E0pc D"VAS.zjNB(Sz*,, N+{_ C"+ȌhI(.ǐҏ[$`¤F죥lI@>#nbFfziUv-F{E Kj%%A/p)"{/fUuZn@ἸW)T"A(f$e[+WJ%-4v+&Dћ(Wu[:a;[V@:GZ~rՕuQM5bK*{ O% .T͛ `%AA,D1(Ș7slׅPM$&OokBG+:R5k/}6 Nf$e4|t-)ԷI Y=L Ey>ϳUDJGh.T$`gj1/o%6I;̴QxB q 0,ŝhSj^ń_d,AD P2)72+b{5{i4e}*@ECR*w#F#Vd ׷2礙/"x˙@F4">mK9zB: NZ!Z/LPdf+8 Ԋy@,heGcz|t ʴ Hl20pe<OŚDE1^%&N++)b5`LX~pFn̦{3ܐYB:t&!UBkdHF-Ko%صzqVRv?܃`Z u-DI!I|O[e_Ƅh/iU?K zxEP08/v2#G^9Q4pXzxMZU\6MpUVD7M4jV$qmH#`>.t$șj"["Ө%跙nsjA%QgJH]hX+v)(D&吐ɝϔ"$"(tڣ84dݕՓC K\ƹvtg~H׍ۤm*E=5"C*Aes2LK<f=+^J#Ƥܵa 9ՎOPAH9UZ@n>O,RZpª2+.IY!I*KeLux8}BQUAW9rLo()ý+?պOxMɷa#LhDH\W~#҅x%P`Mk1~ N)R`9ufLe ,erHq"lʤ ' w+tPZP'hn{aR;!*?Bp =BRى33'_+$#F^H7Id,p*d-l0 ]WR'>Ynق /̡}@ElXM~:V9%/HuVy8OdШ.f$K IAn8*XVCx8  H0NiBd<4Al1r'2[E*H/uP(kk`D]WZQ]_O4Aڄ~8^wqr<'T\/FN 6W l(DMd|ˤ mVgMkSmu7 }r/@`n^lfl8Rv^TAɗN  hv~T]n\8;`8wI&B.TDDgL(k(/IN'$.qwsj V9y"hFY!Wg,yȐ`ab WOC4 "[h)&pηE!*H)zp{7K>dGIO2䫅kv‚&gb;Jpmс_5dpy$;9J֏2{7KFp]/?u#uR8$LnOă8:2[`ĊJYVNG*.}hmc'BiD FŘPLێ_飈§lyCdhڛ|BYe 7&g!9L>2r[`I u+8u%]C)l@93:X"׫aK #W膾_)(S 1͎ pt_|'^l#g/7EjXEW*'="e+@I/ E)D][F[NR|SU)O\F#Z(@[4;QpK8d "\ԤyP -XZa$_vQ 1k6SQJ,E3ŒhVXd@NaF yB6];B\tXZتDEPq OakQ&WvM,taclt؉ EJ }P V7MhTQ FNaٟ$$!Ãjҫ9$3* Ʈͬ(ڤK cA,̦%ԩY~|8,#.."`+ 66 A"n]Q3 ]C*TJ6M1'[zP2I12EZyQ b&tAI6QB& dLcR:0\ƺ cJ酘1Y%nG,EE6F'n|C-_@b"Jph} 92=&'f c9LDŽ[AvZ^X$kjQ1 661_M@ PyNi^F{V$Te{w&m#k0ZlE"(v2.-HP&Jn ΚQ/:q"1[:Y>uu;?Jq4Fpz-h,*6ՙTd|X _̻40mC:giCn&Rx4r]y\,2YTPtЪ4MG![$\ 3F Ϯ:ss[͌ DY}EAk{\$Ifz 8aOz%S`,<ӕ[;}H52+{ TȻ\{ -#sFM7.)*n¢/ץ(X›"s_E€آid\ MGZ!d4Xv{d_#0Iw%%'MOo=8G\?: zF&"t:]@!R ;(tAwDjs>"U+kuB8_N@j 3r$#Vj%J, &UqQ܂ν㛚 EL!T阆 iu)N‚0 '95$ZFn2gol% v?Vl%UAeT3u_o$lZhd5@VLۄBdMmr)L$/2 E\4&HL\&י!ڝ٭>K7;QuA*dɽ^nP"S2,he#d lӰ[X>nŨUXQTe,H@b0,tuEI]gJ Oג"*uM%:pR`!FF4xތᐰ|jgZ(1}gr$lQS+$#m>j'Ou6(VXAP]b(Ml}bu>L}DnMf,}cL$/'4D$o BNH W^( 1B+ \E DUGr&⎬GC3xM',AD+mR$IXL{]D"+ #Q#TmGo@%E\REJ#N_ ;$^*腋ԟvcD{9-[w?4f)h#N6/+]zAꎆ?Ђ@fJ4+V(:⯱ y Ca8M`n:L Ֆt =ϋ8MI ^sLf N& XiEgv,:[ʄ0 -1ZY?hHamp;0]-뇑EZɨɛ2*2 |LDt\<)BNJy&Y=;OG2QYYIcO"MdNSs}woQ=&PmMtem$R}doƕmrYfU=3C $л>I,E3 } ƒJ5;OPZ<.ՕA+Y)LҲ—oȔ_Y/%S…;Q06q|%.ULmI4RJǍ F45$+u^U\P:Ŀ]" SLt:p>>*L.݁ [iU#V,,S})ˮ*ĸ|T+%_3W)f{^paXPm-r(ЅhA򉚡b VL2jם*Qq&RRZ1e&I*W WXAMKZ,2 y7&6n,53Ğ2VɂU2'UI醣H:#!mCE4BsDf;}AI縗f0J~=qzUsL5Z$R9gl!-1]/[Y0TeLuKYF k$d4Z!M:{m"ćGpJyGݎġ**6pe,>s4;rN^=GE)-xݗتEsEPsYBJfVdMR˓ҸhRч_pdD ݁^,v NKbqkQriPNr$DYaK'\̷M(F]劑8E Q*'=C%d"{L,[6ܕyS̔F}κtaG抋 =jlӹtJMa"uyih ȣ %H Vd# )t?F L -4BpţʂΨ/CQ3l GGFcJdJ|5ppB I嬢h@{mH)DuL5Y Vf'!y^jL=Wo) '"nFi xĭXcdCxaVI&($gTTDa8&Xm{vҋÛѰn jyw]-wz%|kىYŨ gA%>ʋY9FuK< $d^15J%W@*t%\ۊWd5 YRAl"hed62%xf>*q z3g 05$F3?$ S4sN|%Uؖy -9sM1 xTY(M¤2ם-eScbWfZ Jg(!NsKnBT %<ƩIQfCb IX/1$?VeTn!p"!qGͧuJ ~-bo.#R[-60"lBBf}'L $8~0ábNI-ڞyq9vw\YB Yu$o&UCCrVH}^3 !1-F(SVkvrpGL  ~x F,fVC" "ŵ.ߨpD寡58R3 zy)IIJ- T1E`l{Rk@`.%HSXD,(tHs\6q ?fHJ°(܌ <Gb`Ip4\lXjBgH4t'uJ' =>d4b]WMJRqg'.#ҟ 5o[r `c3Q5AٹbZKY}li9 ewެd0ݞssɅKJ쒧; NGkjF7$Xܕ-\Y#{|,{j@رvE!4V8IP )0K ˽IĩRL6ma"HQ@t(C: ÂF$6:@|\# ZN ؉=E !ESh.Q^mǶol 8ĸy#]ToJEEUAC߳: Cg74U/uYQ E"Q(yST?"O/+ˢEczWfgɨ2XYYd*lNYy0Mu%-hB8aBW3Hf2)RD,M],% #TF4&Qͬ5v5K:!NEkƸVԌ_ en1%#hH'(pI>A!Q/td $.X {* F  $_ouM_)3.pP9AL[ih͎܉Fj#$3 :zl6M0R*mrlW.ՔxV[U$-,+;+i._7W adGIo6f'*y+L D[K{mYKʮB`xl+cvCNܺ;1Od^RϔgJb*iƍ$bLScrr.!O"o '0 u,'Ujӊad[ 䮗sw|&0cf]6n"a4PU;vvKHX.s*O#RPV!R2Qh-;4~]P-E7ҫzMNZ*gJ2oٔR%;=N^ߋ-~](kQBLq2٫E)0}z=X-H NE r(Lq# ;Savh~ari՗TnL~櫌Qj( =0g'[Xm_Y,22e%~+ mE7_qq6*x4I.]QEK43J/J uS)n5qe~e1ԺF"Vͼk*Nv`y,L "y "`+X,i"`fy yޭ"ۓɬ$E#?2-+w&2%vyHŴ>r= !5&7maVsŜ 9ajVsY~ѪpI^񦼡$`sew$#"5uY,NP O]/tzEy$ɣ?rlV9Yvq-MedY_\CfVaٷs;j"+Ÿ!R@ UY2|9RmXzgw':;kⲻWkʱ4b@Id~ۭYG2gfqHupK1RH8u&ЏXZJB W@?V#g97s{Օ;Xƛk>d߹+?^r tF4L@yuƄGqAH"Iؤ-sfтڵs"A\*A-J(eLneւ '8vG:Ie0=@ٺvR LŕR 4?kMGPNKw*+O"P-`,~6,F(3b5-V`0Fڪ?OE;1nK$u!U+]?MB+kwh:Ğ'"47$$''ve:Td^bEy!^NM" 3ӊur*/xHU &[n"k=a^D˦ Q> addARb1ݼD*u*ܓZw8[3\K nKSu[)2Dիׇ銹|Q^"mB)JR{}3MC)y⃬sSۛA5Ed]IHsnHG.(גhAySK "#'A ug"AMlB 6[=:s0o"ݐRVV.W kI8!5i>Ư%I!vN3ق32n+"5 KжfcuOE7윗i%g[EMS>K-1(xb2sN+(Q& QJvloBڄ`PlLZHDΠǩ[ ~ buhq@-L>q{ br(zV2,B&\pͯn I4fZ> wv?7~5bL>?|hdV}ӴC=KBa5޶~bsVw'?ť$Ɨ RRؽNv{6zz-rj*zo혵nr(=ufbAU8ɈɜdJ_?ƿHXt]B=rA&p|hP ,) G>"0sK#A !ʐrD6lٽ_\4M*pAf] :?5đ\}v'wcMϨ@V5(ne<0kg,\%ɢ w8ܑקh%i""w@.Ϧn=h 8|/3VLn}Lu)LQ Wĺ[$,oEܻ Tc ^$![lhWFNu1X&zBDu=N9Se!0tΎ $XXr )TKb%dQ0<2)6 fN=R/4؆deIc,s>>_-fDiUuleviQT vŕR?s ptҬCƙ3v)ORKW2җ%1$i im.M} (KZE EO;> ԡ+3 /,u&O^ݴ ;7Z{UFr3Wk@&N(>L4i bhgͪGHUM`Nի4B 4g#IY  22!8f Q(Fd qBA#n E< Dq& hHQZxT{It+qo@HL@f;,|2glFcEC}]d4<%.{D1(G~OC ': f(YQgw `Z}#'U}#_WKZJ}#yt&D<{IZ.Lϣti#ܨY+p i)Iu qc|./ly .Uۭ{`Qh 間G(S@ RR41;?JKw/m(x'F |8-=DpjXHN'#ExNd`13H2qc<NU}T!!Dž KzD%  ZET i *o3DD'$cAU $ ,8,!.t~/Ea @:%i}u 3 JҦCKuQƦo_B |z ;( qH"2S>5X SSSM[G-"hZfc4znkHX8Eq$9ϿE-U/!@蝏H.V5rTBPQUvbcVvjVnl ޷nVԒVI窧c:])ĭ3hBSŷä,>C:0\((d,H\"9ޙhWIcfqϫ%YȀV\] 0/]zUdI0c\G/dgTI8pwU[ 'ݬ7t*ZP iJaS:IEUWY kB0Ux&1 DO9g#i=JO7NSnN7^3EEx+u^nO#vmd_ov[{ac6l"vvV`U)\}XĽLYo\oKC `iZyK[ zwo?:2KN P\܈<_23"e$`nzHuj*I*\?lBNEӖM<BLK`hN ]@mA:b$"$ǂTaDLzoE]n256'릶^bd4(ITUELn' -qm=_&E3E ,clnlP&Ѫ(گ%%3١#H0:QN¶kT HO>":і,7v;N6*?3|؃?t@ H-&@U_*$zQ (˾\d\QTM]= bm@En_%LJO(fUә._b^kW_2Mڜbl\p?Rh<;ݧJO~4iԙO;asYl,6\2U-Mx&bl$eəa~nj"RjO(#U:Me[C=,g,⪐*ab%gɯ@=RK04 U;6W/aP"[dS&ҋy;6rE2\FT4(ÏD8U0Um*EPyPT"fjIf'a:â2 +|" tXh;v%4aF0\V Fa*Ք/ +(YpDdsz>,4q؛ "ˆXp}Es=R28ZZ5E 4MoD@D|F3CDLOԆOQcLGV\=U,6 &V6B >Dfp<ŬgB*0@mp (E]uD"ЌUӯ[:o.(ؐ${VnPH@@JoǬe@/}6"&` Mdku/PƍHAKaL 0=dU0zhYVdh3!]=K:L÷@o`NX@Rߕ:$TvDzQ' R+Db0TLIUz͵EATiK_2L#Nȱ>ĺ1yHmT&jNntm325(pF$Rb')<.d HI\JbwH(KL5u,R|;ʒnPO?CJ,| ^C=fEgI :6W`/(EMV=hkY (2=ҫCxI^2Z%.τ_E\wK |}S)JB' R!?Fΐ.rJ5ܸqG"$/6ܢ$uT=pX /ɬ!–M uD`˄m`z贑HΌA8lbC.o~2m=\nb0׈U&.A+% 񛈅Q*qk#|Eŝ'h]:83 &jø4U|1Ep.T5GNNt\DgTV(4ȆaYdQ4I59Ft 3L4DV. åi;=p]>*AeC a#c^:THڪjH@ީ ǥͰ) tIMEHSlTY],`y0HE{X&A$G}b׊s7~xyǷ}7n')mvײ43`dRTDka2o_2'C*` 0G['P\ zItB+$ IT }&Hm_L4eFjpzCijh=b>ݸMk!&D_f5fx cFXP052e=N@'/BfT_BteM ]>I2U/& *E8<,47j}wի$ouE=UVOUF n!vRY/,xf ݣfE!;uc:nZ0E "Tl&AʼQx4X0S$8% d `>.Vj:-O<%6R-Ҕnglms0$']+άS$!^u_ 2GEIEb]qf"ЈeV\/M׋ V(N1cf#HmB!*TFNWsD܂+3RCGu5M0^P|®h̐"~or :(~{:0(y^>k T F0fz \zkEl.^ ,h:?WDW;=_wl晤w8 |KVϟaȊ"VO,z}lܕyY|mlk+[[Et9ϥTYMJ(2j"Q ka R5R&B%[uS.Ƌ68(EHTyKL9@S uKcI\2/ (𐆥YtPl$VwdO3r+'W~2cVw@ݕ~.V"ax@!R!;Dfp@%w˞I҄ WT%x7vxSiV(3`zr_(3/.Cdd<_ɃOhk2$T>DL[iRbDAɨɝ L/w?pc@Y]!5rlf! ۡoŁV$}3]6#[1|% ЎA+;.(SL5PTh?9Z@Mk+뭤 a:e|WMI 9 d2pt (,(h`i#ĸA i'l멄DTs$D+%VR`Rary4Lk  `&:,TF-$9, pKbmBhبH t]/}DZ, 8,{Lo *T/8O_޶L%ILide @+JMDTFbrO]a6B̔ $&2@o$|>{GeK.$o&i[.KʹhdRMm]>\({^RVLM8rs > B}RnK1AC["^kmB(7 1W^K)RE4B](cJӟ<Skܺy$!ڙ7`"!y"C6Ծ-RܲܩGAb[6΃`4d4%{MM%a\ U^^1'(0OH %=) rSE u;cq+B=#P_ fC#I7"Y:-HĠ"mXRcMԜim'%gLI(M4!} `#DIHW\ &9&#F1=DP/VFܨJz&EMA9y(EqĬC'_ S+))3{n2,2xgI %%טxMU5JJ\4Ԣq˥H]rM߰NV1^1,'dy"'h*aҩ$Pr&EZb( C $CE}iR0Xơ%V $ Sj娇Xb9cyhUHACz/H[0RphSꗍ3 )%w']REOI." FO%Z{@ AxPkč3R( 5A1nӋD>nKBJvrULk92D 7h)6 бDRKsOPR4A^W:Em-U3wYORNwNN$!Cq(ì -LkO~y=~=o4ڃ&/H̼ݒ.MqޥqžՐMO(QHӈbvjYcqP@!hZ͆SЈOjG BN{2 ; SKP.BҒPlpYZii(ưFNzO "Q1 \YE% K晹t>Q&,,N/qD`,1%o_Ŕ*yF׉ H#@E%efpzJo_Z0eIE1oT,o!' 2&t L%d}pN2 PFG44O=N`UDCH+zѐEʾDr0łj`-H<ˤ+l%Ɔ(Qߦnf6TPMhd/m>WYAD?1YƱ_9BU(ìHkTӝU0$L̢ANhGkP:&G?LG&nXYuV吾K"w4zH!&.DYyE} xb+"/e=g`B8X.:OF)FH!%cdKd)K.ن&Y0D2d/Do>*հn4YjhQi\ _~>чj$W K &A(E|p_rWjq *:S(ʱKnѝHW%*֭J%PT3E/% af9HD\LLRӷSkHSkBaYJ mAƐEd0f2jK >ilqhhUbl8?QڔsQ_oBGo?Ř߈>S+ixId@M_- nO(ABEt0yB4Ch2S_9wJ#Su\q!3rC*Abc T< qv:{&dE;:X c| *GvwSyhJ{y/AcZpM@e _$WВs`ڂ uYjjJys*%Ѕ6`!)BHLU|"l"'::Qzi~f4D%Y.".囈PW.qzCSR&q4kt/ǙػGQj%Vюge$H:*rd F^)JQhND~u&ATU獩<4WmUGo0=UL=}ۘnIYM}mi,(*\/JN1YTu-y$0&y{mi&!D'r (L$[[U'e$5)%gu5GFQiSjKaeף+JiîO`Ozc"b WFRn]$bzHffX0G,-MK5Tv>~BE.iT+q5n$8U! zo (һN_s4@*ɨɞ)FS_3 hUQ  ((Pp@C@(`@b# Eq[W Q٪NֽIeۺ[3;z+G(zs*0CK}(ؖXHAI{ ,/F5"mRy*,eBGf6$c"r%ڢM#62AN.:*j YX-_[Ǟ=Dh|YEʌ$8" pt"rAzx]Y5J7B-ϮsodU*r_eH 񂆁  $%Ɔ %\-ݑ46~ 6Y?x+։ζws4{ҩwgWqX,xᢅ QUe'훳52NL^s^hYb;gTB+Tpw2 !Lá y?v//OI|/ _Z Sc~aU6|ҦO0?1euDE AC%9K(֤bT۷^hLq>UomWnE3z]CPa`pTjWy¾#GT`,Qi $eUe.$@ɕ+_˹g$Φ=ȜGZ+s '#81첒Eu8iYcOfsGZߓJn KB?umE1s(ҵ(J-B WP%^0 nAzĢ뒅w4a3IID)7jɤ |w5!h]2FyTPlR ƒ $WIT}uBZOReZIJ6lUH$SET"T~-~Dũd>C؇,a94zz䅵?~/ת,C 1K +̾DMa& BOnv(,!>3^IW貓JMMXSB2LQb)N/)\Ӣ ^[;BʕVjJQ-;^??ӷQOO/h$9z FI.vwN x4Z͗"֏wh,JBT ͬ0#ŭ@&u \\07r<,M'Qnm3)z{ZOG-5tзtZGODs,B{KQIڤ=HCPSH^a仔ja=ψ]j0Ԩ\FYuIɑLYzU -XJ~C *Ɣ5A]喉{G!QjR09aN.u7O zk72BdcNQqUDx̙υjǑ?N7\^d\2P"|!TPYU3r?E:Q ፚB2ZӒ␧˕#їzJiq$-Aڔ5,GtI ˏ p, "6|.6T]HWll68U&A1@AXEY1$#wduH:!1j)͒ U:KN/$"*MqL72bIgƬs8Y/Qg8%%*ju*omG1BkA.NbQhz3=ny^@ƴq- $ Q6XLэCOKWU:hC("I5׷E ._p_eoVG.3IiR- LH55#bP-Rwq$1F pKhD禍 ,mWykHK3VMRGg cX,ƒK8c*}8# ⨥F[$О,eL% ܒDNK6ETϕ'I괳$t+&k{2yBt@QCSU'3 L6K&LjNkB'oʨ)9~*._S='/wy8ǍyH+} b~bV4hke5dfvY6-֞7f/5p&XBJ7KԻYBr&e+^B .!Z 6)Ef^kHʛmf. .z]$kP( d#_N)ަ8G.C9AyZ[Ip[(n[H)aL&2W\.~ՍՔ;ڨ=/| IKb>Y./f913.ť/!, pQC#5о%I Zr~zMr$SjYxD=ab+e%B*V=BOxczRJF_NfYmU&neAVj0a2OVHۻXݦ(vW7w\a9 v-*Kymøpe9$-۔LLE2 VFDwɵ)d}%-5fvcybcvAdNW]aNWe02&, cUM?Ie⫽aŷjmH{lbpsbɪAm" WJuVPm[ IE*$WqJJRBZvKaXJȅg魔:+\,$x[D%vj/G+iK#,u|E6$xF2`ky(ōK~v,w=Rd<%>pALsDM_8AdکLdcմx&$+ؖbS nӒ/7djgεHrlfVZ3#Rk'BʩlgyQ<HCx((8%BؖxSGاRd.8E\NX%붊J/)uHj&zK$|G/g87\0E9ThEFfG4_){=r|*^{!lr\p9qZ=F]")kj,SOE*NzFU +1ӹ y\RPT͙u )ߏ,r{-CJ}) ,e*FRN դ ![JM3.d0Fn hv˱7A*; EHs//_ zVi /J\#.VgF~|F޹30^W)#vau!w 8vݲI{ɨɟ.a)w޴Ai5ZkւY)74O/y4ZK>,H-l-jq%ofR[^rY/7Q[ bȘi/,xKh HM|Ò׽Rɂ˒).7mB\ ehCVeZddk9_UQdxћ)eBk; /GZw'3S9+yL9 A^OiH_V&\*XR'2&xґкD'/xg/NOkdMeJcP3ʩV$oUVLMjj]8d>ޅ, W]1JVY6A;ղV9;b!\"1a14a,cEk۝ W3E)"k%F Z C BRʘic(U B"zG7=la.1 Ncf9 oLj3bWs%a=%*&)~vGNEU*!Jo2çWZ7vGW6%rVz7~Ӊ%9obLwO,qaԁ0BMj[ 0U*;j6$N#'#j/BQl+P uLc1f"mzɬ"gc|]S.=m4KxL]maX13]*g^ڱɜ;y5،ghqL͘%Y#D;YJ ARx-Lɸi5$!YĔf:\]ȾŢ,Âp aNnreZLB"k撥f\#WvL_V b.i-]CCSL;Dn K♵A*#"U@CO*ҳDb\U Djuqu٢ڹ-AQ<[0DdĴOjuM6Ti ;ԫ7Җ ` 3؛ !0rgx@4oA&  h+""PS"x{ `08EWF1}xVYDhp(FSJ(PtQ V! ;ГZҒoa  DY9dvPFB(Y0SʁA, $;=kPL9 P–Tg :) YPi+ Cth 1(`DOm0KؤqGip ҩ9)H@υfGTa\0!6OR` + Y.>rDhK|ciaOQ= L`HbI^I4"{ZCg0!z.gUP$QaӍ fK(( PnPZ )8;^FP{'!Ӈ1?8!NBӼrHp|7kQQI m6HNi:D=+CˇqOX\qjḃO(jMKBIFVrdCvR~'_,HF=^O%`8RNh\ C\w-֡Um-jjcteP,%sG8NAH. zY0Y[| : R9NQ Y°"J `~Ag BbJ6NIP+E99/zvE|,<RͫC"X\Z}o R08* h . ,HNちQ@ cdB:s|5}6 qTB[ E w.imrFq$ 3y%;WI4{ VwXńqB[#xL^A ~BNس Y;A[m 4yPe0kMA촼?aKG+D4.vԝb`)XM^C!١Zj-R ;<҈q/TIrQSjqRsdxۻ%̆BQjjz_e]B(9ӜuMJ0SUZ*,l#g*"`;u\^eK|l_%ײk*mZ]V% F*^Zf8Od^"ŲLGqF*ys3w܅&ۥa1e٭V#Zfbta̖u!B9\,UT#AU喧lAZ.A}:9rhG_&Nu:1C.H|il¤m$-3E̍[E)N-M06G閌+vDZEa4EHEB#XBQQjڵ/=*TɘK[?wP=r)Z1.*SuNCӭ3K;s#b3MK^'xګބ*HlrfJgu*e3-Dip`NocZ%:;U`_pҔVBpw(G|FN{R oDKۀhNO*b ~r ŵVsk뗵šD"r3,HX%d.I(+%GK;hsW"42j4MI(b-9=4)T§TTb4/'R(AE8! mA nN;L'L}8ZRԪi bcvv_'fZj)^$[lMʙ=%"\tOR#Q?HJQܻ˸SA}OD7Y qsIE =q$\WR'W0S*L/JTZJ&*svAoK7>]:Wq9=?FZ6Z ERUӄ2]=L+\*j!ofBTs*6uPʭmhw5JEV Ytbš Q_M ln${|w8!I^}ErkyH*ӊZM[ӓnLSsU|bhuQDEyPVK8'gu1mc&gSMVIHJ'y&'p)/.tֹJt97Zۏ)1:Zmuot !lc'!A-AϪ\]/~Ui^aS-L1r*5;돀UD|Ϫ_RQrj;Zf#VC#)Yzjwrg²%}_ 3_fD-ME6W΋/^iWN&q'ow#E0rOwU5RSf~#c UZ_D>O/>-s(X!-."@ Yl|dZt*`24zooN)d ZS-.9ړH*EҡZ?Iو,bWO<9ߊU }iO@AIvq~! z@pM3HB!cN(\3([㈎Ӆ d'pe I 5" z% E:Ϯ1ϧ ĊxEzBcwQC0|PCBjw Otr~Zg{EkE8ihғ0G=!&"(jTl*B,JWqnC05`F(Nyz!(/ 9jL )@4R a2P*ژc4zO y#Yʍퟗh9@乌,Z)) ,ӗ$q( F 1af] S6VZnR"GҼ'7eZu:`nMR-,sH  907W. p3HKGr1Y.TֺQ`rE `k-HnyKWSZj *21 6HEP *1m,掩. k FJ䅩I#G c`M)xls0d0Y`@ D J .(0zy;-K(QDWyk1Df %l|˭v3KԔ+P@BED\lTV;5r<,A>$YG=`3i-TB[AO0bE^\SZ04 ӂ m+ (u1D(\BRT>iǶ XX̔S|3f##!$%4ЀCVaf" Ih%PJh,QD 6TܰE~BP(X6a/B|  [V *(RhzBp!aהq6]!X`}BF opS@ 0! Tk4qx\a ]Y' n 1&TG?/}8pY#am*`L QE9a甫K'+ et /w SZa5ĔAUmb2 lRv/(:BYR@xIuxЦƴŃ[$h6`Iդcx4+˼M$@a8l1q e>_r`YPAA%" '^g 1__9h+̸jAIł#,ҋo'٨xWO++aeB8Z5N!?ŨFЏ>HKBxΤbRxq !%t#4Qx# mUTcxYZi00n4C8PuZMy xrɨɡF @0r:~E)]\uRt F2I9©F*e )3]t',Q8ZNʴC Bq84 mP`66h 0007)EtBPP͈ AmE*zd %/c&"+ܤّW!X!*2`d9`BX?Ϲ#w4T\MOXχE9 5."Buވv&&QR#B\؃x*[ iU͔&)[BD&!2,JEܣ'3"%1*& uTZCKmH*fG6>w"oI"_d7ܼǪw!.!2&Cktfb%3  /"~ە(@ "C _#C˙{(p(scJzBebKs0+.q듍PcuBYW=tZ)>xMgd&t.);EF|.m5LT'j7g9+|~UXErlQ J'RAHvP\=oMi3{Tev Cl-Eyi%)/s&NԊ'bwU\_fQ} :hzR;ݐ(6&46rHf)D 3OR\We$ bUϮ kҚGLfVRN@ by8G+as)Kh! y:0ůARq3N/fYz'1UM=+ JSIÓڌ>e8JZ %BФf+2DBE:->b"\3" (л)%C| )dG4':MLK!%d" bA&gMd$,NV4cTG5L/;$R `(ADŽ>"0?O5 m Qt1}3!F!'(nfWd B\dTP",' [3da*QA *S :HocRx;2}CHFeO _ʌ0ސѪrN$W!ȱ,f̖&m͌Fݸn:3"zhŦ3 "8͂Ech&YXAL\#lLZcn$xp(VDI>Cr7!Ovn#jb1{'o.:Aӎ!Hg%2Q0Dݟ1 | lLcjʋ($Sb &ߟ bPQM%)،H3cX H+^XLX|RЋf1IZFnZ!l\ڳt%p|fZSS `8.9u#AάlT@L@NkʒraM0˅>B,(`;GWd$H>|[F: DUB !a7("])9F/*Wk3QE^f']d&)n#xKQaq UD:iYԤ.8Qr8 1 Eܧ/q,Ɏ`ZXGigG@}spt B;2VfD1 Na&p(a7* y ]xI9$[EED&VȾGATakYQfFDƍα#";. 7@E`8/vx6h2"js8" /գ\`G@qSVWsze#gXFR($L6 a-^)@P˟(cR 3;ҁݱ)G"BȔ _1 9ІZ(#e uMH{ bH!89d(s^FDp[CReq;X1߁pA)TB JYFrxL"89HDB @ϐ:2c"K~H( VDZ (`PkB0,~JS/H 1Sĩa`Q A00tqt P؄EH_W l+ [V/^)>$+svKX)0ZT0T[{˳?R!&tb2:Rт ʠϱY0`c4A&dreEi2-JpYR"ct䦸H&RT-3)+2DJCQQ(3<$wHV$qBj̉cpSF `$C|9ߢY` .?ڰ} aaR@[ :!ذ@nL\ #QyP0cP#凱-ӄ kRSek3)_O)@=GF39.K&@U!V:8;if)q+hvB((8$pROb W JpcRfln'֙)+){C:9^Va6fpgMAf$ᆠ,M8q IV@Af3 aÛ[!dM 9BP1k( 9l.s8, qX'UѲ84H@v 3 [^W9^U"Qa:1/FGuxb L[["L?T,,rpgd 4m(Q˖O{”8Hݑ F9a h >!m(c< bm%+F`pl,+ͻU@"7&yGK I$';b!ʹ w"F⨅!1}bꕰf9 rLE:\^!'\/E_+$sRKȫ(@ծ;[f$$,tB9&h9?_aDA-LA)s,S ‚̆ha+-SWRD X9KƞPQ&o!~@HO̖Jn[]Ub(+\$CKIGqGRr"!ˏjhK%*]64>X֧Y H0-%T,EN,H:ź54b ? ;W٬ḍMM.:Qީ:0I^aqh(pF$Cp0Vö 4N%(!&0I` "8ˠzJ *wi^PjKG Z)G>bEaD 5ٛ$W)KIFZs)7M*?e/{IWEJ ҽQˉ{PG3& qfUJ4y "0AƐxFQ@P?#A+%dDNBÄ6hpX+}lJE?N8P@A^n*Af4U5!ÈVfaD?϶c0MV>G$ GzxHF&#H= :pII{D+P?) !2. a%ydEyaQdwe pHvZ*H]*ԍqJ_(%*!lj79="DaD仓-(Hq@_$Cb|I@f(d]o| qK#S$tІb<(E c~]Kqv⚆0 jTBE ;<qQe:)*5*M&]Tc Ђuh!7\R0TShQ)COB+\[ODca|jD*K#ѥuQF9%1fN+g(1֕8SY, /b#Pi %Hgɨɢ SSș0ph 肬5s'a_ eXGv#CC.Nt`B$ 8ح[0:g2i̙2NM/ |c1}5䝮\$h(KL8;#ء"BXP@0#rXS 0\8jS@Q R[ ΄sG_Si{c^rk-̦0gؒ2bJD /VZO},sjBó/H+.(R\VgE#ah9C 86))1I;.vK!CBEX8RR:GcL jA9"z!^~tv) vL‹OȎNPOB `'OPx1DGȄ>3ev| PӁ p@9LqKz?!n%BP\a[Q"# LBLgȴje*C@02fai9png $ r:(**Rb!h$Ȫ #@݉y2d sʸEYc2!~@A*S)"8#QNaA2 !qx+UFs2EDT@*[>Bb8,ֆ-̊dCN! b +pzPpcl ,2 OYF G/&c?UHl#B1q<''悈QAYX37B2 *$04&s8cOj00QUms:FA VE  [EUͺye==(Z-]g 2!Q,Rݪd•Y7%/ܜ\l˶S,e%U#8LhRҡT艼`ב7#[Jr%7LP̾tu8O1RWش=,z9WÊmR>8E5I.JYi3+Drաb؃&fQDlzY ^|QM.Tk,'QVsOߤ9EAGiOE!‹W=QXWm{77)7 ¸A-\vܨ\ ey{ۙ/xϛ)Ĺ"Z3)ܚUA)ĝX>㖻R r{2mF)H°Jklb?1꜔dM c &kWΑWI4} w f ;1|yURRA)bL7q9SMI> LKakqJ/p[X(Z),#KžlV y0]%OX*%vR&VZo5y\k;+,F; #Ia߮y;2Az1 #ٹg;OC;L3%_YlW23,I$KA-SOd|?cw)%x)RHȄU9{q+)*B_loa1(! VIP5lN1]Xy%\{0,s908y˜Ʋ0pj7PINV;ɁcL`i`e XG!R)+(OOLRp9FU/kj B~ PɷD. @YfvZ2[cфYF9adjRfi,gc޵qkB$%RaRZ邉9]IŒ:Z>${R`1e0+ 0J`4,+W^"mc&袳 hŞl,+fPb`m q[󚳫R|@-8GFӇ|B qma+b,4Tfp (< UT r m1TSI*%.rud$$Qxt784ciO5XWn;(shJ* (UÉ$Ca4`#؅g'( /Q#^XxR(Q‹>\$ lP ߗ/ 0rK,T,J}BҢ=XӒgRE{5u^٥K]z՜nBV6+ObkOJ ُoaH9YC-OjqRqF,GO% $bPP<ej.iBdº@9-p%ۭ-#Ċ0@ ߢR4f5-Doǡ";C}Cj4 QB%k֡&y\",Y#CT:D~B`Oߪ) !#F$d*ZB' QPuwȒB K3@kHa|o:GVaX+t(arDV?k`2_/YBLY0. Ҿ_0jY)P B SCt~L)Rq #DXoW;NEt7-'=vHEh? lIg?X?"OoQH#wgR- |\b ;KIh7InSxjD@݋-BkȥSXFc #Еe@$ adF@BO3MVI'nRPܥ ?P(-`1'2(Ɲf bHp9:TY$)TE I\ ҅C`]DQF)䰗Ia* gg`"Lx\%M 1UCrN/V]Y&I0)/m)0Z YIb4b9ٖ^eӰ pcT+SH+d329$Qr9@RyB`)77 OQ IŬZV@S\ N=D"- qa+{l(L $;OFTaݵ9%Qeꠢ4ryh{xƎ4LE!>fDM%qh}^H Wq*1lHI th%"*Tk2T=WRQ$cl rd]r^ `%U&aȡpCBCk ƯS-пBDc|)H, ՘ i VylF`] aO)zF᪡}_`XJC͆;= UPSeYljH(GTd g qbՋ  q~] PXeHZxȴ A Xa ch[=RP;ZԴ,*ߴLBpE[D@ցq(-t6!o.Ł[rP} `a;9J=(\1F3(_J0nVyuA*eDz (}y OOY 24瘔/9gc ;/ڃQIH,2" 5j-#fHOh FojFT# 1ex ?̸,2"3Md -(>C .bIKd( UN(Y9W$GA! 4BaP狆"QS(1xqePe3 1!R?Fe`gF2܌ 0~n /?a|Q9nP} 3)Me5s|UEu+waN%H8-Y"1\B{ p#,#1j.+)G5y1^JmQ慗ZGh@R} ɨɣ깈Ҏ&S&V+Wg|ٮd0*HqL=^…\.vT]L:RRQ7׮܌*J!P63z8e*8Ju @\5b2-oنHBV&0 ꉢFh5-F' 2 &8! EtR̆@#^vLX֡TUAv\"V#Q|*; N:jX,mE*8&G6>ޱ Ch1($JzvV9Z8`q&q/_]Xd̪z*$cHϲ@X&J44(8M}$)Xs1(y,sv;ND$9$LL*Seqi#h^aPI9aM[q Ik6 1I -A3bmf. <{0JbX X9X VXFY|e!)n4_ `n3ŏI1DYkg )xE񁀜A4A4t(RȢ٤3y pA9`X p4H WJTBMA!H2 @PnЯKr5g.ҜO!h K$;nT8!h =!l4%hLjV!c-9vHA gQGUC j';LqA bʏKH$-r1}N q5"3 Y"R[KS\(?WK 8 Dm"^4'xBPS )LJ$Aq|#jPa(OEJ∌d5kGQ 38hPVNJ; Ii$ b p\*$,[0`bIEciOu-)0dJ4 p rޅ%rB7J\&F) @#5fŌ#5"D2tÔ19BC)$-[gUy+ EJ.ŎypC Q")&QM`&ڠU٘p&NM &WHč嚔\ŠacA;OPV9(gr^(AZd(QD"*Y;Z6r:m4$4Qi8A@JVyჩ#CeŽs4HZo8ʰg ,%Z$%P%7/4Bxo@@ < axFL|PrSāRQAA8NITɨɤDĵ.L U 2A5ISИjP][n0 jؘf+*9PE%bsbi!ebEC$S̩3ȡfrk Ŕ.貉ԹrQ(nJ'"ES3UZ\2wK "PeY +UlY_)gõ"*e+;ɥZu [0КNKU1((G įz,$he e)@U;”SG~EDt{  U2uVVa];gon]^ן6 0D*?8XV],hMY{!%cF:ҼJRl' ֔jWw Bdϧ{ľFmڿ޼;4LܵA(\/ >Q$c\Ag ad^j%ͫBm((y|PY۱~g|x'2XJ 8\_gj(@>5'>Ud ӉmjPAbE2KNҝiƔgYsJ.5/HCbl'=jkJHS!yq SjCP5Y5^y)!J ps T-$tz2h.E":uH.gO.sHFKHkװd 9/)dJRtZ,+w}m|Es hdJɓF`h14/O'YDkEqmEqe(~$2Ul[So vd;+HBL'=vj_PBw ePBVrcդꊈO8$cn)P>{KW\HP0nsع>ӓ0)AhQ.!PkVcKD-3>NQ5t( c(F-(M:M^cX*#vSd0) RJ"`VNJP P/Jh*7V.|nz[T%Ū+"6m X"^-u,qbܗ͝o'gge%^ꨎcwmZ߭ Ԍoe>S/W1J6-Vs0J({B k^;ٞ?n7 $/%% hNWo08Mg(ӁsU|0aCh.j@>$[EF# $Wɓ0y,ѶDA#0#.r* la_q~epR_9b dѼo=x)1UTA踠mMNʠl ޶# [|[  ^{ߣ!]A'htapÝ92<=66AJš@ DAb<$qGE>vlV@g@\Di KǹS>MOA6o[p(x'jw8Ey$}:(A1nԜ\ tBa0I%2i9oTh/5 :^?:N}rIB{{ #R``idRh{N`/CQ35&AFXdlieX. be3",o2tDKz'Yb-7"~~5aA46۫)1j]s4Ӡ?KC>dj}*ɻ(U{ tV&V]QRl>5USt08^%A?aԒ27]Mm @Ap'yY0xN k|LAVF[ 0c0|NBx)bd!<(=.OĬWY\i ɽW)X-/|_i^-D}N)$DSR02=eJu墯OIֻD$(:x񍌈5Sa4FCط 4p2|0-s;ef>Ba+1oVIh WiV`X`C08!  `ۭ2 չn2BIFA4d8Q>Z$E>Q6̖UØYҮ֍יP.{qXQb  GQpWr2`,HR&c֟yWqgUc2eƧU;NPE&<(TdTQ==}y674HS B'`@pnl<\IU98M.>1RQ!W+/vo]>YYn^T}\PB-V+ +Yl Cy[Ovl7)-R)1 ! DZLq32rrY:  HUY؃lbBȬŐ}crKX$WD?+ppR}ޤ/D} ;:.[NQ 6f/Az})b)c2h|Y=y`$w+{6PK%EJxնU4v^讎Z'<4o7lm)K,jyQKDeWt JWn@,C$ўd 7-o2(os ڋy,?۫pUip)Bi?1Pt^b(T=4J|mw,+@Q{rkSEng wlcXXW!~$w D3e_BtڤTħg`qsLI=Yva<)A(Wr" ͣ`zz^R`Kr^]f5 Q" mι`Rr#W=A?-@5.DTEsy`ߠ,셥C_ҾH*e6 {0";Mg]D &;? jIqee NJML1O!2k)ut(OWi>LaTKcV%6,09' % &O[m؋n봣t#^; o&!D5H~[ZQMGf"AmXQ 70E;%<Ȫ* .,uu}mK>6]p hs"P{wu8MĄY@?zqKuh5sܑš0ѼQqI3݌c3)4B/w,O1b3P.K2jLrSzFa=6,$P rZ=M!vaw!|P.M/-ԺS'5HG3#GN N}Ȋsv-'l<' r栖H(|k1}%Fvus AY"ˆ'ˌDPa[?Xf` 5O4nM}9' BA/a9thxm*7g flZq촛M{b!5v͏d՟39kM '["MVK@fE?6[ e~J dӽ4pYB'eeɀ^A[_eX2 *i'SQ(E8( )%|n^Z>1F39gROJ p \~!PUW]-t&T8G }{>T*;bh{~9hKYiT+0/5x VIR?kV-jI:x^K!t]n3<~dzh%ڂ/Pr5o$*:5D+c_Ecwl֌g@,bZ].KZ p'nҧ[ߝ$.cXavr"ZeJ5~Z;.nyA/2ŝz6q3PGֽ'"n)"0S&C_V<6k9O"\d"mIpUKa裭0 Ecޞ&K=>R} ]#(*!Q*0֖rjiGo[\k&FB Un5{Pd4u$΁OQ+bp 2Y98<\{I@pPq ]0Q|}I*k+thfq"%ZZ# ]|D%1Z4V9"C8F8JB>d9F3‰4Mbi)]_p"Ωtqyۙh|LoR5GJEY?Ʊ"\BM*ebi6!?L8Q:ijC\Ñ⹆\69ƧKp({wRcRuiPV+kCYL+[SndF֨+Q% yܯ$#6M2yo/86{^SSvoU̡ {^s-KWZzi񳅘%]4P*mqpѿ 8T`} %"cʻO^!'!*άGNKSK"RGfByydsmS.Vh+DF'4tM_huJ64,XK"^\Gmk%TŤ}4BCH%u&oSDVZnNNU굻K VH}p_i/>7_415Q=;SJ\AAA!lʂƊt# GҪNX;$ #Ra-OT¢>:j#$E&Di#'!DL̠FQ+2ehĈDd$B+Wu{XJ /yJ֎fCDwْ-!t2‡9j7 0LƦ:$BBʏF*ڥF1+Bv#B&R0Һg?NPj\zfQy<@,N:(~FsW M1wLAȐ\c?XrA3_go]X4'pwWA !K.E(VEAjWW C aN!BB* J 1lO2;$!aF2e  pPtJ>$C*HH'~EUrV9(d yH!`iTFD47}B463EkbP~tТ3abp@lDjdi ԣ9)! ڢccR) {(B-bpH2T1xjf GcI-0yd JU8 I_Y~~ dq7rx[*""'k3&b}>OzI z]їyk {֥=[:oZMX/Y j#⍲ DWAFA0D UbR䠈`}Ajm<ĢhV$ʒ+ : q43!K< FQ!iPZ6PqXQn=oAڳ'F4h|icB?Y.H[¨:3n5LT [ zڅ]: e\_7$DӿTnnvtֱI!%)uw"Z6(8`$*C'MS<4W/$>^rfT؈yhD AY 2Bs$iڎb3`Yr⧄sp!EY2oѣܠN;d{~(;˜zM\Ꮏ ppwО»Q8OㅺגLD QqlOa C褒8GJrRW\v{9!*e{')gu,xR%w} X3RΘH{`XJU$!'o/`6R> :+:Wre:ZRሀ M?J!d2]Iܿ'JD#Qi6{q3B#nPj~bbIK-oDZiʃ*wP!cҡW?vh )f🋒sߨ~nq5 K3T:=߁$>)}4C+5 # HLTi"'A #އ&0+ $kD|6-x`GS{|DcaaڗvsmBZPt]yl?UoDе"UoO9iqijNK6(ˁ@L 99҇E{b)iQ-0B .x<N-4+ .e:t4L6|0iDa4[lՏe1)BL)ϓ^6nIL\ov]OmC+@AK}FēgI&c`("ggcL"0b5>1qR:o8Ƃg&eaQq*WZVL˰U? 1i(Dm(X׈'ᥜA{!nS|jnXdk.6nj GwmuTXvV.^ ҘC#HUq£M|*?Z:)r#O?<*ᎅ4V"\ҥ eP$ػ1iw^lqz~KPdV8E WE̓Po͞EAP:dgs!KV(cz)-0)7QhZ?`~LU6oH`Mi8TA;/^V(VqH: Vla#RMW>u& R_qER;uVH^'e\ެv~7_;?DY S^mX?0~/wq=2X{q8h7 P&m1Ji %hFZl9QO MݔEU}ygcn9yv!k!jY !0+~6-] !} ۛf#Z!Ri$j+]A-Z#3G1qD*D[EQ $\8?QS T8uv#ZfI3Mfݵ"(U C$VS$sT_DoU#!& n"r^;,Wc,B;LIvHX'Qx && Do.e Z@;kˁ?_F*g<+Xdey⍕zryk uY]iv/lo7ҕ*4BWk!1#O&0vyO# 9RGFP 6q)~ppw߁6As)dGA'I׷v6OcFt !/Bn3RoHԑ$ uF?髻gkmnݝpN"$^ QF>i5 f:нAXq4#b2k̎HRQaqfgEu22(cu+]EU57Pӎ&DMFT@PwUb#͘ &-YvQ[*J4=,Czɛc^;r! /1%-tu crnEN30BC5:Y7ڐz4 SM5"g(C2s~1k'I!ͭd+HލKMzLY`&dj' 7Hlm[˞ -_r0Ya3W5+0ĢRvT+uZDe_/FqҢ:MH-α;m:\급%J{C fv`'ˉ12^}rF6Tc9Q )Z.)t/:'xҌ81CȺ~>Wa[zf} [_ޔӴY/\K[6DD@rkǙH]@5AJ'f!e J99$aV0 Ȼᆻ+!)%oX]B)ҡ[HIFPI3{桃qa+Hp@S 3BfL] ZWrVӛ>'.{([27(s Tv(k,nDSNRhԽd~7cv@]ARBEE}BI^!u_^R 1gjn'#~ w級Ŏ 0 RY8̔`ŕGnϻ!OCڢ١T+Lb7,Gs!*#,[@ ip4i7,܋T^~yp®LK tJ+")pL`ceXՕ>Nojvd#ed\sz^VwU0ӣ~Y[5y+\ ?7eۧd. s j. /s5tEN9eg./L_GZC}lբHV4=%t,rFqNph+8gSQAK'HR,;QRŋHVXd .̺CyQ`VNüC^nLj`%dMHV@- C*n-xnqCqi1 dH)3VlO(k+݋ hVl*s?z-PFY;~DS%+huIS^ؗ+k.{ `wѱrYr كQG0Dht1_ <# yA!iCO6'ZK3C'XBi3HrűVՀKx RNuU&sL!}>MԼU=4*ЭD*ELm_VYKctT^Ĥ <Ķn_ %vdX!,T5TOz9)h-=R:TSB7!Jia !=zS]$Vꋆ7QA k#n [ʅJ68M:h"*A>L ^ PFL3y%Eaya`P{D== ~ΗD+esurzX/ I͉čbD#L)g@BXOڅnq /p?PMp%뱉wDh" %V=Ε;d@͏013o{9#kq}] X ̫}BS8_bv֭&e<ЈaVBA±y  6Sg>c.h#1RrF3f tQqT/ :P^fhXBwxޙ@[Δ po2^1 A68wGXPbQZE$E5Ӕe1ix><HrrCu%D`zݼ]$Rp' 9zo W)*S.zJx'rni5اwZE8yK*%DV``eOɱhA ?DQT" Ei -) зk\ՆSbeV0;0 s&.,0e%'FNؾ#N:(z=p:$$$_=x&aBk De3t&;H?A6ǴIX]ܓԘFͺ}Kpy /$In{hE|FkRpא)n䉓19ɀ[^Dߩ {n'^Qz ug\ciM섶dVMI N]"%vz e|*l R<t޽VI``D0*c$p(@ +c5+!!%e8Kl|Lq@/ՠ=:UV-zr+6xE~4‡7 E%mRXhQ[E]'iO+cI,ί{+ic#mGkm|}̅35$ȈJQvn)rrS]ȭ4UR3(YhiBJ3lִyZUbR}߲DY{>k{!0$P:qnl.t*V6'bb@BADv6f[y➶*#a JY"C@x|>\4!`pN18EzP~KMS巴7SVIiK.-!/S,] -,v=M-W܇\aş8JՓa\^^nz^LN aO>2$ὶ)Guq 8訅yϛ{3_:[̮upXh /Ԍ3CS6&_]>Jlfxsdtp\D|l=_:5vL N1zQ@xDS.P>%39+ ]E@A1^gCt ၲr~ De羺si~7>fŌ64(ݎ'ĮLU)ꥻ'R͕>C$([>R ςF<<ɉ{b?՞mWY4ᨫvJ3N<`]y$V2j\[X%>q[9g2ӣd:9W@3|$;_EXi9AA@72@hɈɦTBt*m:{%bt\?z)ivUݍUN*F<[Β &|ng9)ݩbԅ(UU\9KlwK`9gA<:F~f#fp4 D3Bt剫lܹ-))f̆~5GpcP;>>*sj^7 s0lnc?&=t. |B=ivT$W@p|V:ٵy nTii߰\//wj"dEyBX/}y~h 8o(֌KD! HNr"kr FgqU)oQ8q-gA]Istt\F}$ƜѱX_yRl9#A>S LU;A$]Ź!,dWMOHl("S|T?S׼ls&P$z-L^ΘC7{# "Ddގ k,q.Q"𶐸-L5 EH J5^ĺӕXMnk,nn*]M@g6DŽ#fqZS,_LW-x dN7Ւ\'Ume tᓘUStd:Oٖ*Q6J+;(Uʢڹvpc wZXaD$>"MgvW`l[-: |0%#K1+&+Nmb.b2bA\jSbY؄ CGEWoNǰmƀj;ڧ+8DUN4cxy;a.-e_|vn퇝.vaAѤMRg*3*~DK o %ϔYNGexލr $s}&&*Gq"^rɣuj/VL*f3Rvܻq;I/:\XE6FK(|5TB;F?RPmG-y~QBw0yOĥroR+w?]tu1V?_[-}M'#:hBu+nKbnH_#A")#{Ċ~5~º^Bβd5PUW%neqXVwKsB7Uɺ5ed"فNKe̬J4aw Bini+Am} &Zݹ\l*NG.2VU$j$jR"2W,Z,iGJ;/NSL[ ZơЈ-[! #<u!4Hm62bϒ/8Д V;J#6y.Cծ8(1>_[FmLpJ %Py0G'F/`: [w8)?@ w\[W$!ž=Yxq%6JhzmE{ZH |Q(Oz}k.!P9S_Iw!NwrⳆ$.>$jɵ8BKf a6PjF3%1 ilc1'Ē ,3Ee(P.Vذ3p-@NPǴ\-drdƢF0V Ñdd8 x0-ΔM8ˊ)''2^oDME]Ӄf9=KA,[u_ᆖT<ԂVeB'5- ~Fhruކ 14)J=ƒwW8$DUb#NJ(RBۑBXp*NrA(n[x|[ܑ;F "1h8 ;̪&4h>[/kY:$~H"yl䛪PgՋ݈(Us-fn+;ߎ#q_d̽Ȟ!^͕s3$&"o1Ŧlw**F+ef!I2&$I*2SG™VpM l`W5Ob19G>:V,Khd*M|5 wX'k$q l˝SҖKqJNG.6L2+T 7 }$J>AeF:i뒋z`WVZ IsnжddˬQQ /V9šF4n$ryj{W4^: %s zg*+lA8-E*u|D %lⰬh_̿`ʋXȺ=%?7(rYĕQDb6,lC^L F[3p=n児@)Yk@mLEFj.jF=`,Pt:@~A:lP E,TO+mKe3ǜ&b- ʼnoRe.%PJX#Ԛ1R*|5e˷@-}Ҋ4n VB *Pс۶ā`: KVKnLneGIu*.gVp: Mt60l-Aa[5-'aRZ#ݭu|p8I4 Kr0ƹUP'\b1b$5/cWKmnLѱn3E79Ft@D~,s4M\-Iy+/NZ΄"B^(M;$?Bi)QF 䑄 1y[+ .Uu5}R$N[`i/(xyy"FAqD\ O O\Ϧ8P73Qw2+0Ziվ3fj.u|*_!' 4fr0#Z܍tvp D:#k !&+a%,I Xf&+Zng=>|h~b 4Ț io %8`%tJdSċJR$3PxSu*j&yWKPSwwXuFim˕ *:^^zn$&BHHPrD)Hy # Ώ l' S{fp Zhd6S %RvvZG+%9v0L\qW zvȍ-c"{Yu!v sAcG.(kzI}6OO%NJwcd:yiI;.T}rBSk [w !H etBłLt8~ZQOhfx)⧨WS:g)t+|H=${xjn9cmD}ޛJ2a%*wLj}m#oZږ+D阭:t3q3d,,ANEG80:Ec|L-3ٕު2F@ꦀQ@p K#[&#KJʝDԉk sxd*ȥdON$lNаKXk:t4JJ7=J)qEc6UVld|Xen+_L"DI loLBJ]F8Vg DP{jhlMz]y! rGyQ>sMb +3-:i['qYc,mQ8oNDQxf-WA]ej۽Jmk\Gc݆41鈱G;.-#PTbӒdVA ᕈ pـj5 :Mgxkj#6J"DQ5=Hd;gDRy%Z=*˧C͞ݢI.X lʞ]+Y=;ߨ]l3?:߭K'FDmzd59(I NA`R9XNJ˜Yehƀ$&1|QKhRA^z1Q8͋&[fDɪ:HD(FR= aK $6{Ҵ,H^.n2M̜SGLOj#+>jc6kMq!aEM!*,F:0M"DQEl/mLR6OkfN\97 -SJX\ISA_fBaouKis*Z̫|&oB0~^K%N:4ˮ9o\kǭj~$f$xlEvԌؐ2/ 3)X^ySIAE+]$@س OkJyD]۪>Ӑo*!<`==S8Rr8ZgQSp׶ux'd keA+j2l;{bf82,P0B nLjxvm-ߺswQok,`T  Ģ'Um~6X?39Hǰ gJg7#:M TܙikQQ0#vk4c{/Z L,l,vgj-1U biOLӱgCI3U`D2QP`)Uٚx!qq㓖WJSJH&:'qP(T)ԸԶ]2;ׁ"k^y{bI 2[=_RӶeCdr#Z.{iXi<9^3P%KʽMn*}5aa⭸M/&",^u%~oerbto(Lc YrJ_ IHd3 E]N|)vУ+!Gc}0QW#=Rz֑>vnP"!jBf!eCBY6٥ &ji%xOJ8EmuĮd KahJ?~Ԁq&e[at" %uq$)X qNڸABO} OCqCfb22D͌²Ejd55opn9G:OHBR~ ѕ1 耕BٍnIk׳;MQy_؊$&51nkI|+`4Jkd+jo DW2.][efJ*^'-,^ȏ!CwyzⴎC(bڴL{2!8JFUOTfz<{H@Uhu$M O '}AQJl(2C)輶A  J.d~@t2څF,=aMAʵ:%/%2(,+%dNշ.;EPI$?mH83kg+%?(.Lȅr)-}%[ `PQ')]FGRJc g]-oa@..s]im6:"uFKoOԹjSoe?_|6 ]; u hj Iu/whnvbRF$-)oB-e,;BcYƻәEZFERoFl?DoŒl=,McN}pPc||R;Q5Kқ"W Ջnގ>y iDۛS0"թȺ9-H}v\=7%iF+ 5 bB%$:yemrt!;uo2f">x:2vL\O!Ѹm՞zF17m,*Fû(X;a`dN$)R2 S 1Pqx2"Gy HhdM9&ʎY "J0̾k gڭY"jF ɈɧV)%!``4(:f=HM{8~ ۾-װ5WCIsyl `˷ܢiyk$mzf4cItx$;a΅Rm 4Bdc8)NnwvQtV4 m,HW%L,G|I%Kqd~|RѰl;-TJDtl<^#~/!wʔTW ,E&˽:F7.+\8O/'yQþOּ ǎTLb_R1 WȒ\ Jr~f:+vXJ= H2\Z NllzƎXd>ÄwlX4')'#PI]wqd]!/iw{Z쉚H*J|rBuiwezt{ FR.@_$E,0Jl7F @Da#ht"Ю:cYl&T#%خ")啩O20yUxY8%ZKXT27hGN%'zckr%ӻ>{yg6y镉 OfRP. $[XdiQN;H9h ? "?6)h&J;,4u9v Rۻia806}3M\wizrf$6m@)4*T6}B ;O C c$H*۹)7x[]*[e4prVr Tےb4HK59[$Kzl e@E؞g3 U^L#Z׀͎Oғ ͮB@W$*]Y/BSYҢ}isU۶mU7[kS\JWe""|e'5O5'FxKZ0ImV)DX Q)~-*P!z"ʰ a յ/|TWnbu$_B3f:DVH~+WW"K{Zj1^qM=V58|(Jdcb%[>`pTWi.&oU\Hiz+0 iI;N+CܛEݵ 83 X-f#c~:M(KP``.xq`\I$ ձt̼@\Zr1 BNh,:-Q֫*k[2fmi:MC'K4@J5z\޾W,wP-Y""HIr)\p4u뤺OjPԐmn3ergX&֞(ĸht1t( db)S}u̯\$8 gmlniF 0Ds$ϘȘP{=FalGq@\=# ]XRհYT:53n[TNmf^]G^IUwꑪu;PԿ WwZCݲ;r~鴫}½U3:xZi%ϛ{5GNVs ZX1k'g&K9SI>鳂+ hFar~ x|Ȏ2M(' $e%wqp"Ql&*KyG<|5Q#9zAkzb>5Q Y I(n+*X*Zg'}zCʚ;ZΘIvRh[7IڅdtZ4g'=(NB= GrӑX>8("`~XG2aEl,PܜЌF+c!Px&nKB9-ᆲl/|8#`.:SAX>q!D89UVJxw{v(\uD@>pj-ʵ^X//Vr`J`oD׼ёgHQ؅@%M@AY./3(̱im8V6! o'HkIV&MϭL(/5NиH!WO}/?lm+֏CDhEmlnzcE\GLlG %3 &"@yЇ)I8:(9jH 6n[,r!2gdʯ˗ρI:|H7Ձpũm(^wE`BZyJO%hS$[(͟WG#;z[{D0Az] -`)ZUb='@ՠ': 2)0 k_kqXP!ɥm#9|‘LItMm$۩uKuow5L i夲akJKR+-[F+oxb%t`SPD|+Uh _u*\cUUʗr.g&mCRD=vG,$k*pS @-Ɣ~N ,XǘP4fVb[gfB*iimfGdᒗx"udĨLe^dyNJ;s {B\&Z")ĹB&r`H-8)oU?19+`YfƗ⹕e)=]bt4 L  : ͑;S7X?r@&LjB7q i.u,*m- %k}8VhMݪ"oѰ{Β/੅)UHz =Tt(I@QH6@,>K:Lnaga7GqيZCe2Â(#NJ>׺Ӈ\R}9c&oIħPbMR ./b ov%ĚQ!)\}سls`p9Y {X()!2R{( mM s~cBdxtch'!A% f",GIϵoNB`}0%W_8.ˬ~#Hb7$7~Ͼrǀ2"a; 5^%n. o#HZB>yS#w$֜;ۋ.>Y B=:krKҘ:珺ԏLwJ+&EjY?ȃT-jF%~MQ+ A#Z*aDrIe! 7]|GF&Ǐ{%gS R\vbf$1V) }j髁j{!e|fGfLȀˌ8ir6bOʟ,DP&J VG=SPIQﯼ,h@3'g_iq#PoMާW89p- Fڿ ~62(Ah($VxH[1 czKx]0ۄ kіZnɭ (U$ATAa3̢loބېa!A}Q ٚV`yM )@((_yU1Uk ![ʯ[F{mIs^F UBYJ2(g iø"- 'YDsp-N~>?&d:%jG:i\jcl۷[p+K!.4:QbB̝0ߝH ')]35'_8ZB.2~yN)Gn.0 )QHőQEP4mP"]ic.1NpmLW70SA *B vZ[? k:[o\ c[5‚)<2ũӥUkivS,œA!GO4#WJW[;ݚĥb9%0f\'QYAF߻h0!1~hK<ؔG>!ߜApZ.}f!9*i@_w>BUBvlG]dvV_TrʅU_ x#hOLfu!sጉoeK]qa2"No68wճɣѡ--d=ݞHf1M.`Kz=ծ4NV|cjQ?Gߣ#nGJ|RBeukJ{<si0A@(U X. jOFW~t,}i(cFC)ŠY`SˆߴKrZ fk>Qq{c$rМv|`b5"6˅b dD VY~RAP+-#R/T Iq.?;!'3It}A/rrb.Epd}JV^**٥$2D\ʽ;NڤzAPƴ^ E]"uijS |׈H^ D!@TC~hJU%tuC,-Cxd7tLPV!FHD_$^h!Llcx}#]SɟL3+zM}[(h깧\2ݺ^"8f 4́hCW"ጡ15O09p/lGH)R y7^ДbI<[H!p|&e#"!~ظ)$N=+(-M֊ZzV[3(#f&`iM3 ذ夠B|KBGՖA o/{ݜASC@F 鴸kIDdX(SDv@X@00!rX=[0Cщ"b^kju]:#yǗguߎ&R*?Mdgi CEsy (l -b>D +22 MӇ,Mb=" - /R+b'iZj9̠TE{]%9eTXe:UBT'xWn%୤`;r YgN'ʚ@lPE ,v}Q1;9SvS7hOC6Ϧ8l oY Qk jIcKdQM =.o-=1}u i&t/cfa.͜4tm/ew֑N:"z9-YxrҐ^,{fT9-$3Qo 2lkSu&kDh5d0XJ2 M ^qpFfEBarUH) 8)Cwg#K1l׹_|,QiAڛSHhE`U_^x|V %D/-ZW> Kiv7YM^`7MK' MJә65^Hy}'*P6F@ZZUƥ43y88(N|+#ړ~+ T .O:wG8XlnjnyT۔L2"gW}ee,PñE&dN PTdVLt.zE~b:T5Ȕ7ȆE7hXVp58~sT,CC%hiAB;-SWp{:mR;J.t`˞<$^WҌHn!]'Jrm.kXvlS%Mlix!/Gp%+Bbu*FN DFs5i (Ϗ *GTy|?hXlo%`5?o=}owWYwB!+|(H,GW~vװݸE3 ttBxT; :)QK@>Vl)~Ji'MpHΌ!ByRV"4ƅ VbtF%X1'yZikiZ`$87%yn}+"3U8?Z7Yۂ9#jwLG(!<Ґ|^䫳'Ms<$ʕWbrqKחs <ۈދ l羈s땧rLBN.H?2[bKM].xW8V"rwV6|B)~qZ]Ƨp+!J$$XE7'h)Je,,e8Ź\\ JG\X5*,ZKBo#bS|1C '0]5e|')TfX۬rۊmg";,Dt2?1nZA,DSYQt|Up'b؍IMDbH5Ju#LxVؼ#+fh_ plf&)7t<)X,Y1^FIn834L+}lDL*gpdPQh2,χY`)HšT e|֒iDIN/,?n^VQAJ=o旋* )h8)!DS[ &SGRՅTGڨkG!Vj(AڡjQ4p͒eB67!OaO'X.}AacphhhcT; ;dh>>WmR)Jw(;T1[=Qg/ *PMOНs ؐt)ҢiyxPofb6vK(ɇҝkvpHPLfF!9h#.vX6I/vF(c1ŌstIpt dlu6jĬ.k܎碡(F/lok@ !Ϸvm7+*Bo?%N4uYu&)~ޜ94f.KnIvR rZݱ?)YʜsΒonB;& /r]LKK\\*v!Pi)h 2N.aЍhP1a`c%eό=f\+n"(91*Ni\#I#0I%M*GŀIsz ]mݪW^A5+"3ƙPCfG. b++gDds҉-,$RZ-X]%.yPV /mە .<_ްc~RϫV3f;a0k>> R} {1Ht$;v5#vzE"GhH2>XȫueE8hZ+`hW5Rg1?kb936s~[}{K4~L3<{Pҳgl0J.7UX (^[ݮےLL( 19MIWuN\;174IwoQIJ 1٨mr$&kHjWLWe)^1qsʈQB<(Ws&O1a_$}/\d܋D13W_s䱏K }( J|2w@Å?,h%: 89\*VIʥR'? }c&!I z/:/uˑtRVCG]05Ր'ߕr )ꥴ&X<\AYGL1g3r;>5!$h 5ref봟O8Hy. $b1oj|Q0Pm/ƩNMoE$ (?^I"E>n)"޲xl u7GT>bA+SfSCC0nmF)LUfrխE2(.g_ѓƪ|RqY91(`i6Q(_!4Lj䳾[,{Dz4=IPI#"U XTٴ[`:PpčJV6,?,葧%b~+:6-%9 ɈɨT vk` d݀f?Ynw6RgЙ ļX6. WBa"dGG- C̾d*a7jkBq́ _ڴ!BO8@VqXt%.XZރ^"z/%< ؁;03P64U"ou)%9,_Z$%̣ܽ!CQ}VO)5jjDlkڑa9t u"sF}ayg7dc_̍Rs״<㡓 1{*3\\Abv1jeiD܃V2r CAR(6n t3dJCPbŇCe#)NWeꉸjѤrR$C[nbHa? .2Q|t]D~>:Y_㱡F>/`,_CQtv0܈~,,97JI {'~cňv,LIw>`/TV$_JmYL:w Z5VrD >;?| {ՒB# ܗomIB LUUjcxOxФEU!!8!I37=V/lR_TNvBk^E6'?7 p7 O2xbHG$KbʞI: p_7? n{% Z5"U1*931BstGaP*l;ңߖ!Ǭ ?։<(fϮ!zz'pզ~@6JhfJ}9pZd`Km%J"ĕ*.R9+_\Պ9[}|fJDϚ_!^fܴq~Rc4#{ɗIVI vf'f/;? mvf8{ eJ.KwK^#褜ބTnVoHxX& $k2W[` Vd9M%wKiTC@ RTtTv.k]0"y0=wz {jf){|io5H\f#A梁?#f~%Vpl쉾T #e_ uL{6R5!Da V5"k e7&J[%'L!<]Ao!CR9FqJv} IGmB_DGdJI1(/7_$t8"aH:) $8MU.xХ$OY C̴I,Z$,w(D-olU]bBp"Wt:>yR KSӬsRc?ˑq9Kr[-z.sqw'*"j7$|%Hbs- FIfhEWf"f3Ob>p(o*5+ '.S6&0犿3~)a /=%r5cnCh38ć-ύ^+DzKix *A]ŕwNF&<ÓiO(XMR2C q44],&fCKɸ'0[ʾK2 BkO 4WqC\Ri\BFc"cwFEYi.9MҏEC_~~&~LFS*VnT)cyH~++ l֡D_MBO0t>RL :>)IrI N)J;=C%Hsy<нYӢb7O%&l > WHB} ܔ^7~=:4R?Ļt#\[͒# ߡ0 `` *gإ3+ `a/.#5/MJx tĶ[W Ea%ysޗ@ ZyՕD_BevJT #HI5ZȈuT_&6TweQ9Dql: L+Hgb(EwL6GQ,CPo%-1*<W#qۺG8ߡoVfmE9w/N橪񵯪mSK_VĴWqQڄ8]jRz⠬ I=zty> " %eMA#n+W/mH. d,JLU82cY:cpdIOr-Y؂"j%qss1h[τ [)#fs#qq$ȗ*NEJju7t!".Nj.8*BP>L]q#/{'tBpA`XCPm #0I1( d!\R YlPGQ .Jq 69*јzO<D>6n=ëTa]rdwV]_~KbUEYɺ* H=D ?[z$I|wP}~K.-$4n^ⰭI"<: X 8'a/8Lt =Hu @!f'-gn_OL M[ԊgLB´K2ĸA5VUj!Xoixuɒ O4}Zҁ0"Gl)eZF˼tH$a,;`@LeP!4EJj뤧,pF1%$ShEkk@XvuܕGvP[Umx֮R5jQ刃3Bd男-}4kL-M9mUU'[۝`9BSTw&<^{=Td>N ǨH=3^-qI/]R0gJk0t35Qbc$ޙMq]*yc)W㺸[TSIi=~XXnS_muͺ+:#]yn۪郹A/1J`գ(:d&Xʂ/X^*!&?2#BsAQYbH"XKi\lm~ 7?G7Mf[R EgZ,QW=Z+4x[5fI Rپse[T^^vw|:43iBo& (b\*D]Tlmi_瘜H` oؙ+s98I f`"0,{͇uE.iL7ܶMR`Wݦ)I>ٛ☎!봁&ZevyDNMMMwo&'-=-b˒bJn'vmL>`!(2Cqt(ģq̾s&Qlv?HSA& C(6 Ų+}¨FJ?' 2FӆEsSK8l7^{+y_5jL%F[){r MJZtW r.{Iڍ/V-ҥFlq~r*+ A5 '5[Ll,LL~: d#ND+uƑTA @~ aps) bІUKPau:ߎa=ʵi`MqXcfK_&yS>j5^'O^Gz_|e:%…LڻZ="[YdV[Uze+Mk5#]"`\*%*ի2=~lIf˭@=4L'">J‚FUVp3r` #D14b|y؞?.̛Ȗ%>#N-g9އ/Dg\ݽ fWi+rS՚m\y} ivzyĢC5"0Nc/<+"`^&%X&Χ X-D+ a&YD"*"7-1䖒_t z^2]Zeh[]Yzd]GVk 湣l~?5u7|VT?]BW[&v򧌍cT8E)>=6" iu3 U0V'粉-^I,QaB] ! aH:St {Y՚X"̽u>f? A.z^[Q[AMr "]cȇ- Zk.ηKzPw$B2“q:Ok HgcRςI UP.idLU $TsB\=(^oAb7gB/tP[ 1'ceZ/1 sLŘh爸D? /|A-84x$L4bҿ9뻼uzH6QZuI1KP9y9._)GA*v97#r.u}ML{ #Rב±L>vcQ5PE^P \7ˉN52 HI\qG$-OO<%H=-2u,RFM|F?ˠǧ8 [EyyP9ɖ>@ X#qV9o{#aDR8^a/J1m> -2&UHi|\lp$/5"@2**'bj\ǫ{MEu,ቔն5{Cq7>qDv[/%dG%Eŭf~K"{@ZM"HF<riK]9Y&)Wѓ+8/4^=*.tv&\,4ݛܦz/$"ȑTT]k]K8ڬ$ZumwgGhKGq\W5ʧWj7 ,BoX5g}O:~_xlӛIوkcr(B+e0|l+T6NuDӥ$ߚ<"[ MQ(x4AoXDa;P |Trn 9E ً$ROIw@GI>?Kύ:,r9+ 0sII5B+>- * G1+"¹e#h1Q.(QߚI2y"U$c&8?`@"01YTԊw+ M+]Β'(2=IIJI,Y*"T+TWo %ꀦK kq2'DH*}Q>RN;G~I'q9 o"?b-$)˓}6| ָE)S1>i,wj|q'H*O\NU)/9n*+Djb#.1Xd AU}D)旨gNW?I21"wNOU:ve#<3Z!6C:TUEp:%EV<c L%b{ק.{'oOtmȒB1泀ǯncXL)8{ <>[[gh8[; e.9"nq"+*FC\0+U@ CH*EPM}PW] 'PWd*/̦~-dP"I)IT\d CyȚƓgvAEiU|_G[.=$bZ皆-ۀHr4^ (5ML a$ܭJK\TW(5'7&%k#g>)aK1͞QUܦy -Ϟ)*=t< F֚̆Iú~0y7Jb]{JIh*KѭBlcO3W bEN?u辒XዿKh@^<Ád"7e BMU̍4Uo%M>:M6J=@P&7f{h-V"H# 1}:u;t9!mTiJrS_^iT־j} Nuҳ'WL*߯Wo YL)!:H b^JYGthEw3,=CmyP7w񎷚ԯ [RD@Cz+ۨbxN% CW߂R;G& ^CQZ\ $b}!% !V_c(lbrC-S򕋶BZf[noIIB\ef)阎r'-^噜\Gh#jkf=݌lp|BO $p!+1) Z M}Cmw柟]JiK̏ lƲs}SXiUMmUK)qUdE0l:1/Z.$IGCmc릂1#WyST)\dF5;xSt"(*K NC8)k Y MSQ=ȴHIaOI^ҭ^܁>GVwݐ.{_ 7r\mDĒGHdGB [.TZM0:_/OKfYIL!0͚>: "%UDYQ-{ugB*k5tӚi V|!7GZ}G_Bc=/[|S+-sź%(iͅȵbsPT;]iUL ad@HD+В;9(-C@zd ͍ejF#R@;0j6 "fe(O/EKPt B+GyX>Ѫ?`9Xi/,V Bc*0ӋvF)g7Z0 MZQkNm/+sKJHjヒcap&nN 'eLaf#AxLIGSȆW7kLS&Tw9e+rHWʡ^ g -ݹwGwO$ 0(8skfD̠p`?ĥ*-uPk.#nd.iI [e !qS#bML*ຫ^Ko'c]Ҧ :(#Ϧi[]Rx}HcUOUD[7p;t?襝;٫sb!pI0I=v@`'*HK  `,R !yQS:L3A$wyf/S!Abʚ$TvqeYE![tjP2V! ϛfɵI Li$'5BJ Z&dߨv\L(agQ}oWg=oGlpٿKW{.=8'ٟڇ]NN)(SNDzۧ7j)"I:LFM ژ(&rFòfE*?;7$YQؤɉҏ-Y˭j,Ȏ1襅uq?>8uYl=(JaMuoS":P̐'i]eTW *Wb#f' ܷ^v":Gz PW4jZi$_dd647mktXHt V>sx_!6Uzl}~?,ryycjޕsBC9Ck|ʈьeLLH/>1P,mUK$wAaP}w1xfN19m,kLdMP)*\(Xbj5 /Ҫ[ jR|)A-HBEJ:]!R:>kGӰ[0GFwo&+$W}~D? AZֳgfq]P]Pjl^\-ݵ.[5T6tBkd&Z>tRuZ_|d5(+ *}?d=hHBYOm+sG7! X@ENDlB*0IAwi%*"}zbP:(~Ĉܷ֒AbXk燦`*GIN߁j׺H#ל'nSyvy"0gqjǸA3 0P@>5cT/&bs )t/ޱ]$P@yەMC0Aj ~}5ܩWHwSu=G6]Djsi˭ZW9Sy=TR.Gfmb4+jT}EPPc Òm3h;Ƴ_yiEO=3n[vֻx,EWJ]*N_I 8:v]N` ŠQ\|2cD|XeXϵ}wDjmPVɡ)Ea<15Et6M_ƠQe8-J|$Tx"FDZ̛._h_'aȫT&{N}kmr=J2x:ӐLGJI> p@&C+GhX1Jvelt O/d* HaZb]obL<_a4Kjƿ NW]@~Bmmym59Gu"cF8~I@5Do(?5Hݢe,K!(ְCF>(<@j-%oJ\E]2{=Ei2U&߻•ZM)^蕔g,aPT״ A"I"΍wѝ+\y?_& FL%r-j&R2D!(A-Wi \M2,KjL>QV G)[΢'JCj' 25z T{*O` cٸa4b~^9u%Q 1*8Eo |!)Blh縍l+\-;ǹ2D-8p2g4VC)a%.8GA ԡK0.j3xcۨ]W`DAX\T5)B_#}֍[` v-KS& ZNUR5d)0 D,P58VLɑL)_s>wS O=(w1d +o\&\1ߑF ūn8/[ji6묌RtC 1PɈm#Ԃ('yߕK9g[AmVJ3{m5ke9weG'q,*aw5eWEy5[ DSΝUZps ɤ`Mмiat$e56T0Fx;!s$%WtnwbQ, faJZT|%X@ Z ؙdDtF~RXc0ԷD>ڟ9lIݟכqޟ8w{;N8dUtģHtr) K(ʍl٠#Sk xuֶdECƙBϱs?'pAT Z g,;sTMB@I x$cyDeC+XI0_h3+ԩ3ؕ3%.1ߐki__Se<>:•: K7Xh^OIdRf.ؗꊖbgfTԧ:y$ۈƒH:5M`7S=KO]u3ݹoL|<#I%9 A:w6IX)ё$kBBf 텻tZ |L L~gK4MO!Ф]+s⾴>`+:8iĥwX>h1]X} R/~BQzgH;}}Lfgl>zg+L)qI1Gx)6cZ >b!UQ&E c='87XtHT2jNRt̯ ]#5~/BP2ÎCʿsgd5*kإDw]V;FC򙦨&.yڝ$SzIq emoQ<9QPsS_ -c '^-I Y8iSayMZQRKE"*et׫̪_Fĸ]V -3PcS}nS3;L-|fUKR&p#0aJB]R 4S@+*q)&I.<{[ & ыx?TT~ҟ*얷] Ήeњ 䰊^g,v7 ^%0ڸ0l FIt7몤,Sf_C yuOj2=#[9(Lq)!!s'y#V(m 0Gm.E !e(^fylAiYXUNP"]rVq:0y̬4~>d%ͷHfj`d޶H$)sM(t?őivY,yfFg E(-*ٱo7ҨV]g{F#8Ei< CK,+9dS?5]լBZ{!j/&U1qOs[dS[} (Pxժ9-suy|pQMDvcyl3g1+0N݄D!PC"e #_a\/4Si ?Rqef0U `&,NS‘TwG"iU!XR&3Ӛ+|ET3 Uʟ( 2 Z3tf7i4i}qZBwbKy =C6̶2CVL7"}jr 3P8y%lfYBwͯ7/ݛ2 `ޘz=ػ2Qg.Yy WdT6\٬7Oꌽ!2|O|x~Gp^̑2s~iv>'8V˔dI $A:e|AtD.!ϖOͧm[= 3B;`߷NU_cE!ETs" B44m rPSv3N)varo;cpWɪKiԲE$R/G]<]d#( EYU6Xw(@o'NLhlTF$'DeErDNI*LJ ͕>>N3ߗn7}?>a ȲGehdAsdb)[=ߏ_-;.Jܖ ٖgHclDZFsq]̅;1 Ml[|\fWz__q}OEYY Q˩0eġV\H+Ա*_#YM, XRgʖwz=c3HFg#p7)^pauk7b)wiVI9:֬uWgЋ"#o:Mj'k/DztH{A3IJq-v‰$,E O=MI%Ȭ)ǣ؊2Σ@rRԲ"ߗEQuܕR:c* md.סLyuS`LREM=dF Ie` `SB%!ql@@ ^)pkbbŦ㲤U"7#h1eɤ)p84o Quek}73ldWȋo GZtSDآI P<0 .*y=D${LC[Bqࠢ] 5E4AuE.Xp~="_pT0APb FG[+[KE!(+sX$` /%@!681#;S'uā)!ˢ4D? Xwq_j6to·lȵۃ^RL3e䞲I[ޒeECa[y pXgS.z0ln.zdby-iWYD(O|"dw ]]gd Ovr@ %qJ̩v&z%0-VXN.j\ i *>eШW*,&~Ҩ$, H K'IjD\E B3-P$(M 䡔jKZV{^ ;%$Y El|:4@:K~ Ŗ2a4A[Dޙ|~?%a@##SśHar!\$KI|c6ȣVg46VrW .+8< T77Yڏ+)~U)\vۓQ% #m[)ftqTj[H:W9ViaO3eӧm T6f㧐W[ XD9%~J2nAJQZMIPuK.E(Ţy% ]K>Fi͏y˽f׶\}㟚7ܬb{b|rbx3ʺu ‹®-Dd/ OAJ!(Zb13i7r{lΣ,+@Ub(sG`X u6L4-R9@~$:3Qׅ=! C~]SsJ]< ~tG}E Dad&!%2b#nxcCqPg]hK[OJ֩BLsT5yuB˛}9nsΤP̑UE;8 "M% (b U=}ovKWtk)+9 :5f,Q>v[5#o /qi я!FJ4:_ ZTݡJ[$j9!Rԫ)Z;홒RVvϣūje,a dZgl4D8d].g 4#z$29i靕c0ø^޹p/)UE^{/v>6Z[2KNY4i2 @-Fx6ݫR,5sY\[H[¡7H䜎nD-洡N #5?&`?H<96/l AAG=Fcn .xGGw-s!\izDY{\J*\6b e:S@o`QwJ(JiОG#Xx\D@ du)<" 8JģRpv'^D,t/-DR-Xo3eLGޘ^Hz-0mIrSH%ՇdBZ#)ft+a<"z@aЉSG\otp Q%C,+ n$`K48^4!ocii󶷹)+3i,^Aj*I>WƁLB͙Ʉs >Ϩxˆe@<$'|J%v(JE8 YW2Ͷspb:  æ*tQ1%fiDF>- jߤK~Ia2(+# a>·ʵZP6&H<* Ϫ yU)oƐMrÍ$|kBFe! fjGp'ur0סY'.Y1~b=u QE&Mum8N'o^QAW&]0Q<@OM\,M~VkU7*7.gE~\7- h9 ɞݝdޙEiNˋo}X\ yQ&_M贴 9,WPm};n?!-6.HBXz ~kX0X&8}3[Ym]kj…#4dmFsbnTMR’oy6'a+ -~,l j#*U]~ӻ8 0˖rPKR0Eb'dx"m%o~]gўBYAMg?"a?#4R hub" o e$y[81ōyT> >YsTDYSXz 5bH娿}QULJJ][eB[H/DӞ8ZԕY4>E·6g%JXKK"KptU I }w1"I‰<OɆ"=!!_tK2 >%_pZm/ v5!ͼjexEDžʢ]wC`Rgx*㹲%D7|,r gJ䎉4Ƙ򄤑-6 9W1)ЈYHzg+1~2?ꐉ}"-Yǰ=KdeQ2uRp .dm}I* I\Ulʒ_6"N/ `^7ɈɪTw@~Fvq.D,Fѱ#!LT5K)DDO2+mDgι+s @폙EwfEbD 0F%JQ%#N,tI6=Nק.(߸=O#AGhe֬ĆnQeG ֋K<&:FJ"d tZ@wSfWR&j ~Ie X]kX]-]cm`tyK&/03<W*vuiIc *[njţ`^Ey(/Pu+5%A|[ fa.LId+.XN1Z-9"I/KbD=HiKud D%l޵(Rf )xn޲Q;:{ص&_B"c]l  t\H}92xme;%Oߪ६-LHub0A|C]%˴~V:3glwHh 988N Yިӳt{H9YKXX}Da^㴠IkuQP zTJ A=޷~xNݷdCzNjX  t8N̞ZQ1) <Аn,[/\ Tj|NXGo} Njt>E7fXw'&[ W6 mĻ+YL^wzY"i=R2{ńB.ˡC[M(ȫ҄aq;(a_v1!eޅPSK PbU1Bh KR;*}!﮴ k39XHn{^;O$jTN/v^ qX(e,Je7pT/p};◑ۥʃHQ_;W u?a_@ʋ>0f**XE_Abtc$?-W.~wBQ}i9XJJu pɓ%=(ஒҋAp;._ЬЁ<4qRbmy\rdlǜ0G"OH& 2{Li<ɒ8Ni6-Px]+B~(G*qe:-z~:ڽIKȹ5/|"?RЕU}̎|=D5(ɭWYv>&I%w3!wK7U\btjcΩ,/ԯ2Qũ[}!<[suqA\ABW5V'B9ǀ1.9)fJO!7Y]tibFG&d3DyZFd]Gfҍd=g#F7  aLՑrҳɂb l\iE'f#$B6I, a}rz{K%*/ 5?qɏ4i9; DU[=sɰOP 0m͞GU*TްĪHgPcrک V,b~~>%/*̨л2٪-3!c5l$|:/9 ̬k۳B`+](z[feQҗ/s\Q9'c Cn1 >YhG`Rr|OJ+j@F k=C$L^[ +UNre[ yXLǹE& ?+)4n\]6?ٰi|4 ryJ`Xѵ6R@ )8{4-aӿvj5641Ht> gA:"Òj/(aJHc'-N3GҿX49֡.4zLI&ʑ.\pH + U;XͯmR62? 陗`gi!$W+Spt:ckv tQ-&+/+^(^XQ>9 Mܚ"a vouax46J1YlohҌd*B-I63:RqɅ{M*_}вzA%M7D:%[CQHp~ހ~.5+GHI2,>W9GϦKZgL?_16od-[~i^sOə*:בL0L-##}kP"$CHoBVPqApͨ|;Kʘodh; >!DahĖ|L"] H#%7c9#Uў@HeϿ,D9-@+'3lwFxF<602dRIEe\S<?GA"Pp0r#Ѹː }3Gp"fC)&3&pF6HT T` U7~$!eUSHXqōSw5wb$( 8<EO)b'mܒilb)Z95z^%բA2s$(LyK.cQG9pONE2irPeȓM&9 *an@j}se ڄmr̥N&IP.R1Ԇ#Z#v&FȎr+ yN1LwpvCZEjHDg^[tkn_-|Z">}NbqGL Q4be XSҖy4x!gL &yo1Fap9M,\LϷܝL j3LN ,bsU! Hp6 II g2ƍ.Ą+Ztı|[C yV+7@762 f]숀"G??2qAZA9 r;w=`aw3.oQ!tcOR1ZVΛrwӺgQ8UiM4볎d?r3"W΋~kL駰^tl"+!oDyQI`êH%j܄PpF*/s!cu'!~ ?M)*e,c+9*-ݭO{j<(8G!LG=`/(8SF&`נyUG("Hj\fRn(ꮳ>D4;9T䲦>peb-r6ШU ~bO "H0f yO8 5X+ =1[]Mk1p5yD )-(Ӡ"&. {H3|YZ-YAxtZJ^&zj`UL=m(C7:?ໆ'!j#Т]dC$M=%k4{4zYÃ̴Aߊ%h(t;=^BI8ICZ_ e—zH/p*I3!8Ap=Г״Am5HHA'DB%CB y1ۣ'1WtP6Nw`EY| jI᪢­HLġ/ak /oe֍GXIe|q$Rom!H >$ YH%۳zZc.ӄХL(a[#$9.bFJ߶1-grsMw$dñrZi^D!ÿ:0ʏ7}c|NBl(C5zK Oϴؓo᰹Wķy)Nh6D M+8{3$ⅆ60{Z%sVeGH;m[tsB>  ^WoE#e#~џ%yف;[YkyC!]ItħѝC]wcNȵG=o#-Af!)˵ІnQV;">'MaoV\cD+aA'B麦juv@1|heD>,9F峑 ąh0BH+řjE`BJѲK9='6Ak"JZ!%N0SU;ٓ9ڦ+dZy]^z̓Y$Hjޑ5Y&IHZ=PPD:*CHvb1p$Z*@lYK bm\aSURmu7#L.o[&"jH'騹+[ihߨO[+jW;/1@LrZ=8f(:8Nץݟ-Ůh 3[H; 95/AJ8ؗe{”?(a^%B"_#"9%(zUbW}B셼k{?g12@`MpbښLҕmE*q9})V0]nS} Ԧ]pQ$he6u6FOJeoE\|54vS/7vZh7bBx^D]Lom[iXRP4Ab}&UUWb.?NBa".J6ۯv|eU;ǿ`]T9"u4 ѸDR$121чbCS%T^%DG@ȩu(qQQ*dUd.3/p}5W Kn 9tSR+<4i{v m{[m!շ-ؘ/i%Ɏ+’i,YSYVk4|3ZV5TvmpBR=+&L37 +Ow6euvob6f2|k 1o~Xʽ$\% I*rT-ČQ%W&8a`LhkAǏ l8ҚtxM3%rvzٔY6٧fS8c;lpTT{nd-q94b13a C/WZ6%2V䬞TTaؿA[ZSk킻}$^d6gr uBTWf[-YKHMVb(MCi/`~ʁ?~S*2sY~Zi=Hq!3֌! ):cAbG+[!s ߓqf처I=.Ɖwk}$mz#vwk'7]sɝSOJz炆_S̢DCQUu:oJ2ZHw*n式S.7P^v*}q-Ew'@2Hiii}K=MhS.HR5]2Ys^DHOWcnHn`!9ޔW0w "G/;))Ղ UKZBKGiA(|W[]wR)[E4oY0gWOLQ*,Fr-HLn0F蹃l䕴dl,}UkY{Q{$x,8m,mzjVb!?bOyb"8S Yxۮ>Ɩ DCol$nK6`Z,MЈjbN^*c}̉>cD+ 1n+LRIW0  `t%M4 G:=̳MH(/J*!G0- ͂iD f@reGۅZPhy#ccW z /;DBMtz1ŧ X0wV`(jfz^O\zVeɜ "S326aJ rO9Wx_ZWܤ`k2q dR}(ccɁ3y}vN)p`jNPqL@j:)@=DڙCp1k PxR3 vGn\P.UexpqE6Bd%Zgguui-&4Ȩ[`b1$7l.]d|gn#n9ta]C\p Kmd#":JrDNKO D9Ԟ$an|`O7ibAqr{lntv1ces2]2PBXXT8\_hi~jOhFooIb~|#wb ,/ek:J$md<؅V]RY6GҸ)R,yjVצg9Υ{cT3`t^|x)}v]J5Nϲlb."/eLϳg~!szѬ_BL^tW|#7I" _:Gv褈jd#0_?bSϳ`Ms`k%F?%/צƱoعq׿T qV甜OL 5V2Jذ>QECC`l~ Q0ف%F&4ʢjz#%I$nLFbsd:H$yꭰmZwy撺MkNQK/H镰џLiPy1xJu_bzKޞR"T6%w1EӉaA>lRj%%PJƹ&@k.s%gR3 O64Y]#k/N/'gFbjZ#"` ~@3Ptƒۗi%8Tr3yDt7.=Jk qRŁ3]S#w-j~j$Z8")3j%&_ZST7}j6)/$ﮒD)FIhI\p!ï`j3޹LtceQ43,@#pLHX@%be"(V6j h ^,BYld Jk Ȃ/n'?ҌTuD.$a[ R2χTUo'ؼm>y+^o 擠p)0$B̅ 3z=spp75EGhC%qD=2W;9 # BVo3= aMH|8$94F)t*O? ܅QG d:D s6܊:aªh8y3Z "Qdn0"itS(ڼWm[|gT!EVmg_J%:6C"SGIMq\+w1KFіT /t\\~ᔍHo)ıVՋ(4AWiɒ4NyZy3վ:AdЋE]G*M5#N-`VdM3+QP+\i  &*z{HBEpXnMdrbt#]3na!\oVve%ĶLQX l Qd=ktuJu(&ǑKuin6QԶbԿ#ߡ!7jOpJQ[C.o䑤Q Ȁ:5D;#nm7ӟ&]KTNܡe$' TXϖF:[WUB  oM͋ԉϧ' O^IftM/i=&IR%߼dXzyI'4aVDSUI9"D2>/ZRܩZffHr̡*K)PT ^THz(^{R7F'?o益szȉ_Dl{F>o / &A}K_Qvi#M$ȚT{UMDVτI ݪ61=1i6*y04.; ~BqVH\Sui6iyEaX]e:i' F8YUF T d!kxaf_'48yن1aBmO.an9K)S+S IRd]HWQNb[zbkUoiSg}mWMME ޑԯӖ].#Cy0$JGW4#pAGJ:x@ !$$@a6D[pmX$uDɥ DMw̾q$:_3 f*|^ڿ8.ujN+~ Ͷ]*핑ܻc(Q(k.vx@aSsJ+o.sKQP^u(,+"v3b4*C|#Tꠒ@l9zrY,:XekvF4=\Ql-:f]D_ k*Kم`xPdAaMiЈ^RJF.ޝr 1cIb*,&^˃rrFO-,[}"UOVMNAdH +ZLMC ƯĨנ!\knp s'%1ZBk2qދ:əEʭTYOǒL传D,yׂ|RoA"J j؎.`}lD&A6!xf55||_ `Cȶ̱Q8f F6592m}i&44iBr;!$vcj`AhM+*:@2tg҄e8$$gv.؅kN}I4%)F{S]yx_' 0Ъ +rֻlPF҆0&ci-˚sۭj_:}KPtjTTNx=o!ia E9_fX$@1`cZ Ho8$( vs.TZ U[%dܒNl>˦x>!˟]2Dh{i4r"Ó0-(t(FA:Ej{̩nZuD6nwܕ&;؄5HuZX^{͡k'A'$ȶY63oན;sBO)_jxWm|Ψ_ԟ~_] W3M+3dbW $: xTFur|xW_F|gŃ}<ֿ?BAyLlꁟ8 RF%[<}nXHTDGJ:i8=U"6G r7L x͎ 24X˗̖Mm J׏)OtwH,rj4K.M+ Q%qlpe#UJڑTvYs.o ~ à RH*)7ǠXa_>ֵȋV"#+Z4{<g;st(wv'Av\ Gn`>[D"[b l JTl684q d3FTR-Y)1C',<' ad]y>I$L>B%^e'Gp $Q]v[kC+,veTm2vOʴT UTɡRG:͂yd`w6E 0h!\*47\J]cq3FcZ &rnAR%c^h\j~hBؔ%MA㫚8iq#"V;R&-\ˎ7!Ydo ?ѕ1;BKЅZD&M `}QQ~`3˥k,:擂'eF۶ 3dESuck´)䠪"ٙ2"_wacDQVC:GaBg 2Έ  `@!%p_D x BSK2G[tw4|L_fۗUyb*`Sm䀘a%4 ܝO充,'$XFq֓aW"Ҋ \|DY2߃Cgd4.ti-AmCb66[| 2Nt VM,.zZٳHb%3~ ;'bQ$GMOW<ᴌGCsٌ (\mEI> i40=Jk+!LpF;FX z!tWQ#!QS_G6d,ꚄQaFX;(I2S.3VE|bVt\BmePPSZâ׾(El h}nqi>bE>dm.zfTYUJ`oN{þ$`d2 O})&&T@$ '6ᔄ:ݘ^aղɣ'!Au >4 "q\'$ 3] בI%i} u7 \1#0<.%/^(x@p`t,N70&Q!aP/Bd.S # 3B%4baV_)F圬鄒P򙄍Ys~DIVTųX8] &,M6#܊!RP.4VDk]Lϊ0H7pCCGl<:X,Oi\i,Ȑ:YwXfyUI> JX).ȘX%ۣКYa cqXR١#fȅ2n8>zf=3,55QOd[ |3XB;C \'!$XG ɈɬGYTe/Ͼƥ B6aguu_4߬)4ˍt5E3SP^ZtBY=Z#H⍞'Y= ݘUj@UL:mȪR6^F-ix`$bQ6uZ O#D pP,rB ‹tSGe"43T [xtAUfWQU.Q\~il(E2$+䊴~"I lX¹.gwFu)_I'ߥ`.u(~0H:@Ք4TK%"AtBy IJ1+nF3dʽu)*'hGJʒ}XS:A DheP fjj%RkΫqAJ/䓺V`&|Kt:Kui:Lڛjg UD2.bj Y::2r)@zm삽)s3Hb6La>2:j]RnjsSZO f1/z$Hq*3]fU($Ж.9$bX:h{2q;i``<~`%GIJc fha%"l/Go7Da{ZRk٣8l~\&5RNI|_I:4:oŋVmJR@_lv}=?]YҡOgool )N"m5$+?cJPYOx! [y+= %7ѿte{40ڛ,R!|P9l"Bq80̆6 `%cLo>vbe:(~:oe5iy&ŷs۾.M _$2ԛ SyEjB20 ⤬D}}]2&Lk)[Jtc [O+MjA`OR1M?< B{)@˜nr*xе\^YP[|1QAB{$̠Lϕܟ/v{MNaM>B%ps. W$ĂH:f>gzu*I.g1w_j%|(oe >Md/.r֏'6+D!¦ցU|Cܓby]'ŒkCHӌ6v MyIUw;#1g?Sh.xtI)TbZ#slb)&H/ ѴbT3'%!W6ަ6n"]z38,dmT)Ac7VZ:p+h (n^33~] O WlV1eo6<uS$P$.>FrS$~ MTrV~;W)bqEb@V^]u3U'yqbH&eqni H2/K92{rO> pBQ{ w| B;B0PCҞȆ/'#_Ɗ^q2O3RYiEUӻ`SwTzEHY\u8X{GAWb|pv2$kiO\!yaSW\Ǡg궡t}+:(,-%qP6NS s߼mN-2Wcppv?mr8;Cz/l5!c¦ַ(^)MS8TWɦ{a*"iԞklnrFy|gu DhQ]\#,T@MV5քZȼKkHzr90EV-V7TوV#9ltZ9N{嶨jqN^Շ(27ht6h8(M@|-`J0Dsl; *|!Jk#ʁ~Z T {c[*ꛯA8f6F/am26;y㔻-a駂|(5m%. 2BUbE;u- @m>-/fq CȔj,ejd"$ znigjy7RƓ )${{xWF!-ti~.̖̎hBنQHGZeEZ,Pf7B=g(ED6]:MԲU0Nto "(W>zD_! j0fU;*߿_K~q,uNAY|E,.1a sTjVo)W3(ec[)]obr2+P1ha|O47WI؅ uB\^kiT RlSBL? ҅B=TMf&8c|*!k98O$HLkr*>! GA~ eZW<`JAӷZ+g_}sMa0զU.Ձ?˴ҝؘ}z#_wQ(|-*˴^J,e}́IadZ>+4*Uٯ.I m4&1iHs^F-h+ G%+ KZ Ct^!7d#"1l>DC6 >et^A#,όn{h@(Dö5jSSlXAJGNU.ivCsK*r͒ @A$Nd pZP2@ křccmY~FBj2YMLƝC*8f|nJr=%I+U aQ#-f*3o4EkI nh0DaT.ٞuKa&=7;seB$nȌ#4X> ZLVbqEw k7sO+Mڒ9ߌrOqk Q6j >&?H  Q2=喨z!POHO.( ^)Hr %AJx"&0[4@Sޜ<111\qEb%40iuJ=K`NsnCʨVl{^ģVRk+:}R쿇:`̶"(>Q(gG/hTtMiT+/ =Mia-~A@'̏9ȇk&gZLYJ f5cޖ֎'d~3ZuR+o+ƞ])[R0Տ}BpTuC2azM6|b6p"&m"%QPHhd@Y//U+M&{k4x% Ň,bNz%Đ]}v  $.,5$*󵩌AF9M:rLU-n|d[]oH&{ WOa40+83Ng;[2I( 2$hPDbvCRB+.W)$ 0('CCj\$1eWšl,EIE,! \(?Me9ը+"?²byM5^22b`=}t˦*zr\!A1Vkة&蕊-8"8lSeXCWVm'cf4 k4߲q!ie.&Cf`!ȐVaHRUiVu-cV 6܂?K َH%h&A_[R.E ,H)y}$=T/Z EtH#ܯ!yC9R[DzlR^oH |(.~ R|`dhmp`2.mK6A&hRΨ\88yo4dT$=gé?uA뇳8rFez\?_iQ"/7rѕ1oH"%D2%> #D*4ggfAGk.@ME*DH708$f"K4LIB<.\QUU '& NѠ8DQ sQE 3]ˎL82H'>N :Q-SA⯱~J d8qE~wG)d卦qY@u1e Hu"';D$6ŋFZiU#"U9YXEJ?뙪Bq\;\-+IxP_`GCȲ0ܢ\ 0iejg)b)%pg'bdk>a  [>Nr eURA YFҮ QE(8Q6^khQCSڎ=0fixF`Г)i%x8|B虞!vD|">]<,!%ibZ*u{"05%V(lL@!Qa%3[m] >Ep,Đ*BHO)7+؁^NN 8EY8Պ{MM/Vyk5K'+Y]-p>9з(ǁQyhUs0_ęz5>GnB-ڔ5$ CȰĄœL2SU&ɭʦFب8m=XW=O.0_7 |YrX9KlP(̞c=I# @+ 2SԨq:5,¿G(%vW%j.M;A]۟`'nDγIJ5e!'Rȹdn ~RK)#c[ vM<*QKA)VO k,+wuLUzI{˜OC* E m'0&B&7VН:AI$̢(ZdZUEͽT?d4KH 6=!( K3 0;!xPh6ZR& $!g!e@Ď,/r௟(1}ud=-$^35{2K* T"e-# ;=Vz 'J=ZndT &aE&GrsKU+> B< 2,rs LV jM|+({DHUz KP[O VY!TUz.䖌KkzaPZ P$jY39-fȏY_'TeA#[W7}_A( a&10(D ޜy950rȜ t?jd/A;.:iӰ3 ߼D/^AG?i bJK%eEoz.+j D pd'٧&/8u~;ȉZBS$ҥ̴pՖ<nDe[T fșR u9@2LiUFMl,WCrmF.( hn^c#WtȄۿ µ? ┷-[)!DA E㬭&ad7"HU1~Ku/LK?ZӋqɶUe@ *S$sml&$N5] /?_~&rV=o2St}F/ V,j#b7y,;;}$:`,N>V 5_U)_sх ei5Q#W;5EJ== 0 D 8JK`@o4A v{/QM%ӓZ<P/55CO=5\b]`Ut`ns+Yx`frt]+| /b r ΰؕ ;Ԗ)*F ΟMbr2>}*0*Kr+MUFL*j<  _%9{HW[γz^%A(kiM ;xDxP2l=t}J@.CP1d^X8 F|guBĹE߼J'rg^LܰY/ڇ$9WCuqqy$/V},EujIZ`򫇣lk`~"RF^] s,KBtopI\)%⭉ғLpv}a4КhȩrH@xA:JBeq܀it)!l ҥPH$▮HE}T׼-M*V,SFK:>5DJ#Rܘa&e>4gKH26(S+4\vXy@gí*B"T2JGeYt;T6U!WGv9M2`e$܈Pȁ7?:A7`& e $*q(dEЉf${,&"Y;hDhڂVNrE+xZ[ Z,nWe&WvN҅/mOӚy 쬨dWOHinJ@hƜOԍ(atEQvёMN cp/pbkRN) w_`QB73"B&zo/L]HOBi)ĤW?&`TEvWjN 3v .8ifXmy#Z̐jH':2~P"fR7[' 't~%nHJѠ-$)orEk"Oq1(H QS#UzZSn6)(LvIm]c=lJ{(ֻ ?3A|M>Fd' ڣh}nibJҋӺBAlMGˈׁ\dcp/ Jʋ][ +..[q;0y֋)A/5[,\Nޅb,|`bh;xP^ XS ,x]bJœp\xNLG . IPiEblQ!7)'Rզ !Yٕk4v*#s$ƞ,˂>;WZ2%.-"sV.=8UīQ~0BrDaJQ`Տ2 $@5:P/#=%88Y@fЋS庅9;4"QHbc:iW(Rxjݢ ӋĮf :a,l<ùwD>$enk2RRq,B̾$P=7$a!PvbU!]p8, 0Q >@JJ.j~(p$4Ic]P r?mxc7<ϒ1Cwr\U@ G! DњE ,dQ)M-~#(xôW(q%OVHvTO*#5ef_4@/7! fQOpzmxoX[k2l޳Jdž?""Ъ;;v_A%mtSEi ->NxsT_lHf4L{.{T(@lI?c}1LË:eO=pB-1FRMH[V*2k#HGb'mIf6$ )}zjRjz{lț?HB?dHi EJC($6g ߿aE!rAVbV6i1BH(ĖI?Jul=HmCsSVY*p'A&zZ~o$O1 qM7#zWmwt0ÁDEp-5 hV*klopo;-3$BT>JP菇o9YV}\JdO Ka՞&#H *l kZ+Ggș.tW V -zqZ:J%?O C5'E]Kϭ1-Y&Nt[9zE{ w#"f{O*h_Kv[;b}~UdQ*'K_0)Ȕ=rG`ppVCE.TIΠ<[ctDo}ou MsƴA.nsvG 7Q6(fC+D< <r%hu/[%i2}&z}tDs(J%tdKBfh[U]tAq ⺼A HUM$NA-=ߦjȫF[+Dצ,<m> =%Y+m s_ +8LDKs*a;Ǩ7/43cRWp]SEIk<6?xtT9DT&*^mşi; PR~H1w0tVQY w"eQi>3XwLLz2_ǨaWjmptodx7h(@ԏj0]}<ھC+ .mT e>BFpQB '\Jn2K'y4J^ a%vFoŔFU_HTa:4em7Y' yZ5}[vwof頷t;e"ON%/^IUT{5Mq^sŽdM_[q/.TR+E_wKbfrMQ}(R@ki1/^Q6"p)}\λu'hHxE$^Ho3ı`" INW s۵.bUtMU]iJ*AUuBvƪW;V,Fsbq7\W^kN 6wtbw*]jZ<a>I 8hrRI 4SwMr+2U,dY:54Qǚ\~+LI'9QL[OrW;8ޑ*gSzQOQrBo7/]O$7C{OcEqV#^f-dyꘓ {YOU1kE(עLaTU>X/ ?D$vJ[ڌ,ߡHJSdo@:gyY7Ԡ:;XLiX*So[`,O!C6SX {ekw?0"ܐS[>YGZU{s]QgZ޷G(*Sk=` H%Wޅ<9%5Ho__14"D[Ʋs8Y E=8GI UEݗ!c|uJgCbWW”k]u(P/\l箅r?ݠQ1|DP,67lƈrۯ\ J΂ ճ8̳ֆ###?dffbǮEҿmLC;HP1^QheB*!̀",{P~9Z3(˫kkE0DUF3y8ڍ֗}{ %R2B9A:u^ "\$A쒬k 7jwK`|_ <%YC_JNw,HYM紹CjbL+ l<ҵOxnҪ_K[m/x" /]g#Ä$,F5׋Xlϟ򢝩)Rh~:Ty{}Dž1}VO"8mrSy 3ʮ]R؝'晕g-tdfRS9 !ib+[N1d,LǴw`-"9ѲgrR48U?8'uzʌQ1ԂaRP ,4"r+2 =R'  s兮FRINȨa)Nl Dݓ,"RXzSB&$(4#u!=hjՉ |3 fOA Qn60\Dk2(gKe]L{K!.;43U(ɈɮNnC=WfK72U?/_vGA$ѮZ75%D(vн IT%t`rHg@H~ '6qJdb/+IEv<8O -jݦ? +gI2S[r:-8PE3?SdrAsjmZlw`i'4P}@3)#Jf4K8j4+BO-ŏ,PTxawpt㹸Q0K ~f5fx} cX5xC`^ DSy09zŒbldz\փpLV}bw'V?Q^72:gso,x.%-dfMdDzu5P"EP4 z.:Q4x]shR2/! Tl\"i 9+C8x (5%[GPG;7)[z۫6w*7͢BnMrV.7-ڣ!MK(! d?ݎ2d\'$,)*3[X|+}B{A*J SlIKX[N´zA N9U.9<:jONXb+κ8|9##q1ӸZH vūD2H<帚F8Sxutb2$#؛[FTbB19=+$9V!$󢶢4QR IA䠴L8WC' "|*9`&7D>K9U,ztdAK-Ng~p^ -Ά\&I~<5[xFVWKēAd7 wZƝh+ g]F]1IHYif0^HC] 7u KeGRA&VȮ o&lBҖKFM5uШI|Q 95dIMU)!-QO,F|J:;x*]6yA)5# sBx<txxMHUT[dS[ĭ(ԊGA=xiG>@Y~tʨϰn4C%âumLA'&:' IsO4|. b]WvR2f:+ Qv%[Gռ݄- B@"/ȼ;h:?o9Ɯl("˄n;/+aČ86.~.4?$*GNr/#ڈ -0W h Lͺ\K_ku(Z3dWŸó4wo-&K>Pѣ ٶ٣#{Q4Zg.**YGʡlZej'SR3Ë)%H QJC")a72d \0kTo1SK'\t,nY :x%p|hH(-\_fs1 KNk/$v}bK)ІɖybH3_ C t'2ȼZ>nѲ_+n'Faf\N$bKPu_]1Ob`c63JȹL8t.n/ so&)7T57HF#9A4%60/LՅXD\IZú3Nb"^ji&=@ST9/An2粤S j0WhR7 0 !)жߔgLbn WVU )iT0S nc>ߍ&?HFR9*ޑҘ3'Z<))Nzf \'d:+)=Uؘ% CEO[gϋQ@IZ.֌x~j;1# b(d2HC/Bgq SʹrN@$1+cHBY|ԌjǻW>EoQe"n6Qw3+.1`EN)ި@O/%!|ƨ{*+NGke#oH,Oe{SU#1mx iR!tMn lVtֿ?W)R*B'Nlh}_yԪ|y>^")"sj Vyvv<i YMJr<*$oWHekbLnS!)v OS_ԓCG]n\mA]LƱ*؋ցm֓L+ҴuZgYBN;3$nRAPKt\sp~̎kky%q"xk6Ssj>  @@BJnY9OtFԌ%1;#,;mbs[SLON 'J8).x Bfr+D R:ΝlGatCmB'[qȠdK M BA(}P8 N%m+d))t+Y85oz"/Pq$#+r*|$*3.36[ÝOS@~ *[<ٓ՛ё1sVbLUVꝅQ"xU_#OOtIܛy%B>S`V˸; |Az27٣+׋_q'"5"2ᩪ;7/JI$B5 <%YK#bQdݍ|ze `"CVe|]<|J' )xXSid?Ѷ4YAqm$l-͸9ug%L;@zԨO'oX!1d hiM"ܓvY\+4S p7Q[B2"Tx5.TK!8zr|B,:nTڈX#|;nB4ZhdM g\X|S7/Ͳi") Q-n~Ip X 'LBs !1_ZC1)ER(CsdT#̸gѤ!WXQ:ӭVb>f )==ofNǺ!"ux2ՉgnEFds/1Iv\&Ɍ3l#urPK4D}p+>QW 싎7"δs .[n'8iI_!<Gr)/(6w5.lq1kVb^ޘ,^covuMk}KOt\q0}B!/pO WalkζXkLGX:، I^yZȵMfGlʭ.jWw~Hjx]_'Y\>KyKC 9ѧFbȰʈlx9>W."O0\Է?B^?#](^P ^"-^7X5x gɩrZ%/31,OyElHcU/W0 AMW♸A1,9rGєCWXe3z+OZ3@ք031ȝ;[F}ba3OVúUR֭c/GQBg14|zp.7)_w=cWr(l%nR2(z('TĖr.\8OD%ͶWЈu 6<Ǭʟ۱r[lҬuK|~C1kOe l<O{RZ0`yhqF|tm" QP(2qDEJ[_lsfPG# eE} lN0xë&-=5VVvٙlżW׏K+ QqOW`Q5Mv:$G@&Lv1B~!Bx _ȈpRZHA,,Z7`7ڹx@U/bp!h eIRf)q EI#3$@ /tj,`qYL' f1[|G8LH؛a D(Y L']^`,Sqa˽ Ym[ycg}ߚWOYn(mZ]8}e<7 {۹0+]! WrA2ZT0 ʘZ"27^7D̗GNt} 6SB#8-JGùL)INYJSgjS}c^xxH=!iCyMRk;eZJ:XưEZ:H/F3)/AA(P3v,J mA-ua0B@ amDL-xC%XrA"@b@AnAW!BOdn1l%ܲٻDxFd?l? +T2^,0K/kZE(f*ҙ՞H oGt-PLNg;+.3 c_g#@T${ `B.Úx"HV;fJvI.nSpŵر]3xY2:(0-`B$i!޹ϊiY$s?sz&}Kq*i /r x#8,6iť pMK̲=fF/MU&39"r.I؍Д#y)E~-"K]K}xسU])$TVWT2=9]{EIT:SCxg5G96ZLl_' l4%k#,&8$N]\u5Tʍ^9Ɯ$P$Apll\c\"I1 ^/ W9Yy bм+E gSC)?y\ BbJ $7>vMMIHvŒ^yT g.'uC۩g\0ʸ2Xě9=sp涧5 >&*9E }r#ٌqe+2*{T_VGQSȵK"7g{ce"nala+%S///$I}De}oL~2 HHqt]pJbICQ1J 7.p5+9#ƀ̟Hz /W9EC꼼l* s"Y {vHv |ۈ)s?7~w֩q"Դ=G,F;xw6ߡ'%3حR" C#vdqW} + F q\sل[FEyF?^Jz@4ɈɯH%]֖Z}+""5'* i2 EC1! 7H ㍐9˷hM>6 ĵD[EFdbS;9qA+kܝ2$9~*ȋvQF4J RX>qbZ3D׺NlKS9$54 +RWn rrj:(vkbt-浆akt]' ߧ+9JI|pH_xm|%CΧZY8r\X>AL@;g{():PIK2L.<| ^-n15HN؛|&ph\_L7;,h-#Ԏ^fFq pWwmQb 1 ;9 --K J_8 EH$\ߝ-?[ 8+$a=SNqEa%c\nJ¸v@8'VglNm vK)W-ƞ 5OȰ98Jӫ2DHr[RwYO8<W)vF'/+P9j*}:VZoғl!8:kԎW դklׄ.o"'}؜0+ͥP*l,m-1V]D" "CcpMv|N |ӌnʋh)52׈9KыW"Uz#`aݒG],oҖf-$~w9d)!a=Vn^ hɘA|?6fe rVxC6+\z\eՖofQ:X$z:.ҪܹvhFtߗRN$ hC>tu6LӒ6D1GbCTxlEBs! آSeDr*anDh-ѐ^]-Ak? srC2Un6ZʹN7ϝVm=rC]&$aE1VPn^CӺH; ́ %WhG"lZcmHsw~zp8Q Uzs7*=o RNs`- N]o:4P1ARxpx0ވ@C4ܓmXMBZM9s/V1+w+D2 Zآlq> MCВUa$!BpJ.A-脽GPvCvtA;+k[HdC/ &Z(qon?)I<'^V@%@HA8ξ2ׁFLfv(1zF|QʝB{.B₣me{qe6_&#/BWJ%)/Âe@1n3ԲMIvюyCR!޿kީRG豫tQ[-22y|<=E''nI6@%.sB/%5t}sᤙ>D#q5~'{:;Z30l# y$Y7#) }oO(&k^V 4"U*TD6bj&KUFhj))㐎K_զ.oCn{!PTCd5a,f%D^c$(ɨZ^qV}§yE{9,|?bRH,J "T߈N88EcH׋"hgK 'РjX)qDlRh{.Ìu BJfYD-xUɛAYt :d<6 xdrOCK$H;+bc@c]bdNu(0 r(%H'B~2 TҤ36ǘZ>+=i-c\n{juɋ9lUWJ,y,hʭ*d=SFYԱ; #J}i :Y {7ZKZHJEgamϋDn}GZ{_VTȤ=WSc1x,^T참Ha0LA`A'9˺@܃EUQjTfҷ\U#_L[Uie:PkW ~ }+Béʒ4 +IΫOLe|lIKƂI98Ni`qgȨRjPz|GD,ޮR_L# bL6je:!5j-P3@M^ſ|UL=7kF;AYL=-QLRQ=NٝUZ%nfv}EWeЪh``hYJ{fה D$;.T_,r ?M:-LD; _:AV:F,VyM(H#["aؙ";-?'w)2(En,7gG𹸟JzzqLɍ(>}z^Clf64aK-?gs\מ3GtVxgL7 ?@4iwUp 5# 㕆SOI5< ){CU6/2a.%'$[Ȟ)5:/oBȫa )25}k>hZ"i2Z8{RٓN}es1LT F/46仇h- 'wg` H t\>7P+LQ^:5et?)`Qe.RelRp~o .mj1+S7U\V1昙 J&83 N*D(2EDT躅sjPfnId>IPe) @[4BՊYX3!ҝ"/QeDs){D#qRMQ+XPʔ\g}YrSn<Xnђ US%KLŃ;x<<S_3QS+"|*E3KB*ũZЭ[|I8l*΄n?yN-%V;OLko_~/wc) hrR2ܡ%{wpVAT FNC0NqA;M'IŅ|IA:U[]QMNo5Ip S@TaV&{F2c<ƁḥR}+OBmJ5b2^[[̉'a$%fi{a[DV]01hFiYyyFeN]젥ȐfJȔMxc%7+{dg9 ~Defޫ>.OHA*;TjPR/c:R_UoaSIk|bϗ+!b 5%q}t&i,zw)DR5awV¦]g. W0# F4l<'5(᜙VwSTNQAb@@N1ToXUl~vp ם-4;4Hhか~r:( 4`´h\O Cg蕅U:-n'PyP$Pl\t@sQiLHNeSғVUU*3qۗgW\hңGM /rUNX\h M8 m wN6 l2:G$_-Q(puĦQ!SgVC~jjaQ1 %cM ZM26)&$*%L()Ζ^bw+UV[8{pT\-`Z00'miţT! pz 4 eyVר*Y=eb39vC8݈CcF lIv>n.fW0+#2?>Nνy4ᅓ?GòTKY,b,dr*OR ;FqJ05H@c?$%0#*=}Q&7\dՍ? >b*~֭qOoO땲3t:;3 U Ң\OQn{JZk6<5$Mfe n"YYTs3 ,] `*`(KU3w&+~"Hfa,*lٽ'NSឭM$s0HZ3EjbKguo+OEvj8RBb@b!s"x"%!y/*:sErF"m7I0)+RH(2fk]Cr&W+ys+>yp˫N̷<2oµ4 ߄`L@/(#hV)*%`> &ICP]P۔Nn_Bnܝ޶1xn{gJf&V6v͌/NJ!i8g Gt2'JR 6߄a(Ӆ.3zDf%ڙ,Pg|v]8Ͷa_iᄎfmg҃Q KJgspАB01ȍĴՔ߯ڑ/DsPԫ,U% NˇhKoU6S6ʴ,u VfJnw5Q rmFn2A4Vƭaesaę2I!3ȊR<_oFA4 ACP E\C~CR[ ̶ cͷ'ҟo@a@8p;P0'j{ѭ#tHǧnJ" v[ȽcȷXڥ.9A3&蘽s#oLeEdqhe"RˌD(CɈɰFȊ]K4_ Cs^iaALOCwHUӉ,ރzi"[fx-JOQgWb8 Ko4}!BF;@ܜ/-y mSEC1!d~Xyl) &[r%tZ,rJVN6y9[{ CJ(Lsc[{;|i#S1Q5V].˵ r 鷄=x=#H& "# 4Z6Zp\ . 1q́F:q?2WrndG6X"&cy8z(/=.~O^J|lO`k}ί9Xj!LOcxh693 kfH~,Kĝh Б3+@9mDԏZ&?NVI4kH%u|Q D`3[UN;P}37MK@_R 4;Uڋ`y plˇMAٰhnDXQJ$RD;$߇} ^w &}4$R&c0"2pҭCdMaABb4Owț'e Ɖ#1NhOaDHq-b$[90fȩ̨d KU:!pb={FOkϐ!ah(Sʡ!ĂrkOUr`b퉼9(]|䩰T赋_ X/OZkRA?ٹ,T#LU\"!fC3'D4Ԇʄ̟S9 ^ z9} uu#ʂZ)vz머&=WRon2Bԭ=c7*dV#u=qQ.`:$EdLѠҧdR{ h (B{(^ r?w+(N/1M@ܘZ)ʼnǁ\ Lǚy1`#d$*!~'-$LkAe#>}C55h$$JhBC lbSTnlD;ءSXif !5iզXP+$Ă{oRX6.iFn#&bNSP/;ZކPtž7*`9(>KF` *4gt ARJr5iOvbܥ1hCd 9&`|iyM|ۋv K'ĚsO3U W'#lw2{ )dja9vQ+Ra2+ẽŹD2Kk|ߌCYxT*vW\B$ּMkRͤ|b+}+>Fa1!4˚D^ c{X=͉A&h#EQA P[GHF)+%IȊjNNJ! %k9nB(LRh[VSxK؊xi{ ޮ|܎f*E_FۧehsH=b7RL_<?M%rE8p[cX:U(7`svFhZ'92dP<-dt\/MWex%L v::BRD[aZq, [VR7ti&*TIG2Z?ݻ\QP40z.l8%v344Rm׋)DiTFRSH~qhHR%"3X-P†iK (g:pؔV.OV4[/u7&\޴G98rvG"R{g;f1 T{G,_ "X`e^1 !ӹ>w9H&9BQ=^!_M+._]F dGhKHu=@g9/{._WB,=`Y^)BLnʻ(w5dUP[0 :&LsVz + o69[x[>o)I6m˗6#1Nanr$aOT %-\b/dD5'y%x޸SEZ?*4x3Ԯ؄2idTsC#3GHb!+d RѓO\aK6,֫ǂE9XNV(sUlTÅ"hA!@nU(\p1%ȷWBS)fa&Rimcy'cVΓY->s]?OE~zlj+%j2Q41p ު2)Dz0(,@:.| .vC]&*E_УpUPĹz^u|P$I$&.ʣPhUJNwS3\)U$Ձ柢"b@P~qQ h ixr:SG|pJ:|.JB~jV/39x'B" %cUe靼%FT^'77AUfz!6ZǍ]9\EfFa{ d=Iw)1SA6ӥ/ F-m3J4VkݸV۲:[6苔[H|\.wEڒ A6a  _ DgFMD p Ά&1ҼAg8 4B&r?Yj[ZW%=t_&!ēEյ(7t֯j4s{TFeX-f; OU8ZDFD1|iX, O݇R-PerB@0ρ1|ÛprLOepM!X8eD܊fԩ*![΁"B_1.C$>ґ+Ma44_7#OEWI-B*=6&=Cä Lt>xclcYn\:uX[q{BRKTb"!kp&^xK𠶴p$`Uir)^MƲV2)+dbA ]"488@:IxBiXfJ$UpD2 ܭ< qqh.;dѵZW+0}VahƱg~ʳ(P{еl$+8TPCȕ umõu%=$+Z*fbD8,Pks0?FzKk!lHyԗ GU\鿧dsJ# ^*>"Gw 6ҢW#7yeoGQܣGJ"Tp @:@vrWfF*ȖSY.{R]eXG],7e,| dG).~nUgq9(l]|AsE\RLqRlJPfpԢ-M0XѝBahl %?Vnr? {|r)?EƋ! 1+z7F ;*#b5Izin`LIWFPo*% +xZbU*-/[F4A? էp}HeBs &=_K!;[ã\.7*FvOƈblPý{CrV+e95(`ٙ5f.oPV*{@/web2p7:@ yZuDz3;_4d%".WfI'\۴goJ|ӟ,HCLj=42ɟ6?g2B4xROPm=-f/!ϯWEQ!)MseѡU7/i脩1%ҷBщKEv$B&Z6}G77ok:U8 fWHKpb7 PZ6ƕ$?vB- rF2ne kzKVA]OOC$q(&-_B[tCSM+T *Q2{`t$QYvKsLg޵)RIJ2$ p=p 6_yN2Z` Ȳi_:0v"0q}s>.rY i Vϧ.:i=F%mF! m%/⹭C1L,!4Ю "gCB2c/2^H & Wē=hT/u0'2^.}cWr#iGW$xjbemNUdSeuRl+ۉT 8"ƤS8Y"2XĨX"ZvLȉ,<S&449 ج>>wNLʌl VBU8SPRSwY^iɝծmD,AaɴQ(6BO8c1|j/+ /2]S/Vǥ <a` )YQ AbkȎb~.R?o|óp%_lidexy}|"8H# Q[E,Dcrr΂1 bzbc5xFd2JvCu$Qٯ'ޥ*ōTnj Z TO:ϥ z&Ȼu. B#Lv4u`/ǑmfD6Q@j`yFM \aIӦn Щc 4~VMʊA WY:H[aJ'vj\;L(H%*.슋oRkFYSE!)\X+ #X$<8 9mxa01Bd72J)(cK!CA$!HWR<I)=2Z#(+Ssg)%/Q/FJէ\ndUu^p:M8UͧvH5,9D]Z l`?d+C!jd 73ExTݹW0g8ԢeDo@Ā1@h`Pj fNMAj>%)!`lmƠ"#K tQ1tf*d얹aMYR{B{H+lҏtO[#V Ds,_O]3zM.$ 7r[]'d>-s~ye0t-6B[ڗ^RvCu oFCej6ٶ {*{Fv6v]ԥ-yK0-+Xr}\ ]F1z۹+ȲC$MFWgHn+-clN*~3A˰\re,C@ JG1$!? I'6:$A2͍DOK=\prFr&ַ5Zވ"2UzpLBSĢ !XȳtwүA0!1G Ũ'Wcf" cQ=) U3F/SAIٲ/K VEo֙ ;"A7±q]]P~b z,- [a3G}i{E-'╡D U>LVzP~g..SC{rW.H6Nn=c'T .FMD(;z̗W h̕t}?~* lhB6ڢ 4bBs$9@K>J!/9Q|/9rޔ].dC6aʁdAW9bUHWxaB&bB=%mx$krʫHzOVVfDw}ƋZHx))['Pe$:z`ؚ;pv 0BDݾDdWV\k^ej[eW-'5=W5"Rz/Əj)Uo;CHȊF)>bA^r* Ǹ,>a5x3PЈVj^0kF;{oFeJXeZM,!.k4ؾLz3DXL对T|L 4 S&V+5u+FlTѷE1oZJI3q ^,S>BdL/F8rU䥘tsPvbAbA`~K&FIY} V)Ks2[QDEý*v!$ j}2l1B׭SiS,b^uNRhulK@k㴍#2;ԼIx&  Kд$&U)!BB*>#AJ]7=+n +LN/E$+b$u!uaJa8.JInEB6|WXN+xK[b*R4&"ӓEU\JܑA^nRY#L {Hr\$ Jm75`9dC[ *Ԇ(t?U]?Q J"OPYLW}THB mB"A"r4KIXC%H ^B&QU-B5Ws 6~sɂL6hVZ\z∺g.1zG4:E^ZT [hz0JFT}ВAFPPV2G/˴27IJR{Db ɈɱH!r-s?8̨cI|pfLQ#"3tDD)yД09/ Bf bO%Njd6ww7jmNWb3p0!t UBzI!@tó6-x0Wҏt9-9a :q)q ֺ8fr:å^!JQrD|RF tTA-y6̞$oxՀ]׸dIFU>uLզBy^LZjʽco#mE؜I~. o !x+3$ YcUYEZnОU C0`*#qRn8 Du>q悷\/vV֧|?:&ðmzq'3Kaڈv-6%j-shH2hc?ݠښOSXJXA~9ՅnUK G MQ)wV KD? Ut){1hw+$7 cf9k`fQ^3%Ӹr'#OZUdP$?}qI^<:4_3]ƻjGOev>*ɘs {gkiV+ S=*ٝQ3K1$[޷i2aCz{Ϫ!@Ld2&6͊y=KW]OՅ.Oٿb]:(8:`( NF(,ǢaC7-M,DCBA c5H%qy-{*wԐ#3"TwXv_$"T,@r^k,;ӦHNT2YOVoCkA1P@p1 NX"lILzHB={o.|Na;syqB&U6j4.hܲ)\-zQIA ;f~(R@ҚSM̹*k|ꏈܣ42XhM8[@э$҈m9&P'!4Lƺt< :?Wo|a,⢏Pr!̈^/31 l#$Xb./}>E}6Ý$doRn{G,J읙KS[2Iv z1,1u["XAssO%E+M"y_,Yuu&}_FWDglE!b;|# 6DmyHj.rq*hG?^iJJ ԓI\.Wrcoȇuo^<)N;\+pd1ra0Hl{lB8[\`LܧvzdZtfCYHOw+H*.Ц%༇`D?c+93$m*o&}h:MkӍ }Oqbe_{:{=\}v$ALوFԝdEK4#N%Jy3 7VT+o5v%> \-Qd2Zqs6Ux7FW[kNvrYl/1hhu.9] $uGiEzVv!0pV xK+^ 9RV"IRD*[AqpQ.GH4ʙU;' R)"D5Kpk4@]igN#eA=G @;Vok?I`{$Qb(i6b[eRv) F‹jrFEo N"~ruq%@[ oФ-/ S0 (B)J0~p_ <M@*xZd~x0BwgwqIkpTn B9> B,XYLgCkHvtDhyRRL KTvPom tW7( OݯKO鰡 V%^)9*zPH!FU4֗4>NKR1?ə\r 1ry]͕TLjg3'(>X*KN KFӚ rp3xkY1z(`Ov ~+aw; C.eGhAkw(Cd 05S|f&f<(Mqlca^+l$7FқԉEjn,dQ!ZC@*l/crLD-r٣ףbѢ{l)9tW"0$BF… 8AtVƴOn;.eI`-lWq= 6;@ RPtChk},޿9a ]lm G ~X?+%)DT)hf"Az h; Z /xA|J5mDkG{i IW mRyƻu>)>{M,a/S3wF JA|pѾw%/xߋ]X3>fk8:D4g;[n ^#c3@lFQ@Z U^#vb(Nc*1TR7,Q$p jo>֥ v=ǫ.Hdh׻=1\`fa b43ޔ>D5$<5>3Ϙ-[1qN5ǚ߹^j AsZ:aZH2QH%HA#d!%F廛Ug?BgF䨻xcO On;[^AZ[rۉd\ ?vm)كl U %J^$IqD̊ nxNI{>X3=ODǴn[h B.^+HU&Y'5l1*T K * L^ ~Sr҇P_?kũm'$急*Esd Bb-Bt~|l$ǟ|C?:d_+'fFk"$:CʺtȐim,lR"PV"“oY-u5GrrՆҼbVdbf9U CC8#sZ*BXGg\^CzAҵ(v` R2nRzQ%@knQr2;J Ԑ*oI0BXF;dn<jUr-6AI }Cr g2m-mE"v~)wX h? gGlŕmXd=rH bʡ1G{'?AP~Fn2|6/fe%;9BdV4fȑ>Qg#4§HqҋI |-ŦI08yܷ/Q,Ip^^#0oLqDKp6 cH7R$. _9\Ru^6~VTJ#:R*}kw"': gU{bynt`'ѯSm`CvZHJ:%VN"l&H)]x")#@7Ѧx!HO*cߑ־pJf jbyu(.} QLȠCXh"2L.JRu,<}=( [W?#(ݨw %_OqnJYef|(P_0!:j,m,L*~lG@pFb| $G33.SdU$ u׬FCkJ Dkk gһ&s%-dc= R1Η,*/e"TJ%ɝ̃#ȷfKq?7(WmyjJ :/\' 6Ct@p:A&wn[ƨ#[e$Eot7s=p$-t{Ùl;`?~y:qn]̏* Z'?o:ed9(oK unRG_?û=L /0r8SYѐCu'6-=e4M%..N'M2!vC%.$z}ci*s?O\4?m_@Y(Bz<ܺJd^Q4ڥq)S$}I.CpZ_i]Јe;ɔ:!Դ!ZL4Fa~MiayD#P6ƃc D:&3CE32$ŴNڪe`l-)0<)T, ܬ'*Wcg@Q-j@')8XFw5^j ?q(1Q+sjl9.QPlv4q~#\[qp|xTTR߹1.շYA]*NdŻԨFr`fTY,UxW,b39n)Na BSe̪UïʲǃwzU5kT2. i( i+t'e`jym[+(.u$\O$Ve;.Ĕyǿ,&IkWTSֹMCQ[I+ ,ok6t „aHMJ4gV ac^ `ƃ!2Do0=;A`s$J5PL #ֲPg@"ĥ&|O%lshFdJC!<*g'吖HXc. *P\UEEYbҥ5K k z˕S]VxjI:BmAHFaz vX>kCgYWƌƆ JeK6ƈXܿ>x*Cr*H0NJvaǣ=nu=vDԹ^TBY&3/ ${%+-<Uŵ+b^qCx3X s0-)(W=ҙV.m/Ϸ="y)FAX=t}T\ȣyOKgh$7_Q)G lœtel \ @ɨɲ ȻIР!I[I:JWC"2CO*Bi˃N4*>fOU1&Gh ^dDچgzA("`&(u'ɧQƅ1\A4˘l"8)T# 4nq޿tM8Xl `P }K>2+BߝEƩK[jǯ]$Sᝢy|\fk-oY @@qTڗc2"I،T#$w+PWޙ3%FտZ$=(jQʴ$^ ;q*-eg)/Ak.@B %Tlr'00TTrQzAV:Yѧ3}ۥTx{) Rt`7)[/O_hD /kp75‹0u Fx٦<~-w@-=ءRW >!Ꙍ!~M3rE.uiިCvP[T dvI_d~_lo'Wjf:iuctZi!Dx YSyb7:omZ/_(d r,y7ie7{xS=fZ`xUʹ,tXŨһ4ӯ'8we= E?馑1+5#`V;K\ᆆuHFN ͖EeuhqNjcbbrB4e鬦F ҃IY']׽eLۻ1Nl,HwvCj=6/&XV@Pv WW@Qq&2^.0"AG'v89|13\'aP2;V? ]IҐ[.G8`Ò#iXȺՅ2-=8;eNp\W*.# JF$Bmum.R~4K4IdR 2վnc,&qL:)IىV޿*M;0o+V2 $E)(&#I1,Տv .K^( I!A&cӀۆt甒^:ܕw6[;܄̻ U}Ɍz( dOT$-#eúRƉ莏KZQdRQan]6Aѷ֘wgGWXcC$S V^ /'=rlja\zw>UE})G8N hD[⩴Lјj'!*ϑLpq=vRyonbD-^op}pezѴMNnPux=F$m>hv!t!X E)3QV[ӤQ߁Ks\##wYϱ^wPOU  Voґ/-iQ硋V}9ռdR[C ܮ_nHB|xuӽ&mv:!; UKNĘ80qސ@87Z'rLъG"jҾDftꎞOY"a_ѓĪ{.\(xl$Bjw:c?+ݷʹBꗩ~}TO#e{2-}! ."޵ƐVRlTMö]2mBJ\q Z )&l׾s=u09&;jlqI!<ꇣ,XU J M(J:w %qj-x bHC,vT#4ODR09  &r 0G`QiӚԎ$HX(r ZgQ[ e7R XeȠ]9pT~FR (+gCsG Y/ʕ.2 i*j8N~[s  06iSa.VHq-a$~s/Ok@6i#wc_@ YpkHyJs'd n ea9yZ+<$Ğ%Lrkű}=Q93yI!p褔Aq)vڜ&y$҉B0őb:Ln^~tM|橭akBZm@բ 1cVtc xz yU@_KwĜЙA -EFea|$"iQnz+0yO'cf%VdNQS4]J&Qwb4Wаf T /-*ȭkO;lH>-[~/oe:F<̅'~bpjst{\eb}j2~ᗑrZwA"I ^O)NlRIS,'fZ<`#dj`Pe)Q _dUyA܆cd]/TZ0,#\jIz\,o3VP.E~@:W7{>g i[نOƓInF5˾n&A8>LhDDcg޴)ɀa DwwY&<{ 4(=UfXץ3{[tS&~A N'Wjpc9ODAjSIbc\IWR#o@.ܤU:) ^XW X!D,fE%<A7 9 @$ ëjC' Gw&T Oa7a2hӥ)BY*Vj+ָ sm%D% ۗ cad;8Lv I;,-v,m!jH@܃ʞ})j#XB.&N}Rlkez.}T0,m*Jͩ947AxG&`l0/E+xy@E:eP]k<,7TD`WS&aZ"M"F8,M#\HaO /IoQJBp֨(tqbt0DXFi*v4b<"HL[*YsïĎt$60HƧ6 `x Lj]a"e2Kߝl}CԦւy8-a#'hIOA.hT ,,IW tf"|&)Sђp]S(đv<.c(1U9-m|4#St @l ;h2hкFlVě؀tM,49ͦوez"ڎȌw$xUG+&qQDM2HWM EZG']*<߽42:0En#*\(0+Cl@RVGbZR+6<>0/(2h\иy:pAM*;ɴG [m-:X K >4 Dŵ%(MuM 0E+vTB+~6j] $& > U$4IVW%EUuꦴ #BPjJa,"6ЛLP W']=OlIgvwGީȽ;aY!A) J^44*KzC $e֥WS̖la "" Fb W$t\hLE"X6(UEM. dqQʧl1yC A$&.'f:SoH [rWБ _EʭL1[IhZd$Z* ١0B!Q9b w3LP*i#y,v!Kx_⟖TZ"f&SbN\0]D\x]lA7G#7gV\_I#ĖTA{E'KKl<}Y6K 6&JM)FdQ\SWmbnDx*& E -hζ'bT4 't!JhM\ȑ~!mZ]'sEfHdY%aBGUp,tLLPW-3@t͐N 9av$]2)ӷi ۢW_ )?*ڦ'z9b&Kj.s;$c2Xv :^p%s*64ι$ֲXXُMEDECMW3S1BDDG$+ѳ_q9\1qa*a%yK濨|g>2f6 Dr,,IC",߅bT8.Uiv HHF$p >)4\`<%3+je*OOY@ZVN3bC-aDH!*gQ&S3!.ǣW$:&Id`\Vbp\PNQeCjo NC!2ItVBE*Ip:@I\1$vH|HLF`ҥ^1Vd[37e:R)6;t/VoFt7AQ/iHpF$G sp[gn?iRv- pɨɳB:P mUI1v<" !3MZ+ƹ( afױ6H :6\nִgE1M=>4?§JJ=su\^z_Ȃ|J XDϱĐZMS)h;#1'K3{Vs j?n#ĐQ8S jGҝ>fC"NfqG!D&I֑vnqْNV4:`cSi{6FkBT)+J|.i6Ht'KA '- ͡fc(4Qz0˵)K$IfdT Q #"5.IIXn i8lTT"Ņ6T)BB H$@F(!V"IOt%BJHo `!ՂpG ( X% "[B6J[ PO醃5O7QA=UT <<w.Uly@HJqYhXgUZ:܏"T6L68٦@&t 2`%}dW!x%J d줘8@*́I|Z%3S՘{ueMTτ2&.TVP6$@`&B B8#!$RI l8  r/}X ^Ց iI=r4sJ$Is}^.$b5 =\Q'V@zb.Qgbm eY1h;&}CwU#I}vp(:Jeݰ љH=Y!4_iƒ:H&enZ[ous9}/6Ų5xEIZHmϪu7W[q6ZQ|+S#j)IkF:0DT䜛x_ٕ1묈? kHF<,N)h=Aצ:.2C2 f+>xa@N$KݤS?N+%6$jQ;.{yIphlDP&q$=]~2$tiYƙ]_?yVdՎ#UU걧Jo#MUS:7NzE^$|[!sVf}Q{ٹUOF73D);2U)fa̪RK^L XptEQ,ϫx*.U؇積^æ? }mv#p(pǔdR,00z+Ьi{we]v*$V-㚅PAsr.{!Z*5N2'P1ssqܪ HGlh_y2u8͚2,F=ɂw]܅jtae ''JSaR͊Zpj9m,Sٺ:@\x`n-ٛU_$k ̦[C(vT[-t%љ2W^K!^{5>ur|3n kR]䀘G0>J,{Co{ Jz| -[n1v#q;4TRRGٴϫm9Oש;=]Yv6*)n9#N43F2@_Ҽ}r䛕RQB|4u^Y%5樗 `/@v0oAQtf b%nB2#KPVk^ eQ~~hI% !mtJF+LW5U7ۼ !,$>+'^&ᙔp)iO+HſxYk/|X˺"Z!H=ne_rPX/k秥H!i VDh׎ p@ }X\41 4eҲG!;7Ѷ?)5Ű=Џ.Oͽ(皍 %q^B(~UdR\uuf`J]6[ǧ]I*^ܳ^itq "RHmkXm.wx Ǘ_xEͪdMju<rҏߕn~ &!"3rʵyiz6 w6ܩ4rp|#lS^`\M^%eGjh:1fN\HڍPʆjb2r pǦD(Nw-|^>bVs 6/#&H&4E0pVOM'(BsRvɅbCy-r]| |'Q}BcGM fVLH,ec ~͎g*&JJͬPd7c͢ЪcC' @Bv Dw x"Qe֟M ),=BGG &C!LY{ sqEr8g6*n ϐH١1mlT6 y{vjOSLqCgAɸo?d8:\Eէ oɢI fnT/oNUuGKT\ n4_ qtcls>&3yXp>YhCGŕ1d&DIt Q"hxd, <^H3Glyfpt*@ ;("HE:z/0CᤏʪyS.(6|i3N`X|h E"G] \!y̋Nt[nWY"hy[TIbb^dWpe#}~ޱ!0uS.ĻLI2K*&1֓Z">hGфX'uEC[.0^$*X&(M't`i~!`=(" E #DP'@`x'I'!WΎ6/:IZ`ڷAOlq+2Dl>E;55Aej x'p_\Y9p"?)|b9JrB^5T{R%?<.#Ċ=:.&.F^Qr"F5AڈTڊZ#g zz2I&#^AJwj5ZjkԐcA5t ˷.D<$V?c™U)YJRKi*'d3A<^QCªAW DD,*xF&bqia> W8mI DZyUө Tl/Z e2j+:"Dp"p5E:ᜱnH?\!t+*Hޜ+JK ي锏Qp,`'>#]WB˕!%ʊ6D(>¼a{4H ɖMP(!:k~?C˓ @Uin\H4lE^7MH\ѡ="9A|濣ʡC@ P+5q#s%ǁ3"%ͺX+1R[o,5V}UX%uyI(:]#eǍs h"٦RwFȞd`#ՄUp z/R\ s nXҜPK/uV8RHP OUwF7y b+Up+s9-QnJ*U{B;=k K)*+e7Slg #yW&^kO!`2gY p#A#MKgCs$& 19~PM{M0kB~ZWwmt6 8bY⻶/_ݯ} QXNiɢK!J?dm |-IvX$:J+Z %97zu<Xmv%WNz"6,/'8|n?>_̘Ht3G=X/XNi2i ڡ4& N})0Z|ɢ%[@LD=Q8zԺ#6_C;g׍H%"Aʫ~K6E&I(J^*x|T"8FwlV ;cVTcC7%S[֫fX6|>TL.-p2 Xu5*Dһj;iӥ<ҫr) !9j L2%KaPRdzqc< bMDDsny iFx,3&RS^\v: ho9Vi `ҫ0\Yshn0]]uT҉"4f"\SGM$S$!QzT˚MD*k^_=-ASNJP s&4ik^hۙ}J 5+]h+2)SpdȂĒY`Jec]{XO![ )*iXݽwo`gHJs ra6Ib^Vg̨E<6[ ŐJ=o%(4~ P=G2dqL *S#)5}^Tr'+0c1&LdPdP(&$pqnifJ)TZ“2\Š+vXɈɴHEW 1_+#"7}0{jIOĒFTVFPW}e]DUesEWө5=Z甫iH/AlA.ɪ¨2X!=.6І)~Kbuy.KШ2(^ҌDE1+ɴO5lf!k}JtφqE 0N"ҹwCID DŽYuyhc5U,3Gʻf^{ά=RY>֢#y<g$C}fo5B27Y! xAw .y9 ȇ\ FWituGԈ YH&>3-bՐm{GI0tDȓҧ2CVq Pa *P ٪c43l%Rڡ%+rb1d70EBĽȈ UaDGfNG5|K̘l*p-R [3AdAh)|!kL@_F/iOM4h0W4VNYff"a?')fdomM4Ah‘pN A*yĤ% y8• P 2㕂 mѰCJ.2`$oOZ'ya)JAy*G]321Ddfi=ׂC fUMP RLWײu}Ӱp0q4?25s_\j4cKr9@a!"?M{>>[|K63CYU7|cKEO NFg4|H#N 7W E!!!Bs\Z 񰕫7跷.g"f4 "T;%X4~ y z\<ڈz҉f1Qae T0,-ꤼ7Yڬ>esL$<ͅ4 *3yDLEY}i,7e%ĂA`^~&ߏ}G+T06_6Ve}~v7Hsw z"]kR]쏁#ǩw{﵉bjFYPESfhWTi 5ӣ3EV:#;<,LDQ;Ը%/2TWk)]\טðYVvZcG? /qoBF>EtHo[_QD=T?;k ;C;A["@рkLi"]ECv^oIzU:oU$){k3g^9z p۴ BPAx/lH-b A0B,=(onj&E>F:ODR>il+EsYfmcTVH)$b\ MOr\} &B]`qcuќȴSMW5wNdr[oIuiJ1vZKY_VE[y GWA*A9J T.:hb-3bv|W;<<3b@|<CSb#2AmRlxmB#At"R025;!*@OM0[SD52UB &F6%Z*9C*!Qs'j9B+׉; a);97 il;{xNbx`^P0o_/$ ~,ˍ B- NMLJ.)Ӹ)R[yYR=+õ:c[#yjCG#7 Px[Rw"$r L, 1,=YD'HҶ #Si;">Ȱ(CD!衹t_| ]|ۤprjѩt 鿟c4e[)pt ZC7淐f80Vز հ)^$`T/L-Kg$iLibʿ/˜xs}+S  Ȑց_YƏa_ĥs0­Pl=gB)9_" Ϗ*G6UJxHD^ğީj/RK(N#8ӕcj\Ƞ`@dV,S }zҌ%[EA)@ѭ7IB\L_KhQ.$5'*Ij: Y>GR ]rKQZvuGxKc))ݎ@i~Hp"OTL_du $RZJQ=+j~LKZQ(;l2 A+U%pe{ NmFjeos*PӁ~TŃ }l\>vj}ڍđNCW=4o;k@w12.h&i*뮴<Fz! nAѬw|3r[#D!_*/nԑ@\>Hm}r"oC($vм$pPSͲ " ٣$R}&xBծF?\Ԕ׀qsm\̤b5c$7#J.8uIA P 3ե?8]1 }% * ϷTaNRO͐eoۦfDw3} %Uh4HN^: XJlD=Ua4qNQY{i[ uV(q dvHmFRj㠱hRw!L>oآrX_≌W1Q㉸cLIŔHG/8ڛm6Znr6ԎG5I+  P}Mf|-ҕ<?-.v4uT`(V*Ǣ&S稌! um=ԎA{&"x- _1w*B@7+PqhzQf g0 <4PFEѾf &VFL-K B~ı HJI$Bc14rQIVvN(&TH% TL&OQ$jB% Q)n䥢gR`;a[M3~]fOJ'8.Jw[Fؗ_5vuYq]q-M`!02om&*CxV EJv{B! HCL.t. ,lj*ĘK]nmda3̤.c 4Z8xhVH[U!}!PCz9HXeAG,`Yzy#vK'z9юtjJ_Qَkҩ8jH.${Xxu r_ _ OIǘ13(q hYL D!,IJ+LL̯knT]2^v :d'e0",&P71ӸDLCR:;LcgfȄ%uʊKjތJbbRNz0K5 AlKI+'o]Jcz,k.Wr|nmv{W;4.9`HRd!Xcb . ,WtFN%#Z"|P# MJW|$,iv.@bFAXOL \W4RvA8:{h&L]a]ߏKV{8> "׍ntp(LJ9Ƞ-Egk}sh5=萜9Ad)ET5PC<ϮU;AYsZ-ŭ'Z~2U”S:3@NA@z%N ٭#n-){)#ݸV̋kB@-WrJXdc"dWsϨWvcVVnʵ6iɉGN("eԌs*`Ew1FB2NWG)_(fZbђ S+RV'V^3j69W*n ["Wtc qJ_JŲIjhY Ѐ ^$`siitf99K_DElٕ~ (|chN|iܐH-R|TptXD/2b-X,ܱ~"wx\&UJ>ŭn,FtO)>\7sL"y!\ÌVCAVD]!! m\~3EqTmŖk:H M'+1WHMI'bVnQy8s@0o8ӌ'*m~)]՟6Yf6Ȃ5/41ܪzDd&r M{$?*R"BR# [3yץ+~f=$nPP58r(fN'hA~X! ~Ca9ެ\j4ܢ;"_% u/(K`dOm" $[~`!z{qهA[ ?[ȅF4sS5d0t+P,ə:6nWpܲ3TgFطMڇӭF6<3$B!"'QAbۙzFe?g8ST{^GA,3m)V("=-{/'8rka=e xR2E >Ci1}R= ޖ7=Tk H!(dSW}:HEb-^GcM1FɪW#sbRDEgX$"c =ZJ=zҗW"I,|R2Q~ɖW:K7FEYe3KAo9x Y1(!R8ڙc^/N 'c6O=MD8Y&5}DRH*#*M' -DIry¾o8FOzPdʤc%ۖVyT7 o55nȦKlu sm"<wӖ0pI'䊙M$zngwb21oUzIT൪(qT^]U_!p#iQXGgN$WͼlYFm(P0]^r"*M M:%gd\T¸>E9 aZS3bOtL"[>D0"i[bZw,zX&X_qP0+xj$3oͅV!!h6Cdth n-ZY.t%G=f_XȊ5G#'@;Pզ2t%?Xjt.fy_)-B7Ktw$_*Y[Sq²th ʼnVdKR4sNT_9ZU$QMڈS,~nr U ,AeP*x2/DR-P?2Kݴf98S'nE,'嬠SGY.[Y`.Kv?f%`LPm#~j)Ud%x8"O\YBE+-1:_FG`TL6Pd|ׄXt!L2`_ k= L8y˒U Tk"-o| ϷCXCmtBRt98 Z3F9]+8l)+PKLlrEۃqMj80h`LmHN&s0J.t ! ~DX=ꑩ#SNTE+Dݥ njD$e&!€:$X`{ZLMK<Hy%'Sy"ɈɵP5nPzx{h-\r"Gp*Ft!đgͿ.|wby3[=%:-Bi? cP0 z1 gVW1$g>_PWq69wJp @`\PNx'5W@lLVV_qT2K++NlIeX^= 4##zuQ6"F1+9BEho~Ԗb30+ae.TuԸY~F3O^>P[z=$ +G/*0JF~5LN2uS,Gݪ-" "S|:JwMg7cJ}S{OnwG}( IWҭ5x oӄZ&׳trUqhED*{% H=5`V_,6_d."U92`*/n LJsVCxWW2XlYk_qhAN$H+!YǻZn%2螳%Ֆ5x!j1 S] ޘ>RBȈF3 zzo2Рj2]\=6("h*haѰIKLq@O8`WBy*Όkf!E7(Qd=U̯uV+g厚.|DEV=#o4+B0dLt3N׫E֥1|gAɪjԐ .Ih*B 78$uUJE]ieBJCRq#-摙 sq{uy;UӷzhDSg![jRta)"8%@Dea/;.(%ldE-4KrbI}+KI@/>a6Kt] XmE*m5+g&el(aP$ݥͧҎk6_qr\,"吚`æ*&dGkbַ8T%9YQLy&LshH-Й#kmq(_c)D ڥaek " +p dBbTh :5؛l3PNc|Y*;1uUVyV03<K%gSO"ht:S!# %Eד6:*XQs!qRڞbQ5컱Sf[Kѱ ~`4NQI2JMBT=Tq NBHDjx>[>F&a) t".}9!fn9D)ϓB̈́o . \(XTc}K+X9w\B`ydPJH᧸U Mg2ұ`[_;i>4+tLkr@&nZyr,;wpܚ'`b0ac &#xr:0X#o5ЇAaP2 g 25YR..$ՈI ;&79R=ں a #\b(~&Jp`a ~<.ǬZ\EH'j "0Pi+E%ح1MQ6Ȑb2Kʔ\HNGuikFS؅f߄3htl9Lš*ʂN[&Ռ x% Tu:&4pҩ,$bb*B銄]}EڤJD/I[AׅZ,WvxQˮǹergrͶ0{D]hl `Y&˥P*YU" uT t0KP 1z[% *ᕃʻ.jOIpEur{ B̰Hd", /a! Fe/JU0h4<&!RGY0XDTKؘH0 $ s,ϑHz$V^-Ef(^HpTQ-OyCI$X=μU/% /D$#'B.w2bSVN2l/!(:WtF:D ȗhמMwej˚'ڊ4 D.D vzJaW]$}"ɒJ`$90m0#Ḳ :1._skҟl$X۹`bWcک) % quU綾a$oJnܬ%ˏy WWailL"Xl|/K&Ĭ~fѡ!I`@d dPY!\DH6v3$e忥[:y R뎚0>v48Oɩk[}A٭'1{MU7r#`@?7OEO!/`H,-dK]<ZUPTr @ґe p-TX @#F  @ 5h `d h r/`pQmBf$FXe7KwLIzgЧ)ZFMg"/ڒ !XY|jKIARUK ">tF62c⛼6*Ǥ_S+3=B5LKl)ye^( @  +dSGs"@|/ ") B5}Otx"~ `r֑Zt۔}w!F":YuuVaM8z y~%N#G#pf6'UZ&W9- ل%q 2C ҧB!ԢO qi{S9XȈ~l7] ~lG-'ECwʫg}") $%M!7+/S@y%ȓt3)#Qnl*Tbk" L%w*  4 fʖv*ug;0(&($T)TSYڒS*$*[(A'B@fMvGZ f)>4:ຯNj$b`pf/䵉 z pB\̽ 7 /BOoTwX`d/ %躭0oW8eE j"Yv=/bca4XSLg x R ֺ]DBrgi"Z2L*=P_dvcmW3H%ջ@-粘LDzWNШTzzC/ѳ$-{3Rmߙ_PR7\  {?ŝF2͢𠇢AS3ؒ7__I#(8$"``8~0|nS~ɆEgs$L,WcF@M_3dd~m~ YW#M"j0m+z P騧2#NGr֍MN>/73gqG)|\|0FŠ };뮟$]t *kyn7"+BQo%@1`@k<3޷~IC7KAPyE!^YO&f޼szbd~/KX4XsCp{dO]ə\X:7ڭ6KX&RYJJ[Fʉ[i4{oF;f hCԦ *嵏"Lʹ9.( (l\7]r hBvn=i%Q49GĩUSQ8BG=fQIus TS;Džbj/J&][ii^}(3` xP K۟}[&2wעhĥ[L$bia%ŦeT; E|d瑦2Mm]9uG c[tM U;7EӊW0$Ԏ 2!Af+iZ}cQ N„_m'Z]ܥ*-؟qjF**z$₧ոR?AGCWN]GwtX.,#P *iiEc%!Cڱ _tIP""v A.FﲑkgrKH?IM zXZSeb'nG4{%<ƚ,JnKmNkc֞IY9,$-TD@uȣ{ 8znڸ}{,$WdK?ǽ2CԷfTƭ*|s&bҌm` UY؜U3@P%V.9EnIXB#0z-(6%I'AZFIIqTӑm&`;J߮K1`_B* S=J*DZ{uEQoZr^݂rs44Mw;)3dY( 쏃 n_T뭛oO")Q~)pҋM]M/UvH9uW4+:3Ob'eR+(z)W+#Ǥ+-woP#E!^Hɢ#ңdkZHR>0 ‎*t\X{v*pچ$/̫ ,#4i 6S86a4 c> ɒYb։f^]e*^d_H5ջ_r4v"rfNe*ؽjHCVQY4mK3𡏏RKJ^V.CxfB:U{Hl@1OC2YEHqWjI=T_Dٜ;z;/`ZHO#KVL&$$K rxV*2Yec+\-I,fR6eH77Jў[fF5m7ĺ!⒪-Z<؀!%K7*7m?D?H|,zvUH82f$X>=B}XRHCN%V]G]29BҼ#tMpQ}{a.vA\Y(VbA.JE)9P% NXh;oizȋMcP 66ĖI PQ >^{ȗ %M6:Rby+S'q_Ok_5X ⳵n*$C'=ܟViRg$*DӨTt-eZk41MY,CMQ YӦKytZAq-wE.vBtG\$_w Tn!F U-!oS>E&Z Y@WL *~#DsF58|ruƘ(p2RW2&?LFWHwu02}+isQM.+t1rV.0hFMwp#vl#2o~DeBDF,!y9S*Ɲ9'RVgdX O#kn֪oZܾ9Ha0qD٠cnтe*4LҶ#(:nɵͻL[xaQGc fX HNZr Xy:ef%qR$UrxXbuZuwmpC7) %#͂%=rAbl1CuJ,1T y5uպfg`rQXeuwxQ(0)Z'q{dYSuZ l_ NGP#'Y'V!ίd^owGlմKnU~ۊI '™KJǔuUo8h$f䬪RD%2oI$c(ZO0:!R8JhBA:K-?$V[YiYBJFŸajmkMpAM)_-lᯨ! .Ts'մz̵ 8~R50-P+;\l) 30YꝹn.t%) ^VwBIIJATb)e^zl*+..ͽVmFշ&T)UsF'o_Zw5TmL'}e7gڇNQBiR 2M_儝ɏ}mS|]﬽|Tm; (Ǜ*3(ゔ]J${[bB Z/=jJy22©2LKnpe9qw_PA #tt/&ӕ(T[uAK=rx(Vt+3f,qR6%*dHS(kR6m%WI2uQ֧)-_mflB$,Td VK};x0KZE}. v#۶*%X/x\'8Z(mq AKv/3DHm(׈rVG*E},jȝoSEj\e{ϳ2Wߩ* ӈn# IL؝EjVRjck PFCzYg'>8*vPLH%TΏ|>x[+ 햖oe2DRbSkJtH4X Q$A/j^$N"`Ʉ>-Xpͯ c`*htI9-k(s"C(۱-V%'gh; @>+qB&! \t :N99X絮7GlM-Dm"Dkʻw=B}2Aj`H&yi*֕kv-ؤFHQe@ # aHiIHwqWޓDFtީw*k Φ A ' SN!$9oR`RKU@75aO&Ji I8^^?/~_|T/|5  k5?Ytf/: uT]OVJ%p,Bq #H'MW{T6;/V"[\EXF.BPL Ida3+*&m#rGyw!&хc†&|հd?nZ˹ Ð`p\AubrRz|"hAIltԕUVrrN] Ui#*AL:q+z͢ƬHVrvHz⡣3h/ %HcF^*n*1e! /VS˂cyδޤ 2+\)zmLC ;+]4_:I>9,U<}CW6# itnm^#߰֒OGB╬&K)zi|P"`n;@aMQɛ֝,oG4kj U1 \.T_\?׾GzC\Bߵ(Tt%q6g~[lMVdƃ/#]B`B3oO1W=ܷKѻZx(4u(7(IJArG* pmcB.y_8]:]`d |DJT\q@.N Lep\֩%@bdj55`l+ŦeLF)psC"xA  cf ׍gzT޼URzH1s2@oX+6*cWIusc썹򼢖\Vhq-AN7e=.84lQnjyK*6KX z3K־Hl06ɶyvᯋK 0Awe [Eޖ}j^FgPLZ9B"{Yk:^in K~QE4% 1YRδZjMQSCɩ*-O'ޯ-]k<pdas&C : }Ҽ|!Xґ`>rp&XRe_{)>7B(HXKWėƼEmJ'$#/Jb돸LP wYFRJtw_kt 6e"Ζ#ny<`Lk ;I6P~B1[rzx&!fE0?<9ՑnB }UΦ9>)U""Src^BCf78>ġJ(dA B g#+.ekYJ߫P^ e/- UqK7dR fKhm.z֒"5QҗGSF Sو( OΔG`Ԙ]sC$s)\=DT@ABzH1RF^G؍* 'Wz=Rɾv}I?~nxlSsQMGXHD:M97MG)\s%mn/dAټDX|рFG2 TVYa5uHszl`qhX ,7 KW351hA„:[dTZ@8p܈!P7USϘ)_,D} SjM)R5L,2'DpȺ$;^VfJV\]s(T,^8&8A8b#fmIBAe9.H߰jxk`U+TBCRD!i{ āN(R)g+N;g i\$bT)rUqOعJ kJ$PHoB iΊ2*RNBs"<: C:uDaCQ6*^M4MTOG&|lĩ4a?pzٛc"#[WwϛFu)/j*stZBj ^jJ{:|i(ޓw3!L 'ʗtJeS4qC DTB3rT<`LeJJ|QQE UL`'Dk)jZ1n|v1@F,^8 X0<j+cۑ_Rk@#J1cУD-CwM]-j?4t:cNZ|'dR dʥRI4(۹YT"%@5#Hi0#h %Rs'h{(S-Bْw`R-"kNFK"bs=juL̼MͦR)SIcS'7EX2 |7CF߮O;㍱ KJyJʇGQ #g9RaP`U l-cuW,ppT@Af-)]y?b$F"|r7zeySZJQۋ{Gýi}ukYki0C]vq\J/c@ߓ;'m*!X/L|4g]kzes[LuK\T" 9(B!rFξD8./:6Hx'LIfrrUW $'0XfLNB@tۿO! s㯐%H dJ'oQTW:ƊU"Qr<-qRY !Vs\}3+oh=c40 MU-}{hJiJTU!QAf;F=1."E|ޢh[L*'~`s߬`-4OUTB\_˔DI#S$MBzpHk2W^F>'(TYzRncF3pIґ]fOPXL@/8UEdd#!/x Odܙ > "U CF w.IDb[Tdl< PP%6 ּBEDiFA!: 3 bCӵ伃 VPT' e'pI(I $m__ix(';Xd8F^$Z1qJ\%2BK,'ga ҏPt%+@S{sNR6x,mF@rf5xUQe}'^z*p\k+AM1%&ƮC;\U7ګH|7Vh@Ժ'ZBevZʗIn ^dzƅ"5ټGt_$H=_Jui~T$!)TX:ob2+&bSSnU\iLҧtǾ|Ub&[B mQ鍘 8dxEsqO@#XE( `_X} q.z'0$h<`2Cw(5<0 d03,(pn7Jj媮>TN챽 u) -N3vX-BAGZn bCE>AT>|k"wNOy#.L]_%:۶HcA?Ӓ{'ל3PEAA0βlm)f+IJUgH^tEmLfZS1?huo>36!.Dm;$R^HA]AISkixIgisMXxLB@@t3}Nę -htzQѾ%bnH6$zcmjꄲG!-  !-4@)JK@!#2x5?d)fm{-4ذvhSE' ZD%"?664=G" W7T2[ࣶxL>)-vSqQA {%2zo]?+]lFE}f}[ 4VCD)BzHq5Z)҈ys.r(nF"r@6r衑"BM:̐:,*B`S2O~$akVUADO nTZjN~+dWx7%ףDhQ#xJλMuZ1 e5%%DKXgjQ#8*SSzS6gIHj6[!{I-){Rn/ҧ{܌[g*KrԟZux0Y}>3hqڸBT[n0{L%?_ SU7W^2*w dV\e-UrY|X疺h&㫡 gVlX!&QS #;)q".{n,#,j&Z)HD$Uׁ2:.Ȉi؈ nv M'wp1BY:Y)~VԄ8u*\J 6R'.1^УR2ftcs6%D, ˏZe~_W)iK`~dr?PcDlI ">hD-ȈGŘ=+YTسLoͤv ТX1rw0YxzRΫ7^9 bҝS+Ic;"*$̄^[o2 ʕJ_uWR I^Ӂ7-R"K2t}:d۸Ȩ UXMMiYe~ HjI5sK Q%RJRA9XF:5w 歖r#ccDBGˌqt  PѮEfDDi xdhmwNDlHҫAUɶ%OiR6SP@~.`X`w6$ER 4;f&KYmc$5)om"Bh}Bu7v#Yw-LxU0tvf#ƈNFۚ`[q ˽D6 hXq$gPz2nM}Ѽ&QexOb0: TDȟI_ cq~)}ܕ)WH[h7DxQS: j .˵޹\v 4 clȐ Wat$׈=R՚LSE $,84$ T D8xGp"\Y S5΋!cH# n W%dmIT(c)__[Jj$AnTr(bٌP,Ec %sW̧g:d.nRYjE0v&JOjr8LhdlW_Nͫݢ#j$XA)m{vv#CZp[XVsFtJJC^:Bn9!H[Q| 6O졞S+yJPս,^G %3Y-(AVy 50zEM]0M^՛hK? }z5T!| %Cr𶾜2JD#J% ,*)EPJg!D$ЦvŽ+첦q„@\I/U2Ȩ-rڄWesrSJWQnPБ9JziE+&@sy"AzTU!?ɝ (ѶJdrN%(MbW]:21PE' XL%|nLJ;^(U:`e+%}tDp̰D*<@viRـcƖس}tZrzcQYbf\DnGĒo"oo٦Ѓ'$"8?<%L0㈝%u1:Dе|s,RT0Wcu$jʇE!.$$[JsPJ*b>k%2qJ E:搲ؑVfsi-VV*F 4IZ6~UKFSجPmyqhvURVM%M}HJGH؃NV N&nȎ(h l6Ydl4!ɒ>6lUterhP}7FjH"IW9]l+g9>tLykW{%]Yr%M2l%Ҋ S^Sз)ZJ;h3 j70E-Yc"0#/q-.eF5+_9'Z2IĐB8o|bT؂sj4)|,@2B1d̺JEb܊>)咒Fa#}XI2Yv0b9!?TȤm 'XzTAZLDsu&P*MQ˲hR$d𰨲^XSOnEbTtmæ˧EC CՆ>ʼn@TEg)y\cUGB\]Zrl"FRʉZMr֔]fFJێJ̳32r9Ԛʷ6ۻo%jJzQN*Q$-{cNbօ?Zݮgrec:<[m#h~e?̤^US5>5+ߩ8FD_&ƴ `mQYf_|TRY]a6y$H\|!Fl$_StIhf^}&&T%.p,\POb1XYG:qlYkN S?NӋSjfA䍡Qɧ. LLeM 3u]!1Wu{CaW4..z[?Q9R_Mx0EE! ~5ǧ /[txNXV;d#jj<)t Z|s3>,zkݤ(1ߧ'Kj:Vܒ<#߇(ګLGvC~?!UWOs2ӌ&lrYVQpZ.TJ=%Y5VJH\hLR]bmɚ!]RZdItͷĒAT3elK .DO',~M\ZUp(Yc.aQК.q~Pdm-itwI!#MeCgt #j3h[ޠRF{v˦ViÔ}'5WQg[ D?z<-*F%d`$ݨRCMHX8,Rw5v:2TW m ^|[[aćT3Gv_-sb9mǺ[' t^ƍvU**G?xZv*ĭf_k5UQ$hrƚs:3(%-+"a4xycx0\(${o"d(^t/EQBp4u4Le"`82__Z^w (C(2~kl=ty*ҏ!Y{e T^ړ zƲ*_&%0Q}p̑0~\24B*)z#YD ދ79DقHjqdTN_k9.ז*^(wR$,XK'i9?[v:/16%-/ * .2cR>*4Oeɩ& EiJ|inq,a'nz˒i M}%r#ҀXqD0*G+2LOAw$**td``T0 ,Vgf8`P]`P.38kn/Ӳ# $X.8+J3 Zo>4/EFJST%$K*u@ 'p 7lnaJF\ 5`#0Tl<^r'GL y2Fj9"Se1#:N3ee󱗅bK["B=8&i)*ۄ`5}E7qgw6Kp4Db-| @(QVbY{a a$tzK[˙{ gf +Dfux-:BhBzʰU#9:L?G,D)2Άao \(дvhi2"+J. <֎2F$ATCe$Qk",{ ']'H?}S n=3dRϒ5Qy q\؁w6 H~n4veuLE1@̣ջʉ\exAϩX2&?F Z _ ܃+ -<#l,ZYKrSȩлrB$3KHiEGeˮ Wu@D&y$ ܲ_@H6S~}VfM!Bghqe}LJ+╄ijk@ueŠU𥳐=9&Vj-lG|K&*Wm9*"0ĦPI+X˞jH^\*ʥ mBNX(^H0DH@b6KDI\.Y*ԋr7L0EDee&G|I^!NRN zv e_ajdSxD[x?3Di%?<.r3~VU&FFJ Uf1i'|aT3Z86*PZ1']޸J鰗 2(ʞOi0Ƃl.%Sқ#hTFUzH *(1g4LԿ)-sZ(HOf52hG WFg}#*ϥJr!/Toس˲Rzw^ Y=zr?{> ED)s:l- ,ܵ5;VU#O%&OOZ–!KV:קb"aSe8V`0V}GDB/]JBQzQSM%M[>sB9V1C%2hR(BT¶wsϹG2APHɨɸB2d Xd Y4(P@V @l ކ2xHL(* [6H(q%TZ!r}դFc S-Xі#%V|ixG[$xO})hQ. Z2腼D/,1,T!Ϻ݁)D!_"\l,ZGKkn QxҽﷲF8;x'W[\egVXj,34iS##@J&$ E"[i~ܻNfJ+oRC /{o֝oD>n"Z jL@@K(GeG=L~ME1d 'lJ"AF \Tj(f:ϩP$G{5 jAt5F uaH bz-jaq1 Czm\e.L]œRNGy 7exz:X-#Nlq7<$?h^F9++ٔRhMLl+Up=:Ci "F6)EN4[EyM:uͣVaan+۔DQCYPjJ )}wQgQSqI4qX_G-~CF7Ev2qlBr:Z mAXAVe{76.QL|URӪ<Ҫƴi̵V)!u,:f@[],~^LTJKF۱B[6fIK󉲣Iu?}> 1,-<Ϫv(jY(>c`$v/J+ XZbUYVsEi nj[<*j!-͵.zeغvI?2 |朼_f=ӯ$V\5ΙD3[&E^'}OC4ڪ-R.bj?2!Xt h<r  Ԯ4X@  $ `_XACA QDp1$x̑D9R&V58bi" 0E$NYhx-aA{9ʎj }4.[(iJzYk3RH-aV.HMVm 60%\H_bԖ+8UsVD1ItNWE®cQ'R,0%fܒ@YkM^tLDH v:t;ɰT7aWJMN)F)Sե9碔RrU4=y17 <֫AKa@Pa!*N%|XP$,d"=7t!f(E  jT7)(H:(ŊJrٱmԿ0`CR.!ZV#H91F^AkQ4QbTZYbqؠpC+~J8dB (aĖ]A594K}@𨳬+ܾxBQHaQjn:TY6Mq0TvTP-PB%ipXɕz* 1/V9+`D(jATE$7路TH0RCQ3E J9kc`ߥB@P7Y.H3rH1 LL:i "ecE?ae-v#hKhXY|n$0eps ݰّ ACK %( C\gZa(`m&OJ|#)_7 n$W1hO#3v ZВ -ǀ(@8hGe2D[Q GY#|{ >HF1jA EVyIpHW!9(OVZE )Re /p8P8kܣPV?&xX -ĒщM2^{N !:%`ʕgS_L n0COtƺcq)C*EYN4()p]hᢵ"4P0]. R6X1-8$!1D.%!D`G!'V r?槑NR_uR]9 *#R9ëbW؏ԣ/ғJAܚW)BȉmLԪ#Xd=ln JqwH.Vj&LVWX%wju~&,J*Jj+0ī9TqQ7cOjTsU^T|Zfݮ^ِv&r/Ω*#t#'ٿ7cp˓6jy6 }YT.m_='&d"  :M 9ܷ1y9u^ȫ~C,U|֗RPa;1pcU.0-A"ZLbB,WTqq %ARKE'Rrv)) trgZ6E1AHA&lfI~:(U<)-PآX1IB#(EkB)N]xVEy JCN/[da0Kϊش,hS9_ܿ^ۛ$ЊbRʇBMih«w)+)ȣ3R9*!Y~vǐ+;81$eߞxc1umx2)i;&U(4ۣ+/Lo2ˏ}QTG˯y*vAVKg)nTM1Fr՝3$n~qIoy*GQiG)TZa''f޵kM%jaoN7kyH(Ctdk1nQ1oTd{}V"X2?ʅa;f@p'VarPS[H 4t@Ah`lL, ^1(NJ.tc$1 'H" >)݁$x$L) <|N GJdRGZN?OÖ^w1C(3@ӢuE~$@sU&fA2udG*BXJy*E&)r>^9b )LWݱF:b_ Bvs`CPA$1e2*&sc!qJEd*3uM}Jijs?Sx],|sWD'Sɔ9j\)FYC:1m-O +#9uοΉd8sjb&jQ MՓ s#(Q 9J8qUxU~@Hy5c0F j B99H":D(Ž{I(Tr="4|S-/>Z&F}ЭM$(boaTEto&1XvKR $ C(`IrAp" %O90!U c(Ý-pis!!t^fQ_/^V<%fC̬@j`Ib![X'jxAVHpPB[.t/H ,j0@I/%V"'DkP=-8T~5,!%DJCM0 vsRIaF2LcH JC2n?(SZm!h W}0ů.(SKz% q5ԙե a]S"$ԊA#0;OPG W&`^xc$' "9J;A*X8|ň+-Pח(j=xc+2Ʃ+62 EdGFឈCƵ 4&CGA]_Y< #Rmܫ:@ n.y"* DcۖXZ\ +Pyd% )MI5& +T4 1A o<# Hľ#нYHQ5y P(}V H*%颋pA+i#17:Qh@Ag!Gb'y/A2PQ26 \| 9C8šh)  ͤBԴ'YqJ dĬI2"$Юbp8e V27b|[d^"B";Ԗͭ5Ya2 "2d-'jC3#(Њ4H#.SHoPjOXg%QT SJ|zd5YOͅAgB MII4 R?ě|!d :>:,q%n6ia)<*0RJ9$HPDll[ -)T<24wBE^$V6k)^$҄J˜y)JzF<ƣn z f)c$IF,AD,{$8 V<ح_,݅BF^aq&8̪0hK@%DEDbs)ěGJ~EvaXIV?Y`O8(+i]@'ՈB+0Һ|9 R[( ,$DyiPxPIhe[Ѭj *,D:O/ttp%h ~8,_Kq3C34*jBZiQ;p2WfJ8pBB;@ `d[ӠAje+E aAS2ޔ`1.ֵiHpa,̂@hAB^&_@D=qt&`RQ% (TPQ,)9L7P?=ND c\K!M8@baiXS \ Sdn p@Y*9X,7Dބ>J. 6=V#4.ɸitWoux=b$*#i(LLC17y: S ƚVhZ_ʥ4p5 h+j{/ 8邏zoR],b(%Υʄ9wd YB$igd( $IaAA6 \P &ojWrq)0% ])} * f?㨆̣s'u8F *h+S7ఄI,/%ƈw>\, yBU;(`xShS$hT B\oT$\Q,dΰӦJb60*ŻNFܿX^FWYV$1߽Tq/[Wi56ybcM/3gXP|wLJ~rTڕga[E믪{t R0D;tͶgW,}y *Zו:"d7D񛥚sI] xZ]O3 QMªK{SNI5ZӬ% "¨SL^QN"C[KM(^DW8|5ڎVZ)[yq* ý鳅xss ]*L̘:0ܱ!ޒ$&E,(hYnnD4gy&h1GZLᖯNR@'H/q8{xYUFVDev/.u,:t,RT2м (2(GpJ똭%%jF ZؽU-r&#)(^pP嚤G`0-Nv>{Ui V-|lEma6I:4z_ xiv%>crɑrae&(;8LDžVƪ1IHyWn=au4XkrO=K_"AF )UɰFZU+=r2[h QOTP|q͹D M6PIIطᩒszT4GF{rJyR}#h*ۈLSТ<(M-uI}Bɡє!/CKޙ)I+*%ŊKm]6JڍZ4^iMc3v:ay-$Eetv6$"HHtPKAY UvxB䣻is]YLІ)^( ͕ (C=TiXLYѨqI*yVI&ymHj~"8ɧ@'U:RҾIGiZ&;aҒ҄o[ #S|̋+Yf:IRF qxjKj?jSG<_lZ0xHȕ`0 *u,K=ߤ}3v4eh' u!N6Dy&"Q$dp֘f$' o ḧ́\d4nG8_FۥSyESj4).w Vq8mN_hr,R̛(+Txr"v*P4Kv$2@T +U#,i`HM#x@ ,~Qu7*d}:%4Gq.;/upГu<]HmW):s M⺞xJW_((ѐnJI# 7ѽ<5u*!J(TOjєH|Ejh,أ@IÄOYD%y/Ե8eM-k '$Qdt, PMQ+ ol ?~1$>0Ő3( ăǧzL#R[G<+$ʼn 3z8ZW?"NE5iRCF Ѿ1R(^4#䂽) qgMZ_@Vn-%QZVzS##.JqlɌ+z6H6 dlh ®IBSB-sҮFw4 5^P)b& } ӥ+K¹L}pN+ M-ti+5 ēi֒bB&U5 5'."PVua?hn WqʳNWh;oCi*TҮX#KUK%a!%O?tP-Q_bSjGf/|Bj R)"{$@T >WY9 ڊ;s}8,T5{VTFv'cJv`PQBwpEPe"ml=Ď;| 2( T_hBMR3wuP:)yPv\tLDSY xU X}%s^Q $<֩~%(EgKi!ނ1yby 3ɐkvk1?E"ד-460M%] fa˜H;^}G +͊ 92aRNi#VFds+&o#31w*6wA+m1) @Q>*gjbHWC2R%M]R"T _d x_;yB+ılPGJ:!eS I"S_Nݤ 8C :Mo!E>He;p4\h+I q018FK@P (oU}6$)Ȭ3{VR֥orrӋsN ֚ AdUkKno<z~7bvlD:PB C5)BxK"~x |!‡]kK00əfWd4Mhn*3897,q!q%^CSITFA_l3 Moy vzQK}@7PN%H<v%;?:mOS-Ttܘ2;K-mǕvS6/*8#ru-\\?j(`$X=\ra2<DYf.4,d!D(x܉Lv H F!/ojC0@lfzr՗Q~)BS>VRr|@ oˁyШԿ_)! i҄XdRy@\m,#1\$VJ k dT*&D-VR%+D:kB%Z9VI' ȣ 6st')-^敏2Z'fYzteg5wަ(]DkdYZ* Cq,}[$[z2逪Z#Y,tEe\n"%j ,W<μMRDXLԔis" +}m+Fԑ!QSńޕ4P$IAS!dps3tt&J aHu\nj_B:O. >I奪1  ^w`άj>rko .FXH\r3ka͒Fi{zB|B3Q*pEi%o ŪADϡ mL-]e4ӟs"TKq^I4d}XE!$I<|?9k U$h_n"P rƒ_kH%'sS4_G:2MebJweCT9ٸ Ok)KC%1)RK~,(ɡW&瓡T(Yꈡ"EO3-UR -v.Ei ڬ<"N~M-߻2 lڢ켽x[~rޘ5w?ng$h"7lE/=ga\29dp/2@#RHBȘ?LIV|lHW8U'ޤ5%Hn,@3{Qhal *^R,"B͘:t 3Zq~Ǽd?dzDqmnߥRkQdHXXIw$2ؐDHv7(h$9ǖF_YDJÊ/BJS]Cr4}HuI*aiϭ"Ȧ< GЮ:Y2$$(dͰqx#"ln/-TeDH 9bDxpMwlSo T0K\0|dU2[ Вp_^"ů"cT6)J9i_[$[ 9-O>0v٦м@EQB{-1 Rdԛ*I5./B#(LEqD6|uDDSHZTyz# 7F)CAq$N]v$t3ɓIawPqu1^phcf;tJ-k.f$>t̑]Y \[wtڥ3.DЈRl = /rUݖ/Y fxȁ8}&mCّgH d̩UcB{: kDq`Y=QT)=Lu;H}ϓ$_mM[P6(L0JWdtq2<F:wXՉS[ !yĥ2X6CZZct#FH 0v1)"†K1B\}Dž"LYLgt(&3-)5MIXxDBG.۬(2\3ǚ.(L/u$'MFR# "ZUu&*XTx3DH92@~-mRb^`*8LؒFdڏ^#2>^3Q<:a%qҎTd 5ˆ_L[tlB+&i.BgShiU׫?u]bs; @HƢlDE;sylE z031{WJ=,u(IH*BNsF..ҺeT*i(l=2nI-Qb HT9&.Cœsr#v‰gV)ec@ҧHTd ѓEЊFو`Po%ZoIM )bscӄf}ĽF㈤źx,i$9IXu &A&[5z|MlM>ts42@`uS2i}d OIFubyeUx]ᜳ&ZLjRuO]M)"cDM 5a':]ȦF,Z]h#)O= %c1ۖa1Ӊ^fպq@3X ,ǥ_q.H+wޘ46t}5FlB mb'alߞ["hTdRDjCPLP066]Ctt4HlpМs&H.ò qET{;}M3%k'aV _nTS2_TyNy8VθdRqwˉntNwW1٭B,}UI:[QXb.t!\C+Գ6f-\!'FdLLGr*sO[%8?3c 2kŞxJg" ]SK\vx?sX4 X"e/j'Oۧ{;6fRN^8jXUmFǤ% PϞ-+抵}Q/FgT'MnmG8pR3reS^2P8J%JM;+K-:4edVQ H_pɈɻV%%!$#;"p!c p:EΔ^Veҽߐ/"G)hvn=UkspgJ̴g 3qci a43R e8%=:@#qWPApoX~(ȥϑUoX/Sy p?q~x砄4Tp:1Rx<>I~NLH}a`I!NJbT(°\"p# 3"ǓZ!DC] !$"S4Wm{?%Z޸ KTHLRZ&$ lT~휀3U:#a;:'i;D -ӦvMWfb2͵T6SYVGx2d[ p೮DgevrJ¸B% C҂_nw5tzhz cH&J z}x$*d/;U{-g5# S]kk},z$JAϑ*,-2uG :w~?z(wJViefHTo,zܼ<ث[v,ZFծok?BzqFFHq:FW׏Q:L*z{kDn; q2'G/B*%(GHdk2畴U;Ny$)sg CiiyD`x{)+? WfB\U|dga~.;tdJŤi6 B="B][8F-.9Fd80R0x>=:. ̭$jl*Hb'O7d,k-%ӿ6SJf'Fl~(Reͦ-sWߋshJrURl|7kX_)m9W?VYcijԢ\vxgɛViTmJYd$_B=mXYxt9G[z)Yq6#q ęFov/Z[(+'E: 9B3kuir$4w`XMS$I! Ŵaa3jm+a*J;oz?E1 [23r1X Vwq6x.Չ\xFJ5bGx )~ZFvivg4 L3jF"ZS nϟ[ Ź$nRa 򩬾[硘be/"j)iy9/TQ/m1 DИ.*{E}rڬQBgNҤVF  EZӗe!W̍AɗTi, BJi7gl^g"T p]*+qA\eYe\Km&|1ob9k߲ 8PJhUXnQȎ>_ū74gRZ]-yDJmTw۝$ CUrE[\ؓ'U32OtO°}p6V&gPAFv5W"LĦjlR45𤺯8F5o_IFxu.i mZ⢧^LC*ۼl\I bSi?q#>Yt.'"Eɸq[+cb1|NݗYTc7%hΆe1p!ի+˴ԶU?Pg虋 UEA(Xoޞ-.=QڝMjL-cTkcqVJG@ZElHEi} !vq6#OY(Jɟ0MLSK45HOD# XZں-?D#T8IKrC,4C$RdȘ^/T)unz(`J1n k2TF}bݡxciIZ5pҨZC) ;,>P$_2΁IQz'+ \6OQ2N4jEF/kjb6snd]5ɒ,5븢ozW`R6(V%P%dnVg4cfjZȗWXI'l R:Z Wz=9~ծS͜j$ Ūj4zeG mKKO7-pZ*9q0]Y}U  .WaH!_OGC#q&Hys t*,2GRvEϠ~w WͫHOBii .b-LZTBp\z:bdK ZZ5;Je#6(6`XL $Y)YȈM$ t!ivOe!ȁliZP7F!|߷ı<:M|Bڴ>/OnզN$+0(+&lg!PԶDqV&h= { } :ƴ&oa >!%S^Ŋr_eHb80z_O Fd"keLb7ӗlOh>LLVIJKv1վfFnT bo_H]O!=+̲AhP\0N"vjfp~S(]x;vbimN"}Y$WU`@Ѕ .<EebQ^47ܐ_B/*.d#|{%܇’7AlE2hQB جzyl!2}x ++\֞ nhDD*HUZ8![S8wC]DFR7:3Q֌Vv޴+I!WYI[s A oK@fL ty>#Zb2k,[ÄbYQ)ӄB L[u@Һܖm"]I)L2 .n؈ d+G =DMB|y?WD "x@WlQP4jƜp@]n=j}"$>gʤv)tVR`̅W:XG{'CLT2ktJwe+kL{Nr|*T&CR\JDk̄f^\AU4?<"h eQ<';|[Zw&b S P%fjj!{Zm1a̤\;e58p_ ѽ  L+=(aဘ6 [́ f 4KEaaZ5|^:]v[MR,g #(*/T׾ +_Tv*:!BZDW{6?~:.g> "\{CEmgSv#}T.P(Lr#g%$,D6#RGZ7`!8*8>X~*O\Fg"4WVj[@y 2q`H%)=שg'Sg mrB#.>,e1fV\L#RƊ{S^lz+d=0$8yI <VIKWe}u˽/fׅ(B ˳jԄ-# `.6X]WsSXC=J&A*1WLFZڳVXۢชQT㴨!ZJr>8"H,:#R|'{حBY1^lZQW?rڦ\,d/RLM:~tUqv+0|bHʮRdB&R<עH~CES|00x0 -g+'@9h&V0 C5,t_8$۫s;!Ф!3g1T^pDp,An4=B!Z&BqwֻYǚ:URr~7=]?[Yl(!Wc;"A`IXa)) ~)4j T7Lcb*$nhD/&F)7`W'Fy6k@å6*/!F/R{db<".C@(p)@}5㿮+): L{Cq:Q"Pxpy[=SWi;~!rFw3Ü(?H+R(G!̊jjPHF@VL_5R [MzG?de+@#8TC`/]2 N8 {ٓ-aBZMDKm`3:ҢHǡin(C^nl!Z;Cn7IZgԼP1$ɣoXr): =q{ (l#%;e>( ?99KD~4?@jTKh.K*dILxyrԚ@gƮ {F`-prPp5e$Ϧ/L"Zι.ZuJاQ3LS js멮-s4wݲ>vt2R!sSň]3ѫוl"X1\KX OrH+2Qw/~ʤ{&WKYIo*ׂ#=sq,EZ2ƿtuUJxR$;O4:%8 .iTj_8N }aJq.ds3p:Gڝy|cS$X4z|SWQ(73u5:jR;VsJUJPfmB|B_Y I Y~6A5|tZh,ƪ6Dm<HT^([)o{^/CS)n9ӭ3u tMHuh3yhenR^d<"'؅!ɈɼR?,0mL6->ڗaO H"4> (Lj$>?oܲo L3~&}ԏ%s3OBUF-nC Kի'eR^DFJ=) ѣuʟfHNEMDT%Zx^aӯS䥌hH^*^ӄ%y̔E)hQr2r8y=Nn $6(n0O/Iukv\c[^ZC/M KࢂrTh/Ǫ4ŀ-@qa Gd7_]"r-![M{a>Qj ̟}$ӸJQOXe}H"&cGZ݂9Eu["h]nC9ի2?< 9y Lz}- eb&dHvxM'ŭK^Uco ϼ%Hč[3"4)uֲV R6' Pb*=+OiK0'Ax[R_bt.OĖZVbdVЛou-H%o6}iZ>GymhT6(9@X_?OKZTǵaj5 |0q޷HW24ClUc&EkB~kuY ƊC(A͊Xq )ΏM>8skAM0#AJs3F=h+҂Nӛoz؀M"y^D4LD_52-asP#Y ĝJ )+-m=}UM5 /N/ МY_C0д53=!)-|9 )g7tߐ}ON< Ayj>@wĵ<v̓~s+>fLKəO5k:F(BZL?2exn(ije^ KnE֓r*o4פ=SN]u*,X@c-"?apȗ$05q*jkt_ϊLwɺ/=ZզrR79"S9Q$V%=.VI*˝dwFtڄsݛ."SnjF)/%jtl<&1 iT8$EvVvSG-FC!uB减<{ 8>\k@5Ei+B&/iE(DhkWwE('{T939?Rf2@VjV:<-]&ئe9~ \q\ KRj&sm8ydH[]_>ez#(H8V- G%V[^5\le-bU5)pCLH7ՒN$_ȰSA,=nHҷ jWe!  [ u '? (/%$@ticDҞ6Gg"Qldt#k^ Ei_0( N?~*~1POnd '05jG, )՚[NM(%y+R/Kffqm 't=b#=^79ޤ背|ky!НˮQ8:d]PS=gGYILf]^{kHA `-=!Dܸ/L\kAA3Ёqasyl`qVN=l21ďG(-雱Ao:2ffЮ잍7MQxDSbRt]ܧcDГYkF_QGgDV 2ǭ%-p sAX?21-s2~"kB7Ucp^ccoZ9U 62)!^IXIo@Xd!UjMRC1$E؜ڀG2e>EB}2Aqɥ㑿b+WubHR"yر!M~ILx hѥ)˃C{ۙӿ+5l/ ~p<պ w# mQ6 ]vN]6͋w1;rR;??6܍ "ŠGd~hbvyTn24=(rP%j!$t#Gk4\qqCxHNQ55tlەams*7 2yC(=Q"kXڧrl4 )ko!q^ mnYESqAstHRȇ CҦ~]ɲ}ζJ3Vb֣S{l *PloMUX)OZl>?%7#, )~Ĭ%=:̭ɌiDݨ^D+>ϥ{Ty32c8zâ%C(uE:7 BǕ`U3WMRDe"İN3&̙$^JK;Dc%#{h1'hX݁>Vxic|n|W3^!4@7[!f O-f_at*!FT7¡e> yӁl꡸ 4`]aFp$bzM&e$tR(_#6j2Xnh 8$!{윣g-sy>Ϭe0غ|Vo>m v(YA:RXi8d|d7Yje߲߾Mwƚ} 5 @(5ƭdE#-3:~`(#<]<,۟Iaαp.tՆVU5.P%.ӄx} ܞLzP x@P(& +5⧙`W\Fa?$ȘЙ;Ot$̲•8 drKq[Zzy:%D.8kĜDvzK뗉'27翮el@|">U^]k\hU.tW4s"!U(1u??Pӭ64 {v_Nzyݪor%dLoQݻy's_&hdRsU|X!ɘ2Yehu]_: m"a3B{7+,J:LҮi = '58#V,.4deg y:~\؀ZV iw#:Ʀz[Bk 2SS޵h%XvX5J;n݋-jaqbY|_pGuiTzJ-BU+=+)S*DQr4 ?{s}\))l^qi]lp!-%ޤx'RAj&@Vև(QA{QjAs:T )! ʸZQY5Uv:J|>jQ[,-GW^ضY [ZVv=%&E8ŐSSmV IL\L^Yؼwuz7I,ӒE7pC3 =_zupkZ׊ lehCM>|I5؇&j%? %PFP$91'%4PJ@+O) "Er%'-&<1&B:m&hA EސX؛.rH!  nC+5Uނ჻GrA&̾=#@&{H$$i3k^|11JowάdT X6,:ez 4JC!v"5i>4NG3%@ȭ^PbB/l u-E R|ohfa?HUsr JAFAl-H !M賌GFo%׉BHX^#D=!%-:@]‚H4GF)sw*PJݟCtIS/׾JBA"4RPX>oq1.`E[ f4uKiUlC=<N3j42bK\Ycn=Xgw-Au=dFH6 ,{c] \)9$sd L޶TՏ8SXKpHq8\kd( Y?iî@HT`ˀ !If긂wMg,םaP_$T8֓i.Ut<? Fj^3E"FQszG?MeS϶_.yP$c2Sz׭v'+Jnڤ)ѣhdM(PR[KPk<3NRڀőT9-]W xkܘܤdSBPeBGWҊ:x*N.%'ʹM)c.'IMڝGL |еNbL^8F{rh~Wбz;xC/2s4ė"GȱPYBl'Fm =eI6fHϚVBMEdu=2j 0ܘ:J\ךWB,ڡ7a?r( 㬁ť*5#(Tk[O A&UCo ,U}$5u}'*gٱ zI(I'FWE[r:szE֞|zUUVȰSьER6 T^U PhX%o0x@B$ 1˥wIew`&WOK^@Jp4KQ&p9-"Mp ;~Iy8ҙL9/JNDMKOC:WZViM3H?#stY$w =fյZR.˜I H Z^hvS"?*Ed\.fnt}:pU:p:T@[_sfPȱ夗j='VzZdQߘsjm˨/""{eK}9PW,u 2vD~S-[SMDٶ^bvC<"ݵU=}V-wMZAޝy؜c q9xefk'$q/,Cgk&Fǹ܆תeTԵK,D)Ѯo$ym/3BH,óF+H咶{l*skPBi(( hBDh2K4x̕SURUjVm>NezT+_N:.SܱFBh>L`\1Bh7 9%㠭=^b щa@Oa* L#05q O]XߟnX8 3wTZ X7Y:eT"̓[Eo=2ϑBݥ6~VY24_L_ZTۑ1;֒=2wIKVA2O>88+YZS>¨G$Dpx.u_ىX&'vFÚەL䒂NuS$a rnE,X b{q]3if[; |{/)V[ȶ=l17v P9٨'OgK"|jfeoDrSnT= D8 V6AaE!$_DUDSDӍ@5L/ lQ/1Ifhi˜c+ /*\bņĻ`ܩMz@5ue (PAtKd׳ǍUAwS ~2FAzž~wљ\ZV3XZ Z~bI}˖ ф=#~FCؘ0:kM@3"տ\YA~ӠeS0!FjdclmG<05[ w&j ]*L4C4vdSMX@r2zD"2d+ cUQ%S%XmýS`R<ҽesʑ9 CH)C"A")!,vlǮڛHH>0ss&_ !! &2Z ԁd[/8!MߞEF_%'/`d NsrY;LYwLH舮Zh@`qlO!^+Ϟ%|d:}ɂC#cEjHW)Tնjb ֶB?nZjBCL9׬ta֦]Yr>/آt^.1 Ѯ aLk@L.i~Y95, @gHtʥ[;]72V0M)_z"A*'>]|m۶sX%-_wcUdVom+Ɨ.n%ZQmI`ڒVU~/Z;TL@2 "Np ||Xu-"I䜰Hvܝ<2pr5K_7ޑ3$*8/\f, Nߡ ^HՙW$A =͊fБ'65׎zpPw=mAC .璪 }aB^\Cǥdi˽\A_j~` '0|+ YW}v (4K̋ۓ uA[YT)I<(\ \FXx*=+46:HrSQ4DxG)ȗ2OVf<6Wh@>~,9!|/0Q\V0m9-PEJa0qb$@f#ΌaPѻ#TK_q((\fYbd"hdRƸHREͼ!SzbU5&+KUu1^ʙB~e+y CpH~*,N*&=YHwЏ\@{s7bԂX^RY4`DX..eYl&uOt)Q }8I=QkxtWLJ%Idf*BqnY)H}F֫*C'4{"v74ĚqSVQDDI3j-PX(2|{ogi\ f, =XBpL,I!^AxC\RCd_yP1f  Xn`CS?MaZطZ?O<|dhaNm͏JYӽ~*i3U/[ϒÌ!aL%n7/uP |'Pn 8Gf.@".:DFՑhj(2E]E^S%MΙ,iſ+MȰgDpڬ 6@4Q1xfnp:|,!A&'ݙF;' ʩL덛L0p !ShnK47ab( .\c&9Af@Ɗ#D\ ޼[%hý|]I0rm}I1c^+Yțu_B d`e{~oevR+Aw #^ >퍄pBwzJžr ;NnkG`o-a }tB(Y(n&G$+CM߬""Q|w;T˸!8آRs Ղ{>⾥%T}<J5z+ƔMJu 3#aVJV3C f28`R}US6_/[Biᾲxj6hoW:YvpA򬲒1ڈQ^ S-Zg*ON^sy,XsZ)!Mf%EƷL82^*6c,P#$ǁP$bD:yցP;nT]񮌣"Y۔%:j\$6^Cg`Y_=heTdwnhR9xTGzïڏG*6^=dTn/ iXFiVtqx"̀6 b IWF9fzߕF7<*)r$!e[UAYk{`l4Es]Pp+6BQ¯_ϑ܊eO~ols".fޛ^evW#E__FwG$M~ҋf}-eb̭)\#3g7F!ZtVnԔnJJZ+Konyn9-Ln3wpFoIi$!x}_sfm,$NFlH6,- ͩ!@5e,mP_OB H %Ī :d&:\x-X8 }o;`1_O@FK+hi?^{uO.4 c9}! D e;O%J7Ե ;%I +;/7IR%pJ>QDFL/_E B.T%fCI´y[il"rzUN[iPM;-Vhh`N$>A+YCrFq+U 0M^3}OUJ/TSڍɤ}SM G k)KWFJNhK=%T+Ȃ5Km0p 1p{ N$wr-$F]~chƋM̢Z+Ih £JBKgF$5Q ;x'S4ziaK~0ZEorKJ0+-,fw/FW.)L{FRHu|l{p\69e&BvH4_sA^!bT "A΂W3̈M4 \ ucMbplv7 /gZj(,:EϒzwP$\S VA1tNcN˒\6n4Е{ljjۦFv還MБ`HRtY$PԄHsM7૛`C9e'p-iL~@Tb!&(+*tq Nz (lr"e~BW23Y}*|$of8.Ca(jM췦ZOvmO>%IUɨ1|r:ye}Uj^ڥ%u܏SK\KPe:Lh$XMNDBt`|Q/$ b)xeC> V)rI.DE*"pEO-IDY4M MjI,VFuBI%> "JꅆF *7IY;ƌnJf[2$)^OFIB4x:Y*L8"i"6ЈwPCf%e%IS2L[FP8M%΍;c9|D^q$egy4.&yqS̚4LxeEC&>:5uu5D9nz*b#^eQW #@$@eNY*ΎyS< &,|ydN$6x]BnH6f(&]rWA@:4 M_q۞1D% &L\HGK9sʑ)N \ИfD Q!ij-% SHD p7*1P>,D$語B(xk\&I8!cb57&ĔВ2;t8 XEJ.@<,UQ#:8&'^ p GiC/F\ذDpNMTDOS*3-ڰW _J-k[%oxU-˟wQ)!F{7tN\ǭcX+`*d^1H.DD b8NU)EL/Ϸn5ʉy0φC5Z=P4*RȥB3WC-d5{EEҊC87g*%״bJDl X|%,V\;$\ ɭ}r=xӬoo/ݒ Nb@R&2h7ij`wtFcz$P J[vOcēpʯp>NfITJ@Wk:B?.̡ne%{٧vgK \ig1 βQ`~e䮮eԦiHW V7*BA51}(e,{B3.%ז[Gm! R_}k͡ ) |}Ib$*R/,!{MCRpo]4K\%#N߮ dvq%ܐBj;-'hGgw79_)j~1!Tu'>E(2-ӦZ=ijLU.곪rziw]V΅*Ջ[H*؋5>\Hc-Qaˑ=GBs&BG8 H(B<%UPc" 8p _Cf;"qw7Ťj תfڎSb#Gt~kWUrf7HiiKU+[u& _ C+r`v#.hZIzT[ć*a *{wCqܵlVG$$)l35qܵ'!]9*;Ŧ*.j&tyHyh fu4M=\՗W ysջ(8bĨ>U WdZ AzA^Bq@8B@A'&Mek}|2 SRq'RY$=EY+$p^|-TȫU)* oG\-f(bYoo'oiWB@A,|H0w<. Aۊ57:[2wζғOy= v2Q,YE7?a*qd  DCq蜅 $9hPG}.3A4A!O ^w޺q\$jOJ$= DB ^EGcR}}d%ܑ;#2m]LR`f֌RZ̑Grgw ӥhAO3o %WNz]b/irԞY8LlcP֚T=R^&ǂXKiDGTwSٮS54 DPKL͢Ozن4;D ją?WVd7yidnZFs2R)!k6;RAHj"+xHp Gjx3~>q4FAd6=1KQh;Eq)tb1QFmhfG-E+H9T#dzR4Ytsy(|(־my+Rٯ ֪CNav^ۋ@Jpqm h= .ڦ7&Mۮ" AB-I ,r Nwx Bp#\mb ac-1|-9WEp׀ $ee#XE&TaMuMJƎ˃bFTbEM "!$Px^eع-XyB _ʩyh))^jՕ^foVIJg,gqc+F.c< ?*_vk|=_嗩j%Ģld/kc+2_(JKװi4 "Kt$`eDpS?2DnQ*itQX$#/T",.ǂms!{jz߶8r-w\*CsSٌ;ըq1>#g8Q~cI={C;0EjkcSt$qYvNQstC$MG7V_P,'^P"ljːU+6y `Ҿ&( 0kʺ'&& Mu2)yzmp̤@$* ݯU)fy l"\AQњɤ6T- _$R.-Ẍ́ RD>^&Nt ;Z+tCHُl00-XⶂTK'0M2]IotCYH W)&ȦyHotּ5b@Vo{nVq1;AAg: iy^;EyHB1֚QDa;aq:NuB?֫62[n*4Y G߂5  x?)C! vsMUWpznKWzlJPM+fr0 VUUcG;jn BX(3 ,_f O(/9!QMhrG.^b'Q)m T9@PŰM2 vQ>8mԽB I lxMnwuʈ(fLkӞ͎2_A=SQyIs []!r\s ч3L&Ib-C%*$px QK6 RIAM+Ju߷?"imĥ*?NCh9 g0ehh [P\2S'qK);bmޕV$UyeHkᱹ]\QVY2WOAÃaB^ \q9Bt$<)3.plJWhB 1Ag; 'E4T+8&(y5XNW9;#A1])EDgCZb0cO߈ӄI\}W ᐟ/Q;Z8?{Sxn(T|[IN@ D8_lbgT; EXDdq(q}U\@ )< ҇5F?ZN"q蘤*&,$7;F;-)J%JBĺbf)LK8'GܙH;~++\jgDÝ!dKMqC9CO:)U>K; Nԕc)V_p@D7jyjwN,trgG_Eeb0Iڗ0-^$|EukS9͟#Re#i'>iDԁO7R=BP.©"/7-^$$β#<,TFb=^ϩlFVE uE2HeڟQdɵkL%6k6GlJHbT#)k'>;]lhh\A:þya+,i(8}UF }bMq @!2((mqⱜO.0}4kTkQ1sph!HNLk:r塱 4 gL0Rm3šI8f`NXnS0iZz_F̫Ճ,kWSct3Lc8Fm2(vi! Gpޟ9ĬZqLp~-e+f򵺲8I#Ε^񗚌q@*ټOD)R!/lJNY@ F!pl c ,ڈ L Z.#ǰA 1_Nt,u3c7TG Jj\Mcʉ$("_;=Ba@P5~@WK5ʏI}MPS߿%8sH:_H)3iɖQ8$ͅE 0yꢑB— S&]u $ݦ.UN1)֡bjr!5+ D5 $k[L9^OEH)B#6Է  yqֱK9u]y,LPȋ]9B/0Uvb0֝)P-m˩So%L Mk ЬhkKuJ o}5\}I,M Z,d b^6h+NdB{$%3` $Ul.3266{jı~gQtt,wu R4)uho~3EuHزk!戮`Mv`^jz6!U ت{ÑR#vuwI(^c ܦG $yWӔ*d1i?fQ >!r;[s CEpDY.B[K#Sۓtf!]0U 3W3k{MdduZO4MN>iqep}^g/ٻ'$ҺH\+f Ĩ4uSʢ1-VrLviO5{,s p7!(gr粉pq}@\Rd$֢aD*/NLBóWvw}ś4Ga/pW5eZۙ E#B?rI4UތhRW+iYw8)3N$^J !/2 \EWc#q;u)Wo? D[e)$,rtw2qv6hf~pzr*R@VY5UI5z~֣!9ʁ^>kbdaDYB uB.C.BR/PRxb崟19tSGXT[g;n (!M,ATr&yzOݫj\ Pt.;)djnJ{ ߳(Wpºwv-i-ܛRz -HW{9ªWNz;gJe㰬GJM <Y:2nbSl zZ>HimQZaEMGN$_ /#XXѓtBҼutu) ygT-RYO03i3{Ps8>o{B7[T,e?!U*b\TbF~M" zSbt$,)XLE0̼DtSG!|Dvq2 l1,vqT_( Lt뎍94/vB 0K-pMrg2TkՉU>aTm !\9ZN3h j";H))+H'faJ:P>h06V6L~O(9)nÂX"&)`~4hFG P|6N-h|ATO1hM F+0~AS: )QŖLyT?#ŋJ<}P$;MPg_\Jȳ&b.)Yd%O5X.\C^ݒʤj߫7,roZJlU9gwq0Ofxj.V}MAcTثRgf 0|+kɅɠ<5'wm^ | ffƄHCp :E Lbj7 KNn6B,H[BH6,iZ{fQkhM> K4eP $xBq1(T O.[wz_6uҵr1_ތMISSVţ n)9!*9` Z_0Rʝ J'5b*MM)p@D&:UЌg$l*IbiXuU!MGIdw'6qOx!D,]u^ Pjz[I/&՞q׀ Nꬓae+uYŹCrDNgvG'y⍄X٨sNS'Y~$m/{xG +ʋRpEYkU DBCɌPB(I/.36ڛZ-QI[Il(F-+}L԰h$b9E dZeO Ѫ`#@w9>KlY)m$S~TJ4ݢz ~\T!)iF/2#**e|/żb-H7rDRthނʐ&D22(~RA$"# }j2Յ WLp%KpkqaI:;ԋc0'Y rj˴:ft,lL8OJ/%n]BBý֕W )>XrOyOsttˆt\ަ=jLˮK! y!n:RUԓɹ2 (sN  'EZ{KoNKzTHC&Ǥܰ',A6!_$8%C5 aɨɿDەd Nћ)Mדx;z&j*;)P?Wp$@%J2iR_\n;(||R sL蔢p8LmeW4 ص#g^V`dv9戯A0N䃉x}Ck<2N|l^&*?֊ggՆEj歈C{ql Ik[?ՊEodz%G_oٮgS8|j.}:11O>YYn&p /K!(N*q=\ð}yh2@$|;/zgZϱ#Z9=Ul&a#`hvBY!^jXHߛsО[! NF޽5jK"@ wP p< yTrNPlkFJ-lXv-{tAL B;0CaU[;N; MjJ)"!1H5 ~ՅO`e::o}ɆɒG ,\,[h=UB\,fupjbi:QiqMyK)]4MlOV2q*v=S39j+<J'ngǺBGCBTc]' dq-+0+=a4ר%S™s5.T٪W.+hfW?][΢[ Q}6د~-v-Y(ry @L@t4YTQe[o؏-d= B/2KSܳ#d|qpӵ{1 _h&k>m+ؒ_΄XV_Dlew` HFF- 5 ]aeI=p{*Ru&F u%LBJ`+L4(;щ2oGWtȕBŸ9Qy \`@COsۛaQ[6:)wtnj]Eٕ"0OJY<;48̩a 'У W懡u4/B"tEL,v +!ZZ4VCӧ(֖qrn/2j 8,@DU%]9|V䄜QqX*\ ` ?QZy?|5KCG:&:dț:  %FT󩕦\#0lg\hB,JHRbK0VF'h76Hp d;R:8a FEP4 FFջ j'GiV7n@A޳1M1^U^cHN)#d(7?EOR}^˙qU{|:b"˰1Mh FDH"TlPȢQ_SU36H~RxLkBȋ&k)l$<Ĉx@ߐ8Jb @[8 U̹HY\AOunɰeXpG &3<7{LPY(M6F 4y#$Ik0"d𲨗Xh^#g;t7s{4h_k:sZ^1x:Q &i[Q&G5Ex)f 'F bB'D 먪~>AӪ9 H6+4D #qutBz⻵ HVȄ4DMTsigc,(QG#U:ƏSʠZ1d>xQ%nfiaƈ<6-%X6̎ C:9H ,8#W"@B`KJ=޵sϓ%8jFH_Q[RZg)$]7G4l>R.KVej2j< Ρq~0z@ - 9y|xzϲmRf4N$HauoKRVawAg$(W cxDȀ%h}6FډV($vH,#)xo$ gEfB|l"jFXF(js6k(,$L#yF gH,ƘoM=z'fVJ}<"e/jSJ_+8$e{%{Yp5L=,EdΧ;h@Eӹi*8d0Y#)TfcsV:2q]1=fŒ#16Mn鵄c_RN,`^ӿЄ*R = .J% ugmo"g 56Qy V*U i@!A}%My .ԬA  ǎ[aDnj#L\'x)'5xUnyIpT=DJ`1= `pi/ROZ2y6g؜u03RrTQq0P0"Vx*J& VQJ[VUdQ5To6_ѓŒv x#f}S!(Ze2ޒ Q~\( ýjC*jaI:W fXaRe 0a"@i$(wţf{Glȳ|ò~oppץ?ٙxX'RR;vmASGY&Yv8ASD)NRߧv0-ѲJSXg|b[ ?f#qY9' \E0+NFM!e΁QZ7BDORNe+-o:n%pj f>"*G۵[[de%:7{T(޲ġh"mP|/+fEklJ{!vƱ_Kq!!{&˾W+˳ pk u @r8xUp+Q6)CAC jtm h+MHMh4~{-='_;BHѰ>qSHgA8S*4*`-b-_A98Z~=pbI3|\f%T['DL!cʗDVCΫ3s1s=u&]xx$Q Eu:Ջ6]\O{E{7q.ω-G|KL\lߝ|Y}LZ*|4W -_d޺MUϛ](iGMW,8~[ֿT+%=b|$G'l?z̔i!RR5R<)2 Cq`豔&$p Y͠[qD%%s rPљ:rgv?Vr)߁ۥm#nN ;@D C%}ׇ"&Rٸ%nE KiiI8woYUVhNӧ_]´VsjNv?  -cEX9 y3hQt@1 7!bB2SȓI O"Q231nI-ㄱeG_' 4EZׁ71QX"pj0v?LKjh$-j}EuQ%X:^xcR,1] eB*NVW'WE&(aړWsV Wti) _ 9NkQ|{ z*wJFGo<e}+n}[w3K*I>toeuji#` R ȐJ1  pjrA r9Xdꎯn)^{>G2`4 !=0! ##_칪sU#8!2)Z6♥: M.9Gn\m'HmW"U*.#e-s ]GVζ$>RkHge0>UhՕKR"G[!Q")"!' adhq14S":|ϐJ̢%*C6⾢~4ŜĤfh` S CX°C95u(0pBRrã8[P6,!#g;͜w+{1䞅AdpElz"lhaQC`M&1]&f (E.*듔zMUvP ChD=hX Ԧ-ˬHj6abĻB(+ij~ qla[1z/ , & #Ot4`"$*+!"Ю[[@\Pl}S6Ft`ԳaKLoEtayd]1F 9&QѪUe?O,3/M>EkKlXi/%Jhf"&4‹qM6@l z "U&['XSATg.$~iYW8(y28=7 bCB+!=c u[ )#_X~4$;)1HYhLڅ%*RJ*Ec{PEꤿHT-7 D jfz0R4o yס%MbD't%jX_K6XoG/ PGTV6za͂"Em>4I3AN6-FGN-nEZIg^ڸQK M–U870XIz4|m6-|{;w& Dbtz0w ^)qD7%N~hO[ϋ" ,m(ᑇZ/ D3C+8ʒdx2Ϝ+6HC?YҜ,m)Rl?y/f3vJ8LkGDhh*[fV"0DfUM4"FS`L(J\ \VY9MRs$-hD{kWx[5`ؠzQoՂNXuISP m.#E\TK\3T٪7Dbf6YM#E*T60dڧ@ yND3ա"VE%%TJZrpL?E " K &:-*:)MGw&p:3$0o|EfIUncZlhMC[ZYYmPKՄ8L0tP#TʡCLrjp H٤PD։.cI4@v/95q9Z9,?ְokI7 M3F-nzKI 6٢hxGQA}EL6^~SCI9ۄ4q[ŷ)VW^ExHJX$NȨ[t?[JPkդEBvK/}uF=ZH^"Y:[΄j~}Q_BlpX\HeGjqJ/Z̲aO3GJY̦Iz)N%>PB l?*?Q ecJ 2|*3ӽYȹǕ_$eogrfRќL}ZV_HI!txDHL2|gc~' ^%@T\$ tPLb*ϠM"ij$E|4W$ $=|FOThMX}yEx˜J$dៅI7k*,c/Jʼn9d ąP0аd\TyK DžVPʈ]tvXxwA@t(&pZL_x肀< x3;43wovW̰7eݎ7*Ϲ'W9#̟m=燭6 è *A?YzFRe{Ę! Ay2aW{BܿF|"p!`a^ B4 IiH$ R_l?e$/9oWJ e)`pX)ELFOnl a낕ccΖ]dշz.q?+R4]y~d :|I7]ckZ&poyBcТfECK=!:h)_:꘽0:\"e9J]҄A׬nQiaDE[v_@@?YxaWҜ\vL^,Cބj$!8O1;!ݻQٛ:2F3oLofɈʀFD&Gh k`2 8ZHREC!ZbQE g(dJ^Z%E>@h'LL!;HHP;Ts+^ngH$Λ>P?ʱ%[d! ɻg.6<>56fx^ZW[]'Nm6e=f8ЪKn3LVw0EA*Z$/t2>4𙄏cah"Uxl~&M1%vYkIVI1kkTWoP.h^m1a0 $A](sOg;S91qtK/UEYv"3EO 46 An(Li9LP/'eb%˂lVr>mk<$ 3Gm +0ںV(] )B?H*$a>&J)hGL@k;8ؓ!r|^B嶦ϪoH;M;ćS5ow؄Wc ]0k8X)d墥u9Z?/G̀]t8lY=_]FΊnY$;# ̞KE@Wa[j~zk2QHU3^wI-(P%1=!hAϥa(֕R4lc ϡR/&;%-l=1wFw-,q6 ϓ>Qy+I/ec3~k5[rSNdg}5 demA#RueGcrra=}bD!ƮZXJ/1;HRqj/smC),?{}|J~1̉_Y7RZkoؐ-0WK.7e ]`#i߮mP#'4Cf,feD&;nȭz38il%/UZŖYQ$yd%(۵!Un% ~{Bi>dLS EP=%BD2EI9k:ieS0}wx=o se7N?nrP mZrdz0<,f 5D Ѓeb>T-/f],Vng/rו15VŠŔдv `r }m2erc n$?}"wiM@ىY$ʨ-Po<(X!#LG}ݝK)d[), XBF۠D#xބ;grF>#A.W ŗIQ% $RK[SS?JjXTBA)v渪DyYj%},8FCj\JMj[C TgGXUqi6ǩ[^wtVv6uȉa1 )G)?EdKH}.{i̳zw~^\MJ<OHJc+%f RF`3}E (z\)t; S-6ӨFm"*BS!1B*Zc@q+I(pEgbb+V1Cņe5cX?5ԵOu{slG-~ i蟗bkJFc+&tJ׍m%d%R ( ^s)"BJ'Tk8C4|M<>qǒd3a㤑zQ1'ܐc),tulDfV6uвo-ӁPNU¶wQaG$сTzLs%sPj_}tg{SHͳ{[PdxEC輀J9F<CJ(LRtBٞ_rUۨJH]NѯY:"WFJ(TFtRj5 ]=MÅc,T!,ו>9A_dj<"? CkH'lhy\ґ y<rJ.7RHS"FΧ#9Niqkq5O,8q:מֳ*~@Sm f<,FVȬ%)1eG/% /ײ@tl@Mcgb%lLDBTVE67Ҵ/8򜈈LrȐ…)Fw%ŅˋJVىkN a:Cc7 duJԜh$,.>B@͔Gզxrwʄ3^,0xkd1m-vF%)l rfO{_rY+Y)#ŀQ BJȶʔΩն2r9/T#"=(6PA\y=7IDzrfCٛ-VJ *WmxW]rbuDLGG ؎+]P8D O; lK`3A8P>h 1BĂYE?m QѫěiYsCei;&힊:=LICw/O0j"" &ChAĀAbCłgB2KFxW~GZ*eVf#iV,4HIt[Єv]F0!IoʭҏPakc7_~ftY1{"(։c1&lY Ps()DMR$G$%>Լht4| 2H('d e?/}"I9Y%'q^ȢEyP^(QgȤ8bF(?N/>zЕ~5bŽBٙQضSg*L,)2)|'Zfk S^fxVtN4*(9z(헇;"bMhkb-[7Ρ+Vu5B!FBX5;/%nc|u_UzǹGϢLsvB5NyDǃAK+J7D+3)} \mr­H4$|y؜M& (Is֨UȷV60U ʱ$OFIY",y~f  Mr> 9i: - u$&ԡqPq2X.t%6ZFPdjjn`I+<[P/$\IKUohƉ[O?װREfY~yĻbJ߃HE pOٖ+"LmFPqJkek_tRS5r\`/ M?QΊxKq EuÒ\¢Wlb&$/D0ǥL/v$w%~HUo^ Oxr"G-:hIMX[]TZ 7'< !t~p7vaVzkA|+kmM \#c%ʵJw(<\}Wj'A\2D&[jHCpp #f(pfZjHzNbwYgYYO't݊;_FCVZ%ȅ< iJb'(5'ߡث)9lTΣS"d버u+3k/^j'p(tULK`G۷ sgTjbBe#SvsɠОΘc% r}gFYar&Y 6eL#Eس4 W1Lbn%ɨB\E@o bb%[^*9BonxN|[¾DF+UfN,ek6 C-aH"`JYP UkA;:ƪhNښŌ59A n;LK?D k' (PEPfN@J>KyRܥ]r}_FR'˱#FtBƉe3"9Fv#qLK48]b¡RFPxޚ&TL0`˵Se3%bؐa ޤyM)0S#: Fq0ke i W<#RH8W#Tɻ#jO1@Wi"bCt8F&t-.Z2 iHH.pߤx2 K7!Bt. tv!^4zTH|򭩓ܛBdA}Jib{pM^~קAiVT*;1 v'Ihąfh9!ڕ*C1 z-fizEw DJVl5X`K/mGD GeVpqCXD&jTda@\dX : /F9Q%/LL "*E[YniK7^_l]N"69P5N¡(%9Zt;nZ*% pAؖ;LeB2bMٳU@ ,onbwtND/ԧ9ؚz4&̑f'u!+-FMRCme`ĆQWoCv:38y]= 7v6^v$[]B JϩzʵN̋TƾRWq˻cj9Q6+)&LzR* q>R-@=%(gw*dBQ EK;vOLu@y[#!EoRHtrMJQ`'[&MdMУً&< k3!T1`I*@42Zz=*e$aNkYgbr)YPKcQDZSw>RuA.Wl/z,(4Tkf)M)^HtO/@'0М܃Us($fQP6+Q/68%XT˛WegЮr?.rHPA *Mu`T !୻WQШ@ 3bɏZY1O1K  %q_=; gr=$3jaN2&Z?Z;jr-J֐P |&Ι-> I$/iݘ]EO-ޑd^mo%v|uX_Bދvvح/PIpv&l~y*h кjZ)MLCXѻh3BJnk4-,'إRݴwNgp#+By- XNgM Q\Hܩ,,YtHz;gyrA–`hFz: Ʒ݀C j1:6eu tyq1vgDmK` #ݗf$lwQc튋_vuf6$^+4| "J7f_֊S[]5lӦm}k(fELktPV!85) `i|Do.pcBײ4gY `"A+N'xPBoCaJӖ@f|Jn \1 !lm8тNF^hZYAj]tLBMV', F `aļv.(@A1{'-$3k\rDL,Pdt"É`Tr-VxbԎB)1V, ɈʁFo?KJ?AdܩXRx@pL{sT2l 17nYrb/Lk8&hvQҪDž ;JmY\ѯb䴏kABиD9+D6>k|_f3֞}хķDXUق{r)v뾕Kq4 A Itٌn/!DZѓ bpaJ4 >ñE0"VQ$cE^G*N8$  D),&!C11\J`0>y(8$2i Q'7ӜEXp^h2.Zx.R")՚$2ȭnVHkŏ5SP=bKPeDn&?0Rn݊[ d"YdF V<'Vjmآ2vh1CMn.ἵ'<ʰHW렡ϭ<2 T.f9h;JK bJؖbdSLSqh- 9 7sQ%Qf_6E5XB)x5j}(u<&3p\˱^kVZ$q5$W^hӅh]ukbvMe(o/a'Ae/7|?N6Y&.I O}OZ{HBZ\Xܸu?2jʓh1iB%527I=,!Hh*пdN"12'5/6tON#4Y>,p*2,-|u1R> cfv@%@My■hKz⤩h8ODMKZM? 9`N(V+33Zx5=7 5/ZS઎XrLѪe'b)RJ#DV2qlleTfAL% s׿ rQ" -Xl*4a-(m[ HEO",ʌTn.̸N!e ʕdn]y;ϿsP#wZɲvb[ӜH3k.ݕ zQb2jij\D'Òv:ld7D`Х!SûT⸰ѻjżMA)li0(KL6ɘ4*\E Z$b\|lITR=1҆lXJi?QV&Ko񔕞J*I22-ְ0r|+H%{1,s)1c5;;w=`U>SFؐh?℻>G;X)߽Eq,g+Z!5-*mB Ş:A.ږWpBl$xX(Ku@kvMP,%JRآP-D,16  EPz7ȡ^'=Fŵ*Okz˳cU/R",׎V*\!;h͋,}ޕauw2LUYLȒd3 7VXʔINZ&Bc4ܙ%>Dא{"7%[Z9!XaJ#A#Oc"l{vkHKI"AWk0VB셨w A +eJb s 5?e+-esWXOwhnhy_!MoYLPEb;Q4FtoJ~p&nSaa1d (bF) Q)6b1'1"B$єh^#K'!_f.u أij|u|ׂZ=E:iL rT)ᄹ؈XvzM z\kJFw+h&ŵ:zV̼ΗkK7гq,fsBfwHnr_Vry<.ͲIT`l1\5TNL{D(;#| ؚϩ$ !<*is &me{ #5 \^{:|y*9ZqBhԚ{KSiY5_% %b($oT|?E#1>Rp8`oKI^ݳ*cMsNG.'K&i=E zlU!̀F;zpDe O6 ̦0_ Ti𠶝}CWc4d)1S&:3"RV;TV/k^^Ζ&Zygd>4ҫ`a(5 ^ImEHE;l} .%$;:uQ,FxD!8PHb+1[HȄU}V:#eHzj,6bor}aGiʘ(/?Ax@Éɧ.+RwPl/גB aٻK6d BP[IboJݻJTQZ-m"=LОQH`{Ր<://)BCX謪M9ɠ(3 -(y" KuF@ K+끰m+R5^Q戮F*&!oPܼHkp~OGss!btzx ^2@-lJ T%1%\Y \98h!Xz,ViUk]ziiI4aB1pCH!2㭹h N \<Q3Yc&H$]l#PŀTr ~( Hz@ndf$F권 輌afEww/kl̓H * Dpϱ*u[L*gxbփg%>jB38>E.Иd]aF"E8',̓RPإɊJEd␈R9*_5oHET!l¥" B<%2Še!A؈ĥffQLB܅1OQ;^F~rCBXdc,Е4ZfqQ\fe!ֲJ +8 |# É'؀|ZF,@&Lɗ3pNt 월Ak@ps7HB.2zWH@ƳkZH=|[',% ظ؊Ȥ.m+%DJG4:JQ DDdډL#B##)tbP K+dXBü d S'MJC2v)gu4Mكk+Y&HBvt)΋^>z|]N;HS@]@^ I4DƧjy =UڕlpԅY.rmaPrL~2neb+*7ЖA˖U"xd4`$ÏY6 XNS?Ma+kC5SC jNNfLIR~81\xJ#oT%4IHf2ÔUA5 qdH*K?2٨czzD̨PHBz|k)Y:ᣑ*RR3K5B@Oom9Yڈw G#La=Fgd` YF2`V~fK$-vI"!ۺV=/e)ʣ ҖS =_3aa2SF6ج^=b8O \G(YLlN 0kaB">"7V!9'(7Jғd2E!([HUxrU|qS*XHӲ+#;&C~N-"3$!opFekp<`Wse2/6AMJ ?X1>|V@C1!WMrU[NL1;vqʅF WH|nGE+HP. @ċAO߸HoXio>~5+)aeꘐ82-|Q{]P +FHqRXˍ5 ILag^I`%_ű^ |8 <ٱ̐p"GF6W{t;H8jon+h]*(T2R ׊F\V܈FX"2I˜xrZ}֫kfĄ8*'^$~<mvG$ -;!6m160Πd3,-K;8S) .Lh{c&*9Vî! FX\wqbXTz<b}brRA5Hb/̄'dB I")iUHoS! 0 - @,S(X/B6qS!3ӌP^FLSnDV-+G+o I-B1w"$u4cn>9DR:k7ڵ5k Wb#W7Gɦd PM=(O@;`%F~Obx__7IMm{ 7J82%tndsyٱ]a& 9hmmxڙ+DKCҹ>n9 fH/ 8v C3`Q=BV9f~FEchAxE!ڹtr0U[:owbYޡʮQEtm*PL6$ b OԻ&"SiAFc݄PO w"4jNt6tPg[S 9|o*8d#`x-@n8x|C֊|&*SEʼ۩"fB*Rjك>O w!{m2b6ĤI}~ӊp[D\8 $jH$4[!$KYeEL5X`ə&& Q Ukn}=VHo61Ne/*_ڪ)q DĈq `K /'H,B\H%|v-Q#FF8A 6*f:IJXz` "q9DfiBk;Im';m 4H"T^Sp:Z­iPֻ-w!R^VdG(9.ʅ| vIGHq5y0e:߮d*#мU# q톓'5:߁w&R,hJ)0_Lzy!i#S'}:[B9TC3 j`'c6@) aF>$@946*Yog?aۺu5FHۇ:< 4X 4&ٕUɱBK `*T<` ?bwJJnJCQJ ߹6Bԍh{*(L27YblWr[oȞ9G·H%9ׁ(yDAȂ( w9D8&?Oa*1Lzl_/1 'F(O6 rPȚ`ɼ:V;ڄ*(hRBHr paEsXV($SCZUIpy :'xh| bv6 ȳHQAFL‚s"PK[K#P`x֜L*P@}vc#,UV Ezx\h7PQ$EC)KWߜ$ZU-a-c&uhgt:%=P 5ZZ BJfcoWnZ<Qe?DtLFA[0UJR2X_4G4* +7HPy14nd &ݺ$G3NN=g'ÛU[EDnwM6"1<=TYaDXNqK4F,W6!(,sPڽiJ/Nyn7(%:Qޏġr %IZ7 `H/ԧi!S@ѽҲ$ZZQpwYg6µ椏ExR`\D RHB>Ѵ.N%Cp}.VlȤ-Ԧ&f4Hg}D#%.+Lt`R=?vBy6"Ey I }2#5g` o͔ú%A5TK1Cj *?2i +(nl+g(v(PDGL-LX^NƪN?naBïvyf%k]VѧMM*h ɪPYtiR7kԨ"(tPI+"4U縅C1XE5Ca>}=NWMKRhج6y24v' 4qؠ)|MWR$Իdd.~#w*CٕBJHLVl~ Sk(*,PҞ =ѨMX`73!)Kk$jݮ8 &?~bfDj8"Ruc'0G"Dž Ex.z#|n~v4!K~ X+۹BV2R}cz> s>") !c7FZ>^ٸV`D߲6_{Oí]w7=$BҲR%sFv Y` 7z7֛SR5v2aH곜zL½9DtΨ Bz 2ٽhM4%&u ~dDl_4HH#xv J:NQЙDbzosB頧 jկfp Rws;꟎C0% Tm'G žE5f[0?/eLx,N( v^Y}"5v ('YNR/VtSC,ڽ˙hV{U$ЋxF#uPa oC THzwX`r<Wz$Kq}ݍK"iBfZ#QAuW&KEՉزcՖLDU_Y19ZriS(.Hຕ'CCb? [Yo \q;kDKY&-iZ`T\q oI"d9/&![ bZpfdƆJ-)v.d7¢%)aN2&c*%G|0򋲉2/f:1HK7\ǑRҘZ ow@7 ^Lu#5[\GL64]&2! &8ݭQllBbtj0PF4~IHaPq:aH,8 Bđ(hD܈&v2z:I/2 Vb6-DR|S~<8p0*[ȻOx!c&Ř\;SԿ0V\F>Q8RgEkҕY*G9w'Ï/(Z1 W&#I8&u'#Mua1\!=qG*K^3$ s0jRbj [pOLΡ]-t|uϖ{ƃU[ѵ˜Uh e3 gy0ں3+Sۅ pV[}ʎ0$nY;2#=ZSW2FŋYVcƚs漣U%醘՘62*p i6 r# |ȵx~2(ijMmYᬔS hZ3ljj-C'WG<Y[ V3&6GSaF,p4>1D(o k"cV-\'x"K駌7Uiao4NPNLZ v1#rLPFIc|G7R7 .@JPɅEcX" u%bUwU~5ԅ",5gWu&d|6lb0Vd#օu PK @D=&6Sj ZT"ČU&2K9C`PF~vDŏجJPLe%VT!ZΓH+D0ߥ&[ߛ|XJ "NOR7: ʖ?MU/kȳ-%g.i{jipx%h>-wANFzw:k;HBfeK﯉U6LA*&4"Q'mڐ Ѷ;3M J h/IJO@+7jhaX714yiH2{%,4GD6V F:.FfA#uIzLpS[ 2Id97tR E F]N3VhjzVVd\pbOx>T>#s2Otg+Br̈́IRg1LkZ㌋ĤߠCs'a)c"ؐ/b~rgญB#HLk!4!'y?Ln*rL6(ARm躴g@Ƙ^iȚc$S† H}BiٕA%BNj`$=EYeR,$B8$S6c`RsZǧDP _ƱrR҆9! x uxQ+43h*"TGqgg]=a2.B:i5Su+.hlZ =;$Q#2+Ѓ++Z3~s]ZOhq-*._. [9]yF6w{m>rN( S+I/X1m[fo¤pyQgšWy,~Y"|OAckZVIEl՗iزVeD,d$(_$ T40tlb\/0x%XvuxT,"[ DO]湧 QBo4q׺KG;SA:R ?} cMg$KUQi\Ek6[t7J,-)΄t'fʜ/'Ɉ/Uz\.t׍FX")&;J&dgCPW#T+ l#$OڕQ&p[#LBhuBxc$`!=}Y.C/Qbft} ,[~a>EHdRDTSNWS vtl۸4%UmW Ն H&J]:"бP4輄 J= ˜dDdYɟ;QujQi7Ă&)n9YA˸)7ľw=g5Ph)\ s!$@je22LoBBI2u瀹ī@0%Qp8P8Je,ni%D֗ 1M$6@ 4Ul^xF6%\LɊZ~"LϢkR ) ʖ^LQԯobC{ iV!]VM"+!_+wN5R8aܳ!?K}f) Ž&T){D̐^8e*ۢ/c5I$h?r1$:"kqq.Cp ՜9PP 7 i7 M D?(KF}'ճ5.zT.`Wr$=qGhp*|79TStv<杛UJb˪2ŗ$Yc21g#CP%J 3X< G@I-W|sV??}A8 'I3·e~=%D A S߹BњبUm:=u'kB$t"_0J^ڬ f@X Ќ-VZAصX lWAxDd'ݯ̘- zi@r 4=V(vFo5Qp*X@?*iu>kz}~QU1HgBҡH%E?)J>-%.v34: 1<鯲/ s1D+=6#b @RR$aРdɋ`M4 L9gN$o>$e,NeMjWq89UQ 5B 8 [ 9xR]g.? ܨ*m2**:>zbfs-H9|LΧFA/ Z2eehJ~'tb <#mO;bIP5Je[ZDOamGo)hc?g^G.I[=kǓWr! ]^SRozTV#K? RlXA:9Zjݠ#k'&:u_z5D/R8m#.\feL'LU[q* >-UtVP !X $` @pz!$0 jpl\2dыuI8JCHZN@VtC91$lq<>t?הץ 1*L,UgMO̪IkjCB(+@%=~eJwI,SAy8t/ƹr/' &?p -Oz:i$UN:^*\UɳV0Hhz^/ 5BBFMd)lI))BXLS@'+"VO,eo/-:}.s P/Ld弗;ށjj0C ;HPM~L| Q7D0_qxz F=ͮ0Bá?ɈʃJG64TD4m O ^^ |MG\/0##CL;$ n!T*Yg6M;:6Y븒\6QmaS|0f[ԢA2 6&y_MԦ JqNp.mlTB5\IVd'HnVA@,1p&PxD^RήXW[S1&"2%0 HEԦJ[ hs\; ̩ ^"L0&\̈l xXZPjRQ6'vPpT"1P [@yC!"Sck)4ʸWN$7R|}A66R,)G2̦3+n"sM+l)5`C9Ǫw8 aR'ű9[=%k,A $b,\N %NC!+Xk*#lbI&/fHvm ,inU цUqbI .~WIyPqcӥ+[/+xeDsvJ6y\A x !D_|X-"(wi>5iEϭo6BX^%AxW&.JӌN~6pW2l9A}2J2 ݖ۶iWPE! b]4>˱ nZ#ʴ?~5$uE S#XCDȔ@!BÇ,fHԘ1K1$Q^6`P P53r@z:tSW'#B),nt:mZ{W?W Xp^'$yDw?RKSQ熁H,'"eGKq΀WϡJy'XB✼XtaVy6~XxkM{5=7JY{6L3!ܱm)k\P;mSuک\hD8+FW@$~C%J !<dp{IXE / a7 =xZL[ aJV e'-.-e"L3=)T.?DR+aAJ>zZ_wOcsGrX(n`Ut&a FkEba/Fa8!TU ˌB$n*k"i@|,sE51E\&B¡e[! dv^-lI=F~AԀ)B NZޯ{3K)Fr|`\Љ:bTk˿kc8q7yַ )Ԏ–VgZ}R딷ɼu:VguqؗJǟhGQz8'Ȓ>gccy8=~׽v 6 Ew?VT%_WF|/-cnKC3 @IR$cEF6Ӯx4Ev+Bz2~ Lb|diIͽ 7c) `"OWofĨW{>QDk&2i`YESnC&ޤ DF3)pdfJZ`KKI͜  S?M$A]l*. +BzByҔ4k}~GɒEH,4IUώ.4dF UNy5ZU}Zf7`hȯhRq5 .!/,AyM[{"G%$3w- ;>MjR66ب LHX} ŗۜZO3M\Xu$o0#L/!g2"L&B(2R[ X05)B:69|J8zS\}.&5V~VȅȜ29Nٕ87sЎoe1IꃗlR,J7m^VvN. 0v,.O R*:(G ]8`i!,ECMI;"Bv%+TX9JTٴfjimEEUXFQqBk@BH'FhQ> l/p `bLO}^VoXT.`GL#dRW-%u$ -)dF16+)X i#sEAx7L_[G5Si^y K2҂Q{1gBYeOYc67ȷmE8p| pRH)Rʆ#11qdQ@&]g:לoCcqP UîD  U ~3*O 7 ՜B*8Dt+i3q 5 ?Zpf3T'^M":8OMK)Jc%؈w`}Kjr߲;ge:z\>ۤ4xT$(]SLSz&"~a X s "zuQ yAW< r\;~iLqXJ zxJsvD:P-XpmA,[7$XK7CjM1orѐ6`ZD}9O!Av-_Uh J8I˛#CW]zDVV&+dDH{I*W*Wv )R!A,@D3?]¸FfCNBKRn7{0UEX_ڑe1ۢ|F;C{EIѺ]_]oI-a::Ӷ{҄펰t+ɁAT6hHd(E$n+J>Ttk,S N0t3Kgn"s2V P5\L.D.f-#L#1 TJR<SqF +Bϥy7r'@`ҥj[$ǰW4MO|dl5*w-U:dk^Eoӹdƅ*>j# 1ƪ%ζҿ*w]"3dYX {?9rh,j:UY-vTgw&c;0VBtњ+FʽΔ#KK’OV3S5sGc'Iܜ$$i  U>Lָ1='*W@W:`!w=+yfDKQk!&}|X`yݎU#M (u֞n)n:H6MbPS'S]3C `3ddź[V7Ǻp4 HqdՄYw"/E0NR#xf#JI V?BK5$2%Yf{Xd)*n|Ŋ߼D8^xDa|`~zl 4IKB>"IBUxddQ<+g=4f#G{t ¤SSb zZl9*Fц $m}wOmc}"V<3⡘&̨Oex +r;J]+F*a~=, j lE5( JPÁQG'H^oQPUGbHf*_XAŮ23NuDP&荣 "D xd*tw֢lV}T$6E$.k%.Y @$eUda?[u1@f8"b $u%*YLHWm'ahצD Hb>%5NMB'ТΣ̚/F}$Y;dJW@:W7қ2ZH>լ 쪑Y7ocV63>rvJm}4}& r^:-IJ+ %H=<Zs$$]#CUWX>ӳːlP%mO3N)gOhWc.~wdlrUxd-*/PࢰqSVEoنa|aEyn]IVP$ZuaNWhrR>CIY ߊU?(eJB/"\ ֬D.Y}c{'tO1b7K6!QCHy#6Xe>)r+vۈ7⤌Z7"A))G!GF >4$4Rt-%q$?s=p)fa5eMz]BoEE2~ʗ cLTѧjKRloV*Q%$B@HwFqƠ5gl:J(U:q!G3@Be,]::#(FCSG҆bٖ˩J.?7ɖh`B/ uq|Ɔ3dfa:baCy"=gU[ad(ؒ.& n&RPR9dٴ.=s=Qh!|Ƶ:)kX DuXbN-!Y cW01u"lue0L-ȑr;7s=BvX;]KY+*, J*tCq߻f!(1V1Zj>35Z tEom7[:nmjOj\}4$ Ο-y"%KT!pz\rL+( Q;*ͮrIj©$ n.\ D;g EFrrܠ4& S7c@ &yMvY[";Ғa_븺oNٿrgU-m_J?ƫYmk/HHb/@!~r;c []kģ!Hݞi:Ua@,P/PkRh bhO ֚A-ETՒԔ2 R-aS5}3%\߳3 AܸfhOG>)IdՈ|6\6bPe=]GNk%bm+:4-I=uDIQfgȿq.s|U?rPk[0J2<:bD*1ܸW8kJ$s6кS0%nf$9_.|c$8ݒhp?TUTu[ڵGdd\ XܚDŽ(Y=ud$. YJ۲GzJ^tXtF>\u7@jIF=fDЦ *X8jkN@"w݅")^G4`gOhAn0rz:DFO W?:z JAmxz꧔Zs2!*Ÿ O#NL[Ôn^{;w.W9Uֽ[;P ]STCYg!ϻ?lFVfϊȼ! !UuVvP%tq >{+ 6q1^:aW{e^W3oL6;ѣrIF'ScP$怸vX,#IEeߘT"!ETIDt@IdBM<~L+}'&HGCV,Y"jXlp|R.xmLU (ȀEU%pPe&!g(UNFG>E~N.3ps6\1/{ԘR|#aڄ L?t=59b2^vpN/tE("{ʺH׸bK֋zludOEL$=.s ůɸ%)m%Dv2%>eiydm.7K)T9{\6_9/ȦD~OSdwY{-3IVGmaLdwM%Bpz{8t,JM3Y-ÌuYcn;.&}x6m[C}z}'sTNX7L=H^٦(42zqx ?ՑOqBle<5})ͧͶb37tx+ wPW ^ Ѓ&#`B,'Di6rduA^}jDn.Ն4u^7Q3?RBv;1H+ݥ2+m)car3123?VNb/,r9F5%*m"ϔJ!H"+_(w5YMIY+؈/|<qV07QidDJ޷Gph Z1繾٭jNPǦ aYn\7."J:^Ӧ)H1 2WA3 CNBs:n B9tMKYA+HUranԨxe|Uo6Pf=ϻ!k"(ЅeNEwHn|!6FO sm#GECCo5TŠ X 4A/#eﺌ"'FA;.s \G.#ۤ>'E*d $V$"L n^.3}on"2B &2X\f5Uoo3= P;Z{b4TG yXdrF)K!B7x% ]_?c?<)55Xs\%aqk $ݥzQ !,t}7W钹kDGarny8.JA2B9\*QU.Y*0wO ^)v%kFHUT5)/ۉ]׹H2nB$yZkh> EeQ#qޢ|CW! |v@PRFnꋃ\6w _u5#QJҖ1nz00'73 "w1ӨH>,)[ .'DJ6_m-2rl-nZxa0&P#ttK{r& i TU+*މr^*v0M7}S?Jı?aBeܡ-[xT[+PΚla0B׽EΤٖ@1B}ZR_ʪP!Yta3e>g|hevPOf1^:eUzbWVUbEndzl:Y,2:(|e]ikwQZ+ˤRydZGaw 9*V@$mNފi5=`9ǙRI&CN,ټ#̋'fyx0 8s&_chdN &-z: K|.;ISkl`~-ߎBe+Z㶊vDsQ(lT!|'mYII7YOm 2OȰmI7 YRtt9a XEP"qH [N%*=doʹѯ^,*ީQQ6|>4CgVukSTAl̴nBbI lv#bPSvt3%6{z֧[&6Y|n7(hW`_NIgމEBxI:Zޠ-LM|WBl~I٪N ֯-]d$j? JknRΥ7)?$Ɉʄ3K])PDkcE5KG>]BF 8G8\JbEd_ [%.{>eJuļv%Py0C%ŽwL%2QiI9oJ'$!7#Ro:X95R ׊P@ѳw,.C_ ti(rjClh2q ({Ofm[5=WPatQI:*aT˱t "qP ,eznV'iCzYv!|,UFMqP4%7?«,/Ņ(`j br+8.Բ4`#LBzץ*}e{VrpI}^ bA+shBN L.{8܂e8Kޱx[KM$a>3MYhbe"ik \'zƮ#AiDpǵL{'ݽ0=L1 A9MeML73NP.OZG"#MQyXLǸŮf <|mé}@ @ms^\$Y~bqO (o~\B+}!P0Cհ_6'miU#`UEīS"ap(\yLb2B-tPeb9d<$E "l?LLsdz!r#@Ud~'BN MjߝﮝR9a"wCDӸẎ 0ל3ew䕩u>8 jg04]6!ن.nZXD7qU1* aj5KK.NNUռ[$3|)qiPu>IuA@Lq!^ afqNM#j|ٰ5s咽Jf)i IDZ"Z ['*\dq I Zꄔ#a~P`uAsJSX!>M̄oELo)ZZԯC+>{?/I d4aVL`'&)S ;"MGҖ)J@BS󂼝n_5 qGz S`K&7%8DRCXMlCj2WbܲZXʺ tp #/e?sboݲMvV&[arŇ:CGL^3Ao\R#0SQ~ e:ԬE, .x6'2} $I:$/cyQ͠teBjX~E>V*MCKѷ˯(F|H.2 W"`Md DjE+Ejnjfvxr_fk/ ..m*Mgb }e"j\*vnFPIj"#3)S+^X2T)!Uj"Zcqm~2[d+IFħ iUjqɔv0G- 8.xvP %1<Ւ`p!!~3TQYP460zܼ5IF<0isgE~x/H^WtΕ7]f^% p-b)Zv3 us4֨رd%z;P0]}}IckCHxlBDcP_Z^iA<X_]8WxrvL-ZcLzU ,]0X)ҵ~M:b>| Zm9({+S"S>W*z\f>NU؍ cnZ%e..i+T`'VdeX8.J[˨ Er,>\:5C1ՖnƂwEWK?B,>W Ji-g^A) )}h)|$>t ϧwRr-!ԫ?xoM8NyFQF\AigM-ֱnrv)൦r#EDIh58S|W☢\pq<,UrѡܑYKW SibZo)2g6TH *?։蜞o2萶lE݌c 9Ƒ{2!GH6ti hX ӞlBf+V $gCw&v[ &`VK&N /{WB;'MgZUgAEZDs+UMFD̥#.x([H >RwR|q T˻&X}7f#j8P \ eE_2NŽ0)}La+v7BV73Wq%56m99e4j,]GqX% j5I9/ԓZS:d5P3[)q܁BkQ[TҎelP뫳S99;px/kq+Bc^pB0HCjۏ]v:$ۇT;奠7bF$wq2[AD}DjJJk+W6wJiyv+Q  zQ?F-2=%:0Tt  @# XNhW (N(&%s2EdOұuECA ɵ 3TlUXHn'<$ETW 5CK#hS++}Pۚ' -D:2om"TG 葱 =0*HMjI4* 4@_{[t^u=V:MӬ}YS25\r 3m*Wg쁛yQyzu.Fe".aϋb;-17Q; mpb@UIQÿzBKT3)Ak ܈ b |H"(過b2hdSZj~2#s[so%',X@#ia8,K$N8NtR+K2OOnTt)(wcL@n9AuiOMb<WT;cwGRֈ)DfB,7B,faH<'rV=\u(i({Y,SQ'yۣ"_ Exj&s\),KYB=yвDVJRjS7m-W4 Ou偍7ZGl [9KL'ĵD!rwB%ʐVMq& ^ /*] ߷[/+*[%;5cH)g%"ԜČ)y)\`&fᖽ xՙTmRRDM/ Vk uɜl ($n K5W| !DDZMdJ M6^n#|x= A9kqz#h?=?»z_TK 17Z=Ol, xmVm~`aE¯?/ %P'مB: "3  (`~fYbI:*roBH .I]-hw[j.D2Or#Gn@yKh<"kGְх.dDa@ ގW^"nZhN G,Le%; k--M/h(2hXf,,YE3@Pw{-u D`-r|8nl"Vw /\f9+=]DG)tdBJ0#(a _A .MQsJ٘``H=)[URiBv#YkV>;+čip)]lHo\KDGu7IcT 5ˋb v$I  ܰYAA2dEhB۷$](7~:V_Z?BғV{ ;L3JsvNqR]3I~"-/qYN{ !Fx@!ȴq>rlO|#{GlN򍕵hb [ÌeSZ&25xR7Igdn&B>gq* ˦* Уe"ȃU1^wy f//D 2QN⭋#.Es ۰9Վ*¦b{9Efu"6K y,fE;@jqE- J"& #+Agi#]arPmcSF(]:$&CtOGuLAOȍ5hV S|hhea{&IϚ0}04@=[kʨVF24'pf0!QxgK(AR%]XG"hW(p 7a!3]?ГI_gnXUD~Plr,G6'AEEaVR6 lC1(L e˷uF2 GO/5"Ȣꂣ$'{4MlBs1lPt!*Pl.@T?jII %esO؎pOWO29ͨn˥G)tQC0dpWq~cky4^|p 6`O-yN+rF.e`timjm!LVl v ":+ff G4RVj;#o"X|iGO OT$dQ ~J0N]牝4}+EljnfEDj~8vVJ~9J|ۄv$ ʙT7ɶ鮾zЕsKSLY88'ۄaS 7ܑϔw )/53k,# Li'kjKiTDg|`,^ZVH0ҡ8fx!+gںpx#B^>70}V$a }0$]4DHHT,"g&0 M>'dž|MPa*bg'2sׄE b+xMj5y Kf%/ +oL_j240\,*KQiSk |$eۥ9>lhM04wb1plH)꽉CG+IRdM!U{d8r2o8UHUTi2Rpǃuv5 'ĿȰTQMԭT P(,HDkx"8l= LlA Hq )TK8& &t`v!lb7EJ݆, 8dTdžYQNg."SNQ0DPEdJZ.W8\,tR]Sha > M-~(R>U4 Ed~#/8eoW)obyɕ`@쟑 oDϘN&anYR<;=eO"*sNn1JIɈʅFC #`&%0?% i&"9F?lt0[d ޘ3RRkؘ}B̅7tV2x~O䢍A2!ŌS)HG+ ul!<u:PNUN59qᰑJhȋ|D[tS@ 40BRwM&:"AT":]3Z@"߆ n-ré`"6Ӓ _9*1 [6VpovGT]On|drGrC]5!w ]1ͷI.A&aYdlyEIDB_;ߕiM 6CbzP59"i֭B)M798C젓լJF &8gNR\R2Me]/+FuJHbE8m6(zl3%~Z7Az{"fvbM(EILZ =@AP3v yAio(|/K"1]boV$źq++^$"7&߳(' ˪kiJuGT9BUfoSr50-}+?H0q,<"m't^b]!BNeMXNÌs3̂E뇸*/$8%l*/Z .#FJ8"p`N 'kn{VE,RIyH U}]Ll4lx@R!Iy]lj )!{)3ppkR̅rmɚ[ cՊBrbͬ턿 U@n?GN( 6ܙƨZ!i9v]8=׆ ^iУ}aQE /F5ZC1W"6 mLD\rvK}%I*ǼiNxCSiՐ>Xqdi>7pTOa@4;+B)x&C:XG<)#NndTEH"h7sfzb&`V/^IJ^$kv[6z$#_>x)ȍ\G-L\B1~סO{,2=*DV z_)bYh,,uTEJ_XApSS1ȔlR7o>1pXG2hڊ ; ~*SF|iV Ot0gOV|[?RlĭmN6w{ k3"֓*T03ɺM/+2}GYE3irD/"j60HB-Q "=%r7&rz !즃p x@ 7Ba8/zL/oċ E#Fs=HaF__ڵ2'sFf)Z Ph=&SRKAj_g6-u5Bt(z 2arBn0)ħw IOw5hozb"4d]?MSmcWh("9WH^$:6')\$mJ,)!CIFrmOy\9?Dv[?2)dUzj2 J5&Gޡ]E?b̍XEp1\4@P<3hњR j,e &Q/E9( K&XO}LV,^})J1E*=Ơ|)$ȴ')=N|UҀ;ri9xq"뚡)7PcLGK|A2_Hc=C3 TO/F'QiJt qǂt  e%{ǫP$Lmf 6׊G0EG[y(q*3M8KT}T1ǹ TJs5zc)q T+dd3N#H;N&JZTGnFCԧAp+j V uFΤ!8 *p*HZ]M2hR:Z&^DCRY쿚3dM jeCbq|31ѮT)! DGpҴD5amBS)W‡M5 TQiiK\993uܼ1E,CGΙQM"؍x+cldrBw% 4Ĝi1HBGv:ffVr)u D(7@7)"{n%G`jU>?)W״Nٕ[cGl˥z(,k1jE][-W%թӨL>Pk(\yQ}%4* NХXzΤbSIbCX6Vp?|mUN+ "^cY84_Me._}p*`gp9HUh%I@r5!L]1+k.VnUL Ż91 &*ub`"h9/.[?֬/3C #At)]x UI,YWp6AEM~ eKɭc>dJF_c,)?o; 6YYႉQ"Fi˷8xWz%fDXހJؾ'+djkc8R D) 6yYO^7ex]MK+'kZ1M b(Fh! ޷ћR(iS͡f1QA0oMS(ߚ>/})wk-T#ce\;;8~,+y%l3f܂kѲ85\XXQX^c@$*,̾WRf*_L:/wⰨ Κ"3Ȩ6XLNCrQhD͂۠ * 0V*'Tl옜C[|BL5/ٜ*?UҾ!J.,dvKMVtjGb!K_đZf7p:lq]Ld Y3kJ7n3s"H' 'IˢOcmoCaH-2Q0`qfȃ ԞayB:-,zLncvrVO;g]Ք$< S9PT" N *sQi$!r 0RMn/" (E1L܈֥l_e—c>-4y,o'=5FZd>d>P `ؿ3"/m 2q3vĊR 1+S}x>810$RfkLЎE)޼R~`QjvLBߨCceżA>g؄! kLs L-ʽE1oT'eDzDTu85CC<ղtj?AT1@'vCB=ߡ Ay~p]:r2]GdsS<ԉ1yN*=_%wCvKvJG4J3}HꋕHe[A4urQZ2 k,eԥGK'Yz^,$]' v->5$qQȗaYߴ-@; tP&j2JNh~)ǧh D6_Â^DNkhi+'/m.oV|-=L4ī7QyOYި}LDE%lq*BgPKWM9hal[BPa?YkDAޢRORG=?OXYJ U-{o~U;}`*wKݕ~4mڄ.L݌5jU~XJws,SԩIYKs+Tz$! Jxj~hVe.!W9! Wu$[Uz'ZAz҅)rbrSW^0Z>{ˋJ$nbIHH5f0_=PXIiJ)ug#"n@Z2&DL Y{F#"ȟ3;v,ɝ,"7 '|F`p0}5@mE13mYɷ!::"5ZE^OǵLɱ GV[&}kIu gcc򭐤n+QpJ*^1_Q7]u#:35/"*9/2ɩ0 jW } /sH+j$ Hϲg;= ЀQ#^3MkFnij4;h5NRvZSA߆pB'tݳ0j|]A,PuaLU"k;%_T\_%10rlVL㜊5X!2݊wL@ETC XtvvM,\ 1-ݠygMv ˂ncnaDh|3>3ܛgKDvh$e#Y(pCoh6*(KFoUf Jjv'nZ;nݲkc2ȭՔ"o%0P=x8TQC+I>rW} \Fo>W>vHDQ3!3VhE}7I69w _v9"KOU]6% Q>&Bҡi}a2[>Q}%a2*dFVt~)?yɪaؕ[wn$ 4e(1Jɳ⨯&jk'`)KDƜ.&H" K||pIrBtNN*۪{P3Q ::g] M\ A '2SRC|RzւV 1ڴ}^KwOT(zyDˤ&}bڊcuӜGGm^ؘȭ՚dmxIH} TVR΍4O|史]Rq*b+*U(Вj%^4-/ -ܷRP$i^fm$FAD8_ZƿIO a[gCq BbANa[hKbQ G5'|)!(PWqq2 qj*%,@ǎ(~b<&~E!TNJD T,7N"I0#Xn.d0hBy,غuldeT!H"tqhXU &g jHP`:cؓ" @`(7%-;Bj& RQTЦ35u_?(HCfVL b#"bmw:W aKp꿓.£Vcv#Ab s?NׯsPc*qٚ2#R7n:ϊlB{b2arm vwn]_a:Kwƫ ;W.c_Z@R "e{ XNfS|tW;y dO'zuaw_Asqb6TFmIA#xjz4$Yl9;;#^m"`P3r2%imyc;vNКb7{#e0ʮS"-¼(TNb2x i/IV,Im"J_Kµ'܆6ɈʆPiUôV͌}g P*U,t&h>R.["D|209dL E,X{ AP/k*1KQ{ k4Qچ&SVHuJ*v8\&ϹzI49)V4YZU~69J0T"b~zo-W:8^W~XR>x~vqg?I 6߈F".#.`+a#fcm)JcРQo5nϭVZi:9=Vg,|8@S9VHCVeR1)) F!z'Aǹn`BBX(yVԀtMFqs_$pR[N+i(m+fPU!BEYϭECq9`lf㡻1qL`ES, @“KeE7e[r44Lv n`lʊp@Ƞ.5Mo\>0. \r?NIm9 Fc+TH:w~k"\uC/朵4d'$F"ZcƗEhpkj)1V$T6/Bdԯ4kr|muYb=+El0z$4pдtx$3tzn%-_21<+ J:4˦i |bbfK(R54An"Gbvo) u/KvEBK58Rl!೷&qM2`8\R(5CKLx]LjCrPhG&I{ad.t(.;;t5 ѯ 5Be K@+'Ce+\T5?FޭŜk b?0_Bnf\*siv@n7Eă!gUՏ ?ds]p!@(ezk5i~DZ%t(/;]bWtAm A0[WǺd\|eÊ%nz Aq N1ϯLKyX/F0Y=z?1YZ6?E2T.2"sC8ф1VvXmR /tݾE3_]1.hIs9S V?QRY6׶">PI025O &4zAi3;}^-yv-UlcBYFyL]^:/9|ÿv{@GMі]XR -WRf&hPm.x^Tf J<ScGIȨN:-z6,Og̗͢(E&䎐 طiBԎFPR0h5jל }(eݮ+椱ed(NCKؽB\bIu=-h,`ReUyH"ƉVnSӉJrbG_ V:u̍Bku ֓PPҋuҷ>B&9zf MDq@Ɲ{,Q`+h!4er*)g)H4_ؘٔiSm]| 0>dgՐnuɄ+f S H3hU3^fP&ulȗkphL|LPI\}2ob}Q$!KR_^ VbFm. 쯅%F%Mt[CsK |^QUz/N)>b_ "$--%.1~2<"^F eYz:bXkaEdWdozWO}4 <2*ooeRY-;t,&(K9y]-BB?^Zx@yQ֕7PdjBQY𯐇[>*Еػ?_>9<͏{g`a"$ƞŁ *ݙpD ꤊNweiԂ]`L#= !5_wZg8#uб\a9E/}\iMYQLK19/:ZZTJV#( A@J!l ՅܸGNՕX-K_@V CztCV DD\\\P`+ ۫.JdҚ CѰi58p&޻R0ΌjZA)˯vGqn##/V2+e~(~/'$UDIrTBE͖KTD;X'5ը bbVrt_$5T7ƄReY HeTZeLIB}FǶ4$fi:.fī} (ΩKLr]DKp`ΠJJ5%,K-5Cj2Y^=7᱾StSY~Ew=|%˞q#gf]qmR$$1\zF6jf`BXVJJ Bm[ !Caj]20 \fiU{`oz/y;WzcUz9舕-&U@X NsEvcHح-bԊ~QAF0o)?YG~bN$ŰF צ':ŅTn4b#a>)+^*uo=LF41I=E '5$ⵉaReY62"DXu؀ dGWNxYm!ȗ/Ǥp3`AaոUȷw&A`՟J/Q!d<? cʘ̿iFfă0UlgwnxE8LBkrx@V018~Oo0zJFz)&b= ~F{Cɓ9)dGo \덲'T@o]-E[H M`R!:S4QGԷQjZg'XE.O`v2BtS(deC0K:Lv}s&T6S%j")zŒ1;b4 aT{JPcQQ#JE*H 7c]v[0"1fbQ~o+cRǁw%L+uv'3*;"p6Z+Wy2!،Rp Aןz~ʏzRezVRjNpV"o~NR5IZh5UPWY+`gQWfDi=0KS1~VkVׄK:Z\Om)Vץj^ft97A5>vVY.a*Di2ap %*80=.tl쨱Bm>f'TAQs(A*#P|$D̽Drš𡂶QfB97PAҢec߲E ėzr|rG:.4!+j/¶J25Ź!XR&S(QTτ5#!3"jyJ, ~81#VH'&Q/R堘ZE4w/z dV^O\3 I~N.I5UʄiD$-I9SyT}/X^gፄ~i 0#v^D^m3ZPͲO!9\L%ӍNuRV$82F$`8h=eZHP;R7aQ*_]?+!3lbW3EĖ(v ʥ qv_1*0Jeh$xiVpY]G1[Rx)dSjV]39V~D4bMJ{I yJBmq rM#c_3÷?;he_7 !jne4$xV$8b6 :[="Ոb6r2;`*C XzQ#׆x~G)K<~LQ lXZԼ4U[EfDĢi"xJ@1~i2 BIǷwjT {夏p* ttW!{|#ҟa2* /'U$Zz4'K%iHpTg:W$-񩩐1z`c/9'lY-GtIYQTj?5j/WaaTMji' e,(reЉ4\+CnD= N^ 2X =r5XYDIF~1VV)jVaUCP=9,&e\'jUz&H䰅Q:hSīLCBC=HoˣShgKz6}Yz/g~5fioO[OBT[82+v$Bi/5-m%#DkP_Si"Y,veߑt)# 3@KE'x$Hb>jx÷uDɈʇNZzn޴2*ݻ _zq * 6=\M̯d*R'"~#"(= J5b~LYG,TTDD $eԊnΠ~Әi 2J̔WwTIuՕOE8 j a48`(%A /̢ҍ@NGį VQTU)ʬ**MRYsy,گkZ:pXZܻq,iZxO(>tq Qd(h]/UX%KoRM]+H,E s;ss.U 5#]cC^Qtt 8Ь+ͯ. )~X}|J- iX:FKzfbVg%x7BR'9q&mH4jW^C[O__ugڥJ^suyȃ" a(ju~"_( _=~dw/uoVpnr4$_>OQy*R-R@3GBL"t91Bs$~ʵ _zZAXy%K$"/l=ҏ΃sd^X8chqOlݦNY%N1" z&D#q0ʒd j ~R rfJT5b`U$X/ECoɚpZe[Cfִ0h:l.,r -~G@10cERlA4_;B_ 'l( $DB:XȢtQ;E"qA+Q\fvB67F^2[ IPW3)i/BTjH p24G؝}yOವk\ϯ ;2hG%vӲ<9 a]jg=C1Q8FT#DqYWjYB6ۉkJR5Glk)„e8cI#;"׮sș4iH=KH"C! ,y +z؈!ōN܄8Z\ ŵif' }VmuJiEb'J"Bת 3Vezzыz>pAzOZ|k 8ŌK~DYԙϭI( A^91!;-ruY],'7 2(a(! T׏@,n- 1X0[!!16V| e9H,MaMD?Юta@J ,B)5iBVv2)=G*1i} cHV \8SYhUnVL؁ =;XYUJ`^W_ L-J0keg^$~E]U56Ni+X3r5\]p~4.&*De#DڢOD9q2T*dnBd/ҹc_wrL#>;k4EXp^J<'%^=(u8\]U B4zPg21sMtdV!m/!Cգ"iجʨ`."y0 }rp$#9Yٱ:pׂk$In 3Lwt 'b&Ġ^8)se1ݑ ق,^\۲"0F:\#H)A{*OOt]I1 )MAS~Gs =)Q{t9~N̸r(L!>5~j?y4^KDks %! - |4P QF W$}JAZ8 Z S'֗O:GIW= V4췃̑Cxpʋ!db3~ 3 J ~dap#ZI5=b[8@z(Ef8DYp[ǖE V?ʞ퟈)(k&Cr]K1њf2@b#sscew"F!Ȼ5jkdv/c'>,_2C*iȿimS(!rN(ЦGbB^H >&g:P.:4f{f ;J /C%Ʒ' V9.e$0dPˣ`3^Jy5:'&UMZ:♇9rJz#rbTse+'z#DF5cTf6[lfo^$aY] cr,Jjs V30X"w99}(ÏNRW^ D T璢bw4PdJR|@@=qz7 d?[^&2Pjk!t!TC 9)%KhZīɯ 7Ě~Y߫p(VL-Kp lx6P ؗ梱rx~@haEµM@H=yʼnM?~D13%`ȹPHv2~ġLҝ)TbHg vCpe^-Yomww Yfuc;j?) g&"T>FrD2%E:l_D /s_GtG IČyVaB_5F8if11bphwOyS/e+ɝXd8/F[YT_9#S&+5Vj8cJ*kT[@ݐS E=4r$MKD)LҸHX&TnR.„[ozkRpT^wosGvh3q"m-BSm+6I^% ?nFd\WјbDQK8bE`Uzcݪ2fW¦)I;zvfn}KMh SXNM/+Q9IPv9 l}A_ٗɊ}VǾN&d?؅W4_b+%-&ޣ ^9kPOcw>.킌s$5rƈM03Wp[AKUIi}óҨk.kvŗU TKЛ;yQP @ ʮՕD~F#xخ#[ߴ`@ϑFm|&U5幨I"0eyGmV[M;)HO*, {|,5Q^rޢ  um1a-XcbA\UdKNxC ߆fyX9XwA u7E #I:kɓ`[ZZvhqW&k3"{X+(;@GbTFEYqtriCR=&AӞ#`2bй(24, :1u'V`cH`fSU9cyixgށ1c6/ OYxD.%S_v{g_r!oo(sc 䪴qwv&B"ư$Ɂwݥ+2>\1vlK,u"87o^|x;z5NV Dy72ہͲ %y 7bF^S$Pbj>7*+3>BdD|P^;A90>DI erd'"31'VR#XOu4-O o{<l1r+Ƀ4k֞ҵ4pN;HYޡ.)wO[`= حYz\撴G`iqTD*Ƶ (ͩb?rToʣ;}YzN 72*-E1<܍$ /\dNj $B ׫C{[\b팎\oi^a9U)jo@\)L!,g*4.A;l-K:J.( ڬD}Ek!83Y.@vp=&/Ū%v{Ez鬞`wb )DV$;pw`%(ɲiCMx21=/{@eYR؎P [1rsY#C.Tx%V$vyRf7tLK<5R%FeFEƧ HFLy) knCXhsԳZEqilni#k;Roi+d}єI.LJ+G Ydo]k3OD_W‰$:$ P4X-`)wpVLAŵo'BS\7M($"М:GB)G955%&pɪc iYVHPf>h !*b̜ :v׹ *NeeU)0=aHFM-$p^ fjYg*qRQUѻr0|+G4G0@h D3<APs61OA.s1k0nnBPL@8-Tl`˚yf)ȚS}yyOMUO}YiE4i$d]3vpuE—U0 G3Z] ttr_Ҥ;aSlK̵ eej*"B척"+RO"j:f?q(30S< ; QHFƃї×gE3a%"1olqcf83FǴH8 *CzF2Gr l] \/t?v cHXF2ɩ+qOt{d&+cy7z@L b+w rcl\s4G2=67set 1o% =B޵UuO 鼺HjF] EE@@9Y0=+a J""7jk{ꍴT 4"C v,&gi7U5e 3I*8WAw\i~l²4G =&سK$fssp$,LXNP! ~hď$M'́B5NEzdKjbAZ"z9,i]6ǻڋ#DR7X\8& m)Sl-Fu|\e6ǫ$9V~u ZP4Y |jԊ#bQ"/J@>+~S3K <Ę8L<ݴ5 .':ADsz+}#[f=m#Y4"iЊNWyA$f9`ep1%ѻ!P~jC h[rZ4'D,fM].qe*!Y^+qSC|'|j1PZFEr Zί8)\ռL @^_r"euΏm<1gPqp{;g SŘFV,ޝKwb7gE~US㿖KT*Wz9x!zSE_Lv#č[$T?2COubŗ|#SiXS/*Y5;:8~]k^RU(*3CS6#v@bc0B8̮-\߱tOB&@(A) $D`@2c i"Z6*=˃YQ?m<kmOL@pa97=٘@072թ/tr_Ic|][&kg2CЃe_nh#6 ΣWV().crz菥8$Eڰy :֮}cr'$b-c!Zwc*r(Y$dkr!&egW`zndt/wqEwiuj1;(J›п#L}Q!Ղz)k!g*KOb%@stO%sՂHiwn-Kc@(3+PhBARtI1U4i!ktay94Ƭ$+Iʾ}=E [$uD6~L{鸐DGbϾ)nzhmyAD !XP]O"  \ATĿ򆴇aѷq>Go4wBlq;3.i/\fAtSsSPA\AJ]KU:*ͨϖ f.tLn5pbCN*2w}]w˝Z2ޒRrUYOV!.s+[/Bt~k8&$9kX+Kݞn0sm; LYFG]tFT.# gۥ S#>D@/I^Rh{W;t;jPtV&8?PU}doHtT|!8,{1Y^V9А|8v7ۖUy5z7[ЈF0WqHxAĔQĂ#&%XZ0VێmH?}H`JEXK3xT~x>nD{%IDF@!u]VEO^#=L)J̀K' qj+1Q%t #i1Xz[eu]M-0dĈxfʛ6L eDhL,&FD=ؚHGFk+mufAн}f Zzw@FW0nl¦U~'26dH{jTtO^\-NmOM]Ấ3ɵ{HRBLb{?[qem{N ԤJH ._ڇ}/?6!TbA8m0>:WE)q+5>u+.XذcIE C;9n6u/VtLE:8PHCIH*za+ALhJiTwdB.BK]ɮ:>#2IYY~򤦒com4a EDb 4TZ"BCK*yUNvbuv,Ts<^Y3eeBy}(IyuV"ؓR ]W$_D4*Dc aR|O-+V)P.dܳBӎ K%7*;'$%䑉셺O[+Z D462?LTBB_Oq AF:!~Mҕe'sAME˜\č9Rl("QL^5dpyF4qn򅉫Yp Kz~Xl':<֌[*lϠJ @jtяՋ肐0LPƐl[}VDۙPAL"-dMU{>2B Ȕ*(hZ'{NsϥKAj^?ue513P]92W_.+6~3ƒCWRB@1SpKV(0Mt._Φ#FIVdOֲ!Cj$PwuSJ'UqREx0r T 揚5A#n"ReidJ%XL0b`2 'BTDxbk!Y9Uӯ0f$~$*$`2$uT^󪦤WL1VqVwTx̔J?*2O%|⚨TpTiĩ̤7C!aFH %"Jf$qry ܢ*3"ɬ F ;K0@_ (vs{%bV(p~B_WHܫVZG /MύS"o_7u[KՈ%B1(/U^x,VYnj4d`kڃɣ"FTO3:lpj*rsQ$"$hBFC9 iXYׄ4,XiY&j]h'ewIIxe\gBh⩘+9V@'"i*zP;o N$.EQ"npkJ L-gۣ˟j]yva6-I\]-yNKK!\'x+n9U2UnWQ~Rd"iA-W3r%]2ķyV!\VUɮ]B->8 >"҅ǐ&o/{M\#g2];JDdؠ |hhߴts5S3bGMcٶj}kV"BL%LMpϖ&UJ yMpufqňŅPBUR*_ m'V.2p ?־9nJR sGP X99Cf3ç'iA8ԍ/ >LcQr (RsJYJUl]Au<@ 8 k$' 9&sqI]ApآM%rpB$: y਀ ,sM*%Lj٫A*',$YT~aH%ۅQ[DEX!5@ƋB[x?GU?ͣyRr]qH;LSڣDqD,3Lv+BJWC.+6-RHL3pnS_yIN2EenA# .c㌊ToUP¹&sƈ¦8w4!nZלB [N3Z"z{; Ԗ|ᶓfdS: }{$e6/,&9k4Bb$آˆ 90e`@x P"@ 5,?K:hJlU hx5ڄA $124^{zuO+6ܙ/ ھ4ҏD9'to U% o jۉ&]Ύ\/|:'2Fh?{ov9{x->t0r'Xʐ6{N}9ɼ~.$m^˺yRk4D>l&S[>dTH]zq&a7/q1;dUXmANJ!V 0l3H~g"YX6XBOUjέ -ohd07:t$/z\x) r y8'3apXWBNmRE)|mJ@NlZ!lCM4Y^"1aekohd%YxXR>n`e~&DVqmǀ2X-yq#X@!cYf8,< EDҾ m(+[H4LJWA̮` wЃCM0"n:m$ZM2‰|X:͵Ls֣U;R#ŏLSG`Hʎ 焺]m ؁~_M"(ыTOi!b_W‹׾p,Td/ARH+eG,qK G ԷľF\>È. Xk"[QI] } 0-*$ 2iRSH5-$* KTD# ɉEJ`!høDi*@8il*x 4ȭCMq{MReffI*lPXD9صK$, E p,T5еS,=lB!yz. K5Eo=}-{ԐE .#dZ_ŵHw%EnKh ջW,c\v]Li PMp} i+/хu8Qx'I]IligʒFYXP/> D@\ -̝4S\ӵ1O.1~5H{J'l. /2Wnp@N!x4jt$DsoQKTwl%}{Ao^T(C d1!S$Av4'uko֟QE,E]}D:cVI]_%תq34'3~"f7v-zDPG򙡫6e16z6Uߴ'Rb?0Ӕ&I04+:I[JVLS{(౬@xFI_`F嚹-A2]geW : =I9˭oҰQBsRD400:Ƣ#-w|r3:#:v%5bqϛjB*6HYf<Ӱf: ΀P-W6ZD>~Z5Yή_msĕN+d_'%(PC OgP@JȸnZ?54ir|rjvNzjѓQub3$[#3gL/yȩ|!V= `NB \>"+BwJ -ʼnVX j9ښw1ɒfpΏB7,Z񘓷 O[hR"LQۗS H< Woff_:<%єvK!DVd4PtܕU:I)-Y+ߘkڮULRjSX%ӀWg;{Q<âQ:9CuFt\x6X*@L& `1QWX6hHhuF2(p&9;0HK-kF}곣ZNgs:wPx{TGԴ*ƻ?hSb{ZϊV 񠨾Dڭ-ԯ aM)"$!lj7r`fiCS#/̉{y9h ?^딂i}V*}n9Y˳%ġ_LGXBZ }\P&\$*J}+_JRV ^_ZqϫU])!eF,Dqo`M!Ӵ '_|  jO ˢ) Yy'C#l\d{;)t _iVR>cY?d3q );ӥ-r3.ZYf죬G3TNM"_=h0hO"T3\!dUFRQN iЌo"b5vka owfa($'@BO RX%jJ'!Xi.i]񌍹4Yܧw~S҂˵g^[otDS(- s{ZƷ[Ck>B21VSȋK#>Sm@xXnОBd_UH/n#n+]=˒{7/4[‚Kd)c])ij[8Γ@ϰ]I}qˣMb)){WqnryKMF-IcE_Pe{ /(/\CEh?nR7Ƿ|P;-C̝dd4QS.+d,2-2}tb2R]~J8$7$I[) ]d7Wmꡣg}ﱸ,;ٙ;j>RO%t2N<]k-⣯7(d=YjN~Mz@l!(&|_u׍r=4kޛ {)%(Oyk J kM V&4F+6.?X6GOuvu6 ޴l Kk$j~k]A% Mxs ɉpݵjJgoBz^UZ Gl-@!jLKrji%j@B\G%pJ7YQxăJ/M E=@Ftѷ%[3GgWM"&^&*ZrБ}xQO`WI}fF b~4;Gzv~zEO!0%vQk[ÃfN~! [uNJDz!AQ'ɪf9є^X#)Ȱ: NrrT.!~i6OȐ$&2߄s:Dץlx n/IZBarLJ概\n!\: @E!аH܄le&2A6>9%lĒ}ŒRφ' =4}őj:%UR!k~cLRvn8]}VͺźS/h@ʁ]յ;$:gq?U"?I eRwM 8+O*&‘FA`_U2*^/qFֶ/JfC*ag27c3ax~;/p2LPc5/J6P"Z]!!BF ;*'9ޮXk漞7;QJ^) Q3ԋN%89Pk"#^{3ACq c7P-BZih@'w<c|/<o4g.6?mu)Ӷ(/JոY d 8Y %que#`u `$?S0!xǩ߇M-M皗{_uiJ/H΋E z8bӅ9ӈ<jh;w V$f 6Y"$Á.z$̓28UDň aRJB7e, BiW1d<$8v.a1OB 6RLH\\'&׉g:+ZM{zgW7|?$/&O;$6ؗJm*iRY~+WAKI]Rc߳jU1/t̩ni7Ȋnd$8v(ܨ_ѰuYăAEaȊ5u`LD]pN%2}稫 ]g =#jBuƂ.҆E,yt2ֈE$,+SR(4/ ]t|5A>-4jhxwlQƟ'-51li>I"VHvB~![Ȧpm ԱKfMuMu".'KdacmP$~0QBrBD21&r(k3S")i=%LsLJ֓ xK٩f%uWb {ޠzt9?<ōȋb羪u$2GyqӭZʘ)KM)=*j|iI@/ "!SyʒOZf.x)+>=I?",;1W- jrW PtZ(^sT*?:^+7E)9:DbyYދDU|N_d5*޸a-㐎,uglż * c/uz rungQȃ5,  ;k^ʁvUEv0^>ZEDBA j*2 /h.wmL"JxXg8Bī!M$+F8Dkl&VOtkEiJЖnIl ͼlb+&$'4!E%k^Ɩ<ΈXt1ðKdˡh#uMDzZrXcDJUn(I{PQV=-*PoT<;rki[ǵ8w"iվR;B4BkSk,heBiTqaYS~ 1$lS3Q9䫕4R_2mѲWFg (J"GgŁ)UeϲKnQfb¡ LёL-Z:QV_ b@LvXvL߫Eȑ .l'JI/MOnA;,+^!EV+Q[FEeODh'{Ok>I>!=Z"ddZNѡ@"mT$e%3Mׂdb% ~ Ŋ9%B9i 6!0]ݤZ)_yZ_BPro'4NbNqrMHJҰXyx=Ĥ"e`?#'/j(b|%8_$pnt+Rkl[,RtPQRJUufL07b=$^ʍ #?UCH3HTT)`4IrSs!/ْO'L~^wn۬m]+jO!rh 5Oȷr<íHH4U%#8`عQ`,i1]TFt}ƒSkIلvy #KaH;?2xPѲCKvx:VK B嚿"ớHbDvF!;B=%7+mF2d,iGz|wC$ʗ98M6B6凢ҖnT!.`QBIIelnk<CmQ Bb?<#M R"VƷ"JEYI\trC|fRKLz^l9lި#xH!D w P"Z#TŇK"0xz&*F*?:~ U b:́`ʢ0$V۔=TVCLA6vOf3idhM9%:5¦($i:䪿֧T[.ب& n9GΛ Z*ŏ])ֲ*EvTd4bb2D٥ ~6':ZB$6U\KY|9:ݫ=4"Kk1IK|n$ty<٠A9OjnsGȁ)|ZS#Yrkq/݅#-lZۗ{/FZ,FԬ8W іJ&Yh6Z AcI2>0d)^F,"CÄE9Q&X(oBQao¢ gkvͦ+H#\T+Xed2ed5jeV1: HdR$ֈyXH.Be!@AXˉJÑX,#MJ>(0RY]lǧS`ص=lDzb*(,Q:Z4j l5Yj+q<e?"/5I[TdiI!@\|#+_kMͬ,bh3\uigLRsoh).`ͅT*9%MDŽ&ۤ+X60JK_.ϡ@x'hF I3&-7}Z6W .l5H!0h`l47&!d͙ZP@Z ~D j0~\{]oP1E>2҉bwHkx M/+R4$Pp±% i@JJ»2q:^y[e.H\_B*rul5IV -@<.)2<<I|v `*n}$U%9&JB[rqé}Š,"N̥KIl؝]h41H`6"pݳzUKɨʊzH^Wa&.Pu'Y>3& Ip&ü7&Xgٳub) .&BChC޵j̎kh˘ƺ@̉(Drb!'P2 @^;l"n ~|Z\vd2nDVdFoTtL{ xE%XyϜqoK#)p[h`[-4;Cˊ.D.(:F1acnX9\1Ų]Vk)j/U~N~{j|[`jX,bYԓ*!,3 3xT ;zi};Tm`$A\`탫VieS$}RSNdŝy:"S-s1\8&:xzF5`j WS1 E)N jhy^?5 45tI21KAM%I>J>ejZNf@/tR'7|HzNR:](*n4%9rơI^~C9jzLT.ٝIT!Xz;2V849݂h+  "ʕ!xa7ԩ慮jԱkGz]+D"S\kY05]h CW'{#}K29(x5;EZHG$Hʰ&dM*fJ !Q54~z=ChUS)FA9N-1xj#,4-}(?j.j94Ɉ$J_O*a@01aʖakƧKXwNL ITJ$Waac5eAfi#NhSvBH Q*ILb[m TMN#LokK>tł :5u} t|,ҀDdrp [ZD#L\ b[tZ:*@!1Th2yHy㚒`JӚLM&Ɵμů{+4kr.zEl#-VLIᙥw Bt[xS[ڍ;1]Z5{M? VyVnL D띳$gd@1r"f##fR=‡b!,r_"2 j["XƀR z* 53ycr&WCjA(ȡPF3"*|٦`jXႥV (zjyoɄRi%&B܈ rz>XвKg~S?EIȍ-3.Q q ir܍DkMܣXTۂTg)\JIxI$D: ]k#E HCrH`ŀ:2 L4HD8BdEt=|SA@~R+Ip_UI׼RޓtRm)?d=_rJW~pFUKÜ}m22!؂ؖ7 diTL[/ hd@:ɵDt\8 ڴlnNyHZqQmJ^w|uHDgm Ll94RL[ Nu򎔯qEoN4߶dIS4Tg<^Dpr KM3N$I^jxUUDI&4A I j:BdLVDM#[]4GEj\<*R摒H:HCY"Y%qqRA `54AMAZ,lI"1L%b@؇aGh\RؠX&𿪙$!P{-*du=f4=ӼUtcJ9v2ش7"/U#@2XkZDPv串)4jDB nV~5O/({ivȖ{1! k'n{Fqk(fPIT+&3 Dѻ%a;T,j8ͽԣ2NǙngH|2Wg &HmGˈ'>&K(IDBDDXy!j,ˍSY  \*#.4Ga9^M x1nIhr\KSA("D.Pa1dӠPhJ OUfم (CHHaI7$_F%H勤}vf@Wl$(bԐϮJD?2M)vw%MZ/9F1ycIylY:.eddִ2.!k" `&:덐"U0R$2jmH3ExoiA(Jl3*iv<]@2 :%FtUmV@R9=+'-Xү.'+332 7(/HK Nɧ [f.f4XŘM<MIéM_Fy83@$Sbü2u Ķ5Vh7)X͆|+ ` qBI鹗EXITqxO5^khK\讷xpr! yB6!L_st7ͱ_1HfT.5-wޔj1\IH;Re+%K.(XC@n6aŦӲ jw 8 \4ױUa ED[n%ɛmQ⻛*k܉ tFT^pE!/0RC+Lq~$D'71{G}.D>!BNrf$>4"zn'83g\8`Vjuv +#l) )Z^^Q;3ⰌEofo!t\ΥܐZ=F9+:8%]$zqK HD'8*F†GN'ɂ}Ϻ'e\]҆H ON-_OT~deI+Pb\$R:qz;Ti'/"2+$y-]Yb]&47xa~ړ3>r#+A]?(c;7秷R$7>SuʯY]ͳJJW{Ȏ[Yl~rB' a9,?QS(nK'ĉJG{Bu9=W_hlgګEZFW6=CBs]fEj,Fͺ{$nGQ6HDETbUrɩ-.@uj 6 `))\JiFDqx`ݫjD{ njhPӝcRXM{r`o}ŤF(O;{ Tke H=s0f˙JR)zdHv*pRw(Шw˛m),UA!󗛓>ex5aJ@SA1t+:" $5K^5Zo^,iH)xVKV NgxES*u-YT1턱jԂ׫EuLS+z|ޙφՒ y(3۔jG"DAN`ߠHU@ +w8+ ]ܚq$/DDNX*d ؠי"vqYBلޟp9pJd72Od xb]+Ua,UcPZ"a a]WC}y1yr>8Ik7l1NP:j=75' Y 呱n=G)G<݉# ,6݌]ұ#R]a/JL*x&`M?uk!LTd¥QT9>*4e*F,[MΎɐWJ2MbwJJb%Ԧ嘨uQOjW" f0?X2%xȱ 0Jk6H*pY S@c ̔ bhN.ײj$ Ϙi72.jTRNn`8 C >8;3  3 rt 5(~^ &"ڵ2V;j~^"9ܓ!) D_Sҡ8.V*1AOWAh`@3X/%ܽ N6&a>ע`<f*pҲ)bl"& X FʗP:zS\dg9/:ZP",x"4m7,g}S.ёh'5xb)QD/B(rXHOKWFǏ~djHd:Ӂp!$ &5y;XN P*D]phԩܢ, $/7+*eKp hA<͗s*I7(k_g7.<8qTFr1S:t[>q‹IJl=VuϿâLI\? ˔sm ]TEj&]BE&2ĦqxX,&CͭtP{dT~ami} K>%`ب~|*g6V73E˷R^E|]OKO&, :&!jHٷkqi`~ U-`}s>59D(w&EHGW^TV(#>jf)rqhCnΤ<7YoHՋ5b~VQ{|#B;D [㡂!{$p d >%Se+*Y#vd";z4PYtĆq{̴lB():ݐʜ2)_"Q$vNuq&"5p"h6@jϦ> +!pSwu)kVqKar0_$mGaX.-ĥ I,k;P[U&Rؑ]MX:O0\٬ő7mCW$`` -FHL ,D:%sHWL=|ie1PEJ`I% @T`  d+[P- !x&>8HEEG(Ƃk]8:R0'n&8[u^Y81Hu,`.j",FʼNJ DƎ㌵Ҥ&>N,ms8C*TgZ8ظl(( (> #`DwrFrdn\RCdB[/y }H䩫G2)HhMs \[3`n.Cs45~vJg$9 @$7+x2H]Dľ-dj'I&,-W4KȀDޔME *{-*)@C$t:ch"J)a+F #[Mi<ɨʋ}J5 R碵! ~ﱄ[;EyH >uA.dU^O:3,%c (>:LX_geXvp)H!HՇ$ (9EYH_]bC:thQ'-9\X,Iz|08RϥyQZ^f届k1YMx&_jRFZŶz[AɾXлn rK`HC&#\M9- DG),`q=t*p 2 +#~3V&};?D"K!fŅ ӆJͱĊR@AP|v%W\|E#o@``JU4& &I1qWĉWT:N F6:/r.DqTFQ$ }E Up\./bD?OYFZmt|yŐTDFkBy,Fx$a'KYF jJ}7$E< .Foi%8sVIM;B48)jc{~_ߋnS])܍T_lq5STp^s8,j )K0a@"THgGbAܦLC,>N(UՂ$J;SFm:LS U*4sJ&" `zkc_,YҏvLE[.iu{"kS"N5&SO7BӼs5L-d/Ӽb<P{8[4g^ߴSMM4^U.+yBfľHB:o7cHR:}m0 1]IC6 fJ8!HٿVNb~d|Jr hk&q$ri- ǶOͲ (gʼn@- %,-ԛ7C44 c^=~P`IezbP3N'7#iŭ>`[& ?³O/kҸ@$gR5zlA]ߝ8!zr[rQ[r1*uk# %s*#}0jRkԾ1ś(N (OFP”btT8;Ñqb}G8F7($*ŠAx=BdqE'Ar1ȗyHHitÈyTh6u8JD%h$<$AX) (hC%MBfma hXQI;!k~E³YLcZ]'J}ҒRd [A4'fܥZ/YKIdQoX{Pu;A/R&yF$vf#cct}K8Ujt-^1,'NAdsX9 v?ҊRL$6HZ1\LBvW#*FG')#e)E2#MfZ69ST1Ͼ'D Ý֫MdE:U뭄Gdyq'z–o=Jl!{J25Q%1QdK?vÛ+{ymw^&JݤF1j՜/D'K)P$d$ Z5%rR=QRd)J^[1)M1KNpf aT#FD+L8hUoF bzBaK%z2aD3wiK+(i\`"1:n]0maf- BG G=+GZt+>cO. =q|D\+vՙo6RPB1P>9L M/}e+^B6*2kT6UFE*U6.)DN))-R4ZB*%|m:S~3 %E?F.ҽ_gvM㖝k󲥬2 &jck )ՙRlv߸KܕD]DB%(93D%JeVs|[&՞8*}Q]I$! T>[Fk%B׿w9Nܛ v'2Ha:+*ZE1m9J$X,(q+ES~qm0K8e\ڗ`(/O%o".P h}бc`$@w!)RZ)\^wj^B]Eu~g!JkUU C EBOp!{ΡQhC򔕡 $0@H>RSk ie+1zp9YS NG&*G+YRIwȆ{ }=,Mm5PFlD~<؂FLLDP`S&R),i^0߉r3 a[{QRwdP}Y]T_m~Q7w&R$!5yu6fVcZB{G 8;bĄ, dIu,4]G!Ko<b1BvkBY+t庙]+'8B^g퉵*W;8˻Bw${ſu,Sg k}EC+ej=_(3)+y5QEA%ЁpW{/AKKJ]6,''ΓDeWIIWoRHqcH~ƳSt((b"ܥ- b .hR([b (IKѯIQ \wOܞl^XEXU鞑.*x&`^-󈢫(t(X+4er؉Ks\hj`Fd$I&͢=3,B^.57N8.!>#Ǹ)Q4%IIi)mɦAO*C\tZR#PT\4%0gv"|J GadȅQ"& +IBީ=%"5jd'OiM |q窆"zr!$p@>XAPѝF`VZB^Ҍ *..ji R Y<An" TJ2 (JCjxfवxɧzӉ2苶H޶!>,i &Hm9MFiv(8Y+"h6 QRTaaH@H ȋ0R&yW($9HH@dE A9&0ev9KbpՊ(.OXY?ŝvGVʆxrBo(PdԐKShRG0/'XE^*uBIP% qged91$-@cK H c4ǒIc"M7x"X.Ƅ,`C ]J3^,APqHl%cB6ӱ#zhXɉ 1=P@< R HKN"RH1?B)"sAcqAD5`#yY]⸸9qw8ߚ|eG9oIi(ؘpR qo-Bp X!$o +0 FASo ᩅqJP⸍7F bUX\_6SFNEHՖ9@a tɈʌ+J4zg]iw~XiQu*'ܯƇRcJ=hG/y$ dU2Ȝ!sC09 猣ĥSΠtdg@&V;f#[T:.GTm&_? P~aȢO 0ȱ9D.u9ŃpJKp/s @_@h6/P6㣝i=_ <׹t]vN Ug2s]Jϡ  SMX2ސZvnN{S@Q6NeFB; Qq9,9P{QNXМ]V{kJ߻(LOO̍AqSCƆ;1T&}D,]hy49gzyfKf.\Zi4x /-uƙeo%aTRu/@EDq.XNAO(R:.k~NAo|$peE 8,[%dbRJH"°"{\uzxǚ)QcdIԗ_Q*BX.]V sKSM-l\cz`irD9'&/Rba@$5Hu[ڰI<&b:"^mʼ\\Iv7!@xahGH0LB_K,SMȂ%UHFqVd%3PD&e 6EP7l&4}c@v1PR󱏈)Q#Qug9'7O++HL 3.=E06\);3TG(RDNMyϿ孅ͅLN b6*#`Ǚ 3/9HMæmaJ~.9O[Ld~W. K$N Ak.TeWDlmB!H+-FTh'U(Oz5Aˊ XiN’F!zƺEp$\u~D\=;9Jy/hI,Az,iC\FL  @n&KPJx%d@K4@@ì&uWfګoA1>GE\R={y$g.t@|uI$}bA>W m\DwO]]FO#1mDzW/ >-hrYu>wr5E=Ol[VE*,N>ҁSΦlǂ;d ^񉊗p7()7MCT a)%XpJ%qքqQ}eaNqGM[ZAѮD% THs/B$a *vfYIS:!w&Ixv猫CR|sF3۝=kܒmi/tw72Vz0;o6B+Y$b6㈗}>c] ҷ>I\Eۨy~|\>EL[vҩ)fjgǁ)_P5ODAWs9B4ܚeE$l=dzYXx8DfFf?!u$=竺d`Ù@a>X1B^C𢱝f -">Zζbur\AP+Lg>MDJ&/gdvF(agbr[ ?T'WITdü$N: 1$y_V2@v8%v@. S2"PFʗb-/QdٝN哦y`HКw:Z%oDh) JeLA؎݌G62;B  ll'hN.Y$J[TJi1`&9]/Ļ6ֵ)Ge +x^x%24gCob-2 .┺ӲX +. t ׏&`z%?- AD"$YZԑz10 f gI!$akf s` ʲXV#( ΆHxUO6;>.I -a%Sb'Drϒͼ4mĕIoƖ0 pl &} a+ cMI$JԞ)nb}sdě-eHY-hJ5IY]NvPlqR.h¡ Iph.gW j%p\PnXTj$*YȠ+@5{ܭ~F7nBJ Yx; t/> ZBL|Bһ$un,"sYQ.`7&1X#YZ-5]!Żq rcCE%O8E stwUih"z,! aT._!Nר\Є'΄fh؝ hƺgx_lH/(j2@^$7z ۔P3$ ()أSYX\Yo[`mE~Z$a_rv/hXU#PߩA&5KȑÛz~EMEcNY ܾXcl cHqQH۩֭xwm8Oӽor7㨖(~(~khv;k,`+?3}3tt o#Yx#ÒbKم|G3uh*[Ѯ|ёWr⎞?nh\VGZ0 aeqM KJWg d HD& ꉭWCEgQҲ׆HП8!BFy3Me*W !v'Y!AM%}C :2dy.MY%Ne dmCjBj$ &/ƺ/00[ᄄn4 G+51u=!xndj1aO9J ˚eg^ey=l 9Kiva5MM+˃B7 v#T0R?MnGP*J:Կii=nƺ}땜z)BO,ٚW5ȳp@px<t760,C *O(R$Z\(0 > Ŗ,]SɢC*n/TQIj3jbnZp⡧jk%Jꅲ#q;&ndgRbu^Qj=PZKha&K9  {,'Zdp1ҭ] @o_L$\0$;aw +kJJ!1eq] M=z8;' Z$^%)W)jarҺQ GL؉{UFk~L^"b/*{jؕFWq!vk89&q$0Q$^Jq= ïQcht"Rj=B521]4tq`z 8#6 H:c\ʉXKKqLJ (-jʄm`H=-rPВ]x!F|NYqpky/P5e==>"<(W )e"K2*r[q2+6Ekʒy5,Ffq}sx.b4_\ټNărdbv)h,|x:bG HF1׌{!lq?>\gN-ʪO^S2QiStʑ`l^BD=>q.5Qk8ya [wդ~nwB59l({ g("c>tkJ[&!,`v(#Am8٤zU<>,-B쑚4o$Ԏi#8~˾!\9%g[oBނGA++$e2d'aَnH%6E")tʎRCPq,d&=%B5,U c#\h'%f8)3]Xe(Ӓ:MBBT->_YWL>2ƯBA8!9A~܈.牢ºI>;93L _8D xާ^V_-^H JcSFΠkAeJ]9-bJg1e0 I#ZˁbӸS6#dB_^:t,|RdA\9ŧt)Q<7qe]rL_h!> ^hq2ml'{(ՙ\t23 ?,2whauT'}6B$kT5&:hĀr{5iS֮I(hj7HN}R z+Κ Ed9v.lmYӶNLE@r?iQY0di.t0~6BFf5'e tN09*@S~Lwaȴo &'/.R+1Iܖ%aWSBJ}w+B:@I»<s3rdB4DMo)jSDt!/ọ̇̄(/1JP㰥M٥D^ lJ%n6W6O% ܛC&i4wႤH om1V11ln*=/gI)r/[uJJk/B{Ql5: Ϋ%i+P2fT BEҡ"dLjFU*dkjW5\/Y+R)G d^-ERwk kn9HpCTa)qw3x͙1c檊_E׻m,4+C? ?=蜿RKK> ##,n(*X].z9'D5> tcՋ_Q) ++*n, DN##Ygcǹ7s9=ԑp憵/2Bk!# ;");$"ʉ{+zuoͤORz#Z5C]끊DStl9}J8_j +dWuy>`Vgl<3o{v_H\$]>8Щg߫/gHF+fRv‰YdsB_2_)Q5GHW\W%LUf"O&v\^%PWK>*OȾ}4 /rp¶RND2̍Bq0tL/'LZZ^@DΚ84}HRsNJ"yNⳒ=qp#mPćq \aH4T"+I {Q - F00C2s3$'Vn'-7a 5NLajܑ nsc8S#\U _-3B>8*5v])t~*13D575k>DA;*gm(ɝ^bt dMN[ҷn4?+LAӢ~q̈PMvk5Btm*ܡSV#vGHR^+Fr3TBnR!C]+uta|ڿ$4S&=GC`i<\ aKA;vז'0aszp#Qŭ]hLbXȁʿWI ty!*j "gYIV-^6 ~)t#KҤm,bkwn:Ƌ˶D SD ܹu.^CH+ѯXF[D!yF>"|f& )_hѭ&=<=C$vXXJb(Š :'0JEI$S}> I{ [^1S抮2-h;{kx`6R;qCyJ¢focXHfHI@D}ڵ(PXAA SP5f]nM &6'Lc)oxq>: $Q ͐ rM7FD2Lkff6ojDK";g`NdV3tuӚBk_/ O"8'AW Eβ]vO4B &\#8"fJLǙB꾺8E+ETV"Vdw-JW4̃XnO4(*& MSS8'!9\u‴V1+=Md:v?ZtlCrNRKE;9#NK"pH0aZj{K[ Z9ė0(&[LR9<?PtW[h1t;,HR߉Ÿggɨʍo8DRM`A:U>8ami#N^ #W1"nl񜢇S/!`PzQϊ nXD eo֕?8R2ᙊťlS]oS^qA`윖_[)0%`o/i@@H.!+GJ_L$p /kZ+o]laXTu/Oi C}=av# 9"& !<4,_! 0-SMK %h33N.˪/:'TVK~jcDSZ)p)AQ- H/ ȅp$ZJѓ2ؠ3^G3"ҳl6v 3k!k7&oZU/CXh2E3fѽJ$jU;g1j-G;-ʾc)ȶWIgϪ.Dxbo]Ӗ<r7tv&/Opk>'6q%n>ݶ|. {9!J \ fmxaw_)3פ9j'ғzsL 0 x$DP^'@қ{zb@xB3aRzťTV2 Ⱥhw|h52? '&ļc HS+!rM[fV, éD ߜ u]0gCH^")QI芄\aJ45\ڋT?z&Chı˭Z(&(C\LS‰ZIy}G`a-]h^匒5?"қl멢tY6I/Tc:) "EB4dqw$>YǯX/TֿD3eUdN@P AXLU*93(H>Fd1] 5}QDS`Me]CacFKz"-zFw{ cCJެOÇʽjXbSϢ֘ZoG$Vт6] >Ev.Oi Qz/ΆSKg ~Ք G+@3RYSA,ɉ׳3.m"]I9;Q͢*+Iiu:*X4 T{GVvJōB%D{b2 &,DrݼDMr8y`"Q&*:[f 0s-gUPE!GHi8=UU8^F1y%8;UXEq RX&Aѹ=ݝe+-^P/(M )M4NJrء=e۠L yrsl 3XHaqmD)}?҆k8 $I&H1"&L rlpR*:BK.%] C 9 vF&zgJ+ӗTxԮ8&i^gU(J*B "Z(rQT5i0'79IrEU1)"ɚHeb"D4Cq.$uZ2$٫N Q7s!j̓xH9'tBDy$Z,J; ~\[Y6$a6AzhD? ^_m!Dc8ίޓ\IQG<jZJ# FуWEsSVfYC-`yj x0}F+TJzY6C {RM U{:Z(qfhТ? C9H@Z cWp߇0]ę҆Rt_Vؼ,-W.˔$ֳNH W2mL=E ݤuL[^܂RW"ɨҺfϐYH>DJ,X 6Dxl -dNœr'La'n b;g/&3 u&UK7fN|WkV#K\>9UPq8H{jPz i@ <̑mslbG9$Q|}t5^,ƑX>iEҵ5Qu3iư\xeYtITuhYu>(CV;JPM~l,w\ B $pQ{tm^'=#WJ+[ *ժE5%)w%ӳ⚥&dg|@`G%BDy#E8Dˈf&-$ ,޲S%J?gɖ&ASF6g+i߾Kav p.Q XP-TT˜Y$TlW[Q %ai G%WucŜCi"tzM S$)=H*&D.#&EʳsšF4ws-*^d6z)(OmK$$5]kRvi/#u}qN\n?[CoZ:BWpXBL&(|ZoDjR4Diz%M-fnKȢ~f,x}XH?5 6ee),  dAdlqZE')^]P^ܽZ8wOZќH<'6iMl K^J$q~į+X< xL{C sDxI: /H مK-d/7Md%"fJ-J-Y*Zb3&@*61[1XAjgI0qkaiDԙ ӂX劚Mi`]Q GHi$s?O唷\2aC'9D :<23.-MgxI?lWՋLqtE7$rۣ>1$Yd訐߳BMlECqY0ȯ/mNǓ+Pd&u AQc_]Zd){؈H\{8x ANP^Tb"*3s0iP T[~FMK,eU}J$6yx92 fUuAQ-Rt dDaTP O&'hraDj)x]=& <"SMcN+ qv*X%۶Y `K ,FOHy6ۄ|J=5kA, QY66z u"ףO"J椛t~I1j~W*Mv;;'Nq '`3JҼa9zcBu-وXj&M 0,"ؓ$Y4 g)zxZdȶ.phVe2~yZhDBz&m"ϐ2sE660JZ\· A"UDF Wo-A ! n|znxG^2 鑂'gsW3a @ycCg"liei&dM%$OF8U\Ix @0xH&ZM15 v+eQS/J VEn},4VP=jD+YH0dW)Uެ*p r|*&q'CMA"Pڤe9!!e^qO<,y[JDm=`=pɈbDʪ} .l#3LFGlDhhA a@\9t>u$ŜcfD(,-ZR^*9SO ttٚŃF.]JU $ idL$(沯+=X+aq|]{fƐW~Q(L/-ok( 9S;PPcCmyӕqM$f- @ٖJ4@+ N!w"01yvi!ie/捪KZ07| o.sd,=%rB :2`>ҁ BE. eS*6.Pd'4Ⱦk..ijmUTDGD _Bs>7@f"F4 B!}S(ٽOZ(@%z4( :N$/%r\޵mlyiԒb4ZBuR_MH 0A^AsDm;sէf)gNA, @(AUŸ](qX 30џr z֒@:bc=^P [ɲ Mݬ0]2%LÂmy=f ]Z2%'RURAwp.Ci}v%>S '%58]ҞZ6O۸s] q>n2D LT[H)ˍ[cpT~Q,Y,ܧ8(ALV¶ $dhH\j>0Lq!BHT;) k03*&@1j^s}QUI\2ՄNq$Rzvinw…bU,8a8+HiLqx y qHTj`qT .*DAFR9Y'A1 iB<ҌiIuIEG3gp]"cUQHtH oA!&ՂjE>, !zd@1!A؈ :VŊ2󭓦6},YRFl*EalĕMGP~M?3UvW,FNDߟuΗ:U!%[d %Nt \̎G/fa [䊐(ZOQ~zbСΛL˛oXdqLd<1\ga{!Cv+Vuǐ= oPI+4CޒZFkv:1LFTAQ~/p]o0Pp”I@1U),8;X!đ(|Ӂ #ц %l>)HrסW2HbC]Q.IVSX,IkE|QZ FpyB#Έ2TWqv=0;/1}ěH{AmaMB W*\B,6UEѻW.,8j.cO-d$~W{%$HV I`s- _dPT5F5J`1⮈eՀ>[Ѕ{ A": jNaQ΋Xw1/ UjSi"ç%HX;(wJDu95*^yaeq$cs& c>1F]q* cK]sTJ$R RAxpӤUHBOUUaOp@s݂qYsMI(X,:_D14_j K󛈇wssbԗ#tJA-Q#vuqmIB7;piv&Q2-J&mIXwacGrB:1yaq$VIԮw\M)`UNC*;C/J)6 V2m*cJQ){ABFLVDƪ"AgDINъIQVPUW\#Gan DX8BL|z8a(1*.T\ e)!rC)3/„Y:2PbNu oF<9.\V2b3RcN8YMB*EGG*};&MeDzfɔ02 .)Ų>5P,udéwnGƳ`*9kC9 Gה@<Ϙ&et'r ")!UDRG H 8y sU--՞TvSH6hB.=-vV4f&Q*֏gGey޹x1ۨ3;,r<jHR32räl}ŠKmXn,Ui =3m?%l\tN 4 .[aWTxP6Md=B(];mcRl]IU"Xdboa56KzAӖ4u3|&?U 92Rʉw2! ܷ戣wE/E:[Gg"%0,q]%A2qRA \s 0,#YB!!2I&6"xj-U@_ʫ_et~Vm$]ⰒORI $J&6#Q4XGBJ^hh;uL9Hm^;'.A6:"mgS~q bޅJ--,2&< ^_rY8oVa=[CI,Ŀ)m!;٨BS^r*+"=)rv'.{C >J*1 <xDu+!+@_HrZ)b(bLWd.-r̔%7 (b:ή.)Ms,!cITV 9v 2yIYNu9&ƔA_Ii65Cq$g7y &WLg\E Ֆ˨HKK2%@t]A'l09R=u`L]הuk}Y b:U8`}D:6'9TUZw 2"O ^XmEf0SM6H:$Fsk g ^C8,C]?VMojMt.IƝW˶Kzv[" n_|@G2"SE oG*o_JC'14wm1zktW3rXȷ0e%MRhwȈ̥ U]ծo6nzw rP[C^^De[6^$J΢UAy|ݰ&Op_e?<\ \I +(Nŵ"tA4jaJ;.ȳqB5%fV^1oEҥ4m+u7DEQj&W} Rhә19"R7sT7-.G#:հS;#) vm׌_/ K|=ga D9V)4V7dm.o#՜]+ś*DSGP[W{h/"з.?PE7#d{'X3/e5oYy-Y/hD,a*HwY&ВHU2 EIz꽭b!}(X}IEM3sB,(NѳڇI6l[qqUۊW$s0(r\Vnê좘x쐡kȪ(, 0# "Y HD b.dRH90.OI6t2$nT7air؍D! c.z湐hՋ|kc4M|){҂[D1_2-H c3U{ !׶[If٥RZ?_8( ц\*c%8f<%bmbFB %MqrA؈=2R,UR[cS0ir+eTTe"03[õ/9B $_ȵWE:$O$}Sj!)0Dߒ"TT\̱%8,o4 q&#U"Z >bWlRR֛X('gNķw?Jϥs~D>L.J'"0̽d(RA^[>8o4d;¥A1EWX|o- w S鳹4f4 %SöJ! uRPsx֍Bhj걪ںRĸ.i1J~s7XEnQ<3B$ªOh6B е]NJ79)OP*~荘1 z\'FmjW`3K<CӭިX6aj,3sFcbPo.Jyyju!QʉM{^[9 Ds}0/3}g!ͯˮ eBQ9RAFzH!tzOKf",Jf=i0)%Oꊵg ~}m ɤu`wes'jp'Т!mvh*s`\~lO6c9o=!l'Fݤ[9R`հ,+ޡ:+)SĿE'%N9&k"(:KjɳT30j]2Z&WKQ+'L侅ǽ^n\T*dK*]_Ḱ< th;D% *J|m5hH/50T߉[)P9D(E3><$De )-rDTXXM ԧgnɒZA(c,Tڌq8w&_R sX$%RpC)lgkYK&$xf{j/,c\04@FT' Qy=:$\ =YZutI*-;GG`6I'A*:[yM9r9?q9 ^C[7hnvQU206~ܭE{K[ΞKq[ % 48 23|2 l}F%KgAvgH9ϡffp9wAw= s82\64̒+aDyWDY6GAB,[ۙ!OVb3k"ՠe'W8WsVR1V@@}3!̟ÕMo8-~y=Rwn<r"'IL%Xktm#'EfJV- jDGզ4vk(-A\$w%~zIeRUoQ\[^[%[۾vm:L^Tx> Fhwܖ;*+z_V8/eG.o5}U!\2ܥۂqb (M ίەM=Q&DŤR3CU%HɨJ.vI$DkE~D+(J)E*,T?^_.ԨV'ҿUyxyuHd䈴@2O l7d_4~e JPJ5f*V{pl];IxC_oBT'8ں7SdD"aŲS wѼ~dc[FE++8*&$o鯽 O v ?zXJӲ"#X! D,rJ.3*vHr-[w決I cx+]-~2]处Xr@Ƨ嫁y𽢝iSZjL)=󪧵[Z5s)PBr*]#Ȥ9b /+ BIʂQ^qL%,?q:irQRiⵤ.٢M;<⟘s 1pVw~{dq:2Dz̛9`k戙,!ɸԍRFdR*W$1oNZj")<&J!ԩjJEoG:+(imL|9Yq)5uHĶh9n]-Ya3tOigdc(, z^\{I'\ L+1 D[VITu BܦR_'& Tܲ$ё"iil.E #;D_R:*ƼhVӅc&CGEܮjj2XVW lKJm9HT#q/ˮ!'5H *"SjZ=ħb fnCjcYo#h6nX+f7th2广o~t0!62*qɊcwG˜^uV_F Lߖ$Ž2$gp{AKnE+J(&"|Gu! * 4&0daہ+ %Lv6N7<ٝ |Ĕ]f6g|{+cvsBEK؂B-͟B@u(w61Cbuc칆?"nʏZLNONQ 5^q"-J"NunvΦ\ٔऊ#(|1dܭEYYZ}G,eҝ&>.l_% E-1RЬHT:b|J AX'cu(ye-e@o13`RO$JלYךk.6%T,{Op^5&5fPbjF$L* "Y=N^M} !uY9a&r$\9Fr'653%I jvB#>~tm #ڵYOe*&[D^vVwp5o2Jgmv0 .De"e3 Mt I귧$3"깋Q㔫{kI㽒߭B@Bvw-Z.U&%,<`ȇ|3*1 Iܟ}I6 \AJHՊ K p{ĂQ* _3䷃/ ЦɲbrtćA!Bl:_Qh-BkxN8'6ZBD#6 ˓nϤE %=(˿۰3-@ H/|ekʝV+\# P{2 7[< gH֕Y)$%)&I1:UpRrBf@@dȈg;B$B:g/k9FF}Xtw,/dc ?fľdR"`2wa" BK(8a*ɓQBICe85/R4 IVy^k4Ks1UIӀ0헥f(0D",҂Ȑ`腳BGmg36m_CBɖ'(Akʃ#@ DdĞ Ifpu)w9HhFbN׽#?:=<} ( R8- @'ܬq@ӓ7 hhtr!q Oԥb, Y%.\@A0MDl(Z`L’x`E*bHe.D/LKw'I{'Ô1 ¤߅̤HÕo #)8JQvS*n[hO1V?d_ZZF z9w?~|l:*ڝȏjһGA1'> r%ִ5Gcu0O9CU,HԄ/#C0fsJk ?h{+ܚIci /1Q*#YC\;D'+#J/j'?n';wR4RŸF!!R{ʲnsC!ڗ"yGwFoī!ϣf&eiE0o1G]?bj;Q SyE71?UqqԮ6’N\+X?bO~7H#]g7O ,H!tZtbFɺp(QoLTub+3X;N /4<5O%,]`1|TV ӭ3[-aBTbr +/6&%'1l%A*TH^JTLVЌHuf#$EUǤ̈?"B@ZX!%UN'g[bGIEeU%%䳼A{%i,E5Xs__&HO4&PoFi+{128Iđk>VFT߅v838(6!{=i)]u3*vه,nn{WyRF1eݬZΓMm溚$Agl9.gM[ZB}>dࠚf=*E[Y@ ᶳ &]MĨ -,\*D$IFΞU8bN ;;VE1O(h4$]n,D!DFY]ݤۧzP?v6Eɛ pM$L({„aNoe&<yD/^Ÿ&(thԖ9l lJMv>f/!@&[H!+l܏Z * ~췉I\*5`6](?843 "A-] NƇ3ĚJ= ElpYZ.i9s@66[of; YOUS^ Oơ0qe>_(ک$*M$qŧ/?.dT&Kaeפ+1ѕ/ͫf&_n;& ރu#6[ k$$'tMI;DfFOm-tI@ꛩa77Y1$l[|b2fCݰ8*9ɡJ]NqQZO kbUT1ص@D/M:6XCSz16 ̰!e gް[{/5.!0 RRu!p!w ːa7 H[4i$Ƣst'QnR'2Ll@m ;E{Q|i / ryqm-`YW4b5"v|#]]QƒSErcng3/fvr %G" ddڮtRMa >Y>P%M/H(,f`%HmT,LiArN!׫kqI1 w}$1CS/"箩ˤ"IDL5zCD f32~dۮ!,t!kZmmK㫣pEV6v}mt+uYb6%Rui Eh|8BJPr(Ω[WAozg벞E_}URHK旅VCAgEIt]ZLW0/.sNU?Xхq#eD z8T;~![k$S칅:FF5<ؒGJ '*7X{wZ`ȞrS34wc$wBh􉛭}Ȩ^6ޮߢCIU\k7F,vn٪K4c1_nc[eD @n6dLlܴ*!aql:ش@*K]Z= ĐtQ7֥VDv'e%|^> &Uo$Dh| H$( Y4#PBZSQ3 )hd樹ɭ*eOI(f]/~-0'tG1s ދ˜2JF+e\+lVQmpRS@DIʉ\(#Hy n?Eپ Y9*Zo\׮M+bKz'ɥZ4y'7qrIfx)3$Ok0Hc;P-e?G.|5F)+9 t>]Q % ?"5)._Oް!Ѡ7xE 2dPVL<"ŬER5MD YoKMI]'YS=u^v,|.)sn!دcuRvؼ(='$P5BҽmbF4Ng-MLO( Or1PP|d̖h,q_|.P+ }upd<&U8P4!4X漵QNWOZR>pLCߙyभ>Q܀DM-|?s4t<'G#u0u(͕ /nj5WA{wp-K-W9*17]ݭ'Gկ$TɐCFfZl Ĥߣt ]q4h7(9A},%~<ѥ'hj{H̃Ոl;`Ґ~5Ƿ&g_IoN Z :`r53 Hsc`13U-~DSܪšsr) |gʉJIM yy4%%_ BerFg)FMޭT-X:9^t|%d[ Xhsm. H_$~̙FBQ,`b6]"azJ`qVY\W8kwQ9+dpPlP*,2P_Dda.hUs]BfX a+;Т 8Q0F^rbS*QZP!+^Ch`T"Ǖc3ګ]ͽ蘠+Dmn x@UKb c8.Xp`$gD( B+ΰXg5LڳTE&IJ?f M>}W#:7'0U d} vaqB T,C+`P *E1ӹiFrfLf*k |E Wꂇd߼1sGLQtR+å0HR/0(Xx.:! wCY)̼fSUUmɑ4>憇m}a4i.ʹ \eCpAVXEF%)o¨{̦Q-m4rݮ*E`OI2T:Dڦ3,j*&tHEB|-M@T*Uą5B ZOUuu0Ӓ4V/sJ'O{E,1 A'֍DOǗ$Y9K/L(Eoů k.&H[)e;#͢;g_4Uq.}][P3ܕGw?^]VGY|%DA-Tn;0!bB_T $A O"FxlALAR*6dкTqe5Ms^˟ڔ2/P/(NW"cS;Fu^k}DS@JxyK䵲Bh[tC@(|G MB|X!YV"ӨWKa`{+mTe)Z]_t@قbŚ# ePXʙ1N6|Y+AL6&=F\as;DTeZdm 8/#LT&zҘ׀iоr+a w ,Tpi2P6d'Z' uSl!\Bt\0V_BjTd8ƥ7 |ұ0v],Ȥr2-rm$};(bP/"ӂ6sŢ^=Jm4B!pL`嶹&Y)| ZUe )ZY5x%T?/M6BTAEfI5& mq6E» '6Y[RO=|^ %[ a|Kg͙+RlHWrb-x -;L!#84QV~'r:E x.lX_fJHjD -Lx&lT&>  i4ClvlA )_:B|%!Jf&E?w1xA TdwbeVC;!WrM֌LtJ-\F;6,N⌾b%KfbG %*+mķ :J (NACv$Y! =y 0qe $KW8L d&klAT"Y ,>3fн4P7P@4HS4 ()Wnb`-pB"cP0LP#l'^pT KOiIRzS(Ƈ|x ^o;1;]K 2R>ȍծ&#q}A%Τ{*]9DEjM TF/3fa8m"0,: p([.jKe;M҄:x"xʎQF λQE#Bl}"fjh)=<,6Gd@8wg5W,ɨʑ;PlbD;C<?ݛwLvHQMDY5ic_ЧpaB#DWFۚJ4I# ZTGMM*>Z?g舢YKqnC0.r)jוz?ӋxG:XP]Ik17VδVjJYX",pX!8ԔIv(L}wAvdCBt@N+3am6!.j."^aPy*e"=c 2مrYpRк|3Άl/\@L _= I$xo 8JDvfrV3e^eHycqT\ Z!,CL=(ɡ L#H`@|^;& {+d\3c ySk{<*~#}]$Yn55쿸-0R#%UiU)Zd"0Qa;&4*v/Ӵ.WSepǖRi9\b.k2OZCح/l+aS kIIL6/˾ɈLXbK3rChX' fwuOLUpCћetet4 nD/x B&ZC&A 1I*8`ڜ_R"O]*KBZRV$'9G- Fŵ'La@D ۀK 9$Zz,|7!ܟūCg$[=2GdARhc)M}"ߔ2"f#0P!pk ߺY"c5ZRD"H ?۱SSj<1g `ӑqГ04 Os2Տic3J&'҉ W6T%MJEI&jxq,"2 I1>n=jB"1XADcܡ%XS&溍^/ #$h?0 yHԊTk*_&h&5 %e]) :/>kABU!L]rъ8b}0xaQDI*Yr6h&CM4Z;|0J6>#tq qjV~eI2$4] A<ѡ?mT D(+>[f8Q(K6;UĈ, ;E?߯U4IaGj`uMD^n9;5cJƁaAҩp 愬fahZ=22&d3N}.pTC:7V~nƂC%^j )ZW?kK70,D攤a2uj ."3& ,=تi~inDž%E 궫pȘr\}Q !osPFWd%tIQ*\BcXcMh$k$>qO͙H=JM=Pi7rG) ^*XC/%pT+pUH0' F|:L)/],}ee8gЮ$h_b{S$Q65`ڹ|kd,‰ˆ!pW VcRϬВRE2m .߈ ,~S(N&"u9VVVbYB488 dBD TE֗6{2dKpgGd=UR:q (De>XX9?{Hm6 +`"D"rB BeP }4qBDZaT&IDNE,g1OtLP.pOC kyҁ5|TUi111}t-E8ێvz E~,.qQc*i+&4nHn5ؓ纫QnяN#љ qp12Q"rմd%oh".'ܔKsQ>-(A "]'g 29*,&lN bhŠQ @ =|6* B[mQV,q.FARe <)[VCaLdP"0Hzv`igF̙̊b/cy'b$=CiTjV"e5?e(WI ! p ndmZm}i2,LUDк%.J? @]D/D,s_7VA+\Fu ^Rm0.KZ@U{5f]-}'{]shM ve&)ITR>]'6o.IwK,t‰"I)AHbTRl}..XԛFh8Ylj:B.[LBRLf\,d0s7iI=fO庨Č mPseqHUj4"b(b@_;x+?Sfu?] ߆Ad /6jjӂ$w34" \;e1;r`"˔?#tM,okVb# x}k{Imi"ꘞ 48%MݴvUK*nKNdȰ5"ޣ.i,X aIhC;z/A/R`=V*Cԙ3O Y-򤒬DŽ#.~h۱F~]9[잯&uy GdI[]M?+AF&T =K-B$s%4~Z5  4Y钙8m idM4}*/"PWit!bx_'8,mSYl!((dĢp\y~*Vf98]>vP(wtYy"X'q5,^p|T嗲7FyjdkUH#ع`.@u Y| ƧO(Eh.U9y 46Td2-qs mk+=MRNfͽ׌} c哭ؾ3&6S ԗ縊܇uJ:މC>KnN=+G1%T/A0Ýt%"faJ%eFo!ɶM2IU[5hkG,S8JgNJY#'OQW-\hDA^8FP=3f'[(Sc6%|,UkbXHAPϋ ;߇fCS /~mWȡߐD4;%}LL%Q ~ iUŞ}DC_) p(%ed]<]%(mϱfu)\|J"ʉ2%r"2IBQlzMOGG6 kTNgfA R]Kbfh]a12$OMFJ9J4Kwk" >rNeh(WJuwz [t݉1ĢnDR^`RnB8c ꨵV".,H9"X/ 5Iw%"CdYun*2ܼ#H{eA ˡU &ý`רJ+{"BRӢq8EMUurhb澔{\MartG\t M'כqud!_(|D9f;knM?1hE-&#VԪxōdUx$y[RI}J5ڌoڕ#M&W~!g+ϺY0Εq څ`%QIGwdF1zb7&[{bMĊɨʒ2B.G `AY$qH`bK!( #ЦN}:FFouoI9ACWȈ)pD531R3g ֱs%ܔ@(M%Pbj3vsUO{Hk7H$%dY5nKK"2iF*E;hLKA#!2*eups{e~1ƬE-dbrڭHc1mwTQ,/+:IvDeJ tdkJ0f/(+~i+̓(@E:f#0Q;iQ qE~7yYL"UЩ<20Qz\ Nt0Tɿ*mGPGJ`z)`=A jI :.29)Lj1 BG\eoqgQs-g)g"-\[K ?׉.GY$wqU9HfmitI䩿#$џ~F]M>o hS"JuSO[F{,YP0BZ?V_4oֺ{'g4,Oh䏥u A+^(6ii ŠIw zțYjp\4(i@~֚6oB˛`yVC$TD8Yv-k<Ǵ_d H?:CQ*3wh%T:{%*7.gYtaTqNv]" =/sR7 n jι66H!(YJ wFخe٦tEԧ=W[ _wy~J&ϑ :JSf#UA'n`Z,{ESx dA*J*en"嫁<ײ& SL3š3gh|#W(]5,,NJш:<-D]LCrEWʹ1e(نwm*NMU$.}'ל㟗y~#'QOp;1boC h^_Ÿ,X)F%%+#,v=E]H<ƙU4eё*d5F#ԤۦiVk 4RVae*&1rD-6a. ߝkacs;&n)!|1ۭYtSCIzSf#MM)b6U%IuRhd2J&r[ N{/mgXDtj OS*%)k;!Ii*K;Am&: >tp1LZ|dq$ުוڨ)k["&=f.PA(!&\cJeRK8b\Ͻ~JHչ4e!*d?+=Y}j|Q's%Jo_g"96SҫW] \]Ig[6>W0Of9⟒UdCQ"{̕.]$s#kb">n (IWw9>p2"IlpJcTNQ<-%L9C/#^J[/zMc47 nMMYo/>Sd.)MUJ5ISTb%)*)5g&QđuBQ E9"i N-QH!sՙ03>PRak+]SISrȂ<4!jz]VVс|;$p*]0T! F]DRI5}&-}148g9'cYCHe64bEQEqQkZ%Jc=㮊E}.;$-QSb#a==r6jlBP!LM&,bC"vU+HF)`*B d!Y`0Tp%1pqCQPQ)у}X@,/T(d2[T"،[%BЩFRNVf 2m'%OB@#Mq(#in"ƫ,KqTY~RB^SQqDdSsLTA,eu*/J di΋H0F`ICW8'g=\\j~8RK-"s7],$W_{2^dbND+˴df HY *&$2ޑ?Zv~%^i0'jx%''d/s eZc^0,3lΕibJ8@h, !QN4VH`ȶ  $GPbh6Y|d Y/hSpK-"Tƌ/Dh%W@ž5&O=@R1KEXJ7sL.dݔ7Ѳt0񀃜(Q'P#L)ji#aT UyY0~l@GpI %`M$QAfC1Uذ4 d)+$x]N Y&IDP:) kC(A69!83} ̄0Ds4Wa(G) hJ XŞ(Xw $A[ HќuqtR-jǮ¼P)Lh:AgEI!##0'cQ@da gPRs| p"K /ZtS5hQ䎁@B N5điMnt3f;s Η&We9)ɦ!QD*]CL 4EnP (B x(p²<9x@Ǯ׹+t}D7}0~ a?LUս&a#2"'EI.aBe&s`'`ң!AGdEFJLg d\xX` C1A85N+%S!-Bp0F ɩw @}E1BFύa~!V+)Ji 'ZRrfIPA'j +9(7 3q!X,P L$!"SJHoja 7es'bK0ҩQca q< C胴: i 4n 0Ev*cgA #20 IE:!]0!(O|X݌tBhK 8W(Flu!'D3['¸)P im&τG~i(ׂ m9!Q ƤE ƸkPu 21̊]wqh9hT)1XF3l1 VVvJhJTA bXMV1Mo)cRmD>BPQ%; 2j8mBnq2NXƯBJ<PoЄVaV+js1KYD F)qSbqwa R3 K1R4l~#JL*`)L0"4X0mC>QӌI(1u!B! UB( cBl!aB=LE&(Ohe$"N 8̩OQJFq ҂s$fS. S"kA g,bAW8.)yfpa ԽO F%gn!6p.8ta ˓S q0N'(FrJFJQ(PC+y< У(JH \U60ВB4l+vA*,pPB(Xa r9!4 8B"C-KoF|:2aAg4:h?)QIp&쯰ESX5& FR08a ={!zC0(Rud 1{hR2A1D?0 P %q PWsCiQ`r=s6AK^AD[-BF|B R?NĔȣ\#S%~0! cD_C:>ጘdp!85'ar$BS(p5 ,A0! D6e1_]PWP y, Db%T*jE$GVQI{$sgCNL1ʎK 𣘊mN_M 1%4SyHB`Σx#> CV O1_ +' S,q0Ǩ)1;,7QN@F`@ JiNAPB Pg";îK~Խmq OG5ҼE7,AthE08@GQN-cWL8]PuY2OIH:+;@p‡O Rg8@ `Y,9ț/XYN58(/yy2&BLbIfPH~M$̊u4AZb4.lPTHxS  33H s/`&CpDK^!/ XP&ѫDƘDUXM9 pIZ%1#Rr&1^AN2q[RQ9$9w-ƭ&q&(q? 'm,1⚮i!qH52yJrKQ-(Az(T,(CΊgjV_Q6\H,b\] #I)n҄cb0/d{#ő6u$@O7R,ԉHބD[+ rv`$4Qp{ ,QĎL\MI c²W͎i=E u ūhd|"0#&l;U#s³a$B89 y& c hh,n  `&r 8g \(HV NVyG9`Sk=a]jgJlg /IP",CI&Wa*Y<.gIӆ,[Z?]>ckJN-u @9^ X? Z0U T ÅagYeE%(ACBO̥6im9SAe-_`'p ɨʔ yJt''=.{Ogr;na-˕?C2 Q q1ufymxsFNba!-h<6f!Hx(q1rSdH8fLSz(A[הBa 1 B8mrT 9QL`tx"G e&48']CACNIB"`Ѡ0У#YR]1f˖c0X0P)9AFAGÜ)yQoWQN+?#58gRdNdm\喿/`G)rvQbXN瓥Kk|%CqN>#})Di #' 'C"h&1)?Q gNEnDdWl &h# Lj88rOir)'35(G*K(j>N#GߊYAP`a[3*u[3!Dhڄcvm l.,ceЌ!3! Y/m{y/Dc?%ٔl6}e$UrugL*t'9qFCFT39aKؤ36_bkgMאf0JDI C_KjXE #)"ȈHp3 "ީD(%NX ٩9 Ec8R9ئB 'xDRKL^EgC!2)3HRئ AҒN , w eSf,5tI%9#'+$ F+S >I뒙++)̘〔mqt39ՄJV9K3T+ >E|ա5!xy;&! mh Фbn$FЕL;qb)zff^Lgl ϨpP>q͜`:RfD&_\zYYߩTHEǂlN8ujba`/X:seRbKfie,Тhs? VbΤuBkxSW'm0q(cdҝeV <$aYX19)f^AC=hva!!]}|KC$Dg`FLo&'C.2C1]œ1sc4UE"ЮD0qCcE)RDG #NWPVcA{5Dq]"G_DD! HJY!MhQw#+IBrPnc78iZ) 9@@e}X $7fq1că H FXDt53X{&*ܥRA/DYdS|A1$x#d&FH.C*|aTB%ÚD*ZCrYĤ 6 T$0c(rº9M Mn!!W-jc2ZXOay^JaMB6NWi:r i(ͮa'Y-E򉒩oJsL^NAsS7(iRKZUfA gb.T"^n!;||#ycoK6cp1Vm1iȔp3ΦYJQxj M!U 8ʶѬL&8_ge_s|}9ZWARߞZ_ vfK=-:f.Bo,%NaebC䤂a=,:ˣ.@A# ɎrtkcN.70䑎;B@Tu! eT˵3/#ʼnK%!cw(0Ƈ_0աCd>)k 9*vNd{%œ-{^0Կ:ρL"|NH͉o&3BXGj\F-]KjzӌcqsDm MKTb-UpFik'!mak}qr ǔJldduKf}5 p0CaČ3~HPy]Eꖍ@9ЀzP D# b=qZꮑ 1 Ү%)vqx=BbBjDJ!0RD pWСe.!2/~B1hp`WZ""ZP}X-%ώlVgs+f 1KK0D3_o屰Ł^,k9rF4P-tqb} B"n6dBIF,yP 8F/($XzlHq@I~*c$PAD`DT -0X`{J* X B"? x9$7RÉm)HB4/Og YEՈZ/Jؐk]S bJ5$Qj ~T`7Wf Hz$ArTyv('(E$3ʠs^)N7DvEJ*?T&ʿi|WB!#vW45J'K+eq+A )I 3Z$㹗@”n܌(ݳS[f(qi02H0kNi=O8@ɏ( H X8i,Q LHjG`KbV  bS uZ -$Vlg!Fsƻ hU4[IA9jh6JЫ#XP,4$e rUI,:sABhq # G@ҡ80"4qȐ ؅s3(!r%r&hYbCфZaQD$ UJPʍrFJx`{)wJ䝅EŠD1A(.Ȁn$dѹNDV2H|$[hl$A<C 0@m(⊭MFN(m )*rfeX%TAyf!c.D@Q*VmI$Bu(QbK-KsmFnn薦 AH$1LRzetiM8^i:L5[]#^9ZTv-AyȱlE-1%_ߧQk#$ ,B)`0 Y7>A\(wtӨPcF=EHh8cDFczgI0?у4͓ N*/r\%r0J20+@ @|Og yT4Z50kRpCy:,YŊHo?*\`[4Fi2EiG v&B( =F8/$%0TH孞'(@FkE&Jr^PM$aD7my19[,X8"`c A`3 )O5M=): cX YQ$ك#2liغ)I)l#|@V%$΋ V vnIE IHz|uB ']T$Q6<9R-&0[jIS"X&]LXg&ҽȫO$ 8Pd]$h Y $DX NQҰ(iTK|r@j;C9p$ E!o%/NX8 ~qdRA +q $EUԂE\u$c#?kcj ,B(N# #EL7"@jFôDbѝ@lazK U*>!PJ[2ɂ2(D9]vj9EpCm (TAr0W2(4\M+l"q _!ĂzW6CQV"UF]u@}F-P5pl,NAcb2'D AS10s\ȥrP%oJΈY1[>T1 )9 e) F 8.Ґ+5"bV8|, ȥZ92J%Ă  *c8\tQYH !7`4d)np|S d9 '%L BQ1Xb r2gb YiU5a"ET~*]95V Pv1Q%9n\ ^Nn;9/ %1S! =z""( %^c8Cf]$ΏET:HR@}"R{ T=Brf0De& $JC6O&jZOPMpT< N%[2PAy c+)JJ&2SG{AEIة )  2nZl#kTS7m]Mi! @@ݘGe,LdS8cD/%rlF.hMi>VnT1 &]3Z!!q* sy1 `dQq$3C*$rrW Yp0ר  MsamSR1U1+m^c"0P%dhmWBS TQ؆+2:`I#~ADcP`$* 2%sq;*;D6ؘGB0-B`#d r!Hc# |i(+FP0cU6RD=QjQ# bUr1j$B'.aR5!Ж\hɉK Sl7CPRԜObDLh)E&nvT`}|͐XQ/<c?0`QmAM)"L¢2!GAX"ޚS"AaC8ȝ~dWTdf\LJ K ( Z" $S b1Qw!F.\!y%#j'zL8Bzc o')C"El:B99ɕ&T d/(E8A8GhH`NEA F)읱G!ja]8<9)ܬg =:,2D0uiu:yC*Ek>*q x Bc%e*A٠bQ>U#ƠgDRpWfAj\b)bS׊7IA;`qLZ:B `MEtiðx+%* Dfg((_񋍎6ʈ !_+e f+Oβ (dXaUZ#]D,oȊb!J G.AXY$9_e1Q F1BEwPUPPKֈ(SbqnsLsQQBd:8'dPT nRx#ȩ!x)@R 1pLB1>^e)r \2#ɣMPhap1FiH±rZ |(#cD|e5>c S1 >r *dÈ`dDa{=X_AF Inkb(/Ù0"%19{ijD5+c ïEf|w9r'8 b,?Q@2v%s_eu†h0.w,Ka-#B HTy=!"-* JI嫧(bᐍ{T/1o 8Er-h_BHӋu)~ C\\Eyet YrD; /֗K1be>y*1@51# w4oLxS w b PZyGlćŜjÞ_ k{pBݑJRZ>E }b : ްQCAB8(c>Er[7h`^ZQB[䬧Hp~< K=XO<*J,K?(pĔ9.-&SĠէ OiR"/"I02h %dĈZ #/bD$r6`I B5 X -, y"gGܑ+nj ]ޥ:,7QnO-gf,PcPDQ.8Rb'aVh[ʖC(UQtɂߨS(e Uzy'"j!'D܎1wQp-r M J2E4yQq(g,IISؾJ QB(*)%'P>Bb2UAoHQ OvA K$q (?'n U B$֘vi*'Zd{)І>[A$[5NF২aAE%E!N g$$ q-%pP.F[we\搓Aapq_<Ϻs l%9Rye LB0)ĉ&o.U [6ƴ™zֲ[RQ=a#$coɨʖ.P#-00-' 0]Ɨ0if5P4!8fgm,7;(- a= k;bB\4ֱlOQ a1-fU,Nyf>QU/X/ka%Y3N~#,aRX"To$Źn.KkY͡\X{.zPr-4vʟ\Fs 6!(z1g]#M~♄&ڿ7_Nw|&HaIlLVgbN4FȂF^aDJsg0&D|,W3QXY1%oj #GY\B|l4cawև/>يWEOtjPRZNiJ&ubަ-])vev2 S䋕_ES14DToFA&|SUsN(%ϧ1G)Z-3ʸB*5c(ID 搕: BǘE$3hOK /[*xUAVМR{*Bd&ƫE#u9:ӧ饘8`C21DOV{uB:{1J"J33HxyVBuY9jG1bYY% ʤ#aDm*U4KIŎ(RJ,8S4rX½D$p|9]6"lxks K燋'4M`M!u5.4(3`*͘ .>Mqd3Ac^qⵐ|ACl!oIke`{7+,8svi ytM`Б5Dz}Z*xt&+ @0i7aN4uso D$[Uf r hL" &A+;5^By 6durQ)=7Q Hg;nPCʨJș/U.z԰ UJb 2,wZ Pҝ&C> 1Y|}3Æ:4 -4StP?`\F؝IV("uNGB&2Uo0Qr|Ed&]D[2P|U9=@`|Z&"&HJAː2URl MBx D* ArfFy Q펦# ra0>l$|X #JqQ#hTV=zah98ϦcHB>~vVB/5I[ !Q2L> ""c`hl 8 2#2e^$uvJ+"A'vS,s%SCοĒ]ԷS7W_^iVZ噉 lٵ-wٚRƅzD*P$@ xFMh5G k~ߴD=:'(Pʃ1L!|ViS[N4 r$a&,OW:w-& E,e4,((m Ӹj0,Cì΃ADC""4% B%V?qv"j`AZ0yA{8Qj8qܓ% )0ROg|-TQfu",Ӛ)n]eh犅4 JxpCV3渣/j83L6E4#I&Va)-2*vAP%BHgf$X-I cg LVJ).4kAr]Ly "dsJag>zԞ'Ў //- . 1`EEA+•B)$H6Aͥ nisL+)x2-׎Z931mp g[˕ BXC giF( b $$ ӐyF= @lAk" 1fZڢCܪ_4Q#|YzJ4Ќ`܅\E!%@JP "Q̢ `Ӑ JR !F:@˕ (MelQH]iul(EfLiE2ER^@052v`,eH`Qo(@4(E6_Lvz7ciΓJ#NXę&FUK*s=Ѹ] _oe~Dϑu\C_ғ;^)^ܚIɤ1@ >%ӈ#G8h[iaK̖y PVAB ډ4 0戥XIkz8$jwj4 Z;b]!rǼf*FMTWWtWH}m]>Z5ock?#ʭwl6}U"nJOٙ3f~L~, B*tIE\B$K壦q !G  P@QAp <*Od,sFDs@@=R`B!Hr a )3d*PD@DLe#ZeĵW̩W7,F".<G:*Xȋ 2L PCJ "d.QpɈʗjH.=<Ͷ]~?sQ.Z߼NWVWc``ԂY&i[=fD5s@_g'q^%X^FjO!*JDԪk?qPt͇B*UȌʎW0 =2E8Ma@%]# .VsdR2_DٷWr}" bysd2Y K|Hѷc F*0+Jʵ>V0ș!dЈ+W*e" o~qz O텹giW CafD$T͒.BAm?_BC .fǟ,D2"}°*X-i|jX~iǒcX Iv5ŃZ ]ĕ::=9ެM%ۖ\vI7#>X rwy~j֖r=y"BL\ HvUfrJK8`" o uU€{{>bGe1f#۩Rz\Y`q8f\ ^Èt><ЁB "M2cd!LM#0ٗG! K11ƣqVM@є> N>:UFZUfs" Vh#W"8&l%r+x#jU542$cW/.s3Hb# гfEZL49Dk7,4qGuȺȃI2NaO`e@6ĩYВ?XZ$KɔZ.Xiﰇ4MRCjD7ĥ/rK_0o92{S'5\h>@b_ IF^Z;# @azCSYdq2PCKȝ6K\߶'bo֦~ajg9 3У/.tmuFL,Iga\Ck15)$xD! {&fJ ?qN6y橶M)⌢]#j#So`aXEWuXԪ5z.Y91p8f@Kq)آy;ЭRb•Y+i/CP(MD}%(laOЖrx>+2 Ծ@ SH.eɦmŒ3qƴۅNA,5' M'Hb2}} X6H{ M%|e3+s"EΔcEP. ]9yF2rg6wW`e )yʴh~jy^!^[ᓗ݇3+)]-cg\\iڻ&}ti)[h%C hoQ  H jHYhcj^쥸!LIfrI530W} $TPdԹljQ8)$rW{oPƇaIN$"z1e! 1zh_=-z${=K/ґ27 2h̦]qɴV_zĀMY:B&C%5xT|hJe;Da8/6&Čʢh$bPTMr^hNNXݗXe*pzralZ[)B:TBl6H7Mj1#V¼lWp^J _Ѭ0b2Ю9S#'D)\ z))T0H!L7[W;TrY5VYUDY L1̉iQZlHKNS&[Y-a蒨u*0 ƙ–&F3&7-X I:>L'$M]܊&Hbg]JPdlԬ}(4v.^b`Q, b(^JxCsX~C gDG,W̹>Τφ+#QPЮI$HQZʜKE}ʪ_ p >*xGZ[anHOr4I+0o5niMuFO/O{ DZ){ 1^GW;xOAJd3BV8;AͲŽ}r| K~Dy0`\%lH.}<1BSD r 8@P!U3@vm8v* #9F:qVRzHbWEJp)6s, /U10vYgZOa ZzzGߪ@XSG "BlxP38n)၆Ƌا%Re34u=Wu]*RcmXJ!B{LRfU+u}/ UxD(R\HGENRY73VuϰZ,kfIHSzȍБfyyZnߥJzIJbrJP̙J.īhDZ5BךR6=hWS}[iJ~$|TSu$Vq8E$뜈Wsد#KjZ>,7&=(.n j?7mFLPޜa%{G)Vfb:oչQ"5K-DVAA1VM B@cIAzr_*( %,YTYDeAF7M{@3DؿȾB6q?jCq w!-+d3)J{P5$Vv,so]ss4SpW}(Uw+_5a\ѐȆ% ̉`:mpTBVk$F,䐽 HyOE#H 2sO v$}y_ D:U_OJֱMk ~ d =9ȬQ(P9 MNPtiIu@Q1ZgK_UapV>}]ˊ$]ҤJL c3ܕr( Ă{bf|!9;I()  τdIĖҥ `Ydhr4o?`'Ks%LB(?94b8ԯmYjr6W-G#N#/n=V j,M0TZXDHՔ ǬOod,H:Mi٥Zy%jn12J:.|"D逶/)ꭦZĬBm,vԩaQUee OKb^ɇj.Xf!C졉a9ڕX \ 6]S>`%Fa]z}9)x[ eKhJI[g/iԽ҅Pj(- C&FMAiGdͰ@݃ȱqD< rՓWUz c_nuOuAa' j!FYeTOxo&'@ S[I3 Jl.Ui2L b*Zn/aqoh >\M&S?GXh)-)nm"PnNrAl9Մm.j#ݖ g!#J:(mQyKt`n I)8Op&%C(RqX]Fa]'x_Ll&U)d|~"5$ۊ0lكMk f/(g&gģdl7[=7'Z2FnOH`~:Ǣ=bGVɣȀV@i):` (c/MȬ(RV 1%W38[[=1{-'"(/i]E1KϦWEpvee j/bzg{﯌*ms6D$ZtpʂkkҧĘamy;'e QNn)h^8gԗ=%':pRhLZ:u(W6ZKO](ZDV?2a/O /-h@.x.cqxWвUw>eY*A@_ Xҙ͈UAԯOɁGgc#.h [,< ؊9XUHw 2fϚL&/+QOXFM: Œګ8CIunת }2&nR Cm?iOB-XH M$?Ϣ#M| "Wj.vCuM^^!}]HcItO6 'x_SSw52  +\vZ"EJB+4IalhƇ{I ʕ(-]?Ȣ#$4{ ;:5x=v f>J4t*Mheǡ+d^-BB+Îq"'}p* 4P ʎɣi< mdJdi±.nl"2Yj8,2˓cHmpqq.\gYV}ȨvYhc"הq׮~*xW rmnp@`&:O?mdʣB C?b#Vr q}?t>˹ɪk,*4FAwNh-X&7iи[/HIP"MddMߑ'☂.*MwlOv%~Ӯ%,m=PK FEꤒP| Klȸ[Ѝ2R+M,[ qbHpJ(E`"j OD`ιk{ K|DĀ`?EiNW*10a( CsUh_71̨VmPGCgE&NRK\)bְY4d*#;u)LD$ cYyp0r?`fd_Z/ KAZYC$ı?J<]ɥ8,}ɈʘGTDHL"NPPjPOOcOFOt7038}OxzU.Q!dDzi5\Cdv5GbikzLics"zkOksAnb/i ZM„;*Cֹ>o-)%|i¥00 }6hop6iGBZRLJ;fN-^nsY~_f*C(~l>m 󯕻(#3q٥9'5T n{2ԗW a~~nrbi&%a*L..vrI;M#h%ӹprDt!7, 5CDQ ǖ FRߛ5FWK6<&H)oBr(|Qbŀv N@TNDkj7j%:_T: =LS"nr3Ąd"\h&*01وCuD}E"6[n2)#vqF o\ 7G[_[[mNY볺G"phAW7YG2b)+Y06,اtmQLXZrFT-,i?\ʇKl|Ol*Zk>֫^+M#qFZYw/%:qp%UNfaٰ5su@ slt(JhC" E B,Z%mC"2CAnռ| Eآ;4 '`EC(FG34\M)gBmMdܮ#a CTK*2INIiA!`y^(:%d2mktְn|dCcAh=r>P"9~3EI;"(I4&;^3uC3_sr4lMď.ګ *SJiCD85e>@mJU-= 1P3;D_@iʽ܁}s_RbKFQm=.Z>[jY%]s^ 7:#' | VK)5ALH-U6I٫lJDS9>,b~Ćcl~zrZ% _Čx"^Uf:O(h{>|\9ɳƇ۟OcgC4s({B+Oћ>r`zIQ.)wDY3#قsY 7@DA ?cev=0xly5;D Yxl#**g쁤9Ѓ6wƅ 1:U%.ީ\-M6ڭ0m G /䭋xJnjdQn;jCR:'vQ̊!f( n QhɈVNzS|G,j+1bְp_4Hٞ¥a#t1DA@X, UX7٢t!WEE=1PON5j  Օ߾_硖#+UgS!r"Ot  *c//ر) B?jSXP Eqv`ɗr\YD !Av"ROؘ|U→Ư\JcƼc%/QpZKIu7S~v8$b7O <:o m]ŃʷPi:DEᤦ*=rP\Nx@* ߜE{ta,,Vs ::+-2= ˜uÑTG复8 ,)1g9 ]9AB+%" 4eOca#F|YQqENk@}#jm`X'^Ö)vqGR8;Zlr<2[뼡6.XC\$괅8%F[ڬ0Qk_QN# KdT%L2p y6^QҹT`lլOa:)[VƩ`ǩ( KK &C! +6J]in 2g% BEsj)Ow,RL|-v|f'LMAN>i=o_TNXҦa5p]+^ Dޫ8ܴ Kܱ4m/5WTT Š|t('5 nǩIt臏BZ XyMTv~ȗm >u_c(5Y%zb[豘t&- XwةD )C(#ؔkCBFM_voѬ(% x]5A&w۠Jab?5(vOоIF). 0PxL'"bٽ{]GJbKuWEJu٫UǪN51JpViy[ cAQ=+9m%mq^s@Bb+\NE⺋ ػ\,8FM`!@j.lM=$' fqpT\+J5NX8BJ)z)۾KD1T@֗W( =DI*ֽ6| &bAtOZ%9R }q0T;@(Ak+L&F\VYydbpg֓HXP"vi*IN< Ǿe5V*h8i˒~)t|HrF›IЍEec| xFT퐌 )|wC fMCTΖܢ-ԿzJXð@<=7%il?R7+%+U45ӄL+4|Y ":K\Bbш3 Wn"ED'³5E bPRÙ}&v$ەH=XWïPؘ`tI']$);"`<\R((P0,@ r!l:+E0F 0XZ$fI"17ї>+ӭ dS ;-x$5g_|y)A'nsʀZI bܣ<щE7;KpS헱4*h \tI!*U&kv#&b;q/&ڍ^ f[)!VX\RնrD#J&;4{RRp'-fEы v"Zޱ6Fd2 X/X]mSZ:]n#/a2I&Dod-2 o~Q2Z.FJ `6R6{8νLi(ASͨ6>_F~gv9T2|NѪWo1FFa%3vS6q|5R8hEtPG~>$F֎3UAdЛjWXk#<,+L=d-z5[Hv(Iz7a( E>f>NEZn_Z'V 򦼢a6Ȫkc/$^]zּvvhRd)!)SƬ w&WPC4LsPx.GDC2&tbc"rl%o%|b@mJ C"#]3ַϙU4_a!|<p9Ė9.ŏO4Rߕ)61[x%_% /eFݰGSߨdeF/γ~#nV2J'Z<;UOB*as:hh܋dc$#1Pgx:WÇXGM\ dCߝ -%k3 ز[E+c_J'x#jDA#o }d4'} @5t= @4ZO2BVS_/iǥda e|VTNF[TF#B]QɰŖyQlyWkZ K}yf>'0}\XTw s$f 6;a Z2lYB\l(3P=OQ_ S,^aOJ+meG!-4䷲M:UJÇ{֢tXO˅ċ3 2{U-!Iq$9"0ݮ=J dhoq(t]#iGQj_%W?G&Y~.+JT7Hz( WȌ!~|V P?b-@5)Hݬ_|?W%(grRa~CH+s+D{z!o /$r, S8"Ű> yZ6v] O72uxeBYI_^ l«D,RpD B |*֥Q뱑TMEHE 4" /vm,c_)Q7)tJeL *O>Lͥn'D[`0 kJ$XJ`V~"($M f)>Z"d* Y_?ڇ Z2Bs0|ɌЈh^53cOZ?h<5rfFzE#L;F,}?`͋V <҄ڄTN8?R>NL-#@pH2*ZKĝ>:_HSJ܁X`-IR9;ў5A-k7LwPE1>96TA DVViG+=s DbJޭ ɂj|!]2) 's]\ڹE=f)7 eIs*D3?G[L8eIX.;H@j@S9.1R<N 霾!gR`GKZ<}?Hiُ(, +dlHe,CBx3k|De6A2R}l!ZJPW H\YdP _֊ddz*}5 G$0DJ]X].퓢Bb0}"aҢKXj?r&ɩI:70"msOnt9|Ȼ y%^MyͫWQhFqyPeIGEsD I? 0s+I3obrvv"ozEDݮmUf_jDQRФNl'h͸5"Awj5yGd̂r07+EĮ2K/.`[0~bZ7:Dz8 YW:Nq--9 cI$EqxlR QpܫB,JT]$qϿg Gb4ɻv2]HԢsšfDtv"sB'9wƩŭ%bu):̘zDDj$uP/F%/X=B-: qr'P/5)*ippQ9MkcAH_hEDʖd|*',Ep7U<*?9B@?%H2Pax3 }Aq\%rv/A5;]Nb[RʒD9vbIztJ[2JsyH*-ZzJU5iVBZ3I*J 9 w.ON]suTj{7 ,HVؼ ;Jb-_ y/hKTFoc} ƌMs'D,1aDRjqHNDP४Q Υ`nfld H KIXT(- s}?'5IfQ:啒0 : HRQr{ρ1Mmu?:5qr9v]b&JRxaHk}8˱WLCx)4c3(dH0SSre.owQcN]+ђbXq)H$:ko':?w/bd]6Fb( ÒqS(}Vq*]eS =nsKD09̯\cSzĬ1^5P=2 VTrm0g$l(|jB҉KJv,]cXT'A3C'q*>!ĢWhO "?;O#Fz T~' w>f-Rn*Y1T[diA\bӺSRsUJiZâ52+e['僒K)iHH= KRZ4l0D;aw]ьN}5Umy.k֖]D"]jOg8Tґ I?m~hف.yd dA~״ܛm8#ahD'6P^_$(U+WWgkEZ"OcϜdd4ŊOyÂZNPU$a%gkI̎$)IK) /AA~j4MV2/aOAGœEZ 4(+X FahiSA4i%F,7ڶew}Mi]aTE<'>`ҋ5MUMAJc[vO !,dNӍXVy&?h- n(ܹgNe5fCal3/vZ+ ΦrD?>B#=95I &?[gboǪv'x97p{zf-VIȳUArO&%;&N)v23&UVX9 =4 2#MgebCf&I9އ\QlߩSJii$9@'F86R,J%6pEN?,Oo`ۃbt]0bNVګ.f5M! 3R9Sk))A䵩D2ST% ȷ%eGf.'quh7‰K8HZx)7%ZX\uA C#/.ev? НB*],]K!Kۖ$dDD# D>\F+*Ctg(FҝԼ5Fs,#18FTX5Siʑ{q@eĹK EQ0$-FRꑡ0!>e&;yLl֑邯Z$m9x|a;Yd9sid@ |ۜ4@kɶk R>^yvF"ettAyi8E3ͺs`i$}yrӽ:_hZvSu؇*3a>,P9  JX8' hX.Cn.Lb9mZ,:}T e-B7CQq)=6ʋ%"tG)LPNQ<(RB5> I޲6D8RSw5B2i|O@9<Vv>@+hOs&a&;? -d- 07D`fń!UM!< "h{/7f b:m&\ .Ƃ2xkFJ+` cK4՝DT0- :_(z4zPe?RZm9PN=J ^j@t.|rDm;ߺ:OFǂTRBQ,ݱqcܐ"=%Be6'Ĉ;L*zCWstjhhêm% *Sqx`q5P]N:Ġ llHۺxeɔM&]˭&+ne01c m:G/&&, INǩ΀M0MViY97Ur(JlhM5"5,?"D$H?_Dc!d(*ܾ a``,hV|m.aq!*|mhP7|0 #Ay HM#!1)["=ThY-!*N܍J^Gw/ݩaLH"Z!,Jy!UivF6$Eȡ Y҇$Jn?d-?ZFbЮYk-d6wO勤a,5BNHAǤV? G!iHnbߜCҡ TJWg'uԉljh~j:fЍm8="zHŠ+$hBa\sx(NXDb>rLb WʗD!A2'h+JQfNf2)|LR݉Q:yW"KcK*^xWӊi;i%fPm_v P`<~xش-6sW3ZqXIx&QԎ|<@Y"1Cj7'넍*MB1z+?c(ԚG΋[D7 l_y:Q}qACDzJB{I[BCRmҴḭd d1aN8҉_OC|BjSԄODޯYɞ{7bS֡5T>uV?S%JNo%SZƾsQ>Ki4*(d,MJy2?ԭ{ޗ+ eGVJP2*QI?x4p*7FEY &6fr.uRTbE9!QJ k̸EnxbCȡbDL*$`CѢbQk*P} lh 6u3`oh~np+n@ũ Χo)(B82ChБ^ k _v J%d1zQ1#V.}U KӋ%zbOt Y^PW d-#aGLdKsS$jt 6g"PѷVI"s=XU^o!- ^t "}Q4j],1ŠDI(4L[9귤+ Y(WGě1i#c5cJ"؈Ev$Tؗr3)0y U'SqE=Tu oAx=)q|Pյ@#ǰn9Ӝ~|cЛ}ȒpZ{\I3yFֻ|{\vI )K("Gi D}owR6Mݲ?oc=>a`E;폧I aqĖ"5&S}֞&b5cmTZ8 :!8*@ бr%^Fӷ\PJbX^z@<%ϸj\P70V"-TV `Fp%<-͍;Q CNTNr@e1&ƇÊ\5:z )!i䣠DN#h'vV*b{nC4_],8z饐A Q < @2IMҗV]z rt8GT[C̈́6ЮW/ԕyi_P rDi 0n4OnVػ%D9U[tP P!Gh?E*Y%s:E#'1VbhdrXN#a"8Dm ›c _ u>!p =M E'ұz(,`LڮJbxF*Lf̥|vxݢʖo8] yFW?B?8ڮQLWIZzaq@.%#i>+XW e'l#a&9.Aan(* l[VטԾKJhq V=`` JUbBHAojf[klhT0.K 1f"Vy(X|8*/R /H^cK_W4VܔR/\-b's$Apd= õ2M@{DW)IoJkkŋY!X2}PKjP<1m D¥Ix;ZɃ)kޒ̍'WFΗB!J2N\UV!g=Z^ n(j#Or'Ax幓SCdյhVpJ2B%nUEffARLfT$BSB6ܖ BCCQ2x0]UYғp=X5VI|=?2I\2RqO=kY'B畭%ũN"YZKIop1M+ +sSh!4);h/25uAqYc,Id-0"RZb#rեTAQ$F>|L6j%*,z1:3BdWťԮ=s0A]$1 g*pӁ}$T1uVҙ:kN.E7}YdP/hk#n]VҼF:H밷mgtr$vA߂9ׁ{oq6RmUdAj9)UС@Ʃ5£7=ԣz? $&4rmkSl;G1&| p ,>_dY0*}` ~5=(D[n}#\{mQi(ϝ5)  Vˏ4".O$-Ro=~v7;_ely%^RValQ3Aw 6]NOlr&}N%s^ŖֲFۅQ !$j cFfDV9N$$9 Hx!+ى[Ed"`0\=cXPʇ{f*O<$C[̵9o>6^ Jh4ɈR#Kjb=|bԩ}3-WKiv"G@]V^~אDsOa|cc,L8iF^w )R`Yn)S{ϢI%5zϜ?Ua(4ŃF5utM`Nۂ4~WZaJPᤝh#2Xxm ՑSJA ɮ$j.=d`0#q > whMBHs>x\KVI -6@#K1\-.UYg5Wa l yyw=QZK{O˸tW'fo|ܫ3 맞) elfv R6įwKBC/oxk2 KYm@>n3Xsԗ! _0#G!#Z0+ENU-<;/*S;ޥb3î$w1zZ!iOD^kTЕٌ0_#@`8Ͽ ʒ֘ש%|#.)b"%*ϒֆ]:ާQa֥6/,L#0K;iYqWK@CᗄZ]w^r'DwmV9C*U#?fma1` Hu2A*O"7A}0 쌔6jDTBBy_)ĸo {T\NKlf &>-s 0'4b?1`߂v@Hv*&C1.yT}KiEڈԎ'F{ӥҚJ#&T6f,!U 8kT5P1CNV'⺖mkU m_8kV jw gO ߑ'$H0ooRVBlZtpR9OvwZe4b팵ϓރ^{>f줻WByV{~73Vy۫!e@o2ыY@GKAѫ2mťVe4$oK#>NJk.xݍ|=Zӆij‰z}+L$1f~$<_\c "DVְ)Trг7jWcÖ^y"G6-|KPoex/1r7>R:/YkI"uBZP?t7ח;KgS~sk7m5şg(2 fYJwj܋H:5rZN'- EFD.>g'1=]Ym JBImw4\ I? QiY.&X}&r>FGM ,[$)t\⅑T :fݵ#6P]cʞCİ Df%t,ꪲb>ADLħföx)6' S^cFg+tk1v>϶r0n!0,gnC/+(q4N>Cئ\SI](.v$[=|bZ$BvEI5m&rV4eCt YC</88F?^g2h .K"蚊 O2"+-"l}#f N~\#KVIMY:e.ӕٲlC #zrX< 8DMVo9SEf%tU8:]Bۮbc$йRYDW;elX`d.2D! r2>tB>a#}v* ƫɦӫo3 Ba[~ЮN2S5+eKS$YV).jjJK+zKT PHl|T: EThw.`K2'Cz4:@hbZCL߉ dXV/Q}VK_G5Rpt(K!"6Ȋz'ɾ\: T |o$g$^,w8e*[ABL2 4ӏ)LLp>f_HXQ~fIWx]5Đ9B'lW 24L)sӉtV8bPecÙB"U>IИ Yp- nB11+A,leWT"& ))i59XL|7Va TvjgbIk@AӇT],!LJ'C#L a{NKɤӁéti(W|zQ+=k)"v1:~b 0fhUҕ-U| %mb24@AA>B[Aw;<PyR/}=hO_I6u2F|W&7Jh,2[?59 rh\HxAYp4js>WbJoc1|xT*ot{lfMI'pi3<=imJؖ- ABf|Y!7tBz;NYt( L ݮu[̅bRcDLxxX_OR|2Ǯ"AI,3R#i0zg`#묱i>O[kNԖ/eJhG|+;F'\0pY_ #ZQ:[t},Z#`Hfa5laH.pQ&~Mv#tTrMN/aO#,QgKB`wWr<ק^}`a,F;n (n<UdVA9~A,UK8DBEF]5C`$)"|ӊZ޼X6 4AAaY(^ll肺ڲ [ґR tS=-D`Vt3(J[nH{XHbD@8jd՜.DZ2Vz*C0+8]_ t_؁DcNiuY0I_B5PN}|JgH=qi㑨Gz2 1v,Ks4+\iZ،DE#ðp'!B*؂'Xd8uħTffw?!MBշMATtze#ji=y?u^` BS?}rI48ᥦQغY ǴIJ'=031f͔VFC y\pQODܑiM"/wV˴kVDVc p|z'V~tPEwƗ 2I[\*Ql)KyP k U9 nH}y~l~V\_iK=ҿl͠J}J_ԪУLBxFo1Vڎ3H5:& Is+UKR}r 3#IJ¼0MnKTTQ;ʷ[0b6l^ӵ4(Xʳ026W8D;k;`z~4՟"V3e2h@bK fRBy3َ`qoR]_ /ɳ_xl~DJ @U#0 $?edqċc{xIUi Y?n7QhuHk Ci)%n^ N7>`e8gIJY\~E[Ϲ(SYI׹zn"'a`QGP81ynf"Ev3r9!./d8%!>LP`~8 dG!xn!%/J_tjQF43X+5Н_ES ]\5YW/rV>8"Nhu (GeUM(HttAP$@` &;2t"4u69kvrKdQL8zS%KmVL_+RV Gs-i|K^^OyLw!Nq7kEY6U׃HK Jx^ɇ?g=`lE!hAȍy-b:`r"{r(U0\ Xӆi/稁HYȕB?8c\d\x|n7n,B/MXK*tm鲞@ n1(c{eS Nym9`'3 Cx-i-Ĺsge> \&\y9K=K6 ?c$PvLJMG4+B*ַjg'W.%dg8vkK6_It%lE~1qV`l٨ky''b:%%(D`bF iLGT=%8)|eǕ`Ax|WT+fFEEEa)j1 3$&L@@L E $f'1=}HB# է As.%"Ԍ$᪵[g@ ?hVT/VT%  !Goq*b[zO ĩF]%VU$RH5D/ F$'^$VO.${R,*nFmPV^cJsIꅦ}1K] rE ȩݨQs/6TtUqHVe6]Yg][K/x+WY6V1x9Dލį :IG 4}1XTf^PFըDi!v9Ǒ;0R12pKbQ9ݱ 8 Hx؜(ICNvqlY GQ2$ts4#`'11r$ʗ oA!5irvJ/N/wQUOn_z:ߌ՗(W'Vʅ[ J5=T^Dr_xLR +g[H5e|n/ā[=FFU5UTsZ3mWIi*mO#(:.D_ky0|.yiB<zYFIVKWh-!!inSHS#ž4ֹoW=>C8&a2 }l\Ӭ%>bmoZ`(hA1؁5,9,x4 9pB DeKDl*%XmSj%R_qL FGHezʂ_; S[8;.O6Mޭ7QFdxrShq1[]GhxavP,!{21^Ӑ*$ 6I%BE`A:"p?375MHQ`N%Qh&="9'cCHIBFH8NӒBS$,JzBAܮyd _TUMVBBdqA-ץA"HRGEłvDVTuy- .IQ19-H- ^u},wc^chSc IF='5| z=+9180ۉݑx}t3FPyL-^ف#QcR gdn=%iZN2Xy؏wT ex@[c=,-t]bNm7v%11#U`ߍ ?\I/~ΑE4(gS*z^&RW,F˛g?ShF6Pnᨂ>FJF]pȋf t_N0:DGitL%M9/̜HP* MEȈbTǶ(<&؃̢͟ԎBy5c|qIܝ/d G5};"#? TdCzBaQelfɟPso2*Z.r%Lr2~ תOzw>99u8b264=uWZ5'GH$L5n@tҔ[ kZ%c,4dI_#S EE,JQ?,,{{W־O([/Y"M)Ă;,e"$2:IQFfNp5L\ao8ݙf=J P&3&!Ke2k8-̸=xXL"~J48Rip֜D@&)h[M'iڒdEb.VWHFv259Ua@!bqAOP °Q}h?Cj@/ %,GIr(Gk(BB}+ڟn7F} ¯lb/4⹌ÁB_"..ʢqbAߏctP.3 #A3x? A\^vP&Q#{^FN[ -1CWln/搪 Elqҟ% 0B[} g:JmE(Rz: C !9|ʽOA5{E8QjpUU:8".%m>P}OZ^[´DxzCŗtOgP|C(Rlzf9;d0" cHAME ų٤WjU,4qڭM*r-?#Fx)I"\,6[Y*LYu70Jx*Ffޕ$Z?:IIqKeo3}鋫- *wӔc,_ֵrZOב(=0'N-;y"J)P,Mט`k[Z)EdP#-%+FF\.i{k2ثY9bK^6FR&;S` mg%p m-bS"\HRuA68X`9L?Re@-Y,:"^'Xh΍(xlF!⒦OEieՈ`2U2URx_5=w~ױ[eM.ۥC"2әy/Up_!_qhij7= T4qgtzAôyLUxj:R3 _erfa#+ ϱ_[7 Z ? Gt]Q\Cb˺7.ʣCAV;B Dז,WN#eCU^KZoaG"**ιT(:zy hJ+#Π7r"BAsn)A,ȴ̗>;[Bp NP`@;  OZa_T@r`lG3#D=I]6ķCƫbfhuPʞ{/MsAke (dXӥxhX,;?ߞ~ r}2S>]1@2U6%ELAh,7BOꋤm7L䌽 2F`*oDܘu14Cro89D MM+a-[H3F[eXSĝk^ӆG]vQr6yGX&'wCdh"JlZ<9!}n?#{"HE pENh$)̄+; pDk0<$9+?k5S4#!D5gb :[Iw[ 7ۦ|?BGpGCdYZof= k#sܣ(ffQJlTndNv,V kK+[X` H` )5B풵~$1}Q@6C"X ОR))Z x řy+?:I Y.z5~h+-N몜+vÔ{R:t~һ_\cOghJ&6 0U%0˛9%k2FDZsv{i_́*]K &ʑPNOˆwJ-hE"U'j,2\FQ֕i"lkq*Ac4(H tAFcУKski@' 8"t5Fb/R#X]l%H&c`C(٫+Y\5?$y)FͿ_$ o(^`=k K"#!*vYۍn)Q4"(×%uY4fWOeJ::,C7V+1 ˋu; X/SIM$PB\E8e[0|B'I"!d%,AEMu)uȲdAtWV6i}KlÃ4sU{hayB%})Lc8YiBl9H%7N U6u ޯP!lqh E1d!;: Mqx,k/k& Lr0  ʁՅF~q»ӷX$GoʱjuJu֬2mo<79w䍖F0L࿹H ۥ#.f웉PUl7y1; .S Y S+ f}7&tK'8 B`Gdϰ:gYiM]0Ңn#7 :DJ(Ic wv*X<3Dy)YȎ[dmb `8`J%v~" E5&A+P_R06:`OCM@3\"})/_[MC*DNP:(QaWXzƎ"!>OuqD#ӻ:ztt{0 [T߽O.ݥc5r}O=FwòN%`p$<N d#d_-{mnri0=aZR1>Z !%h0EƢ(AdB&K2 MCھCZ44ܶλSr3ϧ)%4j m6@ެ?Rߍ-.=B$"R1Q}iݍ֜P8*p`ZgS̷-΢;:K hS}cK)"#YSj:% z؉w⫔ץwԍ f wUeW0r\C~}';" 0\Z ] 2&A"u)3؅ݳ) FRDVaO/sL6gS206b/74K}<5[! L3@< aCf67"dBk8O6Gvj׫tldDO?.+hMmD$0$G"8cJJNbj& ц~'%0r/,]IH^"9srBHڈm*1}):]47I*&K pMV7 ҷVH9SWHɎޑFD#$dU?"%&StD$TT쵝|q$B7ёOVuPD46kbY˄g 7@Ldǔ0oJTWZ8[Tħ*ӢR$H(-LwZ]{ePLUh"|oLZh." NhTN>Q0+@Y\:Tt9@ΣK^NU: ,Fǀ Xl>:G 15# ({*;~'MS=q\DhDD\/.k+ mߒ]F3nk[YK;2gA ejn= ޅ0m~9dTEUZ2-3ZAfx3;c@!W]܄>N&_ڂR~0`&Gn8 "՟ӊޘ)M'ufoJ@ kxi'%*/X.w|dB$KV+["P[U?jUD@|9 ЄRMb 2 !le҉*%vZ#o^‚M݇c2&)0 BUqXA fSӀ^'ʢMW7j<x5K(o3b"Џ/.˾\ߧ:ҰMc1TQ.<*Q9e%̲)O6B&$:>6I=wz|p>{^n>hNb+TYK̎TOTzLܙ>qzb%–XCgG56xN3(U`57j 2Wq0M ~u8W'Ӟ8(3wpSIP yR3KHUaq)ugГ}' xGlh& G&ifC20j.:S5)d,JBUhUx A)gBsKhmqi !P fđ=ľW31D>s=D B-. ^گthd0z cBp̐ϊ;US4"Ol #4:߆So5") Ȼ'M'rZ3ibOHnzt]BUJeǯ@&様0DZjuubEUq3CsB:U*{hrn(AÝ:qDuQi -%'2J^)C³^#ⷀD ^ĺEVpRn)Ka)2L8o-+B %حK8. l.H#RIp`̩& AT7K`'4Og*H*4gTBm߿V$Fad]I+9 ̌@bFw$ԃĜ|"G ޴t ͎_OJ -GN$quDږ&DF<ʧ2)9;9*΢NM|t#G$SZgLYX;/387?>̬M`E:-+v)ME*]ܒVboyA3ZVXOIeGM薍~ğ"7¥}rQ.|,i(Y$YDOto:{ kӾ<_FlVXtfظ^#4[6y)FsrU {`jz6aj0-54Tey\(/g#% cP,!D2Y%d# ɪ2oegOwA'0WO{[kMI-Ewfq!'#$k$c4[Y'. 'oŏ2?*4@xisԔu<6 Gsڱ\*ŎEu1sb V7"IdƖMmQEhF<@0"['vSyNM4~mBf&t NSˡ3X1fR@6T\]YQdDdhFJ(2$LE1@I-: pZg47W9t>|I,Ƅ}ni0d8Wa%rntI2nI*H%7" #uI-XF&2х˜H:"22kVʛtBc\ b㨉%9gą'ȏЦdЀ=;4WF/rl>bEv5:ZSf"Ӹ1Dd#v#I_=7dW/_EtM!qHe[fGc?+-MxGA血D& * L65bɠd-N/T鹨7@G߈e-ڃFՒ\W-kIOUouQt*m}V. "mLHXqTIx("4gE &pO^^~$DQ1lo4J*Õ̗pn$\ibdՑ>P}J.BiDH=2T~-ܫ gy2_cpכ7tWi ;pڗzߨLu^Aew0dHx9&P,~iME w?8+>q$vCvϽ$Gjgt{?HWdgD!vI0s({Ni%H+B &GR(a>]j:_7-쁖kAT*4FJ-ejkpXR4%>iي-4a,]`>&\PFGL+T}:ݥfrZ2U"-W @ DBl'ÇYaݩF_x{5WFݨPeJ,J;(eWS`+a6"R>%6]voc"D`bH *+~:Y]mf}K+1x7YFV7<>,]:?d;wY W'I fTˬêH&f.i׏CȄg0}9ggi Y E6͵hxUL*3=JpU=~L<Ɠw+8IB[Woyf:oaAۓf`\BVH&N ~s J_4++<ҪCZXP܆JnLVMEԂQ:=N꧈kHAV2h ꮣjRD9P*þ\fzp4 KMv^(r%M@(rk00/e4#{p%^5x]=V4I_A[dR}ґm"tn[$gT[ vr>>r 4R czE?h4-'wb!xA ܬr]#.0ygEզb UGLT 4o @ӱQEfuX!ΰd‹F̅zzfHBR3^y*AIV# ^aDž4'=Nm܏!%p_+"4SֲdG”Kp_JV7c"Q0;QPX9k!KhN=e…?jp@]LNI-{\7 f|ٚF2jP"rGyd)^ns;P|Q͈K)^uKC<[2ȹ+14QrGhh@Kt_Pkq,GTD6Dt9݋4uH3Z1iUo+, "pE4i/!BՇhsgMGھQ9ON!|=fqIM;V6>,W^ܶ &K6-o"Ka]o5iB˽A?BJ[f,0Sv]q0j|钬$V@mR2O嫑$FIPF><-(.TڪpD ~hgcƆ``L$>=ŤUU:M#z^v9Ѡ9TU2 ;CB'JMdAhR^n1;S-i^L2#]&FF5SqVMkHd+Cb,porģ:SpH-8  ?,4A,'3{Eq7ܴcķt"{m ) ־ӥN|*; [ĔC36 ]T[wT(HbYmW1eފ[Մ 4DB,f$T PTH£o/B,ȵ-˶qePlL۩447 p9>}gObU7$;`gژdÄ[Q90Z挩5ٴS fxr?gJp[CAډNx\P Q(3l_/e707y`,NZ(=LRF/dykib{H$I2*p$\ qg{,0aA^6ѷۂoYj"BӷZ*S\8u\*R# ~ے3Zd̓1gжhZjUpw 1>.u>>.`{we*0H S-r*^ʆsAm\]0yJؘu`nx3WtM![AMfP&[dQYò~ms`Mr[ 9s?G 8_>`TWƗ%^wE6! N #0ZenLők?f'LHN䌚NohM,9+ >Vv3FsܹG A7CTOPItd"H9J# Rcs9~F^@iwhea>*HܗQF ΋9x(d+$@<$O3fqY6d^ba,9պ"KUr TŤ$X>9WTBrni:Fl+kW 9$΄zoҬԪWD &M~v2 oSZP,0BL\RgL)|ROBUh51z / &^Iv*wq%ҙڱ,XG|h-n)#Z!5},IaZ #74~E /!l}$鍯j-ke[,dB"%=!MAA;v:g҉gb_A#Rǝ~TB{]XA{TjLU   *sar()`s-Cr$׿cYl㪫$ҘSq Hk0UģZ +Dv, BjJg 4A2vm_A[ a}ulWCJ2)ަOU#G1H2Fe eH`lCL&Ri棄AuG"D>4h?Z4 1Q81UBL3y1HX4_EG0JˉŴYs#Dm ZH 9eI0 Q!J`']thAi'"-ZRull'HM) Q)G% W @GxAB$DdpVB&_v)if'f<$&rR_.DE &}zCsa]~{ܵi9_:W+nX,E3 Lݙ>nrXDߏBE9Lv%,0)g PӦN{ Sp*r4ll^K?mE>Vr&C։1`a/{TF KMI-ɢաr8Tc2RGrID`+Ql*<I,Be#$%w{#I zY\4JZc>̥a҂b!R3bɪG)QF@a֓J4bߴyK8qMåOSf֤1' jml1h[b+DezOy:?ɄmU.%cRd^C(.<,N0Qh5y!-5n,U)& 1V?%"V~w0&fS/i;ro_3q[,tNY1ښsO0,[$bүkBI 0mD(b-8sNZa)AR1üK(BhХPQh?|ɬ^O}*CFW^tdܱ$[9b%$ RUkg rݯwBK5]dsKK$K7oRĿvƫ3J㩛ot]|^DSg{òooB/<{ZDIAJZuZ؅v^Pc⦶gStY$54[^мQ G/t  M]* Q?$:fI6v"*CŞ)$_5腦,\TR~-6ڙ9/p%n@GE `y0},Bu~#7*?rʠ95@0懱ЅBbxݣȘg><J p(ТMVSx91Nt(;w*|sj#񑺝ZL@G$ u-El|MEU `' 2eNN՚wdrޠF x/0Ě}b55Z +I @j *Ψ-/ŬEƇJѲ"O,tآ^<Ϝ`%y~}Z-UmTr#֦,Ǫ炪|(TYYp" hbO٪Umk:3.h'gaBiA'߷ V{ D=y~̑UqC +Mii )TfTܛ8hDtm Hh&H4)iKfH۶O(@0{Ͱ#Eqt@#B/;9SգD]Oj4g;f$7kcq*;7]+iSI6߂`~u"n rG[RqN`@Z硷[ :X NBX`wň Kϖb _ǁm7 ӥOݏU;-HگDVxC ^DcR~I_(ƍBa=|X'sRDDik_™q$󋉆 ŞKŀ, *48nI-D>Rp\D9#f=K!pʦS_ʌ.] @#0JqGJ{*CLV$*q25tQYrYԓ޺3ړ>:{#'E[Ǫ<~nt'VM˰k3+{DM<)63 iNGIWuГ<\ OdEX Y?Cxh<ep rGrb;do!DǢn"LFe\-ߔ,\[("S.\C1K$qȾ/oDoS7VvݑBIJwvNARDbSn ]AqZq'e9*vF@X]|mdT#RO4XPȌG܇S\wx^ S20] EXѢ(Qd(ča],mJNlI*C+17ʻ˒]%xĢDT;!n}3x.=bbe$yF.E:EN0 m4bkXkd52sjMDg$x$"gNKeͪ7h'V41:2ŧ*RhldM}i!$pRIe]XCsGO;.(2K8+V iI}UqyNq%ɫId|8]'{|N#K Nf o:4".ao-sj3ʢl#ZV…PnغD_"CڳoZ*Qf0jy&p^\- 6Lx%d[v˴)g:(H_PdtVع+8]TJJ9 pvQ:3 )eʺ$FsDH+zIxV\Q#ŐiYIWL[x(#?#iЃevS_w 5i)fSeH,SG$>1 ԩ ت iMZJDSSJMm+é)EZWQG8-HixzHviYVh<JLaP@raF$tc)%*yhpII\fri^$ 2\S |n9VehJ#ҴVKA.2PIx$_.IJIҽ8 9N;x0Q&N\eg_S2J$Zr1A|);GВ4f'T(֊0ZaYi{$XCPC B aeX M qC `4GK4$9 iXF5M W]J v)91 DPYx+~K MV Q4FF\:I'ڒ=ϑHC횆j1wѠĢB ^.Itz gŌ,SHkEm 'N42F0n05ZH`y(`u X_ 0J OŝH1grWf i{)#U8FOJ@+cwNQˢtJ#7 \U2&QSPܘ3f8VU #/ ɷ[>SgnLo: S+)v;,~FT.Ǫ5 FJ doa͘y&c[ҫ O4 *'PJ4vq\?2ݖyVs+b{dq Ol;S22񄰩m6ܜcOFHC,FPQ]Sͯiw[;9c"[_ j(DkҾ3tKDɥ'(V|oNڗ |ipGH<]+!İ)XzPѽ 5R#W2`X .(XstN.8D !ws^FpV~!k+&Dq-pO@ZŘ,J2 RTCXD1$"QZ2aJⵢ5LᣠbNYI%| yc];VRCd/3Z $pXPIW2S`E"EOЄޑkP^J\ǣ-!]Ɗl?W~ժ@aޱ}\(Bg'9"$ cn#{\sz_2кXT؞[ZnƢM0Ɉʝ\HjjocL*KTɗxnXz\r HFD ͡IUcɩZ d{HRۏ湊$o96ae4~kMq,wvEBЅ?H M ʔvڑ9p)[yP~~nP#4WkfdKuOʘ5r^JP!俩!Jo ΞțH9hopZX9]XjX4NbD{e[kfE.wed;e)2r;T'.!CRñHnweS⸇JqkZe7n@ט"fh BOE@db|ezWscY!|rNU'/e]74ʥ9'e I))dkM^w Pd6m-.dPU_OL܀qqA=H|UڍlqaBj҅p.6*\mhռ(60:1I "K!DTtO*>!:c_5JkBTPPFv[J2d:TxWr \MƯZ~#?lն54¾>+[ug9\worՐ% M%%*XJfy%--2#  ШU飥tpVZ=BHZuƷgGFWu}+<`(nѡ斒 i.jɎߘ( ;/F)8$R. `S< =J#?g3z3ҷ͔&rY?=ntiߓJ:H;ʪ.t?YREBf?mt#V;QT2#%&XIa(o(VbPd ^6-,Rr2d|`<;+84AYё-̀seCeʉ)p"I{Ę㋟E3l+mRD9; qe䣋qf /'#d+;lI &5Zw˱T Ġ}ipM↞@9J]W5a1Xۤ&+_"?ΝOpu+Zlu8/UrWZ=󦰢[6w+P3?C [a5=6xXF%yyj@>kυ n}c %u~mUN1n`;g:ϛ>ۆBbvB䱉d'g7>&A$^^a:i$eFg_fM F$CMhl"ќʲп%QH"< 6p`KKB*8@y\dnUc@bX+&v DSܫ) ҄{8bۯeL%С7I!B ۶')>8G]gt6ҢPe$+?T̷'a2 'B]{P#HO!Ha8Kulkhgt&-Fr8Ej&PǣbQnՃRX]3aQ 33 H)\O8$L6&7p@RNiiw3:38l8Tb쬥*7CGXJ,?DN ],fPF (k$*<lgVE*K1 t!PK۪Ad*D754(E~GB_S:R htkMdEA0\Ը|LI ᒛL/ب!%fiJ=e ]g@'G`ŭL *c$+Z!P#dԏsnEw j׋i~iA`S2@ 8\.sIEDTPE9?*Yo߂KN 1Nf^n|jh98^ѭ^ Cħ_=HFE|kYRM%=JG#P:Sɳ R]32 } 8 1ޖ0Q=2!3C˺+ѫ'TGI!'_hfe1Qu_$9Sט< A'oF uK0$^Po RO'˾h >eI\̈l9P̉^gEKR5A::!yRJ9Ar2UMFr5ѝ!1rLKַg+> Yt 1ZEZ1lI"+B7&9-xRɚ j1H.nxBзn[&'R"F#gq"+Eԉ7&Ո@f;$8\́,jɐSiDD(Rk;jYNL,>z!pvh$;D:K-`_!*k>OBNL2!aR~pbЙ2hH Z"G1H !N< Lhj\COFO5e-d(B+>z )ԱᇒL((,](" `E F{ײַ3ۉC8CY-4U j?OIR;R!Ul)L+0ਞх&(̵ }^.ihZ|[IneߧD\ET9xк!GB{t*+G?YܚrHWjt`vp MdXٍq@KUg4]*ٖR@THŒ9xGn9Sr/LwW='+݆?#AWPlnoJ϶$fX!0V 55C k)9Ȗ3} =UY#(nׂ8Xc  x:h3*^/ܑmeG:!XD(^Mw5~&5kWzlN߈,ݭDHsTK"Ӣb%B(Mo%)FI%DQYءXvL`֚jf$~Shg(mSLߪUE,[T"JV iˍEkS 5I;Ys_L-#`̯rII"]Q(vC!,KhXtD"QIIKcT)"a6jmL Asry|8\PRh*CK,KMTFRsZ#ƥEϳxx>ʎ,0]V$Mz3BQL Y"^мL+bwZ׸#\+uY:9h:3Z5 R2 =r$0B 75]<װ%LJx)Rnx^Q7`Ǡ#ABl ĀlJBjh :c+ǝjn\Ld -~Lq#Vb;; ʎ-X5X;݂2', E_@r'3iH~A݄j6jȚ؁h'(pݭCQ<;{T <#dLOI>{0+i=W4[W#Y\B1qwI6Z9≲KOۍ{\+UzIŇ3y*DE)1DKDš.r{Mʻ~O9wһ/H~W=jGΆ_@R6Z^B,VfufM0zþyWzWn")"Lfİ DsD/=NI4΢~4xv&Zǜ-hWdNM鸰\!b6X B5X,dBFÖ (gmŀ"VBd*~{Pq?泾%i "礠 &&L_Ӗer)dOSBc H顸}¿xO!}ż[Ї:lW/y!N2,X6IڒVF\NVFgsq2演am R6Rt-]oR<1f«OFC yYy3P$c !ÕR؆ÓElݼԑwֶ1:Y|˸$mGumYm$Y ^}6$VMi@r2"dlfU$^F(!#% N$C!!}Jf LYh.gl0޾Dh-km4D-߫s[C)|U8vOZ[ L .jTmh+'u7nۆk)YaJm怅"*  㨝z%JTR "U2@!H!Z0_:)^lAJ阐ӕ?L=WMP?7ya΍i0 JQVNEb+ژ^Ӵq~CX!m^ڊFMfh  go[2U(- n`( #.?/vQn7L$W{}߾%B1|ȒM(O!Z Վ霎? TNdojoQSo@E֌H)~'F2\JV=HP9NH@F wzBUZrx^MH.*ad26C{-uI6jJL*VjHMjGfi>,0Qy"J1倡"Em Ihbwg IЇ7wcd0!cj՜4Nb@+ E-%a- _ND'R,,Q")"@ykt,U[T8eA".F n倝Hku(lhYg9T ~Z) uTSz+6qI_Uó̌/bKW9n"{5#q$bBQ=oö4Tč82Z$J+>ZhZJ}WլŬ+ CPg͞ab8:pY>K`N6@Mm%8LN4s!(qU#2>mMt".RJ0eH:HJlV6ϐjbEG')1 9% msj œY.f.Oa"c&]U˒MDV/pЄ<Ȟx\ܢi^K9j-GPF}jƯ"~ͱ⫶Lƹc)V4m|W~ʮηVo "|dZז{ NY0BB”@WJE|`N|VTokrG(:*W̄PU(w H]>,Jk(U-07QBfb~()$T"#18nDcTFR|@&xfœZ;T!z2p"'6JνuG=m^KMWFB8! Qe>^i@݀ b 'H- -;xmLm:FTj%ĝ_F$֤Hi/tFJ  oD"> T;wSdmMS^3F@驨*Ζi `I(X@5}aP6ԍFykvc 8<§`l:ʻ,&CB 4,`c*H\":.ep>1?C8O*\Uyq$ٜF$*?1yC.Υc(d/HhD4H87ENA* RPBu1Qu,y<,FM*l~uxs㬍"0%{cWzgR=Hj /$٦d.~PREG ɦ z%:n h3Ih<_)+drA8 >"G UdFR%[ѭVn#%!lH%'ܦ#q z)R3NR<ٕMmhoZ!u1͸XG}r< VVYF\f+b9.5h0zp#1t\_cEQ@\;%x@=Xx n斓9lM~?ےҘŊ܁⫝>RD~1=@b)vk';bo=9PTF2l`Vet:h0j8▐$(c`7ͱ$c)BC$ RG"Ҡ#&LZZMcPƣ64PaI2N ue#U5p,)Rx^8t|J:ɉQ?c '])mQgu35@/J&&P:Jcduy%9ِñ,MIYF/Vlʌ Ӻvca1'nNF-˙>J{;J9 x-s]߫ʻ~5 aAsҢ}z9+B1̬WZYCsUYExFJo$$DuY.ށ he^̈3 Q/ఱ͗d&B.Li0@֜7f +4!$P^y+ IRR} e2Q"VǂVo^dM#"% +p!:__ZW,9Ñ$"gյ9mz)̇޵kZQCM^Ʒg;ofo΄Bjt㻀 |֎f?HUqkDD|7%dũh~Es\ p~-  fF[q՗q Ff5E'Ϥ[ .S*8rʄFtG57#>_2U ј[dy , (Vw1&d&pK4S.vXұ3=(U5XjЅȉyXZ6մ/Ε;$`NlDO>B]GE" & X!Hv'b9n֔\'r2+8jYHV#-<+URH#PzDP9#"`0  aeL~Tj;FfgrW:5M b汉6LoWC o +W*P)QnIJoף+0izM)YցAp*0冺1[ĕj|Iݟy/Dn9P`#N% L3tWfˉ\g_S̋^-=6}V:Rl1 /&vԅŀE1AX5Ǖox+/2ge[]R!lG ʤKDH!,NuVc^!](/vmOĤP$G Ȉu3ѷ0tsy%mToR1<ڰ.{0w p 3,h*]+Y_if6=|߲>FX[aI4tP'ރ^ۍj5%t{blN_9X|Z 1m"LOӤ܁ș S0q&Z'N0bwa-&>L%hFZ'oJ.$O>9OU^iP쮑 ~(bA 3@]M'aVܚ{+S̼tķ8N!,9Ȃw(k'HV/S !NvM?=kTF*kA}Jާ/u_!˂D :k >D2,TeLU毂&+za!7M"0nP[oGS-&*EAh#0="A:BϠ/M{Ph%$:ԍB/:M I6'%q2D'TG"xv&j5ms)M؞5L%3+o~a'AoGұ>#8Rp!4K[(Ag Xl!J4cI1`?) ͠ }&7E!꘤O4DKO,3x5CSmq|$MFc=‘W@bH5Z2 HTҠQҺnjQ\;`$PKѻ"l&Z\V/ސ[2H}Yt!QmfJsudRaZN@>4/Ta-IZ3I@-I vDTbmJy4 *"Y}2W^!О:[[*`* [kJd{p]uS 2U51kE vyu#x'J?҂3uK.U-+.6/4BI!3 v@ҼԔϏ A>1K#ߠ$2(Z*3UsQ"*k34![<"#MXn{ utFq'Pm-LkpvZH4D- `&R9|Գ)HB"*R0AB.%q/3x{"hq !nHao :ңa&!T]@+5ܥ佮vrB d뫟7_L,iKm^S֯8t$[Xw,wV_6DT=do|ӯ*'1!\=*E{,%!i^ Z1A[/m0e)0&Z&7Owe~UCW1,?k7̎~Ȇ^FH}sߨ!Hu-4b␀jK5N3QEyfj܂҅(중: +e(ܡҰ:VI)4jX%*Em-YaG!tC$ěS&nW^TL"GѰGz4 vLuksq4WxhIs:)a2I1P0U+TXQ&[N.3VOFZ566jNr~wQ朄~L1&IzeLY|D3HC9t!WX&C1R %D47c"%5pZP<1W p[P9fʂrC뇬=[G[Ut{:8 Uf37+$[+F.4ؔ/Lje$J z3XDEQ%bԬH;FX6СEޑ B*}6i XErE|*V5ABI 2ltzioJjpIyXvw/ڔ+`A^VX?=Oڗ4g4̦zpB:E5b߇J#V/7r+)$ S:8W&~(L]򧑅mldܓ6~WQrmb ^~ T7;@J NoG*AOZBOjWb+Nᆹg]ꏢLijZDw ̗v7s쫎镦BUT(YsJMϠb|ZPXt?'M2Q *4^xaTl?*$k 4b5-%׏ȷ8F!pPyc}Rwsu'XrP2I\jZ9Anωr+!HXf((vڧ!uk3<(3+2-xh)ć3#*ۜ5A:|igfh[P'H…ͯafJUGM5((@Xo3Ϭ|Õ Kˆk~gF `NB(7IL%gVa$]<}k'9!1(Fdrl Po*ލP#vR-Ѱ+J߸*,kvTb0dy gc4m:u|?qJQX|9\fs8@c  B"ڗ!G +='gv5>"zV2lv+eWdiJ2%9"A)݋d ,p|E ʧOvҧbhyWjѲJ5vr4Z!&^t}ПuEy3JX t- t"\f@jUx$-ZJ{UǢN!<6^ 0d& %Mb`dP )  KG9Q5I@fzN*( UVD\R<SZΖ*ua5ȥgc1߅r3-WV>"&haaG2FR.KtbgM+of[v>X)ho#ѣ3-$(Ҧx4޿s~x^eH(oFRH.1hƋ vBKbdf-LcR^>cqGrBEKI4>>MNp$ &ZB[nvj4ْ˼]BώxP'2ɈʟRTdPw.uְpb. /$K9N̿/lrV2Y{GȰuiSR(#|\<:y>;QwP(sWӍ!ikb S(̎B®(k2aHCH4I,*"s[5T]ǔZmKLْS!l]\×!O5Y$&oUޯ)\7ĒcA=Kܜ )9ulhl /E TŸ(043c!Ⅿ(lQRL4r϶_߹2x 9)5PՄ³#̔Fwz[KQi&0|$9W5ZS汒h Ų)M(0|:&ʅs'R({),1sh**vD 3{IuziPJzyA4"*pgKrrt`uZ*[cD0y7z죘ڢSRXQ|}'Tݙ(ATr}5expÒD(C/Ǔ#HC/%9A":&R"GE5/ï3=7aޙi@硳.ʌC;(W•O g@_8SOi_QA*_Rʡ%U[VO}CψnU(.#Zk"ץ,4e0ىDԌa"CtHiNs?f.h9m,Ў:3D ]u?IS)[ݱ*j}f70h&dJi^gBXĪ͋ʝ֫*LKO-|(nح밁6aT&k}2/ۤhH졎āG6bȁBz8VZjiפaMÒ9νLcFN8snG|w{2]&C:2U)#EĺC/ /ŊNq)KZP !v\Ձ!O-sڧ[ݐlTZVˑd˯zWYܮ;Om_zF &39FgK(0TQ_ߪ[QT V6*|* RZF3tM)Eeg$[&էx]VsjSUđt KkZ?VkGMu@?~sOo]H;1TVkh"lr,{ ޱ Aד?,zr-܏z$=G{68iε]%IɩUJM$c-m8!O5LnJ9Pb_\"8?x |y4kb!*.W }Kש9Y4lMpVt ov(hg#2rHZ 3B@K40Щ-(iY<9OA`rh-F,C vSì*ϕ"9*!nj9D#ȮU'=FP*%lմ& JUK$V_z0)|@M7 n":kՍsXRH?uґAzG"3H);"Tk1))96>!%L6j@#G!l ڸɻ2rBrӒsg%*&fL \Ҷ ^;??04$?(87v$bv1"񛩲L[ ndLph]*'XӬ:f&3%Xxb2',0RP81 n|*6b&c[8& "eQj 2M:c&tDNf8j'DI[Ɣ Bl"deAz;:W4*n#eGev,NfeԢxtJFIwI%CT1 !ô_@/ph@w(F"aHv\ʱi2IcBϢ3r9kTR9;߈S9KFGƌ}BHkX } hD#Q0o;+3 5a^ 2aVKx )20ԛ =k^!t]Ћ@{%Z8=VUکj;)L(K=5&"*':JNoS**]!_sSpAP"R:q?X3:'@kK@>@t +l }5KJk2DjDvd/u+%. )Ӟ>TQ@$ BIg'"] 7!&rD "&bWXo{#nEҮ,( yו֧873I`JeyErif k}SsBT>BȉdSR$Sr:҆I0Xa]0OYUׁL2 )K b[!qȔٺKOȑk&"ب8rB&<;)21*1.Y٧}&6"7TFk-`xLca Jv|=U"0KaR( ?JPBK#w߽|\+MSOV2HIŽLu~MSWM$fs2RQ"<=VD^ }Ddi]H%wփg߯N5VHj_jVk1/{#L~")c*Ӊq)OR] 'N'#[pq@*cxY2;hH*Q栈nuA[aYa$[h1L7._^ɬMb[N=*0,S|y!<Buu31VVqNP]#0זt('рqgT(O&q|GG#QWɭ5imau$F2MwA3tn?I}'v( `b~X#5)@Z (D IyƂv7aYyÁ2pK#E oHłn3BHVhsZ RCw3U bMDH*K*M(ʼ*l'̟l",?ҟe"MS"ٝhBZmY߽zUioYBF>CϽ`T9vfyH\=o?tzȐ}zj4+fLnA<p ?XPXiuGL"UjXMNEڳ٣dfvEt.}kI{w3a$x/6 @ NQ0fUʁ^uqq/vKCCί󈭦\1\`sne5!S8b/Jֻϡ Zqq\;P}.G\#4 5eVؼ|/; ÃRq6M*2i0kQIK2J[-J)]ȻNaoY"r&R3/%)?*usOt]C6ݷ+i%gWLd?UU A&53*+z6CPW%R} "\Bj\W-^"#fn"o{y!8Y*xno RìdԹf\C M>w=99 NF~{MER%ffn^Hc~BqR:}<̢P|C-+ZQh"G$)f {Aw$S]l$;}( R.Ȥw^N W 1qH{bG| `b|ӷdV#UěKW"r,Bz:Sə~Rm&9KFyM7ad'4c[T~ NEw1LKhOLqc29~!J^ LCXh!"NU*J'5ӹrԉj9Uz X~Z1 EX݊>-4Y*! "GE8 *2lƮ;>̭ީvI=XTܢ"o $eȐɔkby..߃ S.ѡԂzL,ed*ҜYΜ6#v4to|QJQ[>uؽru-U+kIS2Y)b>&[ƍOwdh92Z׊"?\g-#ƬGM DD<'˩ӚXK |址]BjDvOm-c+2_?2J/TฅۂUj]+2ظBQM{&tvEK|^B:*zXgrMrde։)лܯ/tH:Vن{pM ?ϵ^EUbKƏ'2Q:w*ȳ_So׆+ .Y^M~ <[|7OpP}Ll6沠8]߽f4l-+1 w^/>c?#M =0OJ:&KgN-Q-ЗGxKY r=0_>> 3 g zb;DP?Lś& [ٯ/NoණUۯ{SςzO[s'`kBᙸ7,^=[zD-pGk!FV> W'~2uZb??nU5("7%W+le5lݪ<8+CRNf;E rԂАVh͈SlP1Ns?XGD{+g^1(7#v Hȇs Q?hV~x),o?!jk"=:D<-e>b łtL] ^5I j1{c'lG(WtĿr*p(rX;vP Y!$32{U_\L A^0P<&N)5QX6$ܟսym  hT[^<9=C٬&+<S_G(**LpaOVe1g\ٚ=C.U%{qQ9)6}*7B#l[rQBbo.>=0vчy}a|2&5JwTR>ReZ׻! ũeB;( _CeFDP `2#'K3cxR$^ӡ9{n18~ZErHj4Wl1[jUvdgŁcl`GגkrT/NT;/:KE#}HIK_>r&n`8[yW ZO4]CJD3z,'9UID9:S_h0(9ȭETjf2@kh %%Ubyt& ls)d6D"A@`Ba+D Ƥu,zF+C`s{0'9D!γg~y`#ZCPys+bKamb#>W&Iͱ\m׹+_; ͓"^@(#Ջ% JDB5 rE5Ҧ|C dvdgD#1)1,WLchn2m(8tgNew%d<"Ox3_XW0mi?R< { Є@SJ8HJ+W9WbM>yѽɖq'= V(䗆D+j1u M"v܄ބID5R;%6}GoTJUŷo4g.4keV6L1-s >F˘etbCodzQCy5B" p8*2USТā%.`'N,`ҬPnLCNjОT:ZɈʠF:3 |ҩ\hubȉi U)-GƢvHK6kbT٨terpijODQ^!$*g%"W@Hc5l.+DvQ`x[U!7dӐpa x] ?v9RgՉEϰE"Xw.4[+[Yހ#uЋh@OD+Q*U0N ^r[ߖD5VN:tPY+AB.hdNGBunƵN9bdR=[ "Eaħ`joJ m\Ra&W:N35f<: (ມGMcEWbAB^0cO),t'QFtDSNKIHFVv̤``ȥu.}~_Jц*mU8ŢJ5~[w2PgEYORj-"|=8`D:_u3PFfs.u=*z.r88OP" d8rD0!4Y4il]n@&7S yUIA;G iV]*9K'4똤h6 OGŽ0jy񶃚‘nRLMe|8<({%SJ͕*D% WÁJ!*m%jm J%!`A.&(/lc2u$`LV 0EĢ^QH"L&FеY;WlYհxqH8)3-06_C`Nq>R)]iIWQuTZB50u 4llYJCڙvW%/qO0ZP0$ "-53vg(, 4~kB@Qrc\' WGՇ06]!B+NJ "1xF;PE`8KxgIA]_*EX]'yl fm5-"Uף@!ujD3#{[PB}SU;~ņ4ewTO-.?SsTqKrR*+Z6vF6jZj{KHyG$0yH@|%'.Dn |++_oBċgK!qv>$(ΌB#"UPzZh%mHS=}0gtpɄxVdeK€N< -^}AYS[j͐dJ"WL;)J&)I pUl6sC@k̔R_s^Aojwi;@!oW`` +3~ N^,wHaQk僃'YK,["o!ĒԊӳ"i$A-eU2Blb&[iO~g?NPQiRVa!M5)F'GE~~ˈfh4QaY[&1- B^FFXnqh3lewiK-uԇ. kMk{:4EB$LƆ#-v"po<8e`~>$$Y"#>, 2{ լ<JNa:JdOdd&Hnő#:{ٍ= f!7'Gؚ:i\k IYP$X]fb8N Ml10X?~`浵H)ҪdtʬJ3e]&;a>{yti^xf?RVϬq@(P6jCִ{gFG_B$NBΩMVeqn%sHd\{e?}<)_ZPYVPW҉%R;kč(MuS3eٶMP)@g}ZnI0IH&ba`a@m @$u_ gE"M*}+ED/#q3oa)$HP4 fV2oYk!ŚqgЃuk0&nE&WR~B7 OWIΛsćTa݉ ȶ "((ҢhӒt2DDJ8>bgj&=D2[;(`ʧ0vW r Y%tB] 6mT[Z('yZ$I)q+WYȟP3# CB#٦ j#4ĄS13:Kˊ$5?~^P&dU dCF2h뵢BrHSIׅvΜ[ ĕhV@VH N+g{s Fglm;cnU!f™Cm{+L5rP\F/PS 1II+E Ś^Y P':ƗӔ%vU"Տ Mh,_[`x(4WO~h!%2Gt\zFuzV҃-Q$KTdR/3Y##1u 5>TgjNCDPhSh@ t Y, b"ѷP(LWm˅igct7Z@i9JEB,A6FhCH=i-jںV~@rc5Na3VCyj'z10O!%+tf*p?#w^J'_Y[_51$Vv9[G-YȞ]9S/1BE" P͉y _M4Y($b}q ˽RYU_Ε%V7w|J1C+|;Q:ГIddZP%Tc bQQi3gb#M,jDKO,E4Dstӊ"3..|-'5&vՑr]&5է;)$w$vbLD_)ꕓYp#E-=\DŲG.Ui Qc⺓gˇ JBo,5!3;?b ~ @0J&@0V`kS`ώSF6U~QvgTm Q+-f|mp/ irM$m xNjE;}3:ĒxZ:2ELSRƭ+"9Y! ZG䱸M' ^F@Xqwxjm̰^QoDǫB#ftcarf0 LV恳X'Y gu8kjJl2 r?[*4{Z'7@IZ4o0mR o e/ڋ;;7u)>!6妸̆5x-F| [+XOUݓ%@Df@d|N10_@/i]As9S#VK2\_3&lES:LR }VQ1V@P /YaxrKrtx.hXRDņt_U:5EQ":6I-"D :/ӡHX{B C(;$]p`8_w+m|"eB D$ib]‘ [g3Pǝ9n Qh5gjNȼK눓Z!XB*~R d{ }Lm9$F`l#kj(ȳymE3gբЗ}5c̻I>FA nO_,8R"Y[V RZ-#]T&[$#Gi2k( ٔe ֤'HDg5a,pԭ-\CHm9労|"̔(X[1BS\}9rܢ$$>wh8[?SVgDSRwbl54RQ(xG]zz"q]#O!'AY~Y&r&u O#}HJ<%~D+H*sRuR"O<4zXaLGh}=l(aS)h#:xDLD]"2unܭW5Z8C. BC"5OsHAi-wxͣWLRڼdeW E"L;~%h޸*!rzNOmzHOmBgPKs'KaZ kسOX7vhKa[T Z3* p'QFL@Q0nc1 B8y ԛ%ba'TCHzaB/x۬+} |'&C֜Fd;w8g_I $;3U@?wMLt_\Q̮p6 }(ORUFuIboȕSSsu(;WSc&.VjzήGٞ#'b^N MY[B@8Ztu.Z^Ȗj*bׇoYP'{6RG=4?f%_K *`|@wSpEONB< ۔J4R#☛?dK0PJNE:6# "FXD~mR H9HGrWDQϙl)xZ4EB ].m:[Uxc5[r!Q9qE ^Jxk"Hm,Hr=~[ԬErOE;&w RI XƠLuA0Ti1F&&Ɩ8h8U㏣AX}1̬_DU%RCTҮݗnTYTD:9x0eqLȡlN%FSh`f'RC^ 6t& X+FV؄"~$t]enTJ< ypmvUZiS۞IK %S5%TDIQ(S3,_ zT{|RҠ8Kd/A˄âiz M (T&`6fYŨ:Ӵ*W+M찗kIZNd_5$ZI7?x5$8wٙ,B~"5E `&5L*]zT}3 nChpHY;e9_% ^\~҃Z7fF++9ABcYceKyڕgҫIɘTsJrjaH.7i D_ (} 1)FN[{%0Z%YAN7s[@Xq& 겜2/FQ ]!ϘCWתl43&!D$6?0cS% \widFYq !)p "BчK,I"MɶUHm$"3 P.bf}G.٥|+'K0c 1'$3?XO`LT{_E۵t‰O.'~o%d3s%0UD?Os=7Uꇯ-!4:f'Ų/Ut3cs#4\%YR33&ve+UDV/ ^d)jByT[)btN@W-KA^ rge[w"+2T5WTp~',xcƫYN`Ha M$Tz jzz_a-em}57`AUy;őBUsctJ(ẅJxķEl_[%eA4f4Q2 {_!hyk!iW[ORWKWߣyA@ ^?NHX&3fUM vmAh}HqAEq'轓bГ:c{cQ.3kJ5D %4F>hyAAe$vy9 H/^;ڎe 67)FExf۫H2ۭYӪkIs2ir1,ą UO G2Ѩr4aD(Ӈd^0{վ<)1x&vٙi#}Ӯsbi9 ={C43?R MIexxI=ФcP{f  MzNFA\mwLaRW#5I6D Fҁ9oMJ fjA0bIW;۲X|-VZU6 Z*VE'$Zi 4^h~cY}ԂaRh ڜ+O{L0BeՄqZ)pvO3T(ڔŌs.'MD܆U1fp@> ZbaME2QNTfybt'E7VI'(hԨ{"1~FoO_4&UlIJ=囹=%tRRN5f5p h}+@V ѻ0[5_*a_.ˉ⬮L*g( scMT#dNd)%Q9xr%-ח3T=%z%EۚwTQ4ڳ>< 911X.KGk}pbZB͉_ZCc_'t1ڵ_-A-t!]uȮL07 Ʌb[=k~֯f> NTJҖ4)$.y$OB{IG!mMoh+rR2* 'w7BvSP1i!YU(pA!Fn<!s& 3ЯDZJP-9Z4RI`:glaEc b)n("N"67h^*6j6_xRMA)frZ* XFTC/LN ]/*5FOC9|mQE=DDh)XFyH6Ga2Jz6.z%B7VYr ͂#H\yPf> ؚB슂?LwD(m>WLgǤX;[_LxRxi+fp`)R D O[?)0ufߙe+gxA](mc?e(C/L:( Jɫ'S獟:SneP#RstI7|M"H/Ou'Hol%-$nڹҡO0fG HW4 X>K6]^/!)-nZX__T`=Zڭb\oJлViTY4YjF򔳳b^k'.'!oA (C|BϴK6OUmゑ&A1[ߵ8,-}ܖjmD׫+ IјfNk}/q'~'nhE$Jo"UHlk)c{i2Mr]P$K+r-}]\d#l&*ЇUf8̶:wLp(0f0IU2'm|Q˰ ˵UfI$#F3YDtds[W҂dQk#%t_9W5 q,zμ\qJP3{nLX6"k8Io_ސFEV91 9 r>)":6XL%>7O^aSfB wGڲ=cp eHYاъ.Zݢ[c"fZ,JvGdH{Y{V$㚆9 r b+ yjJ:[J|p JZQU.S!`ViU"{3\*W"ENtHԫvp 7rQN- :(&?c8T_vw庘Qkvx6zBᾒ)wjy_[lQb vԣrnwj *e(Cs% f%5Jڑ6 fŵ Qn3}t2/ 씇߲xGjQ\Z?g.ofGe6jLol;_Ba}H[jA?w(HJW g7=#)Gb2&o&DI` BV^ rȵ@)؍mr[=n$:V'w,AzYSNr0BX~l?]?6M8\ /aB-I>h ERII[zl%ymY L7*҉xMk$ #Dj y< bEh@Wϰ XëTsqb_Zg/ҢGEt+4ɺzT('~r%3g܂:f#F nvUdIގ &\ V4}(4E3tm._j`2CH &x  ahZΐ0g v3/M䱉;BMyN4?yF}_2/>M'$G6IjS#azBt]]-Ä0&X~j͔Յ'0DɎc ۝$}/|RSO=sS"q=e|G븸Тcf/{s9b#({y:P{{3&Q DTW2TǫteQ+ І4rڃ/-v{ fx;n1z}RZoݯKlOrC&I6,Q,F)Š.`H dDF!e8|awDWUl0a8x݁#,E'oSГ׶wW=*f3? by7tUh1oD +$׊M:VU^,$2R$nN7E#EG  6ȓH"t`Z&<WvʡJgN1'dYZ=o c胵ip& ƧFҨB8H&Lc9DYLaZRF'帊hpطm31xWMY0D}'ĜnY (0@ߏ4I=zrw0Bңh!FZ9nٙYJ!d/{(z1/$"ߕ3]55ޔVV(Ql?Wq>ndIBf%ϗZӧv-eF,(s93{n LbQ- IzUmPw6HWIG8SUzA+X 7"%MBWɕzz(ԣ#bAØM*fK)|JHً"hZb d[B㣳Jtg0[sڔFTk $p[ m9Fd.;'-6Eo:2:# ۘIDgy{H> *!,VRUZB(Qʏb4ӹg:Ih.25ᬬdsJJ} Ja337RoVN$/ PWmZR!l~ ^-w _7d 4;J SZV9]ÖU)0M!Y~ ýoJy_#o7 5jLy eV@^EBo,jtRU5$-"H{  Fi쀕ĵ^$C, /D\^mRrO*#+@ܒUFQSdEx*$JŖ&dX>uLQbOJ7,DiKS'"𔪍SU&B4q|skD)|&ÐMCb!cappeTMQUjҰfKD% "d bF|/b+VW j]aQ?M5$ADRʵ2٦@Lԡ ukg s[kEnRl8eoEIQU7sɻ[ڑ!F}Ի ^N LM+0Ic%xlƌjz\Ԙ'l#K(LSUwRFQXK]]Ae$=r>O<{vesǰfNJs SZ V3^[3}Vsc0 H2IUl4Ėx[ʭKi{d<#+|_7FU60FCX`(O@S qJpSC ʯ424~3a!3x-="{/3y]1Tednز]2, Poܺ&Q|Z?yt^5igG4uܗLFKl)[ᠺ sZrVm^OY+ L&5Vn$p*K@nb#f 0e/ & P Gŕa %HO`Ca Np›``;CʼnM,7 zφi.Q. Fj+dE D/P "YWZPROɭx(`#r@l9)`ͷ%}a?"G0WQ@*LqlE况  䨑̓#jZyN, gJQ/P;mkJ51#$f(\2vgD!u4\џi9Q41%yUhmNsNa/NԄ-f/T3j^GÇ,a?߷UGw{t\hRHmiaNKKaRw^I݂!nG|XNE(miaꢸ7db5ԕ~'zLuwbd )|f Ժ8*JM QEv B?;6pN^4W Q2(Iy-"ý&%q b?Z+Cp( R u":2 GD5uT+FR"Ԓ!0^M('V_Vؘ>C pEvd祊>E\>؃?{Z1 W$ɈʢPF ]MQݒ Lt@TI(1z)E?w-BK0a* w!CE+'w(Fkk YdOJ8´׋Q4iI&+m)Ra_ճRE[iڨ.M#K\ʚ9,An~^ P"~h\̍(48^r)*/T{F-}[v"}$* ĩ[{DVϵr+5a͔bdeBf/={qVJ8 Y+nHփ26(܃Rb{-QFh^盢]W NG~TXք73$]Bw=6QtB~9Dnwp%59b〣dGu"6'3< mNMqmcBAG3^ \,S)Rjcګ$J3vYֱK$1ׯ$.Yрz<r}Ce=yhInn"<KP C1ErM i ߵ3Y 4slYD"-G%hTOx$s-ec BfntXE23yttf:%0k4MM}%LMs.-$O ЁЈY8H(5IN/W jKe(aY/CrZk Y%R1u oP [RI(!걌<[`S^5$R-WĪܨAls6V wk#+? :’UpD_UBV^'":zVi`8` &\}8+;,~vD!bޮ5F/A6"Eq/=- :b>=Ql\`ilWP5u$g,]7QIB+M1&n,b*f6IF@*;I,CfNTmZîxĨS{)OJp,B X@*ݝЉSډ0H\61{ ! yFoX18F07iJ=IIoГv ъW}TOS͛D8OTF }sǻGRU如rO‘6L\P -طُ.4D; pصF/nQ<挫@kk1^B닄 kx+y]蹩 ´KJSLFrIM٭Vݍ5dqJ l 9V#">SJVDaH\(1@Vi)T̐O}~榹Yk"<$w2:vI4W;k(I4moFќQ'h.m(8uW*l(%{?,leQ8eH_NghˑBD|k9r\ 핟ܣjPA?` +%%߆uv: Ě%È~s)!mZ#"!e^s S5 [֤X60uq̚Y edU5EG"DqC3CEW3ogMڹ^|H`|ȴN(a"ww.ktz_J!A$_"-JfolnKF'57zwc1;{|]%2>yOWm{-S N_ 2'jzPweڜ}ڒTp\GW%>jUzDJ=M&1e#6gRW}Am~,='me:d*!4M1-p>J쐅U?zvPih1y*sۜpʭ%Co P¹QcZ@RG*x݅gW?'Υ)~Cgyu~=k+tss =qf: m:(y,g c\ؿv޾I6ACB#S%$o qOgxURK(Ǫq =m[xZ'ܜmA6%PEC]| *_u/I3e_HHQґqہmlfWW(0?7i)!Ns^kƇ  -/fjW՝CG|LtkE Rr$:c+N[qmP7:LrS]l4 ܤ|}ƚ1F4exLh;Ka-wڻϩ =`Iz+B9efxYzCOZ_qaWԷu2[$)Eu8St.,ˏ=lrb'x01K"*oLvvpV]hjTs!'*~!HwOϗixBg#D#[yw v(*Zh_ rU])>TZO;S $U6/8DZ <$ +Il_5Ĭ)aoX.,LˎO'C C\nPٷeV ld+Ex-&;QQ2dL)։+TP-WD}Dz=/ڿ˻qX*";+|x\( (8T=[Kj9 KFW-!kT(V K$N@\ؒWbh[Uӽ'BP| *XNbՌ7E8T=vXJJHHz>9-I91\%Onău-ȬRN.$} 䥤z HXrY{M_p,M4E#V97LI9x[l&)?ћ4hPQ Sܯ$hT7 b֬־XrsDw@L>|0P j>fG6_QOttm3Y9K\Yc#)]GEQyiZ>G%"s8W1kYe>/ȂoCiA 4E#8۴~8eTk45ոbk5gv!t8cRes) a PYWМpŨ.t_{Zo"R$.~U@@DY̿|,;yچ;SdTڴOedXGA̹jtжԂԞN+pN1AWcD58 1<ҨA0mlNכXL,0$*OE_e@B~\I F^[oQFޯƖlꕵ+xDbܖ`j6A@=Q11Ћ~/>?ٚu߂䆞@Z|ge=;z}{1Yכ^"vLpޥk7c`FmpF('pؒK;6v]Խg]Uæ{X1 j_w&pˉmlUfit;Wo$`_kOuwZɟhTfV^dUN T,/">&Z#VV 5Yf͈#oIݧ klQ6Np ebM K3}Hy7HDɻ*:Kp6ߛPuQ|AF^3fUFHa]&B=W{ a:|U>C Yޜ6<ǫezf%PhN0rYq xr O`@VTj$i:(vƨ6^ġTʻJ(x5 ΜGMɾ7X>PGb-1suky?mĆWB8Z#z\$#Gn( Íkdw6Ӌ%Q S5;aeG|7pY32+.xV8;D 0 #݂[!xy_H! n3~%4魽DL=ё/;t,$g^Zk<Ҥm/#$OhDgYh{P 鎅Z7rFRL9!EƇiuelwZ'eOS\Y6mxB5@0z<3gS0;ac#iR*t[7Vr$O#)I+8z`\hgqȉpW%nDG\yOqkJ NMW݉J [$]^&#>O`Wݡ$wj*Sqh9i3WW*ɥŏײggos=1v(U}϶Cjo|9 eWzByz;odKH#e@听2/GiTU.^>Q M&Lv?cQ03(d3RAϾb41!18&W:U%z݋18Y\H =&nw0%/y],>w@cLu;9U6K}`g ]~ʔS;d )ۯtRVR;ǖ)fL*kɟ-rcA /UN.((D^{BILn-M&OcwcDi1LzexT&pP]3V{ĊOu/\zYjUʷldߺjWyEd-b]8])<A g)’Q)TaMcp÷Kŝy į|=hמD_&eDʜF:FaC߀#Qi< MG=̽q% '.nJ8c\[' ND6ZUl=ˡ(Ҽ џ 5}u3{Kwڜh⋏v/lqPi¥އ)qI4 E$> v~[R'ҲS%- VCv33_FZtC#=סU(/*/KΕ|B8Z/kg:$WGyH2Hfտ'vAI4wsh&$ު tՋ#^܃ϴu6GUv7! aѥz{ՃF#2%JUu /R^ajt{&h ܘ#Yƴ59ďT.orVMOIK1kkRNg@.T> m߈)&Hugo{6lw--紖>pи2qQ9YߓgY+s rm^EB;UI0tؑ3 uZ|`O/*f ؊y:Uo7a+a4Nf޽U^۹J'&f%>ZCc86-ayϡl iqQ C=eBS)1UBe JDO&WO`plm3"U>qx_\NB\ii\F3bDHe6.tjW?lx$*~)V a(Jn'z]e9{xif[ka:5- 43y Pc?mwS\I]ݾDy6PXcn@F-h[2pjDsM?LM)Y( 'r͌BFk Aiw&A\oq|u%JFIvr@`%AQe#I̧f0+9Ad DPb060-I 4"4>K1U)Z!(0=! cV5 7 6RB H{U;V͍O 5!H*f?/jrTA/+I1TH(H#s^1 07JJ`fS$24¾-|nST)Q'߈-H5ӣލ'D^d R!i&"f6G-z\ UϮmBf'iN`(椧pc u0km6hxZ a9cTB/=IAgC˘Bmm rsI4 +/!hV)BNyD*ME"bøH3D9w]F|Jx@ :|Aa\10+3dzU}<TޡUS,5fٕ!a.x|uF4.| Wn]ah,f EƛLOCMĪHV!Sa~fBNI@ Wk C"r4]#|FU,Â#y&ƨIAL e[=f^+9t4Y=4Cm: :\\GPa:pt8uZ +xa1ku?XODŌBsȾ9_JԿ`r% 76-hh`0#H<0A|@asbJ @YwI0mQ;G?MrIq5\"yV Yu@OBx $ $%/W!!3g%K oD.3Q=JI PvUb0muZqJ7K:q ' ~Q-O#3R0NN*EPG;' 0JRNO $"nJ(WvXL&'/G5h:B$ѳ2&ͭ&;BfٟUFי^1ipHl&6VV ,"dVjew Vd A|Q]6#< %Ii pOA~gDNcJ\| ]ԦcGBL GI?%a'Zt$ҼR9ƦxjQsRR˱𵮧T a7G-ʼn!ț,SRDN9kb U]k|r $hVf1{Z1rZR WP9KV^QK.Did%4+ܣ)\ }]sݯn$zAM󟷊FDQHfm s&3w# h1y[ffB}{iǒT[WoC]H$iۘ;n^D0"0(o wA-xQ4)Qؾf I{,K FD٠IN bw!P:=J=Fs^pm7J4L98rLFG1%eICEmg *"!3i؄b˹:`VF:Xn&,+\G"=LGL( HVba |BT0!dkev1F_l\W%8ZUrf S%%AxI_"`KrEL3?F lvOADW1dj6̡$_9L(lUNֱdYf< R@JfI|:RivQΰRֲʚ$Zhن]"X6㼛7hDb*.Ȱ-D˔{/EA,MXЕͅ)4$F{" J]h4NBŷNI*{BL1if\G3%ELrKOAT!?HR|w' Q^:`VV2/%SA, $dV ,Hb h*ڳ|ĜI#,#?%vQ/.xE> gA^ &sc(2+i^H/!ԑ\p!W"ϊ#bO4ea:2@BHV0 vfv0Qd߷ޖ(ef.Ue[D v]Jm v Wū~ʨcIUqĒdE{$qhgqT Ҧv`,h!Xzo)A*PpνV`"T4B[޸8WPuiH韘g3Ze2DǗjJ 7;֝Sh|*6g1[IMD57kf:A9B$2L_}3%?C#~u_ $i5SܑZ4,dau;CДƒS/45 /Ẋ ݻP^lPx-53Sb|4k Nhb#`mrRpN2of:d}z*^ۉ̬t, 3W R3t0׊ =+#:7KC(h:ˍ]֨h!BxvAWX_+M)-gm|kQƆ@3sz3i0/=nkԴ-~o .#7[g)0墴pѷyo̟J*%2#)+S8Bp-V?i%Ғ"$j2RtBղm S"Ѳ2oK@^w/xĽxyr%f0*4"52ƬYd%?J mFb5ERa:RA ={SrH;4JdZ $)&{^Kȃ`[NaeyE#E 1t:! #W=P}l{mT&B~!aTI 0re5yG~8o qb3B&}N*#ʈJC+[+'F[2YEӃ#O\/J/%-֔acBd ^+0$L|6o|@MMCL>t)n9Tv/*E_b+n^t2vD<}d捴>/>'$Yuj5$OMBF)s I:nt3Jn# \#tc+BZLzbC &ٸr7l{#o'ڥO>ȾIԝ[ON\.8SIU~f7H5 P d LnþW{֯ ~rص*2,6,ta…"Bs䮋Kq2_WCFdsԤKZ@^RAA/OB;?j  X8,C=9EQHBDHUcj>WHuEҌ -qDɢdb P/*b g+NsY"c"}>f^O LƏ *l_cE#,$|yQ1 tGrZ1? &x eDӞQM"CGvWI*JYTbLZǻӯI] `KeAmŝ}VYmj=CǴ9h b]qd@j8=9tW뵓E,u7lu8$Xֆ&D,XH`28H􄇔DAbEL3Ԃ:%&u+(_G_900g@k䂸gX]lwQZΞ80e,Rlw:_ZeS[d ʯg辖KThͱ6,&#M"vTzkv1$OQO.=&GLM=JȊ6wv]&Sb'&Mzu&Z" cʿ^^!+D/5c%-?ӵ6C@e ;{d0c #*(C=ㆂ1]˔u%yYLc0QѕE0ߙ۩q kc#}tzLZ3I?}h|nx0cݞ:&mJN*{q}Yp@BQD@tR)88wq+=nZԭua{gQw+%㤟c@0(̞>"_=YϢޛE$$]/r(W~ Hr_D1+e-& ~-jV DrUp6tB\Hۘ.H7I6kYLq)P=~U6Fd˟el!>ݗn/ҐbRߍ ,NDgʽSqeS<"3Sm2r̄fZAo' +-9g IRùl-Q`M !uP1&:`Tр"&$6g2sǔNoWz\]S,"25 qV&z/J_>5U9VJ1<;{CHv2\ICS/MoGǸ kd9IuȀ.(X5hYй tfGUdkhRnOX-1B;[6,4ϢIq0K*ؕ`f.FAQ#IάM9=o7e#!+-M7mZPFel239.o8g (@G og&nΓMIzGC]nDos Vi&\o'rv ]bSt^9)`d i]ByaypNyBa%6~rj C#q$E=KhB|7L$[$Ax)bEJ GL\9.g1\FF 檊 l{"TRfh)@mɵiZ52{:br?Ţ|od3}$.}9c`N{m eO7SC5ΓS%"TD#e-1#^Pc1(tgUbj E*UzU}5Q4eFmƱg-#{K,E'8Ľ%ʼ}hg2H19φ4daUi="k'(.y`3KJur`դ7 +=)ҘŐ^5F!"/䷓t.M'XFh?AJlkI|181 +%*bڕ%,xk# _AV *.̕c0.섑*l^i b~[DrbJXʡ[ǪFyg͎|$ DQD| |s%ڈSaϺ8,c!Gnn=^-F-rU CX3.[(Lę~llଯ ^+1q^jU(sn"W%tREѺ(s:Ζ%sE DMF6%KҤu84%hޞ]K±:6"3R"ՉbԔRQT!\B-fx;Ls ix5hX%vJǓLuˍ`k)PE?ʘdѠ]?[ΤgHl#nڮlbKZV5'|ae8&LВ,D"ZwhyGwDk4Z5tVXל <zo[G5E~HRIv%ETa1NR.rk[c W!*11lrU1 46IݻO]u#T/G_P+ |CA.CА-U2 nF3%JUѥQ#خYЉ32$EctgN@wGF}A:JlQhƕ}DBNLĉ;0lDbI(:T!OW)G̦kȚ9*)/b`K,3W֩}[ʵZ;? P1SbwoӉWKeG0'J`EGɌMwD";#)e˭"U:HfJLnz=JZdzDߺ pvc-BaZBa.4Č!zguȧJO:u]R*@ȹ=+dO"Wa<-oҴVӇk2*>Q\yɘckDBQl712]:/_K$߶)3pL'eƴi:}xϬp0=z|1(#RoP,qL:~m6ʢ;H%B+Ĝgؓ0t)d6DI+5xQ0㈖֍Á dtVn΄h1T)(Am,ozyBEċw *nhLbz)̳/[xUfdsb3 OhfƨTP!SxmωmqBU~T5"Sૣ(/-n1tnc(Տ HLX x@Vɑd%zX +1 rw|A[bժZ͎EKrTB Iw#VxLA` |Gr##>{3Eѝ>+==ьݒkv2g⻇@$k RZdkM%ዢ =6+=RG#*W9.%Ed^ Tf`ʎƎ下^MRìw*_v1} ?6:8׊0Yjf vAeţ|713ۭLxCa{͆W.N;z.G4[nRn9 BAwRA4J #1XSO!^~T')Yqe*_49)a0z$& +w$d4{*pV 4!Dյ Lz #aANQsYQ,Nf$ )+t  2HmM6ed}tlr췁Xr+RYBH)C<[ ϐ9wX>%/da͓D)prBp`4-Q3 g;CY9PƺvD輤ĹcBW$s@a1pePoǰIu\u;ȨIS,4%‚1oԻUG8m@A%Jz(D쏫-Ld$-:`X>xF!Tbr%Jk/\iF0"_eI5[i +!|XH,2%Ji Hq*[ojKDI BD| v HFJ/O*rn.˖ng]8\UNΝewӄ^?jF6Xa- O׶rGsC]ȝ~l(!#ZVƧ;le_ΌlRjCz=lI:EPMq uݔ\fԒ8 kb,3dEYBv!ح%}F"e}v31-=]R!f>*Xb.DYovnO&w V2&4\2(thG֠eKQ4tj0Iߒz-Db[rHd[B¤ JcAO[ur;3|(ERk)MCċ↨ؙ֞,jlro%WX@܍V^}㣂IVGnd&mv$ռ:Ts kCKB^j^ Q1U B. )E*:H4рqh.d~Bl+_F"fɟ VܜK'ݗ:H3%>DUj"rR*JG"|g4qEI%Fo3㜲H[g"\zE_ wUDyqIMArKmsF^^J9BPXbq Q'e HDئR6 <#iMsIJrdSLqtMMTx*a儨l35yJM|6$˭n!Xw &ikxN;ȞCfv^dI hĈE%^\\ltvF O1/x˄eVkLPJ39!O<dѣ^c!pXi -vN䀗m[rJOS83(.j)*g\5S76-/Óӈ!k]#ub>Dбߘ|=Ux.eHVp&+GƚwBݷg]ޝO;b$ߠ§RIq9..0e0K!g{q3t* >ǒ&b&6\8WK&%U#\u:%-\+Ӗk銗d6W"($׸I쾂!q1sY\C$Ňh̡!R>Ap̺4,܀CRFz]sZAC^Шj. WSK6>Pd0EM$T kFJˆ4$.ĹBc ՛}HtSde dw ى&N'x6Z䫼Y m>Q=夨,1{#f0N3 U$yh+lJkQh"%r&nP)v  %PPq^8ޗbCVe > :@+9ӟ90*+uMaȁ #RIiLzz N>䅫UY3Τe|p7ODbOOB c n'IQIDIY\7Α tqg Dc$V ,t0F^|*>,#FÎq;I/ IR8OH,K"Ly%AF0\1<0\j;NMbEej Daj^ yj9Rtj7% %JC% hhOUiMYJ:,/?JJԷlYt̰n> Ʉ|mBI>@ ] ¨V6mőB+WL*iҍlQ_%ɾiCvG"ڳ2dASxYY2^Fȭ\ Z(4<# HLb4S:,7212FM4%M-V92a|`&4gIkPxWK7srQ3B6I$80Ul H$'4sB `B{>pt&byAw p4BBmBė)H @)3p"=B 42DInN׻UD ).oX&LqtT\}F&p.3b#RΈy2"q:A?-6K6tF[4BbAs\PҿWoB|FҬD&MF֮y֌6cj68]R\#eN+ A<4;iUS"M#<_< x/i|+Gğ&+C+ M8E@ )T!Nxpx{@EW ,Ih3tS@nC@jNHH( fCD# c zB_iY#R1M's/7@e }uK04{+TƇYoš܈-\7nTRZӕi։ا./&2wq6 `FdzY ˌ}pkl%;{P%(+)Wׅi"΂DkJѠ©DV#ڦ$UA|m&dFD@D3pf*IĘYV.320 ).@Č@ ; 0Q(iA8yMH$ 'loƺ-䲗&?WߕcR“ Ź/8|zLE]tN1Rb<*F+?s$ڷ.杊? Z/R8OTs#]s$5V Il)re$sr:K79?Z\g-o%OqeVĠ+<F.S%UߩF\t^D#DUoTkƆHBW<ߒ5Ao`)Ê(ptճEΧMp\S1'NA@,j#HPd]/ESc@%@Qjћ0bVBv#0p]͆Ḝ#$!sU_|&rx2N_=+T}&_K&K,WnR|4JL=L,6W *䜳=RF݆pK,o`ff'H"R(Jб;suEWʩ5qNTM!WkֆUF꫐T,kO,30ry hzq~`ʯ[%%CD R,^_˭U?4.Q[TgT^æ j+|I'E{AXE5DyD4To;( "7YUU MJK23^ +SBCZoP%H3Q_e#'PƲȬ@%'[.?Qj6WS{|Zwf颓8@,WkvŢpcmU vw#q/{[rǼlT(LgڵdH㚭hB"RH818tl1$ĭ({o&-de0>w[%t?Ql m?q5IĦ^[2_#^ v=ntֻ7"Mގ+vY!݇=S\LH躶&# Ձl*+fU>)2O F8P_O.HZTpEIe';[Kxڼ+GJ|ϑ@M1 4ߔT.ճh礜f鱮;5aIkV Bb;Fp'u벓 Gfxl ~ؔІ SWy `5DeJjԨEv舴9Nc}̯oLذ~ Po1n K }(B&-h\F9Ust(gɆeX /;I9b0%\ IP{)ĥQm;ړ{=s'ݜKOIIHçfV.Y]<}S6PJm4=!rTt y;z 1c]T`u)7Zf3}*97y@^a9٭aߙ6MrNI,!{ܿ&׭4/JTNE̡Zk%FЄQ"t-sɨʥHmeD?4H4;;(/4PND'hɦE`*ꍩ]$A$%هV/Q{gO?]7b}V32y&\X;%jUstpM*ռeQ?/,Lj4 %n&f[НqH1{֪% b(*d`uS}1:(ohA8KGYe"%_FX(y"e7!w&+v#16r :BgпrETWkRDbU)=oA&&UaDnEv#ј/e r2wɆS^InD B\VGjm* Y[8e%8Yۼ\ " \Q"$-S41#m&d$Y(FƪQJPxBYF$RŶ4b&1NR\ \ 6[y;QхPuE X@BaxB!m9…FL8lyѬ Y5"(7q/կcLA =F Ty Hrņ<@ - Q$PMR0J)llM.~eM)9N{-Lj8氕 &$\^Ր*9NZskdʴB" 00Rv9Bظ%C81U]MxlXFfAOUrH(I:Eej 643D2UWEGfYi.@2F  jGBDB L+T60l/|"BʿszFN 4"dyI%RBDb2Z"WY[*A<K.5)+9U u 2HZUT`=BRv 6 LѲc9 Йk׸ fV+X7ͩ#"Et,&w'V{;Ě,n 1dWei2Ǘ4N d:΄*N>~:QOds] Nspm4:'y2R e,4T`\ASdxvrד)uw?'5nR/dZ|C˭ ivkR|\`Z}M;nwwU^]GN,_Vr4'ٻve`:7t"gQ٫%lg};_([4O6u]&@6^>XY^/vw#IL7LGb$/ë?+TvE5[]uP2ghj8&~`;6ꌾu/.t"{*/^"DFjdOLMWU򩧲j\?ETS;)W3 cruڿڦ.g[_*5̯GLܢvb~:1ۆBg=dοXKB;>+R:劙U˟xƞ0 $Q_-F@Uઊ6XlL >?evF u.Ўȫ-%HTK]'vu,=6hvc$SUς:E*Ϯe" W7x˗'*0Y"dDG Ab>T<8'==:[WdU3*3+&yUXTnm"gmkF9ϜNܟ/>=bFz!o9-}xߐS'\Ib(z?c[]̘V,+X ~ [PV dZ&~c0>^ & 73OS7Ug$\.̏2F.iT"7zI-LM&NkXz)\x9.o']i$S)$ 6> +o8_D-BwC.bViM16,k4մ*Y&P4&$B\,Ԁp\$:1CI}C¥ I8A򛍖ir槭q5e{i%`H,hkh}[4ƄNNBUԫfh]juHSZEŢerHa Ptbc|][ 2HHvH)<#G2U'NGU&{)"P@WeulJ$RIbY\"k/ *_Ò+hEZtf:QKtFyY5ۍN8YQe,4(+d%pO&0*a5r !AyD"ک,7WdИRo SK C"ZY<\-:?/^/8 r_;0f}DKu 9s|6LШMͷB6H_-eȒBΙBH(-& *QHv)D”*H̘)BeO4WZds'FBdؓr`L~:\&Zckn@--ՆsmgfOthGT \ L!* IDրFԜ|gq.tT31MW5`⹽`e]K* DF?^>^-[1M Up %oo3vMi}]V]4ⴼ: Lk'Fb`ΜIUI,$H}W3:9'TɌҐ1Y HUV:2iy5D0aG&/s"]/o,n=(d2Q[z 1)YM($Хʋ/~NYzAUS3b|ychGX񋀸`fiw_u(#b#+cm1 rPLrj@uw=ūtI~q@7P/++WI9f'og[US(HXjCC &$;Ǡ6  oNZAUC.WI A:9nD3Dm$1,}1,N’tUµ^}? T$+1&*JIuvd/=L "ޱ2$NuRT>Uu-jGƒ:EO5,$EЖo (:<CK BMxT׍ Az V{tBlsOOt9zb l9C DΕ7ޑ-vU1cǙkr *f |pAA[%_>u:RKnp.P-5{C8O7K(4/42Qj]R:sYT{ لCjd_Ў֢%^qta$Ԗ[Fs.EVYL{ y0/Ru*HOw3ɑWJD=Dr=#+oRZ) {=oCz &`틠W"\VI8ńt&q lI&E"NWaT#w]DȘr Ʉs@v"TZ:ЀkL>NEZzE˧\"@u i?ԣ T?B9 #k:R])"pMzca_} N(F ЂM8B8=gVd ӹ$jS(*C"`nG"X.eS DB4! lg?P-#9Ÿ^ s|=CJ)۴s ,EkEΔMj:l/(GfAQ22Q4qvм2G[&@Z q6 gq\i !j8QETʣ'd[{ (E,{Ё07E#0FkjV*9,"A(3t"TM57TATJWIF62EE/x.[+IxU͜ơTԫ=,SݧQ=?yV'Jh%Q&L_b& /NoW5Z"J\<|ÞyX䫱)"cLhk1iG$;.?$AHÅ|/z" ѕV=(MQ (h#,4&mVwKc>g3xW䎵^QV4HȲ'm/]6SW! b73>L<я&p,kW>Z[k Tgk8Aa hǮa!"ZFJ(nP%hDTrM,D|*uOLD(1K(eЗG~+iW;-_Y'UQEq/ΐ/]B!}Uua(H10 Bh67'`Rl5P(-ݗCHG=3'e&,Bab2R IԪ>t0(XBQk<©G$4gƇ ÷:kyIot0_2Afp<(mHm5P dL%p'CM{K!e(lkdsj)9GT@Kr/VtS"EThP6DfWJЪ6.E\#6`ׅW7)ztX U7Q /.Pv~(;b:&"j?i },&6DYzaGXJ&PS%e˼] *ʦsؤWmY$ާXjP? CuGrtE)WpK ɱHSDiB1Bٚs!-rHAYWqY _'6 U<^9kC&8Y-k*oHF(BҾ9m"3%:Bq4PUPF'ڜO 6CzgeE #XM4q!L5FXA\Xrq,xةmv}~&ZOU8C Vʌ܅#(\ZŨoT#[$`&U0iFF5_?İa+ȫvH T-| I/Kg0+GTNg"Cn J ^wuH,epr@qj#3FW.`Lj.،fC젍RWv~6lt.nO5J0iZf% F۰~$iVmM \QG"s4f6X,~xi4A'ZeAaHF!+gfxG V m3D&KaEHGMS"LCU/';T23wcNqU"d  z d%DJejLTl |Ф/(4r# F!H9o6&MOLFCuFHNU-Hx.E7GBk&;m݆RPtU+[υ DnscjA xN#YTo6޻1KQ$*!R8)XN igt4mG[Sѽ )Ji)KC1S% O zGq_Qn";u4:[@'TRB)$Η1?rH "2C%=mtxf$Z$gqLȡ`V9 <wBq@DON.M3.zH-2$c_faBfXc"J%8dDb6v9c(Ԥ3K>b!IAI+^ #q=uE~Bުϗeeѕ5/,#$Q) kV %/`-xS6L֚I^Ãn߈Ѐ=ɈʦF{Wj!}n^*^ht?BA=[ U m"àK4œNECf!d ok0)<}LB".TLnW]{/D)FdC. V,1ታ3m9y6⥝hfXB#(IBh[QǑrYMyceeA 0 aTv"d<)I4\W/Q׶3QH'a1R A8K$<zc ȻDK$+;Sj r mY-lRS0Ej5RXjO$Ȓ"z%#W'l㈞1$k'C-ȋp@NƮ (,PpAӖ*QxIlb`T{Z"}YoFȐgu׻Q&XEJ*ønc9܃ aWv jnӆ6 Bm~z{ޏ^c3R7q5#@DvzdX6gs,-0Cal((jѤ4]]CfCB![D4)0GZ xYYSI$hҴ)GGK0djSELVy_E"rJMteUE" ďI*K; ҟ@oU|47StU˻^ɶQDݘju"d"g#]1O䓗FG_+˨%Kr嚷T.@? I61_ktaKyIj=;VWtCg }E]iu-djPqFwf R:43a5taZh<齜t. LC,Vژz+ m?ٍERj v )s6z^3 mqA>ZCr)k(N6=5ɻ¯ԛf8_ꙣRE%H=:TlII뒞-^9Tk?lE(GDRFyhVܣcr6aE63ea}t$v \}69 cM+tekRY8%91P֦;\H_o֋%EbLDwD2ʎ^[oIG<9ΕpQ*u1 #PNGڿTQ #!PM uwb.CPg:n!R|Ɔ{.!oBGNށe.qaW ( .J ZӠSʶ [CLӊ&T4_r+\wzN^2:b *4+0F3բd*V,- | 3 {p03 /ՓDyYu39&)9+d w}WKEOoyƒ+<Tm#GL"i=rMXL+n =IkbGdhڔ@֠<^f<@6B3 ~^`+؀anX#^Ǻ-c1(|ոVI LQ˩M6 s^=;]26G*O5Ydo}MK2!mrC-X1B Rѐ\LJB)M- D @b`3 ܛ)ǦCIg pL!?v֜h =$FXŭʭj-sѐ82XLwI.*W5JU܃䪂}$E\Q]ss3nc_Pψfb'eS)(CKm϶zQj;iaBA\xL !a4*`*1A;A9,C9?9Љ *j^lg9u]0gS?YuIh2{.A,ŏ$Xm-|)V*/g'B({qq+%m BS3JZzf]AW)}^ ]DΞَ-)%5Yul_KKQ:ͬ(4PRManc 9RuV 1m:+3tXMD!Z-T1lːT#x 6|Qsb.!LDN"T8YnNfqw꺍p! yDe t "BAN*y_5i̭ Z5|4TM@mn[#})>/':&30uwg!e/*&h#fq'*:a}?$WIACv@wXZans Ba;YqV'Ĕ?Bj|/s662ʶ Dը)oTeh! [V ާCDlq!CL[s]'E+g$o|(ϾxkaH(-_.9͢攢isi11{#0NPKu'6L@Т(: BqE+ZhWaĻ!ݤx> .X뺎Ync+rق~4s`g%j?p^E+5ƿiÌAJD:4"%$\sa*WN .\ Uٗ[G.neHfSjHyB7:}D l[je+ِ:{_bzy4Mb[e\GV$B2'>YuS /NōwNg?bݜK9Vv^U,6sDVU&vk4Jߑ).x)g#G0Ɣ2Hh4#xԅ_ݯS n9: ,FD2 ŵu~*pMH#+VBlL-L,%QR$mFZja(V\a%@49iȫ0, 'RbHܣǍJH$GA="=RDk|K[:4!">xE~NlRpLN$] gQe'q8<6kW!T"}jWc?t;W<\Iƶ^u3o]ί8zDq ${uD955 6  YtVMOM9vd{Rv6κD~0#k8cYs- B2+-P&0 HVv"6JD؀JL'GSDX^hjX s!`\D S\L96ω[p͈ol"r)YseOD_(rPaGqۺ`t7Iz{-WS-|(ɉ˩I԰ufʏ3 S~!5oJKq{L +]QkcQS6}[uCL*$mJ~E+(uH-x̃xT5p;I|gr~.v~ί' ZydS[J1G&)rArdh!Ug>Wₓ!;6XWbL6GGY#Rp\p/%r.mg]t;5&@[D[pVLGy ⶵZs(@B9)}[/MtO| J#UpoFIEkGMvC+8rz=q{bxfID߻(H?ˈꈬ 8N%U6\1|SLv į670Se|Y\6JLtĒkMN$WbF @"HکDJYa8|;XʂU&}i !" >/d)d^9AP`&ddRVٻ#]8_IIerk<TZIlcd]!OsP7s@@NR aECR j*cȕf\!?Z=U3cbM4oE}= #jDD8SQcy5 /9Kpx'w|d) GBQ|fDLUq:3 g(z۷ZB䃘ºscl!heژ@.QwK}ߣjNM2(1DP+pme]?₴%1.MW>%57AXH'PT':}nv!%wdͨF;'SmG"V1 C&sIїR!&ZLE*veQΐ=tcmS Fڊ&>G}+1.L1QR_ - 7$44dFcE<"%;pzŪtq@5d%+թy܇Cȭ;%"^\ҤJpY .7a7x "P-qEi= @cXaR?ŊdqO&9Q)ɗDR%6ȑ+1ȯ:[*Յ,*f=M}= J  LW=zv0K#~ b}^GE9,nDCĘ ^f+tk4̏H54?l-$b\JEg( ּ6Jڏy >&y"ιJS]FO-}0SdUé! rϟ*MҐQ³$5tAwHd* _b'`Bc%/I,>[YXQ1BFb8=J>AW r!m1ۗ n`$ +ADD&ipess P\[rqEdsAȎ4ZΪK[$ H`6)v!xІb=]=1B/;L4x-#QVF2b xsp-)Ι" zH|Oڊf]H$ Ru*oǠxt+fʿL ZPvM7v!̮~̓)U)/.RI{U^t I%5PYc%}WfT. EI5Sc+?xŸ Xw>f`L_Kf($njn=*>*0!x ФEBI>c^L] L&i,3W%b%%MS2}'?r5fd@@oQ5΍WLo4 BN\W0H{'.ILϋǎ9nW0v5!5p|Ȟc`zbzʮYDoմe)S;u!dr@ZjBBSpE"Vl1gB$QQM$Il{D )P4 GfDB(P@X$`M lUMB b`] !yFB\b54r5A9%ݣ5l X>sr7g?68XRyJfSz6s{&%\BTWb~+IGD-g_sD/ YZm͍B*nDe%?$4o&$#kS!چ)̓զ,?W~j?mYŔ;8;,ϋQ.3'(9Pϰ:9 ;3!{ RT#i Ā.zd^7Ti Lǜ2]U/]@M\F`lw Ղ妨k,;# l|gK :2KSĹ!axqV¸1:DK%M[IDp h>{p&78T;e1BEё|{k|ɈʧDCUkP;XWx5V1,_:2|7a*u*eS|G]n^_%ߴ#?G9F좙:UzSNЬ6DKͪ1-v bJZޫ;*t9OLr /M2 ԘD< 0.@-~aSU`qP -NBx&X ցXSdҟ $²i)m2=SbĨ%ze?&2'iy(SDN Ty,hg6j9ߛ!&psV׭^(1]ڮݲ/NKl-Y!D|jH+LM[9Ɂ.*>P/k ݖ W?e("_bSĖ$[!{Emd%kkU p"u+cb9QGX5Zhl_z5F578ͯAL7%,Ώ{vX2໷X|X[W3~8qr\*]hїH=#T8CV{ 4Ո$#QRrh<#D,6'qҟ\BDr5 vJnMP*x{" Av5W+5󿁖N$?-$жS$)貶/I^ C ^(JhoXbp}"KOH'129a9Ѻ9/o+4jED!x o6m#ִ6c(4F0 D9B-o)i>O)r6ꊞڴ-(hubL7F9ҏZt5'7 lc$C4"Ttit&]SZQܬ31mL#c&MUqxTrԗYQ9xDZ PTK+ G 9 G;F15*cO&"8˖ kWS!bD9^X4t@'T%·FEX|v$dxhQ;),]CJd˨J$MtO>cn7>>g}~:rGT:5&Ne~ۗ(щiy]F9O>AaX1 L/+]Sah")}3V6e+c\I"/ 0h [V+k (BU2\4.SH:Q TӸ5%s<;|Reu}ZEH; P]ڏqy%;xpV]Lp4ERs[[zF C O:3RtIXrijLmp:}%_|2s'&/3"1qV<֗IZùaWὯm.hopߗ"U,z],w,[6"i_+pC&*G"W͆^H!&j/6%SuTL]0aL0raep7 h#s!2[§mȥW==F:)櫕̛W>|'N{ ?IiDJ!`\(m.nr^XJNr+}9'm(ZZצfNI׸㣀J|B&Z, *2-woQu{XGv& ^B[f(SO%4ow!(EgyL0}=R&5qy\RQu\|05Jt|u'WgSտ77VKKqS:_ڻBn6D0T8>?f0#0,cB% x)[k}0QD"9kC=M9HdE8|C /+uʴn&pK3 UKY/E4t#1,Mʐ#c%-;W U4";o)ǃ Dby2+OG"r+)ZM+;`|C"f1%3#-NIY=WòWV^&mąQ"|Y}bϛ+wEO1A[)_Ni&}Rm%)»ʜ _n9 کUP(7`SO%B5b뒈yHL q&6/#Ÿr f`̱7PEvA$x LLr fΑ٣D42(WI?9>%#EbJmj) ,dJ0/\$嚙Mђ*-YތрR|$YA@F]xY_NDB< QT%-EG!i@g)qC5C|eᫀy{HCģ14֙7FyHiI9,V?Bh4/}ˌA]}9{>\>wͫw5{`F;uyHEӳ8i+576:fdԕI#"hmcv+breXaLQ8YO?>}-2OSz@ >9gfTk1Mf1#!ZNs895DVϕ#'}T.UdЖEݠcȦ%lV &)_D<(AhN* O~%!+ĮVb#G9]q=$_yk.#;[II< zogy Ȅ F/q:w(f/G 㴬&'˒\[N*yE KN *XrːÇZsosNQ25ZK;JCb޻Vf^ސK'm>>$)±?#oMR[UQ2"YV 4@ iCW{SZ*cbh_yMaJ? D*Վ;BRx:E:`A g_EY$?B?sŔڕj!Z Y$mdWbALÌ쫥D $<@W KΌE P$aPe-B3%y!9}b0>>ዔQ\\L!]^q(ZSUn۰Ӣ"3VɰHd0#鈛&JG"}[4iDB!K{>jRTIN4h6DO-/[3MɈN#q(k\;p׉ u4Z[Z|5TbT`bC:"bܱ< Ή~)##] v&r EؒxәXKZZ S$zD'r_7(F2HѺ+{ ( D6Q ɍ X8ȾiZJB4nܪ(MS\~G' ̜~'CcFfMrI]FI.1%5S❓.qW.ྴ$m0 8^N>EgaaI7Tu,PmDJ`?zUEIh!*y(*MUY@|q еpW?nm UϦ/T!x%RЊB~te̖,Ik WPE;SiQh'\칌M?\҉2d^tUZu7qRcT#LP)K9\&$!XY?NyF5AZoGY>P[O+҈?)Ub<#3+"Zv}77#솷$;,an ?(^zfZ#>)`W~ x|R6'm%ȅtQfWLK4IZϓJQkl8_Pxʲ%d6:t-NN҅1BYKں_R.jGrFVCOk+eqYg$\MGf.WktX^B X3XW%T^w8o],G]g6{/]N~dN}共fu =R[[3z&S#tVtxFsC>ӊH2jqTwBîf=& Ŋ5@&Mwʼ0 Q9 :=APhGL!8d< !+SjU¨ ĕftH&kP21NXI%X³*4宫x< z\U2ªcWxO5'|ÁZ"SXCI@xUGr-4ZYV>Bݸ+狌_hn]_/q=aI& EꦖjAt x}\$s3buѳQ#_~rTFK--[oJ\9!cH&Nk𶭝֞_&37,>,@OUݔ)N O [Bo59n {C[8TXK" E !ap䖠*VIXd4mj" e%##+Tظ˚:F\᤹x -ZtEH;bq⊤9_s1&DX]4tP_~T#ؓRxH(2; a]x/S}Ӈ#%Tvd)Ι4ȇ6!zUa[4ޫMJ &d36n+"l0pL󇉛 _58%_/ՉD5S*.|.KQaE[WRkCYRJF e= ׆DU{!+SǚN Ged ̼N1bIC WoMQ,jw1!J\:=~ uB,ikb'ͱfL9)L $0I p@RD!UфBޣsOh Ǫ6ygR9HNi@bqR2ټh6QK1oֵC! _a3JJu97[qΏUp)l4a?č۩(2LH_쁪H,JCth=U6D5yc/NAV\ƋLj_Y9\u -/a jV$hAңγg+Ɔox<4ZFȆMyN*]ybT`M[دQIx& V(VD|w9}f"STV8U+mY 6(Tx"&[:4KYQ+/Z8mz(!}h!" BFCE9H{ʱ;m%#e<ݡQՐ'm߯DžxV2]*MAHnܲRF6\0yĬЏEW *0U^=1YN Rt3C?<Ȩh{P|^݉I?ghd<[҄AQ l~XL5~Sxݾ½\@ &ܲow \js2ffAa5Nb-!FL ًL1#VKieSK9p/kjefFHI:cy%H@q FuƒZo PZB @' @l@8NDzN})GնfՈ"442r{f$8PCQ)>+;eO [kI$f D]LM͋]}1T 6Ize=peF -|a+\e$g9/`&OfX&(:[6z0 `$7;HqTg1'ƣ[ A]6fKI0Ԫ*̤Sz +4Cd1Giw3cV1$;q\-9(VeTjOHfLIն{cS(ȕaU\"D;j)DzYsB]9C< I[bʭ1Hݕԥ5%2w9WD!Ąk(UJٖgRSNd"Yڑ sX,XDpˁ UsIk8Z 8 Mb@lɈʨRU ۜf1gTCPQsh Y+Tf2T(>M*&7D%QNh^ѥ'Һ}b320D"M%pk?&GS:PQ/D"3SEvtٝH(|hdr 6$H׃@J }/)NTShZ2wVGX i>wkt{x5wvsHyF5̓hucUV 0-TMr5xBbaasÒZέXU$|GE.?6)yɸ"3,7dv]OvR=oS P "%dޅ)YsV:AM~Z|2B{KG8;rQ[ފI9s6=é:_X,TI S2նFC0  %qmm(&PvxL'!aYrأr<û%p$D0C%hd!5a]ԑtmx_Ѡv9ylBC攉'%_-AJOlګnj;4R <t:yEȬ"1}X/cDv3ӳzMSZ$!>"QuB,kE:/#\'snz,5{_.wαH=o֌} Bc;l|r'wa~I&S62ƦQo.QO9xi?Kmթv[(guS'{!'vFAMyhz^'[-iSA+xQ3`2hJ,ia 'q_\~3Ĕ3)6. #9(e8V2wBW HX*n`nj!< HA)=4 >H#_IzCֈ3_$LTdK.bu:($:9rq+3GC],>Yn#F~ѡ&ƎڊwhԪEͧ 9<[g;T1F4»0,b.aSOX`=FQn'@".a2sy^jF]1{,]PL1Q:PPP$ҔX okM`GU`r ''aȲiUAH&UGv ֕PW`Q QXa* f ޜg򂿅|T>zqjJ@a%m&aC28y*?h.%&M%핥g{&aHԄ{K[8DZ3#|e6֘+} PYE͠E8xZar+ zضTT"%K)r3J*1"8Kd5;EZ~{ x2U4W[i,w:-]!3:Y RNj6[W*x%sϠ)ehP.Pg550` Y׸N T]/DQx2͛@ b U7K}4V:Ap$2R"X\ ]:ݜ~Jai.BnDILFg9|cG_=N"7C5,s6x"",4v%C.6,]V0RuRFs_+S/ҫ[+Q?WŗZF@X1:>fS7 /ٶ)[wbphjyhƭ ͓ zƒo~+bOٌ%fɵbĈGh. =i3dmJsZ^% E%I]?ҺLal5 SH,TlSN p1XF@=Git-4&>QY~ҽ1Krd;Q#&CQ WIKKGI䵉Ԙk.=$&1dcMChњ= hh82NԽ*(K?==cQ 1e&NY AH/d|b{JNU|-|!;L!Zy=i/)G-M> R Iڴh$2V9t}kA`8&p|]E2Hd~r'nN'B (gc7D9>)gt``cƜT*ݎQfEge$a`b޽Uނ;(^f <1]]rSEϷ[g#ԈS9dGȱr,NJ>4Cb=r{PN}IpqŬpԠo< ?ld_*%4Z̧a/[l{*~3jjAkm6 DZn\$-%REI8,06-ofb&r*"KVzXnjb=fWA~\x342B lsrr.itZj!`ƷHl]Q1 Ħx#ЭU!΄E.6\`k=J8yЬ]TK Q Qh}K&-W%B{wzL1[΁ BZ>ӏ$H&Ւx(&S{ *TB3⌔)8Y$1efĂUR?pX4ߑ(ުne<jjY&of;4p˳. 1(Um9pC̩h>c 'd* ҵI䥊thtp굅q5+pӮ>0dƚ<$@^|1Q$s [" /+&ё@:UV.7kA@N.s; 1$rXONLb0fADu ɦ7u@% Xf4vfrDVMc;Dj^2Jn 2U lnIBuX3}&!Ft;6+܀?($xaYǥx|OtMû롚+{JItρ٢\\А-4n27[N:^bq1{:Z IWےtQLd#? |xKE0vI^fX) [Se)/LM\ɯyo23U!M d\xHIȞ#$ωT0eP4`^A6Ηs&/ "&B(%CqbZvstp8!l)#P"_n?] rr/!ie, "!!IaFlS lں_-izFHpb `9?(_Vvr6R S2 ڈ&r+۲cT߆I:3$NTcKay};u%V˩h#K{3_`>>e)(.WYKjdEj2fO9wnzQ [nQy]&]I|T(}&PQV`DE@%7TX$:(?F&Rk`0fHp+<1ZYDZGo(e4 k.FJ:ʀDrɥ,ǫX[4 #64^\Kc0v´D)cs 7g7ڑ׳J5gbl'E 破߉c{óNW`vK&맟 >9QEʵSG.Y_QK0A5ՔaGڃQP*MO% % B^5z\J8Ct0+ȯّyKڛ$u{Tؤ7!i6XQem#B%OlՉ+ԌkѩfFPj\ERA*#aO/[<*ri ֽ5*mh"[ƺ1sL`A.y<:[)P. ` ǹJPrp@" ,ⳆkGŸ䚛jegPPIl0#1$HFYAg$(}aƺ+ J%C5 l֣b`̈5oorY:zwFTP~Kt^Qmr9y$߉Y3xlR;FGU:=@Ku&uێ.1VvsEa GHrBA Om:̫ܲ7Tfد uRόk;`qJj̡ O*NVƈ{KbOȂ$mYvm$ȔFAQBXJ}VVn,8/T ]%"aLX!B.Q&CQj]yR'Tڋ:taE @| N|^+b@U7 yfd%O?eHXPxuN( ii8(J?QPQ6Fڭ~?rRTsZv t+hŬ"a۔d*7!f6+˧b}(f^Gmb,('˶ޓw1|VJT|JO7Uz}G("̉řG}g]"Zڗg3`s$Lr5p}5zJ- r$ndKB;[S"B]"E@onAe^ {\ ((3 8-QToFǥ==Y\‘"K*ݏc4ǭ'H6?-3V./?˿ B>#<}A;RS,{8BhwhOBԖ^=Iz|l\c-¸N= -_[2Or b/t!5ґJ+Y!U䋕:S WU=&ZKN2lndFT87JEEf3LpF\*/Fz))nPč,3W)I%4xПa X{}ۏ/, zNɒ >;RCa>}&Fx !lL,7 V ^£#MqX/ꋿ+*- '.PrBY38٠[T%2 ܌ҭBb'l~$Sx!::l9D-r˄d}<`%8HR EnF[{Tv!MtQiP[ZϮgܤM](±.F͸/Ldv -;t$_ͅ Ji:@N39+YF.-vL'LDK!8}2-?tZCּqBL;=w9Waf^5Nұ<$Z{AL =יf`CMۅtx+ߝfjKde<)/WlV -7$zueL\_6<6(1:ʘfw5huL{zISbB"e,k~:\$rWO<KέnHI.G,) E&R3P")o$[acJx+W5G>4'#nh;nH]Ea̞]mS?@Xۆ^"`edGy!>ٮzĻ62Q$MWs]#'ҹI G\P+&Qu$;V0V/be-/#ґg Y-ĤF׌o>g۪)**Xi1љv3j;> h!iw H҆-aZ[%VF8w5|t8jJ/N {-JL$*c$jeHDz 6dҧ9E:x1}Ii*q) ՅYTef"hqW\Nw䤃Z"Q$4sBJZr?..AM솓nT܇iV|eo˵Q)PeSvDRnǵ1䊐&dEݳg}qee wfۮTQ[uYO.Q04pyp|=F]C*?w)Tèꑉ~%^u ~3Sf֞ Cui$R5Oh(ZK46O+O fh2h,3>3qjriɠ\m> ">82D$PL!Ws) =$( 60DdBɱ!od&6XfkoZkba^8X>6(# $Tg6L)eEEW KQzi*4+Lu,vw+^&(0CıD$Zl0Eΰf=5c)NKIO'M~V@.MO>}I#ɩ>Jcp )2oAU,}vaՌ-.s7^Cp_p}D*ܭ՚a,((&2{Fxl/ZB&C"YxIfW khT&46nܡHȠRGH|䆲Bfxmiu 9ҊTUxL "3<)w?>~|LAˬv/9dV>)co<[*fX Zz)+,XƙBuQ8/͒>̖Dvix+4%ֱTP@#G8Fϐn .jMɉ\x ۝KpT1y?cYQ~~;$8Hk/ (F# F|:s8vcIa7"s}dd"AzU,%gK rN,oӕ"ŦfgP1u)Fs4 g g*Ys')YHg3g5g \JCUW}+I(Fm [P7>JTVkURZsQ#n'~ 7f`DI1WxF˔oR0dnir oB0r?]u:07D1j=l{3KietdTB$]\ ǯ'@`EX8N"`=g2('Mb*I5ԹYJ*@E'_d K[A]h&[Iw 韒+!;-+ZKf at鈢k1INYЁ#g(SRuHM+ZQH0 "& V,2!~#d/飊֩Q݉ϖ#ZRwܠg&]x` ; MVGIC$:)fInqȱv3>cy~-C)}&:h@L%A_Xnp :/ 669V,`T#jjG嘽>1bOT)D׮SRՅ:GΊ]dTz><,biyBƫ'[[h '.BKf:NH:+F/J!| eKI⧈DE0 ueʡUl2PXmBRDRG$>HLth΢(YVeERl8^ɛYڌ8кzTȬGlq"33 @dX-j#lTbVP4Y`Dz}Tt(p)aZKcA1Bcbi"Z~8LpL bJrTH nUyR(*r"w7 DZxW,GP! |Jj#~az"*ˮlEeOAq؝k~6#j[E~:KU.S<<lH3 ъ4l ^LɓJ/: 4JILn)N:l&(LC/SMnۗ=E,M;TLfEV$XR"PFmY&9ݪ5ψ/U7iFe*P !g+ "aG "҂ZX]NfUIgMW+Vyƾ\RuM4wC+JŠW;I=:vg5k:kM~KHMoZIܛ`G;P P,YKdǴ&z!+Z7[R|W~8 "Q)hf9?ҬIX'MzR>*! }o,(\f-@Ώm졣SDy$\h1bʖ1 cGk5R`  ~qeF.0Q} iR3'tb;1.LP|1r1T^ӵZs_EbcSTYʑf,.17ڊ|@ X7eF3jI"GtbF+A_|XJi-.?쬎< ΋܏0Ed:&$1չv>PZw`e ڌҊNd6YԹ5l{95~\TWf,%75t\ʉ 9]mp}Jh-S,RPU_S+J]CRpBm;D xJi4 (T .x1q2otWUpБ BBβ {AKdf{CVXбo  VhAr~8s99Nnbv|QhZ_x 烙i!'`}dë;/_((U*Ո¤E&}ER2UawIN #LtCZ_캤$\&Xϥ3HЫ"**W!ݤ9cP(ebDL61qfS *<#Z0Aߜ( ,w?j!#_&یanj4C[=_\dȋQbZ.{ sۋ(h=HӇ""̏#6TAU*]#J1SH1l[(yѭ:S(m*Eࡪ#pe-r/eF蒬^؋ɖa]$Nꈲ5s"{}%%[f:WM'E[7s_caYXQnFBp׃gM.)9OMe$,HSXNB@D @0tV4@E*BJ{$6Ǜ#BTe8J7YxX UہdHXX1ę6DDL;uҖCj:_HaUロ ]5E.aTHѝ< VOʱҪ*<@+VTZw=QdsX}= isM{3RHTN3LcX#ŢS\>q=j(r%5vT_A8NUt\Ptv) AKu)ZAt ͶKެ/NiR%mI8AwHGk}Mu\y[|wt[Ck{KН:+ 6a*:V*5Ҫ"DOu8tpҜx[I#:cT8?뚖W5V ̆l6)4=8,q#HK`ӊ)1_bωfjDh޵2emhg^,fY66,d9FnP&64`jB*%Ya|Qs#M&HHywd͑obbK9~Lǰ#͑SA_M5[3;8.J Jf{Gg^Adv:?Rt)PM HC_N cAq"ɭb0/DN_0d2`ɚ#RBq:d|z I~ڤw,H-0tQMߤxk); ,ѽ`v1hUl&j-#FFQ7 ~iz,eS!ßA_EVv^3VD%KhCXV) ,SyQ˴szihEllAbe誵I,iZȤN?&n1(p5l-Z_oAFQVn&gH wR׈D@hAb+T>앯Q`Ni/f43‡x Ixlum=8Rr^sPaPa<7/-ܞ:RtpXi>. 7Tz)=q!K^gjf"AGXbNP!|Ln`, [ *CkI=W0:.1L oQ㟣(Z#0T ۍIJ'-Ҫi veU7!(Ll\PiX([) oQ:ݾ/w_ OZt˾;(U`G͸KxMj迋"QOq^K]ybF3e=ᜎB-D"]cMT5FFj _ZCşHLBhN {H8OFE>ТP$nj A׺H30vBl"N( dh,hDD*mbf9\umɀ&S3F&mDzRC#ialP}U@Gn$)eT(ֵdjYo.1wmZe$v@UV%F8l_fsd vPTn&s@"V+DH+L,9Ȑ~J[u⣆qZiutǢrW,P&9 1@"I%Y+2٬iBEG%5\-,Z.CI/( U``i|Xr>0Qehg5؂T ;D+2#atNSbd )<$P'Tp[Irl+NV"2U/Eƹ1U(gK$hQ _yG)f#| l Ҳ+3e3rKʺavk~7;EMDL MI);a*1k=y"2r7mepہ6K,$6"|%Ľ?hH=fF)pamɨʪ6TPyEjAkX9JW U^I1c eF"H 3Ҙ1iQ "alR:8 Z =,xb~Uj&:a!hLn}Xئyf%z 6yfa"Rɴ[G(8q9M+)'6Lk$R%=HBBn3!IBQ6.Մ EbߺmZ+m4}Zs2[B߆8tYBkTGY7% dMQ؜eĆ3l\~PT(fYuܰa  `WD?P*'&|Pc_lNBxi\\E2˖I٩C|[6H>j9\T@ـDNR*QWtr2~Hl԰8XT5ZDuV# }**d%ןQR˝ r$f]FTy8}wϖr#fԜzplo\Vpj^j?S/I]_Ȱc2nFbcLl7 MEfvjGv14p-j2P'IS2dB Vذ:*SΈ)iXze P*[wYo |R7ӿW$mڟbI/K* +(дr6ϗ(HI6oLDyr ]NE aK)/  V45dמX)=`e ^VG$UiKAf_W #6_E36hACOq6Bgd(R9#Tn;p.3`XR8Pe0rCTmnDv%1!Je-ώc7sA?yZ@i@%*t=jtbuWt'1ɯOE^6N9m p/hhV(Q!Fy씰kLYl4sJ ӳ",H)Nqth%4*,WjɅ\LK!pf#uF3evl$bUދ5:VSPD.AS=gW|MRe~FD-zP"G6"i&h˱װLOlCjD\Aи0@PW1V-̨%F&asV6bJ[Do-W5O K9Y[W)]3JnkOyF"6,vr1sUyY +D)"A.E?-w4ut8{AƵ4  Dq HC IݾXT # pu'|_L쫛4.IW?~߈J6SqCr xhCvIDF5oT}-'u. MʮUL9h"11.Q8/ڬ$V %(-AZ.AFEL,=,\LBK99iW(^N "){Y$Gsق7_a]`*gd~{]9զҼؔm|$@Y* *DVҮ.b!gMrQL - DHm#5R`g;/ VWAV'FRӟ}$ x*F^wYvym&؂D$KOh1I8Cp{,Ie; a 9+ sZaj$PHLG 0CC@Q`ZTrBòaLi&Q(0HK궧Pc0ƺCGnK$)wH Ybv'Bz 6B˫!FJFh(zL?Yh>J0Nƪѡ37^ 5iF& )`|Ѥ_2TOa"#sDP~쬩MТ(sWN^a8H\V"!pX 8̋@8b$M ' j$u>4,ty3-@1h Nԅ-YBp/v֑!k08E焁D6y4#CvnYՅBbh}Ӊ? ^y$+e+]VopV㯷j&r5yz[j*8FՎ7E,cf/ɶXqҴ!r_2a4ӓ( gĻ.bC tB2ÇbsiГ'36XPH7)tI@ϐ\}l01cCNe $\ʘ7 b %* ȣ%tzo.&qeJ}m>Z!J3O~O(x*ܼH&`As+ޕĉFe TkɡC4~t{i:fDjzr.|t|E"jn31uL(6 i,C"H{$Kgy"D+0R,qn4,"!2Z !:Zg ky0}ZxA3ΰCo(xAGJrilCU!‚PA,|Ε:_xbKAewւNȈڈib|Gcr6DItckw) 㾛$ܛO$]0$ ½1WЦԢ%rLLPFEr tTwY$"H\6wx$Zğ?.(mb/hEEUU*H/DIHmm]JIu i\mA -Qؘ L$H X]Dă[}KW D'Ai.)D*D[&`С!(EĮxR0D*ڼA724@W!5G YLa& Fȡ.}v8R}TiaH T^OݕnIbGE6h/RL%r 鹦Hy<%j oWL #kQ ]M24RWjS'b}*8Bя&໰QD\{l. Ս4EsdB}/RvIiʦ4mq`Cvo89#W; 036'< .#+~Dxq~|8ɮ4nCSO!HzƒdgB eQQmI$QL 3jNHD }׷̲XaTߟ6UL&EWͳ0 c)q*Vb;Po+ԟjt.ŔYv<2(ۗ%3t.(T[c;ZXEu^6B:#C=]ȉb0[ Y҄FYHhqcm+ON4.È) (Z%TwɬJ_4&0īc.I*Sٯbb X^EDŽԱ$T[pQ@4FȠe^m'!_3=Z$VY\]-J3 K/&OY)$G!$oD;8^SsZH(W3If -O |KOlq\"gH T Oūd @@Hv|(X̹ƓR|BUn |"s3֓uPL` ?nIY$}g#blҏ7ek.c]udU5,"%yq ڡ%+ '*\ci^'c&^SOug|~وN/b 1u7gbYpY'Fkx$|nA) |,I^5ª2ݑe-6~H$M-8Mf`kH*9śBRv-ɹc37^ëG E*-ONJ>zK֒{m2e1F9RuXJL;^<%&H7׊">EU*|́Es@%(_ bu0o 綁"nRC0MDνh&I )EkʊLR{NB&ɨ)&R\jtd&SS"F?덷V X;zFD> \PqXVT`Ƞ 9# q{f W#GoX٪EL !:TP : Q! SQiۿӪ봁>]V(r܆#d?{޲mJRU1-,~na>{gd7i7tiii"]6^ɞ k q{J }% PT{me?"3xp)HuɨʫP P ; մ1޸ T! K+ OE1̬] E$M* 9&% kt|dQ \Ĉ\uR!)xɷ)>ؙsy,r+֛{Cg0G$ma{Έ^)&U:Yiaښ[E+x亨z6]Gw0feLSڟCbߊT](Y8^KRqAmS]4"}/f$mQ^| 9\g * :a^ ~҉~1Fd[U|Y{¶:`/Qx_a˙ =%2a67QR&#}̬!zɑ1sD;op-:}F+^e(eݏ  Ddu ^_.]OfJޒxOJ^ TT5 iRhV>AIXYYOE^$9X'lC$n1#vjh\d腝kmڪ^pjOnl;, N#o"v˓c ዃoBQǙ\FG%ZП0߆ǖHK6.@}zY=dve\ czk8׸Zs 6:QiN#MTz~9n+(I^FUWhv rZD _іis'𤋼.BTMy8 n]"^CiwRN9ꖒW)_I+#wxMd5- NZ"}=>և]&|n `[p&ْA8#^%\@m1vQ6 7iC\GK'h`$J ۷;o/(dLH-Lc%h JR۫JQ $ȉ-.휈+S,ʔgD\W&TFkJ+ ?%eW&rCqVݵۚw ݤEGoyƀf/-r{Ħ+:\nԄtPtȇ 1#n^s#T2C,pE%種%׾w-=?,z<ݾwȼkEүA&Pu R~)gQZmױ DfD- CI |q2O : 1oqkY &`&]u&`=*,&!0ڒM-H&RNeCHm*V$W1MKMܐ_ L4ϝ΋d4kLI{A2wHz>LbSɩOAQUKΫIw3TR^gze19RkP&>tm]z4qtpO'ׇ_Un̓pZM`CycXh b[dGuhFțXCRLV(rݏTbgc`XR>JuTܭ. <]0^POe9&S{55HB4;.#z.օSD]Y _TWɟ;Z_YTlH:l`dN HnQ&qG"؉4˦2䟊h+¥P¬a,zAXJ<y:2Y|<5%.5HZ1|.?Xk҇*kzJ 'svVQ ySەᲓ=+P"A,IЗU1H㦯\EiLmJ$x=K%_VPge*T^jxUUKWPl8cjBd0U"}E=ȤY)0!2DM*wo^YIܰ?;jxXrd|-H'W7+THo(@|xAXl:qח"&BG)y.Msܔr^eh J wOB @_"6-Iwn@̪?IidvfTj?ZZ=,!4y215u?eG0ovuvQzО[RkjYyv'l2Nڕ-D%whFmtZxi:#h{ gqyYJJЌUQ|s烼N,l{撤&3MCĿ"IāNJ#;T^IeTPAJ͐-aRvK@R{:74Ltg?H?>jHA#4ʝ M,aQqDTk-RH (@Z Abo)qs&$Ry% ^Qsr~"T"z"6$HwU ݩB!YI+4Z!&t2B&']Pĩ]|ImaEPy+tK:2o 3TRy/ZyK}ۘOoP8sVIdO#i#ٺ)JK^=LM]xMۓD)DKn*aH#R(K:9RK>BqZf^1y

ژ ;Q?p&#ctU b&ńx&^JDIJubPS\[rGO<` 7Uل(D.yN?D+QJ'ʲvZR+2=8'(%e{{H6/xp@/0s/BcqA-Vs#z_ X+lD\R\XH/ J%[ ӯcW0%YgH,Eσ}p1JUF//(}r.!o M=K"M[m28\OROčO#mJDtJhtDbKK,dZh~MJFzøFLL"N `(,qI(>l][lJ^XjلN|VR@IzӡәҽT•"6T o).&'t[JD0_d¹eWX"lE\Q-X`dϠ_`K&s1y)aWB+j׀A力tT?:8-k_uY[9qK9I .ZS0܂Os*Հb)D#Rjb[yK"՘2d(fLt%S-FF-&CƸѝG(3k(m ge9Dxph6u|YӒ\$J_bzZO{13dGD1 5hsq2gC*r~%kݐ.hG5b8d]> ꩷L{PG5A vJSgΫ*Z~oGmuC-t-(l]Sޯń~bHi"7o>.B0,G(D~MU&E;`pN}ĝbIQ%j`Lf* LLajAr ZqFsJJDVy>/BEayDkC㩚&\_FU"GZѣDP5sěuSu|/J\?hffikBJ_/KV*gxݢq*?THoQ㺹xIo0H#I9 \>{2*Z>'9it)>X)8K-J5fⴤ>,oЍBʃQgNP 2֙$>򋈉iz1 jUxneYE;mൈ}#/cLr*Zb~^5vgJ(d9ĂMn} L Pc2Mya[6D5a +Acʾ%Y,;K!+ ^ 42J1LO)c(\!& -#eU(n*LQ"ca,d2Jk1s|-&BT!z `1ؼ?J@꤉+ڒB(~騠R  .c Z1xRnd$HbSχWqV#akl)$I>w98WXyLֺ&bF}&ą*I @DSQ2Ùr9OY90I6Z|N׉Dɉ"1:R" EOuPu{ =6fI:0}lK?$aVv&ui_!BCQґhY =9(ܙ' $k'JFǹ~U|`MJ%4֒;E) \"@rsɄ.7,E2bOgY~0zpbV 1 nsQ?GqWe=G*@U8y+%L4')LIb)Ŧ|/MQY z1j)$ߑ)#T⑉N㜐 N-zVW1Qpdݒ4{);"t/JXػP/ DD0!ТUN͢kiVEdIBFa)1bLz hH)Z[n*@ntM VA Qm, ] FEן|g < o;Ud!kkE/T@B'O0il*,ޡ0UnӯtkNȈ .f)&F8ֿjUQ(#a)&3vr=t`3&+ۑC1-HzMl HGeYN42ArXp^Sjf~BGHQa B׎nG#bLJbmXMVdpJĵb:+cW11q\s HhHt%ռ&E2̒,}b "&U͈#+Q' J"vb%<+#2Gͪq8b}_S]΄2T'!D*[tgђ'Q $<%#t$%sۙlD#J*nH"ŵGTEQx]bAHɨʬFyx: G 6ʜge*$K*Di YDmy8mJ%}GK{hE*tɳ@HUW !嵕epaB"˰$c)#bRV. gqkMdrb~rKI%U` 6.]Q:Z`"Lڇz< RȫJ_lRA }1,W qIceD-iZ_VxdNXC I*jp]qBb V`oW"$6d+LH1kl؎~ցbB֖LҦqb^qâ?4"5e[-<WR,d;ހy ܍z*uoeB3 %|{N俙DA^A*ìAFF'rPЦ: b?I&e&^ )%ȷ,`rn';Nǃǒr Z?Q[Sڼ<2{*+vI7#Y R ΎL4|Y)#׊Qj:aF\ڥ|F5zWzh4p:\dwEb!@XA`@yEyӑ]i"%r.Oԙ,E^{PL+6WDzl\PE)jdb:B%~-b<-lIZ=ɖҦx#4e!Сo Jm%Z΄* _p: $]xjK3d}fp %3hgŚHu5HZޒthEo&k"$*8X9/$e扽׎6;uCўrDl[܇4M(IubD R=+Iw\kN#^^5ZLsA0"* h5n|[9?U C.XA-2#s~;ҝ{Ϊc\b" 4~JZ_K KKڀRpaxF"^D(w=A4MnM9I`\B]kuq('fkyQ27)ěclmjis~YL5; ^LG3,>PYK%&y(5{ Z9g_-膽Z!A73&I7Y+BJ5p-t{+`G /D J@i[;.KO(7\)ӭ})-j껳:Rʰc!CqyJp#4h4[-5R"@EwƉt&EG=ȵ<>Bqۜ-Q.i^PrE\_Cщu$1*K(D2WCoߓ[O%-(&D,Gbf9n4~ޒXY:5s4L)dB,|͍u}^O5 5^$.ԑʠ ΁XafL91v^1h҄ީH ˿ES3zF hȻh["]( L4P|XBTTDAX΢nUߨ !RE_l_R򕩤Ҕku"e/W@ϣD6P 3`4Sl{7Mg/-ꓡyt;ExgM]llߠ:/Ƙ]x!n:22$Xv6MkF`.[y~Xs!%Зi^E0(H낅VUW+p4.z<.aHsBr`hBoU(=kG-cfH>k%l3>\EW6&e5}jUxb\Xk*fJ侖ć뜽XgKན,RZwȓ`T4Of $0F >!GSM YD\~ަ[> 1(<av3g%xHvJ>GFѷ*_p,*97S3J\nZib<25~{4ZU=Qh'X%?1mdCGn e-q~DH)L٧L΋)HP޷|2+}Bq2 eSc*7MW841B"Fυ.,VTǩzj &ؖ]ϦV7!qPޓ-Xr?dTB|Jew]%c]TTȌ7C{|5piNdP.} eOK+1E]%!ģԬ{ ZΫX;hÂO/JWXCEٯLj7(2OEL¬YU#-jY)߻#UK]1}iCT#FVn|@(`WsHy''Q}Ӂ: Js8$ x@07"ijd8p2ɩقAdee7*B z:2{F7M3F)nê4d(&s<|Hh >gx:h.ȸSk=^]&M&PWh`PNv*0Mܞ`  S螆h W%*$Ƶ%1Ed_%%Bis+cm(|%-J*A4gK$2a"vh4B mtpJbqR;"'.:^HNy O/cЂ&| <CLѓEBŦX% \A\[?Ɛ6Md:##N q,]?'m%xpEfQ!F -,BJ .~ fP$h+vɡH JW0cpswvnÛRU]2b讵Bۑff傔eINo~= f6Xc K:fn$4",\6xL>J| KЁMq-3TŕP =t9" @$K#q^c&ؕ#H&ա3.z5!)`6$]dB&pE%ҶU~Eй.@Git,&+ښ*A+lDRP!67u0m,L@BkQ57 tK"mh82kOaf%GL$#;i2 bGan#BkqZzM'HzS6£BePl3< "U6su:ֵiERB-54H*ם12XDyB7FHA%x24\N\@&5xPQRhQqZRD?A/Vp+PGr-UBP-J-(oW(wYCĎD;6(B-27_~nP^y=25_#cZ3BBVꗴmAΩ gnh)1ᾆݭP\v /Yו]I`؞0jbAB,G VxRnoB*ɼ&\GUWShjCs.+IgwjCwXXpB[Ei+3VõMPȆ8%BfZ%NU*ejm=?AN-Q{=X"%f+>6L_6j"Yّ*0TVL@P"ـSa.쁩BV)}TBPZ^H{s4 ɩk\* -4%FFC_Gz i,Y9:]ϖ[i<7}vczzvR\f=u2%:TWR*︨I)*BM lEfJKtUHE%AfKm׋"*פ 2bO.%@?V7f*7S̰++~|\-\9.o/IBug%D#>1Nj=4/667B(jüSV3yCLi ('z.ד _,UkI /&؀yDD$ @~ G6UZA^/ʑM/XM! (gNU8b9B[Ќ\b">vYKwm2K ]N:dT  ;ɟ1$V0ōW47@jyG(Ɖھ.V [h ? VcF}[jmFkH"ouPG̑~yj IDvliBSGG`VUeV6ZE]- u*\)q>Neś!d{TyyToRC/Zh$YUۋԙzhN'BZ )! qO zb3=ȂEj\h.h04@P)C/W~E{ I.QZ:-PvefkE՚gy3\pd,$\ڭE21 1:T%_$eL;ٝfW!]8nGy՗Ǹ'l\"WKu|$;be㲆s'3;3?fޢ]a>~kk} RԩRTBEIGGZj*7i}" nP) d(E>,1U﯂DA*1nq_ʀd̪gopb' V#oHI{ #|ՇKFA[qaeGpR4xa֥ucvMv\zyeiSlSZ.|AW wx=R)]yjǯ5'tŜjGHw&BM[҈fo.<o?9TO딈eNx[Tw/A|_2c}#:[WVPTQIy9bsA]K-ͻ.A@Di9ЅR D~MeLsꢄ T(Q=W3!q5w Y"ƏUd.L1atCP{{/fw=r+b\B*:f39ـnJŋ aヱQdUMxN+& ^ri*] |2uF>hl,v5dBvѺt2](x764+KzP m]8 DCW2NƎ&#?0 i'G(|'!<;'sd` G^*W>rиce"뛺lM/Ͳ.-"Wt` $h"46YfZJ9̝榙xmc,M ђIۃ(bYWuЀ6h6e/qJቀbX}=cԊ|H~(H!]эDȢrmIbyXw, u}?(R*X)3I" JJoaBSD*?lGE.-,~y%vOBd>#V#EL!g`ے/PTj\/׆4^z&TKZ#B6vڬByr駧Up IJbF;{#ٶ gbU-{rjfJZ!me1>i7n 4c.ק׈`L~<$<'TzJ.;_{ S_LGDf ѺTXM!1 c}Lt`LPG lї4J;܅@ölYV}kԠ‚3-NQ9 3@H&9CaqA @lju( W2(\Jz ]т:Qi`9PUo~#2Jزمb'ĔNбr %I۟7U\+ 4.Se%\GwLxYgRbv1-X*|μo|n_̀k6Ki.#T.nVr1dJ兹w6μ$b.S=-BRd3DJh )tӻAS>9mN&Liojhnei`|e9RONc<5>;Pz&SLȑ;-_ DEKGXɨʭk'REc9=f^SI$VE:.wLh8DvVd*) SѢaYjҪ6-vU5R͕2)!l.vk Rt`]饈u$0HJ5 ]͈s*HZRaqO4E5GӞU(4Ib ni/-_9iY yS$ˍ Gdʿ"3yUGB80Jc)%ܐdN8bb9(*QU17ĥ&:,e$&v4A'F`2M?Ho8YXFPbL|8H`[81(CRcI%%D!3#{ ,h,Ŗ)4]ۥ Lr7K\J:~ڶJdqhVNNȺFOӖB#[e3R8›^|>|TƎ5ǗPLM%4ęȯrPx_:'% J9'&[kMBSuc@9$^$*ND5]_"RIwUCӋ\DȪq;A8.jbh@ԗ|xcbeصeO irNBMdHf]1: QPi2*m4c3ԚZjQIf ؅.XUxҕ0dCk+b #b?>GDŽ^Zd\E}p1Dzu*;g"x=ČDTxI5KJD*9{B|O@ALdFMGv Z:9J߃4}J'(/o|УM0n ʅ,k91sKUH_$RXL6̃y ]Kss%aCsv*l܋ɤzM4({ Zr$8mԍ!UȔz6i;RKq _Qnw-њQƲjLD L]l!Ts;Os!Y5,(xVy\jf]|E5/%9GHuG kP]/6ÓFȔqF)K;DAװ‚u+tAԀҕ/0XqGARu0J (Y<UNvj0樚V7U-MsɫyjQ!!5Q. %M9)wbZVtĘH| M$Q*F):@X-KLz*?#o6 d䆘EhHThŞqA 3BEZGgsդMyC (yٻ"7A>җkBт;- QEjgr't,]sjlVR˵DAB0' ig(v,)nY`H`0UE&TD- KDOFBCDACBBPFCFCJMBJRTPlx;J@  r8 r 01yՠ$fa2֊oKe4=i pL<IUEE[gh-ʑLNyAdJ.<=.7)!'ѲNl@TGb0:]>5ʇMio"#<:je"KuU_֍5&oAr23Z|UYI! we0?B] b'z YBV$HyeHM%Сf`ۂ2nE /oI8. P9}vjʶA>'?;ʨ}钖q}4Z:`jqpl` qƴ[U12-=ԯO\I'A!L ?'kL"so+E#ŧ*<[Ծ'[%BK}$- P‰o(ZHӣ}L-bݦ>Yl|U[?eFdf\iB]0*DcdkV&l%4;@TI<[c5YłdGҽ4B"4e4}J*xA|@=t}c8XBmE[[rvuCmesۀٱ,deֆA q@HÇ18,=0Yʽڈ, MbWsů-sZn﷬ٛR2VkߔFF[b_y6-޵rr6ҧ:V(omI>dꭓde<-hXij#WXE*JBj*Sd7M73~K[!{vMEn֠H2pV)F#JFp-cY兒a#VU^.@|IF\8$6Lز `C'4dudS6Y &8$ğPG!nxYBN 84QE`00ybxsBl @'dHNn0+$(l _Gr)Cڲ5i4lْ)չ_!+V=#):fԭfUTTE362.:YM:"fdvw_%>UXm^4O=ekV_e۫UG^) #oTSr"%t7JxEe8 ,AKФ1cDF4jM8xY$AbX4Q,F9'yFP(HH9cF& SM#Q hr Ɔ aD8c`8P0!90<Ur˯KAOQ&B;R{Щ%Rin&?){w\RFVj=x4,n2drc{^bGǷHc7 }:dʳN{0 -t.*c,b~I'ŝyfCHWjܙN34"$% sě8 !R%-ciQ%f( I䅲HI$jd`_*zEU[Ϸ FrxhLKvs/ok} ?-ԕI\(k=#q2~z}MB%Z乒Pa%{_V:55)B+ZN1kpa_w ɭ?VN# YQ1F dm*VW})Z8YbbUdɁ4tA#QSŵ2ș@(TYG6U4Ӹ0r1wVaN}jDcF zz\qU L;gfAw171a!sbkPѶZIθ7kJeu)Ůw#6-+j):[{jO"~G_"I/nSyyIv,).5zgM W!^/62Pbv-5ʁ"JpW͸ %T*Gj_s ߓW# f_ߓG\e2i#|aJHūCJiP " ”LL+qWD{dnJ (Z;NK&E?2oő'iBR܋AL"63'r%  ;NkKϢ]=8I`ثwCKd:O#AЬ/gJs>v'7r:(*;OҢ[% qZ6 ֳ6mޟ;c:@J=*D`m-*[QBR!CS\:5HL_hUa!n6 vT#h )jwt?۳h&\W5\#N܂2eRB䳻ZU=u ('*hPN;G;Drla­@T(Q RJk$mE~9du(#VmTD^$S<l$NH җ UM$_Cj@S>GԺF##Ggr֛Z)~667T5:5o%]Jxi6/'OщT6y1pjp{KwX~-gR.D{ Yٛ'S!@G[7h)8i9 /(ywdJʎSMZE,$.:6U5J2IBLE*NJ0^>yW :/I8BU8BUNinY'{B{*q)~m$a%Zeyi'% !{pn*?/4@dc7Qj흤EXՂ[u>Fjړni+$t3#_{IC8y$}FbvH$ NoM-Rjʑy1엂O*Hv5d瓽5sDev.},|XPuwO1Go6~>F.ʯZ!j1x}t*'o"m!Qh'}TmrRUhE@w_OR,їUEX*2TgeM \%##}(wc#}y-h W%SjQv[=N*$K)h5 _QVJv(>UX5J\J_eғ? g^Y&0OeI%P>4#@!^U؛-C|J %c%cGc}< A$ F`.Z@;ح -tińXkEҁmm:M 77WDV v 4LHnV35My`J=!~J]fq&XNj(E;b5|Ť8e%U3}+yƯ/gYRox'tُnJ~b9VUVg,u,{~x9$T)gF.wHH8e#Dg28:iG9="Z%2DrKHo4Ƶ!EѐA>M'q(\kʈVh 7j-s!@41U~N*A|#؅ИR"?B7k>fy@ Ҷt c̈\=/NIؖZ"V  -?8"oP#AnS]P2r^VCw-B OxeìO^N#!@"+cN) pļĞye(nT|ןt-=ֈ?fQ{pס/i}WldHz}5ԮWк:,*˛AQC땖c@;!JIz譔khcmOo. ZF?c@, ,1a"uKZStrŰb|YtQ%deTjޮ.vY!m׸ZuNYdsRBDWtoS'cG;j- :`fl# T-g@" xą:} #f:o(97Y)sFѨY}lj H 6_3U SHl[ݱ[iDĀ:{=sYi;Q3Aw ݥ6pW}SO|G[ɵTx~ @JšfM )}Բ_HRffgXȇcB^X0݅cf]QI:Ffl6.uDPѤY9=itЈ\15U`;1BwF ̔"bSRLKdK;{(#W\w&oHVxds +5^uO,"jI(RhC9!։IĆ=X{ځY'stuIJfiN̙!I)Gf>V{Џ̉$ݬS&IJ@^Jj gD$k#.lZ\ AMYtF sVps W^0ݴXR䥺3T[O ^ ѳ+ɨ}7Z9&*QH_\ OvY@ P[}X85(e+8ZukfH|I{H^t)(kJn4Q#N8OjHc?tɥDe$A%a@XJƅ8C! py!f~4S#1~a)D*u}iV[oxcnndmPL3B;4 W5k\%CM%*D8|4*e!j*F[ML-R1GԜ<qi2]X9}m\@7";;f "B|e#DbghTǬ5]ha]nsWHtj݃! T`?V< (3$0St f +O;WxD4WHj_j:&gWq6moc ^7-xKZM<&; ti*>Kܐ} MYi@54KZ3^?L7ݍSvuԁ!k¸Jy8U!<-A9i95+D|&#o3vғVut[C0cvubujۀ%I$7 ZQԱ A}6dFwv(F9~a`ޠܰڼ|{c®#>ɔ\ОY)-\b_G[1 *V>Bݲy$p",+rKbR£U rfP SHА'@ZDL(-gH$B)9M1[Ȣpi%lj83V,i$_8$-*lRVYT2ҫ&D_;U}[Į]{iFi[0ELf?گ/+qiJ|߶A07 #d=Q?(qEP$xԑݩC>~{T1^X%Y^#a$_#V @#aVF&_E_*\qm | $3Mv#]EWmTuaV̊Udcxv4$6%hfUJ@RF!!Mzmj:I,ˠsx)B=Q*yZPSxڢDiomL.GhX#Kw?IֵX(VSc]P)VyЏOqAwnŪa\Lf h#ʹV'hDBNk [J[= DGw$q3&݉ABQ?@{os.S#G2MM>7۩䝏*Bk#:0"ȝ$ ˥YdQaU:i (u%F*IK&oԏŴLӫJUbbyʼIe-ɭyUux%iaLPp\ɭV2;y& =a&afwWb !myL,{وFrD%"J[^[} >e8oW`1"8HLGTA  U/PHR$4+% T"D 2p+I&F˔tP<12m t*I6?†ki@)?h`b͉ϡvԨqWЉcF&4Xy]PI<#_&7Y/E\@)cUmjzB'D#ݔKAk=pYM3ӐˤR1zL6AԙWՏ ]J~*T`(x|O訅0!*WSh SQYګ?Vpǂ="#̠]SUxL,j|B *xq31C  7lbRK݅r|&06_@1g^K"NK\N ߡάfHpS "ncA r.{rXq\b|~AhXrl(ֻ hC'(.&BBuLWjz͔$fcug hTbEov}TC{Ⱦ'I)g ^TYPcCb?ђ1gMrl^Q,:DHy5y.QF休ԍSsJ<%_t`~h5X!\|RRkU ^R$Bec[L ?}u_ NR\2_`ChGp<3d5"b_)W]m~\m>Ku)UjUEyBS-ׂaQE ^YYX`2Tݤ&'E{;BLڔ~|O2THc5U)HE\@6ʒ{D_Y@RKraFբCdQT-S xHY(È;MɪZa)}mWNIғ'pɢωё3QS,%ZٓR 4;dN?,9RAYvdfYKj2%;DY D;O 0Y${wc2YAg,񆭂m _l=E]/Z\ؓ8s)d %Y Ş*atlYw ^JʇΩlhC,y ت-xŢs\+zTf%%ײOZ ,z'v-}CU,EKԕ&krbyGq˙qk>k!YӴZS69FVmUi-غ"N%-\"b{߈6q|}J"U1N2.JZ_`eC%I]޷nFb(oQ7PX90dq| ҊTtI?"tAb GF$RgK|(&>*ʭ`#@@"~8F#eD? dAPN Y&^m *afMРod 3o2쭩iǯ.D|ROʇbmi82M[sr̮Y+k;,Iht#BudKgZ6;$I!ɔlB2=Mp'E*q*Lј^rw;$MC~bR[E H)ZuK<ʺdg+2=2$O}$N9g+@+Oy LpRseD/ځ1⤬+U80*, .!WilN O8`#ChCwJS%*wj^룭EMhUgbm_"0jqMeѤTk=(7J%BS ݜB՟Hj N1 M_9L=l\+.kpN[n[ d<´ M<*Uߋ2u6S>Tu7Lk('S&C{QR$n U0`j:IKvڊUSjMeTP:aYhBE.#yߨ54x aI(|.MB>߹6D4fWq9E=;(ޏE^jaQ Ԩf4TT*UhNDOfaC>嘼?x'|DB{#+CCxlV!$0peEO M=NuJ>ջ?{-?ik(!܇?c!VTuZd ]TVeBYIо&sEJ^pz^}`(M%Z4ٙz-8ɤ: N۩ۺ$(/.>9PUi tLMl$Z%^vشSNױt!h37ߢ\#P,=]L6 #W({m'sS+._^_UQsu FV5F,=7UL2G j0x Q9M!9EniMdu $UZK LJmQX^|(ͫs eqI$Ap9%IL_nM|DL < @Ka*pt ]%iV/`"'dq3ʓoEعOf%DEbmWy}zrv1'4< "VͨPa H aF8J *_!$\uFi1NHQ %Mh8GƍkIV6F;`lmLjDN)ҞUm)4y]Շ;aq7vr*yO.lc9]E `eDt/hHL:.a@0 )g!|YP/HC&Be5 .=K#P|p"0&dj ‘L!EYC+(RP0oDpƘdD3-]"mԷdV #S먩 &ˈ׫d +;P'cZ8)r"|E&OzI)DZKE K@bv@B|=&rQrUdO3-A8呡u}/"̎mǼhIPruKjXn! IjX#!9ny>qQ=)ۇL"9=5x @`;Ңa \K-J,p&qɨ6۝SH:=T 9)/i/`j,KB㭟9 Ts[H܂ggŅz x +4?fb-D Azq"ȸBleY5|Q(ɐDw(yXjCU+堆nfI M&t᪢oW f +,B! B@D_ U&輪-2Mqrh(]eQ!#CX _9Hƍ>Ivt<2t)S94%!}O$&'q^N7\gJʤY{\uiXNo)Ϋ7RkG?w hVe7 7|1ZI[b+@Ԣ8PSx/ QyK%^M=ήimnUQyŎA-ʇ{(@(r:J@}"jǻ?'Dg"q&Z :202h?mb.ÿ,We~uT%?9zB_0Z~Zqax鑩EmL 8ABW\AH/]=*[Bm$Cs#ھG܏ *}jb28{ uʒ$|Sa"D["!yE WHTZpb>8hIrRInduӭkQ#p˲e0{y%dl~=@tghC%))DwjV(fdx]ZpcK%w )'w`jR #/62DQD){/W+oX!BVH—%i7*ObFGq"-[,O у%LVBad :śYF#̿Ĩ%8~QBzqk5h*t,"l=~ȢO;87Y7Rb6d*pXq7SBHFg 3#9юaSU# B#"^̒bEqD͝rcD:vWdqN<S":J,72rWu!(4D|uʋEcG>Y6OdCjC$7]M{e$YʴDtԇIenF@%ʭyC&J6\N e`#9~/y893Kz+;!npN%MSF46K|bXwz`r~=5ol>f0d FH,kJ/vRHs04kiWb+~LGŇYdLMG8^J[p+YuÄQ|EJE)Aq+o$$e$zeYY8Il!LE7,2 N0_M:.S+ 2R!'B(d| 4bJW}{Zea`CF>ºNb2L7aT¿\.EZ_<#p =LAp[K~(Yku%XBG;n*䯹2:0/8u*f nFmfR%J @LX V`ύ]̘w0lRW*fD$bc$*UrnV#PJݢD* sڻ J-_X1WF+5zAȏ'fஎgHoo qSMʤF*4 zmBHUd$EõJg4,gDJ4, T0J`%H,ċk_v/S^AIS+)&"ٜj2}˛$ ^#f|Tɬ_n9Dҧ^QqOv bU&g|DJ VN: Fg T|ɥCMN-pTjdFLXeX>~ !V=ƀ܎-֒-@}3&g8O$U n؛Ӕ.hyA u7ӕ߈P>ӢRa%_JݰI#pVChܦ40gNy#(PhΚ+~9e¸wv*}#^?04$i&mCAZZQaV2#,?ᤤN 6E#EAb.j7p>tKzԅYa; zMƒ(3ss*B2ca/ O̬]h4ѥ-Mr:/RNpYBՒqXLM:sLQq 9fHH*UQνb!%12 KsD0t֣19(VBR5AXF[WWTjӯՠ+}}]~4Qs 7JNVB9(Br;M߾#l'L"t:y==\ݘTTv,^&e;)!Hʿ  ɖDNuؼQFĆ0Z]i&j3&M /?j ~/ )lTh|%T\>`;R4 =7  ('_HNOhȁӖk{1"v'J/Q%hݟef*$Et|H`deMVb#w=@M ׈hҸ7Z-ZO;=bE-2+J\9I+(x QUB v{}h&8ڔ"d${'AP]wڑWt̪R5?M+X| CQb0Sb6andQ.@ЙYTj= X(:CejE ?QQ2RZ/Sҵ!gh@fn &H 䜶k ^JSk4%'*$`D]2%unu(q4FUHWi]%l JXz 8F/6>9AMBYxYka h!]:u k޷%WˊL'BBLW$9i"aayiDwr'm k B`]]!GEM ]WTZӦpx C*ˣIGx:W_ʒ>αg-a̚i)<} ꖾIgbWTɚ4j&֦kȑӜh2z]-QOUalItŰ`fatS{R+ZpYQb;2Fc]6*TJeLfb<:}nu ,ryP1NNC!R0  z LإÏӓ8jEzʺ\^"L',33w=?8!.ń1 qsbmh˩Uy@EiIQND{N|]Sb!y4c!ѥPDC*_oEdqDK'^ə>q` M:6B(HW _SDҍ$+BՅd^6_1.}(31`r<3l# ϋB]oAKI/(B )?6L9% hI~{2:ryA֦- Ξ'+xzOD%C3JSE-KM!)2]crDuI.T4ctLaFcQBK-IaB2i†h$;<._=;,42a$ DP5F7(~nŝɖsF1'bFg $~LrNR7b:;&6UR0OsInKj"%:J 9JdjH!}O{V hN Z\R@ZoJ=bZIud|~ycfݾ1 F$Fir$R$Ȋ(bdkW +e1xg2#I&wmDHFCGˈu8mЌs).9 C )հzr^~(Cf!@}STTz8 '5-s| ‰^^"2S}! By %Z/FH}0<!I4cMnFD]y_c~Hm߳T: A -DXrF"6whJ^Sq.$(]¬!F]lQ~TRTAEL4*)*IɃ?urnɼՉ?(  "*SuM"bȂaԢ$6(zXP, Dnc*oCqOMv٠j QH,ܠh/ҏH*ZYMˠ%gb6HNFAd?1&.ow +e^%PrQ4 r;s J jon#ՆBw%qѩZn΍OdM,DiQi;,LSI&DWL^/ "V~ԩ4A3SABEUinŮ.] AO&"bV^ck4Pj*Ev) ƍ.=zYOe`V"pQ qIk$t45d M}w:AZKo)Ǖ; l.0Ku:Hy:eDz)&^a≮NH40Li[p`Z,%GCo ySm4Nqjbf*v@@0d 4LuyȪmÍ d4Ÿ8QیR@~WN5rƟK -̚L47jʏ0j#=) BJRXqd"ͿqyEOLR'RuwBV+~Jb>i8\>0ۗ+~Mk-SHYj,FY]Ժ$ O̮oԧV7-t cv%47{Qt"TqeԻ%I7,33ӄ X.!j,UL^y_](LBM[ { BOEQ'BL\(69c,/QARjjE)kL>>8>(r B, .}Ja\ebu)*Xu2۴ZŖn2֕59Tsˏ}W\M H_`RcP&(!//xSSѱ!9%櫐4 8>O,@>/~j,խ z8$ =m;,ȕu 0!YNjVpkaRgaRB9"b„ qk^Y%dѪdKagt$dhԆkŤe)ԟ&"gt[L@@C p|>HVa~CNϼk;DHeXؠ^N'0CR.rKZ(<&B7<"& : SAP$kNkE.Fq>n3D16 1 !cOr$.JݝԦv4`RF%]%Q $LH9e#:;b0Æ)-J xOK W81PZ&ekOAF{FLHz#pHaI=j^gYL9,Bu0{`Ȗ:E<0"mDLr <[2$RT׎ #Dm=(ޚO)7k "O8,37m6k;G $^,%Iu tﴖKTBNL ΡJ9LA-gCF-޻$h+WsXTOpslF9t,+*U4?#(&vH S( O4rP!\ 1=ш"'U9SbJ^b_˒bh=v*VjE2o%v4LI`ԧSaW5}*!CV 3Єfi+oGJ ;N3xria N+1Z.Ps("<6RdѭlTfRtŮ'b2qKHqBR=i+roMM&Fd a8a\jDJ\ڵ0g@w&5B/6uhMMeK{s75VkR؉.R1'mEma*e%nn,̑;c 2RVoe.ޞC0OFZ$x#NPj.9>M;DT !D E}㱠D|x4+ I@aV9fnu:|{լ4Iƃ ew_ n-$f"Xhi䶥 KQŜ5<$2+I-@:m<>bdIgDCj/4/VƉԧ&P|%a9()^09>,@u/.A$+R.r 'Q uU58S(2=34a9eMg3{?6#bG0/x"أZ&. Vj_,%h=8M56EIaqn>WXU*աOɕ2D&öɻ;G )ȯ/q$@-IDR1ǗY Du *@AFUܫZ8VEaƈ,grPkj 0[ֺǤM ΝeÑ"R~DIJxon/i3(BRg"G͟T v-ۮ(w#s%vtSGRJ1SBJmp! ;w,}|kW8O422Ey0,/ߖ%T:ªZ`I+ 1I9lЩ,>#s/jG.n^M)ˠ~Bg;A:AۼuάG 9dUG .A:fK5@vSqSA^llЍFp۳yq>Ҍl^In#uߢ;"#TpUIDY)RUILfa /CI *ӝQH8^V$(PQk(!Hl*D vo¬~6ISRX-I[.pF<(i.M =H3ɔ V&˖ޮ}qD9ju pAH&0M̻& ԨA56m*A(dBVa7؜@O3-|ꑛI8'@έEa$mVdqdWKs5g+i[(x~@ %}UU3`EcO8HL-S ҕQ^㗋`1ɞR-o ##3EI+,<C#Vh? F]҅ڄgܞyL;Tz@s%/E7+9{ "UsQ2g*8.I3Ԣ$Z=FTF?,fjrtΘ]K0.ے#B&闚_*BOaNpLZW *]M^-XL#%z#%./JfE +9b0 ?o|͹+j'EJ"]%̒}d^4򊻕pzOw)H. v"W̭EhhofUo6Z# E3誦}# ]953Bcmyg( T'>ʡ|!e $ʆְ|սCGG>*ĄZ [a R) YU-4@k@U`U`Ք]#0'YXULY@$#]\ڜDhp XE$ !4]Ҍ J2 ]dC$IFݐF@T ՛&ʹ{I͋򿇸*=U&|hkqKɮLbK&v9U9Ї8vBwa88>%Yhs i~4BjM1Jm!QZIL]BcD %0odK ,uJ-М6^2; ‚NSNl ~j!8I>M[Oō mTl[o/]7D"GLC]?Q vP Jf)=-sxQ"NE" C(+*b7 :RaI:a$z-RD TS>[k9m9,Pwjҿ\]" fC B(( uIRm6}c,+4`i>$K/ؠ c\Q:6[MaKv|~(ِp"mG8[R"gRlDA#ʺ3uhA3r*qzd29,JYꄊM19u1bCg9& k}$3cSC\8oFS?4H+"r(MB)LhɨʱD1% N Ǚ|meLvۈkОTV^#ٕQt `'Ir/W*?(ٚkx&D#2>rx\+Et\[LɪwU!hy8pUQ8_?vKoDٝ?DoZ ܊ֈDzhpEF; SII&IĚ4"[Z ݛ %$N}gH(["Ii'ƨQJ \i8)a50O:o2́JZDw!Lv_D5vsT3ȶq 0+Es8Diqde>B ͦ"PK1.0*1 pAE@L`gO!eB`^dBdɅ"ڥiYFv zhb]F'Gd'eKnY2Lz/[*ed>tX9n0cܯB;9g_C-"ݩ #k#03jTjzŶ;ԙu >SP11ˌG+C #i7q["c).hQą 8"JK4,K K"E ۙ9K95vICULpr5{_KhG#!,ӬЍS 9 Q =ntqN?(#;L0)(iBA=QFn2+6G %i:+wUiisBAJFKDFOK?#@w#4.8@0M93P3x} Dq0U GIӢ^w:e/R˄tڷtVZ,J>dcYr!+$40XDJ-19;..B7ZX5u]ESQAo.T4[ 2~y_*B!Ď×q{F+:=>}%)d{8^LJܕ%&Or 6Y_Lp<`@CG&ϓ9*^su 9H1PQF@-),Udx)ȮlY%I|M\II1Kf;² 4 z cE>AKL9\W^mGrW z1^b1^X#@ɇZfWV-}V/6D>w_Z]͜'wiW/R]~h+;85=֦fN| +OḂ{ zB5 ! MSѠ$5tJG\QƟ.ҙpI?>]ħ#"\O@ol <|M:4C/_,H2`@ޏ*dɽ-wL ,̶4a5J$`H ;3kYuVv{I!)E9F#l?'S`=+"s'VSb*Jlp#43"yk&ՙ^ZHu|ؗ1k+nK>;#b>BC$%0e3xV11RL FdYUeCUa\GhwT^N?`V zGm1~l~ T%Z"W- HфhT{2ɩ**ۊ~|8Z=pӠfW\r=& So?ZM /DxG@p,n?Re((Y}Sҝ>hFLDi" Z&!9Ҥ%.3p3!Z-\(v+IQH+[^ֺ/pV%zSljZ/e4I6v"76'^:6NZ,J3ηmpUwgn_BRrֿHF5h2K(!w+3Ȁ*4/&'-Ԡ`(տu^kvZlc`ӧӶe v}a4boG)!`e:W9 fVu$XQJ")/؃7m|Y']Dr%M\2OVn}Ha`ĩSh7 .WـF;7t`՝~ 6pl\(yF٫w"VDlD[> ~+XcbRkO֊˃Oha[NO-g,Ɋ?:We6Sء_%TH4۵LE̳gNV'k̽ S!MI|z&L$9M9 $I3Ep`~ ބ ǜ^-(IK(+nP9Fwx,Z e(yve-1צ7)*$DD޽l;iE]yDJ)D`TtۚTiK|Hdtx2]aE)*iB ڙ܌Y4h%7dʚV%q)}RX$&a/&M^AdVG>WՊ+B-b+}q4CNv ::Fn3TJԲyU$UF7 'M/B7dl(8U=EZMݭ#eqRH3QE竫 `5nU oE/#gQTc>Khmjb<Qz|!KY'$4NBHtKYE B,đM |?d@JGQR[u =F 7ܵo|ɢy4U̦YF#Heq3S"J-)4M~4uw0婖 #K3rVeeJ Ӷxer*S0am]>P6 E=05 ) aM->c`GIWKȄe=I-wHI#Yq)42bT@,XN Rtk>|t?Gk-L=&&m7'rN0eګ^666P[HfTJDՕG_AL%ҒefI-BMAΠ;(a]=,G3"N]B֬d>zVD"ΐ..rc{Ț *M+I?i`5T̬$J)ߴvڭiA8ءNPF-GI*"rάt %kԻf}ӂ ][+W,AYݯ-ALgv<2S*ɞ+}$NP=>Mؗ,I^CGkI.EQdZGsA*N H~ڌ{e0pC:"?r $OI_#b;"@@m gL,x\+DIf0u60$NM+tvBϴ!^% ?yq[$M`Xij{) MFuE8̐!"- @2RIN-A5C*@q C$&&ȉl%XN0<0=*J}2v)c#_,Bn;c&^ )%_SKEHV(ɨʲH.X_3>HzFH@&0 (M,z0{WQ?DL0|OT hш0Px&~w7 H13!`DEs12"43Xh Ce¬6A!6@dMkS]ͤ H" B~aazl #k @LvB *tIfJ!0byQm1}N`8G)5]Ƃ(u.]FX@$ҊyEK&;go҄/-=& ̒rAXQ))@-Um*,qn46D>Ҧb@ < xVUk_GHMTj܂P V@ՏHKSIDdfsQlM8'Q"_4sN^֧07[zVa6B p12*cb">k"|RBk8U*~?ŐeQLgjg_ɢ cp h3³'vz6] ZMpg5ܷg\a7G>M+c$Yo:~hSh!Ꞡ򌣹nQFՖ4(MF}(hP ~>EHIr 9KѦOI1;qo ?m']ڬc=d5 UMT}l;r!7ى)ySM>?Qd>z"ڗs7u8Ʈ%h$`'|aJZ h!d$EtYWDo{qI%Rɐ$b^ 7DE1ޠ,58K7լU0r< &~,ZhKHH4:x`v.`ic_CWB( x(p?&,0!ya=`“Ø }5(^8Tpx\KǕZiQDD`C6>\,Ez $b¼ME)ޑ QH&7^[7 9<ȸZtI 9ح6贔@BlISG,Q0G*H%z3uE)Ӟd"&[}N]r1DFu)J]1&m͛-VSTUhRJV:Y.] ?B~"U~#yjjږ&ʾfgySk5GulEb4#’>Ԟ2"J^AR3DWY]~-ĦrֆA3UW_94BhDvo%}VƲ|^J %O~ۅ}2gūրӞPXCPYjaB4KjX@ݴ\!NfuLA[3e% JԉE]{pf7ؽgơɩ|Y Q9l\0)gRt?֒(M]9}90DVo1j.+i|21jNRgRG>X%(D5XI֩w&>*0&F3K#VB8m B&%hiTQ.Ѣ u[4FQ+ڏLu-lO~9hM}[)ƫf/ZN%}Q6ܞ0g5Хչ94ʐ$8W,ڴCY_.L9.VFMd"j^2ֵ"ti`f~Yz8sy yD16%ZO: n|`\XQYP$ZKʿ~Kѡ%,xrVH߲"xI0WE7;^؉TMs,[~l-OeQD $y$ \q@ (.6iDjA,Hnk(%T#e&rPd%~&Ѻϐp)0!7yq y y$)HzL1M* Yƌ# [nGq )ϸCctM5*g$Nt~<ţya7$#H"Mc.)el=vnM0NZ#h]r($,ē# I!dhv_Ma fkqUYm&Ԑj2Hl+ey= -gCyJ-"8̎mGi[2BN ޠWر4!Ffx4.TQ.<MI,ҸINnIŽI)ry/L1R<%E t4hh#%h~ "'w'f0ÌY' 4@~; ZrK)`CGP\dAJ2\:M@jA ""R>i RSFXa: VtxP`y4D 5T[OeN)|J{<,萤qNX`cp IlcqӃcA@`X)2khcp 0ׂqE8nt%= l$IQvzB>BpX"\6L4B=Յ,DО)> ,8Rr9+RaJ`{N> L|)*;Q1[1"Su E[ |)%98`)E®C6v*0L2)7i٪uY # } !!%*@" Gs{TF ;`[O*U2ZMp rS'X1Fd2XE=Vďe 8 2I^8NUW!D☾ob4:^'/KȒSHVOxI bgy;L,dd-}UKW ) '"u - %2 7qhqq3 1b H'ݘ`b ъc)in7 7ȡ'Cx)B1Pc:EXV)Ԉ()d]-&VZVִZ K="JTjLT.BFӊ#r(* ?UU?JG^|$ExLUNJ+FD#ƣ`MC^(C0>@ x41I0y5Z>ůDd;T(PReR1:Ϭ.^y$ZW_JuR[(!V9ÙB<(pa̋a·2hd`q6D@ ր8[TVA XTDDJQFʹ (!-lzQ`۷H.éFLQ,͓#EL9m˗ )jY4@ąm]#3CBXH-+i%K \C')Z"Q(֔#T K"AGz[Å)T,p?)#Q 0@L'd9M/1D)?J ra:(T!P XҠ 䌗GEQU7bh`EI3ʣkq-S7 s•zXP ًR/ ȥ‡1%m!A3&czhs}:p2) !_ڧa93R*E?_ Z%AHRt)4]&)bf+wʷ ֎\)uU SjAꚵN:1 8 &rB).ZO钷9J@x{B0:"!jDsțr61@YSI2x){X AV8aI^ N@Q[D*.YO&M,m *9ȗDbTRemm}!ɻ+yf ܭ?ѱ9^FڊQui=t]^)PD+(+*H7Fy) W}Ť0vEqL/7~G}RR]@ńrQۉ'!ɅuG`Sszb*"  % `68i 22kۜwS)81"Pe2JRgI?Rڜ\5dq+̹9j5DLhG5P[ Em^e޴2,!x2h"Pf*=P/C8USvhq b0ȋN7*NH"r k9ԃ2]7 dཅ;_1l%!3a 2#`8435݉SJ3iµ8G8ӕQ Iꨀ_*o)Gex YY d'XPΏН8O@TAɌۃLH.cRَii9+8"4$1A d*HqZ!0b][ZK[/o&HvAxf!DdTr]ȴ3GuT)>A5icҖgcA0)6QCڻ#"t:##6Ff&dr\(㢽G IYq)Q|-M~E {gV82"a+%fVt퉦ǠE9b¡mwm/L&f$#W!CqSRH$BU|G@n e)0E6% b@!QLe 0e ]Yr1sB >-{-G|S=?7 ÏHa1JIPMh׵1ԗwyzSiiL?Oglt8%0(d>#L'Ż1 +y ! MķԪ \ʅWjg&:X5FAzYX*L)aa&2:U,(8+RTnDlBZSeOP0!PY+E;cS֭+_vYؔIKy!Dnp"(b2_vcKsdNsXɘQ)q)F0HIL.ezች7R(tU[gr= ^F Wr9s (N}P1(ɸ=>Xq| hHA$,8#$fGpi¶$h,Bj-bJi0'GFP`zMq,VA"WY ZV*1!$?a<(ۄqM1̘2$2NkEX%ri;֛z:ȗ- \1 {8Bi ,i$ }䕔/  05@(|9 [42h 5դ%9"`{kd^ Qz"wy ZRQ).W+eb`8 pRN <RI,ace+ - ZWdxƠS1TM@KRr)લdnYB"Jl4CaD=@M'i!J]0 B;bJq~[@Ėh,VU)5DS#VKw%]I Q/0Z9 k| 'HLC4-,b1z(,AX\ HCl!7!%Pe7|Rsat?e S@l0$'h{sD='X:IUy-.C\pDzl<؊vSн1 vΧ̐-f$3]L )X ȑuYS}S*hEK2"*Q5+'q- HѕyiIoYxi_e}f eRlޠA6[Pԅ5!$JkW0ftBuIE\M\ *:)u)sq ݢ䉚*#ҝ(:g.8|u> n+W4jdn4I80 VAY%(&TENӷJG-ػyr+%R)I PřZN;-r̈́#2'EApJk`dPK((^IR7Oa&`$xpT\g/ `eY}b[6ǫ .(%m24 rXML+XJ 62-\W ȪEc~@\Eީ҉qڱ*Jc ИT)ÙɁQF%j)jПT[j%T&Z_^J& 2MCpXbSI$ 0." ڻW;E;uaֽg ^СB0|2"y0.O-/l!%ϱbɧ-9ZQǰGl6oi[*XVS://b!}t <$nV$˴ͬՍp-[SBU<'IZ8-V:>/,vQq7+-Jt&f/&5g0.UZ]~7% GFQڹҬ-H@KY^03F0ZN@p ,RUydE@W]2a@9:D"5)PRThl2󂡲$hYCBxRnKJ5_$U—͠ w#N)LK&m F "4GA*HVeA)@p'Z Bp'T,VgpZW]=[|*tوp!40%PjcG}8j[ hndОE#i#p.rl^5x.ʖY+xu!PT+f~4l-^YXħ3+F4ĢҶA Yv S|U^(8XV務2;cf8B'0.pMr9=mSNڜ1&TFI#&IP* 6~@نb5NnMu =L?%t7Ae_`ڑ t$Q@|ǎEupj4p2|EC҂ \ Kd?-glRX)yZە.fp5&#K{*ڇC52nz@27'D\'%Vc,Hź'Pe VBnD/x]]ÒJ7=,zKQG+BHKrSC0C9"lq)ohon8B̝fAyj0,z!!pA\E8ێkoT6Ƨsܠc ȘhIS]jB0aΐ\QXLH/z%Qkc< wJ]=ªxb ?,++.f^欷,O(ܸj')*)>z>{EH NJSASH<` 68/ HR(˨ݝ)SY[a9 Bq&C@͜rTG!rŷZ00l%bƣLPDNօB06P^޾w-^2(LK("0tˍ}l˭!E qIYCClrLn8\["ą!k-Śr슾+cdà, %*=ysW[wZXj@ >4e4dusO jlˣb(YbN!&Mlq4Dt|]H XLLWJҫ| _oP*Q).XfRRj׃$/TY-CP&xpykBL:u,k26-5-(b :WCҰ_'=?**FfL%\_n;U+KٽaI/:LzSZ$-j%;."8G?s[UkGXHJ@#5,ؙ$'Vª"BU&Y7ЊXIʼz^\s2+k.zijnar-vnؕzWZkڥb`{RrMcֱѢ=dQMF |ՍPr۝ GM EkaDQd3H5pbBRPQLt:)5cZ{/.ֱGϲBGb9P[N e8efWU') f˼v3QCs7z5<K*~MH!Z-t镜3 [魖Msi=2a1*@'mCWj}|WKK;-)2PjR Ml{G%juQ,̗-dw O)4 u\MdSeiz1-/?g((/nڪIg &&a4REN\7BB"PޖNMRժIY e Ɠru'ҐtQ Χ"U1oJO[Z!>K>.' uhx$ >gJwqޤxn8e6󊬮b!N#c$FbKb4"ibg Ԧd2-i6}^ ĕ (6) K.Q+򉥾eCg#LatʦB⤝;*(Z3wYӅULHU7<3E4FKRxҥ 5m/ 'd+`ݨT V!C[ YRf Dh"zlACF1Rl *|±Ҕ"PշY %\0WZ&`P,d"6 MC)4sdH7De-YDNmBI8.JOTe Q Htg1VD $ (PWk,bZ ZJ=U)pDg>.:{X (ۈVa! |qEN&lHE!MGq zCG,&2|lpoE΋G[-^2,%5SNUt0 !U 턿XK1 |.?z[I"KgFM'.BbȬON#I -mG+sP@hw*|ʽ.F%T.5"˒b↹YoW%+^ gj39$(h TӠTYv.ZMhUcĝQ%#6 WLoZ)D- 0-zvMJ(BzLEu䆚v-FøJ`:}~uűU+ƋAe,2|ufUI]m#9Rh"/g6y=t)M.RcLWFXɊ⸉\}yў_$XteqU$7zYfkQ1 W^m[w=zFY6˟Mb!rRԃD I{ľA#B253Q;dGiN/resbXw,߸4żmɍUL8ۇ02%u L;*<ٰaJ\ c۫0e묰"|T_ʦ&0fظه\'fqRU4 ٵ d,ȉP&^,5w SbJJdEz**zUye7NƧSA<Dd$eď3T麱pKvw- BlTDDo ny'VJUYE;;x]O]< `m?h:mA˽/gA:,.'^L(w5ne :U,:IO3(T5 W0y:ChS币l/+JK:q\$I6ҩ+twh`VrTnxc١X&*i|ACB=U_BlyɈʵL<6P,VHY e#Tvyuct{$.nP)X; &Rğx_TVŽO.k4ЋPP@6mDNU|Ѷ NrI'(I(ͷq@C%9#pl鶏^rl/1I̋H W>?%dgu9{:<]ح{r?=eK[GCz|7nQfs ^:Ν]T݈צ2L)R$31n` !/=ɵ$,CjFRU7'QWvh-і_V ΏIp賊cEva[] 1I^ *C lm# {Kl6ei9Y&>D7ʟj>U3lS!|Z-m5 g2R .- ht$sv4mmlÉzͯr%I7" vjủ2DsϓF0qy0QE1R{5uk<^oty6OZfrY~TI.BHT/Ag3Uwf9*\~U&KST*LǒbYU U5g+2">IOGGf gGqm3O@Eٹ[y∽ɗqqJ"MTiR(Fe15J$\xv]F]\X@M04]֨}d bЈAqzoVYL딺sP$,fpYxh]YV t|JND_鍝$L]' (HTX̒avOjh_ߓ2O[3YdSYa׹jV>zFw=)p䤲/CmY94)_m%ZP,gQac +>TSJNyR[Wy[_c&0TiPKuv42K!tOYǦ[_,ϴ`B,l] vPOh> MU,Q֦,//T$ҏuUz߫3`d Ne-wdؾJ?{6FF|:h牞)+*M/$s]j%v гMQi^HkUff{%+i@¶IxMRQJkF 0?Ǚ;uIʐչ#ߺV%f~r+M"K  ѡXqCnKKbJ\b&+IyGLS{B1*r$*_^DyS0]tcVr05P\Y@5A@ґv}IWNTRŀVpǦʤ7M5|(-PظZE){HfF@ΐPMxHTpUdG1qRN|^Db V]\T H׹$iWa%J R H%X*X&n*;qjP;)ZQ“U5hjەZK+,lB !Cnrg t%b݌l4\` FB@ܿBHHWG!M ,\wcELp+Wb N|`ʾu{tNKQTj]QЬe B(o€pGKDI![#&xTI"[rv:_P$BBɒD~Sk*= z//#JǏ XEP\1pտ*Q͵^ICp4[!Z-%"]rPghSB<Cx)PHɑ)RH <2!DvndtC`8NgNߑ} XTBb)*"tzKZ oYɻJI2R༵mY& 0c %G?`Txs/(#QkTcmhlLAbHDK@[ "f"ƓUKH+e-a! FvV#xHxhcBj9Ve+ VĐXFD %+FM. =Nė\&&J 1@ W|6<"Z“mE ԄJUL\6{}B}0%vrs Q=lKuj+%A/z&:a2NQKc͔,7EdY41&'0fN-dLFYJAHXx!FJ!Ke#E2QOݑ `tgGy{n<&[fؤFr!FaF&2W3F056gPZzfԳuN 1 t?)ȉc6bb!V6kI*#r٨#Sx%kاdxC2dc6p&P#dw":LXHuS*9v˥ 0fglP㓢IĨ$U->\dL.OޔTJΰֺjgt68NXy.5֤%Mڬk=SD./'XAW h P(Q_a6-eAʷ Tw_G,#8܋~fQ6PyW!c`o#% vȫny*s)^Vfn~N|;{]:8JFnPƛt}C0]J/ji1su#ߘ斶eph|̃H"3 QD դtSlQ&B}WT}=Qq Jߜw6V9td0Xe^wYN<,u_ 4-f7|Ѿ/GhЈ҅ޕ ;/!r"t=KӹFwN@2GՅ0V(8WȡZBܔn4'.U H3ƌdtɃxJKTEd«q\8/ F(ē S@*RGq:-_>i$h5lf)J֟TQAo0T"Aĝ+,tF ;虽L6Y_[%ArbKNz=.bVAdjY6A,(Jqi:V PQ}.^bU ;mXh;*XyGKyn}l.nRPӇ+!22)]^  JZr,`'*S?wS,D%$ ֓%1"rJz_q9Vt{n}6@AS_Y#ЖF.n 9lWIn%E^,ONۤKtU*i<K۰gX6 )$'_.P+_*36&+U}:0a59_q8^z]A/X#PӄHsJzΒ<ݙI/B#7ejT5vv^678mh䌲G(9%[p%O!9W$5E fʗ_ ں'*.-]}]͆='3HN YJD1•+ K(eJ̅!2ƀlɝ%m.5*e;)n;8tVzEf qL{5UL0,kJ M:is*b? .w53+#w&gs-bX#߲F3I9l$UrUïe$酉ʡwS]gsਊaO5 !~o#}}%+U5R*c;rP:u N{i"&H㽕%TsZKO!sB3WXkk{5ש)B;܈BNHj:t!RU+hZyHI(_ܚuV4GO~șFe嫿h-|!N5ǖ9&9l47-t+U}YQ,}5-WSYQ˒JVܐGшx ͞+\"QSۦ,߬Nsmw W\ ҔFva3slgWM0.9j/>Oz6su╛QEv([ B$h~J#3ut1?;sw Y!QB ]^4UOq$I nyL$di'Qv3V=}Xn1 OYp$T%nƚSXg(]&9aMWQ6[RRzڪrKW)Ikh6ʓ" ,.:j"T).n VgF\sՐӲb 0TNkU8mOjYB4Z)olOaw ZCͷ4)B"`>V\Dy`$G[2KP 8XbY:;Ky! NsD+,\ ii WS{PV ߬$hÃmHi2bE*#B&XK:)>{l74Pm;Ǖ?:Ӕ6nUEѰ)=ܦuxur^M7PؕV3yU&/"}3e=V)q )/Kd ++ySۢ XmmS+W%H}^WœUϭnZJ>!vuܸil/Ԛ!&>X|)^|CZPJ}{@ɈʶJe7 }!,(?،\F]kܠAfzx1q?K_lϢ;5t5)%7LJAxt.Ym%L.JMq.+^Q(-PbNl-LXK[v [B'aN$lSeWK5J( eI8VBe:J<$Z~>f F e' PpGwb1efՖRBHIյmފ#rT|5`RE;Qͯm_ , wQ4Sj2">r؃,,g=D6]Ca9<ɭ knw X%I2mԓ"ݭ,[z27 4 I8*t?q!;w—ޗ4hl [J*[̒ :lR{_ͨi1cHK]s&XP1 Weʲyadzg+1;m֟T$xtPJIW2i,3 ԺHOffQd~$&%s͢.Ln}KI63ifuA(%K/V!Bzѡj!\$<(/UPHyYpb`Gݬ)Lu"ic4Nnw&]g5ȿua:#|mqCGJ4 d ciFw+~HȈՅjv_C"K>%ʾ+bGL]-( \ž'}BcC$( 7$}rɤDC;[ć9S@Œ"0MgJ%TmD"• _2u>@8~;yՋh{8D]{ )&5YQݥ-(S%zk<{]|($<}QRﭣn)AQ6*{O}PH RTӀ % Hr,h"<_h~3*S^ KȅWOȧ3EӉaMET)A=r9^xLmb܇aϡ(xsojfB>􇎆6=vGK;-6W/tD*5.:f߅fjOh cgF?LQ)*UȜ*P!-ӦJR-+mުQT"2IvP)u[zıWٻY)Egp._^?pL1(Ә$ wu'!rx}H+VjvEğa~{kTY{yh(3pg~G/ -\=|@l8ݏVkpV(ivxwk7*@c1]IgD#(ϝ(k䶖pq+%ȽX#254Xe,睊i.eM{WC@[^snd񾪲!^] 챴٦J$t{?ܓ˕G^_3I+Ɉhd Qh(IvmGn(׉$DJ$%x`Q# z]K Q|#p-oY#ߣ6.‚`,$ rV VCB"&mǩoC0,GWd^u힫 բ'> H *nbm6kpCmvʄ$k}g:kTC-xt~EX{>_9g4M+kkʧ]&NM"ΗAu>O!aLlmVU`b2 idZ?9^`=m<֮"z+Ul q|WӍ]e6N1+@ UVӷH ~^Nޕ^Jd;I%*xSqR4)K{/RJƣB_׻ >>qPB<4(I!p ϰk,gYi< M7R EXR]=*dԡ2lg⨸\&;f-jeNG]yBsBMH 7CXewr:T[Y{ TZޱq$) R6 q$1)j5D,;aR0h3ܢުYQ^4M.(烛;8X3U""BfUO9;]T` L-HMnu_鱠+XBΘ9} ^@CIS|o*/IÔϬQ͟rAoNDsE,[fvg>'"? Μbkҕ "r\$5>.e%}jsBy1hQ&(`*яo2fK:ӑDzHlKwl|._19eAۆNV6Ls?H& NPڧ-2^3$'ά4N`_ii,>!WUHNfxԱ:[dI, "7Tې-+]fC o؍(p/ZJ-[ZC%VU;{j$:w ńNzxG@$\-n7T.+&'][#X5UP8ҵKm.zγq!o˅AwmtRIzs9dj(15TL]O[(v*RK>jSlŮp*~;Nޚr;5A)]2#H<D}ES0JV{zUcRVY]͸<;lONh*t@c0]+bM^rP=5<-&TKXvOQKhBh&6w$c=Lik\Tgc9mkH5"[,GD\^2i֭oFyUےQJz@K;h*nU!{)\!I2 ɫ_]03OB:AAnK&GЛPSdtAA=nǪ G1w /j{GU+S$GMDAYKEE;DzC~V9tK"yJ9izIGpf.zJgq4 (`|Qd-oXY\~ O9Lv1 Y(8lwmi-~ z~!("/ Z۳̋'ҥ+2:x[Ovvn=1 =+1s{W!4odPijъ~fbKN]t~4Bf`\sasq"k%1lf|-tV3/1DdCЕ4C J2lUFKQٵDItԃ!hST"̮(iAMcE&\s8ߦ'񢕖DdV[hgܟh仈fB }L7k4W/a@V'[&<9t-шHuY E 6ޅ粫᪎zZ"" x 2mqiBwrY_*Z~w+kjf݈QDgI- \@dzi}ָ6Ѐ["YOedrLjLW o곲5P20Cu$h98,:bGcW% tPh0DUOE6d"6t6}K ).5``BE0s3^A7 l/ʍ蕈4+Riz8.Ku֋PA#*UυlwQ5bħ8Al|Y1[#ֺNX2-/w]к]1 Oњиn(y5@hg/"%䜲EQGɥw I89TET&`0NCةovli+zco} \+TL3Z"T*[QAAYҺDEwK!c$*#dݲMM--/0AeJlKyU`P3銴02.$nE$8nEmDŽwBT6:cKdP+~A]N/3,j7yн7&M>=Lyi7nJ,[?52skR]u ph]"~#;N͌ku+G$ {HQ^l1m:T$N7U}.ug483H:8ޫ̌[{ HͲb7Ẅ`n{PHCk}<0عŘl\]?\LU%CGu߼Џfl9 tJ#e_ ظj"]U 9'f`J@r j&@ɎmQXI~ِalһ_'JZlt:i̡X}fY(3[)f[tYnT)|| 3$Rx1& `%pufYBmP/|e%1IV*2MH*^*|/F%1THBsF_ĒJX⒑@R GM+Zq&TqѼM}M톶]xjG ףKAXػi51"]MI% f];rV`$Ne}8&dh#X9Wr &0̧BX; B2A P,Nb'%xPv'8M0aA ԙ"İu&dDRL.C ctN=ƉRFCA+D勚e:5k-8kAS[W5"b\$}RRHWdIŢq@}Ve A,1&(y_/rf Q,vd[g8ͭ௫퉜–c؅A7hӁXXucW)'SAYe+3O7Qe‹< Kћ7dO4+ρY&%@ؿ'\? pD[z92|"UV>hȜhYC0Kjp[u=RN4 cvMCgl%ōٰ^2oۥ|?x {!6 ,Qp="ˆ% Feduk(."fw 3h`ċusRī3.dDUHdik61gƘ7c3M-aчqF%L&K@K0]UX#D+4Rq_q2 X%^Y2M'UzgՈ&Ťtr"8%5\kdBc$iDw"l*do-H¬䕬DN<X! $B "gNC$){y.X6Ȏ\#/i Q\`1Qߊ:(Xy`_ɈʷV_jKyYs hwc B/IuZb1rxV*۴ q~xb*cnz+y&fE $4T \[12 WT6>C*;m h]G8|1OW x"{ù%K^wj3u#/0(&woV5 k\_'96cEinK2+t!N?{]"Jf]v6 Ǒ[P&5OPN @뗚M4ȋb;14ʹh%~E*t+Z51k`NW*tr\ ];E5uwjv< ԇ^p zpRhSXtx>MCl W+֩h*'n&TO,DqzdxK/=֐Nn%odBz2LWJ(IЛ^G >%ET. _àVĂbLKxsWk 4H譕-,V5I v Xi]śJ.{ȃ"A2"E2X34yJ7Ft6atCsNFg\ڦC6БYŴPPERG*&]†iˊ5b'<Ӝvre9՞Kh>|'zbHU/gVJ}&we M,] K  vj|F4t F>7J0h&/8 S@^t JEsPc5Hh3bo}JQ;UPekGX3 >3$(i*<1t HЅV f ZMA1z(N! ] 6X`keWEVRx0 -5z0s&hۼTCERxz$$){ś2]'4͉q%ʱzXYp,<zGAvE'YxS'2"\$*S;{ Pb2f,;Е5{p 6딗 0),X֯nW(7wm &̤F۰f}J$8Ϗ[BDEV{ ̣ucxF+Py)Ј/X=(;~ħ0HW3N{ă"wV.-KF_kRi):% NaVѬZOuGN_O PzYӢb5q.+cHN{Y%mtp[PR:V(ޙTx"s0U9ɷt>$h/X8|D5T?tDFʋoJ ydQ}h&22<_BAHqaL*΁!_H  f-f+Ӂ^|(YďjGl$.mFzEap(6~nEVS pbUFu4St$"2E4D& VCO S*lesnXJVb㸡?<7тŇ9mIЪB JR 7sWkFLiR1F9{7tb 5uND>r.a%P'bn!;6O>"7rܣnf4u8=?D# )?{ jəo2P#gv2<㯱CXT*eJ.W~G".I٩\Yt܀pPw9Y~ȌiacW8JмS .^i6Fvl$w%t,x'xQ5BHZhģCBEVR ia7eyR%͹,6|mYYAf%2Q:)g4%[NEjZOrM^Jng`~32jr__]eحA5TxNMLm杀!&z[d}0"kSXJ.]V%5cÁp[j+A혳k/yIVTr߮go]Tx[Rj'\rueŕt n˺y[O@ܩ=𞼰%1B=l..U52 tO1I7Zm2ʃY$X^?i"$f𸩣cn в}"kYqlYՙ=X]fENbdMW$yBiS`HeP3/XtвFGnI Xֿ$k'uCզqxM(/X{K_lfiFBd!h\N oԩ|N5ƥÏ]Q{$y}/8OcN– ZMIǃw4T-i$_l/? ЕOap}140-UAjhK?ʱ1S.(23<8`2~=?ie=}@}ڷs~~)?y݃uZr;Do?CbXt8YR<+ٓz[Eb Aph@^: 4DDYM$'Kq g0GnІ?h#Z09WAǡ* ~&pHal(Tv:;Q1+P 2KI9J*e*5vKSO&JXK{dI.݊ǬǦk! IXDT*olxIRQ __ǑGZJI4 LܼJ D, |h|@Љcd ݸja+G4;Bw3.7hUd!@H"~j71C kH͉CiK#ArvU@cB!ͫ]NV&1K"@Rb\3%-'KU:8*\v9zӄ `TIg-k xrIl.\!n++xVXH%lV^"> G yIkQo%鰩I7+T.تމ4BBHз$E௧=P O)`.gbο׽+CG (;4k/Bjέ$)%GpZ> [M5O I#vd6jAۺ[1R2RTr_-#os>'9Zb:GoQOC؍\(}tC($2I1m;9%~ 0E_Qaa4[ro-v f<:)൐pZU . s%@bi3OhbF4"mMz4[WyhP즟NҚd:rt嗬!x"+H)&/@T)wUQ&wXȤP՜]A6ݖ6e_ڸfdGiI+\ WFJ,xOsT"3ΊlK[Уe W P$l/^M|bTm.9&M$ E3u|^4CQ'9I"DrAb&]LUL u^Zzvg#%Z>FITz]8]j_)g~߼d _] O+X aqKcs [8ƕ ]/)YRLm7kůߏ4vc4(k)偛[dpmVM-TĴؗ)r]%"pVHT#l0!t%^[ʖZӻoaZ81<~eTl2HMQC s')zh (tNvbpPw?hzFuBuysML̊ /TlYOAmiEsSrJqChr t$'ݘ)^m~x{^  $%ItN!"^3U\F@VZ AmI8x%J)2b_g5F]Gߨ-FZĕ:zBc7KQΊ˻Y b)@5BSAإ&7l?Dœ? oػ RPR6V)ՊG>(Fk Jq8r/Z0ȯd@ӒJ8vd[nː'zKzzh/fDٷ-jNtʏ;ᳰ¡~͍+MHzЂ]A]u/S[TҥTAXvDTw7 gbWdͯ nLmhS6 Dq-U5kyæohC(ɧȴ%!mӸӬ`%ֽniIUȏAe1VG   ڣ }R搔;UBT ;bbf&H~/Wi|/rL{Pr5K,v`$!; (Jg%nE)Vo`PVsU^v!Z3} b;6;CKGÄIl~}_E?UeFԶB}'m\oU:])# $ ȼ*1_Y(b/˥h]XzkY541 U/,<cgN[ E5&V^((V=' =i0pl]h  e%^C.\G]=EFWǤVp#5:OF %3N?,\or%cd3cN2 'H:;3Liɴz`Y;bE:ҖYY&LG1! bd]P۲eFtSJMV }1B,?bRպͳ)gT}IMCti KM|e5WVxCG?7b~!e:tXᦐ?TAR:xF.if,aҲu$uGG1Ot$ʃǗa bzLZ1Me$9XUU "txJR_n?.r` RТZvwPŕ}EFR!X :>XKr[T·ЕH*[],b2-&"[]Zȃ*)q9*Od%;1P,^0m . ٠T8Jt8nG"zmUeTm7WhS /#w W-a[vY-*Y *hN`ǘMܭ3zOǙ>ܒ"|!Ҝbb̔Ti 1x;4]Il qJ'DYThʱiˠ~KǎUtud$~,BGьudB)볕jU |ʜ*c&ey[uK:2L$SꜟD7bM~1IZ64ʣBI;d}yz hDLQd6 cӑ3DPw+otHP{bK1d6$bi8M&I$."nl2mVed h{J"z#%̟y"IԚpFnc\SɨʸV .g*>Ov?f]6" lj)q6)m,cu'mӹkCv[x+N{>.)El囥HG# Wev0sVdič']ŧ=j).){+7ڑXhyh¥4!NJI>H!+}M'>d5AN"8Tⵟ|O0%|`p=5 oiZ]H:LqQ4@d"2ISȫ\nk>[bvxlbvTO ]fCں}鐠H<2i#IS ^K ?PF9iox3n$Mr4E؊DS⊞F_έSD6ޖ}Hafl跣ctk68*HÃrS`u2+ f`N`Bӌ"cȆpG,9|ѩD(L*H1zzԂ1E$ hlʛFHq-mM2RX 19}f‰A 8@BYi ,/B,] _PF4kͪdfg\lH-)D1VMCD6'Y$*ng%|uaRŒDRy7?B$ʟ3j>kk,K^_ލ#ŽD|<_RX"b*99/s$Nv-~MODPHyWQٯ"xkPνJT:'p*Cσ_"\Vd/}~-`{I^VHp+TWD+F4™ UF(Guh*h?̗i>5hjS+aΩsmhuL.5lOjf$ّI"3e6j-0׌XfO,1|ܒjև3*#["7il,x+K3- sz\7NGzKs&sX&FA%W1Yx*$+ҿ7b#S DyJ3/LsMU#Djad+vBk2WHu:sj͕ʫEL: grf leTc4E&m4x J=!5/*!B[o\:R4@ 8ڸ+Z^aYPDüª`\Le^ KLP䵹TBAn@˝sM:ۨI*w ^w;?_mW1`d qէA =@DAx:t c$E{(pۅ\#f(!z`oY09iLK ctcd24ep/ONۂp~M|H̑!Pr92$L&zRǦN57AuviT AA Zd WESW7L* WK[_w#Ȕ9R$R{j q 9ī|x.Ǖ3`좼(o,)ZlUdʉGI–H S#rx5N9C-%ܰcۼuTJ/_!RA,4"}@v~ҀmX9~WBO f%YQ٨L!צ̦%Pt\pوgLh?Jx̠\F Y(7O4_/Z\** ZF(L"p [xȒ5D6̖bt(U=nm/4^S߿AeVk0ibm@&.lIGIoڡ韱]u @aBmFHw"Hюސk׬KSݞ`S ڧsGaZѰ[l3WWEe!ۮWHZ/ЪjlQ=bl8J_ɣx.M&X&+.Ϻ.Sօx*b" Z6m;[%oN* <09c lH ʼn\z [m{fp;z-JD}i-*=G"P$cήb;ư.b[ $ uR& })BۻK?#BY0@4ܲ*vYeMJ!+ ߡan$" ^nh cY' ET8|UjTAu;pbZ?T; ΋(śbs(mE%,^f \O%ګuΙK:΁'ĉ(=KS%`RK3\z%f~xǦ3y6Q RG|x IR*^SX%ACSu9Yׁ[/D%FGSƚGT'z$GQ.# I3W%sA;3 ,NBZwJnHr=òm`}Ek^a9XŸH6+Gͭ᱅i"%|z6zOuJϪ( T:ީ-b,B-;jXk{6HHzD >! Iҕmb^dU+q @艣4`!O-N^:L zQ-:2bo!2lTa n+7FVI#GmN<7~/&\]+gT!]sc8_}ɄIJoە5[t1Ftvj ˉ ZžRHK$Y8?"eZOsi;!^I9 )G)'^ݙ"ruGr; )TLN"W*Λ'*F]+K{E.G3k%}lI-GG7\`BWU`B{tFGy4.`>F<| juCB | I}L CDޮآ{-2g-4"fR|4#o '& ]^ȭq6T?6(ra<̐;:`\$#y/$˾M +a1 :I`QS~( t2.kvLOxXcA>L,`(I)}PE ٙ!'Dm2s[76XNS3THѬ!vJ[׭!7E)*ZQV֥IG& 3q|_fҊ-JvN֞PBUSZ g̱8{W1Avrq3EГ*xu,=}-&%arv'ore+ZEpC9`GS&YuXGKY]&7Fld"hݜKoS*RP.6p"`OKKjp02K$h;ْ661GƲW몼+!ʡ?8BBqJ`Ct' 5 <+..fce\ ""AN6]! Ь:lZ23TEH Oy}k?,G?`z!|hR/QdOWK!=f)q]D];T VfWft:P L\4z+7X[K-;#BZK'M^iNB*4*sW O30V{F@8/cd= # M[x K"/Ec*m)AMkCivJ>~DFHb0xɄ^ssn7;BVq]!Zrp 1,P/CDh0lҊ' 5ũJ &&sZY^=r~ ko?<" t?@-35Mf PRX?>:ϟq8Y0evK{ dhTev-̢zN.xH)E!([W#AL7|CL.pӇ׶S!!Zf趎# W)b{!ys搩y8{SOkw9HL:^Ύ#Ai#𝂇A$,Ȩ`Z\bኰbDS/<И1'BX?TPy,w3[d/ҠD 5r"u?e{N4!=,^?0Xԭ[$.w |B =T(6{Crr כGYU~CM܍*T'vE#%531 a$s׭BݗR ".ѺuwJظmH1xŁmG| V(5B pBz+{Wo y=@u?@1G[}8BxXY%YO0Oֳ*/F6zMsSfmPxאf<ƬIlY%)-xR3fD2QUE' }NbioBL2&܈ͼwhUGRٶ15H@&VrN-{!KLb(. mQ2XFX{e!o%3Ί|n5O ˙({]LT tHX/F"IdtK?6t.oH4N#i20~X%z1a8O2tŜ"?+Y@h;"N3U!&~CPJL O`aXlְO ԏQ(MK q't,S)yTT_N.N:; p'UfЪR_DƂPV]رە]588υL.A %RA; xDo[7p^JsP~Ǒh3>7T┮O+c9ͩ]i_׷Vr2=2M<T^DwT038ܼ:t3u%^XV; %g’!PF'2#`[,QW~J}w0Ytkrr3#:IJZPˁ?׮kwK:Q.G1F,u,Ҹ&m}6PBԋ6rDXCj\ДywCD8hg ީDgx2Ks6^Od|AdF1kzFz!n^-E+n#6/L{OJəap.!<`tīߖ4K|CsI|~WheQ)4sWԽz,#^-  ,ܒDqJ'=-Z,Y dҦXTؑ $TpPYmG/M1CVn9ݯ ;ժբe AhA }9 p;C)nELΔzZZHoyG!Щtž"='ADI*f;D}[}*LsA^L=~Rl㰜gX"4',řD(=&|+GCb%ۓR. !t3#{7fI',h bLW50T&llLr_"4mgnJS-L9{| ߶4)\.+QM FМSS$-AWNZڙTublŁ qcD;^B17b/J{$í1]y˧ vw*tNr %߾ !;W (B$#%\J&?Uڔ`J iɈʹR3320-j* *n{X逸']Vѩd3FHXb һ8ŏX =ڮ7Ii8U'͹A HgI@;M=Iq%WTX vW)$3崨A "MRvVq6GDVPv9-jjs L/x'uqԑ WzWJZez )okKi~8O' \e$J)}fqsޖ8T QY۽u?3,2 (yD)>, /AtЁm[_+or{(v /=bd.B=tC_2VTY*csdwAȓ`Pw`g)"P?6KA:H-ɭ41L (+Mb^ǷsY HLݖk1j2~W5!#C K<[!$jYbS` =ڬ\Ry TW_&#}Wèֽ9(|CGi`PtDA] [j¡c8jM(J,,4.qй1P44r'į# 4ȷ|LN i@Jjzqj7YQ57:"ĕb%%T@.uL ^1:i(6-L%VPj%@~ˮ1^:2mDRKZG-# CcT3P!6{W^ƒ7%^_")[gK{u3~j3nWa902 Ld;, u>bk[sߢp'/4$˔PJK䅑2Mg1-KJAAs%&TP؎ѡ{B'rbLm# aM 齔fFk'Ÿg@٧@1!KtO}j?&/JS.M myB6ykz)XU1Z׭q#GS5I_[Z.E p36%"b_$=U!X 9 p+m4 *yX]'r1IZg.T n+z.p*I϶nq]Z!A0E?L tI=3,F̾H1^I!}":et+02ܜ%Vw+ ю/%KtW͛V&#¨G8UU3!DJi;s$Y.fiĉSN4y8+pX]Or']']&  M+j6)ۓrQq.N87(q$&en6ٔHp܊|6E ڴD栋izMz]sw%q: Оn*O$x;dN]T[HBy;4dRxuZBf/ xbjOxMFt4z LEx)QA31Y-"(]hiKt%r A;p%TXX*PMECNUw d0NI!^U*XSK~*ț ʥ+]t~O&CBZ , K5N$ثV$s%ePD AXMȉݲ)DG3Ċ[)IצH?֎Y<~ O2Qt9@qE{;Bwxb+YaS1y  -*xg:~4ϠiAxղ- k$| dDe,VfRf6~I:wﶶPD_u-S)҄KF¥cߴm(Gn2M[OvYl{3|B0YپUP"U-'^>Jj1e0K +@k:Ou(Oƀ "Fp=3XadQDtP܁<,<|F,g|.t4cQn&we~ӶP3C2+Kε$,U E'Dt@_oDǨ5 Tm:~.A8h"Fr],RM}$KH+0ԋR,|*247 ^$/aa➁| PKDiі^ ]b?dD/aTxȧeB[a*PJRr2qOd6oEPR)f7 wJ]vAo z}NFLZ$7mՊDުLZ_U/Yh[EYk!&?`%t{a.ssK_(WBaf,(/"`m'FIIkc(.bZۃr+_;NPmGwO[/q.ܶm:!5;R|]BG҅ Q)Nݾ,:4SZL{#/NuL QOPF oTZb$S)|d{/""i@+ .-itd>xCn"U .Vyj jnҪ;s!HCn\C;ݸ((f򡽢N~ —n Rd$Ѷ4c!j'VɂD gV"-Wg|_zp-`F_OR#D{7VF__ޅM(քƻIj_@~.u\Y?ΰ/* f+Me"SNmb擫%k# ;c_8#ܔy]%b uz.8%.v إ헖[>c/)oZCdmUgP>.i#'Urx\vu2Air3.gDNmR#q%PS& {Z;H+6")EV-D? AߟLMe}h/Pc8f;"`1nU܅TյS+uTfݯR*|Tr@0;=o~q8iT ?/nӱVK#KSܫydhy߇(M?31E;gSZw8FsA@)2F׶#8_g,Hf1‘%pYT<1πԧEv!%TV(upl?7Wc4rH@ ـ ` 7=}]ʴ+};ԂY9cz⠞B״,Mfy%_qߥJ)X.fr)?ET bѕ P7=HGU_tUS8޿.VmtΟAx7FDדj4F?=aUrL;T`  35,ڟ &/YfQA(+{BВIPv_A-:3la%fu}$h­rdxFő8qN~&(lqu**nkamr)]S zF;落87 54%Qouʩ g|/^t~@~<]?D5IxV/ܪEF.H#R)l?B$UӃ4ƒ:^<Ӫ64obAJ੯!d>;`з=\Jl\=ld&e@f.d M`V 3PL d 44H"SZ.**d8~K"۶!˂qW2aw q؞LN$A[6&LBʟs=2W+&Ь( 8d6AK)J_z>LD*U0)d8$CbB3켂x*OIh0 ;;MA7Z&NyZ5Tf؍rY}7ݧ$^\bwȊv "hK!zʸ2X-!oG↔.5Ah`4_9K`ڭGfIcw /./--Tv ofI\Ru| S'AOSla@E۟.gt;t\G.oL8yPWlNy+ӄ/!7a>N_/gj4E#?x '4K[!QWuV71$M4PlW:W[K³p@ &k)C()y&aC~>GRv2j$[7] AQ9QgSfh\8bѮ94aZu.3 \JНg@b?_N9>f_z6 ~ܓWarVi-{2U*=:Z|*kDP)suw.qNIcNGuvP`65/MdYkS.%7OYV\~ O.9''P0t.:bhjs>%pr&_n7~xq9wm}\2B$0ЏʳT9lT[zl ؅y[-%W-ʶY<^"|x ljCuOC/,%W(7u:0%vYݢjF GH@8@@$saZ`ޔ- @7m@QߡFನEMhwY+ζ/Һ+y AzEa!2 38,S0Ϛ9<Į=:[65YX+ezܚ`VQW?˖SU9BI)9ҵ,T)S 8R!!K:-I5&EZD]~ A'z}(6 怋A~TNz6LT*e^ʼ{:Zl'FI9Y1_ή6[j8>*yg9+YbKzS%TJTM$j{ļȔm0.r Yv .uIknYJQ4ڕz5WȻ^jVYw'nٕk75>v2 NǶәj~FgiZ4k2q]r tҋ7+OϽCKC(%?n+xs5 єIv%6HyX;\xԉ%Th?"˾rz p(x6=$l k*[P9,cx[@SKQ8dǬ7C r5վZQN#%W!퓫ZuE0UHHS篚Y⬓lgT N[az i}H IA,W舦y2g8 Pxрj>hE5Z[v&P䠞 P24&;$FpדY&GC-6Ws)-T۱eM:Yi5%پҔ,Mtr׬kMbb(qOŻ&K'&Dx }Y^޼4,aѐ? ,Ozy,\T nj\)m{ܥ!. x`cF ?,|*"cܗ Bov@&?ginlŐhn8;m3Q6tjE#`5"?8J#Ϯ)ّhȟu(NT4yǬL@T ,IYȽ”u@%.Wcժ k a9Z)|%+3q9yq:?wFt_̺anNGӴ] BwV]82+e0<@.͞<)l%uζ7ͩ^U9'/*ZT1Ŭ( EetCpQ#Ud5J#$n]!CU%׼GE=U % QjgװvT:vqɖUmev8auvfr%&^+8;+sch2/&ʪ +9N0O/GЭǧ6Նb=1dLh<9!5y:tqZڳk$` `L Tg'N% mAX ,Q/V"PUɈʺRג8>rU8vC/5gA' EbKP2vZu  =bfFCD3 6씶jogs9K%m31{zT2I"j)>1$~S& gkfg2yqC.;uNꍡ_yu]Ք;sQe#JZ>3n+Ri]g69VLiQ{>$r_Fa$y\s[ K&b3RN7Jkp,A" )L@dUk|] zdgb{7_ːuqkd=Ŵy1JXd<ɡjљxe$w)F1-MK\tpX6wۗ7ِi1Cx0-`^r<<%Fi) N e;,n:KFBqY;^/@n31q!WceA^LJ-Dd[QY!VRu^~'w%:а\#=$"$Jh$I1D`[8>YD@>~crT$SdFd6dLc؛h =pW}nC[h>\";ծrj:rd!) U̍,`N!~NW54Ȓesb 3 % 6I` |Ka5S~ 4Ǩ#pRYaT79Aҿ|kH /!F+nMΠArĞ[Z]]DzoGp]7gV擗&0Vm}#&bE!#>'tyW2NgOGz\5ʵ^c;+.H;ysȜبZRJ\^V?ja^aAԺ( +xŸ[ ITlL]Sjk]4;sL~D4}rBh|!:dݛOJ/LN D}Z0]7?VDz`Ra&:> cnmMSTw[3pZ)pDP&ZMڮ2Te ::FM1aT?o^e9z{s͆-!@`ee6=}{C **8N22Jv*D7o{eFa.K.6T GgYeT mfllvJDQ2\Mk>)76>dIh+Ž9#sx (S#. U֖JeAYr- 1j7d,ŗ܉'fQQn$|QcOgnڲqŃ]-bbCPܬf^ZH$TdP5g'ImJkivDiEν hV"Y5- fe f {{OoTG2գk癦>$N(TL2t.q'!bw<pZG'Kn5DXbhjJKfZM=TT5H+ F؂]W5mWiUHJzˇ3s !bS1Eq-+87p2svj%=9ﶺ)ƤmQ"ۦ+RD1h!kLu,gKYD_@Oe)ICs-Nj_4Jw5fZ@|3`Sxa>DD#3(D*䜋r(6dXjqp}{,}E4$,zT4d*ՉP0"/YǻM `/XAB b` 5p kf5J1q/!:)H[b4U9bMy C CHmR܄N&#p!!~a@_$v2ZQHKi1V VS8&tnPwur+,/k~z,2bԛr\bM 3J˖a[AQ oˮslOAZ1%ԆQoYZoS-Ez#Ŭ^Iy; w㖛>T&0.MÐX cY58R-dBr0AY 0?zȃDh#>7RW,xJtNoL*u߿V s2PέeMoG{/nfu>Uo@!\ͬuIHC8Z#ałͷ0{FnoF@JfxbZ]BvQ_RG8ƛUňh .*re =p9.)im`m:'Q;428|h5ZWi-c"oLmjn(Ʃ >\h$3_ :e4>?'^C&*GlE*bNђTou4x?|/ ؃EmGrE il 컃 fF4 YkjS`&8x6 /vlp-Kir<' IPxЂ졜sbxpG:[N.>*ƘIt%TT lIm2"Eraj,#dɃC~VdO=Yf=AE%/.&!t!3J&ZJBt&ԝT.$Zi鱫jebj#N3.yJ$?6ڢ^e/t'`Bю%/Kn&[cG_v']T|X'bd+dHT1&juP R( b0eL$[D;qZ\=R9aTP;4aud“fS>%@:5 S8:z.[O;[.wFRbq;Y[xGoV ((ݪtzXT2 Ap 0v œ}C&\ DEJlx9셵K~}z;LW!ޟZy]FCL;UeZ=NSɀ%zɶk1E5 (*3BqΑ(D"ڈke%8b V*yA|^?Rx <9U;pH}(E=d6L9BC%CkהzWwK<9:skSԣD^*j>Z>X1?.$ˌaj\¨!2,(26aT?[Gr wG*hs'dVpX*IU+Et.'(~SWgB-(|}=x 0xO Lʹ?Jå9d m˱& ˃~( Đ_+02Q@#P ߢwf`O s{ e*9bIe}գ2:rc$,>(ކ/2׫+DY%"$[OS["q+#œj ՕHs{3܅m r@k;Su3Bo@)ъCU&$>* iZVXTƵ:aNU5#tJ!z\eVQD*U[7_@UN(?%aE_)_u7APg9lsS()A,&@+p/ $kR퓢o#9J:Xp}*ܩ?Ec3@^[ < ytHByi"SgL;^0/=Tv7E'CkbBuz}I[6'hvٞQ`oʧ PsR2 blZ%{:18|ilskY+]?MFeV1娱1q^wbj~;M_q|`%|FČNu'"ʶA&t,{eѸKm|qma|H+\]Bd(4K06ZL@Tt?huon.ZzڑN5>CPvpK,n^sPe6n*Ƣ:kd7'FΨv-eQI7+v>j<(e܉DHx}ht2'p%wfoNJA%0-Tq%+}Î$QtUr}DZ⊡AɀBHF]r\4Ίٶn>KCg,Z%F9G&Yu{ҶB'XKh% jKgؚKb"~F4?yʨHx-HFlg%4QB3KUn~6oUT #ܽ9Um}b=utʟοyq؜TsZf.gU PZȧA R`ExmZd$C8D0 If.6!ʁBc*m Wn1rQjT:@ $`, Kɪ"o퍤~eJ%]<"X+țk/4ėjˑ)Yr פ?Ӡ[sո}Żqc\%!I.-$y8]."ZQyEIebW ͿR`@P, Ric| 6$/CL(k,gALT,$ n9 ?LU* E;HJ!5.KdФ7qV .Y@Yj&|a֏KWw΄ لZ$ΩTYܜǖ67bT~kTfK _ ȷ\IG ~_v\:csi%oT_(R,Ϸ';^m[pTx"PyG_)픅%qB=M4sW!V‹;L/D>3Ov,Yk|de+.leO7@aS![C ʄblx;/Q-|pyۚETyy63qAQMd~bn㵒*7>=%^—M[a v)_&VȄ=fNø('&nOYnB#9=Ќ;_U),B53@)xkyϩ~ͧ+n;H32R'߰}pFdY4|7_UϓґV+g#p pX*3J n$[8x=<,kDأat% ]_R(}OIPuvqa;QNf'HZ@E}h&"(e'[-y  bt>2Bm2E;uʩt K`+NJnE1|& B[vi: Wp(<0ӀI,KD#(8,NT*T{i6HYbSJ)=RQ#lLI%]&Eˤ/f8qX{85.tԩǾ!j\L2ۊU!?Ђf6ݾf= 30q@(;V-gc r~szKM-+] }qTEwڇqGk |,Bq(d*tF[U/XP͍#ץ*/d K1\ߞ%FʦΨqKO;aU @W獳06vY\QbI*GGgHuR6zL$LWIe1ȉ^)"SBSWAnyJ'e @z-H$RbYKmg.>!D1:Ƹхevc6\y\,(t%JENƽ]f-Bv>U9- ʶT "S8'n;S'ht9<0 ]Sd3k%pxa :LP\i(@[bQI0XmGU-MXm@!Dly=Gh\I+Y~)%ou휂"{{ |^[`K6w$(/acF#p6j JKC\[geXKtceras(u#{ oc}N0)@X%bZO2!PtD^JCXN}>,)(X3`jahkCu $ۡtj</5<Xh"{U#*+ZRcMEvE5iף@qVznG;xj<<6PkJ)4Nfr:Sy*hu(9|UgFOkA#5)j抁@fOw &"!k0qeDp_ͮQ.(:!Xvʥ m׌%9tR/E@5o5Snv;tL9pGb|f9) T4e8$Gf<ѓ>KOv)/#E*>'8CmG$Iy%b(JB{4JpJeI7vvRzF$?h{OD&^KM[;䭴ٕm|U:;1cX6x5(ވƣo-.f\Z ϼX p9*kfSlǰpf9 W܈doyb Ԟa-JlO SkG}_DH^y_]"k0.;ۻgF'D_^󅊫{Κ#|Ia4-n @1\)[o i1p* .KQ*nsp/ ŀ_yε(p.T5@p\ZC`FaKE38JVY:u(`'TMm7j+x!/ik p!-[&fu#Q%`NUAm۳iĭn>:KDQɈʻVB̋y|}` {t2MZxƍA!eDiŁ.fd1wTL+ȏ7FR].7QmT_m7Ug͹EbS9Jf2"ƣvF1̓gK9nQ[75<C&fn9k|$F:l.k/`-s6-_$^ Ѳ) >+Oz"DZ QIӈwZ\ݻmM) a ؤYP9(Hg",)|+*~vM;HH%Ï! EZ $f^> )TZ vv*_|K(bs'QDhpm .wZ?ͣ,4|`?8=Glz;rY'0Ö܂U 'g=e$^d+Qr#:)Njmy@%rί<;RdM?LM%$߉J{ZY8廔UW톆 lT%@e7z)makQ{mcCKlw %p1ʽ)!MG!U6gLw^#hSKB=۩/VKZz)}"Lg(i~NF L['A&4,6l#)ִ!8:FYmqe\%c۞yzBPK<7tӪy ?ܞDI^yW~|eUJm݀7{__bB0-FyO+y!@t(Fs>r / <"[aj3O@ٟ*8!t 5YhsUWz_L4lFriWQ(b9>^}3ڪ) ݒzn7;\T^< n9+RQ \$FT GF;b;4@>JAh1KhA6SAкw;Q,fW s~o]HHOD%oL'JF=Ãde,4KCa?TUO#̛zVjnv<qW##7:yrk ^n.2H  S@f(p8dC4C1vb w;00Mv)#G$LV%2qoPZ4uiHYs*}fNSКﲆ TO9){LMPy[,E;\Ic<˕ohz.I(ěAW!$vOG^~Pf@CbgVhX VE~-\י:U냫 G8 |RXQ`{jO8RN)&ѯ2md*ɽ5I=W4P`CpOGpѼD%!r. [*Z3)ilBd!2jiHE;TH->`Eֈ`I%?F &ꎀQ$P?BJZ8(,b"L\*_(B8GEj `(a;ntR},$'Y|7Ju#iu)5S\^MmEX` NRtꬥ#k}_4E`V1 OmFv))ʝ::0 KP` "s.1I>ًg~:U*-ea=Xd"37$-8p'"zPiJ½g^$tt^qHO)rCi̟Mh!OIIi[Q5"f0 VGw'^k9 یNsީ|]=l59T5Ǡ!nK.1wA<.6^ "#EAB=ת3kD֡ tk^bU'!_]s`Q֖Py䞴,/L٥|$^"]+1@a28kȴ>5 rF(ԗo.or18dž`YSYUH}vs AX`o_/6d>  aTu")Ӌw!IkfC@D%)Y8:{nb{cZY1 F5JV{j:yԚfeO"!|_$#7-( hj#~'kSqG1fs&%R64NfFY?M2GIٔ8#*Nr !Xd(D}ik:NNx2mwr} g 2 i$(R͜ر]!G?IdL#I( +%$xp=}?Xqp/DtUf]| +=G1I8 Rh__"G"_6GN\jO!]xTi xVN~f⚳Hڛu=|ܦYIQ ⯝sE1+Ć[h6ً:F;g)++. +'*SݪJs%6\V {@*= Iՙ/ S$at J6Y@0!/.O:8ʔB 9n?+bŪO #[˪S!l>SI?[\%#I)Tywn)7k ~Xi=J'BҒјErTuH(N+N Al,&l:u<Đ~h<kTѩU ]vzӝB/Riw ņb߮*xMƊՓع!m.StG\r( ^Kcu;̈kom}(JQrxGR[iKĸT)ϋl =W%%Xu˓(V6Kski8EΟ*ʌ!0G70j d3 N:Iڅi7u:^fnΔ\4s sK2,c٢Y?qCPۈB* D^r* fO4(\&L"ck(1@1P!<0ʼnuw}!R .! ;ݦz˥E\q:XQ۽<+$bb{PpVQFϤ!D(ڡBQ>e)EGϦ,l9WlTe|#\4P׉/#WB!Ei %UٯEsZV" !TI02ZmL݄,*HE=-׆3%4t=n&"_/r~ T6cк!b@# 3anc1*֋ߏq\{/=e F]&4:/< 聉CvÓd.nr AϜ /(RtEDE&ahIøV@A/|h[{(WrKyI @*ja8:4g~ќ{ I*qȠsvt [y<8 ld؝R+ޥKFr6H8TRKs={61c4;'o$q%b7}b-+GA*Id]4|B@d$zEyV1! " l`mpMȜHKj6F*mQ 2S(CoF>/v('[6iNx)LL XdD[` Bj# %6}`Xj5竟 qU;fBI($ 0v A @\m .L$=߶0 8 |0 =ydK))lCz۷  L‰UNS.oUNJ3-sQmumIt4Kz)eNV4jwѿ{-51ŭ{nAШj PF qh#%3idN?qN/rN'ALaDZmoLQȏ0peR>ņlz1¹Q*> B3@d1}u K)RSꐖ}N*b`ɏ#AN `̓+o Q}"qHPz@xt? r^;s 4d2 i^.f j,G&IYcϞ@729;($~)tݗ?ڏJ^`{4u&,HMiDGvO^xȱɵqaGf?1,< zMLZ}Ē #}c4ٹ P/LI^ꝋ")8.xiKv2&~O[.DQTVs%iQ)K}N&fe4u1l9ۜkjXxD7v53UȓITulIn!$(.r?mdI9yTiK\!u@A0TI(Ĵd{&rճd tM^3ngcL۳oR^ Axpɾ}{Tz9 W9̈@M't\ ɈvOzX[Y0u$L6o ݮAYԑA`xq%SaxV,rmnϾٴ_ (Z3N]Jo Xhig/kv#4ʌ ݪ5 ˋB3 *?H+5Mj*޼NOOW>/;ʊM-!(2m`jqb{j}!qp+mEs}1D~Gr f -1QQӸs] _W?c%|8љQա꺆؍Mq@F>. I?\Ȯ `Ƀ3he9K!wvB$i'[H[! R%ro~ޛI L #ܾNڻ#yN 4BVrVcٖd2["@280 ɡCSҁ@KB1YA"%QLjV(шtԈUZn1lפAny'O{gjlvjLCrHK0SȊčJQprT* B\.1\Sh!"0!t eR -ia%/T"T S7#7?<7no-H@ufJ/bn%zA5ZνdPnd.f5 ahY3 Ʌ"7'‘Z^UM?L06)Am&2@/GSG{Zf߳J3Q[h1v=[o&NL#f&hgZr-TFg}gB&-搒hF0<Wf_-Ʀ{}XUa@ `3!q$#bFIf%yġ9yp4[ŝPGO w| -GM, PP~-xjh`NY@6Jә%TljkkE"n]ԻqV 57$aQѾlp7M !Pn^ MŐ3NT d ,qzBQpoZ/ ApTj=i $pY=l ,!ׄ .G“b|ȚQH:u:as!&G,ÑKQHOXTJqsޮJ*q>z&/ D `V: ې`4)@q"8/BIԆ?1KPX̚~dbtA`!ӞQ uk,š] UGۊLLQ AI&je$Q8@|S\(oR3}L_[YkР1,E9`lr ɄA+ UDRDuZ`aFd2b~A<0K'(+M]VO}_m_s?B)\JN!-KMGx'Fjly7k9 NbHqA\[OO2.DK1IOoz|X >0`V~H% ֌ @DshAKN`%Wk=K9DB|Nof J.-b4e=j:ezRE&k-Mg/)cINl2O$^-E|zKYƂ"зYˋz殤V=[#y#-\Z"o/6=)mBYPdbT }A#R) 6TK"`Whv$C,'JX/AQF`X$!i9()|b\y c~e(2Vr٫7ֽ,J\M"AfV2*$?BT,0kzMMI J8.Pj%A'>l?TDEm+#NFd*{I,g'3y"cʨ6]ڈ &S`»LK_4/fxd"4}ZzU>oPZӊ\G)a>bp2*DZ=zOLz!ЩT5Si2 I{B:-R1Ir̍JY̯ilIR1SSr)^K$.]n&WM*,~ !P$ dۤ R19gs}F8,W vb2F3@Ci+,hbQ욷+C] Kk 2؅bՅjByIxNm92 T٣q=s-<]h? ,I(>(C*^Fz'lW"{!y}h;` %a2f#g*f/ ]t1,!5ܝE7HF3oAڌMdk;>4E"iLnʢQ)zV')ġB.Ө(TEf*2_o1ПUgy>A81xD#7Eq0S"^W cLK &EIe)  O+ur(vQy >RVjZ}2ɺ%kʘWSZRHqACYhWf0()hﵮ([xl f=]a NDlIoKDEIħ29r8}q7:(+J(T+%o`/Jiu+a E>P>$ 4*PӢ\V`ĕQkQ:SƇj[/Rr!ӦO7"Rw,gfWi{H@#eX'v\䌢6ZV} $ۉƞT0mrQ6,2+zl'jh;X[ j-xPII/f0^lZƩ(#bá`/[IGl1y0M^ad4V&,.+a .껜e8իpщdKb"BA=UԨ1L*0 \M1Bi@_0%6[@kFsq0ޚB,z\ . Ҫ\ b+4T(LaH&k~5F撐F|f-<3KW_7%w AmFlg%?-Ґ \d*M ?hwWJlޚs P͂a(1vF(<0CIЋވ 6I./tDko=a̽#s:Á~ǧs*'ؔhJ# [R:'7qYj2-&NNOؾxTͣUm<24ұA9w#1_*/T\φ.m\n覼g͸033h04ughX-* ZQIoSI^<5)8}Hz'"7.I=D~P"ؿe9t(f``N+4eu)%MnVp \0^f'-$-"зx*O&4reqq2XN%gO(Q aS `M)f48g ro W3Lfe_*(=ƤU$#+ɔ`%N"RQ,in&sV2&ƙڄ\^!%XVe]7k+ 8Tf1kP#:zfSSJd(f=%0/EWP,Mg RPasɦr[\E Ax4Ժ/F"3E)pd8ɒ큐蔞z]FEc{yRY:aa*+Uޤ@5;LW c1W{[m@ΎR5 ;VeHkĥ)W[ț8QKmt(-8*Cq5Y&ւN!mT!Lvy)!"f|=}YPqY.Ϙ"'0i[LԸj\ ~07q) 1Uk>GBB9gq#'Tg55?(Xx7WG.+FNs5Ƿ7q3IDJƀimUg%g: ,k`Z훟a)yD)AW,,H"#[;*8Z9 e=x}\61dM>cIvP\c7:=!{ʟzF*չhA)"sU|XY#‡6T2ī}J"ڻ]**<gZʑRdef«BxTFDEGЃEQf8r9Ndsp,R$tjiZ[Tl.XDM7t .4UedN+|L҂[[x`eHpm5rn/OՖb3 OK6 :hJ]5#wj[mp R.\mEڿХtz&#@ѕ<- t08+ıZ2qDZLU$O?̃yQ\wq7_3f󲮯Z]m$;CGΆE ]W BtW PȣK?Ә||i $c eBt'dx? ( QбcZ[~ix}!ꊀOrH* Ď:җUnHڐc/K~Wy3{֜1{yBW )̓.qY*K 2%G(/_ #: JK ^g\2Ψ1 9W<1]0p'=?wԩ6ympЪkWEt8e5CBrbrQᗂ|"tpJ@f*7~gJO:Ӧ/-4v347KH[:%s]YF?::!  z+I'yWo5Ʈuk Bؒ|brRpZ>4s(֘ =g68=XbU"pNdld8tWޏ\KX*[o=?9&6FF6ǵI+4Tҫֲ UmJ3 u!ѻzOBC#7h(IzD.0)H@@k 1.M_:p06Z ғT^VX/!uqGCyX$_.Tu6鄼$ *w`,I[pƔqQ7Wr< =3>F^0mvƋ-|Re뙗 㟦гlD/HNM%F*j:_5IV@EO|yC:#]zH8)h r=ѐ,t#7]IktJ>hA|3ufՔ{J{!z5jdIp3%T&Rִ9/z%̓3VnnnZ.W&$b m!yiUMI Iw})NFiXAg[f7>c~[i+aQޱ!=>7)[X>S e*NQiWTyDEm,2+N츞écSe[+V<ӻ~E-? \MVGa4AWʖ#?*W X56qR@)(O8A LIg[Gxgjrd#nRN&${ZAð`!FW:]*g( HTXI@d 0rY\$N~ H g*Sz q=WġTCPG8iĦ7\cAxm 7g' bF!ZŁ*E%G!TJh";1dkYA}\e[/Vub%}VBgs&B3faL\.ͧBT2~:>z}L!`}U6~nVpyIh6GcA|L^vE4gg}l#=9zX nJQw" k4/{iB`8Y Tmil p@[Y 5/>Q"v (mcbBMڟ$3sjU@KN6?(&.܌LCem䟺x,`jW_ 2vE_ E_1Җ>%lZIa,Y"*yBo9f2p UO}w7b[_|sj0e딤=qTwI0P[n7g6j}ȦSɿ$d UƱ*5[k[~*cE!~Y%2\3D,XxPc@VBahorј 9J8&P-foPSp؄$b3u=tz3 ײ-5/[#R$k N0WGj87I|{{t%ЮHyRE%hGpiznTbEk +j#Pl̪ǙN`)> j7@#TB@)%2l10.@s uժr[B9PrF둩+M7fZA[ U.I~)Evҽ ,5X0RcQ7S EjGvM6'm#Y0z@4MJf`\SX&sAFԒ7&A6C6LƙIA WAQGzBJBNZֲToi!/lTcǵ="-1qkx~UY0e@C}J:1:.S RnD -"i^2lظ! 36{!&Eℼs_$YL)KD|1vgRpJ6΄RhLRoqA./L3$4Xng#q8x dԀU Xs#m(&DBvbngR>@qIS1z?Jd ׷lS}2~1љ$K^6[: r0QW'gv7^C3IWI xJ.rÍgl 8< B7lb6@$l:x3Rx3yXPr>I&qKbbOdVs9u/%Ѷx!qV҇LSV1G U8#/24A8ԬV,zUI`ɨʽV_4 puҴ^"9V͑w"Ю'Z_P 5X#^^L& oY:F>Tdr* $7nJl5JD.(EnX60:c?^ '^1d56У*ĝFS73Hm3~wPv{aKLM~V$U2d@^pG]&`+)g@כ1rM4e OD%n#t euS|˯8٢k%`g2r.JtL6:npY2*IyUv 'BZb3 Spa}mV{U6 zڳ7dHHpB f"+Ͼ ւsBSS2?! H'$tOvČV>-Y$O^֓ܚT@=H i=#]8Q4_˥baɣ ^Hb+ wISăwwG-!"Čr! \Ah#n?-I.\"J! f5q3q[/HBl%TĻ!+'7xh جi%4 }Ł̪>@μXR:kY7Y"@>g:AeuR->pSVFSI͗ޔS)ؠ"\7˟ kb̈bv_P,5͙:wW=5 )EN.6K{?khj+% &ͭMd m LEiQ&ōg~p; gdEQ0qR"wӖTIh3.yw-ʛs,*~n |Iīz.˱8NoXr {_Ki4Ezf0Cuqȡi'`FO=%D7YF`=1_j%Cw&hS< *$dU'(! THm}Wף,ïkb ;&no \{r#f2Dadw^C~&I+ (HM)Sj0AK4:4"ejRR)'>!Lo3\˒n$f+K5O|;ᩔ8no";&X'Z3&+kxB |d抓Ϥ!X&VSBMXB{'JV .IOFiTo j|^Y!r2i*42vXA~چ2E&cD-BS뼏')F@vĝԋl+vC"7o!3ݱ sJ%f~Q7:Ls?QH )JThT^#eVUEXlur9 ^+A H!H #XSs üFr J ]/bQvzRC!+_:_2^l&@b%Clx#DQ!b1ڽ Xٮ 4XNmѓ[\&\f {![mD4Gs&WxD>h[krAiD]MG2J5mĻL(YOXL)џ{[୊NRTzb9JV\VVRrHԐ&%\Рo޶q͙6 nH尺AkE^+x&^m~d64&kAq7YclW8-ӘtE-q}M[C_^ oWCbg,2*7سy:[ 6bJ dh݂KkpUȵo8UӂƎ&kMu"->oQ"#6tj:U%ZS>"I6/]|tBT"ԶV/2Z'RkKu^l"^he=WNN18Yd8 xA 8WkA4j9,<+Y#v7"fAYDox*RGbjg]e??HS]>!U -04h>5gIrԾF*$ {L :̤ܳZBʫv/pg KKYQD:z&K8o k+ zrDԘ)F- +oE-saRl  čeΖʫHuIZ𐅓yĴeԗ8&-~ pRQŢj6VVvN8a 3%.$1&lzQXzY30dBm(7_ a}IQ{9@"[<2&[409? q6%ow)RNQ&ls.M?xfNI\ژVz**+2JؽꍘƖ!#B۫&_wHҦyd 52șKl>/3a|Eg= 0j"$_lKțة̾?7_j?&-:(`R}MY1/xyA)B|Չ.Q[UA׌L,UD/ ؑ9IRAj.[s)/rMs eޑZeiBGY$M A0|Dh0Jpjފ ޽<:.ip}OL1=ٍj+z=G(Oݗ΅xl)$)1_"7*RHLmU!WG:W nטFY4.*v/3Uz R5b s+ٛޣ"eʪ)2{ 2/Cx%*Kɬ k毁,8/MF6 e53Z7 q]70Btw.VAX/n<ˋMrS Fo/y+uk/ t2j& }{oIVz(Q%f:O|ŪT_䲗/="";"nI:)X9T^2C1;f]*lE%RR 2{?Fz9@x)h΍w) ifk. Ѽ7:z xDtd5AP': $9MeE!'v4F1N{KKPI%:Itʫ+=R<,@teJmض&j`e:P̑r9vSKݙ6ŋ\fa !*K{hғ'eEm PյD,z@7˕TJ-E ]1T |9lu/cX!B۽U0sMpci51LS<)2B)'ƚv.BEhMk syBXlJ+a2q%e'n ;A6xa˾N8+?U ْ2Y&xc ~~匣9S=)> z :z!XuDU3~Y=`r6!_&g-f-zr5ʑgzZYqk +ܚTdw&z˜9-AJfräʻO#}G`L3OML#{+ ,_ c(-}޲~;=k%VQHԅpAC> zg?*Z)f,:NhѾg3UPoQ;-*.')+Ö*#ul7 s辏m]d.DW:e1mb(/ND*,Cw\C$8TGD)IRd9K_۵B?¡}r{ ^2*rɤK*[z>79,􉹏$ :N4b+u6E;e+2JnC"$433y#paW9òEYR"g@bδQ$ ih<%metQI֯g;͒ԽUb! lHVܫE#CVz; \bOY?ɚ+\:KK*+2?h/7%3Cߨz5D*# S?qEQJs#Cć4e"v\HUE jH/y 3DL@vPdD?(ldjr:;eMpCzK'̪FvV n2Elq Uonm'ePΐ1jMcJ!)L)!З$VVn8Zę8`n' dYѡZq8ft@ 'LaF{&.$nOp$r@Ȅj5vԜAw'%78rj0"ڤD+jk~c*FmRXX%r2ED3 \i3`.ܑ0LpIӅdIҼͰG# U OlH8  @zHAe3b|QQ8Ngʼn˸I3)] OXR+v!NUE:v\+ ֞#z߿0Żb:4YCʈWI_EVۓa*#`8o 9%gC-fbpS4[E\i2D' `4FɈʾP% #UQ#,4" eQ}M(,) H'sѩB30Dl}(d2ەd *ݠ+)vئLZVhH=m1-ʐ)9a&9 u|5ťFXihsq4N| F"Y F?@T iDE1dMMR4(| hw)SR ~n-hS%!QRYw 5@0%z?4t`4'L~ey$WSXq2JM8M QW)#ȓ贠Z)6:$ EpWHkɽ6ȼS3]ysz3:b kjP'*S F !i?(DZ HHrx0 Q== A7M, SPŢ~vg 0 KY )ռDhߙݎ2tLBb IH my$=-M淄%rt%,D3q瘵o # B[Xw!FiW%A4  ؆ ˊ{Rq(d2@#$CG 'TQ> 'iF%?fJ xִ09T4-Arv<0>m-=UG_;Ld:?)1q) Gu'ChrWA#0~q<Pz@bq%;d Um~qQԯ_,UKX2) i[P, 0JqXf-b a}]wV&F}ZȴRd 8@kTG6^; n)=+̈́^NXv ɞDCfzF;_iEVexQ%X|Ɯ%@ulҩEHa&=&a+$љ;/VDHOP"[sHZlӤМD2"XUxG+sEG4c'Uٕr~dŎXU%XQsj{w_m7I9pqC(Q^wD>Yu u{9Ā@1OF_ Q2԰yIT/m//.:{J/i%z \ ;JbHDIBS,@.߰W$tNp_5w a' w&D兟)Q: ZAӸ,oSr1&ҁ/DW5qM{. B<{e/"Ӓ }XjT {5+e|FpJr~; n2([_rM>o^8-!DЦ^g@"@A܉b5ot:h#}%&Лiґz,+Q@X8/*f)P"9q'A :-ų&ڿ^'ch.a/?JH:)μXt68ǓIYzdzca8K) IDaY;WָVl2\NUS+ECIQU#^-BNӭˈY,]P*Ty̫:;{yIUiFZ%&Np. 0T 6Ib.mZd tQ#73ۢiZ3dezIJI+טyM) Wff4dņ\Fɇ芵p]^S6v}^Ywaux_G;'^" Ptp&t|`1<FfFJY""pI+f||aʗ%4֑9B$We YŒWP[>ʦEdvYtJѵу/H=)sU@eZ: JjLU,Je M]$l,ghGtm9u1[l+ysE1(#Ͻf\kJ=);R!LQͫF޽SDvOLz(X6jCV/o=7͔ ;R`vuL܈jG(vNeSm]ka&Z2ƗjEMHęC_t)ő&F2-I+CmkUSyXi )xr=cԺZޝgLg|E[ȫ74w%أH88M]OgZQdq 4}ifDEpPS$Vl2gP!.Ur׸ϑVg0%}b\ ԡ<ڭv+nT) kQ 42(5qn::|)Yζ8Z)C4Xլ/!NDa[(F0#[as'Ngn3!t)1)&F3,^>"*(IWU!;Rn^&__`J[L"'J\=k]rs9tn!?+ώ r#T@>D~jOFCe21 eQ9ֵ*hWֿw_ \*YTYI-،ȄO=\qC[w:m4m_?\:yP$!d=k/Ǯ]OvY[zkjs`+l|]s\ a+It7b~*Xw^!2b$)YP,Τ[|qXmc*1Y_O=)RʼkYy+gGK5ܣ__uLO)AW܅q87\-ֺ="-$zxrtEX<`\3!D))N(EtmLn]yGևs :*r~y;%RL\8˩8qeѶm1+B؋FohoYӻ[6MfR٥*;#?" ^rT O^W=5^*)o5lCmn,Ċy5DC bKd^y(_,)čYyKAԦƁ &M +DgwM11¼ְ)q~481ԯW@KcܝEN\zɢ%};9#j("n@ߴ]Г zIXm)+cA Npȸ;)eJIC<_B+w;X",`_|%gs@Jk8^Q!nK7meft>B+zBM&O`QLA^d&">)'F؅ ͔up O[Irqb .ڙ4, NuX]&bTm#"CZ_XHJ4 Gz]N'OHK'6B%РDj5ol*2Ow 2&0߃Uxw NǟOs٦k(젥fOA _edDBCr!d 'RAs?QNƃrGLP bScS|(R;$c-VD"H&6/e;j@=Y*;X S9ج줇/583a% Qm^j8ХZ|cP^]4[k햼zU [ۯ*c,iU_+̊RI3-'$ 60LW9W$&& i  NiTLD3@z>CaOk oIK !Bޠb(4isj7^S!eTvEz꣟}TfjղSx_82B?0QQUVIxx%DȫW0Nw[%hAo,3-"*O[5yd(]2>YNI.k̗ {*l=@xXqS"8ŝI@uCyvXD3 ,V+=㓧9dEXԈav҃%_L]jS?s8ll0-ZtnU/•)nⴃu~?fyn{#oaQNrHrs;ZbT#TSnix71$2"B \˘`rU𷪒օ7#⥇Cb 4몋ϥY<$>%_(Ԩ9KBbffx^-)O9rt$jLk^CJ2yiG|asyDĒA9([1b-/ۓ ʞбr*n吲]?3+RRY/ f&O oa2P'6V,02yeX#I 1ٖ"HKOũhۃ($5O69#*zn߅rH0BlVXNF")q/ϡKHG:!-t,䝵=*ˈܲM':I2G)˭# HFKtAIO/^W:i8{*=RI D >J&Z&+`$ŦH[ %Dd-شE.A@ I jv`^Sҭ P9AkE-X#ZZ0`}SFK"(^M̆mYM([xv6E4ԨޓiN1$JC&Mos [[.2٤ <1biAw&z\')&f/PDgU')P5s{O7C&CFz#HDErj^TH>r #wVk!ԉȯgSVb SI'I#2q7}ǼIy>ɈʿJk8e5]WY).ë?y eb\e`JA|<,6jᖊ xP̒J"nL*ب=l]Rޓ=twF1XDE&QQE[K1(}2'a;hڄUsH-JR!E e+y_r$lP]dn!knW<69i/@n"G$=@=Bh z'N/2vꋔC{QTy::W.b{ce[؈J[+(g^7?)B04T tWŪ!|#ٓL,R|[dLN~ 92S/Fqf4,*N$0n铕FPPQ RLHȩdNJ݆HQKl>FetAAL,ET}m]!A+O eW eR]$kf-E"oE/IڂБY0gƪX]DaFM<c9#-%>"CݾG$пNXRKvn,TDEë/@EDo'8GŕEfѬ hDsH2hP'MpWI)?Ylwh\eg$~Px)@t!>]Lݐ*_`] h~hQj AlFM["Ȗ;CQiPj2cu}w1A}\sSt$7L=6W?K,))I]Ka8D⤩.]SӏdnDƲBsU7_{Ћ+sR ؜D"^FH^* IiPnM* 魔l34^Q݀ ^h(:Z(G=ZCI$,CECSź ߩSIsM`b1xx;;$[mev%%ĮtDiBcRWc!Zog yCc!K^e`JDIJWء ̷iJ-tdF33Z;nS&LW+iȝ mE|ĭߋ9+fOR~|?Jb `kpgS3!W&Y |^DXxѠ1*sgʩu[1|q۟rch& 4[8]|ZHNނe cyQ,<~.E>;$GuFω#FEȋɇ(Yk7u9?*moY :I}Y$c;[RHJ+Vqg\EƖNQF^ MӣhZdgX͡ 5埙ێuf=݇UB|1xP hT &lzUvAu!ȃ0.1p^*%GRo܅V&Ds9ϝ.ƧY6<4v:TL"vjNMJmIu"T#[2@27?JeXVfldpkJ(^-ҏp Ȑn8z4>TG$J ?j]6UdwWG~ |iL=.uJƃy2w|Z7"ƿH2[WKC_mD*z'IdheIYҾ- ’tC0h13a9lB^Q@ADdz3s0(>jdA@\ D4q[1 [|q% NVQoRw 1w*ԓZݩ+ HLxZ%OFRڬ%YTqɨXR{LеbycPFc{Eb[SE;Je&wQ](RbTК^ǍI+g"SGg^ܴ?x&7b*x\Љgr4n.]'-s"e|`L Ӆ1N&98Y/%(kq) m7`Ym̽&^ >f*YsG)kF>te?MawÄNN6QJ=d,jh֛.A_\㤷{ɒ1Mh\x)I<6.ҩ t2">ù{BOٞwU_'E<(2 5v(tM[,#d]{%NLuL-l݋-CljMoF,cĄQABU8&[SSkqJ!9$6+' 64 khUB0?~,=d̝!4IOHhFyx$ /ڻto?ٚ!G< Xt_ \yh ZLM@AB$t0:2E_Ƨ~SxA@*Ս)V0# l{(ӕ7əO dl]$ //Yյt@phhr, ْm8L odIb2lXhTLRIeAa炠ntE\2ėJf2I:0ѐ,}(c;GF=m[eirç1@ԟP{5{f6]Ӆ~3t li>g#WƢfԞODk9Ӄ$U*5iONcaV0΍gr!2AT|d* C"b>)NCM{">{ La@ %]%| c[A7>) ,I3)ί֛L⊋OGYW?|# ciA ed"݂̇Ij`p$.̥^Z-a=*&BSZNj._h~d_,f7DD+.LJXgUYo(9B&faaIg<'~sbs)] <|T>%~~RO-*msKR$ @!/*Xr&W`[QY!${* 8iun}&FImWD/UEXl3RI7O9;h{ K@iW,^Mb3#,n$dM dZ`d"FbLEA0IaMLX]R{ - vC]T1^;6ͨ^KnV?FCm0) i!7렩jt׶l_@4P9̀X#Ѓ\0x,?0&#Ԃ ::!){FD\;ǧA0B^@\(Hl$۔M+5r۟^[Fq?N"/F2"k*u1-  LzHC˒ 9I%)2E /DHNTF? ^r(;P)M;CUs3[C:0~/x*+NJU6WM >4puӎ"&~ia|#J gА;RbdN5)_1*z ?)=:ڀؿAT S /ή""t;bͧơDZ>e쟍3kOoH3֙܎B1B>#gmzU⩊?zv}8$“E%X9e.&0&Ejv98'͂HLbSJ9Y *8음QtU2ڔ?$!zVpQ=dyZBumIA ۑ]ވ7LDfd=  lBS;ށI0aI6WwٜC j`E!RJ:@ xb঳ (32*# -U:!YM0YB1fYRkMTJ#mZ>UZDBK D*5#whJoLjy>NDmZXCQ8.RA񺵥we"r蔶Fc^ -i<[|%OO _WoE~Qr0-y$!jt|F&NN0\>_pH0Cdb'p)>@7h:"Q?9qJfQv?#SQ!U[0T*~Bkœv)7RVԅ&LFSZp\;(Y!ca]&Uk .zc'FZY?ZfN6&2'.\#/rԣ\~kʱ7]>px0W:^)R=\bmػ֭vH24짪u[:طٿFn:3Y{|HgAU{P`'U$NA}0 ЊPa|A<"{' JHE7zFrҹNbDzI2#!%MdKW"U[(*1GO30jN,_Y6i{3WWvJf;a# o1&tHݺz&#Rc,:@r@DC-t'-3^N^Łsa(B)1Mc%fl4O^$)YџxITc%oף)'Z4H$\:6i/nsr?c3VɈˀJc    @UJ/_D&f&i F.S;Kkj۵IO><, b/t1q5lQmFI9s`v d;^MD+PppHF!g:hd-h;)dwhlu3BU&$ qZfŏ#y+Xeq~0:+Ȫ2X v:G M I#Mup{Tsc ze 2e[v"Ј\y]tr}M^꙰FM٩bpX&#}R}h#̸q( J,A;ꮧ!IutH)؈^ *nNC3ٲl;{HA'$*93 !IdrsV%Ahޠ[ʌDP (詔V>9[}`[6 Z2 .$] ĐFkT/W~Q&T,a}{᧛*ޔv'd*E~{V13}; @;IF˩ze/FX'3ٸL1M-N*\!L'ĤfPEn()*-ȓanWx*,jnut\/ ,t(߃Sb*:69 Ec)s+I['ϦVPzw!!JbC:v1:gj+J}*pApܨŕy=UDpfM<aTԝFYowއ <2U .]u?|'^ x^^ft+.Md+ X#B#9xzR6)EvQRzvp_}`PQyn 8e*DKʀ¶r%e^P؂{ 3ˠNf}oawZ1qZ cD1 36>Inu4ҊH0bC9-MQhLKic<?'ӛ^%5מ$TB'!W. nJ39A:/$w4JDIԚta*oG'_jN a@4Div)T;I5#7%Cu'*gn}iP /j,6Ëg1;ŚArۘ%ȞW$%t^!H2o ڒö)' ԳA=DM8t6-&R=tqMfQ2)ܠCwv o[ ;іbzs qևcPM{DؙPs_ _p%{c ~ϩ =K6>|O:o i_>1䮎'8 8x0!lΉwզM*4p-āAwYv`IWb\K %#mR0b Grj{+N;`$ZȄ`5W;!VER߬Ysr,1KF9o:)T?-Si?Jýp$)j C׬"&d98ܟ*7T"ZG ^l>QP\1t UݼI!ךG"Mq g׹3{ZzzUSNfuY>^[6ߣ-'S&$EHfٮJS,{ō-JgeZ˸{N=5re~s eTlu%گijOQ_`kY{XAYIA w1c 2 AE^Q(ϔ{f59*||XCHn}s Gbal+W؆nX-v9 6 =TymEO2ـXUNU J}_Wu!=#h@J:'0dAj)GW|(_%h$i%dn0w"3f{{GUlkqtZTr;G^ $TOPW#N0iߴoh?74E6"c#QrU0xbR>cn@$ Xq.U8P$I.}[E~68y[ّFLPFo1RKa\gTIOouF 씚;Z8UUp(jq) jүGJ_a~| zY:#D~h$E *>f[bvM&:~Yrxh=\PeC5_B&Heu5]Zq*?*AʋKE 6r`^Qr檺f6 M[SNm,53 kq=?{hݿJ@Q>LI1m? h+fo`ҧ!>XW^Ps2 cz"NԞ0ApqX}X+=.ɐT(7[0BEz+ճKgüt-+T  {Zp%ڨY Pn1;[d㈮]y$4btA MK$`]E(DS%9Z"wn3ĽZqwU>#3E57i"~Iۚb.5&g=I]G$!+ iD%6\CQ$T%[?Cu'N 'S𭒚]d$+񖚏iW3̭Ƈb>svXX$? ʵdɥChiPs5nj8Á7\򷹮<&BϞK#÷;qṙ/H9#!B;HiIj $:ßipQy!7jWP֐gNDщ"f{9:RVegtn[1=KʔA"ux[<^;Z4%)IG^MHnvW_HGYY*eN6H XcHvZr Tt($$ƒ' 9ĚV3xNi[FmB0%F]$Q}Ts3.^lSts_,fm iy؋2b*/J͹BV'QM2n tha랧.4>E`n?6#Ŏ]#niܷa":#FHȮի(T :\@F)uPӛHPӍŨ%e@b]n#UTdxd(ph-j*/EdG}{8VT"XtaJC-1pwê5/w[;kD$;hٝe _hY6z_:Zy2 B¼[?+GTjR$c`kdx4Wr MWDrYQ7k1U"V!5vE"e?Fd=KOe/3 |jV eJ XKc_.\C, tn1"KvDd/m芪=4оʱvh]Fsj# f3] HaBA{)HD2,`>1XMQ~|/)dK_(1c·\xTi6)e^S|+KF"I󠀌Nv18ݸCTe٧CGmK8cMjyu?(/i\{V%Zэ-9U;,J*NXx&rԍE>ߍI NDϿRR@c9,vHƁMHb  {=H_7W!(nm}[ vy}.Wp<(٩rRsYCj'}Ϳ7_UbtttBH& r&/oQjЂP!V%GH= `A#7$SQ dĐ#ь3lq_Qy.ٝZLm $k˔pޔI* /o-HAs*BRee D$o%S)!oD0ˆz,k!N/Jpݗ4H1F|Eo=ɸ|D0SŅm]T&v\p0Ur*K-x#wUΝh~y4" so<ȱk[1WO,J3<= JY%ŸO0~R{k6'$VYTJH̉ekbgXm qTga82q'Oago"7WsO";: vav T=xn?v6}); HNQ;\@dmb2"ſ)}Ȩ[]%=%2/+k.^ZxEO,ږeڍ}CwhjVIɨˁ^T~pI-Cm{i}hQESkoVHP~S߼t7Fma aijۄr=Eإb%ض5M$#A B2(Ht*FC#USkK8)S9ݝR[^a?zELDTMY3 e*%Yc1cQ]W0Y3+=jM\  ȒJԐ!9}_K8O~孹wʩ%]_ƚk@ž &XͲR&gKQ1'5$X)Yv_f.d F-:Y-] =udU'ַw>>JSBÝ/;iE00ەrҲ{DCQR#jG"%rt.bW"h8EE \Vb32NS aoCCg<UbD U  |k ]XSC%SSn**CA@S~v{ /Ȃ̴*#sRb\D^*,BRRuR*t1" ɜW&daؘuۨ:Fy* XHID~Bq68HTfLmU#g4JibtxBAlQxVq,UK0'3NבJ$'qYۼjr/)B%z$'@b!؍$8`B -}kls U5!5 .hM;kPym.Zif=< ',^}Gn^pEYR*,"FĄ4׼W[ yQGkO)  jiw<1Xl"Uvd1EZAiHϹ0.}O+"@b\:3UQQG;U$[IӵSH+oOCd eHj MÁF5 Zމٹty3GP|9Ɓ =7KQ45w5,o {`B' Ti~e~ҽwIi]teGܶIOUlHPN+,]wϾج%zЍfنfY=&+ϲf]5ݓ -ikZ-,~}!5#sa"NUŲD P`5]ľB EuN?gtE7z7ylI~\hہ\Pz) (ƙJaGhR %WA"Y) \R6db]JSPBnB3D_i=HPP'\*ib|蠨$LiN\}q 4;oXU-!@- FT(ԫ Sd)w A-$MmR?#0z΂zD)G^TB1'^6T6i4 gk #[iry.12G: ,O)2.TI`Q憭,obfRZe&kgqlarF&DgzZBlOZϣSRNq[\\hHZW(#diŅeU5u9ޕBUI\>P3b` :?n=}G腡?bvϙCp`|&vr9ٕJM2)׎LGyS['# G,>2/YJ݌a$4R_XH+RAX3bu:y<`ѫE련:vO{[FNccM:a5[ N*Z^=ޠ7ʼnˁ\M;  ^ A0~/Ah|eN.$IGdVRQ*7(?:rŝ&Jelm 4b=|s<(nğ wO&=p25OwtL^)C+ +Ҽ,! kX:Npnt3BsI& RG9!QBE&̆6QE{N){"_2{}ms;z1ÃqRRԩew LpdBwEq.Aq) 6JRt̿#xP(b72s.ݯ&iE(ڥfqC!N1?pjT=BjB#<}X0qQlDQ`[Fj1%j(Z 2R29S&MHrI_}UFRhbm?v(?' |^Q91KnY J]I{JQQy `PF'P֚EJvo24̓-f3{1mE4 To AIIv|t,{cɩHMKAm4t+•w<{%[@8T}'0|P94P n $sIZ7*o]$6wZDR(&xEHBEhsR;x幊nuFI1t( 84svVE0GۚiJ:(R"a$W&,KdG9dvM&~lMe8eғ֐\AgYj&do=zSeEe6DI9<ುj"J/H=]U>7YD~r r&pC8o&AydgT#cXW[m 0@lheM~K8Qey~210j&xˌC,`$c2`|  1VZ% `ZhBHȃEY 6b ^qIU![^ e$/>0G4d_p{XE0$Qb A +qՠ8Ns7OBTXe=ڡ"m}Nu _Gs/j!֎FgnSePFwSI3h=. b y S(!), bT6S8՗ƭN􄔥G[MP~ӥwH?nE3w fRPK""ke:T[>osej޴Rb a+A;? v|{Do6?NV;,J<c}VF#Ou 0 9[t{.I#o ~2𢱥Ylq$ !^ ~ɀhw6WSxAM.@)hg.jw#Ƭ[ 7Ap;@HxzcZ~iy>-> FiZ2bK\'ΉzWD]rR/))OT KJ8'5\0ŵ3XkSQ$ 80 3jHٟX"7L9Xୋ2A(*= M~$gp(rC(VWu;  8YV xuq[-~Q̋=)ŋ;-\T cZ+Vß}ĩN- dejno\ɛl={mVӮl{ 69wlVi!nkRwf.v4DDh̹| L,z/s1zޓA1nR#=J:L۱ j,ejS:WmuCN^u$}fYtvo?HӚfViI qs'91wڍըM9M ؼmK^Z'idWۘ eT(zzI9Z*;z7h >K*x(iΤ+m{% ~:/fKm3 cE^\{+ђG=BUXb2E15-bx[Yœ̚!fql*a juI V,""ו f ռfIqLAvR\b{146(~7Q1k]ތ<揅էX AĘn+nhj$S1S.- Y}Ip[^ə^ujAA[#W*0{(N$mbqʧ+A ]H(S i@dʄLVaB+XWKypF]kmOOt^61S䓹eb sw#d򘘮Ua_M!Cd0cTZd27M!Z&*17ha8nIن\?wۂOC)uZ*nѣ/Z>X&w+y}#届e]+-%Hp)2G * j'QxgdgRsLw8K'fyj߁qʽ;z waWRguSYfԫMO7ԯ0YZUtNKhP@ B#:JKM{T,j tGs$*tU#ɣ͢1dҶz]Šm GvƝ [ ,klّ:Fxy4AS"inbڳ+ނUH߄uaEJqe)i ˙M!Vb, %^8pCҿ*e1:F}yGÕ2_5%myv7$& wvq@N6d)(DO`_+GN+uUN+dGMʱXtNH:`iVuMDF V9N_>~_fTIp·!v8ubK)vg\WG*ݙI= 92T泞tyuRf* B&(ɒѝXK8B7Z bJohOESJy7ƂV óa(ڲ ?%gHDKG/ٟCxҌSȨk1E c=آqɅX~\"'q#@axSѢU)!/n `D2-уCg#OX}s=)+ h( $6 o >naT^*XKiiEA-oa$mR~?*mP(Ae֢~rb 7HGycլh/&B3+"=!iT|#GEPh%/}0o16` {ʪod&tJ{mc$CF-B5"Di"\%WVy D)T#v挏XKv3MkT#>W-t:BiO k#'R#4֩XޡWL//K&MZ( y{]X}ԭjipfV]wM5o[xMj el,Z"ܦJn ɂ[Y>΍ `Ol1?!@9C1!,$D@F$F5=lVȯ{xdKoi߄"XA0LuJǴ> hEJ>kA'ٶ,fp4[n΋;Vy T4e|GBr1&-E5IseQZ9+$-W}kpLcUnc3 wCtL\"Na>ڊ~StDrMVd]tӷ b )$ 6{w _DG0<j޼bykI1QNa7_ kH#yjHpQ\B }#~I]aWq!AYI+zд}Lq$GG"(v/OZq HDI-;ŘVgfALX"a(7V҈Uގ,cK\W f%L Т5],S:Rz#L`io)e"ftMVQ|ZE@6p8Z܀ Fak.FL `2x4'&Ɉ˂VQY p mq+o#]??Oȋ$8=GG_Zɤ|#>)Nz:hq#r8+rgOwN[s%W Œ~{o²_9!`-[[Nuܮ5o. RehpDTK!lFKhr,jBsLi:fRTzGK-k:לWQ< r✫

䬐5°_ 4Jn- h ̢#4?N5dD")nq"RCA:2Iz-SobzC~0qU$@1c]"Mi.*@2DǤP3-r-0,)'!ǝq`/!)T57+n2gJsE~9vH'=Yeӳ}35JBV^GЩ&Z ^иfJ'0v Rԉ~UgRåڜ#tl-'CG> D:SUBj2C!̥{إj'`V)iIC4#c1UZ^'CbK镰;CY"{o}uxLLRAً.٪wLYCRd>  ]\- C#ҭm1*k|rRh1xRQ9cFGVOTKs#zgFnUD|69 %HG'5w<eKq $QYyqIBNVtI{͂]'uހ xRFF$l/N9qiflx$VDת3Mɢϩ;P3M$1 vߚuQ!,b'ϟ{U' Ug$jOWJ֦l~ȕu*ZZ2%7eJPp2Ds@@%P |iGt,Q*=t_UӔDn8]%+fWMEpF(;2AEDI`Z'7/ʹs@% ג9qET6 y+l*}XG$3%UE=1bGKuY;r3Q=)M]vN$; eVjTZ\)1@Puˋ.9 @仕;' Y0u,gR\.tC!^;"Ed@(%hNG_dZaB` W"NFzTHK~\BO+wGzD7N#,O2\jpx#/ZUE_튭܆ +(5[~;ISѿ$ǘEP|ձ,9"NY:PLWZ̕ޜ< :?x |Or7@)&;kS~Ъ {P("c^VMY+Ig̓4bĻ56>O(`G:E: ' b Dzxٵ>qXw+6m :M P1VC 2>(? Ke&u z䶭mtµ4PgeT"mF ,XvB*ƹukYEAzo)?/"SKUI(5!ZJج:*|rN"Rrfr+E\T3E7y[`e5d^ʦ#.=h_S٬ar9KeYr-,/|v(- r{ ٶIkE\@҃P#JQ#8ר4wFj9LIgN; ?uAk9԰cAd$فxةѷD]XQw/uR{ePZSx5j'o"~toLK&-d'췒,xe:WR"[YEj{,Jiubj躙"3ʒ&6Aܿ*ɉ3+K!M75I=e%%pky Iz,S^!VɵZ'^ ѫs#c=P&k2'QNxԀsP`Zbabf*ZTuVSx}3j$E&eňTHQ %eҲFZ!vZh, F@ 7:$Llp/j ZКiS 1cFy;h)ȶRL2H[b&gsb .)KL%b+5ZCj9ʅSi`e8=# fJCa/m홌UI-M\'!!;rWpOvm2PC}VweQSW5=K]ʩ2K"[K#r*-xE5E$LMJPV6+~DU #t8 gAFLtO( &9\ ~x@HR@GR| [EI E<( Bp$cǴy V)w|C̖!g &24MCtjHDv=S< NR9QK%+.[&rڤ(reV* FkR)m)?dLw*5W%/,8#m9'E\|uC5Bh,+_:M!,U!q?]$ԅv$⤤䘯"+l&ξT- (f%ɔ՛)) yjjo"Iا FDSѓz$A~@L_)Wׄ5D5["{O0ITL2bP بM5%? 'iF}5~uk7q7j%GJ|$ 2@R!v<Vgw_  4L~ьAZZ?N$*-Eg ]JAPnJe^9|~d39{=}0/[BT?%)Ϯmĩ1eҥj$RpBrLǔpSboYiv*OqRt)ZB*ҒFwDbbÄ)9ɨ̳P ?I''~jtlQ*I(~b\~. GTe-˽*ei9bӳ}5/Td8\[nY;!&FϬv[Zb(5;8dH!Ro|E :CD`^ifvFw/AӒyJ8H)U"B0ԴJ-AW|"fP~ʎU$iTƍ`D"Q|/7VFx.ՙ$|n.#:, qG'-R} ?e'$udUkjeou օC^=%O6=X75F␈]kﴺQ^T{|6H9+&=@,ëC($!dЈ ")tx>6C>+J6GJ=lk9n1 Ua$B1Q(bb i$q0)i~W[I? ,zj52jkfmURY$.?)k zlHܤUs䞮X'SsSJ&nRdN0r33nKEfFRȞg Qzf'ρ| S x2$ a=.`\`?Bp\f?GOɷ@L*0iq赹KQBDu".}:$K:UT!r Ih[AGmSS S/y7-eN-e? \€5Q1"Aa--S>|ǃ༌tf䍘 ",Īl$RD˥ q%$&%C8dZeTarX^о+Ƃ yˆZ]bWz4tz&UUyNG 0*W*1"p%@ RBzqS/ˠT3jYxPr$Lҥ7h cAn3j X@ =2 VX#7Q# АxHI܄jV]LQS"$Q/`69[Q6lS#DV  %EELkLx~9'""RWL1bIp 5Tƕıˤ?BS)G#J% n͘JŢme?9q6 YtjZMð7eTnK+?[i{{m8.+GȺRMb$ELǚ#XLsjRYtzzK4El40$4GuT&o,d`L8#^)‹0*hvkq.0USLhIlXLo+QQtIe0A%0bN$M#U7"fPP6[pcURR 'j~N[5SkfX)<,c:rөh>J*!N"cdJ!dw2I3,^kiiv:m'+mHS^?M+;ѻ\B:llߨDAF˩m U[ํ^]c\lMtkDE{W+D &7_*7:gTEUR͍A(WMˉ)+i^[LY0Nu$,,L(꺂 p#=t%%y2 :g4ȤMYvB7lO(m]m0W̢R; %BIAZ+ I"XҎ~ȭ&pvcfŗ1/{ LC㧝܄w/ϽPE:beՙK{T4FU݂ssmLɜ%XIQ[XΥvHE&"[1h.Vw5}l-x6W, XoBiAIlQ$TsWNe%Y,Q$5k?<ToP~_Md&E! cC.H0I}Zf'(_JdD&Zf9L1 (o :45 !|Q$7thB֪ɽ>{[MT{+O=xgQauu?>PLUݱV\.FzQ|=UgH106`;\@^7SFFQ&ީ~\0qϘg- l5xKzHLP'oC@Af4EkJPJM?8$G!sQ*H(ɂH=Yuj/{t~ \"Ɯwy?BMx4ؗWO'5:Z\I>EJ1#2~뚟tDPfUM 748^7㧗fDTzb$x *?@9:$:hiFy ڲ{I<;auqRS:&E}?n/+>ˋ]9\ĕϋ=J2+NQu՚0 }v)=GwjBB'\!o&,MK)i ZD[/B ?fǯ-b$R{[1礛M%/#HRߨӇJ|}0\ *&ڈ6e it"!e rLc2+ kQ8ֽfEL_ɢ`jRhjG"(F| 5ECip,L A;g=j2gg.ؿE$x=6WL'@ x++,% !-zNc@F tI&& dp? QczCDzI-ve47yN vZ}oiDkVSHKuFosKëTe: d{(f+!GZ`؎ B2R{UE6ڴĀ _) [5?!hHEqd Q錋_sn 'Y'(*rk5^IYSI6XYXoiE$!(lǛAoV:Sf.wyP xA aiHO #@d0od ppd~bOH?#$+' &lU!P?"d^ސSvȡbE HB@tgW(TQ(ߒ >TLL Ɨr$bB 0(|4NA,81xCLH08⦓Qo4MLf(Mhп^JKC͵ i*XJ ʅbISE2v4Org ^jBU{}T2%;y`O5j6 Bhu΍j,irIt"h츜iLu'E0Mj̨D$|o~Gy[v7k)yf0>2s7j*$:d3[,UOhLʚEsA=a%Lħ~rK)1hR!54Cѐ@ܲB-6̠"]A#NC YC~vxqhEp6_b7J(gb}z%׻ T |-\]^I_6孊 햤6:D1kx&ߒ\cg|J%љt@1aq } mBR a 5XmK$}%b[;hV.tB&dtYth dXi%ĝa<"dDk rpK 3JW0dVi漣 bi vXT]kˈQlb XXy`,Ms!ufE8,;2@ʰQ]PLp @ןd@eĕXکi*:tbc4ƈhTDO*2Hz.@eb\ZA4 ]QJ¹8H2 ?LXㆺXڔDnE~̍c,&]֝8TȢqnt]dƍ|8Dmbi&x'C0lWБ(lhY@θd]mc׳,v8_SʹX")Q![D\)%K5>I_z!4da v A $τ0έ7"-iwDP1(61ԪI+~MJhZ3taD ɄwFƆ.6'6^Hl f6Jz[ٯYď\adLQ!a*& b[瑒 (62!VT2q4 J&u̅ǓL~i oe0/D>\ZıLLp_yVR`ni3@DxSY0s36,gonءM_/Rh|tQ:AMd_0Ʊ?F4-%$hZ|FřrDlPECOhƻB CYD{c%,l48nÉY9&Aږ"~t#*JM{*I%X75ݘE0JviM{b]S,^C>JK.)eSiaN'ʵP#I"weJymГd5dΠRk%60UT,O%?z|+D ;i{G7tɏ_cC``M[$[@(}~D oeK;wL.îŅV#'G Ej6 Jo< c V(Š[gТ(+ Iѡv;*lxU0UaͨBIUݟJ937;(`YTR;nDYxZ$IvT.,Eҗ+Lo=۷wɈ̴T %*0O+~ %(L8h\ȐC<"$hHT>.*Lt*2p4  Nژ$PH(\8/UkQ'!FNRrzbrb'Ebӓؼbjv9{Դb1;OҲS!ZބWiJi_]iRjdxck\ޫ=!!#v9-3Fw!JFFrj2S* U٫՚?JտFC21#^o]$LȋvGKz[zHbs:U\{^;Cj}vLPUDE`u Bղ3,*>2XLd|`,4'ʛ@HAć02XDNx TёqA!Qs < (г)*T*R$ęKݎeք7b^g/ WҝKt3)֓ZzI+j5DDkJSq-~kg؋_j9qeK~Eʧ@Bȿv2wK|;ٵ+?quuo'ǫo՜!̵Ұ{;X@ִvAͲ TaҘ, \0ZgqJ\HC (PO>=YTBC U ,Rx*J[hjA@x\C֩C.97NL$1RɹYE~d0J*C{̠^m Yy&]Rc/Sfނ"_lLJ]EĄ,MHYD~jdC|yܢJǍR[[iH$^{ iȓ-ݶXsl1ʵ05UH.mY&zzF6Ng0ZmI _D,b9 IR?^AщmJܴPk(OhՋ\LH[`ȓr'տog%gψ]ADet:<(!H${S*W;Z2Z|aI @FN{>̩*ޙ'N9敡Jp.>r¡-\ArXWaqDQm4B%P0:l4K!ĭ@rT skT^=QRŸ9_%6'ntB=Bڴ}<¸CA&Q" Pً&eD.}ySJ)#U&,o2[G1<%"gSNԪOuQ?w0ֲerMuﯟ* $rR_COK[4VQdAI_л_N!~c/-mdP'ȀC٣6?"$Shl`|" ݸO l {.-p("i9eKVqGhC0$hhZE/akU4"VF+E?az#ZX[i•5=lI:Ȕd_wȯ3&T)܅Hlt6.1)IXxܒu9&iB=^tH-3e_ODn\|mL,Ċm*4J&̦@ yo6&Gq>ܴMӭ}ćnxTARm0! !t/V땏qE"h4G{品0Ojs?O QIp]D m>H|'~ es|a>dMKiRSB (f넲#!CZkD%mۨ#u0xR~ϓf gK GK,xﭘrQ,t6u. usP-,UO ]B$DvfC\7ѡx]PHp~->-M ow;%ebs2 ݥzΛ }L&2:WmG p&)ɒEZvlꕶVMLSDyς4YGe~F0xdgF EQ1VjZyxӳ~f"nDeZpݼPŅ GNF]=^LZ*8<4k݇p[ X BiƬd%d5Lp̴l[Hl&Gl{b)^,=-SO2$?+jELq?Lݎ, o 5^O *o%([7]lmTRZ㽱]%M37Xuar+WO{"2T S|%TDnGJ1H.f%A.&!L,hhrބ~iEgD#ͲsP mTNYw -S䪖%TG"F ~ugL \F}uo.%8]r7 n#zW薨D]=J1~]# 4,R-WǒOI tsBtRIɈK{ְM .YS/ )"CRFDX32G]i4B 6 N@Q6feM F6@`!*H #"szxlOM Jʈ* i15k7qKL"bH DBlYfT`й0BI>p" dBQw')c *yZ\M4ILm<SiVK&i4A9rJdji"Cp׵\Edeh"fξ42l.:4KAI&EeלC%6[uuߢt vźY;QBRmyQ" Tδ+hK6K-z<ͷ699 k IFosJB!j<ҹ'>ͪR_٘ mѥZ<(B@zkh]9^ԱwEL]T611Mw&62]:}4]/#Uwb _OU Ñkܹ&SS=CQ cȽE /Oˬ |wƋ*;r|ZrKw&Vh]2I+T2n%S%8>H]ltK׼pRj#xSI[C$+Tj=먪͘=Xdǥ,#\jDcu1⣔5EDJ])nFYsY xO,fi[uRMr8*y!hJ/ANJQ 6%lSkAl^e IJ HI[ &ObI08G5uT6-8H-jM7*X()XsOQݨĆM[@cK:HLfaܩȿ,eeTyd]b!tfU=\Rq4Ӑa/>Ioub!+FDk&+i]*1䜁~ AQAV/M*Ŏ-&6:yA( n)a DD8:qBjBsb<".4}fH#"H^h4H3<Dusг?B&A7LLH_^4n}uP$Ț{NINl:6lG$Pb%1yh= $F GfL!e#wV@h~3+0тFu3Lr,\WK~n\Q? $]wS~I4$LG#6oTQ~ymvKEDϋϧMXq'oXeLN*)%lFE7Z1,O"\o7fk/!G,+nN4`(ɉZɼW-i]`w)F$X̕"6V Ĝ:+(&dKģ"U_B 52/B-4`pv_}adc ʑqkdJL\UK{6,Ȗsor ,`8fg6-mVs/fE .X& tXa},$ObE3B *Y1'}/Wrvi.\:Ʋ^Rh,Z\_w|ӯi̢gFh(5kd`y9:i3M@S&PzЂR$,{+A4A,ENt2]&tFj34%>jA?S؁[߲! OIFTЩZ䞀s5TY> ͳGVh>pZ-ë́DH=©! 2jjdi^̗'"Vtyu|h<4LÜyUUE!,h& DzϬᓱ5O7Œ/=[D/O֑|wɕ0IE.dW90$ڄȹ# *6ƭaDzBu(PZڋ2EUsKhTZX[L 4b 0]=#bJqp eky-ahVJ@ EZ|V1GQy%F{I WGx4k[D5|9/rΞq2L/lA9= j1 Odő,1KU}0<5Qv: WPIKƪ}ŚHB5Op6'y;9\gLVr}kg[Zӵө .y{F,ޑ ŏ]Y2C56%B)j+*Qmyet{٬e(%\P0OQxN=*oyJKj0Ӡ rP\.㫸BSv~H`F*QG4Ĉ(Gn')ϴK U5!,[+[-U} d-($TVakH47C~Wreڸd]/&'Zl-bRXTn(QϭԱ5[%f$sP(W5Q 07zMkUe֩u 99йs7{rFY+"V#ER!fVʄQ(c {ɨtuFa/;ҪX^$WG8i M)z:A/_Zw~)'F9-,*Ӛ- )CَnbB_05JtMU/qSĢ:֬n#EW=01f -8#BU?l68- Cn9h()H;Sȡs6X,3"F[5v51@搱I(12 4my it'j0GÐj.~˦%AN#ęUg)瑢8Ѵǔ>OB1 NX E'DD4@`9)}I#R1h/1ZI(hL[YOlL̨f$( /gh1c%#g &F,K*Ak 11D88Z{1鬤dBN~[Bfh RMBI h-AY!z``Buhb_ ZEZP/fN,Xo6P#$V(W(#aܒl Bd`P<>CSKQG 0 "r(0Br h#JFc&o>ɣ4BD5罭 s` 3V;缁${L<,{3_Tڵ'o76 -nEgD#T$˸zQj!rW'\J)() -#=q?%w 3\n%s007J9[Z% u+)V(2)g,,(pFPVa+uӿ#@ĭ:2+wRqEyWNJQ/{A$'Z~Q,㜫tH4$*ҊV<}Hmڕ]b '%QoHob9D"lS-,#bBK-BQ"пIyHI2gvAO "_ ~1U'GUK18' ҕMۺEvM⌵dVYw[X _ek=Lg٥>#t]3lSY6 l2$M<25#,Ǩ /{3 4fiA/m\FM+-s|[i,2\ľ]%uI*:OEh.H[,AfӴnqS MVӽoMatM;jA[ i a)R o/zOU@rwaOo$TjRS( (heJJ 4PLpB3ʑJjZq!WecJcIlΰ1䐍?x֐4$M"n=c';Qa-&uV1\4DaMU/8%=b%&, 1DIȯEpŠ)CpLJ,$E,Q )Ǚ@в&a-axy@eE8O@V5(Բ0r lk) Ij,:%k>&a#47hyTzU' \~2q G jMczNva9 2N8/0lٷ %D((Kn`hrN4LjUZ S0Dbkt[ൈ72ʄ`&? 0$]>5) 8j8XƑIJ+ mb|n2Snv餸)WP,/۹|YV:2\d:ӿYq[ZuգVwcР0c$t:4UofmH$kI! 8`RdJj0i,%g_:d8/HgGylj8Nbx!'Aࡂ]aH4A @h 2+}zN 2 Yc4ȥMp$NYHs]qVA/"')#3WvT ET(K *ʺ Z佀bS6} VP,%@AB:sfԧz3+Z@ZH0,88$ #D;-dS%* G'A&{CϠ!A"Hлlq#4a[` 9M%4S8p( em-N) B0HR^Ib۠ `R[Z$Hq$  p Ig/0ŤPu ИsJPXzhiFVNLʬy qFqCŗLW4`#pwָ*ǨX#A#!c(wx8`kѢhW4Tɫ@""-ⅹOƤ*TXf4V*-~am@ #RA}$Hyi_`HHK|A`tC25; uc: pu?N1{0$_g[ǦRRDZPt;<6b/VQ- 2¸g0I9Of,.Γu$y+"27 {wm¶u)b̪G9)X4 IExiqc7R~c O/$RVd.6{uUŌ䤛 c J).2e, ,o!d M!֔#6e"eJy&&VHʳ~)q&|Ҟc>ˬA+ ,< d3Dw)6)+):k_(|fȫF&3! N)XA/uYE!)kS'6aw*IC q{'q%{2ϠJM]rzzk5ϲa߭M Wo#eeYe*F!^ToU?Q]]ܞKC;ZUVC rrVki_ ZyW.S9L剅u]3djT;9C*6~RLId COsFrD:"m̺IL@ÄusWwg' YCk: sw|E ggwBst`̓Jt|#zOI ! !& LN*ItKuU Are}aKmXMm?A6ϽiLא$`wIsfMꭣV֢1VO%dfe賈pG0)1Yrqb(J#UV\ͥBrĔPKDB*THwߏRPbrͧZ^F"_O}[ ߨz-L]g2 gPkL(jg"]4[Wp-܂ دTk=ԓϧ P1_״G(fLD#SNЅvqj|%.0d?|Fw+8\)j>Z茾ʖU$쒤BcBC"3>ctKH*`fB-QiCUOBX.`.>YsۅB!umq u7Er̂RhCV1v,Ad%]ΘFv*2(^,-,WЌjӢ$+R4.kˋZ2!2轈U2!BFwnqKuSxĘrFj }KIS6{HHq5>c!j"\lk#{^T?}PϾeٺ,5q>ZeKI05ܻuwEcrٕpU2?yDۧ wgsw}x)]9S\djGN91Vfrl&eqZ9TC4c~)\>̧d~DtͬWVDSRVA8&6LER/ש3qyfQARIgL*;*[Qy ڦ_~(&}ȡ(H<" @V* A!Ğ <+_WXRJn^ '\- !E^R9 L=DZ9sXDd\`V^9qw/I"9#,4>ԇA` !p[[D53| LmІ^m BB_ C8qyV$5cH$f0" aH.hLQFFgΓud  MUP+Ȳ3}xE8Oa: = { 0=p$Ne7ȵhim4Reu5 %ɀfJ 9R%.NW  CF^I ^R$T= sTu%Wo,z5k0CYq0S 1 qi480?Q+vPSN0A`,a\nI5{-_DYrl鱫ǑKR|8ÇWMs{iQnfK){zSvy<Z;J!JiYG A-f.9=kƂ$]Jz5""N&ы()$42\}hĸ #e)%pIj<_nZd/NFD\K4-$!GDaO`4T<6 b>|*Q& pZ7Js~dJhȁcJ1m!#]&3R0- Z'|!ʁ$6.( ȒNE=b][,y#+Q 8%Np.Z B$3JȂIq&XnjiZ X<Z>1h"K7 (PlsY)Ғ!|Y/,–8R 睮Qt02& 2xrDD*$T^J*3gS$*-7G̞K鎳; v[yDbAN|X҂3r1/>@tU1cAȧI^(84)"ś1"$ #B^+K6!0$XW~0%"ʄQŨU^}aZH5#RA" } aRc JW,T`2e4f MG[JUB&skRS\ {2|^oiWJ.\}3G (/4A$QͩRm<M I|L0hq$ 1&JMfF8vλJXJ-x+nXID@[ #J \`Lzqa G k !wX&T]zc4Ӭvh2Z%ӔEK( K۝1Cƭe !c=%+4%CӪ h2:BE1#yLOx Fe1dI'fV&(1rU;NC_Xo} k[P P.Hw'Y0|s;OAD@%lG |E?r,l1~xX&:DJSP5!4.Q1n(TES"?(2n@8ϘBaȆ Hf+aPܧ< 8x`"S--8e 0Q B1~t!S;_•!VS#!*w*9Fc(0d!8!D=d)  /6=Sa X,P2t-KG9Jq 3P-!^qU ĞqU4b$dj9T,]bNfV4Wuèј#hS^fw6)RvXb-#nA(/`(?׺BcJ7sY6Q)ƊAa䰵2M*DD%c f1Zt+-RQIµbsLdz됀qIopr%apSl.vE>J+"2Htp J Ĩ S fF>Y71Jg!~bx&TCq"kb(K"[iIiVT xjB-<ϑanS3"a!CaQYg+=NPR*RFʆ4*[ j5E8D1s!ИDLKI]!֡΄e*X ٓwS! Vp$-J-A.!!+fV8՛Ք sU$DUde:%RĦmH8e6?: D |-ltv-;UY'CQRP O0rQ wK*x# HvC PVE\ +Q*6)~#P渟ȑTD"81I;Me҃ DAIf$l(R5) . m$vE#r'RH.0s4C!0)̮7̤QA_0E~+ TNz8F ~b!T>΢-QKxk:ѕlbbA9#  UF½/u1ֱQ2u>aCa9sY+ Y90Eu=6QSGoBTgpϖep4PCS;QEO9¶@8Ĝף7pB7&,U Bd[G: d7 41ϼL'}BRZxIna4R2_;FB\ue 4E H.?E: G">>pC L-tD-y`XcpE49QT*b:|LzA:Y40*KB iMfqO596A# kD.r&!fsyX^F1BZKGe*Aas)iX5"U`A  (M%SI])٥ĄAPBPz|mw gKYWe rn;$iaZ 9#4blzLLRQBG@A @;vxB=l8XDbJ4 8rXm=0AK] ,(EU)\}XbBU#^!ADb`R Ps؅@; *^fpFcZC]eEʋ`MC[R ĠWy#&zG]wĬD;h6 .Ij QiEjTA(jH<tPRlYWiySZi<|S+BB 2! %" Y!$5 pek7`͓5!d *Z- {m„5, 0'H5hr(eଲ'V b@5)C},\8F/ex`#F#`t q wkA Ô JHZkSd:ḁRe paMRGc]aMKPD - Qx /Jgx*Ļ(CBNqF!$Ƅ @z|U Vbl kZAK XpV2K@ٔ *[YmB?ԓ 0)N7ɋZLQo1͋ JRȃ)RC5nBpqCHUDA8 h< -F4֔&cUX%0u8iX wT,1kFCn,14/kdvP% m?. Dse5Av$ r$L;:r 1 zwvqUӹΡ7ʥΞ&0D+dڍt^eJ]n.2wѼ @@|<28\h搫MdԲ/},k.e_/"I|@Lv0m&&pH:Nߧ| D3#BabC$KIrG1]pd5 q4 HB-x_\rJ D'>8TA8l)dQ⥙C &c1$t< 1Y)\)CڮlVChAؤMڌIIvmg 4){  #0B* K,A*nh1k y %I& '/봓d BdVF@2>KBDBd+{nu ˜då dwA!ZYDX)EyPᰦPc! "S-q)NqǢAs\HJ]"hİJA-TAQa2# e"C^SYIS3lqNy)!*R蠘@"$Օrd Pc 9m ė(zA:b8AQgVOHd@m0%.Y~V[hDpl,6G"(|C\ϑe <4!r 3"L. U}x=Tүult+K?~`hDqR !IPҧ- BE$RGg7@nY>|"INJBo(|7N#밪B; $Hȱ#Hq q|A(tJ ]8\qa%y)'anx cd4*t9U5.J A!*&"4W^n[5^`G5X'"ݙ0P7/BA;άE4MdJ>ILCM:AL ,hda^dpLS:[>Ulf. ]VȲ>u _BB aGp"Bov\݈E,Yi;0渂acbB'n2 Ͷh$>kk&`eT2( ]}/؎ Z _}WL<,7E2µQȚ:%}bJݨ"NlYUKJXz>K2MfM#aW[}LPl8FR^$~ O([-M3pM" hBD PޕV]5HR%;^PIi偞8.B[KsUw顬}|l4 Fe%l,1esGQqQCu!8.Nc"r\Vqw$r#i}D{*&̦*Г@F;zǽ>>rk#mRzt7Pnh_]cB<)_5$0  ,(u>5sF7VN^߆B/[\/0!?qCzrߦnVwn*ED;Bi"Ƀꘇ6d/bʿ(D 534ݐ„T,+F1j+b5L pnG(Eu= :c!]ڛ%2VžIKCKúTkc~Ti~nhES¯],6d.NR 4_>vJdێ”_7U]`ܒ/Ji[Vbz9_7.R?#b*I£NvC͆&uVGaQဈS#mET"k2!ĂkILseqn,ہZ zQ.'( QHUK]u4WcЎr ci2c2ƻUHHDeRAm{[e-U)p=@$M7=iId, ϤU2_<^LU4YgӺcs<aICv1 0La90 t:\Y%J;k{9l]u]<еvAAwJ fCEŅ |A@\YȬnrʽEk2C"tQ[^4dL) G, {R`D(lP ?Qy;*]ǃu7UpplV+B׻Ω*Y=* #knľ} U3BsZ[oLC*xt( Fic_^.лEEk+[[2٩M0'4$ Cjsa>$X&9(LI\M(a F1v't#ƕ_V*7ιXi [f+&$<Ω5ϹF$I*`mJ*WOP. Kn:5Ҽ2di6Zt[fE╶Gb"YFH!:鴁 !BC8$f[!9gŇTCknfaa!G1uue CaS*Ă!vEI޲4LtIЏ dΗc"ªo/ @]QV]a/2*6?P_ LD7d\9>3<82rH\;һe`42x2JDj+aO4Vo2thݚ਑y'OX#8 8dՒg:P_*ȩrBfqr @LAU[DzfЬ _7ҥKp EhK\35IYBzܑgenC0GTc+d+\(W%\BS;!Tj>SJn j᝟zZp64:b1"sJJ a8zT8 r -"B#eh d<&A8t<|@D\TCuYS Iz, *iC!aP7["d -gXU>L; @P&\DAu"DX!( n IŊ(&(FvI_G(c)j;Rb ͯVE'IQ oA3c6ʫVsjnTg֜(gH d%2*- e}G gd 7# ֙yN.4]7?ZEb?094_T1TIj?K.qiC w -VJ[UhA<I8A܎E/YB[9ؐfzݲ\I^aF59e=•N3:%oQv=hG(eKjZDNJ#"7|ed՟eL~ttdZHBQDt=v̓,mY7۷,/3E/2fPM[kīm::(O|òxhen@B #$4A*f= q'e˔xELcT> ފF]B)MQ)42h~ t_,A4acQ[˘-ɟGڤHJIwd HJW1UpGb :ïwD(}8҇cշrJ#.1!&|PrF9"RN ~'w\q>mI!.߄7نEm%ݸNyx&<әs /3HS0Ȱ@Є "vq8/E*u@/d!/:1Afnl d!K>WhWhE;Ȃs!.)4\h#5]QJ:NM]5tsA. $ב aDInAca;T*5P5X^P(8#S"6(?|m{2bl%8Q_ti}DN1+2׎ħ<t(<\nľc",GfZ -/EAY*m袎 Eo8C71'nEх0lr)ji0 V/vBs'k!$rKecLL7ȶE!Gq>lDUMR#?gfmLW_+ H$a+ @eY~Kb20`3% lΥWQ;! @RjDN?ǒ"GaKNGF>HTBnV $tH"̯h3p 8P,$3 *e6P ElC/A[k*sЁҰ`ٳM'2(`wͫ1B&U86)r%Pc&|u7& juS\ċ#k2jq9 Kz'7<1 !?.;W F{wib,"3LQyTҴZ=p%򽊝TTtڔ%hH]SU2Tph׿, !@p_9T1x?8Z~{p"'9n,pI E 6T&ȝN**pP *DZ@#'ڈ*Irʨi,1 @KXHyg]g2weWԴǼ%>|aV}Imeûp  /GO4ZqU,"ctɶdZvI97cУKF:f-[mxk?!=2Z P­3k]+2Wg`:Q usr_~l;Y'~rU6tQQ¾T=k+#n@ҧqtDpwMHcٶϠ\T y2 ݔ#&@LH{"ʧZie+D!q&h:,sM?ST(,/dW|3}G̊$/ux-E1;|Qt/CeItvQmO&窪վkbJGBTRO o⨕=A'cĻlg3m_5]n)Nyo_|m{6f=KH |_l2Z,1*rGRTѬΑ!k|,=v?ZA@;d7+'qbl׆5`jȗ T ;߮Kl7 Аz];]Oiڧ!*}6*)\l>hD4pP3E/ܡ`xiJ2nkR;=%eg0eҲ8Jcl(^i !kYxS2MY"Nkb3*Q-q!8|t*rL?·\.]H,x9۳9u'Q)Tej;ibvt0y9 r}TrhK"=GYW*eV6RO^G69>"}O~.if" 6_U^jd@UdcfB c%ˑJXu,ms yʙ89M$G Cs n>4q0Tq55EU ]kBLŸp\}&y${9y.Aaմ.4nɅ)H)[#Wot23n)Rc>jtTƈ˩"zty>@R긐ay++ǎOL+}ۍswinej>ta\F*ilբ1f")vdbס&jd򹫙E:H;@e)LW.^rZ=IHhHރ9zz]W"% AщumNo:^ZjDzcL#8z 䁻4y!b\q7s:^X3]žgR |P VR\smԄc'x"v'OĔ[[8&&\UEd75`["w*`\'–Ԕ/$Nm[l[vuGkRQ H /Y3fo2YX&wIl+7GMw/}iԼE^ t 4nP%Q/~PFκ#2C!%˨3aІ$E#:5=<$樳_$yHYz 4L6FIR.,I,f~i?|~ 1Iй qi;0cӒO%FKD6 Vei%̝Y'˂wDY8TR Gˮaы B7׿XSpy)IEʖx#Plk;]bmeH5Jٹh&]_sH0՚]f(*]|u_)`gm`JF4DE=OM?v:# D""z%@t* Ă7W$ 8 6̌,v--/6܂Av:#1x6q\r*4W H@diEq̺M D&|MWf_`HГAkED@ Rulɫ1Nb"Bdln7JQDl.MyG-6E05L+in6k9 ȉGbnjUۜ xv^vƬ&?2 Nuf84g@YjkȗjI"$rKiC=en޼xi%-EJjA^b' oz9>¾87q8f}7mNΣ3AA 1 y 6HAch cT(5&M] V\%@L\f m;'Y,Č ;hDF-o+ap\ =*.P "~tN! JѱbI)Ҿ``/,=aB9$EZL\!QV"j<38^ɯ7ERYI1+lj?Na&i7CWq(Q4C1C;4S Xɩ JxEy}}#z Mo ΏrD#8u Cd.u3N C~ }NQ5dP/d+T)ݦն |fu9BxϙH$逝B G}=S@8.zD=Utg`CrMMGzϾiƷ6*;6*x,Fn~&oE_~!J庐(kUUa[10@g7ȳt1Kzi?0f0Q'wЩKO$pd/u„@obd&f!s8+lڃ$f 0H)*1aLnQTj))xm:mXΟGm`%uq.z]F WK9<}i˄Γfȵ\ 0:n|9)R],pRH6ѰM *.]1ik9`ckjRDH觾$0Lc^ dlbMSՅ{5[EwQT^attE3`wm s4Jo[=Б.‏|}}O/qE$q\q˴#pɬpJgH?7c# QCI%E(#nf"(󎶜akyIw(X2ybBK34[lPцy nfI4krm Aܗ;1*W]F7BMz zM/E#iN,]Ѕ!~b(B |<}J1;~Zl6h/ҬRÌɚXyR:\N\02E245Z`M·ghP3>Ͻ)"Z5P_aZu~G80eP N![7j( T̳ҙC sMAKG˥vTh;(vJM\êh%Wm= IqC=Dݣ2$ܓpNAEuؔfD&b<1uVe)u{rY\.[Ÿ,C>p܌ƶWCv+Rg{chhE%^ --|_9)$8cV TjɃ*{upޫmdJDy[%ΕW{@}R !%9 SIMn"{K-D+"s@h]i;_O14aylu_uDy0p<#Z `4'ٕ>dZ'aTw8CZ_o+l:@Ayt 㘿9."2DYDA)b>blNUZW SIN@>b r=-̜Z0iq)>+u F=٩mou+}"푣)˃eO(iɗ̼Ѥ'Uw_H5C9%BIQҏP )2\I F5Paa]g ]4)S}"5'V;\B(B$*Ÿk q[<6|_LEiYD^vдeLNюAdcR.9{c 9gh-EJӭ%QB=/#s"΍dcړѦ 7pcƻ}F )#KHU7ks5 ꧆ed(S-j]t7E0La$c$hO<ؤJ E%c4A QAsI RJ_+2/PF#K'.{(f5z 2/ 3y x ?+ThhW~{<(6icl Ӄ)} VU(Ziim%C8][| bu%fhS۟ln:wp^6ܒ~.YY)_(r֯5ginͳ쇨%!|v B̄(kYr丳[ksz{ )ꘫ~Y E0gt1\Jxhg$gAƮ[Iѫ8SE =z|m«hԋH'Qlxh!"=Q~k9YoRQKg*IVO sNcJ62/)us@~}$q-m>86=ȖaL,yIdC'S<(lqJCTq4 :˶@ G_s$G#4Xzp"NB8俒,Qckĩ*RT|}Q+[K$3kҳp*YrPG\؞"*ȫӺB#_AxѽGJO8Wp.-Hk6Hh13/}Ö+7/-󻓛NXP\z͈KSWl|ɨQ{fo.qſ[5XVFnOPcJ٩E"ƅWMgԵ $9}fwqZ3pN5?N.IStMMn0DW= $o:Ā!\+йYU0e[e4ꟷNQjõo{8U FG`UIX܅ E&`Tp(!#(*cE"K躭 #^-4gq_S qUHϮ69t!GFLu$^bLg /jb=ɜwP8ʚׂ?br nnPpaiNނ)UokTCp<2f]ӫޫWߐKk 30whjOrF"2EOpa$ocVAsj=] E-< mO]׍HHj(o LZtϏ -)6U(Uw*- ,Z_ZLʗ%J'~a]MJX@i$b8 BdL|"qH +0GKDw f@0JSCpHԉX\/?Q|B-ʫ's_Sbݒiu'Qu^@xRs:nk'+{m6$zY۵Ht(f?sm@)V'76zܬ'1AYYʉe3n)a n f{pZrFc oT# ՠ,JRLrѨvfANBXw%6"qc%jMx'A7B4\kLS1"̫q=`(fʃXcocիY:UjCU:HcYFړ}0J7!g P(;XUt,jO&Lb}Yf Kɵf 5aSվe`hC /nD0h>Kȅg&b-H'{PB qZc=6X`gb>8-Jeyp Yfʟ(be&EKZX+Z]6:J G-3[S_pj_9C)J!;,SP%øurKE".p 倠}﹣0rFqaQTʚ)D e&txX ="xbn\)bՖ"Fi.hOBE8)}Nf%&(!R$4V'HD{F-|72/tM?G5(gԪ厣+NQr NAHUOPct_(xd&<\F$|ݑ GkH.:ahޜiq-;ofzf`&8m=g .fɈ̺V,#c=Q+o ώ1mov 6 8$!d\| X3xNiF =MFAo-W OyU#& {Q[&KI/_m,qfw1?.DbHTY63@zHcާ)>;lN^,%>rHs7#8'Td  uu}yKւc(q] keV"N_$d~3zob:g|&B]J-@.KXlC#(:z< z[i }"jjFt7=@.7#/[212OaJ]*$c0/Pi$6]ɹhC @VɅ;I8횤] _ҜUTk'j-B̞ B GM>2!Rceq- G]K>N%#l>#Ɛ|AYl p6DE]26wmad']+ݨ%ӆa?@̪#.PWjKKږ9KH>lB,"cVj7K٬PfOlPcJDfk%5;L 0,o!J,mHvv}C! JD<.39-ĩllI_uA&'RͧjD8'TU; \G/ң)+$lUV|ߓ~ʂW _FȆ 0X*s-J7܀JZ,/a{ L\Vig/'oɛmObGSB" T'`VUε1UⴄPTL3Tb!BN)Lеe(I0<y9[]Xlua\1͹k؍#Lc+2+Do*j]`t;llDc*ON=xe*&,L {m+[^$E4"i@nZ9QS5O+r">hr6CBz;%Ka3uqpa҆V$QR1Fa&X*r4B G­=΢t/ףK#U<э ͈?yE| Mn'XDih` `NaB upE,a@U3q_1D_UdCXԉD% &zഛ ytSfjyZ!=BmL:Rї}ĻlIP j$&}$uGY@ Mr4Bʢj &p,:Nnof#8qe\;h$Z3|9eKF=w՞]L]K0ykbirErړ W5-C"ZҴ5;93x)-ˬeT'РM*$(T"^\U#LZP0HRF0 "V'-~-iVyf&5finHYk%'0'TԡˑfB1O^/Q߉қVJ [Ww\u]#ȝDHP59a7ݻF)h1!\9=d*5V|}%ᥭNE߇o*𿻭k~5=k 8_2;I4j[ZSPTl,,pCnyh ͥ16b FD9Nj>6DNILHX5G iPdxT2b8 6 pH  2@&6RgB}Nm=X`aj 1"LA63 6#Г .#0RZUjpʹe&VrNs8yݗ{z7՘}Erq&iEFZ/wL/uRcu`O]/Pv3*_;ypμRL* rۺk7wuwS,ZmV0]c%d5Tojl~|hkzvN$%\G5xEUeSҠCR>Ui&s!MuukT5jy/^Cs0 ap5xZ#8 T ˉ`@5LSťи PU)k๣v ן\& Nn̟G|I@Xeɾ̗5L$[Y9u {5A۷+'xsKȑD:[΂1W] ;k̄=RwՐybآg=dJm$ BtG)U= Mӊ#ぇʩj}EZՇ`Z2;\pnQCaCD9f]3'8۝Y%t_7tP=/2q`FXSKOԦz{i[bbaB/PjWd,mNn(i ߺ  &}9q et@G=à@ (|7DB,' yxY‹1<3DɊllу6ϝlvEĄ 4sU(͢EGxAyХkVx)*hU]l(<fa$)ӾkD쮲$_I )z# {"xR4 \})0qg6=+T@W  -M"^Ҝ/8̍ t OcH~fՓշٟQK/Ims%v ;.z?np|VyoSI[Ar(%lPR 4FHdaj'4"P"l12XP3p +EULnr#a>H,»1uQB3eQ6 Seo+P:ڛ_Uof/M#9UW,'$2Y$k|+~VWG11o;K|*T !0E`w&Oe,Gn>f%Fcn 8ȗB\42*+P׹k=QS #ji%[ F]^V0Eŭ w7&Z>\SOL v4ц^qF2G>nVD_mx$7thGԨb2[a3MO =@_`c#DbJ&Ɔ]֪RKT4]TB"zjPVBsۄQ$R6#QȦc_:5*?/? s-"EP.P3W'H 430Y2/otrj77 5цX<{0 XNq2@a7w4ECE~@/{H"ftGQR"gmz "Xhx2z=_!@^ Yd^̻fr yʛ3Pre:TA T5Za/E_QԢ`(FKwFVĂKc[NV8MV#6 ɂ64s 풫&Ah,]Vq2fI+ﱴZHNzORػAJqaܸ*!&P4?oz'X8P,mʤwdcQIC땒eQURJ'᥹&6Y\tt_-k?KH'jR+{U3J̬ozh޶Y( j[y-\TS%H+iS5L==TBijRAaAS*珖bF ƕudbQ^JMh#`Qk빬"8,{4Ю P ^/%`VIk xx9K#.5 %2pOaRd9Q*'RHjX"?E D˄jO9ׯlm`zI *ES_cϢ28",8D@Gv޵Ah-NY cǜR$.4DWyv`/j'dcR2iŭ.1I& Y 襎\5l>QL(FTƃo/X]ͷ5._[OAmleؼ/iQKg̯433ީNun'6ܬZHֶŎI;˪_ ?k?wfj ;4itF<=9wWEm1F!*B83*lByN5ZdLfQ'-gDX<^Z"Y#MK,@=@gvAK`Tu0!0t76\f\IJ2_+'yqvM|U0,܂VtLTtL #J%CKBͩ&ZbafF\#a*`CB}!sjc3qyes2Z=i!\|d U )dB 6ka;Z h{?ZeCSj?-C,Mq#ؾ%eS0e˱Y9C6ٖXhQƔ.J$"vzgtR[W!HcHZ&$f^)EL‚4| 0{Iq5&jPN%G.r$!{i5+U;A/Vǣb5 V?ص50V*,KŌWW˅9ZRyq-.=>/N-`ZB3:Ξ@JcrPN AP6u\v$X,D*M7$EI4BG>8t%,BiWKM RYKexguL`hyY4AeR&U HFE~,l{g!! ֗D8FvRKIzq+Evw+ys? }9`%2tJG֮`[fA{~dEץy!_DԯcUrqM&3UyL#\l Fj)[JWGd [,h}E32BTLhOg~|U-MP頣KIH=gVrBZ6iMkOH7pY=u|BD]"#<&.# QNd0J OT" LէP~< CuX mx%%0gԦrƠX Z);&XDW! [ w{&iC$ԷPƴS8UEL _"-ϫZ`{ ݪ;i " V**/e f Dbӑ򢼐@)#ݎAs2jVQ>"G=]Ŷ#pT 9!`GM0Ͷp#r4dSС≳{ kT@KbAh'Un|<*$nL(kM&Nrnj)yyĕ 6'u>  Jߗq*2琽w}!0yڿ-Ll[#Vqt'DPR!K_ \ En)k"RZrO1&E0s) h=1T.^&% i-f*)&nAZ472 b7PTbHTIs{rGe ^% ~)04PDžN'߃OPbGzK❵ǯ U0x |]-(g(ݞ&LJb t4&XcO}upIо""_7Dh6c!i\cTk *H0I<8x-趺:~*c2J#5W#E ^B(O}gRqK ^khZ% O]UBet2":4Au3Ҩ O¶<`Th*WoBCi#9>K d.lsbtTvܧfC ؕF 71a~0ɣgE,oC՛UA_uK-hU* +Y!z8Ķ:Hm~h,=wK!AMJFzd9j~3aMP r/I( VlnJҸ^ ƇEor$=GvkfD{Gx1j9OKӱj͒@JfU8i{UpIA&Rôo+7P\>p:HU lD M,L>A"#A-V2/Q2@LD U۠bZpd>q߄3MRy'7) 8vO1Du"eM(R}2*lz1"+\[/TQ'iA&ljyN_9 OxvL:LBz){~dswHaz郛kJ}ieK _MQA~R !:Z7#_ |A#TM4RKh4ɓ;Z)bu5kh,VmtJWsee C^MHO[Bd_JFmo',d&%,(Y]#}a^"@`U1s]mu(\4 hڦTnP^BGW {ꫵ-deklVgjjҲ^)uj AFYі/+>,S]V0RÀ0C#-z-"lR2iw$K^]2"?5feF6G<+5'CtɄ6֌ Qcr܈DB߯hgF\5ݗ!Oz"7G剚r{<JLR2$2jN*gEgR.je#; 4;1 HLn;riۡ-LR[W':Ni#62:"P+/xKes ͧ|LQMxѯ6 /A%C~AX:1`q7TUnFb@A&1 xH#ʐ4I:s#D{Ju}*ko[1LMhr+5sOlV}AB(l/m*῟&Jf\x@GR^[RG:^SE@A8q}UjՉ-+#L`YN ISnL7FMC?L.!fH@._ُJ,Rd"ْ%K0x6VU.6KcYx^Ts]߃,irTGW-nr\iVDZ$ȶFKPqnt6}K`<3,M$n'4.LSxU1&y:q0A-I'^J@ȱ!+0ߜ$/>"gZU^k sD.RPK'{h'\@Ը6'DY('VmΊ(񖋚22E U, ѩ[Q ahoT`4P5j(Cti=[B |ɲ3(gZ*D=;ITt+6DvLkQdsRyUD``F۶asǧ7D[Q| =,WQ8o? /DqgB''a$b$1Rg촐h0\^%Eo`9PDׄ2`#'MkqQU,̭4H"r9D:LPz?:ĝ3̔O;͏I4ןt..W~Kn]?%G:g!Ƈfdcoh(DpA]df<]J&Cc3Wk` Ep4zE̮l=v{ a D"~h@{}JnI>|=d;,{V\QW^48 ?̦ڧ]DG~Y-eI26݊NzN7>d6գ.~YTr%K/ 2EKcR.!fq +D.pW3HiM! k$0#)VQ4f[|F#8^)O%UFsA;R=d+hফ%uҗ,< - ZfYpOmQjjz 2a lmVgЪ=,E5瓴OS,S IoˑH^ry݆1=ʸ3L S) r草Rj;zv(nX5tov,_yXZIڳD0i"ZUۢB3rȥ%㉼DX& z  y84>X*$spcƥXblqD/~лW{Mh[n7 ,*i# F:tМb.}JS.ir]8hN۲/J- x(ƶ?ݢڵR&= i)6\ʞCy>k-tvrcZ'uLB8DuijB2A;CY9VRvseթV]\#hšVb Ԫ/]{:8bш/JM Mj'FU œ;_3"e+Xlйo24)%W1!5lQ!(DL'(S(} /n60r`]GY 7fUBD8BHzhHLTS%hj4h4. I4vz#^D"N8 {g2*UʇFߕjm_bPi`P^Kvdg23cӎ$Rfj%ɂ:g>0OļK7]j56;ja]v+d6jn2ŞRmk !:BG+X&,%@T׻rBFna0euֹFя(^@@:-2vk@=!U,]&nАt`B`V@)$c Il3⓱d(S(_$!:$Q=\&O foc{&/3LA!4LQrzi1B.ũ fԠ$~-L^U%yZ}ٸejYET![1=c PÅnϚ7s闈!%퀥6Nt2Ť7.> >s$Vg >aYd |Cbn9 1S G hz3̘2U^1sҀaϢ<CKtڗ pGP0~!Ѱ>II~BA !r>#xF: 3V ߶h>r@ yf]A-9 ~%d|9S]TMiҗ&)8bՀA*NإJ -W,xGގrRI`S5 ɡʛ3^&5+6KpbZ+rL/֧g_5铲N*ju2u=vHHs!3橱x)lNF~u+H:p!U9poRO[  q΅WeO1xE+HXC!dЍ%..l`!%V:XJ7]L*6DɾC#`Pw2@rsəMcRDg R#<36lj.t5X <ݝzAC׸KHR RpTb s=\h"n.^5)9+^ ?zb ߠ{𵄖  VЌDUhy%Hщ9~au30V\ JL@H (jXDEoYC#Q$R+_ 6/ċct%^_e62P-=cnIt?X7FRl55LF*H"J$6l$ka"XufWQI0)G#DžB9fDFV,pbXa "O* rv#VZn8.7qG3 [A!ٕIZ,'2 Ҥf*r̀ޚU#S&ӓD/ _yό]Ģ& v:"`.Q 6[aJvheGp9*"v`Pn3qYܰy1{tVb2Zur+bp^(Үg(Y}"jO%fQ~nұj.) XR1b R;M=dMT5߾v x+ض. kc"{}+D\Ht'V{Z?X5B5ߡRȜh9 (ɨ̼T-]#.B~܏n  ?̿c\HNZ[cQu54yo :ӫ:;Z*>6"} dYP ĠpzWH +A[#!:~vèԱ CZ%:A>:4ڂZtHNQuGʝ@v=%bXۣ1T;.A: 'ԈMڧW,`JiG0PJ}< Jeѣ5%bQ D~899tTjWiLL#3#Sv__lOׄNCr _6FHz<,T-m?vgc1"GPb6bN` qaĚ? {5$qLv94Yau&ж矼>,Hˮ~]}]].,R>ƌckui \TfT8 !$}&8Ec0Z1$Z&3T-2ٴn €v )-PHD" .u q;ĘN)dh]~"Gm&ħd` xD[Q:f&ec0-%v$1dNDS 8,~Q!0%z?,da7xCgNcz?_zrx{5KO pFu[##M8ZVrҘ%.rEbVz9&s0󙞬6iI;V٫1kv²?Q >u31jvp3Ξpk17b`e [!,䇳b&}t:s/0Qv?tP6n 9d-Cć`[Y͊BU,]N-qqh#7K5&O/Woɥ{'iv5S@lw$%!D|(<,@ !a7EO(fk6b@HC8zӇ4e %-X">y\0 bp1d5|:8ѣݓ^0f5$&F;14щϒ7;f#O%q8 N^^ڻKR&*EritcD\V42GhX E^x.d`f7'<2M KS$vA0UNZ\7$&4hxǗ$t"d7Қl߭ˈH)+SxRivx0O7QaCDlrgSTr&~~taӒ2IC+ .!04^ۆ`."#Ls@s..阷>DǓ_a߷P 8&=2%8"]$?R7Ɏ0 $^BAyXt;8f@1p<~b.۳ڣ iIڧw$9FEgRM.bA1ڴAA4Veˎ+:|< FW"\@ȉYӊ,";yX!o)G~H 18[BҚؔV{ | &,J gKQ 1q, KFLN\݊\+llv@V9MX~LאB~ŏj5(}ad]|/k:R]ׄڒw| 2H#BQZnSOUDC$}gF2&t,QW>j sMnX̉r-t9b=iyC* J/5N SzT|Kv'l2i\FKBdh,8T@5CTSB<m&u\Td4 TE-tDlʹL$r׋qyfvLQ1;}(*hێ `D}.y*S| xl֮UB媱~J~&P4ce T<;KQc̘ St#2LO HL:EaQrl$tH+X:4HlU?F?|?"ťET, =XYVj\FXG4&H},qqX(Ճۘ.ظE \܅/]"?H;&X^[)ԒYP೉R]W|%|2zlJM/ijo->Fq$,[JՍRr_sYq˒ǬsΔQٴ֎-4J? `l?񫦇>tt9tQx%ҕ̴HvĊȚI|yJUT l{urŴ:1yu"j.XD/4aΊ- S1KҨ4wŗr=j@iʗ])2TZ.#pbPz+e!_ZQ {*Cu-ƆjݲI4,ĥBYL`gL[hZ!+ Qp`tu"^E>Kp1{UXq X$kĤԢi;,&!M N) 2 ?divO֪صdqRWnbя%S+591jL$lIGi__=|B*LfIשqYKd0C pgkTB'DlfdFI 3Ki t#0i86]!੅m9_(P' BLe#& ]a=3\!tA1Bp;+xbQ!:F| F'~Ruo,TYo'2F~zW§Xsw%d?,bwgqR-1 tUmbB:616<(oQ9NElXV˴dnQ=>zb;ٱۥV\-:Ek [q\X$0e^ AzQ?Cu$MEcH~ntb(hmYv+>~7?/ƑykZ9p@`d"T==/6er(D1kY"+"qDιςk;K5W'V8#D6c04,^wB\1yk3WI o.iJGҶ;XDcOo]oT8pgŪ#Hrҿl`Yti #O+6) ]Wgklp)4Ĩ@6SWuJ 5?5ٛbO*jJf}$b&2j-Ŝ-ڱdtL>`XNbԑ!ur"Z3DlJ3~ @Α$ӫ 6\g|1?<1n(ߺ6gIzzue%5gɟxO*5l,SnW[*m4 d;k}?ʫ1| i[4g<7Kp Q 2YD# 3Pץd6H,K5 Ӭ1%Eh ))}ɢ}=OU{ϱa5[WÁ곖H K􋞦l%?%tC(lƪ37v#3NLEd cz!BG_9^6oNl7q!2羢ڏhV/xI$-IG9\o!/\>z/`9`965OB +e%F4Gn;G+#v,=| -bP.H%F/qXdaChQ:т]*'xFxFp0+'Ď앮yU/`&H jZE )6h`zEi[Ĥ 1.$3++54"6b*sJ -!VڒCvl/YӱI0/ĤВC;&?NJU4ZN'>/cŷPޠb4gLg?AJKL=Gs8;dc *WllgY67̊bV\Qx-Xc *ڂQ7 ҷu\tjDhwQfhlĐ>85'D#h'{C Xɲ ^;rȅDMv~&p)5ި`K SζݾcP;Sbd *[# _+ <[Kf]Z)ig}dR_c5aI;m'0SZpDđ38KbnCUz>FJi(%*fFTT@Fd !?5Emr+;>PTN$i؉SiVX E(ST8 o_ xZ@0)iBC'&C--`gf%ee'V<ܩx&VlՂH&jg9R'+Lzx6:>vCk[irR[7]Fp=֭ztOWjwаRJx^ϱ!h!]N[ܳ`)?IYA"'J(H2R -IrFr<)J"]r,V23фt!Oӆ Vl5#-J|ᘑ"BHsm,7F2ʢINeCژx TExf2KI ع̕z _T z05AFǣE_eVHr Sqe/ vUء-)5TV9H_0".B5n԰c:WƇ^ Tr YpGׂVS?]!2vNMWْVPWA@`3l'BZ6jډ2ψC\Kۘ2/87>m/&Q$G@5A!^R8u~Ԙ:c5@8]DN(GIrвZh &vH*}R4orEz!EZH !=>$E1S0'/J9#JP!9}+L#Q11^0Nz{NGHt0 3{,M\xNX"П#[~3e#z}m`Z"U77! XUҪԼJSe(G *xlO.ywt 6<ٜAI9 hH9TbHpZiܗ9J#4ؠ %("!ӸI&OKtE{E[:n}/Ф:7ϳ<䡊v*vF%أ@,\B7|dvh!DIm`)=qW0wIX!tqr@X!ə!6ǫX1y^BB؝] J,ƣswB% g6 a`@ 0@ J+`cE<5.~}C6PLc28y&C&)3w\[E d_QӠ\"wӒZyvedUH ̕~eKn~r;@3T({Di1,I\%Mf*X웘4\ͅ%Bt+3E?$gPϫ@uZ PǟqtK3'!adXtYΛ~@rɨ̽" 3Qkԅ7i8 I7E"MlN^H׼$~Ԫr.质n pȑ5_}$=sUb8ALcEC"Ll-c jJcXeд*lz{Yqq==>ҁ.VDCѷ r qCT&@vƌrCx°OiX! BG#w4H?APS̳^OPȳ`:Z(mkPX Ň-Ky @ǜ/Ю2\ {k#7lwm1BiN-$,S"_ ֹ+r#S )w=3paB(L/KݯfCz= $i eQ+h%V#TaX1?O 3BZ" !(ZarɲCQqP ]%YߺSQ;M[y>dPk󊵱DxU#x.Ʃ$8[\ʃZPB&Z~OKC*hG57 F WUgohF\B)E5=A+dE'ydIGQҬMn<R βbD (n.Ih !%'KH"+/ Bk0SDq9Ć^[:k­#C*H7aJQ]Z+9\.{E0͕%! PNХT Xu~BRRȉtRnz Շ 2=h"Pm,Q,h2J-b B+p 0J?I+a {#׈YQ0 Q<$Ptg|q F8cy6 >C:7i?T4f_^MXP4u4)?r}шJ{{a LU\wb W ,$tY,o~b ٢ҨL4Tͪ'*.K֡u]՘im)G\*#8ZFN-K -%^IчlKFδqțtQ9iI _~NYթQu/7] q{dXMbL\rI+(f3WBnb=hq&T5aHOi$qzjD[i}LqN$luhYmFk8YVnm1˵ҏs_H`:]7ʭc"t@aGvjlb;3*fs6mCluT/%JT\y:-E(]1`}M@@ KS$gU{"O4zB4% yQI(NZaz7l& h6pe\5&@P^ϡɍPi I!5b- $ l,XyUJdQc)@[H3j2xbB?D(^A\+cY:(' 2hpEl;6omcn2Zru~p윇c!Izh)ډdxFXiW+-*׊'m'Ehj#-"1kc\{]lg/lspj CGd7BŐ,eߥ`q@ `r ҃*:&BpI\@g;@J`tk?YzL&Id%;Űۥ[$y &9E6{nǕk61Z2 8 PkC'/ zԈa@<2ZKL 2(IvaJDdU]>)<$m\' R٥eJdO{G` Y=o$$F(S=LykJ~|r6kbr.uxq5~P# (L FTf`g oE ` 4H tou32gWA~,K1I*ZbteOp1˗Sʓsu%F V (`p M"@['qar `N՘ U p{ (1C:M+o*w WER ,7Y3W]wBUHӼ3L$:'lFө 3uF̡h k6dF:۹! A*7as ,ard iBla@QQs@}G%A{\&FS}^7hefFM.usu>S9"#!U$Wr9rmT OTIi: -MtO#"[m{@k9(,,6uX cԢ5BDcHkMr3Ȅ>@=h'B0"Bb1-;wTK]Ӌԓdx[v:-&$vaȟ mLdQKU7#kSq$9-4׸%1eH"F"Քl!g #DPzCMmq-9 sNQcjl,B `XqT{+;b$ Qlqg;!YmHK0JHW%"TF)+  h)3Ab~ #\/ܔ#tY]_btͭeY"h (=SnVYIc6K̭u2u8|QQnK4:Pqg{%Ry@QN`08/ CУcm/ )>l=[|?CHݱ$ )aB*8KV#xIqPnⳚHMF%9'LTWJyB_#I"e0heh8g,!a;bpr֠qx[)duz2phʿ@lAs+94\I [q—Ag/ăy YF{YCY?J". 8|:LAぬ< ކ4q ?XQ!VK/+0~~.obkK'|[*eZUu e 7Z%!,e9 E>U$K.lQNfa.[WVYT1PM%U6a-_q?$f2𯐪[(%c94),l[F^m嫒"t<рc + #XN>7bXD0PJv a?Ef ILj&MHjINUt,.B3.Y Ⱦ^xG /ZeEpb% Bj{:e/q:"mgܕťQgT^X8wqq%k`qX{B_ϑV D%JU>¬3J4DX[( ?3xP*һq?/3[gqYZ!Vi\B:K o^iN8zWHC4B*1X(NJ?xt\DԖiX*lSTO(R)z2zcr@f*zʑIr2GoycÙeq#O*D@48|dfXIUe Q4q,|6mښzKmP r8?dUt/CH60]gd XF~sS;W&co'g,ԯ@~f'h{|NV׼f|4Sjklꭱ>$AAUyHABv%7;flԩBTM.S?-ˊ|Y2rBvDb:k}$:4͋ʅ]9UTSkX3D:*rkz__vPP!C:8,\tJD+ 6GSuW%dvL̦8o:)k9x'd7>E,ߎ@ ;/`RZ꾋Dkw$g^'@L.Ot>ӭ7dEWPZ[ec59MEeG2$ 3RI+d|sS$;?? K ͒%.Ov?{Ԓ)m|{(VO4V֦d%/6IE;\S9! )J\y΢P&Sa-Y#!!QceW'ژZW80PqUQZ,Ҽ>D(fFd.B2L4Kr`JR\}٬ƒLke}2+<;."ΎOFa]AEWA]2tsiEDv4C{'\]aˆNK3E$qZ" 蠜ܐ䘬RlJT/_nw 3dȂO4ʤZ]1Y^3!t/fC2\l}d6Kut|.7k-dk p7I=wg㬰j # 6L$c !YAUL~MX&s+VĪIs!O*HbZO=.,&at11dnD4\1D_\HҨծ-H/]^>CY$l{1աTΛxX*/rT+^ ,zݓ/#X>Xjep`%ď> A׉qxd̏?tJ$, )`QG C2hF/>OYBI_^:JḞO!MRʳ-koYP=gP9Gʅ;FFgi\.Q$s78sNVZ "q&Z] V\\3cn/+sD3#o9ޚ|Th}Ȗy/#|%:KOtꂎ҃ѼRJ,X*3*ksޚMZEjOO ~a4ch:y* [GZ8D(:ΈBl4?4K|+y׮~ );#PVUbTlVzVkV|$"p@PpB4@wǑi9#Q\NWG?=d/C;Z-沙* 34 ) YAHs%h=9c\j/ /F./.+0F¤|02ZT Z0P<' S\y`FfPBdW75XMDDCY[n'rnн0V"6j閏Gf!=Tz` `g-Dب ?f<B4vbDOjw70,ϘAJWP4N6JtVBk:v[ďyDѯ5 LZK2"-177WA&T* .eqN%Q(UvB~_ $) an@xtdO<=|J BD\qZEnb@I үEBT EAXTV 8yITjɩ^r~3f+e'՟q<ֺX/rW9H}P;hy! :P3 p9(ctA?,teFf304Y jry|ua4B퓟EKoؙ{adgtiBVE%qGCһ |ʫzŶzҶH D K\M@Eurmdv "J#̼(T]<' L7l,&Njn*?$%; e25&`D9I`{g%OnBڑ+|Kpif_zJ^v"CF㞋gTdP$Ns6ebUsjf23!})) V:\/A/V%9kDų\ y&|!CB% NIu$#Iɜ|ʾZ_4<hN{ּNcpJw7עEC*!S$p%DTQ#$ [HmiF!) QR})9@gكk.BK/FG_8zG/*#|AL^.#•W/+tXZE)heǥʋ)""ՎMPMgpလxb#CPDǏ&]ˑ$fOBC|!!MG%bay\904f3mi 'TH˄48Xfآkx1Bw+)%$,SOH "T`35ej ]5.iCFHhfU3D~pCa' (6i䄙L4/0@%esTQ u"i\bE] +Qx@2d`DK> 0( LT5*pБ *m"k/UC10Uc qbdce1+\Tb\0H6<[G֟o ɱ{aɡ~irUEؤ "Xl|oXAEK:1/;TOjۥKei􀬄Z)L>VU=߶OkTl>ƌp{H,l&%!MDctAͶHb} dZ%Cb; x 34"") D ," K1`)0Auh0XLOLI)W^`dwN˦tԴ7bb #OJHUgZcSUO~Zj*B^ɉ.*-j<|HU@pp&> K,bL6 h'JV]-S'Y8dD8g&,ͫ) (,nx>Ù1S8 %Zw3Rb$N2*䎈l.?|g |XfAsS,v\# N:72dfy:6d%<+1!~[.)A󅲒3dsEWjL mmZiVdgYRb~Q+%`iU0ZA$sX!3g:sAlkze/rnM^^3MBi(L;l e@+ɍT±x'q& e͢9-ue~ O,߾$X%/I%肦MîSKR;Jtmq CB3{·G'-nB0n9 d62bƘ3mfPUSk7ūD.Nzj8GtW[')L:KRHЊS ^ 5!-GK}{}[4=2ĩ,Z<F.v,&,u&z/ZK1F:/dqP(Oh#P9 O?jOUMpV#=(sl"/5djl]>7q_12 =޼i{veV{EbTZcC')|X 猞)h왩1p{B'̜͊kKNFJTDz5v/`;?#ϝLd~]2 3e,Uk3bC]ѫ!9%?W+u)VPq3Sr, z7>U !*H\%#9BK Z[el\8]SuFK*NfėlvD=$5&w+I71ka>Tjr,NcKsH-^E:Kh;b p5$7Jdt;5v{h#I_3UTjKbkڻ<N0z\VK@Dԙc5LVA]AG20\c2-zL4S q'pK4մi:ftagVvppU![c41*gB(_❕%!䞲o^!*Y$"-H#\u لi]4-dC UY9-PQ_5< @IC®ԧilVJJTf!ʊN "8]j>װRB`bȼ/ xlm;гr^j&ӶӉn)d謠Hz˙ETNcZ*Ӟk6`|h(p(Ll6zf_$4VSrHvӮ PdGDߪ_2YJF6uB## HnzdRem-^谞K"#^XZN~74O9^9[BfEQ/$+4bS(5X~BX:RX~VTf%QA`J}0<,;; C.oLʵ #j#W\pp+&2h[ YIk+3%&I)dGZa_e?3"4$RId }hETPóO!IruxȨM|+4:`0Z?zj-F1Anx`EFZU?Rb$^ }b;rYiW7ORRFJk%:{"e.!{ohdGeB 8d=%eRIbn325`01!bgjDOgw`!)؅ HB-p(pNK7 Y\ub#b0 #:~K=5Y]9x'I"!|5Mti;LHqRTW\RbrAf&&O (P BIMxk'4/5tͨp 9>7l6 4TlSYMISZl%4ַx .n(M իrRdS4(nEk$H+H|ZSIܿ❌uGyT\`M*1L^P}S R]9kCu3g Ur ) 摊Q F|@B} !_W'Emm$-.fKb@u6--ª"yU*eUR&w$◆ JnڽOҿ }hEXM{E(N@R58ÕfKfޱfŸ9Y=iɐ08nɞ1-| U7ݫwJjH3̜IۯbX&A Ѫ2DH84,1PCR+Wom8z")ւ8~/+bJ#rԎ)NhkW3뚣)hG{iž/u*dwp н!ړऌMzޤuWEt[wNkGב8!N@)'lCC6 U2,Vhȭ8hѹ/ D pTbpDD=o). vkuW'OMޜlp|^u^F@㧅`zF騴@xTT22*6-^-2+ ޽K!Y+9qjf;ݹ[ H(h÷D0ɨ̿FSp" lgPH(ء0XGb* 9HJ8f8hB?ajddx$UTNHj[$faҒL֦Uu ɕ!+n,9 n.FGz+v>R9u@[U 1 c#r\T^38]+ĘRķ*\#rb=c>kQY9AѰ+)xugt&bV ? ˭(ŝOQ98VOU*.vE8 3+J畊L-\X:SBCgV hgF`}KҘtv3k N",¥& HhI`oY?Mpg۽CE].qɭoEMY ?LW?dfSeUFqԹvY*Κde*;"Cba(Xg)k9I#&16RGm0#b/)9lFd#?qU8]9RZUj|P %ںRDz]/I[D䫿eBŃC@"-(Pڥj%qJJH6N¡BABæ5f"&" U pz LIL&IhYjT$tDE, z& (,xZqXTJ-!FR k?EFR!9+CHrRx;ֻnKgH?F5Zn2c 8(XA@S_[µ a IՀkRay=bUd$iJ#-dK-feOj-}CB=>/ 7g_JEL>io*)A"[#&d+ŎQ;a%{y1kĦ:HkiەINMr}oC[̪7PC2*!ViĆ|SU+(%\- >pMխ.2mEi:YF+f<߉ݘ,0`Iawd*T:buT^'-1vFpf2OdOݡ1KD.D`|(x6indˌ2Ǩh䴌8gԱ}192SDE&-j\T{&Z_EReB)M^h09!ҝ+r8$x?,Eq$ONohOJLkjaz_jIz.O.'|ղj,JKV&1 +ޯ%znXt~h瘟%r{0[{At슯B#|:p̒Uj逥f\c@oV3,K*,KY+OXF'Yn'О4YDudp]PF!Queiֵ B!% #&dܜ =FAB%qôTIw3oBU7"/qqRh&fv!)!b:}5DBC%kKcDUQƯUBTSza%f,ƙThfTy z/_ӖaAl Ѣa&m&~io?%΃wc"]`lͧJ_י11ّ6eKԳHoB5Vj [ nN8<<3,LJ"i X[Ce!d LMw$_7tlo@R'TEn-J4G!fD %!42ɚ޶*JEUgDBFyA:nNYrޘӅlCf쾿s+Ž$`*n:>.$~u*<E{UQ618rMlhg;iM<&9p-%Q4T !SCt9$i0dF`@{*%#"$Z;,xZY?:|<+6ELD@jUr_ #jp0:%Z&TAH0 ЧݚLn HR/'hxQ 6Ńw}ECObr=M^f/~zGlYIXd :۫VMcvɊ韵$)~V!<fp9Aw /HjQ" +FQ@1hB^hOB0.I &o`6^L =gzڛpjf"'XdNĄ9VNOKE{6UB4X=kR7k\VQUPUVg*cE:CHQ/₴M#<( G^8g3LTp B|(ۢfZ:w@@P#.F(*nfQqACOY1w5ٯ6=oT7Rd%]֖sR{CB z﹍UcG,ON"hqV1VVΘ|ġ cG碾)>;fJ7[+T'OPϠ*B+3Krf.r,#7G R;n#+('l@q6( TvB r0 X`Lq tȟT'FFݴm2v+1<%\zUDTbEus!6Xv@7ȏPEoOF]PܖjSrҴ Ls)E`ED  ̰;F۲yd DEdhA=d,Bf&f*M*5'59l/ub&I岉[Z1(=&RI #?׳`%v{bWi D)EަF>$LlnI;{ĄLi$?弚kcbD4ZoD!Ar!. DU#EN%ϑRz 5T%J:J``%LajvL(\؊I_91x-v"|D /#b25a) (,ۊ: $B|Ar6J𝦕gKÕՒ61,p_(J+:Gέrb.hM+dE8oQ| $0H ^>\f$ VmOvntmi%\aJź!lSJ#iDZW6K Нѷۤ*Ղoӈ8볕j1"Ah#V]ލ&a!C@E\@oj+1!nJ+=LN 2D9DTD圫!c6#7jY rRIIyKmEZҍ5|;4vĴR%h§o=vkB9R{F?;jo ǵL7rҳA}ʟUmvQӹic CF'brjAkn 'ޙ'͞E%!7PAp6kɐ&_HR&*$Mk,"s>$?jP SZ]p'$UFQiʽLq -SD]U/]#y7)rN;x$$CaЭ 7Z- o MINN*ƬlQ& t gȣb|6 hNS6vGs*9JGÃI7c{Df)AWQ;Ƨ0ۍ$GB1dJ$%cz9Rb>եFKK7SRa*}GZO/{"X#C+P0neT 3*iwi`VF͂*oR?5Fi@B۬Ġͼl47&^>\BH ԘBH!f4)$Aj,zIysWws! VD.j&fxN[L:BhzL+߮ VP]W\T?lTȳxl}au~+:Jn7mTȼb^.è% D&P4b"R`v8VOG)byD5*$#nB(؊U nMr;U-Ohb9$'*3$Nf_B,>?T #W$ =n"b6#3Eq {.wjW_JYJk|HooPx9.1풽"jCSnJ7(*ۼc݂ODN9q1M7s,H')-Iq8'\U&<ʤjݪ!iHkD␘p"!\X%hDbRɘla'*A`̂U/>u qXHD4֬Q auqV`'bV_O /vUɿNyW- ůn M؉ӏT3SfEن蹤~,/:%[>(8Ri$je8XiRi {JnlM]YX!S!:Y#YI:M3U/-BBLݏ Vb p!YKchH E%P*~_ i = }lN^) GP9dp-nF: @L"&BՂeN2!yB[kR  %WrChd XV{jH1Ĭ[BȃFKAW|Z3O|DX o&NRt'SSD$n*7ƙF{#5/՜Iӵ eO _c:=*o!u`SYJ0YȠS; $do8/-zc~:/v9x:~7 zȫݪ^#lhdN\6M$Х<ա,>im%ÑePY2?(R(oez?%hlAM %aC{tUD6H`"SAHWJadõڏ;:\{M1?lyj\%<A1a[b YϿbBJ`Wǫvu]G wWDz3'lm0] #~Ԉ^|)iHa'a*i;mog4;ĉ Bvیʕ>9 ۙ5,Jӻ;(Eb6,V 0qjQPy%>| BA+H AT8-pH &@=4OjS`/\p (`@ms+Nj3nI!J \)-fﬞ,1Eğ*Qg5Ɉ̀dH &믴=6zB`6K4EHMQۚ 2t #*%,#px,N4/F8No-`ch* KACWMaTYУ圔L)Ƽ$Ău\wp%_˝)Z*4(Ijd*L5ȞW՟b`ڍy3D=m#+d3Ң1Y~^! X5LwrPI>|S;ndGW ҵI#TЪLa0 І7fe5w5Asǽ$8q)9؎@$Q}g0$Ck#CD[ fOל(,`bbfEc "\ ѐUr;KRNɸXK/-'ĘTׇٛxX^bmDo{R7<뤃jV= vzCtpd:V!)#ZP$95up4}wu\zC)W߱Mh,#R;c3aQ&>0c)RSM@9qlJާy>cAyʥ}I v (+ %KrK@/"2x`Q" ub$@ѱ J) sRQI"-U^x}H'QooV#$lKc(j׮ZbƗ&CVUXͮr*_fN*]6M3F pJdDv-Z"G4tTXjѧ5?} UqZ',}D?F7bН +? @@ifLA 0±{!Ϩ?F! CiETZks EeG2.F?H"z5) EX( `arAUr>Ԕyz 7UsiNDj>uU7eW}I&:>֨"j+p 3p|;cYdG 3N4y$(+.O-jĘ_2daaM`Xw+QC5zF&8NMfT!+D 2!h[+GS}| 7="bP{~ <\Dǡe+U7Jɥ*,c.x(Qt,^ SRe1! CaP99Bcu>C3 t PX@S^O(@sy("WD&t/Z+ыDG 82^4'H⠐ءm^E8j ]&iCTmO+ݔWQȒ{3ګ ѓvu?C ,?%j@)h@Ó3u BLt#BfMw&֪ oPe& *|W@i NA#Ji:Kzd)v,^_Udm1 Q 8b*#@а NXץw ƘsJ^PiުPd#e9eoHK>JNXil|m?nd :4bs}۵s^jC.fPC[JJVAN_wT%p$&y Wģ\RMflnBŮ98!)'@@!~ œaP`OaItHH<o.Ѝ!EZ"m_AR=^Lp2$C&u[GLIN|z’IC8~ Q\opDԶ^ XR'o+#jb!oQ&/uOG DÆg]6~/ʌ}KuՑд*O壡5;k+vߜn[ky:+9HiUGqUo&,+8{ZEeT%$ 0~#'J.t/|QD((6lۅ#ֆeZfb| O *<²O/X}]u3MwlaU,EFEKEe^ljhNMKlU^0䭢@C-CG\hC1F ;uGkEeU}gT ҈i =}l`IaU(yP[@(PT,үi+"BA̎Gqt}dzg){R)!jS)3I)>]HU҇9ʳMP4ML߬G2'/@)jP`J2gb,,de |D}+.ƪJ Y5.;P_%LTRWε 歓s"AvW`c}i$Sf]X.^,j,_Wa&C:IUy-wY [myQ3(fhG 6#?@i$PC*۽ӵ𜔶m΢vM=f9JJ”wqJe=L4x(P0#*HpԃUHXXѦ^U1w##tPh -y{LDry[J⳷lg$u.-"5Ak782  6h1y%.aq$&^I bw&\舲2 Ms /-zr*>C"{gVtpl8MvMAE ">vP~8 iVsz*F*3/]SՑߤWSb8>C#$%-{)fҎ࠵5ZQM6{)A#U)!a9ЏQSug?0Tj8-Jh%$WN_C6]e J.I8S5]3 MC٤RbcEݳřD3ЇG̭ $5#1\lIÜW3'&O+R)5lLa*((r^pZ#1_D]gCE2xY1 I%B<^q{.% &xkf+Y "->͆&/WCM^PI_1) 5(奦G>JVU(6M +u>)QZ Hs$ \[V-:T͐*+"" 1I.L D-BC%T/GvJ J 4hPgM P0kޅ lBp,Lt.bg̭8Ij6__ EuV^9MKpfjb:HvOu^M|k~=Kq A} f:ۑֵs_'V*oXR5&-E|)4tBf+cSsKXP̡~(oJi%|˦aISK'ftnDPV])]zM%LI"eIDlvqCd*凴%e"s 6i-1HU@)6tCjt&kp롑T.:"`Z: ൨r@50Z.H&^ XPY@nꋱZ ;&z;Swkʹõ O9 46~S;gBÕGd%r-}tѵdP.yB(T[ũb"5|83tpFH}Ҋ7"vՌoE`Sce/M0D烮Z#*4b#+Q\\U1p9hsi rS;~lJݾ߷pXRÃEPe?]ұyd Zl) ń$ffQ霜pj~4Mq2kG6Zt|)AhjpoL\R#\zםȚqK!,ɉP%Q 7eU)c b-[<- Ɋl:vQd J2B+Y0䖾\qRti7<%a]5z'@g!`TZK* C1J3XN nxB Jq;I mDFgVXph'Ʉ [j{#gS!e\. ׽=@?Q6Pe3|2T0hnĆSvZmVo\)5hśϲ/CDiw[ y]xb!OzuPJD[ңg ]-`X:"nbK{:fXNtAxR^ BWC)V%Ij!X( !Rq8!hPaqLǕMPTj^cmR-_mkHBѾZ슄cfH;MFZpFPy.MOMCa$Q:"Jx=UN5Y  $2J? Ý[Ì!v[1cZFlvX6ݡV,3$_N-ֳ,vd/Պ~uMUNrŞ?ȫo4$S~ (Mʭ%#_l&WHF{d%ÞN `R46wHej$ ] BB`K9-TX.+ H+35"c˰N?Vv9(bl'D8l+Ȅ!\Ap|'h/"&~l`#>_9sF*[ΌX_"5pҙ33>/FΣDn55<mTj5t} J1J<#,ug>[l"ؑcET2 :-6zt5Q1/ͦdO&R "P> H5 $S&1Mn_ť.k k+oS~7̇{ax|ds rI)*T$Ynr2B3 "IJzpuyA! GP.qǁ_NKA2? D0-)T;臃xA%P"S,LfH#H;S zđ}G^̝ ܞ'ѢH0q]sGΨk5pj2R1L*&Xc#OTy p!Q`)ROɼyAPU,=G8'Y+o]2';~59Hb j,|53W,m8BxO>ZQTXԬZE# ʋ^iev)tJ2R-fG>,'97}im;)DGXA9C/ȗ @??袑 >Ґґi95B[F^kJ:c@ZT%_0vD\ G [SWMr֤-W0ŕϙU ' EХ~~۰7ƆT6\ȽtFRu8QP{beF+R"/5We~"t3:RN}^ A-%5FDYDW'HZ\S/vԞܿA%i#UWi7snDMB& ˧|!,@J-:vf+-xWdbneg8ͿgĄmPwQ)]H."am, ]Wdߟ'#.. _LJW`/lepFẼ_frWLQJ!(Iگ$,2_+T˅P>%E&f&<j7IwCnSzݞTH"ĬD/`E;Ĝ|Bje2+mSĹJ;lkC! V/kx /bDP y~N Q59cK  wȠjxp4":H~c@IWHV [*t MҙB-'Ha(i2y=6{a=⒏cNHic=茀a.J"q %o[bj+*n-2f 9Ǭ$iZ'M S XN40U$_0UQZC$)1';OtZ_yz/*U lG]&+ZwcP0B7t95ۥizKq*)3{D/c._YwCxJFۃT #%8\ &T9gPi._K kͿe>F%RN2o?6AAmRhM!pMp%67$Zx&du[2O a(D+ĢY÷4dY: ܖDdI$]j<](hvcFT56wt='Q3eg=MO ZX)}U,ER[{jXQb) aI[T!Fk.rseOFS |%p5!V,UMBvYaKM[ݦLT5߂uzbbbN H$ښ#l;[UA88DM@ĭͅ0L K^k%{=Ӄɘ!?$ |q*M,MRնo5y JzWSc)?!ڌ,jF({+tPZz$v1y@31ޔ\g,AiTg.(1Fs{jNtikr(TVW'ʑ\O4+ M l:/345uE W3J+/,soZ.0_./֭aiHB^-0FO8 ЙE6r"=?&QlYm`ol1(5(X%6YE!dvq蒒I7guunUZƻ _nQX`KAwR 94Q0t߷<9YK-M‚Ǖ+/~zWt*2&t\!bqCe@\CZ |)0+,H6#fEq͠F1)rAbAL ")6nC<W)/1 u|!^5K+Gͮ%v ~+ͩjf9#[EqT7LeRes)|C6$ wqkWkYS} lA)tgr إ5H&G*u-&VpZs9ظ ECSd:m c O-+e1zޒڑBF۟Ijmǥҷ6F,2d+.OJV2X0Ј\MT$T{NFH~5v1]mk>|\})ZKT.j3WyQ^7-MvJ6 rx}* 4Q$Iin=_.%QՖ/숩V._:zl3^$ܤ NWN!J7HantZr~^B<&'9lU HˡF.(<V '_`pդuo("% Ky6 lpptwOELD"sF1e9t(twI='2v03$%"D(L|O#2{K3 4' ,b5( Pà'3D@L\yB@n5 ։ _KUhs-UԨUG~ +z^ ?G_紳 b{oy,kgoܓRC}m 4˹mGkbZoa'j eHUH' .}tOiV`^-4|/0<+9u$+8>Ynh̚D 22cXi@ o#tcmuo̻La؊R y$ ]4NbK[C_}ogkjU־ͤ oK(,1j8.<~&0P8tda+p >2Dֽ=H\ihy0):NV.bjTԃb- mE)h,wDCY^B5L;MaZhlKn2|aКO=$ )"Ʀe)&tZ,WNޯT 0;|_L,zK_C:@SqИō)gܕ >ruB&QcOe+PYjRΚޓsxp?d! R;dE![ >=R5n,+ğAyD<|+qOZeVȜ1tBq[:h]j&yk"b7evyL2 *ii]Y.L_'6,i2Pœ:$8DdHk7\K&Rz>/Lz%lop ww<=dPTXР ~I*eHzUI&PJ(u7_nc8LA4h[IB$s A[41KZ:U΄q,QT#o))<;9Ye\\2S\DZQDM|011R. @/k*KC/1֧Iٓm}1xE/' NXQ]Ex#nаSf3!zZP?'V~fC˜.X͇ G]*0Te#VQ& A#g~:ir$\"Sa֞u@cyt?Lw JϳPׁ,3yb9˕N].ZEx- DS=|m **s.ETC.crb0 m4YU:Nī//w,T^K<-ܡ铵l>"D &sNnR!q&g0FcDg J$?LvF\D ޏd/?G tF!S÷/y"CT"S E1E3 ɏhU+Z$i>W7B3O"M'N_U,e<h͚ECc+i)嚒Ɓ_%I謪nؓˌw^xW)*]" ůCh7nB7u>[c'sP;_ |2Fˁp(ɣQ}>?rWH% \9J*U XoB2 EW;jamo2). I!Ál_FItAYɵ.7RMq*O,$'*;Zlnj)ia=Jm0#`d]7"S:|P7fF k/0Y auTpӑT) ~:| ªz2gcǃܩh`4dx$7~k&j+69 ' <HԍU!ˍ3NDȅ !i*]6p )xC̚ڸ.}m sRTX" DeB#2#X6gU`^[ !x `>c< 9r|۾w0fݳ?7)E4E>v2Aԇ#4%U3%[*Kw+xA}k:iv)Չ{I1 wM{)wTUpKɚ x /Pw ;{Mb*0~ّ$<(x 7J߫xb nTJC* EÅ v:s?*AY3x_vF-V(dxח):4$ ~'hd+XպΎOLl'Mq@9!d8V":oXhWAwNY&H^"M\' uW͉(c8ފW%wM%N'`3h/.@$ ƪӷڱ\կq/5NC3e.G˦qֈų YJ>IfL/DZ/ N ՛Jɜ ȝNro11ݸC!s=ڙ;HqҚv5I@K1#hsYĮ7WP:ZFiH34bPS JN_=z%_CeHD 6 0a-+B˕M+xYtsZ֏ w1x~S5,Wg.F@'b#Z)Q +2lvcoI:9$&1PX-x}++o.ZA5/9-)޹jS ׋yOOa }tnË"1;23=|]2; 3ܬi4w 3iݪ!(@kCn[\,T!6o, aߔHOՁ!Oe7I+=0 e+#W:wR֝D8[HZY/absEP'2 e) eH,՟a5`„0WL!*~b}?S#,\O9)Cz껽JP *yF/UB#Y%+vp M){Ib?3~h%Y[,Zj"~8.KYnBZ!L[\ՁrJ32Z`'0gdd+F1PWr.7?̊8!Mk3 lKya 9]@.Kt"~ Ԋ*摞1BdHC"R:j> d%A]cSBE\)뎝N`EC΁8Jenq1o64UV(Ҡoqmʚ-*|56G^,yLyj圝hǝ)u==M~LTt*h&9TxKmvq~!ښ=,3!I쌊fbsw,=įLfq'S^A͊L R!$lRJ0aC0Eb/lwuPSܼ6,.T6c$p3;O:־J=6zˇ;{ayeruO=EDeG#"e" #0r޾5IWe Amp[JGUo~p瞫.M8aΗE]J*U^ʾ<ܯv[-@PdՅД$ U-LD!:m(t7jcSeظR^(@H\a5[QjmI՜4 F'(f'Duw%Y7EJ"eZ Y)F3;-/%;T_a{>% !)3gƢRਙD3=bWZͭ'r=<1vD@>0D-yEuk襇2LٖRH`!"Z!,vpFpJ"^\!#̮n3yO -\Z˘߬My7^Kmc!EѪBHVtٟR?x6UeVzT1 FIZ\AK[Hd;C`ne{i:iH~- DVjJ* X3JX Bta9PHt+-RWVZm oUr%7VbVNB ہ*?J ްKrߛ^9])]9q8#E)Uo1eEE0wB،= ,B-Wj\G[Fo!{dycLKݏ܉/e$m\"GqGxZTZ|f`c"OOprV썺Vؚbk#rS2zw!ւ5'*^B3+֊؈MӒFLKve8z'~y]FjdqN@r@ Bbr}t奤&+L/ B8!@+RW̗\VKHy jf!X?WԄFK%Y;'6*O?QsvgJ~+xKe>F5u$G)*lA{^#5GFF%C0Vf5?ARjzF?+R%6u(AM:HgRa>M2؇cE--\t!GͯZ/Zt7gkpOtiNeY&=dRئy>`=<i\ӣ~8`ٌ.ʭXc*YtҰ?r3txxuGFG͏n ZAZT[A$tsJ =5=~T8 oa1L{GsC%p.ɦ4 ~>v{?xWi;ZMs+?rYESwʉoI?hLm/= *䕜6Vpcg쓈gf`ʞOa8LꠢH1U_yyU4sTB+uڟWP:(G0:4c!,i9BB:j?n9lQ]˜Gu- bQP涢,Gn(lxJ)]WU/y=I~X`|6\a-IqD"& _.H:lӽT6ʹ-?+vkm}(M˞\9gkAZЈsE˰QH9E瞊IrP|ooO| &quh{X]0(q[=蘷J601@ZoDKͳ8wU&+]+Mic;Ͷp?൨nTEvճY VTFp8c̦/"Kt|çc̗l .ԼaiXd#:F\;%N[0ߦaYf࣠_oM˵$tL +; ' żvol:Аjy{$rzJJVc݉"t'G0 ns @Py˔b,kiDubm:*1胕41tV~_zXXEV}3^uh°Ĺ$48vz)5R^t]L!&TgokD-iwDτ՚N5֥rKJhҳueWq0.fzΙbznc.>jQh"Pa#( 0eUÐIK祋 .ccdcUO%(~YxLvSNt{HU8hmLhwﴈrnc ̕,z{T]-IwװP[xi+y%f,?Ez"t{fkF& %J3ҥc-?Zq@. -'FJ9AGMXk+ֈ| chMr1'n"SvKbizJ}H/vL VfF>$JjDaq}(a\W _>̭vxҶv_dreF␖Ƅ3-bFgQg?#Q+0RZAq|Nx0!Jcb dגu$ '(f8qjD/t fEQ<JeƲ3}BoȆK ^ 1 "Anxʱݰyzyg! Z^`X b{(U ]"\H$20Cf)*agԠ<uЄ`/Qw7܆x0O9cLB`+q,ZMn-9Z"ב@`EYIȮOWz]B)WC*kCT+04 WxbQHY02>0Ad$ )Do Ty=I&M ]"ZkueH",͡$EPU>X% 6V؋!bzq\Zf<űۄDc[B!od5t0?T6S* ̠.羺ȨLԸЈ!#duȄ@ sALI)B HR&r0do$.ASbiJCZ"f&L+Ip{w(QL=Ҡ@ d|h@'IS KOiPˊ0Em$nD\3#Co*ʼncE9Ŷ<B' \c IEBPaOM,FMW;IZ2S?0^4/sjKM@*4}+[* l$TaFO'a 1g *(H]ioTo^BD,GƁpqT rD7c PSmrOH~v\:HA #%)fE \dH 6%E~ ENjJn32~tK>0E~ LB ٔ7.Gw JB |]ZͰAfM)hqTb|ODǜQ%^rۥi6HdO@U*D\ɂ˅T$0"v;Np($j\j󖂡]H(-2~i0;2\:.N|BֈjA;DD/Œ>G,[2ZwHyp Q1nE6Tʂ^byW ?$Z"fJ>t!ãCGE\C9 & ĝd!b xeRt"O<!""c ʡxm%P皗ۻf%&}1E֯yJ>f~ NR;8_WluPdqgB9OXe㴨DltZ;#`h"ߧŷELR DuFz."߸*N+r`_ Eh$ÂV2P``Y Mf9Yɞ34'cXb8x=pVxwDt')8kr0" bUqip"rRIЬzu*[ϺD7pV򖔰xYB9Z]?)OQ5I4u[X#/~ f/ XdswF]}*Q$HyXtUfJB߻3Ba!kK;ԳX[<2P&RB]'D"ʢl'"Y?E=$Fúwvۗfޛ'L%'/TKR8ЊFQ65H8L\wEE=OV):p5+Q PqCƩ {T?\9)dzܭ4IC3_a*4i'(/ f>v8v}E(jEJJr5*Ra>S4xɚ;TWJ!BaCOԄ-;ҼǹULZ.UT&3@B{]FWx8Jؽq{>WϓZf9~!ġBhД\z{⢪=0m$o1Fkkxj>SLea5ڮ5K, =d "* FЖxQMbT&#FfzBǮ;C<9fjsb4+:6c$ĐG{p0[ֳJ .V _v9qݻU{bP!S9lѷ-(Hfvk9Ў5ViӖRnH.(n[=6F;nڝs% bsYU:gR\)\Af%F|CTxQonp' %JJodR*{)8TNњg9Tf(Q y-Jof "f˖gCVxVh%UtbE{h'D*M5qelr',9@i%}SkySnq1b\\)QgJ5h{3O١_U}eA1KDd&MHp K-EtoɈ̓mPXD>X, ߴ`%퓝VWs2lb$bgx(&Q@::xrB\8ĵ+e%nhdمfst@shõԄlxĤO cT,N8!> A얠q :^倔{#HVmP'ou4!;5lnj4uWv:Qj @*TL֐P[EpJ9'(:cA wIة,'VQ#3e$(bbmaZHLRdp˛5J։A5[D,<̄[s)%JX#%/+0# 3 ը.]2p<9l?H )ЖD&.[0Mì$1_'V%~C)mIR;H?2njD2Ggc"ht 8`AдdXY/VhkA益HPDz.364)= <8bhj%MI&-u+>o}|m)d |~?$+ki<2Y9|MHED8ڝW-GBF I6y^CO8o,)xPik 7gb)T"1/ox)J#ڱz;1ST=YKNox?)0f69Ah8[ѱA,ʹ^k^"u' ^BAHojb kᴲhvejoMm&&r(Wh;ǤcL ȖU?rd:&AU(jKG0^i,~UN`:1O%vRjPNh+ILDT .L@솝fqEr!IDQT$cz}&FPLk5p&NE@zM"HnYjDXL쏧7becGORIK)Pk;q4QmK  ,vkÎH`.v:,}ẵFM^/=>00+=Jyu4s^ɬ)ֵD4g/l*BN c:Q+'䪗r$b8ɤ7LCπM7Fy^VbSHWL˜4573ijo@!@[^[˼Os,C##ɱduQ:!2x>3T*0Sy*D cG F!:(! &{DUh0ƕ(;X#ϳPި W8=DAL9~c.C0R>R]cFi8{ZjƔ= PʙJلlBj* %j2 }ѐo}:lV , EV!gN*NXT4 w!O(m̮Fv _ 6R9Q9焺5WUwb1)1nD(GRR 8bQ2~nfo eDzV수)P Gk٠"pITH9Ƴnez΋(GwnB4"N3a#$"8TG ;0MP){MJJ!."b)F6қ ?DdZ{Ї,NL cu9S \M4[sˣE︁y;@$v,擿Rz>L~(zr/^eU'/!HPqsaFB1TSYs,WLK;CN@2RVIOJ48UOQ/L2nRtHʽM;Ue=2 \FIR6+Y_"E2<,h&2% 9y Dk )O֓tzd d8Gof4**(6Ʃda1-DXHFYeuo7-vW0Zdv&$AI\JHʟm ב @_]?`-||&I6Z/^cI~1t +E٘pr4#ErZޞ(@s'(NL*Ey|#']L2ȀZPo XC(I> q[Y1/ґmc{oa t%ԧ0cs)*g]5(|Xs"r}l,o:A5 JansȲ'kVU ڙ׊%Q.&E``ȱO Q_6/;X?Z s.i~;?"q˔H4K=WɕX6РQ/(J2EXeDh|jGJ̏`E3Z4]Xʻ:L᳥xd\Wc!gV;2ɇ~yy:U6OE?Yoa%b˶tդt,gDqnE,Q4T-]d{Xʇd.o=Lӟm5g"1^0ap kbR]6/_.z]#s|wּ*-O&l,.RU$_+M'V D^Ҷu%Ejc"gl 3y]ϒUHn2H$o$XY-76,bTk?&ǮjGkpJFۉJ|,"oKͩ*,ܺ`9?> –^1DVbvJBE`$I-OJcq]+@ =Y['=:/ߥ4IJlw-䛪Mo_}$ibm8-{nBzY}7Wg? RIf$ :[] 7Ɨtjjү"lX95`IZ\~{︸{-biZ㰞e]ȪD3eXV>X2$ƌ4 6eZ4mn#Ͻ1"d7ҳn'Yw54(P_C]^zN /?@VO=p4s'=/ߕ /"baP=U|Z`ArXЄBJN*\Fauc 3;NN+E9dɱiޮ4Gx׷iQٷId 6qY51[js.C U*P 4vkcU2CHA5O8[8!u:?͛EfRk}kwڸ.b;guٲ%$0i?ęŕG∑7}cT^34d z.#QiH"zW:+NwT*% Ys6:1ǹ O+*'?:yMF0Z'>P_T%M͍R~N.K_[yRod:#s^39kPNO̭/,s?~OQFk^Is%Bbw Ӯ":, `V[ h¬ 7rO pW{;(N]_AA?CO@?x+:5xN~W~\SRrpDݞfآ^(+?Qle}gDhw!C܈rɻ)G0q5fpB=㜞&51H&|)wg > 1cT*RHdG4G"[Yȡ#6[ ĭ~^N$v&:e=_eں #p4ZykG$eѹڒdb?/y%-XueOL'eAPEAѤJ)8z@x4?R@+)Ⱥq^j0K*9tރ': a50'uݼ3A(^k/˦u<["#뷞+جN;W;N$qbJBȶRUq j*cg1tZd"+J8x*e0f8J @k ."OԴH?MҙNBЏIU1ѺNe9IDw}d}[Byl=`23uȯ7Q]H[ ƶ]L?L[:uʮ*0,i?)lB-+*2_j9֫!IŒ%W,[.Y<!]=MhJ!ʮ^ !ő| Qy{vgf.ζCl3  H1U&GDz3oU^"x vCp qE#va'F2VRtL%I2'Cs3tS]cx]5xOcpM*g(Fҩ0Uq@!?PyQtu*+Q&#EF19ޅ 7b ;aj5 S60i[}ү& aH1yRt5R %2Z"j2c]1&d>aa;_h; iQK+1UߪrIN~ i~ Y's5;#MKEmaJ Z)M/JVbBuQ_ YLf7V6 g6PA^jT^HbZҷQ<o nY3'}ĶK3M'nt:0$JXe 1sGWamdD!/BD5)"b h(aGg +lE*jU1D.)R-9u@(k}l{gb!_=,9 Dg%ۨk\=l%' >=T:Ab"LL-t6 '/gt͓z&~~srۙ.uYZv)^sB.,Ȅ f? s{)X:4ϛw_DsEq,iA*娒B'Fsr rCX5ܕ$Gk͒;vM*3D7`~Èq %e&mdkJ= C v~R+8FnH C1wSP.5$M(eI϶BUU'4+IE E`х#rD"}N'f`k0kaXySW0szA~C+hS$y-iYJ~>JL"V6zڅth7fAB PaPzR8LZCq H-)\/ o:[wgT(LB3|9c>3;}:/5B LRNBUd؏ 73\L$t X+e^K>,=S0zX.h7 )63u|G`BX:hZ7 _"p#k y7]Ra͟lV%r'z(e#0)ԍ]*.*R3C,h&cc5|caL@A.1K(8ZEDi|_Ѵ7K:iNzoɪAJ :l(QqqcԡSGw+W3D0 Z>@' Y:Iweu,~iaޮ?bTO*IVG#g1ln\QZbz0^uU%}}lgJoյ9/2|䈍_$rZ贫oݧnrS "*'pci35YO7WIs}z,G*@6//u7 /1ucwr \᧞ΧIJ z1l\br+L}j5zt2ɠUUqo>+7_]:a&TʝV;: /ķu>|ln-SMC8# %u.M7pcgTi/"ptЊg%&ֻ,]kr8߇) ?fw&EБ89BuTH*({PڳwCzztƮ vd,%.х+~Y0>tѿ{]S^仆Sr &Flp~|) +2;}t_]HEb!=ҜwXqesZ D| H"t;y9UOA$fyNw#5ȇI4Aq=H_7CfE*L e^5dl7JT#ijF7Z߂v削Vd/ `nW^lʒ q<R#9T2NF'I/nvWl7_ᨰsF M!|f=]U9(>TxUYbڰ'e'9rp>|+il|V!_rx*&4I@a!6ϒA^VB)T4H}ȰQ`Y*'l\.a\%I&9#p<3a0P#&N`+OSp*Y1!E(NA9[ f9É Sw.%eB^ Pz ]j@&_Zܦ<'WjK%:xŒX X TE3nu4JNy6!pˋK%@Ɉ̈́xP)\]J g ЀԸsa"ıWEo:rޥ͸IXZ5t!C?G݂8SDcọ{XsqN@tϸqVr0zEBڰde4XZOFr6~:2%+F}6Y5@,ĉM>DU\ZuiqUl[+h)De|/!IMŅ<"KJn5DN0.c8!!g(y >t+PG6M)hhRD^ߖOU zEfaIK N|n |ھ@8 vNU "͔,$PcXAjNj,Euw+*) OMZr5f[zOզ9|Qa]m4ȴ" y6퇽 .%YeY~j %K$.wh]28k K8ds4wi3'2 ?+(4L$>bÿN("1/)0 r)n&a<*>wGLHX&_%.ÝS?{ wѣfγv oSXVp2Pޟ0Rn_I6x,{XLhk[L@^I3]7AiK:?QEL2o0~t҅ZbƒwQGYm5' `+K]Ord񉂎UIe(Dy-s V}e7Cxn;BLQ?~&ǘ\!*A( }滦ъs# ;߱Ѳ='kUK;AX*:Cl朖gIE w<1QHF.o#ʈu幪á"eT+iU8e[;̞%f5Ϧ1&[3 Yfiȗ*Kt˦q?%#Klg ,WsF:1E_g2JeQ>Yg R^%| &n9!;fCw0D3/J5B@dFDq8w*ZHf-7pL}tYz/JQM ݠ]nLlU5du jć+$07ZU|*%ğף_v&xD^WQt/{L'X-xSl Li(PJ)hN 4:~( Q1 LħoK-0Flx_<}zxUfeL%iNz?k6U]YS6e[܄7xP 9Si\ 'ʐFVz8T6 y8 D(0m ,O gB{ɖ@+QNEA"pҘPaZ!bۺ&1\YY(Ҽ񝠃1Otkk- lÀu&2/'Q2pnzxV.  @qĈhHIQ?RpDd1Wgqdx9WkͲFsB+fDu[blވo-HV)vޑG+3a=ZfŖT_m·VTaE}EcS4wW{%q-vǺ_26`laoU&/=v8c냞U _S!gX상k;wH1{wpRdf;uQl|6 d#˚h'iDk\ӝMT~jZH5Ri&=d״* Q!+&VrcZ60gW29U^T26oR¬t0ب x"FOv q#ׅxM=:jn@DVMj&2.,Bի؜/`7WM,/,]/$Eہ_F13r.Rk^l涭_'y,6E_=zD甎tkU@eoi/7/uUPN:r[ŜqY+ q_@,Lo`aٮw=00.u | MM$_8;MBj" jqf(*V=MP_lOJyҦQ=}t="{Ď1itxv1_JO6o3M`Y![m'n>GHh”$R xE`qp+PoiXҒʌa4s19awk^L|F/|B,dRվrचW@f$׀!XStr1rGݛs~Cog^֟A|$HOTAMJ+̆[0pJ_f̹wƃp*1zCiwGy#@`k2q&jw"Yi[Hd>5pS2G!љ#w7-ȽRܙđ(rZkH-}l_  r8XtlۛYRZ-{"\% )u5 S9^^tl) gכ ==LڳdR;j5+N'^J*rdY‚jNVgn² E/q BJU[Jftl+ϛ&ޒM-6a:*SRe=veL):0lj^PJ#xɃɉ=_gfwg) d;Npm,;Pɵ`Ѧṁݝؙզg~E.Zm7 Y͑&&kΓ?I75GZ_ D!/[H*Ot}6uo&׽%hȬ</jh#BnH$0,pvZ[j,,hP;2rN8^HfecoeNIX'|FJ"[ߊ&n'c!փ. H'*ʱ +FGwϦjqnٍ#kԀ+>N/9/8l'tK"#A򯕰Vz޷3lbn"ҎHbP3%K@/Fy $$W;r "] J1-P䊵f42E}~TWsS_KM[V(4uUR̖}+J[P' ЗiG2MdZ, cTfYgDQ|eѴ8 :&8|Nh܈s-apJȑStH0ؔ_xsr'R NS'$n.0ubqhչ{aYMl.)&-a ޾멵q.p!P(iZIZP[aE*In"ןXdB'P+>)|"ZˑC OUaKF.h)^/:^A0b v*KDӹw5Mu9[K$mqJOS/=9afB.=*.{մƿ^ꮵ=%'aq i-+ ˉɛ@[g B8x=.#dbNHȍBR DF97؃ a_O7i?i(T18* 䉔auAYJ5(VWe7!~ -[YoZ;̎~6  [4giW 9Ax4cuLaҁyP??P,dl"K@RPRbхfd%uS jΈ[VeD~Ų"ÅK&-10_=&$ ^{Ԯ[ѣ^22,RS20ER{_čf0;7#hŢ@Be6# F>y靑L4M'R`WӎS U.'f,HK$s BuxJ2*dm6)Ѭ -(=+|ew_ҷMF,䃧'FGI ,~Աm_=itE!+x%4cBǶh @JxQwVƥ{IwB\99lN&_V7rIaV쑈ьf- OK*BԬHAk p+1LNSyQ0vVuljbo笍(B eRAr&H`u$-*B)fGiEKs|68=_xV5Bt74wcRGِEbw!<|ޤ./ 뛩Rې%,h䥯F6@Jn`〚F3Ѣ6Uȓ%g%q+/ {ǓY8"ļDNLyӪ P _+R41m(l-l*~Z"[ܑS5 XL6E>&ʸ++6 *q{D MFHzRb0sX _3'W5N~[^]SxFk=#rXN43ɝ"Ra1Qx LS4~"Ls $Q&>:T:dO(HL{' KBF,5:z -XOZiS0&죵Tzc (ƬtbɓZ鯙\"F#AȀOAQwZxZ9_ޅF/\jצ) G)Bvkzn&b%23Y)0łuA@ FOGEZceΔQmFܬd ;0T4Z LXni:k" )4QIV hMѰ]BaPX+gv(XS,{#ZF`S'ڳˢGF⸓e"X>GʈDڋ.Ю@]|o.hDU;!kkfXmk)R3b9..g&L\sm=>j{Eډ}Ҭ-ևTUƈ"ab“lz8}g5Zh`Kt[m]Iŷ7>F3)3䭒DzN DM rEQ0a֒}M^3dN,ԕb;|[؁ZfۢCrM,5/WW"YBJD*PVۑE)g|$V;R 96TT&n/-3BFYmGUhr&aeq^2uGJD8Jk % NI.PkIlky<+l[JrBo>FW 'ȧxf)IU IUĿ\Kzj{Pq/<4fG"$k/>Ԉf~ZFPs$KC 31١_ p6 (X\jYiKX ɸ ¦UU_ucSmeu Lr+ 4fM k"A*0_F%wt Š޾GH7Lax} w.@} TӨ#ͺv#im zH']ćY C/\>4I ` # #K:6k;JdjE%V¢jC1 d~zIԩVJ|xו%Q`T=z.ll"2CԍFdTRH6T KMgGP&EDeRCi7(?2:lfԑAgeqAbRqcU M\#dn V8 6P7N=AZܶ&7_Mb?a!ᳬ5BH92'Y=F|G(qieɝަ ɗLNMjj(]L&zNɕ/짟)Wo5an:"@! $%"zU=(TKD4$ǡѫ}qNF V[/Iyk$ 99I{/ E1)s!Q;Y4cVL|펁}jQ& ĝD aRn i(VxEa'tJVd6bcOI *|@sm ۬P+ݟiҩЇ3f6ljEa;nufiܸ=5w$^~첹P> g֏f$]A1w&Ȏ4Ab"5-czޓ}%cJ١ȏ3'͇` ۑ MDZ(d W-zL/S A+y׉&]Va,Z$`5M,LWY@ YBc+hhTuȟj! b8@vVYQ9 ўBE'nH fR*b۲*2$l(ڤupz|(iqrjc -džC 6Bt懹ZzSEXo-/qKm  Y -AU}wL˳m᯲n): uI?ZH7}ʩlt R&"l.@-D``o '?)>|~eo$0 qxsS[Ͻ!eL^'OnB,Qpw3 ϟ9x~ϥ.uI}iT%0XĆD>@ߺ9 %$!4@~DzlًE4X+Qb_ a/Քz\1t!tFE!aY*nuɳP'DUTG: S|qz~HS22Zї6ςjm\yNTwYɽ<#.sqIcI\EiЕFׁdID/ɦؿ>5. ݺj @`CW.2O p A?d W$fm =9 cuwf0mwG@Q $HiYJhOz9 d 6P}i*DM,z2FM7reydp>62 N4"?|fE&EmZAHD_SmyY2ڠꪎ ˶kRC\IHDM- 8V?u3:K΋Ţ5n&|Hlq4w 3j}D,#0KeXldTndJ8xWF'$o2tmg_լT6ݢ)I*r.I$Be-HT(qшW}OFh#m:&.1Dx*(| XcDzEx#,_eZbQ,9EQBAZv W7"C-[$bBT->'@#93ѕn]'^]tePw"L#r] omzl&+ߐSX@`hiT[Uo$ obCu!jv7vGΘ$2 +J`0J PKUXЫ"QLҍjflwD]h82oIݪxlɣrO ]vU"T??2B\%eWS=mjyg!<(o kRׯN_Ne{Đ* {]Lg~_$zepkEm V% JI ^7KF.'ؓtʡ'.ʶ,Ą =:@ u (BHg@ "x.]0/0"\ErsV=`%nYN@vk+YBϥodŌZJD*$ԋd9FoII,{ӴER'pB*wgWB5{!-TԝRҪcBKl:VV ,1/6ƻu+V<7 ̋ٸ%l_\')g{Y뉎dդ%B읕V$)H#$CsW۶:ܔ`-ᇕ ҦF7h>(`΅Vw+KDBQ)WRH Ғ݄*:~jKD5EzEMUZ?ѫ8{EA+DM6jl$i  R@VR*S8KQ0Nпzqj*ȡ"WF+ ~^`;p rtM0[)kXX ŝVvڞ"?oK[%jCRFzfW$kƸz<3 ;S.#C=U̲*@ftصDёN>JMW]\n !SMikD6{WrbNGR fBWI)I%;I%`--蘨|3 H|aIȅar7EHXd Ml`tz$9X'>h\ETjPH6Ul4v{tUxGWC³*JajK=8jE럕wVMЉߥ1 t䘼0xhh<1HdȄ{:x䒼`脜MB.F]WD*ha-D!*P/u)Y#Kv ge$!DBE}_=uS&~f@eVf .#=3>ܑLXN{19ulK*nd .LrR#? M%*,s@@IVӖa;`܄bLpjH]"j)<ASCQM| EK)K*8"&o]LB=Dv Zl5V+"e1E^lc;=ّG`/}56/\%͚cRΙ0HoD0Xa;CX^fV&B~W*:q3e .>\ԏW+JWKPdܚMWq88 %2DƧ4#uzK!li6pm@BHT@±VTDxj.|ED3m==2kR==bαЉS"WŅXP8MB=<БmU[2Uwt+ttq!4/MHuOq=.C7۫Ff}1t Bi׺m Z1nqaL/bNK7Q6#lDps).Da>p,#Y8zh+({x`|fc+!FI{NbX7 &sqCj3RwBK%Cx˵6tPˉiDAL5s-(fqBG%M,HK/zf/; ,܊ap00=J-=Pr4V\zDB.G2jϸA>| ZhFL- [f!cJѝϬ_1y*=K/܂A \rיPNWUZ*bo4XӬhlleR;I'?ReHv,}f DDHnfɩ""+*vl2HBa 'VL)SOc28m)D땱ɽ0ҦÚ3מS^\N 5pҼdUn)H_aI~ 7Phؐj뵰aUS3RaVPnp8Ftۯ~ TaQR38)nVLn r b%v. PC)\E.PN܌.3f`u(țp|f48ņ'4$ x-/Bx4WwV6:t&[=4GܦgVb 2?vjΝ]n 4 l-]TG-!f,[@Zba%7.-P3<#|=0KodP"qD"c *l{ 4YzH9} Š0D7]T/mFzXUlD򢥪.ҠoS|v z ]ڤ-TZ0>2Y yE1=RKvO8 L:l D@Jm'%gG$%cPc1,)w*1K0A#ɢ! ,%f Kg#nQNz&(Y4. eDNx)[ͷsoi`x\rۯ} ڙ$._".(}U<qb0%]]rY`2˶3I&"Z]sbDKΐe@RMiℹ @T:@UfNcMڴFɝ x*,i5n94(aKFyNr+Oy4Gv~)ХrPfJ\&GY;QWfe`LTTUq*WK4䳋0HLLzCQ?`DՒ#ZRV*p&iJ\-ZI~Maob|A/gFonUJY皠Gt3H~qbW7Pq2[uɺݤ=m,NVH( ޮ-xA!ZgJ.'mV|vOsFT#59"Ca~g.Ÿ@E%>PR1[u43tٕ)d>_ )hкlDg%_ &h_Ha' Fr= swEQyJ 8C) .0r Ȑ,R/$2,. >V w ՟32X6ĺEf?3q}X?}ov wugŸPJ#*HXL'˛jċ.m؟_杅 11NzbSŤtVضiAZ/dؘ bmb∟z BzGfUۏkFNQ=AdV[~dv gtr O0ӂIʣPt]hK &rzc|oeXM=lUJr‘̓bm3W*6t FD3FK|T0{&ʝ4=]T癪( o§+$6.F$08;FRfD*ԩ<.ìQ!zM{ꮕkuw93Q ༶v7CZهk.B*KܯZ$J`"Ѷ !|cSpw f6@Y][7^ハT{㶣5|V/X|EJAx*;c) (#[ħxgB8?7q`UyV,MsBkiW_ J8%#fedZ+d]> 7;,ci [B=7 M*$m $Sbk.a}nT|Ec!}44D5QQ_S,󟢼>^0r} 1- oC:y1be{ ֍~|q2xpAs$" ZF8GtўD8aNs1SC/RHA p>hZUQ΍S&$HX]z0x( 2icawapgy)NW $CNŘthy'+ ڣpr)ˉձ ሹc%W0m@eY9gm}<󟞐= ).;gkI<'q^f}*6|{?Jf4VUt{,ԟ \d$Y??~3]#;uOPWvetjL`A>;nQ)Gٞ(V'Rt$1 _tmϊ4^riUYceJ$DGR7FBgWOǥd@zG`gp^0)ϣW~[-+ wDQ@Lu:( rl"N سN4XuL hҷ *ꪰ8vli{K"EdY\xWJJrͽn_.nB'g ¡,LBm6$$`䉊J#%KFqja%Wbbt`6$X56&[~ C N%ᨺ}%|tDI]d߳M|Ɋxt1vp n`mHA!jEOuF ,UX) 4 &Ӵh"4$ǶXXI1ţ8JA$qi({w4\0 iTZ4T~!hIhb|PP޷n!\%'B,}\Hub$(r^c$ʈ hFfၚ \Re/vIpLFmTO0K;Iw:;Nb"\Dϼ2)J.k5m .3r@D9RQ> '2DY0L ,:T,*k`r5I4,A! [W`ZQMq{s;}u-XnH'&4ތa3t߂"I]^߲5v&}3lC\2ECB4;U/Lϕ Od2Wd+bAR_埄BNEZSeXF&KroFv#SdiP%V;epmXXI=ֈ<V5F\X5J]U,JArm0Eo0Ŷ55:f슆J"\;<5B=j)E=ki|hg|%*jU3r}wOOd_e[5*)Qt)LQqܙ>h0G djɺ)cǂ9Q:Y;D%iyL;$*c"8 sr)?X]C P~u?'ӿ)[IJ'ge|kT7;S7et )f( Og;6of5(Yej\'tmj)rtG\("H 5Qd `A:HL}YD PmVVʨPXt(3 C~J%meaYxاTz/^%&"ge:YAcKuAkuL1ݧ~A^i3)rnEz DvDȵJe5zixSg:Z'Y'JͭW[Aı.3XVZg@:caTxRiVkR~Tydi4^2ˇ]UQ] w3WaB()?k}(ߕ͌K(oyO=/P5Vi-qJC+ϱ9t?otw*Y.7pK2#B:V+D2$HQ[d eڛCۯ1]Vsd8IFv3:)9|ˑuI6[Fuh"ԉ d NMRN"> %p.TA2/ ߚ61#?R*D,IAf>VcJw>26K[gb|Dm UK.A_L2fy"zćB މ#$tU߲"EyY7K\+Ekt/\$.|u碕g♶lCw7~-y|9%Hs|8*SeOo7Q>*?JxkTQ"$6ٳqdaRO&(H4L} !*RAr" i@DX% MBPP!#P Ӂ 0P ،N-N'N@[F\vyչ%qC7[2]9@;N& [ZDCy1S^mQ9QNҪ!uHK]޴2gSWNhSF2ᰈN" ԞH'@ jP\n,GJ +R:5</C.O*(DJl.DhkƄ],M@ʭ~R#eRC/L.,X] ų)V%0hL%An-)`#5x ~Kz9%p5.SZDKnf^-N"o/u/T߳+֬jP[%\/LHI<5;X#s]N2%7JpjI@s$/.9E l|z:C;+uAxȔϩd1A%W4|;6 "RߔZS]Elj2~VG?ȄSǙ"_G b轎\ɨ͇2O4 XIcY{e !rMpbY?ڲIup!O&-.<v = a"4(cK@֛L f-Z ! V]HKEL,d+ @ EXဳrb|<^N Y̖D>j%Hi$[R;PTQʽm4+Ċ|>1!iL19+RStG(W]u}XOV tel6p,@͐,cZ  &5!% 7'+5ĘLSEkNd# UxZPx0 Ch%q;.9}r,H=A?8 0ǣbk&pAd=ܱDv9iAsL(LbϏ |@Lk,FWjՔ<٥l\nŨkYA$j̛SX _ tc`",0[7N(T^;[:x@Ek|G#`Wːs`]EC/rFj:4T\/0idFm%ZOwVC .dyT5!RbD~g=& A0YOZ t@ΫYSjo(YZ`xYғġ;~ձi9RXlDJlq@G PYFS$CӓiX;u-Pa=OOVġ&@= KUcS !x%ku@N w30{bMMe-&ԫeIN+Du\ $Co F0%Ʌ {&HFF9(IQM,2S[1/rlӜKU,NW5iqT0ǩ:7+'Ea ڠҊ;]L7owfzF[.}I5*^1RbM H XJP,}6%`rBf \U 넛.ΪnbAȃ"&VQH&`c4(%'xmhn 7E1c`BW   Y&DcJuߠMB%!0Iz ]U@ 0%yhzApq"gBWqίWdƒa]CTAlT+m RNfګ&sR0^$p cb@j?6 Q=%F[BZ*,!GDYmFkm>' |I*+gZze}296JP^5z_f]D#c^_OXR*@آ XlȆRBwZc\"AZD+-~t'νwW܊PyeT_Ի~uAr&}r11@3ϕV/91R rlH8V_!,9.CO_᡽A'\/2FF3\B4&bJ('_ [@3J^V?끪AjM[eQJc&;י=NZYT%~廿IjPd'_{a&u3\ Ngod S^:$D..4W\SJ"zH4LZ.-,p9?Z%" CʿK7i&) r e*"si=\=w feWHSm0^"+~H}gzPR4Ѿp #Ҩd^MV p/"^2;\eMӿzov .ee[QȈqު(f/=3ς q/lK E"hU4s$#T3o Yi)ir>X3 X\DҙMjA;D@~% Bќ*} ${2 ɄO#4Gu9hSiyt3TnWVPؖeFb@~pCk._QRCoDc:*wO3U{Y!lf# ?r#.:ZBV,}hZ<~@}O[;ʇd |Uhr7Н% ?-1ww ШÚ祁NpKJ 7yV*I0=ӑXC 9$nU>fs\-;V[J籙YúVQ&)o)9-Z_Ն|.іQ 3Qb!\S(R FA4 !L Mā0b%90n/2?0D' 0 Էv" $TQ  G9fs8]-@QFIUۍ#9ERE"l.>NuLELfƯگ.mȖ>nϑp]Yb17E:0bA+흚FJX:R)mqmEqOCHm/#V'׫*X14@J0M /AID!wGQ&r:4*2م\/.W/+N$|rO  onWʬ4,Xy'J٤qB -N@Hfa*5( k7J}J eW:O 6IکMc,uKU_u4A3QL^j+쀜Z;;%tY^u+Rr@Q%7B +q,/vnYyzG9QؖU݄Nmn"R+Qo)R|bO̙<>%~لRՊ*v)qOmjdi8Elne*oό2yfDfYN.ίq4_^P59fDip?yZw 9zjNe5&pRTh:,%1 4.Kua4qr[6K.f✽M׸N$tl.! ġ<72S|DA(.RΈmBGJiM?>aX*X*;蘎dRӴ+K%):_$\648"bעu%}CvecM"|8}NUً}g\l*#[q<)0LB{[IטdN!"s/B('5.M&M{J  fͅdH<$*S”O K2C+6/<"efZ$AȮT8eGQkcD]N5 AށRI|B2Zh]nQo+Ze$MfI'g h2fJ-.i8Z<4m (WOQDJI^YɁ3 Jтt(LIwTQkG17)>Lj(#mGW☽íN1!1Y"'L{L/zho&3GJ<0 YEI?˖F33Mw*rBBqK̔;"a,1w$jB/Zd6%.JxjiFږ tr͋3S(=:4:taz h=pd>6.:nN6:"2&%q7k<rGsNVy99p*D?j=S3Q);'Y] 1){J^ˤf%: ѬPq>$R".II3ʈ@kpyNũ6gQs!`pc, 0mF$lJWb6C8,ia>*HjEFegYjImgy""# !YoY޲g*a0M2 0TԂ2 !QOb0PDbcǞFl'a)aKe˪qVZg/)}yMʸ0N)*EtXI8i%3Ԕe "m $.ZOkn 1JIYC&V3E2?9bgdP1=9uRCW2ĚX&<ZVhd]V:<)*0ِ]QAPRr*ߨ;턔&/Ki- oRAhK1?C$3VDjDlze7J G%L"[FqsOd .( #@|1)ϭ0(s($8C-$MY\%c+B@TOoPƂWfȄxh>8?F'5@@]SzEhU}a1%O"J9ūqJۄ&f E#Uj{2MYA\'Ȩi_`b9ԶhTRX=/ڿ ²m&X?SX.|d !{>(eŌ}ZeRLPH8ZfɅE)!F\DfL˸ }7M#홽Ty}/Ea%j?PXx}f]Dڕ5rGG-Y]r'wdU#vpfv LFD$tAD F|Pf/H*hiN2駵믯2t)FЉj^C\6B#^b+ɥkR Nh[*U"irZEU0ၞqi#MQ,ZۥD_!UH<AhD?uaNTA3ͳ#AYi95[Œn\c5h+x L"KEE2J+dM$Tf@#5"$)6<@n^]J/ox,^&?&&E3)x! fg-ʪqʼhl0>z@rK2voKE!JGDKa,A[jHbRV.|V%ym%3IXBvݢ4? )JpF=g\X'ʱM}uO >V": `Ad;gvteťc'8s>bRX T{.WN[6v*OylhRL,xh-elx_ JUgMs_dյ$8"?2B E'OH_6V;Y?ar`4e3忑˫pEV5ńujk#F^mXqDe1xJ9 M[yNXzW/K$losI-W?Egb#qB '-~4\a=Y; x8 M$%d9K=e TNIC蔥:΍ 2Ɉ͈\F>2dF7[1',P zIR"H$e\d@ƾ+ukꋑ1mг.o<#"%ct'KO"PJ$OBWˢ2κVXǙYbT6^3ܣ%뷹< x.-"uCx+| *NPtɞ еPI|y&/ԫv 3u hcȯ"rB_YB|Gҭ`d/wG1ބcn'/!8&#U ?炛=50f~ߟ: &xMv&']9 -16Ƿa\tUWnkأve7+N4$,! f#. 㵉c+D[EȪ')+ <:t!&UiU+*r"UP{ !O*!VcsMk2S=zJ0=z=8cɐҭR"x`ئ&W.9!SajDekbp5$$B?jLXQwaP J?g784Q4_eܟU iA{4̘M]a>%VȖ~[a6pbci3X$EJ,"CՆҋBgZX&|i #jmZsJRSZx2( 㰀Pk וLqZ4nt E̯.A@((q2>-NАZlFywpG TRn$,A'S10&C0wM8ҡa&iXxiA*b)4BS5ZAl[/teG 0›BbXFG jγ* ЖEGxr6řo̫i̿3k2oK$şD-gG.;- wQPh.QjDT:F((w * a=3+rIvxhJ};1o*"*X`ɹttFxZ>-3%L+ęd)1}Z̓2и"32LmnhtB.5:s*sY33,SF*qQh>J#0ƸDvL_E#sD Z@bB5A4\RD۾v E(@@O3!.h[-΅vwref֢ Jvm*H!pSR_/5#դ4a%4_Fnҍtc/vY?R"/1Mp{hV38muCc4թ"SjAS~ȤnHJCv9ݾ!8׳]e퟈4*py "u$"K*Lt) Qq֕0Thz3J‚H뵬3'YQ"abOÃ1OVŧ$P-Rd,K*Q(C/4Ö q,NsyO-'z@GLa:; }ޖ}/&-;/gyuV0v>OEc$ 6:_3x ; {%M@QF$VEd?[6-fƢb+\}RKC;D5|$ "P$&+-ԳWnJ{JtVuX^Be=ZtasUg`C^#mU/谾!(W9ς y/*zd**x> "l3я{걾}oLIF\&Ʉ$ͫvx h8#n*CFe'ʉӕD!O/\މ! vHoY,!(gV\R z%)H l5ԏI9|4')sѥ)*4lK"bF &"Hwo۔&SdfDžoVӽ2!:"D͝vͪC8<4/DQܸ1 l[\O +,4?>=^ X@d}-ҧ%jP:{ۇ2 ߞ! yHPrmi̾A{C"˓/dt(NIxbq!e©Ɂa|P*1$4 0UOoBvx]DP0Y-mLb3IPV+;MzO2~im#,JT(6S$, r${koB5hB#fFDZ^Drr|_4_ ]\CEo*nCkrӽcON=S.:aqY{cX )̴ktpK5BBh;`Lvrr>X%/k_,!hoQ'Ǔ񲍈 a+C(F b:)0HpФvz!l*DUW9  `Td&h2ΐ$x }'Qc_쒱P5$lߛPxLH@ >, ;LX24?8(NEݝ_A?OMN:4F&@;e7qhRyNkQ$c4"NߛrO\%eBJ98WC@nv12? c$@p+Di:PϹB-l*UL^/zkjy|+5] MM|ǵn E,UuE`fB#Bq'X/O[854^ lEdk-LkXH3Ey[M>F*^*<}njՑ%+O$&>qab & $SNpa@jB{{X9GV-K~LKS&ǁЯwXJ(B5(LJ ,njUFp3  \8U n|ܐrBy3++8e Hdh-I HHF*p!i(!~K{X\Y(v dPHRW F-iѩA  ۶_0$ןϢ$/Yyʿ+ʹQ~.3Sշ:G_clɐkG#a(F<;U"j .%'A ݅G֥VqTo^e|W FG'k']MRE⢿k}Sbv-j4MtzoF:Z,-,&C p5,IDy'(Wj41" HsA]AC ̯f{Sw+N\/0q(aethj>xEpəZhuNu6^XK;"IY8_.41di) & cdO9֗Kj6ut]J_[[u^oGK=N-n+gtU CEH)?Q1;%\rArhH4*Z$H\4RCrRjJ-D4lϐ ,shа's2vF$KeYH@ J:R˙f?8xB 7pc$2& " XW)RP'CQirqDEv;@ \jhr )?"#ޗR؀rT䄮H!D!J\zuPC *k) U]x=[a շܭ9QOF^r|ԔT'ȶ"%l $D%r{."㰓1V_1Sgu``7G[0pHYgğr07e'#ch!hBᒗ£1zV5_ۆK $!\U>Sacch..r(2%'\mзqJ{I48l'P%B؛%cB8٨A^5]wcđ9f~zpZ?~] ݐ_XQگxC^ $ J ^%kFc9kb׎L- Nc$%w-Mk?)TrjIc$I7~/l!wWSg(Y6]ooXQ1;05 fQ^_4].'*`R(n:!* $$>l 1C!TPNyXNno4p24D iD @?Q lD6BXNwQ dl5;RBhRpHJiwn{mDRb.l 7F4eUlb 1r"_!5xfX[*CW)0[#x (hؒK UFxkJEwZFTO+F,FFV\"]í$f^Pn@R,6o'xR#jE.#T%HnD# (h.Ȣ$n#95Nb7w5U?jܖGq/*EABRAb%$Mn/R᎙(]Z{C4G|b6⤢!$IA Z߽5Do n%?' xi.C蒤bpJݗ. J@s BRflZ]%K{a ) kG00^ҕo>7$"Cm K!S%'.r-^+DT&*F)I$ NY]ZuA%.)S].v4u'Zu]Vg$xHvRJz'hY]3ak)E7&`DZ^u2dp4Clb)D} 0A^yF%u;T.#$,F,n=㫡B FlQfGU񰓒j|eE^4mBcr-6/S<1YoU᪫"z7u2Y/k'zf B(DdEZP9)+/|r}Z \ :BZ_FD[bOTvڕбL}2|xdk9ۊjq\)M!D5@(BbZ9hr>B`DN@IRGģy8xCTk"l/AmF|>x*Vx$a)q.ppGc)ND `lan:,RZN rhqTsW/uns4p@u+Tn} |;uTByrMY7%69XCOfU4#֌S[Jշ>Dž'Tz蠜-vJ@Nm()s{z>zF1Z$n@=lzxJ9V)UuB杋 ͨ>)E(C`i-hI Q^XZMm쵳i?PTrW5T $"'iqΨ #j.6q$ +ɨ͉FSEȖ5m]bQ0kǗ)+5=N 윆2+\GeNw^E2IIOL+ }}!("B&&`0ta˹QY3eE ;`UvJLGvF }$^\7ٛh&RHvjCl"e JA-{x >Y`{h$GCgZڎ΍vW>mX]4TIi3j]a?QHpX٣Bh]zI]2dA͹ݶ;D_/7>0FjԍN2̜_.M JPS[n);vCk:S3Sڎ0SW ;Q m?nuvEV_~6W,{$IBI|LxڮxTf[)Gw)âbM 5cЉ4ɾ@'gUb%&DcyłO4+I .,Kp* ԫ, Ҵ\&jڔJС"1զ8΄jvMQfe.Hң&[Vi"X _XCs*nr }zͦXDz{8;ΟnfNyL$ Uگ`ѱ&owpuK.'>"لNNbs5T~5Ţ6Vpy %GBRe$Hzԙ)/h+r ,l~9":\P%|Tc PcK0rPz%k bεE-$ّ2?Q008`L,a &OZE24Hޒ`SixR8He =Bmˤm,^Qj(@L)Kj\/yF*cWbYx1Yl5I ,.{:cMDe-퐚څ|t#s s%W]5Rl99x)B-7y28ڶs3W7$bw:~W= `j\;_vM/{0\']Wz"̖?a}'(󓰕^Y&RYٛIX$ᾼ[_[nISEG(nr(urbHN脁=dE~2*X ՜"`(]j:jBl\Mn/_K8B6X@fUffZF|ЄM;L|:N4}댉E:l]o#)>P)E-xt96ID%nA킼/` \; LQjR_ߴ:hW.B6 0? u/V&҉u#qeI?n`gɬ78i.-Lt= ~5ad[g6DBa/S伤 Sxƨ.5:{kK,D939wJ9'W%ie=FJ02w%tA:AB %\U4JU3!DI9+ΥR=Wʘup9IP DnI]q&${`ɗ0t=,.SkI87`A\Xm2%xytdPv.-(fxcг(8f)AA 2a*1:lB W2Tc{)xe ) A Q)X(藓]NB8T7?_POlc ZCC7E=,_f3+p&fS >w-. QpYi&'s1EęƛCc!xvTʴc}*0*řٓto'{\9X⮭F!Kr5b[j*g>&uP} >^D 1p!-rgW]n8֝B̬ySK:z"<.UHEA8Iz |$=XU:ЙbȩQ7QN`7$hDxpVDaxH:mk-4sA}*VLS=mi.tdDk hܗT*Li893uDA\` ،LR$]ܪNT GεA17H־rO#ilKPlEpe()]=@o4t'IoYQ&PpKj#طE ~vWY7$%?1ة5L)SSR_ ?xn#ԟJ(X@(āYu&E<GT8LiT^)d#V\&"YyAVj  UXXPan%/$TU$~@(L ]n!"4f"ReA[ȋPi?t-@O?CDJ3xXizJx` nDg)~ܤ>JՃ]bXtQ$w1"\C4\yQI#;b5X h1/RHÿ*B!E &%p8R;_! PI3놡^d-ySEdEkbRh=;'ߦ9GC`n$,"^hw6v|U4>\A_ CoɓSYC 0w0(c('l#ȏ-oYZGEGI|',ݘ<0*b62fTs~ GL:FgW&Hɠ%tSӅOs `z¹;\)D=?_jo^?9//]=ÐYO`1Q2 |RVF*bQ(5 .h ZbA<˭na_F \oAX'_4_bD&N "OQƤrtn/⍣,ps)M L -a 3BEP-7@B۰ȧ^8e%2]!QCKC35IyR3d[h!]:R2ʪWSYT*A,+ᓔ42Yo ZT,$Ę<*:p\m *Zeb"NBN``Gzh"cV[D)61T; ;g[2įP6*kQU o\z%~bf Ҕ&OҪw \ZPIasWII,MޢA1L_&*DfCϐ{iYr%!2#o-63lrE<3[ jsFpn@\(ҩ^HX Jp\c2HnIFO 9lS_+x9 W&"dr]@ӐQzI,{ 1#)+=Pe)!M\5A.9#u=J&~NWuX!׾f;+EĹ)Q}J)!bNѽ˅,96ifdO!=PGa$#saLs(fWo=GG Z)VfC0M†](|!ԸFS2 e%D偐z{@tJF~e}V14 jnOj̊FfSwR땂㺘}V/xJ+8q8wa*nbいAÎ AtM[KI3dMbt/ }W,LH40(Aq*2;:(_c!:e_7j.UÙK{ ~<}#'0%EK w4 oO>7*[\ڢGYwv_BXj{SH`x/,+*U؄bXұV; K:CT~C{@ri9"4r% f.0(Ԛw>G0/&FX-UٲDqΌdbdcc17"\1bj H"bl!#Qp#Yс#Vt<u}r9<֑BFTĎ^V gQ"*vDJŗ (m g>%FW)v5Ksg&Jq{cd£R ZКr'H8rk?%T+aHנA'=I}Ld`Zaf€malӤJJؕf5j@&tFh!\# Ylz'E,Nx.\t_B'P(=&V!OZdBhO # ƖA(뇪:qcZ兽7?JR(/,ni-J/?iKS?QUaI֦(rFvA`bp|R>?J:mGmPi\xHe=7hBE6>.!7ǩ=)PJ˩zpWFamOeP ڂt 2>X Qd9:_dF*WZ`H+ТpdsFeKmN3hm77Y;,DR,Ŕj%MF6x.I= Q;iAa & [b3Tɲбח5p{wTmjfxEz!yh ஂ/yK+s 90NcDŵNx,#Xi~MJAv-kI:&2bRD.2Z]8;ҙB3g J5:q; Թ0Sm ږ$ \)a @'03cw YdZTksRֳ(ڴjĕO 4JfiC. WBm 6+ǢiLlZ\^,#"ّ M/VEZ29$vl)#&$9Uj6b9V uD>csT:>+[8">'RV.H(L-[H޸^laGI]IZ52Ro$cs {v~E 4WUJIgi7Um#K=T(-h1Klu"Jr:Aɹ΍dDU#ؕF"b܆%*IA1]BwV^,F zx/i>%p\l^"6^22wũ^@`P"ו!GIii3},kE_'ȝiT OΑ̼īG):/R~V6Vd? LjZ?Ӕ(_U٧ L=ThFNtfJRgBQ+% ؖ/;8aZ5MgDz첼 ! U%ta.9PS![,xIAfL%bwAj_&5f[\I+Jkî+3 ͪ Z|3,w I/ DtJx%c9<l3Jܳ!,/t~& #M8е C:'ՆqLɈ͊RH"!!n pYAlNk@tB2QA"Le͹m$B^T,8BkI>gq8Ѩ-{̔[+]ET wYCB%5!+D)5lBY4Teط{UhފCR[ wƂn"U7?]!WqEjxj 0_mL"P>\qF>M^&=A^5P&4ذl6b10JsgH@Z ɉjTxa! 䳵ܰT A=N>bRvdHʬ &VDm#(B|d-])y <G:ZyrϥJhHkqz/<BD̑̉Rfqwcw! >Rͮ;=?P=ňEGsOR:l,UOnǸ2'6Fћ e~5kmcឥ+=uz\"P Bu7"n8BW?xJdT+m k[ k86R) E 2 aPi)\F8EP0 T"\ŝ:j&!KUME/xFm). :vF \ _ gIRR ֶ.TA5E뙨!Srx7zfU I>A"b.4/H3 vWI|[ fR?#mz5R0hTLP \zt fՏD]~+(T1BF i#YB]IaQGϸ~$ INF&4h0ܺVC@%-'D _ *J"ED[*4m;|BY?bo)}h ŗ |UD.;ގ{U&&t#{~x@ PA!$̫[/jkJͧB\Qh cyI 2/Jgu .\̑~5oWJQ#+ cdk]Е1\ lfuYC+ϯ\[9Ӑ&N&™Ak>5Ƅ$=tDH %_J"iLkPͅ o"ubHk[ho\rАS h:g@a -V&Чj^&%Kp7bA|ZN.̛.z{D>?_* ZƷ ,?7 :ڜKx1DZ6SB2KiZ% R"p]i``k-$$QByvc vcI8~oУxaD ݇dCkC4 L 7&@]#>Skjg7%-dA鿖ļ^x$߁g 2\@'⋻M&+ q1nyB"Zǰ'`%x|g dIhOard6d,$$ڍq"%x#9ᨚ!QM6g4KQdPXHGHTd鐐(?]Aa@$w={k5cQ9Nd$/3i22Dw(FFf͚ݛ]bie8m{8؟N+0ӁrJ?[WIm@ރ\]'{zHL aVFIv SY=yCu4l[qHA$m1 B}xs74R =JF("ԩ] <& ‚P‘1I^k/_j6RY[e~Z8 !.8V,O~L36O: \UYJJg`ɋȄ!xzd2F8WQq˳X DJ.av6Wm)/uu$viuN%i|plJ,~`vJXU.zfJȜR<К->11mDVH$ Uއ{ lk2KӘLL"c'}aYC~tB,b-ID"66J61˗D@]/Az$["8 cE\lRZ|[J r]H K~l#()RO.{=;fѦk^ljYZ\rrTq87~K,2,5Wߎ2hF?OGfC,3[]/" ˊȂaQI$R6F }2E+E=hGu'KU$ UOқΣ %F,%T1KyՓS+QM ޻ r"[VS_m}ُb*k`*ROiLbkaM=tW~\Xn@-SMIw.&5iO5ϳ-aoH%nq.H@"{nzcN(N5F֒a"?'@XjG!w[6afwiJzJz88)\N9D d>I㫁5@LbVuסNl&*( 'v~%l:ЌBW"pބƚ񀰙]PٯiI<$mpYM@GȎҁ[+h3S6h]z"jl m 3~abkv"iv. +3Knhκ=Bܓ!.`Uq2gl|/i^i]RJ )ISmotA- u[[sGEUmDc3%$*' Ov`v&)(tUyDJ5BU? h\OȨ&w.Zt|IRv8[q3L2>Br K]`> gDOЍ0NoQ2InWA D_D$9Bu)H%e1kesdvlz8! =6w,aEVkV-3|~&tR[VFUZ' SǷF-xLh4&Drsˉ7Eի [3,jF:V޺REtf ~鮮R/LV6NvRߠBnx r՟-9v::Y*UW^Z[],.sh&B:5WI8К6``fY̸ KX\t\OGؘBwH 8BR4^~c±;(+ en2@s hW*T fڈF+GEZ7~g+`2i(^%N*ѫtH02I`r唣&ׯ%L>c/3$Թ̦)1w#163d̒1[TDteegQb>>KQ?0\W2J|譺H!\K舎-15} ,)))眙E~78ݾԸ"OD/%C\# B "vꛝB+!O)x^Wm ͥwv"{Dvlo)=J~aߏn3yQ[W9hzӜl㕣05Pϒ==)g V834ȐͱTyw2>7a˔c:kkdqC>$R@hf&~HiDBXwG:nA{a ^A5&~a*K#*DK";Q%P^C@2Պ僣wCf*!8\ Dd2Kݳ ݔ' zc%oLDMw|Hu*fjă9x( *7|x(ߴk-Aqbb| V6"jriuWFwH/(^EKws t6l{jQ A}轙d&Cȕk,9wiI@GX%PcV rf _ݔD%ONh[h!K:y@փ7gDdsd(-&GvnU!y:9IBtN' )(ݦ,F$(lNQjH-nsyv-4g#'th=^% Y T 1( X+`J7j$FJ2@hJ d'GȐPɈ͋UF_X3 Y/Ƹ%S?am++k]Qv IEiGOKHZb[]W Gah! Bp/ bDP'ZǔohG%%Rc%vk`I8$ !()0)*~GGP(c^bZNr}+!)%*tYW}ydFi~zݱ Qm(bUֲ6:d,|`<(i!Tbv0(MlvG(4{ƺWEoe%\[*d3خG<;AW̧sIMWē$eDR{XoLIWJ Hm)[2d!IVMLIZޖ~6= & >6HL(ޓS#T+4 |N?W8!GBG3tSDIt4"QWhˁMF<ͧTsg7irtYG7Je1zvDZUJ  ’VȘp/ #70@`TrQRTi6-HF_WOE [̥ ;wzjڍ%J{OV9#9"Y&i]~S/քr"(Dc,AL5n@:=.v{}Lqvc-rExw 5+|*I謭-taoyz0sIJ ML# %W$Ke m[$aBz$&vݔF|OeƍFϪe kzU$813,BA) 31U-©J1kzlb t ʮەG!](ܬr&Σ\=Ԙf%O ޜ Kč "|Ȥ̰r&6<HElZ"fNȧ!K8B.*#f"jTND{ugkΑH 0"vIHݑ顺X~Q, kw^^`*ڵ%@.4"@e;.i.}nG fOaĮ"6 q\Ŭ{FA %tsAA2ӯ%GW|GHaCSOWɬC.ro57^ih0JQUqEII !4G F(W" θg`\dRyפ:2DV5oA*ZlD8жW`3<Be 'J}&"g^֊hl:9KIBfӤ.c)ŀ\$0ޗ唃 !>;d$Y  48C+xtZxKQpC[NO(G;Chw&Q(KW\nW=A`&kT) 7}]U]4: U`ˑ(TJ%zN_)Tv7[6;JFs5̡8/kڼby5gW Y7$9s`&K=u49$6Qm㠒Orv`1a?}9{$ww|=艫8a% JVzjő *ѻtI(ߥbĔvOI:O6Av1T ;6ՠ3eY=䆔0҇S(5sQDHi zs^ cbE Be%$S3~G<*(GL2bҿj57@Nzt5,b@hK ;!ʣ(|]ʊ Х*~P&+;q}gFb z&ԗ0^@/h4_3e|Hj?_7ԭLD㍂&,o``#bZ 8OhE;MT*ҶEZL|H&sR#nh*^@(7%P,JoasSa5X/ S-Gn;NeFo$5]OaW[XyZk9(;c;[7@P1]-'\'g&DEt$vt`#e)[ro% NLO F")U % AwvgvTsP JB]ոeCaڬd]tEDXr,,R;:UD ,j5٩!%qӀU Mn_ y;F0;/|pg~/Z=[YZ `jd G-J'-/@ ݭ?S(oqWHŸuF6S덋m|Q2f*X6EP6 _r'+z_qCcuW|zrDaR~&׬ʲ|>LRY@Đ ~;Vp[CfwHsg <`B]~q3>b֤a,v_=` cEvrTXJm S6M+1b@YҨd%|MqEF+X)|FZŐDHl+U-LN=['c7k2Wrb%U5BqcЮaLkoRK@+)xZ+>džhXm]bEᴌ^uzLTҠFP&hvQfCoK%Ŭ)\ Na3MROn:zr!G((1R3"Aw'ߏ%TTPRdL8: L0#>t@ѧC܇@tx8ˉBq@Tb/#-#rDLAB[E'#_靐ck4̟Su DT#BbYaTGn$N@+3pfe'AZ&m#c+BF瀾A'vnsanJf蔑ʭڛeN;b(dIg0ZZ~9FeL@TQ UPWT]I}.ߥBl +(i0[ 'EL0ȟmh؟ mG gZ R[n (MP6nmj 0):vl8 So ?((rI͵t(!"cQU>1hAa[G4 , *[q1wsBbur]M=cEqXk쯥nb!엥I9|KCAGȈ[GVT+&S\/k贐Vn\vbjywH+yŨXN5+??cQγAK=n6QxuvB*> olmd&xdddy"cJ|{5ce]?ne6KfՉ*/$nhpTx3ӂrYhI&FDO.T%<ÕO2i76\:nycRڃmqpOYT*_+ 9Q&*EN29$6@A U|wE!@ = b4pC+ tA>DA,3A(oSݯpWjw+ e\oƟ Tq *A7/Bm gX#NQdN #n]fxw@a= w 1dBFdNȂ{' "qZ_hD,y $21OZSfdeWS)O-N6Xu3֥ VL{X1ϒlTK+</+tqOd4{$ARAZ%KbW}ᡚ$)Љ%F L A`nu{:8_ϖM#s; O& *mVDr|S8[>T[(; :edH.hMP:\}VDq$0B))%)o).L41!g~nޯ_IDU&IC nG M,V"3yrJ9R8" 8p7)apLV`'ބgQW<=vC$!pZXmfpZ2V ȶ1`s}5Pc5Z .~h͈ymz0WT[ZVq@\EW`gθDh% B+'"Gٙjt\L02]^\bjICFin)ZHHP)&F!|"qk T*zDSNYVbN(N}G6I-E FrRПc(V]r{qE0c?h`exI1JU22\j~3^U@U݊đGTf[cw\}G6O$$8pɈ͌@LoGtL{3u?>pAm iU ӏ "x}WEłyPcsxIaAA^&kJjRb}IxBy{xmKsi F⦎t.!ťiֆo[.I) ', 3K&&锾޾80I2o䕌Mc`>1*ZB ͤly`2b?3ɧV>YF ;C{1D܊fˢӨYi'ˊ^6S"5{^V9|}{ vVQ O<.)&5ך D&~oj ®R"̉Ȯ8ϴ:ZfG-;gjծYX\_fuwu3<"Q%6Ύ فeb>j^X bo_3e3aBU)OΒ7}u8r ybu~ 963&zZB BT[HdVGήCeפM :7v;\kФlq)񕙾E{We+)bV^AuIaL(K.8~l^l0o|\X6H۩jG'*EϦ!xvɍҒgh9M\`d4. 4Nw0Kb,ȿ2\ҾCLDKߢ̙7Ef!D! |RꘔMK˒U`!`0&,4*٥3Ն^r8Lk$5TERCaL8DH-ZC: NtIA?H],:U5U h$p<&k%lFɴVDTWYj]t!?P褃WgC* "gQ8Pv^^ejK`a$*= s!srұt ue?hՖ4g)9;!CǺl%1.ZՇ6I&BrGq /3d= KYE{Q~~O%75@&gFw1ARR Ă-@(t* (dn7F6ՔĊ'ǒ(ޟGu3t&K xe[oPR7Rr Ŗ;|j+>?&jEcDy7BZPLEs. =4%'|Pga7II; jT_Bj?mN]1I lպr6SNj /bW7'ra* D~1Z=Ռ%ޚIMat[, =RoE,eLB&ua(I=&v=EE,KVX+W ˬ9^:^v1lvo C_P̈\z>!!A#iJbjd:F׮_^z.醇Fi Bgā8OG'!t>PZGAx%#|?4(~("2D@d2Q oF",b' 2,y5O?Q %#N>@cu2*`^i‚6Q It3le"'^&?iIT.2'b#Ţ1P0dc[ju1ɺAJJˤyuF1 +ʆX5.hlMKpI}XHcIiD%ֹ ໘Ӻw+D]8LGfLeN[5FwƇ0&5wp']lQ{ޔc| }NNn;)\SEc샙=:e~!\[^>(pˏ\h[U]9.zZUX}ܻAr.6wS[he@'A޸Z^*#˛5YnH DHң2j-Ph~vh( o\'-#>bx Hv)bvy$1nFPYfld2 ⑅d7@'.~GܠxR(B05ڂ! I;S”y'#r3ߌ ]b;zPf@ ˆ\ h%X~oJѭo d@ﱍz>d;)>#x&6|Y~B^b=#(rY4{ыf"FEK0ԑHN#d&0u_y4Lj^!\t!]w2^s&%"=@Oy8LSS+ jboJ K{2)ī 6FڶN=:/,ص>A_ ʚ8yq:#Ԫ)ڳnu da{DAJ 1峓tDYig5 g @ЇW,j~!PB;HEFg,Boۥx tSu7-CȌŋJ.KK4p9x_U?jJ26/絺8<:KOX#MNvsT®tC@(hS`I1ccP #r)> {A%Kc@R^dkr(R;OߐLDV)p ɆDl> LJ{v_#FԾN UD)_Ԁ/7V%R݁Y p;g}vj<ؘՎX<܍`{ K(K )$ծ24g)lOpLG7DyG7_+hM1I]-!=g"8۱cFlZ)2 B; }WL,_ӕonmus4?,\WW!ȏFjBC$q*8KEFj]]y#%5s1ehAE9SnZFEǭa !%`1Iird0&OvLj590ᕕD\+_t]c$ 䗪yEN/;$g5jrSTѢzGib}Ā_#'l?!;V;'!\!C[B gt^ڟJ&x7ZK'ut¼2k+1ow aM20K|Pb)+?S,-^wV'D_B,a ~\ zv-L9>~3c9 (F c띦4-0:0kyJ쮴 h(5ܮލ)H} {G7%1.蜆8/ %!A [n*tZ 8Xr-d.ɛY4o3s+[#JڣZIwB¾ZBB,D.Ȁ)6Ho,V p!RO1#ulw0'c-D ! fTwH#2so!RjyI$`on)aHP(B6'&}limOJ~#c u,7UnhVQE ij7ƷpL:?*4^΄ܵ #!iVhŽ7Ť 8;`Vb o^+dq$H\a |*H؛zPgAYF)[]\"̭M]D̛"XRXMB5!j2td3NH#4EM-Rc$hio  NR7t6z 2Qj%'ῥ dv~Ds8rw|=`,="J,܆D_Lx ~pЄ a}yεRJA&weڏaU'{Uچ,shz>K$bQUۤ!+TfKtHDck^JM+KZ^hm׼!8zaS/ &KM*D2g4ZH#ca*t5&dq S@)>n"zّ Ǒd@9z~l EHHץߟ|_Ж،o7ja;Rͤբa *lezĚ_JI1Yr:"W(ZUXޫeiM![Qf3&*JQc>j=e-!mE(sPc$ßD \hۤfꔣ&-o1"fܭ4Ld9 [irjyƓ:ݲ}Pj_ ~sc0%BxE?TO a B|$[75AӔ5=]ݺ.&IS+$aU* mY"GOg*k i;UR^mcaMC Ӻ%}E]A k*TDYVQ{GJwrZye(P *=p#R,pxαJZok=Mz"wnh/3t2cJEE<%|DNDz? Ҡ/zFld7Sv05yTNSbz[㒥п_poS`Q)L7!~E*3Eqχg^U{L1X:SLr$6+`{ d0>CLo,"hUJ UZ$LdU+诰(Vfhp\ V!CBtAhHmB2 hH]Obݢ?Q^<7LD%(b[ #Veu\x2#P-nQ=3Ԧe@* GD;ODTnW9" vN[#pJ>.|@f6@LA5UFBiW#&.jqU?۝7$Xb%ز]F􌪥:),$^HE矠[s$EEҗ+  lMsJ;47xk S>OW+*2VN F$PNB% L,HBWF'n8K-rt@L`M5ř%َ C?o[53Uuy?6ɎyP@;&!<\Ըlid : z/8XE--I K?E4! vSQ2K_&'.-@"^DnG\ڡ,zRPRp[0TG&>fk&^ ϻ/:~D}8 gY5$hA㤈=X~ H]'9"祊`iʅܘHn(a9lx1:߄I&U)Tkr4XZЮJo"BY],pxXDDR,;9bQIa'$J&q O ~Lb։I0F;ƭR[XOQXx\Z̓RR9 .cAP͒hR *+R0T~rEЗ"Rk)' V9Ѡ҅tthvPY(vD LӬ܈*pxj(/Zmn3ޏ1_@QaM0 P\G ڟIE>OOrzioy+?DGE<4:Px%O@*b$dN14ݴ\š!lfwY ɦM`nVNԣV'FT -x+B"cT4H ;f@Sm(pˈEUJ0tES½M\`e B0MɈ͍GTw,5R'uu!pHײ?|STމ 3+[Яw)#:)oK˪ 6 'q'Rْkվe/SzIԞMSw' OJZҭd-O;[.["ߧ'bdL}qrU|(L}+i]#Z x;y$NGԸ ﳨKٵZ:j6被 QeP9 +tr 1SNm_3uГ[k+"h˱#Y;E˞*zuL6(7yrv`4ۂK$P ! TJ7bOmm&eU2 M=^9 y'9Z)v8%-S-^^U&GR"eL_JQ! ۾v~MfTJzYzik "zN;MTR3N'kz.e=g#!O(Ŧ!o1c6׶'gjRӂIߓB5licԴ"j#<Vq"!]E ҋ ^ulGz=>Lw]u i~BӼj # VtRx((usaA, ]-doV 6Xl,Q^:ݰݵp_K؄a%<2[!̷Ķ|lvZ38X! w!V zS'S*o(vO3X}s"^ӌ_^rؗ§AOal,:0%nJHL-@[ v>9ԭFi0;.u܌(O{Ny"eMpUu%}8( ׎Ugr9Y4iMҒkWMMJݫtv?b,$z!"b{SS2~ S8''gSfц7_#Bƽ+͇Iy:h C[O"e Vnֽ_>YpQWN]pߡx|0E?*aN(ֈJ9K"8eqdL_ 1.a-^Ngɚޡm9| eו;[mĝ,h<\A.5 F3Lzb"='",9SĘHyh!$ߡ8H.Dn V0\dBO (Y- ACMCl2{"U@9o塻(Wk2+ ~'@h̅F-%Y02^̹0AtӶcQ 7"ImB[DnL7lQ<*IˎiGބAhd*VS-KHۘ2>т}HZJw২G=&%9`\iW\ODʡv `!9  $nx< |jSׁ jEdj~~n&=]l:BG;~-wB|gZc˜ظ0Qg'MD]R PBH,R\86Ɇ*Ūpyty{+@FKioHUJ#Q5GlbYNk>dԮhjFy$yֺI)Z<:=#(Rx=ۋݕUJ$![)eJFV[,ߩ2%}՞(#4EX H:ze$M\s5T) vmR[Hഖ,qY&&tIk[*9A=w_[鵂3@߾"Ә9[蘧z; 9Hs# >QS|BSgs~m*$'fK=tDŽ?otQC%pީGY[|R hNI^\ԚPէz7 \{+*[ȏKUPKϰR XyFQwQW씲l`FM'm#oF8۴Bd񡛒5l;Է oNPPT?E0M23"=lEk+>YǸlMut_ SHB^+gѷʽJ+:[%|osB(Dmul-j5bzSˋ9Ǡ!sȞ.jx'%_'&*t#7N'O"3VH`\7Ax#z&2'gDd[5}Ċ[bЅtՑRV) V5|S@w`x蠭"2kg,}l^kyskn/a xe߱}2Wӣ̺1SNUZt!u9SS+-u* e?3RM{Ŗ{r5nk.c|dh"_JSEQ)xi!ܽET`agۊzVY5.Pc*^FN3$YdJ6d؏!&"l~At3AQ?~*} tTQ'h-PJE%)I"6}9hH!=J#h"! =E>-n>Цkdzb?qϡ5FT zMZ"& 9'HX xXo3Nv2b?OAFVפzS.-c'`QgF@(:caF4ыЕ*^uȃ.)f3W ƺRQ&,(a#|QZU߆178"DT3(ށ/ 3 qTfhsQe~CXCX4x,V nKĕZIKuCL ҄ Eq`To}&²=e$88͟?X (Yҭ/Y R^.}KJmrPPH${`$*$9#|RtiPU 4us&6ZUI|Uh'{:XDy̹D,Yp&*1>KաeTo 4K }S "FE nҞя+@.à Hv H*Eg~WMRf{eeXi-@iâGC̎"ۣEeyu*g9&jB[bnR 6{8l]bA'=%+[ A-iyQn 'o#fm=B2f赼O-̡e0bؑ3ڽn{L 8e92ԌHV-d,hh"ݣiCv .osty-$tR`;@m h(kng$WsK+Zǚ\q 5J"KPGM:l ~L4sˮ ~H:Y'{1pP^(jXd˜ldF:Lila% s&S6!C?ZVzsO%$(DAk8ߥ-5CH Od {"9i ?Kq _JHqUH0ғΠ|1Ơٍ.:'h("s$jSļ>Q!'4 > Α@]`ĉhשb4ᔷ)V]DS3ɽZ/XFs6 `i'Tfhl/P?{9ލK] RI)&2TH*DWnEϞ:lFqe<ebdU-pNJ7uI&f~E}^*rszՉ;uk{ 1uJc_afMm>PkBjepPwpdY(c2n>mIg{ܽCEJDBV[:j1<-8'}-}"߯8592#˾ܳԦԥ6Q7O{Z𵲿*[va*\>S-n9oǺ"S# R3mÝ\g*t" /hR>z]} \4C&4G'O RTfep؎+ EeL܊c 2bL/ Eb^- uEW!|(SQ8T,D qȬ&L/RBQ~\~ֱI  Dq$:Yb#[ lI@kȸqX;:!a,A}m+S~]66ng}+;#$P٤XrolZI/7$8sEYID7z+9nʎ`;J,6&PKcl~YkyUłܰy^K$5S328Au906/G.W'Xd@.dbQkiVtB)RU/ߑ lv]3!EI<' -y@~KI &UGQp $2E9^D=q#C Jd3;"X"6JʠL7ke55ؔ=n݄ 1:P%R\9pB v92΢c#J.Iכ-CqsMZ_aKHDARw: a ԥՐo465RjQ1LGIZ^S><ҽ(d]Sw[,sj̟82wjp|r9RoDĹ!H\HQcb/wȵ UdDk.Ĺp-y~a#՛}Ȍ2S9iXKҔ$tFT]ȕXSdW LwZ2 ^<&YF\-&** %"@2 R녦0]#e(&,7YbpJ!6}+(B^iX=QHS[]e ;Y!6/XA0Q%ۙ*ˁ6(cJ,2 h.yt4+Q># Й`1d"؎ˊWF9)NaUP]?35W&Y3d46>Y p^8uin'F1 8 F ]?DҬ8H:p[A~>&{ 7PXP췢-P4X>$!wFRk"Lf|uk=p/@HÄnQcēx vHFnh;NEu>f+ރxn^P"e7?_̎/g/ho-q]pс4 k[jӹW)׶0b߿ 3FNQ?p#ߢWIoqɅ୰sån<j>(s9`r{ߧJ(R~xqbeMrK&&♙UeW?Fiw%~N[1(|"A_0qD!]s2ue5oۂ9}0N-|!>0TUrWc軡߯'M E^LՌupᎠ`9,Z*PJ+Q\G[bbVYc6QHgVyGHjWd tm6\,`9'ʩ {gd[̮_rҎY]WK@[čUiC:XoLȪJG*R~ꐠ̥z?;!:9~%1Cej}-74 ^܎!Ga/]T"1K" U$dhYo?Ǖ:UpJmڼCy#(Or.H7m'& 07l0ɄROkbPG7FJ+pzHf2Mn[CimuGCUBBXA&KCp_{$vI %+\1B#if8O^3w(l_NŒpEx-~D"խJ/ аHVuj:!*<ɻn4DjgO(uQH|.V@܄ 5%a1 Hp]*盦0hk$K06w_F1_)3t" }0qmE؈#QR 𧷗hmapiĎ7!ݘLxYk-*Ii\_b Ud̽i^OErh)" $/4< Zڒ$Efe/m6iod7,0GsǑD/, DK.V)R!.g3Qc$&U[ 0&@+uVDHt;%׃9'/^4ݎnZ*XF$̶x;SƔVevG b]T]F[QP1uWtj~;))`*&+B),az׷lðidA>:%1bnLѯ$E֕n ܯTwC9YzL>93" O M/){ˆBK1i%up-vgFnRHjxZK g$ ia_]1)uMNBIjR `)0EHQH1巖_ ̃}I1fvZtīD~8Y'(3Wz3.V -ɝ7䊼侰8 rB>ך멣<9W!O'ioR'TF &}À0 Zο:c@g6/rG*; 4#"!{v~웓z chna!+L1!:U0PVD Rɛhlbi[&$ S:VЙ\ |I4<enjBM%W8./[|l}521Z{tvq{AFIbZ~{$E>G3 4:4_BCr@jRLLB\I݇c2BLb7e{ B5e9gE b/bП? h!v;1}} `L"N  P P|djPFhg tĄ( c@0nJ@SguQ+cZi̳%8FI_ B-#&j@PW:{gfT0f"aj`.,9a 'uPi[Q"5]'۱ƍ{ vWqEI;RnudALw-)߁uh&QyS3|Wfw ,`ش"!WY(-- 7k..PFXA[=ƺ2ȌܣK+vWUrqZuNxxNЙ )bDx/4U&|OZzOӕu]pT|A+e&!S,g* Ob0ddXgC%|OM2+$E!0G:+cGO]L`3{vV Dh$ߔf?PȐ!׀giDquϘ*7Q֐gczRZo%b6S?9LۗݳG)S,'鿱܎{%Lm%*jfP㈟3F|&HʇzNyas)'1!dH!o>kN)Lfn {DDQ>\M}(%ʼ)_YاWk',ډ(iz}1 y3>l,B KS9hB\NTߩCSPNj4vR )p7B?-+ H86bLiIo LV;Q:Wb6|pإUzUN%Da@#hTNJN l~(+^/TWk~>LTFV/Eko}d1b,GȚ=[ PhDrARܦWB yE Fak>rM9]i IҕNenS=ׁ@/(Sͮ*PEIu*uJuږ ք̜6bO72m7?gyz 'tR}3в^&qUڟ/_mj٢*מM|9|'<4 &:}BVy!~$T$9f @ '΅C^`Ԋ{JJkZ4%D!-Ս:0#حF?OμHwz9^^S@ma%O1Zs8=.eܭ[?_+mEwIVLkb%I[yUH "dpAZOoG>k Ÿ$vb_ gJec*_O]Һ^b`6Lb7v5|F,Z]/`9D( amJم)d',ЗAҿ]yw?lѰJ C䉾fTҸBT$F&ߐ6zZOohghsxTsi5:Şi}Ϸ[]Dl3c!x2t#lC(0\59ʪ._Bu얹Hk83C<!M $=bjLvx" wp:/OgHv=G)L<C^gOZc^P7Ltj͐j|+HҜ31jo 1.E nPE9L,/+2ܔwGx˹FrQ 0%"g>h"s`#Ȳ,!*жViNEy Q힗_=MVi׸6p\!##z%̇3@Aw}'bpA!(Pxa *8" 17Y%1)DnE\Ȍv˩gqhm 2"K^ŘGN 9,4`^b%b|.rFmH׬2^HtMFi ѴG 'K/4G{=?{->ۊ}A޶~^y1l%^'8C*37}/yNB/";!6eKQUoDǝ9i{s ̃gp4Y[5|lq'hgwHӌ9q0K]9[ߖ/N_(DCxhy;*RH,Ź L'֝gPỵ0Z3=5::0y,Q`#/ե7ƽi& 7GZ2Ai*^{V-[RKkt >T#%b lt0[MܣRgǎ^XTI՟.\k(P`ow^PKkV i%vQ\[hp]hXP=[gGD5 6;t\Qbh%̠w<' /w:)\LQhC-,VFL@ìC A"~"i"(CE=\pT'*)o֛虼]ӪP^xXde4AN |!OyTId剶KS66؍f:|wܤH oPnG_ r\Q=~+rm4FP1A jWG-lF#;˂X)ޑ)#QvWFBZĜiR;e-et6+B^ܴz 2c[BibƤ m.%yN(#BEnPQ,&$=uhwM΅qۙLC9rM >P{z!8ES)a7u`5հ^"R8ʽe< ~u{WT@Y߸} RYgl7]k+Nnњ$H|ԩ=Q[+=OZR~/m A\$P6dy@etC\, ~E C2yVA?ffi +)w3(OXX`C & TcTe¨z&z&V]tۙxAݵW"RK.q:CB"r]늮P~Ow@iuxD/MF9WҸ݂?/K%H|P"6yT/7e8s NX]R(y3;<,tE#q2w7ڶJH D;T_/%%EnC~PAm4l}OIQ@g~xm|Z$2G=G=lz7E$%U2mtyTo_N"/TK]K EƑt?%[oLthDԍDٔFّt㙵3)bįDwo.dΦsm@7:FՎ ؞ QS*azںԣ8ık֨EG;ż@?_O |e햞y':%j:}t"W$ٹ , $R˳1\BP$J4?:B9LBF%&̆!L) "'!xs^*AZA8 11 kiD iU7cNħJ;.B {ansNd?lj $b_@٨qXktLAA*"»el+j I ʇ(f :RW0<ܽ 3GtZDNb/[/=z|#2(sD}d #~u_3H{n"R!S6kfETuL)o9- 5pW8ώ&#ۯ 鴖nW谮JQp!]HBb)/BF1lX,k\m o4 ÂPt ^|"ɲ N!xe /P^G8dDCu ދuJmBvyEJ.(Vf[ H {)l@KEJ 0zZ] 'p{% K7qoٰRRBXl}WF%c8KTjqdq-3[H>ȴuyv U]aLEq:")~{ZɠLf/> L^Q)ԚnP_gZ(EI\ vZ e_7^T"f *NO)OVY +2kZ'Tb]UiϟYr4&Җ"A$ cA-& |Mb#FXNr" N/+)X)4ʝ1WN Q' jz'*)V[Pj,9RVCu; 9 I Bbcv ^[v0r R1O 9*%ԝ\Zq%611K&*{Y Kcs벁J>?Qi8z$#{2{k1:6l}.QĽ5+GV{$Qڽ:QBgH+GS}O|A'#"kBg(6h иDA%I~Z+++t۴9QQ1z m։ 3E$<8z3?+hl' Hb> NP d+Yđ@RKFݮsq2J?at6.MΗ;DNĵQtS~,%MdC̖?l!e7ݝj&%JNi@e*ڐ1 Y|OJV՞&V74 aŹ& rK3"IJ Iܙ B qWȎ#1V2,$bIC%Kk&:`ԹpA#MָrcF (n l Q Ӛ)'Ep0I9`szYzA~bE#b*jfɤ$qX`\j'$)I˕ez"9D^#峹-D#SHg6 zdVJ:dw# 6V:  qI~Jrl፿O[պNٙ A)? rAe9Vߖ9:Uu(e5yl!rTIڒM~Y[k3WԁԈщ+T'JЙe5dyHh-dk,YgNjUtt9~)dWUiX3g=[}PTZ֪Z9>PQ%Y_rD盪.3F.\D 6IA ظ$1hf: ΆaFpm! ÙJU[4 Ћ&x@ | yC^#,nQ7N0BB )@Uj+r ImaS tN*;6(<#qᮅbm$jb9.QM]oF0TfvJ=9-lubU"6!t ڗZeDɨ͏ V : }?#~!Ȝ`th) @r.P28@8?ݓЄfz/@V^ia U{i;,%e;͝_5Px郶T鯝,cG#~7a.BNSJ4 S)4~%.>K#fQ7C4S%9"%*QTۗ21E?L;$ꂤSZWe~\6FL(`3(6y9|$\(eQx]S,`B'ec PQ ȘH'?`Xڤ{伍Fɾ#aZ224 SZ[  (2Q˵4?wز77 R!KanR!+CDnDx{̠܁~N=x5 -JO opyhDl7])z'29 bev) Y&Ȝ3"m\kBfu$,wZJ%٘r}V|s2 tjT%.X{ᦘՎ\C6}o#,7cpoc٭b1kvqpP8P')7'dp-m[Jfc[q轉LJPE0ķDtt"#OL${+xlHT@ 3*;=NEFd* T!pjw|388ecSe0&a#o}M}f 34YU&D tdžG·{H u {dڄ -J4s%g*3LSal&6wvTh2eV!6;B"/rleגj wcE_V5vN:1Y-޿vuɥx9jO%鯒[UADZTϵCXX5߹.![,zdf!?=t a:emhA !Dɐ7"%8 uy:R_C Ws fz^|ԙdm$EznW'osGzB!Zw%^!>5@إuVJ.N`F' q @,&(G*eϛ1 !s4ǃ7$k lʚ<\ܽEO5bNm8X!CSǩ]-ҥ{Z:/lP{xiz%w˱aWtY9݃ST|Hu8G_ZI⋯Ą)KKN /ҹLe0ؼ0-hoڵgQ\pǿC!W<?]ge!8TB"ws,ItLfZKnc2_H55q-N줶OCB/[J(R-! *bN`vM=@a 'J@gecDWr$z8=& B9lWKugJ@VɱJNd SU*l&H;ґfʿUiH NKZA^:X`'qPIVK̢}j)k+) LR xzڷnZfg 0 ہʐ+sO%EsVM" ধjS& &yAz&ly*VpAxL92b҈D(=8,t{64q>=bbmu9sxbs׭Pع5|ZG^$ueWdy.f-'!wrMŻ9f9o?uH!!WZJs BԺ)QٺXZMTH[0}([qVDMK8? )hz*T\%W#y~),/&2;fuP] 0ިH 7w~okj$ht!+ j:kvZB[].RVF%*IGjl(0u`a _=6&2#n]h8JPbhapT@E4  Q¡a=bmCסevtș`Ja*QBMBk!:MD K;N#)- bnJs 2hQQ2{N⩹<_'a&A,ɜHuITE-厵4&a}ZN^#4gEc~{ (ArWUR@)0 xwvZ=@\l !Cʩw *Z&O8N!nCr%4#p GVyNE?[JXwX[zNx$ǀ~ W(o|ܙ9&g+mP9 BLlL7,YR[o czw/ &9k MpHkUK TEHg ȸYwRxNY^ߺZ>I6tf^7)mDM fNlľ<|++sC#pm# Fz&\H]y}ԣ kcf_ \2&VS,X --MtQ| Bm+BJ0/qF@Q`ؤ$SzYL%Mk}CEkBZoDNvWR5P>8hTY3ƂAVy/ \ڰ @Wȿp E^VFrK+Ti٥:(hW}>;!Hv.~\R;dSaRbgg"Q :a5Lb z CfِU7P4Hs7v-X!MENaf6Kn > -.lEBt{#\4ىhE&lD I KZ_'oi5F+{jVl9)FUW@IR}R:RA=^Gu"ÜEAl !޸(B7j7tl*&-P"Lװ-8C`aVIf(ζёSU>QOYY7z҂fВ]R]L23 [9B^yHȌ6B̝Y,COWAz , 2!Jɣ"D I pyBd:-C [QW: >$:֮mM D"2x,̈́C>&XWdZI+grUm8:!ʇmՐ怒iQ­&E}cB1$JE?NZܸ9D*fvbjX~iEA=ִW*2]~e1]5X։>utf:b^yX\G8Qi-XɅMw" q9ăL%.r=p56ʠVDyE*UVAo17"d.;`Be"'Eh]r1wKWtZ.vI9e&)zb$)+u(ˆ9@@hXmitX  |A=1ƭ{MƨH5.nh\I~Vm?}scB#*Lsd:>['I(g'\TS<'dmܜ DIN(gQD%ٚĉQsLDFvyw֥!oΦ@<-5`ɡ 8c@ly<LZ^6UaQb"!MwQѷMI5(Y% KUOCR! F0UF-PAwʜF/u,0KЬ.2\GS5e6<ڱ؞-1 EBAq))yWpr,Ӄ嫊T+J %]^s+a:,%sVn_X0yO6ۺjOcTrPeũ/iL*Ä IotLYj%a?d6PFvx/%7TIf^ rF׮;Y3d-E&Ǹ&JImRAZnПB7ΞE59^JrX1J7薙ށ/6Á^Brr*7Gr5l N;XoGUH< HhA@H'pLa<p[Pԇ&f/8W 巳#Eqԅt2Z:HD$M> Âkf0町e dK!ͻ241hv@$NyDmm6~c 24qWX ߪ}TMCE׮ + [}ޘT$VYlf脳_9nz"eV[IǶevz8%Dd]bG7"c_s*K"K쯆f58]bJK<&uZUTW^މn4|tQr ʎ pzS(0~ +yqW.u0]W5 i8cWHrNѭ{DKp<xd^g%XIܖ:/Y uTecBR>h/a`8^ IX9T&2iAblBR uwq^95?HV rˡJt(^c3iذg.*7*_SGFUplTmB6J΀aI7? bjbr/9x~+\1-O8M D!z6 eb;]^v b2xc=+KK#ZO(bg.RN^XQOdzODɕf$)XGy>)~&d|-AC :JCج7wҷG.U%(D!Ėf^%"cߔ?7yTDXK.I̅Tݱx&vǡA~)>so|7`[D\*KHeoUKI*;$iuLȪ*5T&qm !4O 1U: D:PU|ߍ*z`@Wఘ+ JAhC!bΉ@ٛS Cdrґu^w5FDx pj!(Q2ۭ02ve/WQaĂnO ]X^ 22cяU'E:eüBk/4Yd{!'`-\G[=t[?X .g7aY*-h35РSZL!psy+tqxBY%z8@7<|ܪL4QMYOFo%GqRc.,7Iv5wE`v)kÇ,RU3ܙp"2Ŭtr.I@I N#p!L{OlF:2˱By S-*ܬg"PTPK!Kdy=M8P>jKm&!YUTa-iޤЈ&MwSUg%ݦ):z켐U6P!tGBophf3u"SrT)P$"TPe!@Jr7$?S8\;_ɴ񫝖y[VsyUs;'{Z[=0;$ݔ U0/mJ>]&۫Ez3Y]!ق9-z /!QiM]7u$=Mゥ"DIb78A)rǴ(.f  r+ X1h7pX`cVwO `BW~Kdq}l:*^QTo5eZEn֩ӭ/efⳝRLn鋮B>9MQcYR/k1T!(sD l`jߡTƅˉ.F%v+{$Hi(i< PWX5L+ul%4e bx9bT4+CkjDH.H&ԨNxKaR)MFCɖQ.O5,iҬ6q-D5i%ԧQjդ.u L&C+ V/md.!FxU*DL1&vk-5@4oMVe]D$ IfBNv TA6 kF$LF0JfB7JGnqNJה DqSъ|J2rC#IDr`~qJ'[-1 ae&$'$g/0\DѲEKNeNb^N&.oڒבn]jϑ TNGi3QQ|)">R}RNj q\ߜ))P͒qG[Ǚ78K wnV;$Jеt%i#ܣ@fAy4b Lシ%w$ ꤺzQZMB%T$^QPM/"0h&icҘa..[NQ>D@Ҏ cp^= V=DP&+lP5VUeTb_8`3t]6. 5CERJWXE+X#M_AOD5r2 7 v\yRE2E=yP6)*dAmE_ylRyCEwxH4$sX HIi+C3.a7tճ؊rpe䆌PvTeUD:q7bap435p ,"ar3,'U~W&E-n2QxJ}GJȅ>yIVzLS Ra%R'Fl}ULhk,7.Չ+kPHiI,)2E<%"U*aR%|JM_n3NbpCF . "N@7T 0\J4Űz^f]ooLTd̐ ,ɿ_SqHLwUAMq`a, da((Y-I3CsQ8ͻ$hgKG͂Hk ym)nI\F_F#^'܁X"ej4|ͬ*[:Ď~JƔΧnxBMڭl-%qA E@xLo}L4 : LHգts7Gǽr N$pzZ?^o$k |!^Y*&xϸl[ U 7&EUًpP { j,8 b(Q5 KA.VR 0]* 7^6ڤibTxzyko y<1p4$HOe< Gާx݌ʔdrm\j.潐j#I {EOJen%QK!uMMz:wUK3p'q~ 3VEe{n#wNMI$$;y8E樣JvK+ m, ʐ-^y(a5>[qɡˣL /ռ#W=.3@ a[0b{x@IɏQ{ȏjk5Kt=Dž-ŨA+Xt$Xw S.E s@G=V   rOd)6bH xbDȐEO**c9AoA%NY*,C5!I$沣FA.j`NJJIԄQ H1BHs> d4V'wYCrzP;g1%YmSC,=#!,)&IIj.^w.^EƠLj\G;:Z`!ÖNJA{F "62T( |#YBqj_B seTA(I&0/aD.HmrFzZB\1\f[KbD')2jEM_)fkc!)$Nx2Y iFrߊABq9}3bXQxBḊIF{2Tz 1OZ$d$zA74T7zH#,S6V xRձBz#haǼwbL<zc^([$Dq.^ӻf̣(W|'dH-!ӈZvW6iCvLKhA SfM2[_gJ Qͺb M6Sx ",3N=H$#xBMQ U"#k43b=X+̖fy[p!Y77mL[L,ܐH"H" 4  W)K RFF!&YKB7R$T5 ؠ2䙸[>aVr-s ]0':exFlM;i^0[C'v1Qi#fbͨ! kcz4ZwCj4W^\ZN&?jw?ԥ &bJ̃r} C=65vTrR+cM*nJLҵ3 SgR@7T$pLNȄgpZࢤv|rd,pP UJ=% |p#;/,+DGI{]OړO JG,˛)_ 9/ffvs*1/";A_lv`%`. sˤ̌Xjgٱ.\)b=d-.2"@Dž åA ƪALܷjуv-+U̖Slp[]0@ Aʯ7 y\Ɠi&u<BS9 u'퀠F13{LJH(ɇr&G4Vp!d|kV䎜Jf IHf3++hDZrDJuOJ=)2$yT]ţѨƣk_H<|B*(O1RM#&i s|2rF <9)TdsP-|ؐB!5FOntLC7bLQB3=AbLj gKAĄEϑ&B׏HPxrXTFj}u't O573*赚`f"Q.[+p&4ɖ!~9.ij#g$ F afE<}5D?T]d!UK35Tl$%M%cKQזk r/x(jIc_[ߐsW%D9՟dD/Eu/q\Srב>ƈ6me,-DDViDRUd ѷ ͠>Y81^'v~i3uDwfX6B*(d>/Vo.R:W70XgmCcd 4[ڀް6dQ0MOHf!KDzCNeRUser+ OUiQĵD/:C ,֑BLiT4Q@HfXjP^-K,D}֓lK>$y[sI&G [>1ĉŞR)PkQ(3Qf<\ZjӴj2K(J.Yzd KqVJxvSKS?K1 4{wuI#fśb[ q9-l(^rӨAK%I@ޱ1Zji"kkvFUg 6UKDHa`byB_T f\r)H#Yȹ4]F0PtnM>bCB2 JCz̸˼Dt$!O#ULIBhRyuVDQ^#(~OOZL ) E )Ŷw٩y%?gVVeN8s$ Ɉ͒De}`&@< ʬ+# hkB IRF:L0mU?լR'{L7ELeBH6rZ ,1/WZhп%hvQw()$RF˧P=ic$*cdn,ʹMVFy^ٞV뢵 ZtZ:|CW**dV ߏwz>!%Q, A (&6/z}Knu BOhL)$]t1TH&.4 0!PBeH ɢ+o["n2GL0ߊB?ؐiĮ/φr>$W}B)gxW_Nfg 6)a]](M^|zv\h3?Z*XyHlVؒUVf A{XPreW^?Waҷd/pۓ$W}u 8]ن~2; ҸRd{{՚½Ci> lVFV1R#;x9:ne$X[T M=\Vӄv‰ %ا)ޥaJ ֝)sZa~D'5'}bH, ey88춉l HxB̳xU݅7ONe4 G V97HΑbrp>SݐH_ .J'Ap'R6:Ui4V-6vٷhSW>7[AzOdaS_|9$RhONhպD!SHuMI_;44KyS_{'i)`S"3e[TmOisucY QfП"lFU/b"/3cJ"yĤrT뿙jLb $֯ʑUBG{ #΍8D%BsTXYқ$Mnh N<`) BOӜUVETPE贍7{s– 19e*Eu-uQIymeID#mP#ďJ͔xAB5͖>$f YV*mBcUdXbu!ЦM=`GoP#āe5vDtjN$Ӡy|]aa)#ڛ9QR'{m&.Hc4.v2B /9K*Hu?%mejF0'+@Mѷ4.ΓR.c\1 kZIFwJ}?[ ㉳$ŧoh,`i y gyYNhJ}:QCՆ=)YWp$vGS"J uhwpeizFłZzH|kFH撑IߟVѷپǾGMd#}8,f3bM T hktӝljE*lBW-2FBITd!mHHz,w'R!)Ӥ^ \gkƱiA ]ؽ*e;8a.reTI<ĻJIC^2R 3]܀Z]>їm0)qLgj-_!)uWx2=$FN吽yTW͔fyކdlsxZ_ ~ ȧ=bjirZ!Á&0c)Hd4|B7 N8  'f"KMJVQ9€5r:*M47.(_i#f.7tTBkA{ 5 50!#4<-eYBTmKFґ+VVh0DDKxfA<) j[{RbSb 蠉02v(feEu>r zE1~j^({rNؓU-Rls64ϫ ;4d~0o䄗O;|Ŭ5**JGf{ij{Vd]%+U@.@A1xf|xNcݕUuզɝJtU9zG-;H3֟ vЄRx)w52S%ʓ }e8N&Bp;n֧icfkeI AI HQ/=k<1)NjSy8;A>.S|]U5bN4 BaR,v˷~92(ס-fRG늫"ah#IPͅS|ɨKRmv< ^kih=zɣU P##2wFI65#!0"W1(buOf E"5ZN6P$Quo bdLLMѣdL>qʚk1]T nhυ;tQ?SyH-ܪ*'(q-BOkSŋ/ x˖Mfn/qIWGIW$lQ&"@|R'J_'&uʒQk"4-Z?4P\Q"dRö8Df7%s~4TqlU̝`TW*+Sw9,O3R[jNKU^[1$^mSdyl;AmT3"2,)5omp) Ӊrܵ+LNko-R͔% :;_H H*#fB$1Y`l˽}C~P |5m W P Ʃh|;|˾ƌ4vh5$?@Ҏ:p",I*"?O.OL3x2|6Źe}ӚJ@3(7SK$x驕rKāɂ7_9UM1-vXjd:̂U?\:K(D*?i훾gB@oT/6-qkqȞ՛ zX""TN'BDRzզ'c*'oZK~HT%ߍ- xKlvE[s<]:KYk7Ϫ Za6P;Kyֆ̣ՒJ1~L6D)%0M:S,DUX:ٶ527FqͿJH7!\>FDV6VM6SkMqR׏L09QW=jv UKڳ'RnB/’䬢ST(:4r+w9#5IRUx= OTZbˣ%&h8@26:շ $6k(;r>3JW[;!mVaX4YE kqqKxDT`1Gal-HйMJ) PqX+7fBAaBj8BqS'ehh2js+!KڼY6F쳏&ԎBmhK|9)21ஶRI¢e@-Έ])<,^>gsqIg0)b1Q>F atzE:hzQ(ʕ%(WnLׅ,fA kgM Rk z:HYW ,@A 2;23fÓ:9~ mDLoOAF:%3WIXcI^o]8‡KbMڦܼWar~w"oLv`]Gʕiذ23R|i+0lS2!T'7&bI7@r7Gi+b͝Wp_λ"tEJ1c}Nr%(SlF/z4#i( 3ā%5=5+%nնF:>Q?zIJ)9!-j5ιk/ ݒ(n%kS$ 5)s4ɲ|kW9{RWzXy3LV.=:)B]~LF7hkLNbs'$J;fna?XOd3uk|@q*$LD!3Ŕ+Q1(D [H$64cn*U9E#2tI)4VWzL CK#k_'ӌ‹й*I>''HɅ18ԑJbY֤jKZ3'BX;o%B RK#4gǿ 7MzhmʞOj֛5n6*>|';PȦHf%|/OcHtF{6kj[ZO3bfphot*lq jQ_?k:)FD .MC,`mdEWAR=^ O22uYsC^EjIưԏ>Ȁy@lYeC<,Bv/ZNBpO/nX҂7> <> 0plpEy0-Bb"`"r5^hM0%E's؃{ @.X$Ę4m4 7{Vd;B RHGDB8U TR {[c_n)>X$xSһ0u+,GR'FX1s|LD|?+(JRfĉnE-/5C`aKG~4ޛEH^꼍jTXKϯ]POX&W&G}R]:_19x(+b}~D̃ tϘ]R\Kb >`_|3˅dȢ)&FXPVL1IZyp]BeBM AhЈ`u}(XWjћЄlt e<IyAᾨ~!@`$ >cFb^lR'%4&XQAgMF7<ߋ"iYH\gv>dӊ kdO#chR)կ.2٣QT('&_(p q$oh8f^0 诓_Ã* CCoѨ9:_pvj[9P\PAd,LZG_8kּ?6ɏ&k@,6,Fy4^4G_Y"[.!{s9튔PU3r gian˭6"@$!p(4ĐMͅ0`N尘" @vB1t &aN R#0yx \X&2 +JB;(Ԧ)vj T̓̏#O:i\-Ϊi "hvPƈ\ARlj#A8=vrJ yH^-[pe'hĺtb&K]W6kN^彾dK%;V'-R(43 ? ]:+ɫP ͡-偬}Z]M(5Q 'mbO{M=tpQ3mgV}"թa4܊i_R+GCH,(}$jwV^vʊٖ5':O=vKTBMjًB}EWi1jr'ICIpD d|Ht!sop¾`c+uIY (u_Eb#mTwr)J }K"`t"YP".),PɈ͓Dy3VN]NfZ}Â0ee6 A`@ȑe7,_$ 2]'nYœ2(յI(M/& -sIl#a*qsUu 3(_("VgebZ| pZB"\,:001׬jȉqjRNZ$wZvHJ.CܔjC\,I\Eqpaޢ\ _?3JD~U+e[(omL4ӻ&J\<2>Ϗi6hX ǀ֔hlg:hTJdIKYF9 Z(I}*d~m |H8$`F9RMDu630Kʿ4t#Ը%"C^7&! |r Z7` *6rkwj!nd+WT @ar$E_YS$ hNu&7)›~›Vhb輡/6X3G҉&ƬH6dGE{v=Qnq$ $\[o+w-k*Oӭ3U #ֵ.TIػmZl+d&#L]km !eì ۿ`KO檪z/l=XiI9eȎ;>J v:r()W~{Ll}\X,'eJ.)lFI 17|#et+!|&xyot;Ja+hZXKtK RbΥf_Byyς8+{"#Qx"$dyrQ~J,T hdXaN/J ܵE_O]$˴CED޽8Qut+3RNQ~96tzwR J$Cˬ5H3+ZJU!m錼 Kt(Ed16*æt+|NG9 )-4}v(bMDcXzolxfM'Ⱥzۘ]#sjK}n"G){k_cSE̶QL~<0!:ƵU! Jk&.hIN@ޓhGeHФ\$vY `jXBTLæs1@[(tv-V_p1 iH]-҈,DPI4T>L(\Ht>bO"nD>Gؖ.vl1rB|$d= ػQMBPdnQBʚHnC-ݵ۠KX"iu;U~ vZ(W0K[)<<*@n7u2}jRtޓ&5`/(V'S<6OVAHLj<ɓ0^G> Ҽؒ/2wG5^gI Ku w6RRQ> V:Rc%@R $De?} 1R&⽞?Dq?JLOy$N_PԎA$Wu(¤ ;r1_\fÛ p WM2XQ2j!::t,Æ_ZWۆf&'MqqE*]S. RL,6X˅5zC|R ;N7JL6YP#\rGX`"bPNY9*{-+T)[b'zRV(?Yka- d('X( 5(ۖ즅)c̻O;^`ď=o"MԱBDn>Wh3ZtA_՘a.6gOX] HI=mrxbRŁz:{S"k\$J tgsni6}ұɰ> ӷ⃱^jBQ*D3e'[1cŽ_HVR*hrO THwWx.7'^?*#tOTJR pcs|&heʳ)оmI1s"ad*ʆ<FY4?>3x9t*wM^ H« - 3JtcXy 0TU2XvV(\ahtɌ]sՖk[.#ܘ6?{2H|iFl-;mCSWb9LjAKƥ_Ú~J{g݊D<! [)ӷ"uŚVųl<8,1aώ Wo\#_a:SmfhBڠ_]t3nlSH:Q\Z3MW>bXh%A=ErK"/I)jm-V$$T QD>C sL$gt@lb8*taw$Vvx%8 y9paON<hF, R \akJ4p\\~a!S%/~8ٳ^RQ^I3Eﱧ(Q}|EOih*9yFvR)|x\GU9RU3#g)20FUC;o#}?YZ ]gBrWRjQߏBbBŐ NI:u4WQIT^5#r32R5r[ꅱZm/bY)n~!V'Ujh#k͓c4ݱ(5Ƒ qb]Ƌ Q*9(nQvTʊUY[~c2n<0 PpQ!VODOI%Z"(%ăɉ>&4]RGT}vi/* xP M P I׍]" ud܂TR-Y/)H4B.~h\k*u=:@QN5Ǻ!5e!2KQYp[ '6m%C#H7 sq*m0mWH{t_:D|AJC×hPZAJ{LÔ։Zzgp & V#:e\݋9$1 J^n0y%\;bq{aPI}[WnvS?kl)cȂs^B9? k1aکs2gkAjꕤF'e%3٣zt\bW:d3zXzDu2H?i*.ɹb;ĉZ'I< '90B"g#QWKhXf2@KW &0،n*,WjW‰"JҵMZkF{&EE'CIʵ |ٔ'*J;;e"nC֯H%CW$ҳx<\sC&}5BWwuTI^[h~V%$[1()4D0kLmVNaSj Z=L"~K!憗E?= ZyylJ!I/xLt^zH쳕tDbG8tmBSyZXRJ 8  9q bL:N{)i0񶦳~^X}"۵iV?"g1nc_) OE Ĭ#+pgZ*),.wJRҾ)Ǚ( SVDz诮Os ;n˞ij>vo]KYIV5hK chI'enPS'܃wէϢ[Yڽ#&]?*W*2j̋o\[1M$6\ԙcS`ͦQDc3%vhJ$md pßt2$kd;VEDwj7B谞BoBز퉕y %b+!0\I\, A wC` LQ, ;Q 8;Jx3ך2n@ҐRu@Cee©>ۓ;.. |#\fi V6T$]>_HY6q%u\x6DP4&$;3wKq\vSձ(1OfbیtaN1a3{g fq5ic\ƩڷhG޴)RFX™w6#,$Y<ؔezBJ/leL@s }a-qޙ+$ꠄ}0,SG(JP*}Wabvyc%ƤbSD#ʽ("n f…$B(D"BF`v#Hp ޯLI+#(L,+B܊5=IbqjzA"䋞SB\noM5 ;ӄTBg*dbRRH#| KtUHxҋt!\~*$oR;^m38t$ c7 m Z:dPg,ӖS'd4gF) 5iE.IL:47wGw&JYHVl+ݳ<7RZD/1C3ǚQmgNƬㆤ?a>kOVU/e_\PC ja]wTW7:0#u{&z•1ķa$:dyH+MTq&`S^G^`1*,B[m8ua梉s bAR.Q' Bz30+[K* Y*ebԸ+̈Uܭt[ޖ1fԮ/nc5?y-v^gAidsOW;N_ E4hj`68Io.!P%0eJ2O-6*@tbfT>mT/ VI.>ZY=ǖiS[:[/}u6SskxɕIxRMx[Jήa?/\4VZeqJ]G oߴmg@,+ ȑ#g/(,.- XE]\LE-ꋤhj5q V&L_8K߀ܮpΣ0Np*vU*=o޳Dx;!UѾbkv)#̕cȎӛVMiLd6*^$P+Xv1|JmO?)UŜ.阮#[AEA]ji,+ -j@@0I1ȶYtDƬŒ+Nu;5V*Gy efo:+"$ԑbQcSf3jk<UۏJ,OWQj<ӫD5Y[)Qnר0lX[Pf[6g7Kʓ,XfhRi.W0&H/Jp@YSΓncH5Ln G]*JIǖxEzDžP2|dHEfH yE)}eUf`d82GcnWY 3PԨZ4}&~Wods3a ug@S82aTyP#ѡ;H^ʘGsaL+mU[g K#85/٧r\젋f&܁n h^ԺWN_+nS7obFR^Jd Fĝ & W @wG,`}TMqA?)fn5%`$As XBA`\ɑNCU'0Q&w&-# H8XGґc tM=/o*Ƭn%TY58 9嶅e*.gw@w1^G Ml[N(=d F@(DRHY֪+G LsjѴ-b'9`aSzjuP~㉿ASvM r%0`~ 42< Q!We ` GP~>j52mvRV.Jw⼦mf~~-+"5][T>(H.EڰۡI!Ԧ:)-e1FoU&+Gx >%>lr8pvuiFO!'LXcR%FEɉ7?  )(-6pJ8}@"E N刌_,[9FII lʘlMGN\O_f@W[q,d'Wv[*F;Pn*ejեq!RB 7X^I& AhɴTDRa5DQg^ Ibϐ'RM'eD6ZDS#y dQh9" "O'2g4H5MCY%٪Ow8/ء;?Rj;S =Jل4 J;]%x~>N}PtR Ĩ.v̩hբdǕ gjD95ʲcW*, )ʴ3X$  ܧ8n"?W|1{Ӹ@_yBlz3lYI~ω3X2ӆRho0A߁h%O2svȌceGK6 @]O2Vb heBXp|ʈXtTMƉu܂=\SIC_r/WK^u+ NٙՋDh=u5c"µx](1Yqa> < \O> v=M?@f$D 'V zF$tEonVĵ/*w]r"t߉M.]b]AC2IdTӇ7? ]6PY^Jщ@ ibh:Ǡޙc,bbA04u(Ipa2%G $Z, 41H(64ISѤx:CخT6{;cD-AtekTpatODĽGj֓K,f"EŸeNiY,l*܍ʤ+"NY,Ru~~ya޾j䛢+Eec['*)&Nb#Dm^c/ýQ5z^v5Rp /]d=*^$oD<mBЅO9%kHĭo|};$+f.R[|,, Z=5% 6;iɸ̷ gNmŅ(VEw Vr~ipkVMt jzߕTVed7x$vՈyyتi R¢ӚMٴ+'7uce#>R!SHmx!HAP$:X-й+O ok,"D;LQێ^K6Z8 CYT JDӸqc(&m:aJ#Yyˌ~,y찜?uI魚k= iKliNKD)#$($ 2+q  &͛Pс1>" r"x6`fm&&] W@s) հ\"6U̓ (Tξ^NrBIC?xiBWOUrɱ;Y#Tj+$sj鿩HHp3ån G‰"Kȝ\v&~$It?K;,6aAT}m&і-b,tʟ,WlP*0vu <& QqDQC+JӴ`$lCbZ&%kZqȉhHbIE 3[@2 hE``H6+&cOaSuH>MKt!B{MmGbND̒ˬN6zX_EJWk-ɿMؒaT-zRoKIC{MJ#^OdRԯj~lZ$h\˖Fsf_24Zx;)&#Y/mjV&OFjU68>TE5vK eԛΒ"nH&L#ƯwE e|UMMm$ۉ[_ĄA"*6a]n[Md 3Y!iH ʖ .\Gs1eV-?&LiAI* JyhX+vB4J Ph@j⪄XۮKlyH!5Ŏ6a(Fj뎒ESv*bD& B("2g[%jjdZPS϶Ddsmq m7%+%Tv҅-F(kL6D<1= 6Of۬dchh9[7D2 (_=$!nMw^= cN9׶C4˶O[q͟yV_\EkJ-rVVA-MixW\6W|Blѓô[7FF5#gAֳ@^24&UT{{/)@ʉ~mקOu^YzOqyOڂ9rJjA?;eV崵a2Ր8ZMl&]%sI@R&8(ϙmE&4]ix X78Rۤ Ac#n,0 ؐmfqi%DM_NZs v]!!SMsrR@5] ٲdMT$,niSH(IYKzոFTV@ {Kha_ I99';Qq\rWQn-zUQSiuSJ5d$=+՗I*T)x5mGV nsLU\^ 4>퐲yHD9O7PG_fX +ɶ0tLo2&Lhrza 4|QXЁQ"do YOTRVqTɂ\告dVmyt֠q*m3 VRHɘ¬@U4w/Eī"|!^ZZFt{%𻅌/j ];Ji_UX#B:*@@k,9-r8UP j/"rq}׵[;Z<:=xH76+= k췄|_L({l[_e^6|G.aJgOKiHIw=蓮SwzD_^ .w;s>GQeV٣L+wkJً 1Q;m: bV2(]%,ɯDze|)$Rrʕȁ2UU\P'.HLYgXݝ!t矲W밤t*,-4q\D2TU9W3#NS(T!ⷄ i%T7ޚg[j,]Аytd9"d)+5Kv"& 7aW%JyS8\j&:^K@R~S=?uq< ;ԕ_^Vdq USнntͤ ¼rJ%?;ݮ_kwGc?ot5!$2X:Rz|.*C  TArI;Vź"kt de̝Փr4H j4j/ҤGdbcKd)l񎔦FsVm6䢈-s(8?vxD>#PROCK`ig@<- =΃̰7udC3$OlX-pf揑YQ}HD*$7Niռ,c-S^ >*xޱ^FHK5_^g]MJ=[]b+S> [#S񂜤nv8բ=_-Խ%wmT+)?I_ls fc$v#E\jd]'-uL*,9JEYf% !Qκk_dl1yo˕=o#̘-'i3ldlgɁ*WvI5kD5 Sɜ"U$k82KdK$P=h^QR)zA5WLy~:F9$*V m h[4#.GRȫ!x'ŹJBtLlIY Gg M:F"CH.:J;sQJHF$S$m>3;!mnɖ+(MTPc:M­yD t*AQ>Wϙ}YK|>NxPhI *P`kER5[ĖBRt~]! _pwL2KeLϔb?t}UVJJ*B< ;]#WyG6lJ r|:%BsT,/3IV(n̲ל d: ;Q=~ SoDkb b?edHJ}zKZzV18C:&1L_&w;ࡎ2DDҥԝ(=]Qs.Kb(*l$-I?j@^<ȂUȣ7y2I0 5i,fc)o'N<r xT. y6ńqAuMʰvpkH Q[TqeonHg36[d+YuxM>%HD !k!&օ8,[t$[3O u m`y ı5OjY{7za?$Fx"}"IZL+C2 SgNy b!:m5–*Gk˵`ݫh۽m}6sɨ͕LDV@)TIq6H'ƨmy[Lb\JC 6ai"Mkn,tȲ:&l%@#Y Nos3 3! rW\j2rGЃƻÔPZ\K#W F/w# "{0z=jHJSȇgYNFRyQrsT@jn EH (:|ݳ+//>&ESpX |2:2Z}&HѢL N ӧlQ\_XȏMbK8Q%fKudb:UDа(ׅDGE>ҧ : @& _,]#yfYQ+P;U SBN'A Z9HSGi<"z39 LX% GW/[Ӕp0JX ;ssS`PߛDSh$qq1pePz&J$p'Ba%NO4ןj<=*-ꌚ?]2tva;-0GR$۲ekҴ#ƢW˓z3b{Y^Bu`8HKðN{. BI2Z_%c'/fW*F)Rх,.hNJVGbK(7 |'~tj수CFtHe"t)*{U7sO1Du:=V-4 <#b2,5k<P: (Bƒ J7 ;{0EifjX-;үV-_Re? !Q+k *6+$4l@3'- +a ]sSZ$,U>(TLWp(A@`92EH.-0@d&M Tו/=:bQʠ44@ '#eRZk:y C*ZyŏO(Lh틨 F%Pn<4ͮŚ< j$k{Ġ9Y-0^5St>u#BQ)dPc>.HK\|Z7DR%Ӌ"Y1* ]oђA}n+7l8Dd~MNs^%"9'$s њb%Rϒ/?(['[g`msς!#U:eGdCD͡lTjfBhFIQ0$Vu1uud&H\/A UTBoi@p,B^@ a.pӂ놂4o `&P0TjV&&o'LWr$<%B(&ky/-TKZ!(Ir%oJ!B@PF=]GTp{&Q$$ΰW8$ bhhiy| pkiH Obv.qr֫[mS u6MlЍl`ϗcnn>L>&x *GvWlwDf]1"%7D9 / q~yfTi*fj$ͪd֢sݑ3m,};ӉTdBpFc~ ^8dmX"ee"6Q uN !sXxh-7] NxHP`4=د"`P(og @T;Hi1"0} |ڤٹKEFE,A?}8,͵[0M)}DGÐ_ \<\R}){R+CO13g bHbo>nA,RM6/5EI((nG+ʓ?+ [ fl<ˊgŮ] 'BhF9{{iu>I.G*D]y%4S0jfl[."N{MR\:Rdge_vY2p]%D*vMPAVܟ=:m#7WBp%M ʮӬ"hTSLgb 4 &%GUi%=JRj[S}M#<$yWjƜf6so@MO!!K1^^W EZ%-;al@j(i蕨POy c i.Jp״ڒY )r !ݱk<܎ AAk)XZU"""rY?#]Hs~Ώ]/2&Y8TS 2\{0PRpO3Q}NaI]MЭ %0SzZTK"Ivʭt%ilꑂٱzCxC^RD{]$YWq UV>Czn^߂OW,QU(vF%S0:bZGWiO"]]$tEy [zoXJyjUlWi+;g#6REM…)LCcc U%;=֌mh!.!_ z-,) ®Q%%.CQW=%\G<1HNCQ%,%qpZ͒b8.$\`H &0*Ih!g˲uCމOم+e %+I@FV$L*̖[%n+} w]ۢ6FR05H}J+ 4hqX(fuί-L(( dY (@@,j 'L,mP}V8Zv \Gig%FL#񉺨].ϖ|[K982ᷖEm:.X-},gQ3/o .6!|w1kX1BJa̳<^EH bԥ9;B8 tA΄ 9I γ(rE-JgSR_}E(IuQ飐%u@ྈ")Oթ& h9B"LLwH yaPrKKA*TX*"[E؀\Fo;H)U3Vt?#YJeö*ЁIx ͅsȸOQV 41;p CiHDtP@d 8xX۠ɑ"]>!0UhQl(y H0@ 󯁐d(hh!닇GOPƊO%lBƓLuӛEjGM.e0 *KQV+ݓFLhB6]A*d0 pvia<"*:%- 8B =ՖD\c]JBDz#cWS/rΊtF2@7=R J#+uKi«JA4d(ޑV ҉@"g=;ɬ~KFsřD!Ν0xoaeա(_@MUQ CNZ QA +QG+bD Mq)Y‰8F 綧Ld}4)u6Htdl*]U>ؙ!8 DJ6$Δ$nK0FyLy؛W L**8.ٰEq[ܗb$8rȺ%!FEg>Š-7BcaӶM6 =:%0J[P@N~&nƿ\|4f#ʿPWaa؏*v .QCm3.0渁d]L?h}EDnAWVBCj.-Av(|LN2cRсXA.WFTtz,m ~*"~8w"4X3dd!%oA\2K74,mi2B5+ #[ax =1u e|J5xUNG-; t*VWmNBd\,FP@T#=\ڎ:+zCF^fYa9%0߂! iF6c% lSdC9+ '<IEUOR*'eSO#<}\rGr 08ښ0S I:̋`6xPUdā$MaBAY%T9↘\|!On FZǒ}> '2T ir4J \cX*M?8NHaͬS!oGrQxϖ);҆Y1:.emV.rDrYyT%rg8\IS?e.e-T ~p{2]NJg|G̸Q dKɒf-%qz%<2ѭBaOJ2'8 P8Ea ZCII+FOC:"Xs>)²AFN6.܂oIY4T""+g`ccۼ2OV#\F3&䰁;겹hwLO#2_O)ȭcM52?7 Af*Zu/#O#>Yd̈M5ڸ&W^%|=eTHH*B^!f;)4_) D4UV7_pfQi,lZ!smi˖X+f0jD|ԛJ |sbbQ/71iȥYU9u~:}iI?)kdVe q83O<&Ej/ !oᝬ |4ъ*C o2RhgN| ivO`,-"{v}>6Fa+*&bZ53[u}4&xL\uۉ6`e$.bS R ]9ZhNI+7m*V~b,$i/i abu.Y^wO+|iT(1Ɉ͖Vp_Q>81uh?GuÁ~X!3bdGpa(\'\]eK"R]Ʈ#Z-,pE\%cU.lzܭk^n#Kk䥤nHT5rV_ij^5ZsXݛ:rq jw)!Fӱj )xHgYz2V'eEdd%iEH_=+)rJRbC%gIKN;VjDQ}+-9k۔_P%Z2RWLәZŮnIb;#!Q/b3kMH]nĭzwMNNaytuNynIR%)_4O}ky|gbB'ֲ Ռoo#ƾfɓB1: XfėL2˫H|!P*0hvtyĢL*8U(uk_"U(!sӰLxyK'Fs?ELI*<׫;'lSu+ Z@=򑜐fl+B#6S3cvs:q`٧lPNI/qPlE?HHڄs9tkDL,3I"`H`:JQ޳3dc,J*3iYo\(j*b1R,.9 >`De sJL\V5g |WO>lk6F! $C[C?h*ZӹjLh~8JQv6 Ԋ;[L9\>n\^wLG%!XeI Ļztsގ89Q^>h83&C 4Аfw`ihi6=R5bKH؅+ZxڂӴ4~xE ѳ_,.o>]BKI3!Nd+y˜Hhwq҇R 'x)i4|PS# Jh_-/\NJ+} BC%T he I$saŤƉL F~GF?$n17Msn:Ɏ!4)+ n\p3S_>{!ȻWLngn:@ W)0P=q=mS@ۢO UR֟_dZ| WaSE$/Y!%>Y̫V׬•I= Q=.WLj?TDI{ PVaR"y17ʓ$Qb2"/>АBx#"K6&4b 2$@aÃMdxN 0$"E b6&pSD 8.,DHq!r .h"#$D >lHH#DL"@DF >{)CT.1Zzo='ʞW{ujFp-f{c 0%jHFoju|){^܄Jfn\&a4CA{Tt$2+mNxeFiqlaxp+HT)E$h.,ϦC"`S)cD%S \XC` 6$Qh " vO UEx<( rT`4 ~* !l0I4"41SS "hp2y2Ef{pS׭ tP400Ν& , R \gN,vZLCi'c2TKa2=_-x%meBƄ=1ó%I wifۭMC"IGe(]o.m-vQA;vIh*1ץǵTvTe/9#T!(~ѽ9O$]\HzNᲳ1\@چY$ߔ_DТzj_|j%BO65, ^Ƨf'ȘQػ$h #hw\D-X#LY/K$@s{VQ8)}'j]cϺWUsHJMl\$dž}bԿH_ bB^bDԽI=)Ey(,uSBPVWW>* esuLPXBxHWFtS<r95 (&ݎ$b/h$lJ;Y mm502dk}^%qn֒tK dj8*}ڂٰ#lH>3WKشc!r ՔϢ-z\؄${UCnƄ2JV֪Ӫ)Ĝ^)g|EFnmq\ V^?,gDždAA8SgJjԭ>B*ډۨVx;3q!_$bv貔$gk kpV\;WܱHc59fYqޟ$:C&Qy[6*iUwmȄ{t],*1orp'U.O*Fv+y&ZK|_C>@IzFsM{5 I*snP] f}dnFʝHŠ-|>-_ Mv[EoAihnf?k`%Ygd]tm\4\974Ga#`MRɼ3JjeH]BSfeF5R%IԼWIpV?C!JdOIyK6sriݐ-Қ3dʥ%?'hEڙsb"IrBmUHLdDٌ+%?⒧֋6u!h7HX,x^_O%ar~(ku.o1@EJA<:zweDNhQ-u3׆'YRKXsz^DFc#9T{ }L0fcAyI_$$ 'RБbJ_?rd­|5߉5/<0W[fЋI-O?TE}Qۉ(4SF!^Dz'q}|ОFr6^"HmԵ;R%Bo9)n"Ri5Lxe6tڔbNUCI/?jlbE,$,}N渗RQ^S&RYʭi}T4Nk}/s'H|Z3қ]b$do Fwb~l>J和DZ\!vХ} Y7V Kt烧3:ӽ?inJb3<3å;֝"VW* C]"5r߉wBZJb:N84B”׺CI|®.wޯ.݄σ="(O }m&;7*"\tʗ:t_hzv:rf{<%p m7Fm"<+^*؂_ ͝zԵm.x|fwF_Kn|&+EG1Ya)R5֚դ6cN9}I(+F:U}~kRxi*!WJ; 1/Tv['zHѻ Wx;nӹ$:2H r](!MT$<#yj >/caoXZ2›dQӑ9,*M>L\4KLأ$r"U?%$+YWm %sTF(eƍ5$ϼPNrĶQZ{WKQrkhbv兟%b%Y˅{<U߈Z4ώ˙rtktRu(lF1}2hyH)RT=괼 WŔ?JMUE+ ׃H]xMd-t)Gƪ˛MB?[Ĵ8RPM7E'T$óx.Dr(%]w1YBG}7 MQy͊M,3si4;{.Sڒn"\hj]t`ĪЬwvjtM4R/VJ(޷ijX!vZ9Wk}ѻt~5خɨ͗BL723LUWGPǂ+cQ#J! '%D$Z#zY]T IR$- >U~J"# vV%2rfDѦ#A5e[ֲLf؈z{>ˉKܢ` ?w*#IBЧXr/XѸZi$2nV~(), f҅[A9X݉a <}fdb/H/'](̈+VV Ka󷂟>oX_;Aѥ;PLK=p],viyĨq+"rpd2{( LIU^xq=!CX DxJAzYdİ/*!ylrb/ $sgmLxWn WBmq"8hQ[ KG:XzÜ`JTx ּ脞P$OWf"hسU`O'I7ܢ%5#lM~BGא ɫN=_D )[Ƒ DExa|$2R# τBWy:6Yֱ!PSŰ~n܏)6z{+I>AQQ?՚c=h1iP+7l Ob^R4%zgMmʊF T}!j In$,lDHaEbՂkKՍ 1#8-E-U:k1RBO;0٦$/)r\6FPP30њ $l bE-CE=fL@뎹*׳4gH=͇u8! {p"l tXNS58 - E‘m,4LJHHrƸ'87,Ry}2驜TDڕ-B9V#LQö բ#ᆡy SJNժ_@L֏c8Kh>idᑱ)[*TFx$|dߙSr. ܩB:LLO(t)|uiE<)4ɫ'T${)[$EeUuѯNMڛh/RB2p&ҽDh]]LiQfNkHƶ]-6֥=cB/o%(#4Ⱦ)M:hao̽ePlq?rfT) I's6^K&cEﺿQP3Њ9!{u|*^(TvV76-t# Wt[&$\FqRZY:.oF.hˆީ찡*g '7~"5=$rߎ'oV!;QnDJw#z%͑S禈Wtt^WkJY:S4pvKmQŸF1ڧ8ekb-UG{]7`@f\+c=i2\{׋iio˼{J}@>Us$Wh"t9,GӦC+]3~N͘r\oZSݣ-3Uz3VSbX ٔUunI3&=3HvR$x 3?Mf#slTjfhZ׵`W}k.&n%74bXrs^ R3D,;wޟ6Wgqk/UEj%XʻwqduJ)xk,t!z,OQzmM3 MQuLEfCHtP0 GTr.,2OF0"G^Z*7+Uу7(W mȿ:gXl`Ľ%}/Ty 2EAq, v:LiCl *J @Wڛ(3G+=6^1B1E3L,U"揓A|*[1*U.Un[3meO"[E]u=(@௓dVls北A=u8.HD^^6QX^uC#9=)ltw֯&SGx@"B¢ Z=5ٖ*ȧサ' >{f[TZ *A6A̒/Zg=/҆@zXAQD`@߮ܢ Z|*Ccx^m̥D@IvuKN: HtaS*ҁ  \BȬ1kϪrRI&dTryjAxuI5#g G8Qm&@3 rE^@+ئo |\I[47 |z/A!Lh||"qp_A|-hMjw~UכV,B2#kV"p[_9D|ؑdHbjQ[erB⑷:+E'$$2Ir3 .9U*a qL_& \hQ58su3,e>QBUgmjzLDH}bےˈH t%2ѿ9⧐IN4&[dE3^? }>Y1&М妰RʠdK))_)n#tw6~MS≋ʕݟ'@'Ǒ8f!9c׵K1`˙%$zչm Im%Rfs<[CDX6,qAT$aU%:VݧK殤.%y6dq ~A!䦲<'WБqעP*C/*zh!;1~_TAS{>A ^ShAH))ij,*bFsl!T?wrlVmԷڳJs&1j0I&ĸOgdIJ==-DG Ƚa#ҝaf@ t(4H~tpxEC/#*,qJt<"@H*Ccf`ttX DfEG~aGT o*GyVl-:B.GХM/)֣X>AZfm'h",8Bk:RKs%᣶iZ8$WZ:`IꐓLTE,K_eN}"gTqw[g;s>[aEi#:śNM/RvTZOTebfҎʩ6TErFU&Pms)74(Mْ:x*8ELep~HЄnӊ;?RqO}@X~06XFRBQ/(}e `tRƷpd>no>b_uO}UmY7r$(M;'{ P] ?+·3{)& 2d7\IrVL$+`Ju'E1"Nv2:̉p׾F?!.+2)(`=C*b5KC~AXK5~M1#4Lż[*I'BK"ѥSA?WL# vнh0\ʥ2s8LY qo*ax$X 7Fc8d9.״_O*8|HvQCZ$Stptd[zOid >!5vp膹㔋vd6$I ˓9n :Q$sJan ί+pG}E{5? 2GW+ϣnjM,O#) [jF\/jkzer275SHm^_5@Ij)`M҇1TAZ,T+4ke^w[j4wd}*ɩƴXEgS$d+(SET|8a$ˣ t3=EwjPzC-nG/1xu߈] r5tg w'XTk2{>yѥDfGGpq8x(z gL݉!+oH$hZ `3DITxc#HLL!Xq%B(=`Ք/",Ñ{ k3x!yd.p=Q ԨI@υDU`ۤ$)r~  $>-(!R @r<00ߚ@㔌&,zIIIxsE[>= 3MAPI LuZc@tгRNPymx :2:81_}e* *෈;VD!*B!|7^bBF* i~ wWI#Q-rl"P1L,RcĀ98Lks!EWA֎huQBw 8>Xō@qyg֖;ܬ@Z<,J"qcڦ4(#g%<$)!}EZÐ6AۛBC*QL>.R=!2gR(t̋&1L3"3:ԙAwͅ&bR籞鷉-h0۪iz"6ʲX,"HYޖOV z4QǨhcEd x;]ʡE(RaqHQ{qD{ 0ث0Z )͢LƈH=AHc"Y^SLa"s)W*餥rxLhyYmvIGSTPUM݉vmbe|TjZxAioRFx(-.HRei*BثqW]uYh"Tp~D$CiD-mi"' (Rx۩] nbnSa:zw.0 K7ȼ{;\$5wA^CzKʄQ[># >DJ܉Wu\ }sAS紅ZZpT@|E=w-ַ, $IݓDNK0Ϋ],6?/ o !$D&E&-%d?E + = ݥqgڮK]4aL͒h +zme_ S{Uk0%-=Q]쯄Qg,7};0kɡFW݊[PqD ѶWN`՗@͜}&ydԻ)mMɄ4Lx]cvy`DjG,Ru2UL%A2Ri D:lˆG3 |ALDDZwjqRDHE}䡏uX.S˒Jr.fJo45aV`cؖnl '^D+jPD1(cC,W[Fm^tA4&K2.R6yd:, 2^vQMx׵5Kg˰ _alIk&ZhQ2cnڽ++rO)pТ"X9U ۨN}ڨs;Dвj$+2ԓȕX/jFœ&[Ip&"dJC1$ؕZudb.,O]שZɔiKX2҄ab0nɨ͘o1 *Uscd3 {_pQAE%fߪs F[ۼҌylm`I&"z,y8(+PBe(Bj;j61ɢpL㯦&vWht;/Q}ʛy&R L4 )  3T,scI"M3Cд=L{]4(iRxFuyda#)˜#jpAoz#̹N yK !öS}BQ. ψ?7B0`A"q/Ɇȉ¦*LY 'V",p4^C*xi(\*Ne3#WDD[9+eYzo/)Zr&)gK5kp!9Qvq#ó !0"4°!{:Mg&a"r8B&N1ŢO|#WbNXsPl[0+QKz23 CܜDd]BVzhPα F XBZ鉰2D SТ zŶxԅ-}ۅ2{+\Euj#݄ш!W+#rZKWU4>YE9INĿg%tZR1%2}9-GE˲,b/-(FW02Y]S]d [&lnAK^Dɉ\buόSt>iDTH#޿`S4,A"6 %ͼUcuIY1zI&w3SL)WHBӉ$,1BS8s@A…WJ'kkd$A0F 3]Nuq$bL+C;$ ֌:AK[787>!m@S$< (!|چV?F%B%nAQ e-S; :;+|CZ8ŒiA0JPAd$l6N4 J!>xIJՙ ()gt,G+,eIa `@t6RY'V\A M Dbd!/,98C v 1KB#`{*T H1"s&SfÒO HD,)hs0j<rGln0WpJ@w1ZOO(DУ0(@E`e& 6ÄZ0*1F@ykRݗ`bIR+TYdgsCCńZ?0 Wel a 4X<0> 5r$P<#`)&nưyk5JEY$}? @|S(K HzKL:0{BB1I7qZFbJ%"4 M %>\5Hn50I ?bX;`rL\Jǒ1`hG4iF&@mh3T]XK O b?r HeZӇp.R(o+cgR4+#|yyrWϠMi2"dߦeE C>iP ,I4l\\q^  xd. HPPĨ0m} H&.k3A5جy؉]F GxRku:g*l٤DZy瞫f*vJp0ϯU\ڈ$;"K)NzWRd܆-[U Vk4C~񂷿zi)i`v/Q !_n+^\5D)8ю ;! 0海BoI,Q8vL} f+ ZΩFTIAᖣɠ'Aa<)zRmjYU$/(jC0Ly4bI`e;Nx a}%VӋAN-Ew( (I8,XR+c]$  z85J|RM-6IheL6 5` AbH )՜auԭhgrF|(ś_j בJU16W`RuFuE V4({ۮQLYr聐!^?a%}BD  8%LiNO0CL X 9 %ǖeWjС>hh{&v8!dߍ> 0ьNc  '67/1*gA$r)e EqhsVITHPXpy˛YB*q,m1Pkvy\xbFބbk i-Q'JaAcDp0 Coo)'e>F9*BKdaOlh [ƒO1BO%Cj9O!$7p~l/΂Iv$r7K )oX }_^B q9 ):E"8\WBArKph" !i l91%Z\xKm`<}hlJ)m?ږ?xan$AnB$$+eZr G Yb!-X BFQ ǣ )pZOchzJ,) Mc=jH„4͋tg Yi: tsh+;4 ,yM1hrJt_,9 5i0,ZA;YXک-"(i8xxN!X7ܹYp0g]@Z!%5L @/5m\,CMB % py2[dPZ#'% ,jHCh1,nQITQE(g1olxXIr{h $P>(,z W&ɨ͙h!:!bHQrLs9҈֗ݗ>UDr0ųt}FZȵ]̥bX`Lӆ)l#)6b"΃\3%!LZ5AD8ON jטB3Az(yFk":u9I)haBD}Emjq>LP]h= LP5\Ϻֻ(d(ϫ1x1]Q '>*[àB4Ml!)i Ul b1ΦMRWW%XJb1!(jz97tQ1Eb ;&gGa\(g1Hg42`f]E8=i&00QXY/@Q 8"379E.;a ejPqoV8JI#$gNJpL!$:Nʈ" v0*bI,i B<" ӛ+b*[ hu g3xvsY7]J A$z&T\؎|"a4G֡1GWJlbnGN)*Z_$hEj$CA+ñ3(6Q=gCºE Qġ|VR;54s0q}p*aԈR 2(LB!5F5)DždT!)LH9qGe?,Ra}p^.qJ^)hX+aQY2m+!3fJ!wHT%EEG> (|D}ٝLpeQ9 |Kq# ~ \i(hÜ  (֒}UVNX?"E:y!|"j&^6P)ĈF+5DG2\S p!܅EAT*-,;Z"sD R"OB (3ALHJi@`t .tʯ`EC?x_z]>tG2Bb<hJ'u0Ą7-zC TP2 ! NINf7 B[ (5@D=:҅wy qzՌ-7&W4Ͳ5,G޺:7P* F2LW>?r1#L4ե(җ-Ƭ^%Iz1Աhƞ%T=9cՎH;}BICVs /nҿe|fU¸E@2B3U'p,FXqA|P Gʄ*$Nry n>j)^= ~HK*Yw[=oWw`iTCMeNSuc,i1D,2FE,XU=WT(CZ*p$I9N}VAX3ؖA`u=KIL ,IHND &q~"cJi ؾjYuC l0bUBemKVw)E:ߩD}tbx4G;ᔿ" "[1HHŃ y*PJ u1=3N`eќ`_ ?;Z,ktu, zҋQ0S? As5Ʊfd{Z Ã$Gƒ}m@>p8$!,`D!4y I!h8E ~(f(4@PRKՃr):h Jt~V0N!^XS(}SIhHPBcyVb2:e!%9!'[z=rhײ9(DC\SC"Ƥ$,4pWzp! e $) ?!W)e>< 0D/:0Y %scLsM  ӈK,`՜I^ bAγg !L|8nUaH Re$mU T5QD%TYbSPzyFQ h n*V#Y )\zT.UtAZ(8#ԋ}CۄHIŞ~"QrO-_?OYD ?I]\ؑ7SHXE\)) wZ1:xҀBOE[dL2 )bᑬ-E1Z\.SFſ'%zԌd l}Z:NI)FBy Z/HVY =iGrʤ%Giń(gmk&)z|4|BzBG7yK@9wK7m!h5bh"6KTS6$C)V'>Z;o:eQYblLiijA 1l:/\⿎~Q6B/PiDBHsMRIfRIeMPC4P8- RK(HF% ;̕24Bv:!qZN1a W30RqB ",|X!9t[ˤ8k.=|'ū| t#z(3?A9OBpL|c<;cC `r96E+R"*SOְ(PaJȉ{$ANH1HCs'"?K}#\da ܌~:y A$9h\X(PS(r^E,1iA b>嚲 yaA&K4B΅$!GD p`!D#fW=Tq[9YrFh#gnRY5[y2{36)YC{6@9㚍bb2CU@fd%jP$bt(;7hI+Da(}, >&=Qfks,K_m\q uMtXw+y̿a RGєsEb3LȋDq|z͹#F@4h9+g Iʏm"J_)([ }СRCOKe~='/au#ysw|whyv=Rh($%MG_~9iQJGN]#j0qjN]eUPQ88VTT L0mEGOA,P-sp4Sh*iڸ B#Hap2 (|"n| XΜ&E:XltA;;g`2btQ]'}1J e}'RqH=zءj0M(3_@j'eFEn`p64HaǑR9PAwfS8ȝ]oIR^SDQX(gZboE2͛P EPzW-YŁ\ŧ =ЎuwbHSʏ @ǃg =j@n!+Hrl/pjuȍJA ZvA-q}<-Dv6bIJ A^; !BbCN9HF]D@q$h& [0K bJH#qPГ7L$g-A9j{˵P"T#LH1"K;Uo0`Hѡ8G0#d97KKiV!hIA[ .)؉N !Ki7%,V!ї8UO$b6pf]dQ0-i˥Ǔ3+H ݤf^S2)y y;4Q!Jۃx?? rOkAm zݰefg{6/3#~K'%ԁPgJ&{5IJeR?{G$L KS|f&@'$+f9~vR:N.N%]M O:ꨳJOԂ֡嫍נu :GN Y5Е<α(C>3[T"(oED hWC~l(nq쨖Alqژ륢rZ&GSu*Q|\i^erT+TF[MSZϳȩEѭXc)#ÔYnjdcvۉ Kfv]/ L|ВS\&&5k1YSAG[sH kV?#K_|WF[؜Ȃi1gv܊XYX,6,|:j!v{綡JYs7x H<wⳫiQM|ԞZJ86SQߛf4Op nQ~Ẃ(R5sxx&ӵMDāhBN$CLkܛj[ʜPϘhB @"$5:8VCsxA|潬FVF5Y騎f $. uQ|Eم 31@VTY! A$@.CBN#mHb`i g ei&w_QXյxm/IeQ#AS0q!ʼʸL_jƆl2%p [7?+U%+)XԒI9ӖYj 5K)))q ED- 9_GeUjG=b#؉&Cjʠʇ$r^ ʔF.R=UjS+mQBa)\e uDI,ύ#HTiQHy͢I6hm FʥjbU*"l/+IA$E-̾a倆,b^mP#ڍ؞f5O Qƙfz`* Nȯz6D_{9t̔ܪBӈHqW_08U-$yU3T&WzHsf81-xCǻƧ3}B3* uk +A\4%S5d ;bH h }b"K`>], qHR:w  7V u"mV膰տ.QU:b!Z?"Kb.7ۛv,.FM NELq{  b" C`fBrYͅ/E7-l_4wد`B5>- ~{:NG$ <}Jˡ,/ےh B/}nPF`Gغ gv!V='']Z$,Nȸ'(j ¶ gNr7( sYOh8~v܈"(/PIdhS&NjPzb\P%H𬲦[IMxSW%^u\TE oj=Avq60x{Uy evlYbdDpF3$x0N MMcaGI'v؊} dV_qA,֧oho6'.@]خF) Hb8!ưwZAʃa5@2䈏Ur.Q53{xEϥ؎md̷D]M.fz&KCϒ+a9lsZ.NZen& ;pV*Q`u4#5&5cbL 7rTKjVS5Fb_dZC# "i×v"@P9ٯ=ºWb|jCLDzMӍ 3Ș)4݂{%9DuntJ*R9FjtseŤ%8FⵢD< k]hD1!,W$*O;P ,-5TwAQvcyk.cԊ&:[+SGWK;_+9ӹ"|4v5 {cr Vv_Dk{5BjMC)擨qh6/R(*"~ߛzKnXlQU*nNy}}9+eBiU0[ޗDvu4NU Wqe8Zr{mⲪP+r^l*ceFD{ZCHȥjsk.%e2rR1lI?H&B ^ 0+t4ؾ~d˓؀D&dsC+A>FRvJH'!F5RÚ=Ƭo%u v9+܆ռf$o!#cl0yGByDU/䋻R|%Ap&+ 3G mY cm s<xPHBhb uRTW,buuCDNIBQ~PAwf_)JLf&Z \Y4t'I3@ 11\C U0NÜ;򢩄#p(D򭖕:h6k\Se܆ >?_3ES32ڛE]:R;6"|"?Ѕ5hԼ5/B Y@$YL}kAw^"YCsSTL~TSm&kGPߣocY)yDܤ}ZJܐVHqbۜe60 `HMF\n9̌bؽdb'}Y8?[n?Cxܞ\k!շ&eV2h gZ @ I-I锲J&4ʜ պ$Y1ަR LM\=ÕQn#Da+@r)"eӪ+86o%#ųQ|0 I&"]%VBY;0yXh+hZFt=Pk`x,/+7( ֫ G-S \B?׵e1jC)La'TbʏNү2Ԡp=?H2ہ{.5aJEr!TU$T03Q##H9i7U J腻oݲHVtZo1 څ@3 DaYؘ v>?…ݕ# ULFe9e;[ 1E;OJ; Kq%MvJu&?<'̤ qܐ'pOQ+ȬŴT͛} Y"q:mڗUn&*GProdj+*!^C[+ @DȌe&!yT3pk56bF`5IoIk֍kx ιVB8!VpRm4٫LBB8ŐĈ5$X,rpj|=OzV%~͉1<5Qf dȲ^-:`#߂U1HB25 vꄔTD1lZ.*S4,. Y"mHh-&"e `S5 ڗw:s%{A)mM\dY!h Ws2f3[;IyQ~b1dNhmhD֩.gCE(Uu{,jnEJ0%Jz!\ə-z_ :!|)4wd%m#dNq,hP=&[Y߳ *bX+ v\3>#Zө3 ^0!J!BI?BA`IpB4ꅒ@tnf,:Lb&0 0!3LTJ()8%B)CG2L)uMO*89!k;Y+H'T|hsE\Nr JsDhdE+\ʣxXHJW%~wj[|YfybZRqM,NRߠ-~JR$G6V3ҁ-dwqj61ݔ(ʘs![}D6J@REM bX:8ЩAFeY *q9 ^ƎCLYr&C.&@(O -Ba|CgńD2"OT7~DRbBL 6s ̊\g%_̜*(jHc5"}pSiOSĦ"Kfnܒx#Uۮ>ѥUetjiOdž/{wMim/߸?RiV2FL. ;?kS 45)#CT@bx_S+rg vJc>vRN?ƑVTCKtwytQ .XdR|3/~>кzB:on(!R#RCAy4r]jN$ )R.-/A)AОjز0`hJI ;dM# 1Mݸ( @HvDr$Y{-1ijqYͨcܟzW,*:`@$'^|k֘y !ybT yd}`SQ1~8^g58yLD8mCS~3br9qA.]!~zkRa%~RSvd`IP+W4YlLL-]0]K"Vb$ Թt.nҁTb1F-j;3] <tq[DGbZvXt%w1]k/;<#TO3Z>ă:6 ߭V`n7;Zʰdwji'?䳸T A(,H1k RHD^>hnv$+^`ٵQ~fZf^ ҁ_xO(~**E ?S>5ɫ,a:J;wtR7,iF4Ϩ,D pEB4MPos6Hƌ8lQEDs/ShhRxF$}?SN, U_$2FaMFko=GTAf&96-h$!Iڂ%1xҔ0HQ#JQ=I4<%T0̄ p^6a~)9) g!D>v@]-U&Uu׉Rz~;6$jUt*QڪHl,0Շ)Qf7.WXcWI|ä\y(j9N)v4R 4TqoCS  F!NMXɕHrmDrċ; .v*"-0µY۝2Z P ĨDS̆:Y!wI6^X465F^D~M +#fnu-+w&4z.Q].mQDu"a&2C3 4.%&6 @` DD-dql[nL5SkvaxG,C;(oP)H_5/InDਤWMz0_L[+gȶN$*Ea, G&Jзg] q#HīzBTd_0jyhƄPdfRр@[@"3 H P7yv\6]T ʄRJzu /eK+*.f\SƱm8/ggs[ls ݻgW%ܽ|J͕zm]7Ot"Vb|5'P5?WC冈%&-"=I/,~e"]A bޜ0{Mp$* X*HnxUZ] V?/3nJ<.Xl YLܞ.%FڇH #9N92{E![򐶕izU2L!8 Т}<6f!"T`,Ci'YyVnd P {b%ufKR+7nD=ztT,)摼׈$rͬFL ܁>ЃAYL?<{6oVр!r)9, ׅU]- ' *^UŅ;?fU#"K~sL B\F:#_ /qc6EYz^ٿTԦmX.yiNשCj R%usH##@ڿ{00Ffȧ1e6J*+%PR1` ^Ewz)J!q&Fa9 ps >Q'EE#4#xi:eK6}6t].`)rsH"?Fc\hG)M{d?j:6Q!%QwDgD>$A8&tv\HONY-WU)gWߤP^\z̭Ar^$/\o/%$Ok q|#W+e"#'Y'7!;*PŠ! Qs\ue@̵!TJҢj; EPX BPfz ܖԪߣJ.R%EUN3 ƿ,V5 l_-?NI}`"V2`_@@}@/ipjC8ħnr?G,bG !:OAҩżڔ.ऄuel 5|'S@I ' Vmxz4#zrgJ%V:$  zY tS?\; ISwFZB:M)[FR%e׍bݕڹi;X^pRN IxO%aYP\% >E;pۅ-M$i9( b N17##}G hXAyRwӦȔ}JM 2t3D˕dKFAjJx Yd?ϢCxV`%!Ux&{XXD ހB\ ‹9<Y>Yj{>r B9psT4Jw6gl5! F [m?]S@ʧNYr;CR3'aYSR^muHMGGOE+sz?k0d]CMr:eƇ*V )&~&wqa&A]kM'Q@+4`-zp,!nC$?>LW0dī(0~l(+4wcjOFolr_{z3lƊ\_N=UAFǦ7Ff1f. H넽vee$w7$䘉BDiQޜ&6zL,?'`2,%?=ڽR(5&&§i~*-w{A-H.FgkeeVj Jl,!L'+uJ#Ya' <@}J?zb`Bqcɕ~$$MA *Vx7_NȊZ1<)O}&%G%@bIH)Joh8*g8XdVĴL=aZ Vԗ?qdn ٘=Kv]n* "!+kS]N2ΝM4D2 NVҙPR?1q/u73)c!(*X1gN`]#YQ0hG B-g |s& T!4!Vmܤ,BD3_3Q'V%tE>Tۏə+KI2>c[ZEl 7M+y:8#1vMiF6q#PIAAHAc1⦓l9t 9pg $ݸxF-G_4-GPubJ*DxsnOd>M;`(H%+w"-.d4R7;(I CΉTRRMVS\zW'CHOp5fkR;$ UJaCoDe)Dz:!K^äǗZ$sg-ie~z&fI~%سٷEMT]{.DAҫ>>`jEDq7P`A޺J5a6 oXdE2 PDHu#)yZ:ymQUSTQXؿyq%x+Mm bvI<_lN@E H<.6o?_زH:c֑&f~_75gevoZf![X{JoPoK1 єyF;bQIPB d+z:~ KvK"얢5K$UOB]Dkm60%aevDkVʙ։%QԒFסq4Crk2GEQoRt "@_jQB!pC5*C\AP%q> =j9IGk||P\>i]s%e- . JN&Bi&{<(O/ d Fdⴢ9k<}yʈ1rnW=nˎDc:6(Hk [ d 6a)2oəZxKh LK(6ZdofEtQ'͸TD#s {[` \`“8ɦS-W%\Tm䲉!_ctc9SPYbtK7 ,zɏU6eTZ-\d[5IJu|J&Y"rp<^qF*LpE ػ@eIj;lA_̈́,pixd(m椵s3_*\Ғod9DSk!Bd?(Rwu&  ueM&fhJ\ǎ6PR%p" l*4-IqC*0k< "  ҃ c҃ە=  MC2D0D"r)#^CX+h6ǞsQF\Ey}U6ӸkpN !QCJ7nAMY}]ʦ/ ų"JF7W.p#2\A%3ZW.3/8}쥻!rhڼm=Imc+`yc1 $'iFit#Z!2W™pc"Ax+xV zQV&:Ka'mV MӘk:ZAQ z$x0z"`q-P1jN+0'XsfR% xC.evAX%&-@lGRK3"bNl%jVm\dܥc?qs ml'ABi<_ "o)lQW).xĺƫ׫N/|K{Є:tS&]'ÝJ׊Wjfkd1"~Ag창~cԊF$S"ߔH;PN:JF Kku3X @ #s(,n4> xMIe[wy孠(W>upB7dx uR5xSd:*U{܄pS!Wɉ/ʉLҰ ĎӯAttDh+8`oiakOsL ?H :L*mlO"SU5v24g)ZlY$Q~Wf~o-l!cO%'y-O]E,LC¡\ E䘓R<Ť!lH|ltX΀< EI/prLCmƳI9ZI9CDF9CrHSr,@7EWPJ,0ZL$[(,WU2**y]hBRb fN&B\/Բۚ]5vTD>6hJU*af+nl~"tyW\0!ADr!=)yi+]ԏʃ˶FH^hEF8<*EjvJN!h-*ԀQ)i½'[@D JQ*+EDJ2t) Ӈ.2ߦ!w cc>\@)N$ekf*dO%/D`/)n<=tD>~9|Cֆ`%Tt-|KaMUC+~6as.K~ӚT1q,~SX&UaV;y4iO@) Os7x7. 1Db|gMS N#-xvPU]OT߁"zcFijWO~9LWѿT(K:^lFdi-(qz-d h(-,ʨGRA(7k'gbs*?о'T7|Y7Q8{ #OI%뺷73[8>Z9wGAU1%IrS[;+s:La6E%弒e!gH^_q$8B^Z 0)dzD7`ʪRU6c2JX὾ׇ'$4ď1ϐT L3: A0QzfVJtY^6+qrmf zA1 qPw `)1uisyƼ]31z :KGHl1*aLyU-W՞Dtّ¦4gL)0=DgKr1`+HF'oJf;p>d=g*GBv#tb.l6▙Z249 >}!OHiP՜phMXeO{Gs,DQ"c61@YzP.* Vl#k-\I'"BL&e2UI֮EEWeLjT # CUdS*j%k:e61VaBј׿q&X&.`HdѨKETkW9=@Nrp*iB0^6 Q1X.Q zY>cB b+o 3ǟJ{ 31/)=Fߛca3fFpd|b?\kiL1 d%zs5!Sא9k_875=6Z# kPXcAO$. 12U x*%:QJkl~l易ҌnjdI\,Z*G9kZDNy7LN5!)&)oEVTS&KeiaH5dWɕippR2U89^| &\$WRh-݄\`ndAO/Y8M=TID) 4OZ :EMN پeu׮DB_h/\E`U-P6j?WĻnE. /-VaN!f{'^;F O~HD_UTѠF}(-T<ò#ݯDMۋ׼ԉ1+u2[ӄh~wzHC= pA] nJ85ظV.+ >\!Lu‘l5B8L~Y?NQ(X͓wW^[&f" ߪ:Pcva;pݓ$~i ?y!4F_!ɸ5,(R8ejzz Eq#qHSW]r5Q<& )UnYt0aHqKC ]OfŔ~J]:V52)٬axC\B+zeJ}Yb[=b4Y 5Kjk̉۞KcuC1U#̚1+tN##v;-G7"˃mnZEREc1]U29{9]~1!J8mM;)^A-LB,p07і1Gv,ab# ȟpۓVߦt7SVHd.5!([G'&akG)%:؋dڔ(}1w3rDZΈfA5~z'F-sN#Gọ BmډSmf dd#Fu҈NwĺzmxFUt}6'YErڂ)=VNiE6'J"\J0UJaxEv"569 ͊S/ _BX89rd1LzwXŴ^CWL ]v#mc!tDS#Ř!ݵwP_ߨi\Tk柑9W-]EFۧ)`~joխQrHsW֬_W:ĈG+u)r N6KiDǷNrJɵ0"m̧7+5IuDgT9ObUSCFF?kTl8G5h&H˓e!DjH>0R3T1lq]d\g$[Gչn(,(R=Q0.6V2e-A\E]QJWS*U#]k=詪 Zot>%:JFs1Nʨ*-R)׷"H7-HQSdR4)Wz@i3V=}źQt; CpaJOJdr#ԻWSs)(ǿ{gcnT4*Y "D0vc1'Wd"*qY#**tL<ޮ7RÂԡ !kHEW N3jH],&k2n+_HZk'"Šm#ѤBt71&D:RϵOoa*m+q >$> J=v# 3JE'S#PE*zXCLyTk=07t.,c\*~ AZ҄3rh&Lό^SЎO=nL]mk4&g#TyB )Y&aiC:ɧ!4|ozRRu1qM İR*sbDuMC-lbړ>^iq4[R摱j!*ܴ10*Y&N#CcuWdi9 L[U4 & G{:Ft&=la )EC^Omj>#t(kaRT$勲v"v{(Ged,*r)DĨkOQ.h,/:SLےGz싉e{TDm]S:& "OAU8]r8y%r^^THihBj ʦ!Gie6dM)LU̲ߊ!XĔ_)\MC}z*cd{ I(]_]ʅ+YHFBQ0%jRQa\LUp-BH9߈u'v^S=F($3ů{q ym39YQZt):!*]My.oJ-}N%"_[)Wk٫rӉVYtdKz}Jx xgԺU3spj;՝8A9"x.tU~dHkBAB HH4x  q3}ZՉRIȍՓZM{^kQ|u%dr%d%U5:sx\߿= ^A,UJ%liŴʒ"'FJIfOjSMR7 !_k9XВSk[pήa+3/,0r-VܝJ7vhwZ8,,Q.g !c Xlj&nΉ.DϲȢ]jR5dV] 4j<{ȽJxydgrRzuf7֫![-ׇJ}sk {2A(>1,C SZL2BtėtSu2ID(!5 FzL-KHXƹ&5 ]<':ݍW kDfNw[' ȆN n-:,9cԝ\Åj*-PJj>?]MkI9UGzpzA !9C*=ݟ4v:!z% E"쾢nf)㳳I9 .$ Ge7M(%=-S’n`?RQB)Fٞ {eW V^LZgɲ$õ ZDxZ,QH Ty-o J B)o=wV6 (tMw Qtk\AgȯHgJYw%`]2H;-(- +2WxRYu!nU e!حGDb U!ΣH%F7C8B+ tYIngC6JX)[9y(Z3b*TA $DS IQSƛ/za?y{ bq: IX,719P{NCT1BFܿүkD%'pZt|OaE,HA#4CFg.1#3 q,jQ"su-ⰶ:V Q 7 A J% $,[Gw:jd)h[!o`؅aTx:.d_ `biL|sȆ @g֊̄]jZ ErU%ux*v,b$y>Y[ly `%W؊qri+ aB ӂl8@ @# RՁ::C1z{LrXP[?&Rgr3^H<IMQ(<(~* E@4y;ެ_<@soz+D,ʛcL /|CuSu~W [a- y~kdaMq[ U* cQL3(a H 0!;G xNka {),qIU5 3vCj3NWcsYxDB>#< ]  q0D"x V,Uה.{t@@acf8jZ0gɎ-ƼH&2*rMJ RB*2u5-'*aN AR#xIE2ΧR%oI^%3ioo5sdю1LZUY&UsqkZ>W6[i=L/)ٌRLOt PRIҟ'FQ i5iw+uyr ܮVTn 1l0 3^$nCԈ"㋇;Bs qַ=PmcF!6;fV|u6;ד lrQCW ET攄I6G >{Q&.= k&S#\۩wt(G:ڒCZ1IWYWbE (l UI~"!JĜl-HMfJa#bzd9NGntL#eQ;JM0Ufb؛(A$Da 6Fr#~ϼ8# I1_踲Le3ٙi1R=p 9l[*Bf*KF"*dG9~gjZJ7jq ~L+FRqbH& H@s]>=ZT[!E F98O[,\ p)YL8n?2ӏhD-+ћ])cRp%DS"$Ԍ!Ru,%op'"s*Z1GR*e)2$DfpG"ԈRqlJ2aJY]U]DJaأSiKb)Ԥm=n6YkQjhP9JGM!G0!S39o"LX4-KB 4Zwhɺ,V!Wr@͗7.=G7|/{h2- % ZE8e()KeNaRRHbd92N%ҖQZ͋D>U=2BΎhE#-_F/9+nv~Tȳ(6kPFqSG!Dt^*&v*͢2q-'A\bW*cDA@Jh+ yͣy9cR$KVj  xHB\=RG @Uy03I0!6a@AiPqsǩ{|j &ϒal[ HbCMN;R{QK1,AnB1(yCb\aw@T|k 4JZStX_[/a^H_(^i^I GSjDn|A 痥P! 8`"^tlO'jB/E3BQoFiő%%JqJ4:F(gWd/!"9цɁbJJ: c](A2)>F 3 QVE 0t"_jMQdhWᅄRY`Q~<8bq)CPTCB'A =Zj"A2j,o|[9<`XhBƫ"1T C6֎Mg(zKG, nJibޮb#]rHPF48DI'[J/zN_T8OAPyK@ݴ dW,iт,HŽ^=D{@J: q`l-AM%JzE¨*Isb6!m"8_0IV$ x@d(+L<2 @-iARĉ1}ٲEwuӋrw$#\P h *.n K k#JdrH<8I!hYg-hTҘabYŐ?͎iӁGi`EA bxG4B! ,Ď6qen ?)y]18 f(F5 Z9=@= 8R-"ccC=sp `\wW/4*g2 i&$(SvhZbjɊxTz'\\?<*eI(\GQ8P,'/_SbBEu}E}jV YE;%^D YL"+Vf~%A)&yJUF $`nK9 6pfző8& L^Ɣ!䐰JGÅCՆd h0V&ZC2 P/OqW ~I4H +$Տ0j‰^1  fN)5 b_jŏ9~ YJmaDۻtPsEPŹU2U!r:궺N6WPNR+(MIK6=4$dGNri/U֑ !Eu楺Q;NYcxWg)<)y"]J˖9ZD]\C*(m:z'лЬ^=HtZ-yַ Y: 9wYyQԼUe}+]%.p"? HgV\cGXK.xjQΆ/<ںˣqF(>(зu'e9ELb iR<"qT!էOPS ESfhjh O2߃_"PF!z **pA10  x"G49$չO*ЍkҔn!INj-)!q2D4bJų{"(Jccnpv@dV*iܨqR%~p\*GQfJ9/`VȄR/ JG2 p#^DQ╯>ҐNY5p tC82n$GU- m($b]F=R͕疊eNlƟ.|]R8x)-_#g|)9=Wt M}.oN4 FАHҗvM11)`R RPBCSbuy$\x xAhw\Aq\ n:9K޽O\{C6U/TRhԂ!.RbRqޚ#xeN$3Qƅ LAO?#яGZaJԕ#N?ZKq\*x<ɞq C%{yA{ñlM\(q{a\nB ޓOL<۪ߝ!p#0`#bBx% Cqa` O w &QԾ$|!4-{oya(J't- 1Q(KB/]rZ+  1 Kϋ~Ki5( (Eߩ\KUVyjzkr$%KҢ‡gE&B[J+qsxB#"NnЫICfyVg-ԸyV(J:1n6x^9/3s d;Qr]VE4E^+eؒ`b .ktogIp$½@? )c!n ZU[kA?#ˁ AA^P׾)/,iqBok'wꃉx6nX)2ˠ' %~8jyҋ`L>!&E6X  ;3 ?=+VʙY5Ŧ v=Ho zw )||S^ȋ]("q6%GWiOPJl!Y3E K~B=e@&h&M8 ȽjK\Ej^nf} SBTQ2 __ F];L+kqiREk2QW =3<4>'!NEU<1 4BwΪd Wnn@5W&Lfu\d$WB^D\ Ѽ2[DQ,إm /(DDPFtcTR} / yu#V2YFApB>$LMF'lQJp;Ƌ\zJiTHJeؓm avI)^Vِ*b) B0 dDJWsun +OdM+f^)!=H)u()q$x@YiSB6BL3`t il:A,̘*tj&zB/*7RWmc=G q$.z1y$Dٵh=RDt_- g_+`Tf^fZeWA:PPN~&/L3i'Qi4-aM/t+n]cPƯX5$ Pڊ7&(l j&tAP̩tEdԜ9·R(~]0OQ>i׊ Al2d(PIAثfhyԨ]pF(~ .L+M2%AFX~\Rhr( nee|TSkˍkw*|wF vHkU2ve:= :a,"ԳGŎs~pi'\1(bJ>.WısѧCd &*S{*xbaBUQN !X :Zk#)15NDqDȈ@S3>Llb 6"HQIh(|6 E>$@:T q1sg@yRv M`(,IGؿ ab;f}dvEJ4/>o PQ3,aQâ$/AM䑩EW`p ,hd^ &2d$@mD,2SeqfHo;!pr +C'αmQE̟Ap*,e"ƈt1eT@K-[4&@PEuCN:D4L5XXA|V±YxPн\Z҉*3?";+?UdYnR3ۙcZOF#zaʥnf o`G20G$J\3k$h_D7^Q+6%,J-I$?[%Kk+1%SJ-XOv_58?AT_;4_`F߳*KyY+|5 =r}Ȭ؞Yt3YD ٌ|t tjϤ)Z_/0I4tWrɸZjD. \J(DjwhBdBڐ"FÇe>.cxXm8| 7 J!oٷ^\U5 46Bǟ$manvRZ]y!9+At&yI61""N-~ ,y9A0 8gq.ڥ]-%tD `4[v*Dɡd Ɓ'ۆw7ͣn?1o/NۜZMJ.; z 8G.)!)h~T\i$"r6Pcm'y5'+֪6)yE }=3$SU ر:~3EN_8;j監1h% *9K }*o.g8մLPD D#& ܍mMJ(A$PL;1'~Ip 'e eOzvx<ޕ)DP=^\AA,3f\` 0mV¬cgH\t4hU).m46dihN eζR/J'̧Q5#Tһ^1Vc]/VwJGXU aG}$ˡK+,պrd"Df0KlW١e< ke^n/bhz?.D7*G,,Ӓ]A!/m S0qR.6n⩯LLT…8R"#$H~qU% V Pia@WR ǣ3h6@'L@8JvůYK*2Qb{+AS::LjqF,BR*rB!AcaYݥ4"+3ne*$[ f1r-gm޳‰)G9:妦.o5O,ގct֛'w+^Zh\ھ&@$oJtk"DPiv4LVر3ah\$MB4EdEPcaJO7R+-(\`d Ɉ͠T5PB*!~7"M?N̚v0oa,:nU/)IkxepmLk2_M)V?fj"J:pCt]$tXV(F^3Lw⭈gj6̱hkU=nsC{a "ePe"_d[barhKf7nճ Dcw=8O{8y⦄3oV]Q6'WC)/j3$QP OM˳IkʱF%lʸ6B`d; ) HLx.MK0gTIR,K?^+YUcqT9^@TN-E-@`' 9$ӵX~gMԅAH ԩRO9XH̺ =dGy1e0p0%*v&W Y.{JW #SU+4|9֪`3Uf .kF CvႺRQ8ӟ{bxC@B )`bVv'1 "9@A%eYD/DZ$+.@%'#i^ bgF[/ ,AX4)J 1zQD,rL4 2j$a؝ Nr#}a֦o 7hndq"i>#LN5_-Sxj">i¬tm~< rEd%C&GgQ]4 ˙N,Rt] aࡖAj6-ٮ C# Rvy+o#ƣ&[Cb6) $AS켟fnIrrs '1P;IW'OVz7" 0 \/ɼZ)ivd%yZ Hzv[_Sy0Ahɾ9nN+`f&kEßeѺ \5ihjrR@P%~4!Wa /jXg~r~= `Nd <) UCb}䛈̭{5B.BĒ@ E8Ubw2F[mllk?$RSYMžǏHO%w@2)+tP裙4^Cw,5h:3{ks .G۸MMJ)YB4C(Js}ީX ӳ"p4Bo(I{a,E"wui̮OQΊСTnSNDksBhkɊf"=&."D]:Xz$,(͉,J:vdXZXKvfU6Cԟ2-뇥,qrN7;R(>1B@4cJ]qJOA- ܚhT=oήs C j7\=cޅK82 $>Eblw=MX(YiKW8ܖCπv+sw^uRIjB9[H(h"/Y;#Su@cam5Dkfx$Mb!d= :O'.<]lʞf 2&ao#)b9 k!Yb ؅/D(D:oAJx"BB2nj@ܗѠ4$}7xAƶt. RC5Ǔ I P;O|>*RedFV=Sb3.LUH(ҷv=wSxrGgyfb-<ԛmr-9qvEz8ѧū|yqbAk0 ' fTăuH,c2 Ɔ~Eq!Ռ5 ,_d[dI٧63Dxh~H^Fh L(Ǚ DSx qDSĐÏ(!45b0rǎt8iS2$ 4,l$HBA#ˡMN,0,Q~B=6+"[Sn;J(Gh5һtY _Ft{j/vD?;+"H"~">)BJ;_B}?\ .x M{L*Ka[G^t^(ȝ"rBt4 PLq@ 0to@8\?o3PW (?=FzD ЉP5}Zl)Q>GCW&zy2щeՍ }ZŘ; Z\2*tA`̕2GF.=P"iU؆JfHp(%=4.[^5n5#ip aeHc?3yjњT)ܵ!tŝ^a\aɋGyL]yT<8 ԢMKꋭ!YJ+4BCN%33`N)nƉƃ@nR[>m#J#>Z*H\PأWQA#D°\4CZ0K] !f(Hn w`žPKG7Q+|'3Wa^]|5fv[#oREITigь Lsv>g)ރ dtۻ:2 3ˉ!h+ \bXsJ&1z)?JrI=TXz So`9o 7g* ŸXRiմx_1dBD%bmtBF[OC5wDRT$Z9i˖ {=қa}OγZ5.4s# nH0ofyI,v<#M J`2nnnܷ0G Hw3vLֿMۧB5~=ok].o/#%cf,;|Vڤx>˳QVh>jR:|Meݚ3g.+V$gU2ȝX)B(7z(V;>2ƃN%8 _BRPnă s[0~3Pk"(͏_TS dp32c⫨<70<[*$o,#MIR(M$Qs¤Ц_"86fCQoj\j~,Segu8+}ouujwWs4ȪdHќdo%Nv[!wExX@oeR^6$fT7H9 blVX;#dV"Dc9K*Xr|Ws4Y n?˚]p)해75)Cl=? ЛBbKQr,/zS,̑POB^͌7 5I^s;gw>_y?wJ5".:q2$U{`vKO$СAv* m5\ɥ q2k?h&1sW>t'nݢ,SOwm3&eq7Z|Y cnsr/z?oFmg+VJ4pZn U>K/"A%SZfDRˬMMFbW)o$"Y =kmUbtI(~LRٰ 8~ iA \?yn!>bvB)#]gpS =tQLKDZ82s70~"缭=cN_B:OpbrD!c8m)[d%rxY֨MjH6}/˄EYcS"r .A>\e`B-_J!b)Mt2.)ar+q{`,)Mbŏ!78H6{J]7gTVvcW[Ib2*bTu07*VJ$x4N,!)tNNq7dH[y՗!J 0/B; -\5em<7Qm~k;[n#-HZ]+rߓze9 !|?;C=DrzuEgt3e!N&9m}y&ot>Ï՝6lK܍#^SJy^$=谅nߝt0Q2UE'',@ʐ/4'*mZT?(ݕ&ډ}Ճ㜕wzi7ܕBOMԕvgDZm .!8xO5aqjm)\e,}'ÃgѲ:UudH DMp_SL|sr8( ,l ~G &iiLu((0MB81"D-5޹ć"AM(,X2I. %YjQ/!d?B ~.o.SlG7B[tgBi]]S Rڨ(̝筒Byx]CBI9KJuɈ͡H* FJ ?^4O 2RS,jMM'CQqFJ aڄ_1<\+ LJ8-V)LiPR_OJ'mAZ.ˇ%޼W=.C]4HfMQC,E|BX<%ủYcuMи3t@]@@)ob;-iJ/ v?34٢TVB38*뇎R " .(}r w]xO>I7QE '!* _b̭REJ܀"`DaYk13!)AN/պzZ&JM"#(KxKx " &`$Medhy+6h︒{@.:?b˃7ۼ)9D l :?PN/ eAj +1ϝO{mȔf*wHuQ7V֊(!0}evHS,DX'PT@AE;Al:*KʮL<|0tް8vF 84 `gv z&tq Et(-m*a͆7(xa! 4|hR#%!9hOLrUKEG8a4p)sbRϋ)T\@u,']dЃwi(Z$]΄!6TJ+65BR^#>C`)}3#,ٺWG{ O#% lmim#|]; XA,Ax8HGBc$y()RmNpPM 5 OElYB jT.B-j2[bUN˙D :@ibY5E ",쓐jIpp/P*Cנ.#Y^\MXBE$:[LB޽cu;BN%^j`kJ(7^ps;lcS`{~0/ѝ\$RRvv_X=ةKzYd0.6*&SIpE 5'ty+> "81E(N@>4#UN)=6ʪ&hLQ4yyzB",ui%(f4[%u$i4œ['d L130TJ)%TT&Y6",ͨoÜi,ub7Tgnn"Tw(h)*'fUL1⢖+ fCGs$a| LƱµǘBy^' lfYfL6GkR8AVUBǷACk\.Id' _%&>=Ж9 %4!#^ t&4@> !ޔ&uLP)TI!b* +HW>&$#`7IfB0C]r!|-H֞I0 }8XJڢx daL0h%%T3/KJ\\FFN`%zn22h9cq6ҵV,:ӗM o;N"ANGz\bv9"2X&#=#'^$(4Iks%pVR!H z@4iasFJ1D kT$$' h(ڌRLO;,T]b Hfcr5E?vQij\ʩսHجc-گoSPh i&;5Nn"}+fY0aos^CYsF^r-O~?tC9B$#&0 `<+R;rMF|YҤ8ͧ۠ճE\$NDS65dÀ#8-]z؁ qOЬ@v/>1/)Wu$nIZLU880\E;VXd !|ahM5ʅGjM=%]d}R_-2"`)$ e zh {plǼ8Ht2MNz\ԣ~ X믈e_22gٕ`1R pUp"ʜRdd% oo5AB,cV Q5ePEbfXS|d:l[1[NQHd.0 ,s F)EPѴ0 A0~`KH4:QՂ# 7*’eD'i-#^(m-%Ǧ j&h &1ðGt4VyZiV֞ Ry d^bw?iƶ]ZtnrxQ ֯PmmFB`TCȊ  "s-pPi­?dK jRyTfSC (0Z=%é_wJ@A $&h^4{QvA SS53.o%vnTK>'4ڔA01+^iYEA~NKg$֫fhj3i;- X k0 8t8>ٳ4MN{ $@dR %FqNܛ*!)qP?5Z"ua$e:rQI<3Ȝ\DT|paWhASu0J[}T;مn)bUAh546Vďw} 3`ΜܲdpKc8) EmPbY>"b. ph+('|BNv ǫ?:Bk; RlR;m4}4;Le uJ6GNt+~`Usj%q fx60Gn@Uj 0E51>h&B8b,Am !Hgv)DGT#OJ<4efo\+@?IS-C 6K#aMri@6D4|izi"(ث>f7.K|W~ JduF/x)*рU gB/t q>Rp a™op[Y1JJ ;m 5j_"ߘC B;Xڿg"&q~rjy̚`va0L-ָ dй!\rwx<,P  }&$W{SJfDmHYE +N ]#-:W:_(cc!sk">Ex\s4w#Rnj^3@@H[C ᤇ dLLEQj}A(7RC }[B'+>G 74:dQ:,sxphm.)+q2F%1A4603,1(W@g,*sOAc QBg !pTqCmx.@qpF($&Pd>Lj$UM:v2-o0'GaEł\ҫ&pgq&fzNh Z# Uzʄ;Z}@j]&p#Ohw8a?Bx|`vʢ~hQZ,"Y g~RZ## l/`seB qTsh`h(Dv4X>`V8u!dRHLAU/\ ?HvN6^da%я4NIs:Fj3ϴڹDUψn \jl%i_nEpZ] OW񡷱Lnڦ+2L!‹̩p/d7F3bBkر6V7Ѥ~v釢6J_R5BMv,>XMz#\"p1ZSB4i:!{0pD=KLd:8yX5RG+[ARmx\C) ,y[j=7orB ډzq_X:K.~L罒`հ*sc?y4YW|'>i$J^S]r|Ȕ8wxG62sGg2 C(2 Ɋ1I2}ƯŴ(S)m< KU,LR 4u O(CɲL8C!a4(lb Z.|zwQ`.a J  7eF`sd%卶#[(vQ_DbsEmvؑOuĎn"BMRy?ҁ=h\0t;0#\d((ZC$ ]I*W^"຦J!+)1}i"1>if,l\ he#E8gS]RIBb L I2Mx6! 5V>X-_ S2sȆD & QIiF)8@$X::Pp`XDIRRN *,2|':?ӫm.6C@6iܐA.CĊj2 G:03QsF5+'PQpXM &w={Pk:GȨQ+5[(XJvt~E^$ ӳ p~@C&A^|$k1Cf`т87pC|&2" .@aهGBѐ: $-7 h@M| RM䨑YOB!n& Nng<]fM []U(gfAeE5lQ ޡ+tLa/tVB>ૂùnB6\if" P .Yo t _n JvH0G⩠{}VG\ uQ@UІm#@eŇB 8RNQHZH5><NIfXw<饢DiL~% 2GO)کpfR4fLxDԐD0&͚*ciBi21 &P{e Tsܽ dIp>׍+[3CMklar.]8BBj$vR"$Rh0_ZZi, ATha=JjW^8e&yit7ny3Ъݹ'Ht1[*uq'I^;]`#P?`$W7A2f'PRZ B)h(K\t0e''nhV|dQ (0"sX稞E<2UQSa傔rp"2>:cMjYJ)- Y}b-< j-܀Q94%JUթ99#Y E@U FiH qYq>5!4M&JGNԲW Lؿՙ(Orfh";E -+9ro8FmXvϭ[rO1-A|u9 B"_mi_p0Icp1 `7H#Z)0uCbAh2kU@JW7_F^S]dVިY6M5k J1WJ)LOid!B|VT"DܻWZα&,GjqUz*ZBDT1jJ&1̷vh r]eB+iz29^k&ǖD&~QMԌ)3Zw) _䌒Rt.~¼Yw;G@S$"*ޱN`8<%SnI)́Tqt60 zDrC+<0xDhp;NR9*-&''c I{K-cLc#mb$? !|S.>[pLҭ荐;zf7;4g%kKX[=\ Xc7^ưߐ쬺̄ĺQ @ A|(N g l G}rLV7W*M#d@5: 9+0y[z 9pč@'1Qscm] I*b0_`t n?-eB}TBI!jtRd)Su}喙Z{rf={W@yeM*7Eʬ?x!R#1AlyrⰚ~x tΕQ2#83$ȳk]Ԝ\߳SlR>Q&D}!;mg˙ߔHۘϤ4,yXR3Kb1zZV8BG@4Jo onmNoNhV hHB g^td2F"LfNB~7$olGčh"4L>z/%D? >I:%hS':fQIV6 U|!3{'v# 3YHYה!@Czp^׊fBZXܝP OXSyEMmw#Hj YB#xقA fW%870l9kӾ(?4u"ztU BVFY5S~vQva ZzҌ8ʃφL ^o YG+63 PQmA :UpEY?tӑ7q( %%0 ި&3`Ȋ񲸑{[t.:;L=n9[}|s?]9q[H{i6_{Mrί4e(@A1UĎ߂Dgd5x!cXO3‰TZ. !o"Ik%Pv Dh게2ҁd9/5Y"OFYuM[+(aѮ3GӸ$b z0=^f?B[h;ϯ֩Sz'[;NlEEnښLjnqSI2rzIQ?`z䄚%aPnyOvr6 h%|qHn:)-&gFW(etMy=Bw9]%Giw*EcuC`SJ4-dj* ~V]Mku 0Hi6Le$*ݟ*J'SHDZo b&^a@)zX!K|x+ݟl*vp낚q a\ᅳj-Wrl^ߚ钝} ŬtB^Xwau)P"mLebM~PW1{Gg]Bɷ:Q"^q'2^E]Tc~`;/wAW$p#a`%+ T5teECw;hf23ZY=ugkPǰ#Z0N:-[AwƢ@,{5XMʻ9Cs=]j5gpNi ޚ@1}]_t5)D1g ՚0P}[nꜴZb񇯫KDBIIeSh!Rt/);kʉ^3hVmB;mעD,а,ez lji.Rd'*7gKLD*rfr48|vC`cQ2Z>Jhn0~$$ŏ9gDȥ%W$( g.=Pi{$}Dvj͊^:w # (XSکYzCxRXMIQ=)fڶMHӓ>7&J#c7{;KҞF RޱZr!X+Uw7"`:Yc>!~Z}{y`'vJUpms-[< =#ֵ4KV/WOTK?8Q%Ow6(F^"]v>3fD79Tͣ1E7Q'QAhUFt)]%"RܫR̞+-] / g?c.Z?Y4ϳvDm l2.W'; ؋yݪ}\+ jYdH!< 0u4ZGl5HOŕ{ }֙pؗJ? z pEpibVE;J^w0(ԋ'*ӭ]in5%@4R~S'iQo*$>k9'֓`Oމ 5 kiϥkVwYeCIK71ɴ١(&a)koI+Yi&# ? + ea3Slɠ}9iv"fZKoG N^"fN " DL AWSlfY:LylnYJsܴ h'GzO+q2)D,,dSPId6 ƧyS±a4.U_1 "[NlG[T,sPڄB#<U [wIΕ&1riyoBM/ @7j&m#,y"Km7\!җL j`9tzIdDh#WI Y)dAcuN8 ~VLWFzGjg7ei^ո~u_m]2MLg{Im:Qt^DqPx6Ls6i*TݐDc@}w;b`U,U;ZB5P#SXF,ҬjX?`FHN9+MJ*svbs3@"Tm=plʫ5 $S JC!QSc Skq,I ¢ݳHP ^i+a@NH`C-HtP+vեG:=bHWaP-٧Y)9(xxqciﴕܩ ?ʓ+W]eyCN'*m>>=ruYץVJr0<֓~z}YăC^[HH1qGe^r=wȁP;~P0k)"?|blɛX[J%-2Hdj (<+c@q{&q)D 3D͡. ,(CE[k2!vnEEPh>g"$cYi+%&)d,ycO/#[`%c0$r)HśȄ]t$ "*M]{5uz;@VD͍anYwDiƵh#ԏF\ݾS!ϩrPƒJ[׻3=-V4ih|4ł~ds^2_Rӗl@MR'LC" F1Q)Cw CnB*,@@s ]S|.'p>D mgI^m-s Xߐ([L܊J U]>e޼['cޛVuUHXeFM/)yf9~|&.J/_}%)7t 7ķKiet,ןUq2Fn: w`#TV^EF!Pĸz'DBR$ [>EE_oj=ځlJkp\*-U^̪9"IpΜ(5@ABx-yXdBTf9eq,7OX[ YGhȩHS2Q,׋ߐi~FjWv  eEU(|XۑC0r  QDi%=oRP+7W6XHNa N ZI|=M8R L K^OR|?ӹRQ|Ԯ`G,qBzO2(4„77K=#8K b70]lR.L 38 aϡ {EIMZDpk 8}‹)f)u;VK}ܔ;iNkYסdWmip qg5.b)z+cE`e3+F֐gKVfxY*(*[}zQsܛT!gwvCiPP߳<%I0ڃ^c.4#Ael >΍!>ۋoJ-.JFض1^=)6~U:2A$bE-Gt(}0+)%FХVɳ-n(pv* #kMZMS ޺dֺƠA$--Hd k A};ċVX"-duɳJe_RC196^҈M"SGFSYyubKymo쥝,cs8L$SI]Y[PӾ.=;#6IȩjD633âS4h'tvo^d\#.(:La1XJxܓB<:,SYD)QpT#{0|uqm\VE%C]uYpO5]|*6L!G=Rw}!S"wQWBf-/>hDnK4XPݐ]ɭ5Pd"ڿeiŽK T{&XW|<$EUQ[tvWIՙRR՟V*Q%q`kiaWJ&M+|'%LL@ȭ^EU!#(2Y9K)"1L)/"sW.[ܡ^Pq_|', %|klU-t!iɰZݵe~w])q d˥2ޑ''KFlJuоV`7W;]NlD݋IjǬY]fe&ipQ33= ] )S=\.7'_+7=8X:·7)j+K.#+A"-+a$5 $e ɢhҡH.oYU: EЅD*D~L~0dL7)l ɛnJjJmƥF*l*6QnCmD&R-$sKc! <jH4۲֊%-EuThѱ+KAH^ϋT#eB t2D`%͉a\8S eNt8U㛬}l"ޢ#|XkڹQ4{hp5Q}cALg‚.KPErjm7 ߹>k'L؎pLC/0YtHGlR".^"bU©_D (s?J=(z/۵qI2ʾ$M ۷-m(vtj%&jIv:z;:iLg_.8MGcY;Xkzeɇ\}=tGg#q('rq0JIv#F/^3a]_UDUe;_S*ݣ<*~/ G$k!NB@y=b23a$IfYM @6WIDMNJtR&PYW7( إ^Iؒ#`_3,HSy -2U)d#*FbP]GVd~D#2aAJ❣Ŵ^ V$7mq(7 {w_M4[niCSb%{'U.Muaf”ЄRI~V%)  B#QOIW)pJ̹Jno+"Z=#39soM% B@ɨͣnR -^i*Щú9k)i!tMQk^X`qqgNE(%G2hyp/U :U],yUW]nG:NhrY.7]!?m8@Eqrq?c^Pa'Z($""6+T#hG)Eo zZ*=jF#M\R=Yo2*̚ ٟJܵDʍH% !0 N'B}22%LFS&)|*iz a,Dcƈ1rY joBS'l_9s!UHhY T2,./Sr]TD6RhqEd,4Jqg`dQ~&_NIa`@Z~֏AdaHwBJ ~%6¥;㔥oyzi\ ˒]L)4{u͢eh6O )\%fwZb$`yQ㪜^Tr1Y뼂>'6r N',ɬ4cdVD2@ QCth) )j8@@zPwiOV9 48Ahj (R$yC bl?Aivh:th`!y6 R0L-<8U!”XKɊF%eqSHh@u %H%6^fhҲJ8VcٴS|\# ??\dIo?'~H5ac0DY|' pZHX1,L7k'3F1x>OTmKBF*6OVwEHPƟ/^aX̣l.$c^h(oafQ1vN_61A$Eta`i^1qH0=iF@ơ ޫR^""绤k S 0>@y!7vL>@E:'8"%+\,dU܊NԄTti¬*g +G+^fx[?Ys)AOT{!R("r,y.@DwhX' !/h$ZG0'S.źssQjAɌ#UG܌J1''YgXrHXF-$AO"<'LÂ1@L,! &'x|$S j6w M "lt'7HZö/E, 2hrY!)"i(v6xM4[EW*3= <)kB.-ȖHE@D T8=[UcU.Pم^-QXJA6>IJ; 7L\3Poo)xW[$lN,HZ%nG *KqksPJ'ўܖi)K`jc=HYB~8_E?Zu.${P5W6N7 6i[iD= 6A# q(`>1ad4qtq*̔kiPDPXTP (/? 4&Q2M+kN7p;P !5)0QqL3j B}A]wTםR7M(ˬfA2p8T3( Œ*"sB'P)~c׃L36ZAlĤsl_܋3Ҳ,q5(l8hLa$Ьhש:mڐnVXzq[_nݻu4Cx-.\IO܊hpV<)%O 6"))^0^l&}"FobVd{IN*v+ciRr|*|F-9u=zlN||+4CNp*)'FTShNtaH_7xb@wv4ex2ei\cċ D] TlbO|H$l(?Fq6`D{じ=MbyȐ}D񰔔$UGYsZmۖZq+FZ%1svSkTͥ({Z7?ۦS{kFl2=b&˖i/Jx^EpDLMl" gi}BuHE#(jJزKZC$DgًkGΫJHLk^8&W_'r#Mh,B:o%Aj0mGE,):2`NHu;dTmCSSum|"C`16&%XߡH1\T*aU$ ƛa#gĜIkT)Rf"ىhR}5cѤ'y:ŚX2؅m+w/֞*VIZ]mnqBX#uCKt1u( I ńc{a4aҸ>đhOS%xhq ;C޶y:Ug"Y|% IͿ"Viaʏ^1:w(ʴ 9~TT$Ǝ[{ #ǨY+5xHEF,D('S6>,v6@tXy# 3xң1Le -KT?sgOiOxn6,4k`S䩛۬B2ȑ?"^3"BH%D'-.N;w RᎶYd( MaP)hrN|mYB仛Zb'M jM ΁WԉY[zB퉃ఖ|S/|q(`0x3Q-uǣ)3BxQ) z 1UҖM"Q"_ XD]7F u. 4up'&4u+dW|-<-cH~|.X"ZϞ'%ef"5_FD}ZmG%w4-r 2#C goAtT:R:1]P1-ϟĮ^*E{J\D*.ЏT9D~$)WꚯճeDM;}R(=げJ9%]PE eo)p{d% {9)/dފٷc +}!BW$Qs_d.J?q\JuC}'Dj1I`ss+V2G&j:h2tlV"ڙ r.]S3nxo%ִJ XٱMNқa`ZR21_a]I<=St1YU*eڅCkz~Zu6Nr0Tid$nw2t}hP0☆Pؑ<)eH@=VƒX.6qqWpv`wz I%שsc~LRǯ0Z*?[k&~;ϸ֌!4PWR4 :%y`|eO4N= EI[tI@?O|JU,\fIҌlnzt1) |,#LEW{;i'vv';Q~F)ǚ,dY.QMdVH'ZZKhݘ^QA6}rJ!p!y& œ%KtDv R\ƔAus$V,3]UVw} hBOĴiV#]𻵳2Z($+7WK*Ȉq"0X˨`ACb2#+myF,nH qהAussY,8Ϸo1r{XmPN;6mGb^:Έ^n.WdH3AoJCDW@L,,QG aC,ffAڶpBE N@NbG9 $ݑ%̲!J&mE|Iԗ"/o-I'b1u21{42`LR[$Iΐ&9:W,4QS&R%YֳN~ӣaT}t4u9ǢNy^6R'U{ej%TQ@xVz/L ~&BG63F6Qu1Bv VߤQ'_!gYgN腈{agܦM4VkjZwWXWSWQIvm.'T(6QBQ}$r0d$v j YNJCե*4x{OV6D艐63tcpx֡hMj/3o#X2QTJ-G7yeRD) j|Dʵ-IZҚzQ:km<'UDb'SWq[ػ"IK4FdO%˥JEAs^]X%g9]dYPǶQ/LR=4(z7:Wi" MQ$ou~x Ned? ")Ǔ8h : VڋQZǐbcgFkV^Mu38I|ݛanc:EeW|;Ք}gfHcIBnE#j)p$C.yiLմ[m}.yF!z),G o74AhM2扺J+jF<b\`M$G>,*A,&%,WzC(9H Zl!*uvPFYoRYiU0soɖ2rJEDM-VqBgl'k[$!HUovq`LIDYX 𸥝cRFjuSI҄_/*]I7v' f@Q6.7UQviO/K<BWC0514K*<ꆤWfwTw0?K,u@@%@m"Ƶ 5Kcgڌ'9 W `n)j˱kW|kC><aI6m[Y/NfZ'uii"j}dXc^ڊ GpJdM G{s LQ"շBPet5JF#H(AVt 8px `LK(g4'CA D`DcQ=EM~C"B@\G!5&)59'ODtZ b(Gi'Fh?KZ-βTsW)?; ao JݟWұL* C:MT5l5q%248=Nc~$#%6 X?2U_ G|?T\J*Vm~]~}z5RXz%'Ȱ@efnszUlt$^JG! X'c0*# Rж' SH57y1tŃpTlus[W5[&tUD]YRUWdV̉+ѭԨx1H5:W|@ @AX9˲olģ,Ac(W;S]]Dd} kb$' Z!I 1J H&V؉b;K>(mWa>ϭonY1P-$BNR.O\"Ce6@m?jo 3 J0 vӋ4FoD^i j:bENo!!av~@ð6a{q +ĬW]{d <`"[ ppA%,Բz*O Xs1Žq"ZFY[?MIsGg$&6E2 {t:# {  ڳW J>R*A2 X"G"$OۥFƶ5%JQ[U՜גZ0[C*PK+I%\U-0x\a"Y==2uv8/3UWک볛e0z[đNiAb+AptM`ߙą+I;2E T*M%I }mPFT]YQչpE (o#L=HXP/x3>x4,5[점 6_s"Y% D"lt6s1c'y% }U:.&$;V^#W%85t37sHRoO4Y0B@Z73kiiH<Vd`IquV(%bL$J+n0CICk̼4dE5\v AkXQdd!KH[plu xFl0LCQ)e kUӅ,e.GQL""d>jrrVLGaʐzZ-PH֐{ x8<'68)0 qnHNW}m )C2h8/!H6PjLʮ^}Quz6Q3Ǣ?CCZ+A;XD=<ƨ HTFLCN{ ,5WK_A>ES>IZ"d¾RӮ {(grVW^ϹpKo*,]ZtfWY9(ԽN dZk'縟!!ǶI)٨KÃ6(|u=vqYZcaљcb8ٿ4uZbN+I_^"HX (VBFIEe ˃JKfCjh Wp 4qGҪB@*P="*8[$<-ZlDĥ9şDW)_ ܧ_ŋ;NR20HLtŇ4@sZ=‘ʼn^ &B&"*d((S[N'H>" fIYbWW(,PT<$' 7@v͑Qd4QLUբlAPd F$6.deqq2+ lxHUK7bi4S*)Z8dxp.G\H($I`x` AR"vs*Ml^:`xC"41TP` d"E#}N$8 b kccF\(F/S<lCe4@<~@ǂ*1v>&b@"]Q ؘWt:`"FUad3I DȤWR#RuO%(Yh ĠS\!#eHmIZ hT3 O{S?"lЮ=l"ɶbpi!5~C["|4rj5IT2GP\.,hBg\ Mp(gmu/\t&ztZDS2D&OB@Zuԉ{%a Er-ʠAN4@ -!dz "K ܜ0H錢jSDiإ '򚾥wS8YT][8ZBȱb2PYpJtg:NJ]i9$=o+Q76ڈO&J` $Нh-vy{d~GX4)*-&]$HUUj~g%aie  [=W ci'037oHAӁ%'%nD+8leHYuKr?F &vPYVIXOiR(J%|$]`~_(C4F_(L3}V&F70ߍ^ڡS3bh2h%*k5#y7t`w^I& 97{*$m%\qm"R]/COT+I0.KK&[ثs;^i] sJBt8qGXF>H8Z,aFQ.\JE ̂0>:%#\$X@zkPk,<tUGfBÈ,ē"Ȑ,?QDH#DyB| 9v U% Z^4Ŧ-d$䬆KZӏy J0y%,f9 eR4p U+&WotB.p uPcr!6@xF~@l6RhOh|3-FJis0f֎vfEI]es)xf7FZgCC e&-KH [֞W4ɩL)y'/,=*C-oׇVn/̉>^.9'A {D"P&`\Pnt4Gu)*" yE8Bx O-~M[\p^P0 &ų֧ IHhv3ǩɡR%ŜIѕjG2"el448 rI zIyXo$[śvRduȧ%Pa}&HS.H!X?!߷RB*DȕsSFe R|x{ @h\`"HteI %7hrvѳB1_`=JrT5ٹQ2!. Ef_\4aR{׷@MZRMB Atgp.CQg NX*#,(Sܸ])k!9h+! @K8qZ g1!$n 8Jj'E˥Pr=fQAa azަ[eIEWwx$ pXA+Ȣbud 54).Q$s^:IB-`%[CJ v .nlQHէ #HjLNMFY&q-7qreJ>Xػګhy0 mHɼ.4l9V"f|($T"f'S2 L 3rz\H`ӈ"o* zf_\ȬUJrgc8Ucs#:@8i TA$F\9/h,p:>J]lji ңDQ묲JJ" mW"<]];k>oϾMR5G]iu*}*|M'$q%%p.3)]MjPaPRdp#D?)Fr!N41?Z$@gzKV"NWTXY($4]^ZbP0Q7/"B1t)b^"UMĪt!ir(Zbx7zON&lE$W{52b3z!a(a|f:r$F} a:N<'1$Hkq+'w+0-}XNG\C}bJ&!f*!(&tɢ Pk-0MHKj#2 W%(XMeabE:Vxg D4Y¢4!?G+a6ɞwSG #xPI~|BN}ʥ1E)=upC*4(AT$UlSTzkƍ2N 4B]!Spg/}[>8*I4eChg%{Q/E*b=B}֐3rVuys=DjW`}"KK4ꡄ{C9d[Y:,ά}?&RW.D8nM2?p}`5uL$ZWj!DS1d>wj`J[qx!e`kZH:C% FAt\թ(Q8G 2m}wLB b =~l{aHRD"גc8&#eg)&i2p73 gx?ePmXE3)5ђg uxwO\&P^>k @M03mET3f F>^xA:WknJ'@tD,UYiA Ay˵(}QZasɾ2JBJpًugVfj1b jl߅Z̘C5B+=JIO#dY"T hK sʧ3'EѴF?Hȯd W>ɨͥDŚ ߚuTx&{\TTaV ߃H#'AN%rV/ !`vM)g8\] . Ӄ[[%:J")@I 9',0؉ɦ8nmi0DQ.*K:zK騒V~ji.ͨrBT{sj] lpv%HJ=(VF) e mQO"$? b&D`rݝW@GH.M$v5F 4Gg( V6VEmdj2SsO_OC b)I&ZX+zEMVdPi&͒u٪ȂcmG,M#e[0,fnK#$\Ėz*i0ےW hmMKQ^$ sc/;;TKR &3y߾ލXgtE$s 'ϐ)jz0.=ΦդJ6Y7<-]D,,`b1#O ^b)mm+3jHV3ZR딌Ib[RBh* Gv p}̴|h^U/2<ő-YXZԗ( %\ݥxKYpa,EZl&,t92¼q!&+(N$ FެsERYtv@Zcn6-ԧa 4tfY;G(+ȦQ4*ükZdև޳%Q5~|XZ7cmLR܊ۋߡsGG;saPCNW%$Hn@De-l㩖RTuG72Nv d!! K&9{tiTJ۰Md%s\feqr'Onctf`LPS`2q.t:Ey&aȎ%B8vJ+Ր{" зo;`; ԯ A . m@:;p .s2F泇ʁ 4%)Lϭ<(|k8PhҢɭ- KUS3xq `xE`(%mZJȋ@eR<4ZXlB e,aC#LuK r `Lȫ}`@N2lex= E8&Hd8a:+_(Ȭ.iNݥ}zGŕ$溬}DlQTXۋKj(B# G'jNVvS"PKiУëu|.5ص7xX_o:\(u%bׅ|:'S="b$S,C8uD/^_`$CjSYlz,Ȃ}Z?ꯚ̴ j8 >ȱI4b M+|ąYT$;eף& 04>(۩"\NXĦ7-پA16g?f҃^-͈rR$|)<_? rG: #cKgD@"%fKܝE nɐ>{.Y(! iBN)i)Eyh!-,C46J$mٕP8<U1 =0gSb6nzjj @Sb,A#+5"M=h P OdDh^ఒ` CeR|ReוQ9$z2G "Og3D؞M$8 m!g?&`d  us`tD[w)zavm鹖~:DshGG&Q)f`H2@A#/XY k"x:Ц1 gh5h Ţ(֫zP ߅& }͜ӥ[jRi%aVSP?̧cߚ~DqU˽\uF\b!T Te??EHVq!uxnB* va *#<*d&/fpݸjɈ.D'("0U9T]ϵQ[ǎP*%E&}qZFӢ *!|7f)%d+PTC^,d1#4i5RCܗ$X r. E&YbBJ&k4ItMb*r9]h!l/ʙmS"a(}âZͻӆ?>1,kщE T_W.v׍>H^#i& ow0t*.vMuYj= ?ѱi@_M/=}֥vk4HmA fEk ŧUm fseNĜyiֽ=a7Y~(syȲ^vv/nPVde5/;V%?XС"h-Y-Bc@E^qCX 3/43Юs;~^"|*/*v>*cH.N>WxD) $s-( ܬ)tn$h%B1VZgwА'—e:eӈ?*g3SSOՇ7~-(Ѫ!s'.!91["Z`~$c*,#J[,%D .'ASh9$ԁa*4NL5ӡlO{23]p@D&8vIQ|ɽV |DLxSe/ GSZF=zMRJ~&z$)Ȗ⒁GMyNbŧ1E eNF/YM\_F8߯ۛF؍W/}|Ŋ#g+ 򌘍P4 C$Wjb1|+0)ek=lewC%znzoA0FA6/Y#.=YnXSbs3X%FղU3I՚<1Rs,ؼyzAE}ÍwlԈADFUʳG%C^+HfxVll~Y3W+~]HO o) n|7"AzhZD)B}eXW6P}QzIKeeD#:MUm͖Y.LJ;Ycw#emwOT%60uF*88*s~ HP *A2|N 2eC@d 5_oDyA$QuGG "݌{%>Œ lN@YzQ,8~Iv%h}n({tu#&8ۆqqƛVe ;O"5SNTJ%+UO c5ӇeEʋa*m*a/=\WZ[,H}A҉6zd{o-SBS4ب~Tk]=]c4ou\3lJIjkl( o.T!=% |֟- VpUۙ x6KO fE`Ƃ% `W194R{aՌtIvT}8N2r 㟤9E2Z§+$WGDeؘ=E,3OfA̒5pEͤ'@Cd F:N 2qRl@U\: @GBɔQP,SɠwnEf*wZdxlhJBJ.Ay2{S OgDT]dvreCAqV6иJ%biC@LqfQ͢0&1:cV$dI5ID؃5JDǜ ͤGV,MCbA=".|[wE)B(Ϭ6x~Vv\\`h_ OV.|yhaCA>&%ň³@lB#9F"T@ڦ elqW[VM̀€ ~5=(p̤;74J 8* kK1=c#z. \:|FBs9WW N ".wdr!1|MY'LE;>`Vq}1⃙ <ÖʜŬ9C4#EmRhjq &G~*;:[R{O;X>P5ͭR꺷F0)Y3oZ.imx%6|05Ӄ |_tR(Xt>u:Y+9mI"t%Znv9ì XEx,Z9&;#p [N*Y 0c(YzwZ7[ 蚺 KN"̚atjQi6[TAOӦr4ZvΏk!qTUMLU\$Ǥ6 !ƞømzZGFzMvIld֤.\Kuk^zS1 ?WFog?,΃ڇXV.XH4 wit(?bR~XdVi/ @ؙWwz|wFK͉Tbe[UmLTQj&1n֕\z:eٜ"i /|0Śϗ%Z>0ia ݩӒVfmX9\ɟ[-Yl'3<2N6ӝ{*l Dbd_֩6YY*qѿ trBYz#qoUN]U$Muap!'%~7R):dRoa(z ?+ w*ɈͦP35794:i;6;<ͭM*<~I^$bAɭiėMn/ײ9Z9bO'2a. T,Cx 6ggX (>xw씶JI ,1Qz-Y#Z v ~eֲMWVn:;Ujk=]:i♶A) hiW }a(qF71臬-gC UG B!͙{H`KHJ"i QrNټd$&ond.ѰU^-U3],璌LkמlJlhyB'yɶuitQUd4LTDAdMT"aKXc-~AבS8Su/D"|TQYv) Ukxh 53 S-cJD3GOioz:3 )QR%1ب| ~j/"Dw@Mi$ 8\mҫ RV۰Z<ƜVis$ޱUzѵj!G`HgPiPpCXM"Je- c;Ӷozx,nÚ )+sd2l)ҕ$ 'c{Zm'Vg1'/LoV*#H2Q%EHQ\luHYX^B-ьlIjFy|ꑡ%%]uǙ8X(;}6bc*lYYrTlV챶x\0r9v.b"'N:Ǔ>ZH)BLWapwDM0] k"DalvLgYV#"4CX v=!T. _ [!_L@ϫPYtk)H$O [I{L)pTk|RPi.OD=r)*-R~4|?p#pg;D*2K  ANK\<*M2fRC<ߍp~RwwځQym> TMdnl*ZIwa܇l_al$/BesOw>y" Z0² 6 5 *$0rvN_NT%zo~dL+s$'ыIf~qچҡ_dx MbgZqTQc~k!CE'D}PX Zr4CDP V/JC\*%+& w_Ow =VcKKY)-^ak)OP[G@>\%tLRt}6m街Jʙli}"0@ftzXttba5脥aqGV(.np]p__h[R`|9i+Ka_{ϝa%yҍ:Li>폭p"G$@i8AD?l"&(PL&j@A1[4{57"@*%[`&eN_rcz<`uH* Z{TY$;#D9BCʍlaD᪄ U)5&TE!-7%T9X Eac2L6 5(S5U$wa7C$ReZVzɔAzegwrW%A0}L^ʹ(Oz83Jc- , 2}Bf6f~WC1 l=y 47H$1m,KmE4KHji_Q-FDj.enif.j"+9Sޅdxפm|P,UN*6m\\a_m#lK` 8"}3.[sLF2ENEA\`"$]) ^="R%C__](QOPݐ=M,_n TP3 yRLd<#v VI_Gb`  rn4D* z,"F|ajx䗯CwWxsⱹ 7Ù@iUz{4$% eyABN40#qϤˊ Lzv*ɒM :B5x%̒2{ &[#$LPNB s1݇,*ju[NG)XE 'JŠX#ozgFZVw"eʁAo"4w5} DݫU4^/ꩣ1,JdաfU/ |)AX!%ueAQ.]X1W:>WF,{ *Y2?SHd\D:֙vVړ+k/bVFj6e ޘԚ[//fc~8oGV7:w"#gV6/}΢&[_ U8 Yjz,K8}=[7R NyоYpڒ4@C;+U<.,C&P}l lL].rUKzw|ysp* B}r$O77<1 kN#2qiFB4 r2F`[sL3bkSQ!$s(=÷CG#ЫK6RRECsr:fM,T|'Npm6C?OmTR'+k!Ț[dts2w2!g145^͋Z%6@Ayb X &ҁ׈psEK;m>.^5NnJR?CReA&薔MjLUjozO+{M=\׬թ.z}Fި?XPh>D0}Dx[Z6i7/KuRU;5VFLʼn kWn(.X dztg5$4PsmŒG[M:骺>]g[EcE6fŒTᣋjJGCt ޓpm ȥ'z:KE;jv򡧒JAM$Nz'BZJ2~rіׇYzZ4]O \٩ȻP")Uպ-Ԣ7hB6j"7cP'sJq;<;lHTa%*;ͶwL/Iy̌&O;s[y<'+AZ/K4m,<uYnAUlEj$Q!]|"KݜGτc* Ğ #K&/2* Vt_,>5(PI(EKZH&2J[tBUmHZ6\)etbU7}5bElJyS*/%vYm_"qB_Wҝv/1%V<ƏH[!QGR^LhtrHW#faP(_aD RkO?vR?![)]hF 1  K%))Pm錿QN[eӨ;"pCH[iѩwi*M{#7r2bkbԷ-Q&^|8DJobi]sE 7D1SQ.PZ}/ ^Ć dd%gQAXxȏvi&w 8/AyhRѮAH$e72Ǹ ]sZ; %2i_)aO8?Q왇hV[u,Bq[2%)|v [/>\ΐ| m!: NݘbM-Wp'B[[lꌎhמWVG|$pҔJ~PQV1asU}< LBR$dT$ScU-ȷc* 0|0wl}%Yn- *q1%RZY|aj@sGKSVl8Q.ۗf̩AR ڳZ2yH1ck|Ro)'@ؼ?m]\km@dѹ^[[zM{ֆQoKx$3hP.eG3y㏂bGc6d|]&X@jᭁ ' m{IXhP8Iή6J Z.=R1,*@/=^cJKfaƟ]_Q Y% Jb}ԌA[4`Msb".J(!퀂ZSR zɧ5fu_04.kz[]g_l; ngTFpbj^[i zHe0H^Vr V+S|]"'3;1&2ojDtly{MO,"%GJM9 KTEw \Rף REV_VX;m!Y.6 *)T1xԤJcX׍)%5Y0R @OezUnzP/1WS5~sƵ'hS,q/.Ț_ING x5!\VfBD'w3A3T'.iM.WSY|~@.摍Pj6⭜Կh.us>ʭMH-ui׬ J*w-N9OdC$%T+F_3An}WKzq/$c/v#4SRH4]^_6"wN@,/=!IwUrE }Jt!fz'iTq*smV2se̐fkw42̀ЖJ>:BAhamuZ:wvji {5!QPCdBGQ݋h,3J@&s\ࣰ/jďc5)NK6f &h&}X,\`pIcPBba9~K9m'汮Wph~z\j`#, [ $!ʨM:sΦ V\e9_Y pu'.)xgP;=ؒFC# t*]hDw~ؠ]oӛu1O˚<1)OdUGuzʾ[7R:3ׯvGtՂcDKY,tzkf064E #*v>drNORJ: QL߭*d eZIJKs1$Jqj:U5=60(*FDdƵ2KlWIA &h`s4T,[i RrS5 WH ػq w+NO\6Jq 0rn?; 2BIr "* ͢[iա~F,NKQaSl)FeFcULSDkɡ?xզ#کYyT+?+ڠ ܹU?Jh;b[ҹ..R'HW^: +, P[=\Պ  t涀Wv]z'FwQM#EL|ֱTN],ޙh$x-(3Ol&ZUT5..Љ#EV+Ze{5T}آe'%ݩ^NGAXfߕ=(3}K]wB W%26JȪA?a;4[UR= Cp[ B<aGlsp?1S5bWq Z<Z P6d J80:m띓|/·wTdU5`$!*YML-a:'6:p_.BxA .%B`0pYuicJD5: 6g*A;dMڥ#',TybUvXj.'m (jZyԚN( y%&BEք$`i2 O2K@G2.` ԳhGHؿ'LrI#t +rd!hXڈkOx Q_u -YV={vvzUxRi%Oe/Ǘ*ԓ|.pnn ۳2'v=~Z[kLsti~252h6`A+ % y+`v2rC(4V\hwblFСt"hC6rԁKӝ6^ HyP] E4ѩb>XUV+%`H3Bnqhí`sɧAR="x,)P9}4@~Atq9xAlڲl"}ozw>-s9GPf?6 TZ%QBlYsa{b订AYó{8lJ"=j43Dzv@D頀" ]JHzGyYb*цR *7bB0WtPnpH`&DdfS1FC v6[%,_5b7kйkr"w=ϓhZr4JXbk#^-zE1&a62ЯcґɊm u[ tT܄Cq hؿVįm>:IV76.QCH BBG2k6gDL ZCaFpq;3IPq%J Hfe%R묉/JM" 81H26fM ]XeQ2TlztXM;"`ګ+ ;쿽s 4ұ׺¾DjTGFyAB t)bT8ɑ17j╵zqxtgp3VLW5U핣4dΖq]?8Do8]"r|+[RXxfUd =av1BmRx*z(ej,%EoC@J&>$/wZeQ{($kZHV;JN)h8U}b´#2x,DYwU:~E>i_~dz*q}x)z1*Lf'4^ =<F; dyQp@*|<9]Z]MY3 m8o22OL7p_MбjuR+\WƶaVFPjhKz#$XFj!d1'̎Jb̿w;hoH8+Yy,܉ &#dCdג7 Q,E}޹+ i\ vYߜ[?|RÒ-.ddǩ__ַmZR ~f /O' h-) *"/ٶpa64;7xGJl[bT{kbHոkb orLHd;(3!f˱y펿m l%d~,sSO/ǚ&lX)m($MFqV0 AC[ʾZ!A1+OGߎ% P{e UIgL,>m1قR-.p*.Yed0Ω<JK<9 `T1hMf̈́'FPOO /Hi!QAx`?WnYmg{XwvINR2ET]W14#~Љ0R#%oRs }Oa*v1K-jZ3v똭<ƣOb{؆,_)GWa[žp" [rj)#$C.Y,m).ZH?`)4Lx4al6 P|$R4Xtz&@\x$B-O`ԭ!MX>4_S *pխa"cȱiedZ0t=gSU6iUET8diJ= vB@hё*ınVHǡ;ҙ0dBVTU@K+z!(ϝ< 5kۅ“*'qbZ3wAB2[`8)r(gsքf otd{G4Ij97gf +r +1tؗ$hʉFMH"#,EFٯjpdL'@AiåXU+SwkG:>!i@vexnH'1\ Q4T"bC4n&䈉ԵO sn * boik^.[UC=[DVX_q NzI6/!SiBLqxu&v۱| TSoPf 1Oq31 g06Gcq^Rj33=mh[er\ +B*,@(.sS.0 \HԜa1i!l1bB Sd*Cm s=A8FL BrYhZra{բD4hŭ"˩ӊE:\RthVeZNhuܴY<ڦv%5A@5d0[3'D韗tzCS!4ɒ 4FHY`r#",T+FH¶hV- F*gL[q 邨6ʿymvmjM[$7@^FL+aST*J(uoJ="ƴ!¶㋨yD}j8B1΄GhHreEdMP&Xć.L2a ~m_ěػ/ܽPg+񮫔Dr9J!L]RǶ nߓ\+n̵ p z`K2[3cq?&&֪oEJ,D`u GL﬘0Uų):.x\"D¤Dݭ};0xeע<]U TI `TI3 %Pz{ jLnӒj. tя'HVH_Ad.5"eI}VT% Qd%Xr1xF 1UȐ5+K zCx/M>@'1u2t~HZE:V9;ɓTQs0V<Ƚ$TD<휒JV 嚑rGfFj*;Wc~TL+[MA3bj}g]WrHr|C=Rj.ߩRNnخ2:D RB]^J?m}j|fW3,/L<^ɈͨH)03}N+ϔ= ``NU_ZW'eۜ'fwʍQNtvhq6-3*8Ff-4W_,QoUB 8*RWA,"t@$ 0d/qJ "9'dR X_ /S>||M:PK=sP>r"@AafhNjROڤD<2\pP*"RWcŲ3K5lY:*2hD^mƉqrl7?Ɓ*ҳR~pg :p&..ԢE#(lk)҇8?`MH\ԥQieY;}~)GpU-  DT) )`h2 B'BDHUل'y (PeuPQ:^V[ ԣ(ɴRײamgEIGAQ'GzT鹜9벁Ղp~dra*w2 B͜,b_y5$Ȓu9$܆F!D,*@LۯQ]K]mIodWtV az)eQ%p}">tꊑUFOb |~R寙' c hO+yL 0ÊW%LǾBtδDb1ƕ,38yOw+MAsn7Yvdwf{ xRjt/ncύ'J+Xbcf,b'_& 0FEl;/+ȗHAnܤL?!LkM '%mtR.;XcrУv$[=-%#_Y<,YgY"g"S7d/J*T`<蘒: ;;&VVrh#謎%$%XQncgsMt,J4_5̅&ayj)Sf|t# IYq:UC{dbF8T/:i:dIƟC|,S9*wGe5rIGS\Zd*[گm-m\Z]:ml)OhVw./_4:zUh&hR"KTr bNYE%zɌ$2!aDTNJrpP!NGűOI$R^Fբe8e"=:Wg1Uto%DLfZ,:<%&H NZPVh>HRv+F*POG1ʽ+e2ԩoEBg Pojl)<ɄiȜjI\;BґJDo Ȣ"CS%YB0<#v3Efo?Xqs9&.ƽW΍ 8hR}n>U]Q,g}a񺴗 I&FP<"ZkW&䬗afԗ!L*VZJYQf7eLS/=1EKAv3@")Ѷ̹P3(3HR.2Dpf,(`xD.4f /qG({*,-OFp],]̍39DZ>YnsV燌`C-%fS~a*1?jVi#Q b5jHSF6<3{FO͋[ɔj<߽%5E]{5>Wa6Yr1C]$̖%앵QNئڮuI ȉ7玆^MJKbOXXTAOHR?va'T.O{A5´tn4N`Tƥ0!/D$vpH˵Rljbg/;dŴbVY)DЋ>9WU HRV),e HY3̝g02Jpط5q"6tYq'C ,N❸RK¥Js26̆s+m))gӷzIA8B)QaJ \ F:#T&qQiI"{lj'=澑YƉAO)j43 Mեj63@,l{z4E_Up4b»QXfHC/ [:HdbDbP>Q؟ 950bA#)C*^%9%(."0Ouvh{,Ⱦ ?KPB %;\,kMv "9K_J3QR1<[JNSL<c22y9h)R茐Áo9x/Ldՠ_@*  )7/Z4YԆ"wNe;@{dPX[,kF T =bQ[CCNvT`4~siڸ!qHpB$0y¢1PL*M th-H i눐`GgH,8SUHpBeB{=QdRVĤIEGSBSp7:] &qOl6_Nr' 4tM+J6BԬK>v#] k ))D]qXe¢;N|p7tQd2*TZI08_V%., ˝4*Ēұ$1&HY @3ܠOVM96@ѱ[hUb?W ΐ:2 4T ڕ c*ix0}HK>bm\2H)Ў]nDi2}MRg<[M}iXTI.Šuʹz#qQhDvHUJ3}{3'ma[Bl p.%E:Ab4vHYeX}Qf`xHz.MVxhEGۤriBR@*&(0)ݜ t)[;;.0_ AM X%B9P|#m݆_T >wtST'DgET < 񿓘⎺#Q p͟faƖY 3m2Du6TN&W(CNcN ›ثE'»bN j^3wbYGJHJW<ҀNHTn"B Q =Ca1"n\QoJ%iPt̽QS#|.;Ol,lx@P)_)?t >"hElK1Zd `"͓u5VnE;y DF'B ƞȍN2X TfQMD렕H@ =[ZGr PIYHt ,"MF0(\6(rD`LP@$4Vb!ea뢛<5uITȰAD$DRI*d{97)us]YfeǛWd0g?~$w!nv}̿ՍS`HH*Xa4t㜿3 xȽ$^v $VAZ&NT1gm|r60GKi^RY;ǒCkSWEB?6K案]q+] ʨHdDu8X sE|B~\I$Z,ܔE6o.] ?_\nķha& !"eFӴ4vE*E2QD֏]'`$DhHMTm jv^Ճ|7Ҋ3iZEY O*I!VL% aE.Z3`,:Dp!ua /`BɔT3~Ò*x]e3@F-7l^S1ຂD: = ņBDD\[BOVAk16Hni<b"ʦZ#YwejRtGWxzdޒ@GWd佷ZK$wƘfX=R8wąW¬i*y fRrm'P+A:%@ d^[lG6p`Ka`HOѹ @&c )B;S%Cih`e)]v1=Hj'ڛԁܑ 1 2ma-qz\j8FAH+I0#($-cHzǓO^n9tzD:lĺS&jb*TI Iaq"oʑ%Ne߆"9"jːLRD[gE#!NY)'m'QQ<[80,Hܲp({WZqTIt/hƒEX k}c9["$ňLU|R,l[Z֫Habo%lW y.n,"fJ(uZ|mNVG8jN"BЛ]Vw[WHaAy *Y=NM [H7zKWP4ĭ I]y赢9FB4.te,QkiQdCЂGu"վӨQd2ɄE3βt0v#"L`ժYp^`^|Yb*/ԫ4,j9* 'ܨS$ղ&Rt9AF1ܾbE~.K?#n}k=ƓÔl:),ƛH*+:y E8d%R/E9%eo%AymѤ?/5I{+qlQN׭/ť_Y,ʝlJ*GkZ_nگЋ݇Inٖctz$:XȴwYNPCDm+hK()Zo+I8/_MLh`;CC4wc,ENюbk;ðRr,]ZRЍ/D, ,Nwx] RϪ=^|$TI䢒O$f%8*j+$j{8+%=RUpy2/S7)66SX$=/Ļ4ȴ\L)2q4ibcV&'.Lq\e?4RQz5ް]J之:5!Bw(jf/d-&EH8[ aɑB~_Iw/^jm8]ۼ,V.EjA/|.ɛe c$||I{@BkMTş 0nlh:)o4Km#Ma$ KIAX|d)Kr-B+O8Ki!L!uZ 2~ kɋTqk"% m&]1rm׹%#XL3CǑioC4Y+$/D:KYDE! W \.,De:?V3p dAw߂]CL yh.QZr3{% Jƻg>IRÿ_Z$&⡬Qp(y;~{boDۉIb̓Q !fk{ #1,dhMҲ)X&)TiU#'߭cji e G()B|n]r 3!, C,3a'%E? .mi,RU;5+yCi>l)m gH]j" &J*DKk$V 62Sȿ.x1 n?xc5 Kl#n'r2Sy\f$dfM韮-F6y++kمmŊFnVP.G2*:5MS;IIL|~Q -Rtㄐ.+IqCf#\!|V5M=US41JMS *.U-HA.*ԑfmrSSuT\Ov*0SFj;L0.ʷ lZs&uV ,37߭BSTOgxS*ZWmt.YGKAC{];KI_j0FRgε ~MaV.(Z$)I'sMHKJT2)WҋAH)%sB8/Ih[TUapQk-fuUAH #=lْeSIG[ı>"9'ꡮCo 5^u9b{'ҾqW)׫;-ZR֐N $aTs j'! M(aQ9dB-%RMʩ !ϫst"rIUtΘ?Ѧ~0ʁǩjJ[=wAMn8l-8s 8E8[X$D M+ʂe%yg9Q'\ա_~C.G>1$CʅgȦZ2%{ 9LF| V[!YF S[qҩY9 PjqHd (G&~mp)l֕tPՎBݲ+~&4ˈ.T@v: 6-`!_ZP*Mee A瑱"JU4>-  ,?P`cO<^`0MV4ƅ[^Ǿ,CCB%ECRw0-8!äOP P"2u, G{ HkV@aF4&؝xˆ$<"H^(_S : QS{΢sM E: V!t=`&:BKI(=#嚊 P?-P3( A1g {C=Gdz8S Y,8l`fX,-DeiR )oG+(ni]4Y eWxpIzHXMxRم+iHtpo&Ȧt,G3WjM8ŊHCI<b=x)¤HSe!Vi%f (NqtvLj'` / u,e1Wlv;A28b ld MؔBQɕ_E6!:K0HBjXW s!-qZ7)kS)9a4LM{L*3 kƑ0'Ȓ`e380-# $ xZAεQd|PD 2IoLB<^TFrQhGL$c]sWcJ:tH#' RVf 72z6rlaFe IN$C]I'wL0sXhNp4H<<]Xp*~Y0CFb0yQ/r8NBYI_ĽgM9r#y1C%0a!K;5$jL6+iB`B40& KrA]I:촩QU(6yyvU EUHPэH;{=2r[ond\1 ᫡:Ce#G ූ @ UH =XI h'QX A8fq-!.e2b K9)l '7 m,@eCw 4n(3YYRՋ/X XQݗ7!)B{\h!) È ;bA:4rl'5j.;5Y$x ׇg Y9fEY3'eh1aD`sB\ 5sG."\_,OPǤRC Z䢀Faލ%Ԑ:5a-YD>JbѠSZFksܽt[0+ȏx%! ?>. `v 0xœ:buy`#] 8 qSVDш泒^+xl1Q, ,<%Ch%z P[8%lBFBضJKAh-ߛ!fR4~4Z0\!ae+(.'?[q(tyb%LmמIqq1\N0 ()\ vy$Cc\;ޗcF@ESkSh[g1գihYW,PiF!`Ϻq"L֒؁YӠ^Iž=*yͪ˟ᥚ$4\ aL2*K4xY2kԨT ϖi V+LO,&#[y9:#39E %8p`DgZi'c.':\Wٱ]b]QU֞/Y UcR%m_-7U(w:HJsɻ)]T0b Zl`ȘKM3kb,Ж~-j^#%wM:jffFS2 Ji:IKSiuOE{)Lǰ^C&LBo{b^$jWA{Eq C.aJ䟎vT:aU8!;jNк 9s$-i+JIJS;HJH: Rt8҈0Bk(kLz䫊Vy~jB|E@{͑bqIr$Y}ȓ,q(H {wyF`c8!,2.%"2Ї#BI.TsPqJO$Ku %N%RNj(-\m6:ԤLSRn-DIr*;$NxZaIBHE) t^$J ea9mɾzW(AtP;bm'U=˿Ա2.86o}]8hNWVR8 J7C32cE Vc1ڍF.F•fY.^iP!R:~=w/Knqi+w%JC०3[nY;hq +=mK0w'L9є93vVK"Ø@td#S4KEyiKou"8%K kᜄt3dWרb c:VJZYEI-j7[vK'S<*L3]2e$S&t9ӭ jlLR?dbQZ{KQڈ'")=ҪQQ)!Htp☙RqMi6_y>:XjLy3 " \o*.elwrQvkZ|A(Trosnӌ?3GXTMZci[p'r'%ZHV %*%1p°u1 U! %)Z!P;8m6^r)!`H.e3uoH<L5Si$igRrWn ,TCǭЄ!# tnw+ߤwrpH;Z%0gHN/)O $FrB[OHck)̤Y0S1c8i Y)N'CXƥ c.B%Lb@ '?i1)&Ó0HCYQ$p;  $$+Gގ 8,zm#Lb8絡yG mЛB+ImrMf /n H :gd3ٗjEf@K Pʺ hs$Rz)I򸵎!(3DRpKH7pJy)\4%`9W؃W?׭`ڗ+4Z3%M*k27Y-ZHzG(4V׵]% [CĔ=[oM$ H<0c{7E2V݇hIJt PIHt<񄩚Zk$\tGRICHad) ,&QB6 BP@\F*IIC Sh {D [Yb @AiSd$Kq>GibNJ tąգ8C[8 ar͡v -bA|-\(^pe $jm F0֋!a+cq)FK(IŸ4։v,yD0ՔFEdL9F@ Vbrewtarget-2.0.2/data/sounds/extraPropane.mp30000644000175000017500000003053412266512167020547 0ustar philipphilipXing01\  $$**//3388@@CCLLLRRVVZZ]]eejjoottzz~~LAME3.98r}.8 $A1\C!(\8 ?G.|0Kn}I<\d .&L.dOBlTᥴHVY£;9ZT=7i|G]_%$;d{F  t+E :(`LRְE =mEhd0]8-yv]mDC'[TIU"^<^TlT~/MyS^ݳ^6#vaO(w)bUYuh 3Mغ?6K6@'(s4?^_W#O%ωt,ȜV2ƈ8U/V 4o|.0Y\|R*?Xk/,-`xaW3IB35#}1!31;2%--,A^?JHgؤmE l&jJZys P^}(p|7FFm*30Z)E=}CJ9ڡҶRSd1sx۹z¾Wo-ws{?ya̹/[$ A\P0 |np!P  (D*[4J"VבeYA@-졊^l5ATe-gSw댭]tq2o_Cߵ[ ݙ~7Ymw"=][ügIWr=anal5 %sC%ds+,5 xe]&?2S[~i ԾvcG2F@$d%<hdzع/?oQhYzYrWTQ& d.g[qYK͚ڵ^d0a3oy.V֡ʺ[]FZXYo-uzøsXk Xw-k?w`@9pHU廃9Td܍ 7B .nF 8B nb}T{5!q/%*`~&ҽVH<آ጗(2s{E ڰ+)xk/e,h0ZM*>$OJQVkxz7׽kŮ#=_ NBA5:6]}[W*i({L^R_\8q-g)쵀Lmj4>RkW7vm:WFSE>/-&25BK{ ;o. 6L-J{ D3kw96JA(n! _H"oN \NMWK\SZzPÞ*8ӿ&-Hei$j6m=}~+zfͅY:8}DZj&v 6jNAEc}H!i$w:P̾\ɌU' 綦_/@ra4}9/Y[D1D!UklpMeMzٚawG!*՝6R[md/^Vv+e*-K3Uӣ^m7k3u7džO.ɥQ@Kܲro6H %;_P79!"g +DBb`"8Ȁ~fH9@&3B8r$g!Ô9*bM_/ooK=Fv21;i +D*DF 9ҕ^Ơ|"@&\=P  (/22H$p[sRXLOZUdkEjV^/1LwJvSoRH)V:hKhld隊_?0e`/ԄJ$| ҤUE(= ON r"?`͓%*,Diw֐b8we@n$#B)l|au(DkA ǰ=RH(n?Ce9EG!Ae6EJ7OtZ;SۘkNq9e'Jk6qтZ'{IL,+UvDJ&D\b"DVv( TYe0h6P,Ut5XeL Z 2zr{HQ!bDR$dD[(y(LUΑ@k ~ u)ʂp3;. husfZ)кIHreoظ( $Qw00|%Cn.y!<pO>qT:A}m =) > w҆Č+w=TBVe8u]jR7.[oœLA>dt4djDXdUvJhq \h c&5KrqbWYb5_PozKK0Qy2^p"̷ 7iм(]?}5~fcUg}m?wC~{ǀ (Dze6(K4Hmy}}~[Z7C/LĻ)*K0ZʑDTa& kd\}F+RbY iziYjV7%x~$2gfI-}j"]#t{rkϒ_/t}_^aKg|n[7ߛ Kfum =~p1Hese! <VTn^&1!2TK6@Ti{nS0NJ  "P" AG!d;$g"WA A"6TXt;IgM(b-݋8ŷ8" `H%)ϧd kgM ̖=˂/At-VZPV-??ڻߎp2H aCEI*"~j28 A-g<ያ-}fx##u {y$ݠq"HAZ{Qyնm+!IG:P49g E004 Ls?AVfd pr![ŵQ/f, Wޮ9dS^:~e R`Ԓvs^Eaq2#,.0ժt'HAoeLVƳl3*QuN{'ixݝW:#x8M1'.(.QB ޴tǃLGۯMYG+Cgg*a- [0 7p@-; TIJ@oJ9[Nd('q_ͼԼP,&el%H)YKJ耎mTJg3!?Vgw\yq>@H iKulrX9IpxB3.RZ,p|?!!:Nioypn|ه6Q I'ӂ&+*H\2P{`GHxBK͠L"lKXh^;&s{|ԽY\qfU;+-* #^(xb M~KS[u xga bDN5LLV( '_0@k~Lq1,"H==L}f]}bGJ2k71A; ,(h#Ŀ!xz9wDWInSVe߉uTa Ak&J $SwI3 7aA3pt".CZMMdKh=5S +26w!%95hrVKNp՜KHC؆8BrM8J WIb\ J0 7~6``O?Zԛ΂ 7uMp P!mI\qF҃I `Dz[C@ լ(T*o"!"GcWt9W;CEά.knw:f;7D]oT&B" |vwKL,$aL1s^W-eef䤠WzFŬ2o?SjTKpwUR8)=GU?SIjF ob*0mb㄃c0|KK53j&OμD:uVI"!2ƙ{3$$r-Y۠M-_5?CaFY;84h Q/?2M9%[k5pqD"oriu".!g&5L!Ffw?"h:ժ8?  LTf@nol@+_LAc iA;h R=*rNZ]Ċgˌ;4F|8x}R%g@'xVo|:ֵzϋ9ƬZ5^QM_8cޑcqp XMMc6a(S -p,# xq d{!X~9 !V8 @[L0ju,tFkLGT%c˓**|Æ^df2돏"4 4+bCE,aeCEFY+$XNͷi"f c/lQ0"FsF"/AA( uX* C6S~Y &v+Wi{5([!(CK!*w0@Djih䒸 DUaE5A=rݕ6e@` j߅&Z \&H^DXO',qy>~ rLWDž5 bsHH!<~?P;>]˪wgtQ)"DsO%&[Ddh 3[$:]  Hdʋi~`(3_В违$ uT?@gYZG.-GFF66SzctiT{&c1a+'5^9V ;*%6c߲Z+:KRYbGۭ׵FsƧ@8x$ 1 $\J${w`P-,u ݆QVc/ Z51qmN+KoY1|]O}{w7Rqjt2 } k#WS]~wj P$?  D.Ak"0u:^$rQXq(;N 1)!sH Uqa"*77[k#43tVSFaX'챶I 'U#P ̠̖B悬l@aS`_9`Da)C)W%4]?l* XWJ= *yHASjG.89 Հg`bLmw2ʧ4_T qǟ>=~w?gknVPan H9y`}!.,] nSDCe7Q]yY<~d᱒&ȅIM-d R@֛&ZAJ-Jjө'RwRjGt/Ih)%~iw>Sw(#UWװpxf-&#r"b 9)ojSr}:ׇaj u#oN S7z s2U;'F@ˏl 8 a N-5@͆JXz@Ttv1LZڻcw%hߚ CxkԻ_# jv+jFb߹ƪ@`np"o-DdɽXzv+(^ץItLE  ~ XpKZ;&!=8 qa줬rOn\PSTd1n+VoUGG*G{Sٕ okv#6!ԬG90Dz`ၴj?[fLD, x|"(w ˑBPV .ٝAi[X Rc!EDDKwʿ`!CA֕QDov^ZfykT: gK0g! v0fYMϋ^I1[800ػY,=Z|9_f&!-6AKyH`?8*UJ+kI8.s_Wrm[;m|X 9Q8*w6 m$d\1 k)iݎZH ͓LHVKm惰.#IڵL@Y6D +p 3{&?\Bf_74 mL`(hHGY U[Y(CNUY25[z+!of jEnN;3F b23O*ԍL"p0XP.bCKT'QfrnM&^uF4fZZ(iH^*){3M7QH-m + YFbNc 1a +M!D#p1aM$MH0R(3JNqvU/1vzd\Ǭ]DݟA6$gdwL\ε{|,-УFƥ6OZW5L :Mp'B0C|cӃ&>&BTW!0 pxV&*`h|Wk74J`l %dydj,ծ˕׶\ʹݓ1(܌Q]r(b-칈F["/˟{dW)bP=W-ajsW[?Aૅ }(gh&H;C @A%;8jY1/I иaG``hp2!֑H^D@@$u6ihL5 0جT@ɔ ^ `#'γcdT8@1Pc&P2 r 2o,ӆD)C:8ϊ0Ljr,8"'0HrfH](H"W+2T֎ª-m_zmM8RV4j\]%CΩLOT-ÜӿY<-W#JoeXD ?TxfP T 0Ubb) Bv]%̲YI4Q-yQS* A3Bܚ@r@)uB`ЭI- wO]X?r(Ϊhd[ 4 %XG!Qi(`0I=bƒB0 ,`  Ec8Bˮ $fMJe z\lb^Ȋ71,鞕sd|zEY鯭[=Br@lwv C[)6p.@, Di/FL!4*Vfr)JC "NtXyj4D%0"LȗW+пi3!tDڷдJYϪ90-ӻqI)jKE{#45ڋdVP4~d$\5tǠ9mRҪvj9RH" W!jzN)CvM}HM5$`1?QhJG{;KK9XwZF"a0x`zAU5uGgA{:Yd'!y4ys( mW0Ga+<-l|[9@B2,#(ea&fV@Ȯ4T*泓'b yYjJ~\*&HA4 1f($u绪ON?Ͽ촋`s0F֓1 78 ]1W+|{l 5i-j/gGZy[ۣA ڟ5rZNĘ:pO;{sxftAz0!`yAANg/~ܐ5gZbhʊ- ~ʬDM mJVwy-,RSR;Fq=?]ԉYueyB`}6r4A}M&( A_a!)lO|ZoB-Q wC|2e  ^^ +X ޡy",Z$h`Ǒr,`0^ms ]VJS20ȇPM9 '{>&ecO LUR.=&Xv :( =[!Zw`:8q,JXDvGÐD,*9gY̷p<@k$*AqS #8ji"0*OW+Q- #%1Ӽo;?=? l\#PО23s>NKHUofB!`}_}]Uߍ@ F| 4\D*W@`hLAME3.98.2UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUbrewtarget-2.0.2/data/sounds/checkTemp.mp30000644000175000017500000002250412266512167020000 0ustar philipphilipXing'%D (((//666:::>>HHHQQVVVZZfffqqq{{LAME3.98r}.  $VA%D>qK!(`ne ! v \,ㄥs'IZ'%E!8\.chB~ƚ(ӧtdЍvRtM@b r]K,ߵFs  H_Gea 5 rEv$%h"M`cPo:z]ͷ7b !H8G'p䧝:g50X!և5DېA)ٚ?k9ZNK-[@)X# I4uGah0ߘفpI.~k 6澅ʌ~ǧK-Z7V'Yv-OXL:$(>>6L&nB"VH4*FfGUeVsx5Mݿw3F`L\ף:MkU8ntJ$dC_(ľp4,RFE^plXp+tb r"AMVɁxR\l ȹ` 6ntG-yha@QK(Z01拵mZSN,dyߖF!rVťZnhnME V-K.Ȧ;RH4b7`>%*V9,ÒMVumXvz<.S_,Zf-Ln~[ ITR{wǙL|;w05]oIYΑAQ08$*BIJ:79q gP̂!ETDwUqD2 =nf9 {n]zG\vJCBZ3.=*h4EhY\WU*pc@計S) NHXa*S O)Qi=y*UA?Äf.b(G^*HzPI 0% at3ũ<\X ,i"+6Ƥ0WqC*s~Q[r{3]3D/zW]hmv!3[Hm(Ou] E;헒qfTۑ,߿hWeKoq}]ur!;U뾩_&Uz hM][j&0KTalrb/H0ײ-Y1zz!kN8u*ӠDzM!/X})'֯+xު<ÅYƟVο8uYG/5@s}[_NE{?l,#q*UL()r@}z/E@pjٝ.x#ra!F8T0rs^̫c}{]^Tdy{c'{w+˞Ie}tM*o3oym6w3Ao?0wxu4PxQ``C fDm z X[/,P 1"AA4Z戀yȰ@*EB'X8VNCA@C,O"DGy/Yn$O?/M*A)2cMADǯTԋfe@(W@ k@Kzm+& Tp8& q4 Bwf2PaqWAWdw!HD]dWq )g:L2(.Fj 2gs':2ԋ :( 5cOa*=%$b5Le.fVɢP/ 5]& ٚ*1D; *o}tA{"TbZ ^"!P# F(DdMWG:X[D&Cx*T%#$V@,E"[;`iW䩷?61W4G@I**ʝy6]J.|2.-fEgb#D6CPUfh @Vd˵}x }Sf/5]5oxZl?l , eQln+4 7P/HМJbrx Ow0Cq0@0%"dPVD_)sBsu;ȷqp(%c9;X$DF{ȏܲ՘d$,6]>8\V9 0F"s-a%+uaNSDS\㳔XI{k>ߤصA9K,#;^νgZݛ7}ӯ=N^̹p>뜱Mg sYsݙScS}X8T;wUKwWck.V G'.%+-r_UoZC"ϭsa$Xq^`0b `DQ1JLrJHeo I6,^8K_4e#t"Ny {PUPl͐aKwڙ9S)fMM}u߱3?gsV?[1vG~I~"m3e(p@A@GDT"GFiĨ7E`Nlhu9_&l?2l5XaSl1d)'R2W޷Kc8j„Ŗ@}c%y߫O)nI0C[489zAȟkVqQ*y/*T-є3&!bg&&ds9b;! |wNV\z<@X8Z\9Ea=iə?bƅm>pA4@L]Cli6Q `VuFQFE&dф4 #WROF$5HУ$E[h [w3KJ"D5iH *@Zbk9Ɒ.Fmo: N:ζ,PbK BOcLG`h9-=?@Adw.h,PP %TL i@! 7/ۢo>@:TQUzcnU?R5gm;5#pXJ3A+sde|9 &]˸o{5V{[S3kU_9e[xwɃG{[* = CZ<7QlEirCC;C$ֺA."Evݻ6qQ(1[]!) AkKv;54뻻{K(i}ֵkQ AҠפdZ8N)J> 7e.VP5'Ze) kJdrRTOZ: lZIz KeMw&­`8($ M0g(ꊩ0f~XTLM# @̜iΔ3W3 {?Y_Y4M4#6CTjj #^~ApລC50pzͺlØ]IkK%w)H lQx&2,iXpLeƆ24sET9ّKac `vK]^ɬi#@pbA/kU]ʦPr`Iis-ڱ‚qR#˷0'/#Y-P]FJG?RhM j,h׍0֭H^'`^xڏ*ajh5]o3[D[uƷga>ʻڢ4g 8 [!MXr 'XvG!i@Tc:vAhh<F;ΌcvvtTR!U Ҩ+%F38t2pJ`\A[mЀ wkCDXIe18֒Qm4I$j-IH Xz,w*L«+F+4 h,*U~w3I$fa6  CWZ|2{e@ &4"m0tJ΃x5ou,sڊ 0Kn*}VNtSǔTq",." Xg0`MRMِǎZ=BHUh-a1?0WUW D(`Lcp5(ϳx-jJgara&Ȫ;D$=AOxd= 4G$H6\?64uDKDi铌 Mi8nl\.ظc*"jeM(W-{}b hqW fb_T K.WҮ=eƔӍ4K&*3G = 7LOj$Յ.pRß[4Z[LWη׿3l}wza dha?cF2{h˨|P3K{Tq+L&g.Cpc:nܥвx[h?W݁P;1kylj3'N&L$(5Y[MǽDO$zmE}XOeͷu];6#Reh&%YwYx,$Qi1`Ȓ"H[r|\.`Fܕ7Ao?^JRCB zaLhm80Dᇡܰ$nc YYo *4l@q-#'.;dY!)e #sBh1[ L]7 pYK 8$H__Rֵ:q#-JZ647] , ?'<!F$as$PB:(TL8%1O]!)Aq|% $eFMSE"eI2@{˥˩&ek]Z*Uo"&达֞cUͦ6Y$+;*XoH$D,, s42\=H%םaũ}H;~M[~ӹmxinN RCg&nA7b`Y u*8QGa%@ ,S)UcʬdơjYLYy$N q^N+Vk-j$O Њ"x4I$aF0~ɐ8rR:amf z) 4 `yyЯLmu͐Ii&˽kԥ p h9JmBڙ6cXS&)w"Ȋ2GP1AL΢LUݝŃ3"Ì a=%@O,Ld"zLC 3_ǡ(jJ Ltih-}) JvE%@VsGvKz0ܐ M.a-1tܒl(b0صwQWK ]{iAf߿eC{눔dn^;sj6"daXB,v{]K*( MM!m`Zfe1Ζliv.lzvKu];j ( u?]1 WWw9/QK*_ƾ=NFȟoַ= hoQm{d =;OZ.%KA~|l>8ydfegffx}H+['lP7`AzHk¥ۜ滭_keqk6p t SVkN]UÄ;&oƄra|WHq|?37'4-JDE"opQ6$U)c2Tp،mȬ:YD"34څѕkTF*\.FEcX' o٨6J)"j( !c Ia7|AH3S9*LZ)DfeTew yikt˺yz^r "EF:|A>? D 2NwGҒZ+TCW8^^;e"EFY|5Ml԰Aԯd*tͅ+ P[+EP] I`0pB Ȉ,3PS:bs-Ccu@P"ZAƀ6gWwkoU$`6S:JY` g*TLa9O%,ydj6Yy%(Y[S47 mOA!Ǻor_ ;?QKE ӝ% Cqdwr{= ҂,Ӌ*svK 3ʣFE ǎ)4Wk{c?Q1 j+G1ς'5 1r_ےwOGQ2*yb}kac0Ś*2ѤP[7bm~*䩅D ! `Ft'Gh(t  }wߗ}\1'%mPmW"sR#q)?Kl@eK $kzRwTcQ3H?5@ :7mJJG?Q 8$>$P8[uZ<(qDLU])rռeZ4@dq `H/ kxby&bPT@.tIHc't'*x@H4y|̾X"’iXʎddF8236͆@Ҡʛu_Zvg_ꚃ>XEBJ#F&;As7uerԺl[ED$48uY!}6 9 q*H0EGʦF$l&JEcBh>b袳.}h{.)dSMZA)9' PA>@@?IQ1Ѕ4S:Y(k1G)Z>j1~pxݹs\gXu_[4Vd_W~Y_.Y]mhS"w2b u ̚-L4}W2}A*ܲW (d.A.Bˢd`TwEgGhy4HdRM.8Q"l3|?D˥+,}܄$;H{q2eRS$-Q:wG!LT>,xWinmxK芝y[CF^ ByiUGI-3S'ٯ$$\1ħ>cjڋm~xZ/H~n=>C|[ ÏUd`gSq >V" ah 7Y &k?3BCƌyJ: €REi)HdST]3%"8`KZxf8HП#fa5zvY҈K:x`Dy6~ݷ Jz4dk,mnد4M2_ b`P"(qՆhK.1  & PH&acGq8#[i$7b@:ߧr'3vw3O69KWk.d&{C51 4T9x/䷚5jr7!ׇG)Wh-Jnˣ9rV_^wc--WT˯oſF*e&h[Yj31dF0U(!:&+l ȌvD5T 2BY27Lulj3 pb t{ayֱGH(eNHb7O1 KgC/ß{]QJw" ?k` "& ӡrB_/Cс˒\Em_ S擿 uLSbϫy~xQ<ӚDb rYv=&+Qr=h;,I{84,G0w5YU-%-H$FH*U@H h[!4멄UDU. J] :E+)gbwJg_r9kɢl(X1p"` c5w4_ d!];}EX}2E?G!i-r$d&@#9HgFP3s.e#7N{ע!ؕqljs1#U9m"!]oRf %+ ` *8R[0h _"+5؀EUG` p,dYLy251 @`<ДR&䙙Qr&ݔ7C Z;R׽[MѪڻ2uMA]7Yh:R@+[%lT8@,*\ƨp 1@M1KsBA 8 P唷p ~ncKƨ۱r$QVYw̟\E`BR~p [R`i%6A!"@!!8.AEa^J1GVC(J+*>*J_}?VJ1xyk*>@:t G+nhl2*t 4 ,,qXo/[H$D>0dN8|[( D#՗R" $JcROVJnƪI6_jdGZӧgS ɚ"wj,O)dmX ԓS0@ܲ b@jX@˗IeK ˣ!0aJ%{<_\7qmMX+\IB(cl88Z7&63Ho <[ܖ539̟?hGo5߼iP8?Sꭕn3@B!wgڡ!ԏOM^y[h6Guz})zzk;!MfHmxޘ#ׇz@c(EDYHi)|lu 4J %LG4N+=iۑJt5]LYPUE%cD)҆dk3wԥ)E[GnVfz:DNcѐ;)uk[Ҷ;[UVf}"*%Fk!@y<LY%֑c9O%ݺ RC)L~Vkzi&Z23ʁ)h@`ha"'71g*B%VJXcfDy<0&0h*s<\d^cut13exB8+CnIZmɃ@I*: H-[1a%cA AĂh5悄XI `Ui0 a³'<9yDvI:<=9o%5Z\crxTXeI <9MKemT*czD%/Ӏ?H+ Yd.uJ 3 'MB@'D h .h́]뵬8D,(~BZ hPZ6@"u1E"'A)L*L$H˄ C3I&$P1L; [=3WT"Ty@Î5 1,@űXZ T&HhԌUTI$aJciߩM#9@kbmu?\}2}ˢQIJn]D;-}ú oB@?(a݀/&" AdWL _M)i_Q9ln85=U]!m*u۷uIex=ITvtt[1]|qWG5ӡzlj`~0)XN,@' x` 0ڇcu5$BD2esBٿoPAbHq7U K, Nn,JDaNU@\!A "*oaG8 !]0Kb.k!m;u;X`Los]Qcy9F9i3?'ݝEdѧuE,N(h𫿠+ZDo},(s$U# gM uUvɡ!$Hn&b!6-L0\ѐL_]dd"čpV!1#M ns”F\0TxbLf[tDFDψD@z8 {eyijWa2n8kSxQQKJrZhYpֵ.uꖽCrH؞ܨQCU++ h^"„h dHɝU.OFYn`>P9zHpGtl=Czw@=S%K(N;g҈R$,YwЅAdLX4,3&h c"'*w51_#YMԯ8Vs׳8eK-!,Qʹ彿PB&bI, Gi3Rk mGlm@~dB`T곘wŌY9*ǽfjn iηG2kv~mAKDXxdQշ{,n2[W0^s c{OS} Oc{oܻp˺lYor޹O !l ^:BØ%5/h4dE1GgDMpcW֝ՂE`rXU*KRD;_Ya1q+jvUBL >v<$pNPr]m?^Axx/JPH Cz0脆?ƞ.1kj`-ha*ԧ+3vQ H\vu&fkFՔw:BqQZ@d D02箢z5|3?M=}!b (ioR(Nm*fk(ҙ6L+D䮕7nZRw~xW04#?Lj]5 #(e bR4TMZYbX6X:`L/BT}lPI,z ~T Cg}ak?ef?1,pΛXkNrM.n䖖SM,kjrr3=Iz_' UBgewAb؀@xa9Yۦ3Ɉɍ 5t#ruC:Յv뢒)}q)4FlZG@ڥ5Z,*gk~nS84$buc@p@D:~h@h2[K ފDP2 Fe1"$b,5:'X"y7W0#74Qѵ#3ѦO=(2/3"c(]* j)& EԻ&h#5h_D|w` Fu2se |ߴ?X[( ǃ ,͉0" ԗ("c@Fig_NLr9HEn޳K.2/X=RƂ=>Th4W=lҟWҌZo?4o'+pu&B.zq-VȤ8 =!M!~),@Cr咾"FL>j/ ~`agJib J!?RR_3!!3 b !& Or*424D}v9DCvtd엿rs߾V_V:Er͂;;(,P`ƃU;p%fC $lV3NeS+) { IdH9ӹ!9W7xyH Յ[ev􌤾jƒf(jO#HPQg&œ/ ͋?ӦY75i&VWO?K6L1;DH&IlAgtse,LLU] sqAIE_`9ԩKw h5mNR.CR !;lbͅ @YT6$΀RUefww"LUbZˣG.K9( UEl+}uVT{ކU-UzЕudn]5dtM>ԪYTD%QE c 7JCk7 "*\>I*T/u%{/L䪗=3̵֭WyQeO*Fy8 C_aa^/+J$i6]l3谶h<H8=hJnxbD&ŋ;mm65$Ǽ{n35U{*RFrnRnoO`Dl5wDlӓ>$f2%"@^-Dw~H 'zTvY=ie6( !%]E*k<И*%mFT2ײt1g.o5e3|VB,$ggJXZľva!A tbHrD).[yb 2sV v`,<%:xtJvLAME3.98.2UUUUUUUUUUUUUUUUUUUUUUUUUUUUUU 4UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUbrewtarget-2.0.2/data/sounds/doughIn.mp30000644000175000017500000002017412266512167017473 0ustar philipphilipXing |$$$,,,333:::AAAKKKKSSS[[[aaafffnnnzzzLAME3.98r}.< $A |礬(K!00F8ԜLv%[ᄌX.X0,7dW\y~9o (ȇ 0_Yql)JT D8B!Sm ' qSTcc <tKd̖G,:7|y_@2ĽBD hg.PV<,JjZђm %I̧: ݡ2g?S&簝4d|=1@ScDy~["GavF|4=uS *SQ)cÏC9Ǧ0VŞGD__,{VzĬ`{)_?i.)9*0SP$ecѦYǰ(|8 VI1rhidsVbt1Ϙo[+f2)Q'f 23q#RD*7cHg] *'Gfo/C 0Dh =q#i0++51Q0yqfy0ǡkC 3}Zv̩ۿD2w\2i $ pA 7@@1?cN as`FRc {80NKLe0"rݎ *J(Z.R3^~FSjdL8~3ab4z%ӴWkHTƍ)pgܮƞ## $ݖrQE?^f;ef·X};]㞿 ݩs,uMfrr]w_r=D&p"Dɍdnj:jOvwU g.*]knu%H8k!l }EEݗ+JVgԆ9泙kNֽ#QkT%:",A?Ħu MI F׉Hmb 5jk|֯)C~ioTXd'U=1j/x"Wk슖^((:̠sܔ]x|.xFؤk5 2OVqB% sRP 8ЅHY 7^ɇ0j u?PEPߊ MdPvhCLJЕџ:ZĤ!&2GDYQ̛$0~K8g$.,*'!ҹʈ yBVI+7Rѝܯ'#H;01.iT䳩QIFB,$a'g:ޢa)oLy8:$}jWVX4z&ua,dd:h:Ueߛn0Tv5=WQbwkٻH{,h,_z{U$%`R8 N&"[V 1[Dc޳I3]?|D"nG87MbSFFUaSɭ;@{ ?4hʭk[nHY/s!o-PHBPy#g@LbÂ!"ÂbB)G)F!:tJXHXjɔR-{Ymy쩕Yǘ:1dF%&A`1`~>! (..X2ixTB"#I)T3sQ̴ ޷)byH" ;`NlA2h 1,oЅ[m-_/ nP!pHH O#2MA&'._Yl6$xrBP}k3&\4sjF$>Vh# uRtO d=񾣆)u*.w< wT,9$_@@A?p^hB=oXŚ3.\j G1!F[0+a]M,Wͧ8K}\'X&MS7)`} 4?|(v@( M! ,_-Ig4r0g-(it]>@S<̉ I$A">~\A0aFfMflr/7f ~@4":4-|Yyҷ^`5`4\BК #r8aPJ`G0f 5EK8h$/.sgMRM'a,TwyzXӜq}z%GΉGA2dy\E4V1g`d t Ipׁ` PlyEbjI-[cHPYK"',0@' r`+ zIL} Zhy: RN\6Uܾ꾰D[FtgVoXN O1@^9\h 2#[&,F|t{]s(s}+&dYlD8JbjFV]y6?+M2xR*'">iMoW~Lv=atu-n8u3lYYت(1J~Zs)a0jᴳ A?i(%2JX]Q ER!P(&8p Y йK* X>Ld+oO՘u{XEթc(+߭i` ^&<lTX+X2$ՙ 2hYӮ-wNHr(`!sa AqX^qAYE]&5cȪ~9!x=F3$ v\quu/NL{Yf_s ¯ս3\*@Q7e-U`Y[/90{K)"Y\+6,/g֌X9vUnU ɾ"#J&Ov. bRŮkx3im.bBL5Q#&y";K^AE(O}᭭*GM3C 8 HgOa` 5|Uz$RE8aMZ?`K?a'u4KM]?BY\d 8[fz& ,H VLj@# mF~G><)8HEܡ{I'A7} SÆ'U@zQ?CR`H8k+$d jzEsd8 /[LOi,= $W񮪋>xhxT^-F>VJZ=Њj6VԬ9򫒼@d3[o ָi&AYPXS (&:4ϻrźoGqF]T:Պc2FO܋ś֣*(hSK iP:8 s[M/5 $ Y#]' Xf\"X(qҬTQ(ZZMZҬ&et!M1oY-?%{b_Ξ:ü, XBygBMF6V?d˧=.ԇ ԇge WkSDbi;w@/[]0xU*H yc0).mue&Ң 3HغMPu-5zWJE\ʤVW_z@%AvjS2.Y(Yٜ߯J?S 3kt1q|Z +Q Hw{t "^/HuYcS=&B;BD0v-ٌ,gr+j}uW P'R9!^Ġ bK8 -{i$Kav.>P4,1}NƊ8GtU3J.9@Bݗ~!X1e4g";[:48" 0fj!mŴuF'ikXmr]^/!h=̂cLGvH#ّdS}c\NGz1Xܚ7k]?;y.ώxL 1mBxw  TJE3?53x=9Y&j56D2}L6i8k"K@ @ctq589t)+KrJ]~…ڑpV'%*/0oPd3hVSJ){2Bx8weY#JI}Wv% DF@ 3e"PlƶOoi,m@ wK̰ҫ1`6"* f)a 28g`MO2\xvH!eVbYqu4t>gL?!Qڙ}V+.dM90w~/pkZ#_x~Β["moI[qKk֭(Lo 9oce'Q7A?X3$4! #@*bXFʬx:%45E3gW= 0\>rO{h 1[*5lK'8 d-!kAg)בe<3G@ؼ]sQ}ިݯuePU?7KAǕk|uV*5nh8dYa&wxUa B_%"c b,82Mx',I2 >۫02Joe&rug XfD^QvpU{.~AK,2yM#^hϭrɯ[f۟%nSSg׆L/_JùZ/*B106qev@oW24D XS;1Xc Cs 'Z{5#XOS5~]TF3aԡdpw":,L KpŎҵڭv?ռrƵ2āJ࿨KOÁR5%O%i˺)LFaS2a δ {5 QSko Sjݟbt{V/ᅷ_̱f΃ޟ GUhbm 8 ̕QV鷲P"NAC cMzbb.(X˖bO)ݶހYG*nPjǔǤIb矍٦!*VvyMgWkF {¹t\ ( U€!@ < 23S]=Iv^B݊YP%ݑg%Rٝ,ƌ0 ""gr>0f!s8ʕE6.s }j$dBŋ")4S:J4Uvw hPTA `Q 4`hS[X*"< ݕLAME3.98.2UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUbrewtarget-2.0.2/data/sounds/45minLeft.mp30000644000175000017500000011367412266512167017655 0ustar philipphilipXing  $&(*-/2367:;@BFGKMQRUW[]`aefjloquvy{LAME3.98r}.& $AhQK!J00 P7#?j !e]l}>@ % /Ą4ͻاg,+~uR!-͝Ե*^'2f\|LVZBEݼ2`@ n#KeYlk8 KO iw40A95M+ㅌ!Ԓ1LJaAjffQĹ%G ʝD|9 TR!mgY|iu[dY.o(iAȢ2%/m~1,ְt9rW%{@bvYt8I.Mj]ˮoYlkheMJ'i74#pE"2L;[^Z-yV9-/]{U]>2+ӸT<d cy}˭I=A{/4HDQ 0O+gZ9 ht%N~J vudp`&08͘xPE<|p,fqt' %,Fp.FO+߬2t$d`r\gH&? o*W oFUa_)a6ɱ_Nxx8EK%u{Q@p`C20L4=}{圵H1SԷkPZG7##<:Unc+|ٖ(rOJWHHY <˩KjwWV8 jc2bm-*/t#3+[)FF=-۞C] z2TFO3Yb߭xq[콍D2}7#2NE,,tW='i%*3&Hp"O&/MO귲@p&@;|X*I6n4:ՏD{99?Äv2lrp͝m2NUѳN#Y:;ਮ7R({Y[E`x͓k'.ː1S-;3z5ǫO'u1#Lg3MR[(D&8u vGF mO\tDk80#4RRe \0D1иDT>ܛ6A|U[唾kDCN.O嘮uda"UI4ZyTn,FLPF|]79gǧ#Xr>aђ;sqp ?y%8# q o.l^|Ȕ(dX&gUJ36+#A6Z&QapqϗDĚb]20EEdx}d\:E 4E106A4󔏝14Q35e8\MfƎIt_sE&goϱ[dK(@ЛT0\Lޥtͧ-fH!}s)ɦ"`1񨲉~*J嬟ImAOיb=YњvB8BQ IXYӲ;Ҟs]ZiWD-w时}-9fNww~?ôb ]ҩ#B]#"HT;2<T,<<9 0+2 lPr uDPUfE~_R&H a/w'|2! P,*[@&q WYeVb}zsceZpƏc>1ǬB)ܔ&(O\o*.,1@WUZ-t)7ެ3(u!VȂd33^/Mz|QjN*o6\ DrE  <:+aw[-[q/`nҼP H )ss!$!$k =;B' I皦/ A;  2 m?_1/`lˬL06 rK \$zuɰC2 "t|LN 1'S6V1 -aB%#|L@m憚1Uzmb_믟nVny2yZyWpfgcQNa_Ĥ5D6$d3:Z]ׁ,h Ei+K3l3̂e7(pTȫWRc̛KVzoDVZxS&tgk:rRzO >ع߰#8Tr4$#x~ ՌBnb ʐСOzMKZt=/賝ȘTjLs™oUkR]Չe7_*Y+Ƕyi~ޜ%1T)hž޷~}O{fcSRqSf}7kY]90$rXwzf9\^W>}zJD;۩zں/n JQp 9K:>:@c&8X^KҖPD]֚(&h}q.PW& 3TaIhf;ln?F1gv},qz^? ȥSSgxTԾ_q&eSUkSUy؜&&xր*Z+0"ֵv.?Cx-jaߧW eOǩ]xhic$?p++1[BST'.-sTiͿ/,!VA٫TF{1(T E9 I](]& 9GVfn̆K*ceŎ:S'mnKZ-O*G*LJJ%8ym+ۀW҈X&SA\&5"q!/9iGbWv1n ʆ:{W C%$yb :4\y.c^4Q Al߶cJt r BH 1__=aѨ,r&˞Z[[[]QBP?;}^r%~xDd>Knb($a6ֳ#п\vXCE?wR8ڽg#=cG_KnzUiа]@q0y?o2)E :L&3}]hz{G|(E72j7x :p[N*`pR=)78Dh U5k"5nCL҃o1Jk-LU ff}3ufWVM0.}ojM55_}[֊Ϧfz^|x°&5q!Q&bBL40Fjt݉2%-*ueSQEkeբmV5_>ڪb<ԕtVQrfu-n >!knkuqǚ+voʵ~R>cn.IK[>oxR a;T_O,LC@ׇ +taԎ$p?]TpHIuH~eA7_:.dd>6P4STrkTU$|XZ6oy 9Nc\gf~4I?a*hvXFIhs[+?4V!`dAЂD!cFE)G.8fbcL.j1?4ؘp'ͨZI#KK!Fbb u*RĥbI{W&iǨ[ ⑷ik??/jM= Yx1;;A%x!ؑ9Aq&LHD) WqK% O 9\ˁ£,J DZUt%t|#gqaa-VEms>+4/h7{⺵咟5k\gjmZ)U[@Fj*QH1og!um#N疇uAu] ֺ]iLeCɱN0(-ԉƖSoTTlK+0ptR۷<߻?/E3TccoN6risЂDo@ \%QtzԡA7#07a|mξ߬ Q 9SWj], ]2_N)HkYِJ.h޺(DZT8 g$ka~,TiЗFX2 cPfYGf;¾Xj ;YK//y #Y9@ s/G@(rqyC` \`Xa1Է$ `6t cG :%=&PRJyWAWNaPT5W:i@⡷gp2u_5@_X*o;w;@-~ЧQIi`!W=LNFD^dUPsR3gasطʧ-+Zgmns_ߵ@uM?UycHXxT0 X^2)zi0d$jDlGhEgѮ0ft3 & X;쁥2B˝S[|ŴdfWEH Qa[w/|~'MRo;{wz z: ?v93?$$$,_UH'U)0cSS>cZ0N| LLDTIV$rd]E؜qSKﳴS JCgb1?*Țƫ ZJFϱKy~ߔeAQ#pf#s(:)ɩBC8 si瘮a|$Uo%B%Ar3-GP&~ !*TJճ:CfRVzr3sz(UCs)XpiU.G ph/fh'O(XߚT#w(_!}pnUv/]>^vC%Uȝz_y&p 8 k0GamO2)0e0/)z@p1 Jv*pa@bͽdd5i @^.'j# V?x{[&Pu (ׅUH$2SdO8T4Efi.RYpB4ŕ·7|<>wpL@(ApQ'z䤸099E@!8Lsm5*Kq^1dqG~>>!K*+Ds Qknƽ=Z3 tr@Uk]WJu lDPs^P;XE P/x8Xcꡎ'li|Oy"PD2ȊݑtVzBc]܋g-:t1UzLH4e Rn򃍹2&BCLi/y'1"LF0HHa YD H9+[(PCA-4`v+buxWt;;Ѥc"Q""q**v8 @c r&u $%GgcЈ1lg*c]z1+QH8PnV3klo_5֘֊e$%a68ގP3NU2KUiyK˪)U{my+GVE@7wVfu+wWRZ_XudWyɲ賲ȷw3[@ X 3N89eOa5 -.Q[[t؏v hwb\"Ա-$DXV_GP M'z1Y[t!NqD Y¤A#HϘXn eb4-ž'd?]HHDJͯ1[FyvXGvREVSzC舖* HQ- H a0GϭXdD}H2<).& |.2J!8Td ֊ghEVrʓ ]V…V ʎ>.-րʬNV>+ "un_bwe.c&%P۫  0os CiJdG-Yi{fsZLTFf$KOӝwOxxK-r c--u \`q'jm"( ]$K!%i d ؏Tӭ]1IEjvO{#kVZ L"VSRs<'Қ\ >ERE|Mlg}gT`3A DȲEyA}y2g#O+ZE  >MRC&4b—( IYL0J[% 8^0#JtY^hbK-WP" Pʖl.^fCJ7dUuKs FHMx %W7`*Q F$qਰ۝VBfs"֪FO*jꌩմT2 qpQ>KT&Qx*( Y M!)* Kb I& QqZm$Gn<ҢS['[G)#ݕ 0b!L/F:+{@=@9 m[Xx +ZoEkDn3j=jΤ$`V{ѿJ ҫ 8 8[ P)uO e+mhj(,r9$r(PM + b8PU*7b\W}2~V,(O^=b<8RhQZrAAcP}ME<DqD)lA P8|:L\`HZߪrq-JoHiQ_$Г(ub䝹FWґNux`}7Q:x:oLĦ3Jx/CpF FE5TdҕTjbhCŒQh$@%xaBןBT31r-X[nY#@>'LKZf53mҕ)X8q ȡ*v#Q>3[Us1h[fkw4LF{ hcPP\!3r3`F>CkLhEiJ" L-K[,9iET3v^En98@]uX~?mÿVS ֱoox4tќ.jXw#g$&ÁA%pț&c FtjLX(q>ٸH 219#ХU8OreBzG=j?Cd%Ȩs+-5+6];W<s[^ ؿ`Dp"7pڙI凵h[w3 -P5,"(?Pm 8c?Q+au(dyL# Ȫ|N}+qzc|,RwZǿ2k}gkƯ4ų?8 }po@a.@ 1BW#d2x|>퓸+5`PCq!7b0f1(]3Tq_Vqin+-d.c~f7 ZE+w!c[?7{滗?y7϶ʖw2gH((3cufJ:ClrE~ O!#$X[]j25J2=HbEVRhUjվ.g[>O4DE;MMYLW1cL38QGﴑ ~jNfd [!y ע4e 6^(>A#_>{roOu 9G)ۛ$Bioz-ܷ <t&s\<'g45\Oصֿk3wj##ܟ@WHsg&dwEh [ԮP1r.=)2KwZҨ HJ&@0wS i&WC(-#DDdET,FdZukGԮK"t2'qVU^UPMu}w,"%UْI ?A8R^-/YH3x?rd9V&ek. ʅDc#U(^#{TtRR0s5R2{l;/rXCR%-KI&=6[nK @=rV-e )鹲fC()%|P) a l_nA| \y֙OF?¶/R7.' 1vclf$ΰ>5JN;}[5webgR;Dm~oY4Y4x|;nۯ1 |Jb}+X"ğbZ0rC>׎FWġ 7̜tpq% k}=Xx2D D"D0hf:xUNT5E;-/QkTY():!9+]Ut5 y<jSJ!v ؚqDK'!ZayR#TJF%U(# {c% =r"U*Գ)2rrOU.M*VXr"Do҂BVfefnI " EZFtC8 8Ym?20 4F#&L,E C!_C9K݈8kG]@(TB傊 S# ,f36hXBrfx*WlHQ-{Y]!"heS]V.˄M@()֕1Q]$e)i:koERH]hUJ+/=Ԧ^̃`y%BE#*Chz列 ʍ֕~$2" CX5OTB% 4H8LCU#(iUWucw6iy0 :O;#<"AR+Ÿ49lr1rAb3lʬK3|mS'IFO_&5ks2&;+$s,5Z+>&TT?z/۔;au￲GHdFƙbgf&ɻ <-WJ_=Z g+~YVv[k9Qe0|;&xA%*gnj; ٱO鉛Ul?:ʥzXkC[A {?(Uu.Ou|}C?h [A+?PruO,gv!^Q,)i jMˈAn,P:Ij'Ri<9!}&.dN-5>oJth-8|˚u>d(Ma\X1zE@jU[ڨB=5s<4)T0ZI4746S=1Keh2d֢ ?F33a?[boO G5_EjY*"HV${wZODR#Keo_ϲmmtO g5/sTȢWE]Gw7&wwڮBǜSw^ܗ3i,gc4 =?#.t( !y_u-케]N/mR`wF:H˺BըP)3mc=*}|]V%v~>ي@Hs?{#ϳ3$%?) Ar >w3G̟ EHa`(@IJ !<( 87ek.<*Z޵i65ά]OnkZ0\}W٠bb!\vB lRzK`?T-}խ\sJ*3#j7O AC/VfD oR9O_ YQl\NNFxxwI$Ga,8 t] R쾰P#ώv>`/OZN 6q&qX Vܽ^SU2̐P25 ,*zK!{xjFt\&%ƛHջLI<˼C_ń?@#R\yer.L1\:*Y *BNԮQ[{8*%S?;[kx: 5W=FqyzXO-k5#b1uM`SXˑZapFQ2fBF %./)R)ob&Q73'5E4"jө:'z>Afe!؎ aZv Ä`i_QFD1E7SG: PGPȍjeb|Ը^"M &f\!9 :3c'>O9AdGFTeH7H۪GQ Aeda{f^_&Dh26&HcDH kS!+ et&KUܫ0Ȑg 4v6t>)ߩ6HU]{'T6?}TxH%k@ƿTCQO]Ҹ%,wr*[G_~ tok[۵zTB#-js4C" N8  ,>8q JX :1nq) e9$RUaUBN*`D1jkx>o{H,2qH.{JtE/. 7^d0"T ch S1+720py>",hI-.r.YIHzpKfB,ȱ;LxI%4Xҙγ@U­?q|Dy8zOop@S n- 8 $t+fjEĦx3  4(Y9o[Azc{HM9'A !@sc\Reh4!Ă1hh|["w3-x1R3Pld CYf1~_8avROBA#s 0eVw0:XKi)KCRC=ߝZiڔgZz7w-hoK)3{4IEs .YHhHæ$0mV1fC04Ǡ{Ŷ'+ꑯ XIүiui+r \qK6)1u/PDmNE!?wǣ3R+2s]_??gf XXVlʪ`LTU R$h,,h>J G8 a!b5$@jX"14MNh=㞖ޣFHbg[g?KePDX2!H$w@\O_ oP ߸Xt:1"$؉@TMn&yMV7-UG+h+k{ULOGkOe$RȠ"@R=mThb5H2G0*ȮA( U0h8*u$;m[&|8#CuԽTufj_7ҡ$ղe,-kzZ]Z`NJgl}f.:.:6g6 藷#lbH֪n8@RE,>]rٕ$ #hT'Z%"P@:0( xU=X$t+R&//a cEJ^dOsW86cuAD<@z9*Bɦ.%XlAPpSWr0|9bst#-"8G[) t{-q ,L ̴W>n;EP\oc\tG@h5["?5`.Vi5:7Qd1~"yS,(%.<^$@x(JD <7y..Yz{W9aŰ4cT駠&*e=1`#fL$C8x˥ Z郗%*5rݺW.y 80q -׋Hӵu͢Γ=sys]ODj-U{,^x`C6[ KɃO&P#Xwp-|62|e?.@It <-(F/Tkʑ8ڒCj23:dT].t|eb8S])+u4bpH+)5i1#f(:H.NIR ɑgM"wEM+R)YKZ*KE*]$uPZ! XhBbm{wQ$R3"DR+S!Ŝ'P uugaĆM %}U"@h-1["'*558u>nm7쎝ı;ICʫcT`: 6yclCQO۸-?稄Ԅ2/⿿xVQavy5@* 4x`fv=[k+LgFc,x`Rj .e2C'JHP FPP:Mă1pA[& 1;B0fO$r@KHgf3Lp$HQH22F A j̻H;k-T._77nP7 o*>6 [>€4EEJPGkh HxW&7P4hݦJ؃C#hYeBAh-&ڳbr1\K)sw9߭),aֹpOn1`:% x/'SԚ m/E,b`눛HOPCd0\pzgk!3Dǣ*b !֯Nֿ>8sk05@oe(X `["'*0&gHFJ%`ǃQe./JJ yR)Pfە5cƮWׇRpUE`@Iq):PT hmٝnہ@#̟vw"V٥95fUPLAo:`㞴$>Ap@^͙覜LJ4ˌH3/5D7 jA]ApmIX%hWzN)Qh!ei&>?б vt4 d$!- jѕmct+"1XA)v28 s Q}TOB(@GJ}ك fv z 6eZl͛o MRp/]Nb BPM F#z|4rp5р 848UgI#bL2v6Xw+R\!Č'T0PPMH ;g"nl?5@kV"A  , TFx 8z|@ A-CaB‹]YnT$ ((:ԫX!VЛ7" ,x8-X44 V LRqz^-ʭ{3F#Q0w nRyFSF J4(tԏ$/5FY/2jw %u,h!B23!NV"o( 1gFq0Դ'* alN?F̟i`eГ&9"2q(82\h[+73g]Q8y3HAfǒ(hyά8(n7oMy޻]HXU0*n]e)e 7vUic5襍.p#ēҟG}P EHB>p\%`F=A$Ѭ!*c ]^ MdTDGm=pLCKeF#ӰB"+[_.:Z?ٜo=->T:֡}~WV3 -R>AU59VKnTc bp4%ƿ%`hB[CZbe )! hHY2w4.f#1=}WR 0eV6UiD@ h/R(BmYG9RVYnX_wvf9br?~P%7IL'yww|z3_PGiilwL; z&(*+ $M!,`CQS $k'OH?@(/&pc4r5La(e&CE+:H#\c&{Nc5gt]U+t(}3ELtuIƈ]7gg]n!T=J.NXa%$VC(8|DW9SYՕNe?58!oY <}-TB~Q߷B]ݗF{S,Ġ~n3@f7W`S+9i2DBaW#[I,<[!T[ĔEj̪g"Xӕi̭:=[cF2HN2Xe8 hQ3]o肦d8ZeBY4( Uuv ʦ+##KVGTJ]Ք]Z_7e)Lf:)|2Fdj nv.鹱uYuRlWaݨ꿯ktK2 v^l"z'm&HщpCf,M &GZy4H˶F[΄Z=& oږ  XFFCb-hE4ۄ=S1l(ad!H&4`S..mosG$b"4(/>_܌P >F vdiVHU8 đ_=#!\*u,[ qi< 6-c+`f |S Ͽf33%`Uj(Fׄŏ R ;a!҄,VP@J 6 b}`EQ;9[8ީ"٧DdU(+=ZTp($"{`DK*k( DKG!u0_ Pq*$ulW μR3ľTr+Z1V[hee(Wyc&9b0 1 "Xe4a(  @`HA2U#i53z MˌTXʵ GȇI$f(0XD3~?zm=*'~+s~mx Z*29~# L憉xJa $&KR5%X7WI3HAO_X UOlPN,_KwEa󎮆j(RN $ v-f.B!Ys|ȡ!ѩ+8E `$MlEQ˺npcI\nJcqÊ(tV+X+V&t!܌r\r1k1"9=4fe(U+c "+=U-E= `4)U6zwPb*C,h+DvMS8 a착!=?gVI;(#,B&etѕѕ1oiVyy68 4k5{XMYwH#)2"=)xI~s)!gpa՚>QQ d*=cMnq)t m}edS3q-۝zn$;02pFJ(G">( e l~Eýԃ\="3.k j !Lsa`hWP#Ԡ 5IZ8O\S]KKm/} 4fx5D"[.t>o T@\dwN%BrDN%P92PYh-'W&?2 ,nKD f4ÚheO.  0a֮E6ef+DN©G{ d{aMib~F_Om-j?QK{ٳC1MycroK+?j5wW8'$g2$l-b@pAU0 L4eHĆ!(#Em&9cgE=['9'|8"T *>6?}+ 4](X>Dޕ}/zfhL>S"Χj, HA7a]!鄉|)T3QTbP.Ԇ3)h:(7nK龥BkoЁ;|O׹ΞW=LOELUԲo}L1uAr'boS%é{ i /9N#<=*}ë Upl3c~C N $M, 9x3 rB?  wUD_M֮UJ8 %/_L$Mpkla G4, |u<83iIvb v[we#(;>ȷQHNDŽC}?r4X@E8ps -Xˈpn鿖N٥&NrSuNn̾{(_{^i_Tf+U ؄6X,0h 7Sj2e3"]Q0   ! q3eΚm_F0V0I Xr-1ڍ40JDa9DxxfUKQ<"\oP 9Fdc#>u4O2;\WUw{^M0O0)@"lz Ay)! jAHIp! ?5UX߬tb9|jER7*"auK~朕- 1M]r^={%h̼8\Z HY2ݼ˾!C34xn^2%;FG%h u_#ø+}aq/4G @ݮ$:% E6JS_(sy2U_7_W 7$W~T=Ăq pn,ʰ _L_VUH^k0 iIru3G"ֈzծ()vW,or3 <O9:ydZ|hb_ wnGK|BGk!ػuYrr ,z9SUWMvY@mX IZeuG~۠e{wgnf3~7,}Ie&(%)C*Wx )])'Ž,vXoP i3B aȘTt8׈ϥ5#:3vfr~m?m<.չ]l g`GM~h\rSUV^uq&`-VF^р $R4Q)P[DA~ĠAAPqw2I+Ȃ(@q75 `}5*qiu5dL+}fe?fa~J&!3k"w{ʖ s~CbA~ԹWX!tk"{2U~Lvf 1M܎r##gCPB`0}Beʸ,>VbʟX Tr(ڥPo$X}M8 !quA'|\h.hs;s`?TmѻMy̩1W A+y 8uy۴ X ]2/򕑚E&as9'OeVKD(BBXaYo 6% T` 21.=L+<E%g[XdH)k9$ƆJez~~G,4X oe"j 1W41i&hZoZog/ڗty}{ k51A Esll].vȃwJ˱0kʢΙѐ 0wo3x{?ַMs.JEnZb ^YiLMcvwCr;۫jg{RSw| gUuk/x|֭J*P@Q=7̪5GB4E'm_a̴#4ӈfmVH]!k7AdAă Ƙ_;\突d8rLEcgR0r9Ho`~-j׵}3$(n [9ǥw}~wLXDhF5&SieERA兩 \j6efXe[[wqmKT*;f6Shfz;H:Y N6'2:` P 8 9YIk6pZz#DzB]2Lp!!){M-Gt^;;ϯ%GU8wu Pa?ym`z_#JZtDQf3QD + GDŽRyɣ*$p+:1V9{cU1&Ưt/YȂUKO] |RsHܥY#?@)2L`F\(0)f+Ӻԡi5Q'chꉨ@5'aU+xL& x\!rYmeİE\V@AQ3mRGf;C2((rV玈 ۦ!Te,)Sm:(mc﹩NLΚBmen8yp8( W_J]j93%fd1f5ɦX:M{)k8eѳ*@0&ol<4YB8Fws^ (lsLKF& „DChRD}b~5_w85ꡩ4į`PaAԝFY58 [m!Vln-c 5zʓ)yo;Ҏ "@@I`|< jurڳ #ierk?_9(P=b0J,]"T:m]PELD(1g,pYk"U;AC!3 T>vmQ [P }*?rc0wc6ZxqԟEI/Ij8 [$Y0aЧ%IS#h@ǎuk⮤U{'T؟;&>eѡ&&c~d\,BW+PU"pa9ߥM.?ը PTԴ-GJ \n,mdc:Zhz@Aթji7db[nauDBy7}򸤆HPS0$&gcl~.1QqUGSI$0("~lP%'S5//ί W\G;Ŝ(9gH M%a0KϦ,5 =!j <>ʓHФۉlu޼5nZ\Y_ӘIfj-ȇu6g=Ib#OUmi5Un29F -%ðn2ƞnv'rIg(c ?F9)d4Nop V@÷u oo24v%4dʽ&J1ZO; H a"=w207'm)bL0AQEǵM95>Гh+^_7Ce]D6d=THM0`]j@@0$dv4M{-$"G4^WpHBT1{Gn!v#MKV(ڵ0Yd!7&7v_7/ (5ezRUufݼ?Ψ V@5(Ì|2E6!6!PKf[J@6,`fA4$i,\53͉`A,IO'3I%ΓgRLK"88W 뽆 TJ=eK%˴E0j±lkf02ٺ?3G珬 &]P٘ps(@"氓/Xl0Roy֟S^rH *,.e2_1 \ELf mr+2EF߭[}.b0^o&.!rH e"nw5!m\DIV0bzA:ďMN! CcFGȭQ4`J@p2s 71̙lL 5dؓlp #$ D jD Ajhʅ9lM Z *y^C f+هZXIK+_j=!g˰lycY-?*hU/j4K#٢0!.%h&db!:<>}ĭ2>ܖK]b6a-nڭQO]Yu.ZA;yv68og.ZTĠKm]*s1C ` 7*LXQ1@"'KHVthl1N j]HԴ={;,hG vD-E PH(*b .Ju|[淳ߥాۈA]nϻ@Z.ջ~\cL 1q\cedZi P pL4OV3C .0fKJyBX!U ?5#$0K++1aS$xa*{%q_3C 7|gT>? XWCF).!#F TB;poZ!ov@)70esk.awU7_c5qIZ9~9w ,|6I:?@;XAhaqW+?30!v P*6%#8"<80)xS rt:mqC\ !#ôЛ+ )hA c: @K”"`馊&iwA4\>gwHЋ- U;5ԗJ2nkvPSȾ`ZAf+k `"9gIȝΛQa/)rBVǣOٍ9*_#\ rLI!RڤEOvavOϴ OR۝K2?}Ȕ?.ֹTOw(?H}]!lv +P7d mMK`E0:aN~7WEXam1u|0]t4& qWFu/6w<]ǩ'Qt` 7>n"*,r=-6]MKRܐpVzAֿ)#xV,eUYJ)xQw@. j$fVSefxxmD@h 7W4+SC+XBB*QpۂyBҺob_+Hr1KI.إ:xJI"82 7ZƇZ-w]ԹR{/a->i-a_s:?3=޵yУ&Uoonz;%\@F|)m@Ff2`/-@Q"aD-",] y6OcgupAM2 o-G&W02b S/U Yi#E]ˬ$Wj-otޭnHRUHa/$ivCu#I6Ѐh$Y3ke0?+W!5?usɡv_M[{}| 308;nfHhУ FjDÌPЋn#f)!'9BcVWa 5!9iUaI$anuGh,B~})_[>q_AQ*"@G9RQDW 0GK7F6i 11L(SE+Z %EX H;Sj߲a""OȔ5 3"nB# jjGI |\(x`)9D\Bq& J@s*Vɿ[ Jӊњ(2hn咬  SAn"[+;5]~\DQI2$tkSDD2j?G.[80У S8ʂ]8 4YLG!뵄l$N,K P!o*0ek$93_ZQj'K# |寬T>_ 1֎$N.ŒBgJ2ą 9yRRuc-15fwF9\ChQq͎ZL_&{UQ·= ]5GwLi&:WKU@8 ]Lá+% NMiiI" An6߿H"CUu@2uYƋwd lϼ^<׼#Li153>/^%)`>!HfsG?˾^@A< Ѥ F&hH%7Y*p35Ify>?`R$%JVC|;5sViqmCBJ\ST4XX{YΦ&k+ků5AL@xf c;Б$CG} j?)  Țetwb )UBHs<~kZUՌ5^UD6>Sr"j5,)p\h #( ЃW$LK*\J'W.DӦݴN* : udוظ!@~pV+Ab`1#QPo0)%` 4B, ?Yc˜(S$‰jty9JD}k:0Zַ;+Rv4wͺ(-MuXAW1H( TWG!H$jOʊ%.`<ū Xl?tN3 gA-pƻw4h O趧,,hKԫ`Џ]1bCE&2+bwKzUfbf+Y`>%Elo+( QIa5$iT[a#3A` ®@X{XIx 3[uC f1kkX0ZdGtwGn03&e4dBm h  zrF-Fa#*Z+! p$ho\<&TcxK8LQ!'j74Pdȇqy5I!l8:YҵZQ;t8udT"*U,tJ-Pg#*s{>,~5At2P}  BzH"|h]BD(Kw@t _r}sw/˗>&j4D{^IVmwh UIS(+@ hDu/"V$B}5z=;SUϽ]bW??[l|t[USaq_jA`v/DqZ$ }&ҝ~E%ܷ?׌0 Vf-\ւM95I5YKS)5֝7tTꡭ;7ꢺ uH ;JLf0<{)Yzl ؁@*s% Di%,]#Lw|m ->c( CYQ! $Iu]i7uQ(=t RTD,0Hޒ4lh2/Xk]ԱBwHF&#-1#aBtwTGo q-4w TQ NFRIZP1z0Nh d8 uQǡj){cZt}U6`,ծe)Pmk_ (>(Fi#9:nTp$ 4Shoͦq ̕M0j鵦%D!cœ/"!?'` 5!${=—nLVd0OEJ20JRQ4,6ZR'S Wu{ˣ"CШ%( Mm)uz,F3o)u;:ET# Lغv|TsEK/lPT_mfiY lvVyRC*aհ"CSc"m24=j=J^],|ElS)6cjKGKahχ)u U.[ʕcyb%Π忦D>NG%KdHU%v#T?^m6${[Էw$_)2Q mT$ AApiL(%$"d7I``Ќ0Ħ (Ph::Bth3ioIN5;z2GH*J.-mhYk4lIo)N\8d><LjfhzUqlO`*70Eenl#Ň7{@kBլKӒ۽KS}aOkyiH)2(ׇew*Rx`@#s!k:RYg`1&E Ս4eKQF1d&CM+>޻B@ /b]AևO %,XUF6Zd_[ON8иpz _X%,od9€,$"@r)K )4`D\ďJlDǧALAME3.98.2UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU2 4UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUbrewtarget-2.0.2/data/sounds/checkFirstRunnings.mp30000644000175000017500000002261412266512167021710 0ustar philipphilipXing&%'''44999???CCKKKQQWWW]]]ccnnnxxx}}LAME3.98r}.< $1A%8R!0nWem@4C%|0]KN=0̵$QjJZSvTIk֦a۝Knی),<#-7GXŮ?uuʸ2F!H-h͗o,4HhCAΡS̟&(#J67jł)-2+xAԭ,} 4zwXwdݼs\x 7{1^b,-H6\?@k(]y%s[Thi3g;qIM,!( NafJ"X$ɚI DNH44PUi i>CTl/T-<;HY!K,=./O QzűJlp!q5+iG޼IokeBqoej H,ݸ#VXů}޸55 5Ӟ 9bnjx'Y\!_xsFAV TjbTx 3Ȓ$& g9Xpbn6%YZeATt*z-W8zhąMtIPÔ Xܺs zs(߸>O ]ܖV8~^g>ez-o=ޢw֯S<{;kԱɺ@8n͊p2l%&{|v!*JοbS*s\94:QL;O X"LldAr(uVIJ{GLH9LS_ZͻSطγ=79>w741GZ1ndQOF @,X ?Zj Oo˞,M%*b>GhU|hϷ run( i%졞쵆=\(|p><7u(]ok Ѫ/u%Qmı&-t{*雡 PRjpNJnYUL"[.ͻ{Wx{'hrK*2ǹe. ,<s8zLИp}7IǍr쩋21U~HӺOC۱\Q_b'ث6@%U9k ӘW'N3$m900*"N)I2{N9?oy!qwO?dk )~F'vJsw8 aLҡ)b: fz /i6ƛz.[ԴzWLhb=Txn4!n8?EP?Q 8SD L&RQS3"a4VYsfEC_kuNfQtϾc5vC?W";S=D*u3!Te0cy4ԿM(8 9_LE@"Ou h\,AG&``,7D2D T{<E֗֙SAT)H35H@n&`}DPq Rno@ #P cS>0` Pb1f FH%a;j8z=7\B-ۋ'R :^4f(P^g5-C4Wg4MFM6wqbǵsƳѯZvf MWdrYDplu]`ha.?+@9QLE]aSص1R7ML`)5t{VǛF%gsGާ,RzN %mjvw@]}w??FHhb^=eHm˒č+ߝg bȬj/o>꘏?sUrX#9`@`L O£%O  qc>ٻ(O jօ[qgREۧ"vLq+,yj hWR' 4 "1zSk5,}TmFH8kqh"UfWή(" 0ga7u -gSWxçֻzaWІE fHwN&&` 'fB@yY+7܉Z,4Xus+NqSXK%K?&G3 &i:8BHߣ]Nr+!G@e*H k,t%F5_( @m0g!z/, ~ROִ^. 7$p̊Góc-2\ ~Lxl?xu9[&37z1!(sLQRL9P48hfQ>.LTRN!*5[-ZM(EAeV́d| ( ]Sfo? #Z?+:y0 2xBr ȽHhܷWG8 Giq`-쨲4"@lj]+4[6pr\mފq0dh1Yjʡ}U6E8)F3Q AT'"s7r{'yqN f$7QuW}b;qaC EG6Bb"Z*+eY6(hH 8 WeaHKHQrdȈZ-'^K86=S FVu4B3CƼ4f QQv,P3g\$ȉ"A a%zr{~REhPCS.#[sL6Q uA{rj-~c-x2GGuKC(J5i$JEkkUHg Y+zΥ])D)P6CL?ZZЙM&fbmh,$1xNƇV~a&$hovieUXH1.b$:%oSKmH$qbM1`~*( LOw0;y,ҏEUrIp&R+RdTHεj:Ue7%/ڀD!͛.{ilCeM^M/WG;#T`esgU m~Y%VRnRF"V9`WMPL! 4vei)jmjKn26Q k wNs)YFUQg8a&TQ ڙv6{ ުԢUK.9pKt"RK5  TMt`)aMsT$5LKܽ Ty H N24gP2Iooa'u"]`&QZ*&lP@3&x*끰q!qeȏoC 7d[R:N59a 9Ka(鴄TpQ7}ꌷ50a!/eY= n6 ۷1bk2B+x( ( eQV 骑| 8yu u;r[:s i -OJh(,5z^P(g$T}ٛ@Sr[!"<Rΰ؄cpT${X & fxJj vJLAME3.98.2 4brewtarget-2.0.2/data/sounds/heatWater.mp30000644000175000017500000001522412266512167020022 0ustar philipphilipXing***9999DDDLLLLTTT[[[[fffnnnvvvvLAME3.98r}.; $A/)0G@!4 < %m}@wsEࡓ 6vzK"܍ J`oYb)槾T>&$8@>^b ,ZUfwxwkf`qO9v4%˶i B6*H O$Kr'鵆%[& qFT#FPNE:0g;.!H+Y %$+'i{ |p [~Oi6VZ~97#1F}{UVS*C `" ,wQ/ro5Tq9P,tT3tH6u]fc%]FinT23Y)jlMYRl6WX1[0.l|]2"18굲K{1WbY Tfg4.}͆*N^ }RDL;h֫GKbI.VCf Āɣԥ5dK |􁣈TC71$@pWqjD/3wޢb IXp,2z3|u@!Tכ>zwTg=`:T呈},24D!]HhrTtOvsZ{Ǖw|jt'h2ph k"%4Bt.799ڪNrxvaZE-b1#R.`7ȃ!@ R/hNX"=ݎd@[}Y&ʗ _ ߐaZa $:( 0s`.ͧBk\%ISD3OJrNs2:bm)$-9Pn˸Lc4eS s{Hlm}«Kq{ב&>M/FqvYQÏ>E^@*[b Š56@I[Q'@ o"U("wЈ"D܉nIRPj"h#-Y祫5Z<t[9[`:r%`NĜcI"%.EIf=wį61aSϩ@#Ҽj]tމI^3#/i`m$qHHX Gc2L#K[Bk8R'+az;K+` Aɛ>/9*k3뭤7_ݣX]ǽY$ԲJG*yeO~gW~pr{[o,~=UKgǜs*@W~ÂLԜ]Xe7H cc!} |ƛ,J@ŘlF.|$rHṚ K ȂyE 2Sa:0 %dNȣR/;'Ԧ&>vM;:g,FaťVZʬȁ -b>4d[:X!t1֣Q^asz"уgg0oſUc+;u.F( }4o!̦@HS~!o(8 9_$MgЛa4g0!!|?EU \P]jgi j c8RZ5E(R pɲI?Ŕ "r E"T!Xn'ʨ4yUI$'~Vdt+ꭷ[" ЃBAfwo1g7eBD۫Ed8( `Y$Ij%Y5b(] D!wB_縡CGT 'vwW4 2f)3c"}@͜uimWttOk*#/>[$_b_^D"0 eʥWu}k%f #( W I꽁|QBI8 Vԣ^3j׫"#TrVwvٵx5vdU5h.{,|=yXCa(sñ#.PF_vzAEI-9CE;GEr ̹ub@^78qQ#k@JHNTa (,=D`Rk5#,};|)j;j~A$kٶM"+%-qN+гrq"ܱxI@4s8$[rYsB 3:wBhU ŸlbzLWFjdl~b@/Y]H).r8;Ɨ*̱9EIFBZc:P΅rS"k?))vq48 a$C+ P,2 IvNÎsE9Eek(5VfAUW0|?d^F%kz+D3t},B)kNx_@7.U`>2X>FUuMQpt!ƹnx-CE(ŖTyOh 0voV9I( 9;SH TCXufB8i#~$g,WbWJ6Ҏ&aGS?J4TǪYQ/wxk,@Tv^p*7;e#Zky5eϿ_$20}ȭhKm$bv Aѳ ٲ.@e;woY٪)"m%~f7DI4uhW~eËSƪTL) w#'CytBD׍ (aFY  ({vjvtZ)nn-jkVs6u~s>ՌƮW;[)X@W*w3 # wQx ビ:aa@@z݋dH`k_&I,5q@;XbѦ^;-ZZUWem21q,/[9ow+5OoiS H 6l(8 "%@ ejE$P0#/ɥP[%"d.{bgxK?oZZibhڜü_oz_R6lwXدSw4awaR@||&)TXZB'7F*!T*d0V-Ƀtzlt1UY0T]K8sN5OKpzwmwvY_\ YD{6 (Q"B4؊C 3I IءN(ZD.x+ )˅I[\>[0uj~]XEoJqҾ`.h(>qFRbA~( E]!])'_zEscJN c,7rdTE=3k?>>=ڰJHpZZM!l7)"01TjBAFNk,ݼlV'c]+ҀlK!P@# 5sgq{\7Rb 8 TMI!K dM*28x1%Axe@PY#vP c!5tV>zj8!YPPD-,x(L.x4 -8L 5 `얍5W]e8pO| ͐ywd(` ҔaQ1wU@7|M [*%##L2wuACBa $IkGk!2( $+"ƥyPt碑r'(PCJ%1=-p&,9 -ϤP dd܎2[PG9WhYJPd8A06 5$Hy)F!kG Gl8K0qK$k!2 )v`ա4u H&tVv[6oPaHF]\颃wTX}\P!)0\ -gѐ˛PN0^&|XY14[,fO<7Nf~~~uϒ0o?l R}{Jۃna1v KIVil[6*"αii!WF>ܭOy  Sw7~?%8 #a ONYecC_W=Ԕ ~r /1l(jIY QY|svb^Fw4&4.97Ke )t \@0?XVwg-+9eDra_ׇ,R8pÑ?wuv>EB KUl2*f0T,euQ="r9m5K `it ͒D"6Lbxx$#C@Ǟ=r̙7 4?BD ,|m@)US/fDRҍ~e*mzh̋B8?Hd)Uoc oKr`Lj$0*2*nQ#EC uq.r}@FmH;a}MBAr OEl`pb'6Qor3t~BKN`J"F!pFdCMc`y(*#ϐJ m(+}֒~&x4k,xE->W*D,X/U@Hmir!KGuOրH(31J-;( G0aۦ $yo_7ي|Dg$7wRj*3C,R yt =yn̄.4IG,84\h n^Ȣ(c( L(@Fz% IwJEw%σ~Gޙ3%ffxx"-Q9d۸iYv)|tJjlUivY߼='&ih"aE#z^}hr*`juŝkFԕ^@!qF$wqlH09(|<UT !i]e|ENkORӦ~^L߸N7!£-I*f`c ׂ"E]ǵ9k7}gEJ_grݻkCdl $FFi0bH Ե:hbsbJ)j,,:*`̮fΏ,I5N~1鋩d40T%F)?~ZkJ(. ]b`U@ $>H)$$<0"1/ai Ł@X82i V}  .P5SOf.H !84 1el5 ctҁ4 ejaS*f rK@.3Et$z$OQ#8RfX0Ernѭ djhл1w:!83OD4@)ȚQHV)qSf0 #HHu͙Zꊽܝ+q^D5 FOK+[FvBOm*3!6'_ hk8̇S6vCN!/HHIB1Y:?uo\(;aq)'.|l7MۚͯIRS ?ժE&Z1X[ ?U K OXI*vĮIƯ6)RUKS-3Eb9I^j)U~ @Xڲ?i 믡GT9%F7%$hP8TY H 1sg(<)/:w(U  ,v};=oN_%;̸ׇbEBze%"X^Lfgw\x@T`tm0>*FJ0uC3BvV[?ykߊuFp|oD Dلu$NDj-:Ji8I+F 2TO'@@BA;vpN!Kdà4 ˾b2He7sm>`4^i?Qskc**U 7 )IV|:ȥS^mU@1Z6䧖s?O(ҁWc*V{MZTq?"-ha.+;Vb Xzg&a=~ }[fC]}5V\_]c[\}}y+VHw4ӝ)/OaE@LUR8( P &FXF6cqY&ij.>֨,h3[&73 J!L3JhCFTk2wi=r iFU]kEۧoݼoۜ9Lq\OvfE$$@0G9&&@Ŵ;o?*ҥh"gWjv{o-2~!*r7rXR4.]9&i (%tTY3?E omi (dh 1F(x)5WY&758h͒Ҝi, a"o b!Pv /,UT$}ZymAP lq e?ung`綠E#7-E7-}#G7w?Դ7KҌƚQpPD 0}2"0 C<Ŕ3%AED-ixI{%%ZJl (x0*4baBR+1V6,Ri DU+0%[-gxua_VV3[Kkו֤ξz?꽪[g?F&Qi5 ; m]*iܒ%nADA|8bPc$hAE1td8#}e!- KF2&2iHТwu[)V{mj3Iw&#@=EDk`*Ы<'`FB \)vK6ZB=>F`'-Mѩa$id ({MU.h8CS'k"t<7p8e<ሑ+%4Mդ2w9W H5Ah3IۡFPhh4SzGìia@3H: "zҽ+`RMQv`% 5%c$򙟍G #j: -:L%C6 :Ӆ\*ơ,Ip1?sY, < ZԵ2+=S ae`tĒH O_<٤-2V*bc$6QEs*FU_3_7M;ݣ ՉSAx…C o yu=?9#"80[l:wߧvڧ׽옯hatb"ƕ-{xKJwjsJ$E79ˍj69Y:誎FWFE𭯿8 kPju d#yΨw#Ɛ"vӅ|MR9M+׳3:d~2#KTBoE_/4}?;ߵUiUUM4UU}6+椻O@P8ΰXf# 9-n0YUY†"䙉7K(NYhķM'SJ I5or"Xq*LVՇ%T (YO! *wUN`v,T4 (X ]{]$;IEv7 ۭ`ZKݵ|?dҚ'dͺ힥O,De龺RigvTiPȋZ,צ5ŋ\G5 ȳ_R]%oDŒ?]~)ݸ/b;/iwQ<~k9Jy{*_J!'-N_ߺ1$ 4Gl_窂1@0"QU$KH/i,>Ng|M3w4pQ  Fߝm:Xo#/,+3pD@PP_,傱2WkH`A`A  R%1hDU{.7Jg螒" box֣d6Pw7q!ҤP%H|#K1 U0)pun5nέz?f,F,]brAr;:u[*oUl)j=VZ Sc_ݲye}_کXia!*` \;]0ÆHLv}&uF&$@P2HT %$q8zG(aujbi')Eh=hڧQՠyfWdPw^)ь[UގN )3l~Y$IN 9-6.g$7p])^Ql5pvPFd3nQ,rs1E+9rbj_cS5@%MiV+ pʪЁb^ ASF="&mDxժe8gaww o$:aW˶ڊK.<4 UWIvjX9zéKivOgN)ǩ͇vżBϟ}#JWyC8yK}Q-܆;1d ܈ EuFvOYC, ."bJHQHa0rᚬ5\o2t1kV$ (Q Y<>,+YbKYoQM񞲺;^Al&Uc~ZpA^QljE TL(7c *[@Ji`Ȧ?Ii,7p&K;)#AnMGիVTFGPA$vm4ViUQ; x%~к"/DobP -Zc`N/hioa*k5؈:l*ώs2y2Z vHb e<>hH&X%))ܼ[ԧel"^UKݗSշtRڒVXﶚQq0X4 AsҲ=FT 2UF:Uz#=b+Y*n oG@I[)f¢J2HXj'"j ^şT~v[(j[*nRv]M7*6WY;m <^zQoR _q^"$)Wk҂d1ZI4$#!]$G3"1FFI9q'El蠣c8 ma!l)DIe+SȠ"`]I53Z: 1ju""p5#=RtU&OqI E CX$g=ڤ# %Xy|j3۽hh&Wi떭ML)IHCg"q DQ D HTj_jӄW]M'Qjt7ɰ&AYX a"'*5YEA 0PX"&(aQiSܟ41Q 2av0E3EvsfpX*Dנ*|AKLEj3U3SJB%]:h>;)a-<[5It,2HfX}ܣdJJK}0&0ܧZp_{nZ1|kU0nWŸe2e77ɔ1ˇHl̻hEm0մ߿R&_ VޘFCY9~_:%F&sYͪ'k5ጱZ%>gG!vXջqes'Vr]*DYiﺚUqk){_K#ړN;l?|?~e_?6&xφ?3fn;DZ8 eLk1iU(xUe-Oy"w\qÐ9M ̢E6CXTz8lWVjyrecƐc 3$QW96>(sNy02Tr| )b Sp8 Yq1A&l<, Q<`p@#4>!UZeJƓaog^2.B0 uZCx_Ɠrګc!AM?>yR},B(b "F%*`H^lrݜKm :'7_$Ç٪Jgɛb)U /;F=g/Lʸ.( Wg献 <0 )WR"kwL"BcCB h&P.&I ns\Z⿙t1 }?u\鲘schY_2mP!4t9)GnIC$#NU;$ъa̸'?gBu] 1VyDMD, 7z_y}yR4fږKgbRsx<8Qq0$zr7Kk)ݏIvQb#3}*ss nMhB88 NyOպֿ*J\WSwb1!+׏g@#f7-42VsPI1t+^g=wJo˟=D9>U[W2I {:"N \ ĐVF+9+mNld hOt8 )-u/n<,[Ӥ-V~voѷ ċB}B$4hXg""AB-j{{w aCզ)9SWѥOm"{M>CauUvRN/v^t%CdY MS|x|{fg񅁔+j+z9u0?8 3scnLH4\s[|BK,(s4Bg&gyQ(eHf((8HQyD(`uC N~<N ŒX0L(1`,ee/Cu5!3 Bd΁w#o9rXlBKkb[_] @OLƶ%JzW?RY^ÙL2IO9zÙ&{ük=+[ƗYUq 퀠(pAl`^I[6xC "\GqN_ a'h 7]&k5I$)E?: x<̹\YF9v H> kny汯-<=E\3 82!@怂a0Rf@YDu8qV!UZ(߁X.'u 踔 cgoK_5л@; ܻ Cܿ8>̖Ksj˿Tԧkß5)ikc~[Բf.+@&xDi0b՞YnfH yc])} !%&h 6 ?J&"hK*l3L 2- Zj#;˾饤u,vj+mvXrC[x梻fLħ4B 7w{ݟ~ɵ"2*)cz/x7xșsA8k:WRб? 'xgR lOoMh ;["k73H4k@ƃA#R~0J41BS[6,iͲ  =kzM(+b|F}e5t́:_3(rݘX_ln}Yuu32KVF)HÏo^+TP\[>wĢmbD``.>3 \Yp`Q(ř1%MB 3#L"` OQ,Rw(b34f|o:NU`plF{ߗfB/=+,cTޠ ʤR򪷩.gj7am"l0wBH~`"f0j#xl˸pNVb9Z0":IòX,_~+3/6)vY(w,hgZ4?QǔEF3,tѳ&2Z9w4tO |SVSʸgw~[?sRMx`*Jî2  /Űa059 bK (B'(r8/g.giJSSY~!Ke1w1K[oo{ۥK+@0]V` `* =W ǀU٪)‹,샛- ҍ`@+K³?$1!L59-*W3iM w'26mHcKFC~YjfU~6bk=][gTѤKyOZ 0*na (2hp[Ykk5 H6D B.hB*=ޒ bg; ^@ϰD9m=F`FJzC1m\Q:o0UK&÷+ոK,K755mSW#p݊L;ܵzLLWQ 6` TB%o,"(fpi(( xBB[TFT ^G.Wlz+ nƶzjy_d^CR1/wӳCem_$jSKfu-NSMW*aOJqv2D<*W IPUu]+U%H _)%i |"Lߓtw;VQ6 F8"%,tb@ ^ug`gSU1dOeU*N}K[w}{e':@7:d6Pf5;2%y Ƙ T9<}Ubz!zKQISA:e鴷E ^adt_يeFZ3)?sZaN\4Jׄ!a8 -aL,Mt&luB 1 e5/q҃i/ U8u {Z}ZKBRWJFIl%Hrl%5đJ {3WOF#/t:ZL@t;LoBrD$P8$z qP3t cPxh e#A2,7@TA1џ&0ZFAе*{ZA .tDHR ;W jکH'"<[HNU+-|G. 436[5ǝ8m;i!~/| ܬ@`ɧvJ.~l}~,CvǬ^iC>Rel,XDHISp:eSja8 l`Uۼ!e}!LdfpTwe+ U(R)Ό ֔6Z٪ӷ~?j*3kٟ-QA," G@b٪GNZ0Y48 9uo Q",¢Lr(2ixs?k=7HYd'/j %NB !b/jl W-5GI0凎%SO kۨ(sT(mqw]DQTѓ ŚS^ѩS1q̩-p!8Pܛ" )j썚]du k( m P[%< X^ 2\s̫(BKu+i"tӝnQ,\]xJ9Lr?=ұwwyDL+p4Dj-4MC]<~@~VGRT}KZ )G%mل 52EYڽH EiUb7l|.n b{ph b. QQgjZ|S=M1㌆F _Vp`K,zD]Th^3n^]GU7EH3`!ܫ^dGp-EB޳$@adG9͵;eIuT MLx1WQmb9j)lBGgX‚M"OK$s)Xڏh͵ij0e;vM&f0,$HPu3ӢG+a)<n Ac ,}jDUH9H {Jy6=)aN$F%OT!A8ȑAԪ2m{ t7G$mgYwTt2efYgIsx9) &? N@cqc*I:f[YHڒ">/[cxL]p^sa$$iˍPxK4G8sZH/$?GEC)hP8Lv3=<8"ma%ndlsohd ]ld[xD(rUVI_׋S)ֳ׀+JfԀ՛|p (1&s'\d%^`2p _Ϗ!mڗ#9[XI(ePPM *jPi roUw6n t>K*rH sq 1a3@ A)C9澝ȑi@\#>Vv?9Ԯ]n g0,NTP)g߿}~9mJ` eے 1/zK/Ð/&07/+.\lɪa\<\׹Ypb @P01`(-yXF hx"Unm`z~vxl_Ԑ&H i$lB.,#;iXqk9,&71_ΑDFR",x%|*)`!*H4TՍN*2,2 )/$xv P-t0PH$Ԋ7Σطꀸ%13 yI&Gx8uf.p3sjR*|hqIwE-%-UhYnJZU7sɪjS7 *JsZ` hԎ%h Y"k5D™Oc(HaPu2F`9 0 <3 DE)qCGyhikG~ɝ4^nWkSr*K0LJWpTv=%N}D i7Ysxa /?@ f%k%bʌ,ChY"ѨtȄ+q ɡ6@Y(Pf:,@Ś "ltD|lI hD|оR/`"i-%~2ᐜ-L3>!D챰oh3]'+73!t\0:C&\p@#-I\[$c" Ay/L!!ifKsجKqU\އYf+ͻltC}43kn&Wo}%뙷؟@o$2XB`iҰEɀG" ( 4s LUT=q[n*8z˘2b4 ^hvX髶\zyk ^z_xMٖڦ|_w5JȼB驿 Tkw?r/e8o+.b23('w@Ha1e\!, |8!^`zm+,=#⊉R ]! !`EnRHcX%R67I$Selε)ᙅ{7tz_`!$_.]`q,lI`ʊ` a,/j!=kڰy& iC\E 1M'g&m#J{uE*dHP$ ,sW*p5<ڇ(EՀCIj X i"ɦ6; !]E.P= iȄ^5uWrFj00j{ L&59bU)@g-If6.F(NaɃA$<`am!'. 8 (,-!Xaqr=`t1K/bD̹\HX뉫?-+MiI[7{L$`榉#[I$hiM T֒WUu뫳Xd$Bl|k=nj/V6{{ wW74C|2Xz}nYW%r"&?mK@0WF Rؐw,/ R(5XS*8ɦa]ߘ2~՞T4tEa0[mѩ>,MIa)v0&E*$d->LFq+ 2}%"4 %Gڀ`B6@ trVK?`$W L*>5#>[5bIk<:HX$iS04@+.(GMUә O=<;<[xǑ\T4Z2RK (cnDrWxCz 0(jg(C g@XpV (CBdʲH[Yo+w5?)%zS*%:&G{b҉Z}O'yz--[0!fzX+4֩.1l.$&rv_e6e2-˾:( 3"X_8QTD+Gwro+o?)U\ik\؝I]4ף3gYDLIeV3.`0]00[A aƧXX(4I.XYF*3d(x7dtI{4VP99NeFpI.ᢩ:@5zbb"-GFw\ɳ /@(.3&X&0P@DP#щEOu])Hθ ~6j@ ?deL+RG/&-Jfޯn aSkw-cfyj헑_3غF翾HUj+m(;B;lԇ XA6_CX"T TD] LŠ8mxA>eDM' i&O͞=ͯcb|g$N@59>RR&@.& *s*H}Y1[&TCDB]8Z<-Sw_wJ7JWۿ[֓-Pd͟1J [R,2^I H"4t@p2oM40$P(Z|gөnGoQt+:x&5}p $H$ʯ ,:MR->XC)w΁A31 ,f 'Ej%E?t0;H[ B_l02f"ZP8"Xz~o%.) 3HVbM=xDTNGAƪ5dzփ.Liʙ#v( t=i0I| ^Tǂ)L3jx]PW 8N!`Uk&=!g(EWaMU#i:)((.mk B5T1£3+Wh猲:M\\ɰm(|Eyܭ8 kN`.l|rC-xCi)X:?F).kRh %B<`"<-eCHr6EpkW#Qz(:(p$ɮh`R?fGg")VS :ʺWR>n/ew5ޟȴ.!gGɚQ* yCZ X?k)( -cy)8| $X& /_ޔ櫨 *?(M{oQBVVU9p>^IQV"P@&~X- Y 8KۍfZ`igՐS"S0v8Mwm&p*iHYA.MaX9vqJ( w]!SwW"O.vUQ!L0+D ֗<"۵- .q׶<7sǡ|%CVQjBjHCQ*_LWNA7/R$ͿzJ5+mbD*>dI 趐0nOvskF $Ҋ(ۘgQ]PaXS^bT*f8kczy~};~mH붽foKkDRI%.sʋr'ηYRkw]kO w0)W珗 p_n; 3tRn[n_5qaiβQ(hle5B>o,pӔ*YHyD<m>>GGJJJQQWWW__eeekkpppvvLAME3.98r}.B $A+,-VOK!t,p>`@g  5#ΣGUOy\]ٸQҔԉٻJ%K@w<~jA՘!،Ϸ~JntzH 0Ea"w6D-'@["QKTkm@NW?5O%7@ui%'n$) hpiai}:&n48hʶ?-X FHue춰I2KrYۜ"yvȅQ(l.f)IP[4)RXv¨9FܙL̘/#/͡lq=IUk26 Pgu=ؖwJsE,š+ʌAn[[T X,, DM'C )*E($PP*ge\u[EP+T$ $[2p49hKb`Jx5Y&lk2:a 4@X!kJdQ&p:_AH!A@ww+\QUv NEA7a04Vo\1E{9gl÷`^c[s6s9VQ?MNV7gjSM99gǺkuj.7oڽ~`V4 1$|`S$ޡ&E%ap hӨyzQ"c[ :Q,/_l71,M$C|,+q T!jܛůF)^En[gdB}_m272k޸s][$CY-WJ@ A'ݶa&A&1L \|?mRUA(yGh_Y4liHHv + N( j"J;49|Mއc3{K))lQg2S6kݎavX̥0;weر{MXsUUT6)&L2Qi]w 0  vݵb2@%F(@K DaAx)bŒ Xp0p  \h'ɠLNg8!2ߐ%nK7'Y`Yb[ڌ}Qp幷޺Tkx^Ǽ X6#A\DESR [CSSpTѫ"4L nbI\"ޫh!Y +5!u+6c?O'$4W3M\-&`̝e/b@IydH_9]3K.cutw<4s{\pi;hI:Ozdi/cFՉ-P,I`9`H<2s|Ҡ+a-J3dKCpT5.*ү0$rCsy2Nw޼~J- W%9x@R51_[e=}:n'sXa=]]!/}@IH)jyml3Jñ6 x`C<!0Daaw`  I\qz&j뽚hpҧg{^oN-8m U;qo5YvQ)TlIWb/J=kCzћI}PXIk1U/Xe _fe3jdp%9uq=&x{TbE~.sg>uh[e)MTHc 5t+| LW %KK G7~yQjiWYo9ÑY%u_iLPi/8Z x9@m@ tIr/*$ Z(mbG5u#Zm Q"  吁=H"iT[k~YtL[QBV q@L%cV.ZN{`tZg^FgdC#(_!FaRD,8 [Oy쾰0j%vߵE .{y}+!F@) udSUN\xc^.H%])= T#X+9\^~!G-Hsȫv8tw9 ]&rYRj^kiҺE%VZfqyi,˜{RB*RHway6땷w\ᇭb%Cn\u ||U]ձ)C"Y;MZweGfDTTe;Zr:d:**246QS8%E 5{uYgwQL ,j gRdX e"50PbȈd֚Gҷ=u^Ҫ1a^9*$* TVzH$s61 P* HlHLM'd! T n6mB 5` 86A 7 B PN#H$r,dqQ(!e._ KEo.&0.$,ȕ7fRUփǑ66/m[2֋gAO[U+')]$Djc0Y+H Ewc]!5\ct.S.AfLSpy"aQL؈\$H6A&d]}tԤ*{zu S -s;MTˢ꺒R2N@[l="eOfw.A5Ey.kR%T2mdj rE^]WZQX2z#;Ws 9҅np rBH Dc0R,uˊv; X"b6DV uxӂFAтKP$'[)R(4Vl—hB!O]OV 7Q lE F7}0b55 \YCh+K{ ü.$.9w4/ZV8z5^8 mm$m!uZF#hj&:([NPd+7L GQCTTuoE쭽OXRQ)Wˆf SׅdB+lG~QOyPz}ӷ)cӋA/1Xǩ($쓥[Zj[˷Ul RBG*"$L̙,?3i9 i=0@R:1~l vihQ'34n^L"msQ-^E2HyR b0LF,V%nQe -qGiczTCi`elgS1K-ʳŎBc tޗ$8C2+M/l gӳX{ pDdHc/Ȉ+\wDBVjk(`"^MIUӏYʂC$ l™X~-+ VQ^F}uXJ -e;d|Zcݥm̓Ŗ=AVko)iX!kfH!n&k[nJh4Yp"gc?'gwt:GHuW݄n>B% 6P( 3]A >`9h&XPpYj1#9/]{#=WEE 헓0li0Tz)"%e>tm!nٷR_ RaW5 ZmE$aEg:fP` + A2A5:%ӊp_`TP,63c^& $: 8 d$9$0)Iy:;g\@IB3D|өuLgjt 1SJqhp4!j63Ar&b ͓YX!!\"kw3V\&t.5FHЊ#V)2=Rtq#5qH9 ,}5;3N!_VvvIH3fB:2)D: @Йp2qd`)7?14c mƲH`(kVPwVS Z#)┍}M%a}HJUܜvYl9N,b3[߯Rt݈>}_KL6Nv󞞖Su?3T qh[q,74@ b 9b0 Y5c%tIRaxpWT YpŁpiOƍ8[emݳʚ)ٹ~ YAΒOso@0rYr̾p>?QnJ IVKJ"4ڈI`ǂD9rLBP0L/YbDK35B[rbbo"YTEHΧม±Ӷ*+RQ긯|0=`` tAa}[d3XԯTR8G E0h6*)JVkJRuJ)HEr]G…ւAbp[Rbq`M__*QhW9 j4 GHb*B - gQB 0EɚAtV:X̠cg !ƿW},׷g_^ۧ޳/05_&H` : 0`)p C0Ӈ*4)2! a ȍ jPKeG wLJ(J}Ş4(Tku &zr"jM==_@*K]xfN%ep 4 qRHfD<3B%EBI!QBp@775p:8#$S^j4ݖGWZ^4B8:y<Ⱥ%/Cn;**{k h :2 b"K~ v#`B#q΀rM`Ic8@`H' (4#H r"x>aIbXsa7`C+wI%I?T תxM9U$76X@D<AНk! g!3h-Ui` p\Dbq?"H 8j&"d͆>!9,є8P"͐A!@%B>9xzl,Op7Mfan(2yKj扭?ԑ%-OS2ytGQb Gv (444S4;0 C16 @yBcX ?O2%(n& ıXr=)b"P*U2Q:(z&l, :llS{W4< B:}?_Ғ50@A[0`.P !58A1R&4JX́! Iyۆq?Sq8  Y(pQ%'X4d=z(ˆg[>H*?kʋkYY5f2BIXqޖ9z"Ʉ>wx<R@9GV-Ig3"H5b2YSCba"2]۽Rs dc-o̙}:k$C!g; $֡Cc* 5{X uG_"Ej2J#B~Hy_/2Q !XFH/FWTsZJ\#bi PӧNi`<&f9=VRu HB^hwր, Ȓ(0 4cNL:j(ADxqK&27 0Zf|K.S잆[@$$Z_}v#i 9T=bkq_bg Nd4IPB.O&  B[8QԒd[kWRԱ w˻E]krK&K^؉-II#g8S &jw2iY֗˼'FCԣ[@UN\+ $+,@Ӷ jmX=v$8_/A145M(H GԫpJ-FG9Chz\4#})n <.=_pfjp\Yw*kP$aCO E8 3k!e䫴xe@t>gEV2C:+ TLAԝoi3G{K B,@`L\V\w~-x}PFrЅ%~h$Tw r~c[ cVUoչ)nҬřoR-̪V*9E(CuU@~2˸_H c*'?40[Is$o3֌5>`lʞ㺥/boBjW4@[rjuB+͒im:?g |A% (,A [1g 2^$K rjd6<'I$8 * },[)>`TV6.ÇjX̎P$gT)X[ 뿰`QS(Ш4Z0/3 D `"U&B;z7oPy多+IM1=ߌVW'$Jifid&k֕̿zbo=EkoH,% ^I:$Fdqj6S if0kLL(Ӱw(@"%Ǒi[0jZtCFP*P$Dg ,=\( KS차0j5,1.J,@zd19iC}]nt c 0eurDn7ײ/0tU OI-1 WVc= bBDWZ]ɋBjKw+th KIt $TΔFM''0ݶBĴ)Yt/ePៈEAJ9mw`gBmY"VhHU'twFcKO ?Eߦ[<ƨMKd`PiBjTdՈ+0IH Ab@N)gu"Sje C/G 'c (F*VcGi:'#kUqbȫZ"zɬ*!H"\aF+Ij ch:?Ϧ($dM@h*40J "hyZLAME3.98.2& 4brewtarget-2.0.2/data/options.xml0000644000175000017500000000052312266512167016353 0ustar philipphilip USCustomary USCustomary Fahrenheit en tinseth morey false srm brewtarget-2.0.2/data/default_db.sqlite0000644000175000017500000235400012266512167017456 0ustar philipphilipSQLite format 3@ "v'"-%;6&2#. +($    L&>= < }oaR@4* mashstep#+yeast_in_recipe'hop_in_recipeA7fermentable_in_recipemash recipe%bt_equipment equipment! bt_water bt_yeast~ bt_styleb bt_misc[ bt_hop>)bt_fermentable water yeast stylemisc[hop#fermentable[ YYRstableequipmentequipmentCREATE TABLE equipment( id integer PRIMARY KEY autoincrement, -- BeerXML properties name varchar(256) not null DEFAULT '', boil_size real DEFAULT 0.0, batch_size real DEFAULT 0.0, tun_volume real DEFAULT 0.0, tun_weight real DEFAULT 0.0, tun_specific_heat real DEFAULT 0.0, top_up_water real DEFAULT 0.0, trub_chiller_loss real DEFAULT 0.0, evap_rate real DEFAULT 0.0, boil_time real DEFAULT 0.0, calc_boil_volume boolean DEFAULT 0, lauter_deadspace real DEFAULT 0.0, top_up_kettle real DEFAULT 0.0, hop_utilization real DEFAULT 0.0, notes text DEFAULT '', -- Out BeerXML extensions real_evap_rate real DEFAULT 0.0, boiling_point real DEFAULT 100.0, absorption real DEFAULT 1.085, -- Metadata deleted boolean DEFAULT 0, display boolean DEFAULT 1 )P++Ytablesqlite_sequencesqlite_sequenceCREATE TABLE sqlite_sequence(name,seq)=v|vpjd^XRLF@:4.(" sYq"r%pVDoRKBH@ eBc@S9H0C)9!,+(g fe~d|czbqaj`b_Z^R]M\G[AZ?Y<X2W(V%U!T SRQPO}NzMpLkKbJZIPHLGGFBE9u3t*VCA? c## tablefermentablefermentableCREATE TABLE fermentable( id integer PRIMARY KEY autoincrement, -- BeerXML properties name varchar(256) not null DEFAULT '', ftype varchar(32) DEFAULT 'Grain', amount real DEFAULT 0.0, yield real DEFAULT 0.0, color real DEFAULT 0.0, add_after_boil boolean DEFAULT 0, origin varchar(32) DEFAULT '', supplier varchar(256) DEFAULT '', notes text DEFAULT '', coarse_fine_diff real DEFAULT 0.0, moisture real DEFAULT 0.0, diastatic_power real DEFAULT 0.0, protein real DEFAULT 0.0, max_in_batch real DEFAULT 100.0, recommend_mash boolean DEFAULT 0, is_mashed boolean DEFAULT 0, ibu_gal_per_lb real DEFAULT 0.0, -- Display stuff display_unit integer DEFAULT -1, display_scale integer DEFAULT -1, -- meta data deleted boolean DEFAULT 0, display boolean DEFAULT 1 )jR|Nw@r:m'g{bz]yWxRwMvHuBt<s7r2q/p+o(n#mlkji h |_tablehophopCREATE TABLE hop( id integer PRIMARY KEY autoincrement, -- BeerXML properties name varchar(256) not null DEFAULT '', alpha real DEFAULT 0.0, amount real DEFAULT 0.0, use varchar(32) DEFAULT 'Boil', time real DEFAULT 0.0, notes text DEFAULT '', htype varchar(32) DEFAULT 'Both', form varchar(32) DEFAULT 'Pellet', beta real DEFAULT 0.0, hsi real DEFAULT 0.0, origin varchar(32), substitutes text DEFAULT '', humulene real DEFAULT 0.0, caryophyllene real DEFAULT 0.0, cohumulone real DEFAULT 0.0, myrcene real DEFAULT 0.0, -- Display stuff display_unit integer DEFAULT -1, display_scale integer DEFAULT -1, -- meta data deleted boolean DEFAULT 0, display boolean DEFAULT 1 )ZXUROMHD?;73/,~*}#| _!tablemiscmisc CREATE TABLE misc( id integer PRIMARY KEY autoincrement, -- BeerXML properties name varchar(256) not null DEFAULT '', mtype varchar(32) DEFAULT 'Other', use varchar(32) DEFAULT 'Boil', time real DEFAULT 0.0, amount real DEFAULT 0.0, amount_is_weight boolean DEFAULT 1, use_for text DEFAULT '', notes text DEFAULT '', -- Display stuff. -- Be careful: this will change meaning based on amount_is_weight display_unit integer DEFAULT -1, display_scale integer DEFAULT -1, -- meta data deleted boolean DEFAULT 0, display boolean DEFAULT 1 )UWT~ytoje`[VQLGB=83.)$ zupkfa\WU|KzIy>x;v6u-trpmkjigfec`^]ZXWVR~O{NvMlKfIbG`F_EZDOCL@J?H>E=C;@:=98847.5*3&2$10/.-, +)('%#"!   wwktablestylestyle CREATE TABLE style( id integer PRIMARY KEY autoincrement, -- BeerXML properties name varchar(256) not null DEFAULT '', s_type varchar(64) DEFAULT 'Ale', category varchar(256) DEFAULT '', category_number varchar(16) DEFAULT '', style_letter varchar(1) DEFAULT '', style_guide varchar(1024) DEFAULT '', og_min real DEFAULT 1.0, og_max real DEFAULT 1.100, fg_min real DEFAULT 1.0, fg_max real DEFAULT 1.100, ibu_min real DEFAULT 0.0, ibu_max real DEFAULT 100.0, color_min real DEFAULT 0.0, color_max real DEFAULT 100.0, abv_min real DEFAULT 0.0, abv_max real DEFAULT 100.0, carb_min real DEFAULT 0.0, carb_max real DEFAULT 100.0, notes text DEFAULT '', profile text DEFAULT '', ingredients text DEFAULT '', examples text DEFAULT '', -- meta data deleted boolean DEFAULT 0, display boolean DEFAULT 1 )8[~ytoje`[VQLGB=83.)$MA1  ~{xvtpnj i g e d b_\ZVNJIFCA>;852/,*(%#    XX%)tableyeastyeast CREATE TABLE yeast( id integer PRIMARY KEY autoincrement, -- BeerXML properties name varchar(256) not null DEFAULT '', ytype varchar(32) DEFAULT 'Ale', form varchar(32) DEFAULT 'Liquid', amount real DEFAULT 0.0, amount_is_weight boolean DEFAULT 0, laboratory varchar(32) DEFAULT '', product_id varchar(32) DEFAULT '', min_temperature real DEFAULT 0.0, max_temperature real DEFAULT 32.0, flocculation varchar(32) DEFAULT 'Medium', attenuation real DEFAULT 75.0, notes text DEFAULT '', best_for varchar(256) DEFAULT '', times_cultured integer DEFAULT 0, max_reuse integer DEFAULT 10, add_to_secondary boolean DEFAULT 0, -- Display stuff -- Be careful: this will change meaning based on amount_is_weight display_unit integer DEFAULT -1, display_scale integer DEFAULT -1, -- meta data deleted boolean DEFAULT 0, display boolean DEFAULT 1 ) ^^3mBurton on Trent, UK',7- Use for distinctive pale ales strongly hopped. Very hard water accentuates the hops flavor. Example: Bass Ale  |8d'tablewaterwaterCREATE TABLE water( id integer PRIMARY KEY autoincrement, -- BeerXML properties name varchar(256) not null DEFAULT '', amount real DEFAULT 0.0, calcium real DEFAULT 0.0, bicarbonate real DEFAULT 0.0, sulfate real DEFAULT 0.0, chloride real DEFAULT 0.0, sodium real DEFAULT 0.0, magnesium real DEFAULT 0.0, ph real DEFAULT 7.0, notes text DEFAULT '', -- metadata deleted boolean DEFAULT 0, display boolean DEFAULT 1 )9 %%5tablebt_equipmentbt_equipmentCREATE TABLE bt_equipment( id integer PRIMARY KEY autoincrement, equipment_id integer, foreign key(equipment_id) references equipment(id) )E ))Etablebt_fermentablebt_fermentableCREATE TABLE bt_fermentable( id integer PRIMARY KEY autoincrement, fermentable_id integer, foreign key(fermentable_id) references fermentable(id) )  >|vpjd^XRLF@:4.(" >>==<<;;::99887766554433221100//..--,,++**))((''&&%%$$##""!!             v\ tablebt_hopbt_hopCREATE TABLE bt_hop( id integer PRIMARY KEY autoincrement, hop_id integer, foreign key(hop_id) references hop(id) )  tablebt_miscbt_miscCREATE TABLE bt_misc( id integer PRIMARY KEY autoincrement, misc_id integer, foreign key(misc_id) references misc(id) )! tablebt_stylebt_styleCREATE TABLE bt_style( id integer PRIMARY KEY autoincrement, style_id integer, foreign key(style_id) references style(id) )!tablebt_yeastbt_yeastCREATE TABLE bt_yeast( id integer PRIMARY KEY autoincrement, yeast_id integer, foreign key(yeast_id) references yeast(id) )!tablebt_waterbt_waterCREATE TABLE bt_water( id integer PRIMARY KEY autoincrement, water_id integer, foreign key(water_id) references water(id) ) [|vpjd^XRLF@:4.(" ztnhb\VPJD>82,& [[ZZYYXXWWVVUUTTSSRRQQPPOONNMMLLKKJJIIHHGGFFEEDDCCBBAA@@??>>==<<;;::99887766554433221100//..--,,++**))((''&&%%$$##""!!             b|vpjd^XRLF@:4.(" ztnhb\VPJD>82,& bbaa``__^^]]\\[[ZZYYXXWWVVUUTTSSRRQQPPOONNMMLLKKJJIIHHGGFFEEDDCCBBAA@@??>>==<<;;::99887766554433221100//..--,,++**))((''&&%%$$##""!!             ~|vpjd^XRLF@:4.(" ztnhb\VPJD>82,& ~xrlf`ZTNHB<5.'  ~}|{zyxwvuuttssrrqqppoonnmmllkkjjiihhggffeeddccbbaa``__^^]]\\[[ZZYYXXWWVVUUTTSSRRQQPPOONNMMLLKKJJIIHHGGFFEEDDCCBBAA@@??>>==<<;;::99887766554433221100//..--,,++**))((''&&%%$$##""!!             fZ 44GtablemashmashCREATE TABLE mash( id integer PRIMARY KEY autoincrement, -- BeerXML properties name varchar(256) DEFAULT '', grain_temp real DEFAULT 20.0, notes text DEFAULT '', tun_temp real DEFAULT 20.0, sparge_temp real DEFAULT 74.0, ph real DEFAULT 7.0, tun_weight real DEFAULT 0.0, tun_specific_heat real DEFAULT 0.0, equip_adjust boolean DEFAULT 1, -- Metadata deleted boolean DEFAULT 0, -- Mashes default to be undisplayed until they are named display boolean DEFAULT 0 )tablemashstepmashstepCREATE TABLE mashstep( id integer PRIMARY KEY autoincrement, -- Beer@StablebrewnotebrewnoteCREATE TABLE brewnote( id integer PRIMARY KEY autoincrement, brewDate datetime DEFAULT CURRENT_DATETIME, fermentDate datetime DEFAULT CURRENT_DATETIME, sg real DEFAULT 1.0, volume_into_bk real DEFAULT 0.0, strike_temp real DEFAULT 70.0, mash_final_temp real DEFAULT 67.0, !  XML properties name varchar(256) not null DEFAULT '', mstype varchar(32) DEFAULT 'Infusion', infuse_amount real DEFAULT 0.0, step_temp real DEFAULT 67.0, step_time real DEFAULT 0.0, ramp_time real DEFAULT 0.0, end_temp real DEFAULT 67.0, infuse_temp real DEFAULT 67.0, decoction_amount real DEFAULT 0.0, -- Display stuff -- we have three display fields in this table. I don't like my solution, -- but really don't want to deal with another table and lookup display_unit integer DEFAULT -1, display_scale integer DEFAULT -1, display_temp_unit integer DEFAULT -1, -- Meta data deleted boolean DEFAULT 0, display boolean DEFAULT 1, -- Our step number is unique within our parent mash. mash_id integer, step_number integer DEFAULT 0, foreign key(mash_id) references mash(id) -- This is not necessary since we manage these internally in Brewtarget. -- unique( mash_id, step_number ) )  og real DEFAULT 1.0, post_boil_volume real DEFAULT 0.0, volume_into_fermenter real DEFAULT 0.0, pitch_temp real DEFAULT 20.0, fg real DEFAULT 1.0, eff_into_bk real DEFAULT 70.0, abv real DEFAULT 0.0, predicted_og real DEFAULT 1.0, brewhouse_eff real DEFAULT 70.0, predicted_abv real DEFAULT 0.0, projected_boil_grav real DEFAULT 1.0, projected_strike_temp real DEFAULT 70.0, projected_fin_temp real DEFAULT 67.0, projected_mash_fin_temp real DEFAULT 67.0, projected_vol_into_bk real DEFAULT 0.0, projected_og real DEFAULT 1.0, projected_vol_into_ferm real DEFAULT 0.0, projected_fg real DEFAULT 1.0, projected_eff real DEFAULT 70.0, projected_abv real DEFAULT 0.0, projected_atten real DEFAULT 75.0, projected_points real DEFAULT 0.0, boil_off real DEFAULT 0.0, final_volume real DEFAULT 0.0, notes text DEFAULT '', deleted boolean DEFAULT 0, display boolean DEFAULT 1, recipe_id integer, foreign key(recipe_id) references recipe(id) )  ?v##3tableinstructioninstructionCREATE TABLE instruction( id integer PRIMARY KEY autoincrement, name varchar(256) not null DEFAULT '', directions text DEFAULT '', hasTimer boolean DEFAULT 0, timerValue varchar(16) DEFAULT '00:00:00', completed boolean DEFAULT 0, interval real DEFAULT 0.0, deleted boolean DEFAULT 0, display boolean DEFAULT 1 )6Gtablereciperecipe!CREATE TABLE recipe( id integer PRIMARY KEY autoincrement, -- BeerXML properties name varchar(256) not null DEFAULT '', type varchar(32) DEFAULT 'All Grain', brewer varchar(1024) DEFAULT '', assistant_brewer varchar(1024) DEFAULT 'Brewtarget: free beer software', batch_size real DEFAULT 0.0, boil_size real DEFAULT 0.0, boil_time real DEFAULT 0.0, efficiency real DEFAULT 70.0, og re"Q0%$#"al DEFAULT 1.0, fg real DEFAULT 1.0, fermentation_stages int DEFAULT 1, primary_age real DEFAULT 0.0, primary_temp real DEFAULT 20.0, secondary_age real DEFAULT 0.0, secondary_temp real DEFAULT 20.0, tertiary_age real DEFAULT 0.0, tertiary_temp real DEFAULT 20.0, age real DEFAULT 0.0, age_temp real DEFAULT 20.0, date date DEFAULT CURRENT_DATE, carb_volume real DEFAULT 0.0, forced_carb boolean DEFAULT 0, priming_sugar_name varchar(128) DEFAULT '', carbonationTemp_c real DEFAULT 20.0, priming_sugar_equiv real DEFAULT 1.0, keg_priming_factor real DEFAULT 1.0, notes text DEFAULT '', taste_notes text DEFAULT '', taste_rating real DEFAULT 0.0, -- Metadata deleted boolean DEFAULT 0, display boolean DEFAULT 1, -- Relational members style_id integer, mash_id integer, equipment_id integer, foreign key(style_id) references style(id), foreign key(mash_id) references mash(id), foreign key(equipment_id) references equipment(id) )BDb !77atablefermentable_in_recipefermentable_in_recipe#CREATE TABLE fermentable_in_recipe( id integer primary key autoincrement, fermentable_id integer, recipe_id integer, foreign key(fermentable_id) references fermentable(id), foreign key(recipe_id) references recipe(id) )q''!tablehop_in_recipehop_in_recipe%CREATE TABLE hop_in_recipe( id integer PRIMARY KEY autoincrement, hop_id integer, recipe_id integer, foreign key(hop_id) references hop(id), foreign key(recipe_id) references recipe(id) )w)))tablemisc_in_recipemisc_in_recipe&CREATE TABLE misc_in_recipe( id integer PRIMARY KEY autoincrement, misc_id integer, recipe_id integer, foreign key(misc_id) references misc(id), foreign key(recipe_id) references recipe(id) ) @xph`XPH@80( xph`XPH@80( A@~?}>|={<z;y:x9w8v7u6t5s4r3q2p1o0n/m.l-k,j+i*h)g(f'e&d%c$b#a"`!_ ^]\[Z Y X W V U T S R QPONML K I H GFEDCBA@?   kkkk}++1tablewater_in_recipewater_in_recipe'CREATE TABLE water_in_recipe( id integer PRIMARY KEY autoincrement, water_id integer, recipe_id integer, foreign key(water_id) references water(id), foreign key(recipe_id) references recipe(id) )}++1tableyeast_in_recipeyeast_in_recipe)CREATE TABLE yeast_in_recipe( id integer PRIMARY KEY autoincrement, yeast_id integer, recipe_id integer, foreign key(yeast_id) references yeast(id), foreign key(recipe_id) references recipe(id) )77Ctableinstruction_in_recipeinstruction_in_recipe*CREATE TABLE instruction_in_recipe( id integer PRIMARY KEY autoincrement, instruction_id integer, recipe_id integer, -- instruction_number is the order of the instruction in the recipe. instruction_number integer DEFAULT 0, foreign key(instruction_id) references instruction(id), foreign key(recipe_id) references recipe(id) ) ypg^ULC:1(         ~ }|{zyxwv  9#7!triggerinc_ins_numinstruction_in_recipeCREATE TRIGGER inc_ins_num AFTER INSERT ON instruction_in_recipe BEGIN UPDATE instruction_in_recipe SET instruction_number = (SELECT max(instruction_number) FROM instruction_in_recipe WHERE recipe_id = new.recipe_id) + 1 WHERE rowid = new.rowid; END#7_triggerdec_ins_numinstruction_in_recipeCREATE TRIGGER dec_ins_num AFTER DELETE ON instruction_in_recipe BEGIN UPDATE instruction_in_recipe SET instruction_number = instruction_number - 1 WHERE recipe_id = old.recipe_id AND instruction_id > old.instruction_id; END11Gtableequipment_childrenequipment_children,CREATE TABLE equipment_children( id integer PRIMARY KEY autoincrement, parent_id integer, child_id integer, foreign key(parent_id) references equipment(id), foreign key(child_id) references equipment(id) )   55Stablefermentable_childrenfermentable_children-CREATE TABLE fermentable_children( id integer PRIMARY KEY autoincrement, parent_id integer, child_id integer, foreign key(parent_id) references fermentable(id), foreign key(child_id) references fermentable(id) )p%%#tablehop_childrenhop_children/CREATE TABLE hop_children( id integer PRIMARY KEY autoincrement, parent_id integer, child_id integer, foreign key(parent_id) references hop(id), foreign key(child_id) references hop(id) )u '')tablemisc_childrenmisc_children0CREATE TABLE misc_children( id integer PRIMARY KEY autoincrement, parent_id integer, child_id integer, foreign key(parent_id) references misc(id), foreign key(child_id) references misc(id) )    !++5tablerecipe_childrenrecipe_children1CREATE TABLE recipe_children( id integer PRIMARY KEY autoincrement, parent_id integer, child_id integer, foreign key(parent_id) references recipe(id), foreign key(child_id) references recipe(id) )z"))/tablestyle_childrenstyle_children3CREATE TABLE style_children( id integer PRIMARY KEY autoincrement, parent_id integer, child_id integer, foreign key(parent_id) references style(id), foreign key(child_id) references style(id) )z#))/tablewater_childrenwater_children4CREATE TABLE water_children( id integer PRIMARY KEY autoincrement, parent_id integer, child_id integer, foreign key(parent_id) references water(id), foreign key(child_id) references water(id) )    //,.z$))/tableyeast_childrenyeast_children5CREATE TABLE yeast_children( id integer PRIMARY KEY autoincrement, parent_id integer, child_id integer, foreign key(parent_id) references yeast(id), foreign key(child_id) references yeast(id) )%==tablefermentable_in_inventoryfermentable_in_inventory7CREATE TABLE fermentable_in_inventory( id integer PRIMARY KEY autoincrement, fermentable_id integer, amount real DEFAULT 0.0, foreign key(fermentable_id) references fermentable(id) )O&--Qtablehop_in_inventoryhop_in_inventory8CREATE TABLE hop_in_inventory( id integer PRIMARY KEY autoincrement, hop_id integer, amount real DEFAULT 0.0, foreign key(hop_id) references hop(id) )     ++U'//Ytablemisc_in_inventorymisc_in_inventory9CREATE TABLE misc_in_inventory( id integer PRIMARY KEY autoincrement, misc_id integer, amount real DEFAULT 0.0, foreign key(misc_id) references misc(id) )z(11tableyeast_in_inventoryyeast_in_inventory:CREATE TABLE yeast_in_inventory( id integer PRIMARY KEY autoincrement, yeast_id integer, --amount real DEFAULT 0.0, quanta integer DEFAULT 0, foreign key(yeast_id) references yeast(id) ) 4`4_ 5.5 gal - All Grain - 10 gal Igloo Cooler@91 -@4vZ@BSh:@TN% ?333333?H1bV@+Et| _ 5.5 gal - All Grain - 10 gal Igloo Cooler@91 -@4vZ@BSh:@TN% ?333333?H1bV@+Et|K1_ 5.5 gal - All Grain - 10 gal Igloo Cooler@91 -@4vZ@BSh:@TN% ?333333?H1bV@+Et7[Briess - Black BarleyGrain7falseUSBriessContributes color and rich, sharp flavor characteristic of Stouts and some Porters. Impacts foam color.falsefalseV3Briess - Black MaltGrain7falseUSBriessColor adjustment for all beer styles. Use with other roasted malts for mild flavored dark beers. Has little impact on foam color. falsefalseQWBriess - Black Malted Barley FlourGrain7falseUSBriessColor adjustment for all beer styles. falsefalse :.=eBriess - Blackprinz MaltGrainNfalseUSBriessBitterless black malt that can be used in any recipe calling for debittered black malt. Blackprinz® Malt delivers colors plus more roasted flavor than Midnight Wheat Malt. falsefalseI_Briess - Bonlander Munich MaltGrainN falseUSBriessDP 40. Golden leaning toward orange hues.@ ffffff(@'ffffff2truetrueq;1Briess - Carabrown MaltGrainO7falseUSBriessBegins slightly sweet. Delivers an array of toasted flavors. Smooth and clean with a slightly dry finish. Light brown/orange color contributions. @falsefalseOKkBriess - Caracrystal Wheat MaltGrainN7falseUSBriessSweet, smooth, malty, bready, subtle caramel, dark toast. Exceptionally clean finish. Orange to mahogany color.falsefalse NN=UBriess - Munich Malt 20LGrainJfalseUSBriessDP 20. Deep golden with orange hues.@ 2truetrueM9SBriess - Pale Ale MaltGrainP@ falseUSBriessDP 85. Use as a rich malty 2-Row base malt. Contributes golden color. A fully modified, high extract, low protein malt. Not just a darker 2-Row Base Malt. Its very unique recipe results in the development of a very unique flavor. Sufficient enzymes to suport the inclusion of event the most demanding specialty malts without extending the brewing cycle.?U@'ffffffdtruetrue[5UBriess - Pilsen MaltGrain@T ?333333falseUSBriessDP 140. Lightest colored base malt available. Produces very light colored, clean, crisp wort. Use as 2-Row base malt for all beer styles. Excellent choice for lagers. Allows the full flavor of specialty malts to shine through. @@@&dtruetrue j<vj 9 BrumaltGrain@QfalseGermanyDark German malt developed to add malt flavor of Alt, Marzen and Oktoberfest beers. Helps create authentic maltiness without having to do a decoction mash. Rarely available for homebrewers. truetrueL81 Brown Sugar, LightSugardfalseUS falsefalseK7/ Brown Sugar, DarkSugard2falseUS falsefalse(6I) Brown Malt (British Chocolate)GrainFAfalseUnited KingdomIdeal for British Porters and Brown or Mild Ales and even Stouts. It's a little darker than domestic Chocolate malt yet it has a slightly smoother character in the roast flavor and aroma profiles. truefalseg5M #Briess LME - White Sorghum SyrupExtractKfalseUSGluten freedfalsefalseY4G Briess LME - Traditional DarkExtractNfalseUSdfalsefalse 4L=4XB! Carafa IIIGrainF falseGermany?@'fffffffalsefalseWA Carafa IIGrainFfalseGermany?@'fffffffalsefalseT@ CarafaGrainFQfalseGermany?@'fffffffalsefalseC? CaraamberGrainKfalseUSfalsefalse >1 3Cara-Pils/DextrineGrainHfalseUSDextrins lend body, mouth feel and palate fullness to beers, as well as foam stability. Carapils must be mashed with pale malt, due to its lack of enzymes. Use 5 to 20% for these properties without adding color.falsefalseK=/ Cane (Beet) SugarSugardfalseUSfalsefalseX</ Candi Sugar, DarkSugar@S33333falseBelgiumfalsefalseX;1 Candi Sugar, ClearSugar@S33333falseBelgiumfalsefalseX:1 Candi Sugar, AmberSugar@S33333KfalseBelgiumfalsefalse TGA Caramel/Crystal Malt - 30LGrainKfalseUSfalsefalse$FA +Caramel/Crystal Malt - 20LGrainKfalseUSThis Crystal malt will provide a golden color and a sweet, mild caramel flavor.falsefalse0EC ACaramel/Crystal Malt - 120LGrainHxfalseUSDark Crystal will lend a complex sharp caramel flavor and aroma to beers. Used in smaller quantities this malt will add color and slight sweetness to beers, while heavier concentrations are well suited to strong beers.falsefalse[DA Caramel/Crystal Malt - 10LGrainK falseUSThis Light Crystal malt will lend body and mouth feel with a minimum of color, much like Carapils, but with a light caramel sweetness.falsefalseBC CarafoamGrainHfalseUSfalsefalse SYAL CararedGrainKfalseUSfalsefalse-K+ ;Caramunich MaltGrain@Q8falseBelgiumUse Caramunich for a deeper color, caramelized sugars and contribute a rich malt aroma. falsefalse)JA 5Caramel/Crystal Malt - 80LGrainJPfalseUSThis Crystal malt will lend a well a pronounced caramel flavor, color and sweetness.falsefalsewIA QCaramel/Crystal Malt - 60LGrainJ- 3Wheat Malt, DarkGrainT falseGermanyUse in wheat beers.truetrue_=+ 3Wheat Malt, BelGrainQfalseBelgiumUse in wheat beers.KIApolloBoil @=2T&q!Palisade@Boil@@@B*/oaPride of Ringwood@!Boil!eUWillametteBoil${H!UCentennial@%?JIjBoil Medium with floral and citrus tones.BitteringPelletUSCascade :G_5Cascade?JIjBoilPleasant, floral, spicy, and citrus-like.BothPelletUSAmarillo, Centennial@%@@B@@GF_5Cascade?JIjBoil Pleasant, floral, spicy, and citrus-like.BothPelletUSAmarillo, Centennial@%@@B@@G4E'U]Kent Goldings@?ž7Boil9# Instant Water - MunichWater AgentMashfalse>9# Instant Water - LondonWater AgentMashfalseA?# Instant Water - EdinburghWater AgentMashfalse@=# Instant Water - DortmundWater AgentMashfalse xd-x;*% )Aji AmarilloHerbBoiltrueAji Amarillo (Spanish for “yellow chile”) is a small, yellow-orange chile grown in the Andes, primarily in Peru. They have been described as the single most-important ingredient in Peruvian cuisine. They are quite hot, but have a really nice, bright, fruity flavour.@)/# pH 5.2 StabilizerWater AgentMash?zG{false3() Yeast NutrientOtherPrimaryfalse5'+ Whole CorianderFlavorPrimaryfalse,& WhirlflocFiningBoilfalse3%' Vanilla BeansFlavorPrimaryfalse7$/ Sweet Orange PeelFlavorPrimaryfalse ~g,' Aleppo ChilesHerbBoiltrueAleppo chiles (sometimes known as halaby peppers) are named after the region in northern Syria where they grow. They have a moderate heat level and a wonderful, complex, fruity flavour.+ =AjowanHerbBoiltrueAjowan seed (also known as carom seed) is native to southern India and is used commonly throughout southern Asia and the Middle East. It smells and tastes a lot like very strong thyme, though slightly more peppery and with a lightly bitter aftertaste. Dry roasting Ajowan or frying it in oil mellows the flavour and brings out a caraway taste. NVN/ ]BasilHerbBoiltrueBasil is one of the most commonly used herbs in the world. Basil is mild and has a slight anise flavour.t.% Ancho ChilesHerbBoiltrueWhen a ripe poblano pepper is dried, it becomes an ancho chile. Anchos are quite mild and are used in all kinds of traditional Mexican cooking. Anchos are deep red-brown and have a wonderful, sweet raisiny flavour that provide lots of personality to food without a lot of heat. These are the most commonly used chile in Mexico.'- AllspiceSpiceBoiltrueAllspice is a ground mixture of baking spices. In reality, allspice is the berry of the pimento bush, grown mostly in Jamaica. It does, however get its name from the fact that it tastes somewhat like a peppery blend of cinnamon, clove and nutmeg. Allspice loses its flavour very quickly when ground, its recommend to buy whole berries and grinding them yourself just before using. B.3' Caraway SeedsSpiceBoiltrueCaraway seeds have a very distinctive taste and aroma that makes many people think immediately of bread. Caraway has a pungent scent and a warm, bitter flavour. It is often used to flavour pumpernickel and rye bread, crackers, sauerkraut, and pork dishes.621 Peppercorns, BlackSpiceBoiltrueThey are picked when they are green and unripe, and are sun-dried, a process which ferments the berry and turns it hard and black.1! qBirch BarkHerbBoiltrueBirch bark has wide-ranging culinary uses. In particular, it is an ingredient in many home-made root beer recipes.;0! -Bay LeavesHerbBoiltrueStale leaves have no flavour at all, so if your bay leaves have been sitting in the cupboard for a more than a year it’s time to replace them. bYbm7) Cayenne PepperSpiceBoiltruecayenne pepper is very spicy and adds quick heat to any dish.6+ 7Cascabel ChilesHerbBoiltrueThey are brownish-red and quite hard with a moderate heat and a deep, nutty flavour.  5+ CCardamom, GreenSpiceBoiltrueGreen cardamom is an incredibly versatile spice that enhances both sweet and savoury foods.4+ UCardamom, BlackSpiceBoiltrueIn a way, it's not fair that this spice has to share its name with the sweet and elegant green cardamom. Black cardamom is a totally different spice, and is not nearly as glamourous. Its pods are large and rough, it has an earthy, smoky flavour and it can never be used as a substitute for the more expensive and popular green variety. It does have its place, though. Black cardamom is used to give depth to Indian cooking, and it can be an important ingredient in many curry masalas. H;# ACitric AcidFlavorBoiltrueCitric acid is a mild natural acid found in citrus fruits; it is responsible for the sourness of lemons and limes. In its pure form, citric acid looks pretty much exactly like granulated sugar and acts as a natural preservative and a tart flavouring. It is sometimes used in the making of wine and ice cream, and is widely used in softdrinks, sour candies and other recipes to mimic the flavour of fresh lemon.W: iCinnamonSpiceBoiltrueWoody sweetness and a nice moderate spiciness.u9+ Chipotle ChilesHerbBoiltrueChipotle chiles have a distinctive smoky flavour and a moderate heat.w8% !Chicory RootHerbBoiltrueWhen roasted, chicory roots have a flavour very similar to that of coffee. rQ|r?' ?Cubeb BerriesHerbBoiltrueCubeb comes from a plant in the pepper family and grows almost exclusively in Java and other parts of Indonesia. It has a piney taste when raw, but when cooked it is more warm and pleasant – reminiscent of allspice.R>+ OCoriander SeedsSpiceBoiltrueCoriander seeds are the dried fruits of the plant we know as cilantro. Their flavour is mild and light. Dry roasting coriander enhances its flavour dramatically.*=! Cocoa NibsHerbBoiltrueCocoa nibs are nothing more than broken chunks of cocoa bean. They are crunchy and nutty, with a bittersweet chocolate flavour.< ;ClovesSpiceBoiltrueCloves are the most pungent and oily of all spices. They are the unopened buds of the clove tree and have a hot, sharp, bitter flavour. They will easily overpower other flavours, so they must be used very carefully. D# ]Ginger RootHerbBoiltrueGinger root is used throughout the world in both savoury and sweet dishes. It has a spicy, warm flavour.iC+ }Ginger, CandiedFlavorBoiltrueCandied ginger is a lovely thing, soft, chewy and spicy.>7()= G QEnglish Cider CiderStandard Cider and Perry27BBJCP??333333? =p?(\) This includes the English "West Country" plus ciders inspired by that style. These ciders are made with bittersweet and bitter-sharp apple varieties cultivated specifically for cider making. No overt apple character, but various flavors and esters that suggest apples. May have "smoky (bacon)" character from a combination of apple varieties and MLF. Some "Farmyard nose" may be present but must not dominate; mousiness is a serious fault. The common slight farmyard nose of an English West Country cider is the result of lactic acid bacteria, not a Brettanomyces contamination.Slightly cloudy to brilliant. Medium to deep gold color.No overt apple character, but various flavors and esters that suggest apples. May have "smoky (bacon)" character from a combination of apple varieties and MLF. Some "Farmyard nose" may be present but mucharacter.A moderate to moderately high hop aroma of floral, earthy or fruity nature is typical, although the intensity of hop character is usually lower than American versions. A slightly grassy dry-hop aroma is acceptable, but not required. A moderate caramel-like or toasty malt presence is common. Low to moderate fruitiness, either from esters or hops, can be present. Some versions may have a sulfury note, although this character is not mandatory.Color ranges from golden amber to light copper, but most are pale to medium amber with an orange-ish tint. Should be clear, although unfiltered dry-hopped versions may be a bit hazy. Good head stand with off-white color should persist.Hop flavor is medium to high, with a moderate to assertive hop bitterness. The hop flavor should be similar to the aroma (floral, earthy, fruity, and/or slightly grassy). Malt flavor should be medium-low to medium-high, but should be noticeable, pleasant, and support the hop aspect. The malt should show an English character and be somewhat bready, biscuit-like, toasty, toffee-like and/or caramelly. Despite the substantial hop character typical of these beers, sufficient malt flavor, body and complexity to support the hops will provide the best balance. Very low levels of diacetyl are acceptable, and fruitiness from the fermentation or hops adds to the overall complexity. Finish is medium to dry, and bitterness may linger into the aftertaste but should not be harsh. If high sulfate water is used, a distinctively minerally, dry finish, some sulfur flavor, and a lingering bitterness are usually present. Some clean alcohol flavor can be noted in stronger versions. Oak is inappropriate in this style.Smooth, medium-light to medium-bodied mouthfeel without hop-derived astringency, although moderate to medium-high carbonation can combine to render an overall dry sensation in the presence of malt sweetness. Some smooth alcohol warming can and should be sensed in stronger (but not all) versions.A hoppy, moderately strong pale ale that features characteristics consistent with the use of English malt, hops and yeast. Has less hop character and a more pronounced malt flavor than American versions. Brewed to survive the voyage from England to India. The temperature extremes and rolling of the seas resulted in a highly attenuated beer upon arrival. English pale ales were derived from India Pale Ales.Pale ale malt (well-modified and suitable for single-temperature infusion mashing); English hops; English yeast that can give a fruity or sulfury/minerally profile. Refined sugar may be used in some versions. High sulfate and low carbonate water is essential to achieving a pleasant hop bitterness in authentic Burton versions, although not all examples will exhibit the strong sulfate character.Meantime India Pale Ale, Freeminer Trafalgar IPA, Fuller's IPA, Ridgeway Bad Elf, Summit India Pale Ale, Samuel Smith's India Ale, Hampshire Pride of Romsey IPA, Burton Bridge Empire IPA,Middle Ages ImPailed Ale, Goose Island IPA, Brooklyn East India Pale Ale *)#)-?%English IPAAleIndia Pale Ale14ABJCP??333333?(\)?I^5?}(<@A pale ale brewed to an increased gravity and hop rate. Modern versions of English IPAs generally pale in comparison (pun intended) to their ancestors. The term "IPA" is loosely applied in commercial English beers today, and has been (incorrectly) used in beers below 4% ABV. Generally will have more finish hops and less fruitiness and/or caramel than English pale ales and bitters. Fresher versions will obviously have a more significant finishing hop hould not judge all beers in this style as if they were Fuller's ESB clones. Some modern English variants are brewed exclusively with pale malt and are known as golden or summer bitters. Most bottled or kegged versions of UK-produced bitters are higher-alcohol versions of their cask (draught) products produced specifically for export. The IBU levels are often not adjusted, so the versions available in the US often do not directly correspond to their style subcategories in Britain. English pale ales are generally considered a premium, export-strength pale, bitter beer that roughly approximates a strong bitter, although reformulated for bottling (including containing higher carbonation).Hop aroma moderately-high to moderately-low, and can use any variety of hops although UK hops are most traditional. Medium to medium-high malt aroma, often with a low to moderately strong caramel component (although this character will be more subtle in paler versions). Medium-low to medium-high fruity esters. Generally no d iacetyl, although very low levels are allowed. May have light, secondary notes of sulfur and/or alcohol in some examples (optional).Golden to deep copper. Good to brilliant clarity. Low to moderate white to off-white head. A low head is acceptable when carbonation is also low.Medium-high to medium bitterness with supporting malt flavors evident. Normally has a moderately low to somewhat strong caramelly malt sweetness. Hop flavor moderate to moderately high (any variety, although earthy, resiny, and/or floral UK hops are most traditional). Hop bitterness and flavor should be noticeable, but should not totally dominate malt flavors. May have low levels of secondary malt flavors (e.g., nutty, biscuity) adding complexity. Moderately-low to high fruity esters. Optionally may have low amounts of alcohol, and up to a moderate minerally/sulfury flavor. Medium-dry to dry finish (particularly if sulfate water is used). Generally no diacetyl, although very low levels are allowed.Medium-light to medium-full body. L ow to moderate carbonation, although bottled commercial versions will be higher. Stronger versions may have a slight alcohol warmth but this character should not be too high.An average-strength to moderately-strong English ale. The balance may be fairly even between malt and hops to somewhat bitter. Drinkability is a critical component of the style; emphasis is still on the bittering hop addition as opposed to the aggressive middle and late hopping seen in American ales. A rather broad style that allows for considerable interpretation by the brewer. Strong bitters can be seen as a higher-gravity version of best bitters (although not necessarily "more premium" since best bitters are traditionally the brewer's finest product). Since beer is sold by strength in the UK, these beers often have some alcohol flavor (perhaps to let the consumer know they are getting their due). In England today, "ESB" is a brand unique to Fullers; in America, the name has been co-opted to describe a malty, bitter, reddish, standard-strength (for the US) English-type ale. Hopping can be English or a combination of English and American.Pale ale, amber, and/or crystal malts, may use a touch of black malt for color adjustment. May use sugar adjuncts, corn or wheat. English hops most typical, although American and European varieties are becoming more common (particularly in the paler examples). Characterful English yeast. "Burton" versions use medium to high sulfate water.Examples: Fullers ESB, Adnams Broadside, Shepherd Neame Bishop's Finger, Young's Ram Rod, Samuel Smith's Old Brewery Pale Ale, Bass Ale, Whitbread Pale Ale, Shepherd Neame Spitfire, Marston's Pedigree, Black Sheep Ale, Vintage Henley, Mordue Workie Ticket, Morland Old Speckled Hen, Greene King Abbot Ale, Bateman's XXXB, Gale's Hordean Special Bitter (HSB), Ushers 1824 Particular Ale, Hopback Summer Lightning, Great Lakes Moondog Ale, Shipyard Old Thumper, Alaskan ESB, Geary's Pale Ale, Cooperstown Old Slugger, Anderson Valley Boont ESB, Avery 14'er ESB, Redhook ESB 9 9@+E;9CFlanders Brown Ale/Oud BruinAleSour Ale17CBJCP? =p?/v? ěT?1&xLong aging and blending of young and aged beer may occur, adding smoothness and complexity and balancing any harsh, sour character. A deeper malt character distinguishes these beers from Flanders red ales. This style was designed to lay down so examples with a moderate aged character are considered superior to younger examples. As in fruit la ]*i-_5Extra Special/Strong Bitter (English Pale Ale)AleEnglish Pale Ale8CBJCP?ěS?\(?(\)?A7Kƨ2@ffffff@More evident malt and hop flavors than in a special or best bitter. Stronger versions may overlap somewhat with old ales, although strong bitters will tend to be paler and more bitter. Fuller's ESB is a unique beer with a very large, complex malt profile not found in other examples; most strong bitters are fruitier and hoppier. Judges s mbics, Oud Bruin can be used as a base for fruit-flavored beers such as kriek (cherries) or frambozen (raspberries), though these should be entered in the classic-style fruit beer category. The Oud Bruin is less acetic and maltier than a Flanders Red, and the fruity flavors are more malt-oriented.Complex combination of fruity esters and rich malt character. Esters commonly reminiscent of raisins, plums, figs, dates, black cherries or prunes. A malt character of caramel, toffee, orange, treacle or chocolate is also common. Spicy phenols can be present in low amounts for complexity. A sherry-like character may be present and generally denotes an aged example. A low sour aroma may be present, and can modestly increase with age but should not grow to a noticeable acetic/vinegary character. Hop aroma absent. Diacetyl is perceived only in very minor quantities, if at all, as a complementary aroma.Dark reddish-brown to brown in color. Good clarity. Average to good head retention. Ivory to light tan head color.Malty with fruity complexity and some caramelization character. Fruitiness commonly includes dark fruits such as raisins, plums, figs, dates, black cherries or prunes. A malt character of caramel, toffee, orange, treacle or chocolate is also common. Spicy phenols can be present in low amounts for complexity. A slight sourness often becomes more pronounced in well-aged examples, along with some sherry-like character, producing a "sweet-and-sour" profile. The sourness should not grow to a notable acetic/vinegary character. Hop flavor absent. Restrained hop bitterness. Low oxidation is appropriate as a point of complexity. Diacetyl is perceived only in very minor quantities, if at all, as a complementary flavor.Medium to medium-full body. Low to moderate carbonation. No astringency with a sweet and tart finish.A malty, fruity, aged, somewhat sour Belgian-style brown ale. An "old ale" tradition, indigenous to East Flanders, typified by the products of the Liefman brewery (now owned by Riva), which has roots back to the 1600s. Historically brewed as a "provision beer" that would develop some sourness as it aged. These beers were typically more sour than current commercial examples. While Flanders red beers are aged in oak, the brown beers are warm aged in stainless steel.A base of Pils malt with judicious amounts of dark cara malts and a tiny bit of black or roast malt. Often includes maize. Low alpha acid continental hops are typical (avoid high alpha or distinctive American hops). Saccharomyces and Lactobacillus (and acetobacter) contribute to the fermentation and eventual flavor. Lactobacillus reacts poorly to elevated levels of alcohol. A sour mash or acidulated malt may also be used to develop the sour character without introducing Lactobacillus. Water high in carbonates is typical of its home region and will buffer the acidity of darker malts and the lactic sourness. Magnesium in the water accentuates the sourness.Liefman's Goudenband, Liefman's Odnar, Liefman's Oud Bruin, Ichtegem Old Brown, Riva Vondelas the Burgundy of Belgium, it is more wine-like than any other beer style. The reddish color is a product of the malt although an extended, less-than-rolling portion of the boil may help add an attractive Burgundy hue. Aging will also darken the beer. The Flanders red is more acetic and the fruity flavors more reminiscent of a red wine than an Oud Bruin. Can have an apparent attenuation of up to 98%.Complex fruitiness with complementary malt. Fruitiness is high, and reminiscent of black cherries, oranges, plums or red currants. There is often some vanilla and/or chocolate notes. Spicy phenols can be present in low amounts for complexity. The sour, acidic aroma ranges from complementary to intense. No hop aroma. Diacetyl is perceived only in very minor quantities, if at all, as a complementary aroma.Deep red, burgundy to reddish-brown in color. Good clarity. White to very pale tan head. Average to good head retention.Intense fruitiness commonly includes plum, orange, black cherry or red currant flavors. A mild vanilla and/or chocolate character is often present. Spicy phenols can be present in low amounts for complexity. Sour, acidic character ranges from complementary to intense. Malty flavors range from complementary to prominent. Generally as the sour character increases, the sweet character blends to more of a background flavor (and vice versa). No hop flavor. Restrained hop bitterness. An acidic, tannic bitterness is often present in low to moderate amounts, and adds an aged red wine-like character with a long, dry finish. Diacetyl is perceived only in very minor quantities, if at all, as a complementary flavor.Medium bodied. Low to medium carbonation. Low to medium astringency, like a well-aged red wine, often with a prickly acidity. Deceivingly light and crisp on the palate although a somewhat sweet finish is not uncommon.A complex, sour, red wine-like Belgian-style ale. The indigenous beer of West Flanders, typified by the products of the Rodenbach brewery, established in 1820 in West Flanders but reflective of earlier brewing traditions. The beer is aged for up to two years, often in huge oaken barrels which contain the resident bacteria necessary to sour the beer. It was once common in Belgium and England to blend old beer with young to balance the sourness and acidity found in aged beer. While blending of batches for consistency is now common among larger breweries, this type of blending is a fading art.A base of Vienna and/or Munich malts, light to medium cara-malts, and a small amount of Special B are used with up to 20% maize. Low alpha acid continental hops are commonly used (avoid high alpha or distinctive American hops). Saccharomyces, Lactobacillus and Brettanomyces (and acetobacter) contribute to the fermentation and eventual flavor.Rodenbach Klassiek, Rodenbach Grand Cru, Bellegems Bruin, Duchesse de Bourgogne, New Belgium La Folie, Petrus Oud Bruin, Southampton Flanders Red Ale, Verhaege Vichtenaar, Monk’s Cafe Flanders Red Ale, New Glarus Enigma, Panil Barriquée, Mestreechs Aajt ",-%= Flanders Red AleAleSour Ale17BBJCP?ěS?x?1&x?1&x  @ffffff@Long aging and blending of young and well-aged beer often occurs, adding to the smoothness and complexity, though the aged product is sometimes released as a connoisseur's beer. Known to none. Diacetyl low to none.Very deep brown to black in color. Clarity usually obscured by deep color (if not opaque, should be clear). Large tan to brown head with good retention.Tropical versions can be quite sweet without much roast or bitterness, while export versions can be moderately dry (reflecting impression of a scaled-up version of either sweet stout or dry stout). Roasted grain and malt character can be moderate to high, although sharpness of dry stout will not be present in any example. Tropical versions can have high fruity esters, smooth dark grain flavors, and restrained bitterness; they often have a sweet, rum-like quality. Export versions tend to have lower esters, more assertive roast flavors, and higher bitterness. The roasted flavors of either version may taste of coffee, chocolate, or lightly burnt grain. Little to no hop flavor. Very low to no diacetyl.Medium-full to full body, often with a smooth, creamy character. May give a warming (but never hot) impression from alcohol presence. Moderate to moderately-high carbonation.A very dark, moderately strong, roasty ale. Tropical varieties can be quite sweet, while export versions can be drier and fairly robust. Originally high-gravity stouts brewed for tropical markets (and hence, sometimes known as "Tropical Stouts"). Some bottled export (i.e., stronger) versions of dry or sweet stout also fit this profile. Guinness Foreign Extra Stout has been made since the early 1800s.Similar to dry or sweet stout, but with more gravity. Pale and dark roasted malts and grains. Hops mostly for bitterness. May use adjuncts and sugar to boost gravity. Ale yeast (although some tropical stouts are brewed with lager yeast).Lion Stout (Sri Lanka), Dragon Stout (Jamaica), ABC Stout (Singapore), Royal Extra "The Lion Stout" (Trinidad), Jamaica Stout (Jamaica), Export-Type: Freeminer Deep Shaft Stout, Guinness Foreign Extra Stout (bottled, not sold in the US), Ridgeway of Oxfordshire Foreign Extra Stout, Coopers Best Extra Stout, Elysian Dragonstooth Stout R-3eg+Foreign Extra StoutAleStout13DBJCP?`A7L?333333?(\)?I^5?}F(@A rather broad class of stouts, these can be either fruity and sweet, dry and bitter, or even tinged with Brettanomyces (e.g., Guinness Foreign Extra Stout; this type of beer is best entered as a Specialty Beer - Category 23). Think of the style as either a scaled-up dry and/or sweet stout, or a scaled-down Imperial stout without the late hops. Highly bitter and hoppy versions are best entered as American-style Stouts (13E).Roasted grain aromas moderate to high, and can have coffee, chocolate and/or lightly burnt notes. Fruitiness medium to high. Some versions may have a sweet aroma, or molasses, licorice, dried fruit, and/or vinous aromatics. Stronger versions can have the aroma of alcohol (never sharp, hot, or solventy). Hop aroma low te head.Crisp and bitter, with a dry to medium-dry finish. Moderate to moderately-low yet well attenuated maltiness, although some grainy flavors and slight Pils malt sweetness are acceptable. Hop bitterness dominates taste and continues through the finish and lingers into the aftertaste. Hop flavor can range from low to high but should only be derived from German noble hops. Clean, no fruity esters, no diacetyl.Medium-light body, medium to high carbonation.Crisp, clean, refreshing beer that prominently features noble German hop bitterness accentuated by sulfates in the water. A copy of Bohemian Pilsener adapted to brewing conditions in Germany.Pilsner malt, German hop varieties (especially noble varieties such as Hallertauer, Tettnanger and Spalt for taste and aroma), medium sulfate water, German lager yeast.Victory Prima Pils, Bitburger, Warsteiner, Trumer Pils, Old Dominion Tupper’s Hop Pocket Pils, König Pilsener, Jever Pils, Left Hand Polestar Pilsner, Holsten Pils, Spaten Pils, Brooklyn Pilsner {{z.%=S= French CiderCiderStandard Cider and Perry27CBJCP?? =p ?(\)?QREntrants MUST specify carbonation level (petillant or full). Entrants MUST specify sweetness (medium, sweet). Entrants MAY specify variety of apple for a single varietal cider; if specified, varietal character will be expected. This includes Normandy styles plus ciders inspired by those styles, including ciders made by various techniques to achieve the French flavor profile. These ciders are made with bittersweet and bitter-sharp apple varieties cultivated specifically for cider making. Traditional French procedure BEER STYLE AS WELL AS THE TYPE OF FRUIT(S) USED. IF THIS BEER IS BASED ON A CLASSIC STYLE (E.G., BLONDE ALE) THEN THE SPECIFIC STYLE MUST BE SPECIFIED. CLASSIC STYLES DO NOT HAVE TO BE CITED (E.G., "PORTER" OR "WHEAT ALE" IS ACCEPTABLE). THE TYPE OF FRUIT(S) MUST ALWAYS BE SPECIFIED. If the base beer is a classic style, the original style should come through in aroma and flavor. Note that fruit-based lambics should be entered in the Fruit Lambic category (17F), while other fruit-based Belgian specialties should be entered in the Belgian Specialty Ale category (16E). Aged fruit may sometimes have flavor and aroma characteristics similar to Sauternes, Sherry or Tokaj, but a beer with a quality such as this should make a special claim (e.g., amontillado, fino, botrytis). Beer with chile peppers should be entered in the Spice/Herb/Vegetable Beer category (21A).The distinctive aromatics associated with the particular fruit(s) should be noticeable in the aroma; however, note that some fruit (e.g., raspberries, cherries) have stronger aromas and are more distinctive than others (e.g., blueberries, strawberries) allow for a range of fruit character and intensity from subtle to aggressive. The fruit character should be pleasant and supportive, not artificial and inappropriately overpowering (considering the character of the fruit) nor should it have defects such as oxidation. As with all specialty beers, a proper fruit beer should be a harmonious balance of the featured fruit(s) with the underlying beer style. Aroma hops, yeast by-products and malt components of the underlying beer may not be as noticeable when fruit are present. These components (especially hops) may also be intentionally subdued to allow the fruit character to come through in the final presentation. If the base beer is an ale then a non-specific fruitiness and/or other fermentation by-products such as diacetyl may be present as appropriate for warmer fermentations. If the base beer is a lager, then overall less fermentation byproducts would be appropriate. Some malt aroma may be desirable, especially in dark styles. Hop aroma may be absent or balanced with fruit, depending on the style. The fruit should add an extra complexity to the beer, but not be so prominent as to unbalance the resulting presentation. Some tartness may be present if naturally occurring in the particular fruit(s), but should not be inappropriately intense.Appearance should be appropriate to the base beer being presented and will vary depending on the base beer. For lighter-colored beers with fruits that exhibit distinctive colors, the color should be noticeable. Note that the color of fruit in beer is often lighter than the flesh of the fruit itself and may take on slightly different shades. Fruit beers may have some haze or be clear, although haze is a generally undesirable. The head may take on some of the color of the fruit.As with aroma, the distinctive flavor character associated with the particular fruit(s) should be noticeable, and may range in intensity from subtle to aggressive. The balance of fruit with the underlying beer is vital, and the fruit character should not be so artificial and/or inappropriately overpowering as to suggest a fruit juice drink. Hop bitterness, flavor, malt flavors, alcohol content, and fermentation by-products, such as esters or diacetyl, should be appropriate to the base beer and be harmonious and balanced with the distinctive fruit flavors present. Note that these components (especially hops) may be intentionally subdued to allow the fruit character to come through in the final presentation. Some tartness may be present if naturally occurring in the particular fruit(s), but should not be inappropriately intense. Remember that fruit generally add flavor not sweetness to fruit beers. The sugar found in fruit is usually fully fermented and contributes to lighter flavors and a drier finish than might be expected for the declared base style. However, residual sweetness is not necessarily a negative characteristic unless it has a raw, unfermented quality.Mouthfeel may vary depending on the base beer selected and as appropriate to that base beer. Body and carbonation levels should be appropriate to the base beer style being presented. Fruit generally adds fermentables that tend to thin out the beer; the resulting beer may seem lighter than expected for the declared base style.A harmonious marriage of fruit and beer. The key attributes of the underlying style will be different with the addition of fruit; do not expect the base beer to taste the same as the unadulterated version. Judge the beer based on the pleasantness and balance of the resulting combination. New Glarus Belgian Red and Raspberry Tart, Bell’s Cherry Stout, Dogfish Head Aprihop, Great Divide Wild Raspberry Ale, Founders Rübæus, Ebulum Elderberry Black Ale, Stiegl Radler, Weyerbacher Raspberry Imperial Stout, Abita Purple Haze, Melbourne Apricot Beer and Strawberry Beer, Saxer Lemon Lager, Magic Hat #9, Grozet Gooseberry and Wheat Ale, Pyramid Apricot Ale, Dogfish Head Fort ]]/!! i Fruit BeerAleFruit Beer20BJCP?333333?333333dddOverall balance is the key to presenting a well-made fruit beer. The fruit should complement the original style and not overwhelm it. The brewer should recognize that some combinations of base beer styles and fruits work well together while others do not make for harmonious combinations. THE ENTRANT MUST SPECIFY THE UNDERLYINGmay range from none to a light, spicy or floral hop presence. Low levels of yeast character (green apples, DMS, or fruitiness) are optional but acceptable. No diacetyl.Very pale straw to pale yellow color. White, frothy head seldom persists. Very clear.Crisp and dry flavor with some low levels of grainy or corn-like sweetness. Hop flavor ranges from none to low levels. Hop bitterness at low level. Balance may vary from slightly malty to slightly bitter, but is relatively close to even. High levels of carbonation may provide a slight acidity or dry "sting." No diacetyl. No fruitiness.Very light body from use of a high percentage of adjuncts such as rice or corn. Very highly carbonated with slight carbonic bite on the tongue. May seem watery.Very refreshing and thirst quenching. Two- or six-row barley with high percentage (up to 40%) of rice or corn as adjuncts.Bitburger Light, Sam Adams Light, Heineken Premium Light, Miller Lite, Bud Light, Coors Light, Baltika #1 Light, Old Milwaukee Light, Amstel Light V0#? [ }Fruit CiderCiderSpecialty Cider and Perry28BBJCP?Q?Q? =p?(\) Entrants MUST specify carbonation level (still, petillant, or sparkling). Entrants MUST specify sweetness (dry or medium). Entrants MUST specify what fruit(s) and/or fruit juice(s) were added. This is a cider with other fruits or fruit-juices added - for example, berry. Note that a "cider" made from a combination of apple and pear juice would be entered in this category since it is neither cider nor perry. The cider character must be present and must fit with the other fruits. It !ans or Belle Vue clones) would do better entered in the 16E Belgian Specialty category since this category does not describe beers with that character. IBUs are approximate since aged hops are used; Belgians use hops for anti-bacterial properties more than bittering in lambics.The fruit which has been added to the beer should be the dominant aroma. A low to moderately sour/acidic character blends with aromas described as barnyard, earthy, goaty, hay, horsey, and horse blanket (and thus should be recognizable as a lambic). The fruit aroma commonly blends with the other aromas. An enteric, smoky, cigar-like, or cheesy aroma is unfavorable. No hop aroma. No diacetyl.The variety of fruit generally determines the color though lighter-colored fruit may have little effect on the color. The color intensity may fade with age. Clarity is often good, although some fruit will not drop bright. A thick rocky, mousse-like head, sometimes a shade of fruit, is generally long-lasting. Always effervescent.The fruit added to" the beer should be evident. A low to moderate sour and more commonly (sometimes high) acidic character is present. The classic barnyard characteristics may be low to high. When young, the beer will present its full fruity taste. As it ages, the lambic taste will become dominant at the expense of the fruit character - thus fruit lambics are not intended for long aging. A low, complementary sweetness may be present, but higher levels are uncharacteristic. A mild vanilla and/or oak flavor is occasionally noticeable. An enteric, smoky or cigar-like character is undesirable. Hop bitterness is generally absent. No hop flavor. No diacetyl.Light to medium-light body. In spite of the low finishing gravity, the many mouth-filling flavors prevent the beer from tasting like water. Has a low to high tart, puckering quality without being sharply astringent. Some versions have a low warming character. Highly carbonated.Complex, fruity, pleasantly sour/acidic, balanced, pale, wheat-based ale fermented by a variety of Be#lgian microbiota. A lambic with fruit, not just a fruit beer. Spontaneously fermented sour ales from the area in and around Brussels (the Senne Valley) stem from a farmhouse brewing tradition several centuries old. Their numbers are constantly dwindling and some are untraditionally sweetening their products (post-fermentation) with sugar or sweet fruit to make them more palatable to a wider audience. Fruit was traditionally added to lambic or gueuze, either by the blender or publican, to increase the variety of beers available in local cafes.Unmalted wheat (30-40%), Pilsner malt and aged (surannes) hops (3 years) are used. The aged hops are used more for preservative effects than bitterness, and makes actual bitterness levels difficult to estimate. Traditional products use 10-30% fruit (25%, if cherry). Fruits traditionally used include tart cherries (with pits), raspberries or Muscat grapes. More recent examples include peaches, apricots or merlot grapes. Tart or acidic fruit is traditionally used as its purpose is not to sweeten the beer but to add a new dimension. Traditionally these beers are spontaneously fermented with naturally-occurring yeast and bacteria in predominately oaken barrels. Home-brewed and craft-brewed versions are more typically made with pure cultures of yeast commonly including Saccharomyces, Brettanomyces, Pediococcus and Lactobacillus in an attempt to recreate the effects of the dominant microbiota of Brussels and the surrounding countryside of the Senne River valley. Cultures taken from bottles are sometimes used but there is no simple way of knowing what organisms are still viable.Boon Framboise Marriage Parfait, Boon Kriek Mariage Parfait, Boon Oude Kriek, Cantillon Fou' Foune (apricot), Cantillon Kriek, Cantillon Lou Pepe Kriek, Cantillon Lou Pepe Framboise, Cantillon Rose de Gambrinus, Cantillon St. Lamvinus (merlot grape), Cantillon Vigneronne (Muscat grape), De Cam Oude Kriek, Drie Fonteinen Kriek, Girardin Kriek, Hanssens Oude Kriek, Oud Beersel Kriek, Mort Subite Kriek 4451%  1Fruit LambicAleSour Ale17FBJCP? =p?\(?(\)Fruit-based lambics are often produced like gueuze by mixing one, two, and three-year old lambic. "Young" lambic contains fermentable sugars while old lambic has the characteristic "wild" taste of the Senne River valley. Fruit is commonly added halfway through aging and the yeast and bacteria will ferment all sugars from the fruit. Fruit may also be added to unblended lambic. The most traditional styles of fruit lambics include kriek (cherries), framboise (raspberries) and druivenlambik (muscat grapes). ENTRANT MUST SPECIFY THE TYPE OF FRUIT(S) USED IN MAKING THE LAMBIC. Any overly sweet lambics (e.g., Lindem 5ss is due to Munich and other specialty malts, not yeast-derived esters developed during fermentation.Moderate to strong malt aroma, often with a lightly toasted quality and low melanoidins. Moderately low to no noble hop aroma, often with a spicy quality. Clean. No diacetyl. Fruity esters should be low to none. Some alcohol may be noticeable. May have a light DMS aroma from Pils malt.Deep gold to light amber in color. Lagering should provide good clarity. Large, creamy, persistent, white head.The rich flavor of continental European pale malts dominates (Pils malt flavor with some toasty notes and/or melanoidins). Little to no caramelization. May have a light DMS flavor from Pils malt. Moderate to no noble hop flavor. May have a low spicy or peppery quality from hops and/or alcohol. Moderate hop bitterness (more so in the balance than in other bocks). Clean, with no fruity esters or diacetyl. Well-attenuated, not cloying, with a moderately dry finish that may taste of both malt and hops.Medium-bodied. Mod W27o]German Pilsner (Pils)LagerPilsner2ABJCP?9XbN?? ěT?5?|h-@@Drier and crisper than a Bohemian Pilsener with a bitterness that tends to linger more in the aftertaste due to higher attenuation and higher-sulfate water. Lighter in body and color, and with higher carbonation than a Bohemian Pilsener. Modern examples of German Pilsners tend to become paler in color, drier in finish, and more bitter as you move from South to North in Germany.Typically features a light grainy Pils malt character (sometimes Graham cracker-like) and distinctive flowery or spicy noble hops. Clean, no fruity esters, no diacetyl. May have an initial sulfury aroma (from water and/or yeast) and a low background note of DMS (from Pils malt).Straw to light gold, brilliant to very clear, with a creamy, long-lasting whi(ring in lambics. Products marked "oude" or "ville" are considered most traditional.A moderately sour/acidic aroma blends with aromas described as barnyard, earthy, goaty, hay, horsey, and horse blanket. While some may be more dominantly sour/acidic, balance is the key and denotes a better gueuze. Commonly fruity with aromas of citrus fruits (often grapefruit), apples or other light fruits, rhubarb, or honey. A very mild oak aroma is considered favorable. An enteric, smoky, cigar-like, or cheesy aroma is unfavorable. No hop aroma. No diacetyl.Golden in color. Clarity is excellent (unless the bottle was shaken). A thick rocky, mousse-like, white head seems to last forever. Always effervescent.A moderately sour/acidic character is classically in balance with the malt, wheat and barnyard characteristics. A low, complementary sweetness may be present but higher levels are uncharacteristic. While some may be more dominantly sour, balance is the key and denotes a better gueuze. A varied fruit flavor is common, a)nd can have a honey-like character. A mild vanilla and/or oak flavor is occasionally noticeable. An enteric, smoky or cigar-like character is undesirable. Hop bitterness is generally absent but a very low hop bitterness may occasionally be perceived. No hop flavor. No diacetyl.Light to medium-light body. In spite of the low finishing gravity, the many mouth-filling flavors prevent the beer from tasting like water. Has a low to high tart, puckering quality without being sharply astringent. Some versions have a low warming character. Highly carbonated.Complex, pleasantly sour/acidic, balanced, pale, wheat-based ale fermented by a variety of Belgian microbiota. Spontaneously fermented sour ales from the area in and around Brussels (the Senne Valley) stem from a farmhouse brewing tradition several centuries old. Their numbers are constantly dwindling and some are untraditionally sweetening their products (post-fermentation) to make them more palatable to a wider audience.Unmalted wheat (30-40%), Pilsner malt and aged (surannes) hops (3 years) are used. The aged hops are used more for preservative effects than bitterness, and makes actual bitterness levels difficult to estimate. Traditionally these beers are spontaneously fermented with naturally-occurring yeast and bacteria in predominately oaken barrels. Home-brewed and craft-brewed versions are more typically made with pure cultures of yeast commonly including Saccharomyces, Brettanomyces, Pediococcus and Lactobacillus in an attempt to recreate the effects of the dominant microbiota of Brussels and the surrounding countryside of the Senne River valley. Cultures taken from bottles are sometimes used but there is no simple way of knowing what organisms are still viable.Boon Oude Gueuze, Boon Oude Gueuze Mariage Parfait, De Cam Gueuze, De Cam/Drei Fonteinen Millennium Gueuze, Drie Fonteinen Oud Gueuze, Cantillon Gueuze, Hanssens Oude Gueuze, Lindemans Gueuze Cuvée René, Girardin Gueuze (Black Label), Mort Subite (Unfiltered) Gueuze, Oud Beersel Oude Gueuze H3- WGueuzeAleSour Ale17EBJCP? =p?\(?tjGueuze is traditionally produced by mixing one, two, and three-year old lambic. "Young" lambic contains fermentable sugars while old lambic has the characteristic "wild" taste of the Senne River valley. A good gueuze is not the most pungent, but possesses a full and tantalizing bouquet, a sharp aroma, and a soft, velvety flavor. Lambic is served uncarbonated, while gueuze is served effervescent. IBUs are approximate since aged hops are used; Belgians use hops for anti-bacterial properties more than bitte',ntense hop aroma that can be derived from American, English and/or noble varieties (although a citrusy hop character is almost always present). Most versions are dry hopped and can have an additional resinous or grassy aroma, although this is not absolutely required. Some clean malty sweetness may be found in the background. Fruitiness, either from esters or hops, may also be detected in some versions, although a neutral fermentation character is typical. Some alcohol can usually be noted, but it should not have a "hot" character.Color ranges from golden amber to medium reddish copper; some versions can have an orange-ish tint. Should be clear, although unfiltered dry-hopped versions may be a bit hazy. Good head stand with off-white color should persist.Hop flavor is strong and complex, and can reflect the use of American, English and/or noble hop varieties. High to absurdly high hop bitterness, although the malt backbone will generally support the strong hop character and provide the best balance. Malt f-lavor should be low to medium, and is generally clean and malty although some caramel or toasty flavors are acceptable at low levels. No diacetyl. Low fruitiness is acceptable but not required. A long, lingering bitterness is usually present in the aftertaste but should not be harsh. Medium-dry to dry finish. A clean, smooth alcohol flavor is usually present. Oak is inappropriate in this style. May be slightly sulfury, but most examples do not exhibit this character.Smooth, medium-light to medium body. No harsh hop-derived astringency, although moderate to medium-high carbonation can combine to render an overall dry sensation in the presence of malt sweetness. Smooth alcohol warming.An intensely hoppy, very strong pale ale without the big maltiness and/or deeper malt flavors of an American barleywine. Strongly hopped, but clean, lacking harshness, and a tribute to historical IPAs. Drinkability is an important characteristic; this should not be a heavy, sipping beer. It should also not have much residual sweetness or a heavy character grain profile. A recent American innovation reflecting the trend of American craft brewers "pushing the envelope" to satisfy the need of hop aficionados for increasingly intense products. The adjective "Imperial" is arbitrary and simply implies a stronger version of an IPA; "double," "extra," "extreme," or any other variety of adjectives would be equally valid.Pale ale malt (well-modified and suitable for single-temperature infusion mashing); can use a complex variety of hops (English, American, noble). American yeast that can give a clean or slightly fruity profile. Generally all-malt, but mashed at lower temperatures for high attenuation. Water character varies from soft to moderately sulfate.Russian River Pliny the Elder, Three Floyd's Dreadnaught, Avery Majaraja, Bell's Hop Slam, Stone Ruination IPA, Great Divide Hercules Double IPA, Surly Furious, Rogue I2PA, Moylan's Hopsickle Imperial India Pale Ale, Stoudt's Double IPA, Dogfish Head 90-minute IPA, Victory Hop Wallop f5'9]s_iIrish Red AleAleScottish and Irish Ale9DBJCP?9XbN?\(?(\)?9X/S4%)I/7EImperial IPAAleIndia Pale Ale14CBJCP?Q?p =q?(\)?QR9character, and may feature noticeable to prominent varietal character if a varietal honey is declared (different varieties have different intensities). The distinctive flavor character associated with the particular fruit(s) should be noticeable, and may range in intensity from subtle to aggressive. The balance of fruit with the underlying mead is vital, and the fruit character should not be artificial and/or inappropriately overpowering. In a blended fruit melomel, not all fruit may be individually identifiable or of equal intensity. Standard description applies for remainder of characteristics.Standard description applies. Most will be wine-like. Some natural acidity and/or astringency are sometimes present (from certain fruit and/or fruit skin) and helps balance the overall impression. Fruit tannin can add body as well as some astringency. High levels of astringency are undesirable. The acidity and astringency levels should be somewhat reflective of the fruit used.In well-made examples of the style, thise OG well above that which would be achieved by apples alone. This style is sometimes barrel-aged, in which case there will be oak character as with a barrel-aged wine. If the barrel was formerly used to age spirits, some flavor notes from the spirit (e.g., whisky or rum) may also be present, but must be subtle. Entrants MUST specify if the cider was barrel-fermented or aged. Entrants MUST specify carbonation level (still, petillant, or sparkling). Entrants MUST specify sweetness (dry, medium, or sweet). This is a cider made with characteristic New England apples for relatively high acidity, with adjuncts to raise alcohol levels. A dry flavorful cider with robust apple character, strong alcohol, and derivative flavors from sugar adjuncts.to brilliant, pale to medium yellow. A dry flavorful cider with robust apple character, strong alcohol, and derivative flavors from sugar adjuncts. Alcoholic. Moderate tannin. Substantial body and character. There are no known commercial examples of New England Cider. 5;'!c5Munich DunkelLagerDark Lager4BBJCP?ěS?`A7L?(\)?A7Kƨ@@ffffffUnfiltered versions from Germany can taste like liquid bread, with a yeasty, earthy richness not found in exported filtered dunkels.Rich, Munich malt sweetness, like bread crusts (and sometimes toast.) Hints of chocolate, nuts, caramel, and/or toffee are also acceptable. No fruity esters or diacetyl should be detected, but a slight noble hop aroma is acceptable.Deep copper to dark brown, often with a red or garnet tint. Creamy, light to medium tan head. Usually clear, although murky unfiltered versions exist.Dominated by the rich and complex flavor of Munich malt, usually with melanoidins reminiscent of bread crusts. The taste can be moderately sweet, although it should not be overwhelming or cloying. :Ff fruit character and intensity from subtle to aggressive. The fruit character should be pleasant and supportive, not artificial and inappropriately overpowering (considering the character of the fruit). In a blended fruit melomel, not all fruit may be individually identifiable or of equal intensity. The honey aroma should be noticeable, and can have a light to significant sweetness that may express the aroma of flower nectar. If a variety of honey is declared, the aroma might have a subtle to very noticeable varietal character reflective of the honey (different varieties have different intensities and characters). The bouquet should show a pleasant fermentation character, with clean and fresh aromatics being preferred. Stronger and/or sweeter versions will have higher alcohol and sweetness in the nose. Some tartness may be present if naturally occurring in the particular fruit(s), but should not be inappropriately intense. Standard description applies for remainder of characteristics.Standard description <'#9mMunich HellesLagerLight Lager1DBJCP?Q?`A7? ěT?1&x@@Unlike Pilsner but like its cousin, Munich Dunkel, Helles is a malt-accentuated beer that is not overly sweet, but rather focuses on malt flavor wit</?y New England CiderAleSpecialty Cider and Perry28ABJCP?\(?񙙙? =p?(\) Adjuncts may include white and brown sugars, molasses, small amounts of honey, and raisins. Adjuncts are intended to raF'#n=/?y New England CiderCiderSpecialty Cider and Perry28ABJCP?\(?񙙙? =p?(\) Adjuncts may include white and brown sugars, molasses, small amounts of honey, and raisins. Adjuncts are intended to raBA applies, except with regard to color. Color may take on a very wide range of colors, depending on the variety of fruit and/or honey used. For lighter-colored melomels with fruits that exhibit distinctive colors, the color should be noticeable. Note that the color of fruit in mead is often lighter than the flesh of the fruit itself and may take on slightly different shades. Meads made with lighter color fruits can also take on color from varietal honeys. In meads that produce a head, the head can take on some of the fruit color as well. The fruit and honey flavor intensity may vary from subtle to high; the residual sweetness may vary from none to high; and the finish may range from dry to sweet, depending on what sweetness level has been declared (dry to sweet) and strength level has been declared (hydromel to sack). Natural acidity and tannin in some fruit and fruit skin may give some tartness and astringency to balance the sweetness, honey flavor and alcohol. A melomel may have a subtle to strong honey d.Gentle to moderate malt sweetness, with a nutty, lightly caramelly character and a medium-dry to dry finish. Malt may also have a toasted, biscuity, or toffee-like character. Medium to medium-low bitterness. Malt-hop balance is nearly even, with hop flavor low to none (UK varieties). Some fruity esters can be present; low diacetyl (especially butterscotch) is optional but acceptable.Medium-light to medium body. Medium to medium-high carbonation.Drier and more hop-oriented that southern English brown ale, with a nutty character rather than caramel. English mild ale or pale ale malt base with caramel malts. May also have small amounts darker malts (e.g., chocolate) to provide color and the nutty character. English hop varieties are most authentic. Moderate carbonate water.Newcastle Brown Ale, Samuel Smith’s Nut Brown Ale, Riggwelter Yorkshire Ale, Wychwood Hobgoblin, Tröegs Rugged Trail Ale, Alesmith Nautical Nut Brown Ale, Avery Ellie’s Brown Ale, Goose Island Nut Brown Ale, Samuel Adams Brown Ale >A/)yScNorthern English Brown AleAleEnglish Brown Ale11CBJCP? =p?E? ěT?9XbM @@English brown ales are generally split into sub-styles along geographic lines.Light, sweet malt aroma with toffee, nutty and/or caramel notes. A light but appealing fresh hop aroma (UK varieties) may also be noticed. A light fruity ester aroma may be evident in these beers, but should not dominate. Very low to no diacetyl.Dark amber to reddish-brown color. Clear. Low to moderate off-white to light tan heaGt brown color; very clear from extended cold conditioning. Low to moderate off-white to white head with good retention.Fairly bitter yet balanced by a smooth and sometimes sweet malt character that may have a rich, biscuity and/or lightly caramelly flavor. Dry finish often with lingering bitterness. Clean, lager character sometimes with slight sulfury notes and very low to no esters. Very low to medium noble hop flavor. No diacetyl.Medium-light to medium body. Moderate to moderately high carbonation. Smooth mouthfeel.A very clean and relatively bitter beer, balanced by some malt character. Generally darker, sometimes more caramelly, and usually sweeter and less bitter than Düsseldorf Altbier. Typically made with a Pils base and colored with roasted malt or dark crystal. May include small amounts of Munich or Vienna malt. Noble hops. Usually made with an attenuative lager yeast.DAB Traditional, Hannen Alt, Schwelmer Alt, Grolsch Amber, Alaskan Amber, Long Trail Ale, Otter Creek Copper Ale, Schmaltz' Alt JJ+?;/)C Northern German AltbierAleAmber Hybrid Beer7ABJCP?j~#?/w?(\)?=p =( @@Most Altbiers produced outside of Düsseldorf are of the Northern German style. Most are simply moderately bitter brown lagers. Ironically "alt" refers to the old style of brewing (i.e., making ales), which makes the term "Altbier" somewhat inaccurate and inappropriate. Those that are made as ales are fermented at cool ale temperatures and lagered at cold temperatures (as with Düsseldorf Alt).Subtle malty, sometimes grainy aroma. Low to no noble hop aroma. Clean, lager character with very restrained ester profile. No diacetyl.Light copper to lighI roasted grains present. Oats can add a nutty, grainy or earthy flavor. Dark grains can combine with malt sweetness to give the impression of milk chocolate or coffee with cream. Medium hop bitterness with the balance toward malt. Diacetyl medium-low to none. Hop flavor medium-low to none.Medium-full to full body, smooth, silky, sometimes an almost oily slickness from the oatmeal. Creamy. Medium to medium-high carbonation.A very dark, full-bodied, roasty, malty ale with a complementary oatmeal flavor. An English seasonal variant of sweet stout that is usually less sweet than the original, and relies on oatmeal for body and complexity rather than lactose for body and sweetness.Pale, caramel and dark roasted malts and grains.Samuel Smith Oatmeal Stout, Young's Oatmeal Stout, McAuslan Oatmeal Stout, Maclay’s Oat Malt Stout, Broughton Kinmount Willie Oatmeal Stout, Anderson Valley Barney Flats Oatmeal Stout, Tröegs Oatmeal Stout, New Holland The Poet, Goose Island Oatmeal Stout, Wolaver’s Oatmeal Stout %%P@')mGOatmeal StoutAleStout13CBJCP?ěS? =p ?(\)?I^5?}((@@Generally between sweet and dry stouts in sweetness. Variations exist, from fairly sweet to quite dry. The level of bitterness also varies, as does the oatmeal impression. Light use of oatmeal may give a certain silkiness of body and richness of flavor, while heavy use of oatmeal can be fairly intense in flavor with an almost oily mouthfeel. When judging, allow for differences in interpretation.Mild roasted grain aromas, often with a coffee-like character. A light sweetness can imply a coffee-and-cream impression. Fruitiness should be low to medium. Diacetyl medium-low to none. Hop aroma low to none (UK varieties most common). A light oatmeal aroma is optional.Medium brown to black in color. Thick, creamy, persistent tan- to brown-colored head. Can be opaque (if not, it should be clear).Medium sweet to medium dry palate, with the complexity of oats and darkKNmalt aroma (of Vienna and/or Munich malt). A light to moderate toasted malt aroma is often present. Clean lager aroma with no fruity esters or diacetyl. No hop aroma. Caramel aroma is inappropriate.Dark gold to deep orange-red color. Bright clarity, with solid, off-white, foam stand.Initial malty sweetness, but finish is moderately dry. Distinctive and complex maltiness often includes a toasted aspect. Hop bitterness is moderate, and noble hop flavor is low to none. Balance is toward malt, though the finish is not sweet. Noticeable caramel or roasted flavors are inappropriate. Clean lager character with no diacetyl or fruity esters.Medium body, with a creamy texture and medium carbonation. Smooth. Fully fermented, without a cloying finish.Smooth, clean, and rather rich, with a depth of malt character. This is one of the classic malty styles, with a maltiness that is often described as soft, complex, and elegant but never cloying. Origin is credited to Gabriel Sedlmayr, based on an adaptation of the Vienna style developed by Anton Dreher around 1840, shortly after lager yeast was first isolated. Typically brewed in the spring, signaling the end of the traditional brewing season and stored in cold caves or cellars during the warm summer months. Served in autumn amidst traditional celebrations.Grist varies, although German Vienna malt is often the backbone of the grain bill, with some Munich malt, Pils malt, and possibly some crystal malt. All malt should derive from the finest quality two-row barley. Continental hops, especially noble varieties, are most authentic. Somewhat alkaline water (up to 300 PPM), with significant carbonate content is welcome. A decoction mash can help develop the rich malt profile.Paulaner Oktoberfest, Ayinger Oktoberfest-Märzen, Hacker-Pschorr Original Oktoberfest, Hofbräu Oktoberfest, Victory Festbier, Great Lakes Oktoberfest, Spaten Oktoberfest, Capital Oktoberfest, Gordon Biersch Märzen, Goose Island Oktoberfest, Samuel Adams Oktoberfest (a bit unusual in its late hopping) 66Q!7 WLP810 - San Francisco Lager YeastLagerLiquid?QfalseWhite Labs810HighCThis yeast is used to produce the "California Common" style beer. A unique lager strain which has the ability to ferment up to 65 degrees while retaining lager characteristics. Can also be fermented down to 50 degrees for production of marzens, pilsners and other style lagers. falsec=W!i WLP802 - Czech Budejovice Lager YeastLagerLiquid?QfalseWhite Labs802 MediumMPilsner lager yeast from Southern Czech Republic. Produces dry and crisp lagers, with low diacetyl production. false<E!e WLP800 - Pilsner Lager YeastLagerLiquid?QfalseWhite Labs800 MediumJClassic pilsner strain from the premier pilsner producer in the Czech Republic. Somewhat dry with a malty finish, this yeast is best suited for European pilsner production. false >E>AC!? WLP830 - German Lager YeastLagerLiquid?QfalseWhite Labs830 MediumLThis yeast is one of the most widely used lager yeasts in the world. Very malty and clean, great for all German lagers, Pilsner, Oktoberfest, and Marzen. falses@]! WLP820 - Oktoberfest/Märzen Lager YeastLagerLiquid?QfalseWhite Labs820 MediumEThis yeast produces a very malty, bock like style. It does not finish as dry as WLP830. This yeast is much slower in the first generation than WLP830, so we encourage a larger starter to be used the first generation or schedule a longer lagering time. falseB?E!9 WLP815 - Belgian Lager YeastLagerLiquid?QfalseWhite Labs815 MediumKClean, crisp European lager yeast with low sulfur production. The strain originates from a very old brewery in West Belgium. Great for European style pilsners, dark lagers, Vienna lager, and American style lagers. false   yCU! WLP838 - Southern German Lager YeastLagerLiquid?QfalseWhite Labs838 MediumHThis yeast is characterized by a malty finish and balanced aroma. It is a strong fermentor, produces slight sulfur, and low diacetyl. falsewBM! WLP833 - German Bock Lager YeastLagerLiquid?QfalseWhite Labs833 MediumIFrom the Alps of southern Bavaria, this yeast produces a beer that is well balanced between malt and hop character. The excellent malt profile makes it well suited for Bocks, Doppelbocks, and Oktoberfest style beers. Very versatile lager yeast, it is so well balanced that it has gained tremendous popularity for use in Classic American style Pilsners. Also good for Helles style lager beer. false AvA2FC! WLP885 - Zurich Lager YeastLagerLiquid?QfalseWhite Labs885 MediumKSwiss style lager yeast. With proper care, this yeast can be used to produce lager beer over 11% ABV. Sulfur and diacetyl production is minimal. Original culture provided to White Labs by Marc Sedam. falseE3!Q WLP862 - Cry Havoc LagerLiquid?QfalseWhite Labs862 MediumDLicensed from Charlie Papazian, this strain can ferment at ale and lager temperatures, allowing brewers to produce diverse beer styles. The recipes in both Papazian's books, The Complete Joy of Homebrewing and The Homebrewers Companion, were originally developed and brewed with this yeast. falseDG!1 WLP840 - American Lager YeastLagerLiquid?QfalseWhite Labs840 MediumMThis yeast is used to produce American style lagers. Dry and clean with a very slight apple fruitiness. Sulfur and diacetyl production is minimal. false >>MI7#I'Wyeast - American AleAleLiquid?falseWyeast Labs1056LowKVery clean, crisp flavor characteristics. Low fruitiness and mild ester production. Slightly citrus-like with cool (15-19C) fermentation. Versatile yeast, which produces many beer styles allowing malt and hop character to dominate the beer profile. Flocculation improves with dark malts in grain bill. Normally requires filtration for bright beers. Everything :)falseuHE! WLP940 - Mexican Lager YeastLagerLiquid?QfalseWhite Labs940 MediumJFrom Mexico City, this yeast produces clean lager beer, with a crisp finish. Good for Mexican style light lagers, as well as dark lagers. falsewGO! WLP920 - Old Bavarian Lager YeastLagerLiquid?QfalseWhite Labs920 MediumEFrom Southern Germany, this yeast finishes malty with a slight ester profile. Use in beers such as Oktoberfest, Bock, and Dark Lagers. false FJ=#K Wyeast - American Ale IIAleLiquid?falseWyeast Labs1272MediumJConsistent performance. Fruitier and more flocculent than 1056. SLightly nutty, soft, clean, with a slightly tart finish. Ferment at warmer temperatures to accentuate hop character with intense fruitiness, or ferment cool for clean, light citrus character. Expect good attenuation, but this will vary with grist, mash, and other wort characteristics. Reliably flocculent, producing bright beer without filtration. American Pale Ale, American Strong Pale Ale, American Amber Ale, American Brown Ale, American IPA, Imperial IPA, American Barleywine, American Stout, Porter, Cream Ale, Strong Scotch Ale, Irish Ale, Imperial Stout, other strong Ales, Christmas/Winter Ale, Spice/Herb/Vegetable Ale, Smoked Ale, Wood-Aged Ale, Fruit Alefalse dJdcN;# Wyeast - Bavarian WheatAleLiquid?falseWyeast Labs3638LowIfalse)M;# Wyeast - Bavarian LagerLagerLiquid?falseWyeast Labs2206MediumKUsed by many German breweries to produce rich, full-bodied, malty beers. Good choice for Bocks and Doppelbocks. Benefits from diacetyl rest at 14 C for 24 hours after fermentation is complete.falseRL;#5?Wyeast - American WheatAleLiquid?falseWyeast Labs1010LowLA dry fermenting, true top-cropping yeast which produces a dry, slightly tart, crisp beer. Ideal for beers where a low ester profile is desirable. Cream Ale, Kolsch, American Wheat, American Rye, North German Altbier, Dusseldorf Altbierfalse3K;#! Wyeast - American LagerLagerLiquid?falseWyeast Labs2035 MediumKBold, complex, and aromatic. Good depth of flavor for a variety of lagers.false ("OeV9# Wyeast - Belgian WheatAleLiquid?falseWyeast Labs3942MediumJfalsegUC# Wyeast - Belgian Strong AleAleLiquid?falseWyeast Labs1388LowLfalsecT;# Wyeast - Belgian SaisonAleLiquid?falseWyeast Labs3724#LowNfalseiSG# Wyeast - Belgian Lambic BlendAleLiquid?falseWyeast Labs3278LowKfalsefR?# Wyeast - Belgian ArdennesAleLiquid?falseWyeast Labs3522HighJfalseQ5#K Wyeast - Belgian AleAleLiquid?falseWyeast Labs1214MediumLAbbey-style top-fermenting yeast, suitable for high-gravity beers. Estery, great complexity with very good alcohol tolerance. This strain can be slow to start.falsehP?# Wyeast - Belgian Abbey IIAleLiquid?falseWyeast Labs1762MediumKfalselOG# Wyeast - Bavarian Wheat BlendAleLiquid?falseWyeast Labs3056MediumKfalse pnZK# Wyeast - Brettanomyces lambicusAleLiquid?falseWyeast Labs5526MediumPfalserYS# Wyeast - Brettanomyces bruxellensisAleLiquid?falseWyeast Labs5112MediumPfalse0X;# Wyeast - Bohemian LagerLagerLiquid?falseWyeast Labs2124MediumKCarlsberg type yeast, most widely used lager strain in the world. Produces a distinct malty profile with some ester character and a crisp finish. Benefits from a diacetyl rest at 14 C for 24 hours after fermentation is complete. Also used for pseudo-ale production with fermentations at 24 C which eliminates sulfur production.falsegW=# Wyeast - Belgian WitbierAleLiquid?falseWyeast Labs3944MediumJfalse K\;#5KWyeast - British Ale IIAleLiquid?falseWyeast Labs1335HighKTypical of British and Canadian Ale fermentation profile with good flocculation and malty flavor characteristics, crisp finish, clean, fairly dry. Ordinary/Special Bitters, ESB, Northern English Brown, Brown Porter, Dry Stout, English IPA, English Barley Wine, Foreign Extra Stout, Cream Ale, Irish Red Alefalse2[5#w=Wyeast - British AleAleLiquid?falseWyeast Labs1098MediumJProduces beers with a clean neutral finish allowing malt and hop character to dominate. Ferments dry and crips, slightly tart, fruity and well-balanced. Ferments well down to 18C. Blonde Ale, Scottish Light 60/-, Scottish Heavy 70/-, Scottish Export 80/-, Mild, Northern English Brown, Robust Porter, English IPA, English Barleywinefalse WWl_3# Wyeast - Czech PilsLagerLiquid?falseWyeast Labs2278 MediumHClassic pilsner strain from the home of pilsners for a dry, but malty finish. The perfect choice for pilsners and all malt beers. Sulfur produced during fermentation can be reduced with warmer fermentation temperatures (58 F) and will dissipate with conditioning.falseN^?#W Wyeast - California LagerLagerLiquid?falseWyeast Labs2112HighESuited to produce 19th century style West Coast beer. Retains lager characteristics at temperatures up to 18 C (65 F), and produces malty, brilliantly clear beers. This strain is not recommended for cold temperature fermentation.falsef]+ - Wyeast - BudvarLagerLiquid?false2000 MediumINice malty nose, subtle fruit. Rich malt profile on palate. Finishes malty but dry, well balanced, crisp. Hop character comes through in finish.false CFdb=# Wyeast - Forbidden FruitAleLiquid?falseWyeast Labs3463LowJfalseza7#CWyeast - European AleAleLiquid?falseWyeast Labs1338HighEFull-bodied complex strain finishing very malty with full bodied profile, very desirable in English Browns and Porters. Produces a dense, rocky head during fermentation. This strain can be a slow starter and can be slow to attenuate. May continue to produce CO2 for an extended period after packaging or collection, while in refrigerated storage Altbier, Southern English Brown, Baltic Porter, Sweet Stoutfalse:`7#9 Wyeast - Danish LagerLagerLiquid?falseWyeast Labs2042 LowKRich, Dortmund style, crisp, dry finish. Soft profile accentuates hop characteristics.false ZZbd7# Wyeast - German WheatAleLiquid?falseWyeast Labs3333HighIfalse?c3# KWyeast - German AleAleLiquid?falseWyeast Labs1007 LowLTrue top-cropping yeast, low ester formation, broad temperature range affects styles. Cold fermentation will produce lager characteristics including sulfur production. Fermentation at higher temperatures may produce some mild fruitiness. Generally, yeast remains significantly in suspension. Beers mature rapidly, even when cold fermentation is used. Low or no detectable diacetyl. Kolsch, American Wheat, American Rye, North German Altbier, Dusseldorf Altbier, Berliner Weissefalse `e1#)kWyeast - Irish AleAleLiquid?falseWyeast Labs1084MediumIThis yeast ferments extremely well in dark worts. Beers fermented in the lower temperature range produce dry and crisp beers to fruity beers with nice complexity using fermentation temperatures above 18C. Scottish Light 60/-, Scottish Heavy 70/-, Scottish Export 80/-, Irish Red Ale, Strong Scotch Ale, American Amber Ale, Robust Porter, Baltic Porter, Dry Stout, Sweet Stout, Oatmeal Stout, Foreign Extra Stout, Imperial IPA, American Barleywine, Spice/Herb/Vegetable Beer, Other Smoked Beer, Wood-Aged Beerfalse jjbg9# Wyeast - LactobacillusAleLiquid?falseWyeast Labs5335#LowKfalse/f+#__Wyeast - KolschAleLiquid?falseWyeast Labs2565 LowKTrue top croppint yeast similar to Alt strains. Produces slightly more fruity/winey characteristics. Fruitiness increases with temperature. Low or no detectable diacetyl production. Also ferments well at cold temperatures (13-16C). Used to produce quick-conditioning pseudo-lager beers. Requires filtration or additional settling time to produce bright beers. Kolsch, American Wheat/Rye Ale, Altbier, Cream Ale, Berlinerweisse, Spiced/Herb/Vegetable Ale, Fruit Beerfalse V1i;#IgWyeast - London Ale IIIAleLiquid?falseWyeast Labs1318HighIFrom traditional London brewery with great malt and hop profile. True top cropping strain, fruity, very light, soft balance palate, finishes slightly sweet. Ordinary/Special Bitter, ESB, Southern English Brown, English Pale ale and IPA, Mild Ale, Sweet Stout, Oatmeal Stout, Strong/Old Ale, English Barley Wine, American Amber Alefalse'h3#u1Wyeast - London AleAleLiquid?falseWyeast Labs1028LowKRich with a dry finish, minerally profile, bold and crisp, with some fruitiness. Often used for higher gravity ales and when a high level of attenuation is desired for the style. Mild, Northern English Brown Ale, Brown Porter, Robust Porter, Dry Stout, Foreign Extra Stout, Russian Imperial Stout, Old Ale, English Barleywinefalse oj;#IYWyeast - London ESB AleAleLiquid?falseWyeast Labs1968Very HighEThis extremely flocculent yeast produces distincly malty beers. Attenuation levels are typically less than most other yeast strains making a slightly sweeter finish. Ales produced with this strain tend to be fruity, increasingly so with higher fermentation temperatures (21-23C). Diacetyl production is noticeable and a thorough rest is necessary. A very good cask conditioned ale strain due to thorough flocculation. Bright beers easily achieved with days without filtration. Ordinary/Special Bitters, ESB, Mild Ale, Southern English Brown, English IPA, Strong/Old Ale, English Barley Wine, Wood Aged Ale, Spiced/Herb/Vegetable Ale, Fruit Alefalse In7#} Wyeast - Pilsen LagerLagerLiquid?falseWyeast Labs2007 MediumIA classic American pilsner strain, smooth, malty palate.false`m5# Wyeast - PediococcusAleLiquid?falseWyeast Labs5733#LowKfalse$lM#q Wyeast - Octoberfest Lager BlendLagerLiquid?falseWyeast Labs2633 MediumKDesigned to produce a rich, malty, complex and full-bodied Octoberfest beer. Attenuates well while still leaving plenty of malt character and mouthfeel. Low in sulfur production.false+k9#Wyeast - Northwest AleAleLiquid?falseWyeast Labs1332HighEOne of the classic ale strains from a Northwest US Brewery. Produces malty and mildly fruity ale with a good depth and complexity. Any American Ale, Blonde Ale, Spiced/Herb/Vegetable Ale, Fruit Alefalse ,xp7#AWyeast - Scottish AleAleLiquid?falseWyeast Labs1728 HighGIdeally suited for Scottish ales, and high gravity ales of all types. Can be estery with warm fermentation temperatures. All Scottish Ales, Foreign Extra Stout, Imperial Stout, Imperial IPA, American Barley Wine, Christmas/Winter Ale, Baltic Porter, Wood Aged Ale, Smoked AlefalseQo7#7=Wyeast - Ringwood AleAleLiquid?falseWyeast Labs1178HighFUnique fermentation and flavor characteristics. Distinct fruit ester and high flocculation provide a malty complex profile, also clears well. Thorough diacetyl rest is recommended after fermentation is complete. American Brown Ale, Mild, Southern English Brown Ale, Robust Porter, Baltic Porter, Sweet Stout, Oatmeal Stout, American Stout, American IPA, Fruit Beerfalse 8KitG# Wyeast - Weihenstephan WeizenAleLiquid?falseWyeast Labs3068LowKfalsejs-# Wyeast - UrquellLagerLiquid?falseWyeast Labs2001 MediumJMild fruit/floral aroma. Very dry and clean on palate with full mouthfeel and nice subtle malt character. Very clean and neutral finish.falsemrI# Wyeast - Trappist High GravityAleLiquid?falseWyeast Labs3787MediumLfalseVqA#SWyeast - Thames Valley AleAleLiquid?falseWyeast Labs1275MediumMProduces classic British bitters, rich complex flavor profile, clean, light malt character, low fruitiness, low esters, well balanced. Ordinary/Special Bitter, ESB, Northern English Brown, Robust Porter, Dry Stout, Foreign Extra Stoutfalse  , vG!I WLP001 - California Ale YeastAleLiquid?QfalseWhite Labs001MediumKThis yeast is famous for its clean flavors, balance and ability to be used in almost any style ale. It accentuates the hop flavors and is extremely versatile. falseQu9#I'Wyeast - Whitbread AleAleLiquid?falseWyeast Labs1099MediumFVery clean, crisp flavor characteristics. Low fruitiness and mild ester production. Slightly citrus-like with cool (15-19C) fermentation. Versatile yeast, which produces many beer styles allowing malt and hop character to dominate the beer profile. Flocculation improves with dark malts in grain bill. Normally requires filtration for bright beers. Everything :)false xsxA! WLP002 - English Ale YeastAleLiquid?QfalseWhite Labs002Very HighBA classic ESB strain from one of England's largest independent breweries. This yeast is best suited for English style ales including milds, bitters, porters, and English style stouts. This yeast will leave a beer very clear, and will leave some residual sweetness. falsewQ!7 WLP810 - San Francisco Lager YeastLagerLiquid?QfalseWhite Labs810HighCThis yeast is used to produce the "California Common" style beer. A unique lager strain which has the ability to ferment up to 65 degrees while retaining lager characteristics. Can also be fermented down to 50 degrees for production of marzens, pilsners and other style lagers. false 99W{?!m WLP013 - London Ale YeastAleLiquid?QfalseWhite Labs013MediumGDry, malty ale yeast. Provides a complex, oakey ester character to your beer. Hop bitterness comes through well. This yeast is well suited for classic British pale ales, bitters, and stouts. Does not flocculate as much as WLP002 and WLP005. false zG!I WLP001 - California Ale YeastAleLiquid?QfalseWhite Labs001MediumKThis yeast is famous for its clean flavors, balance and ability to be used in almost any style ale. It accentuates the hop flavors and is extremely versatile. false^yW!c WLP028 - Edinburgh Scottish Ale YeastAleLiquid?QfalseWhite Labs028MediumHScotland is famous for its malty, strong ales. This yeast can reproduce complex, flavorful Scottish style ales. This yeast can be an everyday strain, similar to WLP001. Hop character is not muted with this strain, as it is with WLP002. false r~r ~G!I WLP001 - California Ale YeastAleLiquid?QfalseWhite Labs001MediumKThis yeast is famous for its clean flavors, balance and ability to be used in almost any style ale. It accentuates the hop flavors and is extremely versatile. falses}A! WLP002 - English Ale YeastAleLiquid?QfalseWhite Labs002Very HighBA classic ESB strain from one of England's largest independent breweries. This yeast is best suited for English style ales including milds, bitters, porters, and English style stouts. This yeast will leave a beer very clear, and will leave some residual sweetness. false |G!I WLP001 - California Ale YeastAleLiquid?QfalseWhite Labs001MediumKThis yeast is famous for its clean flavors, balance and ability to be used in almost any style ale. It accentuates the hop flavors and is extremely versatile. false 22iG! WLP300 - Hefeweizen Ale YeastWheatLiquid?QfalseWhite Labs300LowJThis famous German yeast is a strain used in the production of traditional, authentic wheat beers. It produces the banana and clove nose traditionally associated with German wheat beers and leaves the desired cloudy look of traditional German wheat beers. false^I! WLP090 - San Diego Super YeastAleLiquid?+ IWhite Labs090HighPA super clean, super fast fermenting strain. A low ester-producing strain that results in a balanced, neutral flavor and aroma profile. Alcohol-tolerant and very versatile for a wide variety of styles. Similar to WLP001 but it generall ferments faster.  .`..I! WLP630 - Berliner Weisse BlendAleLiquid?AfalseWhite Labs630MediumKA blend of traditional German Weizen yeast and Lactobacillus to create a subtle, tart, drinkable beer. Can take several months to develop tart character. Perfect for traditional Berliner Weisse. falseXC!k WLP011 - European Ale YeastAleLiquid?QfalseWhite Labs011MediumCMalty, Northern European-origin ale yeast. Low ester production, giving a clean profile. Little to no sulfur production. Low attenuation helps to contribute to the malty character. Good for Alt, Kolsch, malty English ales, and fruit beers. false@K!3 WLP565 - Belgian Saison I YeastAleLiquid?QfalseWhite Labs565MediumFClassic Saison yeast from Wallonia. It produces earthy, peppery, and spicy notes. Slightly sweet. With high gravity Saisons, brewers may wish to dry the beer with an alternate yeast added after 75% fermentation. false 8pS! WLP650 - Brettanomyces bruxellensisAleLiquid?AfalseWhite Labs650 MediumK falseM!U WLP645 - Brettanomyces clauseniiAleLiquid?AfalseWhite Labs645 MediumKLow intensity Brett character. Originally isolated from strong English stock beer, in the early 20th century. The Brett flavors produced are more subtle than WLP650 and WLP653. More aroma than flavor contribution. Fruity, pineapple like aroma. B. claussenii is closely related to B. anomalus. false.I! WLP630 - Berliner Weisse BlendAleLiquid?AfalseWhite Labs630MediumKA blend of traditional German Weizen yeast and Lactobacillus to create a subtle, tart, drinkable beer. Can take several months to develop tart character. Perfect for traditional Berliner Weisse. false xC!+ WLP655 - Belgian Sour Mix 1AleLiquid?AfalseWhite Labs655 MediumKA unique blend perfect for Belgian style beers. Includes Brettanomyces, Saccharomyces, and the bacterial strains Lactobacillus and Pediococcus. falseuK! WLP653 - Brettanomyces lambicusAleLiquid?AfalseWhite Labs653 MediumKHigh intensity Brett character. Defines the "Brett character": Horsey, smoky and spicy flavors. As the name suggests, this strain is found most often in Lambic style beers, which are spontaneously fermented beers. Also found in Flanders and sour brown style beers. false [q E! WLP675 - Malolactic BacteriaAleLiquid?AfalseWhite Labs675 MediumKMalolactic fermentation is the conversion of malic acid to lactic acid by bacteria from the lactic acid bacteria family. Lactic acid is less acidic than malic acid, which in turn decreases acidity and helps to soften and/or round out some of the flavors in wine. false! O!q WLP670 - American Farmhouse BlendAleLiquid?AfalseWhite Labs670MediumOInspired by local American brewers crafting semi- traditional Belgian-style ales. This blend creates a complex flavor profile with a moderate level of sourness. It consists of a traditional farmhouse yeast strain and Brettanomyces. Great yeast for farmhouse ales, Saisons, and other Belgian-inspired beers. false  G!I WLP001 - California Ale YeastAleLiquid?QfalseWhite Labs001MediumKThis yeast is famous for its clean flavors, balance and ability to be used in almost any style ale. It accentuates the hop flavors and is extremely versatile. falseF C!G WLP500 - Trappist Ale YeastAleLiquid?QfalseWhite Labs500MediumMFrom one of the few remaining Trappist breweries remaining in the world, this yeast produces the distinctive fruitiness and plum characteristics. Excellent yeast for high gravity beers, Belgian ales, dubbels and trippels. falsew K!! WLP677 - Lactobacillus BacteriaAleLiquid?AfalseWhite Labs677 MediumKThis lactic acid bacteria produces moderate levels of acidity and sour flavors found in lambics, Berliner Weiss, sour brown ale and gueze. false bb.4Q!7 WLP810 - San Francisco Lager YeastLagerLiquid?QfalseWhite Labs810HighCThis yeast is used to produce the "California Common" style beer. A unique lager strain which has the ability to ferment up to 65 degrees while retaining lager characteristics. Can also be fermented down to 50 degrees for production of marzens, pilsners and other style lagers. false G!I WLP001 - California Ale YeastAleLiquid?QfalseWhite Labs001MediumKThis yeast is famous for its clean flavors, balance and ability to be used in almost any style ale. It accentuates the hop flavors and is extremely versatile. falseC!? WLP830 - German Lager YeastLagerLiquid?QfalseWhite Labs830 MediumLThis yeast is one of the most widely used lager yeasts in the world. Very malty and clean, great for all German lagers, Pilsner, Oktoberfest, and Marzen. false |vpjd^XRLF@:4.(" ztnhb\VPJD>82,& ~xrlf`ZTNHB<60*$ ~~}}||{{zzyyxxwwvvuuttssrrqqppoonnmmllkkjjiihhggffeeddccbbaa``__^^]]\\[[ZZYYXXWWVVUUTTSSRRQQPPOONNMMLLKKJJIIHHGGFFEEDDCCBBAA@@??>>==<<;;::99887766554433221100//..--,,++**))((''&&%%$$##""!!             ]xph`XPH@80( xph`XPH@80( xph`XPH@80( \[[ZZYYXXWWVVUUTTSSRRQQPPOONNMMLLKKJJIIHHGGFFEEDDCCBA@?>=<;:9876543210/.-,+*)('&%$#"!       kf{2GkG !ConversionInfusion@+5(]Q@Pq<@R##O 1Final Batch SpargeInfusion@3!`]0J@S?e@S?e@ !ConversionInfusion@#sF<@TbO 1Final Batch SpargeInfusion@1ӛ`J@TM;c@TM;cG!ConversionInfusion@,h7w@Pqq<@SE(AiO1Final Batch SpargeInfusion@1Y-|:J@TsH@TsHG!ConversionInfusion@,HJ1@Pc8<<@S 쯀IO1Final Batch SpargeInfusion@1˴J@TAˤ@TAˤO1Final Batch SpargeInfusion@2LVBlJ@TmZE@TmZEG!ConversionInfusion@(}j@P<@S=ZO1Final Batch SpargeInfusion@2LVBlJ@TmZE@TmZEG!ConversionInfusion@*S"&p@P<@S֎ cf{2NcG!ConversionInfusion@(}j@P@RtNgp O1Final Batch SpargeInfusion@1CJ@T}v "@T}v " O1Final Batch SpargeInfusion@1˹d@dz d?\(\ ]Lb34g'U]Kent Goldings@?ž7Boilz=y<x;w:v9u8t7s6r5q4p3o2n1m0l/k.j-i,h+g*f)e(d'c& $C$\)7 Briess - Victory MaltGrain?ž8 I falseUS@ truefalsea(? Simpsons - Chocolate MaltGrain?ž8 IfalseUK?ffffff truefalse '% 3Oats, FlakedGrain?J^QPfalseUSOats will improve mouth feel and add a creamy head. Commonly used in Oatmeal Stout.truefalse`&?# Briess DME - Golden LightDry Extract@݀_falseUSdfalsefalse1"A 7Caramel/Crystal Malt - 40LGrain?J^QJ(falseUSThis Pale Crystal malt will lend a balance of medium caramel color, flavor, and body.falsefalseG/V%3 Briess LME - MunichExtract?J^QNfalseUSdfalsefalseV$7 Simpsons - Black MaltGrain?J^QF&falseUK truefalsea#? Simpsons - Chocolate MaltGrain?ž8 IfalseUK?ffffff truefalse \ypg^ULC:1( }tkbYPG>5,#xof]TKB90' b%a$`#_"^!] \[ZYXWVUTRQPONMLKJ I H G F EDCBA@><;:9875 4 3 2 1 0 / . - , + * ) ( ' & %$#"!      F from Stout as lacking a strong roasted barley character. It differs from a brown porter in that a black patent or roasted grain character is usually present, and it can be stronger in alcohol. Roast intensity and malt flavors can also vary significantly. May or may not have a strong hop character, and may or may not have significant fermentation by-products; thus may seem to have an "American" or "English" character.Roasty aroma (often with a lightly burnt, black malt character) should be noticeable and may be moderately strong. Optionally may also show some additional malt character in support (grainy, bready, toffee-like, caramelly, chocolate, coffee, rich, and/or sweet). Hop aroma low to high (US or UK varieties). Some American versions may be dry-hopped. Fruity esters are moderate to none. Diacetyl low to none.Medium brown to very dark brown, often with ruby- or garnet-like highlights. Can approach black in color. Clarity may be difficult to discern in such a dark beer, but when not opaque will be clGear (particularly when held up to the light). Full, tan-colored head with moderately good head retention.Moderately strong malt flavor usually features a lightly burnt, black malt character (and sometimes chocolate and/or coffee flavors) with a bit of roasty dryness in the finish. Overall flavor may finish from dry to medium-sweet, depending on grist composition, hop bittering level, and attenuation. May have a sharp character from dark roasted grains, although should not be overly acrid, burnt or harsh. Medium to high bitterness, which can be accentuated by the roasted malt. Hop flavor can vary from low to moderately high (US or UK varieties, typically), and balances the roasted malt flavors. Diacetyl low to none. Fruity esters moderate to none.Medium to medium-full body. Moderately low to moderately high carbonation. Stronger versions may have a slight alcohol warmth. May have a slight astringency from roasted grains, although this character should not be strong.A substantial, malty dark ale with a complex and flavorful roasty character. Stronger, hoppier and/or roastier version of porter designed as either a historical throwback or an American interpretation of the style. Traditional versions will have a more subtle hop character (often English), while modern versions may be considerably more aggressive. Both types are equally valid.May contain several malts, prominently dark roasted malts and grains, which often include black patent malt (chocolate malt and/or roasted barley may also be used in some versions). Hops are used for bittering, flavor and/or aroma, and are frequently UK or US varieties. Water with moderate to high carbonate hardness is typical. Ale yeast can either be clean US versions or characterful English varieties.Great Lakes Edmund Fitzgerald Porter, Meantime London Porter, Anchor Porter, Smuttynose Robust Porter, Sierra Nevada Porter, Deschutes Black Butte Porter, Boulevard Bully! Porter, Rogue Mocha Porter, Avery New World Porter, Bell's Porter, Great Divide Saint Bridget's Porter ?L?`/?# Briess DME - Golden LightDry Extract@ N-y_falseUSdfalsefalseV03 Briess LME - MunichExtract?J^QNfalseUSdfalsefalse1.A 7Caramel/Crystal Malt - 40LGrain?J^QJ(falseUSThis Pale Crystal malt will lend a balance of medium caramel color, flavor, and body.falsefalseb-A Caramel/Crystal Malt - 10LGrain?J^QK falseUSThis Light Crystal malt will lend body and mouth feel with a minimum of color, much like Carapils, but with a light caramel sweetness.falsefalseZ,3# Muntons DME - LightDry Extract@݀_falseUSdfalsefalseV+7 Simpsons - Black MaltGrain?J^QF&falseUK truefalse0*A 5Caramel/Crystal Malt - 80LGrain?J^QJPfalseUSThis Crystal malt will lend a well a pronounced caramel flavor, color and sweetness.falsefalse %%Py')mGOatmeal StoutAleStout13CBJCP?ěS? =p ?(\)?I^5?}((@@Generally between sweet and dry stouts in sweetness. Variations exist, from fairly sweet to quite dry. The level of bitterness also varies, as does the oatmeal impression. Light use of oatmeal may give a certain silkiness of body and richness of flavor, while heavy use of oatmeal can be fairly intense in flavor with an almost oily mouthfeel. When judging, allow for differences in interpretation.Mild roasted grain aromas, often with a coffee-like character. A light sweetness can imply a coffee-and-cream impression. Fruitiness should be low to medium. Diacetyl medium-low to none. Hop aroma low to none (UK varieties most common). A light oatmeal aroma is optional.Medium brown to black in color. Thick, creamy, persistent tan- to brown-colored head. Can be opaque (if not, it should be clear).Medium sweet to medium dry palate, with the complexity of oats and darkJ roasted grains present. Oats can add a nutty, grainy or earthy flavor. Dark grains can combine with malt sweetness to give the impression of milk chocolate or coffee with cream. Medium hop bitterness with the balance toward malt. Diacetyl medium-low to none. Hop flavor medium-low to none.Medium-full to full body, smooth, silky, sometimes an almost oily slickness from the oatmeal. Creamy. Medium to medium-high carbonation.A very dark, full-bodied, roasty, malty ale with a complementary oatmeal flavor. An English seasonal variant of sweet stout that is usually less sweet than the original, and relies on oatmeal for body and complexity rather than lactose for body and sweetness.Pale, caramel and dark roasted malts and grains.Samuel Smith Oatmeal Stout, Young's Oatmeal Stout, McAuslan Oatmeal Stout, Maclay’s Oat Malt Stout, Broughton Kinmount Willie Oatmeal Stout, Anderson Valley Barney Flats Oatmeal Stout, Tröegs Oatmeal Stout, New Holland The Poet, Goose Island Oatmeal Stout, Wolaver’s Oatmeal Stout ;(z%) OAmerican IPAAleIndia Pale Ale14BBJCP?`A7L?333333?(\)?I^5?}(F@@A prominent to intense hop aroma with a citrusy, floral, perfume-like, resinous, piney, and/or fruity character derived from American hops. Many versions are dry hopped and can have an additional grassy aroma, although this is not required. Some clean malty sweetness may be found in the background, but should be at a lower level than in English examples. Fruitiness, either from esters or hops, may also be detected in some versions, although a neutral fermentation character is also acceptable. Some alcohol may be noted.Color ranges from medium gold to medium reddish copper; some versions can have an orange-ish tint. Should be clear, although unfiltered dry-hopped versions may be a bit hazyO 6$6u!? 5.5 gal - Extract - Ideal@7P@4vZ@BSh:@+Etd3$wUCHallertau@?JIjBoil?s 2013-01-02!2$M I!  Bt: Belgian Blonde Ale - ExtractAll GrainBrewtarget: free beer software@4vZ@7PA Caramel/Crystal Malt - 10LGrain?J^QK falseUSThis Light Crystal malt will lend body and mouth feel with a minimum of color, much like Carapils, but with a light caramel sweetness.falsefalseR/X@; Briess - Chocolate MaltGrain?J^QI^falseUS truefalseV=7 Corn Sugar (Dextrose)Sugar?J^QdfalseUSfalsefalse`<?# Briess DME - Pilsen LightDry Extract@ž8 _falseUSdfalsefalse_;= Simpsons - Aromatic MaltGrain?J^Q@TfalseUK truefalseb:C# Briess DME - Bavarian WheatDry Extract?ž8 _falseUSdfalsefalsesome smooth alcohol becoming evident in the aftertaste. Medium hop and alcohol bitterness to balance. Light hop flavor, can be spicy or earthy. Very soft yeast character (esters and alcohols, which are sometimes perfumy or orange/lemon-like). Light spicy phenolics optional. Some lightly caramelized sugar or honey-like sweetness on palate.Medium-high to high carbonation, can give mouth-filling bubbly sensation. Medium body. Light to moderate alcohol warmth, but smooth. Can be somewhat creamy. Belgian Pils malt, aromatic malts, sugar, Belgian yeast strains that produce complex alcohol, phenolics and perfumy esters, noble, Styrian Goldings or East Kent Goldings hops. No spices are traditionally used, although the ingredients and fermentation by-products may give an impression of spicing (often reminiscent of oranges or lemons).Leffe Blond, Affligem Blond, La Trappe (Koningshoeven) Blond, Grimbergen Blond, Val-Dieu Blond, Straffe Hendrik Blonde, Brugse Zot, Pater Lieven Blond Abbey Ale, Troubadour Blond Ale ..\B? Briess LME - Golden LightExtract@7- lNfalseUSdfalsefalseoA) 5Special B MaltGrain?J^Q@PLfalseBelgiumSpecial B refers to a type of dark, flavorful crystal malt traditionally malted in Belgium. In small amounts, it gives a unique flavor to the finished beer that is often compared to raisins or dried fruit. This malt is always dark, but the color and flavor vary more than most other malt styles; most of the commonly available varieties are in the 110-160 L range, but it may be even darker. Don't depend on this software to calculate the color of your beer correctly, since it may be expecting a much darker malt than you are actually using; some older sources assume Special B will be over 200 or even up to 300 L. While some sources still claim that Special B must be mashed, it is a crystal malt and can be steeped with an extract batch without adding significant protein to the beer. truetrue -4Z(@Xp$  J@TN% ?333333$  J@TN% ?333333$  J@TN% ?333333  J  J  J  J  J  J  J  J  J  J  J  J  J  J  Jhand often showcases citrusy or resiny American varieties (although other varieties, such as floral, earthy or spicy English varieties or a blend of varieties, may be used). Low to moderately strong fruity esters and alcohol aromatics. Malt character may be sweet, caramelly, bready, or fairly neutral. However, the intensity of aromatics often subsides with age. No diacetyl.Color may range from light amber to medium copper; may rarely be as dark as light brown. Often has ruby highlights. Moderately-low to large off-white to light tan head; may have low head retention. May be cloudy with chill haze at cooler temperatures, but generally clears to good to brilliant clarity as it warms. The color may appear to have great depth, as if viewed through a thick glass lens. High alcohol and viscosity may be visible in "legs" when beer is swirled in a glass.Strong, intense malt flavor with noticeable bitterness. Moderately low to moderately high malty sweetness on the palate, although the finish may be somewhat sweet ito quite dry (depending on aging). Hop bitterness may range from moderately strong to aggressive. While strongly malty, the balance should always seem bitter. Moderate to high hop flavor (any variety). Low to moderate fruity esters. Noticeable alcohol presence, but sharp or solventy alcohol flavors are undesirable. Flavors will smooth out and decline over time, but any oxidized character should be muted (and generally be masked by the hop character). May have some bready or caramelly malt flavors, but these should not be high. Roasted or burnt malt flavors are inappropriate. No diacetyl.Full-bodied and chewy, with a velvety, luscious texture (although the body may decline with long conditioning). Alcohol warmth should be present, but not be excessively hot. Should not be syrupy and under-attenuated. Carbonation may be low to moderate, depending on age and conditioning.A well-hopped American interpretation of the richest and strongest of the English ales. The hop character should be evident throughout, but does not have to be unbalanced. The alcohol strength and hop bitterness often combine to leave a very long finish. Usually the strongest ale offered by a brewery, and in recent years many commercial examples are now vintage-dated. Normally aged significantly prior to release. Often associated with the winter or holiday season.Well-modified pale malt should form the backbone of the grist. Some specialty or character malts may be used. Dark malts should be used with great restraint, if at all, as most of the color arises from a lengthy boil. Citrusy American hops are common, although any varieties can be used in quantity. Generally uses an attenuative American yeast.Sierra Nevada Bigfoot, Great Divide Old Ruffian, Victory Old Horizontal, Rogue Old Crustacean, Avery Hog Heaven Barleywine, Bell's Third Coast Old Ale, Anchor Old Foghorn, Three Floyds Behemoth, Stone Old Guardian, Bridgeport Old Knucklehead, Hair of the Dog Doggie Claws, Lagunitas Olde GnarleyWine, Smuttynose Barleywine, Flying Dog Horn Dog O}]-Chinook ?JIjBoilMedium strength, spicy, piney aroma. Used in IPAs, stouts, porters, pale ales, and lagers for bittering.BothPellet@ DUSColumbus, Nugget@4 @Bo3Amarillo@#?ž7BoilA recent aroma variety, this citrusy American hop is also used for its smooth bittering properties due to its low cohumulone levels.BothPellet@USCascade, Centennial @6E{~!UCentennial@%?ž7BoilMedium with floral and citrus tones.BitteringPelletUSCascade :Entrants MUST specify carbonation level (still, petillant, or sparkling). Entrants MUST specify sweetness (dry or medium). The term for this category is traditional but possibly misleading: it is simply a cider with substantial added sugar to achieve higher alcohol than a common cider. Comparable to a Common Cider. Cider character must be distinctive. Very dry to slightly medium.Clear to brilliant, pale to medium-gold. Cloudiness or hazes are inappropriate. Dark colors are not expected unless strongly tannic varieties of fruit were used.Comparable to a Common Cider. Cider character must be distinctive. Very dry to slightly medium.Lighter than other ciders, because higher alcohol is derived from addition of sugar rather than juice. Carbonation may range from still to champagne-like.Like a dry white wine, balanced, and with low astringency and bitterness. [US] AEppelTreow Summer's End (WI), Wandering Aengus Pommeau (OR), Uncle John's Fruit House Winery Fruit House Apple (MI), Irvine's Vintage Ciders (WA)monger versions may show signs of body (e.g., legs).Displays a balanced character identifiable as both a beer and a mead, although the relative intensity of flavors is greatly affected by the sweetness, strength, base style of beer, and variety of honey used. If a beer style is declared, the braggot should have some character traceable to the style although the flavors will be different due to the presence of honey. If a variety of honey is declared, the braggot should feature a subtle to prominent varietal character (different varieties have different intensities). Stronger and/or sweeter braggots should be expected to have a greater intensity of flavor than drier, lower gravity versions. The finish and aftertaste will vary based on the declared level of sweetness (dry to sweet), and may include both beer and mead components. A wide range of malt characteristics is allowable, from plain base malts to rich caramel and toast flavors to dark chocolate and roast flavors. Hop bitterness and flavor may be presennt, and may reflect any variety or intensity; however, this optional character should always be both suggestive of the base beer style and well blended with the other flavors. Standard description applies for remainder of characteristics.Standard description does not apply due to beer-like characteristics. Smooth mouthfeel without astringency. Body may vary from moderately light to full, depending on sweetness, strength, and the base style of beer. Note that stronger meads will have a fuller body. A very thin or watery body is undesirable, as is a cloying, raw sweetness. A warming sense of well-aged alcohol may be present in stronger examples. Carbonation will vary as described in the standard description. A still braggot will usually have some level of carbonation (like a cask bitter) since a completely flat beer is unappetizing. However, just as an aged barleywine may be still, some braggots can be totally still.A harmonious blend of mead and beer, with the distinctive characteristics of both. A wide range of results are possible, depending on the base style of beer, variety of honey and overall sweetness and strength. Beer flavors tend to somewhat mask typical honey flavors found in other meads. A braggot is a standard mead made with both honey and malt providing flavor and fermentable extract. Originally, and alternatively, a mixture of mead and ale. A braggot can be made with any type of honey, and any type of base beer style. The malt component may be derived from grain or malt extracts. The beer may be hopped or not. If any other ingredients than honey and beer are contained in the braggot, it should be entered as an Open Category Mead. Smoked braggots may be entered in this category if using smoked malt or a smoked beer as the base style; braggots made using other smoked ingredients (e.g., liquid smoke, chipotles) should be entered in the Open Category Mead style. Rabbit's Foot Diabhal and Bière de Miele, Magic Hat Braggot, Brother Adams Braggot Barleywine Ale, White Winter Traditional Brackett R?mBriess - Caramel Malt 80LGrainKPfalseUSBriessPronounced caramel, slight burnt sugar, raisiny.@falsefalsemQ? ABriess - Caramel Malt 60LGrainL Single Step Infusion, 68 C 1 2.20000e+01 Conversion Step, 68C 1 Infusion 1.00000e+01 6.80000e+01 6.00000e+01 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 2.10000e+01 7.40000e+01 7.00000e+00 0.00000e+00 0.00000e+00 TRUE brewtarget-2.0.2/data/recipes.xml0000644000175000017500000036012112266512167016315 0ustar philipphilip American IPA - SN Celebration Ale 1 All Grain Who knows. 4.24250e+01 4.58250e+01 9.00000e+01 7.00000e+01 Chinook 1 1.10000e+01 4.25200e-02 Mash Both
Pellet 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00
Chinook 1 1.10000e+01 2.83500e-02 Boil Both
Pellet 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00
Centennial 1 9.90000e+00 1.13400e-01 Boil Both
Pellet 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00
Cascade 1 6.70000e+00 1.13400e-01 Boil Both
Pellet 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00
Cascade 1 6.70000e+00 1.13400e-01 Boil Both
Pellet 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00
Cascade 1 6.70000e+00 5.67000e-02 Dry Hop Both
Pellet 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00
Centennial 1 9.90000e+00 5.67000e-02 Dry Hop Both
Pellet 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00
Chinook 1 1.10000e+01 5.67000e-02 Dry Hop Both
Pellet 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00
Pale Malt (2 row) 1 Grain 1.17900e+01 7.80000e+01 3.00000e+00 FALSE 0.00000e+00 0.00000e+00 4.50000e+01 0.00000e+00 1.00000e+02 FALSE TRUE 0.00000e+00 CaraPils malt 1 Grain 9.07200e-01 7.00000e+01 2.00000e+00 FALSE 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 1.00000e+02 FALSE TRUE 0.00000e+00 Crystal 60L 1 Grain 9.07200e-01 7.40000e+01 6.00000e+01 FALSE 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 FALSE TRUE 0.00000e+00 Crystal 120L 1 Grain 4.53600e-01 7.40000e+01 6.00000e+01 FALSE 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 FALSE TRUE 0.00000e+00 Munich malt 1 Grain 4.53600e-01 7.50000e+01 6.00000e+00 FALSE 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 FALSE TRUE 0.00000e+00 California Ale 1 Ale
Liquid 2.50000e-01 FALSE White Labs 0.00000e+00 0.00000e+00 Medium 7.50000e+01 Ales 0 0 FALSE
Burton on Trent, UK 1 2.00000e+01 2.95000e+02 3.00000e+02 7.25000e+02 2.50000e+01 5.50000e+01 4.50000e+01 8.00000e+00 Use for distinctive pale ales strongly hopped. Very hard water accentuates the hops flavor. Example: Bass Ale 1 0.00000e+00 0.00000e+00 0.00000e+00 7.00000e+00 0.00000e+00 0.00000e+00 FALSE Based on Sierra Nevada's 1999 Celebration Ale 0.00000e+00 1.07193e+00 1.01798e+00 2 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 02/12/2011 0.00000e+00 FALSE 0.00000e+00 0.00000e+00 0.00000e+00
American Pilsner 1 All Grain Nobody 1.89271e+01 2.22672e+01 0.00000e+00 7.00000e+01 Saaz (USA) 1 3.00000e+00 4.96117e-02 Boil Very mild and pleasant, spicy and fragrant Aroma
Pellet 3.00000e+00 0.00000e+00 Czech Saaz 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00
Saaz (USA) 1 3.00000e+00 2.12621e-02 Boil Very mild and pleasant, spicy and fragrant Aroma
Pellet 3.00000e+00 0.00000e+00 Czech Saaz 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00
Hallertau 1 4.00000e+00 2.83495e-02 Boil mild, pleasant and slightly flowery. Aroma
Pellet 3.50000e+00 0.00000e+00 Mt. Hood, Liberty, Crystal. 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00
Hallertau 1 4.00000e+00 1.41748e-02 Dry Hop mild, pleasant and slightly flowery. Aroma
Pellet 3.50000e+00 0.00000e+00 Mt. Hood, Liberty, Crystal. 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00
Pilsner (2 Row) UK 1 Grain 4.53592e+00 7.80000e+01 1.00000e+00 FALSE United Kingdom 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 1.00000e+02 TRUE TRUE 0.00000e+00 Gypsum 1 Water Agent Mash 2.83495e-02 TRUE In the mash. Gypsum 1 Water Agent Mash 1.41748e-02 TRUE In the sparge. Wyeast - American Lager 1 Lager
Liquid 1.25000e-01 FALSE Wyeast Labs 2035 9.00000e+00 1.40000e+01 Medium 7.50000e+01 Bold, complex, and aromatic. Good depth of flavor for a variety of lagers. 0 0 FALSE
Single Step 1 2.10000e+01 Conversion 1 Infusion 1.22470e+01 6.66667e+01 6.00000e+01 0.00000e+00 6.66667e+01 7.34321e+01 0.00000e+00 Batch Sparge 1 Infusion 1.49412e+01 7.40000e+01 1.50000e+01 0.00000e+00 8.18138e+01 8.18138e+01 0.00000e+00 2.10000e+01 7.40000e+01 7.00000e+00 0.00000e+00 0.00000e+00 TRUE Ideal 1 2.17662e+01 1.89271e+01 3.02833e+01 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 1.50000e+01 2.83906e+00 6.00000e+01 TRUE 0.00000e+00 0.00000e+00 0.00000e+00 1.08490e+00 0.00000e+00 1.05023e+00 1.01256e+00 0 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 02/12/2011 0.00000e+00 FALSE 0.00000e+00 0.00000e+00 0.00000e+00
Bavarian Hefeweizen 1 All Grain Nobody 1.89271e+01 2.22672e+01 0.00000e+00 7.00000e+01 Hallertau 1 4.00000e+00 2.12621e-02 Boil mild, pleasant and slightly flowery. Aroma
Pellet 3.50000e+00 0.00000e+00 Mt. Hood, Liberty, Crystal. 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00
Hallertau 1 4.00000e+00 7.08738e-03 Boil mild, pleasant and slightly flowery. Aroma
Pellet 3.50000e+00 0.00000e+00 Mt. Hood, Liberty, Crystal. 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00
Wheat Malt, Ger 1 Grain 2.94835e+00 8.40000e+01 2.00000e+00 FALSE Germany 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 6.00000e+01 TRUE TRUE 0.00000e+00 Pilsner (2 Row) Ger 1 Grain 1.36078e+00 8.10000e+01 2.00000e+00 FALSE Germany 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 1.00000e+02 TRUE TRUE 0.00000e+00 Wyeast - Weihenstephan Weizen 1 Ale
Liquid 1.25000e-01 FALSE Wyeast Labs 3068 1.80000e+01 2.40000e+01 Low 7.50000e+01 0 0 FALSE
Single Step 1 2.10000e+01 Conversion 1 Infusion 1.16346e+01 6.72222e+01 9.00000e+01 0.00000e+00 6.72222e+01 7.40700e+01 0.00000e+00 Batch Sparge 1 Infusion 1.53075e+01 7.40000e+01 1.50000e+01 0.00000e+00 8.10132e+01 8.10132e+01 0.00000e+00 2.10000e+01 7.40000e+01 7.00000e+00 0.00000e+00 0.00000e+00 TRUE Ideal 1 2.17662e+01 1.89271e+01 3.02833e+01 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 1.50000e+01 2.83906e+00 6.00000e+01 TRUE 0.00000e+00 0.00000e+00 0.00000e+00 1.08490e+00 0.00000e+00 1.05081e+00 1.01270e+00 0 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 02/12/2011 0.00000e+00 FALSE 0.00000e+00 0.00000e+00 0.00000e+00
Belgian Blonde - SWMBO Slayer 1 All Grain Nobody 1.89271e+01 2.22672e+01 0.00000e+00 7.00000e+01 Willamette 1 5.00000e+00 2.83495e-02 Boil mild and pleasant, slightly spicy, aromatic. Aroma
Pellet 3.00000e+00 0.00000e+00 Fuggles, Styrian Goldings, Kent Goldings. 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00
Pale Malt (2 Row) US 1 Grain 2.72155e+00 7.90000e+01 2.00000e+00 FALSE US 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 1.00000e+02 TRUE TRUE 0.00000e+00 Wheat Malt, Bel 1 Grain 1.81437e+00 8.10000e+01 2.00000e+00 FALSE Belgium 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 6.00000e+01 TRUE TRUE 0.00000e+00 Caramel/Crystal Malt - 10L 1 Grain 2.26796e-01 7.50000e+01 1.00000e+01 FALSE US 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 2.00000e+01 FALSE TRUE 0.00000e+00 Wheat, Flaked 1 Grain 2.26796e-01 7.70000e+01 2.00000e+00 FALSE US 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 4.00000e+01 TRUE TRUE 0.00000e+00 Caravienne Malt 1 Grain 1.13398e-01 7.39000e+01 2.20000e+01 FALSE Belgium 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 1.00000e+01 FALSE TRUE 0.00000e+00 Wyeast - Belgian Wheat 1 Ale
Liquid 1.25000e-01 FALSE Wyeast Labs 3942 1.80000e+01 2.30000e+01 Medium 7.40000e+01 0 0 FALSE
Single step 1 2.10000e+01 Conversion 1 Infusion 0.00000e+00 6.83333e+01 6.00000e+01 0.00000e+00 6.83333e+01 0.00000e+00 0.00000e+00 2.10000e+01 7.40000e+01 7.00000e+00 0.00000e+00 0.00000e+00 TRUE Ideal 1 2.17662e+01 1.89271e+01 3.02833e+01 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 1.50000e+01 2.83906e+00 6.00000e+01 TRUE 0.00000e+00 0.00000e+00 0.00000e+00 1.08490e+00 0.00000e+00 1.05748e+00 1.01494e+00 0 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 02/12/2011 0.00000e+00 FALSE 0.00000e+00 0.00000e+00 0.00000e+00
Centennial Blonde 1 All Grain Nobody 1.89271e+01 2.22672e+01 0.00000e+00 7.00000e+01 Centennial 1 9.50000e+00 7.08738e-03 Boil Medium with floral and citrus tones. Bittering
Pellet 3.50000e+00 0.00000e+00 Cascade 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00
Centennial 1 9.50000e+00 7.08738e-03 Boil Medium with floral and citrus tones. Bittering
Pellet 3.50000e+00 0.00000e+00 Cascade 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00
Cascade 1 4.50000e+00 7.08738e-03 Boil Pleasant, flowery and spicy, citrus-like. Aroma
Pellet 4.50000e+00 0.00000e+00 Centennial 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00
Cascade 1 4.50000e+00 7.08738e-03 Boil Pleasant, flowery and spicy, citrus-like. Aroma
Pellet 4.50000e+00 0.00000e+00 Centennial 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00
Pale Malt (2 Row) US 1 Grain 3.17515e+00 7.90000e+01 2.00000e+00 FALSE US 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 1.00000e+02 TRUE TRUE 0.00000e+00 Cara-Pils/Dextrine 1 Grain 3.40194e-01 7.20000e+01 2.00000e+00 FALSE US 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 2.00000e+01 FALSE TRUE 0.00000e+00 Caramel/Crystal Malt - 10L 1 Grain 2.26796e-01 7.50000e+01 1.00000e+01 FALSE US 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 2.00000e+01 FALSE TRUE 0.00000e+00 Vienna Malt 1 Grain 2.26796e-01 7.80000e+01 4.00000e+00 FALSE Germany 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 9.00000e+01 TRUE TRUE 0.00000e+00 Danstar - Nottingham 1 Ale
Dry 1.10014e-02 FALSE Danstar 1.80000e+01 2.40000e+01 Low 8.00000e+01 0 0 FALSE
Single step 1 2.10000e+01 Conversion 1 Infusion 1.07161e+01 6.55556e+01 6.00000e+01 0.00000e+00 6.55556e+01 7.21564e+01 0.00000e+00 Batch Sparge 1 Infusion 1.58570e+01 7.40000e+01 1.50000e+01 0.00000e+00 8.08552e+01 8.08552e+01 0.00000e+00 2.10000e+01 7.40000e+01 7.00000e+00 0.00000e+00 0.00000e+00 TRUE Ideal 1 2.17662e+01 1.89271e+01 3.02833e+01 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 1.50000e+01 2.83906e+00 6.00000e+01 TRUE 0.00000e+00 0.00000e+00 0.00000e+00 1.08490e+00 0.00000e+00 1.04402e+00 1.00880e+00 0 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 02/12/2011 0.00000e+00 FALSE 0.00000e+00 0.00000e+00 0.00000e+00
Dry Stout 1 All Grain Brad Smith 1.89271e+01 2.22672e+01 6.00000e+01 7.20000e+01 Goldings, East Kent 1 5.00000e+00 6.38000e-02 Boil Great all purpose UK hop for ales, stouts, porters Both
Pellet 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00
Pale Malt (2 row) UK 1 Grain 2.27000e+00 7.80000e+01 3.00000e+00 FALSE United Kingdom Fussybrewer Malting All purpose base malt for English styles 1.50000e+00 4.00000e+00 4.50000e+01 1.02000e+01 1.00000e+02 FALSE TRUE 0.00000e+00 Barley, Flaked 1 Grain 9.10000e-01 7.00000e+01 2.00000e+00 FALSE United Kingdom Fussybrewer Malting Adds body to porters and stouts, must be mashed 1.50000e+00 9.00000e+00 0.00000e+00 1.32000e+01 2.00000e+01 TRUE TRUE 0.00000e+00 Black Barley 1 Grain 4.50000e-01 7.80000e+01 5.00000e+02 FALSE United Kingdom Fussybrewer Malting Unmalted roasted barley for stouts, porters 1.50000e+00 5.00000e+00 0.00000e+00 1.32000e+01 1.00000e+01 FALSE TRUE 0.00000e+00 Irish Moss 1 Fining Boil 1.00000e-02 FALSE Used as a clarifying agent during the last few minutes of the boil Irish Ale 1 Ale
Liquid 2.50000e-01 FALSE Wyeast Labs 1084 1.67000e+01 2.22000e+01 Medium 7.30000e+01 Dry, fruity flavor characteristic of stouts. Full bodied, dry, clean flavor. Irish Dry Stouts 0 0 FALSE
Burton on Trent, UK 1 2.00000e+01 2.95000e+02 3.00000e+02 7.25000e+02 2.50000e+01 5.50000e+01 4.50000e+01 8.00000e+00 Use for distinctive pale ales strongly hopped. Very hard water accentuates the hops flavor. Example: Bass Ale Single Step 1 2.11111e+01 Conversion 1 Infusion 9.80100e+00 6.66667e+01 6.00000e+01 0.00000e+00 6.66667e+01 7.34156e+01 0.00000e+00 Batch Sparge 1 Infusion 1.64044e+01 7.40000e+01 1.50000e+01 0.00000e+00 7.96954e+01 7.96954e+01 0.00000e+00 2.11111e+01 7.38889e+01 7.00000e+00 0.00000e+00 0.00000e+00 TRUE Ideal 1 2.17662e+01 1.89271e+01 3.02833e+01 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 1.50000e+01 2.83906e+00 6.00000e+01 TRUE 0.00000e+00 0.00000e+00 0.00000e+00 1.08490e+00 Nice dry Irish stout with a warm body but low starting gravity much like the famous drafts. 0.00000e+00 1.04029e+00 1.01088e+00 2 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 2.40000e+01 1.70000e+01 03/01/2004 2.10000e+00 FALSE 0.00000e+00 0.00000e+00 0.00000e+00
Extract - Session English Mild 1 All Grain Bob at homebrewtalk.com 1.89271e+01 1.13562e+01 0.00000e+00 7.00000e+01 Hallertau 1 4.00000e+00 2.83495e-02 Boil Mild, pleasant and slightly flowery. Aroma
Pellet 4.50000e+00 5.50000e+01 Mt. Hood, Liberty, Crystal. 5.50000e+01 1.45000e+01 2.45000e+01 1.65000e+01
Caramel/Crystal Malt - 60L 1 Grain 2.26796e-01 7.40000e+01 6.00000e+01 FALSE US This Medium Crystal malt will lend a well rounded caramel flavor, color and sweetness. This Crystal malt is a good choice if you're not sure which variety to use. 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 2.00000e+01 FALSE FALSE 0.00000e+00 Chocolate Malt (UK) 1 Grain 1.70097e-01 7.30000e+01 4.50000e+02 FALSE United Kingdom Ideal for British Porters and Brown or Mild Ales and even Stouts. It's a little darker than US Chocolate malt yet it has a slightly smoother character in the roast flavor and aroma profiles. 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 1.00000e+01 FALSE FALSE 0.00000e+00 Special Roast 1 Grain 1.13398e-01 7.20000e+01 5.00000e+01 FALSE US Briess Special Roast Malt is a specially processed malt from the American maltster, Briess. It is kilned using 6 row barley and it appears to be Victory Malt turned up a notch. Flavor: Toasty, Strong Biscuit, Sour Dough, Tangy. Any non-straw colored beer where roasty, toasty flavors are acceptable is a good candidate for this malt. Porters and Nut Brown Ales could take a good helping of this malt, and smaller amounts (less than 8 ounces) would work in Viennas, Märzens, and Alt beers. 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 1.00000e+01 TRUE FALSE 0.00000e+00 Light Dry Extract 1 Dry Extract 4.53592e-01 9.50000e+01 4.00000e+00 FALSE US 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 1.00000e+02 FALSE FALSE 0.00000e+00 Light Dry Extract 1 Dry Extract 1.36078e+00 9.50000e+01 4.00000e+00 TRUE US 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 1.00000e+02 FALSE FALSE 0.00000e+00 Danstar - Nottingham 1 Ale
Dry 1.10014e-02 FALSE Danstar 1.80000e+01 2.40000e+01 Low 8.00000e+01 0 0 FALSE
1 2.10000e+01 2.10000e+01 7.40000e+01 7.00000e+00 0.00000e+00 0.00000e+00 TRUE Pre-boil You should now have 0.000 tsp wort. Add 3.000 gal water to the kettle, bringing pre-boil volume to 3.000 gal. FALSE 00:00:00 FALSE 0.00000e+00 Start boil Bring the wort to a boil and hold for 1.000 hr. FALSE 00:00:00 FALSE 6.00000e+01 Boil/steep fermentables Boil or steep 8.000 oz Caramel/Crystal Malt - 60L, 6.000 oz Chocolate Malt (UK), 4.000 oz Special Roast, 1.000 lb Light Dry Extract, . FALSE 00:00:00 FALSE 6.00000e+01 Hop addition Put 1.000 oz Hallertau into boil for 1.000 hr. FALSE 00:00:00 FALSE 6.00000e+01 Knockout additions Add 3.000 lb Light Dry Extract, to the boil at knockout. FALSE 00:00:00 FALSE 0.00000e+00 Post boil You should have 2.500 gal wort post-boil. You anticipate losing 0.000 tsp to trub and chiller loss. Add 2.500 gal top up water into primary. The final volume in the primary is 5.000 gal. FALSE 00:00:00 FALSE 0.00000e+00 Pitch yeast Cool wort and pitch Danstar - Nottingham Ale yeast, to the primary. FALSE 00:00:00 FALSE 0.00000e+00 Ferment Let ferment until FG is 1.008. FALSE 00:00:00 FALSE 0.00000e+00 Transfer to secondary Transfer beer to secondary. FALSE 00:00:00 FALSE 0.00000e+00 5 gal extract - half boil 1 1.13563e+01 1.89271e+01 1.51416e+01 0.00000e+00 0.00000e+00 9.46353e+00 0.00000e+00 0.00000e+00 1.89271e+00 6.00000e+01 TRUE 0.00000e+00 1.13562e+01 0.00000e+00 1.08500e+00 This beer is light-bodied, smooth and easy-drinking. Malt character comes through nicely, just enough to keep you interested, but not enough to overwhelm the drinker. I modified the recipe recently from the original - over ten years old - to replace the dark extract with light, reflecting modern practice. I must have hit it, because nothing has changed in terms of flavor! 0.00000e+00 1.03831e+00 1.00766e+00 0 7.00000e+00 1.83333e+01 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 1.40000e+01 1.83333e+01 01/20/2008 1.70000e+00 FALSE 0.00000e+00 0.00000e+00 0.00000e+00
Extract - Stone Ruination IIPA 1 All Grain Yooper at homebrewtalk.com 1.89271e+01 2.08198e+01 0.00000e+00 7.00000e+01 Magnum 1 1.40000e+01 4.96117e-02 Boil Clean German flavor and aroma profile. Bittering
Pellet 6.00000e+00 7.25000e+01 Germany Galena 3.75000e+01 1.05000e+01 2.50000e+01 3.75000e+01
Centennial 1 9.60000e+00 2.83495e-02 Boil Medium with floral and citrus tones. Bittering
Pellet 4.00000e+00 0.00000e+00 US Cascade 1.10000e+01 5.00000e+00 2.90000e+01 5.80000e+01
Centennial 1 9.60000e+00 2.83495e-02 Boil Medium with floral and citrus tones. Bittering
Pellet 4.00000e+00 0.00000e+00 US Cascade 1.10000e+01 5.00000e+00 2.90000e+01 5.80000e+01
Centennial 1 9.60000e+00 2.83495e-02 Boil Medium with floral and citrus tones. Bittering
Pellet 4.00000e+00 0.00000e+00 US Cascade 1.10000e+01 5.00000e+00 2.90000e+01 5.80000e+01
Centennial 1 9.60000e+00 5.66990e-02 Dry Hop Medium with floral and citrus tones. Bittering
Pellet 4.00000e+00 0.00000e+00 US Cascade 1.10000e+01 5.00000e+00 2.90000e+01 5.80000e+01
Extra Light Dry Extract 1 Dry Extract 3.62874e+00 9.50000e+01 3.00000e+00 FALSE US 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 1.00000e+02 FALSE FALSE 0.00000e+00 Caramel/Crystal Malt - 20L 1 Grain 4.53592e-01 7.50000e+01 2.00000e+01 FALSE US This Crystal malt will provide a golden color and a sweet, mild caramel flavor. 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 2.00000e+01 FALSE FALSE 0.00000e+00 Wyeast - American Ale 1 Ale
Liquid 1.25000e-01 FALSE Wyeast Labs 1056 1.50000e+01 2.20000e+01 Low 7.50000e+01 Very clean, crisp flavor characteristics. Low fruitiness and mild ester production. Slightly citrus-like with cool (15-19C) fermentation. Versatile yeast, which produces many beer styles allowing malt and hop character to dominate the beer profile. Flocculation improves with dark malts in grain bill. Normally requires filtration for bright beers. Everything :) 0 0 FALSE
1 2.10000e+01 2.10000e+01 7.40000e+01 7.00000e+00 0.00000e+00 0.00000e+00 TRUE Pre-boil You should now have 0.000 tsp wort. Add 5.500 gal water to the kettle, bringing pre-boil volume to 5.500 gal. FALSE 00:00:00 FALSE 0.00000e+00 Start boil Bring the wort to a boil and hold for 1.000 hr. FALSE 00:00:00 FALSE 6.00000e+01 Boil/steep fermentables Boil or steep 8.000 lb Extra Light Dry Extract, 1.000 lb Caramel/Crystal Malt - 20L, . FALSE 00:00:00 FALSE 6.00000e+01 Hop addition Put 1.750 oz Magnum into boil for 1.000 hr. FALSE 00:00:00 FALSE 6.00000e+01 Hop addition Put 1.000 oz Centennial into boil for 30.000 min. FALSE 00:00:00 FALSE 3.00000e+01 Hop addition Put 1.000 oz Centennial into boil for 10.000 min. FALSE 00:00:00 FALSE 1.00000e+01 Hop addition Put 1.000 oz Centennial into boil for 1.000 min. FALSE 00:00:00 FALSE 1.00000e+00 Post boil You should have 5.000 gal wort post-boil. You anticipate losing 0.000 tsp to trub and chiller loss. The final volume in the primary is 5.000 gal. FALSE 00:00:00 FALSE 0.00000e+00 Pitch yeast Cool wort and pitch Wyeast - American Ale Ale yeast, to the primary. FALSE 00:00:00 FALSE 0.00000e+00 Ferment Let ferment until FG is 1.018. FALSE 00:00:00 FALSE 0.00000e+00 Transfer to secondary Transfer beer to secondary. FALSE 00:00:00 FALSE 0.00000e+00 Hop addition Put 2.000 oz Centennial into fermenter for 7.000 day. FALSE 00:00:00 FALSE 1.00800e+04 5 gal extract - full boil 1 2.08198e+01 1.89271e+01 2.27125e+01 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 1.89271e+00 6.00000e+01 TRUE 0.00000e+00 2.08198e+01 0.00000e+00 1.08500e+00 Very much like Stone Ruination, and it turned out really good! 0.00000e+00 1.07292e+00 1.01823e+00 0 1.40000e+01 1.66667e+01 7.00000e+00 1.83333e+01 0.00000e+00 0.00000e+00 1.40000e+01 1.83333e+01 01/07/2010 2.50000e+00 FALSE 0.00000e+00 0.00000e+00 0.00000e+00
Red Hook ESB Clone 1 All Grain Nobody 1.89271e+01 2.22672e+01 0.00000e+00 7.00000e+01 Willamette 1 5.50000e+00 1.41748e-02 Boil mild and pleasant, slightly spicy, aromatic. Aroma
Pellet 3.00000e+00 0.00000e+00 Fuggles, Styrian Goldings, Kent Goldings. 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00
Tettnang 1 6.50000e+00 1.41748e-02 Boil Fine, very spicy, mild, floral, very aromatic. Aroma
Pellet 3.00000e+00 0.00000e+00 Saaz 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00
Willamette 1 4.60000e+00 1.41748e-02 Boil mild and pleasant, slightly spicy, aromatic. Aroma
Pellet 3.00000e+00 0.00000e+00 Fuggles, Styrian Goldings, Kent Goldings. 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00
Tettnang 1 6.50000e+00 1.41748e-02 Boil Fine, very spicy, mild, floral, very aromatic. Aroma
Pellet 3.00000e+00 0.00000e+00 Saaz 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00
Pale Malt (2 Row) US 1 Grain 3.17515e+00 7.90000e+01 2.00000e+00 FALSE US 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 1.00000e+02 TRUE TRUE 0.00000e+00 Toasted pale malt (2 Row) 1 Grain 9.07185e-01 7.90000e+01 2.70000e+01 FALSE US Made by toasting 2-row at 350 F for 12-15 minutes. 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 1.00000e+02 TRUE TRUE 0.00000e+00 Caramel/Crystal Malt - 60L 1 Grain 4.53592e-01 7.40000e+01 6.00000e+01 FALSE US 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 2.00000e+01 FALSE TRUE 0.00000e+00 Cara-Pils/Dextrine 1 Grain 2.26796e-01 7.20000e+01 2.00000e+00 FALSE US 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 2.00000e+01 FALSE TRUE 0.00000e+00 Wyeast - British Ale 1 Ale
Liquid 1.25000e-01 FALSE Wyeast Labs 1098 1.80000e+01 2.20000e+01 Medium 7.40000e+01 Produces beers with a clean neutral finish allowing malt and hop character to dominate. Ferments dry and crips, slightly tart, fruity and well-balanced. Ferments well down to 18C. Blonde Ale, Scottish Light 60/-, Scottish Heavy 70/-, Scottish Export 80/-, Mild, Northern English Brown, Robust Porter, English IPA, English Barleywine 0 0 FALSE
Single step 1 2.10000e+01 Conversion 1 Infusion 1.28593e+01 6.94444e+01 6.00000e+01 0.00000e+00 6.94444e+01 7.66214e+01 0.00000e+00 Batch Sparge 1 Infusion 1.45749e+01 7.40000e+01 1.50000e+01 0.00000e+00 8.10628e+01 8.10628e+01 0.00000e+00 2.10000e+01 7.40000e+01 7.00000e+00 0.00000e+00 0.00000e+00 TRUE Ideal 1 2.17662e+01 1.89271e+01 3.02833e+01 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 1.50000e+01 2.83906e+00 6.00000e+01 TRUE 0.00000e+00 0.00000e+00 0.00000e+00 1.08490e+00 0.00000e+00 1.05287e+00 1.01375e+00 0 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 02/12/2011 0.00000e+00 FALSE 0.00000e+00 0.00000e+00 0.00000e+00
St. Faud's Irish Red 1 All Grain Nobody 1.89271e+01 2.22672e+01 0.00000e+00 7.00000e+01 Fuggles 1 5.00000e+00 2.83495e-02 Boil Mild and pleasant, spicy, soft, woody. Aroma
Pellet 1.50000e+00 0.00000e+00 Willamette, East Kent Goldings, Styrian Goldings. 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00
Kent Goldings 1 4.75000e+00 2.83495e-02 Boil Gentle, Fragrant and pleasant Aroma
Pellet 2.00000e+00 0.00000e+00 Goldings (British Columbia), Fuggles, Willamette. 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00
Vienna Malt 1 Grain 4.53592e+00 7.80000e+01 4.00000e+00 FALSE Germany 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 9.00000e+01 TRUE TRUE 0.00000e+00 Caramel/Crystal Malt - 30L 1 Grain 2.26796e-01 7.50000e+01 3.00000e+01 FALSE US 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 2.00000e+01 FALSE TRUE 0.00000e+00 Roasted Barley 1 Grain 1.13398e-01 5.50000e+01 3.00000e+02 FALSE US 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 1.00000e+01 FALSE TRUE 0.00000e+00 Cara-Pils/Dextrine 1 Grain 4.53592e-01 7.20000e+01 2.00000e+00 FALSE US 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 2.00000e+01 FALSE TRUE 0.00000e+00 Wyeast - Irish Ale 1 Ale
Liquid 1.25000e-01 FALSE Wyeast Labs 1084 1.60000e+01 2.20000e+01 Medium 7.30000e+01 This yeast ferments extremely well in dark worts. Beers fermented in the lower temperature range produce dry and crisp beers to fruity beers with nice complexity using fermentation temperatures above 18C. Scottish Light 60/-, Scottish Heavy 70/-, Scottish Export 80/-, Irish Red Ale, Strong Scotch Ale, American Amber Ale, Robust Porter, Baltic Porter, Dry Stout, Sweet Stout, Oatmeal Stout, Foreign Extra Stout, Imperial IPA, American Barleywine, Spice/Herb/Vegetable Beer, Other Smoked Beer, Wood-Aged Beer 0 0 FALSE
Single step 1 2.10000e+01 Conversion 1 Infusion 1.43902e+01 6.77778e+01 6.00000e+01 0.00000e+00 6.77778e+01 7.47078e+01 0.00000e+00 Batch Sparge 1 Infusion 1.36592e+01 7.40000e+01 1.50000e+01 0.00000e+00 8.33991e+01 8.33991e+01 0.00000e+00 2.10000e+01 7.40000e+01 7.00000e+00 0.00000e+00 0.00000e+00 TRUE Ideal 1 2.17662e+01 1.89271e+01 3.02833e+01 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 1.50000e+01 2.83906e+00 6.00000e+01 TRUE 0.00000e+00 0.00000e+00 0.00000e+00 1.08490e+00 0.00000e+00 1.05817e+00 1.01571e+00 0 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 0.00000e+00 02/12/2011 0.00000e+00 FALSE 0.00000e+00 0.00000e+00 0.00000e+00
brewtarget-2.0.2/src/0000755000175000017500000000000012266512167014014 5ustar philipphilipbrewtarget-2.0.2/src/TimerWidget.cpp0000644000175000017500000001467112266512167016755 0ustar philipphilip/* * TimerWidget.cpp is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include "TimerWidget.h" #include #include #include #include #include #include "brewtarget.h" TimerWidget::TimerWidget(QWidget* parent) : QWidget(parent), hours(0), minutes(0), seconds(0), start(true), timer(new QTimer(this)), flashTimer(new QTimer(this)), paletteOld(), paletteNew(), #if !defined(NO_PHONON) mediaObject(new Phonon::MediaObject(this)), audioOutput(new Phonon::AudioOutput(Phonon::MusicCategory, this)), #endif oldColors(true) { setupUi(this); timer->setInterval(1000); // One second between timeouts. flashTimer->setInterval(500); // PlaceholderText only exists in Qt 4.7 or greater. //lineEdit->setPlaceholderText( tr("HH:MM:SS") ); #if !defined(NO_PHONON) mediaObject->setTransitionTime(0); mediaObject->setPrefinishMark(10); // 10 ms. Phonon::createPath(mediaObject, audioOutput); // The following signal is emitted when we are almost at the end of the sound. // The slot re-queues the same song, so we get a loop. // This needs to be inside the ifdef -- connecting the mediaObject outside // causes a compile error connect( mediaObject, SIGNAL(prefinishMarkReached(qint32)), this, SLOT(doReplay(qint32)) ); #endif paletteOld = lcdNumber->palette(); paletteNew = QPalette(paletteOld); // Swap colors. paletteNew.setColor(QPalette::Active, QPalette::WindowText, paletteOld.color(QPalette::Active, QPalette::Window)); paletteNew.setColor(QPalette::Active, QPalette::Window, paletteOld.color(QPalette::Active, QPalette::WindowText)); connect( timer, SIGNAL(timeout()), this, SLOT(subtractOneSecond()) ); connect( flashTimer, SIGNAL(timeout()), this, SLOT(flash()) ); connect( this, SIGNAL(timerDone()), this, SLOT(endTimer()) ); connect( pushButton_set, SIGNAL(clicked()), this, SLOT(setTimer()) ); connect( pushButton_startStop, SIGNAL(clicked()), this, SLOT(startStop()) ); connect( pushButton_sound, SIGNAL(clicked()), this, SLOT(getSound()) ); showChanges(); } TimerWidget::~TimerWidget() { } void TimerWidget::doReplay(qint32 /*msecToEnd*/) { #if !defined(NO_PHONON) mediaObject->enqueue( mediaObject->currentSource() ); #endif } void TimerWidget::getSound() { QDir soundsDir = QString("%1sounds/").arg(Brewtarget::getDataDir()); #if !defined(NO_PHONON) QString soundFile = QFileDialog::getOpenFileName( qobject_cast(this), tr("Open Sound"), soundsDir.exists() ? soundsDir.canonicalPath() : "", tr("Audio Files (*.wav *.ogg *.mp3 *.aiff)") ); if (! soundFile.isNull()) { mediaObject->clearQueue(); mediaObject->setCurrentSource(soundFile); pushButton_sound->setCheckable(true); // indicate a sound is loaded pushButton_sound->setChecked(true); } #endif } QString TimerWidget::getTimerValue() { return QString("%1:%2:%3").arg(hours,2,10,QChar('0')).arg(minutes,2,10,QChar('0')).arg(seconds,2,10,QChar('0')); } void TimerWidget::flash() { oldColors = ! oldColors; if( oldColors ) lcdNumber->setPalette(paletteOld); else lcdNumber->setPalette(paletteNew); // Update doesn't repaint when the window is out of focus... //lcdNumber->update(); lcdNumber->repaint(); } void TimerWidget::setTimer() { #if !defined(NO_PHONON) mediaObject->stop(); #endif stopFlashing(); setTimer(lineEdit->text()); emit timerSet(getTimerValue()); } void TimerWidget::stopFlashing() { flashTimer->stop(); lcdNumber->setPalette(paletteOld); lcdNumber->update(); } void TimerWidget::endTimer() { timer->stop(); flashTimer->start(); #if !defined(NO_PHONON) mediaObject->play(); #endif //pushButton_startStop->setText("Start"); //start = true; } void TimerWidget::setTimer(QString text) { QStringList strList = text.split(":", QString::SkipEmptyParts); bool conversionOk = true; if( strList.size() == 1 ) { seconds = strList[0].toUInt(&conversionOk); if( ! conversionOk ) seconds = 0; hours = 0; minutes = 0; } else if( strList.size() == 2 ) { minutes = strList[0].toUInt(&conversionOk); if( ! conversionOk ) minutes = 0; seconds = strList[1].toUInt(&conversionOk); if( ! conversionOk ) seconds = 0; hours = 0; } else if( strList.size() == 3 ) { hours = strList[0].toUInt(&conversionOk); if( ! conversionOk ) hours = 0; minutes = strList[1].toUInt(&conversionOk); if( ! conversionOk ) minutes = 0; seconds = strList[2].toUInt(&conversionOk); if( ! conversionOk ) seconds = 0; } else { hours = 0; minutes = 0; seconds = 0; } if( seconds >= 60 ) { minutes += seconds/(unsigned int)60; seconds = seconds % 60; } if( minutes >= 60 ) { hours += minutes/(unsigned int)60; minutes = minutes % 60; } showChanges(); } void TimerWidget::startStop() { if( start ) { timer->start(); pushButton_startStop->setText(tr("Stop")); start = false; } else { timer->stop(); #if !defined(NO_PHONON) mediaObject->stop(); #endif stopFlashing(); pushButton_startStop->setText(tr("Start")); start = true; } } void TimerWidget::subtractOneSecond() { if( seconds == 0 ) { if( minutes == 0 && hours == 0 ) emit timerDone(); else { subtractOneMinute(); seconds = 59; } } else seconds--; showChanges(); } void TimerWidget::subtractOneMinute() { if( minutes == 0 ) { hours--; minutes = 59; } else minutes--; } void TimerWidget::showChanges() { lcdNumber->display(getTimerValue()); } brewtarget-2.0.2/src/WaterTableWidget.h0000644000175000017500000000235612266512167017371 0ustar philipphilip/* * WaterTableWidget.h is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef _WATERTABLEWIDGET_H #define _WATERTABLEWIDGET_H class WaterTableWidget; #include #include class WaterTableModel; /*! * \class WaterTableWidget * \author Philip G. Lee * * \brief Completely redundant class. Remove and just use QTableView. */ class WaterTableWidget : public QTableView { Q_OBJECT public: WaterTableWidget(QWidget* parent=0); WaterTableModel* getModel(); private: WaterTableModel* model; }; #endif /* _WATERTABLEWIDGET_H */ brewtarget-2.0.2/src/EquipmentButton.cpp0000644000175000017500000000373112266512167017667 0ustar philipphilip/* * EquipmentButton.cpp is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include "EquipmentButton.h" #include "equipment.h" #include "recipe.h" #include EquipmentButton::EquipmentButton(QWidget* parent) : QPushButton(parent), _rec(0), _equip(0) { } void EquipmentButton::setRecipe(Recipe* rec) { if(_rec) disconnect( _rec, 0, this, 0 ); _rec = rec; if( _rec ) { connect( _rec, SIGNAL(changed(QMetaProperty,QVariant)), this, SLOT(recChanged(QMetaProperty,QVariant)) ); setEquipment( _rec->equipment() ); } else setEquipment(0); } void EquipmentButton::setEquipment(Equipment* equip) { if( _equip ) disconnect( _equip, 0, this, 0 ); _equip = equip; if( _equip ) { connect( _equip, SIGNAL(changed(QMetaProperty,QVariant)), this, SLOT(equipChanged(QMetaProperty,QVariant)) ); setText( _equip->name() ); } else setText(""); } void EquipmentButton::equipChanged(QMetaProperty prop, QVariant val) { QString propName(prop.name()); if( propName == "name" ) setText( val.toString() ); } void EquipmentButton::recChanged(QMetaProperty prop, QVariant val) { QString propName(prop.name()); if( propName == "equipment" ) setEquipment( qobject_cast(BeerXMLElement::extractPtr(val)) ); } brewtarget-2.0.2/src/USVolumeUnitSystem.cpp0000644000175000017500000001134512266512167020310 0ustar philipphilip/* * USVolumeUnitSystem.cpp is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include "USVolumeUnitSystem.h" #include #include bool USVolumeUnitSystem::isMapSetup = false; USVolumeUnitSystem::USVolumeUnitSystem() { } QString USVolumeUnitSystem::displayAmount( double amount, Unit* units, unitScale scale ) { QString SIUnitName = units->getSIUnitName(); double SIAmount = units->toSI( amount ); double absSIAmount = qAbs(SIAmount); QString ret; // Special cases. Make sure the unit isn't null and that we're // dealing with volume. if( units == 0 || SIUnitName.compare("L") != 0 ) return QString("%L1").arg(amount, fieldWidth, format, precision); switch(scale) { case extrasmall: ret = QString("%L1 %2").arg(Units::us_teaspoons->fromSI(SIAmount), fieldWidth, format, precision).arg(Units::us_teaspoons->getUnitName()); break; case small: ret = QString("%L1 %2").arg(Units::us_tablespoons->fromSI(SIAmount), fieldWidth, format, precision).arg(Units::us_tablespoons->getUnitName()); break; case medium: ret = QString("%L1 %2").arg(Units::us_cups->fromSI(SIAmount), fieldWidth, format, precision).arg(Units::us_cups->getUnitName()); break; case large: ret = QString("%L1 %2").arg(Units::us_quarts->fromSI(SIAmount), fieldWidth, format, precision).arg(Units::us_quarts->getUnitName()); break; case extralarge: ret = QString("%L1 %2").arg(Units::us_gallons->fromSI(SIAmount), fieldWidth, format, precision).arg(Units::us_gallons->getUnitName()); break; default: if( absSIAmount < Units::us_tablespoons->toSI(1.0) ) // If less than 1 tbsp, show tsp ret = QString("%L1 %2").arg(Units::us_teaspoons->fromSI(SIAmount), fieldWidth, format, precision).arg(Units::us_teaspoons->getUnitName()); else if( absSIAmount < Units::us_cups->toSI(0.25) ) // If less than 1/4 cup, show tbsp ret = QString("%L1 %2").arg(Units::us_tablespoons->fromSI(SIAmount), fieldWidth, format, precision).arg(Units::us_tablespoons->getUnitName()); else if( absSIAmount < Units::us_quarts->toSI(1.0) ) // If less than 1 qt, show us_cups ret = QString("%L1 %2").arg(Units::us_cups->fromSI(SIAmount), fieldWidth, format, precision).arg(Units::us_cups->getUnitName()); else if( absSIAmount < Units::us_gallons->toSI(1.0) ) // If less than 1 gallon, show us_quarts ret = QString("%L1 %2").arg(Units::us_quarts->fromSI(SIAmount), fieldWidth, format, precision).arg(Units::us_quarts->getUnitName()); else if( absSIAmount < Units::us_barrels->toSI(1.0) ) // If less than 1 barrel, show gallons. ret = QString("%L1 %2").arg(Units::us_gallons->fromSI(SIAmount), fieldWidth, format, precision).arg(Units::us_gallons->getUnitName()); else ret = QString("%L1 %2").arg(Units::us_barrels->fromSI(SIAmount), fieldWidth, format, precision).arg(Units::us_barrels->getUnitName()); } return ret; } double USVolumeUnitSystem::qstringToSI( QString qstr ) { ensureMapIsSetup(); return UnitSystem::qstringToSI(qstr,Units::us_gallons); } void USVolumeUnitSystem::ensureMapIsSetup() { // If it is setup, return now. if( isMapSetup ) return; nameToUnit.insert(Units::liters->getUnitName(), Units::liters); nameToUnit.insert(Units::milliliters->getUnitName(), Units::milliliters); // Assume that "gal" "qt" etc. refer to the US versions. nameToUnit.insert(Units::us_barrels->getUnitName(), Units::us_barrels); nameToUnit.insert(Units::us_gallons->getUnitName(), Units::us_gallons); nameToUnit.insert(Units::us_quarts->getUnitName(), Units::us_quarts); nameToUnit.insert(Units::us_cups->getUnitName(), Units::us_cups); nameToUnit.insert(Units::us_tablespoons->getUnitName(), Units::us_tablespoons); nameToUnit.insert(Units::us_teaspoons->getUnitName(), Units::us_teaspoons); isMapSetup = true; } Unit* USVolumeUnitSystem::thicknessUnit() { return Units::us_quarts; } QString USVolumeUnitSystem::unitType() { return "USCustomary"; } brewtarget-2.0.2/src/QueuedMethod.cpp0000644000175000017500000000641012266512167017112 0ustar philipphilip/* * QueuedMethod.h is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include "QueuedMethod.h" #include #include #include #include QList< QSharedPointer > QueuedMethod::_queue; QueuedMethod::QueuedMethod( QObject* obj, QString const& methodName, //QGenericReturnArgument ret, bool startImmediately, QGenericArgument arg0 ) : QThread(), _chainedMethod(), _obj(obj), _methodName(methodName), //_retName(ret.name()), //_retData(ret.data()), _arg0Name(arg0.name()), _arg0Data(arg0.data()) { if( startImmediately ) start(); } QueuedMethod::~QueuedMethod() { qDebug() << "~QueuedMethod()"; qDebug() << " thread=" << QThread::currentThread(); } void QueuedMethod::run() { // This will call executeFunction() once the event loop starts. QTimer::singleShot(0, this, SLOT(executeFunction())); // This call starts the event loop and blocks until it is stopped. exec(); } void QueuedMethod::executeFunction() { // Do the function call. success = QMetaObject::invokeMethod( _obj, _methodName.toStdString().c_str(), Qt::QueuedConnection, //QGenericReturnArgument(_retName, _retData), QGenericArgument(_arg0Name, _arg0Data) ); //qDebug() << _methodName << ": " << success; emit done(success); // If there is no chained method, we are done. if( !_chainedMethod ) { quit(); // Should cause event loop to stop, and run() to return. dequeueMyself(); } } void QueuedMethod::enqueue( QSharedPointer qm ) { if( !_queue.contains(qm) ) _queue.append(qm); } void QueuedMethod::dequeueMyself() { //qDebug() << "Dequeueing: " << this; // First, find a shared-pointer that has internal pointer equal to 'this' QList< QSharedPointer >::iterator i = _queue.begin(); while( i != _queue.end() && *i != this ) i++; // If we found a matching shared pointer, remove all of them from the queue. if( *i == this ) _queue.removeAll(*i); } QSharedPointer QueuedMethod::chainWith( QSharedPointer other ) { _chainedMethod = other; connect( this, SIGNAL(done(bool)), this, SLOT(startChained()) ); return other; } void QueuedMethod::startChained() { //qDebug() << "startChained(): " << this << _chainedMethod; if( _chainedMethod ) _chainedMethod->start(); // Since this is the last thing we should do, safe to exit the thread. quit(); // Stops the event loop. dequeueMyself(); } brewtarget-2.0.2/src/TimerWidget.h0000644000175000017500000000415512266512167016416 0ustar philipphilip/* * TimerWidget.h is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef _TIMERWIDGET_H #define _TIMERWIDGET_H class TimerWidget; #include "ui_timerWidget.h" #include #include #include #include #if !defined(NO_PHONON) #include #include #endif /*! * \class TimerWidget * \author Philip G. Lee * * \brief Countdown timer that plays sounds and flashes when done. */ class TimerWidget : public QWidget, public Ui::timerWidget { Q_OBJECT public: TimerWidget(QWidget* parent=0); ~TimerWidget(); //! \returns text version of the timer display. QString getTimerValue(); public slots: void setTimer(QString text); void setTimer(); void startStop(); void subtractOneSecond(); void endTimer(); void showChanges(); void flash(); void getSound(); private slots: /*! * Puts another copy of the file on queue to be played. */ void doReplay(qint32 msecToEnd); signals: void timerDone(); void timerSet(QString text); private: void subtractOneMinute(); void stopFlashing(); unsigned int hours; unsigned int minutes; unsigned int seconds; bool start; QTimer* timer; QTimer* flashTimer; QPalette paletteOld, paletteNew; #if !defined(NO_PHONON) Phonon::MediaObject *mediaObject; Phonon::AudioOutput *audioOutput; #endif bool oldColors; }; #endif /* _TIMERWIDGET_H */ brewtarget-2.0.2/src/FermentableDialog.h0000644000175000017500000000376012266512167017537 0ustar philipphilip/* * FermentableDialog.h is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef _FERMENTABLEDIALOG_H #define _FERMENTABLEDIALOG_H class FermentableDialog; #include #include #include #include #include "ui_fermentableDialog.h" // Forward declarations. class MainWindow; class FermentableEditor; class FermentableTableModel; class FermentableSortFilterProxyModel; /*! * \class FermentableDialog * \author Philip G. Lee * * \brief View/controller class that shows the list of fermentables in the database. */ class FermentableDialog : public QDialog, public Ui::fermentableDialog { Q_OBJECT public: FermentableDialog(MainWindow* parent); virtual ~FermentableDialog() {} public slots: /*! If \b index is the default, will add the selected fermentable to list. * Otherwise, will add the fermentable at the specified index. */ void addFermentable(const QModelIndex& index = QModelIndex()); void removeFermentable(); void editSelected(); void newFermentable(); //void changed(QMetaProperty,QVariant); private: MainWindow* mainWindow; FermentableTableModel* fermTableModel; FermentableSortFilterProxyModel* fermTableProxy; FermentableEditor* fermEdit; int numFerms; //void populateTable(); }; #endif /* _FERMENTABLEDIALOG_H */ brewtarget-2.0.2/src/FermentableTableModel.cpp0000644000175000017500000005021112266512167020674 0ustar philipphilip/* * FermentableTableModel.cpp is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include #include #include #include #include #include #include #include #include #include #include #include "database.h" #include "brewtarget.h" #include #include #include #include #include #include "fermentable.h" #include "FermentableTableModel.h" #include "unit.h" #include "recipe.h" //=====================CLASS FermentableTableModel============================== FermentableTableModel::FermentableTableModel(QTableView* parent, bool editable) : QAbstractTableModel(parent), parentTableWidget(parent), editable(editable), recObs(0), displayPercentages(false), totalFermMass_kg(0) { fermObs.clear(); // for units and scales setObjectName("fermentableTable"); } void FermentableTableModel::observeRecipe(Recipe* rec) { if( recObs ) { disconnect( recObs, 0, this, 0 ); removeAll(); } recObs = rec; if( recObs ) { connect( recObs, SIGNAL(changed(QMetaProperty,QVariant)), this, SLOT(changed(QMetaProperty,QVariant)) ); addFermentables( recObs->fermentables() ); } } void FermentableTableModel::observeDatabase(bool val) { if( val ) { // Observing a database and a recipe are mutually exclusive. observeRecipe(0); removeAll(); connect( &(Database::instance()), SIGNAL(newFermentableSignal(Fermentable*)), this, SLOT(addFermentable(Fermentable*)) ); connect( &(Database::instance()), SIGNAL(deletedFermentableSignal(Fermentable*)), this, SLOT(removeFermentable(Fermentable*)) ); addFermentables( Database::instance().fermentables() ); } else { disconnect( &(Database::instance()), 0, this, 0 ); removeAll(); } } void FermentableTableModel::addFermentable(Fermentable* ferm) { //Check to see if it's already in the list if( fermObs.contains(ferm) ) return; // If we are observing the database, ensure that the ferm is undeleted and // fit to display. if( recObs == 0 && ( ferm->deleted() || !ferm->display() ) ) return; int size = fermObs.size(); beginInsertRows( QModelIndex(), size, size ); fermObs.append(ferm); connect( ferm, SIGNAL(changed(QMetaProperty,QVariant)), this, SLOT(changed(QMetaProperty,QVariant)) ); totalFermMass_kg += ferm->amount_kg(); //reset(); // Tell everybody that the table has changed. endInsertRows(); if(parentTableWidget) { parentTableWidget->resizeColumnsToContents(); parentTableWidget->resizeRowsToContents(); } } void FermentableTableModel::addFermentables(QList ferms) { QList::iterator i; QList tmp; for( i = ferms.begin(); i != ferms.end(); i++ ) { if( !fermObs.contains(*i) ) tmp.append(*i); } int size = fermObs.size(); if (size+tmp.size()) { beginInsertRows( QModelIndex(), size, size+tmp.size()-1 ); fermObs.append(tmp); for( i = tmp.begin(); i != tmp.end(); i++ ) { connect( *i, SIGNAL(changed(QMetaProperty,QVariant)), this, SLOT(changed(QMetaProperty,QVariant)) ); totalFermMass_kg += (*i)->amount_kg(); } endInsertRows(); } if(parentTableWidget) { parentTableWidget->resizeColumnsToContents(); parentTableWidget->resizeRowsToContents(); } } bool FermentableTableModel::removeFermentable(Fermentable* ferm) { int i; i = fermObs.indexOf(ferm); if( i >= 0 ) { beginRemoveRows( QModelIndex(), i, i ); disconnect( ferm, 0, this, 0 ); fermObs.removeAt(i); totalFermMass_kg -= ferm->amount_kg(); //reset(); // Tell everybody the table has changed. endRemoveRows(); if(parentTableWidget) { parentTableWidget->resizeColumnsToContents(); parentTableWidget->resizeRowsToContents(); } return true; } return false; } void FermentableTableModel::removeAll() { if (fermObs.size()) { beginRemoveRows( QModelIndex(), 0, fermObs.size()-1 ); while( !fermObs.isEmpty() ) { disconnect( fermObs.takeLast(), 0, this, 0 ); } endRemoveRows(); } // I think we need to zero this out totalFermMass_kg = 0; } void FermentableTableModel::updateTotalGrains() { int i, size; totalFermMass_kg = 0; size = fermObs.size(); for( i = 0; i < size; ++i ) totalFermMass_kg += fermObs[i]->amount_kg(); } void FermentableTableModel::setDisplayPercentages(bool var) { displayPercentages = var; } void FermentableTableModel::changed(QMetaProperty prop, QVariant /*val*/) { int i; // Is sender one of our fermentables? Fermentable* fermSender = qobject_cast(sender()); if( fermSender ) { i = fermObs.indexOf(fermSender); if( i < 0 ) return; updateTotalGrains(); emit dataChanged( QAbstractItemModel::createIndex(i, 0), QAbstractItemModel::createIndex(i, FERMNUMCOLS-1)); if( displayPercentages && rowCount() > 0 ) emit headerDataChanged( Qt::Vertical, 0, rowCount()-1 ); //reset(); return; } // See if our recipe gained or lost fermentables. Recipe* recSender = qobject_cast(sender()); if( recSender && recSender == recObs && QString(prop.name()) == "fermentables" ) { removeAll(); addFermentables( recObs->fermentables() ); return; } } int FermentableTableModel::rowCount(const QModelIndex& /*parent*/) const { return fermObs.size(); } int FermentableTableModel::columnCount(const QModelIndex& /*parent*/) const { return FERMNUMCOLS; } QVariant FermentableTableModel::data( const QModelIndex& index, int role ) const { Fermentable* row; int col = index.column(); unitScale scale; unitDisplay unit; // Ensure the row is ok. if( index.row() >= (int)fermObs.size() ) { Brewtarget::log(Brewtarget::ERROR, tr("Bad model index. row = %1").arg(index.row())); return QVariant(); } else row = fermObs[index.row()]; switch( col ) { case FERMNAMECOL: if( role == Qt::DisplayRole ) return QVariant(row->name()); else return QVariant(); case FERMTYPECOL: if( role == Qt::DisplayRole ) return QVariant(row->typeStringTr()); else if( role == Qt::UserRole ) return QVariant(row->type()); else return QVariant(); case FERMAMOUNTCOL: if( role != Qt::DisplayRole ) return QVariant(); // Figure out which unit to use. The cell-specific code is on hold // unit = row->displayUnit() == noUnit ? displayUnit(col) : row->displayUnit(); // scale = row->displayScale() == noScale ? displayScale(col) : row->displayScale(); // So just query the columns unit = displayUnit(col); scale = displayScale(col); return QVariant( Brewtarget::displayAmount(row->amount_kg(), Units::kilograms, 3, unit, scale) ); case FERMISMASHEDCOL: if( role == Qt::CheckStateRole ) return QVariant( row->isMashed() ? Qt::Checked : Qt::Unchecked); else if( role == Qt::DisplayRole ) { if( row->type() == Fermentable::Grain) return row->isMashed() ? tr("Mashed") : tr("Steeped"); else return row->isMashed() ? tr("Mashed") : tr("Not mashed"); } else return QVariant(); case FERMAFTERBOIL: if( role == Qt::CheckStateRole ) return QVariant( row->addAfterBoil() ? Qt::Checked : Qt::Unchecked ); else if( role == Qt::DisplayRole ) return row->addAfterBoil()? tr("Late") : tr("Normal"); else return QVariant(); case FERMYIELDCOL: if( role == Qt::DisplayRole ) return QVariant( Brewtarget::displayAmount(row->yield_pct(), 0) ); else return QVariant(); case FERMCOLORCOL: if( role != Qt::DisplayRole ) return QVariant(); unit = displayUnit(col); if ( unit == noUnit ) unit = Brewtarget::getColorUnit(); return QVariant( Brewtarget::displayColor(row->color_srm(), unit, false) ); default : Brewtarget::log(Brewtarget::ERROR, tr("Bad column: %1").arg(col)); return QVariant(); } } QVariant FermentableTableModel::headerData( int section, Qt::Orientation orientation, int role ) const { int unit; if( orientation == Qt::Horizontal && role == Qt::DisplayRole ) { switch( section ) { case FERMNAMECOL: return QVariant(tr("Name")); case FERMTYPECOL: return QVariant(tr("Type")); case FERMAMOUNTCOL: return QVariant(tr("Amount")); case FERMISMASHEDCOL: return QVariant(tr("Mashed")); case FERMAFTERBOIL: return QVariant(tr("Late Addition")); case FERMYIELDCOL: return QVariant(tr("Yield %")); case FERMCOLORCOL: unit = displayUnit(section); if ( unit == noUnit ) unit = Brewtarget::getColorUnit(); if ( unit == displaySrm) return QVariant(tr("Color (SRM)")); else return QVariant(tr("Color (EBC)")); default: Brewtarget::log(Brewtarget::WARNING, tr("Bad column: %1").arg(section)); return QVariant(); } } else if( displayPercentages && orientation == Qt::Vertical && role == Qt::DisplayRole ) { double perMass = 0.0; if ( totalFermMass_kg > 0.0 ) perMass = fermObs[section]->amount_kg()/totalFermMass_kg; return QVariant( QString("%1%").arg( (double)100.0 * perMass, 0, 'f', 0 ) ); } else return QVariant(); } Qt::ItemFlags FermentableTableModel::flags(const QModelIndex& index ) const { Qt::ItemFlags defaults = Qt::ItemIsEnabled; int col = index.column(); Fermentable* row = fermObs[index.row()]; if( col == FERMISMASHEDCOL ) { // Ensure that being mashed and being a late addition are mutually exclusive. if( !row->addAfterBoil() ) return (defaults | (editable ? Qt::ItemIsUserCheckable : Qt::NoItemFlags)); else return (editable ? Qt::ItemIsUserCheckable : Qt::NoItemFlags); } else if( col == FERMAFTERBOIL ) { // Ensure that being mashed and being a late addition are mutually exclusive. if( !row->isMashed() ) return (defaults | (editable ? Qt::ItemIsUserCheckable : Qt::NoItemFlags)); else return (editable ? Qt::ItemIsUserCheckable : Qt::NoItemFlags); } else if( col == FERMNAMECOL ) return (defaults | Qt::ItemIsSelectable); else return (defaults | Qt::ItemIsSelectable | (editable ? Qt::ItemIsEditable : Qt::NoItemFlags) ); } /* --maf-- The cell-specific work has been momentarily disabled until I can find a better way to implement. PLEASE DO NOT DELETE unitDisplay FermentableTableModel::displayUnit(const QModelIndex& index) { Fermentable* row; if ( index.row() >= fermObs.size() ) return noUnit; row = fermObs[index.row()]; return row->displayUnit(); } void FermentableTableModel::setDisplayUnit(const QModelIndex& index, unitDisplay displayUnit) { Fermentable* row; if ( index.row() >= fermObs.size() ) return; row = fermObs[index.row()]; row->setDisplayUnit(displayUnit); } unitScale FermentableTableModel::displayScale(const QModelIndex& index) { Fermentable* row; if ( index.row() >= fermObs.size() ) return noScale; row = fermObs[index.row()]; return row->displayScale(); } void FermentableTableModel::setDisplayScale(const QModelIndex& index, unitScale displayScale) { Fermentable* row; if ( index.row() >= fermObs.size() ) return; row = fermObs[index.row()]; row->setDisplayScale(displayScale); } */ unitDisplay FermentableTableModel::displayUnit(int column) const { QString attribute = generateName(column); if ( attribute.isEmpty() ) return noUnit; return (unitDisplay)Brewtarget::option(attribute, QVariant(-1), this, Brewtarget::UNIT).toInt(); } unitScale FermentableTableModel::displayScale(int column) const { QString attribute = generateName(column); if ( attribute.isEmpty() ) return noScale; return (unitScale)Brewtarget::option(attribute, QVariant(-1), this, Brewtarget::SCALE).toInt(); } // We need to: // o clear the custom scale if set // o clear any custom unit from the rows // o which should have the side effect of clearing any scale void FermentableTableModel::setDisplayUnit(int column, unitDisplay displayUnit) { // Fermentable* row; // disabled per-cell magic QString attribute = generateName(column); if ( attribute.isEmpty() ) return; Brewtarget::setOption(attribute,displayUnit,this,Brewtarget::UNIT); Brewtarget::setOption(attribute,noScale,this,Brewtarget::SCALE); /* Disabled cell-specific code for (int i = 0; i < rowCount(); ++i ) { row = getFermentable(i); row->setDisplayUnit(noUnit); } */ } // Setting the scale should clear any cell-level scaling options void FermentableTableModel::setDisplayScale(int column, unitScale displayScale) { // Fermentable* row; //disabled per-cell magic QString attribute = generateName(column); if ( attribute.isEmpty() ) return; Brewtarget::setOption(attribute,displayScale,this,Brewtarget::SCALE); /* disabled cell-specific code for (int i = 0; i < rowCount(); ++i ) { row = getFermentable(i); row->setDisplayScale(noScale); } */ } QString FermentableTableModel::generateName(int column) const { QString attribute; switch(column) { case FERMAMOUNTCOL: attribute = "amount_kg"; break; case FERMCOLORCOL: attribute = "color_srm"; break; default: attribute = ""; } return attribute; } bool FermentableTableModel::setData( const QModelIndex& index, const QVariant& value, int role ) { Fermentable* row; double color; unitDisplay unit; if( index.row() >= (int)fermObs.size() ) { return false; } else row = fermObs[index.row()]; switch( index.column() ) { case FERMNAMECOL: if( value.canConvert(QVariant::String)) { row->setName(value.toString()); return true; } else return false; case FERMTYPECOL: if( value.canConvert(QVariant::Int) ) { row->setType( static_cast(value.toInt())); return true; } else return false; case FERMAMOUNTCOL: if( value.canConvert(QVariant::String) ) { row->setAmount_kg( Brewtarget::weightQStringToSI(value.toString(),displayUnit(FERMAMOUNTCOL))); if( rowCount() > 0 ) headerDataChanged( Qt::Vertical, 0, rowCount()-1 ); // Need to re-show header (grain percent). return true; } else return false; case FERMISMASHEDCOL: if( role == Qt::CheckStateRole && value.canConvert(QVariant::Int) ) { row->setIsMashed( ((Qt::CheckState)value.toInt()) == Qt::Checked ); return true; } else return false; case FERMAFTERBOIL: if( role == Qt::CheckStateRole && value.canConvert(QVariant::Int) ) { row->setAddAfterBoil( ((Qt::CheckState)value.toInt()) == Qt::Checked ); return true; } else return false; case FERMYIELDCOL: if( value.canConvert(QVariant::Double) ) { row->setYield_pct( value.toDouble() ); return true; } else return false; case FERMCOLORCOL: if( value.canConvert(QVariant::Double) ) { unit = displayUnit(index.column()); if ( unit == noUnit ) unit = Brewtarget::getColorUnit(); color = value.toDouble(); if ( unit == displayEbc ) color = Units::ebc->toSI(value.toDouble()); row->setColor_srm( color ); return true; } else return false; default: Brewtarget::log(Brewtarget::WARNING, tr("Bad column: %1").arg(index.column())); return false; } } Fermentable* FermentableTableModel::getFermentable(unsigned int i) { return fermObs.at(i); } //======================CLASS FermentableItemDelegate=========================== FermentableItemDelegate::FermentableItemDelegate(QObject* parent) : QItemDelegate(parent) { } QWidget* FermentableItemDelegate::createEditor(QWidget *parent, const QStyleOptionViewItem& option, const QModelIndex& index) const { if( index.column() == FERMTYPECOL ) { QComboBox *box = new QComboBox(parent); box->addItem(tr("Grain")); box->addItem(tr("Sugar")); box->addItem(tr("Extract")); box->addItem(tr("Dry Extract")); box->addItem(tr("Adjunct")); box->setSizeAdjustPolicy(QComboBox::AdjustToContents); box->setFocusPolicy(Qt::StrongFocus); return box; } else if( index.column() == FERMISMASHEDCOL ) { QCheckBox* box = new QCheckBox(parent); box->setFocusPolicy(Qt::StrongFocus); box->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); return box; } else return new QLineEdit(parent); } void FermentableItemDelegate::setEditorData(QWidget *editor, const QModelIndex &index) const { int col = index.column(); if( col == FERMTYPECOL ) { QComboBox* box = (QComboBox*)editor; int ndx = index.model()->data(index, Qt::UserRole).toInt(); box->setCurrentIndex(ndx); } else if( col == FERMISMASHEDCOL || col == FERMAFTERBOIL ) { QCheckBox* checkBox = (QCheckBox*)editor; Qt::CheckState checkState = (Qt::CheckState)index.model()->data(index, Qt::CheckStateRole).toInt(); checkBox->setCheckState( checkState ); } else { QLineEdit* line = (QLineEdit*)editor; line->setText(index.model()->data(index, Qt::DisplayRole).toString()); } } void FermentableItemDelegate::setModelData(QWidget *editor, QAbstractItemModel *model, const QModelIndex &index) const { int col = index.column(); if( col == FERMTYPECOL ) { QComboBox* box = qobject_cast(editor); int value = box->currentIndex(); int ndx = model->data(index, Qt::UserRole).toInt(); // Only do something when something needs to be done if ( value != ndx ) model->setData(index, value, Qt::EditRole); } else if( col == FERMISMASHEDCOL || col == FERMAFTERBOIL ) { QCheckBox* checkBox = qobject_cast(editor); bool checked = (checkBox->checkState() == Qt::Checked); model->setData(index, checked, Qt::EditRole); } else { QLineEdit* line = qobject_cast(editor); if ( line->isModified() ) model->setData(index, line->text(), Qt::EditRole); } } void FermentableItemDelegate::updateEditorGeometry(QWidget *editor, const QStyleOptionViewItem &option, const QModelIndex &index) const { editor->setGeometry(option.rect); } brewtarget-2.0.2/src/MiscTableModel.cpp0000644000175000017500000003634612266512167017360 0ustar philipphilip/* * MiscTableModel.cpp is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include #include #include #include "database.h" #include "misc.h" #include "MiscTableModel.h" #include "unit.h" #include "brewtarget.h" #include "recipe.h" MiscTableModel::MiscTableModel(QTableView* parent, bool editable) : QAbstractTableModel(parent), editable(editable), recObs(0), parentTableWidget(parent) { miscObs.clear(); } void MiscTableModel::observeRecipe(Recipe* rec) { if( recObs ) { disconnect( recObs, 0, this, 0 ); removeAll(); } recObs = rec; if( recObs ) { connect( recObs, SIGNAL(changed(QMetaProperty,QVariant)), this, SLOT(changed(QMetaProperty,QVariant)) ); addMiscs( recObs->miscs() ); } } void MiscTableModel::observeDatabase(bool val) { if( val ) { observeRecipe(0); removeAll(); connect( &(Database::instance()), SIGNAL(newMiscSignal(Misc*)), this, SLOT(addMisc(Misc*)) ); connect( &(Database::instance()), SIGNAL(deletedMiscSignal(Misc*)), this, SLOT(removeMisc(Misc*)) ); addMiscs( Database::instance().miscs() ); } else { removeAll(); disconnect( &(Database::instance()), 0, this, 0 ); } } void MiscTableModel::addMisc(Misc* misc) { if( miscObs.contains(misc) ) return; // If we are observing the database, ensure that the item is undeleted and // fit to display. if( recObs == 0 && ( misc->deleted() || !misc->display() ) ) return; int size = miscObs.size(); beginInsertRows( QModelIndex(), size, size ); miscObs.append(misc); connect( misc, SIGNAL(changed(QMetaProperty,QVariant)), this, SLOT(changed(QMetaProperty,QVariant)) ); //reset(); // Tell everybody that the table has changed. endInsertRows(); if( parentTableWidget ) { parentTableWidget->resizeColumnsToContents(); parentTableWidget->resizeRowsToContents(); } } void MiscTableModel::addMiscs(QList miscs) { QList::iterator i; QList tmp; for( i = miscs.begin(); i != miscs.end(); i++ ) { if( !miscObs.contains(*i) ) tmp.append(*i); } int size = miscObs.size(); if (size+tmp.size()) { beginInsertRows( QModelIndex(), size, size+tmp.size()-1 ); miscObs.append(tmp); for( i = tmp.begin(); i != tmp.end(); i++ ) connect( *i, SIGNAL(changed(QMetaProperty,QVariant)), this, SLOT(changed(QMetaProperty,QVariant)) ); endInsertRows(); } if( parentTableWidget ) { parentTableWidget->resizeColumnsToContents(); parentTableWidget->resizeRowsToContents(); } } // Returns true when misc is successfully found and removed. bool MiscTableModel::removeMisc(Misc* misc) { int i; i = miscObs.indexOf(misc); if( i >= 0 ) { beginRemoveRows( QModelIndex(), i, i ); disconnect( misc, 0, this, 0 ); miscObs.removeAt(i); //reset(); // Tell everybody the table has changed. endRemoveRows(); if(parentTableWidget) { parentTableWidget->resizeColumnsToContents(); parentTableWidget->resizeRowsToContents(); } return true; } return false; } void MiscTableModel::removeAll() { if (miscObs.size()) { beginRemoveRows( QModelIndex(), 0, miscObs.size()-1 ); while( !miscObs.isEmpty() ) { disconnect( miscObs.takeLast(), 0, this, 0 ); } endRemoveRows(); } } int MiscTableModel::rowCount(const QModelIndex& /*parent*/) const { return miscObs.size(); } int MiscTableModel::columnCount(const QModelIndex& /*parent*/) const { return MISCNUMCOLS; } QVariant MiscTableModel::data( const QModelIndex& index, int role ) const { Misc* row; unitDisplay unit; // Ensure the row is ok. if( index.row() >= (int)miscObs.size() ) { Brewtarget::logW(QString("Bad model index. row = %1").arg(index.row())); return QVariant(); } else row = miscObs[index.row()]; // Deal with the column and return the right data. switch( index.column() ) { case MISCNAMECOL: if( role == Qt::DisplayRole ) return QVariant(row->name()); else return QVariant(); case MISCTYPECOL: if( role == Qt::DisplayRole ) return QVariant(row->typeStringTr()); else if( role == Qt::UserRole ) return QVariant(row->type()); else return QVariant(); case MISCUSECOL: if( role == Qt::DisplayRole ) return QVariant(row->useStringTr()); else if( role == Qt::UserRole ) return QVariant(row->use()); else return QVariant(); case MISCTIMECOL: if( role == Qt::DisplayRole ) return QVariant( Brewtarget::displayAmount(row->time(), Units::minutes) ); else return QVariant(); case MISCAMOUNTCOL: if( role != Qt::DisplayRole ) return QVariant(); unit = displayUnit(index.column()); return QVariant( Brewtarget::displayAmount(row->amount(), row->amountIsWeight()? (Unit*)Units::kilograms : (Unit*)Units::liters, 3, unit, noScale ) ); case MISCISWEIGHT: if ( role == Qt::CheckStateRole ) return QVariant( row->amountIsWeight() ? Qt::Checked : Qt::Unchecked ); else if ( role == Qt::DisplayRole ) return row->amountIsWeight() ? tr("Weight") : tr("Volume"); else return QVariant(); default: Brewtarget::log(Brewtarget::WARNING, QString("Bad model index. column = %1").arg(index.column())); } return QVariant(); } QVariant MiscTableModel::headerData( int section, Qt::Orientation orientation, int role ) const { if( orientation == Qt::Horizontal && role == Qt::DisplayRole ) { switch( section ) { case MISCNAMECOL: return QVariant(tr("Name")); case MISCTYPECOL: return QVariant(tr("Type")); case MISCUSECOL: return QVariant(tr("Use")); case MISCTIMECOL: return QVariant(tr("Time")); case MISCAMOUNTCOL: return QVariant(tr("Amount")); case MISCISWEIGHT: return QVariant(tr("Amount Type")); default: return QVariant(); } } else return QVariant(); } Qt::ItemFlags MiscTableModel::flags(const QModelIndex& index ) const { int col = index.column(); Qt::ItemFlags defaults = Qt::ItemIsEnabled | Qt::ItemIsSelectable | Qt::ItemIsDragEnabled; switch( col ) { case MISCNAMECOL: return defaults; case MISCISWEIGHT: return defaults | (editable ? Qt::ItemIsUserCheckable : Qt::NoItemFlags); default: return defaults | (editable ? Qt::ItemIsEditable : Qt::NoItemFlags); } } bool MiscTableModel::setData( const QModelIndex& index, const QVariant& value, int role ) { Misc *row; int col; QString tmpStr; unitDisplay unit; if( index.row() >= (int)miscObs.size() ) return false; else row = miscObs[index.row()]; col = index.column(); switch (col ) { case MISCNAMECOL: if( value.canConvert(QVariant::String) ) { tmpStr = value.toString(); row->setName(tmpStr); } else return false; break; case MISCTYPECOL: if( value.canConvert(QVariant::Int) ) row->setType( static_cast(value.toInt()) ); else return false; break; case MISCUSECOL: if( value.canConvert(QVariant::Int) ) row->setUse( static_cast(value.toInt()) ); else return false; break; case MISCTIMECOL: if( value.canConvert(QVariant::String) ) row->setTime( Brewtarget::timeQStringToSI(value.toString()) ); else return false; break; case MISCAMOUNTCOL: unit = displayUnit(col); if( value.canConvert(QVariant::String) ) row->setAmount( row->amountIsWeight() ? Brewtarget::weightQStringToSI(value.toString(),unit) : Brewtarget::volQStringToSI(value.toString(),unit) ); else return false; break; case MISCISWEIGHT: if ( role == Qt::CheckStateRole && value.canConvert(QVariant::Int) ) row->setAmountIsWeight( ((Qt::CheckState)value.toInt()) == Qt::Checked ); else return false; break; default: return false; } emit dataChanged( index, index ); return true; } void MiscTableModel::changed(QMetaProperty prop, QVariant /*val*/) { int i; Misc* miscSender = qobject_cast(sender()); if( miscSender ) { i = miscObs.indexOf(miscSender); if( i < 0 ) return; emit dataChanged( QAbstractItemModel::createIndex(i, 0), QAbstractItemModel::createIndex(i, MISCNUMCOLS-1) ); return; } // See if sender is our recipe. Recipe* recSender = qobject_cast(sender()); if( recSender && recSender == recObs ) { if( QString(prop.name()) == "miscs" ) { removeAll(); addMiscs( recObs->miscs() ); } if( rowCount() > 0 ) emit headerDataChanged( Qt::Vertical, 0, rowCount()-1 ); return; } // See if sender is the database. if( sender() == &(Database::instance()) && QString(prop.name()) == "miscs" ) { removeAll(); addMiscs( Database::instance().miscs() ); return; } } Misc* MiscTableModel::getMisc(unsigned int i) { return miscObs[i]; } unitDisplay MiscTableModel::displayUnit(int column) const { QString attribute = generateName(column); if ( attribute.isEmpty() ) return noUnit; return (unitDisplay)Brewtarget::option(attribute, noUnit, this, Brewtarget::UNIT).toInt(); } unitScale MiscTableModel::displayScale(int column) const { QString attribute = generateName(column); if ( attribute.isEmpty() ) return noScale; return (unitScale)Brewtarget::option(attribute, noScale, this, Brewtarget::SCALE).toInt(); } // We need to: // o clear the custom scale if set // o clear any custom unit from the rows // o which should have the side effect of clearing any scale void MiscTableModel::setDisplayUnit(int column, unitDisplay displayUnit) { // Misc* row; // disabled per-cell magic QString attribute = generateName(column); if ( attribute.isEmpty() ) return; Brewtarget::setOption(attribute,displayUnit,this,Brewtarget::UNIT); Brewtarget::setOption(attribute,noScale,this,Brewtarget::SCALE); /* Disabled cell-specific code for (int i = 0; i < rowCount(); ++i ) { row = getMisc(i); row->setDisplayUnit(noUnit); } */ } // Setting the scale should clear any cell-level scaling options void MiscTableModel::setDisplayScale(int column, unitScale displayScale) { // Misc* row; //disabled per-cell magic QString attribute = generateName(column); if ( attribute.isEmpty() ) return; Brewtarget::setOption(attribute,displayScale,this,Brewtarget::SCALE); /* disabled cell-specific code for (int i = 0; i < rowCount(); ++i ) { row = getMisc(i); row->setDisplayScale(noScale); } */ } QString MiscTableModel::generateName(int column) const { QString attribute; switch(column) { case MISCAMOUNTCOL: attribute = "amount"; break; default: attribute = ""; } return attribute; } //======================CLASS MiscItemDelegate=========================== MiscItemDelegate::MiscItemDelegate(QObject* parent) : QItemDelegate(parent) { } QWidget* MiscItemDelegate::createEditor(QWidget *parent, const QStyleOptionViewItem& /*option*/, const QModelIndex& index) const { if( index.column() == MISCTYPECOL ) { QComboBox *box = new QComboBox(parent); box->addItem(tr("Spice")); box->addItem(tr("Fining")); box->addItem(tr("Water Agent")); box->addItem(tr("Herb")); box->addItem(tr("Flavor")); box->addItem(tr("Other")); box->setSizeAdjustPolicy(QComboBox::AdjustToContents); return box; } else if( index.column() == MISCUSECOL ) { QComboBox *box = new QComboBox(parent); box->addItem(tr("Boil")); box->addItem(tr("Mash")); box->addItem(tr("Primary")); box->addItem(tr("Secondary")); box->addItem(tr("Bottling")); box->setSizeAdjustPolicy(QComboBox::AdjustToContents); return box; } else if ( index.column() == MISCISWEIGHT ) { QCheckBox* box = new QCheckBox(parent); box->setFocusPolicy(Qt::StrongFocus); box->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); return box; } else return new QLineEdit(parent); } void MiscItemDelegate::setEditorData(QWidget *editor, const QModelIndex &index) const { int column = index.column(); if( column == MISCTYPECOL || column == MISCUSECOL ) { QComboBox* box = qobject_cast(editor); if( box == 0 ) return; box->setCurrentIndex(index.model()->data(index, Qt::UserRole).toInt()); } else if ( column == MISCISWEIGHT ) { QCheckBox* checkBox = (QCheckBox*)editor; Qt::CheckState checkState = (Qt::CheckState)index.model()->data(index, Qt::CheckStateRole).toInt(); checkBox->setCheckState( checkState ); } else { QLineEdit* line = (QLineEdit*)editor; line->setText(index.model()->data(index, Qt::DisplayRole).toString()); } } void MiscItemDelegate::setModelData(QWidget *editor, QAbstractItemModel *model, const QModelIndex &index) const { int column = index.column(); if( column == MISCTYPECOL || column == MISCUSECOL ) { QComboBox* box = (QComboBox*)editor; int ndx = box->currentIndex(); int curr = model->data(index, Qt::UserRole).toInt(); if ( curr != ndx ) model->setData(index, ndx, Qt::EditRole); } else if ( column == MISCISWEIGHT ) { QCheckBox* checkBox = qobject_cast(editor); bool checked = ( checkBox->checkState() == Qt::Checked ); model->setData( index, checked, Qt::EditRole); } else { QLineEdit* line = (QLineEdit*)editor; if ( line->isModified() ) model->setData(index, line->text(), Qt::EditRole); } } void MiscItemDelegate::updateEditorGeometry(QWidget *editor, const QStyleOptionViewItem &option, const QModelIndex &index) const { editor->setGeometry(option.rect); } brewtarget-2.0.2/src/ConverterTool.h0000644000175000017500000000224012266512167016770 0ustar philipphilip/* * ConverterTool.h is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef _CONVERTERTOOL_H #define _CONVERTERTOOL_H class ConverterTool; #include #include #include "ui_converterTool.h" /*! * \class ConverterTool * \author Philip G. Lee * * \brief Dialog to convert units. */ class ConverterTool : public QDialog, public Ui::converterTool { Q_OBJECT public: ConverterTool(QWidget* parent=0); public slots: void convert(); private: }; #endif brewtarget-2.0.2/src/matrix.cpp0000644000175000017500000002413712266512167016033 0ustar philipphilip/* * matrix.cpp is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include #include #include #include "matrix.h" Matrix::~Matrix() { delete [] _data; } Matrix::Matrix( unsigned int rows, unsigned int cols ) { _rows = rows; _cols = cols; _data = new double[ rows * cols ]; } Matrix::Matrix( const QVector &colVec ) { unsigned int i, j; _cols = colVec.size(); if( _cols == 0 ) { _rows = 0; return; } _rows = colVec[0]._rows; _data = new double[ _cols * _rows ]; for( j = 0; static_cast(j) < colVec.size(); ++j ) { if( colVec[j]._rows != _rows ) { std::cerr << "Matrix: dimension error in initialization\n"; throw DimensionException( colVec[j]._rows, 0, true, false ); } for( i = 0; i < _rows; ++i ) setVal( i, j, colVec[j].getVal(i, 0) ); } } Matrix::Matrix( const Matrix &m, unsigned int colStart, unsigned int colEnd ) { unsigned int i, j, k; _rows = m._rows; _cols = colEnd - colStart + 1; _data = new double[ _rows * _cols ]; for( i = 0; i < _rows; ++i ) for( j=0, k=colStart; k <= colEnd; ++j,++k ) setVal( i, j, m.getVal(i, k) ); } Matrix::Matrix( const Matrix &rhs ) { _rows = rhs._rows; _cols = rhs._cols; unsigned int numElts = _rows*_cols; unsigned int i; _data = new double[ _rows*_cols ]; for( i = 0; i < numElts; ++i ) _data[i] = rhs._data[i]; } Matrix& Matrix::operator=( const Matrix &rhs ) { if( this == &rhs ) return *this; _rows = rhs._rows; _cols = rhs._cols; unsigned int numElts = _rows*_cols; unsigned int i; if( ! _data ) delete [] _data; _data = new double[ _rows*_cols ]; for( i = 0; i < numElts; ++i ) _data[i] = rhs._data[i]; return *this; } std::ostream& operator<<( std::ostream &os, const Matrix &rhs ) { unsigned int i; unsigned int j; double *ptr = rhs._data; for( i = 0; i < rhs._rows; ++i ) { os << "[ "; for( j = 0; j < rhs._cols - 1; ++j ) { os << *ptr << ", "; ptr++; } os << *ptr << "]\n"; ptr++; } return os; } Matrix& Matrix::operator+=( const Matrix &rhs ) { unsigned int numElts = _rows * _cols; unsigned int i; if( !(_rows == rhs._rows && _cols == rhs._cols) ) { std::cerr << "Matrix: dimension error with +=\n"; throw DimensionException( rhs._rows, rhs._cols, true, true); } for( i = 0; i < numElts; ++i ) _data[i] += rhs._data[i]; return *this; } Matrix& Matrix::operator-=( const Matrix &rhs ) { unsigned int numElts = _rows * _cols; unsigned int i; if( !(_rows == rhs._rows && _cols == rhs._cols) ) { std::cerr << "Matrix: dimension error with -=\n"; throw DimensionException( rhs._rows, rhs._cols, true, true); } for( i = 0; i < numElts; ++i ) _data[i] -= rhs._data[i]; return *this; } const Matrix Matrix::operator*( const Matrix &rhs ) const { unsigned int i, j, k; double tmp; if( rhs._rows != _cols ) { std::cerr << "Matrix: dimension error with *\n"; throw DimensionException( rhs._rows, 0, true, false ); } Matrix ret( _rows, rhs._cols ); for( i = 0; i < ret._rows; ++i ) { for( j = 0; j < ret._cols; ++j ) { tmp = 0.0; for( k = 0; k < _cols; ++k ) tmp += getVal( i, k ) * rhs.getVal( k, j ); ret.setVal( i, j, tmp ); } } return ret; } const Matrix Matrix::operator+( const Matrix &other ) const { Matrix result( *this ); result += other; return result; } const Matrix Matrix::operator-( const Matrix &other ) const { Matrix result( *this ); result -= other; return result; } Matrix Matrix::getRow( unsigned int row ) const { unsigned int i; if( row >= _rows ) { std::cerr << "Matrix: dimension error in getRow()\n"; throw DimensionException( _rows, 0, true, false ); } Matrix ret( 1, _cols ); for( i = 0; i < _cols; ++i ) ret.setVal( 0, i, getVal( row, i) ); return ret; } Matrix Matrix::getCol( unsigned int col ) const { unsigned int i; if( col >= _cols ) { std::cerr << "Matrix: dimension error in getCol()\n"; throw DimensionException( 0, _cols, false, true ); } Matrix ret( _rows, 1 ); for( i = 0; i < _rows; ++i ) ret.setVal( i, 0, getVal(i, col) ); return ret; } inline double Matrix::getVal( unsigned int row, unsigned int col ) const { if( _cols*row + col < _rows*_cols ) return _data[ _cols*row + col ]; else { std::cerr << "Matrix: invalid access at _data[" << row << "][" << col << "]\n"; throw DimensionException( _rows, _cols, true, true ); } } inline void Matrix::setVal( unsigned int row, unsigned int col, double val ) { if( _cols*row + col < _rows*_cols ) _data[ _cols*row + col ] = val; else { std::cerr << "Matrix: invalid access at _data[" << row << "][" << col << "]\n"; throw DimensionException( _rows, _cols, true, true ); } return; } void Matrix::swapRows( unsigned int row1, unsigned int row2 ) { unsigned int j; double tmp; if( row1 >= _rows || row2 >= _rows ) { std::cerr << "Matrix: swapRows(): can't swap row " << row1 << " and row " << row2; throw DimensionException( _rows, 0, true, false ); } for( j = 0; j < _cols; ++j ) { tmp = getVal( row1, j ); setVal( row1, j, getVal( row2, j ) ); setVal( row2, j, tmp ); } } void Matrix::rref() { unsigned int i,j,k,l,m; double pivot, mult; k = 0; for( i = 0; i < _rows && k < _cols; ++i ) { // If this row's kth column is zero... if( qAbs( getVal( i, k ) ) < EPSILON ) { // Search for nonzero entry in this column (after the ith row). for( l = i+1; l < _rows; ++l ) if( qAbs( getVal( l, k ) ) >= EPSILON ) break; // Make sure we didn't fall off the edge if( l == _rows ) { ++k; // Give up on this k and try the next one. --i; // Need to subtract so next iteration continues on this row. continue; } // Otherwise, swap rows. swapRows( i, l ); } // Normalize the row so that a[i][k] = 1. pivot = getVal( i, k ); for( j = k; j < _cols; ++j ) setVal( i, j, getVal(i, j) / pivot ); // Search for rows to add to. for( l = 0; l < _rows; ++l ) { // Don't want to do this to our own row. if( l == i ) continue; if( qAbs( getVal( l, k ) ) >= EPSILON ) { mult = getVal(l,k); for( m = 0; m < _cols; ++m ) setVal( l, m, getVal(l,m) - mult*getVal(i,m) ); } } ++k; } } // Returns true if the matrix has non-zero // entries on the diagonals. bool Matrix::hasNonZeroDiags() const { unsigned int i; bool ret = true; for( i = 0; i < _rows && i < _cols; ++i ) ret = ret & ( qAbs(getVal(i,i)) >= EPSILON ); return ret; } unsigned int Matrix::getRows() const { return _rows; } unsigned int Matrix::getCols() const { return _cols; } void Matrix::setRow( unsigned int row, QVector vec ) { unsigned int j; if( vec.size() != static_cast(_cols) ) { std::cerr << "Matrix: setRow(): dimension error\n"; throw DimensionException( 0, _cols, false, true ); } for( j = 0; j < _cols; ++j ) setVal( row, j, vec[j] ); } void Matrix::setCol( unsigned int col, QVector vec ) { unsigned int i; if( vec.size() != static_cast(_rows) ) { std::cerr << "Matrix: setCol(): dimension error\n"; throw DimensionException( _rows, 0, true, false ); } for( i = 0; i < _rows; ++i ) setVal( i, col, vec[i] ); } bool Matrix::hasInverse() const { if( _rows != _cols ) return false; Matrix m( *this ); m.rref(); return m.hasNonZeroDiags(); } Matrix Matrix::getIdentity( unsigned int n ) { unsigned int i; Matrix m( n, n ); for( i = 0; i < n; ++i ) m.setVal( i, i, 1.0 ); return m; } void Matrix::appendCols( const Matrix& other ) { unsigned int i, j, k; double *oldData = _data; unsigned int oldCols; if( _rows != other._rows ) { std::cerr << "Matrix: appendCols(): dimension error\n"; throw DimensionException( other._rows, 0, true, false ); } _data = new double[ _rows * (_cols + other._cols) ]; oldCols = _cols; _cols += other._cols; // Put in the old values, and copy in the new for( i = 0; i < _rows; ++i ) { // Old values for( j = 0; j < oldCols; ++j ) setVal(i, j, oldData[oldCols*i + j]); // Appended values for( j = oldCols, k=0; j < _cols; ++j, ++k ) setVal( i, j, other.getVal(i, k) ); } if( ! oldData ) delete [] oldData; } Matrix Matrix::inverse() const { if( _rows != _cols ) { std::cerr << "Matrix: inverse(): must be square"; throw DimensionException( _rows, _cols, true, true ); } Matrix m( *this ); m.appendCols(getIdentity(_rows)); m.rref(); if( ! m.hasNonZeroDiags() ) { std::cerr << "Matrix: inverse(): did not have an inverse"; throw IncomputableException(); } Matrix inv( m, _cols, m._cols - 1); return inv; } brewtarget-2.0.2/src/MiscEditor.cpp0000644000175000017500000001050712266512167016565 0ustar philipphilip/* * MiscEditor.cpp is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include #include #include "MiscEditor.h" #include "database.h" #include "config.h" #include "unit.h" #include "brewtarget.h" #include "misc.h" MiscEditor::MiscEditor( QWidget* parent ) : QDialog(parent), obsMisc(0) { setupUi(this); connect( buttonBox, SIGNAL( accepted() ), this, SLOT( save() )); connect( buttonBox, SIGNAL( rejected() ), this, SLOT( clearAndClose() )); } void MiscEditor::setMisc( Misc* m ) { if( obsMisc ) disconnect( obsMisc, 0, this, 0 ); obsMisc = m; if( obsMisc ) { connect( obsMisc, SIGNAL(changed(QMetaProperty,QVariant)), this, SLOT(changed(QMetaProperty,QVariant)) ); showChanges(); } } void MiscEditor::save() { Misc* m = obsMisc; if( m == 0 ) { setVisible(false); return; } // TODO: check this out with 1.2.5. // Need to disable notification since every "set" method will cause a "showChanges" that // will revert any changes made. //m->disableNotification(); m->setName(lineEdit_name->text()); m->setType( static_cast(comboBox_type->currentIndex()) ); m->setUse( static_cast(comboBox_use->currentIndex()) ); // TODO: fill in the rest of the "set" methods. m->setTime(Brewtarget::timeQStringToSI(lineEdit_time->text())); m->setAmountIsWeight( (checkBox_isWeight->checkState() == Qt::Checked)? true : false ); m->setAmount( m->amountIsWeight() ? Brewtarget::weightQStringToSI(lineEdit_amount->text()) : Brewtarget::volQStringToSI(lineEdit_amount->text())); m->setUseFor(textEdit_useFor->toPlainText()); m->setNotes( textEdit_notes->toPlainText() ); //m->reenableNotification(); //m->forceNotify(); setVisible(false); } void MiscEditor::clearAndClose() { setMisc(0); setVisible(false); // Hide the window. } void MiscEditor::changed(QMetaProperty prop, QVariant /*val*/) { if( sender() == obsMisc ) showChanges(&prop); } void MiscEditor::showChanges(QMetaProperty* metaProp) { if( obsMisc == 0 ) return; QString propName; QVariant value; bool updateAll = false; if( metaProp == 0 ) updateAll = true; else { propName = metaProp->name(); value = metaProp->read(obsMisc); } if( propName == "name" || updateAll ) { lineEdit_name->setText(obsMisc->name()); lineEdit_name->setCursorPosition(0); if( ! updateAll ) return; } if( propName == "type" || updateAll ) { comboBox_type->setCurrentIndex(obsMisc->type()); if( ! updateAll ) return; } if( propName == "use" || updateAll ) { comboBox_use->setCurrentIndex(obsMisc->use()); if( ! updateAll ) return; } if( propName == "time" || updateAll ) { lineEdit_time->setText(Brewtarget::displayAmount(obsMisc->time(), Units::minutes)); if( ! updateAll ) return; } if( propName == "amount" || updateAll ) { lineEdit_amount->setText(Brewtarget::displayAmount(obsMisc->amount(), (obsMisc->amountIsWeight()) ? (Unit*)Units::kilograms : (Unit*)Units::liters )); if( ! updateAll ) return; } if( propName == "amountIsWeight" || updateAll ) { checkBox_isWeight->setCheckState( obsMisc->amountIsWeight()? Qt::Checked : Qt::Unchecked ); if( ! updateAll ) return; } if( propName == "useFor" || updateAll ) { textEdit_useFor->setPlainText( obsMisc->useFor() ); if( ! updateAll ) return; } if( propName == "notes" || updateAll ) { textEdit_notes->setPlainText( obsMisc->notes() ); if( ! updateAll ) return; } } brewtarget-2.0.2/src/MashDesigner.h0000644000175000017500000000452012266512167016537 0ustar philipphilip/* * MashDesigner.h is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2010-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef MASHDESIGNER_H #define MASHDESIGNER_H class MashDesigner; #include "ui_mashDesigner.h" #include "recipe.h" #include "mash.h" #include "equipment.h" #include #include /*! * \class MashDesigner * \author Philip G. Lee * * \brief View/controller dialog that gives you more control over mash design than MashWizard does. */ class MashDesigner : public QDialog, public Ui::mashDesigner { Q_OBJECT public: MashDesigner(QWidget* parent = 0); //! Set the recipe we want to design the mash for. void setRecipe(Recipe* rec); public slots: void show(); private slots: void updateFullness(); void updateCollectedWort(); void updateMinAmt(); void updateMaxAmt(); void updateMinTemp(); void updateMaxTemp(); void updateAmt(); void updateAmtSlider(); void updateTemp(); void updateTempSlider(); void saveTargetTemp(); void proceed(); // Go to next step. void saveAndClose(); void typeChanged(int t); private: bool nextStep(int step); void saveStep(); bool initializeMash(); double minTemp_c(); double maxTemp_c(); double minAmt_l(); double maxAmt_l(); double mashVolume_l(); double grainVolume_l(); double tempFromVolume_c( double vol_l ); double volFromTemp_l( double temp_c ); double getDecoctionAmount_l(); double getSelectedAmount_l(); double getSelectedTemp_c(); bool isBatchSparge(); Recipe* recObs; Mash* mash; Equipment* equip; MashStep* mashStep; MashStep* prevStep; double addedWater_l; double grain_kg; double MC; int curStep; }; #endif // MASHDESIGNER_H brewtarget-2.0.2/src/MashStepTableModel.cpp0000644000175000017500000003156512266512167020207 0ustar philipphilip/* * MashStepTableModel.cpp is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include #include #include #include #include #include #include #include #include #include #include "database.h" #include "mashstep.h" #include "MashStepTableModel.h" #include "unit.h" #include "brewtarget.h" MashStepTableModel::MashStepTableModel(QTableView* parent) : QAbstractTableModel(parent), mashObs(0), parentTableWidget(parent) { } void MashStepTableModel::setMash( Mash* m ) { int i; if( mashObs ) { beginRemoveRows( QModelIndex(), 0, steps.size()-1 ); // Remove mashObs and all steps. disconnect( mashObs, 0, this, 0 ); for( i = 0; i < steps.size(); ++i ) disconnect( steps[i], 0, this, 0 ); steps.clear(); endRemoveRows(); } mashObs = m; if( mashObs ) { QList tmpSteps = mashObs->mashSteps(); beginInsertRows( QModelIndex(), 0, tmpSteps.size()-1 ); //connect( mashObs, SIGNAL(changed(QMetaProperty,QVariant)), this, SLOT(mashChanged(QMetaProperty,QVariant)) ); connect( mashObs, SIGNAL(mashStepsChanged()), this, SLOT(mashChanged()) ); steps = tmpSteps; for( i = 0; i < steps.size(); ++i ) connect( steps[i], SIGNAL(changed(QMetaProperty,QVariant)), this, SLOT(mashStepChanged(QMetaProperty,QVariant)) ); endInsertRows(); } //reset(); // Tell everybody that the table has changed. if( parentTableWidget ) { parentTableWidget->resizeColumnsToContents(); parentTableWidget->resizeRowsToContents(); } } MashStep* MashStepTableModel::getMashStep(unsigned int i) { if( i < static_cast(steps.size()) ) return steps[i]; else return 0; } void MashStepTableModel::mashChanged() { // Remove and re-add all steps. setMash( mashObs ); } void MashStepTableModel::mashStepChanged(QMetaProperty prop, QVariant val) { int i; MashStep* stepSender = qobject_cast(sender()); if( stepSender && (i = steps.indexOf(stepSender)) >= 0 ) { emit dataChanged( QAbstractItemModel::createIndex(i, 0), QAbstractItemModel::createIndex(i, MASHSTEPNUMCOLS-1)); } else reset(); if( parentTableWidget ) { parentTableWidget->resizeColumnsToContents(); parentTableWidget->resizeRowsToContents(); } } int MashStepTableModel::rowCount(const QModelIndex& /*parent*/) const { return steps.size(); } int MashStepTableModel::columnCount(const QModelIndex& /*parent*/) const { return MASHSTEPNUMCOLS; } QVariant MashStepTableModel::data( const QModelIndex& index, int role ) const { MashStep* row; unitDisplay unit; unitScale scale; int col = index.column(); if( mashObs == 0 ) return QVariant(); // Ensure the row is ok. if( index.row() >= (int)(steps.size()) ) { Brewtarget::log(Brewtarget::WARNING, tr("Bad model index. row = %1").arg(index.row())); return QVariant(); } else row = steps[index.row()]; // Make sure we only respond to the DisplayRole role. if( role != Qt::DisplayRole ) return QVariant(); switch( col ) { case MASHSTEPNAMECOL: return QVariant(row->name()); case MASHSTEPTYPECOL: return QVariant(row->typeStringTr()); case MASHSTEPAMOUNTCOL: unit = displayUnit(col); scale = displayScale(col); return (row->type() == MashStep::Decoction) ? QVariant( Brewtarget::displayAmount(row->decoctionAmount_l(), Units::liters, 3, unit, scale ) ) : QVariant( Brewtarget::displayAmount(row->infuseAmount_l(), Units::liters, 3, unit, scale) ); case MASHSTEPTEMPCOL: unit = displayUnit(col); return (row->type() == MashStep::Decoction) ? QVariant("---") : QVariant( Brewtarget::displayAmount(row->infuseTemp_c(), Units::celsius, 3, unit, noScale) ); case MASHSTEPTARGETTEMPCOL: unit = displayUnit(col); return QVariant( Brewtarget::displayAmount(row->stepTemp_c(), Units::celsius,3, unit, noScale) ); case MASHSTEPTIMECOL: return QVariant( Brewtarget::displayAmount(row->stepTime_min(), Units::minutes) ); default : Brewtarget::log(Brewtarget::WARNING, tr("Bad column: %1").arg(index.column())); return QVariant(); } } QVariant MashStepTableModel::headerData( int section, Qt::Orientation orientation, int role ) const { if( orientation == Qt::Horizontal && role == Qt::DisplayRole ) { switch( section ) { case MASHSTEPNAMECOL: return QVariant(tr("Name")); case MASHSTEPTYPECOL: return QVariant(tr("Type")); case MASHSTEPAMOUNTCOL: return QVariant(tr("Amount")); case MASHSTEPTEMPCOL: return QVariant(tr("Infusion Temp")); case MASHSTEPTARGETTEMPCOL: return QVariant(tr("Target Temp")); case MASHSTEPTIMECOL: return QVariant(tr("Time")); default: return QVariant(); } } else return QVariant(); } Qt::ItemFlags MashStepTableModel::flags(const QModelIndex& index ) const { int col = index.column(); switch(col) { case MASHSTEPNAMECOL: return Qt::ItemIsSelectable | Qt::ItemIsDragEnabled | Qt::ItemIsEnabled; default: return Qt::ItemIsSelectable | Qt::ItemIsEditable | Qt::ItemIsDragEnabled | Qt::ItemIsEnabled; } } bool MashStepTableModel::setData( const QModelIndex& index, const QVariant& value, int role ) { MashStep *row; unitDisplay unit; if( mashObs == 0 ) return false; if( index.row() >= (int)(steps.size()) || role != Qt::EditRole ) return false; else row = steps[index.row()]; switch( index.column() ) { case MASHSTEPNAMECOL: if( value.canConvert(QVariant::String)) { row->setName(value.toString()); return true; } else return false; case MASHSTEPTYPECOL: if( value.canConvert(QVariant::Int) ) { row->setType(static_cast(value.toInt())); return true; } else return false; case MASHSTEPAMOUNTCOL: if( value.canConvert(QVariant::String) ) { unit = displayUnit(MASHSTEPAMOUNTCOL); if( row->type() == MashStep::Decoction ) row->setDecoctionAmount_l( Brewtarget::volQStringToSI(value.toString(),unit) ); else row->setInfuseAmount_l( Brewtarget::volQStringToSI(value.toString(),unit) ); return true; } else return false; case MASHSTEPTEMPCOL: if( value.canConvert(QVariant::String) && row->type() != MashStep::Decoction ) { unit = displayUnit(MASHSTEPTEMPCOL); row->setInfuseTemp_c( Brewtarget::tempQStringToSI(value.toString(),unit) ); return true; } else return false; case MASHSTEPTARGETTEMPCOL: if( value.canConvert(QVariant::String) ) { unit = displayUnit(MASHSTEPTARGETTEMPCOL); row->setStepTemp_c( Brewtarget::tempQStringToSI(value.toString(),unit) ); row->setEndTemp_c( Brewtarget::tempQStringToSI(value.toString(),unit) ); return true; } else return false; case MASHSTEPTIMECOL: if( value.canConvert(QVariant::String) ) { row->setStepTime_min( Brewtarget::timeQStringToSI(value.toString()) ); return true; } else return false; default: return false; } } void MashStepTableModel::moveStepUp(int i) { if( mashObs == 0 || i == 0 || i >= steps.size() ) return; Database::instance().swapMashStepOrder( steps[i], steps[i-1] ); } void MashStepTableModel::moveStepDown(int i) { if( mashObs == 0 || i+1 >= steps.size() ) return; Database::instance().swapMashStepOrder( steps[i], steps[i+1] ); } unitDisplay MashStepTableModel::displayUnit(int column) const { QString attribute = generateName(column); if ( attribute.isEmpty() ) return noUnit; return (unitDisplay)Brewtarget::option(attribute, noUnit, this, Brewtarget::UNIT).toInt(); } unitScale MashStepTableModel::displayScale(int column) const { QString attribute = generateName(column); if ( attribute.isEmpty() ) return noScale; return (unitScale)Brewtarget::option(attribute, noScale, this, Brewtarget::SCALE).toInt(); } // We need to: // o clear the custom scale if set // o clear any custom unit from the rows // o which should have the side effect of clearing any scale void MashStepTableModel::setDisplayUnit(int column, unitDisplay displayUnit) { // MashStep* row; // disabled per-cell magic QString attribute = generateName(column); if ( attribute.isEmpty() ) return; Brewtarget::setOption(attribute,displayUnit,this,Brewtarget::UNIT); Brewtarget::setOption(attribute,noScale,this,Brewtarget::SCALE); /* Disabled cell-specific code for (int i = 0; i < rowCount(); ++i ) { row = getMashStep(i); row->setDisplayUnit(noUnit); } */ } // Setting the scale should clear any cell-level scaling options void MashStepTableModel::setDisplayScale(int column, unitScale displayScale) { // MashStep* row; //disabled per-cell magic QString attribute = generateName(column); if ( attribute.isEmpty() ) return; Brewtarget::setOption(attribute,displayScale,this,Brewtarget::SCALE); /* disabled cell-specific code for (int i = 0; i < rowCount(); ++i ) { row = getMashStep(i); row->setDisplayScale(noScale); } */ } QString MashStepTableModel::generateName(int column) const { QString attribute; switch(column) { case MASHSTEPAMOUNTCOL: attribute = "amount"; break; case MASHSTEPTEMPCOL: attribute = "infuseTemp_c"; break; case MASHSTEPTARGETTEMPCOL: attribute = "stepTemp_c"; break; default: attribute = ""; } return attribute; } //==========================CLASS MashStepItemDelegate=============================== MashStepItemDelegate::MashStepItemDelegate(QObject* parent) : QItemDelegate(parent) { } QWidget* MashStepItemDelegate::createEditor(QWidget *parent, const QStyleOptionViewItem &/*option*/, const QModelIndex &index) const { if( index.column() == MASHSTEPTYPECOL ) { QComboBox *box = new QComboBox(parent); box->addItem("Infusion"); box->addItem("Temperature"); box->addItem("Decoction"); box->setSizeAdjustPolicy(QComboBox::AdjustToContents); return box; } else return new QLineEdit(parent); } void MashStepItemDelegate::setEditorData(QWidget *editor, const QModelIndex &index) const { if( index.column() == MASHSTEPTYPECOL ) { QComboBox* box = qobject_cast(editor); QString text = index.model()->data(index, Qt::DisplayRole).toString(); int index = box->findText(text); box->setCurrentIndex(index); } else { QLineEdit* line = qobject_cast(editor); line->setText(index.model()->data(index, Qt::DisplayRole).toString()); } } void MashStepItemDelegate::setModelData(QWidget *editor, QAbstractItemModel *model, const QModelIndex &index) const { QStringList typesTr = QStringList() << QObject::tr("Infusion") << QObject::tr("Temperature") << QObject::tr("Decoction"); if( index.column() == MASHSTEPTYPECOL ) { QComboBox* box = qobject_cast(editor); int ndx = box->currentIndex(); int curr = typesTr.indexOf(model->data(index,Qt::DisplayRole).toString()); if ( ndx != curr ) model->setData(index, ndx, Qt::EditRole); } else { QLineEdit* line = qobject_cast(editor); if ( line->isModified() ) model->setData(index, line->text(), Qt::EditRole); } } void MashStepItemDelegate::updateEditorGeometry(QWidget *editor, const QStyleOptionViewItem &option, const QModelIndex& /*index*/) const { editor->setGeometry(option.rect); } brewtarget-2.0.2/src/YeastDialog.h0000644000175000017500000000324712266512167016400 0ustar philipphilip/* * YeastDialog.h is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef _YEASTDIALOG_H #define _YEASTDIALOG_H class YeastDialog; #include #include #include #include #include "ui_yeastDialog.h" // Forward declarations. class MainWindow; class YeastEditor; class YeastEditor; class YeastTableModel; class YeastSortFilterProxyModel; /*! * \class YeastDialog * \author Philip G. Lee * * \brief View/controller dialog for displaying all the yeasts in the database. */ class YeastDialog : public QDialog, public Ui::yeastDialog { Q_OBJECT public: YeastDialog(MainWindow* parent); virtual ~YeastDialog() {} public slots: void addYeast(const QModelIndex& = QModelIndex()); void removeYeast(); void editSelected(); void newYeast(); private: MainWindow* mainWindow; YeastTableModel* yeastTableModel; YeastSortFilterProxyModel* yeastTableProxy; YeastEditor* yeastEditor; int numYeasts; }; #endif /* _YEASTDIALOG_H */ brewtarget-2.0.2/src/SIVolumeUnitSystem.h0000644000175000017500000000251412266512167017737 0ustar philipphilip/* * SIVolumeUnitSystem.h is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef _SIVOLUMEUNITSYSTEM_H #define _SIVOLUMEUNITSYSTEM_H class SIVolumeUnitSystem; #include #include "UnitSystem.h" class SIVolumeUnitSystem : public UnitSystem { public: SIVolumeUnitSystem(); QString displayAmount( double amount, Unit* units = 0, unitScale scale = noScale ); /* Inherited from UnitSystem */ double qstringToSI( QString qstr ); /* Inherited from UnitSystem */ Unit* thicknessUnit(); /* Inherited from UnitSystem */ QString unitType(); private: static void ensureMapIsSetup(); static bool isMapSetup; }; #endif /*_SIVOLUMEUNITSYSTEM_H*/ brewtarget-2.0.2/src/BeerXMLSortProxyModel.cpp0000644000175000017500000000210512266512167020647 0ustar philipphilip/* * BeerXMLSortProxyModel.cpp is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2012-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include "BeerXMLSortProxyModel.h" #include #include BeerXMLSortProxyModel::BeerXMLSortProxyModel(QAbstractItemModel* sourceModel) : QSortFilterProxyModel(sourceModel) { if( sourceModel ) { setSourceModel(sourceModel); setDynamicSortFilter(true); sort(0); } } brewtarget-2.0.2/src/RecipeListModel.h0000644000175000017500000000373412266512167017220 0ustar philipphilip/* * RecipeListModel.h is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2012-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef _RECIPELISTMODEL_H #define _RECIPELISTMODEL_H #include #include class Recipe; /*! * \brief A list of the database's available recipes. * \author Philip G. Lee */ class RecipeListModel : public QAbstractListModel { Q_OBJECT public: RecipeListModel(QWidget* parent = 0); //! Reimplemented from QAbstractListModel. virtual int rowCount( QModelIndex const& parent = QModelIndex() ) const; //! Reimplemented from QAbstractListModel. virtual QVariant data( QModelIndex const& index, int role = Qt::DisplayRole ) const; //! Reimplemented from QAbstractListModel. virtual QVariant headerData( int section, Qt::Orientation orientation, int role = Qt::DisplayRole ) const; //! Remove all equipments from the list. void removeAll(); private slots: //! To catch when one of our recipes' names changed. void recNameChanged(const QString&); //! Add a recipe to the list. void addRecipe(Recipe* recipe); //! Add many recipes to the list. void addRecipes(QList recs); //! Remove a recipe from the list. void removeRecipe(Recipe* recipe); private: QList recipes; void repopulateList(); }; #endif /*_RECIPELISTMODEL_H*/ brewtarget-2.0.2/src/equipment.h0000644000175000017500000001643112266512167016201 0ustar philipphilip/* * equipment.h is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef _EQUIPMENT_H #define _EQUIPMENT_H #include #include "BeerXMLElement.h" // Forward declarations. class Equipment; class EquipmentException; bool operator<(Equipment &e1, Equipment &e2); bool operator==(Equipment &e1, Equipment &e2); /*! * \class Equipment * \author Philip G. Lee * * \brief Model representing a single equipment record. */ class Equipment : public BeerXMLElement { Q_OBJECT friend class Database; public: virtual ~Equipment() {} //! \brief The name. Q_PROPERTY( QString name READ name WRITE setName NOTIFY changedName ) //! \brief The boil size in liters. Q_PROPERTY( double boilSize_l READ boilSize_l WRITE setBoilSize_l NOTIFY changedBoilSize_l ) //! \brief The batch size in liters. Q_PROPERTY( double batchSize_l READ batchSize_l WRITE setBatchSize_l NOTIFY changedBatchSize_l ) //! \brief The tun volume in liters. Q_PROPERTY( double tunVolume_l READ tunVolume_l WRITE setTunVolume_l NOTIFY changedTunVolume_l ) //! \brief Set the tun mass in kg. Q_PROPERTY( double tunWeight_kg READ tunWeight_kg WRITE setTunWeight_kg NOTIFY changedTunWeight_kg ) //! \brief Set the tun specific heat in kcal/(g*C) Q_PROPERTY( double tunSpecificHeat_calGC READ tunSpecificHeat_calGC WRITE setTunSpecificHeat_calGC NOTIFY changedTunSpecificHeat_calGC ) //! \brief Set the top-up water in liters. Q_PROPERTY( double topUpWater_l READ topUpWater_l WRITE setTopUpWater_l NOTIFY changedTopUpWater_l ) //! \brief Set the loss to trub and chiller in liters. Q_PROPERTY( double trubChillerLoss_l READ trubChillerLoss_l WRITE setTrubChillerLoss_l NOTIFY changedTrubChillerLoss_l ) //! \brief Set the evaporation rate in percent of the boil size per hour. DO NOT USE. Only for BeerXML compatibility. Q_PROPERTY( double evapRate_pctHr READ evapRate_pctHr WRITE setEvapRate_pctHr NOTIFY changedEvapRate_pctHr ) //! \brief Set the evaporation rate in liters/hr. Q_PROPERTY( double evapRate_lHr READ evapRate_lHr WRITE setEvapRate_lHr NOTIFY changedEvapRate_lHr ) //! \brief Set the boil time in minutes. Q_PROPERTY( double boilTime_min READ boilTime_min WRITE setBoilTime_min NOTIFY changedBoilTime_min ) //! \brief Set whether you want the boil volume to be automatically calculated. Q_PROPERTY( bool calcBoilVolume READ calcBoilVolume WRITE setCalcBoilVolume NOTIFY changedCalcBoilVolume ) //! \brief Set the lauter tun's deadspace in liters. Q_PROPERTY( double lauterDeadspace_l READ lauterDeadspace_l WRITE setLauterDeadspace_l NOTIFY changedLauterDeadspace_l ) //! \brief Set the kettle top up in liters. Q_PROPERTY( double topUpKettle_l READ topUpKettle_l WRITE setTopUpKettle_l NOTIFY changedTopUpKettle_l ) //! \brief Set the hop utilization factor. I do not believe this is used. Q_PROPERTY( double hopUtilization_pct READ hopUtilization_pct WRITE setHopUtilization_pct NOTIFY changedHopUtilization_pct ) //! \brief Set the notes. Q_PROPERTY( QString notes READ notes WRITE setNotes NOTIFY changedNotes ) //! \brief Set how much water the grains absorb in liters/kg. Q_PROPERTY( double grainAbsorption_LKg READ grainAbsorption_LKg WRITE setGrainAbsorption_LKg NOTIFY changedGrainAbsorption_LKg ) //! \brief Set the boiling point of water in Celsius. Q_PROPERTY( double boilingPoint_c READ boilingPoint_c WRITE setBoilingPoint_c NOTIFY changedBoilingPoint_c ) // Set void setName( const QString &var ); void setBoilSize_l( double var ); void setBatchSize_l( double var ); void setTunVolume_l( double var ); void setTunWeight_kg( double var ); void setTunSpecificHeat_calGC( double var ); void setTopUpWater_l( double var ); void setTrubChillerLoss_l( double var ); void setEvapRate_pctHr( double var ); void setEvapRate_lHr( double var ); void setBoilTime_min( double var ); void setCalcBoilVolume( bool var ); void setLauterDeadspace_l( double var ); void setTopUpKettle_l( double var ); void setHopUtilization_pct( double var ); void setNotes( const QString &var ); void setGrainAbsorption_LKg(double var); void setBoilingPoint_c(double var); // Get QString name() const; double boilSize_l() const; double batchSize_l() const; double tunVolume_l() const; double tunWeight_kg() const; double tunSpecificHeat_calGC() const; double topUpWater_l() const; double trubChillerLoss_l() const; double evapRate_pctHr() const; double evapRate_lHr() const; double boilTime_min() const; bool calcBoilVolume() const; double lauterDeadspace_l() const; double topUpKettle_l() const; double hopUtilization_pct() const; QString notes() const; double grainAbsorption_LKg(); double boilingPoint_c() const; //! \brief Calculate how much wort is left immediately at knockout. double wortEndOfBoil_l( double kettleWort_l ) const; signals: void changedName(QString); void changedBoilSize_l(double); void changedBatchSize_l(double); void changedTunVolume_l(double); void changedTunWeight_kg(double); void changedTunSpecificHeat_calGC(double); void changedTopUpWater_l(double); void changedTrubChillerLoss_l(double); void changedEvapRate_pctHr(double); void changedEvapRate_lHr(double); void changedBoilTime_min(double); void changedCalcBoilVolume(bool); void changedLauterDeadspace_l(double); void changedTopUpKettle_l(double); void changedHopUtilization_pct(double); void changedNotes(QString); void changedGrainAbsorption_LKg(double); void changedBoilingPoint_c(double); private: Equipment(); Equipment( Equipment const& other); // Calculate the boil size. void doCalculations(); static QHash tagToProp; static QHash tagToPropHash(); }; inline bool EquipmentPtrLt( Equipment* lhs, Equipment* rhs) { return *lhs < *rhs; } inline bool EquipmentPtrEq( Equipment* lhs, Equipment* rhs) { return *lhs == *rhs; } struct Equipment_ptr_cmp { bool operator()( Equipment* lhs, Equipment* rhs) { return *lhs < *rhs; } }; struct Equipment_ptr_equals { bool operator()( Equipment* lhs, Equipment* rhs ) { return *lhs == *rhs; } }; #endif /* _EQUIPMENT_H */ brewtarget-2.0.2/src/MashListModel.cpp0000644000175000017500000000754612266512167017241 0ustar philipphilip/* * MashListModel.cpp is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include "MashListModel.h" #include "style.h" #include "database.h" #include "recipe.h" MashListModel::MashListModel(QWidget* parent) : QAbstractListModel(parent), recipe(0) { connect( &(Database::instance()), SIGNAL(newMashSignal(Mash*)), this, SLOT(addMash(Mash*)) ); connect( &(Database::instance()), SIGNAL(deletedMashSignal(Mash*)), this, SLOT(removeMash(Mash*)) ); repopulateList(); } void MashListModel::addMash(Mash* m) { if( !m || !m->display() || m->deleted() ) return; if( !mashes.contains(m) ) { int size = mashes.size(); beginInsertRows( QModelIndex(), size, size ); mashes.append(m); connect( m, SIGNAL(changed(QMetaProperty,QVariant)), this, SLOT(mashChanged(QMetaProperty,QVariant)) ); endInsertRows(); } } void MashListModel::addMashes(QList m) { QList::iterator i; QList tmp; for( i = m.begin(); i != m.end(); i++ ) { if( !mashes.contains(*i) && (*i)->display() && ! (*i)->deleted()) tmp.append(*i); } int size = mashes.size(); if (size+tmp.size()) { beginInsertRows( QModelIndex(), size, size+tmp.size()-1 ); mashes.append(tmp); for( i = tmp.begin(); i != tmp.end(); i++ ) connect( *i, SIGNAL(changed(QMetaProperty,QVariant)), this, SLOT(mashChanged(QMetaProperty,QVariant)) ); endInsertRows(); } } void MashListModel::removeMash(Mash* mash) { int ndx = mashes.indexOf(mash); if( ndx >= 0 ) { beginRemoveRows( QModelIndex(), ndx, ndx ); disconnect( mash, 0, this, 0 ); mashes.removeAt(ndx); endRemoveRows(); } } void MashListModel::removeAll() { if (mashes.size()) { beginRemoveRows( QModelIndex(), 0, mashes.size()-1 ); while( !mashes.isEmpty() ) disconnect( mashes.takeLast(), 0, this, 0 ); endRemoveRows(); } } void MashListModel::mashChanged(QMetaProperty prop, QVariant val) { Mash* mSend = qobject_cast(sender()); // NOTE: how to get around the issue that the sender might live in // a different thread and therefore always cause sSend == 0? if( mSend == 0 ) return; QString propName(prop.name()); if( propName == "name" ) { int ndx = mashes.indexOf(mSend); if( ndx >= 0 ) emit dataChanged( createIndex(ndx,0), createIndex(ndx,0) ); } } void MashListModel::repopulateList() { removeAll(); addMashes( Database::instance().mashs() ); } Mash* MashListModel::at(int ndx) { if( ndx >= 0 && ndx < mashes.size() ) return mashes[ndx]; else return 0; } int MashListModel::indexOf(Mash* m) { return mashes.indexOf(m); } int MashListModel::rowCount( QModelIndex const& parent ) const { return mashes.size(); } QVariant MashListModel::data( QModelIndex const& index, int role ) const { int row = index.row(); int col = index.column(); if( col == 0 && role == Qt::DisplayRole ) return QVariant(mashes.at(row)->name()); else return QVariant(); } QVariant MashListModel::headerData( int section, Qt::Orientation orientation, int role ) const { return QVariant(QString("Header Data...")); } brewtarget-2.0.2/src/QueuedMethod.h0000644000175000017500000000621412266512167016561 0ustar philipphilip/* * QueuedMethod.h is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef _QUEUEDMETHOD_H #define _QUEUEDMETHOD_H #include #include #include #include #include #include /*! * \class QueuedMethod * \author Philip G. Lee (rocketman768@gmail.com) * * \brief Runs long methods in the background. * * This class allows you to queue any \em invokable function call that would * normally block so that it executes in the background. Have I duplicated the * functionality of QtConcurrent::run()? */ class QueuedMethod : public QThread { Q_OBJECT public: /*! * Note: may add more available arguments in future. * * \param startImmediately true if you want to immediately execute. * Otherwise, call \b start() manually to begin. * \param arg0 is the first argument to the method. */ QueuedMethod(QObject* obj, QString const& methodName, //QGenericReturnArgument ret, bool startImmediately = true, QGenericArgument arg0 = QGenericArgument(0) ); virtual ~QueuedMethod(); /*! * Chain the method call with \b other. I.e. when \b this finishes, * \b other will be started. * \returns \b other so you can do a->chainWith(b)->chainWith(c) which * executes a, then b, then c. */ QSharedPointer chainWith( QSharedPointer other ); /*! * Push a method onto the queue. When \b qm->done() is emitted, \b qm * will be destructed and dequeued. Only use this when qm is allocated * via the \b new operator. Maybe it's a bad name, but please note that * the order of enqueuing is not necessarily the order of execution. For * order control, see \b chainWith(). */ static void enqueue( QSharedPointer qm ); protected: //! Reimplemented from QThread. void run(); signals: /*! * Emitted when the encapsulated function has completed. * \param success is return value of QMetaObject::invokeMethod(). */ void done(bool success); public slots: private slots: void executeFunction(); void dequeueMyself(); void startChained(); private: QSharedPointer _chainedMethod; QObject* _obj; QString _methodName; //const char* _retName; //void* _retData; const char* _arg0Name; void* _arg0Data; bool success; static QList< QSharedPointer > _queue; }; #endif /*_QUEUEDMETHOD_H*/ brewtarget-2.0.2/src/MashWizard.h0000644000175000017500000000260712266512167016243 0ustar philipphilip/* * MashWizard.h is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef _MASHWIZARD_H #define _MASHWIZARD_H class MashWizard; #include "ui_mashWizard.h" #include #include "recipe.h" #include "unit.h" /*! * \class MashWizard * \author Philip G. Lee * * \brief View/controller dialog that helps you design a mash. */ class MashWizard : public QDialog, public Ui::mashWizard { Q_OBJECT public: MashWizard(QWidget* parent=0); //! Set the recipe to do mash wizardry on. void setRecipe(Recipe* rec); public slots: void wizardry(); // Do what the wizard is supposed to do. void show(); private: Recipe* recObs; Unit *weightUnit; Unit *volumeUnit; }; #endif /* _MASHWIZARD_H */ brewtarget-2.0.2/src/BeerColorWidget.h0000644000175000017500000000312012266512167017201 0ustar philipphilip/* * BeerColorWidget.h is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef _BEERCOLORWIDGET_H #define _BEERCOLORWIDGET_H class BeerColorWidget; #include #include #include #include #include #include #include "recipe.h" /*! * \class BeerColorWidget * \author Philip G. Lee * * \brief Displays the approximate color of the beer on screen. */ class BeerColorWidget : public QWidget { Q_OBJECT public: BeerColorWidget(QWidget* parent=0); void setColor( QColor newColor ); //! Observe \b rec for changes in color, and automatically update. void setRecipe( Recipe* rec ); public slots: void parseChanges(QMetaProperty prop, QVariant val); protected: virtual void paintEvent(QPaintEvent *); QColor color; private: QImage glass; void showColor(); Recipe* recObs; }; #endif /* _BEERCOLORWIDGET_H */ brewtarget-2.0.2/src/WaterEditor.h0000644000175000017500000000273512266512167016425 0ustar philipphilip/* * WaterEditor.h is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef WATEREDITOR_H #define WATEREDITOR_H #include #include #include #include "ui_waterEditor.h" // Forward declarations. class Water; /*! * \class WaterEditor * \author Philip G. Lee * * \brief View/controller class for modifying water records. */ class WaterEditor : public QDialog, public Ui::waterEditor { Q_OBJECT public: WaterEditor(QWidget *parent = 0); virtual ~WaterEditor() {} /*! * Sets the water we want to observe. */ void setWater(Water* water); public slots: void showChanges(QMetaProperty* prop = 0); void saveAndClose(); void changed(QMetaProperty,QVariant); private: Water* obs; // Observed water. }; #endif // WATEREDITOR_H brewtarget-2.0.2/src/ColorMethods.h0000644000175000017500000000233512266512167016572 0ustar philipphilip/* * ColorMethods.h is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef _COLORMETHODS_H #define _COLORMETHODS_H class ColorMethods; /*! * \class ColorMethods * \author Philip G. Lee * * \brief Converts malt color units to SRM. */ class ColorMethods { public: ColorMethods(); ~ColorMethods(); //! Depending on selected algorithm, convert malt color units to SRM. static double mcuToSrm(double mcu); private: static double morey(double mcu); static double daniel(double mcu); static double mosher(double mcu); }; #endif brewtarget-2.0.2/src/ScaleRecipeTool.h0000644000175000017500000000302312266512167017200 0ustar philipphilip/* * ScaleRecipeTool.h is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef SCALE_RECIPE_TOOL_H #define SCALE_RECIPE_TOOL_H class ScaleRecipeTool; #include "ui_scaleRecipeTool.h" #include #include #include #include // Forward declarations class Recipe; /*! * \class ScaleRecipeTool * \author Philip G. Lee * * \brief Controller class that scales a recipe's ingredients. */ class ScaleRecipeTool : public QDialog, public Ui::scaleRecipeTool { Q_OBJECT public: ScaleRecipeTool(QWidget* parent=0); void setRecipe(Recipe* rec); public slots: void show(); private slots: void scale(); void scaleByVolume(); void scaleByEfficiency(); void scaleGroupButtonPressed(QAbstractButton* button); private: Recipe* recObs; QButtonGroup scaleGroup; }; #endif /*SCALE_RECIPE_TOOL_H*/ brewtarget-2.0.2/src/HeatCalculations.h0000644000175000017500000000272612266512167017417 0ustar philipphilip/* * HeatCalculations.h is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef _HEATCALCULATIONS_H #define _HEATCALCULATIONS_H class HeatCalculations; /*! * \class * \author Philip G. Lee * * \brief Algorithms and constants related to the thermodynamics of beer. */ class HeatCalculations { public: double equivalentMCProduct(double m1, double c1, double m2, double c2); // Water temp when mass 1 is initially at T1 and is to be brought to Tf by // water. MCw = (mass of water)*(water sp. heat). MC1 = (mass 1)*(sp. heat 1). double requiredWaterTemp( double MCw, double MC1, double Tf, double T1 ); /***Specific heats***/ // Water's specific heat. static double Cw_JKgK; static double Cw_calGC; static double Cgrain_calGC; }; #endif /* _HEATCALCULATIONS_H */ brewtarget-2.0.2/src/YeastTableModel.cpp0000644000175000017500000003474112266512167017547 0ustar philipphilip/* * YeastTableModel.cpp is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include #include #include #include #include #include #include #include #include #include #include #include "database.h" #include "yeast.h" #include "YeastTableModel.h" #include "unit.h" #include "brewtarget.h" #include "recipe.h" YeastTableModel::YeastTableModel(QTableView* parent, bool editable) : QAbstractTableModel(parent), editable(editable), parentTableWidget(parent), recObs(0) { yeastObs.clear(); } void YeastTableModel::addYeast(Yeast* yeast) { if( yeastObs.contains(yeast) ) return; // If we are observing the database, ensure that the item is undeleted and // fit to display. if( recObs == 0 && ( yeast->deleted() || !yeast->display() ) ) return; int size = yeastObs.size(); beginInsertRows( QModelIndex(), size, size ); yeastObs.append(yeast); connect( yeast, SIGNAL(changed(QMetaProperty,QVariant)), this, SLOT(changed(QMetaProperty,QVariant)) ); //reset(); // Tell everybody that the table has changed. endInsertRows(); if(parentTableWidget) { parentTableWidget->resizeColumnsToContents(); parentTableWidget->resizeRowsToContents(); } } void YeastTableModel::observeRecipe(Recipe* rec) { if( recObs ) { disconnect( recObs, 0, this, 0 ); removeAll(); } recObs = rec; if( recObs ) { connect( recObs, SIGNAL(changed(QMetaProperty,QVariant)), this, SLOT(changed(QMetaProperty,QVariant)) ); addYeasts( recObs->yeasts() ); } } void YeastTableModel::observeDatabase(bool val) { if( val ) { observeRecipe(0); removeAll(); connect( &(Database::instance()), SIGNAL(newYeastSignal(Yeast*)), this, SLOT(addYeast(Yeast*)) ); connect( &(Database::instance()), SIGNAL(deletedYeastSignal(Yeast*)), this, SLOT(removeYeast(Yeast*)) ); addYeasts( Database::instance().yeasts() ); } else { removeAll(); disconnect( &(Database::instance()), 0, this, 0 ); } } void YeastTableModel::addYeasts(QList yeasts) { QList::iterator i; QList tmp; for( i = yeasts.begin(); i != yeasts.end(); i++ ) { if( !yeastObs.contains(*i) ) tmp.append(*i); } int size = yeastObs.size(); if (size+tmp.size()) { beginInsertRows( QModelIndex(), size, size+tmp.size()-1 ); yeastObs.append(tmp); for( i = tmp.begin(); i != tmp.end(); i++ ) connect( *i, SIGNAL(changed(QMetaProperty,QVariant)), this, SLOT(changed(QMetaProperty,QVariant)) ); endInsertRows(); } if( parentTableWidget ) { parentTableWidget->resizeColumnsToContents(); parentTableWidget->resizeRowsToContents(); } } void YeastTableModel::removeYeast(Yeast* yeast) { int i = yeastObs.indexOf(yeast); if( i >= 0 ) { beginRemoveRows( QModelIndex(), i, i ); disconnect( yeast, 0, this, 0 ); yeastObs.removeAt(i); //reset(); // Tell everybody the table has changed. endRemoveRows(); if(parentTableWidget) { parentTableWidget->resizeColumnsToContents(); parentTableWidget->resizeRowsToContents(); } } } void YeastTableModel::removeAll() { if (yeastObs.size()) { beginRemoveRows( QModelIndex(), 0, yeastObs.size()-1 ); while( !yeastObs.isEmpty() ) { disconnect( yeastObs.takeLast(), 0, this, 0 ); } endRemoveRows(); } } void YeastTableModel::changed(QMetaProperty prop, QVariant /*val*/) { int i; // Find the notifier in the list Yeast* yeastSender = qobject_cast(sender()); if( yeastSender ) { i = yeastObs.indexOf(yeastSender); if( i < 0 ) return; emit dataChanged( QAbstractItemModel::createIndex(i, 0), QAbstractItemModel::createIndex(i, YEASTNUMCOLS-1)); return; } // See if sender is our recipe. Recipe* recSender = qobject_cast(sender()); if( recSender && recSender == recObs ) { if( QString(prop.name()) == "yeasts" ) { removeAll(); addYeasts( recObs->yeasts() ); } if( rowCount() > 0 ) emit headerDataChanged( Qt::Vertical, 0, rowCount()-1 ); return; } } int YeastTableModel::rowCount(const QModelIndex& /*parent*/) const { return yeastObs.size(); } int YeastTableModel::columnCount(const QModelIndex& /*parent*/) const { return YEASTNUMCOLS; } QVariant YeastTableModel::data( const QModelIndex& index, int role ) const { Yeast* row; unitDisplay unit; // Ensure the row is ok. if( index.row() >= (int)yeastObs.size() ) { Brewtarget::log(Brewtarget::WARNING, tr("Bad model index. row = %1").arg(index.row())); return QVariant(); } else row = yeastObs[index.row()]; switch( index.column() ) { case YEASTNAMECOL: if( role == Qt::DisplayRole ) return QVariant(row->name()); else return QVariant(); case YEASTTYPECOL: if( role == Qt::DisplayRole ) return QVariant(row->typeStringTr()); else if( role == Qt::UserRole ) return QVariant(row->type()); else return QVariant(); case YEASTLABCOL: if( role == Qt::DisplayRole ) return QVariant(row->laboratory()); else return QVariant(); case YEASTPRODIDCOL: if( role == Qt::DisplayRole ) return QVariant(row->productID()); else return QVariant(); case YEASTFORMCOL: if( role == Qt::DisplayRole ) return QVariant(row->formStringTr()); else if( role == Qt::UserRole ) return QVariant(row->form()); else return QVariant(); case YEASTAMOUNTCOL: if( role != Qt::DisplayRole ) return QVariant(); unit = displayUnit(index.column()); return QVariant( Brewtarget::displayAmount( row->amount(), row->amountIsWeight() ? (Unit*)Units::kilograms : (Unit*)Units::liters, 3, unit, noScale ) ); default : Brewtarget::log(Brewtarget::WARNING, tr("Bad column: %1").arg(index.column())); return QVariant(); } } QVariant YeastTableModel::headerData( int section, Qt::Orientation orientation, int role ) const { if( orientation == Qt::Horizontal && role == Qt::DisplayRole ) { switch( section ) { case YEASTNAMECOL: return QVariant(tr("Name")); case YEASTTYPECOL: return QVariant(tr("Type")); case YEASTFORMCOL: return QVariant(tr("Form")); case YEASTAMOUNTCOL: return QVariant(tr("Amount")); case YEASTLABCOL: return QVariant(tr("Laboratory")); case YEASTPRODIDCOL: return QVariant(tr("Product ID")); default: Brewtarget::log(Brewtarget::WARNING, tr("Bad column: %1").arg(section)); return QVariant(); } } else return QVariant(); } Qt::ItemFlags YeastTableModel::flags(const QModelIndex& index ) const { int col = index.column(); switch(col) { case YEASTNAMECOL: return Qt::ItemIsSelectable | Qt::ItemIsDragEnabled | Qt::ItemIsEnabled; default: return Qt::ItemIsSelectable | (editable ? Qt::ItemIsEditable : Qt::NoItemFlags) | Qt::ItemIsDragEnabled | Qt::ItemIsEnabled; } } bool YeastTableModel::setData( const QModelIndex& index, const QVariant& value, int role ) { Yeast *row; unitDisplay unit; if( index.row() >= (int)yeastObs.size() || role != Qt::EditRole ) return false; else row = yeastObs[index.row()]; switch( index.column() ) { case YEASTNAMECOL: if( value.canConvert(QVariant::String)) { row->setName(value.toString()); return true; } else return false; case YEASTLABCOL: if( value.canConvert(QVariant::String) ) { row->setLaboratory(value.toString()); return true; } else return false; case YEASTPRODIDCOL: if( value.canConvert(QVariant::String) ) { row->setProductID(value.toString()); return true; } else return false; case YEASTTYPECOL: if( value.canConvert(QVariant::Int) ) { row->setType(static_cast(value.toInt())); return true; } else return false; case YEASTFORMCOL: if( value.canConvert(QVariant::Int) ) { row->setForm(static_cast(value.toInt())); return true; } else return false; case YEASTAMOUNTCOL: if( value.canConvert(QVariant::String) ) { unit = displayUnit(YEASTAMOUNTCOL); row->setAmount( row->amountIsWeight() ? Brewtarget::weightQStringToSI(value.toString(),unit) : Brewtarget::volQStringToSI(value.toString(),unit) ); return true; } else return false; default: Brewtarget::log(Brewtarget::WARNING, tr("Bad column: %1").arg(index.column())); return false; } } Yeast* YeastTableModel::getYeast(unsigned int i) { return yeastObs[i]; } unitDisplay YeastTableModel::displayUnit(int column) const { QString attribute = generateName(column); if ( attribute.isEmpty() ) return noUnit; return (unitDisplay)Brewtarget::option(attribute, QVariant(-1), this, Brewtarget::UNIT).toInt(); } unitScale YeastTableModel::displayScale(int column) const { QString attribute = generateName(column); if ( attribute.isEmpty() ) return noScale; return (unitScale)Brewtarget::option(attribute, QVariant(-1), this, Brewtarget::SCALE).toInt(); } // We need to: // o clear the custom scale if set // o clear any custom unit from the rows // o which should have the side effect of clearing any scale void YeastTableModel::setDisplayUnit(int column, unitDisplay displayUnit) { // Yeast* row; // disabled per-cell magic QString attribute = generateName(column); if ( attribute.isEmpty() ) return; Brewtarget::setOption(attribute,displayUnit,this,Brewtarget::UNIT); Brewtarget::setOption(attribute,noScale,this,Brewtarget::SCALE); /* Disabled cell-specific code for (int i = 0; i < rowCount(); ++i ) { row = getYeast(i); row->setDisplayUnit(noUnit); } */ } // Setting the scale should clear any cell-level scaling options void YeastTableModel::setDisplayScale(int column, unitScale displayScale) { // Yeast* row; //disabled per-cell magic QString attribute = generateName(column); if ( attribute.isEmpty() ) return; Brewtarget::setOption(attribute,displayScale,this,Brewtarget::SCALE); /* disabled cell-specific code for (int i = 0; i < rowCount(); ++i ) { row = getYeast(i); row->setDisplayScale(noScale); } */ } QString YeastTableModel::generateName(int column) const { QString attribute; switch(column) { case YEASTAMOUNTCOL: attribute = "amount"; break; default: attribute = ""; } return attribute; } //==========================CLASS YeastItemDelegate=============================== YeastItemDelegate::YeastItemDelegate(QObject* parent) : QItemDelegate(parent) { } QWidget* YeastItemDelegate::createEditor(QWidget *parent, const QStyleOptionViewItem& /*option*/, const QModelIndex &index) const { int col = index.column(); if( col == YEASTTYPECOL ) { QComboBox *box = new QComboBox(parent); box->addItem(tr("Ale")); box->addItem(tr("Lager")); box->addItem(tr("Wheat")); box->addItem(tr("Wine")); box->addItem(tr("Champagne")); box->setSizeAdjustPolicy(QComboBox::AdjustToContents); return box; } else if( col == YEASTFORMCOL ) { QComboBox *box = new QComboBox(parent); box->addItem(tr("Liquid")); box->addItem(tr("Dry")); box->addItem(tr("Slant")); box->addItem(tr("Culture")); return box; } else return new QLineEdit(parent); } void YeastItemDelegate::setEditorData(QWidget *editor, const QModelIndex &index) const { int col = index.column(); if( col == YEASTTYPECOL || col == YEASTFORMCOL ) { QComboBox* box = qobject_cast(editor); int ndx = index.model()->data(index, Qt::UserRole).toInt(); box->setCurrentIndex(ndx); } else { QLineEdit* line = qobject_cast(editor); line->setText(index.model()->data(index, Qt::DisplayRole).toString()); } } void YeastItemDelegate::setModelData(QWidget *editor, QAbstractItemModel *model, const QModelIndex &index) const { int col = index.column(); if( col == YEASTTYPECOL || col == YEASTFORMCOL ) { QComboBox* box = (QComboBox*)editor; int ndx = box->currentIndex(); int curr = model->data(index,Qt::UserRole).toInt(); if ( ndx != curr ) model->setData(index, ndx, Qt::EditRole); } else { QLineEdit* line = (QLineEdit*)editor; if ( line->isModified() ) model->setData(index, line->text(), Qt::EditRole); } } void YeastItemDelegate::updateEditorGeometry(QWidget *editor, const QStyleOptionViewItem &option, const QModelIndex& /*index*/) const { editor->setGeometry(option.rect); } brewtarget-2.0.2/src/pstdint.h0000644000175000017500000006700312266512167015660 0ustar philipphilip/* A portable stdint.h **************************************************************************** * BSD License: **************************************************************************** * * Copyright (c) 2005-2011 Paul Hsieh * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. The name of the author may not be used to endorse or promote products * derived from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * **************************************************************************** * * Version 0.1.12 * * The ANSI C standard committee, for the C99 standard, specified the * inclusion of a new standard include file called stdint.h. This is * a very useful and long desired include file which contains several * very precise definitions for integer scalar types that is * critically important for making portable several classes of * applications including cryptography, hashing, variable length * integer libraries and so on. But for most developers its likely * useful just for programming sanity. * * The problem is that most compiler vendors have decided not to * implement the C99 standard, and the next C++ language standard * (which has a lot more mindshare these days) will be a long time in * coming and its unknown whether or not it will include stdint.h or * how much adoption it will have. Either way, it will be a long time * before all compilers come with a stdint.h and it also does nothing * for the extremely large number of compilers available today which * do not include this file, or anything comparable to it. * * So that's what this file is all about. Its an attempt to build a * single universal include file that works on as many platforms as * possible to deliver what stdint.h is supposed to. A few things * that should be noted about this file: * * 1) It is not guaranteed to be portable and/or present an identical * interface on all platforms. The extreme variability of the * ANSI C standard makes this an impossibility right from the * very get go. Its really only meant to be useful for the vast * majority of platforms that possess the capability of * implementing usefully and precisely defined, standard sized * integer scalars. Systems which are not intrinsically 2s * complement may produce invalid constants. * * 2) There is an unavoidable use of non-reserved symbols. * * 3) Other standard include files are invoked. * * 4) This file may come in conflict with future platforms that do * include stdint.h. The hope is that one or the other can be * used with no real difference. * * 5) In the current verison, if your platform can't represent * int32_t, int16_t and int8_t, it just dumps out with a compiler * error. * * 6) 64 bit integers may or may not be defined. Test for their * presence with the test: #ifdef INT64_MAX or #ifdef UINT64_MAX. * Note that this is different from the C99 specification which * requires the existence of 64 bit support in the compiler. If * this is not defined for your platform, yet it is capable of * dealing with 64 bits then it is because this file has not yet * been extended to cover all of your system's capabilities. * * 7) (u)intptr_t may or may not be defined. Test for its presence * with the test: #ifdef PTRDIFF_MAX. If this is not defined * for your platform, then it is because this file has not yet * been extended to cover all of your system's capabilities, not * because its optional. * * 8) The following might not been defined even if your platform is * capable of defining it: * * WCHAR_MIN * WCHAR_MAX * (u)int64_t * PTRDIFF_MIN * PTRDIFF_MAX * (u)intptr_t * * 9) The following have not been defined: * * WINT_MIN * WINT_MAX * * 10) The criteria for defining (u)int_least(*)_t isn't clear, * except for systems which don't have a type that precisely * defined 8, 16, or 32 bit types (which this include file does * not support anyways). Default definitions have been given. * * 11) The criteria for defining (u)int_fast(*)_t isn't something I * would trust to any particular compiler vendor or the ANSI C * committee. It is well known that "compatible systems" are * commonly created that have very different performance * characteristics from the systems they are compatible with, * especially those whose vendors make both the compiler and the * system. Default definitions have been given, but its strongly * recommended that users never use these definitions for any * reason (they do *NOT* deliver any serious guarantee of * improved performance -- not in this file, nor any vendor's * stdint.h). * * 12) The following macros: * * PRINTF_INTMAX_MODIFIER * PRINTF_INT64_MODIFIER * PRINTF_INT32_MODIFIER * PRINTF_INT16_MODIFIER * PRINTF_LEAST64_MODIFIER * PRINTF_LEAST32_MODIFIER * PRINTF_LEAST16_MODIFIER * PRINTF_INTPTR_MODIFIER * * are strings which have been defined as the modifiers required * for the "d", "u" and "x" printf formats to correctly output * (u)intmax_t, (u)int64_t, (u)int32_t, (u)int16_t, (u)least64_t, * (u)least32_t, (u)least16_t and (u)intptr_t types respectively. * PRINTF_INTPTR_MODIFIER is not defined for some systems which * provide their own stdint.h. PRINTF_INT64_MODIFIER is not * defined if INT64_MAX is not defined. These are an extension * beyond what C99 specifies must be in stdint.h. * * In addition, the following macros are defined: * * PRINTF_INTMAX_HEX_WIDTH * PRINTF_INT64_HEX_WIDTH * PRINTF_INT32_HEX_WIDTH * PRINTF_INT16_HEX_WIDTH * PRINTF_INT8_HEX_WIDTH * PRINTF_INTMAX_DEC_WIDTH * PRINTF_INT64_DEC_WIDTH * PRINTF_INT32_DEC_WIDTH * PRINTF_INT16_DEC_WIDTH * PRINTF_INT8_DEC_WIDTH * * Which specifies the maximum number of characters required to * print the number of that type in either hexadecimal or decimal. * These are an extension beyond what C99 specifies must be in * stdint.h. * * Compilers tested (all with 0 warnings at their highest respective * settings): Borland Turbo C 2.0, WATCOM C/C++ 11.0 (16 bits and 32 * bits), Microsoft Visual C++ 6.0 (32 bit), Microsoft Visual Studio * .net (VC7), Intel C++ 4.0, GNU gcc v3.3.3 * * This file should be considered a work in progress. Suggestions for * improvements, especially those which increase coverage are strongly * encouraged. * * Acknowledgements * * Edited by Philip G. Lee 2011 to avoid overlap with sys/types.h * * The following people have made significant contributions to the * development and testing of this file: * * Chris Howie * John Steele Scott * Dave Thorup * John Dill * */ #include #include #include /* * For gcc with _STDINT_H, fill in the PRINTF_INT*_MODIFIER macros, and * do nothing else. On the Mac OS X version of gcc this is _STDINT_H_. */ #if ((defined(__STDC__) && __STDC__ && __STDC_VERSION__ >= 199901L) || (defined (__WATCOMC__) && (defined (_STDINT_H_INCLUDED) || __WATCOMC__ >= 1250)) || (defined(__GNUC__) && (defined(_STDINT_H) || defined(_STDINT_H_) || defined (__UINT_FAST64_TYPE__)) )) && !defined (_PSTDINT_H_INCLUDED) #include #define _PSTDINT_H_INCLUDED # ifndef PRINTF_INT64_MODIFIER # define PRINTF_INT64_MODIFIER "ll" # endif # ifndef PRINTF_INT32_MODIFIER # define PRINTF_INT32_MODIFIER "l" # endif # ifndef PRINTF_INT16_MODIFIER # define PRINTF_INT16_MODIFIER "h" # endif # ifndef PRINTF_INTMAX_MODIFIER # define PRINTF_INTMAX_MODIFIER PRINTF_INT64_MODIFIER # endif # ifndef PRINTF_INT64_HEX_WIDTH # define PRINTF_INT64_HEX_WIDTH "16" # endif # ifndef PRINTF_INT32_HEX_WIDTH # define PRINTF_INT32_HEX_WIDTH "8" # endif # ifndef PRINTF_INT16_HEX_WIDTH # define PRINTF_INT16_HEX_WIDTH "4" # endif # ifndef PRINTF_INT8_HEX_WIDTH # define PRINTF_INT8_HEX_WIDTH "2" # endif # ifndef PRINTF_INT64_DEC_WIDTH # define PRINTF_INT64_DEC_WIDTH "20" # endif # ifndef PRINTF_INT32_DEC_WIDTH # define PRINTF_INT32_DEC_WIDTH "10" # endif # ifndef PRINTF_INT16_DEC_WIDTH # define PRINTF_INT16_DEC_WIDTH "5" # endif # ifndef PRINTF_INT8_DEC_WIDTH # define PRINTF_INT8_DEC_WIDTH "3" # endif # ifndef PRINTF_INTMAX_HEX_WIDTH # define PRINTF_INTMAX_HEX_WIDTH PRINTF_INT64_HEX_WIDTH # endif # ifndef PRINTF_INTMAX_DEC_WIDTH # define PRINTF_INTMAX_DEC_WIDTH PRINTF_INT64_DEC_WIDTH # endif /* * Something really weird is going on with Open Watcom. Just pull some of * these duplicated definitions from Open Watcom's stdint.h file for now. */ # if defined (__WATCOMC__) && __WATCOMC__ >= 1250 # if !defined (INT64_C) # define INT64_C(x) (x + (INT64_MAX - INT64_MAX)) # endif # if !defined (UINT64_C) # define UINT64_C(x) (x + (UINT64_MAX - UINT64_MAX)) # endif # if !defined (INT32_C) # define INT32_C(x) (x + (INT32_MAX - INT32_MAX)) # endif # if !defined (UINT32_C) # define UINT32_C(x) (x + (UINT32_MAX - UINT32_MAX)) # endif # if !defined (INT16_C) # define INT16_C(x) (x) # endif # if !defined (UINT16_C) # define UINT16_C(x) (x) # endif # if !defined (INT8_C) # define INT8_C(x) (x) # endif # if !defined (UINT8_C) # define UINT8_C(x) (x) # endif # if !defined (UINT64_MAX) # define UINT64_MAX 18446744073709551615ULL # endif # if !defined (INT64_MAX) # define INT64_MAX 9223372036854775807LL # endif # if !defined (UINT32_MAX) # define UINT32_MAX 4294967295UL # endif # if !defined (INT32_MAX) # define INT32_MAX 2147483647L # endif # if !defined (INTMAX_MAX) # define INTMAX_MAX INT64_MAX # endif # if !defined (INTMAX_MIN) # define INTMAX_MIN INT64_MIN # endif # endif #endif #ifndef _PSTDINT_H_INCLUDED #define _PSTDINT_H_INCLUDED #ifndef SIZE_MAX # define SIZE_MAX (~(size_t)0) #endif /* * Deduce the type assignments from limits.h under the assumption that * integer sizes in bits are powers of 2, and follow the ANSI * definitions. */ // Avoid overlap with sys/types.h #ifndef __int8_t_defined #define __int8_t_defined #ifndef INT8_MAX # define INT8_MAX 0x7f #endif #ifndef INT8_MIN # define INT8_MIN INT8_C(0x80) #endif #ifndef int8_t # if (SCHAR_MAX == INT8_MAX) || defined (S_SPLINT_S) typedef signed char int8_t; # define INT8_C(v) ((int8_t) v) # else # error "Platform not supported" # endif #endif #ifndef INT16_MAX # define INT16_MAX 0x7fff #endif #ifndef INT16_MIN # define INT16_MIN INT16_C(0x8000) #endif #ifndef int16_t #if (INT_MAX == INT16_MAX) || defined (S_SPLINT_S) typedef signed int int16_t; # define INT16_C(v) ((int16_t) (v)) # ifndef PRINTF_INT16_MODIFIER # define PRINTF_INT16_MODIFIER "" # endif #elif (SHRT_MAX == INT16_MAX) typedef signed short int16_t; # define INT16_C(v) ((int16_t) (v)) # ifndef PRINTF_INT16_MODIFIER # define PRINTF_INT16_MODIFIER "h" # endif #else #error "Platform not supported" #endif #endif #ifndef INT32_MAX # define INT32_MAX (0x7fffffffL) #endif #ifndef INT32_MIN # define INT32_MIN INT32_C(0x80000000) #endif #ifndef int32_t #if ((LONG_MAX == INT32_MAX) || defined (S_SPLINT_S)) && ! defined(__FreeBSD__) typedef signed long int32_t; # define INT32_C(v) v ## L # ifndef PRINTF_INT32_MODIFIER # define PRINTF_INT32_MODIFIER "l" # endif #elif (INT_MAX == INT32_MAX) typedef signed int int32_t; # define INT32_C(v) v # ifndef PRINTF_INT32_MODIFIER # define PRINTF_INT32_MODIFIER "" # endif #elif (SHRT_MAX == INT32_MAX) typedef signed short int32_t; # define INT32_C(v) ((short) (v)) # ifndef PRINTF_INT32_MODIFIER # define PRINTF_INT32_MODIFIER "" # endif #else #error "Platform not supported" #endif #endif // 64-bit shit seems more tricky. Philip Lee /* * The macro stdint_int64_defined is temporarily used to record * whether or not 64 integer support is available. It must be * defined for any 64 integer extensions for new platforms that are * added. */ #undef stdint_int64_defined #if (defined(__STDC__) && defined(__STDC_VERSION__)) || defined (S_SPLINT_S) # if (__STDC__ && __STDC_VERSION__ >= 199901L) || defined (S_SPLINT_S) # define stdint_int64_defined typedef long long int64_t; # endif #endif #if !defined (stdint_int64_defined) # if defined(__GNUC__) # define stdint_int64_defined # ifndef __FreeBSD__ __extension__ typedef long long int64_t; # endif # elif defined(__MWERKS__) || defined (__SUNPRO_C) || defined (__SUNPRO_CC) || defined (__APPLE_CC__) || defined (_LONG_LONG) || defined (_CRAYC) || defined (S_SPLINT_S) # define stdint_int64_defined typedef long long int64_t; # elif (defined(__WATCOMC__) && defined(__WATCOM_INT64__)) || (defined(_MSC_VER) && _INTEGRAL_MAX_BITS >= 64) || (defined (__BORLANDC__) && __BORLANDC__ > 0x460) || defined (__alpha) || defined (__DECC) # define stdint_int64_defined typedef __int64 int64_t; # endif #endif #endif /*ifndef __int8_t_defined*/ #ifndef UINT8_MAX # define UINT8_MAX 0xff #endif #ifndef uint8_t # if (UCHAR_MAX == UINT8_MAX) || defined (S_SPLINT_S) typedef unsigned char uint8_t; # define UINT8_C(v) ((uint8_t) v) # else # error "Platform not supported" # endif #endif #ifndef UINT16_MAX # define UINT16_MAX 0xffff #endif #ifndef uint16_t #if (UINT_MAX == UINT16_MAX) || defined (S_SPLINT_S) typedef unsigned int uint16_t; # ifndef PRINTF_INT16_MODIFIER # define PRINTF_INT16_MODIFIER "" # endif # define UINT16_C(v) ((uint16_t) (v)) #elif (USHRT_MAX == UINT16_MAX) typedef unsigned short uint16_t; # define UINT16_C(v) ((uint16_t) (v)) # ifndef PRINTF_INT16_MODIFIER # define PRINTF_INT16_MODIFIER "h" # endif #else #error "Platform not supported" #endif #endif #ifndef UINT32_MAX # define UINT32_MAX (0xffffffffUL) #endif #ifndef uint32_t #if ((ULONG_MAX == UINT32_MAX) || defined (S_SPLINT_S)) && ! defined(__FreeBSD__) typedef unsigned long uint32_t; # define UINT32_C(v) v ## UL # ifndef PRINTF_INT32_MODIFIER # define PRINTF_INT32_MODIFIER "l" # endif #elif (UINT_MAX == UINT32_MAX) typedef unsigned int uint32_t; # ifndef PRINTF_INT32_MODIFIER # define PRINTF_INT32_MODIFIER "" # endif # define UINT32_C(v) v ## U #elif (USHRT_MAX == UINT32_MAX) typedef unsigned short uint32_t; # define UINT32_C(v) ((unsigned short) (v)) # ifndef PRINTF_INT32_MODIFIER # define PRINTF_INT32_MODIFIER "" # endif #else #error "Platform not supported" #endif #endif /* * The macro stdint_int64_defined is temporarily used to record * whether or not 64 integer support is available. It must be * defined for any 64 integer extensions for new platforms that are * added. */ #undef stdint_int64_defined #if (defined(__STDC__) && defined(__STDC_VERSION__)) || defined (S_SPLINT_S) # if (__STDC__ && __STDC_VERSION__ >= 199901L) || defined (S_SPLINT_S) # define stdint_int64_defined # ifndef __FreeBSD__ typedef unsigned long long uint64_t; # endif # define UINT64_C(v) v ## ULL # define INT64_C(v) v ## LL # ifndef PRINTF_INT64_MODIFIER # define PRINTF_INT64_MODIFIER "ll" # endif # endif #endif #if !defined (stdint_int64_defined) # if defined(__GNUC__) # define stdint_int64_defined # ifndef __FreeBSD__ __extension__ typedef unsigned long long uint64_t; # endif # define UINT64_C(v) v ## ULL # define INT64_C(v) v ## LL # ifndef PRINTF_INT64_MODIFIER # define PRINTF_INT64_MODIFIER "ll" # endif # elif defined(__MWERKS__) || defined (__SUNPRO_C) || defined (__SUNPRO_CC) || defined (__APPLE_CC__) || defined (_LONG_LONG) || defined (_CRAYC) || defined (S_SPLINT_S) # define stdint_int64_defined typedef unsigned long long uint64_t; # define UINT64_C(v) v ## ULL # define INT64_C(v) v ## LL # ifndef PRINTF_INT64_MODIFIER # define PRINTF_INT64_MODIFIER "ll" # endif # elif (defined(__WATCOMC__) && defined(__WATCOM_INT64__)) || (defined(_MSC_VER) && _INTEGRAL_MAX_BITS >= 64) || (defined (__BORLANDC__) && __BORLANDC__ > 0x460) || defined (__alpha) || defined (__DECC) # define stdint_int64_defined typedef unsigned __int64 uint64_t; # define UINT64_C(v) v ## UI64 # define INT64_C(v) v ## I64 # ifndef PRINTF_INT64_MODIFIER # define PRINTF_INT64_MODIFIER "I64" # endif # endif #endif #if !defined (LONG_LONG_MAX) && defined (INT64_C) # define LONG_LONG_MAX INT64_C (9223372036854775807) #endif #ifndef ULONG_LONG_MAX # define ULONG_LONG_MAX UINT64_C (18446744073709551615) #endif #if !defined (INT64_MAX) && defined (INT64_C) # define INT64_MAX INT64_C (9223372036854775807) #endif #if !defined (INT64_MIN) && defined (INT64_C) # define INT64_MIN INT64_C (-9223372036854775808) #endif #if !defined (UINT64_MAX) && defined (INT64_C) # define UINT64_MAX UINT64_C (18446744073709551615) #endif /* * Width of hexadecimal for number field. */ #ifndef PRINTF_INT64_HEX_WIDTH # define PRINTF_INT64_HEX_WIDTH "16" #endif #ifndef PRINTF_INT32_HEX_WIDTH # define PRINTF_INT32_HEX_WIDTH "8" #endif #ifndef PRINTF_INT16_HEX_WIDTH # define PRINTF_INT16_HEX_WIDTH "4" #endif #ifndef PRINTF_INT8_HEX_WIDTH # define PRINTF_INT8_HEX_WIDTH "2" #endif #ifndef PRINTF_INT64_DEC_WIDTH # define PRINTF_INT64_DEC_WIDTH "20" #endif #ifndef PRINTF_INT32_DEC_WIDTH # define PRINTF_INT32_DEC_WIDTH "10" #endif #ifndef PRINTF_INT16_DEC_WIDTH # define PRINTF_INT16_DEC_WIDTH "5" #endif #ifndef PRINTF_INT8_DEC_WIDTH # define PRINTF_INT8_DEC_WIDTH "3" #endif /* * Ok, lets not worry about 128 bit integers for now. Moore's law says * we don't need to worry about that until about 2040 at which point * we'll have bigger things to worry about. */ #ifdef stdint_int64_defined typedef int64_t intmax_t; typedef uint64_t uintmax_t; # define INTMAX_MAX INT64_MAX # define INTMAX_MIN INT64_MIN # define UINTMAX_MAX UINT64_MAX # define UINTMAX_C(v) UINT64_C(v) # define INTMAX_C(v) INT64_C(v) # ifndef PRINTF_INTMAX_MODIFIER # define PRINTF_INTMAX_MODIFIER PRINTF_INT64_MODIFIER # endif # ifndef PRINTF_INTMAX_HEX_WIDTH # define PRINTF_INTMAX_HEX_WIDTH PRINTF_INT64_HEX_WIDTH # endif # ifndef PRINTF_INTMAX_DEC_WIDTH # define PRINTF_INTMAX_DEC_WIDTH PRINTF_INT64_DEC_WIDTH # endif #else typedef int32_t intmax_t; typedef uint32_t uintmax_t; # define INTMAX_MAX INT32_MAX # define UINTMAX_MAX UINT32_MAX # define UINTMAX_C(v) UINT32_C(v) # define INTMAX_C(v) INT32_C(v) # ifndef PRINTF_INTMAX_MODIFIER # define PRINTF_INTMAX_MODIFIER PRINTF_INT32_MODIFIER # endif # ifndef PRINTF_INTMAX_HEX_WIDTH # define PRINTF_INTMAX_HEX_WIDTH PRINTF_INT32_HEX_WIDTH # endif # ifndef PRINTF_INTMAX_DEC_WIDTH # define PRINTF_INTMAX_DEC_WIDTH PRINTF_INT32_DEC_WIDTH # endif #endif /* * Because this file currently only supports platforms which have * precise powers of 2 as bit sizes for the default integers, the * least definitions are all trivial. Its possible that a future * version of this file could have different definitions. */ #ifndef stdint_least_defined typedef int8_t int_least8_t; typedef uint8_t uint_least8_t; typedef int16_t int_least16_t; typedef uint16_t uint_least16_t; typedef int32_t int_least32_t; typedef uint32_t uint_least32_t; # define PRINTF_LEAST32_MODIFIER PRINTF_INT32_MODIFIER # define PRINTF_LEAST16_MODIFIER PRINTF_INT16_MODIFIER # define UINT_LEAST8_MAX UINT8_MAX # define INT_LEAST8_MAX INT8_MAX # define UINT_LEAST16_MAX UINT16_MAX # define INT_LEAST16_MAX INT16_MAX # define UINT_LEAST32_MAX UINT32_MAX # define INT_LEAST32_MAX INT32_MAX # define INT_LEAST8_MIN INT8_MIN # define INT_LEAST16_MIN INT16_MIN # define INT_LEAST32_MIN INT32_MIN # ifdef stdint_int64_defined typedef int64_t int_least64_t; typedef uint64_t uint_least64_t; # define PRINTF_LEAST64_MODIFIER PRINTF_INT64_MODIFIER # define UINT_LEAST64_MAX UINT64_MAX # define INT_LEAST64_MAX INT64_MAX # define INT_LEAST64_MIN INT64_MIN # endif #endif #undef stdint_least_defined /* * The ANSI C committee pretending to know or specify anything about * performance is the epitome of misguided arrogance. The mandate of * this file is to *ONLY* ever support that absolute minimum * definition of the fast integer types, for compatibility purposes. * No extensions, and no attempt to suggest what may or may not be a * faster integer type will ever be made in this file. Developers are * warned to stay away from these types when using this or any other * stdint.h. */ #ifndef __FreeBSD__ typedef int_least8_t int_fast8_t; typedef uint_least8_t uint_fast8_t; typedef int_least16_t int_fast16_t; typedef uint_least16_t uint_fast16_t; #endif typedef int_least32_t int_fast32_t; typedef uint_least32_t uint_fast32_t; #define UINT_FAST8_MAX UINT_LEAST8_MAX #define INT_FAST8_MAX INT_LEAST8_MAX #define UINT_FAST16_MAX UINT_LEAST16_MAX #define INT_FAST16_MAX INT_LEAST16_MAX #define UINT_FAST32_MAX UINT_LEAST32_MAX #define INT_FAST32_MAX INT_LEAST32_MAX #define INT_FAST8_MIN INT_LEAST8_MIN #define INT_FAST16_MIN INT_LEAST16_MIN #define INT_FAST32_MIN INT_LEAST32_MIN #ifdef stdint_int64_defined typedef int_least64_t int_fast64_t; typedef uint_least64_t uint_fast64_t; # define UINT_FAST64_MAX UINT_LEAST64_MAX # define INT_FAST64_MAX INT_LEAST64_MAX # define INT_FAST64_MIN INT_LEAST64_MIN #endif #undef stdint_int64_defined /* * Whatever piecemeal, per compiler thing we can do about the wchar_t * type limits. */ #if defined(__WATCOMC__) || defined(_MSC_VER) || defined (__GNUC__) # include # ifndef WCHAR_MIN # define WCHAR_MIN 0 # endif # ifndef WCHAR_MAX # define WCHAR_MAX ((wchar_t)-1) # endif #endif /* * Whatever piecemeal, per compiler/platform thing we can do about the * (u)intptr_t types and limits. */ #if defined (_MSC_VER) && defined (_UINTPTR_T_DEFINED) # define STDINT_H_UINTPTR_T_DEFINED #endif #ifndef STDINT_H_UINTPTR_T_DEFINED # if defined (__alpha__) || defined (__ia64__) || defined (__x86_64__) || defined (_WIN64) # define stdint_intptr_bits 64 # elif defined (__WATCOMC__) || defined (__TURBOC__) # if defined(__TINY__) || defined(__SMALL__) || defined(__MEDIUM__) # define stdint_intptr_bits 16 # else # define stdint_intptr_bits 32 # endif # elif defined (__i386__) || defined (_WIN32) || defined (WIN32) # define stdint_intptr_bits 32 # elif defined (__INTEL_COMPILER) /* TODO -- what did Intel do about x86-64? */ # endif # ifdef stdint_intptr_bits # define stdint_intptr_glue3_i(a,b,c) a##b##c # define stdint_intptr_glue3(a,b,c) stdint_intptr_glue3_i(a,b,c) # ifndef PRINTF_INTPTR_MODIFIER # define PRINTF_INTPTR_MODIFIER stdint_intptr_glue3(PRINTF_INT,stdint_intptr_bits,_MODIFIER) # endif # ifndef PTRDIFF_MAX # define PTRDIFF_MAX stdint_intptr_glue3(INT,stdint_intptr_bits,_MAX) # endif # ifndef PTRDIFF_MIN # define PTRDIFF_MIN stdint_intptr_glue3(INT,stdint_intptr_bits,_MIN) # endif # ifndef UINTPTR_MAX # define UINTPTR_MAX stdint_intptr_glue3(UINT,stdint_intptr_bits,_MAX) # endif # ifndef INTPTR_MAX # define INTPTR_MAX stdint_intptr_glue3(INT,stdint_intptr_bits,_MAX) # endif # ifndef INTPTR_MIN # define INTPTR_MIN stdint_intptr_glue3(INT,stdint_intptr_bits,_MIN) # endif # ifndef INTPTR_C # define INTPTR_C(x) stdint_intptr_glue3(INT,stdint_intptr_bits,_C)(x) # endif # ifndef UINTPTR_C # define UINTPTR_C(x) stdint_intptr_glue3(UINT,stdint_intptr_bits,_C)(x) # endif // Philip , need to check if [u]intprt_t is already defined... # ifndef __uintptr_t_defined # define __uintptr_t_defined typedef stdint_intptr_glue3(uint,stdint_intptr_bits,_t) uintptr_t; # endif /*uintptr_t*/ # ifndef __intptr_t_defined # define __intptr_t_defined typedef stdint_intptr_glue3( int,stdint_intptr_bits,_t) intptr_t; # endif /*__intptr_t_defined*/ # else /* TODO -- This following is likely wrong for some platforms, and does nothing for the definition of uintptr_t. */ typedef ptrdiff_t intptr_t; # endif # define STDINT_H_UINTPTR_T_DEFINED #endif /* * Assumes sig_atomic_t is signed and we have a 2s complement machine. */ #ifndef SIG_ATOMIC_MAX # define SIG_ATOMIC_MAX ((((sig_atomic_t) 1) << (sizeof (sig_atomic_t)*CHAR_BIT-1)) - 1) #endif #endif #if defined (__TEST_PSTDINT_FOR_CORRECTNESS) /* * Please compile with the maximum warning settings to make sure macros are not * defined more than once. */ #include #include #include #define glue3_aux(x,y,z) x ## y ## z #define glue3(x,y,z) glue3_aux(x,y,z) #define DECLU(bits) glue3(uint,bits,_t) glue3(u,bits,=) glue3(UINT,bits,_C) (0); #define DECLI(bits) glue3(int,bits,_t) glue3(i,bits,=) glue3(INT,bits,_C) (0); #define DECL(us,bits) glue3(DECL,us,) (bits) #define TESTUMAX(bits) glue3(u,bits,=) glue3(~,u,bits); if (glue3(UINT,bits,_MAX) glue3(!=,u,bits)) printf ("Something wrong with UINT%d_MAX\n", bits) int main () { DECL(I,8) DECL(U,8) DECL(I,16) DECL(U,16) DECL(I,32) DECL(U,32) #ifdef INT64_MAX DECL(I,64) DECL(U,64) #endif intmax_t imax = INTMAX_C(0); uintmax_t umax = UINTMAX_C(0); char str0[256], str1[256]; sprintf (str0, "%d %x\n", 0, ~0); sprintf (str1, "%d %x\n", i8, ~0); if (0 != strcmp (str0, str1)) printf ("Something wrong with i8 : %s\n", str1); sprintf (str1, "%u %x\n", u8, ~0); if (0 != strcmp (str0, str1)) printf ("Something wrong with u8 : %s\n", str1); sprintf (str1, "%d %x\n", i16, ~0); if (0 != strcmp (str0, str1)) printf ("Something wrong with i16 : %s\n", str1); sprintf (str1, "%u %x\n", u16, ~0); if (0 != strcmp (str0, str1)) printf ("Something wrong with u16 : %s\n", str1); sprintf (str1, "%" PRINTF_INT32_MODIFIER "d %x\n", i32, ~0); if (0 != strcmp (str0, str1)) printf ("Something wrong with i32 : %s\n", str1); sprintf (str1, "%" PRINTF_INT32_MODIFIER "u %x\n", u32, ~0); if (0 != strcmp (str0, str1)) printf ("Something wrong with u32 : %s\n", str1); #ifdef INT64_MAX sprintf (str1, "%" PRINTF_INT64_MODIFIER "d %x\n", i64, ~0); if (0 != strcmp (str0, str1)) printf ("Something wrong with i64 : %s\n", str1); #endif sprintf (str1, "%" PRINTF_INTMAX_MODIFIER "d %x\n", imax, ~0); if (0 != strcmp (str0, str1)) printf ("Something wrong with imax : %s\n", str1); sprintf (str1, "%" PRINTF_INTMAX_MODIFIER "u %x\n", umax, ~0); if (0 != strcmp (str0, str1)) printf ("Something wrong with umax : %s\n", str1); TESTUMAX(8); TESTUMAX(16); TESTUMAX(32); #ifdef INT64_MAX TESTUMAX(64); #endif return EXIT_SUCCESS; } #endif brewtarget-2.0.2/src/YeastTableModel.h0000644000175000017500000001012012266512167017175 0ustar philipphilip/* * YeastTableModel.h is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef _YEASTTABLEMODEL_H #define _YEASTTABLEMODEL_H class YeastTableModel; class YeastItemDelegate; #include #include #include #include #include #include #include #include #include "unit.h" // Forward declarations. class Yeast; class YeastTableWidget; class Recipe; enum{ YEASTNAMECOL, YEASTLABCOL, YEASTPRODIDCOL, YEASTTYPECOL, YEASTFORMCOL, YEASTAMOUNTCOL, YEASTNUMCOLS /*This one MUST be last*/}; /*! * \class YeastTableModel * \author Philip G. Lee * * \brief Table model for yeasts. */ class YeastTableModel : public QAbstractTableModel { Q_OBJECT public: YeastTableModel(QTableView* parent=0, bool editable=true); virtual ~YeastTableModel() {} //! \brief Observe a recipe's list of fermentables. void observeRecipe(Recipe* rec); //! \brief If true, we model the database's list of yeasts. void observeDatabase(bool val); //! \brief Add \c yeasts to the model. void addYeasts(QList yeasts); //! \brief Get the yeast at model index \c i. Yeast* getYeast(unsigned int i); //! \brief Clear the model. void removeAll(); //! \brief Reimplemented from QAbstractTableModel. virtual int rowCount(const QModelIndex& parent = QModelIndex()) const; //! \brief Reimplemented from QAbstractTableModel. virtual int columnCount(const QModelIndex& parent = QModelIndex()) const; //! \brief Reimplemented from QAbstractTableModel. virtual QVariant data( const QModelIndex& index, int role = Qt::DisplayRole ) const; //! \brief Reimplemented from QAbstractTableModel. virtual QVariant headerData( int section, Qt::Orientation orientation, int role = Qt::DisplayRole ) const; //! \brief Reimplemented from QAbstractTableModel. virtual Qt::ItemFlags flags(const QModelIndex& index ) const; //! \brief Reimplemented from QAbstractTableModel. virtual bool setData( const QModelIndex& index, const QVariant& value, int role = Qt::EditRole ); unitDisplay displayUnit(int column) const; unitScale displayScale(int column) const; void setDisplayUnit(int column, unitDisplay displayUnit); void setDisplayScale(int column, unitScale displayScale); QString generateName(int column) const; public slots: //! \brief Add a \c yeast to the model. void addYeast(Yeast* yeast); //! \brief Remove a \c yeast from the model. void removeYeast(Yeast* yeast); private slots: //! \brief Catch changes to Recipe, Database, and Yeast. void changed(QMetaProperty, QVariant); private: bool editable; QList yeastObs; QTableView* parentTableWidget; Recipe* recObs; }; /*! * \class YeastItemDelegate * \author Philip G. Lee * * Item delegate for yeast tables. */ class YeastItemDelegate : public QItemDelegate { Q_OBJECT public: YeastItemDelegate(QObject* parent = 0); // Inherited functions. virtual QWidget *createEditor(QWidget *parent, const QStyleOptionViewItem &option, const QModelIndex &index) const; virtual void setEditorData(QWidget *editor, const QModelIndex &index) const; virtual void setModelData(QWidget *editor, QAbstractItemModel *model, const QModelIndex &index) const; virtual void updateEditorGeometry(QWidget *editor, const QStyleOptionViewItem &option, const QModelIndex &index) const; private: }; #endif /* _YEASTTABLEMODEL_H */ brewtarget-2.0.2/src/FermentableSortFilterProxyModel.h0000644000175000017500000000303112266512167022447 0ustar philipphilip/* * FermentableSortFilterProxyModel.h is part of Brewtarget, and is Copyright Mik * Firestone (mikfire@gmail.com) and Philip G. Lee (rocketman768@gmail.com, * 2010-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef _FermentableSORTFILTERPROXYMODEL_H #define _FermentableSORTFILTERPROXYMODEL_H class FermentableSortFilterProxyModel; #include /*! * \class FermentableSortFilterProxyModel * \author Mik Firestone * \author Philip G. Lee * * \brief Proxy model for sorting Fermentables. */ class FermentableSortFilterProxyModel : public QSortFilterProxyModel { Q_OBJECT public: FermentableSortFilterProxyModel(QObject *parent = 0, bool filt = true); protected: bool lessThan(const QModelIndex &left, const QModelIndex &right) const; bool filterAcceptsRow( int source_row, const QModelIndex &source_parent) const; private: bool filter; QString getName( const QModelIndex &index ) const; }; #endif brewtarget-2.0.2/src/HopEditor.h0000644000175000017500000000307212266512167016064 0ustar philipphilip/* * HopEditor.h is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef _HOPEDITOR_H #define _HOPEDITOR_H class HopEditor; #include "ui_hopEditor.h" #include #include // Forward declarations. class Hop; /*! * \class HopEditor * \author Philip G. Lee * * \brief View/controller class for modifying hops. */ class HopEditor : public QDialog, private Ui::hopEditor { Q_OBJECT public: HopEditor( QWidget *parent=0 ); virtual ~HopEditor() {} //! Edit the given hop. void setHop( Hop* h ); public slots: //! Save the changes. void save(); //! Clear the dialog and close it. void clearAndClose(); void changed(QMetaProperty,QVariant); private: Hop* obsHop; /*! Updates the UI elements based on \b prop. * If null, updates all UI elements. */ void showChanges(QMetaProperty* prop = 0); }; #endif /* _HOPEDITOR_H */ brewtarget-2.0.2/src/mashstep.h0000644000175000017500000001141312266512167016011 0ustar philipphilip/* * mashstep.h is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef _MASHSTEP_H #define _MASHSTEP_H #include "BeerXMLElement.h" #include #include // Forward declarations. class MashStep; bool operator<(MashStep &m1, MashStep &m2); bool operator==(MashStep &m1, MashStep &m2); /*! * \class MashStep * \author Philip G. Lee * * \brief Model for a mash step record in the database. */ class MashStep : public BeerXMLElement { Q_OBJECT friend class Database; public: //! \brief The type of step. enum Type { Infusion, Temperature, Decoction }; Q_ENUMS( Type ) virtual ~MashStep() {} //! \brief The name. Q_PROPERTY( QString name READ name WRITE setName NOTIFY changedName ) //! \brief The \c Type. Q_PROPERTY( Type type READ type WRITE setType /*NOTIFY changed*/ /*changedType*/ ) //! \brief The translated \c Type string. Q_PROPERTY( QString typeStringTr READ typeStringTr ) //! \brief The infusion amount in liters. Q_PROPERTY( double infuseAmount_l READ infuseAmount_l WRITE setInfuseAmount_l /*NOTIFY changed*/ /*changedInfuseAmount_l*/ ) //! \brief The target temperature of this step in C. Q_PROPERTY( double stepTemp_c READ stepTemp_c WRITE setStepTemp_c /*NOTIFY changed*/ /*changedStepTemp_c*/ ) //! \brief The time of the step in min. Q_PROPERTY( double stepTime_min READ stepTime_min WRITE setStepTime_min /*NOTIFY changed*/ /*changedStepTime_min*/ ) //! \brief The time it takes to ramp the temp to the target temp in min. Q_PROPERTY( double rampTime_min READ rampTime_min WRITE setRampTime_min /*NOTIFY changed*/ /*changedRampTime_min*/ ) //! \brief The target ending temp of the step in C. Q_PROPERTY( double endTemp_c READ endTemp_c WRITE setEndTemp_c /*NOTIFY changed*/ /*changedEndTemp_c*/ ) //! \brief The infusion temp in C. Q_PROPERTY( double infuseTemp_c READ infuseTemp_c WRITE setInfuseTemp_c /*NOTIFY changed*/ /*changedInfuseTemp_c*/ ) //! \brief The decoction amount in liters. Q_PROPERTY( double decoctionAmount_l READ decoctionAmount_l WRITE setDecoctionAmount_l /*NOTIFY changed*/ /*changedDecoctionAmount_l*/ ) //! \brief The step number in a sequence of other steps. Q_PROPERTY( int stepNumber READ stepNumber /*WRITE*/ /*NOTIFY changed*/ STORED false ) void setName( const QString &var ); void setType( Type t ); void setInfuseAmount_l( double var ); void setStepTemp_c( double var ); void setStepTime_min( double var ); void setRampTime_min( double var ); void setEndTemp_c( double var ); void setInfuseTemp_c( double var ); void setDecoctionAmount_l( double var ); QString name() const; Type type() const; const QString typeString() const; const QString typeStringTr() const; double infuseAmount_l() const; double stepTemp_c() const; double stepTime_min() const; double rampTime_min() const; double endTemp_c() const; double infuseTemp_c() const; double decoctionAmount_l() const; //! What number this step is in the mash. int stepNumber() const; signals: //! \brief Emitted when \c name() changes. void changedName(QString); /* void changedType(Type); void changedInfuseAmount_l(double); void changedStepTemp_c(double); void changedStepTime_min(double); void changedRampTime_min(double); void changedEndTemp_c(double); void changedInfuseTemp_c(double); void changedDecoctionAmount_l(double); */ private: MashStep(); MashStep( MashStep const& other ); bool isValidType( const QString &str ) const; static QStringList types; static QStringList typesTr; static QHash tagToProp; static QHash tagToPropHash(); }; inline bool MashStepPtrLt( MashStep* lhs, MashStep* rhs) { return *lhs < *rhs; } inline bool MashStepPtrEq( MashStep* lhs, MashStep* rhs) { return *lhs == *rhs; } struct MashStep_ptr_cmp { bool operator()( MashStep* lhs, MashStep* rhs) { return *lhs < *rhs; } }; struct MashStep_ptr_equals { bool operator()( MashStep* lhs, MashStep* rhs ) { return *lhs == *rhs; } }; #endif //_MASHSTEP_H brewtarget-2.0.2/src/BtDatePopup.cpp0000644000175000017500000000374412266512167016717 0ustar philipphilip/* * BtDatePopup.cpp is part of Brewtarget and was written by Mik Firestone * (mikfire@gmail.com). Copyright is granted to Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include #include "BtDatePopup.h" //! \brief set up the popup window. BtDatePopup::BtDatePopup(QWidget* parent) : QDialog(parent, Qt::Popup) { // No resizing a dialog setSizeGripEnabled(false); resize(260,230); widget = new QWidget(this); widget->setObjectName(QString("btDatePopup_widget")); widget->setGeometry(QRect(0,10,258,215)); calendar = new QCalendarWidget(widget); calendar->setObjectName(QString("btDatePopup_calendar")); calendar->setNavigationBarVisible(true); buttonbox = new QDialogButtonBox(widget); buttonbox->setObjectName(QString("btDatePopup_buttonbox")); buttonbox->setOrientation(Qt::Horizontal); buttonbox->setStandardButtons(QDialogButtonBox::Cancel|QDialogButtonBox::Ok); vertical = new QVBoxLayout(widget); vertical->setObjectName(QString("btDatePopup_verticalbox")); vertical->setContentsMargins(0,0,0,0); vertical->addWidget(calendar); vertical->addWidget(buttonbox); connect(buttonbox, SIGNAL(accepted()), this, SLOT(accept())); connect(buttonbox, SIGNAL(rejected()), this, SLOT(reject())); } QDateTime BtDatePopup::selectedDate() const { return QDateTime(calendar->selectedDate()); } brewtarget-2.0.2/src/IbuMethods.h0000644000175000017500000000324212266512167016231 0ustar philipphilip/* * IbuMethods.h is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef _IBUMETHODS_H #define _IBUMETHODS_H /*! * \class IbuMethods * \author Philip G. Lee * * \brief Make IBU calculations. */ class IbuMethods { public: IbuMethods(); ~IbuMethods(); /*! * \return ibus according to selected algorithm. * \param AArating in [0,1] (0.04 means 4% AA for example) * \param hops_grams - mass of hops in grams * \param finalVolume_liters - self explanatory * \param wort_grav in specific gravity at around 60F I guess. * \param minutes - minutes that the hops are in the boil */ static double getIbus(double AArating, double hops_grams, double finalVolume_liters, double wort_grav, double minutes); private: static double tinseth(double AArating, double hops_grams, double finalVolume_liters, double wort_grav, double minutes); static double rager(double AArating, double hops_grams, double finalVolume_liters, double wort_grav, double minutes); }; #endif brewtarget-2.0.2/src/MainWindow.cpp0000755000175000017500000024143312266512167016606 0ustar philipphilip/* * MainWindow.cpp is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include "MashStepEditor.h" #include "MashStepTableModel.h" #include "mash.h" #include "MashEditor.h" #include "brewtarget.h" #include "FermentableEditor.h" #include "MiscEditor.h" #include "HopEditor.h" #include "YeastEditor.h" #include "YeastTableModel.h" #include "MiscTableModel.h" #include "style.h" #include "recipe.h" #include "MainWindow.h" #include "AboutDialog.h" #include "database.h" #include "YeastDialog.h" #include "BeerColorWidget.h" #include "config.h" #include "unit.h" #include "ScaleRecipeTool.h" #include "HopTableModel.h" #include "BtDigitWidget.h" #include "FermentableTableModel.h" #include "BrewNoteWidget.h" #include "EquipmentEditor.h" #include "FermentableDialog.h" #include "HopDialog.h" #include "MashWizard.h" #include "MiscDialog.h" #include "StyleEditor.h" #include "OptionDialog.h" #include "OgAdjuster.h" #include "ConverterTool.h" #include "TimerListDialog.h" #include "RecipeFormatter.h" #include "PrimingDialog.h" #include "RefractoDialog.h" #include "MashDesigner.h" #include "PitchDialog.h" #include "MaltinessWidget.h" #include "fermentable.h" #include "yeast.h" #include "brewnote.h" #include "equipment.h" #include "FermentableTableModel.h" #include "FermentableSortFilterProxyModel.h" #include "HopTableModel.h" #include "HopSortFilterProxyModel.h" #include "MiscTableModel.h" #include "MiscSortFilterProxyModel.h" #include "YeastSortFilterProxyModel.h" #include "EquipmentListModel.h" #include "StyleListModel.h" #include "MashListModel.h" #include "StyleSortFilterProxyModel.h" #include "NamedMashEditor.h" #include "BtDatePopup.h" #if defined(Q_OS_WIN) #include #endif MainWindow::MainWindow(QWidget* parent) : QMainWindow(parent) { // Need to call this to get all the widgets added (I think). setupUi(this); QDesktopWidget *desktop = QApplication::desktop(); // Ensure database initializes. Database::instance(); // Set the window title. setWindowTitle( QString("Brewtarget - %1").arg(VERSIONSTRING) ); // If we converted from XML, pop a dialog telling the user where they can // find their old files. if (Database::instance().isConverted()) convertedMsg(); // Different palettes for some text. lcdPalette_old = lcdNumber_og->palette(); lcdPalette_tooLow = QPalette(lcdPalette_old); lcdPalette_tooLow.setColor(QPalette::Active, QPalette::WindowText, QColor::fromRgb(0, 0, 208)); lcdPalette_good = QPalette(lcdPalette_old); lcdPalette_good.setColor(QPalette::Active, QPalette::WindowText, QColor::fromRgb(0, 128, 0)); lcdPalette_tooHigh = QPalette(lcdPalette_old); lcdPalette_tooHigh.setColor(QPalette::Active, QPalette::WindowText, QColor::fromRgb(208, 0, 0)); // Set constant colors for some lcds. lcdNumber_ogLow->setConstantColor(BtDigitWidget::LOW); lcdNumber_ogHigh->setConstantColor(BtDigitWidget::HIGH); lcdNumber_fgLow->setConstantColor(BtDigitWidget::LOW); lcdNumber_fgHigh->setConstantColor(BtDigitWidget::HIGH); lcdNumber_abvLow->setConstantColor(BtDigitWidget::LOW); lcdNumber_abvHigh->setConstantColor(BtDigitWidget::HIGH); lcdNumber_ibuLow->setConstantColor(BtDigitWidget::LOW); lcdNumber_ibuHigh->setConstantColor(BtDigitWidget::HIGH); lcdNumber_srmLow->setConstantColor(BtDigitWidget::LOW); lcdNumber_srmHigh->setConstantColor(BtDigitWidget::HIGH); lcdNumber_boilSG->setConstantColor(BtDigitWidget::BLACK); lcdNumber_ibugu->setConstantColor(BtDigitWidget::BLACK); lcdNumber_calories->setConstantColor(BtDigitWidget::BLACK); // Null out the recipe recipeObs = 0; dialog_about = new AboutDialog(this); equipEditor = new EquipmentEditor(this); singleEquipEditor = new EquipmentEditor(this, true); fermDialog = new FermentableDialog(this); fermEditor = new FermentableEditor(this); hopDialog = new HopDialog(this); hopEditor = new HopEditor(this); mashEditor = new MashEditor(this); mashStepEditor = new MashStepEditor(this); mashWizard = new MashWizard(this); miscDialog = new MiscDialog(this); miscEditor = new MiscEditor(this); styleEditor = new StyleEditor(this); singleStyleEditor = new StyleEditor(this,true); yeastDialog = new YeastDialog(this); yeastEditor = new YeastEditor(this); optionDialog = new OptionDialog(this); recipeScaler = new ScaleRecipeTool(this); recipeFormatter = new RecipeFormatter(this); ogAdjuster = new OgAdjuster(this); converterTool = new ConverterTool(this); timerListDialog = new TimerListDialog(this); primingDialog = new PrimingDialog(this); refractoDialog = new RefractoDialog(this); mashDesigner = new MashDesigner(this); pitchDialog = new PitchDialog(this); btDatePopup = new BtDatePopup(this); // Set equipment combo box model. equipmentListModel = new EquipmentListModel(equipmentComboBox); equipmentComboBox->setModel(equipmentListModel); // Set the style combo box styleListModel = new StyleListModel(styleComboBox); styleProxyModel = new StyleSortFilterProxyModel(styleComboBox); styleProxyModel->setDynamicSortFilter(true); styleProxyModel->setSourceModel(styleListModel); styleComboBox->setModel(styleProxyModel); // Set the mash combo box mashListModel = new MashListModel(mashComboBox); mashComboBox->setModel(mashListModel); // Nothing to say. namedMashEditor = new NamedMashEditor(this, mashStepEditor); // I don't think this is used yet singleNamedMashEditor = new NamedMashEditor(this,mashStepEditor,true); // Set table models. // Fermentables fermTableModel = new FermentableTableModel(fermentableTable); fermTableProxy = new FermentableSortFilterProxyModel(fermentableTable,false); fermTableProxy->setSourceModel(fermTableModel); fermentableTable->setItemDelegate(new FermentableItemDelegate(fermentableTable)); fermentableTable->setModel(fermTableProxy); // Make the fermentable table show grain percentages in row headers. fermTableModel->setDisplayPercentages(true); // Hops hopTableModel = new HopTableModel(hopTable); hopTableProxy = new HopSortFilterProxyModel(hopTable, false); hopTableProxy->setSourceModel(hopTableModel); hopTable->setItemDelegate(new HopItemDelegate(hopTable)); hopTable->setModel(hopTableProxy); // Hop table show IBUs in row headers. hopTableModel->setShowIBUs(true); // Misc miscTableModel = new MiscTableModel(miscTable); miscTableProxy = new MiscSortFilterProxyModel(miscTable,false); miscTableProxy->setSourceModel(miscTableModel); miscTable->setItemDelegate(new MiscItemDelegate(miscTable)); miscTable->setModel(miscTableProxy); // Yeast yeastTableModel = new YeastTableModel(yeastTable); yeastTableProxy = new YeastSortFilterProxyModel(yeastTable,false); yeastTableProxy->setSourceModel(yeastTableModel); yeastTable->setItemDelegate(new YeastItemDelegate(yeastTable)); yeastTable->setModel(yeastTableProxy); // Mashes mashStepTableModel = new MashStepTableModel(mashStepTableWidget); mashStepTableWidget->setItemDelegate(new MashStepItemDelegate()); mashStepTableWidget->setModel(mashStepTableModel); // Enable sorting in the main tables. fermentableTable->horizontalHeader()->setSortIndicator( FERMAMOUNTCOL, Qt::DescendingOrder ); fermentableTable->setSortingEnabled(true); fermTableProxy->setDynamicSortFilter(true); hopTable->horizontalHeader()->setSortIndicator( HOPTIMECOL, Qt::DescendingOrder ); hopTable->setSortingEnabled(true); hopTableProxy->setDynamicSortFilter(true); miscTable->horizontalHeader()->setSortIndicator( MISCUSECOL, Qt::DescendingOrder ); miscTable->setSortingEnabled(true); miscTableProxy->setDynamicSortFilter(true); yeastTable->horizontalHeader()->setSortIndicator( YEASTNAMECOL, Qt::DescendingOrder ); yeastTable->setSortingEnabled(true); yeastTableProxy->setDynamicSortFilter(true); // Create the keyboard shortcuts setupShortCuts(); // Set up the printer printer = new QPrinter; printer->setPageSize(QPrinter::Letter); // Set up the fileOpener dialog. fileOpener = new QFileDialog(this, tr("Open"), QDir::homePath(), tr("BeerXML files (*.xml)")); fileOpener->setAcceptMode(QFileDialog::AcceptOpen); fileOpener->setFileMode(QFileDialog::ExistingFiles); fileOpener->setViewMode(QFileDialog::List); // Set up the fileSaver dialog. fileSaver = new QFileDialog(this, tr("Save"), QDir::homePath(), tr("BeerXML files (*.xml)") ); fileSaver->setAcceptMode(QFileDialog::AcceptSave); fileSaver->setFileMode(QFileDialog::AnyFile); fileSaver->setViewMode(QFileDialog::List); fileSaver->setDefaultSuffix(QString("xml")); // And test out the maltiness widget. maltWidget = new MaltinessWidget(tabWidget_recipeView); verticalLayout_beerColor->insertWidget( 1, maltWidget ); // Do some magic on the splitter widget to keep the tree from expanding splitter_2->setStretchFactor(0,0); splitter_2->setStretchFactor(1,1); // Once more with the context menus too setupContextMenu(); // clear out the brewnotes brewNotes.clear(); // If we saved a size the last time we ran, use it if ( Brewtarget::btSettings.contains("geometry")) { restoreGeometry(Brewtarget::btSettings.value("geometry").toByteArray()); restoreState(Brewtarget::btSettings.value("windowState").toByteArray()); } else { // otherwise, guess a reasonable size at 1/4 of the screen. int width = desktop->width(); int height = desktop->height(); this->resize(width/2,height/2); } // If we saved the selected recipe name the last time we ran, select it and show it. if (Brewtarget::btSettings.contains("recipeKey")) { int key = Brewtarget::btSettings.value("recipeKey").toInt(); recipeObs = Database::instance().recipe( key ); setRecipe(recipeObs); setTreeSelection(treeView_recipe->findRecipe(recipeObs)); } else { QList recs = Database::instance().recipes(); if( recs.size() > 0 ) setRecipe( recs[0] ); } // Connect signals. // actions connect( actionExit, SIGNAL( triggered() ), this, SLOT( close() ) ); connect( actionAbout_BrewTarget, SIGNAL( triggered() ), dialog_about, SLOT( show() ) ); connect( actionNewRecipe, SIGNAL( triggered() ), this, SLOT( newRecipe() ) ); connect( actionImport_Recipes, SIGNAL( triggered() ), this, SLOT( importFiles() ) ); connect( actionExportRecipe, SIGNAL( triggered() ), this, SLOT( exportRecipe() ) ); connect( actionEquipments, SIGNAL( triggered() ), equipEditor, SLOT( show() ) ); connect( actionMashs, SIGNAL( triggered() ), namedMashEditor, SLOT( show() ) ); connect( actionStyles, SIGNAL( triggered() ), styleEditor, SLOT( show() ) ); connect( actionFermentables, SIGNAL( triggered() ), fermDialog, SLOT( show() ) ); connect( actionHops, SIGNAL( triggered() ), hopDialog, SLOT( show() ) ); connect( actionMiscs, SIGNAL( triggered() ), miscDialog, SLOT( show() ) ); connect( actionYeasts, SIGNAL( triggered() ), yeastDialog, SLOT( show() ) ); connect( actionOptions, SIGNAL( triggered() ), optionDialog, SLOT( show() ) ); connect( actionManual, SIGNAL( triggered() ), this, SLOT( openManual() ) ); connect( actionScale_Recipe, SIGNAL( triggered() ), recipeScaler, SLOT( show() ) ); connect( action_recipeToTextClipboard, SIGNAL( triggered() ), recipeFormatter, SLOT( toTextClipboard() ) ); connect( actionConvert_Units, SIGNAL( triggered() ), converterTool, SLOT( show() ) ); connect( actionOG_Correction_Help, SIGNAL( triggered() ), ogAdjuster, SLOT( show() ) ); connect( actionBackup_Database, SIGNAL( triggered() ), this, SLOT( backup() ) ); connect( actionRestore_Database, SIGNAL( triggered() ), this, SLOT( restoreFromBackup() ) ); connect( actionCopy_Recipe, SIGNAL( triggered() ), this, SLOT( copyRecipe() ) ); connect( actionPriming_Calculator, SIGNAL( triggered() ), primingDialog, SLOT( show() ) ); connect( actionRefractometer_Tools, SIGNAL( triggered() ), refractoDialog, SLOT( show() ) ); connect( actionPitch_Rate_Calculator, SIGNAL(triggered()), this, SLOT(showPitchDialog())); connect( actionMergeDatabases, SIGNAL(triggered()), this, SLOT(updateDatabase()) ); connect( actionTimers, SIGNAL(triggered()), timerListDialog, SLOT(show()) ); connect( actionDeleteSelected, SIGNAL(triggered()), this, SLOT(deleteSelected()) ); connect( actionSave, SIGNAL(triggered()), this, SLOT(save()) ); connect( actionDonate, SIGNAL( triggered() ), this, SLOT( openDonateLink() ) ); // TreeView for clicks, both double and right connect( treeView_recipe, SIGNAL(doubleClicked(const QModelIndex &)), this, SLOT(treeActivated(const QModelIndex &))); connect( treeView_recipe, SIGNAL(customContextMenuRequested( const QPoint& )), this, SLOT(contextMenu(const QPoint &))); connect( treeView_equip, SIGNAL(doubleClicked(const QModelIndex&)), this, SLOT(treeActivated(const QModelIndex &))); connect( treeView_equip, SIGNAL(customContextMenuRequested(const QPoint&)), this, SLOT(contextMenu(const QPoint &))); connect( treeView_ferm, SIGNAL(doubleClicked(const QModelIndex&)), this, SLOT(treeActivated(const QModelIndex &))); connect( treeView_ferm, SIGNAL(customContextMenuRequested(const QPoint&)), this, SLOT(contextMenu(const QPoint &))); connect( treeView_hops, SIGNAL(doubleClicked(const QModelIndex&)), this, SLOT(treeActivated(const QModelIndex &))); connect( treeView_hops, SIGNAL(customContextMenuRequested(const QPoint&)), this, SLOT(contextMenu(const QPoint &))); connect( treeView_misc, SIGNAL(doubleClicked(const QModelIndex&)), this, SLOT(treeActivated(const QModelIndex &))); connect( treeView_misc, SIGNAL(customContextMenuRequested(const QPoint&)), this, SLOT(contextMenu(const QPoint &))); connect( treeView_yeast, SIGNAL(doubleClicked(const QModelIndex&)), this, SLOT(treeActivated(const QModelIndex &))); connect( treeView_yeast, SIGNAL(customContextMenuRequested(const QPoint&)), this, SLOT(contextMenu(const QPoint &))); connect( treeView_style, SIGNAL(doubleClicked(const QModelIndex&)), this, SLOT(treeActivated(const QModelIndex &))); connect( treeView_style, SIGNAL(customContextMenuRequested(const QPoint&)), this, SLOT(contextMenu(const QPoint &))); // Printing signals/slots. // Refactoring is good. It's like a rye saison fermenting away connect( actionRecipePrint, SIGNAL(triggered()), this, SLOT(print())); connect( actionRecipePreview, SIGNAL(triggered()), this, SLOT(print())); connect( actionRecipeHTML, SIGNAL(triggered()), this, SLOT(print())); connect( actionBrewdayPrint, SIGNAL(triggered()), this, SLOT(print())); connect( actionBrewdayPreview, SIGNAL(triggered()), this, SLOT(print())); connect( actionBrewdayHTML, SIGNAL(triggered()), this, SLOT(print())); // Connect up all the labels. I really need to find a better way. connect(targetBatchSizeLabel, SIGNAL(labelChanged(QString)), this, SLOT(redisplayLabel(QString))); connect(calculatedBatchSizeLabel, SIGNAL(labelChanged(QString)), this, SLOT(redisplayLabel(QString))); connect(targetBoilSizeLabel, SIGNAL(labelChanged(QString)), this, SLOT(redisplayLabel(QString))); connect(calculatedBoilSizeLabel, SIGNAL(labelChanged(QString)), this, SLOT(redisplayLabel(QString))); connect(oGLabel, SIGNAL(labelChanged(QString)), this, SLOT(redisplayLabel(QString))); connect(boilSgLabel, SIGNAL(labelChanged(QString)), this, SLOT(redisplayLabel(QString))); connect(fGLabel, SIGNAL(labelChanged(QString)), this, SLOT(redisplayLabel(QString))); connect(colorSRMLabel,SIGNAL(labelChanged(QString)), this, SLOT(redisplayLabel(QString))); // Those are the easy ones. Let's see what we can do with the tables. First one wires the cells, second wires (I think) the header // per-cell has been disabled // connect(fermentableTable, SIGNAL(customContextMenuRequested(const QPoint&)), this, SLOT(fermentableCellSignal(const QPoint&))); QHeaderView* headerView = fermentableTable->horizontalHeader(); headerView->setContextMenuPolicy(Qt::CustomContextMenu); connect(headerView, SIGNAL(customContextMenuRequested(const QPoint&)), this, SLOT(fermentableContextMenu(const QPoint&))); headerView = hopTable->horizontalHeader(); headerView->setContextMenuPolicy(Qt::CustomContextMenu); connect(headerView, SIGNAL(customContextMenuRequested(const QPoint&)), this, SLOT(hopContextMenu(const QPoint&))); headerView = miscTable->horizontalHeader(); headerView->setContextMenuPolicy(Qt::CustomContextMenu); connect(headerView, SIGNAL(customContextMenuRequested(const QPoint&)), this, SLOT(miscContextMenu(const QPoint&))); headerView = yeastTable->horizontalHeader(); headerView->setContextMenuPolicy(Qt::CustomContextMenu); connect(headerView, SIGNAL(customContextMenuRequested(const QPoint&)), this, SLOT(yeastContextMenu(const QPoint&))); headerView = mashStepTableWidget->horizontalHeader(); headerView->setContextMenuPolicy(Qt::CustomContextMenu); connect(headerView, SIGNAL(customContextMenuRequested(const QPoint&)), this, SLOT(mashStepContextMenu(const QPoint&))); connect( dialog_about->pushButton_donate, SIGNAL(clicked()), this, SLOT(openDonateLink()) ); connect( equipmentComboBox, SIGNAL( activated(int) ), this, SLOT(updateRecipeEquipment()) ); connect( equipmentButton, SIGNAL( clicked() ), this, SLOT(showEquipmentEditor())); connect( styleComboBox, SIGNAL( activated(int) ), this, SLOT(updateRecipeStyle()) ); connect( styleButton, SIGNAL( clicked() ), this, SLOT(showStyleEditor()) ); connect( mashComboBox, SIGNAL( activated(int) ), this, SLOT(updateRecipeMash()) ); connect( mashButton, SIGNAL( clicked() ), mashEditor, SLOT( showEditor() ) ); connect( lineEdit_name, SIGNAL( editingFinished() ), this, SLOT( updateRecipeName() ) ); connect( lineEdit_batchSize, SIGNAL( editingFinished() ), this, SLOT( updateRecipeBatchSize() ) ); connect( lineEdit_boilSize, SIGNAL( editingFinished() ), this, SLOT( updateRecipeBoilSize() ) ); connect( lineEdit_boilTime, SIGNAL( editingFinished() ), this, SLOT( updateRecipeBoilTime() ) ); connect( lineEdit_efficiency, SIGNAL( editingFinished() ), this, SLOT( updateRecipeEfficiency() ) ); connect( pushButton_addFerm, SIGNAL( clicked() ), fermDialog, SLOT( show() ) ); connect( pushButton_addHop, SIGNAL( clicked() ), hopDialog, SLOT( show() ) ); connect( pushButton_addMisc, SIGNAL( clicked() ), miscDialog, SLOT( show() ) ); connect( pushButton_addYeast, SIGNAL( clicked() ), yeastDialog, SLOT( show() ) ); connect( pushButton_removeFerm, SIGNAL( clicked() ), this, SLOT( removeSelectedFermentable() ) ); connect( pushButton_removeHop, SIGNAL( clicked() ), this, SLOT( removeSelectedHop() ) ); connect( pushButton_removeMisc, SIGNAL( clicked() ), this, SLOT( removeSelectedMisc() ) ); connect( pushButton_removeYeast, SIGNAL( clicked() ), this, SLOT( removeSelectedYeast() ) ); connect( pushButton_editFerm, SIGNAL(clicked()), this, SLOT( editSelectedFermentable() ) ); connect( pushButton_editMisc, SIGNAL( clicked() ), this, SLOT( editSelectedMisc() ) ); connect( pushButton_editHop, SIGNAL( clicked() ), this, SLOT( editSelectedHop() ) ); connect( pushButton_editYeast, SIGNAL( clicked() ), this, SLOT( editSelectedYeast() ) ); connect( pushButton_editMash, SIGNAL( clicked() ), mashEditor, SLOT( showEditor() ) ); connect( pushButton_addMashStep, SIGNAL( clicked() ), this, SLOT(addMashStep()) ); connect( pushButton_removeMashStep, SIGNAL( clicked() ), this, SLOT(removeSelectedMashStep()) ); connect( pushButton_editMashStep, SIGNAL( clicked() ), this, SLOT(editSelectedMashStep()) ); connect( pushButton_mashWizard, SIGNAL( clicked() ), mashWizard, SLOT( show() ) ); connect( pushButton_saveMash, SIGNAL( clicked() ), this, SLOT( saveMash() ) ); connect( pushButton_mashDes, SIGNAL( clicked() ), mashDesigner, SLOT( show() ) ); connect( pushButton_mashUp, SIGNAL( clicked() ), this, SLOT( moveSelectedMashStepUp() ) ); connect( pushButton_mashDown, SIGNAL( clicked() ), this, SLOT( moveSelectedMashStepDown() ) ); connect( pushButton_mashRemove, SIGNAL( clicked() ), this, SLOT( removeMash() ) ); } void MainWindow::setupShortCuts() { actionNewRecipe->setShortcut(QKeySequence::New); actionCopy_Recipe->setShortcut(QKeySequence::Copy); actionSave->setShortcut(QKeySequence::Save); actionDeleteSelected->setShortcut(QKeySequence::Delete); } void MainWindow::deleteSelected() { QModelIndexList selected; BrewTargetTreeView* active = qobject_cast(tabWidget_Trees->currentWidget()->focusWidget()); QModelIndex first, top; QList::const_iterator at,end; QList deadRec; QList deadKit; QList deadFerm; QList deadHop; QList deadMisc; QList deadStyle; QList deadYeast; QList deadNote; if ( active == 0 ) return; selected = active->selectionModel()->selectedRows(); confirmDelete = QMessageBox::NoButton; // Get the dead things first. Deleting as we process the list doesn't work, because the // delete updates the database and the indices get recalculated. for(at = selected.begin(),end = selected.end();at < end;++at) { switch(active->getType(*at)) { case BrewTargetTreeItem::RECIPE: if ( *at != active->findRecipe(0) && verifyDelete("Recipe",active->getRecipe(*at)->name())) deadRec.append(active->getRecipe(*at)); break; case BrewTargetTreeItem::EQUIPMENT: if (*at != active->findEquipment(0) && verifyDelete("Equipment",active->getEquipment(*at)->name())) deadKit.append(active->getEquipment(*at)); break; case BrewTargetTreeItem::FERMENTABLE: if (*at != active->findFermentable(0) && verifyDelete("Fermentable",active->getFermentable(*at)->name())) deadFerm.append(active->getFermentable(*at)); break; case BrewTargetTreeItem::HOP: if (*at != active->findHop(0) && verifyDelete("Hop",active->getHop(*at)->name())) deadHop.append(active->getHop(*at)); break; case BrewTargetTreeItem::MISC: if (*at != active->findMisc(0) && verifyDelete("Misc",active->getMisc(*at)->name())) deadMisc.append(active->getMisc(*at)); break; case BrewTargetTreeItem::STYLE: if (*at != active->findStyle(0) && verifyDelete("Style",active->getStyle(*at)->name())) deadStyle.append(active->getStyle(*at)); break; case BrewTargetTreeItem::YEAST: if (*at != active->findYeast(0) && verifyDelete("Yeast",active->getYeast(*at)->name())) deadYeast.append(active->getYeast(*at)); break; case BrewTargetTreeItem::BREWNOTE: if (verifyDelete("BrewNote",active->getBrewNote(*at)->brewDate_short())) deadNote.append(active->getBrewNote(*at)); break; default: Brewtarget::log(Brewtarget::WARNING, QString("MainWindow::deleteSelected Unknown type: %1").arg(treeView_recipe->getType(*at))); } if ( confirmDelete == QMessageBox::Cancel ) return; } // Deleting brewnotes is kind of annoying, actually. But do it before you // delete recipes. Unpleasant things will happen... I really want to // isolate this so it looks as clean as the others do. for (int i = 0; i < deadNote.count(); ++i) { BrewNoteWidget* ni = brewNotes.value(deadNote.at(i)->key()); Recipe* rec = Database::instance().getParentRecipe(deadNote.at(i)); int numtab = tabWidget_recipeView->indexOf(ni); // remove it from the recipe and from our internal tracking. rec->removeBrewNote(deadNote.at(i)); brewNotes.remove(deadNote.at(i)->key()); if ( numtab > 2 ) tabWidget_recipeView->removeTab(numtab); } Database::instance().removeRecipe(deadRec); Database::instance().removeEquipment(deadKit); Database::instance().removeFermentable(deadFerm); Database::instance().removeHop(deadHop); Database::instance().removeMisc(deadMisc); Database::instance().removeStyle(deadStyle); Database::instance().removeYeast(deadYeast); first = active->getFirst(); if ( first.isValid() ) { if (active->getType(first) == BrewTargetTreeItem::RECIPE) setRecipeByIndex(first); setTreeSelection(first); } } void MainWindow::treeActivated(const QModelIndex &index) { Equipment *kit; Fermentable *ferm; Hop* h; Misc *m; Yeast *y; Style *s; QObject* calledBy = sender(); BrewTargetTreeView* active; // Not sure how this could happen, but better safe the sigsegv'd if ( calledBy == 0 ) return; active = qobject_cast(calledBy); // If the sender cannot be morphed into a BrewTargetTreeView object if ( active == 0 ) return; switch( active->getType(index)) { case BrewTargetTreeItem::RECIPE: setRecipeByIndex(index); break; case BrewTargetTreeItem::EQUIPMENT: kit = active->getEquipment(index); if ( kit ) { singleEquipEditor->setEquipment(kit); singleEquipEditor->show(); } break; case BrewTargetTreeItem::FERMENTABLE: ferm = active->getFermentable(index); if ( ferm ) { fermEditor->setFermentable(ferm); fermEditor->show(); } break; case BrewTargetTreeItem::HOP: h = active->getHop(index); if (h) { hopEditor->setHop(h); hopEditor->show(); } break; case BrewTargetTreeItem::MISC: m = active->getMisc(index); if (m) { miscEditor->setMisc(m); miscEditor->show(); } break; case BrewTargetTreeItem::STYLE: s = active->getStyle(index); if ( s ) { singleStyleEditor->setStyle(s); singleStyleEditor->show(); } break; case BrewTargetTreeItem::YEAST: y = active->getYeast(index); if (y) { yeastEditor->setYeast(y); yeastEditor->show(); } break; case BrewTargetTreeItem::BREWNOTE: setBrewNoteByIndex(index); break; default: Brewtarget::log(Brewtarget::WARNING, QString("MainWindow::treeActivated Unknown type %1.").arg(treeView_recipe->getType(index))); } treeView_recipe->setCurrentIndex(index); } void MainWindow::setBrewNoteByIndex(const QModelIndex &index) { BrewNoteWidget* ni; BrewNote* bNote = treeView_recipe->getBrewNote(index); if ( ! bNote ) return; // HERE // This is some clean up work. REMOVE FROM HERE TO THERE if ( bNote->projPoints() < 15 ) { double pnts = bNote->projPoints(); bNote->setProjPoints(pnts); } if ( bNote->effIntoBK_pct() < 10 ) { bNote->calculateEffIntoBK_pct(); bNote->calculateBrewHouseEff_pct(); } // THERE Recipe* parent = Database::instance().getParentRecipe(bNote); // I think this means a brew note for a different recipe has been selected. // We need to select that recipe, which will clear the current tabs if ( parent != recipeObs ) { setRecipe(parent); } else if (brewNotes.contains(bNote->key())) { tabWidget_recipeView->setCurrentWidget(brewNotes.value(bNote->key())); return; } ni = new BrewNoteWidget(tabWidget_recipeView); ni->setBrewNote(bNote); tabWidget_recipeView->addTab(ni,bNote->brewDate_short()); brewNotes.insert(bNote->key(), ni); tabWidget_recipeView->setCurrentWidget(ni); } void MainWindow::setBrewNote(BrewNote* bNote) { QString tabname; BrewNoteWidget* ni; if (brewNotes.contains(bNote->key())) { ni = brewNotes.value(bNote->key()); tabWidget_recipeView->setCurrentWidget(ni); return; } ni = new BrewNoteWidget(tabWidget_recipeView); ni->setBrewNote(bNote); brewNotes.insert(bNote->key(), ni); tabWidget_recipeView->addTab(ni,bNote->brewDate_short()); tabWidget_recipeView->setCurrentWidget(ni); } void MainWindow::setRecipeByIndex(const QModelIndex &index) { Recipe *rec = treeView_recipe->getRecipe(index); if( rec ) setRecipe(rec); } // Can handle null recipes. void MainWindow::setRecipe(Recipe* recipe) { // Don't like void pointers. if( recipe == 0 ) return; int startTab; QHashIterator b(brewNotes); // Make sure this MainWindow is paying attention... if( recipeObs ) disconnect( recipeObs, 0, this, 0 ); recipeObs = recipe; recStyle = recipe->style(); recEquip = recipe->equipment(); // Reset all previous recipe shit. fermTableModel->observeRecipe(recipe); hopTableModel->observeRecipe(recipe); miscTableModel->observeRecipe(recipe); yeastTableModel->observeRecipe(recipe); mashStepTableModel->setMash(recipeObs->mash()); // Clean out any brew notes tabWidget_recipeView->setCurrentIndex(0); startTab = tabWidget_recipeView->count() - brewNotes.size(); while( b.hasNext() ) { b.next(); tabWidget_recipeView->removeTab(startTab); } brewNotes.clear(); // Tell some of our other widgets to observe the new recipe. mashWizard->setRecipe(recipe); brewDayScrollWidget->setRecipe(recipe); //recipeStyleNameButton->setRecipe(recipe); equipmentListModel->observeRecipe(recipe); maltWidget->observeRecipe(recipe); beerColorWidget->setRecipe(recipe); recipeFormatter->setRecipe(recipe); ogAdjuster->setRecipe(recipe); recipeExtrasWidget->setRecipe(recipe); mashDesigner->setRecipe(recipe); equipmentButton->setRecipe(recipe); singleEquipEditor->setEquipment(recEquip); styleButton->setRecipe(recipe); singleStyleEditor->setStyle(recStyle); mashEditor->setMash(recipeObs->mash()); mashEditor->setEquipment(recEquip); mashButton->setMash(recipeObs->mash()); recipeScaler->setRecipe(recipeObs); // If you don't connect this late, every previous set of an attribute // causes this signal to be slotted, which then causes showChanges() to be // called. connect( recipeObs, SIGNAL(changed(QMetaProperty,QVariant)), this, SLOT(changed(QMetaProperty,QVariant)) ); showChanges(); } void MainWindow::changed(QMetaProperty prop, QVariant value) { QString propName(prop.name()); if( propName == "equipment" ) { Equipment* newRecEquip = qobject_cast(BeerXMLElement::extractPtr(value)); recEquip = newRecEquip; singleEquipEditor->setEquipment(recEquip); } else if( propName == "style" ) { //recStyle = recipeObs->style(); recStyle = qobject_cast(BeerXMLElement::extractPtr(value)); singleStyleEditor->setStyle(recStyle); } showChanges(&prop); } void MainWindow::showChanges(QMetaProperty* prop) { if( recipeObs == 0 ) return; bool updateAll = (prop == 0); QString propName; if( prop ) { propName = prop->name(); } lineEdit_name->setText(recipeObs->name()); lineEdit_batchSize->setText(Brewtarget::displayAmount(recipeObs, tab_recipe, "batchSize_l", Units::liters)); lineEdit_boilSize->setText(Brewtarget::displayAmount(recipeObs, tab_recipe, "boilSize_l", Units::liters)); lineEdit_efficiency->setText(Brewtarget::displayAmount(recipeObs, tab_recipe, "efficiency_pct", 0,0)); lineEdit_boilTime->setText(Brewtarget::displayAmount(recipeObs, tab_recipe, "boilTime_min", Units::minutes)); lineEdit_name->setCursorPosition(0); lineEdit_batchSize->setCursorPosition(0); lineEdit_boilSize->setCursorPosition(0); lineEdit_efficiency->setCursorPosition(0); lineEdit_boilTime->setCursorPosition(0); label_calcBatchSize->setText(Brewtarget::displayAmount(recipeObs,tab_recipe, "finalVolume_l", Units::liters)); label_calcBoilSize->setText(Brewtarget::displayAmount(recipeObs, tab_recipe, "boilVolume_l", Units::liters)); // Color manipulation if( 0.95*recipeObs->batchSize_l() <= recipeObs->finalVolume_l() && recipeObs->finalVolume_l() <= 1.05*recipeObs->batchSize_l() ) label_calcBatchSize->setPalette(lcdPalette_good); else if( recipeObs->finalVolume_l() < 0.95*recipeObs->batchSize_l() ) label_calcBatchSize->setPalette(lcdPalette_tooLow); else label_calcBatchSize->setPalette(lcdPalette_tooHigh); if( 0.95*recipeObs->boilSize_l() <= recipeObs->boilVolume_l() && recipeObs->boilVolume_l() <= 1.05*recipeObs->boilSize_l() ) label_calcBoilSize->setPalette(lcdPalette_good); else if( recipeObs->boilVolume_l() < 0.95* recipeObs->boilSize_l() ) label_calcBoilSize->setPalette(lcdPalette_tooLow); else label_calcBoilSize->setPalette(lcdPalette_tooHigh); QPair fg("fg",recipeObs); QPair og("og", recipeObs); // Want to do some manipulation based on selected style. if( recStyle != 0 ) { lcdNumber_ogLow->display(Brewtarget::displayOG(recStyle, tab_recipe, "ogMin",false)); lcdNumber_og->setLowLim(Brewtarget::displayOG(recStyle, tab_recipe, "ogMin",false).toDouble()); lcdNumber_ogHigh->display(Brewtarget::displayOG(recStyle,tab_recipe, "ogMax",false)); lcdNumber_og->setHighLim(Brewtarget::displayOG(recStyle,tab_recipe, "ogMax",false).toDouble()); // fg.first = "fgMin"; fg.second = recStyle; lcdNumber_fgLow->display(Brewtarget::displayFG(fg,og,tab_recipe,false)); lcdNumber_fg->setLowLim(Brewtarget::displayFG(fg,og,tab_recipe,false).toDouble()); fg.first = "fgMax"; lcdNumber_fgHigh->display(Brewtarget::displayFG(fg,og,tab_recipe,false)); lcdNumber_fg->setHighLim(Brewtarget::displayFG(fg,og,tab_recipe,false).toDouble()); lcdNumber_abvLow->display(recStyle->abvMin_pct(), 1); lcdNumber_abvHigh->display(recStyle->abvMax_pct(), 1); lcdNumber_abv->setLowLim(recStyle->abvMin_pct()); lcdNumber_abv->setHighLim(recStyle->abvMax_pct()); lcdNumber_ibuLow->display(recStyle->ibuMin(), 1); lcdNumber_ibuHigh->display(recStyle->ibuMax(), 1); lcdNumber_ibu->setLowLim(recStyle->ibuMin()); lcdNumber_ibu->setHighLim(recStyle->ibuMax()); lcdNumber_srmLow->display(Brewtarget::displayColor(recStyle, tab_recipe, "colorMin_srm", false)); lcdNumber_srmHigh->display(Brewtarget::displayColor(recStyle, tab_recipe, "colorMax_srm", false)); lcdNumber_srm->setLowLim(Brewtarget::displayColor(recStyle, tab_recipe, "colorMin_srm", false).toDouble()); lcdNumber_srm->setHighLim(Brewtarget::displayColor(recStyle, tab_recipe, "colorMax_srm", false).toDouble()); } lcdNumber_og->display(Brewtarget::displayOG(recipeObs,tab_recipe,"og",false)); lcdNumber_boilSG->display(Brewtarget::displayOG(recipeObs,tab_recipe,"boilGrav",false)); lcdNumber_fg->display(Brewtarget::displayFG(recipeObs->fg(), recipeObs->og())); lcdNumber_abv->display(recipeObs->ABV_pct(), 1); lcdNumber_ibu->display(recipeObs->IBU(), 1); lcdNumber_srm->display(Brewtarget::displayColor(recipeObs,tab_recipe,"color_srm",false)); lcdNumber_ibugu->display(recipeObs->IBU()/((recipeObs->og()-1)*1000), 2); lcdNumber_calories->display( recipeObs->calories(), 0); // See if we need to change the mash in the table. if( (updateAll && recipeObs->mash()) || (propName == "mash" && recipeObs->mash()) ) { mashStepTableModel->setMash(recipeObs->mash()); } } void MainWindow::updateRecipeName() { if( recipeObs == 0 || ! lineEdit_name->isModified()) return; recipeObs->setName(lineEdit_name->text()); } void MainWindow::updateRecipeStyle() { if( recipeObs == 0 ) return; QModelIndex proxyIndex( styleProxyModel->index(styleComboBox->currentIndex(),0) ); QModelIndex sourceIndex( styleProxyModel->mapToSource(proxyIndex) ); Style* selected = styleListModel->at(sourceIndex.row()); if( selected ) { Database::instance().addToRecipe( recipeObs, selected ); } } void MainWindow::updateRecipeMash() { if( recipeObs == 0 ) return; Mash* selected = mashListModel->at(mashComboBox->currentIndex()); if( selected ) { Database::instance().addToRecipe( recipeObs, selected ); mashEditor->setMash(recipeObs->mash()); mashButton->setMash(recipeObs->mash()); } } void MainWindow::updateRecipeEquipment() { droppedRecipeEquipment(equipmentListModel->at(equipmentComboBox->currentIndex())); } void MainWindow::droppedRecipeEquipment(Equipment *kit) { if( recipeObs == 0 ) return; // equip may be null. if( kit == 0 ) return; // Notice that we are using a copy from the database. Database::instance().addToRecipe(recipeObs,kit); equipmentButton->setEquipment(kit); // Keep the mash tun weight and specific heat up to date. Mash* m = recipeObs->mash(); if( m ) { m->setTunWeight_kg( kit->tunWeight_kg() ); m->setTunSpecificHeat_calGC( kit->tunSpecificHeat_calGC() ); } if( QMessageBox::question(this, tr("Equipment request"), tr("Would you like to set the batch size, boil size and time to that requested by the equipment?"), QMessageBox::Yes, QMessageBox::No) == QMessageBox::Yes ) { recipeObs->setBatchSize_l( kit->batchSize_l() ); recipeObs->setBoilSize_l( kit->boilSize_l() ); recipeObs->setBoilTime_min( kit->boilTime_min() ); mashEditor->setEquipment(kit); } } void MainWindow::updateRecipeBatchSize() { unitDisplay dispUnit; if( recipeObs == 0 || ! lineEdit_batchSize->isModified() ) return; dispUnit = (unitDisplay)Brewtarget::option("batchsize_L", noUnit,tab_recipe,Brewtarget::UNIT).toInt(); recipeObs->setBatchSize_l( Brewtarget::volQStringToSI(lineEdit_batchSize->text(),dispUnit) ); } void MainWindow::updateRecipeBoilSize() { unitDisplay dispUnit; if( recipeObs == 0 || ! lineEdit_boilSize->isModified() ) return; dispUnit = (unitDisplay)Brewtarget::option("boilsize_L", noUnit,tab_recipe,Brewtarget::UNIT).toInt(); recipeObs->setBoilSize_l( Brewtarget::volQStringToSI(lineEdit_boilSize->text(), dispUnit) ); } void MainWindow::updateRecipeBoilTime() { double boilTime = 0.0; Equipment* kit; if( recipeObs == 0 || ! lineEdit_boilTime->isModified() ) return; kit = recipeObs->equipment(); boilTime = Brewtarget::timeQStringToSI( lineEdit_boilTime->text() ); // Here, we rely on a signal/slot connection to propagate the equipment // changes to recipeObs->boilTime_min and maybe recipeObs->boilSize_l // NOTE: This works because kit is the recipe's equipment, not the generic // equipment in the recipe drop down. if( kit ) kit->setBoilTime_min(boilTime); else recipeObs->setBoilTime_min(boilTime); } void MainWindow::updateRecipeEfficiency() { if( recipeObs == 0 || ! lineEdit_efficiency->isModified() ) return; recipeObs->setEfficiency_pct( lineEdit_efficiency->text().toDouble() ); } void MainWindow::addFermentableToRecipe(Fermentable* ferm) { recipeObs->addFermentable(ferm); fermTableModel->addFermentable(ferm); } void MainWindow::addHopToRecipe(Hop *hop) { recipeObs->addHop(hop); hopTableModel->addHop(hop); } void MainWindow::addMiscToRecipe(Misc* misc) { recipeObs->addMisc(misc); miscTableModel->addMisc(misc); } void MainWindow::addYeastToRecipe(Yeast* yeast) { recipeObs->addYeast(yeast); yeastTableModel->addYeast(yeast); } void MainWindow::exportRecipe() { QFile* outFile; QDomDocument doc; if( recipeObs == 0 ) return; outFile = openForWrite(); if ( ! outFile ) return; QTextStream out(outFile); QString xmlHead = QString("version=\"1.0\" encoding=\"ISO-8859-1\""); // Create the headers to make other BeerXML parsers happy QDomProcessingInstruction inst = doc.createProcessingInstruction("xml", xmlHead); QDomComment beerxml = doc.createComment("BeerXML generated by brewtarget"); doc.appendChild(inst); doc.appendChild(beerxml); QDomElement recipes = doc.createElement("RECIPES"); // The root element. doc.appendChild(recipes); Database::instance().toXml( recipeObs, doc, recipes ); // QString::toLatin1 returns an ISO 8859-1 stream. out << doc.toString().toLatin1(); outFile->close(); delete outFile; } Recipe* MainWindow::currentRecipe() { return recipeObs; } Fermentable* MainWindow::selectedFermentable() { QModelIndexList selected = fermentableTable->selectionModel()->selectedIndexes(); QModelIndex modelIndex, viewIndex; int row, size, i; size = selected.size(); if( size == 0 ) return 0; // Make sure only one row is selected. viewIndex = selected[0]; row = viewIndex.row(); for( i = 1; i < size; ++i ) { if( selected[i].row() != row ) return 0; } modelIndex = fermTableProxy->mapToSource(viewIndex); Fermentable* ferm = fermTableModel->getFermentable(modelIndex.row()); return ferm; } Hop* MainWindow::selectedHop() { QModelIndexList selected = hopTable->selectionModel()->selectedIndexes(); QModelIndex modelIndex, viewIndex; int row, size, i; size = selected.size(); if( size == 0 ) return 0; // Make sure only one row is selected. viewIndex = selected[0]; row = viewIndex.row(); for( i = 1; i < size; ++i ) { if( selected[i].row() != row ) return 0; } modelIndex = hopTableProxy->mapToSource(viewIndex); Hop* h = hopTableModel->getHop(modelIndex.row()); return h; } Misc* MainWindow::selectedMisc() { QModelIndexList selected = miscTable->selectionModel()->selectedIndexes(); QModelIndex modelIndex, viewIndex; int row, size, i; size = selected.size(); if( size == 0 ) return 0; // Make sure only one row is selected. viewIndex = selected[0]; row = viewIndex.row(); for( i = 1; i < size; ++i ) { if( selected[i].row() != row ) return 0; } modelIndex = miscTableProxy->mapToSource(viewIndex); Misc* m = miscTableModel->getMisc(modelIndex.row()); return m; } Yeast* MainWindow::selectedYeast() { QModelIndexList selected = yeastTable->selectionModel()->selectedIndexes(); QModelIndex modelIndex, viewIndex; int row, size, i; size = selected.size(); if( size == 0 ) return 0; // Make sure only one row is selected. viewIndex = selected[0]; row = viewIndex.row(); for( i = 1; i < size; ++i ) { if( selected[i].row() != row ) return 0; } modelIndex = yeastTableProxy->mapToSource(viewIndex); Yeast* y = yeastTableModel->getYeast(modelIndex.row()); return y; } void MainWindow::removeSelectedFermentable() { Fermentable* f = selectedFermentable(); if( f == 0 ) return; fermTableModel->removeFermentable(f); recipeObs->removeFermentable(f); } void MainWindow::editSelectedFermentable() { Fermentable* f = selectedFermentable(); if( f == 0 ) return; fermEditor->setFermentable(f); fermEditor->show(); } void MainWindow::editSelectedMisc() { Misc* m = selectedMisc(); if( m == 0 ) return; miscEditor->setMisc(m); miscEditor->show(); } void MainWindow::editSelectedHop() { Hop* h = selectedHop(); if( h == 0 ) return; hopEditor->setHop(h); hopEditor->show(); } void MainWindow::editSelectedYeast() { Yeast* y = selectedYeast(); if( y == 0 ) return; yeastEditor->setYeast(y); yeastEditor->show(); } void MainWindow::removeSelectedHop() { Hop* hop = selectedHop(); if( hop == 0 ) return; hopTableModel->removeHop(hop); recipeObs->removeHop(hop); } void MainWindow::removeSelectedMisc() { Misc* misc = selectedMisc(); if( misc == 0 ) return; miscTableModel->removeMisc(misc); recipeObs->removeMisc(misc); } void MainWindow::removeSelectedYeast() { Yeast* yeast = selectedYeast(); if( yeast == 0 ) return; yeastTableModel->removeYeast(yeast); recipeObs->removeYeast(yeast); } void MainWindow::newRecipe() { QString name = QInputDialog::getText(this, tr("Recipe name"), tr("Recipe name:")); QVariant defEquipKey = Brewtarget::option("defaultEquipmentKey", -1); if( name.isEmpty() ) return; Recipe* newRec = Database::instance().newRecipe(); // Set the following stuff so everything appears nice // and the calculations don't divide by zero... things like that. newRec->setName(name); newRec->setBatchSize_l(18.93); // 5 gallons newRec->setBoilSize_l(23.47); // 6.2 gallons newRec->setEfficiency_pct(70.0); if ( defEquipKey != -1 ) { Equipment* e = Database::instance().equipment(defEquipKey.toInt()); if ( e ) { Database::instance().addToRecipe(newRec, e); newRec->setBatchSize_l( e->batchSize_l() ); newRec->setBoilSize_l( e->boilSize_l() ); newRec->setBoilTime_min( e->boilTime_min() ); } } setTreeSelection(treeView_recipe->findRecipe(newRec)); setRecipe(newRec); } void MainWindow::setTreeSelection(QModelIndex item) { BrewTargetTreeView *active = qobject_cast(tabWidget_Trees->currentWidget()->focusWidget()); if (! item.isValid()) return; if ( active == 0 ) active = qobject_cast(treeView_recipe); // Couldn't cast the active item to a brwetargettreeview if ( active == 0 ) return; QModelIndex parent = active->getParent(item); active->setCurrentIndex(item); active->scrollTo(item,QAbstractItemView::PositionAtCenter); // treeView_recipe->expand(parent); } // Need to make sure the recipe tree is active, I think void MainWindow::newBrewNote() { QModelIndexList indexes = treeView_recipe->selectionModel()->selectedRows(); QModelIndex bIndex; foreach(QModelIndex selected, indexes) { Recipe* rec = treeView_recipe->getRecipe(selected); QModelIndex newItem; if( rec == 0 ) continue; // Make sure everything is properly set and selected if( rec != recipeObs ) setRecipe(rec); // BrewNote* bNote = rec->addBrewNote(); BrewNote* bNote = Database::instance().newBrewNote(rec); bNote->populateNote(rec); bNote->setBrewDate(); setBrewNote(bNote); bIndex = treeView_recipe->findBrewNote(bNote); if ( bIndex.isValid() ) setTreeSelection(bIndex); } } void MainWindow::reBrewNote() { QModelIndexList indexes = treeView_recipe->selectionModel()->selectedRows(); foreach(QModelIndex selected, indexes) { BrewNote* old = treeView_recipe->getBrewNote(selected); Recipe* rec = treeView_recipe->getRecipe(treeView_recipe->getParent(selected)); if (! old || ! rec) return; // BrewNote* bNote = rec->addBrewNote(old); BrewNote* bNote = Database::instance().newBrewNote(old); bNote->setBrewDate(); if (rec != recipeObs) setRecipe(rec); setBrewNote(bNote); setTreeSelection(treeView_recipe->findBrewNote(bNote)); } } void MainWindow::backup() { QString dir = QFileDialog::getExistingDirectory(this, tr("Backup Database")); bool success = Database::backupToDir(dir); if( ! success ) QMessageBox::warning( this, tr("Oops!"), tr("Could not copy the files for some reason.")); } void MainWindow::restoreFromBackup() { if( QMessageBox::question( this, tr("A Warning"), tr("This will obliterate your current set of recipes and ingredients. Do you want to continue?"), QMessageBox::Yes, QMessageBox::No ) == QMessageBox::No ) { return; } QString restoreDbFile = QFileDialog::getOpenFileName(this, tr("Choose File"), "", tr("SQLite (*.sqlite)")); bool success = Database::restoreFromFile(restoreDbFile); if( ! success ) QMessageBox::warning( this, tr("Oops!"), tr("For some reason, the operation failed.") ); else QMessageBox::information(this, tr("Restart"), tr("Please restart Brewtarget.")); //TODO: do this without requiring restarting :) } // Imports all the recipes from a file into the database. void MainWindow::importFiles() { if ( ! fileOpener->exec() ) return; foreach( QString filename, fileOpener->selectedFiles() ) { if ( ! Database::instance().importFromXML(filename) ) importMsg(); } showChanges(); } bool MainWindow::verifyImport(QString tag, QString name) { return QMessageBox::question(this, tr("Import %1?").arg(tag), tr("Import %1?").arg(name), QMessageBox::Yes, QMessageBox::No) == QMessageBox::Yes; } bool MainWindow::verifyDelete(QString tag, QString name) { if ( confirmDelete == QMessageBox::YesToAll ) return true; confirmDelete = QMessageBox::question(this, tr("Delete %1").arg(tag), tr("Delete %1 %2?").arg(tag).arg(name), QMessageBox::Yes | QMessageBox::YesToAll | QMessageBox::No | QMessageBox::Cancel, QMessageBox::No); return (confirmDelete == QMessageBox::Yes || confirmDelete == QMessageBox::YesToAll); } void MainWindow::addMashStep() { Mash* mash; if( recipeObs != 0 && recipeObs->mash() != 0 ) { mash = recipeObs->mash(); } else { QMessageBox::information(this, tr("No mash"), tr("Trying to add a mash step without a mash. Please create a mash first.") ); return; } MashStep* step = Database::instance().newMashStep(mash); mashStepEditor->setMashStep(step); mashStepEditor->setVisible(true); } void MainWindow::removeSelectedMashStep() { Mash* mash = recipeObs == 0 ? 0 : recipeObs->mash(); if( mash == 0 ) return; QModelIndexList selected = mashStepTableWidget->selectionModel()->selectedIndexes(); int row, size, i; size = selected.size(); if( size == 0 ) return; // Make sure only one row is selected. row = selected[0].row(); for( i = 1; i < size; ++i ) { if( selected[i].row() != row ) return; } MashStep* step = mashStepTableModel->getMashStep(row); Database::instance().removeFrom(mash,step); } void MainWindow::moveSelectedMashStepUp() { QModelIndexList selected = mashStepTableWidget->selectionModel()->selectedIndexes(); int row, size, i; size = selected.size(); if( size == 0 ) return; // Make sure only one row is selected. row = selected[0].row(); for( i = 1; i < size; ++i ) { if( selected[i].row() != row ) return; } // Make sure we can actually move it up. if( row < 1 ) return; MashStep* m1 = mashStepTableModel->getMashStep(row); MashStep* m2 = mashStepTableModel->getMashStep(row-1); Database::instance().swapMashStepOrder(m1,m2); } void MainWindow::moveSelectedMashStepDown() { QModelIndexList selected = mashStepTableWidget->selectionModel()->selectedIndexes(); int row, size, i; size = selected.size(); if( size == 0 ) return; // Make sure only one row is selected. row = selected[0].row(); for( i = 1; i < size; ++i ) { if( selected[i].row() != row ) return; } // Make sure it's not the last row so we can move it down. if( row >= mashStepTableModel->rowCount() - 1 ) return; MashStep* m1 = mashStepTableModel->getMashStep(row); MashStep* m2 = mashStepTableModel->getMashStep(row+1); Database::instance().swapMashStepOrder(m1,m2); } void MainWindow::editSelectedMashStep() { if( ! ( recipeObs || recipeObs->mash() ) ) return; QModelIndexList selected = mashStepTableWidget->selectionModel()->selectedIndexes(); int row, size, i; size = selected.size(); if( size == 0 ) return; // Make sure only one row is selected. row = selected[0].row(); for( i = 1; i < size; ++i ) { if( selected[i].row() != row ) return; } MashStep* step = mashStepTableModel->getMashStep(row); mashStepEditor->setMashStep(step); mashStepEditor->setVisible(true); } void MainWindow::removeMash() { Mash *m = mashButton->mash(); if( m == 0) return; //due to way this is designed, we can't have a NULL mash, so //we need to remove all the mash steps and then remove the mash //from the database. //remove from db m->removeAllMashSteps(); Database::instance().removeMash(m); Mash* defaultMash = Database::instance().newMash(recipeObs); mashStepTableModel->setMash(defaultMash); //remove from combobox handled automatically by qt mashButton->setMash(defaultMash); } void MainWindow::save() { Database::instance().saveDatabase(); } void MainWindow::closeEvent(QCloseEvent* /*event*/) { Brewtarget::saveSystemOptions(); Brewtarget::setOption("geometry", saveGeometry()); Brewtarget::setOption("windowState", saveState()); if ( recipeObs ) Brewtarget::setOption("recipeKey", recipeObs->key()); // After unloading the database, can't make any more queries to it, so first // make the main window disappear so that redraw events won't inadvertently // cause any more queries. setVisible(false); // Ask the user if they want to save changes, only if the dirty bit has // been thrown if( Database::instance().isDirty() && QMessageBox::question(this, QObject::tr("Save Database Changes"), QObject::tr("Would you like to save the changes you made?"), QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes) == QMessageBox::Yes) { Database::instance().unload(true); } else { Database::instance().unload(false); } } void MainWindow::copyRecipe() { QString name = QInputDialog::getText( this, tr("Copy Recipe"), tr("Enter a unique name for the copy.") ); if( name.isEmpty() ) return; Recipe* newRec = Database::instance().newRecipe(recipeObs); // Create a deep copy. newRec->setName(name); } void MainWindow::setMashToCurrentlySelected() { if( recipeObs == 0 ) return; Mash* selected = mashListModel->at(mashComboBox->currentIndex()); if( selected ) { Database::instance().newMash(selected); mashButton->setMash(selected); } } void MainWindow::saveMash() { if( recipeObs == 0 || recipeObs->mash() == 0 ) return; Mash* mash = recipeObs->mash(); // Ensure the mash has a name. if( mash->name() == "" ) { QMessageBox::information( this, tr("Oops!"), tr("Please give your mash a name before saving.") ); return; } // NOTE: should NOT displace recipeObs' current mash. Mash* newMash = Database::instance().newMash(mash, false); // NOTE: need to set the display to true for the saved, named mash to work newMash->setDisplay(true); mashButton->setMash(newMash); } void MainWindow::openDonateLink() { QDesktopServices::openUrl(QUrl("http://sourceforge.net/project/project_donations.php?group_id=249733")); } void MainWindow::openManual() { QUrl url(Brewtarget::getDataDir()+"brewtarget-manual.html"); QDesktopServices::openUrl(url); } // One print function to rule them all. Now we just need to make the menuing // system make sense void MainWindow::print() { QObject* selection = sender(); if ( selection == actionRecipePrint || selection == actionBrewdayPrint ) { QPrintDialog printerDialog(printer, this); selection == actionRecipePrint ? recipeFormatter->print( printer, &printerDialog, RecipeFormatter::PRINT) : brewDayScrollWidget->print( printer, &printerDialog, BrewDayScrollWidget::PRINT); } else if ( selection == actionRecipePreview ) { recipeFormatter->print(printer, 0, RecipeFormatter::PREVIEW); } else if ( selection == actionBrewdayPreview ) { brewDayScrollWidget->print(printer, 0, RecipeFormatter::PREVIEW); } else if ( selection == actionRecipeHTML || selection == actionBrewdayHTML) { QFile* outfile = openForWrite(tr("HTML files (*.html)"), QString("html")); if (! outfile ) return; selection == actionRecipeHTML ? recipeFormatter->print(printer, 0, RecipeFormatter::HTML, outfile) : brewDayScrollWidget->print(printer, 0, BrewDayScrollWidget::HTML, outfile); delete outfile; } } void MainWindow::dragEnterEvent(QDragEnterEvent *event) { if (event->mimeData()->hasFormat("application/x-brewtarget")) event->acceptProposedAction(); } void MainWindow::dropEvent(QDropEvent *event) { QModelIndexList indexes; QWidget *last = 0; QString name; BrewTargetTreeView* active = qobject_cast(tabWidget_Trees->currentWidget()->focusWidget()); int type; // Check that the recipe isn't a null pointer. if (recipeObs == 0) return; // If the sender cannot be morphed into a BrewTargetTreeView object if ( active == 0 ) return; if (! event->mimeData()->hasFormat("application/x-brewtarget")) return; indexes = active->selectionModel()->selectedRows(); foreach(QModelIndex index, indexes) { if ( index.isValid() ) { type = active->getType(index); switch(type) { case BrewTargetTreeItem::RECIPE: setRecipeByIndex(index); break; case BrewTargetTreeItem::EQUIPMENT: droppedRecipeEquipment(active->getEquipment(index)); break; // NOTE: addToRecipe() calls the appropriate new* under the covers. Calling it twice caused some odd problems case BrewTargetTreeItem::FERMENTABLE: Database::instance().addToRecipe( recipeObs, active->getFermentable(index) ); last = fermentableTab; break; case BrewTargetTreeItem::HOP: Database::instance().addToRecipe( recipeObs, active->getHop(index)); last = hopsTab; break; case BrewTargetTreeItem::MISC: Database::instance().addToRecipe( recipeObs, active->getMisc(index) ); last = miscTab; break; case BrewTargetTreeItem::STYLE: Database::instance().addToRecipe( recipeObs, active->getStyle(index) ); styleButton->setStyle(active->getStyle(index)); break; case BrewTargetTreeItem::YEAST: Database::instance().addToRecipe( recipeObs, active->getYeast(index) ); last = yeastTab; break; case BrewTargetTreeItem::BREWNOTE: setBrewNoteByIndex(index); break; } event->accept(); } } if (last) tabWidget->setCurrentWidget(last); } // We build the menus at start up time. This just needs to exec the proper // menu. void MainWindow::contextMenu(const QPoint &point) { QObject* calledBy = sender(); BrewTargetTreeView* active; QModelIndex selected; QMenu* tempMenu; // Not sure how this could happen, but better safe the sigsegv'd if ( calledBy == 0 ) return; active = qobject_cast(calledBy); // If the sender cannot be morphed into a BrewTargetTreeView object if ( active == 0 ) return; selected = active->indexAt(point); if (! selected.isValid()) return; tempMenu = active->getContextMenu(selected); if (tempMenu) tempMenu->exec(active->mapToGlobal(point)); } void MainWindow::setupContextMenu() { QMenu *sMenu = new QMenu(this); // Set up the "new" submenu sMenu->setTitle(tr("New")); sMenu->addAction(tr("Recipe"), this, SLOT(newRecipe())); sMenu->addAction(tr("Equipment"), equipEditor, SLOT(newEquipment())); sMenu->addAction(tr("Fermentable"), fermDialog, SLOT(newFermentable())); sMenu->addAction(tr("Hop"), hopDialog, SLOT(newHop())); sMenu->addAction(tr("Miscellaneous"), miscDialog, SLOT(newMisc())); sMenu->addAction(tr("Style"), singleStyleEditor, SLOT(newStyle())); sMenu->addAction(tr("Yeast"), yeastDialog, SLOT(newYeast())); treeView_recipe->setupContextMenu(this,this,sMenu,BrewTargetTreeItem::RECIPE); treeView_equip->setupContextMenu(this,equipEditor,sMenu,BrewTargetTreeItem::EQUIPMENT); treeView_ferm->setupContextMenu(this,fermDialog,sMenu,BrewTargetTreeItem::FERMENTABLE); treeView_hops->setupContextMenu(this,hopDialog,sMenu,BrewTargetTreeItem::HOP); treeView_misc->setupContextMenu(this,miscDialog,sMenu,BrewTargetTreeItem::MISC); treeView_style->setupContextMenu(this,singleStyleEditor,sMenu,BrewTargetTreeItem::STYLE); treeView_yeast->setupContextMenu(this,yeastDialog,sMenu,BrewTargetTreeItem::YEAST); } void MainWindow::copyThis(Recipe *rec) { QString name = QInputDialog::getText( this, tr("Copy %1").arg(rec->name()), tr("Enter a unique name for the copy of %1.").arg(rec->name()) ); if( name.isEmpty() ) return; Recipe* newRec = Database::instance().newRecipe(rec); // Create a deep copy. newRec->setName(name); } void MainWindow::copyThis(Equipment *kit) { QString name = QInputDialog::getText( this, tr("Copy Equipment"), tr("Enter a unique name for the copy of %1.").arg(kit->name()) ); if( name.isEmpty() ) return; Equipment* newKit = Database::instance().newEquipment(kit); // Create a deep copy. newKit->setName(name); } void MainWindow::copyThis(Fermentable *ferm) { QString name = QInputDialog::getText( this, tr("Copy Fermentable"), tr("Enter a unique name for the copy of %1.").arg(ferm->name()) ); if( name.isEmpty() ) return; Fermentable* newFerm = Database::instance().newFermentable(ferm); // Create a deep copy. newFerm->setName(name); } void MainWindow::copyThis(Hop *hop) { QString name = QInputDialog::getText( this, tr("Copy Hop"), tr("Enter a unique name for the copy of %1.").arg(hop->name())); if( name.isEmpty() ) return; Hop* newHop = Database::instance().newHop(hop); // Create a deep copy. newHop->setName(name); } void MainWindow::copyThis(Misc *misc) { QString name = QInputDialog::getText( this, tr("Copy Miscellaneous"), tr("Enter a unique name for the copy of %1.").arg(misc->name()) ); if( name.isEmpty() ) return; Misc* newMisc = Database::instance().newMisc(misc); // Create a deep copy. newMisc->setName(name); } void MainWindow::copyThis(Yeast *yeast) { QString name = QInputDialog::getText( this, tr("Copy Yeast"), tr("Enter a unique name for the copy of %1.").arg(yeast->name()) ); if( name.isEmpty() ) return; Yeast* newYeast = Database::instance().newYeast(yeast); // Create a deep copy. newYeast->setName(name); } void MainWindow::copyThis(Style *style) { QString name = QInputDialog::getText( this, tr("Copy Style"), tr("Enter a unique name for the copy of %1.").arg(style->name()) ); if( name.isEmpty() ) return; Style* newStyle = Database::instance().newStyle(style); // Create a deep copy. newStyle->setName(name); } void MainWindow::copySelected() { BrewTargetTreeView* active = qobject_cast(tabWidget_Trees->currentWidget()->focusWidget()); QList::const_iterator at, end; QModelIndex above; QList copyRec; QList copyKit; QList copyFerm; QList copyHop; QList copyMisc; QList copyStyle; QList copyYeast; if ( active == 0 ) return; const QModelIndexList selected = active->selectionModel()->selectedRows(); // We need to process them all before we get the names, because adding new things does mess // up the indexes. This ... is not gonna be pretty. for(at = selected.begin(),end = selected.end();at < end;++at) { switch(active->getType(*at)) { case BrewTargetTreeItem::RECIPE: if ( *at == active->findRecipe(0) ) continue; copyRec.append(active->getRecipe(*at)); break; case BrewTargetTreeItem::EQUIPMENT: if ( *at == active->findEquipment(0) ) continue; copyKit.append(active->getEquipment(*at)); break; case BrewTargetTreeItem::FERMENTABLE: if ( *at == active->findFermentable(0) ) continue; copyFerm.append(active->getFermentable(*at)); break; case BrewTargetTreeItem::HOP: if ( *at == active->findHop(0) ) continue; copyHop.append(active->getHop(*at)); break; case BrewTargetTreeItem::MISC: if ( *at == active->findMisc(0) ) continue; copyMisc.append(active->getMisc(*at)); break; case BrewTargetTreeItem::STYLE: if ( *at == active->findStyle(0) ) continue; copyStyle.append(active->getStyle(*at)); break; case BrewTargetTreeItem::YEAST: if ( *at == active->findYeast(0) ) continue; copyYeast.append(active->getYeast(*at)); break; // No Brewnote, because it just doesn't make sense default: Brewtarget::log(Brewtarget::WARNING, QString("MainWindow::copySelected Unknown type: %1").arg(active->getType(*at))); } } for(int i = 0; i < copyRec.count(); ++i) copyThis(copyRec.at(i)); for(int i = 0; i < copyKit.count(); ++i) copyThis(copyKit.at(i)); for(int i = 0; i < copyFerm.count(); ++i) copyThis(copyFerm.at(i)); for(int i = 0; i < copyMisc.count(); ++i) copyThis(copyMisc.at(i)); for(int i = 0; i < copyStyle.count(); ++i) copyThis(copyStyle.at(i)); for(int i = 0; i < copyYeast.count(); ++i) copyThis(copyYeast.at(i)); above = active->getFirst(); if ( active->getType(above) == BrewTargetTreeItem::RECIPE ) setRecipeByIndex(above); setTreeSelection(above); } QFile* MainWindow::openForWrite( QString filterStr, QString defaultSuff) { const char* filename; QFile* outFile = new QFile(); fileSaver->setFilter( filterStr ); fileSaver->setDefaultSuffix( defaultSuff ); if( fileSaver->exec() ) { filename = fileSaver->selectedFiles()[0].toAscii(); outFile->setFileName(filename); if( ! outFile->open(QIODevice::WriteOnly | QIODevice::Truncate) ) { Brewtarget::logW(QString("MainWindow::openForWrite Could not open %1 for writing.").arg(filename)); outFile = 0; } } else outFile = 0; return outFile; } void MainWindow::exportSelected() { BrewTargetTreeView* active = qobject_cast(tabWidget_Trees->currentWidget()->focusWidget()); QModelIndexList selected; QList::const_iterator at,end; QDomDocument doc; QFile* outFile; QDomElement root,dbase,recipe; bool didRecipe = false; if ( active == 0 ) return; selected = active->selectionModel()->selectedRows(); if( selected.count() == 0 ) return; outFile = openForWrite(); if ( !outFile ) return; QTextStream out(outFile); QString xmlHead = QString("version=\"1.0\" encoding=\"%1\"").arg(QTextCodec::codecForLocale()->name().data()); // Create the headers to make other BeerXML parsers happy QDomProcessingInstruction inst = doc.createProcessingInstruction("xml", xmlHead); QDomComment beerxml = doc.createComment("BeerXML generated by brewtarget"); doc.appendChild(inst); doc.appendChild(beerxml); // We need to handle the recipes separate from the normal database // elements. All recipes live under the RECIPES tag, whereas the // equipment, hops, etc. go under DATABASE. dbase = doc.createElement("DATABASE"); recipe = doc.createElement("RECIPES"); for(at = selected.begin(),end = selected.end(); at < end; ++at) { QModelIndex selection = *at; int type = active->getType(selection); switch(type) { case BrewTargetTreeItem::RECIPE: Database::instance().toXml( treeView_recipe->getRecipe(selection), doc, recipe); didRecipe = true; break; case BrewTargetTreeItem::EQUIPMENT: Database::instance().toXml( treeView_equip->getEquipment(selection), doc, dbase); break; case BrewTargetTreeItem::FERMENTABLE: Database::instance().toXml( treeView_ferm->getFermentable(selection), doc, dbase); break; case BrewTargetTreeItem::HOP: Database::instance().toXml( treeView_hops->getHop(selection), doc, dbase); break; case BrewTargetTreeItem::MISC: Database::instance().toXml( treeView_misc->getMisc(selection), doc, dbase); break; case BrewTargetTreeItem::STYLE: Database::instance().toXml( treeView_style->getStyle(selection), doc, dbase); break; case BrewTargetTreeItem::YEAST: Database::instance().toXml( treeView_yeast->getYeast(selection), doc, dbase); break; } } if ( didRecipe ) doc.appendChild(recipe); else doc.appendChild(dbase); out << doc.toString(); outFile->close(); delete outFile; } void MainWindow::updateDatabase() { QString otherDb; QMessageBox::StandardButton but; // Tell user what's about to happen. but = QMessageBox::question( this, tr("Database Update"), tr("You are about to update the current database with another one. " "This may make changes to (but will not delete) some of your ingredients. " "It will not modify any of your recipes. " "Continue?"), QMessageBox::Yes | QMessageBox::No, QMessageBox::No ); if( but == QMessageBox::No ) return; // Select the db to merge with. otherDb = QFileDialog::getOpenFileName( this, tr("Select Database File"), Brewtarget::getUserDataDir(), tr("Brewtarget Database (*.sqlite)") ); // Merge. Database::instance().updateDatabase( otherDb ); } void MainWindow::finishCheckingVersion() { QNetworkReply* reply = qobject_cast(sender()); if( reply == 0 ) return; QString remoteVersion(reply->readAll()); // If there is an error, just return. if( reply->error() != QNetworkReply::NoError ) return; // If the remote version is newer... if( !remoteVersion.startsWith(VERSIONSTRING) ) { // ...and the user wants to download the new version... if( QMessageBox::information(this, QObject::tr("New Version"), QObject::tr("Version %1 is now available. Download it?").arg(remoteVersion), QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes) == QMessageBox::Yes ) { // ...take them to the website. QDesktopServices::openUrl(QUrl("http://www.brewtarget.org/download.html")); } else // ... and the user does NOT want to download the new version... { // ... and they want us to stop bothering them... if( QMessageBox::question(this, QObject::tr("New Version"), QObject::tr("Stop bothering you about new versions?"), QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes) == QMessageBox::Yes) { // ... tell brewtarget to stop bothering the user about the new version. Brewtarget::checkVersion = false; } } } else // The current version is newest so... { // ...tell brewtarget to bother users about future new versions. // This means that when a user downloads the new version, this // variable will always get reset to true. Brewtarget::checkVersion = true; } } void MainWindow::redisplayLabel(QString field) { // There is a lot of magic going on in the showChanges(). I can either // duplicate that magic or I can just call showChanges(). showChanges(); } void MainWindow::fermentableContextMenu(const QPoint &point) { QObject* calledBy = sender(); QHeaderView* hView = qobject_cast(calledBy); int selected = hView->logicalIndexAt(point); unitDisplay currentUnit; unitScale currentScale; // Since we need to call generateVolumeMenu() two different ways, we need // to figure out the currentUnit and Scale here currentUnit = fermTableModel->displayUnit(selected); currentScale = fermTableModel->displayScale(selected); QMenu* menu; QAction* invoked; switch(selected) { case FERMAMOUNTCOL: menu = Brewtarget::setupMassMenu(this,currentUnit, currentScale); break; case FERMCOLORCOL: menu = Brewtarget::setupColorMenu(this,currentUnit); break; default: return; } invoked = menu->exec(hView->mapToGlobal(point)); if ( invoked == 0 ) return; QWidget* pMenu = invoked->parentWidget(); if ( pMenu == menu ) fermTableModel->setDisplayUnit(selected,(unitDisplay)invoked->data().toInt()); else fermTableModel->setDisplayScale(selected,(unitScale)invoked->data().toInt()); showChanges(); } void MainWindow::hopContextMenu(const QPoint &point) { QObject* calledBy = sender(); QHeaderView* hView = qobject_cast(calledBy); int selected = hView->logicalIndexAt(point); unitDisplay currentUnit; unitScale currentScale; // Since we need to call generateVolumeMenu() two different ways, we need // to figure out the currentUnit and Scale here currentUnit = hopTableModel->displayUnit(selected); currentScale = hopTableModel->displayScale(selected); QMenu* menu; QAction* invoked; switch(selected) { case HOPAMOUNTCOL: menu = Brewtarget::setupMassMenu(this,currentUnit, currentScale); break; default: return; } invoked = menu->exec(hView->mapToGlobal(point)); if ( invoked == 0 ) return; QWidget* pMenu = invoked->parentWidget(); if ( pMenu == menu ) hopTableModel->setDisplayUnit(selected,(unitDisplay)invoked->data().toInt()); else hopTableModel->setDisplayScale(selected,(unitScale)invoked->data().toInt()); showChanges(); } void MainWindow::mashStepContextMenu(const QPoint &point) { QObject* calledBy = sender(); QHeaderView* hView = qobject_cast(calledBy); int selected = hView->logicalIndexAt(point); unitDisplay currentUnit; unitScale currentScale; // Since we need to call generateVolumeMenu() two different ways, we need // to figure out the currentUnit and Scale here currentUnit = mashStepTableModel->displayUnit(selected); currentScale = mashStepTableModel->displayScale(selected); QMenu* menu; QAction* invoked; switch(selected) { case MASHSTEPAMOUNTCOL: menu = Brewtarget::setupVolumeMenu(this,currentUnit, currentScale); break; case MASHSTEPTEMPCOL: case MASHSTEPTARGETTEMPCOL: menu = Brewtarget::setupTemperatureMenu(this,currentUnit); break; default: return; } invoked = menu->exec(hView->mapToGlobal(point)); if ( invoked == 0 ) return; QWidget* pMenu = invoked->parentWidget(); if ( pMenu == menu ) mashStepTableModel->setDisplayUnit(selected,(unitDisplay)invoked->data().toInt()); else mashStepTableModel->setDisplayScale(selected,(unitScale)invoked->data().toInt()); showChanges(); } void MainWindow::miscContextMenu(const QPoint &point) { QObject* calledBy = sender(); QHeaderView* hView = qobject_cast(calledBy); int selected = hView->logicalIndexAt(point); unitDisplay currentUnit; unitScale currentScale; // Since we need to call generateVolumeMenu() two different ways, we need // to figure out the currentUnit and Scale here currentUnit = miscTableModel->displayUnit(selected); currentScale = miscTableModel->displayScale(selected); QMenu* menu; QAction* invoked; switch(selected) { case MISCAMOUNTCOL: menu = Brewtarget::setupMassMenu(this,currentUnit, currentScale, false); break; default: return; } invoked = menu->exec(hView->mapToGlobal(point)); if ( invoked == 0 ) return; miscTableModel->setDisplayUnit(selected,(unitDisplay)invoked->data().toInt()); showChanges(); } void MainWindow::yeastContextMenu(const QPoint &point) { QObject* calledBy = sender(); QHeaderView* hView = qobject_cast(calledBy); int selected = hView->logicalIndexAt(point); unitDisplay currentUnit; unitScale currentScale; // Since we need to call generateVolumeMenu() two different ways, we need // to figure out the currentUnit and Scale here currentUnit = yeastTableModel->displayUnit(selected); currentScale = yeastTableModel->displayScale(selected); QMenu* menu; QAction* invoked; switch(selected) { case YEASTAMOUNTCOL: menu = Brewtarget::setupMassMenu(this,currentUnit, currentScale, false); break; default: return; } invoked = menu->exec(hView->mapToGlobal(point)); if ( invoked == 0 ) return; yeastTableModel->setDisplayUnit(selected,(unitDisplay)invoked->data().toInt()); showChanges(); } void MainWindow::showPitchDialog() { // First, copy the current recipe og and volume. if( recipeObs ) { pitchDialog->setWortVolume_l( recipeObs->finalVolume_l() ); pitchDialog->setWortGravity( recipeObs->og() ); pitchDialog->calculate(); } pitchDialog->show(); } void MainWindow::showEquipmentEditor() { if ( ! recipeObs->equipment() ) { QMessageBox::warning( this, tr("No equipment"), tr("You must select or define an equipment profile first.")); } else { singleEquipEditor->show(); } } void MainWindow::showStyleEditor() { if ( ! recipeObs->style() ) { QMessageBox::warning( this, tr("No style"), tr("You must select a style first.")); } else { singleStyleEditor->show(); } } void MainWindow::convertedMsg() { QMessageBox msgBox; QDir dir(Brewtarget::getUserDataDir()); msgBox.setText( tr("The database has been converted/upgraded.")); msgBox.setInformativeText( tr("The original XML files can be found in ") + Brewtarget::getUserDataDir() + "obsolete"); msgBox.exec(); } void MainWindow::importMsg() { QMessageBox msgBox; msgBox.setText( tr("The import contained invalid beerXML. It has been imported, but please make certain it makes sense.")); msgBox.exec(); } void MainWindow::changeBrewDate() { QModelIndexList indexes = treeView_recipe->selectionModel()->selectedRows(); QDateTime newDate; foreach(QModelIndex selected, indexes) { BrewNote* target = treeView_recipe->getBrewNote(selected); // No idea how this could happen, but I've seen stranger things if ( ! target ) continue; // Pop the calendar, get the date. if ( btDatePopup->exec() == QDialog::Accepted ) { newDate = btDatePopup->selectedDate(); target->setBrewDate(newDate); // If this note is open in a tab if (brewNotes.contains(target->key())) { // Rename it. I hope int tabIndex = tabWidget_recipeView->indexOf(brewNotes.value(target->key())); tabWidget_recipeView->setTabText(tabIndex, target->brewDate_short()); return; } } } } void MainWindow::fixBrewNote() { QModelIndexList indexes = treeView_recipe->selectionModel()->selectedRows(); QDateTime newDate; foreach(QModelIndex selected, indexes) { BrewNote* target = treeView_recipe->getBrewNote(selected); // No idea how this could happen, but I've seen stranger things if ( ! target ) continue; Recipe* noteParent = treeView_recipe->getRecipe( treeView_recipe->getParent(selected)); if ( ! noteParent ) continue; target->recalculateEff(noteParent); } } brewtarget-2.0.2/src/WaterTableModel.h0000644000175000017500000000654712266512167017214 0ustar philipphilip/* * WaterTableModel.h is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef _WATERTABLEMODEL_H #define _WATERTABLEMODEL_H class WaterTableModel; class WaterItemDelegate; #include #include #include #include #include #include #include // Forward declarations. class Water; class WaterTableWidget; class Recipe; enum{ WATERNAMECOL, WATERAMOUNTCOL, WATERCALCIUMCOL, WATERBICARBONATECOL, WATERSULFATECOL, WATERCHLORIDECOL, WATERSODIUMCOL, WATERMAGNESIUMCOL, WATERNUMCOLS /*This one MUST be last*/}; /*! * \class WaterTableModel * \author Philip G. Lee * * \brief Table model for waters. */ class WaterTableModel : public QAbstractTableModel { Q_OBJECT public: WaterTableModel(WaterTableWidget* parent=0); virtual ~WaterTableModel() {} void addWaters(QList waters); void observeRecipe(Recipe* rec); void observeDatabase(bool val); void removeAll(); //! Reimplemented from QAbstractTableModel. virtual int rowCount(const QModelIndex& parent = QModelIndex()) const; //! Reimplemented from QAbstractTableModel. virtual int columnCount(const QModelIndex& parent = QModelIndex()) const; //! Reimplemented from QAbstractTableModel. virtual QVariant data( const QModelIndex& index, int role = Qt::DisplayRole ) const; //! Reimplemented from QAbstractTableModel. virtual QVariant headerData( int section, Qt::Orientation orientation, int role = Qt::DisplayRole ) const; //! Reimplemented from QAbstractTableModel. virtual Qt::ItemFlags flags(const QModelIndex& index ) const; //! Reimplemented from QAbstractTableModel. virtual bool setData( const QModelIndex& index, const QVariant& value, int role = Qt::EditRole ); public slots: void changed(QMetaProperty,QVariant); void addWater(Water* water); void removeWater(Water* water); private: QList waterObs; Recipe* recObs; WaterTableWidget* parentTableWidget; }; /*! * \class WaterItemDelegate * \author Philip G. Lee * * Item delegate for water tables. */ class WaterItemDelegate : public QItemDelegate { Q_OBJECT public: WaterItemDelegate(QObject* parent = 0); // Inherited functions. virtual QWidget *createEditor(QWidget *parent, const QStyleOptionViewItem &option, const QModelIndex &index) const; virtual void setEditorData(QWidget *editor, const QModelIndex &index) const; virtual void setModelData(QWidget *editor, QAbstractItemModel *model, const QModelIndex &index) const; virtual void updateEditorGeometry(QWidget *editor, const QStyleOptionViewItem &option, const QModelIndex &index) const; private: }; #endif /* _WATERTABLEMODEL_H */ brewtarget-2.0.2/src/BrewTargetTreeItem.cpp0000644000175000017500000002511512266512167020231 0ustar philipphilip/* * BrewTargetTreeItem.cpp is part of Brewtarget and was written by Mik * Firestone (mikfire@gmail.com). Copyright is granted to Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include #include #include #include #include #include #include #include #include "BrewTargetTreeItem.h" #include "brewnote.h" #include "brewtarget.h" #include "equipment.h" #include "fermentable.h" #include "hop.h" #include "recipe.h" #include "misc.h" #include "yeast.h" #include "style.h" bool operator==(BrewTargetTreeItem& lhs, BrewTargetTreeItem& rhs) { // Things of different types are not equal if ( lhs.type != rhs.type ) return false; return lhs.data(lhs.type,0) == rhs.data(rhs.type,0); } BrewTargetTreeItem::BrewTargetTreeItem(int type, BrewTargetTreeItem *parent) : parentItem(parent), thing(0) { setType(type); } BrewTargetTreeItem::~BrewTargetTreeItem() { qDeleteAll(childItems); } BrewTargetTreeItem* BrewTargetTreeItem::child(int number) { if ( number < childItems.count() ) return childItems.value(number); return 0; } BrewTargetTreeItem* BrewTargetTreeItem::parent() { return parentItem; } int BrewTargetTreeItem::getType() { return type; } int BrewTargetTreeItem::childCount() const { return childItems.count(); } int BrewTargetTreeItem::columnCount(int type) const { switch(type) { case RECIPE: return RECIPENUMCOLS; case EQUIPMENT: return EQUIPMENTNUMCOLS; case FERMENTABLE: return FERMENTABLENUMCOLS; case HOP: return HOPNUMCOLS; case MISC: return MISCNUMCOLS; case YEAST: return YEASTNUMCOLS; case STYLE: return STYLENUMCOLS; case BREWNOTE: return BREWNUMCOLS; default: Brewtarget::log(Brewtarget::WARNING, QString("BrewTargetTreeItem::columnCount Bad column: %1").arg(type)); return 0; } } QVariant BrewTargetTreeItem::data(int type, int column) { switch(type) { case RECIPE: return dataRecipe(column); case EQUIPMENT: return dataEquipment(column); case FERMENTABLE: return dataFermentable(column); case HOP: return dataHop(column); case MISC: return dataMisc(column); case YEAST: return dataYeast(column); case STYLE: return dataStyle(column); case BREWNOTE: return dataBrewNote(column); default: Brewtarget::log(Brewtarget::WARNING, QString("BrewTargetTreeItem::data Bad column: %1").arg(column)); return QVariant(); } } int BrewTargetTreeItem::childNumber() const { if (parentItem) return parentItem->childItems.indexOf(const_cast(this)); return 0; } void BrewTargetTreeItem::setData(int t, QObject* d) { thing = d; type = t; } QVariant BrewTargetTreeItem::getData(int column) { return data(getType(),column); } bool BrewTargetTreeItem::insertChildren(int position, int count, int type) { int i; if ( position < 0 || position > childItems.size()) return false; for(i=0; i < count; ++i) { BrewTargetTreeItem *newItem = new BrewTargetTreeItem(type,this); childItems.insert(position+i,newItem); } return true; } bool BrewTargetTreeItem::removeChildren(int position, int count) { if ( position < 0 || position + count > childItems.count() ) return false; for (int row = 0; row < count; ++row) //delete childItems.takeAt(position); // FIXME: memory leak here. With delete, it's a concurrency/memory // access error, due to the fact that these pointers are floating around. childItems.takeAt(position); return true; } QVariant BrewTargetTreeItem::dataRecipe( int column ) { Recipe* recipe = qobject_cast(thing); switch(column) { case RECIPENAMECOL: if (! thing) return QVariant(QObject::tr("Recipes")); else return QVariant(recipe->name()); break; case RECIPEBREWDATECOL: if ( recipe ) return QVariant(recipe->date()); break; case RECIPESTYLECOL: if ( recipe && recipe->style() ) return QVariant(recipe->style()->name()); break; default : Brewtarget::log(Brewtarget::WARNING, QString("BrewTargetTreeItem::dataRecipe Bad column: %1").arg(column)); } return QVariant(); } QVariant BrewTargetTreeItem::dataEquipment(int column) { Equipment* kit = qobject_cast(thing); switch(column) { case EQUIPMENTNAMECOL: if ( ! kit ) return QVariant(QObject::tr("Equipment")); else return QVariant(kit->name()); case EQUIPMENTBOILTIMECOL: if ( kit ) return QVariant(kit->boilTime_min()); break; default : Brewtarget::log(Brewtarget::WARNING, QString("BrewTargetTreeItem::dataEquipment Bad column: %1").arg(column)); } return QVariant(); } QVariant BrewTargetTreeItem::dataFermentable(int column) { Fermentable* ferm = qobject_cast(thing); switch(column) { case FERMENTABLENAMECOL: if ( ferm ) return QVariant(ferm->name()); else return QVariant(QObject::tr("Fermentables")); case FERMENTABLETYPECOL: if ( ferm ) return QVariant(ferm->typeStringTr()); break; case FERMENTABLECOLORCOL: if ( ferm ) return QVariant(ferm->color_srm()); break; default : Brewtarget::log(Brewtarget::WARNING, QString("BrewTargetTreeItem::dataFermentable Bad column: %1").arg(column)); } return QVariant(); } QVariant BrewTargetTreeItem::dataHop(int column) { Hop* hop = qobject_cast(thing); switch(column) { case HOPNAMECOL: if ( ! hop ) return QVariant(QObject::tr("Hops")); else return QVariant(hop->name()); case HOPFORMCOL: if ( hop ) return QVariant(hop->formStringTr()); break; case HOPUSECOL: if ( hop ) return QVariant(hop->useStringTr()); break; default : Brewtarget::log(Brewtarget::WARNING, QString("BrewTargetTreeItem::dataHop Bad column: %1").arg(column)); } return QVariant(); } QVariant BrewTargetTreeItem::dataMisc(int column) { Misc* misc = qobject_cast(thing); switch(column) { case MISCNAMECOL: if ( ! misc ) return QVariant(QObject::tr("Miscellaneous")); else return QVariant(misc->name()); case MISCTYPECOL: if ( misc ) return QVariant(misc->typeStringTr()); break; case MISCUSECOL: if ( misc ) return QVariant(misc->useStringTr()); break; default : Brewtarget::log(Brewtarget::WARNING, QString("BrewTargetTreeItem::dataMisc Bad column: %1").arg(column)); } return QVariant(); } QVariant BrewTargetTreeItem::dataYeast(int column) { Yeast* yeast = qobject_cast(thing); switch(column) { case YEASTNAMECOL: if ( ! yeast ) return QVariant(QObject::tr("Yeast")); else return QVariant(yeast->name()); case YEASTTYPECOL: if ( yeast ) return QVariant(yeast->typeStringTr()); break; case YEASTFORMCOL: if ( yeast ) return QVariant(yeast->formStringTr()); break; default : Brewtarget::log(Brewtarget::WARNING, QString("BrewTargetTreeItem::dataYeast Bad column: %1").arg(column)); } return QVariant(); } QVariant BrewTargetTreeItem::dataBrewNote(int column) { if ( ! thing ) return QVariant(); BrewNote* bNote = qobject_cast(thing); return bNote->brewDate_short(); } QVariant BrewTargetTreeItem::dataStyle(int column) { Style* style = qobject_cast(thing); if ( ! style && column == STYLENAMECOL ) { return QVariant(QObject::tr("Style")); } else if ( style ) { switch(column) { case STYLENAMECOL: return QVariant(style->name()); case STYLECATEGORYCOL: return QVariant(style->category()); case STYLENUMBERCOL: return QVariant(style->categoryNumber()); case STYLELETTERCOL: return QVariant(style->styleLetter()); case STYLEGUIDECOL: return QVariant(style->styleGuide()); default : Brewtarget::log(Brewtarget::WARNING, QString("BrewTargetTreeItem::dataYeast Bad column: %1").arg(column)); } } return QVariant(); } void BrewTargetTreeItem::setType(int t) { type = t; } Recipe* BrewTargetTreeItem::getRecipe() { if ( type == RECIPE && thing ) return qobject_cast(thing); return 0; } Equipment* BrewTargetTreeItem::getEquipment() { if ( type == EQUIPMENT ) return qobject_cast(thing); return 0; } Fermentable* BrewTargetTreeItem::getFermentable() { if ( type == FERMENTABLE ) return qobject_cast(thing); return 0; } Hop* BrewTargetTreeItem::getHop() { if ( type == HOP ) return qobject_cast(thing); return 0; } Misc* BrewTargetTreeItem::getMisc() { if ( type == MISC ) return qobject_cast(thing); return 0; } Yeast* BrewTargetTreeItem::getYeast() { if ( type == YEAST ) return qobject_cast(thing); return 0; } BrewNote* BrewTargetTreeItem::getBrewNote() { if ( type == BREWNOTE && thing ) return qobject_cast(thing); return 0; } Style* BrewTargetTreeItem::getStyle() { if ( type == STYLE && thing ) return qobject_cast(thing); return 0; } BeerXMLElement* BrewTargetTreeItem::getThing() { if ( thing ) return qobject_cast(thing); return 0; } brewtarget-2.0.2/src/MashButton.cpp0000644000175000017500000000411012266512167016600 0ustar philipphilip/* * MashButton.cpp is part of Brewtarget, and is Copyright Mik Firestone * (mikfire@gmail.com), 2012-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include "MashButton.h" #include "mash.h" #include "recipe.h" #include #include MashButton::MashButton(QWidget* parent) : QPushButton(parent), _rec(0), _mash(0) { } void MashButton::setRecipe(Recipe* rec) { if(_rec) disconnect( _rec, 0, this, 0 ); _rec = rec; if( _rec ) { connect( _rec, SIGNAL(changed(QMetaProperty,QVariant)), this, SLOT(recChanged(QMetaProperty,QVariant)) ); setMash( _rec->mash() ); } else setMash(0); } void MashButton::setMash(Mash* mash) { if( _mash ) disconnect( _mash, 0, this, 0 ); _mash = mash; if( _mash ) { connect( _mash, SIGNAL(changed(QMetaProperty,QVariant)), this, SLOT(mashChanged(QMetaProperty,QVariant)) ); setText( _mash->name() ); } else setText(""); } // This is a bit different from the other buttons. I think we need this // because the mash tab is the only tab where you can delete stuff directly. Mash* MashButton::mash() { return _mash; } void MashButton::mashChanged(QMetaProperty prop, QVariant val) { QString propName(prop.name()); if( propName == "name" ) setText( val.toString() ); } void MashButton::recChanged(QMetaProperty prop, QVariant val) { QString propName(prop.name()); if( propName == "mash" ) setMash( qobject_cast(BeerXMLElement::extractPtr(val)) ); } brewtarget-2.0.2/src/BtSplashScreen.h0000644000175000017500000000272712266512167017055 0ustar philipphilip/* * BtSplashScreen.h is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef _BTSPLASHSCREEN_H #define _BTSPLASHSCREEN_H class BtSplashScreen; #include #include #include #include #include "ui_btSplashScreen.h" /*! * \class BtSplashScreen * \author Philip G. Lee * * \brief A class for showing the brewtarget splash screen on startup. */ class BtSplashScreen : public QSplashScreen, public Ui::btSplashScreen { Q_OBJECT public: BtSplashScreen(QWidget* parent=0); //! Overloaded from \b QSplashScreen void showMessage( const QString& message, int alignment = Qt::AlignLeft, const QColor& color = Qt::black ); //! Overloaded from \b QSplashScreen void clearMessage(); }; #endif /*_BTSPLASHSCREEN_H*/brewtarget-2.0.2/src/PreInstruction.cpp0000644000175000017500000000237312266512167017515 0ustar philipphilip/* * PreInstruction.cpp is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include "PreInstruction.h" bool operator<(const PreInstruction& lhs, const PreInstruction& rhs) { return lhs.time < rhs.time; } PreInstruction::PreInstruction() { text = ""; time = 0; } PreInstruction::PreInstruction(const QString& txt, const QString& ti, double t) { text = QString(txt); title = QString(ti); time = t; } QString PreInstruction::getText() { return text; } QString PreInstruction::getTitle() { return title; } double PreInstruction::getTime() { return time; } brewtarget-2.0.2/src/matrixtest.cpp0000644000175000017500000000215212266512167016724 0ustar philipphilip/* * matrixtest.cpp is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include #include "matrix.h" int main() { Matrix m( 2, 2 ); vector row; row.push_back(1); row.push_back(2); m.setRow(0, row); row[0] = 4; row[1] = 5; m.setRow(1, row); cout << m << '\n'; cout << m.inverse() << '\n'; Matrix inv = m.inverse(); Matrix id = m * inv; cout << id; return 0; } brewtarget-2.0.2/src/EquipmentEditor.h0000644000175000017500000000515312266512167017307 0ustar philipphilip/* * EquipmentEditor.h is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef _EQUIPMENTEDITOR_H #define _EQUIPMENTEDITOR_H class EquipmentEditor; #include #include #include #include "ui_equipmentEditor.h" // Forward declarations class Equipment; class EquipmentListModel; class BeerXMLSortProxyModel; /*! * \class EquipmentEditor * \author Philip G. Lee * * \brief This is a dialog that edits an equipment record. */ class EquipmentEditor : public QDialog, public Ui::equipmentEditor { Q_OBJECT public: //! \param singleEquipEditor true if you do not want the necessary elements for viewing all the database elements. EquipmentEditor( QWidget *parent=0, bool singleEquipEditor=false ); virtual ~EquipmentEditor() {} //! Edit the given equipment. void setEquipment( Equipment* e ); double calcBatchSize(); public slots: //! Save the changes to the equipment. void save(); //! Create a new equipment record. void newEquipment(); //! Delete the equipment from the database. void removeEquipment(); //! Set the equipment to default values. void clear(); //! Close the dialog, throwing away changes. void cancel(); //! Set absorption back to default. void resetAbsorption(); //! Edit the equipment currently selected in our combobox. void equipmentSelected(); //! If state==Qt::Checked, set the "calculate boil volume" checkbox. Otherwise, unset. void updateCheckboxRecord(int state); //! \brief set the default equipment, or unset the current equipment as the default void updateDefaultEquipment(int state); void changed(QMetaProperty,QVariant); void updateField(); protected: //! User closed the dialog void closeEvent(QCloseEvent *event); private: Equipment* obsEquip; EquipmentListModel* equipmentListModel; BeerXMLSortProxyModel* equipmentSortProxyModel; void showChanges(); }; #endif /* _EQUIPMENTEDITOR_H */ brewtarget-2.0.2/src/HeatCalculations.cpp0000644000175000017500000000204312266512167017742 0ustar philipphilip/* * HeatCalculations.cpp is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include "HeatCalculations.h" double HeatCalculations::Cw_JKgK = 4184.0; double HeatCalculations::Cw_calGC = 1.0; double HeatCalculations::Cgrain_calGC = 0.4; double HeatCalculations::equivalentMCProduct(double m1, double c1, double m2, double c2) { return m1*c1*(1.+(m2*c2)/(m1*c1)); } brewtarget-2.0.2/src/FahrenheitTempUnitSystem.cpp0000644000175000017500000000430112266512167021466 0ustar philipphilip/* * FahrenheitTempUnitSystem.cpp is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include "FahrenheitTempUnitSystem.h" #include bool FahrenheitTempUnitSystem::isMapSetup = false; FahrenheitTempUnitSystem::FahrenheitTempUnitSystem() : UnitSystem() { } //! scale is ignored here, but must be included for the virtual method QString FahrenheitTempUnitSystem::displayAmount( double amount, Unit* units, unitScale scale ) { QString SIUnitName = units->getSIUnitName(); double SIAmount = units->toSI( amount ); QString ret; // Special cases. Make sure the unit isn't null and that we're // dealing with temperature. if( units == 0 || SIUnitName.compare("C") != 0 ) return QString("%L1").arg(amount, fieldWidth, format, precision); ret = QString("%L1 %2").arg(Units::fahrenheit->fromSI(SIAmount), fieldWidth, format, precision).arg(Units::fahrenheit->getUnitName()); return ret; } double FahrenheitTempUnitSystem::qstringToSI( QString qstr ) { ensureMapIsSetup(); return UnitSystem::qstringToSI(qstr,Units::fahrenheit); } void FahrenheitTempUnitSystem::ensureMapIsSetup() { // If it is setup, return now. if( isMapSetup ) return; // Ok, map was not setup, so set it up. nameToUnit.insert(Units::celsius->getUnitName(), Units::celsius); nameToUnit.insert(Units::kelvin->getUnitName(), Units::kelvin); nameToUnit.insert(Units::fahrenheit->getUnitName(), Units::fahrenheit); isMapSetup = true; } QString FahrenheitTempUnitSystem::unitType() { return "Fahrenheit"; } brewtarget-2.0.2/src/MaltinessWidget.cpp0000644000175000017500000001064012266512167017624 0ustar philipphilip/* * MaltinessWidget.cpp is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include #include #include #include #include "MaltinessWidget.h" #include "recipe.h" MaltinessWidget::MaltinessWidget(QWidget* parent) : QLabel(parent), recObs(0) { setup(); } void MaltinessWidget::setup() { QSize size(110,50); // Want to specify a minimum size and have it expand if able. //setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::Maximum); // Align text in center, vertically and horizontally. setAlignment(Qt::AlignCenter); // Add a border. setFrameStyle(QFrame::StyledPanel | QFrame::Raised); //palette = palette(); // Set size policy of the MaltinessWidget //sPolicy = QSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding); setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::Preferred); setMinimumSize(size); setMaximumSize(size); } void MaltinessWidget::observeRecipe(Recipe* recipe) { if( recObs ) disconnect( recObs, 0, this, 0 ); recObs = recipe; if( recObs ) { connect( recObs, SIGNAL(changed(QMetaProperty,QVariant)), this, SLOT(changed(QMetaProperty,QVariant)) ); updateInfo(); update(); } } QColor MaltinessWidget::bgColor() { switch(region()) { case CLOYING: return QColor::fromRgb(252,91,10); case EXTRAMALTY: return QColor::fromRgb(252,134,10); case SLIGHTLYMALTY: return QColor::fromRgb(246,195,6); case BALANCED: return QColor::fromRgb(235,248,11); case SLIGHTLYHOPPY: return QColor::fromRgb(148,251,12); case EXTRAHOPPY: return QColor::fromRgb(12,248,26); case HARSH: return QColor::fromRgb(12,178,13); default: return QColor::fromRgb(255,255,255); } } QString MaltinessWidget::fgText() { switch(region()) { case CLOYING: return tr("Cloying"); case EXTRAMALTY: return tr("Extra malty"); case SLIGHTLYMALTY: return tr("Slightly malty"); case BALANCED: return tr("Balanced"); case SLIGHTLYHOPPY: return tr("Slightly hoppy"); case EXTRAHOPPY: return tr("Extra hoppy"); case HARSH: return tr("Way hoppy"); default: return QString(""); } } int MaltinessWidget::region() { double ibu; double points; if( recObs == 0 ) return -1; ibu = recObs->IBU(); if( ibu > 0 ) ; // NOTE: remove me. For testing only. points = (recObs->og() - 1)*1000; if( points > 0 ) ; // NOTE: remove me. For testing only. if( (11./3.)*ibu-5./3. < points ) return CLOYING; else if( 3*ibu-5 < points && points <= (11./3.)*ibu-5./3. ) return EXTRAMALTY; else if( (7./3.)*ibu-5./3. < points && points <= 3*ibu-5 ) return SLIGHTLYMALTY; else if( 2*ibu-5 < points && points <= (7./3.)*ibu-5./3. ) return BALANCED; else if( (5./3.)*ibu-10./3. < points && points <= 2*ibu-5 ) return SLIGHTLYHOPPY; else if( (5./4.)*ibu-3.75 < points && points <= (5./3.)*ibu-10./3. ) return EXTRAHOPPY; else return HARSH; } void MaltinessWidget::changed(QMetaProperty prop, QVariant /*val*/) { QString propName(prop.name()); if( propName == "IBU" || propName == "og" ) { updateInfo(); update(); } } // Changes the text/color based on recipe statistics. void MaltinessWidget::updateInfo() { QColor bg = bgColor(); QString colorstring = QString("%1%2%3").arg(bg.red(),2,16,QChar('0')).arg(bg.green(),2,16,QChar('0')).arg(bg.blue(),2,16,QChar('0')); setStyleSheet(QString("QLabel { background: #%1 }").arg(colorstring).toAscii()); setText(fgText()); } brewtarget-2.0.2/src/BtSplashScreen.cpp0000644000175000017500000000216512266512167017404 0ustar philipphilip/* * BtSplashScreen.cpp is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include "BtSplashScreen.h" BtSplashScreen::BtSplashScreen(QWidget* parent) : QSplashScreen(parent) { setupUi(this); } void BtSplashScreen::showMessage( const QString& message, int alignment, const QColor& color ) { labelStatus->setText(message); repaint(); } void BtSplashScreen::clearMessage() { labelStatus->setText(""); repaint(); }brewtarget-2.0.2/src/FermentableTableModel.h0000644000175000017500000001175212266512167020350 0ustar philipphilip/* * FermentableTableModel.h is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef _FERMENTABLETABLEMODEL_H #define _FERMENTABLETABLEMODEL_H class FermentableTableModel; class FermentableItemDelegate; #include #include #include #include #include #include #include #include #include #include "unit.h" // Forward declarations. class Fermentable; class Recipe; enum{FERMNAMECOL, FERMTYPECOL, FERMAMOUNTCOL, FERMISMASHEDCOL, FERMAFTERBOIL, FERMYIELDCOL, FERMCOLORCOL, FERMNUMCOLS /*This one MUST be last*/}; /*! * \class FermentableTableModel * \author Philip G. Lee * * \brief A table model for a list of fermentables. */ class FermentableTableModel : public QAbstractTableModel { Q_OBJECT public: FermentableTableModel(QTableView* parent=0, bool editable=true); virtual ~FermentableTableModel() {} //! \brief Observe a recipe's list of fermentables. void observeRecipe(Recipe* rec); //! \brief If true, we model the database's list of fermentables. void observeDatabase(bool val); //! \brief Watch all the \b ferms for changes. void addFermentables(QList ferms); //! \brief Clear the model. void removeAll(); //! \brief Return the \c i-th fermentable in the model. Fermentable* getFermentable(unsigned int i); //! \brief True if you want to display percent of each grain in the row header. void setDisplayPercentages( bool var ); unitDisplay displayUnit(int column) const; unitScale displayScale(int column) const; void setDisplayUnit(int column, unitDisplay displayUnit); void setDisplayScale(int column, unitScale displayScale); //! \brief Reimplemented from QAbstractTableModel. virtual int rowCount(const QModelIndex& parent = QModelIndex()) const; //! \brief Reimplemented from QAbstractTableModel. virtual int columnCount(const QModelIndex& parent = QModelIndex()) const; //! \brief Reimplemented from QAbstractTableModel. virtual QVariant data( const QModelIndex& index, int role = Qt::DisplayRole ) const; //! \brief Reimplemented from QAbstractTableModel. virtual QVariant headerData( int section, Qt::Orientation orientation, int role = Qt::DisplayRole ) const; //! \brief Reimplemented from QAbstractTableModel. virtual Qt::ItemFlags flags(const QModelIndex& index ) const; //! \brief Reimplemented from QAbstractTableModel. virtual bool setData( const QModelIndex& index, const QVariant& value, int role = Qt::EditRole ); QTableView* parentTableWidget; public slots: //! \brief Watch \b ferm for changes. void addFermentable(Fermentable* ferm); //! \returns true if "ferm" is successfully found and removed. bool removeFermentable(Fermentable* ferm); private slots: //! \brief Catch changes to Recipe, Database, and Fermentable. void changed(QMetaProperty, QVariant); private: //! \brief Recalculate the total amount of grains in the model. void updateTotalGrains(); QString generateName(int column) const; bool editable; QList fermObs; Recipe* recObs; bool displayPercentages; double totalFermMass_kg; }; /*! * \brief An item delegate for Fermentable tables. * \sa FermentableTableModel. * * \author Philip G. Lee */ class FermentableItemDelegate : public QItemDelegate { Q_OBJECT public: FermentableItemDelegate(QObject* parent = 0); //! \brief Reimplemented from QItemDelegate. virtual QWidget *createEditor(QWidget *parent, const QStyleOptionViewItem &option, const QModelIndex &index) const; //! \brief Reimplemented from QItemDelegate. virtual void setEditorData(QWidget *editor, const QModelIndex &index) const; //! \brief Reimplemented from QItemDelegate. virtual void setModelData(QWidget *editor, QAbstractItemModel *model, const QModelIndex &index) const; //! \brief Reimplemented from QItemDelegate. virtual void updateEditorGeometry(QWidget *editor, const QStyleOptionViewItem &option, const QModelIndex &index) const; //virtual void paint ( QPainter * painter, const QStyleOptionViewItem & option, const QModelIndex & index ) const; //public slots: // void destroyWidget(QWidget* widget, QAbstractItemDelegate::EndEditHint hint); private: }; #endif /* _FERMENTABLETABLEMODEL_H */ brewtarget-2.0.2/src/mash.h0000644000175000017500000001230612266512167015117 0ustar philipphilip/* * mash.h is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef _MASH_H #define _MASH_H #include "BeerXMLElement.h" // Forward declarations. class Mash; class MashStep; bool operator<(Mash &m1, Mash &m2); bool operator==(Mash &m1, Mash &m2); /*! * \class Mash * \author Philip G. Lee * * \brief Model class for a mash record in the database. */ class Mash : public BeerXMLElement { Q_OBJECT friend class Database; public: virtual ~Mash() {} //! \brief The name. Q_PROPERTY( QString name READ name WRITE setName NOTIFY changedName ) //! \brief The initial grain temp in Celsius. Q_PROPERTY( double grainTemp_c READ grainTemp_c WRITE setGrainTemp_c /*NOTIFY changed*/ /*changedGrainTemp_c*/ ) //! \brief The notes. Q_PROPERTY( QString notes READ notes WRITE setNotes /*NOTIFY changed*/ /*changedNotes*/ ) //! \brief The initial tun temp in Celsius. Q_PROPERTY( double tunTemp_c READ tunTemp_c WRITE setTunTemp_c /*NOTIFY changed*/ /*changedTunTemp_c*/ ) //! \brief The sparge temp in C. Q_PROPERTY( double spargeTemp_c READ spargeTemp_c WRITE setSpargeTemp_c /*NOTIFY changed*/ /*changedSpargeTemp_c*/ ) //! \brief The pH. Q_PROPERTY( double ph READ ph WRITE setPh /*NOTIFY changed*/ /*changedPh*/ ) //! \brief The mass of the tun in kg. Q_PROPERTY( double tunWeight_kg READ tunWeight_kg WRITE setTunWeight_kg /*NOTIFY changed*/ /*changedTunWeight_kg*/ ) //! \brief The tun's specific heat in kcal/(g*C). Q_PROPERTY( double tunSpecificHeat_calGC READ tunSpecificHeat_calGC WRITE setTunSpecificHeat_calGC /*NOTIFY changed*/ /*changedTunSpecificHeat_calGC*/ ) //! \brief Whether to adjust strike temperatures to account for the tun. Q_PROPERTY( bool equipAdjust READ equipAdjust WRITE setEquipAdjust /*NOTIFY changed*/ /*changedEquipAdjust*/ ) //! \brief The total water that went into the mash in liters. Calculated. Q_PROPERTY( double totalMashWater_l READ totalMashWater_l /*WRITE*/ /*NOTIFY changed*/ /*changedTotalMashWater_l*/ STORED false ) //! \brief The total mash time in minutes. Calculated. Q_PROPERTY( double totalTime READ totalTime /*NOTIFY changed*/ /*changedTotalTime*/ STORED false ) // Q_PROPERTY( double tunMass_kg READ tunMass_kg WRITE setTunMass_kg /*NOTIFY changed*/ /*changedTotalTime*/ ) //! \brief The individual mash steps. Q_PROPERTY( QList mashSteps READ mashSteps /*WRITE*/ /*NOTIFY changed*/ /*changedTotalTime*/ STORED false ) // Setters void setName( const QString &var ); void setGrainTemp_c( double var ); void setNotes( const QString &var ); void setTunTemp_c( double var ); void setSpargeTemp_c( double var ); void setPh( double var ); void setTunWeight_kg( double var ); void setTunSpecificHeat_calGC( double var ); void setEquipAdjust( bool var ); // Getters QString name() const; double grainTemp_c() const; unsigned int numMashSteps() const; QString notes() const; double tunTemp_c() const; double spargeTemp_c() const; double ph() const; double tunWeight_kg() const; double tunSpecificHeat_calGC() const; bool equipAdjust() const; // Calculated getters double totalMashWater_l(); double totalTime(); // Relational getters QList mashSteps() const; // NOTE: should this be completely in Database? void removeAllMashSteps(); public slots: void acceptMashStepChange(QMetaProperty, QVariant); signals: //! \brief Emitted when \c name() changes. void changedName(QString); /* void changedGrainTemp_c(double); void changedTunTemp_c(double); void changedSpargeTemp_c(double); void changedPh(double); void changedTunWeight_kg(double); void changedTunSpecificHeat_calGC(double); void changedEquipAdjust(bool); void changedTotalMashWater_l(double); void changedTotalTime(double); */ // Emitted when the number of steps change, or when you should call mashSteps() again. void mashStepsChanged(); private: Mash(); Mash( Mash const& other ); // Get via the relational relationship. //QVector mashSteps; static QHash tagToProp; static QHash tagToPropHash(); }; inline bool MashPtrLt( Mash* lhs, Mash* rhs) { return *lhs < *rhs; } inline bool MashPtrEq( Mash* lhs, Mash* rhs) { return *lhs == *rhs; } struct Mash_ptr_cmp { bool operator()( Mash* lhs, Mash* rhs) { return *lhs < *rhs; } }; struct Mash_ptr_equals { bool operator()( Mash* lhs, Mash* rhs ) { return *lhs == *rhs; } }; #endif //_MASH_H brewtarget-2.0.2/src/MiscTableModel.h0000644000175000017500000001021512266512167017010 0ustar philipphilip/* * MiscTableModel.h is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef _MISCTABLEMODEL_H #define _MISCTABLEMODEL_H class MiscTableModel; class MiscItemDelegate; #include #include #include #include #include #include #include #include #include #include #include "unit.h" // Forward declarations. class Misc; class MiscTableWidget; class Recipe; enum{MISCNAMECOL, MISCTYPECOL, MISCUSECOL, MISCTIMECOL, MISCAMOUNTCOL, MISCISWEIGHT, MISCNUMCOLS /*This one MUST be last*/}; /*! * \class MiscTableModel * \author Philip G. Lee * * \brief Table model for a list of miscs. */ class MiscTableModel : public QAbstractTableModel { Q_OBJECT public: MiscTableModel(QTableView* parent=0, bool editable=true); virtual ~MiscTableModel() {} //! \brief Observe a recipe's list of miscs. void observeRecipe(Recipe* rec); //! \brief If true, we model the database's list of miscs. void observeDatabase(bool val); //! \brief Add \c miscs to the model. void addMiscs(QList miscs); //! \returns the \c Misc at model index \b i. Misc* getMisc(unsigned int i); //! \brief Clear the model. void removeAll(); //! \brief Reimplemented from QAbstractTableModel virtual int rowCount(const QModelIndex& parent = QModelIndex()) const; //! \brief Reimplemented from QAbstractTableModel virtual int columnCount(const QModelIndex& parent = QModelIndex()) const; //! \brief Reimplemented from QAbstractTableModel virtual QVariant data( const QModelIndex& index, int role = Qt::DisplayRole ) const; //! \brief Reimplemented from QAbstractTableModel virtual QVariant headerData( int section, Qt::Orientation orientation, int role = Qt::DisplayRole ) const; //! \brief Reimplemented from QAbstractTableModel virtual Qt::ItemFlags flags(const QModelIndex& index ) const; //! \brief Reimplemented from QAbstractTableModel virtual bool setData( const QModelIndex& index, const QVariant& value, int role = Qt::EditRole ); unitDisplay displayUnit(int column) const; unitScale displayScale(int column) const; void setDisplayUnit(int column, unitDisplay displayUnit); void setDisplayScale(int column, unitScale displayScale); QString generateName(int column) const; public slots: //! \brief Add a misc to the model. void addMisc(Misc* misc); //! \brief Remove a misc from the model. bool removeMisc(Misc* misc); private slots: //! \brief Catch changes to Recipe, Database, and Misc. void changed(QMetaProperty, QVariant); private: bool editable; QList miscObs; Recipe* recObs; QTableView* parentTableWidget; }; /*! * \class MiscItemDelegate * \author Philip G. Lee * * \brief Item delegate for misc tables. * \sa MiscTableModel */ class MiscItemDelegate : public QItemDelegate { Q_OBJECT public: MiscItemDelegate(QObject* parent = 0); // Inherited functions. virtual QWidget *createEditor(QWidget *parent, const QStyleOptionViewItem &option, const QModelIndex &index) const; virtual void setEditorData(QWidget *editor, const QModelIndex &index) const; virtual void setModelData(QWidget *editor, QAbstractItemModel *model, const QModelIndex &index) const; virtual void updateEditorGeometry(QWidget *editor, const QStyleOptionViewItem &option, const QModelIndex &index) const; private: }; #endif /* _MISCTABLEMODEL_H */ brewtarget-2.0.2/src/fermentable.cpp0000644000175000017500000002610612266512167017011 0ustar philipphilip/* * fermentable.cpp is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include #include #include #include #include #include "fermentable.h" #include "brewtarget.h" QStringList Fermentable::types = QStringList() << "Grain" << "Sugar" << "Extract" << "Dry Extract" << "Adjunct"; QHash Fermentable::tagToProp = Fermentable::tagToPropHash(); QHash Fermentable::tagToPropHash() { QHash propHash; propHash["NAME"] = "name"; // NOTE: since type is actually stored as a string (not integer), have to handle separately. //propHash["TYPE"] = "type"; propHash["AMOUNT"] = "amount_kg"; propHash["YIELD"] = "yield_pct"; propHash["COLOR"] = "color_srm"; propHash["ADD_AFTER_BOIL"] = "addAfterBoil"; propHash["ORIGIN"] = "origin"; propHash["SUPPLIER"] = "supplier"; propHash["NOTES"] = "notes"; propHash["COARSE_FINE_DIFF"] = "coarseFineDiff_pct"; propHash["MOISTURE"] = "moisture_pct"; propHash["DIASTATIC_POWER"] = "diastaticPower_lintner"; propHash["PROTEIN"] = "protein_pct"; propHash["MAX_IN_BATCH"] = "maxInBatch_pct"; propHash["RECOMMEND_MASH"] = "recommendMash"; propHash["IS_MASHED"] = "isMashed"; propHash["IBU_GAL_PER_LB"] = "ibuGalPerLb"; return propHash; } bool operator<(Fermentable &f1, Fermentable &f2) { return f1.name() < f2.name(); } bool operator==(Fermentable &f1, Fermentable &f2) { return f1.name() == f2.name(); } Fermentable::Fermentable() : BeerXMLElement() { } Fermentable::Fermentable( Fermentable const& other ) : BeerXMLElement( other ) { } /* void Fermentable::fromNode(const QDomNode& fermentableNode) { QDomNode node, child; QDomText textNode; QString property, value; setDefaults(); for( node = fermentableNode.firstChild(); ! node.isNull(); node = node.nextSibling() ) { if( ! node.isElement() ) { Brewtarget::log(Brewtarget::WARNING, QObject::tr("Node at line %1 is not an element.").arg(textNode.lineNumber()) ); continue; } child = node.firstChild(); if( child.isNull() || ! child.isText() ) continue; property = node.nodeName(); textNode = child.toText(); value = textNode.nodeValue(); if( property == "NAME" ) { name = value; } else if( property == "VERSION" ) { if( version != getInt(textNode) ) Brewtarget::log(Brewtarget::ERROR, QObject::tr("FERMENTABLE says it is not version %1. Line %2").arg(version).arg(textNode.lineNumber()) ); } else if( property == "TYPE" ) { int ndx = types.indexOf(value); if( ndx < 0 ) Brewtarget::log(Brewtarget::ERROR, QObject::tr("%1 is not a valid type for FERMENTABLE. Line %2").arg(value).arg(textNode.lineNumber()) ); else type = static_cast( ndx ); } else if( property == "AMOUNT" ) { setAmount_kg(getDouble(textNode)); } else if( property == "YIELD" ) { setYield_pct(getDouble(textNode)); } else if( property == "COLOR" ) { setColor_srm(getDouble(textNode)); } else if( property == "ADD_AFTER_BOIL" ) { setAddAfterBoil(getBool(textNode)); } else if( property == "ORIGIN" ) { setOrigin(value); } else if( property == "SUPPLIER" ) { setSupplier(value); } else if( property == "NOTES" ) { setNotes(value); } else if( property == "COARSE_FINE_DIFF" ) { setCoarseFineDiff_pct(getDouble(textNode)); } else if( property == "MOISTURE" ) { setMoisture_pct(getDouble(textNode)); } else if( property == "DIASTATIC_POWER" ) { setDiastaticPower_lintner(getDouble(textNode)); } else if( property == "PROTEIN" ) { setProtein_pct(getDouble(textNode)); } else if( property == "MAX_IN_BATCH" ) { setMaxInBatch_pct(getDouble(textNode)); } else if( property == "RECOMMEND_MASH" ) { setRecommendMash(getBool(textNode)); } else if( property == "IS_MASHED" ) { setIsMashed(getBool(textNode)); } else if( property == "IBU_GAL_PER_LB" ) { setIbuGalPerLb(getDouble(textNode)); } else Brewtarget::log(Brewtarget::WARNING, QObject::tr("Unsupported FERMENTABLE property: %1. Line %2").arg(property).arg(node.lineNumber()) ); } } */ /* void Fermentable::setDefaults() { name = ""; type = TYPEGRAIN; amount_kg = 0.0; yield_pct = 0.0; color_srm = 0.0; addAfterBoil = false; origin = ""; supplier = ""; notes = ""; coarseFineDiff_pct = 0.0; moisture_pct = 0.0; diastaticPower_lintner = 0.0; protein_pct = 0.0; maxInBatch_pct = 0.0; recommendMash = false; isMashed = false; ibuGalPerLb = 0.0; } */ // Get const QString Fermentable::name() const { return get("name").toString(); } const Fermentable::Type Fermentable::type() const { return static_cast(types.indexOf(get("ftype").toString())); } const QString Fermentable::typeString() const { return types.at(type()); } const QString Fermentable::typeStringTr() const { static QStringList typesTr = QStringList () << QObject::tr("Grain") << QObject::tr("Sugar") << QObject::tr("Extract") << QObject::tr("Dry Extract") << QObject::tr("Adjunct"); return typesTr.at(type()); } double Fermentable::amount_kg() const { return get("amount").toDouble(); } double Fermentable::yield_pct() const { return get("yield").toDouble(); } double Fermentable::color_srm() const { return get("color").toDouble(); } bool Fermentable::addAfterBoil() const { return get("add_after_boil").toBool(); } const QString Fermentable::origin() const { return get("origin").toString(); } const QString Fermentable::supplier() const { return get("supplier").toString(); } const QString Fermentable::notes() const { return get("notes").toString(); } double Fermentable::coarseFineDiff_pct() const { return get("coarse_fine_diff").toDouble(); } double Fermentable::moisture_pct() const { return get("moisture").toDouble(); } double Fermentable::diastaticPower_lintner() const { return get("diastatic_power").toDouble(); } double Fermentable::protein_pct() const { return get("protein").toDouble(); } double Fermentable::maxInBatch_pct() const { return get("max_in_batch").toDouble(); } bool Fermentable::recommendMash() const { return get("recommend_mash").toBool(); } bool Fermentable::isMashed() const { return get("is_mashed").toBool(); } bool Fermentable::isExtract() { return ((type() == Extract) || (type() == Dry_Extract)); } bool Fermentable::isSugar() { return (type() == Sugar); } double Fermentable::ibuGalPerLb() const { return get("ibu_gal_per_lb").toDouble(); } double Fermentable::equivSucrose_kg() const { double ret = amount_kg() * yield_pct() * (1.0-moisture_pct()/100.0) / 100.0; // If this is a steeped grain... if( type() == Grain && !isMashed() ) return 0.60 * ret; // Reduce the yield by 60%. else return ret; } // disabled per-cell work /* unitDisplay Fermentable::displayUnit() const { return (unitDisplay)get("display_unit").toInt(); } unitScale Fermentable::displayScale() const { return (unitScale)get("display_scale").toInt(); } */ // Set void Fermentable::setName( const QString& str ) { set("name", "name", str); emit changedName(str); } void Fermentable::setType( Type t ) { set("type", "ftype", types.at(t)); } void Fermentable::setAmount_kg( double num ) { if( num < 0.0 ) { Brewtarget::logW( QString("Fermentable: negative amount: %1").arg(num) ); return; } else { set("amount_kg", "amount", num); } } void Fermentable::setYield_pct( double num ) { if( num >= 0.0 && num <= 100.0 ) { set("yield_pct", "yield", num); } else { Brewtarget::logW( QString("Fermentable: 0 < yield < 100: %1").arg(num) ); } } void Fermentable::setColor_srm( double num ) { if( num < 0.0 ) { Brewtarget::logW( QString("Fermentable: negative color: %1").arg(num) ); return; } else { set("color_srm", "color", num); } } void Fermentable::setAddAfterBoil( bool b ) { set("addAfterBoil", "add_after_boil", b); } void Fermentable::setOrigin( const QString& str ) { set("origin","origin",str);} void Fermentable::setSupplier( const QString& str) { set("supplier","supplier",str);} void Fermentable::setNotes( const QString& str ) { set("notes","notes",str);} void Fermentable::setCoarseFineDiff_pct( double num ) { if( num >= 0.0 && num <= 100.0 ) { set("coarseFineDiff_pct", "coarse_fine_diff", num); } else { Brewtarget::logW( QString("Fermentable: 0 < coarsefinediff < 100: %1").arg(num) ); } } void Fermentable::setMoisture_pct( double num ) { if( num >= 0.0 && num <= 100.0 ) { set("moisture_pct", "moisture", num); } else { Brewtarget::logW( QString("Fermentable: 0 < moisture < 100: %1").arg(num) ); } } void Fermentable::setDiastaticPower_lintner( double num ) { if( num < 0.0 ) { Brewtarget::logW( QString("Fermentable: negative DP: %1").arg(num) ); return; } else { set("diastaticPower_lintner", "diastatic_power", num); } } void Fermentable::setProtein_pct( double num ) { if( num >= 0.0 && num <= 100.0 ) { set("protein_pct", "protein", num); } else { Brewtarget::logW( QString("Fermentable: 0 < protein < 100: %1").arg(num) ); } } void Fermentable::setMaxInBatch_pct( double num ) { if( num >= 0.0 && num <= 100.0 ) { set("maxInBatch_pct", "max_in_batch", num); } else { Brewtarget::logW( QString("Fermentable: 0 < maxinbatch < 100: %1").arg(num) ); } } void Fermentable::setRecommendMash( bool b ) { set("recommendMash","recommend_mash",b);} void Fermentable::setIsMashed(bool var) { set("isMashed","is_mashed",var); } void Fermentable::setIbuGalPerLb( double num ) { set("ibuGalPerLb","ibu_gal_per_lb",num);} bool Fermentable::isValidType( const QString& str ) { return (types.indexOf(str) >= 0); } // disabled per-cell work /* void Fermentable::setDisplayUnit( unitDisplay unit ) { set("displayUnit", "display_unit", unit); set("displayScale", "display_scale", noScale); } void Fermentable::setDisplayScale( unitScale scale ) { set("displayScale", "display_scale", scale); } */ brewtarget-2.0.2/src/MashComboBox.cpp0000644000175000017500000000545412266512167017051 0ustar philipphilip/* * MashComboBox.cpp is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include "MashComboBox.h" #include #include "database.h" #include "mash.h" MashComboBox::MashComboBox(QWidget* parent) : QComboBox(parent) { setCurrentIndex(-1); connect( &(Database::instance()), SIGNAL(newMashSignal(Mash*)), this, SLOT(addMash(Mash*)) ); connect( &(Database::instance()), SIGNAL(deletedMashSignal(Mash*)), this, SLOT(removeMash(Mash*)) ); repopulateList(); } void MashComboBox::addMash(Mash* m) { if( m && !mashObs.contains(m) && m->display() && !m->deleted() ) { mashObs.append(m); connect( m, SIGNAL(changed(QMetaProperty,QVariant)), this, SLOT(changed(QMetaProperty,QVariant)) ); } addItem( m->name() ); } void MashComboBox::removeMash(Mash* m) { if( m ) disconnect( m, 0, this, 0 ); int ndx = mashObs.indexOf(m); if( ndx >= 0 ) { mashObs.removeAt(ndx); removeItem(ndx); } } void MashComboBox::removeAllMashs() { QList tmpMashs(mashObs); int i; for( i = 0; i < tmpMashs.size(); ++i ) removeMash(tmpMashs[i]); } void MashComboBox::changed(QMetaProperty prop, QVariant /*val*/) { int i; i = mashObs.indexOf( qobject_cast(sender()) ); if( i >= 0 ) { // Notice we assume 'i' is an index into both 'mashObs' and also // to the text list in this combo box... setItemText( i, mashObs[i]->name() ); } } void MashComboBox::setIndexByMash(Mash* mash) { int ndx; ndx = mashObs.indexOf(mash); setCurrentIndex(ndx); } void MashComboBox::setIndex(int ndx) { setCurrentIndex(ndx); } void MashComboBox::repopulateList() { unsigned int i, size; clear(); QList tmpMashs(mashObs); size = tmpMashs.size(); for( i = 0; i < size; ++i ) removeMash( tmpMashs[i] ); tmpMashs.clear(); tmpMashs = Database::instance().mashs(); size = tmpMashs.size(); for( i = 0; i < size; ++i ) addMash(tmpMashs[i]); setCurrentIndex(-1); } Mash* MashComboBox::getSelectedMash() { if( currentIndex() >= 0 ) return mashObs[currentIndex()]; else return 0; } brewtarget-2.0.2/src/style.cpp0000644000175000017500000001504412266512167015664 0ustar philipphilip/* * style.cpp is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include "brewtarget.h" #include "style.h" #include QStringList Style::types = QStringList() << "Lager" << "Ale" << "Mead" << "Wheat" << "Mixed" << "Cider"; QHash Style::tagToProp = Style::tagToPropHash(); QHash Style::tagToPropHash() { QHash propHash; propHash["NAME"] = "name"; propHash["CATEGORY"] = "category"; propHash["CATEGORY_NUMBER"] = "categoryNumber"; propHash["STYLE_LETTER"] = "styleLetter"; propHash["STYLE_GUIDE"] = "styleGuide"; //propHash["TYPE"] = "type"; propHash["OG_MIN"] = "ogMin"; propHash["OG_MAX"] = "ogMax"; propHash["FG_MIN"] = "fgMin"; propHash["FG_MAX"] = "fgMax"; propHash["IBU_MIN"] = "ibuMin"; propHash["IBU_MAX"] = "ibuMax"; propHash["COLOR_MIN"] = "colorMin_srm"; propHash["COLOR_MAX"] = "colorMax_srm"; propHash["CARB_MIN"] = "carbMin_vol"; propHash["CARB_MAX"] = "carbMax_vol"; propHash["ABV_MIN"] = "abvMin_pct"; propHash["ABV_MAX"] = "abvMax_pct"; propHash["NOTES"] = "notes"; propHash["PROFILE"] = "profile"; propHash["INGREDIENTS"] = "ingredients"; propHash["EXAMPLES"] = "examples"; return propHash; } bool operator<(Style &s1, Style &s2) { return s1.name() < s2.name(); } bool operator==(Style &s1, Style &s2) { return s1.key() == s2.key(); } Style::Style() : BeerXMLElement() { } //==============================="SET" METHODS================================== void Style::setName( const QString& var ) { set( "name", "name", var ); emit changedName(var); } void Style::setCategory( const QString& var ) { set( "category", "category", var ); } void Style::setCategoryNumber( const QString& var ) { set( "categoryNumber", "category_number", var ); } void Style::setStyleLetter( const QString& var ) { set( "styleLetter", "style_letter", var ); } void Style::setStyleGuide( const QString& var ) { set( "styleGuide", "style_guide", var ); } void Style::setType( Type t ) { set( "type", "s_type", types.at(t) ); } void Style::setOgMin( double var ) { if( var < 0.0 ) return; else { set("ogMin", "og_min", var); } } void Style::setOgMax( double var ) { if( var < 0.0 ) return; else { set("ogMax", "og_max", var); } } void Style::setFgMin( double var ) { if( var < 0.0 ) return; else { set("fgMin", "fg_min", var); } } void Style::setFgMax( double var ) { if( var < 0.0 ) return; else { set("fgMax", "fg_max", var); } } void Style::setIbuMin( double var ) { if( var < 0.0 ) return; else { set("ibuMin", "ibu_min", var); } } void Style::setIbuMax( double var ) { if( var < 0.0 ) return; else { set("ibuMax", "ibu_max", var); } } void Style::setColorMin_srm( double var ) { if( var < 0.0 ) return; else { set("colorMin_srm", "color_min", var); } } void Style::setColorMax_srm( double var ) { if( var < 0.0 ) return; else { set("colorMax_srm", "color_max", var); } } void Style::setCarbMin_vol( double var ) { if( var < 0.0 ) return; else { set("carbMin_vol", "carb_min", var); } } void Style::setCarbMax_vol( double var ) { if( var < 0.0 ) return; else { set("carbMax_vol", "carb_max", var); } } void Style::setAbvMin_pct( double var ) { if( var < 0.0 || var > 100.0 ) return; else { set("abvMin_pct", "abv_min", var); } } void Style::setAbvMax_pct( double var ) { if( var < 0.0 || var > 100.0 ) return; else { set("abvMax_pct", "abv_max", var); } } void Style::setNotes( const QString& var ) { set("notes", "notes", var); } void Style::setProfile( const QString& var ) { set("profile", "profile", var); } void Style::setIngredients( const QString& var ) { set("ingredients", "ingredients", var); } void Style::setExamples( const QString& var ) { set("examples", "examples", var); } //============================="GET" METHODS==================================== QString Style::name() const { return get("name").toString(); } QString Style::category() const { return get("category").toString(); } QString Style::categoryNumber() const { return get("category_number").toString(); } QString Style::styleLetter() const { return get("style_letter").toString(); } QString Style::styleGuide() const { return get("style_guide").toString(); } const Style::Type Style::type() const { return static_cast(types.indexOf(get("s_type").toString())); } const QString Style::typeString() const { return types.at(type()); } double Style::ogMin() const { return get("og_min").toDouble(); } double Style::ogMax() const { return get("og_max").toDouble(); } double Style::fgMin() const { return get("fg_min").toDouble(); } double Style::fgMax() const { return get("fg_max").toDouble(); } double Style::ibuMin() const { return get("ibu_min").toDouble(); } double Style::ibuMax() const { return get("ibu_max").toDouble(); } double Style::colorMin_srm() const { return get("color_min").toDouble(); } double Style::colorMax_srm() const { return get("color_max").toDouble(); } double Style::carbMin_vol() const { return get("carb_min").toDouble(); } double Style::carbMax_vol() const { return get("carb_max").toDouble(); } double Style::abvMin_pct() const { return get("abv_min").toDouble(); } double Style::abvMax_pct() const { return get("abv_max").toDouble(); } QString Style::notes() const { return get("notes").toString(); } QString Style::profile() const { return get("profile").toString(); } QString Style::ingredients() const { return get("ingredients").toString(); } QString Style::examples() const { return get("examples").toString(); } bool Style::isValidType( const QString &str ) { return types.contains( str ); } brewtarget-2.0.2/src/MaltinessWidget.h0000644000175000017500000000323112266512167017267 0ustar philipphilip/* * MaltinessWidget.h is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef _MALTINESSWIDGET_H #define _MALTINESSWIDGET_H class MaltinessWidget; #include #include #include #include #include // Forward declarations. class Recipe; enum{ CLOYING, EXTRAMALTY, SLIGHTLYMALTY, BALANCED, SLIGHTLYHOPPY, EXTRAHOPPY, HARSH }; /*! * \class MaltinessWidget * \author Philip G. Lee * * \brief Recipe view class that changes color and text depending on the calculated maltiness/hoppiness. */ class MaltinessWidget : public QLabel { Q_OBJECT public: MaltinessWidget(QWidget* parent=0); virtual ~MaltinessWidget() {} //! Set the recipe that we are to view. void observeRecipe(Recipe* recipe); public slots: void changed(QMetaProperty,QVariant); private: void setup(); void updateInfo(); QColor bgColor(); QString fgText(); int region(); Recipe* recObs; }; #endif /* _MALTINESSWIDGET_H */ brewtarget-2.0.2/src/OptionDialog.cpp0000644000175000017500000003032012266512167017106 0ustar philipphilip/* * OptionDialog.cpp is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include "OptionDialog.h" #include "brewtarget.h" #include "UnitSystem.h" #include "UnitSystems.h" #include "USWeightUnitSystem.h" #include "SIWeightUnitSystem.h" #include "ImperialVolumeUnitSystem.h" #include "USVolumeUnitSystem.h" #include "SIVolumeUnitSystem.h" #include "FahrenheitTempUnitSystem.h" #include "CelsiusTempUnitSystem.h" #include #include #include #include #include "MainWindow.h" OptionDialog::OptionDialog(QWidget* parent) { int i; setupUi(this); if( parent != 0 ) { setWindowIcon(parent->windowIcon()); } colorGroup = new QButtonGroup(this); ibuGroup = new QButtonGroup(this); weightGroup = new QButtonGroup(this); volumeGroup = new QButtonGroup(this); tempGroup = new QButtonGroup(this); gravGroup = new QButtonGroup(this); colorUnitGroup = new QButtonGroup(this); ndxToLangCode << "ca" << "cs" << "de" << "en" << "el" << "es" << "fr" << "it" << "nl" << "pl" << "pt" << "ru" << "zh"; // Do this just to have model indices to set icons. comboBox_lang->addItems(ndxToLangCode); // MUST correspond to ndxToLangCode. langIcons << QIcon(":images/flagCatalonia.svg") << QIcon(":images/flagCzech.svg") << QIcon(":images/flagGermany.svg") << QIcon(":images/flagUK.svg") << QIcon(":images/flagGreece.svg") << QIcon(":images/flagSpain.svg") << QIcon(":images/flagFrance.svg") << QIcon(":images/flagItaly.svg") << QIcon(":images/flagNetherlands.svg") << QIcon(":images/flagPoland.svg") << QIcon(":images/flagPortugal.svg") << QIcon(":images/flagRussia.svg") << QIcon(":images/flagChina.svg"); // Set icons. for( i = 0; i < langIcons.size(); ++i ) comboBox_lang->setItemIcon(i, langIcons[i]); // Call this here to set up translatable strings. retranslate(); // Want you to only be able to select exactly one in each group. colorGroup->setExclusive(true); ibuGroup->setExclusive(true); weightGroup->setExclusive(true); volumeGroup->setExclusive(true); tempGroup->setExclusive(true); gravGroup->setExclusive(true); colorUnitGroup->setExclusive(true); // Set up the buttons in the colorGroup colorGroup->addButton(checkBox_mosher); colorGroup->addButton(checkBox_daniel); colorGroup->addButton(checkBox_morey); // Same for ibuGroup. ibuGroup->addButton(checkBox_tinseth); ibuGroup->addButton(checkBox_rager); // Weight weightGroup->addButton(weight_si); weightGroup->addButton(weight_us); weightGroup->addButton(weight_imperial); // Volume volumeGroup->addButton(volume_si); volumeGroup->addButton(volume_us); volumeGroup->addButton(volume_imperial); // Temperature tempGroup->addButton(celsius); tempGroup->addButton(fahrenheit); // Gravity gravGroup->addButton(radioButton_sg); gravGroup->addButton(radioButton_plato); // Color Unit colorUnitGroup->addButton(radioButton_srm); colorUnitGroup->addButton(radioButton_ebc); connect( buttonBox, SIGNAL( accepted() ), this, SLOT( saveAndClose() ) ); connect( buttonBox, SIGNAL( rejected() ), this, SLOT( cancel() ) ); connect( pushButton_dbDirBrowse, SIGNAL( clicked() ), this, SLOT( setDataDir() ) ); connect( pushButton_dbDirDefault, SIGNAL( clicked() ), this, SLOT( defaultDataDir() ) ); } void OptionDialog::retranslate() { // Let the Ui take care of its business retranslateUi(this); // Retranslate the language combobox. // NOTE: the indices MUST correspond to ndxToLangCode. QStringList langStrings; langStrings << tr("Catalan") << tr("Czech") << tr("German") << tr("English") << tr("Greek") << tr("Spanish") << tr("French") << tr("Italian") << tr("Dutch") << tr("Polish") << tr("Portuguese") << tr("Russian") << tr("Chinese"); int i; for( i = 0; i < langStrings.size(); ++i ) comboBox_lang->setItemText(i, langStrings[i]); } void OptionDialog::show() { showChanges(); setVisible(true); } void OptionDialog::setDataDir() { QString dir = QFileDialog::getExistingDirectory(this, tr("Open Directory"), Brewtarget::getUserDataDir(), QFileDialog::ShowDirsOnly); if( ! dir.isEmpty() ) lineEdit_dbDir->setText( dir ); } void OptionDialog::defaultDataDir() { lineEdit_dbDir->setText( Brewtarget::getConfigDir() ); } void OptionDialog::saveAndClose() { QAbstractButton* button; iUnitSystem weightUnitSystem; iUnitSystem volumeUnitSystem; TempScale temperatureScale; Brewtarget::ColorType cformula; Brewtarget::IbuType iformula; Brewtarget::ColorUnitType colorUnit; QString newUserDataDir; button = colorGroup->checkedButton(); if( button == checkBox_mosher ) cformula = Brewtarget::MOSHER; else if( button == checkBox_daniel ) cformula = Brewtarget::DANIEL; else if( button == checkBox_morey ) cformula = Brewtarget::MOREY; else cformula = Brewtarget::MOREY; // Should never get here, but you never know. button = ibuGroup->checkedButton(); if( button == checkBox_tinseth ) iformula = Brewtarget::TINSETH; else if( button == checkBox_rager ) iformula = Brewtarget::RAGER; else iformula = Brewtarget::TINSETH; // Should never get here, but you never know. // Get gravity setting. button = gravGroup->checkedButton(); if( button == radioButton_sg ) Brewtarget::usePlato = false; else Brewtarget::usePlato = true; button = weightGroup->checkedButton(); if( button == weight_imperial ) { weightUnitSystem = Imperial; Brewtarget::weightSystem = UnitSystems::usWeightUnitSystem(); } else if( button == weight_us) { weightUnitSystem = USCustomary; Brewtarget::weightSystem = UnitSystems::usWeightUnitSystem(); } else { weightUnitSystem = SI; Brewtarget::weightSystem = UnitSystems::siWeightUnitSystem(); } button = volumeGroup->checkedButton(); if( button == volume_imperial ) { volumeUnitSystem = Imperial; Brewtarget::volumeSystem = UnitSystems::imperialVolumeUnitSystem(); } else if( button == volume_us ) { volumeUnitSystem = USCustomary; Brewtarget::volumeSystem = UnitSystems::usVolumeUnitSystem(); } else { volumeUnitSystem = SI; Brewtarget::volumeSystem = UnitSystems::siVolumeUnitSystem(); } button = tempGroup->checkedButton(); if( button == fahrenheit ) { temperatureScale = Fahrenheit; Brewtarget::tempSystem = UnitSystems::fahrenheitTempUnitSystem(); } else { temperatureScale = Celsius; Brewtarget::tempSystem = UnitSystems::celsiusTempUnitSystem(); } button = colorUnitGroup->checkedButton(); if( button == radioButton_ebc ) { colorUnit = Brewtarget::EBC; } else colorUnit = Brewtarget::SRM; Brewtarget::ibuFormula = iformula; Brewtarget::colorFormula = cformula; Brewtarget::weightUnitSystem = weightUnitSystem; Brewtarget::volumeUnitSystem = volumeUnitSystem; Brewtarget::tempScale = temperatureScale; Brewtarget::colorUnit = colorUnit; // Set the right language. Brewtarget::setLanguage( ndxToLangCode[ comboBox_lang->currentIndex() ] ); // Check the new userDataDir. newUserDataDir = lineEdit_dbDir->text(); // Make sure the dir ends with a "/" or "\" #if defined(Q_WS_X11) || defined(Q_WS_MAC) if( !newUserDataDir.endsWith("/") ) newUserDataDir += "/"; #else if( !newUserDataDir.endsWith("\\") && !newUserDataDir.endsWith("/") ) newUserDataDir += "\\"; #endif if( newUserDataDir != Brewtarget::getUserDataDir() ) { // If there are no data files present... if( ! QFileInfo(newUserDataDir + "database.sqlite").exists() ) { // ...tell user we will copy old data files to new location. QMessageBox::information(this, tr("Copy Data"), tr("There do not seem to be any data files in this directory, so we will copy your old data here.") ); Brewtarget::copyDataFiles(newUserDataDir); } Brewtarget::userDataDir = newUserDataDir; QMessageBox::information( this, tr("Restart"), tr("Please restart Brewtarget.") ); } Brewtarget::setOption("mashHopAdjustment", lineEdit_mashHop->text().toDouble() / 100); Brewtarget::setOption("firstWortHopAdjustment", lineEdit_firstWort->text().toDouble() / 100); // Make sure the main window updates. if( Brewtarget::mainWindow() ) Brewtarget::mainWindow()->showChanges(); setVisible(false); } void OptionDialog::cancel() { setVisible(false); } void OptionDialog::showChanges() { // Set the right language int ndx = ndxToLangCode.indexOf( Brewtarget::getCurrentLanguage() ); if( ndx >= 0 ) comboBox_lang->setCurrentIndex(ndx); // Check the right color formula box. switch( Brewtarget::colorFormula ) { case Brewtarget::MOREY: checkBox_morey->setCheckState(Qt::Checked); break; case Brewtarget::DANIEL: checkBox_daniel->setCheckState(Qt::Checked); break; case Brewtarget::MOSHER: checkBox_mosher->setCheckState(Qt::Checked); break; } // Check the right ibu formula box. switch( Brewtarget::ibuFormula ) { case Brewtarget::TINSETH: checkBox_tinseth->setCheckState(Qt::Checked); break; case Brewtarget::RAGER: checkBox_rager->setCheckState(Qt::Checked); break; } // Check the right weight unit system box. switch( Brewtarget::weightUnitSystem ) { case Imperial: weight_imperial->setChecked(TRUE); break; case USCustomary: weight_us->setChecked(TRUE); break; case SI: default: weight_si->setChecked(TRUE); } // Check the right volume unit system box. switch( Brewtarget::volumeUnitSystem ) { case Imperial: volume_imperial->setChecked(TRUE); break; case USCustomary: volume_us->setChecked(TRUE); break; case SI: default: volume_si->setChecked(TRUE); } // Check gravity. if( Brewtarget::usePlato ) radioButton_plato->setChecked(TRUE); else radioButton_sg->setChecked(TRUE); // Temp. switch( Brewtarget::tempScale ) { case Fahrenheit: fahrenheit->setChecked(TRUE); break; case Celsius: default: celsius->setChecked(TRUE); break; } // Color Formula switch( Brewtarget::colorUnit ) { case Brewtarget::EBC: radioButton_ebc->setChecked(true); break; case Brewtarget::SRM: default: radioButton_srm->setChecked(true); } // Data directory lineEdit_dbDir->setText(Brewtarget::getUserDataDir()); // The IBU modifications. These will all be calculated from a 60 min boil. This is gonna get confusing. lineEdit_mashHop->setText( Brewtarget::displayAmount(Brewtarget::option("mashHopAdjustment",0).toDouble()*100,0,0) ); lineEdit_firstWort->setText( Brewtarget::displayAmount(Brewtarget::option("firstWortHopAdjustment", 1.10).toDouble()*100,0,0) ); } void OptionDialog::changeEvent(QEvent* e) { switch( e->type() ) { case QEvent::LanguageChange: retranslate(); e->accept(); break; default: QDialog::changeEvent(e); break; } } brewtarget-2.0.2/src/StyleEditor.h0000644000175000017500000000330612266512167016436 0ustar philipphilip/* * StyleEditor.h is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef _STYLEEDITOR_H #define _STYLEEDITOR_H class StyleEditor; #include #include #include #include "ui_styleEditor.h" // Forward declarations. class Style; class StyleListModel; class StyleSortFilterProxyModel; /*! * \class StyleEditor * \author Philip G. Lee * * \brief View/controller dialog to modify styles. */ class StyleEditor : public QDialog, public Ui::styleEditor { Q_OBJECT public: StyleEditor( QWidget *parent=0, bool singleSyleEditor = false ); virtual ~StyleEditor() {} void setStyle( Style* s ); public slots: void save(); void newStyle(); void removeStyle(); void clear(); void clearAndClose(); void styleSelected( const QString& text ); void changed(QMetaProperty,QVariant); private: Style* obsStyle; StyleListModel* styleListModel; StyleSortFilterProxyModel* styleProxyModel; void showChanges(QMetaProperty* prop = 0); }; #endif /* _STYLEEDITOR_H */ brewtarget-2.0.2/src/TimerListDialog.cpp0000644000175000017500000000221512266512167017554 0ustar philipphilip/* * TimerListDialog.cpp is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include "TimerListDialog.h" #include "TimerWidget.h" TimerListDialog::TimerListDialog(QWidget* parent) : QDialog(parent) { setupUi(this); timer1 = new TimerWidget(this); timer2 = new TimerWidget(this); timer3 = new TimerWidget(this); verticalLayout->addWidget(timer1); verticalLayout->addWidget(timer2); verticalLayout->addWidget(timer3); } TimerListDialog::~TimerListDialog() { } brewtarget-2.0.2/src/MashStepTableWidget.cpp0000644000175000017500000000322212266512167020357 0ustar philipphilip/* * MashStepTableWidget.cpp is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include #include #include "MashStepTableModel.h" #include "MashStepTableWidget.h" MashStepTableWidget::MashStepTableWidget(QWidget* parent) : QTableView(parent) { model = new MashStepTableModel(this); setModel(model); setItemDelegate(new MashStepItemDelegate(this)); } MashStepTableModel* MashStepTableWidget::getModel() { return model; } void MashStepTableWidget::moveSelectedStepUp() { QModelIndexList list = selectedIndexes(); /* jazzbeerman 8/11/10 changed if( list.size() > 1 || list.size() < 0 ) */ if( list.size() != 1 ) return; model->moveStepUp(list[0].row()); } void MashStepTableWidget::moveSelectedStepDown() { QModelIndexList list = selectedIndexes(); /*jazzbeerman 8/11/10 changed if( list.size() > 1 || list.size() < 0 ) */ if (list.size() != 1 ) return; model->moveStepDown(list[0].row()); } brewtarget-2.0.2/src/TimerListDialog.h0000644000175000017500000000241612266512167017224 0ustar philipphilip/* * TimerListDialog.h is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef TIMERLISTDIALOG_H #define TIMERLISTDIALOG_H class TimerListDialog; #include "ui_timerListDialog.h" #include #include #include "TimerWidget.h" /*! * \class TimerListDialog * \author Philip G. Lee * * \brief A whole panel of timers. */ class TimerListDialog : public QDialog, public Ui::timerListDialog { Q_OBJECT public: TimerListDialog(QWidget* parent=0); ~TimerListDialog(); private: TimerWidget* timer1; TimerWidget* timer2; TimerWidget* timer3; }; #endif brewtarget-2.0.2/src/StyleSortFilterProxyModel.cpp0000644000175000017500000000241712266512167021665 0ustar philipphilip/* * StyleSortFilterProxyModel.cpp is part of Brewtarget, and is Copyright * Philip G. Lee (rocketman768@gmail.com, 2010-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include "StyleSortFilterProxyModel.h" #include "StyleListModel.h" #include "style.h" StyleSortFilterProxyModel::StyleSortFilterProxyModel(QObject* parent) : QSortFilterProxyModel(parent) { } bool StyleSortFilterProxyModel::filterAcceptsRow( int source_row, const QModelIndex &source_parent) const { StyleListModel* m = qobject_cast(sourceModel()); if( !m ) return true; Style* s = m->at(source_row); if( !s ) return true; return s->display() && !s->deleted(); } brewtarget-2.0.2/src/matrix.h0000644000175000017500000000737312266512167015503 0ustar philipphilip/* * matrix.h is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef _MATRIX_H #define _MATRIX_H #include #include #include #include #define EPSILON 0.00001 //======================Class Defns.============================= class Matrix; class DimensionException; class IncomputableException; std::ostream& operator<<( std::ostream &os, const Matrix &rhs ); //======================Class: Matrix============================= class Matrix { friend std::ostream& operator<<( std::ostream &os, const Matrix &rhs ); public: ~Matrix(); // Destructor Matrix( unsigned int rows, unsigned int cols ); // Constructor Matrix( const QVector &colVec ); // Constructor Matrix( const Matrix &m, unsigned int colStart, unsigned int colEnd ); // Constructor Matrix( const Matrix &rhs ); // Copy constructor static Matrix getIdentity( unsigned int n ); // Gets n x n identity matrix. Matrix& operator=( const Matrix &rhs ); Matrix& operator+=( const Matrix &rhs ); Matrix& operator-=( const Matrix &rhs ); const Matrix operator+( const Matrix &other ) const; const Matrix operator-( const Matrix &other ) const; const Matrix operator*( const Matrix &rhs ) const; Matrix getRow( unsigned int row ) const; Matrix getCol( unsigned int col ) const; unsigned int getRows() const; unsigned int getCols() const; inline double getVal( unsigned int row, unsigned int col ) const; inline void setVal( unsigned int row, unsigned int col, double val ); void setRow( unsigned int row, QVector vec ); void setCol( unsigned int col, QVector vec ); Matrix inverse() const; bool hasInverse() const; void rref(); bool hasNonZeroDiags() const; void swapRows( unsigned int row1, unsigned int row2 ); void appendCols( const Matrix& other ); private: unsigned int _rows; unsigned int _cols; double *_data; }; //======================Class: DimensionException============================= class DimensionException: public std::exception { virtual const char* what() const throw() { return "Dimensions of argument were not expected."; } public: DimensionException(unsigned int argRows, unsigned int argCols, bool rowsMatter, bool colsMatter ) { _argRows = argRows; _argCols = argCols; _rowsMatter = rowsMatter; _colsMatter = colsMatter; } bool colsMatter(){ return _colsMatter; } bool rowsMatter(){ return _rowsMatter; } unsigned int getArgRows(){ return _argRows; } unsigned int getArgCols(){ return _argCols; } private: unsigned int _argRows; unsigned int _argCols; bool _rowsMatter; bool _colsMatter; }; //======================Class: IncomputableException============================= class IncomputableException: public std::exception { virtual const char* what() const throw() { return "Could not compute what you asked."; } }; #endif brewtarget-2.0.2/src/SetterCommand.h0000644000175000017500000000554312266512167016741 0ustar philipphilip/* * SetterCommand.h is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ class SetterCommand; #include #include #include #include #include #include "BeerXMLElement.h" #include "brewtarget.h" /*! * \class SetterCommand * \author Philip G. Lee * * \brief A command that updates entries in an SQL table pertaining to a BeerXMLElement. */ class SetterCommand : public QUndoCommand { public: /*! A setter command that will set the entry specified by (table,key,col_name) * to value, and call prop's notify() method when done. */ SetterCommand( Brewtarget::DBTable table, int key, const char* col_name, QVariant value, QMetaProperty prop, BeerXMLElement* object, bool notify=true); virtual ~SetterCommand(); //! Reimplemented from QUndoCommand. virtual int id() const; //! Reimplemented from QUndoCommand. virtual bool mergeWith( const QUndoCommand* command ); //! Reimplemented from QUndoCommand. Executes the command. virtual void redo(); //! Reimplemented from QUndoCommand. Undoes the command. virtual void undo(); private: QList tables; QList keys; QList props; QList col_names; QList values; QList oldValues; QList objects; QList notify; //! Append a command to us. void appendCommand( Brewtarget::DBTable table, int key, QString const& col_name, QVariant value, QMetaProperty prop, BeerXMLElement* object, bool notify, QVariant oldValue = QVariant()); //! \returns query statements for setting the values. QList setterStatements(); //! After execution, oldValues[] should be populated. void oldValueTransaction(); //! \returns an unexecuted query for the transaction to rollback the values. QList undoStatements(); //! \returns how many commands we have. int size() const; }; brewtarget-2.0.2/src/IbuMethods.cpp0000644000175000017500000000434412266512167016570 0ustar philipphilip/* * IbuMethods.cpp is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include "IbuMethods.h" #include #include "brewtarget.h" #include #include IbuMethods::IbuMethods() { } IbuMethods::~IbuMethods() { } double IbuMethods::getIbus(double AArating, double hops_grams, double finalVolume_liters, double wort_grav, double minutes) { switch( Brewtarget::ibuFormula ) { case Brewtarget::TINSETH: return tinseth(AArating, hops_grams, finalVolume_liters, wort_grav, minutes); case Brewtarget::RAGER: return rager(AArating, hops_grams, finalVolume_liters, wort_grav, minutes); default: Brewtarget::log( Brewtarget::ERROR, QObject::tr("Unrecognized IBU formula type. %1").arg(Brewtarget::ibuFormula) ); return tinseth(AArating, hops_grams, finalVolume_liters, wort_grav, minutes); } } // These are collected from http://www.realbeer.com/hops/FAQ.html double IbuMethods::tinseth(double AArating, double hops_grams, double finalVolume_liters, double wort_grav, double minutes) { return ((AArating * hops_grams * 1000) / finalVolume_liters) * ((1.0 - exp(-0.04 * minutes))/4.15) * (1.65 * pow(0.000125, (wort_grav - 1))); } double IbuMethods::rager(double AArating, double hops_grams, double finalVolume_liters, double wort_grav, double minutes) { double utilization = (18.11 + 13.86*tanh((minutes-31.32)/18.17)) / 100.0; double gravityFactor = (wort_grav > 1.050)? (wort_grav - 1.050)/0.2 : 0.0; return (hops_grams*utilization*AArating*1000)/(finalVolume_liters*(1+gravityFactor)); } brewtarget-2.0.2/src/brewtarget.h0000755000175000017500000002733212266512167016345 0ustar philipphilip/* * brewtarget.h is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef _BREWTARGET_H #define _BREWTARGET_H // I think this will make things restart. I hope this will make things // restart. #define RESTART_CODE 0x1000 // need to use this to turn on mac keyboard shortcuts (see http://doc.qt.nokia.com/4.7-snapshot/qtglobal.html#qt_set_sequence_auto_mnemonic) extern void qt_set_sequence_auto_mnemonic(bool b); class Brewtarget; #include #include #include #include #include #include #include #include #include #include #include #include "UnitSystem.h" // Forward declarations. class MainWindow; class Unit; class BeerXMLElement; /*! * \class Brewtarget * \author Philip G. Lee * * \brief The main class. Figures out stuff from the system, formats things appropriately, handles translation, etc. */ class Brewtarget : public QObject { Q_OBJECT friend class OptionDialog; friend class IbuMethods; friend class ColorMethods; friend class RecipeFormatter; friend class Unit; friend class Database; friend class MainWindow; public: Brewtarget(); //! \brief The log level of a message. enum LogType{ //! Just a warning. WARNING, //! Full-blown error. ERROR }; //! \brief The formula used to get beer color. enum ColorType {MOSHER, DANIEL, MOREY}; //! \brief The units to display color in. enum ColorUnitType {SRM, EBC}; //! \brief The formula used to get IBUs. enum IbuType {TINSETH, RAGER}; //! \brief Don't know what the fuck this is. enum iUnitOps { NOOP = -1 , SCALE, UNIT }; //! \brief The database tables. enum DBTable{ //! None of the tables. 0 NOTABLE, //! In the BrewNote table. 1 BREWNOTETABLE, //! In the Equipment table. 2 EQUIPTABLE, //! In the Fermentable table. 3 FERMTABLE, //! In the Hop table. 4 HOPTABLE, //! In the Instruction table. 5 INSTRUCTIONTABLE, //! In the MashStep table. 6 MASHSTEPTABLE, //! In the Mash table. 7 MASHTABLE, //! In the Misc table. 8 MISCTABLE, //! In the Recipe table. 9 RECTABLE, //! In the Style table. 10 STYLETABLE, //! In the Water table. 11 WATERTABLE, //! In the Yeast table. 12 YEASTTABLE }; //! \return the data directory static QString getDataDir(); //! \return the doc directory static QString getDocDir(); //! \return the config directory static QString getConfigDir(bool* success = 0); //! \return user-specified directory where the database files reside. static QString getUserDataDir(); //! \brief Blocking call that starts the application. static int run(); //! \brief Log a message. static void log( LogType lt, QString message ); //! \brief Log an error message. static void logE( QString message ); //! \brief Log a warning message. static void logW( QString message ); /*! * \brief Displays an amount in the appropriate units. * * \param amount the amount to display * \param units the units that \c amount is in * \param precision how many decimal places */ static QString displayAmount( double amount, Unit* units=0, int precision=3, unitDisplay displayUnit = noUnit, unitScale displayScale = noScale ); /*! * \brief Displays an amount in the appropriate units. * * \param amount the amount to display * \param units the units that \c amount is in * \param precision how many decimal places */ static QString displayAmount( BeerXMLElement* element, QObject* object, QString attribute, Unit* units=0, int precision=3 ); //! \brief Display date formatted for the locale. static QString displayDate( QDate const& date ); //! \brief Displays thickness in appropriate units from standard thickness in L/kg. static QString displayThickness( double thick_lkg, bool showUnits=true ); //! \brief Appropriate thickness units will be placed in \c *volumeUnit and \c *weightUnit. static void getThicknessUnits( Unit** volumeUnit, Unit** weightUnit ); //! \brief Display original gravity appropriately. static QString displayOG( double og, unitDisplay displayUnit = noUnit, bool showUnits=false); //! \brief Display original gravity appropriately. static QString displayOG( BeerXMLElement* element, QObject* object, QString attribute, bool showUnits=false); /*! * \brief Display final gravity appropriately. * * \param fg the final gravity in 20C/20C units. * \param og the original gravity in 20C/20C units. Necessary to have the * \c og since some FG displays depend on the \c og. */ static QString displayFG( double fg, double og, unitDisplay displayUnit = noUnit, bool showUnits=false ); static QString displayFG(QPair fg, QPair og, QObject* object, bool showUnits = false); //! \brief Display color appropriately. static QString displayColor( double srm, unitDisplay displayUnit = noUnit, bool showUnits=false); static QString displayColor( BeerXMLElement* element, QObject* object, QString attribute, bool showUnits=false); //! \return SI amount for weight string. I.e. 0.454 for "1 lb". static double weightQStringToSI( QString qstr, unitDisplay dispUnit = noUnit); //! \return SI amount for volume string. static double volQStringToSI( QString qstr, unitDisplay dispUnit = noUnit ); //! \return SI amount for temperature string. static double tempQStringToSI( QString qstr, unitDisplay dispUnit = noUnit); //! \return SI amount for time string. static double timeQStringToSI( QString qstr ); //! \return SI amount for color string. static double colorQStringToSI(QString qstr); //! \return true iff the string has a valid unit substring at the end. static bool hasUnits(QString qstr); //! \return the weight system static iUnitSystem getWeightUnitSystem(); //! \return the volume system static iUnitSystem getVolumeUnitSystem(); //! \return the temperature scale static TempScale getTemperatureScale(); //! \return the color units static unitDisplay getColorUnit(); //! \brief Read options from file. This is deprecated, but we need it // around for the conversion static void convertPersistentOptions(); //! \brief Read options from options. This replaces readPersistentOptions() static void readSystemOptions(); //! \brief Writes the persisten options back to the options store static void saveSystemOptions(); /*! * \brief Loads the brewtarget translator with two letter ISO 639-1 code. * * For example, for spanish, it would * be 'es'. Currently, this does NO checking to make sure the locale * code is acceptable. * * \param twoLetterLanguage two letter ISO 639-1 code */ static void setLanguage(QString twoLetterLanguage); /*! * \brief Gets the 2-letter ISO 639-1 language code we are currently using. * \returns current 2-letter ISO 639-1 language code. */ static const QString& getCurrentLanguage(); /*! * \brief Gets the ISO 639-1 language code for the system. * \returns current 2-letter ISO 639-1 system language code */ static const QString& getSystemLanguage(); static bool hasOption(QString attribute, const QObject* object = 0, iUnitOps ops = NOOP); static void setOption(QString attribute, QVariant value, const QObject* object = 0, iUnitOps ops = NOOP); static QVariant option(QString attribute, QVariant default_value, const QObject* object = 0, iUnitOps = NOOP); static void removeOption(QString attribute); static QString generateName(QString attribute, const QObject* object, iUnitOps ops); // Grr. Shortcuts never, ever pay off static QMenu* setupColorMenu(QWidget* parent, unitDisplay unit); static QMenu* setupGravityMenu(QWidget* parent, unitDisplay unit); static QMenu* setupMassMenu(QWidget* parent, unitDisplay unit, unitScale scale = noScale, bool generateScale = true); static QMenu* setupTemperatureMenu(QWidget* parent, unitDisplay unit); static QMenu* setupVolumeMenu(QWidget* parent, unitDisplay unit, unitScale scale = noScale, bool generateScale = true); static void generateAction(QMenu* menu, QString text, QVariant data, QVariant currentVal); //! \return the main window. static MainWindow* mainWindow(); private: static MainWindow* _mainWindow; static QDomDocument* optionsDoc; static QTranslator* defaultTrans; static QTranslator* btTrans; static QFile* logFile; static QTextStream* logStream; static QString currentLanguage; static QSettings btSettings; static bool userDatabaseDidNotExist; /*! * \brief Helper to get option values from XML. * * If \b hasOption is not null, * is set to true iff the option exists in the document. */ static QString getOptionValue(const QDomDocument& optionsDoc, const QString& option, bool* hasOption = 0); /*! * \brief Copies the user xml files to another directory. * \returns false iff the copy is unsuccessful. */ static bool copyDataFiles(QString newPath); //! \brief Ensure our directories exist. static bool ensureDirectoriesExist(); //! \brief Ensure the datafiles exist. static bool ensureDataFilesExist(); //! \brief Load translation files. static void loadTranslations(); //! \brief Checks for a newer version and prompts user to download. static void checkForNewVersion(MainWindow* mw); //! \brief If this option is false, do not bother the user about new versions. static bool checkVersion; /*! Stores the date that we last asked the user to merge the * data-space database to the user-space database. */ static QDateTime lastDbMergeRequest; //! \brief Where the user says the database files are static QString userDataDir; // These are options that are ONLY to be edited by the OptionDialog. static bool usePlato; // Whether or not to display plato instead of SG. // static iUnitSystem weightUnitSystem; static iUnitSystem volumeUnitSystem; // static UnitSystem* weightSystem; static UnitSystem* volumeSystem; static UnitSystem* tempSystem; static UnitSystem* timeSystem; // static TempScale tempScale; static ColorType colorFormula; static ColorUnitType colorUnit; static IbuType ibuFormula; // Does this make any sense any longer? static UnitSystem* findVolumeUnitSystem(unitDisplay system); static UnitSystem* findMassUnitSystem(unitDisplay system); static UnitSystem* findTemperatureSystem(unitDisplay system); }; /*! * \mainpage Brewtarget Source Code Documentation * * \section secIntro Introduction * * Brewtarget is a cross-platform open source beer recipe software suite. * Our aim is to make "free as in beer" equal to "free as in speech" and * also to make a damn fine piece of software. * */ #endif /* _BREWTARGET_H */ brewtarget-2.0.2/src/database.cpp0000755000175000017500000037606412266512167016307 0ustar philipphilip/* * database.cpp is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include "database.h" #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include "Algorithms.h" #include "brewnote.h" #include "equipment.h" #include "fermentable.h" #include "hop.h" #include "instruction.h" #include "mash.h" #include "mashstep.h" #include "misc.h" #include "recipe.h" #include "style.h" #include "water.h" #include "yeast.h" #include "config.h" #include "brewtarget.h" #include "QueuedMethod.h" #include "SetterCommand.h" #include "SetterCommandStack.h" #if defined(Q_WS_WIN) #include #endif // Static members. Database* Database::dbInstance = 0; QFile Database::dbFile; QString Database::dbFileName; QFile Database::dataDbFile; QString Database::dataDbFileName; QFile Database::dbTempBackupFile; QString Database::dbTempBackupFileName; QString Database::dbConName; QHash Database::tableNames = Database::tableNamesHash(); QHash Database::classNameToTable = Database::classNameToTableHash(); const QList Database::tableParams = Database::makeTableParams(); QHash< QThread*, QString > Database::_threadToConnection; QMutex Database::_threadToConnectionMutex; Database::Database() { //.setUndoLimit(100); // Lock this here until we actually construct the first database connection. _threadToConnectionMutex.lock(); converted = false; dirty = false; loadWasSuccessful = load(); } Database::~Database() { // Delete all the ingredients floating around. qDeleteAll(allBrewNotes); qDeleteAll(allEquipments); qDeleteAll(allFermentables); qDeleteAll(allHops); qDeleteAll(allInstructions); qDeleteAll(allMashSteps); qDeleteAll(allMashs); qDeleteAll(allMiscs); qDeleteAll(allStyles); qDeleteAll(allWaters); qDeleteAll(allYeasts); qDeleteAll(allRecipes); } bool Database::load() { bool dbIsOpen; // Set file names. dbFileName = (Brewtarget::getUserDataDir() + "database.sqlite"); dataDbFileName = (Brewtarget::getDataDir() + "default_db.sqlite"); dbTempBackupFileName = (Brewtarget::getUserDataDir() + "tempBackupDatabase.sqlite"); // Set the files. dbFile.setFileName(dbFileName); dataDbFile.setFileName(dataDbFileName); dbTempBackupFile.setFileName(dbTempBackupFileName); // Cleanup the backup database if there was a previous error. if( !cleanupBackupDatabase() ) return false; // If user restored the database from a backup, make the backup into the primary. { QFile newdb(QString("%1.new").arg(dbFileName)); if( newdb.exists() ) { dbFile.remove(); newdb.copy(dbFileName); QFile::setPermissions( dbFileName, QFile::ReadOwner | QFile::WriteOwner | QFile::ReadGroup ); newdb.remove(); } } // If there's no dbFile, try to copy from dataDbFile. if( !dbFile.exists() ) { Brewtarget::userDatabaseDidNotExist = true; // If there's no dataDbFile, create dbFile from scratch. if( !dataDbFile.exists() ) { QFile::copy( ":/blankdb.sqlite", dbFileName ); QFile::setPermissions( dbFileName, QFile::ReadOwner | QFile::WriteOwner | QFile::ReadGroup ); } else { dataDbFile.copy(dbFileName); QFile::setPermissions( dbFileName, QFile::ReadOwner | QFile::WriteOwner | QFile::ReadGroup ); } // Reset the last merge request. Brewtarget::lastDbMergeRequest = QDateTime::currentDateTime(); } // Create a copy of the database to revert to if the user decides not to make changes. dbFile.copy(dbTempBackupFileName); // Open SQLite db. QSqlDatabase sqldb = QSqlDatabase::addDatabase("QSQLITE"); sqldb.setDatabaseName(dbFileName); dbIsOpen = sqldb.open(); dbConName = sqldb.connectionName(); if( ! dbIsOpen ) { Brewtarget::logE(QString("Could not open %1 for reading.\n%2").arg(dbFileName).arg(sqldb.lastError().text())); QMessageBox::critical(0, QObject::tr("Database Failure"), QString(QObject::tr("Failed to open the database '%1'.").arg(dbFileName))); // TODO: if we can't open the database, what should we do? return false; } // Associate this db with the current thread. _threadToConnection.insert(QThread::currentThread(), sqldb.connectionName()); _threadToConnectionMutex.unlock(); // NOTE: synchronous=off reduces query time by an order of magnitude! QSqlQuery( "PRAGMA synchronous = off", sqlDatabase()); QSqlQuery( "PRAGMA foreign_keys = on", sqlDatabase()); QSqlQuery( "PRAGMA locking_mode = EXCLUSIVE", sqlDatabase()); // Store temporary tables in memory. QSqlQuery( "PRAGMA temp_store = MEMORY", sqlDatabase()); // Initialize the SELECT * query hashes. selectAll = Database::selectAllHash(); // See if there are new ingredients that we need to merge from the data-space db. if( dataDbFile.fileName() != dbFile.fileName() && ! Brewtarget::userDatabaseDidNotExist // Don't do this if we JUST copied the dataspace database. && QFileInfo(dataDbFile).lastModified() > Brewtarget::lastDbMergeRequest ) { if( QMessageBox::question( 0, tr("Merge Database"), tr("There may be new ingredients and recipes available. Would you like to add these to your database?"), QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes ) == QMessageBox::Yes ) { updateDatabase(dataDbFile.fileName()); } // Update this field. Brewtarget::lastDbMergeRequest = QDateTime::currentDateTime(); } // Update the database if need be. updateSchema(); // Create and store all pointers. populateElements( allBrewNotes, Brewtarget::BREWNOTETABLE ); populateElements( allEquipments, Brewtarget::EQUIPTABLE ); populateElements( allFermentables, Brewtarget::FERMTABLE ); populateElements( allHops, Brewtarget::HOPTABLE ); populateElements( allInstructions, Brewtarget::INSTRUCTIONTABLE ); populateElements( allMashs, Brewtarget::MASHTABLE ); populateElements( allMashSteps, Brewtarget::MASHSTEPTABLE ); populateElements( allMiscs, Brewtarget::MISCTABLE ); populateElements( allStyles, Brewtarget::STYLETABLE ); populateElements( allWaters, Brewtarget::WATERTABLE ); populateElements( allYeasts, Brewtarget::YEASTTABLE ); populateElements( allRecipes, Brewtarget::RECTABLE ); // Connect fermentable,hop changed signals to their parent recipe. QHash::iterator i; QList::iterator j; QList::iterator k; QList::iterator l; QList::iterator m; for( i = allRecipes.begin(); i != allRecipes.end(); i++ ) { Equipment* e = equipment(*i); if( e ) { connect( e, SIGNAL(changed(QMetaProperty,QVariant)), *i, SLOT(acceptEquipChange(QMetaProperty,QVariant)) ); connect( e, SIGNAL(changedBoilSize_l(double)), *i, SLOT(setBoilSize_l(double))); connect( e, SIGNAL(changedBoilTime_min(double)), *i, SLOT(setBoilTime_min(double))); } QList tmpF = fermentables(*i); for( j = tmpF.begin(); j != tmpF.end(); j++ ) connect( *j, SIGNAL(changed(QMetaProperty,QVariant)), *i, SLOT(acceptFermChange(QMetaProperty,QVariant)) ); QList tmpH = hops(*i); for( k = tmpH.begin(); k != tmpH.end(); ++k ) connect( *k, SIGNAL(changed(QMetaProperty,QVariant)), *i, SLOT(acceptHopChange(QMetaProperty,QVariant)) ); connect( mash(*i), SIGNAL(changed(QMetaProperty,QVariant)), *i, SLOT(acceptMashChange(QMetaProperty,QVariant)) ); } QList tmpM = mashs(); for( l = tmpM.begin(); l != tmpM.end(); ++l) { QList tmpMS = mashSteps(*l); for( m=tmpMS.begin(); m != tmpMS.end(); ++m) connect( *m, SIGNAL(changed(QMetaProperty,QVariant)), *l, SLOT(acceptMashStepChange(QMetaProperty,QVariant)) ); } dirty = false; return true; } bool Database::loadSuccessful() { return loadWasSuccessful; } void Database::convertFromXml() { // We have two use cases to consider here. The first is a BT // 1.x user running BT 2 for the first time. The second is a BT 2 clean // install. I am also trying to protect the developers from double imports. // If the old "obsolete" directory exists, don't do anything other than // set the converted flag QDir dir(Brewtarget::getUserDataDir()); // Checking for non-existence is redundant with the new "converted" setting, // but better safe than sorry. if( !dir.exists("obsolete") ) { dir.mkdir("obsolete"); dir.cd("obsolete"); QStringList oldFiles = QStringList() << "database.xml" << "mashs.xml" << "recipes.xml"; for ( int i = 0; i < oldFiles.size(); ++i ) { QFile oldXmlFile(Brewtarget::getUserDataDir() + oldFiles[i]); // If the old file exists, import. if( oldXmlFile.exists() ) { importFromXML( oldXmlFile.fileName() ); // Move to obsolete/ directory. if( oldXmlFile.copy(dir.filePath(oldFiles[i])) ) oldXmlFile.remove(); // Let us know something was converted converted = true; } } } Brewtarget::btSettings.setValue("converted", QDate().currentDate().toString()); saveDatabase(); } void Database::saveDatabase() { dbTempBackupFile.remove(); dbFile.copy(dbTempBackupFileName); dirty = false; } bool Database::isConverted() { return converted; } QSqlDatabase Database::sqlDatabase() { // Need a unique database connection for each thread. //http://www.linuxjournal.com/article/9602 QThread* t = QThread::currentThread(); _threadToConnectionMutex.lock(); // If this thread already has a connection, return it. if( _threadToConnection.contains(t) ) { QSqlDatabase ret = QSqlDatabase::database(_threadToConnection[t]); _threadToConnectionMutex.unlock(); return ret; } // Create a unique connection name, just containing the addy of the thread. QString conName = QString("0x%1").arg(reinterpret_cast(t), 0, 16); // Create the new connection. QSqlDatabase sqldb = QSqlDatabase::addDatabase("QSQLITE",conName); sqldb.setDatabaseName(dbFileName); if( ! sqldb.open() ) { Brewtarget::logE(QString("Could not open %1 for reading.\n%2").arg(dbFileName).arg(sqldb.lastError().text())); // TODO: what to do if we can't open? } // Put new connection in the hash. _threadToConnection.insert(t,conName); _threadToConnectionMutex.unlock(); return sqldb; } void Database::unload(bool keepChanges) { QSqlDatabase::database( dbConName, false ).close(); QSqlDatabase::removeDatabase( dbConName ); if (!loadWasSuccessful || keepChanges) { // If load() failed or want to keep the changes, then // just keep the database and don't revert to the backup. if (dbFile.exists()) dbTempBackupFile.remove(); } else { // If the user doesn't want to save changes, remove the active database // and restore the backup. dbFile.close(); // Windows is a real bitch about remove the damn file. AAAAGGGHHHH #if defined(Q_WS_WIN) if( CopyFile(dbTempBackupFile.fileName().toStdString().c_str(), dbFile.fileName().toStdString().c_str(), false) ) DeleteFile( dbTempBackupFile.fileName().toStdString().c_str() ); #else dbFile.remove(); dbTempBackupFile.rename(dbFileName); #endif } } bool Database::isDirty() { return dirty; } Database& Database::instance() { // Not thread-safe //static Database dbSingleton; //return dbSingleton; // This is not safe either. This is the double-check pattern that // avoids acquiring the lock unless we need to make a new instance. // The problem is that it's not safe. Should replace this lazy // initialization with eager initialization, or just do a single // check lock. // http://www.aristeia.com/Papers/DDJ_Jul_Aug_2004_revised.pdf static QMutex mutex; if( ! dbInstance ) { mutex.lock(); if( ! dbInstance ) dbInstance = new Database(); mutex.unlock(); } return *dbInstance; } void Database::dropInstance() { static QMutex mutex; mutex.lock(); delete dbInstance; dbInstance=0; mutex.unlock(); } bool Database::backupToDir(QString dir) { // Make sure the singleton exists. instance(); bool success = true; QString prefix = dir + "/"; QString newDbFileName = prefix + "database.sqlite"; // Remove the files if they already exist so that // the copy() operation will succeed. QFile::remove(newDbFileName); success = dbFile.copy( newDbFileName ); return success; } bool Database::restoreFromFile(QString newDbFileStr) { bool success = true; /* QString prefix = dirStr + "/"; QString newDbFileName = prefix + "database.sqlite"; QFile newDbFile(newDbFileName); */ QFile newDbFile(newDbFileStr); // Fail if we can't find file. if( !newDbFile.exists() ) return false; success &= newDbFile.copy(QString("%1.new").arg(dbFile.fileName())); QFile::setPermissions( newDbFile.fileName(), QFile::ReadOwner | QFile::WriteOwner | QFile::ReadGroup ); return success; } // removeFromRecipe =========================================================== void Database::removeIngredientFromRecipe( Recipe* rec, BeerXMLElement* ing, QString propName, QString relTableName, QString ingKeyName ) { QSqlQuery q(sqlDatabase()); q.setForwardOnly(true); q.prepare( QString("DELETE FROM `%1` WHERE `%2`='%3' AND recipe_id='%4'").arg(relTableName).arg(ingKeyName).arg(ing->_key).arg(rec->_key) ); q.exec(); q.finish(); dirty = true; emit rec->changed( rec->metaProperty(propName), QVariant() ); } void Database::removeFromRecipe( Recipe* rec, BrewNote* b ) { // Just mark the brew note as deleted. sqlUpdate( Brewtarget::BREWNOTETABLE, "deleted=1", QString("id=%1").arg(b->_key) ); dirty = true; emit deletedBrewNoteSignal(b); } void Database::removeFromRecipe( Recipe* rec, Hop* hop ) { removeIngredientFromRecipe( rec, hop, "hops", "hop_in_recipe", "hop_id" ); disconnect( hop, 0, rec, 0 ); rec->recalcAll(); } void Database::removeFromRecipe( Recipe* rec, Fermentable* ferm ) { removeIngredientFromRecipe( rec, ferm, "fermentables", "fermentable_in_recipe", "fermentable_id" ); disconnect( ferm, 0, rec, 0 ); rec->recalcAll(); } void Database::removeFromRecipe( Recipe* rec, Misc* m ) { removeIngredientFromRecipe( rec, m, "miscs", "misc_in_recipe", "misc_id" ); rec->recalcAll(); } void Database::removeFromRecipe( Recipe* rec, Yeast* y ) { removeIngredientFromRecipe( rec, y, "yeasts", "yeast_in_recipe", "yeast_id" ); rec->recalcAll(); } void Database::removeFromRecipe( Recipe* rec, Water* w ) { removeIngredientFromRecipe( rec, w, "waters", "water_in_recipe", "water_id" ); rec->recalcAll(); } void Database::removeFromRecipe( Recipe* rec, Instruction* ins ) { removeIngredientFromRecipe( rec, ins, "instructions", "instruction_in_recipe", "instruction_id" ); // --maf-- Instructions just need to get whacked. sqlDelete( Brewtarget::INSTRUCTIONTABLE, QString("id=%1").arg(ins->_key) ); allInstructions.remove(ins->_key); emit changed( metaProperty("instructions"), QVariant() ); } //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ void Database::removeFrom( Mash* mash, MashStep* step ) { // Just mark the step as deleted. sqlUpdate( Brewtarget::MASHSTEPTABLE, "deleted=1", QString("id=%1").arg(step->_key) ); // emit mash->changed( mash->metaProperty("mashSteps"), QVariant() ); dirty = true; emit mash->mashStepsChanged(); } Recipe* Database::getParentRecipe( BrewNote const* note ) { int key; QSqlQuery q( QString("SELECT recipe_id FROM brewnote WHERE id = %1").arg(note->_key), sqlDatabase());//sqldb ); q.next(); key = q.record().value("recipe_id").toInt(); q.finish(); return allRecipes[key]; } Recipe* Database::recipe(int key) { Recipe* ret; if( allRecipes.contains(key) ) ret = allRecipes[key]; else ret = 0; return ret; } Equipment* Database::equipment(int key) { return allEquipments[key]; } void Database::swapMashStepOrder(MashStep* m1, MashStep* m2) { // TODO: encapsulate in QUndoCommand. QSqlQuery q( QString("UPDATE mashstep SET step_number = CASE msid WHEN %1 then %2 when %3 then %4 END WHERE msid IN (%5,%6)") .arg(m1->_key).arg(m2->_key).arg(m2->_key).arg(m1->_key).arg(m1->_key).arg(m2->_key), sqlDatabase());//sqldb ); q.finish(); dirty = true; emit m1->changed( m1->metaProperty("stepNumber") ); emit m2->changed( m2->metaProperty("stepNumber") ); } void Database::swapInstructionOrder(Instruction* in1, Instruction* in2) { // TODO: encapsulate in QUndoCommand. QSqlQuery q( QString( "UPDATE instruction_in_recipe " "SET instruction_number = " " CASE instruction_id " " WHEN %1 THEN %3 " " WHEN %2 THEN %4 " " END " "WHERE instruction_id IN (%1,%2)" ).arg(in1->_key).arg(in2->_key).arg(in2->instructionNumber()).arg(in1->instructionNumber()), sqlDatabase() ); q.finish(); dirty = true; emit in1->changed( in1->metaProperty("instructionNumber") ); emit in2->changed( in2->metaProperty("instructionNumber") ); } void Database::insertInstruction(Instruction* in, int pos) { int parentRecipeKey; QSqlQuery q( QString("SELECT recipe_id FROM instruction_in_recipe WHERE instruction_id=%2") .arg(in->_key), sqlDatabase());//sqldb); q.next(); parentRecipeKey = q.record().value("recipe_id").toInt(); q.finish(); // Increment all instruction positions greater or equal to pos. q.exec( QString( "UPDATE instruction_in_recipe " "SET instruction_number=instruction_number+1 " "WHERE recipe_id=%1 AND instruction_number>=%2" ).arg(parentRecipeKey).arg(pos) ); // NOTE: right here, we should be emitting changed( "instructionNumber" ) // for each one of the rows affected above. Probably creating problems by // not doing so :-/ // Change in's position to pos. q.exec( QString( "UPDATE instruction_in_recipe " "SET instruction_number=%1 " "WHERE instruction_id=%2" ).arg(pos).arg(in->_key) ); q.finish(); dirty = true; emit in->changed( in->metaProperty("instructionNumber"), pos ); } QList Database::brewNotes(Recipe const* parent) { QList ret; QString filterString = QString("recipe_id = %1 AND deleted = 0").arg(parent->_key); getElements(ret, filterString, Brewtarget::BREWNOTETABLE, allBrewNotes); return ret; } QList Database::fermentables(Recipe const* parent) { QList ret; QString queryString = QString("SELECT fermentable_id FROM fermentable_in_recipe WHERE recipe_id = %1").arg(parent->_key); QSqlQuery q( queryString, sqlDatabase() );//, sqldb ); while( q.next() ) ret.append(allFermentables[q.record().value("fermentable_id").toInt()]); q.finish(); return ret; } QList Database::hops(Recipe const* parent) { QList ret; QString queryString = QString("SELECT hop_id FROM hop_in_recipe WHERE recipe_id = %1").arg(parent->_key); QSqlQuery q( queryString, sqlDatabase() );//, sqldb ); while( q.next() ) ret.append(allHops[q.record().value("hop_id").toInt()]); q.finish(); return ret; } QList Database::miscs(Recipe const* parent) { QList ret; QString queryString = QString("SELECT misc_id FROM misc_in_recipe WHERE recipe_id = %1").arg(parent->_key); QSqlQuery q( queryString, sqlDatabase() );//, sqldb ); while( q.next() ) ret.append(allMiscs[q.record().value("misc_id").toInt()]); q.finish(); return ret; } Equipment* Database::equipment(Recipe const* parent) { int id = get( Brewtarget::RECTABLE, parent->key(), "equipment_id" ).toInt(); if( allEquipments.contains(id) ) return allEquipments[id]; else return 0; } Style* Database::style(Recipe const* parent) { int id; QString queryString = QString("SELECT style_id FROM recipe WHERE id = %1").arg(parent->_key); QSqlQuery q( queryString, sqlDatabase() );//, sqldb ); while( q.next() ) id = q.record().value("style_id").toInt(); q.finish(); if( allStyles.contains(id) ) return allStyles[id]; else return 0; } Mash* Database::mash( Recipe const* parent ) { int mashId = get( Brewtarget::RECTABLE, parent->key(), "mash_id" ).toInt(); if( allMashs.contains(mashId) ) return allMashs[mashId]; else return 0; } QList Database::mashSteps(Mash const* parent) { QList ret; QString filterString = QString("mash_id = %1 AND deleted = 0").arg(parent->_key); getElements(ret, filterString, Brewtarget::MASHSTEPTABLE, allMashSteps); return ret; } QList Database::instructions( Recipe const* parent ) { QList ret; QString queryString = QString( "SELECT instruction_id FROM instruction_in_recipe WHERE recipe_id = %1 ORDER BY instruction_number ASC" ).arg(parent->_key); QSqlQuery q( queryString, sqlDatabase() );//, sqldb ); while( q.next() ) ret.append(allInstructions[q.record().value("instruction_id").toInt()]); q.finish(); return ret; } QList Database::waters(Recipe const* parent) { QList ret; QString queryString = QString("SELECT water_id FROM water_in_recipe WHERE recipe_id = %1").arg(parent->_key); QSqlQuery q( queryString, sqlDatabase() );//, sqldb ); while( q.next() ) ret.append(allWaters[q.record().value("water_id").toInt()]); q.finish(); return ret; } QList Database::yeasts(Recipe const* parent) { QList ret; QString queryString = QString("SELECT yeast_id FROM yeast_in_recipe WHERE recipe_id = %1").arg(parent->_key); QSqlQuery q( queryString, sqlDatabase() );//, sqldb ); while( q.next() ) ret.append(allYeasts[q.record().value("yeast_id").toInt()]); q.finish(); return ret; } // Named constructors ========================================================= int Database::insertNewDefaultRecord( Brewtarget::DBTable table ) { int key; QSqlQuery q(sqlDatabase()); q.exec( QString("INSERT INTO `%1` DEFAULT VALUES") .arg(tableNames[table]) ); if( q.numRowsAffected() < 1 ) { Brewtarget::logE( QString("Database::insertNewDefaultRecord: could not insert a record into %1. %2").arg(tableNames[table]).arg(q.lastError().text()) ); key = -42; } else key = q.lastInsertId().toInt(); q.finish(); //if( q.lastError().isValid() ) // Brewtarget::logE( QString("Database::insertNewDefaultRecord: %1").arg(q.lastError().text()) ); dirty = true; return key; } int Database::insertNewMashStepRecord( Mash* parent ) { int key; QSqlQuery q(sqlDatabase());//sqldb ); q.setForwardOnly(true); q.exec( QString("INSERT INTO `%1` DEFAULT VALUES") .arg(tableNames[Brewtarget::MASHSTEPTABLE]) ); if( q.numRowsAffected() < 1 ) { Brewtarget::logE( QString("Database::insertNewDefaultRecord: could not insert a record into %1.").arg(tableNames[Brewtarget::MASHSTEPTABLE]) ); key = -42; } else key = q.lastInsertId().toInt(); q.finish(); // I *think* we need to set the mash_id first sqlUpdate( Brewtarget::MASHSTEPTABLE, QString("`mash_id`='%1' ").arg(parent->_key), QString("id='%1'").arg(key) ); // Just sets the step number within the mash to the next available number. sqlUpdate( Brewtarget::MASHSTEPTABLE, QString( "`step_number` = (SELECT IFNULL(MAX(`step_number`)+1,0) FROM `%1` WHERE deleted=0 AND mash_id='%2' )") .arg(tableNames[Brewtarget::MASHSTEPTABLE]) .arg(parent->_key), QString("id='%1'").arg(key) ); dirty = true; return key; } BrewNote* Database::newBrewNote(BrewNote* other, bool signal) { BrewNote* tmp = copy(other, true, &allBrewNotes); if ( signal ) { emit changed( metaProperty("brewNotes"), QVariant() ); emit newBrewNoteSignal(tmp); } dirty = true; return tmp; } BrewNote* Database::newBrewNote(Recipe* parent, bool signal) { BrewNote* tmp = new BrewNote(); tmp->_key = insertNewDefaultRecord(Brewtarget::BREWNOTETABLE); tmp->_table = Brewtarget::BREWNOTETABLE; allBrewNotes.insert(tmp->_key,tmp); sqlUpdate( Brewtarget::BREWNOTETABLE, QString("recipe_id=%1").arg(parent->_key), QString("id=%2").arg(tmp->_key) ); if ( signal ) { emit changed( metaProperty("brewNotes"), QVariant() ); emit newBrewNoteSignal(tmp); } dirty = true; return tmp; } Equipment* Database::newEquipment() { Equipment* tmp = new Equipment(); tmp->_key = insertNewDefaultRecord(Brewtarget::EQUIPTABLE); tmp->_table = Brewtarget::EQUIPTABLE; allEquipments.insert(tmp->_key,tmp); dirty = true; emit changed( metaProperty("equipments"), QVariant() ); emit newEquipmentSignal(tmp); return tmp; } Equipment* Database::newEquipment(Equipment* other) { Equipment* tmp = copy(other, true, &allEquipments); dirty = true; emit changed( metaProperty("equipments"), QVariant() ); emit newEquipmentSignal(tmp); return tmp; } Fermentable* Database::newFermentable() { Fermentable* tmp = new Fermentable(); tmp->_key = insertNewDefaultRecord(Brewtarget::FERMTABLE); tmp->_table = Brewtarget::FERMTABLE; allFermentables.insert(tmp->_key,tmp); dirty = true; emit changed( metaProperty("fermentables"), QVariant() ); emit newFermentableSignal(tmp); return tmp; } Fermentable* Database::newFermentable(Fermentable* other) { Fermentable* tmp = copy(other, true, &allFermentables); dirty = true; emit changed( metaProperty("fermentables"), QVariant() ); emit newFermentableSignal(tmp); return tmp; } Hop* Database::newHop() { Hop* tmp = new Hop(); tmp->_key = insertNewDefaultRecord(Brewtarget::HOPTABLE); tmp->_table = Brewtarget::HOPTABLE; allHops.insert(tmp->_key,tmp); dirty = true; emit changed( metaProperty("hops"), QVariant() ); emit newHopSignal(tmp); return tmp; } Hop* Database::newHop(Hop* other) { Hop* tmp = copy(other, true, &allHops); dirty = true; emit changed( metaProperty("hops"), QVariant() ); emit newHopSignal(tmp); return tmp; } Instruction* Database::newInstruction(Recipe* rec) { // TODO: encapsulate in QUndoCommand. Instruction* tmp = new Instruction(); tmp->_key = insertNewDefaultRecord(Brewtarget::INSTRUCTIONTABLE); tmp->_table = Brewtarget::INSTRUCTIONTABLE; allInstructions.insert(tmp->_key,tmp); // Database's instructions have changed. dirty = true; emit changed( metaProperty("instructions"), QVariant() ); // Add without copying to "instruction_in_recipe" addIngredientToRecipe( rec, tmp, "instructions", "instruction_in_recipe", "instruction_id", true, 0, false ); return tmp; } int Database::instructionNumber(Instruction const* in) { QSqlQuery q( QString( "SELECT instruction_number FROM instruction_in_recipe WHERE instruction_id=%1" ).arg(in->_key), sqlDatabase() ); if( q.next() ) return q.record().value("instruction_number").toInt(); else return 0; } Mash* Database::newMash() { Mash* tmp = new Mash(); tmp->_key = insertNewDefaultRecord(Brewtarget::MASHTABLE); tmp->_table = Brewtarget::MASHTABLE; allMashs.insert(tmp->_key,tmp); dirty = true; emit changed( metaProperty("mashs"), QVariant() ); emit newMashSignal(tmp); return tmp; } Mash* Database::newMash(Recipe* parent) { Mash* tmp = new Mash(); tmp->_key = insertNewDefaultRecord(Brewtarget::MASHTABLE); tmp->_table = Brewtarget::MASHTABLE; allMashs.insert(tmp->_key,tmp); // Connect tmp to parent, removing any existing mash in parent. sqlUpdate( Brewtarget::RECTABLE, QString("mash_id=%1").arg(tmp->_key), QString("id=%1").arg(parent->_key) ); dirty = true; emit changed( metaProperty("mashs"), QVariant() ); emit newMashSignal(tmp); connect( tmp, SIGNAL(changed(QMetaProperty,QVariant)), parent, SLOT(acceptMashChange(QMetaProperty,QVariant)) ); return tmp; } Mash* Database::newMash(Mash* other, bool displace) { Mash* tmp = copy(other, true, &allMashs); // Just copying the Mash isn't enough. We need to copy the mashsteps too duplicateMashSteps(other,tmp); // Connect tmp to parent, removing any existing mash in parent. if( displace ) { sqlUpdate( Brewtarget::RECTABLE, QString("mash_id=%1").arg(tmp->_key), QString("mash_id=%1").arg(other->_key) ); } dirty = true; emit changed( metaProperty("mashs"), QVariant() ); emit newMashSignal(tmp); return tmp; } MashStep* Database::newMashStep(Mash* mash) { // TODO: encapsulate in QUndoCommand. // NOTE: we have unique(mash_id,step_number) constraints on this table, // so may have to pay special attention when creating the new record. MashStep* tmp = new MashStep(); tmp->_key = insertNewMashStepRecord(mash); tmp->_table = Brewtarget::MASHSTEPTABLE; allMashSteps.insert(tmp->_key,tmp); connect( tmp, SIGNAL(changed(QMetaProperty,QVariant)), mash, SLOT(acceptMashStepChange(QMetaProperty,QVariant)) ); dirty = true; emit changed( metaProperty("mashs"), QVariant() ); emit mash->mashStepsChanged(); return tmp; } Misc* Database::newMisc() { Misc* tmp = new Misc(); tmp->_key = insertNewDefaultRecord(Brewtarget::MISCTABLE); tmp->_table = Brewtarget::MISCTABLE; allMiscs.insert(tmp->_key,tmp); dirty = true; emit changed( metaProperty("miscs"), QVariant() ); emit newMiscSignal(tmp); return tmp; } Misc* Database::newMisc(Misc* other) { Misc* tmp = copy(other, true, &allMiscs); dirty = true; emit changed( metaProperty("miscs"), QVariant() ); emit newMiscSignal(tmp); return tmp; } Recipe* Database::newRecipe(bool addMash) { Recipe* tmp = new Recipe(); tmp->_key = insertNewDefaultRecord(Brewtarget::RECTABLE); tmp->_table = Brewtarget::RECTABLE; allRecipes.insert(tmp->_key,tmp); // Now, need to create a new mash for the recipe. if ( addMash ) newMash( tmp ); dirty = true; emit changed( metaProperty("recipes"), QVariant() ); emit newRecipeSignal(tmp); return tmp; } Recipe* Database::newRecipe(Recipe* other) { Recipe* tmp = copy(other, true, &allRecipes); // Copy fermentables foreach( Fermentable* a, other->fermentables() ) addToRecipe( tmp, a ); // Copy hops foreach( Hop* a, other->hops() ) addToRecipe( tmp, a ); // Copy miscs foreach( Misc* a, other->miscs() ) addToRecipe( tmp, a ); // Copy yeasts foreach( Yeast* a, other->yeasts() ) addToRecipe( tmp, a ); // Copy style/mash/equipment // Style or equipment might be non-existent but these methods handle that. addToRecipe( tmp, other->equipment() ); addToRecipe( tmp, other->mash() ); addToRecipe( tmp, other->style() ); dirty = true; emit changed( metaProperty("recipes"), QVariant() ); emit newRecipeSignal(tmp); return tmp; } Style* Database::newStyle() { Style* tmp = new Style(); tmp->_key = insertNewDefaultRecord(Brewtarget::STYLETABLE); tmp->_table = Brewtarget::STYLETABLE; allStyles.insert(tmp->_key,tmp); dirty = true; emit changed( metaProperty("styles"), QVariant() ); emit newStyleSignal(tmp); return tmp; } Style* Database::newStyle(Style* other) { Style* tmp = copy"; body = ""; body += QString("

%1

").arg(recObs->name()); if ( includeImage ) body += QString("").arg("qrc:/images/title.svg"); // Build the top table // Build the first row: Style and Date body += "

ϻ_mx$ n&9E4Bpƙ>k!8F‘ɶeI .89Tns DM1NOuN" , [/1sNJ(r4[)PcG"=muݦnj.rjʵLeB'̍Z'u,jB4W(_E).^?lޕP|p?!'CA?d9o(ٞol|oiV CfѦ P\,)Ny+`ɲ [[StE,ld 9 &X77ES.TT"NK} Svqص=DrszWTQ.Un:U0b'bRZG{KVud?]I),}p[[IVjYwiX؎ϐ@X,Ѐ6䔲,p -pzQ!] :q Y!HeOZ IV ҆2 @wT2E!M"+]JZ HDJeLb qcLXĊYDgÜaNs/7$EK`NF, "z+=+L#9D:lgEPOrSFAP._VRD፩gNedm\vj H&QYqѽ1|g)(᧳ѽjjrI^CI}&^%^GB)#c֩T>e)vtc|+gj~r?Q n^|% &~?uB5 ә]O*3R٤j ('⨸* v4"3_( $s ' gzB"Vo7` `'P 2JbsY P0M6hw# # Sf '^p; '$OE+xVح/;!jf@f4aBs I vh!8vnYD~S+5~`ءtVk= !b x"~[|l{? b|A>-(I:ϫn˯9Eg[Q=wIĝ. '?/ؿʅZO7D.rF';B;|J@͂UQ͈WRfZ2") UA 'jY*vj޴P dHNr_V3la\T10k31+v%dcEayLv7xhP7v"1m]nnԐg`ui7=&ksu.(fbźQNGⵇGzw7 U:ovKKnErr9rk|Gcu:_I5*'9%Uأ8 )*xb9ic+a>l#NęvJU?? hזf9&%^j]Oހ.g+ /f~ bQ F דPmS欢Dȑso*hv?C!hXoBQ,ic3h.\d[rc 1t-# ˊsYB_w쓾E%S2UVGhS \`ZRoA6륂A,E tv@3j2;i'ij&QCho+r51{섔SC5/0+f;a5> ͅb*Q/B8Q scՍ@6kChErD E|ϩu>/FڐmzKESr )7'Gam9rhr+vȼVA}V'1.2缽wEyC[6@!@R vsvgx`!^>;{ Tr"HEhxc;_,-J.F[(]Z;fYn\L]CdYi#eNg5rrWxuR9V=$Sp5RsDVuM!I< Y]Q?'S,sɡԦjj) <;Ӟ"䥸!SLfy=:r}=Ƞ Q,YϓNFd7"z/\L4rJ5p 75.X&ZDW%?4}^9*ى y"IFͷms=0p"wH?Dؔ5qp^ry]X*LRq23e%*fonǹnaH&L9a|EæN 8!'B@VbOϑך mOEo`KHkV"}K|و?m(˼?s,NX TK:TVz@ 0[q!캿njaйV*ddI_?80?\ncZ䮋["^Da*9I!m`z1pORoj7 Ib>Zu* ([צdD 4E*Hw}X!א(#el(߹e#98&hߡS 1ZMLw|XrR7xSN5$tk4,=3(X!NH Fho:_3DV"LBE(, :ixɱ2ȤHO?Eޗ,C*`C訴R,wxXEƇD!LZ `BT9ˠp鐏|I'QH\DքlZ֤-!yɠ-bxm*UE؄ߟdµBѴꌹ6{ b$ %s?%1T@x 3pޫ2"/ՈcJMc<I۩EI ,*~o-od—WLOA$/ { DQUV : µ8*AW9n# >&zgwM8żB!)YQ#i2{ډH#dX2iΧ}4essŚ[YI6}ɃrQ>E,DGK3IEsn29kԟP+G.!ʊq4]P.\Q-[x!>J9 8(f:k5쏠钚ҀEF D#Jęh#M\F^ȶ5 1ᒼQX8)&.ԕ ]F>:BA2jDuo@/"VzJTNy9FA"%0S{0)"`%lM"pv jQ(y9!- 0EoGK u*MǃuӚīs]6եF"D")Xƃ\DEA59H&' r=0(%iԭjx3wIU7WZ(P2[Z<˚"ˡ 7= f#/2 9Lu4_ʳ:, nKr;0)YJMHm[:<!LU6ZV!Oߤ$(lI9Ԕ_6B>3Bճ-v/(=Dc gy VV%&rSv#}U3^} h|3;ʬbPXn [}mQDYPdP-$3WyE4r=eeR&^׬HBI5A?md$t! ܉Uj8*mT#:LY 6FްR4hyd}!VY D{I~W8=@墨t̹^1å iv!ZsF%EEbsah7Jq2#ONZġEfCU0'7IbH4FQ({#觷h?ITL00'U"quJ%.IR+mxC^c+nn?mkdЉ]nTՌh'm-_ENb›%0 SKWBloE)9_ip}(5wJr.$>7$OGgǢʪK,YLC* fiS>A7ɺ+MInG>^FH :X6&4??ܿ-#w(炈hӛfW>Қ`Q"aqe!%ϕn|}SP|?NLoKBRrT)!ֆvhۜw:4zAddҶ{%H*,'Fޏ__ޱz"2MtUOJIkmD,LcJk8@DP5U1 @8ba̎3mC׷l í+B<si !qIfPp؎ ]y$BfAlo)=ځ FFHÁI`5'Y[]9.pJET7icdKL3~װ!Q]db}ؖWOom _K Z,\XNjrvcȌ0@+=.M p`*̿jn/MŹrD_xjovnBSIFSEXd eP1JN&eT'tvcCM+6vbDaviUR"#xZ,KLMQV(Q`QRucbCXFY7-b'&8ro><<q#I{ֱha^% n3рA8U(]*ͣQ"Tl z<`R'_Mkoᠬ+.rUubà10pBYf% \.N3Zٜ(TMZNnJGpHdXOTnyrRȍ)dL"VqT̓"qќ"E˙1Ze`O"aa,~p#U'Z"A0X"c2%bRxXhHD s"/zтQ?Yph]5KQSObM.9PHgIZ*=}󰩗M-g'_JZ"V͈[^DDr1!-D-ܙ!y#6JO뮏6cʚeNPjafrgeB9qo-Pu~!!|Ώ[f3 [|򕦡Rq#f{ꢠeU<(WPdNNa([BFBRdmQ--їpz !J3)sA~)cyBEsR|P|iꍗKͤ DؘC\}!QOZF GuDqhAJ EMTbϔ+_t(z988 zY ]bc\[n^kF)K?џ#HˆmOp $ ȴ{`iVVp\*t~<:Pcr`-Ą#ٙ`ztyfp(u&^f;UoYrg[2Z7=M/D.ޟ+m#D&%I;,$-Ylr'cHC9w/DPp!m%dIn8*YlYڍ5~WtZA0mI)`/w$eHt5J?;T!FS:! EK]@?JeUEUJd)<$*0Nx5[,#]pe:<ل"He- GcOd>؃+1tsqM6%.lY9kz`ڜ I>M_HϺp.i;N)o H˽yu%R7DL˦ma"Dh0eE3m$Y_5FR"B) O _GY:(04|Dz1.CzOO1POs]&mAyX~Һ77b|"0a->oAHV~jFHAnJKt3 esni7! ^SUT =I}FaV<4U>:2*l2QAc5q[y0DYMPv#7@"FƟɌ!m T:Q2 5Å4#hϋ#+e [bv1&GچLMqGC{Le%!4^hŌJ{N%' _mߝrxv٬^<ُ֜9}P (YR}+:B֖VBBg5U5 $&_$I(iChW\@apF`"YcLqbBIiE )PZ&d{|%(לV#T<6FЄs'1o<{C͹ڼϫ쏴DvެTA޺{! " !TBDЖłh'3#`(:(S s$+~P_)xZPPy]vO 05D$袒QܜjR!6Mѯ3t""+:F*"P\'/Q5 ˖Ԍm0&h3pJ! Bѧ(|:{#pL.w{DfNȟZтp`֏saP\A!<" hM1ⰲ2xo!+@.IQU9֚vp+Rs#ZS ^̦g~m!\ÜD 3_F8QL%oULW8Ѯ$"beY B~,Ev[EFI͜aYZL{Y+lF)”2ZM*;ڳ% 1* N<[5"Ov/3=`F+"QU0zȈ B*եw ٭ns -jEN)t H% ygNgU1P`ķVB7o`ȶᲶxȂ1=֪cxmKh$SYcaP;qsVxQcE7v!?GU.5"_TV8\X_#,o5}ą3{8Jfto SԛHBsTZicY]c549jg҉κ}OWū\77aH8kI)C+ѳߣ̡nFYҨ"nUcDDrUPCȔOK+v$uEl]l4%n S[M 5$TmzGoaE ͞UWi򂪞l0]_,<+~#Е+%:A$/W!68:(v?ޮx8 T3\> }*$8#d C}П#)QLԄ (xRM(Z(瓍W jKF2y<@qDre $ѐMeR|Wb o<ڼGG% y%fZ^WnrZ {Ȳhوq#20&ق1;3eELc*鼸 4!m,m[<Ѫa BȾԓh\VstP8$F6jރ_ȅ#a,nf;@xKne س4 2_S?ե…fH>}uFI"AtZNJ!Q~HU 6a4"  ĤL b 0}m*'Nc(#zQ"2"X M qPI U#s;l.&<'Ig:45R ꑩ Xhp u[cMd!ۤJ*](Y F1k[ %NQ]e=6[\jNNc;+f)ĕTj5NQ[2FjG|Lۇ5ba]g1IOTD%y٩qIZ4-NC}ʝ}F zΠQ4LP&y[f.QP7`/> 'IJӐogCg bHܽt0ZI/zNeFGP ZHs [.58#ft׋}18M;$J{3$Ho\~b~hf{qqHqPcwȉ?OKk;Qs4!,YK/4VȿS F>y6Y9Ś5B26]*ZF[mR&(|0F@2P5L#qp凂*c& g+(2㩲yZzBۗ9*EOq.`⃈'Gr;R LHܚ_5bW&/]}Ol$(OW%Y$.lx8߈e]Eጻh4L6`BD:bFGnVB+2 Nb1^%#䐽ҋ+H`JSWs4"Re"|Ӳ^$Hȱey%jb:  TF`[4F"!R6΍%`u8'ݔm7o=4fmDq˞Ir+o]C6lꄾj T5nĈ/Iu *; 7ΪM Ko3ƛu'KB=VLj=NimRII y1DcO}׵9ti7l;O) Li-+ydZЌ;$c`% p\=N)|]JRimr KuBbBw%vE7(VFIԘ_k}Q<GRB7%b e~/SFL,әcdM8yt02sE3zw!*!IeLwfJM:]fl6$@|.@^;pW{D}Ok,iˀsϲ~ZYaꖾU)LaZeW$y^}^B?"X_wN) ~$m"4r4\H:o:%69zkE ^2^39S5oyΡ\p*Tl[3rOq (H3a^KLiL\_ԝF\nd<i#˳) w7=T\cX@y,oG61)QX4YR>3,yfʥ+돪Z;O]>"3h?`4%*طEg/8CϺʺFlE) 1C A wPaK_KEde }&[%+G9N$$$eny:Ƚ;yА!V4}.~ArҙOё1V&I!$Qe8sSm,r8^:",P]f]K |nOcPY֠ K^3f) )fO& !Tc.l!D2̋[ rMeC R,QZXhKq}*x;\}ᵲrH.vkWHKt(B&+!ؤ =02$;܂h$,H9j1R )bH1x^V,UbNQ$I;0.͍7vk)Gϫ#B)r'6=nLrO_HɗC㷞L6BXK2Z}DZZPF%eO[qU]b7A=^&LB)qc>Ŵ"{;Qbhb y- ck֭E+XЧas2ӿw~Z)m$a3K$Bэ&@ @;f%J<9Fw vEY2$%bN#P 0S{$8H5u\p]2\\KR1!4 ?KdC^gɘ5{D;M+Q1ԓT(3 _^؄@Ê>hV~$u:VYNCż! c ` ~JL+ߌ݂6~ŸWU78!a&Q)N% 0ケ,Y29PmWL[AU^2e[$ (q &y%̤&$.DƳe{b 6j0@LlD{0Ioa|ɰF-ZsuGζL U9'3ƳMe_Y;sj8b"& }d;q<$N }V#q1e{nᪧkekLRYMOBFi3Q%-q/Q} Q8` r!,櫩pp|je P*Ҍnv[+%)떓sŔ`TmDpFdtFTF`F ND朓_ʙa(즒KU;Ȯ.LӸA#:O T!Dcj "Di%ygzgTs=k9) DPRVFQ0ُ 7ϑJ.dl Az-Ô 0%H GhF K(b2aSC >4n$['CJG@|&;5iaƙbQVOiەt"^Sesk|LHԷٌ TM@ż>`A PzlF6zXL"EДD"6zk}oJ5]_U MP59Vu^`5OwNݻd|SIlNI/ P@95;庽 Fɗ|:|k%1ɨN uģvAdAAAVt5^qđBDM}~Hbd3 tBAC"=<}ff}( G/̂>e]NV.UO;[/V^ut} V)5}r!QfR=Ri X:fFD^YK$2݉DK=f]U{.(9I R t @V8>-FdS Y| ܖ4^KL]!L$Edee`jK.y)'~̝.I<G vn,iT;+S`W^F^NEP3m -Vi.ѱ8\"J%qGSB1lz`Q3#Y93$GGubttM(H2@)i9s+_)MjPEHW'>lUb?'Qv5OM—j#Q7'j?(^o.1M œ@ `{C0(Yta@ǠpE"87"q&fePcT'y-,Rp@j+ &[)tLn ^7HzY;2CxE(C,?#W5Q&d P:cR B=EB_\]mzN6 fSiBl zzxDAaeL䜊I}}J~~*훌/ witEq ob*-XHQN5 a\D:MU9$aQxwhŧc̎f(L`~348W *LQ63X[]ft$m?Q\qZc?&5 MZ9XdZd),?R.?V6v|K@%#˂Hf@- )1]x!eaQ:%?O-'3n{qq`"OS`/ ĐF {]Υ~WLG˻N}MA]yB Xzo-9^9|a<+h]&Qff>UYH6_cd c'oyBL3. tG"&⹁jY !XKg&-Nİ8І߃hB9* &Nag?RĎĊ(F{ sZ(GTQ?`( drV%ƒ7/0' . Ki{ [ےS]ZD* T4D8kL*!%#ȃ{1),co Ez$ԩHnq܋,]Q] =b4̀+$",XrY"iT" 掐vB-wds-kc ݿBl) eP/8vKx#TOBg PY$xAS!+$t"!pU#n(] \>SɁ@EBUhUoBiPAݟKEATc3&ibt]\FZpFa.M.ޢ([\cKV@9WGUݍ6 U+OͶ ו>q-EK`˺hH~{ <+ WR3o*MT(p%`)C`, qQ)Eye&NAqq2E8`d{pc]%lR A]ZI'4;H <^&^6 "dI_/ |D%5:'Wi/{ ([q%.k IgejϢ `j#+ӥ (} b espvU4|kui^WgRO`%%1Na aqkYW{q\)y$'+:I$3IЇepIx>53H]| J=1/oM:I`*1HysRU|ᷠ Kd4+~ePc]a8(LAW}#u1|]coaq h'R,顇2aYV=yJH "uPШhF)fA#E YW ٗ©y!:_v7!MG349)UC P4 $&4[LeegbH+qo!8"-^/4Tc >@&)׌ll6LW-؛ ڀ7dƣhc_%)$Gפh:.ҪVq-Ԕ[19v<{.[g~FcO-'"5w7y~ v6w;"&t 랏sJfv]jdfG6)1 h4blQBLڢT++LZ,%nS6*$ :P3V\oǒSl0DwN |mi8 x<{C,;tmOy2qV@~T=27ta5K|b˿IפE/"x.^2TgüCN PhcY:)C_ U)3Ҏ)~Uݞ tqw,EӤG┰ԁ n$ Z,6L pZ6OOv(ɩwŦub972*lR, A(h6xڬ5yr[H6,xbCgx bT^gp#\'VM☚)" %|)[c@.d򔌕h 1sZ@gtpvF{Kbt/-%KlVvfS؄y_cDf䉺% ^JZ\)o5,2UČH;&T8{nFeāI[zaG+_E􆲼VV0T\$7z*5B]'6h'E,ťBd„,Lq)wS$v(RYUϚ=Q)kQv)zۃ"vX׽ӽե߫ՠRˠdg+xq-h!KVJ*+TZFn62K#R+ Gti{o}"?LE4h4 Lahp5Q! ø?m$ @n;n ڞBfYlVC)l@$}fST}vV-Uڗ7G Yiֻ]@YbLd):&J̱9L8H\L~) 62)]BtݸlgarYTR R }ɺ]_jReܩ}5'=߬_ BrύDwJܴ1=ԭj#ĘKs=Wm:Y5rKTA( ݻőU;ޢUt"ICcOPkޞSfX*)Nu]#y8JU.#`,G̝=&Eczà%b`T y.̋\tb:X#NEд^qy#ҜnqC[ENQFuPf RT#H/ >T19D:0' NcbȚJԼ %/`&baLWcQ%R |\bwȵb3Rހl#(LPhb&p Mkr8Uz5lidF8A,۸DvKzݐJY%ɠ1!]HVaȻzAM)ZpZ@ )f!Y׻2z'@)Ii&U)#e 餷SJ">GΠ5 Rn˒KS _E߱OSa(wv^m;.tp{H+#U'TM:mSvyW )K®ay8B(aXۍe`ȝ暶^d_40GkY& G=f ¯mgHak(Cl`Ljؘ`i;zfg@'2ZxP6b,십$5FNuUY1P*Ei0Ȱ" rPݹ7Uσ lhBN,:n_SV%XgDABSR" F2ݫH.I[v4#އ)iLƾg |ưi.DxvhF<_l5v"iVd+#2;awD9Y,"i:P& ]iJvS+niM͒$P%p%6(dPf'O;esG&|^Lhs_^H"{+G3:x);rĎNJ pځ-XoS>9RJvWd,l.)za&YuP\xJd ,^K`kQO6h$PA'[5Q ZcB?S38Jp-R&  j#4 Q[Y)hɨ $gSy3nqa6.Ӕr膻ǒlNWag!]#_"q9)Bl,*ReT'HO\eӨ60hVZ0aqŨ9#J?-֤`"$_ XQ}1dmadb!); Z4Y_tWyU|Ȫ$4 W:['+H)T>!ED&’O,KN0Ii}!簼쁷zM֦䮄I7U9([B_|MI~ gQq|E:r@'Orm[°rؠ7 #gKK!"CZw LJ$Ӣشѧ"NO; "Smrs2;jS%Gu϶ȗ m vCB&ewld#Ŏ>B~VUw GK3'+]pJ.3#F3Lv`ĭ5LT.})L]Ip7ey~+gQ~h۹?ng'շAؤn(ᖝG;:rʣz5F(;/'[WS֣u`l+a7%cGQK,ȐId']Үo% }M&:}g5E츱N%[5)Qb/?!p(WqGwԭ2B`2MDуb_7JQZ:($HyrApo#/GhÜRkSRV jԀG F.h/f~!UKnLB@DT93J6k|/)WhEiQ~|Z#fmO'ӑg7͓6cNGHB#c,J谥퇐0ߦ&#N du%L\Twff99Kcr ZUl)Lʎɍńg lfw:'D/ɚg6K-Q??B$IdBc#PBݭ((EMKτsEwbb4t?zLR)+bU2mQm ˢ7K93Bށ~B%VIO$708k+PVޯ0_eD)1"/mbX^x[^16A#*I@ÝѵYV2SPLTodJ+s^֩ѫd~i/Ca@6sO],i+5}Z@@`R Ym9@1 b)<2 #?T yt>D1PQĨTN:͕"1Wx?8ʨi Ok&m}gkI3(0'ӊ!rg*'aYII#`YZ~ 8%E֐SWTWA77!(46 l,}[i*V?5?YK3R?WhX 2a@d2H[:$P5wXeFEmUQ 0ԼN q0%kO߭5FE waӼw;pD Swo[`R5l-h*S]yiV-l(ŭTޞ\9%7^3Sܙ=jwo(Zڙw%FDUT&Z۱!#z@Q.yyL93xzȋI9NkVMwV6X/*m aWUp%{@VءDRAxnTDzFvk\̱+NΗ&gz_h9ɟyK Q!!)!ƔfT-6(Ϸ\'q3#LFBb'-RscRD!f'& 1픓$G#**3;LɅp#lMTC$xVL3]zқ>qkU-߇'x.1+Pڂ|l R#hW!/aS";#w wKS p7gr`xq\.遶m?h S`:\lHUkfgJ֛M]<̨EHIFg^r<B x/3~LMj(~e7!EC/%1dv;'YKDd$GȊU&Ŝl[vGj&?u#P)PM2򊢝*k%KygKn8}HG&F/̉cE+HgRGyxj1".+F_2:NM{{B'ե]Uoe-__9VjP,I )Pζ%?OVHP.7?d1n5~&BT ˅'BTkYpi(g'ô'j]KSAxMH%yA`ǥʆ_6U14~\ ˭ۻ0l~:cX[f7訔%!@&UFF 2gܙt#wִ:N/ʿ*Q:{.ټ*ENPGMqD2Q[uR" ^B'lx/R^9N %q9M<) +n@X{o:lF\j>wd5&'ȥ8SQ(9Nd^'ijV"r0pt8D˔Is-rg]DzclV@19KڰTңgOjk$UkjG*?'vf}/pUqi=v4ޕ&pMn@QNY 1s"OoT^VPEy.yK JT,Kx |έZz:G}r}vw-Q-ڢ1q" L9l/|2;T Y7#&|wUw3M{mȉtF 8$#CHor)ORYnJKoL-BK 6])vc4 ?nI9Nݮ^ђpXܠ!bEsPr~=Upfu^ĒɯJOK-vא%d̄H\#&4Yfu_+E~n:. g406 C)˕  LfH= A@g@wQ;?f=?4!'W6C=5@(!`vf_ncb}9?VjKW 0ȴA\pU:<Ÿ)rLRPH?hLR&%v +di=E@;FW|E6D^Y[LN 1[yZ>:4TZԐDȶ3Ѫ?rUXKO:AA!UMI Mݝ4/j[m*L"ATg b4\\nYw&9%le6R#6FSnݜ,AxrQI犥JV);qbя[IFq!5叆).N<E"5ئ]O`jHBgDgKupժG̰BƢnb#Ⱥ: to2$;J:LU&OFvp&~ƿq n **8itWU/etXdI3SC6Պ^'ԳE wҜIہ'zP"TG XE9 I) { IJLҠ3PH_BꥲWRɚb'O{1[ Ĕ" 02dE+ٓxP E(N%RҮod(]Dhj emF6F].֥m %I rQ1pL9]^9A%{SߌC*`zJ|LF3i E=SN]P3 hoK-$qYHjEfj 2Ka@HՉbcI)YQRo6Ϡ4#ǣZD\&$%'N3$hw@R^|r2RDCfP݌5]Uѐç8r^w1bB= i]<ގ1Ahmع1䟼d[bxV`͹KT2w΂WA8*^$NT;@Vmz>kJ!i,|tJ娨wAU:XӛIȩؘTY1U+ Zy2n.M|Pʃ /P Pnΰi8*s #Ic-i^8_Pk*g,hQNX[Đ#D CF |=\${n(Tpr4&!/4Z)RxKʷm}P16۲ѻ!kf,I(!)@)+/6}*]n{^hsK.MT"C`|V ~HM "B$LCSﵝz|vt'<҉,BulK|(\= T&&LJۏ tNꯔ|oDT֠ib"h\Ps5YYb9I2wOU`9=GlK |JD/'M5"fZٕٳ(cיkJ-jhtmXݮ2a9jU4(Vپ1]l.ѮY]AW7 -/éȭA.7 _&-Uwn'l=V{ v.:J~QVsrPٌQ/~\٧my#7|FVAY2QNxؕE.1U%v&'!34 v&iSF-(^u4fRTN)S ;f>R kBazB/ (Ȟzǧ i 8?g*\5(`m>h3=T+ _D],|4g ONڴf1m.F_mp!~T@́W~0k͈GtzokDm-VɖTZD~l!ՇHyq5xQHE}drˣ։#>nV.'WR٨'Bə!m$M￸vPV(". ` JtSg>"Hb lJ q&Ff `w ) 9);քx2)ـ!ݦ ;>) X=r9pEs EDKbe͏ڡ֝rOg.Uй_noUh&} l/&F=|ulWf/9+ .`J .*tjXՑ:֝=|E)I.*!0T$,0;I͍M1USiJHP9&r(K/ !%/5mNExFݗE9*MT+P1 Z 4 TII>^;M}ٸGRGaB"Yt\EJ SPBf40j^\]fly UuLG$exȌIh$#8~-|ag?-NʫĤ݇ZV~ <R^d1A;~-'t1v),yȖz; c!CLJT…D 3.2Wh~'fRL(З3ɨ˅B `ʦRT*4إp'FAaIbJUuWlmL:V}ٽ0)2pӆQI]'L-`dК+<Ruȭ/+lMҖh聒":HFO#cx ;ĆI}Bc% Z:wOw&:L$h&4#' >ZܻJ5[4fD=׭{U;T%^pR)Cnh^S"L)‚)ϞRb)FӫWEj޶rZds`­*D##G>ga 2ObLa!~ئGF^]G*N}K+ynU5`ȝ*x2+jiP^|[)JF0;"ȠYPgE,% o&Q~C}Ҵ䀼 U,D7t4jJ'jyiPTYP \uSKJ=WOnT f> ubI20q6єqABJ)7c:6[6NS,#7{o3j1]^<@q dX$8682lI* %- 32\$mDlc W$= }m;X$* H<hdI!<ؼ@*Dէ>lQlIcP#5#v$,JvqmlbO?礢Z:ի$Ӟv*AJaO+0#T[ btOuFoŬY$l'a7N!F8!6iX0,s(TiYFv(b>F4=eAgwe{Xtp֗a; Si&t `N[^4–eq!:}Uqf& 8JH)?4V^h[]8I`ƌ!;EЙ~ !,DDyw =V!" `e K6-1f 5NVvj!#i!m!^J-PCeroYS (k]GC$ $-J˸{bќ_ϖO0#T $ hoW)|V*qrZ2;imw>./FƳk+-<LU#AQ3[Lԅ~ X~lQܩ+IFQJ@^8, ك%SWe D֑ ,00f ID"FL$cpG>^0PZẎDa2ILW"mZ{]3f Q# TJ.)d8YbEQl<5ѧL G4$.1wY 9 ֫Uj-g<Đen1 M} 5bBצA7 jdj!GYҧH˼Li|,: 4ƒGhؤ}^./ԂJk '{jUNCk"LStSW)f50%[IyD2`10VP-Q5d'氖 x*2kp* cw-YD$qr,X%%$U66 `=A`)W WRD핔C iF.ڒTЪ-͵w:1zʥ% Ј}Bo yv$j5:IP =~ٓZsq{TUX"9PRFQ_M㍵˞(,iB-w;lRH/݉v a'LN/҉8qHlDv:\><:ƪKgĪ/b ['~ⷤm=F)y?7ܝ ?f_IwY$oz}Gkպ&9@.GkDjY?tPa=y/th(?<=D($ (,a';>O wۦ(ld7=D[dD@~s/S-weӉirLu3n0هpEd `d:./=75MHze.,P Oe\QfK]Sj+ZW m!2d̼AXzD0sR%ЋYL#XXA1բ+2+=vfW~1 If )S3m_Q<ۤQL-`NAC5%^R>#zSIeqͩSKЙD )l#y[ sUOXp`a3skIʔRH2RMH{돸I\>HMVՂr#R]DU>+I[G[9ɨˆKB;.I sS$7UҝbnVc؂|LPajy sPiSRěn #LJk,4z#6MQ+̼+A)FvX}t~Ea*Q2MŜS&Ӓ5ѵ$uY2^Ss'F*-S(uH,D!";[D5[L\fλcZŐ"\v뎋Ɛ)$#=8iR%J[ߦwjB%.f窵9at0xtLs,E Z"xW\lT2Hqe~NFނ0ӵru >\Eya[G^2"7Gd M bE. YU-g!̷E<C,71|E(iB!!>adzDgTĘIIV 1[őK9?cP{m-`B\)t\Jۉ"H[٧z5\hJըxbSh(+u:'] %_j?'W%kHk4޲-~nB&:ʴZ;ܜ,3u UmIlIb-MymeCTe 6TWi"4q5idGA JԒT?x#OH-,%Œ`bԑ 5ڵ}asA&Vʻ۶bd s΅Ra1.=D&s YuNQ4TjjBe%Uor&$0I!GOa%>-&DP0[Exp芁+ҸVАq 4,dmEȮ4f}Ez Z \qePEW G*wuuȠ}=bˣ,1xbz3[n8T,ǔcj NZ8X-KT=4k_LVZIZ/W%ʅ^w7K"Q B SF=q Ht C[4QKFMv 3; |xM$ PɎP$9JqF}T2moѰ 1eCPtIB? 2!!qĠ]1zZƜ@S]rppPT4QJִ "RVXI[x8iB 1Z1rd\#}T4jo!&fCF͒8{BHNWlfiRQ}!~}\ 1@ 1F (In}A44C8R)v_s8omx @ANLͬgrLn^hW1K9LCE0Ub躚3~(7>Rt]EwFK*oԖБ Tzl9=FsMhJB_])!jF D7IQw'wHq$E&ljX`:c98B)˥!A0] z]_YMBd.B*(idgC !f Qmi%_+YDsJ{h^&reUepwJΰq1`5Ff(ٺ$5a~{ ;XZidrm&rؑGyoeI;( M (Jػo" ܒ+$εrkG!qDJuE{\uxP29UH&Ó J΂?Y<7XĐ^rG ar @!![{KW%%X֏9aJgxBfSrٺ?vkFgUγ*Q?8^D%I%vTO [yuq᮶W5cGd8{cRRU%@.~<]~I{9k̝'_^z9$%4f찣𪄃!Zw_ KpY*= ArY4 &Պ"=ĦHhXWx.e3u|X;BΐT^q~YQgaoalC\4/-6!;vXL%6hr!bVi9 T3 0^L{<|#v 8aM{Ƙ{7 }(U14H+mX6ĉJїw0a$!6dHQɏѕ77r>K跋)yC"޺M37!/E_c:H<0I!?!6VGԂ5":P&PL gl-dF*玎+O*)N,7w0^~(&&4&Q'uF|Q:.nǐI pTW Hsz bD1- u fB!eB6Ȁ'XT1$*wd*T.3G 5YչwڔY.ջQ Riȫr$WV UXL+eƑw" ɰ|ddk$P cL(߾hX|ɪ K2r&<+0>Q&NكAՊ!w#bWa`d$fA|~] )}tA\$3g%6nHQgQakfH+.aW)z>ӊ;-c|{&ZD*U8"3Ҽl@0OQ(l+ho}q؄r$|0%.0$]Kl!լ]-WnIE%.aDdQCke^W #˾`<ew NwYܽm21o @ubmB)6KS} ԖD@* :$لh=B(INt͒.4M 4H#&4K&K]ߠǓm2î+˒nusQV]S(#c;= IІh;$k 7RSxmo{gb՝at ` "#Q!p_ق)tl 2aJrFB 2SY6z:0,%ar_HSU"a-ķ[rdPL<qb6@:5[K qp<'JAbjN6<"aJ~T(w1a4ɦAc4`8P7XE6-5be- ]E$&MJ)!pdԦxt%-H+RS l~|t``E2R?$@ݣX2/+7Xaqإ~%a;z,?" D($)NP Huɕ#:6J\a5[=hIe((* pG J|}MٜY%keBj62[%PA7jbM O3FHU'Au/%ZM1AW9hoVB@[ph"h>@DvZ` íqՌ+F\0g$dpdp  xn^ieXEl-V:4~BHD*mG^ԿJ4g9 ҿěV Qs &ډ3ArXYΥ fk&i([1z!? cl7D4l FDMAU$b`╫R_xptB.qTAmI8Q]i-Ly>i-%*afh2<+Qcei7R~:y$tPgANHw!jlinEIy $ IkEV&8^o0ۥ%6 ƌU Bˀc¥ɵ<EApH `"1S~*y E3iG6sc8^^6R[oɜ}-AȪ!;7O KzM.*&ebs"8jt.6Q8U=93ֶhq(G=jVKk mqJ5,0\ӟ&ec !Ų.|AmU</Z&YJ#ʾucbwЪ"$6pC jl| lݽ5%G! Q 8cʠbjg6, il1ׂ28!*uqeXc]7hAOvhEX:Ě Dob&o)s]F%u&"!/$^ Qǟ&qĭt7|ƪB)٠ʌSAQ@pjl{I:Yx;MW+zi2x0b~v0KfL~QyoO3up@3zIrځ|6@!wi )h'\2Ko6{aVmc -8M%'Jʳ`@]6 $D6^Rxqf ̧:ay%G~-q*QkWwɓ;1bJ`XlcT"^,u, б>8ޖ|[_CBaz%rsʒ.Ѯ{ynoX $(Kwci8Q( Љjim.-PFo+F ͨ2 :!w:?v*Vb?Aɝgz%G:W(J#Ǜ8ALA)ްH+da-FĤph¡_{ITӪ.\YPy)GT}+XB& &nN227'˸J!K!^+Jڿ3ڏ>;i}?{۾* ވ)ȧwt}W\ޔ}lTU&Q瘚daēFY sNjbXh08QҜad oIHn w:˦I 9M%>@6w氢Bb pbb&F}nfH̖X_ae}a2v -j[42X͆E* y$h(Q: R \I/°/[>"o h9Uԭ6X/SKd'SyyQ iCWo:Xfob$!̑sq>*ZP,BzYSo-cXYdH"4Hhk,sBE&51,4AjW_8,GMlt-eutBC>!9ڜ)T)Z$UX5YtT'.r, Roio,HyZ}$!f#)>Gd9ň2O_(󉂮ӦR"R.}XK-&Ÿ<|(܉2ĸ'`Iےk9i:W[`Kz;UuN: 2L (K2*ՓRރСŘBr?2δm6T mYO+i)cXoW5>;`E'7Z}Oڻߏ-Id:wpx-9EzX,dMKVn*l|y(jCK)2b ^J["n$S(5aps% 1h_sp'X5]?TkXD b\9O1.'}O\'S3KڒJH0}zi~ zL9F!Zw"Ӝ%a`#g!<{ Cx8bKK ]Íz= ŀCPsg/ rԷEرK*N /$>mP[ezp]rfONI.UryEcQlu7ÐffqqzGxfkfiv& #+םI'h~ɉJw2NZcT} J joI%lkyC) fzY2;VD8΂X' p|cp~Sp_ILlضj$L ӯϖ%HzWBTfenuT>mꔫRSL"x.¬/>m7j@fA1ƽdx @}L<Q~ Fxp9ȪZSbs1zW.\horՃ`r+BQruBz7 |SMQTD u5dSl @wB@1Q%ذqx#NjfZQp@7uYO|m&Z~D͉3L0LXL 8z%;G PE9Zg5a%k:N1ĩ3^]qP.Msբ=@jwI9IbٴbĴ6㜙p),ɡ6aH{W>yOAC@Gco4(J73#{0I@Y"1.T. k %GQ Cwp%ub7 #:VmV}ғ6w e~!~{b m#4DJjk۸]'#hNH^q[tpجo.B\΁{01o,8n9Qc6ڸH h=!#,P'ehQJ3MPI*IӰD4X6o7U7xP/YrE nD 'Fd>7'+xj3>(yAD񱍽wgtԦ;O.`skBѠ]=mUͱQ[tNO S4oʸ+UQaF6[$j8L-<%d,%]-nL~3OS H}ܣ$;CH` 5SaT=uc=b4E~ b1ĻCdyʅo~}.݈3pU)iKk:,X: !wV柃Y0jLhX+o vZ580* jDɞ-M(?G/FF @EGNP0EsȬY?#JT^:2Vf6ui%*o_T!cV6*^\o"$iW~LZAZ;µK6IT[fyB(ot'a %Gxr7J.MeCQPOAuM?/El祏1cj`ഷՍ)R*Wͮ!^vڢgU7VڮN=)ko3|3&[~`L3Ud캖1?*P-ٔYj4ߊJqaibq \~ c#oXUHȰIq!+ŻtfI[ZhujEɕV#ĉ|׿tUYH7NRQ,ߒQ12u0BUl%DCț&댖u#oG&N_&bX@#LcxS}}UWx.=ήˮF+0){kGQ"]g<=,lLz!%Ly ;a(4oD=IH0G(K @)ZT  {-"p٩ĭLԝKTHE%n]z8Xܿ+֦#JA 9s ~P=J,`%aw!4O1 bV{:|rjnlR96ANowRH 0v~7סv0Hn/hW,!WXYqcifjxe:jn!'Qî`"xYvM%hy6T@`ˣuZwbS`DpnL\rQDž3f!xKnBǐl\E4<j^JgzyT,cf9<IE4^ DK܈=a'B0*|Zb!d"[I ' P'Sj $Va$.0vB8CSDRm,6!7 |I\D0'@HO#B_pkqGQG1sq6H\xkd'93\*ޏ'K? U]jEkW* OGF?8Ki &֮%m8% !WB.ڑ^&e785-t|#.ކ(׵#ŀ)sKK#p>XTLBwk QJS4Y_1U "2Jj$!5Su <xacS|/[C~sܦ+{em"cWU"UI+hmBKT1w5]$w?j *ޗ~Zy%u?8&b% \ ,Хu^N\no +k'd{gCH,;Mo>T]%#IꈎVWɲk1}J: cLZ)-q̕pC%ᑖs(,p?8k?ְAt+$ %I巷P+5xjjOK,qp7ortNvops6(۔2VMĢ$S'PnʎϦR(sWeU㉶ EٚJZ~vPˡKX4PTQ"Y@ᢑnqPQ9#1R!&z '鸪!Uu?0h%4*E۷X4h'sd1*:^ ,+Pe6͠؃mMN Ds""~sɈK'с&VTJo5LfԪNRM]^}d&25 ulZ.%'F,:4PY5ð߉xѬ  a-7 6k0|tEۊJIG$*DXDݳTAb,!\(YK\T0|P}p~ZJүk@I ȁ(gTS~ iI#iӾi JFdUi cb#DBd^՟K±hUK $5F"Y$n1yUIé]DM֓/N'V~W@i่RNVT#FàpjJ ,m+&5=ݎ-T@VXPn#cQ b(Fqm|eD=%2?$߭IA@QSI.+ئXb0-4nݥ?lOft%> E# hb*1A4㓋kFGg܏3-놚"D x7^W=n-Ԏs2s%8F/U<{nDN\Li1X%(hG:>~ ZJde&f9VV(U4Yd#GoG_nEή(&j5ÂJ^1"!F %%z)b>.> BrWR%[NEQg+LZaiQ5eXEDP}G}əlFi+gI{u&R7u>Ҷ  J2Gr஑으ҭ[R==aӯF|,LgX,9>Pʙ*Cm-.̑+*<,%DbhR0zX*3$by^IPyTbS k(űCv^%Q(>vif_ݵ< ā1BӹӖm4J;ҏv'_|T?X -6mY GnhE5sjf(P˯.-ąj }?nk^l v4L' V.#y歴s1[w qU7"XwU(cd|1"2CykUЬSvɡ99qHUǕ A9}S܎HioO1̶W *leVszaA_N'Y(&uЫUnU$/B ,0D$nKFbum'Sa#_% P&PB $O˟DWSZ;hBƺ"<%SŔ;VP^>CV{bێez3VVX0m0# TǭGDfi+Ȍ ģ T5`^>m\WC\RBZ9ugQuUVKߣH|dQ'ljn.UJZ LƚjZy8qilFdgʥެ=}ЗMU:a9l-Fcg3~n;Sj\_uf/ ֠JMH%qCa[QisP<ŤpF!cÓ. B=w#\ֻtjҲD2*3}o꫁ikZJsha GrqPL\7OX7/CBz(r  Dcdlf7V" miuYX+bo|GO%r4_+"IqS/uлY1M)h=iL##!l닍Fg$fN3LfZPݕo8)eTGڪR'|yv5yۥOolIMg=LΞNn߻#GBԛ '.܆E;6): u1 u7*@ԞɄUI]+Y@C3lHlX?O&#n9xn_ "l\-vjKsYܡzà }$.}t9Ʊ3'{h4ꊷ.ã-$% ˤ^L:.&lڴR#/; R5[ʜͫDFr} @ Wx."86x xN!/EPf{@Z ϔCq]֬O(xVϺ$Ah@>P?!(`ʍB$;ؗf :Q,UJqN.N~|+Ҽa_c˕ ~&i)x!'( Ę%Y:]!,7oNTyU9X9iXa5%̆O-/-1)(f' :Eg4^U\iE;i0[Wo%3{ʔy<<ƘF| - F%T/|ҽGy'ΰ axy,n2\tDK2hVħc6ܰw^2|V@>$@aB :PV4LM0%eYSfDrK:4%`o5ch7BZDSI6D|ʻ5RǴB5m3 >Zf@G0ieZE3(Sza?'((ִr.ʋ\#Y4x@0i)Q@ @Cp 9O4ePG.K8ZV]gA# C!.AyUo,đR1;jFJ̬AC6zlXuH!\_S+X`dfZt'q_Ժb1P9X@uhb{;"/CtF0B8riWC4OeFzR-j ő.N `%BB>h7+Ev p ҎJX/Aĺ#slj3Z!#8"Vm8aΈNj8cL"bCdgxы0΂d!s'\"0+97" [!`_rAMl)b9%?ڳM"w !2%jѪ:~el*rU8(AͮkZMRe2bjmh9 [^L8st )Pv.i0W1 ^r g+I$\Z$Xrȵ98V&tdvup3y@3nsVOa CM`42eB&>n Ɉˈ"Pc a5Ȣ5^xgƞD[j+Q\0lpvBal,ھ%gtmjڅ0Gx#N݋D O)4]#"!_8}OĔ:U5ۑd۞rL۷;&MTBD`U[Q/ y3C9HmH]WW'܅b"z^rA4/` S֯Bw!P\hrN@Dy۞Nȴlր24e."@{>Z5[n*+Dwگa&evF"e%/L61=[4 'jem>E6 g ΐt|W~mrXno_OU9H FrHgXt :N y5OY+I@#cW%wyy j@QT;(7qQȸFƲHHb#{_“7,[p ^3Q{FyeE\q Clyl0.PdqfBŚw WGiYoH혼#(aO G*@VQ{Z54H] u[%Xׅ]yW +!m"5"S"956*e*R0 T,.Ŵ 53 ֤=%K-uǷZ;&NdܱNjTB I#hf,E. v$3bĚddAKo>ѭ8Gq4hދ$FTKg ps_46Jmnm>(9ebD$C4U&ko?#[8Y>ԏ r{HJ^R 4j]njU9;#`SBPqRX9xU:w\ѧ߷F vHBSE2"TJrȒ+$,?D™QHp+rz6MaȌL[ܮ`4Cfrr^PkmXT[ .|K^f۞KN4y}ieur{!6YC1t=|Tm>TE <9WeaeadN/5X\PDJ Hx? 5BEkD&6~n+tm Ҫ7vQ1 z Yy܊:$F [ ICQd܅ ѧ Z~ږ%w|IxQ&%fVaܲwNSCUZgF5jg+6Y#$h?(!ھ*a$<I\&jfPL0˜L LiDD9z^9g2Ƒ",݇sprVҎ&¢H}*",.3N+Dꔃ):|by#3B0Įl3Z7HY|*힑9 bCܹ#eC&w+G<LaL[)42=-5$=S7#a ]SyV=c-덲n%g"m\>zh&$FȎ̭ΈB@V쥧s@Ćv Ošw ` F_M(ۡ2Gx>3>!+J71W\DLI³u)uPUj䦪*NOWOIps UEǘ(](%gRbSppvLU8 % [dDlbg6dAL< K*IeqJ< zMC-bn'y8Ɔ.[_IYPBEA9+;f9(KNQx'8bnOd=]b&UFK1LRQ(=%IUo !@ڣD P\R s}2[]ocSQ.U[[Dȹ30u:lXWy|eIP)E[;2IC8cCcmžpRy^Τ3{LC`EI[J5sJgbx6l]?4,&@* 1ƻ@C>-~[U`͜ Cž叽D'*@7*9k4UsF[d-m.k}E-V)UbQpjBOϵmD%SwlzmHvp]3̪{ӊgs~deq@I{I^χ+C`$CKK-\CW @y(WG9bÍ& q1SH#Y\=z _ʇ>&y$*ޗjLWb(8 &W7 *fÈD e![tSCղcQ@Okڐ`tj @>S+[MF~jrSd p+O/y?STodθXu>|_|Uӥs(iŦeP\p`JmV-9{gLPɪ$*ciྷ[ur?dfJ_Dp;aLNwˆ}xF&8(#ZTfmi5'uu&$XL*A+ ,j;[li)Ki+ rILP(K_ C#ލA.)>}HҡY^8yuARc/ܺ9%kT%,:K RUe.4"S؎:K 1\0 P*wg*=M8L8*I6ʴCiaA`#k˕EK|;l%K%K |mIw) -`Jc ,a kJKz6}Ψ l b'xC|dp{?OQDrAj ԦD A!;"t=,ػ<1ea/5lM碃rV V#TAI&^bZQղTYeXD!uʴ2A e u'gTX!V/GZ8LQfg¾vcnf*V($)izuHjws>+ʸq=Xn얖I\K2a8 񖪺CdꨦQ%UUB.ՒncNĚ$cK [gY}ʍ`fh~` æcyHMAyEXAA0$+thl5 BR^ j_vŪ'ؑ?: ;\]( M"b+Ա6od婯iXpm<~FFF6K0"{1eTB~'R oq0exS͈]r3{ ,)i^lk!A}\WtQ_ UkV0+̯k@`Y}Q81/Gt@YőO?Љ6U~/e\a/m>?ݲT-LE06i0151of䫟`q /(e^jM(q=X~]%=ףKA&_cqΧ1oPlpJxwofwFBJ4AaE϶<-fri 9Tx7)& [upcRۖ! a)f~ ;y!70;\v|ҋ= Vo} F z"# wZYdIYr!*+B ^B].%i)KWjVKԹv$LjMYbjzy154K_2*Q)%yfZSe$@bFq#%I@Y0VFUDq /mvN0 S17Hf\h\RJxvbXrvRpF#$ MC{u*el;|фH$a!2acG“ŞtXąuppIRR ke9[\r<;p}z=ߋ]/k(]J?jվwrˋ}d EXYo'ug<]SVAdW M 1N Œ9L!Xt1#|8[Y.=~VFM[O=]+i ,h:b rGI~ݲ.@H,Լ'"z%#'ѓ*BT'ϿGE 2ÛIx2 r1 ŃIhN1#>anQXj$k4Dwꉍ$tjkڮDZkVã+kVn^7y|gkͼO'zOFvmse^t/ZԵkKٗ2*j#bt Il7lGsT%3 EVc$=O,&&e-⩈d"! w4aTWw(|v$Gb ({w6!o넾IL\DYJ~ۚDzt8<#^ӓrW[X4`1n(q1S5\@KTW_g3U긩F"PVQ$FqUE@_\0GعS/Qةt>Q3#5 GP_AvS>EQP]9~g% l^guң4NTui%C[ܙ۪B jƛ^4 ԏ>4w ]I0mʐqDfWƝ,+5*bT M"KWA"T3a{(0t^ !S_?(7mup*+dݙPQjK'Dr{ l~Y  \qF}Zi//jK"^H,&>wLjV.ڱhsG(Fh%YԻDFaK-O8wdfѐnbzKWFTbT&MspRORWƫW{쌪Fwԧ=^%~B)j/11Re¿퐦+ Tm1o'@χ6 Jt_Ye5t3s]dT |g#e!HM"pl ~,]kZ-~,*sb 1`\XE?ة{]%Gb_,^ab6SB £1YM UlfFXV6{R% Vx9EQdz1H-J!j hD#jw.4 Ƈp\evP? G)i0GJo9M{n@EƳ̡s9?Q(>E+{3Fr9#xI%UHPTݼrQS̘X%W+بX=ߔIQlD6o(͵|R2lM1gHM=E"L:H|`6]?lRImߔLU8iŵ(&d(B`3H(+O}H~[hū$Q)C%p@U4&l+BDZЌ9D.6'PGB08?"sFZ^A͋!XeP%۹ivl3}qE_l+W4YGxty=SZ8@C7* QfT~n BH1Ն5E YnnB3DK@ՙ)[lAIJi'Y)8R$x;u- $ܽ컼l|*K 10jb޹4%VX/'C'Zt~ʦQݔ]'Μ% yɚ%@4̳zIh9|A\JV"Y ;$'F:ކc]D!Oƶ)ϑPYWK >6(bPdT5̮3)sHao ulflܿH'ةa]!yڴ΂;nY#ߠ/0`inH~0+Oʣ?rq"[]闥d}DĨ;mBpe;5BbK #S]Ŵor1t~&)ouҭAHaijvx26IR]ccϘ/\bnZn-thvjKk%O5?$"g{Sivko!أU> VbɊH'i9'v|㶝&T(yKv*1Fch%&mQ5 ?L`RR7*<05: X΁Xq/ߗo~;}ژO]8½s~DIλ_ 0O:>StٯP>ajl!7m66"NFrȇUNiI{9YK Ň B!~A0u d8Ufkw?%4͈RiEnNÅ~B [% EEۢ]- &d54H$X\Vߡ d5sLVX|YB/g꺨/YRv!Yl3ߕo#L)in9 r|,֋{4 s,I[?Rp $EN3Nu.yA1:mC!mqrpJ`aNE&:9LRsŗi*2 99KIY̴J1WNSU!cbp⬴q&.-P0iAp4-g:aW6\å:L&zc-L>E|Eq(Iͭy ^ht}'(k'?{HDNK,0]=h o⊘3\$)k1/*PA3‘{;/5)~MMiSqAE|'Fw³%To"VѨ*fe7ˬn ql zHfAqHON S7ԫ ܜ n@7`ahdhHiQ4z5#T"P$ѾTbZ^#ya#'mjt36XNdPհ8;*tXHI.O+5XCH p[f'"'FMdܱ'$*(R(V/Pn6#mT6aBK"b=Ћ-Cĉ©L\H,Y*HFIs$(۬2~.8'\I"'.THĬ;6FvCh 3Xf|)FәW u ln:n&fRO3dV5'Gɻѡ ]}-6m7+g"bRfSggHFt[f3`تBy31y;"QH5 @P/ 喤I4W+mޤ+A)onq yJsTsV2Ee&*F)%M̄-ϋ d#3aZ& (( DF EX8"b: ,A@d|վ|PRX|88;v_Is y=8ݔP#ا$9qү?y@$T" h%c/ JU'#@d`ܨ m,7 VvMRwIwOki?=PtN8ˇE_ocvr`*(JD V &rk'IǓ)Q, X P#,CX+ w0{CW AI]l_LsZOTl?o;%=Y]NyIrSoQUX=5|n\6,ԧwW@})FYk8B(t&ΏEckZ `hQ!̫ibNq7iV!<۸Kۼ$Q.\Z[].t]'QbXv   Shd`c sYfpc,) BEst-XI|HF)q#R# V$*GG j}ǣQhD qavpY0E^Y;$vhavkP3F# @F,9*|Iډ*)IԚ  /Mndrـm>"31oE|/CEK2v5WOmM:h"H:_F iyI-f u#89:&M rRrTѕɨˉfP@Rgwo=?a3cfJ@UTRK} >9D+睐+Ɏ4ȒY`lZv3ҥG1+ 䝙 Khc+.>=(0ThȜł`yF~ nטFәAH:T(&Nv[|ET3S5ݖnKqYNYGgKYȪUe]=a\=<CR3t_DB{-FjfVy飜 *^)Ǚ;E0lOmj&e _E$ 4lS^YJB+ϣ~2*9"Ew tfz_C@GFey=*4"2E+0'99pfh1.RSX9㹣 Q?~*s&) 7 Ȩ[Bsy{| Zog;Rp R ;v{GmogտYꚍ n2*CIZHCeD5(\F@e_!pFABLLs=pщ&@wMgY)eӍa*!xUhx &꒑WJ 4)~=&TyI<¬2;HńN%ł98wn߯6WvۿjQ$Z؉IUݝe!)@@o 74´k ToKk G^Đj!P5OyHz)DLc^o +]"329㙎Dk m]⾩5^T?RL{A;1(E5r[y- WO6=4 eh^5D>4E9Da(APl6$5ĤH6P hcy6hjK7*5^5T $hN mb܌!":p"FŤTX7˃qR &u)te(CJ'!!O@)R7XT֙جsw2☑@qڞ9Y6ϫė<65WPG)a(OXpe*Pw#r+BS'VK,yfӯxa~q` H+@N"u G4%(+VRକ9 he/ڸ$G3^Ur (ԐO7=Qci(v|m7lW ^6uڤV^ $|PrS6WNꎘ]lQZ;q)dPU skq{G}`flLr|GͳLgy9s[%\P\O/بȁU@$4`Qq4]P !@YG3;{!C(߰Z)͡gzТڛu3oܦAݶN+HY ,,[,4xD!SQ#⑌k-74; !ڬ ]q$ Ahhy ^ 4-辉U)5)DhB=(B䩎7哌5FDWxHI)Ps$1|_ȑ+V[֎ `̎;^\]xZ٭53VT-c};bQ㎙,55x@Z n75~OHwvvVS|덦rFka(n}.Ϭ/ !r; \RZ<^Ԟ²L/y厧.LD&bxf׬S¶U&y) ڍս2sx@G 2Jo3^$VzNؾ1{*ݧt rA-:RΖͱHd,@&x@TH(@d(Z1 T ?[[TƍI3CV7+QҒdF!0pE8:Zkz媆i`0 3*o4jE `ºqX -~r)Y)w]kAsEi7 X= lkfY 2*h=OXݨ왐dHmp-0NEsjZ'pMkoH)Kc4s蹢W+6fEj<@%J3 RV9NDN:ϮwP_{SQULg8&](/w -FGqfW$* ہH#l3!Fx3տN"]kQLQdښ}"{l D-P< ^c2% `J !fg`\  p`*Y,9I$TQZ M-KiAPf XF aӑ7"ψ+ʖrJuj"2d&>z9{](4-XdB.dgrvcr5%p88,쥱bK"08؃bMfSfWrqS.Kf.XiM0z!u=z %{RrD"!,ЩQ8儇Pf|%mR*GK2/PLlNR{jr Fޅ~+rK^FwY frM3P54.-yD@q&;[8(@M۸(gm.3[pJxq.[m TBEKrB,Tk'Qc2KnqqQZ>J|UrX|ݙ/b8h b"CVHQaJi9eY:f utv #jM3gr9j2E \n\+p혹M@XV|Ÿ^fKDψV"j4;OCX{V[F:G41]r%tyJV]-tZN֋WdpBO!8B3htŃ'cFI=XKQm8.5,b[gyGak3V#Z|x*;ERBґ4y3 $ҼpD񱅜方g/&4V`hiQ'٭Yb1spoha!6֪qbE/[vv&$HuJ6<IԈZ>htRdYl7|OAߠ lC @d[R㪝˯Am ٵCU4 9&QcrX[vIJrsqYUToObl!8ZB`ka?ǥIgEqG>;r?R<T *e( S zʘQ] ̴&1$?,1uNvP@x=(l,WL7sF[D3jY=P ȃ!aC9KC@20pibF/'pVзt3 TM6"@@ X DVP O\g4zI'%[Q.+s;\D.<17vޑ3UW4)L.1| IDFcȲttʞ@`SI62p t'Pykp/R`c^L VەgJTڼ-\9r$F@N.j!n^ v(T--YYML?Ios@-`ND)F}jl.m+u J>Z\ ;cS('ĵ-E0DF.ұXYld _VJP?bP)y.S}L"K+uj`tAxbkoEg,~6sV -y>n_ 􈒘 ݄0 ͖Ȍ)}L4K?>eA)[6ز[3A'+b"A_@yKRPӾ4egm 3Uu1Kgb$ ̲5 !MK}ϵaO5pO1jkt+^w.|a>zRMZ75BF-Nˑ$h\WǥV!q )vM)!¤N['MS]r. RRʁX^5F13 4!'J6- ǤE*:`ih{8_:s)<ߢGqވ]1T?Q7FAwo=JD(oc6_Wu%T[29;d%̞ɰd8ɪ BMZ븜vqr6s֕#]#GEM ,]>.{r!؉"0_=kɴ)725'@V7t"W)P(9AkdsK W ^,F_\I!3'ii3SI沏f$_ ܋ J0/y?eozHD~dl[\TbBq;%{0Jf"HDPfeK^6,W'VmU1OO>n%OWݲ<3Mr ""sl]mԨEr`-"c,8\D@7(,X$IgKj-.!)L[89OK0o8NKM3HIvbbi+#. #mizMjaIXJ)Hq'oZL47:t^$JGyTƋ'ju}]zcWvϊc8H Oe߄ +WTu{ea ? ݰHe! ۭOgC6en+@7v裎LDڬUE b.bK%AbE!p.3$zYc)pp!V:u#Ó|ͷPpư:ߣX 6V3iBZيt-\ /WA `1O$474-{, b0D)ɬe[ &vϊRK[g3ڏM }DtKL|ڕsW Is?U#{JHA?5ȨB"ŮХ^S,oҁLϮd.䌒*²HrQ`ECM&IV& 8("K⭜+PRc59Hhih|L-"YPA"(^!Xkb3G,bdJc, n)4j9~䒌k$*)Š#pZ&ofh3^x^-;dp#GR yqٸ?2k vz /S+ݦKYtG~=XORv l5%5cS0m.H@՘I>]>8a"/ힴWMc>!2F#%m MqjbJOD  ,=F)2dp#9 @MTc;Cn tLp 4Y*mY¸Qy DXl茝h)TETB!*$i9Er>xBAk#"1s qLj3o"f=Wÿ;m}HCu<$'D(:nm}sN݀Al6r7L_ϽxYC+Ϻxɥ!ԉ.LJ㱙Ul9c19`\nQSTX>+MZ)T @̥>BI aV 243 B9S3ґ #PTd(@LXilš0fj)@D2T ل<q1|ImJ Hk%m*TvW(7)d-Kd+,; j3Y<"FM]Af+Hk*~bX81ە+V:Hԃ= `jDm={Wx^V0> Z,_*3%E: Ɖ4ڏGD!pA|)/pn^LcpajVjM>y|ʃDv$N/Iww+:-:ǣ xH HB]Dk4d ,d}PwB%只nL9"Rb806dA B0 aEe z{ИFE{`_ȦW$H=?LfQQ,X7Lnw8p0h|t=;]T_4 ԗ(q!)YN /t{yM_@,=KK1|t җ~*@Dhx\v+r7IDd"2e"RFjnW򢽹mfWok(32):q|! jinUHdC$q6 p"r8w AFӇ L1 s H+ENt ݺK$],&8SS)Ͱ@^EtƏ2X ʂ3!2T N)8MXt!o '@Ę"twNdX:``zq }ÿ 8 $!Njg*]ȀK9dYɨˊoP8cU@>M .ɴhX"{5if;.b~",(>T48HK{b 1aHBJAվU솰5WA3 =p$LV dTe<.ԒI3&Gr2',n3"8¾+!9Uf2\|SѠfڪvqR1橍wW{tR3g!RSO`zr\΢"(ptYOG`Z$,X3te{ O E'57hM)-ohq>@%f乧#׺gA6rjFVNO! qbnNcBDDS a572/_w7j E |Px7^ uqҼy3}$Ddd/Xx1Ar ~o,T`ij˸,pXRe }- H(k0 T&xCK@!^mlKk2ծ4%wY:"ӎt@ {Kf*.dxRw tRJp UV7Ȋ3rV>p5?l n.@׮wڴoí>imQ_ªOۇfS6:tW.Y$V&(V?M UAHڈpt5Uj9H.ED5B2qvKƴgyJbiwkCt11<#V94'Wɝʜ4a,Wp$͓d6@h,ikGS2G舵̴rFRxdvTzHz %$wrj ۞֎ҵ, ߁o0uw2ky3|XI: y'jiGVA9.Rk%&|["ur$zev}׃D-k,SqH9 CQ8tϖ@ZQ}osS#/VMs^)l#TcIʌoMyۂ<^}!J[ Qriw|r|QZ%YnXqfE2^5fQrn,u6AzXVSq̱F*a2iBCGo\̉G?%T*ND*"G^ fQ=49oG=p[ [[v5/9Mib铽.n|7y˽EߥR0=u\Ns"+d}u}`2snM=,&|ut)ַ&h4'#Eg[bCCKj +?Hf6&GJysSB\~hԌd+nwB(Vu]h 1#GĬT|UR[-WtEߚ[nXPvss"r݅FU>5$ b+D6J2-fd!)O@Ce/ '0i#{ptxśIh9L7İ$O .R-t}$4w\ߡcVF+3km̾$V4R/ֱHY&JYDޚvͣ/(H#\HS|v ϝ5 u&5r hC&;eb4,cё0j\i/3 _ڈr_?vTl[DPW#;656xHt! X͑C}*Ȑ6vZHHC&Kn缥v;>Ex&[vدD+InkTз!32 d6$>0#c/5&wȒA~]u6W;;%' ams~cRX+˜Yx+uZ,rnLRaqJhj%&jcڛADFO}g ۼA@13(+('`iVҾ/fm`1S6+VVI>1(j ߇;`ٞVAn8h< XL<)6tιHeSZ5O'okPuVꪽMh 8pu~>32񦊷 fMa(~@ȃK/uiNLm84GCDxН$p+cpu qi>!j }=e5#LW$6dE_wkz5o]ף}w>jC vK7LwS) `_X?^( gJ *p*J,{Cz#IC<ʼnᶏ\uU[}5C>f(|>HmĄ]>>D(M+j] se( S{!3;R%mn`H @%-{ܮh^T0*BדH F._lӜ 8 sdq%\BGg'z'WY%AjU2ȄLJ@N3bWϦ4М5q5\U+ghBΟ+t%%QXO_=O(؁nԟduI =ŕl$r`cAV)4+*T*N3&`:@NW1 PFRH)CXc5j+Q+G[lbԸM+k1N3>\L*5 (2ُP 8AaZtw!QN ZK刺=B] |^·(idlJ_gL!2rзi EJ3vUd- >L,PE%Dc=brS)d$UbW!a>E;`S>RK_ j'(_M)H !(bz zYb)ZKG!Ho4xoϴP /6~YӖH{N,I9!1_OYMU78R[x9`胰Q8i  ]K4ϭzR"OԸ-* rnZ~kpI$:V2dE#b`2&t0ana%v#T$Y>ArʇT|PܠDgS4r""͙9ojq|48j.:ePf '8;-Um zjf'"=8!PP54.TȺbE֤bAj^t8g\_Ni.jqT?ܟo_UV p^XX5L$Z{gl\W(K#BJ'1λ7@5!-O(G+/Ҍ PX"yR|#:^HK[w%CBڨE"#='$fH$YG:VzU \ZwFGNeE4e>"-zXNAE1+J#WKo$y(5kyYd$(!ĭ\5AvFkB[GĘ:X@߉XiBEĖVw'Oy;V(3}ylTzV`¢(mݢ(RզmP<ÒMҹQ OM3 rK=ľR8kq"x!ҷqLO=(~̧8n#,.o0#QחyPhѵ73kQMD`y:NqD I&MFJ1,d?G#IpbG9rrDN{D.ҫBi29)c*|VZuM:~f|B+$R,R(*TAKk\:C kP=$g:ZL(X?dF`J\1$wc'YJIk uݳN*-Ii)\;u`K*B2s $@g{is.4\+Z} gIOŅ5$SL6ެ]nnTgl%㌽͚u%_:MZ9IB5)> 6Hɨ{0cŌJ^IV)tKm_+Lj(gr!3Ѿ6gQlڨ FPЃcc dZ=g=i,*dFt&>r Y`yo{&(Tūf'j#m$]j8) RvΦ&];D2-#\_(P=-ԏCmݳq^7i jMf}BNݲ!a7{lt93'WĻNz4vyhQ!?%zd͚~1x47%!U-ZE'Q/),nXФ@R#AƂ,R?>M'HJc.Gtx0F6k>ft)zd/$Y'~Ccxpޛ]oT-[2͂Zӫ.ݺ?*c JD=J}/_#T/ ,7f+'L3f4Fۼ̰K@eC <:P4 bŨE30|16 ȈxKy!928>xhgm9Aa`atӄp5}yC$x]ux 7:MEʝĮy0$Tc  9]~G*~d7%繥ͧt(+-mX'P3NHWhxP\H)*M}L!K/{b|+bտ7L/ :i܍e?`jGkԢ/H^qAQefJټBY)|9X}gzBpn_v|aPJ!Y,l2UFj;B(?eCcqPlFM%VbEȤ33p v i*eɘz?##ҡ c8'/eLѐ !7XQBU|UTD-1l,-76h}%f!"q :.F yw-Wtbۤxk5/%LpKM[-v0L䕼fK\BJ'tL[4wi4I3OՠrUlکO(~; }$db"l{'tSYbgo$jdNH>1"\^kθC0W~6ov+dBa#-L>HE)ABYZ7Av-0rfyp1(3b0}*hG0CQ~N, 8*HA_)Se D#)L(; & \G$yܔ-&/ -2ʩ6]2pń#D}x= D/7 _kXFi Hd1;Ó2Rp]#ڃ)'NF!̪\^+BMAE A-ãuA&#DCR6PPVRQ#!%ka[䘹7v%ZuX2)4_!\F];{(r$)[e$ަ9~ʗ%, 3-d vLL3&j .F&X ٲˉ4+?NbЇ ?FÀqHWj^E Kǀ`K p 6'2)Ho0L39f}@J"! W,vL`qm6DEJ/]bF.VdkǬer(!2A=7 goԡ! Dū3xԯ^%h슠VXT\Q{Jm[!}sWXWF/bXYZ_ o_,v.ZdRSrR!x`gJCˆdI%n3sEI;PڛsA 4Yo.rXф_ Smݣ.V;%U<,) EԿ`x+\TjpHjB\ I 4bbEFb"e愙Q&xA;3|JLQy[:XoGMI-XNG˹ P`@\ag1%lI1?TUZɈU l5"=?ۧ)+=%&N츔'"=,}s<uBpj B|t+ ?x 't%ru0\j0Z*䋳>FA׍H R`d 9!k(#%S&arun \m0VɈˋ+PfMk'_ݡ&?ݻؿEh]i*`ޭ~.]cg Bl)L6ȝbnҎ2N#|"Nty-K>-EZ\J)`UAjֻǴn3E!C!0ɺOFUKp0il d+iQ~ U`ĭbu7CT|\VP"$R͉Sjr" '0kaitEꍔ uh%g7Bܧo#e:hr%DXe.K VT"Iq҄^' | p8srPXh "Zb D4%DJYtП=0^$!t4)=ADuҗ)kJd¸7hFШ\=OS1鞅R_f͵ & CB^@&E9[Sj(MTHQ!bL"UDq^,׮ ͥy&+%/*'a4 EDڢ塞!r*1c,vKȢL%52&'-Jc$V\!㡳 \4Wiu{m XlN ^tPG]L<+0ǩ*&|kD<܈,dK, W&3I"9HF.ЩkK12<$=ꖔ8N"+eI<.HSjʇy >۴ʈvr^PCMyBU-uͮ0oyJ-7JI _Y}@U$iP\R }XhiL\qP/>2/?@e$H“[u&9έR9e5iBIc/8Fb+[b"i4S 1[$i;?1]syaj]ِR)ΛFHPڱ'<{FTγW!IWHWU|]HKaI]5 Lo>B<ںYV"`T-|AY(|nZbzŶ"E[.gPZqDhWmJ`qbT3% [,Swc]? E>y#BDD3,Oy(e~Er`+U.bvhXkTKp сh=--7)nrkV/T=m(E+D; ^h.S7-ygT01kaM{QK0D[;;GXKYyMols5VcT0arإޗf%Hx{eH[_քr7ϴ7ZO]qM$0h,!rs'\bʟ.,CåGTiTsa( /%0#]4Fui2BLB%w)n(C rmV&F7 |SZ~,#?lSbZ2JghvƩ&n-/J6]Xh@䬯q>iyMz#ДcX&ZPjMg"hؘN*\ 8lx# `n\KI#{U֖R#2R ^caُli1g)oaiQXȂkQVRqSU<:Bf{aLGuyKXF!Eo*T˯&, T$,UJ6]W&й40-R2%ݨ'Q> #%H]r4LVHP@u .GR9AւAciJ+a[FKDPȷyb#eo^[%k"谧](T 鶚 @mRE G'6-d(S7-HO-L*5 h2,)/iew{} @A .WG0-AIk5U3"Opu&y˅"J)]W%GI%V,;'r'o@QQzJ闙V \#Ҵ,퍸洇4rJ Wb@[SYDVU!p0Y9DEEc@Z&wt=E ]XbbE$L\"JO }Z>R ɪQPjәDYTR6yb`!IK, ɘ}yh$A*DAlE7=)1ENIxNpWސc1]lvpnn"v/[W4|Pw@*ʭp7> ?(4ERWeoM޳Ms=O/o(f) ,8UW4A*\JBZ?;\6v|\] \S_0/bX=Ho25hblNȄTE =*«j58 :ktVSk5kQvUdEu/h?)J#̛a␬8I]L$!MFOtdn b$a.NA 2d:Gعn#fC@mJ$"tE PPE? B e$ŵઙ,bL9UnyK8̹ Xtڏ".T5B [7m9շ߆ۏlN 9Lڮ0Șoir+y7u{`ÀH}֮SgK0}]UT 1}QxP F A6H+>X_,#yH z:좚G4謌Q=ڹhK>o1 SHF.j`5N5uv\6*#V{ρ#5T? TȔl'hr5~! r*32&vbAf NJjsĪ|.K:CVXWEB:= l`B,Vw3AZrl7}YQmp8wϯd_pW|}= {PC}r~W罫8՗q`Sʾ( `{V j퓊|QXEj\ufdwhZ:S8W4ӂ:p %~ /Epuɡ/z$'{$D:i ewwKU?t)+'{K(U1QK Z0ANYsXV(/A"r݂Neķm3RoLֻ~i)Scr&Fr|& ck n0R۷ɦ{~/)hҦoDG"RҎ}?Q s2Lx䬡s"~̄pW̙_үHQR`rFP}9> K@,8t @[-x iOQRue" ,Nb0y& !6bW0 vti6#@;t b KAI`T@^- АP3yt ء}ANlO8:t^l./uN:% K׃ R(*'3l"|T洐rdyaF1Ll KvhWC%ˍ *NnS1 'ČTaWIDJI"`T'"~Kv[Z.0fwD<[fS)fPT?_GwO$5I. C *Y75+P8hM59ra} N=I*;7XTXC(0+!CC ȈAX*=?Iˡ'  A B`.@\윸]f)%v ",.7r+{F)DIT LQթ@MYLû|W̜>H(³aܱw!pDjΓ̅jbBy4Ek OֺPN}h#JN}vjc;.Jl_F= ]j07Dgm=9YC4h?ejE$bg$Z)"rvMGdPSܪ~cꥠ{VS.눣]H\Eq0] AWȰhS+ېb3q@XZ: w6 8 JHB@LcHIX{liy) 7|tHP3Za$"qNO#d,]ÕDjsrO%!0GI5*s#IyZ 9<3z)[Y.ArCrp*0@;|$@& *-ʕNuZ^\4sӆxOPyN yfK E4аp̺v =B&T,% Gt,ft6ۚrfFx_ne#e{ƤJ!T3bkW(AҒHS嶞`e*M)Q5-Iz :yge sD͓c4I~Lo.9Gtڬn5F^Di=ERE#Qؙji oҤu q *O. 2e>.))°N``uV[1IM}Eb_]2aXs 4^ϾiT^ZjsnۈX*MalLUd 5] Q f%&;YB.:8'YK|vK?=BX$krCXiT.X!+(uȝ$rGd-!OPm c\_V&*ٝA5H!zQVI%a)*O1Ӣt5ײ-%dhvjZUM P.*퓑aPP)6!~e-fM&7 Ufݔ}Z,ch zJ]WB"Yq}ڢ n9Н5% %)Nv OxGŘСl7HLEZT@KsKa'&q^pHLZ'B'%/E@<]Ŷ7.g6FёH[ "Θ Ђ m®u@*a:9ԡIWi *3~,e\` rkаFR1eIֶdQr;+ui皡o%;j"Kn=JHB5`r$+"Ga%g"Bp7tw/J@!;a9a{Z2ef<e\X͢"ƤEDdI|ج?᫯rF.K)SV+7CPzX˅3$_tY9 r)R F3. bcr&Bc`X?f4k` -i#T\1)vEOgSuME- =t~֧|BWLF6 P1OJ)L^=FX'T-dUst Պ#AkgD5yݵE, +ALRwZ!aMd.'L,;R~]ks$ ɅeT[7e,S?[\/ToJ.6,- )IJ1* g{*φ{Xωu̢[z\ WMc"]#݂=LāIW' m;DT!]bڑ&fxF]Qɨˌ}F!˵+~OC\lv+qzEW2\L8 >\DL":vܾ1ƫL|2U~ĐdUap4Hj^0+͟- Bph&I:&UQ$Jl F,(G  p㆚% uPBwݺp4qB4R>gj0P, I G" 8ƣ?Gi-K%Nn5AǫG 0)B{nN1QiL)Vn?fL2otjQ#VU}ٳ=rm }>"N4L9"Uךz%|c}@ yFY)Q'Pޣfޤ'V%ĥktXՄ)k)8E"/ֵ@8A\bH "%R5z :&d(\`RF(0RVy)I2f0VN 9L ]ܼUB˶7C UDhf U~Дty9#u)qe@Teb`tA]U -WJ (☦((C4A\sG}i" H=$y1M20: E÷/o!aF%X͖+X6U*1 ;LUk^"Z9bIً'UZ `Xr)*J*KNJnN;ʦұxIC%nt0=)}Z ]eJJ'etRU4Oݘ'sJvYT)g>U*rqd\& %x5ZB;xFNJw[(!c#"=~IdRffSDVZ2{1, AtbQ #js=+]3DR,]6 DN1XJwOaM#+BPάHG鿕M=.ZD3SSbXCupw0I"bdg ]2X䅢|<ήM0<"f\UsHx9D}_hvJRrL'"x!!2L 2Jje-s؇)TBm)*I!f8mFtWOURfB}xJ&SJr!pG͋U)1T˩>_-7"5E A4k*o)Yqy(%O™R4j\WQTPJ #)EdTgR'HGBzSkyJt*vaMwtDd-6nd$UsYON]}յ%r-cSneE;)#Ү),#"y>I18؅svB\amشJص&,z2RJODj9{ !D/'{ʭ$og';Q"ĭ 2y޺(ˊCQWL J E留 1JB{y]Ifl۲O27l&q$SHϞz%Ouy3WqY9X8Q=!7Mj%И*woqu8bjs}IAQ2uBʞJ>!A̔úJD+~  bAėXF✄{T2-!U !IR%Kj~&m'1ǕR)i3 Ư<"9EJOv*=5EozEg'JSSUh{GkM).4΅fJESH\13O;LaB~' C%{[Vb q wh5w{>op#9zF-̕@8Id)M2ԑݐ0ɽq^Mf#;%aS/iCĸ&mNx+!jQ9*!.F.鈄".Ά+]Xvf$ {:g hlOfD\scIC= ٘|GnK"TFκS#-{rj :)h.9rՑq[-C2縅фJ1YEXal-.AEQ͟F3quS D7FMDxVB [P%{! W:Ֆ?oUbE%.w*ZJ;Y3 V.f=ICCח fͅ<-mD5(0M,d5)G2{SAa]|+͙޽ad~ L˰2'ڹuUi<"*Qws\fr۹Q$b (jR#fo+1Q\֮鐃iUk @(@,@hX\T2~E S a5EΝΒ@A"4@@al0I, `.fȉmd̢ɍ.Ο&T/ˑWlvtkpdUC4X$xZ }l!ʅO>WdS!?-]9XOYmRS\_;bEawWYm6&:WK|WQZj )8搪-5}EҍJh0 ZIc ,Y0 q( XXGгd*Ϣ$l} .bn!`rp %flA! k)yxHa5d󣭏 t* Fς[$QuԱy%&%N{Ҟ9[їSLQ$Zj szʗt2e[& wG]rÐ(p!ba 8’76UsTjݚNP. MOf,vxWrgֆFX٦b3gy!8/Zf͢Z l̕%?!xjcn˨G$:k9Z~pxQbQҗ:V\Ʃ ^U}{KcX!JdHXbF ޮ0˻_n{}eq-UaJ{2L1ǻF4e⊠[ӺcoKc4W;jQFqhRwCxMJ+ՠh|] q( ] Q ޖ&ƑT)a e-<3*sņI4#ߴx$cHBBp+'GAu΢" `\5B gh" 4>v9= vY)+,B{}#)Mԅvs4c﷒9ۉ0K0׈ `YrH)\R6 g ^񃀹M00ZZ˘z ]X%J# J W)HhKmS "$gQ~/qKh@vH8`1L`ֆ,S)h%FlAzcy}`qkp"Մ~$K<1bqJ xAs%7L5 pX'88$4)"D[ˤwHIWjR*w}o(8%Z Ud'LR jHB)%H $qf3XG[zEWĤ\++ $);_Im\W{e0}B2dUfYE'($T4ӕқMW/ux^);ܐ&R,Pm5*0αMdUID#_V ⬪SZ^XGpu5u$-Q"gMj~W}jdt[ELV#7=I&SLs(Y2UEuYP11yU#ju;ffB7Kz3ƴs{N yWU,EYFe>QMÇz_MIi1<0e(F0P٠T]bvqސ`\>zZr\{i%I仫:\IY,낻Wzp^yX0h82et)*@. !m"^\ɒtJKi4'[ujŸ"/,$`_ܯA~є6Cwm { p&T%!4CpU~񁴻VFp,L6Ic2 iE2ƲyH'0b҂@33 ~ X!ɅGBĀ,,s{/7CS HB$ܐ/@Ti"PYڳXa" &`zQR2B5!b  sa#RFx !5тAB$}Q(*=w=%h|J4wIA‹KpcQ@."C HV,5yL1ܤ|'?-[ Z*a}r9_+Bgm(b+sK %'q;[.[+! 0H%LKꙺZ?_ϱlV7fGE>.5SL9FS r - Zn vEzR k5ch`[k(pfRsyAR4H`@@ 0=n&Va~?K4qLfJ1JVY-0@~44IŊSC_q5CLu*'B(h-I00N7܄ qFzכ8T{"S^%r噻̥ա/֭iYg4bQnr^՞Il`BJuhȴD{YMNJ,j!U4Nj[(nF8aDW%MF~u-@_*a @TT: 7WIQQ^KXq6P7xD"U*FФK0ϯ!rZYZ" xSITMU̦&γ"#Kyo O2SSq@A< YF3dr2rF)DdͲ" &JHTv1ܦaL4p|PWi(YWlے_FxaԥJ.(xI BGm j](e1A.QeSڭL`S9+CHMbj=8``$+0b ܜ*~O(*9f38KXD>2 x捅 ;1k &1*2P8@+HvL Dm5,Re;82 fu/g)Hb >lct=Pc-庸C vj/r~Y|ِ/ A QfG rE(?ө\d"D#g92[:CwSiE+܈d-jv1"MH*TY-aP"2.L,/ iQ P(O(pqKI7Fk=堎0ǣl\/ckA[88wʔ=uLϣFdESs.R\\YES]?AR|lfN!BTbRe\R^]=J'=!FFb 2/wQ,\+@e$B5Ƿr(R1fGmXb[ s=YI!2"p,uSI|guR0Pha.Ildk׌ MƋ*TBWG6F|SR#a-k[ZF PdhP -fV۹e3/sa</HF|6t[C`k~!b[j tQgFC@ a,}60r9kɫ8`ƿB M-Ui@( Fx=*BÚZV &J$@ Ǐ)@"Xh 8Ѥ ܄\K`}cr"R($(=JPq@ NJ_G"L]sb * !P0RPcjtM͋jHV ¨JqN BT7p7ރ]y g~\& ("}*iXxwAZR(qe,T Gyp_^ㅛ)S(%AI| q4g&qp4WJt PpY/AƐ@'Fh8IXh(0i d8?% cj6$X9Wb,I;d ~vsKJfcJhDۍI 2< `YHon5`J@:!eZ GHX(6 ޱ%~^ryM5̉h%2PJ%bhK;|Y:aY)UX PcDZ%i%跊,ͦWyAOG:$%P=g,|/-(!yRao`MH0y\ $A@ǻc xO/bAI̅"Nis]7 (+O  $eAaj) X&\E $ÂοYTߺ,Jܱ)s(5,$ItҰRەD‹ɋt[@Xi9nHCZ;#9- S.+͢c=.Ae#G>Q斊z\.Q]c6,#*ZXmcWiaBfҙKs@5a+ӎR5LTrzc2_{CQA.qc 椢GlO/ErrY֛ EM@bZ_R{D`̳C8#~1$2d r61^>6u|QRĺ*3%^N,mI2֩" #IqN Bך $[:uo1$,]D `SaK^gG;%;sщ!LLN), yd=X XZi``ʼ"Ԓm:+Yak|{ OB:tY,)$o4ϼx6yM;{KTrhcND(AMX<K{AE-Z=m A0 %Vn,Ē ]rTKԁrXm>Ca8'[PĮOҗԈxrڱaG-E4w$RiD=8"X h)H*=bw4(ICm5( M =E5/ʕі3/_ )g(0d!B*  KBi ,Y{Va<~$=O3D{Z5h~ *Bg%k!SR-I9Pz&>M88?(] $dM\m98E0䡙V ƚ$fhRq)S1,$.\`+ ؅9,\aɨˎsF!`F{y*-<ѓUQ% UcFכ qJJH K4ۆ눕c܂ >i7ED!c>XK/?IL҈7Q6=/w>ɳkeff)W[|Jwr'(t7zjS4!DOjeb9AGRؘFby0L\%KWILZa7\WB?ʯ#0(`[ԋE7J2̧MbTjN>P9v%lYg2WL)9%3axTN"e qWٴ`#"ђO87f |,s$0Xcklpq:(NڕB{9!2Q\|vx+P 0"EZGd)08Ԃ 1ERb/CbNx9Q߃?-)] H Ă{h^0(ڜS= #K$`փQ!AfSNԱs@x@DFuʤC^ /BД@9AYltSHYi_ e1ŧfN *Agc"g*: ׹/Jl섯U2 2ጃ')DOPGqaH4&1!A RB@R! j%qx!2*j0yݘ6k 1D'Na; KpM dcʂBg5D !qL4xSb!.KJc$C")d:Bb1X؈%2aP%eׂ(٣[EnETbC |1\R>" <P<\ ~ԘF;t"J(%WDs `/S ƈֱ\R8E6d< D͘M XIniM^nb`ݗ%/F!u089( rdKisCѳ lَ#X) )߉ Ԣ[h%jQ3/OF7! DVs E#8 !3*;pC'RADX "zfMAz@G0?13 @ ^*bƀl}) 8!D~.)TNEFgRxKFd,H`zlc%$*3PjHK:z2,N;O63@)/YI!iZ>q<9+=;5v@i e%מ0(J $!o%P&* XC r>8c3`f aCGr%RpףhLheL$"c>1Wn%1qgή-18B~$4M v$D;G!ZQ I0d.%=X7 0ܑHeC +dQvP1˻x΄=GLʖX7.Tϻ0ߊЉ&# %׎J|ъ571IUK9)#/ l" NX415̨B*SCAhΥ$2nS9(&tgs``% JU# c,nl@10Dk ~F,L5!'a a U`y% G|0ȣe ̂’ 32q a!B<1΂HF-b>1D V[s*b¹$adV񨂕֗Dn ³l'ۘOr#'0ȡB2 j  E>Πs㫄.H@1'1U A,L)>IIU|``mBӎNK R"S!Ҕص^J @v8 2}L@`uՄĚiE 4ĔrA So%##c~8,i⨙) ./DN .| ڇc%2 2 C`(À$12e#Ū%ʿ%&A"qE$G)A4ŪU23Åʉ Y.IlޡjhN1\ % zPi)%R@1Vf)PS >ӎu؉h#=CPXEIAc'p@MZ0a CF*elZLTT NMC͖mz !Y#2>:jiGjsa\jPu8욱T]r$& u9;E q4~[L$Q.J 8=KDA jR'K{tah$˝*ƜA¡$B[h@H l D;AgH`4!8}vc%E@Y;W&((H-h2Rm2ygB.zpY-Bt'tTz"(!,|lZn`1$7ŐA TI%\E%`@S:ZC Jjik@YAFz(gY N"Q[zSp~ƹ7OJ"vp¬$/W XIf smBL` Ag pqP̛cZBK9E@Z (A9) J S-f0A0:EhKA4xGO Hg -/!Iqg Ju+ǔĸSQ78`T5ĝK@u+OL,&ppcp/DSZ*Dd#A FPeۉ`jÍNT;Y)+X$EzB@#H+}L"e$S CJ.W*:,R#-E o@IFb] %8lWbT5Pa " ^<59j9R^IWWP[\BBG $)lBwbR8b$BK2љe 5`,Mʀy($LwvTY- &+҇@$ذRAGLHСlv.fi5YeUϨRb3W,NSO:Ǖ[C/VFZm|GOɑSp3w@n ,!\b% \[-eB,-)`C%C\C_!,C{YKXSOhdXif!i8%V q.7_\$?\' hHSO%亮"VhԐǘw!I{x#7pyҀi,ԡ6`u7/лilL]F.ch )肋eA-TL@ 5]TYrZrN,o`tA4nxOAJ&YJK$j5 JI1TxԻaqԬtrp?B$`9h@~v\zM Pۍ bX𲂊3Q"Vrclxө56xC͗gVG=1u?DjxQe}q@kIQ ihLwB'Q#Oi_-xQn:Uq.a-@]0t"PJY!(%FV!.1,Iez9ʣ|eV$YB-fUb(y) $:CzQY1}o*$FIUC %XC 2o PHD7N܀[$u͋hD4}H6_bDRǙ? zkq?0#~-"ȝ*Щڢm rRΚ Z3<0:E9r@׵(Y{0"hR_1%*A<-V[zD Cyc -1>e-a"xPAТHc`;p7 k!8$rBWG,9•VbGZgrzT.ɨˏtN۴שٌDhŢ'X! $կi=dTkUnA*J21)hءҐ#MGV۝vZN^>饹M&%HUA[e3_MrϹM>Ivk *Q}RvMj`jOL@"8" t>O.>TGZ|,^XΥcB/Cm;/"p]zlfSz.*4*ix-|eCNܞE-ꑴ|Hip}&2+>3)s7u Ȓ.YvZAThfj6MfPTq>pxY}YDZHWLqۯaRV)3AA-pʤؙIQXfF 3ʴj-' |VV_bۦ7s [LIG%Mos}pVDC\#K #^}WRNe ~eYrPrE$ί߮BAe~g`;LBg: 54'CrM'G}mt5}G9B  :s$7SAO|ٌΖPJozɶәZNCS^贠+xKMN A\{#!IͶH޶/ߴ99Wڈ)1U@ QaCBkTL g_A:(>#‹4vk;"ɬǍDe{NEYe2x-rNf)-u[^[dO{qY>Y\:HBL2`^5'cNCeisruQi>c/e,- qH \2ܫ)6|CI+XMtI¤e<یme1Ypl4D46O"n ՘DT&cdO= ;+"BXDԄMY05:$kM<74jZ#^XSׂOU |Wxl~a,+@FŸp{cBm &>kuhziswK9[dsTbp! +%К F.jF0 MJ_2:(Ep +WB%ȭPwE{L@@l,[1<aZvK䷃_ PH(~j\H72#*N"wrb$dsN[2A eZ\A*cfҰ><"YC.X$!en8)$u-b-"iA2KsSĻEC`T8*PdӬ* 2 E&%aC#*W  yeICDXl'3Κ\hkljl²Ք7ʕHMP)葼'y* |fꈖS"a L 9 }8&q&gp[VhM,]~>mNOP؃\#4.RJRN2Rx2eV` X'(Uk/vd~K^;?C. NP.Mބ tqw:L%MŐ`b^kR-Pl~\؂ ψW>+Iϴxm Tp6H.NjzPr@Ee ?F.Y2 ja Ys0V gN֊[>!{{ɘ:̞顼rKkh"@ɚv̲Zc,/ 3|&h'u|(+*l+ޙ[0mc{c>ݾ+#t1$,`y)cąR|qx`jƬON5A3ED?jzc8c&rH+Q\0_2C=22f$.Ucu\ϷĜ>+k$CG8L]{-ԗZ q=iiʈ9ĆꢁQ`f˶JMz/"χ99ؓ'Ԣ%74:^ĔJQ'|}۟vCr7xtd79tFs̪ܹ\_ζQCUPPBt j<}{BTokBG0 -EE%\*=$0–$IS"45bQRbsenL f]*WDZ;t5@TA Kœf Alٛ"M7 :r\Y0 `O*g„,.?,*0PH{I<9GЦd㤴R CXnӒ Q(#eR5;DCjfDBM.U"Wgړ/)#"U"_jQ%}C8*GIRc.C"3qh%fV2up_(-{@Lx<XdfRDT/:p*ch}}.^!vtY1 vжSx[ƋzdS<3MLbϫ `(Ʒ``I Hݹ)/S?2>YdsڋZl{WQت·e-2H.dfXQ[ 6ulOHcV‚7>;LNP'ӛ߰^5,jWѲł2xϢ~*Fj4Rl VFvc4b׀\r9,P {S />dUn~ȇuJtij9BP44ץ0Q K)VWI+Eu4RY10A>2dpy0ڝ*_&H\=T[mJ#哾Ęd~{ԲBЄ {B!-v#۵n+Wퟂ *)uIq_CJV>mDw$tT_ٚS'ąPٺgj]RMV DJULU$9a;`J^"avT#7Dl( 1#󒷌+])\Nz?db(E&b]g044TEC0/Ib)2Jimr\-oW ;.1Me*N7'Y35:etFL5͢B9Ț,RKv*_*#]-L4Js%.k~. l^GO0SIJ\ٴ(A6 PQcWvn7D2^6]HRGB%\ 2h\4.8!r{1},Ͷ6r{=eDxe[4y4;c^pbL!tmSCk\Y5QD2RUu(fL#F(:s+w6}w%祚tvjMb&])moq٥IY#t*x0;V2q]!s Px,""†M$(B4T&xv5JcAwC_GXFl+Ǧ$JPE9_\8РT耉VV>J,ViF!^vA.h5\֓ ]):HFt`(̢e+yxn1TRD(yE;k3 SpKKIyYD^D3h^.Sˤ_(r?Άir--2kڎtd/7g-?rÂROf!e&uj?`Z5@p*/5׭XeͅhdxOlM.[Kyp!.kQqg-|\@6 Fnkz?vC $%ouq{G{H59$2(lTめmq.[aDY͹>AJh[D60V*mQ;[R((M(. &DbhԗkWAF:#'\M F?[AJ/c o.Y )2`R-K<#7}Ik&D.bZtA.@DnaQ akv MW١8lߙT>WJ l{A:_%VkmW %l!DĴ7I_M~[ ZsTlo / Z)$IDBp\SЃYPR"WzG2תuaWeZfӷS_ZLy>kx l,?{hЁi ZVt )ȋ8d4MOЏ]`ӕaq@$)2ոhDl a"+ ^>حy73OT<+Չ&E sP➐(KHA@Bf4(ADGU#*εJKھodt |ZW<zQgjoEen@llU>9W0G _#lD&Xc P,f6+ s;q%LW|~nHYډQ鋑~}mUSqTfS*_+n"ZŶg b.2c$v3u{6ߞ$#ZR@K 7zA@*V5}̗Y+4S#\-ofbd/Fߞn-qM/ΈenQyZQ`g].^j'c!cUS"\5 ϸ0Elx]3LI;S.e dÏ翓":$aMzWjI##ҍ@%F6T"^32wP%#ghAJf|(#$4J9%nJ c] ׬5 ք@J&Ne\f.H &4c:CЄJVNGoLA xX`xQxNI~DV} WK_6u]0ETY#%'q6ZAoַ(HyV ,t%}ۿ^[fΉfU$j3w+d^+| q-"5v*Moxelj*&:hXVQ,Ȝh]1phQAȮO&ּy-;Z$pZLٝK'F@}LF҉ߢ,b/uMr]<,kWבH!v$I&}<& ab-JD W[FRD GdG#v%UDbйHR'wz8X%RN+|cȗ&@}DWoE5' ,8f, ]ۢ%gRi\i*^)U2Q."ÖUG榬(re,&* 7\e_=2L[h~ŭGد-uV[nyT*H~BgV25..l R($K*5EV 8NqD " nQarHq.JBeJkjǒw"R ?&Ѹ nOK!棊4[d2Le4iZK2ֺG a 2R@Hvsa-4zGKH26Ԭš k)H5\Ebߪ$O^ ,Bv ɪ Jݚx$@i.E`v#Z$z HN&StFnܚwcj ƞQKOӛU~d\̉0Nk4vV-Onzaq#1y]1:ThpuSEq1 4qعM}tkƖ!e'q,8.&A^AXdKb ZQ:yvHʬQ?D_y} fD¥z:.q.;HW6{=IyF5,ۄs MŒ$+ȱ~t֩La\EDV bD˳^Af`JL)h^J^ⴟ~i籚%Eճ z KOtDc*SѼ,Ч!HS6Hԧ @`v 8bZ&j=Sˋ=RsD*8荪_IoRX{s<3D-_ޚ#Ć8`hci͗t%` y#u2v ~Ra@*#"3QI'eɞ$ bfPCRڄ h%LA9@% DA=* 5dvpȗ*{_ă.\V mҐ}Il Y ."jG]S  d,trlH還FP.˂g"?G7&-O 7A:" X#1(:_&čh"_N_JUa_#J*Ɣ/!6׸SAd2eq5`54I#-6c4I>-( % *I p9Mu#(؍dp>Eg_J/P. h+bP70U{e9鞔Ă:KDgt)XA ũd][Ȉ"^^iouRrVrt钸V&D8s,-6WG4%JN |E崴sTǚmĬ<-s4H+(0rNy (j\S.#\EL:gΝ&\hUʮg vNz㒕Ӵm!KS}|-[ݍ/X[Dfը*RueuzƊ"3݂|H@5)6aXՄ#zEs,jIzF_"s3UQN.YX8]GZ! بF^9HeHԘg&kD5A+|U˝IVn~(/ӧ$Ttx.5ң#UGy;c$Oy0fKxklrQ%ʒ"0*46ޭF }zORJS4zE&5@j;*Z[ 쓽e[kad!SW]j'5Ӵ3D)|$\] v'-HQbM;usްuTveb$ -*twS9_/{u53\0%+T4;7ۓ;x;-cC]~tIP"a\p?'G(wvJrYm'nAz8+K1ɸ4@ImA8i(eqҍx2>*teA*\21L& 63DqJ୪wF &. #_1vZFbceJdڇH_틫S9܍a'OcXhUr@$}/N5GFi'TQXqB lZrRRDJjne>ʅ}$Q..aT‰Y)( 2>c%p**JZc %4W69dR|/jbA +PGfǿSډ*7M)V5k"=tlfȻ\Kܳ,%QI?YV OZT}2ɟ%%Vm&g?$}2yd1֎۱̋,ebdB,<,lG[3^_IP*i8*ZñX*fH,D€Ub'O-2@puX-SRPq/x6`WJ apNY6 Mc.+ba Z%9z9>>JS3O4D# Lɼ$VhGG"@TUۍ)UVp_$|"ұE.#M#lBP*&2/^XLhԮj#z]Dc7:5Qgq#"ƢbhYeQ0ccipX9J#k׆WZx3M,f;G&rR>j=]Gjn˼݊ES6<U_\,J.ohǥ藬~RZ#!$BOA2f r7?Iyjē}yBR{ O)ŽLR.t)%WبT(c.E@TVXhŻEHr("ĻFM. .-L[h&>`Ы,}  .tґD۸ïEnvy@dw*=ׯ*/d.6lx6K E' % cYUhD@ 4ьG[aJ%U*[(QZGHQ#@kM Ng͐BK`r WKPB.!%l^ -$Hl0d"jDnu0WHe56ܑ*s]6?Y n"ƓXAgTЀ/ThS̡EJFDrtArx Q^|3~Gw??muorA0'?Ŏ`-AG'ok'FOr!LxNgWP/qj2WTHې'P8#Gbc? UaZZ8dYj ЀDžE-o\ C{nDznتht:JFHHbD72>U0͡1ͧ봶]T熗E%/~tX͂K]_"`4/nu˝%h и`y*3Cqc*$"ɂdG mJ}ӀA@fx(E$9.!DZ/3iʹAN2nmԸHBRlK]VSJQP:'nx6XHsD\UsL/Ό"8PɈˑmL=fB2O=@7% 躔n_{eNȅ?/lH(4A3+QefOgt9aiܚETW*jӂ hX!O@̯g$GN I ҭ*̐!KJNlB[&dJ e%C=PS]`jTIfͦ.W]"8fqS%wBL;QA-7^a~"ar ©Yg݊e頹 vi[$3xH)g"ĹO^ T"$!Q2A<$5hF  ɴ"rģFy<@Wf=S o t%rW @ L=r0\YAN |ʡwSjnIx5JSW3u]l erbcfJrIUb2a2Xy]&%"& .Rη(U=LIò;Ez.DH/50ص|c{ 6"4P}NU3<Ȫ)>z2ޒ"N)8KErJb% 8,2X˒BgVծ*_ CdD}5 NˈΛp1dg hDj S2a+PZ )mzmt5xo#o` e1bDF< 7N(2.I;ߌ27霈dG1xA*Z9aR`U% (C 3jc0rev]爼5h+y_'6OƲC|K /cb*]&PlEBq`H2_Tq:u Vew42U-ucĔbv Yȃl̍FRC1*VP~)Ag7rkD2!cM#9&"LoY6F"~TܜqOA;Fm^2ar .#NВ!J<Ă9t;6f/o)IAbbj% ,Ahw '! ҒZ1*/ \^!: b'wҽ ($:C2^͏ʚm{הim?|YW+X['D@D{f5k;J+rRfIva5PcEdW87Ks30]%ɛ _q .M+Co!s{JP:,KX4)0ݘ`/rV깔rLH kFe ~BDn?BHަalUFgוGz1 ]d:^~D $œ L"LMex]tZ+DPUi5ƖN>B)[~ !sC},dL!GX͉StRC)&JUt?Rs(QnÜ9" 8fJI4ג\[l#A"Wǻ%uEi(kH_fG Yhb[ 0'k<\EY%}1 uHa>Ef}qz++K-[S2W=}t5ҁ̸1V]Ov3號_+kԮݼj Q HzHuf*Hf?eeOEXTiZ hh(oz LHVV.SH&zH5I4/CENhox{ ;яzO)|$dV7cp;a!DžbStS8dMqE5R⒄le"Ʊ e$<υE Lx{eEO&l e7ko"h\C&=9=I oi&$t2| C絞RGX3Ӳ& 旒ʥ&5Py,rmk(RBDi]^mZFbp.e5u,$n̤ʝ*|ZwKgCٴҺOU%%+/'&l2YOV`gR !g,7u%_QrF^zbz6#8qa}]YB'=hdѨF-< D0$vNUNؔxJ9(XVHBL3H܁wCfjrarUg'Ac%E"3v1mlD0<0o*|UU=cz&P9aduoRl@[U5iB*b5 sKzY$K5uq맼VoSi @a>t>/Jo{hT-^(\ZuI9u)dyNL  ;9xS\)TKgx`1JI"D RT?(o3%>;"]۹LYW)B8hTCާ(g"<77E5&n  ]t"f`\"*/<.&;\%Ϧ]k# R Eb ~hݿj!QH ~R,<6ݽj?R"r76RbN{U!BH1~ ( b˩gPО^swK|f,oR6_e;54mtHk2Oږ}6A*@&c KqgZy8ܨXxN O`ol&%b$}WCK#93pAAd 9G-֍rUV찍8AE3׃%&oϓhrǔza1suH$"DgbH_,ޯU+$k7S|6v?R<Vv\TLk?;1_uƍ;>*齢-kA:|k#D.l `6@IHjՉCYW\siێ:h$ӥ3AP( 㡄)uH0[>CYik-\ջ[`C0v*L2SR&J*xLBj`> \$ #R}EO " pr.I;aMݣ iH.i3(GEFgB25!oE3" ̱LŐh R'՚:p6=N! Ƣb/l녰z+w>M(Em-TbQo@ur=8'\m |+PûztF= jdԬ|f0~a<, 0A%^ x0(Fň&L+7 V*xȐDymL w̌hS@_0#ʕQ{&mg2nP aG7+,#/XRdrFNݒ1*L{W)Gazļ'h%vyO|\IcaC %xyGenD8WQ5qDq GeA1% %be<NAN%D(nT(2P0*k`j=RQ0eFm)Lz4}JӴ'IhLA"tb(bb$""˗AE|6JaZAmwj㦨 ;u4 ̟JN>|کbӝr?ϛܺGRCW>"綠.WHr{h6J(_FP1P/ GTϔOܞtO ̃u( K~پ15jvsK'&`sQrOqd'q *:ԅbD^gLicќ0h7ל=MRBL!O_xqOb$DB\4t%R%ݩyr4AKJ+8IH9ED~x/PF$T ɩXahf&+0@dq )ݪ;[kef41"4b!EuU>H]p:=T-$02dIhg1T Yj,*H`֦)#?$9bfDBgR~Mld=ϏCBJ)b?"engGt 7vܟr)T9Di5'JQ j O^iiI"8]ͨsZ:xb8PJZnϷ #17Am Tl*w)b6G؏ ˕NS2m5e``nmE LjK5 WʈQﮯKv>n(njPW=2إ6;#''=bl6(xr߷Э5-2N 6jGb!Ym"I'Lbot$#_ŕh墠D$J;ߛp@Sd)J7uk+X L7)Y d |(ҤUWXptI"9H *#30$*JŊ!)DB6RHD`(b3U0f4$Z G ! tD@:(7R'Pr"Fu Ǎ?Ԕ/Z*HM/IHEœ7BFKU>aĘ{]M6vYR \'Jej\}js(ѭƾe^p"S< 7@!h!J dCFk_\)M^ fAkr? [ 1p*Rvptndz@#wL tǕ,^oN "Zۇ,*XHH(Həz W#Lj2lߝ &X壱ۢ~"Y\C25is o7<*xE.:iS-Teav X<)Xo@llU?&~;yO!ެHW e QIAܑjky E?ZKi$aJ"IYt"hhQXVvWI'VMt鳇->s$SOykɅ3n0wB,fZݔ3Ή qYB^ִSFjˑ)(9buP+2Q9ɠ@VjQqzb)3/DUG"lR>ӷ ¦1$8Rű+h_YQco+sW\ / Gc,őnE$K@,` &@|RrE c%PB/,#PPVܩLu83!E}%V8mS0-7We!(D-_N+gr={)]V$19 4}֟pi! *1Tm 8ڇ ߤ_/?e/{{K5Fzlq$J5t$RSʺ.c[;+㊹0B)('x3}MHJ$\-KVκuvrpXQpMIǨg n!``g5xz|hppn] ! `D3ܧ#U8I-l&5P!1Ҭ dމ~n>H*X~y^4ֆr#$)ŀDҞU[KUOՈYQCӵ|qKF.6_ -*Yy-rJ)SPbl/bzʂ m>Z% KN!0`~WhIHvsB$yWLE¢Kz6dZ[wŵ>}--9"eIRB1R@Ĉ7r5ŠȔ8 dko!Grx!80vY*O{17fSt#3ca~]xr`#Fɺ^!qݬO8d~=U)ϘF IM 7Zp!uX{\-b%11\UJ$y]\9aLX;,eiG0ы$p/uNۮp* |ڽvax[? i <^IkB]D`\e4cn?S8j-Axf#n8P_麪ĪlQg$3E̫U ejreHХ$D'&%k=u=MŜlZ rFWaJ۰>ib4">#+A@T (i pMEwE2@vG _,aK+htq?s$VK) =6otR)C,%}dUUt OݸM N :o~d,ȇU5ݖL3 Zbҁ5W6)"hI?~w4WRHCvvebXPG`,0P$!g W =G.2NJIjAD2a%8#V0S7@ bdp-2+2#τD8P Fv ,*ݧ[Ye /ojwȮ3)* QMLUqIQKV?89t*$# =;Lv) v=Tn ac`'%IRٮ/KwC2\1}SD7-kgU1ը"v%h5^BWH˟Ʉʭ#u֙@ v3E@T˜ zkB˘O5s& D$(-sN0#p$D֧a$QqByN82F h3nz#j1k]Fʛ ]  ңkm"DZhƐOJD)㒖 :פFlM1 @Crec*a8M.Ϭ`ocs2$x+Voz BNMu\[8vt ˵)}Y -]ŕλA`^lRBX{QIԻm2z[|]M3bg˴Ryǒ1 %-kUۻi񧺥-'2{26w"B>j | 8OS/30*k"hTവqGR|i'9^)G =H;RURu䣑u).F)w^xQ8 Ģe*uN%)W"t,{Ft [ȲfDm5V4byYs)BfOa X0`It\-rp/'N7 D}0A^YUWAiubo?hLղNα?v. \#񈞐7jG3*rܚ5F/39}?ĮƢty`HrdƂC/]1Γ f&#sJ)q2QQN0 oQp0s^AGuX6${z#`RBjF|91t"н[d͕,4-͢84f~BƇa^rayjX5X x'1:RѢJ[Lފ 6yJ3J8zL>b?K ç@Z)݄y{YyOȤC%eprcVwM58]WSyIILip1n\%=^0۝t (AeaB^CV 땶>]4RUQhyXŖCFՎFW\!ƻC0A=dġ͑C]olSyI[zCM$$ Kd: ek R-k$VOFov jO(\**+fbB11=nt 1]gV<..ݼHPІfangGzx5}պyl%.Y-bhqznZ P}Is'x1iWS}V!vD٢,D r !w9ZӺ&/ΙN#O7 -fC,PFN,9>@Q۸=C`i7 ,l/y\v"ZƗR+\vY=!r) r )۳r-UmYJ[K}q{x)PJ5GfF=L NNCX&WP rRoؤJF06!q׃DBx+:f\BRM9 l:)m+Y F>*{0$:gG+eiə2G& Aϣv#p*ūHUs꾀N/Gq?d$8ΞȌ# )ӓS:.U (%zā铴v϶$K E&W=A6$ϒ9E \t-Pb8|ծu܄RxΎF@W)w 5Yʳz[:̱57BbE(92zZу&ړ˺.x6/VΏ UBr^PFTv+&߱$ pdgW\%TKr))/M[%QPHS)kV;4 /Hdj &$: e"iwh%AhO}R1bone~nn<({lTXGZandlgN{L)Vn3Bt7)4ҳ zÅ,/EXfNsqЎ!woˬ){W]e{D &]O2H|j7aDEB/s֐^ #Ӝ[B" U #)I;KrR~؏b?[yjRa5;R:CeB+hȮe'!0VB@HpfVOw`DxBx(^h,a7Q+WAW7acE*QqթM t_Z=2&3/l#MRk7YI^mqW'.G,4VQm:x"bb mO`D#H: JR4VX翐J R;HV>NSB_&)JS)kyחfų\d&=cDj#S~kem9}2iRr:،1`вݩb%*3`/u'$k.szW%e1e3h"2c,zJ12>@_&#q1;̺]$8[pBYV!½jHql^&bO[wXAг,hD;(sO4E}[ DE2&FR̩ja?M䏪Ūo$QvN)\m輪}voW-˕>ѩqPKGVu' m;zO͊I SY#TȸYF!LR̀(=aĶcCWz7+;` X;hd9AUlڑ6M qD"쮙aqCmajERfL?'"^#uzGx¥$[Rg#&T-3.kAEBt);Gn9/|r\5"nXs&Cgjﮧ} ⃊zCyy4ag{LT"!T{{$V/&o-6A %b rUg)EN(YxcQVWyk8/KOSiGIV}j9?Z!6 4GS?)f[3\@+ޅ*L*QjVe9/Y@D,:VZjj#•xFro |![XARB}+ys:%iw9AK;.>Ng6Q bF\P K88'5s}v`=>TDD3("]\zBIjk (ÜSlN#4~~#zݵ41iuN1(`HRjIu jivG_:q{[S/NwW-qF =Ңރjj,%#1SCXm'vh.gf!'_Ʉ4+ _k`Zӏ}!3|Q\E&O,#TNZs!5CGi&?ģ!\i"ȥ1˅ĆĂCy9#(ޢOPiXj͔ .-WEd=ADX{'B*k`X j$hSDxQR>b\d9IUiF.CBhiqՊ L-H%3)/ .զG* iwcRP86j{H&?Aól ,-\tm<@aEV_&*+LeR &vouY"BNz_ДOoDXZ,hԄau 4.]4m}O }mjR"NHsWU.G}Kt"%H݃麖8dd[ݓn sad_lCZ&ESօ,I(weq7y ĂxҎ~3QAC]wŸ9u}=Rz;K3.+<ml;w1$~L`Pv5mb7NH>$f魋 %? ֚a5tKHd5yv1? }\ӽ$"on%f# ( p%iThlM ~n~Y1߭V񳣤Ta{OV]EYF{ܯj'jfʔώccK̫V^5,1&V "'qkMeEkKO;aH] ( bzb E#L_Š! ?Ql_(L"-D@iLOg}͗9%EIEڍ1:-y$,(3!oimF$̷T0S+ۜ) OY-tٻcn( 9%lRSBkO&la8CT4 {=qDž梱b Eh#AVj;{rfz͖,Km=xԹt0a2!DUElI<4wSsVd/$u蒡R5TcY hz"VtF'$m2BϜF32q6i0%6mWM5ʤ8k, \bcJ̠?An3%bJ r"ٷ<fj.M=HmѵzK|"n445t˰h3":\l$$Ih1 ;!QC{E3"VYװn!Y\<5Esեg+G%w`ۭBAa[)9i~M}M86\&71>hF 7VN!:d3sD>q4Qdͨ 3mM=}'E )ѶbN#cT RIaRC//TH".*L0*#+1VIPoh|TxJaӁLF'`7AD q_ĄO:@ڸ@7-2nE %; ]66DUYzi;6b.>6һz*+脑]hm~`H$ uZaaoo X05\Y~4@9Ќ`k`V&͵2hs0 N,23Q*=:ٮ;THFfYPM,DvxY0 hʅZUĐ^kYZv5dR xp&YI ЛcX"n):ISr^Ԥ-WX&ER[ekD&-ܰR>K4`͇Jb|@>)Jր8@5]^ÑL=@aͥ HH@2F[Q+iIK5iHGzuK.bQ&FjLl1y72AFJ}Y̹v.у_iG2~ Lb+.u8C8Eǥ)CIFC.HqBa3&pܠ !('n(Ufۨn;u@9Zq&=FQ WEE7TUgH-Y[۩;{oT }Ӈ?K;VझUG@PG_mjy-1B^n<$XP!yq_Ur7> t AB-tN5+?q f^TގF9߄. V P@ڵҲ67ږT-ChƀZs MjSz 0j, |$$\|O5iz븓x-2&{%JI$8>s\|4Klnݢ1l1m/ryEk > ޭZaHsbJXtaQ8%bKh5Dm"K6J)~`n>X Kqdֲ/:U3T?S HʪZk.ݘvVq[ 's.b={/b hޡ:W︠qɃ֭;O%Cl$"-HNbA p $qCr_  ͞(7Hm $?t!mRm) B:4mѧ#b;x(%c&E]hEAASQ |G } P%q%)LY)Kzq)`+x_IPr-;$D[&6mvR=gj%`UTx`Յ|#BC6BƗ"JLEs煬GwaTEWmU=QrN*ܻ!ɿJ;sj$7}G \6BU$yϦphfn[^*G!*2&v҈K&oB"90v >}m{˝Eu,)=&%2v&6* ioNIcf9 d ̥9qtB*%lFqp@*"GFŇ,kXEh2)K;BBEHay#g ~]3ɣǴ&:βk,hd#<"mS4,֘B} +@=x O^1lUg٭OZ77ٛ5Ä;+8>'Y ƒ T:{jd5G7x (II0G_E0QA('UBRM}a]gB.v{s[(fpUp )f 59 mkH21@/ Hue=&駲D=m1KibQGR>13 -P޸0fXXՒ~ QPr&#;b {\[N9>M0HhC}*A -L)H68b.g{D}-{LSN.{.p.t -EQ.J"Ȏn6 xced{ jl Toc7ϒѺcjGj.U{]EvT)$ #]Eh J^ZSh| :Z03@_nyd0ƽ4#} e@6<2\a-uޮ?&gj&(4-,&-/?jV5H^R}ϸ^SLDн * -Es4$%C}mQ#xrcDڌ<htUQa9 ^ʩB7qIt$hYm~c1MyvlIm]]: i ղMHЀE'I@ݽct<1-~ !rw}ʨտ`s|[Ekw.BzlVWރ k/98JEp.SC6RE.ʭvE`CEDĚ:K:7F{]3E*J-)g㲐;$Y;]+߿RIf9 4tL²*YX5~ H`ڤcyj$cŝZgaQ? lw%vVbJpCtON%w&cq#u>M< lPJRӞ$`i8Պ=_,qX$*>WiJ6&#Pжqh] z BPĊbl)b0iQrv^Ƿh҆9$(>ʮΠY! 29įf,5#*Is;zVW+tVHKS7b)%R[ʊMJB\1#ѹei؂KA#jZWH"/6gH&YϪݗ.'+ƌ%0ϿzoD|\͸B:tn{I,>xԣi[M S}mZ]E4M'AUЈ !}HacX6t!|&(MCM]pkG6 ]$OgQ:ڎG_H1屷K$6lr2E7 h{$;DaJő^X!!$9FP9Y@l%:uT5*`s)?PAZ 1 yy٦=T$ncx}H|^pZZıAH!$/#V4 f"x@JF;!:kjk8ƜQQp#(' ܨ2 oYJqٳN2;ԯë\§3٩U.h'N'~ݔbCVJ+m$fkpz_2&m9 Sh¹'s|znuyh :HWD|D47z5f2N3&/XX*siaH}Kbz'd Bq?ME b5礣ej=J]`L|-M9.9Z%@F12cB7$NpTH2nDQLG1K>xRFdn\G+418g 6eطw+T!B(UJ1MvLu= XEf?xBjf'KF.?M p,$p* z;?Rݴ`P GaTă6pq:m츢v1 *ֺo|1eܤ!>EAh!~Ȋ*hKn,9 Q]jLl$ &qgJâggQ bu~Sl7)*1Oώ]k^^!&[[6ED8Zu %o!2bqP1T,u(E(z8Ќe!Qb. Gn"[ǹTyDc8*o[%#`%  k hPj!j0lIP/cCN .X). 3JpU I |&l>^ѽWFi.tU|@N$mqUvi߆$ēt;U_O& W3-BQlu5{[c_3ԹvgV?i&D}U %ѕ˜-Ҏ ]:*_iVY~c 9/XT.N#JzHey9PZL  wFwґ](&aӅS4B(EXR1m+xFzj,%mJ.ze&Y|G" N41A#RX@fU- 5aGͭYPX05HF꫟i~+izKDo*'k#1?F"ADA^iE7iO*b9ɘ 'Ix8 |]Fi{iqhpQT&xL]JηdGα4JDt|/$WvumX? @:;1Z|G2uOJCqde4LДh$nbU*⡴U &ahT-@cvyNȭ-Njq27r2-2k:)rjN8}oIhPRPG{$# vvR~J/ז}dԳ%.,!it]kR ][lyצCQu LZ=J>dԧHV-HK.9Z`$T/aQJz2.MA'b  I ,꒹B{1 JVcW|%a\z,8OyLWEkMO1g |>E q{RdQRoVLp Ob|ݦꚇNKYR3CJ.X1;_g1ป2>` s޺t]s6pqE(,׋@L-%,#6byʟj,Ob}@⒲`VxԠLW ke\=3>QE(2kuVEԟiTƑ2FN>&ɥB(|$88xhO̡RfZ mܲoN k/茴26 -jc„X927D(!3UĕUyuGq"Y4{uH# dj^<٬vFC]7) __&v{%9%`hkL -Eʹ"Jexs?vD?$8.Q"K +T1i^*Φ*?ʩMk6_:~e}(Ɍ&IjT)psc#'+;6O*AO4z-FR+&hOj}K%`P.V :,`Me(\>r/~bjf/ʺ#}[ <@IyԮ[z/. RMcI%0&~ͼyN+|A|EAՄ"i9#x n5anqrDc5@1|+SDi(A!XbUR]GPo`Ʊ=ov.s1tde9ub+Q+d+,{2"tLʳ'VX9Odl`LVP(?<$L4NtAB 6kh%\/:\VweJ;Hf̡7Ა?FJtp|[1htƎx?ZO7< GBHhbDɢo+ЀU6l4ͪRtG+C%qTmoV&Y"u $dډ)Ill$?ex#AB7e/FoK|Bh*~WU3MG}>-Ĉxj6l&C;VowΔN~g &jJ}20{ nx]C$si,qn$ tA L3,n3lU9|$ #9^vxSczϩ,Ʈ7BW3;-ńƛH3ΐmY>h'BcDqgRXV*HDj'98yAM ueq^&>_QYRDZe4D 5qRFko&UCKĭgL88cRm]/>iR; O% _RsM "Ii3DĊԁ YU4AБu"Eċ mDc,d~ڋNFV"AJ25i&kOe3FTY,NKGZX,1Qҗ!Eqy(ڔyNlZBvJSʢMVUqB{4xWZXPE>M.2牖U)]l)](dH︚K:u/$ȁouM.@ҴوJ"ڈ2Zm4h(&I6.d:e-%N/M\2i^Ir#Dӛ[[:qdU6"_YY*Ztm*A*iNSiO rR#mАNRn*L#Nm+mH8-KH e60}]Н[{ن+?=?"U4~d ~U%F;V!K(_XBdҌ5աe!f!N /t":"T k.T,ϚZ0sN>M!ҡq2 6h} RPX q֝brXNpMz T8 k  АKBc8ca<3-7Lp;BTKGB9|yU0o*ϞSsͳ6Qj֤GIJ)),«[ {^%151-cr .J!W}R :)VM/¢j>caN&2b#] TW*U[T~Aܘ߻h*vqRrԞg/@Yĥ '=L^]CQ5W iK%i 䶤P%J%CaTd14vWR(+Nk"nLC(pAvD QRn8 fޙ^V4zkYI1)7(<35a՘ bHܡ@6!0Aɂ) ,i<B$Kigg/t?GV;P^BDHq lWu0?s(tTIs\tՊЊCeG ݐW z^8%Gi^ Mqce&0́I#VyDd|iKRH'Hf(*gѯک֥k%ߔmm,^Ic.D'hs,3{U)ȟ <]>\Zo^DI(N'tJUϾP$qήiUیtŶբ(jg}44[)}xܛY|ItUN"M&V-pC5L/Olm2]J hP6B X%ې"+jyY #z*WJ&T>SEhLsQ-˳(JN[Q[3EqFPeY"S~0:P`Hy'$V6\7tO[ )@p™$dMPݥc|,t́B, Nid]6$J 9@s)RP:;#{,WTK}EQ"k[/-O(Q.dת4 H„cRoJ ˃ ~1Q6}PYf%{qPkKЉ!_(TQ:(F}P@d.sș}B*zT 22diI7qYPmS$o4,>(Z#B "@<`fWB#cզ4y1 mAzg;1J+,]2~Cf4^Mn+䘹I,=fG">4%U+0ߌ.-I_a1-Mi(y rO#…JA]ύ  EѣBw| طY\lgM `dP++a Ѣ)PsA7E6hI浉FQR[.lwA TC5|=[v𛗾!,_0TsQfyDMSLhLǂpkeb}9%Ʉ֛"ΉF[TJE bf>]R/HVqE`_*1&3bB|E场ʫ M(w08'N<*XIFD%"A]h",&Pmp$&r,Vu4 T(mFok q aD'93&Ct٤ YH ֘ Ed}!MUFVܹ;GU׾Ap/TY# ա@UE:TO̩Sms ͗ATiH:Y&I&Ah2 ^4Oҷ携 `,*ah&eֽ ]("-Jq E]wR$z vA_ L:,|aӖDס13ɈnpD0+"tp.BUdYOd ] .yu "I4C3LR~fKQVUGT$3kglY \ -cxsO=@Y~I!15ѬGÁAGP\& @i&EM1B#]8.ra}]P(Upd*4\6Ґ H*@TKK3tSAUj0. Ee+y0VQr˖<0EdN7Ȗ) (t1aɕ*S.*.(H>]v" @p,]ɨ˕2FZJ4^ʌ|XRi)q pvz[p` RCʪ9ad/вyQ}twTY vI,,R8Ak&q{G6Iw! SEa묤I7ںEMy@l QFz^f\ILDJ A9[ʴIGD$ "]h Pga\B1p\ 01*Y4&b (#Uk:h f Y2iגA0eHKzO@ט((iŖB8{ĕW4&rDwJ$R-xv,ic"!Ðm .@RdF+$7ԊH*aI;R["V;h9ɩyu;jOs!Ŕ$絞ZD k8r=GN`ũ0PvB]Vp#S(dcω6uhAT'EdNKM4^}Ӝ}z*ݹX7t2E֫><]Af{TwT'ovg޷dUjLbKIh"ܐtWTӑݕLWl! \eqNvcqd#(:w8B"'hUb+.N[dz%t">^99[_б?vjTjR)Rժdٳ#R^W%\@ɣfnjCY<_RZr[muhY_y pX1OR@xhiE(PQ`h`H8xNM9c Qe(`ɡBm7K2#n*lE$ME.X!3E.a#8hEM.AcFIڢyC\!W;5QLWhB]T5[:4Oka@P67 ,*^(DL 5va|0 eE3E&Վ+g(MREW_FO)R1d節)!K(*jdNvx(4,*g&4ǷY#Sx0zPq1?v$vPEt,W Pa6_Foa+0bի4<:҂ж&%5C_&$N$K4 ^!b%j9l*}! #XHIKiӼ+AZ(c[P8l`|1@,"F@Ӏ sR* (,Ґ$'' xcVNX)[YآtiR|A%!j4fHډ+m ?0;3(,&*mNJ_\Grx* Q bA5O/b`(q6Є*@R (G:.az&|$(0 HQKDQe>c97KJ`,bqxHJ=5Rp4p/ Bj @yZ4yA3)${lZ%a&+fHCS-o4fZ#Mϰ-d_{­%!dlDyU~Oly;_ s2[Tx$>&BPth?F CB hxU!yǃ!eC OD Z -0fA͏q=GRcM:L(/CÃ:B9e/jA,l_8ҍC4$vW05! iI < St!EF;IO&@pkP8JuEQRjۛF8F0)vg7WLJxQ56^@(#ViҍZ+j۷'S};3M5+#( SB!M! |*Ia?Ыb7&PPzV !] j,Rؤ)"RUW#5Ve/P%kU h%Sa+'qAVK- DVz;&x2y&eh_P F:P3[xl;'T@zPʔiO߈8l}?M%sypVH)"M4!ndA_#dj:a0ډ{g(]zYڼΑD pSdyq4'{Y3WnֆRP15ԩCoNDP%ʚ"hP%8ή.юJJҬi4LQ8"ab R.4DDOdzMNXX ģ\9$~#Nt+]}([]C\(&w$3]Ě^e\qy $Ȇ&5)$(,1*#%t&,=-7^0J0f$ꆻ8ׅƁO bҖ^e9tױ)6J1?(%<GQC\TRߚ֢*Թb_$ PRh&kn*'鴂_4R#YM8,T& s}uI:} ҙW9i$Iҧ#ܱ,?zr1y pֈyۥK=#QBN$q)d#b%f,Ua[r,@8kѧs, cPEe,Iszx. ]=@r* ŋlH_rK_yF<-AM}Xga_}URȕw_֘'֚O(o=>' ;.|E9[(,yT2(1/7>νҕc[6&B(% 8{(B-U#J)ݫ͎m+2ue-ضdp q$ֹ-nQ + ǖaZȄdY[qD$!Y`ECh1Y 3BcY9% ԆW!"!R7kljQL͞W_J_Zf]f[ILff?O꼢Λ|)7-6,Zk'eC(S>"oߤ_UZtXf2īf̏$H:o ,Z \q`;]wy]6ݽoG:| V }I(CȄ"LlQsPVaT F*s,(R&pqFɷu2h`BAp5ꦀ̘Mj\yY*4c P:AZ% KN z)NdQܝ]yQ*ۗ- )\Tww+IߞfXHJ;dlZbCB1LhdxP|(fܗXvۋNʼH`)st.;X6/o͉-T1ʴ6n@P"pn++5p ϴ^%*ZT͎0 ӛ745eU2xC1$x@AB5</6?2iBCA V;(ZP,N`YQ2XNgd%3 E4%tY l5}((DM$q0N}6@ QF߉}U(a; nKsK͸%[@r"ƽ 6$D/۳Te4h2P}͜Ĕ@ O+ ?942qIL[De*YJ-f\%FD@wlJ܄Jf:M(8A2Y-A 1W9hL&: lK/6'  CԜ7# y#R"v"4e!>c'q*&0$5Æ`BjZ'ڨ@)ƢQ4T: IG^Q R"I҇jR+4i.yf9;BCBm`E-T{MI 1q:JkBLu~J k6ik6+bx7[2D"\)y-ĘλTGo2΋Ec2#o%5b}ic=%X/R`cBCܠ%V23vDZK$@xSJ%qg9Ez 3 (C Sx%&^^Cq*&P4Py9 [V&BchlGVѪ*TJ!>">S˲ʬ .72Q`Lǎ7 IO^ ]g{.s0=9j%i7jEk9Ɩ J;owݸOEJo8N+uiZ3 NET@ƐpZJ*7wtC|_}^.Z@BV?g.s1 K@-xc&C1̜4_1aE(D@;x.("r/U5]km~pʭosN]imUR=\}j#1ʗ3ׂ"~5PudB]lV}X (S(P$]+ =:*p"[-CڝUг+M8rtqd] fIx0$1l0$Cj}baF1Kb]E[}Z`q_G*! ~ҬNZ/% uHuBgn.ďCIR 痙c#B$v8$GXrx*}FT86.UB!SUeCA䌕 -2՜ˌZtܩUdOv,C#d.q 9${O Tnt(h6JmjQ"sK$&N̔O]mፋ 8&4 '%6S UAA5TQlܱפ5Jc/X@&kd\%pnK!LB$zard\:J+D4񺟸`BVD-'oШ_#Z 1"qJY(8g`- eWJڟhDz.tB(rVw/!gDэHWuc5Z\a!L-;EA*$7K~ItK. FP0xey!y|8kdsH'd% m~#~]ĮyU9J3_?*31vY,^^B~7[2vKyIxɵ >6M(S9^V`# d` { ӻs4IH%Lʘ"m7뽂Ŋc!3DI$X[dgl^Aխ*BiCAdjrPkܰz\| r4NBJ?K)] z |@USk6$pJ~MPUw KFrE1dJxDUu`d `Y (6A*TThJq7x03>u唝˔PW%ăr/p{+GIB :s]dý.*KBzU]G=Y8LkOvD^w3)vCj>Wmy3TܲiiV /7E^(_eV, B\^hȉm(;52dQ`r˱jSԮ06ԨvjѦ5̹=,lCC-i)15r -'F@lp"%0QͣDAbJ.HofxQ$)L?`x}TY>1`]H'lb^>%zɬD:⾠u xyG{"6 ̈}"F%۪ aQfvcەUɻyQpV%EmAJ%KLK|tAŭz@H"\Hr=yrE_\SدVAo(EQimpE1c#4"-F C:!EP>L<]~iIo-w&\$,2mU#X,ΟªDL>XUqnܥWp!u& ÷,SEQ1(l<*Gt3&Ӡ!&nue 2EDD!4+&9pλ0@}!$ >$ZԄEM+:rBT ҆^nl>tsh??.`G4KՙPڣ14VދL4-x@ܪę."q4\ rwN{Wl lw$p6wej32 X,#:el'wwK^2\lfP-q(>g є,V&l.0'D">g!|7 ݭ Vk06l*|x}UD ͫEDc_t&L0bj_+JQMηU66] yEwҋZh7*\b."c3 |ޮq!1G۷T eXEpP&#혬=YB*W."[zcqIB5e'ȇ~]SMJN@qrSԢO]bݗKDD.MabodŃ(s?_Y!m9m~,~󵵢+ia6M-}ƪOh=~^2EUJ:bjϐ"E'bJiPm#5#z0莵؛maUԅˋL%[Y dC+kj@=’D.ڼpޥfHӐ'ga%۱ddU.UZ ^6Ff]M2+Oh] O)7O_-'BvFLt"rad |!#2>|1~9a(MW\`Z35hEZ3eIOԀ5}rQ"SGƿs4]m*"CN:$I.] n&A%(QU.g`]fGJ:V}fS6EV`7,Q"AP##j V*vӭQ?t4x`K-8e(0\+ ]QQQ%a` nkcpWȆ1WDGs54_aZq~Q0|ȹs$EtɈ˗PVH4p9?%˛K H%"5s8Vk^& S ow a;Ǧp8P4℡J`>{knuN4Os[}%diNBm Q10|%9X) h F@v0Ipfx9J_"aF\¬Dj ҽݦz M8m+"ޭ>Vow,7/[ jRnWMit4D)JN4T|,K& rlW9VE5\ߏx @z-dG+Yuո̱2TT @zf%(}oȜ7 z CjxXL`!BA˚>xT|j2 ت)HV oKWGg{&Ԙ6P9>!H& R ^*1X(g̭oL&ye/*!ʊ(aޅ+ٴg5fmOt~yZN7[/HdqӘNI򱴗yߝyLBT2d&r/nXW.קz~Ӎtx!X4+KPtgʀ;,IsjZIk,;vzvv[|g$NZUrlXPAz2[}0!+7>%tղ; _x&d ;lʯ*tmMS{gq$I?G )ߋq[KQ,sid{tq]Kkt7혔#96=(!PXUaFဘBtvBNb]'K,u jĈ(Ȍ;2fm*[M$ @~I-;-߯XDy7鉋uDQ8b^ky!uc!v$uMr){yd^~FިVq5TK\׷%7ZAI1z;oJIY?6wm&5&9ʎLu z+ݰH|BvZO(/gOZ5`=SIGd-0 "l0]2-#'i\WQ*\WLx$m5ݛq[V7-F[Y1H_S_4*륄 '$K=%W L::FB%W@XJltZi7ݵJٜ  tcET<+~5CaaL:@/.*zBHIg$cSSD}WOJ)DqJLz#HE߹*lOͫش-pĂ7J#L*A 턭~B̔&Jaٻ9mm7n/wcVz2@VH4g D';HQ$Ni@^ynbѲ@`.8o=v VZ zStHcD`n {"3zm`2 df&XVz$ .mG(;F,1-P/:kZ|-2ͅ-(C;䕻1mċjaPFP*t8zWE֝b،(a(Ub}R4T%R{@35ɇ:v4USy_lorǧ2/tA"eDm ՙ|eCxb=bKSTS-ju--r^ȝE/ |y,Al[.ER$+ňÍq@Wa|\*> ,iWqT2%!k y: 9ңn6$p#E/Ę~2l) t!Z'Sl1<.jnL8b)J$fR6u~ ٗx˗(=<'_Uq DOq ggYLQ4*s:*FYfG^-DۙkxT|^UdѼߦ@Zf#IRȐAd*A$[iohPN8L 0sQ@Js+VE O>J 6#XR!ƤpUȿTR?!AT t"K$C G|7 8YPo$quBg,)/lܺ;LS<Ց+GTq)a3iZ` "%Lᰱ\P2=]LP(KWӊHvbT#"!cܛG4և P|W{ꯕ匀z;е 0Yt}sH\áKS}Bb"j 2ZEn$vD>@DBRݚiwwU>|E<~d 85?z 33y7~F6Bˀ5^o`pRV |6 5͔щϐدm}y͟X3zv{Z6A"$-6a. KyJP%yj{`ilzTJ iIl0$7 T8ĉF(T<_bUz^h [s"4|TcUGo@:hJKdEaDs֜N1*&{Û6. +?n%D[O_:M ak={"Yxblj_J?גjI A &wP[x=O"Huo2ٕ̝}9,_nBwOr!lRRPŋʚ;;ZMG E[K30Ay(;j;udЙ'.0*&åق]⃘^Dv\UzlFrx?z) EHe˽i wD$t1C '?zPVB1LhMqS$9&k;a cn OYxrǩּƥ+rwtծ|ꆅ?ıe1,rj)_yeBB*R㼓oYθz֊8RdX|U"NĪ.eE_y(wtm!¯Uh[ EK3]Q6׉C1~2mԗ^~瞧/ s'_6e?0{K20foN܅$w iZ"A;$k?>Hʏ(iKvɞg2HRϧ UBCV312eM ٽ?Z&+bm`LZޮ8gc3<_2$V~@\B'D "ʡ-Z>CКGXI58{B.oNG 'նƁ[nĀaveD?13\O[wZYjrtb[泝я!Y.tNs2^jEksuIU rP"uC&>n*x"!0$*bORʫ2Yb^l[m4xn)E'l]Li dt4OҤ, 7>#}]$e>U@XU=#@ d[kjKg|W0@[OrE(H2rzvX%jL2u!*p*$^$QJ^5|:2sQP1G!po2pG7 H c.!8(Mvfc\c {P3&@XB)\z>0'$G6vK3S mݍ̼d7%bdSl{%]=xZېԊJV7 /[ȌLdVbY}'[蒭vLJ9=q)/ KF*WԼFJ-! 8QO." 8qi4Lc&֘)TB W)vNp0i)JL~D1qS$y]Psĕ"h`M  iƄLE/n.*|""Bœ@՚W8lb%FY|۽x*@L#O \YRWXP1I-Vw4vU&ipk*I$‰eeJ)ц!cCdAQJ)&@ʤY"FfI@&TK]G!-\̲šOa%KB1|NHll5 +io aqu،vAD^6Qn!itEi@^#JKVzcʲCy#GZ.$rzɜ!ne Q) H2Y#K2,lp\ᢢ:2dXX(7HP=LB$>֘ja=eiRzWˉc($lCg|7ӦXobܯIM8&?۫~ G%ޤ՚k>5p% x<&4dte"Mѳ>ApMx!"|^FO (=Wr]ү@wSW,Y^) KE#19j1 Ueuӽ5RBB>ʞJHEOS_No"" xowTfb aQjmhV7!ReH n*" ~)#_U\: m3MI.TG4}7hCfއ#abP (~$Ax†0@Ԑ@I?@xyc@ B s0M=BM5+ $i2::95]:+O5dQ!M ^[%.Y"ab 48kdApM zӓl!Sh$'i:"Q2HB\cuĜE#G*(5qaSJSA#4EļE)殔Q|&t2 w_"a(M2.9$@6ز *( !#5h;J> gRc[:S(&SH՗ pDAH-EdĠbu!92ǑhN)#2$X͠0]٠4m8 lIU Nh0Q;o)JtIT p|RQ]mgfW[D&gT8%((Hī]Lv) y14BLĨ/J3pikbB@hJqzg}xueZv"j%(>_ƝżmT8yH{"RR"(cxф"p1 Gj^_?x?;t}tP}MXT"@ؚ+%+阳3SwU޹Z5t:6SQO}HdyzUhYOpR.`a㠷ƢAiguў!hX fήڀ̨X|5rCBƐ+dbX0Fx:r5D/HNt$Ձ'a hJ!=0ʡX Dppc+_h VRV]Ba00wp^SRU_#H*@ǽTf[F\mM;T\‡^KХ[Bc^+!~XR+vJܿ88j̜/ T4-S9Tu>im!'E=)9Hj8!"#@4!RI!eiKG% 5&owG7Lfo֕s)W5hP&3NHnOO&6q^C9(XME @JuR&iVR%iߟW+#f$_BBV DL,tGD ;1sHJ*s6qG!$bU2=dK'4b+_{1I ">2*p'}Rfq,fS%-,[X[\1)Stsf1)Hc') ňwS0ĕ8JJF'm&H5#9[+ *c.c b7V1.OO%hѹ74h>CJHHg®ZDBbRw=2%GBA 5uNMA1WMlFrax% A5-0L #`4ڼp{`Sgeq  D.wNg6+9 a%*\܃?vD$#@L\ciOaj"ۿ8yC!2#\%* gGQ)MˏorHG7 l"n@ (.nϊ*[ Q7) GDsk !=>40d~V?[,[Ų)x>`)RYhHS'~),RAP׻_5 ^ؽh_6 6_ jkoHV=rU`l:] aj@9\$3R@G\0FRo/R@y4CQS$Y6VNOC(" 7`)aa0ݘBz~d=FdHp0؋<'TMg-ݹ[Ap@a]󰎭x#&0P-W zؚG8,p>e&{d&bAYq%WIR(I\ tR!|wtgc)N}DEC vK‰ AKLek mQcry) 5\ai 0Bsr>|HhU&p`p_{쌕 VxCEb+LH.v2Iв!Әɷ1V]qqB2g40ȍɈ˘RwKlɸu^ZH5韵bUjuNZotתiǫ,UC70ckiCE`6 LХ|ˌDE ?H´?TIK@4&OQID$҂Wk)߭vns}o=-[ ]7Ι6Qg1)pESxz:jM]bZ'zA/?5y\T բuRU݇G[U^AwJI6bc׉%R|lz ~p2^r%1 jo9dfFah_X*D)cZx4[h>m]Ip;8L.[븆v ؾ1T;89ƣlF@N\]|8RJ%)\A{c!AC|1̮MBm\ D[e_2&x hX%$DL2RYAF˃1݆Q7D")%dRK&MugȵRVZ[@[eohH \v*dD Pm,5}"H[#C/ۙ|T|f\O~ASTY>^)Q!]!dO=~)t"e6Mi3܃Эd6>=V6ubU)+ iQ(# ^zZaӻ$oVW*9u)8udaYxRlO >٢C;]Ex785 0a^\&;n"ru2 9)zP$TH/AlѓWILjl=F7G+#*_$B(ID9(D"3`p}%?;yX+AːXK@1eKڈDיK`187VO ›"F޼Qdqᜲ6pN9ghPd%,B[2eǐN9ȮB (CpYy'_IN62Dv)%+ Yi3*C ا>!6yrit3eɤ[OEәziBXW L+ǰ}!W* Z /)޹eQO2b&d9||`UQK s,ECBrB{0Wak )0H$@%/ IʅfrkI=㱯H29k0?Gv!&Anܔ RZgZg)٢f6DSGChiOɪhݸvd2ǗyOoT'f[Q_!)6ur4 ]Is9z"xRPh,w4nϚ m3%w4J ` ,Jmie)VkF$^(lT嗆:$N3h+;T UVfz|9j~(])5,e9$&HDĒPba\SUIIb "ə)S)wlԑ]߉`hey^t/}c߉ }l5Jccjbj+(ܖY0psvv84vWzó.g2-A1)5"~wTq͔#(A* %I8?迴2RwGJh\RnEds'.lֈ*HkJUAY~H|eDoy{?#Zʦ/<]B_׿qoƈ҂&X OD?q¯YUbI&ԩnRyidKRur RR"g+ėA'm}  UkGK3`N/ϡfg⛊,K>Q8ZhֿsLlb4KTA%;٩d> C Jav滖&Q:I}}z9P_Z?L?&B@(*k tË cJk!;g|$ԕF.q9*w$+! TrکN íDLr~l-1CM C☶>|"(&i4Z*K=SHB|"sF?>5J]8 ,M ETRGE ߁M:?BuM˟ﴈBB;-?ACA 6 =sڔ@DJ->*EF:DQ2TQa0̎\r3^bK徸t6~m LTW[Jj5x'u€K?kMY+цZ/.itaG_@5Y!Qx=~IM`AR5L&_54USRoae/'OHdLk[nP1!p}jVt iRV@XH:k6,Bkwdk/X$ײb8b@DL!='Rbγ]n$'P9"RyA\aIfiUDR*3+Y2Ļ.$D=S,jx])߬mCR![H, iG FY/`gZhj[ֹZaCN 0gVܕg/л1xXڇbEeчx,:ؑ802 18P/qb>i7^&sfCX1$;ǩMByAYi?;hPi%k7gSffA.D"wH{1b!(B>D$*$O\3ສ Dl ȑ/c4$Q`{hOj uՄ[*PJ[|]zM:n~m:B ? 7gsI7XG|!2|t(8RFAZэ}(Cag&z?Kw˘O۫)<71WU]ͧ>ފ9ˋjeə@^Rg:*k oS8@  !+;,~ ܶN^L,/t/B~7 FT_ق fWF7}6xv=GuW*e"% #g:P*X糴IOD/Q? 9H~_ѺT7*c'9vCOX3,?'d{Sj2ھe(}wzrso.|F. .\'9A ;cfdaUӠZ#/<5"gL L:jWxvNnlMMD,2R0z+s̨HC pC-ͬ8LDqh'ODDG%ݕcBMBv8FC=+u4l|&`IG;6ϻAT'馋cNkAic-4մy*|.\4Tߨ/tѩF?h^M5/HWZMO*zZFU~ԺR^@fcBwz"ig¢ԘxA>՚(&Kyw)/V*StYL$R*)mgIb48n֟ &p(UV"Rv\gԷ$) ԅy[; M*y{0?R%0}l K=2J (I'؍`\rA'M۶LE.61P (AdRT zIՓ-Q3+vO Wy|_ԢVRf"Ccˁ}0\A+dB ( phtg]+(8ڇsY~rb7A|1jRfz `hkȰߑ'ZTeyB ~9F; 몲o[`ӬrޖP][ j60vIO~?IQ?BG"?VslV)'ח̵ jxߣL;u ALv-uIueR"=9} ; W/QtlG¾"VWF? _aXhOFBўO$$};Fef-cFށvMOSO<ꍅ7UUfp5 \Fc<7FTbJLnxE,>v \槬4zrb;%P](a[D|&U:`/=Ѩ 6T]z t3 9`.Ow[.QLJ.L"i{:pK]H{8{o-%zz+VWVDyU{*<-Ŗf'UJ5i{+Ki|0/#aV,NZn1!lΟ˕2<$O= R;)8-\fI L9m;GV (\XIb<;||~Y'RX(sSqpexD%KmU4 ehE5nQ`B+k4. D&X=''s4 3>G 5C!"fYN*ld"R"1Z G =uU/:ةT#/}M_q`YɊ R[6uK4ѥĽ-8"`Kn nv"m0!" +ǥp#_hN96hީbFBw7E JL urb:Bd&QI%e+9r~9rر"lYԽ]1O?DPbTWvQ \ŞJ UR L8Q](m_k$^9%-ES&hD<7z%Y~*e%i{#IΡ׎DHY( D|lQWXdmrY~ U`!Wr,j@gn\&u:p ΋5iI,5]X4+ `+5E(E)aG-3\Vh,C YtvB&CKazm6ccaLGT:2]5#c5XIY78%BW$0BR]*V[ #Hzt# KoaouttZ2*dI&t=jD󈪡1hʨ7,˺VUrcWv(Fz2TE .ȁ$ӴƝzȐTJ?sҒ1K&.~Q,\K~G_Jh:iyP@iQ_VQ^~E.9I4=QPY6H0ATŢ>Gq k+R~5`lmZIo&/"$cG2)gv Y2\CXa t.xZ`c+>!k dׄjՅ@rxLKQQ`13%g(I#0#^nuto|X-ru|W5ʷ,3g_"26>Վm+: Ί8*'<ɼ|T6{&I+f}Mӌy%ܮnL`hR8I`ZDQ"(xҸ\I\, a (y{FeK\DHpYfƚhl@ >hx@DL*.60&"Hr54"ZA8B CNr9XNm'\zJFJ5:\$H@@A02 &ձ]V4ω$D ^ʴyK+^j^OT:rKҝ6`&r-~k4?QR>[]|#2쑶 -& +SrUOh (Y(Z(E|X ߸~۷ve$Dj42_;T$ZcsX9{bv?Cy.2YDkvJq55Jok LD>tL"&@"u*4L|AёPP3"BFT yQ0dL&HP44.<4jɈ˙UVz! H'$:/XJ/ 3 ȺC_DEoN% 8&zAEYP%6]`04r1.1sQ7CQ2!Hg"%6Pŝ:Sߌkl0eƵ1Aܫ-8Zimٓ%of$4j`y:"AE5ͳUdRIE<5-a["ƿ2~#<)-Sݼ;ޫ rmE,e;2&bV|uPH@dj,l%rXF+K&!Ac[P=q])*`FRh0[TP3(oJ f<εleI+S懵ݝН5ivӗGf5t)- bC i(4}ߑ4&U ?d i"te e4&B$?0LxC]N8B3uީw `m%f9W.vS*!ߔ3ּ^n up V4~?DbL‹|gӆkVX%&xbpwPFҺeb͏nu!8]l(vQAX}*%.u@"T϶=xz3 K$xXT)ɜBrt8x*MjbJeLƧI^M6Ui6Âj4ttD$N&~bg5W& ʋ WsmH%Y)M_$ ҉JbDZ|( ND5>m<)#\ե&HD'a.r5-4LT]ŲcFesbgB'nץfd ڄ+~ ]=J^x{F4\Mz`#*;Sd1 c~ {L5] lU饭3))peYS\{ngg=5LHGTM,Im_)sh#Pb]2RNb_Zx}P!Ԏa$tZ&!c9#IynROI |n"%+}/QҒwK `pOXrSj 'F@vO f?TA_C4M(7M<:FW#ʇY*'Ő#zlO;_)Ty `Ʃ +~I{a! 8\r"mp&J$Ay,M^K%RE9i٪ŋ ݊ bZFxR} \;@-fgz_5 4h#B^oe]YJyzK`EJ-p{·lcϒ +UR&66@Y@/ Q]> @l0!@]4AErY!,'tu{i@U>leW|iOroJCBFY\akǝ%*5K\#粩|)c™ʺQ^1R4[3.JHeUg-o?*R?9LSύneLCO*_k Fqa6dJeY!/r%sD:BFeIIj4DjZv "4)D)M 0ɧGu$% 3v$reE2yq Q;՛+G<:.3IHM W)wa#i͵hXvU9Jy VHc!,â~-7 Z H(-8D%.׈| EO0\ưc;DQVNФZX;:xtTYr9=.FAbREL8 -Ce1NHLR,6٠n_+>ޓաSbI N#Ȧ3 Y5RIJ3'Rk0Xmc2^XNU#ࢺI1I)y=샘Y:''+zؿ,Yo%W'T%F%Eahɾⳉ"E6P[:RM /)c!"Zc Ѹ8$^mSWKXYus@ /g\ȴĻ@v"!MF/jk@ZRXlVC׊*W:|[6<23%|TUo4+CgBśiJ*PGZ*ѫV)f>y$t"{MykEqKSڝ"C#}gVeޚ,-CSlF鱐ۥx $[|*1p\hXٹфƚuzsZ0Gg茫ٱ8lI%B{}\̻$W|@+(Mi%G/ SGzvГE6*H7͎5E FĄ$ mxHl0v.ۋ`! `݊V Jҋ`6b#RhXJv jqAw_>ȘPG\nruJʚl Ue4)TʼnH[IDۡ.1IeJvD;OPm 2U\BB/Bb9!WǓ@]tRjxjGQЭmyL †$* -ke38\PȮSק`V{t-v1U5_1,!IObԶE% Tˣ.9B -W2#/Ê%gQSoxB/CU%rUm4)B$NpYU[aUe Ȉ-m2nf{ѳ0 Y T$3`TtVPG8yM4IO!ɸ Ό+W V,Ũۋvi/" DEЛTe $&=BN2G!bc)谆(ֶ $4K>$ޱ_emG!I (֯hO DbU];Bٜ3Kw"K9(}@RWIF5[K,GFYJ؍ZRgF'ⵎRɧdI Jz(wpKbӂKaLꋕD3_a)4S$.Gt 0&@?KԊt(ShC|:NvFҹI©R|IҸ(*6c^NߐH @DH>]^P}EzN%,Sҡ((˓STnʞ0V } TD@a40ך) 9Hg"_ز-_FJ>.l X t'iމf9I>B6[8RLbh^Y.NiFv*ĵ"nx$6!Ӽi oHkyFӳΆZ4?ԿX`t)`@^aeOu$Pvdzo9ieضo#Akm?Y¸Q`ƉtMs+.6TԊL5UΘAՓ[M IѥT㇫uЁ %u// SQ . 'xvmՄ99 nJxٮ f̍1 Qj%,v50L@TFpZ7!{DxD Ӄ$ oHk̪:bbKZ kOjE%)'xB$^Qo.%T?R)GV?c :"ib):@cQ dF$;$#ӜǾ[7 c1zlJ xdJxVP+ :Fy$1K|SUVnR̙{\BI+[C.,g/ofy\P%dalT;8OGI>#=:aT@9r\R2L3Ay'5a)ud-vT/]^ɍ'Ra(lj^gsoJj(jbȍ^ 3*GJdfSP"7r5q!-jPcgG:uLkz;otT-Y4M"'~%+ԝBxsȹ& alr@oƙ_AL-cQM$dU]%Ke7eV 35<㜚J6 XgܧT_fkTJSpA!{h|Iv`5+ +t6?q 01EXABdaS^|SzI0ǚ#]<.}-P-=vjmoMʊ\ZV,1שy > S9 }E9.KO5U?ZUj\Oa"ML y ˆv4f $\368FD# OpÆяMz &/h+S$_ȪYs+ x4p,9WvFt'ΟL⚃b3?"lX ~fˑ ~~)(WI<`5LJ*HoRoE*($1TUP;9eyB;B:-[%7VkJ~v`:=vkSO+yF3pL ytCh呌\Ruq\1Es;A뫴[06rr19o vIV(VN81LcY;dGDĞxAJ4/1@3aٰƊSp*շz*k-M a{i1}?3@„A@-bA,1OKtc/L8yY(]=j]" HԉJ[oOpn_d`MU}'I =]8"h Ef,==kډ᫞DKzo_$vU݂Un Z!:>Vm(cJݖDKT2i}CF۟`1;H#"!872yCV3kE>iFSB*S[?]p`1"ߞ-,FV^FlPLguՎ&-iN6FBUL$ly+z^OKT&,dKNRǹ_:(J A 9^"|Do)d;f4D,H/GS6*N0ʒ!ȣцbzPS4Z|LC5Q&( zamPNJ2Hk8x(bVhhc,Yd"c_ڧ2|Jˢm|gTغsemZjo,\:&Q2-b[ܩ)+}fÄWw}4iwNeA[$A#* |M^zaOPAzOb)GH(jXC8mI{L )AIH/1NR2$>aL5308rA26bREШx*D+#ެH1"H ^/Itd(jw6j#@uc:J 9'TAߴ8iʫYVKTIiӟw#8x2PGz k@ ap8Eph ܋LّNV̧ ir6&hx^% YiwD`K K9 g\ nPRMUm98WIS5uImht0Sځ4l)Sp' !5A0A9aKgVB~3;XXkAd>1,;%]ǫsC9ebLF~ldOKr7($K۔]c,DyC^XDH- n8εj߄dXnUuUT|}n"=S8c*]/?ȑ*倅%E`@GL^tF̧ij+ЌWKUV.HO $3?]#~sa_Ss,^<{hJ(fc'%u8*B?SoI&5^+㲭Gnɼn(;0f 6 GM)mK79_zj򦻋 "UL$5b B{\XcԈr[ R4A9F2@ bdΫ2oF h/`o@T\dI%c8% &<. i Qjk4W'ȒHhSH_Jhi8лm 6X"H&YƊ)&YJ{:>ދҾ#K|\nD_k5f1.E46hXGf3"5Ճ dL[*L9rD^l5jʬ5vhH;Qq#jqhĻT!ԁګcduZ#ٽEG}ݠx`G̢.a/4Ļ $+UuɉA&/ EMi AbGn]Ob4eZ T~/ 7䉺#HTBikWd zqׅz͡Q#1^th@q"$UQgOdj&,nthb/ Bݺoug/@}"k8|D1,hșIG'FY|)>X8Bk6f#CNɁr"?PCM6;'RʫŁF Iޥ1Yl]X;+ A\E1 SD>& b@c g,O%HIfGv)C 1,%PJ`r:H[0&UUB,4x+`P!CVIzH7HR0v1l(~0(gy4e֕t\/<"$6f+jg ;1hxD\k-q05$襬#6vCmsvѧ+;>0*VnIfөPޗ_jBCϠ:Bj> Xx;\yKYܻ 3(:"[msd5Bqi!8j: P"}G>;ęIrxmkj} nD0 (^&SLH6=uD})CQ'4 ,/A p$ 6i(|d͔lLoàzYv\koߨ[%E2J .Y["gJG?( *Nȸ]mJʖYݵ&yS8S ޼@ct|G"A*<1NSY3hRb:Rʳ!zOڌ_~qQWYF4 (rM$$Wja wui*7lOv?J XS bG$|KpQ~`\j,' %Rh>W0[ }͑J{»,+DdPEFDPtIƛ 7PH&9KK> n~ RΞ:jcs%ņq?a6Xdah ^; ϗ O/pq|"jg>8{&%-^|U MdT̳e #+"iaPS`1P[#⯚xYJ[r|I~&xy7؆i P;~36o5% EcY-VG *ved^xmkE\H8܀FX#ZKאz<eH)jJ,gĒFk]3k$f/TZ4{܁(?>v^ l#K C^fət $l=]4J; }`D(|Sq6* *&AT5fr) l f15^lLcLAQ#1p6~)ůD;Acw̴llҀ*Mv[D:G\L%ްt] "xTj{(U6ȖD=1CF}4TvދnǍ :Tg[y >o}bOQWj) ႛH)rܪuWۚU//!.XRk=\4MՃ$3C2ȠC~JLgmMTJϯKF|<3L" V~#DayIdqGj{R'BIe2tæR̬%58 4r@FO`(`|.?&T O/yH hXX`t&'L)o/ J3NɁR)6?HǎߚOQTu3[iqEM睲1tq<1]dM438X˭T<x":.RUul[QϺBAҟ˕it}P:PO#u=UFu*|WÛ~D9L v} d,:{ {tZ&Qdoˤs+o'XQ1*l^[!ȺK )/r4U4@0jT@|'P]ƬjOV1BgQBFY|z#"b%CA:3ݧx!`W£'R@SdDZ]n VzAY Eɨ˛P{Lᴡֻo+|%m|ԃ@O*ܼd5U0EEG'?UV{Á*ƇBV,QTx*CWv dٷL0Xs֩]+D :m}HQ"mbvSBD;qۧAa*CRMܝVhI?WipPhIKnm; P:H]N QVjELۯ6y^]ϧg>MM4lMGY%0S>9s!Q̗ H6υЁj=PA[,u.T4lF#tQD&dCB)+Eۃ2#[=T V+cw *uHD!<Yi|magr'p(n7X3lY53Hz á3@=Ȯw>ZJVǐ.Et_`~sr'5B)cO JEL9I8F ({gi|1[O#DCA-KPWgϊ (e;#"iJ b0*}}$  K=Ӯ*XT1cMM'5x GU3|(a4Phq?&"{Ʊku'bQwi #NƌDoTAJ/yCٵbkw!o0;} (&کͅ+$癁t0HGcE4'P!be$ ޑg 5J)-DR0eHB" H/cʜ҈hR]Ɗ4($6xg}55|(LpKP[ 0n%K3[zƈƬh^XIvkw,,b? =\1SBaqFhl%.ڤMRl/UF~Q i!FF6N(S߼ʈ*t'B)o788]N׻fO2`{dˍS)6Qi[bEjb;ƈyf|<q%`,Cbc‰'%9kWB+&kJ:֔M7aFl$cO!C [%Guk)z 8-VqTbWDeAd4rᢋäknQV=I:A|(^~ؗkw$sg :,1a 0 6&Tѐ<<6(05 >abZuL'#}"B,l"1 T63!Ulv|t8ߕ$%JLl*"DEڳ`) {fЏKQSOEZ-\V}[nVXaѮネS_􎤱Gh5FQu,YŷfĄ"XiU>wҳ1FTŒ.ue5n!reW (t*CoqXS3YHfhl"`-ai=ĄFfh?yhE:kJjߋAhJ H*fBBdj}, 9B 0 gfV㋍ƆKٔ hmu`x{eۉ9 t9/Vq AlDjrU>k|.WGJUڞ&rn^*EHܺ٩_?sœқ6RxsNVi©.?<X0`O+qDgaP2h6MF%u7 pDLSХE뫌 eR*cl"K/a$ y„g~iFs-zA l:TWjTz6,h\%q8AbC/sa%]].%xaPȷqV5ee Ȑ[V*t,ZXA)ݚ9UiZņFj\h#KG,~x s4-6LWmtP(pkX!9"ûD_^Tv^Tp *   1NChPf=AeJA|0l1[C߲K['!旜[Xx$6ٕi}Ђ!#"*!^3+] d,$|Wnyfy &Q(W;rW𯱈o6if?q$yy.8pj2RcJw\KB,*q"truT[l F%\dec"mԉ_&S kk`\8W SCKNwSTj/eREܳh7~5}6=&{ѵBT#')Ŋ_Itf~/7J'qv$~ηҽ+cݑ(j".t S( 4pFD1]n*-z<3З u/;1vHe%-2ࣸ 2P^ʢd [ix4<AQLF ?T|gsP)GjaaTRBI5YztÌ:ؕ7Mz9.Z%I#Gܸ 9VP0$ `L^YtC񋊘L³#5U $ f $:DAQ$ 5Uq(#ሹ|7\R衧QގwJ1D UREY/r` #-vj,o_]z.sFY S qGKͿa&YskGvϢ mXU¤\g&ѻat. *޶,M\#"@atF TG? "C.C egF,^L_KsSfBDHkpaD7%1#f ^BEėA-_Ɖ2iAth2h`6[R'}icZFDSE묺:Vq*=zؙ:P-T֔'w۶T~R'L[[N#sn]&FUPC`6ƹ߼47\+8!uSڧ ?B3I-ME`Gދn.\zZ+H""\Vͣ6W$K[g|^,n;X]*Q$k k-J@vFb[LY^zҎ'B[r&!KH4$T\֑J:ʹZL&左&&(h%,e`0RR=/x(-{/W2YaM' Vř 2cGkH\3>xr.:ͭ?rT%/w2Q%:I,T@KݫʙOD8655|:׳-Es o=SR1Bx(g'.A)eɨ˜ R3-.4)##"#.wa/i0(ĊjrkS?#(2Gas=2SQK%B2 ;#iȢ1*}W~b|C+~I,=z*Eq H~[#%<;Cͅ}RR ,OKMO}.fM(GdP eUHGHԐQ#lrʼ`M |צ b5Hv"BH1'iGz(+y|"ҔW%f0a4M$$c-MT{aV/cjuFb<Ȳ! Q34Rk4A!Z8e't9FxT.YB_ʚ-ݢʚuy0IrȇuQ/`+Diz])pvvA[ɊՑ)*;\" ~K?^T/lA%+_pk$gE]8hܢ=2'ʒ)ow PI!]+]MYq?at#Am0*Glz=yE}a2+w=ֱLT['-U ~g(9);#Ktl=KrI9g "rwDLZ8\;=R04;W !*n%2j҆v@G ȞT!|!+ (I5Bڭˤ!W5N S_@_TYR],k$U#6D ډ$bڨa18`MtQ{PE^5xMC&Cuy%^'c1VsgJ%$tUpCgvĤWUSyr) GH^/!v R$@q:~dթ]Em) }*6wn).-8v1z ^jBct#JԵV"^IB4mw9Ol(竜FwWZjȋIZXFټsX>RDMz'6*FVX0.?"VΕH%Z 1BSȅ7T,ވoNs u$fc"n+!݈Vz{g!D? J2 C*.ւ맢snE@)EmČD)@<\嗛 S !Vw\aocUm(x`}歉 6FYߡl^B9Y*aR4|m+C,P븨 Y5:"͚n9w5KpU0̒p! QؾKr|G'gS52^䨯Jحair gFV#0k}̈$(56WՍr4w=ƔIUlHQ̸ʀӪǯuGP2x,ȡco8PJY8v,J0H ŽZ%9k=Zn!W|Nz:8%nqBdrũ:5h$|%E(0TK9PۘQ?LtJE[IX%{*H(vphzJJÈ䋮ICK#8Hlo=Gof;#)"1Nbݣ JQB5E|XwGvM!(8' @~Jظ3בHwBM; ?J@կGc.oqA !vaJJr,WoCmF:L`DH0ON VQFLX( zR$GnvKe՛xK6,Q"șؒÕf,,P2t(Q,I0GBnnz. JzK@ZZD y@yya!S߮oGB/E{UTzU+oN֩"9 6 ߬d)Pb1^>'a+^IU[F{YW%4gB"tgità PHpfJ b-b JR:0(G>Po`(3whh `@z ba0a;RU8#G͢-1lRV0QK+AĮ-IqrŌsP{u1v)#H5`;QݲBI#7 !^>XC8Q٭=sfmNyK5] !D9q +=ĬSrxfZW]Av@/CAAECӐ 9ck bB$5KQs7; jdZaZ8@Is,FI#Ҋ@8YeW f'F#k^P7EIvPRd1MfeOĻ!d:DcQ9)NzܷVc׎d3IoږM;7'.0IS݋ln0~{R U=zyXF}ĔcI*^fr|}vEP[cX|}HZI.ǒ_Ra-DJ9J8ޣD` 05~Q&=%(C:akHpYR!rƌ$eܩ^I5Epp̩rU(4sDo7 zʍ&`Qp1W,:T$!F8 b! yhHypХ#zh7EP#@$Ȣ5j(iJ$T!ʁM$K30IF~ j X'( ę8[-Ic 7IY}~<. (\a'Xlڲ*)5GƜm&$|TZiY"I2FE׹b OA,ImXT$DH$QF6cI bD$A,zh%0)[u1 F1]J1L%F#jyU ־g@V:'R0P65Y \[k6=[ Sq^5-KYvGD1DY>QM~tx8r/i(XKP &LIr{[<&]Љݹ|lk#ɨ˝ Lfo.`'bef#G.Ǭ%#ߡ^;LI}(H@ME{+kLrNV%1DV۸ؠPekFl3ޕrT"b? 䲘EZ6iN#=ZD:iqr?pxd3u@DPj-+/5BZcK&Mіy0Zѓvxb#wZkfB>uzCBKW{>n# U ht:lH-FU(r͸'8" ǚ q̓'!OZB@p &4|uG&.J '6|K1"J>dJcĢRB#yMJȦt^0-9Z"WR'=fߝz1&&W[nwʴ`ŋsC'Ak j]/&VVeNwĀt]{8i#JW|9UQfr8闒ԄB&ӣj@[OsŴMN$RMwGs:G1[FUלBd_/r{Ze%|R+Mkmue0Yf$8|c&2 R@ M $ *0zH F:E"4hʺx[,B$߰+/! YL̍V*9KH,bv_Do1If y'5`)I%SB dfiQeOa^܆'#BM撷׃B"nrL){wH/ RԨ$AkA5HfU+=.,В w1c{Fk2I7EdT5D.ȢO*Pc2*0j!rZI2j \ ST"1Չ#/i؋Z6jAFSY.;?hٮwav39$GFGI3R=-5&=XztjUR-XjA qڄRrERGZCrX&ىU7 SMBꌥS;/W2V)<}iZVUӕ !0ŞsʯcD$"') #νLYcWz")"C#ROIH 9~+ɮgȾBA0'"'Q.(S ޝoDq풝QDb+3! ɥaYtBuwD-VVT5F+%*b3%_Z<¼"{2s;8D"Ԩe9sk H-hD 'W؈5Gac)'\쾦Y}÷4XD!d3=-%/bAHK DסI%L#{Dr`Z,S#0K' ^HUgwȍ*.3]2ut%LZ)x|R-]I"V#^cRȗ'* v_e"H a˂-E,\VIMe,-AnD؅5+kz٨ePOjaƱd1*rRf7ItYB^Eܫۃ.Ȉ,"{N߄TԔ.lCV/ycX+M(ޔK9k-BU]* !J;ɆV[EiMC|*Vnt 2u Є-9RN8ωv5s's7d*$gtBu[Y`TrQcEdR}H;nhĕ˵% E/IbF.TD9*j0)n+e\'*J^ VjBe۟"fcoˮJL8B %r!R^8?DxPMOMight(Y^}d2TLYL )v\*&(0Y]Rk˕dcPe|}zB"PX F~>(HÝ"iQ: Lq j,"Q4)2E1hjPY҉R:vbW<,6}N8xψ }i[R#BL >Ma]D^M"eP9 ]MPXP@I\|&P @@Pd [U`2'P$1F6EYta i3""-c#"b[(GNI+y b.oIƮGw&[#Q!µPM A!pq65-櫦J"qNuat>rB ʗ; 5$'ne4Pk ݂.AeqA;/hUE (I 4TYPZۧ9BHIE:4V_b a9TґߋT3+u19iT@I cD*Zѝ$Q,WHvyk(9]LvW]i䷩jJF9+s4!@!4*ncI53c5f Syu)[OēئNL*?IENılUͳ9tqxU,B)9*Uc T$>!AhōRKE9"8H]i^&k&-7tYubCo9SEQK߼! HEF b5f'˿#ŅYNIboI"F"? v8ѳh/!V(̏*R' ?&Y4oH8ȶQս'V(sYX PVBSoaF_,f6 r*E0{oF̒(Ǡ2Y>C:U#/rm(>;p"rn?8杘$)F8KD[" he%Z%MIڼ<8 pzQ4Gn(SO. V>[Ӟ_h i:+8CWBk%h|L/6> #1рR2DjB4=-54Ӄ:5% OUDqm‹.4ӘA6@Mj%"@ʒ\8vV:Jfv5"X$,I>TFPwb֘R& %>FD+ yeY\ ,-,W9A(H$DqjvpI %Z9Cm&v)He$V«b$`zm[ZG,>*O1)$04IҼ>$QAZ5zSTߩYR?`z J8̅[~IxPlBUŔpQr=4(sQE#XF PYE( 5RosI(?()NAZ A9<)U&NpPLB(j1HȮ@^bfi]ǭ}\y"pJA2%-W#oT*d5cNJz@ 0'h`Z$aa(naMN _ .=e Z9hR*!=6$Db1;_ɄGA'9S0HI*huJD*M1]4d#3a Pus9M1˨(O@H*+%S#!41n  EkUr *|]g~ԪhH$B6]LZ C3 (2ш(,4.6%&8iq+ʊ#-12 ɌaʠgטV|a~7\bg! Peia+37L|!!Y)hlT},0dFx$b%UFq] 5lGWsBJ -!! bOAA$"#!ߴ(x 9Q͓pdRĮ#21!]e f.lH+Z`QX2lB0Bu3I9%"0ؑq2GIح؎9ӾRL%;A;C`R1A4 Mv)ĨkRޢ)D:0"!F$GAv. &s2SaC:.RP'$IFpبZ~K } ) {$PHq*E6SjpW S]"kB0<398B6"8S#9* T,k)P' kCC0$brv3vtUA{[[ rKdF%i60AQ0Ŝ&5QEcAtu@IY V8P8co$YUX0TFF;֭߉f) "SSAUnlmQؤ"VŻD#XP)=ALgخB(U @v#0LBGw6<;uT89#<2(^v!^ˉ= 0TA `Uռ>!1A&(V;9 )ٌEJHyY+CX BV)* ظ4AL[:}ූ6LICczĨ`ŒeuH"!(d>: 1=1c<$~@U%i bti÷gk Nx0*V$aXRu^ևNEs(0P+ ʈ3Ҿgژ(ʨ^1 G z6V-0ϙB8JGLۈxPEzܰb@įhJ116J I,U2RP*š2Erg gd4'c 0VإUCCSd'cE fFTXJ?&1 4lXdV!*"nfY I`L/tA˂>l(f\ hD! De #'jF$EҚ~+5 8 yM*hy̒d吖$]]ǸD ,Y (籃O3qΌq'2<S& 8mC%~zF"凗 x Xb5AA匉 [8Z- -g<0 Bq*ktӏ9?H5 +\^Ѭ@ }V.02 "&@mVr+ :$-F쫫.rELs Q!^;ծ`}*pY<J 舣O3I\N G\QRY(G!^#Gx`=9# ~q#_Bj0^@@+,!LR.U JÅh{R'_Lg sG9=+0~DnJE&oPґ;Ic z`AI.X@g?NMޣ]idn.K`h2 ŏVi$W,F(`JhHrKP=}`O= '5n+uA/G ZqchSu,(W%uE`#}AB9:%4 /w&HHe Y"V+r*3&F YF$aS uێa9f԰3`/|8֡j$KI)Ie-N8-!/kj8aGF<^i9FR8~oxU $@r2- (#hqi44) !{]U4)OkN(X5=ʚ.a!62Cif6ul=:bX e !Ꜵb!B̦^"P0J0$RF)B1<ŝ7 /8jaK@B,4fJ=]c]3fm!&VYjt1KrI y; Kg9a%Z,|W(PV pߋr {Az2*q4<9MtC'8(UgS^MJB˦p4ivEN*Nz<ܚRae +@QxSq;)r2j +=|ABY qh)f1Kp13.!Cmp-!k#K/e8UA>LƉx xWE8aCAEBVHQ YHVo ,Ȓwn>>|"htb CU&LQGQC A>S D)4z2@(,"$Xe>َcju!|, Е(ZO^9!+ M[XULAFU"x=y-s]`!q.ZB @mFX~o8!a $ΞA%'rI ,/nҙB }7J^V$J41^d) @5QIqoacdAQH--l"-d1H,KH9h19`) G .J'JذعQ ҇M!l(DrⅼSɨ˟F ǒ3ĀvBML~)GڅR24.m$},E FϚ*$R{Yo8X%4? |6o}WAU/^v#1Qۄ;;0*IdQ<*n])מm~n~Z["KLїWERCH4R~mY;w*.|_ElVIjd~&}7UޫWLu>jͧ "Dun̪IvNaq^d `K"^5kgj݇Zԛɐ:K7|xscx%33$>1Bd2kaBBES7P/t__L2m9++TtA* EM.7d mN4` _DP pWMtJt(hL0r2kN4RHy Q]Tr/"*awT sWaim~R5M^$m@&vh,@|YFdHdt";NSY~_8/߬T4x_81$"2ȉ~t3ClXNұjCȡj& {qfPF@Q DGo[ }bHSBReJ. fHuynRٗ6^ɅDB-^N+cU]+JH8ϑQ42!_H.$,rm\m+l6leͥ7(&PO,k#q$%Lz."qK#M"^]2(%Q>w#UW+E)Tv;5#޹gIIqK/-a'|aRmfkg}V6rRI!Slz(RV' ֐`pT &%ːzcB/d0Nn-g˙WzT+rӣhvTzkD~aOև9s&œ$ 9Ĉ,Á6BrB6CacK΍sn&2 hk0}m)}' +Ʃ]@Wf!%T•nG&Ĺ3Z[*P"2P/\<``gX:d?]j9};Qخ~X“Xc1[OIfk6+7'9nΑd.s~\ G H)#ʦS=A,t)f$=R1\R^b1=>ԶЌp-&#-r9JjRjCmAyg~ HϭOkɣ###\Hw&jmb>hFSq'WDnVeE*&xL鵱a@\zLFO_ޯ""D%_A6*5^}xn(&\^{!CĆpD@XXa!<&"t8>`upeqT!}nwiՎ&]}R:ޯG~:VJ^I(:uvj2W D19pE*늵,53?IW̡L%Ě/7FVZ1SPtoj- SZ"5f" ;C{U5b\6a͉[:tq%ݝ>F:h&๖G@V]kSX딣$ ۀ%# 0OtB5`tJ.2VPf6!4-.vd:]yR$RJC.Wf̷k\H\A[H\]κ8 ?-9)gq"|& 4["#̜x@D*2X6|D%e xMM{!y˲Ϊ Аf36}֫glևo3ӘgU-$)-# _'pPҊߖGot2lja-j)eFa4mkh7Y\<*1?2iN*rŔ%_Y<G4Imy 'W¶EycӄM9krlM xa=\PLW*>b>7%.v&U)bPl+&~d+P9UnN]!XDQqpE yL[^L쉞%&v!k{YJ`+a YD>okʬx  GPX4 K6]@(@d`5IQo1a&RY/]ÙDH(:KI;AZ ;ʑ-,fBqF8/Q`œ3Ą-z%v?K寰 ?qs`^qoMe-u6\h|Y`eZͷ6;yJk^fQV u׏n Mą5>dIRe"%4E=|`Tv9(R ]E* ݂)Sߛ \_˭ˈ9x>35DĴ]b*l~n]8()Y]6SlbVȰܟU g2ؒ9l!zԤ`ph߼0bR|V!SΣ짳E=NEKo0RTVMeUThR͕P̼c\մ]"ox>R2DLf*qWdjS ^ ܗ ;3gl{Xyռ*v]NU3X!6}+ c $Sҭ`8L G̭o  hbj8B*hc%(4*f sgysdTk]a+HҊ[ ~v`.W֓IB煪QBMiy_.(T'm<ݢH)VHOф ^1v##A; JR}A!֦ҡRVP$26(Vucb}JUB-q7 "G ђDXl|I~Ҟ}dڍP \x/e,DĊZ1: rωQ:!۽7R2rI/QQBr(2J geef*a2WwS:fd/_0[Sn ZmxE2`gYU HU43DZ\H\"Vpa;WsV/Jq8RLkY7pt9ڏ غaѭɣ)hق *<:Eed VL8)m9lV4*u/oMr`dB ŲA(faLitqZ 1`X* PA|m@ą^d4T&@T`_};pQڏfW{F>]I4o,hw2 {͓0 GNkG4]cBn{puz3T|˦l dAÑ敤S׆. %.ܥ&ČZ517r>@Š2$~'Kl`Ί+Q6 T*6  B)6#۩SK$.T >BbeDYCI)ɝM_".ArᲁDO p&T:/aO&'h8+.D(}hKeXM?`l( &,^$~\tUb+ ܜ)0E,MQ Dt"^ @elPD[Ħ#N腠Q@g=E/Sk;&jDHEt@eL9T2!ņ S2Ѱ6 2hj Wd)8URM}xߕ"݃o)z U%m|e'+.jHZI:|}'{4dyfU~pĞDT3@ 9eJ#5|dc㻲 oN>R>ٴWśb5`*Rız5JJ|_h:"҂$Ϊs@d'U $`T"}cE:j~Vsx)Lx|7ƮD2}cXr-'\T2B@\Ģe(b{oD>TA(A|ޝfWSa}*> v먀 Š`5CT~YnjhHf?(*Bhz 0áH߭1kUϹٴ#(h wpu+#6`I pXá u(^!@|T-tзg C!;^:Qa %t0W$cEC!1c_ m .KEE?sXӢl-y4T|k,\jͱFXЈ ,zbaEYlO y{}8HF9/5XD8#IQRMTAZdtC u8Sp{3/dGׅ]z]*ϸVNf*O32]zC> SD/9*jtdnR+[6C5]c~}7xw`sA5U&!\GԻKf[Ki,ۻxy9魯iu;aDvHyl( Ѯ]9 $L$[dDWa}Y4(u-rnAI#,Eϼ5̜Dܛ|& tSTrI=1O0I ފP~6}F1\B;4l??rP%#@] =GBI,qrc6bbDYMXʤJ3.8"6'[겻+TؚunDE-o 1ks>:(ֶG~E*Α)A׮h" KP^2{@X;ut%78mN-'""yUF;IwKkb7Mqi"$8TU'LNmBkz|#w U&,Q.$zY:V;DiHIOxBLҗu?yͺ<``aEy,o=WhCeWw4t;:'b WNYO]"$V@t`K$4Sa,|h![e"VUcZ&I@竷#N`6fB4} `9{{XCG] X)\=~o@SP:cΚdi,[D CbziÝb4 6\IhuM*?o5wtJ|H`l6Ǎ^1>BJT!M۟ǙLOm~m! Y7.i6%嗗feKVwG2^./>DHҶ*EIF8ʝ`Yn)JfET Z5bX"]a.= p #ͺ3.%k"qԝs/ ǼRHЉj46&uK hj"%|c>k̄gj"a]n5$X|ZdSվ컥 ^O!NINCwҧ~jB=1:!t~Ul&rDH#>bF^ \a IF]) H*UD<[cTq|mTn3 s8TRHזUDwJ,tvX^l'Wx7S 猤@^`ُ`od2K-q8:+Z[ႍA-S'F ADt7 R 3أ[4F.&mmktDgnWָNIoϮ8% o2-j!\o9%gNbWEJ(XC)yÈ9h򚷐j鑅,xįP.1xHv旙%Q>4DDrjJUG#^ <<|* l!MK6F/ Yv # 6l/wZ< lPao|&0P;ٙ7jxS @1w0思۪(ly_9.y tV~'$YMtz ojUID:즋ב~2@QzH4 F )H _<Īs H+{hCbh\y4C콂#'WdI*ȼ.^ƳpÑ$Qݑ,ӓ%t28H=5ygm܏V<@3(o^c5V>4Vf䰲'H2v*"!葤+jHQwE=YB,eo.%KyC)kӋUҕţϵ/H&iJA}:$ !P)F=LVfaSMO$Ԟl Pf(BzD')o_k3aϦw?elq_1Փq~dOIZEq :*J%denH^x5 D3aB5D gM3qC>w5_QY3OPiQ_{ @1/.0 yZdD;*pLA4i0xȹwPդRPB"F~ Mr>Dc2IeO\l_u^+MY.7_%Ňȵ@!Ccqs_T39N3*IJ{;Ռ*r.`OQjY8}$]M{PxؖtO)i5! &fC~>KE>zBܟ"H>wnwͯFEnXlGCm'9\o R!cS(ܰH1 ?"BHdb ҺY?zOo-t͏›k9T~=&X!4پʩ), 2\F+A M, K@\d,DL@f!4/ P ^/ H_‡R+BAt`p$o=6j'g>S'sCj݂aB Bz LeSJ9JpH-/'^QدMF6uW.,&S;;$N:8 CP2~r%X;GSW!!&7!h@ A!aJjr6'j@KNc^9ԟUN zvFkKb:,|$΁8$2KRz:K%D;4D_*s\)+WN":-G9/EfSYh 8eTLѮxy N ~Bk^%6(YM☼'guK&LWHULtX9r.)\.$r M Twu}h>2]'y1w%y  DV38! !dt D|(}ڭ©au`Q>LƜm}%?OzH_*nu,ם B{шضʹקMEcg>`zE35 Л`W#ÐV a!jHLr;/zel[.ՙJ\RQb< DV!Q j+ bf[&=6U]٬b*:asR5gĉ!z㉵VvGkk\*o>1zTЗ;8+"x z<^cAtfk4궛<}F" VBG_*3⬁1оxNטM+ǘ"K<`t CH8XST|IDTG8nD5[+LKX:BYUv:Jm[ot \~|m.@2+U/Of,M*G>lDGTSYb;xC-NXH5U-pGS>f{+?z[m:G6yVzS;6,2_U73jŃp- :F( Ʊ`|@A6&^s4Rnut"Lg!{th|nM!DR+*' xt"2#h^ORUa 6}VwG2@ZӥPm4Kf܁YeT7{$-FiQn[vN}Ē؆Dd+")k)C 3;i?{+}`/Mx U(B<\f)GγA׮Ər~ܨ=2qv]DHwhkiM2HSF"$н >l!6|{Ql x%!))fY($f=BB^ gćH=n AA84vC`tu>,0Wbb QH{&#xǁ!_ydgE~Fv.BRt%lmIXr ~k(%hNyt$pR[RРSV5zvU)dD݊M1a#q 턷z |u%TT< tz&n>_#". F~SY˭q%a:"n}ZJXK֢< !ޱ'c(BO2̀_5s8MN˗LSFDn$!F|`!K+Ij ΌCsc). ѶN}L"F:@!05 _:W5/=i pݽTrhE$Տnἓ  j̊#;@>Z|ݭg;P֝mpOQRSL- ojZs@- eᚿs%YM8HsRpY £,툿*tmpK&\QM9|q 4!}#1Lx1Z%@kX}L8\ ev^TV Baf16*X|P'|ȕ]f8@{+F؛iX&MY1gK`WC"PBb>C"6Bcy)"ĸFcDx R4C=.GTn|Fp3b{΄DE/dV6nLHrnSrZ{ա{iW-=֚]D|jSHIjވ(vVG^[+L&FK JK@sa;5ԔݒeO@)-3jM#Tm\D:hs!KG-WdKj,!%HИ\o`rZF𕄼cb'|yDI).]B"}ncӋX!St"Or7 Bi$XH{UNmN#5\V.[)2L4QJkP3[S;pJ>^ϴJZɈM#x-Vfpؒ@/R+NziRVm`rD{kܴhRI_qIHSO$pIk([&F"e>i봎"zH S`bOT-2 k X+Iyl&ҳi5䯈F'://`lx6[ Gԃwz2fm#b-hL#LCYO ؾFR*T1'Kj"wx(eC4F6|çd%&hpGm8^T*S )HҼGn4W Ja9O}/bD J0,/R 7dޙ ,&EDe!aihN:OqU&_`"+RDvd0> 3&K8Jm RX ï$mX2zR^\rN%aF{ǭ݋!t[}8fD@h|5cqk#)%lY۔Lem=8^Hz&+i7$36(dP^[K3z^Zr"RSZi\jnZ -N^b7 ІV`*y>uQG-.efͽ"~.`FnGSwBӏr@P$)7o&)'5o`G",L=KWH;7pOۓ"b8URQjLBtSI HU2{-~ali|^W_ȇDVϺH=*2!,$("pg4)-L IF, RyZRvнR fߝSO01f-xF'ns9r HƬF͒ sZkrکP*ȈQ'_Cպ1>k~j#6/PLȌrmv E"LյyveXodKw4+E, )H2i JT5!ݵRZ q#G`ֽ>B2'琁M*CRbT/vDQBc3i::iq w<2E[t(hIOL'!1xĪף.G#t:Lt~(%0Ɓqq!8D*x|ZNN*")sbX op4ADxm,cXKf [9. QNz'u U‘Ȅ#.vXeñ*@%6Φ{}}Û,+e٫qW27T9Dc"^Q-KTB𡸹)3 ^YF C&eiLy 5+[]0wE>/=HT!x3?S.BD4@YIOFzWtB/1F&\VCBZF75644dmTas DBH#% ƨƒQ^H3SF"O O5+R۲NT+sI gLE[Ui4.e&"с@!y3w/ՙJ,453"&ȗ\ĞCgT?-|EfYt[c-5&yьt{͜AQZ ~$FHFJ^D`X!#SKcHq_Wpꡔ{/du7 &y#at{y6}܏שD[ B3dXlXDKH:l3u)5.1#+ҙ̪rr&WgI,j 4F{潪ds ĦF%I#Gؑ10Db0(*f/z̄aÿ!7вQGiC8yPY>UC' 8O%!-ZtEf•eJJ g͕ b잔eրA+ 7L`yɈˡJq#{1h ͤSh BQgyr|+~Ws:er6D5( NnS4Gw[ [>QmUHXt[4+:  g0fb 7#H>!1B;F\|Q$=̤r'%EV1ڌNBfb&!Ƀ4?Ep)8AHC/(,,q4k :j wD zѽ?+>_2N'*N޲.ZVߗܓ1DbEz+]Թ"A[t!گ\r Ё*~ _M4*9IOfK^?k}3^;y1~˪C+,"&)O9\]Ax ׾:ѕ1y: Dw Ǣ!-?[swM1ՕxSQO΁"Rwl:ɹhPЃ-FѺBT P"?8 ?81 A4"ppv^ /zzZ}ψ!H`U#bb5A>j u(U1P[n.BխRDMmɝ"1faRpv/ͻ0) ZR)P0z |pKosMf$Чxs#]oPl1T@5 "O)%lb'7SvqC $9eϵ&b=I )R+ v"* q)ګ5hN$%;w\mrd*`% eQ^Vs&thfV+|?}cOv>Hs+y&{7Q"f܃C)|?P3 7}FW3rhXsO i ǨIWSoYD> qI BH|NJ"DL$ޗ%KI ы(+ fJ\,F%SfpotƶnXRB^ŰB);9QLV—W=z0,Qң@Q*;8ȬA]*}[n`\3?Di$IEl 7Hlo2*bE&\m9s!-XEH޼Q@@C&#R VUzˮB.LK@v#ㅡ˰匯6j=Σ]+tf'ً7:IYB(}toBb"e]|cJMf}+QȘ`98.?*Њ$#8+{}e(5 ޴)ICQQT{I!P(RdS35\1~ՕI)D%kwppSN7c{z)&eޕ'nZdEkQ.Cv+ g# Y1m>褁V2IZS2u./먲ބO=u z'5ávUdȩKYvF1pixq)TNY3A{ƍB _1h_Kdu@JXjb8Hh0|կ$nihHkLBK H7ljc$89"Sd7cr lUFҊ:+ԩ7aLx[bT*hj ?~U$.+\ˑ{m`;c68U]*J|1M1wr(>@#VZձ  fb1j.&GC֢D CŞih:ucpKqơhJ(IWxc::zJ"iJ3[C"<|#ܩM=5(2MM'nV6U E\#bPqaE3j էZFq_H ႁ9,sЊd76޷hb7^2FfQjRU5\RY[;?@2 Z 'W38oC4RǙFIpmLtY철uYF;^$}%1rM7*vV7:)PO9XM .{g]B 1 &Ȓz0NJJȉi%VIb%l~yd",V%}€m&Vұ0|*+R.[PábpڛO64EEu-Uמz4,ZTGLh;S;%:@|_L@Kf(_W U/CHh~RRdqN8 xd^ytv|CF[;QkY7CZ`k=(NľrV6)6 @8B R8@ CtDf!WeaXktUQ`{;0=`pQQqx${/ϦWsJST.|OBEr?D|rvt=Y^(bMFb@%dVu2w/Xꦈܢ#Tbt(ó)D8SНQ~P+:xX_Ò5L4L~;Bё GG! %kK>_ d@l_#|w!;|:`H3 <\:)+E|@ྫc^"ic,]EBMX#$+s7EHiHa2b#P/r\2F9*B`舌¢Ò8 0fjЁ-FwhAU$; JyRSlSsP7 DMQ"â[Q*!LHZF&f^+4+Tu n+΢dX}qtV! tdvˋI%NCFE|A~0jFYJW)"Eã @Db*23&NNDewU@<%>&E@T"%LVO|ؠ&$QdB/K(!*ߍg@()$QIQg g.^kJ%`` iD Z ^.Q:is(It,L|ق jw_NBG10k>UBjaW$ЬI9 )X` 5^[='"~.jr^@kPPO؞RN.6| %J47=hZrcVo4#XXG(a۞\v +$"mj̓ )h!(}&zAI{$ \xԲ\SpKeLcBEAu;:" 0wS !R~   J\ яb \ys{L D7afBQ&Մ+H ʽX#s#iCD9- Eul,Bee*)۷ƑLoˏ +JZZ/DO4Wx2sw~&C!){8.Xхjl20yr,c*]ĚG? iД_ZMj3]uO&ku0*0N[M(V4*"^ݥ] ,F܏f.͓G?ߔAd+bg;G_j&VVZ+ c?bk k6|0CWU}Kx Jq-D{ GYf6: m.)4S>l&jޡ 9i}Y*\1@<'g⊋G ͋DHaǕLb$il MbԒ U|ش%tR"ә`/y!ҜZDՖ* aئqE6$9,3 9rι^I(;~pdϙQ5[o:·МP^-?VLb0<)BK/tWna2( s2Wy,;t,_B%u"cӴMN%?$Nũ)'􀌸iu7J!10Zm teHXrɃy耤h8 <&5"QDuUFX*FE ,A+CMVu^SP9gC 5НL LQ最H FIz9hqbQ.7"D~oQrO8>| :X%teZzvL;2+;Tb$TF<_(떋Idq}#!+ ?)Ŝ.|_ZD O˻v-S-{,q5uڟ~EpIBjCǯl`f} ҹhɺYc,ȯilHb& V4l(5KQVfEd[rT@_ I38p[IGQ*nbDҷ/-L:!+nZ{9M-'@ J [\&r@ *eTA+gڮyd墥s > ]Ɲ[KpoJc il/ݜ14prڈkD!RBHΑ@"~{`1(wT=={; CY%&vErӗ,{me_w(! 'A &s;bQeLJLgo"UIȧFE⪼ ?C-,~J6 ݭ g1gu,7QfRP O H eѻAҒv,!749h@+%ULP~# pbֲ m'%?)q9"~fL-5@i2RhN>΅,1WG{X|&{MR^ G?W=܌DOfBNѻUr} ȯ0Eόl#Ot(/:L8,.;M H!dH=%tI'1eB =\?If#)RיA8I,^{ϣ'.RGcDXDS\2(Ƅђ % Ϥ\@T@JV[t2y|iqJrpB|C\"!fyTRאIf_~`FaCCsEȁ?J#8!߱|īF{mF۵P{BU{%۩>$Z(_s;' / %H׬Uz&f'OTmvpgYUofp1,聭hH U0`'NR&b+J,ʛy$Fܾ ;4#N \f/6j5>e^+4磸$dD;/6ʋ,VO=5]I cE}ؿ)t-*@EI S>HmrqmFm].i Y6A7 cώoY5R>$nϵD*fW9>(\A]DM$ |oCQ p|z'DAAO+BÂTޕ ÏɐX`wWPa̯e"HBԆՉEEa?G/>a1᠒HӳdJGme Ъ*@bH&"H-OIYɜN<69I=cXe}X;p j;GRj'HHIĝD^_[YȵWG,PF4G[n ZJp%{2NGB@I쀃pa\ Y)rJO0]k(*Q'\?¯ ftY3VRSHod;°:A%Gく EӀi$*ǡ&qkis4ry􃈉K5QRuԬL'% ";1v +Jyfbmfpk>]>-ի\0<H$}Уk! ;̆sC°aVh``ܨxbm(8i*v>qq'H5df I VU\LY+}*!qo-bBKn, -ƦҸKQ< T"ͥVO8O G qID-d͛gg™@⹐OTGM~?bRv3[.yupH e8<|`&BGB]/ ڦIBT>0~!XYkľwXn˫PJL0ɿ%*2RK|v@jN8pxZUJH!,Nf,vB?a84) 0..Vvl&PDiHR##Q#b2X2eGŠ#{'.\5]P6S`bumT.G{HkO5ueHE S^c:t9@{Ϫ(ptCUGYG q0TkyWP-TBicA>oCAa̢/͌-DّLn>ڸN?u@&qvbJͥ|HJ ȵ2^#=/xBUYÇذA@n2A2Ih=9M0>7Ь^ ŵÁ>#{e|!*R]]!i~4r Y)rb^>C,\e/q긚}UtM4(1s " ygRi^H!;*ca%gC1-\S/%`vʺE?$b1GSȘkdp:Ηvu7<(U;- T f`J mpE1f #AC3ayW׈z"n5N#U┪ВQ _<&c0F_*/+F\ro7{m1fbSy&X_b1*Wn7x@VQcRWk>]Q8{I6e kTf "t7)%ϝ r HG uky*cw>8*)Vbgr5Tk,D c*jwåz# & =߈: ~RIԣR]Ld]]_*JlI {E87OUFD@ jFntO󤄑h!bC eAE/S("5#2-jH*B&Lڙ+hO|G (̊LO?,^ r{mxJ<]>*EgY)֞yKChEooY](P;ѐDa0XS3ajw:KYKBk'ױE9'r&]&Rr"Fks(Q3TnQЎn)A4A 8J3&/"u}LvNzrvJw@tAJsol ^42Q$ @Da(`"j` ACwLm&WXZQ$ AN0F L*S(;I2wӛS `6l{ZTbZTzqVFܘ Dp Ên 1$q%DŽ#>S+/$lO<ehX'ZMTtp]ҝHfRQ+]yĨNlP"w͗_)حiF@4i{%VKSB據o(V/>tH2PZtKpb=8,Y\}#+qlQ{0QzKd[QvS$:& (dǿG,$#X!+kxOڛI*t^S1\9]*R2D-T'Q_'iD P X  etNRhmU!y׫,__gylvpTχ/L=Lr- 9a%+Cߋ%!\ U+,48xf8VMYcԊ]Qs{QۖcD ,Zt&nZ&m48APJF!-D^)K!ى' H\ I/ +8$j)?cL-xg5 B^C5KBa(&!j eœ8/ u^{m h?$& N-0DD"Β0వyV0HJ_ :!& U*v ᘭ.'F-lQ9kEI`-Y>.g:P%:+;|WJh_FH((UF:u&؏M^ !F2Jʖ,آb^J6BDŰZžڇVRc7LcXJ!"5e?xڨ͡:J`&N)UU ݰwY6= :Gq.;‚CqpyUB_:q''d=`Cavk66J į<^)2UD!K62䕱)zi[;r!#̲ElcLwl{4e4A6VlRԠ劉bb' Ѥ#_U!28)mzEb-P&PVW"2P ^!XxEH1# (modTV=4sP\ddڪ,dFJbHѴM'UZ#K[K%s(ƺQο|V=^~ YѪA~h "gXj+aR+9OC"2BTqNdzaGoNR # c_ \?{7囩]dzފ~(ܒZ=Fq[ ĺ:6j! lhm&CB]y:'^Y\-'H>JZj]ڤpM2%WѲc zGl&>uiEʡ9j ~!+DJ ^Dd{Q7'kidRIRDJ[c4g2p6L4V+),xΫkkg&yC ܾp n~Kݖ=ا"ǭOtGd =ɰF |֗z~/oQLjsSA r[qcbDΙdqŖ`zAAfJTSLHMEhZ+⋳jp'P9,: 6ǎ -#… Ȫh5˶g2LF$RGhPlnfFx@2l(C X8%JCC0 `jҧSP׳W;3(dC^ $i1Do:nGF5 <;ԵNd0ɳYB5i9 !^VW5FӊԎ'~ݏ2`^wB\v\̙3"g:uctG7B Q 3l &`ehDWQn$0 !XJ$5A!2ӅI}Ҥ,y+#O %fzv-۽@E侖,84xL=̞T^؀J?_P .5^\T5ɨˣF.!Z5 ܒ#XطT\ E^v|IuG1 aE~K-1.1pD8RNBt:VhX9cXzeEWThĔHE"@]@}0"p!p`8:f%M?#jro Љ D!B(nyuRI_)\vhпPWvLp!N="  ,(79 5Q* s8sc x*U&ЎV1(J$ "*p(21_aOHMm"m [bq_I.39idesMt޽e^dAz}E9`z.ꬶ_ݘYǭ \o~ }f^S4Fl)#* ZV; O3A@#^d,p5R;Gõ/َ9aNYG9sWqL'+魏.l::LacRRUȏR-N__DҵWE7uku>f݉U76Uf1\3'UhĶ.xIi;"gL텑;"LY|]Kx14bhчM%DDqNd\#Q|W,ID 1vУT7VTAJx2NR)+" fc (J+]D݋U~ʰ^ %vViY8щRqbceHˑoP6MW+ %122<+elIUٷd ֐xV_ 3vp4s<GʛJZx{1h ';%3bhO|7؏-4 !|JV&A]ШMA!#@f8[5(((trjd槈 lJ5Zy$Ǜ%z%SeQ|2E$lXzsjc'Pw"C V;):ɁnmcxU4)U:Qdf(ؙ'Ͳ?C{&s^ٴo ’!ْXhVHxݡjmyDT{+5rl>kf±(|D@x8i85nȱJΗ#*^t]aGE)pRCл Hc'Yveė.=2Fy(h kC"d/sN%>* j<} ZL?uJ;V32JD~colX#$ 9KHX7l)BE9xX(5b).qЮȍ[1'c<6|em?!RMg3cUjW"^#*)NX9/kiK$]rf뛵^*.dGe"b'1bQ0-@%k ж T%?+|Tf6_퐵d` ̤1bV>aV4 =5N$NR!oaQ]>Ɂfg[Pdĭ)j;]1yg Ov*TKWL`ՂcY%ºĩ*N5\ݳ*rQMg ҜRBNJzԽyh%>,5gK4*[ftrsRlK茟d^p(E}UG) +CuԚ~&ױ"2(si# k[ϒ2η\?SuܰmiUx5 &oӓkEM~!M^ɐsm$hj<\y? v e"t!:˒NaB]8'fT髴UMJ$$*<JƏ(ѳ&-FյG0&d&)֡q*2+9#83?/L S/[}p];iE[|;!bjH(QV^{Ů-6L,bӴeQ':Az!tNѿr7J  1 <ŢԷl^QR$}%P)d̊л& qkh*-aLxBR҈)bwMdY:*H<"XVb?IeZFlWhEoM*VYrEHIf 0Z-%*JȪ5IT(W4,af;HbN`eӝRX{)\)9SQDv9+WzmRT[$fn[ciy[+gҾ@n͵ILىuSFT'4,٫ː_(Er8\q\y e}礜$GzH5Дvl5xZa$\CԄpD}ɺ rF_d"-q,1BTL펀:#Xd(xEH"K]9>0}Ȣ > YQsUsQr$xd<45ũK޻->A|Vpeb}_(Q5hG (TnV(+Y#R 㬲5z04\:^^bط+ʤ#ToZ9/2;8͸bEJ|Bk*gTC#K^T>aItV{H%Y3P 0+d*WTgG/jQk/sZS=թ_bvJ E@ԬXw`bA!&[rmg1N9pFLšg3C-4RzIE,_=޺+Մ$ZǡEB .&jir{`2b^cvGTe~$5[ÞR_aj۵6P{Cy&Xf/r"@> 8I䜴}/ݭa46^ &3?M^2dS ̄R[OL WJ;o`!%&0jJ2“%B$oB[ T BŗiP5 SVngΙP˰dޮҁރеOyId&Sb/R<*:,/YB]skg3Rd}UYBN!Nĵ/GF8 _WArUѽjeW5GnITb9&fFFH[AX[bnq'2."+E_rW;X3~*ۄ!9k4NݖE]>Z7E4[6x?u|b4$V |GK-EDD26[)&2ݗa>78%.:В)8l8ca gr 6@4KT8.KQ!4sQ8Ї;Pm=n/Mu4*v(E)z}+ib`N&mM8̼o3}{mķDsDR-'c!Un&w8e5u-S z9,\ʧ5k曊{{Rc_G!@lB!,~&TGW; ҵt&+ .(6[$UPft3otq}>&?YشT)GCQXZ$a%iid_K1¥8-M2pHXt2'*aBEbdGIOBXZbWP~$~xT?`P*- WQJ~̛y`ۤB{UY']E=jl KD(|HKEm~v b1|Ϗ樐"b&T#fZEYt, Ae9;Tf;d5ʿw WR=U9Ƒ5׎E*2D>;yTԅScΏ%N2!yXsIӳqi9QRIW>2OG4 XK]ռ ^agM#I4QcG L%lnp&wk!f!onվļq(0w)?sSjŗ=(),0Ǚ ӥ;|uqq;KZmP*g 5xR5$ZrrzXLӔ +- GHEd*-{c6|.=(!C t%к4` DϣE6" ' PLBbV!ѐ6 mSKuS D="Vz!&|HMW[!SSWf[wU}:U^bpS^8@XP"D5!+‡'TE-C!J{AR=jQ"_ |1'5\5L93`Bb'd-b1fyc)C,PBN)M}1S%1vH^UnjhoKˈxS:9a-\QXQbHg94Aac}TLW0 %*&;̹Kk1Jf"cP|iZ4h5)]%M$9Y#xZc>\K.+lH@Ν?&lf̭+(HT-ͤgM &hFc2fygzVW+Ev,a%P$_;D-T-M jC-؆P3ZZq'漸H-}~4ScDkT؁3b0%.e~TCӐVJfVJ!o$^ksTL-V`ySδ[W#66* T˖^n+AJ~k}=XF9*֨ G%Qb~$,"/ֱ j+՚/!P |KcgtV8,:*y%܍v'*R3"7iy<>>LO/1+#:N/CZP2 (HO2% w q@b##-BgulqՈ6tx/#H X:NHM O 3Q )Y6a""X5:o -q,ܨ66TgR@=Oh j J V&#S3 iGhѰ:ǔ!4E&$|F޺" /pEn#~Qf43iN҇eyS6, ڊ󬧎Ur3pS綟w,mWRRБqo=o3-"e줤9K[@)6߁j+j@lNO."7 H~CUXrt))n>(kirxm#M+[%-EMٔT,rv퓧 &e$=4oT5KJ bj`>#SJ fr=fe @~ <> &17}0U f[J#lֲ~2!~˯kђ v32RfTI VFS![*1yZKi'B,("yԯ;ƠJ<#k\4;+,8 BȀO]. %]-g|';+< Oħh7?($ʓpva 7hKTmͦzFnRUP^$91U@ā?\x!"!cO_-q9Q G/|F|RoT"jU!9[gTX fYS kPӼD)ON jg:O/WӐvl0uR2 aee_׸o84o7-(gE hV@'v-p7l)ˮTHiU?jxVCUT] Hѽ86^-OÉJJt8bW8{/D aAadZ$rJ=ZߓS. p~D"F] A2yɨˤN} ,y״,. p ֝`nx` )E IK J}ԥ9IHn^&H=) Lv\j[y> T2h! ldib=X}ȭz9ujHMD%\QߔX2N㟅t$_ SIyh"\xJp+ B$ Wq[2hlD>M3tUI|BӠW ]P#u(KDpHI\b,hg;D"۩1KFFICy|RՓaLR7`k@P8Չ#1e!ΦyckMDĄ-(d & (f̵6(X =DTw'%HG&PÇX&/q읐aʓ6T*QpL'F+V3OM r4dĄS/!v(<#Α,a%r$ @sPabC/S0 AsoDENdɶVlt`AB||z9)ȤCu(PP0$iS5 Y/wKbfN4 k2>?gɉlxN5hX=D1Z~ߴ(S/KrS~,UG6+>l 2m2KW72l8)_RR*yD#h|m"m?]0)I-sq]-ޠ`> °Pt;L'B /-ǐ2.ku$@ )TD5r$۟3(VguhB10`"DPkdE/Iw ~J7R?%ȍFL *L,HXT(Y2ئ%m8DتoX_ݡIa͙AyHLe|<#H ٨C=txQ  0R@#<!S8](h|:X0$% 2V,LJtCݜaShULpϙ ŗH52hdX8g$Ҋ="앪y7=-X&«û:륬^OU:rllk+_ ՟1JT]K(!͂Pp(Z3]TCm^ i)@Fe%9+W~I,#")_^\ ewW |ZQ-2~J݋ &/ j%^]pe%RhTd"U)%rbrAM![%]b*U;2«1 I@ H@@ASp)@!;(YR -hFGTe[32d{u^1M0l߀ H>!\}K@ ˆ΃|$)i*%41AOpcPࢤH_cd؜&#'qYS*6"88rfzYA/LT^J`K9 v$5߶LsFf8h+boQ+. N]EhCR@Tj??8i=qAуR&zP1!|SU7ackj,#&l_~겿d%ݭJ&SA> Rid}H!p) # +*uQǬ4܁Pph:r?6/0 a݃D`Ұ87$"PbeLPрN@ _iT+ v c>o$";NU!<3Y-@,>uZ"PZ>tJAW$%tE{Z7=k#nhd/ c#lD}]+`Y60ٞ7MD,.~) U+ه vNb E(TRZ/|dFU*=m n9QtTD(!^_U$>{{3]O>rP_)Ė?s+&= ZDu ieDxM p&*1XS9 !;_fɂa"6t"x;FmDSռ^)J*CU tЬ~JdR-G&vs& fZ/kpFC Q;"?/4VZs-SEt^)OLkҞܙo*d>syJ*]2A^YbvOV7pa 6"{Sbn$1cPB| 5c\5+턜c*!e Ft~{|Z\-%O'*Ӝ%Ҕh'2J$M1wGE.6a&ٴ:vœyjBY(":`Kh@t2V~Nf07}1H;Κm()/6 @t!.9SeX*"qbd~ơfEC:5?¡A|hjA 4u(D&.(F=QߓʾHKQ4)#LHPA4EtSrSG$ST.U$m5Bt!Io):=i>A/8^pJ|VW itcp `{:a#WAv2'N 7{'P@@E1BI9##_wsM'/C|5`7$rL$_ݲ+ rzM"ïM..ESa .\8;ͪ BPU结ʘAcIlBqG!}BdA~֜H|EH\+ZD﨔e*r) JXj>Y+!b1J$z\ץavJi= 45$Eb :D%NXuj.hsbRPlQ@Ҭ|7,՗3]ЮY=wxWL !dLL6.bkh--;" 3\WIP'lbt!1ShS(0Jϛ%)~my)+ĭ60CQM3-^ plo/;M~Xr\LsY|J(C/HcUħ=Hn(ݛ7bO 4rA%(DI"^<< y) h;&@N 69ew KY{lkz/kN&=qvgw6, |P/aY fK.]Ŭo_9N>jp"mĢGJ/x;$;9 O 5dldnH"]IJh)Ze"CySLmyr|iM"/[Ǖ,88"&ѡYp6ThΑĸI4&rZmhyG( Y7ޗHV %Ȇ`N§3t]]p#doR,;7Lf8ѐҙ‚02p)7 ΧQ'T% W %oĩì6J@msk yq6rDZF\Cy2؀-LbRnQUoFּiz9J÷w5A,:M;1U4kFNܺ~(jQhb#IٌVd:C]7G/ F?c=)k\ת6uYozܔ \-s,z+ُM0nq\ڣoj]]t']6f-,6h@R\Qyءm7g/I"1C:+"bI,Yݝ DbˊB7 Ȍ?~9M$aˌq .\;Zܶ& AXg鄐BnЮgZw$;[6/+̛ʐD^ (:[N:bE^[G Z*VΔ_sJF/Y6u9h@C2X%Zx9za \!,׊`9FBI|o;G"Rȇ4C"ahBN)ڦP+ y x4TȂfVJڷ:[5sVZKJByAN$+{k}҂G)sNLx 6_1.ˠI<7} %#D;h h;q0'bF`,Toc?I!,oQgLMQ>7G4 20W`" I+hRHם9i-r73=Z &->uGHP{ga# +Jqy51U6ciZ[)4&I=gA/(5znSx_>Hd?v$Ǖ&m7F;PjRrb&ɧSgz'0sf%5Hzga|g_ n Tq9u5I?G0@P+SGh'bfbp%GAAɰw%*O '}]١CbMscI 掹-NE.k 6M|䒷LJu0;i35tbf".(XQ-NHb5& 7x5NWL2|/-K0Z4MC`9r5wQa3pfE aafH>&tɋSTimlemHTήxTIG:HZ/XЭF,Ms)Jv"m럛Opx.!",?X;kuQIi'$ֹ).I$SF5B~RR.D-O:69d-Z_Me.aGzWҥ`֞~Z E;1lb5G)2>Eh' PT-C.cK (P쇺YWz"$?1`a(x'@K_MCx77|čuVv6*ænL˂gDK*Hi3H,fg[|S9w+fD_TŚas[ut ,p@@LQ ͹ 2UetJE.5eOd%$Z̬I1+q܉ Vq_}S^'4jElE=4k1!T ˱r_K767_OjeU4V7kn~L݉:4Åw?G:ҶǍ?]?\8)Q' |!^"FBIԗ4#@'aebO( ۙ5u%A6m86 >CB|o?PgX˩ڊX^D"ffܜ2.*E ?K b4h[T=g)jwcN}U>-+RQ׌H6 WEd5m_'$ xAth^PBc10+bj>p82&sF8,6md(XkdaGEݡ#!4W4O%se7*dNZTՅ#IBZ͍Bue2/H?NCԂ?lTRڥdG.o:FUƁ1A*N\ր\)AdJb6e6.kցb c Qe ׶d7h8M(W%Y)LAAWid*mYȏiu@VX"Y)c˞&xZl#Bmk|_5Syon6zn\|xbs&˚@2 ;?nMʝEYu.gca'ĂܯLUlh̻N4}SK\.Op„Y|KSK; -ezr-Tg_ emOHi ;:.n;DNc3CZ ^҄e41!dq@+EO auا=u`z|u`Y$aUe2U t"Uɫ=UzC<ȐrƢ9=w^_tȦU"S}w!5!-j>ٱ׈є 2K vuD$O9sYgnW+Zs- Uz'N{̛{"7TW2BjoyVʊK A\lm$4s2Q8[~K&=1a@rV J#Lj9pXAi&@uSU>Ji[ZTw쾭rX饮 I+Ч<̑DnSgZ y Pw#v [1m͹uBs,+We966Uɢ{"$X7Z[å'AjiЁY+M)A! 7:5'PH\RZkR5wj?E~k%q'jOu[7jըg# #@f J\JT }J2/$3x$ h3<# Pİ1RȐ;!CG1|&3% C`i- ^^qRrx=@  j" ˓oZx fTE^ 63Ct 4#5 s ; ^NFzl8 o3Mi§IRL4HSExd5*ѭe3'C2 vCNJAiQ~N)ͯ& 2J$)b%':_ΠVQF赗%!W~`R h~x#l0Zʢd~Y'f>'R{a\lAqYW,K}iJUu #p,gef|j /M3Ix]ԇ= H. >՜rkh(l뒞"ܣbS5Cb03ZdP#`D0ם(n=vXy&Er9ԛ=ٝ-hteK=+Y>qIwu7 $R]I?}K5M,2&Ӷԧ|I']sMX.^yN ؃$Daj|?tU^'vG ٙ@V/}{T w֤uB "jn"GkH}`PL)}J3 HI\#TwB$S-z׫ŝ~ȖnA0gIp-l.oUۍB.Ė6e0Lkx9UJ@V`BԦLJuO%2~ZMJx`/Oh/<DƽԮ4U{bbOGM |n*f7 x\W"DtJjI/Q`L/g"Z2gAq7<ڑ~I"|G6L&Z\*fNh<}2]VBm6 IӰdMӅbp 9ƈř>& cP@E)(.ˢB|x0Sx D+YBm7F$YG>"7[HQ96(K*X3k67e9x'Po$6t#yO_vF $&c UgOQ>m9^3*fq )O7;+z%"1٢9Buhh8""˕_?yU}4=]!&ܓ(.;j鉉! \:H,V oupt"ມP-pWTgg F'^(!+|/BvNge:E:2 IxL*@МW2Sw]c ɥWPUZĬ^JC ;G΀3Xirj<_nC  5C/XЭPg/ 'c{%h3B '\NSF$PU,`yvUhzyn|-tgP/X&`ZS׋E[ЦO֋t% cj-2A{W<^S~ zoK ̡vצf RJpQq4i5dnշ¿B`l& fQ4Dz )sBapjppz@jqV])Zi+ X+*&w dtIx# F/rO"F`">j E=xƯ33! Edw:n*^Y,s'L):C9m*|Jtn1KRQ2uȵ̚7%#HU͝hMhrZSPԻ)re%|''a疢H לpi(sWٓ:f7|}kz^dЭ K}oĤD-z{ȅfH #QQ =KsPݠ~TC msQrkDςmOɚMX[Tl$jTt,40e*D/4.3x%x3 7@$'$)>F"LIiJؘ4-Lb`|.,2.4491x&NTb/sڃpAsi9"@h»ѶNMry\"AֻҼQK8z ݨ5B$D OQ+!L[ Ӑ}VWР7^s\:*ׄ&&Z$ Sw|CD F TDbFxoVT {f>x# Ǘ^=vU'p-hd! e4՟IqVe_q,dortdoi`;*kѲOD"XZLf_4N|4WѰ) "(ҬEoNTzPRzB4r33t pQ*VU婼spIr$ Oc$ !v8*LT|(sRShi̯b+It룂Kw29SD!-t"]kiatrԽU#>_1V-B*KVВ-k<9yH!WJq銛>$_ )/N|cYU cX"dV>p}괈utGz4\֘t<3(=10Tϖy wD<[Yraԓ7]r>Wb @5tu9%#X]>͂Oo ɦE:? x_XkKKA^x.[cpdt L@D9ۓ0x!Z[fÀx !,r_)ߊKy!tbf PBRJ*(?@%ɨ˦FôLǘ/  Fc|A /1 G_?nu*$T4%]M<Ʋ>亟C7䤇X#l1H<[tQ?݇;'RNAs ]c$9fD"ZH\~-XϓQŽ;J[ڎ%M4Y yL}]ȩN=.M^*ߐ8jRd(kDEd/P&X2,݋*rWBIJ#>62nNȐ+a @/ c/ \DM$΢wiRjB]pHlA‚&p'Ɲ.:x"",@™H?esu)S(%C&.E>]JVSyJ)ML%9(A]܋#eQT!p,ƅh) y8EtDȍ Nt~Lג .{ ҷNb-܈'s:H$͔EFGFAp+F)A;.D!ҏ)Eu6FߥuP/خ4~}v%X!;9(``D@D0Jp$ b9 rĨPJrD$mR 6=myXlkr +bMؓlA0¢QJgudj$̄6GkрS K(%ҥ,U]xʮчav0Q o9 iR+&'B *3W&^8O&&E#ND^z@ S+!8 T)-1:%a/mFq9&)/ 9  L[5Ѱ2g%`Qzi͍*'hҸ`Е ~i:_z="*Ċ>t\t U5έ<>, _ 9*W༵H] ЬBJEf L"de9*h"2bky.˚WJT+B/P] 鉐(L%ЂHljlXl$%pn )TMa2DA@ߐMa ({"l*x$UIđ hakʇuES"DZkiOhVyyBe詓R.~$W~Sđ8i!5!MꛌAD{(dKYc(L M49L3zbC4˶!k;1~fH{a0. :-?>'04^&X5/݉LgS[0ɺzG!GrHY*FPA MTl,ԹK7tJBqLg:MvƝ#'"_dXt,Hh[Oق# ,ɌK8( ,x a! ]cN&hn)% tIؤ [hV~U`['*^ 7Y 3P>;P^)= ^pLO:{"tf \&H»7k>Ȥ[m7(^謨 }"UkH9H-{6쟜f,"ssPj+k+4KN P}J"Ԍc]dd8}/b`O5gmD2l{-l"9*Qǩ"5Y]_#E]GF)HL9&A[JF .+.vnial(M) #ssHSiK!CDSuZS~dxFE*RR^rô L0Yz٣smˋ+p,@ډq6MҤq啽BK &5R1ϲGE qyv.]4{$ ҷL?+,=N%m0ǜՐ4Es'H7iT|*HjakTeӏQW[VY˛G ]26 @'#B05{ZurQz<=$myvSj]M)W&5^:NW^|?.ϼB*CJSe_yOM17NBb1VNbqLqocX'Vs[(4J]h_ OqHEMPt|)LUfZ+"㿩! hWO,۸/g ./!tx|MֺR*#T&r^m3џZV,F1Civ|0"vuk4`x9)' Z#GKQljt2ދMĿRf.q)嚽ט)Gg-傸YDpL!$ (c28EI7N^ i;@SHbpyL)."Wf0nk4~ͤLhM=a PeQW*u* Q؜a K7͟ACMEhfRG0[czPbP'Kq7|䑒H]daHaD*,1Kqł])>u"シ;.ǂ"%G߰ʗ=iF=߸kE_(Aڡ2V22G ثڍL&AQeq+PcblC3? +YJN^&$/D)I =(+sMfgͤqg3<-d=z b-O(ԥ}p('uxS:GPy^J=f(N;['(~a{$s2N{2G!&!@0dDzv|oR$xtƺ0QzXe9iM_LɷT LqXP(FEp2_ډJbgMVhAi I.AbiWhq׋)h ҒZ# `jl$Pt?Bmx>8S>7~Wh#[wIя*"qeKxTЉRgEJ֦YÉ\xab4~a[JU|I)<̉&_UKQdM~J6'Mē~ƒVn^ |/oLXKJGBCO3fƌpMm3IxP9;fgΌ\3u^ OFXvfGOJu;3^g-!?(h[Cc?|S+Gƪ"{ e#SDmҕOl;c(V&c s$oNiucJLAɔGjNW9ꪈ Hl$la2e ޫrSL?ܬ^$,ADKX y6  W/D'LR.ծ}JAW-Tfy+&X\'fQ$/!M[%)ܔBMNŭP?sQÓmЎ;K&Oip,51EŲf;ǤxpHOUd"OT:T,E sLg "1 N(UA332,gőgni[T RGD0r> ~*Z6 ~!1̃KS~S`^4%oxE.Ѯw"NmJdIwd#Y&X'h +uڈn:;;.w t¤/rXkmx4Y*,uuҵZyEle)$ 8\;MZ$ ;mD6mwN'N=8΅\HX'XcÂx:{yojnY/hCO|%ZWl$H՜mV5ˣ=A]P3:-?**Hc4Jy;':.d?wTb-܆$Jm5ʯxܰK?TfXW(aަ SSrL& z(]LbfB(`=һĂJtP*r\O/W2l5R]I+eĩEe`=Qh#KV#W*zһxTKAs(*chZ*c wfQA}/he~u"cMvtČ Ii+ 4w/%ʕ}*ĤP"E*koxmF# =[)=o.`ZUuO,DU D2*껧A nJ%'R)3$Vº~6-U=Rį9mj|WtfHcKz\|76v ER@H8[ur̗?߄ G\*qČ3ptFqV\pB6B2VC_E/r'Cq?Z+8 ]b EjY~Y_4*UN7.XvÂ3`qu2W$2\dif/G)DM㬩N3&jNŲZ(n'@v@?o}"SaZf"l]Lo+3-&J*W151%H]TQɚ==tz#!ڵ3ʗ˹iQ~Tgǚ3+Hl 9)Xo,:۝zĊ~lDPagTE ˑʗ_UW-Ң֍[9G$7 ^YlW_~l% /x,>`]UL}(W0f)ai_KٓNG˝kyfFE$=RTmS>v\ʼnr?8slJ-dR4[0&ee`zT&(KCjK Lǵ^ _,bl|xEIFjUh KFgV+X&T;^,EF*)G6#܊G/p! >]/2Yc 3T{h#B>sy%!&G-pQݪIF`%7|O/WgЬA-az^g+-_՜XFʷ[L qTWt?&wD9ް(~፤<M++hRm1ګDrLC%"6nNJe T')Swg I@;&B#bIwNDB):7㴼XMBSAeW  +`>Ū1ħr?r)#ʀJH["KӼp *bJ< 96`ͪ )N;Q-ݒ$7gj2Rp1M(izE8noQ@R֎3hBMWC<_Z14(Nc)љmJP@Eh8O剜IF1I|DkK(Dp"ekSO?3y>~鸀FosQ"[rKRmq -hM)Dq`vt^`I" AR{4@/0rF8y:hsD!Pۖ@m=nh8 ,$ֳ ۋߕr-%3cc~p 3Qx-76i13 Z3sI%LW$%nVƖEN+݄.N*Bp$\="8/⇅UVz3DW Zbtowxf)%!X͇-E_@WJbOՐeCI-RXLNBΌadsY"2㕪bT2jԁQ7P ~xAԴ>2izS)2e]} 0,9$W>GA]Q[WUQǜꙠx' 2PEZ|rD]e }̴q}Tَo_ӳ(Rk. hI{fZ.)cۧ}Yf/92$;d".,|-2V۶d/;j+"4\BYDq)L{łee+o[e%E6Ƶ/0) B_0\32Pq( * ʆYL㩍TԔMA.Y#J.#2UBUڈ/@RE,G^ӥ<+ 54^lU"D|+mEs*Q4&/Tz_e!:NN.6ݼm?i 걍$HpPL 1jeypas }aB'K:h/T(۸qBIvs#(DPrbÚ [¦"A\sN& I{]NE~] LJV8\VZVb@]"]/JI|*Gi1C^$FQMGHUIgzl\DL0Uņ $`cC 芓TR ȕ(jh3s=0h$wA"| E /T<%\X3ds!}ۀiot1K${˙L)BkW1=\3ȋQ !D⧥:>ݍU€2[+ :`{gb<ak<`_V;m>*5.N%1qH;YGIOwR5L¶HSFݎ&Z!9dyu=Ъ,f~RUG6ϋ ޼ +Wf%fϟJmX>GE]N aTr+խc/.D20TMɀM8Xt=qn++_j}`gJz&.5h>\Nd?Ðj7f 2T;E \Qq Ҟ6\>7&Q5EL^1lHapNQ"`Gevlә-Ƶϱv]RhS֣f6hH* =R:j 11&ƏeN^2: !T 0o9%]l*rK}ɹ=쩐Coi;/] m1\ap"8o*/'@g7Ͱ>Z>sćGgnж7X̵ԏK!+<`tZNBH1RmnL7x/v%BlDуO2f9/|m e$="3#Y[XbFM-KkdCd4d"UnqpR&͜g-T.:%{* PM璴Ib%72Vʊ )[TF!I VJ?bf^fHg(^v00-c9WOR8%6#M8R*ij2dxsU_j^n-$ m]jq4Qɧ̘;KY\M)(x kiKKbQ!`;%pp<" ifM-f;?%k:B1W+ѽG~ŶR|f2,T(,kiڤdokic~JIP4#A:/801G֕OPXgZ^0+7F3dG Q:@B7gWPRgYU;x۴J (]$ G3&K æi ,D I1L S-nrYVkOV5LP_:{3Aq}s )'Ihju7DI'k- ҆eB:h1JiWsHc[ŲM?j-\gZX+hDZKvC vTYhu "T7IZ^aꪡe)jC6"SLP_顥w5 |#Vgz%7v{z_PLbN}ՀفAcK;@0Fla |hԣF?&- V:G穩YcVIJSa #PHM%3ߤN[}pqH:bC`tY% -Ar$5d8"r '.ƴ޳xEgyKtU0|Վt!/y2+4F,oܙXTƍ߯7 {:OɴINwoHdT\(ἐQQ5N?qea`gSDTBMdxg\c.)zDK N͜ےEd{nWkUQs 5}9T9Z^|c!HV|#ZsBo".SɱQ͂Z}9"zѫ%!^S QeJPNu޳ ~ -&wƄ8ehX LB*ӆ!s c*=2FyN(7hؐV2NQ"G m;/`C[ОY鍂  f|f6|] vdyWE/|S¯'K՟1z2UH\D^2)YУ$=Mܨ3 Wg/zYN;Ւ:QMIaׁ?va4v]i6MA$Icae[Wc>`"4h>zLV_"PK,4b){귣{}8tctT]X/rj !_]vYp+e'ZD'y䝩Y kVhxFB`-ź$ _o,vZf9zfng-*fȬ4,Cf$lIr*"?yDi+(m^,Y.8a]b*"ߣ8UUs]H NH}r.Et~"\/D7|E#iZ;,qIri'(XH7W(hTv Ŷ5DU(~0ÙEKDiz5͗kԐO.{cIj;޲cT.ymҘW,8 Ǯ)5NE?&"RtuD.hpWjg=/dZE"iem#^Eփ-c!!  Bt+\pU?Д+GV+WÆq:dP"4} 7~ FJj"RvHYTK͙q~JZ>LG2et*%IQ 5h*( *}#BDbRq$+>"ST}1U07Otj$6DɢX|Yu; \L ҪVdbh".OYV?2O?M[-(%|yD{j )4+j"rô<5EJ8fϩޯ6_?Q)]5˛±u&f\W,pZӆ-H5lcoL d%=+*ZKbWoPgѦ 4{#?j}ؤG92֤NRv%h&1G,0?V^dWG-d9#$ЩSѱ2[;hfCOJ.}8i~%#/xא+rsQq^7{J˜vی]lY°@" -#H3c3%(C@֭!-\4p8/ @2MІ!a,n4UүR.Y|NmZ*R>%-g(5\P\H]xV!Fi~셡ȋ}ljqv]9 "|]v+rN*',4+`/@o H50qxjX %c%E׈!=b WD&1[=mQ5D5,VRF~ޠ$cQ쒍*$뉒t3'YV.='8Iy@t".3*K< 鋅\JCjbb$/cKZ#2ȞA4/0!j0S9HqpI呐1ac?kzn L"'wPV)/LJC\kc(T8ZFvBhrN=H!.Y]^J235>-߄FUԫp2)d̪tht5^veM)\]tq1G b=WJ0 _;zxȵQ;y#w[; Ɩ<M0%1:.vZ o4fUrzT3*A` ;=R)  ҿu+A/ %Ĩx,ZMv= ^ W'ڴNs^cze-4c/@޳ۊ BKC)ِ J5ѪJjo$e:<9 yϝ԰-c$nb]J!PZ:ҽEW31*'D=mg\j]?6f YM^u.#Ë&%ębr"QD"M'UW=䜷.FH51FTvy]z"ST`]k&פb;,7qUC|àJ1-VS#C2YN)'pYvbg1 z[c5vgqu֚3.$<#g^M\:Ja딾 {+"`AčV]4vKC:gp-qG~).>֖JP#fyS'] "_@+U؞$jl#' fe$1:ND.%+D:X_<)P wDs8t& BM0@V3aɥm $Qy*6̊FI&yZ~fIS-#CD"-sofWVX[ղ%O57eRl-' `[gON1-AX+@U ,[֪xdS]W%DJ~ vѦ0MOqWg8Oc[T8^`PB{J%Ok>~N;#Zw9>Xgז OrNn7ʬykfEY8_S@ A+Ĕ{rei1&5kPS~ח$18ǎ=M2 [T Kw?,$1o%iQn~ Qdq!L!A܆!))0 ‚rXg@$%JM:DupXrlbjCO~Kz"j"ra{l' wmb$<ȥŃxI~<93u!Б&?1x\%2;. 䌮9$fܞ뀠oy^Lmq٭Z5  _VM՚fMp'+릉8!aC! {?yρ"̇8\\ʀ<.U2FQ1h\5".."*!TARx7'DڜLu8H'=:xmAn9l*M[~\'ySeVtgůz2,=ʰIz B%VEBLTmvіȘ%Kz!Ѯޓ =ҶKHJ]aXlCӢek/]TӖKj(X$׉]xBKpbIbQI$MXm W!*gfN[ *E"U{{\#+aK{_LE91ue$)#3s)kFݚrq]h35zFzV1^+1K[:oGaجG2|%.P D@]d3BKIJ<&`DfVOO&Fđ%? s1nP@B |`d$I+&d rܞ C/ ;D/(Eo^䂔 n !󅌈MŒ'gwHUwA*^J?xIjfM{+$&`J.rM1$rk} Q#ոj+i z,.DV.A,pTqb@"4a ~ŲMz$g o_yKm+5H NIHmfbؒV5e-9S -G'@?`}))(,%g^Hrpщs'* 0>/Y-h_R<_+aozgdnP;[5$*jLX A)k` B0AzBz%!*(zyK2"  ؞u릜+JzBtP @UlQ V[VdxӔ86g\pLH_:Ǚe*?wHःˢ%[yRyuJۄsʦYf "~KI2,~G9*9G%I|5i6*& _ޅܸ~oVIU ;} XDPqz:$8f:HD/ n"j{iZ0Y-䢚\UI?">I6s'?zzq$Z!J,*ZwsFӄwUJ3 ¤av">iEUY0[\2(|H|zyy 3ⵝcnNݶρn&P66Lp*(1] Č=HN4I-(bnHL[v$VFa)6|F.NȟKH$Bx\@* JFBXB=amDHH@e \ÝJDKYI5I]*bV4r1T1" ( *W\bE%!J\r@0:TH\p\ta0oeDHp6EE NoB#  ?rk x#WЩݵΡa^*mZ^\3M1]q$Qy?Ӵe)vM!mU]Fin tIFɳE5b$S< .-(<(qNj )j{DtaWj 8)74n~vIVW{A{ AHLND!=`KIFJ菮U8.cmEaR #d`2TeK:7xx!⌍lWVMZ/ɍbM֍cUbB)E0i3,:qd&}sIʞ6L&,FUCjĬKj V" ɜ|G2 .gƊL <ีU@tc6TPHJk / Qփ~9J"1*D[K;sd|y}n!$+*$LXKkFdM^OQwA8igsu"7JdaβaSo IxTb)A 9@X $X ƩE^1OJD ofT +3추K KO:%BqvQ6< 5߻fǣ$Z}GH&q0mܑ;ι$J[PkrYej5HxlłeI$?â7,έt"Z*]YWhʰ$:}?TΕMDX׈k{V=hj'ٻ^zw+K\*t:ƶl^$-HoD5xt2=Zș t͘X++"]&NE*.-NI=q9h5UyūamD+W% :֢ 0$h# *.p<*hIӼxPt-at(~Jƨ<}q?$ |iHE&$ 73y6bMZ?ڔʥH1~B+̉r ]:)#G>9-2-cb)"+DDq}бD9ֽiILtB2@_=pέRθ1ߒHLb]am?vٿr(#W=$32va Z;dGB;=s4=[喨ۚXˮHgǐ4_¶n??QW":nЕ)w:e=UHQ ̲Pim.pqwUP" 0#%bՈ.@U‡n4y=-f8ݜy[͝7S(Uo+hT+reY2!Trc:XT;ռW eYٲI,eq)sF)!e2j_,]1'f-Z{s575AxE)\+ rF<.PCFCb$4A _l=+H/S~?_J?FՑ鐕R$j G)yP_gǞ!~]2Gs3N bu}).ąv̊]Ƙ0X:'X#-u%6pKNL(Ymt2 %k-jfW3Ի)nD'SC \ u-=I%cBiJd&@U2.TBVɃJQ2BLNMB' [Wd$z/)ͳbƞ| 잯iIfIŝ)6PyLX[ۊ dQ]57SvԚF3iMKi@mwyۣ6rn_2 0_V/KK#UE$UBtN*` <>X?C m7R|ڀH(OJz t̮l$fYpjhAJ2.pEpU^Q 6( A }xTpLi>x`Q=Z?NbߖH,$!{K T0*XP78_]0)bثAotI R/1VpD$ 8[(f9?zNe%MP\ bT.yKA<,~@\N$' ]plm%Ae^mhHً?B$̓" Zo88.~ pѴ2~S J0I#D`B):B3<F&B_/2/ wnnTI1 g`Ӈ8u9˻"at3v d[qtϑHf{.Nh%csB!D:w8d-tW k iAd>Y&:6USŇ \KÍ Hl]& 1:qDtXb$wؑ~%!l4f͚-)aǘ.BD8|1"\W+Mdkhl={{Et\w[$D_Ze,PՕ_D\]FB) Y҅}0P tQ AlޥԨPJj @="7ЌU7%!9+x8,7ba6.eXE8BC՚XDOO8A'uUjXƙ}^Bzb2E@G`.0tu'],U VnbÒJQG8mf>W9ΏwV%OR>1v }Q қr"HE#?9ϴ}D;U*f(;% ԲkYg1ߌm|j8lz#1{JdSC 4wڋ.kZ"xVB|#i^Ka #r1nQ3 $`&W|U,mk|֡9. u24XU%t&ХBC(I*4AhO2 G S$ˬXJPd>[}!"櫄=BǺP%ҶC#fPIs2/cV/\tiOV+\'TUT%&4}d-dکz/~6źؒ QN)~i޸cB?(3v!4~ r0BUlB51:vjsbщCNA$zOYhԈ{4K!121gy҇|h-ZVq'%[)ɭ4AҞ*7F"{TpЍkC`H 2c^"Ra%%x A(OA1GAѢ ICx0[ "Y*8ԅj(MbhfqL{NXӍf0JmUdJ+i3 cXaL9hJ=b.."xWLLʨ "eR^wÆ4>豏7řɾ!} 3,|ilg6/etNʻJ`3GȍO*r!?H4Bpu/8$ GZlǐAsΏf!x,k3Y6} $@h"Ct# g[)O}4 a R QgRN3Aro-q v 1*zj6kes0M"0}8R´ͪAb-ǘ622VDX"&6Y)ލnÓ[5m~jzlBXV}, HJ/$CU&,Rc& dZ*J/z'ZnҖ)?Je׊ncK^b/P xjԐ ~a 1>/#Ca޴{WSi_-Г  H=qsW*-ܥ|uKl^,x|mia<(8+9< $ o cŊ: @t?# 2جD4A@A`у4DGt:g"ehPlL?%焥 ]lb%B,G 1 ` ν;Cl gsFHxBYg!sKy$dy_2] wGv8HUdA`D]=`"E$`Ik_{E$r?*Qyn+kQœoac&ΉvDWFIMZG0CJK&A!-X-9Gr>fL%LZA@$oņMoGQ73G8%$4^ȯRzL84 cPy خ]w 9* gbx` ]S|$i$+םTr] PDl )XBě2xbAAaŅ X:LP:>;tP_̲&4HQ@,tU.nMh̦mND4y&#P۶ʉ`|AJy hhpa[QٔM&u̩A8q Il%jG) #r !<1lBo_̕st-~`O:HG6ߔ\W..1Q*9u,D_/3qV!-smR"!f"(OIä4W,seR"_먍Po ;IGxL=QIxg(0䥛$ʕԫsX@qUX 3[4kx5S!T2-m &avn`*L-/T48g8S!n !AR-2w$mp\ / {'V2h$H if<ض4)/vgk|)T['L]J JFOxgGG QAfjiLk0zye4V輦?^l#$YqPD$W3:Îښmt2ȈgɕHҽ~4F[ &`c?fo~YkI{7+dލEp2b7Vj[uZ[u"u4I "HN͗xL!Z5V4D5Gm*)w? .)V0`ґ f=^K lC*l%+{,FNN5eMqƄHX(ABG |><07HBQPlcJMRy:T(^ {AŴ Pau=ţbk7h򏁇P]Z)]~%S0 gI8I=I_|ֲ^ĩk覛 u8C-WPcgûU+}2SzB߳~Uab/@ΗQ<+E)H]hQ%O&;3ի[R N%yPoi YB?:)eAGmX'$]VE\c,YG)Z;{bOZD;*Wyt-&坮ipJED bۣXKA;Fv(.A243lC(:w!m1"+$$KbSy[.B()_#W;tM.{%>2f852[%|ȅ-Ȃs&:ď2>ΠN%pa>J~Ҋv׿P&SCJG;y1֙baҨ&יI"Zpd8a/6"e5&Np~I;FZԽBj-7n(ZZ*רbE"Xm1FnEacU/ )m3Xiv2L)J%^'bME.r?ЮiTyNGﰎp[*_DMa8:,qz'6\myۨEe+1TR*]f-'G&w*.TS(fJE^iКE)!*.Ii6ZZc޵)J qVrC1xwd\hC _[V\'fbJ #E7m{!]hքz: W?D9*SL.ZK_"Ra;pq2ca(c YjE3B_:=`F7Y8د 'iM.'jޔS"2d$0Šf(L>ړ߭IdKe”TQCY+RbԤ:Y8G gՑ8<}BoAGj$r'6[}7lKA :spMtj]qW#8)Tj>[u+% _g3aBA"M&BӖ-ls)'p ِ3rt;z}-# L2 )pe$n: U0i4F"sU(UDBƐL%v:WёQYl! 3:>6m`b l7lrnP7&m ec;ƅ$K/7ɇWĈ8A8c&=x~32 +R /氮TmMMŧZ*uJ@D0a$0HǫQd`JwnrcQ:^]Ů)"Ը}F o!z&0fHFI13S$5,!(sE#E/>[NNfO3ceOBR[g^VȘc8S`C֞6ƄY+Rq=Ґ.b TOrTf4K1=.$V/ZMZjz +y' FkBF*ěO-k"U^{Dx%)-&ݘ2J"8`6/= OpMW_E[^qPrzIش PChg$:uhpAc@E&[]gÞ:~fpԅ|k&T{JN+#ڲE'{qTh+}AF]LQ嶞Ĵ\I-xFIC k'BNi8ͩ#)#磴ڌ҃ͅ` :T^(g Cm:2h3s}"*P1y=jfv(^E^$ Z"2k._nK6|q &" {)s#FY)sAO>uK Bxݱ*j{tHw֡S< U*)JBW| pTI s`A.tNķ^%lLҫ^9 iO4W-p m p2-X?W,8V<.O(ZVPWÐ)[\1lNv,3a%u"V q+KFjH:4$:{+;/`0$cJeđiNc1U {6If i :!,FAmFrI;PbF@' fFl1ENyܶLR^ 3.;D$R{Bz#O"pivW ]9p=JYa0Sy/>QVUTenrހLh' EP VګRO[h0lɽݸH4|Fxj Ю³ԡ"hdleMPJı~.O9D*_QL|>%Ȋ޵̭`x})A<}*nfzm" 0/Lvt玩.+PpCxcs\a0>S g7,HI,!rc/"ѥ!'ECt1\91&]>D.H>Kdy4A%NfQ\[qD{'hVUƧtRuj8AN#D5UV&q2R~-x&Dd.D;P5`b^F>i[$1KiԐWh9DW13 !;7,)`djR?Jpc(e қV 2A&.T(DNlʴ;bxKRĻʏMʓ 5v3?vgCLQ%i] 7(R/W|ƱkH=$"q N4Eu)u/Db HFZ#DVEv`O |H6–M1 HxS*6Ӊ liijIA#$n!sFGoLW<ǒX?qdJ-=Q+7hKn n%#nX@r+WߑKFI|ZoQUWw[eW2jѡ$"T47`]Ug+L{?6mbBO}̢mf(ᴓ莔D8(LZNU|O0Zgu+,zUui8#[j).*ƼJ68R;;hQ6Rf&~-ſ=*oAl\ ]UO/?jQ r6}!1~Kt}vibz" C!vdR o=\T^˩HcZNz0!2!ɨ?n[G6"u kc h`ER C(IO}6 0dTEDF5?EdbB]:sdp20ey}@ c]޶c襷fP=X.-?arv-T3S3Z.M1i"[RE#6_*U#hO ?|*66׳y~!F?M5b&wHkE$ISwiؽ86,܆d/ GVqN˙KE3nINx(LNbK |+!te#B5曕tǠQV(^,8O4>`_ʽ92P:Y(_K\ԑ_ 6\"}{B 6@-ɘm{*%nXpEj!a!:-{iG I[^{U#6#*ԡ9{r^Rr纂ޙ*at'dx݆NBH^@`%;t΄~0x@7<~}pST !* =+:T] 4Sw]Vm f;\%Fū`-4Lz/\ Tv|dZ"MR$"4vV}TVOH[ձ-7;߀ "M@vMT*FR[Rg[BÓfɢ6٠>=蹍֓bwARrz2O^tQ:ӞW||IMiR閝J)=쵆ԉŤ$+Ih ޒ3RNqWiF@#<>Sq >'WߜJeq,59,ss&I==ڬ,0ڶe$.)@J&Za/>Wߵj w\X;~NB%yt3_"ƎrR 6~ZZPoxb ͖>ƒ/Z{ ʟAE-I&p X?A^±rֹf͑يxȃ#]0-ۏqd8)60h|0]Óglag{S>I-?UI%hD.BkfE &4+lnJ7!N|Z)6Ԣp F3E`*EJMg zuzYh!)r#bY`*SJQA~Tz|ٝTueX[tHuEd>KV^ӕb1f(ʂ"蚞SⰬh4]^dR#2QLyNMoMb+fHe9$42<9I}o\^ɇZ%j4N`%P2e"?a˃qILV{#Cr' 0&YXBKHSmlq4N5._+J 5 J^: i t%f>YItrΕ_"{ALń=a6V\X J-"N( &âHP]?%F(ؽ%~>uV-)n1/0eJFͲz($AR <3NJ `B4.{p0"\0MVxÎ4 xM$M`M?3,D Dq wNTQ E+TkufLSy`I 6NI޴=" ]Dp!ˋށiV*]W;/lt:<;պտXD10nKřnE$Z.zj*F ],;5W,\y߅rgL5KEFA8'&rAεB<Ѧ1BjɈ˫TCGuK._Y xn@Bb /prD:K%P}q'P ʻq/."2qzʭ@ўdThh:^CZ'Q?Hu5 Y [ټ;jbDmDW儈R_|ƷT;Ktv*mo2$j*?2*Z_U9R# j4Pv$idB 95U&z_ߊQ h;̩~^&ghvbB&YҬKkФQ)XHkIH>.&8)OwO_/ n{Ӣ5 _-iU&_!&#>t%B"=Xi+}PehYg欸i/V$>!6# ͦ|=\ c2(ZTVť*z.(r*H=J^eo`\D~YV)/etS}B$;?Ju]Q!J(->'[~X?u|acڸi0ܣE 6MZ 轇D#?ҷuWG}(} >Ֆ` s^i$7crWUIfC:#b?l dE3vj4uU[1w0%7bڼ(esQuShEh*aVlBsQZ&_RW~ $0SGΗ]_qe6S~zTYۢsPډfi m5y{yxR{׬o*kM qjռ6[Vͫ\92 .Ԫh^Et5ap"YSZaܵHVl=G~H;եsTqkN5@ 76|tppƑ)S1e \vcp9eRwB轀"W^eׂjP)c[vFщzSE%8=霪DAXOwZy)e*>)7ή:s\޿(GV;IKg;KOLID샣Ǭ|I)~ngk'!%$jvKfDk_Ȥ@Iiʩq[n%uUtXSuB5ǃeR`6$inU$ YuzaYB:K>WM[2 BY.!zhȐ/Q6ȼ1"fdڃ:3(= ^s6cRmDE&o&#('Cc$1&h@PZ. 4~ R Ʊİw~.ֱy jf!X0JF"s'sAY!B(m@IMM"C50l"JIXt>n:x%5Bg  cuXOP@HĤŬydq*tO.;%Ç9r!b6L (4Ҏ⬷cArX5g~6Yd6Y %V Sո#䅅IU <Lʡ~B[( hάF gG! &6 E$"G B*F*+$Z}SVB,$V9C3%!0p9!S4'B)TR41[aEnG}44pe5y$O&lOJ~%{xE":Z-zCb 4J;̜NwΑ_E*c!OB +%d(~zs\FsEte[Tld ;ZArnC_O> $]ENj% OO:4H5k.KK ,XK꼘H1gnQf )qGXV/CNat 306r}+\N'5_/Qo6plzQ4wHJwb=z1%(ȀPDG{:%JsxLɳ [;&4GRtyRp](y_ԋqs!L#SIYj6G*`L+{V) (qA0-:{L$Nj+hiA (SA 8wylɐ#/kݕ$(P2hؠoT4mi 0ǣitCYkA6؜A!tIX9B|n Y|H@`)|VMQV|p  i& %KP9JF] ?P%MxF"DN졙?a;%c88* J؆YAs<7Ao3y`r=؄KQ [Gk`,iKf;3hkqD%pnZ-!zEh%, {8f$HRQHnL@a5`@ZSys.SUtR\DjKU)ԨMOIT]ΘÊByCd/S-}H"2zN&SxƆ{s%KiX`B}FsG㓊U YwsڗƪT &,rX"}]433B w$[ֱ&Ip^!Y qStw Xحٝs+9kSkamWPޏ g]*l{p~7w2̾tT Aٓ+:C$%bqFf̚%9pP;H(i/SPx& |"J4ꑢ=ɗtI__[zb%эUMaINz–DepYn ,KlݺRslrrVPMմ%t sPhr;dQ:E ~JN$u>16/Ba8fc&B2iGn'tITiyR9-UMA ":B.]e{M^S -{ C%;JKebQg<0?npnXW#h"1럂;^mMDo$~h#KLA{j>L"}Mnyn'O=)Y.CB *~bt!YKW}vk]4Q"[5X:"=7a6'm l:Q"АnEbEwS/HQҠQMŽJS ƕ%#n☮ZEL:Yo@IBNBqOB'B]Fmb\w}G!U%=QL*rzƮԔn7p4e=%<wZy# Vz 5fmvv58,+v֯ 0*hDC$rf'UmPͯmZN͡xU(P^>bve~̥o·?[aqBWq usIB:k#2uΈbZ#0xi{ҽ*ó,^?*1Y`ξ&L?h@dִ޿8 T+SI#Lzwf> froBzԺԴ &y-sD5Nx7F Ȍ@QSFe\ZYƵDd96^%+k?OQEhNr~fYe s~1xRCJDy޺KwVuw5,@౭KX2/)JQ¹޻'M4(|P؀ʍ7zGt)]5%;`!-&7>`]PpV/=3Ȁ"V@}E{6}GFIebu_"=;Cp #M֜㽭$&20yANp6z]9ݩ>#|!i!^( )Hd692B;! ٲQ S*5`)F/Qf_,."ˎE#poK I{%os;a8%ZJ$W+&nS3e+&֕U1E: Q9*h1UX7H]G\RxQD Үڸ%*vI Y9`n`Lݤ|[WW-fѪ/7q\ȅIM䤕9ݡqU&awXS=띬I6)2ܢbYM]Vk~KFW{^W{NKpVeJ!HƙU+=I#RjI ]2傏C%yѤ8[1HqKk^YRhe HC L|jiK*~KZeVѶ1/ozM# !V"8G'̽y`HJmÎǐjTp%39 (""Eyp(iC5$DBOZҶEP8!(8QE= k >,O(i[~!t E"!3>%f iyf&tFM3fUZ!! CTJIUl 8m(t:PyPs*y?eq BN!?+\hQHtG<ŜfֲؓMZi =~[%M.ek;#Hjۭ2Jj^O+ MK%mR.Y͖_la6p-$1$79Hfr>yu">´JDL<IGj5|C,>UAߚwK6)%>v8HR54M%b XmTECQP|L;UQ? l?K'l&揧Y$#]tqH`1pAZK=Mǧڂi a rGtyX;A"MӤͻ$F"e/mlr!AZNtLQۛJG6=^L&uSuhvlWQcԄՖLT 0uҴdž )'rlQi=ܔk&&bN5TeRwkC¾̪N2(]!d&(iT/2 (UADiK_hRc)*[kkԊNGZ IƳU<5PLl3 J/(LDR\gBHM=Q&r=쌓 e@s H$R].`ɋbZv8SՖxSԑ줩b,!U;UҢ̵)(Ah{l.|xJicorD Gk)M$Ƙ8R+($$*Ҏ' k1a#@dTXz5 BDιM; ܊I4!j&a2~Cg$49gb `\.(|6Z*LJFE-TSx!C]vvk B!MuЋeF)\"}k%EպRV¢iܻ)%;.D]G¶'7ƭZBɕRbCZQy n/7o4c+~Vq+H]+JIOȳq[ęT)3TS8cK}R}r3 E "MߡmVmX=YXb=I*ȩ5Fo7!̅GO%ڊ+oN%گgΩNDbV(ҹX:Q== ̅C}C I%&=j\ȿW=d U&_ԘHsQ$jP(sP\1mJrb1ƥ`19$_^5*b^z5wt+j345Sp%.vU'IVk% *)vs/bMAY"Ly.yz*}(Rt;)+'9tb5a(OG)j%S^)+ՂX10h@Z{}(S P`YrcfJ!F$ѶzG,GW4oESdr$ǎGF\XuE2 `ch44PE_H>ed|(ERaѱ 4CGW0rmOlٱ@@%_ֈ@@h *(& Hf@PiQ.,McomP0JF]]@Xz`;۾u ݞql ..-R[{US g*kIݙ#H9yaRN4A\WkQ!sG9t%ƬQLGT6%͠22yNbH đ{&}YkĤIUL1jjMg* Q˼ 1 =%\;ڮIkϩ^<(3kƎwX(I5Y^AIU C2nJ ;EYRL4 j&X( pAΌdVBs$! #\;cڙ-w\Vl(YI$abLSdqtXIy9#nFŢ[I{[hPTsK|Uh)Eiq1g+z%F -CD臧v_'=kQQn8iE_cz<8%lKf9;+{ޢJ餶Xj3.MHz_(3GҬsÒ JZekq=:㐲㴲9H=dhߵ;j8$m&yo X8KV -0I>H,j-h **LQC\[# (` RqrՑm {Pw jىbj)WAK#ܯ]8!!Uԑ}%K%C}+LC(2 ,@AJB]A |rtl9L8b҅ +S¼:Dm ))1g DR&eeA.;E8mQ5#Z^7F 6xt1H <тhHxG["~:r4AG~K56Zj7E! –i,V-iyJRrm Nˡ;>)] 7_[L!N6", PBvGzSH {2XCVڗqҗF=5x%c,e Z D䃕$FOA0YI8)a60M@" iEP`h\Cc|IÒSįXb,#@St+ i0Q z% ]4 hdz].%pS)^!!.AJX!#J+>Lm)%2<R*0k. /b!I Pb4I+|MUe"$bd z0gR("0Pnl$XKry˥$aޔ5m,;pj y4@<"8Cq`//N=h?T/4>,&fKS1LboSXG :E(U #XƤaBB 5O%g_KV8єFoHMyei^=J%GyRb92ׂq86pR#ͧ,2qym\4qGq (#, #l0 BK{aS,AdT{`R+1mwv!,qJqRŝ ]{ڡ.W(JPb#Y#5Z9(`ū慢ɖS78e冞JaAN`* $Pӊ @h "ċD~9Eg 3!z`,I^,pzV`QpݑY 81qM5 VSAˉ!M Wa$BOC!6{R%#.kŠ.T  0B Ч8YP 2I4$dB1DXrƐ ^BB2Nm8-(4c|S6Q [*5Ih< 7A$5hAieu(PIi@|8ю"r"dmI3jO*mRKk%0M Q ~H#lL$C02X(fGy\X * =hH1Đ!gJ1s(XAV %qRV3N84!6][g'Ǜ 9gDaXɨ˭oԗ򖦚=U9K(cp F0BU+',An;hCRe{!JCŇYkLT?(l]_җZdNC#)#a"\ 5'Udk]TN'eL*:vΪ)q(Γj!=a6BMfW:eϣ^=_;iM>ͯ،KTEkjX0O)j.y#GtVj5(QvWѭyñdie^JRN2Ī~_Iʕ)6Q"G΂4[r7;d'i]enu+ W%3įȆzڍCJlkeOy ؅*^^L:ޤ1%Z-IʜA9|En_xB#4"ʥ̷c+TG&R%Iem?UKMBz֛tK^REBw;dZ;&\[:\-"QXFek4]l"g2_c;Jv^A2:8(WQA@Jj KxI{̅%qH3QM>㧘@P$MiX ֧1蔅 Tc!Ȥq4rf&…}G0MS!;G-vWԹQ!DԞ#0arU3aT& \QEƼ AcJ :v r t5X(; WEd%%3Q18Gsc \Dw 4v"vY JW\n#6x1Є0NhĔ@: wWvR QB4 C S;0kibXX9U XX p9y, ŤT) E\NDT#7!HIR+E8t#U9RaȆP ep"Zo!+b|"+/@/F:1;@)!M"Sc8ADin_61 G6QNCS nlɂJSA^7ȅ-,*9~k26,]@Z):8tF2b *~HyX0\P& @\HʩLe):-v@|sمa($LX#Zvt͐A CG0?܈@e5B @c=Ag~%UDrdONs;jn.*hJ,R(qB21Lj#:ǝPqh{!ĠSr jk#VA 40xcNA*Vq P7TwrA`8aiDD&Ai3@(t 0(LbnUTx°)9B3j3s*XĽ20v\dJAnPheE ϖCias(EK᫲w4N5P^T׍K(!H?K-A\|2&  0Z>2'员?  8;k8rQE5;0B :j;fBLfed= BCM2f퇏sA9bmy - iL"Q9 QV)ŠBJz |mE7nOOopyj`vرP 9 H=6_)]oHIEi{3H[(̤-@@=H)0/ @Rxje(4I>ip H(C ~!%~-oc)Lݓ~Ad#Q܃ˬpԲ-6IbGt$d ,f(J&8n!2ZѲtlZ/z,!2uy8'6tFq7nLW{s2^\IW!)-CXm2Cs(7 h୨(j'`$}L {׼B]b(+`5'\̔ZgBZ`  ;P$ rΑj 9)ЋOT =$r&n5S#,«œ)JiPL:Cu5*zKE >0! 9\Aث5A8Q"`B莠Rm9:L}Fw O(A! $ b wN@r$XR`zI"Å.w98ߑ-TKO-K rκ,S EA"e *<6\X s%#lИ;{0+srVA1&vR%oCԱx9Z5j@uqRFQA)? _0sH*&sR RRqA9Ll < PpLԑ8 @q- 0kHb 5lrŒ\ EN vAZyie[K - a=:Se M QּXbrx F!- 3J}GL0":B)jƺ6${+ FEF \ԝC] =afn"^ac`̅Ϛ #hyÞ 02XF-Z|VjB~P.xZJY 02DrvH!McTLuѾauǮh*`D,F&8W|ƺ^VqBr ҂Ԝ$+:[ELa#Bڃyti#.Q|pCC`e@ՃǪP /XrU,`MN+ǸC/Y+e=*'BI9hc4- cH-˨(~WV .LbP@;Ц>{qAD@vy”xFkmfކXa}?cNXAm '/ɨˮNRf8V "fK"*Q.yN;DjM.xm+:'\Eڲ H8lW.dg 媎*΁ߠO (i)qHCv' :qX;i1/8۷*0> Sn>I(hZkbDP$˻AcHs,nt#8$}cG Jd/1ዾB \єZ )~ z_i]'!Il˵kI$}\ RQNBr l D;6,ḑ%"8et~#QL.&sA0x3`ep@ Ră*<9$1R3 FQQ کX/Fa B"̅Xf.N#AtKUp&J ;S9l590Tŋd!A0q:^(\Ǫ{c)!C?6{)1}DC+ > aMuleHtLUP4Q{ H!T V'8ĩ "NzŞ!*'O8> = [PPH\S'&B0lD\ UJ#4'!FQ 8$ Yi sG)W5^&Ek[a1/3TiF@@D;1׻U { UX2%)Bq *qCbU8]CS|60 wsځ6 #V3:B !HHF!<+$&R K](Jq²#z^B`eHIC:H#r%eK̸cEQO!z: 8 <ģb9~E z*S\v,M^:s9/~6VK+ J1YصW;ؔFew&a/ E$a#S 1QDhBQ K(jQB9Rf!^AcPPQ,j g P5@\U HZe'vha9#A01VefS2) )tìA֮Ii&2̸() f!f bBT;;p(vRsBHR!:>Q ĠH8gT`D!Kbz" Pt;מ؁aܛAC觷2̴׌U а!;otf K~g¬0!Ԉ$#)Y!,~E($րIH ]N,Ih2ҕv$At;K=)/+E@KdxD@EmCJ"0.ދU$U]iVr-F4AYeƹh,%lyj2ǽhFrsK&+\SdZx(dy>i!kU"Y)hR$%F^(&`ZxRX%XeDCpzά2d o@ưL'(PSD ,ȹo5ڴ34#bAr&G͓*MvLlc Écov 65Ed6j",p MRYϷx8Wb=Ƃuq\6\B-^i]"',KMP+IC &uӍSXIMe.8YZ|^9@)-tPq;c"Y=a8č%4z0G2I rlpİaIcÉJy(#񗬃FϬ0Q,LLqGFb z;Y)%H0cDFx ` $9BG&gxP0c%b#sV-ĢE!S⌴ȶ6H}vn..A =eTh)D~Qjb2ń($ Jc ,+̂,5rH,bZ*FQn`ij1&{93 w4pAI8I7;)7B#1t ikVTWr'Cа*;_XVЄa̔3rV#wJМjQzl^n>W2v#,NjwVYvb5zef e Q\@)%$Y5M\Q>f2ϴ4S|5IuqXYU|Hh'n 87f(H;9;2,-|e#' 춴״Q*hHh8d0U  (so~4JnatG" tbw;I 9KکХLScŦx=[L~*O~byFQlӝ3 rN b/6EحjU u>c؋GGɒ䤉R7g@=) SPZ޾#A j%& y&a7p*TTɐ)DQli $|3B4 uW# tg(ɎUPӥ?΢fEE  +(9@ 9 ۄ1)"aHVZ(.qQ1ٕ!r=5N  snBg`Y[U.RLCGC)ZXdFSqԊ%.4[j G$R G 4us 12 HKYԮmF'ӈ ҢRU#֩%Ԧ}e&qItkg&suxW^rEI9A5[LnUq/8Jo9e)ҭfE'/[Orwڵ#TM^g'HU;ᓐ/dTJO*vK82dUdi(ɱ}7wSG|dK H²" ̢wԡ);pQ+A j(pJ BFMDf Y#/AHU P%|3) 6h\ Nφ @b@&~|H:3kD>ٟ21atA3"ÌaL 6kHH1/`j9Dh&`dfc9,K!HvB *PP1S?P $e A" '0xS(J$q8`T'-&b L`1D"OEkD`"LE=X%i*nABx♆:)KC$Z+5: 6NhPthGtRWӵxC/f@F0DYQA MB"F֖6:bQJxaBE$#m΢ CȲXS= ]o  cKcl4>`!53 BJ4(?#QL3*3 '2TuAz'ZyE[;G8fߝ08Š!p!8|hEh'_URC8p e(KBʼnH)ptȪ!ik $^I=Xфqs֒U){N4AEթZV1"d؉W'ehKAG A 5gȗ"D6"貫*ҴHkV,QEIoDULr(ń <eNMS*2ب3~gqa"c&Zz_(]K)5C$,TQs>,0 g 05*waXKJq͉D`M0 *0<ɘ IL#9\0a!(LED(׉I< ԩ_?Ӵ~TƱQ|&WGLQy1ƒqK -`4W}U#5Yo]9>"K\h!JЌ?`7-k@cX2KC #3c'%j˓b>R;[Ɖ$@'I2ۋq^!RP pFB1Jrj-ىAnF~p%@ɡjA=r%4~`2v-脖()9L=ʣjE#PDl-pmY4IHo\t{$02L3%VRP.T1Ř<d%.ap /9%/}1Ljr*X pJ(JT0A#ovwT@!'d̆0% F.۬ci/!vj@C tG)L) ZWuL".c/+8Qku$Q YbfrWq $j) JcB,S7oЀ+:|$@(j8^m wnI(bg0]aV.8:%!.9:ZM8¬nz&uk1N fL/uF0H)|%TK;BUPXCմ h'ņ- YdN <=Ņ5fhHìQm-pH`pA&WA Uh#iV%I0g+̶2Ô GckA 2(x I`Vh~$4p c$/yҬhH :=`)ppg,)50ou'PY% WbY<`s.#Ihc:pAp[dd%RpC&9J,[Ä\DÜ-O Qaj-a"앂HE F7+ `Il,#Uc1r*[YRQ PA'H:c#,QCM͂f 0)+0!f%<<a)R {,(}(uY-W-MrP$D '0T ' (VE!sa:Si 4!ml6e,jh[t#=UA^t>i/$i $ N0UjIԖ) JRؕJP5)鷳&R{`k1.@g 8K jr1Uj B*DGC'A6FcgtM#d70.!Ɛ9\ ~N^3(QRNHb~ a\aML8>5Z(S"0AMIt44X'Q~1Yh,o +IڣfJrA^N5)$ACHk/QA= P{(Ab(%0KrҰ[9 ; 0! hp,Z1g #E$,%B)ma䊽 NM:֙?P̖ؔ,)bD6",M:(VxeAhSX&,r VrUblD_qr$Rai." WF" z)C!r#6"BWzkl$!UP+.Rm(`0id2i y 6~I:dd pXd׮$zjHIR?Ḅ+ئ[/m QYQjBU՟A 2QİNCTOF>O{^׷+ǍQq*(SdS2u&V~JCukN8_ޛ\(]_Тx*v; tP3re"`Hw0ϩqi^܁4R/Gº^$ijertgI͝`jwʩxC>PJ,Xu@̣VsL %]Y~INЛ$ e D$82"{(+}"5V,_Uvr% jjyXKBﭣ$TPKt^E#i9]뉘2܇6J1KF|1?l@Z9Ժ)\$wȞ ċ?&OS9oÁ({ClJVtNˍC>-X)irPz9 İ!j#RAZ\P@c"H0YĊyAA :ٵm+F(, G](D.>k ?IvŹ& ߹+<Ԕ15Pc(c>sہ66XHנ7spRD`ma8{qtg~j,mbhgfvdB2ĪřR'j%uT_5y U lb.L"N%AfVRaQbFF_H2$.jG|x)Ikd`4%: cU9VjRxg9 ׵XySk=VM˘1 sI ?hZ]Ѻ(lB&0G:$rhK<  [RU/VwFKo C!v(4]>*ʪ~W|шcP|;S6CZB`}PFg"ԕ} 87WUV|ɕ>2Aǃ"T$) $'R$"ijG$FM6IuKZ';ovƃ.Ľ'I淪],:eY`9XQ_% 0S [Emgg }=V{+op`jrbDi%I&)ZNMEx1:e5j$ PLp&Mq?q"Ovp$&((Ud l`R[|6d[-g9Q!ȼtKO X$ {sIrV !e zel,yh-Td#5h>ZjRt4Iۧv[5Fl3DVJM}%[=hV^`oj: FW%@ӇnڿNizMJWT%42N0GbL۸F2Ѐ]퍊$f* f4@f"$5=t5,xYBg9YtvA~֥O)k:Id Pᖉɦe_e}Sp_-ʝ~B [R‹I}a<3E]K,>NNKR6􈲊[B3K0X5@܅Od?#ElqfB l*ħқ!C3 $2>hk4L3-g~V$%It'ژN3b]{ʥ42ڿFM^+$]GAc='M,p٘ʭi`P W0[H+M$#BC#STwRܷ7a)YR>IϊH&Ui.e'1aq,JHҟ y ݖĴSeIᗖ>bR tEcEі Pf<ȞTJb""L*Ysm_C8'ĕ(K˖YUS&8($X:ț[L?u՞\;r`m{&^܅:&ϊe7+x H ?JJG|R3 Y{3k Օ8Pt8e-4bFϛĜ/-c[[.3/)Ϝ'ŎS;̍ g]C63P"A7\y0vG^oJ *|2ibJX%?[>ON՟L1Ҭ4шm% ~6Kh(]Pz5H×@5,9]ȢN*fhW+j$*>|0:"LeqښZ SzLN>.sTlN”!R[b])0B׋Hi@S&ڢa&DE,?+sWRD(1s6]v0^=`VrE9 Bk.2g_hlXe}@Ȩ ˴Ԝ].e $%aTç,ytL$f=*juɫb#z_uY6ռ]&/H\ԑM4 vlĐ^X `X0 BIY@)VX  $zr } ]m%=d?=t6xn?fiyo2 Y#?O'ŗ .J<ե, -qG OI-rQl@5~)_+[1( A /T3`u$o0`3 !t{$D#%mi#ƗLOq4\ಢB)!JF#NF ]2'wIMP4Ђd@fܡ$BD@䰩ύ (ϋI;cuP [hehb3=fO B )k?}7˨jژiM]_6N%WP #vqRT)R@4H>di%ˌ޹FQulP~H AbeWQt5bc$}_]_J~%YRUKN[}FTVJ"0ɬbKДfoTvl-kq!JKXgJuJG"ZgG~ D YY~G "tS2[ĭ,")a0¾h]ꉅ"Y} PNأ=j fWy~[ĩ)gPoU T;~gi*Hl-|qk3p)onv!Yp]!?9 D0tć44xLX4 ˈZ/ףTI¨vǦD\QỄC)>kXU ƺ+CI&KUFF^ S0d!QJ.$.J&LallῨzFmpX%%_M5UbK*3T,*A,Yb Dp~H =m{eCid6ġ 0gQkU \k  yd(\h P͏;kX1%ÕIgd3 Y"TD8,B=83{e)Dvfr'p LEa>:iI_z,cBp,D\/ےH9Nkț0f.lLJ,1Z2 -h^R*TZJ0&;uY+ݴPOMI]\'|\ERIaן;).~*C|/<ߊJ :V]DODv{~+CEܨ[r_78?ٔ=y0޺Do[<eZĤ wi܂HwT|DP:,/'3?‚ITfLOAer#֎N]~  A.J..ro2 lCfxѣl-ldRi6Rlë1a΄C$X6T)g;hYbøZoTt]0K= BUm Д8}NyxFȨd@D{,L]MDO4q(-b$%H~ B,Gb`q}>8Pv!'~(@Uì|)쐀x/dєylǬ0Y08}+oLb 󧄳9JW(_#ikTIW4@|;S⿤i $2oy^v>Iz&OC3 hiY`(U_j4@2W!OcHx9uʯ(BҴj¤Py&zxbDiW:,BXBO.đOlόc8[.@uyofYOzrGYAr91퍹GwT:slc4֞w@Rx|Go%9:J@ܙ9Dh3(S =ADЄ a۪HUy9f"YJ*whkۯp/ReagjpEhN:gUm߂~dاS*B  0-IL"?TV2Ҩ*A3M.>Jݼ5q2X5a[_aWmOJb'Vq]s}X\zSNXŚs  +YJ-oK`] .T,Hpb_55w=. ۙVtˏDja?kW0yq>fe*č_3DPvvzHT50dZ%EU; da/jFWɊE~]YPH$BrxFK[Rv-J\?C9숡tDʒe+\MYˍ%2!j?SIQsU~(%|Ced'ABF4.TfPX5JVH7䧓mHP!+77⯫hEq *Yb@pIJ=Fhӭw20Bkl Y{J'^J>ы=BnЭlsZ>+4Ri{=G!ܶ!_ԥ4>4WCQf MD/饤A5 0Z6L7+ k6(aoxL>2ۑ(\d$}V#lh<| FmWNH_1;"F-jR-F[|#̏b 0nX+/X9٩#tF- )^RLH*keB3X'o.px (I(X~ Ho!Dl(Ԣ^hsWQf"Ѽ7G Yta&V"o^x(ZT94jDRqlLT3n?"S[K$;B]3EB&Z9u)I[s}̸N,,)e&%%Gr=;7QjZyBb FD,K#`6=φStB5d1Px;g) (-;ڨ*({D qnt @t1gyI #[Bl iGj%d^LPСKe(?(Y $J^SJP#N>jMJ%'e2'$SGQ)DEE(DWT0y e FdlmF^IXDA&rsDȝDX&JMD͘xDNOIpD&e3xmXi v]›!~W9hK;a)|%Eei"J $8GiGeb_])oғ6SJ.HkoHP܄!/ h(|U"}yG# Ugݳ$0*Rrڭi$SxlQn-6tAڤp J%U_t<%ֹung'3Eg%iSU7U(JDīab1qtTܢ:q_Y1s-4}{U1Z\zV Lj)N\HjU{(45TdDsf\jD-J^ۼ6x(0 5 z+sHi*aPqL)lB#$*O2s IXha$\aH$.ב@1C )0eLpBnE}DIތ3m5aO$!d3# [QuĞT̖LBτOiMK1uɈQ+ % 1kI&:fP*X̵i ? =etP㨈x5 |)ލJo Bx L|ݜit湥6쇋ž_RF.mH#!gĄЩT.3_j${y qEB)ҳ8nC| #~+sU%t;JSYe\8pQ1f<;bv lkD["yHIU߲U CJ21ٷ޳9]3׭b|7ɶ2!3wp@LPq׏?O^X*. \d2`Ua6p !&V4\"\98Ku@K*T\Qv!KrbjJ?4WPdɉ>W>Nz^ 'юL#ܘHbUz,֚j,)> "SE˰@-,wݾ_o?6=tH"|˶UK'%BXݐ9.)xmI"q)w"@2Bv*U'j:g_>lVD)25,M)Hrcz0]y{V2Wڞv&:/EAW>H] -N X-*ask\ TƓ&2đ@0@AŐ X ϟPXu[Fb%#Ѩ֭L4CQ5-.2%OLd ]?jb`ull!}]>@ =~v$/Cr Ap5H ,IєRePiNHN*鹟 O 9p#TaLo3Gf0YWh4*C,H$PB0L&W,,)FQ4{[x)~%$HJAS$"4nH!cB+\PYԀtʙ(?9}]l%2:GZWBɊR֫Lx}r?S+sg"@Ѯ$H$)vАJ֑6f-x-dM~h^WVyvԭZto*dML>%>XbwY-2!QhhRĞN\USǶR.x31ҐAZDT,SB[ba*ppƄ5< 6nHaBl棪{Զ!Ap$y Dhk*F)'_s%f*gi뷻_B=U)J6Q;֔~Vdյ}wu*iB>SUQ>eR>Ed$yɬwWCM&nfR&.[SZeD.Jf0 Y$ E mCF’JtthG1foQiE;u d3rxߤGP'([q_MOICk[, 7"pNmvfZl^wZ+TknEhޕej\AoNw_ iԻ[ab/tQlƧr]6[Qkm\iEE+&b4R JSz/4J+,9%=I=H0m6U}\CR멫*pE%a֊l(߭tTo$2ԞߒqdTM{|ů 8_9l?VBP'^ao 7-%ƥny IaK SҔS %aui(GD(h]TҞ=bJ VuChR YPN8VFfVe%[ G)Yʅ>k!@mZa.;gIA2zڝ2фy֎"7b蒤{g-PZyɒG0a+MJeL)TV!dDh_Z #s]90tR*&aൎzRz hqs"hLPTJ&PN-l~kVLI=.DJX)f> $Tb;ŬCG0&fQ搲'Qy%>9X;E eQG\$ђ|oC҉]Hq# 4sC=q'QnX$tfR% D!d(,n=#QɒȤԿOij䒸,6:SZ$+ T*[nsjW:64P@e;WH4cIʄL&8/'9ڹg> X,ՃӍT #mRxC!i]Z!:Tȿ丌l.( qVdȤP̃n3%ZbTqO "9zOBw` O4.~!T5` .8rm&Hv Zkl"{l`2;ɍ @$<+>6CNw!%8X4܏.89|p#S^xsm?{ibD!^fvmt(E^Ϳ~BGeǠs2O4*He"2Hi[fNt?J$BzWJMag0L<\xA5QWlG8ᚒc.P IUNfOغAުB]}M˘=vqPq- xƐJIM]!tOK!Q%c&GF葋!B0Dˣn !]0 7̇ B?.ͱ]/.b,y{|fJiq@Y9 ߳crZ`TNºՒ}3_);=Ɉ˲Fՠg F‘81LBd3B$.w\mʅqU3+R45qàcfz-k%ʾ76C=djI8hoAa}^+Q]vGƈ8dpLf/7@328>ժi\+ sC`pM}2^jcϪ2Y(9P8p65)@h,^v )\bN0.%| nx#k^4%Y.w}K#CTg+%[A%z4 }Mp LzԦ ۤڶr p(S[09+-%7v= [Ʌ%đAbF}12 W+kg1Z,"F9{< ^U;?!f^[13fl f`T`ɵUζH)+F$DVp˟Ej;GmPiBEբQ鼔mT0.CHg%ߊ2B)#򚰘HͲI©! fi*!3(Zd]:n1놣z9IXUؕ:4gKχ^$B8"TFvI|X c+♠m\cɼNE_ԕ^QE粸k"!>i52OYr* ,Zsz|k 6ld\`{cC2Qxٿ&#C7m!9v+0O=&jԚ~~"K R;C'Ŷ{[8  >qA$ ?ʹ!VE TI@ gWK7G3'wD#(5 ݼVSh\% 3w RNPX%yoY\۴qv%H'ZFCC v沤^ʴiRJz9@u+91$9CQ'kp2~ՄGShuPWCȐ㏺,jД&žCf6P"jQ_֗j:ARjz&wwiT]he}mf\^|] ^QY7X (Cˢ`ls p'$n*:j%#@MXzVo=Ú59NQ?}Ne8[T%pDP-i]tEw5HO\=OE ->"(QB|>'i2j rH^5] [.N6'1ޓ_n?r:^JAFBҹe!D6O4UirA^$V.-=j Jz 495+nt跆%1_hމ[֧(D]T$>MW͠KקZH@7,rUE}w L /:PBܐhiy>{g&ppp,rn6`@AChl#%3=."003'Sz`+_j# /!GS{RnYH # b<|Vv#]h+⁨= Vz<ѬYjL•!SBaZ\BVP)ĻFLLXj3 tjYrv™9«,8U&r褉uXWg%}Vd-P/ZmD`#@ B'0f `G@m0 CDmI!>y ~Aꅗ,yhiAl`O"VB'nc%T-/f^tv [H૨ K+_8i waYʉ "hCODqãL`XGQ]fp yD=d}^DZ!\oTL#EL T0`}l7 ~ԟUb- u$["5Ol8,R>b%ܻۘbPI:G+A0E`i=g4t(!X4{~ڿuJmzY>+Țup#{Q#ӹڬmThZ =ss$\l Gzb)Qxs@e'btS U&f6kEܑ̦ٔ^E##yPBTB{ YJn&NO#Sľ=HH[e ę)4ە`\&GN-|-e#wP PbNXʎCPV3t98A,hH"Io;ׄKh +q95k4qg9UL\䪺ҊCr"+&]awm֜eC.Kt7lԃզT\áQ< 6##B'kOKKn J\P*#p{J&5?=s9C^p|N]0ʢSD$7J >|h5IDPp]hkA`0T>]"~=Za.c%N^}=@^VoSWHlc['4o:ƍ؄10"mSE&ۇY%2eq5YlПD9#3w2I@M魠 `0uyӅN;'LTDN|rvpĶ?Ӆl-oqNA jqa*ATs gCP&CS2ɶjYA{46v. ]l65ԩ#A %2|{|3\(tC!*d[ҁR,+0'MU"e@?4}D+\GUHYfKUw -6j0c{ y`ʔSD̊8f.s'zez(B}D; WnE5M?ѓH(?|*͋d""d:$Pu'CVe3,#,a&N䊅3Bn^>Lا/6OË xXRF1R|% adT؉ɉA%i -IyQʀnYն 6wB7^3 T]!v8NI_-k[U(^n*|9rWkGW(|gzdSU>l2B\P`r`R&'  YAVRZ?PF4StW63X,?^b>NE>JFHsF BFqJ<''N4#nD֔h狊d*WUwJ(iH ,q "΄15iN`S`s, R{)t cF*6c/,TD߭QLWY!à3!4(`z:ZJ B -a* &dȱ@N!1*ExcehN CI6 Bwg*43 W$FgM2IٚUd?J/>!j!N\t U)=ؚEq_$-6!>6g7 fH%C d+`Kc=a\/%5LJMcZJ=IR &P%$1fn4k n4!7xEny6Q@NDd {#2M\[f%L ψa[cz` d fDZi)$nIȂ *D~. UˤrNhk˴!Q[poS&5ӊXΑh[1"[ڢ בwF嗉@Q+/Vk4f _mRD/VgjPaI2(I,Q2KYa筸8#D2xԀ4 8 3\0r%\<QHU(M*# wA-m䔂LԽʍu.o!aet6ny`.ɮ B5KHf4)xǚlgcVۺuPY-MU9wT.)S?%,lL3#%Zuc, |Ȁ6F2'Qq3wFD"e/Hd"'€%appNq:U3sG-G/MCHQZ%hVHr(G] mUbnU<*Nެrw:KM\z?55FّtbL!lE K!V,CCNΥBU^| *Y`Ri5; \c&\h̯8m4fQ\D@o&Ԁ*y <i嘻):R6|LL\d;w[e@|x6ա0% d(CBA#?"E@\P"#guGtCpZZv3j }I`pͳ[O kߔnc7nW.zqjU򔬬74$=4ꄻ.vKAG* ]*ɍ\AA0eCgE43L$!P+V7y;8[x8ش"g>VOÙȼC]nU5>]0*0砨I| ' 2i{6:&ħf&5Ybg]aVbS<#깸Ú1>mN:,j{2T*LAɽrl]ۈPP@VOCaBIE]SLRbIVCS`I`AmtvouZzo[05<>Ҹpx$@66 DjtcݴZ3ku&vˇa`oU#kc/f,Nձ>w~ץ/sJ"Nnga֧[J-c48qiLfF%K#G^j8׮θY]~ܟkG)g%PV qb cZȦREVFOC'Q6KV9% #LB?g`W5N'Bact:6x&~O'Bx ܍FviUr$"̷}"(5m=74kWh9Zb ef2 [ZuhY>63%C]jU=%T)6rUpL|`V^=BT!?G96bܼR+@7nYUX#ԲӋkBN%2]"AErdJJHQlܠFv/:UG1`#\2 WS $Ru5VΝJa!30D0~ȩ;W\L w2KSq37Ћ'<|nty֖%e [13KVŗ$BGh(PQoW%!C~p9HK;Ь3Z'eɋ\D>3QvM?(']P+eb0R\P(|d.T͸x'?*QYB0:;ۈHL#,63"5W ldzBFJMRpб'2yW}RS|+ -a=KME#Gb/&~R#IUUU0VεBzb\,vE|~`m"#,(N³@(x.ٙS`\Ui%d*IRV _1c"~ڍ^OB1.}.R*.(-.46d9vs/ %YN36K;㞤 K6JLH2RH_6VDEb𭼁8&j+OǤn/HSkXܡ1p34+I,BڐqI=2LS6OR %d9)E-ܬ(Fze(5e/! WN9|Y`AW5-B+r"Ц7Eۮ3WXl6B-x5 yif1^gS}s%wB3UA{<9oyӱ1_.;%;sƵ"|ٸ6J|EwrhQ(D@ N)9@j4XVQRzk _Ze[T` ZGw|H/@2^bi#4m `0F%As?̯6D(:VpA!jS08j%҇m1$ 91Lz$!|BնpHZk"o3̿Rm5QH8 >^Uc'~"$0F/QxɈ˳N=P恌֗V!c}er\HBDll. F:dߓm#quڒl6iEc?¼9907q$LL xȽ z"!C  Pzҧ\ ^IxBq zbgY&dL|=ެ4-fQM +S4=6 Y,\OzjA~z1o%N3!ҩե=H"P;E:ybTFl_Dqhb eK~M}X Ry#3|x|Dg~gIT]W쿮zyj"M[,؊;'zlj_1,43%|h [j D]%.o! xYʊj~?X|G^/SxII< `<ұxQPI=ݕTRjy I $.:QA :G<J^@n5bY^*SiM^*JM\#Czpw>0 @Tbd\͓\I6UhE!CNlÜ|8!?EdAa#r3eXBh#%mt0L=Vh6A d%L3ɬbĩn]smujpn`(6UMzvK^T/Br~ 15@Db*5?ꭐ SǢ׋`YiFy-0d3-ﲕOZ07CH@Pn i@C)N' v!i(&M:V$/QDF|/&& *iF?Bʭ_Z?(B:Q1j Iy"E# ΄Ůyz|㧄8VIN8mE:(OyB]Qh5_(8 ;3ӟBqkږHٔ+LNZnX^ГLI [>{Hat]\X#?Y,ج'd})'Z|&.UsUCP { Lo7jpz9:V؀Lȸ.rqR#0DWch^Hq4oC^w6:tgn +G"VՑL,e&!P5mW:+03B9ɩ>szOMb }HnVLF+DP~T[ u";lRҐ8+bbl(I@$Gf>ZYmqHOBfH8<Qv $j.ߞ[x 9n .)2`Z?x]&9+t/'F1g*Rd Pȝw2B_"ƻLExC rq KfFػ5k>{ppO#yl`e7u+mX&ý M+t8&cu6.ST8W/-l͗$ubNRlv {׺7WPsɩ_'2'yيZ7{~ ?B5L1xuLTM|ӈ5RıNGhvB??+˱D0$z Zyx9e~:B[DDs͉M1: 1e3i"f[b&ߑ\u]1B}PZݠa|2?Q3¥X{ༀ%haqh2AWq*7 X#{0T‡z1nFtP0223-R2QNkllZ^C(|.tR0`w;?I/2ƶ'D\04(tsp  ൎVG57`w7+)޵%RKYѤGJ} uISj}eUyIJ dوoʍxZ<ζ(;2l@3QU9b{ oMӂZ -v2'`#*R&" %_4.=8(|Ap7 ^z.ܱIs7E-Jɝs1`{'6[䜼OXd7yasi4xPeE ?BxaFm@A /Hpٟ<0u8 Dt[heáߌDU!/Uql3a@_?-Yn5TeL>}he:)Bgpȁp91CMD68nx$@T"PPpVDODY9a@㡡Pm:02E; VD+h_HR/ 0^?g"E+|1Si4 A~~_>E0I&G2qX8x42U0ڱQHBHdC&Z} ɳIivDa.dfY5 ˕<3:oQI%7"+sA+"%nIOtɉV4Bd~g4D1+{F͓KjnQ U7'ˣw'jy;;CZRjzۙshB/j=$llf\μ= f^,9(-?Ӧx:+Z3P '8.LR&3CEǠM=/IDTx!d3Q;zw gYr/TnQ2Oٔ^&2P ][26.Q.OY03z~G}C!J!tVܓcă /(Eŭ j1T*fV0.<'G ]W5 EZ|xt(I0}[\0ޮvTC%wFK_heLF"'^[(Z8=em_1ZuqSZ'bJHX=lMA$޾|&{2VP"W!T+9POF=BWR-9uO"vg̋o!k9A#T0 5OZ 6v1U- $HU.YҵdrU&TFR|? d$<'.jcڄ*!8@=ieELxP,I(%aD֩[ɧ+Lˎ*1ddUEK"n jI#cgElEV"wP Uy 5Q9H˥})dWТtOpL߂i h9 &HH)ܷ-okꮆY^Hy"2mX6Y.hpVK ^=Tp8WmTΛ ħE7ЃTV@J#Ld 60QddcRDqȲ&@Yte2rf `F)?ŰkۮR@+fqFm65>ӐkE:bѡI7 .d>QU'<?-"++Cr#՞YV7uFHz#YX/ 8p&_@nI9T{\tbJ ^G5 ΟO5wL~"rf 7YoR RTҗp X`RDFFxήcҿ\} B mM=:-$HhOi?5 lr{•rɫBJ+Wo%ETw3"cWHѮaE TNEmǂ+nVނ}2*ySfz,v˾;Ei' Uk;eu^181S###NY2&R4>fbjODJNqVpu;Sʓ-w\"mgRq@Dܨ۹=T ؆&T"%j􎨴oFRO7YW%PcJ Cضg]W~̔"kBᡋHµ**b7zf, H4 F1eZtc(O5p-,:K1WrV9@'*;d߉r#72lL @ZФNV`z`$#_:J#0!9))zNfH.4LefI9IduE5zE"d7PoPDUӊn^ݺXWޑ^r:fĺQ)4y]]GyW"V#/ H =*(I8@EqP A31%4jM7nv01 MQ L, 70/!Kؙ֡Oɫjb\pMReNPh/8 7Y|# z;RS!{P,v3VB^&\cA58m5(ե~%4ut82^,3(F-]Vd*DF,~N_T}Vv6%f 8%$ܛ3)utATuV`XvB+ @'`?C)jϐyR;vFTvC)ELB@Xq/NCFU&7MTu*솁%*" t=/c쾩{9Lwy>*U=SQ{AG|%QAh*W!+EEKM U\x@T1/|OqS'T;Xl([R-I _bdDtUDBcdc  r㝥Ԉ94#L/H-m"*H0'V|zëJBÍhi$¤gFÙ?_|7&d2Pw$rIz=hQDhd[ڏЏV}!Bh)T%CC FhCzy+q/_nF#"ey vTj]f (^vq-<ϟKN*?jvQ&&V@Y1%̘n Űl0(+D* G0 D4[JXb/{u.^b̊AQarshKer,njJ^ߧZ.'bθ+€>s\GI==D^b3E@ rBS:ZhD*T)/)lq*K^:p Mrdw1kuj'GCoQSTNkbDUX)]v4Q?# 9D uO=;BE<]e~ ܂<ď6A9 M-!?LGGB8gSV=YIR+ic%n neJ$2z%B(v򛂥|L&Biմ,{n%PGf5s[E9ᬒpjÚpbNTkҁJ-KL<[LOD ^WbZ̎F-$Z\Ԓ*q؀Ɣ>bE9]x%lH-;T?BEZ=g;)PT"* 13F`4Brxl˜B -E!B iW Gح%|UUQn;~ p>?N''D`P"'FR | P"AC2weT6>IUj1QkJ %?ef WcPVD D$9dJwЅg2NoC!F=) ik*YFϹ.`Pan2۲Ҝ{$EKZ%5H&ĄL$Mopꉊԍ[,dCB,)E.wM}G?epN<9q`0$!r!h, [#2)V΁n:[)C^XD|9Z#z6dm"=q}~)<$J[Ay斉#yL~SX"-%gZSwbb6kԞc2G1cVc\$ZwbS0z3ShC\˳Gr-ԋ Z[GavdZűZ4AbޫpFMd0_$$돛\wocm0\0J.HDAxdP!?,P'0E)1=sdqX+™h!08Yǡ@k}?{j|ЍoIJo c1_"-@j=IrT>!2vc 4 UȈ|%b S?mi+O*DfDf՟P퉭}lpN7 "O%XzEBEWxɨ˴R)xhѹfEs7-Z4b")ź@w$lD\0jx''TXFB[F`˫["Ldـ j=:}+廻Jg ܫAFWC}W0S`)0!Q4;X|iGo! 8(.L |irR{އ0#3Z$. F PvKX'IpB6Kvb'a) A(J4,-"2czyND9>hʨp?y;:b!K4(]5TBɉ,;EhU-o0m&'p?1pBȢ{za΁o٫IQQńi?e$3'sCS[(fȷA``[ ݹxٶe6:laDh/NRJ|5X@ef3.lȶԡC#uJb_íڣjD;c V3df̘ZYV+1$Uдj#mUb@gEińlJգ,kOjFFHyzƎ 2P%.tV+֓qgAhsmVH7.;ٸ9 @iLAaYaOzb"a#{#K ~[C 97aZs: ˏLe"GxX P9O1J&TE&K1?Q7 ӛԜA0 v'S3?0U]@$hUXҋtȜA vluyg"LDHI%PNW,OEq|ؐQxTKcЧOՓ*'Z$oTxXCI4 Tղ4'OPɪN7gd`Ἔ|bw*oOFSoS.vm D\NL`*j}(q+_e]*jc"kE@$5 0忻pBRll.p&JĻ,TXn+t]lߖEEk]m(,A}z:::2@ĈP+CdpŠ]ntor nvD_ qxreD9N" &@xW{#puؾ:tK'lrI)6鵌ا^mtlI7p:d2\ xcK 'IJ¢DXwqřC$*=1]h1WV1j O&GL} LVrԷPhtH|78'Z $8"z7䄫b/TGUgƏi#/*% \F?IQF֙*}MƊ<{u!6K>٘sVP5T57 ރf)? 48u56|y6pGWhaPWM$@Y@ܒ/p Ҝ٭KIkI3s$,nW񴼰X/$zK':+p16$mwa .8CMC.3 )!:Ϳ.銀& D _xݮ} dՑP2N{ŶmMLTOy 1Bvd HlZ)i(C{t,q j_4׀k'2<]uu9 0 @@lu+Eu]'`,@|-?(DB@k<@ Pk1 AY _ksDlVrx^JʆAP/y`QNX.R܃g?pٮf)MXL~?'#s>M7$g[,(U#.vI_&+bkߖF*m_Rd-v7MIaWie*)\=mmb9͞J|RE t&,y6/ȕܱa9H?Ȝ"hM+\m@\OA2H]'wD`AprEztv7r9 xt/8(A%=π]/rat 'sA+xII~sTE -UOz F00L#1o (p_N1Π\ KMH\@1&kH])7Fh'ςVr2n#|-yd2\^Yu^b kZAvMq7Sˑhw T6df3w쒆$k:+p0a}ད;3[>4&K$lji!Ո@Qq>$l:Q +A(WPp&/){΅91kJ]kc N0x'M#E[dҸZ>vNyIR.Jە"^ƚi \ќy+iRQ Hۚˈ6%,t )֔Q"*qTK-6%i*d{e!Ru%WaǕdd홣<*86im= @:P-HiQ R_lpO y( 9D$p &#Lì]%9. $ BJ~\I:lǍ*-3u (n~LB)oOgt+#nZxVr؇ d$ry~!B"%"K%j|Lڹ4rx9s̎lQ~5\c!FOkdO˦/ʜIx qڕ&,SJ[XW',FAG܇T/@u&cIR" FeD *jLi o@W:MjVdI; "pFךcF/$ͽak,PH)bu |;0%Oa.)sU*4yx2!(s4iAצP+WWNu~17˒KFԩB4fr"F@rZ+)PZB6ٕz?Dȍ5Slch `.?E"|}]-E222EJ1 EU&013n0H(ũ0"4]az!P0h*KjAa+M3 &K!WfslP5RqRgu$ߨHnXv 4vRxR&؎zY)DSo),k3)=J?,D`=;:rͺqQL#,j?Nzi-iH>c.n5kI!.)Y?C 1`_ DQW8@@ ˬ lhJ 29knH/T#9-L.@M`^Jī6t'%Panԥ*n%Wyi.bbeAi^JPoBTƴ2sJ-gҶ4`vR& W.f&BwLY P5lJ-k&Bԣ鴵7'@q4ջ0)i#||(S1Y=pPWf&,dPЊ*=r*l CX#1tYؑ%wU9Ҡ_ ڰWgORjI!܏쇷Y\\ 4zwScc)RdNtF{dWI--}WsDy_&j_ئ\C 뛨)4+Z+ γKp?&"{.D[x 7UNb=cۊ<! ^ IAkZT(tu*YA#3o o>kT[Y9B\E0"L"%f1#P R%6[F4Ȅ@`t+乾ݯJ9RC 0%40Y)sQsjLXaT gO=ߛ-ER'KD| ڬ Nd~\DorQT8=5['6ǿu3n$KFkϛw4DDc`ڼK|@̫ s}B`%"rprۤ!7;kn{d="mu\$"Z.sP<Vz<FYDQ&v"'T:.àP򱲉>W%%2ux\v5ZT) \S!lT(=%YZJ~;_$]o֩[>e*bˀRf,5֙'?=f4bB›EV`OO2Uq;IM%oxz|IĖgC&WE2v'v΃Iwh;:#E>燉(0ԈЦnEeݴHRʆAt ~,ND]1<]dENBw >YMp2@[R1Yc#^G2D& `f!p˿KTs@Q.[ql:R*+ ™91bޢ3&^Su 6_JɈ~@j\ &J4)(?T-p+a]ۜ949pγMGУ;]6Kx$Hyj-vtqe &@.Z~~ soV\dC<%^nTJi A!,~yZz&u'=3e*b*kOO9"c~Su3xKWsA8Qv^rb:PjF?.zbqmxXi&G/^7_-eD3*ګWYWFu9z$ AZ &6wDYFW(* bl( 7J D(@#$0[I$mSX%CIP/%ʱRF/5PZi#J%uhwâQwX!D)@adޥC9# $#+QlriLwGQN#~j 㣹 L3(Gf~~v1n8 I-v8pzU/R5A%\(ya ĈĒjTM bΜ$ye+@. Qfn^:!\i !"&ʒpRf8 E7U<9e+mF*vfu?#8[󰨅sO`iOs=+,T-YqKV6 ^]cCN,Hu5D X^NJQrUwX!E*j 1%> $& T (*a,1 :a8v<"R2;nL*TKP9 =EbXA6eMٻ KХ7VmR)mxbh^vl-+iJz2]…Z;GO+XyL^9zZ&|8lEB6aMas k[|m1[ CXdonzJk PX2.!|YT6˷lDe%X8v@5 `MX) ЬXa#p'%22$8ŀr C? P[2NjⲖ=?[J*դ"3)wUk(S|EusJjFEl/2Gb@*:zBvlߠkBU!$o֬+tcW#L ::jZ%DtM$b\\+js JqD*:KT-3:-whY6QD8D'i]̏w!C+pMCG1Ӂ7cRFt0\gyU2%=GFȱL8q%ϯ:#쵣GW_fL4&ջYJr:+AM=>&ޒ:i9 1tj23m#f={7KMjM^S.,sF9;5#BwȪdz3p|XM0fX.~I$U+-#<" r(rUYMQ&g.fߊ9* \M#Ɉ˵VN*HDvDq? ǦTtnDܓw]KO 15ۻHFHrXr_,!(Rj$>}g=*))'NjV-=iQ(/`?w*xc)ڔ^ &S>qsHT_o[s56Q9({-LMA1L$)H}iN*\[b~2] ZKbo&> O/ e8zK`n Dd=A9`I(,5j:w,*\0 1h`>:$m/mhQ.;Gpv**Y$XShr $1B؎&L0H$ IiZH|!%?n_(z!glmQbIpRh7#נ)i2Q ^K6=Q۰1560%‰ic&q% uJ\GIWW$?mNK8@2ӎc]P.xcX EIT4 䬻~e"&lPi$L,X%# @&TVu^ b)OZ&&@Res&,mMfv4BT&էRTHF5O0N٤H,[e;A:<'r~uM@Wr{YvS oyA[ 4B|SX;B|&D!7V핪|U?71ȶ,N![Ղh>?Wq U/6r0V (%Qg9QjqC~p]/A Dtx\hL(aaV"5! s4Dd_ONR3U; !WvX ' 1Yrf4{N-/z-(Q=枇nhDa5a_nI*i)*g5]#a֨ajGUһ5YMr3Ke{!P4 G✡R+愨@hƈq[@ApW;.YYP(xlUQ+v-'LBO|ߔ%H %q-i'K^ -5&"U>YBŅQfCERBGƮfq2ik)S%既Slԭtk(-PN?d@(AhEKdҟg ĤWS23 O̵mJ8Y-{V&T+uMJ8rwLXd` -]&")2)!JAs*|,Wk&GLek wKRMME903vTA)QD% ;T,!7h9s陔]vaR_2Nt5\*VvfVh&D`\Sf(pjY̸AKE. T/zC8C1h3 c%ͪ9Me:PMՕtN˺260}Sk:>n􁾮bΥ?':"Lg6%!]y''9*0kxnqJD'P~ş dGRjٻءȜ:ӚALT6:J fSsqyضL=RaK$ޘM3Mv)(yJNfiNv#ZV$/M>BեچZL3 Ee%j52Aj&/c5р9 Qwġޘ+)JxխlRhwǝU?MVRH!63Wb#HT9G!62GJAks  L#R[-;EE)d ҩMrr~,bN"b^DTg IRgQ0,C]M!ݴ4^+Ew/Bu( B7TQdCp} wdTPUJLAAC"\X01(Z‰ &St2MZpt%gI XW.I/Hȧv|U((9pf|-/-]M$65msfFtl,T3I1sǘQw.cA߁l|U`+dL˜$GJFedBቋ&zXџ2k,HaXo*;)Ꭴt*ej*&KX-KSLюx]P5EA7?[[/%W$@u :ZB/0!- I:C3$Sa,9~GS$/l'%8 U-Vp+"kx#QT2]儡 &`k+=BɄ R٢1i3$ M6-6m=O!)۰xN>b]mwMg#Ǹge"u@=vy+Lwl|LNn/oܚ bF!WrTQV,Hĭlu R(W2 y"_#Cp3J˜PU"1~y?0C$fHU`cEK:uqQt`%D^$ ՙ_X`b%# # mL ~H4Lu0sT 1(O<6q}1~tg.XҠ} Gh —0SlYS$7AxÄ(`:3Nν뜹b|ÿG'UMeUmA蘙rHv ^Z6h$!;ŵܭ0*_6uU_m`})A2,rT_dǵKjۍ&$E-!}cfP3t^ε [wREuXbBϝNDB)!A1\YP,oG LDQ61V$"@QTdPM Xu,AX,/#$JDPb_bw057zaQw]΍Vh{=/J'$x`~a*T N:`)x%A]4r#Dcw"^ԡ!sqbwLAbZ>uu 1nm)_cy*'T$2P\/ҝ) ~LH+H"NV}99 r1n(Qԥ1 s`H09c qM"%dW@FV"BRd~2.$B&O*+ILJQadpi@lBQm`nM_cZZCI;G1" V,]tX̅m04R/JU|Oe4E!Ƥe˄%V!~PX %UFW\ք A*vgjver JN3K2XK #b%`F"^EyԈfD) =陞2.B8?@&D/^iR6Zz@v)8 &uMj));.5|Ps%ˤ$5oA6&oxWÂ4B:<`:= ,;@M"~p h g…a"b,Cs6#yq*vJwem쨸>:#i䔎hڬ$}֦1H94Yꞗ_p8" [pi>_M xY {HS>+8\ FB9oj>M/^ gGmҙ.\sRAPE$^9 ΀fc3L  -js W^G$cW8w&4_27d=~U=M5e6.w\u0Sc1 2nL3Ey$E^D5cd޿kcR)oytL٠! qF*+e$Yd'%="PϗQ8_qQ:%LA,L11`6mLWa%f*E^b.T3=xʄNL%RD?ii-AKS/$T {`Znz2z~:4=I_jdb)w!oX:?p]O@}حR;|UZIYI6qaks ,d&Ecr"rb@V?N&Y F{؎H ) $]yJ[5cq25Տ(Gk4s{ v9w bZҖ ~GM@TXCoqįJOnS'+cQCcI5M HɡJeXEL'W''CD.mr5է 2{Ě= ٧+&@ttpժ᫾Cbcf"UYM8A)ݢM͕L*0ЈrB$I ~jpe#ELd^E 8(Rl8yX6_ȰBAp"+"$(V[ KOqy^iYk&A&c UGq#kZH%ܴ0j"[NZ|yv<J0aD|ؖWߓJ%շc;i)XuV39EuUc(h_CfTܴAaz(ސ@&Is U 2wP0ۤYWY_EF#ijz4+װZTZ5d"CIv9"UoFm}Jn=o-$5[%!^~ռR#hCXZIMȅB~F РٺλOj琩ԧ 3!;vļx_\O}[i_`MoX߳BY*#C(,JX]~ 3"dhEMZ62| D0Wv/-p ,++xpd9(V|ڭɾ&N3ׇjJvH$BȟCV7XaY _Q4܊hpRUǓC/h*dϾpI@cm&t[;<-lU֞s[`Е!-حWYMTWlj=HuזDPq"% G ,ґu| bqҋDCa0.GA\R]#ɭpgN]rO\O+;(o]a "؆H3\/HQECqaoGj!Y @F䱈  Zbb0놀\wT Y`,0<.,ZJ'k(9b?CRAؖū}$"cr ZdN4R"!dK˔C+eLYJOg߼](PÂ- rTDbDV@%@PMoܤCjc e;mqJX<!r%I%έ@30XhTKhUA;F4D#ovhYG,p`AV:Hu&FQ)*Y#aڐɝY+Ff!nlS1,hX #q&ï[ЌO 8Z!gri4 #ؚFVq*N b]6ؗ HZv*R* EN;@U6qıjR/AϷ3>vIl8Rs-6A#G54J[휔7*"և~EJD=+voicI@xbfB3upzfqX $-H41Ȉh.ǥ7PI3~%tV]u&#c1e(}d[+NT**8H@e84)USZs(o\y1)nIa$60$&n@PFߪU2 $Ϯ`]jA|EУDW;sW$\PpZ1L HkZ:Ӣ2(ӫJU#pIcJZ+jhIW#A(W\B^[ r~ ʛ_wx&;0AˑɈ˶LsKeoZ؀2kῡq3^XF4X\#&2@T#H𫴔 C Hy[ESZNJmdkaKv*7m9(LUc t6^8Lj)>FH/)b@!ba[ݵY}) :14,8ܦ9&uD#@,JeTehK*pUƱ<۠]2|1_֫ 8/g}tEILYayg'j!(*S]| ԝ)@NHc |%"tR E^V_ h <YIW^Aaz-k<\ޑi-V"u($e1rri|"Np ؕ1Qcex* )8q@H;ke[!'&Ԉ"ŽDUa JDEDddIƨ)Β#)>&;ˎ r@2R9W(7'6S0s钮yk$7QF1Ls͉\:f*Xp,m/XȟqUzVcP\olc*ӐH(kE2!=1fHU g9 #7ncsywgg'|"Y`WC[Yzx!7nWZw*uT<`s+ PQ66+'XviN̸_πET#`ԬuHYAA ̹Aq2&BuҢሸ)A<^QbAJAP#ͅc)Ǝ(!*=|\{Kæ1 Sehac|x;{O|* c S @s"@k:Mq04WxFP** 1)sy~Ok *6~=3J|0~Jc*oU)?YT=)vv: E/{|1f>̂xL eԙ:7?T)1M>>%y/|"cPE?kqB|wesIȶ%'}-C@@;Sc$)9sNFI.K.>i*P@R%f)Vh 9TaEf@68ryI]E#,eŦ I=E5{-3{?*|uOF*˴F[^n6?XK: /_ԣ L 6'rG a[;&+Cl{Bcf`sE7ht8ټc'a7G:2/~&14pl 䐏]-1і~d7Bi``B CT]0Mwƛ1Ds/zԅjzpޛ9yۄ>Re pӮ ouӐ;.*Ujчt&%uB%xnˍ҉΄#66z=xɋCA7#)VbEdxJj{#l^TuJ v&ta^i x 2VgjmW@,|taVb]0m8-e߶j> q?l鹻v`:!fO9Y]p42-g]}^nhud]gS?WBWS*?4-".X򌑛2ys&L5BeFgKYY 5WmJmj{L`vX8q2Me~w7omyGqԦ)K, IIIഀV". JTl)OmnR߮<|!GeS`)2SUrȺ 6".TG3,.ˋ\E'MtÃ.mhT1.#P\F!TfTqNc43C/>W MunjV[ҫ]FeX+ŏIIW#Sk2ÀQ.J^ACVO#:*W⩇y2Up5ԧ0 ltAdkY9\JQ& VEn|3-Ië_ oL; ,[FDkpL̥gB4JRC5xfF0 834rT{T$4S^Tf6\*Z&5~ Y%>GW?"gy.(GIWpo&m Q+0%@'9*ӊy+1j5@)k!Z2%Z(ծ4[Prޚ)$-)7Au>ۤ}Ҭ_5N7H 5XaqC I҃JI<i^< LtR l(Ooh."qQjV4N:_ދv+pǼO0uEGR ҏ~úIJLb.f#.\^4#tlp &r01~|zQC(bE qPe0:W6v8 <^7<Ϙn\JN Y-^S*U3@nj#8 ]/t;̠L2!dyN|f3e>m V^ DtmZ+,m[ZE &gwd̆/P\)LF)7G~$AHΗKK 3&tMhm}ņAv&D4ܕ% RDE,T;s$.WڅW~/2ܕ PQD_F'\ 4cZ]$!ll}LM>4{^fi?3!-%C 휣R>|:>vpdy`> =F mRlhAmהAd_U2ߴ5399Wl)E!<#pLּ>krj[Nˣޕm+Auu=-x +-+>)ZNwV] $Z2RkL1}Ru 8bF*{E.4@ .mKpU}3TOR,7B\@;ck*#3<J1.QIVNE$oTbl9 ICû4M|7DGib˩;S錥7_8W1 AX|f2djyA߻m#Jxʁ$ʽyx@3J8UwDZrդK䰧poх me! VTE6(ydLٔUDCR+ґ*'XX3 Y _ӝn.t|f0".!@mJٱ"`3+=4[)cTJv^M!/>NK(UJԙM<4#RP9`ʭm#ǽɻԻ˘ឫLELjeYkF_qPLm2i ø Al@8|1SrAY Gva*4J[ K:Kb`vtO% ۣј/P#?}zI*F@WaW0& FEfoScv+6U(=~*rZ1[(>;} *΀0{h'΄{!Z 1SC1H_!\YWDHƄe0a0Ū `S\~,A#G"=,OsI :Hᜨ\ -^ 2|n!>M\$U[47dDpv 6 K|WxW*;nڤbgv`CZ N6Oh Khhg.hL'ԙyjlZ0t,RSb&ѫdgRlG42E.|W:6t }g0 fe0qX}G J#4k=ߦn1=;hiFh,I=^GPa5MjH^SeJB=xScåiI6 fw5;| $`w%$4l4U$(JXbo%h_79L~ y#d եas&d,Fa8bڨ+Q5d[LaMpZ3;-]}KBP 4+4J:~xQ !D1%+(*0^ǣRL|[W]K'f>Vʭ40X DBOQUTŗ'T'Sz~R'>>N=wvܐk>AQ#7NLK(%$ dW=)B;<7x1 C¢B^s>ɛ"qcӢȤW+=UЗD|hj{@6ѵ[*> ڜxKGMUbIĨ!ATWa_BƵlKӉZ]}oa.'#83"6zvL m8[t.Kϥ.R#ȃt8#füa_+jHO'M-_Ku}BDhϒ&o .|vFG$KFrȒ'>fFaon'8~mGfb. ˳}b&)IssԳ1+pYP{Xz37+nA(amoISб&]AWV(o!@~*Iy@_\ Y4j魄7Y 'nK:º y:%!9i-AN!dgyo Kfm^B'[(!J c 7,UA qjVʑP?gE X{߷ U2 bHV8YJ(6#qʞ/6׵2IwN'֧!|Ak**>71bX4ѽ &1~֝/!LJ=_PZHɚzH[oȣJ~r);Ƭ <C!s5 UU;  D٬Y \v[2?~Hj-oN&  -%Ny,]إ\ɓ W蜓_},c;Ibe^?5쇚ޝw鈛E8PcJO 3d-^OYw~R n /(Q ab hPfͲ=jWG4 N+dh'#YOS^ ~S)Ġb4 ^wRj:Vͣ t=)BuQՐmO~ ^2f8\1&2&K>!>Ge8]v1}@e5u&( Pp5$ó#9j2 IBWBXKĥF$57&{1 D)t@RzXǦYsG@;[U;*07#+qԱz,K sF,vWX4=ˆ9gz)H"oY (8T첋.Da nؓ؀ДŪŖWӤ)T܂ռuv"6^ŭye5 wRF ړBk cݺIʛFEeɜ>!]ؿIf@Di0M-k ,1C(,aRdQ9s|E')b.0d*$8 b!SF7nuiC@0$H ,诗NRK/U .9SmۙJ,הA3t=ԡ]gE7ENo$'&z($m;,X- C%5q.Ē ,.TDa.\j.NU=2ZI ZG/3xZEJФf ћ=%Eޮ\f?=(*8\!uxc[k XsHKw+A-T!u(|#+`+T6{xqE"+QMM8w-%AB8(M!A`OoY"h^>BnlVā͗ަ)w~FR1w ^d#Ԇ#~]0.flc†/1zrJ/z$ԻǢRs*Пs$ dM1R^)14Cp?a&9o>6Ҷ_kޜdIiQK볎y`rjujnjHIW}KS,'f{?$Ȇ[l d bv4 u8Ccg=tҸȡn>ZSyY[EGOf|phQ jZqF25"4^p\>XӦXلX8j<l+z&7H0C[BhR;1*hduZ]BaL),&SQpL,NRv,PE GXx DWG鑝|~}e$40w४1}v%2I* ~mAz$^:X>Nq'$M 7Lh4{J"<&)H#g Brf$ bI YxoħA:hm-|XI侾Ub-,g j~5T*Ye0lXԓ6x\fhyn7D)9 H)Jδm!bNDr=jجް6x߇syԚ"<.ѓ6+5e0Q4daɑu!Isz;W5Z4D}vd[$YyW,Ͱ@7vgCB-[#);G>3ǟK($4iF *[Kh 8И3/K níIDa"i Y.UkZ3-.q(>,zhMū/ rqJd[РM!8'-b !, !Z yO0pxk%]DV);E L'8KI8r!}{Z$ aB8dtj"J ~*˝2xM Y3Lt}Q}D1)c#* ؀zf TJV@_/fҟy+N*slcZ4˄kgJJ`Q?lQU@oi_obS=vkTF$ct=:aL7. Ltl+8ى mU :c0g4Ƥ 2 ENSa _!4^@㗻*!)_ibj,&'"g a]py ^X̱*8$-#e/.Ջ*P FQ |"v-rxy@y\jPφu0^;"(5X/ !i(7#n)Oa1f"SqgbC+_7w?*OآTbz$T*iꞓ*Y:i5qx!*kKTFd2#G_MBu4I5ef L .}hra?"xS-P]` >[fHXS\`qEw.:HRU%)[kJ"^{y1Yi愬FZbDLnM`HdqE5j(`^&0Û:f@*b"Nwkx ڧCb0*~9D݄Ф0* Ba!Sw?x]Aޝ.9fJB:J؜1s|Xvpy˦O[+_JJPPs#dh+=a=s"eJy"g_|cT(qcu#NH7H;7]t_XzT9w sk,C"*գT/5,M)T7i;eKsKU2~IW-?aRNa}S?R#K6v Fe ʯZxZ s_CRnAjBVsK.-T'₊QŪ2I`q鋕dUP gБ9tB+3mcr~Zlv/ݓBA@ĄiU IIAR[`xBx.AE& -ŎYfB(WL\aXd9 at Z+%cJbY.uoۺi_,fے4Hj2Ŋ:7'`䦪` &[S2{\͒'!_"jٺBjZ(39롎{%z\ Lk|:w{xD.Zz_I("Y7e-(C(&)V) k]Kŗb@# pm(+wOmXy9Icq#$MV"a\(ݖ?"_fy c>[j=IkikMT%_@FxNT'}\vM:%!؛X6uƑ<0#&Mhg9Bn]Niu #蘒KoLRNCCDzD1o+%W-dl̹w|O}D454f)80)ܫljXoR!(? fAkJ5OS.VBrpDsJ}`Ob6ZffcM;#?8yT;T$V%^/a{,-Nwh13T jQoؠ_$_km%е@0N}}yn*ms&Ԛ'%J#c"X!+O.TFr.A"2WYPd"A[]1&3 $ą YRDEB$DR޵@̍Y efW*3F$ (JH:دΛnӊ*,61:l!9"ja+}tX3()BzZ7i&@#]JrH 3 #SID,{vyIX] ؅AȩH`mghѽbWD0P%pcs 7FYs\?iHj"L]7p/un@X/H{X3l)Tѯs%6e1%Dr$0^>Cdk$ޜT%UTRbAZ=f'=0s ci]SEDtBú;$%EeՊB Z)Pn)tca!  M1Y2s'ź( tbpؤ 7ɨ˸4ܯ'v!r(?x/ ! ? )E)2uTWUKif]ڌ[ (@jhgуQwHN MCDH&>LXI4!g䩒V}$y8D-cir0I ̊}J*ijuI 9(3s˵Y-zN;)k뤲Ȏ$JneXb$HB`J@ږQ`ަ{i)~qS6霢J0xb52 2$tWɺwsWOQ̖GHdN$L=O@YmDX(8\ma&ojNK2=$b,7Tm Sj1[MTyJso-&|Y ʜdh>"(q2fDdixjTՎ[{>MHuꮄs q{mopj`ϴPLC؊(/aYC@fxL "\G5hYU4Qgy"rb"vsA/v4զrcW!VqeEg實KG#E똫欸?S)!Dfx+,&~N͗Nf}iJ2Z]CH%$Z:}TL2 fhx@4גFĦfK4c!&\` " [ @\Ŏ mZ0tfMaN1TAuP_yP9$0A-5Ғ#]Ov?/#%Ϊ@2"⓳zP"1XG;sg.YnyN(2`Qρ(7tצJ AHߔLkX7- kܨU<Ŵ+(bK`BvĹώ46w9xDgzfuL>8i7-yeHG6RDp)XI?0)_B̾a$D-4-Zth} bLID͖rrHÜ>WXl XަUYv}ID0MD\ Lr+:C+Js{Op/uxmPhB%vBQ[ו5I]^tH597\ o6Hd@4;.5H-`=\7XoQET\P+HX .)$M;c7F ܝLlPIE19aW ӄ2GRE'J5Ɯ)xI$eidV& Iġr3,$M I3L)l!R48y N"q8I^P!KyE6 蝯x$)R4:ҸyjɎr;ѲOR%CgPE%ZQ%,щ#y_8TN[lCO kl$V89jَ#-CR>,}NGsJ<]/0--EH:ۍ>Ԕ~rilM}Y%I\T -yS"̋~@gpԳB{eAǠYڄ!l@F"o'5A>̈́ +𵌾%=I]%zQbq4i^ZPJDBL5i8ӆEUEȗMrQEYMWňYL8FQPafZZ .r&  FE!gMu r `t|0YH?eMKJ FTu*!(|[bbLjq}6 ?duQM!(`KSaLʯʩ}Wυ'v i$`IGkoC1%*M>VrˎYK!?Do6v]ʚ2$u[Sk5-w!VrL]Z'(ӞKIW4)z>ՒT mS@0AxgJ"DԔ"B\ժ5uV rݽᅩ6"0n2Ig T9k2EƘ5jL<ΕK.d@[Wxa@z :n: YjG_/g 1[!=N9,0O(;\5~GZBόiYu\<n,xp`fШx;k`ԃ5g͞~Ef"qIUlsSEk+MfBS(O}Y>ĭb;4Œp<`بT Tx` ]v}1Xgz` :I3GK2AURI{D KTlO3$䶴 ]FyD@6TusÍ ެim `F`ͬ``å/dM4;*T2 "QXciϥ4I $:mmgWm^eKJF vkNfNqoM6ԇoip?xUdmSd) uv0.z8h'(2|xx }?%W: YusBFNzeMʒ!BK-luPQ_?UeClBϘD^zcgu>G [m^N\A:`Rљ%'jopE7248~Yfm%RLC[- |IQjbkb .a=wÖ]Ek(zx²kAL~$bGQzQ#00uY92®B;r* >J׷ oB*P*zbuT%pf%쏐9M*NإD+R4ho'/TZ=a(UH[7>io,-cTawC!D"Y%KN;Y^k4a}`ҳJanޞ㋧՗{m+&e|FR*jOn!u-%.q4繗FJ]D#HjXH*X сwXK%N]*u!._DT98k>գ- gEa%}[JP܋7`mdRg?Mu ZE<'MoQ5u]Dk\U?b~RږH*&7[thrq-p E;ԺGhXv BġYV@1]u^]`ЍzDÄMyq  ;آJS1WL';%8\R?G,.I(Ԅ7DK=%16($P'A~-]T-I(rht6_)g* ɋ (&RjCnAZ-1qULhAA]aYK:!HƊof+BBu6Q jePQߘ1mgS伌b[/!Pr闑w}}ޢ/LPs:R!j/d6$8MaD<,Q&*g(2aRr,. C]P&Xhz7CP=o21B(!CM#cQ\ۛxN?[!G?4EK 9FNaJ;Y%) F>K3]Wr屝o(I"hf`|k*a&'͢(RPhXCh D, •%/)trDSGf~,MISŞi:Z0ѦLIơg73yMEzG2GLB:敁6 {\kr&C/AHrJoă 0WfɦlІQZ&Bj~J5N܊>k )'l;vlw`#rES $P<X_r4ZJKdzj. xKK)7j# S^{݄~ЎHtDO;V*gDMPrN@昑m.-$V^#o'=oM zjEZ!ϦU98 r owFf;xuL0HڿHnr1/me7 uV7A.2YL'ENxB~1'M^ofsϊ651Pe>e맅1.VʒJv*ej6.e(~ ,A/!i/1Z1Xʜ,>CώRt ތˈ J5#k\EnvASTuoX]DjpbZT17 no̮ *"eT8(yDžF CRtw;;d))8.N5+@3^q0>(ʼnwvFXTEDP@pq"aa3 .jjZHSjV?&mFízY٧ S5dr)#JvNJrs5̛>O YopEc̫;_r$t!|$4!!ټQWQCorl6U2j4(8M18B`EV x:4P6cCWmIiU!D\pAEKI \~!Cщ@^!Ab"s9+}ijܺ߱H1RAשCvR$xc! "BU3TMR{Vz#fZa)IgLMWehoEٜOe3zT5LY(,$kJ"M$Do*2LDؑ, A-=(h&D r6 }Eߢg($k-,SBJ4{N&ydcd{Ca_e enaia4G/7 }Խr?FiˤtlwͮVEUEi; yY (tg/’ۣ"S( %v[eCX͌\e)A@r(=LGס6|J.ec:L笓@*X>˔bbYԩtU$_T@QZIJa) mapd|Xg"s_/j6fe˲tdd)ڕQA Ir] O+2cM5hk aLHڏHrꋷG6']Ob7İO> 214&Y_JIB ^EC< =uHg7jU+yDCLDGG!Cq!'JVIGcJ*څ(|@BOgB[v <̅<6įR3mɋR$H(kAuH#{IBCqELZYe03ҹ6Y|zsXوv\̞,2yr6$=qCSj@]I{O9??SK1[z$ BZ{Nӥ4du8*a*V8|X\I. 2Ygʵ>q3_eŇDmOAW.U~ }y FD &'qHa$CaᔾR畍aLYJ68*$4Xt,dE2IPf1beZ ojt$AAM`~R{ t ȁ$Ywde+-dG'$¤*D?9DHd >f ċE5jrpaNLBgHR5}'[At(~PbM…(V\'uvWˬoc%ˉ*Lv1d1.. 6$u/3qPo/ȶaY4cfd{jjhda4,6,l4:COKemFB*|.O:PEklhҮiu©V%*IDLHE1Ђ*$0˙7á@@Ϙ$aP{]gĦH| /C4 60&`f P`D(Go"6Keqm + :HLiwwmAgH}M)z# Bt "A\VN.M}273PT)>XD(}+h\Xȡ4;M g'=]# 64 <!m5.@gɞ^n2$6>,z,\#>"s,Jh.Ab)Am$5T$K*o[$ unLv҃K*p\yhB85"`UĄ7RESh M pqvEl2lZuC,CCVgŨDjX٠b&P"zҖTc=CPWJa1XDfA5%Ta(6iO+OU!'o"Ȩ]ElystضS¸`P@6#h'rFH FYL/MȇCYDYZ ç3#}b6A%h*i+B#E.{7.KA.;-! )TFƛ,NG 3 ,΋rB,*C]1TWfD2ABp&aAH' 2='ą> :1fl0p2г3sStuR4T`dbTiFNJ$\ 8 L3R/`29M.ܘ9e\lnGe~=.tqfƸEy3kq \g̟B2O*]Cx)O1+6+cG/ȫTps L'ԥFF@&l%^M"dŊC{ºCqϘ+sTwT'GڙN*H S"-Rlp:Mcxz%F. W l(yqDI±ݫ-yD赊R'WZlibt+SqtWF6"kJ*c[DG-OahD·ö7Z;؋A0ʈ VnGi[Rگi>pL9Έ>r3)l!Bʓ6 <0Cf-a $U#ŬjDu7 .eXyTDŽ4ppxTP. uٖyj\MWMoHxT54JiK.,],X⨮HYzzI000PThDZAPk ʩՅXcrv&D@O]D`@BI`g9݇.uOle&mŗlU*QXF6,9 8iW,84LE PV5m/ 0\&Eg?599Nga)I[H+I53+t!e+Z^*j[}Ok>uE/uKʈ8]֮qr}Zs͊4"qֆ4YܰB* QT_3O"w!%Vm:im'{zH`:``Ne! -д^8i&0 ,Skn+N*9gȊ#-u dWcc3c-i˴B:o9{aU_K=+17ֺgpD i:UQUΦeik}WUQ$ʐpT0J(e9^)mCYRlB0ƄR "ii,7c%7{6'8hkq&ps9iDb'3ĶYu;ƀ[XȖ[$\5>Oz%Ra"}/Qz6IQ=}e1Ci*|O,:~NO/39z5ՃhTST3uښwԲI~rQl/h^\+|ٔI6*G\h͜XD]!r"8;/"2UJ'F0@fy7*qWNm\2jVp?f٥-2~!te,ܸ_ka!4,q*+0tZj rDTH`:!z6XH\TF4@\Mӧ,'+GJI9Zww͈JJS&8ђUzWH#ZZs}:J8tPSZ.KV*1_"1)uU̐|' D_oNoRC}ċwt FwL]!8@o_#)'ݸ< 4I BE,C|(ShhRĔ ۏr`ݫQx2EiY)MFJ sh#AKtq/&BШG@#,AgP?PC#լ&Pxm;ڤYy"ѝD$Qڴ2v!<u2+Fl{BKIyhBPRdn u skJ.+BgW&)ӡϛWxY\)xR);#+! @AqxXHb(n,0РM!3!F 73{h#,W&t{Ȍ!:TMiű.G&Ji^FռaZdg6SS1I\R=P5Z9Ĥ$<o@| b|MnRC0E&M6G-7&)PB-a 98wn`%ȵ(XwϗLOr HX@p,~frwKR;+C,i\|/46VQ!hM D(wP1$TM{e(W-@Lȝ񛑠RS}exnRgiGQh-]-bo*xʟLm(o> Ŧۨh'촯!=~2 T$+|VjGߠPi&ʀ[ߝ}FژVJOl٬wG[:|aF'Ioτ}r I% 4(OǗb M'`I7iqg 1Ai?: wi.eVY EȩʂrZEV6W)@p\^lR?  @$[(͇7x"u#$TVIY-8ۅŊZ^#|.',1Kf&۴rg7YqIxbZ^@Vz4k 'I(GOJ5zQ:YaYCMcٖ+ ྭN A!z1`SWJ =l7W;y!&J\W|르m7 U37[KTF+*hU}'mo/vVq<$KJ=22iZ"*X!&n58R\b:8,ٓFLeD-^jbxRĄK%+&o-j+;lT n 7IqH `sU+Γ=rcADAM`'HuZQJJD;'=^emRZ弭^Drl2I(trIȐ$P|Zo?j0yā:Sa}XegPH1!:*J8(sij3MD"}IՄ鳞4'(@D A}k]uTv@P,I66X#ƄVK[I89 TY+C V%vqJoK>X]'b Q;U{i{.Y@XGDˊqLHBVtj`,$v~ #Qi 4z)+Qj,i(sHMI'Jh'>+5Tl o s)R+-KcŽt0JUɄ V ?ll$9dJWNN9B HHiɰ q1B|o,JfIUy (0\V:$# {)f-~vŸR\hQ.1w4ͯm:6%U,`bTEGH4PF)P!L%)5 "#&(7`u29Bx\(JH_\dE+Q&3+A+N:ZD& O<;G6=t"f@종d ]KM(zhibAeU e ,PJ>W+|?4I -X\]!Kjqe'/#ǷC^^^X7qZTZf4Pz012RV[RpJYsTyt1{V0FK;͆,")זvDU '|H@.t8BDX[+07n-fyaˣڨh݂#m^N$,yܐA{+8",x/h}ͮG9'{TK~Vu,oQeZcT}=qCMv"ZqzMG_ΫmkR . ,9ER(lr,Ps<a@1وhXdQ^̞+jT[t)q7-+I~TؙZYćwX\! 2rem`E:"_G;[TċiڢT}>`DbT%BLJzQ?ᵇ=Ђ)[Xl΋}ۣ5FLV-}F_.13`忣cb~49Rz,R^tꑣ&1=;lu}B2P|,jʁFEqؐg4̽Mg@NuOMp!lHb1=T+3dpk qE$~ܰQuWrFSfh8 \i:&D5]+Z2+bQ\u7BU1׸dW2o/I cwЖۿbⒼiɎᔭD2P-FN@dơg,)a7_8vCWp(FD6;疚Ab6EF1j X;u#]6>-Qx)DIľG ҤȤN%/)hnIL6y ( BE.$O a"*HPejYĉR*dA4c ,CQ`d(? & t b Av@. v?BTjGQi]B0> ؜ LH;5K%03HE/LjUb1lЉr ~L=P.aFK4 W<pY)T}%xgjT/{Fk9L#53bbȍըoڶ\&-~:oPxybB4ڛR l7f:,co>mhR熭*˹XMAf䰦qŘ {iOm_B$:e#88䌛"rd̽z|ĺ-[R?lPē%('$xZV=–+'Ixө}߲!zf˶Nv҃ yIA753'Ε}]VO ܮckCa&?稉&#W_5@*"tW&XHtt I:dY#JZ71u-h8ҨY[Mի39(f4^I_7MnaZ*׉/򋵕;V%Ff=# _Ժ[4i_==yߣIZܘ*3b2ȳE~J*ZL\q[vÚ(*IjT[Mlq'IY.O 3S5w}J Gre03yCr!H3& +â0DE:yP5ٕTEBTQq`&0"hK #%0 "eE !ίcC)Zz\Ԥgu~LwFXL3U`C |̝s`E=)yBO{5NEEKBş Un lz\8ʈ^aUo($I O䰬lY>;B_$73$̮+mVbe:7=9b^86đ^QHzmU]xh#97 ~$)59%jh'*Rucɲ |HvP䱽m /HlҊtijS2Lԫ28EsgG9i X=R&*ʊLKD:;S;t4D,8з9ꎦii,'dEx5|1$ ġ<97l|c#j_F̿Dxޔ{c)롎$\ OCXQ&M4AG)JB7ζ9|Y%I*ېPnq<8f!TDƺZXA^Q5pr|6S'm! ;NT1V"'ܵX^Tk"28#+Ǻ8Dkfj;X!Hn+[XyԪ\ʺ%BQA:I+ ej4 !`/6EEh7_/</k.*2L'WjN\"zdbl.БkpX5뱕bi֓FM"j&R ԫeJk](TWls4?)j՟Evkt*]ʪرZrMUACZ\A*2^ٰۂY9rۻ"I?xQ]m1&3(RL~j 1jtu Eꚝ3/4&'a%3$Bqhj::j6q2CI3 3nF䞦FPEhPb -y19|:X8nd6_Cb"@#33XQ@X+DmhB(v@eFVz#lD?5dL1sno&+ yY'!Dhlc!Ps4L@+f,멛 x\؜@H4@3  .yi?$l >6! -"叢ĭ%MeqƏ[ ZI3Shٳ0iݟ|AJC3YyZU}z4"X3E̿9$ՠ"cXW%IgY+~6z)b]R2u.V'm.Kd%mͬMbīzbxɺp/ىr—Kʙ?WFN8 񣩄XqPj.cj3ap7F&sOBONBp&n VPDMyWpɨ˻DkAU L5f"R.PPak74Y:U ݛUeWRA(֩QqKb0+|D`_J)=Fݢ4 ٳ|w嵝6(fҵR[{QZ?0JY&-۷/8Y{ٛ,A@D6AFc !Q.!!G@a $|Ww#Y,Xr_41\u'jYt U({3k>O >$›ē.ipת^ A(J485$su0Z2 ZwY5SoCgޠ`Qc)ls߼&ƷFHEcNLɮ]_FDr.,s?s: S^pUh2 $._㧊 .schG7PLVTב7lUۦd^\dU'r+$|PM/gI "Ge *X,.*Br}dDphN\B0 Z|ܜnx<|T~2qN逐E] Ik%T W3.VbD.i xr( Csw-^=k(̐ waNU`8y nY$ 4Py2A$;[vP([>I\m/rxUXXWj֎!(s>u:1YUJLq8]71{Ap>Pȳ!H++:Di_nZ F?0h*Ip-'ba kpDLoq1*n#ݖ_AWǚ?UnOS)Iڣ{ }YxDa"8C 〠N\I&(\ڛnDR tARo2 ?_޴^QN e+A"7hT2t!K& TU$\#ب6蝄1A Jkp=-?Ga R̄:@j1ܲb- MltlBU)E!me75]08ŠQxPKgNk:"ǁC`>PFe;+s -4UA$jQv"sL8 N)Li˷Nt_\' X¢T.\{jO*եB+:C(|2TIa;נ+UF $ dQfmr"n#*!1Ac#L Ú P*<ȢV˽3wfqyƓ=npV%Ȕnc< +l\'8Dl*< &O%\ݞBB219Jk(&R'JKR|9"fQB˷LpTo/rPP) Aɿm~Bǟ΃ Rt<<] !FH CHx C0".(QQk0BAŊ VrM*j"U]OMGR"&1/]/Ch)%e^Qgt4MƲ1Zٱ.[ / E&4hKW!ПrGE"л#xU1椗 %3LiȢ.[=rHl”/dUjʢTrf~Y6K`M/-6z c8rq1&-)ʋT٨BldzF&Xj-$VC(jV0ؔngJ]Sբn?.)OYCGq%Arjxȱ+d鰑Yd3&V 4XX3RRESlP޸G$w gm6| hRˠt%2<1O"= łF<0H^EGuɐپCq葹(Y9"FDQ䗬k,,H1@)[yޯD1D{(YlQT &AH'e*K1z\p4>iS{C6.!"V:iCR5E(L"ͤw(cl۞xeOJ6Ib[C {ni sFS/Aہ3itz`*e1οumO~k@ >*협{`7$B P`'R픀I+v9< 5h@8 {QWOdn%t!^m8U"O!Jx U\fZf;V6[忚?xCn4wv+}VagRzD"ZMDfl&w3CFK/i+σg}q% )h\X:3@s"T!"@퇔LB+ j<BTaEp:<>Fkl㵾u>kP\rĴ>-(P +1I4+NyY$KQ`LaxkPi9| 8dYthx}UJa5<7bk.Y+eK =# $,O..%w'*.P<< ,|*P#ouN**Z$X <[@(;JZFjUW=6e^*:4nHq"bfϪmQ0𨡉ezupTt"G"]=}:߁,lMHmL.*`|Ee2i䒎Qp!|'؉y~`&OhafӥS,"MU_y92C)cG ƚE|ݓ'h]bv//FbҺ9 +L>f2$BA@e 7,y *BL\O;/0l[c 2B-\YV:,Y$7L$̓ ߖx*)ђ::4i#Z(2DbO& 6Pąo%d4V (C:uW~U7S6rH]ؠ*Ty$A*+ь<ْcj 5IPԊ/e{z~IE PΤn|+ mS VN@e"6H#Gp'Ţ }v0agT/T! X !Bu4.-t"ؐ/4+Yɥ2J5$4D5`!8zd$ Nc RHA!s'(`Рl=iA% ̚0>TΫ&ޤW&,@D*MUoIWN~$ԗ$EKZ>% 0DRȞ[LB8/|D/&X}׋Ð~GDaopT%3(ۧTPz_ hkߜAI$dbΗCDua>q"sQ\`}7찏M4\;b AiK`i<.sIh#.ATPpP&} *ֻ3[ҘE"ca GD uc9J[XDk%G1dtPRBlpS<{jP(]KfΗLE^TԢ~W~z-/iǥM3} ]g:(g֯__Ɏʼrݑdr?(So2{*qGZכ^͇:SGZ6>LhU)eoF+Ήn!]\ w F06id>.&4)OrW0Ulx *5t'qSBT6h Lܥ^}.kЉbhbctpaShHYؔQOMK"VOt5]#"X J*0y=Ibk8'26\\ 8 YqabAs]Ld{Xd_ n $YɬO'MvoSOaZ *5 %J$iN!0 puK K~sEE],pMi0cDTJplQw( pĖSL- u-|MZWUa^"d!Z~wi*]$z{i In48hvD! s%~2I^+<HZa]{Rw[&Hw;@ R>HYRALufExG+$d%@MGb]Ɇ `t廇*fś$ElQQz'EzQ ua$ɨE#L,x8+ +q\Ie1+z8]a(k*UF?6v> UKdfB᥸%T{LCpjPV($ 1,UTҪ$<͝[% W@V\H'v M@ѱ7M ԕ'vMâcɝM[?5 .1ꈨφVH.}&arϡ)ɕM *"dx# 5Sʗ `D"\PM0'2*TTRXp_S_XeEG(?=ʹ#FFlp3e6I"i>m!7NgZ6Q-|I;wo+,@6G7נ\p^` pݺ9vq% n!a{BPNܙu\UӇ[6DiUy>Wb}?l]L0BiS6q%5C3qMS`^V@WEʝޑ[MdoȘ{ջQطJ-K:)Be}` A8)|FB8&"gn;Dw'D3AH&H"YPAqVVS^[2HY n5’:PP\DWEh2`&iRYLnAHuLnB=rbbG(+MyGr"fIA;gҹaۮP#OyC$=*79i97ŞB'J-OKIpW+*v{f0fAбVT9C8QrE&, Aٵ%8o(1cA Ki )Py,&X%fD MGTcQv3D|uy3O>j 6-!? sW~ \&SWhɨ˼!U"2*!҂!}(R?F]\7^JZg.G/I|X yB06kIc<3}^3}v*zj%Ƒ+ I5 认܅=YWpϑ"PH4,Cx CO7 L5eNӌ{U2AlR幺ecV ԔP&\Pz8Fi(kKbK#d)7CJoJ#lI,c8lS1A[#jQZJ*6*QQЛr_v:Hu}f1Q(Brk1Sw(ȹ&n/E:LGdE֍"\@YNcinCu> {/KEJr(q-/b*1h)#?. M[y&s$Y@ƖWAF&A9M|(6D,-@u=@Ac9@SBLh)eWFĨž ,2tqjj&4 ֣ ޼BV* %KġY(іj帲bH\rLS=')op) D“irnN>y$B;k d..).{8IGz%`aa!K/\m0Yl<o\+Λ B +eI$9 .zՄ乽%_zPJڬ& F7,b^,ה|&O"ж o,&%1TEs8jkɢH][]RYDܡ(J4/ Z R3A?XǙr%cA=KP;DqY6鍦X󨚲%8_g"/ptcRC ^D!袜yړ)KUI\Y<[ KN,<#8gn#k;j;!)`vIXKzjyz鹨I(|x8ud6l"'XQbGaN5u{QI$Af"ڙ8]V8xI̿u2=WAmo?i5c-1Ice3mo_3}r 0I]@H0vѫ,qI : fB Z{zJ"JY5Yd)o_ ov˯)&B5L?T!]0eQ"0»}qh!i P>V`Y;tD0Cepnm"/3,8<"Ģm#gORf͆G9$ %FzJEz(%4i 9xHƤyP'K`^R&G! BsJ|eZFY\4}BP,FB s]u[( p~:1s4 .b?}Y-w ; rt0őusT{-hY|>8h %elzR, ~Ez1փdYI˴)A2RKhK51'ܖ RFDZiK6>V ;nrWȱ^#OG'&})Nk4), L5@N@qBG^!K*oH ҆q&m׺TBf%m,~ $e 0{%&&&;y M}KB +v(Apgb0ܚ;sP8 "1n.Ȣ &H.TR4(ZHZ9EdvǸ+/8GrCu-v4pKlbCQ)q'ϊ0$)\4%1IR&ģb}fA.=*q*M> 3[(Б~rmY&4l88q(" P a b\V "ظ2 }vB: t(O!xBV"n9W4yje2hK8yKs8n76N9ijf1Y>%3%>OԪK~~uJV-*#)Fa|7YRp2 ZF-DF/ F!ZB1jf?=3#RaCkVƖ$RSs,0hm,PQ$/D"dbA2HFdWz<т4Ԍ0kbһ=E$Ak8($, $hKcw{ڙoRꔥ5ɥCHr==RF!2dX2YjN6h4 J , 1qLvǻ|M/Eի_ydvyI.lDQ-|W1Sm}3eL.g9{Ca a =m+K.Pmp ,g n>ߋ~jc9ciJRꤘڕtFȕ93C]VaR &Q~)/CayɹWzqe~+DMUJjDu_ׂ"̥?}x(j2cԣݢUVMp\ Ӹ f򳭑Zܿ-^ K߫8R1y&ض"t^{ |R Y(bhRrQ$XQjqZ\XoJ䓪b; )]e &YM^IV\V2RYbunÄ*ezaۊ(]9(3)&yڡV%h(j(ӁG)ihOF,R֕0$b(l"Fc0;bOVN_R݂$+)[{ui}~|/?54L>^NW7Ĭ%=SRKU9/E05%}1H6/Sa&6)&F3\dd;ͷڲ|^Z ȑ&H7"I#A˩JHCQ9#Vw&C2b_[TzIZbhB<96{[ҋ|Aŗ:' %lAnV%6'NE`ʩj;xbq~BCYXA}å*j|T0$A#,aMG"L(QCS^⑄9E$CaU?4J qQC5! MQZO=jҶ8`' (,sJR-fB$e^E(j$c`"84F0y)̑2UmWE 9J$LBpx4KSr2zNTL%Ӽ{6 $xN^|F0*og9]!>Q@4-.'@(st>u Hz:}f|ۚSIN76  ;q;çRD1.|(N\JghDDs4c}WT1l[+<ٍ 7zIBe{=n 9=L Z ^a5؀1-h ROsl(N*cVK`9Ct*E 4AYrQ}kh(xD]mApP_&`XNZ‰ 8X9`V=-4b4.0z )MC/+C.{yM}|o]'QsB>B*L+XT%{=8״]dťX%5XUl2el0WR/rQty)T?Qw)2ؕY+ m]ecCq3z!>u`k{\ f6'}IkX؁{,얋˦A"*}Z5DB(3\gӞuLA$/mJUZaq[Swl(R*4-asvHH⣐_Z/+JMt -ͫ\kC2i/i؂be"Ҵo3˭ +f7>N*O׭kE5#I]rHl8i .`K5e! $cȘ:Gh#aq\K0;r07Ķ&)Ե;iq(eYnHerfjT8ܞL/3i0Tsh'mWR嫵ԶRIY 콪W@Y`,#rT|h&:$%VܺC~+F|Ϯp&L"zl!˥܈VZR^q *B%+®%K˔nH!l* <7T[_ ղKȤ: >JvH ?,U[82yXzxwU3)rKn#36x%HfVrQu~!~(e'~%3S<^ R\K!ZoBR# $K& 9/ʸ="=fѓNAAˉ =X)2DIr8{ r jho Wɨ˽B &7`'4CI" ~ GN4oִb`I>VQD S#1My/.?yk=[5')l[SX1HR We!F vNCoCMM]DD/2&oeelf5K(QzI $n̡]{jnJxB}HO>siYsA+؞-MMYnjټL'&Gz~ܻ*}8B!jFFMh*bVOdsSS.tK FǮ) Z8ҨhtZr8#ζʞ&Dqv%QORF:SBX۟nmv]=؂IcWP5qb{ҙ۝&N7G:a$t&eު"D"}ۛopypP^bhHDĤϛ-:L~r:q{D$BJy2X@x pxp$`1c@P4- >(hP,7kO㫖  \/̌ByAUIT=.ͶDyX#2^Sg"1bզj'YGS9^VÔizBj7:ld|:eUJBݹ}g= fلl|]qOf!B2dv3_M2aeC6'[a)$e)j6N0Fv*UN"!ևu_m_u(uS4ۛ'eNJzU 2g+aR*GTRB*eD2HAE^b;"D}7NG)F&_uYhC5b4BԚ6j.G0QfuyhWy E)܃fޥj&dGB fk6>J*u&u)]3[nc/)5(+)Vab:V d߬r "SK2KL J_[C2A"TL/+6^ei q4˂6{oQBsB-Oc ɮ#ZR!j 㥮M/*W[ R␃BŸVW .'X| VB&zMqJvףR_]Zڔ&施L.K鍊.IijP czxTC*UПBBٓS(%JmIW7e&~+N]#B GQǔ)!+䰉FLH^zy1j$UNGK cu:^rYA=vE*Pu$o*KAU Zڕ\=A #%RD.ɿwovRBzSJ115!!b;I.*ӄL}SOG 騜FP r#WYFH\֩\!! e)ޢ8WB)TM!Ѳ2,t)=7_.uPe82+uD*ӆSم#i˴[otC%JQvF,T32w:ة\M|\B*o4Bsuy+I FeCa #7djwW TnzԲ=_(2-&bC#^BB0HA\b# EPc.#j0.\pbjc'kC!vu#b)\Iu)Tz3kz::hʗ3&|5DKi[;JBorXW2UfU1lseSlNԎ ʼGc;l")IyKUh]u)J9g;b:R ™V`${IFnB!D"-,U2M7޻"1QP#bP2C(QWF.RVHDIog'ǭ,%$#X@+PHjBpGPV$v^# v1jS D_J6΄A"r`NÑK  (Gdia|a((%|ZF`H](Z9XPmkDA &JG Â$$(rЪrQȝ22\즳ݜ֩82QRIŇIYLװJ{ al|,U Dp@IuAf{bQQX+8$ %9()PDSY `;H QlY)t*ND)+C+@B=SQ%2w],i†1!Ud(9`)R!bFzw 51,%գXQ`0"6 ,faosB{4PqhWt( 0aha |*ؑ\u"0`_Va F0"7y?q g YaFt iOXw(0IxDQN6 u8:ౢjE`b{trR8FTБI +ԏQm 8~S;:rlX\t VZR,BlDX5@kvR! E0`K>؞M4_`G0`]"),[V+sKBǗ $yOPM#4xW.ȳ#W1jJA9FR򵈑07O|*{Y4IS-G@A<P3N$J̾lAKZF+jJFaA@KV3F ;qEv f&68$܎y5Y 0%k"৴ YGݵ %hƒgغrE# yYA 5!1`NNe!Iux-0*ńyOʁ1rgb "Rgg$EA𬟔+XFQ^2Xiʁl{6UmN=D'4ABXBHwPF??)X{Y/a@Lx5biC(+IQ8sVT8=LR Pj ,A(YHl2 %Z- H^p%RP`k%ަR\*#(ib2NYkI-^1(af؀Sn ^Q>[ Exw'P%縓[TTp irEU);GӾ^UT'B-?Mh5'o"i<(b> / %Xpo{\>4p4HQ lp=˜F H9rK* (,SI#LXIrbp0ˆ'\0jSCǝ0Z$Ks86.>li+%E,B`ģ2T[rf-L1! XY=UFr3RsJHz!!A#X t! ͅ O!y^H!% b ADo q 34c䆜:# &R!)J40l!aԨRx\ pVH k,CӈkȪ A"v  V5d҄@@ Hssq  5Aag!tbMed"9H1 !aTtp<n! ÂeIbqQL\EMY.dVJ`NRCOCD}I6F!7r=M(C9HXkO ,#((! y̹m# ʠʴFrc0ʹ"z(*2J$P6Pl@A 3I2g 5c:p1A X"х- X"< HanA( 4G2s:ҫx΄bJQ󗄒j-! %CVz`g1q Ab= DHpccҞȢ%)H(1 dwAGt(JH@Scq$"tY<4̆2C@bQ`lzg$Ȭ3Bf/- ! l8aQħɘ&KAqR@Bd2"RbAXs)Q|PTՉK1qQ. zU8"3B0mQ23 n'=+NG0a\0ĸ 3(A8Nixu a2, /`G-47X#bcTCU n U*#*$թ%A26"% `"x AO6ML(K'FQ^Ff4 fx*?D.JGTȗcE&\" )^Ȋ{⸾u>$E"`Z/'qߨb-dhdd/SBV9WrOg;eփ!+oqY◹:ҟ=7Ծ\7Dl"Rs1ۚ#4떎+88b23XJ/v3T=@SZA0A"@ Y*rDafP܌݂&cTЅ3G${*iN8T" fhb ȌQ# B!\28BeW  "4i(3vau0F* Bf #,r ?+rl8I@12qV0KA@D1co!R.P(MZ||E*sF uhAC 0ʩOS- fdNW8(sq}SC6wC -& Q*/)韀/vD0iD}؂J8C 7 js)Hט݆z /⬁w1FIK'B㴀 /@~:<4Zx NKxa{ bK o##e PO8bYnU< 6ng1IДB! 8eoCF /tӚM"VAOQl=4S177K!EZ-){X?xJY;-0wcIJR+E* X缀G=;T*4R†8egJI }$4D-6 ~ωS8sH7d2Q! %ҍ'[[*Fđ堗\,\d> dY*欅g^-K7 yZ d3͖S8 ށci0hD7i=O.|)IE^Q+*oz͑цI&KdЅ$BCJ3wzY&=K%XPBd񧫩` -34ЉvoB8VTkƓ&p5@(ZߋD VR.{J}@DLa TS 6 xeR聧`oˆhRx@'BŐ'`hP>J^,ڑA\bVʢ9*x((?I HPP͏P /K`݉KOЃ8R1]DXɂ5zPNL,Rl pZdy.QQ0Rk~Fr=Nd=Hz @"Wu 1L\GXBB棄؎^P`P,ӄ9Lx9!%RL5k<(%(B[hhSh}P7+{V"xPвhkc=B ,H0ΓÓb﫱UFFkF4o'B:k XP3acKTQʌLn(AOGjgN]>Ŀ &:1Zɨ˿Jҵ!ބ_q*ywRVJV."Y Dɋ͑ѲyzVͯJ][DcXzʨ]5Fwe4ET+<<%:q9 vDR9 ZFLpz!j&]VCfQJNȴ(h4B` (#q@1iBhTPD&`%fc(p*\DS,#xp!5X &BC(6)P (Q"U+'QD|(Gn4̎(#nI(9}zf"L#fwf!P"jd"#NTDIUI!h9)vu7؞TTBm[l-+IrZeYU:a:Z R="+e4Fh aYo]VVFՓ^m#$DđGe8\ CW`CQr#䇤ƁԖ>l(@$~- b a HdC]rآfwnij.\ZVD  lHo"}>̰aCFDBb"&OKX>Y y a9ɡRԢx6\1f әwU2E͢jZw-I򥳐>pH-*EsTa ӨN2RJ!DD:ß51JƺNIʱJ rFra7!@bn0EVGqrlݔ}kF)Y_S^PLd3A B9FD)d 3/BRZ sRjAc`FC P!PBQ :sE""ָ"qd,pb?zYaIC $)2cD* Y"nfwJf:'l&b~F](3:רR7_[eKrҕ!-1.\mN9e+}Bݑ.9v2Orv&Yfw;b?^E2GGHk[ܵmi%ZRgzV-9Ǒڲf2iH&>u/jf.\gdD**ieymwR-]v][f EwrqkLΣOaЉ1dJY>EmWC0WEB$|53wvxY0ps6@3%u0 Y?0Pӕ.!'!M~)F2vBR!J#Q(QO2%"4q9"ma߸%6V/a]r#c}E t4kM"YlTlR$lFqSBixيuO%ʸSŢKfCuLz[!O !Jgw'Mƹf#\ˢ2|ZM5{>nF mz\J6"rR.]=*_&lhdH#P1"3 (GgclBuzU!ftSA %Fi2iMHn12hc2#:1L&QoZ~;mmLpb#Q)A)R] `lN#U,K.?8RBhl/L4$L'HqK4uF{x{i`T  /QDlRơy0^d `8f*C@BkY$(\5:+qVӍV*!ar{HAӡ&n&)ĝ80$F$A-O$U$j j㼷h1ɹ֙__ -0Xqr$H⩧ܐ7 <&Æ$ZIU`pm$܅!a %)+zwWRD0 kQmp|C'DG+z*(1>\Bn! (:2BmJ+ I+ I@q7c +4gQXKE kL,eƐIy%;]Mr%PYt(K,`Cif?<*uPM@~ [‘ULs("^/Q{ k O1kZmzXF! |@HP*QrpC {8@X…En 1X .| )NJn弆gA kuE*F[Y1dzCl;DeY9m9f% 5&u$QyÂA`pZ1YZIGUI)n;JԚ)9)E%g_ehd5ʱ9^ebNwuq$Vj0gPp$/Ҵr#CypǸiZ޳#E4X@ H _"8 t>jr탵bbřȆMT.v0LDjJWZn =G;EBΙ7T\%3Ha8DIn { rڻ_9w2BM0kKV낃Ejy&>_0PvA*8H${޵l/>2-h'r`: G'sF?]~|z*?GsDHP<BJᢨ$;4BR\UE;"E{HII+s7fhf8'ZYID-+Ɖr79V0i u|PFӥQIv0^B$&< @iZvXf.3B>0UħOnF $:;0e ;<CZ'ND0A" 00g9f4xBt*BMV(a![r; d!`¬K 񒀦ݜ6BcP# 昂YE.zGr^!FL9 V(Pahi@b'\ye8 x.up w\ = em4:dBR4(.2Wd'"XJsU٢ x#E%EYb10`/?;UǬY  3X X0'ngp6=o"MZ9ڔ0 M#Ckġ/|r(@F =gjE hF*Mc!BiF5Q:H <.z 8(VN[ ;5+J[bM.RZtP,F(:!XAc]"dpi!*Q8De|Ô)ZN0q$٩*.F@V FyhpDprNAwji~E)k$uZ)!&=F 0+] v0cBfkIJ͋`O_ --`UPFjP0]᠂pċ>h@g $R}Ex欒#@21 ,h((%*7Yr0t3#TK2q+0!@f$ŞVOM[H,`@UPiKɦv$$f(ЪF #Z(0aϒPbN#O- o=O*V( 6by c;gav4nnXm:|Lv(`,pJ ,ZB$G -m.ݩ1ĊV8E  HХ29 8j"}!# 3n 5Ae$#w"! (W)F܄g5@muHB`Zᔋa  v  j܆@ `xWHMKUg(0!^!pBd[fND@j]UM@V(SHT1vee +ds`x+-卂1K0f0X\ }; $\.36GWP" \!ɩf.*0W0#6W"SA?B9 P1g ]TwtJscbRo( q, !DudeT҃(1P%B( .vZAф2Tw!Ly"j2tE%CNFR?/CykEJAW ¹YTE- & i&Ո&QaA`n"c37m`J0aC RQ/CXuq i\%ph~)~\GE ƶoadpܦ(:@$U@L2BolNCAQ2CӚL!N4(G2(S GmFN܄T%DЊSVJݙ`@}32~:%^V,}(8%F A4B !P!RԏWrI T"[iZ[3Spr5 XZ4 BRb^!(b $p`ʂk%%Œ*0䄡uEX]g )d?p !m^,iF8, (Q,izr!Y8BM6 JrՆT-|d]4|4 rK4Tإ$BكXrQSA xK )[mJrsf AZ/X(/sG 0qAzڄD@3KyX&ZL"*ݡL֜䦡x!gڹ~P\:kW-VI@@xm9E{Z-a$/3yBW6i,wKx?RQ'$keQ`:DzHwsF%ַy`4ƬFb˰q(:B-片 bI3SJe uW) &sr wڒ$4 P)Ai]TXJ1ϺqK5D]!9^Qp2HIB6VOae[A1bfh0 ’o 9[A ULnD0N*8xx CGж XC ƹQ-ٶ4(1QPM ҃|[m (Q%LMnIxhhF45X` {l {JK%>˱c}BS3BR(R3 3|fS2|* pψ=n$19Nb*C/;XIS\X8|01/}\̢X %!'#{+y?85 ZCZ rpУ^□$xٷ%E+& xY+TmZq:97'Qf$ 5<tO eAE(ѨUPNP& 4vZNeDB"'c~c8lG!jsЭv)=~[ o&q3lRc!^T3cRվE XPX߰B\tOhp6> HlPe9&'h0bpΉC^ )k|r_#a"Q  #9GEF2:0Fd LET0nj\VHqbQa)+'Ð.a.oB(EpQ؄xxq(\q?Hx̛?͈3Hz \H=kɖDQ pGQUaUw)Ү-6|wUJ]FSPnB6UED@W* #!/頢ģc {2ƍBpPZ KQP= ü\TF~`/Us2`Jj*&*rՌ쀢%;?M TtDq!IPCq FFPXF53F!ֹSUl$ʜ[~ G%6R2"JZcY*q9j7xlٖ_CܗҢT*boRd 0@qFDr)L1-Q.ng*&U*KWv%K\3.L|,R:b*(TWjB@#&{ oJ"F"q0{e6Fno0SUwبTN)4'8BT 2"+\/apEQv.5>5wDpB2a~ !IS 9A,RW@EURH9n9󱭇,ZY5n9-|);LJί*=WqRa*a鲲JhTnFUMWurMdzJSE&9r_bW˝i;]Sܪʔ~n+ɓ[0AqZT.N 9St@E1N$F1BK J^;R2g L4aUنc": t  qK-5t*g"Ra۔xCQg JB LrvqO$3tl#fr`u@8j"{)yO Y1 N` P tCqLzĮV nx1!1!u"ewD uLVKrB1E".(粖`-8r*8 lq+УlFRENDBDN`E nB0v21 Dz): dF)-ެuW >H=VdOHQ9Ή++@Ь-P\PHGx|)DŽ֙ڰkSfRj$MLŒCanCQqтXEXL=F%&|DtYp^bTsP^s͑E ~G\`PܩaY3S *v; El *ƀB(*WEv:|E?)2g~Mruڦ.ȉWaD*:ce0b*,,KQ\d Mu㛪nFbXqJC +LD2.Х96/odOlZ5S_)^éeiXS.N%,5Vϣ`%. ʔ @pamuPD'\_C,]R113" R3L/AN"S0E:%@RJH8֡AcEaNgYReB3B0m 0FLd2QB+11 ΅ E KLt %|SaՙdWCe6]hBi-)PP48!\GʀJ~`9$B;‹0aXdY 㪂RR(B(;^zcU:*` vVӨIn5AyC:3H]}'(7$-o98@/7J,dg ]csS,8RGVibB -ş=PMYcլ`ŌHҮ<>((yEFM|CV] -&dp%6S0 .Bk!I"AocHN+4ITX(BOk/nlGJbCWj`D0úIv +ΔӸl@/zZpqM+4:V`YY P % &j;F *MAT"EVUcJ ĹK`DL`py&r̀AJ[v,tjq-#E&,CHj6mQĈ?:zipC 'xu5cń'g!TU[ =gdR8 k@࢝dP[%Ŭn9_=J0D'gA6T$i)͓L/+)B֠MI ù L;e((z r$RHGA&rHU-E `E\8)cdt*oQd f~'Gpbh cPjq~~ۢP8ե|ԒiZƜȃ3= ES@bK;*D%^x($q`@ UmPst!b(``B_ [M5k {.BIq xPHp"`h( ?p,zBJM hƎ)dcEIB<xZ: WqÐ)CRRZk!  1dGio E:! )Bd -8|F(s$॒@%6!LxfPH&֐lрA%q.EQ ttvOz" W{W'P]]0O^{\yĪRU%OqeBQt~LvF'/y|"iG؆$ޯ`ǭS'@@/F9Ԕ J,h3SIEhrPSoJ* 1.ni|NJ#6,ZQDf6K{l J^N1F-._%#iIIgCF6bk\գ4v "D I(&RTb\Gc׆4S₋CxAydMA=)!MY96/-nff4i0JHAV/rd:˖:ǡȢX.IYP-J'JvA!%XA*P!0jD@;l_`kNQ $2I`,%C#iQLaQn+ؑNx}bx)2)'%hRbIP0%~J @b( ,mT.q[*AJJR'Pg(@!s g-+u:iP : K.0ǑE-JjF&Pi K'*̢EBgZPPyi P=B3 n#;LH)!ǒf"8!0 "HrcHjy+AZӃ)\n=I$A+1TVWSa$O1 ZԄbFR]v0&R)>K"xJG- P&9C > - PFN^ǡPo'(9Q*r2GK2Y '$H -Q$ƤOɈ̂P'%+&&*%#AI}`lzx "5CF.de$HLAY8HUqbhxQs\ӮO$]$Hq#yWVl镑Z4h0&5cES"B*6 GJzϴxtP,/׈822+ԕ>o1hOHw "s |PDxe1b7v\,R/ F{Gz+Bd2){E-ؐBvltf8Ӎ ^m C,7xviϧg -|\9 Dg$=*ǧl83DUBr(₅q!t\ܹfghG!syf yx!]gŦ@ؤBY"bѹ챖g7S^$ṁ}VջAB%V@bvFZA'3.0M~ %1XGs.L7J|_^-uC q.=O[qD4![SPLwN-;VPL P0o "P!PFJ47$DN9RZRTհܕ?.LQBcTo eQ@uՊ,qFhCfy`DK7cHTFt!*Zʜ?<3IUH6(2X]2Ippe6S~k-V&36ښ1ShtM'lܑ`Z%5:h:.ːJ*m lP?ےdb@S!J*$s $D| 謈(?vT˨xHGr jDmLSn_uvvpblV!*4CZ,N{'cӰ="<> ]c(K&r:z=a\SԗIDLK ;+T-#k4)hxHx:EJ/n#BDbvWƐhXTEad$PLe' ?IUɉ b,qyfhјI*wS`ihFR^2H!IxCn[4RbL,Uq,+]alPvqQ,F4\D) Vl1Syߓ0S 0ItsNF kj 8mwm5meFI4bR4-o5b*rk+.vn\9 ';^"D%s,qL>ccKiYm[3f&׷ d1(ګA] ǧ?Tq0y"2ꅪ[|c9^!8%u\ %8 ꂁn_j]r@{4*hf}zʓor2(]Rv(t%W!eO YCpH2[: \MKu6!̽.qH`~"spa/dF)#X$!XP경T`RfD_niSМ#P$/: AI#Ҽ}MբՑuЫa B+ƾLL NMo -UwO:.J5Lh Ά(ظ\rX90f¯LM帢لj!8 GS_RL,cm4 e `"T|R[SnJxTvm} 6aڨt^ $R2]F6BREO V&w5Zߕn9|kBR O,2jCpSRN]Jբn_%]ȧh-uq_\1d >3 q.B9Fek$#҇Q|ҙT*yMM=\R% )Hq~0oaHF].ҁH]BQ=U⚿?i@+n40Q53#ɬ, O3/aº$ɩN*b KV'jo/fXvm[~x˜ahNjSLȅ"7{z*ѭ{֡ (S  "-D 0ذQX[9*%][%Ux\O2|\ o6xhƷ>T*eGAU }V}[ڭ:|UnUED7m^`DQAPXGIag9ƗD\ANڟ ы\#^;(SkA;y' u70頟hBtU-Ui!lДVX7A R`w%J!<(z\WVG^n,iAq;Le3)凟# $R'vs&WqlPwKQ`8ՉzOnot&BpbzD&r_%8 `L _[)F }ztQK7wq,ZZ\j9JLP\ W}>J-Й*S찱>j`B#E-M9Y62}XfmjFNߩxMmY~)4: "EE j|۞[kC+B*+2TLKu΀lTy)GGDA}D='q/ɉ5,1A* `EV"F0Y/6t?N`$K.[V5zD9'|P˿?<_5~ \ڿ/37hHXU" g˦ 5ېC2)ӴX|5]vk~:ko`) Ϙ~F ̈́Kqݭ*Kאŧ%EQy0pPbBKi}S%'ˊn,8@CSqR8V$K̙ b R$1qr'G'#xKNvIR?m!)ө >| ,ñ8Du2%By1~x7 Pa:OL,Tx E=fD胫\D!' CKGRED Oq): zrf _Hѹ5E׼6(B, 'eU6 <,51m`*E}8qJ9qQ7uZfp+ AS,F܀>S$&,w5Ŕ,X89z,T0AruXb(TUɈ_YΦr q'$ ?(h&L؋D^hKB)'CP4T% [Xz\#u$' }yM׍hkjZ5 0-)]˲bj]haiL!/UN!}Փu~S+dB b{5]N66[+I$>04B)2vٺ>w {v7壔\Y #LqV0B!%9Cd3[oEuhoܘaX+MiʁXEX.ؑp82dN99inwʨ+f7x-BcŸ=ȿV cևAHEqûY| "v Dm]nI贞-oz7@m-+[r5vnCYi{O͓)gZ#CF4Y!,qZoGNݒ'aCaI:p;86AE$&}V'FBCb. z~:T*)-TyEQV|I.7zOd?-lKRjRӫ",R;x%MV !]5emDFt>6dZ *m=C(D9E!T"W.ZK ɡi\y%gD8V=ߗs2pЕ@] rMR d[^1..C.8ctG`yy1ހh 6ﻤIl0$7ǐ gO)S|9)OJ/!EDx]rRx ?oGiJL_]o@LO@gSRdQl>Q+mBj*-S1сG7YKUk˕΋9`Ew.l["ZfȚVOH1gXNmբfa 3HTSF̚;, V "f@EFd)"oCG.'K4욙3R \W|>{ #mFUUHnT#,^HjEjY\\:KĥiΞԡi6OS;$$C\RV쟴ϒ!F\;I> NɓiUl SүeYЊLJ/Z-hEE铌D[SSõTPF/PzEX}@qFW6۶| AycĄ&X+KxU2tƴtt6cCnhJD+巨gA}5 ]6$4WwsӜV骼%l'w,1Hbs%m#ITx$k"R0=\2.jZrcȲ pOQ܇?CXŨ,O*GLdf,-[/W=:bcmdcNazbS,;ij?.;[9U|-R&uOi%ZeHSRfݤJ[#fE' {R3o',0`LzS`R&kJ<2lVi{Bv#۱d0t$Aud@wdq߲U'<"4 Yq r#h8Za A=ĈOMA^l&~ xw(ZD+܋My=Nd(N^($_V Q ;y{ʀˆZX$Yj*(K0VttT;N96Pkipԑk+Jmid- Ҥ( p1A db(fp-ߜɷ?$AF?D̡V$sF~ \ bt $RǛE5Yjm3l+tB8sɚ)GԦ`6G,hj)~1:ZcrLHiToRj߃t~uRmF3A+/zº1 ֥wr |QZp>2Il)@z)OӯG䊤Όo__oAQ-!e,đɴb@fx$i{ Kxz2__XčistOʈUlۣ&m $[^jK|e)$FU&ꌌΕRoΛuX@#j6?c\11$d(P8B1k؍JV3!qeLPPࣞ-̉>bvk ȝ O<0ٮF+ޣlc%dJʋM,%sڲx`rωbA>a5k'DCx]hJrrmor)4s:jP=,dI Xq,wEbų %I*cTڞvT1L^6o_ B~HJjecT6ɫDm$ޮQLfCEFJ]T+/V %N1[L#)W=6o`WK!Ȭl!Dn`!bi;*Сҧs-IǤN^1"D \K'ǵ~1ݠ4D#VIp[혻a1'߿ޥs~ ujN2I(S4HZFunQTYmVe_(TC&eu3A|oDfFgE9BQvd5LnVdSU.Ubِffx9<`d)3'Aո[>Zɼ@R ѼƝ"!Uڛt 2'qE7lr?FFI#Ej@:wN'_$͋;i@Ɉ̃xR|u#t>ǀ`xƌʝRK/& (]CX`P.Bb]W?3:'lGTMHՑ8D\Y_W!`覶Uו4U#9N>ĴtdH[Y(A#/%e'Жφ.%݅|2OK?T]*SVZF$Q&RxܘHEƄy*D8hVɂNDB@HF@nx~OivQ=2lƧTn_hqF P(7*Q])1O( R D!$;IT|8*Ȑ` G, XZ/j1dQ'}(HD\6D_Bjw1նZ"2JLI+E“M6UJloTE,A {4t&{َyY'њR+}V"NS^zq~Jƴ8ϭVx& \OQ e¡fIR's//'ttPKRZ9 D7ͪ) (,6?ҭ$ןN'j# {{](_iz3V Iv@~_ͤesa} ,\*YY0wHEdJ%HiMR{~M|)1͛(yؚ|qO80k29^zc)Jhatޞ6l8TPSȭ4Xzf\whM1 _ [|@QWn T\&Mخ4Gvc'V4KX1U`Vfe]ѧ<ʒ0դJT\#K#uKR" r6Ұl,0 %0U)zMRt{9,ۓbnr+w˗aR`',ተVHU &rUۃ$V(!Ƴ-КcS}ͻ!i .ՄJCCrK}n RIOv3! r4na蘔WqlQxEuJ05/*F/)x +1R%6#'E^I;.Jm-#~ҫ!2*\bAbb ךARq.+}@eRBY(G5*Xp̄/*0g, I VP<:mII‡1@)SNHV(&hs;r8s^m6.} k/M8laǶ\40ce쇗5X6ȅkk.5ۃgu#9$uo#3M'(; E2ڲ!e^΅ӆzĐ8$sOJݍ)MB _2 6M%!gji~Áϭ NI!a/ͳ >pbb#+*y@64w)f<6A!ЭZs JT@8F:WRc+Z[(.T+,lŁ.iLN ƭ lSDHͦk m"nP۩*T ,ħv8PK43ff2Bx&ć$k_xH\H0 e#Jx1-觶)DWtuEGLA}[zG^ tdL hnM]`Ae"Fb|%(ivmU+DRiy(2R"!k!S<hbW @lPA^hIxWteJ(H5ivTyL3,&?7,0 H60_w(g͔B2"'R̾1Xh$86*4*zUӁ-#`DavK]cJ.H%9 m[Zi? ;Roiof%q'7L *uYVΤ+;jhLьR-8⮞NҸ$euaC/maVz ."JQr2%NLDn;ұ] ;aS3D4Mҟ*jqĥ(떆g;$fh_K7=-HD"h XR׆5Ь/P㽀B=DpxCک  Q$j!Chw'\~RL4(E 0\F3 03"+nJuneӉ S׈ Y!f :w+бr3uR45P5Qr66'5DF­<a@ks!.@b-oϏdw kEu`BBƠS,+{3^2,.:Af$M$ڝ͈uR#Q# 5Q73i`V) LSITNEה#õw`<6;~Qʻ@־K%kݾMT3MM6I,抦a#=-U}! eu*"WoSAx`> 0_`=o`y1RN IhdzD5w{L- h EUBt)1Xp&nl\(2Mυ!F?{Ȏ^rv;I,ʁ@1'[MeBQamk5a*i y~ԂF(A9_Ur,:B.vqqUC9۞A$$df-:^4{^ enN36_}b(jR@X]ftpH 9!a1_V"߼Ĕ,|hK,B7bS"v֒hfoV1w,%&?t|<"^18k؋ύJ گ|;v͘Csku69+9 c7D=Xnt}*E&7(3-,SDKM&uuTy!VU:"%:W!~N \&(\&|vVwjPY;VJ6M  Z{)'ɟ}[.gtr' ?C:YJBT2y#I%1"TwDgU 9uEAϥ+9.#SPO.>쉰^hD8 2Ϣpm$:UO^X^wSޮ(6Y/6̇YVDtGgˏDM/N![3T #Pm}],0VTG\s;8ޔ'""kīP17R"~m=R,].R+~1 GTNiR*.g9FP%r·(u:'1T%Ew7w+8/ƈ]Y?@g{ mi\t5TЕHI(/X!2缥2F+$ .6yõAdŃjʆny MD10ͪgm8aTu 2;@ل4*蟔o$0OeQ_QiB+| vE"-};-qjoD.#A=-ZvWāA^o&_ZK[%v(֏l2M'X5I'z$wSɢuJk4mgJ]`5E%J!UrxqgݟЛQW\# gF)i\?yҤC\OyR";Ⱦ\-J ZcjwʹӟEex_Ib1R-'`\ϩ5.5O 3(`tMxj#$4z* ^9^.Q6FAc46%Ot"b'RP9Zv1$YW")`[iB_5du#ݩ a I@NspI bQQ2dz!8="duQ(t0K'pR6Cʊ:4 α%ژ+TͿ3 (HGvw =94 nW>xZLt>T@K{#dC&-C.P޹k@tUYr˗5kMPi+;iZe+Q> ,@8HBȴk̨4-.\< %4ڣxzAz0/SWKy1;}:i6c0&SQ,b*%u(V{SqRw*&KP;A¢}Ǣf5pNq,e'.gM^B׊g#1J4 (uI`|ȹ.D_Pm*/2Z̍\2-T5֑;;{,ab@8lAE׆T7/!+7v"TuJV^b @&IX] Ðv~Β=/N^͢Nh۞S$ ĥSjR T+JŻHM !^v4GJy 475)Pa04w4Da?>Po3ӓӴs%Fn7?M=YZ NtS*U:lŀZ"w/#Œ@ZDi?{ؕ"*Qƣ2en+jjp!JԒ=ͬ,Ր.H_6"d]^F+8;EܺI87 HEox"Xa")`]KSD._N0-ޠ[áeY ":(RG?i /O k9 WZqYĵf{$_5:YoYd)g0u"w9"Ëb(gF2dpf#UcRYPCij!v6";nK+IXqVυ%#zz+e*)-Z#|zawӽ!3lj$@Ⅶ{9ONCROP@i9*xJX; [{ E7[OwѱO?< C|#X)Lc9Nz!tX#W@=z>[*R|q L<<@/+aE+a|Ɉ̄mN/ Zش| b\9D!} rDI03/ fQϼ5_; Ä*.I4z4ȑ0&#FXed!ĒY -Lϝ?M))AXW8^ a1KK/#,:_@<^IʛӴ@hyf4}l ~,,0 SEƕ!H^‡p)CK/ɛE6aDá'R _4%}F!"l`j$^߄ү7\k ymnRJ({T]t+$RaW|G^JþzNEGe]AG7F:u i-ɞ? X'KZg_@q$·;,\uZ,.QS( u $N@X߂6Pp ]4.}"D}M/g6=.1 ժGQdj0OE T1=.eB& MTJP@ sZ36/9T=v/N恛D< iW RQb*Qj?&nnI} ߤ` % ICeXH38+lI զb^'aYp*ErPԖш1!XV5eɻuXVm"jhɪP-,HhNǔ1/PusY!M ʞm vqBHg ES)t%:yѴ,BumHL0 @ڴ)* ԗ/{ϒp+N!lA4<,J > Ň pr)<%h(  `K0N D³CYU4' F掞'n^ƅ!Qo몞BWMV MBj(2ґ9KDSXbkwՃWd@~zh~xݪ%u YQ-yNU~ig"Ͱ\ߍ >vhqs#^êQ@X}ckO&K[0|7ItF2%$3rRB@[8H:PH% ؕʩx!8 t &2Ni9MT<:_D$?mE7))Č1@!I|;a/X[e?H* xp4Erml ?d2^"P )5vJfN& T5't?(I>ZCY玨o>oA0vXg.+*؛y |Kl<2.q%zJCBKSepF=Ck$ĒjkX"?"рCX9]M'}aW,)QFСI_]/"+ڑqyN6sĚ@\ C<> G2؏ޒ&gy5ȝV̑(56A&=FtG 2&Fç`1ej ZX܎70̀^\ETLa=h<삺4c9d$7"&t]^` lG>5'h1,O=],: eKi{JmuLQd4m)vtpO8<%[g C &ޥ!(tB1]e#Xbl&o .f]E J^EZuG#P0σ]eŖOC#J@2|RK#dģ"YFŚ>"ÎHEF,oPKLϙ.  r} :K+=Lj_jit:9Z.ߤp%r.!sIb)0 $y%Z+-r“~踧f- R_`UfT{.A(NZ%bVN_-y'yZ8&2t ;CQ@6)$^$NsT!M!LWH%Eb{`2N腅SK!t1R?@T*Ζu!J ѺrI<އX.3 > (HP:oоazL,xd,RMX ݜ%'ݭ>{]eSޛFES9EcZl<(NRn(wNL0!0K=i!Hՙe)ijQbdG2|OՃpKd\Q@?o *f։I ТeuR1jcc_=QF* QAjO Y1D3\v(ǖRy G+S]ca]sfψ̏"~W¼=^u_ӼDm o55-ߦLkwfM#Њ!zo= N37V'vW%FbXXlԬmIb0e-*o4"BZ.? 6n!Y^1 ae)|i;d}5\IJDtH]!+.c$B-X-6A="=P6)* ՉɃGb]]qZC*8RC`怘ȉA5D|4Nkuڨ XjGI%NgphZ=ޥj\KQ uL^٪|ҥɽ_XX)W=XBE] )_t:k'RN$W.[j^Nޙ -Y{Љl5{޿_h﩮v qתge eФ>wq?V>9#`T+Kqcgc *j3^f]LfD, &Y\j03\ny`MBNE8kJ @"CNNho-yoCΟuKd)#:PGՠ(nM c{#zWķ4'>zbGSbܴ]|31CJ[4#:6'{P&JRSʔTn0iP[Hj49d'FvF^z0 o#CЎڭR5,k)Vhx` rH~UWNt|C\Ã`򐠧ULvP'#n̤[&YCTg~y? ~ْ`W;V58b18긷zO.pD!!g``pG\B0R^u({+ux?xV'[_Vz dĵޫJǸ ('D ^FR B]X$mcc Iioj{c[39<f\_},p@, 6bM>_t˾XpA—D/@pS2N/8#1Ac|[ 2f/ɋS`"am&zq(wU&IW2:3r)\˦:ܵ), e+E,_9W+VzjfbV3,gr2Lλ#lO_7 *w!n-)W\>{\m.d{f+1@Gϝ |.u@[,RTA 1yb/@TB-C:8H" Br8O/nu=$"+c⓵i˩s~R+Lii:q>NzUd(|\ʅ` e rHDn(}ZO4gOFf+b޻rnoPQTz(5/yB{ضEaޫțPǑ(\m u6oQU LDdf~*I$1J/Q. TȏA͢6I[7+u̽ V5CPٱD<EC5#^-ݬNP% jçy/&^$U*X  5% RL[bCd4 l_dF(ߩcVAcu85qGىjɁQ [>"[un/(PdƅߡVk#1RJ6 $O!E߽I,*uc1"CPZʋDHT28R _N_)Ųt`BKRS|D /Dhfdخ5Z,_5XK"]F[#K+x$ݴg7ZКk8K5'"cyed쥛YxaHܬ1 3 VK$9ybݟ*ѫBf#N|Gh_I?`VGhQ|0*T&-FC G!+C3PL aϋ|S0v'^l4,MjyE/Ppml }V3e݉< #Q]ڬyJ+&U=j4C1I[kw?ܑ&)gPSsndW,hʬW)o}*s5eB'p釄osDtG!$AcKw/7+Bƿr3:;Autk`{af1J/UT豨"Ivzn] :(%h9zY RI8/Vf{AAНkGYNb20,w%󩗟9aK&8<")h[%HMS2t&q@#,Ra٢YMdB" 7ĹTDhe{ :ŸH\kX^SVRn# 6")yt hY;X*tO |΅)wñu᧕uGW7TwJ <d'ٰ^`sRSΪ/$HH\SV#ڋ:ke"͘JRY9,se6 0"y1=Xb yRVA+`^3 ģqͼ,H`ޤZ%auax9| II"ima8pml(PD؊kFxG9Șйră/?G/9T9{YQOF#QT"UDA .Tlb~VtGy*ȘY4׬RG"I{JvK̥-$w/> 4bqRG])n X%THD]G[ٯM\:5\ĸi鍽RŴ(")<%+J%ZLH&$ӲB`S 6%Sɵ(}!HuEᜒ5]%.Wn_L*25v&$q+lҨג >%x.RWCpbZ}3A0:1HCak]4Cu[T>HB.'Q%/ 'Ζ͆>w0Yu: 3N8ޓK ME=:uɱ5XƢrCi]ua} ]lVn(qz*q=BJ1J"K5'd%5n, V@%f?H;^vB P؞a2-酋,EF ,^JHdTvjYz 1aBM0+(c|vm4PG5Ju&xCN@8M0m {ڥyi 5$IAmb'S V= ,4GWXjR'D-i·tcV1(PsΥsd[ad]o2R9VrUbJTMz,?ޗZ>}xîxxɈ̅jV 7_7C>V~ؒW+ =FGsZ`nL|zK 42YSL+ev7LI̞C<DT1vUhǰ15#JXLد3D4Ŭ>?81Qj h;dV*YceSRXpBҚ_Y?IU V!HǻWj"ޚA/zR=]P ,UR~[ê)7ݙD*WQB}f9Zos-JoXoʏMUPtaH5HS%HX@(ȨL$:\+u Wi%gb8 {j!NgE[rS(ihYBa#{K5}" KziID^YMxiEpg~\0= /yu )H&Cؒ `" $/\Gc pN )Hl 1>ᾷ4. bj 221$Qwe4P7&bdfW! R㩍ѹŞ]p-wdS]A"L' \堞"&mdm pjLإ_pv˱ ZjV+5lgܗX(bV4%e~{]6Q["sJ.uc Ln=6 ȥw1C=d &㨪gdz SxHu2*,dR.[07IKلiFv֙ ƒ&5 N 6XhwLfV,Hl  ^O&0h1* IN%1ty?e6{*~ +!:nZoxzGp}-QM5$ٙK'Y\"4vp/icIa`1" u0uM_/kjZY,Pqbd,eU8Х!l<+!W+md:n)=,~^ a_jEs2Tͯ?@'cY%xߪ豢$)‚\a {/QYgE% mG+k̃#=rp tׄà :fET7}lEzFs# 阯궢)I1ԩ͢}}ow{u1pI6}\s@icv֩_Y2<}jXyflFUBq%9tEW3=+dw< tα [sqNl0׼HTxM-$6&vMK =+Ey?K)"*7&גD+=nF7w6t3)/Wf4M P~,Z~ T722EEP_7Q_"҃.9y43ֱk%$(%z>a,ah7wӫEIW^:QTBDjE9;t݈ݷ6%GOG82K䮸> 1ArPs~ޙ"GÎ*ѴُpYpZrѸCDh&H \ f(;d /S>Di-AB?s3觊%;iGq_ӸkoAJ@`fgqny3dyɊ +\J|Hp @_ܕkߠ- W"GwvtoSn?  BJEs51KQ?JV䴗X쒖݅+߰@} j[@#ܥ[%ČJsP<^?8 FM:Sb>9@F.y1ο&Lۄ*FO"eH ڴ7 p$!ox 'ՂJ`ci}Wj4)"ouwD+45hE +[ܢ}0~;17DH] \?~eHSE !pP9K]ʼVfF&:01Z˼aYc>3b6o:خ+R-who@QuzIݶOSE{ B[2p䳼`8rxpXĊɑaL`bXJ4HwмQ< ɢ@ HH8D"GǥSR^C8}XwMo|QbfH>uuե9#v_՘ffi5JdX::QmbGkVzZ}86&]fխmy\kp9D dg5RaU(V3#7 t>N ,3Kd,wa4-m"3?=\d뭆Ztu}֧kϝk[?/g^Ru=ATTԔ7&oJ̑hXKQz kzlvI kԁ \(0ߛJoT<(j; TSJR VJy*S#v 0tEs)MKN'VRX1kű%Oh-e͉a ͥ9K&UO̪VVyI] (i5AM4* (y!1VBω-6Vnƀ_d4Co,6ti0kS.P">N)KY:bă<_"XviL]LZVd|D$YcZ Q4 GWYLS:fa̅ ̇puNʭʬPE@n",Dv5W*M};vH1urҖ;bA e 3 OKι/  g1 Fݑ2\_zIY%WF9Kp?~M3+a&Vd^bAsbDb QTj?I"Ltix(s/67Jhk!V$ aSLo%6B)>Gh>/!][lnI*'joDLR7 L _6&2A.<";)%ٳ[wSA+c;AYŋw/$֨GW6}wP/]TCebj-0< SWPrKGS[Ź%P $):jpmvk8GCQƯGՉB9ze2t w&E_I-x{9J:XOBߨY-d1z'T/N甘$@9Sbv3^5LES#TEg#O&?C?uX^RV뉛cRĘfުIli3z\ `_4UŒ<@\zdR7_]}Mrޫ*)tKP$-SUiKq)F1le"/'6̔tUBW I7cʳY_2n Lewo7!a ;ǚ 7㊋=R`2$Bj Ww(^!%@bb/.uŌbᢗ\30,*7) c@qѷ?#zSyy^?R߉^$6Scj|CQ@Hk"IFI"\$;'̐tmJvWUpZdBXP5Pb3QQQa҉+ ʬI)KX ODBiF{&gs c.<2L2@`8xr HV|I|L.hJ/#&}YN;;$'S!P𲽄Dkf$y `|5%@vǥq(%d=hTզDv5&\> }m#IumE+\-D_'`vɈ̆cVT, L 5 < 봥=ޮŤ@g9eF"s#,g>YilE\9F[{S wS]KGôыՔǸjnJzl ]R}1m4/u)ǚww=xj3(T 6fO;Z%ӪpkcPmA#MNSuOvx7'fzX{955Ƥ(_]O^[UetۚNVjT'[)(g+.Q];r,J]x9pZ&gZ JN$F9|Ta0KB)@*I a<0x/b%KWA]`"٘`2/Z1fi6)H"%U^V>}FqN`1NRq/rh,Oq:!MPb0F컨bUx}ixwN'̖o>R:N)p/!ya['sBRE1sP?*j\DDCǁ@!aCLr(8)”"O vZۤ?b;K2Ֆ@<})}n/8-w=V]Gww&t&eh~Gɷhy\FJj1JTo[0o8L,Sm\A"0 ZS07ʓJu$59}K(Nx1 fǛ\_$]?.!@&R<*2#ADݯsnf:| N*2EӓG$BUb( B 1Xw8l>xo !~}HIQV$yxbh&.s6LQ$a@F@* >-mhZեʕq'cWkm4&X=K1 [RC.E))Ḵ;*5Trn3cҠiSJ(|I$`ǹ$UqC_}Zo{Q\HpٴQ1_RrLvɈfu CH!*Gh+,w7 S(+F:35 FI+ᬿ(sZ-ɞ"ˑ"Qv*]ʉኖ@cg#hT /B)mVp!LFܶA)<<@) J\MN|: GގvnI=ci6f"|jzk].cNirqvR|$j-G:[x ˏ0Ѥ,W1ɼ2:g>Jt-ahr|R$ ²mJVn4!T>G QBHywܷ JЫ w#˦1Bu!KD]H8mdM,gQX6#+#s ;iy[hOΫr*`ȷf,ޭvZ2VrJon g*Mեar_H"w飾TL߈\UZѣۢ|tf45֣OIڳӎ&/Ҕ <3/76A%m\ij }o)vɖ0ŖeQԟ|DqN$Cq U90 C1M,13:VY y1#NX ǁXnt2.rh*j ΩΎtQ34)IёT+6cE& ) *aBV', 7;KqhMP8tXp$Kc&IPJe(@%{P}*%?HA0Ja$F%/۫g[z32>މ&VV#35F$Ԣm$ney ƝfVY :*Kg͈HV8u@peFjd ݤ| `]3Q:S R_$mP2>E]]+J"x@rc)ô-dUzZ虷n/U׀`+jvw4#>n*:{tzD$.TEŐL"#5옒kNGyj&B8!G+8SO2z'i=lދ0O1Q.%:OOU>Fq(Jz:[z =#9u _ ruơB잦F^- @kuW!F]9)(c+d{EBa&h)(% W%ohyۄ {Ί7Ѣ )%&JD?wTaVɁ;mvct1C"a'V[P4H(m*3]O|/^2n=.<3' q}!*<#FBz3!/<"sM#F&*iz"9_?mS{􃯭SU)5%&̲~QgN Iv͐dmeT'!ܧloQN>jcI| L޽O|qJ6rDjX\űa"Qzbd:lS> !\$dә2`^Rس@ G"k|8Fa1&O,>yܛhUZ,M)VӲw(9yQ^o;d-'*A;XsH\Yaeb@z|EhM"o9~za%/}&h,I 2BY^(Y FVp͖@Uzʏv"g6,:|=G_C.B?5+IѤFrwʺ4߲,!!=$܊7⫺ss}ULmE̢*3Gii_rY"$ `h@ȗ W 8,IfJ[N5.Kt^4jn`a{h\ӳc?Խ967.il;0P`.LXݦZzT+ R._U Ș+8B=e&KR|L'9LB& tx$ͱw(b ؁4 #QH% PM_Ȅ2QlЮ+7 f,銬QCj#Ba.D]"^~棥$0,[NI,a*ƲlHlȈ8VgT|RXTlKtEW&d#JplwfhGn" i5-&( jt,gdv#c0=b|iBl?~,.TRp`Mn\*Tr mx&LوiOʤgzdS,d(UUia6h􌽓!=|}Dte휶\м-Wi0r7+`}`uKnknc͉L iAnwUUk{%:YR 4=KЋ5NpڵN$oTꓖ :sT/+"NzUoD(s3xl=Ԛ7OJin<‘(0 /ښ\8_ ٴKAJ5+9KӨb~o<u3m: NQCQ=R|r O^?!l`U6?m?F5?. bJ_u|a $ {9$bL )M"Vpmڜ]щs ,+܈S(WhhJAL|7M)jΟ߯FO{K1dӅM_7[6Zr)ӐpI(j?JCfMMYF2Rk!ŵJ&+xM9~SN& J=yw{"Pεӳh6xLKY1a9;cn$. Nah'4Y^s"92ꅱJ!^8AT(I#Uq_-km6}w&xhXeQUYat5vE4-0nu*sD*DF-H6fER92`ɒt*F5߿_ nT8 `u?+p[ȂK3BxhLęI R})6*:"K˛) 0%*>;g41d }zd,=Dq/3?.W]*i,W+@>": & H+(,0d?4;UuNd4<(oAV&+A_bAKgΥx:#Y{\(ju斅>ۊ%0Ht48 YKm?,T{F$  ,` )HDCf2^+WݴeP4yY `O8ɲq⚐ IU4j5!>,V HUҧdlږ(I\Ѐ 3L}+$T7L""HMoDE#ƈˤx \u{NT1:l$&KBb))S-)_>8sTڶ Δ+*3 ͪ5ȎLg>M^eoNǮVc'w"zz{nC3nNm*e_&,#vI L1hSG>2ɘ̒`%PNfDvzzUg+[ϟqot$o/?V{+R~&3 4 v+sMp# W!%g0% -0݉`؅\^ RDŤmj=Ł6@^ Pb ; #c͓ʸ*ErXc ) UcҾuckP $em=9t螨h~!B.FcPXZmyv(JXLl2<{fR^QIGJHڳl=F)pVx37 ^/HZ%C T(0!є4YSJmn ʝ6K\y9)}Ǐ|Vp>21-Tc&!v!ThH)"HI,Hv Z2"I]KCKʋK&Dž"[(& ՐG1/#3s+I sӛ%U`@Dm7ϪD;PK+$[:Yo{4Ƈ#Mp:Fȯ| x"kPJ&:l-ũEE ;nO~6cR6ӔM[p- @=&v%adr+s]H76%VFQqO#:B(:U416GA򛂯try:yέiֽPLfOUUe(F .J28]\R""EV+BGV HXPD0W * |2P*I*= گth&=C)A-o(klr9;7 iٜʆo+YCF/AqHXJB:7ƪ7 D&cQf'OMվ{ȄDD^^B;^x\84WGUEyKOiƲootTHB2 Qg!МoprJ)9dnK̮ww%\\5pЮY:$(ш;YRd -V'|z {Ŝ`nVPkR1z2 vp닞k}/OIecDw`I#ρSP+!+#ncdњ* Ӡ*Off$0zxl,J>_E2d2 ub}lҸ5Ȩ{lk!75'+/^*K<㲹as"\ u1k<S##`Xȱ蘙 ZUR6eϷt356'ַ|W)")jJO`;g9"6W&CȄrz/P5ĤWhj0bpɹcmc:EgT* sJ$I{БAEҙLib\9L#V&x׫ޢKws ӄwU 9X@LbdgծM抪i6a\3` \xM6MQ3 B4Wנ. *D)Bqʿ{R0Mپ=G2V."Yb1_,dΩlbU쏅:9Ad<d]5ㄨFbf/n$7`/\=L԰Y!%\%Z"Z88p i"юKzSPF1LQoKOdϮ_1f7Vu]n Ξԧo0`T%?/Nax\.–2seY΃lr)ʘWB95s3Tw! {ls j7u|i `s1,&dxAFHiyw+#SP @n]#4A&fGY3g b)ssp!Qa FxmsZպrLH MsF{ҵu c*Y׃MRR柢+|p苮yhą5yrW/:V s*AdIѴۅ2՜1W"Lt^$ܨVY IDzW'â 0 ,l7Ȉ_t@+GTP,=XHm1"c0 Z˴AxҦxa! I2nl] Y%󁎲 UCl7diWmT`>X p쉮XIOFPH!5QZr[?׾Y]lv}6U44;V=o"m4;0e!y69)\' FsrNF P&"!-TݒeWB0qXiP Sz"ussV'waR>^&U鿪v6xa*UK`)?%{OøWmO^ OV=D`Aԅd?MRUΒ'kN!ğT'ŸT%)%>]cу%q[JfBR+X,d$sCl ,'+}R&t8~ $/JC]QZ .RLh᪰o}YN`;&] ,oJޱp9s,Ā Iķh-' Un1#%[Hݟz$[IBk NwoO ^)QD#VKA Ms+hJiMnO:tM)"@z%~ %z,7` ͟Cċ}eM2|W)kOYݛW1Lb-zAƍ8c)5O/SUswK *Xi0L9>NXD'Dz)UM757;24$u$-^8%n6 :uzA4AޚIƼvS]Zbw(-'^=WF '[|ice*%!@𥉉1e{;K}"e MzY% J*w1@TbNpYA| 2dIRF.H= ۥ `U2rD3n]Ĥ:RWjEafu 玤0pa:^^ }r֒ JL&*VZRlB̢3"X= As5Gx^Ʈ|;f8Tߟ=˽c—Zv9Ao;r'BtP3o=׼,AX o$oGOLrrdŷ4G]_]N QMk6`ahWb\qr_W~BCj6B轕oq\cEh`􎠱[ZyV_͂P0X֐].6 M* y2%P?`[{k,>`Dd Тd}|k6Y^e$%4H(̐.p6ЎH"Hk1nC,@84Zcek]L& sS5:$ʈ(R;:8Yt&!3ROA$D,>"O αB4Su|='ojy SXU]?N؊ _D]Te%HNw<.,,!S1iԸ}s.Y4[9ޓik@Oeщ,a,qfp񹖭¤"wmb ʄ:V찦8?ep'B٦iJxASmn :(+2pX5eJXAOራՏkpzdU|/ Ku3.37>wNI|tf&%ez*>tj-=\:eќ|3΂.XJӽsI6zp0PB0.qM]e(/PZ<)Xr6ci[̄2.9{="8~>'ZlOQkaxP=quKv&X7vMs>8-LQrE07yd$}4Z2ۏFSvh%a[F^mA(QK/Jν6zy1qM1ɖdՋpc΅oMmלCײɿ? Ǯޖ8f\BuKXoj8t#sW$ cĜph4%4vo[5\AMJk>6|>[fPdkFBGg&Y[ };uƍa$% %{#3_J}hQ2b]%Z_b^ n3ayY 7!d f.^۽Nbd-Fwc ?b]܂d"+m0M7AQ]ѮB|*;hzJ@0y)Mt~%깤y@^:*85i^ysWU%朚7<0HP(½ip3[J!趌H0~m硷E"P/6ˡ7ŷip$I/{',,TT %;)NjvcHz~ި#[=ևH-Ș.NrYL8F|R] WJIi?wb$ifщE<ڍfd"ҭoZizD)0"=58J[1.9"'{&&^!:BK\ʇ\䑄&ǷxP(veCҹ ~lLJ$7D5d&.pFPG L($myfo? i첳0ڇBu2Rcv$X?X%}1Lgb~&,v>k.yܢ[-= K ޏGMep'"$jBmj8h&, f-.W; >^\uV9>|ݝ> ;BD)VO#̸ zıOuZ`G4%19NfB'_-4>]v%eHi𥎸"9&g,C|`+"e6FH1R-ܓʙ0a=^WEݘ0wܺVqZ#UN{\!qS@m%FP6|y{S?+gEԊ 17lJwJ8ζ7Z1;vq4H"ϩ"K\q''.D^^Jvo~-ˁѲ.Ex%b(r@A8VN dC8`'9d&GFGyjs_nZ[sPKyЌ5+kQ2Xnw?(3Rb%9jRܝ71M'2 "[1{uT״B'_dR+HIs]aU:Ι$JF'aU4vԧkuI5((t(0 \'i0!^IH; uGX@F˔U)9Ev T'ˌzt e٢Mg$D Ϙ0\~-wXڮKaa{;1]OQ㹼\ӖXʂ^>9*bj3ƪm+A'B$2H!#C*3(REAvvm};k,g].8oO,:N{;qҚzCGzO/5uM1j(axb:d1|Т!фLHʃ@oΦmJD5_xy/7& ̹IG%i+h{G,m#1ɾ܅"ђM=c-_%c"S!(!Q'~D@|I OBe_ nX- @n[3KcOn*ί[ubra^To;y6~%] ]qe[ѵSmjhKBi!3:LD!)QWG~v*P|ƪ Ek9CE*Mkkuá6 '>ԩٮ9) %W%ꮏCQ]/=;P̤J;/6.Q4A2Ji nqh[_JJpMv38 Di&el吢u }rnJ1݃=rgf޼ׇ-[0"5G7zpq1ȲBvwɉ0Dw,66tf}ҎM~ͯ!\O"QA*pFatvVqfrF;I=,^j&w,c3jʼno(. ^w5U E(44TzpZ]yn%cj%rag!φs~j>+^ ,3+C""< Dbeqh>aB.?w՟QS+; _VE<+P99O$X+^Dk,`^]ot#=E%z2> V7Rf; C{rnDb%}}oG i?8;c9ZhMw:C8)'JV*/Ň ؃"ߓ8[/F|^#$ܡE{$t;-{%r36G/e^е:؜;6 5ͣo:92+=-i0Zi>ReNTf,.->C?]|;lP fj%s?r08n,%z,xeseZ̋N 6iD>hR8( T 8Vٳ{ AjL,؟yzA",sY nRPQihZ^W)"fLɨܛltH; N#]ۈpkӁwTnT3|"KicTk,Z=r}*9$ eB[6uǸ;/'A&Ep@tV=j !ZO'ʸ ED`0yhSǙB54"Q5w@uք#K z) `-p6Y'BT1աl$TQL@侢+C{)Y+y7<~7JRy-fM#W3@-vVs$2$]}j(){J{.%ekiB`:zv|0bf V,.yR=p*\%'2(8)х?k{vwkXOy0Zd9# EYďW4HuTNӿqӟB hsΐj1T!kXg,w‚XoE.ۿǩks K7Wb*jn>90J)訞u74TdG [s1`F.1{-vK|ND3oΠ/̳5eDRVq+Ɣ)z2{߸V|%"r6W*t45A;͆ƕzX҉,S|tFX= S+q-eˍE`36 3M!zec*!w9Jrѥw{IN=7 ¥>x Ք]6TQLsp>Ȓ%=Pm@}̭ Ӌ\[jDr{W)Jů~-`&T$pg[)KD₷UcF.(,裘oaƻ M(Mܘ`+e\DE"c&ߥ^I|d6Wm]'}ɷsk#x\W9{vܲ|OؒNΓ!W!D/:<.m>Ǘ+q  TF>=]$СnO|Q,gg!G~\LTEP:f7n֋'"ő[t+^L]t1giKS¤)iӨqfTrHۑ,roȖv#O gPR\{$SmσY'gDl+"%"lT2bI#l6;ڌygіv5ny5jb.zGm?GMTuQڒ)Ahh2{g)osW4xe AKDѸ|NKQ]w8N6o)uq:#^s%"ԋި!XS/&E'S)Q@~bDc~Ws\lJQ+\F<13\tb,S`^? 8Dm+;e0:I3$֮W̊[hs^tW'aT'9N;3j<]ڀS+j;Eitc9 tĸx[sX+4(vz7MB.z,t8oT'DdEٮ/G;ɸnP Yx.tV% ҞazDC&t)܀Z#(?N"CٿR؆  G4ʸJ͆DJMQG8$ x X]dе $ky/RL<4a&!$?,J5Aal;IvR tB bk@ aǕ~thIٖ_ s_ю [Y$R1R: ɒ|":@J Ґ0s)yU9@\0>8f~-xVRDlu2(ޙ0.kFHQ9J3ɸLwHכD.N@elΈP̼aT2V9W.BbN#ZF=s Ygdx󰋨ne0##L #z&r,<%bVQѦxTRW9H 54"9"ߑ7'`A]⼗SBDr\Q4p;)cʇ7YکUsR 0jD/OcQs_6HjqD2%adǑ® q4kpMVmcmxC&0EӺ8BT!M:X&p ҉m2q2_R/H.}U{1Jâ9 Ϫ[S39I-eonƅr[N8~/^/h.gܨo_ +y]=K6`[cFD^#e浖v~J䥫9QBkyZFLdDsxEXO"SؐSض!z}c4 O2+EgZ78Ҳ44-gNΦG_E'M\Mm/jp!QQ_y,(z+ٍU,Q @sE+4lukz!a43)a^?}"xZwEjZFNGk_w BV~Sklcr7݆5Y'en){O=H1rLb,*-5E5(AY@@ɑ6h$_`kp2Pv 7RJYCcV*{,de4,|(+niBd#4Q11WwűxFe~N&Lqsq'3&Rpz[8^Q4)RkS_aU},ε8x!vhwniFygJ bVHYXGNšm=)saeą9P MÆAH^hh )؂ Hi;[ZOvŹmW AnH^l+Muܽh|"N7!vC@*" GG҄rҥM:M=DA= ĽO=7 ̭P+#d&_RbXR.(3.%I՝z]jֶxsWs[IU1z/FctR%nf٪3;&ivtbY& CBE(7lj2\Z+g $/zVOA)8{:Z]aIL4Vr^1P]=H_xFZzy-9yen2{XZ > Z R$c]93/vf$e4Z"&Vo7W9ݻ~`6ՑTz!P4E) ۾eњwݻB ^/pmH`2͍ƓHD@{Kuth *"N=+$Z.?(3#[ `oTv4f/c#qa|h=ͭ&E+>%S?œ} Il_%n*3qăSpxI{>ŧ6ř )Q)-bf{纱fCbd6Hq>Ŀ&<H{u0O,4XqymU~Qκcb9Lu=jߴQxjb]&sO$>;k;FAcBfM~/qg|b9%<k+E0kzWҙ )y;#6$@J;עA aR Q$qzY-nCVMC+(QdSdLw 2#@ Q0̓фJQ MG2&}J+սQea1KʃOsZMgW^aecR o'TaՄ&H?AOvI.)@>!N:*ӧ,T?%wD%btxvQ8 .PqOA7_f1 KW~9!D/!N:Ej]L,}J@ݖFT[IU^O~UcG$oU4mDg[` 7>k$G3^IIzZ +a)~+(9"RpخVDn>!H?[jNZa'1X):] Ų]CV%Ӷl4-Q2ǰBBބL-{ uOIR]}C|uQ`=ˌ݈Rv˝G( %GIt%cbU|S.腥[Ypg!X0䠢{)ԀGȨA%\q^3_r,p?Ep"\W ;5KbdY"K#N^$<ܥ<=fq)F}f*SBGN蓠Nr8w͌RP>%k~Mw#UQ$@ E ǩxҷS`l[XӴOcC"7n_TYg# ӺњvY)2'^j1mLyԩP&T՘ ϒjMsgi로H']ס1ō6!MDx73qYNo,!RtQ"C} .[IZf ^aI#2wr 3STKjcgTEtU@tT17 JB+mk{ +/0FX,+̢V|Nw3ѕ(AZۄ 6z*xK `JUy-R1,HJ<1hO#5 f9f\J.:$?zVK/5"[*qs&,T: xVn(iw0Z,&tGr7T!@(,ë]BpH^9# ii+c+,˪ h+>J]úO,rߕ::i *ɨ̈ Vrd-RO ?-G  jL3Ϋ3ΡsJ& KׯF*'cy=%a%jOxo1 8I+[G @]#7Cz2-(V<@Z" 9r] gK~[\Z]|7 ۪5/{*U#-{LKG|BԄH4fs% 6hIGꂟbٷ44&L0[~ -Ձ]bSkDhʨ遾s*ACag Z՞V#\[]šKKJb1m2-sRؒINuKd]xB)&:| {n{K ЙTE4F؉mUioҥ D’inxiΊW2%'v4-ITHX*}gr(iH RI%rwƐ&BwZw!4 bNrd*uIcZ`86 {oM%,sl~ZW8VcGA&@N414v/Za:x5ڼ̬ҫ*NA/ ;YuVI"+]VП@=R A򐋾zT3">7}$cXh\{2CEDOr($> d +Rjvw#tdj `ƒcL( pvaӠ_xQX8l9sŖ/>ǧXmL E&@g mnN*3n#Oah˷w'*܆2$RePs|ʌFBv8ŮRJnD* !_#=37c5nh>=hҏ9|‡j9;L{Vؙ'=]=pIȮ|<ɖ/>/hT-'vmM sT#لĕ4K) Z$$9 f*>< pG|iasn-4uD z+.~=~' pSkI^H(FlC,#T*ҍ/j##"Mc7vt1?gA)T󭳘Ði\3|")v( g[2mk2ݡ'5S ђh0U ⎝"ZDONfO _V!3錯1&Q=7:0-BImomvc ׾Fgj=Kث-FWnn5ʯU|F9I+ՓiuH3Ճ{4 *2=T2NVW'ܲ.)R$:Epgs5uL@Ȍhcwv~mU`0|}GJa lRyN wP'A'l41Ee*!ve|;˟Ax:Bs):/5LNholNDk]2O%VSW lKRm!HH-}*By@ xp)IZr: R 4>2>:H6uB\Y::x*I0@"B .:$ Ml HȠV:2DDer`"6㷡cS²1{sA& aw,%ΓC${ sD"0@'C ar@ 8 m jxH U*26 Z L٫$GI BL $BS$J I(bF6%VG@^G$>4tdTYP]%}" I23F`{3|QǯK!hHL: Y\-PL1Јh>00TɁcE hyap ydD1AYUy`\蘐qf (mIa<`xP@若.tHC-(.lbd ̝t * GWX8n5H/&U, 4 }Q>iSw$yQ8x؉!?jgNɄ KUD6*,ۤH|UT@MF_ )nR$W>26wcE $0pE_2uqA I.(HŇ)$JhAA^ɈqFk,0X$0$ PhX((%%XpF  h0ph(jx=KkL ,$qdYRD45P(X Hɴ7UAwXpAHER"فI8X6F@o\AD\g*2 ȦftU Ump8xP[F<̙͠yS&M"e89a )#ɊxAa` Hl[&sT , # ,@HHP4,< rDƋHBR1[[$RfK>YKnVǚAfR4 !`D˵}BxgtY*PaAQJcp,@H(!nCz787!9󢒵TZ4FfDt|(k$IƆ9k*|/[U Qi0LB6'@m(ʑ\BME`/6kIuF(- Vi+ek)f>iJpÂPi j(J++Դy7-H"bI.dDw!~| @|}i莝m϶jN6&l{tvBᆩBrAUz[sUw"]XL1 ~A5=wĉTݝq04n58-\*1vEZ,!KB>TgU|'D] UO7)7dN@ѵUתR?9BIr8ii-TmU@BAuVaf%ZEM~w2A4hQOW*Fc搏)(}&fp"VVIR2kMx, 2ð?sn(0+e |j g̈B=,+UZܯFIUY ʪgFMTQTvS]^.B)יwkx֩ 0.$H58F-VauoJ?3~xrFt!'yP>AYWUs+>'pk5اV{#Rꂤ[NHq KVNO&[/=z~^";ZC5?DeQrAGuʽvzn{49*y=(ݝIؼU~V@"[d6Fu 2xn4H8üR{M(ȈOL DK[jFmxmu`|"wu-XRNY^ h0ev~D^1A|\ xܽ\_fߥəK U$w[8"c~,f5`0>>t6Dշ̱ghϮ3CBtNw=5~gbQN \diq.-gdgv:.$TtmgRbOy*͙_϶d/$kN aY"9O}p;y %%}"/]ysX5™0=y*c7| B@Hp_C`b&>TxFif!s7Da1("5+1 .b8yLBi5Wlv6ĭK%rno{ҁ.𚉜&׵m>KCCӉvAԝŁVMM"CC l-)zQnI!UfdiP2h"2U.uh\]1Tfoap!cl^L{}8 {63\!7xӯW}q -.gN NBGʩVxBP.V^%-)-GD9"Q!_@ݽ) U`ŏ4 ֓ri)bluǍօb*ABרϕr/'P~mNv-%g\"n1RMOmg\\ݍ>zp8($MK喂Zw6TQV2*}py$mCO^lk*T!H -\Y_ܻmu[ܲ" Qb}8(4YOh+.vUܫ)H@ 0d< s\<8wJ3Sl$-7젺Jӄ af\qO!LE"E߼ƌL'ĐbAHYj4`"ʉEbʨ݄xEӎa3֮[Q!^h9va4q{#6< uCXTMuKHlO0ZjA;p׷(<˩^BYl4׍JwI':>h%L eJ' BcT^opKt(MOЦ W\/E48#lp$",͂ 3]RYn!.XIoZ*Q7UhNrP6IdD"o$m2lky*]TdIT2ք&DV7HX\)kg6j)ʳyt|)'rp8nB콰(st2j%,fG4mJҌmd/,UiuE ?9s-B^e6F, '׳Yމl`X؃2vR!XAbd=NhuvSP\<+h՝Q*y"urDž.TLjHv_qDNA[VQU6}3lN7* J^SJI,Gg}Hg+Jc\eHlEE&9zS#yZG%$lZd$Y5;#R/I<Oej_zzP>ǰ^΂bt`h)?aMQEnDUK)(hѶCZ6NrMh)U)xgi{H!>Lu%`R[ T$/aSNLcIS0cD30Bx32-@pB7?I-$JL({))iV$굨e5:SE[SkB_C=|~Fd-YЕMH]!i IIe#0@הrzCmE{E 3 GE>-8!yR^\Wc:K%BVEk%m2TOT9XQkVoX"1e=,nzŒU׭f>$rgK$X3mo;$ZL̓%}TB(6;AP%dlY8-;8 ZRl5lyS#l '1c0!)I>kȯ!%QnTqWچ }qQ%:!߇ BSrE07B3DY.a*Ae+ta6+k` T-A C\{EV}m >: %-r$ilN7fՊؘ_L|`R,GPuC q(N^(P3G# uʍ=ϩ,H^ oSSQFUy2} >ND]$_"'tоo;xl5bPCkiD 7ۚdXu*SϲD>ǐVg=LϢFڇ݉ACxGN!{hbIw#B%N5g䣠ҭ=/ĀQA*躛k% @&_񌡱#^"T TpUA M_e@0B-oBF 85"6۠IS 5큓2<>jܣĽAmlИAɂAbzgyhC`8u5ⅠX{GeS$ԪG;Pjߜ=|&r-S iXl:rqlpJߒԱoOPfqu P623mtW#=u]CR&ZvV=R^G^ $Xc{~ YDѦgy9E Bku X475qu,*#QF#aI47FZ(QJ}Ʀt3L7z;9 ԔTFӭŋ66FLaF)ݍiDF_!ڦJ6M+㦯_MtI\LQ'ps:"QF=R #f0/mȂ+RNY--j@#"Θ'­@oݖҦ]$i#{z D0NڹQUS`HnR'p軲`$ZڼDĀ|a i D)}gȮSUZAA;9G$"vf%%ɽ֛*ħ2db+DseF.ة#) Rۡy*_; CLu O 990EyK-$]xw@b+ G /FBLNVi3? A|Nn$t1nH!}5z^Gڜ3>ѥ1~BCęmG"G`FV$9ABǒF&HV3W0(ez`ΊB]g3~?IGH擪{MB÷գE졵' 6Ҳl!yQ՚/_ n,WeSwFPЭI 8oZb I!CٽnjQ]7Ɠs0Xݺzb(fEp5̓IJ+  HlAmV*9rPÑ-CvÊ Wct@z?>m\rH8e7X?It+hz|" yGzrwBng hLd=C٢9gײkAs|apR`$S+n"6Lj-K%Ӻѱ#~Ԉ.%B!H𷳍L0m6X(^xU5 :y\=R7LO@`# WDd3Td#.croBa0|9b6Z ҵx6qqUHWXQ"ZV5JMmSVʙukak' _Đ-6*U0ͨ#;-bxg_ODXOgrhs]V IBpL>ni$\ؓqsV%k+/tUd6f ޤ% 3rb /̚SM2$qA[Ժ#.diW6pp3 .뮺MdqI, k#ʠsSN0sὖ oj.¿w)vP: (%ZݚsǷ)>r('y 98rÕB$<ޥJe37C:E%IޙJ7RTg C >C0h+VV~Y "-Ļ#k:~*'=e2Y"X6k:t,Ssa*WRBpVUN& a ;~ P dܧ" jjG;ߙ'n1]mŽRPjX!0 !$' 5'WBǀv#XX&o *fmA8mXfFh[OGUR%HLʗhq;Rx%IU t)5qFg=fBv(2C8X!C !yzt(teV&47;W#".mu(K1T7vy:+j ,;`>vInU 9ኦRKGJR,r] #ey9}r Ex q$k%ipіB.^Nބ,:7shpB0Oe£JB*egW-p^Xн qF\+ 9*|f &M!n0Qf UX UBQy9weD J8JYYonM5{E4?oA.;Ii/wp702D;@U5Ol; 2dRo{L PEml b(D\PQ>\. &M.a>92i ON93Zs̆SEr%If"5{>.^V@0SO(Qr8-!۪HN 4>7Diz+h Y)A!DU?;a dL"@F+L՚\ga/X"nXΈtLJH]0ޟ$_ʢLg!KFǷq>C{Jc-w]m6 v%ެy8c`W(ݜi/j h(M B}QC2-Ԣވ|K^gĺ'1'QSs-7dz𞧍RurHVPB?#{ Қ;ES!dPϩ%f¡jghC߲rHA@+\&\y%:'AGyO`rZYX2BŇZzcD;/UZ᪭jV Mq|ɉZDՖTN/v|ɴ)E׋Anwp互WΫE,8Vy'*Ȏ,oj n"qczf"?"nLX ރOTZe;~<||V7at-#LT[GaHiS!Y5m;neLe< \[NtD_ɍSrx!ꉢdOpI^8s q:)C;>؍V镙3N'PCWpҹ4H^n׽n@N$!R<$ٸ^HNp~ _%W%[k[%ㅩÔ!KEvХM5PBI/y`O!=;p㓡;ٮ$ +JXR˽DM{wxxC0Z#z|iNB84(Ry8C| Z"h $5<1Bv$J[_^:E*{[+[TKɋDs0=qe+.N])@̃%Fhb'xQ,#-!"ݑ$"[ =Zl{TX+Û8+B"w;R>.WU$ZakQY7 LZQb~ߝ1JZbKJ2b]؈mMdD-1p' NdN sVLRVW:^ $@R'%fg(eT($bzY@5#E>_s9ĠTL FNvWPe$6u06T>bAWKC cᠴ=kv "{,ζ`[n2}LN"KQK#M¥55CU@IER.~j>:AZZ33ML︣cIWGЈӚwEcck N, ^'W*ˌ>xGlI q*9|L}X|#}-fflMK0(M%RgK@#ަ-TƪnKRG5.gzCWSXUj2C5Y2Iv "lp*bHcK߂ Z 8pB\mELNF#oո-[:}l7I V+(DIJYDFAXm"yK<YZʋ,GAH!{x$bnnki(JQmgۚnW$ķN?B|\˽h,>PBnlmC+pH6ʓ ̟1Uߌ )Lo,Y&wY,7S%F&_y/r,)X孿 $t?lk;!gucgRBv^Ȇ2a1r(ȎVJQv/欩ch3!@a,@ZX FJHd%WTP>''%/2rD h##.vWfɇ E٭DPzy[*j2M, b@%-+˦xC"٢,W*uy$z[,~B`bpSл*Ec/n,)鳲h%_tґ2"0hj^zZ`'|€Dɟih^lINufBx<#4c@*.Z7X.Qܩ{3(_T͡HIR dM2-'e"vFUr(Rw P e:[w^_6-J"LOq&ܠjs)@L|A@V=Yfu"O{oN!9E!ذHgRxH4w\J.:q &Pyb|)*6Z Ӆ$` \KS'|G҉e/ύMQ<.sUsF_-$;~!pz)z@@ ck ]hG%dbwT&15ZR˿鉶TA'SFJL.\?RDvwZq[ȱPN lFRhO>sgh@LbbNo#` S- i&9䥓PYEeJLۊQnTP(h4ny U`}\&{\2w >?,4e%& \q2tѺQV1j9ɤX)R<1DݘٸSlHL{,U{5y|&)-G]sӐ?;h""PoS/#+-%JƉqCFzof?j$m+f-E &oCJ@4@ ѕ0{ ?LM#9x *BZYaF0g& n\ N6g:$( e/ɄS)?;ԉ'dW "tEMBb3yiJ^$FIM*TSj#1@<"K23DEԃACm00hz5HĹpA bx$!m8Vqvs2RjMtŘD4BeDGLyi iA֨(⒤0y`PڔKFڮ-GoIwslâڳ5.tSU~.WE[n~Lf7!`9+?CBBӸbDM_Fmm=_:R3c6?5PeBB텸e&zc4ؐuX2erDM,$_"T$B^ý:oMbha5iWJ  c L _(QBo0Na۶&1qyn۱'bv?'d)h07څ10 +=؇]Cf|b#(0,H2Tt ZJi3XeʎJ c-oVaAz=)'I(d*1by ;FTV$LY93m3rsSddrtI%ޏ_"3`/\QI1.Yb1&X|MlA[ ى 5eu\|RS0xu7(ͦj2x8W$l}QxJE(X\K6~&Сz f]fҌ!6E"ĊA_ $J`滄F!dnlOny!;Lh#4-.{K]P/H $8#8Hh\w\&d.bXEߴ¥cZGWMӭ‚-4C j KC %E_V᱁ar0` K:.]ug,O QeP&D${R6 \tS@VȦτD)(b~{NL4[ yrbW^b"J1JeXvLovDe>1n \.jCĩ Hd:Zq9GROlӭ9QCo.4l)2B`f iO,=$K,dD."r%{AM%ȗSWK%J&fv/ƕ3bx%LT+qlȿ+[ |A>T5rPRD#c"G$E2UalxۇkE*9NRZD4I! 4d 뭉Q0nP쟴ħ+z*G`*`0^G1 *2H ~CI¥]ǜEpTNDg认FV$O rb]KDKI?ZPJFTn?S 'BN/Te~F!xH3*] "7Nީf=c-3SXu"6[uHbMaoK" "lFDAkvA$*)w"-)19oBY3eZ)I SzlԺ2B֤º,2ph\ap.gFݚ9bĦtY.(iHCcrjHv$?mKw6Jz3^Z{l; 9+4H <uҔ=ủQE~P׻^N~" V2fx4ߓ%zPǥ@QQ66$[CF89l*+-8\ dwsyi݆)|ӦF%k5,UnONu8){9ln'WBu|:kGUvayѐ쐫a.̊7<)i:rkcoaA 35, /-(^QfW~)9 "M(GWU<.Vdd`vظ:CG nDyO@B/CmQ< ږB9("DeE42~ }}MDepWl4VЊ wDz7) צ<NH+Hk#Oj)Ŭ#S "]8ZJOws, (ܗpp Mnǰ":A4*3#3\QRtUEڧǹ텧t)DVfY>b N F$25TDm,S.@~ׅD[&Gof"*ƞOkx))-77v{Y =a awEbò$kHL/JG4h9գHKKa1L;<^uZZ`_NDv2 bC E~HYj M]7:=^mFh[bK a~tb^޲f2ZІùK*|%c%.RV11GtSeM&cI Dz+I6?& Tv, $鰎D^/^ʆBa#[2)F^攺hzMȷ`G%fm,(qJ wQSڭpL)x49"gCM1Inw:@.ۨ@/\"lÏsq3j۔n-473nzTR BS&CˋfU$ zIk%p( ED;?85 ׆/!S]VNADͫD[B!ҟLe7_ܫbz( [N5w8 4‰" tQV$TLT,p(3Xݽ/ݱTC+#$f^KQzpA1L3`a0(UxF#`Zh죱]!@K7K'{UΧ4}VXMk'@Q&o807Wvhy^. `nmH^2k UHm2>RjG Z;mi5R):qE[q0 m6"2}Ueݸ7Rt4mM@CDn}ءJiT (9\#NWڻ;x?"U7va^ۀ@jgVtYBX'WjIl*H:H]w0Ik@҃``70qBMX>bwgR-ƲV lB@#Wp"][X v =̄qcq܏x`2dDڊ$1mZަZVRΘoIS9gF]F[N +*jT ]RTBBZdI^,sCwrw1N"ra u[M̈@Nh~&5'*zkG8DqƾS ǀ\bb?9آv_aڣ ~~sR"Vh- 靴4rV 95Wz!ߙ/}OYli$͵*zk0Tt7#3_\UtBJNSxJbYxԫ!Y i (9 %eK%<Q/15#3*/ʃpm,ObHy& H-r'|$@G6Yї$6(,l*B5M%EfQAM]s [lt$V+ [}ܜphp+.{֪y7PY ]^ANB3vs_eoДɸWSCf7$ʶD>C3ٚEj.nF0)\jcFhiqP'khW F%]\L- !1pR@|4? f3`:7hȶ_`7.s=#-S4plF8EZɱK5)lZzPN8 P ӸF߼7$dF܀S AH@3р"98.h@DNx$.~lXtć{YTN,>ҏRi,!LOpS2Px'3W- ^d3 ܘ{ Lvtr5EQOt`QD#u-w̥+dzz@M\܀K芌11D?dɀKАTjH虑/rQ~IȭњNSPbBlR"OݣY ]S1D] Esy[J'^Q,L3Cep# IԴ9ɋV8e&䜇C3ꥼDžG]%oҨ]2 ka𲉫 ,NOiz][TY_4? ?/d)iڋAIJLqְ%*s9÷O z 3{M((wšxRN[ AЏWEOv &!U~zYFӫz7RA/ a Bjb]— uɨ̋D%Mn΂<F %bZ#4h7ddҹb%B4Ǩ]#k3ˣxҷQmTd?"ȨB@$LBBG#DS69CU:bH?= OGA2 ϮB={s3\\h ;iɽ9 #ܫrI2%-RI\ίO:l;׌?P*H(#t.0&xIl&hPm[XM#N0׿'3('N)*؋ThHg zYI"4< ?1?KQęa{6U+Ϯ] Z6"&XIV,(\h⩧e  0h _:TQBҒAjsk]ئsR2#uqGt]"RŚB AB8(g'nDcč%\EETTܝbHy H)<ѵyLiIZ/ n֫ѻ[M͌pnh欓(~ $0JL&لVb>3C0œr2dw/~AwS!gHj%ZHb oE߻qzw H^B ?1Rm$SJtsY쮦dz=i EE"m}97d2΅I4g5nMrx8dBP Սr撚SbT'M IH#A3=H-U_|6)~ d?vbGBYaZ"l4lx DD!ޗ^ytMW4|Ȗҋczڼa9KǺ䲖k: U;z,3zphh 8 *2F-K+5DȟBwqs٨fQ"CP F>#)(K06m﵅D{q*'4F=NK̤$MFۚTEnE'MJ8RȘFp)*sF IjB,hĨ0Q0U|+b*АS!!K̿awv~LnƼ|/該Xr; j)p%@Q@!R%Zc ydahG!~CgS-xMdE+V¯R2Aj51m*&i& =ฑ4M-,qp &QPZ1VR( 0U‹{*x0mrVO+$EfuW]v6O ж6D$HBpYH!^xzi#Ʇ,  -ul# fҘXX8av$" Ĕ^ I)'SdI 4-ȅHMCh:FJ\ N "(V Q E.inFz"=2Ce沮'!h\)#%}RU$rŎ&ic) &P{ N!"D'ȎSӎNvX=EM)aW_!uK";Ь#|FMo=JIa.Y9l yŘc2)iePe :njT~6!MZs % 8f½ނA2j{,GV$! 4tLJJ(NzZw>4w2eaM1IXd%"g|AsicA*H$5a\0EZ:L4hGŚ)(! L=@o= tjTOX cyPVe\ Od~>,]Oo_,Ӑ7KFͩNycV@E@LOU(UF /S# *A!ȹHh(:]4-?[MܨŸїI" R! A0ɥU/%eFՂy0`,\GN3P/12X ,nFq񩁾!r#OKMF@\䚷 ppPwY!+AF4cqcZ|Z)hbcXz0Q;DWC_5B2P0lq!z5BLbaGcOgJp`#7L榎O>جfq$'NZ#Jõ&|xX{iۭjhhW2iPH Hle3!lgP %j`8JU-"Aj^yحH9,#f2d߁C1Â?8T7ADQ*Ÿ%FR Z A7qA%kӧS&Bm Yi,WQ2庄؇YO+<%KyuLPȦ!xm.FAu'xAWYJ]eX!4 BSpOA^cjg;̔ECgyfpiY]Toj8!h%‚o*=jYf?fbJrͻ]$CpE^E=IpIuCdfjL . $sBTcvYU?4񝜿gjSK %5>v2\Ž?WZiw.u,Khit8 RȤL i19jBL#((Uȩp&R(җW6t\iDo´z@0Yv}`ff\%ay*a,g5 zXi?wKBJQ⬠MKhHb9ȁ$C"0JH .kTQl(Y!, ROYIUpOXIl)E',K9eEz98S"HGFؒ*/4I3tPkyaP"!" |*W  U^@BrDgPѡaқtY@DmΣ"YˢD/ݦJX\Q–f}+PќB?Pi0NnM?.EiҒV7;0@CSB Q&i)`b>*WjaQźipDBv")$. 8)XA]Be1I|WV7t}XϝoI-NT@ҀmT:+sG:2I5ru߉$3AmL{'%QA#*6N芬e% LYfBsɋ|{v0Ymvt˼Nw^oH@sRLAj7rYϗ i(LWcc2k$8R!8g-:3?@a9 ~^j3iL5H>EH9Lj y\;aДߥB(eE zoW+u#dmj;cɝ\GC`Ӎ;ƴ;pK%Nn5^ѕf+.! m+ld4mM$O؉#KɪSdf M"Qn~gk)iHJ{7j 2ϱd{3f(TuXw,B)ԉ^eY,#M43Nw6A yU=wVn3tpԜ p%+!_sjƾ ?Re 3^] A/;p]+"tڡdKtzF(Hv1fRY#*Ci.\Npq1O 2o>q-DE%3x79~hkMPF+ѽU\Rl!(eަgW/);OGf /6"JBe%Vw 4GG(h65 "+N+_ⒷM|<0$h?7&4LN6<&L+3}o.@{?_j[!HIjK M-6Ǜ_ 8d›U?%lk𿪆t=ٝO"hvt4wRTzZVB/? f FT ORFu tR"h9Fg\0肩]5  W]+O '؋<'c$  Ic_tYRaq]K^EG䋐D׼ gc{Sd"OH&_=!jK"YE[_u2O>[']Ь*#W$ћ!dV ]QW~pZRiTPkƓ076 -lKSgT:( :Pl=z >VXFI xsc(v6yZt'O |5HuT:4&$6=(LX V̸M2MZk* 2<*A72_N1\AvA1E,GJ!`M%?߻i9m}ר"$ ֳ"Ԫz$*ԩ@Μc>yY1)MVW+$HþT̿D>,OuL-Ϝqʾ)E" fiZ2drܰZNȦ!U[oZUNQdYa4ěz(A \d)` !f&x_TmDҍsiY!6g$b_xqSa:[KQRK, Tsk/~.vmz3'̼uO`1aBcPW ?Z^XEꦷv\0F*/ lRo4L2jvFl)o+ \-:ze->zRI.dAL Lj$fji02V w Y#k4WaQIG5敢1us>a6\%D~ &I@ r ']%BgV@.,L8PX$01Xϊ4sЖ[tl>L଱`:jI0vW% McIcir~ z.Mϡz[Jΰ$kxLIcviDjI84 F[WUhRcZfK5q譣qړof| b(tu0@loxaXYGhnHDFT̉[)rGG `}< 8#|AF%Hc@/DTx6r9Syl|C(prMe CO&*h6Y"4VWЏel z#: j-$@ذr_nsHxK޲b"J26hQ"ԵM˲(;BY6ņ:QfRYl Cf(Z^\W<,m@XCklIfL $J>!g|RXI2$EXLPukېg cxg,&=MƮT*dX :ZuAуGk08f I[s}(*a᷺)Mb ~j:jMmM\>fb8InʟSzzjj3C]7^u$frq TTW7ѯ ϓ*U {qa-XnwgP^b Ugr: c܂!Q&a_Gs{L Hzm6: oP%<^ifiKy] ɶ :7L{ad[.TuQ$艷sE5SXgUO:M;Ȳ] $B<&\?*6]G?mP މlOrd͂,Q.,&Yҍ e ,*BiB ٱNviOFO?`~Bs|_Ȣ&pF"}>Jzfqϐi|8UC~&d,"yL) ƄMR˃NVIAw,y|Ng/G %4lYy˱ggh e&4ʢ,REIP2*I;SZsRւ"3"[er9}M,TF>ކӒt)oNGaYrWrAӈj!:e9\C=kQug $}i`Ԅ:)!uLt"!"k̟vn̑+eB# 쪫Fw&Ί]3F J0;R=zmU28&C%X49Lԏ LY14t0ܚQTR1Qbx(p4@#20'aapm>&ET$AG\]]dA`[pc>~DG˸#A`k]M;(<(O fʢ=QiH.Be~r$IL+F̓?/^WD7X %pKmI(U.hMyFx}&*keǺQΐl%L >Ҧ0{),K--E@*dBO* \Š:X udP$&a}SJF2"蕮q'3b+ ZѺH0#VFb!zLx&Dĉ`Fs_LNV z7CxU*0dFb+DВ*ޖ7SR(,(:*=-Qˏ(wfdNo%UsVIbڟb~0Q۳VkɈ̍RN4.f xR0XƟ-x!br+&Iԑ[Qz ͝R֘1 'i5xzLTT"'of*_a@VBnx*s4:2 +D4/UNOf ?! 6f#=,T6"l?$ʹQH?D( e4~oS>ĆE%!G=Jy0^ ̤>| xeгAq34|Q1vRIQK|&+{dd`kp &*O H2FVL _Go\ ''"ItOثGRM$(bj.1YGOXG{Z3/vAi)jwhvꛚZO%hJi+;Fܨݒ#|SQVgd,w ͊Q.\dH.Z Bݾ24ԉi( .;~cY{KQ{ e.@Di\(BN%_#/z#yJV[QWYc2`ەi+!j &Lhm e !y3!r?2+_wbnbG>ڋI'=fg!K|?V e+>C ?t f.ܦr[[zBg+/fD"1>ݻ?_.@FEllV{zA{j'@U`+FcRrIE.@Ee_\ i$@ǎ_hցmNER . EKKoۈE AD/dQ eIfhJ%.z|ςzsaDDZ 3媤͐Z &.reΘu$ ի:Wlw qUyZCk=ղ};7qZBru) EkRt!nZc8B,BڼY_ԅU^GwQӴ_a]~&a|rrkcZǍ赥#ZX1:TjCTE:vķq/ N.W`_[ELt^T٭S.;&AZUxXJ[ҳdaV-mijD .VNiAD>{^8:HI <4󆎦jUi3=i#e+{E"?3Q""ve˪~tbaldztE׵Ei^LB:1 ɍҿtǨ_[^L%B^cզwvlQzj*:cYwBڋTfIǤfSYhEE ;Q#Cb ̩fLMyW{Mp20_~U"V,h9K:sJcrBJ9!؄rtU_ "+bC -5+ D$#v?I[_[!qmZ)8,NS'K]6uRke #bDxeC-!@7] ]aYw4Bo ^A։zrU&֙|K_bF jGBT5sgE=JyTd#yn|"S./tYUy/(mcԇxRsׅʻ6lYȑhh@l|4U|@-?c/骤256ɚ ێ{a0V%gٽZdʒ[^VMfHOiR[J^(!E3fZNgmO\쳢pHx솟p)v"{V:IqN|l$^mm?A`ƌH@g6,099FX JNqȐ%I+BnCp+CYp1JrJغ\f~ Jk2͗y3QE } )iL:(nY0P @QUh},  H: Dc"q'1n~_k"- D@jhWm@;!hAKR3b9cȐ%#dӱ1 bK~: 4Bg$&^>Y^K:U.b3Gj! uUJxȗP=\q)Gݵ 0Г_^|M'{PY&$Yb/KamOOv}{ԋԉאԹ>~dHUI@T4#rB'Ot]0@]JrݛTÎG*R+Zfm1aCVZmJG%;M>QI$A5K볠򞁱qH cȮF(BPkMA@jD3P`E2jסi!3Cͼ_xCis:(/y$0&6 ҥ͑} BBT"AbC1+ù$yE6Y2 :e)ߙlcZ']%M:K_~>?GD8{ ;W Ԯ tڞ[gb mJ&eYOYD00AMmK!tţ4(L gD!Z(<I+J^ ?aB@JOEJ*nnvx^?&k(*JEKUFD0.`nES?2Y{dDIҦW S`BHdrSO#sBii&R$b0#2)ȹ=蠓Jɼx.lG =CnL- 1D=$, Ř^ښN){̺ B3㚙ڋh$8HɕYK$ԂDh%,I#wVk.mv`^Fbm=8A9*屼$3TWX#R AD gLE1$v`bh@0;K?vBemލJ ?QМjӊpڈ/KBT vS[yRL'&z(箎 "R ؁ȨKK#H4WLJyH@RWs+S&VA_4oޘX;mz10*^:ޔ}7*@::BFe:zf) NwFI>Q}LgHՈJd2O2}bA4oԧ  庸VȈf5uQ3?\o927uIwbݦȟ)]ǷG*$ns4&'*4IHq#dÌH>2>qoArA[o!900X$l0D(DLej9pL,V1SzS5D/^4|`YP(K"M5Y Y_@o/=C%(bdr:-ĺx$UC W\J8w29&j`T <֌6D'!P;Ql`M>lH02a&$'3w, ^ñwLaChY%W"` Ƙ]ݟį786ebT#QDJOIv;:B #JL&MAd me^}IB' %HE8CTk2KB4pcd8!(%0sA֊Ț. +(ETR[T/ئeh\nHE MV>y7G# LJ RHV:6$5lj䅮sLH3;ؑNUq  3tՠu&k&_x\Ha XT@.yb)(&t6_|.[hL m` C oO^. (ЛC3E*z!PdtݟlOœ%%JAaC*AMaqL<]bXDڱP -7<էй&U&<ʒF@o*Dʳ+-jCT퓨,oB^i>;[t[2ɤE(0R벚<:tL M5_X9(`-axH%Ŭg׸Kd.|M4Ma&D͆|p0nABD eM~j :j[gD~ڷP{I":aEB#Q]$W;@J CO?26$K5byXTG?jhQy:2=mM`B)cBzr޵Z.pSrKl*V6V:DL8ڟo   j6Bn(LHhX"7Q*Ŋ>} t{գDTORu^^cR-4"W+(dT:BD!jGFyk]m[O*T龁}kB2GݕRFZ<6rRjiJe)_^e`4a\ˡj` JA[ԐGe_xhs/\JۤOm5& 0"]SFO=)dl}W!4mD;Q*@e2\.7vҬ/Nf۫@p w)H,zX@mdB/S11=⼝\+@QvX_3++<= Yu&3^l˨񡼖Ȧ$fjD2LӳT-JVKaE'64F LC6EVUPRN-d;)W+v:1dݺD#U#D U_3 V!H5d ]Ҕ z um8DCp:2$"с.5]yAN5-~LЕ01Bf74$AuW:{h`~=h pxXGb>gj +$zvQ'5-ĖRW4*Bx?l" ߅97NGt"t#L9(7Ɉ̎[Fmd{l(턻D7' !X DcJhȯ|M}IL@DxZ˱j9TttE2b( yu ^lB3tkx+n%!ST.e>D}uTis*NGJijIFb){k5Jm6FTt4,p+|EtS=!OiU~5AѲ!q%6a]P`V0nD(E'86Gt)DMbY5וgD:4UHgIKթ)AIF|joeZqTђ va[;HH&; %BQaM[^4[ g6>Z(UA80 ٵ K%oHPP WV1~ Y}rGڌ/=m(>lgʬZ{$Z!iuB"|4V{{}NYM] U^mSzHsڽ2l@WDpZ =H=_2O ˖iz?%zHI3|, WC5"16֩qC"RTp qRoBrm Ӹ{E tBː6 L`Ba `m `=? 7 hd_)ED[MXBiŽI-!HT%;++|FF>;"H~𙛥D)#W/Ef$1 I)mMF# 4̺7Oʔd0.-# m/Ԥ- 蜰6w I8*9pW3*/Px/oRZYGKI8vfO#`_HEuϿKV5?Eι-u%6.RU1_PeiEQ**iQl Im\V,T$* ,Hzpr!- 4]X8"+Tv%nJ6IՈ+@8zATZ }YdnԣUAN \\Atuyno!!2=aਰbD eG"˹-E%׌غeg2Wk h]8nEbvKǪS+8["L 0cʩTsfR@N@垪9%_vB֪;M < rEoVAp&:8Y~Bwr!Pv聄{\1{+l fQe90 y/>yO7!6 C^l0q[^:KzL !wC蜐Sn6Q*:K"樑<2C<O|qa_bivq|GF~{S H2<tAWa vs,JӴ81]jn(o;GYnҫ'd2Xb.ȉy2E`*ʎiT,. BC$n2r\WQsKJb%"z1p%DXH:g< EMA(~O]KțraWe 3\u:kN>BRYBx:z\$ .Vd ᝺Rid"҈B A ݈ 1\(P CU fvPiymLfe DY-j51 )-I z'ۧ^)LW'(|5/\B6o+pA[-M_erFlE|'w;X/ae`x҃яLI(a0u|<1Uj^U($v!8"fyySJEag"d _) YXjC74.BFȸLTKRx1F̊&VduO dp6F+1eI颅_l>vpuˠƇK&0'Ԉq*c\h.sC_OZTacYF+* E$\*f$c`ǨW_Ks\^k `tf gK]app@Te"b$K賗JFEQTؿn8.[n^6S(l>WȎiorFA2>m@^~] ZWGphx`++Og?1SZiiOvg(U2,EDOPIT"WgaѢSm#-H01.jVFX(p>x!Ĭuۧ?6KTJH:#џQJm X>*Qws溓՛ ٙB/榢kQpZWm߲Tnt=oL5UQP RrNxCBcAp@D4Àh2 a&Bc_WxP_.{/w'(8 t<4^q0B1e*O{ &H r%Wyy3h*.QOHKH!yq`w")z߆x%"&v=Wd@Gkɫ6jG%9ed5rpvaĸ)F r[tНYIUk'iY]˻{`X[} y=Yb|ɼ ۦMU^7d_8.-5hrSeuɰҐ5aZPEhu ]ZI&fmW:V\$ KRWo1--N<:-ՋDȠpDM*g3Ry^}j@%梐R*feEƕH4U+A 7KurjIA+l2TMBmOHBB^+YV,@9o@O0YX[#{PP<1Y F ziVcq6uӴhg` C޶1bQf ?- $r^uv s٥koxeg-[6aZinPMreye%M:b 6 z zJ@ZOr4@AlD[;ljn^: dQqz@Z}s7K^zi/%.q 4XnfYf I[+p05NZtyk2`Bv~G1Łh oV|O؍aR7M(bΈH 0LxH.rw)].%/ZkJA>vcŦ{*r ~E<'7%Jؕ+k{rJ|7K7ԱaZvvjfHc4;/tNNda[ L,>v,ģ(Ʈx9FV T08oWz]Tknԓ~ H8G(pSxVSC1M.?*>~KH3:aE˂?q] HWG"(B}H؃K~HپjonmɊӗMt f"":jL_;#ccX`Gs#Y{ĝ-dQL\;BCsӞKLĩsZQ46_Ѫ{(iꯚ`f-iBZCrd*7Lz?i4JQ)GeU!+qLyQ erzGG"$h/c~dƤB¬(3  Vq\/ qG4#Pq >!کu).ӆ'` NCKc 1~'דq6+I/73a[t6}pNĔxf~;7YȢ> [nʨ艦"º7F-pر, Fi#wMMּZb 9.sV%eKH-Mc׿lRYo'_5Ň6ɳ#*bU,MraДX]D[?^O^n0'~ȮǏHyҎZ#^!u=#SFz^=#;I~@)SL]-s%5":f31}0bhj{B 1B$j> baNWÂ8)D$KAⓀNCfXy"m$w{HfcOKAh64Xglہ2Eqׄal".Pjƶ^в#EՒbKUW]p}]PљN6Cai a%*#w} ?OV]o%r=9Y}1l P.lf侬ёx#'7hV1/Wu O^քܼc7J3%.PS:Bɓ%bw/ݛNP)DFdK_9}c.p=f5:rRl@ѠeLi2vonjPC~9fgNDH}9 N|zް~ϐs ",:$Cم 30=.]G,ę:A̙ yX) 1Cs7z_Ss .acMX9Ҝ{iz&eu#t^'Tl*$?j ByB(]\vƞ3FBsQGM cTIDG;gGKnJ 'fkb$(V&춃ڢw~"Πv,g=%?JK/* Vfad^gR}4|`+ 5>IEi#[dx ;.Ju ڌr:#; _;X\*?[T5n-Z(zQzF{mfV 2$} uҝ{* wk Sj9>!qg2ztfS8CH{0 ΎKź"Obb$#żٴр"u#X{DA bn&-iT] xR.3jDg$P@midJAѲ͛]0щV`u(Nc(/t +d} 1̧֛):"l?}3\4]f#TnA ׽r̖Q]>+~hgBb2 5m?bL@?ѭ&0@VnU<#!0%.VDČ`*r&'OLrgiB@āi$uLNd4KfҭXQ$%Zh 
foy E@?]HH&ݨ 9KʪJ`5`"XH_-SذHgg"쾶HpzP-&_'&ǦD*铑 jeRiI^3]V]G4}\Y~ȧ\aŦ}}gtYKۗ!.FW{W9B@xnsǩa^C?Fp27D3"Im݊6f&ܠ5f1@5c<ƋZWinJA-dQ9̓_'dM]=B ƙнIflb pA o̯!{ժj!pk֮;хr:ToN˽tE r/(]Z;I .K 6 ^%(jslBWS"ZdG_B `S -KoxR=_dJS"GG1($8-@G-C7Ih '.  2a[#&^":Gt媱!}8\|k.0(%(̝¿23TW=_!'BTh _<-ǰ)4'wF)N4s8siKV:UOhWFF}^uxPq_?OU'ez !$3dsW \/&oʢ7Sߐ?*lV.ݖ,Z%RF3 iAiaOGqnxSFAdInR&UϗZ@@!36$ȭ$+_(iYb sY߆_T ͣ,㋸;l>A:߈H$ NF|X0%ca R׹GS' Ѓs(4^1ˤW:0iRoЋ)c7! ;uGOnk觲 bO1 $jS[cb1 ψ g BZB{\gK@L_Eh2n{ odxw$g<^Ƣ+)Dd u@B{-\lfFtˉу.!]2S[BTKٍGJ'vij?!ƠH< lbڝ3 _pXRRRsL-D6 \Ox{ LB-3&@<$p[GۻՍW8`|zS؝lTZ ۷c?Gq/lMr.qPʒT,ҥ#|&wXɡ[4zw,¤2҈P@Iana J28@^V}j0od u@F`YzJ!h%=^+vKmԐ-~%dG$-1b1RY2->VFTWALͅ Yl,є?[H@CnHa zͪkɨ̏VG\u\E$f~48=/`AҌ˳2I̜RBl\H6&sifRD5k./a8W2vz(/S4m)J*#y%glC?@,$0Qg?꨽6 SYX,N\^;}O(E}Z T6.za79&ҊrRP!ĜfȄ4GkWkqON)J5!p6Xy=bvl\lc_֍2xDČ^HWίJ + ^dDl8dX2@opӂNֆ@4/;5>zVz$M/s>:!mH Ǔ1d~P[3Y# AkhNA#sɶ:LivUj2:7BjTT8V: 5YT{# F26$U1RpS ffkЍgɀ]N(d`]Ҿ)D,ɶe)3ApV$Y?[6.he*9-0,UDP+,ELqMԩ JoؖRSJ 3KJk$&i:iDB]'G{>iO!JRr,a?ٵC~0Xp@9$򳠙qty_q"2Ꟛ!HX+87\{>i@ELIq_爈 vG&H瘁rVDuE}Ll^P/s*hXuhGAcHk.#b_ !2dUS6y𦚵 mB -01YC$B1IA@xM~ '/jbBSz!z3;ڕ(uo{w%b@ #u`&iAز;z 77-4EDG ގ[ * zɯA}W*8Xzm$b4yHl+dhj/k4D$Hh"F1TI W"po"&(K6ryR HRGDNΦq2 U H%<!2耙3y"k$\DPTp*ϢJ<|+zX$+zgup&lkZ ϐDoąw DRF`IFNSd1vQdr.(95GQ T:Fifrz&$>9*űDM1ZOR '6=hv' d=;nd!*`f<Ɓ7l8#1e;)X!2TlAY} }\5;FUQ+ 6Di :r5ƖXJ0b"|o;0"p*R"OlC 錥_M=0!E-_Q2$28n$|K"rRCxl 9lCgƏ^KJ@P*a*mw/Bgcfd֓C LchPvL 7pID0F"Ye;\Xܸ +PZ:d,J =7M[V1ˊv, "lr2oP2F"$*jCC|-Q-Cuc)@ v?;Sn~o%Qq1`8a6^{Bon SilkIcM xl+0{L f+/׳4G}2-{C,[%U؟+xmA˕dՑP=|eKJȜt!P'mHBj5 bg_dm0k:&j.i}:iی[b NDŽ s\ذo❌NњRey=]M*Љ0MQ%.UyG#) $7d'1<'n}ե):/UȊ:L>s9dtDU@x+BbV7ejH+ $ejDSbeBLv\&PZ`d!i_xr!&n3XZB e5@:o^OFWo(l h#GHp ü:ʢFi=#~Ts6Y)UYb_1AM BOfWQHYSf܃ɬzy}I2Q3f^@=ئW-,oOz}Ec E?\y C 0Bk>2\6!0"=n9{O& @(6X7_-=Iod3 B)h|Kyͨ ~(7FB~++RB4vynI S,hk]  d+ԟP$W)^G`AbD͟H0haBL5e""Ri;d݄u%;Q>B MI^M iAd*E׺U/.5r`L{ݷ 2 -hkW"-Ht! /^D@LK%B*=̙BaOf@f jAgc>!\k|7mOyC膋.AS^ʵ $EMIjnӍ:@%tok1`qEVOEu sE[@"0BH>D,Y7VBF6¹Lqi).Lg"yL.X,<rCawT'hqb:}uhESRWʲ H&(}Q۷5__U)U!WFVSΞ>~OluZZsS Ֆ,t0jšcRӦV4PB%(pXZdLTؐ6A)L]9i%=T>I x3dB;-(\H &8wۉ7gU0?7cUs%"ȼ[/QmIsS"dAM]Ak_ w^ C*Q9\i4y "2a,*K?r)VU^FD~_ QzY6H:"xb)K.FR^3¹V^`mu钣쾌rZs2w~dDA`j/TEzѴ 4q3kuoji%rkki%F*TCr\XT/gPWB_0ǥS*x#bYr2rZ>?BUC(mQ*Mph N9V lJ(`j*a@8 J<>'P~Rih0ISA @TAHW<0.6 U ёKT򸚛NĻ {QY1N.7Tʵ$%mt^ 49B:"~~|+ыu5>f(ڲ濪1헲*R2Ylޠ1(-̰_<öI[=3h|Xs$qi Ѧ2ׁʻ ZyRZb0ihٵ|+(%D 6LTXڷ"]H_u+uD̂f$,Wߥ#,ȗ~ҫj*G@95JQ9Ÿ%qL@sq z'eeUݫa/!KCtPO1JP]|JX'"V3<)Jkڞ孬}G%HfDHrgfbJ:O {E ޾JE )%"OU)ŕ!!\̙t 3peY\Bj P x{aS5Hf`P. ,h>#xO(@-VƁWLlq`@|`%KTK߾?J"bB\נjtat4k pq}C2%7lHȐVp.)X+J*2JK\3 SS=OynX/c{k b~x/eU垦^"OEB:8 <EQY=Gr[| vc#Պ$ Ѕ "[^N0%EQ-cXп䬢חJݝ`@2vT\3{|O+%ܛ TKF$a4+JDtN MV`Y$UE"XZ<&x"#w2$#HNBm<[)EJDB '`@l)vb DTl+H\"xF/u0@@ HTR,^bss9b2,nj!EGLa _w["qO-[;&6OȭӖ( #" ~HNè}&354 ^SrNV1 e.llEX~?HXJ(B6*;g6@3)a%#\4|Mи'\R^d&źuXbĩLdnHߋ43Q&Mmx8Wӱ"g$ ffS2*}DQUқ+yE DIֶCiJFqRDAqؐشIflYvu8:@/ -PPEH^ZVE.B^(rxe_ EUk8"tt7 ne[,.bSQ)/2d@%N.vḀ^L䌣[i_B.0Oizk%&5/նgVÌ?2R\BTj ̹Ӌ,UY~hm=Bw?\AiM˻1%$%hB۲4!D7ˉ{$iM" 2)<ჸ^D9FQY&_^DSwX\ۚhWd--Zh!7M,&Q4`[.vª "ZAC%&p!ΐ Z)-*QkX{BCjuh\ hv#H?dp &mb߀56 lPa+(l{HE'EJuC@*) 'HW @I 0/nZ|i"Ѽe{JYzu+~# @"H#Gk%ܺ:Yyf \J{g90vKRw:URk*!5M_DA)3glB5" q*mH9LՏZ3ifV*+L[6J/xza=ݦB㼄e We"f^S!bH=Sw8CӍN$9#PDƌIdyFx{_ͺT~@r-U]q*b2| a-i4:JY V ؋/|ڋ!QNGɌQ#>h^1XȔ761Q~Pȡ7q4mSDXn-e3!&,`wdu#3n.| X FJ,*q()V?l's0l#Q*q~с+Z.0I1 kG}P :t6)CF/!1f+o"yNٴܾfBU JIȡ /VWfglNbAV,HohzՆ&rhtU|QQ' ϛ#BHb1̐׮ĭKvMp*GZK`.Ġ-pvL byH;,;B#xŹe6RR? ^c~h9Z|R}2hb|C֘\DQ{-DE22RZoE@!Dg dsD]-Az&S.h'zVLߒ,hS p:Sy8T+WCL%:%qC)*1Tj}Ϋ& nDȋ.qMF—-``l9A?ġwNX&T^.L6r0XLgo@Dn! PiB׈NK ;WE8n("ߧBO)SHEKN$4Ǻ_YDɗ H;TH )/{&%]S}#X8Ɉ̐T K RuL ~(ثd.8!uSU_YV"oɕ })?R(l؜N2a&$2/Jmrh&H]5"EjGâj‹>X}Tɓm^"B+2 Zv]b+_NC&#_m|lXnr>-#ioUwדؔ l$̈=NrGW&w"]$Ҩ(iĨɩ^)؟u-&7/v[Uӡ14JODsH*Ku)_?.@3;y"o]ymeNqjy, 1SsmW IЄ$8enFKg{(NwG/-RA,x&!ƃe$hA q#ϰ S// L?ݩE QgB'N "h:c™HqMkg؟< '΁=HؠNDLȺ^["QV]?lFl*+_'e~&l-L$qKl.+@|ꨭFV$_w3& Hb!U@JbYIarݳCZR1W-_y1{fWv*DT_0Y/ʼn֎iBnI3Gj:|=]NrԷY r2韃BW'j*۽&XK2K@dxRºiFKg̶q}~%MlskoeY_fǩ /Os BVW:K1bq}f2W?Nɢ+BU^cH5hїc_4[P4oQio N$8Y0mZr ";1uԡckm&* ]I+'u^!犧AonXLiKf vd ]Q7[ȩt\`$ ~Y'ܼQ5(Ѩt]u,qTBp/0ECUV6[[.-n^y%j!ceX-֒)QZ ,8פB`B3#ۈU VY+ˋe2Q,RIJ@@{*lrI435_Dz00w9SvR{#tMmCOT?~ZrV2.0O<`$,` హexTcЕKCZ}Ú*Hy&o,Y֩8)s ^e%.x~<0eVazݢ;!#爐O݅b@?Z"Ha5?7 $u`5.|n>r@ss$I 5:^$& U*$WbLQ4)dBLle?FhEtX\VعT.JICm?(֚:wI؋6s6\if33]':M1*?:)]J]efIR22bj_ƞG^<2#~R :mBZצ0ýr^X&CR/!9});l(B\)hE"F/)QO>Ͳ qA*QLJ"RVHWd0?NJY]qq=bgUyf瓵"^`"nX>Xҹm2\"Wv8R}%А;d2WDki 7l>۬dLfբGdt gN+C׊-JJF(=NgyZL^iC&* 5ŪU&Xm` t7V6&cM2tB`ØM+ s BO~V, >Y7 /q:_?O$?R)E|9?(xNSD."Q/a\RzHj*[ BQX4%d?!iB?uX*k?'~N{+%,.PEiww!a\(0UkK=_םh39ǔhy~ιzً̔<|֟&AV@n'zb'ύVYcGRt 6.TZϱ($NNK<~ryNYn(ؔ]ԕ,T=LEhH"-*-Eʔs1x^z*VX}#WUKsr*[3R̥ZG!7vZ%!H" S ?Cg6F1[Gmo̤B"ґ?PgP^Kw,#N"˦bSzpbY"43w/Z v̓=3+Щ7ZJjפ(~3P'̕Wo,K+x(>w?RLCawpvcPl))=!_b .z#vnȖ0#I ɾtn6LtQ6{@VvOzzmMIf$S0l-НtR'}Gř/TC7k4,$ Q}0s(-XnH ?s~Tm) `~a*l-1<5W]1~i3t܎uZowdR}5{)ozKGT k^mMpd!'Fl'ߢ-cy.h " : ~ 5>2_W 6QC Ugpuh74O4A9T!h)"Xp-'+S+"$@|\J Iu!<`/C•Z <\`LYieE@' Q`H%/91ۺ XIGdjC(`=gы=t fA|VLω#e6t<`0,O˻|UC_6٢cīBM]T3Iz2{账|u-l}hҹ\;4F%I4Y{G)nbTڭ82e歋uCAC,U45Ǻl[{nn~Y T_D/(]%oцdrF)GZU&mzB%l|ł !"+*/39'&=o> Dh{9.ʫ&gl-*Dh7ܱj$f6=PNnX.ؾwTxgf5Sc/*,hVh-9n6B62jRql#zۜ!\)bL?Q2kEx."V2]lSuHkIUvKީ%?˥pcoCL״K3?t,RV ,'=pdJ?c-⁷۠y.}/ `כ-F9mߢ;#Hf!C&Nri=vRjQ[k1uoQD^ 8=v7 3 rN#ZhwXU"+!6bD t2/n'@oOW^ r!2ÒPERGxstj9ɱ\WCq>;zf`S U':$Q6 cX-[$`ãQB7.N\r5z;p#b{FׯEVZy3a2FFQY#>u !gr[ҫw)B\Y:f*D?Er}7lLwf:'2o+r$ {ab~c('GerV>N<&'ܭ:ˊ;c[HQ=h6OKNU[UEC+rNʲLP(YW"'JQnDlr.AaN;|3"Dha0*`A8-%_Eo0s UJKhmƘI4XJnȘp"d~ͼ8)9(;팁pJYauV m^^BlFxRLM"=ӗ;BBvx$Ŕܢw$J[2ҋR+$n|%UA.]SYW-}9aeSfIpyԮTFb@>Pyn3 نnK3:icxj(p|j`ƧeJJW,j-%2׌m}S f!I5Ί+kaXϮ$T[Zt JPŹimߪH_: ?};D,{M]GBFt2̺T+~)lB$0逰!u.@bBӜd}!nS2Ոtj  5 9SU``mtv+ _Ÿ nE`z>b~:;" Hҍ.0ɄTqRLY-}K:KtrŜtɟi:'(~]W"AJW`\VX>nNHULG lF>7FJLW (igșT̵h*nϔޭ[v{Ji_h(-ŹP3uIu& 7~=|U /43똤f3;O=9QF-ۀ"#EpҤ *Ny *njSE)j%d*U=:\/a+DJRQ*NTBRT6 CQ7+Ey)ىU4Xu]V7dV:_B,&LB $ U`d9?!["DV݁S7צ -X>$@bo nG  kDv{qy~%LaRȒQEdWA:Kk#*T ,QRo~ɢrtRX+.OT~=uV߆.CInӋj. +fЃ9PI dk XJ^5mzEɅԺe0A) "TR[7s t c6lˏXoOeG 6?GW1H~!)4xaT6T%.zOUhXDz:W_YbQEKSE]4WC1%#vU&A ֱi]L*;#A *YJH&s7ea"NW%0f@cÓ5 FRt@ {ZꕆE#ceH2P2ctJc2dtͣQ2N=ޮ-&~JW^z۽dhu/AH1Nsr#V]cNy?ߜ ȓuImB̫ cN$s|`֝}A!Ƀ0'ɨ̑EH&\>@H!в߯|ƪSTE t"/,V]`AT.D]өk̈lyG}p'j" NwCF4gkVvsOS-Pm#*62J,jYFח'KQEΤz-H#|4tҷ?}&%HV4O bqMW2 H d+sʹmjo=Vy[R| )Z][6Qoq*QSƷh( BTq4ozJ->%aGb] J‡QGBotEEt-1S*4hvfٖ͚8 Eڌn$<aJom:ު-xwuS}e$Zu!댺1XJVdBRZ~@ح 85<?6h,3Յیp/!4b҇>(%ͻJVtPiU8yH {e=QPyo i |EʐI][Bz\^)8`+q7ePZP?CᔻZl J}Y$U3K?y)K*0"H{s@b> AqK'B!HP%neSe +XD皹eLEU3u,b |yLvV*#\KMcvJO %Z%IHCR;\sC)Ufo x#T`eBWREӪ.Q'MϯT|Q& 2L 6Y q^봧*&}B!SA+?i豉3r+3qAGMBAJTgR*TXkyf?=v,Uˮ&" ~!,\h+Hl3nTa҆hwtD%&M\zBi3#|IQRF?zC \/T1üjȤ:B dq~/v(uD+hK7 fNzo~n GwYHI7 '*_`!桛A6LjNlјɠ{n&!!e;g("V>Eyo.UxY&hP&58HB1!xCvXjZ̀egB8JQ/Jm,UBkTX!ZHKKoMI+b@Sb&(.pR>*UqASRHA_IR~2z\uCq4mC (h2Jh$:MU&G;Dp:9*t)̀X+PoڤD’ Vd0iaq/R@9b1ɍep)yڢF~#߉L6D [LRUlO+Dحԙuja\3T׳0w'fqƽET%^A_1$?6D!zVΕPyFИꌂi&Gdy/yj .-alIHf/=Tz-:e11 hPd\br6PQɞz1.ԪaFE".`&KaNOLZɦuLSZ{ݺ}yC l}s4~[ń+G}.+ؘ!bXFdEɐ'K( ltV 3SrSXmbu3'As!5XԯDT5Qƴ[/=gSgDRC/Y+# e/!k3xJe3\ Ub8]dRAD)-RBS$ 6hzr&/i6:<(8PDp(1m0j Co  bFJAhDn0~ p*!VA@025N;-R%HJsQkw!CҼ+lNa?LOƏqD8> !p*(3${wIResR[2ge{ݵB\bVGD1̮؟>IB˞Gwu!8v~DK[$VbA$=odz8bGbȒegDυܷ>'&R qlzQNտ{!ԬϕޑYoNV=,`%q>H՝xP)nd.U357.χr8E5GFY"Ye*ؗxOհ,d^dbM3rduN1F٦QINܸ@­dIfE2 dV(|TLD2t%R?J~w .yp #XML")<-c< @ 3јJv}B٧d@UZP' HQ_ Z5j tP_KG 3;N6p-ܒfB= )0/ۜtݜ#RЧk-h7J BjkKPɊ%13uJ:u1ߎ;BIOb%D*0K&$1vZBcމG Y$^ueDj*IާitJIT@d 6tINP1A=2WM h$u]ɓ\rHKUuW#MQϳT܉BI\P *߾K|(Y4xA9cUg|=]NxjyT*O9 kdF?4> TKc"DT^Uy$M1gf#U V(" mu8/;jQxYzRLK)ao:.$n<\ڍEV@3XdDrV*d*}{`kXtu;4hoQAn.<^Ihfh{<.䀕39iTy|0b>r_iyѲyo%k5$z9.O^(E&(Ӷɯ5 7;CIaL:IՉUnXkdz^x*s,k_ > ջ)/J&Nz1Yq?&I;=mMKm8=\{^ϢL췎+* iu&O;]@u5|T_36-Nq#ٹ2JMa/`[PB_rnc`Ԙg^;|׬UA^c5S޸ae9BQIܡYTI_#1Z.R -$κ,~U9J& .~B5?Fd܉0]ǂBa .(TNOR!HwAyDbSBƚ( Qr#A'Jh1 ˣCMh@M Tco b`]EUS A@U ͚7"70d"C:\礍r!MXbw"B e'Hp,$ݤZ/OQD IW/%s7F&6GkqTM&[B@["FǦlqB0'B@ĥratm F W_<-< @LbV! eu`b巙5BScx֑ I*< wlv "P|,{b6ShD¦'MH&:^Me)as!'Npؠ0ܨ%T$H)rOƓ%񊪒p, "\DD|$ l)a-0%R=qm ViࢭnC5)m,< jS ‚I :'mz<WŎy@E\qw:B.*FAitd !B;@ڵ lqgbͺ tOPa{&m 4KK.V!~ȤA員b|LRBp^E:<\\_ObHT@T¤@dyUIi(zhMQ;fŢ&CɤwvkG',"{DRG&ͧѩ&q<ױJLThmD$@JXLXuA=>y3ň uP!ʲHJY`?O \hxT]l8$LF] `0*Q$Gh(x: -sգ(His!F"4Ӹ /3i$Μx0 (, l:('q1Lrt!M{'G21BaC9 >pBB%(@Cn~ɽ@ìU <ڈlã oJ$ 9'% #ڻ ͖, PX1]oGc pNPcKl0yT*ĆkM&&Ɉ̒TUtL/FtTޮmv'k_QX u"/}B  Qʒt֧!HO+??{LerZ*&LEy=ݿhݤ %`ztFU\ IBR_kj:~|[ %V qy7?Vzv.]yE [jgy=@`WhΉ %ĝ*% 4?Mike?]gqCE[ALKY a{%Jp.TR3oqZZ x^&0>pާ{rUCi=PPV <ujvy'"<ʦهWzc\}mTWߪOA!ه I[$RZz7emNk]rI+xTϊvߞ&Y4QZdԻތ_Xn$:>Ko%ǟwh@(4u)t C"6yͅ$o mKE#ԍ/lyRĻOJ'YZꪠMغLu@Oج"56?0V+)®"o,cZKT`օܸoY BKI9RH0^#84#E{ɗOnL8cy4?9|ΕcN63itv"ﳰGR!hѪ"1dl!.N/?F`f}t0VHuj@'ЩjOڄd12=7}.-!~^U9,JFݧsf8ZXhU(cUMu 1Z]tfKbPf_x!IN:X8H^Vgo!RBۛ ZgU.;r_БZאQ=|+aT`@s[c__Gd P} 7gIv~ȯYc;#B;Wn,53p>+vkN}pl$ݕW!דW#枒J qq\Τx)Vڬ8&CGOC'=4uPemS *v:){*wߐ<ϊ<*ׇJ)p).^6EgZӮE$?Y[+vL\9"h,v=d)Pɠk]} { kPxzvIBpsF%yshLN,X8(7/(39ȬىBlIW ANaW 8TUٟd)J|/ `Psw֥3E{MxAt2TX1oSl7rX!+"\t-=X}H kp &BgjWQka7ݡ3Z6tY[! E *q7qs$gtTpS&F``#!C%s(&,YYS"q2`C=]̥B_[5܅l:K9nm/: Vvk"Ņ.Otb8( eB?7:Rl"Ip$UpmMɳ6^acHz zm pM i0Jw!Xj G.t7)R11e?)}4ڡ))4ͯWbVx]Գ')1j.fR@7,y]ɑ]h_ܞJEMcCIaL-(d#6B 붝h1!e #ڭRTmvS,:ӹ\|DﴥXB9],Z:$I_UTC~&7ud*x揞 u^9 EJ"II(`>-àIgzxgKΚ4UMc󊪤?fi |'AG'U5U@=[NQ堘~OVKM>va$C{u6X&x_{YU]G[.$I!q R/ؒD"IW EODGf3!W%cBH}\ɏi֋ka>FһO3Cdؿn{X"*M=:O;~v4dt ɪ;A%7)ouT"'UT$5n:BzT ŹCD%q7d^ދ_Y딞4Do̦,Aɧ{HZq8N. 9^+RdxiLe=|S|4^f$0p?)flʹUD@aďSy\/v]a5131o+J9ij21 ^^:B1R;Z #^V.|! ?Th }3(*.mG "%T"d.Vhܴ^_R)}:8X+_C-=&AO_N8.F + <~ssH/"cj"jP4|g ^˱pC wި<4lTE@-*!F(Lrn@PЦFKT,\/CDm?#EņŗBaC(Y_ LF&Z<r7;0<- XS﫵r`M ?1#*,Idg4#Qc͏g?gB%cț9$Zn0򻛧oS59e6wSJUy;j5飲ؑqxۨJv q)`DkH Ȗ $sQs%*Za e@(?@0wiC8mN y njFHJI\B`jh>t\i !x|M;HN&j I2]DkMӬEdI.٨ؠn"%(BsLv<cCɺU*F͆ KJItj\ !hNïtݼC񠵲'<CuHY5qO#$LBQ zID #*W-:ahoС(m#y椛 PaVU SJ|AB1beW&\MYJWBGH7\bӤ a A2:1,Yʎ J 43ad؄t{ dy! ux\F }Gg&Tb,rӵTLA$e;j#(0)TI)u(j+' 3S#!X@؝JGaCƫ|D&X#}/z.$T>BRƼ11DEH%(BIH8k0̑r$C+,%aZBr5򢳢hh}Vr@C)Y+nqU9K 4xk`0(! ez򱷈b!`*4 }߀$6rk5hxC C`uq/ ǜcw+J0G2l)RTsFL1R񠱦UHeH}sI'!Ө4St/R'%קDX[wYkZ_is&t![Iũ=)HTPW9>>פYREm^6j/Ñgc(RjݶM!no=XlJՋ0|~/ȩz"ښ a5 *]s-W,A^ bJ"_bzAiviua=sǕɆ} %"TO 1F뉩z.5R6PB{ՐQhO`+1,m(fԙHjnU/U/͒QISJ.Z~{ҮҚˏx`jDM: W"e9}y`3$= /Y_{q_ r hΘ[~HJ̺Fs&Zy燇efg{زE|EkhљXQ0 KFklb,gIЅsr.Fqs=ӗU ^uU( *ʥ)DvV%uG*d}Cb"nqYI>N|iՁ2^A,]0<"m(lNagei*Ȋ̪QSx/'_َҹԬ~Jep[ )W'(h;rMlk͕4$Thh= ]kQ[EDҠbxNgQVQ]pnC[$) NBBK.KjHBԻCxwhkzr)1ruI%C1:,vvA0P&רl9i!oN~AA]dA&8}+aeKq1f-HC#P ZCy!0|nv2m:?DxEJ@m>ɕ'4&lK{k=:4r[Fa$8 3VdT#mH;NLoK -riRQ/=R lTdcwA)#-S:$ɦ*C$atBL[#;PA[^HR?I6;u5w#fM_ `7hoyEa#?/ ͸ro[/K$"yC:z*gx(YJ=ʾZUuV pFG{U%\wPmXr3amP\(HZM[@MXCHbI+9Hx9 L(I%׷-[`)w],\=f~DS(Ln.^BM^ތ[PȽ>|A)@1fM b B;OCQ a[T8Mw UVq.*swhI7 |٪jߕLR{ǠUh-oLaE@B{ Wz96":WK-$$a %?nI SS| pB0>oeP^s0șN.j&%zjGTDer8 ^>jVH4`vQcBB}n66DPR(' 3JSNVMVUkEuʱl7Qo&*+u)U(!әxp*f#%wqxf 9f¥X/J,JEHbFB1v3d mgAВ ^<6ك [iaYD:7j d~)lB(V80uX D"Ʈ<JcB Hk!qn9E*SH BMʇch72B7sfC_sm;PLꩊE!g ve()IC%5L4G~Vuu ~_.IhUS\UKp^#>jMC1_fr5 Ni jF<5(QG]z(}:ms$VY${J!wpPgMϫZwگ?㵛C8\CvNZlM۾e-{!Ƈjdr c{QAJK$_F*,›I[&McLWi^IJd$H.z҄r7ͪx^y*p!&sx{Jnˮ1xR̮NӨtT0d!iP$PܿaKnY;-VjD" TkYQ:w{mɩ2<`6q7N͵D)Vt{hvSx_O!l}..V˥V[m"QrDc"Dim*9h֋OhR^<\[0h=c/V.f^A.4e @9/qZ3锼U и@vt5-WR]X9@LɈ̓VT?UaѮ|u]_ 0?\9.'}XߊH哚ڡ[>zhV2Kt*ٛ\%p3:rpآT$8܎0;eRNf twHiLe)>^WtMFwFWw]M}ی1@ $1~EFui *fFw;VpPUuvз+)7yOkۘ\XQv9/ą-Y'j4&t6ҍ/x 0k/%:msE p38b\`POYהl/.=8-ƋE^:ct 8H`k*,vht&΅L2oErl~ B0xN&!f]HI&9s+'v,mzqjܴAgJ6}  /@&p/n-(+ٲr "$Nɡ"Ă.%v/Ǽ9 3 b hqZţk(^ \#EgГp3]Ź@9GE|PCMq)Ƅu39SB$=sWjS{fyF;fwSTU 0Y@oЦБ]L#7HEX :Ɓ@֧S۲[pt)g "I~X)2AUy0- cL4 Q`yDL1$%A-2>&l_\1";$%:J? u<$yGg6Jb*:M 1x6c1|#8!0 2~ *g 8/O"cKdj' `Bu<%1ty9z8J'c 󮮿RZŹ溡['<(V9dE4=fnDeyI֊e@- ]wz"B{C̰5˘T" Rh6gG7 ^nr=7)"{ C`ylW-IˊޱCX"ޫ! d]An p'hrt'2 /H RE }?t G)'Gquf@&媄Fw 6ٌG "X`'LIi]ra` 3G@#1s,`",䐘tI09``1*{(9«H8Pܤ0q ^©"ݦ+.- R@]rzDQS@/g41OŠѢI ]V7?^T "}5 0!ZCP`! (F]It @MěBJ)TyqÍt(VrpOӖ)Zj`RĮpW_|Q JNW`r7DI6 TJz$^?5sˆTba9exC'1{ - 9P,1 qSS"/ӣ`XrfWc4,[bhmD:Φnz2x4 i_{A~~sn,al!FRa!Si >‹ɼ̼^3%6"nQ*vI #p5E߷[ BXLy0hN6]IK[Xg5? RSpzr,"?&vB~ȋPZH*>di/y$fΣȃ ׬Y:V qZ*F"1B""I4u1;p]*yev(JM@g3[U!0HʻƽQL"Q,￲S'Zm+Sϧ ͱWLc Qi JBpd$̅:FBbvѯ 9v E S]JzV?z!jHR$)B@O0_,-5@3!*K \3w)h.CKJ*T&Q_]q,'3y܄@| {̨ǕXA*$ bygP 7,Ro%Eȿ0Pӧhψ_@0׭֚& FqiE/٨3!OR2s3&]-)2ƕn?;7Uf@B{Ecm&̟nQLfL`pOSXde$v{ā#YjV2RM t㸒diybTɚ%Oo!Pb &=CCEit_lb`,БXbkմmXyZ&φBQ-8&k? |@ƍELػ^B*+LH 7Forng܌4-jVŚJ2$m?$j=.܆'0"j"[9'&ѤMaEnHYnj(Ch˰?+ޔs |K#lv>ϔ]ULhE, %K#]>ils%}Vf \i0%R Et{4L)[Yjb>R]/KRuV2$r0j! f7q(ˤaZD){lE&%QiM3k#T\٬ cOzRag _EcNFըa#vF\d7}3nuzl'6unыhIDVb]hfQ!9+Y_x9] UPRZl ^֖N:)&2== F['P*d]|9@) 镹ehPK"ZiDB5bgSqi=hό =s R/j#eO%ʆj'%mgC*G[QY^f9kr n#W"RZO~9"{OI0tҦskJaQ z߲dT &p'G i9E,rGiAVU tw3tL9ǂve.ϧ 3QDM@hbV{d"-FE4 sϱsAoo'XHTO˞N7ϙ>_}-֟*g=[.:>ɭ'l%[{h:s," lI^Jb!9$ fu-N`kT ~ʪKDꈽm䗖BibH4wR3c=s܋eڜt; }@?斔a20ZBX蝢msj~=$T<-51qpQń{=ڤ_>@De2RqD]K wIjmC2KctZQU"V\ِ)7 7Ptwӫ3LsQK 58Y&Y=;ALڥBVXfIu_ Z*oIJNB:q2HD1QR0 niD(ĜAG2*œ". cmma[5}[UōX gY|v.ȸt:QRz3ȴXTgCd/! znHvC$]j Z0  "7.ah n_"NgdVɕ3ABظ]c%6_ZvNSB=ˈ#-QKnS\ϑ%wĀ%5)d,.рHS'1PzAXT2 , !+ 6Đh#( i(UH A*8 W:P(\ 24d샲x/aPa눓T؛h0gs_aCpphaG, I" Ys}uhJG0X&1x+a-J`f} '0Sdg5bp <\(1ݝ\FMe;dX>Y^\w\ⶂ[wY1atVXG(]N#7 )!,f`) 5{ҌjE5D7~Bsč}Z P&ެ"؅BigG}O@*'rbSI!67wk'B39a]Ê ON9F3MkPRtp`[|d-Bƚevk9Fi%WZ޶@XkFl. ٗ -<`,,Kz`bmLF ѳͥ4u%e|%U*UD%R` 00=tK4hW3FR@EUe<$H"I6!V=@!؁Mx7 JlS ?`A`Y0oRqǗ!J/1AΑ *;5YzI/A4XO9MR/6RExUU-hj5 P@'fn{~ۚN w=9!ĦN 4=7,8G` Oi{=r ;%̼a%*{ZSCgLrrgIuA,tSBXIp,?s0_X"9"нݸ X┲_$>X:Շͫ)%.I>ECWv+*e:d`boAt8ou6neJ*SZTeZ z+nE8QR3?{4e$w ~0F^E2C/9sE]ҕ]c\ЂaZR+ETg߱qJe'uۙ @{~x3, ژ5s&6TjwCW (Z$gx" œD]V,k[Hffd[84#D/"Az[!찦m]X6 UX0i>$[Fz'sf$<&Mu+/۰.@?ɯ/Us0{uW'>t1Mct{LnjȻMYi*RSȈ( "YNU|t[.'5/>lfܨD.T_3C`kheGl 6Љ;N<>g: :i$zs2)ͣ<ʼn6菚rWk()]\,wɠR{<8RFCh&Sw}*uA a5T+E?NނTYR"esi:0 c6䏱)yHH!8 yqyRY_L$jE|mOBĭ.܆&ҲTգ~dp*د o`=YI^W=FUT~PTJl9OODzLqμjR۽7q X+WZqI!8Ji׃J7?,h^4 '*ba`t.F޵ҟ0oYɍxKh2D?zWYgP`sZ9Em9n!M rΆDu㋈v.,h5)eEzG/(ꥭ]i!>Mu k-Az{z {7$Ԧikw|N'oTOf8g|$N)̧n^ф_z@Y%. 4SzM7NY%]#ʜC \y +@Kj"F#7H5Ņ3{cIwR;ԇ ֔i^֘+YcyYrCk܏,dt: vgcZIE deCE=.Ҋ$w8H_81:wiRNǃNPϒFQ߁ q{;a JI %$~ҺDaL"2"$]οj͗C@f-MlμԀA!A!Dv-Kۖjz~^ѯE ҷ-R//;USiI7M-0%0kKTe+͇RC%5x|S̛d=P0ڐc5ʾG%ZTλB,^BƩ-( IzY[-Ԍ2DG J6W~:Ds뻚ZOظ՜R(aM J>wO}lܛ6Tuŝ E?T Q`FyklX%; :$dt{)īU^U}O֦3,M2΁HHDa7s :qY, m4yuttixkWONc2ia9aO~+cR1M`&!eIDJe/ n$r dF9q-!0u#mM?vgA6p oFe>aWZ5ȮRi:jOHjl$_%SJՅI-8XU9Afboٵa譿jXVWentz'>ڽŬN%AZRG+ VERbJ!a6o@Jim E]Bk\F/v}k.%:R鐽[x}[ u"TeR$e#UaA\Y߈읉2C;&ɈY cN5^ZzZwzM%dȷlmnQ)+ے2u(l[4' ɨ̔^VUai촦1&, _Ѐx =yn͒>AuMd8LhN v뗛ژD^ ޲,Rlwg͢zJ͍WLsʲ/>/"}X}^~\'Q3 XDM!U6UҜs 8T {<8wQ4s2ʚT*P/)} ~̡(RJv d/Z$1@ ݭpţd8WL0(v(%#nVYolx*#IDɉ3/OUK_yaz'rGkp (Xp_”@$/Ήi:6ґPȫ>:2$k΂% NjtY\1gIsa0Uu`@; M=MfAҰa$R{HqcC@[K-Z$~y\ xO925?12&!ҺEr 'ãdC$"6"e & BmMmq#7(!̌֒qU O8|DuH;]-*~!Xrȗ CMmn2 ? El8K*(TܷQPY~Xaը>.c!I;=k^*=h0#/*!S̈́} <XA\,u^lA@oe<*N@xGJE\:,X.In=-#h o/eI! !`CS FS=pe|Y׵Ԡ3VP%Y֊!3Vؗb'`E7 9Vh X7A; $%}QޏT[-wQY"ՔIx%nE@jB:ZljfB Vn{ąJ j T(P;b7FDON?Vx\(4e%mXY"w8i#%oTۛFM\ TbL/6E؈H$:5ݨH$x!$J[ `QQedDT&h["Ug>"ƱoFC^?IVpneq&7kE!JѢ9D&*`g;Ay($V2#ש:\J%ߡ`hdGUheL7PPʖsjկUtk # _t4P$ay:|Hqm6% T: NvM_`ARtr Jv("  l32!0k-Q0\A4\|7Ry֩9]+Ȫj:oӥUjg/N3k̓VΦ$wi pUI\ y(R%R|@Mn ?JlvXB4!q($6yHKyAL "tEbcd} mtQORCM:-'DDH[F]-Bi:r"[vJH ퟔ\U-NjK#O7!U*X`J2H'*[eùI6&"t(p٤ao(/ٰJs8 7^riGh$*,fZ4I[: EC:9U?3GA,ymKw;ܓ:*HKѡ\;rMTNٍ7ZzF2[ULӻphJZnΧB|$GM:w a nՠLDuŨ! Svv+ZGٔo9X=pޡMv.F,\c+&@}Q¶o:nS'l")G#v2nrړ9@ ⼿[mQQGPX/"*:' S!gm0D.DqjEPO.%ư9w({o8A3xV}}/&,2KsP::HM(HcSZ W &xRl|j ZH I^`VȽR(E$Eʵ18PNA.B-4I(INyK0|{nDTījA._}t֩Ii2XD(lK$˞s4%KYIbtxׅpc ãUl9fhH=aZse&Ͼ@ܵ' @CI(YE.}!62"9CMD|&0cism*\|0tqLP'N2Q"J(  ISϖܟ̤g6YD% DWZ 3$4!i^軮uѤ^RX 8}!;%$ Ï"\/WE3F ci@h:ysΜ`©9hBƮƔ%&t(|HJSRH>ՈۛX5bBP138mUK-$"-QDqTcTR eI5搱hADHh[T%JRIJz,*=7D qDi ts bȹ%P5BI0׬N&qY:gF29IMHKcAd EIrP="kHTdCyS(dCI 'C<*)KHq a!bc76Hc%JQ'JrKKrMo{{)$s^Y4ɣ$ MD#G2%ۿ.Jx$d0Aqdjdkr>L.'GϞ\PPD{l, ÅK%ELm@LXL4LĕxA KkQr$rD"`!' |xCo#$yܮ:+yuYEhVazzc W/҃y#sD$O2;IgAg*Gd|!n)]LeJ2~q EW:Ti".;g);jϖ nU&YCյ`|,Lވ _|2VDSyFfădցL9+Q<2$Ѩ}lȸKv96/Sߦ%li Y%}n'FwQ'"T3ҐڶmIݸj#'z(B*CWK9lLrɳ>gRE"HQC&,xlu +VƔ',M&>2i [B[x0,/Jf .XXHGx_Ɗys .Ì`>^3jքB1Y [WoBUvUas4)6^D,:+ΣB/˱6="=W+>}"f[U=Q/ZϔȔ^ΕxԺC_Ky8[oƬp({`yRGY뼄}BrLO|X k$)D-QIBDGlhEy46@KA kГH͕ &4\)f?@X>񬼯è*!G$7rE )4u0fM] `J𗛅EtM$p] `h*gG"'!䈢[4*LTa}ot(]ڢyT UNi>GQ{+ :cf^EB嬩q9-pk9%ؼXTEDؙt.EőRf>Ri ?EbumMf֏@T:8u*LƲVu|HJp0j:qzU9 1m"Ji+e|C0XsƐ RYad)t'{ uCDZ?1Z/ї(H*dK*lC/\V- 0bP` 2"a5lt:h@P5p"+vϫ'<`zv &") \a i%;1F%*: q†_뾥ЙlBDE&*h8fD]e nO#6]PƜرJ>w s"<ًђ4; d=$\ Џ12 f)7㥻|`~3"KJU#&ÇYAU>K*x>$j'$ bXEES>*$l&swNZVfp*!F궴,aO`*'<a1JVxjΘ >x*t41]YۮvfL4 5UoJߊnwFjeR+BevЫUnսSpa_+)+]&5m$ yNPnLMuVxObMPM%wA z2S)7dfWGEgDa] p~I&P ._P_M*Ea*~LU}L3K'DiVhfΗGlM&RĢQeh6~EҨJal^!.y'(~Kc5a]lwY44a(HP̙q#8?\2{ʚ 1 uVQ.H}P䶍V(E//'OUEƃ$Нu"M!Ťm$i"nJ(\F# &L@\?h"rbfĈMv"(ay?'o+ݷJF ӂhM_ 3"p*x݊tkt&zs7iac )y&d~7 q/قH ?^]m PEZ=~GDDVib Jqh.jepU$E'&V,0Fi'Ge~ ,G.ۜdB*^IvcEwi8b T`tpS(#cLIz$E :Lwɨ̕Yҏ.d Zt0qʽ?!t_+[˜A ngmJ}R}M*Kxk JJ˳:`^8a[} imm OPBu)I]k9Vc E(/iyԓKZ(C$$%g3Y:! qʎ4KN7ZQADbH'3` P%y2e ;EEnԿсA W$$hwP9G2*ВZ,K~XB"ݾ2I7瞘SS)xXx؅1#/3dcMa@ B$B+QTxG$XAQqDZ$I۳_6p]&v %C3W%M<]Ia(DTLXzצ/d{ ahJ4b`Ɖ/9l\0HG? )&* ? -r ˓af)]5pfI~m&Xê!JݸN#hDJ'z?Js]qv֖5%cG8V:mQ0]IK.y8.c('w!ɥ5tפ'n0v_f^k)[OR$GyJagX*W `D9D$@@(Hb>jS{[N!dWo/*nh֬K@ P]jZ%#Ruw'HYynRTS"fhuwh᠙hsڟU{<T͖6`ċr (`5YILލ ,Uȯ: i!qe?7I*{%({f['PM~\iR2Fp )c@? ޏ $7WZF'-3-d;hq+%AT;T#sĩH _ YtʥD"ۆTTbۣVij7z ,+@!@xaњEsƲU18I("?v[vift JMLLb55]Xd*:(7+ b*a'ҮWh4Md2^c cMu+VZm|ZMe7$)֪A;m+j˝Eo>]U5#qQr쪷9.TlRDKʥ:ĮMW, Qß1\`2 Im)2$pRw9_y136W8YE)0XM!U+1OVI1݃ZEwJ|sWbey?UcUVB0:vt!v^eCoo6VHSWRΘWT/Xv)]*v#x Ԍ3 . r)h%9Vf0kҧ*F@ Z:{yg2j &k)Ǚ?|E="˒FЂ@>QA\m;6ʇ `FY[ *B8践pq#Q h}xMЄ@`Cp4<\!GM c (#pfa #J?P >rM 4vW40AGU"Jekd|ȦtW!kVT]'O%>Y;ը,A2$_n9c(3ihSJXs$F|XIStTR9qz$ {4e9.!h=gŵio\Ęb93~`mSir!)@GHHDb dւ Q;*)[&Rq*p @+m@$$?)x(:BjA'El "j}$G3 0$*)CLygaLPB,C,  5pS$g )h@G1ii:/pVva%xaE8ad SZx#3rvlP S+)&]JIľϚ,]-Q _41+ .h rg0#v֭~-EN=o\ E^\حû&,9Pįik6J"Bp A $3a;G"dv.4HIT(uЩFAc9 ?;'{Pae|۩?MC*j8 J4N1VI e 1h=},qaRܴwʳ,_U e+%4NI_$FT:Qg腔uiyJ(K&DokI_+CEAwTa/ (AE4pqGka)5N yC~&Dʾs.K -%_ R]d [_i'H0Ij$~%mJJK2+32̩xwvz#Yo̒7cJ`B_^д9ea*ZTEҦ$Qc-2TՊ0&hq$V;YHH4@H{?Tqm@A6@a//O[r(S~hr1䚶gj= [Jn%f %L&$!$d)Zۈs SH5$4 hc. *aɵ@([gÿE6aO0F0K5UJ$RA!qeơT,f?qL&'L Fn@P"%/8q8ϯ[|YX. Y!oxT@A(pF(҅v/Թ`8CE2Š![$bZ(! F A3$y6r Axf X0Gp(9 A%Jy5xqdT CP%SË_:xz t oo8qXlTp>n[#`닚zQJ1Aon{ȕ B`Q.a8>P{" [}yFXa=P')Fp :e>H}LYg)8P|@|ɨ̖PFʔ;=t ص^M$bb*(rr)-dƧYnB2QT?m)Ҟo)]&tSL&)/K"Bq1_HEgFB+ᬷ Q}ϝ~Uڙ0 tK;V:Q*{D+r2o۸*ɛf%SpZWuJ{]2ٍf~蔑j&N&u7UY LƤti|kl7[Q db62a(tv ܼZ )H.Z%8 v߹Kb.Q)sF1vܣsYXO. IW{65LGJ!BQl7zUW-4* ˜]=6m}zfvKJgZZЙEEt[?HqE[1mW%q5Al R^އ^oE]?Iػ?lj"}.ULS(ʮG." &씤\t<̑.d'ӒTJLҭe'V*KD_õ,KƜnJ*~&HGk9F6t-8iL5dyaU!Z=^.i+nj?a\DD:*=j$Ԥo.A)/W3HQIt= JJm7>/"'QnDK*WXʻb׉/&":6Sq‘=hGlWbr1ڔkrЅf&Tz[oQe1DbKǙnswMI?vOzsvG!6JY89KI\VUΫ/E-ʼ[QwSQynq`R!zU)) f鿒/oh͊R*".뒘Rbh5i߈jQZ0! VZK#EUˤf1;Z!Ml[b?IL!s,eJ.c_0%$/..ܯ"-ګw;&1#U1F9zEk-gyU6K#U*b(/uwC x,mbRrY!/l'%8BaX6]WM1m/t~F7(#YR ])jp]ʸSJ)vEV2 i0,H 6!i \"#|Ꭼ(h SN9-/EhPFR!"TPu"B Xz N({= 3/ N@49p)C;\قҜf+8SCaUJ2 񻡞W!B͐! Z1k!}B|YSqqQ@@E L*d"P8@fb߾ :+Ö-DDfjV)t!4;$UAr/u{ݞCvgS9EBs ㊄%&8 3 Ib ^<^ˢC +0U ISPv?Ic!AK64LrsS0 Rtdu}Zaxģ(,3#ER)R{nH<$3c CWܘO $Lp1ꪝ8Tb!) Co`PrqoFe I h'88g ńFH,F(RpDq;cN p\ fWP)EW ̢4V(tW](+ 5*)ѡ|QpbhF#{+p B0 0UHZaӦ D,Ns={ZVV@f5cKB ?X(HDl#c'eίxrÄBJEU`C4c B$%1EV ;h|)c:PJPE0f0"()@@Q w!~V’@BRBv BFĈH@Z!+l$djF(?O ?\dB?UD#$CD/c 3/ASDg\Z+vr.-:jagA |!0@@7QOH Ua #lF$bP^@)Ю!aѹs92 vP̡xE HyD>H 2 BPf U\A1X1JLA 68pV\"tT80Q1`[LrJ ϳ ي]GH? Dž@7!Bdhh)Q%hr,dv4 ) P]!eAo %0 A!D7PJ |Nh']z/Prm0b>N / Q+ y;&hy Haϥsa9R O,SWpBzpˆ _B#T%gUR%^&BZJ3Qr`!/Я Af AXA-1pBЂ,FyDLDz~ Β ,= !Ĺ DaȔ ^E Hw,ESF33ue!l8\ iC)$\!5`2ZcwW3 6l 2Zv@[G($SiF5O1qvE?AeQ肕.q͐A˝ ;qD @W7ȳPAH"8MaRĪ  + *8$! ;0aڲ`} I˜,.8ar+lA'!F[5DX.(B9X#Ɲ<9+QH?K`J=YxP;m|Js 4kXT`#09(T!RS V_R, A!B:֕|HEHpQA.GaFу2~ Icb$y3bU `e=IJ BrN2hVњru4C9A.\ƵAD~97N5n0 "8M+5uBh$b.C/BUFMk~X`D(T)w;({US(v"Ee&N hQERT}gbD3c`3T4FAx P0*Mx8LXBdXQGs 05F4(Pc !.]bvD&ˇ1AIiq8K%г8A┡{DY;pcW7O:ARDN܈Z"HH)Ve)c8o2CR&mzT4m *UFbF8y)Bx<5eCAjF!lCv,ϯW^ u֓+։ԶA$桒^݋ @?p nz_ @iF( Ό_ e5p/($Lր\h#x4_ވY>B/& bHNR&s A̅S,iyhJO*))9i{KiZXB{ˤIdR4 |%ő$Lf[ZN^n-V YzDUSCy2I9Hw7aPDY+FwUoZivD9TYdM4(NEB)P=Pd_5zFl = B4C!@(' {)$b_+H3O}qRȆW([p1"xGZZ3<' 52ZPIȸZ{BxdzsJk (qv"4i5b",chh[ ;;>x]1NMGbS<6X@8 )Gub{->bnIluZZE!3L)gF'o^B#/~۽*"JSq#2P+R\1-!Ӄ4pVJg%8Fa&eYUO8OOc8n A D%BN-40`!hl3W Zo+C\BPvUĪ_`oW®3l<&D ^wZQ:j6=K\m*Vb.uoJvb<NJoCUGu|93oe $# nr UYWbW0hNRy_RL&p8T Ȃ 0P͒ǐs [B(1VVfddtRa.D!FfdE^J-Bb* 7ÿu2Pr#(tLNv6C %m1f^@$;fCAFqPH?;qjQ8I]_&.ViY.SFS91!b7K ˿uu*]hfHRhkfILjR_-Y+o["3XQsF>EGBhQ&8A"wET|3STBbfpE2 o@N"ل9R(@'JB gBJbٙy L}4fm?ɝԚ66Ůk$fVsqjbSr F I"bW855>5_+t>MvjuY:YEk%!!L%ĤƜ:Bg,9{DZ*@}J6̑ЋʄDl靭7H#*#mZuGXs0b!bH)ɤׂ pL'3x\~JV|BtJjbD()2 \xX! C itgqokkUkxvnU 4Vb ) }"\,;s\" 9R/q EAZEӠJH&!LU4^L}e[)uUlfnV5II+^-jB_2ỹ: Ab "|]AVZG}'>˳Y]L5LVtsvr4n%2Sj1I#i>|U$+`B{N|uERu PBr9 ƒHR$Ra݇bJͶ5ՖX[kވ,]*V]sNnh" 9J3N|)Xr(1uuL%I5Wya@Kt.YNT{"Kq^"32Yg" \&}YZHa3e3THBQUYh.# CD4SUD12 TRru')Z h㊅5( ,i*x+,qUer=79G.6@Ac(AMENHwBB Ctgc&㵠 fSdn`E hY{`V+X?i53&:W0!b bԔ6&8S) yGJ S =nI՗q\N⇈롇ՒaZ 6QBDBƂT;M?{WZN $խ|e&vD?RPF)DjjǸn B 3 CTR:CDӺ0O_M%c@O8'B))R1CzѸ /}U.ͦXcOH4$'GT J 7]D?+0s|у*X+?>Rvt%Ϫ2?a_b.Ear1DE$Ňb#׊:?"J{ȣI:۩zDK^^r5 c5.0Rߘqz$S%,twhYֱC,}$9{UNEKR]Ұ59vin.qq|p|4Šf`u_ pK H$FaPM+/#`(ʎ8a!c0QR{*?,V4}iV@TaIX*΢Ź[ )EM n0/'u"rN'B)CBV@SeycP=j1,0hN#LO7 sApV%͉D>傓 @aXύBo3D2&g5$c8D 16r8U9-SdTZ.S\BXRJ&*5ıΊtY/aD1Y٨c]l*Pd%^SvS`#2J DuLyWwVQR%\z%+mkӂ1dtj2Kƥ˚T2QKjJSQuϧjf X!a r!  a c0D 0۟s2_|+yb"P`e C دn@%Jo>[8zC)3a4  a TObW9%CbEgd#L6]UÆ"ݯ-CU&o͑( >Kdry\G[؅ tA?yJ8LD`qU&:H17GFqD)h!g @8~Lb1 n[G3`TMqt3w5Ƣ1H,$nL3]JMs80f C;ee5R62_cR)˝ވ!()<*!D q R:S[|w%1L;XU1~┹i{ss~`aHnYVa R|dr YrH1؃j)GN+0B#!qxW* H8N0D⌜uGm\(` x0)Y\0ҳ #!tqI2"K1\g JLgZ7iP!Xw)/h*@ Ȫ)3))_nKY蘆s3ZJuX*vF[ BHLtoZ>NF|w&iD9|oyU*׺?yiϚf/etb(NJzWN|8R z֖F _yPD g[!ZCmO @ pBdzU6^Ǹ@rnw-WSrBYb8T u (@M8HTSȡ,QuV}Lz 9T" Y`2C`Bb"3f#&jC ZX_Ǯw<2e)M+T3+[g_8j)t]ԯ_مw0+QJxv.e r24s8Ȣ941ui#r> L+aon,"?ZkZkJBqd>2:(VK%7h;&:ؗY,E -dVU%2ZB# T !lq#Z;#5] bEX£ͼ;( PjPC2UEV% E&& h!_Ay E!8[Z^'h B4A0E Ҽ!jz3!Xcf0pe@Op rv;.6Ra'-%V+\ 8b\J5YZckZ$'h9B&1$(2Lc#J@%ԦU"Eczb-ry5Gc L̥d]z*0RA~9ϗ"T?!zLB!]x$au@?'K U{\ Ǩ$9*̩,0D$;e>n#㔂8QFI#=KEڎCM4nƵVWLiA/:̬bsCSjkUIv)MT>JsgNZVn㟓fsЈ&  @cŠ@X(?B0 ҧ={\N7M!F Δ'C# 678DS7e0 @/jHo8c҈7O)%Vo5^EvD%n$.I$) `1T į V801r|I',QWP!BdX@jōZ\z8xq Ά թ/[N0%IpYn8|Ʃ,%2'CFyKA' )ᶌ-%b*ʽ IN@z7@r:Nu IhTBC(,#ϦԈP}`QbUMP8Pݼdp# mY]ay½ùfb~ 0`3襠='␎/7 װE0 3T<œ]y{d.(}({/!J -CqĜ"jl-/s1#xS8UOC$Jr ok|/;U Ήh@EF\<Ė[RD^ߘ)hH(@Ñ/Hy;y"9nѣF HD.L a1X u8 P,HI`I$POA^ (|-yvi ho{R@[~:!j@M^I*; 5!L8Ԍz hSp_-dͅf \XA;T5KAG: A Z IQ,i0?w1f?_QJ 5ESHˢ5 hO }t!L7j͆" *! ? 1 ȓ˓ G!xcD< 00x)ߪqTbaP"jA(TJ,H%w QXi|iNE"[>2K—n,GGoi$ _q5zN'pJ#FX睡 8Ov1!/E ?^O~{(3e$FV68($-sJM?՜7bSgvI)N@GX`ф1Ƶ聑KXN ݓ Ί֫;f"=HźUB$g{ $Tcƣ|P jt/Wr0&4FTZ ;dJO/&"W6BM8!N TW}dOKtL+yysw`DkxQҥ-X/qv \(DА$9O [i3HK`HRsv^K*W!R.5i H 5u"N qm5iZ~Tcq⽨#,Xݢ'13 KUB%PtorD'7ZE8_$(BUH-%%F=!M/!x֭uT_k*%c*\PK"eH)ymd[:w% m0 Ljdej+k4he._yvO2zjRk&(v.%8G1Py;a> Lj2ބz3?7,0bGvj8=ߟK>nkȯLЉ`B25$f6oP2B=q'A).Ȝ0XHPΧ!$tN-'` * ..Z󺤭B"Ba+qjB7\Ξ3Y} 5U1 *IJDI1'z8<#g@P*Dx4 OI9_[ǑvU?ۜ Q(P/dE mhf)P?=.NEՏؔ2 .] 98 FIZnIO"eXER8`?P PBZ"DIc p c|5H\HmZ;a"  L|Lh[(t)oEpix鰘D9]E`pJ0aڔ<@BbA$ц$`bG8Q.O$+ C'HGk,e@KDz LmN/VL1՛ ?ws.I8׾40Tc‚'$kU=A蚮O +#(Ya hxBL :!wP)^"a Bv6#'%#^*KHr*,Wm#;^#<;ֿg*TB3״Ӂ T"^R[UX,̠"DDNcGU$S꧈? %)5iHʇYRTOY}Q}MVlRu-ZvS_ާ=!Ĭc=L!V3-mIIFhS&`Q gʂeu ;2FzChCR7< [iP|Tf\b^\4By $Еv1#FłfT:Xެa;@nⰙ,75{ߵL&NiEk/:R{,_$bRWIŁwZ{ dL1>d,V2 4'P sF oqS+qA*AK.k"v } ED&dwuqu u-tF۪+ę0BǺ\jO_N1ʽS3-PF2xj^jھ-8NU=|BÒ-4? >%(lem"صy^P;R"E0]PAIAN3 [HnU9yY؅!G%6^$/ZXG`PgHY=I3Դ ehYswC^o%(0qo3]p^ehޚ:KthMRe$ rG֒i|P-·%T҆&b]@%^:IV/X,·0/Lnw>Q<Zĺ PVf+l|H`-KS1aH8CFg)ruhheyaSP,2BB劈WUFШ$_3eLwX)d^lcDJ L@G꠭~t#[ZMI[Ē#iSȝ4U)mD^;ϣ"eN/pйdXNKB7JUqch GrEk+:O(Ǖ(DM.|QZ!M%{}cr-#g,47F;.(yULS `"T6oBI;>Z+vރξ8nM[*(NyMb~+5. UN?&?Dɤ7qEe?CHXT\",G т,S7F?}GGƼة)3x_w{ǔĨ҇h8z9s."K>>U /i2%2]!Fb7,wJSGKne 4}s*!eZ]۵4Ay9ölrSN^o$:> $Kf:dxŵނwi;<^:F[ze+Jb(}M!"'*0>)RQKIM[nS+aoٝ1'N]8U#-9/0QbR2DCfRFtEUNj"A~Jo@Q;Ju..tFf+o܃L`YaUidck< qoNBϊVӇ8P͈&T$s=8/-,uGY.%VJm(G5$),X0֊c""ad +g!d 'g*%bahࢠd,#cjaV-<@p;B BaDDJƸIhDQDkB#T/q.֚k X2\Q/@̌ZtpxN1tgrT\s^ܚ݅IYf)Tm4Nm:yMo[|@XQ!]iS +t=\`L`GPP[V7ub(%(Jn߇ڔ|߈\asV*IAjmh~թ+U!ifDD򵄭jS0[DdK CY!svG1OOƁM{ Jp9c*S l;ns*኏;t"@'A,%=p'PQCj4ƺaqp QpwDe+ 3r gP1,>Y-gP^PΙK#!TZ\xZfQ:Y Mߖ8PPDlP2&bh#-aL NSx,EL+dJL302&&Mݸ0~CfṏHX D ܐi~#B#9Z8:4$FA@fH LXxXL%i#zC2>#{' Z$3ڿZzեJNQ%~[ܼrVNչܽ=߳%Z357;(lMC"K"i-"R1wΖi$D5|x" @@y< ULAqo:$ϙ^&"bD l%qb'78 2d!lgb9t< OyzJLMOI9_\Y?ݐR!ԇg5tTI?gښ@9W F*?hPЭ! _$<;P\@Ơ-Fcwf] h45@(00E6*GR5J }kM]]4ZgLP4(AʄV92Hë!Bbי,zH{_=0uСoB#Oz8dj_$lAJE輺54%H5@(NloIV1*@V膔22,cYk1 ">ծȡ T4=M̹L]Д}oVnqy G$#+8~[!P]i &.$|DɠE%fqg@+kuRd+<Ԗ"zyɇtB uT'TpTo0Q)Y cІw#vX +nmXjHܙ65\Ux$m#44$(}MMZ+141zB .Œ 6[xE&~hslJͤ|+ jn&7(R0Hحcz)-Z*Ajyﱛ%;|LWUw9释J] XB"ÅugZ> |nj0v&` >~);BVc0K[#\m'Yc `APiuVc'@+l 7 ^!BɤY[ ܳNpnIRZ+.p!<íL(S`k({jq+.ȡA "*g#nͫ$=B2O,[I'Tś] YnUA=3ji)_ "7Jl3r 6jimgRn fݺ64YqNߕm ,a'@0Z aW ٓMb2v5*br Gt*ĺBBL>u/JxITSfU0T1xͣk ǃ`|~j8V\VK~ FbSsGTl$}s44ƐoCԦd!wAڹ4v7A֨Za[i ]Č $uފY<s6;o7Hk( PzPfzQ 3,$6FSO}pU9) *aehaeнt9JQpE"ДچxE^Ov0e#EJF_*٢Ū(M0trMKʮQ/z)L/J"COGMkJՔj9¶iOb^?;,/i_ P=A$32. 6 OW7Nw2C䵨TXhtbg4a^ω/T&]ӥW %D\\r`&wZ:)JwDLYPr:BhZrW%0yЄeQ*[罉LHbӴR:i #J(ÝڣUq-ϫ[yn;2xzgU\#ϻ>VfjQ,M(Rj^tSbwwhsΥ|vzc"6O K_[o}U"$76}c#.?QY%KuOgP5P(pVdC/|/*Brr6")p3 <1K&xrb!}LEU;K mKO mHj"mFQp`_+GV0Q<ʚ°ƪ#'s AX辛 gsu!(.ɩ73@<:fh͜Z,tD胠kVE GCf܍+[I7h]&ͱ/%1"?§dNH!iW:ľe84K-JKN}}o2eҗ 9>F1QHeHn*+mm,pN,7,)A$^H81=_\Po5$h`nms377~;*wFVZ)ܿ^)8*\+,gn v^!g!ZQ ɚ-T D?=[dr|o"b>Ն$ qXFCGgmAK) ihfxor_Od;,F_B^]%DiъN?=Aݖ8 KFAd\ vz]5M| zG|G d{B5djvet`K!XBR0r2F\ QR3%|N,v]ek$.hHj B@ŔKQZDхK_/toEm mjV7aByF8g 7pnwA(qХtx/-=>KD:bw {rBS綨4/w_ҋ"1?B 4 ZD*Be\ς85wBoz_Hfi'hR@Z͏UZfpG]:$/ ۞-tׄjMJ P;TDc:UJLj)l#/!6_B٧ZKŝD5ҍsS޴%M[jtf  f_?w"֦) t-*Wc(dXD72FWj ADlu-w_QǐpN)$FE!Z0~ mOs6?aJr@fhwB1 Ws,%pNZmYZ$y*rV/ӭ; j Q2;V"CS`a^w7eJ@G-ccT+NWBˊ.ZF|F=Ad)[rFMgRzĕKPVD!]{ MxrX#bZroL5 y7{̊!J2;HVgH93e,MA Т\QJ,[ym(#*%L)\g. jKKcs.Tg[[Rt+j+hf_,I (,N-!uo]+4MOke!eKWYYst^QJ؍gt5);0dgx[vZݣ)-3ՙ^ѩ^^zҔkۡ8vm ImH$$n@'E{\CiG˓{\k%\teob&~QؗTڕP4bdzH՛<պEk;, I?I+e6 .a3qNϻF-iY~W*bitr1f4Tq.Rʥ>gLcdJd&1Dz1+/VWୋ(Zsԩ UY>,b@HÎ>ϪXJjvOI%59ʎHG3YۈK$l'B¶w+["s>j0TXFZ4g|!^tأ+(V3wTi:.KBY^,f K KJfk{dk1JDeֹjʓ- J1tLmǥ5NC.LG}E5 ֝卽@EڠFkhZP{ܵ5i\ )]ħ0 i8.~Ao*+p@)j[:e&Loөb*s{NL&l%c묫xW-'(&3(VP|Z\XfYP0\f 8tm$ʾ@[j2N4ݯ1H)?> A N] E T[}=|C=/]4X_"!&漬7r-U..H"UìhPm%ޔI$ VϪC(h )hgX\2Kr bS*0t&v"BJL h2Sv ΝxT"c#2Oy 8"#r)PAH"ؙxFN:_HV7 ŋj4tM7.Ą7mT]k3*-o}󠞫ܘLXx*P&TmɑgEx+,\e= T$A^f(.1~pܖU$sc"r-F|qXV]+g5G(4sǑ X'^'4H<($fQ<&lAM )}lh"I)H/>ÚbQ38pxCc5 $`ASb/57tx2ns/jKdP&j/GB{V)J pAy+nK}}R%11R\SWp^қL"2VGa ٸ<~ĔކtBiUVY#JJWs"ρ9c'uo6(O3%v/Mk,v"`"=(DHt}0o^qƵQ}zLJp%[(}8쐁E7g|P#7nfS^w 2xmJa ]p,} eer9)1T0JŔ}2^H_ޜ[Ca5~>X*JLQCZ49m9NI;˗W.2V{ Y%C+ڏ$3ZupPG!pca۪÷kEJ`@hHeɈ̛0VJ^AUp*ݻf ό̲t0;3,WvcGzf9Ip\D u>쌋3uBJBBȼ٣ JA!XuxYNAK&5Ex&R}lIf2=ksǣ`WBsi5;ՙ3Z<ݥƾ 1l}KTN=p7W>~*dYAGt[T%p.joo!B<&&C侒Ozj]NdfY)ݕTv?׬-H2WfJ.D1(>נWۧE!^F璷)M3qb%|YbQzR$$֟g/s)+EXhH8=_xO/j%L#}m&h,@6 + 2HER$Q ANvozS!9J)FhM(_ qy9P312V%TL9mE锁yE1LG/#砃Y-@)m*%ts^b>.81Bp5cODw2 &;N89`Sgtvd?dVctXb9Z8M2#^7CsEki3'4ڮs-m 2,o'۬eu] &0`MҐU(hXL.˃cXNV5+ywϓQnx2mݞ^eDsmHJ/f%3MVӉ$y`pzD4cI:͑$!8AbPD5e$J0wQڪB,c%ʨ!a\4[32s83(z@6w8M"e4sUmdS~ڤe;#gk„'C4ǣl"r4hآ|ZB*!'2LZmweJu5(RyuPkd { lD&j 3]O&Jp kc\4|ay p#`V$B?$DIU+YJ5%&2CKICߘ6-֒-p"{7ڞȽUfAۣ}΍W!lvFV(IpC QDfjaZQ ڴ[ג2MId1Ԑj8 $,T*cBhZe8ރ󢨑8챉msX ;2*r) qNKuq\ݮD=zF%>nVd,oN}~Lί 4H ;ܟS˵# D=F=}?xefzA*(D1CNʴHhB w;b٢8#kM* J}  ~efJt瞮 h:ܾ=҈``PO'y옪llWRE9(xs<^T!BH}nˆ)Jg@>x;HD~e۠# BQVwDʒ3ma"B*ĢLLS[@GĿעяH:N1S%`LN%L^թ56ua&WR)w[3\-봧K&UiQN?  ?2z^)& Zk}*-O$: Q/f#ȱTH[BkZ\A0yR}ԥqԈ8t\Ce=gn_=q;Hc& r@l`.,?V Hr{~j+JU}P5eSq"wcz .„wdʫUNvz dM~caƥ!X5I,? [)j_T%q}b\s 욱J&vٰ1Z\R!-=xJ"&g"n_N,sHѧQ GMI7VZ IH/gqdB2  .Cj0 Kc-iTH\GorkdI!UFR쭧cᔼHeA0oj 1+"r>ӳ[{]S<'4sja̲$;l)0*eT7=dk4t0 Av5&n7 ;|a;RLt4,t3Õg)J)ga8V5\ʅ_蛐1s"XŶR{ǒI^/}UH=((XNybAiӘ {|:VyO , }~G+$Jb/5^"FrR6 KWbY(#! HB]%/ /p6m Y r#$q1eʢO&|27<%ABcpΈ*!U͆mT&Q$)2c@`׶]lވ?ܛ TLEk%bY|\r u[VV)DJo6zzgoH:HUױX ۅ2d7cqFQR ncNPnW\0TekK-OflLCC1.  qPWRۂ r:JgnnЁ8Ծz=`@5:EXx}c(*WPX ҈L;C2QB9HPnQZ@hD6qhVՍyۂ %y4IVOJ$sG-TSgNea|x 򷄁%&]dYjE7Cєa#@Ua#Pmހ+>/Hn";t8}y6l,Ao$RTF;^g8 l \iGJMe;21i4HĊվ}i,d?3, Owi@k*M8*TbXX^dJ`" F/_B֯ppa&Λ%16Ūkċ:Ql1  ޑw#A"Cs!åq[48 Η!9' WVF^\CåsdTRJmibiV~S2/76^{JHcpn`+@*0 *<#ѣ!Qzt!r!>MxbIϒ r )#ЃVb!c]NlcHFO6_reeҶ)t3WZz䍂C ;FDZ= H%*,rUb7F{u>bI'_  `.GG- 1 }k3^eEbhŵʟ=giBDx4GH$!zѼz"]`T E!GC!K⤆Dsm!(jNHK;( hZPkO!ɲw݋vgP0 c5AߩSU{ճSBs&F?\}(o7U ų&r˽ʠ{,h##21j*WO}wT戸V8%u"vFi!", KVpGVJAO(IfRD0zJ}2#Z4%3EɔnjM r1QE@@atq *AMC&ax'C,li4Ml4RZ Ny!1[ø89Z#W; H$ wHg5ѵ+WwotK{ |8Xh霗„O# Ty9{fէl=4mrSb 4,7Sb/ZN7]caKϳֲM2 `QO?iTY"Z/ˌ]\a}IV+X[lQ|Ҝ̐m K f3FIqqȴ;prʒ0ǑHPсdk T`J{Z.%#w TF71UKJb3u&6;D%URb64e-be.Ꭲ4$R b<*XQajutӫY;)  ؤeq;b 3s:C됯QߔSI̷]$s`wtGφS O f:?Y)l\sjUu3wFU;'%Dš=l rE/wjf",<dVfhlg{r'7'?.䏶 a<7M]K'eohe>Hi]!WV_PMeVԥTDZkrDjCMx2qb(b1Q_A%*'gi$&D[uwpci[)jeuN|vfhxUdւe!<__` ׂ6 ugk-3D_6.vd )9;y!n )_UF{LEcuHxE PRE;Mc =1ЈFB~^\ &Oy(p±N-ϻ@M#0gxM0вqc"W&|rhʰ`\lxg/Q C;vM_PYmKƔhJ(e>Nos)w-+f4j3AW.m i;*<[˹fZv%[ ԦAJh"t\bhFGcKX (.#%ZMSDpJUUױ5&-c3 i jJdB" m6zޘȷ4bD$:rzI%KZ c#OD(vAgBfPx}";,ܞ)f~i~확˾cME#a7(%~LG[JXH0?vu}!K,4Gv&Ó2@ޚye-K`f(5.`HkGS9(rcQ|a`LY FE74Rmr8/ʲGl"R NO?lkXzֱ Tt(W(C(Q$e^#,@ailsVPO'"5 UQ79P;|DNJ^k~@fZ2MLHMv7s^ 4h ./  d˕a+=B .dÝ]H]o@*K.ڋyꠊ5x#T_9ߗb% nRI^}=[3J)AS$OdţE״TsvhE$nB2A u9 ]WZnk^ ]VwQ~ =9+8/M&B.lduw A,8b Űû)#^a-y&H-y,p&P Kr|qT@ gAg=8~!(KK)mv4j1ڛ 8͸кR Xi+*FYx.9aG縌(ѣl2V{ VYJ(tvI&s:mxKȧg* j?>x3ܑ2G~LI+yZ]϶#BʪeWׂ,BXO"w52dL'j""SD)&l$phܭL[ڪq1Su*/[ؘ(7)ꕂDE}է/W1'>1b"=UWtnޟݥFdlRlg(QshUҹ^oN'O5 t!k:^RވkbH_B+d,#;»5()& Ruct40xD%=!ism7M%=P_zB8b#d鲒9 QD$Q+rE =UB,J#q jZuAs;y_#e6Q[6uWuڕ?h "A@W(H̲HQ<-7 :4Own@bH DJdRx|2LD;#&&pǂ5*Q[9)s!+CZWmF|>6;#=U݉1KEj,[u)Zxddq7Pe*8= ҊaÖEMu nιD(Kr ݒQ =VjP$}$ ""`N+Wp8gÜj) D[P5t%!euQ6D fEF"_ñ}VcEB5G_յ1ND DK[2 'ڙItbѶͬFzDGrtlgtaYO_tOXW@O" +-a)`ͶR}Ysr}AȘff"Gǭ Oa1z}Jr;!6־:N*Fr\ݛb̿ۉ@3v>,=I8aſ혐.k+(O;!(YIjS}Hl87z1 4&ΐM!Z3h8QuwKWd' e"qhxyvjhY)T;ZxcV$X7ARiz'WDM4f"$en=BCg>L`!)׺h)h7 6vsޑ@͆qQ +;z{eR3OF%Le@Nl^Ł m3R7hd4T;Y\gժtZ+f$ Ƿ5~#& = ۽>[@8;{ҽ*eoԪdb+!u@̂_강FJ|%oQGvG9 $Gk23S`#{|Ig?l+7XD$]ˀ!|j"$:`]")m_GJNCLeB<%=MYP!a3b-Xr6TBUKRjH*B@B5i&tǒ$(|)3.F]GIy!Cw~Zk\]vق2!B`O&Wׄ|iY"se}bv 06@LH8@RruLf`d'[ȗ2 Ek_S1" i1FM(мO25~DȹU~ x}2>XE?LԂPlJb{J*Cu<ib|>GS Rkt5pWvzI0:1)-Zuk=?ԇhX/`ILHZE'T&Cj9Sj"`p7>ުc!+s]@ ;f˚ ­y!#AԢ@ЌP0FVZ$tUَ7,OG7F49/Zވl'b4G+{Cfe6^)ܤ%Ԓ9_u Q, "$P ~[-1v hV=N:X?nQqsM0W5߶=mdAX%T=@HLăI΃\2q p_ F@3Vl%i}iџ/nعbqHn\\L Ru-1R[1y;0J3C< F`R1 !-~"`]ƞLrGi, sa8"2 MyZ>}cDOFP-x&ͦ:j30%>nCsJvV{"0:ր"**8&?/͞hho%nwb qM8q$MA3iU*U|.ZDNg/:8T>Zl. p~z āЌXPv픕qb4%Mb_=|8=g6pX0[Ə7`H }9&kMj:Fqxi@y[5u30[ɼZ4.Ŕ5:I-tv'ahF,nu#L'r d+٤S.~{ڹ|Z& TDZ>xʗ #l(,DP,nqn$?RRF+6JV앥M [?Oc@?@ǏQ:㴦p\_*^d }pʡweBNMygB0Et,۳#YCcCtKTdV"'9a0;T04B+.d6wտZ+OPJeg&%%:sy-8\+um>$L=ZI(h@Ƭ0y!}:(԰ ~f5],xHXL aI9X̶FRӬY1^OɞH(bAeЖЖhlз{KԻmss~۫TZP"@VmPĎ^ `[ 2zCbF JMVg4+Qa LԑLI>Zؐ%'uC{vPjGcEkhX'!2ȝ5I!ۯsiɥX'l7Uk^5˹)ywV4b|,O7˹8*ϭIkVSʷqd{[DW.Ga9M$ 7ro5'58΢Ak,n͎ `cΔg [* R83i2/E` OZ(D ) t[Hu@v!ʘJLv仗rĒA@ۄ1R$윢bbx&.1^Dr^TESH279N`Sɨ̝aT1TH?Aq[~IE@bh6͇"]Lѽ9A#KCG&%NBz~sXl,*J!r^5j1$6LvUL]-DłƏk=e nhe nq-E޻e`SL H>ke<ԽQqFCgaUg%02 wKo,21hE֍Bh 2дKJntxB'к nr2R x3YJ`7Lk*jiDIՑn~+3 nCOg~`=rLi릖@^ߦoܷn\h@\HbPIXܱNL*N2G(-[ j+oQxRƲody5v;#&5{2g7;`m'[m_{Z9TʀR~,ep c?7= bIޣ$5\$Qi g2A*=[q]nt%Z3wLʯPG~w @@7 ng@m @t]ˆUͰp^H/S (XCܓHp$E!(,r%X,d4a#' ca 1Ea {_vrZ EHPq*iGX $g,$ tJ. WیHaR@cHJ,鞐L&~o@J躲qA`@ Pt# ˥l й砱+PwR~/ΑZ*W=ĺ\ͮb31MsI(եPSnz~n" Fu)XR_!mkJFrV<-MZsBfI[҇G`%8|By6!VR( XDtlayt*\O>Mdv{a*HUѕ("\w8ϓu НR7\ѬTZeo0j՘<>K?./ S{9ɢl'?3b*o3uދ 򣹭'xL){Pn4|\gUN8D\{Ӎv&POXpUuao^$o8.SLr{ݦq3n$.%8(,p)aAkW8:d }P|nkGg䫴G&mK%ygtY?s-v*P10+`Qadmg`AEIOҵL6 ` =2#T-LТZn0vHB2wqM߻uNQ]JMNPY) .ԋG]|$wபرT66nZiScbSOrik,z:/\*# IŨ8Zc L/6|h&"Ւ)jDJ| BwHTDo[&~vЙs.yqEݎ[G{=+8OҙƆ>4 fi塊ZK (c=EۇݪbOE*Y#}`i !N3rU55+S86҆d;;BmZi@`/6%{"I vA踜!޲]Q 02*<\[oN[\ wN,@T&\2/,/+FFC)@v!#JB-bڬΫ8,Bff.E`X&UL1駰跐 j"K#3E|8Ƴ>߂J4 5bun}"/4.,:L(O1tr%z--T"~DU6+Q^D+iJUϬ#5D/%! ;|P&jo*_J}]VB$)!KeG16q&8)C@+MF樲5OG1]qqPS# XvTTIBY:[7 Gv^ϕ,CwH⦩ʾJ9>Lʜob3>rUB ,yVDFRj+ί)t!xHQr6/F+d8BΛKr$uIQӧkCoN r+g=AmP_U+fD3heSkBhYMddL>YldAU'BgLhB6]o9 ޤ!bХ9P] Vu6GIn{1$MR YeIn6 *x/@mqf}ȴMma0Ѡΐ#nGq~WhتAUE)+*}I&<ĸVC wUUr`@\O_p2^ kۦj2VsԻ&bȖT*]|_jxelLVAX1Ke_d:KghKּ&u>#3m=ʈ=6RJMPJ$OAcFo-id*w}}PXT'%t7FP#31uT2jG f'!xI%x{M^jOY~B@.[Q8R!H*9h`쌛d~".U.X|Z䈑RX49h7]U+)V!Oq- gh^jퟬ5LSv5(ө5jf Bws0mU TtBЏ)GŊu*# x'oӌ"rZ5/@E9c>?zB3`ILԺ?z<#i# 20Apf1]$FC~gaGj}hP Rl?%).C[e86]Z"C',(KqZgcw!3f_\3.yJ]~L /;:BԮI֯ކx܄Z֨SDҾ7 Z Hzr>0QyQwhTM2L|%<[SYA۔D4̎iJd'YOEeFFϞJX(h*v=#W;Тā7r'$#ZE&H ^-[ ], |t&ʍs<܁JU"U\‹3A֢iz$~@|BȸHYZTyRz# z"w`wv:Z$:k3Y܊ p3Wx&\͕ѹڞGY b%̄(˨L!0$ᩙQsGa RWɊ[zmH H( FP=9 5>*P :fJR¹$#f$wAk$|bR|4J|3l] K崊H,'bNvF 4jBߝ`zb^])!xZ"QK n|vӌvWrBeiSUa&\貮]C2jS4ԓH柴ՒHh5:&RԶ{v#/b^Kx~w-d/㦩(Mb MEOf }f5KQ.rCX `czz yvɴ:$]e+0O,Ƒ~*dT%*+}ڕL 䜪`$O+I([Jj%&Ʀ[ W+ 3d娼/PbT@[P*OJ-.( BCX[˒ gukr_ؖ_<{ uz ٣Famxe YN'dldKɈ1\tx͂hjӻM%8X1?=_dӏi-Id%,RH#HMa٧oHd|kŻ2h+@15,@aRΖJiw l8mD C0Td<v=F(0UآeN R BAGn ɘ+! nX*Д϶"^ wS!E5*Lk!E`ѓ0؈QrC(ЄEMm#҅RrIP:{DxJ";oZ$ڬbV,Z/,7%];eo?Gjd/ƍgR7(1a/ՓVu\9|2=jh_H._AC6s-k n'Bs 5mT+Y%QG(RHL,vdX۲_%X΂P4|$bnFyq%j4h2|Bә(Z"vRBC\;D&3]U)Sr)|06X^ʩr]s(Hz%E]_L–;B9~0"`QԍJK3 ;&bpKCNO 8N{[,G>UAQ Abeo&gh{=gi1:C_jfCD&h"4G,|{U덬>LAG9फV  p S5ґI:U$18!l!7FZTc h3C^*j' Ƙ d8V9tنFy d*[\̲bOrd$#o i^uvh V,D"[!h@_CżhJPjkXo۝k,}{Njn*N+ ZD/NU89 KX& dRiC)ד ^v(&,eMo]" Lpzv)l'@&O~8?v톬&/W5C Є KvB/LAh|.8ĶEܛ3ط. pAnbm?O(fmR&K[,+ROs8;DdX4h8BfT<.UIU1Ez/F˶6LSl'UWKrY :PZ6E!8Eh ' ܵ4?e F5س25`>1l$ZM'0N2 u?8Lv=BϝldPD-d47m &A⧪0g4JY30vO $Ǩ$3 !7q LvH̯Ss'g3Tbش)]9֋3#d#Ȏu`) ryXəTH\b_~kȥp4`:lJ2穧%(Ě-c DR%^|kP4I1| m鷖>> cX{ڤ.kӒ:/#)""W^}'06Neʲ+,'x(؉q b?ѓrTN ♀{,!P|--ʠQDxn]dͫbPKqVje,>ӊs2Q-gB=dLK:䙺R:kɼ&yڛX% m9 N`u~і@Mlwݝm_t&6rQ$Y3tvG1lZ(Jta5F\G*[ZqO!rW-^@* 2W˛@>tR'e;-+O{ o*BEB5(:X=\0L+*.;!@ZA~t 4HT,Hgp^3"@RscgMH3XFS颁!^N& 6y"ȠAK Cer>L J'&g0cu90{f H~ AM))7JgZj頀cXu-M+/a`8kލCApW Z,i?Ji0RkZyՍZ 1q5>Z)&N˚7BAĜw&(0!396(H+ xSAuV-d5Ɔ7R3!Z*EOT f%ŠU5ɆI;VQ{$^!ƸStT3V KPT=H3ArJ sQ(-{a4,5`oAE'Z}D $&YX8*KfGmTRm|2Trrz>HJĕin2v/:HC$sՊHݦٕ80[œ.le(j=;!R1J͜mViW-vE{ܨi^0BI*& Vɨ̞hNtphf} d x-fۛe-6DVF-iu$jm WN+$ԕ[1asUxe co6)MUµVC}|8{4 s^bK̀Q`O;B]0 wLD!w`Ot+_‚4,4Qs*Su1+kRai5P+ rxnӄ@L۟KUPl>O1(sp.,"RZDNwlN4U }ui&n()ʛb7'QRpA\k;>);6_SKFh҃E2:e8*3Fp\"MIgP˟azy(2 LZF>䬈N bF)HE^/tgVvVeV^Ӑ̓rUr>uOƆ䒇.湊z\+r۵t_fڳ H䡼maظ/?ֈ ˷m&GMFlEC%V-39EG#G<ќOZJ-٬FNzID x҂\vDB DMSkMㄔ1paO\')xJՔ;byd (ԼF]9|ϓf.X'8D>W?7X!%9+E|.SJjm5u6Ѵ"d204 ~ܝ dO !u{ݩtSBi^vd˰b-TL5E"\#F~-hP]ʑ03*!,D,j<|\E80Ik=JGHUDZgSTH^֣֔5M|Qmzתs8=&;c-eX*bFoIj$=bTL9>I~1.|Qlʹ[m"ۏұT <ѭdT+^p܊Al=;S=lJ$F#z" % i Md7٪rAͥCI X' h}^͹ 2UOvcbBNOir Onl|3 !xVɕ񇐪e8>rN#%d͚wLRMKJtF V*5JQgqNv{{Sfn4ˡ> ҕeZ2/;dWCF+J c7^9UO^BoMEk:E\0ڵxEܦKN\bGxhA-Y$ U76Nn z9*JE1 Zrbx3T DBBmy:Bף0""U/(I1DwV N-LP(MQ>D)MC$EwSĉ41w !hWyf}X&ԈXkA#f+'Ӿ}(tP`8 XpPi׼B*8Y Dc!ݝ["E_0%@EA\%& 1inqEJ ]9*:2&& hX<"8єdw@!G_E$T7n[uKA~r}/JZi[] CN(K! NZuɘ_dWO>l0VwnRM:L"I9]> ӦaRph4Vw8X'`HdmbUHEJ^qt R-KY TƷ9mt!zNl) ɂn4ikaFg/H`D`j00iHc~\CL{w K:(NƂ8'ؘcɑ$BT&9CY'3f:Q 9!dCA-a4 YE)vkMBhTJ/$#KTIF4tQϰy&- kxHF*GEQI=04dM?X%(u*O64 EAPy KVܜ83& "P!s۟*ҺcGHlX.xVP DQ1ę=,hT QWcH#Gen`FO*Cq .3;n P* ay=ԮXݟuR$\F MBo}ч}2+RhK% u{DR .YJ}eR3”f& p 2t`O dd}-)"q])\1)U$CĕS=FR6RE/!đ@>$KN^dQ A'Q+r)=Jii]s(=*LC(qg=DchHqKl/ $ץ6I|K;EfBKd|%H^! [l`KfyeEd6L >#@|qAJer`apJ)Bh@~R0cOY@9H( ]̌U p(584 9ƣ77 fP ݮ ["l 4qrnFP5%$y㪈_ȍdUPtIWy)̈́09im ʔ!!4 ܥպLhEqW-:!|K)qGW?vȴv2ү,nȏGma,[;,Gř¨nR f@=RȻC ;!"l2B,q[nU龟ޯexJ:U.t,^=- l;B dCRdj 2PiJD6y! &)Ur",@GcSi黋P-FXՑDpȍv^W] -ٴv];Rn3gUӏKN,-fY.^faY~_.O6U25ǜrd4CrfLclZjC%ʑ/"g!REq$5CUiqHk~&PG~Ӳ[cwU#M-T9 `u^x}NkK NH5C%x[^q_ `eJ[;%z,T$9Nw?> iʷ\ --yf@WkߊTct7Ot -QOȯW_GOv I ]4G<ȣB9bx\ EL[l]' \*o2icC(-dAƌ28N m D@Hf^S$ģȅzeHe\iheT UȨR'4z"28N68 B" X}q'[.%쑤-S+}_~[eeG3sRSxnb̴A /ib/݂dSIE~đdQ܌#]h %W(*@Q{X,WW,:KG+YM,9ūZ5Rh_G[՚=G7n|s%k1UFn.kTҭZ^U6mzޖJN0k(Yi-V3aazQW#FI1I4Ԥ6cYPqtÈQuik.L.pk%%Yv%x+w Pؗ ->@~ @8PGBV-D&@e Ay"#' jaƭ5%.G^W^!;#}P SvKEP| f{iWC J4r!WRGZ4$[*x(v [lC/VMyE*=\b c`z ^0ed٤o^EsNYC!>mz 7oGڄa.Q)UlPeE=\@J kשD]%S 8JC͑Q$Ȇm]F5f7ŐK^? 7d@7*Ŕ,D ѓi^!(h`ɐ;ξ֙!ZRAч.ok4,($V!! HR3إ'YlY#-b([B[4xOע,!OS,zΈXC}#55d̲fNIj?eeQ@X|_&1PIЩ<ҌJr+# T @wSoO Y"ԙ ^xĞM-/ظO'{ "!7!F1bPEl-*X՜wߝp% X1vFEV3`#Se׈\Zk/QP z&pҜZ^9-p0jtCP9nۘw(|]ee襑ʹC׵AMU".QDEjN xRAt{k]xcMrH墵gKY:IQi5T뼵5g* 'fţjTI9,VUݭB!~@Vt-W IjDF#kߟ83O%HD N`H(s#C $#F>r¦m8<,QI"{$CKEQ!T:ئGwuvN3J.URmBNAȴWebji7uī&c))2EvUʈfF^WY_|DMtdSQ 䓌J'D RlmGQ6gTy n1U-&ZTr_:P *HU+VȌ &i޸+3jdDڭuh{*^zjixh"*N5YQg3WΡL}P(!%bsݝm[6{M~r9aVR+*]vZ6%I"֮%b4i(Bn~JKMEg1QH"= w!(f:Wtg,(Q-A*A~vjHV"6%U{]˜̫QƜD! EN;^HLf)KȜmz4,UκEC{bf%)Oqz@YHf15YH ޼c!*BF YYaҡzXmB&Ԍk[WYbVTgBn{S GzP ^#,#Ly{- Tđ$0% bl266EJxqķtAa +}q3)u>9y抹FY,钡fVqE ʔF' Nň?=`Mމ5B r05GmSqpǕ5BIL 8sNCQEӞZ,)c-cꯝ8%JzJ A7}"V홮!?hlYECG57/Xx퇧bc5 #sG7G?]`"W%4 =7Vi= DE'qEšA4 Ay z7. @ v]amj/f#VTB#h  AN.&bW-s1 T٧Rbi>m":}Q6fUe*C8$Ժ@_YL*>={\lS*,}-rl-Cq&mIBfU$^ C)xI*gTFܸ~Qu\/j9\XK (ɉaQU/@fߕdr bl+eMAj׆qCryrx&ʆ$+H8N0Fq'DfTDx̧ >l $v@,MׂN#5g1,zֶ?Sbh71{B./k9Jii{2WHg|ur˙p便tS;L۳&.K5nLLs((O-SO0ĈqJ 46o@ pX#ZkV Na 0M&RkG&!-[&{ I(rwr$6bEXc ${\L_.U峮W󼠕'2RjwƉTe9Dbo O31h90ԏpÛFL8H Рx99!Ϣ;@JPiv[!258g 40p2$6^6IgBNa 0CN9r+H:,1T:x#yaC$qbh>W{%|X(H-Hr(h3JId@Np)\iBia<@QDg$8#Eb; AW0p1lǘŇ cHSy>35>̣Td @3Zhhҏ h֠(*r!,8pxB>_i)%i *a$Ha4u@0id e*y14J3lR-siH-b(M HRT+b&Q`LsxXS`@A͑N0& +YcHS["*NR:Y,0)mIdC(DAhBxJn žzP0XVW bF3MmQ4*5F# qT)p]oW4 :m ~i LR䌭"% ރৎHǖ()>iL=r-2#@J$pHވWoEf%"haP+dRv%| @z-< aAKkЄ<+ 5b$^v_UΘIg9<[XDf ,SRB S1&Y΀$ǘ%s 26!OƸTI$D~@@ Yzac}"t<(3u81!!>O0XWBuֹ .䂬=aeË0h`4 قsͅ0gx{M1I=2/,,mѓhT*䤥nC,̂FBL&Lj6h$!@YBƇjG# @X9qǰ Q;>Qy̆0Q\.䰡(6 g KMAwTԀ{EE"* fBQŸe09>o`U(΁!AJq&Z ]ic6biCƆ* ABzPp{ tVԨ( $ŔQ0T[˰ |mFJ¬rw &BJBc zH`8IDc8 o1f%MGP':ws\:| 7Cђ&KpSESI+.Gv%L&qG*8XZw) Su|j%VQF}VA Dx ,1&@2Iah8yt`HiTIP@EشC; 3h5b8<$ ?|p@X WbHԘ(dg@p*`x +)Z(wrT "v Iy\!\C$$@rOIRLZGпI*UɇnYBIgxA a\c V (r5dTnыLD|&KR;f."AEiٍ%DlD8SOfrSN}^Gȉ);hBu'")Ru; r)s(J#w~cVc#Rw%C*S]}*fi q1Ӥb aPrs6On|LfռLE1 !D4ʈ):6c[*Z\2W7,|9}j1i%Hl^T)fdU!PQ#2cBeY%%y0yd[$#U$cq]M`/%Mo[r+{Im!X*y{#/uǹ/*\eE/ MOt عӛLc O< )i RR+CJ H(΍D# h))RAb! *D(!8k4rVJS~ JoHt+i5oEUHF^XKi)UfJ5!8VAiM-.lMJ':ג[e.[juQ?_"BX1JT.gmNnqXKIxhE)97_mME#)k6%K/[++W#82!•V]i SA.)"ieN> Nh/CT,*CIo%nث92b 35Ec5L!(u24KCmrFٚ 8Kzto&Dfj2G[/ۿ-i=IM\L'Мq:%7=#3,2h$z| ^4pTq&k6А.JۤLV}fOdjL^p{Ծ񠳇DޞNj%fVuRp&*. ճPY(+KЃ() oW4Tg ϖ-L"`QJql B\(-Ӕxrf-6(c=C#t!t/ۯ>W7{6 ={[1&X(>HS2a~3PM^oe%GkIEI ^8#Bl=j꧙7P408=l7 !zY _ %5(M}ݸi!j"! D!SAWp>8m+2i& jƮ" &mە*9&1=(,ӔDРQRU$Ι?RO^h<yDu2cԃ\\G3,5xq>dEGU [׭e} WRJ3B~BΛ-߈O R ^uw F܂R!ݍ0NG%{UX6Ѻ$ֻתEtǶ;Y#mVD[ɺjn/ rU=\|E2RʔZ@dWb 4o(c+ 5DV^s~Faݍw:kJfu Ǥ}MTSy `,( m'g7O!܉}jJnhPFFn[%Uq FUFProdh""\ӂ/ 3qߌ뜗s_Y&2`d½k ?EtaVZg:4s->^W5tw7m~j,Yn[õAA!B|ĭJқSJ[wbNy&'5B9%v(>@q? _U,y bmvk̳ټeK3|%8kXB fKf0"e@itȅ#QrAnxEI.+pC5n%D!zܵo##iuH[0 z- YNt/,|_)nRLR.!)u R9fF=^7ԑ;<6n&:R,btD[3//?>&eDM؀SĀ¢u+ےEE!\7ɊtM&D(0U-񕨇hU"adwkQY.(_pT%tSGтj2n$EnӌQ{r.dX͠ܫb{aL~pͼdɒf6(]/Bm泚wAywYI2X^5pC(u_o8]EqJ%՚;e)Vd?X\+F2{IGiKi;2ʕV1ޥJd#iA'd6F;Y M6E.OfjRx]PW&厰((MZN6a2NDBZ%BcwZN}74ݰO/*%DipVLܢze 8/OF!*J7*k~Nrcę$@3i񺢹 [j&an!P"עpT*Gp[E;|޲G"a]LAAnRC.΢C]`B܆4%LCX/:m&*IVwOdS,i=j Y}= iQd)B!o3)gY'R▇Ped?5hۘK{mjJݔi2Y︂je9&8+usHm7IN^|΄HPLA#O#607J[ /~_kW^k-z*\A^xF0&1P+ Zˑ0r-E,VcdT) @  _pJ^@N *PlxyB° ܕRYC$Fzyɝ Dz& `L\Eyzȍ)_4G!PȮ-8< 7vG6uQeEBeɂڠEpWlt2rŲ.lCqk~a>bBPQR<.<'=4JV[TbU>r QHUҺf՗z`!J22Q-{ޮI|]b=^?s?]aoU[YS'9cYs:,wyj܋!]e.p Age?d!t\[+ԢDStH2wma-vZjE k&P r!TfB0gF9L@7VA Zͯ$"O@yw|x£NREQJɛRRzjJNסA7[-wMU4?&fU;< /魩$QtL(GJg7Vd eﵬ%~WL%xqc%D:wE}_?vb*VϲXV]VjwJb-P(*<ڍ0Ϯ%{?=И(wJLi`G*|[o?w Wp 1eflE޾Q̻wS"!ˬi})A`~!Ii(fNOZRnY#aS#fMA%<ƮLƾE uh:[(N1=9H6Yʑ &B5pҊR j~.mϹ0w_rr^xċ2τSuÄu q\' 0rQ_eXr%ʹfYz,A,' gGg3! Bt'yF+k)aHWW ܾg}\VXek~+4ŭV(Uڮi}K;B#T_=J)rC0EbUL^B("ӧxgΈ#Xh#蘸 Gizt0'(EMi䙁ps-U@8AǤp `dUIUcd|Da/?Y#reI@gOy&hhBZdcPɉ,OB I\K1ກ 8"#LQakQ=!գ&Bp,:F s1z"=1\SrvB\N|Uy{!'I C-TS..?Rhd g̹+$v9T@ƿ%Ax5!b )i߳fA(:LS-2h U '5)ٙ"hn+'g1]BPmhL"P&"WDH_BJ5w-r\_晊ǁ+ܙ|3+m" t--/ޘ9Z#] [+oov" PTcujH*e& -369A%X| OFI!P+f'N7s .a3("g=̺7(GP#uGED\JΕ8H0jE 9"_#+Sf[ CQ+P8pC4GYmH B*ŋ5p+d'z9-^xR8"%o5˳@z:#M\~9=C̍_"7~1Apc\O<1+*nBu:bm)jh,Sm;L .-BMsV^9D[( cuDɨ̡D`ִ&$ 轳J1(E+#ZQ)`c 'Qg5/ r q : gj "Kl,t@XI"\m H]^m`M+"7!8Pf$|gԙDK=Άϟ'!My*DM Djw8ާ?㠎 S "⚹B6vcPVhTS΀T[h@V`Bԛl@Z7TGIOګف\90/"$bZ\9k۟NDlAX&Qo c_#& ^:ɮ ~ 4z7-⽟!4(yƑܛCXNԊU"O" Y|(km&lkv;LI>!6zv'l@|#1Sw+G%S}zJ%8rg]5pi*qҐlzfLbcN5ĶOd_J䷝(&%wz W;PY<t_g/D=U dAgQrqB:l2|Ej將ZCHpz;G\<%Vq.j.C2>`DE[A<!nE6V!pĤH ReD7O/{/]:[S gQ&8'h$Qxw-U |{C{;tuMU)#g۶152u)b>^D'\GZs S"-]xTLPUH/F]d3⏮%zV;/PJ@,v ##6huHHuT8h@Y.\vQ* 6Ѽ¹TZx)DE3S;Lh~Ly/sAoH~t,NNʡF>KM-? M_Dn^ޒmt +\syK+X}@]ĽT-"o*)q- Oxh/XUf-(V.LuYTK ]vr3~;@د3F(LMΐƃ0KBc(g]oX\W^Z8%Cz@gD1xZ٭MG$%}i+ رUp/&ɷIP}(((c+:Bh5~]WKx4 `'E+W@/>r+!Dx]tFV/Ct^aB6vUJsJJ7<d{x׽_% ɗl<탥R!="&dj/(=LlI;Zv"-e5rQ{bF_l+Fy +.đљdPsy՝ѻxj-u/Q%:fJnx?t1S-"2-͞}>^Ww1^ Wlj.1CPVɑ1&6$ ImdqַHߋe=rNb+j>NM$`\RBhgQ@ܙ$rg['os޳g:nU'.~:Qott/v|-n*>LӱI2s%wFHBK(8~&`A. M`Z {Pie &H`\>d> ;ia)EBY,a(HY~oKTcj0ìdBOZYtN-6 [_y)bEjT;ΕȼS`Jţ5K写tc%mIigiȹ5 [D˄5j[y4*'חHil^4 CPl$zW FP],! Iܚc@yAbIkށDCBUQd🱜S0sJ=Aj_>&" p(EĽS2gQZ :[EغQr!"wa\^LH4˶]cEk2o={"k-Y!\El =,VWh/zj {"G(GW:5ϗ@\6Is r8=S:ܨ#g}hWG*ǭ3T#H͆qiJ,3Hnc ?.᠃EIDQD V'Q4ՏRr@$R0k$@\v7:j0 j .]= T?=.WI tԒ0JpOj*%[,8]n_-z ag ыp4$MbDKc4Llߐ{([>hqd'@y m-O *زJaYUl,ya{!n4Z< ]V=LHA- ?(4e 2 /hZhQ-w0x8E.=^PՅ 3KňZǪQlYX886J`ıd4; Pxƈ R85G]N=8k#ЃS# XErD wG4`i Qe$82lh6!ba`J h JZl;\$DBR3()D&ԯ#y]RLk:8]Y F04+Zrce 85Q)@8 W_~#5#PgjME"Dmfq@[<Ǖ{^Rq X QͅRsU(BR/J_ܙac+ rI!"8 /H4Q 'mI? PQ(ں@ &XSP%Y,912 5f ؐwi@CbExX3 G`6Woe̛x@gHFV|Buy6Ģt!\QZeǭKrACN Li$9 ̘p`~3Z AcD$wlnz@0A$KY24hfP;EO  ]wܬy,ѦeQNY¥"ajCBP}# ҳ#'i5 J '{^7Eџk>:848Erz{ _m[қ8U=mH1!mQrcɅ͞l9xbn֢&Xใ(S忾dlwjaB@O՜r(a[ϣRjUaWf-"gDR{qQ+GuXI w'0LɘNS*inr"!U&!-f).[ wtĕL?tPȡ+F"2SV\X<(Szr2޻~^&xLRVyu5*lp'Z`x.Y䤕[caS,0&/͙g@W,B甐:>*+52''S]-0d8#~dO5. O7QXu%(4,(y{|eK3f(E#"ymc*`I7VJN!j' 2?6  Rƍ =ԡGI\hL3!"Sِ&~# d!Lph 6dPJ#uFqHc[p.b"aɰ+d8p{ovQn5pHAfj a%yYc#j\p5S\3c"E jM"P]lQ/H0I,t>Uea+e/ .Lq|Me6)4wwL/fC(q$Jwq͌e-4[tSK*aOuoj:ybzeCE o{a3:-0,UI:Lѐ#U&FQS%);܆LxaKj|[MK-Sc PutꄵF,u IִBQW(C\nw/[&aN5(pF&+&c۟qD\EHQ-$ bUWDR MdVkP IK.C)2=%w-) jf =y1)%)[UDؙ rn2?A2^jsMC[E^' O Q$R>dfi!֙lA"nUdQ`{8Tqַ|I'3L0R7o;'ŻZJ DfE?_>Tµ19۔q|q/BL^~mFvXg3jي|8-:xH|AN3Qw*P$Z.>C񱧝Oe~C L'ec3D OaE$) I%4bPA"I6?XFyDGӔZMo/BpU>"[wYQJ2ˤf7ab8wkiW$Gc"K($,d\δPt%>jׯfE ΑBSXbs:VdpINVY bY%I%DC6=; kYSHorZD#<CnQ^Fɵ/Dh 0VE #|@GL^~pKVMm^Ir̆za5vtRjQJ0:QJa}iiz3*hXTʙﮂ.6R K}.cL4a6`QF 'l@̑ҝarS.J_:! 0*Q"S4u% CO&L)M-dNRSe{vs# B ~%Xr7)s2`"u!q_6xY$}f/ҍdHU)0Vr@ZFIKI᭳KlCy ^rjbj$g-M1D&'X~ǻy:6(YSOjW]SfG B2m63ԲԒ )VCc4pUS4`넲ʋ?LTZh©& '́ӟV5F,䫫JaG8M&Z-a| qgS7}LNIXC7ɨ̢/hHJRBZ nLK讽)!r*.qy!% Noأ&>_SʁŬlL7M+SU]dN%'}g"ϩ=YHGj+k; \1XKnD_E+c9ړ2"#$rzH"!*/rJ-33~˥Rfĥ: n)Q+{=b5;(eӪuE7XQQ!w܅R#TV\c꿑roR! $%fZ~)w!Ld)] }cmAїȏZc!Zzksf>i ZKQHT gj+>+@̢)z*(Awq.V.Rϭj_Od &ԏ/GiQJC&BS`"}b;^!gOn{[XG.W1ugwHEr4֧k]ϓkKRo*hBЈB5%G0o90hyY"g1MZv+-D Ao4*&trnr ;oc!*-kP;Rsk֔C;#Z7}I3`O)T%JhO&5w+t!{E"LB5L~*a1ꤕӝtZY O)] <=psZKYK;)^.G*gpRXASQDIP!(5b')1EIbpj1 }Qj. 6ʥ*@/(L +6\j=B#s Tb+mH&hMfӣ[ F!^J eqҨ7LnBՊdxֲ,rcOi0bWurx^^6uu;{9+BL8sn?aÐB -`E_Ze3'K5a֭R,5SꟺVG:#p+DcYJ(OnEݹD'L΋I)>[^[{7Z#{QP:9TM_FFUS+ƖiZDr9%9PabFLSrhM3ƦR_RtȌLoZY*G~|aZ)$3yyReBHDRK&ѫ[7BQmIVjb/r}I:$SS5dSb)Z<Ϟ&QN.P.ٰ%>:Ss;,UնRc-rEBu;!}ͥ10Nmz>SU(,)VI:sv4&zz]iB|u㞒TM>ߗ]K1jgVvG-G(D5uo["VxeZmJ!,5SߖKl]ȉ}r%OTИ&&Goy?ՓB*#{ɋWY:Cid_2ʄJZs/&JeͧRфAKI>2R C]rTerpGc)* %#uB G!ir!v#e5.-_7ua-;3!NI=Bs5;﹄1ء%HLc4Y4|'yJ-Prq4Im%ʱ Q] *u;a [|f)z51[τ '/eq7xڭ i0 FcI(xr#"Du3!Ԙ$\]~!H)!g+S;p-NbcTBl#KnW=-r)B<)`g7Q/=#2vZqErj*֡ʄp825v%quQ#a+vGxP݇)H,C@u)*CRJ%^CL#b4@R_8P y͹P+@<J1"`8ӂ$˹tS/@= :L W |KY$ PG*DQ4^C IL61 @F#Œ!as6}fcZ{hq? (cZph@%:eAKT!bb ؂ %/$P9Tb 0Q*s8" OQsW2bpAp !SHz+՘*Xn^ 8=6up*z6Ven|`ē70U=`2JQ]qH!g9[j z0@I ";T=:_cދi`% ,S #XJ'N9,gAe"(/D%ᢒ[] -Y2q,"-C$8N%Y" BCr ԏ, k9т# :!Xj1Ć?I) цvI'-#Ts5y3Bws/M !Wr $m1,/FG|hPd|`t"dSⅆqYǠGKi(KYAo}j`1-̿&'-BryD2#.U(.Pyi CO(% z$eZ-Q2ƣD . nڞ`)J@[I uAB$KmJsԾD֗_2,>lVj]ЪUCi6 \`9 C$C]+\&luSZim0CА&&A򹕌tوf,PXU!*"t^+gН& In>46G5D̒Uos^BRd>6pyMwK騭OubI !g3\êg +dT{ ‡ jK  L0 ADKQvXH#BI*@ ,0[Af0PDHQ!4 gMYt6},,aK^km SZ&{& &팯"^,@^ǔRX)݂R $`YM"RO6fRO3 v<+ew^ /WD9".6;=rEDZ{ ɽ’XB-ňFDMJ*邵BP^:-#EEM$+!ǖx)%JR8]RߣBf&O" E++QL)~TCuE )|c9p̨*VQ`/]Q (>E$IP,HJR`ØS͑cozH*adr7 (j}_! wZQf: Y%s 0C1_.W=YKwB_ JA/omDiNrMQba,.$O"2H8ŧhjT XRQDᕜY/լ'5%r`FdyLD|CHh8"T/}NnY `J]L4$Y;B+ВI#Sy&B#p3$~[Vu4s BG!`FzJ/a%`u$yt^%$I )dmՅI'1f= <+Ye-JDp6`Tu?aL`&#y~,͕ jJ,i a!!(W1+](lCZdkR^ eR4Gꌦ^C%i /v0YT38| Q(NBlg$bf7sh= -zšu]Q Ӵ!{ƔT-ſ2(!\x{zfN$/ jN>ՐNWa31tC6, <8ДeyXQ#ңs('\jCÒYb Mq<Ԥ´N~N},Y#<~M`uMӈyAJԜ8ŗ:*R~x fJ0}Jl6ܩ-uahBL@a00AņJMJVL9m9D]?+%MBOk ILAW2+12Djxl\Yf1, (NTK7<$EB% {<&@wμ Yau$]sˤK^;L_mv Fx<ĖYw "HCN-\!l$J,o)ڪ빑+Ηe">Q69\~o#0n!c}CXKThwmDBReFx Hu/-09jr9\S D^c'$VA+=`a,/RKLA qI*YbB &gpr5kUIEaOqK[hPc@I:xPx*hBm8!1a!$HF ߬xW У "+Ŧib3ANȉnQ)d , Xh=д zk9‡Qf(ÁADRCVQn .(f'B=d$`X\% !WF0ӾKSO2u4ye.aJ$59ۦ&ئ+aI1撖0g!fv8JO&lHa=n /\,ŻLP}HAUpa̡÷Kr%N*sjs= (h,1 Re`e@lG- Aoj(бbui-ekQ(X xlF;\-%M8t5X A^ 8dA$R:;Sd%Bw-{r "<ة*F5vб:5/1F%\Z.&ɉɨ̣|H-<0OyX 2Ý!a1@Af2!Bu91M˄1mKp!hc9(tVS R= eV1L BW(R>됄D7: #%Ec&7Kkc'Of_~G]16%-P2h\6T'Qڅ 'YU*DZQjM2@ j<`exu!o)^fL/HacIǿ +9NiE/Թ)zj8X5ښNd/ˎL)MMIgB!+ R(!Q 1U^PKEX룅 !ȥLǠgt @ `/Nk)袐d9DFFa%lA)e$9*#$qHWI;Hf "p›KZHl֜DF)TnN]t9`z7A(#p@hJcр(#b"L;2 wô9@:.̤@D2l2lH^ !XNW`N$5TCqDo< b%0@6vc)A&qW¤US5PPJTד)` 0FPBXr(LsUTEEw!@2D 1?D!3a01,6":M2Xn9S \X'X-U wY $' '49!Z `N#&C I\Bt"%!} q56f!1B070!1i"SU!Ðh۲R{E%8PuqƺwZ 0@K b0 [2dBֱLQB3 J| [0rH,6:T3a:my܆ \A CT"PEf(ʮ}$Gj0b9FCmD Hxi FSܧnFQ1)3aE VWGz~F" ARJ@V^'c 8 e8pͱz Ed0A&&OJc5@ȧP55c)iUl`yDwO `@lQx&_G9A~Pc069 \a oVP! R0R D J35 _L)߳Q<+mr3$oCMtQp8"μ*KW  Y`ZtW>cQsN) ?.qtIG3DprNQCMLh rDLS *.Ff#0H@#E4k1ZtJ+$M2ycY^2R:%̣_jvV3Vt캆e$$d_ᨊq)jʑ{77Tu"G=0EzMjm6FȄ:LM^"Q'+u y E?EM:PZj?fR8(B2B!D2qa0 MA~n_A+ #u$CiYD%OF1e/qz ,G9-  -`Z!{T8 QqGuK뱼+ btQ LJ=B娂zbUEXT<%ЋD$Y9TdzC9*G<*8嫢`1MAV`jXDBLJW.Z0!8XJHvRJ0,u~@ifbln%X3u[ z 9a",*RcރC YpǙL*9VO1& L E,pOIl^ Xp_Q 4r ĸ2M`[۸`EPZL ;N]&rD QY;(ó3YLjLc 6ϕFC 16 ЀJ(:Rdžpx Q%VgXh@$_A&ŗsH1Ƌ"PӘq |ҢDԮGPPwFo5}=qHrҌ ᣤ(P,XLG/e{#QxzM!O OAvC$ȪM!eC& m5)H5>Ye( Ċ%|68$ry>QÉj)B8̣hA+B\.%mtË hB}R]<P"]S%A?4DS IJy3^?y :1g }gS`pgw8*9AOi*4*!)_]zǒ#]kt%  R?;gmp%$pvU:\BT4hNZĚEIAIP]P 9GC- u[ H=H0p҈pP\ z* +2袤P#3'WBx\ x;` BCLMԆcSM04wai2u 2aP<`qg ^% QaRvYpb A MPR ‘g`@jώfDy|X9`b /8bB!Ƌp ):K} j&FdN䄈-.Gɩnͥ\pKqQ*)f0XY# hE#iʳ) Z=2HRAF-\p%ȹusMm,6!#j1E^و;{Ì!LpQhhpy=D-۲@AfW[L7T1V+la!= Cd!-`(1M=df4|qHBN'aY?e祌0DP~K} ^h/K1 PBPKmne@o`Xs^7WH\[q p9F %e+9ywf iǶQp<) yf!/*2& qYiPqd0\E0;`Ɉ̤R<ҧ&M~]_e}^Q\IG`n`Y]Iج^3D Q⋸Zɯէ鷑! ?9X]-E.D"aIrޱS2'PRJɩTɴܕ)rXBՎAꜴ"Ti wD;uQ(OŒ6ikl7eaI u2$:'P 7']Nh+BXVPDPQ]*$uƙ2,:ifghODVT2ě 66S}b 蠈z:Q dxdX&1Yw='`@::Ӻ6Ռ\3` ->Kdzv1b"]5M0M,~dYCՙҿ/%=%<7t |tVt Ăg RPǖ3IRڈ`+6wYL; _վGBgbk "BCo@&kLWM#.Q}X)^5P|If_rA-)c'p&Ga.m Ϩspl\@|nBUH=4K_&#\`UkeM*K%ݴO!"'&4R.stQeE]-0''JəRP!}8'Uլ4 /˦x\:;Ax/pA/08RpqMUv#"F#p=KiPG$j,*!})3< "iI=(yn#x*!"1.HQ]E-="&E_گJ-f[sd K%e2BLPЂVdێ0꣐[H *زRmR `KL-i-$TUA8ɑ%͍!/ 㸹jT_dEC%,'f+8>W9ʸ(}"w؋-4Gnkq7ܼn +@L<\u80)<*he~e:=2請sBUoٷm' J9v}M᯾mf LPo,r*jdnY$a|.4?H(BelMb"5oRY_PK<Ѫ|Ee)8)gD`];蕈J$QP kg1}khm({o Ks OkGV>=GRF2.=8j]_~ަ^w0DRI:)I7(0eAJ4b:SS)_+!X/h̃iyhO{F;h#mUDx5v3y=2UĖ æ${)Ȭt2S򢋵"UG@VJmcΑ%7$> Xj.Pn$l`,DڱϦKtHw'oTqJ/U: _Vo VEe- Нo8Z9 o/˕1EA; CUuY'/b #KݬıLLd`248ScˀG|9*{֢R=$[KQ2v7h;4!ԑ"oNnW-.ƵO֣E%fDd}-;hȋWQ%f=):ƼkfkeH0e^zr)(qI[L8~ P܄#?- E@"R0p e!Ӳ dHb`zX2?vFh ԕF/mHrN Mx8 f2b*Dm* 0GބI=l sb'fpFb#9Vx.IB!S)Nf䡡oٕ'^f"!%# G!fOr)rT 3S( U{e/A谎 sŊg"po 3Wt%"=)I}qj Z;Fm'^NbM˻ej=>2+Vd燇5"8r6*yP wKuʝQ `E'aʱbl)1G0: !@858F7k B>(*P@?,)&ӡM PW*((VC5;& a%gYȉ4y$0! ZM=[1=S_aR<4j.-Hkl;{Xʬ"J[ AYJz z6.U S'qwC^M\יI,E:ɕW֒ĄaDJ0բ$RKTnpS&m¹2|XP0P`E= D`N!V+rYVZ "fh EoS >_RISWx^l@5 a^pb^$7|X"Kg$8|+cs!&G,5q/'B9 E1(Wv/ nܼ-EwU#ò% 7 6=b{D*&UY9;-5T _VЦ=sєwͿ)R(-7H&9`H^"~kP^xבMՊue:Ē'/M,t/Ѭ\Tm"X\e|)N<~{$Km(CE'-vOC$ q9RWw;2Eҷ[\T~Ͻbe)% 4'Jrloi62f}c#5"31ii1|:zLiJV!1P`X@8!Xeik"|DhuLq |\ѵ'r\ J=6CsQ,Fy3Z?:?f Ul@-%V3DR Ʃ \oYO.Il[XMhz_&9j&lf X'iKƙ QB4R~*om19D7"FBj`S\D\MW<)vOFXlvu9'Nw㼡B  uS &ǭUvg b@1pGf9bd$I)<6i\-YND")Y3e߫T0kh7Br&C8;; beGBʦV_bq"Os}cq ENAi\1Y9'Qf ߽bIǏKavpajXw6]xBt*Ŀam;+gymfqxO_f#أ*W渧0蚻8Rs +\EʳCE3y1. 0  U6ڏTⰧ.XS e{&yJ7lb {XZࠤ @LSHWFYV\h (C6Dj]!+ br ۲iK͑e[s[%WMwvXbHIQGv&I^(\Li&=ˌU`SroXgUiM&Z_PAg(6VDofDMsT )fJ$RfMC@M򊒝=wćCä@]`IzgJ&;ʋ5#:R[肖]򓕞"\F@BP6)=Tfۤ`V Z6)q)?.-}FO|յdُ+dx+ m7ep*nHC*嬡rx(Av=Â>:-菌DY)t\b&jѻ%~D\S#28B<;B?ȕՒu r=ح}M9ߪ)vj9r! <\Mv+}_L~lY >$ IdxWj*db= vTeǢEgf9l~[kCe&+&V?H\؝R=$i+tGTZYBc BT8 |e\pm  tXFFk~[:8xeF숬DUd{Qzrit9Mn'A|T|BDv{pRQzq)rjX:l6l0 4|FXey(ہ*HbP Ebj R58[>00 \0Ј0&6 KߛR} *3HSgA1LZTգ73S<2+J vnҰ(AT-ÚU [amU+a m3\H/S)3oj<J Ѩ" #ؠE)&LF"ɿP8Q[0T2U#&+fOQKc7)u_I[e-B ^xM |nݸ/B۱L-c2:UDזQ:vWB\v?<~4i| Aja27YU z5o{Rhb9^ȉ&GuZ΅o+CyG$2`(g\852`""d݈Q ="GW k{FA pDR}qZN59 $Iu{hڳo Lx5>np˷UrZVJ@FMVX5&_Up'Y_X(I³ :~yFU#!.3o]uSԺƎ+CU fۗ>s%R^{oZVuGbRT,(-q\R gn!P $|'"spC*9!\7v^N%$[}D_J+4Tڡ<2T( _%܄b1n`$Gq1*Ddc9RFڑ{>jQ d]0}k+ג~Ӵq&[''%-g"$RSKSYniRLPvB^0 dV`xC\h&NtJ| ţwa8*3M-ҏ{HGRy wy +hZ8=Ǿ{x{޵z9JQI/*̢kuR D~Z@JY5D ֥BbKlY0$hXyBtT,!0N"ؕ&GdQ3x R܀ԭU `bOBbZLkXn0OQt%"Wl"ֈ h^d-e G ̆gMuC2zBV́yz8wk- $Tv·6] JKg`- F `qJ٭:/8prYJ6R"+?5=\w0Qb{WIIBL N(IAT>ZFvP̳Rl}*#c:_5ReZm>`/TKzI q CʪŶ鉈-5KZFpø@ચJ'5O*~e8]bn{gK":Fk8ăd 2y)2֋h6VrGm”$iL'O!&.U#vR71& 02Lʆ.q-4Ubc2mJlEp B&@n"dgN%Wb OFH2 qLF܂ƝqoVL{2d?U+fjwqI%N"s%"AV,/i7YD*A@ҔCI;/k;]4H:' }T":[3G~_٪8"#Vۻ(;I8jfk4ڹ~+5$ /D, Tgd8d5iB GAсJn ADD taVOf?ցXˁD 6V(Ak>be5CRAmb5ܬaqb' {ٚh)`Ny$[:kp*; n܌Gi>Al=J=H*+( DL`QMK-Eʡ4\Nf£ۥ C]d6.Nz಩Ӆr$)m%foJRO|Aqw^$)V3=rY?tB3; W&\+9\bh{h3Bv'@J  )Lfh#hv%:`%K cpld=\֣ßTfb0LDjj~O 󗅊:O̚tt%E)QlUR!ύ,D G{uYpU{5):Vg%:!oLt:lӊJM%F fGΊDR#%0R0`Ӡs6ԴVK"m5QyҠ.axmND%@`ZdЦT`3Iy*MI1&զH >4]d\JI%ɾU]Ɉ̥F*흴|TFSy;e3C%c5<(I::vTDJƭ>d䐇Úl8_JJNJZ rx!v[|bCpc/6̨P#9gWT8n9ef Daa4w$$UBZL] Bs-`Cw0˜OcVoO%,0YYYьvxV?9CH  yôr eh1B0V`3f["B6AByAgR.0Mcoy"V*2IZI(1>4p1:ӑa<Jщ mQNBX#KSXݹ?#ݐ Z+qǑΤ2sZ.`#alºez:p2B)Z1NEM4ѝ5q8˘b/=_9U eBb5jdum*cC-pU!H2\Ǝ *qZKQ&%ٲo2I@&ocT@i+P ; _>,x}GR$-*Nh% hHumE@j%U)jtI;ԛE7P+ދbUJ~ZtF8VAҩ.9%*L- -M7Iy_AP|$D&t}_E14o0㫟EjPvBgU_WjzpVV5"ct, lI:&3̄ eASS,%!R¡K'YB# rTM/H-8F bMvEұ /^/D"f $/Wh䩾- ^іƏ{ah,tsu1<]!-1Vl1%8lE#QDZcppt7<+6ۗ_(%핟1IBdPຎj NAgPGeRe &H}ّI%$PN\-gN{cjRDNQ]GTFwDB##4Lm*oWI:ˤ=S OLbɯ8q'b ^_e:\t)0%-RYw7A}ђ(gte¢4s!-'(K,3` 0xL]ss oDPkҖV̒w+Y;`*Pqh*RD нId+f82<ݦHjKW4DkOlHzez< nt7Am λ(p7N.|?ވha(4~T,g/zƫ޽L1/ }ƈ[f!6! g7H] GdPdVQ|Xj왯l%D[r3T,c_v欠ܔiyI_Y/9D"QAaQaEr¥IqW*OI˕:ޗG.Ҳh\𠐑B~UMP0eDu'!Cǯl$h^KȣO ur&5Jfi)IX6/&|^!Y ز #9L F%e|l%شe)xmԗj&n:)ĐêY(+rpVмOYoꡘMF_|sf8'8?Yʿ6H,lf d6Q {IusΆ )";-#SaYMOo#:>$dDC!%F`w!qڹ9 "Husӕ{"l}F.wK5U&#) P\9gy- E5~cJHLrR.JFjn.|XHp\lm`&} 8$DMPqCN]:6iX6 D]|C3d&!+"C"KhV&Q>lQ{xL#:&t_g- Qf-<猂"*)S?F zÁwwEdB5l煉T|4,JbaXh@hS3gK{'dxץ}ӥTi>\aMv(u@c7ևj]dş5k5kY>Tʍjr~O7& aOfC[#pZrOٍ 'go/3-{)*塶Òڹ3ꈜ:W rG -Dj/0br#ęB)&#XlkU֩R š` Yh4=f>*@{q|]Z&P,S\Mmҫ+ЎW䵮EJkX3THFpQkut{r8k攷7g,=Pzx/ T.QcS`~]^50nm_ +xx6]!$Bb[aP ΋IWY ="񲮪^U'yu%%|{=qMjEbPBR٧`Axw'"J"9#R{Mh.`Sw w]Wռ#Lf!^a-',u  QIaѬ^*7ݩ(Jh|~)c O *J9)4WOyXkHK!2Dh`?k墐SLf~[J*S^P>r 3 ÷㮅Nsk#"TXX1ŸT{#W&]$wP[tP ƿb ~%i#]Xґ$42Stױ(<+[Gpx2U=S>i>T>eN^%g/S`v3 X-Հ߀v֔A,dvUE mc*?_Z Jd8~`n A|Q%J _ BZ/ŸW6(.."ATh>}ϗ^@7a:Xg u'R QO,)5NмWgk7"'2z-KKcy奩3<Gh]bXth~RfV^d JM\6s }Er65jKtwiBY j"^*@!5JRT@9)_h[I4zt1p|TMTHUBy ωY`B¬1Z(p% YͪE^ {RtcQw_X$~ ݂hBHBԍ<Ԏv;79SA\HtX@QfK|[-f?\kbZ%s%7&aYF?PXUZIR$!FEC]1Z^>YESg ȥnULS:nN%4H ߷LH*;V37(ꄫR3&ҽ*8MmcXwf4 wYj芘L<=n땯-dztդ+YE}o\t%TWrNyF-A .Htp8\3 sĮ>}^-X 'uKG+zc?ZT9S T(H9Ybd%׹XrTτ?R1>ǽ!~i3,hBn޹1&cVELׅ|Ƣt0|g&%ٗÓu0 Ņ.%n@ 2SWПe&=X˺e,BMbo.Q&tNT3yZ[Pkk "5{wqzdkTpYiq؁LGilc ȡQfj"E?Xal]NQeMd"=y#^ R) ;67~bd)9=bH26iʃdl<*yP)~ ڣ%ҷ*oRouL+ rB7#!CDs[t11F K*Z{mp|x"01*Bx9#N[T dY7h؂ZBb)`73$iLTs "G5۬m$ϫD$$ Tz F,X~v!U@bͼ`-`MalO8|t6ǒ n^OFjat*Z^lf[:vʗVt.F4e#/YN(f܉OMɉJDLqzrt//DdK{Ԝ9 ד;FqRcZى<$+4m[5}L >)5IO ~SOdF孛 CS/q e3iB~' &Q[M\ngt6בtM`>$KTZI+}!df̥]iTꦄM("q<+ +!}41WB]€ޡ7m, 4PLkoKr:5Al:M3q#(XO1j-rF~aGPE uy _hw֎,ޜ>p(X A>ȑ5@&+iL; t2YcAuK};e)S'{ 98R+duT#ĻCeE4[wךrCS;IV//nLPa& d=FU,:TLI5lJaVT~5Eo ŞA^b\${tA܎RǝDS%8T7,_< @h*XܶUbDq QBFo ӼwjURkؤʇY'*6QmpZccѴ  f7_"45@ eGD'lwyp -1DmN5x V!›Nd{8%I1lb֒k24>d2q,/j%!a̘bKYPZvK{1q@C0gĘYQF"7s|HimE8XP/g JV49 GyT,*m%`Ɉ̦RdS09-=ޝo  m:ۄt9c-1 Bveɓ+kQSYkRa-̺)_M-S R1EI hKY6SjPF+_U7 Uz1f7G-,а-' *)d‰a1CFtהO.%nQLVQ&W)=M[W/6 D⌜+_-`Tє.yJ%d5aHHC$LtCX w7GYBiQ~W7K_{*;-:tq#FN0C c -)ϞK:ɐ4^'H:oSPx<ŦeJQ/pZw\M%(]J58 1^-S.RKib!]Oy,3`a`# Sq$5蠬*ep:`rV{{ 8ެ9k#J=N~W,%y3Q!J4rbubp`B֜QAteހh@9!n$C pe`_>Zto:G}FIj:e/ps֊o#I 12 j4 q0 v"e܍:֯ݘ ;8u߇6"S ǰ"XtF,/;=d-Vp!l(-|dHC:omio =3e,!F VG "Т5߳CM I#d!h\ nay-8ۗJȢ\{Kn:.ۄ0'% Il?L)(~1+0QB!5,M2OD o8rK Ѻ;s! {`<تI7z1=_n]Pqg׵`6Z s;dJ/[."*mԼjjc+ /PЮT_\Шf^ d㰗W'}"5hy-Z)PNXd t3U8!p_q6F;S~GKzP\?SꭩVg1IG !!L^;K҂eRj[@] Jh)j:-ٗj<XJkq]ibM,8]}fg^gʹn%h4`W @Sg׶xcct#${ `E)uk(a\lTVJ_@чh*5?P<`.* @pp>5V̊ b"l".B7oC*JP8š80#vddXd%<0LvxYR-mIT⳱m7"yq/.?KG9di\sWlL!`ep߼h֘]'(48.X!89Ry=t/}xƑG՘E4ɄR: 3Yl#KM830Q[; /D0,3Œ_5BKxDdt'7j.j"kz16$58k&!. K(p$PPlu>S0[1')ygs0j0Kk#$t4@\e†AA=虘*ӐK{P(} Z;#64aR6UHu+OD=ohsDnsh[eJ o{?Ӏt@饄.l!/D6fjO턲3D^[ovҕ2 r΄{?(ʥި6bhR^ u 0h3]ܳzn*H1NR\5[n2ȥV_(ע5 J~f]}Ho>QCv:iëRʞj(j=Y;$YIKB5\%ӫ6jET+tASH|G=JQK4vDzߩ=ׯz&5 /tFHANCoqhtZk̗kڥ֧bpB+ΉY;N !e{* YkN~IƴlSk&m%h? );!t-<\Qor0ftH6Ntt]RsmF#vĵI%>=)EZ^(Cؔ$IuQ\ztj RE}?`m p޲<) `5e}Ņ{BR-9)46ЛZ|k"0NuSsݨ` -R]d[>r _%rѾJljg+Pi_x hlfY99[gY@(&Tݪ'ڷbKn nq{)5kME%HHӌTPlJ#SAN$f٦MY'R) tت+2%BE*VZqټI(-GP4 0h*3c!#z)P O aF,Qg,皔|&M R LtR24׸\v"Z$W2;jZ1Ny7([,])[ o\]rѴ{H{&\XvMni(E#pcyh^PìAu+F1L#J(>N11pn,J6""E:R%~n[5]V\Ukd^\Tޭ fd٪ t]i F$fO$&~ʒ5\sn^~_P*QKj}R*\"R-&RA'm.-i* *'8CLLȰJ84i hcaJZ͔ րQG)MֽD0 |& wPBAY,0"UlL__U=WKs)TZ*xLu^C2C[%f^$fCn崬-~l M!?%$RA=.CbӲ 4+^ų+X2]y -àv8dF)gN!YlpPuXi`FQc1[ QHt= qrLRdHerڵ- bWC$:8تTAV |ȉA(匍7 QQ)"HG$|OW9~ ԂRE(?O}>OPYJ+ :զ+{RfWcfq'Vmh'&aVFVuCc qBVNRL$P <,1<ig ֯_ mVD943h۽RGcN|%K#&–7*IQU]똲/پ*U-fC'[3Ϫj,!0UwmpgY$C_owXilII8K_btĕkRsHGC҅y[pd@j& LNnYiQrߜM'2\[K4QQ ͧW:eK*O#Vu+֧r_L%c Ϗ$ԀleSCSZPvږ;T㇋-es,- !IvAXrD|#;p : eя5I `TFMSB!3A0dR:đxgNT򽓑 *˿dYT@"B Cpvhf\c44jQLXv"ayJ'-훁R))H }Oفyi*j;!2_Kx?z%d`•}̨uߌ+ } X<{, kL|,q+ݎk"HFvS586\|c>jbbA Bp.ADp? #4qk8,k Ë<&`pw33Uⅈt bX)A ~b!LT Oay+YRS)"ٞ[mT y YUB(oX&jZjOF$SuN wFXEdm󴍿j.L{d ȋ…QKNM?x_X(ĈÒ"ٷ ( fMUV:M˶列FV,$;Vy'Wh=.Watiw+u<^I7J.m[-%2q5H Q+ѽك*U>&T$ ngRªt.!KV;ʇ!39֍# 00Itf>y(H]!'L "//4zGȺ0׌IzRwYbBf-aTWªK>YM݂h 1/Ql [}T4q[ܒJИK:`G n?r/vGP%r/viJ|d;zLBd_Hg$'ׇ6Є+o*HF?wׁt8U0)T J{@"۶l`DϊZŻ926  2m&o UQ uҦ{ s:6=E֬gFtI }f5u  ea@De ӳf+ϔG2#+ŅX||V"ѣ ;@|vj\H|5uL"lﮡ +2*(LpRtkY4ϑIyREC2mUݲ_-?"Hoxka  b,+)"y~v`Q\@qtcki,5s83& L/(+k?8HǰA5ýH[qC;<Ɂ .{=Bb'uðT!.E-x&sD^"́e?)3=tQ9jA*Z{1dW3Ь")n*cNvv3It#ǣbN"ӎ']tZ҄O+C,uFiSN!3@b'<1nH""&R!_i F2`xp+]D:(: T8{g/,eqǘű&n8D\ڿ:RXv71/~Gtx @j0 $!3?z' Ėm @OR'Z9Mdq'H ۂ97EűBSs@*;{ٯjjR^^Fs0F%>imԄǐznMRXmFޖb+پpjvz2ݭ)Iv+_~xF!#3gNML"6D(Jј "!ݹc%&%7VO 慂\- )GD!f!<)3%R8%Cu QEwvF:e1ԺDKBIIc*EG@RN(\`96_7m TzTq]C49 9U("ȖG)5auE` .'&2)xb@@RXX@|" W(c.mk=n/,"R0,ch:L? >a3T2Ilp1 5]\L9WSz2L\L؛q!9ltѣGd_> dVe\."6*b1")Zk75IRC4ǨCFA,S+[6*Z윷If $Ax !hdB95wneI\y.@2EzKsmi7靶Kv{|+]&pITKMC΢fb&eeK]Fԩ_.u璙d`9L b!\ژNRY RlbDN WQYxu;92tS_W $±Ծs;D3IY?N%Biqy;̅\L`L R 8` @ W N&7^bsLĊɈ̧Rbߝg Fhho‚ggu$uONīη &F"% "]2k΋6ikֿ̓4ѰkyM'xⴍhf X/Y 8U ~8DAe7Uqm"i2(RPHqu >\EHEQZx Yy @1m-۾_b"F-~K2po)+X}xh:{|03n zb3'sO*V-XhjJ:qF a@2r; }Z +D Y59a F'(X`_k7Ej֘@P\H-"p DhNq2xKN"T65-  6^S Pj0VLG$bN֬B\q=V\ O'r]~¨D v!k[q c qo!0H`}S L ] !eUgyCELIhm(\cZ$]ˈ cbe,=ܻ6V+D")* <= Blq#u"Һ:8Vk"3N")kx IϚLѫ.vq,URK5z,2U5XjM &vP@N B5",C?gR %N3㪂!w g y4VmR-aRGՌMXdD]S,rUR4tTi~3JulGrt< SJ,/~\^zI t(mOn2 9+i۬>0a҄7X0r&)=P}k` Poc9"'`!<3b5[$&#Yy_qZnIXv ~ `ѩaJmB|USiƾ $< 6u$TdY!uoʹTh:HqwXTh"p0m8FrndŬʔp@66.SJ׿ G*_g5gsbXh`;.o7beF $ qI}yAriAq)ѥ&lnhatFL'+"TnXU 2ҩswD:I9w4_#myMDR+͞~@a;s4n\4}G歴TY_Wl.&cQ!XVM񯢓]BHʅvcNK!& jM+.>Kz*}$P|!m5xGƧ=<듋~JGb YQf6C#h D [>jϡEV)'ŠSziB)gcIBR,_H[r^Wl*6%,fX_ 2 ;R*RQ:Yie &M˄qP bt.6$md?{ϩRhDhȢmB|K4jRTUӋɐ\J Ts֢ET4c m6OwV7kU!mIA&Qx.)5Z0 bTFC+&՞"+:ԁrrC QCCՅR|xB7%Z&A;$4ełXN2fQ3H,6b)3LV;ojF#u'"^ >଑Z_m{(ŕ&4y*X)}T2ȑ4.Y#V>3 6,DJX)so>[Nuȡg(IdsrIFL7tƽ?{7%nVã_2q5XR }1MQ}msaM)]dd5NMn8\0ҪEv?譒wق~XubM'%Lt*2胰t@{}jnZ>Rͼm3 `NOm}Url?'?ԍJlDBL2h ?0DUJX'$:+Ez.`;|Pa%k¥_}BD?8z'#;A7գ`dĒ|.($,[%^QUʾyVs(toM|g$Ϻt!тTZҩϭ%v>Lw@+#wiY}ؔY.>dgj??K&}rdlj&4hOJXT(&c$"^GQiE-PQ2YJsـ`cKx>spi/骮D.JX2ǯD"{hWCy٣3VN jxrm;®, v1K?^AU42EZO)~MOR,gd,uƉ܎^/t]^⺊_Idkڬ=>.&*|x?!SD$h<2h0ad# ^wrhE;QAӅⰴM bKH5rsh)BBPhwe\$3v5jwۄ<~ib)+HvdqϘpTCꐮg]I?Sӂȗ7u\iIY7ZG;dqȞ3\[ù7#Zs-;m?+g " {[5J⥢IzyFl2\R-u~f2Lm̯ `:X,/;]:DyFh֣*kc-y|LD\^PkYxQ0{M8!XK91Z$ 3*P&bw~'3PZ;S6rpHd1us!DE#(ݐȩXLnhhlHo1v*ˇ8Ӥʧ7:W"^4&>eHO,/b o$=:b^MOIq%ߣFxJ9)j(ޤEp%6ӫne~UiZ-(dڅXg6?U oj.!]~DheÞ)=ED]C/Qc= F8K @.ȭЈr?'"G*Y@HyT{Ώ5_șdnn5h~6<ۦ*5*-[ +j 69z/h>v.Xu)rv}pS k8 e@]3=$}%-C\^s]!5.PUM۳5Pn+[6hg(B+( N(UńGUbQ.} $A8[>" 2[ǻ4K:LIQ%D`$pR{a-(dĉ s o,HX2w\K,BbMď<",À]ԂPL pJ,͢sf $63T`)H`2GwaL3li "q OB-qZ<]aŕ],A\X耿r+^MߛᠺƉka2_]Ñ>:[4^Cώ74X6] 4 , QPafӋUa-c'  Ht`2#!$ "TCɣCc<ʌNi 1#:Sf4i4G n1#6DDqP@BJޠdM>$SS6mQL}ާ@cSLAUB% 'ɶHSC "7@RQ.^ņѧsɄ1bYRe{D uEn&%b8@?:ETwpuĆ_ Ky^m6jbCFT RiMRRrY -~t *yqi$Sή M-P\4t uV9Nc(*1gq@tM!fP6Po!aq#_~@n G/Y֡#&yԋ qpі2HvmHDXy4ht8]!:u4Dt1ĝq8i qg\ƹF 6&A$L|2Gm(Gvc#xzb8G0GFa#_0GWyHąD)Q8:pWû ¸WA^MDSQv V3(";4vvIGfs1i\peJdu>~Rq #Kt\Hi-HRઈмɘcNՄBi?ЛC=]RD$z3fC.Ӥ-3Kz71DAZ&-]PCUĉ" C$Dc>pF-f~NTPFI(7L<-|Zl0$*U_+ir6ʜIѲ# "NPVu9q4֨@TAjk\Z(r*X+1PIK̷ZpuM;J>4[,ɁQU**\B,ɐћI9_*TWH~.TV&n@6 gVȋFgD&o\cD3gO2d${q6FUzd^AN}E2h.?L="PNa%*A,D7C4m\ J"_LA)J?(7kW`/$h,eַ"tq.R-O, .cU[;sD(A\P=PT&$uR]%dQ $ꆸW|Bmo%.|6d#x,Z J#n_ȝ|x)4+FQQ>.wJrEYH-תUHݮ Eڳ.&I jӮ;)o竂WyhOŢ_u+Jӯu)m/[CJ(5lȉ^է@^Ae/\ChԤ]b~o'=i-xA/Ⱥ؟&PntNJ(:>~dL@L U.Av%&]5On5ib"D&\.?ilV*^mU,.w(#Ք͘]9qXD,b{\}ˣ S'2[rp[%SL!yFfVH] 9D0!a$͉Wb=nxop;7r-ة6oLD]`,FUX QatqәY ŏWQNzdZ@?,yZ7!6B: γ\%Evei*{SMϲJ-]v8>iH#OڸA)"ndk#_Q,c/cC;Z~T:"tL~| <#0N `lS/Ҩ* #wi1ITdG1G5+&k4;˭b5pd?4jBq-w,޷A7'JlXTkQGo>d:xj)% =ĵո.ޗ%*5_3$>īe=\YWޠy#TrFAeV<i\{x[[P4{gk{ Gh#Z 亲r|f?5m32髱ۀHbGM7GO.~R^N"M}K72 Xfo?҆r>I) 뀕y@D{#iLaapR ڮ@dM^(;,}XbYhep܀8GR{O/բ ۮ*gDMhϑ[-)5Bjۅ5-T+V y:͠h #~xJ-;3bß8Èx?YC,&LcATJubЊKiHA SN/Lɢ 1vXza$葌7&#Y] T-jh+8sdQuDqE#3$rR ݥ#Hokb,0_iD*6,OO˾j:c ``F{sG9RUQ^C!O$b[pS))`cZHZ}%<#!nh5[jz.`uwhV֭k6dl7[[mXβ]P!$obIJP==SzqVΧKǤx}j+x- `u4ʤJmB(I:ϗpE beJ"\|(*rP gv&:JT:b즜Jʡ0ݪVUW^u` RmOpEj2E1<2"9߼iƦ0b ,lpztê?д@PƖ_)JFTv4:6 2brșCČFe /Em3]EMcX/C-V|#S"[4m&~xMKU\<Ն0y_vشu̞jDQa_Zzq`>dITb(%z.T pwڂp!#.Q-_\S~ x9M2p׳pC2MQq}HZV\T<3 uI"hAe *>*~)u")jmKFDSvEYp" S<ʲИfc`xyZŜS ,N h8@F|)wC<+.́y)qIɋOJyI 4}oJIlIq+Pc)8WA4_ ӨFaLUl1Z{}$Sd[31w+O8DI+ʥA1muNm' *b5g&d)nZ ~q \6$JSX9B`0" YGRf Xgt&qvTS7B:} bYq}r ̚YYHo')@%O+ (odO'aֈ $bzVWd2FdqU)_Ӏn1Rꝣx*>Rn~!y*9% mNfo[^0_aZ?Ibs szRfim[X|P)SZ9nP)D"Ô0ǡ,2г|q3N<Վ]ݙWjErfdtj뉓b  ]aX27TrF 9,᪞6 $cL2=##pLm +y^+H,Pp'v$0- ] דP;bWKsIWܙ؝:Ynp+%(58ߗKBk~p8+]R7O-5z I%vG sȉaz/42V.4mxKc_G:jTl6YFܶ2"\?sh N.CE%x`z(S!)nNM2E1^Gm蓍![rrw-JiEiY1wiY1rtݛ͍C4KD^(^:~ GKµT-x36#Wo]*[m#umW\)Ueaf'H$ ͡h 5#,rF-phL6]Dt}trػNV}{O8iRxkj(ш-2N{NjJmC~}YGowTN,"VY^ 񗈕d&?]ƪ pjU{p>*Kt1 E tD'@ɰMY7\k1.ρy-*NF&Ckf IcnY2T&hy {I`B,U;y 0'XSK"' Vk cnjyLTqBG`j۫i؅ D\~UsaL.9X$~$ g9}lke%MUp< ϪkrdC7B+ 1WDm/:d-2uIy3IOBƃ?P7!WS!0WrSLz^;S}.ҕ4H62{$R El4@& iVa>"DQFveeKn=BVw,)9LlΞWW-?"ҪW'NR%ih1HJbPp5UgGbcUPDF(gʼvP7"^2ઢf2i"%1c.cu al+bkzEv4:ĈplFk\I1A2B(C Ÿ@ NҹmJ5VK5 I[=]GaUa)J>Z\.^-ml˥i!Q,Ą!5}<F4I0tE*V@ԔZ]Jo6ZT?Ӵ:K˄ KB2PQ)I*SРZt'= 3( p0D!*l{XIk: yh+]=+L{\. B s:6)|nrm}Yb["Z)H &dޭ;_NB0cQ}2z^]`EI(5ڱN칢7UmQrxDM|H]!cYK̔#12<7 LNCO9JSoʹAFǹB!BĒEkUfHԣm BD% +䠉d`ػ;̖;|@ko#UU0>2l47e$0L :78 5k,#z* ZxOd<ЄtS($ȝn2F9?#c)RBGayHMgN]IS23F6Q-rBAʚh-? ˌZFN2;-)+<['{ZGdQhWJ;ceˊR(iw@̊))ⅦDju\gu5ñ5e~O{(y&_ %8(Q2 O_ˡOx`}!n~HrVZ`/8yIEQ\ 7J+2\5IJ+dxKn ˆ8[ m~*R7$kZ#ʱ*bs 7 HI2F]&bxA> ⋉>d!.DƂÆRp\j$B 3Pki`'vTK*B+rI.Eqͅ'snyy5~^*& LSe-dhVnMaj-~qӓ$dJRKVZńzuӣPʕ;IM nEW\mΞtKu⪛+eH:2rh\Q y\>A"4'>h_ Ju+ A*d82 ``OC9,5M 8;!Io`Za-ID.HLċREixhPT"Xň@х1qSuk8sRj)IX>bDEa:D-Z6_|L9|'sk" vѫ, #*NVH# (r:os qZo^[ߗzD1CR747 9xDpE\$P+9 uY@l!a"f>spPa1!uV'M+jU*vNĜ'!f%Ԝ} BeLaZ\?il.eZO!u.&~ҳYGXDAT#U5UIHTfhr+T2}܏Jcz`(UO zϋ|1 ;D;ɀs-,3tgイCv9<Q L`+=fJА1l)jW˒z*Vfqmqgc#nF", D+^S8hY{%*gbFA}@^`(qb%:]#BSP0.imY_JG1;6V()P2O9˛)jZľVԮ璜6|BENjI▥+^ISBQ+L/XȑRQq@H5^%(S5U?o= ~%殴KܓUŽb Ay(ܡ-܎|6/CvreџSKڄ(8a3 `+ Eyˁ6Kꭿ# Jj.E7zl$!1ٞmYEa8e݋ TVFmz®Ba,{֐R̮A=kuf[li=fřaֆFDF:2V N@&؄gՄ!ۻ5\֩P0g|L?mMB_cDrW$P2f1#V-rR|CC5N˙UB<tUqR"cֺb8sC$Mbʔ&#|4 (Y`̭SRgZgc1 88oj4$"B* fSTd`։3rSbym'%꿶kH"Cav+W+nK5YJIf;  u+ bZ{YlS֟BJ4Ar$n17̹K]͑0ϱclՕʌ+[Ϸ +OSɀvlDX$Ҽk ̋F]  dӥ$.:v%>(`݋JW6>76bN@Q$S()eaS.Fd2Yjk Ƌ| 8DĠKf3?  9N!)P #bAD{K(l ,w ^4J_B?-',nTW>۠<*`=-@5)⡡R?,7HI#suJ;R5 ٰh슼BU߻  WP{;Nh$@Q)|jMPDdtBVE%kֿdOH[^Tymq W?]$d qH(sp ɨ̩%$Jr 5:kE:. ȵuDYv(!zN䪕=J%woKKk* 1z,OGAeeY&$Xe.#S(E7Z(J*bXtfeNB8I@j;qO+ED00L{?)8zoe4cיyVU5D䥆k `KF[ФEY8.TZf!`R|u":jo ٷh KF10VYm}^9CTN9؂i²J;UIޱv͡Xi@^ ˪1 JQh&D~0 U"Hb>ܺ5[L}$>ʫZc[e)HģN E!j 8p!RyCEB> КeC$,Ќ|/1d!Nc햩i/&fǘF8xRLd qwWȜJ(!6jq%L|=^a!lQC<ƟЁe&ԍIeleYaI5҄U17%f.#]d84/AaCD #zY8!=CqpJ-Y_T\yBDX} Vsx*{qrJ) Q&\݈-lt=/iHQ& -jDCFBȁ4@3 ӋR;)$SUcd۴bEꨇ̖m] .$̒Qs?1I&GO J&LBE&̢.-YxCJ'JAPMOFf bZ!d]j[a0g4J4Wk!(#&5lc)yF)Mj+WQiSP6([!s$Ytl f['-na9D9BǨ(c)d87ZSuzp.@QbH$Ʈ0=$Rɡe.Pt⣥.t(4X%T'*qYM5cֺаNZ`Goֹ ռQ1C|w mE{Crqan0OSK,==}E.sEgpCJn'Қ50jXO"p&$VE&#  xܼ 0UedkbJy65lH-w}z%0kߕJoQdM̉a_IxLJRY&(4ĽOskw熚GpL8b:BAƻYbc.7T6 tQr>d<i0tPawL\kճ0ςuuPAfEҠ$A?FǮJsv2";Y:I(n^8Я!!h{3J;}<~_^Ԇ_*3c--V"2焮Lݘ BZ[ <+ARK0H =HBBGTR/ߎ$4f-ᡵ c m4f&De$}(bN}ڗ#Tjo"blA#جtPwI?feKsX7P 0QM^DR ,(Z\]2l2~>5X]lF:|Tt kD:Ƽ[jd$`QD 32%,Ö(HO ͋=^o^t,xш)="RV΂4ړSH ZAq[:FY+I#W5uE ]L#$ +Zά̡к{\R'+UP#FNAhL'y&mE_=eˤHi1DvE<5(QC;\B*Ui1"Y!~ t[/HT<{E'#>Xk<+_֒7'A)&%2.Wq$6RRSx~3\T(qT5 06M2bRǑ5啤'sy[JP[1\Ge *(RlR_ %.KM=MHi"h[cYOyS̜zk&hC,tW }C[e CiTŻe B1Ĝyg? t1AK0紴"Zh5-GF16+4ke9Wut8&L_ }Dq+3;MW/ ^>FB~$^qq3 XR~3m&谘דJ h"NG*a2*Y}fWT \X3].[uĝ'dV.R^snC+CجוOz֞DJݾïJdc4ҤÃpS,]1hwtj9˱y 5+,ޑ,AI&mJWEVDYDUY'D"9+UDyE@"NŵoO%?`QD(oarJBFF-Qz z1oGzc[aϹJx:U>\$`6h:)PT4<. R}!/kc]dHXuoוc*vg"Eu[J-{s_G*{i-ć`y,馺V.Awy10@pv6^aZmmFO7[)R#%,BxE]&):wm HQuN ,I$T>B!v1WCfp'$I˳JR*,4j %LݲQvRwWIwUj+ mDPhPWI/Q=G^I՟ ۍM]i(gd2Z}th}P&JlzJy>kuD3 M5;R(`EL+,Yy /rH<-T*C?Gҙ?ĘNG[i4D,Kr6lsԗ*I;$iyROq(edI2CAtu* (Zn0%_4!9$#՟PeO@&?T|To'i6[YcFuJ;U$uy="aw9*GHpx/#|>$WsAPzXcge=\bUZH ,A#R(Kb<[ 0JaH0 KDh42Uԡ+ڕ%S(W(UU7f[OY/Ԏ+D"-md;ZG'{Y{K}[ ?4_=:Aϩ(+QmxSS$\ח[aj&.ȩ^q O=AhWuh[LZH "A[T'XS%AαnG}%aq(/ob'rQ2Z.= dc)b'_=|ֹtԚ*DTCi0 #ٜEM7l G:4m0"f*+s%_>0Pk)WA!7^#7Yܨf 怋x EiB:ϨXŘZ}=Bޑi'U"A/ $FzqYUW?I.+^#osx6Z(yLIY>c7MO#']9,Ь&&6:7#poF}'0˄x78Yvfx_|[v+SQp= R-%NWOtiW$/Ğr,gk}>C3GIf8@k^,Ro+&.%AE΢#H~,old%1T(D_GmlwNm9pO%A=ܟp̛dxE J|x}mɈ̪HS´e suQ= 1D:Y=kLjBth1@Ynɾlg36/atp`2Lu$iF0H< }4%A)-i{E $Wiz0s῭9FCQ~40XLd7m\D̠tbYtOa9^ß[ߩwdQJi?-Z#wo2*SЫv;|Mܦ^&^qE}.D'5: 4l.H"NaGcuDƇOp"[tz8%F RzZAd:ūڌou,l@R3k٥SFXuAӇU9)[?ּq. ؐO:$4LJgDN"sj!}?]gKŭ"wh T @m'-sPUN4D!YYmOT/&lB0q i(+F0b hDQ02ݎDb1,W*B1kX">h0,_*ݬ Mv?gǗ 4V.~ۄJG \]Iܓ9jºA[:Ixmu9S Qk]3< ;J" 6&LNl#|TjmA7;/~z</M1C U-5G/B7p tXpN-r\K,`3sMb:PLG쭹q;%cx/I8mZ_wQ柳|zwH5.++eNܦ㺮S {[qW* sh[],l&o|o- gԠc._\"r%tXȗib)9eҒlQIЀ80CF&%,-W-# 4ۮԌP-W(ʳ+nH<=BǶBXvKoF=`[k1VvjZ``GtwVNAZ4`/)TOs R&8zthQɡa=q:$^0ynKõrnXro ]!8{y0[٨,ԃ=Oq=ȣ=!}'8 Lr&UO\K۞c=ǖ ¥t,BjݴiaL H0M K"sa$ W' - 8:89>rf3(OY>[ K|9#_"3s&mSJk>2)^g;iQ"NWhZhzx<­Ҳڪ"i3}Q~b[# φK y'WdD pɬ&3ὕ|f{kZvJdBN8*5.'(7,mKk| dR5nzڋNFgxfQs!XBC 4/E]I5^;6Urt2et=DLj9\3?,@|1\`vsvk33"?kZR2Y#~v'Rcy֙`bV'7(r܋5,$2ڞMGA/6)pݩ"JvpMJO^E T]/=ñW?92hk2/=$)%)qBfY&\۾X-}ֆYaq๡K^Ek.JVS΅~E_üӑ0J^&}znyGGA+Y$tQY };yV9.J3dp8oJ0/r8XbɃ#[[1e& a9X\dʲ>; FS2cA0cx  9! k-X9#4z73?%n}tOf4\Pj2{q/H 镝QIk}(50;~y$'UchnzR)\&RH3P6h7 MQ\"A$bՁl8*1GVLkZF$Qu3Klp# 4 9wW6cT6+DVz)UNl,c·6b1a9,AsJ R϶932e^2w / >)k5:C5eA 8-6E,5 nED>8R;|"X8J9_.GtцR38Tw|풖4&2#VGSITz("#ع{4[6BzA|S;xlT_)S})\>Hv#ldU_~j_Tmͅs95 ~(S8!%at*fl2FƓ<|DqAI>TOiI6=\5Z[|a":Hm v,WkӞהЧ>*!Շ^f,QַPtŹU:='PCVxC!y0=7(JIaJa  ̩@ ! KJ} lEJUMӑ 4evr(9T.2=s9O,ŲhfcI',k2Z0b"W"mmφg`?(i >b<.`ӌ6q{7)y_<1v JkD ! J)GNnqiLch0WfvQV`qQGKabVDtӨ{$K%e%bۧ+=_䔌BrFA.. BcC( _Q-)|5%tU(WZY @1gf{Yc@!*>  E mv1 J m5YD=@UV"Ha7NyN-Ҕ&HWW0+QGfs,hѕ*3~!~4aDӃ]ߒ$pՁ/J1r `1CqR/k!µ-КC!3- )o=#1sz%3#2aB= 놸;K?z KbU jD0[2ޗP$b3)7:HD+:=/HzH:Nj+.T[cۺX`>/ PH45j[! `R("f*OP=se#&A7*>e.Hmv .Oaŗn߂"hROe%e)P/<. [X8(⾣vBMdm%A}l/HɁ)Pn3jm_q!lZu0đ;˩AU̯H*Q k^3l$;>w546 ԍ&lIH9 n]kIVF%_ [sk?`9 `#K܋m9ŗ~ a Ed<6 ċLcy[HZ4IAr8$$7A>2chr+v~"WU$lӍT{;s3(BcwT\ E >CPP a1LKk!+\/Tm*ejB3u|B 79fF-pL5P3u =9sFO9BVnBU3o(iKo8UT#2p~SF9*]ŵ#'svy4nJei*"ܓ q FVI \fDǽZKCczxcU?RtH$ꤩz/oJ]SMF!)jDE~ddn6W7\GMGY"/"mlP#~*weȉxe'VAb–Y3F SYzNTN1?$4bbThΑYBhl'gT״r2B:Vil\qT _#;.ЅDT@ߡU 2&FBl6,F!]=Zh⢥:=MTw.sf6Բlȵ¸Sڢڍ u|Q}Eb!{*_:*6y 2+DN0[&IZu-TUDkbCs@Uz*=AXUG΃LF`f'Qj' V"PR!.56HrRI %@yfVA9P4GrDOD9(Eo1Td]6'`.‘Rb szGva`>M8 [+"9?}裡c-4"7 # `aV^{ZMPKI?69tܩ^"GK.|z1kVaĐmAG'ʍ6hpk ;TaO%&%tb&Cv6Nk@n!jDHUA Nob\gƊi޳Iuڋ42 #xY\*NQB܄6ψ@m'*ӌNoek+i L6f I,47 X/y&2ZBCi76l4< ė/sXBj.5EB?\{2ȑW\}'Ze.b< p,@f%5qhlbrCu^10jxn͒\^S6,p)'~'m+0.16WQR%MHGHOJHRe tWXMa1`"ꌝ W8hTT .nIkoԉ\ޯT_:$*}6nh3֧)_$khp-KnmV PƬyBU+ !/7wu*.dH OjjIA s[IN6;*^p~ XyJDΖXbJ\VØYJTMtD+ڱWI 0ĎmhgYGR&h+q:DiZ?:MwqRɺ9hw_y|S}n^ )Tzڬ+"!❦.Tµjwڢ_9:5aQYMyWH(>'֗>!q4CY`n8 j2liYthJcP'T\=2#:i;A9Faby7'v7] nWvqFb܊g܁!ónUJ%$*{v,ibZ܋2.TdNXvyUfF%8Lc/CnT䉈;Gn6)S:f ڵ%@hW"M%**V~dtdi&"y~4?"|& F9gKgACax!StW@{ v]t/h,'siMK7Cfi9r >`>SƨʸU!w| 5+IU~oX29PV53tz]@dkPS@hӳ[>y(j3r'ΫMp.UFJ&Gu15s5gdT񶴥qE{MԼ,EɈ̫J . #ssE_ տNWyɁYfDDRZ̎X{MS;ܒI*(&0Q 2CRuM C a+Lj_i,ߢ RP-| lSl/] }/E3HX*k%rQ[oF![UO&S\Nz)]Ot˷,Y͢-D{9goj]0tHl<41 鰼GpBqdfzhd tx W3Hr q"<#/V)Hn_op}c~'RYbbQiP1Dϑ@D*{|LA0cD8N _{fM<7{'pʦފY3ihدT) c?4~psKB-հZwm"J^ċQ@OG90&qm!9 甁X!hψD$ES_%!pO+Z߆i,DB _PY7 ozL뢋XuZe$SҎNJXGN8QcÔE|!k b͖QOoB JȈ- ŮPVn8'B5w|ݼ0cco Dw)L'>^e|tbQ]J_G0=B.Dd+<ءSl5Se춲$jpA,j.o 3R3~Ù/Zj,eU eαcU'K6?e~'ijQwohYckur]( >¹$AxSQ TԷȜ*VڦX%Q8YaGʜ ۱X):bM1)NU͚NrCkL&zGD1 @3Hq'ы0 G/h(MKl:~jȄ.k -<z#Q.c_WO)0P)S S`ZU!'& kx"0/I7 !Z1$c陹 Gg DYfT͝v6ǩߦ|;FVs<477innK"D4{.~$hB= v|`.]%λ{\2] .V_@ dԂX$: -yLt]~ʅ)re9|9l $&n!%:AqG -PHQZ'lHT֝Tp&8bѽtimāF+0vQ z?M;օ7H_!HÙd噣e}XM=hb7I#;`5]ŢoTYEbQf$Mhb1*FR$\Ff١O1.Eh3?S-''2rd=N`"H =I>4E۽Yx}^\lL R8| !l8GS k ' -ާi__Et8X0OZhZ; RGh齙`j7u^Ʉw\z_P4S6 R 8Sj/A`, piKWY(E>d{j9BʯFfSI(h nC)K8,.h)iDyh$:B3+oGe+E#;+TM3)MfkjZlEARU QT^n&)$+L➠FAL?nFM8?kؘ9Y-;C#Ai [ԔxNo]—|< .6&%֦?$I3(6+`xq&JJ/B#\IYľN#wZޣH+e: 8UsW~A+k.g=g,eYHw!I0#-0mܶ9wFQj.!^5DN@uk,E~T7Xߎa`TڄLCNғa`̤sM#Ewl" (KP֤%*xBwd2pW@Դ\Zw%!q!-bi (51$rKHI߈qo`bk#x dLv_ĄWm0uX؈y]WO M4::3P ak3G9yJ#`0VAL0#I7I/5&P5(unTNod./ ;99-am$HJ%'fb("-WyO6 &TRF(na.hl549;aq<uoDYh,mZM1" LLE.e ^w2ֵ-!k .{JWr"oyŕq"`]Ƅ$mh@sMx'aa[-K ya![uw[7_\-_eP*%2 'sRN\,/)xW—%Yp_ O1A &0CFw gB;W_1Biuoy05N~T LGy[[[6&,<-ijo7S^p"!B>xҕ+%",z%S%*X8HL`.ȢPNE`j Ӫ*/-d*sScWef5!H t -Ք7J:0M$|鸸Eꪆp@mMHmn%4~od߹ߦ"nv^,BS1 QO,Fl2hbVu rDiϔXW1f3)L,@cy]Α\^ A:Z~ky{ܛ4 ++% =0&M *ú_K|V6vxМVuh{q'.,O*S%thɝ"`6f8RK5K CX/&)tAIٱ 'h%Տ3#ˆFvH,Z*XғZ}ؿیuN+ʣˡLd" DP^:/HŶѠe&;ArPw(Nq4>tKl}A G;Ѓ\_OlҥM1,ץ#4jwrXŴ{cJo欇XJ3yk#mVm+_g\S/ԅ1sf_f3WBo+lJ]hV@##|HFHGȄ"̯Mjv7\mK__> 'j W+=y+frE:ٜb]rMΪ"? %$Qx(a4$#=)tneE% L"A2;LU&Ē2bpARFݾ% # zp캛ip*%]xBTKyYz鳲gT'P@zJG2; b/RnPS,K<q*ks!UԖa.-0hZ?jK4CA"ܰ.VSEc[M2ci1Cs把@*X2}iZVƴe": Nn8h;@Q{?~'`L5V4rurlQSbkiaJ6bwֳĽJP ˺pLMu1,(Z]r0U5fOM8m(H:4 IwyYs>IQ7WI]5h)i򮚼%V>4+V/ $IB$n^֞LbcDnH8Ϭ P5UCW "KAVjZ#3eI^&6w=Cyu%)I5/(>d$ٯY fǸjGbL~MNV}WTGc&uGi_6TjMS/ p1[ ,:3%H㻡0CA5beFgh_S?P8gY\;}Lf4%*-ǁޮ մ,p GkP̖=:bAC*G?H*LDs͙ ZH*ֳ-fU(As*bG_3WB,ժ%u q I r\PwEЎ6?!_7yL-0yO ןYSŶLΫ,- P67VG-gu8K!FP#6=c$V J0\ '6R\O?B!L:F ZjTУXMp"t403r^bHeҨ]VWE3b{vwq0È]AT>@yjTHL\cbI: D<`ŋ%9`XD)7[F W`&䆧$@1?7Ջ/@DL.XPmbf&'b \*'֢׌YSkUR7Ntv^d9l6OBT_wbß]$%mw놔hjF3nIEُC/rX&ZvDJIn/2><(k~=|%z 1 }!ŎC! etO .gS78Bܗn25S8(!H/wPXɇM\(f{IϚ/LDWD)1:@eUҏy[mϝUS|?j'f:+r. 2-²hFsA rpihs5roHH.PJ@7&\Fc\t7bNE֜'QMAmzT؄O+]&Eq'ފ- 8FM,Y\HAD]R(3CS(qo "O/J";,H4 tJsi&ӶTFb\f)$L2+q.ub! a>:|] Nr"leQ?ðH,뷖i!YبF~4Ƹ::mݪ %U@7)y_DT(KSN~@A!+9Bp2VB!RF[h#Tz+t4+>B(#)]Li hL$!DhL .j3U%or @BRVJFŸ5N!X!daIQ[|azAB},#y6LsaG)ove(ɔ#&%%mpхcd& j3c $C)yCb'DZ[IutQׂp]iaEVVvV֎GkU'*sA ؽcriWQB: fvkeOJx֖f`Dw‰-dԉ( _wirCC)&c)f$zF,J*hb:Gڳ5Bu$Ȗ'7 (.v X: 케knVɲ0 ªe .7jDUW6* .ԧ+|<{|i bBIq Romygk.mt"T0^8)_̃0Kaޒ ^ʐ9\G|4a}R<4L d,1nƢYPjy9e!Inf9(IRԨ26ĿL51V">1L7~toЇ<;FI2GGa0#L=QXcwV6TC( ! ?eG"AVa_f fV蜪+R7Ub{ 3RDT2ӧ&8"ƨe[@2 ŒYVm'*J49rmZ$̆<! Ϣ}nq@Pݢ]"_ G'$8!EU+o]Hĝ%$Ayd:eY~{]ڻ\YΡl#)8UCAI"_C2zZ)/9mֿY4=}˒W_roәNЭִMp' E_50_s"+%,HvU=Oa{ ;hQuȌ\b(4+,Jk6SQGssk0ezbzSYc*s@́Jj1*9%~G'Y bHKр̢Zfz1,bZɈ̬VgK 5TN䆳AGc σ %^}n/JCeBd7Ré!YRd6 #!tOy'9 ,'taDCx? O%i~*ef'B6M1'D$,A+&; 0L~gͰ#=ٸɔо*1%rN>VbJ#N.7H^9{-q^wRQ&{{l$gPi>ҟ-!򎂚M3,ݤ)崺Wy5kegQ<9TU!NdSH4YI:=Ԓ ȧsQiko,J\{UVWPZcUIE;Z%MB'F1%^LFѹ R"W$/7PZK* P/vV|V!'2LJ@VHL  "HXxZZ QD*;hf#òcbIr H*>c2qPaxHlh6|dt /"a3bcфF(R,K."*]%)ٟF}3kҰJ +AFc 9,i`#, Ƥ9+z1Lx轐[1PvOktmơB{k GXƓ;\OaoE亘7 L׏ޫ)ISg96ƨMЌk9ASV+'ȍm&{3۽l:5?UIY VQ[ Eu~WķrVt +d Ǘ4#0kwwU){E/4FPfxSĊLxz,֠76vΚʛAbBRfEOW*ךF#,gDEip'\;Eǂmߙu\|o厨tSw]B$l43HjX~z _DgLO;u @)škNm %$C\JÿJbc8To\=I3|ފ7R3&uF͔"@h.*2D2Dž\ew u"P/.2 ÇjKˣEŋHڬ:ıUL+b1w&][Ƹ T=/i&#8&΅4bf˼W#p\cf990 ȖԁA d6[i?mX5?3= `MfI$D Mk%U2_ʆkeyc[OO/ CciyS+-W%GM3%5W{ѓ+11/u'{9O p;ѴolFxL 1(0|Ӽ+8_DwV$jy4Iے/Jb@@4ׯUչrk[vg"cG mmTrRIgE]r|m<:=f޷P$(5i2dR<(bd3Ǝ0x]>ZM<]hμmجDzdW^Vm~e0{4(R/=SDfU># *)sŞL5% kr sg+Iy"r܇FR0BNizlT!aht-𤾖2  եc, T/n_`Zhٜt?Ar5upiЕ=F3nM6F"n?5%\MADvw8J`K;`i:iUJHIT"qwcdAVj^R.zT$% m#F9Qw"ÚG!vB]_z$KpkHF'\zJ} D '\*ҞiccM IR",HZ`Rtp:倩l{#>|Ծd(L>Mb +LF[UyJo<ʃ0[洩_,2c tb[ۓٽ5hCWCԥ?4VS#J&AP>*Sn݄ {  VoDE-פmK*-z΋L~i1UϫzА4v/:fA &_FʛVۅqġn1de䜤V qj\O4&L}=IaBqj$x"0ԑ)Y^]Ĥ.BIzr3(<>E$_5:iG42AXk>aq4/.+zZq ,<,QDeDV8z&|A#57TIF^>_^DncC^Jt*qqTk>$S7\SF&ň ưiΪͅVь]3iu/)W SNpŮUmps,02XbGcf:ZLb@[ɠ Ox>S]D*ݲ(0KXb+%mMrΉⲻ LDqNG$0'OJ1p 싔-J&!yuqXT& ?&J]Dj dq*,cf.͗>-AaZh\c'B->F}l<8sJ1 jb h Ri 9HO uw' i G3e s#Ľ.J5Ijzu%G;ÕUz2).͎h &>]YSzFn֎yeg4ZJ_n]5e4>K8_8j{~_Ȓ<,̜76!(x*=2Çs  + ܀y,`v0"dEKq>VG"eRӧJA'9)׿ ~\G$_[M^{FaG4qYb?D7k?*VIaEr~\#H(V#|((U.yA*g4:bRBBc:YkpRGfG4׸>t]V+7jyVʮ4}]o-.g[}sI5 BuVv5BrR7 DaYY8Zwak1o~bI] 4!:D1TN59~Pଢ*Q-~ Qwd*/:Pf 6č)bVQ;UHMЙ/+(RZ^XxdN.c=4,88*,1>0.5"-,6n%&;d8P&9X,TJZ=1;g)&)xF揝%d}S %IY"7fѼQS^;)HCst!55ݩ.sJZO,Ja?CRY^/f~nFF#;F+O#VNH Ԙ7촅MctvBha F%^QY!}uRLwTHIl癤XA%"PP\Aqݰ!ռpPءpr]S=m55d )GtC%5{7trFZgm#xخ<`ET؛eB.e%EC+dxHdY"0`cFJI裷ľvѢ,.*, .q$tpݶv>BX h^]LMX]㓊uDN\)dڪE5U&R6{)5R媛)In2Q攍)#гA<=pB r*S8| 0 Q[LCjwYpJq&[?@X(ԤsG&kS ,JO>Bu!]uwb Ҭ9<:V)j[-LH,I\ gp] t4]Zr HNJyW|FCXh((:-*^nD` )FT1w^XfsR̯͛+9JM5vAqW$PCD ЯkR(KZoFwUKaGĕŠZeWza@>avK“E5!Y&qԮa$Ci|b'm|6~1(B=+PHZ AGeR q͛97ڄY hms ({<"h=4LK=mKvmgl+ hj% Rk(S+֫NM9 _Zr.ǽcAL&Z\=oIŴ=S1ḞQ01TP 7q _r?/dW"GGݎJM305 K5&Flr G^]c3HG)xt25)IY"COSҩ[d8TC@vS^O.\I4Ml-}߮^JLeavݚkHȲ@)R^x_F̴ > Ԟ\I#B]WHZ}j0<Ǒ(F=1"' p,ڇYOQ#q ټc1uȎF${I4aܖ۾ج"kx/,{/1_\ a %9>͂6.6p9h Rt*W`ީ'cDCj5b X LQ݅!7ZWYH<¥ľK ~&-M[vGGC!ȳHf2.q)+ ~*Q;Ҿ\ф]o`0JkW#(拣;?$dF"x^lm{%%Pz}x!5i6[,WQL3VܽߖHg3L|J$4=V һwz.ʨ'@ 1ɓ${ qr1~`pÕ`&OJČ>t5Y+~v/G,cT d!sK-*=I{>  -KYH=\fDS-~j(^(\:C_#>W;$ôWs^1R =L JeI~W @e(=KSp+x4Ӹw[Qځ7 9]+t2HkI"6~6Ւ䜏$Y.)nͩ E2HxVMfIuoE3hcn\>w![ӤXF"v HF߯#p~KffrU(RIL~v JX{ͷN"\F?7$]JxhO(MS9gV$ºԻ^%OHx Zas:+4;$<8KUḦ́~O% luEc 9E6 Wu50>E7u"-i$2-mȵ}(4vYP4>zPJ<âj Mʐ. Qq˴RQbaP< ^yH9)D]b]lF=BB kP?uQK"ObHS`fcqȚn+( .ufݥ)KSNRcʈ\&6]^eQu /L ,+<ǖйN'Wo /$miלB2UR[ $ZcH 4d,_i 0ֆ4d11aj0֚mzssV2[M$t 5VpD'nB J0() iʗ`HILCA KJ#ZCtŠn Z60YH8xm0=P yG )e~"feUh!lL~%;ē#%p PR YAYl֜dҤʨ,$$B-盢H(L 78-$v KsDFd'-IJ 2M|`&I%(m?t0)Ea2( 9-DJ f!P=⍜01iVIpbKg)7QjɈy a=A'TNkk,,EV]D'~J rAvV5L6 Z>fLC1i6 yT+xe؋%͵HH1ISLѴa=OuNg<[+B%Na摖KW1 +rhM8(s5H0iI3oq)P("6 U~rq#I:RL&pAq֪^+`4U$P(-EO~Һ }D:s|dlUϜ-jHQr4f &;шZم){PY``=G_2خm';)$n׼)jt^TiW]{_xЏLrEݙGm<Z֑R Ro-%:w % Wy/{YNS 9"o*PO1 "Vi%[{a&E"E(Ӌ%h<#hq%I5g\9\Ya\ym dP1X1rl b!"$⢠ g!㠳 4^<F$!OJcط5HVyW\Q 6r֣N=:l)2F,ij9K$u.{oOO4 Qsh6jٳPq[%Lrܑx~ql< ?I aDs ňB 0f3ժ#M9nDyU&♖= ϊ%’DWcOAqOp#8!Pf'?A+bƬVX!oY@쇀+`sydUB(;&DS>wݺ8hmG*McvA:!5@@" c X%!=Փ= "Pt0M0. Bj*C0@+蝞J-qW ̞J:_×;/żnXtO#j`h )aK4q="#rHcB,vaJL>LQBg$kscv?LƄܩ"XƺHܩyIH"M82:~Bn2zA|F|T=ʨ$[/h&w9|LJtM0Jnqbm3t CMEm7MBڊck4oh\Gզa2fxEh*ËP⍈aC:}"R$7Ʒal*4HS:mTD^1?Gv,Z&ط_Jg/.P˔[L+gETJҵ$7,bPOWkH; ^Z"%tp/g*T/ MiBƕr,uh-ic[ x6. ]}{kR#-Mp$Cהm5-dӍ? L[q3\EωSM}*A _G4HӎJX~!CGG&u}-0F'X~p,%8lWPc2 ޸ Я7xrt>XD0׵sK+:9~8,SEJlolX 'A{JHW"6;^&\i3^T7Pgg ê_h(L3B>j]1ya2U&ʗcYp6X Hs/]G\ h$ DN-[,}!brR>o/THͼ&#jFU\6*Lѣ#JhaG:Bb@.)-KM"{PzilO2Y f GHpsIUFbYIϧ4[pF!B9&B n}I_%7Rap&'h/nJ\}r[< d4p4L QTB3 N}}zAI8ѩsBU, (e'Ǚc8@*&3xFv1A鍤/o[r6+<<<4$7Ոj9ڎ5d&!ҏ3m'|7"8|oo~=ꖉ!|xub1 BX2'/vwfntJp3HGk*Qf%$W{47nRzv%%WsQqN <06W.jٸV-!Ri)>&>...lfq;.: P2D$GT b*S&T DDJ|S]+!eJ'$(4 ;UE&JCӯDBEFdotkd3VMs(pZJʳ&4:~ThƤY_Bx*674T@*@|Cbe5EV̘P\u6Q(C Z;\eVPHAԅXN[hH\p0¢!a7ںBղ$&*E$A6EC(kUR>'.<'Tz@%|]KE˱!xaATa.H2X@>H2y܂7j\*hGDxzpo%h:[KqDO2ߔe$'{]|8(Hmb 7d;v3(2O#s}8KGptlP.xxJ5Q'֯M/TRN# `N$P6K P(HJ#~)~-31Ax> "cEG8?&H0sEh[~TXdH3s)X4beT' }wH$Td &AwAFQ23U;DlK: "JWA)jC飁Se'|Na/yQj.Y; ImD`eRg>&4l3ab rfDqfb̠o], @Y:OboJ^ # @| 䠈r0'tSWXG80'/3R%H I,n2}eAa1##Һs'(UJq?q:*umK MI%O ڨ_sh~mk' j Hn#/u_0MWɧ0D>Gf ʼnaF Z;p&"bLxx5m`t%Xg' kQR!cd nјRu"kmbys"'ڔwݍ XmA8d:zBE1bܹ~THRA+˖Ml@P(^D=C1 D)vU"/RObhY8fUPW3R xm>Xlv[m*uRrAL/d̎,ȿYm{zۦmvA)mns$)g-˜Hq5WjDS>|p[१c.#qbҎHWvH(D0תؼœ Ībv'鶬ozO)Hc2czI_ CUx#' ?aHqhSJZL %HH5('a P`/?d3D9Zi~ˑj@c&XBTyo H|R .$7%Fr~wHq3X8M @&@ ,-*LDsPt~U2R4:Z1P|!bSA*^c#1HQpv꽺2uermEH>Zw \}VJW;н"kFg"Sq/*QduzLZ!4bR5Iw&<[y E;!;A{!x%^JټO`+ίP". bRPeuUv6f &4VTVŚpp:S[[ȕ+ӑX2NDA-zA 5Par;R٪H2  Y]AqO\TeOQ\"5XR5>UWó`11"u S̆!T2WXhÈ,O,8h;(80 r@,+fOTP,+/KҸ@ UCh)olo­ -L zv(4}?!2ChP:7ǴnOۋZ~gdDj9M :v>vG_}ͦFk"Z k^s9r8?@}=z]{Ȫf.~:h?)Vl()=eGBi̝DX@Y,\C7"jq0a ЀO2(7J&(Cʋ Vx:kJ>>76* SX63[3#2GF̘xQlR *E6SZhщt X55P,KJoGCvLlk'YՄT2LO{$Q9  ėT!YI 06-lWYGjۣ:׺vQ;~E&+NZ3w^򜖪{j'9+o|!d:(֛tVj .Sݰc Y < >ҖWf9(yB()&tt&<;(r^%Ă"RBĦ0JB/ u͕4z+7^l/NPuSoVc2JLZө;n]3pSអi\"v+K1EcѸOɈ{,]³HFےjsQj68,8x,p,<{:wv\8oDIkB^GH3F{ĝ$>3!Ť$G&ϝ BsŊm7g5 ,7UkjՐ؝K L&2xcEs8+yd{U FnKEۊZ:6U4 cc!@;?&"2^j} 3qEO4[ZMOqnxvo_4kf= P}YǼKtɨ̮,-CU\B ͉v2}5AƟo&b mW!r CЩdeyȕMfHs!;A`>{yf3ߟȦ<]>eD+F1hǾ~{,ޮ>*f;z]#?"ՃETζ"g9UKT&)Krm850(AK\&uirEˤ!9 BrHR)RO/[M2EX9T"UjVxP;rk±jQQ, H.`}RbFEEZ**0Z(0dH6S"PB_<Ɩ+)QX'go񐓦Zf$ߖ(6x}Kc(ɵ%ADlTCʣj&MՍ|EVE+^_Zmsb33?3vˆ٨#!WJ~)Jzri 0+`G:@ &axF BGaI@QAlޓ"֋#΃c7bNFX}w}WY'L)&q]*- >nf.]-a2dW'.㶜{N̅V  'c®HZUYgqὌ\oYv̭ ^br7'29+X'"ADMtud}%Bk2]ؔ:vO`&t O(̀kvz0 õ@ebTW >8J$NF9 'z+Ul:Hie լp.R=${/iB%JG)WҚ0 zaGPtS58B!Gs͊Z+y]@JJa.Uuէ!WxYQ CЁIC2 qCzAgo }$K"iǢ]:>4#w`41K 4%[1ŬGzC,G}\\ђ?tJZ"5XRт!DtMN V6{H &xumeddd8aA5g\NFwx $|5-k6TPmCTpR=^ xZܸt״̦4RgYyJ=dzD?]#8KQW0%N-$ӊOOk k09/RG5Źl&)$(U.鞇[9f.=Q5ح$=Xo7dƹ_ň5· Q3ξDz&!Dhz95J7aE7tDk#^8ʆ/ᣨ/,*2"UjAm PIgQ>DGwIT}9W=CkICdbKqu @$>UjU'%z2$#PRcׇ_z5&i .M'Ig%d6}CTBIz:#<=যC<e6aZ:+{ǽÇ2+fI&˺ӵ<%irGZrQF?JII[5Jq"4Z!,dDd·O~@^R!mNPIiA{wJSmcڰ̻C$*C6*mU{tI;D^RHY>&$&|@T`w:AgɼW IR fQ^fИE3<ɱ܌iOUX[[8Bi="P"m* OC K}HQV.hr4\Pzت\2Ɵ*#75Լ2/1@0׳]&X$I"[ĸ%i{yB_Ѿ<*1;R~2:c4l@PH <hp`Tu0J@V_1*? ʵ>Sex}wDK|eid́hJ΋/n^%A @sʧ!7e:d s&RCx6KE㘝'P/ĕPO: cgv>X5Xl;,<`˗ ۷1EAs&LݒUD& <`X@4/oZ k2JʅT32L`SW DSY/o,Tt.Bq-|3A-5~4ӷM~hҭ1{BQsO)-SJ}NXz+ݎ ^W&/"dF?ijj}(ORkͧ/8Pd_]@N?ҠBKFt>Iz &tg]]qʟ[OY-s&I-PD}p~av) ʛ< +yKQt,}.E)WHT` DHTrcH _!JǮ3gjBZ bѴ.S&шەj9.'\"B .iQdi!T+Δ.i|"<(ڽ>b̵ęĉHe2bNH.Tu\yolS<*\Y@Fj6Q.@߱չڿl.?$Wj=P#^FkC%UG<ia· ˡAQjXd3!( kƅ@9T?pZ*]=+CEɰ$ݙ??'ѨD/^X"*Ki?=y<#3&O0p7lRȑ. 8-ܝi[$q'WkoQRV2$pj|ɡT.43. KmزKpmch-yF'Fu(Cy-٩.l^Ui"X+obJ%Rψ% tCMk+,A"1["_uMdKɕ8aȀO:d3*[)BPi%Mw؊MV3+/N+D&4Y<؀wj(G_tFA{peO>i[BA*m6"CngKEVEDv\[ˑ^lL]3UĐD2WE1Y. oQJ7;i@O_JqsUB IrEVFK!#0RuϒH"hM‚a*< NH^U&"s@wNI[')Rm#iF mn MQ4-oK!->(WI1XzR "Δm*_EFP&gZ޴6/(âݬGAj/qi&LB.S_0i}Ʀ_Ud.օuC˱$GIgZ3⍭FQ*v\v{BKPBYSy6ԻբR#-a#2kKfKi$e;.) kB >1po,KPѺ<SsBfc_mRU'%k#+I%OD#(TBNYqz~Z%fT4Z,LӺEm=uKAb-R wsJv SU "Dc$dz8/(1>1"ޡeT"+q'1\#nL)(!s.EФpZOi7̈+7)Z2\L=܎MAQ4vZTi30ifⲿ(sb) Qh^"q;k ˨hҰ!ز5JPaJKP3K۞EGTV+A;V eقºS_(>x^)A?*uQeQ"-Bm8bJ,Y>+Е{+R_-|-kܶo=|YA$Z$Xu;X:S6/}SlSEZ$iғ0reF$[!Tj}xGqtHʼW.ɛblF&OoT1xG-XL#xDm/'Tej~+d>`趨׷UĸU>CRRИبuaJ+7ͩ Y|@k٦MLtmbfT11Kf;H15BXKjmYB{K**aao}>H:WnQ+Ҍ|(=| "<$uZz puHAQO ==;i'Uvīe+a4BY{OŒ 7|[%f񎕎|MK_Ġ*3 Oc`#Yy.gL#PɋJ&PDb!$鋠L@Zf.O%O!c>SlBAUʞ0奭|(.`J25?#V)WXw 3_\j.G əO,Zӻ,noWW{h?ygir۱yQI7!IP%Z;lvJ nDtOUr4ҟ"n=n47ygBXDSC+[<$5d*@;#'Zn4D Qjb͆ c~Q|F {(Sau u^ r_EFmœ1<,9F# %%:El溕}<뛃d3gY1NX#=9mO\tRp""5}n?G|6Q !&q,j)vD,%yK!zQe^} Y?+eH J5 $)P#N&HVE, B>,nn@ 1/"K?:vuL)/}&!*zfFT((7 h +(N|xvW*Q)0+RIwe"|wD+n@?;2J₋!UwY$nW*X⤉JgܖܲZ})2 F5H?(mŁ'QQ쌍|jKכ-T͍W:Vk3(&f)֔-&'n:(2isZj͍B] E)@/. ~[ ࢶyB0jR<˓FǞ HӢ3N>{F,QɃLB,QK+*vYN.}RfBT;&*ce9%jE >j? P;b5$EMU()R#58 `~MNJK(~5`%*p4H. %#u U \tۘ7-KQ"+̅21 3}Yf))< zRf1_Vx i(;ӂ"d6L&s+R22]!]9B*ndࣿei GXvBDA#"ra9Ƚ:مպصk$$'|Qa*w;/~[Q< /`̜@|qMH %:L PU#r+BzY(Y2(dʔ1N=% `e*+Ot*<2ŔCK~BrHDEhzz5yo7VJַ^RڣCizԯr!FZ7ܝ/{'Nի?";n<4+@%@/җ4Vx%HZhԴm=Xlf*O~B~x`?ַ7}I.ClIwhʳϬka8 Ӆ!Gl_ȸ˩‡%HДѲ\prIe ! ^íz0,|L]ӑy*#Ԉ$&(HDjW4A[GE*m!kI HbY%МOkg'8ΑN[8rI6⋔E%lj36緜P:w/K#W/(GMF9ƌ mݤy w֝yC$P+?("PiݾnGbtLE.+Sts)Lڗ*)%Ȥc8AԥD =Wd9>t[!ZkZ̈XF,!YBvЊĦرʝn;~{õWvHF3aCYC| wT8l_s҆^WIu/Bہp3(cg5 y SJB]j9$tF4͖gRF-'s@@]ѠK]FDơ &۷+)Da QP ԌU M.t1]m>hDR2XD*  81?׺H5#*o,KX]tź~$G^-T?bUթ 3nxu^?'61OvEU8\1G] $FQ4{,dӽߦy\kg0z!Nkэbp2t}ĵ"ˌDE~\4VsLCPD/)6 l7'rj3f[}S%ѵ.¶k2`EM69>%jO+FRY!E^!*2.B@p&ta{QqDGX,ZF iFBj"$,ǧ9_JiԚۆ7JN:P!qjr[Zβ`bba@eLD㠧QYK&bE{ٻN/ g銄<|y,” #6u?P[KvH[G&dgH.fJ$c]8<w+D6,t;3'\LI) JMFN$PJƳd,3/8 3a X֢+NmbWć4oRM.)WMHLy!(7$GmMh Ħ`s&w,(Y7*mc^R fYb pqJ!)"MB"[+[Kj"[]nuSSZܺgx;*BN5jU rEh$8.BJCt1sfU&Զ͈ vB0`5][Rfb@*n*LR%ۧ];n ]4';WJK:OU5h}Jƽ'.?kX {r0r[ Hi,KbE7%~FM0jnkǫ׼"ZBv,+&T@,Դz,.'!>ƲX1' DA+>\RiRF 4:{M'4m ws Z.p-|0(FDvNzqPZuX9;'VF9/xF^HS ȕBf($B.@9يKEFԺZ._ra^kJI&sg].VPB7X|S݅~PQ%R S$K'ib ^ Ld G-DO<kKKcgWΒhRt%U)gK 1E  }j^%Ī,kdYQo/DdqJ smU0{SUHN ol:NJFNجDS L.36; .Q+qS뭣$ 65CmŖߩ mi2ֆVI;^> {O)$t%UNtrv*O7>* tS,=Q 2fwl; Tk%L5hDX#mz&dЯnQGTrJ|pJ1uTz}(q&$TJ5ōRzM_AR#BdppxR=0>{]7I2OPR 0!> D c*M9hz[tU $;k˿UwIZi%L,8cjBuw`+e_"$%^@p[R Y'TZ["%QLM.smRŝ_2݅HV SDCU-KΡ*h:E=ժ ֻaz,UO^ڢ1)E |{)[ϱ\X!ǁ"Uz!i/SM2TQq®vD8=U2\h' P7&L$Y勔`Vl*y[-[2z '˿@RriLu h?nn^b<։[ѝ2g%w*e *VK 9+lsW]!xƨbw4Z Jg.c" TrPf4mc*ՄdEb%OG-V\,RJX+1P-jrR3l;kbkR mx[z$ BQKb ~)}fњw22k^SChIlh:i1#,s<G{j^Ҩ։#l4C JN$3By`Sx _eV">pFDyO9hV쟢kHdkӁӒ)$#@5©[OY1p( Dk ] Q b`CTc/Y?.NN|מߖ>fymiy%+U[yXJ VTI|{rJc͜ :eMWoSsz"BD(R0%Vυ(:/1x~R]<{M( @.^҅oP}Qu6$*f-4Yb>ȶI$0Si2ZQQZFt';ciLM_*rOXz%-͉R=TfRݖM eLPo@@l E6TR H#g".SoшIpUWvMmH+BEƏ2af !-!D:P\j\VsJm?Q ?dsmg*0@|DI Hir}ƭ*o|L(m1#13?. hYz^G:FBkT+,'꿕$ӃAABuſK0kt^1\_HY""iIW*{^.zLk/}ϋE]Q70! O:,73425)*jiz2jbc$y$i>&@@ τWp%Imne9LW-<2tXN}L'>^̊ޖR&I.D00x8"RIi3~'9MsFrsɶ[}u86f?Fi*[d>.|QB4.qyb 'A3nOۖ(TB~^F@aZl_KfZqD.WMhI Z.+6ۧ2Q͵E#1O8+- @去);e3,kJ laN,Wܦ-WZu!4:M<2q y%xGphdžluLro)jƾWMoL :i[-J {3Z}%I,GGR0xbNmL&,x}]/%ϝ T&Aݩ SVA+?DGoTcrMidD{$BTM*3臓Us_#6]+,]MFg )EM+ 4'fN9 mƈ uf}6<1H ̧kkvx|Ni1xd-g4=!Bl tJ3n8R9V l[36\y)%5#]XPFNSw骘=ZܓPh#0M[[RgϖtuuU1X`. 9]PBNEbwo[;_@ղ}:i98/} '9gy1 <{[Kaӭ[cX2%>ZRQ5k\SiGCJ\' "uRQ7jP[=V MOOa-óPS]&D "s"6" 6)_gM7l\##+h)ӎGt'Ar3I.f=3CͲR>asSJ&ʓcKseVn~+ ,.=zG`hDd|b>ө_DxGr}l]h0#q!/aə 6f a)<ߎWYN\=4N6nGe%)E?`Kdot]|:' d/;4xnzyڣ5QǍ+!\or($V[BM҂:P=oG,! TyT F~(S!5=4"ZxXFzwem+2׮{%KzӭyM6!/#/F* YᕎRuW ̸jDAto6$9J"td<+NG -D$i1-tkBR]e)P"F^ >yz[rTGfiB{"|F>D/{ @̿Bf@x·% vjI9*)=C@^k~!`kI{GR$6|ڷs`/oGn>(4 A"Ș,9,A4U@ON3n8Lq"QވqNR@8[*P@`dEO` {l4+2 E )&^M:FU0'= '0YAŶ夵l2lbN%p$3HP\xiJ}ԣJMɳN69h%ZWpLoǩfjuiNXtG"x m=Dh5PHft3pVl]4lq:Ӱ@aAKm%:&L8JH[-A$)j"$iG 5K G}bD3lZx4~hAUP)7DcvKl\QhkQwD$u/\y0] oHbZ6mD1ܵ|dB r!ii}//v%z#qÞ. R3kua !UB~*B"¦e晁əcVa"#*<~9mj<޲QWת8wՕ. 8!"w؄J0$=JCmu\\B+z|ב1,-ZXlyO&TEz\P.p*U{|iMr>iDwE*26\h҂S##@DH;|Z.J41LYYGWh3iqsxIʿ+Ϻ1=<:*$x]9?+" ֣r15wXh UO5`G=c,r2$|E"(#U$Uu sSbJicG Cԧeϭ}&ks/;τ!/BY[.[qgHp5rBWoeX| QWm\PYw"PNMM!jvR5J ?wd9O/4ey'~%O>](ߌW2vW~(25_+Jk͞/8&6D$!*+1D|lS/ b%O ޶,C%3ǔM1p OǰJBb $PK)9b!ꚢAB P, h 1dM$C(9b K(b&\[L YJ؆HY8/ȼBx,ӜY Hp–qgK)7q0Kב9ZDQ G5Θ:Z x,+ 1K)C<8bQ"=EJ/(z8$F7iWуʕ<ͦ)|#tġ&Ep<(5‡U_0gIUC R̒ w8dŎ- PH3,$."Ƹ-I0T/sO䘭^tZP(A E4(W4g")E)NHGB"B$ܚTRBQ%tcĿl8K# ZvT&^Pfn!M%)B "/16(e|Y+[U Z( TL.d(a)2DrY)ߋoZy h=dK+8rxnb6v䭬7HEo.=ŪfUA~FJFkú"cX#HWN|Gi^'Z )葠-j@!ԡp떬=j~J[vCbLJX:g/ w [ruf&tpWhӯvTj߆9K,XU!/bԌj}T&ɽ8 EYo!ʒ\4~/Nw=BN%DVuNE_̿o$PW쳨/nȌ) !Euە9_mҙj>R%s <і䘌#c-'”IoCBj u.TR'!7V@ BeHPZKlPR_"B!bCMZ'CdKH&? #rgwjcMq3=sCTm)KXu,Lq\rb}=ؤh,6TQήVJ͟Rj㷢;br*TlDWdDQVMIF4'[kD&דoߏE-)1OL/AgQat4U1f(`jCo;3f! ̕A )JO(YcD4"H PL?SOA<*-}p2yBEqZjBe)QnĞWuW.p?Vf;aA#mVbE-?ox*'ص) X(FE}h|#j%mY9fgka u0Plԛh$DUQHעuzOmw2zBHЉ.y(<7*D0eR(`'p{șօgBF*|)Ð3@`A5Y#]4 `' R׭VJ0PPZ%8YCr@$׌/ARrT5e+IFĬogB]cjU{Wj p\ )z'4qq,큍NZIR8B@M5h[5"!t9sHrvKkxע . {Wf]ݘg X*f)"=N"`Ie^/} RM[uVA Aņl M-pPZEd)#l~ڀ" (q!sQdP(\&DLeJ Ы{C`\_  8|RX3{D\4O/ږ/n}\~#JiV&o&Lu*i9' @ czkCdg$D ji}qFUxfLƷz& Lc$xu<5Ң D;DJ`**4ș`X,1;kv}\HI;[z \~-/nSM32AWpmm*!-HO-o.B٢+Tn`³+}29y$I;YdjзUT- h㴔3-oEەmL&8h/L}Of/lTvV*qM7[iOLo0Het줛 [OVtSF_.htAtѼtG&2qB"[9ck>IM))U*o*!2P}@tqd=Iٺfpy `j)JPc@lCJ'Q ٗ 铁Q9iyp3M^ELDUrDh L)>.J';so#g@|XF.^3ҳfB(hUsSYP{ZdPgQAAߖ1!K HT,qLA7c$ Ԡ'%!`{ k` mCH8Qp%y)dky%+}DplJ+BHj%ӡ >hG$O=:M58͸H>'h|Xy IUi2ɢ2qQ lgULRE+p8U4 ΧMJ($DL&A2l G97MT8ۖl @,DX*/fOW73RWO FdRv,tQ4{pl$. MݦybD&ӃbUD*Ӥ(3o] tXG&-uSe/A-hܶB?v6w4)lv'CЍJS5-FlR7 SO ~ns/GLeS'3G*qEJWҼSjF1ghshXč1Q*M͜V$MLjXv lMr  tǼ2AŁR{䈽\S|A\Iˮ0E16A/ %ЁCxéA2li c*PJJ4i qa0Gj Ibu u1-(>Q$dp^WHd(wG. i['CAHӟXd-vU~e^46bT^.ɨ̱H0 pa I1# R 2,!,xX@15E?4ǻb\Vo @9;0Jk4\nrIWp\I*ZlgޭZ[2* (s0Ő//Ajl80؉UmS38RwPٓK3ҮS&!>ewP=Ul=^eՊT MhVlWԭ7 &LX!5qT2g1^lxjzZ0-dKuׇ8 \7{w):(FhX !#XZi9  C gI=eZXm+E˓iZC-oVW)-"X%<5Zk=w}co;(q+hᖹkVD&>`S1VEcrNxՕUCnQ}E wH7Iu%ITL@Okl7$/ԒU:FOq1bĞQUʢE[E鐨M~x`Dh0Ji :"DY (U{Ԓs:Q\f:aHXraa[ &!P~QL1Ln'D=Md,tW ιb \eȱB@Mڵ}%lGlp޿}Y*NRkJYO:U;kdtyIbqci;7tST!'GC F3iַfj+5"*/($5QX"0e2 $ZBXShrUw~DLw,f ?^kTIf(5`&ө3yȂYiKr=w 偈v) &2I>)g锂ěåڂb)+LmC84cQm_UddQ^9zh[: Ue N.,rUJv.ЬTG%dQr?c{ OҀB %oعԹk* *gL.tzD{iTD5Er{0šQPvBraQeWsߺ7%2#;I'>) L(v)%XeDI!J"1v Nyn)A%T(=^? fP$nLp,D)]&zR1\)',AqՔN|<'`e$X5ҵ)∼1{=c6Ed|2_ˉ_$KE `("}QV``ѧѬ:'O(] .kl,/bKLLBZ}(pSuZfT7pDW[AVšJ[%p'b3mac5|$;6 i2珬⩈$`dr}!6D*J86PӽSrAs#o*>c֪&  Eji-cbPRruetdNpsDbQ!2$]oԣp2(0 IETnEh좨3Q!a^ꛉpYG,9 ׇ5A~!2H}E%EPE֍5vfV|n$X@DS2 #h "ZpQi#F+!X/qzcC%bFkP'ƃ =QU5_Gluű .*"=aKtkKE9ٰd9V|$ONC:޷&늖$;2\+SH@Њ$$RHQxDnG) Iظ+5 -3:dJ}7<.\UK 89 %1:cr *Hh׿!O@> .\hd;dJ* Mdr/.`HHO FfX>Jc!_@T˒wq1PLY㴢A:=rE,\ "0d``Eѥ 䦑HLu׿GN6eY_3 (F(c89ޑ,$Y|"c`L8DVEbM+;m [D 6o-!ˑ*(57';"|PdR"zU`Vwzaw sK0 |"Cfv6`NGzZ>b=] M{i]Si-YKʩ&mfa %f`,Slճ9j_Sf|U3{D#r €.aF!Hf0ea  @+5DQmics^A)f q=7ec]TU:R j Y$g|$ȋE]8 o^ocNBgl,4#ŮE=C:Mޖ &+KE^C k"qbhϲE- }:=UkU5XsEDW`eW I v2!2uB vE0Tx_DFIl1PzD\~ŪD怠. VXGYQJq5 IiZBҤ(M wnM"K"pM[&"c"0TE&)<8o"o.q"6(|KI3(doc;(h_F5؞&f De6kc'Z XIO`JIYإ5!YSd(.IM"es#bBȅGz .E5r DʼnCLa(=21850DᗐfPUGU d1aaH/ZWDޙysKPېY4s(SyƵȁQ.?\XTx*!J<"dd>4:elR*6]@VREEM)Cj`Z@P9!"#P3"\XNłr~_&t,<0lTFB@B\ZĊoNZ5B&)V&.@ PueŽ?ڈ#_uJp6Lӣ{蔿:zHޘgm 1Hj^*/ +YrCcd #統Y5 U/aBV/pm(&*KnꬳL#k1R@YR{U^CYld5!Y2 \nM<Њ v;ߢ3_UEVPbVU@XCJ@D[X`a[qAZ_VETRBStUbZV@oxT]c!30wȧh'E4~@)h5,+NT{z1PG#-tUo}+Ta\{Mj196 5+`K00(J/ @V)|ǿ̘(; еEOrFY#bn 1P3RTOk(+B1R,t@", --Tus=%GGB@db#f+]2>$Q5r!%CQnS ;x ]zXݕ_s>}3dOZME900ՔA\(]A:n ƂkokqͶ?Ok )atKwP>I}%FG:1~E4PwkR^J#,9/nIhwZé H\c鉣Ҷ"nԠB؋]z4GfR'^ļSe (*lOF26h,*EADB&O _@&7B T"$d*5]1Vz].xᆒ]p)ݹ-AB?dk%9CkEE1nZʖc}D| n™ kL65 w_[LF釗Ot(ybX%!t ܭ+g}J J> A k4,E5抓?tO_zAZJD1Bf]]t4I(i^QtgraԦ_)nkt9ɨ[ DxPT(ƀA1]|ȦX"T(,d|$\#rqNJoEEHӵa4: W&fdYSF6X͂b@z*~#x(JEEsUVR{DQoH|0dBPxWQgʐm$ #b\.ڞ9tV=XdImy%Τ -r3Q: y2,O`mE+$[W\Hb]wNU.B-D:jR#K/s1悏gK> #+5?ܐƒ ji;EaLh.4ROs=~St pT2/&p'2.ij^9ADCܙ62>%1`9,E(WPVDz/, ɮH=6ABrx=" ԥ+nnKr+_q#, ! LbXaK"4c-{ruξ5.q\M' ʏ䊦dgs['JRb X*F!R eZ} ?APako > "D"#) qFh5?ǽJ?%J9ӗ KbF=(9c*\C{Q}?n\+,;@ޱsS 3-$/{{J w{yb(FUhL1p9`^XvFD8cc8U`Q 7K48(G1ɜ(}CBmra.I:SS^q!H[v|[HU;dfO/-ID.#Y wD{p;>r Xрy\n2R{6z,'i.!G!bxySu>4+;)ܩ != n /녮P 1 8$- ĝxRER(^#0*K4Hq#)Tg9IF"ܽX0#U*YcwopqO)n*7{ j㶶6Y1챉ـԕ)3Tk9[z&pO4OnL-~ujp'T>/psh^*@⏯VHCr,YBr3JAdK%VM%

"; body += QString("") .arg(tr("Style")); body += QString("") .arg(recObs->style()->name()); body += QString("") .arg(tr("Date")); body += QString("") .arg(QDate::currentDate().toString()); // second row: boil time and efficiency. body += QString("") .arg(tr("Boil Time")) .arg(Brewtarget::displayAmount(recObs->equipment()->boilTime_min(),Units::minutes)) .arg(tr("Efficiency")) .arg(Brewtarget::displayAmount(recObs->efficiency_pct(),0,0)); // third row: pre-Boil Volume and Preboil Gravity body += QString("") .arg(tr("Boil Volume")) .arg(Brewtarget::displayAmount(recObs->boilVolume_l(),Units::liters,2)) .arg(tr("Preboil Gravity")) .arg(Brewtarget::displayOG(recObs->boilGrav())); // fourth row: Final volume and starting gravity body += QString("") .arg(tr("Final Volume")) .arg(Brewtarget::displayAmount(recObs->finalVolume_l(), Units::liters,2)) .arg(tr("Starting Gravity")) .arg(Brewtarget::displayOG(recObs->og(), noUnit, true)); // fifth row: IBU and Final gravity body += QString("") .arg(tr("IBU")) .arg( Brewtarget::displayAmount(recObs->IBU(),0,1)) .arg(tr("Final Gravity")) .arg(Brewtarget::displayFG(recObs->fg(), recObs->og(), noUnit, true)); // sixth row: ABV and estimate calories body += QString("") .arg(tr("ABV")) .arg( Brewtarget::displayAmount(recObs->ABV_pct(),0,1) ) .arg(tr("Estimated calories(per 12 oz)")) .arg( Brewtarget::displayAmount(recObs->calories(),0,0) ); body += "
%1%1%1%1
%1%2%3%4
%1%2%3%4
%1%2%3%4
%1%2%3%4
%1%2%%3%4
"; return header + body; } QString BrewDayScrollWidget::buildInstructionTable() { QString middle; int i, j, size; middle += QString("

%1

").arg(tr("Instructions")); middle += QString(""); middle += QString("") .arg(tr("Completed")) .arg(tr("Time")) .arg(tr("Step")); QList instructions = recObs->instructions(); QList mashSteps = recObs->mash()->mashSteps(); size = instructions.size(); for( i = 0; i < size; ++i ) { QString stepTime, tmp; QList reagents; Instruction* ins = instructions[i]; if (ins->interval()) stepTime = Brewtarget::displayAmount(ins->interval(), Units::minutes, 0); else stepTime = "--"; tmp = ""; // TODO: comparing ins->name() with these untranslated strings means this // doesn't work in other languages. Find a better way. if ( ins->name() == tr("Add grains") ) reagents = recObs->getReagents( recObs->fermentables() ); else if ( ins->name() == tr("Heat water") ) reagents = recObs->getReagents( recObs->mash()->mashSteps() ); else reagents = ins->reagents(); if ( reagents.size() > 1 ) { tmp = QString("
    "); for ( j = 0; j < reagents.size(); j++ ) { tmp += QString("
  • %1
  • ") .arg(reagents.at(j)); } tmp += QString("
"); } else if ( reagents.size() == 1 ) { tmp = reagents.at(0); } else { tmp = ins->directions(); } QString altTag = i % 2 ? "alt" : "norm"; middle += QString("
") .arg(altTag) .arg(stepTime) .arg(ins->name()) .arg(tmp); } middle += "
%1%2%3
%2%3 : %4
"; return middle; } QString BrewDayScrollWidget::buildFooterTable() { QString bottom; bottom = QString(""); bottom += QString("") .arg(tr("Actual PreBoil Volume")) .arg(tr("Actual PreBoil Gravity")); bottom += QString("") .arg(tr("PostBoil Volume")) .arg(tr("PostBoil Gravity")); bottom += QString("") .arg(tr("Volume into fermenter")); bottom += "
%1:%2:
%1:%2:
%1:
"; return bottom; } brewtarget-2.0.2/src/MashStepEditor.cpp0000644000175000017500000001406312266512167017417 0ustar philipphilip/* * MashStepEditor.cpp is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include "unit.h" #include "brewtarget.h" #include "MashStepEditor.h" #include "mashstep.h" MashStepEditor::MashStepEditor(QWidget* parent) : QDialog(parent), obs(0) { setupUi(this); comboBox_type->setCurrentIndex(-1); connect( buttonBox, SIGNAL( accepted() ), this, SLOT(saveAndClose()) ); connect( buttonBox, SIGNAL( rejected() ), this, SLOT(close()) ); connect( comboBox_type, SIGNAL(currentIndexChanged(const QString &)), this, SLOT(grayOutStuff(const QString &)) ); } void MashStepEditor::showChanges(QMetaProperty* metaProp) { if( obs == 0 ) { clear(); return; } QString propName; QVariant value; bool updateAll = false; if( metaProp == 0 ) updateAll = true; else { propName = metaProp->name(); value = metaProp->read(obs); } if ( updateAll ) { lineEdit_name->setText(obs->name()); comboBox_type->setCurrentIndex(obs->type()); lineEdit_infuseAmount->setText(Brewtarget::displayAmount(obs->infuseAmount_l(), Units::liters)); lineEdit_infuseTemp->setText(Brewtarget::displayAmount(obs->infuseTemp_c(), Units::celsius)); lineEdit_decoctionAmount->setText(Brewtarget::displayAmount(obs->decoctionAmount_l(), Units::liters)); lineEdit_stepTemp->setText(Brewtarget::displayAmount(obs->stepTemp_c(), Units::celsius)); lineEdit_stepTime->setText(Brewtarget::displayAmount(obs->stepTime_min(), Units::minutes)); lineEdit_rampTime->setText(Brewtarget::displayAmount(obs->rampTime_min(), Units::minutes)); lineEdit_endTemp->setText(Brewtarget::displayAmount(obs->endTemp_c(), Units::celsius)); } else if( propName == "name" ) lineEdit_name->setText(obs->name()); else if( propName == "type" ) comboBox_type->setCurrentIndex(obs->type()); else if( propName == "infuseAmount_l" ) lineEdit_infuseAmount->setText(Brewtarget::displayAmount(obs->infuseAmount_l(), Units::liters)); else if( propName == "infuseTemp_c" ) lineEdit_infuseTemp->setText(Brewtarget::displayAmount(obs->infuseTemp_c(), Units::celsius)); else if( propName == "decoctionAmount_l" ) lineEdit_decoctionAmount->setText(Brewtarget::displayAmount(obs->decoctionAmount_l(), Units::liters)); else if( propName == "stepTemp_c" ) lineEdit_stepTemp->setText(Brewtarget::displayAmount(obs->stepTemp_c(), Units::celsius)); else if( propName == "stepTime_min" ) lineEdit_stepTime->setText(Brewtarget::displayAmount(obs->stepTime_min(), Units::minutes)); else if( propName == "rampTime_min" ) lineEdit_rampTime->setText(Brewtarget::displayAmount(obs->rampTime_min(), Units::minutes)); else if( propName == "endTemp_c" ) lineEdit_endTemp->setText(Brewtarget::displayAmount(obs->endTemp_c(), Units::celsius)); } void MashStepEditor::clear() { lineEdit_name->setText(""); comboBox_type->setCurrentIndex(0); lineEdit_infuseAmount->setText(""); lineEdit_infuseTemp->setText(""); lineEdit_decoctionAmount->setText(""); lineEdit_stepTemp->setText(""); lineEdit_stepTime->setText(""); lineEdit_rampTime->setText(""); lineEdit_endTemp->setText(""); } void MashStepEditor::close() { setVisible(false); } void MashStepEditor::changed(QMetaProperty prop, QVariant /*val*/) { if( sender() != obs ) return; showChanges(&prop); } void MashStepEditor::setMashStep(MashStep* step) { if( obs ) disconnect( obs, 0, this, 0 ); if( step ) { obs = step; connect( obs, SIGNAL(changed(QMetaProperty,QVariant)), this, SLOT(changed(QMetaProperty,QVariant)) ); showChanges(); } } void MashStepEditor::saveAndClose() { // TODO: check this out with 1.2.5. // Need to disable notification since every "set" method will cause a "showChanges" that // will revert any changes made. //obs->disableNotification(); obs->setName(lineEdit_name->text()); obs->setType(static_cast(comboBox_type->currentIndex())); obs->setInfuseAmount_l(Brewtarget::volQStringToSI(lineEdit_infuseAmount->text())); obs->setInfuseTemp_c(Brewtarget::tempQStringToSI(lineEdit_infuseTemp->text())); obs->setDecoctionAmount_l(Brewtarget::volQStringToSI(lineEdit_decoctionAmount->text())); obs->setStepTemp_c(Brewtarget::tempQStringToSI(lineEdit_stepTemp->text())); obs->setStepTime_min(Brewtarget::timeQStringToSI(lineEdit_stepTime->text())); obs->setRampTime_min(Brewtarget::timeQStringToSI(lineEdit_rampTime->text())); obs->setEndTemp_c(Brewtarget::tempQStringToSI(lineEdit_endTemp->text())); //obs->reenableNotification(); //obs->forceNotify(); setVisible(false); } void MashStepEditor::grayOutStuff(const QString& text) { if( text == "Infusion" ) { lineEdit_infuseAmount->setEnabled(true); lineEdit_infuseTemp->setEnabled(true); lineEdit_decoctionAmount->setEnabled(false); } else if( text == "Decoction" ) { lineEdit_infuseAmount->setEnabled(false); lineEdit_infuseTemp->setEnabled(false); lineEdit_decoctionAmount->setEnabled(true); } else if( text == "Temperature" ) { lineEdit_infuseAmount->setEnabled(false); lineEdit_infuseTemp->setEnabled(false); lineEdit_decoctionAmount->setEnabled(false); } else { lineEdit_infuseAmount->setEnabled(true); lineEdit_infuseTemp->setEnabled(true); lineEdit_decoctionAmount->setEnabled(true); } } brewtarget-2.0.2/src/StyleButton.h0000644000175000017500000000274412266512167016470 0ustar philipphilip/* * StyleButton.h is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef _STYLEBUTTON_H #define _STYLEBUTTON_H #include #include #include // Forward declarations. class Style; class Recipe; class QWidget; /*! * \class StyleButton * \author Mik Firestone (mikfire@gmail.com) * * \brief This is a view class that displays the name of a style */ class StyleButton : public QPushButton { Q_OBJECT public: StyleButton(QWidget* parent = 0); virtual ~StyleButton(){} //! Observe a recipe's equipment. void setRecipe(Recipe* recipe); //! Observe a particular equipment. void setStyle(Style* style); private slots: void recChanged(QMetaProperty,QVariant); void styleChanged(QMetaProperty,QVariant); private: Recipe* _rec; Style* _style; }; #endif brewtarget-2.0.2/src/StyleButton.cpp0000644000175000017500000000365012266512167017020 0ustar philipphilip/* * StyleButton.cpp is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include "StyleButton.h" #include "style.h" #include "recipe.h" #include #include StyleButton::StyleButton(QWidget* parent) : QPushButton(parent), _rec(0), _style(0) { } void StyleButton::setRecipe(Recipe* rec) { if(_rec) disconnect( _rec, 0, this, 0 ); _rec = rec; if( _rec ) { connect( _rec, SIGNAL(changed(QMetaProperty,QVariant)), this, SLOT(recChanged(QMetaProperty,QVariant)) ); setStyle( _rec->style() ); } else setStyle(0); } void StyleButton::setStyle(Style* style) { if( _style ) disconnect( _style, 0, this, 0 ); _style = style; if( _style ) { connect( _style, SIGNAL(changed(QMetaProperty,QVariant)), this, SLOT(styleChanged(QMetaProperty,QVariant)) ); setText( _style->name() ); } else setText(""); } void StyleButton::styleChanged(QMetaProperty prop, QVariant val) { QString propName(prop.name()); if( propName == "name" ) setText( val.toString() ); } void StyleButton::recChanged(QMetaProperty prop, QVariant val) { QString propName(prop.name()); if( propName == "style" ) setStyle( qobject_cast(BeerXMLElement::extractPtr(val)) ); } brewtarget-2.0.2/src/MashComboBox.h0000644000175000017500000000403412266512167016507 0ustar philipphilip/* * MashComboBox.h is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef _MASHCOMBOBOX_H #define _MASHCOMBOBOX_H class MashComboBox; #include #include #include #include #include // Forward declaration. class Mash; /*! * \class MashComboBox * \author Philip G. Lee * * \brief A combobox that is a view class for a list of mashes. * * Well, it's not exactly * a strict view class, since it contains model-related methods, so we should * prune out the model methods at some point. */ class MashComboBox : public QComboBox { Q_OBJECT public: MashComboBox(QWidget* parent=0); virtual ~MashComboBox() {} //! Set the current index to that which corresponds to \b m. void setIndexByMash(Mash* m); //! Set the index. void setIndex(int ndx); //! Remove all mashs from the internal model. void removeAllMashs(); //! Populate the internal model with all the database mashs. void repopulateList(); //! \return the selected mash. Mash* getSelectedMash(); public slots: void changed(QMetaProperty, QVariant); //! Add a mash to the internal model's list. void addMash(Mash* m); //! Remove a mash from the internal model's list. void removeMash(Mash* m); private: QList mashObs; }; #endif brewtarget-2.0.2/src/database.h0000755000175000017500000006351712266512167015750 0ustar philipphilip/* * database.h is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef _DATABASE_H #define _DATABASE_H class Database; #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include "BeerXMLElement.h" #include "brewtarget.h" #include "recipe.h" // Forward declarations class BrewNote; //class BeerXMLElement; class Equipment; class Fermentable; class Hop; class Instruction; class Mash; class MashStep; class Misc; //class Recipe; class Style; class Water; class Yeast; class QThread; class SetterCommandStack; typedef struct { QString tableName; // Name of the table. QStringList propName; // List of BeerXML column names. BeerXMLElement* (Database::*newElement)(void); // Function to make a new ingredient in this table. } TableParams; /*! * \class Database * \author Philip G. Lee * * \brief Model for lists of all the BeerXMLElement items in the database. * * This class is a singleton, meaning that there should only ever be one * instance of this floating around, and its purpose is to manage all of * the BeerXMLElements in the app. The Database should be the only way * we ever get pointers to BeerXML ingredients and the like. This is our * big model class. */ class Database : public QObject { Q_OBJECT friend class BtSqlQuery; // This class needs the _thread instance. friend class SetterCommand; // Needs sqlDatabase(). public: //! This should be the ONLY way you get an instance. static Database& instance(); //! Call this to delete the internal instance. static void dropInstance(); //! \brief Should be called when we are about to close down. void unload(bool keepChanges = true); //! backs up database to 'dir' in chosen directory static bool backupToDir(QString dir); //! \brief Reverts database to that of chosen file. static bool restoreFromFile(QString newDbFileStr); bool loadSuccessful(); bool isDirty(); /*! Schedule an update of the entry, and call the notification when complete. */ void updateEntry( Brewtarget::DBTable table, int key, const char* col_name, QVariant value, QMetaProperty prop, BeerXMLElement* object, bool notify = true ); //! \brief Get the contents of the cell specified by table/key/col_name. QVariant get( Brewtarget::DBTable table, int key, const char* col_name ) { QSqlQuery& q = selectAll[table]; q.bindValue( ":id", key ); q.exec(); if( !q.next() ) { Brewtarget::logE( QString("Database::get(): %1").arg(q.lastError().text()) ); q.finish(); return QVariant(); } QVariant ret( q.record().value(col_name) ); q.finish(); return ret; } //! Get a table view. QTableView* createView( Brewtarget::DBTable table ); // Named constructors ====================================================== //! Create new brew note attached to \b parent. BrewNote* newBrewNote(Recipe* parent, bool signal = true); Equipment* newEquipment(); Fermentable* newFermentable(); Hop* newHop(); //! Create new instruction attached to \b parent. Instruction* newInstruction(Recipe* parent); Mash* newMash(); //! Create new mash attached to \b parent. Mash* newMash(Recipe* parent); //! Create new mash step attached to \b parent. MashStep* newMashStep(Mash* parent); Misc* newMisc(); Recipe* newRecipe(bool addMash = true); Style* newStyle(); Water* newWater(); Yeast* newYeast(); //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ // Named copy constructors================================================== //! \returns a copy of the given note. BrewNote* newBrewNote(BrewNote* other, bool signal = true); Equipment* newEquipment(Equipment* other); //! \returns a copy of the given recipe. Recipe* newRecipe(Recipe* other); /*! \returns a copy of the given mash. Displaces the mash currently in the * parent recipe unless \b displace is false. */ Mash* newMash(Mash* other, bool displace = true); Fermentable* newFermentable(Fermentable* other); Hop* newHop(Hop* other); Misc* newMisc(Misc* other); Style* newStyle(Style* other); Yeast* newYeast(Yeast* other); //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ //! \brief Copies all of the mashsteps from \c oldMash to \c newMash void duplicateMashSteps(Mash *oldMash, Mash *newMash); //! Import ingredients from BeerXML documents. bool importFromXML(const QString& filename); //! Get recipe by key value. Recipe* recipe(int key); //! Get equipment by key value. Equipment* equipment(int key); // Add a COPY of these ingredients to a recipe, then call the changed() // signal corresponding to the appropriate QList // of ingredients in rec. If noCopy is true, then don't copy, and set // the ingredient's display parameter to 0 (don't display in lists). void addToRecipe( Recipe* rec, Hop* hop, bool noCopy = false ); void addToRecipe( Recipe* rec, Fermentable* ferm, bool noCopy = false ); void addToRecipe( Recipe* rec, Misc* m, bool noCopy = false ); void addToRecipe( Recipe* rec, Yeast* y, bool noCopy = false ); void addToRecipe( Recipe* rec, Water* w, bool noCopy = false ); //! Add a mash, displacing any current mash. void addToRecipe( Recipe* rec, Mash* m, bool noCopy = false ); //! Add an equipment, displacing any current equipment. void addToRecipe( Recipe* rec, Equipment* e, bool noCopy = false ); //! Add a style, displacing any current style. void addToRecipe( Recipe* rec, Style* s, bool noCopy = false ); // NOTE: not possible in this format. //void addToRecipe( Recipe* rec, Instruction* ins ); // Remove these from a recipe, then call the changed() // signal corresponding to the appropriate QList // of ingredients in rec. void removeFromRecipe( Recipe* rec, Hop* hop ); void removeFromRecipe( Recipe* rec, Fermentable* ferm ); void removeFromRecipe( Recipe* rec, Misc* m ); void removeFromRecipe( Recipe* rec, Yeast* y ); void removeFromRecipe( Recipe* rec, Water* w ); void removeFromRecipe( Recipe* rec, Instruction* ins ); void removeFromRecipe( Recipe* rec, BrewNote* b ); //! Remove \b step from \b mash. void removeFrom( Mash* mash, MashStep* step ); // Mark an item as deleted. // NOTE: should these also remove all references to the ingredients? void removeEquipment(Equipment* equip); void removeFermentable(Fermentable* ferm); void removeHop(Hop* hop); void removeMash(Mash* mash); void removeMashStep(MashStep* mashStep); void removeMisc(Misc* misc); void removeRecipe(Recipe* rec); void removeStyle(Style* style); void removeWater(Water* water); void removeYeast(Yeast* yeast); // Or you can mark whole lists as deleted. void removeEquipment(QList equip); void removeFermentable(QList ferm); void removeHop(QList hop); void removeMash(QList mash); void removeMashStep(QList mashStep); void removeMisc(QList misc); void removeRecipe(QList rec); void removeStyle(QList style); void removeWater(QList water); void removeYeast(QList yeast); //! Get the recipe that this \b note is part of. Recipe* getParentRecipe( BrewNote const* note ); //! Interchange the step orders of the two steps. Must be in same mash. void swapMashStepOrder(MashStep* m1, MashStep* m2); //! Interchange the instruction orders. Must be in same recipe. void swapInstructionOrder(Instruction* in1, Instruction* in2); //! Insert an instruction (already in a recipe) into position \b pos. void insertInstruction(Instruction* in, int pos); //! \brief The instruction number of an instruction. int instructionNumber(Instruction const* in); Q_PROPERTY( QList brewNotes READ brewNotes /*WRITE*/ NOTIFY changed STORED false ) Q_PROPERTY( QList equipments READ equipments /*WRITE*/ NOTIFY changed STORED false ) Q_PROPERTY( QList fermentables READ fermentables /*WRITE*/ NOTIFY changed STORED false ) Q_PROPERTY( QList hops READ hops /*WRITE*/ NOTIFY changed STORED false ) Q_PROPERTY( QList mashs READ mashs /*WRITE*/ NOTIFY changed STORED false ) Q_PROPERTY( QList mashSteps READ mashSteps /*WRITE*/ NOTIFY changed STORED false ) Q_PROPERTY( QList miscs READ miscs /*WRITE*/ NOTIFY changed STORED false ) Q_PROPERTY( QList recipes READ recipes /*WRITE*/ NOTIFY changed STORED false ) Q_PROPERTY( QList styles READ styles /*WRITE*/ NOTIFY changed STORED false ) Q_PROPERTY( QList waters READ waters /*WRITE*/ NOTIFY changed STORED false ) Q_PROPERTY( QList yeasts READ yeasts /*WRITE*/ NOTIFY changed STORED false ) // Returns non-deleted BeerXMLElements. QList brewNotes(); QList equipments(); QList fermentables(); QList hops(); QList mashs(); QList mashSteps(); QList miscs(); QList recipes(); QList styles(); QList waters(); QList yeasts(); //! \b returns a list of the brew notes in a recipe. QList brewNotes(Recipe const* parent); //! Return a list of all the fermentables in a recipe. QList fermentables(Recipe const* parent); //! Return a list of all the hops in a recipe. QList hops( Recipe const* parent ); //! Return a list of all the instructions in a recipe. QList instructions( Recipe const* parent ); //! Return a list of all the miscs in a recipe. QList miscs( Recipe const* parent ); //! Return a list of all the waters in a recipe. QList waters( Recipe const* parent ); //! Return a list of all the yeasts in a recipe. QList yeasts( Recipe const* parent ); //! Get recipe's equipment. Equipment* equipment(Recipe const* parent); //! Get the recipe's mash. Mash* mash( Recipe const* parent ); //! Get recipe's style. Style* style(Recipe const* parent); //! Return a list of all the steps in a mash. QList mashSteps(Mash const* parent); // Export to BeerXML ======================================================= void toXml( BrewNote* a, QDomDocument& doc, QDomNode& parent ); void toXml( Equipment* a, QDomDocument& doc, QDomNode& parent ); void toXml( Fermentable* a, QDomDocument& doc, QDomNode& parent ); void toXml( Hop* a, QDomDocument& doc, QDomNode& parent ); void toXml( Instruction* a, QDomDocument& doc, QDomNode& parent ); void toXml( Mash* a, QDomDocument& doc, QDomNode& parent ); void toXml( MashStep* a, QDomDocument& doc, QDomNode& parent ); void toXml( Misc* a, QDomDocument& doc, QDomNode& parent ); void toXml( Recipe* a, QDomDocument& doc, QDomNode& parent ); void toXml( Style* a, QDomDocument& doc, QDomNode& parent ); void toXml( Water* a, QDomDocument& doc, QDomNode& parent ); void toXml( Yeast* a, QDomDocument& doc, QDomNode& parent ); //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ //! Get the file where this database was loaded from. static QString getDbFileName(); /*! * Updates the brewtarget-provided ingredients from the given sqlite * database file. */ void updateDatabase(QString const& filename); void saveDatabase(); void convertFromXml(); bool isConverted(); signals: void changed(QMetaProperty prop, QVariant value); void newEquipmentSignal(Equipment*); void deletedEquipmentSignal(Equipment*); void newFermentableSignal(Fermentable*); void deletedFermentableSignal(Fermentable*); void newHopSignal(Hop*); void deletedHopSignal(Hop*); void newMashSignal(Mash*); void deletedMashSignal(Mash*); void newMiscSignal(Misc*); void deletedMiscSignal(Misc*); void newRecipeSignal(Recipe*); void deletedRecipeSignal(Recipe*); void newStyleSignal(Style*); void deletedStyleSignal(Style*); void newWaterSignal(Water*); void deletedWaterSignal(Water*); void newYeastSignal(Yeast*); void deletedYeastSignal(Yeast*); // This is still experimental. Or at least mental void newBrewNoteSignal(BrewNote*); void deletedBrewNoteSignal(BrewNote*); // MashSteps need signals too void newMashStepSignal(MashStep*); void deletedMashStepSignal(MashStep*); private slots: //! Load database from file. bool load(); private: static Database* dbInstance; // The singleton object //QThread* _thread; //SetterCommandStack* _setterCommandStack; static QFile dbFile; static QString dbFileName; static QFile dataDbFile; static QString dataDbFileName; static QFile dbTempBackupFile; static QString dbTempBackupFileName; static QString dbConName; static QHash selectAllHash(); static QHash tableNames; static QHash tableNamesHash(); static QHash classNameToTable; static QHash classNameToTableHash(); static QHash threadToDbCon; // Each thread should use a distinct database connection. static const QList tableParams; // Each thread should have its own connection to QSqlDatabase. static QHash< QThread*, QString > _threadToConnection; static QMutex _threadToConnectionMutex; // Instance variables. bool loadWasSuccessful; bool converted; bool dirty; QHash< int, BrewNote* > allBrewNotes; QHash< int, Equipment* > allEquipments; QHash< int, Fermentable* > allFermentables; QHash< int, Hop* > allHops; QHash< int, Instruction* > allInstructions; QHash< int, Mash* > allMashs; QHash< int, MashStep* > allMashSteps; QHash< int, Misc* > allMiscs; QHash< int, Recipe* > allRecipes; QHash< int, Style* > allStyles; QHash< int, Water* > allWaters; QHash< int, Yeast* > allYeasts; QHash selectAll; //! Get the right database connection for the calling thread. static QSqlDatabase sqlDatabase(); //! Helper to populate all* hashes. T should be a BeerXMLElement subclass. template void populateElements( QHash& hash, Brewtarget::DBTable table ) { int key; BeerXMLElement* e; T* et; QSqlQuery q(sqlDatabase()); q.setForwardOnly(true); QString queryString = QString("SELECT id FROM `%1`").arg(tableNames[table]); q.prepare( queryString ); q.exec(); while( q.next() ) { key = q.record().value("id").toInt(); e = new T(); et = qobject_cast(e); // Do this casting from BeerXMLElement* to T* to avoid including BeerXMLElement.h, causing circular inclusion. et->_key = key; et->_table = table; if( ! hash.contains(key) ) hash.insert(key,et); } q.finish(); } //! Helper to populate the list using the given filter. template void getElements( QList& list, QString filter, Brewtarget::DBTable table, QHash allElements ) { int key; QSqlQuery q(sqlDatabase()); q.setForwardOnly(true); QString queryString; if( !filter.isEmpty() ) queryString = QString("SELECT id FROM `%1` WHERE %2").arg(tableNames[table]).arg(filter); else queryString = QString("SELECT id FROM `%1`").arg(tableNames[table]); q.prepare( queryString ); q.exec(); while( q.next() ) { key = q.record().value("id").toInt(); if( allElements.contains(key) ) list.append( allElements[key] ); } q.finish(); } /*! Populates the \b element with properties. This must be a class that * simple properties only (no subelements). * \param element is the element you want to populate. * \param xmlTagsToProperties is a hash from xml tags to meta property names. * \param elementNode is the root node of the element we are reading from. */ void fromXml(BeerXMLElement* element, QHash const& xmlTagsToProperties, QDomNode const& elementNode); // Import from BeerXML ===================================================== BrewNote* brewNoteFromXml( QDomNode const& node, Recipe* parent ); Equipment* equipmentFromXml( QDomNode const& node, Recipe* parent = 0 ); Fermentable* fermentableFromXml( QDomNode const& node, Recipe* parent = 0 ); Hop* hopFromXml( QDomNode const& node, Recipe* parent = 0 ); Instruction* instructionFromXml( QDomNode const& node, Recipe* parent ); Mash* mashFromXml( QDomNode const& node, Recipe* parent = 0 ); MashStep* mashStepFromXml( QDomNode const& node, Mash* parent ); Misc* miscFromXml( QDomNode const& node, Recipe* parent = 0 ); Recipe* recipeFromXml( QDomNode const& node ); Style* styleFromXml( QDomNode const& node, Recipe* parent = 0 ); Water* waterFromXml( QDomNode const& node, Recipe* parent = 0 ); Yeast* yeastFromXml( QDomNode const& node, Recipe* parent = 0 ); //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ //! Hidden constructor. Database(); //! Copy constructor hidden. Database(Database const&){} //! Assignment operator hidden. Database& operator=(Database const&){ return *this; } //! Destructor hidden. ~Database(); //! Helper to more easily get QMetaProperties. QMetaProperty metaProperty(const char* name) { return metaObject()->property(metaObject()->indexOfProperty(name)); } /*! Make a new row in the \b table. * \returns key of new row. * Only works if all the fields in the table have default values. */ int insertNewDefaultRecord( Brewtarget::DBTable table ); /*! Insert a new row in \b mashstep, where \b parent is the parent mash. */ int insertNewMashStepRecord( Mash* parent ); //! Mark the \b object in \b table as deleted. void deleteRecord( Brewtarget::DBTable table, BeerXMLElement* object ); // TODO: encapsulate this in a QUndoCommand. /*! * Create a \e copy (by default) of \b ing and add the copy to \b recipe where \b ing's * key is \b ingKeyName and the relational table is \b relTableName. * * \tparam T the type of ingredient. Must inherit BeerXMLElement. * \param rec the recipe to add the ingredient to * \param ing the ingredient to add to the recipe * \param propName the Recipe property that will change when we add \c ing to it * \param relTableName the name of the relational table, perhaps "ingredient_in_recipe" * \param ingKeyName the name of the key in the ingredient table corresponding to \c ing * \param noCopy By default, we create a copy of the ingredient. If true, * add the ingredient directly. * \param keyHash if not null, add the new (key, \c ing) pair to it * \param doNotDisplay if true (default), calls \c setDisplay(\c false) on the new ingredient * \returns the new ingredient. */ template T* addIngredientToRecipe( Recipe* rec, BeerXMLElement* ing, QString propName, QString relTableName, QString ingKeyName, bool noCopy = false, QHash* keyHash = 0, bool doNotDisplay = true ) { T* newIng = 0; if( rec == 0 || ing == 0 ) return 0; // Ensure this ingredient is not already in the recipe. QSqlQuery q( QString("SELECT recipe_id from `%1` WHERE `%2`='%3' AND recipe_id='%4'") .arg(relTableName).arg(ingKeyName).arg(ing->_key).arg(reinterpret_cast(rec)->_key), sqlDatabase() ); if( q.next() ) { q.finish(); Brewtarget::logW( "Database::addIngredientToRecipe: Ingredient already exists in recipe." ); return 0; } else q.finish(); if ( noCopy ) { newIng = qobject_cast(ing); // Any ingredient part of a recipe shouldn't be visible, unless otherwise requested. if( doNotDisplay ) ing->setDisplay(false); } else { newIng = copy(ing, false, keyHash); } // Put this (ing,rec) pair in the _in_recipe table. q = QSqlQuery( sqlDatabase() );//sqldb ); q.setForwardOnly(true); q.prepare( QString("INSERT INTO `%1` (`%2`, `recipe_id`) VALUES (:ingredient, :recipe)") .arg(relTableName) .arg(ingKeyName) ); q.bindValue(":ingredient", newIng->key()); q.bindValue(":recipe", rec->_key); if( q.exec() ) { q.finish(); emit rec->changed( rec->metaProperty(propName), QVariant() ); } else { q.finish(); Brewtarget::logW( QString("Database::addIngredientToRecipe: %1.").arg(q.lastError().text()) ); } dirty = true; return newIng; } //! Remove ingredient from a recipe. void removeIngredientFromRecipe( Recipe* rec, BeerXMLElement* ing, QString propName, QString relTableName, QString ingKeyName ); /*! * \brief Create a deep copy of the \b object. * \em T must be a subclass of \em BeerXMLElement. * \returns a pointer to the new copy. You must manually emit the changed() * signal after a copy() call. Also, does not insert things magically into * allHop or allInstructions etc. hashes. This just simply duplicates a * row in a table, unless you provide \em keyHash. * \param object is the thing you want to copy. * \param displayed is true if you want the \em displayed column set to true. * \param keyHash if nonzero, inserts the new (key,T*) pair into the hash. */ template T* copy( BeerXMLElement const* object, bool displayed = true, QHash* keyHash=0 ) { int newKey; int i; T* newOne = new T(); Brewtarget::DBTable t = classNameToTable[object->metaObject()->className()]; QString tName = tableNames[t]; QSqlQuery q(QString("SELECT * FROM %1 WHERE id = %2").arg(tName).arg(object->_key), sqlDatabase() ); if( !q.next() ) { Brewtarget::logE( QString("Database::copy: %1").arg(q.lastError().text()) ); q.finish(); return 0; } QSqlRecord oldRecord = q.record(); q.finish(); QString prepString = QString("UPDATE `%1` SET " ).arg(tName); // Get the field names from the oldRecord. But skip ID, because it // won't work to copy it for (i=0; i< oldRecord.count(); ++i) { QString name = oldRecord.fieldName(i); if ( name != "id" ) prepString.append(QString("`%1`=:%2,").arg(name).arg(name)); } // Remove the trailing , prepString.chop(1); // Create a new row. newKey = insertNewDefaultRecord(t); q = QSqlQuery( QString("SELECT * FROM %1 WHERE id = %2") .arg(tName).arg(newKey), sqlDatabase() ); q.next(); QSqlRecord newRecord = q.record(); q.finish(); prepString.append( QString(" where `id`='%1'").arg(newKey)); q = QSqlQuery( sqlDatabase() ); q.prepare(prepString); // Bind, bind like the wind! Or at least like mueslix for (i=0; i< oldRecord.count(); ++i) { QString name = oldRecord.fieldName(i); QVariant val = oldRecord.value(i); // We need to set the parent correctly. if ( name == "parent" ) q.bindValue(QString(":%1").arg(name), object->_key); // Display is being set by the call, not by what we are copying else if ( name == "display" ) q.bindValue(":display", displayed ? 1 : 0 ); // Ignore ID again, for the same reasons as before. else if ( name != "id" ) q.bindValue(QString(":%1").arg(name), val); } q.exec(); q.finish(); // Update the hash if need be. if( keyHash ) { BeerXMLElement* newOneCast = qobject_cast(newOne); newOneCast->_key = newKey; newOneCast->_table = t; keyHash->insert( newKey, newOne ); } return newOne; } // Do an sql update. void sqlUpdate( Brewtarget::DBTable table, QString const& setClause, QString const& whereClause ); // Do an sql delete. void sqlDelete( Brewtarget::DBTable table, QString const& whereClause ); int getQualifiedHopTypeIndex(QString type, Hop* hop); int getQualifiedMiscTypeIndex(QString type, Misc* misc); int getQualifiedMiscUseIndex(QString use, Misc* misc); int getQualifiedHopUseIndex(QString use, Hop* hop); // Cleans up the backup database if it was leftover from an error. bool cleanupBackupDatabase(); static QList makeTableParams(); void updateSchema(); }; #endif /* _DATABASE_H */ brewtarget-2.0.2/src/HopSortFilterProxyModel.h0000644000175000017500000000264512266512167020763 0ustar philipphilip/* * HopSortFilterProxyModel.cpp is part of Brewtarget, and is Copyright Mik * Firestone (mikfire@gmail.com) and Philip G. Lee (rocketman768@gmail.com), * 2010-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef _HOPSORTFILTERPROXYMODEL_H #define _HOPSORTFILTERPROXYMODEL_H class HopSortFilterProxyModel; #include /*! * \class HopSortFilterProxyModel * \author Mik Firestone * \author Philip G. Lee * * \brief Proxy model for sorting hops. */ class HopSortFilterProxyModel : public QSortFilterProxyModel { Q_OBJECT public: HopSortFilterProxyModel(QObject *parent = 0, bool filt = true); protected: bool lessThan(const QModelIndex &left, const QModelIndex &right) const; bool filterAcceptsRow( int source_row, const QModelIndex &source_parent) const; private: bool filter; }; #endif brewtarget-2.0.2/src/InstructionWidget.h0000644000175000017500000000337612266512167017663 0ustar philipphilip/* * InstructionWidget.h is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef _INGREDIENTWIDGET_H #define _INGREDIENTWIDGET_H class InstructionWidget; #include "ui_instructionWidget.h" #include #include #include #include // Forward declarations. class TimerWidget; class Instruction; /*! * \class InstructionWidget * \author Philip G. Lee * * \brief View/controller widget that views/edits recipe instructions. */ class InstructionWidget : public QWidget, public Ui::instructionWidget { Q_OBJECT public: InstructionWidget(QWidget* parent=0); virtual ~InstructionWidget(); //! View/edit the given instruction. void setInstruction(Instruction* ins); virtual QSize sizeHint() const; // From QWidget public slots: void setDirections(); void setHasTimer(); void setTimerValue(QString value); void setCompleted(); void changed(QMetaProperty,QVariant); private: void showChanges(); void makeEverythingInactive(); Instruction* insObs; TimerWidget* timer; }; #endif /* _INGREDIENTWIDGET_H */ brewtarget-2.0.2/src/EquipmentEditor.cpp0000644000175000017500000003516712266512167017652 0ustar philipphilip/* * EquipmentEditor.cpp is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include #include #include #include #include #include "database.h" #include "equipment.h" #include "EquipmentEditor.h" #include "EquipmentListModel.h" #include "config.h" #include "unit.h" #include "brewtarget.h" #include "HeatCalculations.h" #include "PhysicalConstants.h" #include "BeerXMLSortProxyModel.h" EquipmentEditor::EquipmentEditor(QWidget* parent, bool singleEquipEditor) : QDialog(parent) { setupUi(this); if( singleEquipEditor ) { //horizontalLayout_equipments->setVisible(false); for(int i = 0; i < horizontalLayout_equipments->count(); ++i) { QWidget* w = horizontalLayout_equipments->itemAt(i)->widget(); if(w) w->setVisible(false); } pushButton_new->setVisible(false); } // Set grain absorption label based on units. Unit* weightUnit = 0; Unit* volumeUnit = 0; Brewtarget::getThicknessUnits( &volumeUnit, &weightUnit ); label_absorption->setText(tr("Grain absorption (%1/%2)").arg(volumeUnit->getUnitName()).arg(weightUnit->getUnitName())); equipmentListModel = new EquipmentListModel(equipmentComboBox); equipmentSortProxyModel = new BeerXMLSortProxyModel(equipmentListModel); equipmentComboBox->setModel(equipmentSortProxyModel); obsEquip = 0; // Connect all the edit boxen connect(lineEdit_boilSize,SIGNAL(editingFinished()),this,SLOT(updateField())); connect(lineEdit_batchSize,SIGNAL(editingFinished()),this,SLOT(updateField())); connect(lineEdit_tunVolume,SIGNAL(editingFinished()),this,SLOT(updateField())); connect(lineEdit_tunWeight,SIGNAL(editingFinished()),this,SLOT(updateField())); connect(lineEdit_tunSpecificHeat,SIGNAL(editingFinished()),this,SLOT(updateField())); connect(lineEdit_boilTime,SIGNAL(editingFinished()),this,SLOT(updateField())); connect(lineEdit_evaporationRate,SIGNAL(editingFinished()),this,SLOT(updateField())); connect(lineEdit_topUpKettle,SIGNAL(editingFinished()),this,SLOT(updateField())); connect(lineEdit_topUpWater,SIGNAL(editingFinished()),this,SLOT(updateField())); connect(lineEdit_trubChillerLoss,SIGNAL(editingFinished()),this,SLOT(updateField())); connect(lineEdit_lauterDeadspace,SIGNAL(editingFinished()),this,SLOT(updateField())); connect(lineEdit_grainAbsorption,SIGNAL(editingFinished()),this,SLOT(updateField())); connect(lineEdit_boilingPoint,SIGNAL(editingFinished()),this,SLOT(updateField())); connect(lineEdit_hopUtilization,SIGNAL(editingFinished()),this,SLOT(updateField())); // Set up the buttons connect( pushButton_save, SIGNAL( clicked() ), this, SLOT( save() ) ); connect( pushButton_new, SIGNAL( clicked() ), this, SLOT( newEquipment() ) ); connect( pushButton_cancel, SIGNAL( clicked() ), this, SLOT( cancel() ) ); connect( pushButton_remove, SIGNAL( clicked() ), this, SLOT( removeEquipment() ) ); connect( pushButton_absorption, SIGNAL( clicked() ), this, SLOT( resetAbsorption() ) ); connect( equipmentComboBox, SIGNAL(activated(const QString&)), this, SLOT( equipmentSelected() ) ); // Check boxen connect(checkBox_calcBoilVolume, SIGNAL(stateChanged(int)), this, SLOT(updateCheckboxRecord(int))); connect(checkBox_defaultEquipment, SIGNAL(stateChanged(int)), this, SLOT(updateDefaultEquipment(int))); // make sure the dialog gets populated the first time it's opened from the menu equipmentSelected(); } void EquipmentEditor::setEquipment( Equipment* e ) { if( e ) { obsEquip = e; // Make sure the combo box gets set to the right place. QModelIndex modelIndex(equipmentListModel->find(e)); QModelIndex viewIndex(equipmentSortProxyModel->mapFromSource(modelIndex)); if( viewIndex.isValid() ) equipmentComboBox->setCurrentIndex(viewIndex.row()); showChanges(); } } void EquipmentEditor::removeEquipment() { if( obsEquip ) Database::instance().removeEquipment(obsEquip); equipmentComboBox->setCurrentIndex(-1); setEquipment(0); } void EquipmentEditor::clear() { lineEdit_name->setText(QString("")); lineEdit_name->setCursorPosition(0); lineEdit_boilSize->setText(QString("")); checkBox_calcBoilVolume->setCheckState( Qt::Unchecked ); lineEdit_batchSize->setText(QString("")); lineEdit_tunVolume->setText(QString("")); lineEdit_tunWeight->setText(QString("")); lineEdit_tunSpecificHeat->setText(QString("")); lineEdit_boilTime->setText(QString("")); lineEdit_evaporationRate->setText(QString("")); lineEdit_topUpKettle->setText(QString("")); lineEdit_topUpWater->setText(QString("")); lineEdit_trubChillerLoss->setText(QString("")); lineEdit_lauterDeadspace->setText(QString("")); lineEdit_hopUtilization->setText(QString("")); textEdit_notes->setText(""); lineEdit_grainAbsorption->setText(""); } void EquipmentEditor::equipmentSelected() { QModelIndex modelIndex; QModelIndex viewIndex( equipmentComboBox->model()->index(equipmentComboBox->currentIndex(),0) ); modelIndex = equipmentSortProxyModel->mapToSource(viewIndex); setEquipment( equipmentListModel->at(modelIndex.row()) ); } void EquipmentEditor::save() { if( obsEquip == 0 ) { setVisible(false); return; } Unit* weightUnit = 0; Unit* volumeUnit = 0; Brewtarget::getThicknessUnits( &volumeUnit, &weightUnit ); double ga_LKg = lineEdit_grainAbsorption->text().toDouble() * volumeUnit->toSI(1.0) * weightUnit->fromSI(1.0); // Do some prewarning things. I would prefer to do this only on change, but // we need to be worried about new equipment too. if ( Brewtarget::volQStringToSI(lineEdit_tunVolume->text()) <= 0.001 ) QMessageBox::warning(this, tr("Tun Volume Warning"), tr("The tun volume you entered is 0. This may cause problems")); if ( Brewtarget::volQStringToSI(lineEdit_batchSize->text()) <= 0.001 ) QMessageBox::warning(this, tr("Batch Size Warning"), tr("The batch size you entered is 0. This may cause problems")); if ( lineEdit_hopUtilization->text().toDouble() < 0.001 ) QMessageBox::warning(this, tr("Hop Utilization Warning"), tr("The hop utilization percentage you entered is 0. This may cause problems")); obsEquip->setName( lineEdit_name->text() ); obsEquip->setBoilSize_l( Brewtarget::volQStringToSI(lineEdit_boilSize->text()) ); obsEquip->setBatchSize_l( Brewtarget::volQStringToSI(lineEdit_batchSize->text()) ); obsEquip->setTunVolume_l( Brewtarget::volQStringToSI(lineEdit_tunVolume->text()) ); obsEquip->setTunWeight_kg( Brewtarget::weightQStringToSI(lineEdit_tunWeight->text()) ); obsEquip->setTunSpecificHeat_calGC( lineEdit_tunSpecificHeat->text().toDouble() ); obsEquip->setBoilTime_min( Brewtarget::timeQStringToSI(lineEdit_boilTime->text()) ); obsEquip->setEvapRate_lHr( Brewtarget::volQStringToSI(lineEdit_evaporationRate->text()) ); obsEquip->setTopUpKettle_l( Brewtarget::volQStringToSI(lineEdit_topUpKettle->text()) ); obsEquip->setTopUpWater_l( Brewtarget::volQStringToSI(lineEdit_topUpWater->text()) ); obsEquip->setTrubChillerLoss_l( Brewtarget::volQStringToSI(lineEdit_trubChillerLoss->text()) ); obsEquip->setLauterDeadspace_l( Brewtarget::volQStringToSI(lineEdit_lauterDeadspace->text()) ); obsEquip->setGrainAbsorption_LKg( ga_LKg ); obsEquip->setBoilingPoint_c( Brewtarget::tempQStringToSI(lineEdit_boilingPoint->text())); obsEquip->setHopUtilization_pct( lineEdit_hopUtilization->text().toDouble()); obsEquip->setNotes(textEdit_notes->toPlainText()); obsEquip->setCalcBoilVolume(checkBox_calcBoilVolume->checkState() == Qt::Checked); setVisible(false); return; } void EquipmentEditor::newEquipment() { QString name = QInputDialog::getText(this, tr("Equipment name"), tr("Equipment name:")); if( name.isEmpty() ) return; Equipment* e = Database::instance().newEquipment(); e->setName( name ); setEquipment(e); show(); } void EquipmentEditor::cancel() { setEquipment(obsEquip); setVisible(false); } void EquipmentEditor::resetAbsorption() { if( obsEquip == 0 ) return; // Get weight and volume units for grain absorption. Unit* weightUnit = 0; Unit* volumeUnit = 0; Brewtarget::getThicknessUnits( &volumeUnit, &weightUnit ); double gaCustomUnits = PhysicalConstants::grainAbsorption_Lkg * volumeUnit->fromSI(1.0) * weightUnit->toSI(1.0); lineEdit_grainAbsorption->setText(Brewtarget::displayAmount(gaCustomUnits)); } void EquipmentEditor::changed(QMetaProperty /*prop*/, QVariant /*val*/) { if( sender() == obsEquip ) showChanges(); } void EquipmentEditor::showChanges() { Equipment *e = obsEquip; if( e == 0 ) { clear(); return; } // Get weight and volume units for grain absorption. Unit* weightUnit = 0; Unit* volumeUnit = 0; Brewtarget::getThicknessUnits( &volumeUnit, &weightUnit ); label_absorption->setText(tr("Grain absorption (%1/%2)").arg(volumeUnit->getUnitName()).arg(weightUnit->getUnitName())); //equipmentComboBox->setIndexByEquipment(e); lineEdit_name->setText(e->name()); lineEdit_name->setCursorPosition(0); lineEdit_boilSize->setText( Brewtarget::displayAmount(e->boilSize_l(), Units::liters) ); checkBox_calcBoilVolume->blockSignals(true); // Keep next line from emitting a signal and changing e. checkBox_calcBoilVolume->setCheckState( (e->calcBoilVolume())? Qt::Checked : Qt::Unchecked ); checkBox_calcBoilVolume->blockSignals(false); lineEdit_batchSize->setText( Brewtarget::displayAmount(e->batchSize_l(), Units::liters) ); lineEdit_tunVolume->setText( Brewtarget::displayAmount(e->tunVolume_l(), Units::liters) ); lineEdit_tunWeight->setText( Brewtarget::displayAmount(e->tunWeight_kg(), Units::kilograms) ); lineEdit_tunSpecificHeat->setText( Brewtarget::displayAmount(e->tunSpecificHeat_calGC(), 0) ); lineEdit_boilTime->setText( Brewtarget::displayAmount(e->boilTime_min(), Units::minutes) ); lineEdit_evaporationRate->setText( Brewtarget::displayAmount(e->evapRate_lHr(), Units::liters) ); lineEdit_topUpKettle->setText( Brewtarget::displayAmount(e->topUpKettle_l(), Units::liters) ); lineEdit_topUpWater->setText( Brewtarget::displayAmount(e->topUpWater_l(), Units::liters) ); lineEdit_trubChillerLoss->setText( Brewtarget::displayAmount(e->trubChillerLoss_l(), Units::liters) ); lineEdit_lauterDeadspace->setText( Brewtarget::displayAmount(e->lauterDeadspace_l(), Units::liters) ); textEdit_notes->setText( e->notes() ); double gaCustomUnits = e->grainAbsorption_LKg() * volumeUnit->fromSI(1.0) * weightUnit->toSI(1.0); lineEdit_grainAbsorption->setText( Brewtarget::displayAmount(gaCustomUnits,0,3) ); lineEdit_boilingPoint->setText( Brewtarget::displayAmount(e->boilingPoint_c(), Units::celsius) ); lineEdit_hopUtilization->setText(Brewtarget::displayAmount(e->hopUtilization_pct(),0,1)); checkBox_defaultEquipment->blockSignals(true); if ( Brewtarget::option("defaultEquipmentKey",-1) == e->key() ) checkBox_defaultEquipment->setCheckState(Qt::Checked); else checkBox_defaultEquipment->setCheckState(Qt::Unchecked); checkBox_defaultEquipment->blockSignals(false); } void EquipmentEditor::updateCheckboxRecord(int state) { if ( state == Qt::Checked ) { double bar = calcBatchSize(); lineEdit_boilSize->setText( Brewtarget::displayAmount(bar, Units::liters)); } } double EquipmentEditor::calcBatchSize() { double size, topUp, trubLoss, time, evapRate; size = Brewtarget::volQStringToSI(lineEdit_batchSize->text()); topUp = Brewtarget::volQStringToSI(lineEdit_topUpWater->text()); trubLoss = Brewtarget::volQStringToSI(lineEdit_trubChillerLoss->text()); time = Brewtarget::timeQStringToSI(lineEdit_boilTime->text()); evapRate = Brewtarget::volQStringToSI(lineEdit_evaporationRate->text()); return size - topUp + trubLoss + (time/(double)60)*evapRate; } void EquipmentEditor::updateDefaultEquipment(int state) { QString optionName = "defaultEquipmentKey"; QVariant currentDefault = Brewtarget::option(optionName, -1); if ( state == Qt::Checked ) { Brewtarget::setOption(optionName, obsEquip->key()); } else if ( currentDefault == obsEquip->key() ) { Brewtarget::setOption(optionName,-1); } } void EquipmentEditor::updateField() { QObject* selection = sender(); QLineEdit* field = qobject_cast(selection); QString current; double foo; if( obsEquip == 0 ) return; Unit* weightUnit = 0; Unit* volumeUnit = 0; Brewtarget::getThicknessUnits( &volumeUnit, &weightUnit ); if ( field == lineEdit_boilTime ) { foo = Brewtarget::timeQStringToSI(field->text()); field->setText(Brewtarget::displayAmount(foo, Units::minutes) ); } else if ( field == lineEdit_tunWeight ) { foo = Brewtarget::weightQStringToSI(field->text()); field->setText( Brewtarget::displayAmount(foo, Units::kilograms) ); } else if ( field == lineEdit_boilingPoint ) { foo = Brewtarget::tempQStringToSI(field->text()); field->setText( Brewtarget::displayAmount(foo, Units::celsius)); } else if ( field == lineEdit_grainAbsorption ) { // Just reformat in a pleasing fashion foo = lineEdit_grainAbsorption->text().toDouble(); lineEdit_grainAbsorption->setText( Brewtarget::displayAmount(foo) ); } else if ( field == lineEdit_hopUtilization || field == lineEdit_tunSpecificHeat ) { foo = field->text().toDouble(); field->setText( Brewtarget::displayAmount(foo)); } else { foo = Brewtarget::volQStringToSI(field->text()); field->setText( Brewtarget::displayAmount(foo, Units::liters) ); } // We also need to recalculate the preboil size if a few fields change if ( selection == lineEdit_boilTime || selection == lineEdit_evaporationRate || selection == lineEdit_trubChillerLoss || selection == lineEdit_topUpWater ) updateCheckboxRecord( checkBox_calcBoilVolume->checkState()); } void EquipmentEditor::closeEvent(QCloseEvent *event) { cancel(); event->accept(); } brewtarget-2.0.2/src/BtTreeFilterProxyModel.cpp0000644000175000017500000001663012266512167021104 0ustar philipphilip/* * BtTreeFilterProxyModel.cpp is part of Brewtarget, and is Copyright Mik * Firestone (mikfire@gmail.com), 2012-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include #include "brewtarget.h" #include "BtTreeFilterProxyModel.h" #include "BrewTargetTreeModel.h" #include "BrewTargetTreeItem.h" BtTreeFilterProxyModel::BtTreeFilterProxyModel(QObject *parent,BrewTargetTreeModel::TypeMasks mask ) : QSortFilterProxyModel(parent), treeMask(mask) { } bool BtTreeFilterProxyModel::lessThan(const QModelIndex &left, const QModelIndex &right) const { BrewTargetTreeModel* model = qobject_cast(sourceModel()); switch( treeMask ) { case BrewTargetTreeModel::RECIPEMASK: return lessThanRecipe(model,left, right); case BrewTargetTreeModel::EQUIPMASK: return lessThanEquip(model,left, right); case BrewTargetTreeModel::FERMENTMASK: return lessThanFerment(model,left, right); case BrewTargetTreeModel::HOPMASK: return lessThanHop(model,left, right); case BrewTargetTreeModel::MISCMASK: return lessThanMisc(model,left, right); case BrewTargetTreeModel::YEASTMASK: return lessThanYeast(model,left, right); case BrewTargetTreeModel::STYLEMASK: return lessThanStyle(model,left, right); default: return lessThanRecipe(model,left, right); } } bool BtTreeFilterProxyModel::lessThanRecipe(BrewTargetTreeModel* model, const QModelIndex &left, const QModelIndex &right) const { // This is a little awkward. if ( model->getType(left) == BrewTargetTreeItem::BREWNOTE || model->getType(right) == BrewTargetTreeItem::BREWNOTE ) return false; Recipe* leftRecipe = model->getRecipe(left); Recipe* rightRecipe = model->getRecipe(right); switch(left.column()) { case BrewTargetTreeItem::RECIPENAMECOL: return leftRecipe->name() < rightRecipe->name(); case BrewTargetTreeItem::RECIPEBREWDATECOL: return leftRecipe->date() < rightRecipe->date(); case BrewTargetTreeItem::RECIPESTYLECOL: return leftRecipe->style()->name() < rightRecipe->style()->name(); } // Default will be to just do a name sort. This doesn't likely make sense, // but it will prevent a lot of warnings. return leftRecipe->name() < rightRecipe->name(); } bool BtTreeFilterProxyModel::lessThanEquip(BrewTargetTreeModel* model, const QModelIndex &left, const QModelIndex &right) const { Equipment* leftEquip = model->getEquipment(left); Equipment* rightEquip = model->getEquipment(right); switch(left.column()) { case BrewTargetTreeItem::EQUIPMENTNAMECOL: return leftEquip->name() < rightEquip->name(); case BrewTargetTreeItem::EQUIPMENTBOILTIMECOL: return leftEquip->boilTime_min() < rightEquip->boilTime_min(); } return leftEquip->name() < rightEquip->name(); } bool BtTreeFilterProxyModel::lessThanFerment(BrewTargetTreeModel* model, const QModelIndex &left, const QModelIndex &right) const { Fermentable* leftFerment = model->getFermentable(left); Fermentable* rightFerment = model->getFermentable(right); switch(left.column()) { case BrewTargetTreeItem::FERMENTABLENAMECOL: return leftFerment->name() < rightFerment->name(); case BrewTargetTreeItem::FERMENTABLETYPECOL: return leftFerment->type() < rightFerment->type(); case BrewTargetTreeItem::FERMENTABLECOLORCOL: return leftFerment->color_srm() < rightFerment->color_srm(); } return leftFerment->name() < rightFerment->name(); } bool BtTreeFilterProxyModel::lessThanHop(BrewTargetTreeModel* model, const QModelIndex &left, const QModelIndex &right) const { Hop* leftHop = model->getHop(left); Hop* rightHop = model->getHop(right); switch(left.column()) { case BrewTargetTreeItem::HOPNAMECOL: return leftHop->name() < rightHop->name(); case BrewTargetTreeItem::HOPFORMCOL: return leftHop->form() < rightHop->form(); case BrewTargetTreeItem::HOPUSECOL: return leftHop->use() < rightHop->use(); } return leftHop->name() < rightHop->name(); } bool BtTreeFilterProxyModel::lessThanMisc(BrewTargetTreeModel* model, const QModelIndex &left, const QModelIndex &right) const { Misc* leftMisc = model->getMisc(left); Misc* rightMisc = model->getMisc(right); switch(left.column()) { case BrewTargetTreeItem::MISCNAMECOL: return leftMisc->name() < rightMisc->name(); case BrewTargetTreeItem::MISCTYPECOL: return leftMisc->type() < rightMisc->type(); case BrewTargetTreeItem::MISCUSECOL: return leftMisc->use() < rightMisc->use(); } return leftMisc->name() < rightMisc->name(); } bool BtTreeFilterProxyModel::lessThanYeast(BrewTargetTreeModel* model, const QModelIndex &left, const QModelIndex &right) const { Yeast* leftYeast = model->getYeast(left); Yeast* rightYeast = model->getYeast(right); switch(left.column()) { case BrewTargetTreeItem::YEASTNAMECOL: return leftYeast->name() < rightYeast->name(); case BrewTargetTreeItem::YEASTTYPECOL: return leftYeast->type() < rightYeast->type(); case BrewTargetTreeItem::YEASTFORMCOL: return leftYeast->form() < rightYeast->form(); } return leftYeast->name() < rightYeast->name(); } bool BtTreeFilterProxyModel::lessThanStyle(BrewTargetTreeModel* model, const QModelIndex &left, const QModelIndex &right) const { Style* leftStyle = model->getStyle(left); Style* rightStyle = model->getStyle(right); switch(left.column()) { case BrewTargetTreeItem::STYLENAMECOL: return leftStyle->name() < rightStyle->name(); case BrewTargetTreeItem::STYLECATEGORYCOL: return leftStyle->category() < rightStyle->category(); case BrewTargetTreeItem::STYLENUMBERCOL: return leftStyle->categoryNumber() < rightStyle->categoryNumber(); case BrewTargetTreeItem::STYLELETTERCOL: return leftStyle->styleLetter() < rightStyle->styleLetter(); case BrewTargetTreeItem::STYLEGUIDECOL: return leftStyle->styleGuide() < rightStyle->styleGuide(); } return leftStyle->name() < rightStyle->name(); } bool BtTreeFilterProxyModel::filterAcceptsRow(int source_row, const QModelIndex &source_parent) const { if ( !source_parent.isValid() ) return true; const BrewTargetTreeModel* model = qobject_cast(source_parent.model()); QModelIndex child = model->index(source_row, 0, source_parent); BeerXMLElement* thing = model->getThing(child); return thing->display(); } brewtarget-2.0.2/src/FermentableEditor.h0000644000175000017500000000334212266512167017562 0ustar philipphilip/* * FermentableEditor.h is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef _FERMENTABLEEDITOR_H #define _FERMENTABLEEDITOR_H class FermentableEditor; #include #include #include #include "ui_fermentableEditor.h" // Forward declarations. class Fermentable; /*! * \class FermentableEditor * \author Philip G. Lee * * \brief Fermentable view/controller dialog that allows you to edit Fermentables. */ class FermentableEditor : public QDialog, private Ui::fermentableEditor { Q_OBJECT public: FermentableEditor( QWidget *parent=0 ); virtual ~FermentableEditor() {} void setFermentable( Fermentable* f ); public slots: void save(); void clearAndClose(); void changed(QMetaProperty,QVariant); private: Fermentable* obsFerm; /*! Updates the UI elements effected by the \b metaProp of * the fermentable we are watching. If \b metaProp is null, * then update all the UI elements at once. */ void showChanges(QMetaProperty* metaProp = 0); }; #endif /* _FERMENTABLEEDITOR_H */ brewtarget-2.0.2/src/USVolumeUnitSystem.h0000644000175000017500000000251412266512167017753 0ustar philipphilip/* * USVolumeUnitSystem.h is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef _USVOLUMEUNITSYSTEM_H #define _USVOLUMEUNITSYSTEM_H class USVolumeUnitSystem; #include #include "UnitSystem.h" class USVolumeUnitSystem : public UnitSystem { public: USVolumeUnitSystem(); QString displayAmount( double amount, Unit* units = 0, unitScale scale = noScale ); /* Inherited from UnitSystem */ double qstringToSI( QString qstr ); /* Inherited from UnitSystem */ Unit* thicknessUnit(); /* Inherited from UnitSystem */ QString unitType(); private: static void ensureMapIsSetup(); static bool isMapSetup; }; #endif /*_USVOLUMEUNITSYSTEM_H*/ brewtarget-2.0.2/src/BrewDayWidget.h0000644000175000017500000000370712266512167016675 0ustar philipphilip/* * BrewDayWidget.h is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef _BREWDAYWIDGET_H #define _BREWDAYWIDGET_H class BrewDayWidget; #include "ui_brewDayWidget.h" #include #include #include #include #include // Forward declarations. class Recipe; /*! * \class BrewDayWidget * \author Philip G. Lee * * \brief Widget that displays the brewday info. Deprecated I believe. */ class BrewDayWidget : public QWidget, public Ui::brewDayWidget { Q_OBJECT public: BrewDayWidget(QWidget* parent=0); virtual ~BrewDayWidget() {} void setRecipe(Recipe* rec); virtual QSize sizeHint() const; // From QWidget public slots: void insertInstruction(); void removeSelectedInstruction(); void pushInstructionUp(); void pushInstructionDown(); void pushInstructionPrint(); void pushInstructionPreview(); void changed(QMetaProperty, QVariant); private: void showChanges(); void repopulateListWidget(); void clear(); QString buildTitleTable(); QString buildInstructionTable(); QString buildFooterTable(); QString getCSS(); Recipe* recObs; QPrinter* printer; QWebView* doc; QString cssName; private slots: bool loadComplete(bool ok); }; #endif /* _BREWDAYWIDGET_H */ brewtarget-2.0.2/src/RecipeListModel.cpp0000644000175000017500000000720712266512167017552 0ustar philipphilip/* * RecipeListModel.cpp is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2012-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include "RecipeListModel.h" #include #include "database.h" RecipeListModel::RecipeListModel(QWidget* parent) : QAbstractListModel(parent) { connect( &(Database::instance()), SIGNAL(newRecipeSignal(Recipe*)), this, SLOT(addRecipe(Recipe*)) ); connect( &(Database::instance()), SIGNAL(deletedRecipeSignal(Recipe*)), this, SLOT(removeRecipe(Recipe*)) ); repopulateList(); } void RecipeListModel::addRecipe(Recipe* recipe) { if( !recipe || recipes.contains(recipe) || recipe->deleted() || !recipe->display() ) return; int size = recipes.size(); beginInsertRows( QModelIndex(), size, size ); recipes.append(recipe); connect( recipe, SIGNAL(changedName(const QString&)), this, SLOT(recNameChanged(const QString&)) ); endInsertRows(); } void RecipeListModel::addRecipes(QList recs) { QList::iterator i; QList tmp; for( i = recs.begin(); i != recs.end(); ++i ) { // if the recipe is not already in the list and // if the recipe has not been deleted and // if the recipe is to be displayed, then append it if( !recipes.contains(*i) && !(*i)->deleted() && (*i)->display() ) tmp.append(*i); } int size = recipes.size(); if (size+tmp.size()) { beginInsertRows( QModelIndex(), size, size+tmp.size()-1 ); recipes.append(tmp); for( i = tmp.begin(); i != tmp.end(); i++ ) connect( *i, SIGNAL(changedName(const QString&)), this, SLOT(recNameChanged(const QString&)) ); endInsertRows(); } } void RecipeListModel::removeRecipe(Recipe* recipe) { int ndx = recipes.indexOf(recipe); if( ndx > 0 ) { beginRemoveRows( QModelIndex(), ndx, ndx ); disconnect( recipe, 0, this, 0 ); recipes.removeAt(ndx); endRemoveRows(); } } void RecipeListModel::removeAll() { beginRemoveRows( QModelIndex(), 0, recipes.size()-1 ); while( !recipes.isEmpty() ) disconnect( recipes.takeLast(), 0, this, 0 ); endRemoveRows(); } void RecipeListModel::recNameChanged(const QString& name) { Recipe* rec = qobject_cast(sender()); int ndx; if( !rec ) return; ndx = recipes.indexOf(rec); if( ndx >= 0 ) emit dataChanged( createIndex(ndx,0), createIndex(ndx,0) ); } void RecipeListModel::repopulateList() { removeAll(); addRecipes( Database::instance().recipes() ); } int RecipeListModel::rowCount( QModelIndex const& parent ) const { return recipes.size(); } QVariant RecipeListModel::data( QModelIndex const& index, int role ) const { int row = index.row(); int col = index.column(); if( col == 0 && role == Qt::DisplayRole ) return QVariant(recipes.at(row)->name()); else return QVariant(); } QVariant RecipeListModel::headerData( int section, Qt::Orientation orientation, int role ) const { return QVariant(); } brewtarget-2.0.2/src/MiscSortFilterProxyModel.cpp0000644000175000017500000000373212266512167021461 0ustar philipphilip/* * MiscSortFilterProxyModel.cpp is part of Brewtarget, and is Copyright * Philip Greggory Lee . */ #include #include "MiscSortFilterProxyModel.h" #include "MiscTableModel.h" #include "misc.h" #include "brewtarget.h" MiscSortFilterProxyModel::MiscSortFilterProxyModel(QObject *parent, bool filt) : QSortFilterProxyModel(parent) { filter = filt; } bool MiscSortFilterProxyModel::lessThan(const QModelIndex &left, const QModelIndex &right) const { QAbstractItemModel* source = sourceModel(); QVariant leftMisc, rightMisc; if( source ) { leftMisc = source->data(left); rightMisc = source->data(right); } switch( left.column() ) { case MISCAMOUNTCOL: return Brewtarget::weightQStringToSI(leftMisc.toString()) < Brewtarget::weightQStringToSI(rightMisc.toString()); case MISCTIMECOL: return Brewtarget::timeQStringToSI(leftMisc.toString()) < Brewtarget::timeQStringToSI(rightMisc.toString()); default: return leftMisc.toString() < rightMisc.toString(); } } bool MiscSortFilterProxyModel::filterAcceptsRow( int source_row, const QModelIndex &source_parent) const { MiscTableModel* model = qobject_cast(sourceModel()); return ! filter || model->getMisc(source_row)->display(); } brewtarget-2.0.2/src/RecipeExtrasDialog.h0000644000175000017500000000367212266512167017713 0ustar philipphilip/* * RecipeExtrasDialog.h is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2010-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef RECIPEEXTRASDIALOG_H #define RECIPEEXTRASDIALOG_H class RecipeExtrasDialog; #include #include #include #include #include "ui_recipeExtrasDialog.h" // Forward declarations. class Recipe; /*! * \class RecipeExtrasDialog * \author Philip G. Lee * * \brief View/controller dialog for editing "extra" fields of the recipe. */ class RecipeExtrasDialog : public QDialog, public Ui::recipeExtrasDialog { Q_OBJECT public: RecipeExtrasDialog(QWidget* parent=0); virtual ~RecipeExtrasDialog() {} //! Set the recipe to view/edit. void setRecipe(Recipe* rec); public slots: void updateBrewer(); void updateBrewerAsst(); void updateTasteRating(); void updatePrimaryAge(); void updatePrimaryTemp(); void updateSecondaryAge(); void updateSecondaryTemp(); void updateTertiaryAge(); void updateTertiaryTemp(); void updateAge(); void updateAgeTemp(); void updateDate(); void updateCarbonation(); void updateTasteNotes(); void updateNotes(); void saveAndQuit(); void changed(QMetaProperty, QVariant); private: Recipe* recObs; void showChanges(QMetaProperty* prop = 0); }; #endif // RECIPEEXTRASDIALOG_H brewtarget-2.0.2/src/PreInstruction.h0000644000175000017500000000251212266512167017155 0ustar philipphilip/* * PreInstruction.h is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef _PREINSTRUCTION_H #define _PREINSTRUCTION_H class PreInstruction; #include /*! * \class PreInstruction * \author Philip G. Lee * * \brief Simple class to assist the creation of instructions. */ class PreInstruction { public: PreInstruction(); PreInstruction(const QString& txt, const QString& title, double t); friend bool operator<(const PreInstruction& lhs, const PreInstruction& rhs); QString getText(); QString getTitle(); double getTime(); private: QString text; QString title; double time; }; #endif /* _PREINSTRUCTION_H */ brewtarget-2.0.2/src/EquipmentButton.h0000644000175000017500000000303412266512167017330 0ustar philipphilip/* * EquipmentButton.h is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef _EQUIPMENTBUTTON_H #define _EQUIPMENTBUTTON_H #include #include #include // Forward declarations. class Equipment; class Recipe; class QWidget; /*! * \class EquipmentButton * \author Philip G. Lee (rocketman768@gmail.com) * * \brief This is a view class that displays the name of an equipment. */ class EquipmentButton : public QPushButton { Q_OBJECT public: EquipmentButton(QWidget* parent = 0); virtual ~EquipmentButton(){} //! Observe a recipe's equipment. void setRecipe(Recipe* recipe); //! Observe a particular equipment. void setEquipment(Equipment* equip); private slots: void recChanged(QMetaProperty,QVariant); void equipChanged(QMetaProperty,QVariant); private: Recipe* _rec; Equipment* _equip; }; #endif brewtarget-2.0.2/src/BrewTargetTreeView.cpp0000644000175000017500000003423112266512167020244 0ustar philipphilip/* * BrewTargetTreeView.cpp is part of Brewtarget and was written by Mik * Firestone (mikfire@gmail.com). Copyright is granted to Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include #include #include #include #include #include "BrewTargetTreeView.h" #include "BrewTargetTreeModel.h" #include "BtTreeFilterProxyModel.h" #include "database.h" #include "recipe.h" #include "equipment.h" #include "fermentable.h" #include "hop.h" #include "misc.h" #include "yeast.h" #include "brewnote.h" #include "style.h" BrewTargetTreeView::BrewTargetTreeView(QWidget *parent) : QTreeView(parent) { // Set some global properties that all the kids will use. setAllColumnsShowFocus(true); setContextMenuPolicy(Qt::CustomContextMenu); setRootIsDecorated(false); setSelectionMode(QAbstractItemView::ExtendedSelection); } BrewTargetTreeModel* BrewTargetTreeView::getModel() { return model; } bool BrewTargetTreeView::removeRow(const QModelIndex &index) { QModelIndex modelIndex = filter->mapToSource(index); QModelIndex parent = model->parent(modelIndex); int position = modelIndex.row(); return model->removeRows(position,1,parent); } bool BrewTargetTreeView::isParent(const QModelIndex& parent, const QModelIndex& child) { QModelIndex modelParent = filter->mapToSource(parent); QModelIndex modelChild = filter->mapToSource(child); return modelParent == model->parent(modelChild); } QModelIndex BrewTargetTreeView::getParent(const QModelIndex& child) { if ( ! child.isValid() ) return QModelIndex(); QModelIndex modelChild = filter->mapToSource(child); if ( modelChild.isValid()) return filter->mapFromSource(model->parent(modelChild)); return QModelIndex(); } QModelIndex BrewTargetTreeView::getFirst() { return filter->mapFromSource(model->getFirst()); } Recipe* BrewTargetTreeView::getRecipe(const QModelIndex &index) const { return model->getRecipe(filter->mapToSource(index)); } QModelIndex BrewTargetTreeView::findRecipe(Recipe* rec) { return filter->mapFromSource(model->findRecipe(rec)); } Equipment* BrewTargetTreeView::getEquipment(const QModelIndex &index) const { return model->getEquipment(filter->mapToSource(index)); } QModelIndex BrewTargetTreeView::findEquipment(Equipment* kit) { return filter->mapFromSource(model->findEquipment(kit)); } Fermentable* BrewTargetTreeView::getFermentable(const QModelIndex &index) const { return model->getFermentable(filter->mapToSource(index)); } QModelIndex BrewTargetTreeView::findFermentable(Fermentable* ferm) { return filter->mapFromSource(model->findFermentable(ferm)); } Hop* BrewTargetTreeView::getHop(const QModelIndex &index) const { return model->getHop(filter->mapToSource(index)); } QModelIndex BrewTargetTreeView::findHop(Hop* hop) { return filter->mapFromSource(model->findHop(hop)); } Misc* BrewTargetTreeView::getMisc(const QModelIndex &index) const { return model->getMisc(filter->mapToSource(index)); } QModelIndex BrewTargetTreeView::findMisc(Misc* misc) { return filter->mapFromSource(model->findMisc(misc)); } Yeast* BrewTargetTreeView::getYeast(const QModelIndex &index) const { return model->getYeast(filter->mapToSource(index)); } QModelIndex BrewTargetTreeView::findYeast(Yeast* yeast) { return filter->mapFromSource(model->findYeast(yeast)); } Style* BrewTargetTreeView::getStyle(const QModelIndex &index) const { return model->getStyle(filter->mapToSource(index)); } QModelIndex BrewTargetTreeView::findStyle(Style* style) { return filter->mapFromSource(model->findStyle(style)); } BrewNote* BrewTargetTreeView::getBrewNote(const QModelIndex &index) const { if ( ! index.isValid() ) return NULL; return model->getBrewNote(filter->mapToSource(index)); } QModelIndex BrewTargetTreeView::findBrewNote(BrewNote* bNote) { return filter->mapFromSource(model->findBrewNote(bNote)); } int BrewTargetTreeView::getType(const QModelIndex &index) { return model->getType(filter->mapToSource(index)); } void BrewTargetTreeView::mousePressEvent(QMouseEvent *event) { if (event->button() == Qt::LeftButton) { dragStart = event->pos(); doubleClick = false; } // Send the event on its way up to the parent QTreeView::mousePressEvent(event); } void BrewTargetTreeView::mouseDoubleClickEvent(QMouseEvent *event) { if (event->button() == Qt::LeftButton) doubleClick = true; // Send the event on its way up to the parent QTreeView::mouseDoubleClickEvent(event); } void BrewTargetTreeView::mouseMoveEvent(QMouseEvent *event) { // Return if the left button isn't down if (!(event->buttons() & Qt::LeftButton)) return; // Return if the length of movement isn't far enough. if ((event->pos() - dragStart).manhattanLength() < QApplication::startDragDistance()) return; if ( doubleClick ) return; QDrag *drag = new QDrag(this); QMimeData *data = mimeData(selectionModel()->selectedRows()); drag->setMimeData(data); drag->start(Qt::CopyAction); } void BrewTargetTreeView::keyPressEvent(QKeyEvent *event) { switch( event->key() ) { case Qt::Key_Space: case Qt::Key_Select: case Qt::Key_Enter: case Qt::Key_Return: emit BrewTargetTreeView::doubleClicked(selectedIndexes().first()); return; } QTreeView::keyPressEvent(event); } QMimeData *BrewTargetTreeView::mimeData(QModelIndexList indexes) { QMimeData *mimeData = new QMimeData(); QByteArray encodedData; QString name = ""; int type; Fermentable *fermentable = 0; Equipment *equipment = 0; Hop *hop = 0; Misc *misc = 0; Yeast *yeast = 0; QDataStream stream(&encodedData, QIODevice::WriteOnly); // All of the calls like getType, getEquipment, etc. will translate between // the model and the proxy indexes, so we don't have to here foreach (QModelIndex index, indexes) { if (index.isValid()) { type = getType(index); switch(type) { case BrewTargetTreeItem::EQUIPMENT: equipment = model->getEquipment(index); if (equipment) { name = equipment->name(); } break; case BrewTargetTreeItem::FERMENTABLE: fermentable = model->getFermentable(index); if (fermentable) { name = fermentable->name(); } break; case BrewTargetTreeItem::HOP: hop = model->getHop(index); if (hop) { name = hop->name(); } break; case BrewTargetTreeItem::MISC: misc = model->getMisc(index); if (misc) { name = misc->name(); } break; case BrewTargetTreeItem::YEAST: yeast = model->getYeast(index); if (yeast) { name = yeast->name(); } break; default: name = ""; } stream << type << name; } } mimeData->setData("application/x-brewtarget", encodedData); return mimeData; } bool BrewTargetTreeView::multiSelected() { QModelIndexList selected = selectionModel()->selectedRows(); bool hasRecipe, hasSomethingElse; hasRecipe = false; hasSomethingElse = false; if ( selected.count() == 0 ) return false; foreach (QModelIndex selection, selected) { QModelIndex selectModel = filter->mapToSource(selection); if (model->isRecipe(selectModel)) hasRecipe = true; else hasSomethingElse = true; } return hasRecipe && hasSomethingElse; } void BrewTargetTreeView::setupContextMenu(QWidget* top, QWidget* editor, QMenu *sMenu,int type) { contextMenu = new QMenu(this); subMenu = new QMenu(this); switch(type) { // the recipe case is a bit more complex, because we need to handle the brewnotes too case BrewTargetTreeItem::RECIPE: contextMenu->addAction(tr("New Recipe"), editor, SLOT(newRecipe())); contextMenu->addAction(tr("Brew It!"), top, SLOT(newBrewNote())); contextMenu->addSeparator(); subMenu->addAction(tr("Brew Again"), top, SLOT(reBrewNote())); subMenu->addAction(tr("Change date"), top, SLOT(changeBrewDate())); subMenu->addAction(tr("Recalculate eff"), top, SLOT(fixBrewNote())); subMenu->addAction(tr("Delete"), top, SLOT(deleteSelected())); break; case BrewTargetTreeItem::EQUIPMENT: contextMenu->addAction(tr("New Equipment"), editor, SLOT(newEquipment())); contextMenu->addSeparator(); break; case BrewTargetTreeItem::FERMENTABLE: contextMenu->addAction(tr("New Fermentable"), editor, SLOT(newFermentable())); contextMenu->addSeparator(); break; case BrewTargetTreeItem::HOP: contextMenu->addAction(tr("New Hop"), editor, SLOT(newHop())); contextMenu->addSeparator(); break; case BrewTargetTreeItem::MISC: contextMenu->addAction(tr("New Misc"), editor, SLOT(newMisc())); contextMenu->addSeparator(); break; case BrewTargetTreeItem::STYLE: contextMenu->addAction(tr("New Style"), editor, SLOT(newStyle())); contextMenu->addSeparator(); break; case BrewTargetTreeItem::YEAST: contextMenu->addAction(tr("New Yeast"), editor, SLOT(newYeast())); contextMenu->addSeparator(); break; } contextMenu->addMenu(sMenu); // Copy contextMenu->addAction(tr("Copy"), top, SLOT(copySelected())); // Delete contextMenu->addAction(tr("Delete"), top, SLOT(deleteSelected())); // export and import contextMenu->addSeparator(); contextMenu->addAction(tr("Export"), top, SLOT(exportSelected())); contextMenu->addAction(tr("Import"), top, SLOT(importFiles())); } QMenu* BrewTargetTreeView::getContextMenu(QModelIndex selected) { if ( getType(selected) == BrewTargetTreeItem::BREWNOTE ) return subMenu; return contextMenu; } // Bad form likely RecipeTreeView::RecipeTreeView(QWidget *parent) : BrewTargetTreeView(parent) { model = new BrewTargetTreeModel(this, BrewTargetTreeModel::RECIPEMASK); filter = new BtTreeFilterProxyModel(this, BrewTargetTreeModel::RECIPEMASK); filter->setSourceModel(model); setModel(filter); filter->setDynamicSortFilter(true); setExpanded(findRecipe(0), true); setSortingEnabled(true); sortByColumn(0,Qt::AscendingOrder); // Resizing before you set the model doesn't do much. resizeColumnToContents(0); } EquipmentTreeView::EquipmentTreeView(QWidget *parent) : BrewTargetTreeView(parent) { model = new BrewTargetTreeModel(this, BrewTargetTreeModel::EQUIPMASK); filter = new BtTreeFilterProxyModel(this, BrewTargetTreeModel::EQUIPMASK); filter->setSourceModel(model); setModel(filter); filter->setDynamicSortFilter(true); setExpanded(findEquipment(0), true); setSortingEnabled(true); sortByColumn(0,Qt::AscendingOrder); resizeColumnToContents(0); } // Icky ick ikcy FermentableTreeView::FermentableTreeView(QWidget *parent) : BrewTargetTreeView(parent) { model = new BrewTargetTreeModel(this, BrewTargetTreeModel::FERMENTMASK); filter = new BtTreeFilterProxyModel(this, BrewTargetTreeModel::FERMENTMASK); filter->setSourceModel(model); setModel(filter); filter->setDynamicSortFilter(true); filter->dumpObjectInfo(); setExpanded(findFermentable(0), true); setSortingEnabled(true); sortByColumn(0,Qt::AscendingOrder); resizeColumnToContents(0); } // More Ick HopTreeView::HopTreeView(QWidget *parent) : BrewTargetTreeView(parent) { model = new BrewTargetTreeModel(this, BrewTargetTreeModel::HOPMASK); filter = new BtTreeFilterProxyModel(this, BrewTargetTreeModel::HOPMASK); filter->setSourceModel(model); setModel(filter); filter->setDynamicSortFilter(true); setExpanded(findHop(0), true); setSortingEnabled(true); sortByColumn(0,Qt::AscendingOrder); resizeColumnToContents(0); } // Ick some more MiscTreeView::MiscTreeView(QWidget *parent) : BrewTargetTreeView(parent) { model = new BrewTargetTreeModel(this, BrewTargetTreeModel::MISCMASK); filter = new BtTreeFilterProxyModel(this, BrewTargetTreeModel::MISCMASK); filter->setSourceModel(model); setModel(filter); filter->setDynamicSortFilter(true); setExpanded(findMisc(0), true); setSortingEnabled(true); sortByColumn(0,Qt::AscendingOrder); resizeColumnToContents(0); } // Will this ick never end? YeastTreeView::YeastTreeView(QWidget *parent) : BrewTargetTreeView(parent) { model = new BrewTargetTreeModel(this, BrewTargetTreeModel::YEASTMASK); filter = new BtTreeFilterProxyModel(this, BrewTargetTreeModel::YEASTMASK); filter->setSourceModel(model); setModel(filter); filter->setDynamicSortFilter(true); setExpanded(findYeast(0), true); setSortingEnabled(true); sortByColumn(0,Qt::AscendingOrder); resizeColumnToContents(0); } // Nope. Apparently not, cause I keep adding more StyleTreeView::StyleTreeView(QWidget *parent) : BrewTargetTreeView(parent) { model = new BrewTargetTreeModel(this, BrewTargetTreeModel::STYLEMASK); filter = new BtTreeFilterProxyModel(this, BrewTargetTreeModel::STYLEMASK); filter->setSourceModel(model); setModel(filter); filter->setDynamicSortFilter(true); setExpanded(findStyle(0), true); setSortingEnabled(true); sortByColumn(0,Qt::AscendingOrder); resizeColumnToContents(0); } brewtarget-2.0.2/src/RecipeFormatter.h0000644000175000017500000000537212266512167017267 0ustar philipphilip/* * RecipeFormatter.h is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef RECIPE_FORMATTER_H #define RECIPE_FORMATTER_H class RecipeFormatter; #include #include #include #include #include #include #include #include #include "recipe.h" /*! * \class RecipeFormatter * \author Philip G. Lee * * \brief View class that creates various text versions of a recipe. */ class RecipeFormatter : public QObject { Q_OBJECT public: enum { PRINT, PREVIEW, HTML, NUMACTIONS }; RecipeFormatter(QObject* parent=0); ~RecipeFormatter(); //! Set the recipe to view. void setRecipe(Recipe* recipe); //! Get a plaintext view. QString getTextFormat(); //! Get an html view. QString getHTMLFormat(); //! Get a BBCode view. QString getBBCodeFormat(); //! Get the maximum number of characters in a list of strings. unsigned int getMaxLength( QStringList* list ); //! Prepend a string with spaces until its final length is the given length. QString padToLength( QString str, unsigned int length ); //! Same as \b padToLength but with multiple strings. void padAllToMaxLength( QStringList* list ); //! Send a printable version to the printer. void print(QPrinter *mainPrinter, QPrintDialog* dialog, int action = PRINT, QFile* outFile=0); public slots: //! Put the plaintext view onto the clipboard. void toTextClipboard(); private: QString getTextSeparator(); QString buildTitleTable(); QString buildFermentableTable(); QString buildHopsTable(); QString buildYeastTable(); QString buildMashTable(); QString buildMiscTable(); QString buildNotes(); QString buildInstructionTable(); QString buildBrewNotes(); QString getCSS(); QList sortHopsByTime(Recipe* rec); QList sortFermentablesByWeight(Recipe* rec); QString* textSeparator; Recipe* rec; QPrinter* printer; QWebView* doc; QDialog* docDialog; QString cssName; private slots: bool loadComplete(bool ok); }; #endif /*RECIPE_FORMATTER_H*/ brewtarget-2.0.2/src/yeast.h0000644000175000017500000001657612266512167015331 0ustar philipphilip/* * yeast.h is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef _YEAST_H #define _YEAST_H #include "BeerXMLElement.h" #include #include // Forward declarations. class Yeast; bool operator<(Yeast &y1, Yeast &y2); bool operator==(Yeast &y1, Yeast &y2); /*! * \class Yeast * \author Philip G. Lee * * \brief Model for yeast records in the database. */ class Yeast : public BeerXMLElement { Q_OBJECT friend class Database; public: //! \brief What beverage the yeast is for. enum Type {Ale, Lager, Wheat, Wine, Champagne}; //! \brief What form the yeast comes in. enum Form {Liquid, Dry, Slant, Culture}; //! \brief How flocculant the strain is. enum Flocculation {Low, Medium, High, Very_High}; // NOTE: BeerXML expects a space in "Very High", but not possible with enum. What to do? Q_ENUMS( Type Form Flocculation ) virtual ~Yeast() {} //! \brief The name. Q_PROPERTY( QString name READ name WRITE setName NOTIFY changedName ) //! \brief The \c Type. Q_PROPERTY( Type type READ type WRITE setType /*NOTIFY changed*/ /*changedType*/ ) //! \brief The \c Type string. Q_PROPERTY( QString typeString READ typeString ) //! \brief The translated \c Type string. Q_PROPERTY( QString typeStringTr READ typeStringTr ) //! \brief The \c Form. Q_PROPERTY( Form form READ form WRITE setForm /*NOTIFY changed*/ /*changedForm*/ ) //! \brief The \c Form string. Q_PROPERTY( QString formString READ formString ) //! \brief The translated \c Form string. Q_PROPERTY( QString formStringTr READ formStringTr ) //! \brief The amount in either liters or kg depending on \c amountIsWeight(). Q_PROPERTY( double amount READ amount WRITE setAmount /*NOTIFY changed*/ /*changedAmount*/ ) //! \brief Whether the \c amount() is weight (kg) or volume (liters). Q_PROPERTY( bool amountIsWeight READ amountIsWeight WRITE setAmountIsWeight /*NOTIFY changed*/ /*changedAmountIsWeight*/ ) //! \brief The lab from which it came. Q_PROPERTY( QString laboratory READ laboratory WRITE setLaboratory /*NOTIFY changed*/ /*changedLaboratory*/ ) //! \brief The product ID. Q_PROPERTY( QString productID READ productID WRITE setProductID /*NOTIFY changed*/ /*changedProductID*/ ) //! \brief The minimum fermenting temperature. Q_PROPERTY( double minTemperature_c READ minTemperature_c WRITE setMinTemperature_c /*NOTIFY changed*/ /*changedMinTemperature_c*/ ) //! \brief The maximum fermenting temperature. Q_PROPERTY( double maxTemperature_c READ maxTemperature_c WRITE setMaxTemperature_c /*NOTIFY changed*/ /*changedMaxTemperature_c*/ ) //! \brief The \c Flocculation. Q_PROPERTY( Flocculation flocculation READ flocculation WRITE setFlocculation /*NOTIFY changed*/ /*changedFlocculation*/ ) //! \brief The \c Flocculation string. Q_PROPERTY( QString flocculationString READ flocculationString ) //! \brief The translated \c Flocculation string. Q_PROPERTY( QString flocculationStringTr READ flocculationStringTr ) //! \brief The apparent attenuation in percent. Q_PROPERTY( double attenuation_pct READ attenuation_pct WRITE setAttenuation_pct /*NOTIFY changed*/ /*changedAttenuation_pct*/ ) //! \brief The notes. Q_PROPERTY( QString notes READ notes WRITE setNotes /*NOTIFY changed*/ /*changedNotes*/ ) //! \brief What styles the strain is best for. Q_PROPERTY( QString bestFor READ bestFor WRITE setBestFor /*NOTIFY changed*/ /*changedBestFor*/ ) //! \brief The number of times recultured. Q_PROPERTY( int timesCultured READ timesCultured WRITE setTimesCultured /*NOTIFY changed*/ /*changedTimesCultured*/ ) //! \brief The maximum recommended number of reculturings. Q_PROPERTY( int maxReuse READ maxReuse WRITE setMaxReuse /*NOTIFY changed*/ /*changedMaxReuse*/ ) //! \brief Whether the yeast is added to secondary or primary. Q_PROPERTY( bool addToSecondary READ addToSecondary WRITE setAddToSecondary /*NOTIFY changed*/ /*changedAddToSecondary*/ ) // Setters void setName( const QString& var ); void setType( Type t ); void setForm( Form f ); void setAmount( double var ); void setAmountIsWeight( bool var ); void setLaboratory( const QString& var ); void setProductID( const QString& var ); void setMinTemperature_c( double var ); void setMaxTemperature_c( double var ); void setFlocculation( Flocculation f ); void setAttenuation_pct( double var ); void setNotes( const QString& var ); void setBestFor( const QString& var ); void setTimesCultured( int var ); void setMaxReuse( int var ); void setAddToSecondary( bool var ); // Getters QString name() const; Type type() const; const QString typeString() const; const QString typeStringTr() const; Form form() const; const QString formString() const; const QString formStringTr() const; double amount() const; bool amountIsWeight() const; QString laboratory() const; QString productID() const; double minTemperature_c() const; double maxTemperature_c() const; Flocculation flocculation() const; const QString flocculationString() const; const QString flocculationStringTr() const; double attenuation_pct() const; QString notes() const; QString bestFor() const; int timesCultured() const; int maxReuse() const; bool addToSecondary() const; signals: //! \brief Emitted when \c name() changes. void changedName(QString); /* void changedType(Type); void changedForm(Form); void changedAmount(double); void changedAmountIsWeight(bool); void changedLaboratory(QString); void changedProductID(QString); void changedMinTemperature_c(double); void changedMaxTemperature_c(double); void changedFlocculation(Flocculation); void changedAttenuation_pct(double); void changedNotes(QString); void changedBestFor(QString); void changedTimesCultured(int); void changedMaxReuse(int); void changedAddToSecondary(bool); */ private: Yeast(); Yeast(Yeast const& other); static QStringList types; static QStringList forms; static QStringList flocculations; // Methods bool isValidType(const QString& str) const; bool isValidForm(const QString& str) const; bool isValidFlocculation(const QString& str) const; //void setDefaults(); static QHash tagToProp; static QHash tagToPropHash(); }; inline bool YeastPtrLt( Yeast* lhs, Yeast* rhs) { return *lhs < *rhs; } inline bool YeastPtrEq( Yeast* lhs, Yeast* rhs) { return *lhs == *rhs; } struct Yeast_ptr_cmp { bool operator()( Yeast* lhs, Yeast* rhs) { return *lhs < *rhs; } }; struct Yeast_ptr_equals { bool operator()( Yeast* lhs, Yeast* rhs ) { return *lhs == *rhs; } }; #endif /* _YEAST_H */ brewtarget-2.0.2/src/ScaleRecipeTool.cpp0000644000175000017500000001435612266512167017546 0ustar philipphilip/* * ScaleRecipeTool.cpp is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include "ScaleRecipeTool.h" #include #include #include "brewtarget.h" #include "recipe.h" #include "fermentable.h" #include "mash.h" #include "mashstep.h" #include "hop.h" #include "misc.h" #include "yeast.h" #include "water.h" ScaleRecipeTool::ScaleRecipeTool(QWidget* parent) : QDialog(parent) { setupUi(this); recObs = 0; scaleGroup.addButton(checkBox_batchSize); scaleGroup.addButton(checkBox_efficiency); checkBox_batchSize->setCheckState( Qt::Checked ); lineEdit_newEfficiency->setDisabled(true); connect(&scaleGroup, SIGNAL(buttonClicked(QAbstractButton*)), this, SLOT(scaleGroupButtonPressed(QAbstractButton*))); connect(buttonBox, SIGNAL(accepted()), this, SLOT(scale()) ); connect(buttonBox, SIGNAL(rejected()), this, SLOT(close()) ); } void ScaleRecipeTool::scaleGroupButtonPressed(QAbstractButton *button) { if( button == qobject_cast(checkBox_batchSize) ) { lineEdit_newBatchSize->setDisabled(false); lineEdit_newEfficiency->setDisabled(true); return; } if( button == qobject_cast(checkBox_efficiency) ) { lineEdit_newBatchSize->setDisabled(true); lineEdit_newEfficiency->setDisabled(false); return; } } void ScaleRecipeTool::setRecipe(Recipe* rec) { recObs = rec; } void ScaleRecipeTool::show() { // Set the batch size display to the current batch size. if( recObs != 0 ) { double batchSize = recObs->batchSize_l(); lineEdit_newBatchSize->setText(Brewtarget::displayAmount(batchSize, Units::liters)); } setVisible(true); } void ScaleRecipeTool::scale() { QCheckBox* button = qobject_cast(scaleGroup.checkedButton()); if( button == checkBox_batchSize ) scaleByVolume(); else if( button == checkBox_efficiency ) scaleByEfficiency(); } void ScaleRecipeTool::scaleByEfficiency() { if( recObs == 0 ) return; int i, size; double oldEfficiency = recObs->efficiency_pct(); double newEfficiency = (lineEdit_newEfficiency->text()).toDouble(); double ratio = oldEfficiency / newEfficiency; recObs->setEfficiency_pct(newEfficiency); QList ferms = recObs->fermentables(); size = ferms.size(); for( i = 0; i < size; ++i ) { Fermentable* ferm = ferms[i]; // NOTE: why the hell do we need this? if( ferm == 0 ) continue; ferm->setAmount_kg(ferm->amount_kg() * ratio); } Mash* mash = recObs->mash(); if( mash == 0 ) return; QList mashSteps = mash->mashSteps(); size = mashSteps.size(); for( i = 0; i < size; ++i ) { MashStep* step = mashSteps[i]; // NOTE: why the hell do we need this? if( step == 0 ) continue; // Reset all these to zero so that the user // will know to re-run the mash wizard. step->setDecoctionAmount_l(0); step->setInfuseAmount_l(0); } // Let the user know what happened. QMessageBox::information(this, tr("Recipe Scaled"), tr("The mash has been reset due to the fact that mash temperatures do not scale easily. Please re-run the mash wizard.") ); } void ScaleRecipeTool::scaleByVolume() { if( recObs == 0 ) return; int i, size; double currentBatchSize_l = recObs->batchSize_l(); double newBatchSize_l = Brewtarget::volQStringToSI(lineEdit_newBatchSize->text()); double ratio = newBatchSize_l / currentBatchSize_l; // I think you want the equipment to be clean. //recObs->setEquipment(new Equipment()); recObs->setBatchSize_l(newBatchSize_l); recObs->setBoilSize_l(newBatchSize_l); QList ferms = recObs->fermentables(); size = ferms.size(); for( i = 0; i < size; ++i ) { Fermentable* ferm = ferms[i]; // NOTE: why the hell do we need this? if( ferm == 0 ) continue; ferm->setAmount_kg(ferm->amount_kg() * ratio); } QList hops = recObs->hops(); size = hops.size(); for( i = 0; i < size; ++i ) { Hop* hop = hops[i]; // NOTE: why the hell do we need this? if( hop == 0 ) continue; hop->setAmount_kg(hop->amount_kg() * ratio); } QList miscs = recObs->miscs(); size = miscs.size(); for( i = 0; i < size; ++i ) { Misc* misc = miscs[i]; // NOTE: why the hell do we need this? if( misc == 0 ) continue; misc->setAmount( misc->amount() * ratio ); } QList waters = recObs->waters(); size = waters.size(); for( i = 0; i < size; ++i ) { Water* water = waters[i]; // NOTE: why the hell do we need this? if( water == 0 ) continue; water->setAmount_l(water->amount_l() * ratio); } Mash* mash = recObs->mash(); if( mash == 0 ) return; QList mashSteps = mash->mashSteps(); size = mashSteps.size(); for( i = 0; i < size; ++i ) { MashStep* step = mashSteps[i]; // NOTE: why the hell do we need this? if( step == 0 ) continue; // Reset all these to zero so that the user // will know to re-run the mash wizard. step->setDecoctionAmount_l(0); step->setInfuseAmount_l(0); } // I don't think I should scale the yeasts. // Let the user know what happened. QMessageBox::information(this, tr("Recipe Scaled"), tr("The equipment and mash have been reset due to the fact that mash temperatures do not scale easily. Please re-run the mash wizard.") ); } brewtarget-2.0.2/src/HopDialog.cpp0000644000175000017500000001077412266512167016377 0ustar philipphilip/* * HopDialog.cpp is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include #include #include #include #include #include "HopDialog.h" #include "database.h" #include "recipe.h" #include "MainWindow.h" #include "hop.h" #include "HopEditor.h" #include "HopTableModel.h" #include "HopTableModel.h" #include "HopSortFilterProxyModel.h" HopDialog::HopDialog(MainWindow* parent) : QDialog(parent), mainWindow(parent), hopEditor(new HopEditor(this)), numHops(0) { setupUi(this); hopTableModel = new HopTableModel(hopTableWidget, false); hopTableProxy = new HopSortFilterProxyModel(hopTableWidget); hopTableProxy->setSourceModel(hopTableModel); hopTableWidget->setModel(hopTableProxy); hopTableWidget->setSortingEnabled(true); hopTableWidget->sortByColumn( HOPNAMECOL, Qt::AscendingOrder ); hopTableProxy->setDynamicSortFilter(true); connect( pushButton_addToRecipe, SIGNAL( clicked() ), this, SLOT( addHop() ) ); connect( pushButton_edit, SIGNAL( clicked() ), this, SLOT( editSelected() ) ); connect( pushButton_new, SIGNAL( clicked() ), this, SLOT( newHop() ) ); connect( pushButton_remove, SIGNAL( clicked() ), this, SLOT( removeHop() )); connect( hopTableWidget, SIGNAL( doubleClicked(const QModelIndex&) ), this, SLOT( addHop(const QModelIndex&) ) ); hopTableModel->observeDatabase(true); } void HopDialog::removeHop() { QModelIndex modelIndex, viewIndex; QModelIndexList selected = hopTableWidget->selectionModel()->selectedIndexes(); // Qlist requires this check before using member functions per doc if(!(selected.isEmpty())){ // Make sure only one row is selected. if(selected.size() == 1){ viewIndex = selected[0]; // [] or .at() prefered to .value() } } modelIndex = hopTableProxy->mapToSource(viewIndex); Hop *hop = hopTableModel->getHop(modelIndex.row()); Database::instance().removeHop(hop); } void HopDialog::addHop(const QModelIndex& index) { QModelIndex translated; if( !index.isValid() ) { QModelIndexList selected = hopTableWidget->selectionModel()->selectedIndexes(); int row, size, i; size = selected.size(); if( size == 0 ) return; // Make sure only one row is selected. row = selected.value(0).row(); for( i = 1; i < size; ++i ) { if( selected.value(i).row() != row ) return; } translated = hopTableProxy->mapToSource(selected.value(0)); } else { // Only respond if the name is selected. Since we connect to double-click signal, // this keeps us from adding something to the recipe when we just want to edit // one of the other columns. if( index.column() == HOPNAMECOL ) translated = hopTableProxy->mapToSource(index); else return; } Hop *hop = hopTableModel->getHop(translated.row()); Database::instance().addToRecipe( mainWindow->currentRecipe(), hop ); } void HopDialog::editSelected() { QModelIndexList selected = hopTableWidget->selectionModel()->selectedIndexes(); QModelIndex translated; int row, size, i; size = selected.size(); if( size == 0 ) return; // Make sure only one row is selected. row = selected.value(0).row(); for( i = 1; i < size; ++i ) { if( selected.value(i).row() != row ) return; } translated = hopTableProxy->mapToSource(selected.value(0)); Hop *hop = hopTableModel->getHop(translated.row()); hopEditor->setHop(hop); hopEditor->show(); } void HopDialog::newHop() { QString name = QInputDialog::getText(this, tr("Hop name"), tr("Hop name:")); if( name.isEmpty() ) return; Hop* hop = Database::instance().newHop(); hop->setName(name); hopEditor->setHop(hop); hopEditor->show(); } brewtarget-2.0.2/src/MashStepTableModel.h0000644000175000017500000000732112266512167017645 0ustar philipphilip/* * MashStepTableModel.h is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef _MASHSTEPTABLEMODEL_H #define _MASHSTEPTABLEMODEL_H class MashStepTableModel; class MashStepItemDelegate; #include #include #include #include #include #include #include #include #include #include "mashstep.h" #include "mash.h" #include "unit.h" enum{ MASHSTEPNAMECOL, MASHSTEPTYPECOL, MASHSTEPAMOUNTCOL, MASHSTEPTEMPCOL, MASHSTEPTARGETTEMPCOL, MASHSTEPTIMECOL, MASHSTEPNUMCOLS /*This one MUST be last*/}; /*! * \class MashStepTableModel * \author Philip G. Lee * * \brief Model for the list of mash steps in a mash. */ class MashStepTableModel : public QAbstractTableModel { Q_OBJECT public: MashStepTableModel(QTableView* parent=0); virtual ~MashStepTableModel() {} //! Set the mash whose mash steps we want to model. void setMash( Mash* m ); //! \returns the mash step at model index \b i. MashStep* getMashStep(unsigned int i); //! Reimplemented from QAbstractTableModel. virtual int rowCount(const QModelIndex& parent = QModelIndex()) const; //! Reimplemented from QAbstractTableModel. virtual int columnCount(const QModelIndex& parent = QModelIndex()) const; //! Reimplemented from QAbstractTableModel. virtual QVariant data( const QModelIndex& index, int role = Qt::DisplayRole ) const; //! Reimplemented from QAbstractTableModel. virtual QVariant headerData( int section, Qt::Orientation orientation, int role = Qt::DisplayRole ) const; //! Reimplemented from QAbstractTableModel. virtual Qt::ItemFlags flags(const QModelIndex& index ) const; //! Reimplemented from QAbstractTableModel. virtual bool setData( const QModelIndex& index, const QVariant& value, int role = Qt::EditRole ); unitDisplay displayUnit(int column) const; unitScale displayScale(int column) const; void setDisplayUnit(int column, unitDisplay displayUnit); void setDisplayScale(int column, unitScale displayScale); QString generateName(int column) const; public slots: void moveStepUp(int i); void moveStepDown(int i); void mashChanged(); void mashStepChanged(QMetaProperty,QVariant); private: Mash* mashObs; QTableView* parentTableWidget; QList steps; }; /*! * \class MashStepItemDelegate * \author Philip G. Lee * * An item delegate for mash step tables. */ class MashStepItemDelegate : public QItemDelegate { Q_OBJECT public: MashStepItemDelegate(QObject* parent = 0); // Inherited functions. virtual QWidget *createEditor(QWidget *parent, const QStyleOptionViewItem &option, const QModelIndex &index) const; virtual void setEditorData(QWidget *editor, const QModelIndex &index) const; virtual void setModelData(QWidget *editor, QAbstractItemModel *model, const QModelIndex &index) const; virtual void updateEditorGeometry(QWidget *editor, const QStyleOptionViewItem &option, const QModelIndex &index) const; private: }; #endif /* _MASHSTEPTABLEMODEL_H */ brewtarget-2.0.2/src/YeastDialog.cpp0000644000175000017500000001136012266512167016726 0ustar philipphilip/* * YeastDialog.cpp is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include #include #include #include #include #include "YeastDialog.h" #include "database.h" #include "recipe.h" #include "MainWindow.h" #include "yeast.h" #include "YeastEditor.h" #include "YeastTableModel.h" #include "YeastSortFilterProxyModel.h" YeastDialog::YeastDialog(MainWindow* parent) : QDialog(parent), mainWindow(parent), yeastEditor(new YeastEditor(this)), numYeasts(0) { setupUi(this); yeastTableModel = new YeastTableModel(yeastTableWidget, false); yeastTableProxy = new YeastSortFilterProxyModel(yeastTableWidget); yeastTableProxy->setSourceModel(yeastTableModel); yeastTableWidget->setModel(yeastTableProxy); yeastTableWidget->setSortingEnabled(true); yeastTableWidget->sortByColumn( YEASTNAMECOL, Qt::AscendingOrder ); yeastTableProxy->setDynamicSortFilter(true); connect( pushButton_addToRecipe, SIGNAL( clicked() ), this, SLOT( addYeast() ) ); connect( pushButton_edit, SIGNAL( clicked() ), this, SLOT( editSelected() ) ); connect( pushButton_new, SIGNAL( clicked() ), this, SLOT( newYeast() ) ); connect( pushButton_remove, SIGNAL(clicked()), this, SLOT( removeYeast() ) ); connect( yeastTableWidget, SIGNAL(doubleClicked(const QModelIndex&)), this, SLOT( addYeast(const QModelIndex&) ) ); yeastTableModel->observeDatabase(true); } void YeastDialog::removeYeast() { QModelIndexList selected = yeastTableWidget->selectionModel()->selectedIndexes(); QModelIndex translated; int row, size, i; size = selected.size(); if( size == 0 ) return; // Make sure only one row is selected. row = selected[0].row(); for( i = 1; i < size; ++i ) { if( selected[i].row() != row ) return; } // We need to translate from the view's index to the model's index. The // proxy model does the heavy lifting, as long as we do the call. translated = yeastTableProxy->mapToSource(selected[0]); Yeast *yeast = yeastTableModel->getYeast(translated.row()); Database::instance().removeYeast(yeast); } void YeastDialog::addYeast(const QModelIndex& index) { QModelIndex translated; if( !index.isValid() ) { QModelIndexList selected = yeastTableWidget->selectionModel()->selectedIndexes(); int row, size, i; size = selected.size(); if( size == 0 ) return; // Make sure only one row is selected. row = selected[0].row(); for( i = 1; i < size; ++i ) { if( selected[i].row() != row ) return; } translated = yeastTableProxy->mapToSource(selected[0]); } else { // Only respond if the name is selected. Since we connect to double-click signal, // this keeps us from adding something to the recipe when we just want to edit // one of the other columns. if( index.column() == YEASTNAMECOL ) translated = yeastTableProxy->mapToSource(index); else return; } Yeast* yeast = yeastTableModel->getYeast(translated.row()); // Adds a copy of yeast. Database::instance().addToRecipe( mainWindow->currentRecipe(), yeast ); } void YeastDialog::editSelected() { QModelIndexList selected = yeastTableWidget->selectionModel()->selectedIndexes(); QModelIndex translated; int row, size, i; size = selected.size(); if( size == 0 ) return; // Make sure only one row is selected. row = selected[0].row(); for( i = 1; i < size; ++i ) { if( selected[i].row() != row ) return; } translated = yeastTableProxy->mapToSource(selected[0]); Yeast *yeast = yeastTableModel->getYeast(translated.row()); yeastEditor->setYeast(yeast); yeastEditor->show(); } void YeastDialog::newYeast() { QString name = QInputDialog::getText(this, tr("Yeast name"), tr("Yeast name:")); if( name.isEmpty() ) return; Yeast* y = Database::instance().newYeast(); y->setName(name); yeastEditor->setYeast(y); yeastEditor->show(); y->setDisplay(true); } brewtarget-2.0.2/src/YeastEditor.h0000644000175000017500000000274112266512167016425 0ustar philipphilip/* * YeastEditor.h is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef _YEASTEDITOR_H #define _YEASTEDITOR_H class YeastEditor; #include #include #include #include "ui_yeastEditor.h" // Forward declarations. class Yeast; /*! * \class YeastEditor * \author Philip G. Lee * * \brief View/controller dialog for modifying yeasts. */ class YeastEditor : public QDialog, private Ui::yeastEditor { Q_OBJECT public: YeastEditor( QWidget *parent=0 ); virtual ~YeastEditor() {} //! Set the yeast we want to modify. void setYeast( Yeast* y ); public slots: void save(); void clearAndClose(); void changed(QMetaProperty,QVariant); private: Yeast* obsYeast; void showChanges(QMetaProperty* prop = 0); }; #endif /* _YEASTEDITOR_H */ brewtarget-2.0.2/src/SIWeightUnitSystem.h0000644000175000017500000000253112266512167017716 0ustar philipphilip/* * SIWeightUnitSystem.h is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef _SIWEIGHTUNITSYSTEM_H #define _SIWEIGHTUNITSYSTEM_H class SIWeightUnitSystem; #include #include "UnitSystem.h" class Unit; class SIWeightUnitSystem : public UnitSystem { public: SIWeightUnitSystem(); QString displayAmount( double amount, Unit* units = 0, unitScale scale = noScale ); /* Inherited from UnitSystem */ double qstringToSI( QString qstr ); /* Inherited from UnitSystem */ Unit* thicknessUnit(); /* Inherited from UnitSystem */ QString unitType(); private: static void ensureMapIsSetup(); static bool isMapSetup; }; #endif /*_SIWEIGHTUNITSYSTEM_H*/ brewtarget-2.0.2/src/USWeightUnitSystem.cpp0000644000175000017500000000565112266512167020273 0ustar philipphilip/* * USWeightUnitSystem.cpp is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include "USWeightUnitSystem.h" #include #include bool USWeightUnitSystem::isMapSetup = false; USWeightUnitSystem::USWeightUnitSystem() { } QString USWeightUnitSystem::displayAmount( double amount, Unit* units, unitScale scale ) { QString SIUnitName = units->getSIUnitName(); double SIAmount = units->toSI( amount ); QString ret; // Special cases. Make sure the unit isn't null and that we're // dealing with mass. if( units == 0 || SIUnitName.compare("kg") != 0 ) return QString("%L1").arg(amount, fieldWidth, format, precision); switch(scale) { case extrasmall: ret = QString("%L1 %2").arg(Units::ounces->fromSI(SIAmount), fieldWidth, format, precision).arg(Units::ounces->getUnitName()); break; case small: ret = QString("%L1 %2").arg(Units::pounds->fromSI(SIAmount), fieldWidth, format, precision).arg(Units::pounds->getUnitName()); break; default: if( qAbs(SIAmount) < Units::pounds->toSI(1.0) ) // If less than 1 pound, display ounces. ret = QString("%L1 %2").arg(Units::ounces->fromSI(SIAmount), fieldWidth, format, precision).arg(Units::ounces->getUnitName()); else // Otherwise, display pounds. ret = QString("%L1 %2").arg(Units::pounds->fromSI(SIAmount), fieldWidth, format, precision).arg(Units::pounds->getUnitName()); } return ret; } double USWeightUnitSystem::qstringToSI( QString qstr ) { ensureMapIsSetup(); return UnitSystem::qstringToSI(qstr,Units::pounds); } void USWeightUnitSystem::ensureMapIsSetup() { // If it is setup, return now. if( isMapSetup ) return; // Ok, map was not setup, so set it up. nameToUnit.insert(Units::kilograms->getUnitName(), Units::kilograms); nameToUnit.insert(Units::grams->getUnitName(), Units::grams); nameToUnit.insert(Units::milligrams->getUnitName(), Units::milligrams); nameToUnit.insert(Units::pounds->getUnitName(), Units::pounds); nameToUnit.insert(Units::ounces->getUnitName(), Units::ounces); isMapSetup = true; } Unit* USWeightUnitSystem::thicknessUnit() { return Units::pounds; } QString USWeightUnitSystem::unitType() { return "USCustomary"; } brewtarget-2.0.2/src/ConverterTool.cpp0000644000175000017500000000212212266512167017322 0ustar philipphilip/* * ConverterTool.cpp is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include "ConverterTool.h" #include "unit.h" ConverterTool::ConverterTool(QWidget* parent) : QDialog(parent) { setupUi(this); connect( pushButton_convert, SIGNAL(clicked()), this, SLOT(convert()) ); } void ConverterTool::convert() { outputLineEdit->setText(Unit::convert(inputLineEdit->text(), outputUnitsLineEdit->text())); } brewtarget-2.0.2/src/MashStepTableWidget.h0000644000175000017500000000273012266512167020027 0ustar philipphilip/* * MashStepTableWidget.h is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef _MASHSTEPTABLEWIDGET_H #define _MASHSTEPTABLEWIDGET_H class MashStepTableWidget; #include #include class MashStepTableModel; /*! * \class MashStepTableWidget * \author Philip G. Lee * * \brief View class that displays a table of mash steps. * NOTE: This class seems completely * irrelevant to me. We should remove it and replace it with QTableView. */ class MashStepTableWidget : public QTableView { Q_OBJECT friend class MainWindow; public: MashStepTableWidget(QWidget* parent=0); MashStepTableModel* getModel(); public slots: void moveSelectedStepUp(); void moveSelectedStepDown(); private: MashStepTableModel* model; }; #endif /* _MASHSTEPTABLEWIDGET_H */ brewtarget-2.0.2/src/UnitSystem.h0000644000175000017500000000425212266512167016314 0ustar philipphilip/* * UnitSystem.h is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef _UNITSYSTEM_H #define _UNITSYSTEM_H class UnitSystem; class UnitSystems; #include #include #include "unit.h" /*! * \class UnitSystem * \author Philip G. Lee * * \brief A unit system handles the display and format of physical quantities. */ class UnitSystem { public: UnitSystem(); virtual ~UnitSystem() {} /*! * displayAmount() should return a string appropriately displaying * 'amount' of type 'units' in this UnitSystem. This string should also * be recognized by qstringToSI() */ virtual QString displayAmount( double amount, Unit* units = 0, unitScale scale = noScale ) = 0; /*! * qstringToSI() should convert 'qstr' (consisting of a decimal amount, * followed by a unit string) to the appropriate SI amount under this * UnitSystem. */ virtual double qstringToSI( QString qstr ) = 0; /*! * Returns the unit associated with thickness. If this unit system is * US weight, it would return lb. If it were US volume, it would return * quarts. */ virtual Unit* thicknessUnit() = 0; // \brief Returns the name of the unit virtual QString unitType() = 0; double qstringToSI(QString qstr, Unit* defUnit); protected: static const int fieldWidth; static const char format; static const int precision; static QMap nameToUnit; QRegExp amtUnit; Unit* getUnit(const QString& name); }; #endif /*_UNITSYSTEM_H*/ brewtarget-2.0.2/src/OptionDialog.h0000644000175000017500000000411312266512167016554 0ustar philipphilip/* * OptionDialog.h is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef _OPTIONDIALOG_H #define _OPTIONDIALOG_H class OptionDialog; #include #include #include #include #include #include #include #include "ui_optionsDialog.h" #include "unit.h" /*! * \class OptionDialog * \author Philip G. Lee * * \brief View/controller dialog to manage options. */ class OptionDialog : public QDialog, public Ui::optionsDialog { Q_OBJECT public: //! \brief Default constructor. OptionDialog(QWidget *parent=0); public slots: //! \brief Show the dialog. void show(); //! \brief Save the options and close the dialog. void saveAndClose(); //! \brief Close dialog without saving options. void cancel(); //! \brief Pop up a dialog to choose the data directory. void setDataDir(); //! \brief Reset data directory to default. void defaultDataDir(); protected: //! \brief Reimplemented from QWidget. virtual void changeEvent(QEvent* e); private: // Update UI strings according to current language. void retranslate(); // Update dialog with current options. void showChanges(); QButtonGroup *colorGroup, *ibuGroup; QButtonGroup *weightGroup, *volumeGroup, *tempGroup, *gravGroup, *colorUnitGroup; QStringList ndxToLangCode; QVector langIcons; }; #endif /* _OPTIONDIALOG_H */ brewtarget-2.0.2/src/HopEditor.cpp0000644000175000017500000001354112266512167016421 0ustar philipphilip/* * HopEditor.cpp is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include #include #include "hop.h" #include "HopEditor.h" #include "database.h" #include "config.h" #include "unit.h" #include "brewtarget.h" HopEditor::HopEditor( QWidget* parent ) : QDialog(parent), obsHop(0) { setupUi(this); connect( buttonBox, SIGNAL( accepted() ), this, SLOT( save() )); connect( buttonBox, SIGNAL( rejected() ), this, SLOT( clearAndClose() )); } void HopEditor::setHop( Hop* h ) { if( obsHop ) disconnect( obsHop, 0, this, 0 ); obsHop = h; if( obsHop ) { connect( obsHop, SIGNAL(changed(QMetaProperty,QVariant)), this, SLOT(changed(QMetaProperty,QVariant)) ); showChanges(); } } void HopEditor::save() { Hop* h = obsHop; if( h == 0 ) { setVisible(false); return; } // TODO: check this out with 1.2.5. // Need to disable notification since every "set" method will cause a "showChanges" that // will revert any changes made. //h->disableNotification(); h->setName(lineEdit_name->text()); h->setAlpha_pct(lineEdit_alpha->text().toDouble()); h->setAmount_kg(Brewtarget::weightQStringToSI(lineEdit_amount->text())); h->setUse(static_cast(comboBox_use->currentIndex())); h->setTime_min(Brewtarget::timeQStringToSI(lineEdit_time->text())); h->setType(static_cast(comboBox_type->currentIndex())); h->setForm(static_cast(comboBox_form->currentIndex())); h->setBeta_pct(lineEdit_beta->text().toDouble()); h->setHsi_pct(lineEdit_HSI->text().toDouble()); h->setOrigin(lineEdit_origin->text()); h->setHumulene_pct(lineEdit_humulene->text().toDouble()); h->setCaryophyllene_pct(lineEdit_caryophyllene->text().toDouble()); h->setCohumulone_pct(lineEdit_cohumulone->text().toDouble()); h->setMyrcene_pct(lineEdit_myrcene->text().toDouble()); h->setSubstitutes(textEdit_substitutes->toPlainText()); h->setNotes(textEdit_notes->toPlainText()); //h->reenableNotification(); //h->forceNotify(); setVisible(false); } void HopEditor::clearAndClose() { setHop(0); setVisible(false); // Hide the window. } void HopEditor::changed(QMetaProperty prop, QVariant /*val*/) { if( sender() == obsHop ) showChanges(&prop); } void HopEditor::showChanges(QMetaProperty* prop) { bool updateAll = false; QString propName; if( obsHop == 0 ) return; if( prop == 0 ) updateAll = true; else { propName = prop->name(); } if( propName == "name" || updateAll ) { lineEdit_name->setText(obsHop->name()); lineEdit_name->setCursorPosition(0); if( ! updateAll ) return; } if( propName == "alpha_pct" || updateAll ) { lineEdit_alpha->setText(Brewtarget::displayAmount(obsHop->alpha_pct(), 0)); if( ! updateAll ) return; } if( propName == "amount_kg" || updateAll ) { lineEdit_amount->setText(Brewtarget::displayAmount(obsHop->amount_kg(), Units::kilograms)); if( ! updateAll ) return; } if( propName == "use" || updateAll ) { comboBox_use->setCurrentIndex(obsHop->use()); if( ! updateAll ) return; } if( propName == "time_min" || updateAll ) { lineEdit_time->setText(Brewtarget::displayAmount(obsHop->time_min(), Units::minutes)); if( ! updateAll ) return; } if( propName == "type" || updateAll ) { comboBox_type->setCurrentIndex(obsHop->type()); if( ! updateAll ) return; } if( propName == "form" || updateAll ) { comboBox_form->setCurrentIndex(obsHop->form()); if( ! updateAll ) return; } if( propName == "beta_pct" || updateAll ) { lineEdit_beta->setText(Brewtarget::displayAmount(obsHop->beta_pct(), 0)); if( ! updateAll ) return; } if( propName == "hsi_pct" || updateAll ) { lineEdit_HSI->setText(Brewtarget::displayAmount(obsHop->hsi_pct(), 0)); if( ! updateAll ) return; } if( propName == "origin" || updateAll ) { lineEdit_origin->setText(obsHop->origin()); lineEdit_origin->setCursorPosition(0); if( ! updateAll ) return; } if( propName == "humulene_pct" || updateAll ) { lineEdit_humulene->setText(Brewtarget::displayAmount(obsHop->humulene_pct(), 0)); if( ! updateAll ) return; } if( propName == "caryophyllene_pct" || updateAll ) { lineEdit_caryophyllene->setText(Brewtarget::displayAmount(obsHop->caryophyllene_pct(), 0)); if( ! updateAll ) return; } if( propName == "cohumulone_pct" || updateAll ) { lineEdit_cohumulone->setText(Brewtarget::displayAmount(obsHop->cohumulone_pct(), 0)); if( ! updateAll ) return; } if( propName == "myrcene_pct" || updateAll ) { lineEdit_myrcene->setText(Brewtarget::displayAmount(obsHop->myrcene_pct(), 0)); if( ! updateAll ) return; } if( propName == "substitutes" || updateAll ) { textEdit_substitutes->setPlainText(obsHop->substitutes()); if( ! updateAll ) return; } if( propName == "notes" || updateAll ) { textEdit_notes->setPlainText(obsHop->notes()); if( ! updateAll ) return; } } brewtarget-2.0.2/src/ImperialVolumeUnitSystem.h0000644000175000017500000000256612266512167021175 0ustar philipphilip/* * ImperialVolumeUnitSystem.h is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef _IMPERIALVOLUMEUNITSYSTEM_H #define _IMPERIALVOLUMEUNITSYSTEM_H class ImperialVolumeUnitSystem; #include #include "UnitSystem.h" class ImperialVolumeUnitSystem : public UnitSystem { public: ImperialVolumeUnitSystem(); QString displayAmount( double amount, Unit* units = 0, unitScale scale = noScale ); /* Inherited from UnitSystem */ double qstringToSI( QString qstr ); /* Inherited from UnitSystem */ Unit* thicknessUnit(); /* Inherited from UnitSystem */ QString unitType(); private: static void ensureMapIsSetup(); static bool isMapSetup; }; #endif /*_IMPERIALVOLUMEUNITSYSTEM_H*/ brewtarget-2.0.2/src/water.cpp0000644000175000017500000000705612266512167015652 0ustar philipphilip/* * water.cpp is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include #include "water.h" #include "brewtarget.h" #include #include #include #include "water.h" #include "brewtarget.h" QHash Water::tagToProp = Water::tagToPropHash(); QHash Water::tagToPropHash() { QHash propHash; propHash["NAME"] = "name"; propHash["AMOUNT"] = "amount_l"; propHash["CALCIUM"] = "calcium_ppm"; propHash["BICARBONATE"] = "bicarbonate_ppm"; propHash["SULFATE"] = "sulfate_ppm"; propHash["CHLORIDE"] = "chloride_ppm"; propHash["SODIUM"] = "sodium_ppm"; propHash["MAGNESIUM"] = "magnesium_ppm"; propHash["PH"] = "ph"; propHash["NOTES"] = "notes"; return propHash; } bool operator<(Water &w1, Water &w2) { return w1.name() < w2.name(); } bool operator==(Water &w1, Water &w2) { return w1.name() == w2.name(); } /* void Water::setDefaults() { name = ""; amount_l = 0.0; calcium_ppm = 0.0; bicarbonate_ppm = 0.0; chloride_ppm = 0.0; sodium_ppm = 0.0; magnesium_ppm = 0.0; ph = 7.0; notes = ""; } */ Water::Water() : BeerXMLElement() { } //================================"SET" METHODS================================= void Water::setName( const QString &var ) { set("name", "name", var); emit changedName(var); } void Water::setAmount_l( double var ) { set("amount_l", "amount", var); } void Water::setCalcium_ppm( double var ) { set("calcium_ppm", "calcium", var); } void Water::setBicarbonate_ppm( double var ) { set("bicarbonate_ppm", "bicarbonate", var); } void Water::setChloride_ppm( double var ) { set("chloride_ppm", "chloride", var); } void Water::setSodium_ppm( double var ) { set("sodium_ppm", "sodium", var); } void Water::setMagnesium_ppm( double var ) { set("magnesium_ppm", "magnesium", var); } void Water::setPh( double var ) { set("ph", "ph", var); } void Water::setSulfate_ppm( double var ) { set("sulfate_ppm", "sulfate", var); } void Water::setNotes( const QString &var ) { set("notes", "notes", var); } //=========================="GET" METHODS======================================= QString Water::name() const { return get("name").toString(); } double Water::sulfate_ppm() const { return get("sulfate").toDouble(); } double Water::amount_l() const { return get("amount").toDouble(); } double Water::calcium_ppm() const { return get("calcium").toDouble(); } double Water::bicarbonate_ppm() const { return get("bicarbonate").toDouble(); } double Water::chloride_ppm() const { return get("chloride").toDouble(); } double Water::sodium_ppm() const { return get("sodium").toDouble(); } double Water::magnesium_ppm() const { return get("magnesium").toDouble(); } double Water::ph() const { return get("ph").toDouble(); } QString Water::notes() const { return get("notes").toString(); } brewtarget-2.0.2/src/BeerXMLSortProxyModel.h0000644000175000017500000000257312266512167020325 0ustar philipphilip/* * BeerXMLSortProxyModel.h is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2012-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef BEERXMLSORTPROXYMODEL_H #define BEERXMLSORTPROXYMODEL_H #include class QAbstractItemModel; /*! * \brief Small wrapper on QSortFilterProxyModel for sorting BeerXML lists. * \author Philip G. Lee * * Sorts models dynamically based on their properties' default sort behavior. */ class BeerXMLSortProxyModel : public QSortFilterProxyModel { Q_OBJECT public: BeerXMLSortProxyModel(QAbstractItemModel* sourceModel = 0); protected: // Can reimplement if we need something fancy in the future. //bool lessThan(const QModelIndex &left, const QModelIndex &right) const; }; #endif brewtarget-2.0.2/src/PrimingDialog.cpp0000644000175000017500000000535212266512167017252 0ustar philipphilip/* * PrimingDialog.cpp is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include #include "PrimingDialog.h" #include "unit.h" #include "brewtarget.h" PrimingDialog::PrimingDialog(QWidget* parent) : QDialog(parent) { setupUi(this); sugarGroup = new QButtonGroup(this); sugarGroup->setExclusive(true); // Can select only one. sugarGroup->addButton(checkBox_glucMono); sugarGroup->addButton(checkBox_gluc); sugarGroup->addButton(checkBox_sucrose); sugarGroup->addButton(checkBox_dme); connect( pushButton_calculate, SIGNAL( clicked() ), this, SLOT( calculate() ) ); } PrimingDialog::~PrimingDialog() { } void PrimingDialog::calculate() { QAbstractButton* button; double beer_l; double temp_c; double desiredVols; double addedVols; double residualVols; double co2_l; double co2_mol; double sugar_mol; double sugar_g; beer_l = Brewtarget::volQStringToSI( lineEdit_beerVol->text() ); temp_c = Brewtarget::tempQStringToSI( lineEdit_temp->text() ); desiredVols = lineEdit_vols->text().toDouble(); residualVols = 1.57 * pow( 0.97, temp_c ); // Amount of CO2 still in suspension. addedVols = desiredVols - residualVols; co2_l = addedVols * beer_l; // Liters of CO2 we need to generate (at 273 K and 1 atm). co2_mol = co2_l / 22.4; // Mols of CO2 we need. button = sugarGroup->checkedButton(); if( button == checkBox_glucMono ) { sugar_mol = co2_mol / 2; sugar_g = sugar_mol * 198; // Glucose monohydrate is 198 g/mol. } else if( button == checkBox_gluc ) { sugar_mol = co2_mol / 2; sugar_g = sugar_mol * 180; // Glucose is 180g/mol. } else if( button == checkBox_sucrose ) { sugar_mol = co2_mol / 4; sugar_g = sugar_mol * 342; // Sucrose is 342 g/mol. } else if( button == checkBox_dme ) { sugar_mol = co2_mol / 2; sugar_g = sugar_mol * 180 / 0.60; // DME is equivalently about 60% glucose. } else sugar_g = 0; lineEdit_output->setText( Brewtarget::displayAmount( sugar_g, Units::grams ) ); } brewtarget-2.0.2/src/BrewDayScrollWidget.h0000644000175000017500000000577412266512167020062 0ustar philipphilip/* * BrewDayScrollWidget.h is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef _BREWDAYSCROLLWIDGET_H #define _BREWDAYSCROLLWIDGET_H class BrewDayScrollWidget; #include "ui_brewDayScrollWidget.h" #include #include #include #include #include #include #include "recipe.h" /*! * \class BrewDayScrollWidget * \author Philip G. Lee * * \brief Widget that displays the brewday info in a scrollable area. */ class BrewDayScrollWidget : public QWidget, public Ui::brewDayScrollWidget { Q_OBJECT public: enum { PRINT, PREVIEW, HTML, NUMACTIONS }; BrewDayScrollWidget(QWidget* parent=0); virtual ~BrewDayScrollWidget() {} //! \brief Sets the observed recipe. void setRecipe(Recipe* rec); virtual QSize sizeHint() const; // From QWidget /*! * \brief Prints a paper version of the info in this dialog. * Should be moved to its own view class. */ void print(QPrinter* mainPrinter, QPrintDialog *dialog, int action = PRINT, QFile* outFile = 0); public slots: //! Automatically generate a new list of instructions. void generateInstructions(); //! Insert a custom instruction into the recipe. void insertInstruction(); //! Remove the instruction selected in the list view. void removeSelectedInstruction(); //! Push selected instruction up. void pushInstructionUp(); //! Push selected instruction down. void pushInstructionDown(); private slots: //! \brief Receive notifications from the recipe. void acceptChanges( QMetaProperty prop, QVariant value ); //! \brief Receive changes from instructions. void acceptInsChanges( QMetaProperty prop, QVariant value ); private: //! Update the view. void showChanges(); //! Repopulate the list widget with all the instructions. void repopulateListWidget(); void clear(); QString buildTitleTable(bool includeImage = true); QString buildInstructionTable(); QString buildFooterTable(); QString getCSS(); Recipe* recObs; QPrinter* printer; QWebView* doc; //! Internal list of recipe instructions, always sorted by instruction number. QList recIns; QString cssName; private slots: bool loadComplete(bool ok); void showInstruction(int insNdx); void saveInstruction(); }; #endif /* _BREWDAYSCROLLWIDGET_H */ brewtarget-2.0.2/src/AboutDialog.h0000644000175000017500000000247312266512167016365 0ustar philipphilip/* * AboutDialog.h is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef _ABOUTDIALOG_H #define _ABOUTDIALOG_H #include #include #include "ui_aboutDialog.h" #include "config.h" class AboutDialog; /*! * \class AboutDialog * \author Philip G. Lee * * \brief Simple "about" dialog for Brewtarget. */ class AboutDialog : public QDialog, public Ui::aboutDialog { public: AboutDialog(QWidget* parent=0) : QDialog(parent) { setupUi(this); // Replaces the "%1" from the .ui with version number. label->setText( label->text().arg(VERSIONSTRING) ); } }; #endif /* _ABOUTDIALOG_H */ brewtarget-2.0.2/src/BrewNoteWidget.cpp0000644000175000017500000002350212266512167017413 0ustar philipphilip #include #include #include #include "BrewNoteWidget.h" #include "brewnote.h" #include "brewtarget.h" BrewNoteWidget::BrewNoteWidget(QWidget *parent) : QWidget(parent) { setupUi(this); bNoteObs = 0; connect(lineEdit_SG,SIGNAL(editingFinished()),this,SLOT(updateSG())); connect(lineEdit_volIntoBK,SIGNAL(editingFinished()),this,SLOT(updateVolumeIntoBK_l())); connect(lineEdit_strikeTemp,SIGNAL(editingFinished()),this,SLOT(updateStrikeTemp_c())); connect(lineEdit_mashFinTemp,SIGNAL(editingFinished()),this,SLOT(updateMashFinTemp_c())); connect(lineEdit_OG,SIGNAL(editingFinished()),this,SLOT(updateOG())); connect(lineEdit_postBoilVol,SIGNAL(editingFinished()),this,SLOT(updatePostBoilVolume_l())); connect(lineEdit_volIntoFerm,SIGNAL(editingFinished()),this,SLOT(updateVolumeIntoFerm_l())); connect(lineEdit_pitchTemp,SIGNAL(editingFinished()),this,SLOT(updatePitchTemp_c())); connect(lineEdit_FG,SIGNAL(editingFinished()),this,SLOT(updateFG())); connect(lineEdit_finalVol,SIGNAL(editingFinished()),this,SLOT(updateFinalVolume_l())); connect(lineEdit_fermentDate,SIGNAL(editingFinished()),this,SLOT(updateFermentDate())); connect(btTextEdit_brewNotes,SIGNAL(textModified()), this, SLOT(updateNotes())); // Labels connect( btLabel_Sg, SIGNAL(labelChanged(QString)), this, SLOT(showChanges(QString))); connect( btLabel_volIntoBk, SIGNAL(labelChanged(QString)), this, SLOT(showChanges(QString))); connect( btLabel_strikeTemp, SIGNAL(labelChanged(QString)), this, SLOT(showChanges(QString))); connect( btLabel_mashFinTemp, SIGNAL(labelChanged(QString)), this, SLOT(showChanges(QString))); connect( btLabel_Og, SIGNAL(labelChanged(QString)), this, SLOT(showChanges(QString))); connect( btLabel_volIntoFerm, SIGNAL(labelChanged(QString)), this, SLOT(showChanges(QString))); connect( btLabel_pitchTemp, SIGNAL(labelChanged(QString)), this, SLOT(showChanges(QString))); connect( btLabel_postBoilVol, SIGNAL(labelChanged(QString)), this, SLOT(showChanges(QString))); connect( btLabel_postFermentFg, SIGNAL(labelChanged(QString)), this, SLOT(showChanges(QString))); connect( btLabel_finalVolume, SIGNAL(labelChanged(QString)), this, SLOT(showChanges(QString))); connect( btLabel_projectedOg, SIGNAL(labelChanged(QString)), this, SLOT(showChanges(QString))); } void BrewNoteWidget::setBrewNote(BrewNote* bNote) { double low = 0.95; double high = 1.05; if( bNoteObs != 0 ) disconnect( bNoteObs, 0, this, 0 ); if ( bNote ) { bNoteObs = bNote; connect( bNoteObs, SIGNAL(changed(QMetaProperty,QVariant)), this, SLOT(changed(QMetaProperty,QVariant)) ); // Set the highs and the lows for the lcds lcdnumber_effBK->setLowLim(bNoteObs->projEff_pct() * low); lcdnumber_effBK->setHighLim(bNoteObs->projEff_pct() * high); lcdnumber_projectedOG->setLowLim( bNoteObs->projOg() * low); lcdnumber_projectedOG->setHighLim( bNoteObs->projOg() * high); lcdnumber_brewhouseEff->setLowLim(bNoteObs->projEff_pct() * low); lcdnumber_brewhouseEff->setHighLim(bNoteObs->projEff_pct() * high); lcdnumber_projABV->setLowLim( bNoteObs->projABV_pct() * low); lcdnumber_projABV->setHighLim( bNoteObs->projABV_pct() * high); lcdnumber_abv->setLowLim( bNoteObs->projABV_pct() * low); lcdnumber_abv->setHighLim( bNoteObs->projABV_pct() * high); showChanges(); } } // TODO: what's this? // TODO: In answer to the question, this is a place holder for when I figure // out how to allow people to reset the brewdate. void BrewNoteWidget::updateBrewDate() { } void BrewNoteWidget::updateSG() { if (bNoteObs == 0) return; if ( lineEdit_SG->isModified() ) { bNoteObs->setSg(BrewNote::translateSG(lineEdit_SG->text())); showChanges(); } } void BrewNoteWidget::updateVolumeIntoBK_l() { unitDisplay dispUnit; if (bNoteObs == 0) return; if ( lineEdit_volIntoBK->isModified() ) { dispUnit = (unitDisplay)Brewtarget::option("volumeIntoBK_l", noUnit,page_preboil,Brewtarget::UNIT).toInt(); bNoteObs->setVolumeIntoBK_l(Brewtarget::volQStringToSI(lineEdit_volIntoBK->text(),dispUnit)); showChanges(); } } void BrewNoteWidget::updateStrikeTemp_c() { unitDisplay dispUnit; if (bNoteObs == 0) return; if ( lineEdit_strikeTemp->isModified() ) { dispUnit = (unitDisplay)Brewtarget::option("strikeTemp_c",noUnit,page_preboil,Brewtarget::UNIT).toInt(); bNoteObs->setStrikeTemp_c(Brewtarget::tempQStringToSI(lineEdit_strikeTemp->text(),dispUnit)); showChanges(); } } void BrewNoteWidget::updateMashFinTemp_c() { unitDisplay dispUnit; if (bNoteObs == 0) return; if ( lineEdit_mashFinTemp->isModified() ) { dispUnit = (unitDisplay)Brewtarget::option("mashFinTemp_c",noUnit,page_preboil,Brewtarget::UNIT).toInt(); bNoteObs->setMashFinTemp_c(Brewtarget::tempQStringToSI(lineEdit_mashFinTemp->text(),dispUnit)); showChanges(); } } void BrewNoteWidget::updateOG() { if (bNoteObs == 0) return; if ( lineEdit_OG->isModified() ) { bNoteObs->setOg(BrewNote::translateSG(lineEdit_OG->text())); showChanges(); } } void BrewNoteWidget::updatePostBoilVolume_l() { unitDisplay dispUnit; if (bNoteObs == 0) return; if (lineEdit_postBoilVol->isModified() ) { dispUnit = (unitDisplay)Brewtarget::option("postBoilVolume_l",noUnit,page_postboil,Brewtarget::UNIT).toInt(); bNoteObs->setPostBoilVolume_l(Brewtarget::volQStringToSI(lineEdit_postBoilVol->text(),dispUnit)); showChanges(); } } void BrewNoteWidget::updateVolumeIntoFerm_l() { unitDisplay dispUnit; if (bNoteObs == 0) return; if ( lineEdit_volIntoFerm->isModified() ) { dispUnit = (unitDisplay)Brewtarget::option("volumeIntoFerm_l",noUnit,page_postboil,Brewtarget::UNIT).toInt(); bNoteObs->setVolumeIntoFerm_l(Brewtarget::volQStringToSI(lineEdit_volIntoFerm->text(),dispUnit)); showChanges(); } } void BrewNoteWidget::updatePitchTemp_c() { unitDisplay dispUnit; if (bNoteObs == 0) return; if ( lineEdit_pitchTemp->isModified() ) { dispUnit = (unitDisplay)Brewtarget::option("pitchTemp_c",noUnit,page_postboil,Brewtarget::UNIT).toInt(); bNoteObs->setPitchTemp_c(Brewtarget::tempQStringToSI(lineEdit_pitchTemp->text(),dispUnit)); showChanges(); } } void BrewNoteWidget::updateFG() { if (bNoteObs == 0) return; if ( lineEdit_FG->isModified() ) { bNoteObs->setFg(BrewNote::translateSG(lineEdit_FG->text())); showChanges(); } } void BrewNoteWidget::updateFinalVolume_l() { unitDisplay dispUnit; if (bNoteObs == 0) return; if ( lineEdit_finalVol->isModified() ) { dispUnit = (unitDisplay)Brewtarget::option("finalVolume_l",noUnit,page_postferment,Brewtarget::UNIT).toInt(); bNoteObs->setFinalVolume_l(Brewtarget::volQStringToSI(lineEdit_finalVol->text(),dispUnit)); showChanges(); } } void BrewNoteWidget::updateFermentDate() { if (bNoteObs == 0) return; if (lineEdit_fermentDate->isModified() ) { bNoteObs->setFermentDate( BeerXMLElement::getDateTime(lineEdit_fermentDate->text()) ); showChanges(); } } void BrewNoteWidget::updateNotes() { if (bNoteObs == 0) return; bNoteObs->setNotes(btTextEdit_brewNotes->toPlainText(), false); } void BrewNoteWidget::changed(QMetaProperty /*prop*/, QVariant /*val*/) { if ( sender() != bNoteObs ) return; showChanges(); } void BrewNoteWidget::saveAll() { if ( ! bNoteObs ) return; updateSG(); updateVolumeIntoBK_l(); updateStrikeTemp_c(); updateMashFinTemp_c(); updateOG(); updatePostBoilVolume_l(); updateVolumeIntoFerm_l(); updatePitchTemp_c(); updateFG(); updateFinalVolume_l(); updateFermentDate(); updateNotes(); hide(); } void BrewNoteWidget::showChanges(QString field) { double low = 0.95; double high = 1.05; if (bNoteObs == 0) return; lineEdit_SG->setText(Brewtarget::displayOG(bNoteObs, page_preboil, "sg",false)); lineEdit_volIntoBK->setText(Brewtarget::displayAmount(bNoteObs,page_preboil,"volumeIntoBK_l",Units::liters)); lineEdit_strikeTemp->setText(Brewtarget::displayAmount(bNoteObs, page_preboil, "strikeTemp_c", Units::celsius)); lineEdit_mashFinTemp->setText(Brewtarget::displayAmount(bNoteObs, page_preboil, "mashFinTemp_c", Units::celsius)); lineEdit_OG->setText(Brewtarget::displayOG(bNoteObs, page_postboil, "og",false)); lineEdit_postBoilVol->setText(Brewtarget::displayAmount(bNoteObs, page_postboil, "postBoilVolume_l", Units::liters)); lineEdit_volIntoFerm->setText(Brewtarget::displayAmount(bNoteObs, page_postboil, "volumeIntoFerm_l", Units::liters)); lineEdit_pitchTemp->setText(Brewtarget::displayAmount(bNoteObs, page_postboil, "pitchTemp_c",Units::celsius)); lineEdit_FG->setText(Brewtarget::displayOG(bNoteObs, page_postferment, "fg",false)); lineEdit_finalVol->setText(Brewtarget::displayAmount(bNoteObs, page_postferment, "finalVolume_l", Units::liters)); lineEdit_fermentDate->setText(bNoteObs->fermentDate_short()); btTextEdit_brewNotes->setPlainText(bNoteObs->notes()); // Now with the calculated stuff lcdnumber_effBK->display(bNoteObs->effIntoBK_pct(),2); lcdnumber_projectedOG->setLowLim( low * Brewtarget::displayOG(bNoteObs, scrollAreaWidgetContents, "projOg",false).toDouble() ); lcdnumber_projectedOG->setHighLim( high * Brewtarget::displayOG(bNoteObs, scrollAreaWidgetContents, "projOg",false).toDouble() ); lcdnumber_projectedOG->display( Brewtarget::displayOG(bNoteObs, scrollAreaWidgetContents, "projOg",false)); lcdnumber_brewhouseEff->display(bNoteObs->brewhouseEff_pct(),2); lcdnumber_projABV->display(bNoteObs->projABV_pct(),2); lcdnumber_abv->display(bNoteObs->abv(),2); } void BrewNoteWidget::focusOutEvent(QFocusEvent *e) { //qDebug() << "Notes lost focus"; } brewtarget-2.0.2/src/hop.h0000644000175000017500000001556612266512167014770 0ustar philipphilip/* * hop.h is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef _HOP_H #define _HOP_H #include #include #include "BeerXMLElement.h" // Forward declarations. class Hop; class HopException; bool operator<( Hop &h1, Hop &h2 ); bool operator==( Hop &h1, Hop &h2 ); /*! * \class Hop * \author Philip G. Lee * * \brief Model class for a hop record in the database. */ class Hop : public BeerXMLElement { Q_OBJECT friend class Database; public: //! \brief The type of hop, meaning for what properties it is used. enum Type {Bittering, Aroma, Both}; //! \brief The form of the hop. enum Form {Leaf, Pellet, Plug}; //! \brief The way the hop is used. enum Use {Mash, First_Wort, Boil, UseAroma, Dry_Hop }; // NOTE: way bad. We have a duplicate enum (Aroma), and BeerXML expects a space for "Dry Hop" and "First Wort". Damn. Damn damn. Q_ENUMS( Type Form Use ) virtual ~Hop() {} //! \brief The name. Q_PROPERTY( QString name READ name WRITE setName NOTIFY changedName ) //! \brief The percent alpha. Q_PROPERTY( double alpha_pct READ alpha_pct WRITE setAlpha_pct /*NOTIFY changed*/ /*changedAlpha_pct*/ ) //! \brief The amount in kg. Q_PROPERTY( double amount_kg READ amount_kg WRITE setAmount_kg /*NOTIFY changed*/ /*changedAmount_kg*/ ) //! \brief The \c Use. Q_PROPERTY( Use use READ use WRITE setUse /*NOTIFY changed*/ /*changedUse*/ ) //! \brief The time in minutes that the hop is used. Q_PROPERTY( double time_min READ time_min WRITE setTime_min /*NOTIFY changed*/ /*changedTime_min*/ ) //! \brief The notes. Q_PROPERTY( QString notes READ notes WRITE setNotes /*NOTIFY changed*/ /*changedNotes*/ ) //! \brief The \c Type. Q_PROPERTY( Type type READ type WRITE setType /*NOTIFY changed*/ /*changedType*/ ) //! \brief The \c Form. Q_PROPERTY( Form form READ form WRITE setForm /*NOTIFY changed*/ /*changedForm*/ ) //! \brief The percent of beta acids. Q_PROPERTY( double beta_pct READ beta_pct WRITE setBeta_pct /*NOTIFY changed*/ /*changedBeta_pct*/ ) //! \brief The hop stability index in percent. Q_PROPERTY( double hsi_pct READ hsi_pct WRITE setHsi_pct /*NOTIFY changed*/ /*changedHsi_pct*/ ) //! \brief The origin. Q_PROPERTY( QString origin READ origin WRITE setOrigin /*NOTIFY changed*/ /*changedOrigin*/ ) //! \brief The list of substitutes. Q_PROPERTY( QString substitutes READ substitutes WRITE setSubstitutes /*NOTIFY changed*/ /*changedSubstitutes*/ ) //! \brief Humulene as a percentage of total hop oil. Q_PROPERTY( double humulene_pct READ humulene_pct WRITE setHumulene_pct /*NOTIFY changed*/ /*changedHumulene_pct*/ ) //! \brief Caryophyllene as a percentage of total hop oil. Q_PROPERTY( double caryophyllene_pct READ caryophyllene_pct WRITE setCaryophyllene_pct /*NOTIFY changed*/ /*changedCaryophyllene_pct*/ ) //! \brief Cohumulone as a percentage of total hop oil. Q_PROPERTY( double cohumulone_pct READ cohumulone_pct WRITE setCohumulone_pct /*NOTIFY changed*/ /*changedCohumulone_pct*/ ) //! \brief Myrcene as a percentage of total hop oil. Q_PROPERTY( double myrcene_pct READ myrcene_pct WRITE setMyrcene_pct /*NOTIFY changed*/ /*changedMyrcene_pct*/ ) const QString name() const; double alpha_pct() const; double amount_kg() const; Use use() const; const QString useString() const; //! \brief A translated use string. const QString useStringTr() const; double time_min() const; const QString notes() const; Type type() const; const QString typeString() const; //! \brief A translated type string. const QString typeStringTr() const; Form form() const; const QString formString() const; //! \brief A translated form string. const QString formStringTr() const; double beta_pct() const; double hsi_pct() const; const QString origin() const; const QString substitutes() const; double humulene_pct() const; double caryophyllene_pct() const; double cohumulone_pct() const; double myrcene_pct() const; //set void setName( const QString& str ); void setAlpha_pct( double num ); void setAmount_kg( double num ); void setUse( Use u ); void setTime_min( double num ); void setNotes( const QString& str ); void setType( Type t ); void setForm( Form f ); void setBeta_pct( double num ); void setHsi_pct( double num ); void setOrigin( const QString& str ); void setSubstitutes( const QString& str ); void setHumulene_pct( double num ); void setCaryophyllene_pct( double num ); void setCohumulone_pct( double num ); void setMyrcene_pct( double num ); signals: //! \brief Emitted when \c name() changes. void changedName(QString); /* void changedAlpha_pct(double); void changedAmount_kg(double); void changedUse(Use); void changedTime_min(double); void changedNotes(QString); void changedType(Type); void changedForm(Form); void changedBeta_pct(double); void changedHsi_pct(double); void changedOrigin(QString); void changedSubstitutes(QString); void changedHumulene_pct(double); void changedCaryophyllene_pct(double); void changedCohumulone_pct(double); void changedMyrcene_pct(double); */ private: Hop(); Hop( Hop const& other ); void setDefaults(); static bool isValidUse(const QString& str); static bool isValidType(const QString& str); static bool isValidForm(const QString& str); static QStringList uses; static QStringList types; static QStringList forms; static QHash tagToProp; static QHash tagToPropHash(); }; inline bool HopPtrLt( Hop* lhs, Hop* rhs) { return *lhs < *rhs; } inline bool HopPtrEq( Hop* lhs, Hop* rhs) { return *lhs == *rhs; } inline bool hopLessThanByTime(const Hop* lhs, const Hop* rhs) { if ( lhs->use() == rhs->use() ) { if ( lhs->time_min() == rhs->time_min() ) return lhs->name() < rhs->name(); return lhs->time_min() > rhs->time_min(); } return lhs->use() < rhs->use(); } struct Hop_ptr_cmp { bool operator()( Hop* lhs, Hop* rhs) { return *lhs < *rhs; } }; struct Hop_ptr_equals { bool operator()( Hop* lhs, Hop* rhs ) { return *lhs == *rhs; } }; #endif // _HOP_H brewtarget-2.0.2/src/OgAdjuster.cpp0000644000175000017500000001205012266512167016565 0ustar philipphilip/* * OgAdjuster.cpp is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com) and Eric Tamme, 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include "OgAdjuster.h" #include "equipment.h" #include "brewtarget.h" #include "unit.h" #include "Algorithms.h" #include "recipe.h" OgAdjuster::OgAdjuster( QWidget* parent ) : QDialog(parent) { setupUi(this); recObs = 0; connect( pushButton_calculate, SIGNAL( clicked() ), this, SLOT( calculate() ) ); } void OgAdjuster::setRecipe( Recipe* rec ) { if( rec && rec != recObs ) { recObs = rec; } } // TODO: There are a LOT of assumptions and simplifications here. Need to change that. void OgAdjuster::calculate() { Equipment* equip; double sg = 0.0; double temp_c = 0.0; double plato = 0.0; double wort_l = 0.0; double hydroTemp_c = 0.0; double sugar_kg = 0.0; double water_kg = 0.0; double sg_15C = 0.0; double sg_20C = 0.0; double evapRate_lHr = 0.0; double finalPlato = 0.0; double finalVolume_l = 0.0; double finalWater_kg = 0.0; double finalUncorrectedSg_20C = 0.0; double waterToAdd_kg = 0.0; double waterToAdd_l = 0.0; bool gotSG = false; // Get inputs. sg = lineEdit_sg->text().toDouble(); temp_c = Brewtarget::tempQStringToSI( lineEdit_temp->text() ); plato = lineEdit_plato->text().toDouble(); wort_l = Brewtarget::volQStringToSI( lineEdit_volume->text() ); hydroTemp_c = Brewtarget::tempQStringToSI( lineEdit_calTemp->text() ); // Make sure we got enough info. gotSG = sg != 0 && temp_c != 0 && hydroTemp_c != 0; if( wort_l == 0 ) return; if( ! gotSG && plato == 0 ) return; if( recObs == 0 || recObs->equipment() == 0 ) return; equip = recObs->equipment(); evapRate_lHr = equip->evapRate_lHr(); // Calculate missing input parameters. if( gotSG ) { sg_15C = sg * Algorithms::Instance().getWaterDensity_kgL(hydroTemp_c)/Algorithms::Instance().getWaterDensity_kgL(15) + Algorithms::Instance().hydrometer15CCorrection( temp_c ); sg_20C = sg_15C * Algorithms::Instance().getWaterDensity_kgL(15)/Algorithms::Instance().getWaterDensity_kgL(20); plato = Algorithms::Instance().SG_20C20C_toPlato( sg_20C ); lineEdit_plato->setText( Brewtarget::displayAmount(plato) ); } else { sg_20C = Algorithms::Instance().PlatoToSG_20C20C( plato ); } // Calculate intermediate parameters. sugar_kg = sg_20C * Algorithms::Instance().getWaterDensity_kgL(20) * wort_l * plato/(double)100; //std::cerr << "sugar_kg = " << sugar_kg << std::endl; water_kg = sg_20C * Algorithms::Instance().getWaterDensity_kgL(20) * wort_l * ((double)1 - plato/(double)100); //std::cerr << "water_kg = " << water_kg << std::endl; // Calculate OG w/o correction. finalVolume_l = equip->wortEndOfBoil_l(wort_l); finalWater_kg = water_kg - equip->boilTime_min()/(double)60 * evapRate_lHr * Algorithms::Instance().getWaterDensity_kgL(20); //std::cerr << "finalWater_kg = " << finalWater_kg << std::endl; //std::cerr << "boilTime = " << equip->getBoilTime_min() << std::endl; //std::cerr << "evapRate_lHr = " << evapRate_lHr << std::endl; //std::cerr << "waterDensity = " << Algorithms::Instance().getWaterDensity_kgL(20) << std::endl; finalPlato = (double)100 * sugar_kg / (sugar_kg + finalWater_kg); //std::cerr << "finalPlato = " << finalPlato << std::endl; finalUncorrectedSg_20C = Algorithms::Instance().PlatoToSG_20C20C( finalPlato ); // Calculate volume to add to boil finalPlato = Algorithms::Instance().SG_20C20C_toPlato( recObs->og() ); // This is bad. This assumes the post-boil gravity = og. Need account for post-boil water additions. // postBoilWater_kg = batchSize - topUpWater; // postBoilSugar_kg = Algorithms::Instance().SG_20C20C_toPlato( recObs->getOG() ) / 100.0 * batchSize * recObs->getOG() * Algorithms::Instance().getWaterDensity_kgL(20); // finalPlato = 100 * postBoilSugar_kg / ( postBoilSugar_kg + postBoilWater_kg ); waterToAdd_kg = (double)100 * sugar_kg / finalPlato - sugar_kg - finalWater_kg; waterToAdd_l = waterToAdd_kg / Algorithms::Instance().getWaterDensity_kgL(20); // Calculate final batch size. finalVolume_l += waterToAdd_l; // Display output. lineEdit_og->setText( Brewtarget::displayAmount(finalUncorrectedSg_20C) ); lineEdit_add->setText( Brewtarget::displayAmount(waterToAdd_l, Units::liters) ); lineEdit_batchSize->setText( Brewtarget::displayAmount(finalVolume_l, Units::liters) ); } brewtarget-2.0.2/src/FermentableDialog.cpp0000644000175000017500000001155712266512167020075 0ustar philipphilip/* * FermentableDialog.cpp is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include #include #include #include #include #include "FermentableEditor.h" #include "FermentableDialog.h" #include "FermentableTableModel.h" #include "FermentableSortFilterProxyModel.h" #include "database.h" #include "recipe.h" #include "MainWindow.h" #include "fermentable.h" FermentableDialog::FermentableDialog(MainWindow* parent) : QDialog(parent), mainWindow(parent), fermEdit(new FermentableEditor(this)), numFerms(0) { setupUi(this); fermTableModel = new FermentableTableModel(fermentableTableWidget, false); fermTableProxy = new FermentableSortFilterProxyModel(fermentableTableWidget); fermTableProxy->setSourceModel(fermTableModel); fermentableTableWidget->setModel(fermTableProxy); fermentableTableWidget->setSortingEnabled(true); fermentableTableWidget->sortByColumn( FERMNAMECOL, Qt::AscendingOrder ); fermTableProxy->setDynamicSortFilter(true); connect( pushButton_addToRecipe, SIGNAL( clicked() ), this, SLOT( addFermentable() ) ); connect( pushButton_edit, SIGNAL( clicked() ), this, SLOT( editSelected() ) ); connect( pushButton_remove, SIGNAL( clicked() ), this, SLOT( removeFermentable() ) ); connect( pushButton_new, SIGNAL( clicked() ), this, SLOT( newFermentable() ) ); connect( fermentableTableWidget, SIGNAL( doubleClicked(const QModelIndex&) ), this, SLOT(addFermentable(const QModelIndex&)) ); fermTableModel->observeDatabase(true); } void FermentableDialog::removeFermentable() { QModelIndexList selected = fermentableTableWidget->selectionModel()->selectedIndexes(); QModelIndex translated; int row, size, i; size = selected.size(); if( size == 0 ) return; // Make sure only one row is selected. row = selected[0].row(); for( i = 1; i < size; ++i ) { if( selected[i].row() != row ) return; } translated = fermTableProxy->mapToSource(selected[0]); Fermentable* ferm = fermTableModel->getFermentable(translated.row()); Database::instance().removeFermentable(ferm); } void FermentableDialog::editSelected() { QModelIndexList selected = fermentableTableWidget->selectionModel()->selectedIndexes(); QModelIndex translated; int row, size, i; size = selected.size(); if( size == 0 ) return; // Make sure only one row is selected. row = selected[0].row(); for( i = 1; i < size; ++i ) { if( selected[i].row() != row ) return; } translated = fermTableProxy->mapToSource(selected[0]); Fermentable* ferm = fermTableModel->getFermentable(translated.row()); fermEdit->setFermentable(ferm); fermEdit->show(); } void FermentableDialog::addFermentable(const QModelIndex& index) { QModelIndex translated; // If there is no provided index, get the selected index. if( !index.isValid() ) { QModelIndexList selected = fermentableTableWidget->selectionModel()->selectedIndexes(); int row, size, i; size = selected.size(); if( size == 0 ) return; // Make sure only one row is selected. row = selected[0].row(); for( i = 1; i < size; ++i ) { if( selected[i].row() != row ) return; } translated = fermTableProxy->mapToSource(selected[0]); } else { // Only respond if the name is selected. Since we connect to double-click signal, // this keeps us from adding something to the recipe when we just want to edit // one of the other fermentable fields. if( index.column() == FERMNAMECOL ) translated = fermTableProxy->mapToSource(index); else return; } Fermentable *ferm = fermTableModel->getFermentable(translated.row()); Database::instance().addToRecipe( mainWindow->currentRecipe(), ferm ); } void FermentableDialog::newFermentable() { QString name = QInputDialog::getText(this, tr("Fermentable name"), tr("Fermentable name:")); if( name.isEmpty() ) return; Fermentable* ferm = Database::instance().newFermentable(); ferm->setName(name); fermEdit->setFermentable(ferm); fermEdit->show(); } brewtarget-2.0.2/src/BtSqlQuery.cpp0000644000175000017500000000465512266512167016605 0ustar philipphilip#include "BtSqlQuery.h" #include #include #include #include "database.h" BtSqlQuery::BtSqlQuery( QString const& query ) : //QObject( &(Database::instance()) ), QObject(), _query(0), _queryString(query) { _queryMutex.lock(); // finishConstructor() will unlock. moveToThread( Database::instance()._thread ); QTimer::singleShot( 0, this, SLOT(finishConstructor()) ); // Have to spin the event loop to get the previous connection to fire // because someone is probably going to construct this object, then // immediately call exec(), so we would otherwise never call finishConstructor(). QCoreApplication::processEvents(); } BtSqlQuery::~BtSqlQuery() { _queryMutex.lock(); delete _query; _queryMutex.unlock(); } void BtSqlQuery::bindValue( QString const& placeHolder, QVariant const& val ) { // NOTE: is it ok that this happens in the calling thread? // If not, cause QTimer::singleShot() to call a private slot // to finish the binding. _queryMutex.lock(); _query->bindValue( placeHolder, val ); _queryMutex.unlock(); } void BtSqlQuery::finishConstructor() { setParent( &(Database::instance()) ); _query = new QSqlQuery( Database::sqlDatabase() ); _query->prepare(_queryString); _queryMutex.unlock(); } void BtSqlQuery::exec() { // This causes doQuery() to be executed not in the calling thread, but our own. QTimer::singleShot(0, this, SLOT(doQuery())); } void BtSqlQuery::exec( QList& results ) { // These two just make sure that finishConstructor() has run through. _queryMutex.lock(); _queryMutex.unlock(); _waitMutex.lock(); // Cause doQuery() to be executed in our own thread. QTimer::singleShot(0, this, SLOT(doQuery())); // Supposed to block until we are set free by doQuery(). // I think this doesn't work, because it blocks the whole // damn thread, including the event loop that is supposed // to send the QTimer signal to doQuery(), so we lock up // forever right here. _waitCondition.wait(&_waitMutex); _waitMutex.unlock(); // Return the results. results = _results; } void BtSqlQuery::doQuery() { _queryMutex.lock(); _query->exec(); while( _query->next() ) _results.append(_query->record()); _queryMutex.unlock(); _waitCondition.wakeAll(); // Wake up someone who is waiting on the results. emit resultsReady( _results ); }brewtarget-2.0.2/src/YeastSortFilterProxyModel.h0000644000175000017500000000263412266512167021320 0ustar philipphilip/* * YeastSortFilterProxyModel.cpp is part of Brewtarget, and is Copyright Mik * Firestone (mikfire@gmail.com) and Philip G. Lee (rocketman768@gmail.com), * 2010-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef _YEASTSORTFILTERPROXYMODEL_H #define _YEASTSORTFILTERPROXYMODEL_H class YeastSortFilterProxyModel; #include /*! * \class YeastSortFilterProxyModel * \author Mik Firestone * * \brief Proxy model for sorting yeasts. */ class YeastSortFilterProxyModel : public QSortFilterProxyModel { Q_OBJECT public: YeastSortFilterProxyModel(QObject *parent = 0, bool filt = true); protected: bool lessThan(const QModelIndex &left, const QModelIndex &right) const; bool filterAcceptsRow( int source_row, const QModelIndex &source_parent) const; private: bool filter; }; #endif brewtarget-2.0.2/src/UnitSystems.cpp0000644000175000017500000000417012266512167017031 0ustar philipphilip/* * UnitSystems.cpp is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include "UnitSystems.h" #include "USWeightUnitSystem.h" #include "SIWeightUnitSystem.h" #include "ImperialVolumeUnitSystem.h" #include "USVolumeUnitSystem.h" #include "SIVolumeUnitSystem.h" #include "CelsiusTempUnitSystem.h" #include "FahrenheitTempUnitSystem.h" #include "TimeUnitSystem.h" USWeightUnitSystem* UnitSystems::usWeightUnitSystem() { static USWeightUnitSystem* us = new USWeightUnitSystem(); return us; } SIWeightUnitSystem* UnitSystems::siWeightUnitSystem() { static SIWeightUnitSystem* si = new SIWeightUnitSystem(); return si; } ImperialVolumeUnitSystem* UnitSystems::imperialVolumeUnitSystem() { static ImperialVolumeUnitSystem* imp = new ImperialVolumeUnitSystem(); return imp; } USVolumeUnitSystem* UnitSystems::usVolumeUnitSystem() { static USVolumeUnitSystem* us = new USVolumeUnitSystem(); return us; } SIVolumeUnitSystem* UnitSystems::siVolumeUnitSystem() { static SIVolumeUnitSystem* si = new SIVolumeUnitSystem(); return si; } CelsiusTempUnitSystem* UnitSystems::celsiusTempUnitSystem() { static CelsiusTempUnitSystem* c = new CelsiusTempUnitSystem(); return c; } FahrenheitTempUnitSystem* UnitSystems::fahrenheitTempUnitSystem() { static FahrenheitTempUnitSystem* f = new FahrenheitTempUnitSystem(); return f; } TimeUnitSystem* UnitSystems::timeUnitSystem() { static TimeUnitSystem* t = new TimeUnitSystem(); return t; } brewtarget-2.0.2/src/RefractoDialog.cpp0000644000175000017500000000662512266512167017416 0ustar philipphilip/* * RefractoDialog.cpp is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com) and Eric Tamme, 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include #include "RefractoDialog.h" #include "Algorithms.h" #include "brewtarget.h" #include #include RefractoDialog::RefractoDialog(QWidget* parent) : QDialog(parent) { setupUi(this); connect( pushButton_calculate, SIGNAL( clicked() ), this, SLOT( calculate() ) ); } RefractoDialog::~RefractoDialog() { } void RefractoDialog::calculate() { bool haveCP = true; bool haveOP = true; bool haveOG = true; double originalPlato = lineEdit_op->text().toDouble(&haveOP); double inputOG = lineEdit_inputOG->text().toDouble(&haveOG); double currentPlato = lineEdit_cp->text().toDouble(&haveCP); double ri = 0; double og = 0; double sg = 0; double re = 0; double abv = 0; double abw = 0; clearOutputFields(); // Abort if we don't have the current plato. if( ! haveCP ) return; ri = Algorithms::Instance().refractiveIndex(currentPlato); lineEdit_ri->setText(Brewtarget::displayAmount(ri)); if( (!haveOG) && haveOP ) { inputOG = Algorithms::Instance().PlatoToSG_20C20C( originalPlato ); lineEdit_inputOG->setText(Brewtarget::displayAmount(inputOG)); } else if( (!haveOP) && haveOG ) { originalPlato = Algorithms::Instance().SG_20C20C_toPlato( inputOG ); lineEdit_op->setText(Brewtarget::displayAmount(originalPlato)); } else if( (!haveOP) && (!haveOG) ) return; // Can't do much if we don't have OG or OP. og = Algorithms::Instance().PlatoToSG_20C20C( originalPlato ); if( originalPlato != currentPlato ) sg = Algorithms::Instance().sgByStartingPlato( originalPlato, currentPlato ); else sg = og; re = Algorithms::Instance().realExtract( sg, currentPlato ); abv = Algorithms::Instance().getABVBySGPlato( sg, currentPlato ); abw = Algorithms::Instance().getABWBySGPlato( sg, currentPlato ); // Warn the user if the inputOG and calculated og don't match. if( qAbs(og - inputOG) > 0.002 ) QMessageBox::warning(this, tr("OG Mismatch"), tr("Based on the given original plato, the OG should be %1, but you have entered %2. Continuing with the calculated OG.").arg(og,0,'f',3).arg(inputOG,0,'f',3)); lineEdit_og->setText(Brewtarget::displayAmount(og)); lineEdit_sg->setText(Brewtarget::displayAmount(sg)); lineEdit_re->setText(Brewtarget::displayAmount(re)); lineEdit_abv->setText(Brewtarget::displayAmount(abv)); lineEdit_abw->setText(Brewtarget::displayAmount(abw)); } void RefractoDialog::clearOutputFields() { lineEdit_ri->clear(); lineEdit_og->clear(); lineEdit_sg->clear(); lineEdit_re->clear(); lineEdit_abv->clear(); lineEdit_abw->clear(); } brewtarget-2.0.2/src/SIWeightUnitSystem.cpp0000644000175000017500000000674412266512167020263 0ustar philipphilip/* * SIWeightUnitSystem.cpp is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include "SIWeightUnitSystem.h" #include #include bool SIWeightUnitSystem::isMapSetup = false; SIWeightUnitSystem::SIWeightUnitSystem() : UnitSystem() { } QString SIWeightUnitSystem::displayAmount( double amount, Unit* units, unitScale scale ) { QString SIUnitName = units->getSIUnitName(); double SIAmount = units->toSI( amount ); double absSIAmount = qAbs(SIAmount); QString ret; // Special cases. Make sure the unit isn't null and that we're // dealing with mass. if( units == 0 || SIUnitName.compare("kg") != 0 ) return QString("%L1").arg(amount, fieldWidth, format, precision); switch(scale) { case extrasmall: ret = QString("%L1 %2").arg(Units::milligrams->fromSI(SIAmount), fieldWidth, format, precision).arg(Units::milligrams->getUnitName()); break; case small: ret = QString("%L1 %2").arg(Units::grams->fromSI(SIAmount), fieldWidth, format, precision).arg(Units::grams->getUnitName()); break; case medium: ret = QString("%L1 %2").arg(Units::kilograms->fromSI(SIAmount), fieldWidth, format, precision).arg(Units::kilograms->getUnitName()); break; default: if( absSIAmount < Units::grams->toSI(1.0) ) // If less than a gram, show mg. ret = QString("%L1 %2") .arg(Units::milligrams->fromSI(SIAmount), fieldWidth, format, precision) .arg(Units::milligrams->getUnitName()); else if( absSIAmount < Units::kilograms->toSI(1.0) ) // If less than a kg, show g. ret = QString("%L1 %2") .arg(Units::grams->fromSI(SIAmount), fieldWidth, format, precision) .arg(Units::grams->getUnitName()); else // Otherwise, show kg. ret = QString("%L1 %2") .arg(Units::kilograms->fromSI(SIAmount), fieldWidth, format, precision) .arg(Units::kilograms->getUnitName()); } return ret; } double SIWeightUnitSystem::qstringToSI( QString qstr ) { ensureMapIsSetup(); return UnitSystem::qstringToSI(qstr, Units::kilograms); } void SIWeightUnitSystem::ensureMapIsSetup() { // If it is setup, return now. if( isMapSetup ) return; // Ok, map was not setup, so set it up. nameToUnit.insert(Units::kilograms->getUnitName(), Units::kilograms); nameToUnit.insert(Units::grams->getUnitName(), Units::grams); nameToUnit.insert(Units::milligrams->getUnitName(), Units::milligrams); nameToUnit.insert(Units::pounds->getUnitName(), Units::pounds); nameToUnit.insert(Units::ounces->getUnitName(), Units::ounces); isMapSetup = true; } Unit* SIWeightUnitSystem::thicknessUnit() { return Units::kilograms; } QString SIWeightUnitSystem::unitType() { return "SI"; } brewtarget-2.0.2/src/fermentable.h0000644000175000017500000002236712266512167016463 0ustar philipphilip/* * fermentable.h is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef _FERMENTABLE_H #define _FERMENTABLE_H #include #include #include "BeerXMLElement.h" #include "unit.h" // Forward declarations. class Fermentable; bool operator<(Fermentable &f1, Fermentable &f2); bool operator==(Fermentable &f1, Fermentable &f2); /*! * \class Fermentable * \author Philip G. Lee * * \brief Model for a fermentable record in the database. */ class Fermentable : public BeerXMLElement { Q_OBJECT friend class Brewtarget; friend class Database; public: //! \brief The type of Fermentable. enum Type {Grain, Sugar, Extract, Dry_Extract, Adjunct}; // NOTE: BeerXML expects a space for "Dry_Extract". We're screwed. Q_ENUMS( TYPE ) virtual ~Fermentable() {} //! \brief The name. Q_PROPERTY( QString name READ name WRITE setName NOTIFY changedName ) //! \brief The \c Type. Q_PROPERTY( Type type READ type WRITE setType /*NOTIFY changed*/ /*changedType*/ ) //! \brief The \c Type string. Q_PROPERTY( QString typeString READ typeString /*WRITE*/ /*NOTIFY changed*/ /*changedTypeString*/ STORED false ) //! \brief The translated \c Type string. Q_PROPERTY( QString typeStringTr READ typeStringTr /*WRITE*/ /*NOTIFY changed*/ /*changedTypeStringTr*/ STORED false ) //! \brief The amount in kg. Q_PROPERTY( double amount_kg READ amount_kg WRITE setAmount_kg /*NOTIFY changed*/ /*changedAmount_kg*/ ) //! \brief The yield (when finely milled) as a percentage of equivalent glucose. Q_PROPERTY( double yield_pct READ yield_pct WRITE setYield_pct /*NOTIFY changed*/ /*changedYield_pct*/ ) //! \brief The color in SRM. Q_PROPERTY( double color_srm READ color_srm WRITE setColor_srm /*NOTIFY changed*/ /*changedColor_srm*/ ) //! \brief Whether to add after the boil. Q_PROPERTY( bool addAfterBoil READ addAfterBoil WRITE setAddAfterBoil /*NOTIFY changed*/ /*changedAddAfterBoil*/ ) //! \brief The origin. Q_PROPERTY( QString origin READ origin WRITE setOrigin /*NOTIFY changed*/ /*changedOrigin*/ ) //! \brief The supplier. Q_PROPERTY( QString supplier READ supplier WRITE setSupplier /*NOTIFY changed*/ /*changedSupplier*/ ) //! \brief The notes. Q_PROPERTY( QString notes READ notes WRITE setNotes /*NOTIFY changed*/ /*changedNotes*/ ) //! \brief The difference in yield between coarsely milled and finely milled grain. Q_PROPERTY( double coarseFineDiff_pct READ coarseFineDiff_pct WRITE setCoarseFineDiff_pct /*NOTIFY changed*/ /*changedCoarseFineDiff_pct*/ ) //! \brief The moisture in pct. Q_PROPERTY( double moisture_pct READ moisture_pct WRITE setMoisture_pct /*NOTIFY changed*/ /*changedMoisture_pct*/ ) //! \brief The diastatic power in Lintner. Q_PROPERTY( double diastaticPower_lintner READ diastaticPower_lintner WRITE setDiastaticPower_lintner /*NOTIFY changed*/ /*changedDiastaticPower_lintner*/ ) //! \brief The percent protein. Q_PROPERTY( double protein_pct READ protein_pct WRITE setProtein_pct /*NOTIFY changed*/ /*changedProtein_pct*/ ) //! \brief The maximum recommended amount in a batch, as a percentage of the total grains. Q_PROPERTY( double maxInBatch_pct READ maxInBatch_pct WRITE setMaxInBatch_pct /*NOTIFY changed*/ /*changedMaxInBatch_pct*/ ) //! \brief Whether a mash is recommended. Q_PROPERTY( bool recommendMash READ recommendMash WRITE setRecommendMash /*NOTIFY changed*/ /*changedRecommendMash*/ ) //! \brief The IBUs per gal/lb if this is a liquid extract. Q_PROPERTY( double ibuGalPerLb READ ibuGalPerLb WRITE setIbuGalPerLb /*NOTIFY changed*/ /*changedIbuGalPerLb*/ ) //! \brief The maximum kg of equivalent glucose that will come from this Fermentable. Q_PROPERTY( double equivSucrose_kg READ equivSucrose_kg /*WRITE*/ /*NOTIFY changed*/ /*changedEquivSucrose_kg*/ STORED false ) //! \brief Whether the grains actually is mashed. Q_PROPERTY( bool isMashed READ isMashed WRITE setIsMashed /*NOTIFY changed*/ /*changedIsMashed*/ ) //! \brief Whether this fermentable is an extract. Q_PROPERTY( bool isExtract READ isExtract STORED false) //! \brief Whether this fermentable is a sugar. Somewhat redundant, but it makes for nice symetry elsewhere Q_PROPERTY( bool isSugar READ isSugar STORED false) const QString name() const; const Type type() const; const QString typeString() const; //! Returns a translated type string. const QString typeStringTr() const; double amount_kg() const; double yield_pct() const; double color_srm() const; bool addAfterBoil() const; const QString origin() const; const QString supplier() const; const QString notes() const; double coarseFineDiff_pct() const; double moisture_pct() const; double diastaticPower_lintner() const; double protein_pct() const; double maxInBatch_pct() const; bool recommendMash() const; double ibuGalPerLb() const; /* disabled per-cell unitDisplay displayUnit() const; unitScale displayScale() const; */ // Calculated getters. double equivSucrose_kg() const; void setName( const QString& str ); void setType( Type t ); void setAmount_kg( double num ); void setYield_pct( double num ); void setColor_srm( double num ); void setAddAfterBoil( bool b ); void setOrigin( const QString& str ); void setSupplier( const QString& str); void setNotes( const QString& str ); void setCoarseFineDiff_pct( double num ); void setMoisture_pct( double num ); void setDiastaticPower_lintner( double num ); void setProtein_pct( double num ); void setMaxInBatch_pct( double num ); void setRecommendMash( bool b ); void setIbuGalPerLb( double num ); bool isMashed() const; bool isExtract(); bool isSugar(); void setIsMashed(bool var); signals: //! \brief Emitted when \c name() changes. void changedName(QString); /* void changedType( Type newType ); void changedTypeString( QString newTypeString ); void changedTypeStringTr( QString newTypeStringTr ); void changedAmount_kg( double newAmount_kg ); void changedYield_pct( double newYield_pct ); void changedColor_srm( double newColor_srm ); void changedAddAfterBoil( bool newAddAfterBoil ); void changedOrigin( QString newOrigin ); void changedSupplier( QString newSupplier ); void changedNotes( QString newNotes ); void changedCoarseFineDiff_pct( double newCoarseFineDiff_pct ); void changedMoisture_pct( double newMoisture_pct ); void changedDiastaticPower_lintner( double newDiastaticPower_lintner ); void changedProtein_pct( double newProtein_pct ); void changedMaxInBatch_pct( double newMaxInBatch_pct ); void changedRecommendMash( bool newRecommendMash ); void changedIbuGalPerLb( double newIbuGalPerLb ); void changedIsMashed( bool newIsMashed ); */ private: Fermentable(); Fermentable( Fermentable const& other ); static bool isValidType( const QString& str ); static QStringList types; static QHash tagToProp; static QHash tagToPropHash(); }; inline bool FermentablePtrLt( Fermentable* lhs, Fermentable* rhs) { return *lhs < *rhs; } inline bool FermentablePtrEq( Fermentable* lhs, Fermentable* rhs) { return *lhs == *rhs; } inline bool fermentablesLessThanByWeight(const Fermentable* lhs, const Fermentable* rhs) { // Sort by name if the two fermentables are of equal weight if ( lhs->amount_kg() == rhs->amount_kg() ) return lhs->name() < rhs->name(); // Yes. I know. This seems silly, but I want the returned list in // descending not ascending order. return lhs->amount_kg() > rhs->amount_kg(); } struct Fermentable_ptr_cmp { bool operator()( Fermentable* lhs, Fermentable* rhs) { return *lhs < *rhs; } }; struct Fermentable_ptr_equals { bool operator()( Fermentable* lhs, Fermentable* rhs ) { return *lhs == *rhs; } }; #endif brewtarget-2.0.2/src/RecipeExtrasWidget.h0000644000175000017500000000402112266512167017724 0ustar philipphilip/* * RecipeExtrasWidget.h is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2011-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef RECIPEEXTRASWIDGET_H #define RECIPEEXTRASWIDGET_H class RecipeExtrasWidget; #include #include #include #include #include "ui_recipeExtrasWidget.h" // Forward declarations class Recipe; /*! * \class RecipeExtrasWidget * \author Philip G. Lee * * \brief View/controller widget for modifying "extra" recipe fields. */ class RecipeExtrasWidget : public QWidget, public Ui::recipeExtrasWidget { Q_OBJECT public: RecipeExtrasWidget(QWidget* parent=0); virtual ~RecipeExtrasWidget() {} //! \brief Set the recipe to view/edit. void setRecipe(Recipe* rec); private slots: void updateBrewer(); void updateBrewerAsst(); void updateTasteRating(); void updatePrimaryAge(); void updatePrimaryTemp(); void updateSecondaryAge(); void updateSecondaryTemp(); void updateTertiaryAge(); void updateTertiaryTemp(); void updateAge(); void updateAgeTemp(); void updateDate(const QDate &date = QDate()); void updateCarbonation(); void updateTasteNotes(); void updateNotes(); void changeRatings(int rating); void saveAll(); void changed(QMetaProperty,QVariant); private: Recipe* recipe; bool ratingChanged; void showChanges(QMetaProperty* prop = 0); }; #endif // RECIPEEXTRASWIDGET_H brewtarget-2.0.2/src/BrewNoteWidget.h0000644000175000017500000000362212266512167017061 0ustar philipphilip/* * BrewNoteWidget.h is part of Brewtarget, and is Copyright Mik Firestone * (mikfire@gmail.com) and Philip G. Lee (rocketman768@gmail.com), 2011-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef _BREWNOTEWIDGET_H #define _BREWNOTEWIDGET_H class BrewNoteWidget; #include #include #include #include #include "ui_brewNoteWidget.h" // Forward declarations. class BrewNote; /*! * \class BrewNoteWidget * \author Mik Firestone * * \brief View/controller widget that edits BrewNotes. */ class BrewNoteWidget : public QWidget, public Ui::brewNoteWidget { Q_OBJECT public: BrewNoteWidget(QWidget *parent = 0); virtual ~BrewNoteWidget() {} void setBrewNote(BrewNote* bNote); void focusOutEvent(QFocusEvent *e); public slots: void updateBrewDate(); void updateSG(); void updateVolumeIntoBK_l(); void updateStrikeTemp_c(); void updateMashFinTemp_c(); void updateOG(); void updatePostBoilVolume_l(); void updateVolumeIntoFerm_l(); void updatePitchTemp_c(); void updateFG(); void updateFinalVolume_l(); void updateFermentDate(); void updateNotes(); void saveAll(); void changed(QMetaProperty,QVariant); void showChanges(QString field = ""); private: BrewNote* bNoteObs; }; #endif // _BREWNOTESWIDGET_H brewtarget-2.0.2/src/ColorMethods.cpp0000644000175000017500000000324612266512167017127 0ustar philipphilip/* * ColorMethods.cpp is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include "ColorMethods.h" #include "brewtarget.h" #include #include #include ColorMethods::ColorMethods() { } ColorMethods::~ColorMethods() { } double ColorMethods::mcuToSrm(double mcu) { switch( Brewtarget::colorFormula ) { case Brewtarget::MOREY: return morey(mcu); case Brewtarget::DANIEL: return daniel(mcu); case Brewtarget::MOSHER: return mosher(mcu); default: Brewtarget::log( Brewtarget::ERROR, QObject::tr("Invalid color formula type: %1").arg(Brewtarget::colorFormula) ); return morey(mcu); } } // I don't know where this is from. double ColorMethods::morey(double mcu) { return 1.4922 * pow( mcu, 0.6859 ); } // From Palmer's "How to Brew" double ColorMethods::daniel(double mcu) { return 0.2 * mcu + 8.4; } // From Palmer's "How to Brew" double ColorMethods::mosher(double mcu) { return 0.3 * mcu + 4.7; } brewtarget-2.0.2/src/Algorithms.cpp0000644000175000017500000001314312266512167016633 0ustar philipphilip/* * Algorithms.cpp is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com) and Eric Tamme, 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include #include #include "Algorithms.h" #include "PhysicalConstants.h" // Called when Instance() is called, should only initialize once. Algorithms::Algorithms() { PlatoFromSG_20C20C_order = 3; PlatoFromSG_20C20C[0] = -616.868; PlatoFromSG_20C20C[1] = 1111.14; PlatoFromSG_20C20C[2] = -630.272; PlatoFromSG_20C20C[3] = 135.997; waterDensityPoly_C_order = 5; waterDensityPoly_C[0] = 0.9999776532; waterDensityPoly_C[1] = 6.557692037e-5; waterDensityPoly_C[2] = -1.007534371e-5; waterDensityPoly_C[3] = 1.372076106e-7; waterDensityPoly_C[4] = -1.414581892e-9; waterDensityPoly_C[5] = 5.6890971e-12; hydroCorrection15CPoly_order = 3; hydroCorrection15CPoly[0] = -0.911045; hydroCorrection15CPoly[1] = -16.2853e-3; hydroCorrection15CPoly[2] = 5.84346e-3; hydroCorrection15CPoly[3] = -15.3243e-6; } double Algorithms::round(double d) { return floor(d+0.5); } inline double Algorithms::intPow( double base, unsigned int pow ) { double ret = 1; for(; pow > 0; pow--) ret *= base; return ret; } double Algorithms::polyEval( double* poly, unsigned int order, double x ) { double ret = 0.0; for( ; order > 0; --order ) { ret += poly[order] * intPow( x, order ); } ret += poly[0]; return ret; } double Algorithms::rootFind( double* poly, unsigned int order, double x0, double x1 ) { double guesses[] = { x0, x1 }; double newGuess = x0; double maxAllowableSeparation = qAbs( x0 - x1 ) * 1e3; while( qAbs( guesses[0] - guesses[1] ) > ROOT_PRECISION ) { newGuess = guesses[1] - (guesses[1] - guesses[0]) * polyEval( poly, order, guesses[1]) / ( polyEval( poly, order, guesses[1]) - polyEval( poly, order, guesses[0]) ); guesses[0] = guesses[1]; guesses[1] = newGuess; if( qAbs( guesses[0] - guesses[1] ) > maxAllowableSeparation ) return HUGE_VAL; } return newGuess; } double Algorithms::hydrometer15CCorrection( double celsius ) { return polyEval( hydroCorrection15CPoly,hydroCorrection15CPoly_order, celsius ) * (double)1e-3; } double Algorithms::SG_20C20C_toPlato( double sg ) { return polyEval(PlatoFromSG_20C20C, PlatoFromSG_20C20C_order, sg ); } double Algorithms::PlatoToSG_20C20C( double plato ) { double* poly = new double[PlatoFromSG_20C20C_order+1]; double ret; unsigned int i; // Copy the polynomial, cuz we need to alter it. for( i = 0; i <= PlatoFromSG_20C20C_order; ++i ) { poly[i] = PlatoFromSG_20C20C[i]; } // After this, finding the root of the polynomial will be finding the SG. poly[0] -= plato; ret = rootFind( poly, PlatoFromSG_20C20C_order, 1.000, 1.050 ); delete[] poly; return ret; } double Algorithms::getPlato( double sugar_kg, double wort_l ) { double water_kg = wort_l - sugar_kg/PhysicalConstants::sucroseDensity_kgL; // Assumes sucrose vol and water vol add to wort vol. return sugar_kg/(sugar_kg+water_kg) * 100.0; } double Algorithms::getWaterDensity_kgL( double celsius ) { return polyEval(waterDensityPoly_C, waterDensityPoly_C_order, celsius); } double Algorithms::getABVBySGPlato( double sg, double plato ) { // Implements the method found at: // http://www.byo.com/stories/projects-and-equipment/article/indices/29-equipment/1343-refractometers // ABV = [277.8851 - 277.4(SG) + 0.9956(Brix) + 0.00523(Brix2) + 0.000013(Brix3)] x (SG/0.79) return (277.8851 - 277.4*sg + 0.9956*plato + 0.00523*plato*plato + 0.000013*plato*plato*plato) * (sg/0.79); } double Algorithms::getABWBySGPlato( double sg, double plato ) { // Implements the method found at: // http://primetab.com/formulas.html double ri = refractiveIndex(plato); return 1017.5596 - 277.4*sg + ri*(937.8135*ri - 1805.1228); } double Algorithms::sgByStartingPlato( double startingPlato, double currentPlato ) { // Implements the method found at: // http://primetab.com/formulas.html double sp2 = startingPlato*startingPlato; double sp3 = sp2*startingPlato; double cp2 = currentPlato*currentPlato; double cp3 = cp2*currentPlato; return 1.001843 - 0.002318474*startingPlato - 0.000007775*sp2 - 0.000000034*sp3 + 0.00574*currentPlato + 0.00003344*cp2 + 0.000000086*cp3; } double Algorithms::ogFgToPlato( double og, double fg ) { double sp = SG_20C20C_toPlato( og ); double poly[4] = {1.001843 - 0.002318474*sp - 0.000007775*sp*sp - 0.000000034*sp*sp*sp - fg, 0.00574, 0.00003344, 0.000000086}; return rootFind(poly, 3, 3, 5); } double Algorithms::refractiveIndex( double plato ) { // Implements the method found at: // http://primetab.com/formulas.html return 1.33302 + 0.001427193*plato + 0.000005791157*plato*plato; } double Algorithms::realExtract( double sg, double plato ) { double ri = refractiveIndex(plato); return 194.5935 + 129.8*sg + ri*(410.8815*ri - 790.8732); } brewtarget-2.0.2/src/brewnote.h0000644000175000017500000002120212266512167016007 0ustar philipphilip/* * brewnote.h is part of Brewtarget, written by Mik Firestone * (mikfire@gmail.com). Copyright is given to Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef _BREWNOTE_H #define _BREWNOTE_H #include #include #include #include #include #include "equipment.h" #include "mash.h" #include "mashstep.h" #include "yeast.h" #include "BeerXMLElement.h" // Forward declarations; class Recipe; class BrewNote; bool operator<(BrewNote const& lhs, BrewNote const& rhs); bool operator==(BrewNote const& lhs, BrewNote const& rhs); /*! * \class BrewNote * \author Mik Firestone * * \brief Model for a brewnote record, which records what you did on brewday. */ class BrewNote : public BeerXMLElement { Q_OBJECT friend class Database; friend bool operator<(BrewNote &lhs, BrewNote &rhs); friend bool operator==(BrewNote &lhs, BrewNote &rhs); public: enum {DONOTUSE, RECIPE}; virtual ~BrewNote() {} Q_PROPERTY( QDateTime brewDate READ brewDate WRITE setBrewDate /*NOTIFY changed*/ STORED false ) Q_PROPERTY( QDateTime fermentDate READ fermentDate WRITE setFermentDate /*NOTIFY changed*/ STORED false ) Q_PROPERTY( QString notes READ notes WRITE setNotes /*NOTIFY changed*/ STORED false ) Q_PROPERTY( double sg READ sg WRITE setSg /*NOTIFY changed*/ STORED false ) Q_PROPERTY( double abv READ abv WRITE setABV /*NOTIFY changed*/ STORED false ) Q_PROPERTY( double effIntoBK_pct READ effIntoBK_pct WRITE setEffIntoBK_pct STORED false ) Q_PROPERTY( double brewhouseEff_pct READ brewhouseEff_pct WRITE setBrewhouseEff_pct STORED false ) Q_PROPERTY( double volumeIntoBK_l READ volumeIntoBK_l WRITE setVolumeIntoBK_l /*NOTIFY changed*/ STORED false ) Q_PROPERTY( double strikeTemp_c READ strikeTemp_c WRITE setStrikeTemp_c /*NOTIFY changed*/ STORED false ) Q_PROPERTY( double mashFinTemp_c READ mashFinTemp_c WRITE setMashFinTemp_c /*NOTIFY changed*/ STORED false ) Q_PROPERTY( double og READ og WRITE setOg /*NOTIFY changed*/ STORED false ) Q_PROPERTY( double postBoilVolume_l READ postBoilVolume_l WRITE setPostBoilVolume_l /*NOTIFY changed*/ STORED false ) Q_PROPERTY( double volumeIntoFerm_l READ volumeIntoFerm_l WRITE setVolumeIntoFerm_l /*NOTIFY changed*/ STORED false ) Q_PROPERTY( double pitchTemp_c READ pitchTemp_c WRITE setPitchTemp_c /*NOTIFY changed*/ STORED false ) Q_PROPERTY( double fg READ fg WRITE setFg /*NOTIFY changed*/ STORED false ) Q_PROPERTY( double finalVolume_l READ finalVolume_l WRITE setFinalVolume_l /*NOTIFY changed*/ STORED false ) Q_PROPERTY( double boilOff_l READ boilOff_l WRITE setBoilOff_l /*NOTIFY changed*/ STORED false ) Q_PROPERTY( double projBoilGrav READ projBoilGrav WRITE setProjBoilGrav /*NOTIFY changed*/ STORED false ) Q_PROPERTY( double projVolIntoBK_l READ projVolIntoBK_l WRITE setProjVolIntoBK_l /*NOTIFY changed*/ STORED false ) Q_PROPERTY( double projStrikeTemp_c READ projStrikeTemp_c WRITE setProjStrikeTemp_c /*NOTIFY changed*/ STORED false ) Q_PROPERTY( double projMashFinTemp_c READ projMashFinTemp_c WRITE setProjMashFinTemp_c /*NOTIFY changed*/ STORED false ) Q_PROPERTY( double projOg READ projOg WRITE setProjOg /*NOTIFY changed*/ STORED false ) Q_PROPERTY( double projVolIntoFerm_l READ projVolIntoFerm_l WRITE setProjVolIntoFerm_l /*NOTIFY changed*/ STORED false ) Q_PROPERTY( double projFg READ projFg WRITE setProjFg /*NOTIFY changed*/ STORED false ) Q_PROPERTY( double projEff_pct READ projEff_pct WRITE setProjEff_pct /*NOTIFY changed*/ STORED false ) Q_PROPERTY( double projABV_pct READ projABV_pct WRITE setProjABV_pct /*NOTIFY changed*/ STORED false ) Q_PROPERTY( double projPoints READ projPoints WRITE setProjPoints /*NOTIFY changed*/ STORED false ) Q_PROPERTY( double projFermPoints READ projFermPoints WRITE setProjFermPoints /*NOTIFY changed*/ STORED false ) Q_PROPERTY( double projAtten READ projAtten WRITE setProjAtten /*NOTIFY changed*/ STORED false ) // Setters void setABV(double var); void setBrewDate(QDateTime const& date = QDateTime::currentDateTime()); void setFermentDate(QDateTime const& date); void setNotes(const QString& var, bool notify = true); void setSg(double var); void setVolumeIntoBK_l(double var); void setBrewhouseEff_pct(double var); void setEffIntoBK_pct(double var); void setStrikeTemp_c(double var); void setMashFinTemp_c(double var); void setOg(double var); void setPostBoilVolume_l(double var); void setVolumeIntoFerm_l(double var); void setPitchTemp_c(double var); void setFg(double var); void setFinalVolume_l(double var); void setBoilOff_l(double var); // Metasetter void populateNote(Recipe* parent); void recalculateEff(Recipe* parent); void setLoading(bool flag); // Getters QDateTime brewDate() const; //! Convenience method. QString brewDate_str() const; //! Convenience method. QString brewDate_short() const; QDateTime fermentDate() const; //! Convenience method. QString fermentDate_str() const; //! Convenience method. QString fermentDate_short() const; double sg() const; double abv() const; double volumeIntoBK_l() const; double effIntoBK_pct() const; double brewhouseEff_pct() const; double strikeTemp_c() const; double mashFinTemp_c() const; double og() const; double postBoilVolume_l() const; double volumeIntoFerm_l() const; double pitchTemp_c() const; double fg() const; double finalVolume_l() const; double boilOff_l() const; QString notes() const; // ick, but I don't see another way. I need a unique key that has *nothing* // to do with the data entered. The best one I can think of is the // database's key int key() const; // Calculations double calculateEffIntoBK_pct(); double calculateOg(); double calculateBrewHouseEff_pct(); //! Projected ABV after fermentation. double calculateABV_pct(); //! Actual ABV after we have measured og/fg. double calculateActualABV_pct(); // Projected values void setProjBoilGrav(double var); void setProjVolIntoBK_l(double var); void setProjStrikeTemp_c(double var); void setProjMashFinTemp_c(double var); void setProjOg(double var); void setProjVolIntoFerm_l(double var); void setProjFg(double var); void setProjEff_pct(double var); void setProjABV_pct(double var); void setProjPoints(double var); void setProjFermPoints(double var); void setProjAtten(double var); double projBoilGrav() const; double projVolIntoBK_l() const; double projStrikeTemp_c() const; double projMashFinTemp_c() const; double projOg() const; double projVolIntoFerm_l() const; double projFg() const; double projEff_pct() const; double projABV_pct() const; double projPoints() const; double projFermPoints() const; double projAtten() const; /*! Convert a string that may be either "1.040" or "10 P" for example. * If the user has appended a "P" (case insensitive, with or without a space), * the gravity reading will be assumed to be in plato/brix. * If there is no unit, and the value is < 2.0, it will be assumed to be a * specific gravity. * If there is no unit and the value is greater than 2.0, it will be assumed * to be a plato/brix */ static double translateSG(QString qstr); signals: void brewDateChanged(const QDateTime&); private: BrewNote(); BrewNote(BrewNote const& other); bool loading; QHash info; QHash XMLTagToName(); QHash NameToXMLTag(); static QHash tagToPropHash(); static QHash tagToProp; }; inline bool BrewNotePtrLt( BrewNote* lhs, BrewNote* rhs) { return *lhs < *rhs; } inline bool BrewNotePtrEq( BrewNote* lhs, BrewNote* rhs) { return *lhs == *rhs; } struct BrewNote_ptr_cmp { bool operator()(BrewNote* lhs, BrewNote* rhs) { return *lhs < *rhs; } }; struct BrewNote_ptr_equals { bool operator()(BrewNote* lhs, BrewNote* rhs) { return *lhs == *rhs; } }; #endif /* _BREWNOTE_H */ brewtarget-2.0.2/src/YeastEditor.cpp0000644000175000017500000001461412266512167016762 0ustar philipphilip/* * YeastEditor.cpp is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include "YeastEditor.h" #include "database.h" #include "config.h" #include "unit.h" #include "brewtarget.h" #include "yeast.h" YeastEditor::YeastEditor( QWidget* parent ) : QDialog(parent), obsYeast(0) { setupUi(this); connect( buttonBox, SIGNAL( accepted() ), this, SLOT( save() )); connect( buttonBox, SIGNAL( rejected() ), this, SLOT( clearAndClose() )); } void YeastEditor::setYeast( Yeast* y ) { if( obsYeast ) disconnect( obsYeast, 0, this, 0 ); obsYeast = y; if( obsYeast ) { connect( obsYeast, SIGNAL(changed(QMetaProperty,QVariant)), this, SLOT(changed(QMetaProperty,QVariant)) ); showChanges(); } } void YeastEditor::save() { Yeast* y = obsYeast; if( y == 0 ) { setVisible(false); return; } // TODO: check this out with 1.2.5 // Need to disable notification since every "set" method will cause a "showChanges" that // will revert any changes made. //y->disableNotification(); y->setName(lineEdit_name->text()); y->setType(static_cast(comboBox_type->currentIndex())); y->setForm(static_cast(comboBox_form->currentIndex())); y->setAmountIsWeight( (checkBox_amountIsWeight->checkState() == Qt::Checked)? true : false ); y->setAmount( y->amountIsWeight() ? Brewtarget::weightQStringToSI(lineEdit_amount->text()) : Brewtarget::volQStringToSI(lineEdit_amount->text()) ); y->setLaboratory( lineEdit_laboratory->text() ); y->setProductID( lineEdit_productID->text() ); y->setMinTemperature_c( Brewtarget::tempQStringToSI(lineEdit_minTemperature->text()) ); y->setMaxTemperature_c( Brewtarget::tempQStringToSI(lineEdit_maxTemperature->text()) ); y->setFlocculation( static_cast(comboBox_flocculation->currentIndex()) ); y->setAttenuation_pct(lineEdit_attenuation->text().toDouble()); y->setTimesCultured(lineEdit_timesCultured->text().toInt()); y->setMaxReuse(lineEdit_maxReuse->text().toInt()); y->setAddToSecondary( (checkBox_addToSecondary->checkState() == Qt::Checked)? true : false ); y->setBestFor(textEdit_bestFor->toPlainText()); y->setNotes(textEdit_notes->toPlainText()); //y->reenableNotification(); //y->forceNotify(); setVisible(false); } void YeastEditor::clearAndClose() { setYeast(0); setVisible(false); // Hide the window. } void YeastEditor::changed(QMetaProperty prop, QVariant /*val*/) { if( sender() == obsYeast ) showChanges(&prop); } void YeastEditor::showChanges(QMetaProperty* metaProp) { Yeast* y = obsYeast; if( y == 0 ) return; QString propName; QVariant value; bool updateAll = false; if( metaProp == 0 ) updateAll = true; else { propName = metaProp->name(); value = metaProp->read(y); } if( propName == "name" || updateAll ) { lineEdit_name->setText(obsYeast->name()); lineEdit_name->setCursorPosition(0); if( ! updateAll ) return; } if( propName == "type" || updateAll ) { comboBox_type->setCurrentIndex(obsYeast->type()); if( ! updateAll ) return; } if( propName == "form" || updateAll ) { comboBox_form->setCurrentIndex(obsYeast->form()); if( ! updateAll ) return; } if( propName == "amount" || updateAll ) { lineEdit_amount->setText( Brewtarget::displayAmount(obsYeast->amount(), (obsYeast->amountIsWeight()) ? (Unit*)Units::kilograms : (Unit*)Units::liters ) ); if( ! updateAll ) return; } if( propName == "amountIsWeight" || updateAll ) { checkBox_amountIsWeight->setCheckState( (obsYeast->amountIsWeight())? Qt::Checked : Qt::Unchecked ); if( ! updateAll ) return; } if( propName == "laboratory" || updateAll ) { lineEdit_laboratory->setText(obsYeast->laboratory()); lineEdit_laboratory->setCursorPosition(0); if( ! updateAll ) return; } if( propName == "productID" || updateAll ) { lineEdit_productID->setText(obsYeast->productID()); lineEdit_productID->setCursorPosition(0); if( ! updateAll ) return; } if( propName == "minTemperature_c" || updateAll ) { lineEdit_minTemperature->setText(Brewtarget::displayAmount(obsYeast->minTemperature_c(), Units::celsius)); if( ! updateAll ) return; } if( propName == "maxTemperature_c" || updateAll ) { lineEdit_maxTemperature->setText(Brewtarget::displayAmount(obsYeast->maxTemperature_c(), Units::celsius)); if( ! updateAll ) return; } if( propName == "flocculation" || updateAll ) { comboBox_flocculation->setCurrentIndex( obsYeast->flocculation() ); if( ! updateAll ) return; } if( propName == "attenutation_pc" || updateAll ) { lineEdit_attenuation->setText( Brewtarget::displayAmount(obsYeast->attenuation_pct(), 0)); if( ! updateAll ) return; } if( propName == "timesCultured" || updateAll ) { lineEdit_timesCultured->setText(QString::number(obsYeast->timesCultured())); if( ! updateAll ) return; } if( propName == "maxReuse" || updateAll ) { lineEdit_maxReuse->setText(QString::number(obsYeast->maxReuse())); if( ! updateAll ) return; } if( propName == "addToSecondary" || updateAll ) { checkBox_addToSecondary->setCheckState( (obsYeast->addToSecondary())? Qt::Checked : Qt::Unchecked ); if( ! updateAll ) return; } if( propName == "bestFor" || updateAll ) { textEdit_bestFor->setPlainText(obsYeast->bestFor()); if( ! updateAll ) return; } if( propName == "notes" || updateAll ) { textEdit_notes->setPlainText(obsYeast->notes()); if( ! updateAll ) return; } } brewtarget-2.0.2/src/TimeUnitSystem.h0000644000175000017500000000243512266512167017134 0ustar philipphilip/* * TimeUnitSystem.h is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef _TIMEUNITSYSTEM_H #define _TIMEUNITSYSTEM_H class TimeUnitSystem; #include #include "UnitSystem.h" class TimeUnitSystem : public UnitSystem { public: TimeUnitSystem(); QString displayAmount( double amount, Unit* units = 0, unitScale scale = noScale ); /* Inherited from UnitSystem */ double qstringToSI( QString qstr ); /* Inherited from UnitSystem */ Unit* thicknessUnit(){ return 0; } QString unitType(); private: static void ensureMapIsSetup(); static bool isMapSetup; }; #endif /*_TIMEUNITSYSTEM_H*/ brewtarget-2.0.2/src/PrimingDialog.h0000644000175000017500000000241312266512167016712 0ustar philipphilip/* * PrimingDialog.h is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef _PRIMINGDIALOG_H #define _PRIMINGDIALOG_H class PrimingDialog; #include #include #include #include "ui_primingDialog.h" /*! * \class PrimingDialog * \author Philip G. Lee * * \brief Dialog to calculate priming sugar amounts. */ class PrimingDialog : public QDialog, public Ui::primingDialog { Q_OBJECT public: PrimingDialog(QWidget* parent = 0); ~PrimingDialog(); public slots: void calculate(); private: QButtonGroup* sugarGroup; }; #endif brewtarget-2.0.2/src/hop.cpp0000644000175000017500000001665712266512167015325 0ustar philipphilip/* * hop.cpp is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include #include #include #include "hop.h" #include "brewtarget.h" QStringList Hop::types = QStringList() << "Bittering" << "Aroma" << "Both"; QStringList Hop::forms = QStringList() << "Leaf" << "Pellet" << "Plug"; QStringList Hop::uses = QStringList() << "Mash" << "First Wort" << "Boil" << "Aroma" << "Dry Hop"; QHash Hop::tagToProp = Hop::tagToPropHash(); QHash Hop::tagToPropHash() { QHash propHash; propHash["NAME"] = "name"; propHash["ALPHA"] = "alpha_pct"; propHash["AMOUNT"] = "amount_kg"; //propHash["USE"] = "use"; propHash["TIME"] = "time_min"; propHash["NOTES"] = "notes"; //propHash["TYPE"] = "type"; //propHash["FORM"] = "form"; propHash["BETA"] = "beta_pct"; propHash["HSI"] = "hsi_pct"; propHash["ORIGIN"] = "origin"; propHash["SUBSTITUTES"] = "substitutes"; propHash["HUMULENE"] = "humulene_pct"; propHash["CARYOPHYLLENE"] = "caryophyllene_pct"; propHash["COHUMULONE"] = "cohumulone_pct"; propHash["MYRCENE"] = "myrcene_pct"; return propHash; } bool operator<( Hop &h1, Hop &h2 ) { return h1.name() < h2.name(); } bool operator==( Hop &h1, Hop &h2 ) { return h1.name() == h2.name(); } bool Hop::isValidUse(const QString& str) { return (uses.indexOf(str) >= 0); } bool Hop::isValidType(const QString& str) { return (types.indexOf(str) >= 0); } bool Hop::isValidForm(const QString& str) { return (forms.indexOf(str) >= 0); } /* void Hop::setDefaults() { name = ""; use = USEBOIL; notes = ""; type = TYPEBOTH; form = FORMPELLET; origin = ""; substitutes = ""; alpha_pct = 0.0; amount_kg = 0.0; time_min = 0.0; beta_pct = 0.0; hsi_pct = 0.0; humulene_pct = 0.0; caryophyllene_pct = 0.0; cohumulone_pct = 0.0; myrcene_pct = 0.0; } */ Hop::Hop() : BeerXMLElement() { } Hop::Hop( Hop const& other ) : BeerXMLElement(other) { } //============================="SET" METHODS==================================== void Hop::setName( const QString& str ) { set("name","name",str); emit changedName(str); } void Hop::setAlpha_pct( double num ) { if( num < 0.0 || num > 100.0 ) { Brewtarget::logW( QString("Hop: 0 < alpha < 100: %1").arg(num) ); return; } else { set("alpha_pct", "alpha", num); } } void Hop::setAmount_kg( double num ) { if( num < 0.0 ) { Brewtarget::logW( QString("Hop: amount < 0: %1").arg(num) ); return; } else { set("amount_kg", "amount", num); } } void Hop::setUse(Use u) { if ( u >= 0 ) set("use", "use", uses.at(u)); } void Hop::setTime_min( double num ) { if( num < 0.0 ) { Brewtarget::logW( QString("Hop: time < 0: %1").arg(num) ); return; } else { set("time_min", "time", num); } } void Hop::setNotes( const QString& str ) { set("notes", "notes", str); } void Hop::setType(Type t) { if ( t >= 0 ) set("type", "htype", types.at(t)); } void Hop::setForm( Form f ) { if ( f >= 0 ) set("form", "form", forms.at(f)); } void Hop::setBeta_pct( double num ) { if( num < 0.0 || num > 100.0 ) { Brewtarget::logW( QString("Hop: 0 < beta < 100: %1").arg(num) ); return; } else { set("beta_pct", "beta", num); } } void Hop::setHsi_pct( double num ) { if( num < 0.0 || num > 100.0 ) { Brewtarget::logW( QString("Hop: 0 < hsi < 100: %1").arg(num) ); return; } else { set("hsi_pct", "hsi", num); } } void Hop::setOrigin( const QString& str ) { set("origin", "origin", str); } void Hop::setSubstitutes( const QString& str ) { set("substitutes", "substitutes", str); } void Hop::setHumulene_pct( double num ) { if( num < 0.0 || num > 100.0 ) { Brewtarget::logW( QString("Hop: 0 < humulene < 100: %1").arg(num) ); return; } else { set("humulene_pct", "humulene", num); } } void Hop::setCaryophyllene_pct( double num ) { if( num < 0.0 || num > 100.0 ) { Brewtarget::logW( QString("Hop: 0 < cary < 100: %1").arg(num) ); return; } else { set("caryophyllene_pct", "caryophyllene", num); } } void Hop::setCohumulone_pct( double num ) { if( num < 0.0 || num > 100.0 ) { Brewtarget::logW( QString("Hop: 0 < cohumulone < 100: %1").arg(num) ); return; } else { set("cohumulone_pct", "cohumulone", num); } } void Hop::setMyrcene_pct( double num ) { if( num < 0.0 || num > 100.0 ) { Brewtarget::logW( QString("Hop: 0 < myrcene < 100: %1").arg(num) ); return; } else { set("myrcene_pct", "myrcene", num); } } //============================="GET" METHODS==================================== const QString Hop::name() const { return get("name").toString(); } double Hop::alpha_pct() const { return get("alpha").toDouble(); } double Hop::amount_kg() const { return get("amount").toDouble(); } Hop::Use Hop::use() const { return static_cast(uses.indexOf(get("use").toString())); } const QString Hop::useString() const { return get("use").toString(); } const QString Hop::useStringTr() const { static QStringList usesTr = QStringList() << tr("Mash") << tr("First Wort") << tr("Boil") << tr("Aroma") << tr("Dry Hop") ; return usesTr.at(use()); } double Hop::time_min() const { return get("time").toDouble(); } const QString Hop::notes() const { return get("notes").toString(); } Hop::Type Hop::type() const { return static_cast(types.indexOf(get("htype").toString())); } const QString Hop::typeString() const { return get("htype").toString(); } const QString Hop::typeStringTr() const { static QStringList typesTr = QStringList() << tr("Bittering") << tr("Aroma") << tr("Both"); return typesTr.at(type()); } Hop::Form Hop::form() const { return static_cast(forms.indexOf(get("form").toString())); } const QString Hop::formString() const { return get("form").toString(); } const QString Hop::formStringTr() const { static QStringList formsTr = QStringList() << tr("Leaf") << tr("Pellet") << tr("Plug"); return formsTr.at(form()); } double Hop::beta_pct() const { return get("beta").toDouble(); } double Hop::hsi_pct() const { return get("hsi").toDouble(); } const QString Hop::origin() const { return get("origin").toString(); } const QString Hop::substitutes() const { return get("substitutes").toString(); } double Hop::humulene_pct() const { return get("humulene").toDouble(); } double Hop::caryophyllene_pct() const { return get("caryophyllene").toDouble(); } double Hop::cohumulone_pct() const { return get("cohumulone").toDouble(); } double Hop::myrcene_pct() const { return get("myrcene").toDouble(); } brewtarget-2.0.2/src/brewnote.cpp0000644000175000017500000004017612266512167016355 0ustar philipphilip/* * brewnote.cpp is part of Brewtarget, written by Mik Firestone * (mikfire@gmail.com). Copyright is given to Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include #include #include #include #include #include #include #include #include #include "brewnote.h" #include "brewtarget.h" #include "Algorithms.h" #include "mashstep.h" #include "recipe.h" QHash BrewNote::tagToProp = BrewNote::tagToPropHash(); QHash BrewNote::tagToPropHash() { QHash propHash; propHash["BREWDATE"] = "brewDate" ; propHash["DATE_FERMENTED_OUT"] = "fermentDate" ; propHash["SG"] = "sg" ; propHash["VOLUME_INTO_BK"] = "volumeIntoBK_l" ; propHash["STRIKE_TEMP"] = "strikeTemp_c" ; propHash["MASH_FINAL_TEMP"] = "mashFinTemp_c" ; propHash["OG"] = "og" ; propHash["POST_BOIL_VOLUME"] = "postBoilVolume_l" ; propHash["VOLUME_INTO_FERMENTER"] = "volumeIntoFerm_l" ; propHash["PITCH_TEMP"] = "pitchTemp_c" ; propHash["FG"] = "fg" ; propHash["EFF_INTO_BK"] = "effIntoBK_pct" ; propHash["PREDICTED_OG"] = "projOg" ; propHash["BREWHOUSE_EFF"] = "brewhouseEff_pct" ; //propHash["PREDICTED_ABV"] = "projABV_pct" ; propHash["ACTUAL_ABV"] = "abv" ; propHash["PROJECTED_BOIL_GRAV"] = "projBoilGrav" ; propHash["PROJECTED_STRIKE_TEMP"] = "projStrikeTemp_c" ; propHash["PROJECTED_MASH_FIN_TEMP"] = "projMashFinTemp_c" ; propHash["PROJECTED_VOL_INTO_BK"] = "projVolIntoBK_l" ; propHash["PROJECTED_OG"] = "projOg" ; propHash["PROJECTED_VOL_INTO_FERM"] = "projVolIntoFerm_l" ; propHash["PROJECTED_FG"] = "projFg" ; propHash["PROJECTED_EFF"] = "projEff_pct" ; propHash["PROJECTED_ABV"] = "projABV_pct" ; propHash["PROJECTED_POINTS"] = "projPoints" ; propHash["PROJECTED_FERM_POINTS"] = "projFermPoints" ; propHash["PROJECTED_ATTEN"] = "projAtten" ; propHash["BOIL_OFF"] = "boilOff_l" ; propHash["FINAL_VOLUME"] = "finalVolume_l" ; propHash["NOTES"] = "notes" ; return propHash; } // operators for sorts and things bool operator<(BrewNote const& lhs, BrewNote const& rhs) { return lhs.brewDate() < rhs.brewDate(); } bool operator==(BrewNote const& lhs, BrewNote const& rhs) { return lhs.brewDate() == rhs.brewDate(); } // Initializers BrewNote::BrewNote() : BeerXMLElement() { loading = false; } void BrewNote::populateNote(Recipe* parent) { Equipment* equip = parent->equipment(); Mash* mash = parent->mash(); QList steps; MashStep* mStep; QList yeasts = parent->yeasts(); Yeast* yeast; QHash sugars; double atten_pct = -1.0; // Since we have the recipe, lets set some defaults The order in which // these are done is very specific. Please do not modify them without some // serious testing. // Everything needs volumes of one type or another. But the individual // volumes are fairly independent of anything. Do them all first. setProjVolIntoBK_l( parent->boilSize_l() ); setVolumeIntoBK_l( parent->boilSize_l() ); setPostBoilVolume_l(parent->postBoilVolume_l()); setProjVolIntoFerm_l(parent->finalVolume_l()); setVolumeIntoFerm_l(parent->finalVolume_l()); setFinalVolume_l(parent->finalVolume_l()); if ( equip ) setBoilOff_l( equip->evapRate_lHr() * ( parent->boilTime_min()/60)); sugars = parent->calcTotalPoints(true); setProjPoints(sugars.value("sugar_kg") + sugars.value("sugar_kg_ignoreEfficiency")); sugars = parent->calcTotalPoints(false); setProjFermPoints(sugars.value("sugar_kg") + sugars.value("sugar_kg_ignoreEfficiency")); // Out of the gate, we expect projected to be the measured. setSg( parent->boilGrav() ); setProjBoilGrav(parent->boilGrav() ); if ( mash ) { steps = mash->mashSteps(); mStep = steps.at(0); if ( mStep ) { double endTemp = mStep->endTemp_c() > 0.0 ? mStep->endTemp_c() : mStep->stepTemp_c(); setProjStrikeTemp_c(mStep->infuseTemp_c()); setMashFinTemp_c(endTemp); setProjMashFinTemp_c(endTemp); } if ( steps.size() - 2 > 0 ) { mStep = steps.at( steps.size() - 2 ); setMashFinTemp_c( mStep->endTemp_c()); setProjMashFinTemp_c( mStep->endTemp_c()); } } setOg( parent->og()); setProjOg(parent->og()); setPitchTemp_c(parent->primaryTemp_c()); setFg( parent->fg()); setProjFg( parent->fg() ); setProjEff_pct(parent->efficiency_pct()); setProjABV_pct( parent->ABV_pct()); for (int i = 0; i < yeasts.size(); ++i) { yeast = yeasts.at(i); if ( yeast->attenuation_pct() > atten_pct ) atten_pct = yeast->attenuation_pct(); } if ( yeasts.size() == 0 || atten_pct < 0.0 ) atten_pct = 75; setProjAtten(atten_pct); } // the v2 release had some bugs in the efficiency calcs. They have been fixed. // This should allow the users to redo those calculations void BrewNote::recalculateEff(Recipe* parent) { QHash sugars; sugars = parent->calcTotalPoints(true); setProjPoints(sugars.value("sugar_kg") + sugars.value("sugar_kg_ignoreEfficiency")); sugars = parent->calcTotalPoints(false); setProjFermPoints(sugars.value("sugar_kg") + sugars.value("sugar_kg_ignoreEfficiency")); calculateEffIntoBK_pct(); calculateBrewHouseEff_pct(); } BrewNote::BrewNote(BrewNote const& other) : BeerXMLElement(other) { } // Setters===================================================================== void BrewNote::setBrewDate(QDateTime const& date) { set("brewDate", "brewDate", date.toString(Qt::ISODate)); emit brewDateChanged(date); } void BrewNote::setFermentDate(QDateTime const& date) { set("fermentDate", "fermentDate", date.toString(Qt::ISODate)); } void BrewNote::setNotes(QString const& var, bool notify) { set("notes", "notes", var, notify); } double BrewNote::translateSG(QString qstr) { double var; QString unit; QRegExp numUnit; // Try to make some guesses about what is there. QString decimal = QRegExp::escape( QLocale::system().decimalPoint()); QString grouping = QRegExp::escape(QLocale::system().groupSeparator()); numUnit.setPattern("((?:\\d+" + grouping + ")?\\d+(?:" + decimal + "\\d+)?|" + decimal + "\\d+)\\s*(\\w+)?"); numUnit.setCaseSensitivity(Qt::CaseInsensitive); if ( qstr.contains(numUnit) ) { var = numUnit.capturedTexts()[1].toDouble(); unit = numUnit.capturedTexts()[2]; } else var = qstr.toDouble(); if ( unit.contains("p", Qt::CaseInsensitive) || var > 1.2) return Algorithms::Instance().PlatoToSG_20C20C(var); return var; } void BrewNote::setLoading(bool flag) { loading = flag; } // These five items cause the calculated fields to change. I should do this // with signals/slots, likely, but the *only* slot for the signal will be // the brewnote. void BrewNote::setSg(double var) { set("sg", "sg", var); if ( loading ) return; calculateEffIntoBK_pct(); calculateOg(); } void BrewNote::setVolumeIntoBK_l(double var) { set("volumeIntoBK_l", "volume_into_bk", var); if ( loading ) return; calculateEffIntoBK_pct(); calculateOg(); calculateBrewHouseEff_pct(); } void BrewNote::setOg(double var) { set("og", "og", var); if ( loading ) return; calculateBrewHouseEff_pct(); calculateABV_pct(); calculateActualABV_pct(); } void BrewNote::setVolumeIntoFerm_l(double var) { set("volumeIntoFerm_l", "volume_into_fermenter", var); if ( loading ) return; calculateBrewHouseEff_pct(); } void BrewNote::setFg(double var) { set("fg", "fg", var); if ( loading ) return; calculateActualABV_pct(); } // This one is a bit of an odd ball. We need to convert to pure glucose points // before we store it in the database. void BrewNote::setProjPoints(double var) { double convertPnts; double plato, total_g; if ( loading ) convertPnts = var; else { plato = Algorithms::Instance().getPlato(var, projVolIntoBK_l()); total_g = Algorithms::Instance().PlatoToSG_20C20C( plato ); convertPnts = (total_g - 1.0 ) * 1000; } set("projPoints", "projected_points", convertPnts); } void BrewNote::setProjFermPoints(double var) { double convertPnts; double plato, total_g; if ( loading ) convertPnts = var; else { plato = Algorithms::Instance().getPlato(var, projVolIntoFerm_l()); total_g = Algorithms::Instance().PlatoToSG_20C20C( plato ); convertPnts = (total_g - 1.0 ) * 1000; } set("projPoints", "projected_ferm_points", convertPnts); } void BrewNote::setABV(double var) { set("abv", "abv", var); } void BrewNote::setEffIntoBK_pct(double var) { set("effIntoBK_pct", "eff_into_bk", var); } void BrewNote::setBrewhouseEff_pct(double var) { set("brewhouseEff_pct", "brewhouse_eff", var); } void BrewNote::setStrikeTemp_c(double var) { set("strikeTemp_c", "strike_temp", var); } void BrewNote::setMashFinTemp_c(double var) { set("mashFinTemp_c", "mash_final_temp", var); } void BrewNote::setPostBoilVolume_l(double var) { set("postBoilVolume_l", "post_boil_volume", var); } void BrewNote::setPitchTemp_c(double var) { set("pitchTemp_c", "pitch_temp", var); } void BrewNote::setFinalVolume_l(double var) { set("finalVolume_l", "final_volume", var); } void BrewNote::setProjBoilGrav(double var) { set("projBoilGrav", "projected_boil_grav", var); } void BrewNote::setProjVolIntoBK_l(double var) { set("projVolIntoBK_l", "projected_vol_into_bk", var); } void BrewNote::setProjStrikeTemp_c(double var) { set("projStrikeTemp_c", "projected_strike_temp", var); } void BrewNote::setProjMashFinTemp_c(double var) { set("projMashFinTemp_c", "projected_mash_fin_temp", var); } void BrewNote::setProjOg(double var) { set("projOg", "projected_og", var); } void BrewNote::setProjVolIntoFerm_l(double var) { set("projVolIntoFerm_l", "projected_vol_into_ferm", var); } void BrewNote::setProjFg(double var) { set("projFg", "projected_fg", var); } void BrewNote::setProjEff_pct(double var) { set("projEff_pct", "projected_eff", var); } void BrewNote::setProjABV_pct(double var) { set("projABV_pct", "projected_abv", var); } void BrewNote::setProjAtten(double var) { set("projAtten", "projected_atten", var); } void BrewNote::setBoilOff_l(double var) { set("boilOff_l", "boil_off", var); } // Getters QDateTime BrewNote::brewDate() const { return QDateTime::fromString(get("brewDate").toString(),Qt::ISODate); } QString BrewNote::brewDate_str() const { return get("brewDate").toString(); } QString BrewNote::brewDate_short() const { return brewDate().toString("yyyy-MM-dd"); } QDateTime BrewNote::fermentDate() const { return QDateTime::fromString(get("fermentDate").toString(),Qt::ISODate); } QString BrewNote::fermentDate_str() const { return get("fermentDate").toString(); } QString BrewNote::fermentDate_short() const { return fermentDate().toString("yyyy-MM-dd"); } QString BrewNote::notes() const { return get("notes").toString(); } double BrewNote::sg() const { return get("sg").toDouble(); } double BrewNote::abv() const { return get("abv").toDouble(); } double BrewNote::volumeIntoBK_l() const { return get("volume_into_bk").toDouble(); } double BrewNote::effIntoBK_pct() const { return get("eff_into_bk").toDouble(); } double BrewNote::brewhouseEff_pct() const { return get("brewhouse_eff").toDouble(); } double BrewNote::strikeTemp_c() const { return get("strike_temp").toDouble(); } double BrewNote::mashFinTemp_c() const { return get("mash_final_temp").toDouble(); } double BrewNote::og() const { return get("og").toDouble(); } double BrewNote::volumeIntoFerm_l() const { return get("volume_into_fermenter").toDouble(); } double BrewNote::postBoilVolume_l() const { return get("post_boil_volume").toDouble(); } double BrewNote::pitchTemp_c() const { return get("pitch_temp").toDouble(); } double BrewNote::fg() const { return get("fg").toDouble(); } double BrewNote::finalVolume_l() const { return get("final_volume").toDouble(); } double BrewNote::projBoilGrav() const { return get("projected_boil_grav").toDouble(); } double BrewNote::projVolIntoBK_l() const { return get("projected_vol_into_bk").toDouble(); } double BrewNote::projStrikeTemp_c() const { return get("projected_strike_temp").toDouble(); } double BrewNote::projMashFinTemp_c() const { return get("projected_mash_fin_temp").toDouble(); } double BrewNote::projOg() const { return get("projected_og").toDouble(); } double BrewNote::projVolIntoFerm_l() const { return get("projected_vol_into_ferm").toDouble(); } double BrewNote::projFg() const { return get("projected_fg").toDouble(); } double BrewNote::projEff_pct() const { return get("projected_eff").toDouble(); } double BrewNote::projABV_pct() const { return get("projected_abv").toDouble(); } double BrewNote::projPoints() const { return get("projected_points").toDouble(); } double BrewNote::projFermPoints() const { return get("projected_ferm_points").toDouble(); } double BrewNote::projAtten() const { return get("projected_atten").toDouble(); } double BrewNote::boilOff_l() const { return get("boil_off").toDouble(); } int BrewNote::key() const { return _key; } // calculators -- these kind of act as both setters and getters. Likely bad // form double BrewNote::calculateEffIntoBK_pct() { double effIntoBK; double maxPoints, actualPoints; // I don't think we need a lot of math here. Points has already been // translated from SG into pure glucose points maxPoints = projPoints() * projVolIntoBK_l(); actualPoints = (sg() - 1) * 1000 * volumeIntoBK_l(); if (maxPoints <= 0.0) { Brewtarget::logW(QString("calculateEffIntoBK :: Avoiding div by 0, maxpoints is %1").arg(maxPoints)); return 0.0; } effIntoBK = actualPoints/maxPoints * 100; setEffIntoBK_pct(effIntoBK); return effIntoBK; } // The idea is that based on the preboil gravity, estimate what the actual OG // will be. double BrewNote::calculateOg() { double cOG; double points, expectedVol, actualVol; points = (sg()-1) * 1000; expectedVol = projVolIntoBK_l() - boilOff_l(); actualVol = volumeIntoBK_l(); if ( expectedVol <= 0.0 ) { Brewtarget::logW(QString("calculated OG will be off because of bad expected volume into bk %1").arg(expectedVol)); return 0.0; } cOG = 1+ ((points * actualVol / expectedVol) / 1000); setProjOg(cOG); return cOG; } double BrewNote::calculateBrewHouseEff_pct() { double expectedPoints, actualPoints; double brewhouseEff; expectedPoints = projFermPoints() * projVolIntoFerm_l(); actualPoints = (og()-1.0) * 1000.0 * volumeIntoFerm_l(); brewhouseEff = actualPoints/expectedPoints * 100.0; setBrewhouseEff_pct(brewhouseEff); return brewhouseEff; } // Need to do some work here to figure out what the expected FG will be based // on the actual OG, not the calculated. double BrewNote::calculateABV_pct() { double atten_pct = projAtten(); double calculatedABV; double estFg; // This looks weird, but the math works. (Yes, I am showing my work) // 1 + [(og-1) * 1000 * (1.0 - %/100)] / 1000 = // 1 + [(og - 1) * (1.0 - %/100)] estFg = 1 + ((og()-1.0)*(1.0 - atten_pct/100.0)); calculatedABV = (og()-estFg)*130; setProjABV_pct(calculatedABV); return calculatedABV; } double BrewNote::calculateActualABV_pct() { double abv; abv = (og() - fg()) * 130; setABV(abv); return abv; } brewtarget-2.0.2/src/MashWizard.cpp0000644000175000017500000002311212266512167016570 0ustar philipphilip/* * MashWizard.cpp is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include "database.h" #include "brewtarget.h" #include "unit.h" #include "MashWizard.h" #include "mash.h" #include "mashstep.h" #include "fermentable.h" #include #include "HeatCalculations.h" #include "brewtarget.h" #include "equipment.h" #include "PhysicalConstants.h" MashWizard::MashWizard(QWidget* parent) : QDialog(parent) { setupUi(this); recObs = 0; connect(buttonBox, SIGNAL(accepted()), this, SLOT(wizardry()) ); connect(buttonBox, SIGNAL(rejected()), this, SLOT(close()) ); } void MashWizard::setRecipe(Recipe* rec) { recObs = rec; } void MashWizard::show() { if( recObs == 0 || recObs->mash() == 0 ) return; // Ensure at least one mash step. if( recObs->mash()->mashSteps().size() == 0 ) { QMessageBox::information(this, tr("No steps"), tr("There must be at least one mash step to run the wizard.")); return; } switch (Brewtarget::getWeightUnitSystem()) { case USCustomary: case Imperial: weightUnit = Units::pounds; break; case SI: default: weightUnit = Units::kilograms; break; } switch (Brewtarget::getVolumeUnitSystem()) { case USCustomary: volumeUnit = Units::us_quarts; break; case Imperial: volumeUnit = Units::imperial_quarts; break; case SI: default: volumeUnit = Units::liters; break; } label->setText(tr("Mash thickness (%1/%2)").arg(volumeUnit->getUnitName(),weightUnit->getUnitName())); setVisible(true); } void MashWizard::wizardry() { if( recObs == 0 || recObs->mash() == 0 ) return; Mash* mash = recObs->mash(); MashStep* mashStep; int i, j; double thickness_LKg; double thickNum; double MC, MCw; // Thermal mass of mash and water. double tw, tf, t1; // Water, final, and initial temps. double grainMass = 0.0, massWater = 0.0; double grainDensity = PhysicalConstants::grainDensity_kgL; double absorption_LKg; double boilingPoint_c; // If we have an equipment, utilize the custom absorption and boiling temp. if( recObs->equipment() != 0 ) { absorption_LKg = recObs->equipment()->grainAbsorption_LKg(); boilingPoint_c = recObs->equipment()->boilingPoint_c(); } else { absorption_LKg = PhysicalConstants::grainAbsorption_Lkg; boilingPoint_c = 100.0; } thickNum = lineEdit_mashThickness->text().toDouble(); thickness_LKg = thickNum * volumeUnit->toSI(1) / weightUnit->toSI(1); if( thickness_LKg <= 0.0 ) { QMessageBox::information(this, tr("Bad thickness"), tr("You must have a positive mash thickness.")); return; } QList steps = mash->mashSteps(); // We ensured that there was at least one mash step when we displayed the thickness dialog in show(). mashStep = steps.at(0); if( mashStep == 0 ) { Brewtarget::logE( "MashWizard::wizardry(): first mash step was null." ); return; } // Ensure first mash step is an infusion. if( mashStep->type() != MashStep::Infusion ) { QMessageBox::information(this, tr("First step"), tr("Your first mash step must be an infusion.")); return; } // Find any batch sparges and remove them for now. for( i = 0; i < steps.size(); ++i) { MashStep* step = steps[i]; if( step && step->name() == "Final Batch Sparge" ) Database::instance().removeFrom(mash,step); } steps = mash->mashSteps(); grainMass = recObs->grainsInMash_kg(); // Do first step tf = mashStep->stepTemp_c(); t1 = mash->grainTemp_c(); massWater = thickness_LKg * grainMass; MCw = HeatCalculations::Cw_calGC * massWater; MC = HeatCalculations::Cgrain_calGC * grainMass; // I am specifically ignoring BeerXML's request to only do this if mash->getEquipAdjust() is set. // Good or bad? //if( mash->getEquipAdjust() ) tw = MC/MCw * (tf-t1) + (mash->tunSpecificHeat_calGC()*mash->tunWeight_kg())/MCw * (tf-mash->tunTemp_c()) + tf; //else // tw = MC/MCw * (tf-t1) + tf; // Can't have water above boiling. if( tw > boilingPoint_c ) { QMessageBox::information(this, tr("Mash too thick"), tr("Your mash is too thick for desired temp. at first step.")); return; } mashStep->setInfuseAmount_l(massWater); mashStep->setInfuseTemp_c(tw); //================End of first step===================== // Do rest of steps. // Add thermal mass of equipment to MC. // I am specifically ignoring BeerXML's request to only do this if mash->getEquipAdjust() is set. MC += mash->tunSpecificHeat_calGC()*mash->tunWeight_kg(); for( i = 1; i < steps.size(); ++i ) { mashStep = steps[i]; if( mashStep->type() == MashStep::Temperature ) continue; else if( mashStep->type() == MashStep::Decoction ) { double m_w, m_g, m_e, r; double c_w, c_g, c_e; tf = mashStep->stepTemp_c(); t1 = steps[i-1]->stepTemp_c(); m_w = 0; // Total mass of water. for(j = 0; j < i; ++j ) m_w += steps[j]->infuseAmount_l(); m_g = grainMass; m_e = (mash->equipAdjust()) ? mash->tunWeight_kg() : 0; c_w = HeatCalculations::Cw_calGC; c_g = HeatCalculations::Cgrain_calGC; c_e = (mash->equipAdjust()) ? mash->tunSpecificHeat_calGC() : 0; // r is the ratio of water and grain to take out for decoction. r = ((m_w*c_w + m_g*c_g + m_e*c_e)*(tf-t1)) / ((m_w*c_w + m_g*c_g)*(boilingPoint_c-tf) + (m_w*c_w + m_g*c_g)*(tf-t1)); if( r < 0 || r > 1 ) { QMessageBox::critical(this, tr("Decoction error"), tr("Something went wrong in decoction calculation.") ); Brewtarget::log(Brewtarget::ERROR, QString("Decoction: r=%1").arg(r)); return; } mashStep->setDecoctionAmount_l( r*(m_w + m_g/grainDensity) ); } else { tf = mashStep->stepTemp_c(); t1 = steps[i-1]->stepTemp_c(); tw = boilingPoint_c; // Assume adding boiling water to minimize final volume. MC += massWater * HeatCalculations::Cw_calGC; // Add thermal mass of last addition. massWater = (MC*(tf-t1))/(HeatCalculations::Cw_calGC * (tw-tf)); mashStep->setInfuseAmount_l(massWater); mashStep->setInfuseTemp_c(tw); } } // Now, do a sparge step to get the total volume of the mash up to the boil size. double wortInBoil_l = recObs->wortFromMash_l(); if( recObs->equipment() != 0 ) { wortInBoil_l += recObs->equipment()->topUpKettle_l(); wortInBoil_l -= recObs->equipment()->lauterDeadspace_l(); } double spargeWater_l = recObs->boilSize_l() - wortInBoil_l; if( spargeWater_l >= 0.0 ) { // If the recipe already has a mash step named "Final Batch Sparge", // find it and use it instead of making a new one. bool foundSparge = false; for( j = 0; j < steps.size(); ++j ) { if( steps[j]->name() == "Final Batch Sparge" ) { mashStep = steps[j]; foundSparge = true; break; } } if( ! foundSparge ) { mashStep = Database::instance().newMashStep(mash); // Or just make a new one. steps.append(mashStep); } int lastMashStep = steps.size()-1; tf = mash->spargeTemp_c(); if( lastMashStep >= 0 ) t1 = steps[lastMashStep]->stepTemp_c() - 10.0; // You will lose about 10C from last step. else { Brewtarget::logE( "MashWizard::wizardry(): Should have had at least one mash step before getting to sparging." ); return; } MC = recObs->grainsInMash_kg() * HeatCalculations::Cgrain_calGC + absorption_LKg * recObs->grainsInMash_kg() * HeatCalculations::Cw_calGC + mash->tunWeight_kg() * mash->tunSpecificHeat_calGC(); massWater = spargeWater_l; tw = (MC/(massWater*HeatCalculations::Cw_calGC))*(tf-t1) + tf; if(tw > boilingPoint_c) QMessageBox::information(this, tr("Sparge temp."), tr("In order to hit your sparge temp, the sparge water must be above boiling. Lower your sparge temp, or allow for more sparge water.")); mashStep->setName("Final Batch Sparge"); mashStep->setType(MashStep::Infusion); mashStep->setInfuseAmount_l(spargeWater_l); mashStep->setInfuseTemp_c(tw); mashStep->setEndTemp_c(tw); mashStep->setStepTemp_c(tf); mashStep->setStepTime_min(15); } else { QMessageBox::information(this, tr("Too much wort"), tr("You have too much wort from the mash for your boil size. I suggest increasing the boil size by increasing the boil time, or reducing your mash thickness.")); } } brewtarget-2.0.2/src/BrewDayWidget.cpp0000644000175000017500000002741212266512167017227 0ustar philipphilip/* * BrewDayWidget.cpp is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include #include #include #include #include #include #include #include "database.h" #include "InstructionWidget.h" #include "TimerWidget.h" #include "instruction.h" #include "brewtarget.h" #include "BrewDayWidget.h" #include "recipe.h" #include "style.h" // NOTE: QPrinter has no parent? Will it get destroyed properly? BrewDayWidget::BrewDayWidget(QWidget* parent) : QWidget(parent), recObs(0), printer(new QPrinter()), doc(new QWebView(this)) { setupUi(this); setObjectName("BrewDayWidget"); // HAVE to do this since apparently the stackedWidget NEEDS at least 1 // widget at all times. stackedWidget->insertWidget(0, new InstructionWidget(stackedWidget) ); stackedWidget->widget(0)->setVisible(false); stackedWidget->removeWidget(stackedWidget->widget(1)); connect( listWidget, SIGNAL(currentRowChanged(int)), stackedWidget, SLOT(setCurrentIndex(int)) ); connect( pushButton_insert, SIGNAL(clicked()), this, SLOT(insertInstruction()) ); connect( pushButton_remove, SIGNAL(clicked()), this, SLOT(removeSelectedInstruction()) ); connect( pushButton_up, SIGNAL(clicked()), this, SLOT(pushInstructionUp()) ); connect( pushButton_down, SIGNAL(clicked()), this, SLOT(pushInstructionDown()) ); // Set up the printer stuff printer->setPageSize(QPrinter::Letter); // populate the drop down list } QSize BrewDayWidget::sizeHint() const { return QSize(0,0); } void BrewDayWidget::insertInstruction() { if( recObs == 0 ) return; int pos = lineEdit_step->text().toInt(); int size = recObs->instructions().size(); if( pos < 0 || pos > size ) pos = size; Instruction* ins = Database::instance().newInstruction(recObs); ins->setName(lineEdit_name->text()); // TODO: figure out how to do ordering of ingredients. recObs->insertInstruction( ins, pos ); //listWidget->insertItem(pos, ins->text(false)); repopulateListWidget(); } void BrewDayWidget::removeSelectedInstruction() { if( recObs == 0 ) return; int row = listWidget->currentRow(); if( row < 0 ) return; listWidget->takeItem(row); repopulateListWidget(); Database::instance().removeFromRecipe(recObs,recObs->instructions()[row]); } void BrewDayWidget::pushInstructionUp() { if( recObs == 0 ) return; QList ins = recObs->instructions(); int row = listWidget->currentRow(); if( row <= 0 ) return; recObs->swapInstructions(ins[row], ins[row-1]); QString instrStep = listWidget->item(row)->text(); listWidget->insertItem(row, listWidget->item(row-1)->text()); listWidget->insertItem(row-1, instrStep); listWidget->setCurrentRow(row-1); //repopulateListWidget(); } void BrewDayWidget::pushInstructionDown() { if( recObs == 0 ) return; QList ins = recObs->instructions(); int row = listWidget->currentRow(); if( row >= listWidget->count() ) return; recObs->swapInstructions(ins[row], ins[row+1]); QString instrStep = listWidget->item(row+1)->text(); listWidget->insertItem(row+1, listWidget->item(row)->text()); listWidget->insertItem(row, instrStep); listWidget->setCurrentRow(row+1); // repopulateListWidget(); } QString BrewDayWidget::getCSS() { if ( cssName == NULL ) cssName = ":/css/brewday.css"; QFile cssInput(cssName); QString css; if (cssInput.open(QFile::ReadOnly)) { QTextStream inStream(&cssInput); while ( ! inStream.atEnd() ) { css += inStream.readLine(); } } return css; } QString BrewDayWidget::buildTitleTable() { QString header; QString body; // Do the style sheet first header = ""; body = ""; body += QString("

%1

").arg(recObs->name()); body += QString("").arg("qrc:/images/title.svg"); // Build the top table // Build the first row: Style and Date body += ""; body += QString("").arg(tr("Style")); body += QString("") .arg(recObs->style()->name()); body += QString("").arg(tr("Date")); body += QString("") .arg(QDate::currentDate().toString()); body += QString("") .arg(tr("Boil Volume")) .arg(Brewtarget::displayAmount(recObs->boilSize_l(),Units::liters,2)) .arg(tr("Preboil Gravity")) .arg(Brewtarget::displayOG(recObs->boilGrav())); body += QString("") .arg(tr("Final Volume")) .arg(Brewtarget::displayAmount(recObs->batchSize_l(), Units::liters,2)) .arg(tr("Starting Gravity")) .arg(Brewtarget::displayOG(recObs->og())); body += QString("") .arg(tr("Boil Time")) .arg(Brewtarget::displayAmount(recObs->boilTime_min(),Units::minutes)) .arg(tr("IBU")) .arg(Brewtarget::displayAmount(recObs->IBU(),0,1)); body += QString("") .arg(tr("Predicted Efficiency")) .arg(Brewtarget::displayAmount(recObs->efficiency_pct(),0,0)) .arg(tr("Estimated calories (per 12 oz)")) .arg(Brewtarget::displayAmount(recObs->calories(),0,0)); body += "
%1%1%1%1
%1%2%3%4
%1%2%3%4
%1%2%3%4
%1%2%3%4
"; return header + body; } QString BrewDayWidget::buildInstructionTable() { QString middle; int i, j, size; middle += QString("

%1

").arg(tr("Instructions")); middle += ""; middle += QString("") .arg(tr("Completed")) .arg(tr("Time")) .arg(tr("Step")); QList instructions = recObs->instructions(); size = instructions.size(); for( i = 0; i < size; ++i ) { QString stepTime, tmp; QList reagents; if(instructions[i]->interval()) stepTime = Brewtarget::displayAmount(instructions[i]->interval(), Units::minutes, 0); else stepTime = "--"; tmp = ""; reagents = instructions[i]->reagents(); if ( reagents.size() > 1 ) { tmp = "
    "; for ( j = 0; j < reagents.size(); j++ ) { tmp += QString("
  • %1
  • ") .arg(reagents[j]); } tmp += "
"; } else { tmp = reagents[0]; } QString altTag = i % 2 ? "alt" : "norm"; middle += QString("
") .arg(altTag) .arg(stepTime) .arg(instructions[i]->name()) .arg(tmp); } middle += "
%1%2%3
%2%3 : %4
"; return middle; } QString BrewDayWidget::buildFooterTable() { QString bottom; bottom = ""; bottom += QString("") .arg(tr("Actual Pre-boil Volume:")) .arg(tr("Actual Pre-boil Gravity:")); bottom += QString("") .arg(tr("Post-boil Volume:")) .arg(tr("Post-boil Gravity:")); bottom += QString("") .arg(tr("Volume in fermenter:")); bottom += "
%1%2
%1%2
%1
"; return bottom; } bool BrewDayWidget::loadComplete(bool ok) { doc->print(printer); disconnect( doc, SIGNAL(loadFinished(bool)), this, SLOT(loadComplete(bool)) ); return ok; } void BrewDayWidget::pushInstructionPrint() { QString pDoc; QPrintDialog *dialog = new QPrintDialog(printer, this); /* Instantiate the Webview and then connect its signal */ connect( doc, SIGNAL(loadFinished(bool)), this, SLOT(loadComplete(bool)) ); dialog->setWindowTitle(tr("Print Document")); if (dialog->exec() != QDialog::Accepted) return; if( recObs == 0 ) return; // Start building the document to be printed. I think. pDoc = buildTitleTable(); pDoc += buildInstructionTable(); pDoc += buildFooterTable(); pDoc += QString("

%1

").arg(tr("Notes")); pDoc += ""; doc->setHtml(pDoc); } void BrewDayWidget::pushInstructionPreview() { QString pDoc; if( recObs == 0 ) return; // Start building the document to be printed. I think. pDoc = buildTitleTable(); pDoc += buildInstructionTable(); pDoc += buildFooterTable(); pDoc += QString("

%1

").arg(tr("Notes")); pDoc += ""; doc->setHtml(pDoc); doc->show(); } void BrewDayWidget::setRecipe(Recipe* rec) { if( recObs ) disconnect( recObs, 0, this, 0 ); recObs = rec; if( recObs ) connect( recObs, SIGNAL(changed(QMetaProperty,QVariant)), this, SLOT(changed(QMetaProperty,QVariant)) ); showChanges(); } void BrewDayWidget::changed(QMetaProperty prop, QVariant /*val*/) { if( sender() == recObs && QString(prop.name()) == "instructions") showChanges(); } void BrewDayWidget::clear() { listWidget->clear(); while( stackedWidget->count() > 0 ) { InstructionWidget* iw = (InstructionWidget*)stackedWidget->widget(0); stackedWidget->removeWidget(iw); iw->deleteLater(); } stackedWidget->setCurrentIndex(0); } void BrewDayWidget::showChanges() { clear(); if( recObs == 0 ) return; int i, size; InstructionWidget* iw; QList instructions = recObs->instructions(); size = instructions.size(); for( i = 0; i < size; ++i ) { if(stackedWidget->widget(i) == 0) { iw = new InstructionWidget(stackedWidget); stackedWidget->addWidget(iw); } else { iw = (InstructionWidget*)stackedWidget->widget(i); iw->setVisible(true); } iw->setInstruction(instructions[i]); } stackedWidget->update(); // Whatever, I give up. repopulateListWidget(); } void BrewDayWidget::repopulateListWidget() { listWidget->clear(); if( recObs == 0 ) return; int i, size; QList instructions = recObs->instructions(); size = instructions.size(); for( i = 0; i < size; ++i ) { QString text = tr("Step %1: %2").arg(i).arg(instructions[i]->name()); listWidget->addItem(new QListWidgetItem(text)); } if( size > 0 ) listWidget->setCurrentRow(0); else listWidget->setCurrentRow(-1); this->setUpdatesEnabled(true); listWidget->update(); } brewtarget-2.0.2/src/CelsiusTempUnitSystem.cpp0000644000175000017500000000421512266512167021024 0ustar philipphilip/* * CelsiusTempUnitSystem.cpp is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include "CelsiusTempUnitSystem.h" #include bool CelsiusTempUnitSystem::isMapSetup = false; CelsiusTempUnitSystem::CelsiusTempUnitSystem() : UnitSystem() { } //! scale is ignored, but must be here to satisfy the virtuals QString CelsiusTempUnitSystem::displayAmount( double amount, Unit* units, unitScale scale) { QString SIUnitName = units->getSIUnitName(); double SIAmount = units->toSI( amount ); QString ret; // Special cases. Make sure the unit isn't null and that we're // dealing with temperature. if( units == 0 || SIUnitName.compare("C") != 0 ) return QString("%L1").arg(amount, fieldWidth, format, precision); ret = QString("%L1 %2").arg(Units::celsius->fromSI(SIAmount), fieldWidth, format, precision).arg(Units::celsius->getUnitName()); return ret; } double CelsiusTempUnitSystem::qstringToSI( QString qstr ) { ensureMapIsSetup(); return UnitSystem::qstringToSI(qstr,Units::celsius); } void CelsiusTempUnitSystem::ensureMapIsSetup() { // If it is setup, return now. if( isMapSetup ) return; // Ok, map was not setup, so set it up. nameToUnit.insert(Units::celsius->getUnitName(), Units::celsius); nameToUnit.insert(Units::kelvin->getUnitName(), Units::kelvin); nameToUnit.insert(Units::fahrenheit->getUnitName(), Units::fahrenheit); isMapSetup = true; } QString CelsiusTempUnitSystem::unitType() { return "SI"; } brewtarget-2.0.2/src/RecipeExtrasDialog.cpp0000644000175000017500000001602012266512167020235 0ustar philipphilip/* * RecipeExtrasDialog.cpp is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2010-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include "RecipeExtrasDialog.h" #include #include "unit.h" #include "brewtarget.h" #include "recipe.h" RecipeExtrasDialog::RecipeExtrasDialog(QWidget* parent) : QDialog(parent), recObs(0) { setupUi(this); connect( pushButton_save, SIGNAL(clicked()), this, SLOT(saveAndQuit()) ); connect( pushButton_cancel, SIGNAL(clicked()), this, SLOT(hide()) ); } void RecipeExtrasDialog::setRecipe(Recipe* rec) { if( recObs ) disconnect( recObs, 0, this, 0 ); recObs = rec; if( recObs ) { connect( recObs, SIGNAL(changed(QMetaProperty,QVariant)), this, SLOT(changed(QMetaProperty,QVariant)) ); showChanges(); } } void RecipeExtrasDialog::updateBrewer() { if( recObs == 0 ) return; if ( lineEdit_brewer->isModified() ) recObs->setBrewer(lineEdit_brewer->text()); } void RecipeExtrasDialog::updateBrewerAsst() { if( recObs == 0 ) return; if ( lineEdit_asstBrewer->isModified() ) recObs->setAsstBrewer(lineEdit_asstBrewer->text()); } // TODO: Need to fix this so we only change it when required void RecipeExtrasDialog::updateTasteRating() { if( recObs == 0 ) return; recObs->setTasteRating( (double)(spinBox_tasteRating->value()) ); } void RecipeExtrasDialog::updatePrimaryAge() { if( recObs == 0 ) return; if ( lineEdit_primaryAge->isModified() ) recObs->setPrimaryAge_days( lineEdit_primaryAge->text().toDouble() ); } void RecipeExtrasDialog::updatePrimaryTemp() { if( recObs == 0 ) return; if ( lineEdit_primaryTemp->isModified() ) recObs->setPrimaryTemp_c( Brewtarget::tempQStringToSI(lineEdit_primaryTemp->text()) ); } void RecipeExtrasDialog::updateSecondaryAge() { if( recObs == 0 ) return; if ( lineEdit_secAge->isModified() ) recObs->setSecondaryAge_days( lineEdit_secAge->text().toDouble() ); } void RecipeExtrasDialog::updateSecondaryTemp() { if( recObs == 0 ) return; if ( lineEdit_secTemp->isModified() ) recObs->setSecondaryTemp_c( Brewtarget::tempQStringToSI(lineEdit_secTemp->text()) ); } void RecipeExtrasDialog::updateTertiaryAge() { if( recObs == 0 ) return; if ( lineEdit_tertAge->isModified() ) recObs->setTertiaryAge_days( lineEdit_tertAge->text().toDouble() ); } void RecipeExtrasDialog::updateTertiaryTemp() { if( recObs == 0 ) return; if ( lineEdit_tertTemp->isModified() ) recObs->setTertiaryTemp_c( Brewtarget::tempQStringToSI( lineEdit_tertTemp->text() ) ); } void RecipeExtrasDialog::updateAge() { if( recObs == 0 ) return; if ( lineEdit_tertAge->isModified() ) recObs->setAge_days( lineEdit_tertAge->text().toDouble() ); } void RecipeExtrasDialog::updateAgeTemp() { if( recObs == 0 ) return; if ( lineEdit_tertTemp->isModified() ) recObs->setAgeTemp_c( Brewtarget::tempQStringToSI( lineEdit_tertTemp->text() ) ); } // TODO: Need to fix this to update only when a real change happens void RecipeExtrasDialog::updateDate() { if( recObs == 0 ) return; recObs->setDate( dateEdit_date->date() ); } void RecipeExtrasDialog::updateCarbonation() { if( recObs == 0 ) return; if ( lineEdit_carbVols->isModified() ) recObs->setCarbonation_vols( lineEdit_carbVols->text().toDouble() ); } void RecipeExtrasDialog::updateTasteNotes() { if( recObs == 0 ) return; if ( btTextEdit_tasteNotes->isModified() ) recObs->setTasteNotes( btTextEdit_tasteNotes->toPlainText() ); } void RecipeExtrasDialog::updateNotes() { if( recObs == 0 ) return; if ( btTextEdit_notes->isModified() ) recObs->setNotes( btTextEdit_notes->toPlainText() ); } void RecipeExtrasDialog::changed(QMetaProperty prop, QVariant /*val*/) { if( sender() != recObs ) return; showChanges(&prop); } void RecipeExtrasDialog::saveAndQuit() { //recObs->disableNotification(); updateBrewer(); updateBrewerAsst(); updateTasteRating(); updatePrimaryAge(); updatePrimaryTemp(); updateSecondaryAge(); updateSecondaryTemp(); updateTertiaryAge(); updateTertiaryTemp(); updateAge(); updateAgeTemp(); updateDate(); updateCarbonation(); updateTasteNotes(); updateNotes(); //recObs->reenableNotification(); //recObs->forceNotify(); hide(); } void RecipeExtrasDialog::showChanges(QMetaProperty* prop) { bool updateAll = (prop == 0); QString propName; QVariant val; if( prop ) { propName = prop->name(); val = prop->read(recObs); } if( propName == "age_days" || updateAll ) lineEdit_age->setText( Brewtarget::displayAmount(val.toDouble()) ); else if( propName == "ageTemp_c" || updateAll ) lineEdit_ageTemp->setText( Brewtarget::displayAmount(val.toDouble(), Units::celsius) ); else if( propName == "asstBrewer" || updateAll ) lineEdit_asstBrewer->setText( val.toString() ); else if( propName == "brewer" || updateAll ) lineEdit_brewer->setText( val.toString() ); else if( propName == "carbonation_vols" || updateAll ) lineEdit_carbVols->setText( Brewtarget::displayAmount(val.toDouble()) ); else if( propName == "primaryAge_days" || updateAll ) lineEdit_primaryAge->setText( Brewtarget::displayAmount(val.toDouble()) ); else if( propName == "primaryTemp_c" || updateAll ) lineEdit_primaryTemp->setText( Brewtarget::displayAmount(val.toDouble(), Units::celsius) ); else if( propName == "secondaryAge_days" || updateAll ) lineEdit_secAge->setText( Brewtarget::displayAmount(val.toDouble()) ); else if( propName == "secondaryTemp_c" || updateAll ) lineEdit_secTemp->setText( Brewtarget::displayAmount(val.toDouble(), Units::celsius) ); else if( propName == "tertiaryAge_days" || updateAll ) lineEdit_tertAge->setText( Brewtarget::displayAmount(val.toDouble()) ); else if( propName == "tertiaryTemp_c" || updateAll ) lineEdit_tertTemp->setText( Brewtarget::displayAmount(val.toDouble(), Units::celsius) ); else if( propName == "tasteRating" || updateAll ) spinBox_tasteRating->setValue( (int)(val.toDouble()) ); else if( propName == "date" || updateAll ) dateEdit_date->setDate( val.toDate() ); else if( propName == "notes" || updateAll ) btTextEdit_notes->setPlainText( val.toString() ); else if( propName == "tasteNotes" || updateAll ) btTextEdit_tasteNotes->setPlainText( val.toString() ); } brewtarget-2.0.2/src/SetterCommand.cpp0000644000175000017500000001666712266512167017305 0ustar philipphilip/* * SetterCommand.cpp is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include #include #include #include #include #include #include #include #include "SetterCommand.h" #include "database.h" SetterCommand::SetterCommand( Brewtarget::DBTable table, int key, const char* col_name, QVariant value, QMetaProperty prop, BeerXMLElement* object, bool notify) : QUndoCommand(QString("Change %1 to %2").arg(col_name).arg(value.toString())) { appendCommand( table, key, QString(col_name), value, prop, object, notify ); } SetterCommand::~SetterCommand() { } void SetterCommand::appendCommand( Brewtarget::DBTable table, int key, QString const& col_name, QVariant value, QMetaProperty prop, BeerXMLElement* object, bool n, QVariant oldValue) { tables.append(table); keys.append(key); col_names.append(col_name); values.append(value); props.append(prop); objects.append(object); notify.append(n); oldValues.append(oldValue); } QList SetterCommand::setterStatements() { QList ret; QString str; QList::const_iterator tableIt, tableEnd; QList::const_iterator colNameIt; QList::const_iterator keyIt; QList::const_iterator valueIt; tableIt = tables.constBegin(); colNameIt = col_names.constBegin(); keyIt = keys.constBegin(); valueIt = values.constBegin(); // Construct the statements. tableEnd = tables.constEnd(); while( tableIt != tableEnd ) { QSqlQuery q( Database::sqlDatabase() ); q.setForwardOnly(true); // Helps with speed/memory. str = QString("UPDATE `%1` SET `%2`= :value WHERE id='%3'") .arg(Database::tableNames[*tableIt]) .arg(*colNameIt) .arg(*keyIt); q.prepare(str); q.bindValue(":value",*valueIt); ret.append(q); ++tableIt; ++colNameIt; ++keyIt; ++valueIt; } return ret; } QList SetterCommand::undoStatements() { QList ret; QString str; QList::const_iterator tableIt, tableEnd; QList::const_iterator colNameIt; QList::const_iterator keyIt; QList::const_iterator oldValueIt; tableIt = tables.constBegin(); colNameIt = col_names.constBegin(); keyIt = keys.begin(); oldValueIt = oldValues.begin(); // Construct the transaction string. tableEnd = tables.constEnd(); while( tableIt != tableEnd ) { QSqlQuery q( Database::sqlDatabase() ); q.setForwardOnly(true); str = QString("UPDATE `%1` SET `%2` = :oldValue WHERE id='%3'") .arg(Database::tableNames[*tableIt]) .arg(*colNameIt) .arg(*keyIt); q.prepare(str); q.bindValue(":oldValue",*oldValueIt); ret.append(q); ++tableIt; ++colNameIt; ++keyIt; ++oldValueIt; } return ret; } void SetterCommand::oldValueTransaction() { QList queries; QList::const_iterator qIt, qEnd; QString str; QList::const_iterator tableIt, tableEnd; QList::const_iterator colNameIt; QList::const_iterator keyIt; QList::const_iterator oldValueIt; tableIt = tables.constBegin(); colNameIt = col_names.constBegin(); keyIt = keys.begin(); oldValueIt = oldValues.begin(); tableEnd = tables.constEnd(); QSqlQuery transBegin("BEGIN TRANSACTION", Database::sqlDatabase()); while( tableIt != tableEnd ) { QSqlQuery q( Database::sqlDatabase() ); q.setForwardOnly(true); str = QString("SELECT `%1` FROM `%2` WHERE id='%3'") .arg(*colNameIt) .arg(Database::tableNames[*tableIt]) .arg(*keyIt); q.prepare(str); queries.append(q); q.exec(); ++tableIt; ++colNameIt; ++keyIt; } QSqlQuery transCommit("COMMIT", Database::sqlDatabase()); qEnd = queries.constEnd(); oldValues.clear(); for( qIt = queries.constBegin(); qIt != qEnd; ++qIt ) { QSqlQuery q = *qIt; if( q.next() ) oldValues.append(q.record().value(0)); else Brewtarget::logE( QString("SetterCommand::oldValueTransaction: %1.\n \"%2\"").arg(q.lastError().text()).arg(q.lastQuery()) ); } } int SetterCommand::id() const { // NOTE: should return an id unique to this class. // If there are two commands in a stack with same id, // they they may be merged with mergeWith() by the stack. return 0; } int SetterCommand::size() const { return tables.size(); } bool SetterCommand::mergeWith( const QUndoCommand* command ) { //SetterCommand* other = qobject_cast(command); // NOTE: just gotta pray that you can do this cast? const SetterCommand* other = reinterpret_cast(command); if( other == 0 ) return false; int i, size; size = other->size(); for( i = 0; i < size; ++i ) { appendCommand( other->tables[i], other->keys[i], other->col_names[i], other->values[i], other->props[i], other->objects[i], other->notify[i], other->oldValues[i] ); } return true; } void SetterCommand::redo() { int i, size; size = tables.size(); if( size <= 0 ) return; // Get the old values. oldValueTransaction(); // Set the new values. QSqlQuery transBegin("BEGIN TRANSACTION", Database::sqlDatabase()); QList queries = setterStatements(); foreach( QSqlQuery q, queries ) { if( ! q.exec() ) Brewtarget::logE( QString("SetterCommand::redo: %1.\n \"%2\"").arg(q.lastError().text()).arg(q.lastQuery()) ); } QSqlQuery transEnd("COMMIT", Database::sqlDatabase()); // Emit signals. for( i = 0; i < size; ++i ) { queries[i].finish(); if( notify.at(i) ) emit objects[i]->changed(props[i],values[i]); } } void SetterCommand::undo() { int i, size; size = tables.size(); // Set back the old values. QSqlQuery transBegin("BEGIN TRANSACTION", Database::sqlDatabase()); QList queries = undoStatements(); foreach( QSqlQuery q, queries ) { if( ! q.exec() ) Brewtarget::logE( QString("SetterCommand::undo: %1.\n \"%2\"").arg(q.lastError().text()).arg(q.lastQuery()) ); } QSqlQuery transEnd("COMMIT", Database::sqlDatabase()); // Emit signals. for( i = 0; i < size; ++i ) { queries[i].finish(); if( notify.at(i) ) emit objects[i]->changed(props[i],oldValues[i]); } } brewtarget-2.0.2/src/instruction.h0000644000175000017500000000675112266512167016557 0ustar philipphilip/* * instruction.h is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef _INSTRUCTION_H #define _INSTRUCTION_H // This class is completely outside the BeerXML spec. class Instruction; #include #include #include #include "BeerXMLElement.h" /*! * \class Instruction * \author Philip G. Lee * * \brief Model class for an instruction record in the database. */ class Instruction : public BeerXMLElement { Q_OBJECT friend class Database; public: virtual ~Instruction() {} Q_PROPERTY( QString name READ name WRITE setName /*NOTIFY changed*/ /*changedName*/ ) Q_PROPERTY( QString directions READ directions WRITE setDirections /*NOTIFY changed*/ /*changedDirections*/ ) Q_PROPERTY( bool hasTimer READ hasTimer WRITE setHasTimer /*NOTIFY changed*/ /*changedHasTimer*/ ) Q_PROPERTY( QString timerValue READ timerValue WRITE setTimerValue /*NOTIFY changed*/ /*changedTimerValue*/ ) Q_PROPERTY( bool completed READ completed WRITE setCompleted /*NOTIFY changed*/ /*changedCompleted*/ ) Q_PROPERTY( double interval READ interval WRITE setInterval /*NOTIFY changed*/ /*changedInterval*/ ) Q_PROPERTY( QList reagents READ reagents /*WRITE*/ /*NOTIFY changed*/ /*changedReagents*/ ) Q_PROPERTY( int instructionNumber READ instructionNumber /*WRITE*/ /*NOTIFY changed*/ STORED false ) // "set" methods. void setName(const QString& n); void setDirections(const QString& dir); void setHasTimer(bool has); void setTimerValue(const QString& timerVal); void setCompleted(bool comp); void setInterval(double interval); void addReagent(const QString& reagent); // "get" methods. QString name(); QString directions(); bool hasTimer(); QString timerValue(); bool completed(); //! This is a non-stored temporary in-memory set. QList reagents(); double interval(); int instructionNumber() const; signals: /* void changedName(QString); void changedDirections(QString); void changedHasTimer(bool); void changedTimerValue(QString); void changedCompleted(bool); void changedInterval(double); void changedReagents(QVector); */ private: //! Only database gets to construct instances. Instruction(); Instruction( Instruction const& other ); /* Instruction( const QString& name, const QString& directions, bool hasTimer = false, const QString& timerVal = "0" ); */ QList _reagents; static QHash tagToProp; static QHash tagToPropHash(); }; //! \brief Compares Instruction pointers by Instruction::instructionNumber(). inline bool insPtrLtByNumber( Instruction* lhs, Instruction* rhs) { return lhs->instructionNumber() < rhs->instructionNumber(); } #endif /* _INSTRUCTION_H */ brewtarget-2.0.2/src/BtLabel.cpp0000644000175000017500000001027512266512167016032 0ustar philipphilip/* * BtLabel.cpp is part of Brewtarget and was written by Mik Firestone * (mikfire@gmail.com). Copyright is granted to Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include "BtLabel.h" #include "brewtarget.h" #include #include /*! \brief Initialize the BtLabel with the parent and do some things with the type * \param parent - QWidget* to the parent object * \param lType - the type of label: none, gravity, mass or volume * \return the initialized widget * \todo Not sure if I can get the name of the widget being created. * Not sure how to signal the parent to redisplay */ BtLabel::BtLabel(QWidget *parent, LabelType lType) { whatAmI = lType; btParent = parent; connect(this,SIGNAL(customContextMenuRequested(const QPoint&)),this,SLOT(popContextMenu(const QPoint&))); } void BtLabel::popContextMenu(const QPoint& point) { QObject* calledBy = sender(); QWidget* widgie; QAction *invoked; QMenu* menu; unitDisplay unit; unitScale scale; if ( calledBy == 0 ) return; widgie = qobject_cast(calledBy); if ( widgie == 0 ) return; propertyName = property("editField").toString(); unit = (unitDisplay)Brewtarget::option(propertyName, noUnit, btParent, Brewtarget::UNIT).toInt(); scale = (unitScale)Brewtarget::option(propertyName, noScale, btParent, Brewtarget::SCALE).toInt(); switch( whatAmI ) { case COLOR: menu = Brewtarget::setupColorMenu(btParent,unit); break; case GRAVITY: menu = Brewtarget::setupGravityMenu(btParent,unit); break; case MASS: menu = Brewtarget::setupMassMenu(btParent,unit,scale); break; case TEMPERATURE: menu = Brewtarget::setupTemperatureMenu(btParent,unit); break; case VOLUME: menu = Brewtarget::setupVolumeMenu(btParent,unit,scale); break; default: return; } invoked = menu->exec(widgie->mapToGlobal(point)); if ( invoked == 0 ) return; QWidget* pMenu = invoked->parentWidget(); if ( pMenu == menu ) { Brewtarget::setOption(propertyName, invoked->data(), btParent, Brewtarget::UNIT); if ( Brewtarget::hasOption(propertyName, btParent, Brewtarget::SCALE) ) Brewtarget::setOption(propertyName, noScale, btParent, Brewtarget::SCALE); } else Brewtarget::setOption(propertyName, invoked->data(), btParent, Brewtarget::SCALE); // To make this all work, I need to set ogMin and ogMax when og is set. if ( propertyName == "og" ) { Brewtarget::setOption("ogMin", invoked->data(),btParent, Brewtarget::UNIT); Brewtarget::setOption("ogMax", invoked->data(),btParent, Brewtarget::UNIT); } else if ( propertyName == "fg" ) { Brewtarget::setOption("fgMin", invoked->data(),btParent, Brewtarget::UNIT); Brewtarget::setOption("fgMax", invoked->data(),btParent, Brewtarget::UNIT); } else if ( propertyName == "color_srm" ) { Brewtarget::setOption("colorMin_srm", invoked->data(),btParent, Brewtarget::UNIT); Brewtarget::setOption("colorMax_srm", invoked->data(),btParent, Brewtarget::UNIT); } emit labelChanged(propertyName); } BtColorLabel::BtColorLabel(QWidget *parent) : BtLabel(parent,COLOR) { } BtVolumeLabel::BtVolumeLabel(QWidget *parent) : BtLabel(parent,VOLUME) { } BtMassLabel::BtMassLabel(QWidget *parent) : BtLabel(parent,MASS) { } BtGravityLabel::BtGravityLabel(QWidget *parent) : BtLabel(parent,GRAVITY) { } BtTemperatureLabel::BtTemperatureLabel(QWidget *parent) : BtLabel(parent,TEMPERATURE) { } brewtarget-2.0.2/src/style.h0000644000175000017500000001624512266512167015335 0ustar philipphilip/* * style.h is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef _STYLE_H #define _STYLE_H #include #include #include "BeerXMLElement.h" // Forward declarations. class Style; bool operator<(Style &s1, Style &s2); bool operator==(Style &s1, Style &s2); /*! * \class Style * \author Philip G. Lee * * \brief Model for style records in the database. */ class Style : public BeerXMLElement { Q_OBJECT friend class Database; public: virtual ~Style() {} //! \brief The type of beverage. enum Type {Lager, Ale, Mead, Wheat, Mixed, Cider}; Q_ENUMS( Type ) //! \brief The name. Q_PROPERTY( QString name READ name WRITE setName NOTIFY changedName ) //! \brief The category. Q_PROPERTY( QString category READ category WRITE setCategory /*NOTIFY changed*/ /*changedCategory*/ ) //! \brief The category number. Q_PROPERTY( QString categoryNumber READ categoryNumber WRITE setCategoryNumber /*NOTIFY changed*/ /*changedCategoryNumber*/ ) //! \brief The style letter Q_PROPERTY( QString styleLetter READ styleLetter WRITE setStyleLetter /*NOTIFY changed*/ /*changedStyleLetter*/ ) //! \brief Which style guide the description belongs to. Q_PROPERTY( QString styleGuide READ styleGuide WRITE setStyleGuide /*NOTIFY changed*/ /*changedStyleGuide*/ ) //! \brief The \c Type. Q_PROPERTY( Type type READ type WRITE setType /*NOTIFY changed*/ /*changedType*/ ) //! \brief The minimum og. Q_PROPERTY( double ogMin READ ogMin WRITE setOgMin /*NOTIFY changed*/ /*changedOgMin*/ ) //! \brief The maximum og. Q_PROPERTY( double ogMax READ ogMax WRITE setOgMax /*NOTIFY changed*/ /*changedOgMax*/ ) //! \brief The minimum fg. Q_PROPERTY( double fgMin READ fgMin WRITE setFgMin /*NOTIFY changed*/ /*changedFgMin*/ ) //! \brief The maximum fg. Q_PROPERTY( double fgMax READ fgMax WRITE setFgMax /*NOTIFY changed*/ /*changedFgMax*/ ) //! \brief The minimum ibus. Q_PROPERTY( double ibuMin READ ibuMin WRITE setIbuMin /*NOTIFY changed*/ /*changedIbuMin*/ ) //! \brief The maximum ibus. Q_PROPERTY( double ibuMax READ ibuMax WRITE setIbuMax /*NOTIFY changed*/ /*changedIbuMax*/ ) //! \brief The minimum color in SRM. Q_PROPERTY( double colorMin_srm READ colorMin_srm WRITE setColorMin_srm /*NOTIFY changed*/ /*changedColorMin_srm*/ ) //! \brief The maximum color in SRM. Q_PROPERTY( double colorMax_srm READ colorMax_srm WRITE setColorMax_srm /*NOTIFY changed*/ /*changedColorMax_srm*/ ) //! \brief The mininum carbonation in volumes at STP. Q_PROPERTY( double carbMin_vol READ carbMin_vol WRITE setCarbMin_vol /*NOTIFY changed*/ /*changedCarbMin_vol*/ ) //! \brief The maximum carbonation in volumes at STP. Q_PROPERTY( double carbMax_vol READ carbMax_vol WRITE setCarbMax_vol /*NOTIFY changed*/ /*changedCarbMax_vol*/ ) //! \brief The minimum ABV in percent. Q_PROPERTY( double abvMin_pct READ abvMin_pct WRITE setAbvMin_pct /*NOTIFY changed*/ /*changedAbvMin_pct*/ ) //! \brief The maximum ABV in percent. Q_PROPERTY( double abvMax_pct READ abvMax_pct WRITE setAbvMax_pct /*NOTIFY changed*/ /*changedAbvMax_pct*/ ) //! \brief The notes. Q_PROPERTY( QString notes READ notes WRITE setNotes /*NOTIFY changed*/ /*changedNotes*/ ) //! \brief The profile. Q_PROPERTY( QString profile READ profile WRITE setProfile /*NOTIFY changed*/ /*changedProfile*/ ) //! \brief The ingredients. Q_PROPERTY( QString ingredients READ ingredients WRITE setIngredients /*NOTIFY changed*/ /*changedIngredients*/ ) //! \brief The commercial examples. Q_PROPERTY( QString examples READ examples WRITE setExamples /*NOTIFY changed*/ /*changedExamples*/ ) void setName( const QString& var ); void setCategory( const QString& var ); void setCategoryNumber( const QString& var ); void setStyleLetter( const QString& var ); void setStyleGuide( const QString& var ); void setType( Type t ); void setOgMin( double var ); void setOgMax( double var ); void setFgMin( double var ); void setFgMax( double var ); void setIbuMin( double var ); void setIbuMax( double var ); void setColorMin_srm( double var ); void setColorMax_srm( double var ); void setCarbMin_vol( double var ); void setCarbMax_vol( double var ); void setAbvMin_pct( double var ); void setAbvMax_pct( double var ); void setNotes( const QString& var ); void setProfile( const QString& var ); void setIngredients( const QString& var ); void setExamples( const QString& var ); QString name() const; QString category() const; QString categoryNumber() const; QString styleLetter() const; QString styleGuide() const; const Type type() const; const QString typeString() const; double ogMin() const; double ogMax() const; double fgMin() const; double fgMax() const; double ibuMin() const; double ibuMax() const; double colorMin_srm() const; double colorMax_srm() const; double carbMin_vol() const; double carbMax_vol() const; double abvMin_pct() const; double abvMax_pct() const; QString notes() const; QString profile() const; QString ingredients() const; QString examples() const; signals: //! \brief Emitted when \c name() changes. void changedName(QString); /* void changedCategory(QString); void changedCategoryNumber(QString); void changedStyleLetter(QString); void changedStyleGuide(QString); void changedType(Type); void changedOgMin(double); void changedOgMax(double); void changedFgMin(double); void changedFgMax(double); void changedIbuMin(double); void changedIbuMax(double); void changedColorMin_srm(double); void changedColorMax_srm(double); void changedCarbMin_vol(double); void changedCarbMax_vol(double); void changedAbvMin_pct(double); void changedAbvMax_pct(double); void changedNotes(QString); void changedProfile(QString); void changedIngredients(QString); void changedExamples(QString); */ private: Style(); Style( Style const& other ); bool isValidType( const QString &str ); static QStringList types; static QHash tagToProp; static QHash tagToPropHash(); }; inline bool StylePtrLt( Style* lhs, Style* rhs) { return *lhs < *rhs; } inline bool StylePtrEq( Style* lhs, Style* rhs) { return *lhs == *rhs; } struct Style_ptr_cmp { bool operator()( Style* lhs, Style* rhs) { return *lhs < *rhs; } }; struct Style_ptr_equals { bool operator()( Style* lhs, Style* rhs ) { return *lhs == *rhs; } }; #endif //_STYLE_H brewtarget-2.0.2/src/HopTableModel.h0000644000175000017500000001034212266512167016644 0ustar philipphilip/* * HopTableModel.h is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef _HOPTABLEMODEL_H #define _HOPTABLEMODEL_H class HopTableModel; class HopItemDelegate; #include #include #include #include #include #include #include #include "hop.h" #include "recipe.h" enum{HOPNAMECOL, HOPALPHACOL, HOPAMOUNTCOL, HOPFORMCOL, HOPUSECOL, HOPTIMECOL, HOPNUMCOLS /*This one MUST be last*/}; /*! * \class HopTableModel * \author Philip G. Lee * * \brief Model class for a list of hops. */ class HopTableModel : public QAbstractTableModel { Q_OBJECT public: HopTableModel(QTableView* parent=0, bool editable=true); virtual ~HopTableModel(); //! \brief Observe a recipe's list of fermentables. void observeRecipe(Recipe* rec); //! \brief If true, we model the database's list of hops. void observeDatabase(bool val); //! \brief Show ibus in the vertical header. void setShowIBUs( bool var ); //! \brief Watch all the \c hops for changes. void addHops(QList hops); //! \brief Return the \c i-th hop in the model. Hop* getHop(unsigned int i); //! \brief Clear the model. void removeAll(); //! \brief Reimplemented from QAbstractTableModel. virtual int rowCount(const QModelIndex& parent = QModelIndex()) const; //! \brief Reimplemented from QAbstractTableModel. virtual int columnCount(const QModelIndex& parent = QModelIndex()) const; //! \brief Reimplemented from QAbstractTableModel. virtual QVariant data( const QModelIndex& index, int role = Qt::DisplayRole ) const; //! \brief Reimplemented from QAbstractTableModel. virtual QVariant headerData( int section, Qt::Orientation orientation, int role = Qt::DisplayRole ) const; //! \brief Reimplemented from QAbstractTableModel. virtual Qt::ItemFlags flags(const QModelIndex& index ) const; //! \brief Reimplemented from QAbstractTableModel. virtual bool setData( const QModelIndex& index, const QVariant& value, int role = Qt::EditRole ); // Stuff for setting display units and scales -- per cell first, then by // column unitDisplay displayUnit(int column) const; unitScale displayScale(int column) const; void setDisplayUnit(int column, unitDisplay displayUnit); void setDisplayScale(int column, unitScale displayScale); QString generateName(int column) const; public slots: void changed(QMetaProperty, QVariant); //! \brief Add a hop to the model. void addHop(Hop* hop); //! \returns true if "hop" is successfully found and removed. bool removeHop(Hop* hop); private: QVector colFlags; QList hopObs; Recipe* recObs; QTableView* parentTableWidget; bool showIBUs; // True if you want to show the IBU contributions in the table rows. }; /*! * \class HopItemDelegate * \author Philip G. Lee * * \brief An item delegate for hop tables. * \sa HopTableModel */ class HopItemDelegate : public QItemDelegate { Q_OBJECT public: HopItemDelegate(QObject* parent = 0); // Inherited functions. virtual QWidget *createEditor(QWidget *parent, const QStyleOptionViewItem &option, const QModelIndex &index) const; virtual void setEditorData(QWidget *editor, const QModelIndex &index) const; virtual void setModelData(QWidget *editor, QAbstractItemModel *model, const QModelIndex &index) const; virtual void updateEditorGeometry(QWidget *editor, const QStyleOptionViewItem &option, const QModelIndex &index) const; private: }; #endif /* _HOPTABLEMODEL_H */ brewtarget-2.0.2/src/StyleListModel.cpp0000644000175000017500000000755012266512167017444 0ustar philipphilip/* * StyleListModel.cpp is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include "StyleListModel.h" #include "style.h" #include "database.h" #include "recipe.h" StyleListModel::StyleListModel(QWidget* parent) : QAbstractListModel(parent), recipe(0) { connect( &(Database::instance()), SIGNAL(newStyleSignal(Style*)), this, SLOT(addStyle(Style*)) ); connect( &(Database::instance()), SIGNAL(deletedStyleSignal(Style*)), this, SLOT(removeStyle(Style*)) ); repopulateList(); } void StyleListModel::addStyle(Style* s) { if( !s || !s->display() || s->deleted() ) return; if( !styles.contains(s) ) { int size = styles.size(); beginInsertRows( QModelIndex(), size, size ); styles.append(s); connect( s, SIGNAL(changed(QMetaProperty,QVariant)), this, SLOT(styleChanged(QMetaProperty,QVariant)) ); endInsertRows(); } } void StyleListModel::addStyles(QList s) { QList::iterator i; QList tmp; for( i = s.begin(); i != s.end(); i++ ) { if( !styles.contains(*i) ) tmp.append(*i); } int size = styles.size(); if (size+tmp.size()) { beginInsertRows( QModelIndex(), size, size+tmp.size()-1 ); styles.append(tmp); for( i = tmp.begin(); i != tmp.end(); i++ ) connect( *i, SIGNAL(changed(QMetaProperty,QVariant)), this, SLOT(styleChanged(QMetaProperty,QVariant)) ); endInsertRows(); } } void StyleListModel::removeStyle(Style* style) { int ndx = styles.indexOf(style); if( ndx >= 0 ) { beginRemoveRows( QModelIndex(), ndx, ndx ); disconnect( style, 0, this, 0 ); styles.removeAt(ndx); endRemoveRows(); } } void StyleListModel::removeAll() { if (styles.size()) { beginRemoveRows( QModelIndex(), 0, styles.size()-1 ); while( !styles.isEmpty() ) disconnect( styles.takeLast(), 0, this, 0 ); endRemoveRows(); } } void StyleListModel::styleChanged(QMetaProperty prop, QVariant val) { Style* sSend = qobject_cast(sender()); // NOTE: how to get around the issue that the sender might live in // a different thread and therefore always cause sSend == 0? if( sSend == 0 ) return; QString propName(prop.name()); if( propName == "name" ) { int ndx = styles.indexOf(sSend); if( ndx >= 0 ) emit dataChanged( createIndex(ndx,0), createIndex(ndx,0) ); } } void StyleListModel::repopulateList() { removeAll(); addStyles( Database::instance().styles() ); } Style* StyleListModel::at(int ndx) { if( ndx >= 0 && ndx < styles.size() ) return styles[ndx]; else return 0; } int StyleListModel::indexOf(Style* s) { return styles.indexOf(s); } int StyleListModel::rowCount( QModelIndex const& parent ) const { return styles.size(); } QVariant StyleListModel::data( QModelIndex const& index, int role ) const { int row = index.row(); int col = index.column(); if( col == 0 && role == Qt::DisplayRole ) return QVariant(styles.at(row)->name()); else return QVariant(); } QVariant StyleListModel::headerData( int section, Qt::Orientation orientation, int role ) const { return QVariant(QString("Header Data...")); } brewtarget-2.0.2/src/MashListModel.h0000644000175000017500000000426312266512167016677 0ustar philipphilip/* * MashListModel.h is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef _MASHLISTMODEL_H #define _MASHLISTMODEL_H #include #include #include #include #include // Forward declarations. class Mash; class Recipe; /*! * \class MashListModel * \author Mik Firestone * * \brief Model for a list of named mashes */ class MashListModel : public QAbstractListModel { Q_OBJECT public: MashListModel(QWidget* parent = 0); //! Reimplemented from QAbstractListModel. virtual int rowCount( QModelIndex const& parent = QModelIndex() ) const; //! Reimplemented from QAbstractListModel. virtual QVariant data( QModelIndex const& index, int role = Qt::DisplayRole ) const; //! Reimplemented from QAbstractListModel. virtual QVariant headerData( int section, Qt::Orientation orientation, int role = Qt::DisplayRole ) const; //! \brief add the mashes named in the \c QList m void addMashes(QList m); //! \brief removes all mashses from the model void removeAll(); //! \brief \return the Mash at \c ndx Mash* at(int ndx); //! \brief \returns the index of the named \c Mash int indexOf(Mash* m); public slots: void mashChanged(QMetaProperty,QVariant); void addMash(Mash*); void removeMash(Mash*); private: QList mashes; Recipe* recipe; void repopulateList(); }; #endif /* _MASHLISTMODEL_H */ brewtarget-2.0.2/src/MashEditor.h0000644000175000017500000000321512266512167016225 0ustar philipphilip/* * MashEditor.h is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef _MASHEDITOR_H #define _MASHEDITOR_H class MashEditor; #include #include #include #include "ui_mashEditor.h" // Forward declarations. class Recipe; class Mash; class Equipment; /*! * \class MashEditor * \author Philip G. Lee * * \brief View/controller dialog for editing a mash. */ class MashEditor : public QDialog, public Ui::mashEditor { Q_OBJECT public: MashEditor( QWidget *parent = 0 ); public slots: void showEditor(); void closeEditor(); void saveAndClose(); //! Get the tun mass and sp. heat from the equipment. void fromEquipment(); //! Set the mash we wish to view/edit. void setMash(Mash* mash); void setEquipment(Equipment* e); void changed(QMetaProperty,QVariant); private: void showChanges(QMetaProperty* prop = 0); void clear(); Mash* mashObs; Equipment* equip; }; #endif /* _MASHEDITOR_H */ brewtarget-2.0.2/src/USWeightUnitSystem.h0000644000175000017500000000246212266512167017735 0ustar philipphilip/* * USWeightUnitSystem.h is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef _USWEIGHTUNITSYSTEM_H #define _USWEIGHTUNITSYSTEM_H #include #include "UnitSystem.h" class USWeightUnitSystem : public UnitSystem { public: USWeightUnitSystem(); QString displayAmount( double amount, Unit* units = 0, unitScale scale = noScale ); /* Inherited from UnitSystem */ double qstringToSI( QString qstr ); /* Inherited from UnitSystem */ Unit* thicknessUnit(); /* Inherited from UnitSystem */ QString unitType(); private: static void ensureMapIsSetup(); static bool isMapSetup; }; #endif /*_USWEIGHTUNITSYSTEM_H*/ brewtarget-2.0.2/src/HopDialog.h0000644000175000017500000000344612266512167016042 0ustar philipphilip/* * HopDialog.h is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef _HOPDIALOG_H #define _HOPDIALOG_H class HopDialog; #include #include #include #include #include "ui_hopDialog.h" #include "database.h" // Forward declarations. class MainWindow; class HopEditor; class HopTableModel; class HopSortFilterProxyModel; /*! * \class HopDialog * \author Philip G. Lee * * \brief View/controller class for showing/editing the list of hops in the database. */ class HopDialog : public QDialog, public Ui::hopDialog { Q_OBJECT public: HopDialog(MainWindow* parent); virtual ~HopDialog() {} public slots: //! Add selected hop to current recipe. void addHop(const QModelIndex& = QModelIndex()); //! Delete the selected hop from the database. void removeHop(); //! Bring up the editor for the selected hop. void editSelected(); //! Create a new hop. void newHop(); private: MainWindow* mainWindow; HopEditor* hopEditor; HopTableModel* hopTableModel; HopSortFilterProxyModel* hopTableProxy; int numHops; }; #endif /* _HOPDIALOG_H */ brewtarget-2.0.2/src/yeast.cpp0000644000175000017500000001744612266512167015661 0ustar philipphilip/* * yeast.cpp is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include #include #include #include #include "yeast.h" #include "brewtarget.h" QStringList Yeast::types = QStringList() << "Ale" << "Lager" << "Wheat" << "Wine" << "Champagne"; QStringList Yeast::forms = QStringList() << "Liquid" << "Dry" << "Slant" << "Culture"; QStringList Yeast::flocculations = QStringList() << "Low" << "Medium" << "High" << "Very High"; QHash Yeast::tagToProp = Yeast::tagToPropHash(); QHash Yeast::tagToPropHash() { QHash propHash; propHash["NAME"] = "name"; //propHash["TYPE"] = "type"; //propHash["FORM"] = "form"; propHash["AMOUNT"] = "amount"; propHash["AMOUNT_IS_WEIGHT"] = "amountIsWeight"; propHash["LABORATORY"] = "laboratory"; propHash["PRODUCT_ID"] = "productID"; propHash["MIN_TEMPERATURE"] = "minTemperature_c"; propHash["MAX_TEMPERATURE"] = "maxTemperature_c"; //propHash["FLOCCULATION"] = "flocculation"; propHash["ATTENUATION"] = "attenuation_pct"; propHash["NOTES"] = "notes"; propHash["BEST_FOR"] = "bestFor"; propHash["TIMES_CULTURED"] = "timesCultured"; propHash["MAX_REUSE"] = "maxReuse"; propHash["ADD_TO_SECONDARY"] = "addToSecondary"; return propHash; } bool operator<(Yeast &y1, Yeast &y2) { return y1.name() < y2.name(); } bool operator==(Yeast &y1, Yeast &y2) { return y1.name() == y2.name(); } //============================CONSTRUCTORS====================================== Yeast::Yeast() : BeerXMLElement() { } Yeast::Yeast(Yeast const& other) : BeerXMLElement(other) { } //============================="GET" METHODS==================================== QString Yeast::name() const { return get("name").toString(); } Yeast::Type Yeast::type() const { return static_cast( types.indexOf(get("ytype").toString())); } const QString Yeast::typeString() const { return types.at(type()); } const QString Yeast::typeStringTr() const { static QStringList typesTr = QStringList() << QObject::tr("Ale") << QObject::tr("Lager") << QObject::tr("Wheat") << QObject::tr("Wine") << QObject::tr("Champagne"); return typesTr.at(type()); } Yeast::Form Yeast::form() const { return static_cast( forms.indexOf(get("form").toString())); } const QString Yeast::formString() const { return forms.at(form()); } const QString Yeast::formStringTr() const { static QStringList formsTr = QStringList() << QObject::tr("Liquid") << QObject::tr("Dry") << QObject::tr("Slant") << QObject::tr("Culture"); return formsTr.at(form()); } double Yeast::amount() const { return get("amount").toDouble(); } bool Yeast::amountIsWeight() const { return get("amount_is_weight").toBool(); } QString Yeast::laboratory() const { return get("laboratory").toString();; } QString Yeast::productID() const { return get("product_id").toString(); } double Yeast::minTemperature_c() const { return get("min_temperature").toDouble(); } double Yeast::maxTemperature_c() const { return get("max_temperature").toDouble(); } Yeast::Flocculation Yeast::flocculation() const { return static_cast( flocculations.indexOf(get("flocculation").toString())); } const QString Yeast::flocculationString() const { return flocculations.at(flocculation()); } const QString Yeast::flocculationStringTr() const { static QStringList flocculationsTr = QStringList() << QObject::tr("Low") << QObject::tr("Medium") << QObject::tr("High") << QObject::tr("Very High"); return flocculationsTr.at(flocculation()); } double Yeast::attenuation_pct() const { return get("attenuation").toDouble(); } QString Yeast::notes() const { return get("notes").toString(); } QString Yeast::bestFor() const { return get("best_for").toString(); } int Yeast::timesCultured() const { return get("times_cultured").toInt(); } int Yeast::maxReuse() const { return get("max_reuse").toInt(); } bool Yeast::addToSecondary() const { return get("add_to_secondary").toBool(); } //============================="SET" METHODS==================================== void Yeast::setName( const QString& var ) { set("name", "name", var); emit changedName(var); } void Yeast::setType( Yeast::Type t ) { set("type", "ytype", types.at(t)); } void Yeast::setForm( Yeast::Form f ) { set("form", "form", forms.at(f)); } void Yeast::setAmount( double var ) { if( var < 0.0 ) Brewtarget::logW( QString("Yeast: amount < 0: %1").arg(var) ); else set("amount", "amount", var); } void Yeast::setAmountIsWeight( bool var ) { set("amountIsWeight", "amount_is_weight", var); } void Yeast::setLaboratory( const QString& var ) { set("laboratory", "laboratory", var); } void Yeast::setProductID( const QString& var ) { set("productID", "product_id", var); } void Yeast::setMinTemperature_c( double var ) { if( var < -273.15 ) return; else set("minTemperature_c", "min_temperature", var); } void Yeast::setMaxTemperature_c( double var ) { if( var < -273.15 ) return; else set("maxTemperature_c", "max_temperature", var); } void Yeast::setFlocculation( Yeast::Flocculation f ) { set("flocculation", "flocculation", flocculations.at(f)); } void Yeast::setAttenuation_pct( double var ) { if( var < 0.0 || var > 100.0 ) return; else set("attenuation", "attenuation", var); } void Yeast::setNotes( const QString& var ) { set("notes", "notes", var); } void Yeast::setBestFor( const QString& var ) { set("bestFor", "best_for", var); } void Yeast::setTimesCultured( int var ) { if( var < 0 ) return; else set("timesCultured", "times_cultured", var); } void Yeast::setMaxReuse( int var ) { if( var < 0 ) return; else set("maxReuse", "max_reuse", var); } void Yeast::setAddToSecondary( bool var ) { set("addToSecondary", "add_to_secondary", var); } //========================OTHER METHODS========================================= bool Yeast::isValidType(const QString& str) const { static const QString types[] = {"Ale", "Lager", "Wheat", "Wine", "Champagne"}; unsigned int i, size = 5; for( i = 0; i < size; ++i ) if( str == types[i] ) return true; return false; } bool Yeast::isValidForm(const QString& str) const { static const QString forms[] = {"Liquid", "Dry", "Slant", "Culture"}; unsigned int i, size=4; for( i = 0; i < size; ++i ) if( str == forms[i] ) return true; return false; } bool Yeast::isValidFlocculation(const QString& str) const { static const QString floc[] = {"Low", "Medium", "High", "Very High"}; unsigned int i, size=4; for( i = 0; i < size; ++i ) if( str == floc[i] ) return true; return false; } brewtarget-2.0.2/src/mash.cpp0000644000175000017500000001204512266512167015452 0ustar philipphilip/* * mash.cpp is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include #include #include #include "mash.h" #include "mashstep.h" #include "brewtarget.h" #include "database.h" #include #include #include QHash Mash::tagToProp = Mash::tagToPropHash(); QHash Mash::tagToPropHash() { QHash propHash; propHash["NAME"] = "name"; propHash["GRAIN_TEMP"] = "grainTemp_c"; propHash["NOTES"] = "notes"; propHash["TUN_TEMP"] = "tunTemp_c"; propHash["SPARGE_TEMP"] = "spargeTemp_c"; propHash["PH"] = "ph"; propHash["TUN_WEIGHT"] = "tunWeight_kg"; propHash["TUN_SPECIFIC_HEAT"] = "tunSpecificHeat_calGC"; propHash["EQUIP_ADJUST"] = "equipAdjust"; return propHash; } bool operator<(Mash &m1, Mash &m2) { return m1.name() < m2.name(); } bool operator==(Mash &m1, Mash &m2) { return m1.name() == m2.name(); } Mash::Mash() : BeerXMLElement() { } void Mash::setName( const QString& var ) { set("name", "name", var); emit changedName(var); } void Mash::setGrainTemp_c( double var ) { set("grainTemp_c", "grain_temp", var); } void Mash::setNotes( const QString& var ) { set("notes", "notes", var); } void Mash::setTunTemp_c( double var ) { set("tunTemp_c", "tun_temp", var); } void Mash::setSpargeTemp_c( double var ) { set("spargeTemp_c", "sparge_temp", var); } void Mash::setPh( double var ) { if( var < 0.0 || var > 14.0 ) { Brewtarget::logW( QString("Mash: 0 < pH < 14: %1").arg(var) ); return; } else { set("ph", "ph", var); } } void Mash::setTunWeight_kg( double var ) { if( var < 0.0 ) { Brewtarget::logW( QString("Mash: tun weight < 0: %1").arg(var) ); return; } else { set("tunWeight_kg", "tun_weight", var); } } void Mash::setTunSpecificHeat_calGC( double var ) { if( var < 0.0 ) { Brewtarget::logW( QString("Mash: sp heat < 0: %1").arg(var) ); return; } else { set("tunSpecificHeat_calGC", "tun_specific_heat", var); } } void Mash::setEquipAdjust( bool var ) { set("equipAdjust", "equip_adjust", var); } void Mash::removeAllMashSteps() { int i, size; QList tmpSteps = mashSteps(); size = tmpSteps.size(); for( i = 0; i < size; ++i ) Database::instance().removeFrom(this, tmpSteps[i]); emit mashStepsChanged(); } //============================="GET" METHODS==================================== QString Mash::name() const { return get("name").toString(); } double Mash::grainTemp_c() const { return get("grain_temp").toDouble(); } QString Mash::notes() const { return get("notes").toString(); } double Mash::tunTemp_c() const { return get("tun_temp").toDouble(); } double Mash::spargeTemp_c() const { return get("sparge_temp").toDouble(); } double Mash::ph() const { return get("ph").toDouble(); } double Mash::tunWeight_kg() const { return get("tun_weight").toDouble(); } double Mash::tunSpecificHeat_calGC() const { return get("tun_specific_heat").toDouble(); } bool Mash::equipAdjust() const { return get("equip_adjust").toBool(); } // === other methods === double Mash::totalMashWater_l() { int i, size; double waterAdded_l = 0.0; QList steps = mashSteps(); MashStep* step; size = steps.size(); for( i = 0; i < size; ++i ) { step = steps[i]; if( step->type() == MashStep::Infusion ) waterAdded_l += step->infuseAmount_l(); } return waterAdded_l; } double Mash::totalTime() { int i, size; double totalTime = 0.0; QList steps = mashSteps(); MashStep* mstep; size = steps.size(); for( i = 0; i < size; ++i ) { mstep = steps[i]; totalTime += mstep->stepTime_min(); } return totalTime; } QList Mash::mashSteps() const { return Database::instance().mashSteps(this); } void Mash::acceptMashStepChange(QMetaProperty prop, QVariant /*val*/) { int i; MashStep* stepSender = qobject_cast(sender()); if( stepSender == 0 ) return; // If one of our mash steps changed, our calculated properties // may also change, so we need to emit some signals. i = mashSteps().indexOf(stepSender); if( i >= 0 ) { emit changed(metaProperty("totalMashWater_l"), QVariant()); emit changed(metaProperty("totalTime"), QVariant()); } } brewtarget-2.0.2/src/RecipeFormatter.cpp0000644000175000017500000007562012266512167017625 0ustar philipphilip/* * RecipeFormatter.cpp is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include "RecipeFormatter.h" #include "style.h" #include "brewnote.h" #include "fermentable.h" #include "equipment.h" #include "hop.h" #include "instruction.h" #include "misc.h" #include "yeast.h" #include "mash.h" #include "mashstep.h" #include "unit.h" #include "brewtarget.h" #include "MainWindow.h" #include #include #include #include #include #include #include #include RecipeFormatter::RecipeFormatter(QObject* parent) : QObject(parent) { textSeparator = 0; rec = 0; //===Construct a print-preview dialog.=== docDialog = new QDialog(Brewtarget::mainWindow()); docDialog->setWindowTitle("Print Preview"); if( docDialog->layout() == 0 ) docDialog->setLayout(new QVBoxLayout(docDialog)); doc = new QWebView(docDialog); docDialog->layout()->addWidget(doc); /* // Add a print button at the bottom. QHBoxLayout* buttonBox = new QHBoxLayout(docDialog); QPushButton* print = new QPushButton(QObject::tr("Print"), docDialog); connect(print, SLOT(clicked()), Brewtarget::mainWindow, SLOT(printRecipe())); buttonBox->addStretch(); buttonBox->addWidget(print); docDialog->layout()->addItem(buttonBox); */ } RecipeFormatter::~RecipeFormatter() { delete textSeparator; } void RecipeFormatter::setRecipe(Recipe* recipe) { rec = recipe; } QString RecipeFormatter::getTextFormat() { QString ret = ""; QString colorString; QString bitternessString; if( rec == 0 ) return ret; int i, size; Style* style = rec->style(); Mash* mash = rec->mash(); // Vital statistics. ret += rec->name(); if( style != 0 && style->name() != "" ) ret += (" - " + style->name()); ret += "\n"; ret += getTextSeparator(); ret += QObject::tr("Batch Size: %1\n").arg(Brewtarget::displayAmount(rec->finalVolume_l(), Units::liters)); ret += QObject::tr("Boil Size: %1\n").arg(Brewtarget::displayAmount(rec->boilVolume_l(), Units::liters)); ret += QObject::tr("Boil Time: %1\n").arg( (rec->equipment() == 0)? Brewtarget::displayAmount(0, Units::minutes) : Brewtarget::displayAmount( rec->equipment()->boilTime_min(), Units::minutes)); ret += QObject::tr("Efficiency: %1%\n").arg(rec->efficiency_pct(), 0, 'f', 0); ret += QObject::tr("OG: %1\n").arg( Brewtarget::displayOG(rec->og(), noUnit, true) ); ret += QObject::tr("FG: %1\n").arg( Brewtarget::displayFG(rec->fg(), rec->og(),noUnit, true) ); ret += QObject::tr("ABV: %1%\n").arg( Brewtarget::displayAmount(rec->ABV_pct(), 0, 1) ); bitternessString = QObject::tr("Bitterness: %1 IBUs (%2)\n").arg( Brewtarget::displayAmount(rec->IBU(), 0, 1) ); switch( Brewtarget::ibuFormula ) { case Brewtarget::TINSETH: bitternessString = bitternessString.arg("Tinseth"); break; case Brewtarget::RAGER: bitternessString = bitternessString.arg("Rager"); break; } ret += bitternessString; colorString = QObject::tr("Color: %1 SRM (%2)\n").arg( Brewtarget::displayAmount(rec->color_srm(), 0, 0) ); switch( Brewtarget::colorFormula ) { case Brewtarget::MOREY: colorString = colorString.arg("Morey"); break; case Brewtarget::DANIEL: colorString = colorString.arg("Daniels"); break; case Brewtarget::MOSHER: colorString = colorString.arg("Mosher"); break; } ret += colorString; QList ferms = rec->fermentables(); size = ferms.size(); if( size > 0 ) { QStringList names, types, amounts, masheds, lates, yields, colors; ret += "\n"; ret += QObject::tr("Fermentables\n"); ret += getTextSeparator(); //ret += "Name\t\tType\t\tAmount\t\tMashed\t\tYield\t\tColor\n"; names.append(QObject::tr("Name")); types.append(QObject::tr("Type")); amounts.append(QObject::tr("Amount")); masheds.append(QObject::tr("Mashed")); lates.append(QObject::tr("Late")); yields.append(QObject::tr("Yield")); colors.append(QObject::tr("Color")); for( i = 0; i < size; ++i ) { Fermentable* ferm = ferms[i]; names.append( ferm->name() ); types.append( ferm->typeStringTr() ); amounts.append( Brewtarget::displayAmount(ferm->amount_kg(), Units::kilograms) ); masheds.append( ferm->isMashed() ? QObject::tr("Yes") : QObject::tr("No") ); lates.append( ferm->addAfterBoil() ? QObject::tr("Yes") : QObject::tr("No") ); yields.append( QString("%1%").arg( Brewtarget::displayAmount(ferm->yield_pct(), 0, 0) ) ); colors.append( QString("%1 L").arg( Brewtarget::displayAmount(ferm->color_srm(), 0, 0) ) ); } padAllToMaxLength(&names); padAllToMaxLength(&types); padAllToMaxLength(&amounts); padAllToMaxLength(&masheds); padAllToMaxLength(&lates); padAllToMaxLength(&yields); padAllToMaxLength(&colors); for( i = 0; i < size+1; ++i ) ret += names.at(i) + types.at(i) + amounts.at(i) + masheds.at(i) + lates.at(i) + yields.at(i) + colors.at(i) + "\n"; ret += QObject::tr("Total grain: %1\n").arg(Brewtarget::displayAmount(rec->grains_kg(), Units::kilograms)); } QList hops = rec->hops(); QList ibuList = rec->IBUs(); size = hops.size(); if( size > 0 ) { QStringList names, alphas, amounts, uses, times, forms, ibus; ret += "\n"; ret += QObject::tr("Hops\n"); ret += getTextSeparator(); //ret += "Name\t\tAlpha\t\tAmount\t\tUse\t\tTime\t\tIBU\n"; names.append( QObject::tr("Name") ); alphas.append( QObject::tr("Alpha") ); amounts.append( QObject::tr("Amount") ); uses.append( QObject::tr("Use") ); times.append( QObject::tr("Time") ); forms.append( QObject::tr("Form") ); ibus.append( QObject::tr("IBU") ); for( i = 0; i < size; ++i ) { Hop* hop = hops[i]; names.append( hop->name() ); alphas.append( QString("%1%").arg(Brewtarget::displayAmount(hop->alpha_pct(), 0, 1) ) ); amounts.append( Brewtarget::displayAmount(hop->amount_kg(), Units::kilograms) ); uses.append( hop->useStringTr() ); times.append( Brewtarget::displayAmount(hop->time_min(), Units::minutes) ); forms.append( hop->formStringTr() ); ibus.append( QString("%1").arg( Brewtarget::displayAmount(ibuList[i], 0, 1) ) ); } padAllToMaxLength(&names); padAllToMaxLength(&alphas); padAllToMaxLength(&amounts); padAllToMaxLength(&uses); padAllToMaxLength(×); padAllToMaxLength(&forms); padAllToMaxLength(&ibus); for( i = 0; i < size+1; ++i ) ret += names.at(i) + alphas.at(i) + amounts.at(i) + uses.at(i) + times.at(i) + forms.at(i) + ibus.at(i) + "\n"; } QList miscs = rec->miscs(); size = miscs.size(); if( size > 0 ) { QStringList names, types, uses, amounts, times; ret += "\n"; ret += QObject::tr("Misc\n"); ret += getTextSeparator(); names.append(QObject::tr("Name")); types.append(QObject::tr("Type")); uses.append(QObject::tr("Use")); amounts.append(QObject::tr("Amount")); times.append(QObject::tr("Time")); for( i = 0; i < size; ++i ) { Misc* misc = miscs[i]; names.append(misc->name()); types.append(misc->typeStringTr()); uses.append(misc->useStringTr()); amounts.append(Brewtarget::displayAmount(misc->amount(), misc->amountIsWeight() ? (Unit*)Units::kilograms : (Unit*)Units::liters)); times.append( Brewtarget::displayAmount(misc->time(), Units::minutes) ); } padAllToMaxLength(&names); padAllToMaxLength(&types); padAllToMaxLength(&uses); padAllToMaxLength(&amounts); padAllToMaxLength(×); for( i = 0; i < size+1; ++i ) ret += names.at(i) + types.at(i) + uses.at(i) + amounts.at(i) + times.at(i) + "\n"; } QList yeasts = rec->yeasts(); size = yeasts.size(); if( size > 0 ) { QStringList names, types, forms, amounts, stages; ret += "\n"; ret += QObject::tr("Yeast\n"); ret += getTextSeparator(); names.append(QObject::tr("Name")); types.append(QObject::tr("Type")); forms.append(QObject::tr("Form")); amounts.append(QObject::tr("Amount")); stages.append(QObject::tr("Stage")); for( i = 0; i < size; ++i ) { Yeast* y = yeasts[i]; names.append( y->name() ); types.append( y->typeStringTr() ); forms.append( y->formStringTr() ); amounts.append( Brewtarget::displayAmount( y->amount(), y->amountIsWeight() ? (Unit*)Units::kilograms : (Unit*)Units::liters ) ); stages.append( y->addToSecondary() ? QObject::tr("Secondary") : QObject::tr("Primary") ); } padAllToMaxLength(&names); padAllToMaxLength(&types); padAllToMaxLength(&forms); padAllToMaxLength(&amounts); padAllToMaxLength(&stages); for( i = 0; i < size+1; ++i ) ret += names.at(i) + types.at(i) + forms.at(i) + amounts.at(i) + stages.at(i) + "\n"; } QList mashSteps; if( mash ) mashSteps = mash->mashSteps(); size = mashSteps.size(); if( size > 0 ) { QStringList names, types, amounts, temps, targets, times; ret += "\n"; ret += QObject::tr("Mash\n"); ret += getTextSeparator(); names.append(QObject::tr("Name")); types.append(QObject::tr("Type")); amounts.append(QObject::tr("Amount")); temps.append(QObject::tr("Temp")); targets.append(QObject::tr("Target")); times.append(QObject::tr("Time")); for( i = 0; i < size; ++i ) { MashStep* s = mashSteps[i]; names.append(s->name()); types.append(s->typeStringTr()); if( s->type() == MashStep::Infusion ) { amounts.append( Brewtarget::displayAmount( s->infuseAmount_l(), Units::liters ) ); temps.append( Brewtarget::displayAmount( s->infuseTemp_c(), Units::celsius ) ); } else if( s->type() == MashStep::Decoction ) { amounts.append( Brewtarget::displayAmount( s->decoctionAmount_l(), Units::liters ) ); temps.append("---"); } else { amounts.append( "---" ); temps.append("---"); } targets.append( Brewtarget::displayAmount( s->stepTemp_c(), Units::celsius ) ); times.append( Brewtarget::displayAmount( s->stepTime_min(), Units::minutes ) ); } padAllToMaxLength(&names); padAllToMaxLength(&types); padAllToMaxLength(&amounts); padAllToMaxLength(&temps); padAllToMaxLength(&targets); padAllToMaxLength(×); for( i = 0; i < size+1; ++i ) ret += names.at(i) + types.at(i) + amounts.at(i) + temps.at(i) + targets.at(i) + times.at(i) + "\n"; } if( rec->notes() != "" ) { ret += "\n"; ret += QObject::tr("Notes\n") + getTextSeparator() + "\n" + rec->notes(); } QList instructions = rec->instructions(); size = instructions.size(); if( size > 0 ) { ret += "\n"; ret += QObject::tr("Instructions\n") + getTextSeparator(); Instruction* ins; for( i = 0; i < size; ++i ) { ins = instructions[i]; ret += QString("%1) %2\n\n").arg(i).arg(ins->directions()); } } return ret; } QString RecipeFormatter::getTextSeparator() { if( textSeparator != 0 ) return *textSeparator; int i; textSeparator = new QString(); for( i = 0; i < 80; ++i ) textSeparator->append('='); textSeparator->append('\n'); return *textSeparator; } QString RecipeFormatter::getHTMLFormat() { QString pDoc; pDoc = buildTitleTable(); pDoc += buildFermentableTable(); pDoc += buildHopsTable(); pDoc += buildMiscTable(); pDoc += buildYeastTable(); pDoc += buildMashTable(); pDoc += buildNotes(); pDoc += buildInstructionTable(); pDoc += buildBrewNotes(); pDoc += ""; return pDoc; } QString RecipeFormatter::getBBCodeFormat() { return ""; } void RecipeFormatter::toTextClipboard() { QApplication::clipboard()->setText(getTextFormat()); } unsigned int RecipeFormatter::getMaxLength( QStringList* list ) { int i; int maxlen = 0; for( i = 0; i < list->count(); ++i ) { if( list->at(i).size() > maxlen ) maxlen = list->at(i).size(); } return maxlen; } QString RecipeFormatter::padToLength( QString str, unsigned int length ) { return QString("%1").arg(str, length, ' '); } void RecipeFormatter::padAllToMaxLength( QStringList* list ) { unsigned int maxlen = getMaxLength( list ); unsigned int i, size; size = list->count(); for( i = 0; i < size; ++i ) list->replace( i, padToLength( list->at(i), maxlen+1 ) ); // Add one so that text doesn't run together. } QString RecipeFormatter::getCSS() { if ( cssName == NULL ) cssName = QString(":/css/recipe.css"); QFile cssInput(cssName); QString css; if (cssInput.open(QFile::ReadOnly)) { QTextStream inStream(&cssInput); while ( ! inStream.atEnd() ) { css += inStream.readLine(); } } return css; } QString RecipeFormatter::buildTitleTable() { QString header; QString body; QString color; QString bitterness; Style* style = 0; if ( rec == 0 ) return ""; style = rec->style(); // Do the style sheet first header = ""; body = ""; //body += QString("

%1

").arg(rec->getName()()); body += QString("
"); body += QString(""); body += QString("") .arg( rec->name()) .arg( style ? style->name() : tr("unknown style")) .arg( style ? style->categoryNumber() : tr("N/A") ) .arg( style ? style->styleLetter() : "" ); body += QString("") .arg(tr("Brewer")) .arg(rec->brewer()); body += QString("") .arg(tr("Date")) .arg(Brewtarget::displayDate(rec->date())); body += "
%1 - %2 (%3%4)
%1%2
%1%2
"; // Build the top table // Build the first row: Batch Size and Boil Size. // NOTE: using getBatchSize_l() and/or getBoilSize_l() only gives the // *target* batch and boil size. I think we want the actual (aka, // estimated) sizes body += ""; body += QString("") .arg(tr("Batch Size")) .arg(Brewtarget::displayAmount(rec->finalVolume_l(), Units::liters)); body += QString("") .arg(tr("Boil Size")) .arg(Brewtarget::displayAmount(rec->boilVolume_l(), Units::liters)); // Second row: Boil Time and Efficiency body += QString("") .arg(tr("Boil Time")) .arg( (rec->equipment() == 0)? Brewtarget::displayAmount(0, Units::minutes) : Brewtarget::displayAmount( (rec->equipment())->boilTime_min(), Units::minutes)); body += QString("") .arg(tr("Efficiency")) .arg(rec->efficiency_pct(), 0, 'f', 0); // Third row: OG and FG body += QString("") .arg(tr("OG")) .arg(Brewtarget::displayOG(rec->og(), noUnit, true )); body += QString("") .arg(tr("FG")) .arg(Brewtarget::displayFG(rec->fg(), rec->og(), noUnit, true)); // Fourth row: ABV and Bitterness. We need to set the bitterness string up first bitterness = QString("%1 IBU (%2)") .arg( Brewtarget::displayAmount(rec->IBU(), 0, 1) ); switch ( Brewtarget::ibuFormula ) { case Brewtarget::TINSETH: bitterness = bitterness.arg("Tinseth"); break; case Brewtarget::RAGER: bitterness = bitterness.arg("Rager"); break; default: bitterness = bitterness.arg(tr("Unknown")); } body += QString("") .arg(tr("ABV")) .arg(Brewtarget::displayAmount(rec->ABV_pct(), 0, 1)); body += QString("") .arg(tr("Bitterness")) .arg(bitterness); // Fifth row: Color and calories. Set up the color string first color = QString("%1 (%2)").arg(Brewtarget::displayColor(rec->color_srm(),noUnit,true)); switch( Brewtarget::colorFormula ) { case Brewtarget::MOREY: color = color.arg("Morey"); break; case Brewtarget::DANIEL: color = color.arg("Daniels"); break; case Brewtarget::MOSHER: color = color.arg("Mosher"); break; } body += QString("") .arg(tr("Color")) .arg(color); body += QString("") .arg(tr("Calories (per 12 oz.)")) .arg(Brewtarget::displayAmount(rec->calories(), 0, 0)); body += "
%1%2%1%2
%1%2%1%2%
%1%2%1%2
%1%2%%1%2
%1%2%1%2
"; return header + body; } QString RecipeFormatter::buildFermentableTable() { if( rec == 0 ) return ""; QString ftable; QList ferms = sortFermentablesByWeight(rec); int i, size; size = ferms.size(); if ( size < 1 ) return ""; ftable = QString("

%1

").arg(tr("Fermentables")); ftable += QString(""); ftable += QString("") .arg(tr("Total grain:")) .arg(Brewtarget::displayAmount(rec->grains_kg(), Units::kilograms)); // Set up the header row. ftable += QString("") .arg(tr("Name")) .arg(tr("Type")) .arg(tr("Amount")) .arg(tr("Mashed")) .arg(tr("Late")) .arg(tr("Yield")) .arg(tr("Color")); // Now add a row for each fermentable for(i=0; i < size; ++i) { Fermentable* ferm = ferms[i]; ftable += ""; ftable += QString("") .arg( ferm->name()) .arg( ferm->typeStringTr()) .arg( Brewtarget::displayAmount(ferm->amount_kg(), Units::kilograms)) .arg( ferm->isMashed() ? tr("Yes") : tr("No") ) .arg( ferm->addAfterBoil() ? tr("Yes") : tr("No")) .arg( Brewtarget::displayAmount(ferm->yield_pct(), 0, 0) ) .arg( Brewtarget::displayColor(ferm->color_srm(),noUnit,true)); ftable += ""; } ftable += "
%1 %2
%1%2%3%4%5%6%7
%1%2%3%4%5%6%%7
"; return ftable; } QString RecipeFormatter::buildHopsTable() { if( rec == 0 ) return ""; QString hTable; QList hops = sortHopsByTime(rec); int i, size; size = hops.size(); if ( size < 1 ) return ""; hTable = QString("

%1

").arg(tr("Hops")); hTable += QString(""); // Set up the header row. hTable += QString("") .arg(tr("Name")) .arg(tr("Alpha")) .arg(tr("Amount")) .arg(tr("Use")) .arg(tr("Time")) .arg(tr("Form")) .arg(tr("IBU")); for( i = 0; i < size; ++i) { Hop *hop = hops[i]; hTable += QString("") .arg( hop->name()) .arg( Brewtarget::displayAmount(hop->alpha_pct(),0,1) ) .arg( Brewtarget::displayAmount(hop->amount_kg(), Units::kilograms)) .arg( hop->useStringTr()) .arg( Brewtarget::displayAmount(hop->time_min(), Units::minutes) ) .arg( hop->formStringTr()) .arg( Brewtarget::displayAmount(rec->ibuFromHop(hop), 0, 1) ); hTable += ""; } hTable += "
%1%2%3%4%5%6%7
%1%2%%3%4%5%6%7
"; return hTable; } QString RecipeFormatter::buildMiscTable() { if( rec == 0 ) return ""; QString mtable; int i, size; QList miscs = rec->miscs(); size = miscs.size(); if ( size < 1 ) return ""; mtable = QString("

%1

").arg(tr("Misc")); mtable += QString(""); // Set up the header row. mtable += QString("") .arg(tr("Name")) .arg(tr("Type")) .arg(tr("Use")) .arg(tr("Amount")) .arg(tr("Time")); for( i = 0; i < size; ++i) { Misc *misc = miscs[i]; mtable += QString("") .arg( misc->name()) .arg( misc->typeStringTr()) .arg( misc->useStringTr()) .arg( Brewtarget::displayAmount(misc->amount(), misc->amountIsWeight() ? (Unit*)Units::kilograms : (Unit*)Units::liters)) .arg( Brewtarget::displayAmount(misc->time(), Units::minutes) ); mtable += ""; } mtable += "
%1%2%3%4%5
%1%2%3%4%5
"; return mtable; } QString RecipeFormatter::buildYeastTable() { if( rec == 0 ) return ""; QString ytable; int i, size; QList yeasts = rec->yeasts(); size = yeasts.size(); if( size < 1 ) return ""; ytable = QString("

%1

").arg(tr("Yeast")); ytable += QString(""); // Set up the header row. ytable += QString("") .arg(tr("Name")) .arg(tr("Type")) .arg(tr("Form")) .arg(tr("Amount")) .arg(tr("Stage")); for( i = 0; i < size; ++i) { Yeast* y = yeasts[i]; ytable += QString("") .arg( y->name()) .arg( y->typeStringTr()) .arg( y->formStringTr()) .arg( Brewtarget::displayAmount( y->amount(), y->amountIsWeight() ? (Unit*)Units::kilograms : (Unit*)Units::liters ) ) .arg( y->addToSecondary() ? tr("Secondary") : tr("Primary")); ytable += ""; } ytable += "
%1%2%3%4%5
%1%2%3%4%5
"; return ytable; } QString RecipeFormatter::buildMashTable() { if( rec == 0 || rec->mash() == 0 ) return ""; QString mtable; MashStep* ms; int i, size; Mash* m = rec->mash(); QList mashSteps = m->mashSteps(); size = mashSteps.size(); if( size <= 0 ) return ""; mtable = QString("

%1

").arg(tr("Mash")); mtable += ""; // Header row. mtable += QString("") .arg( tr("Name") ) .arg(tr("Type")) .arg(tr("Amount")) .arg(tr("Temp")) .arg(tr("Target Temp")) .arg(tr("Time")); for( i = 0; i < size; ++i ) { QString tmp = ""; ms = mashSteps[i]; tmp += QString("") .arg(ms->name()) .arg(ms->typeStringTr()); if( ms->type() == MashStep::Infusion ) { tmp = tmp.arg(Brewtarget::displayAmount(ms->infuseAmount_l(), Units::liters)) .arg(Brewtarget::displayAmount(ms->infuseTemp_c(), Units::celsius)); } else if( ms->type() == MashStep::Decoction ) { tmp = tmp.arg( Brewtarget::displayAmount( ms->decoctionAmount_l(), Units::liters ) ) .arg("---"); } else tmp = tmp.arg( "---" ).arg("---"); tmp = tmp.arg( Brewtarget::displayAmount(ms->stepTemp_c(), Units::celsius) ); tmp = tmp.arg( Brewtarget::displayAmount(ms->stepTime_min(), Units::minutes) ); mtable += tmp + ""; } mtable += "
%1%2%3%4%5%6
%1%2%3%4%5%6
"; return mtable; } QString RecipeFormatter::buildNotes() { QString notes; if ( rec == 0 || rec->notes() == "" ) return ""; notes = QString("

%1

").arg(tr("Notes")); notes += QString("%1").arg( QTextDocument(rec->notes()).toHtml()); return notes; } QString RecipeFormatter::buildInstructionTable() { if( rec == 0 ) return ""; QString itable; int i, size; QList instructions = rec->instructions(); size = instructions.size(); if ( size < 1 ) return ""; itable = QString("

%1

").arg(tr("Instructions")); itable += "
    "; for( i = 0; i < size; ++i ) { Instruction* ins = instructions[i]; itable += QString("
  1. %1
  2. ").arg( ins->directions()); } itable += "
"; return itable; } QString RecipeFormatter::buildBrewNotes() { if( rec == 0 ) return ""; QString bnTable = ""; int i, size; QList brewNotes = rec->brewNotes(); size = brewNotes.size(); if ( size < 1 ) return bnTable; for( i = 0; i < size; ++i ) { BrewNote* note = brewNotes[i]; bnTable += QString("

%1 %2

").arg(tr("Brew Date")).arg(note->brewDate_short()); // PREBOIL, done two-by-two bnTable += ""; bnTable += QString("").arg(tr("Preboil")); bnTable += QString("") .arg(tr("SG")) .arg(Brewtarget::displayOG(note->sg(),noUnit,true)) .arg(tr("Volume into BK")) .arg(Brewtarget::displayAmount(note->volumeIntoBK_l(), Units::liters)); bnTable += QString("") .arg(tr("Strike Temp")) .arg(Brewtarget::displayAmount(note->strikeTemp_c(), Units::celsius)) .arg(tr("Final Temp")) .arg(Brewtarget::displayAmount(note->mashFinTemp_c(), Units::celsius)); bnTable += QString("") .arg(tr("Eff into BK")) .arg(Brewtarget::displayAmount(note->calculateEffIntoBK_pct(), 0, 2)) .arg(tr("Projected OG")) .arg(Brewtarget::displayOG(note->calculateOg(),noUnit, true)); bnTable += "
%1
%1%2%3%4
%1%2%3%4
%1%2%%3%4
"; // POSTBOIL bnTable += ""; bnTable += QString("").arg(tr("Postboil")); bnTable += QString("") .arg(tr("OG")) .arg(Brewtarget::displayOG(note->og(),noUnit,true)) .arg(tr("Postboil Volume")) .arg(Brewtarget::displayAmount(note->postBoilVolume_l(), Units::liters)); bnTable += QString("") .arg(tr("Volume Into Fermenter")) .arg(Brewtarget::displayAmount(note->volumeIntoFerm_l(), Units::liters)) .arg(tr("Brewhouse Eff")) .arg(Brewtarget::displayAmount(note->calculateBrewHouseEff_pct(), 0, 2)); bnTable += QString("") .arg(tr("Projected ABV")) .arg(Brewtarget::displayAmount(note->calculateABV_pct(), 0, 2)); bnTable += "
%1
%1%2%3%4
%1%2%3%4
%1%2%
"; // POSTFERMENT bnTable += ""; bnTable += QString("").arg(tr("Postferment")); bnTable += QString("") .arg(tr("FG")) .arg(Brewtarget::displayOG(note->fg(),noUnit,true)) .arg(tr("Volume")) .arg(Brewtarget::displayAmount(note->finalVolume_l(), Units::liters)); bnTable += QString("") .arg(tr("Date")) .arg(note->fermentDate_short()) .arg(tr("ABV")) .arg(Brewtarget::displayAmount(note->calculateActualABV_pct(), 0, 2)); bnTable += "
%1
%1%2%3%4
%1%2%3%4
"; } return bnTable; } bool RecipeFormatter::loadComplete(bool ok) { doc->print(printer); disconnect( doc, SIGNAL(loadFinished(bool)), this, SLOT(loadComplete(bool)) ); return ok; } void RecipeFormatter::print(QPrinter* mainPrinter, QPrintDialog *dialog, int action, QFile* outFile) { if( rec == 0 ) return; // Short cut if we are saving to HTML if ( action == HTML ) { QTextStream out(outFile); out << getHTMLFormat(); outFile->close(); return; } // We are printing hard copy if ( action == PRINT ) { printer = mainPrinter; dialog->setWindowTitle(tr("Print Document")); if (dialog->exec() != QDialog::Accepted) return; connect( doc, SIGNAL(loadFinished(bool)), this, SLOT(loadComplete(bool)) ); } doc->setHtml(getHTMLFormat()); if ( action == PREVIEW ) docDialog->show(); } QList RecipeFormatter::sortHopsByTime(Recipe* rec) { QList sorted = rec->hops(); qSort(sorted.begin(), sorted.end(), hopLessThanByTime); return sorted; } QList RecipeFormatter::sortFermentablesByWeight(Recipe* rec) { QList sorted = rec->fermentables(); qSort(sorted.begin(), sorted.end(), fermentablesLessThanByWeight); return sorted; } brewtarget-2.0.2/src/MiscSortFilterProxyModel.h0000644000175000017500000000255412266512167021127 0ustar philipphilip/* * MiscSortFilterProxyModel.cpp is part of Brewtarget, and is Copyright * Philip G. Lee , 2011-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef _MISCSORTFILTERPROXYMODEL_H #define _MISCSORTFILTERPROXYMODEL_H class MiscSortFilterProxyModel; #include /*! * \class MiscSortFilterProxyModel * \author Philip G. Lee * * \brief Proxy model for sorting miscs. */ class MiscSortFilterProxyModel : public QSortFilterProxyModel { Q_OBJECT public: MiscSortFilterProxyModel(QObject *parent = 0, bool filt = true); protected: bool lessThan(const QModelIndex &left, const QModelIndex &right) const; bool filterAcceptsRow( int source_row, const QModelIndex &source_parent) const; private: bool filter; }; #endif brewtarget-2.0.2/src/StyleEditor.cpp0000644000175000017500000002355512266512167017001 0ustar philipphilip/* * StyleEditor.cpp is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include "database.h" #include "StyleEditor.h" #include #include "style.h" #include "StyleListModel.h" #include "StyleSortFilterProxyModel.h" #include "unit.h" #include "brewtarget.h" StyleEditor::StyleEditor(QWidget* parent, bool singleStyleEditor) : QDialog(parent), obsStyle(0) { setupUi(this); if ( singleStyleEditor ) { for(int i = 0; i < horizontalLayout_styles->count(); ++i) { QWidget* w = horizontalLayout_styles->itemAt(i)->widget(); if(w) w->setVisible(false); } pushButton_new->setVisible(false); } styleListModel = new StyleListModel(styleComboBox); styleProxyModel = new StyleSortFilterProxyModel(styleComboBox); styleProxyModel->setDynamicSortFilter(true); styleProxyModel->setSourceModel(styleListModel); styleComboBox->setModel(styleProxyModel); connect( pushButton_save, SIGNAL( clicked() ), this, SLOT( save() ) ); connect( pushButton_new, SIGNAL( clicked() ), this, SLOT( newStyle() ) ); connect( pushButton_cancel, SIGNAL( clicked() ), this, SLOT( clearAndClose() ) ); connect( pushButton_remove, SIGNAL( clicked() ), this, SLOT(removeStyle()) ); connect( styleComboBox, SIGNAL(activated( const QString& )), this, SLOT( styleSelected(const QString&) ) ); setStyle( styleListModel->at(styleComboBox->currentIndex())); } void StyleEditor::setStyle( Style* s ) { if( obsStyle ) disconnect( obsStyle, 0, this, 0 ); obsStyle = s; if( obsStyle ) { connect( obsStyle, SIGNAL(changed(QMetaProperty,QVariant)), this, SLOT(changed(QMetaProperty,QVariant)) ); showChanges(); } styleComboBox->setCurrentIndex(styleListModel->indexOf(obsStyle)); } void StyleEditor::removeStyle() { if( obsStyle ) Database::instance().removeStyle(obsStyle); setStyle(0); } void StyleEditor::styleSelected( const QString& /*text*/ ) { QModelIndex proxyIndex( styleProxyModel->index(styleComboBox->currentIndex(),0) ); QModelIndex sourceIndex( styleProxyModel->mapToSource(proxyIndex) ); setStyle( styleListModel->at(sourceIndex.row()) ); } void StyleEditor::save() { Style* s = obsStyle; if( s == 0 ) { setVisible(false); return; } s->setName( lineEdit_name->text() ); s->setCategory( lineEdit_category->text() ); s->setCategoryNumber( lineEdit_categoryNumber->text() ); s->setStyleLetter( lineEdit_styleLetter->text() ); s->setStyleGuide( lineEdit_styleGuide->text() ); s->setType( static_cast(comboBox_type->currentIndex()) ); s->setOgMin( lineEdit_ogMin->text().toDouble() ); s->setOgMax( lineEdit_ogMax->text().toDouble() ); s->setFgMin( lineEdit_fgMin->text().toDouble() ); s->setFgMax( lineEdit_fgMax->text().toDouble() ); s->setIbuMin( lineEdit_ibuMin->text().toDouble() ); s->setIbuMax( lineEdit_ibuMax->text().toDouble() ); s->setColorMin_srm( lineEdit_colorMin->text().toDouble() ); s->setColorMax_srm( lineEdit_colorMax->text().toDouble() ); s->setCarbMin_vol( lineEdit_carbMin->text().toDouble() ); s->setCarbMax_vol( lineEdit_carbMax->text().toDouble() ); s->setAbvMin_pct( lineEdit_abvMin->text().toDouble() ); s->setAbvMax_pct( lineEdit_abvMax->text().toDouble() ); s->setProfile( textEdit_profile->toPlainText() ); s->setIngredients( textEdit_ingredients->toPlainText() ); s->setExamples( textEdit_examples->toPlainText() ); s->setNotes( textEdit_notes->toPlainText() ); setVisible(false); } void StyleEditor::newStyle() { QString name = QInputDialog::getText(this, tr("Style name"), tr("Style name:")); if( name.isEmpty() ) return; Style *s = Database::instance().newStyle(); s->setName( name ); setStyle(s); show(); } void StyleEditor::clearAndClose() { setVisible(false); } void StyleEditor::changed(QMetaProperty prop, QVariant /*val*/) { showChanges(&prop); } void StyleEditor::clear() { lineEdit_name->setText(QString("")); lineEdit_category->setText(QString("")); lineEdit_categoryNumber->setText(QString("")); lineEdit_styleLetter->setText(QString("")); lineEdit_styleGuide->setText(QString("")); lineEdit_ogMin->setText(QString("")); lineEdit_ogMax->setText(QString("")); lineEdit_fgMin->setText(QString("")); lineEdit_fgMax->setText(QString("")); lineEdit_ibuMin->setText(QString("")); lineEdit_ibuMax->setText(QString("")); lineEdit_colorMin->setText(QString("")); lineEdit_colorMax->setText(QString("")); lineEdit_carbMin->setText(QString("")); lineEdit_carbMax->setText(QString("")); lineEdit_abvMin->setText(QString("")); lineEdit_abvMax->setText(QString("")); textEdit_profile->setText(QString("")); textEdit_ingredients->setText(QString("")); textEdit_examples->setText(QString("")); textEdit_notes->setText(QString("")); } void StyleEditor::showChanges(QMetaProperty* metaProp) { bool updateAll = false; QString propName; QVariant val; Style *s = obsStyle; if( s == 0 ) { clear(); return; } if( metaProp == 0 ) updateAll = true; else { propName = metaProp->name(); val = metaProp->read(s); } //styleComboBox->setIndexByStyle(s); // Update the color label text. if (Brewtarget::getColorUnit() == displaySrm) label_10->setText(QString("Color (Lovibond)")); else label_10->setText(QString("Color (EBC)")); if( updateAll ) { lineEdit_name->setText(s->name()); lineEdit_category->setText(s->category()); lineEdit_categoryNumber->setText(s->categoryNumber()); lineEdit_styleLetter->setText(s->styleLetter()); lineEdit_styleGuide->setText(s->styleGuide()); comboBox_type->setCurrentIndex(s->type()); lineEdit_ogMin->setText(Brewtarget::displayOG(s->ogMin(),noUnit,true)); lineEdit_ogMax->setText(Brewtarget::displayOG(s->ogMax(),noUnit,true)); lineEdit_fgMin->setText(Brewtarget::displayFG(s->fgMin(),s->ogMin(),noUnit,true)); lineEdit_fgMax->setText(Brewtarget::displayFG(s->fgMax(),s->ogMax(),noUnit,true)); lineEdit_ibuMin->setText(Brewtarget::displayAmount(s->ibuMin(), 0)); lineEdit_ibuMax->setText(Brewtarget::displayAmount(s->ibuMax(), 0)); lineEdit_colorMin->setText(Brewtarget::displayColor(s->colorMin_srm(),noUnit,false)); lineEdit_colorMax->setText(Brewtarget::displayColor(s->colorMax_srm(),noUnit,false)); lineEdit_carbMin->setText(Brewtarget::displayAmount(s->carbMin_vol(), 0)); lineEdit_carbMax->setText(Brewtarget::displayAmount(s->carbMax_vol(), 0)); lineEdit_abvMin->setText(Brewtarget::displayAmount(s->abvMin_pct(), 0)); lineEdit_abvMax->setText(Brewtarget::displayAmount(s->abvMax_pct(), 0)); textEdit_profile->setText(s->profile()); textEdit_ingredients->setText(s->ingredients()); textEdit_examples->setText(s->examples()); textEdit_notes->setText(s->notes()); return; } if( propName == "name" ) lineEdit_name->setText(val.toString()); else if( propName == "category" ) lineEdit_category->setText(val.toString()); else if( propName == "categoryNumber" ) lineEdit_categoryNumber->setText(val.toString()); else if( propName == "styleLetter" ) lineEdit_styleLetter->setText(val.toString()); else if( propName == "styleGuide" ) lineEdit_styleGuide->setText(val.toString()); else if( propName == "type" ) comboBox_type->setCurrentIndex(val.toInt()); else if( propName == "ogMin" ) lineEdit_ogMin->setText(Brewtarget::displayOG(val.toDouble(),noUnit,true)); else if( propName == "ogMax" ) lineEdit_ogMax->setText(Brewtarget::displayOG(val.toDouble(),noUnit,true)); else if( propName == "fgMin" ) lineEdit_fgMin->setText(Brewtarget::displayFG(val.toDouble(),s->ogMin(), noUnit,true)); else if( propName == "fgMax" ) lineEdit_fgMax->setText(Brewtarget::displayFG(val.toDouble(),s->ogMax(), noUnit,true)); else if( propName == "ibuMin" ) lineEdit_ibuMin->setText(Brewtarget::displayAmount(val.toDouble(), 0)); else if( propName == "ibuMax" ) lineEdit_ibuMax->setText(Brewtarget::displayAmount(val.toDouble(), 0)); else if( propName == "colorMin_srm" ) lineEdit_colorMin->setText(Brewtarget::displayColor(val.toDouble(),noUnit,false)); else if( propName == "colorMax_srm" ) lineEdit_colorMax->setText(Brewtarget::displayColor(val.toDouble(),noUnit,false)); else if( propName == "carbMin_vol" ) lineEdit_carbMin->setText(Brewtarget::displayAmount(val.toDouble(), 0)); else if( propName == "carbMax_vol" ) lineEdit_carbMax->setText(Brewtarget::displayAmount(val.toDouble(), 0)); else if( propName == "abvMin_pct" ) lineEdit_abvMin->setText(Brewtarget::displayAmount(val.toDouble(), 0)); else if( propName == "abvMax_pct" ) lineEdit_abvMax->setText(Brewtarget::displayAmount(val.toDouble(), 0)); else if( propName == "profile" ) textEdit_profile->setText(val.toString()); else if( propName == "ingredients" ) textEdit_ingredients->setText(val.toString()); else if( propName == "examples" ) textEdit_examples->setText(val.toString()); else if( propName == "notes" ) textEdit_notes->setText(val.toString()); } brewtarget-2.0.2/src/CustomComboBox.cpp0000644000175000017500000000271312266512167017426 0ustar philipphilip/* * CustomComboBox.cpp is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include "CustomComboBox.h" #include #include #include #include #include CustomComboBox::CustomComboBox(QWidget* parent) : QComboBox(parent) { } void CustomComboBox::showPopup() { view()->setFixedWidth(300); QComboBox::showPopup(); } void CustomComboBox::paintEvent(QPaintEvent*) { QStylePainter painter(this); QStyleOptionComboBox opts; initStyleOption(&opts); //opts.currentText = "Wasup"; opts.currentText = ""; // Draw combo box frame and shit. painter.drawComplexControl(QStyle::CC_ComboBox, opts); // Have to draw label separately? Stupid. //painter.drawControl(QStyle::CE_ComboBoxLabel, opts); } brewtarget-2.0.2/src/SIVolumeUnitSystem.cpp0000644000175000017500000000625412266512167020277 0ustar philipphilip/* * SIVolumeUnitSystem.cpp is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include "SIVolumeUnitSystem.h" #include #include bool SIVolumeUnitSystem::isMapSetup = false; SIVolumeUnitSystem::SIVolumeUnitSystem() : UnitSystem() { } QString SIVolumeUnitSystem::displayAmount( double amount, Unit* units, unitScale scale ) { QString SIUnitName = units->getSIUnitName(); double SIAmount = units->toSI( amount ); QString ret; // Special cases. Make sure the unit isn't null and that we're // dealing with volume. if( units == 0 || SIUnitName.compare("L") != 0 ) return QString("%L1").arg(amount, fieldWidth, format, precision); switch(scale) { case extrasmall: ret = QString("%L1 %2").arg(Units::milliliters->fromSI(SIAmount), fieldWidth, format, precision).arg(Units::milliliters->getUnitName()); break; case small: ret = QString("%L1 %2").arg(Units::liters->fromSI(SIAmount), fieldWidth, format, precision).arg(Units::liters->getUnitName()); break; default: if( qAbs(SIAmount) < Units::liters->toSI(1.0) ) // If less than 1 L, display mL. ret = QString("%L1 %2").arg(Units::milliliters->fromSI(SIAmount), fieldWidth, format, precision).arg(Units::milliliters->getUnitName()); else // Otherwise, display liters. ret = QString("%L1 %2").arg(Units::liters->fromSI(SIAmount), fieldWidth, format, precision).arg(Units::liters->getUnitName()); } return ret; } double SIVolumeUnitSystem::qstringToSI( QString qstr ) { ensureMapIsSetup(); return UnitSystem::qstringToSI(qstr, Units::liters); } void SIVolumeUnitSystem::ensureMapIsSetup() { // If it is setup, return now. if( isMapSetup ) return; // Ok, map was not setup, so set it up. nameToUnit.insert(Units::liters->getUnitName(), Units::liters); nameToUnit.insert(Units::milliliters->getUnitName(), Units::milliliters); // Assume that "gal" "qt" etc. refer to the US versions. nameToUnit.insert(Units::us_gallons->getUnitName(), Units::us_gallons); nameToUnit.insert(Units::us_quarts->getUnitName(), Units::us_quarts); nameToUnit.insert(Units::us_cups->getUnitName(), Units::us_cups); nameToUnit.insert(Units::us_tablespoons->getUnitName(), Units::us_tablespoons); nameToUnit.insert(Units::us_teaspoons->getUnitName(), Units::us_teaspoons); isMapSetup = true; } Unit* SIVolumeUnitSystem::thicknessUnit() { return Units::liters; } QString SIVolumeUnitSystem::unitType() { return "SI"; } brewtarget-2.0.2/src/misc.cpp0000644000175000017500000001125512266512167015457 0ustar philipphilip/* * misc.cpp is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include "brewtarget.h" #include #include #include #include "misc.h" #include "brewtarget.h" #include #include #include #include QStringList Misc::uses = QStringList() << "Boil" << "Mash" << "Primary" << "Secondary" << "Bottling"; QStringList Misc::types = QStringList() << "Spice" << "Fining" << "Water Agent" << "Herb" << "Flavor" << "Other"; QHash Misc::tagToProp = Misc::tagToPropHash(); QHash Misc::tagToPropHash() { QHash propHash; propHash["NAME"] = "name"; //propHash["TYPE"] = "type"; //propHash["USE"] = "use"; propHash["TIME"] = "time"; propHash["AMOUNT"] = "amount"; propHash["AMOUNT_IS_WEIGHT"] = "amountIsWeight"; propHash["USE_FOR"] = "useFor"; propHash["NOTES"] = "notes"; return propHash; } //============================CONSTRUCTORS====================================== Misc::Misc() : BeerXMLElement() { } Misc::Misc(Misc const& other) : BeerXMLElement(other) { } //============================"GET" METHODS===================================== QString Misc::name() const { return get( "name" ).toString(); } Misc::Type Misc::type() const { return static_cast(types.indexOf(get("mtype").toString())); } const QString Misc::typeString() const { return types.at(type()); } const QString Misc::typeStringTr() const { QStringList typesTr = QStringList() << QObject::tr("Spice") << QObject::tr("Fining") << QObject::tr("Water Agent") << QObject::tr("Herb") << QObject::tr("Flavor") << QObject::tr("Other"); return typesTr.at(type()); } Misc::Use Misc::use() const { return static_cast(uses.indexOf(get("use").toString())); } const QString Misc::useString() const { return uses.at(use()); } const QString Misc::useStringTr() const { QStringList usesTr = QStringList() << QObject::tr("Boil") << QObject::tr("Mash") << QObject::tr("Primary") << QObject::tr("Secondary") << QObject::tr("Bottling"); return usesTr.at(use()); } double Misc::amount() const { return get("amount").toDouble(); } double Misc::time() const { return get("time").toDouble(); } bool Misc::amountIsWeight() const { return get("amount_is_weight").toBool(); } QString Misc::useFor() const { return get("use_for").toString(); } QString Misc::notes() const { return get("notes").toString(); } //============================"SET" METHODS===================================== void Misc::setName( const QString& var ) { set( "name", "name", var ); emit changedName(var); } void Misc::setType( Type t ) { set( "type", "mtype", types.at(t) ); } void Misc::setUse( Use u ) { set( "use", "use", uses.at(u) ); } void Misc::setAmount( double var ) { if( var < 0.0 ) Brewtarget::logW( QString("Misc: amount < 0: %1").arg(var) ); else set( "amount", "amount", var ); } void Misc::setTime( double var ) { if( var < 0.0 ) Brewtarget::logW( QString("Misc: time < 0: %1").arg(var) ); else set( "time", "time", var ); } void Misc::setAmountIsWeight( bool var ) { set( "amountIsWeight", "amount_is_weight", var ); } void Misc::setUseFor( const QString& var ) { set( "useFor", "use_for", var ); } void Misc::setNotes( const QString& var ) { set( "notes", "notes", var ); } //========================OTHER METHODS========================================= bool Misc::isValidUse( const QString& var ) { static const QString uses[] = {"Boil", "Mash", "Primary", "Secondary", "Bottling"}; static const unsigned int size = 5; unsigned int i; for( i = 0; i < size; ++i ) if( var == uses[i] ) return true; return false; } bool Misc::isValidType( const QString& var ) { static const QString types[] = {"Spice", "Fining", "Water Agent", "Herb", "Flavor", "Other"}; static const unsigned int size = 6; unsigned int i; for( i = 0; i < size; ++i ) if( var == types[i] ) return true; return false; } brewtarget-2.0.2/src/MashDesigner.cpp0000644000175000017500000004207112266512167017075 0ustar philipphilip/* * MashDesigner.cpp is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2010-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include "database.h" #include "MashDesigner.h" #include "equipment.h" #include "mash.h" #include "mashstep.h" #include "brewtarget.h" #include "HeatCalculations.h" #include "PhysicalConstants.h" #include "unit.h" #include #include MashDesigner::MashDesigner(QWidget* parent) : QDialog(parent) { setupUi(this); recObs = 0; mash = 0; equip = 0; addedWater_l = 0; mashStep = 0; prevStep = 0; label_zeroVol->setText(Brewtarget::displayAmount(0, Units::liters)); label_zeroWort->setText(Brewtarget::displayAmount(0, Units::liters)); // Update temp slider when we move amount slider. connect( horizontalSlider_amount, SIGNAL(sliderMoved(int)), this, SLOT(updateTempSlider()) ); // Update amount slider when we move temp slider. connect( horizontalSlider_temp, SIGNAL(sliderMoved(int)), this, SLOT(updateAmtSlider()) ); // Update tun fullness bar when the amount slider moves. connect( horizontalSlider_amount, SIGNAL(valueChanged(int)), this, SLOT(updateFullness()) ); connect( horizontalSlider_amount, SIGNAL(valueChanged(int)), this, SLOT(updateCollectedWort()) ); // Update amount/temp text when sliders move. connect( horizontalSlider_amount, SIGNAL(valueChanged(int)), this, SLOT(updateAmt()) ); connect( horizontalSlider_temp, SIGNAL(valueChanged(int)), this, SLOT(updateTemp()) ); // Save the target temp whenever it's changed. connect( lineEdit_temp, SIGNAL(editingFinished()), this, SLOT(saveTargetTemp()) ); // Move to next step. connect( pushButton_next, SIGNAL(clicked()), this, SLOT(proceed()) ); // Do correct calcs when the mash step type is selected. connect( comboBox_type, SIGNAL(activated(int)), this, SLOT(typeChanged(int)) ); connect( checkBox_batchSparge, SIGNAL(clicked()), this, SLOT(updateMaxAmt()) ); connect( pushButton_finish, SIGNAL(clicked()), this, SLOT(saveAndClose()) ); } void MashDesigner::proceed() { nextStep(++curStep); } void MashDesigner::setRecipe(Recipe* rec) { recObs = rec; if( isVisible() ) setVisible(false); } void MashDesigner::show() { // No point to run unless we have fermentables. if( recObs && recObs->fermentables().size() == 0 ) { QMessageBox::information( this, tr("No Fermentables"), tr("Your recipe must have fermentables to design a mash.") ); return; } setVisible(nextStep(0)); } void MashDesigner::saveAndClose() { saveStep(); setVisible(false); } bool MashDesigner::nextStep(int step) { bool success = true; if( step == 0 ) { success = initializeMash(); if( ! success ) return false; } else if( step > 0 ) saveStep(); if( mashStep != 0 ) { // NOTE: This needs to be changed. Assumes 1L of water is 1 kg. MC += mashStep->infuseAmount_l() * HeatCalculations::Cw_calGC; addedWater_l += mashStep->infuseAmount_l(); if( prevStep == 0 ) // If the last step is null, we need to add the influence of the tun. MC += mash->tunSpecificHeat_calGC() * mash->tunWeight_kg(); } prevStep = mashStep; mashStep = (step>=0 && stepmashSteps().size())? mash->mashSteps()[step] : 0; if( mashStep == 0 ) { mashStep = Database::instance().newMashStep( mash ); // TODO: Come back to check on this later. Really need this new step to be inserted in right place. } // Clear out some of the fields. lineEdit_name->clear(); lineEdit_temp->clear(); lineEdit_time->clear(); horizontalSlider_amount->setValue(0); // Least amount of water. return true; } void MashDesigner::saveStep() { MashStep::Type type = static_cast(comboBox_type->currentIndex()); //mashStep->disableNotification(); mashStep->setName( lineEdit_name->text() ); mashStep->setType( type ); mashStep->setStepTemp_c( Brewtarget::tempQStringToSI(lineEdit_temp->text()) ); mashStep->setStepTime_min( Brewtarget::timeQStringToSI(lineEdit_time->text()) ); if( type == MashStep::Infusion) { mashStep->setInfuseAmount_l( getSelectedAmount_l() ); mashStep->setInfuseTemp_c( getSelectedTemp_c() ); } //mashStep->reenableNotification(); //mashStep->forceNotify(); } double MashDesigner::maxTemp_c() { if ( recObs && recObs->equipment()) { return recObs->equipment()->boilingPoint_c(); } else return 100; } double MashDesigner::minTemp_c() { // The minimum temp depends on how much more water we can fit in the tun. return tempFromVolume_c( maxAmt_l() ); } // The mash volume up to and not including the step currently being edited. double MashDesigner::mashVolume_l() { return grain_kg/PhysicalConstants::grainDensity_kgL + addedWater_l; } double MashDesigner::minAmt_l() { // Minimum amount occurs with maximum temperature. return volFromTemp_l( maxTemp_c() ); } // However much more we can add at this step. double MashDesigner::maxAmt_l() { // However much more we can fit in the tun. if( ! isBatchSparge() ) return (equip==0)? 0 : equip->tunVolume_l() - mashVolume_l(); else return (equip == 0)? 0 : equip->tunVolume_l() - grainVolume_l(); } // Returns the required volume of water to infuse if the strike water is // at temp_c degrees Celsius. double MashDesigner::volFromTemp_l( double temp_c ) { if( mashStep == 0 || mash == 0 ) return 0.0; double tw = temp_c; // Final temp is target temp. double tf = mashStep->stepTemp_c(); // Initial temp is the last step's temp if the last step exists, otherwise the grain temp. double t1 = (prevStep==0)? mash->grainTemp_c() : prevStep->stepTemp_c(); double mt = mash->tunSpecificHeat_calGC(); double ct = mash->tunWeight_kg(); double mw = 1/(HeatCalculations::Cw_calGC * (tw-tf)) * (MC*(tf-t1) + ((prevStep==0)? mt*ct*(tf-mash->tunTemp_c()) : 0) ); // NOTE: This needs to be changed. Assumes 1L of water is 1 kg. return mw; } // Returns the required temp of strike water required if // the volume of strike water is vol_l liters. double MashDesigner::tempFromVolume_c( double vol_l ) { if( mashStep == 0 || mash == 0 ) return 0.0; double absorption_LKg; if( equip != 0 ) absorption_LKg = equip->grainAbsorption_LKg(); else absorption_LKg = PhysicalConstants::grainAbsorption_Lkg; double tf = mashStep->stepTemp_c(); // NOTE: This needs to be changed. Assumes 1L = 1 kg. double mw = vol_l; if( mw <= 0 ) return 0.0; double cw = HeatCalculations::Cw_calGC; // Initial temp is the last step's temp if the last step exists, otherwise the grain temp. double t1 = (prevStep==0)? mash->grainTemp_c() : prevStep->stepTemp_c(); // When batch sparging, you lose about 10C from previous step. if( isBatchSparge() ) t1 = (prevStep==0)? mash->grainTemp_c() : prevStep->stepTemp_c() - 10; double mt = mash->tunSpecificHeat_calGC(); double ct = mash->tunWeight_kg(); double batchMC = grain_kg * HeatCalculations::Cgrain_calGC + absorption_LKg * grain_kg * HeatCalculations::Cw_calGC + mash->tunWeight_kg() * mash->tunSpecificHeat_calGC(); double tw = 1/(mw*cw) * ( (isBatchSparge()? batchMC : MC) * (tf-t1) + ((prevStep==0)? mt*ct*(tf-mash->tunTemp_c()) : 0) ) + tf; return tw; } // How many liters of grain are in the tun. double MashDesigner::grainVolume_l() { return grain_kg / PhysicalConstants::grainDensity_kgL; } // After this, mash and equip are non-null iff we return true. bool MashDesigner::initializeMash() { if(recObs == 0) return false; mash = recObs->mash(); if( mash == 0 ) mash = Database::instance().newMash( recObs ); equip = recObs->equipment(); if( equip == 0 ) { QMessageBox::warning(this, tr("No Equipment"), tr("You have not set an equipment for this recipe. We really cannot continue without one.")); return false; } mash->setTunSpecificHeat_calGC( equip->tunSpecificHeat_calGC() ); mash->setTunWeight_kg( equip->tunWeight_kg() ); bool ok; QString dialogText = QInputDialog::getText( this, tr("Tun Temp"), tr("Enter the temperature of the tun before your first infusion."), QLineEdit::Normal, //default, QString::null, &ok //don't need the widget pointer - default is parent ); //if user hits cancel, cancel out of the dialog and quit the mashDesigner //edited jazzbeerman (dcavanagh) 8/20/10 if(!ok) return false; //otherwise continue - get the text and keep going mash->setTunTemp_c( Brewtarget::tempQStringToSI( dialogText ) ); mash->removeAllMashSteps(); curStep = 0; MC = recObs->grainsInMash_kg() * HeatCalculations::Cgrain_calGC; addedWater_l = 0; mashStep = 0; prevStep = 0; grain_kg = recObs->grainsInMash_kg(); label_tunVol->setText(Brewtarget::displayAmount(equip->tunVolume_l(), Units::liters)); label_wortMax->setText(Brewtarget::displayAmount(recObs->boilSize_l(), Units::liters)); updateMinAmt(); updateMaxAmt(); updateMinTemp(); updateMaxTemp(); updateFullness(); horizontalSlider_amount->setValue(0); // As thick as possible initially. return true; } void MashDesigner::updateFullness() { if( mashStep == 0 ) return; MashStep::Type type = mashStep->type(); if( equip == 0 ) { progressBar_fullness->setValue(0); return; } double vol_l; if( ! isBatchSparge() ) vol_l = mashVolume_l() + ( (type==MashStep::Infusion) ? getSelectedAmount_l() : 0); else vol_l = grainVolume_l() + getSelectedAmount_l(); double ratio = vol_l / equip->tunVolume_l(); if( ratio < 0 ) ratio = 0; if( ratio > 1 ) ratio = 1; progressBar_fullness->setValue(ratio*progressBar_fullness->maximum()); label_mashVol->setText(Brewtarget::displayAmount(vol_l, Units::liters)); label_thickness->setText(Brewtarget::displayThickness( (addedWater_l + ((type==MashStep::Infusion) ? getSelectedAmount_l() : 0) )/grain_kg )); } void MashDesigner::updateCollectedWort() { if( recObs == 0 ) return; double wort_l = recObs->wortFromMash_l(); double ratio = wort_l / recObs->boilSize_l(); if( ratio < 0 ) ratio = 0; if( ratio > 1 ) ratio = 1; label_wort->setText(Brewtarget::displayAmount(wort_l, Units::liters)); progressBar_wort->setValue( ratio * progressBar_wort->maximum() ); } void MashDesigner::updateMinAmt() { label_amtMin->setText(Brewtarget::displayAmount(minAmt_l(), Units::liters)); } void MashDesigner::updateMaxAmt() { label_amtMax->setText(Brewtarget::displayAmount(maxAmt_l(), Units::liters)); } void MashDesigner::updateMinTemp() { label_tempMin->setText(Brewtarget::displayAmount(minTemp_c(), Units::celsius)); } void MashDesigner::updateMaxTemp() { label_tempMax->setText(Brewtarget::displayAmount(maxTemp_c(), Units::celsius)); } double MashDesigner::getSelectedAmount_l() { double ratio = horizontalSlider_amount->value() / (double)(horizontalSlider_amount->maximum()); double minAmt = minAmt_l(); double maxAmt = maxAmt_l(); double amt = minAmt + (maxAmt - minAmt)*ratio; return amt; } double MashDesigner::getSelectedTemp_c() { double ratio = horizontalSlider_temp->value() / (double)(horizontalSlider_temp->maximum()); double minT = minTemp_c(); double maxT = maxTemp_c(); double T = minT + (maxT - minT)*ratio; return T; } void MashDesigner::updateTempSlider() { if( mashStep == 0 ) return; if( mashStep->type() == MashStep::Infusion ) { double temp = tempFromVolume_c( getSelectedAmount_l() ); double ratio = (temp-minTemp_c()) / (maxTemp_c() - minTemp_c()); horizontalSlider_temp->setValue(ratio*horizontalSlider_temp->maximum()); if( mashStep != 0 ) mashStep->setInfuseTemp_c( temp ); } else if( mashStep->type() == MashStep::Decoction ) { horizontalSlider_temp->setValue(horizontalSlider_temp->maximum()); } else horizontalSlider_temp->setValue(0.5*horizontalSlider_temp->maximum()); } void MashDesigner::updateAmtSlider() { if( mashStep == 0 ) return; if( mashStep->type() == MashStep::Infusion ) { double vol = volFromTemp_l( getSelectedTemp_c() ); double ratio = (vol - minAmt_l()) / (maxAmt_l() - minAmt_l()); horizontalSlider_amount->setValue(ratio*horizontalSlider_amount->maximum()); if( mashStep != 0 ) mashStep->setInfuseAmount_l(vol); } else horizontalSlider_amount->setValue(0.5*horizontalSlider_amount->maximum()); } void MashDesigner::updateAmt() { if( mashStep == 0 ) return; if( mashStep->type() == MashStep::Infusion ) { double vol = horizontalSlider_amount->value() / (double)(horizontalSlider_amount->maximum())* (maxAmt_l() - minAmt_l()) + minAmt_l(); label_amt->setText(Brewtarget::displayAmount( vol, Units::liters)); if( mashStep != 0 ) mashStep->setInfuseAmount_l( vol ); } else if( mashStep->type() == MashStep::Decoction ) label_amt->setText(Brewtarget::displayAmount(mashStep->decoctionAmount_l(), Units::liters)); else label_amt->setText(Brewtarget::displayAmount(0, Units::liters)); } void MashDesigner::updateTemp() { if( mashStep == 0 ) return; if( mashStep->type() == MashStep::Infusion ) { double temp = horizontalSlider_temp->value() / (double)(horizontalSlider_temp->maximum()) * (maxTemp_c() - minTemp_c()) + minTemp_c(); label_temp->setText(Brewtarget::displayAmount( temp, Units::celsius)); if( mashStep != 0 ) mashStep->setInfuseTemp_c( temp ); } else if( mashStep->type() == MashStep::Decoction ) label_temp->setText(Brewtarget::displayAmount( maxTemp_c(), Units::celsius)); else label_temp->setText(Brewtarget::displayAmount( mashStep->stepTemp_c(), Units::celsius)); } void MashDesigner::saveTargetTemp() { double temp = Brewtarget::tempQStringToSI(lineEdit_temp->text()); if( mashStep != 0 ) mashStep->setStepTemp_c(temp); if( comboBox_type->currentText().compare("Decoction") == 0 ) { if( mashStep != 0 ) mashStep->setDecoctionAmount_l( getDecoctionAmount_l() ); updateAmtSlider(); updateAmt(); updateTempSlider(); updateTemp(); } updateMinAmt(); updateMaxAmt(); updateMinTemp(); updateMaxTemp(); updateFullness(); updateCollectedWort(); } double MashDesigner::getDecoctionAmount_l() { double m_w, m_g, r; double c_w, c_g; double tf, t1; tf = mashStep->stepTemp_c(); if( prevStep == 0 ) { QMessageBox::critical(this, tr("Decoction error"), tr("The first mash step cannot be a decoction.")); Brewtarget::log(Brewtarget::ERROR, QString("MashDesigner: First step not a decoction.")); return 0; } t1 = prevStep->stepTemp_c(); m_w = addedWater_l; // NOTE: this is bad. Assumes 1L = 1 kg. m_g = grain_kg; c_w = HeatCalculations::Cw_calGC; c_g = HeatCalculations::Cgrain_calGC; // r is the ratio of water and grain to take out for decoction. r = ((MC)*(tf-t1)) / ((m_w*c_w + m_g*c_g)*(maxTemp_c()-tf) + (m_w*c_w + m_g*c_g)*(tf-t1)); if( r < 0 || r > 1 ) { //QMessageBox::critical(this, tr("Decoction error"), tr("Something went wrong in decoction calculation.") ); //Brewtarget::log(Brewtarget::ERROR, QString("MashDesigner Decoction: r=%1").arg(r)); return 0; } return r*mashVolume_l(); } bool MashDesigner::isBatchSparge() { return (checkBox_batchSparge->checkState() == Qt::Checked); } void MashDesigner::typeChanged(int t) { MashStep::Type type = static_cast(t); if( mashStep != 0 ) mashStep->setType(type); if( type == MashStep::Infusion ) { horizontalSlider_amount->setEnabled(true); horizontalSlider_temp->setEnabled(true); } else if( type == MashStep::Decoction ) { horizontalSlider_amount->setEnabled(false); horizontalSlider_temp->setEnabled(false); if( mashStep != 0 ) mashStep->setDecoctionAmount_l( getDecoctionAmount_l() ); updateAmtSlider(); updateAmt(); updateTempSlider(); updateTemp(); } else if( type == MashStep::Temperature ) { horizontalSlider_amount->setEnabled(false); horizontalSlider_temp->setEnabled(false); } } brewtarget-2.0.2/src/config.in0000644000175000017500000000362412266512167015616 0ustar philipphilip/* * configure.in is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef _CONFIG_H #define _CONFIG_H #define BTICON ":/images/brewtarget_icon.svg" //#define ICON96 ":/images/BrewtargetIcon_96.png" #define GLASS ":/images/glass2.png" #define SMALLBARLEY ":/images/smallBarley.svg" #define SMALLHOP ":/images/smallHop.svg" #define SMALLWATER ":/images/smallWater.svg" #define SMALLYEAST ":/images/smallYeast.svg" #define SMALLKETTLE ":/images/smallKettle.svg" #define SMALLQUESTION ":/images/smallQuestion.svg" #define SMALLSTYLE ":/images/smallStyle.svg" #define SMALLPLUS ":/images/smallPlus.svg" #define SMALLMINUS ":/images/smallMinus.svg" #define SMALLARROW ":/images/smallArrow.svg" #define SMALLINFO ":/images/smallInfo.svg" #define SMALLOUTARROW ":/images/smallOutArrow.svg" #define SHRED ":/images/editshred.svg" #define EXITPNG ":/images/exit.svg" #define SAVEPNG ":/images/filesave.svg" #define CLOCKPNG ":/images/clock.svg" //===Things that will get configured by cmake=== // These two only get used by Linux OS version. #define CONFIGDATADIR "${CONFIGDATADIR}" #define CONFIGDOCDIR "${CONFIGDOCDIR}" #define VERSIONSTRING "${brewtarget_VERSION_MAJOR}.${brewtarget_VERSION_MINOR}.${brewtarget_VERSION_PATCH}" #endif /*_CONFIG_H*/ brewtarget-2.0.2/src/equipment.cpp0000644000175000017500000003072212266512167016533 0ustar philipphilip/* * equipment.cpp is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include #include #include #include #include "equipment.h" #include "brewtarget.h" #include "HeatCalculations.h" QHash Equipment::tagToProp = Equipment::tagToPropHash(); QHash Equipment::tagToPropHash() { QHash propHash; propHash["NAME"] = "name"; propHash["BOIL_SIZE"] = "boilSize_l"; propHash["BATCH_SIZE"] = "batchSize_l"; propHash["TUN_VOLUME"] = "tunVolume_l"; propHash["TUN_WEIGHT"] = "tunWeight_kg"; propHash["TUN_SPECIFIC_HEAT"] = "tunSpecificHeat_calGC"; propHash["TOP_UP_WATER"] = "topUpWater_l"; propHash["TRUB_CHILLER_LOSS"] = "trubChillerLoss_l"; propHash["EVAP_RATE"] = "evapRate_pctHr"; propHash["REAL_EVAP_RATE"] = "evapRate_lHr"; propHash["BOIL_TIME"] = "boilTime_min"; propHash["CALC_BOIL_VOLUME"] = "calcBoilVolume"; propHash["LAUTER_DEADSPACE"] = "lauterDeadspace_l"; propHash["TOP_UP_KETTLE"] = "topUpKettle_l"; propHash["HOP_UTILIZATION"] = "hopUtilization_pct"; propHash["NOTES"] = "notes"; propHash["ABSORPTION"] = "grainAbsorption_LKg"; propHash["BOILING_POINT"] = "boilingPoint_c"; return propHash; } bool operator<(Equipment &e1, Equipment &e2) { return e1.name() < e2.name(); } bool operator==(Equipment &e1, Equipment &e2) { return e1.name() == e2.name(); } //=============================CONSTRUCTORS===================================== /* void Equipment::setDefaults() { name = ""; boilSize_l = 0.0; batchSize_l = 0.0; tunVolume_l = 0.0; tunWeight_kg = 0.0; tunSpecificHeat_calGC = 0.0; topUpWater_l = 0.0; trubChillerLoss_l = 0.0; evapRate_pctHr = 0.0; evapRate_lHr = 0.0; boilTime_min = 0.0; calcBoilVolume = false; lauterDeadspace_l = 0.0; topUpKettle_l = 0.0; hopUtilization_pct = 0.0; notes = ""; absorption_LKg = HeatCalculations::absorption_LKg; boilingPoint_c = 100.0; } */ Equipment::Equipment() : BeerXMLElement() { } Equipment::Equipment( Equipment const& other ) : BeerXMLElement(other) { } /* void Equipment::fromNode(const QDomNode& equipmentNode) { QDomNode node, child; QDomText textNode; QString property, value; bool hasRealEvapRate = false; setDefaults(); for( node = equipmentNode.firstChild(); ! node.isNull(); node = node.nextSibling() ) { if( ! node.isElement() ) { Brewtarget::log(Brewtarget::WARNING, QObject::tr("Node at line %1 is not an element.").arg(textNode.lineNumber()) ); continue; } child = node.firstChild(); if( child.isNull() || ! child.isText() ) continue; property = node.nodeName(); textNode = child.toText(); value = textNode.nodeValue(); if( property == "NAME" ) { name = value; } else if( property == "VERSION" ) { if( version != getInt(textNode) ) Brewtarget::log(Brewtarget::ERROR, QObject::tr("EQUIPMENT says it is not version %1. Line %2").arg(version).arg(textNode.lineNumber()) ); } else if( property == "BOIL_SIZE" ) { setBoilSize_l(getDouble(textNode)); } else if( property == "BATCH_SIZE" ) { setBatchSize_l(getDouble(textNode)); } else if( property == "TUN_VOLUME" ) { setTunVolume_l(getDouble(textNode)); } else if( property == "TUN_WEIGHT" ) { setTunWeight_kg(getDouble(textNode)); } else if( property == "TUN_SPECIFIC_HEAT" ) { setTunSpecificHeat_calGC(getDouble(textNode)); } else if( property == "TOP_UP_WATER" ) { setTopUpWater_l(getDouble(textNode)); } else if( property == "TRUB_CHILLER_LOSS" ) { setTrubChillerLoss_l(getDouble(textNode)); } else if( property == "EVAP_RATE" && ! hasRealEvapRate ) { setEvapRate_pctHr(getDouble(textNode)); } else if( property == "REAL_EVAP_RATE" ) { setEvapRate_lHr(getDouble(textNode)); hasRealEvapRate = true; } else if( property == "BOIL_TIME" ) { setBoilTime_min(getDouble(textNode)); } else if( property == "CALC_BOIL_VOLUME" ) { setCalcBoilVolume(getBool(textNode)); } else if( property == "LAUTER_DEADSPACE" ) { setLauterDeadspace_l(getDouble(textNode)); } else if( property == "TOP_UP_KETTLE" ) { setTopUpKettle_l(getDouble(textNode)); } else if( property == "HOP_UTILIZATION" ) { setHopUtilization_pct(getDouble(textNode)); } else if( property == "NOTES" ) { setNotes(value); } else if( property == "ABSORPTION" ) // My extension. { setGrainAbsorption_LKg( getDouble(textNode) ); } else if ( property == "BOILING_POINT") { setBoilingPoint_c( getDouble(textNode) ); } else Brewtarget::log(Brewtarget::WARNING, QObject::tr("Unsupported EQUIPMENT property: %1. Line %2").arg(property).arg(node.lineNumber()) ); } // Estimate the actual evaporation rate if we didn't get one. if( ! hasRealEvapRate ) setEvapRate_lHr( evapRate_pctHr/(double)100 * boilSize_l ); } */ //============================"SET" METHODS===================================== void Equipment::setName( const QString &var ) { set( "name", "name", var ); emit changedName(var); } void Equipment::setBoilSize_l( double var ) { if( var < 0.0 ) { Brewtarget::logW( QString("Equipment: boil size negative: %1").arg(var) ); return; } else { set("boilSize_l", "boil_size", var); emit changedBoilSize_l(var); } } void Equipment::setBatchSize_l( double var ) { if( var < 0.0 ) { Brewtarget::logW( QString("Equipment: batch size negative: %1").arg(var) ); return; } else { set("batchSize_l", "batch_size", var); doCalculations(); } } void Equipment::setTunVolume_l( double var ) { if( var < 0.0 ) { Brewtarget::logW( QString("Equipment: tun volume negative: %1").arg(var) ); return; } else { set("tunVolume_l", "tun_volume", var); } } void Equipment::setTunWeight_kg( double var ) { if( var < 0.0 ) { Brewtarget::logW( QString("Equipment: tun weight negative: %1").arg(var) ); return; } else { set("tunWeight_kg", "tun_weight", var); } } void Equipment::setTunSpecificHeat_calGC( double var ) { if( var < 0.0 ) { Brewtarget::logW( QString("Equipment: tun sp heat negative: %1").arg(var) ); return; } else { set("tunSpecificHeat_calGC", "tun_specific_heat", var); } } void Equipment::setTopUpWater_l( double var ) { if( var < 0.0 ) { Brewtarget::logW( QString("Equipment: top up water negative: %1").arg(var) ); return; } else { set("topUpWater_l", "top_up_water", var); doCalculations(); } } void Equipment::setTrubChillerLoss_l( double var ) { if( var < 0.0 ) { Brewtarget::logW( QString("Equipment: trub chiller loss negative: %1").arg(var) ); return; } else { set("trubChillerLoss_l", "trub_chiller_loss", var); doCalculations(); } } void Equipment::setEvapRate_pctHr( double var ) { if( var < 0.0 || var > 100.0) { Brewtarget::logW( QString("Equipment: 0 < evap rate < 100: %1").arg(var) ); return; } else { set("evapRate_pctHr", "evap_rate", var); set("evapRate_lHr", "real_evap_rate", var/100.0 * batchSize_l() ); // We always use this one, so set it. doCalculations(); } } void Equipment::setEvapRate_lHr( double var ) { if( var < 0.0 ) { Brewtarget::logW( QString("Equipment: evap rate negative: %1").arg(var) ); return; } else { set("evapRate_lHr", "real_evap_rate", var); setEvapRate_pctHr( var/batchSize_l() * 100.0 ); // We don't use it, but keep it current. doCalculations(); } } void Equipment::setBoilTime_min( double var ) { if( var < 0.0 ) { Brewtarget::logW( QString("Equipment: boil time negative: %1").arg(var) ); return; } else { set("boilTime_min", "boil_time", var); emit changedBoilTime_min(var); doCalculations(); } } void Equipment::setCalcBoilVolume( bool var ) { set("calcBoilVolume", "calc_boil_volume", var); if( var ) doCalculations(); } void Equipment::setLauterDeadspace_l( double var ) { if( var < 0.0 ) { Brewtarget::logW( QString("Equipment: deadspace negative: %1").arg(var) ); return; } else { set("lauterDeadspace_l", "lauter_deadspace", var); } } void Equipment::setTopUpKettle_l( double var ) { if( var < 0.0 ) { Brewtarget::logW( QString("Equipment: top up kettle negative: %1").arg(var) ); return; } else { set("topUpKettle_l", "top_up_kettle", var); } } void Equipment::setHopUtilization_pct( double var ) { if( var < 0.0 ) { Brewtarget::logW( QString("Equipment: 0 < hop utilization: %1").arg(var) ); return; } else { set("hopUtilization_pct", "hop_utilization", var); } } void Equipment::setNotes( const QString &var ) { set("notes", "notes", var); } void Equipment::setGrainAbsorption_LKg(double var) { if( var < 0.0 ) { Brewtarget::logW( QString("Equipment: absorption < 0: %1").arg(var) ); return; } else { set("absorption_LKg", "absorption", var); } } void Equipment::setBoilingPoint_c(double var) { if ( var < 0.0 ) { Brewtarget::logW( QString("Equipment: boiling point of water < 0: %1").arg(var)); return; } else { set("boilingPoint_c", "boiling_point", var); } } //============================"GET" METHODS===================================== QString Equipment::name() const { return get("name").toString(); } double Equipment::boilSize_l() const { return get("boil_size").toDouble(); } double Equipment::batchSize_l() const { return get("batch_size").toDouble(); } double Equipment::tunVolume_l() const { return get("tun_volume").toDouble(); } double Equipment::tunWeight_kg() const { return get("tun_weight").toDouble(); } double Equipment::tunSpecificHeat_calGC() const { return get("tun_specific_heat").toDouble(); } double Equipment::topUpWater_l() const { return get("top_up_water").toDouble(); } double Equipment::trubChillerLoss_l() const { return get("trub_chiller_loss").toDouble(); } double Equipment::evapRate_pctHr() const { return get("evap_rate").toDouble(); } double Equipment::evapRate_lHr() const { return get("real_evap_rate").toDouble(); } double Equipment::boilTime_min() const { return get("boil_time").toDouble(); } bool Equipment::calcBoilVolume() const { return get("calc_boil_volume").toBool(); } double Equipment::lauterDeadspace_l() const { return get("lauter_deadspace").toDouble(); } double Equipment::topUpKettle_l() const { return get("top_up_kettle").toDouble(); } double Equipment::hopUtilization_pct() const { return get("hop_utilization").toDouble(); } QString Equipment::notes() const { return get("notes").toString(); } double Equipment::grainAbsorption_LKg() { return get("absorption").toDouble(); } double Equipment::boilingPoint_c() const { return get("boiling_point").toDouble(); } void Equipment::doCalculations() { // Only do the calculation if we're asked to. if( ! calcBoilVolume() ) return; setBoilSize_l( batchSize_l() - topUpWater_l() + trubChillerLoss_l() + (boilTime_min()/(double)60)*evapRate_lHr()); } double Equipment::wortEndOfBoil_l( double kettleWort_l ) const { //return kettleWort_l * (1 - (boilTime_min/(double)60) * (evapRate_pctHr/(double)100) ); return kettleWort_l - (boilTime_min()/(double)60)*evapRate_lHr(); } brewtarget-2.0.2/src/BrewTargetTreeView.h0000644000175000017500000001675212266512167017721 0ustar philipphilip/* * BrewTargetTreeView.h is part of Brewtarget and was written by Mik Firestone * (mikfire@gmail.com). Copyright is granted to Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef BREWTARGETTREEVIEW_H_ #define BREWTARGETTREEVIEW_H_ class BrewTargetTreeView; #include #include #include #include #include "BrewTargetTreeItem.h" #include "BtTreeFilterProxyModel.h" // Forward declarations. class BrewTargetTreeModel; class Recipe; class Equipment; class Fermentable; class Hop; class Misc; class Yeast; class BrewNote; class Style; /*! * \class BrewTargetTreeItem * \author Mik Firestone * * \brief View class for BrewTargetTreeModel. */ class BrewTargetTreeView : public QTreeView { Q_OBJECT public: //! \brief The standard contructor BrewTargetTreeView(QWidget *parent = 0); //! \brief returns the model associated with this tree BrewTargetTreeModel* getModel(); //! \brief returns the context menu associated with the \c selected item QMenu* getContextMenu(QModelIndex selected); //! \brief removes \c index item from the tree returns true if the remove works bool removeRow(const QModelIndex &index); //! \brief returns true if \c parent is the parent of \c child bool isParent(const QModelIndex& parent, const QModelIndex& child); //! \brief returns the parent of \c child QModelIndex getParent(const QModelIndex& child); //! \brief returns the first \c type element in the tree QModelIndex getFirst(); //! \brief returns the recipe at \c index Recipe* getRecipe(const QModelIndex &index) const; //! \brief finds the index of the \c recipe in the tree QModelIndex findRecipe(Recipe* rec); //! \brief returns the equipment at \c index Equipment* getEquipment(const QModelIndex &index) const; //! \brief finds the index of the \c equipment in the tree QModelIndex findEquipment(Equipment* kit); //! \brief returns the fermentable at \c index Fermentable* getFermentable(const QModelIndex &index) const; //! \brief finds the index of the \c fermentable in the tree QModelIndex findFermentable(Fermentable* ferm); //! \brief returns the hop at \c index Hop* getHop(const QModelIndex &index) const; //! \brief finds the index of the \c hop in the tree QModelIndex findHop(Hop* hop); //! \brief returns the misc at \c index Misc* getMisc(const QModelIndex &index) const; //! \brief finds the index of the \c misc in the tree QModelIndex findMisc(Misc* misc); //! \brief returns the yeast at \c index Yeast* getYeast(const QModelIndex &index) const; //! \brief finds the index of the \c yeast in the tree QModelIndex findYeast(Yeast* yeast); //! \brief returns the yeast at \c index Style* getStyle(const QModelIndex &index) const; //! \brief finds the index of the \c yeast in the tree QModelIndex findStyle(Style* style); //! \brief returns the brewnote at \c index BrewNote* getBrewNote(const QModelIndex &index) const; //! \brief finds the index of the \c brewnote in the tree QModelIndex findBrewNote( BrewNote* bNote); //! \brief gets the type of the item at \c index. int getType(const QModelIndex &index); //! returns true if a recipe and an ingredient (hop, equipment, etc.) are selected at the same time bool multiSelected(); // Another try at drag and drop //! \brief starts a drag and drop event void mousePressEvent(QMouseEvent *event); //! \brief distinguishes between a move event and a double click void mouseMoveEvent(QMouseEvent *event); //! \brief recognizes a double click event void mouseDoubleClickEvent(QMouseEvent *event); //! \brief catches a key stroke in a tree void keyPressEvent(QKeyEvent* event); //! \brief creates a context menu based on the type of tree void setupContextMenu(QWidget* top, QWidget* editor, QMenu* sMenu,int type = BrewTargetTreeItem::RECIPE); // Friend classes. For the most part, the children don't do much beyond // contructors and context menus. So far :/ friend class RecipeTreeView; friend class EquipmentTreeView; friend class FermentableTreeView; friend class HopTreeView; friend class MiscTreeView; friend class YeastTreeView; friend class StyleTreeView; private: BrewTargetTreeModel* model; BtTreeFilterProxyModel* filter; QMenu* contextMenu, *subMenu; QPoint dragStart; bool doubleClick; QMimeData *mimeData(QModelIndexList indexes); }; //! // \class RecipeTreeView // \brief subclasses BrewTargetTreeView to only show recipes. class RecipeTreeView : public BrewTargetTreeView { Q_OBJECT public: //! \brief Constructs the tree view, sets up the filter proxy and sets a // few options on the tree that can only be set after the model RecipeTreeView(QWidget *parent = 0); }; //! // \class EquipmentTreeView // \brief subclasses BrewTargetTreeView to only show equipment. class EquipmentTreeView : public BrewTargetTreeView { Q_OBJECT public: //! \brief Constructs the tree view, sets up the filter proxy and sets a // few options on the tree that can only be set after the model EquipmentTreeView(QWidget *parent = 0); }; //! // \class FermentableTreeView // \brief subclasses BrewTargetTreeView to only show fermentables. class FermentableTreeView : public BrewTargetTreeView { Q_OBJECT public: //! \brief Constructs the tree view, sets up the filter proxy and sets a // few options on the tree that can only be set after the model FermentableTreeView(QWidget *parent = 0); }; //! // \class HopTreeView // \brief subclasses BrewTargetTreeView to only show hops. class HopTreeView : public BrewTargetTreeView { Q_OBJECT public: //! \brief Constructs the tree view, sets up the filter proxy and sets a // few options on the tree that can only be set after the model HopTreeView(QWidget *parent = 0); }; //! // \class MiscTreeView // \brief subclasses BrewTargetTreeView to only show miscs. class MiscTreeView : public BrewTargetTreeView { Q_OBJECT public: //! \brief Constructs the tree view, sets up the filter proxy and sets a // few options on the tree that can only be set after the model MiscTreeView(QWidget *parent = 0); }; //! // \class YeastTreeView // \brief subclasses BrewTargetTreeView to only show yeasts. class YeastTreeView : public BrewTargetTreeView { Q_OBJECT public: //! \brief Constructs the tree view, sets up the filter proxy and sets a // few options on the tree that can only be set after the model YeastTreeView(QWidget *parent = 0); }; //! // \class StyleTreeView // \brief subclasses BrewTargetTreeView to only show styles. class StyleTreeView : public BrewTargetTreeView { Q_OBJECT public: //! \brief Constructs the tree view, sets up the filter proxy and sets a // few options on the tree that can only be set after the model StyleTreeView(QWidget *parent = 0); }; #endif /* BREWTARGETTREEVIEW_H_ */ brewtarget-2.0.2/src/brewtarget.cpp0000755000175000017500000011646012266512167016701 0ustar philipphilip/* * brewtarget.cpp is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include "brewtarget.h" #include "config.h" #include "database.h" #include "Algorithms.h" #include "fermentable.h" #include "UnitSystem.h" #include "UnitSystems.h" #include "USWeightUnitSystem.h" #include "USVolumeUnitSystem.h" #include "FahrenheitTempUnitSystem.h" #include "TimeUnitSystem.h" #include "SIWeightUnitSystem.h" #include "SIVolumeUnitSystem.h" #include "CelsiusTempUnitSystem.h" #include "ImperialVolumeUnitSystem.h" #include "BtSplashScreen.h" #include "MainWindow.h" MainWindow* Brewtarget::_mainWindow; QDomDocument* Brewtarget::optionsDoc; QTranslator* Brewtarget::defaultTrans = new QTranslator(); QTranslator* Brewtarget::btTrans = new QTranslator(); QTextStream* Brewtarget::logStream = 0; QFile* Brewtarget::logFile = 0; QSettings Brewtarget::btSettings("brewtarget"); bool Brewtarget::userDatabaseDidNotExist = false; QDateTime Brewtarget::lastDbMergeRequest = QDateTime::fromString("1986-02-24T06:00:00", Qt::ISODate); QString Brewtarget::currentLanguage = "en"; QString Brewtarget::userDataDir = getConfigDir(); bool Brewtarget::checkVersion = true; iUnitSystem Brewtarget::weightUnitSystem = SI; iUnitSystem Brewtarget::volumeUnitSystem = SI; UnitSystem* Brewtarget::weightSystem = UnitSystems::usWeightUnitSystem(); UnitSystem* Brewtarget::volumeSystem = UnitSystems::usVolumeUnitSystem(); UnitSystem* Brewtarget::tempSystem = UnitSystems::fahrenheitTempUnitSystem(); UnitSystem* Brewtarget::timeSystem = UnitSystems::timeUnitSystem(); TempScale Brewtarget::tempScale = Celsius; Brewtarget::ColorType Brewtarget::colorFormula = Brewtarget::MOREY; Brewtarget::IbuType Brewtarget::ibuFormula = Brewtarget::TINSETH; Brewtarget::ColorUnitType Brewtarget::colorUnit = Brewtarget::SRM; bool Brewtarget::usePlato = false; bool Brewtarget::ensureDirectoriesExist() { bool success; QDir dir; dir.setPath(getDataDir()); if( ! dir.exists() || ! dir.isReadable() ) { QMessageBox::information(0, QObject::tr("Directory Problem"), QObject::tr("\"%1\" cannot be read.").arg(dir.path())); return false; } dir.setPath(getDocDir()); if( ! dir.exists() || ! dir.isReadable() ) { QMessageBox::information(0, QObject::tr("Directory Problem"), QObject::tr("\"%1\" cannot be read.").arg(dir.path())); return false; } dir.setPath(getConfigDir(&success)); if( !success || ! dir.exists() || ! dir.isReadable() ) { QMessageBox::information(0, QObject::tr("Directory Problem"), QObject::tr("Config directory \"%1\" cannot be read.").arg(dir.path())); return false; } return true; } void Brewtarget::checkForNewVersion(MainWindow* mw) { // Don't do anything if the checkVersion flag was set false if ( checkVersion == false ) return; QNetworkAccessManager manager; QUrl url("http://brewtarget.sourceforge.net/version"); QNetworkReply* reply = manager.get( QNetworkRequest(url) ); QObject::connect( reply, SIGNAL(finished()), mw, SLOT(finishCheckingVersion()) ); } bool Brewtarget::copyDataFiles(QString newPath) { QString dbFileName; bool success = true; // Database files. dbFileName = getUserDataDir() + "database.sqlite"; success &= QFile::copy(dbFileName, newPath + "database.sqlite"); return success; } bool Brewtarget::ensureDataFilesExist() { QString logFileName; bool success = true; logFile = new QFile(); // Log file logFile->setFileName(getUserDataDir() + "brewtarget_log.txt"); if( logFile->open(QFile::WriteOnly | QFile::Truncate) ) logStream = new QTextStream(logFile); else { // Put the log in a temporary directory. logFile->setFileName(QDir::tempPath() + "/brewtarget_log.txt"); if( logFile->open(QFile::WriteOnly | QFile::Truncate ) ) { logW(QString("Log is in a temporary directory: %1").arg(logFile->fileName()) ); logStream = new QTextStream(logFile); } else logW(QString("Could not create a log file.")); } return success; } const QString& Brewtarget::getSystemLanguage() { // QLocale::name() is of the form language_country, // where 'language' is a lowercase 2-letter ISO 639-1 language code, // and 'country' is an uppercase 2-letter ISO 3166 country code. return QLocale::system().name().split("_")[0]; } void Brewtarget::loadTranslations() { if( qApp == 0 ) return; // Load translators. defaultTrans->load("qt_" + QLocale::system().name(), QLibraryInfo::location(QLibraryInfo::TranslationsPath)); if( getCurrentLanguage().isEmpty() ) setLanguage(getSystemLanguage()); //btTrans->load("bt_" + getSystemLanguage()); // Install translators. qApp->installTranslator(defaultTrans); //qApp->installTranslator(btTrans); } void Brewtarget::setLanguage(QString twoLetterLanguage) { currentLanguage = twoLetterLanguage; qApp->removeTranslator(btTrans); QString filename = QString("bt_%1").arg(twoLetterLanguage); QString dir = QString("%1translations_qm/").arg(getDataDir()); if( btTrans->load( filename, dir ) ) qApp->installTranslator(btTrans); } const QString& Brewtarget::getCurrentLanguage() { return currentLanguage; } iUnitSystem Brewtarget::getWeightUnitSystem() { return weightUnitSystem; } iUnitSystem Brewtarget::getVolumeUnitSystem() { return volumeUnitSystem; } unitDisplay Brewtarget::getColorUnit() { if ( colorUnit == Brewtarget::SRM ) return displaySrm; return displayEbc; } TempScale Brewtarget::getTemperatureScale() { return tempScale; } QString Brewtarget::getDataDir() { QString dir = qApp->applicationDirPath(); #if defined(Q_WS_X11) // Linux OS. dir = QString(CONFIGDATADIR); #elif defined(Q_WS_MAC) // MAC OS. // We should be inside an app bundle. dir += "/../Resources/"; #else // Windows OS. dir += "/../data/"; #endif if( ! dir.endsWith('/') ) dir += "/"; return dir; } QString Brewtarget::getDocDir() { QString dir = qApp->applicationDirPath(); #if defined(Q_WS_X11) // Linux OS. dir = QString(CONFIGDOCDIR); #elif defined(Q_WS_MAC) // MAC OS. // We should be inside an app bundle. dir += "/../Resources/en.lproj/"; #else // Windows OS. dir += "/../doc/"; #endif if( ! dir.endsWith('/') ) dir += "/"; return dir; } QString Brewtarget::getConfigDir(bool *success) { #if defined(Q_WS_X11) || defined(Q_WS_MAC) // Linux OS or Mac OS. QDir dir; QFileInfo fileInfo; char* xdg_config_home = getenv("XDG_CONFIG_HOME"); bool tmp; QFile::Permissions sevenFiveFive = QFile::ReadOwner | QFile::WriteOwner | QFile::ExeOwner | QFile::ReadGroup | QFile::ExeGroup | QFile::ReadOther | QFile::ExeOther; // First, try XDG_CONFIG_HOME. // If that variable doesn't exist, create ~/.config if (xdg_config_home) { dir = xdg_config_home; } else { // Creating config directory. dir = QDir::home(); if( !dir.exists(".config") ) { logW( QString("Config dir \"%1\" did not exist...").arg(dir.absolutePath() + "/.config") ); tmp = dir.mkdir(".config"); logW( QString( tmp ? "...created it." : "...could not create it.") ); if( !tmp ) { // Failure. if( success != 0 ) *success = false; return ""; } // chmod 755 ~/.config QFile::setPermissions( dir.absolutePath() + "/.config", sevenFiveFive ); } // CD to config directory. if( ! dir.cd(".config") ) { logE( QString("Could not CD to \"%1\".").arg(dir.absolutePath() + "/.config") ); if( success != 0 ) *success = false; return ""; } } // See if brewtarget dir exists. if( !dir.exists("brewtarget") ) { logW( QString("\"%1\" does not exist...creating.").arg(dir.absolutePath() + "/brewtarget") ); // Try to make brewtarget dir. if( ! dir.mkdir("brewtarget") ) { logE( QString("Could not create \"%1\"").arg(dir.absolutePath() + "/brewtarget") ); if( success != 0 ) *success = false; return ""; } // chmod 755 ~/.config/brewtarget QFile::setPermissions( dir.absolutePath() + "/brewtarget", sevenFiveFive ); } if( ! dir.cd("brewtarget") ) { logE(QString("Could not CD into \"%1\"").arg(dir.absolutePath() + "/brewtarget")); if( success != 0 ) *success = false; return ""; } if( success != 0 ) *success = true; return dir.absolutePath() + "/"; #else // Windows OS. QDir dir; // This is the bin/ directory. dir = QDir(qApp->applicationDirPath()); dir.cdUp(); // Now we should be in the base directory (i.e. Brewtarget-2.0.0/) dir.cd("data"); if( success != 0 ) *success = true; return dir.absolutePath() + "/"; #endif } QString Brewtarget::getUserDataDir() { if( userDataDir.endsWith('/') || userDataDir.endsWith('\\') ) return userDataDir; else return userDataDir + "/"; } int Brewtarget::run() { int ret; bool success; // In Unix, make sure the user isn't running 2 copies. #if defined(Q_WS_X11) QFile pidFile(QString("%1.pid").arg(getUserDataDir())); if( pidFile.exists() ) { // Read the pid. qint64 pid; pidFile.open(QIODevice::ReadOnly); { QTextStream pidStream(&pidFile); pidStream >> pid; } pidFile.close(); // If the pid is in the proc filesystem, another instance is running. // Have to check /proc, because perhaps the last instance crashed without // cleaning up after itself. QDir procDir(QString("/proc/%1").arg(pid)); if( procDir.exists() ) { std::cerr << "Brewtarget is already running. PID: " << pid << std::endl; return 1; } } // Open the pidFile, erasing any contents, and write our pid. pidFile.open(QIODevice::WriteOnly | QIODevice::Truncate); { QTextStream pidStream(&pidFile); pidStream << QCoreApplication::applicationPid(); } pidFile.close(); #endif userDataDir = getConfigDir(); BtSplashScreen splashScreen; splashScreen.show(); qApp->processEvents(); // So we can process mouse clicks on splash window. // If the old options file exists, convert it. Otherwise, just get the // system options. I *think* this will work. The installer copies the old // one into the new place on Windows. if ( option("hadOldConfig", false).toBool() ) convertPersistentOptions(); readSystemOptions(); success = ensureDirectoriesExist(); // Make sure all the necessary directories are ok. if( success ) success = ensureDataFilesExist(); // Make sure all the files we need exist before starting. if( ! success ) return 1; loadTranslations(); // Do internationalization. #if defined(Q_WS_MAC) qt_set_sequence_auto_mnemonic(TRUE); // turns on Mac Keyboard shortcuts #endif qApp->processEvents(); splashScreen.showMessage("Loading..."); qApp->processEvents(); // Check if the database was successfully loaded before // loading the main window. if (Database::instance().loadSuccessful()) { if ( ! Brewtarget::btSettings.contains("converted") ) Database::instance().convertFromXml(); _mainWindow = new MainWindow(); _mainWindow->setVisible(true); splashScreen.finish(_mainWindow); checkForNewVersion(_mainWindow); do { ret = qApp->exec(); } while (ret == 1000); } // Close log file. if( logStream ) { delete logStream; logStream = 0; } if( logFile != 0 && logFile->isOpen() ) { logFile->close(); delete logFile; logFile = 0; } // Should I do qApp->removeTranslator() first? delete defaultTrans; delete btTrans; delete _mainWindow; Database::dropInstance(); #if defined(Q_WS_X11) pidFile.remove(); #endif return ret; } void Brewtarget::log(LogType lt, QString message) { QString m; if( lt == WARNING ) m = QString("WARNING: %1").arg(message); else if( lt == ERROR ) m = QString("ERROR: %1").arg(message); else m = message; // First, write out to stderr. std::cerr << m.toStdString() << std::endl; // Then display it in the GUI's status bar. if( _mainWindow && _mainWindow->statusBar() ) _mainWindow->statusBar()->showMessage(m, 3000); // Now, write it to the log file if there is one. if( logStream != 0 ) *logStream << m << "\n"; } void Brewtarget::logE( QString message ) { log( ERROR, message ); } void Brewtarget::logW( QString message ) { log( WARNING, message ); } // Displays "amount" of units "units" in the proper format. // If "units" is null, just return the amount. QString Brewtarget::displayAmount( double amount, Unit* units, int precision, unitDisplay displayUnits, unitScale displayScale) { int fieldWidth = 0; char format = 'f'; UnitSystem* temp; // Check for insane values. if( Algorithms::Instance().isnan(amount) || Algorithms::Instance().isinf(amount) ) return "-"; // Special case. if( units == 0 ) return QString("%L1").arg(amount, fieldWidth, format, precision); QString SIUnitName = units->getSIUnitName(); double SIAmount = units->toSI( amount ); QString ret; // convert to the current unit system (s). if(SIUnitName.compare("kg") == 0) // Dealing with mass. { temp = findMassUnitSystem(displayUnits); ret = temp->displayAmount( amount, units, displayScale ); } else if( SIUnitName.compare("L") == 0 ) // Dealing with volume { temp = findVolumeUnitSystem(displayUnits); ret = temp->displayAmount(amount,units,displayScale); } else if( SIUnitName.compare("C") == 0 ) // Dealing with temperature. { temp = findTemperatureSystem(displayUnits); ret = temp->displayAmount( amount, units ); } else if( SIUnitName.compare("min") == 0 ) // Time ret = timeSystem->displayAmount( amount, units ); else // If we don't deal with it above, just use the SI amount. ret = QString("%L1 %2").arg(SIAmount, fieldWidth, format, precision).arg(SIUnitName); return ret; } QString Brewtarget::displayAmount(BeerXMLElement* element, QObject* object, QString attribute, Unit* units, int precision ) { double amount = 0.0; unitScale dispScale; unitDisplay dispUnit; if ( element->property(attribute.toLatin1().constData()).canConvert(QVariant::Double) ) { // Get the amount amount = element->property(attribute.toLatin1().constData()).toDouble(); // Get the display units and scale dispUnit = (unitDisplay)option(attribute, noUnit, object, UNIT).toInt(); dispScale = (unitScale)option( attribute, noScale, object, SCALE).toInt(); return displayAmount(amount, units, precision, dispUnit, dispScale); } else return "?"; } UnitSystem* Brewtarget::findVolumeUnitSystem( unitDisplay system ) { if ( system == noUnit ) return volumeSystem; if ( system == displayUS ) return UnitSystems::usVolumeUnitSystem(); else if ( system == displayImp ) return UnitSystems::imperialVolumeUnitSystem(); else return UnitSystems::siVolumeUnitSystem(); } UnitSystem* Brewtarget::findMassUnitSystem( unitDisplay system ) { if ( system == noUnit ) return weightSystem; // Both imperial and US are the same. So I cheat. if ( system == displaySI ) return UnitSystems::siWeightUnitSystem(); else return UnitSystems::usWeightUnitSystem(); } UnitSystem* Brewtarget::findTemperatureSystem( unitDisplay system ) { if ( system == noUnit ) return tempSystem; // Not sure how to handle Kelvin, but it will have to be upstream. if ( system == displayUS ) return UnitSystems::fahrenheitTempUnitSystem(); else return UnitSystems::celsiusTempUnitSystem(); } void Brewtarget::getThicknessUnits( Unit** volumeUnit, Unit** weightUnit ) { *volumeUnit = volumeSystem->thicknessUnit(); *weightUnit = weightSystem->thicknessUnit(); } QString Brewtarget::displayThickness( double thick_lkg, bool showUnits ) { int fieldWidth = 0; char format = 'f'; int precision = 2; Unit* volUnit = volumeSystem->thicknessUnit(); Unit* weightUnit = weightSystem->thicknessUnit(); double num = volUnit->fromSI(thick_lkg); double den = weightUnit->fromSI(1.0); if( showUnits ) return QString("%L1 %2/%3").arg(num/den, fieldWidth, format, precision).arg(volUnit->getUnitName()).arg(weightUnit->getUnitName()); else return QString("%L1").arg(num/den, fieldWidth, format, precision).arg(volUnit->getUnitName()).arg(weightUnit->getUnitName()); } QString Brewtarget::getOptionValue(const QDomDocument& optionsDoc, const QString& option, bool* hasOption) { QDomNode node, child; QDomText textNode; QDomNodeList list; list = optionsDoc.elementsByTagName(option); if(list.length() <= 0) { Brewtarget::logW(QString("Could not find the <%1> tag in the option file.").arg(option)); if( hasOption != 0 ) *hasOption = false; return ""; } else { node = list.at(0); child = node.firstChild(); textNode = child.toText(); if( hasOption != 0 ) *hasOption = true; return textNode.nodeValue(); } } // Read the old options.xml file one more time, then move it out of the way. void Brewtarget::convertPersistentOptions() { QDir cfgDir = QDir(getConfigDir()); QFile xmlFile(getConfigDir() + "options.xml"); optionsDoc = new QDomDocument(); QDomElement root; QString err; QString text; int line; int col; bool hasOption; // Try to open xmlFile. if( ! xmlFile.open(QIODevice::ReadOnly) ) { // Now we know we can't open it. log(WARNING, QString("Could not open %1 for reading.").arg(xmlFile.fileName())); // Try changing the permissions return; } if( ! optionsDoc->setContent(&xmlFile, false, &err, &line, &col) ) log(WARNING, QString("Bad document formatting in %1 %2:%3").arg(xmlFile.fileName()).arg(line).arg(col)); root = optionsDoc->documentElement(); //================Version Checking======================== text = getOptionValue(*optionsDoc, "check_version"); if( text == "true" ) checkVersion = true; else checkVersion = false; //=====================Last DB Merge Request====================== text = getOptionValue(*optionsDoc, "last_db_merge_req", &hasOption); if( hasOption ) lastDbMergeRequest = QDateTime::fromString(text, Qt::ISODate); //=====================Language==================== text = getOptionValue(*optionsDoc, "language", &hasOption); if( hasOption ) setLanguage(text); //=======================Weight===================== text = getOptionValue(*optionsDoc, "weight_unit_system", &hasOption); if( hasOption ) { if( text == "Imperial" ) { weightUnitSystem = Imperial; weightSystem = UnitSystems::usWeightUnitSystem(); } else if (text == "USCustomary") { weightUnitSystem = USCustomary; weightSystem = UnitSystems::usWeightUnitSystem(); } else { weightUnitSystem = SI; weightSystem = UnitSystems::siWeightUnitSystem(); } } //===========================Volume======================= text = getOptionValue(*optionsDoc, "volume_unit_system", &hasOption); if( hasOption ) { if( text == "Imperial" ) { volumeUnitSystem = Imperial; volumeSystem = UnitSystems::imperialVolumeUnitSystem(); } else if (text == "USCustomary") { volumeUnitSystem = USCustomary; volumeSystem = UnitSystems::usVolumeUnitSystem(); } else { volumeUnitSystem = SI; volumeSystem = UnitSystems::siVolumeUnitSystem(); } } //=======================Temp====================== text = getOptionValue(*optionsDoc, "temperature_scale", &hasOption); if( hasOption ) { if( text == "Fahrenheit" ) { tempScale = Fahrenheit; tempSystem = UnitSystems::fahrenheitTempUnitSystem(); } else { tempScale = Celsius; tempSystem = UnitSystems::celsiusTempUnitSystem(); } } //======================Time====================== // Set the one and only time system. timeSystem = UnitSystems::timeUnitSystem(); //===================IBU=================== text = getOptionValue(*optionsDoc, "ibu_formula", &hasOption); if( hasOption ) { if( text == "tinseth" ) ibuFormula = TINSETH; else if( text == "rager" ) ibuFormula = RAGER; else { Brewtarget::log(Brewtarget::ERROR, QString("Bad ibu_formula type: %1").arg(text)); } } //========================Color====================== text = getOptionValue(*optionsDoc, "color_formula", &hasOption); if( hasOption ) { if( text == "morey" ) colorFormula = MOREY; else if( text == "daniel" ) colorFormula = DANIEL; else if( text == "mosher" ) colorFormula = MOSHER; else { Brewtarget::log(Brewtarget::ERROR, QString("Bad color_formula type: %1").arg(text)); } } //========================Gravity================== text = getOptionValue(*optionsDoc, "use_plato", &hasOption); if( hasOption ) { if( text == "true" ) usePlato = true; else if( text == "false" ) usePlato = false; else { Brewtarget::logW(QString("Bad use_plato type: %1").arg(text)); } } //=======================Color unit=================== text = getOptionValue(*optionsDoc, "color_unit", &hasOption); if( hasOption ) { if( text == "srm" ) colorUnit = SRM; else if( text == "ebc" ) colorUnit = EBC; else Brewtarget::logW(QString("Bad color_unit type: %1").arg(text)); } delete optionsDoc; optionsDoc = 0; xmlFile.close(); // Don't do this on Windows. We have extra work to do and creating the // obsolete directory mess it all up. Not sure why that test is still in here #ifndef Q_OS_WIN // This shouldn't really happen, but lets be sure if( !cfgDir.exists("obsolete") ) cfgDir.mkdir("obsolete"); // copy the old file into obsolete and delete it cfgDir.cd("obsolete"); if( xmlFile.copy(cfgDir.filePath("options.xml")) ) xmlFile.remove(); #endif // And remove the flag btSettings.remove("hadOldConfig"); } void Brewtarget::readSystemOptions() { QString text; //================Version Checking======================== checkVersion = option("check_version", QVariant(false)).toBool(); //=====================Last DB Merge Request====================== if( hasOption("last_db_merge_req")) lastDbMergeRequest = QDateTime::fromString(option("last_db_merge_req","").toString(), Qt::ISODate); //=====================Language==================== if( hasOption("language") ) setLanguage(option("language","").toString()); //=======================Data Dir=========================== if( hasOption("user_data_dir") ) userDataDir = option("user_data_dir","").toString(); //=======================Weight===================== text = option("weight_unit_system", "SI").toString(); if( text == "Imperial" ) { weightUnitSystem = Imperial; weightSystem = UnitSystems::usWeightUnitSystem(); } else if (text == "USCustomary") { weightUnitSystem = USCustomary; weightSystem = UnitSystems::usWeightUnitSystem(); } else { weightUnitSystem = SI; weightSystem = UnitSystems::siWeightUnitSystem(); } //===========================Volume======================= text = option("volume_unit_system", "SI").toString(); if( text == "Imperial" ) { volumeUnitSystem = Imperial; volumeSystem = UnitSystems::imperialVolumeUnitSystem(); } else if (text == "USCustomary") { volumeUnitSystem = USCustomary; volumeSystem = UnitSystems::usVolumeUnitSystem(); } else { volumeUnitSystem = SI; volumeSystem = UnitSystems::siVolumeUnitSystem(); } //=======================Temp====================== text = option("temperature_scale", "SI").toString(); if( text == "Fahrenheit" ) { tempScale = Fahrenheit; tempSystem = UnitSystems::fahrenheitTempUnitSystem(); } else { tempScale = Celsius; tempSystem = UnitSystems::celsiusTempUnitSystem(); } //======================Time====================== // Set the one and only time system. timeSystem = UnitSystems::timeUnitSystem(); //===================IBU=================== text = option("ibu_formula", "tinseth").toString(); if( text == "tinseth" ) ibuFormula = TINSETH; else if( text == "rager" ) ibuFormula = RAGER; else { Brewtarget::log(Brewtarget::ERROR, QString("Bad ibu_formula type: %1").arg(text)); } //========================Color====================== text = option("color_formula", "morey").toString(); if( text == "morey" ) colorFormula = MOREY; else if( text == "daniel" ) colorFormula = DANIEL; else if( text == "mosher" ) colorFormula = MOSHER; else { Brewtarget::log(Brewtarget::ERROR, QString("Bad color_formula type: %1").arg(text)); } //========================Gravity================== usePlato = option("use_plato", false).toBool(); //=======================Color unit=================== text = option("color_unit", "srm").toString(); if( text == "srm" ) colorUnit = SRM; else if( text == "ebc" ) colorUnit = EBC; else Brewtarget::logW(QString("Bad color_unit type: %1").arg(text)); } void Brewtarget::saveSystemOptions() { QString text; setOption("check_version", checkVersion); setOption("last_db_merge_req", lastDbMergeRequest.toString(Qt::ISODate)); setOption("language", getCurrentLanguage()); setOption("user_data_dir", userDataDir); setOption("weight_unit_system", weightSystem->unitType()); setOption("volume_unit_system",volumeSystem->unitType()); setOption("temperature_scale", tempSystem->unitType()); setOption("use_plato", usePlato); switch(ibuFormula) { case TINSETH: setOption("ibu_formula", "tinseth"); break; case RAGER: setOption("ibu_formula", "rager"); break; } switch(colorFormula) { case MOREY: setOption("color_formula", "morey"); break; case DANIEL: setOption("color_formula", "daniel"); break; case MOSHER: setOption("color_formula", "mosher"); break; } switch(colorUnit) { case SRM: setOption("color_unit", "srm"); break; case EBC: setOption("color_unit", "ebc"); break; } } double Brewtarget::weightQStringToSI(QString qstr, unitDisplay dispUnit) { UnitSystem* temp = findMassUnitSystem(dispUnit); return temp->qstringToSI(qstr); } double Brewtarget::volQStringToSI(QString qstr, unitDisplay dispUnit) { UnitSystem* temp = findVolumeUnitSystem(dispUnit); return temp->qstringToSI(qstr); } double Brewtarget::tempQStringToSI(QString qstr, unitDisplay dispUnit) { UnitSystem* temp = findTemperatureSystem(dispUnit); return temp->qstringToSI(qstr); } double Brewtarget::colorQStringToSI(QString qstr) { if ( colorUnit == SRM ) return qstr.toDouble(); else return qstr.toDouble() * 12.7/25.0; } double Brewtarget::timeQStringToSI(QString qstr) { return timeSystem->qstringToSI(qstr); } bool Brewtarget::hasUnits(QString qstr) { // accepts X,XXX.YZ (or X.XXX,YZ for EU users) as well as .YZ (or ,YZ) followed by // some unit string QString decimal = QRegExp::escape( QLocale::system().decimalPoint()); QString grouping = QRegExp::escape(QLocale::system().groupSeparator()); QRegExp amtUnit("((?:\\d+" + grouping + ")?\\d+(?:" + decimal + "\\d+)?|" + decimal + "\\d+)\\s*(\\w+)?"); amtUnit.indexIn(qstr); return amtUnit.cap(2).size() > 0; } QString Brewtarget::displayOG( double og, unitDisplay displayUnit, bool showUnits) { QString ret; if( Algorithms::Instance().isnan(og) || Algorithms::Instance().isinf(og) ) return "-"; // Field settings override defaults if ( displayUnit == noUnit ) displayUnit = usePlato ? displayPlato : displaySg; QString tmp = "%L1"; if ( showUnits && displayUnit == displayPlato ) tmp = "%L1 %2"; if( displayUnit == displaySg ) ret = tmp.arg(og, 0, 'f', 3); else // Using Plato... { if( og >= 1.000 ) // Make sure OG is sane. ret = tmp.arg(Algorithms::Instance().SG_20C20C_toPlato(og), 0, 'f', 1); else ret = tmp.arg(0); } if( showUnits && displayUnit == displayPlato ) ret = ret.arg("P"); return ret; } QString Brewtarget::displayOG( BeerXMLElement* element, QObject* object, QString attribute, bool showUnits) { double og; unitDisplay displayUnit; if ( element->property(attribute.toLatin1().constData()).canConvert(QVariant::Double) ) { displayUnit = (unitDisplay)option(attribute, noUnit, object, UNIT).toInt(); og = element->property(attribute.toLatin1().constData()).toDouble(); return displayOG(og, displayUnit, showUnits); } else return "?"; } QString Brewtarget::displayFG( double fg, double og, unitDisplay displayUnit, bool showUnits ) { QString ret = "%L1"; if( Algorithms::Instance().isnan(fg) || Algorithms::Instance().isinf(fg) || Algorithms::Instance().isnan(og) || Algorithms::Instance().isinf(og) ) return "-"; if ( displayUnit == noUnit ) displayUnit = usePlato ? displayPlato : displaySg; if ( showUnits && displayUnit == displayPlato ) ret = "%L1 %2"; if( displayUnit == displaySg ) ret = ret.arg(fg, 0, 'f', 3); else { double plato; if( og < fg || og < 1.000 || fg < 0.001 ) plato = 0; // Strange input, so just say 0. else { // The following shows Plato as it would be on a // hydrometer. //plato = Algorithms::Instance().ogFgToPlato( og, fg ); // The following shows ACTUAL Plato plato = Algorithms::Instance().SG_20C20C_toPlato(fg); } ret = ret.arg( plato, 0, 'f', 1 ); } if( showUnits && displayUnit == displayPlato) ret = ret.arg("P"); return ret; } // Damn. That is pretty. I actually got the bloody displayFG to look right. QString Brewtarget::displayFG(QPair fg, QPair og, QObject* object, bool showUnits) { QString fgAttr = fg.first; BeerXMLElement* fgElem = fg.second; QString ogAttr = og.first; BeerXMLElement* ogElem = og.second; unitDisplay displayUnit; if ( fgElem->property(fgAttr.toLatin1().constData()).canConvert(QVariant::Double) && ogElem->property(ogAttr.toLatin1().constData()).canConvert(QVariant::Double) ) { // Note: it is the setting for the FG attribute that drives what unit is // displayed displayUnit = (unitDisplay)option(fgAttr, noUnit, object, UNIT).toInt(); return displayFG(fgElem->property(fgAttr.toLatin1().constData()).toDouble(), ogElem->property(ogAttr.toLatin1().constData()).toDouble(), displayUnit, showUnits); } return "?"; } QString Brewtarget::displayColor( double srm, unitDisplay displayUnit, bool showUnits ) { QString ret; if ( displayUnit == noUnit ) displayUnit = colorUnit == Brewtarget::SRM ? displaySrm : displayEbc; if ( displayUnit == displaySrm ) ret = showUnits ? QString("%L1 %2").arg(srm,0,'f',1).arg(Units::srm->getUnitName()) : QString("%L1").arg(srm,0,'f',1); else { double ebc = Units::ebc->fromSI(srm); ret = showUnits ? QString("%L1 %2").arg(ebc,0,'f',1).arg(Units::ebc->getUnitName()) : QString("%L1").arg(ebc,0,'f',1); } return ret; } QString Brewtarget::displayColor( BeerXMLElement* element, QObject* object, QString attribute, bool showUnits ) { double srm; unitDisplay displayUnit; if ( element->property( attribute.toLatin1().constData()).canConvert(QVariant::Double)) { srm = element->property(attribute.toLatin1().constData()).toDouble(); displayUnit = (unitDisplay)option(attribute, noUnit, object, UNIT).toInt(); return displayColor(srm, displayUnit, showUnits); } return "?"; } QString Brewtarget::displayDate(QDate const& date ) { QLocale loc(QLocale::system().name()); return date.toString(loc.dateFormat(QLocale::ShortFormat)); } bool Brewtarget::hasOption(QString attribute, const QObject* object, iUnitOps ops) { QString name; if ( object ) name = generateName(attribute,object,ops); else name = attribute; return btSettings.contains(name); } void Brewtarget::setOption(QString attribute, QVariant value, const QObject* object, iUnitOps ops) { QString name; if ( object ) name = generateName(attribute,object,ops); else name = attribute; btSettings.setValue(name,value); } QVariant Brewtarget::option(QString attribute, QVariant default_value, const QObject* object, iUnitOps ops) { QString name; if ( object ) name = generateName(attribute,object,ops); else name = attribute; return btSettings.value(name,default_value); } void Brewtarget::removeOption(QString attribute) { if ( hasOption(attribute) ) btSettings.remove(attribute); } QString Brewtarget::generateName(QString attribute, const QObject* object, iUnitOps ops) { QString ret = QString("%1/%2").arg(object->objectName()).arg(attribute); if ( ops != NOOP ) ret += ops == UNIT ? "_unit" : "_scale"; return ret; } // These are used in at least two places. I hate cut'n'paste coding so I am // putting them here. QMenu* Brewtarget::setupColorMenu(QWidget* parent, unitDisplay unit) { QMenu* menu = new QMenu(parent); generateAction(menu, tr("Default"), noUnit, unit); generateAction(menu, tr("EBC"), displayEbc, unit); generateAction(menu, tr("SRM"), displaySrm, unit); return menu; } QMenu* Brewtarget::setupGravityMenu(QWidget* parent, unitDisplay unit) { QMenu* menu = new QMenu(parent); generateAction(menu, tr("Default"), noUnit, unit); generateAction(menu, tr("Plato"), displayPlato, unit); generateAction(menu, tr("Specific Gravity"), displaySg, unit); return menu; } QMenu* Brewtarget::setupMassMenu(QWidget* parent, unitDisplay unit, unitScale scale, bool generateScale) { QMenu* menu = new QMenu(parent); QMenu* sMenu; generateAction(menu, tr("Default"), noUnit, unit); generateAction(menu, tr("SI"), displaySI, unit); generateAction(menu, tr("US Customary"), displayUS, unit); // Some places can't do scale -- like yeast tables and misc tables because // they can be mixed. It doesn't stop the unit selection from working, but // the scale menus don't make sense if ( generateScale == false ) return menu; if ( unit == noUnit ) { switch(Brewtarget::getWeightUnitSystem()) { case USCustomary: unit = displayUS; break; default: unit = displaySI; } } sMenu = new QMenu(menu); switch(unit) { case displaySI: generateAction(sMenu, tr("Default"), noScale, scale); generateAction(sMenu, tr("Milligrams"), extrasmall, scale); generateAction(sMenu, tr("Grams"), small, scale); generateAction(sMenu, tr("Kilograms"), medium, scale); break; default: generateAction(sMenu, tr("Default"), noScale, scale); generateAction(sMenu, tr("Ounces"), extrasmall, scale); generateAction(sMenu, tr("Pounds"), small, scale); break; } sMenu->setTitle("Scale"); menu->addMenu(sMenu); return menu; } QMenu* Brewtarget::setupTemperatureMenu(QWidget* parent, unitDisplay unit) { QMenu* menu = new QMenu(parent); generateAction(menu, tr("Default"), noUnit, unit); generateAction(menu, tr("Celsius"), displaySI, unit); generateAction(menu, tr("Fahrenheit"), displayUS, unit); return menu; } QMenu* Brewtarget::setupVolumeMenu(QWidget* parent, unitDisplay unit, unitScale scale, bool generateScale) { QMenu* menu = new QMenu(parent); QMenu* sMenu; generateAction(menu, tr("Default"), noUnit, unit); generateAction(menu, tr("SI"), displaySI, unit); generateAction(menu, tr("US Customary"), displayUS, unit); generateAction(menu, tr("British Imperial"), displayImp, unit); if ( generateScale == false ) return menu; if ( unit == noUnit ) { switch(Brewtarget::getVolumeUnitSystem()) { case USCustomary: unit = displayUS; break; case Imperial: unit = displayImp; break; default: unit = displaySI; } } sMenu = new QMenu(menu); switch(unit) { case displaySI: generateAction(sMenu, tr("Default"), noScale, scale); generateAction(sMenu, tr("MilliLiters"), extrasmall, scale); generateAction(sMenu, tr("Liters"), small, scale); break; // I can cheat because Imperial and US use the same names default: generateAction(sMenu, tr("Default"), noScale, scale); generateAction(sMenu, tr("Teaspoons"), extrasmall, scale); generateAction(sMenu, tr("Tablespoons"), small, scale); generateAction(sMenu, tr("Cups"), medium, scale); generateAction(sMenu, tr("Quarts"), large, scale); generateAction(sMenu, tr("Gallons"), extralarge, scale); break; } sMenu->setTitle("Scale"); menu->addMenu(sMenu); return menu; } void Brewtarget::generateAction(QMenu* menu, QString text, QVariant data, QVariant currentVal) { QAction* action = new QAction(menu); action->setText(text); action->setData(data); action->setCheckable(true); action->setChecked(currentVal == data);; menu->addAction(action); } MainWindow* Brewtarget::mainWindow() { return _mainWindow; } brewtarget-2.0.2/src/misc.h0000644000175000017500000001114112266512167015116 0ustar philipphilip/* * misc.h is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef _MISC_H #define _MISC_H #include #include "BeerXMLElement.h" // Forward declarations. class Misc; /*! * \class Misc * \author Philip G. Lee * * \brief Model for a misc record in the database. */ class Misc : public BeerXMLElement { Q_OBJECT friend class Database; public: //! \brief The type of ingredient. enum Type {Spice, Fining, Water_Agent, Herb, Flavor, Other}; // NOTE: BeerXML expects "Water Agent", but we can't have white space in enums :-/. //! \brief Where the ingredient is used. enum Use { Boil, Mash, Primary, Secondary, Bottling }; Q_ENUMS( Type Use ) virtual ~Misc() {} //! \brief The name. Q_PROPERTY( QString name READ name WRITE setName NOTIFY changedName ) //! \brief The \c Type. Q_PROPERTY( Type type READ type WRITE setType /*NOTIFY changed*/ /*changedType*/ ) //! \brief The \c Type string. Q_PROPERTY( QString typeString READ typeString /*NOTIFY changed*/ STORED false ) //! \brief The translated \c Type string. Q_PROPERTY( QString typeStringTr READ typeStringTr /*NOTIFY changed*/ STORED false ) //! \brief The \c Use. Q_PROPERTY( Use use READ use WRITE setUse /*NOTIFY changed*/ /*changedUse*/ ) //! \brief The \c Use string. Q_PROPERTY( QString useString READ useString /*NOTIFY changed*/ /*changedUse*/ STORED false ) //! \brief The translated \c Use string. Q_PROPERTY( QString useStringTr READ useStringTr /*NOTIFY changed*/ /*changedUse*/ STORED false ) //! \brief The time used in minutes. Q_PROPERTY( double time READ time WRITE setTime /*NOTIFY changed*/ /*changedTime*/ ) //! \brief The amount in either kg or L, depending on \c amountIsWeight(). Q_PROPERTY( double amount READ amount WRITE setAmount /*NOTIFY changed*/ /*changedAmount*/ ) //! \brief Whether the amount is weight (kg), or volume (L). Q_PROPERTY( bool amountIsWeight READ amountIsWeight WRITE setAmountIsWeight /*NOTIFY changed*/ /*changedAmountIsWeight*/ ) //! \brief What to use it for. Q_PROPERTY( QString useFor READ useFor WRITE setUseFor /*NOTIFY changed*/ /*changedUseFor*/ ) //! \brief The notes. Q_PROPERTY( QString notes READ notes WRITE setNotes /*NOTIFY changed*/ /*changedNotes*/ ) // Set void setName( const QString &var ); void setType( Type t ); void setUse( Use u ); void setAmount( double var ); void setTime( double var ); void setAmountIsWeight( bool var ); void setUseFor( const QString &var ); void setNotes( const QString &var ); // Get QString name() const; Type type() const; const QString typeString() const; const QString typeStringTr() const; Use use() const; const QString useString() const; const QString useStringTr() const; double amount() const; double time() const; bool amountIsWeight() const; QString useFor() const; QString notes() const; signals: //! \brief Emitted when \c name() changes. void changedName(QString); /* void changedType(Type); void changedUse(Use); void changedTime(double); void changedAmount(double); void changedAmountIsWeight(bool); void changedUseFor(QString); void changedNotes(QString); */ private: Misc(); Misc(Misc const& other); bool isValidType( const QString &var ); bool isValidUse( const QString &var ); static QStringList types; static QStringList uses; static QHash tagToProp; static QHash tagToPropHash(); }; inline bool MiscPtrLt( Misc* lhs, Misc* rhs) { return lhs->name() < rhs->name(); } inline bool MiscPtrEq( Misc* lhs, Misc* rhs) { return lhs->name() == rhs->name(); } struct Misc_ptr_cmp { bool operator()( Misc* lhs, Misc* rhs) { return lhs->name() < rhs->name(); } }; struct Misc_ptr_equals { bool operator()( Misc* lhs, Misc* rhs ) { return lhs->name() == rhs->name(); } }; #endif /* _MISC_H */ brewtarget-2.0.2/src/NamedMashEditor.h0000644000175000017500000000574012266512167017177 0ustar philipphilip/* * NamedMashEditor.h is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2012. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef _NAMEDMASHEDITOR_H #define _NAMEDMASHEDITOR_H class NamedMashEditor; #include #include #include #include "ui_namedMashEditor.h" #include "MashStepTableModel.h" #include "MashListModel.h" #include "MashStepEditor.h" #include "EquipmentListModel.h" #include "BeerXMLSortProxyModel.h" // Forward declarations. class Recipe; class Mash; class Equipment; /*! * \class NamedMashEditor * \author Philip G. Lee * * \brief View/controller dialog for editing a mash. */ class NamedMashEditor : public QDialog, public Ui::namedMashEditor { Q_OBJECT public: NamedMashEditor( QWidget *parent = 0, MashStepEditor* editor =0, bool singleMashEditor = false ); public slots: //! show the editor window void showEditor(); //! close the editor window, abandoning changes void closeEditor(); //! save the changes and close the editor void saveAndClose(); //! Set the mash we wish to view/edit. void setMash(Mash* mash); //! add a mash step to the mash void addMashStep(); //! remove a mash step to the mash void removeMashStep(); //! move a mash step up if you can void moveMashStepUp(); //! move a mash step down if you can void moveMashStepDown(); //! Get the tun mass and sp. heat from the equipment combobox void fromEquipment(const QString& name); //! set the current mash being edited according to the combobox void mashSelected( const QString& name); //! delete the mash void removeMash(); //! Our standard changed slot void changed(QMetaProperty,QVariant); private: //! The mash we are watching Mash* mashObs; //! The mash list model for the combobox MashListModel* mashListModel; //! The table model MashStepTableModel* mashStepTableModel; //! and the mash step edit. Don't know if we need this one MashStepEditor* mashStepEditor; //! This is getting fun! EquipmentListModel* equipListModel; //! Show any changes made. This will get ugly, I am sure void showChanges(QMetaProperty* prop = 0); //! Clear the mash and delete all of its steps void clear(); //! Convenience method to make sure just one item was selected bool justOne(QModelIndexList selected); }; #endif /* _NAMEDMASHEDITOR_H */ brewtarget-2.0.2/src/NamedMashEditor.cpp0000644000175000017500000002222512266512167017527 0ustar philipphilip/* * NamedMashEditor.cpp is part of Brewtarget, and is Copyright Mik Firestone * (mikfire@gmail.com), 2013-2015 * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include #include #include "mash.h" #include "brewtarget.h" #include "unit.h" #include "equipment.h" #include "recipe.h" #include "database.h" #include "NamedMashEditor.h" NamedMashEditor::NamedMashEditor(QWidget* parent, MashStepEditor* editor, bool singleMashEditor) : QDialog(parent), mashObs(0) { setupUi(this); if ( singleMashEditor ) { for (int i = 0; i < horizontalLayout_mashs->count(); ++i) { QWidget* w = horizontalLayout_mashs->itemAt(i)->widget(); if (w) w->setVisible(false); } // pushButton_new->setVisible(false); } //! Create the list model and assign it to the combo box mashListModel = new MashListModel(mashComboBox); mashComboBox->setModel( mashListModel ); //! Create the table model (and may St. Stevens take pity) mashStepTableModel = new MashStepTableModel(mashStepTableWidget); mashStepTableWidget->setItemDelegate(new MashStepItemDelegate()); mashStepTableWidget->setModel(mashStepTableModel); //! Preserve the step editor mashStepEditor = editor; //! And do some fun stuff with the equipment equipListModel = new EquipmentListModel(equipmentComboBox); equipmentComboBox->setModel(equipListModel); connect(equipmentComboBox, SIGNAL(activated(const QString&)), this, SLOT(fromEquipment(const QString&))); // ok and cancel buttons connect(pushButton_save, SIGNAL(clicked()), this, SLOT(saveAndClose()) ); connect(pushButton_cancel, SIGNAL(clicked()), this, SLOT(closeEditor()) ); // new mash step, delete mash step, move mash step up and down connect(pushButton_addMashStep, SIGNAL(clicked()), this, SLOT(addMashStep())); connect(pushButton_removeMashStep, SIGNAL(clicked()), this, SLOT(removeMashStep())); connect(pushButton_mashUp, SIGNAL(clicked()), this, SLOT(moveMashStepUp())); connect(pushButton_mashDown, SIGNAL(clicked()), this, SLOT(moveMashStepDown())); // finally, the combo box and the remove mash button connect(mashComboBox, SIGNAL(activated(const QString&)), this, SLOT(mashSelected(const QString&))); connect(pushButton_remove, SIGNAL(clicked()), this, SLOT(removeMash())); setMash(mashListModel->at(mashComboBox->currentIndex())); } void NamedMashEditor::showEditor() { showChanges(); setVisible(true); } void NamedMashEditor::closeEditor() { setVisible(false); } void NamedMashEditor::saveAndClose() { if( mashObs == 0 ) return; //mash->disableNotification(); // If we don't do this, the notification will propagate to a showChanges() and we'll lose any info we want saved. mashObs->setEquipAdjust( true ); // BeerXML won't like me, but it's just stupid not to adjust for the equipment when you're able. mashObs->setName( lineEdit_name->text() ); mashObs->setGrainTemp_c(Brewtarget::tempQStringToSI(lineEdit_grainTemp->text())); mashObs->setSpargeTemp_c(Brewtarget::tempQStringToSI(lineEdit_spargeTemp->text())); mashObs->setPh(lineEdit_spargePh->text().toDouble()); mashObs->setTunTemp_c(Brewtarget::tempQStringToSI(lineEdit_tunTemp->text())); mashObs->setTunWeight_kg(Brewtarget::weightQStringToSI(lineEdit_tunMass->text())); mashObs->setTunSpecificHeat_calGC(lineEdit_tunSpHeat->text().toDouble() ); mashObs->setNotes( textEdit_notes->toPlainText() ); //mash->reenableNotification(); //mash->forceNotify(); } void NamedMashEditor::setMash(Mash* mash) { if( mashObs ) disconnect( mashObs, 0, this, 0 ); mashObs = mash; mashStepTableModel->setMash(mashObs); if( mashObs ) { connect( mashObs, SIGNAL(changed(QMetaProperty,QVariant)), this, SLOT(changed(QMetaProperty,QVariant)) ); showChanges(); } } void NamedMashEditor::changed(QMetaProperty prop, QVariant /*val*/) { if( sender() == mashObs ) showChanges(&prop); } void NamedMashEditor::showChanges(QMetaProperty* prop) { bool updateAll = false; QString propName; if( mashObs == 0 ) { clear(); return; } if( prop == 0 ) updateAll = true; else propName = prop->name(); if( propName == "name" || updateAll ) { lineEdit_name->setText(mashObs->name()); if( ! updateAll ) return; } if( propName == "grainTemp_c" || updateAll ) { lineEdit_grainTemp->setText(Brewtarget::displayAmount(mashObs->grainTemp_c(), Units::celsius)); if( ! updateAll ) return; } if( propName == "spargeTemp_c" || updateAll ) { lineEdit_spargeTemp->setText(Brewtarget::displayAmount(mashObs->spargeTemp_c(), Units::celsius)); if( ! updateAll ) return; } if( propName == "ph" || updateAll ) { lineEdit_spargePh->setText(Brewtarget::displayAmount(mashObs->ph())); if( ! updateAll ) return; } if( propName == "tunTemp_c" || updateAll ) { lineEdit_tunTemp->setText(Brewtarget::displayAmount(mashObs->tunTemp_c(), Units::celsius)); if( ! updateAll ) return; } if( propName == "tunMass_kg" || updateAll ) { lineEdit_tunMass->setText(Brewtarget::displayAmount(mashObs->tunWeight_kg(), Units::kilograms)); if( ! updateAll ) return; } if( propName == "tunSpecificHeat_calGC" || updateAll ) { lineEdit_tunSpHeat->setText(Brewtarget::displayAmount(mashObs->tunSpecificHeat_calGC())); if( ! updateAll ) return; } if( propName == "notes" || updateAll ) { textEdit_notes->setPlainText(mashObs->notes()); if( ! updateAll ) return; } } void NamedMashEditor::clear() { lineEdit_name->setText(""); lineEdit_grainTemp->setText(""); lineEdit_spargeTemp->setText(""); lineEdit_spargePh->setText(""); lineEdit_tunTemp->setText(""); lineEdit_tunMass->setText(""); lineEdit_tunSpHeat->setText(""); textEdit_notes->setPlainText(""); } void NamedMashEditor::addMashStep() { if ( ! mashObs ) return; MashStep* step = Database::instance().newMashStep(mashObs); mashStepEditor->setMashStep(step); mashStepEditor->setVisible(true); } bool NamedMashEditor::justOne(QModelIndexList selected) { int row, size, i; size = selected.size(); if ( ! size ) return false; row = selected[0].row(); for( i = 1; i < size; ++i ) { if ( selected[i].row() != row ) return false; } return true; } void NamedMashEditor::removeMashStep() { if ( ! mashObs ) return; QModelIndexList selected = mashStepTableWidget->selectionModel()->selectedIndexes(); if ( !justOne(selected) ) return; MashStep* step = mashStepTableModel->getMashStep(selected[0].row()); Database::instance().removeFrom(mashObs, step); } void NamedMashEditor::moveMashStepUp() { QModelIndexList selected = mashStepTableWidget->selectionModel()->selectedIndexes(); int row = selected[0].row(); if ( ! justOne(selected) || row < 1) return; MashStep* m1 = mashStepTableModel->getMashStep(row); MashStep* m2 = mashStepTableModel->getMashStep(row-1); Database::instance().swapMashStepOrder(m1,m2); } void NamedMashEditor::moveMashStepDown() { QModelIndexList selected = mashStepTableWidget->selectionModel()->selectedIndexes(); int row = selected[0].row(); if ( ! justOne(selected) || row >= mashStepTableModel->rowCount()-1 ) return; MashStep* m1 = mashStepTableModel->getMashStep(row); MashStep* m2 = mashStepTableModel->getMashStep(row+1); Database::instance().swapMashStepOrder(m1,m2); } void NamedMashEditor::mashSelected(const QString& name) { Mash* selected = mashListModel->at(mashComboBox->currentIndex()); if (selected && selected != mashObs) setMash(selected); } void NamedMashEditor::fromEquipment(const QString& name) { if( mashObs == 0 ) return; Equipment* selected = equipListModel->at(equipmentComboBox->currentIndex()); if ( selected ) { lineEdit_tunMass->setText(Brewtarget::displayAmount(selected->tunWeight_kg(), Units::kilograms)); lineEdit_tunSpHeat->setText(Brewtarget::displayAmount(selected->tunSpecificHeat_calGC())); } } void NamedMashEditor::removeMash() { if ( ! mashObs ) return; int newMash = mashComboBox->currentIndex() - 1; // I *think* we want to disconnect the mash first? disconnect(mashObs, 0, this, 0); // Delete the mashsteps QList steps = mashObs->mashSteps(); Database::instance().removeMashStep(steps); // and delete the mash itself Database::instance().removeMash(mashObs); setMash(mashListModel->at(newMash)); } brewtarget-2.0.2/src/YeastSortFilterProxyModel.cpp0000644000175000017500000000412012266512167021643 0ustar philipphilip/* * YeastSortFilterProxyModel.cpp is part of Brewtarget, and is Copyright * Mik Firestone (mikfire@gmail.com), 2010-2013, * Philip G. Lee , 2010-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include "YeastSortFilterProxyModel.h" #include "YeastTableModel.h" #include "yeast.h" #include "brewtarget.h" #include YeastSortFilterProxyModel::YeastSortFilterProxyModel(QObject *parent, bool filt) : QSortFilterProxyModel(parent) { filter = filt; } bool YeastSortFilterProxyModel::lessThan(const QModelIndex &left, const QModelIndex &right) const { QVariant leftYeast = sourceModel()->data(left); QVariant rightYeast = sourceModel()->data(right); switch( left.column() ) { // This is a lie. I need to figure out if they are weights or volumes. // and then figure some reasonable way to compare weights to volumes. // Maybe lying isn't such a bad idea case YEASTAMOUNTCOL: return Brewtarget::volQStringToSI(leftYeast.toString()) < Brewtarget::volQStringToSI(rightYeast.toString()); case YEASTPRODIDCOL: return leftYeast.toDouble() < rightYeast.toDouble(); default: return leftYeast.toString() < rightYeast.toString(); } } bool YeastSortFilterProxyModel::filterAcceptsRow( int source_row, const QModelIndex &source_parent) const { YeastTableModel* model = qobject_cast(sourceModel()); return ! filter || model->getYeast(source_row)->display(); } brewtarget-2.0.2/src/FahrenheitTempUnitSystem.h0000644000175000017500000000254212266512167021140 0ustar philipphilip/* * FahrenheitTempUnitSystem.h is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef _FAHRENHEITTEMPUNITSYSTEM_H #define _FAHRENHEITTEMPUNITSYSTEM_H class FahrenheitTempUnitSystem; #include #include "UnitSystem.h" class FahrenheitTempUnitSystem : public UnitSystem { public: FahrenheitTempUnitSystem(); QString displayAmount( double amount, Unit* units = 0, unitScale scale = noScale ); /* Inherited from UnitSystem */ double qstringToSI( QString qstr ); /* Inherited from UnitSystem */ Unit* thicknessUnit(){ return 0; } QString unitType(); private: static void ensureMapIsSetup(); static bool isMapSetup; }; #endif /*_FAHRENHEITTEMPUNITSYSTEM_H*/ brewtarget-2.0.2/src/EquipmentListModel.h0000644000175000017500000000477312266512167017764 0ustar philipphilip/* * EquipmentListModel.h is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef _EQUIPMENTLISTMODEL_H #define _EQUIPMENTLISTMODEL_H #include #include #include #include #include // Forward declarations. class Equipment; class Recipe; /*! * \class EquipmentListModel * \author Philip G. Lee * * \brief Model for a list of equipments. */ class EquipmentListModel : public QAbstractListModel { Q_OBJECT public: EquipmentListModel(QWidget* parent = 0); //! \brief Reimplemented from QAbstractListModel. virtual int rowCount( QModelIndex const& parent = QModelIndex() ) const; //! \brief Reimplemented from QAbstractListModel. virtual QVariant data( QModelIndex const& index, int role = Qt::DisplayRole ) const; //! \brief Reimplemented from QAbstractListModel. virtual QVariant headerData( int section, Qt::Orientation orientation, int role = Qt::DisplayRole ) const; void observeRecipe(Recipe* rec); //! \brief Add many equipments to the list. void addEquipments(QList equips); //! \brief Remove all equipments from the list. void removeAll(); //! \brief Return the equipment at the index in the list. Equipment* at(int ndx); //! \brief Return the index of a particular equipment. DEPRECATED. int indexOf(Equipment* e); //! \brief Return the index of a particular equipment. QModelIndex find(Equipment* e); public slots: void recChanged(QMetaProperty,QVariant); void equipChanged(QMetaProperty,QVariant); //! Add an equipment to the list. void addEquipment(Equipment* equipment); //! Remove an equipment from the list. void removeEquipment(Equipment* equipment); private: QList equipments; Recipe* recipe; void repopulateList(); }; #endif /* _EQUIPMENTLISTMODEL_H */ brewtarget-2.0.2/src/unit.h0000644000175000017500000004471412266512167015156 0ustar philipphilip/* * unit.h is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef _UNIT_H #define _UNIT_H class Unit; class Units; // A container of instances. class KilogramUnit; class GramUnit; class MilligramUnit; class PoundUnit; class OunceUnit; class LiterUnit; class MilliliterUnit; class USBarrelUnit; class USGallonUnit; class USQuartUnit; class USCupUnit; class ImperialGallonUnit; class ImperialQuartUnit; class ImperialCupUnit; class TablespoonUnit; class TeaspoonUnit; class SecondUnit; class MinuteUnit; class HourUnit; class CelsiusUnit; class FahrenheitUnit; class KelvinUnit; #include #include #include #include #include enum UnitType { Mass, Volume, Time, Temp, Color }; enum iUnitSystem { SI = 0, USCustomary = 1, Imperial = 2, ImperialAndUS = 3, Any = 4 }; enum TempScale { Celsius, Fahrenheit, Kelvin }; // DO NOT change noscale's value. Lots of assumptions are made based on this // value, both in the code and (more importantly) in the database. enum unitScale { noScale = -1, extrasmall = 0, small = 1, medium = 2, large = 3, extralarge = 4 }; enum unitDisplay { noUnit = -1, displaySI = 0x100, displayUS = 0x101, displayImp = 0x102, displaySrm = 0x200, displayEbc = 0x201, displaySg = 0x300, displayPlato = 0x301 }; inline QString unitSystemToString(iUnitSystem us) { switch (us) { case SI: return "SI"; case USCustomary: return "USCustomary"; case Imperial: return "Imperial"; default: return 0; } } inline QString tempScaleToString(TempScale ts) { switch (ts) { case Celsius: return "Celsius"; case Fahrenheit: return "Fahrenheit"; default: return 0; } } // TODO: implement ppm, percent, diastatic power, ibuGalPerLb, gravity, srm, volumes. /*! * \class Unit * \author Philip G. Lee * * \brief Interface for arbitrary physical units and their formatting. */ class Unit : public QObject { Q_OBJECT Q_ENUMS(unitDisplay) Q_ENUMS(unitScale) public: virtual ~Unit() {} virtual double toSI( double amt ) const =0;// { return amt; } virtual double fromSI( double amt ) const =0;// { return amt; } // The unit name will be the singular of the commonly used abbreviation. virtual const QString getUnitName() const = 0; //{ return 0; } virtual const QString getSIUnitName() const = 0;// { return 0; } virtual const int getUnitType() const = 0;//{ return 0; } virtual const int getUnitOrTempSystem() const = 0;// { return 0; } static double convert( double amount, QString& fromUnit, QString& toUnit ); static QString convert( QString qstr, QString toUnit ); //! Returns SI. Places unit in \b *unit static double qstringToSI( QString qstr, Unit** unit = 0, bool mathCurrentSystem = true ); private: static Unit* getUnit(QString& name, bool matchCurrentSystem = true); static QMultiMap nameToUnit; static bool isMapSetup; static void setupMap(); }; // ================ Weight/Mass ================ class KilogramUnit : public Unit { public: KilogramUnit(); // Inherited methods. double toSI( double amt ) const; double fromSI( double amt ) const; const QString getUnitName() const { return unitName; } const QString getSIUnitName() const { return SIUnitName; } const int getUnitType() const { return Mass; }; const int getUnitOrTempSystem() const { return SI; }; private: QString unitName; QString SIUnitName; }; class GramUnit : public Unit { public: GramUnit(); // Inherited methods. double toSI( double amt ) const; double fromSI( double amt ) const; const QString getUnitName() const { return unitName; } const QString getSIUnitName() const { return SIUnitName; } const int getUnitType() const { return Mass; }; const int getUnitOrTempSystem() const { return SI; }; private: QString unitName; QString SIUnitName; }; class MilligramUnit : public Unit { public: MilligramUnit(); // Inherited methods. double toSI( double amt ) const; double fromSI( double amt ) const; const QString getUnitName() const { return unitName; } const QString getSIUnitName() const { return SIUnitName; } const int getUnitType() const { return Mass; }; const int getUnitOrTempSystem() const { return SI; }; private: QString unitName; QString SIUnitName; }; class PoundUnit : public Unit { public: PoundUnit(); // Inherited methods. double toSI( double amt ) const; double fromSI( double amt ) const; const QString getUnitName() const { return unitName; } const QString getSIUnitName() const { return SIUnitName; } const int getUnitType() const { return Mass; } const int getUnitOrTempSystem() const { return ImperialAndUS; } private: QString unitName; QString SIUnitName; }; class OunceUnit : public Unit { public: OunceUnit(); // Inherited methods. double toSI( double amt ) const; double fromSI( double amt ) const; const QString getUnitName() const { return unitName; } const QString getSIUnitName() const { return SIUnitName; } const int getUnitType() const { return Mass; } const int getUnitOrTempSystem() const { return ImperialAndUS; } private: QString unitName; QString SIUnitName; }; // ================ Volume ================ class LiterUnit : public Unit { public: LiterUnit(); // Inherited methods. double toSI( double amt ) const; double fromSI( double amt ) const; const QString getUnitName() const { return unitName; } const QString getSIUnitName() const { return SIUnitName; } const int getUnitType() const { return Volume; } const int getUnitOrTempSystem() const { return SI; } private: QString unitName; QString SIUnitName; }; class MilliliterUnit : public Unit { public: MilliliterUnit(); // Inherited methods. double toSI( double amt ) const; double fromSI( double amt ) const; const QString getUnitName() const { return unitName; } const QString getSIUnitName() const { return SIUnitName; } const int getUnitType() const { return Volume; } const int getUnitOrTempSystem() const { return SI; } private: QString unitName; QString SIUnitName; }; class USBarrelUnit : public Unit { public: USBarrelUnit(); // Inherited methods. double toSI( double amt ) const; double fromSI( double amt ) const; const QString getUnitName() const { return unitName; } const QString getSIUnitName() const { return SIUnitName; } const int getUnitType() const { return Volume; } const int getUnitOrTempSystem() const { return USCustomary; } private: QString unitName; QString SIUnitName; }; class USGallonUnit : public Unit { public: USGallonUnit(); // Inherited methods. double toSI( double amt ) const; double fromSI( double amt ) const; const QString getUnitName() const { return unitName; } const QString getSIUnitName() const { return SIUnitName; } const int getUnitType() const { return Volume; } const int getUnitOrTempSystem() const { return USCustomary; } private: QString unitName; QString SIUnitName; }; class USQuartUnit : public Unit { public: USQuartUnit(); // Inherited methods. double toSI( double amt ) const; double fromSI( double amt ) const; const QString getUnitName() const { return unitName; } const QString getSIUnitName() const { return SIUnitName; } const int getUnitType() const { return Volume; } const int getUnitOrTempSystem() const { return USCustomary; } private: QString unitName; QString SIUnitName; }; class USCupUnit : public Unit { public: USCupUnit(); // Inherited methods. double toSI( double amt ) const; double fromSI( double amt ) const; const QString getUnitName() const { return unitName; } const QString getSIUnitName() const { return SIUnitName; } const int getUnitType() const { return Volume; } const int getUnitOrTempSystem() const { return USCustomary; } private: QString unitName; QString SIUnitName; }; class ImperialBarrelUnit : public Unit { public: ImperialBarrelUnit(); // Inherited methods. double toSI( double amt ) const; double fromSI( double amt ) const; const QString getUnitName() const { return unitName; } const QString getSIUnitName() const { return SIUnitName; } const int getUnitType() const { return Volume; } const int getUnitOrTempSystem() const { return Imperial; } private: QString unitName; QString SIUnitName; }; class ImperialGallonUnit : public Unit { public: ImperialGallonUnit(); // Inherited methods. double toSI( double amt ) const; double fromSI( double amt ) const; const QString getUnitName() const { return unitName; } const QString getSIUnitName() const { return SIUnitName; } const int getUnitType() const { return Volume; } const int getUnitOrTempSystem() const { return Imperial; } private: QString unitName; QString SIUnitName; }; class ImperialQuartUnit : public Unit { public: ImperialQuartUnit(); // Inherited methods. double toSI( double amt ) const; double fromSI( double amt ) const; const QString getUnitName() const { return unitName; } const QString getSIUnitName() const { return SIUnitName; } const int getUnitType() const { return Volume; } const int getUnitOrTempSystem() const { return Imperial; } private: QString unitName; QString SIUnitName; }; class ImperialCupUnit : public Unit { public: ImperialCupUnit(); // Inherited methods. double toSI( double amt ) const; double fromSI( double amt ) const; const QString getUnitName() const { return unitName; } const QString getSIUnitName() const { return SIUnitName; } const int getUnitType() const { return Volume; } const int getUnitOrTempSystem() const { return Imperial; } private: QString unitName; QString SIUnitName; }; class ImperialTablespoonUnit : public Unit { public: ImperialTablespoonUnit(); // Inherited methods. double toSI( double amt ) const; double fromSI( double amt ) const; const QString getUnitName() const { return unitName; } const QString getSIUnitName() const { return SIUnitName; } const int getUnitType() const { return Volume; } const int getUnitOrTempSystem() const { return Imperial; } private: QString unitName; QString SIUnitName; }; class ImperialTeaspoonUnit : public Unit { public: ImperialTeaspoonUnit(); // Inherited methods. double toSI( double amt ) const; double fromSI( double amt ) const; const QString getUnitName() const { return unitName; } const QString getSIUnitName() const { return SIUnitName; } const int getUnitType() const { return Volume; } const int getUnitOrTempSystem() const { return Imperial; } private: QString unitName; QString SIUnitName; }; class USTablespoonUnit : public Unit { public: USTablespoonUnit(); // Inherited methods. double toSI( double amt ) const; double fromSI( double amt ) const; const QString getUnitName() const { return unitName; } const QString getSIUnitName() const { return SIUnitName; } const int getUnitType() const { return Volume; } const int getUnitOrTempSystem() const { return USCustomary; } private: QString unitName; QString SIUnitName; }; class USTeaspoonUnit : public Unit { public: USTeaspoonUnit(); // Inherited methods. double toSI( double amt ) const; double fromSI( double amt ) const; const QString getUnitName() const { return unitName; } const QString getSIUnitName() const { return SIUnitName; } const int getUnitType() const { return Volume; } const int getUnitOrTempSystem() const { return USCustomary; } private: QString unitName; QString SIUnitName; }; // ================ Time ================ class SecondUnit : public Unit { public: SecondUnit(); // Inherited methods. double toSI( double amt ) const; double fromSI( double amt ) const; const QString getUnitName() const { return unitName; } const QString getSIUnitName() const { return SIUnitName; } const int getUnitType() const { return Time; } const int getUnitOrTempSystem() const { return Any; } private: QString unitName; QString SIUnitName; }; class MinuteUnit : public Unit { public: MinuteUnit(); // Inherited methods. double toSI( double amt ) const; double fromSI( double amt ) const; const QString getUnitName() const { return unitName; } const QString getSIUnitName() const { return SIUnitName; } const int getUnitType() const { return Time; } const int getUnitOrTempSystem() const { return Any; } private: QString unitName; QString SIUnitName; }; class HourUnit : public Unit { public: HourUnit(); // Inherited methods. double toSI( double amt ) const; double fromSI( double amt ) const; const QString getUnitName() const { return unitName; } const QString getSIUnitName() const { return SIUnitName; } const int getUnitType() const { return Time; } const int getUnitOrTempSystem() const { return Any; } private: QString unitName; QString SIUnitName; }; class DayUnit: public Unit { public: DayUnit(); // Inherited methods. double toSI( double amt ) const; double fromSI( double amt ) const; const QString getUnitName() const { return unitName; } const QString getSIUnitName() const { return SIUnitName; } const int getUnitType() const { return Time; } const int getUnitOrTempSystem() const { return Any; } private: QString unitName; QString SIUnitName; }; // ================ Temperature ================ class CelsiusUnit : public Unit { public: CelsiusUnit(); // Inherited methods. double toSI( double amt ) const; double fromSI( double amt ) const; const QString getUnitName() const { return unitName; } const QString getSIUnitName() const { return SIUnitName; } const int getUnitType() const { return Temp; } const int getUnitOrTempSystem() const { return Celsius; } private: QString unitName; QString SIUnitName; }; class KelvinUnit : public Unit { public: KelvinUnit(); // Inherited methods. double toSI( double amt ) const; double fromSI( double amt ) const; const QString getUnitName() const { return unitName; } const QString getSIUnitName() const { return SIUnitName; } const int getUnitType() const { return Temp; } const int getUnitOrTempSystem() const { return Kelvin; } private: QString unitName; QString SIUnitName; }; class FahrenheitUnit : public Unit { public: FahrenheitUnit(); // Inherited methods. double toSI( double amt ) const; double fromSI( double amt ) const; const QString getUnitName() const { return unitName; } const QString getSIUnitName() const { return SIUnitName; } const int getUnitType() const { return Temp; } const int getUnitOrTempSystem() const { return Fahrenheit; } private: QString unitName; QString SIUnitName; }; // I will consider the standard unit of color // to be SRM. class SRMUnit : public Unit { public: SRMUnit(); // Inherited methods. double toSI( double amt ) const; double fromSI( double amt ) const; const QString getUnitName() const { return unitName; } const QString getSIUnitName() const { return SIUnitName; } const int getUnitType() const { return Color; } const int getUnitOrTempSystem() const { return Any; } private: QString unitName; QString SIUnitName; }; // I will consider the standard unit of color // to be SRM. class EBCUnit : public Unit { public: EBCUnit(); // Inherited methods. double toSI( double amt ) const; double fromSI( double amt ) const; const QString getUnitName() const { return unitName; } const QString getSIUnitName() const { return SIUnitName; } const int getUnitType() const { return Color; } const int getUnitOrTempSystem() const { return Any; } private: QString unitName; QString SIUnitName; }; class Units { public: Units(); // === Mass === static KilogramUnit *kilograms; static GramUnit *grams; static MilligramUnit *milligrams; static PoundUnit *pounds; static OunceUnit *ounces; // === Volume === static LiterUnit *liters; static MilliliterUnit *milliliters; static USBarrelUnit *us_barrels; static USGallonUnit *us_gallons; static USQuartUnit *us_quarts; static USCupUnit *us_cups; static ImperialBarrelUnit *imperial_barrels; static ImperialGallonUnit *imperial_gallons; static ImperialQuartUnit *imperial_quarts; static ImperialCupUnit *imperial_cups; static USTablespoonUnit *us_tablespoons; static USTeaspoonUnit *us_teaspoons; static ImperialTablespoonUnit *imperial_tablespoons; static ImperialTeaspoonUnit *imperial_teaspoons; // === Time === static SecondUnit *seconds; static MinuteUnit *minutes; static HourUnit *hours; static DayUnit *days; // === Temperature === static CelsiusUnit *celsius; static FahrenheitUnit *fahrenheit; static KelvinUnit *kelvin; // === Color === static SRMUnit *srm; static EBCUnit *ebc; }; #endif // _UNIT_H brewtarget-2.0.2/src/instruction.cpp0000644000175000017500000000547512266512167017114 0ustar philipphilip/* * instruction.cpp is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include "instruction.h" #include "brewtarget.h" #include "database.h" QHash Instruction::tagToProp = Instruction::tagToPropHash(); QHash Instruction::tagToPropHash() { QHash propHash; propHash["NAME"] = "name"; propHash["DIRECTIONS"] = "directions"; propHash["HAS_TIMER"] = "hasTimer"; propHash["TIMER_VALUE"] = "timerValue"; propHash["COMPLETED"] = "completed"; propHash["INTERVAL"] = "interval"; return propHash; } Instruction::Instruction() : BeerXMLElement() { setObjectName("Instruction"); } // Setters ==================================================================== void Instruction::setName(const QString& n) { set("name", "name", n); } void Instruction::setDirections(const QString& dir) { set("directions", "directions", dir); } void Instruction::setHasTimer(bool has) { set("hasTimer", "hasTimer", has); } void Instruction::setTimerValue(const QString& timerVal) { set("timerValue", "timerValue", timerVal); } void Instruction::setCompleted(bool comp) { set("completed", "completed", comp); } // TODO: figure out. /* void Instruction::setReagent(const QString& reagent) { reagents.push_back(QString(reagent)); } */ void Instruction::setInterval(double time) { set("interval", "interval", time); } void Instruction::addReagent(const QString& reagent) { _reagents.append(reagent); } // Accessors ================================================================== QString Instruction::name() { return get("name").toString(); } QString Instruction::directions() { return get("directions").toString(); } bool Instruction::hasTimer() { return get("hasTimer").toBool(); } QString Instruction::timerValue() { return get("timerValue").toString(); } bool Instruction::completed() { return get("completed").toBool(); } QList Instruction::reagents() { return _reagents; } double Instruction::interval() { return get("interval").toDouble(); } int Instruction::instructionNumber() const { return Database::instance().instructionNumber(this); } brewtarget-2.0.2/src/RefractoDialog.h0000644000175000017500000000240212266512167017050 0ustar philipphilip/* * RefractoDialog.h is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef _REFRACTODIALOG_H #define _REFRACTODIALOG_H class RefractoDialog; #include #include #include "ui_refractoDialog.h" /*! * \class RefractoDialog * \author Philip G. Lee * * \brief Dialog for calculating refractometer stuff. */ class RefractoDialog : public QDialog, public Ui::refractoDialog { Q_OBJECT public: RefractoDialog(QWidget* parent = 0); ~RefractoDialog(); private slots: void calculate(); private: void clearOutputFields(); }; #endif /*_REFRACTODIALOG_H*/ brewtarget-2.0.2/src/BtTextEdit.h0000644000175000017500000000306112266512167016205 0ustar philipphilip/* * BtTextEdit.h is part of Brewtarget and was written by Mik Firestone * (mikfire@gmail.com). Copyright is granted to Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef BTTEXTEDIT_H #define BTTEXTEDIT_H #include #include /*! * \class BtTextEdit * \author Mik Firestone * * \brief This extend QPlainTextEdit such that it only signals when the widget * loses focus and the text has been modified within the widget. This, in * turn, reduces the number of needless writes we make to the database. * */ class BtTextEdit : public QPlainTextEdit { Q_OBJECT public: BtTextEdit(QWidget* parent = 0); BtTextEdit(const QString &text, QWidget* parent = 0); bool isModified(); void focusOutEvent(QFocusEvent *e); void setPlainText( const QString& text); public slots: void textChanged(); signals: void textModified(); private: bool wasModified; }; #endif brewtarget-2.0.2/src/BrewTargetTreeModel.cpp0000644000175000017500000010602112266512167020367 0ustar philipphilip/* * BrewTargetTreeModel.cpp is part of Brewtarget and was written by Mik * Firestone (mikfire@gmail.com). Copyright is granted to Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include #include #include #include #include #include #include "brewtarget.h" #include "BrewTargetTreeItem.h" #include "BrewTargetTreeModel.h" #include "BrewTargetTreeView.h" #include "database.h" #include "equipment.h" #include "fermentable.h" #include "hop.h" #include "misc.h" #include "recipe.h" #include "yeast.h" #include "brewnote.h" #include "style.h" BrewTargetTreeModel::BrewTargetTreeModel(BrewTargetTreeView *parent, TypeMasks type) : QAbstractItemModel(parent) { // Initialize the tree structure int items = 0; rootItem = new BrewTargetTreeItem(); if ( type & RECIPEMASK) { rootItem->insertChildren(items,1,BrewTargetTreeItem::RECIPE); connect( &(Database::instance()), SIGNAL(newRecipeSignal(Recipe*)),this, SLOT(recipeAdded(Recipe*))); connect( &(Database::instance()), SIGNAL(deletedRecipeSignal(Recipe*)),this, SLOT(recipeRemoved(Recipe*))); // Brewnotes need love too! connect( &(Database::instance()), SIGNAL(newBrewNoteSignal(BrewNote*)),this, SLOT(brewNoteAdded(BrewNote*))); connect( &(Database::instance()), SIGNAL(deletedBrewNoteSignal(BrewNote*)),this, SLOT(brewNoteRemoved(BrewNote*))); } if ( type & EQUIPMASK ) { rootItem->insertChildren(items,1,BrewTargetTreeItem::EQUIPMENT); connect( &(Database::instance()), SIGNAL(newEquipmentSignal(Equipment*)),this, SLOT(equipmentAdded(Equipment*))); connect( &(Database::instance()), SIGNAL(deletedEquipmentSignal(Equipment*)),this, SLOT(equipmentRemoved(Equipment*))); } if ( type & FERMENTMASK ) { rootItem->insertChildren(items,1,BrewTargetTreeItem::FERMENTABLE); connect( &(Database::instance()), SIGNAL(newFermentableSignal(Fermentable*)),this, SLOT(fermentableAdded(Fermentable*))); connect( &(Database::instance()), SIGNAL(deletedFermentableSignal(Fermentable*)),this, SLOT(fermentableRemoved(Fermentable*))); } if ( type & HOPMASK ) { rootItem->insertChildren(items,1,BrewTargetTreeItem::HOP); connect( &(Database::instance()), SIGNAL(newHopSignal(Hop*)),this, SLOT(hopAdded(Hop*))); connect( &(Database::instance()), SIGNAL(deletedHopSignal(Hop*)),this, SLOT(hopRemoved(Hop*))); } if ( type & MISCMASK ) { rootItem->insertChildren(items,1,BrewTargetTreeItem::MISC); connect( &(Database::instance()), SIGNAL(newMiscSignal(Misc*)),this, SLOT(miscAdded(Misc*))); connect( &(Database::instance()), SIGNAL(deletedMiscSignal(Misc*)),this, SLOT(miscRemoved(Misc*))); } if ( type & YEASTMASK ) { rootItem->insertChildren(items,1,BrewTargetTreeItem::YEAST); connect( &(Database::instance()), SIGNAL(newYeastSignal(Yeast*)),this, SLOT(yeastAdded(Yeast*))); connect( &(Database::instance()), SIGNAL(deletedYeastSignal(Yeast*)),this, SLOT(yeastRemoved(Yeast*))); } if ( type & STYLEMASK ) { rootItem->insertChildren(items,1,BrewTargetTreeItem::STYLE); connect( &(Database::instance()), SIGNAL(newStyleSignal(Style*)),this, SLOT(styleAdded(Style*))); connect( &(Database::instance()), SIGNAL(deletedStyleSignal(Style*)),this, SLOT(styleRemoved(Style*))); } treeMask = type; parentTree = parent; loadTreeModel(); } BrewTargetTreeModel::~BrewTargetTreeModel() { delete rootItem; } BrewTargetTreeItem *BrewTargetTreeModel::getItem( const QModelIndex &index ) const { if ( index.isValid()) { BrewTargetTreeItem *item = static_cast(index.internalPointer()); if (item) return item; } return rootItem; } int BrewTargetTreeModel::rowCount(const QModelIndex &parent) const { if (! parent.isValid()) return rootItem->childCount(); BrewTargetTreeItem *pItem = getItem(parent); return pItem->childCount(); } int BrewTargetTreeModel::columnCount( const QModelIndex &parent) const { switch(treeMask) { case RECIPEMASK: return BrewTargetTreeItem::RECIPENUMCOLS; case EQUIPMASK: return BrewTargetTreeItem::EQUIPMENTNUMCOLS; case FERMENTMASK: return BrewTargetTreeItem::FERMENTABLENUMCOLS; case HOPMASK: return BrewTargetTreeItem::HOPNUMCOLS; case MISCMASK: return BrewTargetTreeItem::MISCNUMCOLS; case YEASTMASK: return BrewTargetTreeItem::YEASTNUMCOLS; case STYLEMASK: return BrewTargetTreeItem::STYLENUMCOLS; default: return 0; } // Backwards compatibility. This MUST be fixed before the code goes live. return BrewTargetTreeItem::RECIPENUMCOLS; } Qt::ItemFlags BrewTargetTreeModel::flags(const QModelIndex &index) const { if (!index.isValid()) return 0; return Qt::ItemIsUserCheckable | Qt::ItemIsEnabled | Qt::ItemIsSelectable; } QModelIndex BrewTargetTreeModel::index( int row, int column, const QModelIndex &parent) const { BrewTargetTreeItem *pItem, *cItem; if ( parent.isValid() && parent.column() != 0) return QModelIndex(); pItem = getItem(parent); cItem = pItem->child(row); if (cItem) return createIndex(row,column,cItem); else return QModelIndex(); } QModelIndex BrewTargetTreeModel::parent(const QModelIndex &index) const { BrewTargetTreeItem *pItem, *cItem; if (!index.isValid()) return QModelIndex(); cItem = getItem(index); if ( cItem == 0 ) return QModelIndex(); pItem = cItem->parent(); if (pItem == rootItem || pItem == 0 ) return QModelIndex(); return createIndex(pItem->childNumber(),0,pItem); } QModelIndex BrewTargetTreeModel::getFirst() { QModelIndex parent; BrewTargetTreeItem* pItem; // get the first item in the list, which is the place holder pItem = rootItem->child(0); if ( pItem->childCount() > 0 ) return createIndex(0,0,pItem->child(0)); return QModelIndex(); } QVariant BrewTargetTreeModel::data(const QModelIndex &index, int role) const { int maxColumns; switch(treeMask) { case RECIPEMASK: maxColumns = BrewTargetTreeItem::RECIPENUMCOLS; break; case EQUIPMASK: maxColumns = BrewTargetTreeItem::EQUIPMENTNUMCOLS; break; case FERMENTMASK: maxColumns = BrewTargetTreeItem::FERMENTABLENUMCOLS; break; case HOPMASK: maxColumns = BrewTargetTreeItem::HOPNUMCOLS; break; case MISCMASK: maxColumns = BrewTargetTreeItem::MISCNUMCOLS; break; case YEASTMASK: maxColumns = BrewTargetTreeItem::YEASTNUMCOLS; break; case STYLEMASK: maxColumns = BrewTargetTreeItem::STYLENUMCOLS; break; default: // Backwards compatibility. This MUST be fixed prior to releasing the code maxColumns = BrewTargetTreeItem::RECIPENUMCOLS; } if ( !rootItem || !index.isValid() || index.column() < 0 || index.column() >= maxColumns) return QVariant(); if ( role != Qt::DisplayRole && role != Qt::EditRole) return QVariant(); BrewTargetTreeItem *item = getItem(index); return item->getData(index.column()); } // This is much better, assuming the rest can be made to work QVariant BrewTargetTreeModel::headerData(int section, Qt::Orientation orientation, int role) const { if ( orientation != Qt::Horizontal || role != Qt::DisplayRole ) return QVariant(); switch(treeMask) { case RECIPEMASK: return getRecipeHeader(section); case EQUIPMASK: return getEquipmentHeader(section); case FERMENTMASK: return getFermentableHeader(section); case HOPMASK: return getHopHeader(section); case MISCMASK: return getMiscHeader(section); case YEASTMASK: return getYeastHeader(section); case STYLEMASK: return getStyleHeader(section); default: // This needs to be fixed later return getRecipeHeader(section); } } QVariant BrewTargetTreeModel::getRecipeHeader(int section) const { switch(section) { case BrewTargetTreeItem::RECIPENAMECOL: return QVariant(tr("Name")); case BrewTargetTreeItem::RECIPEBREWDATECOL: return QVariant(tr("Brew Date")); case BrewTargetTreeItem::RECIPESTYLECOL: return QVariant(tr("Style")); } Brewtarget::log(Brewtarget::WARNING, QString("BrewTargetTreeModel::getRecipeHeader Bad column: %1").arg(section)); return QVariant(); } QVariant BrewTargetTreeModel::getEquipmentHeader(int section) const { switch(section) { case BrewTargetTreeItem::EQUIPMENTNAMECOL: return QVariant(tr("Name")); case BrewTargetTreeItem::EQUIPMENTBOILTIMECOL: return QVariant(tr("Boil Time")); } Brewtarget::log(Brewtarget::WARNING, QString("BrewTargetTreeModel::getEquipmentHeader Bad column: %1").arg(section)); return QVariant(); } QVariant BrewTargetTreeModel::getFermentableHeader(int section) const { switch(section) { case BrewTargetTreeItem::FERMENTABLENAMECOL: return QVariant(tr("Name")); case BrewTargetTreeItem::FERMENTABLECOLORCOL: return QVariant(tr("Color")); case BrewTargetTreeItem::FERMENTABLETYPECOL: return QVariant(tr("Type")); } Brewtarget::log(Brewtarget::WARNING, QString("BrewTargetTreeModel::getFermentableHeader Bad column: %1").arg(section)); return QVariant(); } QVariant BrewTargetTreeModel::getHopHeader(int section) const { switch(section) { case BrewTargetTreeItem::HOPNAMECOL: return QVariant(tr("Name")); case BrewTargetTreeItem::HOPFORMCOL: return QVariant(tr("Type")); case BrewTargetTreeItem::HOPUSECOL: return QVariant(tr("Use")); } Brewtarget::log(Brewtarget::WARNING, QString("BrewTargetTreeModel::getHopHeader Bad column: %1").arg(section)); return QVariant(); } QVariant BrewTargetTreeModel::getMiscHeader(int section) const { switch(section) { case BrewTargetTreeItem::MISCNAMECOL: return QVariant(tr("Name")); case BrewTargetTreeItem::MISCTYPECOL: return QVariant(tr("Type")); case BrewTargetTreeItem::MISCUSECOL: return QVariant(tr("Use")); } Brewtarget::log(Brewtarget::WARNING, QString("BrewTargetTreeModel::getMiscHeader Bad column: %1").arg(section)); return QVariant(); } QVariant BrewTargetTreeModel::getYeastHeader(int section) const { switch(section) { case BrewTargetTreeItem::YEASTNAMECOL: return QVariant(tr("Name")); case BrewTargetTreeItem::YEASTTYPECOL: return QVariant(tr("Type")); case BrewTargetTreeItem::YEASTFORMCOL: return QVariant(tr("Form")); } Brewtarget::logW( QString("BrewTargetTreeModel::getYeastHeader Bad column: %1").arg(section) ); return QVariant(); } QVariant BrewTargetTreeModel::getStyleHeader(int section) const { switch(section) { case BrewTargetTreeItem::STYLENAMECOL: return QVariant(tr("Name")); case BrewTargetTreeItem::STYLECATEGORYCOL: return QVariant(tr("Category")); case BrewTargetTreeItem::STYLENUMBERCOL: return QVariant(tr("Number")); case BrewTargetTreeItem::STYLELETTERCOL: return QVariant(tr("Letter")); case BrewTargetTreeItem::STYLEGUIDECOL: return QVariant(tr("Guide")); } Brewtarget::logW( QString("BrewTargetTreeModel::getYeastHeader Bad column: %1").arg(section) ); return QVariant(); } bool BrewTargetTreeModel::insertRow(int row, const QModelIndex &parent, QObject* victim, int victimType ) { if ( ! parent.isValid() ) return false; BrewTargetTreeItem *pItem = getItem(parent); int type = pItem->getType(); bool success = true; beginInsertRows(parent, row, row ); success = pItem->insertChildren(row, 1, type); if ( victim && success ) { type = victimType == -1 ? type : victimType; BrewTargetTreeItem* added = pItem->child(row); added->setData(type, victim); } endInsertRows(); return success; } bool BrewTargetTreeModel::removeRows(int row, int count, const QModelIndex &parent) { BrewTargetTreeItem *pItem = getItem(parent); bool success = true; beginRemoveRows(parent, row, row + count -1 ); success = pItem->removeChildren(row,count); endRemoveRows(); return success; } QModelIndex BrewTargetTreeModel::findRecipe(Recipe* rec) { BrewTargetTreeItem* pItem = rootItem->child(0); int i; if (! rec || (treeMask & RECIPEMASK) == 0) return createIndex(0,0,pItem); for(i=0; i < pItem->childCount(); ++i) { if ( pItem->child(i)->getRecipe() == rec ) return createIndex(i,0,pItem->child(i)); } return QModelIndex(); } QModelIndex BrewTargetTreeModel::findEquipment(Equipment* kit) { BrewTargetTreeItem* pItem = rootItem->child(0); int i; if (! kit || (treeMask & EQUIPMASK) == 0) return createIndex(0,0,pItem); for(i=0; i < pItem->childCount(); ++i) { if ( pItem->child(i)->getEquipment() == kit ) return createIndex(i,0,pItem->child(i)); } return QModelIndex(); } QModelIndex BrewTargetTreeModel::findFermentable(Fermentable* ferm) { BrewTargetTreeItem* pItem = rootItem->child(0); int i; if (! ferm || (treeMask & FERMENTMASK) == 0) return createIndex(0,0,pItem); for(i=0; i < pItem->childCount(); ++i) { if ( pItem->child(i)->getFermentable() == ferm ) return createIndex(i,0,pItem->child(i)); } return QModelIndex(); } QModelIndex BrewTargetTreeModel::findHop(Hop* hop) { BrewTargetTreeItem* pItem = rootItem->child(0); int i; if (! hop || (treeMask & HOPMASK) == 0) return createIndex(0,0,pItem); for(i=0; i < pItem->childCount(); ++i) { if ( pItem->child(i)->getHop() == hop ) return createIndex(i,0,pItem->child(i)); } return QModelIndex(); } QModelIndex BrewTargetTreeModel::findMisc(Misc* misc) { BrewTargetTreeItem* pItem = rootItem->child(0); int i; if (! misc || (treeMask & MISCMASK) == 0) return createIndex(0,0,pItem); for(i=0; i < pItem->childCount(); ++i) { if ( pItem->child(i)->getMisc() == misc ) return createIndex(i,0,pItem->child(i)); } return QModelIndex(); } QModelIndex BrewTargetTreeModel::findYeast(Yeast* yeast) { BrewTargetTreeItem* pItem = rootItem->child(0); int i; if (! yeast || (treeMask & YEASTMASK) == 0) return createIndex(0,0,pItem); for(i=0; i < pItem->childCount(); ++i) { if ( pItem->child(i)->getYeast() == yeast ) return createIndex(i,0,pItem->child(i)); } return QModelIndex(); } QModelIndex BrewTargetTreeModel::findStyle(Style* style) { BrewTargetTreeItem* pItem = rootItem->child(0); int i; if (! style || (treeMask & STYLEMASK) == 0) return createIndex(0,0,pItem); for(i=0; i < pItem->childCount(); ++i) { if ( pItem->child(i)->getStyle() == style ) return createIndex(i,0,pItem->child(i)); } return QModelIndex(); } /* Important lesson here. When building the index, the pointer needs to be to * the child's parent item, as understood by the model. Not the pointer to * the actual object (e.g., the BrewNote) or the recipe, or the brewnote's * place in the recipe. */ QModelIndex BrewTargetTreeModel::findBrewNote(BrewNote* bNote) { if (! bNote ) return QModelIndex(); // Get the brewnote's parent Recipe *parent = Database::instance().getParentRecipe(bNote); // Find that recipe in the list QModelIndex pInd = findRecipe(parent); // and get the associated treeItem BrewTargetTreeItem* pItem = getItem(pInd); QList notes = parent->brewNotes(); int i = notes.indexOf(bNote); if( i > 0 ) return createIndex(i,0,pItem->child(i)); else return QModelIndex(); } void BrewTargetTreeModel::loadTreeModel(QString propName) { int i,j; BrewTargetTreeItem* temp; bool loadAll = (propName == ""); if ( (treeMask & RECIPEMASK ) && (loadAll || propName == "recipes" ) ) { BrewTargetTreeItem* local = rootItem->child(0); QModelIndex ndxLocal = createIndex(0,0,local); QList recipes = Database::instance().recipes(); i = 0; foreach( Recipe* rec, recipes ) { insertRow(i,ndxLocal,rec); temp = local->child(i); // If we have brewnotes, set them up here. QList notes = rec->brewNotes(); j = 0; foreach( BrewNote* note, notes ) { insertRow(j, createIndex(i,0,temp), note, BrewTargetTreeItem::BREWNOTE); observeBrewNote(note); ++j; } observeRecipe(rec); ++i; } } if ( (treeMask & EQUIPMASK) && (loadAll || propName == "equipments") ) { BrewTargetTreeItem* local = rootItem->child(0); QModelIndex ndxLocal = createIndex(0,0,local); QList equipments = Database::instance().equipments(); i = 0; foreach( Equipment* equipment, equipments ) { insertRow(i, ndxLocal, equipment); observeEquipment(equipment); ++i; } } if ( (treeMask & FERMENTMASK) && (loadAll || propName == "fermentables") ) { BrewTargetTreeItem* local = rootItem->child(0); QModelIndex ndxLocal = createIndex(0,0,local); QList ferms = Database::instance().fermentables(); i = 0; foreach( Fermentable* ferm, ferms ) { insertRow(i,ndxLocal,ferm); observeFermentable( ferm ); ++i; } } if ( (treeMask & HOPMASK) && (loadAll || propName == "hops") ) { BrewTargetTreeItem* local = rootItem->child(0); QModelIndex ndxLocal = createIndex(0,0,local); QList hops = Database::instance().hops(); i = 0; foreach( Hop* hop, hops ) { insertRow(i,ndxLocal, hop); observeHop(hop); ++i; } } if ( (treeMask & MISCMASK) && (loadAll || propName == "miscs") ) { BrewTargetTreeItem* local = rootItem->child(0); QModelIndex ndxLocal = createIndex(0,0,local); QList miscs = Database::instance().miscs(); i = 0; foreach( Misc* misc, miscs ) { insertRow(i,ndxLocal,misc); observeMisc(misc); ++i; } } if ( (treeMask & YEASTMASK) && (loadAll || propName == "yeasts") ) { BrewTargetTreeItem* local = rootItem->child(0); QModelIndex ndxLocal = createIndex(0,0,local); QList yeasts = Database::instance().yeasts(); i = 0; foreach( Yeast* yeast, yeasts ) { insertRow(i,ndxLocal,yeast); observeYeast(yeast); ++i; } } if ( (treeMask & STYLEMASK) && (loadAll || propName == "styles") ) { BrewTargetTreeItem* local = rootItem->child(0); QModelIndex ndxLocal = createIndex(0,0,local); QList styles = Database::instance().styles(); i = 0; foreach( Style* style, styles ) { insertRow(i++,ndxLocal,style); observeStyle(style); } } } void BrewTargetTreeModel::unloadTreeModel(QString propName) { int breadth; QModelIndex parent; bool unloadAll = (propName==""); if ( (treeMask & RECIPEMASK) && (unloadAll || propName == "recipes")) { parent = createIndex(BrewTargetTreeItem::RECIPE,0,rootItem->child(0)); breadth = rowCount(parent); removeRows(0,breadth,parent); } if ((treeMask & EQUIPMASK) && (unloadAll || propName == "equipments")) { parent = createIndex(BrewTargetTreeItem::EQUIPMENT,0,rootItem->child(0)); breadth = rowCount(parent); removeRows(0,breadth,parent); } if ((treeMask & FERMENTMASK) && (unloadAll || propName == "fermentables")) { parent = createIndex(BrewTargetTreeItem::FERMENTABLE,0,rootItem->child(0)); breadth = rowCount(parent); removeRows(0,breadth,parent); } if ((treeMask & HOPMASK) && (unloadAll || propName == "hops")) { parent = createIndex(BrewTargetTreeItem::HOP,0,rootItem->child(0)); breadth = rowCount(parent); removeRows(0,breadth,parent); } if ((treeMask & MISCMASK) && (unloadAll || propName == "miscs")) { parent = createIndex(BrewTargetTreeItem::MISC,0,rootItem->child(0)); breadth = rowCount(parent); removeRows(0,breadth,parent); } if ((treeMask & YEASTMASK) && (unloadAll || propName == "yeasts")) { parent = createIndex(BrewTargetTreeItem::YEAST,0,rootItem->child(0)); breadth = rowCount(parent); removeRows(0,breadth,parent); } if ((treeMask & STYLEMASK) && (unloadAll || propName == "styles")) { parent = createIndex(BrewTargetTreeItem::STYLE,0,rootItem->child(0)); breadth = rowCount(parent); removeRows(0,breadth,parent); } } Recipe* BrewTargetTreeModel::getRecipe(const QModelIndex &index) const { BrewTargetTreeItem* item = getItem(index); return item->getRecipe(); } Equipment* BrewTargetTreeModel::getEquipment(const QModelIndex &index) const { BrewTargetTreeItem* item = getItem(index); return item->getEquipment(); } Fermentable* BrewTargetTreeModel::getFermentable(const QModelIndex &index) const { BrewTargetTreeItem* item = getItem(index); return item->getFermentable(); } Hop* BrewTargetTreeModel::getHop(const QModelIndex &index) const { BrewTargetTreeItem* item = getItem(index); return item->getHop(); } Misc* BrewTargetTreeModel::getMisc(const QModelIndex &index) const { BrewTargetTreeItem* item = getItem(index); return item->getMisc(); } Yeast* BrewTargetTreeModel::getYeast(const QModelIndex &index) const { BrewTargetTreeItem* item = getItem(index); return item->getYeast(); } Style* BrewTargetTreeModel::getStyle(const QModelIndex &index) const { BrewTargetTreeItem* item = getItem(index); return item->getStyle(); } BrewNote* BrewTargetTreeModel::getBrewNote(const QModelIndex &index) const { BrewTargetTreeItem* item = getItem(index); return item->getBrewNote(); } BeerXMLElement* BrewTargetTreeModel::getThing(const QModelIndex &index) const { BrewTargetTreeItem* item = getItem(index); return item->getThing(); } bool BrewTargetTreeModel::isRecipe(const QModelIndex &index) { BrewTargetTreeItem* item = getItem(index); return item->getType() == BrewTargetTreeItem::RECIPE; } bool BrewTargetTreeModel::isEquipment(const QModelIndex &index) { BrewTargetTreeItem* item = getItem(index); return item->getType() == BrewTargetTreeItem::EQUIPMENT; } bool BrewTargetTreeModel::isFermentable(const QModelIndex &index) { BrewTargetTreeItem* item = getItem(index); return item->getType() == BrewTargetTreeItem::FERMENTABLE; } bool BrewTargetTreeModel::isHop(const QModelIndex &index) { BrewTargetTreeItem* item = getItem(index); return item->getType() == BrewTargetTreeItem::HOP; } bool BrewTargetTreeModel::isMisc(const QModelIndex &index) { BrewTargetTreeItem* item = getItem(index); return item->getType() == BrewTargetTreeItem::MISC; } bool BrewTargetTreeModel::isYeast(const QModelIndex &index) { BrewTargetTreeItem* item = getItem(index); return item->getType() == BrewTargetTreeItem::YEAST; } bool BrewTargetTreeModel::isStyle(const QModelIndex &index) { BrewTargetTreeItem* item = getItem(index); return item->getType() == BrewTargetTreeItem::STYLE; } bool BrewTargetTreeModel::isBrewNote(const QModelIndex &index) { BrewTargetTreeItem* item = getItem(index); return item->getType() == BrewTargetTreeItem::BREWNOTE; } int BrewTargetTreeModel::getType(const QModelIndex &index) { BrewTargetTreeItem* item = getItem(index); return item->getType(); } int BrewTargetTreeModel::getMask() { return treeMask; } void BrewTargetTreeModel::equipmentChanged() { Equipment* d = qobject_cast(sender()); if( !d ) return; QModelIndex ndxLeft = findEquipment(d); if( ! ndxLeft.isValid() ) return; QModelIndex ndxRight = createIndex(ndxLeft.row(), columnCount(ndxLeft)-1, ndxLeft.internalPointer()); emit dataChanged( ndxLeft, ndxRight ); } void BrewTargetTreeModel::fermentableChanged() { Fermentable* d = qobject_cast(sender()); if( !d ) return; QModelIndex ndxLeft = findFermentable(d); if( ! ndxLeft.isValid() ) return; QModelIndex ndxRight = createIndex(ndxLeft.row(), columnCount(ndxLeft)-1, ndxLeft.internalPointer()); emit dataChanged( ndxLeft, ndxRight ); } void BrewTargetTreeModel::hopChanged() { Hop* d = qobject_cast(sender()); if( !d ) return; QModelIndex ndxLeft = findHop(d); if( ! ndxLeft.isValid() ) return; QModelIndex ndxRight = createIndex(ndxLeft.row(), columnCount(ndxLeft)-1, ndxLeft.internalPointer()); emit dataChanged( ndxLeft, ndxRight ); } void BrewTargetTreeModel::miscChanged() { Misc* d = qobject_cast(sender()); if( !d ) return; QModelIndex ndxLeft = findMisc(d); if( ! ndxLeft.isValid() ) return; QModelIndex ndxRight = createIndex(ndxLeft.row(), columnCount(ndxLeft)-1, ndxLeft.internalPointer()); emit dataChanged( ndxLeft, ndxRight ); } void BrewTargetTreeModel::recipeChanged() { Recipe* d = qobject_cast(sender()); if( !d ) return; QModelIndex ndxLeft = findRecipe(d); if( ! ndxLeft.isValid() ) return; QModelIndex ndxRight = createIndex(ndxLeft.row(), columnCount(ndxLeft)-1, ndxLeft.internalPointer()); emit dataChanged( ndxLeft, ndxRight ); } void BrewTargetTreeModel::yeastChanged() { Yeast* d = qobject_cast(sender()); if( !d ) return; QModelIndex ndxLeft = findYeast(d); if( ! ndxLeft.isValid() ) return; QModelIndex ndxRight = createIndex(ndxLeft.row(), columnCount(ndxLeft)-1, ndxLeft.internalPointer()); emit dataChanged( ndxLeft, ndxRight ); } void BrewTargetTreeModel::styleChanged() { Style* d = qobject_cast(sender()); if( !d ) return; QModelIndex ndxLeft = findStyle(d); if( ! ndxLeft.isValid() ) return; QModelIndex ndxRight = createIndex(ndxLeft.row(), columnCount(ndxLeft)-1, ndxLeft.internalPointer()); emit dataChanged( ndxLeft, ndxRight ); } void BrewTargetTreeModel::brewNoteChanged() { BrewNote* d = qobject_cast(sender()); if( !d ) return; QModelIndex ndxLeft = findBrewNote(d); if( ! ndxLeft.isValid() ) return; QModelIndex ndxRight = createIndex(ndxLeft.row(), columnCount(ndxLeft)-1, ndxLeft.internalPointer()); emit dataChanged( ndxLeft, ndxRight ); } void BrewTargetTreeModel::equipmentAdded(Equipment* victim) { if ( ! victim->display() ) return; BrewTargetTreeItem* local = rootItem->child(0); // Not quite sure what my logic here was. The index now will be 1,0 in // Item list. Shouldn't this be 0,0? // QModelIndex parent = createIndex(BrewTargetTreeItem::EQUIPMENT,0,local); QModelIndex parent = createIndex(0,0,local); if ( ! parent.isValid() ) return; int breadth = rowCount(parent); // This goes with the previous commented out statement // insertRow(breadth, createIndex(0,0,local),victim); insertRow(breadth,parent,victim); observeEquipment(victim); } void BrewTargetTreeModel::equipmentRemoved(Equipment* victim) { QModelIndex index = findEquipment(victim); // QModelIndex parent = createIndex(BrewTargetTreeItem::EQUIPMENT,0,rootItem->child(0)); QModelIndex parent = createIndex(0,0,rootItem->child(0)); if ( index.isValid() ) { // This logic is still escaping me // removeRows(index.row(), 1, createIndex(BrewTargetTreeItem::EQUIPMENT,0,rootItem->child(0))); removeRows(index.row(), 1, parent ); disconnect( victim, 0, this, 0 ); } } void BrewTargetTreeModel::fermentableAdded(Fermentable* victim) { // This is an import edge case. Things are being added to the db that are // marked not display. Don't do anything if they are not display if ( ! victim->display() ) return; BrewTargetTreeItem* local = rootItem->child(0); // QModelIndex parent = createIndex(BrewTargetTreeItem::FERMENTABLE,0,local); QModelIndex parent = createIndex(0,0,local); if ( ! parent.isValid() ) return; int breadth = rowCount(parent); // insertRow(breadth, createIndex(0,0,local),victim); insertRow(breadth,parent,victim); observeFermentable(victim); } void BrewTargetTreeModel::fermentableRemoved(Fermentable* victim) { QModelIndex index = findFermentable(victim); // QModelIndex parent = createIndex(BrewTargetTreeItem::FERMENTABLE,0,rootItem->child(0)); QModelIndex parent = createIndex(0,0,rootItem->child(0)); removeRows(index.row(),1,parent); disconnect( victim, 0, this, 0 ); } void BrewTargetTreeModel::hopAdded(Hop* victim) { if ( ! victim->display() ) return; BrewTargetTreeItem* local = rootItem->child(0); // QModelIndex parent = createIndex(BrewTargetTreeItem::HOP,0,local); QModelIndex parent = createIndex(0,0,local); if ( ! parent.isValid() ) return; int breadth = rowCount(parent); // insertRow(breadth, createIndex(0,0,local),victim); insertRow(breadth,parent,victim); observeHop(victim); } void BrewTargetTreeModel::hopRemoved(Hop* victim) { QModelIndex index = findHop(victim); // QModelIndex parent = createIndex(BrewTargetTreeItem::HOP,0,rootItem->child(0)); QModelIndex parent = createIndex(0,0,rootItem->child(0)); removeRows(index.row(),1,parent); disconnect( victim, 0, this, 0 ); } void BrewTargetTreeModel::miscAdded(Misc* victim) { if ( ! victim->display() ) return; BrewTargetTreeItem* local = rootItem->child(0); // QModelIndex parent = createIndex(BrewTargetTreeItem::MISC,0,local); QModelIndex parent = createIndex(0,0,local); if ( ! parent.isValid() ) return; int breadth = rowCount(parent); // insertRow(breadth, createIndex(0,0,local),victim); insertRow(breadth,parent,victim); observeMisc(victim); } void BrewTargetTreeModel::miscRemoved(Misc* victim) { QModelIndex index = findMisc(victim); // QModelIndex parent = createIndex(BrewTargetTreeItem::MISC,0,rootItem->child(0)); QModelIndex parent = createIndex(0,0,rootItem->child(0)); removeRows(index.row(),1,parent); disconnect( victim, 0, this, 0 ); } void BrewTargetTreeModel::recipeAdded(Recipe* victim) { if ( ! victim->display() ) return; BrewTargetTreeItem* local = rootItem->child(0); // QModelIndex parent = createIndex(BrewTargetTreeItem::RECIPE,0,local); QModelIndex parent = createIndex(0,0,local); if ( ! parent.isValid() ) return; int breadth = rowCount(parent); // insertRow(breadth, createIndex(0,0,local),victim); insertRow(breadth,parent,victim); observeRecipe(victim); } void BrewTargetTreeModel::recipeRemoved(Recipe* victim) { QModelIndex index = findRecipe(victim); // QModelIndex parent = createIndex(BrewTargetTreeItem::RECIPE,0,rootItem->child(0)); QModelIndex parent = createIndex(0,0,rootItem->child(0)); removeRows(index.row(),1,parent); disconnect( victim, 0, this, 0 ); } void BrewTargetTreeModel::yeastAdded(Yeast* victim) { if ( ! victim->display() ) return; BrewTargetTreeItem* local = rootItem->child(0); // QModelIndex parent = createIndex(BrewTargetTreeItem::YEAST,0,local); QModelIndex parent = createIndex(0,0,local); if ( ! parent.isValid() ) return; int breadth = rowCount(parent); // insertRow(breadth, createIndex(0,0,local),victim); insertRow(breadth,parent,victim); observeYeast(victim); } void BrewTargetTreeModel::yeastRemoved(Yeast* victim) { QModelIndex index = findYeast(victim); // QModelIndex parent = createIndex(BrewTargetTreeItem::YEAST,0,rootItem->child(0)); QModelIndex parent = createIndex(0,0,rootItem->child(0)); removeRows(index.row(),1,parent); disconnect( victim, 0, this, 0 ); } void BrewTargetTreeModel::styleAdded(Style* victim) { if ( ! victim->display() ) return; BrewTargetTreeItem* local = rootItem->child(0); QModelIndex parent = createIndex(0,0,local); if ( ! parent.isValid() ) return; int breadth = rowCount(parent); insertRow(breadth,parent,victim); observeStyle(victim); } void BrewTargetTreeModel::styleRemoved(Style* victim) { QModelIndex index = findStyle(victim); QModelIndex parent = createIndex(0,0,rootItem->child(0)); removeRows(index.row(),1,parent); disconnect( victim, 0, this, 0 ); } // BrewNotes get no respect, but they get signals. They also get mighty // confusing void BrewTargetTreeModel::brewNoteAdded(BrewNote* victim) { // Get the brewnote's parent Recipe *parent = Database::instance().getParentRecipe(victim); // Find that recipe in the list QModelIndex pInd = findRecipe(parent); // and get the associated treeItem BrewTargetTreeItem* pItem = getItem(pInd); int breadth = pItem->childCount(); insertRow(breadth,pInd,victim,BrewTargetTreeItem::BREWNOTE); observeBrewNote(victim); } // deleting them is worse. Unfortunately, the blasted brewnote is deleted by // the time we get this signal. So we have to rebuild the entire list. void BrewTargetTreeModel::brewNoteRemoved(BrewNote* victim) { // Get the brewnote's parent recipe Recipe *parent = Database::instance().getParentRecipe(victim); // Find that recipe's index in the tree QModelIndex parentInd = findRecipe(parent); // and get the treeItem BrewTargetTreeItem* parentItem = getItem(parentInd); disconnect( victim, 0, this, 0 ); // If the tree item has children -- brewnotes -- remove them all if ( parentItem->childCount() ) removeRows(0,parentItem->childCount(),parentInd); QList brewNotes = parent->brewNotes(); for (int j=0; j < brewNotes.size(); ++j) insertRow(j,parentInd,brewNotes[j],BrewTargetTreeItem::BREWNOTE); } void BrewTargetTreeModel::observeEquipment(Equipment* d) { connect( d, SIGNAL(changedName(QString)), this, SLOT(equipmentChanged()) ); } void BrewTargetTreeModel::observeFermentable(Fermentable* d) { connect( d, SIGNAL(changedName(QString)), this, SLOT(fermentableChanged()) ); } void BrewTargetTreeModel::observeHop(Hop* d) { connect( d, SIGNAL(changedName(QString)), this, SLOT(hopChanged()) ); } void BrewTargetTreeModel::observeMisc(Misc* d) { connect( d, SIGNAL(changedName(QString)), this, SLOT(miscChanged()) ); } void BrewTargetTreeModel::observeRecipe(Recipe* d) { connect( d, SIGNAL(changedName(QString)), this, SLOT(recipeChanged()) ); } void BrewTargetTreeModel::observeYeast(Yeast* d) { connect( d, SIGNAL(changedName(QString)), this, SLOT(yeastChanged()) ); } void BrewTargetTreeModel::observeStyle(Style* d) { connect( d, SIGNAL(changedName(QString)), this, SLOT(styleChanged()) ); } void BrewTargetTreeModel::observeBrewNote(BrewNote* d) { connect( d, SIGNAL(brewDateChanged(QDateTime)), this, SLOT(brewNoteChanged()) ); } brewtarget-2.0.2/src/BtLabel.h0000644000175000017500000000464412266512167015502 0ustar philipphilip/* * BtLabel.h is part of Brewtarget and was written by Mik Firestone * (mikfire@gmail.com). Copyright is granted to Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef BTLABEL_H #define BTLABEL_H #include #include #include #include #include #include "UnitSystem.h" class BtLabel; class BtColorLabel; class BtGravityLabel; class BtMassLabel; class BtTemperatureLabel; class BtVolumeLabel; /*! * \class BtLabel * \author Mik Firestone * * \brief Performs the necessary magic to select display units for any label. * It will need to gracefully handle labels for which no unit is set.. */ class BtLabel : public QLabel { Q_OBJECT Q_ENUMS(LabelType) public: //! What kinds of units are available for labels enum LabelType{ NONE, COLOR, GRAVITY, MASS, TEMPERATURE, VOLUME }; BtLabel(QWidget* parent = 0, LabelType lType = NONE); public slots: void popContextMenu(const QPoint &point); //! I need to stop using this trick? friend class BtColorLabel; friend class BtGravityLabel; friend class BtMassLabel; friend class BtTemperatureLabel; friend class BtVolumeLabel; signals: void labelChanged(QString field); private: LabelType whatAmI; QString propertyName; QWidget *btParent; }; class BtColorLabel : public BtLabel { Q_OBJECT public: BtColorLabel(QWidget* parent = 0); }; class BtGravityLabel : public BtLabel { Q_OBJECT public: BtGravityLabel(QWidget* parent = 0); }; class BtMassLabel : public BtLabel { Q_OBJECT public: BtMassLabel(QWidget* parent = 0); }; class BtTemperatureLabel : public BtLabel { Q_OBJECT public: BtTemperatureLabel(QWidget* parent = 0); }; class BtVolumeLabel : public BtLabel { Q_OBJECT public: BtVolumeLabel(QWidget* parent = 0); }; #endif brewtarget-2.0.2/src/PitchDialog.h0000644000175000017500000000276212266512167016363 0ustar philipphilip/* * PitchDialog.h is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2010-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef PITCHDIALOG_H #define PITCHDIALOG_H class PitchDialog; #include #include #include "ui_pitchDialog.h" /*! * \class PitchDialog * \author Philip G. Lee * * \brief Dialog to calculate how much yeast to pitch. */ class PitchDialog : public QDialog, public Ui::pitchDialog { Q_OBJECT public: PitchDialog(QWidget* parent=0); ~PitchDialog(); //! \brief Set the wort volume in liters. void setWortVolume_l(double volume); //! \brief Set the wort gravity in 20C/20C SG. void setWortGravity(double sg); public slots: void calculate(); void updateShownPitchRate(int percent); void toggleViabilityFromDate(int state); void updateViabilityFromDate(QDate date); private: }; #endif // PITCHDIALOG_H brewtarget-2.0.2/src/unit.cpp0000644000175000017500000003712612266512167015510 0ustar philipphilip/* * unit.cpp is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include #include #include #include #include "unit.h" #include "brewtarget.h" QMultiMap Unit::nameToUnit; bool Unit::isMapSetup = false; // === Mass === KilogramUnit* Units::kilograms = new KilogramUnit(); GramUnit* Units::grams = new GramUnit(); MilligramUnit* Units::milligrams = new MilligramUnit(); PoundUnit* Units::pounds = new PoundUnit(); OunceUnit* Units::ounces = new OunceUnit(); // === Volume === LiterUnit* Units::liters = new LiterUnit(); MilliliterUnit* Units::milliliters = new MilliliterUnit(); USBarrelUnit* Units::us_barrels = new USBarrelUnit(); USGallonUnit* Units::us_gallons = new USGallonUnit(); USQuartUnit* Units::us_quarts = new USQuartUnit(); USCupUnit* Units::us_cups = new USCupUnit(); ImperialBarrelUnit* Units::imperial_barrels = new ImperialBarrelUnit(); ImperialGallonUnit* Units::imperial_gallons = new ImperialGallonUnit(); ImperialQuartUnit* Units::imperial_quarts = new ImperialQuartUnit(); ImperialCupUnit* Units::imperial_cups = new ImperialCupUnit(); USTablespoonUnit* Units::us_tablespoons = new USTablespoonUnit(); USTeaspoonUnit* Units::us_teaspoons = new USTeaspoonUnit(); ImperialTablespoonUnit* Units::imperial_tablespoons = new ImperialTablespoonUnit(); ImperialTeaspoonUnit* Units::imperial_teaspoons = new ImperialTeaspoonUnit(); // === Time === SecondUnit* Units::seconds = new SecondUnit(); MinuteUnit* Units::minutes = new MinuteUnit(); HourUnit* Units::hours = new HourUnit(); DayUnit* Units::days = new DayUnit(); // === Temperature === CelsiusUnit* Units::celsius = new CelsiusUnit(); FahrenheitUnit* Units::fahrenheit = new FahrenheitUnit(); KelvinUnit* Units::kelvin = new KelvinUnit(); // === Color === SRMUnit* Units::srm = new SRMUnit(); EBCUnit* Units::ebc = new EBCUnit(); // Return the equivalent of 'amount' 'fromUnit's in 'toUnit's. double Unit::convert( double amount, QString& fromUnit, QString& toUnit ) { double SI; if( ! Unit::isMapSetup ) Unit::setupMap(); // TODO: warn somebody if the units aren't in the map. Unit* f; Unit* t; f = getUnit(fromUnit); t = getUnit(toUnit, false); // Freak out if we can't find the units or if they're not the same type. if( f == 0 || t == 0 || f->getUnitType() != t->getUnitType() ) return 0.0; SI = f->toSI(amount); return t->fromSI(SI); } // Gets the unit with the appropriate name. Select the one consistent // with the current system (like Brewtarget::getWeightUnitSystem()) // if possible. Otherwise, get a unit of type USCustomary or Any. Unit* Unit::getUnit(QString& name, bool matchCurrentSystem) { Unit* u; QMap::iterator i = nameToUnit.find(name); // First, try to find a unit consistent with the measurement system. for( ; i != nameToUnit.end() && i.key() == name; ++i ) { u = i.value(); if( u == 0 ) continue; int type = u->getUnitType(); int system = u->getUnitOrTempSystem(); if( type == Temp && system == Brewtarget::getTemperatureScale() ) return u; else if( type == Mass ) { if( system == Any || system == Brewtarget::getWeightUnitSystem() ) return u; if( (Brewtarget::getWeightUnitSystem() == USCustomary || Brewtarget::getWeightUnitSystem() == Imperial) && system == ImperialAndUS) return u; } else if( type == Volume ) { if( system == Any || system == Brewtarget::getVolumeUnitSystem() ) return u; if( (Brewtarget::getVolumeUnitSystem() == USCustomary || Brewtarget::getVolumeUnitSystem() == Imperial) && system == ImperialAndUS ) return u; } else if( type == Time ) return u; } i = nameToUnit.find(name); // Now, just try to find a unit with the USCustomary or Any system. for( ; i != nameToUnit.end() && i.key() == name; ++i ) { u = i.value(); if( u == 0 ) continue; int system = u->getUnitOrTempSystem(); if( system == Any || system == USCustomary || system == ImperialAndUS || matchCurrentSystem == false ) return u; } return 0; } // Translates something like "5.0 gal" into the appropriate SI units. double Unit::qstringToSI( QString qstr, Unit** unit, bool matchCurrentSystem ) { if( ! Unit::isMapSetup ) Unit::setupMap(); QStringList list1 = qstr.split(" "); if( list1.size() < 1 ) // Didn't even provide a number. return 0.0; else if( list1.size() < 2 ) // Only provided a number. { // If we don't have units, just assume we're dealing with mass. switch(Brewtarget::weightUnitSystem) { case USCustomary: case Imperial: return Units::pounds->toSI(list1[0].toDouble()); case SI: default: return list1[0].toDouble(); } } else // Provided a number and unit. { Unit* u = getUnit(list1[1], matchCurrentSystem); if( unit != 0 ) *unit = u; if( u == 0 ) // Invalid unit since it's not in the map. return list1[0].toDouble(); // Assume units are already SI. else return u->toSI(list1[0].toDouble()); } } // Return a QString Unit::convert(QString qstr, QString toUnit) { if( ! Unit::isMapSetup ) Unit::setupMap(); Unit* f; double si = qstringToSI( qstr, &f, false ); Unit* u = getUnit(toUnit, false); if( u == 0 || f == 0 || u->getUnitType() != f->getUnitType() ) return QString("%1 ?").arg(Brewtarget::displayAmount(si)); else return QString("%1 %2").arg(Brewtarget::displayAmount(u->fromSI(si))).arg(toUnit); } void Unit::setupMap() { Unit::nameToUnit.insert(Units::kilograms->getUnitName(), Units::kilograms); Unit::nameToUnit.insert(Units::grams->getUnitName(), Units::grams); Unit::nameToUnit.insert(Units::milligrams->getUnitName(), Units::milligrams); Unit::nameToUnit.insert(Units::pounds->getUnitName(), Units::pounds); Unit::nameToUnit.insert(Units::ounces->getUnitName(), Units::ounces); Unit::nameToUnit.insert(Units::liters->getUnitName(), Units::liters); Unit::nameToUnit.insert(Units::milliliters->getUnitName(), Units::milliliters); Unit::nameToUnit.insert(Units::us_gallons->getUnitName(), Units::us_gallons); Unit::nameToUnit.insert(Units::us_quarts->getUnitName(), Units::us_quarts); Unit::nameToUnit.insert(Units::us_cups->getUnitName(), Units::us_cups); Unit::nameToUnit.insert(Units::us_tablespoons->getUnitName(), Units::us_tablespoons); Unit::nameToUnit.insert(Units::us_teaspoons->getUnitName(), Units::us_teaspoons); Unit::nameToUnit.insert(Units::imperial_gallons->getUnitName(), Units::imperial_gallons); Unit::nameToUnit.insert(Units::imperial_quarts->getUnitName(), Units::imperial_quarts); Unit::nameToUnit.insert(Units::imperial_cups->getUnitName(), Units::imperial_cups); Unit::nameToUnit.insert(Units::imperial_tablespoons->getUnitName(), Units::imperial_tablespoons); Unit::nameToUnit.insert(Units::imperial_teaspoons->getUnitName(), Units::imperial_teaspoons); Unit::nameToUnit.insert(Units::seconds->getUnitName(), Units::seconds); Unit::nameToUnit.insert(Units::minutes->getUnitName(), Units::minutes); Unit::nameToUnit.insert(Units::hours->getUnitName(), Units::hours); Unit::nameToUnit.insert(Units::days->getUnitName(), Units::days); Unit::nameToUnit.insert(Units::celsius->getUnitName(), Units::celsius); Unit::nameToUnit.insert(Units::kelvin->getUnitName(), Units::kelvin); Unit::nameToUnit.insert(Units::fahrenheit->getUnitName(), Units::fahrenheit); Unit::nameToUnit.insert(Units::srm->getUnitName(), Units::srm); Unit::nameToUnit.insert(Units::ebc->getUnitName(), Units::ebc); Unit::isMapSetup = true; } // === Kilograms === KilogramUnit::KilogramUnit() { unitName = "kg"; SIUnitName = "kg"; } double KilogramUnit::toSI( double amt ) const { return amt; } double KilogramUnit::fromSI( double amt ) const { return amt; } // === Grams === GramUnit::GramUnit() { unitName = "g"; SIUnitName = "kg"; } double GramUnit::toSI( double amt ) const { return amt / (double)1000.0; } double GramUnit::fromSI( double amt ) const { return amt * (double)1000.0; } // === Milligrams === MilligramUnit::MilligramUnit() { unitName = "mg"; SIUnitName = "kg"; } double MilligramUnit::toSI( double amt ) const { return amt / (double)1000000.0; } double MilligramUnit::fromSI( double amt ) const { return amt * (double)1000000.0; } // === Pounds === PoundUnit::PoundUnit() { unitName = "lb"; SIUnitName = "kg"; } double PoundUnit::toSI( double amt ) const { return amt * 0.45359237; } double PoundUnit::fromSI( double amt ) const { return amt * 2.2046226; } // === Ounces (weight) === OunceUnit::OunceUnit() { unitName = "oz"; SIUnitName = "kg"; } double OunceUnit::toSI( double amt ) const { return amt * 0.0283495231; } double OunceUnit::fromSI( double amt ) const { return amt * 35.2739619; } // === Liters === LiterUnit::LiterUnit() { unitName = "L"; SIUnitName = "L"; } double LiterUnit::toSI( double amt ) const { return amt; } double LiterUnit::fromSI( double amt ) const { return amt; } // === Milliliters === MilliliterUnit::MilliliterUnit() { unitName = "mL"; SIUnitName = "L"; } double MilliliterUnit::toSI( double amt ) const { return amt / (double)1000.0; } double MilliliterUnit::fromSI( double amt ) const { return amt * (double)1000.0; } // === US Beer Barrel === USBarrelUnit::USBarrelUnit() { unitName = "bbl"; SIUnitName = "L"; } double USBarrelUnit::toSI( double amt ) const { return amt * 117.34777; } double USBarrelUnit::fromSI( double amt ) const { return amt / 117.34777; } // === USGallons === USGallonUnit::USGallonUnit() { unitName = "gal"; SIUnitName = "L"; } double USGallonUnit::toSI( double amt ) const { return amt * 3.78541178; } double USGallonUnit::fromSI( double amt ) const { return amt / 3.78541178; } // === USQuarts === USQuartUnit::USQuartUnit() { unitName = "qt"; SIUnitName = "L"; } double USQuartUnit::toSI( double amt ) const { return amt * 0.946352946; } double USQuartUnit::fromSI( double amt ) const { return amt / 0.946352946; } // === USCups === USCupUnit::USCupUnit() { unitName = "cup"; SIUnitName = "L"; } double USCupUnit::toSI( double amt ) const { return amt * 0.236588236; } double USCupUnit::fromSI( double amt ) const { return amt / 0.236588236; } // === Imperial Beer Barrel === ImperialBarrelUnit::ImperialBarrelUnit() { unitName = "bbl"; SIUnitName = "L"; } double ImperialBarrelUnit::toSI( double amt ) const { return amt * 163.659; } double ImperialBarrelUnit::fromSI( double amt ) const { return amt / 163.659; } // === ImperialGallons === ImperialGallonUnit::ImperialGallonUnit() { unitName = "gal"; SIUnitName = "L"; } double ImperialGallonUnit::toSI( double amt ) const { return amt * 4.54609; } double ImperialGallonUnit::fromSI( double amt ) const { return amt / 4.54609; } // === ImperialQuarts === ImperialQuartUnit::ImperialQuartUnit() { unitName = "qt"; SIUnitName = "L"; } double ImperialQuartUnit::toSI( double amt ) const { return amt * 1.1365225; } double ImperialQuartUnit::fromSI( double amt ) const { return amt / 1.1365225; } // === ImperialCups === ImperialCupUnit::ImperialCupUnit() { unitName = "cup"; SIUnitName = "L"; } double ImperialCupUnit::toSI( double amt ) const { return amt * 0.284130625; } double ImperialCupUnit::fromSI( double amt ) const { return amt / 0.284130625; } // === US Tablepoons === USTablespoonUnit::USTablespoonUnit() { unitName = "tbsp"; SIUnitName = "L"; } double USTablespoonUnit::toSI( double amt ) const { return amt * 0.0147867648; } double USTablespoonUnit::fromSI( double amt ) const { return amt / 0.0147867648; } // === US Teaspoons === USTeaspoonUnit::USTeaspoonUnit() { unitName = "tsp"; SIUnitName = "L"; } double USTeaspoonUnit::toSI( double amt ) const { return amt * 0.00492892159; } double USTeaspoonUnit::fromSI( double amt ) const { return amt / 0.00492892159; } // === Imperial Tablepoons === ImperialTablespoonUnit::ImperialTablespoonUnit() { unitName = "tbsp"; SIUnitName = "L"; } double ImperialTablespoonUnit::toSI( double amt ) const { return amt * 0.0177581714; } double ImperialTablespoonUnit::fromSI( double amt ) const { return amt / 0.0177581714; } // === Imperial Teaspoons === ImperialTeaspoonUnit::ImperialTeaspoonUnit() { unitName = "tsp"; SIUnitName = "L"; } double ImperialTeaspoonUnit::toSI( double amt ) const { return amt * 0.00591939047; } double ImperialTeaspoonUnit::fromSI( double amt ) const { return amt / 0.00591939047; } // === Seconds === SecondUnit::SecondUnit() { unitName = "s"; SIUnitName = "min"; // Pretend the SI unit is minutes for the sake of BeerXML. } double SecondUnit::toSI( double amt ) const { return amt/(double)60.0; } double SecondUnit::fromSI( double amt ) const { return amt*(double)60.0; } // === Minutes === MinuteUnit::MinuteUnit() { unitName = "min"; SIUnitName = "min"; // Pretend the SI unit is minutes for the sake of BeerXML. } double MinuteUnit::toSI( double amt ) const { return amt; } double MinuteUnit::fromSI( double amt ) const { return amt; } // === Hours === HourUnit::HourUnit() { unitName = "hr"; SIUnitName = "min"; // Pretend the SI unit is minutes for the sake of BeerXML. } double HourUnit::toSI( double amt ) const { return amt * (double)60.0; } double HourUnit::fromSI( double amt ) const { return amt / (double)60.0; } // === Days === DayUnit::DayUnit() { unitName = "day"; SIUnitName = "min"; // Pretend the SI unit is minutes for the sake of BeerXML. } double DayUnit::toSI( double amt ) const { return amt * (double)1440.0; } double DayUnit::fromSI( double amt ) const { return amt / (double)1440.0; } // === Celsius === CelsiusUnit::CelsiusUnit() { unitName = "C"; SIUnitName = "C"; } double CelsiusUnit::toSI( double amt ) const { return amt; } double CelsiusUnit::fromSI( double amt ) const { return amt; } // === Celsius === FahrenheitUnit::FahrenheitUnit() { unitName = "F"; SIUnitName = "C"; } double FahrenheitUnit::toSI( double amt ) const { return (amt-32)*5/9; } double FahrenheitUnit::fromSI( double amt ) const { return amt*9/5 + 32; } // === Kelvin === KelvinUnit::KelvinUnit() { unitName = "K"; SIUnitName = "K"; } double KelvinUnit::toSI( double amt ) const { return amt - 273.15; } double KelvinUnit::fromSI( double amt ) const { return amt + 273.15; } // === SRM === SRMUnit::SRMUnit() { unitName = "srm"; SIUnitName = "srm"; } double SRMUnit::toSI( double amt ) const { return amt; } double SRMUnit::fromSI( double amt ) const { return amt; } // === EBC === EBCUnit::EBCUnit() { unitName = "ebc"; SIUnitName = "srm"; } double EBCUnit::toSI( double amt ) const { return amt * 12.7/25.0; } double EBCUnit::fromSI( double amt ) const { return amt * 25.0/12.7; } brewtarget-2.0.2/src/WaterTableWidget.cpp0000644000175000017500000000215012266512167017714 0ustar philipphilip/* * WaterTableWidget.cpp is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include #include #include "WaterTableModel.h" #include "WaterTableWidget.h" WaterTableWidget::WaterTableWidget(QWidget* parent) : QTableView(parent) { model = new WaterTableModel(this); setModel(model); setItemDelegate(new WaterItemDelegate(this)); } WaterTableModel* WaterTableWidget::getModel() { return model; } brewtarget-2.0.2/src/SetterCommandStack.cpp0000644000175000017500000000765212266512167020265 0ustar philipphilip/* * SetterCommandStack.cpp is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include "SetterCommandStack.h" #include "SetterCommand.h" #include #include #include SetterCommandStack::SetterCommandStack(QThread* thread, int interval_ms) : QObject(), _commandLimit(100), _numCommands(0), _executionInterval_ms(interval_ms), _nextCommand(0), _nextCommandTmp(0), _timer(0) { _timer = new QTimer(this); connect( _timer, SIGNAL(timeout()), this, SLOT(executeNext()) ); _timer->setSingleShot(true); _timer->setInterval(_executionInterval_ms); _timer->start(); // Save this til the end, because we need to wait until _timer is added // as a child. Otherwise, this object will be in a new thread, but the // timer will be attached in the calling thread, which is apparently an // issue. moveToThread(thread); } SetterCommandStack::~SetterCommandStack() { // Keep other people from going through push(). We may miss a few if someone // is still in executeNext(), adding things to _commands. _commandPtrSwitch.lock(); qDeleteAll(_commands); _commands.clear(); delete _nextCommand; _nextCommand = 0; _commandPtrSwitch.unlock(); } void SetterCommandStack::push( SetterCommand* command ) { // Yes, I know I said non-blocking, but since pointer swapping takes // almost no time, this lock should not introduce much locking time. _commandPtrSwitch.lock(); if( !_nextCommand ) _nextCommand = command; else { _nextCommand->mergeWith(command); //command->deleteLater(); delete command; } _commandPtrSwitch.unlock(); // If the timer is out, start it. We will aggregate commands together // until it times out. if( !_timer->isActive() ) _timer->start(); } void SetterCommandStack::flush() { bool restart_timer = false; // Don't want the normal process to fire in the middle of a forced flush if ( _timer->isActive() ) { _timer->stop(); restart_timer = true; } executeNext(); // Restart the timer. if ( restart_timer ) _timer->start(); } void SetterCommandStack::executeNext() { // Prevent timers from stepping on each other. //_timer->stop(); // Check to make sure there is actually something to run. _commandPtrSwitch.lock(); if( _nextCommand ) { // First, exchange pointers. //SetterCommand* tmp = _nextCommand; //_nextCommand = _nextCommandTmp; //_nextCommandTmp = tmp; _nextCommandTmp = _nextCommand; _nextCommand = 0; // Push _nextCommandTmp onto stack. _commands.append( _nextCommandTmp ); _numCommands++; _commandPtrSwitch.unlock(); // Now, people can keep calling push() without blocking as we execute, // creating a new _nextCommand while we work with the old one _nextCommandTmp. // Since the timer is stopped, we are guaranteed no-one else is in this // function. if( _numCommands > _commandLimit ) { delete _commands.takeFirst();; _numCommands--; } // Now, execute _nextCommandTmp. _nextCommandTmp->redo(); _nextCommandTmp = 0; } else _commandPtrSwitch.unlock(); // Reset the timer. //_timer->start(); } brewtarget-2.0.2/src/FermentableSortFilterProxyModel.cpp0000644000175000017500000000561112266512167023010 0ustar philipphilip/* * FermentableSortFilterProxyModel.cpp is part of Brewtarget, and is Copyright Mik * Firestone (mikfire@gmail.com), 2010-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include "unit.h" #include "FermentableSortFilterProxyModel.h" #include "FermentableTableModel.h" #include "fermentable.h" #include "brewtarget.h" #include #include FermentableSortFilterProxyModel::FermentableSortFilterProxyModel(QObject *parent, bool filt) : QSortFilterProxyModel(parent) { filter = filt; } bool FermentableSortFilterProxyModel::lessThan(const QModelIndex &left, const QModelIndex &right) const { QVariant leftFermentable = sourceModel()->data(left); QVariant rightFermentable = sourceModel()->data(right); switch( left.column() ) { case FERMAMOUNTCOL: // This is a bit twisted. If the numbers are equal, reset the left // and right to the names and let it hit the default if (Brewtarget::weightQStringToSI(leftFermentable.toString()) == Brewtarget::weightQStringToSI(rightFermentable.toString())) return getName(right) < getName(left); else return Brewtarget::weightQStringToSI(leftFermentable.toString()) < Brewtarget::weightQStringToSI(rightFermentable.toString()); case FERMYIELDCOL: if (leftFermentable.toDouble() == rightFermentable.toDouble() ) return getName(right) < getName(left); else return leftFermentable.toDouble() < rightFermentable.toDouble(); case FERMCOLORCOL: if (leftFermentable.toDouble() == rightFermentable.toDouble()) return getName(right) < getName(left); else return leftFermentable.toDouble() < rightFermentable.toDouble(); } return leftFermentable.toString() < rightFermentable.toString(); } QString FermentableSortFilterProxyModel::getName( const QModelIndex &index ) const { QVariant info = sourceModel()->data(QAbstractItemModel::createIndex(index.row(),FERMNAMECOL)); return info.toString(); } bool FermentableSortFilterProxyModel::filterAcceptsRow( int source_row, const QModelIndex &source_parent) const { FermentableTableModel* model = qobject_cast(sourceModel()); return ! filter || model->getFermentable(source_row)->display(); } brewtarget-2.0.2/src/HopTableModel.cpp0000644000175000017500000004006612266512167017205 0ustar philipphilip/* * HopTableModel.cpp is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include #include #include #include #include #include #include #include #include #include "database.h" #include "hop.h" #include #include #include "hop.h" #include "HopTableModel.h" #include "unit.h" #include "brewtarget.h" HopTableModel::HopTableModel(QTableView* parent, bool editable) : QAbstractTableModel(parent), colFlags(HOPNUMCOLS), recObs(0), parentTableWidget(parent), showIBUs(false) { hopObs.clear(); setObjectName("hopTable"); int i; for( i = 0; i < HOPNUMCOLS; ++i ) { if( i == HOPNAMECOL ) colFlags[i] = Qt::ItemIsSelectable | Qt::ItemIsDragEnabled | Qt::ItemIsEnabled; else colFlags[i] = Qt::ItemIsSelectable | (editable ? Qt::ItemIsEditable : Qt::NoItemFlags) | Qt::ItemIsDragEnabled | Qt::ItemIsEnabled; } } HopTableModel::~HopTableModel() { hopObs.clear(); } void HopTableModel::observeRecipe(Recipe* rec) { if( recObs ) { disconnect( recObs, 0, this, 0 ); removeAll(); } recObs = rec; if( recObs ) { connect( recObs, SIGNAL(changed(QMetaProperty,QVariant)), this, SLOT(changed(QMetaProperty,QVariant)) ); addHops( recObs->hops() ); } } void HopTableModel::observeDatabase(bool val) { if( val ) { observeRecipe(0); removeAll(); connect( &(Database::instance()), SIGNAL(newHopSignal(Hop*)), this, SLOT(addHop(Hop*)) ); connect( &(Database::instance()), SIGNAL(deletedHopSignal(Hop*)), this, SLOT(removeHop(Hop*)) ); addHops( Database::instance().hops() ); } else { removeAll(); disconnect( &(Database::instance()), 0, this, 0 ); } } void HopTableModel::addHop(Hop* hop) { if( hop == 0 || hopObs.contains(hop) ) return; // If we are observing the database, ensure that the item is undeleted and // fit to display. if( recObs == 0 && ( hop->deleted() || !hop->display() ) ) return; int size = hopObs.size(); beginInsertRows( QModelIndex(), size, size ); hopObs.append(hop); connect( hop, SIGNAL(changed(QMetaProperty,QVariant)), this, SLOT(changed(QMetaProperty,QVariant)) ); //reset(); // Tell everybody that the table has changed. endInsertRows(); if( parentTableWidget ) { parentTableWidget->resizeColumnsToContents(); parentTableWidget->resizeRowsToContents(); } } void HopTableModel::addHops(QList hops) { QList::iterator i; QList tmp; for( i = hops.begin(); i != hops.end(); i++ ) { if( !hopObs.contains(*i) ) tmp.append(*i); } int size = hopObs.size(); if (size+tmp.size()) { beginInsertRows( QModelIndex(), size, size+tmp.size()-1 ); hopObs.append(tmp); for( i = tmp.begin(); i != tmp.end(); i++ ) connect( *i, SIGNAL(changed(QMetaProperty,QVariant)), this, SLOT(changed(QMetaProperty,QVariant)) ); endInsertRows(); } if( parentTableWidget ) { parentTableWidget->resizeColumnsToContents(); parentTableWidget->resizeRowsToContents(); } } bool HopTableModel::removeHop(Hop* hop) { int i; i = hopObs.indexOf(hop); if( i >= 0 ) { beginRemoveRows( QModelIndex(), i, i ); disconnect( hop, 0, this, 0 ); hopObs.removeAt(i); //reset(); // Tell everybody the table has changed. endRemoveRows(); if(parentTableWidget) { parentTableWidget->resizeColumnsToContents(); parentTableWidget->resizeRowsToContents(); } return true; } return false; } void HopTableModel::setShowIBUs( bool var ) { showIBUs = var; } void HopTableModel::removeAll() { if (hopObs.size()) { beginRemoveRows( QModelIndex(), 0, hopObs.size()-1 ); while( !hopObs.isEmpty() ) { disconnect( hopObs.takeLast(), 0, this, 0 ); } endRemoveRows(); } } void HopTableModel::changed(QMetaProperty prop, QVariant /*val*/) { int i; // Find the notifier in the list Hop* hopSender = qobject_cast(sender()); if( hopSender ) { i = hopObs.indexOf(hopSender); if( i < 0 ) return; emit dataChanged( QAbstractItemModel::createIndex(i, 0), QAbstractItemModel::createIndex(i, HOPNUMCOLS-1)); emit headerDataChanged( Qt::Vertical, i, i ); return; } // See if sender is our recipe. Recipe* recSender = qobject_cast(sender()); if( recSender && recSender == recObs ) { if( QString(prop.name()) == "hops" ) { removeAll(); addHops( recObs->hops() ); } if( rowCount() > 0 ) emit headerDataChanged( Qt::Vertical, 0, rowCount()-1 ); return; } } int HopTableModel::rowCount(const QModelIndex& /*parent*/) const { return hopObs.size(); } int HopTableModel::columnCount(const QModelIndex& /*parent*/) const { return HOPNUMCOLS; } QVariant HopTableModel::data( const QModelIndex& index, int role ) const { Hop* row; int col = index.column(); unitScale scale; unitDisplay unit; // Ensure the row is ok. if( index.row() >= (int)hopObs.size() ) { Brewtarget::log(Brewtarget::WARNING, QString("Bad model index. row = %1").arg(index.row())); return QVariant(); } else row = hopObs[index.row()]; switch( index.column() ) { case HOPNAMECOL: if( role == Qt::DisplayRole ) return QVariant(row->name()); else return QVariant(); case HOPALPHACOL: if( role == Qt::DisplayRole ) return QVariant( Brewtarget::displayAmount(row->alpha_pct(), 0) ); else return QVariant(); case HOPAMOUNTCOL: if( role != Qt::DisplayRole ) return QVariant(); unit = displayUnit(col); scale = displayScale(col); return QVariant(Brewtarget::displayAmount(row->amount_kg(), Units::kilograms, 3, unit, scale)); case HOPUSECOL: if( role == Qt::DisplayRole ) return QVariant(row->useStringTr()); else if( role == Qt::UserRole ) return QVariant(row->use()); else return QVariant(); case HOPTIMECOL: if( role == Qt::DisplayRole ) return QVariant( Brewtarget::displayAmount(row->time_min(), Units::minutes) ); else return QVariant(); case HOPFORMCOL: if ( role == Qt::DisplayRole ) return QVariant( row->formStringTr() ); else if ( role == Qt::UserRole ) return QVariant( row->form()); else return QVariant(); default : Brewtarget::log(Brewtarget::WARNING, QString("HopTableModel::data Bad column: %1").arg(index.column())); return QVariant(); } } QVariant HopTableModel::headerData( int section, Qt::Orientation orientation, int role ) const { if( orientation == Qt::Horizontal && role == Qt::DisplayRole ) { switch( section ) { case HOPNAMECOL: return QVariant(tr("Name")); case HOPALPHACOL: return QVariant(tr("Alpha %")); case HOPAMOUNTCOL: return QVariant(tr("Amount")); case HOPUSECOL: return QVariant(tr("Use")); case HOPTIMECOL: return QVariant(tr("Time")); case HOPFORMCOL: return QVariant(tr("Form")); default: Brewtarget::log(Brewtarget::WARNING, QString("HopTableModel::headerdata Bad column: %1").arg(section)); return QVariant(); } } else if( showIBUs && recObs && orientation == Qt::Vertical && role == Qt::DisplayRole ) { QList ibus = recObs->IBUs(); if ( ibus.size() > section ) return QVariant( QString("%L1 IBU").arg( ibus.at(section), 0, 'f', 1 ) ); } return QVariant(); } Qt::ItemFlags HopTableModel::flags(const QModelIndex& index ) const { int col = index.column(); return colFlags[col]; } bool HopTableModel::setData( const QModelIndex& index, const QVariant& value, int role ) { Hop *row; QString val; if( index.row() >= (int)hopObs.size() || role != Qt::EditRole ) return false; else row = hopObs[index.row()]; switch( index.column() ) { case HOPNAMECOL: if( value.canConvert(QVariant::String)) { row->setName(value.toString()); return true; } else return false; case HOPALPHACOL: if( value.canConvert(QVariant::Double) ) { row->setAlpha_pct( value.toDouble() ); headerDataChanged( Qt::Vertical, index.row(), index.row() ); // Need to re-show header (IBUs). return true; } else return false; case HOPAMOUNTCOL: if( value.canConvert(QVariant::String) ) { val = value.toString(); if (!Brewtarget::hasUnits(val)) val = QString("%1%2").arg(val).arg( Brewtarget::getWeightUnitSystem() == SI ? "g" : "oz"); row->setAmount_kg( Brewtarget::weightQStringToSI(val)); headerDataChanged( Qt::Vertical, index.row(), index.row() ); // Need to re-show header (IBUs). return true; } else return false; case HOPUSECOL: if( value.canConvert(QVariant::Int) ) { row->setUse(static_cast(value.toInt())); headerDataChanged( Qt::Vertical, index.row(), index.row() ); // Need to re-show header (IBUs). return true; } else return false; case HOPFORMCOL: if( value.canConvert(QVariant::Int)) { row->setForm(static_cast(value.toInt())); headerDataChanged( Qt::Vertical, index.row(), index.row() ); return true; } case HOPTIMECOL: if( value.canConvert(QVariant::String) ) { double min = Brewtarget::timeQStringToSI(value.toString()); row->setTime_min( min ); headerDataChanged( Qt::Vertical, index.row(), index.row() ); // Need to re-show header (IBUs). return true; } else return false; default: Brewtarget::log(Brewtarget::WARNING, QString("HopTableModel::setdata Bad column: %1").arg(index.column())); return false; } } unitDisplay HopTableModel::displayUnit(int column) const { QString attribute = generateName(column); if ( attribute.isEmpty() ) return noUnit; return (unitDisplay)Brewtarget::option(attribute, QVariant(-1), this, Brewtarget::UNIT).toInt(); } unitScale HopTableModel::displayScale(int column) const { QString attribute = generateName(column); if ( attribute.isEmpty() ) return noScale; return (unitScale)Brewtarget::option(attribute, QVariant(-1), this, Brewtarget::SCALE).toInt(); } // We need to: // o clear the custom scale if set // o clear any custom unit from the rows // o which should have the side effect of clearing any scale void HopTableModel::setDisplayUnit(int column, unitDisplay displayUnit) { // Hop* row; // disabled per-cell magic QString attribute = generateName(column); if ( attribute.isEmpty() ) return; Brewtarget::setOption(attribute,displayUnit,this,Brewtarget::UNIT); Brewtarget::setOption(attribute,noScale,this,Brewtarget::SCALE); /* Disabled cell-specific code for (int i = 0; i < rowCount(); ++i ) { row = getHop(i); row->setDisplayUnit(noUnit); } */ } // Setting the scale should clear any cell-level scaling options void HopTableModel::setDisplayScale(int column, unitScale displayScale) { // Fermentable* row; //disabled per-cell magic QString attribute = generateName(column); if ( attribute.isEmpty() ) return; Brewtarget::setOption(attribute,displayScale,this,Brewtarget::SCALE); /* disabled cell-specific code for (int i = 0; i < rowCount(); ++i ) { row = getHop(i); row->setDisplayScale(noScale); } */ } QString HopTableModel::generateName(int column) const { QString attribute; switch(column) { case HOPAMOUNTCOL: attribute = "amount_kg"; break; default: attribute = ""; } return attribute; } // Returns null on failure. Hop* HopTableModel::getHop(unsigned int i){ //std::cerr << "HopTableModel::getHop( " << i << "/" << hopObs.size() << " )" << std::endl; if(!(hopObs.isEmpty())){ if(static_cast(i) < hopObs.size()) return hopObs[i]; } else Brewtarget::logW( QString("HopTableModel::getHop( %1/%2 )").arg(i).arg(hopObs.size()) ); return 0; } //==========================CLASS HopItemDelegate=============================== HopItemDelegate::HopItemDelegate(QObject* parent) : QItemDelegate(parent) { } QWidget* HopItemDelegate::createEditor(QWidget *parent, const QStyleOptionViewItem& /*option*/, const QModelIndex &index) const { if ( index.column() == HOPUSECOL ) { QComboBox *box = new QComboBox(parent); // NOTE: these need to be in the same order as the Hop::Use enum. box->addItem(tr("Mash")); box->addItem(tr("First Wort")); box->addItem(tr("Boil")); box->addItem(tr("Aroma")); box->addItem(tr("Dry Hop")); box->setSizeAdjustPolicy(QComboBox::AdjustToContents); return box; } else if ( index.column() == HOPFORMCOL ) { QComboBox *box = new QComboBox(parent); box->addItem(tr("Leaf")); box->addItem(tr("Pellet")); box->addItem(tr("Plug")); box->setSizeAdjustPolicy(QComboBox::AdjustToContents); return box; } else { return new QLineEdit(parent); } } void HopItemDelegate::setEditorData(QWidget *editor, const QModelIndex &index) const { if (index.column() == HOPUSECOL ) { QComboBox* box = (QComboBox*)editor; int ndx = index.model()->data(index, Qt::UserRole).toInt(); box->setCurrentIndex(ndx); } else if ( index.column() == HOPFORMCOL ) { QComboBox* box = (QComboBox*)editor; int ndx = index.model()->data(index,Qt::UserRole).toInt(); box->setCurrentIndex(ndx); } else { QLineEdit* line = (QLineEdit*)editor; line->setText(index.model()->data(index, Qt::DisplayRole).toString()); } } void HopItemDelegate::setModelData(QWidget *editor, QAbstractItemModel *model, const QModelIndex &index) const { if ( index.column() == HOPUSECOL ) { QComboBox* box = (QComboBox*)editor; int value = box->currentIndex(); int ndx = model->data(index, Qt::UserRole).toInt(); if ( value != ndx ) model->setData(index, value, Qt::EditRole); } else if (index.column() == HOPFORMCOL ) { QComboBox* box = (QComboBox*)editor; int value = box->currentIndex(); int ndx = model->data(index, Qt::UserRole).toInt(); if ( value != ndx ) model->setData(index, value, Qt::EditRole); } else { QLineEdit* line = (QLineEdit*)editor; if ( line->isModified() ) model->setData(index, line->text(), Qt::EditRole); } } void HopItemDelegate::updateEditorGeometry(QWidget *editor, const QStyleOptionViewItem &option, const QModelIndex& /*index*/) const { editor->setGeometry(option.rect); } brewtarget-2.0.2/src/BtTreeFilterProxyModel.h0000644000175000017500000000466212266512167020553 0ustar philipphilip/* * BtTreeFilterProxyModel.cpp is part of Brewtarget, and is Copyright Mik * Firestone (mikfire@gmail.com) and Philip G. Lee (rocketman768@gmail.com), * 2010-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef _BTTREEFILTERPROXYMODEL_H #define _BTTREEFILTERPROXYMODEL_H class BtTreeFilterProxyModel; #include #include "BrewTargetTreeModel.h" #include "BrewTargetTreeView.h" #include "BrewTargetTreeItem.h" #include "recipe.h" #include "equipment.h" #include "fermentable.h" #include "misc.h" #include "hop.h" #include "yeast.h" #include "style.h" /*! * \class BtTreeFilterProxyModel * \author Mik Firestone * \author Philip G. Lee * * \brief Proxy model for sorting brewtarget trees. */ class BtTreeFilterProxyModel : public QSortFilterProxyModel { Q_OBJECT public: BtTreeFilterProxyModel(QObject *parent, BrewTargetTreeModel::TypeMasks mask); protected: bool lessThan(const QModelIndex &left, const QModelIndex &right) const; bool filterAcceptsRow( int source_row, const QModelIndex &source_parent) const; private: BrewTargetTreeModel::TypeMasks treeMask; bool lessThanRecipe(BrewTargetTreeModel* model,const QModelIndex &left, const QModelIndex &right) const; bool lessThanEquip(BrewTargetTreeModel* model,const QModelIndex &left, const QModelIndex &right) const; bool lessThanFerment(BrewTargetTreeModel* model,const QModelIndex &left, const QModelIndex &right) const; bool lessThanMisc(BrewTargetTreeModel* model,const QModelIndex &left, const QModelIndex &right) const; bool lessThanHop(BrewTargetTreeModel* model,const QModelIndex &left, const QModelIndex &right) const; bool lessThanYeast(BrewTargetTreeModel* model,const QModelIndex &left, const QModelIndex &right) const; bool lessThanStyle(BrewTargetTreeModel* model,const QModelIndex &left, const QModelIndex &right) const; }; #endif brewtarget-2.0.2/src/BrewTargetTreeItem.h0000644000175000017500000001561312266512167017700 0ustar philipphilip/* * BrewTargetTreeItem.h is part of Brewtarget and was written by Mik Firestone * (mikfire@gmail.com). Copyright is granted to Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef BREWTARGETTREEITEM_H_ #define BREWTARGETTREEITEM_H_ class BrewTargetTreeItem; #include #include #include #include #include #include #include #include "BeerXMLElement.h" // Forward declarations. class BrewNote; class Equipment; class Fermentable; class Hop; class Recipe; class Misc; class Yeast; class Style; /*! * \class BrewTargetTreeItem * \author Mik Firestone * * \brief Model for an item in a tree. * * This provides a generic item from which the trees are built. Since most of * the actions required are the same regardless of the item being stored (e.g. * hop or equipment), this class considers them all the same. * * It does assume that everything being stored can be cast into a QObject. */ class BrewTargetTreeItem { public: /*! * The columns being displayed for recipes */ enum RECIPEITEM { //! Recipe name RECIPENAMECOL, //! Recipe brewdate RECIPEBREWDATECOL, //! Recipe style RECIPESTYLECOL, //! the number of columns available for recipes RECIPENUMCOLS }; /*! * The columns being displayed for equipment */ enum EQUIPITEM { //! Equipment name EQUIPMENTNAMECOL, //! Equipment boil time EQUIPMENTBOILTIMECOL, //! the number of columns available for equipment EQUIPMENTNUMCOLS }; /*! * The columns being displayed for fermentables */ enum FERMITEM { //! Fermentable name FERMENTABLENAMECOL, //! Fermentable type FERMENTABLETYPECOL, //! Fermentable color FERMENTABLECOLORCOL, //! the number of columns available for fermentables FERMENTABLENUMCOLS }; /*! * The columns being displayed for hops */ enum HOPITEM { //! Hop name HOPNAMECOL, //! Hop form HOPFORMCOL, //! Hop use HOPUSECOL, //! the number of columns available for hops HOPNUMCOLS }; /*! * The columns being displayed for misc */ enum MISCITEM { //! Misc name MISCNAMECOL, //! Misc type MISCTYPECOL, //! Misc user MISCUSECOL, //! the number of columns available for misc MISCNUMCOLS }; /*! * The columns being displayed for yeast */ enum YEASTITEM { //! Yeast name YEASTNAMECOL, //! Yeast type YEASTTYPECOL, //! Yeast form YEASTFORMCOL, //! the number of columns available for yeast YEASTNUMCOLS }; /*! * The columns being displayed for brewnotes */ enum BREWNOTEITEM { //! Brew date BREWDATE, //! the number of columns available for brewnote BREWNUMCOLS }; /*! * The columns to display for styles */ enum STYLEITEM { //! Name STYLENAMECOL, //! Category STYLECATEGORYCOL, //! category number STYLENUMBERCOL, //! category letter STYLELETTERCOL, //! which style guide definition comes from STYLEGUIDECOL, //! And the standard number of columns STYLENUMCOLS }; /*! * This enum lists the different things that we can store in an item */ enum ITEMTYPE { RECIPE, EQUIPMENT, FERMENTABLE, HOP, MISC, YEAST, BREWNOTE, STYLE, NUMTYPES }; friend bool operator==(BrewTargetTreeItem &lhs, BrewTargetTreeItem &rhs); //! \brief A constructor that sets the \c type of the BrewTargetTreeItem and // the \c parent BrewTargetTreeItem(int type = NUMTYPES, BrewTargetTreeItem *parent=0 ); virtual ~BrewTargetTreeItem(); //! \brief returns the child at \c number BrewTargetTreeItem *child(int number); //! \brief returns item's parent BrewTargetTreeItem *parent(); //! \brief returns item's type int getType(); //! \brief returns the number of the item's children int childCount() const; //! \brief returns number of columns associated with the item's \c type int columnCount(int type) const; //! \brief returns the data of the item of \c type at \c column QVariant data(int type, int column); //! \brief returns the index of the item in it's parents list int childNumber() const; //! \brief provides a wrapper to data() so that the caller doesn't need to // know the type of the item QVariant getData(int column); //! \brief sets the \c t type of the object and the \d data void setData(int t, QObject *d); //! \brief returns the data as a Recipe Recipe* getRecipe(); //! \brief returns the data as an Equipment Equipment* getEquipment(); //! \brief returns the data as a fermentable Fermentable* getFermentable(); //! \brief returns the data as a hop Hop* getHop(); //! \brief returns the data as a misc Misc* getMisc(); //! \brief returns the data as a yeast Yeast* getYeast(); //! \brief returns the data as a brewnote BrewNote* getBrewNote(); //! \brief returns the data as a style Style* getStyle(); //! \brief returns the data as a BeerXMLElement BeerXMLElement* getThing(); //! \brief inserts \c count new items of \c type, starting at \c position bool insertChildren(int position, int count, int type = RECIPE); //! \brief removes \c count items starting at \c position bool removeChildren(int position, int count); private: /*! Keep a pointer to the parent tree item. */ BrewTargetTreeItem* parentItem; /*! The list of children associated with this item */ QList childItems; /*! the type of this item */ int type; /*! the data associated with this item */ QObject* thing; /*! helper functions to get the information from the item */ QVariant dataRecipe(int column); QVariant dataEquipment(int column); QVariant dataFermentable(int column); QVariant dataHop(int column); QVariant dataMisc(int column); QVariant dataYeast(int column); QVariant dataBrewNote(int column); QVariant dataStyle(int column); void setType(int t); }; #endif /* BREWTARGETTREEITEM_H_ */ brewtarget-2.0.2/src/TimeUnitSystem.cpp0000644000175000017500000000536612266512167017475 0ustar philipphilip/* * TimeUnitSystem.cpp is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include "TimeUnitSystem.h" #include #include bool TimeUnitSystem::isMapSetup = false; TimeUnitSystem::TimeUnitSystem() { } QString TimeUnitSystem::displayAmount( double amount, Unit* units, unitScale scale ) { QString SIUnitName = units->getSIUnitName(); double SIAmount = units->toSI( amount ); double absSIAmount = qAbs(SIAmount); QString ret; // Special cases. Make sure the unit isn't null and that we're // dealing with time. if( units == 0 || SIUnitName.compare("min") != 0 ) return QString("%L1").arg(amount, fieldWidth, format, precision); if( absSIAmount < Units::minutes->toSI(1.0) ) // Less than a minute, show seconds. ret = QString("%L1 %2").arg(Units::seconds->fromSI(SIAmount), fieldWidth, format, precision).arg(Units::seconds->getUnitName()); else if( absSIAmount < Units::hours->toSI(2.0) ) // Less than two hours, show minutes. ret = QString("%L1 %2").arg(Units::minutes->fromSI(SIAmount), fieldWidth, format, precision).arg(Units::minutes->getUnitName()); else if( absSIAmount < Units::days->toSI(1.0) )// Show hours. ret = QString("%L1 %2").arg(Units::hours->fromSI(SIAmount), fieldWidth, format, precision).arg(Units::hours->getUnitName()); else ret = QString("%L1 %2").arg(Units::days->fromSI(SIAmount), fieldWidth, format, precision).arg(Units::days->getUnitName()); return ret; } double TimeUnitSystem::qstringToSI( QString qstr ) { ensureMapIsSetup(); return UnitSystem::qstringToSI(qstr,Units::minutes); } void TimeUnitSystem::ensureMapIsSetup() { // If it is setup, return now. if( isMapSetup ) return; // Ok, map was not setup, so set it up. nameToUnit.insert(Units::seconds->getUnitName(), Units::seconds); nameToUnit.insert(Units::minutes->getUnitName(), Units::minutes); nameToUnit.insert(Units::hours->getUnitName(), Units::hours); nameToUnit.insert(Units::days->getUnitName(), Units::days); isMapSetup = true; } QString TimeUnitSystem::unitType() { return "entropy"; } brewtarget-2.0.2/src/UnitSystems.h0000644000175000017500000000265512266512167016504 0ustar philipphilip/* * UnitSystems.h is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ class USWeightUnitSystem; class SIWeightUnitSystem; class ImperialVolumeUnitSystem; class USVolumeUnitSystem; class SIVolumeUnitSystem; class CelsiusTempUnitSystem; class FahrenheitTempUnitSystem; class TimeUnitSystem; class UnitSystems { public: static USWeightUnitSystem* usWeightUnitSystem(); static SIWeightUnitSystem* siWeightUnitSystem(); static ImperialVolumeUnitSystem* imperialVolumeUnitSystem(); static USVolumeUnitSystem* usVolumeUnitSystem(); static SIVolumeUnitSystem* siVolumeUnitSystem(); static CelsiusTempUnitSystem* celsiusTempUnitSystem(); static FahrenheitTempUnitSystem* fahrenheitTempUnitSystem(); static TimeUnitSystem* timeUnitSystem(); }; brewtarget-2.0.2/src/EquipmentListModel.cpp0000644000175000017500000001224312266512167020306 0ustar philipphilip/* * EquipmentListModel.cpp is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include "EquipmentListModel.h" #include "equipment.h" #include "database.h" #include "recipe.h" EquipmentListModel::EquipmentListModel(QWidget* parent) : QAbstractListModel(parent), recipe(0) { connect( &(Database::instance()), SIGNAL(newEquipmentSignal(Equipment*)), this, SLOT(addEquipment(Equipment*)) ); connect( &(Database::instance()), SIGNAL(deletedEquipmentSignal(Equipment*)), this, SLOT(removeEquipment(Equipment*)) ); repopulateList(); } void EquipmentListModel::addEquipment(Equipment* equipment) { if( !equipment || equipments.contains(equipment) || equipment->deleted() || !equipment->display() ) return; int size = equipments.size(); beginInsertRows( QModelIndex(), size, size ); equipments.append(equipment); connect( equipment, SIGNAL(changed(QMetaProperty,QVariant)), this, SLOT(equipChanged(QMetaProperty,QVariant)) ); endInsertRows(); } void EquipmentListModel::addEquipments(QList equips) { QList::iterator i; QList tmp; for( i = equips.begin(); i != equips.end(); i++ ) { // if the equipment is not already in the list and // if the equipment has not been deleted and // if the equipment is to be displayed, then append it if( !equipments.contains(*i) && !(*i)->deleted() && (*i)->display() ) tmp.append(*i); } int size = equipments.size(); if (size+tmp.size()) { beginInsertRows( QModelIndex(), size, size+tmp.size()-1 ); equipments.append(tmp); for( i = tmp.begin(); i != tmp.end(); i++ ) connect( *i, SIGNAL(changed(QMetaProperty,QVariant)), this, SLOT(equipChanged(QMetaProperty,QVariant)) ); endInsertRows(); } } void EquipmentListModel::removeEquipment(Equipment* equipment) { int ndx = equipments.indexOf(equipment); if( ndx > 0 ) { beginRemoveRows( QModelIndex(), ndx, ndx ); disconnect( equipment, 0, this, 0 ); equipments.removeAt(ndx); endRemoveRows(); } } void EquipmentListModel::removeAll() { if (equipments.size()) { beginRemoveRows( QModelIndex(), 0, equipments.size()-1 ); while( !equipments.isEmpty() ) { disconnect( equipments.takeLast(), 0, this, 0 ); } endRemoveRows(); } } void EquipmentListModel::equipChanged(QMetaProperty prop, QVariant val) { Equipment* eSend = qobject_cast(sender()); // NOTE: how to get around the issue that the sender might live in // a different thread and therefore always cause eSend == 0? if( eSend == 0 ) return; QString propName(prop.name()); if( propName == "name" ) { int ndx = equipments.indexOf(eSend); if( ndx >= 0 ) emit dataChanged( createIndex(ndx,0), createIndex(ndx,0) ); } } void EquipmentListModel::recChanged(QMetaProperty prop, QVariant val) { QString propName(prop.name()); if( propName == "equipment" ) { Equipment* newEquip = qobject_cast(BeerXMLElement::extractPtr(val)); // Now do something with the equipment. Q_UNUSED(newEquip); // Until then, this will keep the compiler happy } } void EquipmentListModel::repopulateList() { removeAll(); addEquipments( Database::instance().equipments() ); } Equipment* EquipmentListModel::at(int ndx) { if( ndx >= 0 && ndx < equipments.size() ) return equipments[ndx]; else return 0; } int EquipmentListModel::indexOf(Equipment* e) { return equipments.indexOf(e); } QModelIndex EquipmentListModel::find(Equipment* e) { int indx = equipments.indexOf(e); if( indx < 0 ) return QModelIndex(); else return index(indx,0); } void EquipmentListModel::observeRecipe(Recipe* rec) { if( recipe ) disconnect( recipe, 0, this, 0 ); recipe = rec; if( recipe ) connect( recipe, SIGNAL(changed(QMetaProperty,QVariant)), this, SLOT(recChanged(QMetaProperty,QVariant)) ); } int EquipmentListModel::rowCount( QModelIndex const& parent ) const { return equipments.size(); } QVariant EquipmentListModel::data( QModelIndex const& index, int role ) const { int row = index.row(); int col = index.column(); if( col == 0 && role == Qt::DisplayRole ) return QVariant(equipments.at(row)->name()); else return QVariant(); } QVariant EquipmentListModel::headerData( int section, Qt::Orientation orientation, int role ) const { return QVariant(QString("Testing...")); } brewtarget-2.0.2/src/CelsiusTempUnitSystem.h0000644000175000017500000000251512266512167020472 0ustar philipphilip/* * CelsiusTempUnitSystem.h is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef _CELSIUSTEMPUNITSYSTEM_H #define _CELSIUSTEMPUNITSYSTEM_H class CelsiusTempUnitSystem; #include #include "UnitSystem.h" class CelsiusTempUnitSystem : public UnitSystem { public: CelsiusTempUnitSystem(); QString displayAmount( double amount, Unit* units = 0, unitScale scale = noScale ); /* Inherited from UnitSystem */ double qstringToSI( QString qstr ); /* Inherited from UnitSystem */ Unit* thicknessUnit(){ return 0; } QString unitType(); private: static void ensureMapIsSetup(); static bool isMapSetup; }; #endif /*_CELSIUSTEMPUNITSYSTEM_H*/ brewtarget-2.0.2/src/MainWindow.h0000755000175000017500000002602412266512167016250 0ustar philipphilip/* * MainWindow.h is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef _MAINWINDOW_H #define _MAINWINDOW_H class MainWindow; #include #include #include #include #include #include #include #include #include #include #include "ui_mainWindow.h" // Forward Declarations class FermentableDialog; class HopDialog; class MiscDialog; class YeastDialog; class AboutDialog; class Recipe; class BeerColorWidget; class FermentableEditor; class MiscEditor; class HopEditor; class YeastEditor; class EquipmentEditor; class StyleEditor; class OptionDialog; class MaltinessWidget; class MashEditor; class MashStepEditor; class MashWizard; class BrewDayScrollWidget; class HtmlViewer; class ScaleRecipeTool; class RecipeFormatter; class OgAdjuster; class ConverterTool; class TimerListDialog; class PrimingDialog; class RecipeExtrasWidget; class RefractoDialog; class MashDesigner; class MashListModel; class PitchDialog; class BrewNoteWidget; class FermentableTableModel; class FermentableSortFilterProxyModel; class HopTableModel; class HopSortFilterProxyModel; class MiscTableModel; class MiscSortFilterProxyModel; class YeastTableModel; class YeastSortFilterProxyModel; class MashStepTableModel; class EquipmentListModel; class StyleListModel; class StyleSortFilterProxyModel; class NamedMashEditor; class BtDatePopup; /*! * \class MainWindow * \author Philip G. Lee * * \brief Brewtarget's main window. This is a view/controller class. */ class MainWindow : public QMainWindow, public Ui::mainWindow { Q_OBJECT friend class OptionDialog; public: MainWindow(QWidget* parent=0); virtual ~MainWindow() {} //! \brief View the given recipe. void setRecipe(Recipe* recipe); //! \brief Get the currently observed recipe. Recipe* currentRecipe(); //! \brief Display a file dialog for writing xml files. QFile* openForWrite(QString filterStr = "BeerXML files (*.xml)", QString defaultSuff = "xml"); bool verifyImport(QString tag, QString name); bool verifyDelete(QString tab, QString name); void setBrewNoteByIndex(const QModelIndex &index); void setBrewNote(BrewNote* bNote); public slots: //! \brief Accepts Recipe changes, and takes appropriate action to show the changes. void changed(QMetaProperty,QVariant); void setRecipeByIndex(const QModelIndex &index); void treeActivated(const QModelIndex &index); //! \brief Update Recipe name to that given by the relevant widget. void updateRecipeName(); //! \brief Update Recipe Style to that given by the relevant widget. void updateRecipeStyle(); //! \brief Update Recipe Equipment to that given by the relevant widget. void updateRecipeEquipment(); //! \brief Update Recipe batch size to that given by the relevant widget. void updateRecipeBatchSize(); //! \brief Update Recipe boil size to that given by the relevant widget. void updateRecipeBoilSize(); //! \brief Update Recipe boil time to that given by the relevant widget. void updateRecipeBoilTime(); //! \brief Update Recipe efficiency to that given by the relevant widget. void updateRecipeEfficiency(); //! \brief Update Recipe's mash void updateRecipeMash(); //! \brief Add given Fermentable to the Recipe. void addFermentableToRecipe(Fermentable* ferm); //! \brief Remove selected Fermentable from the Recipe. void removeSelectedFermentable(); //! \brief Edit selected Fermentable. void editSelectedFermentable(); //! \brief Show the pitch dialog. void showPitchDialog(); //! \brief Add given Hop to the Recipe. void addHopToRecipe(Hop *hop); //! \brief Remove selected Hop from the Recipe. void removeSelectedHop(); //! \brief Edit selected Hop. void editSelectedHop(); //! \brief Add given Misc to the Recipe. void addMiscToRecipe(Misc* misc); //! \brief Remove selected Misc from the Recipe. void removeSelectedMisc(); //! \brief Edit selected Misc. void editSelectedMisc(); //! \brief Add given Yeast to the Recipe. void addYeastToRecipe(Yeast* yeast); //! \brief Remove selected Yeast from the Recipe. void removeSelectedYeast(); //! \brief Edit selected Yeast void editSelectedYeast(); //! \brief Add a new mash step to the recipe. void addMashStep(); //! \brief Move currently selected mash step down. void moveSelectedMashStepUp(); //! \brief Move currently selected mash step up. void moveSelectedMashStepDown(); //! \brief Remove currently selected mash step. void removeSelectedMashStep(); //! \brief Edit currently selected mash step. void editSelectedMashStep(); //! \brief Set the current recipe's mash to the one selected in the mash combo box. void setMashToCurrentlySelected(); //! \brief Save the current recipe's mash to be used in other recipes. void saveMash(); //! \brief Remove the current mash from the recipe, and replace with a blank one. void removeMash(); //! \brief Create a new recipe in the database. void newRecipe(); //! \brief Export current recipe to BeerXML. void exportRecipe(); //! \brief Display file selection dialog and import BeerXML files. void importFiles(); //! \brief Create a duplicate of the current recipe. void copyRecipe(); void deleteSelected(); void copySelected(); void exportSelected(); //! \brief Prints the right thing, depending on the signal sender. void print(); //! \brief saves the database, which will have some interesting //implications later void save(); //! \brief Backup the database. void backup(); //! \brief Restore the database. void restoreFromBackup(); //! \brief draws a context menu, the exact nature of which depends on which //tree is focused void contextMenu(const QPoint &point); //! \brief creates a new brewnote void newBrewNote(); //! \brief copies an existing brewnote to a new brewday void reBrewNote(); void changeBrewDate(); void fixBrewNote(); //! \brief Open the default browser to Brewtarget's donation page. void openDonateLink(); //! \brief Open the default browser to view Brewtarget manual. void openManual(); //! \brief Merges two database files. void updateDatabase(); //! \brief decides if we accept the drop event void dragEnterEvent(QDragEnterEvent *event); //! \brief handles the actual drop event void dropEvent(QDropEvent *event); //! \brief Catches a QNetworkReply signal and gets info about any new version available. void finishCheckingVersion(); void redisplayLabel(QString field); void showEquipmentEditor(); void showStyleEditor(); protected: virtual void closeEvent(QCloseEvent* event); private slots: /*! * \brief Make the widgets in the window update changes. * * Updates all the widgets with info about the currently * selected Recipe, except for the tables. * * \param prop Not yet used. Will indicate which Recipe property has changed. */ void showChanges(QMetaProperty* prop = 0); //! \brief Displays custom Fermentable context menu. void fermentableContextMenu(const QPoint& point); //! \brief Displays custom Hop context menu. void hopContextMenu(const QPoint& point); //! \brief Displays custom MashStep context menu. void mashStepContextMenu(const QPoint& point); //! \brief Displays custom Misc context menu. void miscContextMenu(const QPoint& point); //! \brief Displays custom Yeast context menu. void yeastContextMenu(const QPoint& point); private: Recipe* recipeObs; Style* recStyle; Equipment* recEquip; AboutDialog* dialog_about; QFileDialog* fileOpener; QFileDialog* fileSaver; QList contextMenus; EquipmentEditor* equipEditor; EquipmentEditor* singleEquipEditor; FermentableDialog* fermDialog; FermentableEditor* fermEditor; HopDialog* hopDialog; HopEditor* hopEditor; MashEditor* mashEditor; MashStepEditor* mashStepEditor; MashWizard* mashWizard; MiscDialog* miscDialog; MiscEditor* miscEditor; StyleEditor* styleEditor; StyleEditor* singleStyleEditor; YeastDialog* yeastDialog; YeastEditor* yeastEditor; OptionDialog* optionDialog; QPalette lcdPalette_old, lcdPalette_tooLow, lcdPalette_good, lcdPalette_tooHigh; MaltinessWidget* maltWidget; QDialog* brewDayDialog; ScaleRecipeTool* recipeScaler; RecipeFormatter* recipeFormatter; OgAdjuster* ogAdjuster; ConverterTool* converterTool; TimerListDialog* timerListDialog; PrimingDialog* primingDialog; RefractoDialog* refractoDialog; MashDesigner* mashDesigner; PitchDialog* pitchDialog; QPrinter *printer; FermentableTableModel* fermTableModel; FermentableSortFilterProxyModel* fermTableProxy; HopTableModel* hopTableModel; HopSortFilterProxyModel* hopTableProxy; MiscTableModel* miscTableModel; MiscSortFilterProxyModel* miscTableProxy; YeastTableModel* yeastTableModel; YeastSortFilterProxyModel* yeastTableProxy; MashStepTableModel* mashStepTableModel; EquipmentListModel* equipmentListModel; MashListModel* mashListModel; StyleListModel* styleListModel; StyleSortFilterProxyModel* styleProxyModel; NamedMashEditor* namedMashEditor; NamedMashEditor* singleNamedMashEditor; BtDatePopup* btDatePopup; QHash brewNotes; int confirmDelete; //! \brief Currently highlighted fermentable in the fermentable table. Fermentable* selectedFermentable(); //! \brief Currently highlighted hop in the hop table. Hop* selectedHop(); //! \brief Currently highlighted misc in the misc table. Misc* selectedMisc(); //! \brief Currently highlighted yeast in the yeast table Yeast* selectedYeast(); //! \brief Scroll to the given \c item in the currently visible item tree. void setTreeSelection(QModelIndex item); //! \brief Set the equipment based on a drop event void droppedRecipeEquipment(Equipment *kit); //! \brief Set the keyboard shortcuts. void setupShortCuts(); //! \brief Set the context menus. void setupContextMenu(); // Copy methods used by copySelected() void copyThis(Recipe *rec); void copyThis(Equipment *kit); void copyThis(Fermentable *ferm); void copyThis(Hop *hop); void copyThis(Misc *misc); void copyThis(Style *style); void copyThis(Yeast *yeast); void convertedMsg(); void importMsg(); }; #endif /* _MAINWINDOW_H */ brewtarget-2.0.2/src/BtDigitWidget.h0000644000175000017500000000376412266512167016671 0ustar philipphilip/* * BtDigitWidget.h is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2010-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef BTDIGITWIDGET_H #define BTDIGITWIDGET_H class BtDigitWidget; #include #include #include /*! * \class BtDigitWidget * \author Philip G. Lee * * \brief Widget that displays colored numbers, depending on if the number is ok, high, or low. * \todo Make this thing directly accept signals from the model items it is supposed to watch. */ class BtDigitWidget : public QLabel { Q_OBJECT public: enum ColorType{ LOW, GOOD, HIGH, BLACK }; BtDigitWidget(QWidget* parent = 0); //! \brief Displays the given \c num with precision \c prec. void display( double num, int prec ); //! \brief Display a QString. void display(QString str); //! \brief Set the lower limit of the "good" range. void setLowLim(double num); //! \brief Set the upper limit of the "good" range. void setHighLim(double num); //! \brief Always use a constant color. void setConstantColor( ColorType c ); //! \brief Automatically choose color. void unsetConstantColor(); private: unsigned int rgblow; unsigned int rgbgood; unsigned int rgbhigh; double lowLim; double highLim; QString styleSheet; bool constantColor; ColorType color; double lastNum; int lastPrec; }; #endif // BTDIGITWIDGET_H brewtarget-2.0.2/src/MashStepEditor.h0000644000175000017500000000364112266512167017064 0ustar philipphilip/* * MashStepEditor.h is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef _MASHSTEPEDITOR_H #define _MASHSTEPEDITOR_H class MashStepEditor; #include #include #include #include #include "ui_mashStepEditor.h" // Forward declarations. class MashStep; /*! * \class MashStepEditor * \author Philip G. Lee * * \brief View/controller dialog for editing mash steps. */ class MashStepEditor : public QDialog, public Ui::mashStepEditor { Q_OBJECT public: MashStepEditor(QWidget* parent=0); virtual ~MashStepEditor() {} public slots: void saveAndClose(); //! View/edit the given mash step. void setMashStep(MashStep* step); void close(); /*! * Grays out irrelevant portions of the dialog. * \param text - one of {"Infusion","Decoction","Temperature"} describing the mash step. */ void grayOutStuff(const QString& text); void changed(QMetaProperty, QVariant); private: /*! Updates the UI elements effected by the \b metaProp of * the step we are watching. If \b metaProp is null, * then update all the UI elements at once. */ void showChanges(QMetaProperty* metaProp = 0); void clear(); MashStep* obs; }; #endif /* _MASHSTEPEDITOR_H */ brewtarget-2.0.2/src/MashEditor.cpp0000644000175000017500000001267212266512167016567 0ustar philipphilip/* * MashEditor.cpp is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include "MashEditor.h" #include #include #include "mash.h" #include "brewtarget.h" #include "unit.h" #include "equipment.h" #include "recipe.h" MashEditor::MashEditor(QWidget* parent) : QDialog(parent), mashObs(0) { setupUi(this); connect(pushButton_fromEquipment, SIGNAL(clicked()), this, SLOT(fromEquipment()) ); connect(this, SIGNAL(accepted()), this, SLOT(saveAndClose()) ); connect(this, SIGNAL(rejected()), this, SLOT(closeEditor()) ); } void MashEditor::showEditor() { showChanges(); setVisible(true); } void MashEditor::closeEditor() { setVisible(false); } void MashEditor::saveAndClose() { if( mashObs == 0 ) return; //mash->disableNotification(); // If we don't do this, the notification will propagate to a showChanges() and we'll lose any info we want saved. mashObs->setEquipAdjust( true ); // BeerXML won't like me, but it's just stupid not to adjust for the equipment when you're able. mashObs->setName( lineEdit_name->text() ); mashObs->setGrainTemp_c(Brewtarget::tempQStringToSI(lineEdit_grainTemp->text())); mashObs->setSpargeTemp_c(Brewtarget::tempQStringToSI(lineEdit_spargeTemp->text())); mashObs->setPh(lineEdit_spargePh->text().toDouble()); mashObs->setTunTemp_c(Brewtarget::tempQStringToSI(lineEdit_tunTemp->text())); mashObs->setTunWeight_kg(Brewtarget::weightQStringToSI(lineEdit_tunMass->text())); mashObs->setTunSpecificHeat_calGC(lineEdit_tunSpHeat->text().toDouble() ); mashObs->setNotes( textEdit_notes->toPlainText() ); //mash->reenableNotification(); //mash->forceNotify(); } void MashEditor::fromEquipment() { if( mashObs == 0 ) return; if ( equip == 0 ) return; lineEdit_tunMass->setText(Brewtarget::displayAmount(equip->tunWeight_kg(), Units::kilograms)); lineEdit_tunSpHeat->setText(Brewtarget::displayAmount(equip->tunSpecificHeat_calGC())); } void MashEditor::setMash(Mash* mash) { if( mashObs ) disconnect( mashObs, 0, this, 0 ); mashObs = mash; if( mashObs ) { connect( mashObs, SIGNAL(changed(QMetaProperty,QVariant)), this, SLOT(changed(QMetaProperty,QVariant)) ); showChanges(); } } void MashEditor::setEquipment(Equipment* e) { if ( ! e ) return; equip = e; if( mashObs ) { // Only do this if we have to. Otherwise, it causes some uneccesary // updates to the database. if ( mashObs->tunWeight_kg() != e->tunWeight_kg() ) mashObs->setTunWeight_kg( e->tunWeight_kg() ); if ( mashObs->tunSpecificHeat_calGC() != e->tunSpecificHeat_calGC() ) mashObs->setTunSpecificHeat_calGC( e->tunSpecificHeat_calGC() ); } } void MashEditor::changed(QMetaProperty prop, QVariant /*val*/) { if( sender() == mashObs ) showChanges(&prop); } void MashEditor::showChanges(QMetaProperty* prop) { bool updateAll = false; QString propName; if( mashObs == 0 ) { clear(); return; } if( prop == 0 ) updateAll = true; else propName = prop->name(); if( propName == "name" || updateAll ) { lineEdit_name->setText(mashObs->name()); if( ! updateAll ) return; } if( propName == "grainTemp_c" || updateAll ) { lineEdit_grainTemp->setText(Brewtarget::displayAmount(mashObs->grainTemp_c(), Units::celsius)); if( ! updateAll ) return; } if( propName == "spargeTemp_c" || updateAll ) { lineEdit_spargeTemp->setText(Brewtarget::displayAmount(mashObs->spargeTemp_c(), Units::celsius)); if( ! updateAll ) return; } if( propName == "ph" || updateAll ) { lineEdit_spargePh->setText(Brewtarget::displayAmount(mashObs->ph())); if( ! updateAll ) return; } if( propName == "tunTemp_c" || updateAll ) { lineEdit_tunTemp->setText(Brewtarget::displayAmount(mashObs->tunTemp_c(), Units::celsius)); if( ! updateAll ) return; } if( propName == "tunMass_kg" || updateAll ) { lineEdit_tunMass->setText(Brewtarget::displayAmount(mashObs->tunWeight_kg(), Units::kilograms)); if( ! updateAll ) return; } if( propName == "tunSpecificHeat_calGC" || updateAll ) { lineEdit_tunSpHeat->setText(Brewtarget::displayAmount(mashObs->tunSpecificHeat_calGC())); if( ! updateAll ) return; } if( propName == "notes" || updateAll ) { textEdit_notes->setPlainText(mashObs->notes()); if( ! updateAll ) return; } } void MashEditor::clear() { lineEdit_name->setText(""); lineEdit_grainTemp->setText(""); lineEdit_spargeTemp->setText(""); lineEdit_spargePh->setText(""); lineEdit_tunTemp->setText(""); lineEdit_tunMass->setText(""); lineEdit_tunSpHeat->setText(""); textEdit_notes->setPlainText(""); } brewtarget-2.0.2/src/UnitSystem.cpp0000644000175000017500000000416412266512167016651 0ustar philipphilip/* * UnitSystem.cpp is part of Brewtarget, written by Mik Firestone * (mikfire@gmail.com) and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include "UnitSystem.h" #include #include #include const int UnitSystem::fieldWidth = 0; const char UnitSystem::format = 'f'; const int UnitSystem::precision = 3; QMap UnitSystem::nameToUnit; UnitSystem::UnitSystem() { // Make sure we get the right decimal point (. or ,) and the right grouping // separator (, or .). Some locales write 1.000,10 and other write // 1,000.10. We need to catch both QString decimal = QRegExp::escape( QLocale::system().decimalPoint()); QString grouping = QRegExp::escape(QLocale::system().groupSeparator()); amtUnit.setPattern("((?:\\d+" + grouping + ")?\\d+(?:" + decimal + "\\d+)?|" + decimal + "\\d+)\\s*(\\w+)?"); amtUnit.setCaseSensitivity(Qt::CaseInsensitive); } double UnitSystem::qstringToSI(QString qstr, Unit* defUnit) { bool convOk = true; double amt = 0.0; Unit* u = defUnit; if (amtUnit.indexIn(qstr) == -1) return 0.0; amt = QLocale().toDouble(amtUnit.cap(1), &convOk); if( !convOk ) amt = QLocale::c().toDouble(amtUnit.cap(1)); QString unit = amtUnit.cap(2); if ( unit.size() > 0 && getUnit(unit) ) u = getUnit(unit); return u->toSI(amt); } Unit* UnitSystem::getUnit(const QString& name) { if( nameToUnit.count(name) < 1 ) return 0; else return nameToUnit[name]; } brewtarget-2.0.2/src/BtTextEdit.cpp0000644000175000017500000000426412266512167016546 0ustar philipphilip/* * BtTextEdit.cpp is part of Brewtarget and was written by Mik Firestone * (mikfire@gmail.com). Copyright is granted to Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include "BtTextEdit.h" #include "brewtarget.h" #include #include /*! \brief Initialize the BtTextEdit with the parent and do some things with the type * \param parent - QWidget* to the parent object * \param lType - the type of label: none, gravity, mass or volume * \return the initialized widget * \todo Not sure if I can get the name of the widget being created. * Not sure how to signal the parent to redisplay */ BtTextEdit::BtTextEdit(QWidget *parent) { wasModified = false; // We will see if this works... connect(this,SIGNAL(textChanged()),this,SLOT(textChanged())); } BtTextEdit::BtTextEdit(const QString &text, QWidget *parent) { setPlainText(text); wasModified = false; // We will see if this works... connect(this,SIGNAL(textChanged()),this,SLOT(textChanged())); } // I don't have faith in this. The concept is to call the super and then clear // the modified flag. The intent is that this is only done via the code, not // the user (e.g., loads and things) void BtTextEdit::setPlainText(const QString & text) { QPlainTextEdit::setPlainText(text); wasModified = false; } void BtTextEdit::focusOutEvent(QFocusEvent *e) { if ( wasModified ) { wasModified = false; emit textModified(); } } bool BtTextEdit::isModified() { return wasModified; } void BtTextEdit::textChanged() { wasModified = true; } brewtarget-2.0.2/src/RecipeExtrasWidget.cpp0000644000175000017500000002365112266512167020271 0ustar philipphilip/* * RecipeExtrasWidget.cpp is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2011. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include #include "RecipeExtrasWidget.h" #include "unit.h" #include "brewtarget.h" #include "recipe.h" RecipeExtrasWidget::RecipeExtrasWidget(QWidget* parent) : QWidget(parent), recipe(0) { setupUi(this); ratingChanged = false; connect( lineEdit_age, SIGNAL(editingFinished()), this, SLOT(updateAge())); connect( lineEdit_ageTemp, SIGNAL(editingFinished()), this, SLOT(updateAgeTemp())); connect( lineEdit_asstBrewer, SIGNAL(editingFinished()), this, SLOT(updateBrewerAsst()) ); connect( lineEdit_brewer, SIGNAL(editingFinished()), this, SLOT(updateBrewer()) ); connect( lineEdit_carbVols, SIGNAL(editingFinished()), this, SLOT(updateCarbonation()) ); connect( lineEdit_primaryAge, SIGNAL(editingFinished()), this, SLOT(updatePrimaryAge()) ); connect( lineEdit_primaryTemp, SIGNAL(editingFinished()), this, SLOT(updatePrimaryTemp()) ); connect( lineEdit_secAge, SIGNAL(editingFinished()), this, SLOT(updateSecondaryAge()) ); connect( lineEdit_secTemp, SIGNAL(editingFinished()), this, SLOT(updateSecondaryTemp()) ); connect( lineEdit_tertAge, SIGNAL(editingFinished()), this, SLOT(updateTertiaryAge()) ); connect( lineEdit_tertTemp, SIGNAL(editingFinished()), this, SLOT(updateTertiaryTemp()) ); connect( spinBox_tasteRating, SIGNAL(valueChanged(int)), this, SLOT(changeRatings(int)) ); connect( spinBox_tasteRating, SIGNAL(editingFinished()), this, SLOT(updateTasteRating()) ); connect( dateEdit_date, SIGNAL(dateChanged(const QDate& )), this, SLOT(updateDate(const QDate&)) ); connect(btTextEdit_notes, SIGNAL(textModified()), this, SLOT(updateNotes())); connect(btTextEdit_tasteNotes, SIGNAL(textModified()), this, SLOT(updateTasteNotes())); } void RecipeExtrasWidget::setRecipe(Recipe* rec) { if( recipe ) disconnect( recipe, 0, this, 0 ); if( rec ) { recipe = rec; connect( recipe, SIGNAL(changed(QMetaProperty,QVariant)), this, SLOT(changed(QMetaProperty,QVariant)) ); showChanges(); } } void RecipeExtrasWidget::updateBrewer() { if( recipe == 0 ) return; if ( lineEdit_brewer->isModified() ) recipe->setBrewer(lineEdit_brewer->text()); } void RecipeExtrasWidget::updateBrewerAsst() { if( recipe == 0 ) return; if ( lineEdit_asstBrewer->isModified() ) recipe->setAsstBrewer(lineEdit_asstBrewer->text()); } void RecipeExtrasWidget::changeRatings(int rating) { ratingChanged = true; } void RecipeExtrasWidget::updateTasteRating() { if( recipe == 0 ) return; if ( ratingChanged ) { recipe->setTasteRating( (double)(spinBox_tasteRating->value()) ); ratingChanged = false; } } void RecipeExtrasWidget::updatePrimaryAge() { if( recipe == 0 ) return; if ( lineEdit_primaryAge->isModified() ) recipe->setPrimaryAge_days( lineEdit_primaryAge->text().toDouble() ); } void RecipeExtrasWidget::updatePrimaryTemp() { if( recipe == 0 ) return; if ( lineEdit_primaryTemp->isModified() ) recipe->setPrimaryTemp_c( Brewtarget::tempQStringToSI(lineEdit_primaryTemp->text()) ); } void RecipeExtrasWidget::updateSecondaryAge() { if( recipe == 0 ) return; if ( lineEdit_secAge->isModified() ) recipe->setSecondaryAge_days( lineEdit_secAge->text().toDouble() ); } void RecipeExtrasWidget::updateSecondaryTemp() { if( recipe == 0 ) return; if ( lineEdit_secTemp->isModified() ) recipe->setSecondaryTemp_c( Brewtarget::tempQStringToSI(lineEdit_secTemp->text()) ); } void RecipeExtrasWidget::updateTertiaryAge() { if( recipe == 0 ) return; if ( lineEdit_tertAge->isModified() ) recipe->setTertiaryAge_days( lineEdit_tertAge->text().toDouble() ); } void RecipeExtrasWidget::updateTertiaryTemp() { if( recipe == 0 ) return; if ( lineEdit_tertTemp->isModified() ) recipe->setTertiaryTemp_c( Brewtarget::tempQStringToSI( lineEdit_tertTemp->text() ) ); } void RecipeExtrasWidget::updateAge() { if( recipe == 0 ) return; if ( lineEdit_age->isModified() ) recipe->setAge_days( lineEdit_age->text().toDouble() ); } void RecipeExtrasWidget::updateAgeTemp() { if( recipe == 0 ) return; if ( lineEdit_ageTemp->isModified() ) recipe->setAgeTemp_c( Brewtarget::tempQStringToSI( lineEdit_ageTemp->text() ) ); } void RecipeExtrasWidget::updateDate(const QDate& date) { if( recipe == 0 ) return; if ( date.isNull() ) recipe->setDate( dateEdit_date->date() ); else recipe->setDate( date ); } void RecipeExtrasWidget::updateCarbonation() { if( recipe == 0 ) return; if ( lineEdit_carbVols->isModified() ) recipe->setCarbonation_vols( lineEdit_carbVols->text().toDouble() ); } void RecipeExtrasWidget::updateTasteNotes() { if( recipe == 0 ) return; recipe->setTasteNotes( btTextEdit_tasteNotes->toPlainText() ); } void RecipeExtrasWidget::updateNotes() { if( recipe == 0 ) return; recipe->setNotes( btTextEdit_notes->toPlainText() ); } void RecipeExtrasWidget::changed(QMetaProperty prop, QVariant /*val*/) { if( sender() != recipe ) return; showChanges(&prop); } void RecipeExtrasWidget::saveAll() { //recObs->disableNotification(); updateBrewer(); updateBrewerAsst(); updateTasteRating(); updatePrimaryAge(); updatePrimaryTemp(); updateSecondaryAge(); updateSecondaryTemp(); updateTertiaryAge(); updateTertiaryTemp(); updateAge(); updateAgeTemp(); updateDate(); updateCarbonation(); updateTasteNotes(); updateNotes(); //recObs->reenableNotification(); //recObs->forceNotify(); hide(); } void RecipeExtrasWidget::showChanges(QMetaProperty* prop) { bool updateAll = (prop == 0); QString propName; QVariant val; if( prop ) { propName = prop->name(); val = prop->read(recipe); } if( ! recipe ) return; // Unlike other editors, this one needs to read from recipe when it gets an // updateAll if ( updateAll ) { lineEdit_age->setText( Brewtarget::displayAmount(recipe->age_days(), Units::days) ); lineEdit_ageTemp->setText( Brewtarget::displayAmount(recipe->ageTemp_c(), Units::celsius) ); lineEdit_asstBrewer->setText( recipe->asstBrewer() ); lineEdit_brewer->setText( recipe->brewer() ); lineEdit_carbVols->setText( Brewtarget::displayAmount(recipe->carbonation_vols()) ); lineEdit_primaryAge->setText( Brewtarget::displayAmount(recipe->primaryAge_days(), Units::days) ); lineEdit_primaryTemp->setText( Brewtarget::displayAmount(recipe->primaryTemp_c(), Units::celsius) ); lineEdit_secAge->setText( Brewtarget::displayAmount(recipe->secondaryAge_days(), Units::days) ); lineEdit_secTemp->setText( Brewtarget::displayAmount(recipe->secondaryTemp_c(), Units::celsius) ); lineEdit_tertAge->setText( Brewtarget::displayAmount(recipe->tertiaryAge_days(), Units::days) ); lineEdit_tertTemp->setText( Brewtarget::displayAmount(recipe->tertiaryTemp_c(), Units::celsius) ); spinBox_tasteRating->setValue( (int)(recipe->tasteRating()) ); dateEdit_date->setDate( recipe->date() ); btTextEdit_notes->setPlainText( recipe->notes() ); btTextEdit_tasteNotes->setPlainText( recipe->tasteNotes() ); } else if( propName == "age_days" ) lineEdit_age->setText( Brewtarget::displayAmount(val.toDouble()) ); else if( propName == "ageTemp_c" ) lineEdit_ageTemp->setText( Brewtarget::displayAmount(val.toDouble(), Units::celsius) ); else if( propName == "asstBrewer" ) lineEdit_asstBrewer->setText( val.toString() ); else if( propName == "brewer" ) lineEdit_brewer->setText( val.toString() ); else if( propName == "carbonation_vols" ) lineEdit_carbVols->setText( Brewtarget::displayAmount(val.toDouble()) ); else if( propName == "primaryAge_days" ) lineEdit_primaryAge->setText( Brewtarget::displayAmount(val.toDouble()) ); else if( propName == "primaryTemp_c" ) lineEdit_primaryTemp->setText( Brewtarget::displayAmount(val.toDouble(), Units::celsius) ); else if( propName == "secondaryAge_days" ) lineEdit_secAge->setText( Brewtarget::displayAmount(val.toDouble()) ); else if( propName == "secondaryTemp_c" ) lineEdit_secTemp->setText( Brewtarget::displayAmount(val.toDouble(), Units::celsius) ); else if( propName == "tertiaryAge_days" ) lineEdit_tertAge->setText( Brewtarget::displayAmount(val.toDouble()) ); else if( propName == "tertiaryTemp_c" ) lineEdit_tertTemp->setText( Brewtarget::displayAmount(val.toDouble(), Units::celsius) ); else if( propName == "tasteRating" ) spinBox_tasteRating->setValue( (int)(val.toDouble()) ); else if( propName == "date" ) dateEdit_date->setDate( val.toDate() ); else if( propName == "notes" ) btTextEdit_notes->setPlainText( val.toString() ); else if( propName == "tasteNotes" ) btTextEdit_tasteNotes->setPlainText( val.toString() ); } brewtarget-2.0.2/src/BrewTargetTreeModel.h0000644000175000017500000002436512266512167020046 0ustar philipphilip/* * BrewTargetTreeModel.h is part of Brewtarget and was written by Mik * Firestone (mikfire@gmail.com). Copyright is granted to Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef RECEIPTREEMODEL_H_ #define RECEIPTREEMODEL_H_ class BrewTargetTreeModel; #include #include #include #include #include #include #include #include // Forward declarations class BeerXMLElement; class Recipe; class BrewTargetTreeItem; class BrewTargetTreeView; class BrewNote; class Equipment; class Fermentable; class Hop; class Misc; class Yeast; class Style; /*! * \class BrewTargetTreeModel * \author Mik Firestone * * \brief Model for a tree of Recipes, Equipments, Fermentables, Hops, Miscs and Yeasts * * Provides the necessary model so we can build the trees. It extends the * QAbstractItemModel, so it has to implement some of the virtual methods * required. */ class BrewTargetTreeModel : public QAbstractItemModel { Q_OBJECT public: //! \brief Describes what items this tree will show. enum TypeMasks { //! Show recipes RECIPEMASK = 1, //! Show equipments EQUIPMASK = 2, //! Show fermentables FERMENTMASK = 4, //! Show hops HOPMASK = 8, //! Show miscs MISCMASK = 16, //! Show yeasts YEASTMASK = 32, //! Show brewnotes BREWNOTEMASK = 64, //! Show styles STYLEMASK = 128, //! Show everything -- deprecated. This is a remenant of the original //trees implementation and should not be used ALLMASK = 255 }; BrewTargetTreeModel(BrewTargetTreeView *parent = 0, TypeMasks type = ALLMASK); virtual ~BrewTargetTreeModel(); //! \brief Reimplemented from QAbstractItemModel virtual QVariant data(const QModelIndex &index, int role) const; //! \brief Reimplemented from QAbstractItemModel virtual QVariant headerData( int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const; //! \brief Reimplemented from QAbstractItemModel virtual Qt::ItemFlags flags( const QModelIndex &index) const; //! \brief Reimplemented from QAbstractItemModel virtual int rowCount( const QModelIndex &parent = QModelIndex()) const; //! \brief Reimplemented from QAbstractItemModel virtual int columnCount( const QModelIndex &index = QModelIndex()) const; //! \brief Reimplemented from QAbstractItemModel virtual QModelIndex index( int row, int col, const QModelIndex &parent = QModelIndex()) const; //! \brief Reimplemented from QAbstractItemModel virtual QModelIndex parent( const QModelIndex &index) const; //! \brief Reimplemented from QAbstractItemModel bool insertRow(int row, const QModelIndex &parent = QModelIndex(), QObject* victim = 0, int victimType = -1); //! \brief Reimplemented from QAbstractItemModel virtual bool removeRows(int row, int count, const QModelIndex &parent = QModelIndex()); //! \brief Get the upper-left index for the tree QModelIndex getFirst(); //! \brief Test type at \c index. bool isRecipe(const QModelIndex &index); //! \brief Test type at \c index. bool isEquipment(const QModelIndex &index); //! \brief Test type at \c index. bool isFermentable(const QModelIndex &index); //! \brief Test type at \c index. bool isHop(const QModelIndex &index); //! \brief Test type at \c index. bool isMisc(const QModelIndex &index); //! \brief Test type at \c index. bool isYeast(const QModelIndex &index); //! \brief Test type at \c index. bool isBrewNote(const QModelIndex &index); //! \brief Test type at \c index. bool isStyle(const QModelIndex &index); //! \brief Gets the type of item at \c index int getType(const QModelIndex &index); //! \brief Return the type mask for this tree. \sa BrewTargetTreeModel::TypeMasks int getMask(); //! \brief Get Recipe at \c index. Recipe* getRecipe(const QModelIndex &index) const; //! \brief Get Equipment at \c index. Equipment* getEquipment(const QModelIndex &index) const; //! \brief Get Fermentable at \c index. Fermentable* getFermentable(const QModelIndex &index) const; //! \brief Get Hop at \c index. Hop* getHop(const QModelIndex &index) const; //! \brief Get Misc at \c index. Misc* getMisc(const QModelIndex &index) const; //! \brief Get Yeast at \c index. Yeast* getYeast(const QModelIndex &index) const; //! \brief Get BrewNote at \c index. BrewNote* getBrewNote(const QModelIndex &index) const; //! \brief Get Style at \c index. Style* getStyle(const QModelIndex &index) const; //! \brief Get BeerXMLElement at \c index. BeerXMLElement* getThing(const QModelIndex &index) const; //! \brief Get index of \c rec. QModelIndex findRecipe(Recipe* rec); //! \brief Get index of \c kit. QModelIndex findEquipment(Equipment* kit); //! \brief Get index of \c ferm. QModelIndex findFermentable(Fermentable* ferm); //! \brief Get index of \c hop. QModelIndex findHop(Hop* hop); //! \brief Get index of \c misc. QModelIndex findMisc(Misc* misc); //! \brief Get index of \c yeast. QModelIndex findYeast(Yeast* yeast); //! \brief Get index of \c bNote. QModelIndex findBrewNote(BrewNote* bNote); //! \brief Get index of \c bNote. QModelIndex findStyle(Style* style); private slots: //! \brief slot to catch a newEquipmentSignal void equipmentAdded(Equipment* victim); //! \brief slot to catch a newFermentableSignal void fermentableAdded(Fermentable* victim); //! \brief slot to catch a newHopSignal void hopAdded(Hop* victim); //! \brief slot to catch a newMiscSignal void miscAdded(Misc* victim); //! \brief slot to catch a newRecipeSignal void recipeAdded(Recipe* victim); //! \brief slot to catch a newYeastSignal void yeastAdded(Yeast* victim); //! \brief slot to catch a newBrewNoteSignal void brewNoteAdded(BrewNote* victim); //! \brief slot to catch a newStyleSignal void styleAdded(Style* victim); //! \brief slot to catch a changed signal from an equipment void equipmentChanged(); //! \brief slot to catch a changed signal from a fermentable void fermentableChanged(); //! \brief slot to catch a changed signal from a hop void hopChanged(); //! \brief slot to catch a changed signal from a misc void miscChanged(); //! \brief slot to catch a changed signal from a recipe void recipeChanged(); //! \brief slot to catch a changed signal from a yeast void yeastChanged(); //! \brief slot to catch a changed signal from a brewnote void brewNoteChanged(); //! \brief slot to catch a changed signal from a style void styleChanged(); //! \brief slot to catch a deletedEquipmentSignal void equipmentRemoved(Equipment* victim); //! \brief slot to catch a deletedFermentableSignal void fermentableRemoved(Fermentable* victim); //! \brief slot to catch a deletedHopSignal void hopRemoved(Hop* victim); //! \brief slot to catch a deletedMiscSignal void miscRemoved(Misc* victim); //! \brief slot to catch a deletedRecipeSignal void recipeRemoved(Recipe* victim); //! \brief slot to catch a deletedYeastSignal void yeastRemoved(Yeast* victim); //! \brief slot to catch a deletedBrewNoteSignal void brewNoteRemoved(BrewNote* victim); //! \brief slot to catch a deletedStyleSignal void styleRemoved(Style* victim); private: //! \brief returns the BrewTargetTreeItem at \c index BrewTargetTreeItem *getItem(const QModelIndex &index) const; //! \brief Loads the data. Empty \c propname means load all trees. void loadTreeModel(QString propName = ""); //! \brief Unloads the data. Empty \c propname means unload all trees. void unloadTreeModel(QString propName = ""); //! \brief connects the changedName() signal from \c Equipment to the equipmentChanged() slot void observeEquipment(Equipment*); //! \brief connects the changedName() signal from \c Fermentable to the fermentableChanged() slot void observeFermentable(Fermentable*); //! \brief connects the changedName() signal from \c Hop to the hopChanged() slot void observeHop(Hop*); //! \brief connects the changedName() signal from \c Misc to the miscChanged() slot void observeMisc(Misc*); //! \brief connects the changedName() signal from \c Recipe to the recipeChanged() slot void observeRecipe(Recipe*); //! \brief connects the changedName() signal from \c Yeast to the yeastChanged() slot void observeYeast(Yeast*); //! \brief connects the changedName() signal from \c BrewNote to the brewnoteChanged() slot void observeBrewNote(BrewNote*); //! \brief connects the changedName() signal from \c Style to the styleChanged() slot void observeStyle(Style*); //! \brief returns the \c section header from a recipe QVariant getRecipeHeader(int section) const; //! \brief returns the \c section header from an equipment QVariant getEquipmentHeader(int section) const; //! \brief returns the \c section header from a fermentable QVariant getFermentableHeader(int section) const; //! \brief returns the \c section header from a hop QVariant getHopHeader(int section) const; //! \brief returns the \c section header from a misc QVariant getMiscHeader(int section) const; //! \brief returns the \c section header from a yeast QVariant getYeastHeader(int section) const; //! \brief returns the \c section header from a style QVariant getStyleHeader(int section) const; BrewTargetTreeItem* rootItem; BrewTargetTreeView *parentTree; TypeMasks treeMask; }; #endif /* RECEIPTREEMODEL_H_ */ brewtarget-2.0.2/src/SetterCommandStack.h0000644000175000017500000000611612266512167017724 0ustar philipphilip/* * SetterCommandStack.h is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef _SETTERCOMMANDSTACK_H #define _SETTERCOMMANDSTACK_H #include #include #include #include #include // Forward declarations class SetterCommand; /*! * \class SetterCommandStack * \author Philip G. Lee (rocketman768@gmail.com) * * \brief Collects SetterCommand commands together and periodically executes them in a single transaction. * * This class is currently unused due to KISS. * * This is analagous to QUndoStack, except it does not execute commands * immediately, but rather collects them together for a certain amount * of time, then combines and executes them. Its methods should also * be non-blocking and execute in the background thread. I invented it * for 2 main reasons: 1) To collect sql write operations into transactions * to be more efficient, and 2) to make GUI elements that call * BeerXMLElement::set return immediately, offloading the time-consuming * sql operations to this thread. * * NOTE: This class is a bare-bones implementation and needs some * fledging-out, for example, popping and undo-ing. */ class SetterCommandStack : public QObject { Q_OBJECT public: /*! * \param thread is the thread to execute commands from. * \param interval_ms is the amount of time between command executions. * 100 ms is definitely too long; you can notice the lag visually. */ SetterCommandStack( QThread* thread = QThread::currentThread(), int interval_ms=20 ); virtual ~SetterCommandStack(); /*! * \brief Push a command onto the stack. * * If the internal timer is not running, this starts a timer. Until the * timer runs out, calling push() will aggregate the commands together, * and then all aggregated commands run as a single transaction when it * times out. */ void push(SetterCommand* command); /*! * \brief Force the command stack to flush */ void flush(); private slots: void executeNext(); private: // List of the old already-executed commands. QList _commands; // Max number of old commands to keep in _commands. int _commandLimit; // Current length of _commands. int _numCommands; int _executionInterval_ms; SetterCommand* _nextCommand; SetterCommand* _nextCommandTmp; QMutex _commandPtrSwitch; QTimer* _timer; }; #endif /*_SETTERCOMMANDSTACK_H*/ brewtarget-2.0.2/src/mashstep.cpp0000644000175000017500000001643512266512167016355 0ustar philipphilip/* * mashstep.cpp is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include #include "mashstep.h" #include "brewtarget.h" QStringList MashStep::types = QStringList() << "Infusion" << "Temperature" << "Decoction"; QStringList MashStep::typesTr = QStringList() << QObject::tr("Infusion") << QObject::tr("Temperature") << QObject::tr("Decoction"); QHash MashStep::tagToProp = MashStep::tagToPropHash(); QHash MashStep::tagToPropHash() { QHash propHash; propHash["NAME"] = "name"; //propHash["TYPE"] = "type"; propHash["INFUSE_AMOUNT"] = "infuseAmount_l"; propHash["STEP_TEMP"] = "stepTemp_c"; propHash["STEP_TIME"] = "stepTime_min"; propHash["RAMP_TIME"] = "rampTime_min"; propHash["END_TEMP"] = "endTemp_c"; propHash["INFUSE_TEMP"] = "infuseTemp_c"; propHash["DECOCTION_AMOUNT"] = "decoctionAmount_l"; return propHash; } bool operator<(MashStep &m1, MashStep &m2) { return m1.name() < m2.name(); } bool operator==(MashStep &m1, MashStep &m2) { return m1.name() == m2.name(); } //==============================CONSTRUCTORS==================================== /* void MashStep::setDefaults() { name = ""; type = TYPEINFUSION; infuseAmount_l = 0.0; infuseTemp_c = 0.0; stepTemp_c = 0.0; stepTime_min = 0.0; rampTime_min = 0.0; endTemp_c = 0.0; decoctionAmount_l = 0.0; } */ MashStep::MashStep() : BeerXMLElement() { } /* void MashStep::fromNode(const QDomNode& mashStepNode) { QDomNode node, child; QDomText textNode; QString property, value; setDefaults(); for( node = mashStepNode.firstChild(); ! node.isNull(); node = node.nextSibling() ) { if( ! node.isElement() ) { Brewtarget::log(Brewtarget::WARNING, QObject::tr("Node at line %1 is not an element.").arg(textNode.lineNumber()) ); continue; } child = node.firstChild(); if( child.isNull() || ! child.isText() ) continue; property = node.nodeName(); textNode = child.toText(); value = textNode.nodeValue(); if( property == "NAME" ) { name = value; } else if( property == "VERSION" ) { if( version != getInt(textNode) ) Brewtarget::log(Brewtarget::ERROR, QObject::tr("YEAST says it is not version %1. Line %2").arg(version).arg(textNode.lineNumber()) ); } else if( property == "TYPE" ) { int ndx = types.indexOf(value); if( ndx < 0 ) Brewtarget::log(Brewtarget::ERROR, QObject::tr("%1 is not a valid type for MASHSTEP. Line %2").arg(value).arg(textNode.lineNumber()) ); else setType(static_cast(ndx)); } else if( property == "INFUSE_AMOUNT" ) { setInfuseAmount_l(getDouble(textNode)); } else if( property == "STEP_TEMP" ) { setStepTemp_c(getDouble(textNode)); } else if( property == "STEP_TIME" ) { setStepTime_min(getDouble(textNode)); } else if( property == "RAMP_TIME" ) { setRampTime_min(getDouble(textNode)); } else if( property == "END_TEMP" ) { setEndTemp_c(getDouble(textNode)); } else if( property == "INFUSE_TEMP" ) { setInfuseTemp_c(getDouble(textNode)); } else if( property == "DECOCTION_AMOUNT" ) { setDecoctionAmount_l(getDouble(textNode)); } else Brewtarget::log(Brewtarget::WARNING, QObject::tr("Unsupported MASHSTEP property: %1. Line %2").arg(property).arg(node.lineNumber()) ); } } */ //================================"SET" METHODS================================= void MashStep::setName( const QString &var ) { set("name", "name", var); emit changedName(var); } void MashStep::setInfuseTemp_c(double var) { set("infuseTemp_c", "infuse_temp", var); } void MashStep::setType( Type t ) { set("type", "mstype", types.at(t)); } void MashStep::setInfuseAmount_l( double var ) { if( var < 0.0 ) { Brewtarget::logW( QString("Mashstep: number cannot be negative: %1").arg(var) ); return; } else { set("infuseAmount_l", "infuse_amount", var); } } void MashStep::setStepTemp_c( double var ) { if( var < -273.15 ) { Brewtarget::logW( QString("Mashstep: temp below absolute zero: %1").arg(var) ); return; } else { set("stepTemp_c", "step_temp", var); } } void MashStep::setStepTime_min( double var ) { if( var < 0.0 ) { Brewtarget::logW( QString("Mashstep: step time cannot be negative: %1").arg(var) ); return; } else { set("stepTime_min", "step_time", var); } } void MashStep::setRampTime_min( double var ) { if( var < 0.0 ) { Brewtarget::logW( QString("Mashstep: ramp time cannot be negative: %1").arg(var) ); return; } else { set("rampTime_min", "ramp_time", var); } } void MashStep::setEndTemp_c( double var ) { if( var < -273.15 ) { Brewtarget::logW( QString("Mashstep: temp below absolute zero: %1").arg(var) ); return; } else { set("endTemp_c", "end_temp", var); } } void MashStep::setDecoctionAmount_l(double var) { set("decoctionAmount_l", "decoction_amount", var); } //============================="GET" METHODS==================================== QString MashStep::name() const { return get("name").toString(); } double MashStep::infuseTemp_c() const { return get("infuse_temp").toDouble(); } MashStep::Type MashStep::type() const { return static_cast(types.indexOf(get("mstype").toString())); } const QString MashStep::typeString() const { return get("mstype").toString(); } const QString MashStep::typeStringTr() const { return typesTr.at(type()); } double MashStep::infuseAmount_l() const { return get("infuse_amount").toDouble(); } double MashStep::stepTemp_c() const { return get("step_temp").toDouble(); } double MashStep::stepTime_min() const { return get("step_time").toDouble(); } double MashStep::rampTime_min() const { return get("ramp_time").toDouble(); } double MashStep::endTemp_c() const { return get("end_temp").toDouble(); } double MashStep::decoctionAmount_l() const { return get("decoction_amount").toDouble(); } int MashStep::stepNumber() const { return get("step_number").toInt(); } bool MashStep::isValidType( const QString &str ) const { static const QString types[] = {"Infusion", "Temperature", "Decoction"}; static const unsigned int size = 3; unsigned int i; for( i = 0; i < size; ++i ) if( str == types[i] ) return true; return false; } brewtarget-2.0.2/src/CustomComboBox.h0000644000175000017500000000254512266512167017076 0ustar philipphilip/* * CustomComboBox.h is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef _CUSTOMCOMBOBOX_H #define _CUSTOMCOMBOBOX_H #include #include /*! * \class CustomComboBox * \author Philip G. Lee (rocketman768@gmail.com) * * \brief This class is a more flexible combo box. Does not show any text. */ class CustomComboBox : public QComboBox { Q_OBJECT public: CustomComboBox(QWidget* parent = 0); virtual ~CustomComboBox(){} //! Reimplemented from QComboBox to allow the popup to be independently sized. void showPopup(); //! Reimplemented from QComboBox to not show any text. virtual void paintEvent(QPaintEvent*); }; #endif /*_CUSTOMCOMBOBOX_H*/ brewtarget-2.0.2/src/BtDigitWidget.cpp0000644000175000017500000000620212266512167017212 0ustar philipphilip/* * BtDigitWidget.cpp is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2010-2013. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include "BtDigitWidget.h" #include #include #include BtDigitWidget::BtDigitWidget(QWidget *parent) : QLabel(parent) { //rgblow = 208; // r = 0, g = 0, b = 208 //rgbgood = 128 << 8; // r = 0, g = 128, b = 0 //rgbhigh = 208 << 16; // r = 208, g = 0, b = 0 rgblow = 0x0000d0; rgbgood = 0x008000; rgbhigh = 0xd00000; //styleSheet = QString("QLabel { font: normal bold 12 px \"Arial\"; color: #%1 }"); styleSheet = QString("QLabel { font-weight: bold; color: #%1 }"); setStyleSheet(styleSheet.arg(0,6,16,QChar('0'))); setFrameStyle(QFrame::Box); setFrameShadow(QFrame::Sunken); lowLim = 0; highLim = 1; lastNum = 1.5; lastPrec = 3; constantColor = false; } void BtDigitWidget::display(QString str) { static bool converted; lastNum = str.toDouble(&converted); lastPrec = str.length() - str.lastIndexOf(QLocale().decimalPoint()) - 1; if( converted ) display(lastNum,lastPrec); else setText("-"); } void BtDigitWidget::display(double num, int prec) { QString str = QString("%L1").arg(num,0,'f',prec); QString style = styleSheet; lastNum = num; lastPrec = prec; if( (!constantColor && (num < lowLim)) || (constantColor && color == LOW)) { style = styleSheet.arg(rgblow,6,16,QChar('0')); setToolTip(constantColor? "" : tr("Too low for style.")); } else if( (!constantColor && (num <= highLim)) || (constantColor && color == GOOD)) { style = styleSheet.arg(rgbgood,6,16,QChar('0')); setToolTip(constantColor? "" : tr("In range for style.")); } else { if( constantColor && color == BLACK ) style = styleSheet.arg(0,6,16,QChar('0')); else { style = styleSheet.arg(rgbhigh,6,16,QChar('0')); setToolTip(tr("Too high for style.")); } } setStyleSheet(style); setText(str); //update(); // Calls for a repaint. } void BtDigitWidget::setLowLim(double num) { if( num < highLim ) lowLim = num; display(lastNum, lastPrec); } void BtDigitWidget::setHighLim(double num) { if( num > lowLim ) highLim = num; display(lastNum, lastPrec); } void BtDigitWidget::setConstantColor(ColorType c) { constantColor = (c == LOW || c == GOOD || c == HIGH || c == BLACK ); color = c; update(); // repaint. } void BtDigitWidget::unsetConstantColor() { constantColor = false; update(); // repaint } brewtarget-2.0.2/project/0000755000175000017500000000000012266512167014673 5ustar philipphilipbrewtarget-2.0.2/project/brewtarget/0000755000175000017500000000000012266512167017041 5ustar philipphilipbrewtarget-2.0.2/project/brewtarget/brewtarget-Makefile.mk0000644000175000017500000000433512266512167023260 0ustar philipphilip# # There exist several targets which are by default empty and which can be # used for execution of your targets. These targets are usually executed # before and after some main targets. They are: # # .build-pre: called before 'build' target # .build-post: called after 'build' target # .clean-pre: called before 'clean' target # .clean-post: called after 'clean' target # .clobber-pre: called before 'clobber' target # .clobber-post: called after 'clobber' target # .all-pre: called before 'all' target # .all-post: called after 'all' target # .help-pre: called before 'help' target # .help-post: called after 'help' target # # Targets beginning with '.' are not intended to be called on their own. # # Main targets can be executed directly, and they are: # # build build a specific configuration # clean remove built files from a configuration # clobber remove all built files # all build all configurations # help print help mesage # # Targets .build-impl, .clean-impl, .clobber-impl, .all-impl, and # .help-impl are implemented in nbproject/makefile-impl.mk. # # NOCDDL # Environment MKDIR=mkdir CP=cp CCADMIN=CCadmin RANLIB=ranlib # build build: .build-pre .build-impl .build-post .build-pre: # Add your pre 'build' code here... .build-post: # Add your post 'build' code here... # clean clean: .clean-pre .clean-impl .clean-post .clean-pre: # Add your pre 'clean' code here... .clean-post: # Add your post 'clean' code here... # clobber clobber: .clobber-pre .clobber-impl .clobber-post .clobber-pre: # Add your pre 'clobber' code here... .clobber-post: # Add your post 'clobber' code here... # all all: .all-pre .all-impl .all-post .all-pre: # Add your pre 'all' code here... .all-post: # Add your post 'all' code here... # help help: .help-pre .help-impl .help-post .help-pre: # Add your pre 'help' code here... .help-post: # Add your post 'help' code here... # include project implementation makefile include nbproject/Makefile-impl.mk brewtarget-2.0.2/project/brewtarget/nbproject/0000755000175000017500000000000012266512167021027 5ustar philipphilipbrewtarget-2.0.2/project/brewtarget/nbproject/project.properties0000644000175000017500000000002412266512167024607 0ustar philipphilipproject.license=gpl3brewtarget-2.0.2/project/brewtarget/nbproject/configurations.xml0000644000175000017500000012075012266512167024610 0ustar philipphilip ../../QtDesignerPlugins/EquipmentComboBoxPlugin.cpp ../../QtDesignerPlugins/EquipmentComboBoxPlugin.h ../../QtDesignerPlugins/EquipmentComboBoxPlugin.pro ../../QtDesignerPlugins/FermentableTableWidgetPlugin.cpp ../../QtDesignerPlugins/FermentableTableWidgetPlugin.h ../../QtDesignerPlugins/FermentableTableWidgetPlugin.pro ../../QtDesignerPlugins/HopTableWidgetPlugin.cpp ../../QtDesignerPlugins/HopTableWidgetPlugin.h ../../QtDesignerPlugins/HopTableWidgetPlugin.pro ../../QtDesignerPlugins/MashStepTableWidgetPlugin.cpp ../../QtDesignerPlugins/MashStepTableWidgetPlugin.h ../../QtDesignerPlugins/MashStepTableWidgetPlugin.pro ../../QtDesignerPlugins/MiscTableWidgetPlugin.cpp ../../QtDesignerPlugins/MiscTableWidgetPlugin.h ../../QtDesignerPlugins/MiscTableWidgetPlugin.pro ../../QtDesignerPlugins/RecipeComboBoxPlugin.cpp ../../QtDesignerPlugins/RecipeComboBoxPlugin.h ../../QtDesignerPlugins/RecipeComboBoxPlugin.pro ../../QtDesignerPlugins/StyleComboBoxPlugin.cpp ../../QtDesignerPlugins/StyleComboBoxPlugin.h ../../QtDesignerPlugins/StyleComboBoxPlugin.pro ../../QtDesignerPlugins/WaterTableWidgetPlugin.cpp ../../QtDesignerPlugins/WaterTableWidgetPlugin.h ../../QtDesignerPlugins/WaterTableWidgetPlugin.pro ../../QtDesignerPlugins/YeastTableWidgetPlugin.cpp ../../QtDesignerPlugins/YeastTableWidgetPlugin.h ../../QtDesignerPlugins/YeastTableWidgetPlugin.pro ../../AboutDialog.h ../../aboutDialog.ui ../../Algorithms.cpp ../../Algorithms.h ../../BeerColorWidget.cpp ../../BeerColorWidget.h ../../BeerXMLElement.cpp ../../BeerXMLElement.h ../../BrewDayWidget.cpp ../../BrewDayWidget.h ../../brewtarget.cpp ../../brewtarget.h ../../brewtarget.pro ../../brewtarget.qrc ../../config.h ../../configure ../../database.cpp ../../database.h ../../equipment.cpp ../../equipment.h ../../EquipmentComboBox.cpp ../../EquipmentComboBox.h ../../EquipmentEditor.cpp ../../EquipmentEditor.h ../../fermentable.cpp ../../fermentable.h ../../FermentableDialog.cpp ../../FermentableDialog.h ../../FermentableEditor.cpp ../../FermentableEditor.h ../../FermentableTableModel.cpp ../../FermentableTableModel.h ../../FermentableTableWidget.cpp ../../FermentableTableWidget.h ../../HeatCalculations.cpp ../../HeatCalculations.h ../../hop.cpp ../../hop.h ../../HopDialog.cpp ../../HopDialog.h ../../HopEditor.cpp ../../HopEditor.h ../../HopTableModel.cpp ../../HopTableModel.h ../../HopTableWidget.cpp ../../HopTableWidget.h ../../hoputilization.cpp ../../hoputilization.h ../../HtmlViewer.cpp ../../HtmlViewer.h ../../instruction.cpp ../../instruction.h ../../InstructionWidget.cpp ../../InstructionWidget.h ../../main.cpp ../../MainWindow.cpp ../../MainWindow.h ../../mainWindow.ui ../../MaltinessWidget.cpp ../../MaltinessWidget.h ../../mash.cpp ../../mash.h ../../MashEditor.cpp ../../MashEditor.h ../../mashstep.cpp ../../mashstep.h ../../MashStepEditor.cpp ../../MashStepEditor.h ../../MashStepTableModel.cpp ../../MashStepTableModel.h ../../MashStepTableWidget.cpp ../../MashStepTableWidget.h ../../MashWizard.cpp ../../MashWizard.h ../../matrix.cpp ../../matrix.h ../../matrixtest.cpp ../../misc.cpp ../../misc.h ../../MiscDialog.cpp ../../MiscDialog.h ../../MiscEditor.cpp ../../MiscEditor.h ../../MiscTableModel.cpp ../../MiscTableModel.h ../../MiscTableWidget.cpp ../../MiscTableWidget.h ../../observable.cpp ../../observable.h ../../observer.cpp ../../OptionDialog.cpp ../../OptionDialog.h ../../PreInstruction.cpp ../../PreInstruction.h ../../recipe.cpp ../../recipe.h ../../RecipeComboBox.cpp ../../RecipeComboBox.h ../../stringparsing.cpp ../../stringparsing.h ../../style.cpp ../../style.h ../../StyleComboBox.cpp ../../StyleComboBox.h ../../StyleEditor.cpp ../../StyleEditor.h ../../tabletest.cpp ../../TimerWidget.cpp ../../TimerWidget.h ../../unit.cpp ../../unit.h ../../water.cpp ../../water.h ../../WaterTableModel.cpp ../../WaterTableModel.h ../../WaterTableWidget.cpp ../../WaterTableWidget.h ../../xml.cpp ../../xml.h ../../xmlnode.cpp ../../xmlnode.h ../../xmltest.cpp ../../xmltree.cpp ../../xmltree.h ../../yeast.cpp ../../yeast.h ../../YeastDialog.cpp ../../YeastDialog.h ../../YeastEditor.cpp ../../YeastEditor.h ../../YeastTableModel.cpp ../../YeastTableModel.h ../../YeastTableWidget.cpp ../../YeastTableWidget.h brewtarget-Makefile.mk ../.. ../../../tags ../../../branches brewtarget-Makefile.mk localhost GNU|GNU 2 ../.. qmake brewtarget.pro && make make clean ../../brewtarget /usr/include/qt4/Qt /usr/include/qt4/QtCore /usr/include/qt4/QtDesigner /usr/include/qt4/QtGui 3 1 3 1 3 1 3 1 3 1 3 1 3 1 3 1 3 1 3 1 3 1 3 1 3 1 3 1 3 1 3 1 3 1 3 1 3 1 3 1 3 1 3 1 3 1 3 1 3 1 3 1 3 1 3 1 3 1 3 1 3 1 3 3 1 3 3 1 3 3 1 3 3 1 3 3 1 3 3 1 3 3 1 3 3 1 3 3 1 3 1 3 1 3 1 3 1 3 1 3 1 3 1 3 1 3 1 3 3 1 3 3 3 3 3 1 3 1 3 1 3 1 3 1 3 1 3 1 3 1 3 1 3 1 3 1 1 3 1 3 1 1 3 1 3 1 3 1 1 3 1 3 1 3 1 3 1 1 3 1 3 localhost GNU|GNU 2 ../../QtDesignerPlugins qmake FermentableTableWidgetPlugin.pro && \ make && \ gksudo make install && \ make clean && \ qmake HopTableWidgetPlugin.pro && \ make && \ gksudo make install && \ make clean && \ qmake MiscTableWidgetPlugin.pro && \ make && \ gksudo make install && \ make clean && \ qmake MashStepTableWidgetPlugin.pro && \ make && \ gksudo make install && \ make clean && \ qmake WaterTableWidgetPlugin.pro && \ make && \ gksudo make install && \ make clean && \ qmake YeastTableWidgetPlugin.pro && \ make && \ gksudo make install && \ make clean && \ qmake RecipeComboBoxPlugin.pro && \ make && \ gksudo make install && \ make clean 3 1 3 1 3 1 3 1 3 1 3 1 3 1 3 1 3 1 3 1 3 1 3 1 3 1 3 1 3 1 3 1 3 1 3 1 3 1 3 1 3 1 3 1 3 1 3 1 3 1 3 1 3 1 3 1 3 1 3 1 3 1 3 3 1 3 3 1 3 3 1 3 3 1 3 3 1 3 3 1 3 3 1 3 3 1 3 3 1 3 1 3 1 3 1 3 1 3 1 3 1 3 1 3 1 3 1 3 3 1 3 3 3 3 3 1 3 1 3 1 3 1 3 1 3 1 3 1 3 1 3 1 3 1 3 1 1 3 1 3 1 1 3 1 3 1 3 1 1 3 1 3 1 3 1 3 1 1 3 1 3 brewtarget-2.0.2/project/brewtarget/nbproject/Package-Plugins.bash0000644000175000017500000000240312266512167024637 0ustar philipphilip#!/bin/bash -x # # Generated - do not edit! # # Macros TOP=`pwd` PLATFORM=GNU-Linux-x86 TMPDIR=build/Plugins/${PLATFORM}/tmp-packaging TMPDIRNAME=tmp-packaging OUTPUT_PATH=MissingOutputInProject OUTPUT_BASENAME=MissingOutputInProject PACKAGE_TOP_DIR=brewtarget/ # Functions function checkReturnCode { rc=$? if [ $rc != 0 ] then exit $rc fi } function makeDirectory # $1 directory path # $2 permission (optional) { mkdir -p "$1" checkReturnCode if [ "$2" != "" ] then chmod $2 "$1" checkReturnCode fi } function copyFileToTmpDir # $1 from-file path # $2 to-file path # $3 permission { cp "$1" "$2" checkReturnCode if [ "$3" != "" ] then chmod $3 "$2" checkReturnCode fi } # Setup cd "${TOP}" mkdir -p dist/Plugins/${PLATFORM}/package rm -rf ${TMPDIR} mkdir -p ${TMPDIR} # Copy files and create directories and links cd "${TOP}" makeDirectory ${TMPDIR}/brewtarget/bin copyFileToTmpDir "${OUTPUT_PATH}" "${TMPDIR}/${PACKAGE_TOP_DIR}bin/${OUTPUT_BASENAME}" 0755 # Generate tar file cd "${TOP}" rm -f dist/Plugins/${PLATFORM}/package/brewtarget.tar cd ${TMPDIR} tar -vcf ../../../../dist/Plugins/${PLATFORM}/package/brewtarget.tar * checkReturnCode # Cleanup cd "${TOP}" rm -rf ${TMPDIR} brewtarget-2.0.2/project/brewtarget/nbproject/Makefile-Plugins.mk0000644000175000017500000000275312266512167024523 0ustar philipphilip# # Generated Makefile - do not edit! # # Edit the Makefile in the project folder instead (../Makefile). Each target # has a -pre and a -post target defined where you can add customized code. # # This makefile implements configuration specific macros and targets. # Environment MKDIR=mkdir CP=cp CCADMIN=CCadmin RANLIB=ranlib CC=gcc CCC=g++ CXX=g++ FC= # Macros PLATFORM=GNU-Linux-x86 # Include project Makefile include brewtarget-Makefile.mk # Object Directory OBJECTDIR=build/Plugins/${PLATFORM} # Object Files OBJECTFILES= # C Compiler Flags CFLAGS= # CC Compiler Flags CCFLAGS= CXXFLAGS= # Fortran Compiler Flags FFLAGS= # Link Libraries and Options LDLIBSOPTIONS= # Build Targets .build-conf: ${BUILD_SUBPROJECTS} cd ../../QtDesignerPlugins && qmake FermentableTableWidgetPlugin.pro && \ make && \ gksudo make install && \ make clean && \ qmake HopTableWidgetPlugin.pro && \ make && \ gksudo make install && \ make clean && \ qmake MiscTableWidgetPlugin.pro && \ make && \ gksudo make install && \ make clean && \ qmake MashStepTableWidgetPlugin.pro && \ make && \ gksudo make install && \ make clean && \ qmake WaterTableWidgetPlugin.pro && \ make && \ gksudo make install && \ make clean && \ qmake YeastTableWidgetPlugin.pro && \ make && \ gksudo make install && \ make clean && \ qmake RecipeComboBoxPlugin.pro && \ make && \ gksudo make install && \ make clean # Subprojects .build-subprojects: # Clean Targets .clean-conf: cd ../../QtDesignerPlugins && # Subprojects .clean-subprojects: brewtarget-2.0.2/project/brewtarget/nbproject/project.xml0000644000175000017500000000111012266512167023210 0ustar philipphilip org.netbeans.modules.cnd.makeproject brewtarget 0 cpp h UTF-8 brewtarget-2.0.2/project/brewtarget/nbproject/Package-Default.bash0000644000175000017500000000236112266512167024605 0ustar philipphilip#!/bin/bash -x # # Generated - do not edit! # # Macros TOP=`pwd` PLATFORM=GNU-Linux-x86 TMPDIR=build/Default/${PLATFORM}/tmp-packaging TMPDIRNAME=tmp-packaging OUTPUT_PATH=../../brewtarget OUTPUT_BASENAME=brewtarget PACKAGE_TOP_DIR=brewtarget/ # Functions function checkReturnCode { rc=$? if [ $rc != 0 ] then exit $rc fi } function makeDirectory # $1 directory path # $2 permission (optional) { mkdir -p "$1" checkReturnCode if [ "$2" != "" ] then chmod $2 "$1" checkReturnCode fi } function copyFileToTmpDir # $1 from-file path # $2 to-file path # $3 permission { cp "$1" "$2" checkReturnCode if [ "$3" != "" ] then chmod $3 "$2" checkReturnCode fi } # Setup cd "${TOP}" mkdir -p dist/Default/${PLATFORM}/package rm -rf ${TMPDIR} mkdir -p ${TMPDIR} # Copy files and create directories and links cd "${TOP}" makeDirectory ${TMPDIR}/brewtarget/bin copyFileToTmpDir "${OUTPUT_PATH}" "${TMPDIR}/${PACKAGE_TOP_DIR}bin/${OUTPUT_BASENAME}" 0755 # Generate tar file cd "${TOP}" rm -f dist/Default/${PLATFORM}/package/brewtarget.tar cd ${TMPDIR} tar -vcf ../../../../dist/Default/${PLATFORM}/package/brewtarget.tar * checkReturnCode # Cleanup cd "${TOP}" rm -rf ${TMPDIR} brewtarget-2.0.2/project/brewtarget/nbproject/Makefile-Default.mk0000644000175000017500000000160012266512167024454 0ustar philipphilip# # Generated Makefile - do not edit! # # Edit the Makefile in the project folder instead (../Makefile). Each target # has a -pre and a -post target defined where you can add customized code. # # This makefile implements configuration specific macros and targets. # Environment MKDIR=mkdir CP=cp CCADMIN=CCadmin RANLIB=ranlib CC=gcc CCC=g++ CXX=g++ FC= # Macros PLATFORM=GNU-Linux-x86 # Include project Makefile include brewtarget-Makefile.mk # Object Directory OBJECTDIR=build/Default/${PLATFORM} # Object Files OBJECTFILES= # C Compiler Flags CFLAGS= # CC Compiler Flags CCFLAGS= CXXFLAGS= # Fortran Compiler Flags FFLAGS= # Link Libraries and Options LDLIBSOPTIONS= # Build Targets .build-conf: ${BUILD_SUBPROJECTS} cd ../.. && qmake brewtarget.pro && make # Subprojects .build-subprojects: # Clean Targets .clean-conf: cd ../.. && make clean # Subprojects .clean-subprojects: brewtarget-2.0.2/project/brewtarget/nbproject/private/0000755000175000017500000000000012266512167022501 5ustar philipphilipbrewtarget-2.0.2/project/brewtarget/nbproject/private/private.xml0000644000175000017500000000031712266512167024676 0ustar philipphilip brewtarget-2.0.2/project/brewtarget/nbproject/private/configurations.xml0000644000175000017500000000216312266512167026257 0ustar philipphilip brewtarget-Makefile.mk 1 gdb 10 true 0 0 gdb 10 true 0 0 brewtarget-2.0.2/project/brewtarget/nbproject/private/private.properties0000644000175000017500000000000012266512167026257 0ustar philipphilipbrewtarget-2.0.2/project/brewtarget/nbproject/Makefile-impl.mk0000644000175000017500000000725512266512167024045 0ustar philipphilip# # Generated Makefile - do not edit! # # Edit the Makefile in the project folder instead (../Makefile). Each target # has a pre- and a post- target defined where you can add customization code. # # This makefile implements macros and targets common to all configurations. # # NOCDDL # Building and Cleaning subprojects are done by default, but can be controlled with the SUB # macro. If SUB=no, subprojects will not be built or cleaned. The following macro # statements set BUILD_SUB-CONF and CLEAN_SUB-CONF to .build-reqprojects-conf # and .clean-reqprojects-conf unless SUB has the value 'no' SUB_no=NO SUBPROJECTS=${SUB_${SUB}} BUILD_SUBPROJECTS_=.build-subprojects BUILD_SUBPROJECTS_NO= BUILD_SUBPROJECTS=${BUILD_SUBPROJECTS_${SUBPROJECTS}} CLEAN_SUBPROJECTS_=.clean-subprojects CLEAN_SUBPROJECTS_NO= CLEAN_SUBPROJECTS=${CLEAN_SUBPROJECTS_${SUBPROJECTS}} # Project Name PROJECTNAME=brewtarget # Active Configuration DEFAULTCONF=Default CONF=${DEFAULTCONF} # All Configurations ALLCONFS=Default Plugins # build .build-impl: .build-pre .validate-impl .depcheck-impl @#echo "=> Running $@... Configuration=$(CONF)" ${MAKE} -f nbproject/Makefile-${CONF}.mk SUBPROJECTS=${SUBPROJECTS} .build-conf # clean .clean-impl: .clean-pre .validate-impl .depcheck-impl @#echo "=> Running $@... Configuration=$(CONF)" ${MAKE} -f nbproject/Makefile-${CONF}.mk SUBPROJECTS=${SUBPROJECTS} .clean-conf # clobber .clobber-impl: .clobber-pre .depcheck-impl @#echo "=> Running $@..." for CONF in ${ALLCONFS}; \ do \ ${MAKE} -f nbproject/Makefile-$${CONF}.mk SUBPROJECTS=${SUBPROJECTS} .clean-conf; \ done # all .all-impl: .all-pre .depcheck-impl @#echo "=> Running $@..." for CONF in ${ALLCONFS}; \ do \ ${MAKE} -f nbproject/Makefile-$${CONF}.mk SUBPROJECTS=${SUBPROJECTS} .build-conf; \ done # dependency checking support .depcheck-impl: @echo "# This code depends on make tool being used" >.dep.inc @if [ -n "${MAKE_VERSION}" ]; then \ echo "DEPFILES=\$$(wildcard \$$(addsuffix .d, \$${OBJECTFILES}))" >>.dep.inc; \ echo "ifneq (\$${DEPFILES},)" >>.dep.inc; \ echo "include \$${DEPFILES}" >>.dep.inc; \ echo "endif" >>.dep.inc; \ else \ echo ".KEEP_STATE:" >>.dep.inc; \ echo ".KEEP_STATE_FILE:.make.state.\$${CONF}" >>.dep.inc; \ fi # configuration validation .validate-impl: @if [ ! -f nbproject/Makefile-${CONF}.mk ]; \ then \ echo ""; \ echo "Error: can not find the makefile for configuration '${CONF}' in project ${PROJECTNAME}"; \ echo "See 'make help' for details."; \ echo "Current directory: " `pwd`; \ echo ""; \ fi @if [ ! -f nbproject/Makefile-${CONF}.mk ]; \ then \ exit 1; \ fi # help .help-impl: .help-pre @echo "This makefile supports the following configurations:" @echo " ${ALLCONFS}" @echo "" @echo "and the following targets:" @echo " build (default target)" @echo " clean" @echo " clobber" @echo " all" @echo " help" @echo "" @echo "Makefile Usage:" @echo " make [CONF=] [SUB=no] build" @echo " make [CONF=] [SUB=no] clean" @echo " make [SUB=no] clobber" @echo " make [SUB=no] all" @echo " make help" @echo "" @echo "Target 'build' will build a specific configuration and, unless 'SUB=no'," @echo " also build subprojects." @echo "Target 'clean' will clean a specific configuration and, unless 'SUB=no'," @echo " also clean subprojects." @echo "Target 'clobber' will remove all built files from all configurations and," @echo " unless 'SUB=no', also from subprojects." @echo "Target 'all' will will build all configurations and, unless 'SUB=no'," @echo " also build subprojects." @echo "Target 'help' prints this message." @echo "" brewtarget-2.0.2/dev-doc/0000755000175000017500000000000012266512167014546 5ustar philipphilipbrewtarget-2.0.2/dev-doc/subversion.txt0000644000175000017500000000072112266512167017506 0ustar philipphilip==Merging Branches== To merge a branch back to trunk/, do this: $ cd trunk/ $ svn merge --reintegrate https://brewtarget.svn.sourceforge.net/svnroot/brewtarget/branches/thebranch Fix any conflicts. "Mine" refers to the local working directory (the trunk), and "theirs" refers to thebranch. When in doubt, probably choose tc (theirs conflict) or tf (theirs full). Make sure it builds and stuff. Fix any additional problems. $ svn rm ../branches/thebranch $ svn ci brewtarget-2.0.2/dev-doc/shortcuts.ods0000644000175000017500000003734112266512167017323 0ustar philipphilipPK C?l9..mimetypeapplication/vnd.oasis.opendocument.spreadsheetPK C?Configurations2/statusbar/PK C?'Configurations2/accelerator/current.xmlPKPK C?Configurations2/floater/PK C?Configurations2/popupmenu/PK C?Configurations2/progressbar/PK C?Configurations2/menubar/PK C?Configurations2/toolbar/PK C?Configurations2/images/Bitmaps/PK C? content.xml\[s4~Wx /&K2]>ʒW_ϑ|v /m-˧OGG-˻9+ ~=(_^^|^J!a?k\oeףT '1g"^hͪ3++Qz:[᪶;Utɢg+\$YwU6HjU=]sC t(:yz>[Oτ\zK֖R.I%RLy㳱WƠIW|F dgj&oj"A6f7CUZ|klُgV*Ӡ{LnLtҿ-V/q%㮾l*_Ҥs33骾jnNysEzW|-Y%"n" J2!_"CjQxYu)Vܾd+L-R4[f֖>$$B꒘{ޚ"aj ѥ FQ30 vW֟rxPX1JJټ9p%@pcapdVѮWu3gBŝ+5M3u^0**2n iI2vĖ^Rg\ͬ`NSL{o" F7Ō@!nH|p𙺹2kYdφ i"qHG8r01eg$]tԌw pJ^H1׽NP4Joo{VE  y9I0Ngrv(Ҙ j)(']F34 fExzAm@>pÁ^~jbj?TSMcܪ)}񽁇5if(q M"$ezY&eMdn,p"@KLz#r-!cEMB}ڇ68D͖`A-f.νW=\G2YVJ;m[KH1 󰝺vFnD *>B*TVrWGR\p2ݡ?X=>O-c/SdC)z5(plţ"}DHyҢ ^f}HUU_m%iE$[\!UuDۼm,*Tg.S0>,r|]J5/k# |YEID|+%0 aCl]0ێ>/4%!l]tˬᵮ6۝FU"}s9?sg๩DU3D6@UHz5oVlؔ46'؜`}mڡYF{Mͤ\f K1m,Wpil&_yykA}˗ȹ:?FwL,s摐O{v"=Bįtpb~t0M܇}t>&z4Y|-ap -N,psD.Ad1:M>rԈgK;8훛;R>EƑV} 9I CP(.ޙXCaOGHћ&Iů%{C!fص\ |O> >ʟS6<<= z& >4C~LJe{ nV-w}qD]C\Y 9ԓ/X_jj-U0WysKxJY<4=avv'OOrc{lq&Sɟs|!1*P(t$nd>ٔ?f_>A$`dCJ 9̲ə3LpV^5zN\1KzOZ8>BB+S'`*)ܓ?>7;yw<{*<1ӭïڿp#Eth'Nƹڸɭ_|#bj6ymi7v)7b5ඵzvl-mKrkli<sG@ Y=g׺`|<BنpRr#L95).B\c3\~ۦ! ZH5y9Qۦ_tvv =̂*nfD'{_äC^lZۑ*Mn !vKw=dzd<: E6&B D&k4|%- d~uQOU3[CSǣPplРNjN-;[PJa3LPU-;7Z\$j TP 2,SjC=XR]}$.D4jw C3g#Š؅T،B ^n:΍Ji2)2ẘfq jȔj/<f4{ r5{LRը=Wmr:n {TH9'n E(fJܴ*:DYLĆ<-I 4(s-~@S!L尞Э8?Yu3w7>N@:o򪧌嚦`i.4RBz[* ..CPL eINM7b5ݏ ApTpHg?z6,lm}$T&۴$ ˬU4jV߱NM1sҁI_l!E+=Q'DYcNiwT׼{gokE4,YpTK1JpO@,6()@Tf #e ȅUkQ։"uږsq14GJO CIB%V{ ӭ!ѓ]%3>+?9_J$1GR)k ze诃!Ik;GܦP)MIE#!)6@Kb=\D_/`: 9s]HFd s&f;(+|wNhmޖEt}fUL٥,fN|g,lm.e!g} !> 6~;lȩl8`DFTB=4Lvx:ҴOHsw7֢:'B/L,+)OKiӬz0]3 Zc g)I4録ˁu7kb{?9f!@J!{zCsE',8A0@߅V،T, pWz\5ҧ唇@v[@7/?x8PKAbFPK C?fH^meta.xml 2011-10-03T14:30:122011-10-03T15:48:23PT00H02M20S1OpenOffice.org/3.2$Linux OpenOffice.org_project/320m19$Build-9505PK C?Thumbnails/thumbnail.pngeyX]5-%a  2* (HНJtI 1 9tw}7>?5q}k>ʓ1aaa*gna>U.ºW #픸 =mo•JY.}MGD9IanCu4?|lBuX?hWI}4 =%,.62JWNgXZIi/ΧOlePm3^rߜkuݤ˦CY=DLEtZwx*?[dzYœ^6ߔu:ژ8999un axo^Gu1Dt|VGo!eG|&m3HǓцQ,Q:igoa{Aiڑ͵;IC75Ohkלuttb?qhgvTךP]`]nZKGIűr\Ũ4ɘ}ʻ:;',H"6W/|cttTأfnA=I ;?4UHz._k:Uץbhshzܴ+N#a2o| ŬLGqf,b.BcC;_F^q}7Ьnxk:d{]gCW <,?|xL@>ljA+fFH̶>ɏM5AE7K_Q\PDd\_q$SªGJ>ܻ[DDĦyYs|MT/CD[iib:EyʔņIvgP4vUw,vhÌ9c}PeqhA-90.1#NH]ȷU>qu -!NGL{ >J{ڙ Q9GQkp#Ϝc!Nqx ]Qs(}B|?1Ed`so6>>ʟ[3L;; #ɍ,?ڮ;*N=n[nasR&q  WIy4񎁁Ĭ'DNOo:E&gUGUr]t9E3ǭfW=yCm+F<~AȌ^^8ϕWZkOj/HOY>ҩ(F`d|)41u5-Z)H`Z(UjΗ7A|yawwǏyB[31Ou##ab:06Pq>C:4:Uivj-VmB#y~OxQnNgQ*@ӇSt)]%?6QQQ&_ͺnfy}uɨUe]yd1htţ4{\e=^}J}mV*K@]<&&Zq35ls-gߨ!UF2l^C5늴O1 ,$bDYq  `\Q\~(nJ!3qp7*66nxSbf+# ;`0l}o% GplqDޘ?{ I#jӽp<ȹ 1;U./..41"TLI1\/0E72D${z8;ښIp cR\eҜ,had7.nEWBsϳu-C[&G lW|% ҕ7$rgl uǝ֏♻LK/WrT[3z%PJ*74vN2h2o}2D%,x2kafjX_uNN*@.˕ﻟ!wAIkTx6Ѭe3k7 nθ' P&?Ir$;q1@gRԾ'lC(6= (nuTI6!(m#~ڲ ؔ85]%k}kJW*g>%M7ϧndny*]*?v}-qw#Ek b= `Oqt6h2V[I@[ \7\[4חbad 3@"B>_S7 Te64m&/:&d"6MR5|wݲH:} :cJMH#1EN]>}_5(/# Ğ֧2)<G : rmk#oߑ_0AS*2b)FW6%%mJ5}G s+'R2)8~#m)'QZ%gGYj'J?t$%O ewłӻy%kϽ(I J֬hYϱ?A ¤`p::ͷUv +fdcA-b12RjULs62V [``m}㱐A~knH}6%"oguKWւ }D" Cv,Plh>g@|A~}vC@@sP:RJ܍ذ))+g¼/..222rsյ-W "O]$[T(>;0 65~š,M-!O=_DW[QB|ϵzS ?m _?J +B=)D/SC,К72{G?S4U7wJ5Nvҧ= %[3HbY ԨUuair}q"su Fk,|Ģ G &q吚{۵4AkS[9cD ɯQ8|oY;?%?hVSwKߒz_(ɕ^hr-Ĉ>qTTU]~cc]YeքzEC5siE77O5SvMCm,zۑqSS#46ST;`2ù+C'xJRG^MbE)2 oÈgpB0N{t;9qW{^=X ~+͙@Z0 lkJ;PsR|fXȌ]Nq ™*3QE>-A'azClߪ+2=DEDONN8H?@i~.--cRRj *{'TbR{C/9%m6uYG`_C遆Cd'з_r{\f|j']_XC2kqv I&nZR=؏v7RJpq'`=G'o߶SW4-mL5͝;I಺:}b2r!8]?V|*'/{ӏ^"w,tt@lkxk ke*a/&Zzk əy dr<hcv%1_dY.}حla^+g좣zU N%|9h?K,`2)L&ƀ&{otD寿owH :LI63H{UYg6r_O #< Sc3О2R<*tioțeP5rsox u9R+<*-CM&F~Y`rc-_CB%̋0[sq 'jnx7Ga`4F+9q܋i㬙'aK7TN~z,RR׏cwj*T|VJ;I!Mn|WS$2R3 f:b`O:#cd@.weLWGy?Xe}y~$ED֒=y[%#ˁٸi8 4F*^M*3ĔN'n_hSH.t# #ڶ_0_Q&h(2nP g>ͶA Ӡ/].Nv#mn|gmT8oD;)q8˱H.-h5{׌{[$Wy:LBOُ$1PSVx^&>UM 4)R8:6g^T%o6 m.qLA6v7G]8P櫛-:~ cgțyO=.Z'&KH^WӅ7 6=g+ z" l*7 8Z-XqZ9_k0&G ׸56gMxuήtYX!k{8*>%n3^6Rz YP69 V4qӃ ^D=0Zhfrsү8[+[b4{M :-XM_BaCN'0q ֝胋֠ |,SwQuu˗~VŠ~m@SsJ:2Zũrϰ6.DxfyF!YZD}!=4qM(4Ł ,^e?oceFWW;SPɩ}=YVj38.R$67/0̗,blt.yFM.;:VDnc?{z|T砂GP10`o'iK5f'K~vP{C̖Y@h+j n,~+Vll7'ARZCUIo]w*ǖTF^ 2)CPKl|2 !PK C? settings.xmlYQs6~`NɕOpM^z$mM h"k= ~}e2Ƕs3}bo׫OBـrzV嫑u?jt% ЏC+A)=Evr.lxdłH$.'!HW.Fnj,{(Yk"׶ váȗtUT6">JdΤ;;ouNoq8bo Raq& sԬuk duTHRq~ &[X*3@s6Z ~UnH.5@&FD+ρ Ȥ##'gD*ot}Ob Rf<|oŋn,u%bN?yq-ӯ- AUrĂ$HJ]}.$o/دY> f7  3f|M;|; .)'bg9" fZ g;c'!n7,)Ma$^@Dyd\kSzW(zstMS #2ɽֻlCG ϯBUL^JO%^ͫZ"wGVkS?e77Uw')a~̴84ъ~tK+¨k6/vٷPKMPK C?META-INF/manifest.xmlAn E9ަͪDj =$ őmT5ف=S0vՓ(*j7c^zˠHYN€TG:\]_;mL éɰPc#{p)ήj,n斓]4FH!rli)# Rh0M]*0 8+33ѧ$f|_z Ιlp=@$_5)AӄRS2<(g<{.<;df0agA|Vs-,2Zڕq[?PKATCIhPK C?l9..mimetypePK C?TConfigurations2/statusbar/PK C?'Configurations2/accelerator/current.xmlPK C?Configurations2/floater/PK C?Configurations2/popupmenu/PK C?QConfigurations2/progressbar/PK C?Configurations2/menubar/PK C?Configurations2/toolbar/PK C?Configurations2/images/Bitmaps/PK C?-}F 4content.xmlPK C?AbF h styles.xmlPK C?fH^meta.xmlPK C?l|2 !?Thumbnails/thumbnail.pngPK C?M 5settings.xmlPK C?ATCIhQ9META-INF/manifest.xmlPK:brewtarget-2.0.2/dev-doc/CreatingStandaloneBundleMacBT.txt0000644000175000017500000000340612266512167023060 0ustar philipphilipCreating a stand-alone bundle for Mac Brewtarget with the QT libraries. put together by Dan Cavanagh (dan@dancavanagh.com) with absolutely no guarantees :) Prerequisites: 1) you have QT installed on your system (if you build it yourself, please make sure to use the -universal flag when building, and build the dynamic library version, not the static version) 2) you can successfully build and run BrewTarget on your mac 3) you have an existing, working mac bundle of BrewTarget (just download the mac brewtarget app from Sourceforge and you'll get a working bundle) Basic steps: 1) Build BrewTarget 2) Copy the BrewTarget executable into the bundle (goes into Contents>MacOS in the package, replace what's in there already) - to see the bundle contents, ctrl-click on the BrewTarget bundle and and choose "Show Package Contents" 3) In terminal, navigate to the directory containing the BrewTarget bundle. 4) Run "macdeployqt %.app" where % is the name of the brewtarget bundle (on my machine it was "brewtarget-1.2.4.app") Here's where it may not work all the way. macdeployqt is a command-line tool that comes with the full QT package (or is built if you build QT yourself). It is supposed to copy the frameworks (basically a mac equivalent of .dll's) into the proper folder in the bundle, which is Contents>Frameworks. However, if it is unable to copy the frameworks you need, it will list which ones were unsuccessful, and their locations. You should view the list of failures and simply manually cp them into the Frameworks folder in the bundle. Some references: http://doc.qt.nokia.com/latest/deployment-mac.html -docs about macdeployqt (at bottom of page). Also describes the manual process of doing that. for support, please contact the devs on the sourceforge brewtarget projectbrewtarget-2.0.2/dev-doc/WindowsQtSDKBuild.txt0000755000175000017500000000150612266512167020575 0ustar philipphilipInstall SDK Add c:\Qt\\bin and c:\Qt\\qt\bin to the environment variables. Run the MSVS command prompt (Programs->MSVS->Tools) and possibly vcvarsall.bat when you get there. cd to c:\Qt\\qt Run configure Options: -platform win32-msvc2008 -debug-and-release -opensource -shared -no-qt3support -phonon -phonon-backend -webkit -arch windows -qt-style-windows -qt-style-windowsvista -qt-style-plastique -qt-style-cleanlooks Run nmake and wait forever. If the error "NMAKE: fatal error U1077" appears, try deleting these temporary files and running nmake again: \src\3rdparty\webkit\WebCore\tmp\moc\debug_shared\mocinclude.tmp \src\3rdparty\webkit\WebCore\tmp\moc\release_shared\mocinclude.tmp \src\script\tmp\moc\debug_shared\mocinclude.tmp \src\script\tmp\moc\release_shared\mocinclude.tmp brewtarget-2.0.2/dev-doc/WindowsPackaging.txt0000644000175000017500000000133012266512167020543 0ustar philipphilipTo distribute brewtarget, we need to add several files and folders to the main brewtarget directory from the Qt directory. Qt\\bin\[phonon4.dll,QtCore4.dll,QtGui4.dll,QtSvg4.dll,QtWebKit4.dll,QtXml4.dll] Qt\\plugins\[iconengines,imageformats,phonon_backend] Also, depending, we may need the following: libgcc_s_dw2-1.dll mingwm10.dll ==MinGW 4.4.0 Bug== In MinGW that comes with Qt, there is a bug http://sourceforge.net/tracker/?func=detail&aid=2373234&group_id=2435&atid=102435 It causes the compiler to fail with: "error: '::swprintf' has not been declared" Temporary fix: Comment out "using ::swprintf", "using ::vfwprintf", and "using ::vswprintf" in C:\MinGW\lib\gcc\mingw32\4.4.0\include\c++\cwchar brewtarget-2.0.2/build/0000755000175000017500000000000012266512167014324 5ustar philipphilipbrewtarget-2.0.2/build/dummyfile0000644000175000017500000000017112266512167016241 0ustar philipphilipThe only purpose of this file is to keep cpack from not including this otherwise empty directory in the source packages. brewtarget-2.0.2/CHANGES.markdown0000644000175000017500000000672012266512167016046 0ustar philipphilip# Brewtarget Changelog This changelog is for high-level user-visible changes to Brewtarget, intended for consumption by the typical end-user. ## v2.0.3 ### New Features ### Bug Fixes ### Incompatibilities ## v2.0.2 This is a minor bugfix release. ### New Features * Windows installer now does automatic upgrade from previous versions. * Replaced language icons with a combobox for selecting language. * Added Greek and Chinese translations. ### Bug Fixes * Fixed Slackware build error [#1109493](https://bugs.launchpad.net/bugs/1109493) * Installs in Fedora 17 [#1109534](https://bugs.launchpad.net/bugs/1109534) * Wrong ingredients being added to recipe fixed [#1158620](https://bugs.launchpad.net/bugs/1158620) * Fixed compile error on FreeBSD 9.0 64-bit [#1131231](https://bugs.launchpad.net/bugs/1131231) * Late-added sugars now show up in recipe instructions [#1155816](https://bugs.launchpad.net/bugs/1155816) * Fixed misc. ingredient amounts being improperly interpreted [#1160610](https://bugs.launchpad.net/bugs/1160610) * Rpm package no longer provides /usr and subdirectories [#1164045](https://bugs.launchpad.net/bugs/1164045) * Fixed issue causing Fermentable EBC values to be constantly divided by 2 [#1170088](https://bugs.launchpad.net/bugs/1170088) * Fixed labeling of EBC values when adding new styles [#1173774](https://bugs.launchpad.net/bugs/1173774) * Fixed inaccurate color preview [#1177546](https://bugs.launchpad.net/bugs/1177546) * Fixed crashing when importing recipes from Brewmate [#1192269](https://bugs.launchpad.net/bugs/1192269). * Building with `-no-phonon` flag works correctly [#1212921](https://bugs.launchpad.net/bugs/1212921) * Equipment editor should no longer show up empty. [#1227787](https://bugs.launchpad.net/brewtarget/+bug/1227787) * Closing the equipment editor now always reverts all changes. * Update mash tun mass and specific heat when equipment is dropped on recipe. [#1233754](https://bugs.launchpad.net/brewtarget/+bug/1233754) * No longer crashes when copying recipe that has no style selected. [#1233745](https://bugs.launchpad.net/brewtarget/+bug/1233745) * Made the manual open in a browser. [#1224584](https://bugs.launchpad.net/brewtarget/+bug/1224584). ### Incompatibilities None ## v2.0.1 This is a minor bugfix release. ### New Features * Added Russian translation. * Significant update to Spanish translation. ### Bug Fixes * Fixed bug preventing new equipments from being properly saved [#1132311](https://bugs.launchpad.net/bugs/1132311) * Fixed crash when editing recipe or taste notes [#1134983](https://bugs.launchpad.net/bugs/1134983) * Fixed bug preventing efficiency changes from immediately updating the recipe [#1129201](https://bugs.launchpad.net/bugs/1129201) * Fixed Windows issue causing changes not to be saved [#1133821](https://bugs.launchpad.net/bugs/1133821) * Fixed strange boil kettle efficiency calculations in brewnotes [#1121200](https://bugs.launchpad.net/bugs/1121200) ### Incompatibilities None ## v2.0.0 This is a major overhaul of the Brewtarget backend. ### New Features * Moved XML database to SQLite. * Customizable equipment-specific hop utilization. * Ability to select a "default" equipment to use in new recipes. * Customizable units in individual display fields. * Drag'n'drop ingredient lists. ### Bug Fixes Numerous ### Incompatibilities * Can no longer directly read v2.0.0 database from earlier versions, though you can still export recipes and ingredients that can be read by earlier versions. brewtarget-2.0.2/brewtarget.qrc0000644000175000017500000001077012266512174016105 0ustar philipphilip images/backup.png images/brewtarget_icon.svg images/bubbles.svg images/clipboard.svg images/clock.svg images/convert.svg images/document-export.png images/document-print-preview.png images/donate.svg images/edit.svg images/editshred.svg images/edit-copy.png images/exit.svg images/filesave.svg images/flagCatalonia.svg images/flagChina.svg images/flagFrance.svg images/flagGermany.svg images/flagGreece.svg images/flagItaly.svg images/flagPoland.svg images/flagPortugal.svg images/flagNetherlands.svg images/flagRussia.svg images/flagSpain.svg images/flagUK.svg images/flagCzech.svg images/glass2.png images/help-contents.png images/hydrometer.svg images/kbruch.png images/mashpaddle.svg images/merge.png images/preferences-other.png images/printer.png images/refractometer.svg images/restore.svg images/server-database.png images/smallBarley.svg images/smallWater.svg images/smallHop.svg images/smallYeast.svg images/smallKettle.svg images/smallQuestion.svg images/smallStyle.svg images/smallPlus.svg images/smallArrow.svg images/smallUpArrow.svg images/smallDownArrow.svg images/smallInfo.svg images/smallOutArrow.svg images/yeastVial.svg images/smallMinus.svg images/title.svg images/title.png css/brewday.css css/recipe.css data/database.xml data/recipes.xml data/mashs.xml create_db.sql migrations/migrations.xml migrations/migration_2.0.0_to_2.0.2.sql brewtarget-2.0.2/QtDesignerPlugins/0000755000175000017500000000000012266512174016632 5ustar philipphilipbrewtarget-2.0.2/QtDesignerPlugins/BrewtargetPlugins.cpp0000644000175000017500000000271412266512174023012 0ustar philipphilip/* * BrewtargetPlugins.h is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2010-2011. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include "BrewtargetPlugins.h" #include "BeerColorWidgetPlugin.h" #include "BrewDayScrollWidgetPlugin.h" #include "CustomComboBoxPlugin.h" #include "EquipmentButtonPlugin.h" #include "RecipeExtrasWidgetPlugin.h" BrewtargetPlugins::BrewtargetPlugins(QObject* parent) : QObject(parent) { plugins.append(new BeerColorWidgetPlugin(this)); plugins.append(new BrewDayScrollWidgetPlugin(this)); plugins.append(new CustomComboBoxPlugin(this)); plugins.append(new EquipmentButtonPlugin(this)); plugins.append(new RecipeExtrasWidgetPlugin(this)); } QList BrewtargetPlugins::customWidgets() const { return plugins; } Q_EXPORT_PLUGIN2( brewtargetplugins, BrewtargetPlugins ) brewtarget-2.0.2/QtDesignerPlugins/WaterTableWidgetPlugin.h0000644000175000017500000000312012266512174023354 0ustar philipphilip/* * WaterTableWidgetPlugin.h is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2011. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef _WATERTABLEWIDGETPLUGIN_H #define _WATERTABLEWIDGETPLUGIN_H #include #include #include #include #include class WaterTableWidgetPlugin; class WaterTableWidgetPlugin : public QObject, public QDesignerCustomWidgetInterface { Q_OBJECT Q_INTERFACES(QDesignerCustomWidgetInterface) public: WaterTableWidgetPlugin(QObject* parent=0); bool isContainer() const; bool isInitialized() const; QIcon icon() const; QString domXml() const; QString group() const; QString includeFile() const; QString name() const; QString toolTip() const; QString whatsThis() const; QWidget *createWidget(QWidget *parent); void initialize(QDesignerFormEditorInterface *core); private: bool initialized; }; #endif /* _WATERTABLEWIDGETPLUGIN_H */ brewtarget-2.0.2/QtDesignerPlugins/CustomComboBoxPlugin.h0000644000175000017500000000315512266512174023071 0ustar philipphilip/* * CustomComboBoxPlugin.h is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2011. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef _CUSTOMCOMBOBOXPLUGIN_H #define _CUSTOMCOMBOBOXPLUGIN_H #include #include #include #include #include class CustomComboBoxPlugin; class CustomComboBoxPlugin : public QObject, public QDesignerCustomWidgetInterface { Q_OBJECT Q_INTERFACES(QDesignerCustomWidgetInterface) public: CustomComboBoxPlugin(QObject* parent=0); bool isContainer() const; bool isInitialized() const; QIcon icon() const; QString domXml() const; QString group() const; QString includeFile() const; QString name() const; QString toolTip() const; QString whatsThis() const; QWidget *createWidget(QWidget *parent); void initialize(QDesignerFormEditorInterface *core); private: bool initialized; }; #endif /*_CUSTOMCOMBOBOXPLUGIN_H*/ brewtarget-2.0.2/QtDesignerPlugins/EquipmentButtonPlugin.h0000644000175000017500000000317012266512174023326 0ustar philipphilip/* * EquipmentButtonPlugin.h is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2011. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef _EQUIPMENTBUTTONPLUGIN_H #define _EQUIPMENTBUTTONPLUGIN_H #include #include #include #include #include class EquipmentButtonPlugin; class EquipmentButtonPlugin : public QObject, public QDesignerCustomWidgetInterface { Q_OBJECT Q_INTERFACES(QDesignerCustomWidgetInterface) public: EquipmentButtonPlugin(QObject* parent=0); bool isContainer() const; bool isInitialized() const; QIcon icon() const; QString domXml() const; QString group() const; QString includeFile() const; QString name() const; QString toolTip() const; QString whatsThis() const; QWidget *createWidget(QWidget *parent); void initialize(QDesignerFormEditorInterface *core); private: bool initialized; }; #endif /* _EQUIPMENTBUTTONPLUGIN_H */ brewtarget-2.0.2/QtDesignerPlugins/MaltinessWidgetPlugin.h0000644000175000017500000000317012266512174023266 0ustar philipphilip/* * MaltinessWidgetPlugin.h is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2011. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef _MALTINESSWIDGETPLUGIN_H #define _MALTINESSWIDGETPLUGIN_H #include #include #include #include #include class MaltinessWidgetPlugin; class MaltinessWidgetPlugin : public QObject, public QDesignerCustomWidgetInterface { Q_OBJECT Q_INTERFACES(QDesignerCustomWidgetInterface) public: MaltinessWidgetPlugin(QObject* parent=0); bool isContainer() const; bool isInitialized() const; QIcon icon() const; QString domXml() const; QString group() const; QString includeFile() const; QString name() const; QString toolTip() const; QString whatsThis() const; QWidget *createWidget(QWidget *parent); void initialize(QDesignerFormEditorInterface *core); private: bool initialized; }; #endif /* _MALTINESSWIDGETPLUGIN_H */ brewtarget-2.0.2/QtDesignerPlugins/BtDigitWidgetPlugin.pro0000644000175000017500000000043012266512174023222 0ustar philipphilipTEMPLATE = lib TARGET = btdigitwidgetplugin CONFIG += designer plugin HEADERS = BtDigitWidgetPlugin.h \ ../src/BtDigitWidget.h SOURCES = BtDigitWidgetPlugin.cpp \ ../src/BtDigitWidget.cpp target.path = $$[QT_INSTALL_PLUGINS]/designer INSTALLS += target brewtarget-2.0.2/QtDesignerPlugins/CMakeLists.txt0000644000175000017500000000607612266512174021403 0ustar philipphilipADD_DEFINITIONS(${QT_DEFINITIONS}) ADD_DEFINITIONS(-DQT_PLUGIN) ADD_DEFINITIONS(-DQT_NO_DEBUG) ADD_DEFINITIONS(-DQT_SHARED) INCLUDE( ${QT_USE_FILE} ) INCLUDE_DIRECTORIES( ${QT_INCLUDE_DIR} ${SRCDIR} ) LINK_DIRECTORIES( ${QT_LIBRARY_DIR} ) # By default only QtCore and QtGui are enabled SET( QT_USE_QTDESIGNER TRUE ) SET( SRC_FILES ${SRCDIR}/BeerColorWidget.cpp ${SRCDIR}/BrewDayScrollWidget.cpp ${SRCDIR}/CustomComboBox.cpp ${SRCDIR}/EquipmentButton.cpp ${SRCDIR}/MaltinessWidget.cpp ${SRCDIR}/RecipeExtrasWidget.cpp ${SRCDIR}/BeerXMLElement.cpp ${SRCDIR}/brewnote.cpp ${SRCDIR}/brewtarget.cpp ${SRCDIR}/CelsiusTempUnitSystem.cpp ${SRCDIR}/database.cpp ${SRCDIR}/equipment.cpp ${SRCDIR}/FahrenheitTempUnitSystem.cpp ${SRCDIR}/fermentable.cpp ${SRCDIR}/HeatCalculations.cpp ${SRCDIR}/ImperialVolumeUnitSystem.cpp ${SRCDIR}/hop.cpp ${SRCDIR}/instruction.cpp ${SRCDIR}/mash.cpp ${SRCDIR}/mashstep.cpp ${SRCDIR}/misc.cpp ${SRCDIR}/recipe.cpp ${SRCDIR}/SIVolumeUnitSystem.cpp ${SRCDIR}/SIWeightUnitSystem.cpp ${SRCDIR}/style.cpp ${SRCDIR}/TimeUnitSystem.cpp ${SRCDIR}/unit.cpp ${SRCDIR}/UnitSystem.cpp ${SRCDIR}/UnitSystems.cpp ${SRCDIR}/USVolumeUnitSystem.cpp ${SRCDIR}/USWeightUnitSystem.cpp ${SRCDIR}/water.cpp ${SRCDIR}/yeast.cpp ) SET( MOC_FILES ${SRCDIR}/BeerColorWidget.h ${SRCDIR}/BrewDayScrollWidget.h ${SRCDIR}/CustomComboBox.h ${SRCDIR}/EquipmentButton.h ${SRCDIR}/MaltinessWidget.h ${SRCDIR}/RecipeExtrasWidget.h ${SRCDIR}/BeerXMLElement.h ${SRCDIR}/brewnote.h ${SRCDIR}/database.h ${SRCDIR}/equipment.h ${SRCDIR}/fermentable.h ${SRCDIR}/hop.h ${SRCDIR}/instruction.h ${SRCDIR}/mash.h ${SRCDIR}/mashstep.h ${SRCDIR}/misc.h ${SRCDIR}/recipe.h ${SRCDIR}/style.h ${SRCDIR}/water.h ${SRCDIR}/yeast.h ) set( UI_FILES ${UIDIR}/brewDayScrollWidget.ui ${UIDIR}/btSplashScreen.ui ${UIDIR}/instructionWidget.ui ${UIDIR}/mainWindow.ui ${UIDIR}/recipeExtrasWidget.ui ${UIDIR}/timerWidget.ui ) SET( PLUGIN_MOCS BrewtargetPlugins.h BeerColorWidgetPlugin.h BrewDayScrollWidgetPlugin.h CustomComboBoxPlugin.h EquipmentButtonPlugin.h MaltinessWidgetPlugin.h RecipeExtrasWidgetPlugin.h ) SET( PLUGIN_SRCS BrewtargetPlugins.cpp BeerColorWidgetPlugin.cpp BrewDayScrollWidgetPlugin.cpp CustomComboBoxPlugin.cpp EquipmentButtonPlugin.cpp MaltinessWidgetPlugin.cpp RecipeExtrasWidgetPlugin.cpp ) QT4_WRAP_CPP( GEN_MOC_FILES ${MOC_FILES} ${PLUGIN_MOCS} ) QT4_WRAP_UI( GEN_UI_FILES ${UI_FILES}) QT4_ADD_RESOURCES( GEN_RCC_FILES "../brewtarget.qrc") #QT4_WRAP_CPP( GEN_MOC_UI_FILES ${GEN_UI_FILES}) #========================All Plugins Together================================== ADD_LIBRARY( brewtargetplugins SHARED ${SRC_FILES} ${PLUGIN_SRCS} ${GEN_RCC_FILES} ${GEN_UI_FILES} ${GEN_MOC_FILES} ) TARGET_LINK_LIBRARIES( brewtargetplugins ${QT_LIBRARIES} ) INSTALL( TARGETS brewtargetplugins DESTINATION ${QT_PLUGINS_DIR}/designer ) brewtarget-2.0.2/QtDesignerPlugins/BeerColorWidgetPlugin.h0000644000175000017500000000312712266512174023205 0ustar philipphilip/* * BeerColorWidgetPlugin.h is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2011. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef _BEERCOLORWIDGETPLUGIN_H #define _BEERCOLORWIDGETPLUGIN_H #include #include #include #include #include class BeerColorWidgetPlugin; class BeerColorWidgetPlugin : public QObject, public QDesignerCustomWidgetInterface { Q_OBJECT Q_INTERFACES(QDesignerCustomWidgetInterface) public: BeerColorWidgetPlugin(QObject* parent=0); bool isContainer() const; bool isInitialized() const; QIcon icon() const; QString domXml() const; QString group() const; QString includeFile() const; QString name() const; QString toolTip() const; QString whatsThis() const; QWidget *createWidget(QWidget *parent); void initialize(QDesignerFormEditorInterface *core); private: bool initialized; }; #endif /* _BEERCOLORWIDGETPLUGIN_H */ brewtarget-2.0.2/QtDesignerPlugins/BrewDayScrollWidgetPlugin.cpp0000644000175000017500000000417412266512174024403 0ustar philipphilip/* * BrewDayScrollWidgetPlugin.cpp is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2011. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include #include #include #include #include #include #include "BrewDayScrollWidgetPlugin.h" #include "BrewDayScrollWidget.h" BrewDayScrollWidgetPlugin::BrewDayScrollWidgetPlugin(QObject* parent) : QObject(parent) { initialized = false; } void BrewDayScrollWidgetPlugin::initialize(QDesignerFormEditorInterface *core) { if(initialized) return; initialized = true; return; } bool BrewDayScrollWidgetPlugin::isInitialized() const { return initialized; } QWidget* BrewDayScrollWidgetPlugin::createWidget(QWidget *parent) { return new BrewDayScrollWidget(parent); } QString BrewDayScrollWidgetPlugin::name() const { return "BrewDayScrollWidget"; } QString BrewDayScrollWidgetPlugin::group() const { return "Brewtarget Widgets"; } QIcon BrewDayScrollWidgetPlugin::icon() const { return QIcon(); } QString BrewDayScrollWidgetPlugin::toolTip() const { return ""; } QString BrewDayScrollWidgetPlugin::whatsThis() const { return ""; } bool BrewDayScrollWidgetPlugin::isContainer() const { return false; } QString BrewDayScrollWidgetPlugin::domXml() const { return "\n" "\n"; } QString BrewDayScrollWidgetPlugin::includeFile() const { return "BrewDayScrollWidget.h"; } brewtarget-2.0.2/QtDesignerPlugins/RecipeComboBoxPlugin.h0000644000175000017500000000310312266512174023017 0ustar philipphilip/* * RecipeComboBoxPlugin.h is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2011. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef _RECIPECOMBOBOXPLUGIN_H #define _RECIPECOMBOBOXPLUGIN_H #include #include #include #include #include class RecipeComboBoxPlugin; class RecipeComboBoxPlugin : public QObject, public QDesignerCustomWidgetInterface { Q_OBJECT Q_INTERFACES(QDesignerCustomWidgetInterface) public: RecipeComboBoxPlugin(QObject* parent=0); bool isContainer() const; bool isInitialized() const; QIcon icon() const; QString domXml() const; QString group() const; QString includeFile() const; QString name() const; QString toolTip() const; QString whatsThis() const; QWidget *createWidget(QWidget *parent); void initialize(QDesignerFormEditorInterface *core); private: bool initialized; }; #endif /* _RECIPECOMBOBOXPLUGIN_H */ brewtarget-2.0.2/QtDesignerPlugins/WaterTableWidgetPlugin.cpp0000644000175000017500000000425312266512174023717 0ustar philipphilip/* * WaterTableWidgetPlugin.cpp is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2011. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include #include #include #include #include #include #include "WaterTableWidgetPlugin.h" #include "../WaterTableWidget.h" WaterTableWidgetPlugin::WaterTableWidgetPlugin(QObject* parent) : QObject(parent) { initialized = false; } void WaterTableWidgetPlugin::initialize(QDesignerFormEditorInterface* /*core*/) { if(initialized) return; initialized = true; return; } bool WaterTableWidgetPlugin::isInitialized() const { return initialized; } QWidget* WaterTableWidgetPlugin::createWidget(QWidget *parent) { return new WaterTableWidget(parent); } QString WaterTableWidgetPlugin::name() const { return "WaterTableWidget"; } QString WaterTableWidgetPlugin::group() const { return "BrewTarget Widgets"; } QIcon WaterTableWidgetPlugin::icon() const { return QIcon(); } QString WaterTableWidgetPlugin::toolTip() const { return "Table for WATERs."; } QString WaterTableWidgetPlugin::whatsThis() const { return "Table for WATERs."; } bool WaterTableWidgetPlugin::isContainer() const { return false; } QString WaterTableWidgetPlugin::domXml() const { return "\n" "\n"; } QString WaterTableWidgetPlugin::includeFile() const { return "WaterTableWidget.h"; } Q_EXPORT_PLUGIN2( watertablewidgetplugin, WaterTableWidgetPlugin ) brewtarget-2.0.2/QtDesignerPlugins/RecipeExtrasWidgetPlugin.h0000644000175000017500000000314712266512174023731 0ustar philipphilip/* * RecipeExtrasWidgetPlugin.h is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2011. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef _RECIPEEXTRASWIDGETPLUGIN_H #define _RECIPEEXTRASWIDGETPLUGIN_H #include #include #include #include #include class RecipeExtrasWidgetPlugin; class RecipeExtrasWidgetPlugin : public QObject, public QDesignerCustomWidgetInterface { Q_OBJECT Q_INTERFACES(QDesignerCustomWidgetInterface) public: RecipeExtrasWidgetPlugin(QObject* parent=0); bool isContainer() const; bool isInitialized() const; QIcon icon() const; QString domXml() const; QString group() const; QString includeFile() const; QString name() const; QString toolTip() const; QString whatsThis() const; QWidget *createWidget(QWidget *parent); void initialize(QDesignerFormEditorInterface *core); private: bool initialized; }; #endif /* _RECIPEEXTRASWIDGETPLUGIN_H */ brewtarget-2.0.2/QtDesignerPlugins/BrewDayScrollWidgetPlugin.h0000644000175000017500000000312012266512174024036 0ustar philipphilip/* * BrewDayScrollWidgetPlugin.h is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2011. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef _BREWDAYSCROLLWIDGETPLUGIN_H #define _BREWDAYSCROLLWIDGETPLUGIN_H #include #include #include #include #include class BrewDayScrollWidgetPlugin; class BrewDayScrollWidgetPlugin : public QObject, public QDesignerCustomWidgetInterface { Q_OBJECT Q_INTERFACES(QDesignerCustomWidgetInterface) public: BrewDayScrollWidgetPlugin(QObject* parent=0); bool isContainer() const; bool isInitialized() const; QIcon icon() const; QString domXml() const; QString group() const; QString includeFile() const; QString name() const; QString toolTip() const; QString whatsThis() const; QWidget *createWidget(QWidget *parent); void initialize(QDesignerFormEditorInterface *core); private: bool initialized; }; #endif brewtarget-2.0.2/QtDesignerPlugins/RecipeExtrasWidgetPlugin.cpp0000644000175000017500000000415612266512174024265 0ustar philipphilip/* * RecipeExtrasWidgetPlugin.cpp is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2011. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include #include #include #include #include #include #include "RecipeExtrasWidgetPlugin.h" #include "../src/RecipeExtrasWidget.h" RecipeExtrasWidgetPlugin::RecipeExtrasWidgetPlugin(QObject* parent) : QObject(parent) { initialized = false; } void RecipeExtrasWidgetPlugin::initialize(QDesignerFormEditorInterface *core) { if(initialized) return; initialized = true; return; } bool RecipeExtrasWidgetPlugin::isInitialized() const { return initialized; } QWidget* RecipeExtrasWidgetPlugin::createWidget(QWidget *parent) { return new RecipeExtrasWidget(parent); } QString RecipeExtrasWidgetPlugin::name() const { return "RecipeExtrasWidget"; } QString RecipeExtrasWidgetPlugin::group() const { return "Brewtarget Widgets"; } QIcon RecipeExtrasWidgetPlugin::icon() const { return QIcon(); } QString RecipeExtrasWidgetPlugin::toolTip() const { return ""; } QString RecipeExtrasWidgetPlugin::whatsThis() const { return ""; } bool RecipeExtrasWidgetPlugin::isContainer() const { return false; } QString RecipeExtrasWidgetPlugin::domXml() const { return "\n" "\n"; } QString RecipeExtrasWidgetPlugin::includeFile() const { return "RecipeExtrasWidget.h"; } brewtarget-2.0.2/QtDesignerPlugins/BrewtargetPlugins.h0000644000175000017500000000236412266512174022460 0ustar philipphilip/* * BrewtargetPlugins.h is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2010-2011. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include #include #include #include #include class BrewtargetPlugins: public QObject, public QDesignerCustomWidgetCollectionInterface { Q_OBJECT Q_INTERFACES(QDesignerCustomWidgetCollectionInterface) public: BrewtargetPlugins(QObject* parent=0); virtual QList customWidgets() const; private: QList plugins; }; brewtarget-2.0.2/QtDesignerPlugins/BeerColorWidgetPlugin.cpp0000644000175000017500000000405012266512174023534 0ustar philipphilip/* * BeerColorWidgetPlugin.cpp is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2011. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include #include #include #include #include #include #include "BeerColorWidgetPlugin.h" #include "BeerColorWidget.h" BeerColorWidgetPlugin::BeerColorWidgetPlugin(QObject* parent) : QObject(parent) { initialized = false; } void BeerColorWidgetPlugin::initialize(QDesignerFormEditorInterface *core) { if(initialized) return; initialized = true; return; } bool BeerColorWidgetPlugin::isInitialized() const { return initialized; } QWidget* BeerColorWidgetPlugin::createWidget(QWidget *parent) { return new BeerColorWidget(parent); } QString BeerColorWidgetPlugin::name() const { return "BeerColorWidget"; } QString BeerColorWidgetPlugin::group() const { return "Brewtarget Widgets"; } QIcon BeerColorWidgetPlugin::icon() const { return QIcon(); } QString BeerColorWidgetPlugin::toolTip() const { return ""; } QString BeerColorWidgetPlugin::whatsThis() const { return ""; } bool BeerColorWidgetPlugin::isContainer() const { return false; } QString BeerColorWidgetPlugin::domXml() const { return "\n" "\n"; } QString BeerColorWidgetPlugin::includeFile() const { return "BeerColorWidget.h"; } brewtarget-2.0.2/QtDesignerPlugins/RecipeComboBoxPlugin.pro0000644000175000017500000000215112266512174023372 0ustar philipphilipTEMPLATE = lib TARGET = recipecomboboxplugin CONFIG += designer plugin HEADERS = ../RecipeComboBox.h \ RecipeComboBoxPlugin.h \ ../recipe.h \ ../stringparsing.h \ ../xmlnode.h \ ../xml.h \ ../observable.h \ ../fermentable.h \ ../yeast.h \ ../style.h \ ../hop.h \ ../misc.h \ ../water.h \ ../mash.h \ ../equipment.h \ ../mashstep.h \ ../database.h \ ../xmltree.h SOURCES = ../RecipeComboBox.cpp \ RecipeComboBoxPlugin.cpp \ ../recipe.cpp \ ../stringparsing.cpp \ ../xmlnode.cpp \ ../xml.cpp \ ../observable.cpp \ ../observer.cpp \ ../fermentable.cpp \ ../yeast.cpp \ ../style.cpp \ ../hop.cpp \ ../misc.cpp \ ../water.cpp \ ../mash.cpp \ ../equipment.cpp \ ../mashstep.cpp \ ../database.cpp \ ../xmltree.cpp target.path = $$[QT_INSTALL_PLUGINS]/designer INSTALLS += target brewtarget-2.0.2/QtDesignerPlugins/CustomComboBoxPlugin.cpp0000644000175000017500000000376512266512174023433 0ustar philipphilip/* * CustomComboBoxPlugin.cpp is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2011. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include #include #include #include #include #include #include "CustomComboBoxPlugin.h" #include "CustomComboBox.h" CustomComboBoxPlugin::CustomComboBoxPlugin(QObject* parent) : QObject(parent) { initialized = false; } void CustomComboBoxPlugin::initialize(QDesignerFormEditorInterface *core) { if(initialized) return; initialized = true; return; } bool CustomComboBoxPlugin::isInitialized() const { return initialized; } QWidget* CustomComboBoxPlugin::createWidget(QWidget *parent) { return new CustomComboBox(parent); } QString CustomComboBoxPlugin::name() const { return "CustomComboBox"; } QString CustomComboBoxPlugin::group() const { return "Brewtarget Widgets"; } QIcon CustomComboBoxPlugin::icon() const { return QIcon(); } QString CustomComboBoxPlugin::toolTip() const { return ""; } QString CustomComboBoxPlugin::whatsThis() const { return ""; } bool CustomComboBoxPlugin::isContainer() const { return false; } QString CustomComboBoxPlugin::domXml() const { return "\n" "\n"; } QString CustomComboBoxPlugin::includeFile() const { return "CustomComboBox.h"; } brewtarget-2.0.2/QtDesignerPlugins/WaterTableWidgetPlugin.pro0000644000175000017500000000121112266512174023724 0ustar philipphilipTEMPLATE = lib TARGET = watertablewidgetplugin CONFIG += designer plugin HEADERS = ../WaterTableWidget.h \ WaterTableWidgetPlugin.h \ ../WaterTableModel.h \ ../water.h \ ../stringparsing.h \ ../xmlnode.h \ ../xml.h \ ../observable.h SOURCES = ../WaterTableWidget.cpp \ WaterTableWidgetPlugin.cpp \ ../WaterTableModel.cpp \ ../water.cpp \ ../stringparsing.cpp \ ../xmlnode.cpp \ ../xml.cpp \ ../observable.cpp \ ../observer.cpp target.path = $$[QT_INSTALL_PLUGINS]/designer INSTALLS += target brewtarget-2.0.2/QtDesignerPlugins/BtDigitWidgetPlugin.h0000644000175000017500000000307312266512174022657 0ustar philipphilip/* * BtDigitWidgetPlugin.h is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2011. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef _BTDIGITWIDGETPLUGIN_H #define _BTDIGITWIDGETPLUGIN_H class BtDigitWidgetPlugin; #include #include #include #include #include class BtDigitWidgetPlugin : public QObject, public QDesignerCustomWidgetInterface { Q_OBJECT Q_INTERFACES(QDesignerCustomWidgetInterface) public: BtDigitWidgetPlugin(QObject* parent=0); bool isContainer() const; bool isInitialized() const; QIcon icon() const; QString domXml() const; QString group() const; QString includeFile() const; QString name() const; QString toolTip() const; QString whatsThis() const; QWidget *createWidget(QWidget *parent); void initialize(QDesignerFormEditorInterface *core); private: bool initialized; }; #endif /* _BTDIGITWIDGETPLUGIN_H */ brewtarget-2.0.2/QtDesignerPlugins/EquipmentButtonPlugin.cpp0000644000175000017500000000401212266512174023655 0ustar philipphilip/* * EquipmentButtonPlugin.cpp is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2011. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include #include #include #include #include #include #include "EquipmentButtonPlugin.h" #include "EquipmentButton.h" EquipmentButtonPlugin::EquipmentButtonPlugin(QObject* parent) : QObject(parent) { initialized = false; } void EquipmentButtonPlugin::initialize(QDesignerFormEditorInterface *core) { if(initialized) return; initialized = true; return; } bool EquipmentButtonPlugin::isInitialized() const { return initialized; } QWidget* EquipmentButtonPlugin::createWidget(QWidget *parent) { return new EquipmentButton(parent); } QString EquipmentButtonPlugin::name() const { return "EquipmentButton"; } QString EquipmentButtonPlugin::group() const { return "Brewtarget Widgets"; } QIcon EquipmentButtonPlugin::icon() const { return QIcon(); } QString EquipmentButtonPlugin::toolTip() const { return ""; } QString EquipmentButtonPlugin::whatsThis() const { return ""; } bool EquipmentButtonPlugin::isContainer() const { return false; } QString EquipmentButtonPlugin::domXml() const { return "\n" "\n"; } QString EquipmentButtonPlugin::includeFile() const { return "EquipmentButton.h"; } brewtarget-2.0.2/QtDesignerPlugins/MaltinessWidgetPlugin.cpp0000644000175000017500000000401212266512174023615 0ustar philipphilip/* * MaltinessWidgetPlugin.cpp is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2011. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include #include #include #include #include #include #include "MaltinessWidgetPlugin.h" #include "MaltinessWidget.h" MaltinessWidgetPlugin::MaltinessWidgetPlugin(QObject* parent) : QObject(parent) { initialized = false; } void MaltinessWidgetPlugin::initialize(QDesignerFormEditorInterface *core) { if(initialized) return; initialized = true; return; } bool MaltinessWidgetPlugin::isInitialized() const { return initialized; } QWidget* MaltinessWidgetPlugin::createWidget(QWidget *parent) { return new MaltinessWidget(parent); } QString MaltinessWidgetPlugin::name() const { return "MaltinessWidget"; } QString MaltinessWidgetPlugin::group() const { return "Brewtarget Widgets"; } QIcon MaltinessWidgetPlugin::icon() const { return QIcon(); } QString MaltinessWidgetPlugin::toolTip() const { return ""; } QString MaltinessWidgetPlugin::whatsThis() const { return ""; } bool MaltinessWidgetPlugin::isContainer() const { return false; } QString MaltinessWidgetPlugin::domXml() const { return "\n" "\n"; } QString MaltinessWidgetPlugin::includeFile() const { return "MaltinessWidget.h"; } brewtarget-2.0.2/QtDesignerPlugins/BtDigitWidgetPlugin.cpp0000644000175000017500000000434012266512174023210 0ustar philipphilip/* * BtDigitWidgetPlugin.h is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2010-2011. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include #include #include #include #include #include #include "BtDigitWidgetPlugin.h" #include "../src/BtDigitWidget.h" BtDigitWidgetPlugin::BtDigitWidgetPlugin(QObject* parent) : QObject(parent) { initialized = false; } void BtDigitWidgetPlugin::initialize(QDesignerFormEditorInterface* /*core*/) { if(initialized) return; initialized = true; return; } bool BtDigitWidgetPlugin::isInitialized() const { return initialized; } QWidget* BtDigitWidgetPlugin::createWidget(QWidget *parent) { BtDigitWidget* ret = new BtDigitWidget(parent); ret->setLowLim(0); ret->setHighLim(2); ret->display(1.5,3); return ret; } QString BtDigitWidgetPlugin::name() const { return "BtDigitWidget"; } QString BtDigitWidgetPlugin::group() const { return "BrewTarget Widgets"; } QIcon BtDigitWidgetPlugin::icon() const { return QIcon(); } QString BtDigitWidgetPlugin::toolTip() const { return "A replacement for QLDCNumber"; } QString BtDigitWidgetPlugin::whatsThis() const { return "A replacement for QLDCNumber"; } bool BtDigitWidgetPlugin::isContainer() const { return false; } QString BtDigitWidgetPlugin::domXml() const { return "\n" "\n"; } QString BtDigitWidgetPlugin::includeFile() const { return "BtDigitWidget.h"; } Q_EXPORT_PLUGIN2( btdigitwidgetplugin, BtDigitWidgetPlugin ) brewtarget-2.0.2/QtDesignerPlugins/RecipeComboBoxPlugin.cpp0000644000175000017500000000423112266512174023355 0ustar philipphilip/* * RecipeComboBoxPlugin.cpp is part of Brewtarget, and is Copyright Philip G. Lee * (rocketman768@gmail.com), 2009-2011. * * Brewtarget is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * Brewtarget is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include #include #include #include #include #include #include "RecipeComboBoxPlugin.h" #include "../RecipeComboBox.h" RecipeComboBoxPlugin::RecipeComboBoxPlugin(QObject* parent) : QObject(parent) { initialized = false; } void RecipeComboBoxPlugin::initialize(QDesignerFormEditorInterface* /*core*/) { if(initialized) return; initialized = true; return; } bool RecipeComboBoxPlugin::isInitialized() const { return initialized; } QWidget* RecipeComboBoxPlugin::createWidget(QWidget *parent) { return new RecipeComboBox(parent); } QString RecipeComboBoxPlugin::name() const { return "RecipeComboBox"; } QString RecipeComboBoxPlugin::group() const { return "BrewTarget Widgets"; } QIcon RecipeComboBoxPlugin::icon() const { return QIcon(); } QString RecipeComboBoxPlugin::toolTip() const { return "Combo box that observes recipes"; } QString RecipeComboBoxPlugin::whatsThis() const { return "Combo box that observes recipes"; } bool RecipeComboBoxPlugin::isContainer() const { return false; } QString RecipeComboBoxPlugin::domXml() const { return "\n" "\n"; } QString RecipeComboBoxPlugin::includeFile() const { return "RecipeComboBox.h"; } Q_EXPORT_PLUGIN2( recipecomboboxplugin, RecipeComboBoxPlugin ) brewtarget-2.0.2/COPYRIGHT0000644000175000017500000006014312266512174014522 0ustar philipphilipFiles: * Copyright: 2009-2013, Philip G. Lee License: GPL-3 Files: cmake/modules/FindPhonon.cmake Copyright: 2008 Matthias Kretz , 2012 Philip G. Lee License: BSD-2-clause Files: data/sounds/* Copyright: 2011, Jay Cummings License: GPL-3 Files: images/* Copyright: 2009-2013, Philip G. Lee 2009-2010, Eric Tamme License: WTFPL-2 Files: images/flag* images/bubbles.svg images/convert.svg images/clipboard.svg images/refractometer.svg images/restore.svg images/yeastVial.svg Copyright: 2012, Philip G. Lee License: WTFPL-2 Files: images/edit-copy.png images/document-print-preview.png images/merge.png images/preferences-other.png images/printer.png images/server-database.png images/kbruch.png images/help-contents.png Copyright: David Vignoni et al. License: CC-BY-SA-3.0 or LGPL-3.0 Files: images/backup.png Copyright: David Vignoni License: LGPL-2.1 License: GPL-3 This package is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This package is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this package;if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA, or visit http://www.gnu.org/copyleft/gpl.html On Debian systems, the complete text of the GNU General Public License can be found in `/usr/share/common-licenses/GPL-3'. License: WTFPL-2 Copyright (C) 2004 Sam Hocevar Everyone is permitted to copy and distribute verbatim or modified copies of this license document, and changing it is allowed as long as the name is changed. DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. You just DO WHAT THE FUCK YOU WANT TO. License: CC-BY-SA-3.0 THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED. BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS. 1. Definitions a. "Adaptation" means a work based upon the Work, or upon the Work and other pre-existing works, such as a translation, adaptation, derivative work, arrangement of music or other alterations of a literary or artistic work, or phonogram or performance and includes cinematographic adaptations or any other form in which the Work may be recast, transformed, or adapted including in any form recognizably derived from the original, except that a work that constitutes a Collection will not be considered an Adaptation for the purpose of this License. For the avoidance of doubt, where the Work is a musical work, performance or phonogram, the synchronization of the Work in timed-relation with a moving image ("synching") will be considered an Adaptation for the purpose of this License. b. "Collection" means a collection of literary or artistic works, such as encyclopedias and anthologies, or performances, phonograms or broadcasts, or other works or subject matter other than works listed in Section 1(f) below, which, by reason of the selection and arrangement of their contents, constitute intellectual creations, in which the Work is included in its entirety in unmodified form along with one or more other contributions, each constituting separate and independent works in themselves, which together are assembled into a collective whole. A work that constitutes a Collection will not be considered an Adaptation (as defined below) for the purposes of this License. c. "Creative Commons Compatible License" means a license that is listed at http://creativecommons.org/compatiblelicenses that has been approved by Creative Commons as being essentially equivalent to this License, including, at a minimum, because that license: (i) contains terms that have the same purpose, meaning and effect as the License Elements of this License; and, (ii) explicitly permits the relicensing of adaptations of works made available under that license under this License or a Creative Commons jurisdiction license with the same License Elements as this License. d. "Distribute" means to make available to the public the original and copies of the Work or Adaptation, as appropriate, through sale or other transfer of ownership. e. "License Elements" means the following high-level license attributes as selected by Licensor and indicated in the title of this License: Attribution, ShareAlike. f. "Licensor" means the individual, individuals, entity or entities that offer(s) the Work under the terms of this License. g. "Original Author" means, in the case of a literary or artistic work, the individual, individuals, entity or entities who created the Work or if no individual or entity can be identified, the publisher; and in addition (i) in the case of a performance the actors, singers, musicians, dancers, and other persons who act, sing, deliver, declaim, play in, interpret or otherwise perform literary or artistic works or expressions of folklore; (ii) in the case of a phonogram the producer being the person or legal entity who first fixes the sounds of a performance or other sounds; and, (iii) in the case of broadcasts, the organization that transmits the broadcast. h. "Work" means the literary and/or artistic work offered under the terms of this License including without limitation any production in the literary, scientific and artistic domain, whatever may be the mode or form of its expression including digital form, such as a book, pamphlet and other writing; a lecture, address, sermon or other work of the same nature; a dramatic or dramatico-musical work; a choreographic work or entertainment in dumb show; a musical composition with or without words; a cinematographic work to which are assimilated works expressed by a process analogous to cinematography; a work of drawing, painting, architecture, sculpture, engraving or lithography; a photographic work to which are assimilated works expressed by a process analogous to photography; a work of applied art; an illustration, map, plan, sketch or three-dimensional work relative to geography, topography, architecture or science; a performance; a broadcast; a phonogram; a compilation of data to the extent it is protected as a copyrightable work; or a work performed by a variety or circus performer to the extent it is not otherwise considered a literary or artistic work. i. "You" means an individual or entity exercising rights under this License who has not previously violated the terms of this License with respect to the Work, or who has received express permission from the Licensor to exercise rights under this License despite a previous violation. j. "Publicly Perform" means to perform public recitations of the Work and to communicate to the public those public recitations, by any means or process, including by wire or wireless means or public digital performances; to make available to the public Works in such a way that members of the public may access these Works from a place and at a place individually chosen by them; to perform the Work to the public by any means or process and the communication to the public of the performances of the Work, including by public digital performance; to broadcast and rebroadcast the Work by any means including signs, sounds or images. k. "Reproduce" means to make copies of the Work by any means including without limitation by sound or visual recordings and the right of fixation and reproducing fixations of the Work, including storage of a protected performance or phonogram in digital form or other electronic medium. 2. Fair Dealing Rights. Nothing in this License is intended to reduce, limit, or restrict any uses free from copyright or rights arising from limitations or exceptions that are provided for in connection with the copyright protection under copyright law or other applicable laws. 3. License Grant. Subject to the terms and conditions of this License, Licensor hereby grants You a worldwide, royalty-free, non-exclusive, perpetual (for the duration of the applicable copyright) license to exercise the rights in the Work as stated below: a. to Reproduce the Work, to incorporate the Work into one or more Collections, and to Reproduce the Work as incorporated in the Collections; b. to create and Reproduce Adaptations provided that any such Adaptation, including any translation in any medium, takes reasonable steps to clearly label, demarcate or otherwise identify that changes were made to the original Work. For example, a translation could be marked "The original work was translated from English to Spanish," or a modification could indicate "The original work has been modified."; c. to Distribute and Publicly Perform the Work including as incorporated in Collections; and, d. to Distribute and Publicly Perform Adaptations. e. For the avoidance of doubt: i. Non-waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme cannot be waived, the Licensor reserves the exclusive right to collect such royalties for any exercise by You of the rights granted under this License; ii. Waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme can be waived, the Licensor waives the exclusive right to collect such royalties for any exercise by You of the rights granted under this License; and, iii. Voluntary License Schemes. The Licensor waives the right to collect royalties, whether individually or, in the event that the Licensor is a member of a collecting society that administers voluntary licensing schemes, via that society, from any exercise by You of the rights granted under this License. The above rights may be exercised in all media and formats whether now known or hereafter devised. The above rights include the right to make such modifications as are technically necessary to exercise the rights in other media and formats. Subject to Section 8(f), all rights not expressly granted by Licensor are hereby reserved. 4. Restrictions. The license granted in Section 3 above is expressly made subject to and limited by the following restrictions: a. You may Distribute or Publicly Perform the Work only under the terms of this License. You must include a copy of, or the Uniform Resource Identifier (URI) for, this License with every copy of the Work You Distribute or Publicly Perform. You may not offer or impose any terms on the Work that restrict the terms of this License or the ability of the recipient of the Work to exercise the rights granted to that recipient under the terms of the License. You may not sublicense the Work. You must keep intact all notices that refer to this License and to the disclaimer of warranties with every copy of the Work You Distribute or Publicly Perform. When You Distribute or Publicly Perform the Work, You may not impose any effective technological measures on the Work that restrict the ability of a recipient of the Work from You to exercise the rights granted to that recipient under the terms of the License. This Section 4(a) applies to the Work as incorporated in a Collection, but this does not require the Collection apart from the Work itself to be made subject to the terms of this License. If You create a Collection, upon notice from any Licensor You must, to the extent practicable, remove from the Collection any credit as required by Section 4(c), as requested. If You create an Adaptation, upon notice from any Licensor You must, to the extent practicable, remove from the Adaptation any credit as required by Section 4(c), as requested. b. You may Distribute or Publicly Perform an Adaptation only under the terms of: (i) this License; (ii) a later version of this License with the same License Elements as this License; (iii) a Creative Commons jurisdiction license (either this or a later license version) that contains the same License Elements as this License (e.g., Attribution-ShareAlike 3.0 US)); (iv) a Creative Commons Compatible License. If you license the Adaptation under one of the licenses mentioned in (iv), you must comply with the terms of that license. If you license the Adaptation under the terms of any of the licenses mentioned in (i), (ii) or (iii) (the "Applicable License"), you must comply with the terms of the Applicable License generally and the following provisions: (I) You must include a copy of, or the URI for, the Applicable License with every copy of each Adaptation You Distribute or Publicly Perform; (II) You may not offer or impose any terms on the Adaptation that restrict the terms of the Applicable License or the ability of the recipient of the Adaptation to exercise the rights granted to that recipient under the terms of the Applicable License; (III) You must keep intact all notices that refer to the Applicable License and to the disclaimer of warranties with every copy of the Work as included in the Adaptation You Distribute or Publicly Perform; (IV) when You Distribute or Publicly Perform the Adaptation, You may not impose any effective technological measures on the Adaptation that restrict the ability of a recipient of the Adaptation from You to exercise the rights granted to that recipient under the terms of the Applicable License. This Section 4(b) applies to the Adaptation as incorporated in a Collection, but this does not require the Collection apart from the Adaptation itself to be made subject to the terms of the Applicable License. c. If You Distribute, or Publicly Perform the Work or any Adaptations or Collections, You must, unless a request has been made pursuant to Section 4(a), keep intact all copyright notices for the Work and provide, reasonable to the medium or means You are utilizing: (i) the name of the Original Author (or pseudonym, if applicable) if supplied, and/or if the Original Author and/or Licensor designate another party or parties (e.g., a sponsor institute, publishing entity, journal) for attribution ("Attribution Parties") in Licensor's copyright notice, terms of service or by other reasonable means, the name of such party or parties; (ii) the title of the Work if supplied; (iii) to the extent reasonably practicable, the URI, if any, that Licensor specifies to be associated with the Work, unless such URI does not refer to the copyright notice or licensing information for the Work; and (iv) , consistent with Ssection 3(b), in the case of an Adaptation, a credit identifying the use of the Work in the Adaptation (e.g., "French translation of the Work by Original Author," or "Screenplay based on original Work by Original Author"). The credit required by this Section 4(c) may be implemented in any reasonable manner; provided, however, that in the case of a Adaptation or Collection, at a minimum such credit will appear, if a credit for all contributing authors of the Adaptation or Collection appears, then as part of these credits and in a manner at least as prominent as the credits for the other contributing authors. For the avoidance of doubt, You may only use the credit required by this Section for the purpose of attribution in the manner set out above and, by exercising Your rights under this License, You may not implicitly or explicitly assert or imply any connection with, sponsorship or endorsement by the Original Author, Licensor and/or Attribution Parties, as appropriate, of You or Your use of the Work, without the separate, express prior written permission of the Original Author, Licensor and/or Attribution Parties. d. Except as otherwise agreed in writing by the Licensor or as may be otherwise permitted by applicable law, if You Reproduce, Distribute or Publicly Perform the Work either by itself or as part of any Adaptations or Collections, You must not distort, mutilate, modify or take other derogatory action in relation to the Work which would be prejudicial to the Original Author's honor or reputation. Licensor agrees that in those jurisdictions (e.g. Japan), in which any exercise of the right granted in Section 3(b) of this License (the right to make Adaptations) would be deemed to be a distortion, mutilation, modification or other derogatory action prejudicial to the Original Author's honor and reputation, the Licensor will waive or not assert, as appropriate, this Section, to the fullest extent permitted by the applicable national law, to enable You to reasonably exercise Your right under Section 3(b) of this License (right to make Adaptations) but not otherwise. 5. Representations, Warranties and Disclaimer UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, LICENSOR OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU. 6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 7. Termination a. This License and the rights granted hereunder will terminate automatically upon any breach by You of the terms of this License. Individuals or entities who have received Adaptations or Collections from You under this License, however, will not have their licenses terminated provided such individuals or entities remain in full compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will survive any termination of this License. b. Subject to the above terms and conditions, the license granted here is perpetual (for the duration of the applicable copyright in the Work). Notwithstanding the above, Licensor reserves the right to release the Work under different license terms or to stop distributing the Work at any time; provided, however that any such election will not serve to withdraw this License (or any other license that has been, or is required to be, granted under the terms of this License), and this License will continue in full force and effect unless terminated as stated above. 8. Miscellaneous a. Each time You Distribute or Publicly Perform the Work or a Collection, the Licensor offers to the recipient a license to the Work on the same terms and conditions as the license granted to You under this License. b. Each time You Distribute or Publicly Perform an Adaptation, Licensor offers to the recipient a license to the original Work on the same terms and conditions as the license granted to You under this License. c. If any provision of this License is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this License, and without further action by the parties to this agreement, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable. d. No term or provision of this License shall be deemed waived and no breach consented to unless such waiver or consent shall be in writing and signed by the party to be charged with such waiver or consent. e. This License constitutes the entire agreement between the parties with respect to the Work licensed here. There are no understandings, agreements or representations with respect to the Work not specified here. Licensor shall not be bound by any additional provisions that may appear in any communication from You. This License may not be modified without the mutual written agreement of the Licensor and You. f. The rights granted under, and the subject matter referenced, in this License were drafted utilizing the terminology of the Berne Convention for the Protection of Literary and Artistic Works (as amended on September 28, 1979), the Rome Convention of 1961, the WIPO Copyright Treaty of 1996, the WIPO Performances and Phonograms Treaty of 1996 and the Universal Copyright Convention (as revised on July 24, 1971). These rights and subject matter take effect in the relevant jurisdiction in which the License terms are sought to be enforced according to the corresponding provisions of the implementation of those treaty provisions in the applicable national law. If the standard suite of rights granted under applicable copyright law includes additional rights not granted under this License, such additional rights are deemed to be included in the License; this License is not intended to restrict the license of any rights under applicable law. Creative Commons Notice Creative Commons is not a party to this License, and makes no warranty whatsoever in connection with the Work. Creative Commons will not be liable to You or any party on any legal theory for any damages whatsoever, including without limitation any general, special, incidental or consequential damages arising in connection to this license. Notwithstanding the foregoing two (2) sentences, if Creative Commons has expressly identified itself as the Licensor hereunder, it shall have all rights and obligations of Licensor. Except for the limited purpose of indicating to the public that the Work is licensed under the CCPL, Creative Commons does not authorize the use by either party of the trademark "Creative Commons" or any related trademark or logo of Creative Commons without the prior written consent of Creative Commons. Any permitted use will be in compliance with Creative Commons' then-current trademark usage guidelines, as may be published on its website or otherwise made available upon request from time to time. For the avoidance of doubt, this trademark restriction does not form part of the License. Creative Commons may be contacted at http://creativecommons.org/. brewtarget-2.0.2/ui/0000755000175000017500000000000012266512175013641 5ustar philipphilipbrewtarget-2.0.2/ui/miscDialog.ui0000644000175000017500000000604012266512174016252 0ustar philipphilip miscDialog 0 0 400 300 Misc Database Qt::Horizontal 40 20 0 0 Add selected ingredient to recipe Add to Recipe false true Create a new ingredient New false Edit selected ingredient :/images/edit.svg:/images/edit.svg false Remove selected ingredient :/images/smallMinus.svg:/images/smallMinus.svg false brewtarget-2.0.2/ui/brewDayWidget.ui0000644000175000017500000003246512266512174016752 0ustar philipphilip brewDayWidget 0 0 981 712 Brewday Mode 0 0 0 0 Instructions 0 0 200 16777215 0 Qt::Horizontal 0 0 Move currently selected step up Up Qt::Horizontal 0 0 10 Qt::Horizontal 0 0 Move currently selected step down Down Qt::Horizontal 0 0 10 Qt::Horizontal 0 0 Remove currently selected step Remove Qt::Horizontal 0 0 Qt::Vertical 20 40 0 0 Insert step 2 0 0 Name 0 0 32 0 100 16777215 Name of new step Step # 0 0 32 0 24 16777215 The number where the new step should be placed 10 Qt::Horizontal 0 0 Insert the new step Insert Qt::Horizontal 0 0 Qt::Vertical 0 0 0 0 0 0 brewtarget-2.0.2/ui/pitchDialog.ui0000644000175000017500000002643012266512174016433 0ustar philipphilip pitchDialog 0 0 668 288 Pitch Rate Calculator Input QFormLayout::ExpandingFieldsGrow Qt::AlignRight|Qt::AlignTop|Qt::AlignTrailing Wort Volume 0 0 100 0 OG 0 0 100 0 Qt::Horizontal QFormLayout::AllNonFixedFieldsGrow Qt::AlignRight|Qt::AlignTop|Qt::AlignTrailing For ales, 0.75-1. For lagers, 1.5-2. Pitch Rate (M cells)/(mL*P) Aeration Method Yeast Production Date Yeast Viability false false None O2 At Start Stir Plate QDateTimeEdit::MonthSection MM/dd/yyyy true 0 false false 1 100 0 0 % 64 0 100 Qt::Horizontal TextLabel Calculate Viability From Date true # Vials/Smack Packs Pitched 1 5 Output QFormLayout::AllNonFixedFieldsGrow Qt::AlignRight|Qt::AlignTop|Qt::AlignTrailing Billions of Yeast Cells Required 100 0 true # Vials/Smack Packs w/o Starter 100 0 true Dry Yeast 100 0 true Starter Volume 100 0 true lineEdit_vol lineEdit_OG slider_pitchRate spinBox_VialsPitched comboBox_AerationMethod dateEdit_ProductionDate spinBox_Viability checkBox_CalculateViability lineEdit_cells lineEdit_vials lineEdit_yeast lineEdit_starterVol brewtarget-2.0.2/ui/instructionWidget.ui0000644000175000017500000000461712266512174017734 0ustar philipphilip instructionWidget 0 0 215 100 0 0 215 0 Form 1 0 0 0 100 100 500 16777215 Show a timer Show timer Mark this step completed Step completed Qt::Vertical 20 40 brewtarget-2.0.2/ui/mashWizard.ui0000644000175000017500000000526312266512174016316 0ustar philipphilip mashWizard 0 0 257 88 Mash Wizard 0 0 Mash thickness (L/kg) 100 0 100 0 100 16777215 Mash thickness (do not enter any units) Qt::Horizontal QDialogButtonBox::Cancel|QDialogButtonBox::Ok lineEdit_mashThickness buttonBox buttonBox accepted() mashWizard accept() 248 254 157 274 buttonBox rejected() mashWizard reject() 316 260 286 274 brewtarget-2.0.2/ui/scaleRecipeTool.ui0000644000175000017500000000635512266512174017265 0ustar philipphilip scaleRecipeTool 0 0 238 114 Scale Recipe New batch size 100 0 New batch size New efficiency (pct) Qt::Vertical 20 40 0 0 Qt::Vertical QDialogButtonBox::Cancel|QDialogButtonBox::Ok Qt::Vertical 10 0 buttonBox accepted() scaleRecipeTool accept() 248 254 157 274 buttonBox rejected() scaleRecipeTool reject() 316 260 286 274 brewtarget-2.0.2/ui/equipmentEditor.ui0000644000175000017500000007474612266512174017377 0ustar philipphilip equipmentEditor 0 0 571 507 Equipment Editor 0 0 Equipment 200 0 QComboBox::AdjustToContents Remove equipment :/images/smallMinus.svg:/images/smallMinus.svg false Qt::Horizontal 40 20 Set as Default Required Fields 1 0 0 Name 100 0 100 0 100 16777215 Name 0 0 Pre-boil volume 100 0 100 0 100 16777215 Pre-boil volume 0 0 If checked, we will calculate your pre-boil volume based on your desired batch size, boil time, evaporation rate, losses, etc. Calculate pre-boil volume Automatically fill in pre-boil volume 0 0 Batch size 100 0 100 0 100 16777215 Batch size Boiling && Water 1 0 0 Boil time 100 0 100 0 100 16777215 Boil time 0 0 Evaporation rate (per hr) 100 0 100 0 100 16777215 How much water boils off per hour 0 0 Kettle top-up water 100 0 100 0 100 16777215 How much water is added to kettle immediately pre-boil 0 0 Final top-up water 100 0 100 0 100 16777215 Water added to fermenter Grain Absorption (L/kg) 0 0 100 16777215 Default Absorption Boiling Point of Water 0 0 100 16777215 Hop Utilization 0 0 100 16777215 Qt::Vertical 20 40 Mash Tun 0 0 Volume 100 0 100 0 100 16777215 Volume of mash tun 0 0 Mass 100 0 100 0 100 16777215 Mass or weight of mash tun 0 0 Specific heat (cal/(g*K)) 100 0 100 0 100 16777215 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Specific heat is a property that depends only on the material the tun is made of. The specific heats of some common materials are listed below.</p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> <table> <tr> <td>Aluminum</td> <td>- 0.215</td></tr> <tr> <td>Brass</td> <td>- 0.092</td></tr> <tr> <td>Copper</td> <td>- 0.092</td></tr> <tr> <td>Plastic</td> <td>- 0.359</td></tr> <tr> <td>Steel</td> <td>- 0.120</td></tr> </table> </body></html> Losses 1 QFormLayout::ExpandingFieldsGrow 0 0 Kettle to fermenter 100 0 100 0 100 16777215 Wort lost between kettle and fermenter 0 0 Lauter deadspace 100 0 100 0 100 16777215 Volume of wort lost to lauter deadspace Notes Qt::Vertical 20 40 Qt::Horizontal 40 20 New equipment :/images/smallPlus.svg:/images/smallPlus.svg false Save :/images/filesave.svg:/images/filesave.svg false true Cancel :/images/exit.svg:/images/exit.svg false brewtarget-2.0.2/ui/yeastEditor.ui0000644000175000017500000004516212266512174016503 0ustar philipphilip yeastEditor 0 0 466 343 Yeast Editor 0 Required Fields 0 2 Name 0 0 100 16777215 Name 0 0 Type Type Ale Lager Wheat Wine Champagne 0 0 Form Form Liquid Dry Slant Culture Amount 0 0 100 16777215 Amount 0 0 Check it if the amount given is in kg instead of L. Amount is weight? 0 0 Checked if the given amount is weight instead of volume Qt::Vertical QSizePolicy::Preferred 20 10 Lab 0 0 100 16777215 Lab Product ID 0 0 100 16777215 Product ID Min Temp 0 0 100 16777215 Min temp Max Temp 0 0 100 16777215 Max temp Qt::Vertical 20 40 0 0 0 Flocculation Flocculation Low Medium High Very High Attenuation (%) 0 0 100 16777215 Apparent attenuation as percentage of OG points Times Recultured 0 0 100 16777215 Times this yeast has been recultured Max Recultures 0 0 100 16777215 Max recultures 0 0 Add to Secondary 0 0 Checked means add this yeast to secondary instead of primary Best For: 0 0 1000 100 Notes: 0 0 1000 100 Qt::Vertical QSizePolicy::MinimumExpanding 20 20 Qt::Horizontal QDialogButtonBox::Cancel|QDialogButtonBox::Ok buttonBox accepted() yeastEditor accept() 248 254 157 274 buttonBox rejected() yeastEditor reject() 316 260 286 274 brewtarget-2.0.2/ui/optionsDialog.ui0000644000175000017500000004050512266512174017016 0ustar philipphilip optionsDialog 0 0 533 283 Options 3 Units Weight Use SI units Use US traditional units Use British imperial units Temperature Celsius Fahrenheit Volume Use SI units Use US traditional units Use British imperial units 0 0 Gravity 20C/20C Specific Gravity Plato/Brix/Balling Qt::Vertical 20 40 Color Use SRM Use EBC Formulas 0 0 Color Mosher's approximation Daniels' approximation Morey's approximation Qt::Vertical 20 40 0 0 IBU Tinseth's approximation Rager's approximation IBU Adjustments % IBU adjustment % IBU adjustment Mash Hop First Wort Qt::Vertical 20 40 Qt::Horizontal 40 20 Directories Database Directory Where your brewtarget .xml files are. true Browse Default Qt::Horizontal 40 20 Qt::Vertical 20 173 Language QComboBox::AdjustToContents 200 0 <qt> <b>Know another language?</b> <br><br> Or, would you like to improve a translation? Help us out and <a href="https://sourceforge.net/sendmessage.php?touser=938941"> provide a translation</a> so that your friends can use brewtarget! </qt> true Qt::Horizontal 300 20 Qt::Horizontal QDialogButtonBox::Cancel|QDialogButtonBox::Ok tabWidget weight_si weight_us weight_imperial celsius fahrenheit volume_si volume_us volume_imperial radioButton_sg radioButton_plato radioButton_srm radioButton_ebc checkBox_mosher checkBox_daniel checkBox_morey checkBox_tinseth checkBox_rager lineEdit_dbDir pushButton_dbDirBrowse pushButton_dbDirDefault buttonBox buttonBox accepted() optionsDialog accept() 257 426 157 274 buttonBox rejected() optionsDialog reject() 325 426 286 274 brewtarget-2.0.2/ui/brewNoteWidget.ui0000644000175000017500000006362512266512174017144 0ustar philipphilip brewNoteWidget 0 0 636 448 Form QFrame::Panel true 0 0 626 438 0 0 252 0 252 16777215 0 0 0 242 340 Preboil Qt::CustomContextMenu SG Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter sg 0 0 100 0 100 16777215 Preboil gravity Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter Qt::CustomContextMenu Volume Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter volumeIntoBK_l 0 0 100 0 100 16777215 Volume of wort collected Qt::CustomContextMenu Strike Temp Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter strikeTemp_c 0 0 100 0 100 16777215 Temperature of mash after dough in Qt::CustomContextMenu Final Temp Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter mashFinTemp_c 0 0 100 0 100 16777215 Temperature of mash before mash out 0 0 242 340 Postboil Qt::CustomContextMenu OG Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter og 0 0 100 0 100 16777215 Post boil gravity Qt::CustomContextMenu Postboil Volume false Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter true postBoilVolume_l 0 0 100 0 100 16777215 Volume of wort in BK after boil Qt::CustomContextMenu Volume of wort transferred to fermenter Volume into fermenter Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter true volumeIntoFerm_l 0 0 100 0 100 16777215 Qt::CustomContextMenu Pitch Temp Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter true pitchTemp_c 0 0 100 0 100 16777215 Temperature of wort when yeast is pitched 0 0 242 340 Postferment Qt::CustomContextMenu FG fg 0 0 100 0 100 16777215 Final gravity Qt::CustomContextMenu Volume finalVolume_l 0 0 100 0 100 16777215 Volume of beer into serving keg/bottles Date 0 0 100 0 100 16777215 Date when the yeast fermented out QFormLayout::ExpandingFieldsGrow percent efficiency into boil kettle Eff into BK Qt::CustomContextMenu Expected OG, based on measure fg Projected OG projOg Brewhouse efficiency Brewhouse Eff Expected ABV based on OG Projected ABV ABV based on FG ABV Notes 0 0 false BtDigitWidget QLabel
BtDigitWidget.h
BtVolumeLabel QLabel
BtLabel.h
BtGravityLabel QLabel
BtLabel.h
BtTemperatureLabel QLabel
BtLabel.h
BtTextEdit QPlainTextEdit
BtTextEdit.h
10 10 true true true
brewtarget-2.0.2/ui/yeastDialog.ui0000644000175000017500000000547612266512174016460 0ustar philipphilip yeastDialog 0 0 400 300 Yeast Database Qt::Horizontal 40 20 Add selected yeast to recipe Add to Recipe false true Create new yeast New false Edit selected yeast :/images/edit.svg:/images/edit.svg false Remove selected yeast :/images/smallMinus.svg:/images/smallMinus.svg false brewtarget-2.0.2/ui/primingDialog.ui0000644000175000017500000001500112266512174016761 0ustar philipphilip primingDialog 0 0 443 250 Priming Calculator Input Collected Beer Volume 40 0 80 16777215 Amount of beer to prime Beer Temperature 40 0 80 16777215 Temp of the beer Desired Volumes 40 0 80 16777215 How many volumes of CO2 you want (1 L CO2 @ STP per L beer) Glucose Monohydrate (corn sugar) Anhydrous Glucose Sucrose (table sugar) Dry Malt Extract Qt::Vertical 20 40 Output Prime with 80 0 120 16777215 How much priming ingredient to use true Calculate Calculate false true Qt::Vertical 20 40 lineEdit_beerVol lineEdit_temp lineEdit_vols checkBox_glucMono checkBox_gluc checkBox_sucrose checkBox_dme lineEdit_output pushButton_calculate brewtarget-2.0.2/ui/htmlViewer.ui0000644000175000017500000000144712266512174016333 0ustar philipphilip htmlViewer 0 0 400 300 Html Viewer about:blank QWebView QWidget
QtWebKit/QWebView
brewtarget-2.0.2/ui/fermentableDialog.ui0000644000175000017500000000555212266512174017612 0ustar philipphilip fermentableDialog 0 0 400 300 Fermentable Database Qt::Horizontal 40 20 Add selected ingredient to recipe Add to Recipe false true Create new ingredient New false Edit selected ingredient :/images/edit.svg:/images/edit.svg false Remove selected ingredient :/images/smallMinus.svg:/images/smallMinus.svg false brewtarget-2.0.2/ui/converterTool.ui0000644000175000017500000000761612266512174017056 0ustar philipphilip converterTool 0 0 279 96 Converter Tool QFormLayout::ExpandingFieldsGrow Input 100 0 128 16777215 Amount and units to convert Output Units 40 0 40 16777215 Unit you want to convert to Output 100 0 128 16777215 Output conversion true Qt::Vertical 20 40 Convert false true Qt::Vertical 20 40 brewtarget-2.0.2/ui/btSplashScreen.ui0000644000175000017500000000454512266512174017127 0ustar philipphilip btSplashScreen 0 0 108 140 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 Form :/images/brewtarget_icon.svg brewtarget-2.0.2/ui/ogAdjuster.ui0000644000175000017500000003755712266512174016327 0ustar philipphilip ogAdjuster 0 0 601 179 Adjust Volume to Hit OG Input 0 0 SG 0 0 100 0 100 16777215 Measured gravity pre-boil 0 0 Temp 0 0 100 0 100 16777215 Temperature of SG reading Calibration Temp 0 0 50 16777215 Temp to which the hydrometer is calibrated Qt::Vertical 20 40 -or- Qt::Vertical 20 40 Qt::Vertical 20 40 0 0 Plato 0 0 100 0 100 16777215 Plato (percent by mass of equivalent sucrose) Qt::Vertical 20 40 Qt::Horizontal 40 20 Pre-Boil Volume 0 0 100 0 100 16777215 Measured pre-boil volume Output 0 0 OG w/o Correction 0 0 100 0 100 16777215 OG if you boil as planned true 0 0 Add to Boil 0 0 100 0 100 16777215 Amount of water you need to add to hit planned OG (or boil off if negative) true 0 0 Final Batch Size 0 0 100 0 100 16777215 Estimated batch size after correction true Qt::Vertical 20 40 Qt::Horizontal 40 20 Calculate Calculate false true Qt::Horizontal 40 20 brewtarget-2.0.2/ui/fermentableEditor.ui0000644000175000017500000004463512266512174017646 0ustar philipphilip fermentableEditor 0 0 505 326 Fermentable Editor 0 Required Fields 0 2 2 Name 0 0 100 16777215 Name Type Type Grain Sugar Extract Dry Extract Adjunct Amount 0 0 100 16777215 Amount Yield (%) 0 0 100 16777215 Yield as compared to glucose Lovibond 0 0 100 16777215 Lovibond rating Qt::Vertical QSizePolicy::Fixed 20 10 0 0 Add After Boil 0 0 This ingredient is added post boil. Origin 0 0 100 16777215 Origin Supplier 0 0 100 16777215 Supplier Coarse/Fine Diff (%) 0 0 100 16777215 Yield difference between coarse and fine grind Qt::Vertical QSizePolicy::MinimumExpanding 20 20 0 Moisture (%) 0 0 100 16777215 Moisture percentage by mass DP (Lintner) 0 0 100 16777215 Diastatic power in Lintner Protein (%) 0 0 100 16777215 Protein percentage by mass Max In Batch (%) 0 0 100 16777215 Maximum recommended percentage of total grist 0 0 Recommend Mash Recommend this be mashed 0 0 Is Mashed Checked if it is present in mash Bitterness (IBU*gal/lb) 0 0 100 16777215 Bitterness of pre-hopped extracts Notes: 1000 100 Qt::Vertical QSizePolicy::Preferred 20 20 Qt::Horizontal QDialogButtonBox::Cancel|QDialogButtonBox::Ok buttonBox accepted() fermentableEditor accept() 248 254 157 274 buttonBox rejected() fermentableEditor reject() 316 260 286 274 brewtarget-2.0.2/ui/miscEditor.ui0000644000175000017500000002703512266512174016310 0ustar philipphilip miscEditor 0 0 378 196 Misc Editor 6 0 QLayout::SetMaximumSize 0 0 0 Name Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter 100 0 100 0 100 16777215 Name 6 0 0 Type Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter Type Spice Fining Water Agent Herb Flavor Other 0 0 Use Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter Use Boil Mash Primary Secondary Bottling 0 0 Time Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter 100 0 100 0 100 16777215 Time 6 0 0 Amount 100 0 100 0 100 16777215 Amount 0 0 Check it if the amount listed is in kg instead of L. Amount is weight? 0 0 Checked if the given amount is weight instead of volume 2 QLayout::SetFixedSize Use for: 200 50 1000 50 Notes: 200 50 200 50 1000 1000 Qt::Horizontal QDialogButtonBox::Cancel|QDialogButtonBox::Ok buttonBox accepted() miscEditor accept() 248 254 157 274 buttonBox rejected() miscEditor reject() 316 260 286 274 brewtarget-2.0.2/ui/mashEditor.ui0000644000175000017500000002762212266512174016307 0ustar philipphilip mashEditor 0 0 445 232 Mash Editor 2 0 0 Name 0 0 100 16777215 Name 0 0 Initial grain temp 0 0 100 16777215 Initial grain temp 0 0 Sparge temp 0 0 100 16777215 Sparge temp target 0 0 Sparge pH 0 0 100 16777215 Sparge pH 0 0 0 100 Notes Qt::Vertical 20 40 2 Tun 2 0 0 Initial tun temp 0 0 100 16777215 Initial tun temp 0 0 Get following parameters from the recipe's equipment. From Equipment false 0 0 Tun mass 0 0 100 16777215 Tun mass 0 0 Tun sp. heat 0 0 100 16777215 Tun specific heat (cal/(g*K)) Qt::Vertical 20 40 Qt::Horizontal QDialogButtonBox::Cancel|QDialogButtonBox::Ok buttonBox accepted() mashEditor accept() 248 254 157 274 buttonBox rejected() mashEditor reject() 316 260 286 274 brewtarget-2.0.2/ui/hopDialog.ui0000644000175000017500000000542412266512174016112 0ustar philipphilip hopDialog 0 0 400 300 Hop Database Qt::Horizontal 40 20 Add selected ingredient to recipe Add to Recipe false true New hop New false Edit :/images/edit.svg:/images/edit.svg false Remove :/images/smallMinus.svg:/images/smallMinus.svg false brewtarget-2.0.2/ui/namedMashEditor.ui0000644000175000017500000004227712266512174017257 0ustar philipphilip namedMashEditor 0 0 689 505 Named Mash Editor Mash 140 0 QComboBox::AdjustToContents Delete selected style :/images/smallMinus.svg:/images/smallMinus.svg false Qt::Horizontal 40 20 2 0 0 Name 0 0 100 16777215 Name 0 0 Initial grain temp 0 0 100 16777215 Initial grain temp 0 0 Sparge temp 0 0 100 16777215 Sparge temp target 0 0 Sparge pH 0 0 100 16777215 Sparge pH 0 0 0 100 Notes 2 Tun 2 0 0 Initial tun temp 0 0 100 16777215 Initial tun temp From Equipment 0 0 30 16777215 Qt::Horizontal 40 20 0 0 Tun mass 0 0 100 16777215 Tun mass 0 0 Tun sp. heat 0 0 100 16777215 Tun specific heat (cal/(g*K)) Qt::Vertical 20 40 Qt::CustomContextMenu Add mash step :/images/smallPlus.svg:/images/smallPlus.svg Remove selected mash step :/images/smallMinus.svg:/images/smallMinus.svg Mash step up :/images/smallUpArrow.svg:/images/smallUpArrow.svg Mash step down :/images/smallDownArrow.svg:/images/smallDownArrow.svg Qt::Vertical 20 40 Qt::Horizontal 40 20 :/images/filesave.svg:/images/filesave.svg :/images/exit.svg:/images/exit.svg CustomComboBox QComboBox
CustomComboBox.h
brewtarget-2.0.2/ui/timerListDialog.ui0000644000175000017500000000103312266512174017270 0ustar philipphilip timerListDialog 0 0 22 30 Timers brewtarget-2.0.2/ui/mashStepEditor.ui0000644000175000017500000003105112266512174017132 0ustar philipphilip mashStepEditor 0 0 433 182 Mash Step Editor 2 0 0 Name 100 0 100 0 100 16777215 Name 0 0 Type Type Infusion Temperature Decoction 0 0 Target temp. 100 0 100 0 100 16777215 Target temp. of this step 0 0 Infuse Amount 100 0 100 0 100 16777215 Amount of water to infuse 0 0 Infuse temp. 100 0 100 16777215 Temperature of infusion water 2 0 0 Decoction Amount 100 0 100 0 100 16777215 Amount of mash to decoct 0 0 Time 100 0 100 0 100 16777215 Time to conduct the step 0 0 Temp. lag time 100 0 100 0 100 16777215 Lag time 0 0 End temp. 100 0 100 0 100 16777215 Final temp. of this step Qt::Horizontal QDialogButtonBox::Cancel|QDialogButtonBox::Ok buttonBox accepted() mashStepEditor accept() 248 254 157 274 buttonBox rejected() mashStepEditor reject() 316 260 286 274 brewtarget-2.0.2/ui/timerWidget.ui0000644000175000017500000001454312266512174016472 0ustar philipphilip timerWidget 0 0 202 125 0 0 300 16777215 Form QFrame::StyledPanel QFrame::Raised 0 Qt::Horizontal 40 20 0 0 Set the timer to the specified value Set true false HH:MM:SS Qt::Horizontal 40 20 Qt::Horizontal QSizePolicy::Ignored 17 20 0 0 170 40 QFrame::WinPanel QFrame::Raised 8 QLCDNumber::Flat Qt::Horizontal QSizePolicy::Ignored 17 20 Qt::Horizontal 40 20 0 0 Start/Stop timer Start 0 0 Set a sound as the alarm Sound Qt::Horizontal 40 20 brewtarget-2.0.2/ui/hopEditor.ui0000644000175000017500000005535212266512174016146 0ustar philipphilip hopEditor 0 0 470 407 0 0 Hop Editor 0 Required Fields 0 QLayout::SetMinimumSize 2 0 2 3 0 QLayout::SetNoConstraint 0 0 0 Name 100 0 100 0 100 16777215 Name 0 0 Alpha (%) 100 0 100 0 100 16777215 Alpha acids as percent by mass 0 0 Amount 100 0 100 0 100 16777215 Amount 0 0 Use Use Mash First Wort Boil Aroma Dry Hop 0 0 Time 100 0 100 0 100 16777215 Time 0 0 Type Type Bittering Aroma Both 0 0 Form Form Leaf Pellet Plug 0 0 Beta (%) 100 0 100 0 100 16777215 Beta acids as percent by mass 0 0 HSI 100 0 100 0 100 16777215 Hop Stability/Storage index 0 0 Origin 100 0 100 0 100 16777215 Origin Qt::Vertical QSizePolicy::Expanding 20 20 0 0 0 Humulene (%) 100 0 100 0 100 16777215 Humulene 0 0 Caryophyllene (%) 100 0 100 0 100 16777215 Caryophyllene 0 0 Cohumulone (%) 100 0 100 0 100 16777215 Cohumulone 0 0 Myrcene (%) 100 0 100 0 100 16777215 Myrcene Substitutes: 0 0 0 0 1000 100 Notes: 0 0 100 100 1000 100 Qt::Vertical QSizePolicy::MinimumExpanding 20 10 Qt::Horizontal QDialogButtonBox::Cancel|QDialogButtonBox::Ok buttonBox accepted() hopEditor accept() 248 254 157 274 buttonBox rejected() hopEditor reject() 316 260 286 274 brewtarget-2.0.2/ui/recipeExtrasDialog.ui0000644000175000017500000003006512266512174017761 0ustar philipphilip recipeExtrasDialog 0 0 530 414 Recipe Extras QFormLayout::ExpandingFieldsGrow Brewer 64 0 256 16777215 Asst. Brewer Taste Rating 256 16777215 QAbstractSpinBox::UpDownArrows 50 64 0 256 16777215 Primary Age (days) 64 0 256 16777215 Primary Temp 64 0 256 16777215 Secondary Age (days) 64 0 256 16777215 Secondary Temp 64 0 256 16777215 Tertiary Age (days) 64 0 256 16777215 Tertiary Temp 64 0 256 16777215 Bottle/Keg Age (days) 64 0 256 16777215 Bottle/Keg Temp 64 0 256 16777215 Date First Brewed 256 16777215 dd MMM yyyy Carbonation Volumes 64 0 256 16777215 Taste Notes 256 0 Notes 256 0 Qt::Horizontal 40 20 :/images/filesave.svg:/images/filesave.svg Cancel BtTextEdit QPlainTextEdit
BtTextEdit.h
lineEdit_brewer lineEdit_asstBrewer spinBox_tasteRating lineEdit_primaryAge lineEdit_primaryTemp lineEdit_secAge lineEdit_secTemp lineEdit_tertAge lineEdit_tertTemp lineEdit_age lineEdit_ageTemp dateEdit_date lineEdit_carbVols btTextEdit_tasteNotes btTextEdit_notes pushButton_save pushButton_cancel
brewtarget-2.0.2/ui/mainWindow.ui0000644000175000017500000031363112266512174016322 0ustar philipphilip mainWindow 0 0 1048 829 0 0 0 0 true Brewtarget - $VERSIONSTRING :/images/brewtarget_icon.svg:/images/brewtarget_icon.svg Qt::Horizontal 0 0 :/images/title.png 0 0 QTabWidget::West 0 16 16 Recipes :/images/brewtarget_icon.svg:/images/brewtarget_icon.svg Recipes Styles :/images/smallStyle.svg:/images/smallStyle.svg :/images/smallKettle.svg:/images/smallKettle.svg :/images/smallBarley.svg:/images/smallBarley.svg Fermentables :/images/smallHop.svg:/images/smallHop.svg Hops :/images/smallQuestion.svg:/images/smallQuestion.svg Miscs :/images/smallYeast.svg:/images/smallYeast.svg Yeasts true Qt::Vertical true 0 0 644 403 0 Recipe 0 0 Name 0 0 100 0 360 16777215 Name of recipe Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter 5 gal volume 0 0 100 0 100 16777215 Target boil size Qt::AlignJustify|Qt::AlignVCenter volume 0 0 Efficiency (%) 0 0 Qt::CustomContextMenu Calculated Boil Size boilVolume_l 0 0 Qt::CustomContextMenu Calculated Batch Size finalVolume_l 0 0 100 0 100 16777215 The extraction efficiency you expect Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter 5 gal volume 0 0 Style 0 0 Boil Time 0 0 100 0 100 16777215 Target batch size Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter 0 0 100 0 100 16777215 Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter 0 0 Qt::CustomContextMenu Target Batch Size batchSize_l 0 0 Equipment 0 0 Qt::CustomContextMenu Target Boil Size boilSize_l 0 0 0 16777215 16777215 0 0 30 16777215 0 0 0 0 360 16777215 0 0 30 16777215 Qt::Vertical 20 40 Qt::Vertical 1 QLayout::SetDefaultConstraint 4 5 Qt::CustomContextMenu OG og 0 0 DejaVu Sans Mono 75 true Qt::AlignCenter 0 0 70 30 DejaVu Sans Mono 12 75 true QFrame::Box QFrame::Raised Qt::AlignCenter gravity 0 0 DejaVu Sans Mono 75 true Qt::AlignCenter Qt::CustomContextMenu Boil SG boilGrav 0 20 70 30 DejaVu Sans Mono 12 75 true QFrame::Box QFrame::Raised Qt::AlignCenter gravity Qt::CustomContextMenu FG fg 0 0 DejaVu Sans Mono 75 true Qt::AlignCenter 0 20 70 30 DejaVu Sans Mono 12 75 true QFrame::Box QFrame::Raised Qt::AlignCenter gravity 0 0 0 128 0 0 128 0 0 128 0 0 128 0 0 128 0 0 128 0 0 128 0 0 128 0 0 128 0 DejaVu Sans Mono 75 true Qt::AlignCenter ABV 0 0 DejaVu Sans Mono 75 true Qt::AlignCenter 0 20 70 30 DejaVu Sans Mono 12 75 true QFrame::Box QFrame::Raised Qt::AlignCenter alcohol 0 0 DejaVu Sans Mono 75 true Qt::AlignCenter Bitterness (IBU) 0 0 DejaVu Sans Mono 75 true Qt::AlignCenter 0 20 70 30 DejaVu Sans Mono 12 75 true QFrame::Box QFrame::Raised Qt::AlignCenter 0 0 DejaVu Sans Mono 75 true Qt::AlignCenter Qt::CustomContextMenu Color color_srm 0 0 DejaVu Sans Mono 75 true Qt::AlignCenter 0 20 70 30 DejaVu Sans Mono 12 75 true QFrame::Box QFrame::Raised Qt::AlignCenter 0 0 DejaVu Sans Mono 75 true Qt::AlignCenter IBU/GU 0 20 70 30 DejaVu Sans Mono 12 75 true QFrame::Box QFrame::Raised Qt::AlignCenter Calories/12oz 0 20 70 30 DejaVu Sans Mono [unknown] 12 QFrame::Box QFrame::Raised Qt::AlignCenter Qt::Vertical 214 13 Qt::Vertical QLayout::SetNoConstraint 0 0 0 0 0 QFrame::StyledPanel QFrame::Raised Qt::Vertical 20 40 Qt::Horizontal 181 20 Extras Brewday true 0 0 644 334 0 0 0 200 Qt::CustomContextMenu 0 Fermentables Qt::CustomContextMenu 1 Add a fermentable :/images/smallPlus.svg:/images/smallPlus.svg Remove selected fermentable :/images/smallMinus.svg:/images/smallMinus.svg Edit selected fermentable :/images/edit.svg:/images/edit.svg Qt::Vertical 20 40 Hops 1 Add hop :/images/smallPlus.svg:/images/smallPlus.svg Remove selected hop :/images/smallMinus.svg:/images/smallMinus.svg Edit selected hop :/images/edit.svg:/images/edit.svg Qt::Vertical 20 40 Miscellaneous Qt::CustomContextMenu 1 Add misc :/images/smallPlus.svg:/images/smallPlus.svg Remove selected misc :/images/smallMinus.svg:/images/smallMinus.svg Edit selected misc :/images/edit.svg:/images/edit.svg Qt::Vertical 20 40 Yeast Qt::CustomContextMenu 1 Add yeast :/images/smallPlus.svg:/images/smallPlus.svg Remove selected yeast :/images/smallMinus.svg:/images/smallMinus.svg Edit selected yeast :/images/edit.svg:/images/edit.svg Qt::Vertical 20 40 Mash Qt::CustomContextMenu 1 Add mash step :/images/smallPlus.svg:/images/smallPlus.svg Remove selected mash step :/images/smallMinus.svg:/images/smallMinus.svg Edit selected mash step :/images/edit.svg:/images/edit.svg Edit mash properties Edit mash Mash Des Invoke the mash wizard Mash wiz Qt::Vertical 20 40 0 0 0 Mashs 0 0 30 16777215 Qt::Horizontal 40 20 :/images/smallMinus.svg:/images/smallMinus.svg Mash step up :/images/smallUpArrow.svg:/images/smallUpArrow.svg Mash step down :/images/smallDownArrow.svg:/images/smallDownArrow.svg Save this mash profile Save Mash 0 0 1048 20 &About &File &Brewday &Recipe &Database :/images/server-database.png:/images/server-database.png &View &Tools toolBar TopToolBarArea false :/images/smallInfo.svg:/images/smallInfo.svg About &BrewTarget About Brewtarget :/images/smallOutArrow.svg:/images/smallOutArrow.svg &Export Recipe :/images/smallBarley.svg:/images/smallBarley.svg &Fermentables Ctrl+F :/images/smallHop.svg:/images/smallHop.svg &Hops Ctrl+H :/images/smallQuestion.svg:/images/smallQuestion.svg &Miscs Ctrl+M :/images/smallYeast.svg:/images/smallYeast.svg &Yeasts Ctrl+Y :/images/smallKettle.svg:/images/smallKettle.svg &Equipments Ctrl+E :/images/smallStyle.svg:/images/smallStyle.svg &Styles Ctrl+T :/images/exit.svg:/images/exit.svg &Exit Ctrl+Q :/images/smallArrow.svg:/images/smallArrow.svg &Import Recipes :/images/preferences-other.png:/images/preferences-other.png &Options :/images/help-contents.png:/images/help-contents.png &Manual :/images/kbruch.png:/images/kbruch.png &Scale Recipe :/images/clipboard.svg:/images/clipboard.svg Recipe to Clipboard as &Text :/images/hydrometer.svg:/images/hydrometer.svg &OG Correction Help :/images/convert.svg:/images/convert.svg &Convert Units Backup Database Restore Database :/images/edit-copy.png:/images/edit-copy.png &Copy Recipe :/images/bubbles.svg:/images/bubbles.svg Pr&iming Calculator :/images/refractometer.svg:/images/refractometer.svg &Refractometer Tools :/images/yeastVial.svg:/images/yeastVial.svg &Pitch Rate Calculator Brewday Recipe Brewday Recipe Brewday Recipe Merge Databases Select another database to merge into the current one. :/images/printer.png:/images/printer.png &Print :/images/document-print-preview.png:/images/document-print-preview.png Print Pre&view :/images/document-export.png:/images/document-export.png &Export To HTML :/images/document-print-preview.png:/images/document-print-preview.png Print Pre&view :/images/printer.png:/images/printer.png &Print :/images/document-export.png:/images/document-export.png &Export to HTML :/images/backup.png:/images/backup.png &Backup Save all recipes, ingredients, etc. to a backup folder :/images/restore.svg:/images/restore.svg &Restore Restore recipes, ingredients, etc. from a previous backup :/images/merge.png:/images/merge.png &Merge Merge another set of recipes, ingredients, etc. into the current set :/images/smallPlus.svg:/images/smallPlus.svg &New Recipe :/images/clock.svg:/images/clock.svg Timers Show timers :/images/filesave.svg:/images/filesave.svg Save Save :/images/smallMinus.svg:/images/smallMinus.svg Delete selected Delete recipe :/images/donate.svg:/images/donate.svg Donate :/images/mashpaddle.svg :/images/bubbles.svg:/images/mashpaddle.svg &Mashs Mashes BeerColorWidget QWidget
BeerColorWidget.h
BrewDayScrollWidget QWidget
BrewDayScrollWidget.h
RecipeExtrasWidget QWidget
RecipeExtrasWidget.h
BtDigitWidget QLabel
BtDigitWidget.h
BtVolumeLabel QLabel
BtLabel.h
BtGravityLabel QLabel
BtLabel.h
CustomComboBox QComboBox
CustomComboBox.h
EquipmentButton QPushButton
EquipmentButton.h
RecipeTreeView QTreeView
BrewTargetTreeView.h
EquipmentTreeView QTreeView
BrewTargetTreeView.h
FermentableTreeView QTreeView
BrewTargetTreeView.h
HopTreeView QTreeView
BrewTargetTreeView.h
MiscTreeView QTreeView
BrewTargetTreeView.h
YeastTreeView QTreeView
BrewTargetTreeView.h
BtColorLabel QLabel
BtLabel.h
StyleButton QPushButton
StyleButton.h
MashButton QPushButton
MashButton.h
StyleTreeView QTreeView
BrewTargetTreeView.h
tabWidget_Trees treeView_recipe treeView_style treeView_equip treeView_ferm treeView_hops treeView_misc treeView_yeast scrollArea_2 tabWidget_recipeView lineEdit_name styleButton styleComboBox equipmentButton equipmentComboBox lineEdit_batchSize lineEdit_boilSize lineEdit_efficiency lineEdit_boilTime scrollArea tabWidget fermentableTable pushButton_addFerm pushButton_removeFerm pushButton_editFerm hopTable pushButton_addHop pushButton_removeHop pushButton_editHop miscTable pushButton_addMisc pushButton_removeMisc pushButton_editMisc yeastTable pushButton_addYeast pushButton_removeYeast pushButton_editYeast mashStepTableWidget pushButton_addMashStep pushButton_removeMashStep pushButton_editMashStep pushButton_editMash pushButton_mashDes pushButton_mashWizard mashButton mashComboBox pushButton_mashRemove pushButton_mashUp pushButton_mashDown pushButton_saveMash
brewtarget-2.0.2/ui/mashDesigner.ui0000644000175000017500000003417612266512175016624 0ustar philipphilip mashDesigner 0 0 594 273 Mash Designer QLayout::SetNoConstraint QFormLayout::FieldsStayAtSizeHint Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop Name 150 16777215 Type Infusion Temperature Decoction Target temp. 150 16777215 Time 150 16777215 Batch Sparge 100 16777215 Next Finish 0 0 Infusion/Decoction Amount min 0 0 200 0 200 Qt::Horizontal max 0 Qt::AlignCenter 0 0 Infusion Temp min 0 0 200 0 200 Qt::Horizontal max 0 Qt::AlignCenter Total Collected Wort 0 Qt::Horizontal 0 0 0 Qt::Horizontal 0 0 vol 0 0 0 Tun Fullness Qt::AlignCenter tunVol Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter 0 0 0 Qt::AlignCenter Qt::Vertical QProgressBar::BottomToTop 0 Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter Qt::Vertical 0 0 0 0 vol thickness Qt::Vertical 0 0 lineEdit_name comboBox_type checkBox_batchSparge lineEdit_temp lineEdit_time horizontalSlider_amount horizontalSlider_temp pushButton_next pushButton_finish brewtarget-2.0.2/ui/recipeExtrasWidget.ui0000644000175000017500000003621712266512175020013 0ustar philipphilip recipeExtrasWidget 0 0 612 372 Form true 0 0 598 358 QFormLayout::ExpandingFieldsGrow Brewer 0 0 64 0 256 16777215 Asst. Brewer Taste Rating 256 16777215 QAbstractSpinBox::UpDownArrows 50 0 0 64 0 256 16777215 Primary Age (days) 0 0 64 0 256 16777215 Primary Temp 0 0 64 0 256 16777215 Secondary Age (days) 0 0 64 0 256 16777215 Secondary Temp 0 0 64 0 256 16777215 Tertiary Age (days) 0 0 64 0 256 16777215 Tertiary Temp 0 0 64 0 256 16777215 Bottle/Keg Age (days) 0 0 64 0 256 16777215 Bottle/Keg Temp 0 0 64 0 256 16777215 Date First Brewed 256 16777215 0 0 0 2011 1 1 dd MMM yyyy true Carbonation Volumes 0 0 64 0 256 16777215 0 Taste Notes 256 0 Notes 256 0 BtTextEdit QPlainTextEdit
BtTextEdit.h
scrollArea lineEdit_brewer lineEdit_asstBrewer spinBox_tasteRating lineEdit_primaryAge lineEdit_primaryTemp lineEdit_secAge lineEdit_secTemp lineEdit_tertAge lineEdit_tertTemp lineEdit_age lineEdit_ageTemp dateEdit_date lineEdit_carbVols tabWidget btTextEdit_tasteNotes btTextEdit_notes
brewtarget-2.0.2/ui/styleEditor.ui0000644000175000017500000006643312266512175016523 0ustar philipphilip styleEditor 0 0 586 600 0 0 Style Editor Style 140 0 QComboBox::AdjustToContents Delete selected style :/images/smallMinus.svg:/images/smallMinus.svg false Qt::Horizontal 40 20 1 0 0 Basic Information 0 0 Name 100 0 100 0 100 16777215 Name 0 0 Category 100 0 100 0 100 16777215 Category 0 0 Category number 0 0 Style letter 0 0 Style guide 0 0 Type 100 0 100 0 100 16777215 Category number 100 0 100 0 100 16777215 Style letter 100 0 100 0 100 16777215 Style guide 100 0 100 0 100 16777215 Type of beverage Lager Ale Mead Wheat Mixed Cider 0 0 Vital Statistics Max Min OG 100 0 100 0 100 16777215 100 0 100 0 100 16777215 FG 100 0 100 0 100 16777215 100 0 100 0 100 16777215 IBUs 100 0 100 0 100 16777215 100 0 100 0 100 16777215 Color (SRM) 100 0 100 0 100 16777215 100 0 100 0 100 16777215 Carb (vols) 100 0 100 0 100 16777215 100 0 100 0 100 16777215 ABV (pct) 100 0 100 0 100 16777215 100 0 100 0 100 16777215 Qt::Vertical QSizePolicy::Minimum 20 0 1 0 0 0 Profile 0 0 16777215 16777215 Ingredients 0 0 Examples 0 0 Notes Qt::Horizontal 40 20 New :/images/smallPlus.svg:/images/smallPlus.svg false Save :/images/filesave.svg:/images/filesave.svg false true Cancel :/images/exit.svg:/images/exit.svg false brewtarget-2.0.2/ui/refractoDialog.ui0000644000175000017500000002171312266512175017131 0ustar philipphilip refractoDialog 0 0 383 223 Refractometer Tools Inputs Original Plato 60 0 64 16777215 OG (20 C) 60 0 64 16777215 Qt::Horizontal Current Plato 60 0 64 16777215 Qt::Vertical QSizePolicy::Expanding 20 40 0 0 0 Calculate Outputs 60 0 64 16777215 true SG (20C) 60 0 64 16777215 true ABV 60 0 64 16777215 true ABW 60 0 64 16777215 true Refractive Index Real Extract (Plato) 60 0 64 16777215 true OG (20C) 60 0 64 16777215 true lineEdit_op lineEdit_inputOG lineEdit_cp lineEdit_ri lineEdit_og lineEdit_sg lineEdit_re lineEdit_abv lineEdit_abw pushButton_calculate brewtarget-2.0.2/ui/waterEditor.ui0000644000175000017500000003724512266512175016504 0ustar philipphilip waterEditor 0 0 401 264 Dialog Name 256 16777215 0 0 Ca Qt::AlignCenter 0 0 Mg Qt::AlignCenter 0 0 SO<sub>4</sub> Qt::RichText Qt::AlignCenter 0 0 Na Qt::AlignCenter 0 0 Cl Qt::AlignCenter HCO3 CaCO3 Qt::Horizontal 40 20 0 0 50 0 50 16777215 Qt::Horizontal 40 20 Qt::Horizontal 40 20 0 0 50 0 50 16777215 Qt::Horizontal 40 20 Qt::Horizontal 40 20 0 0 50 0 50 16777215 Qt::Horizontal 40 20 Qt::Horizontal 40 20 0 0 50 0 50 16777215 Qt::Horizontal 40 20 Qt::Horizontal 40 20 0 0 50 0 50 16777215 Qt::Horizontal 40 20 Qt::Horizontal 40 20 0 0 50 0 50 16777215 Qt::Horizontal 40 20 pH Qt::AlignCenter Qt::Horizontal 40 20 50 0 50 16777215 Qt::Horizontal 40 20 Notes Qt::Horizontal QDialogButtonBox::Cancel|QDialogButtonBox::Ok lineEdit_name lineEdit_ca lineEdit_mg lineEdit_so4 lineEdit_na lineEdit_cl lineEdit_alk comboBox_alk lineEdit_ph plainTextEdit_notes buttonBox buttonBox accepted() waterEditor accept() 248 254 157 274 buttonBox rejected() waterEditor reject() 316 260 286 274 brewtarget-2.0.2/ui/brewDayScrollWidget.ui0000644000175000017500000002761412266512175020132 0ustar philipphilip brewDayScrollWidget 0 0 537 297 Form true 0 0 523 283 0 0 0 Generate Instructions 0 0 Insert step 2 0 0 Name 0 0 32 0 100 16777215 Name of new step 0 0 Step # 0 0 32 0 24 16777215 The number where the new step should be placed 0 0 0 Insert the new step :/images/smallPlus.svg:/images/smallPlus.svg Qt::Vertical 0 0 Move steps 0 0 0 Move currently selected step up :/images/smallUpArrow.svg:/images/smallUpArrow.svg 0 0 Move currently selected step down :/images/smallDownArrow.svg:/images/smallDownArrow.svg 0 0 0 Remove currently selected step :/images/smallMinus.svg:/images/smallMinus.svg Qt::Vertical 20 40 0 0 150 0 200 16777215 200 0 BtTextEdit QPlainTextEdit
BtTextEdit.h
brewtarget-2.0.2/ui/aboutDialog.ui0000644000175000017500000003252612266512175016442 0ustar philipphilip aboutDialog 0 0 694 460 About Brewtarget true 0 0 665 646 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'DejaVu Sans'; font-size:9pt; font-weight:400; font-style:normal;"> <p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:20pt;">Brewtarget %1</span></p> <p style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Brewtarget, for developing beer recipes.</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Copyright 2009-2013 by the developers below.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier'; font-weight:600; text-decoration: underline;">Developers</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Peter Buelow</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Dan Cavanagh</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Mik Firestone</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Philip G. Lee &lt;rocketman768@gmail.com&gt;</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier'; font-weight:600; text-decoration: underline;">Copyright (GPLv3)</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Brewtarget is free software: you can redistribute it and/or modify</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">it under the terms of the GNU General Public License as published by</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">the Free Software Foundation, either version 3 of the License, or</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">(at your option) any later version.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Brewtarget is distributed in the hope that it will be useful,</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">but WITHOUT ANY WARRANTY; without even the implied warranty of</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">GNU General Public License for more details.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">You should have received a copy of the GNU General Public License</span></p> <p style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">along with Brewtarget. If not, see &lt;</span><a href="http://www.gnu.org/licenses/"><span style=" font-family:'Courier New,courier'; text-decoration: underline; color:#0000ff;">http://www.gnu.org/licenses/</span></a><span style=" font-family:'Courier New,courier';">&gt;.</span></p> <p style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier'; font-weight:600; text-decoration: underline;">Source Code</span></p> <p style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Brewtarget's source code can be downloaded at </span><a href="http://brewtarget.sourceforge.net"><span style=" font-family:'Sans Serif'; text-decoration: underline; color:#0057ae;">brewtarget.sourceforge.net</span></a><span style=" font-family:'Sans Serif';">.</span></p> <p style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier'; font-weight:600; text-decoration: underline;">Special Thanks</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Guido Carpi (Italian translation)</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Ester (Catalan translation)</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Marc Cote (French translation)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Pawel Fiedor (Polish translation)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Admiro (Polish translation)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Edu Engler (Portuguese translation)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Jan Grmela (Czech translation)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Randy Brace (alpha tester)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://finalgravitypodcast.com"><span style=" font-family:'Sans Serif'; text-decoration: underline; color:#0057ae;">Final Gravity Podcasts</span></a></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Glenn Tinseth &lt;</span><a href="http://www.realbeer.com/hops"><span style=" text-decoration: underline; color:#0000ff;">http://www.realbeer.com/hops</span></a><span style=" font-family:'Courier New,courier';">&gt;</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">server, printer, edit-copy, document-print-preview and merge images from Oxygen theme (CC license)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">backup image from Nuvola theme (LGPL)</span></p></body></html> 0 Qt::Horizontal 40 20 Donate :/images/donate.svg:/images/donate.svg brewtarget-2.0.2/images/0000755000175000017500000000000012266512175014471 5ustar philipphilipbrewtarget-2.0.2/images/smallKettle.svg0000644000175000017500000004106112266512175017475 0ustar philipphilip image/svg+xml brewtarget-2.0.2/images/flagCatalonia.svg0000644000175000017500000000734412266512175017747 0ustar philipphilip image/svg+xml brewtarget-2.0.2/images/server-database.png0000644000175000017500000000100412266512175020242 0ustar philipphilipPNG  IHDR7sRGB pHYsu85tIME +AebKGD̿IDATE?OSQ{)V!Hi@`BFL~7u0`qb01b4@Z FrϫGd=P^o_3 [_=z:H:H#XG: wo< (ݯwkn&K1P#X|i&ٕyR@$(cbs~OE \E<ʀ>Mj ץ!%< `ع/Y#I$"Ǚ .̓I*rJqYd:>5{|M}.EsH{,!m%M 3FJЦ?2ڡ8 U"BBfC-΃?X\7Y$1l?/L%L1<ϣޠ9jDVNIENDB`brewtarget-2.0.2/images/clock.svg0000644000175000017500000002172112266512175016310 0ustar philipphilip image/svg+xml brewtarget-2.0.2/images/flagCzech.svg0000644000175000017500000000712612266512175017106 0ustar philipphilip image/svg+xml brewtarget-2.0.2/images/smallBarley.svg0000644000175000017500000003544212266512175017471 0ustar philipphilip image/svg+xml brewtarget-2.0.2/images/refractometer.svg0000644000175000017500000001374312266512175020064 0ustar philipphilip image/svg+xml brewtarget-2.0.2/images/preferences-other.png0000644000175000017500000001303312266512175020617 0ustar philipphilipPNG  IHDR@@iqsRGB pHYsuuÃtIME  3-xbKGDIDATx[TW" E#EcK}؟1v%`Ebh~gy~I3wgP&U/fVP_zy] K`pC?O?FEEҽ{(.>Ν;aaf̜iqh`kkX\pp0%&%*9Kϳ Ǡ^zx::ӦMɌ)99ٔCyyTP cl?k͇*** ,--{@O>ٳ?Χ|HIa!=}K4WC۸q]pI P૯r9<${]H^xA^ׯ^Sdd3###__ 0`hhA=@EG+lq_~^E;/x+@# |̫ƫW.L9[ P\$ a@!I}1`1vm Kyo,CQJ5] /ݻoD~6>Ο۷cˋ/;ׯx4WU,deeQffQZzw9Ϙ>xQ%{m^͛Xy˦@vT߶rww.իWƍt} Rjj $SRr"%&>qn]nOtYzz:FG>|:q-]K/RkǛN{Hnݢ80BB22ᣇS||y>E[7׿ϸW;Ӵ{.2e {EV1_3^JU)t2!o,={މ( $OwڹkA/r "wm54k綇;AKW,&S{#c3oEQt5ho 'Nە9s攁g2PҨt̘1 .UH嚵dcoOѷ(,<p}40~gv#"SpH]ι fܼyΞ=K{+WP߾}jQm hߋfΚMf]褗'QHZa55jܘoX&o<=C'N#Gq 'Tѣ`J/@{$5{@k`>``d]ի/$)‰ R_ӋXSݨwW;::>hժ畀J6]J5@_J\MRTݡf{>ik54AM4Ajʺu딖-[Ek@7@; jH.P~$PQP̌?󃨇ywDW\]7 V2h!T9;;BfM +<ڷ#ԽG7_PVxϷifם}>ufk><"ZnEFA.@G;ʎ;0I[ݐU3X+%e@ݹg [Ø4Ⱥ?uޕ7iLK,Ec/Xg1i{LJ ZO]wfiر\]~ۻw_ >})/@MMM<ɮ]322PJ#ECcF- Y\Cw&N/=&M(DNNuM||nΜIøӧOWvs5㱟pߞjݪuKrp 2O>iK="%譗6zِǮO__$/g`l</eR K/۶Q`_;3dx 2]m& gq㦸sq򕞞U@TxLu[/uuuMO:U<^:޲˨Cv4rg"%u,flݱ/bV֪,VUBrPUP} 0.`Z*P{[ C+G;54w\2dB#F `3rwtBӲ!A !a9)+)I;wȑ'VDRVVp%Km|981b,p.`ZsN96mBS#Ȼp*sxQ?~<[F0SgSX]J;v,,,3]0qnuZL[/>R5[{4D6vCU^AsRP'=yaq!yOyUcjG۶Ch{<7x,iZLi4BIzt\jn [ 3H0z...ϡrKAc0el]Y#kkkM!k{{= q~Ģ4\}x υ-W楋h M鋲tV-qhb3|I0A**[DWf]+AFt:0ӌ(p @t-oeE84ɴ'L0QXYYf )j&DiޠA`^YS`!&@n6aekP?I+n;D͡#T&kkwI7 qUgφ)נeQ u ЄɔlJ{ x 3Zp,<}|3k#a E3 P}&7+%/5C>b>}yHޣq+W4G6HMHHm _EVTpXT!ɢ;wq.'hÆ..AAwQ!LsVAS~" 2wYג} dC=ѣA^@GٲR{JΝ,,lt#XdT0! ##Cp_p7)))T*#I}s1GLi[mDs5 # :Վ > QJZ@G}OU`xB ҆|z_^zz.!T{\vx c/ia;;!!!׃K C\.j 'Ր\ F"ʳg0% -P̀{[x!h b6+-K+$=psU'OTPd+//ݰ!))Y,M0XBC/` VQ5r| cg7k /lV$;23sSD"4dY/>|"!Epȭ`oML3ݿB.@n3=ogua+ևUlٲ;zzzeǶ q<` ia;^#|_ɺ<ͨ 4>4eWJy쾖u<Q =f( uQ9P⪽;{x` 0%4P677_0MЧyIENDB`brewtarget-2.0.2/images/edit-copy.png0000644000175000017500000000074512266512175017102 0ustar philipphilipPNG  IHDRasRGBbKGD pHYsu85tIME#;bgeIDATxڕJ@g7^<VTJ%w:l蚐||owV|FpXH~!CMW71`5U7 A)8٦s&q  - v9Nȩ5+/FHl61sH VV^# =y" 1L{U3gHS`@l6`> hBD( :z=u]Qݬv+7ggZ?&ߐo$ fY /_ TJa8Q)hȀ4M1sj'w&65*%~.W8}/}>45 "[hf +0h q{+}IENDB`brewtarget-2.0.2/images/flagGermany.svg0000644000175000017500000000711712266512175017454 0ustar philipphilip image/svg+xml brewtarget-2.0.2/images/clipboard.svg0000644000175000017500000001653512266512175017163 0ustar philipphilip image/svg+xml brewtarget-2.0.2/images/smallPlus.svg0000644000175000017500000001531612266512175017174 0ustar philipphilip image/svg+xml brewtarget-2.0.2/images/flagPortugal.svg0000644000175000017500000022500112266512175017641 0ustar philipphilip image/svg+xml brewtarget-2.0.2/images/smallUpArrow.svg0000644000175000017500000001346012266512175017646 0ustar philipphilip image/svg+xml brewtarget-2.0.2/images/flagSpain.svg0000644000175000017500000000635212266512175017124 0ustar philipphilip image/svg+xml brewtarget-2.0.2/images/kbruch.png0000644000175000017500000000332612266512175016461 0ustar philipphilipPNG  IHDR szzsRGB pHYs7]7]F]tIME6;!կbKGDVIDATxWMlUE{*!A7BWn+w&l qJctg$n1 hh%"}{s'] &:a3g9/o"hKBC!.VFLp>-01p,GIj i?׾NG0d1eDZ.m*g0{Pm. Xc/Ѓ8V8/*/,z'*9VV:Qo6t*kGzygG;j:D-bmhsRr ÒRw Ri*3`KĆxɝX.>ƭuoD" $-bή xE@H7̿wjS}ܷ XpD "~*z]A#6@mլ/x?~PBX (p PER (2a&@,l:l]{/~ و65pχv=@B2-IW ('PGc~:% P`F|AXʞPK[_B+g${!Z6~5۟>ЋqAZw @1<<1;;811qx||MOrsW.͛IENDB`brewtarget-2.0.2/images/printer.png0000644000175000017500000000116612266512175016666 0ustar philipphilipPNG  IHDRasBIT|d pHYs:tEXtSoftwarewww.inkscape.org<IDATxڍSj"A.8$\ G]| U|`BNi9j s2٪b[a|PTwWU_ul aGIQoK8GgȽIX7a8 VgqL8]LnAUzyـa@V z\W+ܾ)T @=&VC SJپI;]hS@^ ԼsA=M"!uBST0 +:8#1bQ &͍{X[r1_^~U~bTɊ1`5a*kCDm>h : h:ebt]YGXPI3@p0p 32 1 ^} SJ(r<{.?7jXM>q㍛mL $ 1Q;Pou1҆3oy P6S)m0|HªNhFAP@EEBB"ec)(J)O )t,Je1wK/!H6.'߆#Քp>n(<9FnU)CUS%"(&GtA@t yjjqfP75QWkDtZ6+dY8b&̋/"RaQ`SE*f\=wFhu;f;xYg @f Y]Yj=! A]fժk(Tp) śfl9֗?ANbC Xz !44B6FhpDTI5Eaog{I;I! "q@-8@tz1K"k=`G -QW!f"1R*H@)6HV{{CVZnZ,qPe8A<Ô`&ۼ#k ֚;jI4x  CԎAEosA.)>sFJY'@A׺c93[)Ȁ`Q!`}m "1 㠕 4I/VxOtJqsG9zzy|khVe5z?[ͬSK&0`|iĤX-Pz6X+G:z`^ӆV @iMBkW+蹘WNPgF\pU ǣ֗Ke v'ͱZ̉X{VGL79dNqjJ=^18`@3r+*J(.v"TU7˰:Fӳt|[?{]glP ul$-\ ]Zi! +D٩$N1Ȇd|: J7^b:~hR7""7z*^ dpV4=3YhTݭZ^z1D'iV@ Hά| r4'p"ps)\:#sy!P]yHx]ZJKқ$T},ZX܀2H6-*n6eDP~x"+($ ;rlʫ,jjJVnt{:S*GLW 0ua*Ģ-ZhC E95K0EgVQopP3CoIgTiX).PJ]mOJt02*CkEW12T {cAfLoۗd5̩ }mfH0[6*lƪJiZ \xRgvE{RX`tv!hX7 4t9MVVZ[h/_RV+VEdAJU|t@#sb6`ow"qhQP=p2<rX`u4f ] еuEi;X@?7I>̀I]h$y.5*95+2Ny *u@1&:Ym-WrftzFT%h5Z~m`ZgDiJ.Vg&opTwv b#r9R 7 of  lUخ}Yo\q..5ෘ9&F=7`hl,#*6V*AT2/_0k s;;Qyڷy)(vvI/hdT@+O]UNF[-4ԡ@/vܺJCq|K Cf1 E%AFJT*"h}*szZmȎ8SҬN*"JSw_:Al@v*@W"0 yؖf~b&֯ʷ\..^˗/굫.]mocs{+" )}y7۫[jsX,ߵ1 ϗ M9\s.r!~jh9 .yGs/A:DCܴ4n+6A& Q rdݤ0p5ɵk_Caup(qMl6   w޸Ͽ9 x~sϼKxWƍ/b`oog{/_Gחop"[$b˪ R_A@@rkeθ 6眨 Qb `'IF󜑳nK؎{2w,C]u07~7/_/?xu\1§>GxWԳm}'ۻ%\`v94-+(O4(EcpkK Vȅa%g RbNQ7׀i,1F?@;+Y4Pʤ*#diF+~OrmpW._7}ʯ⃅|])~} Āo, BIǀ O?wYsΒ:\܄.S] >w@&U]X  | 8vh ~_xU Q)<)>ZX787۠ Y\P "X.FNzAfYjHY%z>0Jܱ`JBQ*N*Ix)~wTpNV)m@3@ JV)m_ ν͙juBJV*<ݼYJֱ&ؠ+A,ƢsY0aPA:Y$]~(E>:]lo h3]ȧA}ٟuNyjJ1{;=Ieֆ3EC6u+8 AK}M^8p28U+O W/w= :H@D.KANIO| 3u@*ԙBz%(]$ksV^jQ=3!W6}Į{c6bVU͆qvb{SNݝZ~y%a#@ l {EEKsS)A;@ `FUg]6hJ|˩/]Ѽ?tS}c$; ɒ SNjy4 \h"AC "!2hIEj )B/R7/{/}T9ZA@ PLZ8hm)z|ψ-blٚN"YlDQIW[r9̝h``.D  UvsA;UZf[\gB;vLow3N|fA îP) d/z_vv4G5{tʨa) 99o):5@#v!bJ@BJuD`Xzu3KSN#OlngyqlѮ(Ў;r"Dį 0dΊi,gw_J':H792%+hтHo*hP(ax@]^_[D))%L@ve3˚bѸ)1"xB[dģTQ$ oO1[M|mv(#炒\*%lIDZ- "lRNz-Hʰb 6bb5Ve}n*hX lu V3mb)ع̥d)D&ϑ؀{I-ԦRi j%d34 vzM])_ea7K&Z]R!8Azh_xUn @M;Q4̎6/jeTA*lR?.rVB?3JiÏ4T@j, SL)84l>cuC_4hQ7A=rD#RJy{aIJiJ3F"$ԁ0)$YJw3mW6H9!D0 bT.LR)vi.`ss\0 'FtW+>{9gfۃg͜3 LJIR'T.u2E0`ѓtyth 0ԆPwtw^Wz$!Q'Gz{'qbC^uZ,%h$N)Zp)Mc0AxLG9!(s"OQ.T3]Q'K.q N߽'v퓌q9۽ԠΉWf|ă) cs6:QԶa?*S5d`kC%uFA$Iٯn)e K#ћ{m\%WYɂz+~̛*@6mP`@(3(|Gj{S_ z]mM§~zgP"8\Yx+R\)$5k`,FI%AӥʥK7 zf'ֽqo2m(L_#cRT?g<#Hryj )ΥRҜ_!v@ЖԖc1iJ?m ]Nbc&τKR|:Iꮫ}IKt&H`K2o͸:ןY84"qi}:{4hBrEY sGOKgh?o}jG [4g3P]X f*0GcP÷=!:~ KRf+O?R0|_{VG|D;:{Y9/IDATtЧKIaKҁ&5nIcJPОύk\|/x͡{:}z'1`Z:S_ ~,:J1({K#vj;lv\F@Oo"9{3ނ E5j!|#5E 4f1a u#ExvT?S&Ņ9]}3df;S-ɒ3ͤFIx\>1ҙ^_.A| s,Q8[ ]TVѥTת9q.8)ɦl')M갸igЛDqF@Clݝm@k 3J9zαJRV:mG S_gd;vg30.nJ! chҢuۛ"32I\|X]3l>3UB`9gժ-O<)BN:PXp#y}lfppҔa]΂B{\B-̹iwMټw (qk{#I7Y3i~8qGE0IIS73ft':ջ2l8cm+6.7nL:e䜱KA!ieә!@(߽QJaJd)u'4ހP92"c t)E̅T!XpE^c_t(xAyec*ß;)0FgMt +~Cz* Ӫ9,)%q Ԯ!Gz9+l|TBPugˤ8;.\V%X;iO03w@T'3ͺk)oָGE9u:҆;,!XP7,kD7FGj Ym%GxOәb!"W nDKB*D * pA@Q*F@ }$yV,6!IjҾA#$ݴ;OO@b S%OUu%67(7.iKDXݽZ~Nuۨ5a!-qgu$\:Vәw6m< oܘd#,֖ 2&HŸiER̦up,Őw;<=To'tI]K)0O{b9l?>mJ G_sF2zZw؏ۭ҈V^APp\gc@̎igیr^];lzAW3qa9z$}O;xG9.n}q_Jե,-fZ. ,((p"ʯ,hYR7uyvɦv rfap@&`ckVfuL4dmTߡ?EP"P`g(ChJt{d J`o޺@b\}$Ν`}=.8\!H z4GDfe>Rt KvK.Ptm|Ah<uMXL`rEX?:a蝍M+g{:+Mib;$] m5 z8Ԅr3Ii@f7BA=0aJ"j\Z{'pf)SN v$zmPl{ KI-cGࢃf4e) ƞh.zΈXrv roVP6T{6#<龁^.FӴYHOHSLa0]~dǒ񥞱x$frBb:S "(9P\!BwZ@-frt@èAdkg7n_G~XrŋI3ڊg֕ORjJjm! pʯdvPJS;_X.חa$("~rt@/ơf?S?~*ʹ<5 $,n*A)dQQ~^gH+ȪYtf* ӟAv(NJ 8 [?~+s;(å9A"6@ӆ/k=ڗKŔT*w uFXc쥈ۈuF(Z^]b XTWLO|}v&} kS{<ԑs0r$;6VirZVt[|D ^ajyfEjQHLȻ`p@@lŦ5\st)z&\ʃєbC9 洨g т8EϮ/`,JQdP*"D遁֥v|[~LnuELP-ۆϚ荵R8k憧\9d4HazMMlˢ\~0, /F[eb*,L)Cx"gzCty4YK@+Tb:C]`w+gTKziFS*PY ߯]u\ r*Fc54=DoA4UYME7[jLh%ݶQwIgʅ~fE.o&KAb*=X?ΖޯVVSh`qu%?˴`S<¿' _ 2N6إ|w>u's629'Uv@o)|wχrz`gylmmm*g- UN<=Ҭ>t): TSإZBdw) AnJ0oozw[zm{qW._4p탢7l][ybp G5>X!,KRʁQ;-iTKҏ`Ι<7w0xpNRi]@I7<ơv¥`w|0@Oa(A'Pr%D\,_ƒJ"b;, '@1>%/zc:T/G $`/:]ԗqɉ(2WԜBh=zxG| .?`0[zs} T۽aJRV!=`x04G5ڗ81 vZ9R\_P|i)H cQvԺziJu:&U#}$)¥^^y_ǭOoߦH-,VPmR̳mt"q`A?8buTsۻۮ8,i}?y;5lJP]O9e>3YG2!D aR3,` ,P+E:Βt&{IDI@U%gQ2.~Ti&烤t cm/տi-;tmPw;FiǏ)~g$9, Az0DuJ6rGA[9OF:<=> M(M!פyOMOFWQ+{믿~XJfģ 7|?uCGJzK@@pp_s熔SC s ;-4.\ʗ'a̽.pG:%?)7> l񔙻 J}8}3xyy@'GŅ=|~~ ?׿7&%#0͖:{R_ןx20.v |l\,]CXNh^øē>/Ee>#~T9wS&rAdWUtԧkuc̋q6v ER2)RidJID0h-}5S ]2G-}I/޼~ngS`)ky.iIJTܽh{䮕ӓ{x8s3޲2tng_DIIOhȅZ̽:k۱hRw=%J4w^x/ۘK`vnQEKRPhKt ÏPJ)xy<(sZpyb5ettA*z>ǃ:[֖#6JCVV)a*D8D a1lacm8`}֗K?v싸IENDB`brewtarget-2.0.2/images/beerGlass2.xcf0000644000175000017500000222315612266512175017177 0ustar philipphilipgimp xcf fileBB Unnamed#1 ABCBCfCCCCBCCCCCCApCApCApC B Half GlassC?BB@AABPCĀBPCĀBPCĀBPCBCBCBC׀CCCC؀G gimp-commentCreated with GIMPgimp-image-grid(style solid) (fgcolor (color-rgba 0.000000 0.000000 0.000000 1.000000)) (bgcolor (color-rgba 1.000000 1.000000 1.000000 1.000000)) (xspacing 10.000000) (yspacing 10.000000) (spacing-unit inches) (xoffset 0.000000) (yoffset 0.000000) (offset-unit inches) bkws > Reflectiono      , )++,0a}, \9uOzZM@p^I(1`j s $*08@GOX`hqz ")07>FNV_hpy "(/6>ENU^gox !(.5=DMU]eox  &-4FOW_irz !(/6>FNU^gpy !'.5=EMT]fox !&-4GOV`iq{ "(/6=FNV_gpz "(.5FOW`iq{  !)/6=FNW_hqz  !'.5=EMU^fpy   &-4EMV_hpy   &-4GOXajs|  "(/6>FOW`ir{  !'.5=ENV_gqz  !&-4=DMT^gpy  %-4;CLT]fpx  %,3:BKS\eow  %+2:BIR[dmv  #*19AHPZcmv~  "*08@HPYbku}  ")07?GOXajt}  "(06>FNW`ir|  !'.5=EMW_hq{   &-4FNW_gpy "(/6=EMV^goy !(.5EMV_gpy "(.5GOV_hqz "(/6=ENV_hpz "'.5=DMU^goy  !&-4GOW`hr{  "(/6=FNW_hqz  "'.5=EMV^gpy  !&-4=DKU]fox  &-4;CKT\enw  &,3:BKS[dmv  %+29AJRZclu~  #+19AIQYbkt}  ")08@HPYajs|  ")07>GOXajr{  ")/6=FMW_iqz   (.5=EMU^gpz   '-4GOXajs}  "(/6>FNW`ir|   (.5>EMV`hqz   '-4FOW`is{   '/5=ENV_hqz   &.5FMW_hpy "(/6>EMV^gox !'.5=EMU]enx !&-4=DLS\dmv  &-4;CKS[dmu~ &,3:BJRZclu} %+29AIQYbkt| $*19@HPYajs| #)08@GPX`ir{ #(07>FOW_hqz "(/6>FNV^hpy !(.5=EMU]fow !'-4GOW`hqz  "(/6=FMV_gpy  !(.5=ELU^fox  !'-4=DLT]fnx   &-4;CKT\emw  %,3:BJS[dmv  $+29AIRZclu~ $*18@IQYbkt}  $)08?GPXajs|  #(07>FOW`ir{  "(/6=FNV_hqz  !'.5FNW_hq{   '.5=EMV^hpz   &-4ENW`ir|  !'.5=DMU_hq{   '-46/("  !&-470)"   &,3;CKR[dmvǿ{ri`WOG?70*#  &,3;BJR[clv~ǿ{ri`XPG?80*#  %,3;BJQ[clu}|siaYPH@81*#  %+3:BJQ[dlt}|sjbYPI@91+$  %+29AJRZclt}¹|tkbYQIA92+$  %+29AIQZblu}º}ukc[QIB:2+$  $+29AIQYbkt}û~ulc[RJB:3+%  $*19@HPYbjt}ûvmc[SKB:3,%  $*19@HPYajs}ļvmd\SKC;4-&   $+28@HPYajs|ļwnd\TLC;4-'   #*18?GPXajr|Žxne]TLD<4-'   #)08?GPXajr{ƾxog]TLD=5.&!  "*07?GOW`ir{ƾypg^UME=5.'!  ")07>GOW`ir{ǿzpg^VNE=6.("  ")/7>GOW`ir{zqg_VNF?6/)!  ")/7>FOW_iq{zqi`VNF>7/)#  !(06>FMW_hqz{ri`WNF>70)#  !(/6=FMV_hqz|sjaXOF?80*#  !(.6=ENU_hpz»}tkaYPG?81)$  !'.5>EMV^hpyû}tlbYPHA91*$  !'.5=ELU^gpyû~tlcYPIA92*#   &-56/)!  $*29AIRZcmv~º|si`XOF>7/("  #+19AIQZclu~ú}sjaXOG?70(#  #*19AHQZclt}û|skbYPH?80)"  $)18@HQYcku}ļ}ulcYPI@81)#  $)18@HQYbkt~Ľ~ulcZQIA91*# > #)08?HPYajt}ŽvlcZQIA92+$  ")07?GOYajt}Žwmc[RIA:2+%  "(07?GOXajs}ƾvne\SJB:3,%  ")/6>GOXajs}ƾwof]TKC:3,%  !(/6>FOX`ir|ǿwpf]TLC;3,&  > !'/6?EOW`ir|xog]TLD<4-&   !(/6>FNW`ir|ypg^ULD<4-'   !'.6=FNW_ir{yqg^VLE<5.'    '.5=ENV_iqz{qh_VNE>5.'    &.5=ENV_hqz|rh_WNF>6.(!   &-56/(!   &-47/)!   &-4FNV^gpy~ukcZQIB:3,&   ")/6=EMV^fpwº~ulc[RJB:3,&   !(/6=EMU^fox»~vmd[SJC;4-&   !'.5=EMU]gox¼vmd\TKD<4-'   !(.5=DMT]fnxüvne\TKC<5.'!  !(.56/)"   &-4;CJS[dnv~ƾzri_WOF>70)#  &-3;CJS[cmu~ǿ{ri`WOF?70)#  &,3:BJS[dlu~{ri`WOG?81)#  %,3:BJR[dlu~{siaXPG?81+#  %+3:BJRZclu~|sjbYQH@91*$  %+2:BIRZbku~¹}skbZQIA92+$ ~ $+2:BIQZbkt}º}ukbZRIA:2,%  $*29AIQYbkt}û~ulc[RJB;3,%  $+19@HQYbkt|ûvmd[SKC;3,%  $+18@HPYbjs|ļume[RKC;4-&   #+18?GPYajs|ļwnf]TLC;4-'   #*18@GPXajs|Ľxnf]ULC<4-'!  #)08@GPXajr{ƾxog]UMD<5.'!  ")07?GOX`irzƾypf^ULE=5.'!  ")07>GOW`ir{ƿypg^UME=6.'!  ")/7>GOW`iqzyph_WMF?6/(!  #(/7>FOW_iqz{qh_VNF>7/)"  ")/6>FMW_hqz|ri`WOG?70*"  !(/6>FMV_hqz|sjbYOG@80*#  !'.6>ENV_gpy»}sjbYPH@81*#  !'.5=ELV^fpy»}skbYQI@81*$  !'.5=ELU^gpyû~tkcZQIA92*$  !(.5=DLU^goyļulcZQIA92+$   '-56/(!  $*29AIRZcmv~|sjaXOG?7/("  $*19AIRZclu~º|sjaXPG@70("  #*18@IQYbku}»|sjaYPH?80)"  $)18@IPYckt}ļ~tkbYQHA81*#  #)18@HQYbkt~ż~ulcZRIA91*#  ")08?HPYakt}ŽvlcZRIA92*$  ")07?GOYajt|žwmd[RJB:2+%  "(07?GPXajs|ƾwne[RJB:3,%  "(07>GOXajs|ǿxnf\SKC:3,%  !(06>GOXajs|ǿxof]SLC;3,%  !'/6?FNW`ir|yog]ULD;4-&   !'.6>FNW`hr{ypg^UMD<4-&   !'.6=FNW_hr{yph^VME<5-&   !'.5=ENV_hq{¹{qh_VNE=5.'    &.5=EMU_gq{»|ri`WNF=6.'!   &-56/(!   &-47/)!  &-4FMV_gpy~uld[RJB;3,%  #(/6>EMV^goxº~umd[SJC;4-&   "(/6>EMU]foxúund[SKC<4.&   "(.5=EMU]foxüvmd\TLC;4-'   !'.56/(#   &-4;CJS\emu~ƿzqh`WOF>70(#  &-4;BKR[dmv~ǿ{rh`XOG?70)$  &-4;BJR[clv~ǿ{ri`XOG?80*$  &-3:BJR[clu~{rjaXOH@81+#  &,3:BIQZclu~|skbYPHA91*$  %,2:AIQZcku~}tlbYQIA92+$  $+29@IRZbkt~}ulcZQIA92,%  $+29AIQZbkt}»~uldZRJB:3,%  $*29@HQZbks}û~vmd[SJB:3,%  $*18@HPYbks|ļvme\SJC;4,%   $*18@HPYakt|żwne]TKC;4-&   #*18@HPXajs|Žxnf]TLD<5.'!  #)08@GPX`ir|žxog]UMD<5.'!  #*07@GOWair{ƿxof^UME=5.("  "*07?GOWair{ǿypg^VNE=6/("  ")/7>FNXairzǿzph_VNF?6/)!  #)/7>FNW`iqzǿ{qi`VNF>7/("  ")/6>FNW_hqz|ri`WNG>70)"  !(/6>FNV_hpy|si`XOG?80*#  !'.6=ENU_gpyº|sjaYPH@81)$  !'.5>DLU_fpyú}tkbZQI@81*$  !'.5>DMU^gpyû}ukcZQIA92*$  !'.5=DMU]goxû~ulcZRIB:2+$   '-56/(!  $*29AIRZdlu|sjaXOG>7/)"  $*19AIQZclu~º|sjaXPG?70*"  #*18@IQYblt~»}sjaYPH?80*"  #)18@HQYblt~ļ~tkbYQH@81)# } #*08@HPYbkt}ļulcZQHA91*#  #)08?HOYajs|Ľvld[RIA:2*$  #(07?GOYajs|ƽwme\SJB:2+%  "(07?GPXajs|ƾwne\SJB:3+$  !)/7?GOXajs|ǿxof\TJC;3,%  ")/7?FOX`is|ǿxpf]TKC;3,&  "(/6>EOW`ir|ypf]UKD;4-&   !'.6>FNV`hr|zpg^ULD<4-'!   '.6>FNV_hr{zqh^VME<5.'!   '.5=ENV_iq{º{qh_VME=5.&   !'.5=EMV_hqzº{ri`WNF=6.'!  !'-56/'!   '-47/(!   &-3;DMU^gpyļ~tjaYPG?70)#  %,4;CLU]gqyż~ukbYQH?80)"  %,47/)!  û|sjaXOG>7/("  û|sjaXOG>7/("  û|sjaXNF>6/)"  û|sjaWNF?5/(!  û|sj`WOF>6/("  û|sj`WOF>6/'!  û|rj`WOF>6/'!  »{ri`WOF>6/("  û{rj`WOF=6.(!  û|rj`WOF=6.(!  û{ri`VNF=6.(!  º~umd[SKC;4-&  vmd[SKC;4-&! º~und[SKC;4,&! º~umd[SKC;4,&  »~umd[SJB;3-&  »~vmd[SKB;3,&  ºvmc[SJC;3,%  º~vmd[RJB:3,%  º~umd[SJB:3,%  º~uld[SJB:3,&  »~umc[SJB:3,% »~ulc[RJB:3,% »~tlc[RJB:3,% º}umc[RJB:3,% º~ulcZRJA:3+% º~tlcZRIA:3+% »~ulcZRIA:2+% û~ulcZRJA:3+% ú}ulcZRJA:3+$ ú}tlcZRJB:2+% ú~tlcZRIB:2+$ ú~ulcZRIB:2+$ ú}ulcZRIB:2+$ º}ukcZQIB:2+$ º}ukcZQHA92+$ ú~tkcZQIA92*% ú~tkbZQHA92+% »~tkbZQHA91+% »~tkbYQHA91*$ ú~tkbZQHA91+$ º}tkbYQHA91*# º}tkbYQI@81*# ú}tlbYQI@81*$ û|tkbYPH@81*# û}skbYPH@81)# ú}tjaYQH@81)# ú}tkbYPH@81*# ú|tkbYPH@81*# ú}tkaYPH@81)# ú}tjaYPH?80*$ ú}tjaYPH?80)# ú}tjbYPH?80)" ú}tjaYPH?80)" º|sjaYPG?70)"  »|sjaXOG?70)"  ü|sjaXPG?70)"  ü}sjaXPG?70)"  û}sjaXPG?70)"  ú|rjaXPG?70("  û|rjaXPG?70)"  û}sjaXOG?7/)" û|sjaXOG?7/)" û|si`XOG>7/)" ú|sjaWOF>7/)"  »|sjaWOF?7/)"  »|sj`XOG?6/)!  û|sjaXOG>6/(!  º|si`XNF?6/(!  »|si`WNF>6/'!  û|si`WOF>6/'!  û|si`WOF>6/(!  û|ri`WOF=6.(   û|ri`WNF=6.(!  »{ri`WNF=6.(!  ºvme[RJC<4-'  vmd[SKC;4-&  =»~vld[SKC;4-&  º~vlc[SKC;4-&  ºvlc[SJC;4-'  ºuld[SJC;4-&  ºuld[SJC;3,% ~uld[SIB;3,%  º~uld[RJB:3,% º~uld[RKB:3,% ~umc[RJB;3,& º}ulc[RJB;3,% ú~uld[RJB;3,% ú~tldZRJB:3+%  º~ulcZRJB:3,% º}ulc[RJB:3,% º}umd[QIB:2+% ú~ulcZRIB:2+% û~ukcZRJB:2,% û}ulcZRJA92,% û}ulcZRIB:3,$ û}ukcZRIA:2,% û~ukbZRIA92+% û~ukcZRIA92+% ú~tkcZQIA92*$ ú~tkbZQIA92*$ û~tkcZQIA81*$ »}tkcZQIA91*$ º}tkcZQHA91*$ ú}skcYQH@91+$ ú}tkbYQH@91+$ ú}tkbYQH@81*$ ú}skbZPG@81*$ ú}skbYPH@81*$ º}skbYPH@81*$ º}tkbYPH@81)# »}tkbYPH@81*# û}tkbYQH@81*# ú}tjaYPH@80*# ú|tkbYPH@80*# ú}tkbYPG@80)# ú}tjaYPG?80)# ú}tjaYOG?80)" ú}tjaYPH?70)" º|sjaXPH?70*" º|sjaXPG@70)"  ú|sjaXOG?70)#  ú}sjaXOG?70(" ú}sjaXPG?70(" ú|rjaXPG?70)"  û|sjaXOG>7/)"  û|sjaXOG>7/)"  û|si`XOG>7/)"  û}si`XOG>7/("  û|sj`WOG>7/(!  û|sjaWOG>6/)!  û{rj`XOF?6/)"  û|sjaXNF>6/(!  û|sjaXNF>6/'!  û|si`WOF>60'!  û|si`WOF>6/(!  û|ri`WNF>6.(!  û|ri`WNF>6.(!  û|ri`WOF=6.'   &**033/**'""'**/330**&"  +^RIA8.% 9^PB7+ ^?^& !&,28?FMT\ckqy¾zskc !&,29@FMU\ckrz¾yrkc !',39@FNU\dkry½yqjb !(-39@GNU]dkry½xpib "(-39@HOV]dks{Ԁxoha "'-3:@GNV]els{~woh` "'-3:@GNV]ems{~wog` !'-4:AHOV^elt{}vng_ "(.4;AIPV^emu||unf_ #).4;AIPW^fnu|{umf^ #(.4;BHPW_fnu}{tme] #(.5;BIPX_fnu|ztld] #(/5DKRZbipx}vog_X $*17>DKRZbiqxԀ<}unf_X %+18>ELS[birx|tmf^W %+17>ELS[bjry|tle]V  %+17>FLS[cjrz{tld\U %+18?FLT\ckrzzrkd]U %+18?ELU[ckszԀ<Ŀzrjc\T  %+28?FMU\dkszĿzqjc[S  &,28?GMU]dkrzyqjb[S  &,28@GNV]dls{ĿxqiaYS !&,29@GOV]elt|þwphaYR !&,39@GOV]elt|¾woh`YQ  &-39?HOV^elt{½~vph`XQ !&-39@HOV^emt|½}vng_XP "'-3:AHOV]fmu}}umf_WO "'-3;AHOW^fnu||ume^WO !'-4:AIPW_gov}|tme^VN !'.4;BIPW_gov}{tld]UN !'.4;BIPX_gnv}{tkd\TN "(.4;BJQX`gov~Ԁ|yskc[TM "(.4;CJQX`gpwyrjc[SL "(.5;CJQX`hpxĿyqib[RK #(/6ELS[cjsz|tle]VOF $*07>EMT\cjszԀ{sld\UME $*17>FMT\cks{zsld[UME $*17>FLT\dls{zskc\TMD %+18?EMT\dlt{Ԁyrjc[SKD %+18?FMT]dlt|yqibZSKC %+18?FMU]elt|ypiaYSKC  &,28?FNU]elt|ԀĿxqhaYRJC  &,28@GOU^emu}Ŀxoh`XQIB  %,29@HNV^emu}ÿ~wog_WPHA  &,29@HNW^fmu}þ}vog^WOHA  &,39@GPW_fmu}þ}vof^WNH@  &,3:AHPW_gnv~¾|ume^VNG@  &,3:AHPW_gow~¾|ule]VNG? !&-3:AHPW_gow~þ|tld]UNF? !&,29?FNT\cjqyՀ¾zskc !&,29@FNT\ckrz½yrkc !&,39@GNU\dksy½yqjb !'-39@GNV]dkszԂ½xpib "'-39@GOV]dks{woha "'-3:AGOV]dls{~voh` "'-3;AGOV^elt{ԃ~vng` "'-4;AGOV^elt|}uog_ "(.4;AHPV^elt|Ճ|uog_ "(.4;BIPW^fmt||unf^ #(.4;BIPW_fnu|Ԁ}ſ|tle] #(.4;BIPX_gov|Ŀzsld] #(/5;BIPX_gov|ÿzrkd] ")/5;CJQX`gnu}þzskc\ #)/5DKR[biqx|unf_W  %*17>EKS[birxԀ|ume^W %+17>EMSZbjqx|tle]V %+18>EMTZcjry{sld]U  %+18?ELT[cjszzsld]U  &+19?ELU\ckryzrkc[U  &,29?EMU\dkszĿzqjcZT  &,29?FNU]dkt{ԃþyqjbZS  &,28@GNV]dkszþxpjaZR !&,29@GOV]dltzþwpiaZR !&,3:@GOV]elt{Ԁ½voh`YR !&-39@HNV]elt{¾~vng`XP !&-39AHOW^fmu|¾~vng_XP !'-3:AHOW^fnu}}vnf_WO "',4;AHOW_fmu}|ume^WO !'-4;AIPW_gnv}|tle^VN !'.4;BIPW_gnv}|sld]VM "'.4;BIPX_gov~Ԁ{skd\UM !(.4;BIPX`how~zrkc\TM "(.5;BIQY`how~zqjc[TM #(.5;CJQY`hpwĿyqibZSL #(/5ELT[cjsz|tle]UNF $*07>ELT\ckszԀ{tld\UMF $*17>FLT[cls{{sld[UMF %*17>FMT[dls{zrkc[TME %+17?FNU\dks{Ԁzqjb[TLE %+28?FNU]dlt{yqjb[SKD %+28?FNU]elt|yqjaZRKC %+29?GMU\emt|ĿxqhaYRJC  %+29@GNV]fmt}Ŀxph`YQJB  &,28@GNV]fmu}ԃÿwog`XPIB  &,29@GOV^fnv}ÿ~ung_WOHA &,39AHOV_fmv~Ԁÿ}uof^VOH@ &,3:@HPW_fnv~¾|tme^VNG@ &-3:@HPW_gnv~½|tle]VMF? !&-3:AIOW_gow~¾|tld]UNF?  &,29?FMT[cjqyԀ}ÿzrlc !&,29@GMT[cjszþyqkc !&,39@FMU\dksz¾xqjb !'-39@FNU]dlsz¾wqib "'-39@GOU]dlsz~xpha "(-39AGNU]dlt{~wpha "(-3:AGNV]elt{}vog` "'.4:AHOV]emt{}vng` "'-4:AHOW^emt||vnf_ "(-4;AHOW^fmt||umf^ #(.4;BIPW_fnu|Ŀ{sme^ #(.5;BIQX_gov}Ŀ{sme] #(/5;BIQX_gov}Ԁÿ{sld\ #(/5;BIQX`gnv}ÿzrlc[ #)/5ELRZbipy}umf^W %*18>ELSZbiqy|tmf^W  %+18>ELS[bjqx|tme^V  %+18>FLS[cjry{tme]V %+17?FMT\cjszԀzrld]U  %+28?EMU\cksyĿzslc\U  %+28?ENU\dkszÿzrkc[T %,29?FNT]dks{þyribZS &,29?GNU]dlszÿwpibZR  &,39?GOU]elszÿwphaYQ !&,39@GOV]elt{¾wph`YQ !&-39@HNV]emu|½~vog`YQ !&-3:AGNV^emt|½~vng_XP !'-4;AGOV^fmu|}umf_WO "'-4;AIPW^fnv}Ԁ>|ume^WO !'-4:AIPW^fnv}{tme]VO !'.4;BIPW_gnv~{tld\UN "'.4ELT[cjrz¼{tme]UMG $*07>ELS\ckrz{sld]UNG $*17>ELS\ckr{zskd\TMF $*17>EMT\dks{Ԁzrkc\SMD %+18?EMU\dks{zrjc[SKE %+18?FMU]dlt{yribZRKD %+18?GNV]dlt|yqiaZRKC %+29?GNV]elt|xphaYQJC  %+29@GNV^elt|Ŀ~xph`YQJB  &,28@GNV^fmu|ÿ~wog_XPIB  ',29@GOW]fnu}ÿ~vng^WOHA &,39AHPW^fnv~þ}unf^WOG@  &,39AHPW_fnv~¾}ume^VOG@ &-3:AHPX_gow~¾|tle]UNF? '-3:AHPX_how½|tld\TNE? :^WE7) 0 ^[J8( '^YD1!  ^S;' %^L5" +^\E-  1^\E+7^M/ <^Q3^ ^\UMG@93,&! \UMF?82,&  [TMF>71+& ZSLE>71+%  ZSLD>70*$  YRKD=60*$  XQJC<6/*$  XPIB<5/)#  WPIB;5.(#  VPIA:4.("  VPG@:4-'"  UNG@93-'"  UMG@92,&!  UNG?82,&   TME?81+&   TLD>71+%  RKD=70+%  RKD=60*$  RKD=6/)#  PJC<5/)"  PIB;5.(#  PIA:4.("  PHA:4-'!  NHA:3-'!  MG@92,&!  MG?82,&   MF?81+%   ME>81+%   LE>70+%  KD=60*$  JD<6/)#  JC<5/)#  JC;5.)"  IB;4.("  HA;4-'!  HA93-'   H@93,&!  F@92,%   E?91+%  F>71*%  E>70*$  D=70*#  C=6/)#  C<5/(#  C<5.(#  B<4.("  A;4-'"  A:3-'!  @92,'   @92,%  ?91+%   ?81+%  >70+%  >70*$  =6/)#  <5/)" ;5.)" ;4.(!  ;4-'!  93-&!  92,'  82,&  81+% 71*$ \TNG@92,'! \TMF?92,&  [TMF?81+%  ZSLE>71+%   YRLD=70*$  YRKC=60*$ YRJC=6/)$ XQJB;5/)#  XQIB;5.("  WPIB;4.(!  VOHA;4-'!  VNH@:3-'!  UNG?92,&!  UNE?92,&!  TLE?82+%   SLE>72+%  SLE>70*%  RKD=60)$  QJD<5/)#  QJC<5/)#  PIB<5.)#  PHB;4.)"  PHA:4-("  OHA93-(!  NG@92,'!  MF>82,&   ME?81+&  ME?81+%  LD>70*$  KD=70*#  KD=6/)#  JC<5/(#  IC;5.(#  IB;4.'!  HA:4-'!  GA93-'!  G@93,&!  G@83,%   F?81+%   F>81+%  E=70*$  D=60*#  D=6/)"  C=5/(#  B<5.(#  A:4.'"  A;4-'"  A:3-&!  @92,&   ?82,%   ?82+%  ?81+$  >70*%  =60)$  =6/)# <5/)#  ;5.)"  ;4.(" :4-'! 93-&! 92,&! 82+%  81+%  71*$ \TNG?93,&! \TLF?82,&! [SLF?81+%  ZSLE>81+%   ZRKE=70*% YRKC<60*$ YRJB<6/*$  XQIB<5/)#  WQIB;5.(#  WPIA:4.(#  WOGA:4-'"  VNG@:4-'!  UMG@:2,&   TNE?92,&!  SME?81+%   SME>71+%  SLE=70*$  SKD=60*$  RKD<6/)#  QJC<5/)"  PIB<5.)#  PIB;4.("  PHA:4-'"  NGA93-&!  NF@92,&   NF?92,&  MF?81+&   LF>71+%  LE>70*$  LD<60*$  JC<6/)$  IC<5/(#  IC;5.(#  IB:4.'"  HA:4-'!  GA:3-&   G@:2+&   F?92+%  E>91+%  F>71+%  E>70*$  D=70*$  D<60*$  C<5/)#  B;5.(#  B;4.'"  A;4-("  A:3-'!  @92,&   @92,%  ?81+%  >71*%  >70*$  >70)#  =6/)#  <5/(# ;5.(" ;4.'" :4-'! ;3-&  :2,&  92+%   81+%  81*$ J ^R0^\?  ^\; ^W1 ^P) ^[4^]9^T"^^R^^;^^(^^^^ ^^^^^^V^^?^^+^^^^^^^^^^Y^^B^^.^^^^^^^^^^[^G^1^ ^^ ^^]^J^5^"^^ ^^^O^8^&^^ ^^^S "(/7?GPYajs~ !'/6>FOX`is| !'.5=ENW_hr{   '-4FOXajt}  &.5=ENW`is|  &-4GOXakt}  &.5=FOW`is} %-4=DNV_hr| %,4GPXblu  '.5=FNX`js} &-4=EMW_is| %,4GOYbku~  &.5=FOXajt}  %-4=ENW`is} %,4GOYclu &-5=ENXaku &-4=EMW`it~ %,4GOYclv  '.5=FOXaku~ &-4=ENW`jt~ $,4FNX`is|  '.5=EMW_hr{  &-4FOXbjs} !'.5=FNV`ir|  &-4FMW`jr| &-4=DMV`hr{ %,4;CLU_gqz %+3:BKS]fpy #*2:AJS\foy #*19AJS[dnx #)08AIRZcmv !(/7@HQYclu  (/6>GPXbkt} '.5=FOWajs} &-4=EMV`is| %,4GOXbku  &.5=FNWajt~ &-4GPYclv  '.5>EOXaku &-4=EMW`jt~ %,4;DLV_is} $+3;CKU^gr{ $+2:BKS]gpz "*19AJS\fpy !)08@IR[eox !(/7@HQZdmw  '.6?GPYclv &-5=FOXbku~ %-4=ENW`jt~ %,4FOX`is|   '/5=ENW_hr|   &-4FNXajt}  '.5=FMV`ir| &-4GOXakt}  '.5=FNW`is} &-5GOXaku  '.5=FNX`jt~  &-4GPYbkt  &.5>FNXaks} %-4=EMW`is| %,4GPYblv  &-5=FOXaku &-46.'!  "(07?HPYbkt~Ž~tkaXOG>6/'"  !)/7?HPYbkt~ƽ~ukaYPG?7/("  !)/7?GOYakt~ƾukbYPH@70("  !(/6>GOXakt~ǿvlcZQH@80)"   (/6>FOXajt}ǿwmdZQH@81*"   (.6>FNX`js|wmd[RIA91*#   '.6>FNX`is|xnd\SJA92*#   '.5=FMW`is|yoe\SJB:2*#  !&-4=EMW`ir|¹yoe]TKB:3+$   '-5=DNV`ir|ºzqg]UKC;3,$  &-4=DMU_ir|ú{qg^TKD;3,$  &-4=DMU_hr|Ļ{qh^ULD<3,%  %,46/(   $+2:BKT^gpzǾulbYPG>7/'!  $+2:BJT]foyǿvlcYPG?7/(!  #*29BJS]foywmcZPH?80)"  #*29BJS\eoywmc[QI@80)#  #)19BJS\dnx¹xnd[RJA91)#  ")19AJR[dnx¹yof\SJB91*#  #)08@IR[dnxûyof\TKB:2*#  "*08@HQ[dnwûypf]TKB:2+#  !)08@HQZdnwĻzpg^UKC;3,$  !(08@HQZcmwż{qh^ULC;3,%  !(/7?HPYclvŽ{rh_VLD<4,%  !(/7?HPYbmuŽ|rh`VME<4-&  !(/7?GPYbluƽ}si`WNE<5-&   (.6>GOYbkuǾ}tj`XNE=5-&   '.6>GPYaku~ǿ~ukaWOF=5.&   '.6=FOYbkuulbXOF>6.&    &.5>FOXbkuulcYPG?6/'    &-5=FOXakt~wmdZQH@7/'!  %-5 &-46.'  #)08AIR\eoy¹wlbZPG>6.'   ")08AIR\eoyûwmcZPH@7/(!  !)08@IR[eowúxne[RH?7/(!  "(/7@IR[dnwĻyne[RI@70(!  !'/6@HR[dowƾwmc\RJA91+#  %,3:BKT]eowǿwne\SJA92+$  $,2:BKS\enwǿxne\SJB:2+$  $+2:AJS\enxxoe\TKC;2+$  $+29AJR[dnwyof]SKC;3,%  #*29AIQ[dmw¹zpg^TKD;4,%  #*19AIQZcmwºzqh^VLD<4-&  #*19AIQZcmvº{qh_VLE<5-&   "*18@IQ[dluü|ri_WNE=5-&   ")08@IQZclu~ļ|ri`WOF>6.'!  ")08?HQZbluļ}sj`XOF>6/'!  ")07?HQYcluļ}tkaXOG>6/(!  ")/7?HPYbluƽ}ukbYPG?7/(!  !)/7?GPXbkt~ƾ~ulbYQH@70)"  !(/6>GOXbkt~ƾvmbZQH@80*#  !(/6>GOXajt}ǿwmcZQI@81*"  !'.6>FOX`jt|ȿwmd[RI@91*#   '.6=FOW`js|xne\SIA92*#   '.5=FNW`js|xof\SKB:2*#   &-5=ENW`js|ypg]TKB:2+$  &-5=ENW`ir{zpg^ULC;3+$  '-46.'   $,3:BKT]gpyƾ~ukaXPF?6/(   %+2:BKT]fpyǿ~ulbXPG?7/(!  $+2:AJT]eoxǿulcYQG@7/)!  #*2:AJS\fpyȿvmdZQH@80)"  #*19AJS\foywmd[QH@80)#  #)19AJR\enxºxnd[RIA91)#  #)19@IR\enxºxoe]RIA91)$  #)18@IR[enxúyof]SJB92*$  "(08@IR[emwûzpg]TKB:2+$  "(08@IQ[dmvûzqg^UKC;3+%  ")07?HQZcmwļ{qh^TKD;3+$  "(/7?HQZclvż{rh_ULD;4,$  "(/7?HQZcluƾ|si_VME<4,%  !(/7?GPYcluƾ}sj`WNE<5-&   '/6?GPYblu~ǿ~tjaWOF=5-&  ?  '.6>GPXbku~ukbWOF=6.&!   '.6=FOXbkuukbXPG?6.'    '.5=EOXakuvlcYPG?6/'!   &-5=EOXakt~vmdZQH?7/("   &-5 &-46.&   ")08AJS\epy¹wmcYPG>6.'   "(08@IR[eoyúwmdZPG@7/(!  !)08@HR[dnyúxne[RH?7/'!  !(/7@IR[dnxĻxod[RI@80(!  !(/7?HR[dnxƾvmd[RIA91*$  %+3:BKT\foxǿwmd[SJA92+% ~ %+2:BKS\fnxǿwne\SJA:2+%  $+2:BJS\enxȿxpf\TKC:3,%  $+29AJS[dowypg]SKC;3,%  $+19AIQ[dmw¹zpg^TLD;4,&  $*18AIR[dnwºzqh^VMD<4-&  #)19@IRZdnvú{qh_VMD<5-&   "*19AIRZclvü|rh_WND=5.'   ")08@HQZblv~Ľ}si`WNE=6.'!  "(08?HPYbluĽ}sj`WOF>6/'"  "(07?HPYbkuļ}tkaXNG>60("  ")/7@HPYbku~Ž}ukbYPG?70(!  "(/7?GOYbkt}ƾ~ukbYQH@70("  "'/6>FOXajt~ǿvlcZQH@80)#  !'/6>FOXajt}wmdZQHA91)"   (.6?FOXajs|wme[RIA91)#   '.6=EOW`is}xoe\SJA92*$   '.5=ENW`is|xpe\SKB92+%   &-5=EMW`is|¹yof]TJC:2+%   &-55.'   $,3;BKT]gqyŽ~tjaXNF?6.'   $+3;BKT]fqzƾukbXPG?6/'!  $+2;CKT]fpyǿulbYPF?7/("  $+2:BKT]eoyvlcYPH?7/)!  #+29AJS\foywmdZQI@80)"  #+19AIS\eoxwmd[RI@80(#  $*19AIS\dnxxnd[RIA91)"  #)19@IR[dnxºyoe\RJA91*#  "*09AIR[dnxûype\SKA92+$  "*08@IR[cmwûzqf]TKB:2+$  ")08@IQZcmwĻzpg_TLB:3+$  !(08@HQZdmwż{qg^ULD<3+$  !)/7?HPZclvŽ|rh_VMD<4,$ ? !(/7?HPYcmvŽ|si`VME=4,%  !'/6>GPYclvƽ}sjaWME=5-%  !'.6>GPYbluǿ~tj`XOF=5-&   &.6?FOYbktǿukbXNF>5.&   '.6>FOXbkuukcYOG>6.'    '.5=FOXakt~vlcZPG>6/(    &.5=FOXajt~vmcZQH?7/(!  &.55-'  X ")19AJS]foy¸ulbYOF>6.'   !)08AJS\foy¹vlcYPF>6.'   ")08@IR[eoyºvmdZQH?7/(   ")08@HR[dnyúxnd[RH?7/'!  !(/7@HQ[dnxļxoe[RI@80)!  !(/7@HQ[dnw^û|rh`VNF=6.'   û|si`WNF=6.'!  »{si`WNF=5.'!  û{rh_WMF=5.'   û|ri`VNE=5.'   û{ri`VME=5.'   û{ri_VME=5.'!  ü{ri_VNE=5.'!  »{ri`VME<5-&   û{ri`WME=5-&   û{ri_VNE=5-&  »{rh_VNE<5-'  û{rh_VME=5-&   û{ri_VME=4-&  ü{ri_VMD=4-&  û{qh_VMD=4-&   û{qh_UMD<4,&   û{rh_ULD<4-&   ûzrg_VLD<4-&   ûzqg^VMD<4,%  ûzrh_VMD<4-%  û{qh_VMD<4,%  ü{qg_UMD<4,%  ü{qh^UMD;4,%  û{qg^UMD;4,%  ûzqg^ULD;4,$  ûzqg^ULD;3,%  Ļzqg_ULD<3,%  Ļzqg^UKC;2+%  üzqg^UKC;3+$  Ļzqg^UKC;3+$  ûzqf^UKC:3,$  ûzpf]UKC:3+$  ûzpg]ULC;3+%  Ļzpg]TLB;3+$  Ļzpf]TKB:2+#  Ļypg]TKC;2+#  Ļzpf]TJC;3+$  Ļzpf]SKC:2+$  Ļzpf]SKB:2+$  Ļypf]TJB:2+#  ûzpg]TJB:2+#  Ļzpg]TKB:2+$  Ļzpf]TKB:2*$  Ļypf]TKB:2*#  Ļypg]SKB:1*#  Ļypf\SKB91*$  Ļyoe\SKB91*#  ļyoe\SJA91*"  ļzof\SJB91*#  Ļyof\SJB91)#  Ļyof\SJA92)#  Ļyoe]SJA91*"  Ļyoe\SJB91)#  Ļyoe\SJA91)#  Ļyoe\RIA81)#  Ļyoe\RIA80)"  üyof\SJA80)"  üyoe\RI@80("  üyod\RIA80(!  Ļyoe\RIA80(!  Ļyoe\RI@80)!  ļyod[RIA80)"  Ļyoe[RI@80)!  û{ri`WNF=6.'!  û|sj`WNF=6.'   »|si`WNF=5.'   û{rh_WNF=5.&   û{ri`WME>5.'!  û{ri_WNE=5.&   »|rh_WND=5.&   »|rh_WME>5-&   û|rh_VNE=5.'   û|rh_VME=5-'   »{rh_VME=5-'   ¼{rh_VME<5-&   ûzqh_VLE=5-&   ûzqh_VMD=5-&   û{qi_VMD<4-&   û{qh_VMD<3-%  û{qh_VMD<4.&  ûzqh_VMD<4-&   ûzqh_VMD<4,&   »{qh^VMD<4-&  »{qh^VLD;4,%  û{qh^VLD;4,% ~ Ļ{qh^ULD;4,%  û{qh^ULD;4,%  ûzqg^TKC;3,%  ûzpg^ULC<3,%  Ļzqh^ULC<3,%  Ļ{qh_ULC;3,%  ü{qh^ULC;3,%  Ļzqg^UKC;3+%  Ļzqg_UKC;3+$  Ļzqh^ULB;3+$  Ļzpg^ULB:3+$  Ļzpf^TLC:3+%  Ļzqg^TLC;2+$  Ļzqg^ULC;2+$  Ļzpg^TKC:2+$  ûzpg]SKC;2+$  üzpf]SKC;2+$  ļzpf]TKC:2+#  ļzpf]TKB:2*#  Ļzpf]TKB:3*#  Ļzpg]TKB:2*#  ļzpg]SKB:2*#  üzpg]SJB:2*#  ûypf]TJB92*#  ûypf]TKB92+#  Ļzof\SJA91*#  ûypf\SJA91)"  ûypf\SJA91)"  Ļyof\SJA91)"  Ļyoe\SJB91*"  Ļyof\SJA91)"  Ļyof\SJA91)"  Ļxof\SJA81*"  ûxpf\RJA80)"  Ļyof\RIA80(#  ļyof]SI@80(#  ļyoe\RJ@80)"  ļxod\RI@80)"  ļxoe\RI@80("  ûyoe[RIA80("  ļyod[RI@80(!  Ļyoe[RI@80)!  û{rh`VNF>6.'!  û|rh`WNF>6.'   û|rh_WNF=5.(   »{rh_WME>5.'   ü{ri`WNE=5.'!  û{ri`WNE=5.'   û{ri_VME>5.'   û{ri_VMD=5-&   ü{rh_VME<5.'   û{rh_VME<5-'   »{ri_VNE<5-&   ¼zqi_VNE<5-'  û{rh_VME=5-'   û{rh_VMD=4-&   û{rh_VMD<4-%   û{qh_VLE<4-&  ûzqh_ULE=4-&  ûzqh_UMD=4-&  ûzrh^VMC<4,%  û{qg^VLD<4,&   û{qh^VLD;4,%  ûzqh^VLC;4,%  ûzqg^ULC;4,%  ü{rh^TMD;4,%  û{qh^ULD;3,%  û{qh^ULC;3,%  û{qh^ULC;3,%  Ļ{qh^UKD;3,%  Ļzqh^ULC;3,%  üzqg^ULC;3+$  Ļzqf^ULC;3+$  Ļzpg^ULC;3+$  ļzpg^UKC;3,%  ûzpg^UKB;3+%  ûzpg^UKB:3+$  ûzpf]TKC:2+$  Ļypg]SKC:2*$  Ļzpg]TJC:2*#  Ļypg]TJC:2*#  Ļypg]TKC:2+#  Ļypg]TKB:3+#  Ļypf]TKB:3*$  Ļzpg]TKB92+#  Ļzpg]TKB:2*$  Ļzpg]TKB:2*#  Ļypg]SKB91*#  Ļyof\SKB91*# > ûzpf\RJB91)#  ûyoe\SJB91)#  Ļxof\SJA91*"  ļyof\SJA91*"  Ļyof\SIA91)#  ûyof\RJA91*#  Ļyof\RJA91*"  Ļyof\SIA91*"  ûyof\SJA90*#  Ļyoe\SJA80)"  Ļxoe\SJA80("  Ļyoe\RI@80)"  Ļyoe\RI@80)!  Ļyod\RI@80(!  ûyod[RI@80(!  Ļyod[RIA80(!  Ļxne\RI@80)!  ^!(-4;BIPX`gow½{tld\UME>!'-4;BIQX`howzrkc[TLD>"'-4;BIQY`ipxyrjbZSKD="'.4;BJQYahpwԀxribYRJD<"(.57$*06=EMT\dks{½{tld[TME>7$)07>FMU\dlt|Ԃ½{skc[TLD=6$*08>FLU]dlt|½zrjb[SKD=6$*17>FMT\elt}zribZRJC<5$*17?FNU]elt|ԀyqiaYQJC;4$*17?GNU^emu|xph`XQIB:4%+18?GNU^enu}xph`XQIA;3%+18@FNV^fmv~wpg_WPHA:2%+29@GOV^fnv~Ӏ~vnf_VOG@:2%+29@HOV_fov~Ŀ~vmf^VOG@91%,29@HOW_gnwĿ}ume^VNF?71 &,29@HPX_gow~Ԁ}ÿ|ume]UNE>70 &,39@HPX`gpxþ{tld\UME>70 &,39AIOW`hpxþ{slc\TLD=6/!&,3:AIPX`hqxþ{rjc[RKC=6/ &-3:BIQX`hqy¾zrjb[SKC<6.!&-3:BIQXaiqy½zribZRJB;4.!'-4;BIQXairyԀ¼yriaYQIB:4-!(-4;BJRYairzyqh`YPIB:3, (.4;CJRZbjrzxph`XPIA92,!'.4;CJRZbjszwpg_WPH@92,"(.560)"(/6=DLT\dlt|Ŀ|tld\TLD=6/("(/6=EMT\dlt|ÿ|tkc\SKD<5/(#)/6=EMU\dlt}ÿ{skc[RKC<5.(")06=ELU]emu}ÿ{rjbZSJB;4-'#)06>ELU]emv}þyqibZRJB:4-&#)07>FMV]emv~¾ypiaYQIB;3,&#*07?FNV]fnv~¾yph`XPIA:2,&#*08?FNV]fnv~Ԁýxpg`WOH@92+%$*17>FNV^fowxog_WNH@91+$$*18?GNW_fnwwnf^WOF?81*#$*18@GNW_gow~vnf^VNE?70)#%+18@HOW_goxԀ}}vne]UNE>70)#%+29@HPW`hpx|ule]UME>6/(!%+2:?GOX`hpx|umd\SLD=5/(!%+29AHOX`hpy|tkc[RKC<5.'!%,29AIPYahpxĿ{tkc[RKC;4-'!%,39AIQYaiqyĿzrkbZRJB;4-'  &,3:BIQYairzӀ<ÿyqiaZRJB;3,&  &,3:BJQYajrzþzqiaYPIA92,% &,3:BJRZbjr{þyph`XOHA:2+$ &-4:BJRYbjsz½xog`WOG@81+$ &-4;BJRZbks{½xog_WOF?71*$!&-4;CJS[cks|Ԁ½wog^VNF>70)#!'-460)" (.5!'-4;AIQX`howzskc[TLE>"(-4:BJQY`hoxzsjb[SLD="'.4;BIRYahpxyribZRJC<!'.57#)06>ELT\dlt{½{skd[TLE>7#*07>ELU\dlt{½zskcZTKE=6$*07=EMU]dls|ԃ½yrjb[SKD=6$*08>EMU\elu|yribZRJC<5$*18?FMU]emu}yqiaYQJC;4%*18?FMU^emt}ԄxqhaXQJB:4%+19?FNV^emu}xoh`WPIA:3$+18@FOV]fnv~Ԁ=woh_WPHA92%+29@GOV^fnv~~vng^WOG@82%+29@GOW_fnw~}vnf^VNG?81%,29@GPW_gowĿ}vme^UMG?81 %,29AHOW_hpwÿ}ume\UME>70 &,39AHPW_howÿ|tld\UME>60 &,3:AHPW`hpwþ{skc\TLE=6/ &,3;AIQY`hqwԃý{skc[RKD<5/ '-3:BIQX`hqy½zrkb[SJC<5.!'-3:BIQYaiqy½yrjbZRJC;4.!&-4;BIQYaipyԂ½yqiaYQJB:4- '-4;BJQYajqzypi`YPIB:3, (.4;BJQZbjrzԀxph`XPIA93,!'.570*"(/570)"(/6=DKS\dlt{Ŀ|tld[UME=6/(#(/6=DLT\dlt|Ŀ|tlc[SLD<5/(#)/6=DMU\dmt|Հÿ{rlc[RKD<5.'#)06>EMU]emu}þzrkbZSKC;4-'#*07>FMT]emu}ýzrjaYRJB:4-&$*07>EMU]emu}½yriaXQIA:3,&#)07?EMV]fnv~Ԁ½xqh`XPI@:2,%#*08?FNU^fov~½xpg`XOH@92+%$*17?GOV^fov~xog_VOG@81+$$*18?GOV^gowwog_VNG>81*#$*18@GOW_gpx~vnf^VMF>70)#$+18@GOW_hpx}ume]VMF>70)#%+29@GPW_gox}uld]ULE=6/)"%+2:@HOW`hpxԀ}uld\SLD<5/(!&,29AIPX`hqy{skc[RKC<5.'!%,2:AIQYahqyĿ{rkcZRJC<4-'!%,3:AIQYairxĿ{rjbYRJB;4-& &,3:AIQYairyÿzriaYQIB;3,& %,3:BIQZaiqzÿzqjaXPIA93,% &,3:BJQZbjs{ýypi`XPHA92+% &-4;BJRZbjrz¾xph`XOG@81+$ &-4;BJRZbjr{¾wog_WOG?81*$ &-4;CJRZcks{½wnf^VNF?70)#!'-4;CKS[cls{~wnf^UME>60)"!'.5!'-4:BHPX`hox½zskc[SLE>!(-5:BIPX`ipx½zrjb[RKD="'.4;BJRX`iqxzqibZRKD<"'.57#)06>ELT[dls{þ{skd\TLE>7#*07>EMU[dls{Ԃ¾{rkc[SKD=6$*07>FMT]dlu|½yskbZRKD<5#*17>ENU]elu|yqjbZQJC;5$*17?ENV]emu}ypiaYQIB;4$*18?FNV]emu}ԀxphaYQIB;4%+19?GNU]fmu}woh`XPIA:3%+18@FNV^fmv~wog_XPHA:2&+28@GOV_fnv~~vnf_WOH@:2 %+28@HOV_fow~Ŀ}vnf^VOG@91%,29?HOV^gowĿ}ume^UNF?71%,29@HOW_gowÿ}tle]UNE>70 &,3:AHPX_gowÿ|tld\ULE>70 &,3:AHPX`hpwþ{skc\TLD=6/ &,3:AIPX`hqwýzrlc[SKC<6/!&-3;BIQX_hqxþyrkbZRKB;5. &-4;BIQX`hqy¾zqjbZRJB<4. &-4:BJQYairy½ypiaYQIB;4-!'-4;CJRZairyԀyph`XPHA;3,!'.4;CKRZbjqyxpg`XPHA:3,"'.570*"(/560)#)/6=EKS\dlt|Ŀ|tld\TLD=6/(#)/6>ELT\dlt|Ŀ{skc\SLD<5/(#)/6>ELU\dmt|ÿzrkc[RKD<5.(#)06>EMU]emt|þzrjbZQJC<4-(#)06>FMU\enu}þzribZRJB;4-&#)07>FMV]emu~¾yriaYQIB:3,&$)07>FNU]fmu~½yph`XPIA92,%$*07?GNU]fnv~¼xph_XOH@92+$$*18?GNW^gowxog_WOG@81+$$*19?FOW_gnwԀ=~vnf^VOF?71*$$*19@GOW_gow~vmf]UNE?70)#%+29@HOW_gow~ume]UNE>60)#%+28@HPX_gox}uld]UME=6/)"%+29@HOX_hqx|tld\SLD=5/(!%+29AHOX`ipx|tlc[SKC<5.'! %+29AHPXaipyĿ{skc[RJC;4-'! %+39AHQYaiqzĿ{rjbZRJB;4-'  &,3:AIQYairzÿzqiaYRIB;3,% ',3:BIRYaiqzԃþzqjaYPIA93,%  &-3;BJRZbjr{þyqi`XPGA92+% '-4;BJRZbjs{Ӏ½xph_WOG@81*$ '-4;BJRZbks{½xog_WOG?71*$!'-47/)" '.5FOYbmv &-4=FNXaku %,4HQ[cmx &.5=GPYblw %-4=FOXbku $,4HQZdnx &-5>GPYcmw %,5=FNXblv %+4FPZcnx %,5=FOYblw $+4FPZcnw %-5=FNXcmv %,4GPZdoy $,5=FPYcmx $+4=ENXblw #+3;DMWakv #*2:CLV`ju "(19BLU_is}  (08AKS^gr|  '/7@JR]gq| &.6?IQ\fp{  &-5?GQ[epy  %,5=FPZdnx  $+4=ENYbmw  $+3HPYcmv &.5=FPYblu %,4=ENWakt $,4GPZcmx  '.5=GPYcmw %,4=FOXblu $,4GPYbmw &-4=FOXblv %+4FPYcmw $+4=EOXbmu #*3;DNWaku "*2:CLU`jt !)19BLT^is~ !(08AJS^hr|  '/7@IS]gp{ '.6@HR[foz &-5>GQ[dnx %-5=FOZdmx $,4HPZeoy  %-5=FPZdnx  #+4=EOYcmw  $*3;DNXblv  "*2:CMW`ju  !)19BLU_it  !'08AKT^is}   '/7@JS]gr|  &.6?IR\fq{  (.6>GPZcmw '.5=FOYblv &-4=FOXalu~ $,3GPZdmw &.5=GOXblv %-5FOXblv $,3=ENWaku~ #+3;DMU`it~ "*2:CKU_hs} ")19AKT^gq| !(08@IS]gp{  '07@IR\foy  '/6?HQZenx  '-5?FOYdmw &-4=FOYclw $+4=ENWbku #+3;DMV`jt "+2:CLV_is~ ")19BKU^hr| "(08AJT]hq{ !(/7?IS\fpz '.6?HQ\doy &-5>GPZdox %,4>FOYbnw %+4FPYcmx %+4GQ[doy  $,5=FPZcnx  $+4=EOYcmw  #*3^+^*^+^^+^^+^^+^^+^W^*^A^*^-^*^^*^^*^^*^^*^Z^)^E^)^0^)^ ^)^^)^^)^^)^]^(^I^(^4^(^"^(^^(^ ^(^^(^)^L^'^7^'^%^'^^'^ ^'^^'^(^Q^&^:^&^(^&^^&^ ^&^^&^^&^żypf\SJA80(!   '/6?HQZcnwżzpf\SJA91)"   '/7>HQZcmwŽzpf]SKB91*#   '.6>GQZcmwƾ{qh_SKB:2)#   &.6>GPYblvǾ{rh^ULC:2*$   &.6>GOYblvǿ|si_VLC:3*$   &-5>FOYblv}ti`VMD;3+$  &-5=FOXblv~tjaWND<3,$  &-5=FOWbku~tkaWND<4,&  %-45-&  %,3;DMW`jt}ĻwmcZQG?6.&  %+3;CMV`js}ļxncZQH?6.'   $*3;CLV_js}Ľynd[RH?7/(  ? #*2;DLU_hs}Žyoe[RI@7/'!  #+2;CKU_hr}ƾzpe\SJ@80)!  "*2:CLU^hr}ǿ{pg]SJA80)"  #*19BLU^hr|ǿ|qg]TJB91*"  "*19BKU^hr|ȿ|rh^UJB91*"  "*19BKT]gr||ri_UKB:2*"  ")09AJS]gq{}si_VMC;2*#  ")08AIS]gq{~ti`VLD;3+#  ")08AIS\fp{¹~tkaWND<3+$  !(08@JR\epzúukaXNE<4,$   (/8@IR\fozûvlbXOF<4,%  !'/7@IR[fpyûwmcYOF=5-%  !'/7?HR[eoyĻwncYPG>5-&   '.6?HQ[enyżxncZQF?6.&   '.6>GQ[enxƽyne[QH?6.&   '.5>GQZdnxƽype[RH@7/&   &-5>FPZdnwǾzpf\RH@7/(   &-5=FOZcmwȿzpf\RIA8/(!  &-5=FOYcmw{qf]TJA80(!  %-5=FOYcmv|rg^TKA90)!  %,45-%  "*2:CKU_it~ǾyndZQG?4-%  "*29BKU_hs~ǿxpd\QH>6.&  "(19BKU^hr|ȿzpf[RI?6.'  ")09AKU^ir|{pf\SI@7/(   !(08AKT^gr|{qg]SJ@7/'    (08AJT]hr|%|rg]TJA80(!  !(08AJT]hq|¹}sh_TJB90)!  !'08AJS]gq|ù~si_ULB91)!   '/7@IS\fq{ú~ti_VLC:1*"  '.7@IR\fp{Ļtj`VLC:2*"  &.6@IR\epzļtk`WMC:2*"  '.6?HR[epyżulbWND<3*#  %-6?HQ[eozżwlbXNE;3+$  %-5>GQ[eoyƾwmcYOE=4+$  %-5=FQZeoyǿxncZPF=4,$  %-5>FQZdoyȿxndZPG=5-%  %,4=FPZdnxȿyodZQG>5-%  %,4=FOYdnxzpe[QH?6-%  $,4GQZdmvƾ{qh^TJC:2*# > '.6>GPYblwǾ|rh^ULC:2*#  &.6>GPXbmvǿ|si_VLC;3+#  &-5=FOXblv}tj_VMC;3+$  &-5=FOXblv~tk`WME;4,$  %-5=FOXbkuukaWME<4,%  %,45-&  %,4=ENWakuºvlcYPG?5.'  $,36.&  '.6>HQZenxƽxndZQH?6.&   '.6>GQ[enwƾypd[QH@7/'  &.6>GQZcmx>Ǿzpe\RI@7/(   %-5>GPZcnxǿ{pf\SI@8/(!  %-5>FOYcmwȿ{qg^SIA80("  %-4>EOYcmv|rh^SJA90("  $,4=FOXclw}ri^UKB:1*"  $,45-&  !*19BLU_is}ǿyod[QH>6.&  !(19BKT_is~ȿzof[RH?6.'   "(09BJT^ir|{pf\SI?6/'!  !(09BKT^gr|{qg]SI@7/'   !'08AJT]hr||rg]SJA80'   !(/7AJS]hr|}rh^SKB90(!   '/7@JS]gq{¹}si_TKB91)!   '/7@IS\gq{ú~tj_VLB:1)"   '.7@IS\ep{Ļtj`VLB:2*"   '.6?IR\epzŻulaWMD;2*#  &.6?HQ[fpzżvlbWND<3+$  %-6>HQ\fozżwlbWME;3+#  &-5>HQ[eoyƽwmcYNE<4,$  %-5>GQZeoyǾwndYPF=4,$  %-5>GPZdnyȿyndZPF=5-%  $,4>FPZcnyyod[QF>5-%  $,4=FPYdmxzpe[RH>6-&  %,4GPYdmvƾ{qh^TJB:2*#  &.6?GPYclwǾ{qh^UKB:2*$   &.6>GPYclvǿ|ri_VLC;3+$  &.5=FPYblv}si_VMD;3,$  &-5=FOXblv~tj`WME<3,%  %-5=FOXbku~ukaWME=4,&  %,45-&   %,46.&   '.6?GQ[dnyƽynd[QH?6.&  '.6>GQZcnxƾyoe[RH@7/'   &-6>GQZcmxǾzpf\RI@7/'!  %-5>GPZcmxǿzqg\SIA80'!  %-5>FPYcmwȿ{qg]SIA80(!  %,5=FPYcmv|rg^TJA90)!  $,45-&  ")19BLU_it~ǿyoe\QH>6.&  !(19BJU^hs~ȿzoe[RI?6.'   !(09BKU^hr|{pf\SI@7/(   !(08AKT_hs|{qg]RI@7/'!  !(08AJT^gr||rh]SJA80(!  !(/8@JS]gq||rh^UKB90)!   '/7@IS]gq|¹}si_UKB91)!   &/7@IS\gp{útj_ULB91)!   &.7@HR\gp{ûtk`VLC:2*"   &.6?HR\fpzŻuk`VLD;2*#   '.6?HR[fpzƼvlaWNC;3+#  %-6>GR[eozƾwlbXNE<3+$  &-5?GQ[epzǾxmcYNE<4,%  &-5>GQZeoyǾwmcYOF=4,$  %,5=GPZdnyȾyncZPG=5,%  $,5=FPZdnyzoeZPF>5-%  $,4=FPZcnxzpe[QG>6-&  $,4=FOYcmx{qf\RH?6.&  #+46.'   ĻxndZPH>5.'   ĻwmcZPH>6.'   ĻwmdZPH>6.'  ĻwmdZPH>6.'   ĻxncZPG>6.&   ĻxndZPF?6.&  ĻxmdZPG>6.&  ļwmcZPG>6.'  ĻvmdZPG>5-&  ĻwmcYPG>5-%  ĻwmbYPG>5.&  ĻwmcYPG=5.&  ĻwmcYPG=5-%  ĻwmcYPF=5-&  ĻwmbYOE>5-%  ĻvmcYPF=5-%  ļwmcYPF=5,%  ļwlbYOF=5,%  ĻwlbYOF=4,%  ĻvlbYOF<4,&  żvlcYOE=4,%  żwlcXOF=4,%  żvlcXOF<4,%  ŻvlcYNF<4,$  żwlbXNE<4,%  ĻvlbXNE<4+%  ĻvlbXOE<4+$  żvlbXNE<4+$  żulbWND<3+$  >ĻvmbWNE<3,$  żvkaXNE<3+#  żvlbXNE<3+#  żvkaXNE<3+$  żvlaXND<3+#  $ļvkaXND;3+$  ļvkaWND;3+$  żvkaWND<2*#  żukaWND;2*#  żukaWND;2*#  ŽvkaWND;2+#  żvkaWMD;2+#  ĻvlaWMD;2*#  żvkaVMD:2*"  żuk`WLD:2*"  żuj`VMD:2*#  żukaVMC:2*"  żuk`WMC:2*"  żuk`VMC:2*"  żtj`VMC:1*"  Ļyne[QH@80(!  ûxne[QH@80("  ûxne[RH@7/(!  Ļxnd[QH@7/("  Ļxne[QI@7/'!  Ļxnd[QH@7/'!  Ļxnd[QH@7/(!  Ļxnd[QH?7/(   Ļwnd[RH@7/(   Ļxnd[QH?7/'!  ĻxndZQH@7/'   ĻxndZQH?7/'   ļxneZQH?6.'   ļxndZQG>6.&   ĻwocZPH?6.&   ļxodZQH>6.'  üwncZPG?6.'   ļxmdZQG>6.'   ļxmdZQG>6.&   ļwndZPF>6.&  üwndYPG>6.&  ĻxmdZPG>6.&  ĻwmdZPG>6.&  ĻwncZPG>5-&  ĻvmcZPF=5-&  ļwmcYOF=5-&  ļwmcYPG=5-&  ĻwmcYPF=5-%  ŻwmcYPF=5-&  ĻwncYPF>5-&  ĻwmcXOF>5-&  ŻwlbXOE=5-%  ŻwlcYOE=5-%  ŻwlcYOE=4,$  ĻwlbXOE=4,$  ĻwlbYOF=4,%  ŻwlcXOF=4,%  żwlbXOF<4,%  ŻwlbXOF=4,%  >ŻwlbXNE<4,$  żvlbXNE=4,%  żvlbXOE<4,$  żvlbXNE<4+$  ŻulaXNE<4+$  ĻvlbXNE<3+$  żvlbXNE<3,$  żvkaXNE;3+#  żvkaXNE;3+#  ĻvkbWNE;3+#  ļvlbWME;3*#  żvkaXMD<3+$  żvkaWMD<3+$  żvkaWMD<2+#  żvkaWMD;2+$  żvkaWND;2+#  ļvkaVMD;2+#  żukaWMC;2*"  żuk`WMD:2*"  żukaWMD:2*"  .żuk`WMC:2)#  ļukaWLD;2)"  żukaWLC:2*"  żuk`VLC:2*"  żtk`ULC:2*"  7Ļxne\RH@80)!  Ļxnd[RI@80(!  üxnd[QI@8/'!  Ļynd[RI@7/'!  ûyne[RI@7/'!  Ļxoe[RI@7/(!  Ļxod[RH?7/(   Ļxnd[RH?7/(   Ļxne[QH?70(   ĻxneZQH?7/'   ûxndZQH?7/'   ûxndZQG?7/'   ûxncZQH?6.'   ĻxncZQH?6.'   ĻxncZQH?6.'  ĻxndZPG>6.'   ĻxmdZPG>6.'   ļxmcZPG>6.&   ļxmdZPG?6/&   ĻwmdZPG?6/'  ĻvmcZPG>6.&  ĻwmdZPG>6.&  ĻwmdZPG>6.'  ĻvncYPG>5-&  ĻwmdZPG?5-&  ĻwmdZPG>5-&  ļwmcYPG>5-&  ļwmcYOF>5-&  ĻwmbYPG=5-%  ĻvncZPF=5-%  ĻvmcYPF>5-%  ļwlbYPF=5-%  żvlcYOF=5,%  ĻvlbXOF=4,%  ĻwlbXOF=4-&  ŻwlcYNF=4,%  ĻvlcXOF<4,%  ĻwlbXOF<4,$  ŻwmbXNF<4,%  ĻvlbXOE<4,$  ļulbXOE<4,$  ļvlbXOE<4+$  ĻvlbXNE<4+$  ĻulaXOE=3,%  żulbXNE<3,$  żvkaXME<3,$  żulbXNE<2+$  >żvkaXNE;3+#  żvkaXND;3+$  żvkaWND;3*#  ļvkaWND<3+#  ĻvkaWND<3+#  ļvkaWMD;3+#  żvlbWMD;2+$  żvkaWMD;2*#  ĻvkaWNC;3+#  żukaVMC;2+"  żvlaVMD:2*#  ļukaWMD;2*"  żukaWLD;2*"  żukaVMD;2*"  żukaVMC:2)"  żuk`WMC:2)"  żtk`VLC:1)"  ^"'.5ELT]fnv}ĿyriaYQIA92,%#)/6>EMU^fnv~Ŀyqi`XPIA92+$"(/6>EMV^fnw~ÿyqh`XOH@81*$")/7>FMV^gnw~ÿxpg`WOG?81*##)07>GMV_gowþxog_VOF?70)"#)07?GNW_gpx½wnf^VNF>80)#$*07?GOW_gpxԃ¾vnf^VNE=7/("#*18?GOW_hqy½~vme]UME=5.("#*19?HPX`hqy¼}umd\TLD<5.'!$+19?HPX`hqyԀ?|tld\SLC<5-& $+18@GPX`hrz|tkc[RKC;5-& $+29@IPXairz|skbZQJB:3,% $+29AIQYaiqyzskbYQIA:3,%$+29AHPYairzzrjaYPIA92+$$+2:AHPYbjr{ԀyrjaXOH@91*$%,3:AIQZbjr{xqi`XOH?91*#&,3:BJRZbjs|Ŀxog_WOG?80*#&,3;BJRZcks{ÿwog^VOE?70)#%,3:CJS[ckt|ÿwog^VNF>6/)"'-4;BJSZckt}Ԁþvnf]ULE=6.(" &-4;CKTZdlt}¾~ume]TLD<5.'! &-4;DLS[dlu}¾~uld\TKD;4-'  &-4ENV^gpxĿxpg_WNF>70)" ")/7>ENV_hpxĿxog_VNE>6/(" "(/6>GNV_hpyĿwof^VME=5.'! ")07?GNW_hqyĿwne]ULE=5.'! #)08?GNX`hqyԃþvme]TLD<4-&  #)07?FOW`iqzý~umd\TKC<4-' ")08@GOX`irzþ}umd[SKC:3,% #*19@GOXajrz¾}tlc[RJB:2+% $*18@HOXajrz½|skbYQIA92+$ $*18@IPYajszԀ=½|rjbYQI@81*$ $*18AIQYbks{{riaYQH?81*# $*29AHQZbjs{zqi`XPG?80)# $+29@IQYbls|yph_WNG>70(" $+29BJRZclt}ypg_VMF=6/(" %+29AJR[ckt}xpg^VNE=5.'! %,3;BKR[clt}xof^VME<5.'! %,3:BJS[dlu~wne]TLD<4-'  %,3:CJS\dmu~Ԁ=Ŀvme[TKC;4-& %,3;CKS\env~Ŀ~uld[TKC;4,% %,47/(" !'.6=EMV_goyӄypg_VNE=6.(!  '.6>ENV_gpyxpg^UME=5.'   '/6>ENV_hqzԀwof]ULD<4-&  !(.7>FNW`hrzwnf\TLD;4,% "(/7>GOW`irzume\SKC:3,% !(.5=DLT\dlu}}tld\TKD<5.(""'.5=DLT\dlu}Ԁ|tkc[SJC<4-(!"(/5FNU^fnv~Ŀzqi`XPIA92+$")06>ENU^fnvԀÿypi`WOH@91+##)07>ENU^fnwÿxoh_WOG?81*##)08?FNV_goxþxog^WOG>70)##*08?GNV_hoxývof^VNF>60)"#)07?FNV_gox½vnf^UNE=6/)"#*17?FNW`gpyՂ½~vne]TLE=6.("#*18@GOX`hpy½}vne\TKD<5.'!#*18@GPX`hpy|tmd\TKD<4-&!$+18@HPX`iqzԀ|skc[SJC<4-& $+28@GPYaiqz|tkbZRJA;3,% $+29AIPYairzzskbYQIA92,%%+29AHQYaiszԀzrjaYQI@:2+%%+29AIQYbjszzqiaXPH@91*$%,3:BJRYbjs{Ŀyph`XOH?81*$%,3:BJRZbks|Ŀyog_WNG>70)#%,3:BIQ[cks|ľxog^VNE>70)# &,3:CKS[ckt|Ŀwog^UMF=7/(" &-4;BKRZclt|þwnf]TLE=6.'" &-4;CKR[dmt}¾~vne]TLD=5.'! &-4;DLS\dmu}½}vmd\TKC<4-&!&-4EMV^fowzqj`XPG?81*#"(/6=EMU^fowԀyqh`XOG?70)""(/6>ENV^gowypg_WNG?70(""(/7>FNW_gpxĿxog^VMF>6/(" "(/6>GOW_hpxԀĿxof^VME=5.'  "(/7?GOW_hpxľ~wnf\TME<5.'  #*08?FOV_ipxþvme]TLD<4-&  ")07?GPX`iqzԂý~vmd[SLC;4-'  #*07?HPX`iqzþ}uld[SJB;3,& #*18@GPYairzԀ¾}tlc[RJB;2,% #*19@HPYaisz½|tkbZRIA92+$ #*19@IPYajs{¼{sjbYQIA81*# $+19AIQZbjs{zqjaYPH@81*# $+2:AIQZbjt{zqi`XOG?70*# $+29AIQZbkt|yph`WNG?7/)! $+2:AIQZckt}ypg^WNF>7/(! %+2;BIR[ckt|Ԁwog^VNE=5.'  $+3:BJR[clt}wnf^ULE<5.'  %,3:BKS[dlu}vne]TLD<4,&  %,3;CKS\dmv~ԂĿ~vne]TKC;4,& %,3;CKT\dmv~ľ~vmd[SJB:3,& %,4;CKT\emvþ}uldZSIB:3+% %-4;CKT]eovþ|skc[RIA92+$  &-56/(! !(.5=FNU_gpxypg_WMF=5.'   (.5=ENV_gqyxog^VLE=5.'  !(/6>FNW_hqyxof^ULD<4-&  "(/6>GNW`irywne]TKC;4,% "(/6>GOX`iryvme\TJC:3,% "'.5EMU]fnwþyph`XPG@81*$#)07>EMV^fnwþxph_WOF?81*##)08?GNW^goxþxpg_WOF?70)"#)08?GNW^gox¾vog^VMF>60)##)18?FOW_gpx¾wnf^UME=6/(!#*18?FPW_gpy¼}vne]UME=6.(!$*18@GOX`hpxӀ¼}umd\TLD=5.'!$*18@GPX`iqx}uld\SLC<4-' $+18@GPX`hqy|tlc[RKC;4-' $+28AHPYaiqz|slbZRJB:3,% %+29AIQYajrzԀ{rjbZRJA:2,%$+29AIQYajs{zriaYQIA92+$%,29AIQZbjr{zqiaYPH@91*$&,3:BJRZbjs{Ŀyph`XOH@81*#%,3:BJRZbks{Ԁ|Ŀxpg_WOG?70)"&,4;BJRZcls|þwpg^VMF>70)#&,3;CJS[ckt|ÿwnf]VNF>6/)! &-4FNV^fowyqi`WOG?81)#"(/7>FNV^goxxph_WNG>70(" "(/7>FNW_goxĿwpg_VMF>6/(" "(/6>FOW_gpyĿwnf^VNE=5.(! #)07?GOW_hpxÿwne]UME<5.'! #)07?GOX`hqyÿ~vme]SKC;4-'  #)07?GOW`iryý~uld[TKC<4-&  ")08?HOW`iqyþ}tld[SKC;3,% "*18@GPXairz¾}tkc[RJB:2+% #*18@HPXajsz½{tkbZRIA92+% $*18@HPYajs{¼{sjbYQIA81+$ $*19AHQYbjs{ԃ{riaXPH@81*# $*2:AIQZbjs{yqj`WOG?80)" $+29AIQYbks|ԃyqh`XNF?70(" $+29BIRZclt|yqg_WNE>6/(" %+2:AJR[clt}Ԁ}xog^VNE=5.'  $+3:BKS[clu}xnf^VLE<5.'  %,3:BJS[dlu}Ŀwne]TLD<4-&  %,3:BJS\dlu~Ŀvme\TLC;4-& %,3;CKS\dmv~Ŀ~uld\SKC;3,% %,46/)" !(.6=EMV_hpyypg^VNF=5.'!  '.6>FNW_hqyxog]VNE=5.&! !'/6=FNW_hqzwnf]ULD=4-&  "(/6>ENV`hrywne]UKC<4,% "(/6>FOW`hqzvne\TKC:3,% ^                                                                                                                     ^H ^3 ^! ^ ^ ^ ^ ^K ^7 ^$ ^ ^  ^ ^ ^P ^9 ^' ^ ^  ^ ^ ^T ^> ^* ^ ^ ^ ^ ^W ^A ^- ^ ^ ^ ^^Z^E^0^ ^^^^]^I^4^"^^ ^^^L^7^%^^ ^^^Q^:^(^^ ^^  &-5>HQ[foy  %,5=GPZdny  $+4HR[fp{  %,5=GQZdoz  $,4HR\gq| # $,5=FQ[ep{ # $+4HR\gr} #( $,5=GQ[fq{ ") #+4HQ\gq| "(/ $+4 #+6AITbmx ")/6= #+3>IQ^lw #(/6= #+3>FN\gv ")/6=  (3;FN\gq #(/6=  (0;FNYdoz  %-5>HQ[eoz  $,5=GPZeny  #+4HR\eqz  $,4>GPZeoz  $+4=EOYcny  #*3;DNXbmw  ")2:CMWalv  "(19BLV`ku   '09BKU_it~  &/7@JT^hs~  &.6?IS]gr|  %-5>HQ\fp{  %,5=GP[do{  #+4HR\gr} ") $,5=GQ[eq| #( #,3=FPZeoz "( #*3IR]hs} "(/ $,5=GQ\gq{ #(/ $+3=FP[eq{ ")/ "+3;EOZcoz ")/ !*1;DNXcny "(/ (1:CLWbmx ")/6 '08BKV`kw "(/6 '/7AJU`ju #)/6 &.7@JT^ju #)/6  -6?IS^hr} #)/6  (4?GQ\gr} #)/6 %0 %.6AOYdny ")/6= #+6AITbmx #(/6= #+3>IT^lw "(/6> #+3>IQ\gu ")/6>  (3;FQ\gq "(/6=  +0;FNYdoz  &-6?HQ[foz  %,5=GPZdny  #,4GQ[fpz  $,5=GPZeoy  #+4GQ\fq{  $,5=FP[eoy  #+4HQ\gq| " $,5=GP[fp{ # #+4HR]gr} ") $,4>GQ[fq{ ") #+4=FP[doz ") #+3;EOYdnx "( ")2:DMXbmw "( !)19CMWamw ")  '09BLV`kv ") '/8AKU_ju "(/ %.7@JS^it ")/ %-6?HR]hr} #)/ $,4>GQ\fq| ")/ #+4=FP[ep{ ")/ "+3;EOZcpz "(/ !)2:DNXcny ")/!(19CMWamx "(06  (08BKUalw "(/6 &/7AJU`ju "(/6 &.7@IT_it "(/6  -6?IR]hs~ #)/6  (5>HR\gr} ")/6 %0 %.6ANYdny "(/6= #+6AITbnx "(/6= #+3>IT^lw ")/6= #+3>IQ\gv ")/6=  (3;FQ\gq #)/6=  (0;FQYdozU^%^>^%^*^%^^%^^%^^%^^%^X^$^B^$^.^$^^$^^$^^$^^$^[^#^F^#^0^#^ ^#^^#^^#^^#^]^"^J^"^5^"^"^"^^"^ ^"^^"^#^N^!^8^!^&^!^^!^ ^!^^!^"^R^ ^;^ ^(^ ^^ ^ ^ ^^ ^^ ^V^^?^^+^^^^^^^^^^Y^^B^^.^^^^^^^^^^[^^G^^1^^ ^^^^ ^^^^º|rh]SI@7/'   $*3;DNXblwù}rh^SJA8/'!  $*3;DMXblwú~si^UKA70'   #*2;DNWakvĻsj_UKA90(!  #*2:DMWakvż~tj`ULB92("  "*1;CMVakvƼuk`VLC:1)#  !)1:CMV`juƽvkaWLC:2*"  !)19CLV`jtƾwmbWND;2+"  ")09CLV_itǿwmcXOE<3*$  !)09AKU_jtȿxmcYOE=3+#   (08AKU_itxndYPF=4,$  !'08AKT^is~yodZPF=4,$   (/8AJT^hs~zoe[QG=5-%  (/7AJT^hs}¸{pf[RH>5-%  '/7AIS]gr|ù{qg\RH?6-&  '.7@IS]gr|ú|rh]RH?6.&  &.6@IS]gr}ĺ}rh]TJ@7.'  %.6?IR\gr|Ż~sh^TJ@7/'   %-6?HR\fq{żti_UKA8/'!  &-5?HQ\fq{ƽuj_UKB90(   $,5>GQ[ep{ƽtj`VLC90(!  $,5>GQ[fp{ǾvkaVLC:1(!  %,4>GP[do{ȾvlbVLD:1*!  #+4=GPZeozxmbXND;2*#  #,45-%  !*2:DNXbmwĻ}rg\RH?6-%  !)1;CNWalwż~rg]SH?6.& ? ")1:CMWblvƼ~sh_TJ@7.&  !(19BMWalvƽ~si_SJ@7/&   )09CMVakvǽtj_UKA8/'   (09BKV`kvȾuk`VKB80(    (08BKV`kvȿvk`VLB90)!   (/8AKU`juvlaWMC91(!   '/7BJU_juwlbWNC:1(!  &/7AJU_jtxmbXNC:2)!  &.7@JS^it~yncYOE;2)"  &.7@IT^ht¹zodYOE<3*"  %.6@IS^hsù{odZPE<3*#  %-6@IS]hs}ĺ{pf[QF=4+#  %-6@IS]gs~Ż|qf[QG=4,$  $-5?HR]gr}ż|qg\RH>5,$  $-5>HR\hr|Ƽ}sh]RI>5-%  $,5>HR\fr}ƽ~si]RI@6-%  $+4=GQ\fq|Ǿti_TJ@6.%  #,4=GQ[fq|ȿuj_UJ@7.&  #+45-$  '/8BLUalwȿ~si^SH@6-%  &08ALV`lv¹|rh]SJA7/'   $*34,$   '/8AJT^hs~zoe[QG>5-%  '/7AIT^hs}¸{qe[RH>5-&  '/7@IS]hs}ù{rf\RI?6.&  '.7?IS]gr}ú|rh]SI?6.&  &.6?IS]gr|û}rh]TI@7.&  &.6?IR\gq|ļ}si^TJ@7/'   %-6>HR\gq|Ž~tj_UKA8/'   %-5>HR\eq|ƽui_UKB90(   $-5>GQ\eq{ǽuj`VLC:0)!  %-5=GQ[fp{ǿvkaWMB:1(!  $,4=GP[eo{ȿwlbWLD:1*!  $,4>FPZdozȿwmbXMD;2*#  #,4=EPYeozwmbYOE;2+#  $+35,$  ")2;DNXcmxĺ|qg\RH?5-%  "*2;DNXbmxĻ|qg\RH?6-%  !)1:DNWblvŻ}rh]SI?6-&  !(1:CMValvƼ}si^TJ@7.&  "(19CLWalvƽ~si^TJ@7/'   (09CKV`kvǾuj_UKA8/(    '09BKV`kuȾuj_VLB80'    '08BKV`juȿvkaUKB90'!   '/8AKU`juɿwlaWLC91)!   &/8AJU_jtxlbXMC:1)"  '/7@JU_jtxmbXND;2*!  '.7@JT^it¸yncXOE;2*#  '.7@JT^itùzndYOE;3*"  %.6@JS^isùzpdZOE<3+#  %-6@IR]hs~ú{peZPF=4,$  %-6@HS]hr}Ż|qg[QG=4,$  %-5?HR]hr}ż}rg\RH>5,$  $,5>HR\gr}Ƽ~rg]RH>5-%  $,5>GR\gq}ǽ~sh]RH?6-%  $,4=GQ[fq}Ǿ~ti^SI@6.%  #+4=GP[fp{Ⱦui_SJ@7.&  #+4=GQ[ep{ɿtj`UKA8/&  #+34,#   '09CMWblwǾ}rh\RH>5,#  '09BLWalwȾ~sg]RH>5,$  '/8BLV`kwȾti^SI?6-%  &/8ALV`kw¹|qg^SIA7/&  #+35-%  &/7@IT]hr}ù|qf\RG@6.&  &.7@IS]gr}ú|rg]SI@6.&  &.6@IR]gr}ĺ}rg]SI?7.'   &.6?HS\fr|Ļ~si^TJA7/(   %-6?HR\fq{żti_UKA8/(   %-5?HR\eq|ƽtj`ULB90(   %-5>HQ\ep{ǽukaVLB91(   $-5=GQ[fp{ǾvkaWLC:1)!  $,4=GPZeo{ȿwlaWLD:1*!  $+4=FPZeozwmbXMD:1*"  $,45-%  "*2:DNXbmwĻ}rg\RH?6-%  !*1;DMXamvŻ~rh]SI@6-&  ")1:CLWblwż}sh^TI@7.&  !)19CMWalwƽ~ti^TJ@7/'   !(09CMVakvǾui_UJA8/'  !'09BLV`kvȿuj`VKB90(    (08BLU`juȿvk`VLB90(   '/8AKT_juwlaWMC91(!  &/8@KU_juxlbXMC:1(!  '/8AKU_jtxmbXND:2*!  &.7@JT^it¸yocYNE;2*"  &.7@JT^ht¹zodZOE;3*"  %.6?IT^isûzoeZPF<3+#  %.6?IS]hs}ú{pf[QG=4,#  %-6?HS]gs~Ļ|qf[QG=4,$  $-5>HR]gr}ż|rf\RH>5,$  $-5>HR\fq|Ƽ~rh]SH?5-$  $,5>GQ\gq}ƽ~sh]SI?6-%  $,4=GQ[gq}Ǿ~ti^TI@6.&  $+4=GQ[eq|ȿuj_TJ@7.&  #+4=GQ[ep{ɿuj`UJA8/'  #*35,$  &/8BLValvȿti_RI@6-$  &/8AKUakw^ʠżuj`VMC:1)"  Žuj`UMC91)"  żuj`VLC:1)"  ļuj`VKC91*!  żuj`VLC91)!  żuj`VKB91)"  żuj_VLB91("  żuk`UKB91)!  żuj`ULB91(!  ļtj`VLB90(!  żtj_ULB90)!  $żtj_UKB90(   żtj_UKB80(   ż~tj_ULB80)   ż~tj_UKB80(   ż~tj_UKA80(!  ż~tj_UKA80'   ż~tj_UKA70'   żti_TKA8/(!  ż~ti_UJA8/'   ż~ti_TKA8/'   żti^UKA8/(   Žti^TKA8/'   Ƽ~ti^TJA8/(    Ž~sh^SJA7/'   Ž~si^TJA8/'  !żsi^TI@7/'   cż~si^SJ@7/'  !ż}si^SJA7.&   !Ž~si_TJ@7.'  !ż}sh^SJ?7.'  "ż}si^TJ@7.&  !Ƽ~si^TJ@7.&  "Ž~ri^TJ@7.%  "ż}rh]SI?7.&  "Ƽ}sh]SI?6.%  "Ƽ~sh]SI?6.%  #Ƽ}rg^SI?6-%  #Ƽ~sh^SI@6-&  $ż}sh]SI?6-%  #Ƽ}rh]SH?6.&  #Ƽ~rg]SH?6-%  $ƽ}rh]RH?6-%  $Ƽ}rh]RH?6-%  %Ƽ}rg]RH?5-%  %Ƽ~rg]RH>5,$  $Ƽ}sh\RH>5,%  %ƽ}rg\RH>5,$  &ƽ}rg\RH>5,$  %Ž}rg\RH>5,$  %Ƽ}rg\QH>5,$  &ż}rf\QG?5,$   &Ƽ|rf\RH>5,$   &Ƽ}rg\QH=4,#  'Ƽ}rf\RG=4+#   (Ƽ|qg\RG>4,#   'Ƽ|qf\QG=4+$   'Ƽ}qg[PF>4,#  !'Ƽ}qg[QG=4,#  !'Ƽ|qg[QF>4+#  !)Ƽ|qg[QG=4+$  !(ƽ}qf[QG>4+#  "(Ƽ|qe[PG=4*"  "(ƽ{qe[QG=3*"  !)żuj`VLC:1)"  Žuj`VLC:1*!  żtk`VKB:1*!  ļtj`VKC91)"  żuj`VLC91(!  żuj`VLB91(!  żuj`VLB91)"  żuj`VLB91(!  żtj`VLB91("  żuj_VKB90)"  ż~ti_VKB90)!  ż~ti_UKB90(!  ż~tj_ULB90(!  ż~tj_UKB90(!  Žtj_UKA90(   żtj_UKA80(   żti_UKB80(!  Žsi_UKA80'!  żsi_UKA8/(   ż~ti_TKA8/'   ż~sj_TKA8/(   żsi_UJ@8/'   ~żti^TJA8/(    ż~th^TJA8/'   ż~si^SK@7/&   żsi^SJ@70&  !ż~si^TJA7/'  !Ƽ~si_TJ@7/'  !Ž~si^TJ@7.'   ż}si^TJ@7.'  !Ž}sh^TJ@7.&  "ż}sh^TJ@7.&  !ż~si^TJ@7/&  "Ƽ}sh^SI@7.&  "Ƽ}si^SI@7.%  "Ƽ~si]SI?6.&  #Ƽ~sh]RI?5.&  #ƽ~sh]RI@6.&  "Ƽ~sh^RI?6-&  #ƽ}sg^SI?6-% ~ #Ƽ~rg^SH?6-%  $Ƽ}rh^SI?6-%  #Ƽ}rg]SI?6-%  $Ƽ~rh]RH?6-%  $Ƽ}rg]RH?5-$  $Ƽ}rg]RG>5,$  %Ƽ~rh\RH>5-$  %ż}rg\RH>5,$  %ƽ}rf]RH?5,$  %Ƽ}sf\RH>5,%  %ƽ|rg\RG?5,%  %Ž|rg\RH>5,$  &Ƽ}rg\QG>5,$  'Ƽ|qf\RG>4,$   &Ƽ|qg\RG=4+#   'Ƽ}qg\QG=4+$  'Ƽ|qf\QG=4,$  !'ƽ}qg\QF=4+#   'Ƽ|rg[QG>4+#  !'Ƽ}qg[QG>4,#  !(Ƽ}qf\QG=4+#  !(ƽ}qg[QG>4+$  ")Ƽ|qf[PF=4*"  "(Ƽ|re[PF=3*"  ")ʠżtj`VLC:1)"  żuk`UMC:1*"  ļtk`VLC:1*"  żuk`VLC91*!  żuj`VLC91)"  żuj`VLC91)!  żuj`VLB91)"  żuj`VKA91(!  ż~uj_VLB90)!  Ž~ti_VKC91)! X żti_UKB91(!  żtj_UKB90(!  żtj_UKA90(   żtj_UKA90(   ż~ti_UJB90(!  ż~ti_UJA80(!  żsj_TJA80(   ż~ti_TJA80(   ż~ti_UKA8/(   ż~ti_UKA8/(   żti^UKA8/'  ż~ti^UKA8/'   ż~th^TKA8/'    ż~sh^TJ@8/'    żsi^TJ@7/&   ż~si_TJ@7/'    Ƽ}sh^TJ@7/&  !Ƽ~sh^TI@7/&  !#Ƽ~si^TJA7.'  !ƽ~sh^TJ@7.&  "ż~sh^TI@7.&  !ż}si^SJ@7.&  "ż}si^SJ@7.'  "Ƽ}sh^TJ@7.&  "ż}sh]SI?6.&  #Ƽ~sh]SI?6.&  "Ƽ~sh]SI?6.%  #Ƽ}sg]RI?6.&  #ż~sg^SH?6.&  #Ž}sh]SI?6-%  #Ƽ~rg]SI@6-%  $ż}rh]SI?6-&  $Ƽ}rh]SH>6-%  #Ƽ}sg]RH>6-%  $Ƽ}rh]RH>5-%  %Ƽ}rg\RH?5,%  $ƽ}rg\RH>5-%  %Ƽ|rh\RH>5,$  %ż}rh\RH>5,$  %Ƽ}rg\RG>4,$  %Ƽ|rg\RH>4,$  &ƽ|rf\RG>5,$  'Ƽ|rg\RH>5,$   &Ƽ|rf\RG=4,$   &Ƽ|qf\RG>4+#   'ƽ}qg]QG=4,#   'Ƽ|rg\QG=4,#   'Ƽ}qf\QG=4,$  !'Ƽ|qf[QG=4,# I !'ƽ|qf[QF=4+$  !(Ƽ|qg[QG=4+#  !(Ƽ|rg[PG>4+#  ")Ƽ}qf[PG=3*$  "(Ƽ|re[PF=3*#  ")^"(/6?GOW`ir{Ŀ~uld\RJB:2+$ "(07?GOX`ir{Ŀ~ulc[RJA:2+$ "(07?GOYais{Ŀ}ukcZRIA81*$ ")07@HPYajs|Ԃþ|tkbYQH@81)# #)08@HQYbjs|þ|sjaYPH@70)" ")18@HPYbkt|Ԁ=ý{riaXOG?7/(! #)18@IQZbks|¾zri`WOF>6/(! #*19AIQYcku}½zqh_WOF=5.(! #*19AHRZclu}½xqg_VME=5.'  $*29AIRZclu~xog^VLD<4-& $*29BJS[dlv~wof]ULD;4,% $+2:BJS\dmvwne]TLC;3,$ $+2:BJS\dmv~vme\SKB:2+$ $+3:CKS\emvԀ~vmd[RJB:2+# %+3;CKS\env}ulc[RIA91*# %,3;CLS]fow}tlcZRI@81)# %,3;DLT]fowԀ<Ŀ}tkbXQH@70)" %,4;DLU^fowĿ|sjaXPF?7/(" &,45.'  &-5FNW`is{wme\SJB92*$ (.6>FNWair|vmdZRIA91*" '/7?GOXajs|~ulcZQH@91)# '/7?GPXajs|~ulbYQH@8/(! )/7?GPYbks}|tkbYPG>8/(! (/8?HQYbkt}|tjaXPF?7/(! (07@HQYbkt~Ŀ{si`WOF>6.'! (18?IPZclu~ԃĿzrh_WNF=5.& )08@HQZcmt~ľzqh_VNE<4-& )08AHQZclu~Ԁ=ýzpg^UMD<4,% )18AHR[dluþypf^ULD;3,% )18AJS[dnvýxof]TKC;2+$ *19BJR\enw½wne\SKB:2*# *1:BJS\enw¼wme\SJA:1*# *2:BJT\enxԀ»vmd[RIA81)# *2;BKT\fox~ulcZQI@70)" +2:BKT]fox~ukbYQH?7/(! +3:CKT^foxԀ}tjbXPG>6/(  +3:CLU^goy|skaXOF>6.'  ,3ENXakt|½vmd[QH@80(" .5>FOXajs}¼vlcZPG@7/(  .6>GOYbkt}¼~ukbYOG>7/'  .6>FPYbkt~}tkbXPG>6.'  /7?HOYbkt~|tkaXOE=5-&  /7?GPZcmv~{si`WNE<4-% /7?GPZclv{rh`WME<4,% /7@HR[clv~{rh_VMD;4+$ 07@HR[dmvyqh^ULC:2+$ 08@IR[dmwĿypg]TKC;2*# 09AJS\enwĿyof\SKB92)" 08AJS\enxľwoe\SIA81)! "(/7>GOX`jqzԀ>~umd\SJB:2+$ ")07>GPXais{Ŀ~umc[RJA:2+$ "(07?HPYajs{ľ}tkcZRI@91*# ")08@HPXakr|þ|skbZPH@91)# #*08@HQYbks|ý{sjaXOG@80)" #)18@IQZblt|Ԁýzsi`XOF?80(! #)19@IQZbkt}¾zqi`WNG>6/(! #*18AIQYckt}½yqh_VMF>6.'  #*19AIRZclt}½yqg_UME=5.&  #*29AJR[clu~ypg^UME=5-& $*29BJR[dlu~xof]ULD<4,& $+2:BJR\dmvwne\TLC:3,% $+2:BJS\dmvԀ}vne\SKB:2+$ $+3:BJS\emw~vmd[RJB:2+$ $+3;CKS\enw~vlc[RIA81*# %,3;CLT]fnw}ukcZQI@81)" &,3;CKT]fnxĿ}tkbYQH@80)" %,4;CLU^gowľ|sjaXOF?7/(" %,46/'  %-46.'! &-4ENW`is{wne[SKB92*# '.6>FOXair|vnd[RJA92*# '/6>GPWajs|~umc[RH@91)# (/6?GOYajt|Ԁ<}tkcZQH@70)! (/7?HPYbjt}|tkbYPH>8/(! (/7?HQYbks}|sjaWPG>6/'! (07@HQZblt}Ŀ|ri`WOF>6.'  (07?HPZclu~ſ{ri_VNF=5.&  )08@HQZclu~Ŀzrh_VME<4-& )09AIRZclu~þzpg_ULD;4+% *19AJR[dluþyof^UKD;3+% *19AJS[dnvþxof]TKB;2+$ *19AJS\emw½xoe\SJB:2*$ *1:AKS[emv¼wne\SJA91*" *2:BKS\enw»vnd[RJA91)! *2:BKS\fnw~ulcZQI@80(" +2:BKT]fox}ukbYPH?8/)! +3:CLT]gpy}tkbYPG>6/'! +3;CKT^gpy|sjaXOG>6.'  ,3;DLT^gpz{rj`XOE>5-&  ,3GOXajt}½~ulcZQG@8/(! .6=GOXbkt}½~ukbYQH?7/(! .6>GPYbku~}tkaXOG>6.& /7?GPYblt~}sjaXNF=5-& /6?HPYclv~|si`WNF<4-% /8>HQZclv{rh_VND<4,% /8@IRZcmvzqh_VMD<3+$ 07@IQZdmwzpg^ULC:3+# 08@IR[dnwĿyof]TKC:2+# 09AJR\enwĿyof]TJB91)" 08AJS\enxľwoe\SI@91)" "(07?GOX`iq{Ŀ~vmd[RKB:3+$ "(07?GPXais{Ŀ~umc[RJB92+$ ")08?GPXais{Ŀ|ulcZQIA91+# ")07?HPYajs|Ԁÿ}skbZQH@81)" ")08@GPYbjs|þ|sjaYPH@70)" ")18@IQZbkt|þ{rj`WOG?7/)! #*18@IQZbkt}½zqi`XOG>6/(  #*18AIRZcku}Ԁ¼zph_WNE=6.'! #*19AIR[clu}½yqg_VME=5.&  #*1:AIQ[clu}xog^UME<4-&  $*2:AIR[dlu~wof]ULD;4,% $+2:AJS\dmvwne\TLC;3,% $+2;BKS\dmvvme\SJB:2+$ $+3:CKT\env~vmd[SJB:2*$ $+3;CKT\enw~vlc[RJA92*# %,3;CLT]enwĿ}ukcZQI@81*" %,3;DLT]fowĿ|tkbYPH@80)" %+46.(  &-4=DLU^gpyԀþ{qi`VNF>6.(! &-5=ELV_gqyþzrh_WNE=5.&  &-5FOW`iq{wne]SKC:3+$ '.6>FOX`jszwme\RJB:2*$ '.6>GNW`is|ԃvld[RJA91*# '/6>GOXakr{~ulc[RIA81)# (/7?FOYajs|}tkcZQH@70)" (/7?HPYbjs}Ԁ|tkbYPH?7/(" (/7?HPYbkt}Ŀ|skaXOG>7/'  (07@HQZblu}Ŀ|riaXNF>6.' )07@HPYclt}Ŀ{qi_VNF=5.& )08@IRYcmu~ľyqh^VME=5-% )18AIQZcluýyqh^ULD<4,% *18AJR[dlv~þypg]TLC;3,% *19AIR[dmvýwpf]TKB;2+$ )19AJS\dmw½wne\TJB:2*$ *1:BJR[env½wmd\RIA91*# +2:BJS[eow¼~vnd[RIA81)# +2:BKT\fnw~vmcZRI@80(! +2;BKT]fox~tlbYQG?7/(! +3;BLT]goy}tlbYPF?6/'! +3;CLT]gpy}sjaXNF>6.'  ,3;DLT^hpy|rj`WOF=5-&  ,3;DLU_gqzſ{ri_WME<4-& ,4;DLV^hrzĿzrh_VLE<4,& ,4GOXakt}¼vmcZPH@8/(  .6>FPYbkt}»~ukbYOH?7/'! .6?GPYbku~}ukbXOG>6.'  /7?HPZbku~}sjaWOE=5-'  .7?HPYclt~|ri`WME=4-% /7>GQZclv{qh`VME<4,% /8@IQZclv{qi_VMD;3+$ 07@HQ[dmvzpg^TLC;2+$ 08@IR[dnwĿypf]TKC:2+$ 09AJS\dnwľyof]SJB91)# 18AJS\enxĿxoe\SJA81)"  ^V^=^?^=^+^=^^=^^=^^=^^<^Y^<^B^<^.^<^^<^^<^^<^^;^[^;^G^;^1^;^ ^;^^;^ ^;^                                                        " "                                                          " "                                                          " " ^U^>^*^^^^^X^B^.^^^^^[^F^0^ ^^^^]^J^5^"^^ ^^^N^8^&^^ ^^R;(  ")/6>  (0;CNYdoz #(/6=E %08CNYdlz "(/6>E %.8CKValw #(/6=E %.6AKValt ")/6>E #+6AKT^it ")/6>E #+3>IT^it "(/6=E #+3>IT\gq| "(/6>D  +3;FQ\gq| "(/6>E  (0;FNYgo| "(/6>DM  (0;CNYdoz ")/6=EL (08CNYdow "(/6>DM %.8CKValw "(/6=EM %.6AKValw #)/6=EL #+6AKV^it "(/6=EM #+3>IT^it ")/6=EL  +3>IT^iq ")/6>EMU  (3;FQ\gq ")/6>EMU  (0;FQ\gq| ")/6>EMU  (0;FNYdo| #(/6=EMU %.8CNYdoz ")/6=EMU %.8CNYalw "(/6=EMU #.6AKValw "(/6=EMT #+6AKValt #(/6=DMU] #+3>IT^it "(06=EMU^ #+3>IQ^it ")/6=ELU]  (3>FQ\gq| #(/6>EMU]  (0;FQ\gq| #(/6>ELU] (0;FQ\doz #)/6=DMU] %.8CNYdoz ")/6=DMU] %.8CNYdoz "(/6>EMU]e #.6AKValw #)/6>EMU]f #+6AKValw #(/6=EMU]f #+3>IT^it "(/6>ELU]f  +3>IT^it #)/6=EMU]e #+3>IT^iq "(/6=EMU]f  (0;FQ\gq #(/6=EMU]e (0;FQ\gq| #)/6>EMT]fn %.8CNYdoz "(06=EMT]en %.8CKVdoz "(/6>DLU]en #.6AKValw #)/6=ELU]fn #+6AITalw ")/6=ELU]fn #+3>IValw #(/6=ELT]fn #+3>IT^it ")/6>EMU]fn #+3>FQ^it #(/6=EMU]fnw  (0;FQ\gq "(/6=EMU]fnw (0;FN\gq| #)/6=ELU]fnw %.8CNYdo| #)/6>ELT]fnw %.8CKVdoz #)/6=ELU]fov#.6AKYdoz #)/6=ELT^fnw#+6AKValw "(/6>DMU]env #+3AITalw ")/6=EMU]fnw  +3>IQ^iw "(/6=EMT]fow  (3>FQ^it "(/6>ELU]env  (0;FQ\gt #(06=EMU]fnw (0;FQ\gq| "(06=DMU]fnw %.8CN\gq| #)/6=ELU]enw %.8CNYdoz #(/6=ELU]fnw#.6AKVdoz ")/6=EMU]fnv #+6AITalz "(/6=EMU]fnw #+3AITalw #)/6=EMT]enw #+3>IT^lw #(/6>EMU]enw  +3>IT^it ")/6=EMT]eow  (0;FQ^it "(/6=EMU]fnw (0;FQ\gq ")/6>  (0;CNYdoz "(/6>E %08CNYdlz #(/6=E %.8CKValw "(/6=E %.6AITalt ")/6=E #+6AIT^it ")/6>D#+3>IQ^it "(/6=E  +3>FQ\gq| #(/6>E  +3;FQ\gq| "(/6>E  (0;FN\go| ")/6=EM  (0;CNYdoz "(/6=EM %08CKVdoz ")/6=EL %.8CKValw #(/6>DM #.6AKValw #)/6=EM #+6AKV^it "(/6=DM #+3>IT^it #(/6=EL  +3>FQ^iq ")/6>EMU  (3;FN\gq| #(/6=EMT  (0;FN\gq| ")/6=EMU  (0;FNYdo| #)/6=EMU %.8CKVdoz ")/6=EMU %.8CNYalw ")/6=EMU #.6AKValw "(/6>ELT#+6AKValw "(/6=EMU]#+3>IT^it #(/6>EMU]  +3>IQ^it ")/6>EMU]  (3>FN\gq| ")/6=EMU]  (0;FN\gq| ")/6=DMU] (0;FQ\doz "(/6=EMU] (.8CNYdoz ")/6=DMU] %.8CKVdoz #)/6>ELU]f #.6AITalw ")/6=EMU]f#+6AITalw #(/6=EMU]e #+3>IT^it ")/6>EMU]e  +3>IQ^it #(/6=DMU]e  (3>IQ^iq ")/6=EMU]f  (0;FQ\gq| "(/6=EMU]e (0;FQ\gq| "(/6=EMU]fn %.8CNYdoz ")/6=ELT]fn %.8CKVdoz #(/6=EMU]fn %.6AKValw ")/6=EMU]fn #.6AKValw ")/6=DLU]en #+3>IValw ")/6=ELU]en #+3>IT^it "(/6>EMU]fn  (3>IT^it #)/6>EMT]fnv  (0;FQ\gq #(/6>EMU]fow (0;FQ\gq| "(/6>ELU]fow %.8CNYdo| "(/6>EMU]fnw %.8CNYdo| "(/6=EMU]enw#.6AKYdoz "(/6=ELU]enw #+6AKValw #)/6=DLU]fnw #+3AKValw "(/6=ELU]fnw  +3>IT^it ")/6>EMU]fnw  (3>FQ^it ")/5>EMU]enw  (0;FQ\gt "(/6=EMU]env (0;FN\gq| ")/6=ELU]fnv %.8CN\gq| "(/6=EMU^fnw %.8CNYdoz "(/6=ELU]fnw #.6ANYdoz #)/6=EMU]fnw #+6AKValw #)/6=ELU]fnw #+3AITalw "(/6=ELU]enw  +3>IT^lw "(/6>DLU]enw  (3>IQ^it ")/6>DMT]env  (0;FQ\it ")/6=EMU]fnv (0;FQ\gq ")/6=  (0;CNYdoz "(/6=D %08CNYdlw "(/6=E %.8CKValw ")/6=E %.6AKValt #(/6=E #+6AKT^it #)/6=D #+3>IT^it ")/6=E  +3>IQ\gq "(/6=E  (3;FN\gq| "(/6>E  (0;FNYgoz "(/6>EL  (0;CNYdoz ")/6>EL %08CNYdow ")/6=EL %.8CKValw ")/6=EM %.6AKTalw "(/6=EM %.6AIT^iw "(/6=EM #+3>IT^it #)/6=EL +3>IT^iq "(/6>ELU  (3;FQ\gq| #(/6=ELU  (0;FQ\gq| #(/6=DMU  (0;FNYdo| "(/6=EMU %.8CNYdoz ")/6=ELU %.8CNYalz #)/6>EMU %.6AKValw ")/6=EMT%.6AITalw "(/6=EMU] #+3>IT^it "(/6=EMT^ #+3>IT^it #(/6>ELU^  (3>FQ\gq ")/6=EMT]  (0;FQ\gq| ")/6=EMU] (0;FNYdoz ")/6=EMU] (.8CNYdoz ")/6>DMT] %.8CKVdoz ")/6=EMT]e %.6AITalw #(/6=EMU]f %.6AITalw ")/6=EMU]f #+3>IT^iw "(/6=EMU]e #+3>IQ^it ")/6=EMU]e  (3>IQ^iq #)/6=DMU]e  (0;FQ\gq| ")/6=ELU]f (0;FNYgq| #)/6=EMU]fn %.8CNYdo| ")/6=ELT]en %.8CKVdoz ")/6>EMU]en %.6AKValz ")/6>EMU]fn %.6AITalw ")/6>DLT]fn #+3>ITalw "(/6=EMT]fn  +3>IT^it "(/6=ELT]fn  (3>IT^it ")/6=DLT^fnw  (0;FQ\gq ")/6>EMT]fnv  (0;FQ\gq| #)/6=EMU]eow %.8CNYdo| #)/6=EMU]fnw %.8CNYdoz #)/6=ELU]fnw #.6AKYdoz ")/6=EMT]eow #+6AKValw ")/6=EMT]fnv #+3AKValw #(/6=EMU^env  +3>IT^iw #(/6=DMU]fnw  +3>IT^it #)/6>ELU]enw  (0;FQ\gt ")/6=EMU]fnw (0;FQ\gq| ")/6=DMU]eov %.8CNYgq| ")/6>ELT]enw %.8CNYdoz ")/6=EMU]enw %.6AKVdoz "(/6=EMU]fnw #+6AITalw ")/6=EMU]env #+3AKValw #)/6=DMU]eov  +3>IT^lw ")/6=DMU^fnw  (3>IT^it #)/6=EMT]enw  (0;FQ^it "(/6>EMU]fow (0;FQ\gq ]^^ J^^ 5^^ #^^ ^^ ^^ ^^!^!O^^!8^^!&^^!^^! ^^!^^"^"S^^"<^^")^^"^^"^^"^^"^^#W^^#@^^#,^^#^^#^^#^^#^^$Z^^$C^^$/^^$^^$^^$^^$^^%\^^%G^^%2^^%!^^%^^% ^^%^^&]^^&K^^&7^^&$^^&^^& ^^&^^'^'P^^'9^^''^^'^^' ^^'^^'^^(T^^(=^^()^^(^^(^^(^^ti^TI@6-%  '.7AKU`kvuj_TJA7.& > &.7AKU`kvuk`UKA7.&  &.7AJU`ku¸wl`VLA8/'  %.6@JT_juøxmaWLB9/'   %.6?JT^jtùxmbWMB90(   %-6?IT^itĺyncXNC90(   $-5?IS^itĻzncYND:1(   $,5?IR]itAŻ{odYOE;2(!  #,5>GR]hsƼ|peZPE;2*!  #+4=GR\hr~ƽ{pf[PF<3*!  #+4>GR]gr~Ǿ|qg[PF<3*#  #+4=GQ\gr~ȿ}rg\RG=4+#  "*35+#  $-6@JT`ku|uj^SI>5,#  $-6?JT_jv|qj_TJ?6-$  $,5?IT_jv|qg`UJA6-$  #,5>IT^jvøti^VK@7.%  $+5>IS^juøti^TLA7.&  $+4>HS^itøti^TI>8/&  #+4=HR]htøti^TI>3/'  "*4=GR]htûwlaVKA6+'  "+33(   &/8CLXcoûti^TI>3+   &.8BMXbnƻti^TI>3+  %.7ALWcnƻwlaVI>3+   %.7BLWbmƻwlaVKA6+#  %-7ALVbmƽwlaVKA6+#   -6@KVanƽzlaVKA6+#  (6AKV`lȽzodYKA6.#  (0@JU`lzodYNC8.#  (0;IU`l|odYNC8.%  (0;FT_l|qdYNC8.%   (0;FQ_kõ|qgYNC8.%  (0;FQ\kø|qgYNF;0%  %0;FNYgøqg\NF;0(   %.8FNYgɿui_TJ@6-&  &.7AKU`kvuj_UJA7.&  &.7@KU`kvvj`UKA7.& [ &.7@JU_ju¸wk`VLB8/'  %.6@IT_ju¹xmaWLB9/'  %-6?IS_iuùxmbWMC90(   $-6?IT_iuĺyncXNC:0(   $,5>IS^itĻzncYND:1)   $,5?IS]hsŻzodZOE:1)!  $,5?HS]hs~Ƽ{peZPE;2*"  #+4>GR\hs~ǽ|qf[PF<3*"  #+4=GR\gr}Ǿ|qg[QG<3+"  "+4=GQ\gs~ȿ}rf\QF=4+"  "*35,$  "*2IS^iuøti^QLA7.%  #+4>HR^iuøti^QI>8/&  "+4=HR]itøwi^TI>3/'  "*3=GR]htûwlaTKA6+'  "*33(   &/8CMWcoûti^TI>3(   %.8BMXcoƻti^TI>3+# %.7BLWbnƻwlaTI>3+   %.7BLWbmƻwlaVKA6+#  $-7AKVamƽwlaVKA6+#   -6@KVamƽzlaVKA6+#   (6@JVamȽzodVKA6+#   (0?JU`lzodVKC8.#  (0;JUakzodYNC8.%  (0;FU_k|qdYNC8.%  (0;FQ_kõ|qgYNC8.%  (0;FN\kø|qgYNF;0%  (0;FNYgøqg\QF;0(  %.8FN\guj^TJ@6-%  &.8AKT`kvuj_UJ@7.%  '.7AKT_jvvk`UK@7/'  &.7@JT_juvlaVLB8/'  &.6@IT_iuøwlbVLB9/'  %-6@IT^itùxmbWMC90'  %-6@IT^itĺyncXMC:0(   $,5?IS^ht~ŻzncYND:1)   $,5>IS]ht~ŻzodYOE;1)!  #,5>HR]hs~Ƽ|pdZPE<2*"  #+4=HR\hs~ǽ|qf[PF<2*#  #+4=GR\gr~>ǽ|qg[PF=3+#  "*4=GQ\fr}Ⱦ~rg]QF=4*#  #+35,$  #)3IT^iuøti^VKA7-%  #,5?HS^jtøti^QKA7.%  #,4>HS^iuøti^QI>8/&  "+4>HS]htøti^TI>3/&  "+4=GR]htûwlaTIA6+&  "*3=GQ]gsƻwlaTIA6+#   !*3=GQ\hrƻwlaTIA6+#  !)23+   %/8BMXcoûti^QI>3(   &.8BMXcoƻti^TI>3+  &.7BLWcnƻwlaTI>3+   %.7BLWbmƻwlaTKA6+#  %-7@KVamƽwlaTIA6+#   -6AKVamƽzlaTIA6+#   (6@JV`lȽzodVKA6+#   (0?JU`lzodYNC8.%   (0;JU`kzodVKC8.%   (0;FT`k|qdYNC8.%   (0;FQ_kõ|qg\QC8.%  (0;FQ\kø|qgYNF;0%  %0;FQ\gøqg\NF;0(  %.8FN\g^ƽ|qe[QF<3+"  "*ƽ|qf[PF<4+"  ")ƽ{qf[PF<3*"  #)Ƽ|qe[PF=3+"  #*Ƽ|qe[PF<3*"  #*Ƽ|pe[PF<3*#  #*Ƽ{pfZPF<3*"  $+Ƽ|pe[PF<3*"  $+ƽ{peZPE;2*"  #+>Ƽ|peZPD;2)!  $+Ƽ{peZOE;2*!  $,ƽ{peZPD;2*!  $,Ƽ|pdZPD;2*"  %,ƽ|pdZOE;2)!  %,Ƽ|pdZOE;2*! &-ƽ{pdZOE;2*!  &-ƽ{peZNE;2)!  &-ƽ{peYOD;1)!  '-ƽ{pdYOE:1)   '.Ƽ{pdYOD:1)    &.ƽ{odYOD:1(!   &.ǽ{odZOC:1)    '.Ƽ{odYOD:1(!   '/ǽ{odYNC:1)    (/ǽzodZNC:1'   !'/ƽzocYND:0(    (0ǽ{ocYND:0'  !)0ǽ{ocYMD90'    )0ǽ{odYMD90'   !(0ǽ{odYNC90'   ")1ǽ{ocXNC:0'   ")1ǽzodXNB90'  "*1ǽzpdXNC90(   "*1ƼzndXMC90'  #*2ǽzndXNC90&  "*2ǽzncXMC9/&  #*2ǽzncXMB9/'  #+3ǽzncXMB9/&  $+3ǽyncXMC8/&  $+3~ǽynbXMC9/&  $,3ǽznbXMB8/&  $,4~ǽzncWMB8/&  $,4}ǽznbWLB8/&  %,4}ǽznbWMB8.&  %,5|ǽznbWLB8.%  %-5}ǽznbWLB8.%  &-5|ǾznbWLA7.&  &-5|ǽzmbWLA7.%  &.6{ǽzmbVLA7.%  &.6{ǽyncWLA7.&  &.6zǽynbWLA7.%   &.6zǽymaWLA7.%   '/7zǽymbWKA7-$   '/7zǽymaVLA7-%   (/7yǽymbVKA7-$  !'/8x,ǽymaVK@7-%   (08xǽxmaVJ@6-$  !(08xǽymaVK@6-$  !)09wǽymaVKA6-$  !(0:wǽynaVJ@5-$  !)1:vǽymaVKA6-$  ")16uǽxlaVJ@6-$  ").6vǽxlaVJ@6-$  "%.6qǾyl`UK?6,$  %.6ьƼ|qf[QF<3*"  ")Ƽ|qf[PF<3+"  #*Ƽ|qe[OF=3*"  #*ƽ|qf[OF<3+#  #*ƽ|qe[PF<3+"  #*Ƽ|pe[PF<3+"  #*Ƽ|qe[PF<3*#  #+ƽ|qeZPF<2*"  $+ƽ{peZPF<2)"  $+ƽ|peZOE<2)"  $+ƽ{pf[PE;2*"  %,ƽ|qeZOE;2)!  $,ƽ{qdZPE;2)"  %,ƽ|pdZOE;2*!  $,Ƽ{pdYOE;2)! %-ƽ{peZOD;2)"  %-ƽ{peYOD;2(! &-ƽ{pdZOE;1(!  &-Ƽ{peYOE:1)!  &.Ƽ{pdYOE;1)!  &.ƽ{odYOD;1)    '.ǽ{pdYNC:1(   '.ǽ{odYOD:1(    '/ǽ{pdYND:1)   (/Ƽ{odYND:1'   !'/Ƽ{ocYND:1'    )/Ƽ{ocYMD:1(    (0ǽzpdYND:1(  !(0Ƽ{odYNC90'   ")0ǽ{odYMC:0'   !)0ǽzodXNC90(  ")1ƽzocXNC90'  ")1ǽzodYNC90'  #)1ǽzndXNC90&  "*2ǽzncXMC90&  #*2ǾzncXMC90&  "*2ǽzncXMC9/'  #+3ǽzncXMB8/&  #+3ǽzncXMB8/'  $+3ǽynbXMC9/&  #+3ǽzncXMC8/&  #,4~ǽzncWMB8/&  $,4~ǾzncWLB8/&  %,5}ǽzncWLA8.%  %-5|ǽznbWLB8.&  %-5|ǽynbWKB8.%  %-6|ǽzmbWLA8.&  %-5{ǽznbVLA8/%  &.6|ǾymbWLA7.%  '.6{ǽymbWLA7.%  '.6{ǽymbWLA7.%  &.6zǽymbWLA7.%   '/7yǽymbVLA7-%   '/7yǽymbVLA7-$   '/8x_ǽymbVK@7-%  (/8yǽymaVKA7-%  !'09xǽymbVKA6-%  !(08xǽymaVKA6-%  !)08xǽymaVJ@6-$  !(19vǽymaUK@6,%  ")19wǽylaUK@6,#  !*16wǽxlaVK?6-$  ").6vǽxl`VK@5,$  "%.6qǽxmaUK?6,#  %.6Ƽ|qf[PF<3*"  !)Ƽ|qf[PE<3*"  "*>Ƽ|qf[PF<3*#  ")Ƽ|qfZPF<3+#  "*Ƽ|qfZPF<3+"  "*Ƽ|pe[PF<3+"  #+Ƽ|peZOE<3*"  $*>ƽ|peZPE<3*"  $+ƽ|peZPF;2*!  $+ƽ{peZPF<2)"  $+ƽ{peZOE;2*!  $,ƽ{pdZPE;2*!  $,ƽ|peZPE;2)!  %,ƽ{peZPE;2)! &,ƽ{peZOE;2)!  %-ƽ{peZOE;2*!  %-ƽ{pdZOE;1)!  &,ƽ{peZOD;1)   &.ƽ{oeZOD;1)!   &.ƽ{peYNE:1(!   '.ǽ{peYOD;1)    &.ǽ{oeYOC:2)!   '.Ƽ{oeYND;1(!   '/ǽ{oeZOD:1(    (/Ǿ{odYOC;1(   !'/ǽ{odXMD:0(  !(0ǽ{odXND:0'   !)0Ƽ{odYND90'   !(0ǽzodYNC90'   !(0ǽ{ocYNC90'  ")1ǽ{ocXNC90'  ")1ǽ{ocXNC90'  "*2ǽzodXNC90'  ")2ǽzndXMC90'  #*2ƼzocXNC90& J #*2ǽzndXMB9/'  #*2ǽzncXMB9/'  $+3ǽyncWMB9/'  $+3ǽzocWMB9/&  $+3ǽyocXMB8/&  $,3~ǼznbXMB8/&  $,5~ǽyncWMA8/&  $,4}ǽzncWMA8/&  %,4}ǽznbWKB8/%  %,5}ǽzncWLB8.%  %-5|ǽzncWLB8.&  &-5}ǽynbVLA7.%  &-5{ǽzmbVLB8.%  &.6|ǽymbWKA7.%  &.6{ǾxnbWLA7.%  &.7{ǽynbWKA7.&  &.7zǽymbWKA7.%  '/7zǾymbVL@7.%   '/8zǽymaVKA7-$   '/7xǾynbVKA7-%   '/8yǽymaVK@7-$  !(08xǽymaVKA6-$  !)09xǽymaVK@6-%   )09wǽymaVK@6-$   )19vǽymaVJ@6-$  ")19wǽymaVJ@6,#  ")16vǽxlaUK@6,#  ").6vǽxlaTK@6,#  "%.6qǽxlaUJ?6,$  %.6^18@JS[eowþvmd[RI@90(! 19AJR\foyþvmdZQH@7/(  19AJS]foyývlcZPG?6/'  19BKT]fpyü~ukbYPG>6.&  2:CKU^gpyü~tkbXOE=5-& 2:CLT^gpz¼}tjaWNE=4-% 2;CLU^gpz|sj`WND<4,% 3;CLU_hr{{ri_VMD;4+$ 3;DMV_hq{{qh_ULC:2+# 36.' 5=FOYbku}þ~ukbXPG>5(# 5>FPYbluþ~tkaWOF=0(  6>GPYclv½}tjaXNE80(  6?GPZclv½|sj`WNA8.(  6?GPZcmv¼|rh_VIA6.%  6?GQ[dmw{rh^QIA6.%  7?HQZdnxzqdYNF>6.% 7@HR[enwzldYNF>6+% 8@HR\eowtlaYNF>3+% 7?IS\eny|tiaVNC;3+# 8AJS\foyſ|qiaVKC;3+# 8AJS]fpyſ|tiaVKC;3(# 9AJS]gpzĿ|qg^TKC;0(# 9BKT^gqzľzqg^TIA80(  :BKU^gqzľzqi^TKA80(  9BKU^hqzþwog\QIA8.(  :CLU_hr{øwog\QI>6.%  :CKU^ir|wod\QI>6.% :CLV_ir|ýtldYNF>6.% ;CMV`ir}ýwldYNF>6+% ;DMW`is}ýwldYNF>3+# ;DNW`jt~ýtlaVNF;3+# FOZclvzog\QIA6.%   >FPZcmvzog\QIA6.%  >GQZdmwzod\QI>6.%  >HQ[dnxwodYNF>6+%  ?HR[enxwldYNF>3+#  ?HR\eoyýtldYNF;3+#  @IR\foyýtlaVKC;3+#  @IS\fpyý|tlaVKC;3(#  @IR]fpyý|tiaVKC;0(   AJS]fqz|qi^TKC80(   AIS]gqw|qg^TKC80(   AKS^glwý|qg^TIA8.%   AKT^dozzqg\QIA6.%   BKQ\dowzog\QIA6.%  BIQ\dowzog\QIA6.%  AIQ\gowzod\NF>6+%  >FQ\gozzldYNF>6+#  >IQ\gozwldYNF>3+#  >IQ\gqzwldYNC;3+#  AIQ\gqztlaVNC;3(#  19AJS\eoxþwmd[RI@70(! 19BJS]foyþwmdZRH@7/'! 2:BJT]fpyý~vlcYPG?6/'  1:BKT]gpy¼~tlbYPF>6.'  2:BKU]gpy¼~ukaXOF>5-' 2:CLU^gqz¼}sjaWOE=5-% 2:CLU^gq{|si`WND=4,$ 3;CMV_hq{|ri_VMC;3,$ 3EOXbku~ývlcYPG>6.' 6=GPXbku~ýukbYOG>5(# 5>GPYbmuþ~tkaWOF=0(  6>GPZcmv½}tk`WNE80(  6?HPZclv½}rj`WM>8.(  6?HQZcmv¼|rh_UI>6.%  6?HQ[dmv{rh^QIA6.%  7@HQ[dmwzpdYNF>6.% 8?IR[enxzldYNF>6+% 8@IS\enwtlaYNF;3+% 8@IS\fpx|tlaVKC;3+# 8@JS\fpy|tlaVKC;3+# 8AJS]fpzſ|tiaVKC;3(# 9AJS]fpzĿzqg^TKC;0(# 8AKT^gqzľzqg^TKC80(  :BKU^hrzľzqg^TIA80(  :BLU^hq{þzog\QIA8.(  ;CLU_ir{øzog\QIA6.%  :CLV_hs|zod\QIA6.% :CMU_ir|ýwldYQI>6.% ;DLV`is}ýwldYQF>6+% ;DMV`kt}ýwldYNF>3+# ;DMW`jt}ýtlaVNF;3+# ;DNWajt~|tiaVKC;3+# GPYcmwzqg^TKA8.(   =FPZcmwzog\QI>6.%   >GPZdmwzog\QI>6.%  >HQZdnwzog\QI>6.%  ?GP[dnwwodYNF>6+%  ?HRZeoxtldYNF;3+#  ?HR\eoyýtldYNF;3+#  @IR\eoyýwlaVNC;3+#  @IR\fpzý|tlaVKC;3(#  @IS\gpzý|tiaVKC;0(   @IT]gq{|qi^TKC80(   AJT]gqw|qg^TKC80(   AKT]hlw|qg^TIA8.%   BKT^dozzqg\TI>6.%   BLN\dowzqg\QI>6.%  BIQ\dowzog\QI>6.%  >IQ\gowzog\NF>6+%  >FQ\gozzodYNF>6+#  >IQ\gozwldYNF;3+#  >IQ\gqzwldYNC;3+#  >IQ\iqzwlaVKC;3(#  19AJS\enxþwnd[RI@80)! 1:AKS]foyþvmd[QG@7/(  1:AJT]foyýulcYPG?6/'  1:BJT]gpy¼~tkbYOG>6.&  2;BKU^gpy¼}tkbYOF>5-& 2;BLU^gpy¼}tjaXOE=4-% 2;CLU^gqz|sj`WNE<4,% 3;DLU^hr{|ri_VMD;4+$ 3;DMU_hr{zqh_ULC;2+# 3;DMV`ir|zpg^TLC:2*# 36.' 5=FOXbku~þ~tlbYOG>5(# 5=FOYbkuþ}ukaXOF=0(  5>GPYclu½}tjaWNE80(  6?HQYclv½|ri`WN>8.(  7?HQYcmw¼|rh_UI>6.%  6?GQZdmv{qh_QIA6.%  7?GQ[dnwzpdYQF>6.% 8@IQZenwzldYNF>6+% 7@IR[eowtlaYNF>6+% 7@JS\eny|tiaVKC;3+# 9@JS\fpx|tiaVNC;3+# 9AJT]fpy|qiaVNC;3(# 8AJT]fpzĿ|qg^TKA;0(# 9BKT^gpzĿzqg^TIA80(  9BKU^gpzľzqg^TIA80(  9BLT^hq{þzog\QIA8.(  9CKU_hr|øzog\QI>6.%  ;CLV_ir{zod\QF>6.% ;CMU_is|ýwldYQI>6.% :DMV_is}ýwldYQF>6+% ;DMW`js}ýwldYNF;3+# GPZcmwzog\QIA6.%  >GQZdmwzod\QI>6.%  ?GP[dnwwldYNF>6+%  ?HQ[enxwldYNF;3+#  ?HR\enyýwldYNF;3+#  @IR\epyýtlaVNC;3+#  @IR\fpyý|tiaVKC;3(#  @IS]fpyý|tiaVKC;0(   AJT]gpz|tl^TKA80(   AJT]gpw|qi^TKC80(   AJS^glw|qg^TIA8.%   AKT^dowzqg\QIA6.%   BKQ\dowzog\QI>6.%  BFQ\dozzog\QIA6.%  >IQ\gozzod\QI>6+%  >IQ\gozwodYQF>6+#  >IQ\gozwodYQF>3+#  AIQ\gqzwodYNC;3+#  AIQ\gqztlaVKC;3(#  ;^];^J;^5;^#;^;^ ;^;^:^O:^8:^&:^:^ :^:^9^S9^<9^)9^9^9^9^8^W8^@8^,8^8^8^8^7^Z7^C7^/7^7^7^7^6^\6^G6^26^!6^6^ 6^5^]5^K5^75^$5^5^ 5^5^ 4^P4^94^'4^4^ 4^4^3^T 3^= 3^) 3^ 3^ 3^ ! ! " " ! ! " ! '" (" '" '" '" '" '" (" '" -'" ,'" -(" -'" -'" -'" -'" -'" -'"  3-(" 3-'!  3-(! 3-("  3-'" 3-'"  3-'"  3-'" 3-'!  93-'"  94-'"  93-'"  93-'"  :3-'!  93-("  :3-'"  :3-'"  :3-("  @93-'!  @:3-'"  @93-'"  @93,'!  @93,'"  @93-'"  @93-'"  @93-'!  ?93-'"  F@93-'!  G@:3-'"  F@93-'!  G@:3-'"  G@93-'"  F@:3-'!  G@:3,'"  F@:3-'!  G@93-'"  F@93-'!  MF@93-'"  " " " ! " " " " '" '" '" '" '! '" '" '! '! -'! -'" -'" -'" -'" -'" -(" -'" -'" 3-'" 3-(" 4-'" 3-'" 3-'" 3-'"  3-'" 3-'"  3-'"  :3-'!  93-'"  93-(!  93-'!  :3,("  93-'!  93-("  93-("  :3-'!  @93-'"  @93-("  @93,'"  @:3-("  @93-'"  @93-'"  @93-'"  @:3-'!  @:3-'!  G?:3-'"  F?:3-("  F@:3-'"  G@93-'"  G@:3-'!  G@:3-'"  G@:3-'"  G@:3-'"  G@93-'"  F@93-'"  MF@93-'"  ! ! ! " " ! ! " '" (! (! '" (" '! '! '! '" -'! -'! -'" -(" -'! -'! -'" -'" -'" 3-'" 3-'" 3-'" 3-'" 3-'" 3-'! 3-'! 3-'!  3-(!  93-'"  :3-'!  :3-(!  94-'!  93-'"  :3-'!  93-(!  :3-(!  93-'!  @:3-'"  ?:3-("  @:3-'"  @93-'!  @93-("  @93-'"  ?:3-'"  @93-'"  @94-'"  G@:3-("  G@:3-'!  G@93-'!  F@93-'"  G@93-(!  F@93-'"  F@:3-("  G@93-'!  F@:3-'!  F@:3-(!  MF@:3-'!  #)/6=EMT]env %.8CQ\gq| #)/6>EMT]fnw %.8CNYdo| #(/6>EMU]enw #.6CKVdoz ")/6>EMU]env #+6AKVaoz ")/6=EMU]fnw #+6AKValw "(/6=DMU]fnw  +3>ITalw "(/6=ELU^env  (3>IT^it #)/6>EMU]fnw  (0;FT^it "(06>ELU]fnv (0;FQ\gt "(/6>DLT]fow %08FQ\gq ")/6=DMT]enw%.8CNYgq| #(/6=EMU]env#.6CNYdo| "(/6=EMU]fnv #+6AKYdoz #)/6=EMU]enw  +6AKValz "(/6=ELU]enw  +3>ITalw #)/6=EMU]fnv  (3>IQ^lw #)/6=DLU]fnv (0;IQ^it "(/6=EMU]enw (0;FQ\it "(06=EMU]eow %08FN\gq "(/5=EMT]fow %.8CN\gq "(/6>EMT]enw #.6CNYdq ")/6=ELU]fnw #+6AKVdo #(/6=EMU]fnw #+6AIVao "(/6=DMU^fnw #+3>ITal #(/5>EMU]fnw  (3>ITal ")/6=ELT^env (0;IQ^i ")06>ELU^env %0;FN\i "(/6=ELU]fnv %08FN\g "(/6=EMU]env #.8CN\g "(/6=EMT]env #.8CNYg #(/6=EMU]fow #+6ANYd ")/6=EMU]enw  +6AKVd ")/6=EMU]fnw  +3>ITa #(05=DMU]env  (3>ITa "(/6=ELT]fnv (0;IQ^ #(/6=EMU]enw (0;FQ^ "(/6>EMU]fnw %08FN\ "(/6=ELU]fnw #.8CN\ #(/6=EMU]fnw #.8CNY "(/6>DMT]fnv #+6ANY #(/6=DMU]fnw  +6AKV #)/6>ELU]fnw  +3>KV "(/6>EMU]enw  (3>IT "(/6=EMT]env (0;IT ")/5=ELU]eov%0;FQ "(/6=ELT]fnw %0;FQ ")06=EMU]eow #.8CQ ")/6=EMT]fnv #.8CN ")/6=EMU]enw #+6AN "(06>EMU]fnw  +6AK ")/6=EMU]fov  +3>I "(/6=ELU]enw (3>I ")/6=EMU]fnw(0>I #(/6>EMT]fow %0;F "(/6=DMT]env %0;F #)/6=EMU]fnw %.8C ")/6=ELU]fnw #.8C #)/6=EMU]fnw #+6C ")/6=EMU]fnw  +6A #)06=EMU]eow  +3A #(/6=ELT]enw (3> ")/6=EMU]enw (0> #(/6=EMU^fnw %0; ")/6>DMU]fow %0; #(/6>ELT]fnw %.8CQ\gq| #)/6=EMU]env %.8CNYdo| #)/6>EMU]fnw #.6CKVdo| #)/6=DMT]fnv #+6AKVaoz ")/6=ELU]fnw #+6AKValw ")/5=EMT]enw #+3>ITalw ")/6=EMU]fnw  (3>IT^it #)/6=DMU^enw (0;FT^it "(/6=DMT]fnw (0;FQ\gt ")06>EMU]fnv %08FQ\gq ")/6=EMU^enw%.8CNYgq| #(/6=ELU]enw #.6CNYdo| "(/6>ELU]fnw #+6AKYdoz "(/6=ELT]enw  +6AKValz "(/6=ELU]enw  +3>ITalw ")/6=EMT]fnw  (3>IQ^lw ")/6>DMU]eow (0;IQ^it "(06=EMT]enw (0;FQ\it "(/6=DMU]fnv%08FQ\gq #(/6=EMT^enw %.8CNYgq #)/6=EMU]fnw #.6CKYdq ")/6=EMU]enw #+6AKYdo "(/6>EMU]fnw  +6AKVao #)/6>DMU]fnv  +3>KVal #)/6=EMT]fnw  (3>ITal "(/6=DLU]enw (0;IT^i ")/6>EMU]fnw (0;FQ^i ")/6=ELU]eow %08FQ\g "(/6=EMU]fnw #.8CN\g ")/6=ELU]eov #.8CNYg ")/6=EMU]fnv #+6ANYd "(/6=EMU]enw #+6AKVd "(/6=ELU]fnw  +3>KVa ")/6=DMU^fnw  (3>ITa ")/5>EMU]fow  (0;IQ^ #)/6>EMU]enw%0;FQ^ ")/6=EMU]fnw %08FQ\ #)/6>DLU]fow %.8CNY "(/6=EMU]enw %.8CNY ")/6=EMU]fnv #+6AKV ")/6>DLU]fov #+6AKV ")/6=EMU]fnw  +3>IT "(/6=DMU]enw  (3>IT ")/6>DMT]enw  (0;IT #(/6=ELU]fnw %0;FT "(/6=ELU]fnw %0;FQ ")/6=ELU]fnw #.8CN "(/6>EMU]enw #.8CN "(/6=EMU]fnv #+6AK #(/6>EMU]fnv  +6AK "(/6=EMU]env  +3>I #)/6=EMU]eow  (3>I ")/6=EMT]fow (0>I #)/6=EMU]fnw (0;F "(/6=ELU]eow %0;F "(/6=EMU]fnw %.8C ")/6=EMU]env #.8C "(/6=EMT]fnv #+6C #(/6=DMU]enw  +6A ")/6=DLU]enw  +3A ")/6=EMU]fnw (3> ")/6=ELU]enw(0> #)/6>DMU]enw (0; #)/6=ELU]enw %0; #)/6>DLU]fnv %.8CQ\gq| #)/6=EMU]fnw%.8CNYdo| #)/6=EMU]fnw #.6CKVdoz ")/6=DLU]fnw #+6AKVaoz ")/6>DMU]fow #+6AITalw ")/6=ELU]fnw  +3>ITalw ")/6>ELU]enw  +3>IT^iw #(/6=EMU^fnw  (0;FQ^it "(/6=EMU]fnw (0;FN\gt "(/6=EMU]enw %08FNYgq "(/6=ELU]fnw %.8CNYgq| "(/6=ELU]fnw #.6CNYdo| ")/6=EMU^fow #+6AKYdoz "(/6=ELU]enw #+6AKValz #(/6=EMU]env #+3>ITalw "(/6=ELU]env  +3>IQ^lw ")/6=EMU]enw  (0;IQ^it "(/6>EMU]fnw (0;FQ\it "(/6=EMU]enw %08FN\gq "(/6>EMU]fnw %.8CNYgq #(/6=EMU]env %.6CKYdq #)/6=EMU]eow #+6AKVdo #)/6=EMU]env #+6AKVao ")/6=EMT^enw #+3>ITal "(/6>ELU]fnv  +3>ITal ")/6=EMT]fnv (0;FQ^i #(/6=EMU]fnw %0;FQ^i #(/6=EMU^enw %08FQ\g ")/6>DMU]fnw %.8CN\g #(/6=EMU]fow %.8CNYg #)/6=EMT]enw #+6AKVd "(06=EMU]fnw  +6AKVd #)/6=EMU]fov #+3>KVa ")/6=EMU]fnw  (3>ITa "(/6=DLU]fnw (0;IQ^ ")/5>EMT]enw(0;FQ^ "(/6=ELU]fnw %08FQ\ #)/6=EMU]fnv %.8CQ\ #(/6=DMU]fnw %.8CNY "(/6>ELU]fnw #+6ANY #)/6=EMU]enw  +6AKV #(/6=ELU]eow  +3>KV ")/6=ELU]enw  (3>IV #)/6>EMT]fnw (0;IT #(/6=DMT]fnw%0;FT "(/6=EMT]fnw %0;FQ "(/6>EMU]enw #.8CQ #)/6=EMU]enw #.8CN ")/6=EMU^fnw #+6AN ")/6=ELU]enw  +6AK ")/6>ELU]fnv  +3>K "(/6=ELU]fnw (3>I "(/6>ELU]eow(0>I "(/6=EMU]fnv %0;F ")/6>ELU]fnw %0;F #)/6>EMU]fnw #.8C ")/6>ELU]enw #.8C "(/6=EMU]fnw #+6C "(/6>EMU]eov  +6A ")/6=ELU]fnw  +3A #)/6=EMU]fnw  (3> "(/6=ELU]fnw (0> #)/6>DMU]enw %0; ")/6=DMU]fnw %0;(^^)W^^)A^^)-^^)^^)^^)^^)^^*Z^^*D^^*/^^*^^*^^*^^*^^+\^^+I^^+3^^+"^^+^^+ ^^+^^,^,L^^,7^^,$^^,^^, ^^,^^-^-Q^^-:^^-'^^-^^- ^^-^^-^^.T^^.>^^.*^^.^^.^^.^^.^^/X^ ^/A^ ^/-^ ^/^ ^/^ ^/^ ^/^ ^0[^ ^0E^ ^00^ ^0 ^ ^0^ ^0^ ^0^ ^1]^ ^1I^ ^14^ ^1"^ ^1^ ^1 ^ ^ѕøti\QF;0(   %.8CQ\gûti^QF;0(   %.8CNYgƻti^QF>0(   %.8CNYdƻwi^QI>3(   %.8CNYdƽwl^TI>3+   #.8CKYdƽwlaTI>3+   #+6CKVdȽzlaTIA3+   #+6AKYdȽzlaTIA6+#  #+6AKYdzodVIA6+#  #+6AKVdzodVKA6.%  #+6AKVazodYNC6.%  #+6AKVaø|qdYNC8.%   +6AKVaøqgYNC8.%   +3AKTaøqgYNC8.%   +3>ITaøqg\NF;0%   +3>ITaƻtg\NF;0%   +3>ITaƻti\NF;0(   (3>IT^ƻti^QF;0(   (3>IQ^ƽwi^TI>0(  (0>FQ^|ƽwl^TI>3(   (0;FQ^|ȽwlaTI>3(   (0;FQ^zwlaTI>3+   (0;FQ^zzlaTIA3+   (0;FN\wzoaVKA6+# %0;FN\wõzodYKA6+# %0;FN\wø|odYKA6+#  %.8FQ\tø|qdVKC6+#  %.8FN\tø|qgYNC8.#  %.8CNYqƻqg\NC8.#  %.8CN\qƻqg\QC8.%  %.8CN\o|ƻtg\NF8.%  %.8CNYo|ƽti\NF;0% #+6CNYlzƽti^QF;0% #+6CKYlwȽwi^TF;0(  #+6AKVlwȽwl^TI;0(  #+6AKYitwlaTI>0(  #+6AKVitwlaTI>3(    +6AKVgqzlaTK>3+    +6AKVgqõzoaVKA3+    +3AKVdq|øzodVKA6+    +3>KVdo|ø|odVKA6+    (3>KVaozø|qdYKA6+#   (3>IValzƻ|qgYKC6+#   (3>IT^lwƻqgYNC8.#  (3>IT^iwƻqg\NC8.#  (0>IT^itƽtg\NC8.%  (0;IT\gtȽti\NF8.%  (0;IQ\gqȽti^QF;0% (0;FQYdqwi^TF;0( %0;FQVdo|wi^TF;0( %0;FQVdozwl^TI;0( %0;FQTalzõwlaTI>0(   %.8FQTalzøzlaVI>3( %.8FNT^lwøzoaTI>3(   %.8FNQ\itøzodVI>3+   %.8CNN\itƸ|odVKA3+   %.8CQN\gtƻ|qdYKA6+   #.8CNKYgqƻ|qdYNA6+   #+6CNKVdq|ƻqgYNC6+#  #+6CNKVdo|ȽqgYNC6+#  #+6CNITao|ȽtgYNC8.#  #+6AKITalzȽti\QC8.#   +6AKIT^lwti\NF8.%   +6AKFQ^iwwi\QF8.%   +6AK񕠭øti\QF;0(  %.8CNYgûti^TF;0(  %.8CNYgƻti^TI>0(  %.8CNYdƻti^TI>3(   %.8CKVdƽwl^TI>3+   %.8CKVdƽwlaVI>3+#  #.6CNYdȽwlaVKA3+   #+6ANYdȽzlaVKA6+#  #+6AKYdzodVKA6+#  #+6AIVdzodYKA6+#  #+6AITazodVKC6.#  #+6AKVaø|qdYNC8.#  #+6AKVaø|qgYNC8.%   +3AITaøqgYNC8.%   +3>ITaøqg\NF;0%  +3>IVaƻtg\NF;0%   (3>ITaƻti\NF;0(   +3>IT^ƻti^QF;0(    (3>IT^ƽwi^TI>0(  (0>IT^|ƽwl^TI>3(    (0;IT^|ȽwlaTI>3(    (0;FT^zwlaTI>3+   (0;FT^zzlaTIA3+#  (0;FQ^wzoaVKA6+   %0;FN\wõzodYKA6+#  %0;FN\wø|odYNA6+#  %.8FQ\tø|qdYNC6.%  %.8FQ\tø|qgYNC8.#  %.8CQ\qƻqg\NC8.%  %.8CN\qƻqg\QC8.%  #.8CN\o|ƻtg\QF8.% #.8CNYozƽti\NF;0%  #+6CNYlzƽti\QF;0%  #+6CNYlwȽwi^TF;0(  #+6ANYlwȽwl^TI;0(   #+6ANYitwlaTI>0(   #+6AKVitwlaVI>3(   #+6AKVgtzlaTI>3+    +6AKVgqõzoaTIA3+    +3AITdq|øzodVIA6+    +3>ITdo|ø|odYKA6+#   (3>ITaozø|qdVKA6+#   +3>ITalzƻ|qgYKC6+#   (3>IV^lwƻqgYNC8.#  (3>IT^iwƻqgYNC8.#  (0>IT\itƽtg\NC8.#  (0;IQ\gtȽti\NF8.% (0;FQYgqȽti\NF;0% (0;FQYdqwi^QF;0%  %0;FQVdo|wi^TF;0% %0;FTVdozwl^TI;0( %0;FQValzõwlaTI>0(  %.8FQTalwøzlaVI>3(  %.8FQQ^lwøzoaVK>3(   %.8FQQ\itø|odVK>3+   #.8CNQ\itƸ|odVKA3+   #.8CNN\gtƻ|qdVKA6+   #.8CNNYgqƻqdYKA6+   #+6CNKYdq|ƻqgYNC6+#  #+6CNKVdo|Ƚqg\NC6+#  #+6CNIVao|Ƚtg\NC8.#  #+6ANITalzȽti\QC8.#   +6ANIT^lwti\NF8.%   +6AKFQ^iwwi\NF8.%   +6AK񕠭øti\QF;0(  %.8CNYgûti^TF;0(  %.8CNYgƻti^TI>0(   %.8CNYdƻti^TI>3(   %.8CNYdƽwl^TI>3+   %.8CKVdƽwlaTI>3+   #.6CKVdȽwlaVKA3+   #+6ANYdȽzlaVKA6+#  #+6AKYdzodVKA6+#  #+6AKVdzodVKA6+#  #+6AKVazodVKC6.#  #+6AKVaø|qdYNC8.%   +6AKVaøqgYNC8.%   +3AKVaøqgYNC8.%  +3>KTaøqg\NF;0%  +3>ITaƻtg\NF;0%   (3>ITaƻti^QF;0(   (3>IT^ƻti^TF;0(   (3>IQ^ƽwi^TI>0(  (0>FQ^|ƽwl^TI>3(   (0;IQ^|ȽwlaTI>3(   (0;FQ^zwlaTK>3+   (0;FQ\zzlaVKA3+   (0;FQ^zzoaVKA6+# %0;FQ\wõzodYKA6+# %0;FN\wø|odYNA6+#  %.8FN\tø|qdYNC6+#  %.8FN\tø|qgYNC8.#  %.8CN\qƻqg\NC8.%  %.8CN\q|ƻqg\QC8.%  #.8CNYo|ƻtg\QF8.%  #.8CNYozƽti\NF;0% #+6CNYlzƽti\QF;0( #+6CNYlwȽwi^TF;0(  #+6ANYlwȽwl^TI;0(  #+6ANYitwlaTI>0(  #+6AKYitwlaTI>3(   #+6AKVgqzlaTI>3(   #+6AIVgqõzoaVKA3+    +3AKVdq|øzodVKA6+#   +3>ITdozø|odVKA6+    (3>ITaozø|qdYKA6+#   (3>ITalzƻqgYNC6+#   (3>IT^lwƻqgYNC8.#   (3>IT^iwƻqg\NC8.#  (0>IT^itƽtg\QC8.%  (0;IQ\gtȽti\QF8.% (0;FQ\gqȽti\QF;0%  (0;FQYdqwi^QF;0%  %0;FTYdo|wi^TF;0% %0;FQVdo|wl^TI;0(  %0;FNValzõwlaTI>0(  %.8FNTalwøzlaTI>3(  %.8FQQ^lwøzoaTI>3(   %.8FQN\itø|odVK>3+   %.8CQN\itƸ|odVKA3+   #.8CQN\gtƻ|qdYKA6+   #.8CNKYgqƻqdYNA6+   #+6CNKVdq|ƻqgYNC6+#  #+6CNKVdo|ȽqgYNC6+#  #+6CNIVao|ȽtgYNC8.#  #+6AKITalzȽti\NC8.#  #+6AKFQ^lwti\QF8.#   +6AKFQ^iwwi^QF8.%   +6AK^q|ǽxl`UJ?6,#  %.6q|ǾxlaUJ?5,$  %.6q|ǽxlaUJ?5,$   %.8o|ǽxl`UJ?5,$   %.8ozǽxl`UJ?5+#   (08o|Ƚwl`UI?5,#   (08ozȽwl`TJ@5,#   (08ozȽxl`UI?5,#   (08ozȽwl`UI?5+"  (08ozȽxl`UI>4+"   (0;ozȾxk`SI>4+"   (3;lzȽxk`TH>4+"  (3;lwȽxl`TI?4+#   (3;lwȽxl_TI?4+"  #(3;lwȽxk_SI>4+!  #(3;lwȽvk_TI>4*  #+3;lwȽwk_SH>4% #+3;lwȾwk_SH=0% #+3;iwȾwk_TH;0% #+3;itȽwk_TF8.% #+3;itȽvk_NF8.%  #+6>itȽwk\NF8.%  #+6>itȾwg\QF8.%  #+6>itȾqg\QC8.%  #+6>itȾqg\QC8.%  %.6>gtɽqg\QC8.%  %.6Agqƾqg\QC8.%  %.6>gqƻqg\QC8.%  %.6AgqƻqgYNC8.%  %.6AgqƻqgYNC8.%  %.8Agq|ƻqgYNC8.%  %.8Agq|ƻqg\NC8.#  %.8Cdq|ƻqg\NC8.#  %08Cdo|ƻqg\NC8.#   %08Cdo|ƻqgYNC8.#   %08Ado|ƻqg\NC8.#   (08AdozƻqgYNC8.#   (08CdozƻqgYNC8.#   (08CaozƻqgYNC8.#   (0;CaozƻqgYNC6.#   (3;CaozƻqgYNC6+#   (3;FalzƻqgYNC6+#   (3;FalzƻqgYNC6+#   (3;Falwƻ|qgYNC6+#   (3;Falwƻ|qgYKC6+#  #(3>F^lwƻ|qdVKA6+#  #+3>F^lwƻqdYNA6+#  #+3>I^iwƻ|qdYNA6+#  #+3>I^iwƻ|qdVKA6+#  #+6>F^iwƻ|qdVKA6+#  #+6>F^itƻ|qdYKA6+#  #+6>I^itƻ|qdYNA6+#  #+6>I\itƻ|qdYNA6+#  #+6AI\itƻ|qdYKA6+   #.6AI\gtƻ|qdYKA6+   #.6AI\gtƻ|qdYKA6+   %.6AI\gtƻ|qdVKA6+   %.6AK\gqƻ|odYKA6+   %.8AKYgqƻ|odYKA6+   %.8AKYgqƻ|odVKA6+   %.8CKYgqƻ|odYKA6+   %.8CKYdqƻ|odYKA6+   %08AKYdqƻ|odVKA3+   %08ANYdq|ƻ|odVIA3+   %08CNq|ǽwl`UJ?6,# > %.6q|ǽxlaUJ?5,$  %.6q|ǽxmaUJ?5,#   %.8o|ǽxlaTJ?5,$   %.8ozǽxm`UJ?5+$   (08ozȽwl`UI?5,#   (08ozǽxm`UJ@5,#   (08ozȾwl`UJ?5+"   (08ozȾwl`TJ?5+"   (0;ozǽxl`TI>4+#  (0;ozȽxl`TI?4+"   (3;lzȽxl_TI>4+#   (3;lzȽxk`TI>4*"   (3;lwȽxk_SH>4+"  #(3;lwȽwk_SI>4+"  #(3;lwȽxk`TI>4+  #+3;lwȽwl_TH=4%  #+3;lwȽwk`TH=0% #+3;iwȽvk_TG;0% #+3>itȽwk_TF8.%  #+3>itȽvl_NF8.%  #+6>itȽwlYNF8.%  #+6>itȾwgYNF8.%  #+6>itȽqg\NC8.% #+6AitȽqg\QC8.%  %.6AgtȾqg\QC8.%  %.6Agqƾqg\NC8.% %.6AgqƻqgYNC8.%  %.6Agqƻqg\NC8.%  %.6AgqƻqgYNC8.% %.8Agq|ƻqgYNC8.% %.8Agq|ƻqgYNC8.%  %.8Cdq|ƻqg\NC8.#  %08Cdo|ƻqg\NC8.#   %08Ado|ƻqg\NC8.#   %08Ado|ƻqg\NC8.#   (08Ado|ƻqgYNC8.#   (08Cdo|ƻqgYNC8.#   (08CaozƻqgYNC8.#   (0;CaozƻqgYNC6+#   (3;CaozƻqgYNC6+#   (3;FalzƻqgYNC6+#   (3;FalzƻqgYNC6+#   (3;Falwƻ|qgYNC6+#   (3;Falwƻ|qgYNC6+#  #(3>F^lwƻqdVKA6+#  #+3>F^lwƻ|qdVKA6+#  #+3>F^iwƻ|qdYNA6+#  #+3;F^iwƻ|qdYNA6+#  #+6>F^iwƻ|qdYNA6+#  #+6>I^iwƻ|qdYNA6+#  #+6AI^iwƻ|qdYNA6+#  #+6>I\itƻ|qdYKA6+   #+6>I\itƻ|qdVKA6+   #.6>I\gtƻ|qdYKA6+   #.6AKYgtƻ|qdYKA6+   %.6AK\gtƻ|qdVKA6+   %.6AI\gqƻ|odYKA6+   %.8AIYgqƻ|odVKA6+#  %.8CKYgqƻ|odYKA6+   %.8AKYgqƻ|odYKA6+   %.8AKYdqƻ|odVKA6+   %08ANVdqƻ|odVKA3+   %08AKVdq|ƻ|odVKA3+   %08CKq|ȾxlaTJ?6,#  %.6q|ǽxlaUJ?5,#  %.6q|ǾxlaUJ?4,# ?  %.8o|ǽxlaUI?5,#   %.8ozǾxl`TJ?5,#   (08ozȽxl`UJ@5+#   (08ozȽwl`UI?5+#   (08ozȽxl`UI>5+#   (08ozȽwl`UJ>5+"   (0;ozȽxl`UI>4+"   (0;ozǽxl`TI?4+"   (3;lzȽxl`TI>4+"   (3;lwȽxk_TI>4*"   (3;lwȽxk_TI>4+#  #(3;lwȽxk_TH>4*"  #(3;lwȾwk_TI>4+  #+3;lwȽwk_TH>4% #+3>lwȽwk_TI=0% #+3>iwȽvk_TH;0%  #+3;itȾwk`SF8.% #+3;itȾwk_QF8.% #+6>itȾwj\QF8.% #+6>itȽwg\QF8.%  #+6>itȾqg\QC8.%  #+6>itȽqg\QC8.%  %.6>gtȾqg\QC8.% %.6>gqƾqg\NC8.% %.6>gqƻqgYNC8.% %.6>gqƻqg\NC8.% %.6Agqƻqg\NC8.% %.8Agq|ƻqg\NC8.%  %.8Agq|ƻqg\NC8.#  %.8Adq|ƻqg\NC8.#  %08Cdo|ƻqg\NC8.%   %08Cdo|ƻqg\NC8.%   %08Cdo|ƻqg\NC8.#   (08CdozƻqgYNC8.#   (08CdozƻqgYNC8.#   (0;CaozƻqgYNC8.#   (0;CaozƻqgYNC6+#   (3;CaozƻqgYNC6+#   (3;CalzƻqgYNC6+#   (3;CalzƻqgYNC6+#   (3;Falwƻ|qgYNC6+#   (3;FalwƻqgYNC6+#  #(3>F^lwƻqdYKA6+#  #+3>F^lwƻ|qdVKA6+#  #+3>I^iwƻ|qdYKA6+#  #+3>F^iwƻ|qdYNA6+#  #+6>F^iwƻqdYNA6+#  #+6>I\itƻ|qdYNA6+#  #+6AI\itƻ|qdYNA6+#  #+6AI\itƻ|qdYNA6+   #+6AI\itƻ|qdVKA6+#  #.6AI\gtƻ|qdVKA6+   #.6AI\gtƻ|qdYKA6+   %.6AI\gtƻ|qdYKA6+   %.6AK\gqƻ|odYKA6+   %.8AKYgqƻ|odYKA6+   %.8AKYgqƻ|odYKA6+   %.8AKYgqƻ|odVKA6+   %.8AKYdqƻ|odVKA6+   %08AKYdqƻ|odVKA3+   %08CKYdq|ƻ|odVIA3+   %0;CK^>IT^iqztiaVKC;0(   AIT^gq|ý|tlaVKC80(   AKT^gq|ý|tl^TKC80(   AKT^gq|ý|qi^TKA8.%   CKT^it|ý|qg^TIA6.%  CKT^it|ý|qg\QIA6.%  CKVait|zog\QIA6.%  CKVait|zog\QI>6+#  CKValtzodYQF>6+#  CKVaitzldYQF>3+#  CKValwwldYNF;3+#  CKValwwldVNC;3(#  CKVdltwlaVKC;0(   CNYdlwtiaVKC;0(   CNYdlw|tiaVKC80(   FNYdlw|ti^TKA8.%   FQYdlwý|qg^TKA8.%  FQYdozý|qg^TIA6.%  FQYdozý|qg\QI>6.%  FQ\gozýzqg\QF>6+#  FQ\gozýzog\QF>6+#  FQ\gozýwogYNF;3+#  FQ\gqzûzldYNF;3+#  IQ\gq|wldYNC;3(   IQ\gq|wldVKC;0(   IT^gq|wlaVKC80(   IT^gq|tiaVKC80(   IT^gq|tlaTIA8.%   KT^it||ti^TKA8.%  IT^it||qi^TIA6.%  IT^it||qg^QI>6.%  KTait|ýzqi\QI>6+#  KValtýzqg\QF>6+#  KValwýzog\NF;3+#  KValwýwodYNF;3(# KValwýwodYNF;3(  KVaowwldYNC;3(  KVdlwtldVNC80(  KVdlwtlaVNC80(  NYdlzwlaVKC8.% NYdowtlaTKC8.% NYdowti^TKA6.% NYdoz|ti^TI>6.% QYgoz|qg^TI>6+# Q\goz|qg\QI>6+#  rQ\gqz|qg\QF>3+# rQ\gq|zog\QF;3(# qQ\gq|ýzodYNF;3(  rQ\gq|ýwodYNC;3(  qQ\gq|ýzodYNC;0(  rQ^gq|ýwldVNC;0%  rQ^gq|tlaVNC8.% rT^it|tlaVKC8.% qT^it|ûtiaTIA6.% qT^itti^TI>6.#  xrT^it|ti^QI>6+#  yrTait|qg^QI>6+# xqVait|qi\QF>6+# yrValwzqg\NF;3(  yqValwzqgYNF;3(  xrValwzogYNC;3(  yrValwzodYNC;0(  xqVdlwýzldVKC;0% yrVdlzýwlaVKC8.%  yrAIT^iqztiaVKC;0(   AKT^gqzý|tiaVKA80(   AIT^gq|ý|ti^TKA80(   AIT^gq|ý|qg^TKA8.%   CKT^iq|ýzqg^TIA6.%  AKT^iq|zqg\QIA6.%  AKVait|ýzog\QIA6.%  CKVait|ýwog\QF>6+#  CKVait|zodYNF>6+#  CKVaitzldYNF;3+#  CKValwwldYNF;3+#  CKValwwldVNC;3(#  CKVdlwwlaVNC;0(   CNYdlwtiaVNC80(   FNYdlw|tiaVKC80(   FNYdlz|ti^TKA8.%   FQYdlzý|ti^TKA8.%  FNYdozý|qg^TI>6.%  FNYgozýzqg\QI>6.%  FN\gozýzog\QI>6+#  FQ\gozzog\QF>6+#  IQ\gozzogYNF;3+#  IQ\gqzûzldYNF;3+#  IQ\gq|wldYNF;3(   IQ\gq|wodVKC;0(   IT^iq|tlaVKC;0(   IT^gq|tiaVKC80(   IT^iq|tiaTIA8.%   IT^it||ti^TIA8.%  IT^it||qi^TIA6.%  IT^it|zqg^QIA6.%  KTaitýzqg\QIA6+#  KVaitý|qg\QF>6+#  KVaitýzog\QF>3+#  KValwýzodYQF;3(# KValwýzodYNC;3(  KValwýwldYNC;3(  NVdlwtldVKC;0(  KVdowtlaVKC80(  NYdlzwlaVKA8.% NYdlztiaTIA8.% NYdozti^TKA6.% NYdoz|ti^TIA6.% NYdoz|qg^QIA6+# Q\goz|qg\QI>6+#  qQ\gozzqg\QF>3+#  rQ\gqzzog\QF>3(# rQ\gqzýzogYQF;3(  rQ\gqzýzodYNC;3(  rQ\gq|ýzodYNC;0(  rQ^it|ýwldVKC;0%  qQ^gq|tlaVKC8.% rT^it|tlaVKA8.% rT^it|ûtiaTIA6.% qT^it|ti^TI>6.#  xqT^it|qi^QI>6+#  xrTait|qg^QI>6+# yrTait|qg\QF>6+# xrValt|qg\NF>3(  yqValt|ogYNF;3(  yqVaowzodYNC;3(  yrValwzodYNC;0(  xqVdlwýwldVKC;0% yqVdlzýwlaVKC8.%  yq>IT^gqztlaVKC;0(   AIT^gqzý|tlaVKC80(   AKT^gqzý|tl^TKC80(   AKT^gq|ý|qi^TKA8.%   AKT^it|ý|qg^TIA6.%  AKT^it||qg\QIA6.%  AKVait|zog\QI>6.%  CKVait|zog\QI>6+#  CKVait|zogYQF>6+#  CKVaitzodYNF;3+#  CKValwwldYNF;3+#  CKValwwldVNC;3(#  CKVdltwlaVKC;0(   CNYdlttiaVKA80(   CNYdlw|tlaVKA80(   FNYdlw|tl^TKA8.%   FNYdlwý|qi^TIA8.%  FNYdowýzqi^TI>6.%  FNYdozýzqg\QIA6.%  FN\gozýzog\QI>6+#  FQ\gozzog\QI>6+#  IQ\gqzzodYQF>3+#  IQ\gqzzldYNF;3+#  IQ\gq|wldYNC;3(   IQ\gqzwldVKC;0(   IQ^gqztlaVNC80(   IT^gq|tiaVKC80(   IT^gq||tiaVKC8.%   IT^iq||ti^TKA8.%  IT^it||ti^TIA6.%  IT^it||qi^TI>6.%  KTaitýzqg\QI>6+#  KVaitýzqg\QF>6+#  KValwýzog\QF;3+#  KValwýwogYNF;3(# KValwýzodYNF;3(  KVaowwldYNC;3(  KVdlwwldVKC80(  KVdlwwlaVKA80(  NYdlzwlaVKA8.% NYdlztiaTKC8.% NYdow|ti^TIA6.% NYdow|qi^TI>6.% NYdoz|qg^QI>6+# Q\goz|qg\QI>6+#  qQ\goz|qg\QF;3+# rQ\gq|zqg\QF;3(# qQ\gq|ýzogYQF;3(  qQ\gqzýzodYNF;3(  rQ\gqzýwldYNC;0(  qQ^gq|ýwldVKC;0%  rQ^gq|wlaVKC8.% rT^it|wlaVKA8.% rT^it|tlaVKA6.% rT^it|tl^TI>6.#  yrT^it|ti^TIA6+#  xrValt|qg^TI>6+# xrVaitzqg\QF>6+# yrValtzqg\QF>3(  xqValw|ogYQF;3(  yrValtzodYQF;3(  yqValwwodYNC;0(  xqVdlwýwldVNC80% yqVdlwýwlaVNA8.%  xq3^ 2^W 2^A 2^- 2^ 2^ 2^ 2^ 1^Z 1^D 1^/ 1^ 1^ 1^ 1^ 0^\ 0^I 0^3 0^" 0^ 0^ 0^ 0^/^L /^7 /^$ /^ /^ /^ /^.^Q.^:.^'.^.^ .^.^-^T-^>-^*-^-^-^-^,^X,^A,^-,^,^,^,^+^[+^E+^0+^ +^+^+^*^]*^I*^4*^"*^*^ MG@93-'!  NG@:3-'"  NF@:3-'"  MG@:3-'"  NG@93-'"  NG@93-'"  MG@:3-("  NG@:3-'"  UNG@:3-'! UMG@:3-'"  UNF@93-'"  UNG@:3-("  TNG@93-(" UNG@93-'"  UNF@:3-'!  TMG@:3-'"  TNF@93-'! \UNF@93-'" [TMG@:3-'!  \UNG@:3-'" \UMG@93-(" [UNG@:3-(" \UNG?93-(! \TMG@:3-'" \UMG@93-(" [UNF@:3-(" c\TNG@:3-'" c[TMF@:3-'! c\UNF?93-'" c\UNG@93-'" c\TNF@:3-'" c\TMG@:3-'" c\UMF@93-'" c\UNF@93-'" c[UNF@93-(" jc\UMG?:3-'! jc\TMG@:3-(! kc\TMG@:3-'" kc[UMF@93-'" jc\UMG@93-'! jc\TMG@:3-(" jc\UNG@93-'" jc\UNF@:3-'" jc[UNF@:3-'" jc[UNG@93-(" jc\TNG@93-'" jc[TNG@93-(" jc\TNG@:3-(" kc[UMF@:3-(" jc\TMF@93-'" jc\TNG@93-'" jc[UNG@93-'" jc\UNG@93-'! jc[TNG@93-'" jc\TMG@93-'" jc\TMG@93-'" kc\UNF@:3-(! kc[UMF@:3-'! jc\TNG@93-'" jc\TMF@93-'" kc\UNG@:3-(" kc\TMF@93-(! jc\UMF@93-'! jc\TMG@93-'" MF@93-'!  MF@93-'"  NG@93-(!  MG@93-'"  MF@:3,'"  NG@93-'"  MF@93-'"  NG@93-("  UNG@:3-(!  UMG@:3-'"  TNG@93-'!  TMG@93-'" TNG@93-'"  UMG@93-'!  UMG@:3-'"  UMF@93-'! UMG@93-'" \TMF@93-'" \UMG@93-'" [UNG?93-'" \TNG@93-'" \UMF@:3-'" \UNG?:3-'" \UNF@:3-(" \TMF@93-'" [TMG@93-'" c\TNF@93-'! c\TNG@:3-'" c\UNG@93-'" c\TNG@94-'" c\UMG@:3,'" c\TMG@93-(" c\TMG@:3,'" c[UMF@93-'" c\UNG@93-'" jc\UMG@93-'" jc[TMG@:3-'" jc\UMG@93-'" jc\UNG@93-'! jc\TMF@93-'! jc\TMF@:3-'" jc\UMF@93-'" kc\UMF@93-'" kc\TMG@93-'" kc\TMG@93,'! jc\UMG?93-'" jc\UNG@:3-'" kc\TNG@93-'" jc\UNG@:3-'! jc\UNG@94-'" kc\UNG@93-'" jc\UNG@93-'! kc\UMF@:3-'" jc\UNG@94-'" jc\UMF@93-'" jc\UNF@:3-'" kc\TMG@93-'" kc\TNG@93-'" kc\TNG@93-'" jc\TNG@93-'" jc\TNG@93-(! jc\UNG@:3-(" jc[UMG@:3-(" kc\TNG@93-'" NG@93-'"  NG@:3-'"  NG@:4-'!  NF@:3-'!  NG@93-'"  MG@93-'"  MG@93-'"  NG@93-'" UMG?:3-'"  UMG@:3-'"  TMF@:3-'!  TNG@93-'" TNG@93-'"  TNF@:3-'" UNG@93-'"  UNF@:3-'"  UMG@93-'" \TMG@93-'" \TNG@93-(" \TMG@93-(! \TNG@93-'" \TMG@:3-'" \UNG@93-'" \UMF@93-'" \UMF?93-(" \UNG@:3-'! c[UNG@:3-'" c\UMG@93-'! c\UMF?93-'" c\TMG@:3-(! c\UNG?:3,(" c\UNF@93-'" c\UMG@93-(" c\UNG@93-'" c[UMG@:3-'" kc\UNF@:3-'! kc\UMG@93-'" kc\UNF@94-'" kc\UMG@93-'" jc\TMG@93-'" jc\UMG@93-'! kc\UNG@93-(" kc\UMG@:3-'" jc\UNF@94-'" kc\UMG@93-'" jc\UNF@:3-'" kc\TMG?93-'" jc[TMG@93-'" jc[UNG@:3-'" jc\UMG@93-'" jc\UNG@:3-(" jc\UNG@93-'! jc\UMG@93-'" kc\UMG@:3-'! jc[UMF@93-'" kc\UMF?93-'! jc\TMF@:3-'" jc\UMG@93-'" jc\TNF@93-'" jc\UMF@:3-'" kc\UNG@93-'" jc\UMG@:3-'" jc[TNG@:3-'! kc\UNF@:3-'"  ")/6>EMU]enw #.8 "(/6=EMU]enw #.8 ")/6=EMU]fnw #+6 "(/6>ELU]fnw  +6 "(/6=EMU]fnw  +3 #)/6=EMU]enw(3 ")/6=EMU]fnw (0 ")/6=EMU]fnw %0 ")/6=EMU]fow %0 #(/6>EMU]fnv #. ")/6=EMU]fnv #. ")/6=EMT]fnv #+ #)/6=DLU]fnw  + "(/6=EMU]fnw  + "(/6=ELT]enw  ( ")/6>EMU]fnw ( ")/6=DLU]env % "(/6=ELU]enw % ")/6=DMU]fnw # "(/6>DMU^fnw # #(/6>DMU]eow # ")/6=EMU]eow   ")/6=EMU]enw   #(06=EMU]enw  "(/6=EMT]enw #)/6=ELU^enw  "(/6=EMU]fnw  ")/6=EMU]fnw  #)/6=EMU]fnv  "(/6=EMU]fnv  ")/6=EMU]fov  #(/6>DMU]fow  ")/5=EMU]fnw  ")/6=EMT]enw  #)/6=EMU]fnw  "(/6=EMU]fnw  #(/6=ELU]fnw  #(/6=DLU]fnw  "(/6>DLT]fnw  "(/6=ELU]enw  ")/6=ELU]eow "(/6=EMU]enw #)/6=EMU^fow  ")/6=EMU]fnw  "(/6>DMU]enw  "(/6=EMU]fnw  ")/6>EMU]enw  "(/6=DMU]env #.8 #(/6=DMU]fnw #.8 "(/6=EMT]fnw #+6 "(/6=EMT]fnw  +6 "(/6=EMU^enw  +3 #(/6=EMU]fnw (3 "(/6=ELU]fnw (0 "(/6=DLU]fov %0 ")/6>EMU]env %0 #(/6=ELU]fnw %. ")/6=ELT]fnv %. "(/6>EMT]fnw #+ #)/6=EMU]fnw  + #)/5=EMU]fnw  + #)/6=EMT]enw ( ")/6>EMT]fnw ( "(/6=EMT]fnw ( #(/6>DLU^fnw % ")/6=ELU]fnw % "(/6=EMU]enw # "(/6>EMU]fnw # "(/6>EMU^fnw   #)/6=EMU^fnw   ")/6=ELU]enw #)/6>EMU^fnv  "(/6=EMU]fnw  "(/6=EMT]fnw  "(/6=EMU^fnw  "(/6=EMU]fnw  "(/6=DLU]fow  ")/6=EMU]fnw  ")/6=DMT]fnw ")/6>EMU]enw ")/6=ELU]enw "(/6=EMT]eov  ")/5=ELU]eov  "(/6=EMU]fnw  #)/6>EMU]fnw  "(/6=EMU]fnw  #)/6>ELU]fnw  ")/6=EMU]enw #(/6=ELU]eow "(/6=EMU]fnw  #)/6=EMU]enw  "(/6>EMU]enw  "(/6>DMT]fnw  #)/6=ELT]env  "(/6=ELU]fnw #.8 ")/6=DMU]fnw #.8 "(/6>EMU]fnw #+6 #)/6=EMU]fnw  +6 "(/6>DMU]fnw  +3 "(/6=EMU]enw(3 "(/6=ELU]fnw (0 ")/6=EMU]env (0 "(/6=ELU]fnw %0 "(/6=ELT]eow #. #)/6=ELU]enw #. ")/6=DMU]enw #+ #(/6=ELU]enw #+ ")/6=EMU^enw  + "(/6=EMU]fnv ( ")/6=EMU]fnw ( #(/6=EMU]enw % "(/6>EMU]enw % #)/6=ELT]eow % "(/6=EMU]fnv # ")/6>EMU]env # ")/6=EMU]fnw   "(/6>EMU]enw   ")/6>EMU]enw ")/6=DLU]fnw #)/6=EMU]fow  "(/6=EMU]fnw  ")/6=EMU]fnw  #(/6=EMU^fnw  "(/6>EMU]fnw  "(/6>ELT]fnw  "(/6=EMU]fnw "(/6>EMU]fnw  "(/6=EMU]fow "(/6=EMT]fnw  #)/6>ELU]enw  "(/6=EMU]enw  #)/6=EMU]fnw  ")/6>EMU]fnw  ")/6>EMT]enw  #)/5>ELU]enw #)/6>ELU]env #(/6=ELU]fnw  ")/6=EMU]enw  "(/6=EMT]env  ")/6=EMU]fnw  ")/6>EMU]fnw 1^ ^2 ^2L^ ^27^ ^2&^ ^2^ ^2 ^ ^2^ ^3 ^3Z^ ^3N^ ^3;^ ^3$^ ^3^ ^3^ ^4S^^4*^^4 ^^5V^^5 ^^5\^^6)^^6\^^7"^^8I^^8]^^9^^:7^^:C^^;@^^<<^=5FN\itwi^TF;0%   +3AKCNYgtõwl^QF;0%   +3AICNYgqøwlaTI;0(   (3>IAKVdqøzlaTI>0( (3>IAKVdo|ƸzoaVI>0((3>I>ITaozƻ|oaVK>3( (3>I>ITalzƻ|odVK>3(  (0>I;ITalwƻ|odYKA3+   (0>I;FT^lwƽqdYKA6+   (0;I8FQ^iwȽqgYNA6+   %0;I8CN\itȽqgYNA6+# %0;F6CNYgttg\NC6+#  %0;F6AKYgqtgYNC8.#  %0;F3AKYdq|ti\NC8.#  %.8F3>KVdo|õwi\NF8.#  #.8F0>ITaozõwi^QF8.%  #.8F0;ITalzøzl^QF;0%  #.8C0;FT^lwƸwl^TF;0%  #.8C.8FQ^iwƸzlaTI;0(  #.8C.8CQ\itƻ|oaTI;0(  #+6C+6CN\gtƻ|oaVI>0(  #+6C+6ANYgqƻ|odVK>3( #+6C+3AKYdqȽ|odVK>3(  +6A(3>KVdo|ȽqdVKA3(  +6A(0>IVaozȽqdYKA3+    +6A(0;ITalzqgYKA6+    +6A%0;FQ^lztg\NA6+    +3A%.8FQ^iwtgYNC6+#  (3A#.8CN\iwõti\NC6+# (3>#+6CN\gtõwi\NC8.# (3> +6ANYgtøwi\NF8.%  (3> +3AKYgqƸwl^QF8.#  (3>(3>KVdqƸzl^QF8.#  (0>(0>IVdo|ƻzlaQF;0%  (0>%0;ITao|ƻzlaTI;0%  (0;%0;FTalzȻ|oaVI;0(  (0;#.8FQ^lwȽ|oaTI>0( %0;#.8CQ^iwȽ|odVI>0(  %0; +6CN\iwȽqdVK>3(  %0; +6AN\gtqdYK>3(  #0; +3AKYgqqgYKA3+  #.8(3>KVdqtgYNA6+   #.8(0>IVdo|õtgYNA6+  #.8%0;ITao|õwi\NC6+   #.8#0;FTalzøwi\QC6+#  #.8#.8FQ^lzƸwi^QC8.#  #+6#.8CQ^iwƻwi^QC8.#  #+6FQ\itwi^QF;0%   +3AKCN\gtõwl^QF;0%   +3AICNYgqøzlaTI;0%   +3>IAKVdqøzlaTI>0(  (3>IAKVdo|ƸzoaTI>0(  (3>I>KVaozƻ|oaVK>3((3>I>IValzƻ|odVK>3(  (0>I;ITalwƻ|odYKA3+  (0>I;FT^lwƽqdYKA6+   (0;I8FQ^iwȽqgYNA6+   %0;I8CN\itȽqgYNA6+#  %0;F6CN\gttgYNC6+#  %0;F6ANYgqtgYNC8.#  %0;F3AKVdqti\NC8.#  %.8F3>IVdo|õwi\NF8.#  #.8F0>IVao|õwi^QF8.#  #.8F0;ITalzøwl^TF;0%  #.8C0;FT^lwƸwl^TF;0%  #.8C.8FQ^iwƸzlaTI;0%  #.8C.8CN\itƻzoaTI;0(  #+6C+6CNYgtƻzoaTI>0(  #+6C+6ANYgqƻ|odVI>3( #+6C+3AKYdqȽ|odVI>3(  #+6A(3>KVdo|ȽqdYKA3(  +6A(0>IVaozȽqdYKA3+    +6A%0;ITalzqgYNA6+    +6A%0;FQ^lztg\NA6+   +3A%.8FQ^iwtg\NC6+#   +3A%.8CN\iwõti\QC6+#  (3>#+6CNYgtõwi\NC8.# (3> +6ANYgtøwi\NF8.# (3> +3AKYgqƸwl^QF8.#  (3>(3>KVdqƸzl^TF8.%  (0>(0>IVdo|ƻzlaTF;0%  (0>(0;ITao|ƻ|laTI;0%  %0;%0;FTalzȻ|oaTI;0%  %0;#.8FQ^lwȽ|oaVI>0(  %0;#.8CQ^iwȽ|odVK>0(  %0; +6CN\itȽqdVK>3(  %0; +6ANYgtqdYK>3(  #0; +3AKYgqqgYKA3(  #.8(3>KVdqtgYNA6+   #.8(0>IVdo|õtgYNA6+   #.8%0;IVao|õti\NC6+   #.8#0;FTal|øwi\QC6+#  #.8#.8FT^lzƸwi^QC8.#  #+6#.8CQ^iwƻwi^QC8.#  #+6FQ\itwi^QF;0%   +3AKCN\gtõwl^QF;0%   +3AICNYgqøwlaTI;0%   (3>IAKVdqøzlaTI>0(  (3>KAKVdo|ƸzoaVI>0(  (3>I>ITao|ƻzoaTI>3( (3>I>IValzƻ|odVI>3( (0>I;ITalwƻ|odVKA3+   (0>I;FT^lwƽqdYKA6+   (0;I8FQ^iwȽqgYNA6+   %0;I8CQ\itȽqgYNA6+#  %0;F6CN\gttg\NC6+#  %0;F6ANYgqtg\NC8.#  %0;F3AKYdq|ti\NC8.#  %.8F3>KVdo|õwi\NF8.#  #.8F0>IVaozõwi^QF8.#  #.8F0;ITalzøwl^TF;0%  #.8C0;FT^lwƸzl^TF;0%  #.8C.8FQ^iwƸzlaTI;0%  #.8C.8CQ\itƻzoaTI;0(  #+6C+6CN\gtƻzoaVI>0(  #+6C+6ANYgqƻ|odVK>3(  #+6C+3AKYdqȽ|odVK>3(  #+6A(3>KVdo|ȽqdYKA3(  #+6A(0>ITao|ȽqdVKA3+    +6A(0;ITalzqgYKA6+    +6A%0;FT^lztg\NA6+   +3A#.8FQ^iwtg\NC6+#  +3A#.8CQ\iwõti\QC6+#  (3>#+6CN\gtõwi\NC8.#  (3> +6AKYgtøwi\NF8.# (3> +3AKYgqƸwl^QF8.#  (3> (3>KVdqƸzl^TF8.#  (0>(0>IVdo|ƻzlaTF;0%  (0>(0;ITaozƻzlaTI;0%  (0;%0;FTalzȻ|oaVI;0%  %0;#.8FQ^lwȽ|oaTI>0( %0;#.8CQ^iwȽ|odVI>0( %0; +6CN\it˽qdVK>3( %0; +6ANYgtqdYK>3( #0; +3AKYgqqgYKA3+  #.8(3>KVdqtgYNA6+  #.8(0>IVdoõtgYNA6+   #.8%0;IVao|õti\NC6+   #.8%0;FTal|øwi\NC6+#  #.8%.8FQ^lzƸwi^QC8.#  #+6#.8CQ^iwƻwi^QC8.#  #+6^^=^G^;^Z^9^0^8^.]^5^A^3^  5U^.^ 5S^)^ ,F]^#^3M^^  ,D[^^& #4I\^^-$/Ydo|ƻ|odVIA3+   %08CNVdo|ƻ|odVIA3+    (0;CNVdo|ƻ|odVKA3+    (0;CNVdo|ƻ|odVI>3+    (0;FQTaozƻ|odVK>3(    (3;FQTaozƻ|odVK>3(    (3;FQTaozƻ|odVK>3(   (3;FNTalzƻ|odVK>3(   (3;FNTalzƻ|odVI>3(  (3;FQTalzƻ|odVK>3(  (3;FQT^lwƻ|odVK>3(  (3>FQT^lwƻ|oaVK>3(  #+3>FQT^lwƻ|oaVI>3( #+6>IQQ^iwƻ|oaVI>3( #+6>IQQ^iwƻ|oaVI>3( #+6AITQ^iwƻ|oaTI>3( #+6>ITQ\iwƻ|oaTI>3( #+6>ITQ\itƻ|oaVI>0(  #+6>ITN\itƻ|oaTI>0(  #.6AKTN\itƻ|oaTI>0( #.6AKVNYgtƻzoaTI>0(  #.6AKVNYgtƻzoaTI>0(  %.8CKVNYgtƻzoaTI>0(  %.8CKVNYgqƻ|oaTI;0(  %.8AKVKYgqƻ|oaTI;0(  %.8AKVKYgqƻzoaTI;0( %.8ANYKVdqƻzoaTI;0%  %08CNYKVdqƻzoaTI;0%  %0;CNYKYdqƻzlaTI;0%  %08CNYKVdqƻzlaTI;0%  %0;CNYKVdo|ƻzlaTI;0%  %0;FNYKVdo|ƻzlaTI;0%   (0;FNYIVdo|ƻzlaTI;0%   (0;FN\IVao|ƻzlaTI;0%   (3;FQ\IVao|ƻzlaTF;0%   (3;FQ\ITaozƻzlaTF;0%   (3>FQ\ITaozƻzlaTF;0%   (3;FQ\FTalzƻzlaTF;0%   (3;FQ^FTalzƻzlaTF;0%   (3>IT^FT^lzƻzlaQF;0%   (3>IT^FT^lzƻzl^QF;0%   +6>IT^FQ^lzƻzl^QF;0%  #+6>IT^FQ^lwƻzl^QF8.%  #+6>IT^CQ^iwƻzl^QF8.%  #+6>KTaCQ^iwƻzl^TF8.#  #+6>IVaCN\iwƻzl^TF8.#  #+6AKVaCN\iwƻzl^TF8.#  #+6AKVaYdo|ƻ|odVKA3+   %08CNVdo|ƻ|odVKA3+    (08CNVdo|ƻ|odVKA3+    (0;CNVdo|ƻ|odVK>3+    (0;CNTaozƻ|odVK>3(    (3;CNTaozƻ|odVK>3(    (3;FNTaozƻ|odVK>3(   (3;FNTalzƻ|odVK>3(   (3;FNTalzƻ|odVK>3(   (3;FQTalzƻ|odVI>3(    (3>IQT^lwƻ|odVI>3(   (3>FQT^lwƻ|oaTI>3(  #+3>FQT^lwƻ|oaVI>3(  #+6>IQQ^iwƻ|oaVI>3( #+6>ITQ^iwƻ|oaVI>3( #+6>ITQ^iwƻ|oaTI>3( #+6>ITQ\iwƻ|oaTI>3( #+6>ITQ\iwƻ|oaVI>0(  #+6>ITQ\itƻ|oaTI>0(  #.6AKTN\itƻ|oaTI>0(  #.6AITNYgtƻzoaTI>0(  #.6AKVN\gtƻzoaTI>0( %.8CKVN\gtƻzoaTI>0(  %.8CKVNYgqƻzoaVI;0(  %.8CNVNYgqƻzoaTI;0(  %.8AKVKYgqƻzoaTI;0(  %.8AKVKVdqƻ|oaTI;0( %08CNYKYdqƻzoaTI;0%  %0;CNYKYdqƻzlaTI;0%  %08CNYKVdqƻzlaTI;0%  %08CNYIVdqƻzlaTI;0%  %0;CQYIVdo|ƻzlaTI;0%   (0;CQ\IVdo|ƻzlaTI;0%   (0;FQ\ITao|ƻzlaTI;0%   (3;FQ\IVao|ƻzlaTF;0%   (3;FQ\ITaozƻzlaTF;0%   (3;FQ\ITaozƻzlaTF;0%   (3>FQ\FTalzƻzlaTF;0%   (3>FQ^FTalzƻzlaQF;0%   (3>IQ^FT^lzƻzlaTF;0%   (3>IQ^FT^lzƻzl^TF;0%   +6>IT^FQ^lzƻzl^QF;0%  #+6>IT^FQ^lwƻzl^QF8.#  #+6>IT^CQ^iwƻzl^QF8.#  #+6>ITaCQ^izƻzl^QF8.#  #+6AITaCQ\iwƻzl^QF8.#  #+6AITaCQ\iwƻzl^QF8.%  #+6AKVaYdo|ƻ|odVIA3+#  %0;CNVdo|ƻ|odVIA3+    (08CNVdo|ƻ|odVKA3+    (0;CNVdo|ƻ|odVI>3+    (0;CNVao|ƻ|odVI>3+    (3;FQVaozƻ|odVK>3(    (3;FQVaozƻ|odVI>3(    (3;FQTalzƻ|odVI>3(    (3;FQTalzƻ|odVI>3(  (3>FQTalzƻ|odVK>3(   (3;FQT^lzƻ|odVK>3(  (3;FQQ^lwƻ|oaVK>3(  #+3;FQQ^lwƻ|oaVI>3(  #+6>ITQ^iwƻ|oaVI>3( #+6>ITQ^iwƻ|oaTI>3( #+6>ITQ^iwƻ|oaTI>3( #+6>ITN\iwƻ|oaTI>3(  #+6>ITN\itƻ|oaTI>0(  #+6AKTN\itƻ|oaVI>0(  #.6AKVN\itƻ|oaVI>0(  #.6AKVNYgtƻ|oaTI>0(  #.6AKVN\gtƻzoaTI>0(  %.8AKVN\gtƻzoaTI>0(  %.8AKVNYgqƻzoaVI;0(  %.8CNVNYgqƻzoaTI;0(  %.8ANVNYgqƻzoaTI;0%  %.8CNYKYdqƻzoaTI;0%  %08CNYKYdqƻzoaTI;0%  %08CNYKYdqƻzlaTI;0%  %0;CNYKVdqƻzlaTI;0%  %08CNYKVdo|ƻzlaTI;0%  %0;CNYIVdo|ƻzlaTI;0%   (0;FNYIVdo|ƻzlaTI;0%   (0;FQ\ITao|ƻzlaTI;0%   (3;FQ\ITao|ƻ|laTF;0%   (3;FQ\ITao|ƻzlaTF;0%   (3;FQ\ITao|ƻzlaTF;0%   (3;FQ\FTalzƻzlaTF;0%   (3;FQ^FTalzƻzlaTF;0%   (3;FQ^FT^lzƻzlaTF;0%   (3>IQ^FT^lzƻzl^TF;0%   +6>IT^FQ^lzƻzl^TF;0%  #+6>IT^FQ^lwƻzl^QF8.#  #+6>IT^CQ^iwƻzl^QF8.#  #+6>ITaCN\iwƻzl^QF8.#  #+6AKTaCN\iwƻzl^QF8.#  #+6AKVaCQ\iwƻzl^QF8.#  #+6AKVa ~^M3^5^[D, /^\I4# &^ZK6+# πyrYgqzti^QI>6+# yq\gq||qg\QI>6+# yr\gqz|qg\QF>3(  πyr\gqz|qg\NF;3(  yr\gq||qgYNF;3(   ·yq\iq|zodYNF;0(   ·yr\gq|zodYNC;0%  ·yq\gq|wodVKC8.%  쇀yq^it|wlaVKA8.%  ·yq^it|ýwlaVKA8.%  ·yr^itýtlaTIA6.#  χyq^itýtl^TI>6+# χyr^itýti^TI>6+# χxr^lwýti^QI>6+#  Ύxralwû|qg\QF>3(   Ύyqalw|qg\QF;3(   쎇yralw|qg\NF;3(   쎇yralw|ogYNC;0(   Ύyqaoz|odYNC80%  뎇yrdlzzodYNC8.%  ΎyqdlwwldVKA8.%  쎇yrdozwlaVKA8.% ώyrdozwlaTIA6.#  딎yrdozwlaTKA6+#  땎yrdozýti^TIA6+#  땎xrgozýti^TI>6+#  Εxqgq|ýti^TF;3(   Εyqgq|ý|qg\QF;3(   Δxrgq|ý|qg\QF;3(   Δyrgq|û|qgYNC;0(   Εyrgq|û|ogYNC80%  Εxrgq|odYNC;.%  ꛔyritzodYNC8.%  ꛕxritzodVKA8.%  ΜyqitzlaVKA6.#  ΜyritwlaTIA6+#  ΛyriwtlaTI>6+#  뛔xqlwwl^TI>6+   뛔xqlwti^QI>3(   뛔yrlwti\QF;3(   뛔xqlwý|ti\QF;3(   뛕yqlwý|qg\QF;0(  ꡛyrlzý|qg\NC;0%  xqYdozýtlaVKA8.%  ΀yrYdozýwlaTIA8.%  yqYdozýti^TIA6.#  yqYdoz|ti^TI>6+# xrYgoz|ti^QI>6+# yrYgoz|ti\QI>6+# πxr\gqz|qi\QF>3(  πxq\gq||qg\QF;3(  yr\gq||ogYQF;3(   쇀xr\iq|zodYQC;0(   쇀xr\gq|zodYNC80%  솀yq\it|zldVNA8.%  쇀xq^itwlaVKA8.%  ·yr^itýwlaVKA8.%  χxq^itýwlaTIA6.# χxr^itýti^TIA6+# χyr^itýti^TIA6+# χyr^lwýti^QI>6+#  Ύyqalwû|qg\QF>3(   뎇xralw|qg\QF;3(   Ύyralw|qg\NF;3(   Ύyqalw|qgYNC;0(   Ύyqalw|odYNC80%  ΎyrdlzzodYNC8.%  쎇xrdlzzodVKA8.%  쎇xqdozwlaVKA8.%  쎇yrdozwlaTIA6.#  딎yqdozwlaTIA6+#  딍yrdo|ýwl^TI>6+#  땍xrgozýti^QI>6+#  Εxrgqzýti^QF;3(   Εxqgq|ýti\QF;3(   Εyrgq|ý|qg\NF;3(   Δxrgq|û|qgYNF;0(   Δyqiq|û|ogYNF;0%  Εxrgq|û|odYNC8.%  ΛyqitzodYNA8.%  ꛕyqitzodVKA8.%  뛕yqitzlaVKA6.#  뛕yritwlaTIA6+#  ΛxritwlaTI>6+#  Λxqlwti^TI>6+   Μyqlwti^TI>3(   뛕xrlwti\QF;3(   Λxrlwýti\QF;3(   뛔xqozý|qg\QF;0(  ꢛyrozý|qg\QC;0%  xrYdlwýwlaVKA8.%  ΀yqYdozýwlaTIA8.%  ΀yqYdozýti^TKA6.#  xrYdozti^TI>6+# yrYgqzti^TI>6+# yr\gqz|qg\QF>6+# πyr\gq|zqg\QF>3(  yr\gq|zqg\QF;3(  xr\gq|zqgYQF;3(   ·yq\gq|zodYQF;0(   쇀xr\gq|zodYNC;0%  솀yr\gq|zodVNC8.%  쇀yr^itwoaVKA8.%  ·yq^itýwlaVKA8.%  χxr^itýtlaTIA6.# φxr^itýti^TI>6+# χyr^itýti^TI>6+# χyr^ltýti^QI>6+#  Ύyqalwû|qg\QF;3(   뎇yqalw|qg\QF;3(   쎇xqalw|qg\NF;3(   뎇yralw|qgYNC;0(   쎆yqalwzqdYNC80%  ΍yrdlzzodYNC8.%  쎇yrdlzzldVKC8.%  쎇yrdozzlaVKA8.% ώxrdozwlaTIA6.#  땎yqdoztlaTIA6+#  Εyqdozýwl^TIA6+#  딎xqgozýti^TI>6+#  Εyqgq|ýti^QF>3(   Δyrgq|ýqg\QF;3(   Δyqgq|ý|qg\QF;3(   Δxqgq|û|qgYNC;0(   Εyrgq|zqgYNC80%  ΔxrgqûzodYNC8.%  ꛔyritzodVKA8.%  ꛕyritzldVKA8.%  뛔yqitzlaVKA6.#  ꛕyritwlaTIA6+#  뜕yqittlaTIA6+#  Λyrlwwl^TI>6+   뛕yrlwti^QI>3(   Λxqlwti\QF>3(   Λxqlwýqg\QF;3(   뛔yqlwý|qg\QF;0(  ͡xrlzý|qgYNC;0%  yr*^*^)^L)^7)^&)^)^ )^)^(^Z(^N(^;(^$(^(^'^S'^*'^ &^V&^ %^\%^)$^\$^"#^I"^]"^!^7 ^C^@^<^5^ ^G!^Z#^0$^].&^A( ^U5 +^S5 0^]F, 5|kc\UNG@93-'" jc\UNG@93-'" kc\TMF@:3-'" jc[TNF@94-'" jc[UMF@93-'" jc\TNF@93-'" kc\UNG@93-(" jc\UNG@:3-'" kc[UNF@93-'" jc\TNG@93-'" jc\UMG@:3-'! jc\TMG@:3-'" jc\UNG@:3-(" jc\UNG@:3-'! kc[TNG@93-'! jc[TNG@93-'" jc\UMG@93-'" jc[UMG@93-(" jc\UNF@93-(" jc\UMG@93-'" jc\UNG@:3-'! jc\TNG@94-'! kc\UNF?:3-'! jc[UMF@:3-(" kc\TMG@:3-'" jc\UNG@93-(" jc\UNG@93-'" jc\UNF@93-'! kc\UNF@:3-'! jc\UNG@93-'! jc\TNG@:3-'" kc\TMG@93-(" jc[UNG@93-'" kc\UMF@:3-(" jc\UNF@:4-'" kc\TMG@93-'! jc\UNF@:3-'" jc\TMF@:3-'" jc\UNG@93-'" kc\UNF@93-'" kc\UMG@93-(" jc\UMF@:3,'" jc[UNF@93-'" jc\TNG@93-(" kc\UNF@93-(" kc\TNG@93-'" jc[TNG@93-(" kc\TNG@:3-'" jc\UNG@:3-'" jc\TNF@93-'" jc[UNF@:3-'! jc\TNG@93-'! jc\UNF@:3-'" jc\UNG@:3-'" jc\UNF@93-'" jc[TNG@:3-'" jc\UNF?:3-(" kc\UMG@:3-'! jc\TNG?93-'" kc\UNF?93-'" kc\TNG@:3-'" jc[UMG@:3-'! jc\TNF@:3-'! jc\UNG@93-'" kc[TNF@93-'" jc\TMF?:3-'! jc\TNG@:3-'" jc[TMG@93-'" jc[UNF@93-(" jc[TMG@:3-'" jc\UMG@:3-'" jc\TNG@93-'" jc\UNF@93-(! jc[UMG@93-'" jc\UNF@93-'" kc\UMG@93-'" kc\TNF@93-(" jc\UMG@:3-(" kc\TMG@93-'" jc\UNG@93-'! kc\UNF@93-(" jc[TNG@:3-'" jc\UNG@93-'! jc[UNF@93-'! jc\TMG@93-(" jc[UMG@93-'" jc\TMG@93,'! jc[UNG@93-'" kc[UMG@93-'" kc\UMF@:3-(" jc\UNG@93-'" jc\UNG@93-(" jc\TNF@93-'" jc\TNG@93-'" jc\UNG@93-'" jc\TNF?93-(" jc\TMF@:3-'! jc\UNG@93-(" jc\TMG@:3-'! jc\UMF@:3-'" jc\UMF@:3-'" jc\UNG@:3-(! jc\UMG@93-'" jc\TNG@93-(! jc[UNF@93-'" jc\UNG@93-(! jc\TMG@93-'! jc\UNG@:3-'" jc[TNG@93-'" jc\TMG@93-'" kc\UMG@:3-'! jc\UNG@93,'" kc\TNG@:3-'" jc[UMF@94-'! jc\UNG@93-(! jc\UMF@93-(! jc\TNF@93-'" jc\UMG@93-'" jc\UNF?93-'" jc[UNG@:3-'" jc\TNF@:3-'! jc\UNF@:3-'! jc\UMG@93-'" jc[UNG@:3-(" kc\TNG@93-'" jc\TNG@93-'! kc[UNG@93-'" jc\UNG@:3-'" kc\TNF@93-'" kc[UNF@93-'" jc[TNG@93-'" jc\UNG@93-'! jc[UNF@93-'" jc[UNG@:3-'" jc\TMG@93-'" jc[UNG?93-'" jc\TMF@93-'" jc[TNF@93-(" jc\UNF@93-'" jc\UMG@93-'" kc[UNG@94-'" Gk#5Reflection mask ,|,jjk -47B2LW\gTq|l`@U } $C.9D IPVW_gL5 C <  "     &          1      @  ,8                 (  * >    @  /   ?   "                = > 9  )                 "      "    "                  /  ? !   0  ;            %   ? = B    ,  (            )     -   )  *   J  /  (     '    /     :+   A ?                         +    "        %           7  C $7?     򾿿  򽼼   󹺹!   񶷷        񲳳  H @  BB    ' 򾿾񿾿  齾#𻼻뻼    鸹   񷶷  !򴵴       B  %   /    $ )򿾿        >淸! 趵񶵶 #     粱    @    9     9  %   񻺺 ﺹ󺹺 󹸸           򲳲  )      𺻺򸷸 򴵴   쮯5󭮮 4򫬫$ ? %맨  󦧦  񧦧"󦥦  :  򢡡 񡠡    # 󜛜 웚 0 백0     񭬭B   A   C  9 >   򡢡    -    󜝜雜  ۛ    ,  򯮯 𬭬4󫬫@򩪩 򨩨"槨  =   򡠡 🠟   *힝   󝜜   Ӛ    󘙙  𯮮9> 󪫪򫪫?睊  񩨩B󨧨  󦥦 䥤'𣤣𤣤 #⡢ 򠡡*   󝞞  󜛛     󭮭  򫬬  񤣤𢣢!  🠠  󜛜񜛜򚛚  !험$ ꖗ(   G    𒓓  𒑑#  = B  󌋌􌋋8  0 􉈉 􇈇     򃂃>    ~~~~~~~~~~~~~~~~      (.    퐏 5  򎍍B􍌍􌋋@􊋊􋊋  􉊊3    !􄃃   񂁂      ~~~~~~~~~~~~~~~~~~~~󗘗   󕔔  7 C򐑑   C 6 @򊋋􊉉#鈉 񇈇臈, 򆇆   󄅄  󀁀 򁀁~~~~~~~~~~~~~ ~ ~   񖕖  4  񓔓  ꒑6󐏏񐏐5=󍌍ꍌ 5抋򉊊#􈉈󉈈  񈇈臈  톇 (  򄅅    큂󁂁  򁀁~~~~~~~~~~~~~~~~󕖕  萏" %󋌋  뉊 􇈇      큂    ~~~~~~~~~~ ~~~~~~~~~~~~~~~ ~}~~}~~}~~}~~}~ ~}~~}~}}~~}}~~}~}~~}~}}~}~~}~}~~}~}}~}}~~}~~}}~~}~~ }~}}~}}~}}~}}|}|}}|}}|}|}}|}|}}|} }|}}|}}|}}|}|}|}}|}}||}|}||}||}|}||}|}||}||}|}||}||}||{| |{||{||{| |{||{|{||{||{{||{|{{|{|{|{{|{||{|{|{{|{|{{|{||{|{{|{ {|{|{||{{|{{|{ {|{{z{z{{z{{z{z{{z{{z{{z{{z{{z{z{z{z{{z{{z{zz{z{{zz{{zz{{zz{zz{z{zz{z{{zz{z{zz{ zyz zyz'zyzzyzyyzzyzzyzyzyyzyzzyzyzzyzyzzyzzyzzyzyzzyzzy yzyyzyzyyzyyzyyzyyxyxyxyxxyxyyxyyxyyxyyxyyxyyxyxyyxyyxyxxyxxyxxyxyxyxyyxyxyxyyxyxyxxyyxxyx$xwxxwxxwxwxxwxwwxwxwwxwxwxxwwxxwxwxwxwxxwxwxwxxwxwwxwxxwxwwxwwxwwxwwxwwxw wxwxwwvwwvwwvwwvwwvwvwvvwwvvwwvwwvwwvwwvwvwvvwvwvwwvwwvwvvwvwvwvvwvvwvwvvwvwwvwwvvwvwvwvwvvuv%vuv vuvuvvuvvuvvuuvuvuvuuvvuuvvuuvuvvuvuvvuvuuvuvuuvuvuuvuuvuuvuuvuuvuvvuuvuvuvuutuututuututuutuutuutuututuutuutuutututtuttuutututtuttuttuttuttututtuttuBtsttstsststtsststtststtstsstsststtssttsttsststssts ststsstsstsstsstssrssrsrsrssrssrrssrs srsrssrssrsrsrrsrrsrssrrsrsrsrssrrsrsrsrssrrsrrssrArqrqrqrqqrqrqrrqrrqqrqrqrqrqrqqrqrqqrrqqrrqrqrqqrqqrqrqrqqrqrqrqqrqrrqqrqqrqrqqrrqrqqrqrpqqpqqpqqpqpqqpqpqqpqpqqpqpqpqqpqpqppqpqpqpqpqpqqppqpqqpqpqqpqppqpqpqppqqpqppqppqBpoppopoppopopoppoppoppopopooppopoppopoopoppoppop opopoopoopopopoopoopo onoonoon onoon ononoonnonoonnoonnononnonnonnononoonnonnononnononoononnonnonnonnmnnmnmnnmnmnnmnnmmnmnmmnnmnnmnmnnmmnmnnmnmnmnnmnmmnmmnmmnmlmlmmlmmll mlmmlmlmmlmmlmlmmlmmlmlmllmlmlmmllmmlmllmllmllmllmlmllmlmlmllmlmmllmllmllmllmllkllklkllklkklkklkkllkllklklkllkllklklkllklkklkklkklklkklklkklkllkklk kjkkjkjkkjkkjkkjkjjkkjjkjjkjjkjjkjjkjjkjkjjkjkkjkjkjjkjjkjkkjk jkj,jkjjijiijijijjijjijjijiijjijijijjijjijijijijjijiijijiijiijiijijijiijiijiijijiijijjihiihiihihiihiihihiihiihiihhihhiihihhihhihhihihhihhiihiihhiihiihhihiihhihhihihih hihhihhihhi hghghghhghghghghhghghghghhghhghhghhghhghhghghgghgghgghgghgghghghghgghgghgghgghgghgfgfg gfggfggfggfggfgffgfggffgfgfggfggffgffgfgfggfggfgffgffgfggfgffgfg fgf4fefeffefeffeffefeefeffeffefeffeffefefefeefefeeffeefefefefeeffeeffeefeffefefe~~~~~~~~~~~~~~~~~~(~}~~}~~}~}~}~~}}~}~}}~}~~}~~}}~}}~}}~}~}}~}}~~}~~}~}~}}~}}~}}~}~}}~}}~} }~}}~}}|}|}}|}||}|}|}}|}||}|} }|}}|}}|}|}||}||}||}|}||}||}||}|}}||}||}|}}||}|}}||{||{||{||{||{| |{|{||{||{|{||{||{|{{||{||{||{||{{|{{|{|{{|{{|{{|{|{ {|{{|{{|{|{{z{{z{{z{{z{z{z{zz{z{z{{z{z{{z{{z{zz{zz{{z{zz{z z{zz{{z{z{zz{z{{z zyzzyzzyzzyzzyzzyzzyzzyzyyzzyzyzyzzyzzyzzyyzyzyyzyzzyzyyzyzyzzyzyyzyyzyyzyyzy yzyyzyzy yzyyxyxxyyxyyxyxyyxyxxyxyxyyxyyxyyxyxyxxyyxyxxyxyyxyxyyxxyyxxyxyxyxyxxyxxyxxwxxwxxwxwwxwxwxxwxxwxwwxxw xwxwxxwxwxxwxwwxwxw wxwwxw!wxw wvwwvwwvwvwwvwwvwwvwwvwwvwwvwvwwvwwvwwvvwvvwvvwvwvwvvwvwwvvwwvwvwvvwvwvwv1vuvvuvuvuvvuvuuvuvuvuvuvuuvuvvuvuuvvuvuvvuvuvuvuvvuvuuvvuuvuuvuuvuuvuvuuvuututuutuutuutuutuutuutuutuuttuutuuttututtuttuttutuuttututuuBtststtstststtsttstststststsststtsttsts sts sts stststsstssttsstsrssrsrssrssrssrsrsrssrssrssrssrssrsrrsrrsrssrsrrsrrssrrsrsrrsrrsrsrsrsrssrrsrrsr rqr1rqrqrrqrqqrqrqrrqrqrqrqqrrqqrqrqrrqrqrrqqrqrqqrqqrqqrqqrqrqrq qrqrqqpqqpq qpqqpqqpqqpqqpqpqqpqqpqqpqppqppqpqqpqpqpqpqqpqpqppqpqppqpqpqppqqpBpopooppopoppoppoopoppopopoopopoppopoopoppoopo opo opoopooppoopopopopoopononoonononnoonoononnonono ononno onononononononoononnoononno?nmnnmnnmmnnmn nmnmnnmnmnmn nmnmmnmmnmnmmnnmnmmnmmnmmlmllmmlmmlmlmmlmlmlmmlmlmmlmmlmlmlmlmmllmmlmmlmllmmllmllmllmlmlmmlmmlmlmllmllml$lklklklkllklklkllkllkllkllkkllkllklkklkklkklkkllkklkklklklklklkklkllkklklklkkjkkjkkjkjjkkjkjkkjjkkjkkjkkjkkjkjkjjkjkjkkjkjjkjkjkjkjkjjkjjkjkkjkkjkj jkj&jkjjijijjijijiijjijjijiijijijijjijijijjijjijijiijijiijiijiijijiijijiijiijijiijijjiihiihiihiihiihiihiihiihihihiihihhiihihhihhiihihihihhihhiihihiihiihihhihhih,hghgghghhghgghghhghhghhghhghghghgghghghhgghhghghhghgghgghghhghgghhgghgghhgghggfggfg gfggfg gfggfggfg gfggffgffggffgffggfgffgffgffgfggfggfggfggfgfggfggfgffggfgf fg fgffgffgffeffeefefeeffefeefefeffeffeffefefeefefefeffefefeefeefeefefe efe~~~~~~~~~~~~~~~~~~~~~~~~~~}~~}}~}~~}~~}~ ~}~}~}}~}~~}}~~}~}~}~~}~~}}~}~}~}}~}~~}~}}~}~}~}}~}~}}~} }~}}~} }~}}|}|}}|}}|}}|}}|}|}||}|}}|}}|}||}}|}|}}|}||}|}|}}|}}||}|}||}|}}||}|}||}}|}}||}|}|{|{||{||{|{|{||{|{|{{|{||{|{|{|{{|{{||{{|{{|{|{{|{ {|{{|{ {|{|{{z{z{z{{z{z{{z{{z{{z{z{{z{z{{z{zz{{z{z{{z{{z{zz{zz{zz{zz{zz{zz{zz{z{z{{zz{zz{zz{zz{{zzyzzyzzyzzyzzyzzyzzyzzyzzyzyzzyzzyzyyzyzyyzyzzyzyzzyzzyyzzyyzzyyzyzyzyzyyzyyzyzyzyyxyyxyyxyxyyxyxyxyxyyxyxyxxyxxyxxyxyxxyxyyxyxyxxyxxyxxyyxyxyyxyxxwx8xwxwxwxxwxwxwwxwxxwwxxwxwxxwxxwxwxwxwwxwwxw wxwxwwxwwxwwxwwxxwwxwwxwwxwwvwwvwwvwwvwwvwvwvwwvwwvwwvwwvwwvwwvwwvwwvvwwvwvvwvvwvwwvwvwvvwvwwvwvvwvwvvwvwvvwvvuv vuv,vuvvuvvuvuvuvuvuvuvvuvvuvuuvvuvvuvuvuuvuuvuvvuvuvuvuvu uvuuvuuvuuvuuvuuvu ututuuttuutu ututuututuutuuttutututtutututtutututtututtuttututtuttuttsttsttst tsttstsststsststststst tstssts stsstsstsstsstsstsststssrsrssrssrrsrsrssrssrsrrsrssrsrssrssrsrsrssrsrrsrrsrsrsrsrssrsrrsrsrsrssrsrsrrssrsrrsrBrqrqrrqrqqrqqrrqqrqqrqrqrqrrqrqqrqqrqqrqrqqrqqrqqrqrqrrqrqqrq qpqpqqpqpqqpqpqqpqqpqpqqpqqpqqpqqpqpqppqppqpqpqqpqqpqppqpqqppqpqqpqpqppqppqp5poppopooppopoppopoopooppoppoppoppoopoppopopoopo opoopoopoopoopo opoopoono ononoononoonoononoonoonoonononoononnonnononoonnonnonononononnonnon,nmnmnnmnnmnmnmmnnmnmmnmnmnnmnnmnnmnnmnmmnmnnmmnmmnmnmnmmnmmnmmnmmnmmnmmnmnmmlm mlmmlmmlmllmlmmlmmlmmlmmlmmlmmlmmlmlmmlmllmllmlmlmmllmmlmmlmlmlmllmllmlmlmlmllmlmlmllmllmllmllmllmllklklkllklkllklkklkllkllkllklkllklklkllkllklklklkklklkllkklkklk klkklkklkklkklklkklkkjkkjkkjkjkkjkkjkkjkkjkkjkkjkkjkkjjkjkjjkjjkjkjkjjkjkjkjkkjkjkkjkjkjkkj jkjjkj5jijijjijijjijiijjijjijjii jijijijjijijiijiijiijiijijiijiijijiijiijiijijiijijihihhiihiihiihi ihi ihihihhiihihiihiihihiihihhihihhihiihiihihihihhiihiihihhihhih hihghghhghhghghghhghghhgghghhghghhghhghgghhghhghgghgghgghghgghghghhghgghghghghgghghgghggfg gfggfggfggfgffgfgfggffggfggfgfgfgfggfggfgffgfgffg fgffgffgffgf fefefeeffeeffeffeffeffefefeffefeffefeefeeffeefeefeefeefeefefeef efefeef~~~~~~~~~~~~~~~~~~~~~~~}~~}~ ~}~ ~}~~}~}~~}~}~~}~~}~}~~}}~}}~}}~~}~}~~}~}~~}~}~~}~}}~~}~}~}}~~}~} }~}}~}}~}}~}~} }~}}~}}|}|}}|}|}}|}}||}|}||}|}}|}}|}||}|}}|}}|}}|}}|}|}}||}||}|}||}| |}|}}||}}|}||}|}}||{|{||{||{||{|{|{{|{{||{{||{||{||{|{||{|{||{|{||{{|{|{{|{{|{|{{|{{|{||{ {|{|{{|{z{ {z{zz{z{{z{{z{{z{z {z{z{{z{zz{z{zz{z{z{z{z{zz{zz{zz{zz{z zyz zyzzyz zyzzyzyyzyzzyzyyzyyzyzzyzzyzyzyzyyzzyzzyzzyzyzzyzyyzy yzyyzy yzyyzy yxyxyxyxyyxyyxyyxyxyyxyxyyxyxyxxyxyxyxxyxxyxxyxxyxxyxyxxwx!xwx xwxxwxxwwxwxxwxxwxxwxxwxwwxwxxwxwwxwxxwxwwxwxwxxwxxwxwwxwwxwxwxwwxwwxwwxwwxw wxwwvwwvwwvwwvwvwwvwwvwvwvwvvwvwvwvwwvwvvwvvwvvwwvvwvvwvwvvwvwwvwvvwvvwvvwv vuvuvuvuuvvuvvuvvuvvuvvuvuvuuvuvuuvuvuvvuuvuvuvuvuvu uvuuvuuvuuvuuvuuvuuvuuvuuvuuvuutuututututuutuutuutuututuuttuuttutuutututtututtuttututuuttututtutut:tsttstststsststtsttststststtsttstsstststtststsstsstsststs stsst srssrssrssrsrsrsrssrssrssrssrssrssrsrssrsrrsrrsrrssrrsrrsrssrsrrsrErqrqrqrrq rqrqrqrqqrqrrqrqrqrrqrqrrqrqqr qrqrqqpqqpqpqqpqqppqpqqppqqpqqpqqpqpqqpqpqqpqpqqpqqpqqpqppqppqppqqpqppqpq pqpqppqEpopopoppopoppoppoppopoopoppoppooppoppopoop popoopoopoopoppopo opopooppoopoononoonoonoon onoonoonnonnonnonnonononoononoononononnonnon)nmnnmnnmnmmnnmnnmmnnmnmnnmnmnmnnmnnmnmnmmnmmnm mnmnmmnmmnmmnnmmnmmnnmmlmmlmlmmlm mlmmlmlmmlmmlmlmlmmlmmlmmlmllmllmmlmmlmlmmlmllmlmllmlmllmmlmllmmllmlmllmlml.lmllklkllklklkkllklklkkllklkllklkkllkllkkllkklkkllkkllkklkllklkllkkllkklkklkklkklk kjkkjkjkkjkkjkkjkkjkkjkjkkjkjkjkkjkkjjkjkjkjkjjkkjkjjkjkkjkjjkkjkjjkj%jkjkjjijij jijjijijjijijjijijjijjijjijiijijijiijijiijijjiijijiijiijiijiihiihi ihiihihhiihiihiihihiihiihihihihiihihihhiihihhihihihhihhih hih!hghhghghhghhghghghhghghhghhghhghhghhgghghhghgghgghghgghgghhgghgghgghghghghg ghggfg gfgfggfg gfggfgfgfggfgfgfggfgfgffgfgfggffgffgffgfggffgffggfgffgffgfgffgffgffgfgf fgffgffgffefefeffeffe fefeffefeffeffefefeefeefe efeefeefeefefeefeefee~~~~~~~~~~~ ~}~~}~~}~}}~}}~~}}~}}~}~} }~}}~}|}|}}|}}||}}|}|}}|}}|}}||}|}|}||}}|}| |{||{||{||{|{|{|{{|{||{||{|| {|{{|{{|{ {z{{z{{z{{z{{z{{z{{zz{z{z{zzyzzyzyzyzzyzyzyzyyzyzyyzyyzy yxyxyyxyyxyy xyxxyxxyxxyxyx xwxxwxxwxxwxwxxwwxwxwxxwwxwxw wxwwxwwxwvvwvwwvwvvwwvwvwwvwwvwvvwvwvwvwvwv vuvvuvvuvvuvvuvvuvvuvuvuuvuvuvu utuutu utuutuututtuttuttutuutuutuutuuttsttststtsttssttststtsttsstsststsstsstssrssrsrssrssrsrssrrsrrsrsrsrrsrssrssrsrrqrrqrqqrqrqrqrrqrrqrqrqqrqqrqrqqpqppqp qpqppqpqqppqpqpqqp"popoppopoppopopopoopoopoopopoopo onoonoonoono ononnonnononnonnonnmnnmnnmnnmnmmnmnnmnmnmmnlmmlmmlmmlmlmmlmllmmlmlmlmllmllmllmllmml lmllml lklkllklkkllkllkklkklk klkklkkjkkjkkjkjkjkkjjkjkjkjjkjkjkjjkkjkkjjkjjkjjkjjkj jkjjijijjijijjijijjiijiijijjijiijijiijiihiihiihihiihihihihiihihiihihhihihhihhghhghghghhghgghgghgghgghgghghhgfggfggffgffgfggfgffgfgfgffgffgfgfgffgfeefeffeffeffeefeffeffefeefefefeedeedeedeededeedeedeedededededdededeededeededeededdeddededdeddccdcddcddcddcddcddcdcddcddcdcddcddcdcdccdcdccddcdccdccdcdccdccdcdccdccbcbccbccbccbccbcbbcbcbbcbccbcbcbccbcbbcbccbccbbcbbccbbccbcbbcb bcbbcbcbbcbbcb bcbbcbbabbababbabbabababababbababbabbaababaababaababbabababaabaababaa`a a`a a`aa``aa`aa`a``a``aa``a`a`aa``a`a`a`a``a`a``a``a``a``_``_``_``_``_``_``_``_``_``_``_``_`_``__`_`__`_`_`__`__`__` _`__`_`_^__^__^_^__^_^^_^^_^^_^^_^^_^^_^^_^_^^_^_^^__^__^_^ ^_^ ^_^^_^^_^^_^^]^]^]^^]^^]^]^]^]]^^]^^]^]^^]^^]^^]^]]^]^]]^]]^]^^]]^]^]]^]]^]]^^]]^]^]]^]^^]^]\]]\]]\]\]]\]]\]]\]\]]\\]\]]\]]\]]\\]\\]]\\]\]\]\]]\\]\\]\]\\]\\[\\[\[\[\[\\[\\[\\[\[\\[[\\[\\[\[\\[\[\\[\[[\\[\[[\[\[[\[\\[\[[\[\[\[[\[ [Z[ [Z[%[Z[[Z[Z[ZZ[[Z[Z[Z[Z[[Z[ZZ[Z[Z[ZZ[ZZ[[ZZ[Z[[Z[[Z[ZZ[ZZ[ZZ[ Z[Z[Z[ZZ[ZZ[YZZYZYZZYZZYZY ZYZZYZYZZYZYZYZYYZZYZZYZYYZZYZYZYYZYYZYZYZYYZYYZYYZAYXYXYXYYXYYXYXYXYYXYXYYXYYXYXYXYXYXXYXXYXXYXXYXXYXXYXXYXXYXYXXWWXXWXXWX XWXWXXWXXWXWXXWXWXXWXXWXXWXWXWXXWXXWWXWXWXXWXWWXWXWXWXWWXWWXWXWWVW7WVWVWWVWWVWVWVWWVWWVWVWWVWVVWVVWVVWVWWVVWVVWVVWVWVVWVVWVVWVWVVWVVWVVWVWVVUVUVVUUVUVUVVUVVUVVUVUVVUVUUVVUVUUVUUVVUVVUVUUVUVUVUUVUVUVVUUVUVUUVV?UTUTUUTTUTTUTUTUUTUTUTUTTUTUUTUUTTUTU UTUTTUTTUTUTUUTTUT TU TUTUUTTUTTSTSTTSTTSTTSTTSTTSTTSTTSTSTTSTTS STSSTSTSTSSTSSTSSTSTSSTSTTSTSSTSSTSSRSRSRSSRSRSRSSRSRRSSRSRRSRSSRSSRSSRedeede/edeededdeddeedeedededdededdededededdeeddeedededdeededeededded deddeddeddcdcdccddcdccdcdcddcddcdcdcdcdcdcddccdcdccddcddcdcdccdcdccdcdccdcdcdcdccdccbccbbc cbccbcbccbccbbccbbcbccbcbcbcbcbcbccbbcbccbbcbbcbcbcbbcbbc+bcbbcbaabbaabbabbabbabbaababbaabaabbabbababbaabbaababbaababbababbabaabaabaabbaababbaa`aa`aa`aa`aa`a`aa`a`aa`aa``aa`a``a``a``aa`aa``a`a`a``a``a``a``a`a``a` `a`_``_``_`__``_``_`_`_`_``_``_``_``_``_``__`__`__`__`__`__`__`__`__`_`_`__^__^_ _^_ _^__^_^^_^__^_^__^^_^^_^^__^__^_^_^^_^^_^_^_^_^^_^^_^^_^^_^^_^^_^^]^]^^]^]^^]^^]^]]^]^^]^^]^]^ ^]^]^]]^]]^^]^]^^]^]^]^]^]]^^]^]^]^]]^]^]]^]\]]\]]\]]\]]\]]\]]\]\]\]\]\]]\]\]]\\]]\\]\\]]\]]\\]]\]\]]\]\\]\ \]\\]\\]\\]\\]\\]\\]\\[\\[\\[\\[\[\[\\[\\[\[\\[\[\[\\[[\\[\[\[\\[\\[[\[\\[\\[[\[\\[\[\[[\[\\[\[[\[[\[[\[\\ [Z[ [Z[[Z[ZZ[[Z[[Z[ZZ[[Z[Z[[Z[Z[ZZ[ZZ[ZZ[[Z[[Z[Z[[ZZ[ZZ[Z[ZZ[ZZ[Z[Z Z[Z[ZZYZZYZYZYYZYZZYZZYZZYZYZYZZYZZYYZYZZYZYYZYZYYZYZYYZYZYZYZZYZYZYYZZYYZYZYYXY YXYYXY YXYXYXYXXYXYYXYXYYXYXYYXYYXYYXYXXYXYXYXXYXYXXYXXYXYXXYXYYXYXXWXWXXWXXWXWXXWXXWXXWXWXWXXWWXWXWXXWXWWXWXWWXWWXWWXWXXWXWWXWXWXWWVW3WVWWVWVWWVWWVWWVVWVWWVWVVWVWWVWVVWWVVWVWWVWWVWVVWWVWVVWVVWVWVVWVWVVUVVUVVUVVUVUVVUVUVVUVVUVVUVUUVVUVVUUVVUUVUUVUUVUVVUVUVUUVUUVUUVUUVVUVUUVVUVU>UTUUTUTTUUTUTUUTTUUTUUTUTUTUTUTUUTUTTUTUTUTTUTTUTTUTUTTUTTUTUTUTTUTUUT TUST TSTTSTTSTSTTSTTSSTTSTTSTSTSSTSTSSTSTSTTSSTSTTSTTSTSTSTSSTSSTS>SRSRSRSRSRRSRSSRSSRRSSRSSRSRSRSRRSRRSRSSRRSSRRSRRedeede edeedeededeedeedeedeedededededeeddededeededdedededdedeedededdeddeddeddeddcddcddcddcdcddcddccddcdcddcddcdcddcdccdcdccdcdccdccdccdcdcddccdcddcdccdcdccdcddcdccbccbccbc cbcbcbbccbccbcbbcbbcbbcbbcbccbcbbcbcbbcbccbbcbccbbcbbcbcbcbbcbbcb!bababababababbababbabbabbabbabababaabaabbabaabaab aba`a a`aa`a a`aa`aa`aa`a`aa`aa`a``a`a`aa`a`aa``aa``a`a``a`aa`a`aa`a``aa`a``a``a``a `a` `_`__``_`_``_``_``__`_`_``_``_``__``_`_`__`__`_``_`__`_``_`__`_``__``_`__`__`__^_ _^__^ _^_^_ _^__^_^^__^_^^_^_^_^^__^_^^__^^_^^_^^_^^__^__^_^^_^__^_^_^^_^_^^_^ ^_^^_^^_^]^^]^^]^^]^^]^^]^]]^^]^^]]^]^^]^]^]^^]^^]^^]^]^]^^]^^]]^]^]]^^]^]]^]]^^]]^]]^]]^]]^]^]^^]^^]^] ]\]%]\]]\]]\]\\]]\]\]\]]\]\\]]\]\\]\]\]]\]]\\]\]\\]\]\\]\]]\]\\]\\]\\]\\]\\]\\]\\[\\[\[\\[\\[\[\[\\[\\[\[\[\\[\[[\[[\[[\[[\[\[[\[[\[\[[\[\[\\[Z[[Z[ [Z[[Z[[Z[Z[ZZ[Z[[Z[Z[ZZ[ZZ[[Z[Z[[Z[[Z[ZZ[ZZ[Z[Z[Z[Z[Z Z[ZZ[Z[[ZZ[ZZ[ Z[ZZ[ZYZYZZYZYZZYYZYZZYZZYZZYZZYZZYZYYZZYYZYZYYZYYZYZZYZYYZYYZYYZYZZYYZY3YXYYXYYXYYXYYXYXYXXYXYYXXYXYXYXXYXYYXYXYYXXYXYXYXXYXXYXYX XYXXYXXWXXWXXWXXWXXWXXWXWX XWXXWXXWXXWXWXWWXWXWWXWXWXWWXWWXWWXWWXWXWWXXWWXXWWXWXXCWVWWVWWVWVWVWWVWVVWVWVWVVWWVWVVWWVWVWWVWVWVWWVWVVWVWWV VWVVWVVWVWVUVVUVUVUVUVUVVUVVUVUV VUVVUVVUVVUVVUVVUVUUVUUVUVUVVUUVUVVUUVUVVUVVUVUVVUVUFUTUTUTUUTUTUTUTUTTUTUTUUTUTUTUUTUTUTTUTTUTUTTUTUTUTUUTUTUTUTUTTUTUTTSTTSTSSTTSTTSTTSTTSTTSTTSTTSTSSTSSTTSSTSTTSSTTSTSSTSSTSTSSTSBSRSSRSRSSRSRSRRSRSRSRRSSRSRSRSRSRRSRSSRSede edeedeedeedeede edededdedededededdededeeddeeddeddededededdedded dcddcddccdcddcddcddccddccddccdcdcddcdcddcddcdcddccdccdcdcdcdccdccdcdccdccdcddcbccbccbccbccbc cbcbccbccbcbcbbcbccbcbcbbcbccbcbccbccbcbccbccbcbbcbbcbbcbcb bcbbcbbabaabbababbabbababbabbabbabbabaabababaabbabaabababaabaababaabaabaababaa`aa`aa`a`aa`aa`a`a`aa`a`a`aa`a``aa`a`a``a``a`a`aa`a`a`aa`a` `a``a``a``a``a`a``_``_`_``_`_``_``__`_``__``_``_`_`_``_`_``__`_``_`__`_ _`_``__`_`__`__``__`_`_`__^__^__^__^_^__^_^^__^^_^__^_^_^__^__^_^__^^_^^_^_^^_^_^^_^_^^_^ ^]^ ^]^]^^]^^]^^]^^]^^]]^^]^]]^]^^]^]]^]]^^]]^]]^]^]^]]^^]^]^]^]]^]\]]\]]\]]\]\]\\]\]]\]]\\]\\]]\]\]\]\]\\]]\]\]\\]\]\]] \]\\]\\]\\]\\]\\[\[\\[\\[\[\\[\\[[\[\[\\[\\ [\[\[[\[\[[\[\\[\[[\[[\[\[[\[\[[\[[\[[Z[[Z[[Z[Z[ZZ[Z[Z[[Z[ZZ[ZZ[[Z[Z[[Z[Z[[ZZ[[Z[Z Z[ZZ[ZZ[ZZ[ZZ[ZYZZYZYZZYZZYZZYZZYZZYZZYZYZYZZYZYZZYZYZYZZYYZY YZYZYYZYYZYZYYZYZYYZYZZYYZYYZYXYYXY YXYYXYYXYYXYXYXYXXYXYYXXYXYXYXYYXYYXYXXYXYYXYXXYYXYY XYXXYXYYXXYX XYXXYXYXYXXWXWWXWXXWXXWX XWXXWXXWXXWXXWXWXWWXXWXWXWXWWXWXWXWXXWXWWXWXWWXWWVW-WVWVVWVWVWWVWWVWVVWWVWWVWVWVWWVWVWVWWVWVVWVWW VWVVWVVWVVWVVWVVWVVWVWVVWVUVUUVVUVUVUVVUVVUVVUVVUVVUVVUVUVUUVUVVUVUUVUVUUVUVUUVUUVUVVUVUUVUVUBUTUTUTUUTUTUTUTTUUTUUTTUTTUUTUTUUTUTUTUTTUTUUTUTTUT TUTTUT TUTTUTUTTUTUTTUTUTTSTTSSTSTTSTTSTTSTSTTSTTSTSTTSTSTTSTTSTSSTSTSTSTTSTSTTSSTSTSTSSTSTSTSTSSTSTSTSASRSSRSSRSRSRRSSRSSRSRSSRSSRSSRSRSedeedeedeededeeddeedededdeddee dedcddcdcdcddcddcdccdcdc cdcbccbccbccbccbcbccbcbcbccbcbbcbcbbabaabbabbabbabaabaabaabaabaa`a a`aa`aa`a`a``a`a`a``aa`aa``a``a``a``a``a``_``_`_``_`_``_``_``_`_`_`__`__`_`_``__^__^__^__^__^__^_^__^__^__^__^_^ ^_^ ^_^]^^]^^]^^]^]^^]^^]^^]]^]^]]^]]^^]^] ]\] ]\]\]\\]\]\]\\]]\]]\]\\]\\]\\]\\]\\[\\[[\\[\[[\\[\[\\[\\[\[[\[[\[\[[\\[[\\[\[[Z[[Z[[Z[Z[[Z[[Z[[Z[Z[ZZ[Z"ZYZZYZZYZZYZYYZYZZYZYZY YXYYXYXYXXYXYYXYYXXYXYXXYXXYXXYXYXXWXXWXXWXXWXXWXWXWXWWXWXWWXWVW WVWWVWVVWVVWVWWVVWWVVWVWWVWVVWVVWVVWVVWVWVVWVVUVVUVVUVVUVVUVUVUVUVUUVUVVUVUUVUVUUTUTUTUTTUUTUUTUUTUTUUTUUTUTUTUTTUTUTUT TUTSTSTTST TSTSTSTSTSTSTTSTSTSTTS SRSSRRSRSRSSRSSRSGk#5Openingl     kkwOw[wglropqt*uouuuuuuuuuvvv/v?vOv_vovvvvvvvvvwww/w?72 ,'"!%). 1 47888 5 2/*&"!&+07=72 ,'"!%). 1 47888 5 2/*&"!&+07=72 ,'"!%). 1 47888 5 2/*&"!&+07=74dw~1 W,P'b"aKo T$ 3(  !|, ./.2Y4_603 10  #- 7)Y%u!P!f&g+U 0"[76gw< - ( 1:: 2)+- ( 1:: 2)+- ( 1:: 2)+- !(/6@ %/9K^y  !%,5BTl  *07@Qh#(?FMXk, A[_k|4<<C[ak~5*@FMYl-  *07BRk$ !%,6CUm &/:L_{ + ")/6@F  "0</  d  "0</  d  "0</  d  "FQYYXbqssl\YTE65ETY[lssqbWYYRF@6/)"  *޾{_L:/& 7洎mUC6,6䲎lTB5,%(ܺy^K9/% RYYWbqssl[YTE56ETY\lssqbXYYQF@6/(!   d8/' $+05 :84 /)#!(0:8/' $+05 :84 /)#!(0:8/' $+05 :84 /)#!(0:%! 7ޭkRB70* . רlYMF@*&~ka[C Ϊwg6!ŭ["'ŵU -ȹg2f7P~5K0a,ȷb &õP íW ̪~wd4麗|k_[A  եkXMF?('ڪhQ@70* /! 9               uY7  #  1 0_Y. . |!  3 To                Gk#5 Inner Glass     Dxx;xt =ƜD֯$d$t-;Mbd6dFmA {X60, &!̬" ! #& %( %%!                   " # % $ % & & %60,'" ׵    ""!%#% ) +,+01234444 5 5 1 0. . , * ) % $ $ "         60,'!ۺ $ % & &($"#   #$ # & ( ) + + - . 1 1 4 4 2 2 2 2 2 . . * ) & & % $ "6@0V,8 '9"9w,!(u%4e( 1], Cy/"~2566w66667555o54556444i4.44 5 3 3 3 f3 03 3 4 2 2 2 b2 12 2 2 1 1 1 e1 >1 $1 1)  !"!$(&%'(#( & $ ' & #&')%(%$$! "        !  (   $ ' .-,*('&%!# "  !          ##$'')+**( * - () , ) - ' *) '199<8<9864 4 00- -**''%$""!!%!"##$" "#$ ! $ !#"$#$""! !"!%'( ( $1>HTafimt~0EXm ,Ea~ "@e$$N-]5 }̓            !!       !!     ۸ &+,( ** - *+ , , ,* *&**)%%#"!!!!#&%')*(,,+ , )( ) + , ((*-('&'%!   ߽ $%$#$#!"#%%%&*,-- - . /21/-/ . . ./.++))&%##"! "$%)*+,,) , * + ) + * $$""$$  Ļ~toifaTH>1&  +ɻoXE1 7ķ?x5- %                       ؚ5-%!%$ " !           !    !     5-%!%* (+ (+ - * ' +(+*&&$#!"            !!"""#$"!$ # " "bE.6ƽh@"- гP&%Ӝ^&ăE"Y)> 0>6>;}  īľ  }                           Է                          ټ                     0{* f6 a4 }F&?p:m8j:  jA (     m K 7 . & & % & $ # !    L                               U         "$$#&&))*)%&$!         !!#$&&(( " !         Z    ! ! $ !#!"" "       !""$'()***(&&%""     0 0 0 i0 H0 80 ,/ / / / u/ [/ N/ 9. $. . ..o.a.E-*-----m-L,,,,,,,},R+.++++++T*,* *󥪪,'2=?<9<"<=="=/=?<8< ====.=?<6<'                      ,*))'%$$ !"%&%((-) (* ) ( (*(, , , ++-)(&&"""       !!*),. , . . -/0/0/ 1 0 . -,*(('&%#!!!!&&(*,,+ ( - + +* ( - +' +',)&&&#!"     @"(3:FUco{- +=;=$==                                                       ! !  ! "                           !$"$! "$#  " $ $ !#"&$$""!                                                                                                                             !    !                                                                                                                                                                                     ·                                                ˿ ˿  ˿ȾDp$JvFn%9[z-9Yy58Wt =,=>===-= =ǿƿǽſƾƾǿǾƽſǽǽƽǻǿǻƹǺƺƼM'33=DB  1@42@/ 6?- 8?* 8:>(8$<<)8 (=<)          Ŀ ſ  ſ ſ ȿ  ǿ  ÿ!ÿ!ÿ !ÿ !Ŀ !ȿ ! ! "¾"þ!¾"þ"ž"###½ #½ # #þ #þ $$ #$$$Ľ $ % % % %% $¼%&& & & & &             ! ! ! ! ! """" " " # #########$$$$ % % % %%%%&&&%&&               !! ! ! ! !!"""""""##### # $ $$$##$% %% % % %%&&&&&& <)<>=;=,==<< ,<>===2=,="<< -<>=?=:=5=+<<,<<=@=>=;=/< <+=:=?=@=>=3<"<(=5=;=>=?<5<"< $=/=5=9=@<6< <='=+=6=@<6<<=="=3=@<5<                                                                                                                                                                                                                                                                                                                                                                                                               ζ                                                                   ŷ     Ĵ               û                                                                      ʾ           ý ɾ                 Ʒ      ȸ ķ          ¶                Ŷ Ƶ   ô   ĸ  Ŵ        ÷=<. <><>=4=+<$<</<><?=9=5<,< <0<=<@=>=;<2<$</<;<?=@=>< 5<$<-<9<==?=@< 8<'<+<5=9=;<@< 9<&<& <.=3=8<@< 9<$< <(=+=5<@< 9< << =#=3<@< 7<' '&' ' ' 'Ĺ ( ( ( (''() ) )) )) ) * * * ** **ͷ*+*+ ++, , , + , , ,--- , , - - . .. . - - - / ///.// /0''' ' ' ' & ' (( ( ( ( ( ) ))))()** * * ** * + + ++++ +, + , ,, , - - - , - , -... ..- . ///// / ./ /''''''' (( ( ( ( ( ( )))(( ( ) * * * * *** +* * + + + , , , , , , , , ---- - - . ..... . / ///// / / / '===1=@<4< = ===2=@<0<== ==2=@<.< ====5<?<+<====7<><&=== =$===;< === =(=>=9=~= =,=?=7==0=?=6==>                                                                                                                                                                                                                                                                                       򣤣                                                                                                                                                                                                                                      |    {{yz} 񚛛zyz }盚                                                                      õ             ½                                                                4===2<@<5< <==<3<@<2< < = =<5<@</< <===7<?<-<<===8<><)<<== =;===&=|=$===<=#=| =(=>=;=$= |=-=>=:=&== 0/00000 0 0ަ 0٧0111101Ф122221233233334444444Y5555446666566ؒ67776768889690000 0 0 0 0Ͻ 0 / 1111Ǿ0»1Ի11222½2 22ո233333ɴ3433444ij4Z554555ʰ6556666⮿67777778789690 / 00000 0 / / 01111 11 0222222ܿ3 3 3 32ǽ3ϼ3ž44433¼4̻4^55554ź4Ѹ666666·57777766ȴ8888680=3=@=7= == <<5<@=8=(==<< 7<@=:=/=)= <"< 7<@===7=2=' <#< 7<?=?===8=,<$< 5<>=@=@=<</<$< 2=;=>=@==<1<"<.=7=:=<=?=><-<&=2===-=(=><            󣤤                                                                                                                                                                                        􈊜󖕓                                                 񸹸yyz}~|xwy}|}}wv򏑏wzzzz~wvxxyyy{vvwwx~yx{uvvCvw|yw{v}vvwv{x xz v} v vvvwzxxzvv~wx{u|wx}    ~ + </<?<;=+= <<<1 <?<<=2=*<#<<2<?<>=9=4<*<<3<><@===:< /< <1<<<@=@==< 3<"</<9=>=?<?< 6<#<,<5=9==<?<7<#<( </=3=6=<<@<2<<*=9<1<<;<8a99I;9<:; 8i:9P;9<:; 8j:9Q;9<:; ::<=>== =@=/    ~}{xy{ {xvx |xwvv{ywwvz΁|yxxwv|zyyxwv{"||yyzwvv)y|{}|xwvvx.Ǎ~~zzwvv  ԙ   ۛ򢓏 #).ר  ݤ   ߥ #ɝ)񼥖.ܰ>">(>2=>= ==<;<=" =8;/#<5@<5% <4??;,:*9>@9#; *59?;( : '/;?29 #6?=0 9/;@<3   抋zvvwyvvxyyz~|wvxyzzy|z~yvwwxz{|z|y vwwy||ywwuvwxzz~~𞟟훜윞󩨩􌀀񙁀 頔󮯮 􇃆񣌄 ⯰"8@4 &;?95+ .2?"X&F* 6.$p2/5'8 [;==l=C=#===<<t<I<)<<<;;~;P;-;;;:::W:3:::999]9899 9988g8>8 8 8872# %/2#'/2$'/2 #.8AIV\# .=Pd| .AWu 5Rp% /Lm. 7Y +9 =<<;;:888766444321///,: ~=<<<;:888765544,9 ><=<;::9867665432gqqqqk\JJ\kqqqqg\VIA8.# +ǰ|dP=. 9ٴuWA?90'          91'        90'        .9뼕pR5 0 ȗmL/ 'Y7 k= %Ϗ]5+yF 1u<7C<܉J J J J   Jރ>X F 6 p$/'[ lC#tI)~P-W3]8 g>  777777666666675555556444444 5 3 3 3 3 3 3 3 2 2 2 2 2 2 2 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 / / / / / /0777777866666675555556444444 5 3 3 3 3 3 3 3 4 2 2 2 2 2 2 3 1 1 1 1 1 1 2 0 0 0 0 0 0 1 / / / / / /0777777866666675555556444444 5 3 3 3 3 3 3 3 2 2 2 2 2 2 2 3 1 1 1 1 1 1 2 0 0 0 0 0 0 1 / / / / / /07m7D7$77766w6K6*666555R5.555444Y44444 3 3 3 _3 93 3 3 3 2 2 h2 ?2 2 2 2 1 1 o󥪪 E8' %E6v5666y#6L)6*>6v56 666T6/=6v56' @"(3:FUco{- +6uK6JW6)556#606~76PM6-|5566$6(6XG64}55                                               !!"#$$%&&'(()**+,--./01123445567889:;;<==|======<<<<<<<<<;;;;;$$%&''())*+,,-./001223445667899:;<<========<<<<<<<<;;;;;$%&&'())*+,,-../01123445667889:;<<=========<<<<<<<<;;;;;=<<<l<<<;;;?;i;;;:::A:c:;;:::>:]:u::9 9 9:9U9f9s98 8 868J8V8^77 77/6=6Fu6RJ5{)5 55&6166~6LP5x-5 556&6*6FX5{45 5sI(|O,W2]8 g< lD#     !!!!!  """"!""###"###$#$$$$$%%$%%$$&&&&&&&%''&&'''(((''(       !!!!!!!""""""#"#####$##$$$$%%$$%%%&&&%%&&&'''&&''((((''       !!!!  !""""!""#######$#$$$$#$%%%%%%&%%&&&&&''&&'''(((('' 66!6_C68}55  5 666gD6>5 5 56 66oE6E5%55666xL5K5*55666O5T5/556 6,6f6Y55556 626m6b6:67 5 686q6i6@6!7 76A6w6p6F6&6   !"##$%%&''())*+,--.//0122344567789::;<  !"##$%%&'(()*+,,-.//01123445567889:;<<<=  !""#$%&&'(()**+,-..//0123345567889::;<==<;;;;;;;:::::::99999998888888877777776666666555555544444443 3 3 3 3 3 <;;;;;;;::::::::999999988888887777777666666655555555 4444444 3 3 3 3 3 <;;;;;;;::::::::9999999888888877777776666666555555544444444 3 3 3 3 3 466#6D_5|855  5565Gg5>5 5  5 5 65Ko5E5%55566Px5K5*5556 6T5T5/5556&6]6Y656656+6d6b6:66 5 516h6i6@6!6 55;6m6p6F6&6 ()))()))*))*****++++++,+,,,+,,-----,-.--....//..///0/00000011110())())))******)++++*++,,,,,,,+----,,-.........////./000000110111()))()))*********++++*+,,,,,,,---,,--.-.....////.//00000//111111(6F6~6{6M6*656L666U6/65#6O666[6665(6Q6x66c6;6 5 *5O6s66k6A6"5 ,5L6h6~6q6G5(5+5D6\6k6{x6N5,5(5=6O6Y6_6Vs6155.6D6f65\158i4        !!"##$%%&'(()*        !!"#$%%&''()*++,,-.         !!"#$$%&&'())*+,,-./<==>3 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 0 0 0 0 0 0 0/ / / / / / / .......--------,,,,,,,+++++++*****3 3 2 2 2 2 2 2 2 1 1 1 1 1 1 1 0 0 0 0 0 0 0/ / / / / / / /.......-------,,,,,,,+++++++*****3 3 2 2 2 2 2 2 2 1 1 1 1 1 1 1 0 0 0 0 0 0 0/ / / / / / / ........-------,,,,,,,+++++++*****+5?6s6{6M6*555B6s66U6/555E6p66[6655#5F7h66c6;5 5# 5C5a6x6k6A5 "5$ 5>5W6h6qq5G5(5#585K6V6c{5N5,5515?6G6M6aV5155#556V55$\4[8411222221233233344454¿5þ65þ67̿89::;;̾<̾111222222223333443555667779::;<<102222212333333444545667679::;;<1 Y34i33f2<1 >1 2 3 3 3 3c 32 3 44q4 55W56p67]789P::;;<++,-../01123345667889:;;<==>=;:863 .)$̿̿&-6?//0122344567789::;<===;:863 /*$&- 6?/0112344566789::;;<===;:863 /*$&- 6?!=(<1;E98%64\2 f) 0 [?*,xaK-'෉t\8!ʨ|V*ʵ^2 #tE)ղcA# 1bFQ=;B98 ~5:3 K. M)@w# (Q $Ix&8^--Ec6 1E\s> ~6/'̾& ~6/'& ~6/'&)T{4 /]-Dq& #@a -  ,Daы5xI$ .Ō^8&̣cE-s\E1 &**))))))))((((('''&&&%%$##"!  !#$&( +05{**))))))))(((((('''&&%%$##"!  !#$&(+ 05{**))))))))(((((('''&&%%$##"!  !#$&(+ 05{ L 3 2^32f2{<16 0 /" .* -? , *"c(2&V $ (_!(?Xq +J_u 8[t W%%p$$]#""P! Q !B#$~ &:( K+M 0w@5Q( {Gk#5BG        &J &V &b        )    , < L  J 8 H X < L   ' + ; !) !Y ! # # $ $ %? &:  󥪪8'E*))))#)))>)v(( ((((=(v''' @&0;I[i-+F^o )?Xy)!3Om 3 0Qw;-? Kp:1U2 .T+1X$5\=n%7w+9Vy 1@s7 "J<*W;=s5 'P0 Bm* '''<'v&&&&&? }    (  A  (     $ G   ####M####$$""o"""#!#!\!!!!" ) b    ! 0i1^$7f/Y% :\- 9[5 5N =8=k==== !.>DBEM T#Y+a 2f 4lEz(h      9 b!!!!!!7"X"o"}""""2#K#[#h####+$>$K$W$$$$#%0%7%M%|%%%&$&(&G&}&& =<<<l<<<;;;?;i;;;:::A:c:;;:::>:]:u::9 9 9:9U9f9s98 8 868J8V8^77 77/7=7F7R6{6 66&61666L5x5 555&5*5F4{4 4'''!'C'}'' ( (((D((()) ))E)))******Y**+++++V+,,,,,),g,-----T--... .8.q../// /A /w / / / 0 <444#4D3|33 3 3 3 2G 2 2 2 2 2 2 1K 1 1 1 1 11 1P 0 0 0 0 0 0 0T & & &  % %  /& /] / / / /..+.d....- -1-h--!"",;,m,,,,0 0F 0~ 0 0 0 0 0 0L 0 1 1 1 1 1# 1O 1 2 2 2 2 2( 2Q 2x 3 3 3 3 3*3O3s44444,4L4h5~5555+5D6\6k6x666(6=7O7Y7_7s777.8D8f8919i9==- <(5++?+s+++***B*s***)))E)p)))((#(F(h(((' #'C/aCx.  $&>&W&h&q%%%#%8%K%V%c$$ $  $$$%$E### #"" !K    :Y:;i;;<=>    !=(</;6:l97^5!3 )0 s ,ۚ`RK-'෉t\8!ʨ|V*ʵ^2 #tE)ղcA# 1   )T{4 /]-Dq& #@a nW>  ,Da    L    ^  {#6  "!*"?#$"%'V( (_* (?X- +J_u08[t4Gk#5brewtarget-2.0.2/images/smallQuestion.svg0000644000175000017500000001520412266512175020054 0ustar philipphilip image/svg+xml ? ? brewtarget-2.0.2/images/flagFrance.svg0000644000175000017500000000703012266512175017242 0ustar philipphilip image/svg+xml brewtarget-2.0.2/images/donate.svg0000644000175000017500000001067012266512175016470 0ustar philipphilip image/svg+xml $ brewtarget-2.0.2/images/document-export.png0000644000175000017500000000114612266512175020336 0ustar philipphilipPNG  IHDR(-SsBITO pHYs:tEXtSoftwarewww.inkscape.org<PLTEdddmmm???dddՌ׃nnnxxxң=tRNS!$,-5PQRRIDATJPE}νɀr/;;A,u  $ŵ4<ͱ-;͘ 觛^`"̺-IlZxXEgwDmZÖAHLD,oIk}IdH/ㄑ$]-I :04iX6=P@] SAwGOIENDB`brewtarget-2.0.2/images/LICENSE0000644000175000017500000000034212266512175015475 0ustar philipphilipThe images in this directory, with several exceptions, are copyright Philip G. Lee (rocketman768@gmail.com) and Eric Tamme (etamme@gmail.com) 2009-2012. They are absolutely free to use and modify under the terms of the WTFPL. brewtarget-2.0.2/images/mashpaddle.svg0000644000175000017500000000637312266512175017325 0ustar philipphilip image/svg+xml brewtarget-2.0.2/images/flagPoland.svg0000644000175000017500000000635312266512175017270 0ustar philipphilip image/svg+xml brewtarget-2.0.2/images/title.svg0000755000175000017500000117072512266512175016353 0ustar philipphilip Brewtarget Brewtarget Brewtarget image/svg+xml Brewtarget brewtarget-2.0.2/images/smallDownArrow.svg0000644000175000017500000001351012266512175020165 0ustar philipphilip image/svg+xml brewtarget-2.0.2/images/flagChina.svg0000644000175000017500000001120112266512175017061 0ustar philipphilip image/svg+xml Flag of the People's Republic of China Flag of the People's Republic of China brewtarget-2.0.2/images/glass.svg0000644000175000017500000012112512266512175016325 0ustar philipphilip image/svg+xml brewtarget-2.0.2/images/flagItaly.svg0000644000175000017500000000720112266512175017126 0ustar philipphilip image/svg+xml brewtarget-2.0.2/images/brewtarget_icon.svg0000644000175000017500000011541312266512175020375 0ustar philipphilip image/svg+xml brewtarget-2.0.2/images/smallWater.svg0000644000175000017500000001255512266512175017335 0ustar philipphilip image/svg+xml brewtarget-2.0.2/images/smallOutArrow.svg0000644000175000017500000001242012266512175020024 0ustar philipphilip image/svg+xml brewtarget-2.0.2/images/flag.svg0000644000175000017500000000477212266512175016135 0ustar philipphilip image/svg+xml brewtarget-2.0.2/images/smallHop.svg0000644000175000017500000003403412266512175016775 0ustar philipphilip image/svg+xml brewtarget-2.0.2/images/yeastVial.svg0000644000175000017500000001107412266512175017156 0ustar philipphilip image/svg+xml brewtarget-2.0.2/images/smallInfo.svg0000644000175000017500000002460612266512175017146 0ustar philipphilip image/svg+xml i i brewtarget-2.0.2/images/edit.svg0000644000175000017500000002347312266512175016150 0ustar philipphilip image/svg+xml brewtarget-2.0.2/images/smallYeast.svg0000644000175000017500000001657112266512175017342 0ustar philipphilip image/svg+xml brewtarget-2.0.2/images/convert.svg0000644000175000017500000002203112266512175016670 0ustar philipphilip image/svg+xml brewtarget-2.0.2/images/flagRussia.svg0000644000175000017500000000627312266512175017322 0ustar philipphilip image/svg+xml brewtarget-2.0.2/images/filesave.svg0000644000175000017500000002266712266512175017025 0ustar philipphilip image/svg+xml brewtarget-2.0.2/images/flagUK.svg0000644000175000017500000001353612266512175016373 0ustar philipphilip image/svg+xml brewtarget-2.0.2/images/editshred.svg0000644000175000017500000003067412266512175017177 0ustar philipphilip image/svg+xml brewtarget-2.0.2/images/bubbles.svg0000644000175000017500000002344412266512175016637 0ustar philipphilip image/svg+xml brewtarget-2.0.2/images/document-print-preview.png0000644000175000017500000000163312266512175021631 0ustar philipphilipPNG  IHDR(-SsRGB pHYs B(xtIME  5DPLTE]]][[[" eeeKKKKKKWWWo|##"$$#'''(52**)***++++.t///444666CHHHJJJLMKIN_cNoPPPQQQSlTTTTTUUVXXXZs[[[\[Yaa`aembbacdddeeegggjhgjjhmmmnnlttsuutuuuwwvxxxyyy}}}~~͂ɑ੩Ыɴh(tRNS**:>EGHKVd$!bKGDIDATc````b&`_(l.\T5wy@!66?1*9! ]A%(|biWnSXdo}SLxqSb2C ;O D,[VbW=gJ,HOHK^h}IENDB`brewtarget-2.0.2/images/hydrometer.svg0000644000175000017500000001760112266512175017401 0ustar philipphilip image/svg+xml brewtarget-2.0.2/images/backup.png0000644000175000017500000000624212266512175016450 0ustar philipphilipPNG  IHDR<<:rbKGD pHYsHHFk> IDAThwTp")A"=ԥH(bCk.*kAD h5 5#&H"#؈XQ|'~ ~Y;3KnСC}>_7AAA޻CR>ϯ`ȑ5kΝ.f%$hG͛7͛7Oϻwﺴ޾}ۡjjjƍ)7ki B?Qׯ+K UWW'Z?TMM={ӧOE  E}f͚w>y)'==dE 7l  L ŀQ~z,KXf`C Vك`Y>zH vssnݺ`YҢyhvWWW`;;;ڵk`Y>|Dc`Y6=FHaXV"0,nQl]}N/DBrLC0uBEc,ܨj&lee%\zu 0[,CC==&4nm ([[EyaE`SZ\s rUqc <@IA\-F^#Pj]m&; {pժU XȎ t% L9z x8$NoSȃGܹ0Yivx1,I.; !g `:!8C5Spf cqPҪ 6+f`Vy GA5nN8tx"0nkklnn.\r%fSa5cxʈ)h<`U/a(FBGNwJ8A~#zyyҕ+ f'W:pjjj p[ƃ^Sx#(dDAZA l`Yd;p I#);nNd9t+-g'{T ॷ')rp Bl\p IGRfO"37.]0K+xŊ X3(mwvi&b=TøHٰׯ_gp]э%a0niilll,\|PF P&]Փ̓h.rlgtVɲXq1hm GMSw#9nx_rك ˖-kn~6A> xh,nG1_?ޱ"0.5xҥbp@aE_O5,jZ;lk: d:~ *nݒwIb߿0%%KgC~fήF|x p.%|*޼}Ea#Xe I4=c|b a| (MpGq6Xf711L/x#I^E)8JӍdGg\9SdKrR{ZCenkpPJafbas,d V[n#cLf%j8G>`҇؃ X}6:'p^medChqׂXO#WB>"Sq432338 >p^=1+q6 ytޕm>~pBPs޽{FFFҁZ_޿=s?/yXsr>JGc5{8݇Ö 'QOowcX TBLQ\\Kn4;C-T-vL:s_y?s-tŴߘ6aoRco}68W( i^w /^e;%>>ǒ2>VGaȭEQn,0'7( V,ei~_XѶ)/@c8n¢Gz{! `'811Q ~çNAџ6>>==mF4;E1-'s!Gְq&ybU?8!z8}tL۷bg#KXlݷipZF G茝/TFYtDٯ+*p<7Btqĉ6X+dkii pgFVj>Ń% |hE82~ys A)9c׳pL:оoi>}H^p!3xہr Y ,x~efQhb[K[im&CuptXZOY!g]A0V|XJ/|$s3k/sS47G"=iN;ӠCF1C ەT=rrp f^@ߟgR86ݛ=W^ ]dO'wY`d{;!`@ffda)(VTTXfԔ<|ܕo*[8x 0r Rpo"CO>+i^)fWWWgVUUm74|>G7l݊d}nݹǾK 0.46. This setting is found under File->Inkscape Preferences->SVG Outputbrewtarget-2.0.2/images/title.png0000644000175000017500000003762612266512175016336 0ustar philipphilipPNG  IHDR BD#sBIT|d pHYs  tEXtSoftwarewww.inkscape.org< IDATx}w]E;^ri XDAR)%0BCHo履{n !'{Ϟ=坵֬Yh11a MF!H%Xj c(!'% RkJa cFHH.SգT,*e@@(0LKHVjQ Vw@V={;O@'<|B#1?_M@şU,#:`=QTA! c cwMErI8@Phj49L,==-=k5J,U,>q"a90F9!4ŶkN 0Ʒ$l~Zu< A`($cd11|s$QV!r~$w-j:TywY] #"Y+D 6 :_7PsO2kZ|ngjr|#g?|ɂcL$Q$@Vx oLz0v  HPjJLhMϛsm&`X,<j(0I9BE~~GNH+s}Ys0ޭ߳0HHDd;NÎ=ei5:w-ͦop1~a 2S(9Bv}1Axsq K?Rt%lBoW-R~B @8Jiv:ldu'T\DЊAccbͭ}Z`P\0ϑk1bZܟB19Ic׎ l*/d$^%ug1Cu5j@@,@޾W@? (Z{[X!7p>aBS‘cZYnⳝ1FJe-^q<=01 È݅m%ۘΕӼܾS}ϷJ&Jz<C89|H{pu#_5K'/lWABˢ5Rs$ؤLh` m7xޙ geF>/mq0#~mg70u֝;^Zj 5k68>%<#xK B1Po߄`k=@/15Of1ik҅l`Ͷw]bV8Mثt}II#+ "~Gno8ݎ)2 AȸMx|<>ZL坭x`5Fx7n%ڥȤ/*sp)&Yz8z\5 Gt-DJj86EgouUBR ټ.Jb}1Ģy/GT4|e{H_;űDY\v ;$(7.u^N)Rɷ'l9ыӤ*Sٓnxі)Ʃ^zؿxSHMHeв#UW,Lpźǽe93,8 p!vR]B8Z DgU ==ͬmi-; :osјQRBIK(s.ͦ>racyA )M!D3<D2[ h''yf?0+M7: 㝚N.O.HiB^xɳt(ZȚY Oi;GRbۯYOBp%h7&L:2@V! JxD7}eg?x㱭w(U*5kH4~CwlKN^XJ>քd Ɯ\B;>!^y@ۖ'zs1?[#{ Р D#`Qoip4TCTvR.aFa Hn-Hζ䍶$q|{^ףץ3wf+c?'ӜIs%@@:_s% A*rɼF$ e:HM]f}A^&U5Kj>d{We ĘMqM/vL("Z45#Cз \k}[. VwUV/\ȺqTD`PqUQvz#3 _n8}WӲUlQU;~bMXGk?o{B} 8!x=EP@AHVp*!ئeHC#Ee:8ðI> *[-#1k8/*؆.!ѕ桡Є['x+tb -v+`eA:諾6=TDw͏6d1i\Ce9au"cxe(qB.m*] +3Gm9P:f;˚ f'rM*Z2( ǥZYkߚ!nU?nAMFp HYIv}vkNJ|w8#thӾpWgKI}Ӓ_Iz&4ר.I]~(po÷S) `?Cyry9i8l빅;!#Wz;Kl> ޞNQS`V6eC{@JPgy*w/-DDk4b ӄVJIH!t2M=eo3>^9Ozpm{(5Ԁql}-SQY{A]Ä= =7_7sKJy}WTV_4y|05 C&WK?⺅ =ʚ*PZ)t7AgQ3ECّhuLڦy/xTB.s/>t<[e#QYBh,ZrpSsgVIᮕb|WS25GwP M6ћCcZPvK:TDC}A]\J F bºe19eFß}HvY |Do1$aBj±!~_^{İg LPP(zj!K(׵H(P( P3"hȬ E(455Us. oٷiP.|.0 5Lbr ئm4m΋,y Cl]l6c+ɲCލ6z{ڏ|oן#Ӵ7~jR$޼nž/]yaM߹"%Z.h%aQ5`mm ,?L %$σ ~vвn- o̾甦 ͬ%% P2&AF>GPaFN RE~мfiۋOtR>`eu}E}n"?,b ,3s,tвnEY CmWW2`>cEng͚U=^lI2WH{Xi<`-Q4MV~&fHuu;'ږ}=oI1熾EiHx뺕\^KJ@@]\pH;A*d@Bp/f&n>yʴ#&\B}fwt]))zћpAGLTD5uB2*\t6Oq]8g[]HAh r`ST>rK ӛ#h BH4ͤ3|ZF,M7TXDs2&n*ltt%Z%)ݰV$RB +o̾6"pS=em5̥-%l`<eS#?_ رgL8p$apATt !Z!] RURv;Mdy \ Y߇ehCӔXggG'Kf  Q":B^6x]CLJDy:C60yM;:?|?Q? Bp( X oZI7 +v0(~vX vQ^ ZKjT1)T gŨ5wH N[T QQ;jnG>͞q6𸆯FJvs|=5B@"`Q0iMܢ~V^]%ˀ@P_wP֬ZΥ./_J'FU/# :&Az  <ή>)?H?ȵO:-UF$,P+bi ´l6L.!fvW8& .G$=Kןxo5}.2.[E!iCx{A*F bh47K%&ۄlc N%ՀTW8~5'åWKj!%'5%|`D[|o]4bA *2Տ MR|XpL L\:5뀣_9xazl)»M6n!%(`tOImS$?mOd0!=Sy?O( 5澿?́A{ЗE@!_<֟rކؒ q ټRHO\$gVV{Kf}6z?j9. w܂{0S*k_)@f|  %pͺ@_ނT~$CUHDL$+4)|I+`KfEBOeH 9 dS(V.L@4Ѻn%=] 96g/[??_a)С>qZPG#a_lo~ZH9 Tpo@4Mx-_t*l8BML#l@@!h1l^8U"vUGzf}JΖ<ZR,PJdN{j׻?[D ւ (KBK6}VZIp쪪:IM||6mweѧ ^E#ʪ|'X}.빲L B{wKVbVXBHUZ `H$7DIQBCiDI7kČq;u[MMs+8R0"\sv:K:SXJ%eAj!4b`W n'p(0EԀmy: pP0#[Z47? KZrM~) *Xmo^__]惻eZzUT=m[**$ Pm"F"y^M:#pvz2: a3c>~Sk FGJJI_,`;OHw6q4]'x `(|FmݸP018lߜs(g B:Ղk`oB)@PC ȲY(?]Jm_\[.J0uwTYi9F㫥Hr4u5Ѿr)OW^^pg@#w⨩kV->Wvz24uڎ[4@٬GcA9 I"pP%0J0 rΐ/A+!BhY 8{a5:.bZ[ZH `!Pϗq B ^55T*h"q#h)!ghpY5FZRbA2wbt0D)S/`pF=(ګv&Ì;d@P@2KXdҦ`9 UJqBptu v2=+3렋҅華]ٗO}M5H;;ӮumRHHPdbo  yKsAA 5AQ;sU[w-+yD PLӐ |bK3eUq4uCY>G4 j1sL@޵!غŋ@f;C۵J"QQŴ`@Rn|| 1 BHa'#IhNVv\h#\8sQȧ3p YpV'á bZ# R¾㭳/yurJ ek*ewX廪v'%}%D1=9hml[f}:.\yV= '\`J ESVC 8ⱛNB C7A8[YVß*/+/ok Cm{g @ ޠ>dkGT!: )`k߹Ӛ %ο/:<ӷ쳨)ZܓF `5@6 מ),4L1 P!ۗ5̻CF a_Й/q? |pW6 c`npg*wtXxE8\ۣ{D$zP m'd ]amZzVmmDpRYV&M/ڗ)j.qȻp`_MξG]wћwmK_6l jE ˃ ):ukW/ETq86:{WaM UZ1c};G,H4|{:`4aR0A CFA/3Jixܷr6' զ{4EF*Uȱ4sj*7>v{ǬЉLbe'~AV-NE;xʌqmq=?gX~eY! 9mJ1e$Q"{;/OWkT{䭣?G`=PdR!<#{ߣU{hBH9=}]\QׁAoR_qV z eO K.DJO o_w#L ( kOqo}|Dpy#<8gCm)XH1_s\r=7b_z,! B;TB)2d^'!Xzԛ8g:k[rV!FgW_ h!yjHz_ +CZ;PfDAM~dLU6 ~/]]lN%oCꡉ\x/>h+I[!4 `7'8sMUPsiV[M!cRΕٕU:vgՏe#{B{D])Zc~ݺz'dMǡLl+Cx;ʲ)R3T8eph7 Ru@i;X@@.E OW@pwe7=5L6}.nH@W[ 7teg-}>lꬡ` Elav0phLq@ lPһ,3K 'ɋ81!X Ei˔]P$PL LgP0GoPWY.%}ԹQKJp 6MF1**%!Di9d)%\d)O_`.!oiBq<,$ ^9C% VpyDm$=CpZux ;bC*"Ć"YW|U C^!HX{]$ݹΤHez͘h؁a41Z>Pog!×֒$ȳf"lrVZv&-7ΏKOvȦwY [$xZK*gQ s4GYŐ5\CX&A䨖Yѹ{t^$RdRS%Y:D5PZr jH4@P[t+W a;]T%rW_qϋt@*#"Hzk>P+nxwz3 ([i>$$Q?uѠ~}cѠ#'HB[_|\p>2Ռ#u-ՏG PaJ9g92ь5CFQX,2djKj5 {͈^E;0d #~lo0h{GeLF Z!O#UME2ìZN=lb ( bURy-D)ۯNIy X S"aO#'3˼|G@d%oX|5)ւ[e_׷{ͦ2眳[K9g6h n}Eq.ʱLq#GI3F tUAb?\y˜+o#y娖{Ȋ\>Z \<QgAF y/ هy$D8缉sF1j:G 7z*'fIF5 )'RI.xEO!m)/vqJJݯ&ݍD^ՠGl8W}?`=.b质E^}o^AkԻJ}*+pBZE期f//9{ zCu *GbGRlgۛ̉➧Zk2?2l3Y`6i;8ܩoY6n`R&"N´qª'@.x?U{ LKa$!ېAPaz47f\p]o|$_9OyÝ,P Cj}I\#8lCepu\ 6D=e%ȅ=/c`\Q#nMi/q(x;^[/8my@!)$ m{^YA.@p]'m7FJbn^usdxwKaJ$Eڼ鬛5i.ģ\Qu]8:^xggxMOPjX GOh=|Wm_GI.d_n$*A7;goQv@dX;׶tt^ pVXS9a BmG>^e*k.pՆk}{BFBa<+쉙V#6sMVJo+Δ$Fהy[shMP&ڄTA(!zr gKyq. %>0}Vp;ecx,lempT)2!:Ny_8Y|;Kv ;u[tDʆƇ-^|.ζqQ Ԯ (7>4oԝtOnk22lfMDABj\:8,y0McT-` )PaQa viWGO$sA4arv%87`Sq= NQ6 2`Ə3rI?B=oѿcڀ!3k%@ MHm S@whFw >:#F4jl2D@kBˈRԖ[)DgRM0o2w`9|`ڔ?]G?Za`zDF4l#n]OiM^hJvqg5 A ˲osɰ㓔Z4ݣ F ^gn+pp!8[\ fؠU)f><ӟ+89E@54 vAOɇ/q{ƍFzeqVpn䫳W!q)Ƈ>l=7-aA9΂`c@@8csm $J^[x<1\F?`<#┘? ?* ΀6h x▿Pq9g$1 k?3Η>B.}Gz%{*(5'c*rt'׼ש˼E_)䩇˸E68:ǻaR LpiK[ >[y3891"ĪwO #0nۧ_~Ԗ}2"? i= 777o(OiU `ʚ9 M 2aPJiXX3^Nqڣ+FJTXѺhu`۩H%2 ]\NP>"`?}$DU ̿ YK lH vh/"_q򡛶Kzb;և{G2yj Ξu: F#`q< Rݓ,PP;Yή~Es$P@&ϐypB*ee1ÿ}e)c'k;|#2?Qn$Jxu ~__j d<"Pߚl{# `&e3[w٘o7cIU 0z'\ouU4rN?Z.34Ŭ "(; IN]^C4~NF < r9=0jc$1oV%Ji]ı4 ڠ5Lrh& BPָ7ZYnF%w# EYOl^^[7'VK^xtu3&URs/|zϾl6 w?) vo߲sɰV)%{k6|X4X? e+ _ ѳf $|K4 p#30+^᭛{\ Y KN[ OJUy@d1QsuL)%{so'O<[cÿ )~F? ~}.PZip~Np]x볩ǘ\]?-(,okN~9ӑЬwa+xV0QIw.M\Qۘ$*PhX4!H7 UBA $ j% !AUKvٱ6U)EP <B6&aq2vC:|of|Ws=ZDQ:7a©|i϶{>[l^W].Md8k1FxTz#=)ע|2$"Q=$XbC(;-HNC>bϏ{Eן̔M5V(p^uZu nw=Yj;3{?=[-_J$ "MT*JXV\Ɂcuuewԣ~ w润F1KВ< o8?&oY펄'qWo RIdRmRޒD}-=|pp$ 8淫 +$F]GX:(!RNJ%*E,+4DF]4etev;'%j'(I\D앨6[]09"gȱ4/.텢+D\TeHBvٲ+ ,F&zxZ3I*HaCBу!Z]@eYi!4 PxŬUF$y}+iȪ"T 8)K(UK"%r%ۮs? 38HgQF޺e(`ۍj\ j#؀\R!E,6BdAQDEZ)"n/JAQ'Aa#CTy EY$5˧)TuΚJBQ77c?IENDB`brewtarget-2.0.2/images/smallMinus.svg0000644000175000017500000001760012266512175017342 0ustar philipphilip image/svg+xml brewtarget-2.0.2/images/help-contents.png0000644000175000017500000000307712266512175017771 0ustar philipphilipPNG  IHDR szzsBIT|d pHYsvv}ՂtEXtSoftwarewww.inkscape.org<IDATxW͏EUu|- +, q#~  I8p LL7Op7z0xMEID #3Ntw^uRٕdϮ՛Y#LСC 0b☚{ Ȅ)RkM$[@9ҊPvM_z>'g˞WN>\[_ҵ90vx#lw<=$jX]hA RP3X^RJw?֔Ppuv%s L c4s\R ]W[k@J&k?ı-/4.mHaynDPk#Yxx$I| Lc{Oncka`ǓHKTmXTjTbg1rL?]KS5lK-O)u&L hݿ<R<DSƎ-9] 3|G+xq|C sxsNJP(/ӂFU#MLM$8wQo=pyo|pr?k97Ymp>vՍ(` "xm "Ё({`;mO|^ĈyvN$0 2_h~)厛3TЉrg!@p|P&1E(/…6oQM$Ձ$X#'`e)*DAe^R@14ZS)B֖:tw ?ut2m@% O0"fT DTct{W͵b>CZ \kaõ,, J#56\jbǜdΤf kCh;t<{+9fw>`ju xSWN*j׊S0pY^clw]ggBjD~Y,P:Ќ2YC. DW. FD1pp ل0*W$JGjQohpȸiه؏>$S2s̟"!@/^!hx!22Vŕ@Tx2]C+Ր(Uk>FٕL8CU(d z$6pzrځ; i% McOzhMJ|1]2 x \D58kJ1J^SߎͲ̾}34"/²~.x µ}CnKS[i"/"k}:vޱ["ֺ?99lgJ) TB)Xc׃ p) E);Lۏ' nN w0Fǥ b\bj @]ffԌ5XkoEU8˽:K?!h3A IENDB`brewtarget-2.0.2/images/flagNetherlands.svg0000644000175000017500000000705112266512175020316 0ustar philipphilip image/svg+xml brewtarget-2.0.2/images/exit.svg0000644000175000017500000001420612266512175016166 0ustar philipphilip image/svg+xml brewtarget-2.0.2/images/smallArrow.svg0000644000175000017500000001337612266512175017347 0ustar philipphilip image/svg+xml brewtarget-2.0.2/images/merge.png0000644000175000017500000000264212266512175016302 0ustar philipphilipPNG  IHDR szzsRGB pHYs B(xtIME/'pbKGD"IDATxoLUeǿ{/J *I֢EjӔhY2_8^Vܚ^oRZtZD 1sϜk f/l=w}=g_./.oضFfd (!1IrBTyrk- B\O6+ъLm9#iÝ(rkWզ+wK>>(a*}b+V}W[pdܱW@ sɵ072z.2g^c nÒr3A@MOǵ$V$ F`+19+BW<4 image/svg+xml brewtarget-2.0.2/images/smallStyle.svg0000644000175000017500000004055412266512175017353 0ustar philipphilip image/svg+xml brewtarget-2.0.2/images/flagGreece.svg0000644000175000017500000000625612266512175017247 0ustar philipphilip image/svg+xml brewtarget-2.0.2/cmake/0000755000175000017500000000000012266512175014304 5ustar philipphilipbrewtarget-2.0.2/cmake/modules/0000755000175000017500000000000012266512175015754 5ustar philipphilipbrewtarget-2.0.2/cmake/modules/NSIS.template.in0000644000175000017500000010504312266512175020675 0ustar philipphilip; CPack install script designed for a nmake build ;-------------------------------- ; You must define these values !define VERSION "@CPACK_PACKAGE_VERSION@" !define PATCH "@CPACK_PACKAGE_VERSION_PATCH@" !define INST_DIR "@CPACK_TEMPORARY_DIRECTORY@" ;-------------------------------- ;Variables Var MUI_TEMP Var STARTMENU_FOLDER Var SV_ALLUSERS Var START_MENU Var DO_NOT_ADD_TO_PATH Var ADD_TO_PATH_ALL_USERS Var ADD_TO_PATH_CURRENT_USER Var INSTALL_DESKTOP Var IS_DEFAULT_INSTALLDIR ;-------------------------------- ;Include Modern UI !include "MUI.nsh" ;Default installation folder InstallDir "@CPACK_NSIS_INSTALL_ROOT@\@CPACK_PACKAGE_INSTALL_DIRECTORY@" ;-------------------------------- ; brewtarget specific modifications !include StrFunc.nsh ; ${StrStr} ${StrRep} ;-------------------------------- ;General ;Name and file Name "@CPACK_NSIS_PACKAGE_NAME@" OutFile "@CPACK_TOPLEVEL_DIRECTORY@/@CPACK_OUTPUT_FILE_NAME@" ;Set compression SetCompressor @CPACK_NSIS_COMPRESSOR@ ;Require administrator access RequestExecutionLevel admin @CPACK_NSIS_DEFINES@ !include Sections.nsh ;--- Component support macros: --- ; The code for the add/remove functionality is from: ; http://nsis.sourceforge.net/Add/Remove_Functionality ; It has been modified slightly and extended to provide ; inter-component dependencies. Var AR_SecFlags Var AR_RegFlags @CPACK_NSIS_SECTION_SELECTED_VARS@ ; Loads the "selected" flag for the section named SecName into the ; variable VarName. !macro LoadSectionSelectedIntoVar SecName VarName SectionGetFlags ${${SecName}} $${VarName} IntOp $${VarName} $${VarName} & ${SF_SELECTED} ;Turn off all other bits !macroend ; Loads the value of a variable... can we get around this? !macro LoadVar VarName IntOp $R0 0 + $${VarName} !macroend ; Sets the value of a variable !macro StoreVar VarName IntValue IntOp $${VarName} 0 + ${IntValue} !macroend !macro InitSection SecName ; This macro reads component installed flag from the registry and ;changes checked state of the section on the components page. ;Input: section index constant name specified in Section command. ClearErrors ;Reading component status from registry ReadRegDWORD $AR_RegFlags HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@\Components\${SecName}" "Installed" IfErrors "default_${SecName}" ;Status will stay default if registry value not found ;(component was never installed) IntOp $AR_RegFlags $AR_RegFlags & ${SF_SELECTED} ;Turn off all other bits SectionGetFlags ${${SecName}} $AR_SecFlags ;Reading default section flags IntOp $AR_SecFlags $AR_SecFlags & 0xFFFE ;Turn lowest (enabled) bit off IntOp $AR_SecFlags $AR_RegFlags | $AR_SecFlags ;Change lowest bit ; Note whether this component was installed before !insertmacro StoreVar ${SecName}_was_installed $AR_RegFlags IntOp $R0 $AR_RegFlags & $AR_RegFlags ;Writing modified flags SectionSetFlags ${${SecName}} $AR_SecFlags "default_${SecName}:" !insertmacro LoadSectionSelectedIntoVar ${SecName} ${SecName}_selected !macroend !macro FinishSection SecName ; This macro reads section flag set by user and removes the section ;if it is not selected. ;Then it writes component installed flag to registry ;Input: section index constant name specified in Section command. SectionGetFlags ${${SecName}} $AR_SecFlags ;Reading section flags ;Checking lowest bit: IntOp $AR_SecFlags $AR_SecFlags & ${SF_SELECTED} IntCmp $AR_SecFlags 1 "leave_${SecName}" ;Section is not selected: ;Calling Section uninstall macro and writing zero installed flag !insertmacro "Remove_${${SecName}}" WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@\Components\${SecName}" \ "Installed" 0 Goto "exit_${SecName}" "leave_${SecName}:" ;Section is selected: WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@\Components\${SecName}" \ "Installed" 1 "exit_${SecName}:" !macroend !macro RemoveSection_CPack SecName ; This macro is used to call section's Remove_... macro ;from the uninstaller. ;Input: section index constant name specified in Section command. !insertmacro "Remove_${${SecName}}" !macroend ; Determine whether the selection of SecName changed !macro MaybeSelectionChanged SecName !insertmacro LoadVar ${SecName}_selected SectionGetFlags ${${SecName}} $R1 IntOp $R1 $R1 & ${SF_SELECTED} ;Turn off all other bits ; See if the status has changed: IntCmp $R0 $R1 "${SecName}_unchanged" !insertmacro LoadSectionSelectedIntoVar ${SecName} ${SecName}_selected IntCmp $R1 ${SF_SELECTED} "${SecName}_was_selected" !insertmacro "Deselect_required_by_${SecName}" goto "${SecName}_unchanged" "${SecName}_was_selected:" !insertmacro "Select_${SecName}_depends" "${SecName}_unchanged:" !macroend ;--- End of Add/Remove macros --- ;-------------------------------- ;Interface Settings !define MUI_HEADERIMAGE !define MUI_ABORTWARNING ;-------------------------------- ; path functions !verbose 3 !include "WinMessages.NSH" !verbose 4 ;---------------------------------------- ; based upon a script of "Written by KiCHiK 2003-01-18 05:57:02" ;---------------------------------------- !verbose 3 !include "WinMessages.NSH" !verbose 4 ;==================================================== ; get_NT_environment ; Returns: the selected environment ; Output : head of the stack ;==================================================== !macro select_NT_profile UN Function ${UN}select_NT_profile StrCmp $ADD_TO_PATH_ALL_USERS "1" 0 environment_single DetailPrint "Selected environment for all users" Push "all" Return environment_single: DetailPrint "Selected environment for current user only." Push "current" Return FunctionEnd !macroend !insertmacro select_NT_profile "" !insertmacro select_NT_profile "un." ;---------------------------------------------------- !define NT_current_env 'HKCU "Environment"' !define NT_all_env 'HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment"' !ifndef WriteEnvStr_RegKey !ifdef ALL_USERS !define WriteEnvStr_RegKey \ 'HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment"' !else !define WriteEnvStr_RegKey 'HKCU "Environment"' !endif !endif ; AddToPath - Adds the given dir to the search path. ; Input - head of the stack ; Note - Win9x systems requires reboot Function AddToPath Exch $0 Push $1 Push $2 Push $3 # don't add if the path doesn't exist IfFileExists "$0\*.*" "" AddToPath_done ReadEnvStr $1 PATH ; if the path is too long for a NSIS variable NSIS will return a 0 ; length string. If we find that, then warn and skip any path ; modification as it will trash the existing path. StrLen $2 $1 IntCmp $2 0 CheckPathLength_ShowPathWarning CheckPathLength_Done CheckPathLength_Done CheckPathLength_ShowPathWarning: Messagebox MB_OK|MB_ICONEXCLAMATION "Warning! PATH too long installer unable to modify PATH!" Goto AddToPath_done CheckPathLength_Done: Push "$1;" Push "$0;" Call StrStr Pop $2 StrCmp $2 "" "" AddToPath_done Push "$1;" Push "$0\;" Call StrStr Pop $2 StrCmp $2 "" "" AddToPath_done GetFullPathName /SHORT $3 $0 Push "$1;" Push "$3;" Call StrStr Pop $2 StrCmp $2 "" "" AddToPath_done Push "$1;" Push "$3\;" Call StrStr Pop $2 StrCmp $2 "" "" AddToPath_done Call IsNT Pop $1 StrCmp $1 1 AddToPath_NT ; Not on NT StrCpy $1 $WINDIR 2 FileOpen $1 "$1\autoexec.bat" a FileSeek $1 -1 END FileReadByte $1 $2 IntCmp $2 26 0 +2 +2 # DOS EOF FileSeek $1 -1 END # write over EOF FileWrite $1 "$\r$\nSET PATH=%PATH%;$3$\r$\n" FileClose $1 SetRebootFlag true Goto AddToPath_done AddToPath_NT: StrCmp $ADD_TO_PATH_ALL_USERS "1" ReadAllKey ReadRegStr $1 ${NT_current_env} "PATH" Goto DoTrim ReadAllKey: ReadRegStr $1 ${NT_all_env} "PATH" DoTrim: StrCmp $1 "" AddToPath_NTdoIt Push $1 Call Trim Pop $1 StrCpy $0 "$1;$0" AddToPath_NTdoIt: StrCmp $ADD_TO_PATH_ALL_USERS "1" WriteAllKey WriteRegExpandStr ${NT_current_env} "PATH" $0 Goto DoSend WriteAllKey: WriteRegExpandStr ${NT_all_env} "PATH" $0 DoSend: SendMessage ${HWND_BROADCAST} ${WM_WININICHANGE} 0 "STR:Environment" /TIMEOUT=5000 AddToPath_done: Pop $3 Pop $2 Pop $1 Pop $0 FunctionEnd ; RemoveFromPath - Remove a given dir from the path ; Input: head of the stack Function un.RemoveFromPath Exch $0 Push $1 Push $2 Push $3 Push $4 Push $5 Push $6 IntFmt $6 "%c" 26 # DOS EOF Call un.IsNT Pop $1 StrCmp $1 1 unRemoveFromPath_NT ; Not on NT StrCpy $1 $WINDIR 2 FileOpen $1 "$1\autoexec.bat" r GetTempFileName $4 FileOpen $2 $4 w GetFullPathName /SHORT $0 $0 StrCpy $0 "SET PATH=%PATH%;$0" Goto unRemoveFromPath_dosLoop unRemoveFromPath_dosLoop: FileRead $1 $3 StrCpy $5 $3 1 -1 # read last char StrCmp $5 $6 0 +2 # if DOS EOF StrCpy $3 $3 -1 # remove DOS EOF so we can compare StrCmp $3 "$0$\r$\n" unRemoveFromPath_dosLoopRemoveLine StrCmp $3 "$0$\n" unRemoveFromPath_dosLoopRemoveLine StrCmp $3 "$0" unRemoveFromPath_dosLoopRemoveLine StrCmp $3 "" unRemoveFromPath_dosLoopEnd FileWrite $2 $3 Goto unRemoveFromPath_dosLoop unRemoveFromPath_dosLoopRemoveLine: SetRebootFlag true Goto unRemoveFromPath_dosLoop unRemoveFromPath_dosLoopEnd: FileClose $2 FileClose $1 StrCpy $1 $WINDIR 2 Delete "$1\autoexec.bat" CopyFiles /SILENT $4 "$1\autoexec.bat" Delete $4 Goto unRemoveFromPath_done unRemoveFromPath_NT: StrCmp $ADD_TO_PATH_ALL_USERS "1" unReadAllKey ReadRegStr $1 ${NT_current_env} "PATH" Goto unDoTrim unReadAllKey: ReadRegStr $1 ${NT_all_env} "PATH" unDoTrim: StrCpy $5 $1 1 -1 # copy last char StrCmp $5 ";" +2 # if last char != ; StrCpy $1 "$1;" # append ; Push $1 Push "$0;" Call un.StrStr ; Find `$0;` in $1 Pop $2 ; pos of our dir StrCmp $2 "" unRemoveFromPath_done ; else, it is in path # $0 - path to add # $1 - path var StrLen $3 "$0;" StrLen $4 $2 StrCpy $5 $1 -$4 # $5 is now the part before the path to remove StrCpy $6 $2 "" $3 # $6 is now the part after the path to remove StrCpy $3 $5$6 StrCpy $5 $3 1 -1 # copy last char StrCmp $5 ";" 0 +2 # if last char == ; StrCpy $3 $3 -1 # remove last char StrCmp $ADD_TO_PATH_ALL_USERS "1" unWriteAllKey WriteRegExpandStr ${NT_current_env} "PATH" $3 Goto unDoSend unWriteAllKey: WriteRegExpandStr ${NT_all_env} "PATH" $3 unDoSend: SendMessage ${HWND_BROADCAST} ${WM_WININICHANGE} 0 "STR:Environment" /TIMEOUT=5000 unRemoveFromPath_done: Pop $6 Pop $5 Pop $4 Pop $3 Pop $2 Pop $1 Pop $0 FunctionEnd ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; Uninstall sutff ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ########################################### # Utility Functions # ########################################### ;==================================================== ; IsNT - Returns 1 if the current system is NT, 0 ; otherwise. ; Output: head of the stack ;==================================================== ; IsNT ; no input ; output, top of the stack = 1 if NT or 0 if not ; ; Usage: ; Call IsNT ; Pop $R0 ; ($R0 at this point is 1 or 0) !macro IsNT un Function ${un}IsNT Push $0 ReadRegStr $0 HKLM "SOFTWARE\Microsoft\Windows NT\CurrentVersion" CurrentVersion StrCmp $0 "" 0 IsNT_yes ; we are not NT. Pop $0 Push 0 Return IsNT_yes: ; NT!!! Pop $0 Push 1 FunctionEnd !macroend !insertmacro IsNT "" !insertmacro IsNT "un." ; StrStr ; input, top of stack = string to search for ; top of stack-1 = string to search in ; output, top of stack (replaces with the portion of the string remaining) ; modifies no other variables. ; ; Usage: ; Push "this is a long ass string" ; Push "ass" ; Call StrStr ; Pop $R0 ; ($R0 at this point is "ass string") !macro StrStr un Function ${un}StrStr Exch $R1 ; st=haystack,old$R1, $R1=needle Exch ; st=old$R1,haystack Exch $R2 ; st=old$R1,old$R2, $R2=haystack Push $R3 Push $R4 Push $R5 StrLen $R3 $R1 StrCpy $R4 0 ; $R1=needle ; $R2=haystack ; $R3=len(needle) ; $R4=cnt ; $R5=tmp loop: StrCpy $R5 $R2 $R3 $R4 StrCmp $R5 $R1 done StrCmp $R5 "" done IntOp $R4 $R4 + 1 Goto loop done: StrCpy $R1 $R2 "" $R4 Pop $R5 Pop $R4 Pop $R3 Pop $R2 Exch $R1 FunctionEnd !macroend !insertmacro StrStr "" !insertmacro StrStr "un." Function Trim ; Added by Pelaca Exch $R1 Push $R2 Loop: StrCpy $R2 "$R1" 1 -1 StrCmp "$R2" " " RTrim StrCmp "$R2" "$\n" RTrim StrCmp "$R2" "$\r" RTrim StrCmp "$R2" ";" RTrim GoTo Done RTrim: StrCpy $R1 "$R1" -1 Goto Loop Done: Pop $R2 Exch $R1 FunctionEnd Function ConditionalAddToRegisty Pop $0 Pop $1 StrCmp "$0" "" ConditionalAddToRegisty_EmptyString WriteRegStr SHCTX "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@" \ "$1" "$0" ;MessageBox MB_OK "Set Registry: '$1' to '$0'" DetailPrint "Set install registry entry: '$1' to '$0'" ConditionalAddToRegisty_EmptyString: FunctionEnd ;-------------------------------- !ifdef CPACK_USES_DOWNLOAD Function DownloadFile IfFileExists $INSTDIR\* +2 CreateDirectory $INSTDIR Pop $0 ; Skip if already downloaded IfFileExists $INSTDIR\$0 0 +2 Return StrCpy $1 "@CPACK_DOWNLOAD_SITE@" try_again: NSISdl::download "$1/$0" "$INSTDIR\$0" Pop $1 StrCmp $1 "success" success StrCmp $1 "Cancelled" cancel MessageBox MB_OK "Download failed: $1" cancel: Return success: FunctionEnd !endif ;-------------------------------- ; Installation types @CPACK_NSIS_INSTALLATION_TYPES@ ;-------------------------------- ; Component sections @CPACK_NSIS_COMPONENT_SECTIONS@ ;-------------------------------- ; Define some macro setting for the gui @CPACK_NSIS_INSTALLER_MUI_ICON_CODE@ @CPACK_NSIS_INSTALLER_ICON_CODE@ @CPACK_NSIS_INSTALLER_MUI_COMPONENTS_DESC@ @CPACK_NSIS_INSTALLER_MUI_FINISHPAGE_RUN_CODE@ ;-------------------------------- ;Pages !insertmacro MUI_PAGE_WELCOME !insertmacro MUI_PAGE_LICENSE "@CPACK_RESOURCE_FILE_LICENSE@" Page custom InstallOptionsPage !insertmacro MUI_PAGE_DIRECTORY ;Start Menu Folder Page Configuration !define MUI_STARTMENUPAGE_REGISTRY_ROOT "SHCTX" !define MUI_STARTMENUPAGE_REGISTRY_KEY "Software\@CPACK_PACKAGE_VENDOR@\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@" !define MUI_STARTMENUPAGE_REGISTRY_VALUENAME "Start Menu Folder" !insertmacro MUI_PAGE_STARTMENU Application $STARTMENU_FOLDER @CPACK_NSIS_PAGE_COMPONENTS@ !insertmacro MUI_PAGE_INSTFILES !insertmacro MUI_PAGE_FINISH !insertmacro MUI_UNPAGE_CONFIRM !insertmacro MUI_UNPAGE_INSTFILES ;-------------------------------- ;Languages !insertmacro MUI_LANGUAGE "English" ;first language is the default language !insertmacro MUI_LANGUAGE "Albanian" !insertmacro MUI_LANGUAGE "Arabic" !insertmacro MUI_LANGUAGE "Basque" !insertmacro MUI_LANGUAGE "Belarusian" !insertmacro MUI_LANGUAGE "Bosnian" !insertmacro MUI_LANGUAGE "Breton" !insertmacro MUI_LANGUAGE "Bulgarian" !insertmacro MUI_LANGUAGE "Croatian" !insertmacro MUI_LANGUAGE "Czech" !insertmacro MUI_LANGUAGE "Danish" !insertmacro MUI_LANGUAGE "Dutch" !insertmacro MUI_LANGUAGE "Estonian" !insertmacro MUI_LANGUAGE "Farsi" !insertmacro MUI_LANGUAGE "Finnish" !insertmacro MUI_LANGUAGE "French" !insertmacro MUI_LANGUAGE "German" !insertmacro MUI_LANGUAGE "Greek" !insertmacro MUI_LANGUAGE "Hebrew" !insertmacro MUI_LANGUAGE "Hungarian" !insertmacro MUI_LANGUAGE "Icelandic" !insertmacro MUI_LANGUAGE "Indonesian" !insertmacro MUI_LANGUAGE "Irish" !insertmacro MUI_LANGUAGE "Italian" !insertmacro MUI_LANGUAGE "Japanese" !insertmacro MUI_LANGUAGE "Korean" !insertmacro MUI_LANGUAGE "Kurdish" !insertmacro MUI_LANGUAGE "Latvian" !insertmacro MUI_LANGUAGE "Lithuanian" !insertmacro MUI_LANGUAGE "Luxembourgish" !insertmacro MUI_LANGUAGE "Macedonian" !insertmacro MUI_LANGUAGE "Malay" !insertmacro MUI_LANGUAGE "Mongolian" !insertmacro MUI_LANGUAGE "Norwegian" !insertmacro MUI_LANGUAGE "Polish" !insertmacro MUI_LANGUAGE "Portuguese" !insertmacro MUI_LANGUAGE "PortugueseBR" !insertmacro MUI_LANGUAGE "Romanian" !insertmacro MUI_LANGUAGE "Russian" !insertmacro MUI_LANGUAGE "Serbian" !insertmacro MUI_LANGUAGE "SerbianLatin" !insertmacro MUI_LANGUAGE "SimpChinese" !insertmacro MUI_LANGUAGE "Slovak" !insertmacro MUI_LANGUAGE "Slovenian" !insertmacro MUI_LANGUAGE "Spanish" !insertmacro MUI_LANGUAGE "Swedish" !insertmacro MUI_LANGUAGE "Thai" !insertmacro MUI_LANGUAGE "TradChinese" !insertmacro MUI_LANGUAGE "Turkish" !insertmacro MUI_LANGUAGE "Ukrainian" !insertmacro MUI_LANGUAGE "Welsh" ;-------------------------------- ;Reserve Files ;These files should be inserted before other files in the data block ;Keep these lines before any File command ;Only for solid compression (by default, solid compression is enabled for BZIP2 and LZMA) ReserveFile "NSIS.InstallOptions.ini" !insertmacro MUI_RESERVEFILE_INSTALLOPTIONS ;-------------------------------- ;Installer Sections Section "-Core installation" ;Use the entire tree produced by the INSTALL target. Keep the ;list of directories here in sync with the RMDir commands below. SetOutPath "$INSTDIR" @CPACK_NSIS_EXTRA_PREINSTALL_COMMANDS@ @CPACK_NSIS_FULL_INSTALL@ ;Store installation folder WriteRegStr SHCTX "Software\@CPACK_PACKAGE_VENDOR@\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@" "" $INSTDIR ;Create uninstaller WriteUninstaller "$INSTDIR\Uninstall.exe" Push "DisplayName" Push "@CPACK_NSIS_DISPLAY_NAME@" Call ConditionalAddToRegisty Push "DisplayVersion" Push "@CPACK_PACKAGE_VERSION@" Call ConditionalAddToRegisty Push "Publisher" Push "@CPACK_PACKAGE_VENDOR@" Call ConditionalAddToRegisty Push "UninstallString" Push "$INSTDIR\Uninstall.exe" Call ConditionalAddToRegisty Push "NoRepair" Push "1" Call ConditionalAddToRegisty !ifdef CPACK_NSIS_ADD_REMOVE ;Create add/remove functionality Push "ModifyPath" Push "$INSTDIR\AddRemove.exe" Call ConditionalAddToRegisty !else Push "NoModify" Push "1" Call ConditionalAddToRegisty !endif ; Optional registration Push "DisplayIcon" Push "$INSTDIR\@CPACK_NSIS_INSTALLED_ICON_NAME@" Call ConditionalAddToRegisty Push "HelpLink" Push "@CPACK_NSIS_HELP_LINK@" Call ConditionalAddToRegisty Push "URLInfoAbout" Push "@CPACK_NSIS_URL_INFO_ABOUT@" Call ConditionalAddToRegisty Push "Contact" Push "@CPACK_NSIS_CONTACT@" Call ConditionalAddToRegisty !insertmacro MUI_INSTALLOPTIONS_READ $INSTALL_DESKTOP "NSIS.InstallOptions.ini" "Field 5" "State" !insertmacro MUI_STARTMENU_WRITE_BEGIN Application ;Create shortcuts CreateDirectory "$SMPROGRAMS\$STARTMENU_FOLDER" @CPACK_NSIS_CREATE_ICONS@ @CPACK_NSIS_CREATE_ICONS_EXTRA@ CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\Uninstall.lnk" "$INSTDIR\Uninstall.exe" ;Read a value from an InstallOptions INI file !insertmacro MUI_INSTALLOPTIONS_READ $DO_NOT_ADD_TO_PATH "NSIS.InstallOptions.ini" "Field 2" "State" !insertmacro MUI_INSTALLOPTIONS_READ $ADD_TO_PATH_ALL_USERS "NSIS.InstallOptions.ini" "Field 3" "State" !insertmacro MUI_INSTALLOPTIONS_READ $ADD_TO_PATH_CURRENT_USER "NSIS.InstallOptions.ini" "Field 4" "State" ; Write special uninstall registry entries Push "StartMenu" Push "$STARTMENU_FOLDER" Call ConditionalAddToRegisty Push "DoNotAddToPath" Push "$DO_NOT_ADD_TO_PATH" Call ConditionalAddToRegisty Push "AddToPathAllUsers" Push "$ADD_TO_PATH_ALL_USERS" Call ConditionalAddToRegisty Push "AddToPathCurrentUser" Push "$ADD_TO_PATH_CURRENT_USER" Call ConditionalAddToRegisty Push "InstallToDesktop" Push "$INSTALL_DESKTOP" Call ConditionalAddToRegisty !insertmacro MUI_STARTMENU_WRITE_END @CPACK_NSIS_EXTRA_INSTALL_COMMANDS@ SectionEnd Section "-Add to path" Push $INSTDIR\bin StrCmp "@CPACK_NSIS_MODIFY_PATH@" "ON" 0 doNotAddToPath StrCmp $DO_NOT_ADD_TO_PATH "1" doNotAddToPath 0 Call AddToPath doNotAddToPath: SectionEnd ;-------------------------------- ; Create custom pages Function InstallOptionsPage !insertmacro MUI_HEADER_TEXT "Install Options" "Choose options for installing @CPACK_NSIS_PACKAGE_NAME@" !insertmacro MUI_INSTALLOPTIONS_DISPLAY "NSIS.InstallOptions.ini" FunctionEnd ;-------------------------------- ; brewtarget specific instructions Var btPath Var btPathVersion var prevInst Var targetDir Var fileName Var locateHandle Var nouse1 Var nouse2 !include "Locate.nsh" ; Set up the browser page. This happens post install, so I'm confused about ; what's already on disk and isn't. PageEx Directory DirVar $btPath DirVerify leave PageCallbacks btPageSkip btPageShow btPageLeave DirText "Select old brewtarget install folder. Press skip if this is a new install,or you want to manually upgrade your database" "Brewtarget Install Folder" "" "Select Brewtarget Install Folder" PageExEnd ; If we found a key already in the registry, pop a message saying w00t and ; that's it Function btPageSkip ${If} $prevInst == "found" MessageBox MB_ICONINFORMATION "Brewtarget has been successfully installed. Your database will automatically be upgraded on startup." Abort ${EndIf} FunctionEnd Function btPageShow ;Hide space texts FindWindow $0 "#32770" "" $HWNDPARENT GetDlgItem $1 $0 0x3FF ShowWindow $1 0 GetDlgItem $1 $0 0x400 ShowWindow $1 0 ; Oh sweet mother. I *hate* magix ; Set the right most button to "Finish" GetDlgItem $R0 $HWNDPARENT 1 SendMessage $R0 ${WM_SETTEXT} 1 "STR:Finish" EnableWindow $R0 1 ; Set the left most button to "Skip" GetDlgItem $R0 $HWNDPARENT 2 SendMessage $R0 ${WM_SETTEXT} 1 "STR:Skip" EnableWindow $R0 1 FunctionEnd ; Do all the copying ; If this function is called, it means we didn't find the registry key and ; believe we need to upgrade. The logic works like this: ; 1. Prompt the user for the path to the brewtarget install ; 2. If it is brewtarget-2.x, ; search c:\users\[name]\AppData\Local for database.sqlite ; else ; search c:\users\[name]\AppData\Local for database.xml ; 3. If we find it ; copy the found file(s) to c:\users\[name]\AppData\Roaming\brewtarget ; else ; complain and give teh user another chance. ; 4. Poke the value ; Function btPageLeave ; This is important to have $APPDATA variable ; NOT point to C:\ProgramData ; but to current user's Roaming folder SetShellVarContext current StrCpy $targetDir "$APPDATA\brewtarget" GetInstDirError $0 ; If they selected nothing, send them back to the dialog ${If} $0 <> 0 MessageBox mb_iconstop "You must locate the old brewtarget folder: $0" Abort ${EndIf} ; Create the target data directory if it isn't there ${IfNot} ${FileExists} $targetDir CreateDirectory $targetDir ${EndIf} ; If the user points us at the program files directory, we have to worry ; about virtual stores Push $btPath Push $PROGRAMFILES Call StrStr Pop $R0 ; We have to worry ${If} $R0 != "" ; Need some more info. Push $btPath Push "t-2" Call StrStr Pop $R2 ; if this is an upgrade from a v2.x, look for sqlite file ${If} $R2 != "" StrCpy $fileName 'database.sqlite' ; if this is an upgrade from a v1.2.x, look for a xml file ${Else} StrCpy $fileName 'database.xml' ${EndIf} ; $btPathVersion should be 'Brewtarget-1.2.4', 'Brewtarget-2.0.0', 'Brewtarget-2.0.1' etc. Push $btPath Push 'Brewtarget-' Call StrStr Pop $btPathVersion ; If there is no data file where the user pointed us, ; look for in LOCALAPPDATA ${IfNot} ${FileExists} "$btPath\$fileName" ${locate::Open} "$LOCALAPPDATA" "/M=$fileName" $locateHandle findloop: ${locate::Find} $locateHandle $R9 $R8 $R7 $R6 $nouse1 $nouse2 StrCmp $R9 '' stoplocate Call whereisDb StrCmp $0 'StopLocate' stoplocate findloop stoplocate: ${locate::Close} $locateHandle ${locate::Unload} ${If} $R4 != "" StrCpy $btPath $R4 ; If we can't find anything, warn the user and send them back to the ; selection screen ${Else} MessageBox mb_iconstop "Could not find an existing database ($fileName) in $btPath" Abort ${EndIf} ${EndIf} ${EndIf} ; I dislike the duplicated code. I need to do this better. ${If} ${FileExists} "$btPath\database.sqlite" CopyFiles "$btPath\database.sqlite" $targetDir CopyFiles "$btPath\options.xml" $targetDir WriteRegStr HKCU "SOFTWARE\brewtarget\OrganizationDefaults" 'hadOldConfig' "1" MessageBox MB_ICONINFORMATION "Your old databases have been copied into place. Please start brewtarget to have them automatically upgraded." ${Else} ${If} ${FileExists} "$btPath\database.xml" ; database CopyFiles "$btPath\database.xml" $targetDir ; mashes CopyFiles "$btPath\mashes.xml" $targetDir ; recipes CopyFiles "$btPath\recipes.xml" $targetDir ; options file last CopyFiles "$btPath\options.xml" $targetDir ; update the registry, so we know to do the final conversion of the ; options file WriteRegStr HKCU "SOFTWARE\brewtarget\OrganizationDefaults" 'hadOldConfig' "1" ; Tell the user they are good. MessageBox MB_ICONINFORMATION "Your old databases have been copied into place. Please start brewtarget to have them automatically upgraded." ${Else} MessageBox mb_iconstop "Couldn't find an existing database to copy!" Abort ${EndIf} ${EndIf} ; Always set the new user_data_dir flag ; WriteRegStr HKCU "SOFTWARE\${APP_NAME}\OrganizationDefaults" 'user_data_dir' "$APPDATA\${APP_NAME}\" WriteRegStr HKCU "SOFTWARE\brewtarget\OrganizationDefaults" 'user_data_dir' "$APPDATA\brewtarget\" FunctionEnd Function whereIsDb ; make sure we don't find the roaming stuff. Push $R9 Push $APPDATA Call StrStr Pop $R2 ; In my test machine (which is a bad start example, I know) ; I had xml files in C:\Users\mik\AppData\Local\VirtualStore\Program Files (x86) ; and in C:\Users\mik\AppData\Local\VirtualStore\Program Files (x86)\Brewtarget-1.2.4\data ; I only want the second set of files, not the first. Push $R9 Push "data" Call StrStr Pop $R3 ; Make sure the file is in a directory with the version number the user selected. Push $R9 Push $btPathVersion Call StrStr Pop $R1 ${If} $R2 == "" ${AndIf} $R3 != "" ${AndIf} $R1 != "" StrCpy $R4 $R8 StrCpy $0 StopLocate ${EndIf} Push $0 FunctionEnd ;-------------------------------- ; end brewtarget specific modifications ;-------------------------------- ; determine admin versus local install Function un.onInit ClearErrors UserInfo::GetName IfErrors noLM Pop $0 UserInfo::GetAccountType Pop $1 StrCmp $1 "Admin" 0 +3 SetShellVarContext all ;MessageBox MB_OK 'User "$0" is in the Admin group' Goto done StrCmp $1 "Power" 0 +3 SetShellVarContext all ;MessageBox MB_OK 'User "$0" is in the Power Users group' Goto done noLM: ;Get installation folder from registry if available done: FunctionEnd ;--- Add/Remove callback functions: --- !macro SectionList MacroName ;This macro used to perform operation on multiple sections. ;List all of your components in following manner here. @CPACK_NSIS_COMPONENT_SECTION_LIST@ !macroend Section -FinishComponents ;Removes unselected components and writes component status to registry !insertmacro SectionList "FinishSection" !ifdef CPACK_NSIS_ADD_REMOVE ; Get the name of the installer executable System::Call 'kernel32::GetModuleFileNameA(i 0, t .R0, i 1024) i r1' StrCpy $R3 $R0 ; Strip off the last 13 characters, to see if we have AddRemove.exe StrLen $R1 $R0 IntOp $R1 $R0 - 13 StrCpy $R2 $R0 13 $R1 StrCmp $R2 "AddRemove.exe" addremove_installed ; We're not running AddRemove.exe, so install it CopyFiles $R3 $INSTDIR\AddRemove.exe addremove_installed: !endif SectionEnd ;--- End of Add/Remove callback functions --- ;-------------------------------- ; Component dependencies Function .onSelChange !insertmacro SectionList MaybeSelectionChanged FunctionEnd ;-------------------------------- ;Uninstaller Section Section "Uninstall" ReadRegStr $START_MENU SHCTX \ "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@" "StartMenu" ;MessageBox MB_OK "Start menu is in: $START_MENU" ReadRegStr $DO_NOT_ADD_TO_PATH SHCTX \ "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@" "DoNotAddToPath" ReadRegStr $ADD_TO_PATH_ALL_USERS SHCTX \ "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@" "AddToPathAllUsers" ReadRegStr $ADD_TO_PATH_CURRENT_USER SHCTX \ "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@" "AddToPathCurrentUser" ;MessageBox MB_OK "Add to path: $DO_NOT_ADD_TO_PATH all users: $ADD_TO_PATH_ALL_USERS" ReadRegStr $INSTALL_DESKTOP SHCTX \ "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@" "InstallToDesktop" ;MessageBox MB_OK "Install to desktop: $INSTALL_DESKTOP " @CPACK_NSIS_EXTRA_UNINSTALL_COMMANDS@ ;Remove files we installed. ;Keep the list of directories here in sync with the File commands above. @CPACK_NSIS_DELETE_FILES@ @CPACK_NSIS_DELETE_DIRECTORIES@ !ifdef CPACK_NSIS_ADD_REMOVE ;Remove the add/remove program Delete "$INSTDIR\AddRemove.exe" !endif ;Remove the uninstaller itself. Delete "$INSTDIR\Uninstall.exe" DeleteRegKey SHCTX "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@" ;Remove the installation directory if it is empty. RMDir "$INSTDIR" ; Remove the registry entries. DeleteRegKey SHCTX "Software\@CPACK_PACKAGE_VENDOR@\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@" ; Removes all optional components !insertmacro SectionList "RemoveSection_CPack" !insertmacro MUI_STARTMENU_GETFOLDER Application $MUI_TEMP Delete "$SMPROGRAMS\$MUI_TEMP\Uninstall.lnk" @CPACK_NSIS_DELETE_ICONS@ @CPACK_NSIS_DELETE_ICONS_EXTRA@ ;Delete empty start menu parent diretories StrCpy $MUI_TEMP "$SMPROGRAMS\$MUI_TEMP" startMenuDeleteLoop: ClearErrors RMDir $MUI_TEMP GetFullPathName $MUI_TEMP "$MUI_TEMP\.." IfErrors startMenuDeleteLoopDone StrCmp "$MUI_TEMP" "$SMPROGRAMS" startMenuDeleteLoopDone startMenuDeleteLoop startMenuDeleteLoopDone: ; If the user changed the shortcut, then untinstall may not work. This should ; try to fix it. StrCpy $MUI_TEMP "$START_MENU" Delete "$SMPROGRAMS\$MUI_TEMP\Uninstall.lnk" @CPACK_NSIS_DELETE_ICONS_EXTRA@ ;Delete empty start menu parent diretories StrCpy $MUI_TEMP "$SMPROGRAMS\$MUI_TEMP" secondStartMenuDeleteLoop: ClearErrors RMDir $MUI_TEMP GetFullPathName $MUI_TEMP "$MUI_TEMP\.." IfErrors secondStartMenuDeleteLoopDone StrCmp "$MUI_TEMP" "$SMPROGRAMS" secondStartMenuDeleteLoopDone secondStartMenuDeleteLoop secondStartMenuDeleteLoopDone: DeleteRegKey /ifempty SHCTX "Software\@CPACK_PACKAGE_VENDOR@\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@" Push $INSTDIR\bin StrCmp $DO_NOT_ADD_TO_PATH_ "1" doNotRemoveFromPath 0 Call un.RemoveFromPath doNotRemoveFromPath: SectionEnd ;-------------------------------- ; determine admin versus local install ; Is install for "AllUsers" or "JustMe"? ; Default to "JustMe" - set to "AllUsers" if admin or on Win9x ; This function is used for the very first "custom page" of the installer. ; This custom page does not show up visibly, but it executes prior to the ; first visible page and sets up $INSTDIR properly... ; Choose different default installation folder based on SV_ALLUSERS... ; "Program Files" for AllUsers, "My Documents" for JustMe... Function .onInit StrCmp "@CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALL@" "ON" 0 inst ReadRegStr $0 HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@" "UninstallString" StrCmp $0 "" inst MessageBox MB_YESNOCANCEL|MB_ICONEXCLAMATION \ "@CPACK_NSIS_PACKAGE_NAME@ is already installed. $\n$\nDo you want to uninstall the old version before installing the new one?" \ IDYES uninst IDNO inst Abort ;Run the uninstaller uninst: ClearErrors ExecWait '$0 _?=$INSTDIR' ;Do not copy the uninstaller to a temp file IfErrors uninst_failed inst uninst_failed: MessageBox MB_OK|MB_ICONSTOP "Uninstall failed." Abort inst: ; Reads components status for registry !insertmacro SectionList "InitSection" ; check to see if /D has been used to change ; the install directory by comparing it to the ; install directory that is expected to be the ; default StrCpy $IS_DEFAULT_INSTALLDIR 0 StrCmp "$INSTDIR" "@CPACK_NSIS_INSTALL_ROOT@\@CPACK_PACKAGE_INSTALL_DIRECTORY@" 0 +2 StrCpy $IS_DEFAULT_INSTALLDIR 1 StrCpy $SV_ALLUSERS "JustMe" ; if default install dir then change the default ; if it is installed for JustMe StrCmp "$IS_DEFAULT_INSTALLDIR" "1" 0 +2 StrCpy $INSTDIR "$DOCUMENTS\@CPACK_PACKAGE_INSTALL_DIRECTORY@" ClearErrors UserInfo::GetName IfErrors noLM Pop $0 UserInfo::GetAccountType Pop $1 StrCmp $1 "Admin" 0 +4 SetShellVarContext all ;MessageBox MB_OK 'User "$0" is in the Admin group' StrCpy $SV_ALLUSERS "AllUsers" Goto done StrCmp $1 "Power" 0 +4 SetShellVarContext all ;MessageBox MB_OK 'User "$0" is in the Power Users group' StrCpy $SV_ALLUSERS "AllUsers" Goto done noLM: StrCpy $SV_ALLUSERS "AllUsers" ;Get installation folder from registry if available done: StrCmp $SV_ALLUSERS "AllUsers" 0 +3 StrCmp "$IS_DEFAULT_INSTALLDIR" "1" 0 +2 StrCpy $INSTDIR "@CPACK_NSIS_INSTALL_ROOT@\@CPACK_PACKAGE_INSTALL_DIRECTORY@" StrCmp "@CPACK_NSIS_MODIFY_PATH@" "ON" 0 noOptionsPage !insertmacro MUI_INSTALLOPTIONS_EXTRACT "NSIS.InstallOptions.ini" ReadRegStr $btPath HKCU "SOFTWARE\brewtarget\OrganizationDefaults" 'user_data_dir' StrLen $0 $btPath ; If we did not find the registry key ${If} $0 == 0 StrCpy $prevInst "none" StrCpy $btPath $PROGRAMFILES ${Else} StrCpy $prevInst "found" ${Endif} noOptionsPage: FunctionEnd brewtarget-2.0.2/cmake/modules/FindPhonon.cmake0000644000175000017500000000623312266512175021024 0ustar philipphilip# Find libphonon # Once done this will define # # PHONON_FOUND - system has Phonon Library # PHONON_INCLUDES - the Phonon include directory # PHONON_LIBS - link these to use Phonon # PHONON_VERSION - the version of the Phonon Library # Copyright (c) 2008, Matthias Kretz # Copyright (c) 2012, Philip G. Lee # # Redistribution and use is allowed according to the terms of the BSD license. macro(_phonon_find_version) set(_phonon_namespace_header_file "${PHONON_INCLUDE_DIR}/phonon/phononnamespace.h") if (APPLE AND EXISTS "${PHONON_INCLUDE_DIR}/Headers/phononnamespace.h") set(_phonon_namespace_header_file "${PHONON_INCLUDE_DIR}/Headers/phononnamespace.h") endif (APPLE AND EXISTS "${PHONON_INCLUDE_DIR}/Headers/phononnamespace.h") file(READ ${_phonon_namespace_header_file} _phonon_header LIMIT 5000 OFFSET 1000) string(REGEX MATCH "define PHONON_VERSION_STR \"(4\\.[0-9]+\\.[0-9a-z]+)\"" _phonon_version_match "${_phonon_header}") set(PHONON_VERSION "${CMAKE_MATCH_1}") message(STATUS "Phonon Version: ${PHONON_VERSION}") endmacro(_phonon_find_version) if(PHONON_FOUND) # Already found, nothing more to do except figuring out the version _phonon_find_version() else(PHONON_FOUND) if(PHONON_INCLUDE_DIR AND PHONON_LIBRARY) set(PHONON_FIND_QUIETLY TRUE) endif(PHONON_INCLUDE_DIR AND PHONON_LIBRARY) # As discussed on kde-buildsystem: first look at CMAKE_PREFIX_PATH, then at the suggested PATHS (kde4 install dir) find_library(PHONON_LIBRARY NAMES phonon PATHS ${KDE4_LIB_INSTALL_DIR} ${QT_LIBRARY_DIR} NO_SYSTEM_ENVIRONMENT_PATH NO_CMAKE_SYSTEM_PATH) # then at the default system locations (CMAKE_SYSTEM_PREFIX_PATH, i.e. /usr etc.) find_library(PHONON_LIBRARY NAMES phonon) find_path(PHONON_INCLUDE_DIR NAMES phonon/phonon_export.h PATHS ${KDE4_INCLUDE_INSTALL_DIR} ${QT_INCLUDE_DIR} ${INCLUDE_INSTALL_DIR} ${QT_LIBRARY_DIR} NO_SYSTEM_ENVIRONMENT_PATH NO_CMAKE_SYSTEM_PATH) find_path(PHONON_INCLUDE_DIR NAMES phonon/phonon_export.h) if(PHONON_INCLUDE_DIR AND PHONON_LIBRARY) set(PHONON_LIBS ${phonon_LIB_DEPENDS} ${PHONON_LIBRARY}) set(PHONON_INCLUDES ${PHONON_INCLUDE_DIR}) set(PHONON_FOUND TRUE) _phonon_find_version() else(PHONON_INCLUDE_DIR AND PHONON_LIBRARY) set(PHONON_FOUND FALSE) endif(PHONON_INCLUDE_DIR AND PHONON_LIBRARY) if(PHONON_FOUND) if(NOT PHONON_FIND_QUIETLY) message(STATUS "Found Phonon: ${PHONON_LIBRARY}") message(STATUS "Found Phonon Includes: ${PHONON_INCLUDES}") endif(NOT PHONON_FIND_QUIETLY) else(PHONON_FOUND) if(Phonon_FIND_REQUIRED) if(NOT PHONON_INCLUDE_DIR) message(STATUS "Phonon includes NOT found!") endif(NOT PHONON_INCLUDE_DIR) if(NOT PHONON_LIBRARY) message(STATUS "Phonon library NOT found!") endif(NOT PHONON_LIBRARY) message(FATAL_ERROR "Phonon library or includes NOT found!") else(Phonon_FIND_REQUIRED) message(STATUS "Unable to find Phonon") endif(Phonon_FIND_REQUIRED) endif(PHONON_FOUND) mark_as_advanced(PHONON_INCLUDE_DIR PHONON_LIBRARY PHONON_INCLUDES) endif(PHONON_FOUND) brewtarget-2.0.2/configure0000755000175000017500000000306612266512175015140 0ustar philipphilip#!/bin/bash PREFIX="" CMAKEOPTIONS="-DDO_RELEASE_BUILD=ON" function printUsageAndExit { echo -e "Usage\n" \ " Options:\n" \ " -m T Set mac arch (\"i386;ppc\" for universal binary)\n" \ " -p T Set prefix to T.\n" \ " -t Update translation files (*.ts).\n" \ " -v Verbose compilation.\n" \ " -h Print this help message.\n"; exit 0; } # Ensures cmake exists. function findCMake { if [ -z $(which cmake) ] then echo "ERROR: cmake not installed"; exit 1; fi } findCMake; # Get options. while getopts "m:p:t:h:v" option do case $option in m) CMAKEOPTIONS="$CMAKEOPTIONS -DCMAKE_OSX_ARCHITECTURES=$OPTARG";; p) PREFIX="$OPTARG";; t) CMAKEOPTIONS="$CMAKEOPTIONS -DUPDATE_TRANSLATIONS=ON";; v) CMAKEOPTIONS="$CMAKEOPTIONS -DCMAKE_VERBOSE_MAKEFILE=TRUE";; h) printUsageAndExit ;; esac done # Cmake defaults CMAKE_INSTALL_PREFIX=/usr/local. # This is not good for debian, so try to detect debian/ubuntu. grep -i ubuntu /etc/issue > /dev/null 2> /dev/null || grep -i debian /etc/issue > /dev/null 2> /dev/null if [ $? == 0 ] then PREFIX=/usr; fi echo "Prefix: $PREFIX"; # If we have a prefix... if [ -n "$PREFIX" ] then #...define the prefix. CMAKEOPTIONS="$CMAKEOPTIONS -DCMAKE_INSTALL_PREFIX=$PREFIX"; fi echo "CMAKEOPTIONS: $CMAKEOPTIONS"; # Do all the building in build/ cd build/ cmake $CMAKEOPTIONS ../ # Tell the user what to do. echo "" echo "" echo -e "\tNow, cd to build/ and run \"make\"" echo "" brewtarget-2.0.2/brewtarget_cfg.qrc.in0000644000175000017500000000022412266512175017323 0ustar philipphilip ${CMAKE_CURRENT_BINARY_DIR}/src/blankdb.sqlite brewtarget-2.0.2/translations/0000755000175000017500000000000012266512176015746 5ustar philipphilipbrewtarget-2.0.2/translations/bt_sv.ts0000644000175000017500000050147312266512175017444 0ustar philipphilip BrewDayScrollWidget Style Stil Date Datum Boil Time Koktid Efficiency Effektivitet Boil Volume Kokvolym Preboil Gravity Densitet före kok Final Volume Slutvolym Starting Gravity Startdensitet IBU IBU Final Gravity Slutdensitet ABV Alkoholhalt Estimated calories(per 12 oz) Uppskattade kalorier (per 12 oz) Instructions Instruktioner Completed Färdig Time Tid Step Steg Actual PreBoil Volume Verklig volym före kok Actual PreBoil Gravity Verklig densitet före kok PostBoil Volume Volym efter kok PostBoil Gravity Densitet före kok Volume into fermenter Volym i jäskärl Print Document Skriv ut dokument <h2>Notes</h2> <h2>Anteckningar</h2> Step %1: %2 Steg %1: %2 Add grains Tillsätt malt Heat water Värm vatten BrewDayWidget Style Stil Date Datum Boil Volume Kokvolym Preboil Gravity Densitet före kok Final Volume Slutvolym Starting Gravity Startdensitet Boil Time Koktid IBU IBU Predicted Efficiency Förväntad verkningsgrad Estimated calories (per 12 oz) Uppskattade kalorier (per 12 oz) Instructions Instruktioner Completed Färdig Time Tid Step Steg Actual Pre-boil Volume: Verklig volym innan kokning: Actual Pre-boil Gravity: Verklig densitet före kok: Post-boil Volume: Volym efter kok Post-boil Gravity: Densitet efter kok Volume in fermenter: Volym i jäskar Print Document Skriv ut dokument Notes Anteckningar Step %1: %2 Steg %1: %2 BrewTargetTreeModel Name Namn Brew Date Bryggdatum Style Stil Boil Time Koktid Color Färg Type Typ Use Användning Form Form Category Kategori Number Nummer Letter Letter Guide Guide BrewTargetTreeView New Recipe Nytt recept Brew It! Brygg! Brew Again Brygg igen Delete Radera New Equipment Ny utrustning New Fermentable Ny malt New Hop Ny humle New Misc Nytt övrigt New Yeast Ny jäst Copy Kopiera Export Exportera Import Importera Change date Ändra datum New Style Ny stil Recalculate eff Beräkna om utbyte Brewtarget Default Förvalt EBC EBC SRM SRM Plato Plato Specific Gravity Densitet SI SI US Customary Vanlig i US Milligrams milligram Grams gram Kilograms kilogram Ounces Uns Pounds Pund Celsius Celsius Fahrenheit Fahrenheit British Imperial brittisk standard MilliLiters milliliter Liters liter Teaspoons tesked Tablespoons matsked Cups Kopp Quarts Quart Gallons Gallons BtDigitWidget Too low for style. För lågt för stilen. In range for style. I intervall för stilen, Too high for style. För högt för stilen, Database Merge Database Sammanfoga databas There may be new ingredients and recipes available. Would you like to add these to your database? Det kan finnas ny ingredienser och recept tillgängliga. Vill du lägga till dem till din databas? EquipmentEditor Grain absorption (%1/%2) Malt upptag (%1/%2) Tun Volume Warning Batch Size Warning Satsstorlekeks Varning Equipment name Utrustningsnamn Equipment name: Utrustningsnamn: The tun volume you entered is 0. This may cause problems Den tun volym du angav är 0. Detta kan orsaka problem The batch size you entered is 0. This may cause problems Satsstorleken du angav är 0. Detta kan orsaka problem Hop Utilization Warning Humle användnings varning The hop utilization percentage you entered is 0. This may cause problems Nyttjandegraden för humlen du angav är 0. Detta kan orsaka problem FermentableDialog Fermentable name Jästnamn Fermentable name: Jästnamn FermentableItemDelegate Grain Malt Sugar Socker Extract Extrakt Dry Extract torrextrakt Adjunct Tillsats FermentableTableModel Bad model index. row = %1 Mashed Mäskat Steeped Stöpt Not mashed Late Sen Normal Normalt Bad column: %1 Felaktig kolumn:%1 Name Namn Type Typ Amount Mängd Late Addition Yield % Color (SRM) Färg (SRM) Color (EBC) Färg (EBC) Hop Mash Mäsk First Wort Första Vörten Boil Kokning Aroma Arom Dry Hop Torrhumling Bittering Bitter Both Både Leaf Löv Pellet Pellets Plug Puck HopDialog Hop name Humlenamn Hop name: Humlenamn: HopItemDelegate Boil Kokning Dry Hop Torrhumling Mash Mäsk First Wort Första Vörten Aroma Arom Leaf Löv Pellet Pellets Plug Puck HopTableModel Name Namn Alpha % Alfa % Amount Mängd Use Användning Time Tid Form Formulär MainWindow Open Öppna BeerXML files (*.xml) BeerXML-fil (*.xml) Save Spara Equipment request Would you like to set the batch size, boil size and time to that requested by the equipment? Vill du ändra batch-volym, kokvolym och tid baserat på de värden som angivits för utrustningen? Delete %1 Ta bort %1 Delete %1 %2? Ta bort %1 %2? HTML files (*.html) HTML-fil (*.html) New Ny Recipe Recept Equipment Utrustning Fermentable Jäsbart Hop Humle Miscellaneous Övrigt Yeast Jäst Copy %1 Kopiera %1 Enter a unique name for the copy of %1. Skriv in ett unikt namn för kopian av %1. Copy Equipment Kopiera utrustning Copy Fermentable Copy Hop Kopiera humle Copy Miscellaneous Kopiera övrigt Copy Yeast Kopiera jäst Database Update Uppdatera databas You are about to update the current database with another one. This may make changes to (but will not delete) some of your ingredients. It will not modify any of your recipes. Continue? Du är på väg att uppdatera den nuvarande databasen med en annan databas. Det kan innebära att vissa av dina ingredienser ändras (men de tas inte bort). Dina recept kommer inte att ändras. Vill du fortsätta? Select Database File Välj databasfil Brewtarget Database (*.sqlite) Brewtargetdatabas (*.sqlite) Recipe name Receptnamn Recipe name: Receptnamn: Backup Database Säkerhetskopiera databasen Oops! Hoppsan! Could not copy the files for some reason. Kunde inte kopiera filen. A Warning En varning This will obliterate your current set of recipes and ingredients. Do you want to continue? For some reason, the operation failed. Av någon anledning, fungerade det inte. Import %1? Importera %1? No mash Trying to add a mash step without a mash. Please create a mash first. Copy Recipe Kopiera recept Enter a unique name for the copy. Skriv in ett unikt namn för kopian. Please give your mash a name before saving. Restart Börja om Please restart Brewtarget. Starta om Brewtarget, tack. No equipment Ingen utrustning You must select or define an equipment profile first. Du måste välja eller definiera en utrustningsprofil först. No style Ingen stil You must select a style first. Du måste välja en stil först. Choose File Välj fil SQLite (*.sqlite) SQLite (*.sqlite) Style Stil Copy Style Kopiera stil The database has been converted/upgraded. Databasen har konverterats/uppdaterats. The original XML files can be found in Den ursprungliga XML-filen finns i The import contained invalid beerXML. It has been imported, but please make certain it makes sense. MaltinessWidget <b>Cloying</b> Kladdig <b>Extra malty</b> Mycket maltig <b>Slightly malty</b> Lite maltig <b>Balanced</b> Balanserad <b>Slightly hoppy</b> Ganska humlig <b>Extra hoppy</b> Mycket humlig <b>Way hoppy</b> Extremt humlig MashDesigner No Fermentables Inga jäsningsbara råvaror Your recipe must have fermentables to design a mash. Ditt recept måste innehålla förjäsningsbara råvaror för att kunna designa en mäskning No Equipment Ingen utrustning You have not set an equipment for this recipe. We really cannot continue without one. Du har inte valt någon utrustning för det här receptet. Vi kan inte fortsätta utan en. Tun Temp Kärlets temp. Enter the temperature of the tun before your first infusion. Ange kärlets temperatur före den första infusionen Decoction error Dekoktionsfel The first mash step cannot be a decoction. Det första mäsksteget kan inte vara en dekoktion MashStepTableModel Bad model index. row = %1 Bad column: %1 Felaktig kolumn:%1 Name Namn Type Typ Amount Mängd Infusion Temp Infusionstemp. Target Temp Måltemperatur Time Tid MashWizard Mash thickness (%1/%2) Mäsktjocklek (%1/%2) Bad thickness Dålig tjocklek You must have a positive mash thickness. Tjoclecken på mäsken måste vara positiv. No steps Inga steg There must be at least one mash step to run the wizard. First step Första steget Your first mash step must be an infusion. Det första mäsksteget måste vara en infusion. Mash too thick För tjock mäsk Your mash is too thick for desired temp. at first step. Decoction error Dekoktionsfel Something went wrong in decoction calculation. Ett fel uppstod vid beräkningav dekoktion Sparge temp. Lakningstemp. In order to hit your sparge temp, the sparge water must be above boiling. Lower your sparge temp, or allow for more sparge water. Too much wort För mycket vört You have too much wort from the mash for your boil size. I suggest increasing the boil size by increasing the boil time, or reducing your mash thickness. Det blir för mycket vört från mäsken för den angivna kokvolymen. Jag föreslår en ökning av kokvolymen genom att öka koktiden eller minska mäsktjockleken. MiscDialog Misc name Misc name: MiscItemDelegate Spice Krydda Fining Klarningsmedel Water Agent Vattenbehandling Herb Örtkrydda Flavor Smak Other Övrigt Boil Kokning Mash Mäsk Primary Primär Secondary Sekundär Bottling Flasktappning MiscTableModel Name Namn Type Typ Use Användning Time Tid Amount Mängd Weight Vikt Volume Volym Amount Type OptionDialog Open Directory Copy Data Kopiera Data There do not seem to be any data files in this directory, so we will copy your old data here. Det verkar inte finnas några datafiler i den här katalogen så vi kommer att kopiera din gamla data hit. Restart Starta om Please restart Brewtarget. Vänligen starta om Brewtarget. QObject Invalid color formula type: %1 Ogiltig typ för färgformel:%1 Unrecognized IBU formula type. %1 Okänd typ för IBU formel. %1 Batch Size: %1 Bryggvolym: %1 Boil Size: %1 Kokvolym: %1 Boil Time: %1 Koktid: %1 OG: %1 OG: %1 FG: %1 FG: %1 Bitterness: %1 IBUs (%2) Color: %1 SRM (%2) Fermentables jäsningsbara råvaror Name Namn Type Typ Amount Mängd Mashed Mäskat Late Sen Yield Color Färg Yes No Total grain: %1 Hops Humle Alpha Alfa Use Användning Time Tid IBU IBU Misc Yeast Jäst Form Stage Secondary Sekundär Primary Primär Mash Mäsk Temp Target Mål Notes Noteringar Instructions Instruktioner Directory Problem Katalogproblem "%1" cannot be read. "%1" kan ej läsas. Config directory "%1" cannot be read. New Version Ny Version Version %1 is now available. Download it? Stop bothering you about new versions? Sluta störa dig angående nya versioner? Database Failure Databasfel Failed to open the database '%1'. Save Database Changes Spara Databasändringar Would you like to save the changes you made? Vill du spara de ändringar som gjorts? Multiple Databases Found Hittade Flera Databaser Multiple databases were found. Do you want to restore the changes you made during your last Brewtarget session, or rollback to before last session's changes? Restore Rollback Failed to remove the temporary backup database. Navigate to '%1' and remove 'tempBackupDatabase.sqlite'. Failed to rollback to the backup database. Navigate to '%1', remove 'database.sqlite' if it exists, and rename 'tempBackupDatabase.sqlite' to 'database.sqlite'. Database Restore Failure Failed to restore the backup database. Navigate to '%1' and rename 'tempBackupDatabase.sqlite' to 'database.sqlite'. Grain Malt Sugar Socker Extract Extrakt Dry Extract torrextrakt Adjunct Tillsats Boil Kokning Mash Mäsk Infusion Temperature Decoction Bottling Flasktappning Spice Krydda Fining Klarningsmedel Water Agent Vattenbehandling Herb Örtkrydda Flavor Smak Other Övrigt Ale Lager Wheat Wine Champagne Liquid Dry Slant Culture Low Medium High Very High Recipes Equipment Utrustning Fermentables Hops Miscellaneous Övrigt Yeast Jäst Efficiency: %1% ABV: %1% Style Stil Recipe Add grains Tillsätt malt Add to the mash tun. Heat water Värm vatten Bring %1 water to %2, for upcoming infusions. Add %1 water at %2 to mash to bring it to %3. Heat mash to %1. Bring %1 of the mash to a boil and return to the mash tun to bring it to %2. Hold for %1. Put %1 %2 into boil for %3. Put %1 %2 into fermenter for %3. Put %1 %2 into first wort for %3. Put %1 %2 into mash for %3. Steep %1 %2 in wort for %3. Use %1 %2 for %3 Hop addition Use %1 %2 at bottling for %3. Put %1 %2 into primary for %3. Put %1 %2 into secondary for %3. Use %1 %2 for %3. Misc addition Do first wort hopping with First wort hopping You should now have %1 wort. Add %1 water to the kettle, bringing pre-boil volume to %2. Pre-boil Boil or steep Boil/steep fermentables to the boil at knockout. Knockout additions You should have %1 wort post-boil. You anticipate losing %1 to trub and chiller loss. Add %1 top up water into primary. The final volume in the primary is %1. Post boil Boil time You did not configure an equipment (which you really should), so tell me the boil time. Bring the wort to a boil and hold for %1. Start boil Flameout Stop boiling the wort. Cool wort and pitch %1 %2 yeast, to the primary. Pitch yeast Let ferment until FG is %1. Ferment Transfer beer to secondary. Transfer to secondary Add %1 %2 to boil at %3. Raise water to boil and then remove from heat. Stir in Add Extracts to water %1 water to %2 RecipeFormatter unknown style N/A Brewer Date Datum Batch Size Boil Size Boil Time Koktid Efficiency Effektivitet OG FG Unknown ABV Alkoholhalt Bitterness Color Färg Calories (per 12 oz.) Fermentables Total grain: Name Namn Type Typ Amount Mängd Mashed Mäskat Late Sen Yield Yes No Hops Alpha Alfa Use Användning Time Tid Form IBU IBU Misc Yeast Jäst Stage Secondary Sekundär Primary Primär Mash Mäsk Temp Target Temp Måltemperatur Notes Anteckningar Instructions Instruktioner Brew Date Bryggdatum Preboil SG Volume into BK Strike Temp Final Temp Eff into BK Projected OG Postboil Postboil Volume Volume Into Fermenter Brewhouse Eff Projected ABV Postferment Volume Volym Print Document Skriv ut dokument RefractoDialog OG Mismatch Based on the given original plato, the OG should be %1, but you have entered %2. Continuing with the calculated OG. ScaleRecipeTool Recipe Scaled The mash has been reset due to the fact that mash temperatures do not scale easily. Please re-run the mash wizard. The equipment and mash have been reset due to the fact that mash temperatures do not scale easily. Please re-run the mash wizard. StyleEditor Style name Style name: TimerWidget Open Sound Audio Files (*.wav *.ogg *.mp3 *.aiff) Stop Start WaterTableModel Bad model index. row = %1 Bad column: %1 Felaktig kolumn:%1 Name Namn Amount Mängd Calcium (ppm) Bicarbonate (ppm) Sulfate (ppm) Chloride (ppm) Sodium (ppm) Magnesium (ppm) YeastDialog Yeast name Yeast name: YeastItemDelegate Ale Lager Wheat Wine Champagne Liquid Dry Slant Culture YeastTableModel Bad model index. row = %1 Bad column: %1 Felaktig kolumn:%1 Name Namn Type Typ Form Amount Mängd Laboratory Product ID aboutDialog About Brewtarget <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'DejaVu Sans'; font-size:9pt; font-weight:400; font-style:normal;"> <p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:20pt;">Brewtarget %1</span></p> <p style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Brewtarget, for developing beer recipes.</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Copyright 2009-2013 by the developers below.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier'; font-weight:600; text-decoration: underline;">Developers</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Peter Buelow</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Dan Cavanagh</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Mik Firestone</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Philip G. Lee &lt;rocketman768@gmail.com&gt;</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier'; font-weight:600; text-decoration: underline;">Copyright (GPLv3)</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Brewtarget is free software: you can redistribute it and/or modify</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">it under the terms of the GNU General Public License as published by</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">the Free Software Foundation, either version 3 of the License, or</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">(at your option) any later version.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Brewtarget is distributed in the hope that it will be useful,</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">but WITHOUT ANY WARRANTY; without even the implied warranty of</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">GNU General Public License for more details.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">You should have received a copy of the GNU General Public License</span></p> <p style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">along with Brewtarget. If not, see &lt;</span><a href="http://www.gnu.org/licenses/"><span style=" font-family:'Courier New,courier'; text-decoration: underline; color:#0000ff;">http://www.gnu.org/licenses/</span></a><span style=" font-family:'Courier New,courier';">&gt;.</span></p> <p style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier'; font-weight:600; text-decoration: underline;">Source Code</span></p> <p style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Brewtarget's source code can be downloaded at </span><a href="http://brewtarget.sourceforge.net"><span style=" font-family:'Sans Serif'; text-decoration: underline; color:#0057ae;">brewtarget.sourceforge.net</span></a><span style=" font-family:'Sans Serif';">.</span></p> <p style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier'; font-weight:600; text-decoration: underline;">Special Thanks</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Guido Carpi (Italian translation)</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Ester (Catalan translation)</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Marc Cote (French translation)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Pawel Fiedor (Polish translation)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Admiro (Polish translation)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Edu Engler (Portuguese translation)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Jan Grmela (Czech translation)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Randy Brace (alpha tester)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://finalgravitypodcast.com"><span style=" font-family:'Sans Serif'; text-decoration: underline; color:#0057ae;">Final Gravity Podcasts</span></a></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Glenn Tinseth &lt;</span><a href="http://www.realbeer.com/hops"><span style=" text-decoration: underline; color:#0000ff;">http://www.realbeer.com/hops</span></a><span style=" font-family:'Courier New,courier';">&gt;</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">server, printer, edit-copy, document-print-preview and merge images from Oxygen theme (CC license)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">backup image from Nuvola theme (LGPL)</span></p></body></html> Donate brewDayScrollWidget Form Generate Instructions Insert step Name Namn Name of new step Step # The number where the new step should be placed Insert the new step Move steps Move currently selected step up Move currently selected step down Remove currently selected step brewDayWidget Brewday Mode Instructions Instruktioner Move currently selected step up Up Move currently selected step down Down Remove currently selected step Remove Insert step Name Namn Name of new step Step # The number where the new step should be placed Insert the new step Insert brewNoteWidget Form Preboil SG Preboil gravity Volume Volym Volume of wort collected Strike Temp Temperature of mash after dough in Final Temp Temperature of mash before mash out Postboil OG Post boil gravity Postboil Volume Volume of wort in BK after boil Volume of wort transferred to fermenter Volume into fermenter Volym i jäskärl Pitch Temp Temperature of wort when yeast is pitched Postferment Final gravity Volume of beer into serving keg/bottles Date when the yeast fermented out percent efficiency into boil kettle Eff into BK Expected OG, based on measure fg Projected OG Brewhouse efficiency Brewhouse Eff Expected ABV based on OG Projected ABV ABV based on FG ABV Alkoholhalt Notes Anteckningar btSplashScreen Form converterTool Converter Tool Input Amount and units to convert Output Units Unit you want to convert to Output Output conversion Convert equipmentEditor Equipment Editor Equipment Utrustning Remove equipment Set as Default Required Fields Name Namn Pre-boil volume If checked, we will calculate your pre-boil volume based on your desired batch size, boil time, evaporation rate, losses, etc. Calculate pre-boil volume Automatically fill in pre-boil volume Batch size Boiling && Water Boil time Evaporation rate (per hr) How much water boils off per hour Kettle top-up water How much water is added to kettle immediately pre-boil Final top-up water Water added to fermenter Grain Absorption (L/kg) Default Absorption Boiling Point of Water Hop Utilization Mash Tun Volume Volym Volume of mash tun Mass Mass or weight of mash tun Specific heat (cal/(g*K)) Losses Kettle to fermenter Wort lost between kettle and fermenter Lauter deadspace Volume of wort lost to lauter deadspace Notes Anteckningar New equipment Save Spara Cancel fermentableDialog Fermentable Database Add selected ingredient to recipe Add to Recipe Create new ingredient New Ny Edit selected ingredient Remove selected ingredient fermentableEditor Fermentable Editor Required Fields Name Namn Type Typ Grain Malt Sugar Socker Extract Extrakt Dry Extract torrextrakt Adjunct Tillsats Amount Mängd Yield (%) Yield as compared to glucose Lovibond Lovibond rating Add After Boil This ingredient is added post boil. Origin Supplier Coarse/Fine Diff (%) Yield difference between coarse and fine grind Moisture (%) Moisture percentage by mass DP (Lintner) Diastatic power in Lintner Protein (%) Protein percentage by mass Max In Batch (%) Maximum recommended percentage of total grist Recommend Mash Recommend this be mashed Is Mashed Checked if it is present in mash Bitterness (IBU*gal/lb) Bitterness of pre-hopped extracts Notes: hopDialog Hop Database Add selected ingredient to recipe Add to Recipe New hop New Ny Edit Remove hopEditor Hop Editor Required Fields Name Namn Alpha (%) Alpha acids as percent by mass Amount Amount Mängd Use Användning Mash Mäsk First Wort Första Vörten Boil Kokning Aroma Arom Dry Hop Torrhumling Time Tid Type Typ Bittering Bitter Both Både Form Leaf Löv Pellet Pellets Plug Puck Beta (%) Beta acids as percent by mass HSI Hop Stability/Storage index Origin Humulene (%) Humulene Caryophyllene (%) Caryophyllene Cohumulone (%) Cohumulone Myrcene (%) Myrcene Substitutes: Notes: htmlViewer Html Viewer about:blank instructionWidget Form Show a timer Show timer Mark this step completed Step completed mainWindow Recipes Styles Fermentables Hops Miscs Yeasts Recipe Recept Name Namn Name of recipe 5 gal Target boil size Efficiency (%) Calculated Boil Size Calculated Batch Size The extraction efficiency you expect Style Stil Boil Time Koktid Target batch size Target Batch Size Equipment Utrustning Target Boil Size OG Boil SG FG ABV Alkoholhalt Bitterness (IBU) Color Färg IBU/GU Calories/12oz Extras Brewday Add a fermentable Remove selected fermentable Edit selected fermentable Add hop Remove selected hop Edit selected hop Miscellaneous Övrigt Add misc Remove selected misc Edit selected misc Yeast Jäst Add yeast Remove selected yeast Edit selected yeast Mash Mäsk Add mash step Remove selected mash step Edit selected mash step Edit mash properties Edit mash Mash Des Invoke the mash wizard Mash wiz Mashs Mash step up Mash step down Save this mash profile Save Mash &About &File &Brewday &Recipe &Database &View &Tools toolBar About &BrewTarget About Brewtarget &Export Recipe &Fermentables Ctrl+F &Hops Ctrl+H &Miscs Ctrl+M &Yeasts Ctrl+Y &Equipments Ctrl+E &Styles Ctrl+T &Exit Ctrl+Q &Import Recipes &Options &Manual &Scale Recipe Recipe to Clipboard as &Text &OG Correction Help &Convert Units Backup Database Säkerhetskopiera databasen Restore Database &Copy Recipe Pr&iming Calculator &Refractometer Tools &Pitch Rate Calculator Merge Databases Select another database to merge into the current one. &Print Print Pre&view &Export To HTML &Export to HTML &Backup Save all recipes, ingredients, etc. to a backup folder &Restore Restore recipes, ingredients, etc. from a previous backup &Merge Merge another set of recipes, ingredients, etc. into the current set &New Recipe Timers Show timers Save Spara Delete selected Delete recipe Donate &Mashs Mashes mashDesigner Mash Designer Name Namn Type Typ Target temp. Time Tid Batch Sparge Next Finish Infusion/Decoction Amount min max 0 Infusion Temp Infusionstemp. Total Collected Wort vol Tun Fullness tunVol thickness mashEditor Mash Editor Name Namn Initial grain temp Sparge temp Sparge temp target Sparge pH Notes Anteckningar Tun Initial tun temp Get following parameters from the recipe's equipment. From Equipment Tun mass Tun sp. heat Tun specific heat (cal/(g*K)) mashStepEditor Mash Step Editor Name Namn Type Typ Infusion Temperature Decoction Target temp. Target temp. of this step Infuse Amount Amount of water to infuse Infuse temp. Temperature of infusion water Decoction Amount Amount of mash to decoct Time Tid Time to conduct the step Temp. lag time Lag time End temp. Final temp. of this step mashWizard Mash Wizard Mash thickness (L/kg) Mash thickness (do not enter any units) miscDialog Misc Database Add selected ingredient to recipe Add to Recipe Create a new ingredient New Ny Edit selected ingredient Remove selected ingredient miscEditor Misc Editor Name Namn Type Typ Spice Krydda Fining Klarningsmedel Water Agent Vattenbehandling Herb Örtkrydda Flavor Smak Other Övrigt Use Användning Boil Kokning Mash Mäsk Primary Primär Secondary Sekundär Bottling Flasktappning Time Tid Amount Mängd Check it if the amount listed is in kg instead of L. Amount is weight? Checked if the given amount is weight instead of volume Use for: Notes: namedMashEditor Named Mash Editor Mash Mäsk Delete selected style Name Namn Initial grain temp Sparge temp Sparge temp target Sparge pH Notes Anteckningar Tun Initial tun temp From Equipment Tun mass Tun sp. heat Tun specific heat (cal/(g*K)) Add mash step Remove selected mash step Mash step up Mash step down ogAdjuster Adjust Volume to Hit OG Input SG Measured gravity pre-boil Temp Temperature of SG reading Calibration Temp Temp to which the hydrometer is calibrated -or- Plato Plato Plato (percent by mass of equivalent sucrose) Pre-Boil Volume Measured pre-boil volume Output OG w/o Correction OG if you boil as planned Add to Boil Amount of water you need to add to hit planned OG (or boil off if negative) Final Batch Size Estimated batch size after correction Calculate optionsDialog Options Units Weight Vikt Use SI units Use US traditional units Use British imperial units Temperature Celsius Celsius Fahrenheit Fahrenheit Volume Volym Gravity 20C/20C Specific Gravity Plato/Brix/Balling Color Färg Use SRM Use EBC Formulas Mosher's approximation Daniels' approximation Morey's approximation IBU IBU Tinseth's approximation Rager's approximation IBU Adjustments % IBU adjustment Mash Hop First Wort Första Vörten Directories Database Directory Where your brewtarget .xml files are. Browse Default Förvalt Language Czech Catalan German English Spanish French Italian Dutch Polish Portuguese Russian <qt> <b>Know another language?</b> <br><br> Or, would you like to improve a translation? Help us out and <a href="https://sourceforge.net/sendmessage.php?touser=938941"> provide a translation</a> so that your friends can use brewtarget! </qt> pitchDialog Pitch Rate Calculator Input Wort Volume OG For ales, 0.75-1. For lagers, 1.5-2. Pitch Rate (M cells)/(mL*P) Aeration Method Yeast Production Date Yeast Viability None O2 At Start Stir Plate MM/dd/yyyy % TextLabel Calculate Viability From Date # Vials/Smack Packs Pitched Output Billions of Yeast Cells Required # Vials/Smack Packs w/o Starter Dry Yeast Starter Volume primingDialog Priming Calculator Input Collected Beer Volume Amount of beer to prime Beer Temperature Temp of the beer Desired Volumes How many volumes of CO2 you want (1 L CO2 @ STP per L beer) Glucose Monohydrate (corn sugar) Anhydrous Glucose Sucrose (table sugar) Dry Malt Extract Output Prime with How much priming ingredient to use Calculate recipeExtrasDialog Recipe Extras Brewer Asst. Brewer Taste Rating Primary Age (days) Primary Temp Secondary Age (days) Secondary Temp Tertiary Age (days) Tertiary Temp Bottle/Keg Age (days) Bottle/Keg Temp Date First Brewed dd MMM yyyy Carbonation Volumes Taste Notes Notes Anteckningar Cancel recipeExtrasWidget Form Brewer Asst. Brewer Taste Rating Primary Age (days) Primary Temp Secondary Age (days) Secondary Temp Tertiary Age (days) Tertiary Temp Bottle/Keg Age (days) Bottle/Keg Temp Date First Brewed dd MMM yyyy Carbonation Volumes Taste Notes Notes Anteckningar refractoDialog Refractometer Tools Inputs Original Plato OG (20 C) Current Plato Calculate Outputs SG (20C) ABV Alkoholhalt ABW Refractive Index Real Extract (Plato) OG (20C) scaleRecipeTool Scale Recipe New batch size New efficiency (pct) styleEditor Style Editor Style Stil Delete selected style Basic Information Name Namn Category Kategori Category number Style letter Style guide Type Typ Type of beverage Lager Ale Mead Wheat Mixed Cider Vital Statistics Max Min OG FG IBUs Color (SRM) Färg (SRM) Carb (vols) ABV (pct) Profile Ingredients Examples Notes Anteckningar New Ny Save Spara Cancel timerListDialog Timers timerWidget Form Set the timer to the specified value Set HH:MM:SS Start/Stop timer Start Set a sound as the alarm Sound waterEditor Dialog Name Namn Notes Anteckningar yeastDialog Yeast Database Add selected yeast to recipe Add to Recipe Create new yeast New Ny Edit selected yeast Remove selected yeast yeastEditor Yeast Editor Required Fields Name Namn Type Typ Ale Lager Wheat Wine Champagne Form Liquid Dry Slant Culture Amount Mängd Check it if the amount given is in kg instead of L. Amount is weight? Checked if the given amount is weight instead of volume Lab Product ID Min Temp Min temp Max Temp Max temp Flocculation Low Medium High Very High Attenuation (%) Apparent attenuation as percentage of OG points Times Recultured Times this yeast has been recultured Max Recultures Max recultures Add to Secondary Checked means add this yeast to secondary instead of primary Best For: Notes: brewtarget-2.0.2/translations/bt_en.ts0000644000175000017500000050045312266512175017413 0ustar philipphilip BrewDayScrollWidget Style Date Boil Time Efficiency Boil Volume Preboil Gravity Final Volume Starting Gravity IBU Final Gravity ABV Estimated calories(per 12 oz) Instructions Completed Time Step Actual PreBoil Volume Actual PreBoil Gravity PostBoil Volume PostBoil Gravity Volume into fermenter Print Document <h2>Notes</h2> Step %1: %2 Add grains Heat water BrewDayWidget Style Date Boil Volume Preboil Gravity Final Volume Starting Gravity Boil Time IBU Predicted Efficiency Estimated calories (per 12 oz) Instructions Completed Time Step Actual Pre-boil Volume: Actual Pre-boil Gravity: Post-boil Volume: Post-boil Gravity: Volume in fermenter: Print Document Notes Step %1: %2 BrewTargetTreeModel Name Brew Date Style Boil Time Color Type Use Form Category Number Letter Guide BrewTargetTreeView New Recipe Brew It! Brew Again Delete New Equipment New Fermentable New Hop New Misc New Yeast Copy Export Import Change date New Style Recalculate eff Brewtarget Default EBC SRM Plato Specific Gravity SI US Customary Milligrams Grams Kilograms Ounces Pounds Celsius Fahrenheit British Imperial MilliLiters Liters Teaspoons Tablespoons Cups Quarts Gallons BtDigitWidget Too low for style. In range for style. Too high for style. Database Merge Database There may be new ingredients and recipes available. Would you like to add these to your database? EquipmentEditor Grain absorption (%1/%2) Tun Volume Warning Batch Size Warning Equipment name Equipment name: The tun volume you entered is 0. This may cause problems The batch size you entered is 0. This may cause problems Hop Utilization Warning The hop utilization percentage you entered is 0. This may cause problems FermentableDialog Fermentable name Fermentable name: FermentableItemDelegate Grain Sugar Extract Dry Extract Adjunct FermentableTableModel Bad model index. row = %1 Mashed Steeped Not mashed Late Normal Bad column: %1 Name Type Amount Late Addition Yield % Color (SRM) Color (EBC) Hop Mash First Wort Boil Aroma Dry Hop Bittering Both Leaf Pellet Plug HopDialog Hop name Hop name: HopItemDelegate Boil Dry Hop Mash First Wort Aroma Leaf Pellet Plug HopTableModel Name Alpha % Amount Use Time Form MainWindow Open BeerXML files (*.xml) Save Equipment request Would you like to set the batch size, boil size and time to that requested by the equipment? Delete %1 Delete %1 %2? HTML files (*.html) New Recipe Equipment Fermentable Hop Miscellaneous Yeast Copy %1 Enter a unique name for the copy of %1. Copy Equipment Copy Fermentable Copy Hop Copy Miscellaneous Copy Yeast Database Update You are about to update the current database with another one. This may make changes to (but will not delete) some of your ingredients. It will not modify any of your recipes. Continue? Select Database File Brewtarget Database (*.sqlite) Recipe name Recipe name: Backup Database Oops! Could not copy the files for some reason. A Warning This will obliterate your current set of recipes and ingredients. Do you want to continue? For some reason, the operation failed. Import %1? No mash Trying to add a mash step without a mash. Please create a mash first. Copy Recipe Enter a unique name for the copy. Please give your mash a name before saving. Restart Please restart Brewtarget. No equipment You must select or define an equipment profile first. No style You must select a style first. Choose File SQLite (*.sqlite) Style Copy Style The database has been converted/upgraded. The original XML files can be found in The import contained invalid beerXML. It has been imported, but please make certain it makes sense. MaltinessWidget <b>Cloying</b> <b>Extra malty</b> <b>Slightly malty</b> <b>Balanced</b> <b>Slightly hoppy</b> <b>Extra hoppy</b> <b>Way hoppy</b> MashDesigner No Fermentables Your recipe must have fermentables to design a mash. No Equipment You have not set an equipment for this recipe. We really cannot continue without one. Tun Temp Enter the temperature of the tun before your first infusion. Decoction error The first mash step cannot be a decoction. MashStepTableModel Bad model index. row = %1 Bad column: %1 Name Type Amount Infusion Temp Target Temp Time MashWizard Mash thickness (%1/%2) Bad thickness You must have a positive mash thickness. No steps There must be at least one mash step to run the wizard. First step Your first mash step must be an infusion. Mash too thick Your mash is too thick for desired temp. at first step. Decoction error Something went wrong in decoction calculation. Sparge temp. In order to hit your sparge temp, the sparge water must be above boiling. Lower your sparge temp, or allow for more sparge water. Too much wort You have too much wort from the mash for your boil size. I suggest increasing the boil size by increasing the boil time, or reducing your mash thickness. MiscDialog Misc name Misc name: MiscItemDelegate Spice Fining Water Agent Herb Flavor Other Boil Mash Primary Secondary Bottling MiscTableModel Name Type Use Time Amount Weight Volume Amount Type OptionDialog Open Directory Copy Data There do not seem to be any data files in this directory, so we will copy your old data here. Restart Please restart Brewtarget. QObject Invalid color formula type: %1 Unrecognized IBU formula type. %1 Batch Size: %1 Boil Size: %1 Boil Time: %1 OG: %1 FG: %1 Bitterness: %1 IBUs (%2) Color: %1 SRM (%2) Fermentables Name Type Amount Mashed Late Yield Color Yes No Total grain: %1 Hops Alpha Use Time IBU Misc Yeast Form Stage Secondary Primary Mash Temp Target Notes Instructions Directory Problem "%1" cannot be read. Config directory "%1" cannot be read. New Version Version %1 is now available. Download it? Stop bothering you about new versions? Database Failure Failed to open the database '%1'. Save Database Changes Would you like to save the changes you made? Multiple Databases Found Multiple databases were found. Do you want to restore the changes you made during your last Brewtarget session, or rollback to before last session's changes? Restore Rollback Failed to remove the temporary backup database. Navigate to '%1' and remove 'tempBackupDatabase.sqlite'. Failed to rollback to the backup database. Navigate to '%1', remove 'database.sqlite' if it exists, and rename 'tempBackupDatabase.sqlite' to 'database.sqlite'. Database Restore Failure Failed to restore the backup database. Navigate to '%1' and rename 'tempBackupDatabase.sqlite' to 'database.sqlite'. Grain Sugar Extract Dry Extract Adjunct Boil Mash Infusion Temperature Decoction Bottling Spice Fining Water Agent Herb Flavor Other Ale Lager Wheat Wine Champagne Liquid Dry Slant Culture Low Medium High Very High Recipes Equipment Fermentables Hops Miscellaneous Yeast Efficiency: %1% ABV: %1% Style Recipe Add grains Add to the mash tun. Heat water Bring %1 water to %2, for upcoming infusions. Add %1 water at %2 to mash to bring it to %3. Heat mash to %1. Bring %1 of the mash to a boil and return to the mash tun to bring it to %2. Hold for %1. Put %1 %2 into boil for %3. Put %1 %2 into fermenter for %3. Put %1 %2 into first wort for %3. Put %1 %2 into mash for %3. Steep %1 %2 in wort for %3. Use %1 %2 for %3 Hop addition Use %1 %2 at bottling for %3. Put %1 %2 into primary for %3. Put %1 %2 into secondary for %3. Use %1 %2 for %3. Misc addition Do first wort hopping with First wort hopping You should now have %1 wort. Add %1 water to the kettle, bringing pre-boil volume to %2. Pre-boil Boil or steep Boil/steep fermentables to the boil at knockout. Knockout additions You should have %1 wort post-boil. You anticipate losing %1 to trub and chiller loss. Add %1 top up water into primary. The final volume in the primary is %1. Post boil Boil time You did not configure an equipment (which you really should), so tell me the boil time. Bring the wort to a boil and hold for %1. Start boil Flameout Stop boiling the wort. Cool wort and pitch %1 %2 yeast, to the primary. Pitch yeast Let ferment until FG is %1. Ferment Transfer beer to secondary. Transfer to secondary Add %1 %2 to boil at %3. Raise water to boil and then remove from heat. Stir in Add Extracts to water %1 water to %2 RecipeFormatter unknown style N/A Brewer Date Batch Size Boil Size Boil Time Efficiency OG FG Unknown ABV Bitterness Color Calories (per 12 oz.) Fermentables Total grain: Name Type Amount Mashed Late Yield Yes No Hops Alpha Use Time Form IBU Misc Yeast Stage Secondary Primary Mash Temp Target Temp Notes Instructions Brew Date Preboil SG Volume into BK Strike Temp Final Temp Eff into BK Projected OG Postboil Postboil Volume Volume Into Fermenter Brewhouse Eff Projected ABV Postferment Volume Print Document RefractoDialog OG Mismatch Based on the given original plato, the OG should be %1, but you have entered %2. Continuing with the calculated OG. ScaleRecipeTool Recipe Scaled The mash has been reset due to the fact that mash temperatures do not scale easily. Please re-run the mash wizard. The equipment and mash have been reset due to the fact that mash temperatures do not scale easily. Please re-run the mash wizard. StyleEditor Style name Style name: TimerWidget Open Sound Audio Files (*.wav *.ogg *.mp3 *.aiff) Stop Start WaterTableModel Bad model index. row = %1 Bad column: %1 Name Amount Calcium (ppm) Bicarbonate (ppm) Sulfate (ppm) Chloride (ppm) Sodium (ppm) Magnesium (ppm) YeastDialog Yeast name Yeast name: YeastItemDelegate Ale Lager Wheat Wine Champagne Liquid Dry Slant Culture YeastTableModel Bad model index. row = %1 Bad column: %1 Name Type Form Amount Laboratory Product ID aboutDialog About Brewtarget <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'DejaVu Sans'; font-size:9pt; font-weight:400; font-style:normal;"> <p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:20pt;">Brewtarget %1</span></p> <p style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Brewtarget, for developing beer recipes.</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Copyright 2009-2013 by the developers below.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier'; font-weight:600; text-decoration: underline;">Developers</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Peter Buelow</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Dan Cavanagh</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Mik Firestone</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Philip G. Lee &lt;rocketman768@gmail.com&gt;</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier'; font-weight:600; text-decoration: underline;">Copyright (GPLv3)</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Brewtarget is free software: you can redistribute it and/or modify</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">it under the terms of the GNU General Public License as published by</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">the Free Software Foundation, either version 3 of the License, or</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">(at your option) any later version.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Brewtarget is distributed in the hope that it will be useful,</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">but WITHOUT ANY WARRANTY; without even the implied warranty of</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">GNU General Public License for more details.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">You should have received a copy of the GNU General Public License</span></p> <p style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">along with Brewtarget. If not, see &lt;</span><a href="http://www.gnu.org/licenses/"><span style=" font-family:'Courier New,courier'; text-decoration: underline; color:#0000ff;">http://www.gnu.org/licenses/</span></a><span style=" font-family:'Courier New,courier';">&gt;.</span></p> <p style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier'; font-weight:600; text-decoration: underline;">Source Code</span></p> <p style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Brewtarget's source code can be downloaded at </span><a href="http://brewtarget.sourceforge.net"><span style=" font-family:'Sans Serif'; text-decoration: underline; color:#0057ae;">brewtarget.sourceforge.net</span></a><span style=" font-family:'Sans Serif';">.</span></p> <p style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier'; font-weight:600; text-decoration: underline;">Special Thanks</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Guido Carpi (Italian translation)</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Ester (Catalan translation)</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Marc Cote (French translation)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Pawel Fiedor (Polish translation)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Admiro (Polish translation)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Edu Engler (Portuguese translation)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Jan Grmela (Czech translation)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Randy Brace (alpha tester)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://finalgravitypodcast.com"><span style=" font-family:'Sans Serif'; text-decoration: underline; color:#0057ae;">Final Gravity Podcasts</span></a></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Glenn Tinseth &lt;</span><a href="http://www.realbeer.com/hops"><span style=" text-decoration: underline; color:#0000ff;">http://www.realbeer.com/hops</span></a><span style=" font-family:'Courier New,courier';">&gt;</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">server, printer, edit-copy, document-print-preview and merge images from Oxygen theme (CC license)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">backup image from Nuvola theme (LGPL)</span></p></body></html> Donate brewDayScrollWidget Form Generate Instructions Insert step Name Name of new step Step # The number where the new step should be placed Insert the new step Move steps Move currently selected step up Move currently selected step down Remove currently selected step brewDayWidget Brewday Mode Instructions Move currently selected step up Up Move currently selected step down Down Remove currently selected step Remove Insert step Name Name of new step Step # The number where the new step should be placed Insert the new step Insert brewNoteWidget Form Preboil SG Preboil gravity Volume Volume of wort collected Strike Temp Temperature of mash after dough in Final Temp Temperature of mash before mash out Postboil OG Post boil gravity Postboil Volume Volume of wort in BK after boil Volume of wort transferred to fermenter Volume into fermenter Pitch Temp Temperature of wort when yeast is pitched Postferment Final gravity Volume of beer into serving keg/bottles Date when the yeast fermented out percent efficiency into boil kettle Eff into BK Expected OG, based on measure fg Projected OG Brewhouse efficiency Brewhouse Eff Expected ABV based on OG Projected ABV ABV based on FG ABV Notes btSplashScreen Form converterTool Converter Tool Input Amount and units to convert Output Units Unit you want to convert to Output Output conversion Convert equipmentEditor Equipment Editor Equipment Remove equipment Set as Default Required Fields Name Pre-boil volume If checked, we will calculate your pre-boil volume based on your desired batch size, boil time, evaporation rate, losses, etc. Calculate pre-boil volume Automatically fill in pre-boil volume Batch size Boiling && Water Boil time Evaporation rate (per hr) How much water boils off per hour Kettle top-up water How much water is added to kettle immediately pre-boil Final top-up water Water added to fermenter Grain Absorption (L/kg) Default Absorption Boiling Point of Water Hop Utilization Mash Tun Volume Volume of mash tun Mass Mass or weight of mash tun Specific heat (cal/(g*K)) Losses Kettle to fermenter Wort lost between kettle and fermenter Lauter deadspace Volume of wort lost to lauter deadspace Notes New equipment Save Cancel fermentableDialog Fermentable Database Add selected ingredient to recipe Add to Recipe Create new ingredient New Edit selected ingredient Remove selected ingredient fermentableEditor Fermentable Editor Required Fields Name Type Grain Sugar Extract Dry Extract Adjunct Amount Yield (%) Yield as compared to glucose Lovibond Lovibond rating Add After Boil This ingredient is added post boil. Origin Supplier Coarse/Fine Diff (%) Yield difference between coarse and fine grind Moisture (%) Moisture percentage by mass DP (Lintner) Diastatic power in Lintner Protein (%) Protein percentage by mass Max In Batch (%) Maximum recommended percentage of total grist Recommend Mash Recommend this be mashed Is Mashed Checked if it is present in mash Bitterness (IBU*gal/lb) Bitterness of pre-hopped extracts Notes: hopDialog Hop Database Add selected ingredient to recipe Add to Recipe New hop New Edit Remove hopEditor Hop Editor Required Fields Name Alpha (%) Alpha acids as percent by mass Amount Amount Use Mash First Wort Boil Aroma Dry Hop Time Type Bittering Both Form Leaf Pellet Plug Beta (%) Beta acids as percent by mass HSI Hop Stability/Storage index Origin Humulene (%) Humulene Caryophyllene (%) Caryophyllene Cohumulone (%) Cohumulone Myrcene (%) Myrcene Substitutes: Notes: htmlViewer Html Viewer about:blank instructionWidget Form Show a timer Show timer Mark this step completed Step completed mainWindow Recipes Styles Fermentables Hops Miscs Yeasts Recipe Name Name of recipe 5 gal Target boil size Efficiency (%) Calculated Boil Size Calculated Batch Size The extraction efficiency you expect Style Boil Time Target batch size Target Batch Size Equipment Target Boil Size OG Boil SG FG ABV Bitterness (IBU) Color IBU/GU Calories/12oz Extras Brewday Add a fermentable Remove selected fermentable Edit selected fermentable Add hop Remove selected hop Edit selected hop Miscellaneous Add misc Remove selected misc Edit selected misc Yeast Add yeast Remove selected yeast Edit selected yeast Mash Add mash step Remove selected mash step Edit selected mash step Edit mash properties Edit mash Mash Des Invoke the mash wizard Mash wiz Mashs Mash step up Mash step down Save this mash profile Save Mash &About &File &Brewday &Recipe &Database &View &Tools toolBar About &BrewTarget About Brewtarget &Export Recipe &Fermentables Ctrl+F &Hops Ctrl+H &Miscs Ctrl+M &Yeasts Ctrl+Y &Equipments Ctrl+E &Styles Ctrl+T &Exit Ctrl+Q &Import Recipes &Options &Manual &Scale Recipe Recipe to Clipboard as &Text &OG Correction Help &Convert Units Backup Database Restore Database &Copy Recipe Pr&iming Calculator &Refractometer Tools &Pitch Rate Calculator Merge Databases Select another database to merge into the current one. &Print Print Pre&view &Export To HTML &Export to HTML &Backup Save all recipes, ingredients, etc. to a backup folder &Restore Restore recipes, ingredients, etc. from a previous backup &Merge Merge another set of recipes, ingredients, etc. into the current set &New Recipe Timers Show timers Save Delete selected Delete recipe Donate &Mashs Mashes mashDesigner Mash Designer Name Type Target temp. Time Batch Sparge Next Finish Infusion/Decoction Amount min max 0 Infusion Temp Total Collected Wort vol Tun Fullness tunVol thickness mashEditor Mash Editor Name Initial grain temp Sparge temp Sparge temp target Sparge pH Notes Tun Initial tun temp Get following parameters from the recipe's equipment. From Equipment Tun mass Tun sp. heat Tun specific heat (cal/(g*K)) mashStepEditor Mash Step Editor Name Type Infusion Temperature Decoction Target temp. Target temp. of this step Infuse Amount Amount of water to infuse Infuse temp. Temperature of infusion water Decoction Amount Amount of mash to decoct Time Time to conduct the step Temp. lag time Lag time End temp. Final temp. of this step mashWizard Mash Wizard Mash thickness (L/kg) Mash thickness (do not enter any units) miscDialog Misc Database Add selected ingredient to recipe Add to Recipe Create a new ingredient New Edit selected ingredient Remove selected ingredient miscEditor Misc Editor Name Type Spice Fining Water Agent Herb Flavor Other Use Boil Mash Primary Secondary Bottling Time Amount Check it if the amount listed is in kg instead of L. Amount is weight? Checked if the given amount is weight instead of volume Use for: Notes: namedMashEditor Named Mash Editor Mash Delete selected style Name Initial grain temp Sparge temp Sparge temp target Sparge pH Notes Tun Initial tun temp From Equipment Tun mass Tun sp. heat Tun specific heat (cal/(g*K)) Add mash step Remove selected mash step Mash step up Mash step down ogAdjuster Adjust Volume to Hit OG Input SG Measured gravity pre-boil Temp Temperature of SG reading Calibration Temp Temp to which the hydrometer is calibrated -or- Plato Plato (percent by mass of equivalent sucrose) Pre-Boil Volume Measured pre-boil volume Output OG w/o Correction OG if you boil as planned Add to Boil Amount of water you need to add to hit planned OG (or boil off if negative) Final Batch Size Estimated batch size after correction Calculate optionsDialog Options Units Weight Use SI units Use US traditional units Use British imperial units Temperature Celsius Fahrenheit Volume Gravity 20C/20C Specific Gravity Plato/Brix/Balling Color Use SRM Use EBC Formulas Mosher's approximation Daniels' approximation Morey's approximation IBU Tinseth's approximation Rager's approximation IBU Adjustments % IBU adjustment Mash Hop First Wort Directories Database Directory Where your brewtarget .xml files are. Browse Default Language Czech Catalan German English Spanish French Italian Dutch Polish Portuguese Russian <qt> <b>Know another language?</b> <br><br> Or, would you like to improve a translation? Help us out and <a href="https://sourceforge.net/sendmessage.php?touser=938941"> provide a translation</a> so that your friends can use brewtarget! </qt> pitchDialog Pitch Rate Calculator Input Wort Volume OG For ales, 0.75-1. For lagers, 1.5-2. Pitch Rate (M cells)/(mL*P) Aeration Method Yeast Production Date Yeast Viability None O2 At Start Stir Plate MM/dd/yyyy % TextLabel Calculate Viability From Date # Vials/Smack Packs Pitched Output Billions of Yeast Cells Required # Vials/Smack Packs w/o Starter Dry Yeast Starter Volume primingDialog Priming Calculator Input Collected Beer Volume Amount of beer to prime Beer Temperature Temp of the beer Desired Volumes How many volumes of CO2 you want (1 L CO2 @ STP per L beer) Glucose Monohydrate (corn sugar) Anhydrous Glucose Sucrose (table sugar) Dry Malt Extract Output Prime with How much priming ingredient to use Calculate recipeExtrasDialog Recipe Extras Brewer Asst. Brewer Taste Rating Primary Age (days) Primary Temp Secondary Age (days) Secondary Temp Tertiary Age (days) Tertiary Temp Bottle/Keg Age (days) Bottle/Keg Temp Date First Brewed dd MMM yyyy Carbonation Volumes Taste Notes Notes Cancel recipeExtrasWidget Form Brewer Asst. Brewer Taste Rating Primary Age (days) Primary Temp Secondary Age (days) Secondary Temp Tertiary Age (days) Tertiary Temp Bottle/Keg Age (days) Bottle/Keg Temp Date First Brewed dd MMM yyyy Carbonation Volumes Taste Notes Notes refractoDialog Refractometer Tools Inputs Original Plato OG (20 C) Current Plato Calculate Outputs SG (20C) ABV ABW Refractive Index Real Extract (Plato) OG (20C) scaleRecipeTool Scale Recipe New batch size New efficiency (pct) styleEditor Style Editor Style Delete selected style Basic Information Name Category Category number Style letter Style guide Type Type of beverage Lager Ale Mead Wheat Mixed Cider Vital Statistics Max Min OG FG IBUs Color (SRM) Carb (vols) ABV (pct) Profile Ingredients Examples Notes New Save Cancel timerListDialog Timers timerWidget Form Set the timer to the specified value Set HH:MM:SS Start/Stop timer Start Set a sound as the alarm Sound waterEditor Dialog Name Notes yeastDialog Yeast Database Add selected yeast to recipe Add to Recipe Create new yeast New Edit selected yeast Remove selected yeast yeastEditor Yeast Editor Required Fields Name Type Ale Lager Wheat Wine Champagne Form Liquid Dry Slant Culture Amount Check it if the amount given is in kg instead of L. Amount is weight? Checked if the given amount is weight instead of volume Lab Product ID Min Temp Min temp Max Temp Max temp Flocculation Low Medium High Very High Attenuation (%) Apparent attenuation as percentage of OG points Times Recultured Times this yeast has been recultured Max Recultures Max recultures Add to Secondary Checked means add this yeast to secondary instead of primary Best For: Notes: brewtarget-2.0.2/translations/bt_pl.ts0000644000175000017500000050473012266512175017426 0ustar philipphilip BrewDayScrollWidget Style Styl Date Data Boil Time Czas gotowania Efficiency Wydajność Boil Volume Objętość gotowania Preboil Gravity Gęstość przed gotowaniem Final Volume Końcowa objętość Starting Gravity Początkowna gęstość IBU IBU Final Gravity Końcowa gęstość ABV Alkohol (ABV) Estimated calories(per 12 oz) Kalorie (w 340 gramach) Instructions Instrukcje Completed Zakończone Time Czas Step Krok Actual PreBoil Volume Aktualna objętość przed gotowaniem Actual PreBoil Gravity Aktualna gęstość przed gotowaniem PostBoil Volume Objętość po gotowaniu PostBoil Gravity Gęstość po gotowaniu Volume into fermenter Objętość w fermentorze Print Document Drukuj dokument <h2>Notes</h2> <h2>Notatki</h2> Step %1: %2 Krok %1: %2 Add grains Dodaj słody Heat water Podgrzej wodę BrewDayWidget Style Styl Date Data Boil Volume Objętość gotowania Preboil Gravity Gęstość przed gotowaniem Final Volume Końcowa objętość Starting Gravity Początkowna gęstość Boil Time Czas gotowania IBU IBU Predicted Efficiency Przewidywana wydajność Estimated calories (per 12 oz) Kalorie (w 340 gramach) Instructions Instrukcje Completed Zakończone Time Czas Step Krok Actual Pre-boil Volume: Aktualna objętość przed gotowaniem: Actual Pre-boil Gravity: Aktualna gęstość przed gotowaniem: Post-boil Volume: Objętość po gotowaniu: Post-boil Gravity: Gęstość po gotowaniu: Volume in fermenter: Objętość w fermentorze: Print Document Wydrukuj dokument Notes Notatki Step %1: %2 Krok %1: %2 BrewTargetTreeModel Name Nazwa Brew Date Data warzenia Style Styl Boil Time Czas gotowania Color Barwa Type Typ Use Użycie Form Postać Category Kategoria Number Letter Guide BrewTargetTreeView New Recipe Nowa receptura Brew It! Uwarz to piwo! Brew Again Uwarz ponownie Delete Kasuj New Equipment Nowy sprzęt New Fermentable Nowy składnik fermentacji New Hop Nowy chmiel New Misc Nowy dodatek New Yeast Nowe drożdże Copy Kopiuj Export Eksport Import Import Change date New Style Nowy styl Recalculate eff Brewtarget Default Domyślne EBC EBC SRM SRM Plato Plato Specific Gravity Gęstość (SG) SI Jednostki metryczne US Customary Jednostki USA Milligrams Miligramy Grams Gramy Kilograms Kilogramy Ounces Uncje Pounds Funty Celsius Celsjusza Fahrenheit Fahrenheita British Imperial Jednostki brytyjskie MilliLiters Mililitry Liters Litry Teaspoons Łyżeczki Tablespoons Łyżki Cups Filiżanki Quarts Kwarty Gallons Galony BtDigitWidget Too low for style. Za niska wartość dla stylu. In range for style. Wartość mieści się w stylu. Too high for style. Za wysoka wartość dla stylu. Database Merge Database Połącz bazy danych There may be new ingredients and recipes available. Would you like to add these to your database? Są dostępne nowe składniki i receptury. Czy chcesz je dodać do swojej bazy danych? EquipmentEditor Grain absorption (%1/%2) Absorbcja wodna słodu (%1/%2) Tun Volume Warning Ostrzeżenie dotyczące pojemności kadzi zaciernej Batch Size Warning Ostrzeżenie dotyczące wielkości warki Equipment name Nazwa sprzętu Equipment name: Nazwa sprzętu: The tun volume you entered is 0. This may cause problems Wpisano 0 przy objętości kadzi. To może powodować problemy. The batch size you entered is 0. This may cause problems Hop Utilization Warning The hop utilization percentage you entered is 0. This may cause problems FermentableDialog Fermentable name Składnik fermentacji Fermentable name: Składnik fermentacji: FermentableItemDelegate Grain Słód Sugar Cukier Extract Ekstrakt Dry Extract Suchy ekstrakt Adjunct Dodatek FermentableTableModel Bad model index. row = %1 Nieprawidłowy indeks modelu. wiersz = %1 Mashed Zacierany Steeped Ekstrahowany Not mashed Niezacierany Late Dodawany przed końcem gotowania (ekstrakt) Normal Standardowo Bad column: %1 NIepoprawna kolumna: %1 Name Nazwa Type Typ Amount Ilość Late Addition Metoda dodawania Yield % Ekstraktywność % Color (SRM) Barwa (SRM) Color (EBC) Barwa (EBC) Hop Mash Do zacierania First Wort Chmielenie przedniej brzeczki Boil Gotowanie Aroma Aromatyczny Dry Hop Chmielenie na zimno Bittering Goryczkowy Both Uniwersalny Leaf Szyszka Pellet Granulat Plug Tabletka HopDialog Hop name Nazwa chmielu Hop name: Nazwa chmielu: HopItemDelegate Boil Goryczka Dry Hop Chmielenie na zimno Mash Do zacierania First Wort Chmielenie przedniej brzeczki Aroma Aromat Leaf Szyszka Pellet Granulat Plug Tabletka HopTableModel Name Nazwa Alpha % Alfa % Amount Ilość Use Użycie Time Czas Form Postać MainWindow Open Otwórz BeerXML files (*.xml) Plik BeerXML (*.xml) Save Zapisz Equipment request Potrzebny sprzęt Would you like to set the batch size, boil size and time to that requested by the equipment? Chcesz, aby ustawić objętość brzeczki, objętość do gotowanie i czas do wymaganych przez wyposażenie? Delete %1 Kasuj %1 Delete %1 %2? Skasować %1 %2? HTML files (*.html) Pliki HTML (*.html) New Nowy Recipe Receptura Equipment Sprzęt Fermentable Składnik fermentacji Hop Chmiel Miscellaneous Dodatek Yeast Drożdże Copy %1 Kopiuj %1 Enter a unique name for the copy of %1. Podaj nazwę dla kopii %1. Copy Equipment Kopiuj sprzęt Copy Fermentable Kopiuj składnik fermentacji Copy Hop Kopiuj drożdże Copy Miscellaneous Kopiuj dodatek Copy Yeast Kopiuj drożdże Database Update Aktualizowanie bazy danych You are about to update the current database with another one. This may make changes to (but will not delete) some of your ingredients. It will not modify any of your recipes. Continue? Masz zamiar zaktualizować bieżącą bazę danych inną. To może wprowadzić zmiany (ale nie usuwa) do części twoich składników. Receptury nie zostaną zmodyfikowane. Kontynuować? Select Database File Wybierz plik bazy danych Brewtarget Database (*.sqlite) Daza danych Brewtarget (*.sqlite) Recipe name Nazwa receptury Recipe name: Nazwa receptury: Backup Database Stwórz kopię zapasową bazy danych Oops! Coś poszło nie tak! Could not copy the files for some reason. Z jakiegoś powodu nie mozna skopiować plików. A Warning Ostrzeżenie This will obliterate your current set of recipes and ingredients. Do you want to continue? Ustawienia receptury oraz składników zostaną usunięte. Czy chcesz kontynuować? For some reason, the operation failed. Z jakiegoś powodu operacja się nie powiodła. Import %1? Zaimportować %1? No mash Brak zacierania Trying to add a mash step without a mash. Please create a mash first. Próba dodania kroku zacierania bez zdefiniowanego zacierania. Proszę stwórz najpierw zacieranie. Copy Recipe Skopiuj recepturę Enter a unique name for the copy. Podaj nazwę dla kopii. Please give your mash a name before saving. Podaj nazwę zacierania przed zapisaniem. Restart Ponownie uruchomić Please restart Brewtarget. Proszę ponownie uruchomić program. No equipment Brak sprzętu You must select or define an equipment profile first. Musisz wybrać lub zdefiniować profil urządzenia. No style Brak styl You must select a style first. Musisz wybrać styl. Choose File SQLite (*.sqlite) Style Styl Copy Style The database has been converted/upgraded. The original XML files can be found in The import contained invalid beerXML. It has been imported, but please make certain it makes sense. MaltinessWidget <b>Cloying</b> <b>Mdląco słodkie</b> <b>Extra malty</b> <b>Mocno słodowe</b> <b>Slightly malty</b> <b>Lekko słodowe</b> <b>Balanced</b> <b>Zbalansowane</b> <b>Slightly hoppy</b> <b>Lekka goryczka</b> <b>Extra hoppy</b> <b>Mocna goryczka</b> <b>Way hoppy</b> <b>Super goryczka</b> MashDesigner No Fermentables Brak składników fermnetacji Your recipe must have fermentables to design a mash. Twoja receptura musi zawierać składniki fermentacji, aby zaprojektować zacieranie. No Equipment Brak sprzętu You have not set an equipment for this recipe. We really cannot continue without one. Nie wybrałeś sprzętu dla tej receptury. Bez tego nie możemy kontynuować. Tun Temp Temperatura kadzi zaciernej Enter the temperature of the tun before your first infusion. Wprowadź temperaturę kadzi zaciernej przed pierwszą infuzją. Decoction error Błąd dekokcji The first mash step cannot be a decoction. Pierwsza przerwa nie może być dekokcją. MashStepTableModel Bad model index. row = %1 Niepoprawy indeks modelu: wiersz = %1 Bad column: %1 NIepoprawna kolumna: %1 Name Nazwa Type Typ Amount Ilość Infusion Temp Temperatura infuzji Target Temp Docelowa temp. Time Czas MashWizard Mash thickness (%1/%2) Gęstość zacieru (%1/%2) Bad thickness Nierawidłowa gęstość You must have a positive mash thickness. Gęstość zacieru powinna być dodatnia. No steps Brak kroków There must be at least one mash step to run the wizard. Do uruchomienia kratora potrzabny jest przynajmniej jeden krok zacierania. First step Pierwszy krok Your first mash step must be an infusion. Pierszy krok zacierania powinien być infuzyjny. Mash too thick Zacier jest zbyt gęsty Your mash is too thick for desired temp. at first step. Twój zacier jest zbyt gęsty dla zadanej temperatury w pierwszym kroku. Decoction error Błąd dekokcji Something went wrong in decoction calculation. Obliczenie dekokcji nie powiodło się. Sparge temp. Temperatura wysładzania. In order to hit your sparge temp, the sparge water must be above boiling. Lower your sparge temp, or allow for more sparge water. Aby osiągnąć wymaganą temperaturę wysładzania, woda do wysładzania musiałaby mieć temperaturę powyżej wrzenia. Obniż temperaturę wysładzania lub zezwól na użycie większej ilości wody do wysładzania. Too much wort Zbyt dużo brzeczki You have too much wort from the mash for your boil size. I suggest increasing the boil size by increasing the boil time, or reducing your mash thickness. Uzyskałeś zbyt dużo brzeczki przed gotowaniem w stosunku do możliwości gotowania. Zwiększ objetość gotowania zwiąkaszając jego czas lub zmniejsz gęstość zacieru. MiscDialog Misc name Nazwa dodatku Misc name: Nazwa dodatku: MiscItemDelegate Spice Przyprawa Fining Substancja klarująca Water Agent Uzdatnianie wody Herb Zioło Flavor Aromat Other Inny Boil Gotowanie Mash Zacieranie Primary Fermentacja burzliwa Secondary Fermentacja Cicha Bottling Butlekowanie MiscTableModel Name Nazwa Type Typ Use Użycie Time Czas Amount Ilość Weight Waga Volume Amount Type OptionDialog Open Directory Otwórz katalog Copy Data Kopiuj dane There do not seem to be any data files in this directory, so we will copy your old data here. W tym katalogu wydaje się nie być żadnych danych, skopiujemy tutaj twoje stare dane. Restart Ponownie uruchomić Please restart Brewtarget. Proszę ponownie uruchomić program. QObject Invalid color formula type: %1 Błędny typ formuły barwy: %1 Unrecognized IBU formula type. %1 Nierozpoznana formuła typu IBU. %1 Batch Size: %1 Wielkość warki: %1 Boil Size: %1 Objętość gotowania: %1 Boil Time: %1 Czas gotowania: %1 OG: %1 Gęstość początkowa: %1 FG: %1 Gęstość końcowa: %1 Bitterness: %1 IBUs (%2) Goryczka: %1 IBU (%2) Color: %1 SRM (%2) Barwa: %1 SRM (%2) Fermentables Składniki fermentacji Name Nazwa Type Typ Amount Ilość Mashed Zacierany Late Dodawany późno Yield Ekstraktywność Color Barwa Yes Tak No Nie Total grain: %1 Waga słodów: %1 Hops Chmiele Alpha Alfa Use Użycie Time Czas IBU IBU Misc Dodatki Yeast Drożdże Form Postać Stage Krok Secondary Cicha Primary Burzliwa Mash Zacieranie Temp Temperatura Target Cel Notes Notatki Instructions Instrukcje Directory Problem Problem z katalogiem "%1" cannot be read. "%1" nie może zostać odczytany. Config directory "%1" cannot be read. Katalog konfiguracyjny "%1" nie może zostać odczytany. New Version Nowa Wersja Version %1 is now available. Download it? Wersja %1 jest dostępna. Czy ją pobrać? Stop bothering you about new versions? Nie pytać o nowe wersje? Database Failure Błąd bazy danych Failed to open the database '%1'. Niemożliwe otwarcie bazy danych'%1'. Save Database Changes Zapisz zmiany bazy danych Would you like to save the changes you made? Chcesz, aby zapisać wprowadzone zmiany? Multiple Databases Found Znaleziono kilka baz danych Multiple databases were found. Do you want to restore the changes you made during your last Brewtarget session, or rollback to before last session's changes? Znaleziono kilka baz danych Czy chcesz, aby przywrócić zmiany wprowadzone podczas ostatniej sesji Brewtarget lub wycofać się ze zmian ostatniej sesji? Restore Przywróć Rollback Wycofaj zmiany Failed to remove the temporary backup database. Navigate to '%1' and remove 'tempBackupDatabase.sqlite'. Failed to rollback to the backup database. Navigate to '%1', remove 'database.sqlite' if it exists, and rename 'tempBackupDatabase.sqlite' to 'database.sqlite'. Database Restore Failure Błąd przywracania bazy danych Failed to restore the backup database. Navigate to '%1' and rename 'tempBackupDatabase.sqlite' to 'database.sqlite'. Nie udało się przywrócić kopii zapasowej bazy danych. Przejdź do '%1' i zmień nazwę 'tempBackupDatabase.sqlite' na 'database.sqlite'. Grain Słód Sugar Cukier Extract Ekstrakt Dry Extract Suchy ekstrakt Adjunct Dodatek Boil Gotowanie Mash Zacieranie Infusion Infuzja Temperature Programowanie temperaturowe Decoction Dekokcja Bottling Butlekowanie Spice Przyprawa Fining Substancja klarująca Water Agent Uzdatnianie wody Herb Zioło Flavor Aromat Other Inny Ale Ale Lager Lager Wheat Pszeniczne Wine Wino Champagne Szampan Liquid Płynne Dry Suche Slant Skos Culture Gęstwa Low Niska Medium Średnia High Wysoka Very High Bardzo wysoka Recipes Receptury Equipment Sprzęt Fermentables Składniki fermentacji Hops Chmiele Miscellaneous Dodatki Yeast Drożdże Efficiency: %1% Wydajność: %1% ABV: %1% Zawartość alkoholu: %1% Style Styl Recipe Add grains Dodaj słody Add Dodaj to the mash tun. do kadzi zaciernej. Heat water Podgrzej wodę Bring Podgrzej %1 water to %2, %1 wody do %2, for upcoming infusions. dla nadchodzących infuzji. Add %1 water at %2 to mash to bring it to %3. Dodaj %1 wody o temperaturze %2 do kadzi zaciernej aby podnieść jej temperaturę do %3. Heat mash to %1. Podgrzej zacier do %1. Bring %1 of the mash to a boil and return to the mash tun to bring it to %2. Zagotuj %1 zacieru i zawróć do kadzi zaciernej, w celu podniesienia temperatury do %2. Hold for %1. Utrzymaj przez %1. Put %1 %2 into boil for %3. Dodaj %1 %2 do gotowania przez %3. Put %1 %2 into fermenter for %3. Dodaj %1 %2 do fermentora dla %3. Put %1 %2 into first wort for %3. Dodaj %1 %2 do brzeczki przedniej przez %3. Put %1 %2 into mash for %3. Dodaj %1 %2 do zacieru dla %3. Steep %1 %2 in wort for %3. Ekstrahuj %1 %2 do brzeczki dla %3. Use %1 %2 for %3 Użyj %1 %2 dla %3 Hop addition Dodawanie chmieli Use %1 %2 at bottling for %3. Użyj %1 %2 do butelkowania dla %3. Put %1 %2 into primary for %3. Dodaj %1 %2 do fermentacji burzliwej dla %3. Put %1 %2 into secondary for %3. Dodaj %1 %2 do fermentacji cichej dla %3. Use %1 %2 for %3. Użyj %1 %2 dla %3. Misc addition Użycie dodatków Do first wort hopping with Wykonaj chmielenie brzeczki przedniej z First wort hopping Chmielenie brzeczki przedniej You should now have %1 wort. Powinieneś teraz mieć %1 brzeczki. Add %1 water to the kettle, bringing pre-boil volume to %2. Dodaj %1 wody do kotła podnosząc ilość brzeczki przedniej do %2. Pre-boil Przed gotowaniem Boil or steep Gotowanie lub ekstrahowanie Boil/steep fermentables Składniki do gotowania/ekstrahowania to the boil at knockout. na koniec gotowania. Knockout additions Dodatki na koniec gotowania You should have %1 wort post-boil. Powinieneś teraz mieć %1 brzeczki nastawnej. You anticipate losing %1 to trub and chiller loss. Spodziewaj się utraty %1 w osadach i chłodzeniu. Add %1 top up water into primary. Dodaj %1 początkowej wody do fermentora. The final volume in the primary is %1. Końcowa pojemność w fermentorze wyniesie %1. Post boil Po gotowaniu Boil time Czas gotowania You did not configure an equipment (which you really should), so tell me the boil time. Nie skonfigurowaleś sprzętu (a powinieneś), wieć podaj mi czas gotowania. Bring the wort to a boil and hold for %1. Doprowadź brzeczkę do gotowania i utrzymuj przez %1. Start boil Rozpocznij gotowanie Flameout Wyłącz grzanie Stop boiling the wort. Zakończ gotowanie brzeczki. Cool wort and pitch Schłódź brzeczkę i zadaj %1 %2 yeast, drożdże %1 (%2) to the primary. do fermentora. Pitch yeast Zadaj drożdże Let ferment until FG is %1. Pozwól piwu fermentować do osiągnięcia gęstości %1. Ferment Fermentacja Transfer beer to secondary. Przelej piwo na cichą fermentację. Transfer to secondary Przelej na cichą Add %1 %2 to boil at %3. Dodaj %1 %2 do gotowania przy %3. Raise water to boil and then remove from heat. Stir in Podnieść wodę do wrzenia, a następnie zdjąć z ognia. Mieszać w Add Extracts to water Dodać wody do ekstraktów %1 water to %2 %1 wody do %2 RecipeFormatter unknown style nieznany styl N/A N/A Brewer Piwowar Date Data Batch Size Wielkość warki Boil Size Objętość do gotowania Boil Time Czas gotowania Efficiency Wydajność OG Gęstość początkowa FG Gęstość końcowa Unknown Nieznany ABV Alkohol (ABV) Bitterness Goryczka Color Barwa Calories (per 12 oz.) Kalorie (w 340 gramach) Fermentables Składniki fermentacji Total grain: Waga słodów: Name Nazwa Type Typ Amount Ilość Mashed Zacierany Late Dodawany późno Yield Ekstraktywność Yes Tak No Nie Hops Chmiele Alpha Alfa Use Użycie Time Czas Form Postać IBU IBU Misc Dodatki Yeast Drożdże Stage Krok Secondary Fermentacja cicha Primary Fermentacja burzliwa Mash Zacieranie Temp Temp. Target Temp Docelowa temp. Notes Notatki Instructions Instrukcje Brew Date Data warzenia Preboil Przed gotowaniem SG SG Volume into BK Objętość w kadzi Strike Temp Temp. początkowa Final Temp Temp. końcowa Eff into BK Wydajność w kadzi Projected OG Przewidywana OG Postboil Po gotowaniu Postboil Volume Objętość po gotowaniu Volume Into Fermenter Objętość w fermentorze Brewhouse Eff Wydajność browaru Projected ABV Przewidywana ABV Postferment Po fermentacji Volume Objętość Print Document Wydrukuj dokument RefractoDialog OG Mismatch Błąd początkowej gęstości piwa Based on the given original plato, the OG should be %1, but you have entered %2. Continuing with the calculated OG. Na podstawie dostarczonego oryginalnego plato początkowa gęstość piwa powininna wynosić %1, lecz została wprowadzona %2. Kontynuuję z wyliczoną gęstością. ScaleRecipeTool Recipe Scaled Receptura została przeskalowana The mash has been reset due to the fact that mash temperatures do not scale easily. Please re-run the mash wizard. Schemat zacierania został zresetowany ze względu ma fakt trudnego skalowania temperatur zacierania. Uruchom kreator zacierania ponownie. The equipment and mash have been reset due to the fact that mash temperatures do not scale easily. Please re-run the mash wizard. Ustawienia sprzętu i zacierania zostały zresetowane z uwagi na fakt, że skalowanie temeratury zacieru jest trudne. Proszę ponownie uruchomić kreator zacierania. StyleEditor Style name Nazwa stylu Style name: Nazwa stylu: TimerWidget Open Sound Otwórz dźwięk Audio Files (*.wav *.ogg *.mp3 *.aiff) Pliki dźwiękowe (*.wav *.ogg *.mp3 *.aiff) Stop Stop Start Start WaterTableModel Bad model index. row = %1 Nieprawidłowy indeks modelu. wiersz = %1 Bad column: %1 Zła kolumna: %1 Name Nazwa Amount Ilość Calcium (ppm) Wapno (ppm) Bicarbonate (ppm) Wodorowęglan (ppm) Sulfate (ppm) Siarczan (ppm) Chloride (ppm) Chlor (ppm) Sodium (ppm) Sód (ppm) Magnesium (ppm) Magnez (ppm) YeastDialog Yeast name Nazwa drożdży Yeast name: Nazwa drożdży: YeastItemDelegate Ale Ale Lager Lager Wheat Pszeniczne Wine Wino Champagne Szampan Liquid Płynne Dry Suche Slant Skos Culture Gęstwa YeastTableModel Bad model index. row = %1 Nieprawidłowy indeks modelu. wiersz = %1 Bad column: %1 Zła kolumna: %1 Name Nazwa Type Typ Form Postać Amount Ilość Laboratory Laboratorium Product ID ID produktu aboutDialog About Brewtarget O Brewtarget <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'DejaVu Sans'; font-size:9pt; font-weight:400; font-style:normal;"> <p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:20pt;">Brewtarget %1</span></p> <p style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Brewtarget, for developing beer recipes.</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Copyright 2009-2013 by the developers below.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier'; font-weight:600; text-decoration: underline;">Developers</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Peter Buelow</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Dan Cavanagh</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Mik Firestone</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Philip G. Lee &lt;rocketman768@gmail.com&gt;</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier'; font-weight:600; text-decoration: underline;">Copyright (GPLv3)</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Brewtarget is free software: you can redistribute it and/or modify</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">it under the terms of the GNU General Public License as published by</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">the Free Software Foundation, either version 3 of the License, or</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">(at your option) any later version.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Brewtarget is distributed in the hope that it will be useful,</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">but WITHOUT ANY WARRANTY; without even the implied warranty of</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">GNU General Public License for more details.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">You should have received a copy of the GNU General Public License</span></p> <p style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">along with Brewtarget. If not, see &lt;</span><a href="http://www.gnu.org/licenses/"><span style=" font-family:'Courier New,courier'; text-decoration: underline; color:#0000ff;">http://www.gnu.org/licenses/</span></a><span style=" font-family:'Courier New,courier';">&gt;.</span></p> <p style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier'; font-weight:600; text-decoration: underline;">Source Code</span></p> <p style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Brewtarget's source code can be downloaded at </span><a href="http://brewtarget.sourceforge.net"><span style=" font-family:'Sans Serif'; text-decoration: underline; color:#0057ae;">brewtarget.sourceforge.net</span></a><span style=" font-family:'Sans Serif';">.</span></p> <p style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier'; font-weight:600; text-decoration: underline;">Special Thanks</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Guido Carpi (Italian translation)</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Ester (Catalan translation)</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Marc Cote (French translation)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Pawel Fiedor (Polish translation)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Admiro (Polish translation)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Edu Engler (Portuguese translation)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Jan Grmela (Czech translation)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Randy Brace (alpha tester)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://finalgravitypodcast.com"><span style=" font-family:'Sans Serif'; text-decoration: underline; color:#0057ae;">Final Gravity Podcasts</span></a></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Glenn Tinseth &lt;</span><a href="http://www.realbeer.com/hops"><span style=" text-decoration: underline; color:#0000ff;">http://www.realbeer.com/hops</span></a><span style=" font-family:'Courier New,courier';">&gt;</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">server, printer, edit-copy, document-print-preview and merge images from Oxygen theme (CC license)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">backup image from Nuvola theme (LGPL)</span></p></body></html> Donate Dotacja brewDayScrollWidget Form Postać Generate Instructions Wygeneruj instrukcje Insert step Dodaj krok Name Nazwa Name of new step Nazwa nowego kroku Step # Krok # The number where the new step should be placed Numer gdzie powinien znaleść się nowy krok zacierania Insert the new step Dodaj nowy krok Move steps Przesuń kroki Move currently selected step up Przesuń wybrany krok wyżej Move currently selected step down Przesuń wybrany krok niżej Remove currently selected step Usuń wybrany krok brewDayWidget Brewday Mode Tryb dnia warzenia Instructions Instrukcje Move currently selected step up Przesuń wybrany krok wyżej Up Góra Move currently selected step down Przesuń wybraną instrukcję w górę Down Dół Remove currently selected step Usuń wybrany krok Remove Usuń Insert step Dodaj krok Name Nazwa Name of new step Nazwa nowego kroku Step # Krok # The number where the new step should be placed Numer gdzie powinien znaleść się nowy krok zacierania Insert the new step Dodaj nowy krok Insert Dodaj brewNoteWidget Form Form Preboil Przed gotowaniem SG Gęstość (SG) Preboil gravity Gęstość przed gotowaniem Volume Objętość Volume of wort collected Temperatura brzeczki Strike Temp Temperatura Temperature of mash after dough in Temperatura zacieru po dodaniu słodów Final Temp Docelowa temp. Temperature of mash before mash out Temperatura zacieru przed wygrzewaniem Postboil Po gotowaniu OG Gęstość (OG) Post boil gravity Gęstość po gotowaniu Postboil Volume Objętość po gotowaniu Volume of wort in BK after boil Objętość brzeczki w kadzi Volume of wort transferred to fermenter Objętość brzeczki po przelaniu do fermentora Volume into fermenter Obj.w fermentorze Pitch Temp Temp. zadania drożdży Temperature of wort when yeast is pitched Temperatura brzeczki podczas zadania drożdży Postferment Po fermentacji Final gravity Końcowa gęstość (FG) Volume of beer into serving keg/bottles Objętość piwa w KEGach/butelkach Date when the yeast fermented out Data zakończenia fermentacji percent efficiency into boil kettle procent wydajności w kadzi warzelnej Eff into BK Wydajność w kadzi warzelnej Expected OG, based on measure fg Oczekiwana gęstość początkowa, oparta na pomiarze gęstości końcowej Projected OG Oczekiwana gęstość (OG) Brewhouse efficiency Wydajność browaru Brewhouse Eff Wydajność browaru Expected ABV based on OG Oczekiwana zawartość alkoholu, oparta na gęstości początkowej Projected ABV Projektowana zaw. alk. ABV based on FG Zawartość alkoholu w oparciu o gęstość końcową ABV Faktyczna zaw. alk. Notes Notatki btSplashScreen Form Form converterTool Converter Tool Konwerter Input Źródło Amount and units to convert Ilość wraz z jednostką do kowersji Output Units Jednostka wyjścia Unit you want to convert to Jednostka na którą ma zostać przeliczone źródło Output Wynik Output conversion Wynik konwersji Convert Konwertuj equipmentEditor Equipment Editor Edytor sprzętu Equipment Sprzęt Remove equipment Usuń sprzęt Set as Default Domyślne Required Fields Wymagane pola Name Nazwa Pre-boil volume Pojemność przed gotowaniem If checked, we will calculate your pre-boil volume based on your desired batch size, boil time, evaporation rate, losses, etc. Jesli zaznaczone, objetość przed gotowaniem zostanie wyliczona na podstawie podanej bielkości warki, czasu warzenia, szybkości parowania, strat, itd. Calculate pre-boil volume Wylicz objętość przed gotowaniem Automatically fill in pre-boil volume Automatycznie wypełnij objętość przed gotowaniem Batch size Wielkość warki Boiling && Water Gotowanie i Woda Boil time Czas gotowania Evaporation rate (per hr) Szybkość parowania (na godz.) How much water boils off per hour Jak dużo wody odparuje w ciągu godziny Kettle top-up water Początkowa ilość wody w kotle How much water is added to kettle immediately pre-boil Jaka ilość wody jest dodawana do kotła przed gotowaniem Final top-up water Początkowa ilość wody w fermentorze Water added to fermenter Woda dodawana do fermentatora Grain Absorption (L/kg) Absorbcja wodna słodu (L/kg) Default Absorption Standardowa absorbcja Boiling Point of Water Temperatura wrzenia wody Hop Utilization Wykorzystanie chmiel Mash Tun Kadź zacierna Volume Pojemność Volume of mash tun Pojemność kadzi zaciernej Mass Masa Mass or weight of mash tun Masa kadzi zaciernej Specific heat (cal/(g*K)) Ciepło właściwe (cal/(g*K)) Losses Straty Kettle to fermenter Kocioł (w tym chłodzenie) Wort lost between kettle and fermenter Strata brzeczki w kotle (chmieliny, osady, chłodzenie) Lauter deadspace Martwa strefa filtratora Volume of wort lost to lauter deadspace Ilość brzeczki traconej w wyniku martwej strefy filtratora Notes Notatki New equipment Nowy sprzęt Save Zapisz Cancel Anuluj fermentableDialog Fermentable Database Baza składników fermentacji Add selected ingredient to recipe Dodaj wybrane składniki do receptury Add to Recipe Dodaj do receptury Create new ingredient Utwórz nowy składnik New Nowy Edit selected ingredient Edytuj wybrany składnik Remove selected ingredient Usuń wybrany składnik fermentableEditor Fermentable Editor Edytor składnika fermentacji Required Fields Wymagane pola Name Nazwa Type Typ Grain Słód Sugar Cukier Extract Ekstrakt Dry Extract Suchy ekstrakt Adjunct Dodatek Amount Ilość Yield (%) Ekstraktywność (%) Yield as compared to glucose Ekstraktywność w porównaniu do glukozy Lovibond Barwa Lovibond Lovibond rating Wartosć Lovibond Add After Boil Dodawany po gotowaniu This ingredient is added post boil. Ten składnik dodawany jest po gotowaniu. Origin Kraj pochodzenia Supplier Dostawca Coarse/Fine Diff (%) Różnica frakcji grube/drobnej (%) Yield difference between coarse and fine grind Różnica wydajności pomiędzy frakcją grubą i drobną Moisture (%) Wilgoć (%) Moisture percentage by mass Procent wilgoci w masie DP (Lintner) DP (Lintner) Diastatic power in Lintner Siła diastatyczna w jednostach Lintnera Protein (%) Białka (%) Protein percentage by mass Procent białek w masie Max In Batch (%) Maks. w warce (%) Maximum recommended percentage of total grist Maksymalna zalecana procentowa zawartość w całym zasypie Recommend Mash Zalecane zacieranie Recommend this be mashed Zalecane jest aby składnik był poddany zacieraniu Is Mashed Będzie zacierany Checked if it is present in mash Zazanacz jeśli będzie obecny w zacierze Bitterness (IBU*gal/lb) Goryczka Bitterness of pre-hopped extracts Goryczka dodatków niechmielowych Notes: Notatki: hopDialog Hop Database Baza chmieli Add selected ingredient to recipe Dodaj wybrany składnik do receptury Add to Recipe Dodaj do receptury New hop Nowy chmiel New Nowy Edit Edytuj Remove Usuń hopEditor Hop Editor Edytor chmielu Required Fields Wymagane pola Name Nazwa Alpha (%) Alfa % Alpha acids as percent by mass Procent alfa-kwasów w masie Amount Ilość Amount Ilość Use Użycie Mash Zacieranie First Wort Chmielenie przedniej brzeczki Boil Gotowanie Aroma Chmielenie na aromat Dry Hop Chmielenie na zimno Time Czas Type Typ Bittering Goryczkowy Both Uniwersalny Form Postać Leaf Szyszka Pellet Granulat Plug Tabletka Beta (%) Beta (%) Beta acids as percent by mass Procent beta-kwasów w masie HSI HSI Hop Stability/Storage index Indeks stabilności i przechowywania chmielu Origin Pochodzenie Humulene (%) Humulony (%) Humulene Humulony Caryophyllene (%) Caryophyllene (%) Caryophyllene Caryophyllene Cohumulone (%) Cohumulone (%) Cohumulone Cohumulone Myrcene (%) Myrcene (%) Myrcene Myrcene Substitutes: Zamienniki: Notes: Notatki: htmlViewer Html Viewer Przeglądarka Html about:blank about:blank instructionWidget Form Forma Show a timer Pokaż minutnik Show timer Pokaż minutnik Mark this step completed Oznacz krok jako zakończony Step completed Krok zakończony mainWindow Recipes Receptury Styles Fermentables Składniki fermentacji Hops Chmiele Miscs Dodatki Yeasts Drożdze Recipe Receptura Name Nazwa Name of recipe Nazwa receptury 5 gal 20 L Target boil size Docelowa ilość brzeczki przed gotowaniem Efficiency (%) Wydajność (%) Calculated Boil Size Obliczona ilość brzeczki przed gotowaniem Calculated Batch Size Obliczona wielkość warki The extraction efficiency you expect Wydajność której oczekujesz Style Styl Boil Time Czas gotowania Target batch size Docelowa wielkość warki Target Batch Size Docelowa wielkość warki Equipment Sprzęt Target Boil Size Docelowa ilość brzeczki przed gotowaniem OG Gęstość początkowa Boil SG Gęstość przed gotowaniem FG Gęstość końcowa ABV Alkohol (ABV) Bitterness (IBU) Goryczka (IBU) Color Barwa IBU/GU Wskaźnik goryczki Calories/12oz Kalorie w małym piwie Extras Szczegóły Brewday Dzień warzenia Add a fermentable Dodaj składnik fermentacji Remove selected fermentable Usuń składnik fermentacji Edit selected fermentable Edutj wybrany składnik fermentacji Add hop Dodaj chmiel Remove selected hop Usuń wybrany chmiel Edit selected hop Edytuj wybrany chmiel Miscellaneous Dodatki Add misc Dodaj dodatek Remove selected misc Usuń wybrany dodatek Edit selected misc Edytuj wybrany dodatek Yeast Drożdże Add yeast Dodaj drożdże Remove selected yeast Usuń wybrane drożdże Edit selected yeast Edytuj wybrane drożdże Mash Zacieranie Add mash step Dodaj krok zacierania Remove selected mash step Usuń wybrany krok zacierania Edit selected mash step Etytuj wybrany krok zacierania Edit mash properties Edytuj właściwości zacierania Edit mash Właściwości zacierania Mash Des Kreator zacierania Invoke the mash wizard Wywołaj pomocnika zacierania Mash wiz Pomocnik zacierania Mashs Schematy zacierania Mash step up Nastepna przerwa Mash step down Poprzednia przerwa Save this mash profile Zapisz schemat zacierania Save Mash Zapisz schemat zacierania &About Pomo&c &File &Plik &Brewday &Dzień warzenia &Recipe &Receptura &Database &Baza danych &View &Widok &Tools &Narzędzia toolBar Pasek narzędzi About &BrewTarget O &BrewTarget About Brewtarget O Brewtarget &Export Recipe &Eksportuj receptury &Fermentables &Składniki fermentacji Ctrl+F Ctrl+F &Hops C&hmiele Ctrl+H Ctrl+H &Miscs &Dodatki Ctrl+M Ctrl+D &Yeasts &Drożdze Ctrl+Y Ctrl+D &Equipments &Sprzęt Ctrl+E Ctrl+S &Styles Sty&le Ctrl+T Ctrl+L &Exit &Wyjście Ctrl+Q Ctrl+W &Import Recipes &Importuj receptury &Options &Opcje &Manual &Podręcznik &Scale Recipe &Skaluj recepturę Recipe to Clipboard as &Text Kopiuj recepturę do schowka jako &tekst &OG Correction Help &Korekcja gęstości &Convert Units &Konwerter jednostek Backup Database Stwórz kopię zapasową bazy danych Restore Database Przywróć bazę danych &Copy Recipe Skopiuj re&cepturę Pr&iming Calculator Kalkulator surowca do refermantacj&i &Refractometer Tools Narzędzia &refraktometru &Pitch Rate Calculator Kalkula&tor ilości drożdży Merge Databases Połączenie baz danych Select another database to merge into the current one. Wybierz bazę danych do połączenia z obecną bazą. &Print &Drukuj Print Pre&view Podgląd &wydruku &Export To HTML &Eksportuj do HTML &Export to HTML &Eksportuj do HTML &Backup &Utwórz kopię zapasową Save all recipes, ingredients, etc. to a backup folder Zapisz wszystkie receptury, składniki itd do folderu kopii zapasowej &Restore &Przywróć z kopii zapasowej Restore recipes, ingredients, etc. from a previous backup Przywróć wszystkie receptury, składniki itd z folderu kopii zapasowej &Merge &Połącz bazy danych Merge another set of recipes, ingredients, etc. into the current set Połacz z inny zestaw receptur, skladników itp z aktualnym zestawem &New Recipe &Nowa receptura Timers Minutniki Show timers Pokaż minutniki Save Zapisz Delete selected Usuń zaznaczenie Delete recipe Usuń recepturę Donate Dotacja &Mashs Mashes mashDesigner Mash Designer Kreator zacierania Name Nazwa Type Typ Target temp. Docelowa temp. Time Czas Batch Sparge Wysładzanie Next Dalej Finish Koniec Infusion/Decoction Amount Miara infuzji/dekokcji min min. max maks. 0 0 Infusion Temp Temperatura infuzji Total Collected Wort Całkowila objętość uzyskanej brzeczki vol Tun Fullness Napełnienie kadzi zaciernej tunVol thickness mashEditor Mash Editor Parametry zacierania Name Nazwa Initial grain temp Pocz. temertatura słodu Sparge temp Temperatura wysładzania Sparge temp target Temperatura wysładzania Sparge pH pH wysładzania Notes Notatki Tun Kadź zacierna Initial tun temp Pocz. temperatura Get following parameters from the recipe's equipment. Pobierz poniższe parametry ze sprzętu. From Equipment Pobierz z ustawień sprzętu Tun mass Masa kadzi Tun sp. heat Ciepło wł. kadzi Tun specific heat (cal/(g*K)) Ciepło właściwe kadzi (cal/(g*K)) mashStepEditor Mash Step Editor Edytor kroków zacierania Name Nazwa kroku Type Typ Infusion Infuzja Temperature Programowanie temperaturowe Decoction Dekokcja Target temp. Docelowa temp. Target temp. of this step Docelowa temeratura tego kroku Infuse Amount Wielkość infuzji Amount of water to infuse Ilość dodanej wody Infuse temp. Temp. infuzji Temperature of infusion water Temperatura dodanej wody Decoction Amount Wielkość dekokcji Amount of mash to decoct Ilość dekoktu Time Czas Time to conduct the step Czas przeprowadzenia kroku Temp. lag time Temp. czasu zwłoki Lag time Czas zwłoki End temp. Temp. końcowa Final temp. of this step Końcowa temperatura kroku mashWizard Mash Wizard Pomocnik zacierania Mash thickness (L/kg) Gęstość zacieru Mash thickness (do not enter any units) Gęstość zacieru (nie podawaj jednostek) miscDialog Misc Database Baza dodatków Add selected ingredient to recipe Dodaj wybrany dodatek do receptury Add to Recipe Dodaj do receptury Create a new ingredient Utwórz nowy dodatek New Nowy Edit selected ingredient Edytuj wybrany dodatek Remove selected ingredient Usuń wybrany dodatek miscEditor Misc Editor Edytor dodatków Name Nazwa Type Typ Spice Przyprawa Fining Substancja klarująca Water Agent Uzdatnianie wody Herb Zioło Flavor Aromat Other Inny Use Użycie Boil Gotowanie Mash Zacieranie Primary Fermentacja Burzliwa Secondary Fermentacja Cicha Bottling Butlekowanie Time Czas Amount Ilość Check it if the amount listed is in kg instead of L. Zaznacz jeśli ilość podana jest w kg a nie w L. Amount is weight? Czy ilość jest wagą? Checked if the given amount is weight instead of volume Zaznacz jeśli podana ilość jest wagą a nie objętością Use for: Używane do: Notes: Notatki: namedMashEditor Named Mash Editor Mash Delete selected style Usuń wybrany styl Name Initial grain temp Pocz. temertatura słodu Sparge temp Temperatura wysładzania Sparge temp target Temperatura wysładzania Sparge pH pH wysładzania Notes Notatki Tun Kadź zacierna Initial tun temp Pocz. temperatura From Equipment Pobierz z ustawień sprzętu Tun mass Masa kadzi Tun sp. heat Ciepło wł. kadzi Tun specific heat (cal/(g*K)) Ciepło właściwe kadzi (cal/(g*K)) Add mash step Dodaj krok zacierania Remove selected mash step Usuń wybrany krok zacierania Mash step up Nastepna przerwa Mash step down Poprzednia przerwa ogAdjuster Adjust Volume to Hit OG Dopasuj objętość by uzyskać gęstość początkową Input Dane SG Gęstość przed gotowaniem (SG) Measured gravity pre-boil Gęstość zmierzona przed gotowaniem (SG) Temp Temp. Temperature of SG reading Temperatura odczytu gęstości Calibration Temp Temp. kalibracji Temp to which the hydrometer is calibrated Temperatura w której kallibrowany jest gęstościomierz -or- -lub- Plato Plato Plato (percent by mass of equivalent sucrose) Plato (procent masy ekwiwalent sacharozy) Pre-Boil Volume Objętość przed gotowaniem Measured pre-boil volume Zmierzona objętość przed gotowaniem Output Wynik OG w/o Correction Gęstość bez korekcji OG if you boil as planned Gęstość przy gotowaniu zgodnie z planem Add to Boil Dodaj do gotowania Amount of water you need to add to hit planned OG (or boil off if negative) Ilość wody którą musisz dodać aby uzyskać planowaną gęstość (lub odparować jeśli ujemne) Final Batch Size Końcowa wielkość warki Estimated batch size after correction Przybliżona wielkość warki po korekcie Calculate Wylicz optionsDialog Options Opcje Units Jednostki Weight Waga Use SI units Jednostki metryczne Use US traditional units Jednostki tradycyjne USA Use British imperial units Jednostki brytyjskie Temperature Temperatura Celsius Celsjusza Fahrenheit Fahrenheita Volume Objętość Gravity Gęstość 20C/20C Specific Gravity Jednostki SG 20C/20C Plato/Brix/Balling Plato/Brix/Blg Color Barwa Use SRM SRM Use EBC EBC Formulas Formuły wyliczeń Mosher's approximation Mosher Daniels' approximation Daniels Morey's approximation Morey IBU IBU Tinseth's approximation Tinseth Rager's approximation Rager IBU Adjustments % IBU adjustment Mash Hop First Wort Chmielenie przedniej brzeczki Directories Katalogi Database Directory Katalog bazy danych Where your brewtarget .xml files are. Położenie twoich plików .xml Browse Przeglądaj Default Domyślne Language Język Czech Czeski Catalan Kataloński German Niemiecki English Angielski Spanish Hiszpański French Francuski Italian Włoski Dutch Duński Polish Polski Portuguese Portugalski Russian <qt> <b>Know another language?</b> <br><br> Or, would you like to improve a translation? Help us out and <a href="https://sourceforge.net/sendmessage.php?touser=938941"> provide a translation</a> so that your friends can use brewtarget! </qt> <qt> <b>Używasz innego języka?</b> <br><br> Albo chciałbyć udoskonalić tlumaczenie? Pomóż nam i <a href="https://sourceforge.net/sendmessage.php?touser=938941"> zaproponuj tłumaczenie</a> aby twoi przjaciele mogli używać brewtarget! </qt> pitchDialog Pitch Rate Calculator Kalkilator ilości drożdży Input Dane Wort Volume Objętość brzeczki OG Gęstość początkowa (OG) For ales, 0.75-1. For lagers, 1.5-2. Dla ale: 0,75-1. Dla legerów: 1,5-2. Pitch Rate (M cells)/(mL*P) Ilość zadania (M komórki)/(mL*P) Aeration Method Metoda natleniania Yeast Production Date Data produkcji drożdży Yeast Viability Żywotność drożdży None Brak O2 At Start O2 na początku Stir Plate Mieszadło magnetyczne MM/dd/yyyy mm/dd/rrrr % % TextLabel Calculate Viability From Date Wylicz żywotność z daty # Vials/Smack Packs Pitched # Szaszetki/Fiolki Output Wynik Billions of Yeast Cells Required Miliardy komórek drożdżowych # Vials/Smack Packs w/o Starter # Szaszetki/Fiolki bez startera Dry Yeast Drożdże suche Starter Volume Objętość startera primingDialog Priming Calculator Kalkulator surowca do refermantacji Input Źródło Collected Beer Volume Ilość piwa Amount of beer to prime Ilość piwa do refermentacji Beer Temperature Temperatura piwa Temp of the beer Temperatura piwa Desired Volumes Docelowa zawartość CO2 How many volumes of CO2 you want (1 L CO2 @ STP per L beer) Jaka jest pożądana zawartość CO2 (1 L CO2 @ STP w L piwa) Glucose Monohydrate (corn sugar) Glukoza krystaliczna (glukoza, dekstroza, cukier kukurydziany) Anhydrous Glucose Glukoza bezwodna Sucrose (table sugar) Sacharoza (cukier stołowy) Dry Malt Extract Suchy ekstrakt słodowy Output Wynik Prime with Ilość surowca do refermentacji How much priming ingredient to use Ile użyć surowca do refermantacji Calculate Wylicz recipeExtrasDialog Recipe Extras Dodatkowe informacje o recepturze Brewer Piwowar Asst. Brewer Asystent piwowara Taste Rating Ocena smaku Primary Age (days) Pierwszorzędny wiek (dni) Primary Temp Pierwszorzędna temperatura Secondary Age (days) Drugorzędny wiek (dni) Secondary Temp Drugorzędna temperatura Tertiary Age (days) Trzeciorzędny wiek (dni) Tertiary Temp Trzeciorzędna temperatura Bottle/Keg Age (days) Długość leżakowania (dni) Bottle/Keg Temp Temperatura leżakowania Date First Brewed Data pierwszego warzenia dd MMM yyyy dd MMM yyyy Carbonation Volumes Zawartość CO2 Taste Notes Notatki z degustacji Notes Notatki Cancel Anuluj recipeExtrasWidget Form Postać Brewer Piwowar Asst. Brewer Asystent piwowara Taste Rating Ocena smaku Primary Age (days) Fermentacja burzliwa (dni) Primary Temp Temp. fermentacji burzliwej Secondary Age (days) Fermentacja cicha (dni) Secondary Temp Temp. fermentacji cichej Tertiary Age (days) Trzecia fermentacja (dni) Tertiary Temp Temp. trzeciej fermentacji Bottle/Keg Age (days) Długość leżakowania (dni) Bottle/Keg Temp Temperatura leżakowania Date First Brewed Data pierwszego warzenia dd MMM yyyy dd MMM yyyy Carbonation Volumes Zawartość CO2 Taste Notes Notatki z degustacji Notes Notatki refractoDialog Refractometer Tools Narzędzia refraktometru Inputs Dane Original Plato Oryginalne Plato OG (20 C) Gęstość (20 C) Current Plato Aktualne Plato Calculate Wylicz Outputs Wyniki SG (20C) Gęstość SG (20 C) ABV Alkohol (ABV) ABW Alkohol wagowo (ABW) Refractive Index Indeks refrakcyjny Real Extract (Plato) Prawdziwy ekstrakt (Plato) OG (20C) Gęstość OG (20 C) scaleRecipeTool Scale Recipe Skaluj recepturę New batch size Nowa wielkość warki New efficiency (pct) Nowa wydajność (%) styleEditor Style Editor Edytor stylu Style Styl Delete selected style Usuń wybrany styl Basic Information Informacje podstawowe Name Nazwa Category Kategoria Category number Numer kategorii Style letter Litera stylu Style guide Przewodnik stylu Type Typ Type of beverage Gatunek piwa Lager Lager Ale Ale Mead Miodowe Wheat Pszeniczne Mixed Mieszane Cider Cydr Vital Statistics Statystki życiowe Max Maks. Min Min. OG OG FG FG IBUs IBU Color (SRM) Barwa (SRM) Carb (vols) Nagazowanie (vol) ABV (pct) Alkohol (procent) Profile Profil Ingredients Składniki Examples Przykłady Notes Notatki New Nowy Save Zapisz Cancel Anuluj timerListDialog Timers Minutniki timerWidget Form Forma Set the timer to the specified value Ustaw minutnik na odpowiednią wartość Set Ustaw HH:MM:SS HH:MM:SS Start/Stop timer Uruchom/Zatrzymaj minutnik Start Uruchom Set a sound as the alarm Ustaw dźwięk alarmu Sound Dźwięk waterEditor Dialog Dialog Name Nazwa Notes Notatki yeastDialog Yeast Database Baza drożdży Add selected yeast to recipe Dodaj wybrane drożdże do receptury Add to Recipe Dodaj do receptury Create new yeast Utwórz nowe drożdźe New Nowe Edit selected yeast Edytuj wybrane drożdże Remove selected yeast Usuń wybrane drożdże yeastEditor Yeast Editor Edytor drożdży Required Fields Wymagane pola Name Nazwa Type Typ Ale Ale Lager Lager Wheat Pszenica Wine Wino Champagne Szampan Form Postać Liquid Płynne Dry Suche Slant Skos Culture Gęstwa Amount Ilość Check it if the amount given is in kg instead of L. Zaznacz jeśli ilość podana jest w kg a nie w L. Amount is weight? Czy ilość jest wagą? Checked if the given amount is weight instead of volume Zaznacz jeśli podana ilość jest wagą a nie objętością Lab Laboratorium Product ID ID produktu Min Temp Min. Temp. Min temp Min. temp. Max Temp Maks. Temp. Max temp Maks. temp. Flocculation Flokulacja Low Niska Medium Średnia High Wysoka Very High Bardzo wysoka Attenuation (%) Żywotność (%) Apparent attenuation as percentage of OG points Żywotność jako procent punktów OG Times Recultured Ilość pokoleń Times this yeast has been recultured Które pokolenie drożdży Max Recultures Maks. pokoleń Max recultures Maksymalna ilość pokoleń Add to Secondary Dodawane do fermentacji cichej Checked means add this yeast to secondary instead of primary Oznacza, że te drożdże dodawane są do fermentacji cichej Best For: Ważność: Notes: Notatki: brewtarget-2.0.2/translations/bt_es.ts0000644000175000017500000053157112266512175017425 0ustar philipphilip BrewDayScrollWidget Style Estilo Date Fecha Boil Time Tiempo de Ebullición Efficiency Eficiencia Boil Volume Volumen de hervido Preboil Gravity Densidad antes del hervido Final Volume Volumen Final Starting Gravity Densidad Inicial IBU IBU Final Gravity Densidad Final ABV APV Estimated calories(per 12 oz) Calorías estimadas (por 12 oz) Instructions Instrucciones Completed Completado Time Tiempo Step Paso Actual PreBoil Volume Volumen Real Pre-Hervido Actual PreBoil Gravity Densidad Real Pre-Hervido PostBoil Volume Volumen Post-Hervido PostBoil Gravity Densidad Post-Hervido Volume into fermenter Volumen incorporado al ermentador Print Document Imprimir Documento <h2>Notes</h2> <h2>Notas</h2> Step %1: %2 Paso %1: %2 Add grains Agregar el grano Heat water Calentar el agua BrewDayWidget Style Estilo Date Fecha Boil Volume Volumen de hervido Preboil Gravity Densidad Pre-Hervor Final Volume Volumen final Starting Gravity Densidad Inicial Boil Time Tiempo de hervido IBU IBU Predicted Efficiency Eficiencia Estimada Estimated calories (per 12 oz) Calorías estimadas (por 12 oz) Instructions Instrucciones Completed Completado Time Tiempo Step Paso Actual Pre-boil Volume: Volumen Real Pre-Hervido Actual Pre-boil Gravity: Densidad Real Pre-Hervido Post-boil Volume: Volumen Post-Hervido Post-boil Gravity: Densidad Post-Hervido Volume in fermenter: Volumen en el fermentador: Print Document Imprimir Documento Notes Notas Step %1: %2 Paso %1: %2 BrewTargetTreeModel Name Nombre Brew Date Fecha de Cocción Style Estilo Boil Time Tiempo de hervido Color Color Type Tipo Use Uso Form Forma Category Categoría Number Número Letter Letra Guide Guía BrewTargetTreeView New Recipe Receta Nueva Brew It! ¡Hazlo! Brew Again Hacer de Nuevo Delete Borrar New Equipment Equipo Nuevo New Fermentable Fermentable Nuevo New Hop Lúpulo Nuevo New Misc Misc Nuevo New Yeast Levadura Nueva Copy Copiar Export Exportar Import Importar Change date Cambiar fecha New Style Estilo nuevo Recalculate eff Recalcular eficiencias Brewtarget Default Predeterminado EBC EBC SRM SRM Plato Plato Specific Gravity Densidad SI SI US Customary EE.UU. Milligrams Miligramos Grams Gramos Kilograms Kilogramos Ounces Onzas Pounds Libras Celsius Centígrado Fahrenheit Fahrenheit British Imperial Británicas MilliLiters Mililitros Liters Litros Teaspoons Cucharaditas Tablespoons Cucharadas Cups Tazas Quarts Cuartos Gallons Galones BtDigitWidget Too low for style. Demasiado bajo para el estilo. In range for style. Correcto para el estilo. Too high for style. Demasiado alto para el estilo. Database Merge Database Unir Bases de Datos There may be new ingredients and recipes available. Would you like to add these to your database? Puede haber recetas e ingredientes nuevos disponibles. ¿Te gustaría añadirlos a la base de datos? EquipmentEditor Grain absorption (%1/%2) Absorción del Grano (%1/%2) Tun Volume Warning Precaución con el volumen del Macerador Batch Size Warning Precaución con el volumen del Lote Equipment name Nombre del equipo Equipment name: Nombre del equipo: The tun volume you entered is 0. This may cause problems El volumen del macerador ingresado es 0. Esto puede causar problemas The batch size you entered is 0. This may cause problems El tamaño de lote ingresado es 0. Esto puede causar problemas Hop Utilization Warning Advertencia de Utilización de Lúpulo The hop utilization percentage you entered is 0. This may cause problems El porcentaje de utilización del lúpulo ingresado es 0. Esto puede causar problemas FermentableDialog Fermentable name Nombre del Fermentable Fermentable name: Nombre del Fermentable: FermentableItemDelegate Grain Grano Sugar Azúcar Extract Extracto Dry Extract Extracto Seco Adjunct Adjunto FermentableTableModel Bad model index. row = %1 Error de índice de modelo. Fila =%1 Mashed Macerado Steeped Remojado Not mashed No macerado Late Tardío Normal Normal Bad column: %1 Error en columna: %1 Name Nombre Type Tipo Amount Cantidad Late Addition Adición Tardía Yield % Potencial de extracto % Color (SRM) Color (SRM) Color (EBC) Color (EBC) Hop Mash Maceración First Wort First Wort Boil Hervir Aroma Aroma Dry Hop Dry Hop Bittering Amargor Both Ambas Leaf Flor Pellet Pellet Plug Tableta HopDialog Hop name Nombre de lúpulo Hop name: Nombre de lúpulo: HopItemDelegate Boil Hervir Dry Hop Dry Hop Mash Maceración First Wort First Wort Aroma Aroma Leaf Flor Pellet Pellet Plug Tableta HopTableModel Name Nombre Alpha % Alfa % Amount Cantidad Use Uso Time Tiempo Form Forma MainWindow Open Abrir BeerXML files (*.xml) Archivos BeerXML (*.xml) Save Guardar Equipment request Solicitud de equipo Would you like to set the batch size, boil size and time to that requested by the equipment? ¿Quieres cambiar las cantidades de lote, tamaño de hervido y tiempo a las que pide el equipaje? Delete %1 Borrar %1 Delete %1 %2? Borrar %1 %2? HTML files (*.html) Archivos HTML (*.html) New Nuevo Recipe Receta Equipment Equipo Fermentable Fermentable Hop Lúpulo Miscellaneous Misc Yeast Levadura Copy %1 Copiar %1 Enter a unique name for the copy of %1. Introduzca un nombre único para la copia de %1. Copy Equipment Copiar Equipo Copy Fermentable Copiar Fermentable Copy Hop Copiar Lúpulo Copy Miscellaneous Copiar Misc Copy Yeast Copiar Levadura Database Update Actualizar la Base de Datos You are about to update the current database with another one. This may make changes to (but will not delete) some of your ingredients. It will not modify any of your recipes. Continue? Estás por actualizar la base de datos a una nueva. Esto puede producir cambios en algunos de tus ingredientes (pero no los borrará). No modificará ninguna de tus recetas. ¿Continuar? Select Database File Elegir Archivo de la Base de Datos Brewtarget Database (*.sqlite) Base de Datos Brewtarget (*.sqlite) Recipe name Nombre de receta Recipe name: Nombre de receta: Backup Database Respaldar base de datos Oops! ¡Uups! Could not copy the files for some reason. Por algun razón, no se pudo copiar los archivos. A Warning Precaución This will obliterate your current set of recipes and ingredients. Do you want to continue? Esto borrará tus recetas e ingredientes actuales. ¿Quieres continuar? For some reason, the operation failed. Por alguna razón, la operación falló. Import %1? ¿Importar %1? No mash No macerado Trying to add a mash step without a mash. Please create a mash first. Estás tratando de agregar un paso de macerado sin ninguna maceración. Por favor crea una maceración primero. Copy Recipe Copiar Receta Enter a unique name for the copy. Introduzca un nombre único para la copia. Please give your mash a name before saving. Por favor dale un nombre a la maceración antes de guardar. Restart Reiniciar Please restart Brewtarget. Por favor reinicia Brewtarget No equipment Ningún Equipo You must select or define an equipment profile first. Debes seleccionar o definir un perfil de equipo primero. No style Ningún estilo You must select a style first. Debes seleccionar un estilo primero. Choose File Seleccione archivo SQLite (*.sqlite) SQLite (*.sqlite) Style Estilo Copy Style Copiar Estilo The database has been converted/upgraded. La base de datos ha sido convertida/actualizada. The original XML files can be found in El archivo XML original se puede encontrar en The import contained invalid beerXML. It has been imported, but please make certain it makes sense. MaltinessWidget <b>Cloying</b> <b>Empalagosa</b> <b>Extra malty</b> <b>Extra maltosa</b> <b>Slightly malty</b> <b>Ligeramente maltosa</b> <b>Balanced</b> <b>En equilibrio</b> <b>Slightly hoppy</b> <b>Ligeramente amarga</b> <b>Extra hoppy</b> <b>Extra amarga</b> <b>Way hoppy</b> <b>Muy amarga</b> MashDesigner No Fermentables No Hay Fermentables Your recipe must have fermentables to design a mash. La receta debe de tener algún fermentable para diseñar una maceración. No Equipment Ningún Equipo configurado You have not set an equipment for this recipe. We really cannot continue without one. No configuraste un equipo a la receta. No podemos seguir sin él. Tun Temp Temperatura del Macerador Enter the temperature of the tun before your first infusion. Introduzca la temperatura del macerador antes de la primera infusión. Decoction error Error de Decocción The first mash step cannot be a decoction. El primer paso de la maceración no puede ser una decocción. MashStepTableModel Bad model index. row = %1 Error de índice de modelo. Fila =%1 Bad column: %1 Error en columna: %1 Name Nombre Type Tipo Amount Cantidad Infusion Temp Temperatura de Infusión Target Temp Temperatura Deseada Time Tiempo MashWizard Mash thickness (%1/%2) Relación agua-granos (%1/%2) Bad thickness Relación agua-grano erronea You must have a positive mash thickness. La relación agua-grano tiene que ser positiva. No steps Ningún paso There must be at least one mash step to run the wizard. Debe haber al menos un paso de maceración para ejecutar el asistente. First step Primer paso Your first mash step must be an infusion. El primer paso de maceración tiene que ser una infusión. Mash too thick Maceración demasiada espesa Your mash is too thick for desired temp. at first step. La maceración está demasiado espesa para la temperatura deseada en el primer paso. Decoction error Error de Decocción Something went wrong in decoction calculation. Algo no funcionó en el cálculo de la decocción. Sparge temp. Temp de lavado In order to hit your sparge temp, the sparge water must be above boiling. Lower your sparge temp, or allow for more sparge water. Para alcanzar la temperatura de lavado, el agua debe estar por encima del punto de ebullición. Baja la temperatura de lavado, o usa más agua para el lavado. Too much wort Demasiado mosto You have too much wort from the mash for your boil size. I suggest increasing the boil size by increasing the boil time, or reducing your mash thickness. Tienes demasiado mosto del macerado para hervir. Te sugiero que aumentes el tiempo de hervido, o reduce la relación agua-granos en la maceración. MiscDialog Misc name Nombre de misc Misc name: Nombre de misc: MiscItemDelegate Spice Especia Fining Aclarador Water Agent Agente para Agua Herb Hierba Flavor Sabor Other Otro Boil Hervir Mash Maceración Primary Primario Secondary Secundario Bottling Embotellar MiscTableModel Name Nombre Type Tipo Use Uso Time Tiempo Amount Cantidad Weight Peso Volume Volumen Amount Type Tipo de Cantidad OptionDialog Open Directory Abrir Carpeta Copy Data Copiar Datos There do not seem to be any data files in this directory, so we will copy your old data here. Parece que no hay archivos de datos en esta carpeta, así que copiaremos los datos viejos aquí. Restart Reiniciar Please restart Brewtarget. Por favor reinicia Brewtarget QObject Invalid color formula type: %1 Tipo de fórmula de color inválido: %1 Unrecognized IBU formula type. %1 Tipo de fórmula de IBUs no reconocido. %1 Batch Size: %1 Tamaño de Lote: %1 Boil Size: %1 Tamaño de Hervido: %1 Boil Time: %1 Tiempo de hervido: %1 OG: %1 DI: %1 FG: %1 DF: %1 Bitterness: %1 IBUs (%2) Amargor: %1 IBU (%2) Color: %1 SRM (%2) Color: %1 SRM (%2) Fermentables Fermentables Name Nombre Type Tipo Amount Cantidad Mashed Macerado Late Tardío Yield Potencial de extracción Color Color Yes No No Total grain: %1 Total de granos: %1 Hops Lúpulos Alpha Alfa Use Uso Time Tiempo IBU IBU Misc Misc Yeast Levadura Form Forma Stage Etapa Secondary Secundario Primary Primario Mash Maceración Temp Temp Target Objetivo Notes Notas Instructions Instrucciones Directory Problem Problema con la Carpeta "%1" cannot be read. "%1" no se puede leer. Config directory "%1" cannot be read. Carpeta de configuración "%1% no se puede leer. New Version Versión Nueva Version %1 is now available. Download it? La versión %1 se encuentra disponible. ¿La quieres bajar? Stop bothering you about new versions? ¿No te molestamos más por la versión nueva? Database Failure Fallo de la Base de Datos Failed to open the database '%1'. No se pudo abrir la base de datos '%1'. Save Database Changes Guardar Cambios a la Base de Datos Would you like to save the changes you made? ¿Te gustaría guardar los cambios? Multiple Databases Found Varias Bases de Datos Hallados Multiple databases were found. Do you want to restore the changes you made during your last Brewtarget session, or rollback to before last session's changes? Varias bases de datos fueron halladas. ¿Te gustaría reestablecer los cambios hechos durante la última sesión de Brewtarget, o volver a antes de los cambios de la última sesión? Restore Reestablecer Rollback Volver Atrás Failed to remove the temporary backup database. Navigate to '%1' and remove 'tempBackupDatabase.sqlite'. Fallo al remover la base de datos temporaria. Navegar a '%1' y remover 'tempBackupDatabase.sqlite'. Failed to rollback to the backup database. Navigate to '%1', remove 'database.sqlite' if it exists, and rename 'tempBackupDatabase.sqlite' to 'database.sqlite'. Fallo al recuperar la base de datos temporaria. Navegar a '%1', remover 'database.sqlite' si existe, y renombrar 'tempBackupDatabase.sqlite' a 'database.sqlite'. Database Restore Failure Falló la Restitución de la Base de Datos Failed to restore the backup database. Navigate to '%1' and rename 'tempBackupDatabase.sqlite' to 'database.sqlite'. Fallo al restituir la base de datos. Navegar a '%1' y renombrar 'tempBackupDatabase.sqlite' a 'database.sqlite'. Grain Grano Sugar Azúcar Extract Extracto Dry Extract Extracto Seco Adjunct Adjunto Boil Hervir Mash Maceración Infusion Infusión Temperature Temperatura Decoction Decocción Bottling Embotellar Spice Especia Fining Aclarador Water Agent Agente para Agua Herb Hierba Flavor Sabor Other Otro Ale Ale Lager Lager Wheat Trigo Wine Vino Champagne Champagne Liquid Líquida Dry Seca Slant Tubo Culture Cultivo Low Bajo Medium Medio High Alto Very High Muy Alto Recipes Recetas Equipment Equipo Fermentables Fermentables Hops Lúpulos Miscellaneous Misc Yeast Levadura Efficiency: %1% Eficiencia: %1% ABV: %1% APV: %1% Style Estilo Recipe Add grains Agregar el grano Add Agregar to the mash tun. al macerador. Heat water Calentar el agua Bring Calentar %1 water to %2, %1 de agua a %2, for upcoming infusions. para las proximas infusiones. Add %1 water at %2 to mash to bring it to %3. Agregar %1 de agua a %2 a la maceración para calentar a %3. Heat mash to %1. Calentar la maceración a %1. Bring %1 of the mash to a boil and return to the mash tun to bring it to %2. Calentar %1 del contenido del macerador hasta que hierva y devolverlo a la olla de maceración para alcanzar %2. Hold for %1. Mantener por %1. Put %1 %2 into boil for %3. Poner %1 %2 al hervor por %3. Put %1 %2 into fermenter for %3. Agregar %1 %2 al fermentador por %3. Put %1 %2 into first wort for %3. Agregar %1 %2 al primer mosto por %3. Put %1 %2 into mash for %3. Agregar %1 %2 en la maceración por %3. Steep %1 %2 in wort for %3. Remojar %1 %2 en el mosto por %3. Use %1 %2 for %3 Usar %1 %2 por %3 Hop addition Adición de lúpulo Use %1 %2 at bottling for %3. Usar %1 %2 al embotellar por %3. Put %1 %2 into primary for %3. Agregar %1 %2 al primario por %3. Put %1 %2 into secondary for %3. Agregar %1 %2 al secundario por %3. Use %1 %2 for %3. Usar %1 %2 por %3. Misc addition Adición de misc Do first wort hopping with Hacer first wort hoppin con First wort hopping First wort hopping You should now have %1 wort. Deberías tener %1 de mosto. Add %1 water to the kettle, bringing pre-boil volume to %2. Agregar %1 de agua a la olla, llevando el volumen a %2 antes de hervir. Pre-boil Antes de hervir Boil or steep Hervir o remojar Boil/steep fermentables Hervir/remojar fermentables to the boil at knockout. al hervor al fin. Knockout additions Adiciones finales You should have %1 wort post-boil. Deberías tener %1 de mosto despues de hervir. You anticipate losing %1 to trub and chiller loss. Esperas perder %1 al sedimento y al enfriador.. Add %1 top up water into primary. Agregar %1 de agua al primario. The final volume in the primary is %1. El volumen final en el primario es %1. Post boil Despúes de hervir Boil time Tiempo de hervido You did not configure an equipment (which you really should), so tell me the boil time. No configuraste ningún equip (lo que deberías hacer), así que dime el tiempo de hervido. Bring the wort to a boil and hold for %1. Llevar el mosto a hervor y mantener por %1. Start boil Empezar el hervido Flameout Fin de Ebullición Stop boiling the wort. Parar de hervir. Cool wort and pitch Enfriar el mosto y añadir %1 %2 yeast, %1 %2 de levadura, to the primary. al primario. Pitch yeast Agregar levadura Let ferment until FG is %1. Dejar fermentar hasta que la DF sea %1. Ferment Fermentar Transfer beer to secondary. Trasladar cerveza al secundario. Transfer to secondary Trasladar al secundario Add %1 %2 to boil at %3. Agregar %1 %2 al hervor a %3. Raise water to boil and then remove from heat. Stir in Hervir el agua y quitar del fuego. Revolver Add Extracts to water Agregar Extractos al agua %1 water to %2 %1 de agua a %2 RecipeFormatter unknown style estilo desconocido N/A N/A Brewer Maestro cervecero Date Fecha Batch Size Tamaño del lote Boil Size Tamaño del hervido Boil Time Tiempo de hervido Efficiency Eficiencia OG DI FG DF Unknown Desconocido ABV APV Bitterness Amargor Color Color Calories (per 12 oz.) Calorías (por 12 oz) Fermentables Fermentables Total grain: Total granos: Name Nombre Type Tipo Amount Cantidad Mashed Macerado Late Tardío Yield Rendimiento Yes No No Hops Lúpulos Alpha Alfa Use Uso Time Tiempo Form Forma IBU IBU Misc Misc Yeast Levadura Stage Etapa Secondary Secundario Primary Primario Mash Maceración Temp Temp Target Temp Temp. Deseada Notes Notas Instructions Instrucciones Brew Date Fecha de Preparación Preboil Antes de hervir SG Gravedad específica Volume into BK Volumen en la olla de hervido Strike Temp Temp de Salto Final Temp Temp Final Eff into BK Eficiencia en la olla Projected OG Densidad Proyectada Postboil Despúes de hervir Postboil Volume Volumen después de hervir Volume Into Fermenter Volumen en el fermentador Brewhouse Eff Eficiencia Total Projected ABV APV Proyectado Postferment Despues de fermentar Volume Volumen Print Document Imprimir Documento RefractoDialog OG Mismatch DF no concuerda Based on the given original plato, the OG should be %1, but you have entered %2. Continuing with the calculated OG. Basado en la densidad Plato original, la DF debería ser %1, pero pusiste %2. Siguiendo con la DF calculada. ScaleRecipeTool Recipe Scaled Receta Escalada The mash has been reset due to the fact that mash temperatures do not scale easily. Please re-run the mash wizard. La maceración se ha reiniciado por el hecho que las temperaturas de la maceración no se ajustan facilmente. Favor de reiniciar el asistente de maceración. The equipment and mash have been reset due to the fact that mash temperatures do not scale easily. Please re-run the mash wizard. El equipo y la maceración se han reiniciado debido al hecho que las temperaturas de la maceración no se escalan facilmente. Favor de reiniciar el asistente de la maceración. StyleEditor Style name Nombre del estilo Style name: Nombre del estilo: TimerWidget Open Sound Abrir Sonido Audio Files (*.wav *.ogg *.mp3 *.aiff) Archivos Audio (*.wav *.ogg *.mp3 *.aiff) Stop Parar Start Empezar WaterTableModel Bad model index. row = %1 Bad model index. row = %1 Bad column: %1 Bad column: %1 Name Nombre Amount Cantidad Calcium (ppm) Calcio (ppm) Bicarbonate (ppm) Bicarbonato (ppm) Sulfate (ppm) Sulfato (ppm) Chloride (ppm) Cloruro (ppm) Sodium (ppm) Sodio (ppm) Magnesium (ppm) Magnesio (ppm) YeastDialog Yeast name Nombre de levadura Yeast name: Nombre de levadura: YeastItemDelegate Ale Ale Lager Lager Wheat Trigo Wine Vino Champagne Champán Liquid Líquida Dry Seca Slant Pendientes Culture Cultivo YeastTableModel Bad model index. row = %1 Bad model index. row = %1 Bad column: %1 Bad column: %1 Name Nombre Type Tipo Form Forma Amount Cantidad Laboratory Laboratorio Product ID No. ID aboutDialog About Brewtarget Sobre Brewtarget <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'DejaVu Sans'; font-size:9pt; font-weight:400; font-style:normal;"> <p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:20pt;">Brewtarget %1</span></p> <p style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Brewtarget, for developing beer recipes.</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Copyright 2009-2013 by the developers below.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier'; font-weight:600; text-decoration: underline;">Developers</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Peter Buelow</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Dan Cavanagh</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Mik Firestone</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Philip G. Lee &lt;rocketman768@gmail.com&gt;</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier'; font-weight:600; text-decoration: underline;">Copyright (GPLv3)</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Brewtarget is free software: you can redistribute it and/or modify</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">it under the terms of the GNU General Public License as published by</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">the Free Software Foundation, either version 3 of the License, or</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">(at your option) any later version.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Brewtarget is distributed in the hope that it will be useful,</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">but WITHOUT ANY WARRANTY; without even the implied warranty of</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">GNU General Public License for more details.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">You should have received a copy of the GNU General Public License</span></p> <p style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">along with Brewtarget. If not, see &lt;</span><a href="http://www.gnu.org/licenses/"><span style=" font-family:'Courier New,courier'; text-decoration: underline; color:#0000ff;">http://www.gnu.org/licenses/</span></a><span style=" font-family:'Courier New,courier';">&gt;.</span></p> <p style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier'; font-weight:600; text-decoration: underline;">Source Code</span></p> <p style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Brewtarget's source code can be downloaded at </span><a href="http://brewtarget.sourceforge.net"><span style=" font-family:'Sans Serif'; text-decoration: underline; color:#0057ae;">brewtarget.sourceforge.net</span></a><span style=" font-family:'Sans Serif';">.</span></p> <p style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier'; font-weight:600; text-decoration: underline;">Special Thanks</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Guido Carpi (Italian translation)</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Ester (Catalan translation)</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Marc Cote (French translation)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Pawel Fiedor (Polish translation)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Admiro (Polish translation)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Edu Engler (Portuguese translation)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Jan Grmela (Czech translation)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Randy Brace (alpha tester)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://finalgravitypodcast.com"><span style=" font-family:'Sans Serif'; text-decoration: underline; color:#0057ae;">Final Gravity Podcasts</span></a></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Glenn Tinseth &lt;</span><a href="http://www.realbeer.com/hops"><span style=" text-decoration: underline; color:#0000ff;">http://www.realbeer.com/hops</span></a><span style=" font-family:'Courier New,courier';">&gt;</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">server, printer, edit-copy, document-print-preview and merge images from Oxygen theme (CC license)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">backup image from Nuvola theme (LGPL)</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'DejaVu Sans'; font-size:9pt; font-weight:400; font-style:normal;"> <p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:20pt;">Brewtarget %1</span></p> <p style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Brewtarget, para desarrollar recetas de cerveza.</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Copyright 2009-2013 por los desarolladores aqui debajo.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier'; font-weight:600; text-decoration: underline;">Desarrolladores</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Peter Buelow</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Dan Cavanagh</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Mik Firestone</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Philip G. Lee &lt;rocketman768@gmail.com&gt;</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier'; font-weight:600; text-decoration: underline;">Copyright (GPLv3)</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Brewtarget es software libre: podes redistribuirlo y/o modificarlo</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">bajo los terminos de la GNU General Public License publicada por</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">la Free Software Foundation, ya sea la version 3, o</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">(a su eleccion) cualquier version posterior.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Brewtarget se distribuye con la esperanza de que sea util,</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">pero SIN NINGUNA GARANTIA; ni siquiera la garantia implicita de </span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">COMERCIALIZACION or ADECUACION PARA UN PROPOSITO PARTICULAR. Consulte la</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">GNU General Public License para mas detalles.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Usted deberia haber recibido una copia de la licencia GNU General Public License</span></p> <p style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">junto con Brewtarget. Si no es asi, visite &lt;</span><a href="http://www.gnu.org/licenses/"><span style=" font-family:'Courier New,courier'; text-decoration: underline; color:#0000ff;">http://www.gnu.org/licenses/</span></a><span style=" font-family:'Courier New,courier';">&gt;.</span></p> <p style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier'; font-weight:600; text-decoration: underline;">Source Code</span></p> <p style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">El codigo fuente de Brewtarget puede ser descargado de </span><a href="http://brewtarget.sourceforge.net"><span style=" font-family:'Sans Serif'; text-decoration: underline; color:#0057ae;">brewtarget.sourceforge.net</span></a><span style=" font-family:'Sans Serif';">.</span></p> <p style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier'; font-weight:600; text-decoration: underline;">Agradecimientos Especiales</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Guido Carpi (Traduccion al Italiano)</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Ester (Traduccion al Catalan)</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Marc Cote (Traduccion al Frances)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Pawel Fiedor (Traduccion al Polaco)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Admiro (Traduccion al Polaco)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Edu Engler (Traduccion al Portugues)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Jan Grmela (Traduccion al Checo )</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Randy Brace (Probador de version alfa)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://finalgravitypodcast.com"><span style=" font-family:'Sans Serif'; text-decoration: underline; color:#0057ae;">Final Gravity Podcasts</span></a></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Glenn Tinseth &lt;</span><a href="http://www.realbeer.com/hops"><span style=" text-decoration: underline; color:#0000ff;">http://www.realbeer.com/hops</span></a><span style=" font-family:'Courier New,courier';">&gt;</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">server, printer, edit-copy, document-print-preview and merge images from Oxygen theme (CC license)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">backup image from Nuvola theme (LGPL)</span></p></body></html> Donate Donar brewDayScrollWidget Form Forma Generate Instructions Hacer Instrucciones Insert step Introducir un paso Name Nombre Name of new step Nombre del paso nuevo Step # # del paso The number where the new step should be placed El numero en donde el paso debería estar colocado Insert the new step Introducir el paso nuevo Move steps Colocar Pasos Move currently selected step up Mover paso seleccionado para arriba Move currently selected step down Mover paso seleccionado para abajo Remove currently selected step Remover paso seleccionado brewDayWidget Brewday Mode Modo Brewday Instructions Instrucciones Move currently selected step up Mover paso seleccionado arriba Up Arriba Move currently selected step down Mover paso seleccionado abajo Down Abajo Remove currently selected step Remover paso seleccionado Remove Remover Insert step Introducir un paso Name Nombre Name of new step Nombre del paso nuevo Step # # del paso The number where the new step should be placed El numero en donde el paso debería estar colocado Insert the new step Introducir el paso nuevo Insert Introducir brewNoteWidget Form Forma Preboil Antes de hervir SG Densidad Preboil gravity Densidad antes de la Ebullición Volume Volumen Volume of wort collected Volumen de wort coleccionado Strike Temp Temp de la infusión Temperature of mash after dough in Temp de la maceración despues de la primera infusión Final Temp Temp Final Temperature of mash before mash out Temp de la maceración al final Postboil Despues de hervir OG DI Post boil gravity Densidad después de la ebullición Postboil Volume Volumen después de la ebullición Volume of wort in BK after boil Volumen de wort en el calderón despues de hervir Volume of wort transferred to fermenter Volumen del wort traslado al fermentador Volume into fermenter Volumen en el fermentador Pitch Temp Temp Inicial Temperature of wort when yeast is pitched Temp del wort antes de ponerle levadura Postferment Despues de fermentar Final gravity Densidad Final Volume of beer into serving keg/bottles Volumen de cerveza en botellas o barrillito Date when the yeast fermented out Fecha cundo la levadura se terminó percent efficiency into boil kettle Eficiencia en el calderón Eff into BK Ef. en el Calderón Expected OG, based on measure fg Densidad inicial predijo basado en densidad final medido Projected OG DI Predijo Brewhouse efficiency Eficiencia total Brewhouse Eff Ef. Total Expected ABV based on OG APV predijo basado en el DI Projected ABV APV Predijo ABV based on FG APV basado en DF ABV APV Notes Notas btSplashScreen Form Forma converterTool Converter Tool Convertidor Input Entrada Amount and units to convert Cantidad y unidad para convertir Output Units Unidad del resulto Unit you want to convert to Unidad al cual quieres convertir Output Resulto Output conversion Conversion del resulto Convert Convertir equipmentEditor Equipment Editor Editor de Equipaje Equipment Equipaje Remove equipment Remover equipaje Set as Default Poner como defecto Required Fields Datos Mandatarios Name Nombre Pre-boil volume Volumen antes de la ebullición If checked, we will calculate your pre-boil volume based on your desired batch size, boil time, evaporation rate, losses, etc. Si está seleccionado, calcularemos el volumen antes de la ebullición basado en el tamaño de lote deseado, tiempo de ebullición, tasa de evaporación, pérdidas, etc. Calculate pre-boil volume Calcular volumen antes del la ebullición Automatically fill in pre-boil volume Automaticamente calcular el volumen antes de la ebullición Batch size Tamaño del lote Boiling && Water Hervor && Agua Boil time Tiempo de ebullición Evaporation rate (per hr) Tasa de evaporación (por hr) How much water boils off per hour Cantidad de agua que evapora por hora Kettle top-up water Agua agregada a la olla How much water is added to kettle immediately pre-boil Cantidad de agua que se agrega a la olla inmediatamente antes de la ebullición Final top-up water Agua agregada al fin Water added to fermenter Cantidad de agua que se agrega al fermentador Grain Absorption (L/kg) Absorción de Granos (L/kg) Default Absorption Absorción por defecto Boiling Point of Water Punto de ebullición Hop Utilization Utilización Mash Tun Cuba de Maceración Volume Volumen Volume of mash tun El volumen de la cuba Mass Masa Mass or weight of mash tun La masa o el peso de la cuba Specific heat (cal/(g*K)) Calor específico (cal/(g*K)) Losses Pérdidas Kettle to fermenter Olla al fermentador Wort lost between kettle and fermenter Caldo perdido entre la olla y el fermentador Lauter deadspace Espacio inútil en la cuba Volume of wort lost to lauter deadspace Volumen del caldo perdido a la cuba Notes Notas New equipment Equipaje nuevo Save Guardar Cancel Cancelar fermentableDialog Fermentable Database Base de datos para fermentables Add selected ingredient to recipe Agregar ingrediente seleccionado a la receta Add to Recipe Agregar a Receta Create new ingredient Crear un ingrediente nuevo New Nueva Edit selected ingredient Editar ingrediente seleccionado Remove selected ingredient Remover ingrediente seleccionado fermentableEditor Fermentable Editor Editor de Fermentables Required Fields Datos Mandatarios Name Nombre Type Tipo Grain Grain Sugar Azúcar Extract Extracto Dry Extract Extracto Seco Adjunct Adjunto Amount Cantidad Yield (%) Rendimiento (%) Yield as compared to glucose Rendimiento relativo a la glucosa Lovibond Color (Lovibond) Lovibond rating Color Lovibond Add After Boil Agregar despues de hervir This ingredient is added post boil. El ingrediente se agrega despues de hervir. Origin Origen Supplier Proveedor Coarse/Fine Diff (%) Dif. Grueso/Fino (%) Yield difference between coarse and fine grind Diferencia de rendimiento entre grano grueso y fino Moisture (%) Humedad (%) Moisture percentage by mass Porcentaje de humedad por masa DP (Lintner) PD (Lintner) Diastatic power in Lintner Poder diastásico en Lintner Protein (%) Proteinas (%) Protein percentage by mass Porcentaje de proteinas por masa Max In Batch (%) Max en Lote (%) Maximum recommended percentage of total grist Porcentaje máximo recomendado del total Recommend Mash Maceración Recomendado Recommend this be mashed Se recomienda que se macere Is Mashed Macerado Checked if it is present in mash Si está en la maceración Bitterness (IBU*gal/lb) Amargor (IBU*gal/lb) Bitterness of pre-hopped extracts Amargor de los extractos con lúpulo Notes: Notas: hopDialog Hop Database Base de datos para Lúpulos Add selected ingredient to recipe Agregar ingrediente seleccionado a la receta Add to Recipe Agregar a Receta New hop Lúpulo nuevo New Nuevo Edit Editar Remove Remover hopEditor Hop Editor Editor de Lúpulos Required Fields Datos Mandatarios Name Nombre Alpha (%) Alfa (%) Alpha acids as percent by mass Porcentaje de ácidos alfas por masa Amount Cantidad Amount Cantidad Use Uso Mash Maceración First Wort First Wort Boil Hervor Aroma Aroma Dry Hop Dry Hop Time Tiempo Type Tipo Bittering Amargor Both Los dos Form Forma Leaf Flor Pellet Pellet Plug Plug Beta (%) Beta (%) Beta acids as percent by mass Ácidos betas por masa HSI IEL Hop Stability/Storage index Índice de estabilidad de lúpulos Origin Origen Humulene (%) Humulene (%) Humulene Humulene Caryophyllene (%) Caryophyllene (%) Caryophyllene Caryophyllene Cohumulone (%) Cohumulone (%) Cohumulone Cohumulone Myrcene (%) Myrcene (%) Myrcene Myrcene Substitutes: Substitutos: Notes: Notas: htmlViewer Html Viewer Visionador Html about:blank about:blank instructionWidget Form Forma Show a timer Muestra minutero Show timer Muestra minutero Mark this step completed Marcar como completado Step completed Paso Completado mainWindow Recipes Recetas Styles Estilos Fermentables Fermentables Hops Lúpulos Miscs Miscs Yeasts Levaduras Recipe Receta Name Nombre Name of recipe Nombre de la receta 5 gal 5 gal Target boil size Tamaño de hervor que deseas Efficiency (%) Eficiencia (%) Calculated Boil Size Tamaño de hervor calculado Calculated Batch Size Tamaño de lote calculado The extraction efficiency you expect La eficiencia de extracción que esperas Style Estilo Boil Time Tiempo de Ebullición Target batch size Tamaño de lote que deseas Target Batch Size Tamaño de lote deseado Equipment Equipaje Target Boil Size Tamaño de hervor deseado OG DI Boil SG Densidad del hervor FG DF ABV APV Bitterness (IBU) Amargor (IBU) Color Color IBU/GU IBU por Densidad Calories/12oz Calorías/12oz Extras Extras Brewday Brewday Add a fermentable Agregar un fermentable Remove selected fermentable Remover fermentable seleccionado Edit selected fermentable Editar fermentable seleccionado Add hop Agregar lúpulo Remove selected hop Remover lúpulo seleccionado Edit selected hop Editar lúpulo seleccionado Miscellaneous Misc Add misc Agregar misc Remove selected misc Remover misc seleccionado Edit selected misc Editor misc seleccionado Yeast Levadura Add yeast Agregar levadura Remove selected yeast Remover levadura seleccionada Edit selected yeast Editar levadura seleccionada Mash Maceración Add mash step Agregar paso de maceración Remove selected mash step Remover paso seleccionado Edit selected mash step Editar paso seleccionado Edit mash properties Editar características de la maceración Edit mash Editar maceración Mash Des Diseñador Invoke the mash wizard Ejecutar el asistente de maceración Mash wiz Asistente Mashs Maceraciones Mash step up Paso para arriba Mash step down Paso para abajo Save this mash profile Guardar esta perfil de maceración Save Mash Guardar Maceración &About &Sobre &File &Archivo &Brewday &Modo Brewday &Recipe &Receta &Database &Base de Datos &View &Ver &Tools &Herramientas toolBar toolBar About &BrewTarget Sobre &Brewtarget About Brewtarget Sobre Brewtarget &Export Recipe &Exportar Receta &Fermentables &Fermentables Ctrl+F Ctrl+F &Hops &Lúpulos Ctrl+H Ctrl+L &Miscs &Miscs Ctrl+M Ctrl+M &Yeasts Le&vaduras Ctrl+Y Ctrl+V &Equipments &Equipajes Ctrl+E Ctrl+E &Styles Est&ilos Ctrl+T Ctrl+I &Exit &Salir Ctrl+Q Ctrl+Q &Import Recipes &Importar Recetas &Options &Opciones &Manual &Manual &Scale Recipe &Balancear la Receta Recipe to Clipboard as &Text Receta al portapapeles como &texto &OG Correction Help &Ayuda para Corrección de DI &Convert Units &Convertar Unidades Backup Database Reservar Base de Datos Restore Database Restituir Base de Datos &Copy Recipe &Copiar Receta Pr&iming Calculator Calculadora para &Embotellar &Refractometer Tools &Herramienta para Refractómetros &Pitch Rate Calculator Calculadora para &Levadura Merge Databases Unir Bases de Datos Select another database to merge into the current one. Elegir otro base de datos para unir al actual. &Print &Imprimir Print Pre&view &Vista Previa &Export To HTML &Exportar en HTML &Export to HTML &Exportar en HTML &Backup &Hacer copia de seguro Save all recipes, ingredients, etc. to a backup folder Guardar todas las recetas, ingredientes, etc. en una copia de seguro &Restore &Restituir Restore recipes, ingredients, etc. from a previous backup Restituir las recetas, ingredients, etc. de una copia de seguro &Merge &Unir Merge another set of recipes, ingredients, etc. into the current set Unir otra serie de recetas, ingredients, etc. a la actual &New Recipe &Nueva receta Timers Minuteros Show timers Mostrar minuteros Save Guardar Delete selected Borrar el seleccionado Delete recipe Borrar receta Donate Donar &Mashs & Macerados Mashes Macerados mashDesigner Mash Designer Diseñador de Maceración Name Nombre Type Tipo Target temp. Temp. deseado Time Tiempo Batch Sparge Llavado lote entero Next Seguir Finish Acabar Infusion/Decoction Amount Cantidad de Infusión/Cocción min min max max 0 0 Infusion Temp Temp de Infusión Total Collected Wort Caldo Extraído vol vol Tun Fullness Llenura de la cuba tunVol tunVol thickness thickness mashEditor Mash Editor Editor de Maceración Name Nombre Initial grain temp Temp. inicial del grano Sparge temp Temp. del lavado Sparge temp target Temp. deseado del lavado Sparge pH pH del lavado Notes Notas Tun Cuba Initial tun temp Temp. inicial Get following parameters from the recipe's equipment. Conseguir los parametros del equipaje de la receta. From Equipment Del Equipaje Tun mass Masa Tun sp. heat Calor específico Tun specific heat (cal/(g*K)) Calor específico de la cuba (cal/(g*K)) mashStepEditor Mash Step Editor Editor de pasos de la maceracíon Name Nombre Type Tipo Infusion Infusión Temperature Temperatura Decoction Cocción Target temp. Temp. deseado Target temp. of this step Temp deseado del paso Infuse Amount Cantidad de agua Amount of water to infuse Cantidad del agua para infusar Infuse temp. Temp de la infusión Temperature of infusion water Temperatura del agua de la infusión Decoction Amount Cantidad de la cocción Amount of mash to decoct Cantidad de la maceración para cocer Time Tiempo Time to conduct the step Tiempo para hacer el paso Temp. lag time Lapso de la temp. Lag time Tiempo del lapso End temp. Temp. final Final temp. of this step Temp. final del paso mashWizard Mash Wizard Asistente de la maceración Mash thickness (L/kg) Grosor (L/kg) Mash thickness (do not enter any units) Grosor de la maceración (no ingresar ningún unidad) miscDialog Misc Database Base de datos de miscs Add selected ingredient to recipe Agregar ingrediente seleccionado a la receta Add to Recipe Agregar a Receta Create a new ingredient Crear un ingrediente nuevo New Nuevo Edit selected ingredient Editar ingrediente seleccionado Remove selected ingredient Remover ingrediente seleccionado miscEditor Misc Editor Editor de miscs Name Nombre Type Tipo Spice Especia Fining Aclarador Water Agent Agente para Agua Herb Hierba Flavor Sabor Other Otro Use Uso Boil Hervor Mash Maceración Primary Primario Secondary Secundario Bottling Embotellar Time Tiempo Amount Cantidad Check it if the amount listed is in kg instead of L. Marcar si la cantidad se mide por masa en vez de volumen Amount is weight? ¿Cantidad es masa? Checked if the given amount is weight instead of volume Marcar si la cantidad se mide por masa en vez de volumen Use for: Se utiliza para: Notes: Notas namedMashEditor Named Mash Editor Editor de Macerados Mash Maceración Delete selected style Eliminar el estilo seleccionado Name Nombre Initial grain temp Temp. inicial del grano Sparge temp Temp. del lavado Sparge temp target Temp. deseado del lavado Sparge pH pH del lavado Notes Notas Tun Cuba Initial tun temp Temp. inicial de la cuba From Equipment Desde Equipo Tun mass Masa del Macerador Tun sp. heat Calor específico Tun specific heat (cal/(g*K)) Calor específico de la cuba (cal/(g*K)) Add mash step Agregar paso de maceración Remove selected mash step Remover paso seleccionado Mash step up Subir Paso Mash step down Bajar Paso ogAdjuster Adjust Volume to Hit OG Ajustar el Volumen para alcanzar la DI Input Introducir SG Densidad Measured gravity pre-boil Densidad medida antes del hervor Temp Temp Temperature of SG reading Temp de la medida de la densidad Calibration Temp Temp del calibrado Temp to which the hydrometer is calibrated Temp al cual está calibrado el hidrometro -or- -o- Plato Plato Plato (percent by mass of equivalent sucrose) Plato (porciento por masa de sacarosa equivalente) Pre-Boil Volume Volumen pre-hervor Measured pre-boil volume Volumen medido antes del hervor Output Resultados OG w/o Correction DI sin corrección OG if you boil as planned DI si se hierve como planeado Add to Boil Agregar al hervor Amount of water you need to add to hit planned OG (or boil off if negative) Cantidad de agua que necesitas agregar al hervor para alcanzar la DI planeada (o hervir si está negativa) Final Batch Size Tamaño de lote final Estimated batch size after correction Tamaño estimado después de la corrección Calculate Calcular optionsDialog Options Opciones Units Unidades Weight Masa Use SI units Unidades SI Use US traditional units Unidades EEUU Use British imperial units Unidades Británicas Temperature Temperatura Celsius Centígrado Fahrenheit Fahrenheit Volume Volumen Gravity Densidad 20C/20C Specific Gravity 20C/20C Densidad Plato/Brix/Balling Plato/Brix/Balling Color Color Use SRM Usar SRM Use EBC Usar EBC Formulas Formulas Mosher's approximation Aproximación Mosher Daniels' approximation Aproximación Daniels Morey's approximation Aproximación Morey IBU Amargor Tinseth's approximation Aproximación Tinseth Rager's approximation Aproximación Rager IBU Adjustments Ajustes de IBUs % IBU adjustment Porcentaje de ajuste de IBUs Mash Hop Lúpulo en Macerado First Wort First Wort Directories Carpetas Database Directory Carpeta del Base de Datos Where your brewtarget .xml files are. Dónde están los archivos de .xml brewtarget. Browse Buscar Default Defecto Language Lenguaje Czech Checo Catalan Catalán German Alemán English Inglés Spanish Español French Francés Italian Italiano Dutch Holandés Polish Polaco Portuguese Portugués Russian Ruso <qt> <b>Know another language?</b> <br><br> Or, would you like to improve a translation? Help us out and <a href="https://sourceforge.net/sendmessage.php?touser=938941"> provide a translation</a> so that your friends can use brewtarget! </qt> <qt> <b>¿Conoces otra idioma?</b> <br><br> ¿O, te gustaría mejorar una traducción? ¡Ayudanos y <a href="https://sourceforge.net/sendmessage.php?touser=938941"> da una traducción</a> para que tus amigos utilizen brewtarget! </qt> pitchDialog Pitch Rate Calculator Calculadora para Levadura Input Entradas Wort Volume Volumen del Caldo OG DI For ales, 0.75-1. For lagers, 1.5-2. Para ales, 0.75-1. Para lagers, 1.5-2. Pitch Rate (M cells)/(mL*P) Tasa de Levadura Aeration Method Método de Airear Yeast Production Date Fecha de Producción Yeast Viability Viabilidad None Ningun O2 At Start O2 al Principio Stir Plate Placa Agitadora MM/dd/yyyy dd/MM/yyyy % % TextLabel TextLabel Calculate Viability From Date Calcular la Viabilidad de la Fecha # Vials/Smack Packs Pitched # De Paquetes Output Resultados Billions of Yeast Cells Required Mil Millones de Células Requisitas # Vials/Smack Packs w/o Starter # De Paquetes sin Cultura Dry Yeast Levadura Seca Starter Volume Volumen del Iniciador primingDialog Priming Calculator Calculadora para Botellar Input Entradas Collected Beer Volume Volumen Coleccionado Amount of beer to prime Cantidad de cerveza Beer Temperature Temperatura Temp of the beer Temp de la cerveza Desired Volumes Volúmenes Deseados How many volumes of CO2 you want (1 L CO2 @ STP per L beer) Cantidad de CO2 que se quiere (1 L CO2 @ STP por L de cerveza) Glucose Monohydrate (corn sugar) Glucosa Monohidrato Anhydrous Glucose Glucosa Deshidratado Sucrose (table sugar) Sacarosa Dry Malt Extract Extracto Seco Output Resultados Prime with Utilizar How much priming ingredient to use Cantidad de azúcar requisita Calculate Calcular recipeExtrasDialog Recipe Extras Extras Brewer Fabricante Asst. Brewer Asst. del Fabricante Taste Rating Calificacción del Sabor Primary Age (days) Días en el Primario Primary Temp Temp. del Primario Secondary Age (days) Dias en el Secundario Secondary Temp Temp. del Secundario Tertiary Age (days) Dias en el Terciario Tertiary Temp Temp. del Terciario Bottle/Keg Age (days) Dias en la Botella o Barrica Bottle/Keg Temp Temp. de la Botella o Barrica Date First Brewed Fecha de Primera Fabricación dd MMM yyyy dd MMM yyyy Carbonation Volumes Volúmenes de CO2 Taste Notes Notas del Sabor Notes Notas Cancel Cancelar recipeExtrasWidget Form Forma Brewer Fabricante Asst. Brewer Asst. del Fabricante Taste Rating Calificacción del Sabor Primary Age (days) Días en el Primario Primary Temp Temp. del Primario Secondary Age (days) Dias en el Secundario Secondary Temp Temp. del Secundario Tertiary Age (days) Dias en el Terciario Tertiary Temp Temp. del Terciario Bottle/Keg Age (days) Dias en la Botella o Barrica Bottle/Keg Temp Temp. de la Botella o Barrica Date First Brewed Fecha de Primera Fabricación dd MMM yyyy dd MMM yyyy Carbonation Volumes Volúmenes de CO2 Taste Notes Notas del Sabor Notes Notas refractoDialog Refractometer Tools Herramienta para Refractometros Inputs Entradas Original Plato Plato Inicial OG (20 C) DI (20C) Current Plato Plato Actual Calculate Calcular Outputs Resultados SG (20C) Densidad (20C) ABV APV ABW APM Refractive Index Índice Refractor Real Extract (Plato) Extracto Real (Plato) OG (20C) DI (20C) scaleRecipeTool Scale Recipe Balancear la Receta New batch size Tamaño de Lote Nuevo New efficiency (pct) Nueva eficiencia (%) styleEditor Style Editor Editor de Estilos Style Estilo Delete selected style Remover estilo seleccionado Basic Information Datos Básicos Name Nombre Category Categoría Category number Número de Categoría Style letter Letra de Estilo Style guide Guía de Estilos Type Tipo Type of beverage Tipo de bebida Lager Lager Ale Ale Mead Mead Wheat Trigo Mixed Mezclado Cider Cider Vital Statistics Estadísticas Max Max Min Min OG DI FG DF IBUs IBU Color (SRM) Color (SRM) Carb (vols) CO2 (vol.) ABV (pct) APV (%) Profile Perfil Ingredients Ingredientes Examples Ejemplos Notes Notas New Nuevo Save Guardar Cancel Cancelar timerListDialog Timers Minuteros timerWidget Form Forma Set the timer to the specified value Inicializar el minutero al valor indicado Set Inicializar HH:MM:SS HH:MM:SS Start/Stop timer Empezar/Parar minutero Start Empezar Set a sound as the alarm Seleccionar un soñido como una alerta Sound Soñido waterEditor Dialog Dialog Name Nombre Notes Notas yeastDialog Yeast Database Base de datos para levaduras Add selected yeast to recipe Agregar levadura seleccionada a la receta Add to Recipe Agregar a Receta Create new yeast Crear una levadura nueva New Nueva Edit selected yeast Editar levadura seleccionada Remove selected yeast Remover levadura seleccionada yeastEditor Yeast Editor Editor de Levaduras Required Fields Información Requisita Name Nombre Type Tipo Ale Ale Lager Lager Wheat Trigo Wine Vino Champagne Champán Form Forma Liquid Liquida Dry Seca Slant Slant Culture Cultura Amount Cantidad Check it if the amount given is in kg instead of L. Si la cantidad es masa. Amount is weight? ¿Cantidad es masa? Checked if the given amount is weight instead of volume Si la cantidad es masa Lab Lab Product ID No. ID Min Temp Temp Min Min temp Temp min Max Temp Temp Max Max temp Temp. max Flocculation Precipitado Low Bajo Medium Medio High Alto Very High Muy Alto Attenuation (%) Atenuación (%) Apparent attenuation as percentage of OG points Atenucación aparente como un porcentaje de puntos de DI Times Recultured Veces Reculturada Times this yeast has been recultured Numero de veces que la levadura ha sido reculturado Max Recultures Reculteraciónes Max Max recultures Reculteraciónes Max Add to Secondary Agregar al Secundario Checked means add this yeast to secondary instead of primary Que si se necesita agregarla al secundario Best For: Mejor para: Notes: Notas: brewtarget-2.0.2/translations/bt_da.ts0000644000175000017500000050067412266512175017402 0ustar philipphilip BrewDayScrollWidget Style Stilart Date Dato Boil Time Kogetid Efficiency Effektivitet Boil Volume Volumen i kogekar Preboil Gravity Vægtfylde før urtkogning Final Volume Endelig volumen Starting Gravity OG IBU IBU Final Gravity FG ABV Alkohol per volumen Estimated calories(per 12 oz) Antal kalorier (0.33L) Instructions Instruktioner Completed Fuldført Time Varighed Step Trin Actual PreBoil Volume Målt volumen før urtkogning Actual PreBoil Gravity Målt vægtfylde før urtkogning PostBoil Volume Volumen efter urtkogning PostBoil Gravity Vælgfylde efter urtkogning Volume into fermenter Volume i gæringskar Print Document Udskriv dokument <h2>Notes</h2> Step %1: %2 Trin %1: %2 Add grains Tilføj korn Heat water Opvarm vand BrewDayWidget Style Date Dato Boil Volume Volumen i kogekar Preboil Gravity Vægtfylde før urtkogning Final Volume Endelig volumen Starting Gravity OG Boil Time Kogetid IBU IBU Predicted Efficiency Forventet effektivitet Estimated calories (per 12 oz) Forventet antal kalorier Instructions Instruktioner Completed Fuldført Time Varighed Step Trin Actual Pre-boil Volume: Volumen før urtkogning Actual Pre-boil Gravity: Målt vægtfylde Post-boil Volume: Målt volumen Post-boil Gravity: Vægtfylde efter urtkogning Volume in fermenter: Volumen i gærtank Print Document Udskriv dokument Notes Sedler Step %1: %2 Trin %1: %2 BrewTargetTreeModel Name Egenavn Brew Date Brygge dato Style Stil Boil Time Kogetid Color Farver Type Datatype Use Benyt Form Form Category kategori Number Tal. Letter Guide Vejled BrewTargetTreeView New Recipe Ny opskrift Brew It! Bryg! Brew Again Bryg igen Delete Del New Equipment Nyt udstyr New Fermentable Tilføj gærbart New Hop Tilføj humle New Misc Tilføj assorteret New Yeast Tilføj gær Copy Kopi Export Eksporter Import Importer Change date Ændre dato New Style Ny øl type Recalculate eff Beregn eff. Brewtarget Default Forvalg EBC EBC SRM SRM Plato Plato Specific Gravity SG SI SI US Customary US Enheder Milligrams Milligram Grams Gram Kilograms Kilogram Ounces Ounces Pounds Pund Celsius Celsius Fahrenheit Fahrenheit British Imperial Britiske Enheder MilliLiters Milliliter Liters Liter Teaspoons Teskeer (~5g) Tablespoons Spiseske (~14g) Cups Kop (~130g) Quarts Quart (~0.9L) Gallons Gallons (~3.8L) BtDigitWidget Too low for style. For lav for øl type In range for style. Inden for øl type Too high for style. For høj til øl type Database Merge Database Kombiner databaser There may be new ingredients and recipes available. Would you like to add these to your database? Der kan være nye ingredienser eller opskrifter tilgængelig. Vil du tilføje disse til din database? EquipmentEditor Grain absorption (%1/%2) Urt absorbering (%1/%2) Tun Volume Warning Tun volume advarsel Batch Size Warning Bryg størelses advarsel Equipment name Udstyr navn Equipment name: Udstyr navn: The tun volume you entered is 0. This may cause problems Tun volume indtastet er 0. Dette kan medføre problemer The batch size you entered is 0. This may cause problems Bryg størrelse indtastet er 0. Dette kan medføre problemer Hop Utilization Warning The hop utilization percentage you entered is 0. This may cause problems Humle udnyttelsesgrad sat til 0. Dette kan medføre problemer FermentableDialog Fermentable name Fermentable name: FermentableItemDelegate Grain Urt Sugar Sukker Extract Ekstrakt Dry Extract Tør ekstrakt Adjunct FermentableTableModel Bad model index. row = %1 Forkert model index. række = %1 Mashed Mæsket Steeped Udtrukket Not mashed Umæsket Late Forsinket Normal Normal Bad column: %1 Forkert kolonne: %1 Name Navn Type Type Amount Mængde Late Addition Sen tilføjelse Yield % Udbyttegrad % Color (SRM) Farve (SRM) Color (EBC) Farve (EBC) Hop Mash Mæsk First Wort Første vørter Boil Kog Aroma Aroma humle Dry Hop Tør humle Bittering Bitter humle Both Begge Leaf Løv Pellet Pille Plug HopDialog Hop name Humle navn Hop name: Humle navn: HopItemDelegate Boil Kog Dry Hop Tør humle Mash Mæsk First Wort Første vørter Aroma Aroma humle Leaf Blad Pellet Pille Plug HopTableModel Name Egenavn Alpha % Alfa % Amount Beløb Use Brug Time Titel: Form Type MainWindow Open Åbn BeerXML files (*.xml) BeerXML filer (*.xml) Save Gem Equipment request Would you like to set the batch size, boil size and time to that requested by the equipment? Delete %1 Slet %1 Delete %1 %2? Fjern %1 %2? HTML files (*.html) HTML filer (*.html) New Opret Recipe Opskrift Equipment Udstyr Fermentable Gærbart Hop Humle Miscellaneous Diverse Yeast Gær Copy %1 Kopier %1 Enter a unique name for the copy of %1. Indtast et unikt navn for kopien af %1 Copy Equipment Kopier udstyr Copy Fermentable Kopier gærbart Copy Hop Kopier humle Copy Miscellaneous Kopier diverse Copy Yeast Kopier gær Database Update Opdater database You are about to update the current database with another one. This may make changes to (but will not delete) some of your ingredients. It will not modify any of your recipes. Continue? Select Database File Vælg database fil Brewtarget Database (*.sqlite) Brewtarget database (*.sqlite) Recipe name Opskrift navn Recipe name: Opskrift navn: Backup Database Sikkerhedskopier database Oops! Hovsa! Could not copy the files for some reason. Kan ikke kopiere filer A Warning Advarsel This will obliterate your current set of recipes and ingredients. Do you want to continue? Dette vil destruere det nuværende sæt af opskrifter og ingredienser. Fortsæt? For some reason, the operation failed. Kunne udføre operationen. Import %1? Importer %1? No mash Ingen mæskning Trying to add a mash step without a mash. Please create a mash first. Kan ikke tilføre et mæsknings trin uden mæsk. Tilføj mæsk først. Copy Recipe Kopier opskrift Enter a unique name for the copy. Indtast et unikt navn for kopien Please give your mash a name before saving. Giv din mæsk et navn før du gemmer. Restart Start igen Please restart Brewtarget. Genstart Brewtarget No equipment Ingen udstyr You must select or define an equipment profile first. Vælg eller definer en udstyrs profil først. No style Ingen stilart You must select a style first. Vælg en stilart først Choose File Vælg fil SQLite (*.sqlite) SQLite (*.sqlite) Style Øl type Copy Style Kopiér stil The database has been converted/upgraded. Databasen er blevet konverteret/opgraderet. The original XML files can be found in Den originale XML fil blev ikke fundet i The import contained invalid beerXML. It has been imported, but please make certain it makes sense. MaltinessWidget <b>Cloying</b> <b>Extra malty</b> Ekstra malted <b>Slightly malty</b> Lidt malted <b>Balanced</b> Balanceret <b>Slightly hoppy</b> Smule humlet <b>Extra hoppy</b> Ekstra humlet <b>Way hoppy</b> Over humlet MashDesigner No Fermentables Ingen gærbare Your recipe must have fermentables to design a mash. Din opskrift må have gærbare for at bestemme et mæsk No Equipment Intet udstyr You have not set an equipment for this recipe. We really cannot continue without one. Du har ikke udstyr til denne opskrift. Kan ikke fortsætte uden. Tun Temp Tun temperatur Enter the temperature of the tun before your first infusion. Indtast temperatur af tun før din første infusion. Decoction error Indkognings fejl The first mash step cannot be a decoction. Første mæskningstrin kan ikke være en indkogning. MashStepTableModel Bad model index. row = %1 Forkert model index. række = %1 Bad column: %1 Forkert kolonne: %1 Name Navn Type Type Amount Mængde Infusion Temp Infusions temp. Target Temp Temperatur mål Time Tidspunkt MashWizard Mash thickness (%1/%2) Bad thickness You must have a positive mash thickness. No steps Ingen trin There must be at least one mash step to run the wizard. Der skal være mindst et mæske trin for at køre wizarden First step Første trin Your first mash step must be an infusion. Mash too thick Your mash is too thick for desired temp. at first step. Decoction error Indkognings fejl Something went wrong in decoction calculation. Sparge temp. In order to hit your sparge temp, the sparge water must be above boiling. Lower your sparge temp, or allow for more sparge water. Too much wort You have too much wort from the mash for your boil size. I suggest increasing the boil size by increasing the boil time, or reducing your mash thickness. MiscDialog Misc name Misc name: MiscItemDelegate Spice Fining Water Agent Herb Flavor Other Boil Kog Mash Mæsk Primary Secondary Bottling MiscTableModel Name Type Use Time Amount Weight Volume Amount Type OptionDialog Open Directory Copy Data There do not seem to be any data files in this directory, so we will copy your old data here. Restart Start igen Please restart Brewtarget. Genstart Brewtarget QObject Invalid color formula type: %1 Unrecognized IBU formula type. %1 Batch Size: %1 Boil Size: %1 Boil Time: %1 OG: %1 FG: %1 Bitterness: %1 IBUs (%2) Color: %1 SRM (%2) Fermentables Name Type Amount Mashed Mæsket Late Forsinket Yield Color Farver Yes No Total grain: %1 Hops Alpha Use Time IBU IBU Misc Yeast Form Stage Secondary Primary Mash Temp Target Notes Instructions Directory Problem "%1" cannot be read. Config directory "%1" cannot be read. New Version Version %1 is now available. Download it? Stop bothering you about new versions? Database Failure Failed to open the database '%1'. Save Database Changes Would you like to save the changes you made? Multiple Databases Found Multiple databases were found. Do you want to restore the changes you made during your last Brewtarget session, or rollback to before last session's changes? Restore Rollback Failed to remove the temporary backup database. Navigate to '%1' and remove 'tempBackupDatabase.sqlite'. Failed to rollback to the backup database. Navigate to '%1', remove 'database.sqlite' if it exists, and rename 'tempBackupDatabase.sqlite' to 'database.sqlite'. Database Restore Failure Failed to restore the backup database. Navigate to '%1' and rename 'tempBackupDatabase.sqlite' to 'database.sqlite'. Grain Urt Sugar Sukker Extract Ekstrakt Dry Extract Tør ekstrakt Adjunct Boil Kog Mash Mæsk Infusion Temperature Decoction Bottling Spice Fining Water Agent Herb Flavor Other Ale Lager Wheat Wine Champagne Liquid Dry Slant Culture Low Medium High Very High Recipes Equipment Udstyr Fermentables Hops Miscellaneous Diverse Yeast Gær Efficiency: %1% ABV: %1% Style Recipe Add grains Tilføj korn Add to the mash tun. Heat water Opvarm vand Bring %1 water to %2, for upcoming infusions. Add %1 water at %2 to mash to bring it to %3. Heat mash to %1. Bring %1 of the mash to a boil and return to the mash tun to bring it to %2. Hold for %1. Put %1 %2 into boil for %3. Put %1 %2 into fermenter for %3. Put %1 %2 into first wort for %3. Put %1 %2 into mash for %3. Steep %1 %2 in wort for %3. Use %1 %2 for %3 Hop addition Use %1 %2 at bottling for %3. Put %1 %2 into primary for %3. Put %1 %2 into secondary for %3. Use %1 %2 for %3. Misc addition Do first wort hopping with First wort hopping You should now have %1 wort. Add %1 water to the kettle, bringing pre-boil volume to %2. Pre-boil Boil or steep Boil/steep fermentables to the boil at knockout. Knockout additions You should have %1 wort post-boil. You anticipate losing %1 to trub and chiller loss. Add %1 top up water into primary. The final volume in the primary is %1. Post boil Boil time You did not configure an equipment (which you really should), so tell me the boil time. Bring the wort to a boil and hold for %1. Start boil Flameout Stop boiling the wort. Cool wort and pitch %1 %2 yeast, to the primary. Pitch yeast Let ferment until FG is %1. Ferment Transfer beer to secondary. Transfer to secondary Add %1 %2 to boil at %3. Raise water to boil and then remove from heat. Stir in Add Extracts to water %1 water to %2 RecipeFormatter unknown style N/A Brewer Date Dato Batch Size Boil Size Boil Time Kogetid Efficiency Effektivitet OG FG Unknown ABV Alkohol per volumen Bitterness Color Farver Calories (per 12 oz.) Fermentables Total grain: Name Type Amount Mashed Mæsket Late Forsinket Yield Yes No Hops Alpha Use Time Form IBU IBU Misc Yeast Gær Stage Secondary Primary Mash Mæsk Temp Target Temp Temperatur mål Notes Sedler Instructions Instruktioner Brew Date Brygge dato Preboil SG Volume into BK Strike Temp Final Temp Eff into BK Projected OG Postboil Postboil Volume Volume Into Fermenter Brewhouse Eff Projected ABV Postferment Volume Print Document Udskriv dokument RefractoDialog OG Mismatch Based on the given original plato, the OG should be %1, but you have entered %2. Continuing with the calculated OG. ScaleRecipeTool Recipe Scaled The mash has been reset due to the fact that mash temperatures do not scale easily. Please re-run the mash wizard. The equipment and mash have been reset due to the fact that mash temperatures do not scale easily. Please re-run the mash wizard. StyleEditor Style name Style name: TimerWidget Open Sound Audio Files (*.wav *.ogg *.mp3 *.aiff) Stop Start WaterTableModel Bad model index. row = %1 Forkert model index. række = %1 Bad column: %1 Forkert kolonne: %1 Name Amount Calcium (ppm) Bicarbonate (ppm) Sulfate (ppm) Chloride (ppm) Sodium (ppm) Magnesium (ppm) YeastDialog Yeast name Yeast name: YeastItemDelegate Ale Lager Wheat Wine Champagne Liquid Dry Slant Culture YeastTableModel Bad model index. row = %1 Forkert model index. række = %1 Bad column: %1 Forkert kolonne: %1 Name Type Form Amount Laboratory Product ID aboutDialog About Brewtarget <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'DejaVu Sans'; font-size:9pt; font-weight:400; font-style:normal;"> <p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:20pt;">Brewtarget %1</span></p> <p style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Brewtarget, for developing beer recipes.</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Copyright 2009-2013 by the developers below.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier'; font-weight:600; text-decoration: underline;">Developers</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Peter Buelow</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Dan Cavanagh</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Mik Firestone</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Philip G. Lee &lt;rocketman768@gmail.com&gt;</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier'; font-weight:600; text-decoration: underline;">Copyright (GPLv3)</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Brewtarget is free software: you can redistribute it and/or modify</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">it under the terms of the GNU General Public License as published by</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">the Free Software Foundation, either version 3 of the License, or</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">(at your option) any later version.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Brewtarget is distributed in the hope that it will be useful,</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">but WITHOUT ANY WARRANTY; without even the implied warranty of</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">GNU General Public License for more details.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">You should have received a copy of the GNU General Public License</span></p> <p style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">along with Brewtarget. If not, see &lt;</span><a href="http://www.gnu.org/licenses/"><span style=" font-family:'Courier New,courier'; text-decoration: underline; color:#0000ff;">http://www.gnu.org/licenses/</span></a><span style=" font-family:'Courier New,courier';">&gt;.</span></p> <p style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier'; font-weight:600; text-decoration: underline;">Source Code</span></p> <p style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Brewtarget's source code can be downloaded at </span><a href="http://brewtarget.sourceforge.net"><span style=" font-family:'Sans Serif'; text-decoration: underline; color:#0057ae;">brewtarget.sourceforge.net</span></a><span style=" font-family:'Sans Serif';">.</span></p> <p style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier'; font-weight:600; text-decoration: underline;">Special Thanks</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Guido Carpi (Italian translation)</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Ester (Catalan translation)</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Marc Cote (French translation)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Pawel Fiedor (Polish translation)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Admiro (Polish translation)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Edu Engler (Portuguese translation)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Jan Grmela (Czech translation)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Randy Brace (alpha tester)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://finalgravitypodcast.com"><span style=" font-family:'Sans Serif'; text-decoration: underline; color:#0057ae;">Final Gravity Podcasts</span></a></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Glenn Tinseth &lt;</span><a href="http://www.realbeer.com/hops"><span style=" text-decoration: underline; color:#0000ff;">http://www.realbeer.com/hops</span></a><span style=" font-family:'Courier New,courier';">&gt;</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">server, printer, edit-copy, document-print-preview and merge images from Oxygen theme (CC license)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">backup image from Nuvola theme (LGPL)</span></p></body></html> Donate brewDayScrollWidget Form Generate Instructions Insert step Name Name of new step Step # The number where the new step should be placed Insert the new step Move steps Move currently selected step up Move currently selected step down Remove currently selected step brewDayWidget Brewday Mode Instructions Instruktioner Move currently selected step up Up Move currently selected step down Down Remove currently selected step Remove Insert step Name Name of new step Step # The number where the new step should be placed Insert the new step Insert brewNoteWidget Form Preboil SG Preboil gravity Volume Volume of wort collected Strike Temp Temperature of mash after dough in Final Temp Temperature of mash before mash out Postboil OG Post boil gravity Postboil Volume Volume of wort in BK after boil Volume of wort transferred to fermenter Volume into fermenter Volume i gæringskar Pitch Temp Temperature of wort when yeast is pitched Postferment Final gravity Volume of beer into serving keg/bottles Date when the yeast fermented out percent efficiency into boil kettle Eff into BK Expected OG, based on measure fg Projected OG Brewhouse efficiency Brewhouse Eff Expected ABV based on OG Projected ABV ABV based on FG ABV Alkohol per volumen Notes Sedler btSplashScreen Form converterTool Converter Tool Input Amount and units to convert Output Units Unit you want to convert to Output Output conversion Convert equipmentEditor Equipment Editor Equipment Udstyr Remove equipment Set as Default Required Fields Name Pre-boil volume If checked, we will calculate your pre-boil volume based on your desired batch size, boil time, evaporation rate, losses, etc. Calculate pre-boil volume Automatically fill in pre-boil volume Batch size Boiling && Water Boil time Evaporation rate (per hr) How much water boils off per hour Kettle top-up water How much water is added to kettle immediately pre-boil Final top-up water Water added to fermenter Grain Absorption (L/kg) Default Absorption Boiling Point of Water Hop Utilization Mash Tun Volume Volume of mash tun Mass Mass or weight of mash tun Specific heat (cal/(g*K)) Losses Kettle to fermenter Wort lost between kettle and fermenter Lauter deadspace Volume of wort lost to lauter deadspace Notes Sedler New equipment Save Gem Cancel fermentableDialog Fermentable Database Add selected ingredient to recipe Add to Recipe Create new ingredient New Opret Edit selected ingredient Remove selected ingredient fermentableEditor Fermentable Editor Required Fields Name Type Grain Urt Sugar Sukker Extract Ekstrakt Dry Extract Tør ekstrakt Adjunct Amount Yield (%) Yield as compared to glucose Lovibond Lovibond rating Add After Boil This ingredient is added post boil. Origin Supplier Coarse/Fine Diff (%) Yield difference between coarse and fine grind Moisture (%) Moisture percentage by mass DP (Lintner) Diastatic power in Lintner Protein (%) Protein percentage by mass Max In Batch (%) Maximum recommended percentage of total grist Recommend Mash Recommend this be mashed Is Mashed Checked if it is present in mash Bitterness (IBU*gal/lb) Bitterness of pre-hopped extracts Notes: hopDialog Hop Database Add selected ingredient to recipe Add to Recipe New hop New Opret Edit Remove hopEditor Hop Editor Required Fields Name Alpha (%) Alpha acids as percent by mass Amount Amount Use Mash Mæsk First Wort Første vørter Boil Kog Aroma Aroma humle Dry Hop Tør humle Time Type Bittering Bitter humle Both Begge Form Leaf Pellet Pille Plug Beta (%) Beta acids as percent by mass HSI Hop Stability/Storage index Origin Humulene (%) Humulene Caryophyllene (%) Caryophyllene Cohumulone (%) Cohumulone Myrcene (%) Myrcene Substitutes: Notes: htmlViewer Html Viewer about:blank instructionWidget Form Show a timer Show timer Mark this step completed Step completed mainWindow Recipes Styles Fermentables Hops Miscs Yeasts Recipe Opskrift Name Name of recipe 5 gal Target boil size Efficiency (%) Calculated Boil Size Calculated Batch Size The extraction efficiency you expect Style Boil Time Kogetid Target batch size Target Batch Size Equipment Udstyr Target Boil Size OG Boil SG FG ABV Alkohol per volumen Bitterness (IBU) Color Farver IBU/GU Calories/12oz Extras Brewday Add a fermentable Remove selected fermentable Edit selected fermentable Add hop Remove selected hop Edit selected hop Miscellaneous Diverse Add misc Remove selected misc Edit selected misc Yeast Gær Add yeast Remove selected yeast Edit selected yeast Mash Mæsk Add mash step Remove selected mash step Edit selected mash step Edit mash properties Edit mash Mash Des Invoke the mash wizard Mash wiz Mashs Mash step up Mash step down Save this mash profile Save Mash &About &File &Brewday &Recipe &Database &View &Tools toolBar About &BrewTarget About Brewtarget &Export Recipe &Fermentables Ctrl+F &Hops Ctrl+H &Miscs Ctrl+M &Yeasts Ctrl+Y &Equipments Ctrl+E &Styles Ctrl+T &Exit Ctrl+Q &Import Recipes &Options &Manual &Scale Recipe Recipe to Clipboard as &Text &OG Correction Help &Convert Units Backup Database Sikkerhedskopier database Restore Database &Copy Recipe Pr&iming Calculator &Refractometer Tools &Pitch Rate Calculator Merge Databases Select another database to merge into the current one. &Print Print Pre&view &Export To HTML &Export to HTML &Backup Save all recipes, ingredients, etc. to a backup folder &Restore Restore recipes, ingredients, etc. from a previous backup &Merge Merge another set of recipes, ingredients, etc. into the current set &New Recipe Timers Show timers Save Gem Delete selected Delete recipe Donate &Mashs Mashes mashDesigner Mash Designer Name Type Target temp. Time Batch Sparge Next Finish Infusion/Decoction Amount min max 0 Infusion Temp Infusions temp. Total Collected Wort vol Tun Fullness tunVol thickness mashEditor Mash Editor Name Initial grain temp Sparge temp Sparge temp target Sparge pH Notes Sedler Tun Initial tun temp Get following parameters from the recipe's equipment. From Equipment Tun mass Tun sp. heat Tun specific heat (cal/(g*K)) mashStepEditor Mash Step Editor Name Type Infusion Temperature Decoction Target temp. Target temp. of this step Infuse Amount Amount of water to infuse Infuse temp. Temperature of infusion water Decoction Amount Amount of mash to decoct Time Time to conduct the step Temp. lag time Lag time End temp. Final temp. of this step mashWizard Mash Wizard Mash thickness (L/kg) Mash thickness (do not enter any units) miscDialog Misc Database Add selected ingredient to recipe Add to Recipe Create a new ingredient New Opret Edit selected ingredient Remove selected ingredient miscEditor Misc Editor Name Type Spice Fining Water Agent Herb Flavor Other Use Boil Kog Mash Mæsk Primary Secondary Bottling Time Amount Check it if the amount listed is in kg instead of L. Amount is weight? Checked if the given amount is weight instead of volume Use for: Notes: namedMashEditor Named Mash Editor Mash Mæsk Delete selected style Name Initial grain temp Sparge temp Sparge temp target Sparge pH Notes Sedler Tun Initial tun temp From Equipment Tun mass Tun sp. heat Tun specific heat (cal/(g*K)) Add mash step Remove selected mash step Mash step up Mash step down ogAdjuster Adjust Volume to Hit OG Input SG Measured gravity pre-boil Temp Temperature of SG reading Calibration Temp Temp to which the hydrometer is calibrated -or- Plato Plato Plato (percent by mass of equivalent sucrose) Pre-Boil Volume Measured pre-boil volume Output OG w/o Correction OG if you boil as planned Add to Boil Amount of water you need to add to hit planned OG (or boil off if negative) Final Batch Size Estimated batch size after correction Calculate optionsDialog Options Units Weight Use SI units Use US traditional units Use British imperial units Temperature Celsius Celsius Fahrenheit Fahrenheit Volume Gravity 20C/20C Specific Gravity Plato/Brix/Balling Color Farver Use SRM Use EBC Formulas Mosher's approximation Daniels' approximation Morey's approximation IBU IBU Tinseth's approximation Rager's approximation IBU Adjustments % IBU adjustment Mash Hop First Wort Første vørter Directories Database Directory Where your brewtarget .xml files are. Browse Default Forvalg Language Czech Catalan German English Spanish French Italian Dutch Polish Portuguese Russian <qt> <b>Know another language?</b> <br><br> Or, would you like to improve a translation? Help us out and <a href="https://sourceforge.net/sendmessage.php?touser=938941"> provide a translation</a> so that your friends can use brewtarget! </qt> pitchDialog Pitch Rate Calculator Input Wort Volume OG For ales, 0.75-1. For lagers, 1.5-2. Pitch Rate (M cells)/(mL*P) Aeration Method Yeast Production Date Yeast Viability None O2 At Start Stir Plate MM/dd/yyyy % TextLabel Calculate Viability From Date # Vials/Smack Packs Pitched Output Billions of Yeast Cells Required # Vials/Smack Packs w/o Starter Dry Yeast Starter Volume primingDialog Priming Calculator Input Collected Beer Volume Amount of beer to prime Beer Temperature Temp of the beer Desired Volumes How many volumes of CO2 you want (1 L CO2 @ STP per L beer) Glucose Monohydrate (corn sugar) Anhydrous Glucose Sucrose (table sugar) Dry Malt Extract Output Prime with How much priming ingredient to use Calculate recipeExtrasDialog Recipe Extras Brewer Asst. Brewer Taste Rating Primary Age (days) Primary Temp Secondary Age (days) Secondary Temp Tertiary Age (days) Tertiary Temp Bottle/Keg Age (days) Bottle/Keg Temp Date First Brewed dd MMM yyyy Carbonation Volumes Taste Notes Notes Sedler Cancel recipeExtrasWidget Form Brewer Asst. Brewer Taste Rating Primary Age (days) Primary Temp Secondary Age (days) Secondary Temp Tertiary Age (days) Tertiary Temp Bottle/Keg Age (days) Bottle/Keg Temp Date First Brewed dd MMM yyyy Carbonation Volumes Taste Notes Notes Sedler refractoDialog Refractometer Tools Inputs Original Plato OG (20 C) Current Plato Calculate Outputs SG (20C) ABV Alkohol per volumen ABW Refractive Index Real Extract (Plato) OG (20C) scaleRecipeTool Scale Recipe New batch size New efficiency (pct) styleEditor Style Editor Style Delete selected style Basic Information Name Category kategori Category number Style letter Style guide Type Type of beverage Lager Ale Mead Wheat Mixed Cider Vital Statistics Max Min OG FG IBUs Color (SRM) Farve (SRM) Carb (vols) ABV (pct) Profile Ingredients Examples Notes Sedler New Opret Save Gem Cancel timerListDialog Timers timerWidget Form Set the timer to the specified value Set HH:MM:SS Start/Stop timer Start Set a sound as the alarm Sound waterEditor Dialog Name Notes Sedler yeastDialog Yeast Database Add selected yeast to recipe Add to Recipe Create new yeast New Opret Edit selected yeast Remove selected yeast yeastEditor Yeast Editor Required Fields Name Type Ale Lager Wheat Wine Champagne Form Liquid Dry Slant Culture Amount Check it if the amount given is in kg instead of L. Amount is weight? Checked if the given amount is weight instead of volume Lab Product ID Min Temp Min temp Max Temp Max temp Flocculation Low Medium High Very High Attenuation (%) Apparent attenuation as percentage of OG points Times Recultured Times this yeast has been recultured Max Recultures Max recultures Add to Secondary Checked means add this yeast to secondary instead of primary Best For: Notes: brewtarget-2.0.2/translations/bt_zh.ts0000644000175000017500000054740012266512175017435 0ustar philipphilip BrewDayScrollWidget Style 样式Style Date 日期 Boil Time 煮沸时间Boil Time Efficiency 效率Efficiency Boil Volume 煮沸体积 Preboil Gravity 预计比重的 Final Volume 最终成交量 Starting Gravity 开始比重 IBU IBU Final Gravity 最后比重 ABV ABV Estimated calories(per 12 oz) 估计热量(每12盎司) Instructions 指令Instructions Completed 完成 Time 时间Time Step 步驟 Actual PreBoil Volume 实际PreBoil体积量 Actual PreBoil Gravity PostBoil 实际比重 PostBoil Volume PostBoil 体积 PostBoil Gravity PostBoil比重 Volume into fermenter 进入发酵罐的体积Volume into fermenter Print Document 打印文件 <h2>Notes</h2> < h2 >注< / h2 > Step %1: %2 步骤 %1: %2 Add grains 添加谷物 Heat water Heat water加热水 BrewDayWidget Style 样式Style Date 日期 Boil Volume 煮沸体积 Preboil Gravity 预计比重 Final Volume 最终成交量 Starting Gravity 开始比重 Boil Time 煮沸时间Boil Time IBU IBU Predicted Efficiency 预测效率 Estimated calories (per 12 oz) 估计卡路里(每12盎司) Instructions 指令Instructions Completed 完成 Time 时间Time Step 步驟 Actual Pre-boil Volume: 实际预煮体积 Actual Pre-boil Gravity: 实际预熬比重: Post-boil Volume: 最后熬煮量 Post-boil Gravity: 熬煮后比重 Volume in fermenter: 发酵体积: Print Document 打印文件 Notes 说明Notes Step %1: %2 步骤 %1: %2 BrewTargetTreeModel Name 名稱 Brew Date 酿造日期 Style 样式Style Boil Time 煮沸时间Boil Time Color 颜色Color Type 类型Type Use 使用Use Form 形式Form Category 类别 Number 编号 Letter Letter信 Guide 指南 BrewTargetTreeView New Recipe 新配方 Brew It! 酿造它! Brew Again 再次酿造 Delete 删除 New Equipment 新设备 New Fermentable New Fermentable New Hop New Hop跳 New Misc New Misc杂项 New Yeast 酵母 Copy 复制 Export 出口 Import 进口 Change date 更改日期 New Style 新风格 Recalculate eff 重新计算EFF Brewtarget Default 默认 EBC EBC SRM SRM Plato 柏拉图Plato Specific Gravity 比重 SI SI US Customary 美国习惯 Milligrams 毫克 Grams Kilograms 公斤 Ounces 盎司 Pounds 英镑 Celsius 摄氏 Fahrenheit 华氏 British Imperial 英制 MilliLiters 毫升 Liters Teaspoons 茶匙 Tablespoons 汤匙 Cups Quarts 夸脱 Gallons 加仑 BtDigitWidget Too low for style. 过低的风格。 In range for style. 在范围的风格 Too high for style. 过高的风格。 Database Merge Database 合并数据库 There may be new ingredients and recipes available. Would you like to add these to your database? 有可能是新的成分和配方。你想添加到你的数据库? EquipmentEditor Grain absorption (%1/%2) 粮食吸水率(%1/%2) Tun Volume Warning 桶容积警告 Batch Size Warning 批量大小警告 Equipment name 设备名称 Equipment name: 设备名称: The tun volume you entered is 0. This may cause problems 重量输入为0。这可能导致问题 The batch size you entered is 0. This may cause problems 您输入的批次大小为0。这可能导致问题 Hop Utilization Warning 合利用预警 The hop utilization percentage you entered is 0. This may cause problems 您输入的酒花利用率为0。这可能导致问题 FermentableDialog Fermentable name 可发酵的名字 Fermentable name: 可发酵的名称: FermentableItemDelegate Grain 粮食 Sugar Extract 提取 Dry Extract 干浸膏 Adjunct 附属物 FermentableTableModel Bad model index. row = %1 坏榜样指数。排=%1row = %1 Mashed 捣碎Mashed Steeped 浸泡 Not mashed 未捣碎 Late 晚Late Normal 正常 Bad column: %1 坏列:%1Bad column: %1 Name 名Name Type 类型Type Amount 金额Amount Late Addition Late Addition晚除了 Yield % 率% Color (SRM) 颜色(SR​​ M) Color (EBC) 颜色(EBC) Hop Mash 糖化醪Mash First Wort 第一麦汁 Boil Aroma 香气 Dry Hop 干合 Bittering 苦味 Both Leaf Pellet Plug 塞插头Plug HopDialog Hop name 合名Hop name Hop name: 合名称合名 HopItemDelegate Boil 熬Boil Dry Hop 干Dry Hop Mash 糖化Mash First Wort 第一次麦芽汁First Wort Aroma 香气Aroma Leaf 叶Leaf Pellet 丸Pellet Plug 插头Plug HopTableModel Name 名Name Alpha % 阿尔法Alpha % Amount 量Amount Use 使用Use Time 时间Time Form 形式Form MainWindow Open 打开Open BeerXML files (*.xml) BeerXML文件BeerXML files (*.xml) Save 节省Save Equipment request 设备的要求Equipment request Would you like to set the batch size, boil size and time to that requested by the equipment? 你想批量大小,熬大小和时间设置设备所要求的吗? Delete %1 删除Delete %1 Delete %1 %2? 删除Delete %1 %2? HTML files (*.html) HTML文件HTML files (*.html) New 新New Recipe 食谱 Equipment 设备Equipment Fermentable 发酵Fermentable Hop 跳Hop Miscellaneous 杂项Miscellaneous Yeast 酵母Yeast Copy %1 复制Copy %1 Enter a unique name for the copy of %1. 输入一个唯一的名称为%1副本。Enter a unique name for the copy of %1. Copy Equipment 复制设备Copy Equipment Copy Fermentable 复制发酵Copy Fermentable Copy Hop 复制合Copy Hop Copy Miscellaneous 复制杂项Copy Miscellaneous Copy Yeast 复制酵母Copy Yeast Database Update 数据库更新原文 Database Update You are about to update the current database with another one. This may make changes to (but will not delete) some of your ingredients. It will not modify any of your recipes. Continue? 您是来更新当前数据库与另一个。这可能会更改(但不会删除)您的一些成分。它不会修改你的食谱。要继续吗? Select Database File 选择数据库文件Select Database File Brewtarget Database (*.sqlite) 的数据库BrewtargetBrewtarget Database (*.sqlite) Recipe name 配方名称Recipe name Recipe name: 配方名称Recipe name: Backup Database 备份数据库Backup Database Oops! 糟糕!Oops! Could not copy the files for some reason. 出于某种原因无法复制的文件。Could not copy the files for some reason A Warning Å警告A Warning This will obliterate your current set of recipes and ingredients. Do you want to continue? 这会抹杀您当前的食谱和配料。你要继续吗?Do you want to continue? For some reason, the operation failed. 出于某种原因,操作失败 For some reason, the operation failed. Import %1? 导入%1吗?Import %1? No mash 没有捣烂No mash Trying to add a mash step without a mash. Please create a mash first. 尝试没有醪中添加醪步骤。请创建醪第一。Trying to add a mash step without a mash. Copy Recipe 复制配方Copy Recipe Enter a unique name for the copy. 进入副本的唯一名称。Enter a unique name for the copy. Please give your mash a name before saving. 请给你的醪的名称保存之前。Please give your mash a name before saving Restart 重新开始Restart Please restart Brewtarget. 请重新启动Brewtarget。 No equipment 没有设备No equipment You must select or define an equipment profile first. 你必须选择或定义一个设备概要文件第一。You must select or define an equipment profile first. No style 没有风格 You must select a style first. 你必须选择一个风格第一You must select a style first.。 Choose File 选择文件 SQLite (*.sqlite) 数据库SQLite (*.sqlite) Style 风格 Copy Style 复制风格 The database has been converted/upgraded. 这个数据库已经转换/升级。 The original XML files can be found in 原始的XML文件中可以找到 The import contained invalid beerXML. It has been imported, but please make certain it makes sense. MaltinessWidget <b>Cloying</b> <b>倒胃口的Cloying</b> <b>Extra malty</b> <b>额外喝醉了的 Extra malty</b> <b>Slightly malty</b> <b>略喝醉了的Slightly malty</b> <b>Balanced</b> <b>平衡Balanced</b> <b>Slightly hoppy</b> <b>略微跳动的Slightly hoppy</b> <b>Extra hoppy</b> <b>额外跳动的Extra hoppy</b> <b>Way hoppy</b> <b>啤酒花的方式Way hoppy</b> MashDesigner No Fermentables 没有发酵物 Your recipe must have fermentables to design a mash. 你的配方必须有设计醪的发酵物。 No Equipment 没有设备 You have not set an equipment for this recipe. We really cannot continue without one. 您没有设置一个设备,这个食谱。我们真的无法继续没有之一。 Tun Temp 屯温度Tun Temp Enter the temperature of the tun before your first infusion. 输入的温度屯之前,你第一次输液。 Decoction error 汤错误Decoction error The first mash step cannot be a decoction. 第一醪步骤不能煎服。 MashStepTableModel Bad model index. row = %1 坏榜样指数排=%1row = %1 Bad column: %1 坏列Bad column: %1 Name Type 类型 Amount 量Amount Infusion Temp 灌注温度Infusion Temp Target Temp 目标温度Target Temp Time 时间Time MashWizard Mash thickness (%1/%2) 醪厚度(1%/2%)Mash thickness (%1/%2) Bad thickness 坏厚度 Bad thickness You must have a positive mash thickness. 你必须有一个积极的麦芽浆厚度 No steps 没有步骤 There must be at least one mash step to run the wizard. 必须有至少一个土豆泥步骤来运行该向导There must be at least one mash step to run the wizard.。 First step 第一步First step Your first mash step must be an infusion. 你第一醪一步都要输液。Your first mash step must be an infusion. Mash too thick 醪太厚 Your mash is too thick for desired temp. at first step. 你醪太厚所需的温度。在第一步骤。 Decoction error 汤错误Decoction error Something went wrong in decoction calculation. 煎剂计算出了错。Something went wrong in decoction calculation. Sparge temp. SPARGE温度。Sparge temp. In order to hit your sparge temp, the sparge water must be above boiling. Lower your sparge temp, or allow for more sparge water. 为了打你的喷雾温度,喷雾水必须煮沸以上。喷雾温度降低,或允许更多的喷雾水 Too much wort 太多的麦汁 You have too much wort from the mash for your boil size. I suggest increasing the boil size by increasing the boil time, or reducing your mash thickness. 你有太多的麦汁从熬大小醪。我建议增加熬熬时间,通过增加或减少您的醪厚度尺寸。 MiscDialog Misc name 其他名称 Misc name: 其他名称: MiscItemDelegate Spice 香料Spice Fining 罚款Fining Water Agent 水剂Water Agent Herb 草本植物Herb Flavor 味Flavor Other 其他 Boil 熬Boil Mash 糖化Mash Primary 主要 Secondary 次要Secondary Bottling 装瓶 MiscTableModel Name 名Name Type 类型Type Use 使用Use Time 时间Time Amount 量Amount Weight 重量 Volume 量体积Volume Amount Type 金额类型MiscTableModel | OptionDialog Open Directory 开放目录 Copy Data 复制数据复制数据 There do not seem to be any data files in this directory, so we will copy your old data here. 似乎是没有任何的数据文件在此目录中,所以我们将在这里复制旧的数据。 Restart 重新开始 Please restart Brewtarget. 请重新启动Brewtarget。 QObject Invalid color formula type: %1 无效的颜色配方类型:%1Invalid color formula type: %1 Unrecognized IBU formula type. %1 无法识别的IBU公式类型。%1Unrecognized IBU formula type. %1 Batch Size: %1 批次大小:%1Batch Size: %1 Boil Size: %1 煮沸大小:%1 Boil Size: %1 Boil Time: %1 煮沸时间:%1Boil Time: %1 OG: %1 OG: %1 FG: %1 FG: %1 Bitterness: %1 IBUs (%2) 苦味:%1 IBUS(%2)Bitterness: %1 IBUs (%2) Color: %1 SRM (%2) 颜色:%1 SRM(%2) Color: %1 SRM (%2) Fermentables 发酵物 Name 名Name Type 类型Type Amount 量Amount Mashed 捣碎Mashed Late 晚Late Yield 产量Yield Color 颜色Color Yes No Total grain: %1 粮食总:%1Total grain: %1 Hops 酒花Hops Alpha 阿尔法Alpha Use 使用Use Time 时间Time IBU IBU Misc 杂项Misc Yeast 酵母 Form 形式Form Stage 舞台Stage Secondary 次要Secondary Primary 主要 Mash 捣碎 Temp 温度 Target 目标 Notes 笔记Notes Instructions 说明 Directory Problem 目录问题 "%1" cannot be read. “%1”不能被读取。"%1" cannot be read. Config directory "%1" cannot be read. 配置目录“%1”不能被读取。Config directory "%1" cannot be read. New Version 新版本New Version Version %1 is now available. Download it? 版本1%。下载了吗?Version %1 is now available. Stop bothering you about new versions? 停止关于新版本的困扰着你? Database Failure 数据库故障 Failed to open the database '%1'. 无法打开数据库'%1'。Failed to open the database '%1'. Save Database Changes 保存数据库的变化 Would you like to save the changes you made? 你想保存您所做的更改? Multiple Databases Found 找到多个数据库 Multiple databases were found. Do you want to restore the changes you made during your last Brewtarget session, or rollback to before last session's changes? 发现多个数据库。你想恢复在最后Brewtarget期间会话,或者回滚所做的更改前最后一届的变化吗? Restore 恢复 Rollback 回滚Rollback Failed to remove the temporary backup database. Navigate to '%1' and remove 'tempBackupDatabase.sqlite'. 无法删除临时备份数据库。导航到“%1”,,并删除'tempBackupDatabase.sqlite'。Navigate to '%1' and remove 'tempBackupDatabase.sqlite'. Failed to rollback to the backup database. Navigate to '%1', remove 'database.sqlite' if it exists, and rename 'tempBackupDatabase.sqlite' to 'database.sqlite'. 无法回滚到备份数据库。导航到“%1”,删除'database.sqlite',如果它存在,命名'tempBackupDatabase.sqlite'database.sqlite'。Navigate to '%1', remove 'database.sqlite' if it exists, and rename 'tempBackupDatabase.sqlite' to 'database.sqlite'. Database Restore Failure 数据库恢复失败 Failed to restore the backup database. Navigate to '%1' and rename 'tempBackupDatabase.sqlite' to 'database.sqlite'. 无法恢复的备份数据库。导航到'%1'命名'tempBackupDatabase.sqlite'database.sqlite'。Navigate to '%1' and rename 'tempBackupDatabase.sqlite' to 'database.sqlite'. Grain 粮食 Sugar Extract 提取 Dry Extract 干浸膏Dry Extract Adjunct 附属物 Boil 熬Boil Mash 糖化Mash Infusion 注入Infusion Temperature 温度 Decoction 煎煮Decoction Bottling 装瓶 Spice 香料Spice Fining 罚款Fining Water Agent 水剂Water Agent Herb 草本植物Herb Flavor 味Flavor Other 其他 Ale 爱尔Ale Lager 拉格Lager Wheat 小麦Wheat Wine 酒酒Wine Champagne 香槟Champagne Liquid Liquid液体 Dry Dry干 Slant Slant偏 Culture Culture文化 Low Medium Medium中 High High高 Very High Very High非常高 Recipes Recipes食谱 Equipment 设备Equipment Fermentables 发酵物Fermentables Hops 酒花Hops Miscellaneous 杂项Miscellaneous Yeast 酵母Yeast Efficiency: %1% 效率:%1%Efficiency: %1% ABV: %1% ABV:%1%ABV: %1% Style 样式Style Recipe Add grains 添加谷物 Add to the mash tun. to the mash tun.到糖化锅。 Heat water Heat water加热水 Bring Bring 带来 %1 water to %2, %1 water to %2, % 1水% 2, for upcoming infusions. for upcoming infusions.对于即将到来的输液 Add %1 water at %2 to mash to bring it to %3. Add %1 water at %2 to mash to bring it to %3.添加% 1水在% 2捣烂,要把% 3。 Heat mash to %1. Heat mash to %1.热压% 1。 Bring %1 of the mash to a boil and return to the mash tun to bring it to %2. Bring %1 of the mash to a boil and return to the mash tun to bring it to %2.带% 1的糖化煮沸并返回到糖化锅带它到% 2。 Hold for %1. Hold for %1.持有% 1。 Put %1 %2 into boil for %3. Put %1 %2 into boil for %3.把% 1% 2成煮% 3。 Put %1 %2 into fermenter for %3. 将%1%2%3进入发酵罐。Put %1 %2 into fermenter for %3. Put %1 %2 into first wort for %3. 将第一麦汁%3%1%2。Put %1 %2 into first wort for %3. Put %1 %2 into mash for %3. 捣烂%1%2%3。Put %1 %2 into mash for %3. Steep %1 %2 in wort for %3. 陡峭的麦汁中的%3%1%2。Steep %1 %2 in wort for %3. Use %1 %2 for %3 Use %1 %2 for %3 Hop addition Use %1 %2 at bottling for %3. %1%2在装瓶%3。Use %1 %2 at bottling for %3. Put %1 %2 into primary for %3. 将分为原发性%3%1%2。Put %1 %2 into primary for %3. Put %1 %2 into secondary for %3. 将次级%3%1%2。Put %1 %2 into secondary for %3. Use %1 %2 for %3. 使用%1%2%3。Use %1 %2 for %3. Misc addition Misc addition把% 1% 2成煮% 3。 Do first wort hopping with Do first wort hopping with 做第一次麦芽汁跳跃 First wort hopping First wort hopping第一次麦芽汁跳跃 You should now have %1 wort. You should now have %1 wort.你现在应该有% 1麦芽汁。 Add %1 water to the kettle, bringing pre-boil volume to %2. Add %1 water to the kettle, bringing pre-boil volume to %2.添加% 1水的水壶,把预煮卷% 2。 Pre-boil Pre-boil Pre-boil Boil or steep Boil or steep 煮沸或陡峭的 Boil/steep fermentables Boil/steep fermentables煮/陡峭的fermentables to the boil at knockout. to the boil at knockout.在淘汰赛的沸腾。 Knockout additions Knockout additions淘汰赛添加 You should have %1 wort post-boil. 你应该有1%的麦汁煮沸后。You should have %1 wort post-boil. You anticipate losing %1 to trub and chiller loss. 您预计失去1%的凝固物和冷水机组的损失。You anticipate losing %1 to trub and chiller loss. Add %1 top up water into primary. 添加%1顶到初级化妆水。Add %1 top up water into primary. The final volume in the primary is %1. 在主终体积为%1。The final volume in the primary is %1. Post boil 发布熬Post boil Boil time 煮沸时间Boil time You did not configure an equipment (which you really should), so tell me the boil time. 你没有配置设备(你真的应该),所以告诉我熬时间。You did not configure an equipment (which you really should), so tell me the boil time. Bring the wort to a boil and hold for %1. 麦汁煮沸,保持1%。Bring the wort to a boil and hold for %1. Start boil 开始沸腾Start boil Flameout 熄火Flameout Stop boiling the wort. 停止沸腾麦汁。Stop boiling the wort. Cool wort and pitch 冷麦汁和俯仰 Cool wort and pitch %1 %2 yeast, %1%2酵母,%1 %2 yeast, to the primary. 到主服务器。to the primary. Pitch yeast 间距酵母Pitch yeast Let ferment until FG is %1. 让发酵,直到FG是1%。Let ferment until FG is %1. Ferment 发酵Ferment Transfer beer to secondary. 二次传输啤酒。Transfer beer to secondary. Transfer to secondary 转移到二级Transfer to secondary Add %1 %2 to boil at %3. 添加%1%2%3烧开。Add %1 %2 to boil at %3. Raise water to boil and then remove from heat. Stir in 提高水烧开,然后从火上移开。拌入 Raise water to boil and then remove from heat. Add Extracts to water 添加提取到水Add Extracts to water %1 water to %2 %2%1水 %1 water to %2 RecipeFormatter unknown style 未知风格unknown style N/A N / A Brewer 布鲁尔Brewer Date 日期 Batch Size 批次大小Batch Size Boil Size 煮沸尺寸Boil Size Boil Time 煮沸时间Boil Time Efficiency 效率Efficiency OG OG FG FG Unknown 未知 ABV ABV Bitterness 苦Bitterness Color 颜色Color Calories (per 12 oz.) 卡路里(每次12盎司。)Calories (per 12 oz.) Fermentables 发酵物Fermentables Total grain: 粮食总:Total grain: Name 名Name Type 类型Type Amount 量Amount Mashed 捣碎Mashed Late 晚Late Yield 产量Yield Yes No Hops 酒花Hops Alpha 阿尔法Alpha Use 使用Use Time 时间Time Form 形式Form IBU IBU Misc 其他 Yeast 酵母Yeast Stage 舞台Stage Secondary 次要Secondary Primary 主要 Mash 糖化Mash Temp 温度 Target Temp 目标温度Target Temp Notes 说明Notes Instructions 指令Instructions Brew Date 酿造日期 Preboil Preboil SG SG Volume into BK 卷成BKVolume into BK Strike Temp 行使温度Strike Temp Final Temp 最终温度Final Temp Eff into BK BK效率成Eff into BK Projected OG 预计OGProjected OG Postboil Postboil Postboil Volume Postboil体积Postboil Volume Volume Into Fermenter 进入发酵罐的体积Volume Into Fermenter Brewhouse Eff 啤酒厂效率Brewhouse Eff Projected ABV 预计ABVProjected ABV Postferment Postferment Volume 量体积Volume Print Document 打印文件 RefractoDialog OG Mismatch OG不匹配 Based on the given original plato, the OG should be %1, but you have entered %2. Continuing with the calculated OG. 根据给定的原始柏拉图,OG应该是1%,但是,你已经进入了2%。继续计算OG。Based on the given original plato, the OG should be %1, but you have entered %2. ScaleRecipeTool Recipe Scaled 配方缩放 The mash has been reset due to the fact that mash temperatures do not scale easily. Please re-run the mash wizard. 的糊状物已被复位,因为这样的事实,醪液温度不很容易扩展。请重新运行醪向导。 The equipment and mash have been reset due to the fact that mash temperatures do not scale easily. Please re-run the mash wizard. 设备和土豆泥已复位由于这样的事实醪的温度不容易扩展。请重新运行醪向导。 StyleEditor Style name 样式名 Style name: 风格名称: TimerWidget Open Sound 打开声音 Audio Files (*.wav *.ogg *.mp3 *.aiff) 音频文件(*。WAV OGG,MP3音乐,AIFF) Stop 停止 Start 开始 WaterTableModel Bad model index. row = %1 坏榜样指数排=%1row = %1 Bad column: %1 坏列:%1Bad column: %1 Name 名Name Amount 量Amount Calcium (ppm) 钙(PPM)Calcium (ppm) Bicarbonate (ppm) 碳酸氢钠(PPM)Bicarbonate (ppm) Sulfate (ppm) 硫酸(PPM)Sulfate (ppm) Chloride (ppm) 氯化物(PPM)Chloride (ppm) Sodium (ppm) 钠(PPM)Sodium (ppm) Magnesium (ppm) 镁Magnesium (ppm) YeastDialog Yeast name 酵母的名字Yeast name Yeast name: 酵母的名字:Yeast name: YeastItemDelegate Ale 爱尔Ale Lager 拉格Lager Wheat 小麦Wheat Wine 酒Wine Champagne 香槟Champagne Liquid Liquid液体 Dry Dry干 Slant Slant偏 Culture Culture文化 YeastTableModel Bad model index. row = %1 坏榜样指数排row = %1 Bad column: %1 坏列Bad column: %1 Name 名Name Type 类型Type Form 形式Form Amount 量Amount Laboratory 实验室Laboratory Product ID 产品IDProduct ID aboutDialog About Brewtarget 关于BrewtargetAbout Brewtarget <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'DejaVu Sans'; font-size:9pt; font-weight:400; font-style:normal;"> <p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:20pt;">Brewtarget %1</span></p> <p style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Brewtarget, for developing beer recipes.</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Copyright 2009-2013 by the developers below.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier'; font-weight:600; text-decoration: underline;">Developers</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Peter Buelow</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Dan Cavanagh</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Mik Firestone</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Philip G. Lee &lt;rocketman768@gmail.com&gt;</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier'; font-weight:600; text-decoration: underline;">Copyright (GPLv3)</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Brewtarget is free software: you can redistribute it and/or modify</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">it under the terms of the GNU General Public License as published by</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">the Free Software Foundation, either version 3 of the License, or</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">(at your option) any later version.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Brewtarget is distributed in the hope that it will be useful,</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">but WITHOUT ANY WARRANTY; without even the implied warranty of</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">GNU General Public License for more details.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">You should have received a copy of the GNU General Public License</span></p> <p style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">along with Brewtarget. If not, see &lt;</span><a href="http://www.gnu.org/licenses/"><span style=" font-family:'Courier New,courier'; text-decoration: underline; color:#0000ff;">http://www.gnu.org/licenses/</span></a><span style=" font-family:'Courier New,courier';">&gt;.</span></p> <p style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier'; font-weight:600; text-decoration: underline;">Source Code</span></p> <p style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Brewtarget's source code can be downloaded at </span><a href="http://brewtarget.sourceforge.net"><span style=" font-family:'Sans Serif'; text-decoration: underline; color:#0057ae;">brewtarget.sourceforge.net</span></a><span style=" font-family:'Sans Serif';">.</span></p> <p style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier'; font-weight:600; text-decoration: underline;">Special Thanks</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Guido Carpi (Italian translation)</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Ester (Catalan translation)</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Marc Cote (French translation)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Pawel Fiedor (Polish translation)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Admiro (Polish translation)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Edu Engler (Portuguese translation)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Jan Grmela (Czech translation)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Randy Brace (alpha tester)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://finalgravitypodcast.com"><span style=" font-family:'Sans Serif'; text-decoration: underline; color:#0057ae;">Final Gravity Podcasts</span></a></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Glenn Tinseth &lt;</span><a href="http://www.realbeer.com/hops"><span style=" text-decoration: underline; color:#0000ff;">http://www.realbeer.com/hops</span></a><span style=" font-family:'Courier New,courier';">&gt;</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">server, printer, edit-copy, document-print-preview and merge images from Oxygen theme (CC license)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">backup image from Nuvola theme (LGPL)</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'DejaVu Sans'; font-size:9pt; font-weight:400; font-style:normal;"> <p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:20pt;">Brewtarget %1</span></p> <p style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Brewtarget, for developing beer recipes.</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Copyright 2009-2013 by the developers below.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier'; font-weight:600; text-decoration: underline;">Developers</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Peter Buelow</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Dan Cavanagh</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Mik Firestone</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Philip G. Lee &lt;rocketman768@gmail.com&gt;</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier'; font-weight:600; text-decoration: underline;">Copyright (GPLv3)</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Brewtarget is free software: you can redistribute it and/or modify</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">it under the terms of the GNU General Public License as published by</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">the Free Software Foundation, either version 3 of the License, or</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">(at your option) any later version.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Brewtarget is distributed in the hope that it will be useful,</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">but WITHOUT ANY WARRANTY; without even the implied warranty of</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">GNU General Public License for more details.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">You should have received a copy of the GNU General Public License</span></p> <p style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">along with Brewtarget. If not, see &lt;</span><a href="http://www.gnu.org/licenses/"><span style=" font-family:'Courier New,courier'; text-decoration: underline; color:#0000ff;">http://www.gnu.org/licenses/</span></a><span style=" font-family:'Courier New,courier';">&gt;.</span></p> <p style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier'; font-weight:600; text-decoration: underline;">Source Code</span></p> <p style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Brewtarget's source code can be downloaded at </span><a href="http://brewtarget.sourceforge.net"><span style=" font-family:'Sans Serif'; text-decoration: underline; color:#0057ae;">brewtarget.sourceforge.net</span></a><span style=" font-family:'Sans Serif';">.</span></p> <p style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier'; font-weight:600; text-decoration: underline;">Special Thanks</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Guido Carpi (Italian translation)</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Ester (Catalan translation)</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Marc Cote (French translation)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Pawel Fiedor (Polish translation)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Admiro (Polish translation)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Edu Engler (Portuguese translation)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Jan Grmela (Czech translation)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Randy Brace (alpha tester)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://finalgravitypodcast.com"><span style=" font-family:'Sans Serif'; text-decoration: underline; color:#0057ae;">Final Gravity Podcasts</span></a></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Glenn Tinseth &lt;</span><a href="http://www.realbeer.com/hops"><span style=" text-decoration: underline; color:#0000ff;">http://www.realbeer.com/hops</span></a><span style=" font-family:'Courier New,courier';">&gt;</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">server, printer, edit-copy, document-print-preview and merge images from Oxygen theme (CC license)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">backup image from Nuvola theme (LGPL)</span></p></body></html> Donate 捐赠Donate brewDayScrollWidget Form 形式Form Generate Instructions 生成指令 Insert step 插入步骤 Name 名Name Name of new step 新的一步名称 Step # 步骤# The number where the new step should be placed 应放置在新的步骤的数目 Insert the new step 插入新的一步Insert the new stepyi Move steps 移动步骤Move steps Move currently selected step up 移动当前选中的加强Move currently selected step up Move currently selected step down 移动当前选中下台Move currently selected step down Remove currently selected step 删除当前选中的一步Remove currently selected step brewDayWidget Brewday Mode Brewday模式Brewday Mode Instructions 指令Instructions Move currently selected step up 移动当前选中的加强Move currently selected step up Up 上层Up Move currently selected step down 移动当前选中下台Move currently selected step down Down 下Down Remove currently selected step 删除当前选择的步骤Remove currently selected step Remove 消除Remove Insert step 插入步骤 Name 名Name Name of new step 新的一步名称 Step # 步骤# The number where the new step should be placed 应放置在新的步骤的数目 Insert the new step 插入新的一步Insert the new stepyi Insert 插入 brewNoteWidget Form 形式Form Preboil Preboil SG SG Preboil gravity Preboil重力Preboil gravity Volume 量体积体积Volume Volume of wort collected 收集的麦芽汁的体积 Strike Temp 行使温度Strike Temp Temperature of mash after dough in 糖化温度后的面团Temperature of mash after dough in Final Temp 最终温度Final Temp Temperature of mash before mash out 混搭出前醪温度 Postboil Postboil OG OG Post boil gravity 烧开后重力Post boil gravity Postboil Volume Postboil体积Postboil Volume Volume of wort in BK after boil 在BK卷麦汁煮沸后Volume of wort in BK after boil Volume of wort transferred to fermenter 麦汁量转移到发酵Volume of wort transferred to fermenter Volume into fermenter 进入发酵罐的体积Volume into fermenter Pitch Temp 间距温度 Pitch Temp Temperature of wort when yeast is pitched 麦汁温度时,酵母投Temperature of wort when yeast is pitched Postferment Postferment Final gravity 最后重力 Volume of beer into serving keg/bottles 服成桶/瓶啤酒量 Date when the yeast fermented out 酵母发酵时的日期 percent efficiency into boil kettle Eff into BK BK效率成Eff into BK Expected OG, based on measure fg 预计OG,根据措施FG Projected OG 预计OG Brewhouse efficiency 啤酒厂效率 Brewhouse Eff 啤酒厂效率Brewhouse Eff Expected ABV based on OG 根据OG预期ABV Projected ABV 预计ABVProjected ABV ABV based on FG ABV基于FGABV based on FG ABV ABV Notes 说明Notes btSplashScreen Form 形式Form converterTool Converter Tool 转换器工具Converter Tool Input 输入Input Amount and units to convert 金额和单位转换Amount and units to convert Output Units 输出单元Output Units Unit you want to convert to 你要转换的单位Unit you want to convert to Output 产量Output Output conversion 输出转换Output conversion Convert 兑换Convert equipmentEditor Equipment Editor 设备编辑器Equipment Editor Equipment 设备Equipment Remove equipment 删除设备Remove equipment Set as Default 设置为默认Set as Default Required Fields 必填项Required Fields Name 名Name Pre-boil volume 煮沸前音量Pre-boil volume If checked, we will calculate your pre-boil volume based on your desired batch size, boil time, evaporation rate, losses, etc. 如果选中,我们将计算你的预熬根据您所需的批处理大小,熬时间,蒸发率,损失等体积 Calculate pre-boil volume 计算预熬音量Calculate pre-boil volume Automatically fill in pre-boil volume 自动填写预熬货量Automatically fill in pre-boil volume Batch size 批量大小 Boiling && Water 水沸腾&&Boiling && Water Boil time 煮沸时间Boil time Evaporation rate (per hr) 蒸发率(每小时)Evaporation rate (per hr) How much water boils off per hour 关闭每小时多少水沸腾How much water boils off per hour Kettle top-up water 水壶补足水Kettle top-up water How much water is added to kettle immediately pre-boil 有多少水立即添加到釜中煮沸前How much water is added to kettle immediately pre-boil Final top-up water 最终补足水Final top-up water Water added to fermenter 水加入到发酵罐Water added to fermenter Grain Absorption (L/kg) 谷物吸收(L /公斤) Default Absorption 默认吸收 Boiling Point of Water 水的沸点 Hop Utilization 合利用 Hop Utilization Mash Tun 醪屯Mash Tun Volume 量体积体积Volume Volume of mash tun 糖化桶体积 Mass 块Mass Mass or weight of mash tun 糖化桶的质量或重量Mass or weight of mash tun Specific heat (cal/(g*K)) 比热(千卡/(G* K))Specific heat (cal/(g*K)) Losses LossesLosses Kettle to fermenter 水壶发酵Kettle to fermenter Wort lost between kettle and fermenter 麦汁之间失去水壶和发酵Wort lost between kettle and fermenter Lauter deadspace 纯净的死亡空间Lauter deadspace Volume of wort lost to lauter deadspace 体积的麦芽汁输给了纯净的死亡Volume of wort lost to lauter deadspace Notes 说明Notes New equipment 新设备New equipment Save 节省Save Cancel 取消 fermentableDialog Fermentable Database 可发酵的数据库Fermentable Database Add selected ingredient to recipe 选择添加成份,配方添加选定的配方成分Add selected ingredient to recipe Add to Recipe 添加到配方Add to Recipe Create new ingredient 创建新的成分Create new ingredient New 新New Edit selected ingredient 编辑选定的成分Edit selected ingredient Remove selected ingredient 删除选定的成分Remove selected ingredient fermentableEditor Fermentable Editor 可发酵的编辑Fermentable Editor Required Fields 必填项Required Fields Name 名Name Type 类型Type Grain 粮食 Sugar Extract 提取 Dry Extract 干浸膏Dry Extract Adjunct 附属物 Amount 量Amount Yield (%) 收益率(%)Yield (%) Yield as compared to glucose 良品率相比为葡萄糖Yield as compared to glucose Lovibond 罗维朋Lovibond Lovibond rating 罗维朋评级Lovibond rating Add After Boil 开锅后加入Add After Boil This ingredient is added post boil. 这种成分加入后烧开。This ingredient is added post boil. Origin 来源Origin Supplier 提供者Supplier Coarse/Fine Diff (%) 粗/细变化(%)Coarse/Fine Diff (%) Yield difference between coarse and fine grind 粗,细研磨的产量之间的差异Yield difference between coarse and fine grind Moisture (%) 水分(%)Moisture (%) Moisture percentage by mass 水分的质量百分比Moisture percentage by mass DP (Lintner) DP(林特纳)DP (Lintner) Diastatic power in Lintner 林特纳糖化力Diastatic power in Lintner Protein (%) 蛋白质(%)Protein (%) Protein percentage by mass 蛋白质的质量百分比Protein percentage by mass Max In Batch (%) 最大批量(%)Max In Batch (%) Maximum recommended percentage of total grist 推荐的最大百分比总谷物Maximum recommended percentage of total grist Recommend Mash 推荐醪Recommend Mash Recommend this be mashed 推荐这捣碎Recommend this be mashed Is Mashed 捣碎Is Mashed Checked if it is present in mash 检查,如果它是存在于麦芽浆中Checked if it is present in mash Bitterness (IBU*gal/lb) 苦味(IBU加仑/磅)苦(IBU *加仑/磅) Bitterness of pre-hopped extracts 预跳上提取的苦味Bitterness of pre-hopped extracts Notes: 附注:Notes: hopDialog Hop Database 合数据库 Add selected ingredient to recipe 选择添加成份,配方添加选定的配方成分Add selected ingredient to recipe Add to Recipe 添加到配方Add to Recipe New hop 新一跳New hop New 新New Edit 编辑Edit Remove 消除Remove hopEditor Hop Editor 跳编辑Hop Editor Required Fields 必填项Required Fields Name 名Name Alpha (%) Alpha (%)α-酸为 Alpha acids as percent by mass α-酸为质量百分比Alpha acids as percent by mass Amount 金额Amount Amount 量Amount Use 使用Use Mash 糖化Mash First Wort 第一次麦芽汁First Wort Boil 熬Boil Aroma 香气 Dry Hop 干合Dry Hop Time 时间Time Type 类型Type Bittering 苦味 Bittering Both 两Both Form 形式Form Leaf 叶Leaf Pellet 丸Pellet Plug 插头Plug Beta (%) Beta (%)β(% Beta acids as percent by mass β氨基酸为质量百分比Beta acids as percent by mass HSI 溪HSI Hop Stability/Storage index 啤酒花稳定/存储索引Hop Stability/Storage index Origin 来源Origin Humulene (%) 蛇麻烯(%)Humulene (%) Humulene 蛇麻烯Humulene Caryophyllene (%) 石竹烯(%)Caryophyllene (%) Caryophyllene 石竹烯Caryophyllene Cohumulone (%) 草酮(%)Cohumulone (%) Cohumulone 草酮Cohumulone Myrcene (%) 月桂烯(%)Myrcene (%) Myrcene 月桂烯Myrcene Substitutes: 替补:Substitutes: Notes: 附注:Notes: htmlViewer Html Viewer HTML浏览器Html Viewer about:blank 关于:空白about:blank instructionWidget Form 形式Form Show a timer 显示一个计时器Show a timer Show timer 显示计时器Show timer Mark this step completed 标记完成这一步Mark this step completed Step completed 步骤完成Step completed mainWindow Recipes Recipes食谱 Styles 样式Styles Fermentables 发酵物Fermentables Hops 酒花Hops Miscs Miscs Yeasts 酵母菌Yeasts Recipe 食谱 Name 名Name Name of recipe 配方名称Name of recipe 5 gal 5 gal5加仑 Target boil size 目标熬大小的Target boil size Efficiency (%) 效率(%)Efficiency (%) Calculated Boil Size 煮多少计算Calculated Boil Size Calculated Batch Size 计算批量大小Calculated Batch Size The extraction efficiency you expect 你期望的萃取效率The extraction efficiency you expect Style 样式Style Boil Time 煮沸时间Boil Time Target batch size 目标批量大小 Target Batch Size 目标批次大小Target Batch Size Equipment 设备Equipment Target Boil Size 目标熬尺寸的Target Boil Size OG OG Boil SG 煮SGBoil SG FG FG ABV ABV Bitterness (IBU) 苦味(IBU) Color 颜色Color IBU/GU IBU/GU Calories/12oz 卡路里/ 12盎司Calories/12oz Extras 额外Extras Brewday Brewday Add a fermentable 添加一个可发酵Add a fermentable Remove selected fermentable 删除选定的发酵Remove selected fermentable Edit selected fermentable 编辑选定的可发酵Edit selected fermentable Add hop 添加酒花Add hop Remove selected hop 删除选定的跳Remove selected hop Edit selected hop 编辑选择Edit selected hop Miscellaneous 杂项Miscellaneous Add misc 添加杂项Add misc Remove selected misc 移动选定杂项Remove selected misc Edit selected misc 编辑选定的杂项Edit selected misc Yeast 酵母Yeast Add yeast 添加酵母Add yeast Remove selected yeast 删除选定的酵母Remove selected yeast Edit selected yeast 编辑选择的酵母Edit selected yeast Mash 糖化Mash Add mash step 添加醪步骤“Add mash step Remove selected mash step 删除选定的醪步骤 Edit selected mash step 编辑选定的醪步骤“ Edit mash properties 编辑捣烂属性Edit mash properties Edit mash 编辑捣烂编辑捣烂 Mash Des 醪DESMash Des Invoke the mash wizard 调用捣烂向导Invoke the mash wizard Mash wiz 醪WIZMash wiz Mashs Mashs Mash step up 糖化加强Mash step up Mash step down 糖化下台Mash step down Save this mash profile 保存此捣烂文件Save this mash profile Save Mash 保存醪Save Mash &About 关于(&A) &File 文件(&F) &Brewday &Brewday &Recipe &食谱&Recipe &Database 和数据库&Database &View 查看(&V) &Tools &工具 toolBar 工具栏toolBar About &BrewTarget 关于BrewTargetAbout &BrewTarget About Brewtarget 关于BrewtargetAbout Brewtarget &Export Recipe 进出口配方&Export Recipe &Fermentables 发酵物&Fermentables Ctrl+F 按Ctrl+ FCtrl+F &Hops 啤酒花&Hops Ctrl+H 按Ctrl+ HCtrl+H &Miscs &Miscs Ctrl+M 按Ctrl+ MCtrl+M &Yeasts 酵母菌&Yeasts Ctrl+Y 按CTRL + Y &Equipments 及设备 Ctrl+E 按Ctrl + E键 &Styles 与样式 Ctrl+T 按Ctrl + T键 &Exit 退出(&E) Ctrl+Q 按Ctrl + Q &Import Recipes 与进口食谱 &Options 与选项 &Manual 手动 &Scale Recipe 和规模配方 Recipe to Clipboard as &Text 配方和文字到剪贴板 &OG Correction Help 与OG校正帮助 &Convert Units 与转换单位 Backup Database 备份数据库Backup Database Restore Database 还原数据库 &Copy Recipe 复制配方 Pr&iming Calculator 公关及即时通信计算器Pr&iming Calculator &Refractometer Tools 折射工具 &Pitch Rate Calculator 间距率计算器 Merge Databases 合并数据库 Select another database to merge into the current one. 选择另一个数据库合并到当前。 &Print 打印(&P) Print Pre&view 打印前视图 &Export To HTML &导出为HTML &Export to HTML &导出到HTML &Backup 与备份 Save all recipes, ingredients, etc. to a backup folder 所有的配方,配料等保存到备份文件夹 &Restore 和恢复 Restore recipes, ingredients, etc. from a previous backup 恢复配方,配料,从以前的备份等 &Merge 您是不是要找: Merge 与合并&Merge Merge another set of recipes, ingredients, etc. into the current set 合并到当前的一组中的另一组的配方,配料,等Merge another set of recipes, ingredients, etc. into the current set &New Recipe 新配方&New Recipe Timers 定时器Timers Show timers 显示计时器Show timers Save 节省Save Delete selected 删除选定的Delete selected Delete recipe 删除配方Delete recipe Donate 捐赠Donate &Mashs &Mashs Mashes 捣烂Mashes mashDesigner Mash Designer 混搭设计Mash Designer Name 名Name Type 类型Type Target temp. 目标温度。Target temp. Time 时间Time Batch Sparge 批喷雾Batch Sparge Next 下一步 Finish 完成Finish Infusion/Decoction Amount 输液/汤量Infusion/Decoction Amount min 分钟min max 最大max 0 0 Infusion Temp 灌注温度Infusion Temp Total Collected Wort 总收集麦芽汁Total Collected Wort vol 卷vol Tun Fullness 桶丰满Tun Fullness tunVol tunVol thickness 厚度thickness mashEditor Mash Editor 混搭编辑器Mash Editor Name 名Name Initial grain temp 初始晶粒温度Initial grain temp Sparge temp 吹扫温度Sparge temp Sparge temp target 吹扫温度目标Sparge temp target Sparge pH 喷雾pHSparge pH Notes 说明Notes Tun 桶Tun Initial tun temp 初始桶温度Initial tun temp Get following parameters from the recipe's equipment. 以下参数配方的设备。Get following parameters from the recipe's equipment. From Equipment 设备From Equipment Tun mass 桶质量Tun mass Tun sp. heat 桶sp热Tun sp. heat Tun specific heat (cal/(g*K)) 桶比热(cal /(g * K))Tun specific heat (cal/(g*K)) mashStepEditor Mash Step Editor 麦芽浆步骤编辑Mash Step Editor Name 名Name Type 类型Type Infusion 注入Infusion Temperature 温度 Decoction 煎煮Decoction Target temp. 目标温度。Target temp. Target temp. of this step 目标温度Target temp. of this step Infuse Amount 注入量Infuse Amount Amount of water to infuse 量的水注入Amount of water to infuse Infuse temp. 注入温度。Infuse temp. Temperature of infusion water 注入水的温度Temperature of infusion water Decoction Amount 汤量Decoction Amount Amount of mash to decoct 数量的麦芽浆来煎Amount of mash to decoct Time 时间Time Time to conduct the step 时间进行的步骤Time to conduct the step Temp. lag time 临时滞后时间Temp. lag time Lag time 滞后时间Lag time End temp. 结束临时End temp. Final temp. of this step 最后这一步的临时工Final temp. of this step mashWizard Mash Wizard 糖化向导Mash Wizard Mash thickness (L/kg) 麦芽浆厚度(L /公斤)Mash thickness (L/kg) Mash thickness (do not enter any units) 麦芽浆厚度(不输入任何单位)Mash thickness (do not enter any units) miscDialog Misc Database Misc数据库Misc Database Add selected ingredient to recipe 选择添加成份,配方添加选定的配方成分Add selected ingredient to recipe Add to Recipe 添加到配方Add to Recipe Create a new ingredient 创建一个新的成分Create a new ingredient New 新New Edit selected ingredient 编辑选定的成分Edit selected ingredient Remove selected ingredient 删除选定的成分Remove selected ingredient miscEditor Misc Editor 其他编辑器 Name 名Name Type 类型Type Spice 香料Spice Fining 罚款Fining Water Agent 水剂Water Agent Herb 草本植物Herb Flavor 味Flavor Other 其他 Use 使用Use Boil 熬Boil Mash 糖化Mash Primary 主要 Secondary 次要Secondary Bottling 装瓶 Time 时间Time Amount 量Amount Check it if the amount listed is in kg instead of L. 检查如果上市量(公斤)代替L。 Amount is weight? 金额重量?Amount is weight? Checked if the given amount is weight instead of volume 检查,如果给定的量是重量,而不是数量 Use for: 用于: Notes: 附注:Notes: namedMashEditor Named Mash Editor 命名混搭编辑器Named Mash Editor Mash 糖化Mash Delete selected style 删除选定的风格 Name 名Name Initial grain temp 初始晶粒温度 Sparge temp 吹扫温度Sparge temp Sparge temp target 吹扫温度目标Sparge temp target Sparge pH 喷雾pHSparge pH Notes 说明Notes Tun 桶Tun Initial tun temp 初始桶温度Initial tun temp From Equipment 设备From Equipment Tun mass 桶质量Tun mass Tun sp. heat 桶sp热Tun sp. heat Tun specific heat (cal/(g*K)) 桶比热(cal /(g * K))Tun specific heat (cal/(g*K)) Add mash step 添加醪步骤“Add mash step Remove selected mash step 删除选定的醪步骤 Mash step up 糖化加强Mash step up Mash step down 糖化下台下台醪Mash step down ogAdjuster Adjust Volume to Hit OG 调整音量命中OGAdjust Volume to Hit OG Input 输入Input SG SG Measured gravity pre-boil 重力测量前熬 Temp 温度 Temperature of SG reading 温度的SG阅读Temperature of SG reading Calibration Temp 校准温度 Temp to which the hydrometer is calibrated 温度,比重计校准 -or- - 或者 - Plato 柏拉图Plato Plato (percent by mass of equivalent sucrose) 柏拉图质量相当于蔗糖(%)Plato (percent by mass of equivalent sucrose) Pre-Boil Volume 煮沸前成交量Pre-Boil Volume Measured pre-boil volume 测量前熬量Measured pre-boil volume Output 产量Output OG w/o Correction OG W / O型校正OG w/o Correction OG if you boil as planned OG如果你熬计划OG if you boil as planned Add to Boil 添加煮Add to Boil Amount of water you need to add to hit planned OG (or boil off if negative) 适量的水,你需要添加打计划OG(如果为负或煮沸)Amount of water you need to add to hit planned OG (or boil off if negative) Final Batch Size F最后一批大小inal Batch Size Estimated batch size after correction 修正后的预计批量大小Estimated batch size after correction Calculate 计算Calculate optionsDialog Options 选项 Units 单位Units Weight 重量 Use SI units 使用国际标准单位Use SI units Use US traditional units 用我们传统的单位Use US traditional units Use British imperial units 使用英帝国单位 Temperature 温度 Celsius 摄氏 Fahrenheit 华氏 Volume 量体积体积Volume Gravity 重力Gravity 20C/20C Specific Gravity 20/20℃比重20C/20C Specific Gravity Plato/Brix/Balling 柏拉图/糖度/球的Plato/Brix/Balling Color 颜色Color Use SRM 使用SRM Use EBC 使用EBC Formulas 公式 Mosher's approximation 莫舍的近似Mosher's approximation Daniels' approximation 丹尼尔斯逼近Daniels' approximation Morey's approximation 莫雷的近似Morey's approximation IBU IBU Tinseth's approximation 廷塞思近似Tinseth's approximation Rager's approximation 狂怒的近似Rager's approximation IBU Adjustments IBU调整 % IBU adjustment %布洛芬调整的% IBU adjustment Mash Hop 麦芽浆Mash Hop First Wort 第一麦汁 Directories 目录Directories Database Directory 数据库目录Database Directory Where your brewtarget .xml files are. 你的brewtarget。xml文件Where your brewtarget .xml files are. Browse 浏览 Default 默认Default Language 语言 Czech 捷克语Czech Catalan 加泰罗尼亚Catalan German 德国人德国 English 英语 Spanish 西班牙语 French 法语 Italian 意大利的Italian Dutch 荷兰人Dutch Polish 波兰语Polish Portuguese 葡萄牙Portuguese Russian 俄语 <qt> <b>Know another language?</b> <br><br> Or, would you like to improve a translation? Help us out and <a href="https://sourceforge.net/sendmessage.php?touser=938941"> provide a translation</a> so that your friends can use brewtarget! </qt> <qt> <b>Know another language?</b> <br><br> Or, would you like to improve a translation? Help us out and <a href="https://sourceforge.net/sendmessage.php?touser=938941"> provide a translation</a> so that your friends can use brewtarget! </qt> pitchDialog Pitch Rate Calculator 间距率计算器Pitch Rate Calculator Input 输入Input Wort Volume 麦汁体积Wort Volume OG OG For ales, 0.75-1. For lagers, 1.5-2. 适用于0.75-1啤酒,。对于啤酒,1.5-2。For ales, 0.75-1. For lagers, 1.5-2. Pitch Rate (M cells)/(mL*P) 距率(M细胞)/(mL * P)Pitch Rate (M cells)/(mL*P) Aeration Method 曝气法Aeration Method Yeast Production Date 酵母生产日期Yeast Production Date Yeast Viability 酵母活力Yeast Viability None 无None O2 At Start O2在开始O2 At Start Stir Plate 搅拌板Stir Plate MM/dd/yyyy MM / DD /年MM/dd/yyyy % % TextLabel 文本标签TextLabel Calculate Viability From Date 计算从日期的可行性Calculate Viability From Date # Vials/Smack Packs Pitched 啪#瓶/包投# Vials/Smack Packs Pitched Output 产量Output Billions of Yeast Cells Required 酵母细胞所需的数十亿Billions of Yeast Cells Required # Vials/Smack Packs w/o Starter #瓶/打包w / o起动器# Vials/Smack Packs w/o Starter Dry Yeast 干酵母Dry Yeast Starter Volume 起动器体积Starter Volume primingDialog Priming Calculator 启动计算器Priming Calculator Input 输入Input Collected Beer Volume 收集啤酒销量Collected Beer Volume Amount of beer to prime 数量的啤酒主要Amount of beer to prime Beer Temperature 啤酒温度Beer Temperature Temp of the beer 气温啤酒Temp of the beer Desired Volumes 所需的量Desired Volumes How many volumes of CO2 you want (1 L CO2 @ STP per L beer) 你想要多少体积的CO2(1 L CO2 @ STP每升啤酒)How many volumes of CO2 you want (1 L CO2 @ STP per L beer) Glucose Monohydrate (corn sugar) 葡萄糖一水合物(玉米糖)Glucose Monohydrate (corn sugar) Anhydrous Glucose 无水葡萄糖Anhydrous Glucose Sucrose (table sugar) 蔗糖(蔗糖)Sucrose (table sugar) Dry Malt Extract 干燥的麦芽提取物Dry Malt Extract Output 产量Output Prime with 主要与Prime with How much priming ingredient to use 使用多少吸成分How much priming ingredient to use Calculate 计算Calculate recipeExtrasDialog Recipe Extras 配方附加Recipe Extras Brewer 布鲁尔Brewer Asst. Brewer 助理。布鲁尔Asst. Brewer Taste Rating 味道等级Taste Rating Primary Age (days) 小学年龄(天)Primary Age (days) Primary Temp 初级温度Primary Temp Secondary Age (days) 中学时代(天)Secondary Age (days) Secondary Temp 二次温度Secondary Temp Tertiary Age (days) 第三纪(天)Tertiary Age (days) Tertiary Temp 第三温度Tertiary Temp Bottle/Keg Age (days) 瓶/桶年龄(天)Bottle/Keg Age (days) Bottle/Keg Temp 瓶/桶温度Bottle/Keg Temp Date First Brewed 首先酿造的日期Date First Brewed dd MMM yyyy dd MMM yyyy Carbonation Volumes 碳化卷Carbonation Volumes Taste Notes 味道注意事项Taste Notes Notes 说明Notes Cancel 取消 recipeExtrasWidget Form 形式Form Brewer 布鲁尔Brewer Asst. Brewer 助理。布鲁尔Asst. Brewer Taste Rating 味道等级Taste Rating Primary Age (days) 小学年龄(天)Primary Age (days) Primary Temp 初级温度 Secondary Age (days) 中学时代(天)Secondary Age (days) Secondary Temp 二次温度Secondary Temp Tertiary Age (days) 第三纪(天)Tertiary Age (days) Tertiary Temp 第三温度Tertiary Temp Bottle/Keg Age (days) 瓶/桶年龄(天)Bottle/Keg Age (days) Bottle/Keg Temp 瓶/桶温度Bottle/Keg Temp Date First Brewed 首先酿造的日期Date First Brewed dd MMM yyyy dd MMM yyyy Carbonation Volumes 碳化卷Carbonation Volumes Taste Notes 味道注意事项Taste Notes Notes 说明Notes refractoDialog Refractometer Tools 折射工具 Inputs 输入 Original Plato 原柏拉图Original Plato OG (20 C) OG(20°C) Current Plato 当前柏拉图Current Plato Calculate 计算Calculate Outputs 输出 SG (20C) SG(20C) ABV ABV ABW ABW Refractive Index 折光指数 Real Extract (Plato) 实时提取物(柏拉图) OG (20C) OG (20C) scaleRecipeTool Scale Recipe 规模配方 New batch size 新批次大小 New efficiency (pct) 新效率(PCT) styleEditor Style Editor 样式编辑器 Style 样式Style Delete selected style 删除选定的风格 Basic Information 基本信息Basic Information Name 名Name Category 类别 Category number 类别号Category number Style letter 样式Style letter Style guide 风格指南Style guide Type 类型Type Type of beverage 饮料类型Type of beverage Lager 拉格Lager Ale 爱尔Ale Mead 蜂蜜酒Mead Wheat 小麦Wheat Mixed 混合Mixed Cider 苹果汁Cider Vital Statistics 至关重要的统计Vital Statistics Max 最大Max Min 分钟Min OG OG FG FG IBUs IBUs Color (SRM) 颜色(SR​​ M) Carb (vols) 碳水化合物(卷)Carb (vols) ABV (pct) ABV (pct) Profile 配置文件 Ingredients 成分Ingredients Examples 例子Examples Notes 说明Notes New 新New Save 节省Save Cancel 取消 timerListDialog Timers 定时器Timers timerWidget Form 形式Form Set the timer to the specified value 设置定时器为指定的值Set the timer to the specified value Set HH:MM:SS HH:MM:SS Start/Stop timer 启动/停止计时器Start/Stop timer Start 开始 Set a sound as the alarm 设置一个声音警报Set a sound as the alarm Sound 声音Sound waterEditor Dialog 对话Dialog Name 名Name Notes 说明Notes yeastDialog Yeast Database 酵母数据库Yeast Database Add selected yeast to recipe 添加选定的酵母配方Add selected yeast to recipe Add to Recipe 添加到配方Add to Recipe Create new yeast 创建新的酵母Create new yeast New 新New Edit selected yeast 编辑选择的酵母Edit selected yeast Remove selected yeast 删除选定的酵母Remove selected yeast yeastEditor Yeast Editor 酵母编辑 Required Fields 必填项Required Fields Name 名Name Type 类型Type Ale 爱尔Ale Lager 拉格Lager Wheat 小麦Wheat Wine 酒Wine Champagne 香槟Champagne Form 形式Form Liquid Liquid液体 Dry Dry干 Slant Slant偏 Culture Culture文化 Amount 量Amount Check it if the amount given is in kg instead of L. 如果给定的数量是公斤代替L.检查Check it if the amount given is in kg instead of L. Amount is weight? 金额重量?Amount is weight? Checked if the given amount is weight instead of volume 检查,如果给定的量是重量,而不是数量 Lab 实验室Lab Product ID 产品IDProduct ID Min Temp 最低温度Min Temp Min temp 最小温度Min temp Max Temp 最高温度Max Temp Max temp 最高温度Max temp Flocculation 絮凝Flocculation Low Medium Medium中 High High高 Very High Very High非常高 Attenuation (%) 衰减(%)Attenuation (%) Apparent attenuation as percentage of OG points 明显的衰减为OG点的百分比Apparent attenuation as percentage of OG points Times Recultured 时间再培养Times Recultured Times this yeast has been recultured 这种酵母已培养Times this yeast has been recultured Max Recultures 最大Recultures的Max Recultures Max recultures Max reculturesMax recultures Add to Secondary 加入二次Add to Secondary Checked means add this yeast to secondary instead of primary 检查手段添加酵母二次代替原Checked means add this yeast to secondary instead of primary Best For: 最好的:Best For: Notes: 附注:Notes: brewtarget-2.0.2/translations/bt_ca.ts0000644000175000017500000050373312266512175017400 0ustar philipphilip BrewDayScrollWidget Style Estil Date Data Boil Time Temps d'ebullició Efficiency Eficiència Boil Volume Volum d'ebullició Preboil Gravity Densitat abans de bullir Final Volume Volum final Starting Gravity Densitat inicial IBU IBU Final Gravity Densitat final ABV ABV Estimated calories(per 12 oz) Calories estimades (per 12 oz) Instructions Instruccions Completed Completat Time Temps Step Pas Actual PreBoil Volume Volum real desprès de l'ebullició Actual PreBoil Gravity Densitat real desprès de l'ebullició PostBoil Volume Volum desprès de l'ebullició PostBoil Gravity Densitat desprès de l'ebullició Volume into fermenter Volum en el fermentador Print Document Imprimir Document <h2>Notes</h2> <h2>Notes</h2> Step %1: %2 Pas %1: %2 Add grains Afegir el gra Heat water Escalfar l'aigua BrewDayWidget Style Estil Date Data Boil Volume Volum de l'ebullició Preboil Gravity Densitat abans de l'ebullició Final Volume Volum final Starting Gravity Densitat inicial Boil Time Temps d'ebullició IBU IBU Predicted Efficiency Eficiència estimada Estimated calories (per 12 oz) Calories estimades (per 12 oz) Instructions Instruccions Completed Completat Time Temps Step Pas Actual Pre-boil Volume: Volum real abans de l'ebullició: Actual Pre-boil Gravity: Densitat real abans de l'ebullició: Post-boil Volume: Volum desprès de l'ebullició: Post-boil Gravity: Densitat desprès de l'ebullició: Volume in fermenter: Volum en el fermentador: Print Document Imprimir Document Notes Notes Step %1: %2 Pas %1: %2 BrewTargetTreeModel Name Nom Brew Date Data d'elaboració Style Estil Boil Time Temps d'ebullició Color Color Type Tipus Use Ús Form Format Category Categoria Number Letter Guide BrewTargetTreeView New Recipe Recepta nova Brew It! A elaborar! Brew Again A elaborar Delete Esborrar New Equipment Nou equip New Fermentable Nou fermentable New Hop Nou llúpol New Misc Nou ingredient extra New Yeast Nou llevat Copy Copiar Export Exportar Import Importar Change date New Style Recalculate eff Brewtarget Default Defecte EBC EBC SRM SRM Plato Escenari Specific Gravity Pes específic SI SI US Customary US Customary Milligrams Miligrams Grams Grams Kilograms Kilograms Ounces Onces Pounds Lliures Celsius Centígrads Fahrenheit Fahrenheit British Imperial British Imperial MilliLiters Mililitres Liters Litres Teaspoons Culleretes Tablespoons Cullerades Cups Botes Quarts Quarts Gallons Galons BtDigitWidget Too low for style. Massa baix per l'estil. In range for style. Correcte per l'estil. Too high for style. Massa alt per l'estil. Database Merge Database Unir la base de dades There may be new ingredients and recipes available. Would you like to add these to your database? Hi ha nous ingredients i receptes disponibles. Vol afegir-les a la la seva base de dades? EquipmentEditor Grain absorption (%1/%2) Absorció de grans (%1/%2) Tun Volume Warning Avís de Volum Batch Size Warning Avís del lot Equipment name Nom de l'equip Equipment name: Nom de l'equip: The tun volume you entered is 0. This may cause problems The batch size you entered is 0. This may cause problems Hop Utilization Warning The hop utilization percentage you entered is 0. This may cause problems FermentableDialog Fermentable name Nom ingredient fermentable Fermentable name: Nom ingredient fermentable: FermentableItemDelegate Grain Gra Sugar Sucre Extract Extracte Dry Extract Extracte Sec Adjunct Adjunt FermentableTableModel Bad model index. row = %1 Índex de model erroni. Fila =%1 Mashed Macerat Steeped Remullat Not mashed No macerat Late Més tard Normal Normal Bad column: %1 Columna errònia: %1 Name Nom Type Tipus Amount Quantitat Late Addition Adició posterior Yield % Rendiment % Color (SRM) Color (SRM) Color (EBC) Color (EBC) Hop Mash Maceració First Wort Primer most Boil Bullir Aroma Aroma Dry Hop Dry Hop Bittering Amargor Both Ambdós Leaf Flor Pellet Pellet Plug Plug HopDialog Hop name Nom del llúpol Hop name: Nom del llúpol: HopItemDelegate Boil Bullir Dry Hop Llúpol sec Mash Maceració First Wort Primera quota Aroma Aroma Leaf Flor Pellet Pellet Plug Plug HopTableModel Name Nom Alpha % Alfa % Amount Quantitat Use Ús Time Temps Form Format MainWindow Open Obrir BeerXML files (*.xml) Fitxers BeerXML (*.xml) Save Desar Equipment request Petició d'equip Would you like to set the batch size, boil size and time to that requested by the equipment? Vols configurar la mida del lot, el volum i el temps de bullir al sol·licitat l'equip? Delete %1 Elimina %1 Delete %1 %2? Eliminar %1 %2? HTML files (*.html) HTML files (*.html) New Nou Recipe Recepta Equipment Equip Fermentable Fermentable Hop Llúpol Miscellaneous Ingredients extres Yeast Llevat Copy %1 Copia %1 Enter a unique name for the copy of %1. Entri un nom únic per a la copia de %1. Copy Equipment Copia d'equip Copy Fermentable Copia de fermentables Copy Hop Copia de llúpol Copy Miscellaneous Copia d'extres Copy Yeast Copia de llevat Database Update Base de dades actualitzada You are about to update the current database with another one. This may make changes to (but will not delete) some of your ingredients. It will not modify any of your recipes. Continue? Ets a punt d'actualitzar la base de dades actual. Això pot fer canvis en algun dels ingredients, però no eliminar-ne. No es modificaran les seves receptes. Vol continuar? Select Database File Selecciona el fitxer de base de dades Brewtarget Database (*.sqlite) Brewtarget Database (*.sqlite) Recipe name Nom de la recepta Recipe name: Nom de la recepta: Backup Database Copia de seguretat de la Base de Dades Oops! Uups! Could not copy the files for some reason. Per algun motiu, no es poden copiar els fitxers. A Warning Avís This will obliterate your current set of recipes and ingredients. Do you want to continue? S'esborraran les receptes i els ingredients actuals. Vol continuar? For some reason, the operation failed. Per algun motiu, l'operació no s'ha pogut dur a terme. Import %1? Vol importar %1? No mash Sense maceració Trying to add a mash step without a mash. Please create a mash first. Està intentant afegir un pas de la maceració sense tenir-la creada. Cal crear una maceració primer. Copy Recipe Copiar Recepta Enter a unique name for the copy. Introdueixi un nom únic per a la còpia. Please give your mash a name before saving. Cal posar un nom a la maceració abans de guardar. Restart Reinicieu Please restart Brewtarget. Per favor reinicieu Brewtarget. No equipment Sense equip You must select or define an equipment profile first. Primer ha de seleccionar o defenir un perfil d'equip. No style Sense estil You must select a style first. Primer ha de seleccionar un estil. Choose File SQLite (*.sqlite) Style Estil Copy Style The database has been converted/upgraded. The original XML files can be found in The import contained invalid beerXML. It has been imported, but please make certain it makes sense. MaltinessWidget <b>Cloying</b> <b>Embafa</b> <b>Extra malty</b> <b>Molt maltosa</b> <b>Slightly malty</b> <b>Una mica maltosa</b> <b>Balanced</b> <b>Equilibrada</b> <b>Slightly hoppy</b> <b>Una mica llupolosa</b> <b>Extra hoppy</b> <b>Molt llupolosa</b> <b>Way hoppy</b> <b>Llupolosa</b> MashDesigner No Fermentables Sense fermentables Your recipe must have fermentables to design a mash. La seva recepta ha de tenir fermentables per dissenyar un macerat. No Equipment Sense equip You have not set an equipment for this recipe. We really cannot continue without one. No has triat equip per a la recepta. Cal tenir-ne un per seguir. Tun Temp Temperatura del recipient Enter the temperature of the tun before your first infusion. Introdueixi la temperatura del recipient abans de la primera infusió. Decoction error Error de cocció The first mash step cannot be a decoction. El primer pas de la maceració no pot ser una cocció. MashStepTableModel Bad model index. row = %1 Índex erroni. Fila = %1 Bad column: %1 Columna errònia: %1 Name Nom Type Tipus Amount Quantitat Infusion Temp Temperatura d'infusió Target Temp Temperatura desitjada Time Temps MashWizard Mash thickness (%1/%2) Gruix de maceració (%1/%2) Bad thickness Gruix erroni You must have a positive mash thickness. El gruix ha de ser positiu. No steps Sense passos There must be at least one mash step to run the wizard. Cal que hi hagi un pas de maceració per iniciar l'assistent. First step Primer pas Your first mash step must be an infusion. El primer pas de maceració ha de ser una infusió. Mash too thick Maceració massa espesa Your mash is too thick for desired temp. at first step. La maceració està massa espesa per la temperatura desitjada en el primer pas. Decoction error Error de cocció Something went wrong in decoction calculation. S'ha produït algun error en el calcul de la cocció. Sparge temp. Temperatura del rentat. In order to hit your sparge temp, the sparge water must be above boiling. Lower your sparge temp, or allow for more sparge water. La temperatura de l'aigua d'aspersió o rentat ha d'estar per sota de la de ebullició. Baixa la temperatura de l'aigua de rentat. Too much wort Massa infusió You have too much wort from the mash for your boil size. I suggest increasing the boil size by increasing the boil time, or reducing your mash thickness. Tens massa liquid resultant de la maceració per a la cocció. Pots augmentar la quantitat de liquid de cocció per recalcular el temps d'ebullició, o reduir la quantitat resultant de la maceració. MiscDialog Misc name Nom d'ingredient extra Misc name: Nom d'ingredient extra: MiscItemDelegate Spice Especie Fining Aclaridor Water Agent Agent per aigua Herb Herba Flavor Sabor Other Altre Boil Bullir Mash Maceració Primary Primari Secondary Secundari Bottling Embotellar MiscTableModel Name Nom Type Tipus Use Ús Time Temps Amount Quantitat Weight Massa Volume Volum Amount Type OptionDialog Open Directory Obrir la Carpeta Copy Data Copiar Dades There do not seem to be any data files in this directory, so we will copy your old data here. No hi ha els fitxers de dades en aquest directori, de manera que copiarem les dades antigues aquí. Restart Reiniciar Please restart Brewtarget. Per favor reinicieu Brewtarget. QObject Invalid color formula type: %1 Fórmula de color invàlida: %1 Unrecognized IBU formula type. %1 Fórmula errònia IBU. %1 Batch Size: %1 Mida del lot: %1 Boil Size: %1 Mida ebullició: %1 Boil Time: %1 Temps d'ebullició: %1 OG: %1 DI: %1 FG: %1 DF: %1 Bitterness: %1 IBUs (%2) Amargor: %1 IBU (%2) Color: %1 SRM (%2) Color: %1 SRM (%2) Fermentables Fermentables Name Nom Type Tipus Amount Quantitat Mashed Macerat Late Més tard Yield Rendiment Color Color Yes No No Total grain: %1 Gra total: %1 Hops Llúpols Alpha Alfa Use Ús Time Temps IBU IBU Misc Extres Yeast Llevat Form Format Stage Etapa Secondary Secundària Primary Primària Mash Maceració Temp Temperatura Target Objectiu Notes Notes Instructions Instruccions Directory Problem Problema amb la carpeta "%1" cannot be read. "%1" no es pot llegir. Config directory "%1" cannot be read. Carpeta de configuració "%1% no es pot llegir. New Version Versió nova Version %1 is now available. Download it? La versió %1 ara està disponible. La vols descarregar? Stop bothering you about new versions? Vols que no et recordi més que existeixen noves versions? Database Failure Error a la base de dades Failed to open the database '%1'. Error al obrir la base de dades '%1'. Save Database Changes Canvis a la bases de dades guardats Would you like to save the changes you made? T'agradaria guardar els canvis realitzats? Multiple Databases Found S'han trobat multiples bases de dades Multiple databases were found. Do you want to restore the changes you made during your last Brewtarget session, or rollback to before last session's changes? S'han trobat diverses bases de dades. Voleu desfer els canvis realitzats durant la passada sessió de Brewtarget, o els canvis d'abans de la sessió passada? Restore Restaurar Rollback Desfer Failed to remove the temporary backup database. Navigate to '%1' and remove 'tempBackupDatabase.sqlite'. Error al eliminar el backup temporal de la base de dades. Navega a '%1' i esborra 'tempBackupDatabase.sqlite'. Failed to rollback to the backup database. Navigate to '%1', remove 'database.sqlite' if it exists, and rename 'tempBackupDatabase.sqlite' to 'database.sqlite'. Error al desfer el backup de la base de dades. Navega a '%1', esborrar 'database.sqlite' si existeix, i reanomena 'tempBackupDatabase.sqlite' a 'database.sqlite'. Database Restore Failure Error al restaurar la base de dades Failed to restore the backup database. Navigate to '%1' and rename 'tempBackupDatabase.sqlite' to 'database.sqlite'. Error al restaurar el backup de la base de dades. Navega a '%1' i reanomena 'tempBackupDatabase.sqlite' a 'database.sqlite'. Grain Gra Sugar Sucre Extract Extracte Dry Extract Extracte sec Adjunct Adjunt Boil Bullir Mash Maceració Infusion Infusió Temperature Temperatura Decoction Cocció Bottling Embotellar Spice Especie Fining Aclaridor Water Agent Agent per a l'aigua Herb Herba Flavor Sabor Other Altre Ale Ale Lager Lager Wheat Blat Wine Vi Champagne Cava Liquid Líquid Dry Sec Slant Pendent Culture Cultiu Low Baixa Medium Mitja High Alta Very High Molt Alta Recipes Receptes Equipment Equip Fermentables Fermentables Hops Llúpols Miscellaneous Ingredients extres Yeast Llevat Efficiency: %1% Eficiència: %1% ABV: %1% ABV: %1% Style Estil Recipe Add grains Afegir el gra Add Afegir to the mash tun. al macerador. Heat water Escalfar l'aigua Bring Escalfar %1 water to %2, %1 d'aigua a %2, for upcoming infusions. per a les pròximes infusions. Add %1 water at %2 to mash to bring it to %3. Afegir %1 d'aigua a %2 a la maceració per a escalfar a %3. Heat mash to %1. Escalfar la maceració a %1. Bring %1 of the mash to a boil and return to the mash tun to bring it to %2. Escalfar %1 de la maceració a l'ebullició i tornar-la al macerador per arribar a %2. Hold for %1. Mantenir per %1. Put %1 %2 into boil for %3. Posar %1 %2 a bullir durant %3. Put %1 %2 into fermenter for %3. Posar %1 %2 al fermentador durant %3. Put %1 %2 into first wort for %3. Posar %1 %2 a la primera quota durant %3. Put %1 %2 into mash for %3. Posar %1 %2 a la maceració durant %3. Steep %1 %2 in wort for %3. Pas %1 %2 en el most per %3. Use %1 %2 for %3 Usar %1 %2 durant %3 Hop addition Afegir el llúpol Use %1 %2 at bottling for %3. Usar %1 %2 al embotellar per %3. Put %1 %2 into primary for %3. Posar %1 %2 al primari durant %3. Put %1 %2 into secondary for %3. Posar %1 %2 al secundari durant %3. Use %1 %2 for %3. Usar %1 %2 durant %3. Misc addition Afegir ingredients extres Do first wort hopping with Fer la primera quota de llúpol amb First wort hopping Primera quota de llúpol You should now have %1 wort. Hauries de tenir %1 quota. Add %1 water to the kettle, bringing pre-boil volume to %2. Afegir %1 d'aigua a l'olla, amb el volume %2 abans de bullir. Pre-boil Abans de bullir Boil or steep Bullir Boil/steep fermentables Bullir/remullar fermentables to the boil at knockout. al final de l'ebullició. Knockout additions Adicions finals You should have %1 wort post-boil. Hauries de tenir %1 de caldo desprès de bullir. You anticipate losing %1 to trub and chiller loss. Esperes perdre %1 en sediments i al refredar. Add %1 top up water into primary. Agregar %1 d'aigua a la primària. The final volume in the primary is %1. El volum final a la primària és %1. Post boil Desprès de bullir Boil time Temps d'ebullició You did not configure an equipment (which you really should), so tell me the boil time. No has configurat cap equip, així que cal que diguis el temps de ebullició. Bring the wort to a boil and hold for %1. Bullir durant %1. Start boil Començar a bullir Flameout Flameout Stop boiling the wort. Parar de bullir el most Cool wort and pitch Refredar el caldo i tirar-lo %1 %2 yeast, %1 %2 de llevat, to the primary. a la primària. Pitch yeast Tirar llevat Let ferment until FG is %1. Deixar fermentar fins que la DF sigui %1. Ferment Fermentar Transfer beer to secondary. Traslladar la cervesa al secundari. Transfer to secondary Traslladar al secundari Add %1 %2 to boil at %3. Agregar %1 %2 al bullir a %3. Raise water to boil and then remove from heat. Stir in Bulliu l'aigua i després es retira del foc. Revuelva Add Extracts to water Afegir extractes per l'aigua %1 water to %2 %1 d'aigua a %2 RecipeFormatter unknown style estil desconegut N/A N/A Brewer Cerveser Date Data Batch Size Mida del lot Boil Size Mida de l'ebullició Boil Time Temps d'ebullició Efficiency Eficiència OG DI FG DF Unknown Desconegut ABV ABV Bitterness Amargor Color Color Calories (per 12 oz.) Calories (per 12 oz) Fermentables Fermentables Total grain: Gra total: Name Nom Type Tipus Amount Quantitat Mashed Macerat Late Més tard Yield Rendiment Yes No No Hops Llúpols Alpha Alfa Use Ús Time Temps Form Format IBU IBU Misc Extres Yeast Llevat Stage Etapa Secondary Secundària Primary Primària Mash Maceració Temp Temperatura Target Temp Temperatura desitjada Notes Notes Instructions Instruccions Brew Date Fecha d'elaboració Preboil Abans de bullir SG Densitat Volume into BK Volum en el recipient de cocció Strike Temp Strike Temp Final Temp Temperatura Final Eff into BK Eficiència en el recipient de cocció Projected OG DI projectada Postboil Desprès de bullir Postboil Volume Volum desprès de l'ebullició Volume Into Fermenter Volum en el fermentador Brewhouse Eff Brewhouse eficiència Projected ABV ABV projectada Postferment Post-fermentació Volume Volum Print Document Imprimir document RefractoDialog OG Mismatch DF desajustada Based on the given original plato, the OG should be %1, but you have entered %2. Continuing with the calculated OG. La DF hauria de ser %1, però ha posat %2. Continuem amb la DF calculada. ScaleRecipeTool Recipe Scaled Recepta Escalada The mash has been reset due to the fact that mash temperatures do not scale easily. Please re-run the mash wizard. La maceració s'ha reiniciat perquè les temperatures del macerat no s'ajusten. Verifiqui l'apartat de maceració. The equipment and mash have been reset due to the fact that mash temperatures do not scale easily. Please re-run the mash wizard. L'equip i el macerat s'han reiniciat a causa de que les temperatures del macerat no s'escalen fàcilment. Cal reiniciar l'assistent del macerat. StyleEditor Style name Nom de l'estil Style name: Nom de l'estil: TimerWidget Open Sound Obrir el so Audio Files (*.wav *.ogg *.mp3 *.aiff) Fitxers d'audio (*.wav *.ogg *.mp3 *.aiff) Stop Parar Start Iniciar WaterTableModel Bad model index. row = %1 Índex erroni. Fila = %1 Bad column: %1 Columna errònia: %1 Name Nom Amount Quantitat Calcium (ppm) Calci (ppm) Bicarbonate (ppm) Bicarbonat (ppm) Sulfate (ppm) Sulfat (ppm) Chloride (ppm) Clor (ppm) Sodium (ppm) Sodi (ppm) Magnesium (ppm) Magnesi (ppm) YeastDialog Yeast name Nom del llevat Yeast name: Nom del llevat: YeastItemDelegate Ale Ale Lager Lager Wheat Blat Wine Vi Champagne Cava Liquid Líquid Dry Sec Slant Pendent Culture Cultiu YeastTableModel Bad model index. row = %1 Índex erroni. Fila = %1 Bad column: %1 Columna errònia: %1 Name Nom Type Tipus Form Format Amount Quantitat Laboratory Laboratori Product ID ID del producte aboutDialog About Brewtarget Quant a Brewtarget <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'DejaVu Sans'; font-size:9pt; font-weight:400; font-style:normal;"> <p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:20pt;">Brewtarget %1</span></p> <p style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Brewtarget, for developing beer recipes.</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Copyright 2009-2013 by the developers below.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier'; font-weight:600; text-decoration: underline;">Developers</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Peter Buelow</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Dan Cavanagh</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Mik Firestone</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Philip G. Lee &lt;rocketman768@gmail.com&gt;</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier'; font-weight:600; text-decoration: underline;">Copyright (GPLv3)</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Brewtarget is free software: you can redistribute it and/or modify</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">it under the terms of the GNU General Public License as published by</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">the Free Software Foundation, either version 3 of the License, or</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">(at your option) any later version.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Brewtarget is distributed in the hope that it will be useful,</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">but WITHOUT ANY WARRANTY; without even the implied warranty of</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">GNU General Public License for more details.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">You should have received a copy of the GNU General Public License</span></p> <p style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">along with Brewtarget. If not, see &lt;</span><a href="http://www.gnu.org/licenses/"><span style=" font-family:'Courier New,courier'; text-decoration: underline; color:#0000ff;">http://www.gnu.org/licenses/</span></a><span style=" font-family:'Courier New,courier';">&gt;.</span></p> <p style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier'; font-weight:600; text-decoration: underline;">Source Code</span></p> <p style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Brewtarget's source code can be downloaded at </span><a href="http://brewtarget.sourceforge.net"><span style=" font-family:'Sans Serif'; text-decoration: underline; color:#0057ae;">brewtarget.sourceforge.net</span></a><span style=" font-family:'Sans Serif';">.</span></p> <p style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier'; font-weight:600; text-decoration: underline;">Special Thanks</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Guido Carpi (Italian translation)</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Ester (Catalan translation)</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Marc Cote (French translation)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Pawel Fiedor (Polish translation)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Admiro (Polish translation)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Edu Engler (Portuguese translation)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Jan Grmela (Czech translation)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Randy Brace (alpha tester)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://finalgravitypodcast.com"><span style=" font-family:'Sans Serif'; text-decoration: underline; color:#0057ae;">Final Gravity Podcasts</span></a></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Glenn Tinseth &lt;</span><a href="http://www.realbeer.com/hops"><span style=" text-decoration: underline; color:#0000ff;">http://www.realbeer.com/hops</span></a><span style=" font-family:'Courier New,courier';">&gt;</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">server, printer, edit-copy, document-print-preview and merge images from Oxygen theme (CC license)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">backup image from Nuvola theme (LGPL)</span></p></body></html> Donate Donació brewDayScrollWidget Form Format Generate Instructions Generar Instruccions Insert step Afegir un pas Name Nom Name of new step Nom del pas nou Step # # del pas The number where the new step should be placed El número és la posició on en el pas s'ha de col·locar Insert the new step Afegeix el pas nou Move steps Moure els passos Move currently selected step up Moure el pas seleccionat cap amunt Move currently selected step down Moure el pas seleccionat cap avall Remove currently selected step Esborrar el pas seleccionat brewDayWidget Brewday Mode Mode del dia d'elaboració Instructions Instruccions Move currently selected step up Moure el pas seleccionat amunt Up Amunt Move currently selected step down Moure el pas seleccionat amunt Down Avall Remove currently selected step Esborrar el pas seleccionat Remove Esborrar Insert step Introduir un pas Name Nom Name of new step Nom del pas nou Step # # del pas The number where the new step should be placed El número on el pas hauria d'estar col·locat Insert the new step Afegeix el pas nou Insert Afegeix brewNoteWidget Form Format Preboil Abans de bullir SG Densitat Preboil gravity Desnistat abans de bullir Volume Volum Volume of wort collected Volum del most Strike Temp Strike Temp Temperature of mash after dough in Temperatura del macerat Final Temp Temperatura Final Temperature of mash before mash out Temperatura del macerat Postboil Després de bullir OG DI Post boil gravity Desnsitat després de bulir Postboil Volume Volum desprès de l'ebullició Volume of wort in BK after boil Volum en el recipient de cocció després de bullir Volume of wort transferred to fermenter Volum del most transferit al fermentador Volume into fermenter Volum en el fermentador Pitch Temp Pitch Temp Temperature of wort when yeast is pitched Temperatura quant el llevat s'introdueix Postferment Post-fermentació Final gravity Densitat Final Volume of beer into serving keg/bottles Volum de cervesa en barril / ampolles Date when the yeast fermented out Data en què el llevat haurà fermentat percent efficiency into boil kettle percentatge d'eficiència en el recipient de cocció Eff into BK eficiència en BK Expected OG, based on measure fg DI esperada Projected OG DI prevista Brewhouse efficiency Brewhouse Eficiència Brewhouse Eff Brewhouse Eff Expected ABV based on OG ABV esperat basat en la DI Projected ABV ABV projectat ABV based on FG ABV basat en la DF ABV ABV Notes Notes btSplashScreen Form Forma converterTool Converter Tool Conversor Input Entrada Amount and units to convert Quantitat i unitats a convertir Output Units Unitat del resultat Unit you want to convert to Unitat a la qual vols convertir Output Resultat Output conversion Conversió del resultat Convert Convertir equipmentEditor Equipment Editor Editor d'equip Equipment Equip Remove equipment Esborrar equip Set as Default Posar com Defecte Required Fields Camps obligatoris Name Nom Pre-boil volume Volum abans de l'ebullició If checked, we will calculate your pre-boil volume based on your desired batch size, boil time, evaporation rate, losses, etc. Si està seleccionat, calcularem el volum abans de l'ebullició basat en la mida del lot desitjat, temps d'ebullició, tassa d'evaporació, pèrdues, etc. Calculate pre-boil volume Càlcul volum abans de l'ebullició Automatically fill in pre-boil volume Automàticament calcular el volum abans de l'ebullició Batch size Mida del lot Boiling && Water Ebullició i aigua Boil time Temps d'ebullició Evaporation rate (per hr) Tassa d'evaporació (per hora) How much water boils off per hour Quantitat d'aigua que s'evapora per hora Kettle top-up water Aigua agregada a l'olla How much water is added to kettle immediately pre-boil Quantitat d'aigua que s'agrega a la olla immediatament abans de l'ebullició Final top-up water Aigua agregada al final Water added to fermenter Quantitat d'aigua que s'agrega al fermentador Grain Absorption (L/kg) Absorció de grans (L/kg) Default Absorption Absorció per defecte Boiling Point of Water Punt d'ebullició Hop Utilization Utilització de Llúpol Mash Tun Macerador Volume Volum Volume of mash tun Volum del macerador Mass Massa Mass or weight of mash tun La massa o el pes del macerador Specific heat (cal/(g*K)) Calor específic (cal/(g*K)) Losses Pèrdues Kettle to fermenter De l'olla al fermentador Wort lost between kettle and fermenter Caldo perdut entre l'olla i el fermentador Lauter deadspace Espai inútil a la cuba Volume of wort lost to lauter deadspace Volum del caldo perdut a la cuba Notes Notes New equipment Equip nou Save Desar Cancel Cancel·lar fermentableDialog Fermentable Database Base de dades ingredients fermentables Add selected ingredient to recipe Agregar ingredient seleccionat a la recepta Add to Recipe Agregar a la Recepta Create new ingredient Crear un ingredient nou New Nou Edit selected ingredient Editar ingredient seleccionat Remove selected ingredient Esborrar ingredient seleccionat fermentableEditor Fermentable Editor Editor de fermentables Required Fields Camps obligatoris Name Nom Type Tipus Grain Gra Sugar Sucre Extract Extracte Dry Extract Extracte sec Adjunct Adjunt Amount Quantitat Yield (%) Rendiment (%) Yield as compared to glucose Rendiment relatiu a la glucosa Lovibond Color (Lovibond) Lovibond rating Color Lovibond Add After Boil Afegir desprès de bullir This ingredient is added post boil. L'ingredient s'afegeix desprès de bullir. Origin Origen Supplier Proveïdor Coarse/Fine Diff (%) Diferència Gruixut/Fi (%) Yield difference between coarse and fine grind Diferència de rendiment entre gra gruixut i fi Moisture (%) Humitat (%) Moisture percentage by mass Percentatge d'humitat per massa DP (Lintner) PD (Lintner) Diastatic power in Lintner Poder diastòlic en Lintner Protein (%) Proteïnes (%) Protein percentage by mass Percentatge de proteïnes per massa Max In Batch (%) Màxim per Lot (%) Maximum recommended percentage of total grist Percentatge màxim recomanat del total Recommend Mash Maceració recomanada Recommend this be mashed Es recomana que es maceri Is Mashed Macerat Checked if it is present in mash Si està en la maceració Bitterness (IBU*gal/lb) Amargor (IBU*gal/lb) Bitterness of pre-hopped extracts Amargor dels extractes de llúpol Notes: Notes: hopDialog Hop Database Base de dades de llúpols Add selected ingredient to recipe Afegir ingredient seleccionat a la recepta Add to Recipe Afegir a la Recepta New hop Llúpol nou New Nou Edit Editar Remove Eliminar hopEditor Hop Editor Editor de Llúpols Required Fields Camps obligatoris Name Nom Alpha (%) Alfa (%) Alpha acids as percent by mass Percentatge d'alfa-àcids per massa Amount Quantitat Amount Quantitat Use Ús Mash Maceració First Wort Primera quota Boil Bullir Aroma Aroma Dry Hop Dry Hop Time Temps Type Tipus Bittering Amargor Both Ambdós Form Format Leaf Flor Pellet Pellet Plug Plug Beta (%) Beta (%) Beta acids as percent by mass Percentatge àcids beta per massa HSI IEL Hop Stability/Storage index Índex Estabilitat Llúpols Origin Origen Humulene (%) Humulene (%) Humulene Humulene Caryophyllene (%) Caryophyllene (%) Caryophyllene Caryophyllene Cohumulone (%) Cohumulone (%) Cohumulone Cohumulone Myrcene (%) Myrcene (%) Myrcene Myrcene Substitutes: Substituts: Notes: Notes: htmlViewer Html Viewer Vista Html about:blank about:blank instructionWidget Form Format Show a timer Mostra un temporitzador Show timer Mostra un temporitzador Mark this step completed Marcar aquest pas com a complert Step completed Pas complet mainWindow Recipes Receptes Styles Fermentables Fermentables Hops Llúpols Miscs Ingredients extres Yeasts Llevats Recipe Recepta Name Nom Name of recipe Nom de la recepta 5 gal 5 gal Target boil size Mida d'ebullició desitjada Efficiency (%) Eficiència (%) Calculated Boil Size Mida d'ebullició calculada Calculated Batch Size Mida del lot calculat The extraction efficiency you expect L'eficiència d'extracció que esperes Style Estil Boil Time Temps d'ebullició Target batch size Mida del lot que desitges Target Batch Size Mida del lot desitjat Equipment Equip Target Boil Size Mida d'ebullició desitjada OG DI Boil SG Densitat ebullició FG DF ABV ABV Bitterness (IBU) Amargor (IBU) Color Color IBU/GU IBU per Densitat Calories/12oz Calories/12oz Extras Extres Brewday Dia d'elaboració Add a fermentable Afegir un fermentable Remove selected fermentable Eliminar fermentable seleccionat Edit selected fermentable Editar fermentable seleccionat Add hop Afegir llúpol Remove selected hop Eliminar llúpol seleccionat Edit selected hop Editar llúpol seleccionat Miscellaneous Ingredients extres Add misc Afegir ingredient extra Remove selected misc Eliminar ingredient extra seleccionat Edit selected misc Editor ingredient extra seleccionat Yeast Llevat Add yeast Afegir llevat Remove selected yeast Eliminar llevat seleccionat Edit selected yeast Editar llevat seleccionat Mash Maceració Add mash step Afegir pas a la maceració Remove selected mash step Elimina pas seleccionat Edit selected mash step Editar pas seleccionat Edit mash properties Editar característiques de la maceració Edit mash Editar maceració Mash Des Mash Des Invoke the mash wizard Executar el assistent de maceració Mash wiz Mash wiz Mashs Maceracions Mash step up Pas amunt Mash step down Pas avall Save this mash profile Guardar aquest perfil de maceració Save Mash Guardar maceració &About &Quant a &File &Fitxer &Brewday &Dia d'elaboració &Recipe &Recepta &Database &Base de dades &View &Veure &Tools E&ines toolBar Barra d'eines About &BrewTarget Quant a Brewtarget About Brewtarget Quant a Brewtarget &Export Recipe &Exportar recepta &Fermentables &Fermentables Ctrl+F Ctrl+F &Hops &Llúpols Ctrl+H Ctrl+H &Miscs Ingredients e&xtres Ctrl+M Ctrl+M &Yeasts &Llevats Ctrl+Y Ctrl+Y &Equipments &Equips Ctrl+E Ctrl+E &Styles &Estils Ctrl+T Ctrl+T &Exit &Sortir Ctrl+Q Ctrl+Q &Import Recipes &Importar receptes &Options &Opcions &Manual &Manual &Scale Recipe E&scalar la recepta Recipe to Clipboard as &Text Recepta copiada com a &text &OG Correction Help Ajuda per corregir la &DI &Convert Units &Conversor d'unitats Backup Database Còpia de seguretat de la base de dades Restore Database Restaurar base de dades &Copy Recipe &Copiar Recepta Pr&iming Calculator Calculadora del pr&iming &Refractometer Tools &Eina per a refractometres &Pitch Rate Calculator &Calculadora de Llevat Merge Databases Unir Base de Dades Select another database to merge into the current one. Seleccionar una base de dades per combinar-la amb la actual. &Print &Imprimir Print Pre&view Vista Prèvia &Export To HTML &Exportar a HTML &Export to HTML &Exportar a HTML &Backup &Backup Save all recipes, ingredients, etc. to a backup folder Desar totes les receptes, ingredients, etc. a la carpeta de backup &Restore &Restaurar Restore recipes, ingredients, etc. from a previous backup Restaurar receptes, ingredients, etc. des de un backup anterior &Merge &Unir Merge another set of recipes, ingredients, etc. into the current set Combinar un altre conjunt de receptes, ingredients, etc. en el conjunt actual &New Recipe Recepta nova Timers Temporitzadors Show timers Mostra els temporitzadors Save Desar Delete selected Esborrar la selecció Delete recipe Esborrar recepta Donate Donació &Mashs Mashes mashDesigner Mash Designer Editor de maceració Name Nom Type Tipus Target temp. Temperatura desitjada Time Temps Batch Sparge Batch Sparge Next Seguir Finish Acabar Infusion/Decoction Amount Quantitat d'infusió/cocció min mínim max màxim 0 0 Infusion Temp Temps d'infusió Total Collected Wort Caldo extret vol vol Tun Fullness Capacitat màxima fermentador tunVol tunVol thickness thickness mashEditor Mash Editor Editor de maceració Name Nom Initial grain temp Temperatura inicial del gra Sparge temp Temperatura de rentat Sparge temp target Temperatura desitjada del rentat Sparge pH pH del rentat Notes Notes Tun Cuba Initial tun temp Temperatura inicial Get following parameters from the recipe's equipment. Aconseguir els paràmetres del equip de la recepta. From Equipment Del equip Tun mass Massa Tun sp. heat Calor específic Tun specific heat (cal/(g*K)) Calor específic del macerador (cal/(g*K)) mashStepEditor Mash Step Editor Editor de passos de la maceració Name Nom Type Tipus Infusion Infusió Temperature Temperatura Decoction Cocció Target temp. Temperatura desitjada Target temp. of this step Temperatura desitjada en aquest pas Infuse Amount Quantitat d'aigua Amount of water to infuse Quantitat d'aigua per infusionar Infuse temp. Temps de la infusió Temperature of infusion water Temperatura de l'aigua de la infusió Decoction Amount Quantitat de la cocció Amount of mash to decoct Quantitat de líquid de la maceració per a coure Time Temps Time to conduct the step Temps per fer el pas Temp. lag time Lapse de temps de la temperatura Lag time Lapse de temps End temp. Temperatura final Final temp. of this step Temperatura al final del pas mashWizard Mash Wizard Assistent de la maceració Mash thickness (L/kg) Gruix (L/kg) Mash thickness (do not enter any units) Gruix de la maceració (no introduir unitats) miscDialog Misc Database Base de dades d'ingredients extres Add selected ingredient to recipe Afegir ingredient seleccionat a la recepta Add to Recipe Afegir a la recepta Create a new ingredient Crear un ingredient nou New Nou Edit selected ingredient Editar ingredient seleccionat Remove selected ingredient Eliminar ingredient seleccionat miscEditor Misc Editor Editor d'ingredients extres Name Nom Type Tipus Spice Especie Fining Aclaridor Water Agent Agent per a aigua Herb Herba Flavor Sabor Other Altres Use Ús Boil Ebullició Mash Maceració Primary Primaria Secondary Secundaria Bottling Embotellar Time Temps Amount Quantitat Check it if the amount listed is in kg instead of L. Marcar si la quantitat es mesura en Kg en comptes de L. Amount is weight? La quantitat és massa? Checked if the given amount is weight instead of volume Marcar si la quantitat es mesura en massa en comptes de volum Use for: S'usa per a: Notes: Notes: namedMashEditor Named Mash Editor Mash Maceració Delete selected style Eliminar estil seleccionat Name Nom Initial grain temp Temperatura inicial del gra Sparge temp Temperatura de rentat Sparge temp target Temperatura desitjada del rentat Sparge pH pH del rentat Notes Notes Tun Cuba Initial tun temp Temperatura inicial From Equipment Del equip Tun mass Massa Tun sp. heat Calor específic Tun specific heat (cal/(g*K)) Calor específic del macerador (cal/(g*K)) Add mash step Afegir pas a la maceració Remove selected mash step Elimina pas seleccionat Mash step up Pas amunt Mash step down Pas avall ogAdjuster Adjust Volume to Hit OG Ajustar el Volum per obtenir la DI Input Introduir SG Densitat Measured gravity pre-boil Densitat mesurada abans de bullir Temp Temperatura Temperature of SG reading Temperatura al mesurar la densitat Calibration Temp Temperatura de calibrat Temp to which the hydrometer is calibrated Temperatura a la que està calibrat el hidròmetre -or- -o- Plato Escenari Plato (percent by mass of equivalent sucrose) Escenari (percentatge per massa de sacarosa equivalent) Pre-Boil Volume Volum abans de bullir Measured pre-boil volume Volum mesurat abans de bullir Output Resultats OG w/o Correction DI sense correcció OG if you boil as planned DI si es bull com tenim planificat Add to Boil Afegir al bullir Amount of water you need to add to hit planned OG (or boil off if negative) Quantitat d'aigua que necessites afegir a la ebullició per arribar a la DI planificada (o bullir si és negativa) Final Batch Size Mida lot final Estimated batch size after correction Mida estimada desprès de la correcció Calculate Calcular optionsDialog Options Opcions Units Unitats Weight Massa Use SI units Unitats SI Use US traditional units Unitats EEUU Use British imperial units Unitats Britàniques Temperature Temperatura Celsius Centígrads Fahrenheit Fahrenheit Volume Volum Gravity Densitat 20C/20C Specific Gravity 20C/20C Densitat Plato/Brix/Balling Plato/Brix/Balling Color Color Use SRM Fer servir SRM Use EBC Fer servir EBC Formulas Fórmules Mosher's approximation Aproximació Mosher Daniels' approximation Aproximació Daniels Morey's approximation Aproximació Morey IBU IBU Tinseth's approximation Aproximació Tinseth Rager's approximation Aproximació Rager IBU Adjustments % IBU adjustment Mash Hop First Wort Directories Carpetes Database Directory Carpeta de la base de dades Where your brewtarget .xml files are. On són els fitxers .xml del brewtarget. Browse Navegar Default Defecte Language Llenguatge Czech Txec Catalan Català German Alemany English Anglès Spanish Espanyol French Francès Italian Italià Dutch Holandès Polish Polac Portuguese Portuguès Russian <qt> <b>Know another language?</b> <br><br> Or, would you like to improve a translation? Help us out and <a href="https://sourceforge.net/sendmessage.php?touser=938941"> provide a translation</a> so that your friends can use brewtarget! </qt> <qt> <b>Coneixes un altre idioma?</b> <br><br> O potser t'agradaria millorar una traducció? Ajuda'ns i <a href="https://sourceforge.net/sendmessage.php?touser=938941"> fes una traducció</a> per a que els teus amics usin brewtarget! </qt> pitchDialog Pitch Rate Calculator Calculadora de Llevat Input Entrades Wort Volume Volum del Caldo OG DI For ales, 0.75-1. For lagers, 1.5-2. Per a ales, 0.75-1. Pera a lagers, 1.5-2. Pitch Rate (M cells)/(mL*P) Tassa de llevat Aeration Method Mètode d'aireig Yeast Production Date Data de producció del llevat Yeast Viability Viabilitat del llevat None Cap O2 At Start O2 At Start Stir Plate Stir Plate MM/dd/yyyy dd/MM/yyyy % % TextLabel TextLabel Calculate Viability From Date Calcular la viabilitat de la Data # Vials/Smack Packs Pitched # Vials/Smack Packs Pitched Output Resultats Billions of Yeast Cells Required Mils de milions de cèl·lules que es requereixen # Vials/Smack Packs w/o Starter # Vials/Smack Packs w/o Starter Dry Yeast Llevat sec Starter Volume Volum del starter primingDialog Priming Calculator Calculador de priming Input Entrades Collected Beer Volume Volum de cervesa Amount of beer to prime Quantitat de cervesa per fer el priming Beer Temperature Temperatura de la cervesa Temp of the beer Temperatura de la cervesa Desired Volumes Volums desitjats How many volumes of CO2 you want (1 L CO2 @ STP per L beer) Quantitat de CO2 que es vol(1 L CO2 @ STP per L de cervesa) Glucose Monohydrate (corn sugar) Glucosa Monohidrat Anhydrous Glucose Glucosa Deshidratada Sucrose (table sugar) Sacarosa Dry Malt Extract Extracte de malta sec Output Resultats Prime with Primer amb How much priming ingredient to use Quina quantitat de l'ingredient per al priming vol usar Calculate Calcular recipeExtrasDialog Recipe Extras Receptes extres Brewer Cerveser Asst. Brewer Ajudant del Cerveser Taste Rating Nota de tast Primary Age (days) Fermentació primària (en dies) Primary Temp Temperatura de la fermentació primària Secondary Age (days) Fermentació secundària (en dies) Secondary Temp Temperatura de la fermentació secundària Tertiary Age (days) Fermentació terciària (en dies) Tertiary Temp Temperatura fermentació terciària Bottle/Keg Age (days) Fermentació en botella/barril (en dies) Bottle/Keg Temp Temperatura fermentació en botella/barril Date First Brewed Data elaboració dd MMM yyyy dd MMM yyyy Carbonation Volumes Volum de CO2 Taste Notes Notes de tasts Notes Notes Cancel Cancel·lar recipeExtrasWidget Form Format Brewer Cerveser Asst. Brewer Ajudant del Cerveser Taste Rating Nota de tast Primary Age (days) Fermentació primària (en dies) Primary Temp Temperatura de la fermentació primària Secondary Age (days) Fermentació secundària (en dies) Secondary Temp Temperatura de la fermentació secundària Tertiary Age (days) Fermentació terciària (en dies) Tertiary Temp Temperatura fermentació terciària Bottle/Keg Age (days) Fermentació en botella/barril (en dies) Bottle/Keg Temp Temperatura fermentació en botella/barril Date First Brewed Data elaboració dd MMM yyyy dd MMM yyyy Carbonation Volumes Volum de CO2 Taste Notes Notes de tasts Notes Notes refractoDialog Refractometer Tools Eina per a refractometres Inputs Entrades Original Plato Escenari inicial OG (20 C) DI (20C) Current Plato Escenari actual Calculate Calcular Outputs Resultats SG (20C) Densitat (20C) ABV ABV ABW ABW Refractive Index Índex refractor Real Extract (Plato) Extracte real (Escenari) OG (20C) DI (20C) scaleRecipeTool Scale Recipe Escalar la recepta New batch size Mida del lot nou New efficiency (pct) Nova eficiència (%) styleEditor Style Editor Editor d'estils Style Estil Delete selected style Eliminar estil seleccionat Basic Information Informació bàsica Name Nom Category Categoria Category number Número de categoria Style letter Estil de lletra Style guide Guia d'estil Type Tipus Type of beverage Tipus de beguda Lager Lager Ale Ale Mead Aiguamel Wheat Blat Mixed Mixte Cider Sidra Vital Statistics Estadísitques vitals Max Màxim Min Mínim OG DI FG DF IBUs IBUs Color (SRM) Color (SRM) Carb (vols) Carb (vols) ABV (pct) ABV (pct) Profile Perfil Ingredients Ingredients Examples Exemples Notes Notes New Nou Save Desar Cancel Cancel·lar timerListDialog Timers Temporitzadors timerWidget Form Format Set the timer to the specified value Inicialitzar el temporitzador al valor indicat Set Inicialitzar HH:MM:SS HH:MM:SS Start/Stop timer Iniciar/Aturar temporitzador Start Iniciar Set a sound as the alarm Seleccionar un so d'alerta Sound So waterEditor Dialog Diàleg Name Nom Notes Notes yeastDialog Yeast Database Base de dades de llevats Add selected yeast to recipe Afegir llevat seleccionat a la recepta Add to Recipe Afegir a la recepta Create new yeast Crear un llevat nou New Nou Edit selected yeast Editar llevat seleccionat Remove selected yeast Eliminar llevat seleccionat yeastEditor Yeast Editor Editor de Llevats Required Fields Camps obligatoris Name Nom Type Tipus Ale Ale Lager Lager Wheat Blat Wine Vi Champagne Cava Form Format Liquid Líquid Dry Sec Slant Pendents Culture Cultivat Amount Quantitat Check it if the amount given is in kg instead of L. Valida si la quantitat es en Kg o en L. Amount is weight? La quantitat es expressada com a massa? Checked if the given amount is weight instead of volume Valida sí la quantitat esta expressada en massa o volum Lab Lab Product ID ID del producte Min Temp Temperatura min Min temp Temperatura min Max Temp Temperatura max Max temp Temperatura max Flocculation Precipitat Low Baixa Medium Mitja High Alta Very High Molt Alta Attenuation (%) Atenuació (%) Apparent attenuation as percentage of OG points Atenuació aparent com un percentatge de punts de DI Times Recultured Vegades reculturat Times this yeast has been recultured Número de vegades que el llevat ha sigut reculturat Max Recultures Màxim de reculteracións Max recultures Màxim de reculteracións Add to Secondary Afegir a la secundària Checked means add this yeast to secondary instead of primary Comprovar si cal afegir aquest llevat a la secundària en lloc de la primària Best For: Millor per a: Notes: Notes: brewtarget-2.0.2/translations/bt_ru.ts0000644000175000017500000055056012266512175017443 0ustar philipphilip BrewDayScrollWidget Style Сорт Date Дата Boil Time Время кипячения Efficiency Эффективность Boil Volume Объем сусла до кипячения Preboil Gravity Плотность сусла до кипячения Final Volume Объём сусла после кипячения Starting Gravity Начальная плотность IBU Горечь IBU Final Gravity Конечная плотность ABV % алкоголя (об.) Estimated calories(per 12 oz) Примерное число калорий (на 0.33л) Instructions Инструкции Completed Выполнено Time Время Step Этап Actual PreBoil Volume Фактический объем сусла до кипячения Actual PreBoil Gravity Фактическая плотность сусла до кипячения PostBoil Volume Объем сусла после кипячения PostBoil Gravity Плотность сусла после кипячения Volume into fermenter Объем сусла в бродильне Print Document Печать документа <h2>Notes</h2> <h2>Примечания</h2> Step %1: %2 Этап %1: %2 Add grains Добавить солод Heat water Подогрев воды BrewDayWidget Style Сорт Date Дата Boil Volume Объем сусла до кипячения Preboil Gravity Плотность сусла до кипячения Final Volume Объём сусла после кипячения Starting Gravity Начальная плотность Boil Time Время кипячения IBU Горечь IBU Predicted Efficiency Предпологаемая эффективность Estimated calories (per 12 oz) Приблизительно калорий (на 0,33л) Instructions Инструкции Completed Выполнено Time Время Step Этап Actual Pre-boil Volume: Фактический объём перед кипячением Actual Pre-boil Gravity: Фактическая плотность перед кипячением Post-boil Volume: Объём после кипячения Post-boil Gravity: Плотность после кипячения Volume in fermenter: Объём в бродильном баке Print Document Распечатать документ Notes Примечания Step %1: %2 Этап %1: %2 BrewTargetTreeModel Name Название Brew Date Дата варки Style Стиль Boil Time Время кипячения Color Цвет Type Тип Use Использование Form Форма Category Категория Number Letter Guide BrewTargetTreeView New Recipe Новый рецепт Brew It! Вари Brew Again Сварить снова Delete Удалить New Equipment Новое оборудование New Fermentable Новые сбраживаемые New Hop Новый хмель New Misc Новые прочие New Yeast Новые дрожжи Copy Копировать Export Экспортировать Import Импортировать Change date New Style Recalculate eff Brewtarget Default По умолчанию EBC Цвет пива по EBC SRM Цвет пива по SRM Plato Плато Specific Gravity Плотность SG SI Международные единицы US Customary Американские единицы Milligrams Миллиграммы Grams Граммы Kilograms Килограммы Ounces Унции Pounds Фунты Celsius ° Цельсия Fahrenheit ° Фаренгейта British Imperial Британские имперские MilliLiters Миллилитры Liters Литры Teaspoons Чайные ложки Tablespoons Столовые ложки Cups Чашки Quarts Кварты Gallons Галлоны BtDigitWidget Too low for style. Слишком низко для стиля In range for style. В пределах стиля Too high for style. Слишком высоко для стиля Database Merge Database Объединение базы данных There may be new ingredients and recipes available. Would you like to add these to your database? Возможно доступны новые ингридиенты и рецепты. Желаете добавить их в вашу базу данных? EquipmentEditor Grain absorption (%1/%2) Поглощение дробиной (%1/%2) Tun Volume Warning Предупреждение, объём бака Batch Size Warning Предупреждение, размер затора Equipment name Название оборудования Equipment name: Название оборудования: The tun volume you entered is 0. This may cause problems Введенный Вами объем заторника равен 0. Это может создать проблемы The batch size you entered is 0. This may cause problems Введенный Вами размер партии равен 0. Это может создать проблемы Hop Utilization Warning The hop utilization percentage you entered is 0. This may cause problems Введенный Вами процент использования хмеля равен 0. Это может создать проблемы FermentableDialog Fermentable name Название сбраживаемого Fermentable name: Название сбраживаемого FermentableItemDelegate Grain Солод Sugar Сахар Extract Экстракт Dry Extract Сухой экстракт Adjunct Дополнение FermentableTableModel Bad model index. row = %1 Неправильный индекс модели. Строка = %1 Mashed Затёртое Steeped Загруженое Not mashed Не затёртое Late Поздно Normal Нормально Bad column: %1 Неправильная колонна: %1 Name Название Type Тип Amount Количество Late Addition Последнее дополнение Yield % Выход % Color (SRM) Цвет (SRM) Color (EBC) Цвет (EBC) Hop Mash Затор First Wort Первое сусло Boil Кипячение Aroma Аромат Dry Hop Сухое охмеление Bittering Горечь Both Оба Leaf Листовой Pellet Гранулированный Plug Пробка HopDialog Hop name Название хмеля Hop name: Название хмеля: HopItemDelegate Boil Кипячение Dry Hop Сухое охмеление Mash Затор First Wort Первое сусло Aroma Аромат Leaf Листовой Pellet Гранулы Plug Пробка HopTableModel Name Имя Alpha % Альфа % Amount Количество Use Использование Time Время Form Форма MainWindow Open Открыть BeerXML files (*.xml) Файлы BeerXML (*.xml) Save Сохранить Equipment request Запрос оборудования Would you like to set the batch size, boil size and time to that requested by the equipment? Желаете приравнять размер затора, размер кипячения и время к размеру запрошеного оборудования? Delete %1 Удаление %1 Delete %1 %2? Удалить %1 %2? HTML files (*.html) Файлы HTML (*.html) New Новый Recipe Рецепт Equipment Оборудование Fermentable Сбраживаемое Hop Хмель Miscellaneous Прочее Yeast Дрожжи Copy %1 Копирование %1 Enter a unique name for the copy of %1. Введите уникальное имя для копии %1. Copy Equipment Копировать оборудование Copy Fermentable Копировать сбраживаемое Copy Hop Копировать хмель Copy Miscellaneous Копировать прочее Copy Yeast Копировать дрожжи Database Update Обновление базы данных You are about to update the current database with another one. This may make changes to (but will not delete) some of your ingredients. It will not modify any of your recipes. Continue? Вы собираетесь обновить текущую базу данных из другой базы. Это может изменить (но не удалить) некоторые из ваших ингредиентов. Рецепты изменены не будут. Продолжить? Select Database File Выберите файл базы данных Brewtarget Database (*.sqlite) База данных Brewtarget (*.sqlite) Recipe name Название рецепта Recipe name: Название рецепта: Backup Database Резервная копия базы данных Oops! Ой! Could not copy the files for some reason. Не удалось скопировать файлы по какой-то причине. A Warning Предупреждение This will obliterate your current set of recipes and ingredients. Do you want to continue? Это действие уничтожит ваш текущий набор рецептов и ингредиентов. Хотите продолжить? For some reason, the operation failed. По какой-то причине выполнить операцию не удалось. Import %1? Импортировать %1? No mash Нету затора Trying to add a mash step without a mash. Please create a mash first. Попытка добавить этап затора без самого затора. Пожалуйста, создайте сначала затор Copy Recipe Копировать рецепт Enter a unique name for the copy. Введите уникальное имя для копии. Please give your mash a name before saving. Пожалуйста, назовите ваш затор прежде чем его сохранять Restart Перезапуск Please restart Brewtarget. Пожалуйста, перезапустите Brewtarget. No equipment Нет оборудования You must select or define an equipment profile first. Сначала нужно выбрать или создать профиль оборудования. No style Нет стиля You must select a style first. Сначала выберите стиль Choose File SQLite (*.sqlite) SQLite (*.sqlite) Style Copy Style The database has been converted/upgraded. База данных была преобразована/обновлена. The original XML files can be found in The import contained invalid beerXML. It has been imported, but please make certain it makes sense. MaltinessWidget <b>Cloying</b> <b>Надоедливый</b> <b>Extra malty</b> <b>Перенасыщенное сусло</b> <b>Slightly malty</b> <b>Ненасыщенное сусло</b> <b>Balanced</b> <b>Сбалансировано</b> <b>Slightly hoppy</b> <b>Немного охмелено</b> <b>Extra hoppy</b> <b>Слишком охмелено</b> <b>Way hoppy</b> <b>Правильно охмелено</b> MashDesigner No Fermentables Нет сбраживаемого Your recipe must have fermentables to design a mash. Ваш рецепт должен содержать сбраживаемое для создания затора No Equipment Нет оборудования You have not set an equipment for this recipe. We really cannot continue without one. Вы ещё не задали оборудование для этого рецепта. Без этого нельзя продолжить. Tun Temp Температура бака Enter the temperature of the tun before your first infusion. Введите температуру бака перед первым заполнением Decoction error Ошибка отвара The first mash step cannot be a decoction. Первый этам затора не может быть сварен MashStepTableModel Bad model index. row = %1 Неправильный индекс модели. Ряд = %1 Bad column: %1 Неправильная колонка: %1 Name Название Type Тип Amount Количество Infusion Temp Температура настаивания Target Temp Желаемая температура Time Время MashWizard Mash thickness (%1/%2) Толщина затора (%1/%2) Bad thickness Неправильная толщина You must have a positive mash thickness. Должна быть положительная величина толщины затора No steps Нет этапов There must be at least one mash step to run the wizard. Должен быть хотябы один этап затора для использованяи визарта First step Первый этап Your first mash step must be an infusion. Ваш первый этап затора должен быть настаиванием Mash too thick Слишком толстый затор Your mash is too thick for desired temp. at first step. Ваш затор слишком толстый для желаемой температуры Decoction error Ошибка отвара Something went wrong in decoction calculation. Чтото пошло не так в вычислениях отвара Sparge temp. Температура промывки In order to hit your sparge temp, the sparge water must be above boiling. Lower your sparge temp, or allow for more sparge water. Для получения желаемой температуры промывки, промывочная вода должна быть выше температуры кипения. Понизьте температуру промывки или добавьте колличество промывочной воды. Too much wort Слишком много сусла You have too much wort from the mash for your boil size. I suggest increasing the boil size by increasing the boil time, or reducing your mash thickness. У Вас слишком много сусла для кипячения. Я рекомендую изменить размер кипячения путём изменения времени кипячения. Или уменьшения толщины затора. MiscDialog Misc name Разное имя Misc name: Разное имя: MiscItemDelegate Spice Специя Fining Очистка Water Agent Агент воды Herb Трава Flavor Вкус Other Иное Boil Кипячение Mash Затор Primary Первичный Secondary Вторичный Bottling Бутылирование MiscTableModel Name Название Type Тип Use Использование Time Время Amount Количество Weight Вес Volume Объём Amount Type OptionDialog Open Directory Открыть директорию Copy Data Копировать данные There do not seem to be any data files in this directory, so we will copy your old data here. Не найдено ни одного файла данных в этой диретории, поэтому я скопирую сюда Ваши старые данные. Restart Перезапуск Please restart Brewtarget. Пожалуйста, перезапустите Brewtarget. QObject Invalid color formula type: %1 Неправильный тип цвета: %1 Unrecognized IBU formula type. %1 Неопределённый тип IBU. %1 Batch Size: %1 Размер затора: %1 Boil Size: %1 Размер кипячения: %1 Boil Time: %1 Время кипячения: %1 OG: %1 Начальная плотность: %1 FG: %1 Конечная плотность: %1 Bitterness: %1 IBUs (%2) Горечь: %1 IBUs (%2) Color: %1 SRM (%2) Цвет: %1 SRM (%2) Fermentables Сбраживаемое Name Название Type Тип Amount Количество Mashed Затёртое Late Поздно Yield Выход Color Цвет Yes Да No Нет Total grain: %1 Общая засыпь: %1 Hops Хмель Alpha Альфа Use Использование Time Время IBU Горечь IBU Misc Разное Yeast Дрожжи Form Форма Stage Этап Secondary Вторичный Primary Первичный Mash Затор Temp Температура Target Цель Notes Примечания Instructions Инструкции Directory Problem Каталог проблемы "%1" cannot be read. Не удаётся выполнить чтение "%1". Config directory "%1" cannot be read. Не удаётся выполнить чтение конфигурационного каталога "%1". New Version Новая версия Version %1 is now available. Download it? Доступна версия %1. Загрузить её? Stop bothering you about new versions? Больше не напоминать о новых версиях? Database Failure Сбой базы данных Failed to open the database '%1'. Не удалось открыть базу данных '%1'. Save Database Changes Сохранить изменения в базе данных Would you like to save the changes you made? Сохранить сделанные вами изменения? Multiple Databases Found Найдено несколько баз данных Multiple databases were found. Do you want to restore the changes you made during your last Brewtarget session, or rollback to before last session's changes? Найдено несколько баз данных. Восстановить изменения, сделанные в последнем сеансе Brewtarget, или выполнить откат к состоянию до изменений в последнем сеансе? Restore Восстановить Rollback Откатить Failed to remove the temporary backup database. Navigate to '%1' and remove 'tempBackupDatabase.sqlite'. Не удалось удалить временную резервную базу данных. Перейдите в '%1' и удалите 'tempBackupDatabase.sqlite'. Failed to rollback to the backup database. Navigate to '%1', remove 'database.sqlite' if it exists, and rename 'tempBackupDatabase.sqlite' to 'database.sqlite'. Не удалось выполнить откат к резервной базе данных. Перейдите в '%1', удалите 'database.sqlite' (если этот файл существует) и переименуйте 'tempBackupDatabase.sqlite' в 'database.sqlite'. Database Restore Failure Ошибка восстановления базы данных Failed to restore the backup database. Navigate to '%1' and rename 'tempBackupDatabase.sqlite' to 'database.sqlite'. Не удалось восстановить базу из резервной копии. Перейдите в '%1' и переименуйте 'tempBackupDatabase.sqlite' в 'database.sqlite'. Grain Солод Sugar Сахар Extract Экстракт Dry Extract Сухой экстракт Adjunct Дополнение Boil Кипячение Mash Затор Infusion Настаивание Temperature Температура Decoction Отвар Bottling Бутылирование Spice Специя Fining Очистка Water Agent Агент воды Herb Трава Flavor Вкус Other Иное Ale Эль Lager Лагер Wheat Пшеница Wine Вино Champagne Шампанское Liquid Жидкость Dry Сухой Slant Уклон Culture Культура Low Низкий Medium Средний High Высокий Very High Очень высокий Recipes Рецепты Equipment Оборудование Fermentables Сбраживаемое Hops Хмель Miscellaneous Прочее Yeast Дрожжи Efficiency: %1% Эффективность: %1% ABV: %1% Объём алкоголя: %1% Style Recipe Add grains Добавить солод Add Добавить to the mash tun. В заторник Heat water Подогрев воды Bring Принести %1 water to %2, %1 воды к %2 for upcoming infusions. К предстоящему настою Add %1 water at %2 to mash to bring it to %3. Добавить %1 воды %2 к затору для получения %3 Heat mash to %1. Подогреть затор до %1. Bring %1 of the mash to a boil and return to the mash tun to bring it to %2. Довести %1 затора до кипения и вернуть в затор для получения %2. Hold for %1. Удерживать для %1. Put %1 %2 into boil for %3. Положить %1 %2 в кипячение для %3. Put %1 %2 into fermenter for %3. Положить %1 %2 в бродильный бак для %3. Put %1 %2 into first wort for %3. Положить %1 %2 в первое сусло для %3. Put %1 %2 into mash for %3. Положить %1 %2 в затор для %3. Steep %1 %2 in wort for %3. Увеличить %1 %2 в сусло для %3. Use %1 %2 for %3 Используй %1 %2 для %3 Hop addition Добавление хмеля Use %1 %2 at bottling for %3. Используй %1 %2 при бутылировании для %3. Put %1 %2 into primary for %3. Положи %1 %2 в первичное для %3. Put %1 %2 into secondary for %3. Положи %1 %2 во вторичное для %3. Use %1 %2 for %3. Используй %1 %2 для %3. Misc addition Различные дополнения Do first wort hopping with Первое охмеление с First wort hopping Первое охмеление You should now have %1 wort. Должно получится %1 сусла. Add %1 water to the kettle, bringing pre-boil volume to %2. Добавь %1 воды в котёл, доведи объём перед кипячением до %2. Pre-boil Предварительное кипячение Boil or steep Кипячение или активное кипячение Boil/steep fermentables Кипячение/крутое сбраживаемое to the boil at knockout. В момент закипания Knockout additions Добавление момента закипания You should have %1 wort post-boil. Сусло должно быть %1 после кипячения. You anticipate losing %1 to trub and chiller loss. Вы ожидаете потерю %1 на осадок в сусловарнике и при охлаждении. Add %1 top up water into primary. Добавь %1 воды в первичку The final volume in the primary is %1. Конечный объём в первичке %1 Post boil После кипячения Boil time Время кипячения You did not configure an equipment (which you really should), so tell me the boil time. Вы не указали оборудование (что вы должны сделать), поэтому время кипения укажите сами. Bring the wort to a boil and hold for %1. Доведите сусло до кипения и кипятите %1. Start boil Начало кипения Flameout Срыв пламени Stop boiling the wort. Остановки кипячения сусла Cool wort and pitch Охлаждение сусла и слив %1 %2 yeast, %1 %2 дрожжи, to the primary. в первичку Pitch yeast Внесите дрожжи Let ferment until FG is %1. Дать сбродить до конечной плотности (FG) %1. Ferment Брожение Transfer beer to secondary. Перелить пиво на вторичку Transfer to secondary Перелить на вторичку Add %1 %2 to boil at %3. Добавить %1 %2 к кипячению в %3 Raise water to boil and then remove from heat. Stir in Влей воду в кипячение и снять с огня. Слить. Add Extracts to water Добавить экстракт в воду %1 water to %2 %1 воды к %2 RecipeFormatter unknown style неизвестный стиль N/A недоступно Brewer Пивовар Date Дата Batch Size Размер затора Boil Size Размер кипячения Boil Time Время кипячения Efficiency Эффективность OG Начальная плотность (OG) FG Конечная плотность (FG) Unknown Неизвестный ABV Объём алкоголя Bitterness Горечь Color Цвет Calories (per 12 oz.) Калории (на 12 унций) Fermentables Сбраживаемые Total grain: Конечная засыпь Name Название Type Тип Amount Количество Mashed Затёрто Late Поздно Yield Выход Yes Да No Нет Hops Хмель Alpha Альфа Use Использование Time Время Form Форма IBU Горечь IBU Misc Разное Yeast Дрожжи Stage Этап Secondary Вторичное Primary Первичное Mash Затор Temp Температура Target Temp Желаемая температура Notes Заметки Instructions Инструкции Brew Date Дата варки Preboil Перед кипячением SG Специальная плотность (SG) Volume into BK Объём варочного котла Strike Temp Температура закипания Final Temp Конечная температура Eff into BK Эффективность варочного котла Projected OG Планируемая начальная плотность Postboil После кипячения Postboil Volume Объём после кипячения Volume Into Fermenter Объём в бродильном баке Brewhouse Eff Btewhouse Эффективность Projected ABV Планируемый объём алкоголя Postferment После брожения Volume Объём Print Document Печать документа RefractoDialog OG Mismatch Несовпадение начальной плотности Based on the given original plato, the OG should be %1, but you have entered %2. Continuing with the calculated OG. Основанная на данном начальном плато, начальная плотность должна быть %1, но вы ввели %2. Продолжаем с расчитаной начальной плотностью. ScaleRecipeTool Recipe Scaled Рецепт запечатан The mash has been reset due to the fact that mash temperatures do not scale easily. Please re-run the mash wizard. Затор был сброшен т.к. температура затора не маштабируется. Пожалуйсто перезапустите визард затора. The equipment and mash have been reset due to the fact that mash temperatures do not scale easily. Please re-run the mash wizard. Оборудование и затор были сброшены т.к. температура затора не маштабируется. Пожалуйсто перезапустите визард затора. StyleEditor Style name Название стиля Style name: Название стиля TimerWidget Open Sound Выберите звук Audio Files (*.wav *.ogg *.mp3 *.aiff) Аудиофайлы (*.wav *.ogg *.mp3 *.aiff) Stop Стоп Start Пуск WaterTableModel Bad model index. row = %1 Ошибочный индекс модели. строка = %1 Bad column: %1 Ошибочная колонка: %1 Name Название Amount Количество Calcium (ppm) Кальций (ppm) Bicarbonate (ppm) Бикарбонат (ppm) Sulfate (ppm) Сульфат (ppm) Chloride (ppm) Хлорид (ppm) Sodium (ppm) Сода (ppm) Magnesium (ppm) Магнезия (ppm) YeastDialog Yeast name Название дрожжей Yeast name: Название дрожжей: YeastItemDelegate Ale Эль Lager Лагер Wheat Пшеница Wine Вино Champagne Шампанское Liquid Жидкие Dry Сухие Slant Наклонный Culture Культура YeastTableModel Bad model index. row = %1 Ошибочный индекс модели. строка = %1 Bad column: %1 Ошибочная колонка: %1 Name Название Type Тип Form Форма Amount Количество Laboratory Лаборатория Product ID ID продукта aboutDialog About Brewtarget О программе Brewtarget <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'DejaVu Sans'; font-size:9pt; font-weight:400; font-style:normal;"> <p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:20pt;">Brewtarget %1</span></p> <p style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Brewtarget, for developing beer recipes.</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Copyright 2009-2013 by the developers below.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier'; font-weight:600; text-decoration: underline;">Developers</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Peter Buelow</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Dan Cavanagh</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Mik Firestone</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Philip G. Lee &lt;rocketman768@gmail.com&gt;</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier'; font-weight:600; text-decoration: underline;">Copyright (GPLv3)</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Brewtarget is free software: you can redistribute it and/or modify</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">it under the terms of the GNU General Public License as published by</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">the Free Software Foundation, either version 3 of the License, or</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">(at your option) any later version.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Brewtarget is distributed in the hope that it will be useful,</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">but WITHOUT ANY WARRANTY; without even the implied warranty of</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">GNU General Public License for more details.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">You should have received a copy of the GNU General Public License</span></p> <p style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">along with Brewtarget. If not, see &lt;</span><a href="http://www.gnu.org/licenses/"><span style=" font-family:'Courier New,courier'; text-decoration: underline; color:#0000ff;">http://www.gnu.org/licenses/</span></a><span style=" font-family:'Courier New,courier';">&gt;.</span></p> <p style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier'; font-weight:600; text-decoration: underline;">Source Code</span></p> <p style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Brewtarget's source code can be downloaded at </span><a href="http://brewtarget.sourceforge.net"><span style=" font-family:'Sans Serif'; text-decoration: underline; color:#0057ae;">brewtarget.sourceforge.net</span></a><span style=" font-family:'Sans Serif';">.</span></p> <p style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier'; font-weight:600; text-decoration: underline;">Special Thanks</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Guido Carpi (Italian translation)</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Ester (Catalan translation)</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Marc Cote (French translation)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Pawel Fiedor (Polish translation)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Admiro (Polish translation)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Edu Engler (Portuguese translation)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Jan Grmela (Czech translation)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Randy Brace (alpha tester)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://finalgravitypodcast.com"><span style=" font-family:'Sans Serif'; text-decoration: underline; color:#0057ae;">Final Gravity Podcasts</span></a></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Glenn Tinseth &lt;</span><a href="http://www.realbeer.com/hops"><span style=" text-decoration: underline; color:#0000ff;">http://www.realbeer.com/hops</span></a><span style=" font-family:'Courier New,courier';">&gt;</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">server, printer, edit-copy, document-print-preview and merge images from Oxygen theme (CC license)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">backup image from Nuvola theme (LGPL)</span></p></body></html> Donate Пожертвовать brewDayScrollWidget Form Форма Generate Instructions Создать инструкции Insert step Добавить этап Name Название Name of new step Название нового этапа Step # Этап № The number where the new step should be placed Номер добавляемого этапа Insert the new step Вставить новый этап Move steps Переместить этапы Move currently selected step up Переместить выбранный этап вверх Move currently selected step down Переместить выбранный этап вниз Remove currently selected step Удалить выбранный этап brewDayWidget Brewday Mode Режим 'День варки' Instructions Инструкции Move currently selected step up Переместить выбранный этап вверх Up Вверх Move currently selected step down Переместить выбранный этап вниз Down Вниз Remove currently selected step Удалить выбранный этап Remove Удалить Insert step Вставить этап Name Название Name of new step Название нового этапа Step # Этап № The number where the new step should be placed Номер добавляемого этапа Insert the new step Добавить новый этап Insert Вставить brewNoteWidget Form Форма Preboil Перед кипячением SG Плотность SG Preboil gravity Плотность до кипячения Volume Объём Volume of wort collected Объем собранного сусла Strike Temp Температура закипания Temperature of mash after dough in Температура затора при начале затирания Final Temp Конечная температура Temperature of mash before mash out Температура затора перед окончанием затирания Postboil После кипячения OG Начальная плотность (OG) Post boil gravity Плотность после кипячения Postboil Volume Объем сусла после кипячения Volume of wort in BK after boil Объем сусла в сусловарнике после кипячения Volume of wort transferred to fermenter Объем сусла, перелитого в бродильню Volume into fermenter Объем сусла в бродильне Pitch Temp Температура засева Temperature of wort when yeast is pitched Температура сусла в момент добавления дрожжей Postferment После брожения Final gravity Конечная плотность Volume of beer into serving keg/bottles Объем пива, розлитого в кеги/бутылки Date when the yeast fermented out Дата, когда дрожжи были взяты из бродильни percent efficiency into boil kettle процент эффективности в сусловарнике Eff into BK Эффективность варочного котла Expected OG, based on measure fg Ожидаемая НП, основанная на измерении КП Projected OG Предполагаемая НП Brewhouse efficiency Эффективность затирания Brewhouse Eff Эффективность Expected ABV based on OG Ожидаемый % алк.(об), основываясь на НП Projected ABV Предполагаемый % алк.(об) ABV based on FG % алкоголя (об.), основанный на КП ABV % алкоголя (об.) Notes Примечания btSplashScreen Form Форма converterTool Converter Tool Преобразователь единиц измерения Input Вход Amount and units to convert Входное количество и единицы измерения Output Units Выходные единицы Unit you want to convert to Единицы измерения, в которые нужно выполнить преобразование Output Выход Output conversion Результат преобразования Convert Преобразовать equipmentEditor Equipment Editor Редактор оборудования Equipment Оборудование Remove equipment Удалить оборудование Set as Default По умолчанию Required Fields Обязательные поля Name Название Pre-boil volume Объем до кипячения If checked, we will calculate your pre-boil volume based on your desired batch size, boil time, evaporation rate, losses, etc. Если опция активирована, то программа рассчитает необходимый вам объем сусла перед началом кипячения, на основании заданных параметрах желаемого конечного объема пива, времени кипячения, объемах выкипания, потерях и т.д. Calculate pre-boil volume Рассчитать предварочный объём Automatically fill in pre-boil volume Автоматически заполнить в предварочный объём Batch size Размер затора Boiling && Water Кипячение && Вода Boil time Время кипячения Evaporation rate (per hr) Скорость испарения (в час) How much water boils off per hour Сколько воды испаряется за час Kettle top-up water Доливка воды в котёл How much water is added to kettle immediately pre-boil Вода добавленая в бродильный бак Final top-up water Доливаемая в сусловарник вода Water added to fermenter Котёл к бродильному баку Grain Absorption (L/kg) Впитываемость солода (L/kg) Default Absorption Впитываемость по умолчанию Boiling Point of Water Точка кипения воды Hop Utilization Утилизация хмеля Mash Tun Заторник Volume Объём Volume of mash tun Объём заторника Mass Масса Mass or weight of mash tun Масса или вес заторника Specific heat (cal/(g*K)) Удельная теплоёмкость (кал/(г*K)) Losses Потери Kettle to fermenter Из сусловарника в бродильню Wort lost between kettle and fermenter Вода потеряная между котлом и бродильным баком Lauter deadspace Свободно в заторнике Volume of wort lost to lauter deadspace Объем сусла, оставшийся в заторнике Notes Примечания New equipment Новое оборудование Save Сохранить Cancel Отменить fermentableDialog Fermentable Database База сбраживаемых ингридиентов Add selected ingredient to recipe Добавить выбранный ингредиент в рецепт Add to Recipe Добавить в рецепт Create new ingredient Создать новый ингредиент New Новый Edit selected ingredient Изменить выбранный ингредиент Remove selected ingredient Удалить выбранный ингредиент fermentableEditor Fermentable Editor Редактор сбраживаемых ингридиентов Required Fields Обязательные поля Name Название Type Тип Grain Солод Sugar Сахар Extract Экстракт Dry Extract Сухой экстракт Adjunct Дополнение Amount Количество Yield (%) Выход (%) Yield as compared to glucose Продуктивность относительно глюкозы Lovibond Lovibond Lovibond rating Рейтинг Lovibond Add After Boil Добавить после кипячения This ingredient is added post boil. Этот ингредиент добавлен после кипячения Origin Происхождение Supplier Поставщик Coarse/Fine Diff (%) Разность грубый/тонкий помол (%) Yield difference between coarse and fine grind Разность в продуктивности между грубым и тонким помолом Moisture (%) Влажность (%) Moisture percentage by mass Процент влаги по массе DP (Lintner) DP (Lintner) Diastatic power in Lintner Диастатическая сила по шкале Lintner Protein (%) Белок (%) Protein percentage by mass Белок в процентах к массе Max In Batch (%) Макс. в засыпи (%) Maximum recommended percentage of total grist Максимально допустимый процент в засыпи Recommend Mash Рекомендуется затереть Recommend this be mashed Рекомендуется подвергнуть затиранию Is Mashed Затерто Checked if it is present in mash Отмечено, если это присутствует в засыпи Bitterness (IBU*gal/lb) Горечь (IBU*гал./фт.) Bitterness of pre-hopped extracts Горечь охмеленных экстрактов Notes: Примечания: hopDialog Hop Database База данных сортов хмеля Add selected ingredient to recipe Добавить выбранный ингредиент в рецепт Add to Recipe Добавить в рецепт New hop Новый сорт хмеля New Новый Edit Изменить Remove Удалить hopEditor Hop Editor Редактор сортов хмеля Required Fields Обязательные поля Name Название Alpha (%) Альфа (%) Alpha acids as percent by mass Альфа-кислот как процент по массе Amount Количество Amount Количество Use Использование Mash Затор First Wort Первое сусло Boil Кипячение Aroma Аромат Dry Hop Сухое охмеление Time Время Type Тип Bittering Горечь Both Оба Form Форма Leaf Шишковой Pellet Гранулы Plug Пробка Beta (%) Бета (%) Beta acids as percent by mass Бета-кислот как процент по массе HSI HSI Hop Stability/Storage index Индекс Стабильности/Сохранности Хмеля Origin Происхождение Humulene (%) Гумулон (%) Humulene Гумулон Caryophyllene (%) Кариофиллен (%) Caryophyllene Кариофиллен Cohumulone (%) Когумулон (%) Cohumulone Когумулон Myrcene (%) Мирцен (%) Myrcene Мирцен Substitutes: Замены: Notes: Примечания: htmlViewer Html Viewer Браузер about:blank about:blank instructionWidget Form Форма Show a timer Показать таймер Show timer Показать таймер Mark this step completed Пометить этот этап, как завершённый Step completed Этап завершён mainWindow Recipes Рецепты Styles Fermentables Сбраживаемое Hops Хмель Miscs Прочее Yeasts Дрожжи Recipe Рецепт Name Название Name of recipe Название рецепта 5 gal 18.9л Target boil size Планируемый объем варки Efficiency (%) Эффективность (%) Calculated Boil Size Рассчитаный объем варки Calculated Batch Size Рассчитанный объем готовой партии The extraction efficiency you expect Ожидаемая эффективность Style Сорт Boil Time Время кипячения Target batch size Планируемый объем готовой партии Target Batch Size Планируемый объем готовой партии Equipment Оборудование Target Boil Size Планируемый объем варки OG Начальная плотность (OG) Boil SG Плотность при кипячении FG Конечная плотность ABV % алкоголя (об.) Bitterness (IBU) Горечь (IBU) Color Цвет IBU/GU Горечь IBU/GU Calories/12oz Калории/0.33л Extras Дополнительно Brewday День варки Add a fermentable Добавить компонент Remove selected fermentable Удалить выбранный компонент Edit selected fermentable Редактировать выбранный ингридиент Add hop Добавить хмель Remove selected hop Удалить выбранный хмель Edit selected hop Изменить выбранный хмель Miscellaneous Прочее Add misc Добавить прочее Remove selected misc Удалить выбранный элемент Edit selected misc Редактировать выбранный элемент Yeast Дрожжи Add yeast Добавить дрожжи Remove selected yeast Удалить выбранные дрожжи Edit selected yeast Редактировать выбранные дрожжи Mash Затор Add mash step Добавить этап затирания Remove selected mash step Удалить выбранный этап затирания Edit selected mash step Редактировать выбранный этап затирания Edit mash properties Редактировать свойства затора Edit mash Редактировать затор Mash Des Редактор затора Invoke the mash wizard Вызвать мастера затора Mash wiz Мастер затора Mashs Затирания Mash step up Этап затирания выше Mash step down Этап затирания ниже Save this mash profile Сохранить этот профайл затирания Save Mash Сохранить затирание &About &Справка &File &Файл &Brewday &Варочный день &Recipe &Рецепт &Database &База данных &View &Вид &Tools &Инструменты toolBar Панель инструментов About &BrewTarget &О BrewTarget About Brewtarget О Brewtarget &Export Recipe &Экспортировать рецепт &Fermentables &Сбраживаемое Ctrl+F Ctrl+F &Hops &Хмель Ctrl+H Ctrl+H &Miscs &Прочее Ctrl+M Ctrl+M &Yeasts Д&рожжи Ctrl+Y Ctrl+Y &Equipments &Оборудование Ctrl+E Ctrl+E &Styles &Сорта Ctrl+T Ctrl+T &Exit В&ыйти Ctrl+Q Ctrl+Q &Import Recipes &Импортировать рецепты &Options &Параметры &Manual &Руководство &Scale Recipe &Масштабирование рецепта Recipe to Clipboard as &Text &Копировать рецепт в буфер в виде текста &OG Correction Help Коррекция &НП &Convert Units &Преобразование единиц Backup Database Резервная копия базы данных Restore Database Восстановление Базы &Copy Recipe &Копировать рецепт Pr&iming Calculator &Карбонизация &Refractometer Tools &Рефрактометр &Pitch Rate Calculator &Нормы засева Merge Databases Объединить базы данных Select another database to merge into the current one. Выберите другую базу данных для объединения с текущей базой. &Print &Печать Print Pre&view Пр&едварительный просмотр &Export To HTML &Экспортировать в HTML &Export to HTML &Экспортировать в HTML &Backup &Резервное копирование Save all recipes, ingredients, etc. to a backup folder Сохранить все рецепты, ингредиенты и т.п. в папке резервной копии &Restore &Восстановление Restore recipes, ingredients, etc. from a previous backup Восстановить рецепты, ингредиенты и т.п. из резервной копии &Merge &Объединение Merge another set of recipes, ingredients, etc. into the current set Объединить другой набор рецептов, ингредиентов и т.п. с текущим набором &New Recipe &Новый рецепт Timers Таймеры Show timers Показать таймеры Save Сохранить Delete selected Удалить выбранный Delete recipe Удалить рецепт Donate Пожертвовать &Mashs Mashes mashDesigner Mash Designer Дизайнер засыпи Name Название Type Тип Target temp. Нужная температура Time Время Batch Sparge Промывка 'частями'. Next Далее Finish Закончить Infusion/Decoction Amount Объем доливки/отварки min мин. max макс. 0 0 Infusion Temp Температура настаивания Total Collected Wort Всего собрано сусла vol об. Tun Fullness Наполнение заторника tunVol затОб. thickness густота mashEditor Mash Editor Редактор засыпи Name Название Initial grain temp Начальная температура солода Sparge temp Температура промывки Sparge temp target Нужная температура промывки Sparge pH pH промывки Notes Примечания Tun Заторник Initial tun temp Начальная температура затора Get following parameters from the recipe's equipment. Взять следующие параметры с оборудования из рецепта. From Equipment С Оборудования Tun mass Масса Заторника Tun sp. heat Теплоемк. Заторника Tun specific heat (cal/(g*K)) Теплоемкость Заторника (кал/(гр*С)) mashStepEditor Mash Step Editor Редактор Шага Затирания Name Название Type Тип Infusion Настаивание Temperature Температура Decoction Отвар Target temp. Нужная температура Target temp. of this step Нужная температура этого шага Infuse Amount Объем доливки Amount of water to infuse Объем воды для доливки Infuse temp. Темп.доливки Temperature of infusion water Температура доливаемой воды Decoction Amount Объем отварки Amount of mash to decoct Объем отвариваемого затора Time Время Time to conduct the step Время выполнения шага Temp. lag time Температура лаг-паузы Lag time Лаг-пауза End temp. Конечная температура Final temp. of this step Температура в конце этого шага mashWizard Mash Wizard Мастер затора Mash thickness (L/kg) Густота затора (л/кг) Mash thickness (do not enter any units) Густота затора (ничего не вводите) miscDialog Misc Database База данных прочих ингредиентов Add selected ingredient to recipe Добавить выбранный ингредиент в рецепт Add to Recipe Добавить в рецепт Create a new ingredient Создать новый ингредиент New Новый Edit selected ingredient Изменить выбранный ингредиент Remove selected ingredient Удалить выбранный ингредиент miscEditor Misc Editor Редактор прочих ингредиентов Name Название Type Тип Spice Специя Fining Очистка Water Agent Агент воды Herb Трава Flavor Аромат Other Другое Use Использование Boil Кипячение Mash Затор Primary Главное брожение Secondary Дображивание Bottling Бутылирование Time Время Amount Количество Check it if the amount listed is in kg instead of L. Включите, если количество задано в кг, а не в литрах. Amount is weight? Количество - вес? Checked if the given amount is weight instead of volume Отметьте, если указанное количество - вес, а не объем Use for: Используется для: Notes: Примечания: namedMashEditor Named Mash Editor Mash Затор Delete selected style Удалить выбранный сорт Name Initial grain temp Начальная температура солода Sparge temp Температура промывки Sparge temp target Нужная температура промывки Sparge pH pH промывки Notes Tun Заторник Initial tun temp Начальная температура в заторнике From Equipment С Оборудования Tun mass Масса Заторника Tun sp. heat Теплоемк. Заторника Tun specific heat (cal/(g*K)) Теплоемкость Заторника (кал/(гр*С)) Add mash step Добавить этап сусловарения Remove selected mash step Удалить выбранный этап сусловарения Mash step up Этап затирания выше Mash step down Предыдущий этап сусловарения ogAdjuster Adjust Volume to Hit OG Коррекция объема для получения НП Input Ввод SG Плотность SG Measured gravity pre-boil Измеренная плотность до кипячения Temp Температура Temperature of SG reading Температура, при которой измерялась плотность Calibration Temp Калибровка температуры Temp to which the hydrometer is calibrated Темп., на которую откалиброван ареометр -or- -или- Plato Плато Plato (percent by mass of equivalent sucrose) Плато (процент по массе эквивалента сахара) Pre-Boil Volume Объем до кипячения Measured pre-boil volume Измеренный объем до кипячения Output Результат OG w/o Correction НП без коррекции OG if you boil as planned НП если варка по плану Add to Boil Добавить в варочник Amount of water you need to add to hit planned OG (or boil off if negative) количество воды, которое нужно добавить или выпарить чтобы достичь требуемую НП Final Batch Size Окончательный объем готового сусла Estimated batch size after correction Оценочный объем готового сусла после коррекции Calculate Расчитать optionsDialog Options Параметры Units Единицы Weight Вес Use SI units Единицы измерения СИ Use US traditional units Единицы измерения США Use British imperial units Единицы измерения Великобритании Temperature Температура Celsius Шкала Цельсия Fahrenheit Шкала Фаренгейта Volume Объём Gravity Плотность 20C/20C Specific Gravity 20C/20C Текущая Плотность Plato/Brix/Balling Плато/Брикс/Баллинг Color Цвет Use SRM Использовать SRM Use EBC Использовать EBC Formulas Формулы Mosher's approximation Аппроксимация Мошера Daniels' approximation Аппроксимация Дэниэлса Morey's approximation Аппроксимация Мори IBU Горечь IBU Tinseth's approximation Аппроксимация Тинсета Rager's approximation Аппроксимация Рэйджера IBU Adjustments Корректировки горечи по IBU % IBU adjustment Mash Hop First Wort Первое сусло Directories Каталоги Database Directory Каталог базы данных Where your brewtarget .xml files are. Где находятся .xml файлы Brewtarget. Browse Выбрать Default По умолчанию Language Язык Czech Чешский Catalan Каталанский German Немецкий English Английский Spanish Испанский French Французский Italian Итальянский Dutch Нидерландский Polish Польский Portuguese Португальский Russian <qt> <b>Know another language?</b> <br><br> Or, would you like to improve a translation? Help us out and <a href="https://sourceforge.net/sendmessage.php?touser=938941"> provide a translation</a> so that your friends can use brewtarget! </qt> <qt> <b>Знаете другой язык?</b> <br><br> Или хотите улучшить перевод? Помогите нам и <a href="https://sourceforge.net/sendmessage.php?touser=938941"> пришлите перевод</a>, чтобы ваши друзья могли пользоваться brewtarget! </qt> pitchDialog Pitch Rate Calculator Калькулятор нормы задачи дрожжей Input Ввод Wort Volume Объем сусла OG Начальная плотность (OG) For ales, 0.75-1. For lagers, 1.5-2. Для элей 0.75-1. Для лагеров 1.5-2. Pitch Rate (M cells)/(mL*P) Норма засева (млн.клеток/мл*П) Aeration Method Метод аэрации Yeast Production Date Дата производства дрожжей Yeast Viability % живых дрожжей None Ничего O2 At Start Начальное содержание кислорода Stir Plate Магнитная мешалка MM/dd/yyyy мм/дд/гггг % % TextLabel Текстовая метка Calculate Viability From Date Рассчитать % живых дрожжей от Даты # Vials/Smack Packs Pitched # Использовано пакетиков дрожжей Output Результат Billions of Yeast Cells Required Требуется дрожжевых клеток (млрд.) # Vials/Smack Packs w/o Starter # Пакетиков дрожжей без стартера Dry Yeast Сухие дрожжи Starter Volume Объем стартера primingDialog Priming Calculator Калькулятор карбонизации Input Ввод Collected Beer Volume Полученный объем пива Amount of beer to prime Объем карбонизируемого пива Beer Temperature Температура пива Temp of the beer Темп. пива Desired Volumes Желаемая степень карбонизации How many volumes of CO2 you want (1 L CO2 @ STP per L beer) Сколько объемов CO2 желаете получить (1л CO2 / 1л пива) Glucose Monohydrate (corn sugar) Глюкоза моногидрат (кукурузный сахар) Anhydrous Glucose Глюкоза безводная Sucrose (table sugar) Сахароза (столовый сахар) Dry Malt Extract Сухой солодовый экстракт Output Результат Prime with Чем карбонизируем How much priming ingredient to use Сколько праймера требуется Calculate Расчитать recipeExtrasDialog Recipe Extras Дополнительная информация Brewer Пивовар Asst. Brewer Помощник пивовара Taste Rating Оценка вкуса Primary Age (days) Срок брожения (дней) Primary Temp Температура брожения Secondary Age (days) Срок дображивания (дней) Secondary Temp Температура дображивания Tertiary Age (days) Срок выдержки (дней) Tertiary Temp Температура выдержки Bottle/Keg Age (days) Выдержка в бутылках/кеге (дней) Bottle/Keg Temp Температура бутылок/кег Date First Brewed Дата первой варки dd MMM yyyy дд МММ гггг Carbonation Volumes Степень карбонизации Taste Notes Замечания по вкусу Notes Примечания Cancel Отмена recipeExtrasWidget Form Форма Brewer Пивовар Asst. Brewer Помощник пивовара Taste Rating Оценка вкуса Primary Age (days) Срок брожения (дней) Primary Temp Температура брожения Secondary Age (days) Срок дображивания (дней) Secondary Temp Температура дображивания Tertiary Age (days) Срок выдержки (дней) Tertiary Temp Температура выдержки Bottle/Keg Age (days) Выдержка в бутылках/кеге (дней) Bottle/Keg Temp Температура бутылок/кег Date First Brewed Дата первой варки dd MMM yyyy дд МММ гггг Carbonation Volumes Степень карбонизации Taste Notes Замечания по вкусу Notes Примечания refractoDialog Refractometer Tools Калькулятор для рефрактометра Inputs Ввод Original Plato Начальное Плато OG (20 C) Начальная плотность (OG) (20С) Current Plato Текущее Плато Calculate Расчитать Outputs Результаты SG (20C) Плотность SG (20С) ABV % алкоголя (об.) ABW % алк.(вес) Refractive Index Показатель преломления Real Extract (Plato) Действительный экстракт (Плато) OG (20C) Начальная плотность (OG) (20С) scaleRecipeTool Scale Recipe Масштабирование рецепта New batch size Новый объем варки New efficiency (pct) Новая эффективность (%) styleEditor Style Editor Редактор сортов Style Сорт Delete selected style Удалить выбранный сорт Basic Information Общая информация Name Название Category Категория Category number Номер категории Style letter Сорт Style guide Классификация сортов Type Тип Type of beverage Тип напитка Lager Лагер Ale Эль Mead Медовуха Wheat Пшеница Mixed Смешанный Cider Сидр Vital Statistics Основные характеристики Max Макс. Min Мин. OG НП FG КП IBUs IBU Color (SRM) Цвет (SRM) Carb (vols) Карбонизация (об.) ABV (pct) %алк.(об.) Profile Краткое описание Ingredients Ингредиенты Examples Примеры Notes Примечания New Новый Save Сохранить Cancel Отменить timerListDialog Timers Таймеры timerWidget Form Форма Set the timer to the specified value Установить значение таймера Set Установить HH:MM:SS ЧЧ:ММ:СС Start/Stop timer Запустить или остановить таймер Start Пуск Set a sound as the alarm Выбрать звуковой сигнал Sound Звук waterEditor Dialog Диалог Name Название Notes Примечания yeastDialog Yeast Database База данных дрожжей Add selected yeast to recipe Добавить выбранные дрожжи в рецепт Add to Recipe Добавить в рецепт Create new yeast Добавить новые дрожжи New Новые Edit selected yeast Редактировать выбранные дрожжи Remove selected yeast Удалить выбранные дрожжи yeastEditor Yeast Editor Информация о дрожжах Required Fields Обязательные поля Name Название Type Тип Ale Элевые Lager Лагерные Wheat Пшеничные Wine Винные Champagne Шампанские Form Форма Liquid Жидкие Dry Сухие Slant В пробирке Culture Культура Amount Количество Check it if the amount given is in kg instead of L. Отметьте, если количество указано в кг вместо л. Amount is weight? Количество - вес? Checked if the given amount is weight instead of volume Отмечено, если указанное количество - вес, а не объем Lab Лаборатория Product ID ID продукта Min Temp Мин. температура Min temp Минимальная температура Max Temp Макс. температура Max temp Максимальная температура Flocculation Флоккуляция Low Низкая Medium Средняя High Высокая Very High Очень высокая Attenuation (%) Степень сбраживания (%) Apparent attenuation as percentage of OG points Видимая степень сбраживания в процентах от НП Times Recultured Сколько раз использовались повторно Times this yeast has been recultured Сколько раз эти дрожжи повторно использовались Max Recultures Максимальное число повторных использований Max recultures Максимальное число повторных использований Add to Secondary Добавлять на карбонизацию Checked means add this yeast to secondary instead of primary Если отмечено, добавьте эти дрожжи на карбонизацию вместо главного брожения Best For: Использовать до Notes: Примечания: brewtarget-2.0.2/translations/bt_nb.ts0000644000175000017500000050253612266512175017414 0ustar philipphilip BrewDayScrollWidget Style Øltype Date Dato Boil Time Koketid Efficiency Effektivitet Boil Volume Kokevolum Preboil Gravity Tetthet før kok Final Volume Sluttvolum Starting Gravity Tetthet start IBU IBU Final Gravity Tetthet slutt ABV ABV Estimated calories(per 12 oz) Estimert kalorier Instructions Instruksjoner Completed Fullført Time Tidtaker Step Trinn Actual PreBoil Volume Kokevolum start Actual PreBoil Gravity Reell tetthet før koking PostBoil Volume Volum etter kok PostBoil Gravity Tetthet etter kok Volume into fermenter Volum til gjæring Print Document Skriv ut dokument <h2>Notes</h2> <h2>Notater</h2> Step %1: %2 Trinn %1: %2 Add grains Legg til malt Heat water Varm opp vann BrewDayWidget Style Øltype Date Dato Boil Volume Kokevolum Preboil Gravity Tetthet før kok Final Volume Sluttvolum Starting Gravity Tetthet start Boil Time Koketid IBU IBU Predicted Efficiency Estimert effektivitet Estimated calories (per 12 oz) Estimert kalorier Instructions Instruksjoner Completed Fullført Time Tidtaker Step Trinn Actual Pre-boil Volume: Reelt kokevolum Actual Pre-boil Gravity: Reell tetthet før koking: Post-boil Volume: Volum etter kok Post-boil Gravity: Tetthet etter kok Volume in fermenter: Volum til gjæring Print Document Skriv ut dokument Notes Notater Step %1: %2 Trinn %1: %2 BrewTargetTreeModel Name Navn Brew Date Bryggedato Style Øltype Boil Time Koketid Color Farge Type Type Use Bruk Form Skjema Category Kategori Number Nummer. Letter Brev Guide Veiledning BrewTargetTreeView New Recipe Ny oppskrift Brew It! Brygg nå Brew Again Brygg igjen Delete Slett New Equipment Nytt utstyr New Fermentable Ny gjærbar råvare New Hop Ny humle New Misc Ny diverse indegriens New Yeast Ny gjær Copy Kopier Export Eksporter Import Importer Change date Endre dato New Style Ny øltype Recalculate eff Rekalkuler eff Brewtarget Default Standard EBC EBC SRM SRM Plato Plato Specific Gravity Spesifikk tetthet SI SI US Customary Amerikanske enheter Milligrams Milligram Grams Gram Kilograms Kilo Ounces Unser Pounds Pund Celsius Celsius Fahrenheit Fahrenheit British Imperial Britiske enheter MilliLiters Milliliter Liters Liter Teaspoons Teskje Tablespoons Spiseskje Cups Cups Quarts Quarts Gallons Gallons BtDigitWidget Too low for style. For lav for øltypen In range for style. Innenfor område til øltypen Too high for style. For høy for øltypen Database Merge Database Flett database There may be new ingredients and recipes available. Would you like to add these to your database? Det kan være nye in indegrienser og oppskrifter tilgjegelig. Ønsker du å legge disse til databasen? EquipmentEditor Grain absorption (%1/%2) Malt absorption (%1/%2) Tun Volume Warning Tønnevolum advarsel Batch Size Warning Bryggevolum advarsel Equipment name Utstyrsnavn Equipment name: Utstyrsnavn: The tun volume you entered is 0. This may cause problems Tønnevolumet ble satt til 0. Dette kan skape problemer The batch size you entered is 0. This may cause problems Bryggevolumet ble satt til 0. Dette kan skape problemer Hop Utilization Warning Humleutnyttelse advarsel The hop utilization percentage you entered is 0. This may cause problems Prosentvis utnyttelse av humlen ble satt til 0. Dette kan skape problemer FermentableDialog Fermentable name Gjærbar råvares navn Fermentable name: Gjærbar råvares navn: FermentableItemDelegate Grain Korn Sugar Sukker Extract Ekstrakt Dry Extract Tørr ekstrakt Adjunct Adjunkt FermentableTableModel Bad model index. row = %1 Mashed Meskes Steeped Trekkes Not mashed Meskes ikke Late Sen Normal Normal Bad column: %1 Feil i kolonne: %1 Name Navn Type Type Amount Mengde Late Addition Yield % Utbytte % Color (SRM) Farge (SRM) Color (EBC) Farge (EBC) Hop Mash Mesk First Wort Boil Kok Aroma Aroma Dry Hop Tørrhumle Bittering Bitring Both Begge Leaf Blomst Pellet Pellet Plug Plugg HopDialog Hop name Humlenavn Hop name: Humlenavn: HopItemDelegate Boil Kok Dry Hop Tørrhumle Mash Mesk First Wort Aroma Aroma Leaf Blomst Pellet Pellet Plug Plugg HopTableModel Name Navn Alpha % Alfa % Amount Mengde Use Bruk Time Tid Form Form MainWindow Open Åpne BeerXML files (*.xml) BeerXML-filer (*.xml) Save Lagre Equipment request Would you like to set the batch size, boil size and time to that requested by the equipment? Delete %1 Slett %1 Delete %1 %2? Slett %1 %2? HTML files (*.html) HTML-filer (*.html) New Ny Recipe Oppskrift Equipment Utstyr Fermentable Gjærbar råvare Hop Humle Miscellaneous Diverse Yeast Gjær Copy %1 Kopier %1 Enter a unique name for the copy of %1. Skriv inn et unikt navn for kopien av %1. Copy Equipment Kopier utstyr Copy Fermentable Kopier gjærbar råvare Copy Hop Kopier humle Copy Miscellaneous Kopier diverse Copy Yeast Kopier gjær Database Update Databaseoppdatering You are about to update the current database with another one. This may make changes to (but will not delete) some of your ingredients. It will not modify any of your recipes. Continue? Du er i ferd med å oppdatere nåværende database med en annen. Dette kan gjøre endringer i (men ikke slette) noen av ingrediensene dine. Det vil ikke endre noen av dine oppskrifter. Fortsette? Select Database File Velg databasefil Brewtarget Database (*.sqlite) Brewtarget-database (*.sqlite) Recipe name Oppskriftsnavn Recipe name: Oppskriftsnavn: Backup Database Oops! Oppsann! Could not copy the files for some reason. Kunne ikke kopiere filene av en eller annen grunn. A Warning En advarsel This will obliterate your current set of recipes and ingredients. Do you want to continue? Dette vil viske ut din nåværende samling av oppskrifter og ingredienser. Vil du fortsette? For some reason, the operation failed. Av en eller annen grunn mislyktes operasjonen. Import %1? Importer %1? No mash Ingen mesk Trying to add a mash step without a mash. Please create a mash first. Du forsøker å legge til et meskesteg uten en mesk. Vennligst lag en mesk først. Copy Recipe Kopier oppskrift Enter a unique name for the copy. Skriv inn et unikt navn på kopien. Please give your mash a name before saving. Vennligst gi mesken et navn før du lagrer. Restart Start på nytt Please restart Brewtarget. Vennligst start Brewtarget på nytt. No equipment Intet utstyr You must select or define an equipment profile first. Du må velge eller definere en utstyrsprofil først. No style Ingen øltype You must select a style first. Du må velge en øltype først. Choose File Velg fil SQLite (*.sqlite) SQLite (*.sqlite) Style Øltype Copy Style Kopier øltype The database has been converted/upgraded. Databasen har blitt konvertert/oppgradert. The original XML files can be found in De originale XML-filene kan finnes i The import contained invalid beerXML. It has been imported, but please make certain it makes sense. MaltinessWidget <b>Cloying</b> <b>Kvalmende søt</b> <b>Extra malty</b> <b>Ekstra maltpreget</b> <b>Slightly malty</b> <b>Noe maltpreget</b> <b>Balanced</b> <b>Balansert</b> <b>Slightly hoppy</b> <b>Noe humlepreget</b> <b>Extra hoppy</b> <b>Ekstra humlepreget</b> <b>Way hoppy</b> <b>Voldsomt humlepreget</b> MashDesigner No Fermentables Ingen gjærbare råvarer Your recipe must have fermentables to design a mash. Oppskriften må inneholde gjærbare råvarer for å sette opp en mesk. No Equipment Intet utstyr You have not set an equipment for this recipe. We really cannot continue without one. Du har ikke satt noe utstyr for denne oppskriften. Vi kan ikke fortsette uten. Tun Temp Meskekartemperatur Enter the temperature of the tun before your first infusion. Skriv inn meskekarets temperatur før din første infusjon. Decoction error Dekoksjonsfeil The first mash step cannot be a decoction. Det første meskesteget kan ikke være en dekoksjon. MashStepTableModel Bad model index. row = %1 Bad column: %1 Feil i kolonne: %1 Name Navn Type Type Amount Mengde Infusion Temp Infusjonstemperatur Target Temp Måltemperatur Time Tid MashWizard Mash thickness (%1/%2) Mesketykkelse (%1/%2) Bad thickness Ugyldig tykkelse You must have a positive mash thickness. Du må ha en positiv mesketykkelse. No steps Ingen steg There must be at least one mash step to run the wizard. Det må finnes minst ett meskesteg for å kjøre veiviseren. First step Første steg Your first mash step must be an infusion. Ditt første meskesteg må være en infusjon. Mash too thick For tykk mesk Your mash is too thick for desired temp. at first step. Mesken din er for tykk for ønsket temp. ved første steg. Decoction error Dekoksjonsfeil Something went wrong in decoction calculation. Noe gikk galt i dekoksjonsutregningen. Sparge temp. Skylletemp. In order to hit your sparge temp, the sparge water must be above boiling. Lower your sparge temp, or allow for more sparge water. For å treffe skylletemperaturen må skyllevannet være over kokepunktet. Senk skylletemperaturen, eller tillat mer skyllevann. Too much wort For mye vørter You have too much wort from the mash for your boil size. I suggest increasing the boil size by increasing the boil time, or reducing your mash thickness. Du har for mye vørter fra meskingen for kokemengden din. Jeg foreslår å øke kokemengden ved å øke koketiden eller redusere mesketykkelsen. MiscDialog Misc name Misc name: MiscItemDelegate Spice Krydder Fining Klaringsmiddel Water Agent Herb Urt Flavor Smak Other Annet Boil Kok Mash Mesk Primary Primær Secondary Sekundær Bottling Flasking MiscTableModel Name Navn Type Type Use Bruk Time Tid Amount Mengde Weight Vekt Volume Volum Amount Type OptionDialog Open Directory Åpne mappe Copy Data Kopier data There do not seem to be any data files in this directory, so we will copy your old data here. Det later ikke til å være noen datafiler i denne mappen, så vi kopierer dine gamle data hit. Restart Start på nytt Please restart Brewtarget. Vennligst start Brewtarget på nytt. QObject Invalid color formula type: %1 Ugyldig fargeformeltype: %1 Unrecognized IBU formula type. %1 Ukjent IBU-formeltype. %1 Batch Size: %1 Bryggevolum: %1 Boil Size: %1 Kokevolum: %1 Boil Time: %1 Koketid: %1 OG: %1 OG: %1 FG: %1 FG: %1 Bitterness: %1 IBUs (%2) Bitterhet: %1 IBU (%2) Color: %1 SRM (%2) Farge: %1 SRM (%2) Fermentables Gjærbare råvarer Name Navn Type Type Amount Mengde Mashed Meskes Late Sen Yield Utbytte Color Farge Yes Ja No Nei Total grain: %1 Totalt korn: %1 Hops Humle Alpha Alfa Use Bruk Time Tid IBU IBU Misc Diverse Yeast Gjær Form Stage Secondary Sekundær Primary Primær Mash Mesk Temp Temp Target Mål Notes Notater Instructions Instruksjoner Directory Problem Mappeproblem "%1" cannot be read. "%1" kan ikke leses. Config directory "%1" cannot be read. New Version Ny versjon Version %1 is now available. Download it? Versjon %1 er nå tilgjengelig. Laste den ned? Stop bothering you about new versions? Slutte å plage deg med nye versjoner? Database Failure Databasefeil Failed to open the database '%1'. Kunne ikke åpne database '%1'. Save Database Changes Lagre databaseendringer Would you like to save the changes you made? Vil du lagre endringene du gjorde? Multiple Databases Found Flere databaser funnet Multiple databases were found. Do you want to restore the changes you made during your last Brewtarget session, or rollback to before last session's changes? Flere databaser ble funnet. Vil du gjenopprette endringene du gjorde under din forrige Brewtarget-økt eller tilbakestille til før forrige økts endringer? Restore Gjenopprett Rollback Tilbakestill Failed to remove the temporary backup database. Navigate to '%1' and remove 'tempBackupDatabase.sqlite'. Kunne ikke fjerne den midlertidige sikkerhetskopien av databasen. Naviger til '%1' og fjern 'tempBackupDatabase.sqlite'. Failed to rollback to the backup database. Navigate to '%1', remove 'database.sqlite' if it exists, and rename 'tempBackupDatabase.sqlite' to 'database.sqlite'. Kunne ikke tilbakestille til sikkerhetskopien av databasen. Naviger til '%1', fjern 'database.sqlite' hvis den eksisterer og endre navnet på 'tempBackupDatabase.sqlite' til 'database.sqlite'. Database Restore Failure Feil i tilbakestilling av database Failed to restore the backup database. Navigate to '%1' and rename 'tempBackupDatabase.sqlite' to 'database.sqlite'. Kunne ikke gjenopprette sikkerhetskopien av databasen. Naviger til '%1' og endre navnet på 'tempBackupDatabase.sqlite' til 'database.sqlite'. Grain Korn Sugar Sukker Extract Ekstrakt Dry Extract Tørr ekstrakt Adjunct Adjunkt Boil Kok Mash Mesk Infusion Infusjon Temperature Temperatur Decoction Dekoksjon Bottling Flasking Spice Krydder Fining Klaringsmiddel Water Agent Herb Urt Flavor Smak Other Annet Ale Ale Lager Lager Wheat Hvete Wine Vin Champagne Champagne Liquid Væske Dry Tørt Slant Culture Kultur Low Lav Medium Medium High Høy Very High Meget høy Recipes Oppskrifter Equipment Utstyr Fermentables Gjærbare råvarer Hops Humle Miscellaneous Diverse Yeast Gjær Efficiency: %1% Effektivitet: %1% ABV: %1% ABV: %1% Style Øltype Recipe Add grains Legg til malt Add Legg til to the mash tun. til meskekaret. Heat water Varm opp vann Bring Ta med %1 water to %2, for upcoming infusions. til kommende infusjoner. Add %1 water at %2 to mash to bring it to %3. Tilsett %1 vann ved %2 til mesken for å bringe den til %3. Heat mash to %1. Varm opp mesk til %1. Bring %1 of the mash to a boil and return to the mash tun to bring it to %2. Kok opp %1 av mesken og returner det til meskekaret for å bringe den til %2. Hold for %1. Put %1 %2 into boil for %3. Put %1 %2 into fermenter for %3. Put %1 %2 into first wort for %3. Put %1 %2 into mash for %3. Steep %1 %2 in wort for %3. Use %1 %2 for %3 Hop addition Humletilsetting Use %1 %2 at bottling for %3. Put %1 %2 into primary for %3. Put %1 %2 into secondary for %3. Use %1 %2 for %3. Misc addition Do first wort hopping with First wort hopping You should now have %1 wort. Du skal nå ha %1 vørter. Add %1 water to the kettle, bringing pre-boil volume to %2. Tilsett %1 vann til kjelen, som bringer volumet før kok til %2. Pre-boil Før kok Boil or steep Kok eller trekk Boil/steep fermentables Kok/trekk gjærbare råvarer to the boil at knockout. til kokingen ved kokeslutt. Knockout additions Tilsettinger ved kokeslutt You should have %1 wort post-boil. Du skal ha %1 vørter etter kok. You anticipate losing %1 to trub and chiller loss. Du antar å miste %1 til trub og kjølertap. Add %1 top up water into primary. The final volume in the primary is %1. Sluttvolumet i primærgjæringskaret er %1. Post boil Etter kok Boil time Koketid You did not configure an equipment (which you really should), so tell me the boil time. Du konfigurerte ikke noe utstyr (noe du virkelig burde), så fortell meg koketiden. Bring the wort to a boil and hold for %1. Kok opp vørteren og hold den der i %1. Start boil Start kok Flameout Stop boiling the wort. Stopp vørterkokingen. Cool wort and pitch Kjøl vørteren og tilsett %1 %2 yeast, %1 %2 gjær, to the primary. til primærgjæringskaret. Pitch yeast Tilsett gjær Let ferment until FG is %1. La gjære til FG er %1. Ferment Transfer beer to secondary. Overfør øllet til sekundærgjæringskaret. Transfer to secondary Overfør til sekundærgjæringskaret. Add %1 %2 to boil at %3. Tilsett %1 %2 til kokingen ved %3. Raise water to boil and then remove from heat. Stir in Kok opp vannet og fjern det fra varmen. Rør inn Add Extracts to water Tilsett ekstrakter til vannet %1 water to %2 %1 vann til %2 RecipeFormatter unknown style Ukjent øltype N/A Ikke tilgjengelig Brewer Brygger Date Dato Batch Size Bryggevolum Boil Size Kokevolum Boil Time Koketid Efficiency Effektivitet OG OG FG FG Unknown Ukjent ABV ABV Bitterness Bitterhet Color Farge Calories (per 12 oz.) Fermentables Gjærbare råvarer Total grain: Totalt korn: Name Navn Type Type Amount Mengde Mashed Meskes Late Sen Yield Utbytte Yes Ja No Nei Hops Humle Alpha Alfa Use Bruk Time Form IBU IBU Misc Yeast Gjær Stage Secondary Sekundær Primary Primær Mash Mesk Temp Temp Target Temp Måltemperatur Notes Notater Instructions Instruksjoner Brew Date Bryggedato Preboil SG Volume into BK Strike Temp Final Temp Eff into BK Projected OG Postboil Postboil Volume Volume Into Fermenter Brewhouse Eff Projected ABV Postferment Volume Volum Print Document Skriv ut dokument RefractoDialog OG Mismatch Based on the given original plato, the OG should be %1, but you have entered %2. Continuing with the calculated OG. ScaleRecipeTool Recipe Scaled The mash has been reset due to the fact that mash temperatures do not scale easily. Please re-run the mash wizard. The equipment and mash have been reset due to the fact that mash temperatures do not scale easily. Please re-run the mash wizard. StyleEditor Style name Style name: TimerWidget Open Sound Audio Files (*.wav *.ogg *.mp3 *.aiff) Stop Start WaterTableModel Bad model index. row = %1 Bad column: %1 Feil i kolonne: %1 Name Navn Amount Mengde Calcium (ppm) Bicarbonate (ppm) Sulfate (ppm) Chloride (ppm) Sodium (ppm) Magnesium (ppm) YeastDialog Yeast name Yeast name: YeastItemDelegate Ale Ale Lager Lager Wheat Hvete Wine Vin Champagne Champagne Liquid Væske Dry Tørt Slant Culture Kultur YeastTableModel Bad model index. row = %1 Bad column: %1 Feil i kolonne: %1 Name Navn Type Type Form Amount Mengde Laboratory Product ID aboutDialog About Brewtarget <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'DejaVu Sans'; font-size:9pt; font-weight:400; font-style:normal;"> <p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:20pt;">Brewtarget %1</span></p> <p style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Brewtarget, for developing beer recipes.</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Copyright 2009-2013 by the developers below.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier'; font-weight:600; text-decoration: underline;">Developers</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Peter Buelow</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Dan Cavanagh</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Mik Firestone</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Philip G. Lee &lt;rocketman768@gmail.com&gt;</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier'; font-weight:600; text-decoration: underline;">Copyright (GPLv3)</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Brewtarget is free software: you can redistribute it and/or modify</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">it under the terms of the GNU General Public License as published by</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">the Free Software Foundation, either version 3 of the License, or</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">(at your option) any later version.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Brewtarget is distributed in the hope that it will be useful,</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">but WITHOUT ANY WARRANTY; without even the implied warranty of</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">GNU General Public License for more details.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">You should have received a copy of the GNU General Public License</span></p> <p style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">along with Brewtarget. If not, see &lt;</span><a href="http://www.gnu.org/licenses/"><span style=" font-family:'Courier New,courier'; text-decoration: underline; color:#0000ff;">http://www.gnu.org/licenses/</span></a><span style=" font-family:'Courier New,courier';">&gt;.</span></p> <p style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier'; font-weight:600; text-decoration: underline;">Source Code</span></p> <p style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Brewtarget's source code can be downloaded at </span><a href="http://brewtarget.sourceforge.net"><span style=" font-family:'Sans Serif'; text-decoration: underline; color:#0057ae;">brewtarget.sourceforge.net</span></a><span style=" font-family:'Sans Serif';">.</span></p> <p style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier'; font-weight:600; text-decoration: underline;">Special Thanks</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Guido Carpi (Italian translation)</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Ester (Catalan translation)</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Marc Cote (French translation)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Pawel Fiedor (Polish translation)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Admiro (Polish translation)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Edu Engler (Portuguese translation)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Jan Grmela (Czech translation)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Randy Brace (alpha tester)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://finalgravitypodcast.com"><span style=" font-family:'Sans Serif'; text-decoration: underline; color:#0057ae;">Final Gravity Podcasts</span></a></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Glenn Tinseth &lt;</span><a href="http://www.realbeer.com/hops"><span style=" text-decoration: underline; color:#0000ff;">http://www.realbeer.com/hops</span></a><span style=" font-family:'Courier New,courier';">&gt;</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">server, printer, edit-copy, document-print-preview and merge images from Oxygen theme (CC license)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">backup image from Nuvola theme (LGPL)</span></p></body></html> Donate brewDayScrollWidget Form Generate Instructions Insert step Name Navn Name of new step Step # The number where the new step should be placed Insert the new step Move steps Move currently selected step up Move currently selected step down Remove currently selected step brewDayWidget Brewday Mode Instructions Instruksjoner Move currently selected step up Up Move currently selected step down Down Remove currently selected step Remove Insert step Name Navn Name of new step Step # The number where the new step should be placed Insert the new step Insert brewNoteWidget Form Preboil SG Preboil gravity Volume Volum Volume of wort collected Strike Temp Temperature of mash after dough in Final Temp Temperature of mash before mash out Postboil OG OG Post boil gravity Postboil Volume Volume of wort in BK after boil Volume of wort transferred to fermenter Volume into fermenter Volum til gjæring Pitch Temp Temperature of wort when yeast is pitched Postferment Final gravity Volume of beer into serving keg/bottles Date when the yeast fermented out percent efficiency into boil kettle Eff into BK Expected OG, based on measure fg Projected OG Brewhouse efficiency Brewhouse Eff Expected ABV based on OG Projected ABV ABV based on FG ABV ABV Notes Notater btSplashScreen Form converterTool Converter Tool Input Amount and units to convert Output Units Unit you want to convert to Output Output conversion Convert equipmentEditor Equipment Editor Equipment Utstyr Remove equipment Set as Default Required Fields Name Navn Pre-boil volume If checked, we will calculate your pre-boil volume based on your desired batch size, boil time, evaporation rate, losses, etc. Calculate pre-boil volume Automatically fill in pre-boil volume Batch size Boiling && Water Boil time Koketid Evaporation rate (per hr) How much water boils off per hour Kettle top-up water How much water is added to kettle immediately pre-boil Final top-up water Water added to fermenter Grain Absorption (L/kg) Default Absorption Boiling Point of Water Hop Utilization Mash Tun Volume Volum Volume of mash tun Mass Mass or weight of mash tun Specific heat (cal/(g*K)) Losses Kettle to fermenter Wort lost between kettle and fermenter Lauter deadspace Volume of wort lost to lauter deadspace Notes Notater New equipment Save Lagre Cancel fermentableDialog Fermentable Database Add selected ingredient to recipe Add to Recipe Create new ingredient New Ny Edit selected ingredient Remove selected ingredient fermentableEditor Fermentable Editor Required Fields Name Navn Type Type Grain Korn Sugar Sukker Extract Ekstrakt Dry Extract Tørr ekstrakt Adjunct Adjunkt Amount Mengde Yield (%) Yield as compared to glucose Lovibond Lovibond rating Add After Boil This ingredient is added post boil. Origin Supplier Coarse/Fine Diff (%) Yield difference between coarse and fine grind Moisture (%) Moisture percentage by mass DP (Lintner) Diastatic power in Lintner Protein (%) Protein percentage by mass Max In Batch (%) Maximum recommended percentage of total grist Recommend Mash Recommend this be mashed Is Mashed Checked if it is present in mash Bitterness (IBU*gal/lb) Bitterness of pre-hopped extracts Notes: hopDialog Hop Database Add selected ingredient to recipe Add to Recipe New hop New Ny Edit Remove hopEditor Hop Editor Required Fields Name Navn Alpha (%) Alpha acids as percent by mass Amount Amount Mengde Use Bruk Mash Mesk First Wort Boil Kok Aroma Aroma Dry Hop Tørrhumle Time Type Type Bittering Bitring Both Begge Form Leaf Blomst Pellet Pellet Plug Plugg Beta (%) Beta acids as percent by mass HSI Hop Stability/Storage index Origin Humulene (%) Humulene Caryophyllene (%) Caryophyllene Cohumulone (%) Cohumulone Myrcene (%) Myrcene Substitutes: Notes: htmlViewer Html Viewer about:blank instructionWidget Form Show a timer Show timer Mark this step completed Step completed mainWindow Recipes Oppskrifter Styles Fermentables Gjærbare råvarer Hops Humle Miscs Yeasts Recipe Oppskrift Name Navn Name of recipe 5 gal Target boil size Efficiency (%) Calculated Boil Size Calculated Batch Size The extraction efficiency you expect Style Øltype Boil Time Koketid Target batch size Target Batch Size Equipment Utstyr Target Boil Size OG OG Boil SG FG FG ABV ABV Bitterness (IBU) Color Farge IBU/GU Calories/12oz Extras Brewday Add a fermentable Remove selected fermentable Edit selected fermentable Add hop Remove selected hop Edit selected hop Miscellaneous Diverse Add misc Remove selected misc Edit selected misc Yeast Gjær Add yeast Remove selected yeast Edit selected yeast Mash Mesk Add mash step Remove selected mash step Edit selected mash step Edit mash properties Edit mash Mash Des Invoke the mash wizard Mash wiz Mashs Mash step up Mash step down Save this mash profile Save Mash &About &File &Brewday &Recipe &Database &View &Tools toolBar About &BrewTarget About Brewtarget &Export Recipe &Fermentables Ctrl+F &Hops Ctrl+H &Miscs Ctrl+M &Yeasts Ctrl+Y &Equipments Ctrl+E &Styles Ctrl+T &Exit Ctrl+Q &Import Recipes &Options &Manual &Scale Recipe Recipe to Clipboard as &Text &OG Correction Help &Convert Units Backup Database Restore Database &Copy Recipe Pr&iming Calculator &Refractometer Tools &Pitch Rate Calculator Merge Databases Select another database to merge into the current one. &Print Print Pre&view &Export To HTML &Export to HTML &Backup Save all recipes, ingredients, etc. to a backup folder &Restore Restore recipes, ingredients, etc. from a previous backup &Merge Merge another set of recipes, ingredients, etc. into the current set &New Recipe Timers Show timers Save Lagre Delete selected Delete recipe Donate &Mashs Mashes mashDesigner Mash Designer Name Navn Type Type Target temp. Time Batch Sparge Next Finish Infusion/Decoction Amount min max 0 Infusion Temp Infusjonstemperatur Total Collected Wort vol Tun Fullness tunVol thickness mashEditor Mash Editor Name Navn Initial grain temp Sparge temp Sparge temp target Sparge pH Notes Notater Tun Initial tun temp Get following parameters from the recipe's equipment. From Equipment Tun mass Tun sp. heat Tun specific heat (cal/(g*K)) mashStepEditor Mash Step Editor Name Navn Type Type Infusion Infusjon Temperature Temperatur Decoction Dekoksjon Target temp. Target temp. of this step Infuse Amount Amount of water to infuse Infuse temp. Temperature of infusion water Decoction Amount Amount of mash to decoct Time Time to conduct the step Temp. lag time Lag time End temp. Final temp. of this step mashWizard Mash Wizard Mash thickness (L/kg) Mash thickness (do not enter any units) miscDialog Misc Database Add selected ingredient to recipe Add to Recipe Create a new ingredient New Ny Edit selected ingredient Remove selected ingredient miscEditor Misc Editor Name Navn Type Type Spice Krydder Fining Klaringsmiddel Water Agent Herb Urt Flavor Smak Other Annet Use Bruk Boil Kok Mash Mesk Primary Primær Secondary Sekundær Bottling Flasking Time Amount Mengde Check it if the amount listed is in kg instead of L. Amount is weight? Checked if the given amount is weight instead of volume Use for: Notes: namedMashEditor Named Mash Editor Mash Mesk Delete selected style Name Navn Initial grain temp Sparge temp Sparge temp target Sparge pH Notes Notater Tun Initial tun temp From Equipment Tun mass Tun sp. heat Tun specific heat (cal/(g*K)) Add mash step Remove selected mash step Mash step up Mash step down ogAdjuster Adjust Volume to Hit OG Input SG Measured gravity pre-boil Temp Temp Temperature of SG reading Calibration Temp Temp to which the hydrometer is calibrated -or- Plato Plato Plato (percent by mass of equivalent sucrose) Pre-Boil Volume Measured pre-boil volume Output OG w/o Correction OG if you boil as planned Add to Boil Amount of water you need to add to hit planned OG (or boil off if negative) Final Batch Size Estimated batch size after correction Calculate optionsDialog Options Units Weight Vekt Use SI units Use US traditional units Use British imperial units Temperature Temperatur Celsius Celsius Fahrenheit Fahrenheit Volume Volum Gravity 20C/20C Specific Gravity Plato/Brix/Balling Color Farge Use SRM Use EBC Formulas Mosher's approximation Daniels' approximation Morey's approximation IBU IBU Tinseth's approximation Rager's approximation IBU Adjustments % IBU adjustment Mash Hop First Wort Directories Database Directory Where your brewtarget .xml files are. Browse Default Standard Language Czech Catalan German English Spanish French Italian Dutch Polish Portuguese Russian <qt> <b>Know another language?</b> <br><br> Or, would you like to improve a translation? Help us out and <a href="https://sourceforge.net/sendmessage.php?touser=938941"> provide a translation</a> so that your friends can use brewtarget! </qt> pitchDialog Pitch Rate Calculator Input Wort Volume OG OG For ales, 0.75-1. For lagers, 1.5-2. Pitch Rate (M cells)/(mL*P) Aeration Method Yeast Production Date Yeast Viability None O2 At Start Stir Plate MM/dd/yyyy % TextLabel Calculate Viability From Date # Vials/Smack Packs Pitched Output Billions of Yeast Cells Required # Vials/Smack Packs w/o Starter Dry Yeast Starter Volume primingDialog Priming Calculator Input Collected Beer Volume Amount of beer to prime Beer Temperature Temp of the beer Desired Volumes How many volumes of CO2 you want (1 L CO2 @ STP per L beer) Glucose Monohydrate (corn sugar) Anhydrous Glucose Sucrose (table sugar) Dry Malt Extract Output Prime with How much priming ingredient to use Calculate recipeExtrasDialog Recipe Extras Brewer Brygger Asst. Brewer Taste Rating Primary Age (days) Primary Temp Secondary Age (days) Secondary Temp Tertiary Age (days) Tertiary Temp Bottle/Keg Age (days) Bottle/Keg Temp Date First Brewed dd MMM yyyy Carbonation Volumes Taste Notes Notes Notater Cancel recipeExtrasWidget Form Brewer Brygger Asst. Brewer Taste Rating Primary Age (days) Primary Temp Secondary Age (days) Secondary Temp Tertiary Age (days) Tertiary Temp Bottle/Keg Age (days) Bottle/Keg Temp Date First Brewed dd MMM yyyy Carbonation Volumes Taste Notes Notes Notater refractoDialog Refractometer Tools Inputs Original Plato OG (20 C) Current Plato Calculate Outputs SG (20C) ABV ABV ABW Refractive Index Real Extract (Plato) OG (20C) scaleRecipeTool Scale Recipe New batch size New efficiency (pct) styleEditor Style Editor Style Øltype Delete selected style Basic Information Name Navn Category Kategori Category number Style letter Style guide Type Type Type of beverage Lager Lager Ale Ale Mead Wheat Hvete Mixed Cider Vital Statistics Max Min OG OG FG FG IBUs Color (SRM) Farge (SRM) Carb (vols) ABV (pct) Profile Ingredients Examples Notes Notater New Ny Save Lagre Cancel timerListDialog Timers timerWidget Form Set the timer to the specified value Set HH:MM:SS Start/Stop timer Start Set a sound as the alarm Sound waterEditor Dialog Name Navn Notes Notater yeastDialog Yeast Database Add selected yeast to recipe Add to Recipe Create new yeast New Ny Edit selected yeast Remove selected yeast yeastEditor Yeast Editor Required Fields Name Navn Type Type Ale Ale Lager Lager Wheat Hvete Wine Vin Champagne Champagne Form Liquid Væske Dry Tørt Slant Culture Kultur Amount Mengde Check it if the amount given is in kg instead of L. Amount is weight? Checked if the given amount is weight instead of volume Lab Product ID Min Temp Min temp Max Temp Max temp Flocculation Low Lav Medium Medium High Høy Very High Meget høy Attenuation (%) Apparent attenuation as percentage of OG points Times Recultured Times this yeast has been recultured Max Recultures Max recultures Add to Secondary Checked means add this yeast to secondary instead of primary Best For: Notes: brewtarget-2.0.2/translations/bt_cs.ts0000644000175000017500000053351112266512175017417 0ustar philipphilip BrewDayScrollWidget Style Styl Date Datum Boil Time Délka chmelovaru Efficiency Výtěžnost Boil Volume Množství díla Preboil Gravity Hustota před chmelovarem Final Volume Cílový objem Starting Gravity Počáteční hustota IBU IBU Final Gravity Konečná hustota ABV Obsah alkoholu Estimated calories(per 12 oz) Kalorická hodnota (na 340 g) Instructions Instrukce Completed Dokončeno Time Čas Step Krok Actual PreBoil Volume Skutečný objem před chmelovarem Actual PreBoil Gravity Skutečná hustota před chmelovarem PostBoil Volume Množství po chmelovaru PostBoil Gravity Hustota po chmelovaru Volume into fermenter Množství do spilky Print Document Vytisknout dokument <h2>Notes</h2> <h2>Poznámky</h2> Step %1: %2 Krok %1: %2 Add grains Přidejte slad Heat water Ohřejte vodu BrewDayWidget Style Styl Date Datum Boil Volume Množství k chmelovaru Preboil Gravity Hustota před chmelovarem Final Volume Cílový objem Starting Gravity Počáteční hustota Boil Time Délka chmelovaru IBU IBU Predicted Efficiency Odhadovaná výtěžnost Estimated calories (per 12 oz) Kalorická hodnota (na 340 g) Instructions Instrukce Completed Dokončeno Time Čas Step Krok Actual Pre-boil Volume: Skutečný objem před chmelovarem: Actual Pre-boil Gravity: Skutečná hustota před chmelovarem: Post-boil Volume: Množství po chmelovaru: Post-boil Gravity: Hustota po chmelovaru: Volume in fermenter: Množství do spilky: Print Document Vytisknout dokument Notes Poznámky Step %1: %2 Krok %1: %2 BrewTargetTreeModel Name Název Brew Date Poprvé uvařeno Style Styl Boil Time Délka varu Color Barva Type Druh Use Použití Form Forma Category Kategorie Number Číslo Letter Písmeno Guide Průvodce BrewTargetTreeView New Recipe Nový recept Brew It! Uvařit! Brew Again Uvařit znovu Delete Odstranit New Equipment Nové vybavení New Fermentable Nová surovina New Hop Nový chmel New Misc Nový přípravek New Yeast Nové kvasnice Copy Kopírovat Export Exportovat Import Importovat Change date Datum změny New Style Nový styl Recalculate eff Přepočítat výtěž. Brewtarget Default Výchozí EBC EBC SRM SRM Plato Plato Specific Gravity Hustota SI SI US Customary Americké jednotky Milligrams Miligramy Grams Gramy Kilograms Kilogramy Ounces Unce Pounds Libry Celsius Stupně Celsia Fahrenheit Fahrenheity British Imperial Britské imperiální MilliLiters Mililitry Liters Litry Teaspoons Čajové lžičky Tablespoons Polévkové lžíce Cups Šálky Quarts Kvarty Gallons Galony BtDigitWidget Too low for style. Příliš nízké pro tento styl. In range for style. V rozsahu stylu. Too high for style. Příliš vysoké pro tento styl. Database Merge Database Spojit databáze There may be new ingredients and recipes available. Would you like to add these to your database? Možná jsou k dispozici nové přísady a recepty. Chcete je přidat do své databáze? EquipmentEditor Grain absorption (%1/%2) Nasákavost sladu (%1/%2) Tun Volume Warning Varování objemu kádě Batch Size Warning Varování objemu várky Equipment name Název vybavení Equipment name: Název vybavení: The tun volume you entered is 0. This may cause problems Zadaný objem pánve je nulový což může způsobit potíže The batch size you entered is 0. This may cause problems Zadaná velikost várky je nulová což může způsobit potíže Hop Utilization Warning Varování výtěžnosti chmele The hop utilization percentage you entered is 0. This may cause problems Zadaná výtěžnost chmele je nulová což může způsobit potíže FermentableDialog Fermentable name Název suroviny Fermentable name: Název suroviny: FermentableItemDelegate Grain Slad Sugar Cukr Extract Výtažek Dry Extract Sušený výtažek Adjunct Surogát FermentableTableModel Bad model index. row = %1 Chybný index modelu. řádek = %1 Mashed Rmutovat Steeped Máčet Not mashed Nermutovat Late Pozdní Normal Obvyklé Bad column: %1 Chybný sloupec: %1 Name Název Type Druh Amount Množství Late Addition Pozdní přidání Yield % Vytěžnost % Color (SRM) Barva (SRM) Color (EBC) Barva (EBC) Hop Mash Mash (do vystírky) First Wort First wort (při vyslazování) Boil Chmelovar Aroma Aromatický Dry Hop Dry hopping Bittering Hořký Both Oboje Leaf Hlávkový Pellet Granulovaný Plug Lisovaný HopDialog Hop name Název chmele Hop name: Název chmele: HopItemDelegate Boil Chmelovar Dry Hop Dry hop Mash Do vystírky (mash hop) First Wort Při vyslazování (first wort) Aroma Aromatický Leaf Hlávkový Pellet Granulovaný Plug Lisovaný HopTableModel Name Název Alpha % Alfa % Amount Množství Use Použití Time Čas Form Forma MainWindow Open Otevřít BeerXML files (*.xml) Soubory BeerXML (*.xml) Save Uložit Equipment request Požadavek na vybavení Would you like to set the batch size, boil size and time to that requested by the equipment? Chcete nastavit velikost várky, objeml pro chmelovar a čas podle požadavků vybavení? Delete %1 Odebrat %1 Delete %1 %2? Odebrat %1 %2? HTML files (*.html) Soubory HTML (*.html) New Nový Recipe Recept Equipment Vybavení Fermentable Surovina Hop Chmel Miscellaneous Přípravky Yeast Kvasnice Copy %1 Kopírovat %1 Enter a unique name for the copy of %1. Zadejte jedinečný název kopie %1. Copy Equipment Kopírovat vybavení Copy Fermentable Kopírovat surovinu Copy Hop Kopírovat chmel Copy Miscellaneous Kopírovat přípravek Copy Yeast Kopírovat kvasnice Database Update Aktualizace databáze You are about to update the current database with another one. This may make changes to (but will not delete) some of your ingredients. It will not modify any of your recipes. Continue? Chystáte se aktualizovat současnou databázi nějakou další. Tato změna může mít vliv na některé z vašich surovin (žádné však nesmaže). Vaše recepty zůstanou nezměněny. Chcete pokračovat? Select Database File Vybrat databázový soubor Brewtarget Database (*.sqlite) Databáze Brewtargetu (*.sqlite) Recipe name Název receptu Recipe name: Název receptu: Backup Database Zálohovat databázi Oops! Chyba! Could not copy the files for some reason. Z nějakého důvodu nelze zkopírovat soubory. A Warning Varování This will obliterate your current set of recipes and ingredients. Do you want to continue? Toto vymaže aktuální recepty a ingredience. Chcete pokračovat? For some reason, the operation failed. Z nějakého důvodu operace selhala. Import %1? Importovat %1? No mash Žádný rmut Trying to add a mash step without a mash. Please create a mash first. Snažíte se přidat rmutovací krok ber rmutu. Vytvořte nejdříve rmut. Copy Recipe Zkopírovat recept Enter a unique name for the copy. Zadejte jedinečný název kopie. Please give your mash a name before saving. Prosím, před ukládáním svůj rmut pojmenujte. Restart Restartujte Please restart Brewtarget. Restartujte Brewtarget. No equipment Žádné vybavení You must select or define an equipment profile first. Musíte vybrat nebo definovat zařízení profil. No style Žádné styl You must select a style first. Musíte vybrat styl. Choose File Zvolit soubor SQLite (*.sqlite) SQLite (*.sqlite) Style Styl Copy Style Zkopírovat styl The database has been converted/upgraded. Databáze byla převedena/aktualizována. The original XML files can be found in Původní soubory XML jsou k dispozici v The import contained invalid beerXML. It has been imported, but please make certain it makes sense. MaltinessWidget <b>Cloying</b> <b>Nasládlé</b> <b>Extra malty</b> <b>Extra sladové</b> <b>Slightly malty</b> <b>Sladové</b> <b>Balanced</b> <b>Vyvážené</b> <b>Slightly hoppy</b> <b>Chmelové</b> <b>Extra hoppy</b> <b>Výrazně chmel.</p> <b>Way hoppy</b> <b>Extra chmel.</b> MashDesigner No Fermentables Žádné suroviny Your recipe must have fermentables to design a mash. Recept musí obsahovat nějaké suroviny aby bylo možné navrhnout rmut. No Equipment Žádné vybavení You have not set an equipment for this recipe. We really cannot continue without one. Tento recept nemá stanovné žádné vybavení. Bez něj to opravdu nepůjde. Tun Temp Teplota kádě Enter the temperature of the tun before your first infusion. Zadejte teplotu kádě před první infuzí. Decoction error Chyba dekokce The first mash step cannot be a decoction. První krok rmutování nemůže být dekokce. MashStepTableModel Bad model index. row = %1 Chybný index modelu. řádek = %1 Bad column: %1 Chybný sloupec: %1 Name Název Type Druh Amount Množství Infusion Temp Teplota infuze Target Temp Cílová teplota Time Čas MashWizard Mash thickness (%1/%2) Hustota rmutu (%1/%2) Bad thickness Chybná hustota You must have a positive mash thickness. Musíte zadat kladnou hustotu rmutu. No steps Žádné kroky There must be at least one mash step to run the wizard. Pro spuštění průvodce musíte mít alespoň jeden rmutovací krok. First step První krok Your first mash step must be an infusion. První krok rmutování musí být infuze. Mash too thick Rmut je příliš hustý Your mash is too thick for desired temp. at first step. Rmut je příliš hustý pro teplotu požadovanou v prvním kroku. Decoction error Chyba dekokce Something went wrong in decoction calculation. Pří vypočtu dekokce se něco zvrtlo. Sparge temp. Vyslazovací tepl. In order to hit your sparge temp, the sparge water must be above boiling. Lower your sparge temp, or allow for more sparge water. Abyste dosáhli vyslazovací teploty, musela by vyslazovací voda být teplejší než var. Snižte teplotu vyslazení nebo zvětšete její množství. Too much wort Příliš mnoho díla You have too much wort from the mash for your boil size. I suggest increasing the boil size by increasing the boil time, or reducing your mash thickness. Pro zadaný počáteční objem várky máte příliš mnoho díla ze rmutu. Doporučujeme zvýšit odpar prodloužením času vaření nebo snížit hustotu rmutu. MiscDialog Misc name Název přípravku Misc name: Název přípravku: MiscItemDelegate Spice Koření Fining Čeření Water Agent Úprava vody Herb Bylina Flavor Příchuť Other Jiný Boil Chmelovar Mash Rmutování Primary Hlavní kvašení Secondary Dokvašování Bottling Stáčení MiscTableModel Name Název Type Druh Use Použití Time Čas Amount Množství Weight Hmotnost Volume Objem Amount Type Druh množství OptionDialog Open Directory Otevřít adresář Copy Data Zkopírovat data There do not seem to be any data files in this directory, so we will copy your old data here. V tomto adresáři nejsou žádná data, vaše stará data tedy zkopírujeme sem. Restart Restartujte Please restart Brewtarget. Restartujte Brewtarget. QObject Invalid color formula type: %1 Neplatný druh barevného vzorce: %1 Unrecognized IBU formula type. %1 Nerozpoznaný druh vzorce IBU: %1 Batch Size: %1 Objem várky: %1 Boil Size: %1 Původní objem: %1 Boil Time: %1 Čas vaření: %1 OG: %1 Počáteční hustota: %1 FG: %1 Konečná hustota: %1 Bitterness: %1 IBUs (%2) Hořkost: %1 jednotek IBU (%2) Color: %1 SRM (%2) Barva: %1 SRM (%2) Fermentables Suroviny Name Název Type Druh Amount Množství Mashed Šrotovaný Late Pozdní Yield Výtěžnost Color Barva Yes Ano No Ne Total grain: %1 Celkem sladu: %1 Hops Chmele Alpha Alfa Use Použití Time Čas IBU IBU Misc Přípravky Yeast Kvasnice Form Forma Stage Etapa Secondary Dokvašování Primary Hlavní kvašení Mash Rmutování Temp Teplota Target Cílová teplota Notes Poznámky Instructions Instrukce Directory Problem Problém s adresářem "%1" cannot be read. "%1" nelze přečíst. Config directory "%1" cannot be read. Konfigurační adresář "%1" nelze přečíst. New Version Nová verze Version %1 is now available. Download it? Verze %1 je k dispozici. Chcete ji stáhnout? Stop bothering you about new versions? Přestat otravovat s novými verzemi? Database Failure Selhání databáze Failed to open the database '%1'. Nepodařilo se otevřít databázi '%1'. Save Database Changes Uložit změny databáze Would you like to save the changes you made? Chcete uložit změny, které jste provedli? Multiple Databases Found Nalezeno více databází Multiple databases were found. Do you want to restore the changes you made during your last Brewtarget session, or rollback to before last session's changes? Bylo nalezeno více databází. Chcete obnovit změny, které jste provedli při posledním použití Brewtargetu nebo je vrátit zpět? Restore Obnovit Rollback Vrátit zpět Failed to remove the temporary backup database. Navigate to '%1' and remove 'tempBackupDatabase.sqlite'. Nepodařilo se odstranit dočasnou záložní databázi. Přejděte do '%1' a odstraňte 'tempBackupDatabase.sqlite' ručně. Failed to rollback to the backup database. Navigate to '%1', remove 'database.sqlite' if it exists, and rename 'tempBackupDatabase.sqlite' to 'database.sqlite'. Nepodařilo se vrátit zpět dočasnou záložní databázi. Přejděte do '%1' a odstraňte 'database.sqlite', pokud existuje. Poté přejmenujete 'tempBackupDatabase.sqlite' na 'database.sqlite'. Database Restore Failure Obnovení databáze selhalo Failed to restore the backup database. Navigate to '%1' and rename 'tempBackupDatabase.sqlite' to 'database.sqlite'. Nepodařilo se obnovit záložní databázi. Přejděte do '%1' a přejmenujte 'tempBackupDatabase.sqlite' na 'database.sqlite' ručně. Grain Slad Sugar Cukr Extract Výtažek Dry Extract Sušený výtažek Adjunct Surogát Boil Chmelovar Mash Rmutování Infusion Infuze Temperature Teplota Decoction Dekokce Bottling Stáčení Spice Koření Fining Čeření Water Agent Úprava vody Herb Bylina Flavor Příchuť Other Jiný Ale Ale Lager Ležák Wheat Pšenice Wine Víno Champagne Šampaňské Liquid Tekuté Dry Sušené Slant Agar Culture Kultura Low Nízká Medium Střední High Vysoká Very High Velmi vysoká Recipes Recepty Equipment Vybavení Fermentables Suroviny Hops Chmele Miscellaneous Přípravky Yeast Kvasnice Efficiency: %1% Výtěžnost: %1% ABV: %1% Obsah alkoholu: %1 % Style Styl Recipe Add grains Přidejte slad Add Přidejte to the mash tun. do rmutovací pánve. Heat water Ohřejte vodu Bring Přiveďte %1 water to %2, %1 vody na teplotu %2, for upcoming infusions. pro nadcházející infuze. Add %1 water at %2 to mash to bring it to %3. Přidejte %1 vody o teplotě %2 do díla pro ohřátí na %3. Heat mash to %1. Ohřejte dílo na %1. Bring %1 of the mash to a boil and return to the mash tun to bring it to %2. Přiveďte %1 rmutu k varu a vraťte jej do rmutovácí pánve abyste dílo ohřáli na %2. Hold for %1. Počkejte %1. Put %1 %2 into boil for %3. Nechte %1 %2 vařit po dobu %3. Put %1 %2 into fermenter for %3. Nechte %1 %2 v kvasné nádobě po dobu %3. Put %1 %2 into first wort for %3. Přidejte %1 %2 do díla při scezování na %3. Put %1 %2 into mash for %3. Přidejte %1 %2 do vystírky po dobu %3. Steep %1 %2 in wort for %3. Nechte %1 %2 máčet ve rmutu po dobu %3. Use %1 %2 for %3 Použijte %1 %2 na %3 Hop addition Přidání chmele Use %1 %2 at bottling for %3. Použijte %1 %2 při lahvování po dobu %3. Put %1 %2 into primary for %3. Dejte %1 %2 do hlavního kvašení na %3. Put %1 %2 into secondary for %3. Dejte %1 %2 do dokvašování na %3. Use %1 %2 for %3. Použijte %1 %2 na %3. Misc addition Přídávání přípravků Do first wort hopping with Proveďte chmelení při vyslazování pomocí First wort hopping Chmelení při vyslazování You should now have %1 wort. Nyní byste měli mít %1 díla. Add %1 water to the kettle, bringing pre-boil volume to %2. Přidejte %1 vody do kádě, čímž získáte objem %2 před varem. Pre-boil Před varem Boil or steep Povařte nebo máčejte Boil/steep fermentables Suroviny do chmelovaru nebo máčení to the boil at knockout. do díla při vypnutí plamene. Knockout additions Přídavky po vypnutí plamene You should have %1 wort post-boil. Měli byste získat %1 převařené mladiny. You anticipate losing %1 to trub and chiller loss. Očekávate ztrátu %1 do mláta a při chlazení. Add %1 top up water into primary. Dolejte %1 vody do hlavního kvašení. The final volume in the primary is %1. Celkový objem pro hlavní kvašení je %1. Post boil Po chmelovaru Boil time Délka chmelovaru You did not configure an equipment (which you really should), so tell me the boil time. Nenastavili jste vybavení (což byste opravdu měli), tudíž zadejte délku chmelovaru. Bring the wort to a boil and hold for %1. Přiveďte dílo k varu a nechte jej %1 vařit. Start boil Začátek chmelovaru Flameout Vypnutí plamene Stop boiling the wort. Ukončete chmelovar. Cool wort and pitch Schlaďte dílo a přidejte kvasnice %1 %2 yeast, %1 (%2) yeast, to the primary. do hlavního kvašení. Pitch yeast Přidejte kvasnice Let ferment until FG is %1. Nechte mladinu kvasit dokud hustota nedosáhne %1. Ferment Kvašení Transfer beer to secondary. Převeďte pivo do nádob(y) pro dokvašování. Transfer to secondary Převést do nádob(y) na dokvašování Add %1 %2 to boil at %3. Přidejte %1 %2 do chmelovaru po %3. Raise water to boil and then remove from heat. Stir in Přiveďte vodu k varu, pak ji vyjměte z tepla. Vmíchejte Add Extracts to water Přidat výtažky do vody %1 water to %2 %1 vody na teplotu %2 RecipeFormatter unknown style neznámý styl N/A Není známo Brewer Sládek Date Datum Batch Size Objem várky Boil Size Původní objem Boil Time Délka chmelovaru Efficiency Výtěžnost OG Počáteční hustota FG Konečná hustota Unknown Neznámá ABV Obsah alkoholu Bitterness Hořkost Color Barva Calories (per 12 oz.) Kalorická hodnota (na 340 g) Fermentables Suroviny Total grain: Celkem sladu: Name Název Type Druh Amount Množství Mashed Šrotovaný Late Pozdní Yield Využití Yes Ano No Ne Hops Chmele Alpha Alfa Use Použití Time Čas Form Forma IBU IBU Misc Přípravky Yeast Kvasnice Stage Etapa Secondary Dokvašování Primary Hlavní kvašení Mash Rmutování Temp Teplota Target Temp Cílová teplota Notes Poznámky Instructions Instrukce Brew Date Datum vaření Preboil Objem před chmelovarem SG Počáteční hustota Volume into BK Objem do varné nádoby Strike Temp Teplota zapářky Final Temp Výsledná teplota Eff into BK Výtěžnost varné nádoby Projected OG Předpokládaná počáteční hustota Postboil Po chmelovaru Postboil Volume Objem po chmelovaru Volume Into Fermenter Objem do spilky Brewhouse Eff Varní výtěžnost pivovaru Projected ABV Odhadovaný obsah alkoholu Postferment Ze spilky Volume Objem Print Document Vytisknout dokument RefractoDialog OG Mismatch Neshoda počáteční hustoty Based on the given original plato, the OG should be %1, but you have entered %2. Continuing with the calculated OG. Na základě původního Plato by původní hustota měla být %1, vy jste však zadali %2. Pokračuji s vypočtenou původní hustotou. ScaleRecipeTool Recipe Scaled Změna objemu The mash has been reset due to the fact that mash temperatures do not scale easily. Please re-run the mash wizard. Rmutování bylo vymazáno jelikož se rmutovací teploty špatně škálují. Prosím, spusťte znovu průvodce rmutováním. The equipment and mash have been reset due to the fact that mash temperatures do not scale easily. Please re-run the mash wizard. Vybavení a rmutování byly vymazány jelikož se rmutovací teploty špatně škálují. Prosím, spusťe znovu průvodce rmutováním. StyleEditor Style name Název stylu Style name: Název stylu: TimerWidget Open Sound Otevřít zvuk Audio Files (*.wav *.ogg *.mp3 *.aiff) Zvukové soubory (*.wav *.ogg *.mp3 *.aiff) Stop Zastavit Start Spustit WaterTableModel Bad model index. row = %1 Chybný index modelu. řádek = %1 Bad column: %1 Chybný sloupec: %1 Name Název Amount Množství Calcium (ppm) Vápník (ppm) Bicarbonate (ppm) Uhličitany (ppm) Sulfate (ppm) Sírany (ppm) Chloride (ppm) Chloridy (ppm) Sodium (ppm) Sodík (ppm) Magnesium (ppm) Hořčík (ppm) YeastDialog Yeast name Název kvasnic Yeast name: Název kvasnic: YeastItemDelegate Ale Ale Lager Ležák Wheat Pšenice Wine Víno Champagne Šampaňské Liquid Tekuté Dry Sušené Slant Agar Culture Kultura YeastTableModel Bad model index. row = %1 Chybný index modelu. řádek = %1 Bad column: %1 Chybný sloupec: %1 Name Název Type Druh Form Forma Amount Množství Laboratory Laboratoř Product ID ID produktu aboutDialog About Brewtarget O aplikaci Brewtarget <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'DejaVu Sans'; font-size:9pt; font-weight:400; font-style:normal;"> <p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:20pt;">Brewtarget %1</span></p> <p style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Brewtarget, for developing beer recipes.</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Copyright 2009-2013 by the developers below.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier'; font-weight:600; text-decoration: underline;">Developers</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Peter Buelow</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Dan Cavanagh</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Mik Firestone</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Philip G. Lee &lt;rocketman768@gmail.com&gt;</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier'; font-weight:600; text-decoration: underline;">Copyright (GPLv3)</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Brewtarget is free software: you can redistribute it and/or modify</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">it under the terms of the GNU General Public License as published by</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">the Free Software Foundation, either version 3 of the License, or</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">(at your option) any later version.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Brewtarget is distributed in the hope that it will be useful,</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">but WITHOUT ANY WARRANTY; without even the implied warranty of</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">GNU General Public License for more details.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">You should have received a copy of the GNU General Public License</span></p> <p style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">along with Brewtarget. If not, see &lt;</span><a href="http://www.gnu.org/licenses/"><span style=" font-family:'Courier New,courier'; text-decoration: underline; color:#0000ff;">http://www.gnu.org/licenses/</span></a><span style=" font-family:'Courier New,courier';">&gt;.</span></p> <p style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier'; font-weight:600; text-decoration: underline;">Source Code</span></p> <p style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Brewtarget's source code can be downloaded at </span><a href="http://brewtarget.sourceforge.net"><span style=" font-family:'Sans Serif'; text-decoration: underline; color:#0057ae;">brewtarget.sourceforge.net</span></a><span style=" font-family:'Sans Serif';">.</span></p> <p style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier'; font-weight:600; text-decoration: underline;">Special Thanks</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Guido Carpi (Italian translation)</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Ester (Catalan translation)</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Marc Cote (French translation)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Pawel Fiedor (Polish translation)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Admiro (Polish translation)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Edu Engler (Portuguese translation)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Jan Grmela (Czech translation)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Randy Brace (alpha tester)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://finalgravitypodcast.com"><span style=" font-family:'Sans Serif'; text-decoration: underline; color:#0057ae;">Final Gravity Podcasts</span></a></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Glenn Tinseth &lt;</span><a href="http://www.realbeer.com/hops"><span style=" text-decoration: underline; color:#0000ff;">http://www.realbeer.com/hops</span></a><span style=" font-family:'Courier New,courier';">&gt;</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">server, printer, edit-copy, document-print-preview and merge images from Oxygen theme (CC license)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">backup image from Nuvola theme (LGPL)</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'DejaVu Sans'; font-size:9pt; font-weight:400; font-style:normal;"> <p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:20pt;">Brewtarget %1</span></p> <p style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Brewtarget, pro vývoj pivních receptů.</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Copyright 2009-2013 náleží vývojářům níže.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier'; font-weight:600; text-decoration: underline;">Vývojáři</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Peter Buelow</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Dan Cavanagh</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Mik Firestone</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Philip G. Lee &lt;rocketman768@gmail.com&gt;</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier'; font-weight:600; text-decoration: underline;">Copyright (GPLv3)</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Brewtarget is free software: you can redistribute it and/or modify</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">it under the terms of the GNU General Public License as published by</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">the Free Software Foundation, either version 3 of the License, or</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">(at your option) any later version.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Brewtarget is distributed in the hope that it will be useful,</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">but WITHOUT ANY WARRANTY; without even the implied warranty of</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">GNU General Public License for more details.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">You should have received a copy of the GNU General Public License</span></p> <p style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">along with Brewtarget. If not, see &lt;</span><a href="http://www.gnu.org/licenses/"><span style=" font-family:'Courier New,courier'; text-decoration: underline; color:#0000ff;">http://www.gnu.org/licenses/</span></a><span style=" font-family:'Courier New,courier';">&gt;.</span></p> <p style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier'; font-weight:600; text-decoration: underline;">Source Code</span></p> <p style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Zdrojový kód Brewtargetu si můžete stáhnout na adrese </span><a href="http://brewtarget.sourceforge.net"><span style=" font-family:'Sans Serif'; text-decoration: underline; color:#0057ae;">brewtarget.sourceforge.net</span></a><span style=" font-family:'Sans Serif';">.</span></p> <p style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier'; font-weight:600; text-decoration: underline;">Zvláštní poděkování</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Guido Carpi (italský překlad)</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Ester (katalánský překlad)</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Marc Cote (francouzský překlad)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Pawel Fiedor (polský překlad)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Admiro (polský překlad)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Edu Engler (portugalský překlad)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Jan Grmela (český překlad)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Randy Brace (alfatester)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://finalgravitypodcast.com"><span style=" font-family:'Sans Serif'; text-decoration: underline; color:#0057ae;">Final Gravity Podcasts</span></a></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Glenn Tinseth &lt;</span><a href="http://www.realbeer.com/hops"><span style=" text-decoration: underline; color:#0000ff;">http://www.realbeer.com/hops</span></a><span style=" font-family:'Courier New,courier';">&gt;</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">obrázky serveru, tiskárny, upravit-kopírovat, náhledu-pro-tisk a sloučení z tématu Oxygen (licence CC)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">obrázek zálohování z tématu Nuvola (LGPL)</span></p></body></html> Donate Zaslat dar brewDayScrollWidget Form Forma Generate Instructions Vygenerovat pokyny Insert step Přidat krok Name Název Name of new step Název kroku Step # Číslo kroku The number where the new step should be placed Číslo, kam má být krok přidán Insert the new step Přidat nový krok Move steps Přesunout kroky Move currently selected step up Přesunout zvolený nahoru Move currently selected step down Přesunout zvolený dolů Remove currently selected step Odebrat zvolený krok brewDayWidget Brewday Mode Režim varního listu Instructions Instrukce Move currently selected step up Přesunout zvolený nahoru Up Nahoru Move currently selected step down Přesunout zvolený dolů Down Dolů Remove currently selected step Odebrat zvolený krok Remove Odebrat Insert step Přidat krok Name Název Name of new step Název kroku Step # Číslo kroku The number where the new step should be placed Číslo, kam má být krok přidán Insert the new step Přidat nový krok Insert Přidat brewNoteWidget Form Formulář Preboil Před chmelovarem SG Hustota Preboil gravity Hustota před chmelovarem Volume Objem Volume of wort collected Objem získaného díla Strike Temp Teplota zapářky Temperature of mash after dough in Teplota rmutu po zapaření Final Temp Výsledná teplota Temperature of mash before mash out Teplota rmutu před odrmutováním Postboil Po chmelovaru OG Počát. hustota Post boil gravity Hustota po chmelovaru Postboil Volume Objem po chmelovaru Volume of wort in BK after boil Objem díla ve varné nádobě po chmelovaru Volume of wort transferred to fermenter Objem díla přesouvanéhé do spilky Volume into fermenter Objem do spilky Pitch Temp Teplota zakvašení Temperature of wort when yeast is pitched Teplota díla, při které se přidají kvasnice Postferment Po kvašení Final gravity Konečná hustota Volume of beer into serving keg/bottles Objem piva do sudů/lahví Date when the yeast fermented out Datum, kdy bylo dosaženo prokvašení percent efficiency into boil kettle procentuální výtěžnost varné nádoby Eff into BK Výtěžnost varné nádoby Expected OG, based on measure fg Očekávaná počáteční hustota, založeno na měření konečné hustoty Projected OG Předpokl. počáteční hustota Brewhouse efficiency Varní výtěžnost pivovaru Brewhouse Eff Varní výtěžnost pivovaru Expected ABV based on OG Očekávaný obsah alkoholu na základě počáteční hustoty Projected ABV Odhadovaný obsah alkoholu ABV based on FG Obsah alkoholu na základě konečné hustoty ABV Obsah alkoholu Notes Poznámky btSplashScreen Form Formulář converterTool Converter Tool Převodník Input Vstup Amount and units to convert Možství převáděných jednotek Output Units Výstupní jednotky Unit you want to convert to Jednotka, kterou chcete převést Output Výstup Output conversion Výstupní převod Convert Převést equipmentEditor Equipment Editor Editor vybavení Equipment Vybavení Remove equipment Odebrat vybavení Set as Default Nastavit jako Výchozí Required Fields Povinná pole Name Název Pre-boil volume Objem před chmelovarem If checked, we will calculate your pre-boil volume based on your desired batch size, boil time, evaporation rate, losses, etc. Při zaškrtnutí vypočítá objem před chmelovarem na základě požadované velikosti várky, odparu, ztrát a podobně. Calculate pre-boil volume Vypočít. obj. před chmelovarem Automatically fill in pre-boil volume Automaticky vyplnit objem před chmelovarem Batch size Objem várky Boiling && Water Vaření a voda Boil time Délka chmelovaru Evaporation rate (per hr) Odpar (za hodinu) How much water boils off per hour Kolik vody se za hodinu odpaří Kettle top-up water Přilití vody před chmelovarem How much water is added to kettle immediately pre-boil Kolik vody se do kádě přidává těsně před chmelovarem Final top-up water Přilití vody po chmelovaru Water added to fermenter Přidání vody před začátkem kvašení Grain Absorption (L/kg) Nasákavost sladu (l/kg) Default Absorption Výchozí nasákavost Boiling Point of Water Bod varu vody Hop Utilization Využití Chmele Mash Tun Rmutovací pánev Volume Objem Volume of mash tun Objem rmutovací pánve Mass Hmotnost Mass or weight of mash tun Hmotnost rmutovací pánve Specific heat (cal/(g*K)) Spec. teplo (kal.(g*K)) Losses Ztráty Kettle to fermenter Z pánve do kv. nádoby Wort lost between kettle and fermenter Dílo ztracené mezi pánví a kvasnou nádobou Lauter deadspace Mrtvý objem zcezovačky Volume of wort lost to lauter deadspace Objem díla ztraceného při zcezování Notes Poznámky New equipment Nové vybavení Save Uložit Cancel Zrušit fermentableDialog Fermentable Database Databáze surovin Add selected ingredient to recipe Přidat zvolenou přísadu do receptu Add to Recipe Přidat do receptu Create new ingredient Vytvořit novou přísadu New Nová Edit selected ingredient Upravit zvolenou přísadu Remove selected ingredient Odebrat zvolenou přísadu fermentableEditor Fermentable Editor Editor surovin Required Fields Povinná pole Name Název Type Druh Grain Slad Sugar Cukr Extract Výtažek Dry Extract Sušený výtažek Adjunct Surogát Amount Množství Yield (%) Výtěžnost (%) Yield as compared to glucose Výtěžnost ve srovnání s glukózou Lovibond Barva (SRM) Lovibond rating Hodnota Lovibond/SRM Add After Boil Přidat po chmelovaru This ingredient is added post boil. Tato přísada se přidává po chmelovaru. Origin Původ Supplier Dodavatel Coarse/Fine Diff (%) Hrubý/jemný (%) Yield difference between coarse and fine grind Rozdíl vytěžnosti mezi hrubým a jemným meltím Moisture (%) Vlhkost (%) Moisture percentage by mass Hmotnostní procenta vlkhosti DP (Lintner) Diastat. moh. (Lintner) Diastatic power in Lintner Diastatická mohutnost v jednotkách Lintera Protein (%) Proteiny (%) Protein percentage by mass Hmotnostní procenta proteinů Max In Batch (%) Maximum ve várce (%) Maximum recommended percentage of total grist Maximální doporučený podíl na várce Recommend Mash Doporučeno rmutování Recommend this be mashed Je doporučeno tuto surovinu rmutovat Is Mashed Znamená to, že už je po rmutování? Je rmutovaná Checked if it is present in mash Zaškrtněte pokud je přítomna ve rmutu Bitterness (IBU*gal/lb) Hořkost (IBU*gal/lb) Bitterness of pre-hopped extracts Hořkost předchmelených výtažků Notes: Poznámky: hopDialog Hop Database Datbáze chmelů Add selected ingredient to recipe Přidat zvolenou přísadu do receptu Add to Recipe Přidat do receptu New hop Nový chmel New Nový Edit Upravit Remove Odebrat hopEditor Hop Editor Editor chmele Required Fields Povinná pole Name Název Alpha (%) Alfa (%) Alpha acids as percent by mass Hmotnostní procenta alfa hořkých kyselin Amount Množství Amount Množství Use Použití Mash Vystírka (mash hop) First Wort Vyslazování (first wort) Boil Chmelovar Aroma Aromatický Dry Hop Dry hopping Time Čas Type Druh Bittering Hořký Both Oboje Form Forma Leaf Hlávkový Pellet Granulovaný Plug Lisovaný Beta (%) Beta (%) Beta acids as percent by mass Hmotnostní procenta beta hořkých kyselin HSI HSI Hop Stability/Storage index Index stability/skladovatelnosti chmele Origin Původ Humulene (%) Humulin (%) Humulene Humulin Caryophyllene (%) Karofilen (%) Caryophyllene Karofilen Cohumulone (%) Kohumulon (%) Cohumulone Kohumulon Myrcene (%) Mircen (%) Myrcene Mircen Substitutes: Náhrady: Notes: Poznámky: htmlViewer Html Viewer Prohlížeč HTML about:blank about:blank instructionWidget Form Formulář Show a timer Zobrazit časovač Show timer Zobrazit časovač Mark this step completed Označit krok jako provedený Step completed Krok proveden mainWindow Recipes Recepty Styles Styly Fermentables Suroviny Hops Chmele Miscs Přípravky Yeasts Kvasnice Recipe Recept Name Název Name of recipe Název receptu 5 gal 18 litrů Target boil size Objem várky před chmelovarem Efficiency (%) Varní výtěžnost (%) Calculated Boil Size Vypočt. obj. várky před chmlv. Calculated Batch Size Vypočtený cílový objem várky The extraction efficiency you expect Očekávaná varní výtěžnost Style Styl Boil Time Délka chmelovaru Target batch size Požadovaná cílová velikost várky Target Batch Size Cílový objem várky Equipment Vybavení Target Boil Size Objem várky před chmelovarem OG Počáteční hustota Boil SG Hustota před chmelovarem FG Konečná hustota ABV Obsah alkoholu Bitterness (IBU) Hořkost (IBU) Color Barva IBU/GU IBU/hustota Calories/12oz Kalorická hodnota (na 340 g) Extras Podrobnosti Brewday Varní list Add a fermentable Přidat surovinu Remove selected fermentable Odebrat zvolenou surovinu Edit selected fermentable Upravit zvolenou surovinu Add hop Přidat chmel Remove selected hop Odebrat zvolený chmel Edit selected hop Upravit zvolený chmel Miscellaneous Přípravky Add misc Přidat přípravek Remove selected misc Odebrat zvolený přípravek Edit selected misc Upravit zvolený přípravek Yeast Kvasnice Add yeast Přidat kvasnice Remove selected yeast Odebrat zvolené kvasnice Edit selected yeast Upravit zvolené kvasnice Mash Rmutování Add mash step Přidat rmutovací krok Remove selected mash step Odebrat zvolený rmutovací krok Edit selected mash step Upravit zvolený rmutovací krok Edit mash properties Upravit možnosti rmutování Edit mash Upravit rmutování Mash Des Návrhář rmutování Invoke the mash wizard Spustit průvodce rmutováním Mash wiz Průvodce rmutováním Mashs Rmutování Mash step up Krok nahoru Mash step down Krok dolů Save this mash profile Uložit tento rmutovací profil Save Mash Uložit rmutování &About &Nápověda &File &Soubor &Brewday &Varní list &Recipe &Recept &Database &Databáze &View &Zobrazit &Tools Nás&troje toolBar nástrojováLišta About &BrewTarget &O aplikaci Brewtarget About Brewtarget O aplikaci Brewtarget &Export Recipe &Exportovat recept &Fermentables &Suroviny Ctrl+F Ctrl+F &Hops &Chmele Ctrl+H Ctrl+H &Miscs &Přípravky Ctrl+M Ctrl+M &Yeasts &Kvasnice Ctrl+Y Ctrl+Y &Equipments &Vybavení Ctrl+E Ctrl+E &Styles S&tyly Ctrl+T Ctrl+T &Exit &Konec Ctrl+Q Ctrl+Q &Import Recipes &Importovat recepty &Options &Možnosti &Manual &Návod &Scale Recipe &Změnit objem Recipe to Clipboard as &Text &Recept do schránky jako text &OG Correction Help Ú&prava objemu pro dosažení hustoty &Convert Units &Převody jednotek Backup Database Zálohovat databázi Restore Database Obnovit databázi &Copy Recipe &Kopírovat recept Pr&iming Calculator &Výpočet kvasných cukrů &Refractometer Tools &Nástroje pro refraktometr &Pitch Rate Calculator Vý&počet rozkvašení kvasnic Merge Databases Spojit databáze Select another database to merge into the current one. Vyberte jinou databázi pro spojení se současnou. &Print &Tisk Print Pre&view T&iskový náhled &Export To HTML &Exportovat do HTML &Export to HTML &Exportovat do HTML &Backup &Zálohovat Save all recipes, ingredients, etc. to a backup folder Uložit všechny recepty, přísady a další do adresáře záloh &Restore &Obnovit Restore recipes, ingredients, etc. from a previous backup Obnovit recepty, přísady a další z předchozí zálohy &Merge &Spojit Merge another set of recipes, ingredients, etc. into the current set Spojit další sadu receptu, přísad a dalšího se současnou sadou &New Recipe &Nový recept Timers Časovače Show timers Zobrazit časovač Save Uložit Delete selected Odstranit vybraný Delete recipe Odebrat recept Donate Zaslat dar &Mashs &Rmutovací schémata Mashes Rmutovací schémata mashDesigner Mash Designer Návrhář rmutování Name Název Type Druh Target temp. Cílová tepl. Time Čas Batch Sparge Vyslazení Next Další Finish Dokončit Infusion/Decoction Amount Infuzní/dekokční množství min min max max 0 0 Infusion Temp Teplota infuze Total Collected Wort Celkový objem díla vol množství Tun Fullness Plnost nádoby tunVol objNád thickness hustota mashEditor Mash Editor Editor rmutů Name Název Initial grain temp Počáteční teplota sladu Sparge temp Teplota vyslazovací vody Sparge temp target Cílová teplota vyslazovací vody Sparge pH pH sladiny Notes Poznámky Tun Pánev Initial tun temp Počáteční teplota Get following parameters from the recipe's equipment. Získat následující parametry z vybavení receptu. From Equipment Z vybavení Tun mass Hmotnost kádě Tun sp. heat Spec. teplo kádě Tun specific heat (cal/(g*K)) Specifické teplo kádě (kalorií/(g*K)) mashStepEditor Mash Step Editor Editor rmutovacích kroků Name Název Type Druh Infusion Infuze Temperature Teplota Decoction Dekokce Target temp. Cílová teplota Target temp. of this step Cílová teplota tohoto kroku Infuse Amount Infuzní množství Amount of water to infuse Množství vody pro infuzi Infuse temp. Teplota infuze Temperature of infusion water Teplota infuzní vody Decoction Amount Dekokční množ. Amount of mash to decoct Množství rmutu pro dekokci Time Čas Time to conduct the step Čas pro provedení kroku Temp. lag time Prodleva Lag time Čas pro odpočinek End temp. Konečná teplota Final temp. of this step Konečná teplota tohoto kroku mashWizard Mash Wizard Průvodce rmutováním Mash thickness (L/kg) Tloušťka rmutu (L/kg) Mash thickness (do not enter any units) Tloušťka rmutu (nezadávejte jednotky) miscDialog Misc Database Databáze přípravků Add selected ingredient to recipe Přidat zvolenou přísadu do receptu Add to Recipe Přidat do receptu Create a new ingredient Vytvořit novou přísadu New Nový Edit selected ingredient Upravit zvolenou přísadu Remove selected ingredient Odebrat zvolenou přísadu miscEditor Misc Editor Editor přípravků Name Název Type Druh Spice Koření Fining Čeření Water Agent Úprava vody Herb Bylina Flavor Příchuť Other Jiný Use Použití Boil Chmelovar Mash Rmutování Primary Hlavní kvašení Secondary Dokvašování Bottling Stáčení Time Čas Amount Množství Check it if the amount listed is in kg instead of L. Zaškrtněte, pokud se množství přísady vyjadřuje v kg místo l. Amount is weight? Množství je v kg? Checked if the given amount is weight instead of volume Zaškrtněte pokud je zadané množství v hmostnostních a ne objemových jednotkách Use for: Použít pro: Notes: Poznámky: namedMashEditor Named Mash Editor Editor pojmenovaných rmutovacích schémat Mash Rmutovací schéma Delete selected style Odstranit vybraný styl Name Název Initial grain temp Počáteční teplota sladu Sparge temp Teplota vyslazovací vody Sparge temp target Cílová teplota vyslazovací vody Sparge pH pH sladiny Notes Poznámky Tun Káď Initial tun temp Počáteční teplota kádě From Equipment Z vybavení Tun mass Hmotnost kádě Tun sp. heat Spec. teplo kádě Tun specific heat (cal/(g*K)) Specifické teplo kádě (kalorií/(g*K)) Add mash step Přidat rmutovací krok Remove selected mash step Odebrat zvolený rmutovací krok Mash step up Krok nahoru Mash step down Krok dolů ogAdjuster Adjust Volume to Hit OG Úprava objemu pro dosažení hustoty Input Vstup SG Hustota Measured gravity pre-boil Změřená hustota před chmelovarem Temp Tepl. Temperature of SG reading Teplota vzorku při měření hustoty Calibration Temp Kalibr. tepl. Temp to which the hydrometer is calibrated Teplota, na kterou je hydrometr kalibrován -or- -n.- Plato Plato Plato (percent by mass of equivalent sucrose) Plato (hmotnostní procenta sacharozy) Pre-Boil Volume Objem před chmelovarem Measured pre-boil volume Změřený objem před chmelovarem Output Výstup OG w/o Correction Původní hustota bez kor. OG if you boil as planned Hustota, které by bylo dosaženo, pokud byste vařili podle plánu Add to Boil Množství pro přidání Amount of water you need to add to hit planned OG (or boil off if negative) Množství vody, které musíte přidat pro dosažení požadované hustoty Final Batch Size Celkový objem várky Estimated batch size after correction Odhadovaný objem várky po korekci Calculate Spočítat optionsDialog Options Možnosti Units Jednotky Weight Hmotnost Use SI units Použít jednotky SI Use US traditional units Použití americké jednotky Use British imperial units Použít britské jednotky Temperature Teplota Celsius Stupně Celsia Fahrenheit Fahrenheity Volume Objem Gravity Hustota 20C/20C Specific Gravity Poměr hustot 20C/20C Plato/Brix/Balling Plato/Brix/Balling Color Barva Use SRM Použít SRM Use EBC Použít EBC Formulas Vzorce Mosher's approximation Mosherův odhad Daniels' approximation Danielův odhad Morey's approximation Moreyho odhad IBU IBU Tinseth's approximation Tinsethův odhad Rager's approximation Ragerův odhad IBU Adjustments Úpravy IBU % IBU adjustment % úprava IBU Mash Hop First Wort Directories Adresáře Database Directory Výchozí adresář Where your brewtarget .xml files are. Kde jsou vaše XML soubory Brewtargetu Browse Procházet Default Výchozí Language Jazyk Czech Česky Catalan Katalánsky German Německy English Anglicky Spanish Španělsky French Francouzsky Italian Italština Dutch Holandsky Polish Polsky Portuguese Portugalsky Russian Ruština <qt> <b>Know another language?</b> <br><br> Or, would you like to improve a translation? Help us out and <a href="https://sourceforge.net/sendmessage.php?touser=938941"> provide a translation</a> so that your friends can use brewtarget! </qt> <qt> <b>Rozumíte dalšímu jazyku?</b> <br><br> Nebo máte zájem vylepšit překlad? Pomozte nám a <a href="https://sourceforge.net/sendmessage.php?touser=938941"> poskytněte překlad</a> aby vaši přátelé mohli používat BrewTarget! </qt> pitchDialog Pitch Rate Calculator Výpočet rozkvašení kvasnic Input Vstup Wort Volume Objem díla OG Hustota mladiny For ales, 0.75-1. For lagers, 1.5-2. Pro ejly 0,75. Pro ležáky 1,5-2. Pitch Rate (M cells)/(mL*P) Rychl. množení (M buňek)/(mL*P) Aeration Method Způsob provzdušnění Yeast Production Date Datum výroby kvasnic Yeast Viability Životaschopnost kvasnic None Žádný O2 At Start Kyslík na začátku Stir Plate Míchadlo MM/dd/yyyy MM/dd/yyyy % % TextLabel TextovýPopis Calculate Viability From Date Spočítat životaschopnost ze zadaného data # Vials/Smack Packs Pitched Použito balíčků Output Výstup Billions of Yeast Cells Required Žádaný počet miliard kvasinek # Vials/Smack Packs w/o Starter Balíčků bez rozkvašení Dry Yeast Sušené kvasnice Starter Volume Počáteční objem primingDialog Priming Calculator Výpočet kvasných cukrů Input Vstup Collected Beer Volume Množství piva Amount of beer to prime Množství piva pro přidání kvasných cukrů Beer Temperature Teplota piva Temp of the beer Teplota piva Desired Volumes Požadované nasycení How many volumes of CO2 you want (1 L CO2 @ STP per L beer) Kolik objemů (volumes) CO2, chcete získat (1l CO2 na l piva) Glucose Monohydrate (corn sugar) Monohydrát glukózy (kukuřičný cukr) Anhydrous Glucose Bezvodá glukóza Sucrose (table sugar) Sacharóza (řepný cukr) Dry Malt Extract Sušený sladový výtažek Output Výstup Prime with Přidejte How much priming ingredient to use Kolik přísady přidat Calculate Spočítat recipeExtrasDialog Recipe Extras Podrobnosti receptu Brewer Sládek Asst. Brewer Podsládek Taste Rating Hodnocení ochutnávky Primary Age (days) Délka hlav. kvašení (dny) Primary Temp Teplota hlavního kvašení Secondary Age (days) Délka dokvašování Secondary Temp Teplota dokvašování Tertiary Age (days) Délka ležení (dny) Tertiary Temp Teplota ležení Bottle/Keg Age (days) V lahvi/KEGu (dny) Bottle/Keg Temp Teplota lahve/KEGu Date First Brewed Poprvé uvařeno dd MMM yyyy dd MMM yyyy Carbonation Volumes Nasycení Taste Notes Poznámky k chuti Notes Poznámky Cancel Zrušit recipeExtrasWidget Form Formulář Brewer Sládek Asst. Brewer Asistent sládka Taste Rating Hodnocení ochutnávky Primary Age (days) Délka hlav. kvašení (dny) Primary Temp Teplota hlavního kvašení Secondary Age (days) Délka dokvašování Secondary Temp Teplota dokvašování Tertiary Age (days) Délka ležení (dny) Tertiary Temp Teplota ležení Bottle/Keg Age (days) V lahvi/KEGu (dny) Bottle/Keg Temp Teplota lahve/KEGu Date First Brewed Poprvé uvařeno dd MMM yyyy dd MMM yyyy Carbonation Volumes Nasycení Taste Notes Poznámky k chuti Notes Poznámky refractoDialog Refractometer Tools Nástroje pro refraktometr Inputs Vstupy Original Plato Původní Plato OG (20 C) Hustota (20C) Current Plato Aktuální Plato Calculate Spočítat Outputs Výstupy SG (20C) Hustota (20C) ABV Obsah alk. (obj.) ABW Obsah alk. (hm.) Refractive Index Index lomu Real Extract (Plato) Skutečný extrakt (P.) OG (20C) Pův. hustota (20C) scaleRecipeTool Scale Recipe Změnit objem New batch size Nový objem várky New efficiency (pct) Nová výtěžnost (%) styleEditor Style Editor Editor stylů Style Styl Delete selected style Odstranit vybraný styl Basic Information Základní informace Name Název Category Kategorie Category number Číslo kategorie Style letter Písmeno stylu Style guide Katalog stylů Type Druh Type of beverage Druh nápoje Lager Ležák Ale Ale Mead Medovina Wheat Pšenice Mixed Mix Cider Cider Vital Statistics Číselná charakteristika Max Maximálně Min Minimálně OG Počát. hustota FG Konečná hustota IBUs IBU Color (SRM) Barva (SRM) Carb (vols) Nasycení (obj.) ABV (pct) Alkohol (%) Profile Profil Ingredients Přísady Examples Příklady Notes Poznámky New Nový Save Uložit Cancel Zrušit timerListDialog Timers Časovače timerWidget Form Formulář Set the timer to the specified value Nastavit časovač na určenou hodnotu Set Nastavit HH:MM:SS HH:MM:SS Start/Stop timer Spustit/zastavit časovač Start Spustit Set a sound as the alarm Nastavit zvukové upozornění Sound Zvuk waterEditor Dialog Dialog Name Název Notes Poznámky yeastDialog Yeast Database Databáze kvasnic Add selected yeast to recipe Přidat vybrané kvasnice do receptu Add to Recipe Přidat do receptu Create new yeast Vytvořit nové kvasnice New Nové Edit selected yeast Upravit zvolené kvasnice Remove selected yeast Odebrat zvolené kvasnice yeastEditor Yeast Editor Editor kvasnic Required Fields Povinná pole Name Název Type Druh Ale Ale Lager Ležák Wheat Pšenice Wine Víno Champagne Šampaňské Form Druh Liquid Tekuté Dry Sušené Slant Agar Culture Kultura Amount Množství Check it if the amount given is in kg instead of L. Zaškrtněte, pokud je objem v kg místo l. Amount is weight? Možství je hmotnost? Checked if the given amount is weight instead of volume Zaškrtněte, pokud je zadané množství hmotnostní, nikoli objemové Lab Laboratoř Product ID ID produktu Min Temp Min. teplota Min temp Min. teplota Max Temp Max. teplota Max temp Maximální teplota Flocculation Flokulace Low Nízká Medium Střední High Vysoká Very High Velmi vysoké Attenuation (%) Prokvašení (%) Apparent attenuation as percentage of OG points Zdánlivé prokvašení v procentech bodů hustoty Times Recultured Počet použití Times this yeast has been recultured Kolikrát byly již kvasnice použity Max Recultures Max. počet použití Max recultures Maximální počet použití Add to Secondary Přidat při dokvašování Checked means add this yeast to secondary instead of primary Zaškrtněte, pokud přidáváte tyto kvasnice do dokvašování místo hlavního kvašení Best For: Nejvhodnější pro: Notes: Poznámky: brewtarget-2.0.2/translations/README0000644000175000017500000000276112266512175016633 0ustar philipphilip# Translation Files ## Structure All the files in this directory should have the form: bt_.ts where is a two-letter ISO 639-1 language code corresponding to the target language of the translation. ## Updating Never **EVER** update the .ts files directly. Always use the procedure below to ensure that we do not need some complicated merging process between our .ts files and the Launchpad translations. We will always assume that the Launchpad translations are current and can directly overwrite the .ts files' translations at any instant without fear of obliterating previous translations. To update these language files, first get a current snapshot of the [Launchpad translations](https://translations.launchpad.net/brewtarget/trunk/+export) and extract them here in a subdirectory (we will assume lpad/). 1. Convert launchpad files to bt_*.ts files. E.g. $ lconvert lpad/bt-ca.po -o bt_ca.ts 2. Run lupdate on bt_*.ts files $ lupdate -no-obsolete ../src/* ../ui/* -ts bt_*.ts 3. Create .pot and .po files to upload to launchpad $ lconvert bt_ca.ts -o bt-ca.po $ lconvert bt_cs.ts -o bt-cs.po ... $ lconvert bt_en.ts -o bt.pot $ tar -czf bt.tar.gz *.po *.pot 4. Upload to Launchpad. - First, need to 'approve' bt.pot in the upload queue and wait for it to properly upload. Then, for each .po file, select the 'bt' template and correct language before 'approving'. 5. Clean up. $ rm -rf lpad *.po *.pot bt.tar.gz brewtarget-2.0.2/translations/bt_el.ts0000644000175000017500000060141212266512175017406 0ustar philipphilip BrewDayScrollWidget Style Στυλ Date Ημερομηνία Boil Time Χρόνος βρασμού Efficiency Απόδοση Boil Volume Όγκος κατά τον βρασμό Preboil Gravity Πυκνότητα πριν το βρασμό Final Volume Τελικός όγκος Starting Gravity Αρχική πυκνότητα IBU IBU Final Gravity Τελική πυκνότητα ABV ABV Estimated calories(per 12 oz) Θερμίδες κατά προσέγγιση Instructions Οδηγίες Completed Ολοκληρώθηκε Time Χρόνος Step Βήμα Actual PreBoil Volume Ακριβής όγκος προ βρασμού Actual PreBoil Gravity ακριβής πυκνότητα προ βρασμού PostBoil Volume Όγκος μετά τον βρασμό PostBoil Gravity Πυκνότητα μετά τον βρασμό Volume into fermenter Όγκος στον κάδο ζύμωσης Print Document Εκτύπωση εγγράφου <h2>Notes</h2> <h2>Σημειώσεις</h2> Step %1: %2 Βήμα %1: %2 Add grains Προσθέστε Σιτηρά Heat water Θερμάντε το νερό BrewDayWidget Style Στυλ Date Ημερομηνία Boil Volume Όγκος κατά τον βρασμό Preboil Gravity Πυκνότητα πριν το βρασμό Final Volume Τελικός όγκος Starting Gravity Αρχική πυκνότητα Boil Time Χρόνος βρασμού IBU IBU Predicted Efficiency Προβλεπόμενη απόδοση Estimated calories (per 12 oz) Θερμίδες κατά προσέγγιση Instructions Οδηγίες Completed Ολοκληρώθηκε Time Χρόνος Step Βήμα Actual Pre-boil Volume: Ακριβής Όγκος πριν το Βρασμό Actual Pre-boil Gravity: Ακριβής πυκνότητα πριν τον Βρασμό Post-boil Volume: Όγκος μετά τον Βρασμό Post-boil Gravity: Πυκνότητα μετά το Βρασμό Volume in fermenter: Όγκος στον κάδο Ζύμωσης Print Document Εκτύπωση εγγράφου Notes Σημειώσεις Step %1: %2 Βήμα %1: %2 BrewTargetTreeModel Name Όνομα Brew Date Ημέρα Ζυθοποίησης Style Στυλ Boil Time Χρόνος βρασμού Color Χρώμα Type Τύπος Use Χρήση Form Μορφή Category Κατηγορία Number Αριθμός Letter Γράμμα Guide Οδηγός BrewTargetTreeView New Recipe Προσθήκη νέας συνταγής Brew It! Ζυθοποίησε το! Brew Again Ζυθοποιήστε πάλι Delete Διαγραφή New Equipment Προσθήκη νέου εξοπλισμού New Fermentable Προσθήκη νέων ζυμώσιμων New Hop Προσθήκη νέου λυκίσκου New Misc Προσθήκη στα διάφορα New Yeast προσθήκη νέας μαγιάς Copy Αντιγραφή Export Εξαγωγή Import Εισαγωγή Change date Αλλαγή ημερομηνίας New Style Νέο Στυλ Recalculate eff Επαναπροσδιορισμός απόδοσης Brewtarget Default Προεπιλογή EBC EBC SRM SRM Plato Plato Specific Gravity Ειδικό Βάρος SI Μετρικό σύστημα US Customary Αμερικάνικο σύστημα Milligrams Χιλιοστόγραμμα Grams Γραμμάρια Kilograms Κιλά Ounces Ουγκιές Pounds Λίβρες Celsius Κελσίου Fahrenheit Φάρεναϊτ British Imperial Βρεττανικό μετρικό σύστημα MilliLiters Χιλιοστόλιτρα Liters Λίτρα Teaspoons κουταλιές του γλυκού Tablespoons Κουταλιές της σούπας Cups Φλιτζάνια Quarts Τέταρτα Gallons Γαλόνια BtDigitWidget Too low for style. Κάτω από τα παραδεκτά όρια για το στυλ In range for style. Μέσα στα όρια του στυλ Too high for style. Πάνω από τα παραδεκτά όρια για το στυλ Database Merge Database Συγχώνευση της βάσης δεδομένων There may be new ingredients and recipes available. Would you like to add these to your database? Πιθανόν να είναι διαθέσιμα νέα συστατικά και συνταγές. Θα θέλατε να προστεθούν στην υπάρχουσα βάση δεδομένων; EquipmentEditor Grain absorption (%1/%2) Απορόφηση από τα σιτηρά (%1/%2) Tun Volume Warning Προειδοποίηση Ορίων όγκου σκεύους σακχαροποίησης Batch Size Warning Προειδοποίηση ορίων μεγέθους παρτίδας Equipment name Όνομα εξοπλισμού Equipment name: Όνομα εξοπλισμού The tun volume you entered is 0. This may cause problems Ο όγκος του σκεύους σακχαροποίησης που έχετε εισάγει είναι 0. Αυτό πιθανόν να προκαλέσει προβλήματα The batch size you entered is 0. This may cause problems Το μέγεθος της παρτίδας που έχετε εισάγει είναι 0. Αυτό πιθανόν να προκαλέσει προβλήματα Hop Utilization Warning Προειδοποίηση χρήσης λυκίσκου The hop utilization percentage you entered is 0. This may cause problems Το ποσοστό χρήσης λυκίσκου είναι 0. Αυτό πιθανό να προκαλέσει προβλήματα FermentableDialog Fermentable name Ονομασία ζυμώσιμων Fermentable name: Ονομασία ζυμώσιμων FermentableItemDelegate Grain Σιτηρά Sugar Σάκχαρα Extract Υγρή Βύνη Dry Extract Ξηρή Βύνη Adjunct Πρόσθετα FermentableTableModel Bad model index. row = %1 Bad model index. row = %1 Mashed Mashed Steeped Steeped Not mashed Not mashed Late Στο τέλος Normal Κανονικό Bad column: %1 Προβληματική στήλη: %1 Name Όνομασία Type Είδος Amount Ποσότητα Late Addition προσθήκη στο τέλος Yield % Απόδοση % Color (SRM) Χρώμα (SRM) Color (EBC) Χρώμα (EBC) Hop Mash Mash First Wort Πρίν το βράσιμο Boil Στο Βράσιμο Aroma Άρωμα Dry Hop στον κάδο ζύμωσης Bittering Πικράδα Both Και τα δύο Leaf Leaf Pellet Pellet Plug Plug HopDialog Hop name Όνομα λυκίσκου Hop name: Όνομα λυκίσκου HopItemDelegate Boil Στο Βράσιμο Dry Hop στον κάδο ζύμωσης Mash Mash First Wort Πρίν το βράσιμο Aroma Άρωμα Leaf Leaf Pellet Pellet Plug Plug HopTableModel Name Όνομασία Alpha % Alpha % Amount Ποσότητα Use Χρήση Time Χρόνος Form Μορφή MainWindow Open Άνοιγμα BeerXML files (*.xml) Αρχεία τύπου BeerXML (*.xml) Save Αποθήκευση Equipment request Επιλογή εξοπλισμού Would you like to set the batch size, boil size and time to that requested by the equipment? Θα θέλατε να θέσετε το μέγεθος της παρτίδας το μέγεθος του όγκου βρασμού και τον χρόνο βρασμού σύμφωνα με τον εξοπλισμό; Delete %1 Διαγραφή %1 Delete %1 %2? Διαγραφή %1 %2? HTML files (*.html) Αρχεία σε μορφή HTML (*.html) New Νέα Recipe Συνταγή Equipment Εξοπλισμός Fermentable Ζυμώσιμα Hop Λυκίσκος Miscellaneous Διάφορα Yeast Μαγιά Copy %1 Αντιγραφή %1 Enter a unique name for the copy of %1. Εισάγετε ένα μοναδικό όνομα για την αντιγραφή του %1 Copy Equipment Αντιγραφή εξοπλισμού Copy Fermentable Αντιγραφή ζυμώσιμων Copy Hop Αντιγραφή Λυκίσκου Copy Miscellaneous Αντιγραφή διαφόρων Copy Yeast Αντιγραφή Μαγιάς Database Update Ενημέρωση της βάσης δεδομένων You are about to update the current database with another one. This may make changes to (but will not delete) some of your ingredients. It will not modify any of your recipes. Continue? Πρόκειται να ενημερώσετε την υπάρχουσα βάση δεδομένων με μια άλλη. Αυτό πιθανόν να επιφέρει ( χωρίς να τα διαγράψει) αλλαγές σε κάποια από τα υλικά σας. Δεν πρόκειται να αλλάξει τις συνταγές σας. Να συνεχίσω; Select Database File Επιλέξτε αρχείο βάσης δεδομένων Brewtarget Database (*.sqlite) Βάση δεδομένων του Brewtarget (*.sqlite) Recipe name Όνομα συνταγής Recipe name: Όνομα συνταγής Backup Database Αντίγραφο ασφαλείας βάσης δεδομένων Oops! Ουπς! Could not copy the files for some reason. Για κάποιο λόγο τα αρχεία δεν μπόρεσαν να αντιγραφούν. A Warning Προειδοποίηση This will obliterate your current set of recipes and ingredients. Do you want to continue? Αυτή η ενέργεια θα διαγράψει τα υπάρχοντα αρχεία των συνταγών και των υλικών σας. Θέλετε να συνεχίσετε; For some reason, the operation failed. Για κάποιο λόγο η ενέργεια απέτυχε. Import %1? Εισαγωγή %1? No mash Δεν υπάρχει mash Trying to add a mash step without a mash. Please create a mash first. Προσπαθείτε να προσθέσετε ένα βήμα στην διαδικασίας σακχαροποίησης δίχως να έχετε ορίσει διαδικασία. Παρακαλώ δημιουργείστε διαδικασία σακχαροποίησης πρώτα. Copy Recipe Αντιγραφή Συνταγής Enter a unique name for the copy. Δώστε ένα μοναδικό όνομα για την αντιγραφή Please give your mash a name before saving. Δωστε στο mash σας ένα όνομα πριν το αποθηκεύσετε Restart Επανεκκίνηση Please restart Brewtarget. Παρακαλώ επανεκκινήστε το πρόγραμμα No equipment Δεν έχετε επιλέξει εξοπλισμό You must select or define an equipment profile first. Πρώτα πρέπει να επιλέξετε ή να ορίσετε ενα προφίλ εξοπλισμού No style Δεν έχετε επιλέξει στυλ You must select a style first. Πρώτα πρέπει να επιλέξετε ένα στυλ Choose File Επιλογή αρχείου SQLite (*.sqlite) SQLite (*.sqlite) Style Στυλ Copy Style Αντιγραφή στυλ The database has been converted/upgraded. Η βάση δεδομένων έχει αλλαχτεί/αναβαθμιστεί. The original XML files can be found in Τα πρωτότυπα αρχεία XML μπορούν να βρεθούν μέσα στο The import contained invalid beerXML. It has been imported, but please make certain it makes sense. MaltinessWidget <b>Cloying</b> <b>Cloying</b> <b>Extra malty</b> <b>Πολύ βυνώδης</b> <b>Slightly malty</b> <b>Ελαφρά βυνώδης</b> <b>Balanced</b> <b>Σε αρμονία</b> <b>Slightly hoppy</b> <b>Slightly hoppy</b> <b>Extra hoppy</b> <b>Extra hoppy</b> <b>Way hoppy</b> <b>Way hoppy</b> MashDesigner No Fermentables Χωρίς Ζυμώσιμα Your recipe must have fermentables to design a mash. Η συνταγή σας θα πρέπει να έχει ζυμώσιμα για να υπολογίσετε την διαδικασία σακχαροποίησης No Equipment Δεν υπάρχει εξοπλισμός You have not set an equipment for this recipe. We really cannot continue without one. Δεν έχετε επιλέξει εξοπλισμό. Είναι αδύνατον να προχωρήσουμε αν δεν επιλέξετε κάποιον Tun Temp Θερμοκρασία σκεύους σακχαροποίησης Enter the temperature of the tun before your first infusion. Εισάγετε την θερμοκρασία του σκεύους σακχαροποίησης πριν την πρώτη έγχυση Decoction error σφάλμα κατά το decoction The first mash step cannot be a decoction. Το πρώτο βήμα δεν μπορεί να είναι decoction MashStepTableModel Bad model index. row = %1 Bad model index. row = %1 Bad column: %1 Προβληματική στήλη: %1 Name Όνομασία Type Είδος Amount Ποσότητα Infusion Temp Θερμοκρασία έγχυσης Target Temp Ζητούμενη θερμοκρασία Time Χρόνος MashWizard Mash thickness (%1/%2) Πυκνότητα σακχαροποίησης (%1/%2) Bad thickness λανυασμένη πυκνότητα You must have a positive mash thickness. No steps Δεν υπάρχουν βήματα There must be at least one mash step to run the wizard. Θα πρέπει να υπάρχει τουλάχιστον ένα βήμα για να τρέξει ο οδηγός First step Πρώτο βήμα Your first mash step must be an infusion. Το πρώτο σας βήμα πρέπει να είναι απαραίτητα έγχυση Mash too thick Σακχαροποίηση είναι πολύ πηχτή Your mash is too thick for desired temp. at first step. Η Σακχαροποίηση είναι πολύ πηχτή για την επιθυμητή θερμοκρασία κατά το πρώτο βήμα. Decoction error σφάλμα κατά το decoction Something went wrong in decoction calculation. Κάτι πήγε στραβά με τον υπολογισμό στο decoction Sparge temp. Θερμοκρασία ψεκάσματος In order to hit your sparge temp, the sparge water must be above boiling. Lower your sparge temp, or allow for more sparge water. Για να επιτύχετε την επιθυμητή θερμοκρασία ψεκάσματος, το νερό θα πρέπει να έχει βράσει. Μειώστε την θερμοκρασία του νερού ή αυξήστε τον όγκο του νερού με το οποίο θα ψεκάσετε Too much wort Πάρα πολύ γλεύκος You have too much wort from the mash for your boil size. I suggest increasing the boil size by increasing the boil time, or reducing your mash thickness. Έχετε παραπάνω γλεύκος από τον όγκο που θέλετε να βράσετε. Σας προτείνουμε να αυξήσετε τον όγκο βρασμού με το να αυξήσετε το χρόνο βρασμού, ή να μειώσετε την πυκνότητα σακχαροποίησης MiscDialog Misc name Ονομασία είδους Misc name: Ονομασία είδους MiscItemDelegate Spice Μπαχαρικά Fining Βελτιωτικά Water Agent Ρυθμιστής νερού Herb Βότανα Flavor Άρωματικές Ύλες Other 'Αλλο Boil Στο Βράσιμο Mash Στο σκεύος σακχαροποίησης Primary Κατά την πρώτη ζύμωση Secondary κατά την δεύτερη ζύμωση Bottling Κατά την εμφιάλωση MiscTableModel Name Όνομασία Type Είδος Use Χρήση Time Χρόνος Amount Ποσότητα Weight Βάρος Volume Όγκος Amount Type Μονάδα μέτρησης OptionDialog Open Directory Άνοιγμα Καταλόγου Copy Data Αντιγραφή δεδομένων There do not seem to be any data files in this directory, so we will copy your old data here. Δεν φαίνεται να υπάρχουν αρχεία σε αυτό τον φάκελο, οπότε θα αντιγράψουμε τα παλιά σας δεδομένα εδώ. Restart Επανεκκίνηση Please restart Brewtarget. Παρακαλώ επανεκκινήστε το πρόγραμμα QObject Invalid color formula type: %1 λανθασμένος τύπος φόρμουλας χρώματος: %1 Unrecognized IBU formula type. %1 Μη αναγνωρίσiμος τύπος φόρμουλας IBU. %1 Batch Size: %1 Όγκος παρτίδας: %1 Boil Size: %1 Όγκος βρασμού: %1 Boil Time: %1 Χρόνος βρασμού: %1 OG: %1 OG: %1 FG: %1 FG: %1 Bitterness: %1 IBUs (%2) Πικράδα: %1 IBUs (%2) Color: %1 SRM (%2) Χρώμα: %1 SRM (%2) Fermentables Ζυμώσιμα Name Όνομασία Type Είδος Amount Ποσότητα Mashed Mashed Late Στο τέλος Yield Απόδοση Color Χρώμα Yes Ναι No Όχι Total grain: %1 Ολική ποσότητα σιτηρών: %1 Hops Λυκίσκος Alpha Alpha Use Χρήση Time Χρόνος IBU IBU Misc Διαφ. Yeast Μαγιά Form Μορφή Stage Στάδιο Secondary κατά την δεύτερη ζύμωση Primary Κατά την πρώτη ζύμωση Mash Mash Temp Θερμοκρασία Target Στόχος Notes Σημειώσεις Instructions Οδηγίες Directory Problem Πρόβλημα με το φάκελο "%1" cannot be read. "%1" δεν μπορεί να διαβαστεί. Config directory "%1" cannot be read. Config directory "%1" cannot be read. New Version Νέα έκδοση Version %1 is now available. Download it? Η νέα έκδοση %1 είναι διαθέσιμη. Να την κατεβάσω? Stop bothering you about new versions? Να μην σας ξαναενοχλήσω για νέες εκδόσεις; Database Failure Πρόβλημα με την βάση δεδομένων Failed to open the database '%1'. Δεν ήταν δυνατό να ανοίξει η βάση δεδομένων '%1'. Save Database Changes Αποθήκευση των αλλαγών στην βάση δεδομένων Would you like to save the changes you made? θα θέλατε να αποθηκευτούν οι αλλαγές που έγιναν; Multiple Databases Found Βρέθηκαν πολλαπλές βάσεις δεδομένων Multiple databases were found. Do you want to restore the changes you made during your last Brewtarget session, or rollback to before last session's changes? Βρέθηκαν πολλαπλές βάσεις δεδομένων. Θα θέλατε να επαναφέρετε τις αλλαγές που έγιναν κατά την τελευταία χρήση του προγράμματος ή να αποκαταστήσω τις αλλαγές πριν από αυτήν; Restore Επαναφορά Rollback αποκατάσταση Failed to remove the temporary backup database. Navigate to '%1' and remove 'tempBackupDatabase.sqlite'. Αποτυχία διαγραφής της προσωρινής βάσης δεδομένων. Πηγαίνετε στο φάκελο '%1' και αφαιρέστε το αρχείο 'tempBackupDatabase.sqlite'. Failed to rollback to the backup database. Navigate to '%1', remove 'database.sqlite' if it exists, and rename 'tempBackupDatabase.sqlite' to 'database.sqlite'. Αποτυχία διαγραφής της προσωρινής βάσης δεδομένων. Πηγαίνετε στο φάκελο '%1' και αφαιρέστε το αρχείο 'database.sqlite' εάν υπάρχει, και μετονομάστε το αρχείο 'tempBackupDatabase.sqlite' σε 'database.sqlite'. Database Restore Failure Αποτυχία επαναφοράς βάσης δεδομένων Failed to restore the backup database. Navigate to '%1' and rename 'tempBackupDatabase.sqlite' to 'database.sqlite'. Αποτυχία επαναφοράς βάσης δεδομένων Πηγαίνετε στο φάκελο '%1' και μετονομάστε το αρχείο 'tempBackupDatabase.sqlite' σε 'database.sqlite'. Grain Σιτηρά Sugar Σάκχαρα Extract Υγρή Βύνη Dry Extract Ξηρή Βύνη Adjunct Πρόσθετα Boil Στο Βράσιμο Mash Mash Infusion Infusion Temperature Θερμοκρασία Decoction Decoction Bottling Κατά την εμφιάλωση Spice Μπαχαρικά Fining Βελτιωτικά Water Agent Ρυθμιστής νερού Herb Βότανα Flavor Άρωματικές Ύλες Other 'Αλλο Ale Ale Lager Lager Wheat Wheat Wine Κρασί Champagne Σαμπάνια Liquid Υγρή Dry Ξηρή Slant Slant Culture Καλιέργεια Low Χαμηλή Medium Μεσαία High Υψηλή Very High Πολύ υψηλή Recipes Συνταγές Equipment Εξοπλισμός Fermentables Ζυμώσιμα Hops Λυκίσκος Miscellaneous Διάφορα Yeast Μαγιά Efficiency: %1% Απόδοση: %1% ABV: %1% ABV: %1% Style Στυλ Recipe Add grains Προσθέστε Σιτηρά Add Προσθήκη to the mash tun. Στο σκεύος σακχαροποίσης Heat water Θερμάντε το νερό Bring Φέρτε %1 water to %2, %1 το νερό σε %2, for upcoming infusions. για την έγχυση Add %1 water at %2 to mash to bring it to %3. Προσθέστε %1 νερό στους %2 κατά την σακχαροποίηση για να το φέρετε στους %3. Heat mash to %1. θερμάντε το χυλό στους %1. Bring %1 of the mash to a boil and return to the mash tun to bring it to %2. Φέρτε %1 του χυλού σε βρασμό και επιστρέψτε το στο σκεύος σακχαροποίησης για να το φέρετε στους %2. Hold for %1. κρατήστε το για %1. Put %1 %2 into boil for %3. Βάλτε %1 %2 για βράσιμο για %3. Put %1 %2 into fermenter for %3. Βάλτε %1 %2 στον κάδο ζύμωσης για %3. Put %1 %2 into first wort for %3. Βάλτε %1 %2 πριν το βρασμό για %3. Put %1 %2 into mash for %3. Βάλτε %1 %2 στο σκεύος σακχαροποίησης για %3. Steep %1 %2 in wort for %3. Μουσκέψτε %1 %2 στο γλεύκος για %3. Use %1 %2 for %3 Χρησιμοποιήστε %1 %2 για %3 Hop addition Προσθήκη λυκίσκου Use %1 %2 at bottling for %3. Χρησιμοποιήστε %1 %2 κατά την εμφιάλωση για %3. Put %1 %2 into primary for %3. Βάλτε %1 %2 κατά την αρχική ζύμωση για %3. Put %1 %2 into secondary for %3. Βάλτε %1 %2 κατά την δεύτερη ζύμωση για %3. Use %1 %2 for %3. Χρησιμοποιήστε %1 %2 για %3. Misc addition Προσθήκη διαφόρων Do first wort hopping with Προσθέστε τον ακόλουθο λυκίσκο πριν το βρασμό First wort hopping Προσθήκη λυκίσκου πριν το βρασμό You should now have %1 wort. Τώρα θα πρέπει να έχετε %1 ποσότητα γλεύκους Add %1 water to the kettle, bringing pre-boil volume to %2. Προσθέστε %1 νερό στην κατσαρόλα, φέρτε τον όγκο πριν το βράσιμο στους %2 Pre-boil πριν το βρασμό Boil or steep Βράστε ή εμποτίστε Boil/steep fermentables Βράστε/εμποτίστε τα ζυμώσιμα to the boil at knockout. κατά το τέλος του βρασμού Knockout additions προσθήκες στο τέλος You should have %1 wort post-boil. Θα πρέπει να έχετε %1 γλεύκος μετά το βράσιμο. You anticipate losing %1 to trub and chiller loss. Προβλέπεται να υπάρξουν απώλειες %1 από το ίζημα και τον ψύκτη Add %1 top up water into primary. προσθέστε %1 νερό στον κάδο ζύμωσης The final volume in the primary is %1. Ο τελικός όγκος στον κάδο ζύμωσης είναι %1. Post boil Μετά τον βρασμό Boil time Διάρκεια βρασμού You did not configure an equipment (which you really should), so tell me the boil time. Δεν έχετε ρυθμίσει τον εξοπλισμό, ( κανονικά θα έπρεπε), γιαυτό πείτε μου τον χρόνο βρασμού. Bring the wort to a boil and hold for %1. Φέρτε το γλεύκος σε βρασμό και κρατήστε το έτσι για %1. Start boil Αρχίστε το βράσιμο Flameout Κλείστε το ρεύμα/γκάζι Stop boiling the wort. Σταματήστε το βράσιμο του γλεύκους Cool wort and pitch Παγώστε το γλεύκος και ρίξτε %1 %2 yeast, %1 %2 μαγιά, to the primary. στον πρώτο κάδο ζήμωσης Pitch yeast Ρίξτε την μαγιά Let ferment until FG is %1. Αφήστε το να ζυμώνει εως ότου το FG είναι %1. Ferment Ζήμωση Transfer beer to secondary. μεταφέρτε την μπύρα στον δεύτερο κάδο ζύμωσης Transfer to secondary Μεταφέρτε στον δεύτερο κάδο Add %1 %2 to boil at %3. Προσθέστε %1 %2 για βράσιμο στους %3 Raise water to boil and then remove from heat. Stir in Βράστε νερό και μετά απομακρύνετέ το από την φωτιά. Ανακατέψτε Add Extracts to water Προσθέστε τα εκχυλίσματα στο νερό %1 water to %2 %1 νερό για %2 RecipeFormatter unknown style Άγνωστο είδος/τύπος N/A Μη διαθέσιμο Brewer Ζυθοποιός Date Ημερομηνία Batch Size Όγκος παρτίδας Boil Size Όγκος βρασμού Boil Time Χρόνος βρασμού Efficiency Απόδοση OG OG FG FG Unknown Άγνωστο ABV ABV Bitterness Πικράδα Color Χρώμα Calories (per 12 oz.) Θερμίδες Fermentables Ζυμώσιμα Total grain: Ολική ποσότητα σιτηρών Name Όνομασία Type Είδος Amount Ποσότητα Mashed στο σκεύος σακχαροποίησης Late Στο τέλος Yield Απόδοση Yes Ναι No Όχι Hops Λυκίσκος Alpha Alpha Use Χρήση Time Χρόνος Form Μορφή IBU IBU Misc Διάφορα Yeast Μαγιά Stage Στάδιο Secondary κατά την δεύτερη ζύμωση Primary Κατά την πρώτη ζύμωση Mash Mash Temp Θερμοκρασία Target Temp Ζητούμενη θερμοκρασία Notes Σημειώσεις Instructions Οδηγίες Brew Date Ημέρα Ζυθοποίησης Preboil Πριν τον βρασμό SG SG Volume into BK Όγκος στο σκεύος βρασμού Strike Temp Final Temp Τελική Θερμοκρασία Eff into BK απόδοση στην μαρμίτα Projected OG Προβλεπόμενη Αρχική πυκνότητα Postboil μετά τον βρασμό Postboil Volume Όγκος μετά τον βρασμό Volume Into Fermenter Όγκος στον κάδο ζύμωσης Brewhouse Eff Απόδοση εξοπλισμού Projected ABV Προβλεπόμενοι ABV Postferment Μετά την ζύμωση Volume Όγκος Print Document Εκτύπωση εγγράφου RefractoDialog OG Mismatch Αναντιστοιχία αρχικής πυκνότητας Based on the given original plato, the OG should be %1, but you have entered %2. Continuing with the calculated OG. Με βάση τους δεδομένους αρχικούς βαθμούς plato, η αρχική πυκνότητα θα έπρεπε να είναι %1, αλλά έχετε εισάγει %2. Συνεχίζω με την υπολογισμένη αρχική πυκνότητα ScaleRecipeTool Recipe Scaled The mash has been reset due to the fact that mash temperatures do not scale easily. Please re-run the mash wizard. Η διαδικασία σακχαροποίησης μηδενίστηκε εξ' αιτίας του γεγονότος ότι οι θερμοκρασίες κατά την σακχαροποίηση δεν αλλάζουν εύκολα. Χρησιμοποιήστε τον οδηγό σακχαροποίησης για νέα διαδικασία. The equipment and mash have been reset due to the fact that mash temperatures do not scale easily. Please re-run the mash wizard. Ο εξοπλισμός και η διαδικασία σακχαροποίησης μηδενίστηκαν εξ' αιτίας του γεγονότος ότι οι θερμοκρασίες κατά την σακχαροποίηση δεν αλλάζουν εύκολα. Χρησιμοποιήστε τον οδηγό σακχαροποίησης για νέα διαδικασία. StyleEditor Style name Ονομασία Στυλ Style name: Όνομασία στυλ: TimerWidget Open Sound Εισάγετε ήχο Audio Files (*.wav *.ogg *.mp3 *.aiff) Αρχεία ήχου (*.wav *.ogg *.mp3 *.aiff) Stop Διακοπή Start Έναρξη WaterTableModel Bad model index. row = %1 Bad model index. row = %1 Bad column: %1 Προβληματική στήλη: %1 Name Όνομασία Amount Ποσότητα Calcium (ppm) Calcium (ppm) Bicarbonate (ppm) Bicarbonate (ppm) Sulfate (ppm) Sulfate (ppm) Chloride (ppm) Chloride (ppm) Sodium (ppm) Sodium (ppm) Magnesium (ppm) Magnesium (ppm) YeastDialog Yeast name Ονομασία μαγιάς Yeast name: Ονομασία μαγιάς YeastItemDelegate Ale Ale Lager Lager Wheat Wheat Wine Κρασί Champagne Σαμπάνια Liquid Υγρή Dry Ξηρή Slant Slant Culture Καλιέργεια YeastTableModel Bad model index. row = %1 Bad model index. row = %1 Bad column: %1 Προβληματική στήλη: %1 Name Ονομασία Type Είδος Form Μορφή Amount Ποσότητα Laboratory Εργαστήριο Product ID Κωδικός προιόντος aboutDialog About Brewtarget Σχετικά με το Brewtarget <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'DejaVu Sans'; font-size:9pt; font-weight:400; font-style:normal;"> <p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:20pt;">Brewtarget %1</span></p> <p style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Brewtarget, for developing beer recipes.</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Copyright 2009-2013 by the developers below.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier'; font-weight:600; text-decoration: underline;">Developers</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Peter Buelow</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Dan Cavanagh</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Mik Firestone</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Philip G. Lee &lt;rocketman768@gmail.com&gt;</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier'; font-weight:600; text-decoration: underline;">Copyright (GPLv3)</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Brewtarget is free software: you can redistribute it and/or modify</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">it under the terms of the GNU General Public License as published by</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">the Free Software Foundation, either version 3 of the License, or</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">(at your option) any later version.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Brewtarget is distributed in the hope that it will be useful,</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">but WITHOUT ANY WARRANTY; without even the implied warranty of</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">GNU General Public License for more details.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">You should have received a copy of the GNU General Public License</span></p> <p style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">along with Brewtarget. If not, see &lt;</span><a href="http://www.gnu.org/licenses/"><span style=" font-family:'Courier New,courier'; text-decoration: underline; color:#0000ff;">http://www.gnu.org/licenses/</span></a><span style=" font-family:'Courier New,courier';">&gt;.</span></p> <p style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier'; font-weight:600; text-decoration: underline;">Source Code</span></p> <p style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Brewtarget's source code can be downloaded at </span><a href="http://brewtarget.sourceforge.net"><span style=" font-family:'Sans Serif'; text-decoration: underline; color:#0057ae;">brewtarget.sourceforge.net</span></a><span style=" font-family:'Sans Serif';">.</span></p> <p style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier'; font-weight:600; text-decoration: underline;">Special Thanks</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Guido Carpi (Italian translation)</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Ester (Catalan translation)</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Marc Cote (French translation)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Pawel Fiedor (Polish translation)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Admiro (Polish translation)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Edu Engler (Portuguese translation)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Jan Grmela (Czech translation)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Randy Brace (alpha tester)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://finalgravitypodcast.com"><span style=" font-family:'Sans Serif'; text-decoration: underline; color:#0057ae;">Final Gravity Podcasts</span></a></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Glenn Tinseth &lt;</span><a href="http://www.realbeer.com/hops"><span style=" text-decoration: underline; color:#0000ff;">http://www.realbeer.com/hops</span></a><span style=" font-family:'Courier New,courier';">&gt;</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">server, printer, edit-copy, document-print-preview and merge images from Oxygen theme (CC license)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">backup image from Nuvola theme (LGPL)</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'DejaVu Sans'; font-size:9pt; font-weight:400; font-style:normal;"> <p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:20pt;">Brewtarget %1</span></p> <p style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Brewtarget, for developing beer recipes.</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Copyright 2009-2013 by the developers below.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier'; font-weight:600; text-decoration: underline;">Developers</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Peter Buelow</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Dan Cavanagh</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Mik Firestone</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Philip G. Lee &lt;rocketman768@gmail.com&gt;</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier'; font-weight:600; text-decoration: underline;">Copyright (GPLv3)</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Brewtarget is free software: you can redistribute it and/or modify</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">it under the terms of the GNU General Public License as published by</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">the Free Software Foundation, either version 3 of the License, or</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">(at your option) any later version.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Brewtarget is distributed in the hope that it will be useful,</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">but WITHOUT ANY WARRANTY; without even the implied warranty of</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">GNU General Public License for more details.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">You should have received a copy of the GNU General Public License</span></p> <p style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">along with Brewtarget. If not, see &lt;</span><a href="http://www.gnu.org/licenses/"><span style=" font-family:'Courier New,courier'; text-decoration: underline; color:#0000ff;">http://www.gnu.org/licenses/</span></a><span style=" font-family:'Courier New,courier';">&gt;.</span></p> <p style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier'; font-weight:600; text-decoration: underline;">Source Code</span></p> <p style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Brewtarget's source code can be downloaded at </span><a href="http://brewtarget.sourceforge.net"><span style=" font-family:'Sans Serif'; text-decoration: underline; color:#0057ae;">brewtarget.sourceforge.net</span></a><span style=" font-family:'Sans Serif';">.</span></p> <p style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier'; font-weight:600; text-decoration: underline;">Special Thanks</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Guido Carpi (Italian translation)</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Ester (Catalan translation)</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Marc Cote (French translation)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Pawel Fiedor (Polish translation)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Admiro (Polish translation)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Edu Engler (Portuguese translation)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Jan Grmela (Czech translation)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Randy Brace (alpha tester)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://finalgravitypodcast.com"><span style=" font-family:'Sans Serif'; text-decoration: underline; color:#0057ae;">Final Gravity Podcasts</span></a></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Glenn Tinseth &lt;</span><a href="http://www.realbeer.com/hops"><span style=" text-decoration: underline; color:#0000ff;">http://www.realbeer.com/hops</span></a><span style=" font-family:'Courier New,courier';">&gt;</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">server, printer, edit-copy, document-print-preview and merge images from Oxygen theme (CC license)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">backup image from Nuvola theme (LGPL)</span></p></body></html> Donate Δωρεά brewDayScrollWidget Form Μορφή Generate Instructions Δημιουργία οδηγιών Insert step Εισάγετε βήμα Name Ονομασία Name of new step Ονομασία νέου βήματος Step # Βήμα # The number where the new step should be placed Σειρά στην οποία θα μπει το νέο βήμα Insert the new step Εισάγετε νέο βήμα Move steps Μετακίνηση βήματος Move currently selected step up Μετακίνηση του επιλεγμένου βήματος πάνω Move currently selected step down Μετακίνηση του επιλεγμένου βήματος κάτω Remove currently selected step Διαγραφή του επιλεγμένου βήματος brewDayWidget Brewday Mode Brewday Mode Instructions Οδηγίες Move currently selected step up Μετακίνηση του επιλεγμένου βήματος πάνω Up Πάνω Move currently selected step down Μετακίνηση του επιλεγμένου βήματος κάτω Down Κάτω Remove currently selected step Διαγραφή του επιλεγμένου βήματος Remove Διαγραφή Insert step Εισάγετε βήμα Name Ονομασία Name of new step Ονομασία νέου βήματος Step # Βήμα # The number where the new step should be placed Σειρά στην οποία θα μπει το νέο βήμα Insert the new step Εισάγετε νέο βήμα Insert Εισαγωγή brewNoteWidget Form Μορφή Preboil Πριν τον βρασμό SG SG Preboil gravity Πυκνότητα πριν το βρασμό Volume Όγκος Volume of wort collected Όγκος γλεύκους που συλλέχτηκε Strike Temp Temperature of mash after dough in Θερμοκρασία της σακχαροποίησης μετά την εισαγωγή των σιτηρών Final Temp Τελική Θερμοκρασία Temperature of mash before mash out Θερμοκρασία σακχαροποίησης πριν το τέλος Postboil μετά τον βρασμό OG OG Post boil gravity πυκνότητα μετά τον βρασμό Postboil Volume Όγκος μετά τον βρασμό Volume of wort in BK after boil Όγκος στο καζάνι μετά τον βρασμό Volume of wort transferred to fermenter Όγκος γλεύκους που μεταφέρθηκε στον κάδο ζύμωσης Volume into fermenter Όγκος στον κάδο ζύμωσης Pitch Temp Θερμοκρασία ρίψης της μαγιάς Temperature of wort when yeast is pitched Θερμοκρασία του γλέυκος κατά την ρίψη της μαγιάς Postferment Μετά την ζύμωση Final gravity Τελική πυκνότητα Volume of beer into serving keg/bottles Όγκος μπύρας σε μποτίλιες Date when the yeast fermented out Ημερομηνία που τελείωσε η ζύμωση percent efficiency into boil kettle ποσοστό απόδοσης στην μαρμίτα Eff into BK απόδοση στην μαρμίτα Expected OG, based on measure fg Αναμενόμενη OG βασισμένη στην μέτρηση της FG Projected OG Προβλεπόμενη Αρχική πυκνότητα Brewhouse efficiency Απόδοση εξοπλισμού Brewhouse Eff Απόδοση εξοπλισμού Expected ABV based on OG Αναμενόμενη ABV με βάση την OG Projected ABV Προβλεπόμενοι ABV ABV based on FG ABV με βάση την FG ABV ABV Notes Σημειώσεις btSplashScreen Form Μορφή converterTool Converter Tool Εργαλείο μετατροπής Input Εισαγωγή Amount and units to convert Ποσό και μονάδες που θέλετε να μετατραπούν Output Units μετατροπή μονάδων σε Unit you want to convert to Μοναδες που θελετε να μετατραπούν Output Μετατροπή Output conversion Convert Μετατροπή equipmentEditor Equipment Editor Επεξεργασία εξοπλισμού Equipment Εξοπλισμός Remove equipment Διαγράψτε τον εξοπλισμό Set as Default Ορισμός ως προκαθορισμένο Required Fields Απαιτούμενα πεδία Name Ονομασία Pre-boil volume Όγκος πριν το βρασμό If checked, we will calculate your pre-boil volume based on your desired batch size, boil time, evaporation rate, losses, etc. Εάν επιλεγεί θα υπολογίσω όγκο πριν το βρασμό με βάση το επιθυμητό μέγεθος παρτίδας, χρόνο βρασμού, ποσοστό εξάτμισης, απώλειες κλπ. Calculate pre-boil volume Υπολογισμός όγκου πριν το βρασμό Automatically fill in pre-boil volume Αυτόματη πήρωση όγκου πριν το βρασμό Batch size Μέγεθος παρτίδας Boiling && Water Βράσιμο && Νερό Boil time Διάρκεια βρασμού Evaporation rate (per hr) Ποσοστό εξάτμισης (ανα ώρα) How much water boils off per hour Πόσο νερό εξατμίζεται ανα ώρα Kettle top-up water Συμπηρωματική ποσότητα νερού την μαρμίτα How much water is added to kettle immediately pre-boil Πόσο νερό πρέπει να προστεθεί αμέσως πριν τον βρασμό Final top-up water τελική πλήρωση νερού Water added to fermenter νερό που προστέθηκε στον κάδο ζύμωσης Grain Absorption (L/kg) Βαθμός απορρόφησης νερού από τα σιτηρά (L/Kg) Default Absorption Μέση απορρόφηση Boiling Point of Water Σημείο βρασμού του νερού Hop Utilization Χρήση λυκίσκου Mash Tun Σκεύος σακχαροποίησης Volume Όγκος Volume of mash tun Όγκος σκεύους σακχαροποίησης Mass Μάζα Mass or weight of mash tun Μάζα η βάρος σκεύους σακχαροποίησης Specific heat (cal/(g*K)) Συγκεκριμένη θερμοκρασία (cal/(g*K)) Losses Απώλειες Kettle to fermenter Από την μαρμίτα στον κάδο ζύμωσης Wort lost between kettle and fermenter Γλεύκος που απωλέστηκε από την μαρμίτα στον κάδο ζύμωσης Lauter deadspace Νεκρός χώρος στο Lauter Volume of wort lost to lauter deadspace Όγκος γλεύκους που χάθηκε εξ' αιτίας του νεκρού χώρου στο lauter Notes Σημειώσεις New equipment Νέος εξοπλισμός Save Αποθήκευση Cancel Ακύρωση fermentableDialog Fermentable Database Βάση δεδομένων ζυμώσιμων Add selected ingredient to recipe Προσθέστε το επιλεγμένο συστατικό στην συνταγή Add to Recipe Προσθήκη στην συνταγή Create new ingredient Δημιουργείστε ένα νέο συστατικό New Νέο Edit selected ingredient Διόρθωση επιλεγμένου συστατικού Remove selected ingredient Διαγραφή επιλεγμένου συστατικού fermentableEditor Fermentable Editor Διόρθωση Ζυμώσιμων Required Fields Απαιτούμενα πεδία Name Ονομασία Type Τύπος Grain Σιτηρά Sugar Σάκχαρα Extract Υγρή Βύνη Dry Extract Ξηρή Βύνη Adjunct Πρόσθετα Amount Ποσότητα Yield (%) Απόδοση Yield as compared to glucose Απόδοση σε σύγκριση με την γλυκόζη Lovibond Lovibond Lovibond rating Lovibond rating Add After Boil Προσθήκη μετά τον βρασμό This ingredient is added post boil. Αυτό το συστατικό προστίθεται μετά το βράσιμο Origin Προέλευση Supplier Προμηθευτής Coarse/Fine Diff (%) Χοντροκομμένο/Ψιλοκομμένο Διαφορά (%) Yield difference between coarse and fine grind Διαφορλά απόδοσης μεταξύ χοντροαλεσμένου και ψιλοαλεσμένου Moisture (%) Υγρασία (%) Moisture percentage by mass Ποσοστό υγρασίας κατά μάζα DP (Lintner) DP (Lintner) Diastatic power in Lintner Diastatic power in Lintner Protein (%) Πρωτεΐνες Protein percentage by mass Ποσοστό πρωτεΐνης με βάση την μάζα Max In Batch (%) Μέγιστη ποσότητα ανά παρτίδα (%) Maximum recommended percentage of total grist Μεγιστη συνιστόμενη ποσότητα Recommend Mash Προτείνεται κατά την σακχαροποίηση Recommend this be mashed Πρότείνεται να σακχαροποιήται Is Mashed Σακχαροποιήται Checked if it is present in mash Σημειώστε αν πρέπει να βρίσκεται κατά την σακχαροποίηση Bitterness (IBU*gal/lb) Πικράδα (IBU*gal/lb) Bitterness of pre-hopped extracts Βαθμός πικρότητας εκχυλισμάτων Notes: Σημειώσεις: hopDialog Hop Database Βάση δεδομένων λυκίσκου Add selected ingredient to recipe Προσθέστε το επιλεγμένο συστατικό στην συνταγή Add to Recipe Προσθήκη στην συνταγή New hop Νέος λυκίσκος New Νέος Edit Επεξεργασία Remove Διαγραφή hopEditor Hop Editor Επεξεργασία λυκίσκου Required Fields Απαιτούμενα πεδία Name Ονομασία Alpha (%) Alpha (%) Alpha acids as percent by mass Alpha οξέα σε ποσοστό επί της μάζας Amount Ποσότητα Amount Ποσότητα Use Χρήση Mash Στο σκεύος σακχαροποίησης First Wort Πρίν το βράσιμο Boil Στο Βράσιμο Aroma Για άρωμα Dry Hop στον κάδο ζύμωσης Time Χρόνος Type Είδος Bittering Πικράδα Both Και τα δύο Form Μορφή Leaf σε φύλλα Pellet Σφαιρίδια Plug Plug Beta (%) Beta (%) Beta acids as percent by mass Beta acids ως πσοστό επι της μάζας HSI HSI Hop Stability/Storage index Σταθερότητα λυκίσκου/Αποθήκευση Origin Προέλευση Humulene (%) Humulene (%) Humulene Humulene Caryophyllene (%) Caryophyllene (%) Caryophyllene Caryophyllene Cohumulone (%) Cohumulone (%) Cohumulone Cohumulone Myrcene (%) Myrcene (%) Myrcene Myrcene Substitutes: Υποκατάστατα Notes: Σημειώσεις: htmlViewer Html Viewer Html Viewer about:blank σχετικά:κενό instructionWidget Form Μορφή Show a timer Χρονόμετρο Show timer Εμφάνιση χρονομέτρου Mark this step completed ανήγγειλε αυτό το βήμα ώς ολοκληρωμένο Step completed Το βήμα ολοκληρώθηκε mainWindow Recipes Συνταγές Styles Στυλ Fermentables Ζυμώσιμα Hops Λυκίσκος Miscs Διάφορα Yeasts Μαγιές Recipe Συνταγή Name Ονομασία Name of recipe Ονομασία συνταγής 5 gal 5 γαλόνια Target boil size Όγκος που επιθυμούμε Efficiency (%) Απόδοση (%) Calculated Boil Size Υπολογισμένος όγκος βρασμού Calculated Batch Size Υπολογισμένος όγκος παρτίδας The extraction efficiency you expect Πσοστό απόδοσης που περιμένουμε Style Στυλ Boil Time Χρόνος βρασμού Target batch size Μέγεθος παρτίδας που επιθυμούμε Target Batch Size Μέγεθος παρτίδας που επιθυμούμε Equipment Εξοπλισμός Target Boil Size Μέγεθος όγκου βρασμού που επιθυμούμε OG OG Boil SG SG βρασμού FG FG ABV ABV Bitterness (IBU) Πικρότητα (IBU) Color Χρώμα IBU/GU IBU/GU Calories/12oz Θερμίδες/12 ουγγιές Extras Πρόσθετα Brewday Μέρα ζυθοποίησης Add a fermentable Προσθέστε ζυμώσιμα Remove selected fermentable Αφαιρέστε το επιλεγμένο ζυμώσιμο Edit selected fermentable Επεξεργαστείτε το επιλεγμένο ζυμώσιμο Add hop Προσθέστε λυκίσκο Remove selected hop Αφαιρέστε τον επιλεγμένο λυκίσκο Edit selected hop επεξεργαστείτε τον επιλεγμένο λυκίσκο Miscellaneous Διάφορα Add misc προσθέστε διαφ. Remove selected misc Αφαιρέστε τα επιλεγμένα διαφ. Edit selected misc Επεξεργαστείτε τα επιλεγμένα διαφ. Yeast Μαγιά Add yeast Προσθέστε μαγιά Remove selected yeast Αφαιρέστε την επιλεγμένη μαγιά Edit selected yeast Επεξεργαστείτε την επιλεγμένη μαγιά Mash Σκεύος σακχαροποίησης Add mash step Νέο βήμα σακχαροποίησης Remove selected mash step Αφαιρέστε το επιλεγμένο βήμα σακχαροποίησης Edit selected mash step Επεξεργαστέιτε το επιλεγμένο βήμα σακχαροποίησης Edit mash properties Ιδιότητες mash Edit mash Edit mash Mash Des Mash Des Invoke the mash wizard Εκκίνηση του mash wizard Mash wiz Mash wiz Mashs Mashs Mash step up Mash step up Mash step down Mash step down Save this mash profile Αποθήκευση αυτού του προφιλ mash Save Mash Αποθήκευση Mash &About &Περί &File &Αρχείο &Brewday &Μέρα ζυθοποίησης &Recipe &Συνταγή &Database &Βάση δεδομένων &View &Προβολή &Tools &Εργαλεία toolBar Γραμμή εργαλείων About &BrewTarget Σχετικά &BrewTarget About Brewtarget Σχετικά με το Brewtarget &Export Recipe &Εξαγωγή συνταγής &Fermentables &Ζυμώσιμα Ctrl+F Ctrl+F &Hops &Λυκίσκοι Ctrl+H Ctrl+H &Miscs &Διαφ. Ctrl+M Ctrl+M &Yeasts &Μαγιές Ctrl+Y Ctrl+Y &Equipments &Εξοπλισμός Ctrl+E Ctrl+E &Styles &Στυλ Ctrl+T Ctrl+T &Exit &Έξοδος Ctrl+Q Ctrl+Q &Import Recipes &Εισαγωγή συνταγών &Options &Επιλογές &Manual οδηγίες &Scale Recipe &Αλλαγή μεγέθους συνταγής Recipe to Clipboard as &Text Συνταγή στην επικόλληση ως &Text &OG Correction Help &Βοήθημα διόρθωσης OG &Convert Units &Μετατροπή μονάδων μέτρησης Backup Database Αντίγραφο ασφαλείας βάσης δεδομένων Restore Database Επαναφορά Βάσης Δεδομένων &Copy Recipe &Αντιγραφή Συνταγής Pr&iming Calculator Υπολογισμός ανθρακικού &Refractometer Tools Εργαλεία Διαθλασίμετρου &Pitch Rate Calculator Υπολογισμός starter Merge Databases Συγχώνευση βάσεων δεδομένων Select another database to merge into the current one. Επιλέξτε μια άλλη βάση δεδομένων για συγχώνευση με την τρέχουσα &Print &Εκτύπωση Print Pre&view Προεκτύπωση &Export To HTML &Εξαγωγή σε HTML &Export to HTML &Εξαγωγή σε HTML &Backup &Αντίγραφο ασφαλείας Save all recipes, ingredients, etc. to a backup folder Αποθηκευση όλων των συνταγών, συστατικών, κλπ σε αρχείο ασφαλείας &Restore &Επαναφορά Restore recipes, ingredients, etc. from a previous backup επαναφορά συνταγών, συστατικών, κλπ από προηγούμενο αντίγραφο ασφαλείας &Merge &Συγχώνευση Merge another set of recipes, ingredients, etc. into the current set Συγχωνευση άλλου σετ συνταγών, συστατικών, κλπ στο παρόν σετ &New Recipe &Νέα Συνταγή Timers Χρονόμετρα Show timers Εμφάνισε χρονόμετρα Save Αποθήκευση Delete selected Διαγραφή επιλεγμένου Delete recipe Διαγραφή συνταγής Donate Δωρεά &Mashs &Mashs Mashes Mashes mashDesigner Mash Designer Σχεδιασμός σακχαροποίησης Name Ονομασία Type Είδος Target temp. Επιθυμούμενη θερμοκρασία Time Χρόνος Batch Sparge Batch Sparge Next Επόμενο Finish Λήξη Infusion/Decoction Amount Infusion/Decoction Amount min ελ. max μέγ. 0 0 Infusion Temp Θερμοκρασία έγχυσης Total Collected Wort Συνολικό γλεύκος vol vol Tun Fullness σκεύος γεμάτο tunVol όγκος σκεύους thickness πάχος mashEditor Mash Editor Επεξεργασία σακχαροποίησης Name Ονομασία Initial grain temp Αρχική θερμοκρασία σιτηρών Sparge temp Θερμοκρασία έκπλυσης Sparge temp target Επιθυμητή θερμοκρασία Sparge pH PH έκπλυσης Notes Σημειώσεις Tun σκεύος σακχαροποίησης Initial tun temp Αρχική θερμοκρασία σκεύους Get following parameters from the recipe's equipment. Συμπληρώστε τις παραμέτρους από τον εξοπλισμό From Equipment Από τον εξοπλισμό Tun mass μάζα σκεύους Tun sp. heat Tun sp. heat Tun specific heat (cal/(g*K)) Συγκεκριμένη θερμοκρασία σκεύους (cal/(g*K)) mashStepEditor Mash Step Editor επεξεργασία βήματος σακχαροποίησης Name Ονομασία Type Είδος Infusion Έγχυση Temperature Θερμοκρασία Decoction Decoction Target temp. Επιθυμητή θερμοκρασία Target temp. of this step Επιθυμητή θερμοκρασία αυτού του βήματος Infuse Amount Ποσότητα έγχυσης Amount of water to infuse Ποσότητα νερού για την έγχυση Infuse temp. Θερμοκρασία έγχυσης Temperature of infusion water θερμοκρασία του προοριζόμενου για έγχυση νερού Decoction Amount Ποσότητα decoction Amount of mash to decoct Time Χρόνος Time to conduct the step Χρόνος που απαιτήται για το βήμα αυτό Temp. lag time Temp. lag time Lag time Lag time End temp. Τελ. Θερμ. Final temp. of this step Τελική θερμ. αυτού του βήματος mashWizard Mash Wizard Mash wizard Mash thickness (L/kg) Mash thickness (L/kg) Mash thickness (do not enter any units) πυκνότητα σακχαροποίησης. ( μην εισάγετε στοιχεία) miscDialog Misc Database Βάση δεδομένων διαφόρων Add selected ingredient to recipe Προσθέστε το επιλεγμένο συστατικό στην συνταγή Add to Recipe Προσθήκη στην συνταγή Create a new ingredient Δημιουργία νέου συστατικού New Νέο Edit selected ingredient Διόρθωση επιλεγμένου συστατικού Remove selected ingredient Διαγραφή επιλεγμένου συστατικού miscEditor Misc Editor Επεξεργασία διαφόρων Name Ονομασία Type Είδος Spice Μπαχαρικά Fining Βελτιωτικά Water Agent Ρυθμιστής νερού Herb Βότανα Flavor Άρωματικές Ύλες Other 'Αλλο Use Χρήση Boil Στο Βράσιμο Mash Στο σκεύος σακχαροποίησης Primary Κατά την πρώτη ζύμωση Secondary κατά την δεύτερη ζύμωση Bottling Κατά την εμφιάλωση Time Χρόνος Amount Ποσότητα Check it if the amount listed is in kg instead of L. Τσέκαρε το εαν το ποσό που αναγράφεται είναι σε κιλά αντί για λίτρα Amount is weight? Το ποσό αναφέρεται σε βάρος Checked if the given amount is weight instead of volume Τσέκαρε το εαν το αναφερόμενο ποσό είναι βάρος αντί για όγκος Use for: Χρήση για Notes: Σημειώσεις: namedMashEditor Named Mash Editor Mash Mash Delete selected style Διέγραψε το επιλεγμένο στυλ Name Ονομασία Initial grain temp Αρχική θερμοκρασία σιτηρών Sparge temp Θερμοκρασία έκπλυσης Sparge temp target Επιθυμητή θερμοκρασία Sparge pH PH έκπλυσης Notes Σημειώσεις Tun σκεύος σακχαροποίησης Initial tun temp Αρχική θερμοκρασία σκεύους From Equipment Από τον εξοπλισμό Tun mass μάζα σκεύους Tun sp. heat Tun sp. heat Tun specific heat (cal/(g*K)) Συγκεκριμένη θερμοκρασία σκεύους (cal/(g*K)) Add mash step Νέο βήμα σακχαροποίησης Remove selected mash step Αφαιρέστε το επιλεγμένο βήμα σακχαροποίησης Mash step up Mash step up Mash step down Mash step down ogAdjuster Adjust Volume to Hit OG Ρύθμιση λογκου για να συμπέσει με την OG Input Εισαγωγή SG SG Measured gravity pre-boil Υπολογισμένη πυκνότητα προ του βρασμού Temp Θερμοκρασία Temperature of SG reading Θερμοκρασία της SG Calibration Temp Θερμοκρασία ρύθμισης Temp to which the hydrometer is calibrated θερμοκρασία που είναι ρυθμισμένο το υδρόμετρο -or- -ή- Plato Plato Plato (percent by mass of equivalent sucrose) Pre-Boil Volume Όγκος προ-βρασμού Measured pre-boil volume καταμετρημένος προ-βρασμού όγκος Output Μετατροπή OG w/o Correction OG χωρίς διόρθωση OG if you boil as planned OG εαν βράσατε κατά το σχέδιο Add to Boil προσθήκη κατά το βράσιμο Amount of water you need to add to hit planned OG (or boil off if negative) Ποσότητα νερού που απαιτείται για να επιτευχθεί η OG Final Batch Size Τελικός όγκος γλεύκους Estimated batch size after correction Προβλεπόμενος όγκος παρτίδας μετά την διόρθωση Calculate Υπολογισμός optionsDialog Options Προτιμήσεις Units Μετρικό σύστημα Weight Βάρος Use SI units Διεθνές μετρικό σύστημα Use US traditional units μετρικό σύστημα ΗΠΑ Use British imperial units Βρετανικό μετρικό σύστημα Temperature Θερμοκρασία Celsius Κελσίου Fahrenheit Φάρεναϊτ Volume Όγκος Gravity Βαρύτητα 20C/20C Specific Gravity 20C/20C ειδικό βάρος Plato/Brix/Balling Plato/Brix/Balling Color Χρώμα Use SRM Χρήση SRM Use EBC Χρήση EBC Formulas Φόρμουλες Mosher's approximation Προσέγγιση κατά Mosher Daniels' approximation Προσέγγιση κατά Daniel Morey's approximation Προσέγγιση κατά Morey IBU IBU Tinseth's approximation Προσέγγιση κατά Tinseth Rager's approximation Προσέγγιση κατά Rager IBU Adjustments Προσαρμογή IBU % IBU adjustment Προσαρμογή IBU Mash Hop First Wort Πρίν το βράσιμο Directories Κατάλογοι Database Directory Κατάλογος βάσης δεδομένων Where your brewtarget .xml files are. Που βρίσκονται τα .xml αρχεία του brewtarget Browse Πλοήγηση Default Προεπιλογή Language Γλώσσα Czech Τσεχικά Catalan Καταλανικά German Γερμανικά English Αγγλική Spanish Ισπανικά French Γαλλικά Italian Ιταλικά Dutch Ολλανδικά Polish Πολωνικά Portuguese Πορτογαλικά Russian Ρώσικα <qt> <b>Know another language?</b> <br><br> Or, would you like to improve a translation? Help us out and <a href="https://sourceforge.net/sendmessage.php?touser=938941"> provide a translation</a> so that your friends can use brewtarget! </qt> <qt> <b>Γνωρίζεις κάποια άλλη γλώσσα;</b> <br><br> Ή, θα ήθελες να βελτιώσεις μια ήδη υπάρχουσα μετάφραση; Βοήθησε μας και <a href="https://sourceforge.net/sendmessage.php?touser=938941"> κάνε μια μετάφραση</a> ώστε και οι φίλοι σου να μπορούν να χρησιμοποιήσουν το brewtarget! </qt> pitchDialog Pitch Rate Calculator Pitch Rate Calculator Input Εισαγωγή Wort Volume Όγκος γλεύκους OG OG For ales, 0.75-1. For lagers, 1.5-2. Για ales, 0.75-1. Για lagers, 1.5-2. Pitch Rate (M cells)/(mL*P) Pitch Rate (M cells)/(mL*P) Aeration Method Μέθοδος αερισμού Yeast Production Date Ημερομηνία παραγωγής της μαγιάς Yeast Viability Βιωσιμότητα μαγιάς None Καμία O2 At Start O2 στο ξεκίνημα Stir Plate Stir Plate MM/dd/yyyy ΜΜ/ηη/εεεε % % TextLabel TextLabel Calculate Viability From Date Υπολογισμός βιωσιμότητας από την ημ/νια # Vials/Smack Packs Pitched Φιαλίδια/πακέτα που χρησιμοποιήθηκαν Output Αποτέλεσμα Billions of Yeast Cells Required Δισεκατομύρια κυττάρων μαγιάς που χρειάζονται # Vials/Smack Packs w/o Starter Φιαλίδια/πακέτα χωρίς starter Dry Yeast Ξηρή μαγιά Starter Volume Όγκος starter primingDialog Priming Calculator Υπολογισμός ανθρακικού Input Εισαγωγή Collected Beer Volume Συνολικός όγκος μπύρας Amount of beer to prime Ποσότητα μπύρας στον κάδο ζύμωσης Beer Temperature Θερμοκρασία μπύρας Temp of the beer Θερμ. μπύρας Desired Volumes Επιθυμητή όγκος ανθρακικού How many volumes of CO2 you want (1 L CO2 @ STP per L beer) Πόσος όγκος CO2 θέλετε; (1 L CO2 @ STP ανά L μπύρας) Glucose Monohydrate (corn sugar) Glucose Monohydrate (Δεξτρόζη) Anhydrous Glucose Anhydrous Glucose Sucrose (table sugar) Sucrose (κοινή ζάχαρη) Dry Malt Extract Ξηρή βύνη Output Αποτέλεσμα Prime with Γόμμωση με How much priming ingredient to use Πόσο υλικό για την γόμμωση θα χρησιμοποιήσετε Calculate Υπολογισμός recipeExtrasDialog Recipe Extras Πρόσθετα συνταγής Brewer Ζυθοποιός Asst. Brewer Βοηθός Taste Rating εκτίμηση γεύσης Primary Age (days) Χρόνος ωρίμασης στον αρχικό κάδο ζήμωσης (ημέρες) Primary Temp Θερμοκρασία Secondary Age (days) Χρόνος ωρίμασης στον δεύτερο κάδο ζήμωσης (ημέρες) Secondary Temp Θερμοκρασία Tertiary Age (days) Χρόνος ωρίμανσης στον τρίτο κάδο ζήμωσης (ημέρες) Tertiary Temp Θερμοκρασία Bottle/Keg Age (days) Παλάιωση σε φιάλες/βαρέλια Bottle/Keg Temp Θερμοκρασία Date First Brewed Ημ/νια αρχικής παρασκευής dd MMM yyyy μμ ΜΜ ΕΕΕΕ Carbonation Volumes Βαθμοί Ανθράκωσης Taste Notes Γεύση - Σημειώσεις Notes Σημειώσεις Cancel Ακύρωση recipeExtrasWidget Form Μορφή Brewer Ζυθοποιός Asst. Brewer Βοηθός Taste Rating εκτίμηση γεύσης Primary Age (days) Χρόνος ωρίμασης στον αρχικό κάδο ζήμωσης (ημέρες) Primary Temp Θερμοκρασία Secondary Age (days) Χρόνος ωρίμασης στον δεύτερο κάδο ζήμωσης (ημέρες) Secondary Temp Θερμοκρασία Tertiary Age (days) Χρόνος ωρίμανσης στον τρίτο κάδο ζήμωσης (ημέρες) Tertiary Temp Θερμοκρασία Bottle/Keg Age (days) Παλάιωση σε φιάλες/βαρέλια Bottle/Keg Temp Θερμοκρασία Date First Brewed Ημ/νια αρχικής παρασκευής dd MMM yyyy μμ ΜΜ ΕΕΕΕ Carbonation Volumes Βαθμοί Ανθράκωσης Taste Notes Γεύση - Σημειώσεις Notes Σημειώσεις refractoDialog Refractometer Tools Διαθλασίμετρο Inputs Εισαγωγή Original Plato Αρχική Plato OG (20 C) OG (20 C) Current Plato Τρέχουσα Plato Calculate Υπολογισμός Outputs Αποτέλεσμα SG (20C) SG (20C) ABV ABV ABW ABW Refractive Index Refractive Index Real Extract (Plato) Real Extract (Plato) OG (20C) OG (20C) scaleRecipeTool Scale Recipe New batch size Μέγεθος νέας παρτίδας New efficiency (pct) Νέα απόδωση (pct) styleEditor Style Editor Επεξεργαστής στυλ Style Στυλ Delete selected style Διέγραψε το επιλεγμένο στυλ Basic Information Βασικές πληροφορίες Name Ονομασία Category Κατηγορία Category number Αριθμός κατηγορίας Style letter Γράμμα στυλ Style guide Οδηγός στυλ Type Είδος Type of beverage Τύπος αναψυκτικού Lager Lager Ale Ale Mead Υδρόμελο Wheat Wheat Mixed Ανάμεικτη Cider Μηλίτης Vital Statistics Κύρια χαρακτηριστικά Max Μέγιστο Min Ελάχιστο OG OG FG FG IBUs IBUs Color (SRM) Χρώμα (SRM) Carb (vols) Ανθρακικό (όγκος) ABV (pct) ABV (pct) Profile Προφίλ Ingredients Συστατικά Examples Παραδείγματα Notes Σημειώσεις New Νέο Save Αποθήκευση Cancel Ακύρωση timerListDialog Timers Χρονόμετρα timerWidget Form Μορφή Set the timer to the specified value Δώσε συγκεκριμένη τιμή στο χρονόμετρο Set Ορισμός HH:MM:SS ΩΩ:ΛΛ:ΔΔ Start/Stop timer Εκκίνηση/Τέλος χρονόμετρου Start Έναρξη Set a sound as the alarm Όρισε ένα ήχο για ξυπνητήρι Sound Ήχος waterEditor Dialog Πλαίσιο διαλόγου Name Ονομασία Notes Σημειώσεις yeastDialog Yeast Database Βάση δεδομένων μαγιάς Add selected yeast to recipe Προσθήκη της επιλεγμένης μαγιάς στην συνταγή Add to Recipe Προσθήκη στην συνταγή Create new yeast Καταχώρηση νέας μαγιάς New Νέα Edit selected yeast Επεξεργαστείτε την επιλεγμένη μαγιά Remove selected yeast Αφαιρέστε την επιλεγμένη μαγιά yeastEditor Yeast Editor Επεξεργασία στοιχείων μαγιάς Required Fields Απαιτούμενα πεδία Name Ονομασία Type Είδος Ale Ale Lager Lager Wheat Wheat Wine Κρασί Champagne Σαμπάνια Form Μορφή Liquid Υγρή Dry Ξηρή Slant Slant Culture Καλιέργεια Amount Ποσότητα Check it if the amount given is in kg instead of L. Έλεγχος εάν η ποσότητα είναι σε κιλά ή λιτρα Amount is weight? Το ποσό αναφέρεται σε βάρος Checked if the given amount is weight instead of volume Τσέκαρε το εαν το αναφερόμενο ποσό είναι βάρος αντί για όγκος Lab Εργαστήριο Product ID Κωδικός προιόντος Min Temp Ελαχ. Θερμ. Min temp Ελαχ. Θερμ. Max Temp Μεγ. Θερμ. Max temp Μεγ. Θερμ. Flocculation Flocculation Low Χαμηλή Medium Μεσαία High Υψηλή Very High Πολύ υψηλή Attenuation (%) Ελάττωση Apparent attenuation as percentage of OG points Φαινομενική ελάττωση ως πσοστό επί OG βαθμών Times Recultured Φορές που επανακαλλιεργήθηκε Times this yeast has been recultured Φορές που αυτή η μαγιά επανακαλλιεργήθηκε Max Recultures Μέγιστος αριθμός επανακαλλιεργιών Max recultures Μέγιστος αριθμός επανακαλλιεργιών Add to Secondary Προσθήκη στο δεύτερο κάδο ζύμωσης Checked means add this yeast to secondary instead of primary Best For: Κατάλληλη για : Notes: Σημειώσεις: brewtarget-2.0.2/translations/phrasebooks/0000755000175000017500000000000012266512175020265 5ustar philipphilipbrewtarget-2.0.2/translations/phrasebooks/bt_pt.qph0000644000175000017500000015360412266512175022120 0ustar philipphilip (New Entry) Bad model index. row = %1 Modelo de índice ruim. Linha = %1 Hop Editor Editor de Lúpulo Required Fields Campos requeridos Fermentable Editor Editor de fermentáveis Beta (%) Beta (%) Leaf Folha Plug Plug Pellet Pellet Form Forma Both Ambos Form Forma Show a timer Mostra um cronômetro Show timer Mostrar cronômetro Mark this step completed Marca esta etapa como completada Step completed Estapa completada Bad model index. row = %1 Modelo de índice ruim. Linha = %1 Bad model index. row = %1 Modelo de índice ruim. Linha = %1 Bad column: %1 Coluna ruim: %1 Name Nome Amount Quantidade Calcium (ppm) Cálcio (ppm) Bicarbonate (ppm) Bicarbonato (ppm) Sulfate (ppm) Sulfato (ppm) Chloride (ppm) Cloreto (ppm) Sodium (ppm) Sódio (ppm) Magnesium (ppm) Magnésio (ppm) Could not find the weight_unit_system tag in the option file. Não foi possível localizar o sistema de unidade de peso na opção.do arquivo. Could not find the volume_unit_system tag in the option file. Não foi possível localizar o sistema de unidade de volume na opção do arquivo. Could not find the volume_unit_system tag in the option file. Não foi possível localizar o sistema de unidade de volume na opção do arquivo. Could not find the temperature_scale tag in the option file. Não foi possível localizar a escale de temperatura na opção do arquivo. Could not find the ibu_formula tag in the option file. Não foi possível localizar o IBU na opção do arquivo. Bad ibu_formula type: %1 Tipo de Fórmula de IBU ruim: %1 Could not find the color_formula tag in the option file. Não foi possível localizar a cor na opção do arquivo. Bad color_formula type: %1 Tipo de fórmula de cor ruim: %1 Could not find the use_plato tag in the option file. Não foi possível localizar o uso de plato na opção do arquivo. Bad use_plato type: %1 Tipo de uso de plato ruim: %1 Could not open %1 for writing Não foi possível abrir %1 para gravação Invalid color formula type: %1 Tipo de fórmula de cor inválida:%1 Could not open %1 for reading. Não foi possível abrir %1 para leitura. Bad document formatting in %1 %2:%3. %4 Formato de documento ruim em %1 %2:%3. %4 Could not open %1 for writing. Não foi possível abrir %1 para gravação. Node at line %1 is not an element. Nó na linha %1 não é um elemento. Node at line %1 is not an element. Nó na linha %1 não é um elemento. EQUIPMENT says it is not version %1. Line %2 EQUIPMENTO diz que esta não é a versão %1. Linha %2 Unsupported EQUIPMENT property: %1. Line %2 Não suportada as propriedades do EQUIPMENTO: %1. Linha %2 FERMENTABLE says it is not version %1. Line %2 FERMENTÁVEL diz não é a versão %1. Linha %2 %1 is not a valid type for FERMENTABLE. Line %2 %1 não é um tipo válido para FERMENTÁVEL. Linha %2 Unsupported FERMENTABLE property: %1. Line %2 Propriedade do FERMENTÁVEL não suportada: %1. Line %2 HOP says it is not version %1. Line %2 LÚPULO diz não é a vesão %1. Linha %2 HOP says it is not version %1. Line %2 LÚPULO diz não é a vesão %1. Linha %2 %1 is not a valid use for HOP. Line %2 %1 não é um uso válido para o LÚPULO. Linha %2 %1 is not a valid type for HOP. Line %2 %1 não é um tipo válido para o LÚPULO. Linha %2 %1 is not a valid form for HOP. Line %2 %1 não é uma forma válida para o LÚPULO. Linha %2 Unsupported HOP property: %1. Line %2 Propriedade de LÚPULO não suportada: %1. Linha %2 Unrecognized IBU formula type. %1 Tipo de fórmula de IBU não reconhecida. %1 Unsupported INSTRUCTION property: %1. Line %2 Propriedades de INSTRUÇÃO não reconhecida: %1. Linha %2 YEAST says it is not version %1. Line %2 FERMENTO não é a versão %1. Linha %2 Unsupported MASH property: %1. Line %2 Propriedades de BRASSAGEM não suportada: %1. Line %2 %1 is not a valid type for MASHSTEP. Line %2 %1 Não é um tipo válido de ETAPA DE BRASSAGEM. Linha %2 Unsupported MASHSTEP property: %1. Line %2 Propriedade de ETAPA DE BRASSAGEM não suportada: %1. Linha %2 MISC says it is not version %1. Line %2 DIVERSOS diz não é a versão %1. Linha %2 %1 is not a valid type for MISC. Line %2 %1 não é um tipo válido para DIVERSOS. Linha %2 %1 is not a valid use for MISC. Line %2 %1 não é um uso válido para DIVERSOS. Linha %2 Unsupported MISC property: %1. Line %2 propriedade de DIVERSOS não uportada: %1. Linha %2 RECIPE says it is not version %1. Line %2 RECEITA diz não é a versão %1. Linha %2 Error at line %1. Erro na linha %1. %1 is not a valid type for RECIPE. Line %2 %1 não é um tipo valido para RECEITA. Linha %2 Unsupported RECIPE property: %1. Line %2 propriedade de RECEITA não suportada: %1. Linha %2 Add grains Adicionar grãos Add Adicionar to the mash tun. Para o recipiente de brassagem. Heat water Aquecer a água Bring Trazer %1 water to %2, %1 água para %2, for upcoming infusions. programado para infusões. Add %1 water at %2 to mash to bring it to %3. Adicionar %1 água em %2 para a brassagem para trazê-lo para %3. Add %1 water at %2 to mash to bring it to %3. Adicionar %1 água em %2 para a brassagem para trazê-lo para %3. Heat mash to %1. Aquecer a brassagem para %1. Bring %1 of the mash to a boil and return to the mash tun to bring it to %2. Trazer %1 do mosto para ferver e retornar para o recipiente de brassagem para trazê-lo para %2. Hold for %1. Manter por %1. Put %1 %2 into mash for %3. Colocar %1 %2 na brassagem por %3. Bring %1 of the mash to a boil and return to the mash tun to bring it to %2. Trazer %1 do mosto para ferver e retornar para o recipiente de brassagem para trazê-lo para %2. Hold for %1. Manter por %1. Mash hop addition Adição de lúpulo na brassagem Mash misc addition Adição de diversos na brassagem Do first wort hopping with Faça primeiro a lupulagem com First wort hopping Primeira lupulagem You should now have %1 wort. Você deve ter agora %1 de lupulagem. Add %1 water to the kettle, bringing pre-boil volume to %2. Adicione %1 de água para a caldeira, elevando o volume de pré-cozimento para %2. Pre-boil Pré-cozimento Boil time Tempo de cozimento You did not configure an equipment (which you really should), so tell me the boil time. Você não configurou um equipamento (o que você realmente deveria!), então me diga o tempo de cozimento. Bring the wort to a boil and hold for %1. Leve o mosto a cozir e segure por %1. Start boil Iniciar cozimento Start boil Iniciar cozimento to the boil. para o cozimento. Boil fermentables Cozir fermentáveis Put %1 %2 into boil for %3. Coloque %1 %2 para cozir por%3. Boil hop addition Adição de lúpulo para cozimento to the boil at knockout. a fever para nocaute. Knockout additions Adições nocaute You should have %1 wort post-boil. Você deve ter %1 do mosto pós fervura. You anticipate losing %1 to trub and chiller loss. Você antecipa perder %1 para o trub e chiller. Add %1 top up water into primary. Adicionar %1 de água acima no primário. The final volume in the primary is %1. O volume final no primário é %1. The final volume in the primary is %1. O volume final no primário é %1. Post boil Pós fervura Cool wort and pitch Esfriar o mosto e despejar o fermento %1 %2 yeast, %1 %2 fermento, to the primary. para o primário. Pitch yeast Despejar o fermento to primary. ao primário. Additions to primary Adições ao primário Let ferment until FG is %1. Deixer fermentar até a FG ser%1. Ferment Fermento Transfer beer to secondary. Transferir a cervaja para o secundário. Transfer to secondary Transferir para o secundário Add %1 %2 to secondary for %3. Adicionar %1 %2 para o secundário para %3. Secondary addition Adição secundário Dry hop %1 %2 for %3. Dry hop %1 %2 para %3. Dry hop Dry hop Add %1 %2 to boil at %3. Adicionar %1 %2 para fervura em %3. Batch Size: %1 Tamanho do lote: %1 Boil Size: %1 Tamanho do cozimento: %1 Boil Size: %1 Tamanho do cozimento: %1 Boil Time: %1 Tempo de cozimento: %1 Efficiency: %1% Eficiência: %1 OG: %1 OG: %1 FG: %1 FG: %1 ABV: %1% ABV: %1% Bitterness: %1 IBUs (%2) Amargor: %1 IBUs (%2) Color: %1 SRM (%2) Cor: %1 SRM (%2) Fermentables Fermentáveis Name Nome Type Tipo Amount Quantidade Mashed Triturado Late Depois Yield Rendimento Yield Rendimento Color Cor Yes Sim No Não Total grain: %1 Grãos totais: %1 Hops Lúpulos Alpha Alfa Use Uso Time Tempo Form Forma IBU IBU Misc Diversos Yeast Fermento Stage Estágio Secondary Secundário Primary Primário Mash Brassagem Target Meta Notes Notas Instructions Instruções Node at line is not an element. Line %1 Nó na linha, não é um elemento. Linha%1 Unsupported STYLE property: %1. Line %2 Propriedade de ESTILO não suportada: %1. Linha %2 WATER says it is not version %1. Line %2 ÁGUA diz não é a versão %1.Linha %2 Unsupported WATER property: %1. Line %2 Propriedade de ÁGUA não suportada: %1. Linha%2 %1 is not a valid type for yeast. Line %2 %1 nao é um tipo válido para fermento. Linha %2 %1 is not a valid form for yeast. Line %2 %1 nao é uma forma válida para fermento. Linha %2 %1 is not a valid flocculation for yeast. Line %2 %1 nao é uma floculação válida para fermento. Linha %2 %1 is not a valid flocculation for yeast. Line %2 %1 nao é uma floculação válida para fermento. Linha %2 Unsupported YEAST property: %1. Line %2 Propriedade FERMENTO não suportada: %1. Linha %2 Recipes Receitas Bad model index. row = %1 Índice de modelo Ruim. linha = %1 Late Atraso Bad model index. row = %1 Índice do modelo Ruim. linha=%1 Brew day mode Modo Brassagen do dia Bad document formatting in %1 %2:%3. %4 Formatação de documento ruim em %1 %2:%3. %4 Bad model index. row = %1 Índice do modelo ruim. linha = %1 Recipes Receitas Recipe list Lista de receitas Your Recipe Sua receita Equipment to brew this with Equipamento para produzir esta com Target Batch Size Meta do tamanho do lote Equipment to brew this with Equipamento para produzir esta com Equipment Equipamento Target batch size Meta do tamanho do lote Calculated Batch Size Tamanho do lote calculado 5 gal 5 gal 5 gal 5 gal Target Boil Size Tamanho da meta de cozimento Calculated Boil Size Tamanho do cozimento calcaulado Target Boil Size Dimensão da meta de cozimento Calculated Boil Size Dimensão de cozimento calculada Efficiency (%) Eficiência (%) The extraction efficiency you expect A eficiência de extração que você espera Fermentables Fermentáveis IBU/GU IBU/GU Boil SG Fervura SG Color (SRM) Cor (SRM) Bitterness (IBU) Amargor (IBU) ABV ABV FG FG OG OG The extraction efficiency you expect A eficiência de extração que você espera Efficiency (%) Eficiência (%) Calculated Boil Size Dimensão de cozimento calculada Edit selected fermentable Editar fermentável selecionado Remove selected fermentable Remover fermentável selecionado Add a fermentable Adicionar um fermentável Hops Lúpulos Add hop Adicionar lúpulo Step %1: %2 Etapa %1: %2 Too low for style. Muito baixo para o estilo. In range for style. No intervalo para o estilo. Too low for style. Muito baixo para o estilo. Too high for style. Muito alto para o estilo. Tun Volume Warning Aviso Volume do Recipiente Tun Volume Warning Aviso Volume do Recipiente The tun volume you entered is 0. This may cause problems. O volume do recipiente que você inseriu é 0. Isso pode causar problemas. Batch Size Warning Atenção tamanho de lote The batch size you entered is 0. This may cause problems. O tamanho do lote que você inseriu é 0. Isso pode causar problemas. Equipment name Nome do equipamento Equipment name: Nome do equipamento: Fermentable name Nome do Fermentável Fermentable name Nome do Fermentável Fermentable name: Nome do Fermentável: Bad model index. row = %1 Índice de modelo Ruim. linha = %1 Bad model index. row = %1 Índice de modelo Ruim. linha = %1 Hop name Nome do Lúpulo Hop name Nome do Lúpulo Hop name: Nome do Lúpulo: Bad model index. row = %1 Índice de modelo Ruim. linha = %1 Mashed Triturado Not mashed Não triturado Late Atraso Normal Normal Bad column: %1 Coluna Ruim: %1 Name Nome Type Tipo Amount Quantidade Late Addition Adição com atraso Yield % Rendimento % Color (SRM) Cor (SRM) Bad model index. row = %1 Índice do modelo Ruim. linha=%1 Bad model index. row = %1 Índice do modelo Ruim. linha=%1 Bad column: %1 Coluna Ruim: %1 Name Nome Alpha % Alfa % Amount Quantidade Use Uso Time Tempo Brew day mode Modo Brassagen do dia Brew day mode Modo Brassagen do dia Open Abrir BeerXML files (*.xml) Arquivos BeerXML (*.xml) Save Salvar Brewday mode Modo Brassagem do dia Extras Extras New recipe Nova receita Clear recipe Limpar receita Remove recipe Remover receita Save database Salvar banco de dados View equipments Exibir equipamentos View fermentables Exibir fermentáveis View hops Exibir lúpulos View miscs Exibir Diversos View styles Exibir estilos View yeasts Exibir fermentos Timers Cronómetros Sure about that? Você tem certeza disso? You are about to obliterate the recipe. Is that ok? Você está prestes a destruir a receita. Isto está correto? Equipment request Pedido de equipamento Would you like to set the batch and boil size to that requested by the equipment? Você gostaria de definir o tamanho do lote e fervura pelo que foi solicitado por equipamento? Could not open %1 for writing. Não foi possível abrir %1 para gravação. Recipe name Nome da receita Recipe name: Nome da receita: Backup Database Backup do banco de dados Oops! Oops! Could not copy the files for some reason. Não foi possível copiar o arquivo por alguma razão. A Warning Um Aviso This will obliterate your current set of recipes and ingredients. Do you want to continue? Isto irá destruir o suas receitas e ingredientes. Você quer continuar? Restore Database Restaurar banco de dados For some reason, the operation failed. Por alguma razão, a opração falhou. Could not open %1 for reading. Não foi possível abrir %1 para leitura. Bad document formatting in %1 %2:%3. %4 Formatação de documento ruim em %1 %2:%3. %4 Found %1 recipes. Encontradas %1 receitas. Import recipe? Importar receita? Import %1? Importar %1? No mash Sem brassagem Trying to add a mash step without a mash. Please create a mash first. Tente adicionar uma etapa de brassagem sem uma mistura. Pro favor crie uma brassagem antes. New instructions? Novas instruções? Generate new instructions? Gerar novas instruções? Save database? Salvar banco de dados? Do you want to save the changes made? If not, you will lose anything you changed in this session. Você quer salvar as alterações feitas?Caso não, você perderá qualquer mudança realizada nesta sessão. Copy Recipe Copiar receita Enter a unique name for the copy. Entre um nome exclusivo para a cópia. Please give your mash a name before saving. Por favor, dê um nome a sua brassagem antes de salvar. Please give your mash a name before saving. Por favor, dê um nome a sua brassagem antes de salvar. <b>Cloying</b> <b>Enjoativo</b> <b>Cloying</b> <b>Enjoativo</b> <b>Extra malty</b> <b>Malte Extra</b> <b>Slightly malty</b> <b>Levemente Maltado</b> <b>Balanced</b> <b>Balanceado</b> <b>Slightly hoppy</b> <b>Levemente Lupulado</b> <b>Extra hoppy</b> <b>Lúpulo Extra</b> No Equipment Sem Equipamento No Equipment Sem Equipamento No Equipment Sem Equipamento You have not set an equipment for this recipe. We really cannot continue without one. Você não definiu um equipamento para esta receita. Nós realmente não podemos continuar sem um. Tun Temp Temperatura do Recipiente Enter the temperature of the tun before your first infusion. Digite a temperatura do recipiente antes de sua primeira infusão. Decoction error Erro de Decocção The first mash step cannot be a decoction. A primeira etapa não pode ser uma decocção. Bad model index. row = %1 Índice do modelo ruim. linha = %1 Bad model index. row = %1 Índice do modelo ruim. linha = %1 Bad column: %1 Coluna ruim: %1 Time Temp Temperatura Amount Quantidade Type Tipo Name Nome Mash thickness (%1/%2) Densidade da brassagem (%1/%2) Mash thickness (%1/%2) Densidade da brassagem (%1/%2) Bad thickness Densidade ruim You must have a positive mash thickness. Você deve ter uma densidade de brassagem positiva. No steps Sem etapas You must have at least one mash step to run the wizard. Você deve ter pelo menos uma etapa de brassagem para executar o assistente. First step Primeira etapa Your first mash step must be an infusion. Sua primeira etapa de brassagem deve ser uma infusão. Mash too thick Brassagem muito densa Your mash is too thick for desired temp. at first step. Sua brassagem é demasiada densa para a temperatura da 1ª etapa. Decoction Decocção Haven't tested decoction calculations yet. Use at own risk. Cálculos de decocção ainda não testados. Use por sua conta e risco. Decoction error Erro de decocção Something went wrong in decoction calculation. Algo deu errado no cálculo de decocção. Sparge temp. Temperatura de lavagem. In order to hit your sparge temp, the sparge water must be above boiling. Lower your sparge temp, or allow for more sparge water. A fim de acertar a temperatura de lavagem, a água de lavagem deve estar acima do cozimento. Baixe à temperatura de lavagem, ou adicione mais água. Too much wort Muito grão You have too much wort from the mash for your boil size. I suggest increasing the boil size by increasing the boil time, or reducing your mash thickness. Você tem muitos grãos na brassagem para seu recipente de cozimento. Sugiro aumentar o tamanho do recipiente e o tempo de cozimento, ou reduzir a quantidade de grãos de seu mosto. Misc name Nome de Diversos Misc name Nome de Diversos Misc name: Nome de Diversos: Could not find the weight_unit_system tag in the option file. Não foi possível localizar o sistema de unidade de peso na opção.do arquivo. Could not find the weight_unit_system tag in the option file. Não foi possível localizar o sistema de unidade de peso na opção.do arquivo. Could not find the volume_unit_system tag in the option file. Não foi possível localizar o sistema de unidade de volume na opção do arquivo. Could not find the temperature_scale tag in the option file. Não foi possível localizar a escale de temperatura na opção do arquivo. Could not find the ibu_formula tag in the option file. Não foi possível localizar o IBU na opção do arquivo. Bad ibu_formula type: %1 Tipo de Fórmula de IBU ruim: %1 Could not find the color_formula tag in the option file. Não foi possível localizar a cor na opção do arquivo. Bad color_formula type: %1 Tipo de fórmula de cor ruim: %1 Could not find the use_plato tag in the option file. Não foi possível localizar o uso de plato na opção do arquivo. Bad use_plato type: %1 Tipo de uso de plato ruim: %1 Could not open %1 for writing Não foi possível abrir %1 para gravação Invalid color formula type: %1 Tipo de fórmula de cor inválida:%1 Could not open %1 for reading. Não foi possível abrir %1 para leitura. Bad document formatting in %1 %2:%3. %4 Formato de documento ruim em %1 %2:%3. %4 Could not open %1 for writing. Não foi possível abrir %1 para gravação. Node at line %1 is not an element. Nó na linha %1 não é um elemento. EQUIPMENT says it is not version %1. Line %2 EQUIPMENTO diz que esta não é a versão %1. Linha %2 Unsupported EQUIPMENT property: %1. Line %2 Não suportada as propriedades do EQUIPMENTO: %1. Linha %2 FERMENTABLE says it is not version %1. Line %2 FERMENTÁVEL diz não é a versão %1. Linha %2 %1 is not a valid type for FERMENTABLE. Line %2 %1 não é um tipo válido para FERMENTÁVEL. Linha %2 Unsupported FERMENTABLE property: %1. Line %2 Propriedade do FERMENTÁVEL não suportada: %1. Line %2 HOP says it is not version %1. Line %2 LÚPULO diz não é a vesão %1. Linha %2 %1 is not a valid use for HOP. Line %2 %1 não é um uso válido para o LÚPULO. Linha %2 %1 is not a valid type for HOP. Line %2 %1 não é um tipo válido para o LÚPULO. Linha %2 %1 is not a valid form for HOP. Line %2 %1 não é uma forma válida para o LÚPULO. Linha %2 Unsupported HOP property: %1. Line %2 Propriedade de LÚPULO não suportada: %1. Linha %2 Unrecognized IBU formula type. %1 Tipo de fórmula de IBU não reconhecida. %1 Unsupported INSTRUCTION property: %1. Line %2 Propriedades de INSTRUÇÃO não reconhecida: %1. Linha %2 YEAST says it is not version %1. Line %2 FERMENTO não é a versão %1. Linha %2 Unsupported MASH property: %1. Line %2 Propriedades de BRASSAGEM não suportada: %1. Line %2 %1 is not a valid type for MASHSTEP. Line %2 %1 Não é um tipo válido de ETAPA DE BRASSAGEM. Linha %2 Unsupported MASHSTEP property: %1. Line %2 Propriedade de ETAPA DE BRASSAGEM não suportada: %1. Linha %2 MISC says it is not version %1. Line %2 DIVERSOS diz não é a versão %1. Linha %2 %1 is not a valid type for MISC. Line %2 %1 não é um tipo válido para DIVERSOS. Linha %2 %1 is not a valid use for MISC. Line %2 %1 não é um uso válido para DIVERSOS. Linha %2 Unsupported MISC property: %1. Line %2 propriedade de DIVERSOS não uportada: %1. Linha %2 RECIPE says it is not version %1. Line %2 RECEITA diz não é a versão %1. Linha %2 Error at line %1. Erro na linha %1. Error at line %1. Erro na linha %1. %1 is not a valid type for RECIPE. Line %2 %1 não é um tipo valido para RECEITA. Linha %2 Unsupported RECIPE property: %1. Line %2 propriedade de RECEITA não suportada: %1. Linha %2 Add grains Adicionar grãos Add Adicionar to the mash tun. Para o recipiente de brassagem. Heat water Aquecer a água Bring Trazer %1 water to %2, %1 água para %2, for upcoming infusions. programado para infusões. Add %1 water at %2 to mash to bring it to %3. Adicionar %1 água em %2 para a brassagem para trazê-lo para %3. Heat mash to %1. Aquecer a brassagem para %1. Bring %1 of the mash to a boil and return to the mash tun to bring it to %2. Trazer %1 do mosto para ferver e retornar para o recipiente de brassagem para trazê-lo para %2. Hold for %1. Manter por %1. Put %1 %2 into mash for %3. Colocar %1 %2 na brassagem por %3. Mash hop addition Adição de lúpulo na brassagem Mash misc addition Adição de diversos na brassagem Do first wort hopping with Faça primeiro a lupulagem com First wort hopping Primeira lupulagem You should now have %1 wort. Você deve ter agora %1 de lupulagem. Add %1 water to the kettle, bringing pre-boil volume to %2. Adicione %1 de água para a caldeira, elevando o volume de pré-cozimento para %2. Pre-boil Pré-cozimento Boil time Tempo de cozimento You did not configure an equipment (which you really should), so tell me the boil time. Você não configurou um equipamento (o que você realmente deveria!), então me diga o tempo de cozimento. Bring the wort to a boil and hold for %1. Leve o mosto a cozir e segure por %1. Start boil Iniciar cozimento to the boil. para o cozimento. Boil fermentables Cozir fermentáveis Put %1 %2 into boil for %3. Coloque %1 %2 para cozir por%3. Boil hop addition Adição de lúpulo para cozimento to the boil at knockout. a fever para nocaute. Knockout additions Adições nocaute You should have %1 wort post-boil. Você deve ter %1 do mosto pós fervura. You anticipate losing %1 to trub and chiller loss. Você antecipa perder %1 para o trub e chiller. You should have %1 wort post-boil. Você deve ter %1 do mosto pós fervura. You anticipate losing %1 to trub and chiller loss. Você antecipa perder %1 para o trub e chiller. Add %1 top up water into primary. Adicionar %1 de água acima no primário. The final volume in the primary is %1. O volume final no primário é %1. Post boil Pós fervura Cool wort and pitch Esfriar o mosto e despejar o fermento %1 %2 yeast, %1 %2 fermento, %1 %2 yeast, %1 %2 fermento, to the primary. para o primário. to the primary. para o primário. Pitch yeast Despejar o fermento Pitch yeast Despejar o fermento to primary. ao primário. Additions to primary Adições ao primário Let ferment until FG is %1. Deixer fermentar até a FG ser%1. Ferment Fermento Transfer beer to secondary. Transferir a cervaja para o secundário. Transfer to secondary Transferir para o secundário Add %1 %2 to secondary for %3. Adicionar %1 %2 para o secundário para %3. Secondary addition Adição secundário Dry hop %1 %2 for %3. Dry hop %1 %2 para %3. Dry hop Dry hop Add %1 %2 to boil at %3. Adicionar %1 %2 para fervura em %3. Batch Size: %1 Tamanho do lote: %1 Boil Size: %1 Tamanho do cozimento: %1 Boil Time: %1 Tempo de cozimento: %1 Efficiency: %1% Eficiência: %1 OG: %1 OG: %1 FG: %1 FG: %1 ABV: %1% ABV: %1% Bitterness: %1 IBUs (%2) Amargor: %1 IBUs (%2) Color: %1 SRM (%2) Cor: %1 SRM (%2) Fermentables Fermentáveis Name Nome Type Tipo Amount Quantidade Mashed Triturado Late Depois Yield Rendimento Color Cor Yes Sim No Não Total grain: %1 Grãos totais: %1 Hops Lúpulos Alpha Alfa Use Uso Time Tempo Form Forma IBU IBU Misc Diversos Yeast Fermento Stage Estágio Secondary Secundário Primary Primário Mash Brassagem Target Meta Notes Notas Instructions Instruções Node at line is not an element. Line %1 Nó na linha, não é um elemento. Linha%1 Unsupported STYLE property: %1. Line %2 Propriedade de ESTILO não suportada: %1. Linha %2 WATER says it is not version %1. Line %2 ÁGUA diz não é a versão %1.Linha %2 Unsupported WATER property: %1. Line %2 Propriedade de ÁGUA não suportada: %1. Linha%2 %1 is not a valid type for yeast. Line %2 %1 nao é um tipo válido para fermento. Linha %2 %1 is not a valid form for yeast. Line %2 %1 nao é uma forma válida para fermento. Linha %2 %1 is not a valid flocculation for yeast. Line %2 %1 nao é uma floculação válida para fermento. Linha %2 Unsupported YEAST property: %1. Line %2 Propriedade FERMENTO não suportada: %1. Linha %2 brewtarget-2.0.2/translations/bt_pt.ts0000644000175000017500000053454512266512176017446 0ustar philipphilip BrewDayScrollWidget Style Estilo Date Data Boil Time Tempo de Fervura Efficiency Eficiência Boil Volume Volume de Fervura Preboil Gravity Densidade de Pré-fervura Final Volume Volume Final Starting Gravity Densidade Inicial IBU IBU Final Gravity Densidade Final ABV ABV Estimated calories(per 12 oz) Calorias Estimadas (por 12oz - 340,19g) Instructions Instruções Completed Concluído Time Tempo Step Etapa Actual PreBoil Volume Volume Real de Pré-fervura Actual PreBoil Gravity Densidade Real de Pré-fervura PostBoil Volume Volume Pós-fervura PostBoil Gravity Densidade Pós-fervura Volume into fermenter Volume no Fermentador Print Document Imprimir Documento <h2>Notes</h2> <h2>Notas</h2> Step %1: %2 Etapa %1: %2 Add grains Adicionar Grãos Heat water Aquecer Água BrewDayWidget Style Estilo Date Data Boil Volume Volume de Fervura Preboil Gravity Densidade de Pré-fervura Final Volume Volume Final Starting Gravity Densidade Inicial Boil Time Tempo de Fervura IBU IBU Predicted Efficiency Eficiência Calculada Estimated calories (per 12 oz) Calorias Estimadas (por 12oz - 340,19g) Instructions Instruções Completed Concluído Time Tempo Step Etapa Actual Pre-boil Volume: Volume Real de Pré-fervura: Actual Pre-boil Gravity: Densidade Real de Pré-fervura: Post-boil Volume: Volume Pós-fervura: Post-boil Gravity: Densidade Pós-fervura: Volume in fermenter: Volume no Fermentador: Print Document Imprimir Documento Notes Notas Step %1: %2 Etapa %1: %2 BrewTargetTreeModel Name Nome Brew Date Data da Brassagem Style Estilo Boil Time Tempo de Fervura Color Cor Type Tipo Use Uso Form Forma Category Category Number Número Letter Carta Guide Guia BrewTargetTreeView New Recipe Nova Receita Brew It! Fazer Cerveja! Brew Again Fazer Receita de Cerveja Novamente Delete Excluir New Equipment Novo Equipamento New Fermentable Novo Fermentável New Hop Novo Lúpulo New Misc Novo Adjunto New Yeast Nova Levedura Copy Copiar Export Exportar Import Importar Change date Mudar Data New Style Novo Estilo Recalculate eff Recalcular eff Brewtarget Default Padrão EBC EBC SRM SRM Plato Plato Specific Gravity Densidade Específica SI SI US Customary EUA Usual Milligrams Miligramas Grams Gramas Kilograms Kilogramas Ounces Onças Pounds Libras Celsius Celsius Fahrenheit Fahrenheit British Imperial Imperial Britânico MilliLiters Mililitros Liters Litros Teaspoons Colher de Chá Tablespoons Colher de Sopa Cups Xícara(s) Quarts Quartos Gallons Galão(ões) BtDigitWidget Too low for style. Muito baixo para o estilo. In range for style. Dentro da Variação do Estilo. Too high for style. Muito Alto para o Estilo. Database Merge Database Mesclar o Banco de Dados There may be new ingredients and recipes available. Would you like to add these to your database? Existem novos ingredientes e receitas disponíveis. Deseja adicioná-las ao seu Banco de Dados? EquipmentEditor Grain absorption (%1/%2) Absorção de Grãos (%1 / %2) Tun Volume Warning Atenção ao volume da Tina Batch Size Warning Atenção ao Volume da Leva Equipment name Nome do Equipamento Equipment name: Nome do Equipamento The tun volume you entered is 0. This may cause problems O volume da tina que você inseriu é 0. Isto pode causar problemas The batch size you entered is 0. This may cause problems O tamanho da leva que você inseriu é 0. Isto pode causar problemas Hop Utilization Warning Atenção à taxa de utilização de Lúpulo The hop utilization percentage you entered is 0. This may cause problems A porcentagem de utilização de lúpulo que você inseriu é 0. Isto pode causar problemas FermentableDialog Fermentable name Nome do Fermentável Fermentable name: Nome do Fermentável FermentableItemDelegate Grain Grão Sugar Açúcar Extract Extrato Dry Extract Extrato Seco Adjunct Adjunto FermentableTableModel Bad model index. row = %1 Índice de modelo inválido. Linha = %1 Mashed Triturado Steeped Mergulhado Not mashed Não triturado Late Ultimamente Normal Normal Bad column: %1 Coluna Inválida: %1 Name Nome Type Tipo Amount Quantidade Late Addition Adição tardia Yield % Rendimento % Color (SRM) Cor (SRM) Color (EBC) Cor (EBC) Hop Mash Mosto First Wort Primeiro mosto Boil Ferver Aroma Aroma Dry Hop Lúpulo Seco Bittering Amargor Both Ambos Leaf Folha Pellet Pastilha Plug Plugue HopDialog Hop name Nome do Lúpulo Hop name: Nome do Lúpulo: HopItemDelegate Boil Fervura Dry Hop Lúpulo Seco Mash Mosto First Wort Primeiro mosto Aroma Aroma Leaf Folha Pellet Pastilha Plug Plugue HopTableModel Name Nome Alpha % Alfa % Amount Quantidade Use Usar Time Tempo Form Formulário MainWindow Open Abrir BeerXML files (*.xml) Arquivos BeerXML (*.xml) Save Salvar Equipment request Solicitação de Equipamento Would you like to set the batch size, boil size and time to that requested by the equipment? Gostaria de ajustar o tamanho da fornada, tamanho e tempo de fervura requeridos pelo equipamento? Delete %1 Excluir %1 Delete %1 %2? Excluir %1 %2? HTML files (*.html) Arquivos HTML (*.html) New Novo Recipe Receita Equipment Equipamento Fermentable Fermentável Hop Lúpulo Miscellaneous Adjuntos Yeast Levedura Copy %1 Copiar %1 Enter a unique name for the copy of %1. Insira um nome único para a cópia de %1. Copy Equipment Copiar Equipamento Copy Fermentable Copiar Fermentável Copy Hop Copiar Lúpulo Copy Miscellaneous Copiar Adjunto Copy Yeast Copiar Levedura Database Update Atualizar Banco de Dados You are about to update the current database with another one. This may make changes to (but will not delete) some of your ingredients. It will not modify any of your recipes. Continue? O banco de dados atual será atualizado. Essa ação acarretará em mudanças (não apagar) alguns de seus ingredientes, mas não modificará nenhuma das receitas. Deseja continuar? Select Database File Selecionar o arquivo de Banco de Dados Brewtarget Database (*.sqlite) Banco de Dados do Brewtarget (*.sqlite) Recipe name Nome da Receita Recipe name: Nome de Receita: Backup Database Cópia de Segurança do Banco de Dados Oops! Oops! Could not copy the files for some reason. Não possível copiar os arquivos por algum motivo. A Warning Um aviso This will obliterate your current set of recipes and ingredients. Do you want to continue? Essa operação irá eliminar o atual conjunto de receitas e ingredientes. Deseja continuar? For some reason, the operation failed. Por alguma razão, a operação falhou. Import %1? Importar %1? No mash Sem mosto Trying to add a mash step without a mash. Please create a mash first. Antes de adicionar um passo de mosto, deve-se criar uma mosto. Copy Recipe Copiar Receita Enter a unique name for the copy. Entre com um nome único para a cópia. Please give your mash a name before saving. Favor nomear o mosto antes de salvar. Restart Reiniciar Please restart Brewtarget. Por favor, reinicie o Brewtarget. No equipment Sem Equipamento You must select or define an equipment profile first. Primeiramente selecione ou defina um equipamento. No style Sem estilo You must select a style first. Primeiramente, um estilo deve ser selecionado. Choose File Escolher arquivo SQLite (*.sqlite) SQLite Style Estilo Copy Style Copiar Estilo The database has been converted/upgraded. O banco de dados foi convertido/atualizado. The original XML files can be found in Os arquivos XML originais podem ser encontradas em The import contained invalid beerXML. It has been imported, but please make certain it makes sense. MaltinessWidget <b>Cloying</b> <b> Enjoativo </> <b>Extra malty</b> <b> Maltado Extra </b> <b>Slightly malty</b> <b> Ligeiramente Maltado </b> <b>Balanced</b> <b> Balanceado </b> <b>Slightly hoppy</b> <b>Ligeiramente Lupulado</b> <b>Extra hoppy</b> <b>Extra Lúpulado</b> <b>Way hoppy</b> <b>Pra lá de lupulado</b> MashDesigner No Fermentables Sem fermentáveis Your recipe must have fermentables to design a mash. São necessários Fermentáveis no planejamento de um mosto. No Equipment Sem Equipamento You have not set an equipment for this recipe. We really cannot continue without one. Não é possível continuar sem que seja selecionado um equipamento para a essa receita. Tun Temp Temperatura do Tonel Enter the temperature of the tun before your first infusion. Entre com a temperatura do tonel antes da primeira infusão. Decoction error Erro no Cozimento The first mash step cannot be a decoction. O primeiro passo do mosto não pode ser o cozimento. MashStepTableModel Bad model index. row = %1 Índice de modelo inválido. Linha = %1 Bad column: %1 Erro em Coluna: %1 Name Nome Type Tipo Amount Quantidade Infusion Temp Temperatura de Infusão Target Temp Temperatura Alvo Time Tempo MashWizard Mash thickness (%1/%2) Espessura do Mosto (%1/%2) Bad thickness Espessura ruim You must have a positive mash thickness. A densidade do mosto deve ser positiva. No steps Sem passos There must be at least one mash step to run the wizard. Deve haver pelo menos uma etapa de mosto para executar o assistente. First step Primeiro passo Your first mash step must be an infusion. O primeiro passo do mosto deve ser uma infusão. Mash too thick Mosto muito denso Your mash is too thick for desired temp. at first step. Mosto pouco denso para a temperatura desejada no primeiro passo. Decoction error Erro no Cozimento. Something went wrong in decoction calculation. Houve erro no cálculo do cozimento. Sparge temp. Temperatura de Epata. In order to hit your sparge temp, the sparge water must be above boiling. Lower your sparge temp, or allow for more sparge water. A fim de atingir sua temperatura de aspersão, a água extra deve estar acima da temperatura de mostura. Abaixe a temperatura de aspersão, ou aumente a quantidade de água de aspersão. Too much wort Muito mosto You have too much wort from the mash for your boil size. I suggest increasing the boil size by increasing the boil time, or reducing your mash thickness. Você tem muito mosto para o tamanho a fervura. Eu sugiro que melhore a mostura aumentando o tempo de cozimento ou reduzindo o volume mosto. MiscDialog Misc name Nome do Adjunto Misc name: Nome do Adjunto MiscItemDelegate Spice Tempero Fining Refinação Water Agent Corretor de água Herb Erva Flavor Aroma Other Outro Boil Ferver Mash Mosto Primary Primário Secondary Secundário Bottling Engarrafamento MiscTableModel Name Nome Type Tipo Use Usar Time Tempo Amount Quantidade Weight Carga Volume Volume Amount Type Tipo Quantidade OptionDialog Open Directory Abrir Diretório Copy Data Copiar Dados There do not seem to be any data files in this directory, so we will copy your old data here. Não parece haver qualquer arquivos de dados nesse diretório, por isso vamos copiar os dados antigos aqui. Restart Reiniciar Please restart Brewtarget. Favor reiniciar o Brewtarget. QObject Invalid color formula type: %1 Cor Inválida do tipo fórmula:%1 Unrecognized IBU formula type. %1 Fórmula de IBU não reconhecida. %1 Batch Size: %1 Tamanho do lote: %1 Boil Size: %1 Tamanho de Fervura: %1 Boil Time: %1 Tempo de Fervura: %1 OG: %1 OG: %1 FG: %1 FG: %1 Bitterness: %1 IBUs (%2) Amargor: %1 IBUs (%2) Color: %1 SRM (%2) Cor: %1 SRM (%2) Fermentables Fermentáveis Name Nome Type Tipo Amount Quantidade Mashed Triturado Late Tarde Yield Produzir Color Cor Yes Sim No Não Total grain: %1 Total de grãos: %1 Hops Lúpulos Alpha Alfa Use Usar Time Tempo IBU IBU Misc Adjunto Yeast Levedura Form Formulário Stage Etapa Secondary Secundário Primary Primário Mash Mosto Temp Temperatura Target Alvo Notes Notas Instructions Instruções Directory Problem Problema de Diretório "%1" cannot be read. "%1" não pode ser lido. Config directory "%1" cannot be read. Diretório de Configurações "%1" não pode ser lido. New Version Nova Versão Version %1 is now available. Download it? Versão %1 está disponível. Deseja baixá-la? Stop bothering you about new versions? Parar de questionar sobre novas versões? Database Failure Falha no Banco de Dados Failed to open the database '%1'. Erro ao abrir o banco de dados '%1'. Save Database Changes Salvar Mudanças no Banco de Dados Would you like to save the changes you made? Deseja salvar as mudanças realizadas? Multiple Databases Found Múltiplos Banco de Dados Encontrados Multiple databases were found. Do you want to restore the changes you made during your last Brewtarget session, or rollback to before last session's changes? Múltiplos Bancos de Dados foram encontrados. Deseja restaurar suas mudanças feitas durante a última sessão do Brewtarget ou descartá-las restaurando a versão anterior as mudanças? Restore Restaurar Rollback Desfazer Failed to remove the temporary backup database. Navigate to '%1' and remove 'tempBackupDatabase.sqlite'. Erro ao remover a cópia de segurança temporária do banco de dados. Navegue até '%1' e remova o 'tempBackupDatabase.sqlite'. Failed to rollback to the backup database. Navigate to '%1', remove 'database.sqlite' if it exists, and rename 'tempBackupDatabase.sqlite' to 'database.sqlite'. Erro ao restaurar a cópia de segurança do banco de dados. Navegue até '%1'; remova, se existir, o 'database.sqlite'; e renomeie o 'tempBackupDatabase.sqlite' para 'database.sqlite'. Database Restore Failure Falha ao Restaurar o Banco de Dados Failed to restore the backup database. Navigate to '%1' and rename 'tempBackupDatabase.sqlite' to 'database.sqlite'. Falha ao restaurar a cópia de segurança do Banco de Dados. Favor renomear o arquivo 'tempBackupDatabase.sqlite' para 'database.sqlite' localizado em '%1'. Grain Grão Sugar Açúcar Extract Extrair Dry Extract Extrato Seco Adjunct Complemento Boil Fervura Mash Mosto Infusion Infusão Temperature Temperatura Decoction Cozimento Bottling Engarrafamento Spice Tempero Fining Refinação Water Agent Agente da Água Herb Erva Flavor Aroma Other Outros Ale Ale Lager Lager Wheat Trigo Wine Vinho Champagne Champanhe Liquid Líquido Dry Seco Slant inclinação Culture Cultura Low Baixo Medium Médio High Alto Very High Muito Alto Recipes Receitas Equipment Equipamento Fermentables Fermentáveis Hops Lúpulo Miscellaneous Adjuntos Yeast Levedura Efficiency: %1% Eficiência: %1% ABV: %1% ABV: %1% Style Estilo Recipe Add grains Adicionar Grãos Add Adicionar to the mash tun. para o tonel do mosto. Heat water Água quente Bring Produzir %1 water to %2, %1 de água para %2, for upcoming infusions. para as próximas infusões. Add %1 water at %2 to mash to bring it to %3. Adicione à mostura %1 de água em %2, trazendo-a para %3. Heat mash to %1. Aquecer o mosto para %1. Bring %1 of the mash to a boil and return to the mash tun to bring it to %2. Trazer %1 do mosto para ferver e voltar para a panela de mosto para trazê-lo para %2. Hold for %1. Aguardar por %1. Put %1 %2 into boil for %3. Colocar %1 %2 em fervura por %3. Put %1 %2 into fermenter for %3. Colocar %1 %2 no fermentador por %3. Put %1 %2 into first wort for %3. Colocar %1 %2 no primeiro mosto para %3. Put %1 %2 into mash for %3. Colocar %1 %2 no mosto por %3. Steep %1 %2 in wort for %3. Passo %1 %2 no mosto para %3. Use %1 %2 for %3 Usar %1 %2 para %3 Hop addition Adição de Lúpulo Use %1 %2 at bottling for %3. Usar %1 %2 no engarrafamento para %3. Put %1 %2 into primary for %3. Colocar %1 %2 no fermentador primário por %3. Put %1 %2 into secondary for %3. Colocar %1 %2 no secundário por %3. Use %1 %2 for %3. Usar %1 %2 por %3. Misc addition Adição de Adjuntos Cervejeiros Do first wort hopping with Faça a primeira adição do lúpulo . First wort hopping Primeira adição de lúpulo You should now have %1 wort. Agora você deve ter %1 mosto. Add %1 water to the kettle, bringing pre-boil volume to %2. Adicionar %1 de água à panela, trzaendo o volume da pré-fervura para %2. Pre-boil Pré-fervura Boil or steep Fervura ou Infusão Boil/steep fermentables Cozimento/Passos fermentáveis to the boil at knockout. ao final da fervura, desligando-se o fogo. Knockout additions adição no final da fervura You should have %1 wort post-boil. Você deve ter %1 de mosto após a fervura. You anticipate losing %1 to trub and chiller loss. Você antecipa a perda de %1 para o trub e resfriamento. Add %1 top up water into primary. Acrescente %1 de água ao fermentador primário. The final volume in the primary is %1. O volume final do fermentador primário é %1. Post boil Pós-fervura Boil time Tempo de Fervura You did not configure an equipment (which you really should), so tell me the boil time. Você não configurou um equipamento (o que você realmente deve fazer), então diga-me o tempo de fervura. Bring the wort to a boil and hold for %1. Leve o mosto para fervura e espere %1. Start boil Iniciar fervura Flameout Desligar o fogo da fervura. Stop boiling the wort. Parar de cozinhar o mosto. Cool wort and pitch Mosto refriado e inóculo %1 %2 yeast, %1 %2 levedura, . to the primary. para o primário. Pitch yeast Levedura a ser inoculada Let ferment until FG is %1. Deixar fermentar até FG ser %1. Ferment Fermento Transfer beer to secondary. Transferir cerveja para o secundário. Transfer to secondary Transferir para o secundário Add %1 %2 to boil at %3. Adicionar %1 %2 à fervura às %3. Raise water to boil and then remove from heat. Stir in Elevar a água até ferver e em seguida retirar do fogo. Agitar dentro Add Extracts to water Adicionar essências à água %1 water to %2 %1 de água para %2 RecipeFormatter unknown style estilo desconhecido N/A N/A Brewer Cervejeiro Date Data Batch Size Volume da batelada Boil Size Tamanho da Fervura Boil Time Tempo de Fervura Efficiency Eficiência OG OG FG FG Unknown Desconhecido ABV ABV Bitterness Amargor Color Cor Calories (per 12 oz.) Calorias (por 12 onças - 340,2 g) Fermentables Fermentáveis Total grain: Total de grãos: Name Nome Type Tipo Amount Quantidade Mashed Mosturação Late Tarde Yield Rendimento Yes Sim No Não Hops Lúpulos Alpha Alfa Use Usar Time Tempo Form Formulário IBU IBU Misc Adjunto Yeast Levedura Stage Etapa Secondary Secundário Primary Primário Mash Mosto Temp Temperatura Target Temp Temperatura Alvo Notes Notas Instructions Instruções Brew Date Data de Produzir Cerveja Preboil Pré-fervura SG SG Volume into BK Volume no BK Strike Temp Temperatura a atingir Final Temp Temperatura Final Eff into BK Eficiência da panela de fervura Projected OG OG Projetado Postboil Pós-fervura Postboil Volume Volume pós-fervura Volume Into Fermenter Volume no fermentador Brewhouse Eff Eficiência do Sistema de Brassagem Projected ABV ABV esperada Postferment Pós-fermentação Volume Volume Print Document Imprimir Documento RefractoDialog OG Mismatch Incompatibilidade de OG Based on the given original plato, the OG should be %1, but you have entered %2. Continuing with the calculated OG. Com base no grau Plato inicial dosado, a OG deve ser %1, porém você inseriu %2. Continue com a OG calculada. ScaleRecipeTool Recipe Scaled Receita Dimensionada The mash has been reset due to the fact that mash temperatures do not scale easily. Please re-run the mash wizard. A mostura foi redefinida devido ao fato de as temperaturas não serem facilmente escaláveis. Por favor rode o assistente de mostura novamente. The equipment and mash have been reset due to the fact that mash temperatures do not scale easily. Please re-run the mash wizard. O equipamento e esquema de mosturação devem ser redefinidos devido à dificuldade de dimensionar as temperaturas de mosturação. Por favor, execute novamente o assistente de mosturação. StyleEditor Style name Nome do estilo Style name: Nome do estilo: TimerWidget Open Sound Abrir Som Audio Files (*.wav *.ogg *.mp3 *.aiff) Arquivos de Áudio (*.wav *.ogg *.mp3 *.aiff) Stop Parar Start Iniciar WaterTableModel Bad model index. row = %1 Índice de modelo inválido. Linha = %1 Bad column: %1 Coluna Inválida: %1 Name Nome Amount Quantidade Calcium (ppm) Cálcio (ppm) Bicarbonate (ppm) Bicarbonato (ppm) Sulfate (ppm) Sulfato (ppm) Chloride (ppm) Cloreto (ppm) Sodium (ppm) Sódio (ppm) Magnesium (ppm) Magnésio (ppm) YeastDialog Yeast name Nome da levedura Yeast name: Nome da levedura: YeastItemDelegate Ale Ale Lager Lager Wheat Trigo Wine Vinho Champagne Champanhe Liquid Líquido Dry Secar Slant Tubo inclinado contendo cultura pura de levedura Culture Cultura YeastTableModel Bad model index. row = %1 Índice de modelo inválido. Linha = %1 Bad column: %1 Coluna Inválida: %1 Name Nome Type Tipo Form Formulário Amount Quantidade Laboratory Laboratório Product ID ID do Produto aboutDialog About Brewtarget Sobre o Brewtarget <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'DejaVu Sans'; font-size:9pt; font-weight:400; font-style:normal;"> <p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:20pt;">Brewtarget %1</span></p> <p style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Brewtarget, for developing beer recipes.</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Copyright 2009-2013 by the developers below.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier'; font-weight:600; text-decoration: underline;">Developers</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Peter Buelow</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Dan Cavanagh</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Mik Firestone</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Philip G. Lee &lt;rocketman768@gmail.com&gt;</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier'; font-weight:600; text-decoration: underline;">Copyright (GPLv3)</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Brewtarget is free software: you can redistribute it and/or modify</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">it under the terms of the GNU General Public License as published by</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">the Free Software Foundation, either version 3 of the License, or</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">(at your option) any later version.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Brewtarget is distributed in the hope that it will be useful,</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">but WITHOUT ANY WARRANTY; without even the implied warranty of</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">GNU General Public License for more details.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">You should have received a copy of the GNU General Public License</span></p> <p style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">along with Brewtarget. If not, see &lt;</span><a href="http://www.gnu.org/licenses/"><span style=" font-family:'Courier New,courier'; text-decoration: underline; color:#0000ff;">http://www.gnu.org/licenses/</span></a><span style=" font-family:'Courier New,courier';">&gt;.</span></p> <p style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier'; font-weight:600; text-decoration: underline;">Source Code</span></p> <p style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Brewtarget's source code can be downloaded at </span><a href="http://brewtarget.sourceforge.net"><span style=" font-family:'Sans Serif'; text-decoration: underline; color:#0057ae;">brewtarget.sourceforge.net</span></a><span style=" font-family:'Sans Serif';">.</span></p> <p style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier'; font-weight:600; text-decoration: underline;">Special Thanks</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Guido Carpi (Italian translation)</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Ester (Catalan translation)</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Marc Cote (French translation)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Pawel Fiedor (Polish translation)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Admiro (Polish translation)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Edu Engler (Portuguese translation)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Jan Grmela (Czech translation)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Randy Brace (alpha tester)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://finalgravitypodcast.com"><span style=" font-family:'Sans Serif'; text-decoration: underline; color:#0057ae;">Final Gravity Podcasts</span></a></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Glenn Tinseth &lt;</span><a href="http://www.realbeer.com/hops"><span style=" text-decoration: underline; color:#0000ff;">http://www.realbeer.com/hops</span></a><span style=" font-family:'Courier New,courier';">&gt;</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">server, printer, edit-copy, document-print-preview and merge images from Oxygen theme (CC license)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">backup image from Nuvola theme (LGPL)</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'DejaVu Sans'; font-size:9pt; font-weight:400; font-style:normal;"> <p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:20pt;">Brewtarget %1</span></p> <p style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Brewtarget, para o desenvolvimento de receitas de cerveja.</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Copyright 2009-2013 pelos desenvolvedores abaixo.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier'; font-weight:600; text-decoration: underline;">Desenvolvedores</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Peter Buelow</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Dan Cavanagh</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Mik Firestone</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Philip G. Lee &lt;rocketman768@gmail.com&gt;</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier'; font-weight:600; text-decoration: underline;">Copyright (GPLv3)</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Brewtarget é um software livre: pode ser redistribuído e/ou modificado</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">dentro dos termos de GNU (General Public License), como publicado pela</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Free Software Foundation, tanto na 3ª versão da licensa, ou </span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">(a ser informada) qualquer versão posterior.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Brewtarget é distribuiído na esperança de ser útil,</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">mas SEM QUALQUER GARANTIA; sem sequer garantia implícita de </span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">COMERCIALIZAÇÃO ou APTIDÃO PARA USO PARTICULAR. Veja a Licensa </span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">GNU (General Public License) para maior detalhes.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Uma cópia da licensa GNU (General Public License)</span></p> <p style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">deve ser distribuída juntamento com Brewtarget. Senão, veja &lt;</span><a href="http://www.gnu.org/licenses/"><span style=" font-family:'Courier New,courier'; text-decoration: underline; color:#0000ff;">http://www.gnu.org/licenses/</span></a><span style=" font-family:'Courier New,courier';">&gt;.</span></p> <p style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier'; font-weight:600; text-decoration: underline;">Código Fonte</span></p> <p style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">O código fonte do Brewtarget pode ser baixado em </span><a href="http://brewtarget.sourceforge.net"><span style=" font-family:'Sans Serif'; text-decoration: underline; color:#0057ae;">brewtarget.sourceforge.net</span></a><span style=" font-family:'Sans Serif';">.</span></p> <p style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier'; font-weight:600; text-decoration: underline;">Agradecimentos</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Guido Carpi (tradução italiana)</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Ester (tradução catalã)</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Marc Cote (tradução francesa)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Pawel Fiedor (tradução polonesa)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Admiro (tradução polonesa)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Edu Engler (tradução portuguesa)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Jan Grmela (tradução tcheca)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Randy Brace (Testador Alfa)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://finalgravitypodcast.com"><span style=" font-family:'Sans Serif'; text-decoration: underline; color:#0057ae;">Considerações Finais</span></a></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Glenn Tinseth &lt;</span><a href="http://www.realbeer.com/hops"><span style=" text-decoration: underline; color:#0000ff;">http://www.realbeer.com/hops</span></a><span style=" font-family:'Courier New,courier';">&gt;</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">imagens de servidor, impressora, editar-copiar, visualização de impressão de documentos e diversas do tema Oxygen (CC license)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">imagem de cópia de segurança do tema Nuvola theme (LGPL)</span></p></body></html> Donate Contribuir brewDayScrollWidget Form Formulário Generate Instructions Gerar Instruções Insert step Inserir etapas Name Nome Name of new step Nome de novo passo Step # Passo # The number where the new step should be placed Número onde o novo passo deve ser colocado Insert the new step Inserir novo passo Move steps Mover passos Move currently selected step up Mover para cima passo selecionado Move currently selected step down Mover para baixo passo selecionado Remove currently selected step Remover passo selecionado brewDayWidget Brewday Mode Cronograma da Brassagem Instructions Instruções Move currently selected step up Mover para cima o atual passo selecionado Up Para cima Move currently selected step down Mover passo selecionado para baixo Down Para baixo Remove currently selected step Remover passo selecionado Remove Remover Insert step Inserir passo Name Nome Name of new step Nome do novo passo Step # Passo # The number where the new step should be placed O número onde o próximo passo deve ser colocado Insert the new step Inserir novo passo Insert Inserir brewNoteWidget Form Formulário Preboil Pré-fervura SG SG Preboil gravity Gravidade antes da fervura Volume Volume Volume of wort collected Volume de erva coletado Strike Temp Temperatura a atingir Temperature of mash after dough in Temperatura do mosto após colocar o malte Final Temp Temperatura Final Temperature of mash before mash out Temperatura do mosto antes do mash out Postboil Pós-fervura OG OG Post boil gravity Densidade pós-fervura Postboil Volume Volume pós-fervura Volume of wort in BK after boil Volume de mosto na panela após a fervura Volume of wort transferred to fermenter Volume de mosto transferido para o fermentador Volume into fermenter Volume no Fermentador Pitch Temp Temperatura de adição Temperature of wort when yeast is pitched Temperatura do mosto quando é adicionado fermento Postferment Pós-fermentação Final gravity Gravidade final Volume of beer into serving keg/bottles Volume de cerveja pronto em barril/garrafas Date when the yeast fermented out Data do final da fermentação percent efficiency into boil kettle percentual de eficiência na panela de fervura Eff into BK Eficiência da panela de fervura Expected OG, based on measure fg OG esperada, baseada na FG medida Projected OG OG Projetada Brewhouse efficiency Eficiência do conjunto Brewhouse Eff Eficiência do Sistema de Brassagem Expected ABV based on OG ABV esperado, baseando-se na OG Projected ABV ABV esperado ABV based on FG ABV baseado na FG ABV ABV Notes Notas btSplashScreen Form Formulário converterTool Converter Tool Ferramenta de Conversão Input Entrada Amount and units to convert Quantidades e unidades para conversão Output Units Unidades de Saída Unit you want to convert to Unidade desejada a ser convertida Output Saída Output conversion Conversão de saída Convert Converter equipmentEditor Equipment Editor Editor de Equipamentos Equipment Equipamento Remove equipment Remover equipamento Set as Default Configurar como Padrão Required Fields Campos obrigatórios Name Nome Pre-boil volume Volume para Pré-fervura If checked, we will calculate your pre-boil volume based on your desired batch size, boil time, evaporation rate, losses, etc. Se marcado, vamos calcular seu volume pré-fervura baseado no volume desejado do lote, tempo de fervura, taxa de evaporação, perdas, etc. Calculate pre-boil volume Calcular volume pré-fervura Automatically fill in pre-boil volume Preencha automaticamente o volume pré-fervura Batch size Volume do lote Boiling && Water Fervura && Água Boil time Tempo de Fervura Evaporation rate (per hr) Taxa de evaporação por hora How much water boils off per hour Quantidade de águar fervida por hora Kettle top-up water Água adicionada à panela How much water is added to kettle immediately pre-boil Quantidade de água adicionada à panela imediatamente antes da fervura Final top-up water Água para encher até o fim Water added to fermenter Água adicionada ao fermentador Grain Absorption (L/kg) Absorção dos Grãos (L/kg) Default Absorption Absorção padrão Boiling Point of Water Ponto de Ebolição da Água Hop Utilization Utilização de Lúpulo Mash Tun Panela de Mosturação Volume Volume Volume of mash tun Volume da panela de mosturação Mass Massa Mass or weight of mash tun Massa ou peso da panela de mostura Specific heat (cal/(g*K)) Calor específico Losses Perdas Kettle to fermenter Panela de fervura para o fermentador Wort lost between kettle and fermenter Perda de mosto entre panela e fermentador Lauter deadspace Volume morto do tanque de filtração Volume of wort lost to lauter deadspace Volume do mosto perdido para o espaço morto do tanque de filtração Notes Notas New equipment Novo Equipamento Save Salvar Cancel Cancelar fermentableDialog Fermentable Database Banco de Dados de Fermentáveis Add selected ingredient to recipe Adicionar ingrediente selecionado à receita Add to Recipe Adicionar à receita Create new ingredient Criar novo ingrediente New Novo Edit selected ingredient Editar ingrediente selecionado Remove selected ingredient Remover ingrediente selecionado fermentableEditor Fermentable Editor Editor de Fermentável Required Fields Campos Obrigatórios Name Nome Type Tipo Grain Grão Sugar Açúcar Extract Extrato Dry Extract Extrato Seco Adjunct Adjunto Amount Quantidade Yield (%) Rendimento (%) Yield as compared to glucose Rendimento quando comparado a glicose Lovibond Lovibond Lovibond rating Taxa de Lovibond Add After Boil Adicione Após a Fervura This ingredient is added post boil. Esse ingrediente é adicionado na pós-fevura. Origin Origem Supplier Fornecedor Coarse/Fine Diff (%) Groso/Fino Diff (%) Yield difference between coarse and fine grind Diferença de rendimento entre moagem grossa e fina Moisture (%) Umidade (%) Moisture percentage by mass Percentual de umidade pela massa DP (Lintner) PD (Lintner) Diastatic power in Lintner Poder Diastático em unidade Lintner Protein (%) Proteínas (%) Protein percentage by mass Porcentagem de Proteína por Massa Max In Batch (%) Máx. no Lote (%) Maximum recommended percentage of total grist Percentagem máxima recomendada da carga total Recommend Mash Mosturação Recomendada Recommend this be mashed Recomendado para ser moído Is Mashed É Moído Checked if it is present in mash Verifique se isto esta presente na mosturação Bitterness (IBU*gal/lb) Amargor (IBU*gal/lb) Bitterness of pre-hopped extracts Amargor de extratos de malte pré-lupulados Notes: Notas: hopDialog Hop Database Banco de Dados de Lúpulo Add selected ingredient to recipe Adicionar ingrediente selecionado à receita Add to Recipe Adicionar à Receita New hop Novo lúpulo New Novo Edit Editar Remove Remover hopEditor Hop Editor Editor de Lúpulos Required Fields Campos Requeridos Name Nome Alpha (%) Alfa (%) Alpha acids as percent by mass Ácidos alfa em porcentagem de massa Amount Quantidade Amount Quantidade Use Uso Mash Mosto First Wort Primeiro mosto Boil Ferver Aroma Aroma Dry Hop Dry Hop Time Tempo Type Tipo Bittering Amargor Both Ambos Form Formulário Leaf Folha Pellet Pellet Plug Plug Beta (%) Beta (%) Beta acids as percent by mass Ácidos Beta em percentual da massa HSI HSI Hop Stability/Storage index Índice de Estabilidade/Estocagem do Lúpulo Origin Origem Humulene (%) Humuleno (%) Humulene Humuleno Caryophyllene (%) Cariofileno (%) Caryophyllene Cariofileno Cohumulone (%) Cohumuleno (%) Cohumulone Cohumuleno Myrcene (%) Mirceno (%) Myrcene Mirceno Substitutes: Substituintes Notes: Notas: htmlViewer Html Viewer Visualizador Html about:blank sobre:vazio instructionWidget Form Formulário Show a timer Mostrar um cronômetro Show timer Mostrar o cronômetro Mark this step completed Marcar esse passo como concluído Step completed Passo concluído mainWindow Recipes Receitas Styles Estilos Fermentables Fermentáveis Hops Lúlupos Miscs Adjunto Yeasts Leveduras Recipe Receita Name Nome Name of recipe Nome de receita 5 gal 5 galões Target boil size Tamanho Alvo de Fervura Efficiency (%) Eficiência (%) Calculated Boil Size Tamanho Calculado de Fervura Calculated Batch Size Tamanho de Fornada Calculado The extraction efficiency you expect Eficiência de extração esperada Style Estilo Boil Time Tempo de Fervura Target batch size Tamanho Alvo de Fornada Target Batch Size Tamanho Alvo de Fornada Equipment Equipamento Target Boil Size Tamanho Alvo de Fervura OG OG Boil SG SG de Fervura FG FG ABV ABV Bitterness (IBU) Amargor (IBU) Color Cor IBU/GU IBU/GU Calories/12oz Calorias/12oz Extras Extras Brewday Dia de Confecção de Cerveja Add a fermentable Adicionar um Fermentável Remove selected fermentable Remover o Fermentável Selecionado Edit selected fermentable Editar o Fermentável Selecionado Add hop Adicionar Lúpulo Remove selected hop Remover Lúpulo Selecionado Edit selected hop Editar Lúpulo Selecionado Miscellaneous Adjuntos Add misc Adicionar Adjunto Remove selected misc Remover adjunto selecionado Edit selected misc Editar adjunto selecionado Yeast Levedura Add yeast Adicionar Levedura Remove selected yeast Remover Levedura Selecionada Edit selected yeast Editar levedura selecionada Mash Mosto Add mash step Adicionar Passo de Mosturação Remove selected mash step Remover Passo de Mosturação Selecionado Edit selected mash step Editar Passo de Mosturação Selecionado Edit mash properties Editar Propriedades de Mosturação Edit mash Editar Mosto Mash Des Descrição de Mosturação Invoke the mash wizard Utilizar o Assistente de Mosturação Mash wiz Assistente de Mosturação Mashs Mostos Mash step up Acelerar Brassagem Mash step down Atrasar brassagem Save this mash profile Salvar o Perfil da Mosturação Save Mash Salvar Mosto &About &Sobre &File &Arquivo &Brewday Dia de Fazer &Cerveja &Recipe &Receita &Database &Base de dados &View &Visualizar &Tools &Ferramentas toolBar Barra de Ferramentas About &BrewTarget Sobre &BrewTarget About Brewtarget Sobre BrewTarget &Export Recipe &Exportar Receita &Fermentables &Fermentáveis Ctrl+F Ctrl+F &Hops &Lúpulos Ctrl+H Ctrl+H &Miscs &Adjunto Ctrl+M Ctrl+M &Yeasts &Leveduras Ctrl+Y Ctrl+Y &Equipments &Equipamentos Ctrl+E Ctrl+E &Styles Estilo&s Ctrl+T Ctrl+T &Exit &Sair Ctrl+Q Ctrl+Q &Import Recipes &Importar Receitas &Options &Opções &Manual &Manual &Scale Recipe &Escalonamento da Receita Recipe to Clipboard as &Text Receita para Área de Transferência como &Texto &OG Correction Help &Ajuda na Correção da OG &Convert Units &Converter Unidades Backup Database Cópia de Segurança de Banco de Dados Restore Database Restaura Banco de Dados &Copy Recipe &Copiar Receita Pr&iming Calculator &Calculadora de Gaseficação &Refractometer Tools &Ferramentas do Refratômetro &Pitch Rate Calculator &Calculadora de Inoculação Merge Databases Fundir Bases de Dados Select another database to merge into the current one. Selecionar outra base de dados para fundir com a corrente. &Print Im&primir Print Pre&view &Visualização de Impressão &Export To HTML &Exportar para HTML &Export to HTML &Exportar para HTML &Backup &Cópia de Segurança Save all recipes, ingredients, etc. to a backup folder Salvar todas as receitas, os ingredientes, etc. para o diretório de cópia de segurança &Restore &Restaurar Restore recipes, ingredients, etc. from a previous backup Restaurar receitas, ingredientes, etc. a partir de cópia de segurança anterior &Merge &Mesclar Merge another set of recipes, ingredients, etc. into the current set Mesclar outro conjunto de receitas, ingredientes, etc. com o atual conjunto &New Recipe &Nova Receita Timers Temporizadores Show timers Exibir Temporizadores Save Salvar Delete selected Excluir selecionado Delete recipe Excluir receita Donate Doar &Mashs &Mosturas Mashes Mosturas mashDesigner Mash Designer Designer da Mosturação Name Nome Type Tipo Target temp. Temperatura Alvo Time Tempo Batch Sparge Aspersão do Lote Next Próximo Finish Finalizar Infusion/Decoction Amount Quantidade de Infusão/Decocção min mín max máx 0 0 Infusion Temp Temperatura de Infusão Total Collected Wort Total de Mosto Coletado vol vol Tun Fullness Capacidade de enchimento panela tunVol Volume da tina thickness espessura mashEditor Mash Editor Editor de Mostura Name Nome Initial grain temp Temperatura inicial dos grãos Sparge temp Temperatura de aspersão Sparge temp target meta da temperatura de aspersão Sparge pH pH de aspersão Notes Notas Tun Tina Initial tun temp Temperatura inicial da tina Get following parameters from the recipe's equipment. Obter os seguintes parâmetros dos equipamentos da receita. From Equipment Do equipamento Tun mass Massa da tina Tun sp. heat Calor específico da tina Tun specific heat (cal/(g*K)) Calor específico da tina (cal/(g*K)) mashStepEditor Mash Step Editor Editor de etapa de mostura Name Nome Type Tipo Infusion Infusão Temperature Temperatura Decoction Cozimento Target temp. Temperatura Alvo Target temp. of this step Temperatura Alvo desse passo Infuse Amount Quantidade de Infusão Amount of water to infuse Quantidade de água para infundir Infuse temp. Temperatura de Infusão Temperature of infusion water Temperatura da água de infusão Decoction Amount Quantidade de decocção Amount of mash to decoct Quantidade do mosto para decocção Time Tempo Time to conduct the step tempo para realizar a etapa Temp. lag time tempo de atraso Lag time Atraso End temp. Temperatura Final Final temp. of this step Temperatura Final desse passo mashWizard Mash Wizard Assistente de mostura Mash thickness (L/kg) Densidade da mostura (L/Kg) Mash thickness (do not enter any units) Densidade da mostura (não entre com nenhuma unidade) miscDialog Misc Database Banco de Dados de Adjuntos Add selected ingredient to recipe Adicionar ingrediente selecionado à receita Add to Recipe Adicionar à Receita Create a new ingredient Criar um novo ingrediente New Novo Edit selected ingredient Editar ingrediente selecionado Remove selected ingredient Remover ingrediente selecionado miscEditor Misc Editor Editor de Adjunto Name Nome Type Tipo Spice Tempero Fining Ajustes Water Agent Corretor de água Herb Erva Flavor Sabor Other Outro Use Uso Boil Ferver Mash Mosto Primary Primário Secondary Secundário Bottling Engarrafamento Time Tempo Amount Quantidade Check it if the amount listed is in kg instead of L. Checar se a quantidade está em Kg em vez de L. Amount is weight? Quantidade é o peso? Checked if the given amount is weight instead of volume Verifique se a quantidade informada é um peso ao invés de um volume Use for: Usar para: Notes: Notas: namedMashEditor Named Mash Editor Editor de Brassagem Nomeado Mash Mosto Delete selected style Excluir estilo selecionado Name Nome Initial grain temp Temperatura inicial dos grãos Sparge temp Temperatura de aspersão Sparge temp target meta da temperatura de aspersão Sparge pH pH de aspersão Notes Anotações Tun Tina Initial tun temp Temperatura inicial de tina From Equipment Do Equipamento Tun mass Massa da tina Tun sp. heat Calor específico da tina Tun specific heat (cal/(g*K)) Calor específico da tina (cal/(g*K)) Add mash step Adicionar passo de Mosturação Remove selected mash step Remover passo de Mosturação Selecionado Mash step up Acelerar Mosturação Mash step down Atrasar Mosturação ogAdjuster Adjust Volume to Hit OG Ajuste o volume para atingir a OG Input Entrada SG SG (gravidade inicial) Measured gravity pre-boil Gravidade medida antes da fervura Temp Temperatura Temperature of SG reading Temperatura da SG medida Calibration Temp Calibração de Temperatura Temp to which the hydrometer is calibrated Temperatura de calibragem do hidrômetro -or- -ou- Plato Plato Plato (percent by mass of equivalent sucrose) Plato (percentagem, em massa, equivalente de sacarose Pre-Boil Volume Volume de Pré-fervura Measured pre-boil volume Volume de pré-fervura medido Output Saída OG w/o Correction OG com a correção OG if you boil as planned OG se você ferver como o planejado Add to Boil Adicionar à Fervura Amount of water you need to add to hit planned OG (or boil off if negative) Quantidade de água que você necessita adicionar para atingir a OG planejada (ferva se for negativo) Final Batch Size Tamanho final da brassagem Estimated batch size after correction Tamanho estimado da brassagem após correção Calculate Calcular optionsDialog Options Opções Units Unidades Weight Peso Use SI units Usar unidades do SI Use US traditional units Usar unidades tradicionais norte-americanas Use British imperial units Usar unidades britânicas imperiais Temperature Temperatura Celsius Celsius Fahrenheit Fahrenheit Volume Volume Gravity Gravidade 20C/20C Specific Gravity 20C/20C Gravidade Específica Plato/Brix/Balling Plato/Brix/Balling Color Cor Use SRM Usar SRM Use EBC Usar EBC Formulas Fórmulas Mosher's approximation Aproximação de Mosher Daniels' approximation Aproximação de Daniel Morey's approximation Aproximação de Morey IBU IBU Tinseth's approximation Aproximação de Tinseth Rager's approximation Aproximação de Rager IBU Adjustments Ajustes de IBU % IBU adjustment % Ajuste de IBU Mash Hop Mosto Lupulado First Wort Primeiro mosto Directories Diretórios Database Directory Diretório do banco de dados Where your brewtarget .xml files are. Localização dos arquivos .xml do Brewtarget. Browse Navegar Default Padrão Language Línguas Czech Tcheco Catalan Catalão German Alemão English Inglês Spanish Espanhol French Francês Italian Italiano Dutch Holandês Polish Polonês Portuguese Português Russian Russo <qt> <b>Know another language?</b> <br><br> Or, would you like to improve a translation? Help us out and <a href="https://sourceforge.net/sendmessage.php?touser=938941"> provide a translation</a> so that your friends can use brewtarget! </qt> <qt> <b>Conhece outra língua?</b> <br><br> Ou deseja melhorar uma tradução? Nos ajude e <a href="https://sourceforge.net/sendmessage.php?touser=938941"> disponibilize uma tradução</a> para que seus amigos possam usar o Brewtarget! </qt> pitchDialog Pitch Rate Calculator Calculadora de taxa de inoculação Input Entrada Wort Volume Volume de mosto OG OG For ales, 0.75-1. For lagers, 1.5-2. Para ales, 0.75-1. para lagers, 1.5-2. Pitch Rate (M cells)/(mL*P) Taxa de inóculo (M cells)/(mL*P) Aeration Method Método de Aeração Yeast Production Date Data de Produção da levedura Yeast Viability Viabilidade da Levedura None Nenhum O2 At Start O2 no início Stir Plate Stir Plate MM/dd/yyyy MM/dd/aaaa % % TextLabel Texto da Etiqueta Calculate Viability From Date Calcular viabilidade a partir da data # Vials/Smack Packs Pitched # Frascos/SmackPacks lançados Output Saída Billions of Yeast Cells Required Bilhões de células requeridas # Vials/Smack Packs w/o Starter # Frascos/SmackPacks w/o Starter Dry Yeast Levedura Seca Starter Volume Volume de Starter primingDialog Priming Calculator Calculadora de Priming Input Entrada Collected Beer Volume Volume de cerveja coletada Amount of beer to prime Quantidade de cerveja para preparar Beer Temperature Temperatura da Cerveja Temp of the beer Temperatura da cerveja Desired Volumes Volume desejado How many volumes of CO2 you want (1 L CO2 @ STP per L beer) Quantos volumes de CO2 você quer (1 L CO2 @ STP por L cerveja) Glucose Monohydrate (corn sugar) Glicose Monohidratada (açúcar de milho) Anhydrous Glucose Glicose Anídrica Sucrose (table sugar) Sacarose Dry Malt Extract Extrair Malte Seco Output Saída Prime with Escorvar com How much priming ingredient to use Quanto ingrediente escorvado para usar Calculate Calcular recipeExtrasDialog Recipe Extras Receitas Extras Brewer Cervejeiro Asst. Brewer Assistente Cervejeiro Taste Rating Avaliação de Sabor Primary Age (days) Maturação primária (dias) Primary Temp Temp. no Primário Secondary Age (days) Idade de Secundário (dias) Secondary Temp Temperatura de Secundário Tertiary Age (days) Idade de Terciário (dias) Tertiary Temp Temperatura de Terciário Bottle/Keg Age (days) Idade de Garrafa/Barril (dias) Bottle/Keg Temp Temperatura de Garrafa/Barril Date First Brewed Primeira Data de Cerveja Produzida dd MMM yyyy dd MM yyyy Carbonation Volumes Volume de Carbonação Taste Notes Provar Notas Notes Notas Cancel Cancelar recipeExtrasWidget Form Formulário Brewer Cervejeiro Asst. Brewer Assistente Cervejeiro Taste Rating Avaliação de Sabor Primary Age (days) Tempo no Primário (dias) Primary Temp Temperatura do Fermentador Primário Secondary Age (days) Idade do Secundário (dias) Secondary Temp Temperatura do Secundário Tertiary Age (days) Idade do Terciário (dias) Tertiary Temp Temperatura do Terciário Bottle/Keg Age (days) Idade de Garrafa/Barril (dias) Bottle/Keg Temp Temperatura de Garrafa/Barril Date First Brewed Primeira Data de Cerveja Produzida dd MMM yyyy dd MMM yyyy Carbonation Volumes Volume de Carbonação Taste Notes Provar Notas Notes Notas refractoDialog Refractometer Tools Ferramentas de Refratômetro Inputs Entradas Original Plato Platô inicial OG (20 C) OG (20 C) Current Plato Platô atual Calculate Calcular Outputs Saídas SG (20C) SG (20C) ABV ABV ABW ABW Refractive Index Índice Refrativo Real Extract (Plato) Extrato real (Platô) OG (20C) OG (20C) scaleRecipeTool Scale Recipe Escalar Receita New batch size Novo tamanho de fornada New efficiency (pct) Nova eficiência (pct) styleEditor Style Editor Editor de Estilo Style Estilo Delete selected style Excluir estilo selecionado Basic Information Informações Básicas Name Nome Category Categoria Category number Número da Categoria Style letter Estilo de Letra Style guide Guia de Estilos Type Tipo Type of beverage Tipo de Bebida Lager Lager Ale Ale Mead Hidromel Wheat Trigo Mixed Mista Cider Cidra Vital Statistics Estatísticas Vitais Max Máx Min Mín OG OG FG FG IBUs IBUs Color (SRM) Cor (SRM) Carb (vols) Carb (vols) ABV (pct) ABV (pct) Profile Perfil Ingredients Ingredientes Examples Exemplos Notes Notas New Novo Save Salvar Cancel Cancelar timerListDialog Timers Temporizadores timerWidget Form Formulário Set the timer to the specified value Estabelecer um valor especificado para o temporizador Set Estabelecer HH:MM:SS HH:MM:SS Start/Stop timer Iniciar/Para temporizador Start Iniciar Set a sound as the alarm Estabelecer o som como alarme Sound Som waterEditor Dialog Diálogo Name Nome Notes Notas yeastDialog Yeast Database Banco de Dados de Levedura Add selected yeast to recipe Adicionar a levedura selecionada à receita Add to Recipe Adicionar à Receita Create new yeast Criar nova levedura New Novo Edit selected yeast Editar levedura selecionada Remove selected yeast Remover levedura selecionada yeastEditor Yeast Editor Edição de Levedura Required Fields Campos Obrigatórios Name Nome Type Tipo Ale Ale Lager Lager Wheat Trigo Wine Vinho Champagne Champanhe Form Forma Liquid Líquido Dry Seco Slant Tubo inclinado contendo cultura pura de levedura Culture Cultura Amount Quantidade Check it if the amount given is in kg instead of L. Verifique se a quantidade informada é em quilograma ao inves de litros. Amount is weight? Quantidade é peso? Checked if the given amount is weight instead of volume Verifique se a quantidade informada é um peso ao invés de um volume Lab Laboratório Product ID ID de Produto Min Temp Temperatura Mínima Min temp Temperatura Mínima Max Temp Temperatura Máxima Max temp Temperatura Máxima Flocculation Floculação Low Baixo Medium Médio High Alto Very High Muito Alto Attenuation (%) Atenuação (%) Apparent attenuation as percentage of OG points Atenuação aparente como percentagem de medida do OG Times Recultured Vezes recultivadas Times this yeast has been recultured Vezes que esta levedura foi recultivada Max Recultures Máximo de recultivos Max recultures Máximo de recultivos Add to Secondary Adicionar ao Secundário Checked means add this yeast to secondary instead of primary Selecionado significa adicionar o fermento no secundário, em vez de primário Best For: Melhor para: Notes: Notas: brewtarget-2.0.2/translations/bt_de.ts0000644000175000017500000047173512266512176017414 0ustar philipphilip BrewDayScrollWidget Style Art Date Datum Boil Time Kochzeit Efficiency Effizienz Boil Volume Sudvolumen Preboil Gravity spezifische Dichte vor dem Sud Final Volume Endvolumen Starting Gravity spezifische Dichte zu Beginn IBU IBU Final Gravity finale spezifische Dichte ABV Alkoholgehalt Estimated calories(per 12 oz) Geschätzter Brennwert Instructions Anleitung Completed Fertiggestellt Time Zeit Step Schritt Actual PreBoil Volume Actual PreBoil Gravity tatsächlich Dichte bei Sudbeginn PostBoil Volume Volumen nach dem Kochen PostBoil Gravity spezifische Dichte nach dem Kochen Volume into fermenter Volumen im Fermenter Print Document Dokument drucken <h2>Notes</h2> <h2>Notizen</h2> Step %1: %2 Schritt %1: %2 Add grains Getreide hinzufügen Heat water Wasser erhitzen BrewDayWidget Style Art Date Datum Boil Volume Brauvolumen Preboil Gravity Vorkochdichte Final Volume Endvolumen Starting Gravity spezifische Dichte zu Beginn Boil Time Sudzeit IBU IBU Predicted Efficiency Geschätzte Effiziens Estimated calories (per 12 oz) Geschätzte Kalorien (pro 12 oz) Instructions Anweisungen Completed Fertiggestellt Time Zeit Step Schritt Actual Pre-boil Volume: Tatsächliches Vorsudvolumen: Actual Pre-boil Gravity: Tatsächliche Vorsuddichte: Post-boil Volume: Volumen nach dem Sud: Post-boil Gravity: Dichte nach dem Sud: Volume in fermenter: Volumen im Fermenter: Print Document Dokument drucken Notes Anmerkungen Step %1: %2 Schritt %1: %2 BrewTargetTreeModel Name Name Brew Date Braudatum Style Art Boil Time Kochzeit Color Farbe Type Typ Use Anwenden Form Eingabemaske Category Kategorie Number Letter Guide BrewTargetTreeView New Recipe Neues Rezept Brew It! Jetzt brauen! Brew Again Erneut brauen Delete Löschen New Equipment Neues Equipment New Fermentable Neues Gärgut New Hop Neuer Hopfen New Misc Neue sonstige New Yeast Neue Hefe Copy Kopieren Export Exportieren Import Importieren Change date New Style Recalculate eff Brewtarget Default Standard EBC EBC SRM SRM Plato Plato Specific Gravity Spezifische Dichte SI SI US Customary US-Standard Milligrams Milligramm Grams Gramm Kilograms Kilogramm Ounces Unzen Pounds Pfund Celsius Celsius Fahrenheit Fahrenheit British Imperial Imperische Einheiten MilliLiters Milliliter Liters Liter Teaspoons Teelöffel Tablespoons Esslöffel Cups Tassen Quarts Quarts (× 0,9464 Liter) Gallons Gallonen BtDigitWidget Too low for style. Zu niedrig für diesen Typ. In range for style. Im Bereich dieses Typs. Too high for style. Zu hoch für diesen Typ. Database Merge Database Datenbank zusammenführen There may be new ingredients and recipes available. Would you like to add these to your database? Es sind möglicherweise neue Zutaten und Rezepte verfügbar. Möchten sie diese zu ihrer Datenbank hinzufügen? EquipmentEditor Grain absorption (%1/%2) Getreideabsorption (%1/%2) Tun Volume Warning Kesselvolumenwarnung Batch Size Warning Warnung, Ansatzgröße Equipment name Equipmentname Equipment name: Equipmentname: The tun volume you entered is 0. This may cause problems The batch size you entered is 0. This may cause problems Hop Utilization Warning The hop utilization percentage you entered is 0. This may cause problems FermentableDialog Fermentable name Gärgut Name Fermentable name: Gärgut Name: FermentableItemDelegate Grain Getreide Sugar Zucker Extract Extrakt Dry Extract Trockenextrakt Adjunct Beigabe FermentableTableModel Bad model index. row = %1 Fehlerhafter »model index«. Zeile = %1 Mashed Gemaischt Steeped Eingeweicht Not mashed Nicht gemaischt Late Spät Normal Normal Bad column: %1 Fehlerhafte Spalte: %1 Name Name Type Typ Amount Menge Late Addition Späte Zugabe Yield % Ausbeute % Color (SRM) Farbe (SRM) Color (EBC) Farbe (EBC) Hop Mash Maische First Wort Erste Würze Boil Sud Aroma Aroma Dry Hop Trockener Hopfen Bittering Bitterung Both Beides Leaf Blatt Pellet Pellet Plug Presshopfen HopDialog Hop name Hopfenname Hop name: Hopfenname: HopItemDelegate Boil Kochen Dry Hop Trockener Hopfen Mash Maische First Wort Erste Würze Aroma Aroma Leaf Blatt Pellet Pellet Plug Presshopfen HopTableModel Name Name Alpha % Alpha % Amount Menge Use Anwenden Time Zeit Form Eingabemaske MainWindow Open Öffnen BeerXML files (*.xml) Bier-XML-Dateien (*.xml) Save Speichern Equipment request Benötigte Gerätschaft Would you like to set the batch size, boil size and time to that requested by the equipment? Möchten sie die Chargengröße und das Kochvolumen an die ausgewählte Gerätschaft anpassen? Delete %1 %1 löschen Delete %1 %2? Lösche %1 %2? HTML files (*.html) HTML-Dateien (*.html) New Neu Recipe Rezept Equipment Equipment Fermentable Gärgut Hop Hopfen Miscellaneous Sonstiges Yeast Hefe Copy %1 %1 kopieren Enter a unique name for the copy of %1. Geben Sie einen eindeutigen Namen für die Kopie von %1 an. Copy Equipment Gerätschaft kopieren Copy Fermentable Gärgut kopieren Copy Hop Hopfen kopieren Copy Miscellaneous Sonstige kopieren Copy Yeast Hefe kopieren Database Update Datenbankaktualisierung You are about to update the current database with another one. This may make changes to (but will not delete) some of your ingredients. It will not modify any of your recipes. Continue? Select Database File Datenbankdatei auswählen Brewtarget Database (*.sqlite) Brewtarget-Datenbank (*.sqlite) Recipe name Rezeptname Recipe name: Rezeptname: Backup Database Datenbank sichern Oops! Hoppla! Could not copy the files for some reason. Die Dateien konnten nicht kopiert werden. A Warning Eine Warnung This will obliterate your current set of recipes and ingredients. Do you want to continue? For some reason, the operation failed. Vorgang fehlgeschlagen (Grund unbekannt). Import %1? %1 importieren? No mash Keine Maische Trying to add a mash step without a mash. Please create a mash first. Copy Recipe Rezept kopieren Enter a unique name for the copy. Geben sie einen eindeutigen Namen für die Kopie ein. Please give your mash a name before saving. Bitte benenne Sie ihre Maische vor dem Speichern. Restart Neustart Please restart Brewtarget. Bitte starten sie Brewtarget neu. No equipment Kein Equipment You must select or define an equipment profile first. No style Kein Typ You must select a style first. Sie müssen zuerst einen Typ aussuchen. Choose File Datei auswählen SQLite (*.sqlite) Style Art Copy Style The database has been converted/upgraded. Die Datenbank wurde umgewandelt/aktualisiert. The original XML files can be found in Die ursprünglichen XML-Dateien befinden sich in The import contained invalid beerXML. It has been imported, but please make certain it makes sense. MaltinessWidget <b>Cloying</b> <b>Zuckersüß</b> <b>Extra malty</b> <b>Extra malzig</b> <b>Slightly malty</b> <b>Leicht malzig</b> <b>Balanced</b> <b>Ausgeglichen</b> <b>Slightly hoppy</b> <b>Leicht hopfig</b> <b>Extra hoppy</b> <b>Extra hopfig</b> <b>Way hoppy</b> <b>Zu hopfig</b> MashDesigner No Fermentables Kein Gärgut Your recipe must have fermentables to design a mash. Ihr Rezept muß Gärgut enthalten um eine Maische zu erstellen. No Equipment Keine Gerätschaft You have not set an equipment for this recipe. We really cannot continue without one. Tun Temp Bottichtemperatur Enter the temperature of the tun before your first infusion. Geben Sie die Bottichtemperatur vor dem ersten Aufguß an. Decoction error Absudfehler The first mash step cannot be a decoction. Der erste Maischeschritt kann nicht ein Absud sein. MashStepTableModel Bad model index. row = %1 Fehlerhafter »model index«. Zeile = %1 Bad column: %1 Fehlerhafte Spalte: %1 Name Name Type Typ Amount Menge Infusion Temp Aufgußtemperatur Target Temp Zieltemperatur Time Zeit MashWizard Mash thickness (%1/%2) Maischdichte (%1/%2) Bad thickness You must have a positive mash thickness. No steps Keine Schritte There must be at least one mash step to run the wizard. First step Erster Schritt Your first mash step must be an infusion. Ihr erster Maischeschritt muß ein Aufguß sein. Mash too thick Maische zu dick Your mash is too thick for desired temp. at first step. Decoction error Sudfehler Something went wrong in decoction calculation. Ein Fehler trat bei der Absudberechnung auf. Sparge temp. Belüftungstemp. In order to hit your sparge temp, the sparge water must be above boiling. Lower your sparge temp, or allow for more sparge water. Too much wort Zu viel Würze You have too much wort from the mash for your boil size. I suggest increasing the boil size by increasing the boil time, or reducing your mash thickness. MiscDialog Misc name Sonstiges Name Misc name: Sonstiges Name: MiscItemDelegate Spice Gewürz Fining Water Agent Herb Kraut Flavor Aroma Other Sonstiges Boil Kochen Mash Maische Primary Erstes Secondary Zweites Bottling Abfüllung MiscTableModel Name Name Type Typ Use Anwenden Time Zeit Amount Menge Weight Gewicht Volume Volumen Amount Type OptionDialog Open Directory Verzeichnis öffnen Copy Data Daten kopieren There do not seem to be any data files in this directory, so we will copy your old data here. Es scheinen keinerlei Dateien in diesem Verzeichnis zu liegen. Deshalb werden Ihre alten Daten hierhin kopiert. Restart Neustart Please restart Brewtarget. Bitte starten Sie Brewtarget neu. QObject Invalid color formula type: %1 Unrecognized IBU formula type. %1 Batch Size: %1 Ansatzgröße: %1 Boil Size: %1 Sudmenge: %1 Boil Time: %1 Sudzeit: %1 OG: %1 OG: %1 FG: %1 FG: %1 Bitterness: %1 IBUs (%2) Bitterkeit: %1 IBU (%2) Color: %1 SRM (%2) Farbe: %1 SRM (%2) Fermentables Name Name Type Typ Amount Menge Mashed Gemaischt Late Spät Yield Ertrag Color Farbe Yes Ja No Nein Total grain: %1 Totale Getreidemenge: %1 Hops Hopfen Alpha Ale Use Verwende Time Zeit IBU IBU Misc Sonstiges Yeast Hefe Form Formular Stage Phase Secondary Zweite Primary Erste Mash Maische Temp Temp. Target Ziel Notes Notizen Instructions Instruktionen Directory Problem "%1" cannot be read. "%1" kann nicht eingelesen werden. Config directory "%1" cannot be read. New Version Neue Version Version %1 is now available. Download it? Version %1 steht jetzt zur Verfügung. Herunterladen? Stop bothering you about new versions? Damit aufhören, Sie mit Meldungen über neue Versionen zu nerven? Database Failure Datenbankfehler Failed to open the database '%1'. Die Datenbank '%1' konnte nicht geöffnet werden. Save Database Changes Datenbankänderungen speichern Would you like to save the changes you made? Möchten Sie die vorgenommenen Änderungen speichern? Multiple Databases Found Mehrere Datenbanken gefunden Multiple databases were found. Do you want to restore the changes you made during your last Brewtarget session, or rollback to before last session's changes? Restore Wiederherstellen Rollback Zurücknehmen (Rollback) Failed to remove the temporary backup database. Navigate to '%1' and remove 'tempBackupDatabase.sqlite'. Failed to rollback to the backup database. Navigate to '%1', remove 'database.sqlite' if it exists, and rename 'tempBackupDatabase.sqlite' to 'database.sqlite'. Database Restore Failure Datenbank-Wiederherstellungsfehler Failed to restore the backup database. Navigate to '%1' and rename 'tempBackupDatabase.sqlite' to 'database.sqlite'. Grain Korn Sugar Zucker Extract Extrakt Dry Extract Trockenhefe Adjunct Zusatz Boil Kochen Mash Maische Infusion Aufguß Temperature Temperatur Decoction Absud Bottling Abfüllung Spice Gewürz Fining Water Agent Herb Gewürz Flavor Aroma Other Andere Ale Ale Lager Lager Wheat Wiezen Wine Wein Champagne Champagner Liquid Flüssigkeit Dry Trocken Slant Schrägkultur Culture Kultur Low Niedrig Medium Medium High Hoch Very High Sehr hoch Recipes Rezepte Equipment Aussattung Fermentables Gärgut Hops Hopfen Miscellaneous Sonstiges Yeast Hefe Efficiency: %1% Effizienz: %1% ABV: %1% ABV: %1% Style Art Recipe Add grains Getreide zugeben Add Zugeben to the mash tun. Heat water Wasser erhitzen Bring %1 water to %2, %1 Wasser zu %2, for upcoming infusions. für spätere Aufgüsse. Add %1 water at %2 to mash to bring it to %3. %1 Wasser von %2 zur Maische geben um diese auf %3 zu bringen. Heat mash to %1. Maische auf %1 erhitzen. Bring %1 of the mash to a boil and return to the mash tun to bring it to %2. Hold for %1. Für %1 warten. Put %1 %2 into boil for %3. Put %1 %2 into fermenter for %3. Put %1 %2 into first wort for %3. Put %1 %2 into mash for %3. Steep %1 %2 in wort for %3. Use %1 %2 for %3 Verwende %1 %2 für %3 Hop addition Hopfenzugabe Use %1 %2 at bottling for %3. Verwende %1 %2 zur Abfüllung von %3. Put %1 %2 into primary for %3. Put %1 %2 into secondary for %3. Use %1 %2 for %3. Verwende %1 %2 für %3 Misc addition Sonstige Zugabe Do first wort hopping with First wort hopping Erste Würzehopfung You should now have %1 wort. Add %1 water to the kettle, bringing pre-boil volume to %2. Pre-boil Vorkochen Boil or steep Boil/steep fermentables to the boil at knockout. Knockout additions You should have %1 wort post-boil. You anticipate losing %1 to trub and chiller loss. Add %1 top up water into primary. The final volume in the primary is %1. Post boil Nachkochen Boil time Kochzeit You did not configure an equipment (which you really should), so tell me the boil time. Bring the wort to a boil and hold for %1. Start boil Kochen starten Flameout Stop boiling the wort. Cool wort and pitch Die Würze abkühlen und stürzen %1 %2 yeast, %1 %2 Hefe, to the primary. Pitch yeast Let ferment until FG is %1. Gären lassen bis FG %1 ist. Ferment Gären Transfer beer to secondary. Das Bier zur Zweiten überführen. Transfer to secondary Add %1 %2 to boil at %3. %1 %2 zugeben und bei %3 kochen. Raise water to boil and then remove from heat. Stir in Add Extracts to water Extrakte zum Wasser zugeben %1 water to %2 %1 Wasser zu %2 RecipeFormatter unknown style unbekannte Art N/A nicht anwendbar Brewer Brauer Date Datum Batch Size Chargengröße Boil Size Kochgröße Boil Time Kochzeit Efficiency Effizienz OG OG FG FG Unknown Unbekannt ABV ABV Bitterness Color Farbe Calories (per 12 oz.) Fermentables Gärgüter Total grain: Totale Getreidemenge: Name Name Type Typ Amount Menge Mashed Gemaischt Late Spät Yield Ertrag Yes Ja No Nein Hops Hopfen Alpha Alpha Use Verwende Time Zeit Form Formular IBU IBU Misc Sonstiges Yeast Hefe Stage Phase Secondary Zweite Primary Erste Mash Maische Temp Temp. Target Temp Zieltemp. Notes Notizen Instructions Instruktionen Brew Date Tag des Braus Preboil Vorkochen SG SG Volume into BK Volumen im BK Strike Temp Final Temp Eff into BK Projected OG Postboil Nachkochen Postboil Volume Nachkochvolumen Volume Into Fermenter Volumen im Fermenter Brewhouse Eff Projected ABV Postferment Nachgärung Volume Volumen Print Document Dokument ausdrucken RefractoDialog OG Mismatch OG-Diskrepanz Based on the given original plato, the OG should be %1, but you have entered %2. Continuing with the calculated OG. ScaleRecipeTool Recipe Scaled The mash has been reset due to the fact that mash temperatures do not scale easily. Please re-run the mash wizard. The equipment and mash have been reset due to the fact that mash temperatures do not scale easily. Please re-run the mash wizard. StyleEditor Style name Style name: TimerWidget Open Sound Ton abspielen Audio Files (*.wav *.ogg *.mp3 *.aiff) Tondateien (*.wav *.ogg *.mp3 *.aiff) Stop Stopp Start Start WaterTableModel Bad model index. row = %1 Fehlerhafter »model index«. Zeile = %1 Bad column: %1 Fehlerhafte Spalte: %1 Name Name Amount Menge Calcium (ppm) Kalzium (ppm) Bicarbonate (ppm) Bikarbonat (ppm) Sulfate (ppm) Sulfate (ppm) Chloride (ppm) Chlor (ppm) Sodium (ppm) Natrium (ppm) Magnesium (ppm) Magnesium (ppm) YeastDialog Yeast name Hefename Yeast name: Hefename: YeastItemDelegate Ale Ale Lager Lager Wheat Wiezen Wine Wein Champagne Champagner Liquid Flüssigkeit Dry Trocken Slant Schrägkultur Culture Kultur YeastTableModel Bad model index. row = %1 Fehlerhafter »model index«. Zeile = %1 Bad column: %1 Fehlerhafte Spalte: %1 Name Name Type Typ Form Formular Amount Menge Laboratory Labor Product ID Produkt ID aboutDialog About Brewtarget Über Brewtarget <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'DejaVu Sans'; font-size:9pt; font-weight:400; font-style:normal;"> <p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:20pt;">Brewtarget %1</span></p> <p style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Brewtarget, for developing beer recipes.</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Copyright 2009-2013 by the developers below.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier'; font-weight:600; text-decoration: underline;">Developers</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Peter Buelow</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Dan Cavanagh</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Mik Firestone</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Philip G. Lee &lt;rocketman768@gmail.com&gt;</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier'; font-weight:600; text-decoration: underline;">Copyright (GPLv3)</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Brewtarget is free software: you can redistribute it and/or modify</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">it under the terms of the GNU General Public License as published by</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">the Free Software Foundation, either version 3 of the License, or</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">(at your option) any later version.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Brewtarget is distributed in the hope that it will be useful,</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">but WITHOUT ANY WARRANTY; without even the implied warranty of</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">GNU General Public License for more details.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">You should have received a copy of the GNU General Public License</span></p> <p style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">along with Brewtarget. If not, see &lt;</span><a href="http://www.gnu.org/licenses/"><span style=" font-family:'Courier New,courier'; text-decoration: underline; color:#0000ff;">http://www.gnu.org/licenses/</span></a><span style=" font-family:'Courier New,courier';">&gt;.</span></p> <p style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier'; font-weight:600; text-decoration: underline;">Source Code</span></p> <p style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Brewtarget's source code can be downloaded at </span><a href="http://brewtarget.sourceforge.net"><span style=" font-family:'Sans Serif'; text-decoration: underline; color:#0057ae;">brewtarget.sourceforge.net</span></a><span style=" font-family:'Sans Serif';">.</span></p> <p style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier'; font-weight:600; text-decoration: underline;">Special Thanks</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Guido Carpi (Italian translation)</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Ester (Catalan translation)</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Marc Cote (French translation)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Pawel Fiedor (Polish translation)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Admiro (Polish translation)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Edu Engler (Portuguese translation)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Jan Grmela (Czech translation)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Randy Brace (alpha tester)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://finalgravitypodcast.com"><span style=" font-family:'Sans Serif'; text-decoration: underline; color:#0057ae;">Final Gravity Podcasts</span></a></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Glenn Tinseth &lt;</span><a href="http://www.realbeer.com/hops"><span style=" text-decoration: underline; color:#0000ff;">http://www.realbeer.com/hops</span></a><span style=" font-family:'Courier New,courier';">&gt;</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">server, printer, edit-copy, document-print-preview and merge images from Oxygen theme (CC license)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">backup image from Nuvola theme (LGPL)</span></p></body></html> Donate brewDayScrollWidget Form Formular Generate Instructions Insert step Schritt einfügen Name Name Name of new step Step # Schritt # The number where the new step should be placed Insert the new step Den neuen Schritt einfügen Move steps Move currently selected step up Move currently selected step down Remove currently selected step Den derzeitig gewählten Schritt entfernen brewDayWidget Brewday Mode Instructions Instruktionen Move currently selected step up Up Hoch Move currently selected step down Down Runter Remove currently selected step Den derzeitig gewählten Schritt entfernen Remove Entfernen Insert step Schritt einfügen Name Name Name of new step Step # Schritt # The number where the new step should be placed Insert the new step Den neuen Schritt einfügen Insert Einfügen brewNoteWidget Form Formular Preboil Vorkochen SG SG Preboil gravity Vorkochdichte Volume Volumen Volume of wort collected Strike Temp Temperature of mash after dough in Final Temp Temperature of mash before mash out Postboil Nachkochen OG OG Post boil gravity Nachkochdichte Postboil Volume Nachkochvolumen Volume of wort in BK after boil Volume of wort transferred to fermenter Volume into fermenter Volumen im Fermenter Pitch Temp Temperature of wort when yeast is pitched Postferment Nachgärung Final gravity Volume of beer into serving keg/bottles Date when the yeast fermented out Datum vollständigen Fermentierung percent efficiency into boil kettle Eff into BK Expected OG, based on measure fg Projected OG Brewhouse efficiency Brewhouse Eff Expected ABV based on OG Erwarteter Alkoholgehalt (ABV) basierend auf der Ausgangsdichte (OG) Projected ABV ABV based on FG ABV basierend auf FG ABV ABV Notes Notizen btSplashScreen Form Formular converterTool Converter Tool Input Eingabe Amount and units to convert Output Units Ausgabeeinheiten Unit you want to convert to Zu dieser Einheit konvertieren Output Ausgabe Output conversion Convert equipmentEditor Equipment Editor Aussattungs-Editor Equipment Aussattung Remove equipment Ausstattung entfernen Set as Default Als Standard setzen Required Fields Pflichtfelder Name Name Pre-boil volume Vorkochvolumen If checked, we will calculate your pre-boil volume based on your desired batch size, boil time, evaporation rate, losses, etc. Calculate pre-boil volume Automatically fill in pre-boil volume Batch size Chargengröße Boiling && Water Boil time Kochzeit Evaporation rate (per hr) How much water boils off per hour Kettle top-up water How much water is added to kettle immediately pre-boil Final top-up water Water added to fermenter Zum Fermenter zugegebenes Wasser Grain Absorption (L/kg) Kornabsorption (L/kg) Default Absorption Standardabsorption Boiling Point of Water Hop Utilization Hopfenausnutzung Mash Tun Maischbottich Volume Volumen Volume of mash tun Mass Masse Mass or weight of mash tun Specific heat (cal/(g*K)) Losses Verluste Kettle to fermenter Wort lost between kettle and fermenter Lauter deadspace Volume of wort lost to lauter deadspace Notes Notizen New equipment Save Speichern Cancel Abbruch fermentableDialog Fermentable Database Gärgutdatenbank Add selected ingredient to recipe Add to Recipe Zum Rezept hinzufügen Create new ingredient New Neu Edit selected ingredient Remove selected ingredient Die gewählte Ingredienz entfernen fermentableEditor Fermentable Editor Gärgut-Editor Required Fields Pflichtfelder Name Name Type Typ Grain Korn Sugar Zucker Extract Extrakt Dry Extract Trockenhefe Adjunct Zusatz Amount Menge Yield (%) Ertrag (%) Yield as compared to glucose Ertrag im Vergleich zur Glukose Lovibond Lovibond Lovibond rating Add After Boil Nach dem Kochen zugeben This ingredient is added post boil. Origin Ursprung Supplier Lieferant Coarse/Fine Diff (%) Yield difference between coarse and fine grind Moisture (%) Feuchtigkeit (%) Moisture percentage by mass Feuchtigkeit [%/w] DP (Lintner) Diastatic power in Lintner Protein (%) Eiweiß (%) Protein percentage by mass Eiweiß Prozent der Masse Max In Batch (%) Maximum recommended percentage of total grist Recommend Mash Recommend this be mashed Is Mashed Checked if it is present in mash Bitterness (IBU*gal/lb) Bitterness of pre-hopped extracts Notes: Notizen: hopDialog Hop Database Hopfendatenbank Add selected ingredient to recipe Add to Recipe Zum Rezept hinzufügen New hop New Neu Edit Editieren Remove Entfernen hopEditor Hop Editor Hopfen-Editor Required Fields Pflichtfelder Name Name Alpha (%) Alpha (%) Alpha acids as percent by mass Alphasäuren in Prozent der Masse Amount Menge Amount Menge Use Verwende Mash Maische First Wort Erste Würze Boil Kochen Aroma Aroma Dry Hop getrockneter Hopfen Time Zeit Type Typ Bittering Bitterung Both Beide Form Formular Leaf Blatt Pellet Pellet Plug Niederdruckpellet Beta (%) Beta (%) Beta acids as percent by mass Beta-Säuren in Prozent der Masse HSI HSI Hop Stability/Storage index Hopfen Stabilität/Lagerungs Index Origin Ursprung Humulene (%) α-Humulene (%) Humulene α-Humulene Caryophyllene (%) Caryophyllene (%) Caryophyllene Caryophyllene Cohumulone (%) Cohumulone (%) Cohumulone Cohumulone Myrcene (%) Myrcene (%) Myrcene Myrcene Substitutes: Ersatzstoffe: Notes: Notizen: htmlViewer Html Viewer HTML Betrachter about:blank about:blank instructionWidget Form von Show a timer Eine Stoppuhr zeigen Show timer Eine Stoppuhr zeigen Mark this step completed Diesen Schritt als fertig markieren Step completed Schritt ist fertig mainWindow Recipes Rezepte Styles Fermentables Gärgüter Hops Hopfen Miscs Sonstiges Yeasts Hefen Recipe Rezept Name Name Name of recipe Name des Rezepts 5 gal 5 Gallonen Target boil size Efficiency (%) Effizienz (%) Calculated Boil Size Calculated Batch Size The extraction efficiency you expect Style Art Boil Time Kochzeit Target batch size Target Batch Size Equipment Aussattung Target Boil Size OG OG Boil SG FG FG ABV ABV Bitterness (IBU) Color Farbe IBU/GU IBU/GU Calories/12oz Kalorien/12oz Extras Extras Brewday Add a fermentable Ein Gärgut zugeben Remove selected fermentable Das gewählte Gärgut entfernen Edit selected fermentable Add hop Hopfen zugeben Remove selected hop Den ausgewählten Hopfen entfernen Edit selected hop Miscellaneous Sonstiges Add misc Remove selected misc Edit selected misc Yeast Hefe Add yeast Hefe zugeben Remove selected yeast ausgewählte Hefe entfernen Edit selected yeast Mash Maische Add mash step Maischeschritt zufügen Remove selected mash step Edit selected mash step Edit mash properties Edit mash Mash Des Invoke the mash wizard Mash wiz Maische-Assistent Mashs Maischen Mash step up Maischeschritt hoch Mash step down Maischeschritt runter Save this mash profile Save Mash Maische speichern &About &Über &File &Datei &Brewday &Recipe /Rezept &Database &Datenbank &View &Betrachten &Tools &Werkzeuge toolBar About &BrewTarget Über &Brewtarget About Brewtarget Über Brewtarget &Export Recipe Rezept &exportieren &Fermentables &Gärgüter Ctrl+F Ctrl+F &Hops &Hopfen Ctrl+H Ctrl+H &Miscs &Sonstiges Ctrl+M Ctrl+M &Yeasts &Hefe Ctrl+Y Ctrl+Y &Equipments &Ausstattungen Ctrl+E Ctrl+E &Styles Ctrl+T Ctrl+T &Exit &Ende Ctrl+Q Ctrl+Q &Import Recipes &Options &Optionen &Manual &Handbuch &Scale Recipe Rezept &skalieren Recipe to Clipboard as &Text &OG Correction Help &OG Korrektionshilfe &Convert Units Backup Database Backup Datenbank Restore Database Datenbank wiederherstellen &Copy Recipe Pr&iming Calculator Speiserechner &Refractometer Tools Refraktiometer-Werkzeuge &Pitch Rate Calculator Merge Databases Datenbanken vereinigen Select another database to merge into the current one. &Print &Drucken Print Pre&view Druch&vorschau &Export To HTML Als HTML &exportieren &Export to HTML Als HTML &exportieren &Backup &Backup Save all recipes, ingredients, etc. to a backup folder &Restore Wiede&rherstellen Restore recipes, ingredients, etc. from a previous backup &Merge Merge another set of recipes, ingredients, etc. into the current set &New Recipe &Neues Rezept Timers Eieruhren Show timers Eieruhr zeigen Save Speichern Delete selected Delete recipe Rezept löschen Donate &Mashs Mashes mashDesigner Mash Designer Maischedesigner Name Name Type Typ Target temp. Time Zeit Batch Sparge Next Nächster Finish Infusion/Decoction Amount Aufguß/Absud Menge min min max max 0 0 Infusion Temp Aufgußtemperatur Total Collected Wort vol Vol Tun Fullness Bottichfülle tunVol Bottichvolumen thickness mashEditor Mash Editor Maisch-Editor Name Name Initial grain temp Anfängliche Getreidetemp. Sparge temp Belüftungstemp. Sparge temp target Angestrebte Belüftungstemp. Sparge pH Belüftungs pH Notes Notizen Tun Bottich Initial tun temp Anfängliche Bottichtemp. Get following parameters from the recipe's equipment. From Equipment Tun mass Bottichmasse Tun sp. heat Tun specific heat (cal/(g*K)) mashStepEditor Mash Step Editor Maischeschritt-Editor Name Name Type Typ Infusion Aufguß Temperature Temperatur Decoction Absud Target temp. Target temp. of this step Infuse Amount Amount of water to infuse Infuse temp. Aufgußtemp. Temperature of infusion water Temperatur des Aufgußwassers Decoction Amount Absudmenge Amount of mash to decoct Maischmenge zum absuden Time Zeit Time to conduct the step Temp. lag time Lag time Verzögerung End temp. Endtemp. Final temp. of this step mashWizard Mash Wizard Maische-Assistent Mash thickness (L/kg) Maischdichte (L/kg) Mash thickness (do not enter any units) miscDialog Misc Database Sonstiges Datenbank Add selected ingredient to recipe Add to Recipe Zum Rezept hinzufügen Create a new ingredient New Neu Edit selected ingredient Remove selected ingredient Die gewählte Ingredienz entfernen miscEditor Misc Editor Sonstiges-Editor Name Name Type Typ Spice Gewürz Fining Water Agent Herb Gewürz Flavor Aroma Other Andere Use Verwende Boil Kochen Mash Maische Primary Erste Secondary Zweite Bottling Abfüllung Time Zeit Amount Menge Check it if the amount listed is in kg instead of L. Amount is weight? Mengenangabe ist Gewicht Checked if the given amount is weight instead of volume Use for: Verwende für: Notes: Notizen: namedMashEditor Named Mash Editor Mash Maische Delete selected style Name Name Initial grain temp Anfängliche Getreidetemp. Sparge temp Belüftungstemp. Sparge temp target Angestrebte Belüftungstemp. Sparge pH Belüftungs pH Notes Tun Bottich Initial tun temp Anfängliche Bottichtemp. From Equipment Tun mass Bottichmasse Tun sp. heat Tun specific heat (cal/(g*K)) Add mash step Maischeschritt zufügen Remove selected mash step Mash step up Maischeschritt hoch Mash step down Maischeschritt runter ogAdjuster Adjust Volume to Hit OG Volumen justiern um die OG zu treffen Input Eingabe SG SG Measured gravity pre-boil Temp Temp. Temperature of SG reading Calibration Temp Temp to which the hydrometer is calibrated -or- -oder- Plato Plato Plato (percent by mass of equivalent sucrose) Plato (Prozent der Masse bei entsrechender Saccharose) Pre-Boil Volume Vorkochvolumen Measured pre-boil volume Output Ausgabe OG w/o Correction OG ohne Korrektur OG if you boil as planned OG wenn Sie wie geplant kochen Add to Boil Amount of water you need to add to hit planned OG (or boil off if negative) Final Batch Size Estimated batch size after correction Calculate Berechne optionsDialog Options Optionen Units Einheiten Weight Gewicht Use SI units Benutze SI-Einheiten Use US traditional units Benutze traditionelle US-Einheiten Use British imperial units Verwende das Britisches System der Maße und Gewichte Temperature Temperatur Celsius Celsius Fahrenheit Fahrenheit Volume Volumen Gravity Dichte 20C/20C Specific Gravity 20C/20C spezifische Dichte Plato/Brix/Balling Plato/Brix/Balling Color Farbe Use SRM Benutze SRM Use EBC Benutze EBC Formulas Formulare Mosher's approximation Daniels' approximation Daniels' Annäherung Morey's approximation IBU IBU Tinseth's approximation Tinseth's Annäherung Rager's approximation Rager's Annäherung IBU Adjustments % IBU adjustment Mash Hop First Wort Erste Würze Directories Database Directory Datenbankverzeichnis Where your brewtarget .xml files are. Browse Default Standard Language Sprache Czech Tschechisch Catalan Katalanisch German Deutsch English Englisch Spanish Spanisch French Französisch Italian Italienisch Dutch Niederländisch Polish Polnisch Portuguese Portugisisch Russian <qt> <b>Know another language?</b> <br><br> Or, would you like to improve a translation? Help us out and <a href="https://sourceforge.net/sendmessage.php?touser=938941"> provide a translation</a> so that your friends can use brewtarget! </qt> pitchDialog Pitch Rate Calculator Input Eingabe Wort Volume OG OG For ales, 0.75-1. For lagers, 1.5-2. Pitch Rate (M cells)/(mL*P) Aeration Method Berlüftungsmethode Yeast Production Date Yeast Viability None Keine O2 At Start O2 am Start Stir Plate Rührplatte MM/dd/yyyy MM/tt/jjjj % % TextLabel Calculate Viability From Date # Vials/Smack Packs Pitched Output Ausgabe Billions of Yeast Cells Required # Vials/Smack Packs w/o Starter Dry Yeast Trockenhefe Starter Volume Startervolumen primingDialog Priming Calculator Speiserechner Input Eingabe Collected Beer Volume Amount of beer to prime Beer Temperature Temp of the beer Temp. des Bieres Desired Volumes How many volumes of CO2 you want (1 L CO2 @ STP per L beer) Wieviele Volumen CO2 möchten sie haben (1 Liter CO2 @ STP pro Liter Bier) Glucose Monohydrate (corn sugar) Glukose-Monohydrat (Maiszucker) Anhydrous Glucose Wasserfreie Glukose Sucrose (table sugar) Saccharose (Rohrzucker) Dry Malt Extract Output Ausgabe Prime with Karboniserung mi How much priming ingredient to use Calculate Berechne recipeExtrasDialog Recipe Extras Brewer Brauer Asst. Brewer Taste Rating Geschmacksbeurteilung Primary Age (days) Dauer der Ersten (Tage) Primary Temp Temperatur der Ersten Secondary Age (days) Dauer der Zweiten (Tage) Secondary Temp Temp. der Zweiten Tertiary Age (days) Tertiary Temp Bottle/Keg Age (days) Bottle/Keg Temp Date First Brewed Datum des ersten Brauens dd MMM yyyy tt MMM jjjj Carbonation Volumes Taste Notes Geschmacksnotizen Notes Notizen Cancel Abbruch recipeExtrasWidget Form Formular Brewer Brauer Asst. Brewer Taste Rating Geschmacksbeurteilung Primary Age (days) Dauer der Ersten (Tage) Primary Temp Temperatur der Ersten Secondary Age (days) Dauer der Zweiten (Tage) Secondary Temp Temp. der Zweiten Tertiary Age (days) Tertiary Temp Bottle/Keg Age (days) Bottle/Keg Temp Date First Brewed Datum des ersten Brauens dd MMM yyyy tt MMM jjjj Carbonation Volumes Taste Notes Geschmacksnotizen Notes Notizen refractoDialog Refractometer Tools Refraktiometer-Werkzeuge Inputs Eingaben Original Plato Original Plato OG (20 C) OG (20 C) Current Plato Aktueller Plato Calculate Berechne Outputs Ausgaben SG (20C) SG (20C) ABV ABV ABW ABW Refractive Index Refraktionsindex Real Extract (Plato) OG (20C) OG (20 C) scaleRecipeTool Scale Recipe Rezept skalieren New batch size New efficiency (pct) styleEditor Style Editor Style Art Delete selected style Basic Information Grundinformation Name Name Category Kategory Category number Style letter Style guide Type Typ Type of beverage Getränketyp Lager Lager Ale Ale Mead Met Wheat Wiezen Mixed Gemischt Cider Vital Statistics Wichtige Statistiken Max Max Min Min. OG OG FG FG IBUs IBUs Color (SRM) Farbe (SRM) Carb (vols) Karbohydrate (Vol.) ABV (pct) ABV Profile Profil Ingredients Ingredienzen Examples Beispiele Notes Notizen New Neu Save Speichern Cancel Abbruch timerListDialog Timers Eieruhren timerWidget Form Formular Set the timer to the specified value Die Eieruhr auf den gesetzten Wert einstellen Set Einstellen HH:MM:SS HH:MM:SS Start/Stop timer Starte/Stoppe die Eieruhr Start Start Set a sound as the alarm Einen Alarmton einstellen Sound Geräusch waterEditor Dialog Name Name Notes Notizen yeastDialog Yeast Database Add selected yeast to recipe Add to Recipe Zum Rezept hinzufügen Create new yeast New Neu Edit selected yeast Remove selected yeast ausgewählte Hefe entfernen yeastEditor Yeast Editor Hefe Editor Required Fields Pflichtfelder Name Name Type Typ Ale Ale Lager Lager Wheat Weizenbier Wine Wein Champagne Champagner Form Form Liquid Flüssig Dry Trocken Slant Schrägagar Culture Kultur Amount Menge Check it if the amount given is in kg instead of L. Amount is weight? Mengenangabe ist Gewicht Checked if the given amount is weight instead of volume Lab Labor Product ID Produktnummer Min Temp Min Temp Min temp minimale Temperatur Max Temp max Temp Max temp Maximale Temperatur Flocculation Ausflockung Low Niedrig Medium Mittel High Hoch Very High Sehr Hoch Attenuation (%) Vergärungsgrad (%) Apparent attenuation as percentage of OG points scheinbarer Vergärungsgrad in Prozent Times Recultured Führung Nr. Times this yeast has been recultured Die Führung in der sich die Hefe befindet Max Recultures Max Führungen Max recultures Maximale Anzahl der Führungen für die Hefe Add to Secondary Nachgärung Checked means add this yeast to secondary instead of primary Best For: Geeignet für: Notes: Bemerkungen: brewtarget-2.0.2/translations/bt_fr.ts0000644000175000017500000051173012266512176017421 0ustar philipphilip BrewDayScrollWidget Style Style Date Date Boil Time Durée d'ébullition Efficiency Efficacité Boil Volume Volume à l'ébullition Preboil Gravity Densité avant ébullition Final Volume Volume final Starting Gravity Densité de départ IBU IBU Final Gravity Densité finale ABV ABV Estimated calories(per 12 oz) Calories estimées (par 35cl) Instructions Directives Completed Terminé Time Temps Step Étape Actual PreBoil Volume Volume réel avant ébullition Actual PreBoil Gravity Densité réelle avant ébullition PostBoil Volume Volume après ébullition PostBoil Gravity Densité après ébullition Volume into fermenter Volume dans le fermenteur Print Document Imprimer le document <h2>Notes</h2> <h2>Notes</h2> Step %1: %2 Étape %1: %2 Add grains Ajoutez grains Heat water Chauffez l'eau BrewDayWidget Style Style Date Date Boil Volume Volume à l'ébullition Preboil Gravity Densité avant ébullition Final Volume Volume final Starting Gravity Densité de départ Boil Time Durée d'ébullition IBU IBU Predicted Efficiency Efficacité prévue Estimated calories (per 12 oz) Calories estimées (par 35cl) Instructions Directives Completed Terminé Time Temps Step Étape Actual Pre-boil Volume: Volume réel avant ébullition: Actual Pre-boil Gravity: Densité réelle avant ébullition: Post-boil Volume: Volume après ébullition: Post-boil Gravity: Densité après ébullition: Volume in fermenter: Volume dans le fermenteur: Print Document Imprimer le document Notes Notes Step %1: %2 Étape %1: %2 BrewTargetTreeModel Name Nom Brew Date Date de brassage Style Style Boil Time Durée d'ébullition Color Couleur Type Type Use Utilisation Form Format Category Catégorie Number Nombre Letter Lettre Guide Guide BrewTargetTreeView New Recipe Nouvelle recette Brew It! Brasser! Brew Again Brasser à nouveau Delete Effacer New Equipment Nouvel équipement New Fermentable Nouvel ingrédient fermentescible New Hop Nouveau houblon New Misc Nouveau autres New Yeast Nouvelle levure Copy Copier Export Exporter Import Importer Change date Changer la date New Style Nouveau style Recalculate eff Brewtarget Default Défaut EBC EBC SRM SRM Plato Plato Specific Gravity Densité SI SI US Customary États-Unis Milligrams Milligrammes Grams Grammes Kilograms Kilogrammes Ounces Onces Pounds Livres Celsius Celsius Fahrenheit Fahrenheit British Imperial GBR MilliLiters Millilitres Liters Litres Teaspoons Cuillères à café Tablespoons Cuillères à soupe Cups Tasses Quarts Quarts Gallons Gallons BtDigitWidget Too low for style. Trop bas pour le style. In range for style. Dans les normes du style. Too high for style. Trop haut pour le style. Database Merge Database Fusionner la base de données There may be new ingredients and recipes available. Would you like to add these to your database? Il peut y avoir de nouveaux ingrédients et recettes disponibles. Voulez-vous les ajouter à votre base de données ? EquipmentEditor Grain absorption (%1/%2) Absorption du grain (%1/%2) Tun Volume Warning Avertissement concernant le volume de la cuve Batch Size Warning Avertissement concernant la taille du brassin Equipment name Type d'équipement Equipment name: Type d'équipement: The tun volume you entered is 0. This may cause problems Le volume du son que vous avez saisi est 0. Ceci peut causer des problèmes. The batch size you entered is 0. This may cause problems Hop Utilization Warning The hop utilization percentage you entered is 0. This may cause problems FermentableDialog Fermentable name Ingrédients fermentescibles Fermentable name: Ingrédient fermentescible: FermentableItemDelegate Grain Grain Sugar Sucre Extract Extrait Dry Extract Extrait sèche Adjunct Succédané FermentableTableModel Bad model index. row = %1 Mauvais modèle d'index de rangée =%1 Mashed Empâté Steeped Infusé Not mashed Non empâté Late Tardif Normal Normal Bad column: %1 Mauvaise colonne: %1 Name Nom Type Type Amount Montant Late Addition Addition tardive Yield % Rendement % Color (SRM) Couleur (SRM) Color (EBC) Couleur (EBC) Hop Mash Empâtage First Wort Houblonnage pré-cuisson Boil Cuisson Aroma Arôme Dry Hop Houblonnage à cru Bittering Amérisant Both Les deux Leaf Feuille Pellet Granule Plug Pastille HopDialog Hop name Nom du houblon Hop name: Nom du houblon: HopItemDelegate Boil Cuisson Dry Hop Houblonnage à cru Mash Empâtage First Wort Houblonnage pré-cuisson Aroma Arôme Leaf Feuille Pellet Granule Plug Pastille HopTableModel Name Nom Alpha % % alpha Amount Montant Use Utilisation Time Temps Form Format MainWindow Open Ouvrir BeerXML files (*.xml) Fichiers BeerXML (*.xml) Save Sauvegardez Equipment request Requête d'équipement Would you like to set the batch size, boil size and time to that requested by the equipment? Voulez-vous régler la taille du lot, la taille ébullition et l'heure à celui demandé par l'équipement? Delete %1 Effacer %1 Delete %1 %2? Effacer %1 %2 ? HTML files (*.html) Fichier HTML (*.html) New Nouveau Recipe Recette Equipment Équipement Fermentable Ingrédient fermentescible Hop Houblon Miscellaneous Autres Yeast Levures Copy %1 Copier %1 Enter a unique name for the copy of %1. Entrer un nom unique pour la copie de %1. Copy Equipment Copier l'équipement Copy Fermentable Copier l'ingrédient fermentescible Copy Hop Copier le houblon Copy Miscellaneous Copier l'ingrédient Copy Yeast Copier la levure Database Update Renouveler la base de données You are about to update the current database with another one. This may make changes to (but will not delete) some of your ingredients. It will not modify any of your recipes. Continue? Vous êtes sur le point de mettre à jour la base de données actuelle par une autre. Cela peut apporter des modifications à (mais ne supprime pas) certains de vos ingrédients. Il ne modifiera pas l'une de vos recettes. Continuer? Select Database File Sélectrionner un fichier de base de données Brewtarget Database (*.sqlite) Base de données Brewtarget (*.sqlite) Recipe name Nom de la recette Recipe name: Nom de la recette: Backup Database Sauvegarde informatique de la base de données Oops! Ooops! Could not copy the files for some reason. Impossible de copier les dossiers. A Warning Mise en garde This will obliterate your current set of recipes and ingredients. Do you want to continue? Ceci supprimera votre recette et vos ingrédients. Voulez-vous poursuivre? For some reason, the operation failed. Cette opération a échoué. Import %1? Importer %1? No mash Aucun empâtage Trying to add a mash step without a mash. Please create a mash first. Impossible d'ajouter une infusion à palier sans créer un profil d'infusion. Veuillez élaborer votre empâtage en premier. Copy Recipe Copier la recette Enter a unique name for the copy. Entrer un nom unique pour la copie. Please give your mash a name before saving. SVP nommez votre empâtage avant de sauvergarder. Restart Reprendre Please restart Brewtarget. Reprendre Brewtarget. No equipment Pas d'équipement You must select or define an equipment profile first. Vous devez sélectionner ou définir un profil de premier équipement. No style Aucun style You must select a style first. Vous devez d'abord sélectionner un style. Choose File Choisir un fichier SQLite (*.sqlite) SQLite (*.sqlite) Style Style Copy Style Copier style The database has been converted/upgraded. La base de données a été convertie/mise à jour The original XML files can be found in Le fichier XML original n'a pu être trouvé dans The import contained invalid beerXML. It has been imported, but please make certain it makes sense. MaltinessWidget <b>Cloying</b> <b>Mielleux</b> <b>Extra malty</b> Très malté <b>Slightly malty</b> Légrement malté <b>Balanced</b> Équilibré <b>Slightly hoppy</b> Légèrement houblonné <b>Extra hoppy</b> Très houblonné <b>Way hoppy</b> Super houblonné MashDesigner No Fermentables Pas d'ingrédient fermentescible Your recipe must have fermentables to design a mash. Votre recette doit comporter au moins un ingrédient fermentescible pour concevoir un brassage. No Equipment Pas d'équipement You have not set an equipment for this recipe. We really cannot continue without one. Vous n'avez pas défini d'équipement pour cette recette. Nous ne pouvons vraiment pas continuer sans. Tun Temp Température de la cuve Enter the temperature of the tun before your first infusion. Entrer la température de la cuve avant la première infusion. Decoction error Erreur de décoction The first mash step cannot be a decoction. Le premier palier ne peut pas être une décoction. MashStepTableModel Bad model index. row = %1 Mauvais modèle d'index de rangée =%1 Bad column: %1 Mauvaise colonne: %1 Name Nom Type Type Amount Quantité Infusion Temp Température d'infusion Target Temp Température cible Time Temps MashWizard Mash thickness (%1/%2) Densité d'empâtage (%1/%2) Bad thickness Mauvaise densité You must have a positive mash thickness. Vous devez avoir une densité d'empâtage positive. No steps Aucun palier There must be at least one mash step to run the wizard. Il doit y avoir au moins un palier pour exécuter l'assistant de brassage. First step Première étape Your first mash step must be an infusion. Votre premier palier doit être un d'infusion. Mash too thick Empâtage trop dense Your mash is too thick for desired temp. at first step. Votre empâtage est trop dense pour la température souhaitée à ce premier pallier. Decoction error Erreur de décoction Something went wrong in decoction calculation. Problème encouru dans les calculs de décoction. Sparge temp. Température d'arrosage. In order to hit your sparge temp, the sparge water must be above boiling. Lower your sparge temp, or allow for more sparge water. Afin d'atteindre votre température d'arrosage, votre eau d'arrosage doit être supérieur au point d'ébullition. Baissez votre température d'arrosage ou ajoutez plus d'eau. Too much wort Trop de moût You have too much wort from the mash for your boil size. I suggest increasing the boil size by increasing the boil time, or reducing your mash thickness. Vous avez obtenu trop de moût de votre empâtage pour le volume de cuisson. Peut-être augmenter le volume de cuisson en augmentant le temps de cuisson, ou réduire la densité d'empâtage. MiscDialog Misc name Nom Misc name: Nom: MiscItemDelegate Spice Épices Fining Agents de collage Water Agent Agent d'eau Herb Herbes Flavor Saveur Other Autres Boil Cuisson Mash Empâtage Primary Primaire Secondary Secondaire Bottling Embouteillage MiscTableModel Name Nom Type Type Use Utilisation Time Temps Amount Quantité Weight Poids Volume Volume Amount Type OptionDialog Open Directory Ouvrir le répertoire Copy Data Copier les données There do not seem to be any data files in this directory, so we will copy your old data here. Il ne semble pas y avoir de fichier de données dans ce répertoire, nous allons y copier les données éxistantes. Restart Reprendre Please restart Brewtarget. Reprendre Brewtarget. QObject Invalid color formula type: %1 Formule de détermination de couleur de type %1 invalide Unrecognized IBU formula type. %1 Forumule d'UAI de type non reconnu.%1 Batch Size: %1 Taille de brassin %1 Boil Size: %1 Taille de cuisson %1 Boil Time: %1 Temps de cuisson %1 OG: %1 DP:%1 FG: %1 DF: %1 Bitterness: %1 IBUs (%2) Amertume:%1 UAI (%2) Color: %1 SRM (%2) Couleur: %1 SRM (%2) Fermentables Ingrédients fermentescibles Name Nom Type Type Amount Quantité Mashed Empâté Late Tardif Yield Rendement Color Couleur Yes Oui No Non Total grain: %1 Total grains: %1 Hops Houblon Alpha Alpha Use Utilisation Time Temps IBU IBU Misc Autres Yeast Levure Form Format Stage Étape Secondary Secondaire Primary Primaire Mash Empâtage Temp Température Target Cible Notes Notes Instructions Directives Directory Problem Problème de répertoire "%1" cannot be read. "%1" ne peut être lu. Config directory "%1" cannot be read. Le répertoire de configuration "%1" ne peut être lu. New Version Nouvelle version Version %1 is now available. Download it? La version %1 est maintenant disponible. La télécharger ? Stop bothering you about new versions? Souhaitez-vous désactiver la vérification des nouvelles versions ? Database Failure Défaillance de base de données Failed to open the database '%1'. Impossible d'ouvrir la base de données '%1'. Save Database Changes Sauvegarder les modifications Would you like to save the changes you made? Voulez-vous sauvegarder les modifications que vous avez faites? Multiple Databases Found Plusieurs bases de données Multiple databases were found. Do you want to restore the changes you made during your last Brewtarget session, or rollback to before last session's changes? Plusieurs bases de données ont été trouvées. Voulez-vous restaurer les modifications que vous avez faites au cours de votre session Brewtarget dernière, ou annuler de la dernière session avant les changements? Restore Restaurer Rollback Annuler Failed to remove the temporary backup database. Navigate to '%1' and remove 'tempBackupDatabase.sqlite'. Impossible de supprimer la base de données de sauvegarde temporaire. Accédez à '%1' et retirer 'tempBackupDatabase.sqlite'. Failed to rollback to the backup database. Navigate to '%1', remove 'database.sqlite' if it exists, and rename 'tempBackupDatabase.sqlite' to 'database.sqlite'. Échec de la restauration à la base de données de sauvegarde. Accédez à '%1', retirez 'database.sqlite' si elle existe, et renommer 'tempBackupDatabase.sqlite' a 'database.sqlite'. Database Restore Failure Impossible de restaurer Failed to restore the backup database. Navigate to '%1' and rename 'tempBackupDatabase.sqlite' to 'database.sqlite'. Impossible de restaurer la base de données de sauvegarde. Naviguer a '%1' et renommer 'tempBackupDatabase.sqlite' a 'database.sqlite'. Grain Grain Sugar Sucre Extract Extrait Dry Extract Extrait sèche Adjunct Succédané Boil Cuisson Mash Empâtage Infusion Infusion Temperature Température Decoction Décoction Bottling Embouteillage Spice Épices Fining Agents de collage Water Agent Agent d'eau Herb Herbes Flavor Saveur Other Autres Ale Ale Lager Lager Wheat Blé Wine Vin Champagne Champagne Liquid Liquide Dry Sèche Slant Gélose inclinée Culture Culture Low Faible Medium Moyen High Élevé Very High Très élevé Recipes Recettes Equipment Équipement Fermentables Ingrédients fermentescibles Hops Houblons Miscellaneous Autres Yeast Levure Efficiency: %1% Efficacité: %1% ABV: %1% ABV: %1% Style Style Recipe Add grains Ajoutez grains Add Ajoutez to the mash tun. à la cuve matière. Heat water Chauffez l'eau Bring Amenez %1 water to %2, %1 eau à %2, for upcoming infusions. pour futures infusions. Add %1 water at %2 to mash to bring it to %3. Ajoutez %1 eau à %2 à l'empâtage afin de l'amener a %3. Heat mash to %1. Chauffez empâtage à %1. Bring %1 of the mash to a boil and return to the mash tun to bring it to %2. Amenez %1 de l'empâtage au point d'ébulition et retournez-le à la cuve-matière afin de l'amener à %2. Hold for %1. Gardez à %1. Put %1 %2 into boil for %3. Ajoutez %1 %2 à la cuisson pendant %3. Put %1 %2 into fermenter for %3. Mettez %1 %2 dans la cuve de fermentation pendant%3. Put %1 %2 into first wort for %3. Mettez %1 %2 en premier moût (first wort) pendant %3. Put %1 %2 into mash for %3. Ajoutez %1 %2 à l'empâtage pendant %3. Steep %1 %2 in wort for %3. Infuser %1 %2 dans le moût pendant %3. Use %1 %2 for %3 Utilisez %1 %2 pendant %3 Hop addition Ajoût de houblon Use %1 %2 at bottling for %3. Utilisez %1 %2 àl'embouteillage pendant %3. Put %1 %2 into primary for %3. Mettez %1 %2 en fermentation primaire pendant %3. Put %1 %2 into secondary for %3. Mettez %1 %2 en fermentation secondaire pendant %3. Use %1 %2 for %3. Utilisez %1 %2 pendant %3. Misc addition Ajoût d'ingrédients divers Do first wort hopping with Complétez houblonnage pré-cuisson à l'aide de First wort hopping Houblonnage pré-cuisson You should now have %1 wort. Vous devriez avoir %1 de moût. Add %1 water to the kettle, bringing pre-boil volume to %2. Ajoutez %1 eau à à la chaudière à moût afin d'avoir un volume pré-cuisson de moût de %2. Pre-boil Pré-cuisson Boil or steep Bouillir ou infuser Boil/steep fermentables Bouillir/infuser les ingrédients fermentescibles to the boil at knockout. à l'ébullition au moment d'éteindre le feu. Knockout additions Additions au moment d'éteindre le feu You should have %1 wort post-boil. Vous devriez maintenant avoir %1 de moût post-cuisson. You anticipate losing %1 to trub and chiller loss. Vous avez anticipé une perte de %1 due à la cassure et au refroidissement dans la chaudière à moût. Add %1 top up water into primary. Ajoutez%1 d'eau supplémentaire à la cuve de fermentation. The final volume in the primary is %1. Le volume final dans la cuve de fermentation est de %1. Post boil Post cuisson Boil time Temps d'ébullition You did not configure an equipment (which you really should), so tell me the boil time. Vous n'avez pas configuré les paramètres de votre équipement. Merci de me dire quelle sera la durée de cuisson. Bring the wort to a boil and hold for %1. Portez le moût au point d'ébullition et maintenez-le pour %1. Start boil Débutez la cuisson Flameout Extinction Stop boiling the wort. Arrêtez l'ébullition du moût. Cool wort and pitch Refroidir le moût et inoculez de levures %1 %2 yeast, %1 %2 levures, to the primary. à la cuve de fermentation primaire. Pitch yeast Inoculez de levures Let ferment until FG is %1. Laissez fermenter jusqu'à une DF de %1. Ferment Fermentez Transfer beer to secondary. Soutirez la bière à la cuve de fermentation secondaire. Transfer to secondary Soutirez à la cuve de fermentation secondaire Add %1 %2 to boil at %3. Ajoutez %1 %2 à la cuisson à %3. Raise water to boil and then remove from heat. Stir in Élever l'eau à ébullition, puis retirer du feu. Incorporez Add Extracts to water Ajouter des extraits à l'eau %1 water to %2 %1 eau à %2 RecipeFormatter unknown style Style inconnu N/A N/A Brewer Brasseur Date Date Batch Size Taille du brassin Boil Size Volumme à l'ébullition Boil Time Durée d'ébullition Efficiency Efficacité OG DP FG DF Unknown Inconnu ABV ABV Bitterness Amertume Color Couleur Calories (per 12 oz.) Calories (par 35cl) Fermentables Ingrédients fermentescibles Total grain: Total grains: Name Nom Type Type Amount Quantité Mashed Empâté Late Tardif Yield Rendement Yes Oui No Non Hops Houblon Alpha Alpha Use Utilisation Time Temps Form Format IBU IBU Misc Divers Yeast Levures Stage Étape Secondary Secondaire Primary Primaire Mash Empâtage Temp Température Target Temp Température cible Notes Notes Instructions Directives Brew Date Date de brassage Preboil Avant ébullition SG Densité Volume into BK Volume dans la cuve d'ébullition Strike Temp Température de versement Final Temp Température finale Eff into BK Eff. d'ébullition Projected OG OG prévu Postboil Après ébullition Postboil Volume Volume après ébullition Volume Into Fermenter Volume dans le fermenteur Brewhouse Eff Efficacité de l'installation Projected ABV Alcool prévu Postferment Après fermentation Volume Volume Print Document Imprimer le document RefractoDialog OG Mismatch Incohérence de densité initiale Based on the given original plato, the OG should be %1, but you have entered %2. Continuing with the calculated OG. Sur base de la teneur en extrait (Plato) renseignée, la densité initiale devrait être %1, mais vous avez renseigné %2. Le calcul continuera avec la densité calculée. ScaleRecipeTool Recipe Scaled Recette ajustée The mash has been reset due to the fact that mash temperatures do not scale easily. Please re-run the mash wizard. Le brassage a été réinitialisé, car les températures ne peuvent être ajustées automatiquement. Exécutez l'assistant à nouveau. The equipment and mash have been reset due to the fact that mash temperatures do not scale easily. Please re-run the mash wizard. L'équipement et l'empâtage ont été réinitialisés puisque la température d'empâtage ne se réduit/augmente pas facilement. SVP activer à nouveau le druide. StyleEditor Style name Nom du style Style name: Nom du style: TimerWidget Open Sound Open Sound Audio Files (*.wav *.ogg *.mp3 *.aiff) Fichiers audio (*.wav *.ogg *.mp3 *.aiff) Stop Arrêtez Start Démarrez WaterTableModel Bad model index. row = %1 Mauvais modèlel d'index de rangée =%1 Bad column: %1 Mauvaise colonne: %1 Name Nom Amount Quantité Calcium (ppm) Calcium (ppm) Bicarbonate (ppm) Bicarbonate (ppm) Sulfate (ppm) Sulfate (ppm) Chloride (ppm) Chlorure (ppm) Sodium (ppm) Sodium (ppm) Magnesium (ppm) Magnésium (ppm) YeastDialog Yeast name Nom des levures Yeast name: Nom des levures: YeastItemDelegate Ale Ale Lager Lager Wheat Blé Wine Vin Champagne Champagne Liquid Liquide Dry Sèche Slant Gélose inclinée Culture Culture YeastTableModel Bad model index. row = %1 Mauvais modèle d'index de rangée =%1 Bad column: %1 Mauvaise colonne: %1 Name Nom Type Type Form Format Amount Quantité Laboratory Laboratoire Product ID ID du produit aboutDialog About Brewtarget À propos de Brewtarget <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'DejaVu Sans'; font-size:9pt; font-weight:400; font-style:normal;"> <p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:20pt;">Brewtarget %1</span></p> <p style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Brewtarget, for developing beer recipes.</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Copyright 2009-2013 by the developers below.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier'; font-weight:600; text-decoration: underline;">Developers</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Peter Buelow</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Dan Cavanagh</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Mik Firestone</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Philip G. Lee &lt;rocketman768@gmail.com&gt;</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier'; font-weight:600; text-decoration: underline;">Copyright (GPLv3)</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Brewtarget is free software: you can redistribute it and/or modify</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">it under the terms of the GNU General Public License as published by</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">the Free Software Foundation, either version 3 of the License, or</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">(at your option) any later version.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Brewtarget is distributed in the hope that it will be useful,</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">but WITHOUT ANY WARRANTY; without even the implied warranty of</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">GNU General Public License for more details.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">You should have received a copy of the GNU General Public License</span></p> <p style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">along with Brewtarget. If not, see &lt;</span><a href="http://www.gnu.org/licenses/"><span style=" font-family:'Courier New,courier'; text-decoration: underline; color:#0000ff;">http://www.gnu.org/licenses/</span></a><span style=" font-family:'Courier New,courier';">&gt;.</span></p> <p style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier'; font-weight:600; text-decoration: underline;">Source Code</span></p> <p style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Brewtarget's source code can be downloaded at </span><a href="http://brewtarget.sourceforge.net"><span style=" font-family:'Sans Serif'; text-decoration: underline; color:#0057ae;">brewtarget.sourceforge.net</span></a><span style=" font-family:'Sans Serif';">.</span></p> <p style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier'; font-weight:600; text-decoration: underline;">Special Thanks</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Guido Carpi (Italian translation)</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Ester (Catalan translation)</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Marc Cote (French translation)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Pawel Fiedor (Polish translation)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Admiro (Polish translation)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Edu Engler (Portuguese translation)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Jan Grmela (Czech translation)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Randy Brace (alpha tester)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://finalgravitypodcast.com"><span style=" font-family:'Sans Serif'; text-decoration: underline; color:#0057ae;">Final Gravity Podcasts</span></a></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Glenn Tinseth &lt;</span><a href="http://www.realbeer.com/hops"><span style=" text-decoration: underline; color:#0000ff;">http://www.realbeer.com/hops</span></a><span style=" font-family:'Courier New,courier';">&gt;</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">server, printer, edit-copy, document-print-preview and merge images from Oxygen theme (CC license)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">backup image from Nuvola theme (LGPL)</span></p></body></html> Donate Don brewDayScrollWidget Form Format Generate Instructions Générer des Instructions Insert step Insérez un palier Name Nom Name of new step Nom du nouveau palier Step # Palier # The number where the new step should be placed Le numéro où le nouveau palier devrait être inséré Insert the new step Insérez un nouveau palier Move steps Déplacez les paliers Move currently selected step up Déplacez le palier choisi vers le haut Move currently selected step down Déplacez le palier choisi vers le bas Remove currently selected step Supprimez le palier que vous avez choisi brewDayWidget Brewday Mode Mode - Journée de brassage Instructions Directives Move currently selected step up Déplacez le palier choisi vers le haut Up Haut Move currently selected step down Déplacez le palier choisi vers le bas Down Bas Remove currently selected step Supprimez le palier que vous avez choisi Remove Supprimez Insert step Insérez un palier Name Nom Name of new step Nom du nouveau palier Step # Palier # The number where the new step should be placed Le numéro où le nouveau palier devrait être inséré Insert the new step Insérez un nouveau palier Insert Insérez brewNoteWidget Form Formulaire Preboil Avant ébullition SG Densité Preboil gravity Densité avant ébullition Volume Volume Volume of wort collected Volume de moût collecté Strike Temp Temp. de versement Temperature of mash after dough in Température après empâtage Final Temp Température finale Temperature of mash before mash out Température avant mash out Postboil Après ébullition OG DP Post boil gravity Densité après ébullition Postboil Volume Volume après ébullition Volume of wort in BK after boil Volume de moût dans la cuve, après ébullition Volume of wort transferred to fermenter Volume de moût transféré dans le fermenteur Volume into fermenter Volume dans le fermenteur Pitch Temp Température d'inoculation Temperature of wort when yeast is pitched Température du moût lors de l'inoculation Postferment Après fermentation Final gravity Densité finale Volume of beer into serving keg/bottles Volume de bière en fûts/bouteilles Date when the yeast fermented out Date de fin de fermentation percent efficiency into boil kettle Efficacité dans la cuve d'ébullition Eff into BK Eff. d'ébullition Expected OG, based on measure fg OG devrait, sur la base fg mesure Projected OG OG prévu Brewhouse efficiency Efficacité de l'installation Brewhouse Eff Efficacité de l'installation Expected ABV based on OG Alcool devrait, sur la base OG Projected ABV Alcool prévu ABV based on FG Alcool devrait, sur la base FG ABV ABV Notes Notes btSplashScreen Form Formulaire converterTool Converter Tool Outil de convertisseur Input Saisie Amount and units to convert Quantité et unités à convertir Output Units Unités de sortie Unit you want to convert to Unité que vous aimeriez convertir Output Sortie Output conversion Convertisseur de sortie Convert Convertir equipmentEditor Equipment Editor Éditeur d'équipement Equipment Équipement Remove equipment Supprimez équipement Set as Default Définie par Défaut Required Fields Champs demandés Name Nom Pre-boil volume Volume pré-cuisson If checked, we will calculate your pre-boil volume based on your desired batch size, boil time, evaporation rate, losses, etc. Si coché, nous calculerons le volume pré-cuisson en fonction de la taille souhaité de votre brassin, le temps de cuisson, taux d'évaporation, pertes. etc. Calculate pre-boil volume Calculez le volume pré-cuisson Automatically fill in pre-boil volume Remplir le volume pré-cuisson automatiquement Batch size Taille du brassin Boiling && Water Eau bouillante Boil time Temps d'ébullition Evaporation rate (per hr) Taux d'évaporation (/heure) How much water boils off per hour Quantité d'eau perdu à l'évaporation en une heure Kettle top-up water Ajout d'eau supplémentaire à la chaudière à moût How much water is added to kettle immediately pre-boil Quantité d'eau ajouté à la chaudière à moût immédiatement avant la cuisson Final top-up water Ajout d'eau supplémentaire final Water added to fermenter Eau ajouté à la cuve de fermentation primaire Grain Absorption (L/kg) Absorption du grain (l/kg) Default Absorption Absorption par défaut Boiling Point of Water Température d'ébullition de l'eau Hop Utilization L'utilisation du Houblon Mash Tun Cuve-matière Volume Volume Volume of mash tun Volume de la cuve-matière Mass Masse Mass or weight of mash tun Masse ou poids de la cuve-matière Specific heat (cal/(g*K)) Chaleur spécifique (cal/(g*K) Losses Pertes Kettle to fermenter Chaudière a moût à cuve de fermentation Wort lost between kettle and fermenter Perte en moût entre chaudière à moût et cuve de fermentation Lauter deadspace Espace mort dans la cuve-filtre Volume of wort lost to lauter deadspace Volume d'eau perdu à l'espace mort dans la cuve-filtre Notes Notes New equipment Nouvel équipement Save Sauvegardez Cancel Annuler fermentableDialog Fermentable Database Base de donnée d'ingrédients fermentescibles Add selected ingredient to recipe Ajoutez ingrédients selectionnés à la recete Add to Recipe Ajoutez à la recette Create new ingredient Créez un nouvel ingrédient New Nouveau Edit selected ingredient Modifiez ingrédient sélectionné Remove selected ingredient Supprimez ingrédient sélectionné fermentableEditor Fermentable Editor Éditeur d'ingrédients fermentescibles Required Fields Champs demandés Name Nom Type Type Grain Grain Sugar Sucre Extract Extrait Dry Extract Extrait sèche Adjunct Succédané Amount Quantité Yield (%) Rendement % Yield as compared to glucose Rendement en comparant à du glucose Lovibond Lovibond Lovibond rating Échelle de notation Lovibond Add After Boil Ajoutez après la cuisson This ingredient is added post boil. Cet ingrédient est ajouté après la cuisson. Origin Origine Supplier Fournisseur Coarse/Fine Diff (%) Brut/Fin diff (%) Yield difference between coarse and fine grind Différence de rendement entre concassage brut et fin Moisture (%) Humidité (%) Moisture percentage by mass Pourcentage d'humidité par masse DP (Lintner) DP (Lintner) Diastatic power in Lintner Capacité disastasique en unités Lintner Protein (%) Protéine (%) Protein percentage by mass Pourcentage de protéine par masse Max In Batch (%) Max dans le brassin (%) Maximum recommended percentage of total grist Pourcentage maximal suggéré de mouture de malt Recommend Mash Empâtage suggéré Recommend this be mashed Suggérez que ceci soit empâté Is Mashed Est empâté Checked if it is present in mash Cochez si ceci est présent dans l'empâtage Bitterness (IBU*gal/lb) Amertertume ((IBU*gal/lb) Bitterness of pre-hopped extracts Amertume des extraits pré-houblonnés Notes: Notes: hopDialog Hop Database Base de données du houblon Add selected ingredient to recipe Ajoutez ingrédients selectionnés à la recette Add to Recipe Ajoutez à la recette New hop Nouveau houblon New Nouveau Edit Modifiez Remove Supprimez hopEditor Hop Editor Éditeur de houblon Required Fields Champs demandés Name Nom Alpha (%) % alpha Alpha acids as percent by mass Acides alpha en fonction du pourcentage par masse Amount Quantité Amount Quantité Use Utilisation Mash Empâtage First Wort Houblonnage pré-cuisson Boil Cuisson Aroma Arôme Dry Hop Houblonnage à cru Time Temps Type Type Bittering Amérisant Both Les deux Form Format Leaf Feuille Pellet Granule Plug Pastille Beta (%) % bêta Beta acids as percent by mass Acides bêta en fonction du pourcentage par masse HSI HSI Hop Stability/Storage index Indice de stabilité/durée de conservation du houblon Origin Origine Humulene (%) Humulène (%) Humulene Humulène Caryophyllene (%) Caryophyllène (%) Caryophyllene Caryophyllène Cohumulone (%) Cohumulène (%) Cohumulone Cohumulène Myrcene (%) Myrcène (%) Myrcene Myrcène Substitutes: Substituts: Notes: Notes: htmlViewer Html Viewer Visualiseur Html about:blank Au sujet de:vierge instructionWidget Form Format Show a timer Visualiser une minuterie Show timer Visualiser la minuterie Mark this step completed Cochez cette étape comme étant complétée Step completed Étape achevée mainWindow Recipes Recettes Styles Styles Fermentables Ingrédients fermentescibles Hops Houblon Miscs Autres Yeasts Levures Recipe Recette Name Nom Name of recipe Nom de la recette 5 gal 5 gal Target boil size Taille ciblé du volume de cuisson Efficiency (%) Rendement (%) Calculated Boil Size Taille fixé du volume de cuisson Calculated Batch Size Taille fixé du brassin The extraction efficiency you expect Le rendement au brassage auquel vous vous attendiez Style Style Boil Time Durée d'ébullition Target batch size Taille ciblée du brassin Target Batch Size Taille du brassin ciblé Equipment Équipement Target Boil Size Taille ciblé du volume de cuisson OG DP Boil SG DS de la cuisson FG DF ABV ABV Bitterness (IBU) Amertume: (UAI) Color Couleur IBU/GU IBU/UD Calories/12oz Calories (par 35cl) Extras Extras Brewday Journée de brassage Add a fermentable Ajoutez un ingrédient fermentescible Remove selected fermentable Supprimez ingrédient fermentescible sélectionné Edit selected fermentable Modifiez ingrédient fermentescible sélectionné Add hop Ajoutez houblon Remove selected hop Supprimez houblon sélectionné Edit selected hop Modifiez houblon sélectionné Miscellaneous Autres Add misc Ajoutez autres Remove selected misc Supprimez autres sélectionné Edit selected misc Modifiez autres sélectionné Yeast Levures Add yeast Ajoutez levures Remove selected yeast Supprimez levures sélectionnés Edit selected yeast Modifiez levures sélectionné Mash Empâtage Add mash step Ajoutez un palier d'empâtage Remove selected mash step Supprimez le palier d'empâtage sélectionné Edit selected mash step Modifiez le palier d'empâtage sélectionné Edit mash properties Modifiez les propriétes d'empâtage Edit mash Modifiez l'empâtage Mash Des Invoke the mash wizard Faites appel au druide d'empâtage Mash wiz Druide d'empâtage Mashs Empâtage Mash step up Monter le palier Mash step down Descendre lepalier Save this mash profile Sauvegardez ce profil d'empâtage Save Mash Sauvegardez empâtage &About À propos &File &Fichier &Brewday Journée de &brassage &Recipe Recette &Database Base de données &View &Visulaliser &Tools Outils toolBar Barre d'outils About &BrewTarget À propos de Brewtarget About Brewtarget À propos de Brewtarget &Export Recipe Exporter une recette &Fermentables Ingrédients fermentescibles Ctrl+F Ctrl+F &Hops Houblon Ctrl+H Ctrl+H &Miscs Autres Ctrl+M Ctrl+M &Yeasts Levures Ctrl+Y Ctrl+Y &Equipments Équipement Ctrl+E Ctrl+E &Styles Styles Ctrl+T Ctrl+T &Exit Sortie Ctrl+Q Ctrl+Q &Import Recipes Importer recettes &Options Options &Manual Manuel &Scale Recipe Recette ajustée Recipe to Clipboard as &Text Exporter la recette en format texte &OG Correction Help Aide à la correction de DP &Convert Units Convertir unités Backup Database Sauvegarde informatique de la base de données Restore Database Restaurer la base de données &Copy Recipe Copier la recette Pr&iming Calculator Calculateur d'édulcoration &Refractometer Tools Outils &Réfractomètre &Pitch Rate Calculator Calculateur d'&inoculation Merge Databases Fusionner les bases de données Select another database to merge into the current one. Sélectionnez une base de données à fusionner avec l'actuelle. &Print Imprimer Print Pre&view &Aperçu avant impression &Export To HTML &Exporter en HTML &Export to HTML &Exporter en HTML &Backup Sauvegarde Save all recipes, ingredients, etc. to a backup folder Sauvegarder toutes les recettes, ingrédients, etc. dans un dossier &Restore &Restaurer Restore recipes, ingredients, etc. from a previous backup Restaure les recettes, ingrédients, etc. depuis une sauvegarde &Merge &Fusionner Merge another set of recipes, ingredients, etc. into the current set Fusionner un autre set de recettes, d'ingrédients, etc.dans l'actuel &New Recipe &Nouvelle recette Timers Minuteries Show timers Visualiser la minuterie Save Sauvegardez Delete selected Supprimez le sélectionné Delete recipe Retirer recette Donate Don &Mashs Mashes mashDesigner Mash Designer Designer de brassage Name Nom Type Type Target temp. Température cible. Time Temps Batch Sparge Rinçage discontinu Next Suivant Finish Terminer Infusion/Decoction Amount Quantité d'infustion/de décoction min min max max 0 0 Infusion Temp Température d'infusion Total Collected Wort Total de moût collecté vol vol Tun Fullness Remplissage de la cuve tunVol thickness Épaisseur mashEditor Mash Editor Éditeur d'empâtage Name Nom Initial grain temp Température du grain Sparge temp Température d'arrosage Sparge temp target Température d'arrosage ciblé Sparge pH pH de l'eau d'arrosage Notes Notes Tun Cuve-matière Initial tun temp Température initiale de la cuve matière Get following parameters from the recipe's equipment. Incorporez les paramètres suivants de l'équipement utilisé de la recette. From Equipment De l'équipement Tun mass Poids de la cuve-matière Tun sp. heat Chaleur spécifique cuve-matière Tun specific heat (cal/(g*K)) Chaleur spécifique cuve-matière (cal/(g*K)) mashStepEditor Mash Step Editor Éditeur de paliers d'empâtage Name Nom Type Type Infusion Infusion Temperature Température Decoction Décoction Target temp. Température cible. Target temp. of this step Température cible de ce palier Infuse Amount Infusez quantité Amount of water to infuse Quantié d'eau à utiliser pour l'infusion Infuse temp. Température d'infusion. Temperature of infusion water Température de l'eau d'infusion Decoction Amount Quantité de décoction Amount of mash to decoct Quantité de moût à retirer pour décoction Time Temps Time to conduct the step Durée de temps de ce palier Temp. lag time Temps de latence de température Lag time Temps de latence End temp. Température finale. Final temp. of this step Température finale de ce palier mashWizard Mash Wizard Druide d'empâtage Mash thickness (L/kg) Densité d'empâtage (L/kg) Mash thickness (do not enter any units) Densité d'empâtage (ne pas entrer d'unités) miscDialog Misc Database Base de données d'autres ingrédients Add selected ingredient to recipe Ajoutez ingrédients selectionnés à la recette Add to Recipe Ajoutez a la recette Create a new ingredient Créez un nouvel ingrédient New Nouveau Edit selected ingredient Modifiez ingrédient sélectionné Remove selected ingredient Supprimez ingrédient sélectionné miscEditor Misc Editor Éditeur autres ingrédients Name Nom Type Type Spice Épices Fining Agents de collage Water Agent Agent d'eau Herb Herbes Flavor Saveur Other Autres Use Utilisation Boil Cuisson Mash Empâtage Primary Primaire Secondary Secondaire Bottling Embouteillage Time Temps Amount Quantité Check it if the amount listed is in kg instead of L. Vérifiez si la quantité est exprimée en kg et non en L. Amount is weight? La quantité est le poids? Checked if the given amount is weight instead of volume Vérifier si la quantité est exprimée en poids au lieu d'en volume Use for: Utilisé pour: Notes: Notes: namedMashEditor Named Mash Editor Mash Empâtage Delete selected style Supprimez le style sélectionné Name Nom Initial grain temp Température initiale du grain Sparge temp Température d'arrosage Sparge temp target Température d'arrosage désirée Sparge pH pH de l'eau d'arrosage Notes Notes Tun Cuve-matière Initial tun temp Température initiale de la cuve matière From Equipment De l'équipement Tun mass Poids de la cuve-matière Tun sp. heat Chaleur spécifique cuve-matière Tun specific heat (cal/(g*K)) Chaleur spécifique cuve-matière (cal/(g*K)) Add mash step Ajoutez un palier d'empâtage Remove selected mash step Supprimez le palier d'empâtage sélectionné Mash step up Monter le palier Mash step down Descendre le palier ogAdjuster Adjust Volume to Hit OG Ajustez le volume pour atteindre la DP Input Saisie SG Densité Measured gravity pre-boil Densité mesurée pré-cuisson Temp Température Temperature of SG reading Température de la lecture de densité Calibration Temp Température de calibrage Temp to which the hydrometer is calibrated Température à laquelle le densimètre est calibré -or- -ou- Plato Plato Plato (percent by mass of equivalent sucrose) Plato (pourcentage de la masse de sucrose équivalent) Pre-Boil Volume Volume pré-cuisson Measured pre-boil volume Volume pré-cuisson calculé Output Sortie OG w/o Correction DP sans correction OG if you boil as planned DP si vous cuisez tel que prévu Add to Boil Ajoutez à la cuisson Amount of water you need to add to hit planned OG (or boil off if negative) Quantité d'eau que vous devez ajouter afin d'atteindre la DP prévue (ou taux d'évaporation si négatif) Final Batch Size Taille de brassin final Estimated batch size after correction Taille du brassin approximatif après correction Calculate Calculez optionsDialog Options Options Units Unités Weight Poids Use SI units Utilisez unités métriques Use US traditional units Utilisez unités impériales (US) Use British imperial units Utilisez unités impériales (GBR) Temperature Température Celsius Celsius Fahrenheit Fahrenheit Volume Volume Gravity Desnité 20C/20C Specific Gravity Densité à 20°C Plato/Brix/Balling Plato/Brix/Balling Color Couleur Use SRM Utilisé SRM Use EBC Utilisé EBC Formulas Formule Mosher's approximation Approximation selon Mosher Daniels' approximation Approximation selon Daniel Morey's approximation Approximation selon Morey IBU IBU Tinseth's approximation Approximation selon Tinseth Rager's approximation Approximation selon Rager IBU Adjustments AJustages de l'IBU % IBU adjustment Mash Hop First Wort Houblonnage pré-cuisson Directories Répertoires Database Directory Répertoire de la base de données Where your brewtarget .xml files are. Localisation de vos fichier .xml de brewtarget. Browse Rechercher Default Défaut Language Langue Czech Tchèque Catalan Catalan German Allemand English Anglais Spanish Espagnole French Française Italian Italien Dutch Néérlandais Polish Polonaise Portuguese Portugaise Russian Russe <qt> <b>Know another language?</b> <br><br> Or, would you like to improve a translation? Help us out and <a href="https://sourceforge.net/sendmessage.php?touser=938941"> provide a translation</a> so that your friends can use brewtarget! </qt> <qt> <b>Connaissez vous une autre langue?</b> <br><br> Ou, souhaitez-vous pour améliorer une traduction? Aidez-nous et <a href="https://sourceforge.net/sendmessage.php?touser=938941"> fournir une traduction</a> pour que vos amis peuvent utiliser brewtarget! </qt> pitchDialog Pitch Rate Calculator Calculateur d'inoculation Input Saisie Wort Volume Volume de moût OG DP For ales, 0.75-1. For lagers, 1.5-2. Pour ferm. haute: 0.75-1. Pour ferm. basse: 1.5-2. Pitch Rate (M cells)/(mL*P) Taux d'inoculation [M cellules/(mL*P)] Aeration Method Méthode d'aération Yeast Production Date Date de production de la levure Yeast Viability La viabilité None Aucun O2 At Start O2 au début Stir Plate MM/dd/yyyy dd/MM/yyyy % % TextLabel Champ texte Calculate Viability From Date Dalculer la viabilité de la date # Vials/Smack Packs Pitched Flacons usagés Output Sortie Billions of Yeast Cells Required Millards de cellules requises # Vials/Smack Packs w/o Starter Flacons nécessaires sans Starter Dry Yeast Levure sèche Starter Volume Volume de starter primingDialog Priming Calculator Calculateur d'édulcoration Input Saisie Collected Beer Volume Volume de bière capté Amount of beer to prime Quantité de bière faisant l'objet d'édulcoration Beer Temperature Température de la bière Temp of the beer Température de la bière Desired Volumes Volume souhaité How many volumes of CO2 you want (1 L CO2 @ STP per L beer) Combien de volume de C02 souhaitez-vous ? (1 L CO2 @ STP par L bière) Glucose Monohydrate (corn sugar) Glucose monohydrate (sucre de maïs) Anhydrous Glucose Glucose anhydre Sucrose (table sugar) Sucrose (sucre blanc de table) Dry Malt Extract Extrait de malt en poudre Output Sortie Prime with Édulcoré avec How much priming ingredient to use Quantité d'ingrédients d'éculcoration à utiliser Calculate Calculez recipeExtrasDialog Recipe Extras Recettes-extras Brewer Brasseur Asst. Brewer Asst. brasseur Taste Rating Échelle de notation du goût Primary Age (days) Garde primaire (jours) Primary Temp Température primaire Secondary Age (days) Garde secondaire (jours) Secondary Temp Température secondaire Tertiary Age (days) Garde tertiaire (jours) Tertiary Temp Température tertiaire Bottle/Keg Age (days) Garde en bouteilles/fût (jours) Bottle/Keg Temp Température en bouteilles/fût Date First Brewed Date à laquelle la recette a été brassée la première fois dd MMM yyyy jour mois année Carbonation Volumes Volumes de carbonatation Taste Notes Notes de dégustation Notes Notes Cancel Annuler recipeExtrasWidget Form Format Brewer Brasseur Asst. Brewer Asst. brasseur Taste Rating Échelle de notation du goût Primary Age (days) Garde primaire (jours) Primary Temp Température primaire Secondary Age (days) Garde secondaire (jours) Secondary Temp Température secondaire Tertiary Age (days) Garde tertiaire (jours) Tertiary Temp Température tertiaire Bottle/Keg Age (days) Garde en bouteilles/fût (jours) Bottle/Keg Temp Température en bouteilles/fût Date First Brewed Date à laquelle la recette a été brassée la première fois dd MMM yyyy jour mois année Carbonation Volumes Volumes de carbonatation Taste Notes Notes de dégustation Notes Notes refractoDialog Refractometer Tools Outil Réfractomètre Inputs Données Original Plato Densité primitive (°P) OG (20 C) DP (20°C) Current Plato Densité actuelle (°P) Calculate Calculez Outputs Résultats SG (20C) Densité (20°C) ABV ABV ABW Refractive Index Indice de réfraction Real Extract (Plato) Extrait réel (°P) OG (20C) DP (20°C) scaleRecipeTool Scale Recipe Ajustez la recette New batch size Nouvelle taille de brassin New efficiency (pct) Nouvelle efficacité (pct) styleEditor Style Editor Éditeur de style Style Style Delete selected style Supprimez le style sélectionné Basic Information Les informations de base Name Nom Category Catégorie Category number Numéro de catégorie Style letter Lettre de style Style guide Guide de style Type Type Type of beverage Type de breuvage Lager Lager Ale Ale Mead Hydromel Wheat Blé Mixed Mixte Cider Cidre Vital Statistics Statistiques essentielles Max Maximum Min Minimum OG DP FG DF IBUs Color (SRM) Couleur (SRM) Carb (vols) ABV (pct) % vol. d'alcool Profile Profile Ingredients Ingrédients Examples Exemples Notes Notes New Nouveau Save Sauvegardez Cancel Annuler timerListDialog Timers Minuteries timerWidget Form Format Set the timer to the specified value Mise a l'heure de la minuterie (valeur spécifiée) Set Charger HH:MM:SS HH:MM:SS Start/Stop timer Démarrer/arrêter la minuterie Start Démarrer Set a sound as the alarm Charger un son à l'alarme Sound Son waterEditor Dialog Boîte de dialogue Name Nom Notes Notes yeastDialog Yeast Database Base de données des levures Add selected yeast to recipe Ajoutez levures selectionnées à la recette Add to Recipe Ajoutez à la recette Create new yeast Créez une nouvelle levure New Nouveau Edit selected yeast Modifiez levures sélectionnées Remove selected yeast Supprimez levure sélectionnée yeastEditor Yeast Editor Éditeur de levure Required Fields Champs demandés Name Nom Type Type Ale Ale Lager Lager Wheat Blé Wine Vin Champagne Champagne Form Format Liquid Liquide Dry Sèche Slant Gélose inclinée Culture Culture Amount Quantité Check it if the amount given is in kg instead of L. Vérifier si la quantité est exprimée en kg au lieu de L. Amount is weight? Quantité est le poids? Checked if the given amount is weight instead of volume Vérifiez si la quantité est exprimée en poids au lieu de volume Lab Lab Product ID ID du produit Min Temp Température minimale Min temp Température minimale Max Temp Température maximale Max temp Température maximale Flocculation Floculation Low Faible Medium Moyen High Élevé Very High Très élevé Attenuation (%) Atténuation (%) Apparent attenuation as percentage of OG points Atténuation apparente en fonction du pourcentage de densité Times Recultured # de fois culturé Times this yeast has been recultured # de fois que cette levure a été culturée Max Recultures Quantité maximale de cultures Max recultures Quantité maximale de cultures Add to Secondary Ajoutez à la cuve de fermentation secondaire Checked means add this yeast to secondary instead of primary Lorsque coché,ajouter cette levure à la cuve de fermentation secondaire et non primaire Best For: Utilisation optimale: Notes: Notes: brewtarget-2.0.2/translations/bt_hu.ts0000644000175000017500000050047112266512176017426 0ustar philipphilip BrewDayScrollWidget Style Date Boil Time Efficiency Boil Volume Preboil Gravity Final Volume Starting Gravity IBU Final Gravity ABV Estimated calories(per 12 oz) Instructions Completed Time Step Actual PreBoil Volume Actual PreBoil Gravity PostBoil Volume PostBoil Gravity Volume into fermenter Print Document <h2>Notes</h2> Step %1: %2 Add grains Heat water BrewDayWidget Style Date Boil Volume Preboil Gravity Final Volume Starting Gravity Boil Time IBU Predicted Efficiency Estimated calories (per 12 oz) Instructions Completed Time Step Actual Pre-boil Volume: Actual Pre-boil Gravity: Post-boil Volume: Post-boil Gravity: Volume in fermenter: Print Document Notes Step %1: %2 BrewTargetTreeModel Name Brew Date Style Boil Time Color Type Use Form Category Number Letter Guide BrewTargetTreeView New Recipe Brew It! Brew Again Delete New Equipment New Fermentable New Hop New Misc New Yeast Copy Export Import Change date New Style Recalculate eff Brewtarget Default EBC SRM Plato Specific Gravity SI US Customary Milligrams Grams Kilograms Ounces Pounds Celsius Fahrenheit British Imperial MilliLiters Liters Teaspoons Tablespoons Cups Quarts Gallons BtDigitWidget Too low for style. In range for style. Too high for style. Database Merge Database There may be new ingredients and recipes available. Would you like to add these to your database? EquipmentEditor Grain absorption (%1/%2) Tun Volume Warning Batch Size Warning Equipment name Equipment name: The tun volume you entered is 0. This may cause problems The batch size you entered is 0. This may cause problems Hop Utilization Warning The hop utilization percentage you entered is 0. This may cause problems FermentableDialog Fermentable name Fermentable name: FermentableItemDelegate Grain Sugar Extract Dry Extract Adjunct FermentableTableModel Bad model index. row = %1 Mashed Steeped Not mashed Late Normal Bad column: %1 Name Type Amount Late Addition Yield % Color (SRM) Color (EBC) Hop Mash First Wort Boil Aroma Dry Hop Bittering Both Leaf Pellet Plug HopDialog Hop name Hop name: HopItemDelegate Boil Dry Hop Mash First Wort Aroma Leaf Pellet Plug HopTableModel Name Alpha % Amount Use Time Form MainWindow Open BeerXML files (*.xml) Save Equipment request Would you like to set the batch size, boil size and time to that requested by the equipment? Delete %1 Delete %1 %2? HTML files (*.html) New Recipe Equipment Fermentable Hop Miscellaneous Yeast Copy %1 Enter a unique name for the copy of %1. Copy Equipment Copy Fermentable Copy Hop Copy Miscellaneous Copy Yeast Database Update You are about to update the current database with another one. This may make changes to (but will not delete) some of your ingredients. It will not modify any of your recipes. Continue? Select Database File Brewtarget Database (*.sqlite) Recipe name Recipe name: Backup Database Oops! Could not copy the files for some reason. A Warning This will obliterate your current set of recipes and ingredients. Do you want to continue? For some reason, the operation failed. Import %1? No mash Trying to add a mash step without a mash. Please create a mash first. Copy Recipe Enter a unique name for the copy. Please give your mash a name before saving. Restart Please restart Brewtarget. No equipment You must select or define an equipment profile first. No style You must select a style first. Choose File SQLite (*.sqlite) Style Copy Style The database has been converted/upgraded. The original XML files can be found in The import contained invalid beerXML. It has been imported, but please make certain it makes sense. MaltinessWidget <b>Cloying</b> <b>Extra malty</b> <b>Slightly malty</b> <b>Balanced</b> <b>Slightly hoppy</b> <b>Extra hoppy</b> <b>Way hoppy</b> MashDesigner No Fermentables Your recipe must have fermentables to design a mash. No Equipment You have not set an equipment for this recipe. We really cannot continue without one. Tun Temp Enter the temperature of the tun before your first infusion. Decoction error The first mash step cannot be a decoction. MashStepTableModel Bad model index. row = %1 Bad column: %1 Name Type Amount Infusion Temp Target Temp Time MashWizard Mash thickness (%1/%2) Bad thickness You must have a positive mash thickness. No steps There must be at least one mash step to run the wizard. First step Your first mash step must be an infusion. Mash too thick Your mash is too thick for desired temp. at first step. Decoction error Something went wrong in decoction calculation. Sparge temp. In order to hit your sparge temp, the sparge water must be above boiling. Lower your sparge temp, or allow for more sparge water. Too much wort You have too much wort from the mash for your boil size. I suggest increasing the boil size by increasing the boil time, or reducing your mash thickness. MiscDialog Misc name Misc name: MiscItemDelegate Spice Fining Water Agent Herb Flavor Other Boil Mash Primary Secondary Bottling MiscTableModel Name Type Use Time Amount Weight Volume Amount Type OptionDialog Open Directory Copy Data There do not seem to be any data files in this directory, so we will copy your old data here. Restart Please restart Brewtarget. QObject Invalid color formula type: %1 Unrecognized IBU formula type. %1 Batch Size: %1 Boil Size: %1 Boil Time: %1 OG: %1 FG: %1 Bitterness: %1 IBUs (%2) Color: %1 SRM (%2) Fermentables Name Type Amount Mashed Late Yield Color Yes No Total grain: %1 Hops Alpha Use Time IBU Misc Yeast Form Stage Secondary Primary Mash Temp Target Notes Instructions Directory Problem "%1" cannot be read. Config directory "%1" cannot be read. New Version Version %1 is now available. Download it? Stop bothering you about new versions? Database Failure Failed to open the database '%1'. Save Database Changes Would you like to save the changes you made? Multiple Databases Found Multiple databases were found. Do you want to restore the changes you made during your last Brewtarget session, or rollback to before last session's changes? Restore Rollback Failed to remove the temporary backup database. Navigate to '%1' and remove 'tempBackupDatabase.sqlite'. Failed to rollback to the backup database. Navigate to '%1', remove 'database.sqlite' if it exists, and rename 'tempBackupDatabase.sqlite' to 'database.sqlite'. Database Restore Failure Failed to restore the backup database. Navigate to '%1' and rename 'tempBackupDatabase.sqlite' to 'database.sqlite'. Grain Sugar Extract Dry Extract Adjunct Boil Mash Infusion Temperature Decoction Bottling Spice Fining Water Agent Herb Flavor Other Ale Lager Wheat Wine Champagne Liquid Dry Slant Culture Low Medium High Very High Recipes Equipment Fermentables Hops Miscellaneous Yeast Efficiency: %1% ABV: %1% Style Recipe Add grains Add to the mash tun. Heat water Bring %1 water to %2, for upcoming infusions. Add %1 water at %2 to mash to bring it to %3. Heat mash to %1. Bring %1 of the mash to a boil and return to the mash tun to bring it to %2. Hold for %1. Put %1 %2 into boil for %3. Put %1 %2 into fermenter for %3. Put %1 %2 into first wort for %3. Put %1 %2 into mash for %3. Steep %1 %2 in wort for %3. Use %1 %2 for %3 Hop addition Use %1 %2 at bottling for %3. Put %1 %2 into primary for %3. Put %1 %2 into secondary for %3. Use %1 %2 for %3. Misc addition Do first wort hopping with First wort hopping You should now have %1 wort. Add %1 water to the kettle, bringing pre-boil volume to %2. Pre-boil Boil or steep Boil/steep fermentables to the boil at knockout. Knockout additions You should have %1 wort post-boil. You anticipate losing %1 to trub and chiller loss. Add %1 top up water into primary. The final volume in the primary is %1. Post boil Boil time You did not configure an equipment (which you really should), so tell me the boil time. Bring the wort to a boil and hold for %1. Start boil Flameout Stop boiling the wort. Cool wort and pitch %1 %2 yeast, to the primary. Pitch yeast Let ferment until FG is %1. Ferment Transfer beer to secondary. Transfer to secondary Add %1 %2 to boil at %3. Raise water to boil and then remove from heat. Stir in Add Extracts to water %1 water to %2 RecipeFormatter unknown style N/A Brewer Date Batch Size Boil Size Boil Time Efficiency OG FG Unknown ABV Bitterness Color Calories (per 12 oz.) Fermentables Total grain: Name Type Amount Mashed Late Yield Yes No Hops Alpha Use Time Form IBU Misc Yeast Stage Secondary Primary Mash Temp Target Temp Notes Instructions Brew Date Preboil SG Volume into BK Strike Temp Final Temp Eff into BK Projected OG Postboil Postboil Volume Volume Into Fermenter Brewhouse Eff Projected ABV Postferment Volume Print Document RefractoDialog OG Mismatch Based on the given original plato, the OG should be %1, but you have entered %2. Continuing with the calculated OG. ScaleRecipeTool Recipe Scaled The mash has been reset due to the fact that mash temperatures do not scale easily. Please re-run the mash wizard. The equipment and mash have been reset due to the fact that mash temperatures do not scale easily. Please re-run the mash wizard. StyleEditor Style name Style name: TimerWidget Open Sound Audio Files (*.wav *.ogg *.mp3 *.aiff) Stop Start WaterTableModel Bad model index. row = %1 Bad column: %1 Name Amount Calcium (ppm) Bicarbonate (ppm) Sulfate (ppm) Chloride (ppm) Sodium (ppm) Magnesium (ppm) YeastDialog Yeast name Yeast name: YeastItemDelegate Ale Lager Wheat Wine Champagne Liquid Dry Slant Culture YeastTableModel Bad model index. row = %1 Bad column: %1 Name Type Form Amount Laboratory Product ID aboutDialog About Brewtarget <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'DejaVu Sans'; font-size:9pt; font-weight:400; font-style:normal;"> <p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:20pt;">Brewtarget %1</span></p> <p style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Brewtarget, for developing beer recipes.</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Copyright 2009-2013 by the developers below.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier'; font-weight:600; text-decoration: underline;">Developers</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Peter Buelow</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Dan Cavanagh</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Mik Firestone</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Philip G. Lee &lt;rocketman768@gmail.com&gt;</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier'; font-weight:600; text-decoration: underline;">Copyright (GPLv3)</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Brewtarget is free software: you can redistribute it and/or modify</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">it under the terms of the GNU General Public License as published by</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">the Free Software Foundation, either version 3 of the License, or</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">(at your option) any later version.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Brewtarget is distributed in the hope that it will be useful,</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">but WITHOUT ANY WARRANTY; without even the implied warranty of</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">GNU General Public License for more details.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">You should have received a copy of the GNU General Public License</span></p> <p style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">along with Brewtarget. If not, see &lt;</span><a href="http://www.gnu.org/licenses/"><span style=" font-family:'Courier New,courier'; text-decoration: underline; color:#0000ff;">http://www.gnu.org/licenses/</span></a><span style=" font-family:'Courier New,courier';">&gt;.</span></p> <p style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier'; font-weight:600; text-decoration: underline;">Source Code</span></p> <p style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Brewtarget's source code can be downloaded at </span><a href="http://brewtarget.sourceforge.net"><span style=" font-family:'Sans Serif'; text-decoration: underline; color:#0057ae;">brewtarget.sourceforge.net</span></a><span style=" font-family:'Sans Serif';">.</span></p> <p style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier'; font-weight:600; text-decoration: underline;">Special Thanks</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Guido Carpi (Italian translation)</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Ester (Catalan translation)</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Marc Cote (French translation)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Pawel Fiedor (Polish translation)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Admiro (Polish translation)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Edu Engler (Portuguese translation)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Jan Grmela (Czech translation)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Randy Brace (alpha tester)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://finalgravitypodcast.com"><span style=" font-family:'Sans Serif'; text-decoration: underline; color:#0057ae;">Final Gravity Podcasts</span></a></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Glenn Tinseth &lt;</span><a href="http://www.realbeer.com/hops"><span style=" text-decoration: underline; color:#0000ff;">http://www.realbeer.com/hops</span></a><span style=" font-family:'Courier New,courier';">&gt;</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">server, printer, edit-copy, document-print-preview and merge images from Oxygen theme (CC license)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">backup image from Nuvola theme (LGPL)</span></p></body></html> Donate brewDayScrollWidget Form Generate Instructions Insert step Name Name of new step Step # The number where the new step should be placed Insert the new step Move steps Move currently selected step up Move currently selected step down Remove currently selected step brewDayWidget Brewday Mode Instructions Move currently selected step up Up Move currently selected step down Down Remove currently selected step Remove Insert step Name Name of new step Step # The number where the new step should be placed Insert the new step Insert brewNoteWidget Form Preboil SG Preboil gravity Volume Volume of wort collected Strike Temp Temperature of mash after dough in Final Temp Temperature of mash before mash out Postboil OG Post boil gravity Postboil Volume Volume of wort in BK after boil Volume of wort transferred to fermenter Volume into fermenter Pitch Temp Temperature of wort when yeast is pitched Postferment Final gravity Volume of beer into serving keg/bottles Date when the yeast fermented out percent efficiency into boil kettle Eff into BK Expected OG, based on measure fg Projected OG Brewhouse efficiency Brewhouse Eff Expected ABV based on OG Projected ABV ABV based on FG ABV Notes btSplashScreen Form converterTool Converter Tool Input Amount and units to convert Output Units Unit you want to convert to Output Output conversion Convert equipmentEditor Equipment Editor Equipment Remove equipment Set as Default Required Fields Name Pre-boil volume If checked, we will calculate your pre-boil volume based on your desired batch size, boil time, evaporation rate, losses, etc. Calculate pre-boil volume Automatically fill in pre-boil volume Batch size Boiling && Water Boil time Evaporation rate (per hr) How much water boils off per hour Kettle top-up water How much water is added to kettle immediately pre-boil Final top-up water Water added to fermenter Grain Absorption (L/kg) Default Absorption Boiling Point of Water Hop Utilization Mash Tun Volume Volume of mash tun Mass Mass or weight of mash tun Specific heat (cal/(g*K)) Losses Kettle to fermenter Wort lost between kettle and fermenter Lauter deadspace Volume of wort lost to lauter deadspace Notes New equipment Save Cancel fermentableDialog Fermentable Database Add selected ingredient to recipe Add to Recipe Create new ingredient New Edit selected ingredient Remove selected ingredient fermentableEditor Fermentable Editor Required Fields Name Type Grain Sugar Extract Dry Extract Adjunct Amount Yield (%) Yield as compared to glucose Lovibond Lovibond rating Add After Boil This ingredient is added post boil. Origin Supplier Coarse/Fine Diff (%) Yield difference between coarse and fine grind Moisture (%) Moisture percentage by mass DP (Lintner) Diastatic power in Lintner Protein (%) Protein percentage by mass Max In Batch (%) Maximum recommended percentage of total grist Recommend Mash Recommend this be mashed Is Mashed Checked if it is present in mash Bitterness (IBU*gal/lb) Bitterness of pre-hopped extracts Notes: hopDialog Hop Database Add selected ingredient to recipe Add to Recipe New hop New Edit Remove hopEditor Hop Editor Required Fields Name Alpha (%) Alpha acids as percent by mass Amount Amount Use Mash First Wort Boil Aroma Dry Hop Time Type Bittering Both Form Leaf Pellet Plug Beta (%) Beta acids as percent by mass HSI Hop Stability/Storage index Origin Humulene (%) Humulene Caryophyllene (%) Caryophyllene Cohumulone (%) Cohumulone Myrcene (%) Myrcene Substitutes: Notes: htmlViewer Html Viewer about:blank instructionWidget Form Show a timer Show timer Mark this step completed Step completed mainWindow Recipes Styles Fermentables Hops Miscs Yeasts Recipe Name Name of recipe 5 gal Target boil size Efficiency (%) Calculated Boil Size Calculated Batch Size The extraction efficiency you expect Style Boil Time Target batch size Target Batch Size Equipment Target Boil Size OG Boil SG FG ABV Bitterness (IBU) Color IBU/GU Calories/12oz Extras Brewday Add a fermentable Remove selected fermentable Edit selected fermentable Add hop Remove selected hop Edit selected hop Miscellaneous Add misc Remove selected misc Edit selected misc Yeast Add yeast Remove selected yeast Edit selected yeast Mash Add mash step Remove selected mash step Edit selected mash step Edit mash properties Edit mash Mash Des Invoke the mash wizard Mash wiz Mashs Mash step up Mash step down Save this mash profile Save Mash &About &File &Brewday &Recipe &Database &View &Tools toolBar About &BrewTarget About Brewtarget &Export Recipe &Fermentables Ctrl+F &Hops Ctrl+H &Miscs Ctrl+M &Yeasts Ctrl+Y &Equipments Ctrl+E &Styles Ctrl+T &Exit Ctrl+Q &Import Recipes &Options &Manual &Scale Recipe Recipe to Clipboard as &Text &OG Correction Help &Convert Units Backup Database Restore Database &Copy Recipe Pr&iming Calculator &Refractometer Tools &Pitch Rate Calculator Merge Databases Select another database to merge into the current one. &Print Print Pre&view &Export To HTML &Export to HTML &Backup Save all recipes, ingredients, etc. to a backup folder &Restore Restore recipes, ingredients, etc. from a previous backup &Merge Merge another set of recipes, ingredients, etc. into the current set &New Recipe Timers Show timers Save Delete selected Delete recipe Donate &Mashs Mashes mashDesigner Mash Designer Name Type Target temp. Time Batch Sparge Next Finish Infusion/Decoction Amount min max 0 Infusion Temp Total Collected Wort vol Tun Fullness tunVol thickness mashEditor Mash Editor Name Initial grain temp Sparge temp Sparge temp target Sparge pH Notes Tun Initial tun temp Get following parameters from the recipe's equipment. From Equipment Tun mass Tun sp. heat Tun specific heat (cal/(g*K)) mashStepEditor Mash Step Editor Name Type Infusion Temperature Decoction Target temp. Target temp. of this step Infuse Amount Amount of water to infuse Infuse temp. Temperature of infusion water Decoction Amount Amount of mash to decoct Time Time to conduct the step Temp. lag time Lag time End temp. Final temp. of this step mashWizard Mash Wizard Mash thickness (L/kg) Mash thickness (do not enter any units) miscDialog Misc Database Add selected ingredient to recipe Add to Recipe Create a new ingredient New Edit selected ingredient Remove selected ingredient miscEditor Misc Editor Name Type Spice Fining Water Agent Herb Flavor Other Use Boil Mash Primary Secondary Bottling Time Amount Check it if the amount listed is in kg instead of L. Amount is weight? Checked if the given amount is weight instead of volume Use for: Notes: namedMashEditor Named Mash Editor Mash Delete selected style Name Initial grain temp Sparge temp Sparge temp target Sparge pH Notes Tun Initial tun temp From Equipment Tun mass Tun sp. heat Tun specific heat (cal/(g*K)) Add mash step Remove selected mash step Mash step up Mash step down ogAdjuster Adjust Volume to Hit OG Input SG Measured gravity pre-boil Temp Temperature of SG reading Calibration Temp Temp to which the hydrometer is calibrated -or- Plato Plato (percent by mass of equivalent sucrose) Pre-Boil Volume Measured pre-boil volume Output OG w/o Correction OG if you boil as planned Add to Boil Amount of water you need to add to hit planned OG (or boil off if negative) Final Batch Size Estimated batch size after correction Calculate optionsDialog Options Units Weight Use SI units Use US traditional units Use British imperial units Temperature Celsius Fahrenheit Volume Gravity 20C/20C Specific Gravity Plato/Brix/Balling Color Use SRM Use EBC Formulas Mosher's approximation Daniels' approximation Morey's approximation IBU Tinseth's approximation Rager's approximation IBU Adjustments % IBU adjustment Mash Hop First Wort Directories Database Directory Where your brewtarget .xml files are. Browse Default Language Czech Catalan German English Spanish French Italian Dutch Polish Portuguese Russian <qt> <b>Know another language?</b> <br><br> Or, would you like to improve a translation? Help us out and <a href="https://sourceforge.net/sendmessage.php?touser=938941"> provide a translation</a> so that your friends can use brewtarget! </qt> pitchDialog Pitch Rate Calculator Input Wort Volume OG For ales, 0.75-1. For lagers, 1.5-2. Pitch Rate (M cells)/(mL*P) Aeration Method Yeast Production Date Yeast Viability None O2 At Start Stir Plate MM/dd/yyyy % TextLabel Calculate Viability From Date # Vials/Smack Packs Pitched Output Billions of Yeast Cells Required # Vials/Smack Packs w/o Starter Dry Yeast Starter Volume primingDialog Priming Calculator Input Collected Beer Volume Amount of beer to prime Beer Temperature Temp of the beer Desired Volumes How many volumes of CO2 you want (1 L CO2 @ STP per L beer) Glucose Monohydrate (corn sugar) Anhydrous Glucose Sucrose (table sugar) Dry Malt Extract Output Prime with How much priming ingredient to use Calculate recipeExtrasDialog Recipe Extras Brewer Asst. Brewer Taste Rating Primary Age (days) Primary Temp Secondary Age (days) Secondary Temp Tertiary Age (days) Tertiary Temp Bottle/Keg Age (days) Bottle/Keg Temp Date First Brewed dd MMM yyyy Carbonation Volumes Taste Notes Notes Cancel recipeExtrasWidget Form Brewer Asst. Brewer Taste Rating Primary Age (days) Primary Temp Secondary Age (days) Secondary Temp Tertiary Age (days) Tertiary Temp Bottle/Keg Age (days) Bottle/Keg Temp Date First Brewed dd MMM yyyy Carbonation Volumes Taste Notes Notes refractoDialog Refractometer Tools Inputs Original Plato OG (20 C) Current Plato Calculate Outputs SG (20C) ABV ABW Refractive Index Real Extract (Plato) OG (20C) scaleRecipeTool Scale Recipe New batch size New efficiency (pct) styleEditor Style Editor Style Delete selected style Basic Information Name Category Category number Style letter Style guide Type Type of beverage Lager Ale Mead Wheat Mixed Cider Vital Statistics Max Min OG FG IBUs Color (SRM) Carb (vols) ABV (pct) Profile Ingredients Examples Notes New Save Cancel timerListDialog Timers timerWidget Form Set the timer to the specified value Set HH:MM:SS Start/Stop timer Start Set a sound as the alarm Sound waterEditor Dialog Name Notes yeastDialog Yeast Database Add selected yeast to recipe Add to Recipe Create new yeast New Edit selected yeast Remove selected yeast yeastEditor Yeast Editor Required Fields Name Type Ale Lager Wheat Wine Champagne Form Liquid Dry Slant Culture Amount Check it if the amount given is in kg instead of L. Amount is weight? Checked if the given amount is weight instead of volume Lab Product ID Min Temp Min temp Max Temp Max temp Flocculation Low Medium High Very High Attenuation (%) Apparent attenuation as percentage of OG points Times Recultured Times this yeast has been recultured Max Recultures Max recultures Add to Secondary Checked means add this yeast to secondary instead of primary Best For: Notes: brewtarget-2.0.2/translations/bt_nl.ts0000644000175000017500000047732012266512176017431 0ustar philipphilip BrewDayScrollWidget Style Stijl Date Datum Boil Time Kooktijd Efficiency Efficiëntie Boil Volume Kookvolume Preboil Gravity SG voor het koken Final Volume Eind SG Starting Gravity Begin SG IBU IBU Final Gravity Eind SG ABV Alc (vol%) Estimated calories(per 12 oz) Geschat aantal calorieën (per 340 g) Instructions Instructies Completed Gereed Time Tijd Step Stap Actual PreBoil Volume Actueel Volume voor het koken Actual PreBoil Gravity Actueel SG voor het koken PostBoil Volume Volume na het koken PostBoil Gravity SG na het koken Volume into fermenter Volume in het vergistingsvat Print Document Print Document <h2>Notes</h2> <h2>Aantekeningen</h2> Step %1: %2 Stap %1: %2 Add grains Graan toevoegen Heat water Verhit water BrewDayWidget Style Stijl Date Datum Boil Volume Kook Volume Preboil Gravity SG voor het koken Final Volume eind Volume Starting Gravity begin SG Boil Time Kook Tijd IBU IBU Predicted Efficiency Voorspeld rendement Estimated calories (per 12 oz) Geschat aantal calorieën (per 340 g) Instructions Instructies Completed Gereed Time Tijd Step Stap Actual Pre-boil Volume: Actueel Volume voor het koken: Actual Pre-boil Gravity: Actueel SG voor het koken: Post-boil Volume: Volume voor het koken: Post-boil Gravity: SG voor het koken: Volume in fermenter: Volume in het vergistingsvat: Print Document Print Document Notes Aantekeningen Step %1: %2 Stap %1: %2 BrewTargetTreeModel Name Naam Brew Date Style Stijl Boil Time Color Kleur Type Type Use Gebruik Form Vorm Category Categorie Number Letter Guide BrewTargetTreeView New Recipe Nieuw Recept Brew It! Brew Again Delete New Equipment New Fermentable New Hop New Misc New Yeast Copy Export Import Change date New Style Recalculate eff Brewtarget Default Standaard EBC SRM Plato Plato Specific Gravity SI US Customary Milligrams Grams Kilograms Ounces Pounds Celsius Celsius Fahrenheit Fahrenheit British Imperial MilliLiters Liters Teaspoons Tablespoons Cups Quarts Gallons BtDigitWidget Too low for style. Te laag voor deze stijl In range for style. Conform stijl Too high for style. Te hoog voor deze stijl Database Merge Database Database Samenvoegen There may be new ingredients and recipes available. Would you like to add these to your database? Er zijn mogelijk nieuwe ingrediënten en recepten verkrijgbaar. Wilt u deze toevoegen aan uw database? EquipmentEditor Grain absorption (%1/%2) Tun Volume Warning Vat Volume Waarschuwing Batch Size Warning Batch Grootte Waarschuwing Equipment name Apparatuur naam Equipment name: Apparatuur naam: The tun volume you entered is 0. This may cause problems The batch size you entered is 0. This may cause problems Hop Utilization Warning The hop utilization percentage you entered is 0. This may cause problems FermentableDialog Fermentable name naam vergistbare Fermentable name: naam vergistbare: FermentableItemDelegate Grain Graan Sugar Suiker Extract Extract Dry Extract Droog Extract Adjunct Aanvulling FermentableTableModel Bad model index. row = %1 Bad model index. row = %1 Mashed Gemaischd Steeped Geweekt Not mashed Niet gemaischd Late Laat Normal Normaal Bad column: %1 Foute kolom: %1 Name Naam Type Type Amount Hoeveelheid Late Addition Late toevoeging Yield % Rendement % Color (SRM) Kleur (SRM) Color (EBC) Hop Mash Maisch First Wort Eerste Wort Boil Koken Aroma Aroma Dry Hop Dry Hop Bittering Bitterhop Both Beide Leaf Blad Pellet Pellet Plug Geperste hop HopDialog Hop name Hop naam Hop name: Hop naam: HopItemDelegate Boil Koken Dry Hop Dry Hop Mash Maisch First Wort Eerste Wort Aroma Aroma Leaf Blad Pellet Pellet Plug Geperste hop HopTableModel Name Naam Alpha % Alpha % Amount Hoeveelheid Use Gebruik Time Tijd Form Vorm MainWindow Open Open BeerXML files (*.xml) BeerXML bestanden (*.xml) Save Opslaan Equipment request Apparatuur verzoek Would you like to set the batch size, boil size and time to that requested by the equipment? Delete %1 Delete %1 %2? HTML files (*.html) New Nieuw Recipe Recept Equipment Apparatuur Fermentable Hop Miscellaneous Diversen Yeast Gist Copy %1 Enter a unique name for the copy of %1. Copy Equipment Copy Fermentable Copy Hop Copy Miscellaneous Copy Yeast Database Update You are about to update the current database with another one. This may make changes to (but will not delete) some of your ingredients. It will not modify any of your recipes. Continue? Select Database File Brewtarget Database (*.sqlite) Recipe name Recept naam Recipe name: Recept naam: Backup Database Backup Database Oops! Oeps! Could not copy the files for some reason. Kon de bestanden om de een of andere reden niet copiërenKon de bestanden om de een of andere reden niet copiëren. A Warning Een waarschuwing This will obliterate your current set of recipes and ingredients. Do you want to continue? Dit schoont uw huidige set recepten en ingrediënten. Doorgaan? For some reason, the operation failed. De opratie faalde om de een of andere reden. Import %1? %1 importeren? No mash Geen maisch Trying to add a mash step without a mash. Please create a mash first. Poging om een maisch stap toe te voegen zonder maisch. Maak a.u.b. eerst een maisch aan. Copy Recipe Copiëer Recept Enter a unique name for the copy. Geef een unieke naam voor de copie. Please give your mash a name before saving. Geef uw maisch een naam a.u.b. voor het opslaan. Restart Please restart Brewtarget. No equipment You must select or define an equipment profile first. No style You must select a style first. Choose File SQLite (*.sqlite) Style Stijl Copy Style The database has been converted/upgraded. The original XML files can be found in The import contained invalid beerXML. It has been imported, but please make certain it makes sense. MaltinessWidget <b>Cloying</b> <b>Stroperig</b> <b>Extra malty</b> <b>Extra moutig</b> <b>Slightly malty</b> Licht moutig <b>Balanced</b> Uitgebalanceerd <b>Slightly hoppy</b> Licht hoppig <b>Extra hoppy</b> Extra hoppig <b>Way hoppy</b> <b>Veel te hoppig</b> MashDesigner No Fermentables Your recipe must have fermentables to design a mash. No Equipment Geen apparatuur You have not set an equipment for this recipe. We really cannot continue without one. U hebt geen apparatuur opgegeven voor dit recept. Zonder apparatuur kunnen we niet doorgaan. Tun Temp Vat Temperatuur Enter the temperature of the tun before your first infusion. Voer de temperatuur van het vat in voorafgaande aan uw eerste infusie Decoction error Decoctie fout The first mash step cannot be a decoction. De eerste maisch stap kan geen decoctie zijn. MashStepTableModel Bad model index. row = %1 Bad model index. row = %1 Bad column: %1 Bad column: %1 Name Naam Type Type Amount Hoeveelheid Infusion Temp Infusie Temperatuur Target Temp Streef Temp Time Tijd MashWizard Mash thickness (%1/%2) Maisch dichtheid (%1/%2) Bad thickness Foute dichtheid You must have a positive mash thickness. U moet een positieve maisch dichtheid ingeven. No steps Geen stappen There must be at least one mash step to run the wizard. First step Eerste stap Your first mash step must be an infusion. De eerste maisch stap moet een infusie zijn. Mash too thick Maisch is te dik Your mash is too thick for desired temp. at first step. Uw maisch is te dik voor de gewenste temperatuur tijdens de eerste stap. Decoction error Decoctie fout Something went wrong in decoction calculation. Er is een fout opgetreden in de decoctie berekeningen. Sparge temp. Spoel temp. In order to hit your sparge temp, the sparge water must be above boiling. Lower your sparge temp, or allow for more sparge water. Om uw spoel temp te bereiken, moet het spoelwater boven hetkookpunt zijn. Verlaag de spoeltemperatuur of gebruik meer spoelwater. Too much wort Te veel wort You have too much wort from the mash for your boil size. I suggest increasing the boil size by increasing the boil time, or reducing your mash thickness. U heeft te veel wort van de maisch voor uw kook grootte. Ik stel voor om de kook grootte te vergroten door de kooktijd te vergroten, of om de maisch dikte te reduceren. MiscDialog Misc name naam Diversen Misc name: naam Diversen: MiscItemDelegate Spice Specerij Fining Fining Water Agent Waterbehandeling Herb Kruid Flavor Smaak Other Overig Boil Koken Mash Maisch Primary Hoofdvergisting Secondary Secundaire Bottling Bottelen MiscTableModel Name Naam Type Type Use Gebruik Time Tijd Amount Hoeveelheid Weight Gewicht Volume Volume Amount Type OptionDialog Open Directory Copy Data There do not seem to be any data files in this directory, so we will copy your old data here. Restart Please restart Brewtarget. QObject Invalid color formula type: %1 Ongeldige kleur formule type: %1 Unrecognized IBU formula type. %1 Batch Size: %1 Batch grootte: %1 Boil Size: %1 Boil Time: %1 Kook Tijd: %1 OG: %1 Oorspronkelijk SG: %1 FG: %1 Eind SG: %1 Bitterness: %1 IBUs (%2) Bitterheid: %1 IBU (%2) Color: %1 SRM (%2) Kleur: %1 SRM (%2) Fermentables Mout Name Naam Type Type Amount Hoeveelheid Mashed Gemaischd Late Laat Yield Rendement Color Kleur Yes Ja No Nee Total grain: %1 Totasal granen: %1 Hops Hop Alpha Alpha Use Gebruik Time Tijd IBU IBU Misc Diversen Yeast Gist Form Vorm Stage Fase Secondary Secundair Primary Hoofdvergisting Mash Maisch Temp Temeratuur Target Doel Notes Aantekeningen Instructions Instructies Directory Problem Directory Probleem "%1" cannot be read. "%1" kan niet gelezen worden. Config directory "%1" cannot be read. Configuratie directory "%1" kan niet gelezen worden. New Version Nieuwe Versie Version %1 is now available. Download it? Versie %1 is nu verkrijgbaar. Downloaden? Stop bothering you about new versions? Niet meer lastigvallen over nieuwe versies? Database Failure Failed to open the database '%1'. Save Database Changes Would you like to save the changes you made? Multiple Databases Found Multiple databases were found. Do you want to restore the changes you made during your last Brewtarget session, or rollback to before last session's changes? Restore Rollback Failed to remove the temporary backup database. Navigate to '%1' and remove 'tempBackupDatabase.sqlite'. Failed to rollback to the backup database. Navigate to '%1', remove 'database.sqlite' if it exists, and rename 'tempBackupDatabase.sqlite' to 'database.sqlite'. Database Restore Failure Failed to restore the backup database. Navigate to '%1' and rename 'tempBackupDatabase.sqlite' to 'database.sqlite'. Grain Graan Sugar Suiker Extract Extract Dry Extract Gedroogd Extract Adjunct Aanvulling Boil Koken Mash Maisch Infusion Infusie Temperature Temperatuur Decoction Decoctie Bottling Bottelen Spice Specerij Fining Fining Water Agent Waterbehandeling Herb Kruid Flavor Smaak Other Overig Ale Ale Lager Pils Wheat Tarwe Wine Wijn Champagne Champagne Liquid Vloeistof Dry Droog Slant Opgekweekt Culture Cultuur Low Laag Medium Gemiddeld High Hoog Very High Erg Hoog Recipes Recepten Equipment Apparatuur Fermentables Mout Hops Hop Miscellaneous Diversen Yeast Gist Efficiency: %1% ABV: %1% Style Stijl Recipe Add grains Graan toevoegen Add Toevoegen to the mash tun. aan het maisch vat. Heat water Verhit water Bring Breng %1 water to %2, %1 water naar %2, for upcoming infusions. voor aanstaande infusies. Add %1 water at %2 to mash to bring it to %3. Voeg %1 water van %2 toe aan de maisch om het op %3 te brengen. Heat mash to %1. Verwarm maisch naar %1. Bring %1 of the mash to a boil and return to the mash tun to bring it to %2. Breng %1 van de maisch aan het koken en voeg het wwer terug aan het maisch vat om het naar %2 te brengen. Hold for %1. %1 aanhouden. Put %1 %2 into boil for %3. Stop %1 %2 in het kookvat voor %3. Put %1 %2 into fermenter for %3. Stop %1 %2 in het vergistingsvat voor %3. Put %1 %2 into first wort for %3. Stop %1 %2 in de eerste wort voor %3. Put %1 %2 into mash for %3. Stop %1 %2 in de maisch voor %3. Steep %1 %2 in wort for %3. Use %1 %2 for %3 Gebruik %1 %2 voor %3 Hop addition Hop gift Use %1 %2 at bottling for %3. Gebruik %1 %2 tijdens het bottelen voor %3. Put %1 %2 into primary for %3. Stop %1 %2 in de hoofdvergisting voor %3. Put %1 %2 into secondary for %3. Stop %1 %2 in het nagistingsvat voor %3. Use %1 %2 for %3. Gebruik %1 %2 voor %3. Misc addition Overige toevoegingen Do first wort hopping with Doe de eerste hopgift met First wort hopping Eerste hopgift You should now have %1 wort. U dient nu %1 wort te hebben. Add %1 water to the kettle, bringing pre-boil volume to %2. Voeg %1 water toe aan de ketel om het volume voor het koken op %2 te brengen. Pre-boil Voor het koken Boil or steep Koken of weken Boil/steep fermentables Koken/weken mout to the boil at knockout. aan het koken aan het eind. Knockout additions Toevoegingen aan het eind You should have %1 wort post-boil. U zou %1 wort moeten hebben na het koken. You anticipate losing %1 to trub and chiller loss. U anticipeert om %1 te verliezen aan eiwitafscheiding en koeler verlies. Add %1 top up water into primary. Voeg %1 top-up water toe aan hoofdvergisting. The final volume in the primary is %1. Het uiteindelijke volume in de hoofdvergisting is %1. Post boil Na het koken Boil time Kook tijd You did not configure an equipment (which you really should), so tell me the boil time. U heeft geen apparatuur geconfigureerd (wat zou moeten), dus vertel mij de kooktijd. Bring the wort to a boil and hold for %1. Breng de wort aan de kook en houd dit aan voor %1. Start boil Start het koken Flameout Stop boiling the wort. Cool wort and pitch Koel de wort en voeg gist toe %1 %2 yeast, %1 %2 gist, to the primary. aan de hoofdvergisting. Pitch yeast Voeg gist toe Let ferment until FG is %1. Laat vergisten totdat het eind SG %1 is. Ferment Vergisting Transfer beer to secondary. Hevel het bier naar het nagistingsvat. Transfer to secondary Hevel naar het nagistingsvat Add %1 %2 to boil at %3. Voeg %1 %2 toe aan het kookvat op %3. Raise water to boil and then remove from heat. Stir in Add Extracts to water %1 water to %2 RecipeFormatter unknown style onbekende stijl N/A Niet beschikbaar Brewer Brouwer Date Datum Batch Size Batch Grootte Boil Size Kook Volume Boil Time Kook Tijd Efficiency Efficiëntie OG Oorspronkelijk SG FG eind SG Unknown Onbekend ABV Alc (vol%) Bitterness Bitterheid Color Kleur Calories (per 12 oz.) Calorieën (per 340 g) Fermentables Mout Total grain: Totaal granen: Name Naam Type Type Amount Hoeveelheid Mashed Gemaischd Late Late Yield Rendement Yes Ja No Nee Hops Hop Alpha Alpha Use Gebruik Time Tijd Form Vorm IBU IBU Misc Diversen Yeast Gist Stage Fase Secondary nagistingsvat Primary Hoofdvergisting Mash Maisch Temp Temperatuur Target Temp Streef Temp Notes Aantekeningen Instructions Instructies Brew Date Preboil SG SG Volume into BK Strike Temp Final Temp Eff into BK Projected OG Postboil Postboil Volume Volume Into Fermenter Brewhouse Eff Projected ABV Postferment Volume Volume Print Document Print Document RefractoDialog OG Mismatch Onjuiste combinatie oorspronkelijk SG Based on the given original plato, the OG should be %1, but you have entered %2. Continuing with the calculated OG. Gebaseerd op de opgegeven oorspronkelijke plato zou het oorspronkelijk SG %1 moeten zijn, maar u heeft %2 ingevoerd. Het programma gaat door met het berekende oorspronkelijke SG. ScaleRecipeTool Recipe Scaled Recept Geschaald The mash has been reset due to the fact that mash temperatures do not scale easily. Please re-run the mash wizard. De maisch is gereset omdat de maisch temperatuur niet eenvoudig schaalt. Draai de maisch wizard opnieuw a.u.b. The equipment and mash have been reset due to the fact that mash temperatures do not scale easily. Please re-run the mash wizard. Deapparatuur en maisch zijn gereset omdat de maisch temperatuur niet eenvoudig schaalt. Draai de maisch wizard opnieuw a.u.b. StyleEditor Style name Stijl naam Style name: Stijl naam: TimerWidget Open Sound Open Geluid Audio Files (*.wav *.ogg *.mp3 *.aiff) Audio Files (*.wav *.ogg *.mp3 *.aiff) Stop Stop Start Start WaterTableModel Bad model index. row = %1 Bad model index. row = %1 Bad column: %1 Bad column: %1 Name Naam Amount Hoeveelheid Calcium (ppm) Calcium (ppm) Bicarbonate (ppm) Bicarbonaat (ppm) Sulfate (ppm) Sulfaat (ppm) Chloride (ppm) Chloor (ppm) Sodium (ppm) Soda (ppm) Magnesium (ppm) Magnesium (ppm) YeastDialog Yeast name Gist naam Yeast name: Gist naam: YeastItemDelegate Ale Ale Lager Pils Wheat Tarwe Wine Wijn Champagne Champagne Liquid Vloeistof Dry Droog Slant Opgekweekt Culture Cultuur YeastTableModel Bad model index. row = %1 Bad model index. row = %1 Bad column: %1 Bad column: %1 Name Naam Type Type Form Vorm Amount Hoeveelheid Laboratory Laboratorium Product ID Product ID aboutDialog About Brewtarget Over Brewtarget <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'DejaVu Sans'; font-size:9pt; font-weight:400; font-style:normal;"> <p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:20pt;">Brewtarget %1</span></p> <p style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Brewtarget, for developing beer recipes.</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Copyright 2009-2013 by the developers below.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier'; font-weight:600; text-decoration: underline;">Developers</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Peter Buelow</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Dan Cavanagh</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Mik Firestone</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Philip G. Lee &lt;rocketman768@gmail.com&gt;</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier'; font-weight:600; text-decoration: underline;">Copyright (GPLv3)</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Brewtarget is free software: you can redistribute it and/or modify</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">it under the terms of the GNU General Public License as published by</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">the Free Software Foundation, either version 3 of the License, or</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">(at your option) any later version.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Brewtarget is distributed in the hope that it will be useful,</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">but WITHOUT ANY WARRANTY; without even the implied warranty of</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">GNU General Public License for more details.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">You should have received a copy of the GNU General Public License</span></p> <p style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">along with Brewtarget. If not, see &lt;</span><a href="http://www.gnu.org/licenses/"><span style=" font-family:'Courier New,courier'; text-decoration: underline; color:#0000ff;">http://www.gnu.org/licenses/</span></a><span style=" font-family:'Courier New,courier';">&gt;.</span></p> <p style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier'; font-weight:600; text-decoration: underline;">Source Code</span></p> <p style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Brewtarget's source code can be downloaded at </span><a href="http://brewtarget.sourceforge.net"><span style=" font-family:'Sans Serif'; text-decoration: underline; color:#0057ae;">brewtarget.sourceforge.net</span></a><span style=" font-family:'Sans Serif';">.</span></p> <p style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier'; font-weight:600; text-decoration: underline;">Special Thanks</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Guido Carpi (Italian translation)</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Ester (Catalan translation)</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Marc Cote (French translation)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Pawel Fiedor (Polish translation)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Admiro (Polish translation)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Edu Engler (Portuguese translation)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Jan Grmela (Czech translation)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Randy Brace (alpha tester)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://finalgravitypodcast.com"><span style=" font-family:'Sans Serif'; text-decoration: underline; color:#0057ae;">Final Gravity Podcasts</span></a></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Glenn Tinseth &lt;</span><a href="http://www.realbeer.com/hops"><span style=" text-decoration: underline; color:#0000ff;">http://www.realbeer.com/hops</span></a><span style=" font-family:'Courier New,courier';">&gt;</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">server, printer, edit-copy, document-print-preview and merge images from Oxygen theme (CC license)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">backup image from Nuvola theme (LGPL)</span></p></body></html> Donate Donatie brewDayScrollWidget Form Vorm Generate Instructions Genereer Instructies Insert step Voeg stap toe Name Naam Name of new step Naam van de nieuwe stap Step # Stap # The number where the new step should be placed Het nummer waar de nieuwe staop geplaatst moet worden Insert the new step Voer de nieuwe stap in Move steps Verplaats stappen Move currently selected step up Verplaats de geselecteerde stap omhoog Move currently selected step down Verplaats de geselecteerde stap omlaag Remove currently selected step Verwijder geselecteerde stap brewDayWidget Brewday Mode Brouwdag Modus Instructions Instructies Move currently selected step up Verplaats de geselecteerde stap omhoog Up Omhoog Move currently selected step down Verplaats de geselecteerde stap omlaag Down naar Beneden Remove currently selected step Verwijder geselecteerde stap Remove Verwijder Insert step Voer stap in Name Naam Name of new step Naam van de nieuwe stap Step # Stap # The number where the new step should be placed Het nummer waar de nieuwe stap geplaatst moet worden Insert the new step Voer de nieuwe stap in Insert Voer in brewNoteWidget Form Vorm Preboil SG SG Preboil gravity Volume Volume Volume of wort collected Strike Temp Temperature of mash after dough in Final Temp Temperature of mash before mash out Postboil OG Post boil gravity Postboil Volume Volume of wort in BK after boil Volume of wort transferred to fermenter Volume into fermenter Volume in het vergistingsvat Pitch Temp Temperature of wort when yeast is pitched Postferment Final gravity Volume of beer into serving keg/bottles Date when the yeast fermented out percent efficiency into boil kettle Eff into BK Expected OG, based on measure fg Projected OG Brewhouse efficiency Brewhouse Eff Expected ABV based on OG Projected ABV ABV based on FG ABV Alc (vol%) Notes Aantekeningen btSplashScreen Form Vorm converterTool Converter Tool Conversie Gereedschap Input Invoer Amount and units to convert Hoeveelheden en Eenheden om te converteren Output Units Uitvoer Eenheden Unit you want to convert to Eenheid waar u naar toe wilt converteren Output Uitvoer Output conversion Uitvoer conversie Convert Conversie equipmentEditor Equipment Editor Apparatuur Editor Equipment Apparatuur Remove equipment Verwijder apparatuur Set as Default Required Fields Vereiste Velden Name Naam Pre-boil volume Volume voor het koken If checked, we will calculate your pre-boil volume based on your desired batch size, boil time, evaporation rate, losses, etc. Indien aangevinkt wordt het volume voor het koken berekend, gebaseerd op uw gewenste batch grootte, kook tijd, verdampingssnelheid rate, verliezen, enz. Calculate pre-boil volume Bereken volume voor het koken Automatically fill in pre-boil volume Vul automatisch het volume voor het koken in Batch size Batch grootte Boiling && Water Koken && Water Boil time Kook tijd Evaporation rate (per hr) Verdampingssnelheid (per uur) How much water boils off per hour Hoeveel water verdampt er per uur Kettle top-up water Ketel top-up water How much water is added to kettle immediately pre-boil Hoeveel water wordt toegevoegd vlak voor het koken Final top-up water Uiteindelijk top-up water Water added to fermenter Water toegevoegd aan vergistingsvat Grain Absorption (L/kg) Graan absorbtie Default Absorption Staindaard Absorbtie Boiling Point of Water Hop Utilization Mash Tun Maisch Vat Volume Volume Volume of mash tun Volume van het maisch vat Mass Gewicht Mass or weight of mash tun Massa of gewicht van het Maisch Vat Specific heat (cal/(g*K)) Specifieke hitte (cal/(g*K)) Losses Verliezen Kettle to fermenter Ketel naar Vergistingsvat Wort lost between kettle and fermenter Wort verlies tussen ketel en Vergistingsvat Lauter deadspace Dode ruimte Klaring Volume of wort lost to lauter deadspace Verloren wortvolume door dode ruimten de klaringskuip Notes Aantekeningen New equipment Nieuwe apparatuur Save Opslaan Cancel Annuleren fermentableDialog Fermentable Database Database met vergistbaren Add selected ingredient to recipe Voeg geselecteerde ingrediënt toe aan recept Add to Recipe Voeg to aan recept Create new ingredient Creëer nieuw ingrediënt New Nieuw Edit selected ingredient Edit geselecteerde ingrediënt Remove selected ingredient Verwijder geselecteerde ingrediënt fermentableEditor Fermentable Editor Vergistbaren Editor Required Fields Vereiste Velden Name Naam Type Type Grain Graan Sugar Suiker Extract Extract Dry Extract Droog Extract Adjunct Aanvulling Amount Hoeveelheid Yield (%) Rendement (%) Yield as compared to glucose Rendement in vergelijking met glucose Lovibond Lovibond Lovibond rating Lovibond waarde Add After Boil Toevoegen na het koken This ingredient is added post boil. Dit ingrediënt is na het koken toegevoegd. Origin Origine Supplier Leverancier Coarse/Fine Diff (%) Grof/Fijn Verschil (%) Yield difference between coarse and fine grind Rendement verschil tussen grof en fijn geschrootte mout Moisture (%) Vleostof (%1) Moisture percentage by mass Vocht percentage bij massa DP (Lintner) DP (Lintner) Diastatic power in Lintner Diastatische kracht in Lintner Protein (%) Proteïne (%1) Protein percentage by mass Eiwit percentage bij massa Max In Batch (%) Max In Batch (%) Maximum recommended percentage of total grist Maximum aanbevolen percentage van totale schrootsel Recommend Mash Aanbevolen maisch Recommend this be mashed Aanbevolen om te maischen Is Mashed is gemaischt Checked if it is present in mash Gecontroleerd op aanwezigheid in maisch Bitterness (IBU*gal/lb) Bitterheid (IBU*gal/lb) Bitterness of pre-hopped extracts Bitterheid van voorgehopte extracten Notes: Aantekeningen: hopDialog Hop Database Hop Database Add selected ingredient to recipe Voeg geselecteerde ingrediënt toe aan recept Add to Recipe Voeg toe aan Recept New hop Nieuwe hop New Nieuw Edit Edit Remove Verwijder hopEditor Hop Editor Hop Editor Required Fields Vereiste Velden Name Naam Alpha (%) Alpha (%) Alpha acids as percent by mass Alpha ziir als percentage van de massa Amount Hoeveelheid Amount Hoeveelheid Use Gebruik Mash Maisch First Wort Eerste Wort Boil Koken Aroma Aroma Dry Hop Dry Hop Time Tijd Type Type Bittering Bitterhop Both Beide Form Vorm Leaf Blad Pellet Pellet Plug Geperste hop Beta (%) Beta (%) Beta acids as percent by mass Beta zuur als percentage van de massa HSI HSI Hop Stability/Storage index Hop Stabiliteit/Opslag index Origin Origine Humulene (%) Humuleen (%) Humulene Humuleen Caryophyllene (%) Caryophylleen (%) Caryophyllene Caryophylleen Cohumulone (%) Cohumuloon (%) Cohumulone Cohumuloon Myrcene (%) Myrceen (%) Myrcene Myrceen Substitutes: Vervangingen: Notes: Aantekeningen: htmlViewer Html Viewer Html Viewer about:blank about:blank instructionWidget Form Vorm Show a timer Toon een timer Show timer Toon timer Mark this step completed Markeer deze stap als compleet Step completed Stap compleet mainWindow Recipes Recepten Styles Fermentables Mout Hops Hop Miscs Diversen Yeasts Gist Recipe Recept Name Naam Name of recipe Naam van het recept 5 gal 5 gal Target boil size Streef Kook grootte Efficiency (%) Efficiëntie (%) Calculated Boil Size Berekende Kook grootte Calculated Batch Size Berekende Batch grootte The extraction efficiency you expect Verwachtte brouwzaal rendement Style Stijl Boil Time Target batch size Streef Batch grootte Target Batch Size Streef Batch grootte Equipment Apparatuur Target Boil Size Streef Kook grootte OG Oorspronkelijke SG Boil SG Kook SG FG Eind SG ABV Alc (vol%) Bitterness (IBU) Bitterheid (IBU) Color Kleur IBU/GU IBU/GU Calories/12oz Extras Extras Brewday Brouwdag Add a fermentable Voeg een vergistbare toe Remove selected fermentable Verwijder geselecteerde vergistbare Edit selected fermentable Edit geselecteerde vergistbare Add hop Voeg Hop toe Remove selected hop Verwijder geselecteerde hop Edit selected hop Edit geselecteerde hop Miscellaneous Diversen Add misc Voeg diversen toe Remove selected misc Verwijder geselecteerde diversen Edit selected misc Edit geselecteerde Diversen Yeast Gist Add yeast Voeg Gist toe Remove selected yeast Verwijder geselecteerde gist Edit selected yeast Edit geselecteerde gist Mash Maisch Add mash step Voeg maisch stap toe Remove selected mash step Verwijder geselecteerde maisch stap Edit selected mash step Edit geselecteerde maisch stap Edit mash properties Edit maisch eigenschappen Edit mash Edit maisch Mash Des Maisch bestemming Invoke the mash wizard Draai de maisch wizard Mash wiz Maisch wizard Mashs Maisch Mash step up Maisch stap omhoog Mash step down Maisch stap omlaag Save this mash profile Sla dit maisch profiel op Save Mash Opslaan Maisch &About Over &File Bestand &Brewday Brouwdag &Recipe Recept &Database Database &View Bekijk &Tools Gereedschap toolBar gereedschapsBalk About &BrewTarget Over Brewtarget About Brewtarget Over Brewtarget &Export Recipe Exporteer recept &Fermentables Mout Ctrl+F &Hops Hop Ctrl+H &Miscs Diversen Ctrl+M &Yeasts Gist Ctrl+Y &Equipments Apparatuur Ctrl+E &Styles Stijlen Ctrl+T &Exit Einde Ctrl+Q &Import Recipes Importeer Recepten &Options Opties &Manual Handleiding &Scale Recipe Schaal Recept Recipe to Clipboard as &Text Recept naar Klembord als Tekst &OG Correction Help Hulp bij correctie oorspronkelijk SG &Convert Units Conversie Eenheden Backup Database Backup Database Restore Database Restore Database &Copy Recipe Copiëer Recept Pr&iming Calculator Rekenhulp suiker toevoeging &Refractometer Tools Refractometer Gereedschap &Pitch Rate Calculator Gistgift rekenhulp Merge Databases Database Samenvoegen Select another database to merge into the current one. &Print Print Print Pre&view Print Preview &Export To HTML &Export to HTML &Backup Save all recipes, ingredients, etc. to a backup folder &Restore Restore recipes, ingredients, etc. from a previous backup &Merge Merge another set of recipes, ingredients, etc. into the current set &New Recipe Nieuw recept Timers Timers Show timers Toon timer Save Opslaan Delete selected Delete recipe Verwijder recept Donate Donatie &Mashs Mashes mashDesigner Mash Designer Maisch Ontwerper Name Naam Type Type Target temp. Beoogde temp. Time Tijd Batch Sparge Batch uitspoelen Next Volgende Finish Beëindigen Infusion/Decoction Amount Infusie/Decoctie Hoeveelheid min min max max 0 0 Infusion Temp Infusie Temp Total Collected Wort Totaal Verzamelde Wort vol vol Tun Fullness Volheid van het vat tunVol Vat Volume thickness Dikte mashEditor Mash Editor Maisch Editor Name Naam Initial grain temp Initiële graan temp Sparge temp Spoel temp Sparge temp target Beoogde Spoel temp Sparge pH Spoel pH Notes Aantekeningen Tun Vat Initial tun temp Initiële vat temp Get following parameters from the recipe's equipment. Verkrijg de volgende parameters van de apparatuur van het recept. From Equipment Van Apparatuur Tun mass Vat massa Tun sp. heat Vat spec. hitte Tun specific heat (cal/(g*K)) Vat specifieke hitte (cal/g*K) mashStepEditor Mash Step Editor Maisch Stap Editor Name Naam Type Type Infusion Infusie Temperature Temeratuur Decoction Decoctie Target temp. Beoogde temp. Target temp. of this step Beoogde temp van deze stap Infuse Amount Infusie Hoeveelheid Amount of water to infuse Hoeveelheid water voor infusie Infuse temp. Infusie temp. Temperature of infusion water Temperatuur van infusie water Decoction Amount Decoctie Hoeveelheid Amount of mash to decoct Hoeveelheid maisch voor decoctie Time Tijd Time to conduct the step Tijd om stap uit te voeren Temp. lag time Temp. lagfase Lag time lagfase End temp. Eind temp. Final temp. of this step Eind temp. van deze stap mashWizard Mash Wizard Maisch wizard Mash thickness (L/kg) Maisch dikte (L/kg) Mash thickness (do not enter any units) Maisch dikte (voer geen eenheden in) miscDialog Misc Database Database Diversen Add selected ingredient to recipe Voeg geselecteerde ingrediënt to aan recept Add to Recipe Voeg toe aan recept Create a new ingredient Creëer een nieuw ingrediënt New Nieuw Edit selected ingredient Edit geselecteerde ingrediënt Remove selected ingredient Verwijder geselecteerde ingrediënt miscEditor Misc Editor Diversen Editor Name Naam Type Type Spice Specerij Fining Fining Water Agent Waterbehandeling Herb Kruid Flavor Smaak Other Overig Use Gebruik Boil Koken Mash Maisch Primary Hoofdvergististing Secondary Secundair Bottling Bottelen Time Tijd Amount Hoeveelheid Check it if the amount listed is in kg instead of L. Controleer of de hoeveelheid vermeld staat in kg i.p.v. L. Amount is weight? Hoeveelheid is gewicht? Checked if the given amount is weight instead of volume Controleer of de opgegeven hoeveelheid gewicht is i.p.v. volume Use for: Gebruik voor: Notes: Aantekeningen: namedMashEditor Named Mash Editor Mash Maisch Delete selected style Verwijder geselecteerde stijl Name Naam Initial grain temp Initiële graan temp Sparge temp Spoel temp Sparge temp target Beoogde Spoel temp Sparge pH Spoel pH Notes Aantekeningen Tun Vat Initial tun temp Initiële vat temp From Equipment Van Apparatuur Tun mass Vat massa Tun sp. heat Vat spec. hitte Tun specific heat (cal/(g*K)) Vat specifieke hitte (cal/g*K) Add mash step Voeg maisch stap toe Remove selected mash step Verwijder geselecteerde maisch stap Mash step up Maisch stap omhoog Mash step down Maisch stap omlaag ogAdjuster Adjust Volume to Hit OG Coorigeer volume om met OG te matchen Input Invoer SG SG Measured gravity pre-boil Gemeten SG voor het koken Temp Temp Temperature of SG reading Temperatuur van het afgelezen SG Calibration Temp Calibratie Temp Temp to which the hydrometer is calibrated Temp waar op de hydrometer is gecaibreerd -or- -of- Plato Plato Plato (percent by mass of equivalent sucrose) Plato(massa percentage van sucrose equivalent) Pre-Boil Volume Volume voor het koken Measured pre-boil volume Gemeten volume voor het koken Output Uitvoer OG w/o Correction Oorspronkelijk SG zonder correctie OG if you boil as planned Oorspronkelijk SG bij koken volgens planning Add to Boil Toevoegen bij het koken Amount of water you need to add to hit planned OG (or boil off if negative) Benodigde hoeveelheid water om toe te voegen om eht geplande oorspronkelijk SG te halen (of verdampen indien negatief) Final Batch Size Uiteindelijke Batch Grootte Estimated batch size after correction Geschatte batch grootte na correctie Calculate Bereken optionsDialog Options Opties Units Eenheden Weight Gewicht Use SI units Gebruik SI eenheden Use US traditional units Gebruik US traditional units Use British imperial units Gebruik British imperial units Temperature Temperatuur Celsius Celsius Fahrenheit Fahrenheit Volume Volume Gravity SG 20C/20C Specific Gravity 20°C/20°C SG Plato/Brix/Balling Plato/Brix/Balling Color Kleur Use SRM Gebruik SRM Use EBC Gebruik EBC Formulas Formules Mosher's approximation Mosher's approximation Daniels' approximation Daniels' approximation Morey's approximation Morey's approximation IBU IBU Tinseth's approximation Tinseth's approximation Rager's approximation Rager's approximation IBU Adjustments % IBU adjustment Mash Hop First Wort Eerste Wort Directories Directories Database Directory Directory van de database Where your brewtarget .xml files are. Browse Zoeken Default Standaard Language Taal Czech Catalan German Duits English Engels Spanish Spaans French Frans Italian Dutch Polish Pools Portuguese Portugees Russian <qt> <b>Know another language?</b> <br><br> Or, would you like to improve a translation? Help us out and <a href="https://sourceforge.net/sendmessage.php?touser=938941"> provide a translation</a> so that your friends can use brewtarget! </qt> <qt> <b>Beheerst u een andere taal?</b> <br><br> Of, zou u een vertaling willen verbeteren? Help ons en <a href="https://sourceforge.net/sendmessage.php?touser=938941"> lever een vertaling</a> zo dat uw vrienden brewtarget kunnen gebruiken! </qt> pitchDialog Pitch Rate Calculator Rekenhulp Gistgift Input Invoer Wort Volume Wort Volume OG Oorspronkelijkl SG For ales, 0.75-1. For lagers, 1.5-2. 0.75-1 voor ales. 1.5-2 voor pils Pitch Rate (M cells)/(mL*P) Aeration Method Yeast Production Date Yeast Viability None O2 At Start Stir Plate MM/dd/yyyy % TextLabel TekstLabel Calculate Viability From Date # Vials/Smack Packs Pitched Output Uitvoer Billions of Yeast Cells Required Miljoenen Benodigde Gist Cellen # Vials/Smack Packs w/o Starter Dry Yeast Gedroogde Gist Starter Volume Starter Volume primingDialog Priming Calculator Gistgift Rekenhulp Input Invoer Collected Beer Volume Verzamelde Bier Volume Amount of beer to prime Hoeveelheid bier om gist toe te voegen Beer Temperature Bier Temperatuur Temp of the beer Temp van het bier Desired Volumes Gewenste Volumes How many volumes of CO2 you want (1 L CO2 @ STP per L beer) Hoeveel volumes CO2 u wilt ((1 liter CO2 @ STP per liter bier) Glucose Monohydrate (corn sugar) Glucose Monohydrate (mais suiker) Anhydrous Glucose Watervrije Glucose Sucrose (table sugar) Sucrose (kristalsuiker) Dry Malt Extract Gedroogd Mout Extract Output Uitvoer Prime with Gistgift met How much priming ingredient to use Hoeveel gist ingrediënt te gebruiken Calculate Bereken recipeExtrasDialog Recipe Extras Recept Extra's Brewer Brouwer Asst. Brewer Assistent Brouwer Taste Rating Smaak waardering Primary Age (days) Hoofdvergisting duur (dagen) Primary Temp Temp hoofdvergisting Secondary Age (days) Duur navergisting Secondary Temp Secundaire Temp Tertiary Age (days) Duur hergisting (dagen) Tertiary Temp Tertiaire Temp Bottle/Keg Age (days) Fles/Vat Duur (dagen) Bottle/Keg Temp Fles/Vat Temp Date First Brewed Datum Eerste Brouwsel dd MMM yyyy dd MMM yyyy Carbonation Volumes Koolzuur Volumes Taste Notes Proef Aantekeningen Notes Aantekeningen Cancel Annuleren recipeExtrasWidget Form Vorm Brewer Brouwer Asst. Brewer Assistent Brouwer Taste Rating Smaak waardering Primary Age (days) Hoofdvergisting duur (dagen) Primary Temp Temp hoofdvergisting Secondary Age (days) Duur navergisting (dagen) Secondary Temp Temp navergisting Tertiary Age (days) Duur hergisting (dagen) Tertiary Temp Temp hergisting Bottle/Keg Age (days) Duur Fles/Vat (dagen) Bottle/Keg Temp Temp Fles/Vat (dagen) Date First Brewed Datum Eerste Brouwsel dd MMM yyyy dd MMM yyyy Carbonation Volumes Koolzuur Volumes Taste Notes Proef Aantekeningen Notes Aantekeningen refractoDialog Refractometer Tools Refractometer Gereedschap Inputs Invoer Original Plato Oorspronkelijke Plato OG (20 C) Oorspronkelijk SG (20 °C) Current Plato Huidige Plato Calculate Bereken Outputs Uitvoer SG (20C) SG (20°C) ABV Alc (vol%) ABW Alc (gew%) Refractive Index Refractieve index Real Extract (Plato) Werkelijk Extract (Plato) OG (20C) Oorspronkelijk SG (20 °C) scaleRecipeTool Scale Recipe Schaal Recept New batch size Nieuwe batch grootte New efficiency (pct) Nieuw rendement (%) styleEditor Style Editor Stijl Editor Style Stijl Delete selected style Verwijder geselecteerde stijl Basic Information Name Naam Category Categorie Category number Categorie nummer Style letter Stijl letter Style guide Stijl gids Type Type Type of beverage Type drank Lager Pils Ale Ale Mead Mede Wheat Tarwe Mixed Gemengd Cider Cider Vital Statistics Max Min OG FG IBUs Color (SRM) Kleur (SRM) Carb (vols) ABV (pct) Profile Profiel Ingredients Ingrediënten Examples Voorbeelden Notes Aantekeningen New Nieuw Save Opslaan Cancel Annuleren timerListDialog Timers Timers timerWidget Form Vorm Set the timer to the specified value Zet de timer op de gespecificeerde waarde Set Instellen HH:MM:SS Start/Stop timer Start/Stop timer Start Start Set a sound as the alarm Zet een geluid als alarm Sound Geluid waterEditor Dialog Dialoog Name Naam Notes Aantekeningen yeastDialog Yeast Database Gist Databank Add selected yeast to recipe Voeg geselecteerde gist toe aan recept Add to Recipe Voeg toe aan recept Create new yeast Creëer nieuwe gist New Nieuw Edit selected yeast Edit geselecteerde gist Remove selected yeast Verwijder geselecteerde gist yeastEditor Yeast Editor Gist Editor Required Fields Vereiste Velden Name Naam Type Type Ale Ale Lager Pils Wheat Tarwe Wine Wijn Champagne Champagne Form Vorm Liquid Vloeistof Dry Gedroogd Slant Opgekweekt Culture Cultuur Amount Hoeveelheid Check it if the amount given is in kg instead of L. Controleer of de opgegeven hoeveelheid in kg is i.p.v.in L. Amount is weight? Hoeveelheid is gewicht? Checked if the given amount is weight instead of volume Controleer of de opgegeven hoeveelheid een gewicht is i.p.v. een volume Lab Lab Product ID Product ID Min Temp Min Temp Min temp Min temp Max Temp Max Temp Max temp Max temp Flocculation Flocculatie Low Laag Medium Gemiddeld High Hoog Very High Erg Hoog Attenuation (%) Vergisting (%) Apparent attenuation as percentage of OG points Schijnbare Vergisting als percentage van het oorspronkelijke SG Times Recultured Aantal keren opgekweekt Times this yeast has been recultured Aantal keren dat deze gist is opgekweekt Max Recultures Max keren opkweken Max recultures Max keren opkweken Add to Secondary Voeg toe aan navergisting Checked means add this yeast to secondary instead of primary Aangevinkt betekent: voeg gist toe aan navergisting i.p.v. hoofdvergisting Best For: Houdbaar tot: Notes: Aantekeningen: brewtarget-2.0.2/translations/bt_it.ts0000644000175000017500000050424612266512176017432 0ustar philipphilip BrewDayScrollWidget Style Stile Date Data Boil Time Tempo di bollitura Efficiency Efficenza Boil Volume Volume di bollitura Preboil Gravity Densità Iniziale Final Volume Volume Finale Starting Gravity Densità Iniziale Densità Iniziale IBU IBU Final Gravity Densità Finale Densità Finale ABV ABV Estimated calories(per 12 oz) Calorie Stimate(per 340 gr circa) Instructions Istruzioni Completed Finito Completato Time Tempo Step Step Passo Actual PreBoil Volume Attuale Volume Pre Bollitura Actual PreBoil Gravity Attuale Densità Pre Bollitura PostBoil Volume Volume dopo Bollitura PostBoil Gravity Densità dopo Bollitura Volume into fermenter Volume dentro al fermentatore Print Document Stampa documento <h2>Notes</h2> <h2>Note</h2> Step %1: %2 Passo %1: %2 Add grains Aggiunta grani Heat water Calore dell'acqua BrewDayWidget Style Stile Date Data: Boil Volume Volume di bollitura Preboil Gravity Densità Iniziale Final Volume Volume Finale Starting Gravity OG Boil Time Tempo di bollitura IBU IBU Predicted Efficiency Efficenza Estimated calories (per 12 oz) Calorie Stimate(per 340 gr circa) Instructions Istruzioni Completed Completato Time Tempo Step Passo Actual Pre-boil Volume: Attuale Volume Pre Bollitura: Actual Pre-boil Gravity: Attuale Densità Pre Bollitura: Post-boil Volume: Volume dopo Bollitura: Post-boil Gravity: Densità dopo Bollitura: Volume in fermenter: Volume dentro al fermentatore: Print Document stampa documento Notes Note Step %1: %2 Passo %1: %2 BrewTargetTreeModel Name Nome Brew Date Data di birrificazione Style Stile Boil Time Tempo di bollitura Color Colore Type Tipologia Use Usa Form Forma Category Categoria Number Letter Guide BrewTargetTreeView New Recipe Nuova Ricetta Brew It! Birrifica! Brew Again Birrifica ancora Delete Cancella New Equipment Nuovi Ingredienti New Fermentable Nuovo fermentabile New Hop Nuovo Luppolo New Misc Nuova Aggiunta New Yeast Nuovo Lievito Copy Copia Export Esporta Import Importa Change date New Style Recalculate eff Brewtarget Default Default EBC SRM Intensità Colore della Birra SRM Plato Gradi Plato Plato Specific Gravity Densità Specifica SI SI US Customary US Customary Milligrams Milligrammi Grams Grammi Kilograms Kilogrammi Ounces oncia Pounds libra Celsius Celsius Fahrenheit Fahrenheit British Imperial MilliLiters Milliletri Liters Litri Teaspoons Cucchiaini Tablespoons Cucchiai da tavola Cups Tazze Quarts Quarti Gallons Galloni BtDigitWidget Too low for style. Troopo basso per lo stile. In range for style. Nel range per lo stile. Too high for style. Troppo alto per lo stile. Database Merge Database Unisci database There may be new ingredients and recipes available. Would you like to add these to your database? Ci possono essere nuovi ingredienti e ricette disponibili. Vuoi aggiungere questi al database? EquipmentEditor Grain absorption (%1/%2) Assorbimento del grano (%1/%2) Tun Volume Warning Avvertimento di volume di Tun Batch Size Warning Avvertimento della misura Equipment name Nome attrezzatura Equipment name: Nome attrezzatura: The tun volume you entered is 0. This may cause problems The batch size you entered is 0. This may cause problems Hop Utilization Warning The hop utilization percentage you entered is 0. This may cause problems FermentableDialog Fermentable name Nome del Fermentabile Fermentable name: Nome del Fermentabile: FermentableItemDelegate Grain Grano Sugar Zucchero Extract Estratto Dry Extract Estratto secco Adjunct Aggiunta FermentableTableModel Bad model index. row = %1 Cattivo modello indicizzazione =%1 Mashed Mashed Steeped bagnato Not mashed Non mashed Late Tardi Normal Normale Bad column: %1 Cattiva colonna: %1 Name Nome Type Tipologia Amount Ammontare Late Addition Ultima aggiunta Yield % Prodotto Color (SRM) Colore (SRM) Color (EBC) Colore (EBC) Hop Mash Mash First Wort Primo mosto Boil Bollire Aroma Aroma Dry Hop Dry Hop Bittering Amarezza Both entrambi Leaf foglia Pellet Pellet Plug Plug HopDialog Hop name Nome Luppolo Hop name: Nome Luppolo: HopItemDelegate Boil Bollire Dry Hop Dry Hop Mash Mash First Wort Primo mosto Aroma Aroma Leaf foglia Pellet Pellet Plug Plug HopTableModel Name Nome Alpha % Alpha Amount Ammontare Use Usa Time Tempo Form Forma MainWindow Open Apri BeerXML files (*.xml) BeerXML files (*.xml) Save Salva Equipment request Attrezzatura richiesta Would you like to set the batch size, boil size and time to that requested by the equipment? Volete impostare la partita , la quantità di bollitura e il tempo che è richiesto dalle apparecchiature? Delete %1 Cancella %1 Delete %1 %2? Cancella %1 %2? HTML files (*.html) HTML files (*.html) New Nuovo Recipe Ricetta Equipment Attrezzatura Fermentable Fermentabile Hop Luppolo Miscellaneous Aggiunta Yeast Lievito Copy %1 Copia %1 Enter a unique name for the copy of %1. Inserisci un unico nome per la copia di %1. Copy Equipment Copia attrezzatura Copy Fermentable Copia Fermentabile Copy Hop Copia Luppolo Copy Miscellaneous Copia Aggiunta Copy Yeast Copia Lievito Database Update Aggiorna Database You are about to update the current database with another one. This may make changes to (but will not delete) some of your ingredients. It will not modify any of your recipes. Continue? Stai per aggiornare il database corrente con un altro. Questo può apportare modifiche (ma non eliminare) alcuni dei vostri ingredienti. Essa non modificherà le tue ricette. Continuare? Select Database File Seleziona il file database Brewtarget Database (*.sqlite) Brewtarget Database (*.sqlite) Recipe name Nome Ricetta Recipe name: Nome Ricetta: Backup Database Backup Database Oops! Oops! Could not copy the files for some reason. Impossibile copiare i file per qualche motivo. A Warning Avvertimento This will obliterate your current set of recipes and ingredients. Do you want to continue? Questo cancellerà il set corrente di ricette e ingredienti. Vuoi continuare? For some reason, the operation failed. Per qualche ragione, l'operazione non riuscita. Import %1? Importa %1? No mash No mash Trying to add a mash step without a mash. Please create a mash first. Cercando di aggiungere un passaggio mash senza mash. Si prega di creare un primo mash. Copy Recipe Copia Ricetta Enter a unique name for the copy. Immettere un nome univoco per la copia. Please give your mash a name before saving. Si prega di dare il nome al tuo mash prima di salvare. Restart Riavviare Please restart Brewtarget. Si prega di riavviare Brewtarget. No equipment 1 You must select or define an equipment profile first. È necessario selezionare o definire un profilo di primo equipaggiamento. No style Nessun stile You must select a style first. È necessario selezionare uno stile. Choose File SQLite (*.sqlite) Style Stile Copy Style The database has been converted/upgraded. The original XML files can be found in The import contained invalid beerXML. It has been imported, but please make certain it makes sense. MaltinessWidget <b>Cloying</b> <b>Stucchevole</b> <b>Extra malty</b> <b>Molto maltato</b> <b>Slightly malty</b> <b>Leggermente maltato</b> <b>Balanced</b> <b>Bilanciato</b> <b>Slightly hoppy</b> <b>Leggermente Luppolato</b> <b>Extra hoppy</b> <b>Moltp Luppolato</b> <b>Way hoppy</b> <b>Modo luppolato</b> MashDesigner No Fermentables Non fermentabili Your recipe must have fermentables to design a mash. La ricetta deve essere fermentabile per progettare un mosto. No Equipment No attrezzatura You have not set an equipment for this recipe. We really cannot continue without one. Non è stata impostata un' apparecchiatura per questa ricetta. Non possiamo continuare senza. Tun Temp Temperatura Tun Enter the temperature of the tun before your first infusion. Inserisci la temperatura del tun prima della prima infusione. Decoction error Errore Decotto The first mash step cannot be a decoction. Il primo mash non può essere decotto. MashStepTableModel Bad model index. row = %1 Cattivo modello di indice.Riga= %1 Bad column: %1 Cattiva colonna: %1 Name Nome Type Tipologia Amount Ammontare Infusion Temp Temperatura di infusione Target Temp Temperatura Obiettivo Time Tempo MashWizard Mash thickness (%1/%2) Mash spessore (%1/%2) Bad thickness Cattivo Spessore You must have a positive mash thickness. È necessario avere uno spessore positivo mash. No steps Non ci sono passaggi There must be at least one mash step to run the wizard. Ci deve essere almeno un mash per eseguire la procedura guidata. First step Primo passo Your first mash step must be an infusion. Il primo passo deve essere una mescolanza di infusione. Mash too thick Mash troppo spesso Your mash is too thick for desired temp. at first step. Il mosto è troppo spesso per desiderare la temp. al primo passo. Decoction error Errore Decotto Something went wrong in decoction calculation. Qualcosa è andato storto nel calcolo decotto. Sparge temp. Temperatura di Sparge. In order to hit your sparge temp, the sparge water must be above boiling. Lower your sparge temp, or allow for more sparge water. Al fine di colpire il vostro sparge temperatura, l'acqua sparge deve essere al di sopra di ebollizione. Abbassa la temperatura sparge, o consentire per l'acqua sparge più. Too much wort Troppo Mosto You have too much wort from the mash for your boil size. I suggest increasing the boil size by increasing the boil time, or reducing your mash thickness. Hai mosto troppo dal mash per il formato ebollizione. Suggerisco l'aumento delle dimensioni ebollizione aumentando il tempo di ebollizione, o ridurre lo spessore mash. MiscDialog Misc name Nome Aggiunta Misc name: Nome Aggiunta: MiscItemDelegate Spice Spezie Fining affinamento Water Agent Agente dell'acqua Herb Erba Flavor Sapore Other Altro Boil Bollire Mash Mash Primary Primario Secondary Secondario Bottling Imbottigliamento MiscTableModel Name Nome Type Tipologia Use Usa Time Tempo Amount Ammontare Weight peso Volume Volume Amount Type OptionDialog Open Directory Apri directory Copy Data Copia Dta There do not seem to be any data files in this directory, so we will copy your old data here. Non sembrano esserci qualsiasi file di dati in questa directory, quindi dovremo copiare i vostri vecchi dati qui. Restart Riavviare Please restart Brewtarget. Si prega di riavviare Brewtarget. QObject Invalid color formula type: %1 Formula tipo colore non valido: %1 Unrecognized IBU formula type. %1 Formula tipo IBU non riconosciuta. %1 Batch Size: %1 Misura partita: %1 Boil Size: %1 Misura bollitura: %1 Boil Time: %1 Tempo Bollitura: %1 OG: %1 OG: %1 FG: %1 FG: %1 Bitterness: %1 IBUs (%2) Amarezza: %1 IBUs (%2) Color: %1 SRM (%2) Colore: %1 SRM (%2) Fermentables Fermentabile Name Nome Type Tipologia Amount Ammontare Mashed Mashed Late Tardi Yield Prodotto Color Colore Yes Si No No Total grain: %1 Grano Totale: %1 Hops Luppoli Alpha Alpha Use Usa Time Tempo IBU IBU Misc Aggiunta Yeast Lievito Form Forma Stage fase Secondary Secondario Primary Primario Mash Mash Temp Temperatura Target Obiettivo Notes Note Instructions Istruzioni Directory Problem Problema Directory "%1" cannot be read. "%1" Non può essere letto. Config directory "%1" cannot be read. Configura Directory %1" non può essere letto. New Version Nuova versione Version %1 is now available. Download it? La versione %1 è ora disponibile. Scaricala? Stop bothering you about new versions? Database Failure Errore del database Failed to open the database '%1'. Errore del database %1'. Save Database Changes Salva le modifiche del database Would you like to save the changes you made? Vuoi salvare le modifiche apportate? Multiple Databases Found Più database trovati Multiple databases were found. Do you want to restore the changes you made during your last Brewtarget session, or rollback to before last session's changes? Più database sono stati trovati. Vuoi ripristinare le modifiche apportate durante l'ultima sessione Brewtarget o torna indietro di prima che le modifiche della sessione ? Restore Ripristinare Rollback torna indietro Failed to remove the temporary backup database. Navigate to '%1' and remove 'tempBackupDatabase.sqlite'. Impossibile rimuovere il database temporaneo di backup. Passare a '%1' e rimuovere 'tempBackupDatabase.sqlite'. Failed to rollback to the backup database. Navigate to '%1', remove 'database.sqlite' if it exists, and rename 'tempBackupDatabase.sqlite' to 'database.sqlite'. Impossibile tornare indietro al database di backup. Passare a '%1', togliere 'database.sqlite' se esiste, e rinominare 'tempBackupDatabase.sqlite' a 'database.sqlite'. Database Restore Failure Errore del database di ripristino Failed to restore the backup database. Navigate to '%1' and rename 'tempBackupDatabase.sqlite' to 'database.sqlite'. Impossibile ripristinare il database di backup. Passare a '%1' e rinominare 'tempBackupDatabase.sqlite' a 'database.sqlite'. Grain Grano Sugar Zucchero Extract Estratto Dry Extract Estratto secco Adjunct Aggiunta Boil Bollire Mash Mash Infusion Infusione Temperature Temperatura Decoction Decotto Bottling Imbottigliamento Spice Spezie Fining affinamento Water Agent Agente dell'acqua Herb Erba Flavor Sapore Other Altro Ale Ale Lager Lager Wheat Wheat Wine Vino Champagne Champagne Liquid Liquido Dry Secco Slant Inclinazione Culture Cultura Low Basso Medium Medio High Alto Very High Molto alto Recipes Ricette Equipment Attrezzatura Fermentables Fermentabili Hops Luppoli Miscellaneous Aggiunta Yeast Lievito Efficiency: %1% Efficenza: %1% ABV: %1% ABV: %1% Style Stile Recipe Add grains Aggiunta grani Add Aggiunta to the mash tun. al mash tun. Heat water Calore dell'acqua Bring Prtare %1 water to %2, %1 acqua a %2, for upcoming infusions. per infusioni successive. Add %1 water at %2 to mash to bring it to %3. Aggiungi %1 acqua %2 di mash per portarla a %3. Heat mash to %1. Riscaldare Mosto a %1. Bring %1 of the mash to a boil and return to the mash tun to bring it to %2. Porta %1 del mosto a bollore e tornare al mash tun per portarla a %2. Hold for %1. Mantenere la posizione per %1. Put %1 %2 into boil for %3. Metti %1 %2 in ebollizione per %3. Put %1 %2 into fermenter for %3. Metti %1 %2 nel fermentatore per %3. Put %1 %2 into first wort for %3. Metti %1 %2 nel primo mosto per %3. Put %1 %2 into mash for %3. Metti %1 %2 nel mash per %3. Steep %1 %2 in wort for %3. Steep %1 %2 nel mosto per %3. Use %1 %2 for %3 Usa %1 %2 per %3 Hop addition Aggiunta Luppolo Use %1 %2 at bottling for %3. Usa %1 %2 nell'imbottigliamento per %3. Put %1 %2 into primary for %3. Metti %1 %2 nel primario per %3. Put %1 %2 into secondary for %3. Metti %1 %2 nel secondario per %3. Use %1 %2 for %3. Usa %1 %2 per %3. Misc addition Aggiunta materie Do first wort hopping with Fai prima il mosto luppolato con First wort hopping Primo mosto luppolato You should now have %1 wort. Si drovrebbe avere ora %1 mosto. Add %1 water to the kettle, bringing pre-boil volume to %2. Aggiung i%1 acqua in pentola portando il volume della pre-ebollizione a %2. Pre-boil Prima della bollitura Boil or steep Bollitura o steep Boil/steep fermentables Bollitura/steep dei fermentabili to the boil at knockout. ad ebollizione a eliminazione diretta. Knockout additions aggiungi eliminazione diretta You should have %1 wort post-boil. Si dovrebbe avere %1 nel mosto dopo boollitura. You anticipate losing %1 to trub and chiller loss. Si prevede di perdere %1 per la peridita di refrigerazione. Add %1 top up water into primary. Aggiungi %1 per rabboccare acqua nel primario. The final volume in the primary is %1. Il Volume finale del primo è %1. Post boil Dopo Bollitura Boil time Tempo di bollitura You did not configure an equipment (which you really should), so tell me the boil time. Non hai configurato l'attrezzatura (che si dovrebbe fare), quindi dimmi il tempo ebollizione. Bring the wort to a boil and hold for %1. Portare il mosto ad ebollizione e tenerilo cos' per %1. Start boil Partenza bollitura Flameout Spegnimento Stop boiling the wort. Ferma la bollitura del mosto. Cool wort and pitch Mosto freddo e intenso %1 %2 yeast, %1 %2 Lievito to the primary. nel primario. Pitch yeast Lievito intenso Let ferment until FG is %1. Lascia fermentare fino a FG %1. Ferment Fermentare Transfer beer to secondary. Trasferisci la birra nel secondario. Transfer to secondary Trasferisci al secondario Add %1 %2 to boil at %3. Aggiungi %1 %2 per bollire a %3. Raise water to boil and then remove from heat. Stir in Sollevare l'acqua ad ebollizione e poi togliere dal fuoco. Mescolare Add Extracts to water Aggiungi estratti all'acqua %1 water to %2 %1 acqua a %2 RecipeFormatter unknown style Stile sconosciuto N/A N/A Brewer Birraio Date Data Batch Size Misura Partita Boil Size Misura bollitura Boil Time Tempo di bollitura Efficiency Efficenza OG OG FG FG Unknown Sconosciuto ABV ABV Bitterness Amarezza Color Colore Calories (per 12 oz.) Calorie (per 340 gr) Fermentables Fermentabili Total grain: Grano Totale: Name Nome Type Tipologia Amount Ammontare Mashed Mashed Late Tardi Yield Prodotto Yes Si No No Hops Luppoli Alpha Alpha Use Usa Time Tempo Form Forma IBU IBU Misc Aggiunta Yeast Lievito Stage fase Secondary Secondario Primary Primario Mash Mash Temp Temperatura Target Temp Temperatura Obiettivo Notes Note Instructions Istruzioni Brew Date Data di birrificazione Preboil Prima della bollitura SG Densità Iniziale Volume into BK Volume interno al BK Strike Temp Sospensione Temperatura Final Temp Temperatura Finale Eff into BK Efficenza in BK Projected OG OG Stimato Postboil Dopo Bollitura Postboil Volume Volume dopo Bollitura Volume Into Fermenter Volume dentro al fermentatore Brewhouse Eff Efficenza Birrificio Projected ABV ABV Stimato Postferment Post Fermentazione Volume Volume Print Document stampa documento RefractoDialog OG Mismatch OG Corrispondente Based on the given original plato, the OG should be %1, but you have entered %2. Continuing with the calculated OG. Sulla base del dato plato originale, l'OG deve essere %1, ma tu ha inserito %2. Continuando con il valore calcolato OG. ScaleRecipeTool Recipe Scaled Ricetta scalata The mash has been reset due to the fact that mash temperatures do not scale easily. Please re-run the mash wizard. Il mosto è stato resettato a causa del fatto che le temperature non si è abbassata facilmente. Si prega di eseguire nuovamente la procedura guidata di mosto. The equipment and mash have been reset due to the fact that mash temperatures do not scale easily. Please re-run the mash wizard. Le attrezzature e il mash sono state azzerate a causa del fatto che le temperature non si sono abbassate facilmente. Si prega di eseguire nuovamente la procedura guidata di mosto. StyleEditor Style name Nome dello stile Style name: Nome dello Stile: TimerWidget Open Sound Apri Suono Audio Files (*.wav *.ogg *.mp3 *.aiff) Audio Files (*.wav *.ogg *.mp3 *.aiff) Stop Stop Start Partenza WaterTableModel Bad model index. row = %1 Cattivo modello indicizzazione. Riga = %1 Bad column: %1 Cattiva colonna: %1 Name Nome Amount Ammontare Calcium (ppm) Calcio (ppm) Bicarbonate (ppm) Bicarbonato (PPM) Sulfate (ppm) Solfato (ppm) Chloride (ppm) Cloruro (ppm) Sodium (ppm) Sodio (ppm) Magnesium (ppm) Magnesio (ppm) YeastDialog Yeast name Nome Lievito Yeast name: Nome lievito: YeastItemDelegate Ale Ale Lager Lager Wheat Wheat Wine Vino Champagne Champagne Liquid Liquido Dry Secco Slant Inclinazione Culture Cultura YeastTableModel Bad model index. row = %1 Cattivo modello di indice.Riga= %1 Bad column: %1 Cattiva colonna: %1 Name Nome Type Tipologia Form Forma Amount Ammontare Laboratory Laboratorio Product ID ID Prodotto aboutDialog About Brewtarget Chi è Brewtaget <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'DejaVu Sans'; font-size:9pt; font-weight:400; font-style:normal;"> <p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:20pt;">Brewtarget %1</span></p> <p style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Brewtarget, for developing beer recipes.</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Copyright 2009-2013 by the developers below.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier'; font-weight:600; text-decoration: underline;">Developers</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Peter Buelow</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Dan Cavanagh</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Mik Firestone</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Philip G. Lee &lt;rocketman768@gmail.com&gt;</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier'; font-weight:600; text-decoration: underline;">Copyright (GPLv3)</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Brewtarget is free software: you can redistribute it and/or modify</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">it under the terms of the GNU General Public License as published by</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">the Free Software Foundation, either version 3 of the License, or</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">(at your option) any later version.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Brewtarget is distributed in the hope that it will be useful,</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">but WITHOUT ANY WARRANTY; without even the implied warranty of</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">GNU General Public License for more details.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Courier New,courier';"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">You should have received a copy of the GNU General Public License</span></p> <p style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">along with Brewtarget. If not, see &lt;</span><a href="http://www.gnu.org/licenses/"><span style=" font-family:'Courier New,courier'; text-decoration: underline; color:#0000ff;">http://www.gnu.org/licenses/</span></a><span style=" font-family:'Courier New,courier';">&gt;.</span></p> <p style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier'; font-weight:600; text-decoration: underline;">Source Code</span></p> <p style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Brewtarget's source code can be downloaded at </span><a href="http://brewtarget.sourceforge.net"><span style=" font-family:'Sans Serif'; text-decoration: underline; color:#0057ae;">brewtarget.sourceforge.net</span></a><span style=" font-family:'Sans Serif';">.</span></p> <p style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier'; font-weight:600; text-decoration: underline;">Special Thanks</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Guido Carpi (Italian translation)</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Ester (Catalan translation)</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Marc Cote (French translation)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Pawel Fiedor (Polish translation)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Admiro (Polish translation)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Edu Engler (Portuguese translation)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Jan Grmela (Czech translation)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Randy Brace (alpha tester)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://finalgravitypodcast.com"><span style=" font-family:'Sans Serif'; text-decoration: underline; color:#0057ae;">Final Gravity Podcasts</span></a></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">Glenn Tinseth &lt;</span><a href="http://www.realbeer.com/hops"><span style=" text-decoration: underline; color:#0000ff;">http://www.realbeer.com/hops</span></a><span style=" font-family:'Courier New,courier';">&gt;</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">server, printer, edit-copy, document-print-preview and merge images from Oxygen theme (CC license)</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Courier New,courier';">backup image from Nuvola theme (LGPL)</span></p></body></html> Donate Dona brewDayScrollWidget Form Forma Generate Instructions Istuzioni generali Insert step Inserisci passaggio Name Nome Name of new step Nome del nuovo Steep Step # Passo # The number where the new step should be placed Il numero in cui il nuovo passo deve essere collocato Insert the new step Inserisci nuovo step Move steps Muovi steps Move currently selected step up Spostare passo attualmente selezionato in alto Move currently selected step down Spostare passo attualmente selezionato verso il basso Remove currently selected step Rimuovere passo attualmente selezionato brewDayWidget Brewday Mode Modalità Brewday Instructions Istruzioni Move currently selected step up Spostare passo attualmente selezionato in alto Up Su Move currently selected step down Spostare passo attualmente selezionato verso il basso Down Giù Remove currently selected step Rimuovere passo attualmente selezionato Remove Rimuovi Insert step Inserisci passaggio Name Nome Name of new step Nome del nuovo Steep Step # Passo # The number where the new step should be placed Il numero in cui il nuovo passo deve essere collocato Insert the new step Inserisci nuovo step Insert Inserisci brewNoteWidget Form Forma Preboil Prima della bollitura SG Densità Iniziale Preboil gravity Densità Iniziale Volume Volume Volume of wort collected Volume di mosto raccolto Strike Temp Sospensione Temperatura Temperature of mash after dough in Temperatura del mosto dopo la pasta in Final Temp Temperatura Finale Temperature of mash before mash out Temperatura mosto dopo mash out Postboil Dopo Bollitura OG OG Post boil gravity Densità dopo Bollitura Postboil Volume Volume dopo Bollitura Volume of wort in BK after boil Volume del mosto in ebollizione dopo BK Volume of wort transferred to fermenter Volume di mosto trasferito nel fermentatore Volume into fermenter Volume dentro al fermentatore Pitch Temp Temperatura intenso Temperature of wort when yeast is pitched Temperatura del mosto quando il lievito viene attivato Postferment Post Fermentazione Final gravity Densità Finale Volume of beer into serving keg/bottles Volume di birra da servire nel fusto/bottiglie Date when the yeast fermented out Data di fine fermentazione percent efficiency into boil kettle percentuale di efficienza in caldaia di ammostamento Eff into BK Efficenza in BK Expected OG, based on measure fg Prevista OG, sulla base della misura di FG Projected OG OG Stimato Brewhouse efficiency Efficenza Birrificio Brewhouse Eff Efficenza Birrificio Expected ABV based on OG ABV atteso sulla base di OG Projected ABV ABV Stimato ABV based on FG ABV basato su OG ABV ABV Notes Note btSplashScreen Form Forma converterTool Converter Tool Tool per conversione Input Input Amount and units to convert Importo e unità per la conversione Output Units Moduli di uscita Unit you want to convert to Unità che si desidera convertire in Output Produzione Output conversion uscita di conversione Convert convertire equipmentEditor Equipment Editor Editor attrezzature Equipment Attrezzatura Remove equipment Rimuovi attrezzatura Set as Default Imposta come default Required Fields Campi obbligatori Name Nome Pre-boil volume Volume pre bollitura If checked, we will calculate your pre-boil volume based on your desired batch size, boil time, evaporation rate, losses, etc. Se selezionata, provvederemo a calcolare il vostro pre-ebollizione del volume in base alla dimensione del lotto da bollire e all'ora desiderate, velocità di evaporazione, perdite, ecc. Calculate pre-boil volume Calcolare il volume di pre-ebollizione Automatically fill in pre-boil volume Compilare automaticamente in fase di pre-ebollizione del volume Batch size Dimensione lotto Boiling && Water Bollendo && Acqua Boil time Tempo di bollitura Evaporation rate (per hr) Tasso di Evaporazione (per ora) How much water boils off per hour Quanta perdita di acqua per ora Kettle top-up water Rabbocco Acqua bollitore How much water is added to kettle immediately pre-boil Quanta acqua si aggiunge al bollitore immediatamente pre-ebollizione Final top-up water Finale rabbocco acqua Water added to fermenter Acqua aggiunta nel fermentatore Grain Absorption (L/kg) Assorbimento grano (L/kg) Default Absorption Assorbimento di default Boiling Point of Water Punto di ebollizione dell'acqua Hop Utilization L'utilizzo di luppolo Mash Tun Mash di tun Volume Volume Volume of mash tun Volume di mash tun Mass Massa Mass or weight of mash tun Massa o peso di mash tun Specific heat (cal/(g*K)) Calore Specifico (cal/(g*K)) Losses Perdite Kettle to fermenter Bollitore a fermentatore Wort lost between kettle and fermenter Mosto perso tra bollitore e fermentatore Lauter deadspace Separare spazio maorto Volume of wort lost to lauter deadspace Volume di mosto perso separando lo spazio morto Notes Note New equipment Nuovi Ingredienti Save Salva Cancel Cancella fermentableDialog Fermentable Database Database Fermentabile Add selected ingredient to recipe Aggiungi ingredienti selezionati alla ricetta Add to Recipe Aggiungi allla ricetta Create new ingredient Crea nuovo ingrediente New Nuovo Edit selected ingredient Edit ingrediente selezionato Remove selected ingredient Rimuovi ingerdiente selezionato fermentableEditor Fermentable Editor Editor Fermentabile Required Fields Campi obbligatori Name Nome Type Tipologia Grain Grano Sugar Zucchero Extract Estratto Dry Extract Estratto secco Adjunct Aggiunta Amount Ammontare Yield (%) Prodotto Yield as compared to glucose Resa rispetto al glucosio Lovibond Lovibond Lovibond rating Valutazione Lovibond Add After Boil Aggiungi dopo bollitura This ingredient is added post boil. Questo ingrediente è stato aggiunto dopo bollitura. Origin Origine Supplier Fornitore Coarse/Fine Diff (%) Grossa/Fine Differenza(%) Yield difference between coarse and fine grind Resa differenza tra macro e micro macinatura Moisture (%) Umidità (%) Moisture percentage by mass Percentuale di Umidità per massa DP (Lintner) DP (Lintner) Diastatic power in Lintner Potere diastasico in Lintner Protein (%) Proteine (%) Protein percentage by mass Perecntuale Proteine per massa Max In Batch (%) Max in Lotto (%) Maximum recommended percentage of total grist Percentuale massima raccomandata di Grist totale Recommend Mash Mash raccomandato Recommend this be mashed Consiglio questo essere mah Is Mashed Is Mashed Checked if it is present in mash Controllato se presente nel mash Bitterness (IBU*gal/lb) Amarezza (IBU*gal/lb) Bitterness of pre-hopped extracts Amarezza di estratti pre luppolatura Notes: Note: hopDialog Hop Database Database Luppolo Add selected ingredient to recipe Aggiungi ingredienti selezionati alla ricetta Add to Recipe Aggiungi allla ricetta New hop Nuovo Luppolo New Nuovo Edit Edit Remove Rimuovi hopEditor Hop Editor Editor Luppolo Required Fields Campi obbligatori Name Nome Alpha (%) Alpha (%) Alpha acids as percent by mass Alpha Acidi come percentuale in massa Amount Ammontare Amount Ammontare Use Usa Mash Mash First Wort Primo mosto Boil Bollire Aroma Aroma Dry Hop Dry Hop Time Tempo Type Tipologia Bittering Amarezza Both entrambi Form Forma Leaf foglia Pellet Pellet Plug Plug Beta (%) Beta (%) Beta acids as percent by mass Beta Acidi come percentuale in massa HSI HSI Hop Stability/Storage index Satabilità Luppolo/Indce di Stoccaggio Origin Origine Humulene (%) Humulene (%) Humulene Humulene Caryophyllene (%) Cariphillene (%) Caryophyllene Cariphillene Cohumulone (%) Cohomulone (%) Cohumulone Myrcene (%) Mircene (%) Myrcene Mircene Substitutes: Sostituti: Notes: Note: htmlViewer Html Viewer Html Vista about:blank about:blank instructionWidget Form Forma Show a timer Mostro il tempo Show timer Mostra Timer Mark this step completed Segna questo step completato Step completed Step completato mainWindow Recipes Ricette Styles Fermentables Fermentabili Hops Luppoli Miscs Miscs Yeasts Lieviti Recipe Ricetta Name Nome Name of recipe Nome della Ricetta 5 gal 20 lt Target boil size Obiettivo misura bollitura Efficiency (%) Efficenza (%) Calculated Boil Size Calcolato la misura di bollitura Calculated Batch Size Calcolato la misura del lotto The extraction efficiency you expect L'efficienza di estrazione che ci si aspetta Style Stile Boil Time Tempo di bollitura Target batch size Obiettivo Lotto Misura Target Batch Size Obiettivo Lotto Misura Equipment Attrezzatura Target Boil Size Obiettivo misura bollitura OG OG Boil SG Bollitura SG FG FG ABV ABV Bitterness (IBU) Amarezza (IBU) Color Colore IBU/GU IBU/GU Calories/12oz Calorie/340gr Extras Extra Brewday Giorno di Birrificazione Add a fermentable Aggiungi a Fermentabile Remove selected fermentable Rimuovi il fermentabile selezionato Edit selected fermentable Edit il fermentabile selezionato Add hop Aggiunta Luppolo Remove selected hop Edit selected hop Edit luppolo selezionato Miscellaneous Aggiunta Add misc Aggiungi misc Remove selected misc Rimuovi misc selezionato Edit selected misc Edit misc selezionato Yeast Lievito Add yeast Aggiungi lievito Remove selected yeast Rimuovi lievito selezionato Edit selected yeast Edit lievito selezionato Mash Mash Add mash step Aggiungi step mash Remove selected mash step Rimuovi mash step selezionato Edit selected mash step Rimuovi mash step selezionato Edit mash properties Rimuovi mash step selezionato Edit mash Edit mash Mash Des Mash Des Invoke the mash wizard Richiamare la procedura guidata mosto Mash wiz Mask wiz Mashs Mash Mash step up Intensificare Mash Mash step down Dimettere Mash Save this mash profile Salva questo profilo di Mash Save Mash Salva Mash &About &About &File &File &Brewday &Brewday &Recipe &Ricetta &Database &Database &View &View &Tools &Tools toolBar About &BrewTarget About &BrewTarget About Brewtarget Chi è Brewtaget &Export Recipe &Export Recipe &Fermentables &Fermentables Ctrl+F &Hops Ctrl+H &Miscs Ctrl+M &Yeasts Ctrl+Y &Equipments Ctrl+E &Styles Ctrl+T &Exit Ctrl+Q &Import Recipes &Options &Manual &Scale Recipe Recipe to Clipboard as &Text &OG Correction Help &Convert Units Backup Database Backup Database Restore Database Ripristina Database &Copy Recipe Pr&iming Calculator &Refractometer Tools &Pitch Rate Calculator Merge Databases Unire i database Select another database to merge into the current one. Selezionare un altro database da fondere in quello attuale. &Print Print Pre&view &Export To HTML &Export to HTML &Backup Save all recipes, ingredients, etc. to a backup folder Salva tutte le ricette, ingredienti, ecc per una cartella di backup &Restore Restore recipes, ingredients, etc. from a previous backup Ripristinare ricette, ingredienti, ecc da un backup precedente &Merge Merge another set of recipes, ingredients, etc. into the current set Unire un altro set di ricette, ingredienti, ecc nel set corrente &New Recipe Timers Timers Show timers Mostra Timers Save Salva Delete selected Cancella selezionati Delete recipe Cancella ricetta Donate Dona &Mashs Mashes mashDesigner Mash Designer Name Nome Type Tipologia Target temp. Temperatura Obiettivo. Time Tempo Batch Sparge Partita di Saprge Next Prossimo Finish Fine Infusion/Decoction Amount Importo di Infusione/Decotto min max 0 Infusion Temp Temperatura di infusione Total Collected Wort Totale Mosto Raccolto vol Vol Tun Fullness Pienezza di Tun tunVol thickness Spessore mashEditor Mash Editor Name Nome Initial grain temp Temperatura iniziale del Grano Sparge temp Temperatura di Sparge Sparge temp target Obiettivo Temepratuta di Saprge Sparge pH PH Sparge Notes Note Tun Tun Initial tun temp Get following parameters from the recipe's equipment. Prendi i seguenti parametri dalle attrzzature della ricetta. From Equipment Da attrezzatura Tun mass Massa Tun Tun sp. heat Tun sp.Calore Tun specific heat (cal/(g*K)) Calore specifico di tun (Cal/(g*K)) mashStepEditor Mash Step Editor Editor Step Mash Name Nome Type Tipologia Infusion Infusione Temperature Temperatura Decoction Decotto Target temp. Temperatura Obiettivo. Target temp. of this step Obiettivo temperatura di questo step Infuse Amount Quantità di Infusione Amount of water to infuse Quantità d'acqua in infusione Infuse temp. Temperatura di infusione. Temperature of infusion water Temperatura infusione dell'acqua Decoction Amount Quantità decotta Amount of mash to decoct Quantità di mash da decotto Time Tempo Time to conduct the step Tempo di condurre il passo Temp. lag time Temperatura di fine lagerizzazione Lag time Tempo lagerizzazione End temp. Fine Temp. Final temp. of this step Temperatura finale di questo step mashWizard Mash Wizard Mash Wizard Mash thickness (L/kg) Spessore Mash (L/kg) Mash thickness (do not enter any units) Mash spessore (non inserire alcuna unità) miscDialog Misc Database Database Misc Add selected ingredient to recipe Aggiungi ingredienti selezionati alla ricetta Add to Recipe Aggiungi allla ricetta Create a new ingredient Crea nuovo ingrediente New Nuovo Edit selected ingredient Edit ingrediente selezionato Remove selected ingredient Rimuovi ingerdiente selezionato miscEditor Misc Editor Editor Misc Name Nome Type Tipologia Spice Spezie Fining affinamento Water Agent Agente dell'acqua Herb Erba Flavor Sapore Other Altro Use Usa Boil Bollire Mash Mash Primary Primario Secondary Secondario Bottling Imbottigliamento Time Tempo Amount Ammontare Check it if the amount listed is in kg instead of L. Controllare se l'importo indicato è in kg invece di L. Amount is weight? Importo è il peso? Checked if the given amount is weight instead of volume Controlla se la data quantità è peso invece di volume Use for: Usa per: Notes: Note: namedMashEditor Named Mash Editor Mash Mash Delete selected style Cancella stile selezionato Name Nome Initial grain temp Temperatura iniziale del Grano Sparge temp Temperatura di Sparge Sparge temp target Obiettivo Temepratuta di Saprge Sparge pH PH Sparge Notes Note Tun Tun Initial tun temp From Equipment Da attrezzatura Tun mass Massa Tun Tun sp. heat Tun sp.Calore Tun specific heat (cal/(g*K)) Calore specifico di tun (Cal/(g*K)) Add mash step Aggiungi step mash Remove selected mash step Rimuovi mash step selezionato Mash step up Intensificare Mash Mash step down Dimettere Mash ogAdjuster Adjust Volume to Hit OG Regolazione del volume a Hit OG Input Input SG SG Measured gravity pre-boil Misurata Densità pre ebollizione Temp Temperatura Temperature of SG reading Temperatura dell'SG letta Calibration Temp Calibrazione temperatura Temp to which the hydrometer is calibrated Temperatura a cui è tarato il densimetro -or- -o- Plato Plato Plato (percent by mass of equivalent sucrose) Plato (percentuale in massa di saccarosio equivalente) Pre-Boil Volume Volume pre bollitura Measured pre-boil volume Misurato Volume pre ebollizione Output Produzione OG w/o Correction Correzione OG w/o OG if you boil as planned OG se bolle come previsto Add to Boil Aggiungere alla bollitura Amount of water you need to add to hit planned OG (or boil off if negative) Quantità di acqua necessaria da aggiungere per determinare OG previsto (o ferma la bollitura se negativo) Final Batch Size Misura lotto finale Estimated batch size after correction Misura lotto stimata dopo correzione Calculate Calcola optionsDialog Options Opzioni Units Moduli Weight peso Use SI units Usa unità SI Use US traditional units Usa Unità US tradizionali Use British imperial units Usa unità British imperial Temperature Temperatura Celsius Celsius Fahrenheit Fahrenheit Volume Volume Gravity Densità 20C/20C Specific Gravity 20C/20C Densità Specifica Plato/Brix/Balling Plato/Brix/Balling Color Colore Use SRM Usa SRM Use EBC Usa EBC Formulas Formula Mosher's approximation Approssimazione di Mosher Daniels' approximation Approssimazione di Daniel Morey's approximation Approsimazione di Morey IBU IBU Tinseth's approximation Approssimazione di Tinseth Rager's approximation Approssimazione di Rager IBU Adjustments % IBU adjustment Mash Hop First Wort Primo mosto Directories Elenchi Database Directory Elenchi Database Where your brewtarget .xml files are. Sove sono i vostri Files Brewtarget.xml . Browse Sfogliare Default Default Language Lingua Czech Ceca Catalan Catalana German Tedesca English Inglese Spanish Spagnola French Francese Italian Italiano Dutch Olandese Polish Polacca Portuguese Portoghese Russian <qt> <b>Know another language?</b> <br><br> Or, would you like to improve a translation? Help us out and <a href="https://sourceforge.net/sendmessage.php?touser=938941"> provide a translation</a> so that your friends can use brewtarget! </qt> <qt> <b>Know another language?</b> <br><br> Or, would you like to improve a translation? Help us out and <a href="https://sourceforge.net/sendmessage.php?touser=938941"> provide a translation</a> so that your friends can use brewtarget! </qt> pitchDialog Pitch Rate Calculator Passo tasso Calcolatrice Input Input Wort Volume Volume Mosto OG OG For ales, 0.75-1. For lagers, 1.5-2. Per ale, 0.75-1. Per lager, 1.5-2. Pitch Rate (M cells)/(mL*P) Lievito tasso (M)/(mL*P) Aeration Method Metodo di aerezione Yeast Production Date Data produzione Lievito Yeast Viability Vitalità lievito None Nessuno Niente O2 At Start Partenza con o2 Stir Plate Piastra mescolatrice MM/dd/yyyy MM/GG/AAAA % % TextLabel Calculate Viability From Date Calcola Vitalità dalla data # Vials/Smack Packs Pitched # Fiale/Confezioni Inclinate Output Produzione Billions of Yeast Cells Required Miliardi di cellule di lievito richieste # Vials/Smack Packs w/o Starter # Fiale/Confezioni con o senza starter Dry Yeast Lievito secco Starter Volume Volume di partenza primingDialog Priming Calculator Calcolatore di priming Input Input Collected Beer Volume Volume di bitrra raccolto Amount of beer to prime Importo di birra a serata Beer Temperature Tmperatura birra Temp of the beer Temp della birra Desired Volumes Volumi desiderati How many volumes of CO2 you want (1 L CO2 @ STP per L beer) Quanti volumi di co2 vuoi (1 L CO2 @ STP per L Birra) Glucose Monohydrate (corn sugar) Glucosio monoidrato (zucchero del mais) Anhydrous Glucose glucosio anidro Sucrose (table sugar) Saccarosio (zucchero da tavola) Dry Malt Extract Estratto di malto secco Output Produzione Prime with Prime con How much priming ingredient to use Quanto ingerdiente per il primg usare Calculate Calcola recipeExtrasDialog Recipe Extras Ricetta Extra Brewer Birraio Asst. Brewer Assistente Birraio Taste Rating Valutazione assaggio Primary Age (days) Età primaria (giorni) Primary Temp Temperatura primaria Secondary Age (days) Età secondaria (giorni) Secondary Temp Temperatura secondaria Tertiary Age (days) Età terziaria (giorni) Tertiary Temp Temperatura terziaria Bottle/Keg Age (days) Bottiglia/Fusto età (giorni) Bottle/Keg Temp Bottiglia/fusto Temperatura Date First Brewed Data di prima birrificazione dd MMM yyyy dd MMM YYYY Carbonation Volumes Volume carbonazione Taste Notes Note di asssaggi Notes Note Cancel Cancella recipeExtrasWidget Form Forma Brewer Birraio Asst. Brewer Assistente Birraio Taste Rating Valutazione assaggio Primary Age (days) Età primaria (giorni) Primary Temp Temperatura primaria Secondary Age (days) Età secondaria (giorni) Secondary Temp Temperatura secondaria Tertiary Age (days) Età terziaria (giorni) Tertiary Temp Temperatura terziaria Bottle/Keg Age (days) Bottiglia/Fusto età (giorni) Bottle/Keg Temp Bottiglia/fusto Temperatura Date First Brewed Data di prima birrificazione dd MMM yyyy dd MMM YYYY Carbonation Volumes Volume carbonazione Taste Notes Note di asssaggi Notes Note refractoDialog Refractometer Tools Tool Rifrattometri Inputs Ingressi Original Plato Plato origianale OG (20 C) OG (20 C) Current Plato Plato corrente Calculate Calcola Outputs Produzione SG (20C) ABV ABV ABW Refractive Index Indice di rifrattometro Real Extract (Plato) Estratto reale (Plato) OG (20C) OG (20 C) scaleRecipeTool Scale Recipe Scala ricetta New batch size Nuova dimensione lotto New efficiency (pct) Nuova efficenza (pct) styleEditor Style Editor Editor stile Style Stile Delete selected style Cancella stile selezionato Basic Information Informazioni di base Name Nome Category Categoria Category number Numero di categoria Style letter Stile di lettera Style guide guida allo stile Type Tipologia Type of beverage Tipo di bevanda Lager Lager Ale Ale Mead Mead Wheat Wheat Mixed Mix Cider Sidro Vital Statistics Statistiche Vitali Max Max Min Min OG OG FG FG IBUs Color (SRM) Colore (SRM) Carb (vols) ABV (pct) Profile Profilo Ingredients Ingredienti Examples Esempi Notes Note New Nuovo Save Salva Cancel Cancella timerListDialog Timers Timers timerWidget Form Forma Set the timer to the specified value Impostare il timer al valore specificato Set Setta HH:MM:SS HH:MM:SS Start/Stop timer Start Partenza Set a sound as the alarm Setta il suono per l'allarme Sound Suono waterEditor Dialog Dialogo Name Nome Notes Note yeastDialog Yeast Database Database Lievito Add selected yeast to recipe Aggiungi lievito selezionato alla ricetta Add to Recipe Aggiungi alla ricetta Create new yeast Crea nuovo lievito New Nuovo Edit selected yeast Edit lievito selezionato Remove selected yeast Rimuovi lievito selezionato yeastEditor Yeast Editor Editor Lievito Required Fields Campi obbligatori Name Nome Type Tipologia Ale Ale Lager Lager Wheat Wheat Wine Vino Champagne Champagne Form Forma Liquid Liquido Dry Secco Slant Inclinazione Culture Cultura Amount Ammontare Check it if the amount given is in kg instead of L. Controllare se l'importo indicato è in kg invece di L. Amount is weight? Importo è il peso? Checked if the given amount is weight instead of volume Controlla se la data quantità è peso invece di volume Lab Laboratorio Product ID ID Prodotto Min Temp Temperatura Minima Min temp Temperatura Minima Max Temp Temperatura Massima Max temp Temperatura Massima Flocculation Flocculazione Low Basso Medium Medio High Alto Very High Molto alto Attenuation (%) Attenuazione (%) Apparent attenuation as percentage of OG points Attenuazione apparente come percentuale di punti OG Times Recultured Riattivato Times this yeast has been recultured Illievito è stato riattivato Max Recultures Massima riattivazione Max recultures Massima riattivazione Add to Secondary Aggiungi al secondario Checked means add this yeast to secondary instead of primary Controlla di aggiungere questo lievito secondario invece di primario Best For: Migliore per: Notes: Note: