pax_global_header00006660000000000000000000000064134722457250014525gustar00rootroot0000000000000052 comment=96dcde3aae33ac9d8a6784d32ce61fd86cfcc21e blockattack-game-2.5.0/000077500000000000000000000000001347224572500147225ustar00rootroot00000000000000blockattack-game-2.5.0/.dockerignore000066400000000000000000000001061347224572500173730ustar00rootroot00000000000000*.o *.cmake *.exe nbproject Makefile CMakeCache.txt CMakeFiles CPack* blockattack-game-2.5.0/.editorconfig000066400000000000000000000003301347224572500173730ustar00rootroot00000000000000#http://EditorConfig.org # top-most EditorConfig file root = true # Unix-style newlines with a newline ending every file [*] end_of_line = lf insert_final_newline = true [*.cpp,*.hpp,*.h,*.inc] indent_style = tab blockattack-game-2.5.0/.gitignore000066400000000000000000000006221347224572500167120ustar00rootroot00000000000000/nbproject/private/ *.P *.o *.a *~ *.orig winicon.res nbproject .* !.travis.yml !.gitignore !.editorconfig !.dockerignore *.patch Game/blockattack* cmake_install.cmake CMake* -CMakeLists.txt CPack* Makefile source/manual/ -source/manual/block_attack_manual.tex man/blockattack.6.gz source/misc/translation/locale *.mo install_manifest.txt build _CPack_Packages #Different CPack results.. blockattack-* blockattack-game-2.5.0/.travis.yml000066400000000000000000000001631347224572500170330ustar00rootroot00000000000000sudo: required language: cpp services: - docker script: ./travis_build.script notifications: email: false blockattack-game-2.5.0/CMakeLists.txt000066400000000000000000000115571347224572500174730ustar00rootroot00000000000000cmake_minimum_required(VERSION 2.8.7) project (blockattack) set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${blockattack_SOURCE_DIR}/source/misc/cmake") set(BIN_DIR ${blockattack_SOURCE_DIR}/Game) SET(CPACK_PACKAGE_VERSION "2.5.0") SET(CPACK_PACKAGE_VERSION_MAJOR "2") SET(CPACK_PACKAGE_VERSION_MINOR "5") SET(CPACK_PACKAGE_VERSION_PATCH "0") SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Block Attack - Rise of the Blocks ${CPACK_PACKAGE_VERSION}") SET(CPACK_PACKAGE_VENDOR "Poul Sander") INCLUDE(CPack) # Define install paths set(INSTALL_BIN_DIR "bin" CACHE STRING "Install executable in this directory") set(INSTALL_DATA_DIR "share/blockattack" CACHE STRING "Install data to this directory") set(INSTALL_MAN_DIR "share/man/man6" CACHE STRING "Install the man page to this directory") set(INSTALL_APPLICATIONS_DIR "share/applications" CACHE STRING "Install the .desktop file to this directory") set(INSTALL_ICONS_DIR "share/icons/hicolor" CACHE STRING "Install the icon in a subfolder in this directory") set(INSTALL_LOCALE_DIR "${INSTALL_DATA_DIR}/locale/" CACHE STRING "Install translation to this dir") set(INSTALL_METAINFO_DIR "share/metainfo" CACHE STRING "Install appstream matedata to this directory") # This sets up the exe icon for windows under mingw. # Taken from https://hansonry.wordpress.com/2010/12/15/windows-application-icon-using-mingw-and-cmake/ set(RES_FILES "") if(MINGW) set(RES_FILES "${blockattack_SOURCE_DIR}/source/code/winicon.rc") set(CMAKE_RC_COMPILER_INIT windres) ENABLE_LANGUAGE(RC) SET(CMAKE_RC_COMPILE_OBJECT " -O coff -i -o ") endif(MINGW) if (WIN32) SET(GUI_TYPE WIN32) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=i686") if(NOT _WIN32_WINNT AND NOT WINVER) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D_WIN32_WINNT=0x0601 -DWINVER=0x0601") endif() endif() if (NOT WIN32 AND NOT STANDALONE) #The path to the data dir must be compiled into the binary add_definitions(-DSHAREDIR=\"${CMAKE_INSTALL_PREFIX}/${INSTALL_DATA_DIR}\") add_definitions(-DLOCALEDIR=\"${CMAKE_INSTALL_PREFIX}/${INSTALL_LOCALE_DIR}\") endif() #Compiler options set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -std=c++11") set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_DEBUG} -g -DDEBUG") set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_RELEASE} -O2") #Newer versions of gcc fails for Cereal. set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-implicit-fallthrough") #Setup SDL2 find_package(SDL2 REQUIRED) include_directories(${SDL2_INCLUDE_DIR}) #Setup things that use pkg-config find_package(PkgConfig REQUIRED) pkg_search_module(SDL2MIXER REQUIRED SDL2_mixer) pkg_search_module(SDL2IMAGE REQUIRED SDL2_image) pkg_search_module(SDL2TTF REQUIRED SDL2_ttf) find_package(Boost COMPONENTS program_options REQUIRED) #Find all sources but one file(GLOB SOURCES "source/code/*.cpp" "source/code/*/*.cpp" "source/code/Libs/*.c") #I am still trying to get BlockGame to compile as a source file #list(REMOVE_ITEM SOURCES "${blockattack_SOURCE_DIR}/source/code/BlockGame.cpp") #Some messages to figure out what cmake does message("${SOURCES}") message("${CMAKE_EXE_LINKER_FLAGS}") include_directories("source/code/Libs/include") include_directories("source/code/Libs/include/cereal/external") #Contains rapidjson #building/compiling/linking add_executable(blockattack ${GUI_TYPE} ${SOURCES} ${RES_FILES}) target_link_libraries( blockattack ${SDL2_LIBRARY}) target_link_libraries( blockattack physfs) target_link_libraries( blockattack ${SDL2MIXER_LIBRARIES} ${SDL2IMAGE_LIBRARIES} ${SDL2TTF_LIBRARIES}) target_link_libraries( blockattack ${Boost_LIBRARIES} ) set_target_properties( blockattack PROPERTIES RUNTIME_OUTPUT_DIRECTORY Game) #Installing install(TARGETS blockattack RUNTIME DESTINATION ${INSTALL_BIN_DIR} ) install(FILES Game/blockattack.data DESTINATION ${INSTALL_DATA_DIR} ) install(FILES man/blockattack.6.gz DESTINATION ${INSTALL_MAN_DIR} ) install(FILES source/misc/blockattack.desktop DESTINATION ${INSTALL_APPLICATIONS_DIR} ) install(FILES source/misc/net.blockattack.game.metainfo.xml DESTINATION ${INSTALL_METAINFO_DIR} ) install(FILES source/misc/icons/blockattack16.xpm DESTINATION "${INSTALL_ICONS_DIR}/16x16/apps" RENAME blockattack.xpm ) install(FILES source/misc/icons/blockattack48.xpm DESTINATION "${INSTALL_ICONS_DIR}/48x48/apps" RENAME blockattack.xpm ) install(FILES source/misc/icons/blockattack128.xpm DESTINATION "${INSTALL_ICONS_DIR}/128x128/apps" RENAME blockattack.xpm ) install(FILES source/misc/icons/blockattack256.xpm DESTINATION "${INSTALL_ICONS_DIR}/256x256/apps" RENAME blockattack.xpm ) install(FILES source/misc/icons/blockattack64.xpm DESTINATION "${INSTALL_ICONS_DIR}/64x64/apps" RENAME blockattack.xpm ) install(FILES source/misc/icons/blockattack32.xpm DESTINATION "${INSTALL_ICONS_DIR}/32x32/apps" RENAME blockattack.xpm ) install(DIRECTORY source/misc/translation/locale/ DESTINATION "${INSTALL_LOCALE_DIR}") blockattack-game-2.5.0/COPYING000077500000000000000000000431101347224572500157570ustar00rootroot00000000000000 GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Library General Public License instead.) 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 this service 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 make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. 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. We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. The precise terms and conditions for copying, distribution and modification follow. GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. 1. You may copy and distribute 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 and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. 7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), 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 distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 9. The Free Software Foundation may publish revised and/or new versions of the 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 a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. 10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, 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. 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE 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. 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 convey 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 2 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, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Also add information on how to contact you by electronic and paper mail. If the program is interactive, make it output a short notice like this when it starts in an interactive mode: Gnomovision version 69, Copyright (C) year name of author Gnomovision 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, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker. , 1 April 1989 Ty Coon, President of Vice This 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 Library General Public License instead of this License. blockattack-game-2.5.0/Game/000077500000000000000000000000001347224572500155735ustar00rootroot00000000000000blockattack-game-2.5.0/Game/COPYING.TXT000077700000000000000000000000001347224572500205452../COPYINGustar00rootroot00000000000000blockattack-game-2.5.0/Game/data/000077500000000000000000000000001347224572500165045ustar00rootroot00000000000000blockattack-game-2.5.0/Game/data/fonts/000077500000000000000000000000001347224572500176355ustar00rootroot00000000000000blockattack-game-2.5.0/Game/data/fonts/freeserif.ttf000066400000000000000000035563341347224572500223510ustar00rootroot00000000000000FFTMGCGDEF,:GPOSK@y\dGSUBT"KP@ OS/2B88Vcmap iKU< cvt !yb(gasp glyf4[x headA, 6hhea:D$hmtx"e S\local-b,S`maxp3wh name0w~ `postE `Щ\yR_<s-s- 8Z q@.O(1 b峪 (PfEd@  8 `!MMM,A= *0M0ME48M'Fo+  "8QP444Dtc ,  M "c y  ",",*c c MXM"M%M  M3  dC(Ma5 CFM&*4M'&M 94,,M]$FM4,96,%yc c c c MMM M """""4&", %%%%%%& 4    %%%Xc c c c c      $ MM MMM, "c c c \ c    , """yMMM,*3,*%,*3,*'c c c       c c c M''c %,M  MM*" "" ,,*3sP cc !6c ,,.gCCX/M5 y ,W   %M "     %%y&   """,5  %y&"%c c MM""MM  ,*3c %c """"UE)))) F   ,   )+MMMMMMM  3M M   -''')5[''%* 1  **cc,,MMLTLMfMXM M M M]MM M2M3M M M%M MMvMCM@MM) 7 :(7%1V4DH.LP XMBc~M J c c M"y  t=",sc) _!M K)) ;K)H,)'3 ; ;K#,') ) ),Klll+!c7e;e;s!!))c $, ,*MM  " '+r* $ 8#8##+7#%2#\)e'7%b$b$&#P&((1  5(-5($**,  $ 3$   A)7#_!! L%-% A) A))q848#5,,, , = $,"""T c b1b1M"7#5+U((y&c  %% ,8#8#%(-""&,3]<)I<6) #5 cJ[[tC_J~q^'^0^7^=^:^/   !-b6^UA TIW~|{|zprrHK||-&qZ!y%yI,6,,,6,3,,,X)rdeI.O/8M,Nr{RjyZ|I g ,#  N '('(,((O(U(t^))UP<x.BuuaLgm??PPmga9UUU:bbggUUU.a<22g9u9aar,/8NR1\6D*\,l.:O') ' 'c  &!9d  \60J"& \))meTTT&j"P>, >2"""Tab~xd74jh0<0T_@wwet w]*sZ"TD@;UZUDx u4JK\HZV'LT8YWWX[[\ rTYWzZZSTYPQU]\\V[^^^`XZYX]SM8LLLL:IMORNNLINNNKMMGL)LJHKLPMKMMMNL LMMMO KKKMMOMLM)JMLMKLKMC,(zJLL>LgPPLYLOMINMNONPMPPw<> $'>F%\ #\?F#v v &F+\\\{!F%\ v F%\ F\v,'>F*v5v/>(| !*EFFTFEFRFFF1FFFTFFFxFxF2FFF{FDFOFEFF+FFgFgFXFXFFFxFOFFFEF1FxF/FQFF=FFF1F1FFFgBI[I[VIFFF  V]Z# G8<8<g<=<<<`<G$MP"MkMNMMMMMJNMLMMML&D1MDGLvMMMMMLMM MNKRMMM!! !u!!!!!!!4!!!!!!! !0!!s!!!!!!!F!!!!GEE0  G EV1211G82d-k1191119q:+..)+;MI.?>=SkC1;qG0RG101G--0G--,G,-G-G-1.1N$1(@@@@?AN@7@>@$AN7       %%%"#%%;;;11:1X8;d11dG7k00Gk l*?]*2?%IHH3+636G//6/G//G(G/*BAB*JA*N*B>>QQ>    k   q  kT @k@77K@4*NN<G<;AdC """ """"&&&&&H&&0 00d%d040d%k+1++%%Q1+%%%4%%%4 ###dd#G' 3N##*%1# dG 1???1>?11??7?q?q?* ?4?c?FG6F8FFGF8GFG6FG8FFGF8Z[G""G"AdCII?1*"&&&1 &C1&1.0G:: ; 0002d#LL2GOQOG2%fHG6C1%d2Gk0  ' h    %c c c c c , M      MM """c c c c y  y  y      """",,MMMM,*3,*3,*3,*',*3c c cc       c c c  %M%'%%%'%%%%%'%%%c  c c c  c c MM"'"I""'"I""""'"I"" 'I   'I   'IK)K)K)K)K)K)K)K)AAA AAA))))))y!y+yy ! !      ,,3=yyy ))))))))K)K))) ; ;))K)K)K)K)K)K)K)K)\\))))))))K)K)K)K)K)K)K)L]lyyvu]      MM ed],,))y0y/ |w)))))yy(yy!M'M'MsMOMOMs+-+;:^(^(oSc   M?M0uD55:EM+XXxD D ,,9,,,,,,,2,2,2,,,9,,,,,,,,,2,2,27,    v "<c*#6!6): j 6 &"Ro !!""f2#2-), 87;"$Mv$]  $ c y ,B   6    >.>.>->>>>>>;>.>.E>EHE>-E>->> >>>>>- - ll>>->>->H->>H->H->>>>>>&>&>&>>>>>>D D >>KlK,K,d$44044077|>|>|>|C|C>>>%%%|U4>>>>@P@>>>>77;7V7u>u>Hu>|>O>|>|8|8|86|8|>|>|8|>|>|>|8|8|>|>|3|>|>|>|>|>|>OQO>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>44>|3|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|4|4|4|4|4|4|4|4|4|4>>>|4|4|4|4>>||||||||||=|=|=|=X>X>>>>>L>>L>LL|>|>|>|>>>>rl>>>>>>>*E@u9?0404|>|2|2|4|4>>>|>|>|>44|>|>|>|>|>|>|>|>|4|4|4|4|>|>|>|>|>|>|>|>Ettt 5#>>>>4%HL >>II 7 7 7 7 7L-##########yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyhyyhyhyyyyyhyhyyyyyhyhyyyyyyyyyyyyy|##|#|^|#|^##################0#7#77"###### # %V%##%H%H%CX2X2X2X2X2X2X2X2%C%H%H%H%" 8 777773G07G7% %t%!#A##$*%!"%! a 5  J Z  ` 1  I a r"#S"##S"M7+777By<2d]########%W!#####"N$##;$#####(##A########7##I#7#A#0#?#####"##########:#/###!$##"###$i##########"#$# 8 "########################""#######~########B#i#<####"##s#D#D#c#c###j#j###"a#"x"#x"?#i$##"fP8d&X222}>YF6wX/CaLLffwwmm~qqDDwXcO\yyy?oonPB*MqVyz&kzooxxxxpptt**~tx1vvvsssw vw}y ?xkskFu+  "8Ma23zo[21(((L661]#,, 8#5#3^'^0^0^=^/  ^0rr44{}DDRRjyjyII00E,6,,,6,3,,,XA -~~%%{{44**|}>>z}XXp}TTrrrrHHKK||XX||77%%-&q?|&ZA|BA!!,,yy>>%%yyCCn IIz{#uQfFeKsM MZLLNKGKKE,KVKAI,K@@@KKKKKKKFfOGKKMM(I(I(IKKKKKKJJJKKKMMMKMMMMMMMKKKKKKKMM MIIHMMMMM?M?M?M?MIIIHHHHNzLzLzLH<GHFFFKGKGKGMMMGLGL}HGLGLDLGLIII)L)LMHHMoLoLoLJJJJJJJJJJJJHH/LxKxKxK'HM>M>MnM'JL1LLJJFFFLLMLPPPUMUMEEEM>P7P5PLM'M:MTMTMTMKKKAGGGnJnJnJMMMMHMMMMMMMMMMgKgKgKMMMHHHLJHHHOOONLLLLQiIiIiIKMIKNLNLNLMMMIDL,LGGGH;HKKKIIIMLVHDHAG^H~M~M~M~MKKK L L LGGGH HGGGGGGGGGGGQQQ Y YMMMMMMMMMMUHMMMKMIIIIIIIIIIII J J JdJdJdJMMK-MMMMMMMMnGnGnG&JJM$OHGGH#HJJJHHHHHIIIIOOOIIIHLLLIDHIHFFF,I,I,I6MJJJpIpIpI M M M K K K K K K K K K K K K K K K N K K K K K KHHH K K K K K K K K K KKKKKKKKKKKKKKKKKKKKKKNJNJNJKKKKKKKKKKKKMKKKKKKKKKKKKKKKKKKKKKKKKJJJKKKHJJ%J666MMHIMMLIIIMIJIJIJIIIPEEEMMMOO$OOOOOOOIOOOOOOOOOOOOOOOOOOOOOOOOOJJ[KMMJMMMMI=KMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLHaIaIaILLLLLLGIM]J]J]JIJeJDJJMMMMMMM-H-H-HMMMMMMMMMMKKMKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK:T:T:TLLILLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLeMeMeMLLLLLLLLLLLLLLLLJJFKLeKKKKMeJeJeJKKK)J)JFL6J6JMMMF9y(&MMMMMK%C D%KMFMMKBMMMMMMMMMM MMLLLLL Z i\'R=8>o Y2Ud'gCDhUtO'h   8::|rL3wE+\Wq!:!2 imee pp[E'z'$111E##X'I'''t666p%%NL  pck..B&<8>jLUU;%%H$jj;-@BB@/ SL)444z ?U:O ' 'sqOO^C?; j.*NNFCWm":O'* ' 'c  >%ZM+[Mhq{15Ewf;$+*f\e:o .xet ]*sZ"TD@;  M)F S!AE:f@` ;Js91wUZU1bb  ~357Eauz~ :KQikt~    5 9 E I M P ^ p  ( 0 3 6 9 < B H M \ ^ p t   ( - 0 2   ( 9 C H M W a p :[FHMVX]FZ|")EMWY[]}  # & K q | !!!! !$!(!.!3!9!!!!!!!" """/"="K"W"Z"\""""""## #####*#H#P#W#^#$#$i%K%m%%%%%%%%%%%%&&&& &#&&&(&*&,&c&f&q'' '''K'M'R'V'^'g'''00000000A6<>ADNY}ptvxz| &57P`tz~ !AM`kt~      7 < G K P X `    * 2 5 8 < > G K Y ^ f r     * 0 2     * > F J W ` f ?HJPXZ` Ha  ) HPY[]_   & 0 p t  !!! !!"!&!*!0!5!S!!!!!!"""%"4"@"M"Y"\"`"""""##### #)#G#P#W#^#$#$`%%P%%%%%%%%%%%%&& &&&"&&&(&*&,&.&e&i''' ')'M'O'V'X'a'v''00000A0009*8>@CFVzptvxz||kQ?;83210/- hgfcaUP9+('!  yutrhdba`_^\[WUJIBA430/,+*'$!  OE;:98654210.-,*)'&%$#" y" {yxvmIGE20.,}|{zwvtsqoa[WNID(!R|jg]MJEB=:8.- nmkjihedbTQP 3A8 RSTUVW   !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`a rdei xpk vj s gw  l|cn T m} b :  y XhqdefzigY!yXXXXLl0 `xX4lHx x $ L t  (  x|xDDXx t,T`@P l X !L!" "l##$ $T$$%<%%%&d'('(0(X)()p**++8+H+,,`,,-`--.T..//P/0T0122,2D2\2t223P344444L4d4|445,5D5\5t55556t666667l788,8D8\8t89`9::,:D:\:t::;;;;;;<<,<<==(=@=X=p=> >$><>T>l>?H?`?x?????@@ @@ApAAAAABBBBBBBCC,CDC\DEE4ELEFhFFFFFFGdGHHDH\HtHHHHItIIIIJ`JJK KxKKLLL0LHL`LxMMMMMMNNNOXOpOOOOOPPP0PHQ QQRRS$S<ST TTTTTTUU,UDU\UtVVVVVVWW W8WPWhWWWXtY0Y@YZ@Z[[\\\]]]^0^@^_<_`H`aab bc`cd@dedeeffgh0hiPij\jjklklHlmmn n4no$op$p|ppqDqrDrs stt$t<ttttttttuu,uDu\utuuuuuvvv<v\vvvvwww0wHwdwwwwx\yDy\ytyyyyyzz,zDzzzz{{{{{|||,|D|T|l||||||}},}D}\}t}}}}}~~~4~L~d~|~~d$4Ld| <TlxPdxdtxx @,llDXH<L(<PDtpThHXltLH4L\p|x$h4L44|(Lh @d(p4DXlH\p8Dt T p84(\ \t4\8```,xL\ $<Tl$4DThx €ØDT0Ű$0H`x Ȭ$ɴHẌtάμD`8Ѡ8H $<TlըTlք׼tٌژHt$Tޤ޼hl t\\H88D\hT L <t\ ($xH444lT ($<\L0l<L\t  \ t     X   `|L(@H@,| 8 !!$!d!!"#$T%%&&'4''(0()()*+,-L-./T/01X223834H456(778\99X99:4:;4;<|<=l=>t>?@@xAABCHCXCpCDDDEtEF|GGHHIIJJ0JHJ`JxJJJJJK@KTKlKKKKKLDLLLLLMM,MMMN N$N<NTNlNNNNNNOO,OOPPPQlQRSST@TUVVWWX$X|XXYLYdYYZ ZLZdZ[\\\]]^^_``\`aTabbcDcde,efgDhhxij,jklLllm(mmn\nnnoooDoppqqrrrs\sstupvvwwxxy,yzz{X{|(||}8}}}~T~|~~(xh|(80d, |@x h$h`@H8(d||$8\T< 4,\(\(dLl80|`8PhŴhDǬȘ0ɘɰʨH,ΨXєd lׄ$`xܤppߜld8L|XpLP4X  `L@8\ <(8L(LHp4l @  X  h       Xl(@Xp0H tP,|l$x0PL|L $ l  !!T!!""|"#`#$l$% %l&&&''((()<)*++,./0`02p3(356h7889|:;\<<>@? ?@A(ABBC(CDEF|GHJJJK`KLTM MNOOO4OlPPPQQRlS0TPU(VpWX$XYpZ(Z[|\t\]^$^_`8`ab<ccd8defg@gh`hiTij\kkllmmnopqr|stu8uvwxyz{x||}}~,~ x(\xTt@P@,T ,TDL4H pp4lpT,$hh<0Hh\40,X\D(l4ÄH<48D`τhlP\8ք׼ؠ|(۴܄݌||l@|HDt8`$8x$XpT,4Td<Px0@hX  \  X    dhH\x$dL|8@t4 p!!x!"#d#$%<%&T&'(D()|**+H+,-P.@./001d22t234l5567`789L9:;p<<=|>`>?@tAABCDEFHHJ K(LMxNPQ`RlSTUW(X YdZ[\]^_`ta,abcld4e$fPghiijkl|m|noq4rDstvwxyz{|~(Xt0,\t<l l<8thXt(P0HpTT4`Ƥ<ʈ˸X0άx<0@hԼ| یd, @dDp0x4   <   pX$ "#,$%%&'(t)T*+-.//1d235\678:;l=>@BCEFHIHJJKL@LMNOPQRxSTVWHXYZ[](^h_L`a8bcldf|gi0jl8mo@p<qXrstuvxLy0z8{L|8}@~P\t0D\<xT$4\0`@LX\ddL¤h( Ŕ@Lj< 8Phɀɘɰ(@Xpʈʠʸ0H`xː˨ 8Ph̘̰̀(@Xp͈͠͸0H`xΐΨ 8PhπϘϰ(@XpЈРи0H`xѐѨ 8PhҀҘҰ(@XpӈӠӸ0H`xԐԨ 8PhՀ՘հ(@Xpֈָ֠0H`xאר 8Ph؀ؘذ(@Xpو٠ٸ0H`xڐڨ 8Phۀۘ۰(@Xp܈ܠܸ0H`xݐݨ 8Phހޘް(@Xp߈ߠ߸0H`x 8Ph(@Xp0H`x8Tl,H`x(@Xp $<Tl8Ph,D`x,D\t4Ld| $<Tl,D\t4Ld| $<TlT(@Xp8H`xl@ $<Tl|d|,H4L4Ldddd|HpxP||      , x  d |  0   Hd<Tl tt,@h0DXl  hDp x!!"p##$%@&,&'L(()*D*,D-H-./H0401\1112224$45$6<7789:::;8;P;p;;;;<< <8H>X>?@hA0A@BBCCC$C4CDC\C|CCCCDDD,DDDdDtDDDDDEE$E`EEEF F F`FG GxGGH H H\HpHHHHI0IJJJKK8KhKKKL,LpLMM<M`MMMMNN(NpNOO@OOPP4PlPQ8QQRR<RtRSSTSST TdTU<UVV$V\VW0WhWX`XXXYlYZZxZ[,[[[\$\h\|\]@]]]^^^_L_l__``,`p```a4abcdef@ffgXgghdhiiXiij<jPjkkll|mmn,nooLoop<ppqXqrrTrrssPssttLttu(uuvvw$wpwxx|xyhzzz{${||h|}}t~~<0D|4@h@dhX<Px$d,x0hlHD,\ `0L,(x`x| hlh,x @`4 HpXHD4x | ,Ll ,Ll<h<d 8d,T$Px P@p @p0T|4`HtHxL0x<Xt8Tp,Hd T°$hè8xĤ4hŔżlǔȜȬ(DTʬDϠl<(dל@pج,h٬<x\<lD<tPXtt 8|0|00$\P 8   @ d tp@@,<D lHX  ` ! !"p"##$$%&'()+..002245<67D8X8899L9|99:::p:;,;?@@d@AB0BCCDE<EFLFGH0HIJJKLXLM$MN$NO0OP PQ(QTQQQRRlRRRS`SSSTTHTTTU(UlUUV4VtVWWLWXlXYLYZ Z[$[\@\]X]|]]^X^^__P____`(`X```abLcdteHefdg\hPikllnoqrTs$tDuvtwxzz{P|X}~pL0` D`x,@xP\@P|X(,PDT@üĬŬp<\H͌Ld`Ѵdd$<`l`4dXݤl8\`H$\|t8dX$p TPxd4DLT4       4 D          ( t  hd(H|8p Th`x0H`x 8Ph(@Xphx `!!""###$<%X&@&&&'X''(@(())p)**D*++\+,,,-<-../$/0P001l2 2x23 3p34(4p455\667$78|9T9:;<;>>?d?@P@A0AB BCCD(DE@EFpG GH(HIHIJ(JJK$K`KL@LMMtMNNXNO(OPLPQ$QR RSHS|S|TTUUVpVWXYZ[P[\]^t_abcDdtefhdjkldmopdqsLtvwxz4{p}$~x|<`|t\,8T4ht$ p¬ŀ(ȌX`˼͸H<<(0,hxXPPdHX  , t@|@Ht p!#8$&(*4,-/T1 234x5 56t7@8089h:L:;<=>x?ABDEGLHDIpJLLMO(P0QlRtSTVHW(X`Y|Z\D]^`abdexfhikhln0oqTrtXv0wx,yzH{({}~$LD tL(x,l08dh\xX<  ʀ˰|ϔp | ڈۀ<hLHTX@ $P\,dp@P    ,  0    X P  d l  8    <  8    4  8   , !4 " #` $0 %@ % & ' ( )d *` + , , - . / 1 1 2 4< 5P 6X 7 9 9 : ; < >, > @ AL BH Cd D E F Gx H Ih Jl K L` MT N OD P4 Qd R\ S T U W X Y Z [ ]$ ^ _ ` a b\ c d fT h i k l n$ o p r sP t v w x y {X |0 }H ~  X t 4   8 $ P d , , | h  $  L < \ X  d , $ T L  t \ , @ h  x ɰ ʬ P Έ d Є Ҕ ` ( Դ p   L ܰ  ް ߔ | D t l x p  | x h |  t X ` H  @    \       D   0 ( 8  p     @  " # $ & ' ( *4 + - . / 0 1 3\ 4 6@ 7 9 ;d = >x @( B C DT E G Hx I J Lx Ml N P( Q S T U V XT Yt Z [ ] ^ ` a b c e0 f g@ h i| j k` l m o pt q sD t v x8 y { | } T X ` 8 $  X , < | \ l l   l `   4 t X Ĵ d 4 Ǡ h l  ̼ ` T t | Ѽ @ 4 d L  d L T x  T H ( $ @ h |  8 8 h  x D    (   ,  8 D h  ,  <     T         8    @  d       h D  ! " # $ % &4 & ' ( ) ) *h +( + , -H - . /\ 0 1 1 2 3\ 40 4 5 6 7 8 :$ ;< < =p > ? A B$ B C D E F G H I Jd K` L| MP N< OT P Q RX S U V W Y\ [( \ ] ^ `< a c e f h4 j k m n o q sX t| v w< xT yh z` {p | ~T \ h 4   ` P t   L D P H x t 4 D   T   ` L d  P 8 P 4 | ` ˆ ø Ĝ ń L \ ʈ P δ є Ҝ נ  < @ d D ( L X     p H h P h H h    , 8 p     H   ! ! " #P $ & & ' (| ) *x + + , - .< / / 1 1 2 3 4 5 7 8h 9 : <8 = ?< A< C D` E F HP I@ Jt K L N< O Q R` S UD V XP Y Z \ ], ^l _ al c4 d f$ g g i k l n, p q s u v xl y {d | ~ \ @ < ( P X x H l `  $ ( H p d X d D x <  X @ x  , D l $ < @ H $ t  \  d Ô H h p | < H ʰ  ( @ X p ˈ ˠ ˸  0 H `  ͸ Θ | ( d T  @ ל h t X 0 ܀ L ތ ߀  l p T  , l !n./<2<2/<2<23!%!!!M f!X 7#'.546322#"&4 "5I, l #*P 3 ..MK #&54632#&54632+  #.w(#.w##7##7#537#53733733#'#3m:!:!ktnv::ai&7777,$*046753#.'#5.'53.5654&4ZX"q0 F?(G4a`"?N-RGcOg)ar,@N ?? (o@A,,C,KOWWOI7W-R#2`.9= 5C2#"&5462>54&#"232673##"'#"&546"32654'.16.(3B6B+L)).J"&/)/E('0_4:'wV1EV0a!=f "s83:r)3G:^Li0!/hm $x&Or ]K4_I"U *-8B654&'533267#"'#"&54?&54632>54&#"327&FU*I0:SA[0 #&54632e #.w0O0.54>7$8G6%%2M2! ,6226,-P[EHUO&$:]Y]_<"O'>54.')8G6%%2M2! ,62,B<-P[EHUO&#<]XyV/E I46='5#"54>7'.5463254&5462>2#".'#"&&1 $%Y' R23,!V %E"D'%2.R- #7 "`  WZ'7 2X 533##5#5BBBB8sf#"&54632'654  !".>2 R 3&-T82'3#'?Fd 72#"&546}!" !d" "#DN".5467632" 4&4R0 5+7Ob||eB0JaX+X*4<o"57!5>546$;8'Q[$//>323267!57654&#" !)I.Nk"! 7zN?4?"A+"fKq+ z?N9I+,7232654&'>54&#"'>32#"&546Q["7L6/M"16=1/GYREW*4#QKj  %##5!53#fM:,N@@CW (%4.#"54?3267+#"&5432326e/CS= m &*%9KE#8B+Y;P5R-  Y Uuq;\8$ !%>c" "&547>7>32"32654&e{7iUv/0!VfumD/LB58Gw&#qq`g<;tYR^g ##"'7A)+ ;rT38$2#"&5467.54632'32654&'>54&#""ZAkZUk1QO-lRKa<\<,$F91=*B <3/=:sC[:M\\I3E=ED1DZP>3H,#F0AP=1*?44=8+*J#'>7#"&546322>=4#";rJLQcwYa|WN3dg01, Cz9p[e|e9%"$ %'!68YiQ 2#"&5462#"&546!" !!" !" "" "Ps#"&4632'6542#"&546 !".<4 R,!" !23&-T82" "%5% \ BHx!5!5BBBB5-5\ HHBD*2#6?654&#"#"462#"&546Ll""%2%?-%:&0]L UF$K/-@ZMA@UG2F& 0|S! t)2>"327#"&54632#"&'#"&546327332654&4&#"326~Yk I[5՘nJ$36G%3qS EA'1P)_ 0H0!Đ̩|a(!HA/Z& .zKpoQ'.%#5>54/!3#5>73%3().D%).8t+`u)5m8Q*5%#!5>54&'5! 2>54'&#32654&+"Q3dE>"!?4="-B:T0_FMZV,:9# 87!3 ; :+\#I?;CFy46323273#&#"327#"&@p !  7m-LQ.vi.UE!!⺢WAe=B%#!5>54&'5!24.#"3 6TX9;[W9m,FrI>N-V\C, 67)AYV6+OQ:% U)7;2673!5>54&'5!#.+"32673#.+!Hk\%-7 7 6U @%  &>P3Q!55!C& '8>" "$%#.+!5>54&'5!#.+"32673 (=!:9 7 6U <) =#6!#>5!C& #< ."326=4&'5!#".5463232673#.9X6" z6O9,@-ZbJ1:q  `|)@VO(#8,,0IzN!N]+!54&'5!!5>=!!5>54&'5!/:: 8: 8:::g66D5 "?5 "?66;74&'5!!5>s!@)?#$>?"m7 7D7!  r723254&'5!#"&546; & ==XQ+8l B77^g( "35!!563654&/!5>54&'5!7654&'"431D2' *I9j :; :=N1I"`8i7#>5!7͡H  V%2>73!5>54&'5!3b2L* 07 7;"7'%#!55!!5' _$ ##5>54&'533!5>5$:>#!>8 7; =&mL1/M7 5D5!#> ##5>5.#534&'53 F$:>## %;3+&xL1/M#QL/" !"&546324.#"32>cG+:71N- ,W<=Y-VHpD,*?VO)3bb<54&'5!2%3254&#" #:dB'#;98-TS2"`e06'7!!?6&J:MI"N-##"/.546 4&#"32>%306!=V i/drs_2N. (BE&1M. K7`A6  OGz7"•)?TM(XB)@UP%/2#!5>54&'5>54&#"%+NS2 %8 :88yqY^#J5+46 #>5Mi"[V?Q#"#7!#.+!5>56T949U6">> l.RS-7 !@%73267654&'53#"&54&'5!Ka8Z$:> 5iM{;<dg+$+]K1,L;XO*}876#.'5!#654&'5%'& .) ) ;%B%[o0,# #.'53'.'5!654&'5(S:?''& k!"+ M}&'ߦYF+ R<" FS- 4!563654/#5>?'.'5!7654&'515/()23_w4 ,'*@mF=2.0U*q()!:+LA Og4 v;2 &!5>='.'5!#7654&'5'8+$CD!24" .'-B9!AI? U%2>73!5#"#7!. 3B! P& ) a,$!Xd+ #3#"3+Z12`43# CDN"d 3254+53#"Z-1VӃ,4)#3#\D754#"#"&54632327#"&'#"&75327>%+GY/L*aGR> 'V<.;ZH%"' a&>''=S/AOQ!"'I, - $>32#"&54&#"576732654&#"N.KecDE;'<%0}\k)\S[m.!74632#"/.#"3267#"&X?[" =KWD+>$ '&>!Sko=*.aMVm*4 4 }*'5#"&5463254&#"567327#26=4&#"X0PSfzV63[8&3>(9DL @Cw`j+#+(5#53>32U 9{z =6RRP^-;DYt 87: py#&/=L7467.54632;##"'"'#"&5467.32654&#"4.#"326I>2+aF((MS]? (N7B7TyGf-5JPBUh8Dey,#'9-#(6 :>/D_ '+)EV*:/8-D9(7'(% !(6+0=)2,HY1 *#5>54&#"5767>32#5>=4#",+ D/#D,{)+K3W45 -'4 3j"57#5>=4&2#"&46> 140766!!*&"567#"&54632326542#"&46M-PLVS)52!7jp<>M{<!*457677654&'53#"#53254./#5>54&#"W&%S>5! 6o \z  9:&!  '$567#5>54&#"c<0/ o)(#?567>32632#5>=4&#"#5>=4#"#5>=4&#"HD>0=/ *i)$*567>32#5>=4#"#5>=4&#"J@3;#7?%&I*$&&O0!OG%"/a"+% 2"&54632654&#"`|}{!N?8@P?5Àbhegk`UgV',567632#"&'#5>54&#"32654&#" ?Q@PI^yY + 8,E#6CC8#C MOx]m/'#<,gSWi,'$73#5>=#"&546323276=4#"h6 )5$DYFZ^6>12$]@J  *Jx_l+PC "dgO#"&#"#5>=4&#"567>32(,2"30PD%4j#:+ &!\5)3\1273#.#"#"&#"#5332654/.54632 2+"++l-'S:T   (&-4:@5M;!: C8&+@7%4L '!-!$B*6E C#327#"5#&54>7672e 0HY5 2 /+# L- 6+ t #%'5#"&=4&'533276=4&'533N;++<7B$*.*/"2S++G;#-"&%##"'.'53654'5 x# fc/22/N$ /.'537654&'53"/#"'.'53_!#TZ{ [pc6P) .* 1+',V&2>54'533#5>54/3#5>?'.+53  (3S#[O(r^  +.0)*x" { #E&)2654/&'53654#53#"&54632>,u '  sa0 (O2 *2|O  hl\!%2>7!5#"#7!'.  - [ "#!7vkdK^.=4&'>=4>7^XM#22#.7,4'&88&'46T4..4,7  68>44>86 C3CBNK|"25>=467.=4&'!*.#22#.7,4'&88&'45%4..4,7  68>43?86 (@23267#"&#"'>2~#6"6#2~#6"6@D 0%D 0%a& 3#"5472#"&546 !54 l4($*P : 5vC"+7&5463273"&'3267#"'#7&#"t],#/K& e ,@' &$;!1"Ps=K Be|6 ,89 C ]M6J =H%#"&'#"&54632654'#53&54632"&'&#"3#32>322654&#"'D( =3*%2)lkjY8J,7-2 }yTA"2e##3 -2$##""* -$!k5((4IB,]-##y+  %: Z&'7&547'76327'#"'"2654&b))b2`=BE8b0`''`0b9DA>`?WWzUUl`;CE9b0`''`0b:CB=`2b))bX?>YX@>X47#535'#53'.'537654&+533#3##5>5_)*#A vp'5\ 02(L(J*03(L(I5$%>C33CBBBFlAM4654&#"+#"&5463232654.54632.54632#"4&#"326"$&/"YA38&OA:P"+(/6LL6B1 <(M>7ID&'1)%&" ' *qJQ5C1;&9F:*$"*# =5:T03D2<(6D8*4w&2x( <n 2#"&54632#"&546Bn((&%12#&#"32673#"&54672 &546"32654&"V^CHJB-8]+[ozJɒyvuFY[TS]'/L iUZoˏȐ*~{|z*4#"&54632327#"&'#"&54>754#"26=L =/i 0+('+$ 5&q   &`s ,&*M*!-7#"./7>7632#"./7>7632q O4A W (Lq O4A W (L I-;Q ' 9^ I-;Q ' 9^l%5!5!JlB'& (4@%".'##5>=4&'53232654#72#"&546"32654& )0 %% %4?O9'%+!$GȍȏvvsA c  ! 2*H O6].+O˔Ȑ*|{x #BY!! 7Y69W 2#"&547"32654&xST=:S+==*+>>S=323267#57654&#"2:I&.Vy %bQ+6 - -;/%D-U UkW2-F#%4&+5>54&#"'>32"5462326?4+$?.-?5^dcn:9::>86@\mbW65!"??[_TF6 2#"&546}!" !6" "4)73632#"'732654&#"b)# (.C:-'% ccA% '- 9#5>54#"57 %v&  70 2#"&5463254&#"@QXA?RU ,%G-$ 'K;?UO<@Ok=QW9H(,!-747'&5432#"'47'&5432#"K6  7( AfD K6  7( AfD *]A 6";XD ]A 6";XD% #%##5#53#5# #5>54#"577F/F>1 %v9ZZ1 N  73 # #5>54#"57>323267#57654&#"X>1 %v2:I&.Vy %bQ+6 N  7  -;/%D-U UkW2-F 7%##5#53#5# 4&+5>54&#"'>32"54623267F/F>1?5+$?/-?=Wo4%9ZZ1 N,)%!3,0#'+#N:N2'%&x(4>7332654&54632#"&2#"&546-8; %?-$;&0]ELl ?-V>i;O?@UG2F& 0|SUY,! z#\$z#[$v#X$R#h$C#j$#f$_:=%.+;2673!57>=#3#5>7654&'5!#.+"32673%3$71LQI+,-@D!  )14ELWoG77-%0R!15}!. 0)#>F?)y7327#"'632#"'732654&#"'7.546323273#&#"-LQ.vi-U  (.C:-'% %}@p !  7mRWAe=B4% '- Y!!⺢ Uz#\( Uz#[( Uv#X( UB#j(;z#\,=z#[, Bv#X,<C#j,-#!5>=#5354&'5!24.#"3#3 6TX9SS;[W9m*CwN>N-V\C, 6,7)AYV6'IT=), R#h1"y#\2"z#[2"v#X2"R#h2"C#j2& 7'77''00000000"!)7.5463273#"'# 32654 &#"+XWH1X,[TO1Obs;"B_91k D^:2tl54&'5!32%3254&#" #:dB(#;98<Px"`g _06(47!!?6#< bMH 3#"&546323254'&547654&#"#5>54>32hK+6@ _0+'/&%I4N\9y#Rq)   vAJ:1(r2LC$SE6?%"\8D%"[7D%"X8D%~"h6D%k"j9D%"f:D&x5BI"&54632>32!3267#"'#"&546?54&#"'.=2673.#"(\DA4"3"LL  3+A$ '_?Q03@%3AEPV ( [:'8J=%(+( .>-VaJC,5UJI*=1-C!$?1%54!2-$3$A;:)674632#"/.#"3267632#"'732654&#"'7.Y?[# =KWD+>$'V= (.C:-'$ &L[o=*.aMVm*4 OI7% '- [ y"\8H"[7H"X8Hm"j7H"\#"['"X  n (2#"&54632#"&546"57#5>=4&; 14n((766!(#"&54632.''7&'7732654&#"}c]}zZ$4& *,{!y>G*1A&_![N@9?P@5A~de#7K-A@, 20jaVfV~"hTQ"\TR"[TR"XTR}"hTRk"jSR%!5!'2#"&5462#"&546!" !!" !B" "a" "'"7&5463273#"'#3264&#"}`{a,09'Ab_/.A% #/8?ޟ%+5ANyfm}Fzh{*b0$VFf "\?X "[TX "XGX m"j@X&"[T\',567632#"&'#5>54&#"32654&#" ]4AOI^yY + 8, E#6CC8#CoNx]m/',gSWi,&q"jd\#Z$%>"Z:D}#d$%"d: D[#g$%[:G2327327#"&547&'#"&54>754#"#"&5465327>R> +5;*6V<.;+GY/L*aZH%"' OQ!$L, .++I''=S/A!>, - yz#[&"[LFyv#X&"XGFyC#e&n"e6Fyv#Y&"YLFw#Y'W*>'5#"&5463254&#"567327#26=4&#"#"&54632'654X0PSfzV63[8&3>(9DLe  !".>2 R @Cw`j+#+((9DL>-" x"c#4@Cw`j+("ZDH Ul#d~("dD H UC#e(n"e8H [e#gl([&,3267327#"&547#"&54632%3.#"a010G$6."+6;*5Weu\LT *.Z?[-09*G'1$L, .* xho[\ A2 Uv#Y("Y:H u#X*&"XHJ k#d*&"dTJ C#e*&k"eDJ .B%4&'5!#".5463232673#.#"3265#"&54632'6549,@-ZbJ1:q  `W9X6" z6O   !".>2 R8,,0IzN!N])@VO(# 3&-T82&/=L`7467.54632;##"'"'#"&5467.32654&#"4.#"3267632#"&5467I>2+aF((MS]? (N7B7TyGf-5JPBUh8Dey,#'9-#(`   !".>2 R6 :>/D_ '+)EV*:/8-D9(7'(% !(6+0=)2,HY1v 3&-T82#X+ z#XRK+/!5>=!!5>54&'5!!54&'5!!5f 8: 8:::/::k/)D5 "?5 "?66==6^^ 24#"#5>5#5354&#"57673#>32#5>5K3,+pp D/ss#D,{)+,j"456 6t-'4 3KJ#h,.r"h B#Z,$>"Z;}#d,"d [#!327#"&547#5>54&'5!; $+5;*6?"!@)?#$>.$L, .+ 87 7D7![#."57#"327#"&547#5>=4&2#"&46> 1!++5;*64076*$L, .+6!!*;C#e,"57#5>=4&> 14766!#-M,&#ML ~#X<-&2"X "#T.#TXN8#"&#"#'&+#5>54&'533267>32) %"26"}" 66C)0$+51 9b  '' HF& V#[%/&~#[O V#Tp/#TO V/%2>73!5>54&'5!3#"&54632'654b2L* 07 7;"7  !".>2 R'%#!55!!5' 3&-T82\(567#5>54&#"#"&54632'654c<0/    !".>2 Ro)(#3 3&-T82 #y,/#y(O V#%2>73!5>=5754&'5!73b2L* 07 WW 7;"7'%#!52125!!5Y1Y54&#"#5677#5>=5b c<MM0/Nj#5,5)(6, |#[1"[TQ #T1#TSQ t#Y1"YTQ"Q1T &.26=#5>5.#534&'53#"&54632b$:>## %; 4N)52>MCxL1/M#QL/3+tf<&02654#"#5>=4&#"567>32#"&54632$I*$&&J@3;#7?VS)52>Maa"+%O0!OGjp<"#Z2>"ZTR"}#d2"dT R"z#i2"iTRu0=23!#.+"32673#.+;7>73!"#"&54>4&#"326V t+F =b3*hF9'4|/A&, (?UR/4[ca\5/C&%=;(8GO|K172/!+23267#"&'#"&54632>32%"3254&354&#" 5'$;# 'R:.;C3[sqY.D&:)=^C-@xg;-"P*?J)(0QD,33,dg"**"QfIWpx|*7#[*5O"[U#T5O#TUv#Y5O"YU*|#[p63n"[1V*v#Xq6%\"XV*)G.#"+632#"'732654&#"'7.#"#'332654.546323273c<.:DOcXuU  (.C:-'$ $!O %bC7DB^]BgF*b XT4)(H,5g>Mi3% '- X[V?2/I47V9L_""3)\J273#.#"+632#"'732654&#"'7.#"#5332654/.54632 2+"++l-'S8  (.C:-'% ' 6   (&-4:@5M;!: C8&+@7%4L7% '- ] '!-!$B*6E*w#Yp6'^"YV)Q0!632#"'732654&#"'7#5>5#"#7!#.+B (.C:-'% )> 6T949U6">A% '- c!@.RS-7  )C3632#"'732654&#"'7&5#&54>76723#327 (.C:-'% &B5 2ee , 7% '- \m- 6+ t /+# FQx#Y7 ,/#"&546323#327#"5#&54>76723'654   !".R%e 0HY5 2R< 3&M< /+# L- 6+ t82Q#53#"#7!#.+3#!5>5rr6T949U6rr">> :-.RS--7 !@ C##535#&54>76723#3#327#"5F995 2eeee 0HY-b 6+ t b-/+# LJ#h8 r"h/X#Z8 >"Z.X}#d8 "d. X#f8 "fBX|#i8 "iTX[473267654&'53327#"&547#"&54&'5!Ka8Z$:> &;<+6;*34,~{;<dg+$+]K1,L[[12,$L, -) ~876 [0%327#"&5475#"&=4&'533276=4&'53; L+5;*++<7B$*.*/"$7+$L, i++G;#-"&%#w#X.:#XZw#X<&"XW\C#j< U{#[="[8] UC#e=k"e7] Uv#Y="Y8]".#"!5>5#53>32U 8 =6 P^-;DY287: py#,5354&#"57673#>32#"&532654&#"F C1N.KecDE;'<" x"%0}\k)\S[m.Q+8C%#!5>54&+"#"&543! 2>54'&#32654&+"Q3dE>"9 $3<4="-B:T0_FMZV,:9# 83#25)!3 ; :+\#I?;CF'`# +32654&#"7.+>32#"&54!:'>DE;'<  N.Kec#576732#!532654&%=9 #&66!(ee:KqA( 3gF/#g,> !BjHH &51<=%,-(Y#>32#"&54&+57632654&#"N.KecDE;'<%0}\k)IqCB\S[m.y"&#"#'332654.#"'>32*@p !  7m-LQ.vi.U!!⺢WAe=B&6*2327432#"&#"#&#"327#"&546k?r  )52#7m-LQ.vi.U!!<3$WAe=B*:174632632#"&#"#"/.#"3267#"&X1& x)52#" =KWD+>$ '&>!Sko<3$3.aMVm*4 4 }34.#"3 #!5>54&+"#"&54;2@,FrI>m6TX9/ $3<[W9G+OQ:%)-V\C, 61#25))AYV'`&74>;#"#7!"3!"&7327&#"'<{VF~<%&;q{\L&##3J&!<>%s':9<&h^IX%-/ .726=4&#""#7!"327'5#"&546325%4>(9DL .!0PSfzV63**(=#"#5 $A U6 7 7-%\k4, >& 9& &C!5D5!Q3 ">%.4>3235##"&#"327'#".4>;5"&8,i1Ro!/$iJEg,= &K4g^!7-dO! $?'Xm a41600!M4"+23254&'5!#.+"32673#.+#"&546 & 7 6U <)  (=XQ+8R B5!C& #<=#^g( &&>32#".#"3##"&546323265#5gP_-;9zzVS)52Rqx#&%Yt ^jp<;P  06;%4&'5!#".546323265432#"&#"#.#"32659,@-ZbJ1:q )52# `W9X6" z6O8,,0IzN! <3$N])@VO(#%0#"&54>7&'5!7654'534'321E9VH=I(, %m{=X!.(K [T(BGPM>!C3.'({(6(2 >#".6.#"#5>54&567363232>54.546322X89D%%67,,"i%9W2:*(.J#%%4g[8.IXYI.?1"2! R/L\\L/Th,(#82F%#"&54567327F+T<)OmD4!BLD;oZ#K5354&'5!3#!5>=r!@)?#rr$>?":-7 7-7! 8"6".74#"7!5654.'!5>54&'5!7632"<;:*>8qh"8;#7:"^P/h  5:1% d6!%=6 8XK8"&#"7654&'53#"#53254./#5>5>32A79%S>5! 6P^-<DKYz  9:&!  'ppy#5673##5>=#5354&#"c<cc0/aa o-)(-#/%#"./##4&'57&#"#54632732673C:Uyp2$$(" e[\ [e'S,MZ5*?5 E,> % =%2654&'5!327'5#"'#"54/5!3274&'5!Y8W"0 3"YQ LH(a ]i4 5(4O5$4458#"2[,"[9$fflD4K:J8(3&%4&'53##"&546323265.#538%; F3N)52# L/3+&tf<;Py#8*567>32#5>54#"#5>=4&#"J@3;#7?%&I*$&&O0!OGS%"/a"+%"24.#"32>4&54632#"&54632326>+:71N- ,W<=Y-d<lX?U3AHHpD,*?VO)3bb<54&#" &632>763274."2>* .M,DڴD}-Ji$3-:@/WtW/.WvW.(24:Y(41 T'B/%9'86g_99_g67f_99_f'"3#5>54.#"#"&546326324.#"32>* E'_byx`w>MUv(u;';; ;),8+$93H`daTTY&$KK/^>&QU6>L 43254&#"#"'!5>54&#"#"&54;2"`eT #:dB'#;96$3<-TS2OMI06'7!!?3#25)&J' 132654&#"7"&#"632#"&'#5>5>32E#6CC8#C78@PI^yY + 8,P^-;N,gSWi,KYOx]m/'Epy# .72654&#"723#!5>54&'5!\E6D,dbSz%8 :8!@)?#<(#7K/V"4T6 #>7 7g*/"#733263232673#.#"#"&54>54&73#&7 T:S'-l++"+2 9";M5@:4-&$  L4%7@+&8C E6*B$!-!'  2B@%#"&5#"&463232>324&"2@29If)>7672e 3N)52 ,Y5 2 /+# Btf<;P=- 7+ tQ!#.+!5>5#"#"&549U6">> !6<S-7 !@&25)^ "&#"3#327#"5#53>32479{z 0HYRRP^-;DKYt /+# L- py#4Q2>2#"&5#"#7!#.+ (8+QX6T949U6  (g^s.RS-0B:P373267654&'532654&54632#"&54&'5!Ka8Z$:'0<C6;#5iM{;<dg+$+]K125)4<+H;XO*}876 |1%'5#"&=4&'533276=4&'532654&546323N;++<7B$*.*/$3<y"2S++G;#-"&%#25)v #! #'&54&'5332>'.'.7>!9Q]O=. "0 $/'8+ I87 I^cs - 5Bj#+!5>='&#"#"&546327654#53# 8(??&A/,o42YE(!&; ;_ 30J6+!&6#".#""&5463232654./&'53"7632 %= #28- / ?#r &  s<>s(WF*# D#y!8G ( U %2>73!5#53#"#7!3#. Tt3B! a& ) +- ,$!-%2>7!57#537#"#7!3#'. Vtk- [v_}y "#-!7v-"327#"&54>3!#.+^BW5vi.UXyD1 5$GJYDBe=Bx^&NA',A(/j467'7!.+32632#"&W[/#WR20a(;EaMx u#uH2G<8*p.3#"&54>54&#"'7#"#7!63232>32AH=a-AA-(,Sм .V 7L5LL54$ +>:*?'!*,!=5,D*&1#"("$%!5767#53654&#"'>323#32677z7^uMB9=kWMh/a$$ :2,73ANC?ZmhLDK,%D&%#"&'73264&+54&'5!#."#"32D`U=eyMmmMZ"5(2 9\_xCDpcc5!!+ I$+#"&5463232654'.'"547327&+'zj4^ B78 nY Ui{..!)!eH {D+%#"&#"#5332654.=#&5476763#{W:M 6<#./BC/5 9,ee+l**w9H CI&#-#'@)P 8Vt ..@5'&3#5>54&567>324&#">9be9$4**IGf5V2,'E\9>zfO"&1()3L,>>*=C_CM#__/)f%##5#535#53533#3)22222'v#?'t#@'#@G #-c/ &%#Mc/&#MO D#-1 &#M1&#MQv#Y$%"Y,D @v#Y,$"Y"v#Y2"YNRr#Y8 "Y:X#Z8#s!8 "Z@x#sXc[0I%#s!8 "[Sn"j@XcY63Z#s!8 "Y@n"j@X#s!c\1)+8 "\/n"j@X HB#s $%"Z7x"j7D#Z8"$e%"Z7x"De-_-#Zf&xY#o 3232673#&#"326=#5354&'5!3##".546v>j ??a7|)`EE!70;;F3`cH.!ӫ7\m<t,4$4,:1NR &;GNR23263##"&#"3##".547#5367.54>7&5464&#"326.'!2 _1$ S_@ $ .N4E+B8;&+2 #(]b51%&2'&#hO0$:"'*2@S172,3> ( ,# .! )YJ]7k3NF;8 +,8 v#Y*&"Y7J"v#Y.v#YN"[#22[#R"[-#2"2Z[Y#"RZL#Y}y/j"Y 1&$567#"&5463232654#'37M-PLVS)52}>|"yz7jp<>M{<gg'#='t#]'#]G *&"[7J="57#"=!!5>54&'5!!54&'5!326=4& ,O7 8:::/:: &>77'9@)r5 "?6666*.Na! z#\1"\TQ%_z#[f&x#[""[Uz#z$#zkDl#|$%#|D Uz#z(#zhH Ul#|(#|H;z#z,5#z ;l#|M,#|/"z#z2#znR"l#| 2#|Rz#z5O#zUl#|5O#|JUz#z8 #z\Xl#|!8 #|X*.B23273#.#"#"&#"#'332654.546#"&54632'654*b c<.:DOcXvV2g %bC7DB^]Bgx  !".>2 R""XT4)(H,5g>Mi"[V?2/I47V9L_ 3&-T823\1E273#.#"#"&#"#5332654/.54632#"&54632'654 2+"++l-'S:T   (&-4:@5M;!:C   !".>2 R C8&+@7%4L '!-!$B*6E 3&-T82Q+#"#7!#.+!5>5#"&54632'6546T949U6">> D  !".>2 Rl.RS-7 !@ 3&-T82 C/#327#"5#&547>7672#"&54632'654e 0HY5 8   !".>2 R /+# L- >* t 3&-T82v#Y+v#YKB#e$%n"e-D )U#z()"zBH"#s#Z82"ZLx"jSR"#ZB#h2"ZLx"hMR"B#e2n"eSR"#Z8#e2"ZLx"eSR-#Z<&Y"Zc\B-7#"''674#"#5>=4.#"567>32764#"326B7M{< D&%'5#".54632>77'54#"3268SX,9N~a3> #`FA=-,;$S%1F`8c# #McvL,P?$ E (32654&#"7"&#">32#"&5>32:'>DE;'<79N.Kec7.54632#".#"6324#"326}?9+ >?|d2c ?B10T:;&+L%U=d[ HrGf7.""oC:cx4e/&[ 1726=4&#"7#"&5463254&#"56732632#"&5%4>(9DL0PSfzV63[825)SV**((9DL790PSfzV63-<**(32327.54624'3260" ;'&|dI=-L/BJ~T99/4  &"'1?Bw,2$7 @--4Jf0F1- HD61KYK 3),o))6?32654&#"#"&5463232654&#"#"&54>32#")(Z3<-$ .  1#(*# "61AhE*/GgCl ]>3%45 +9$#=<(5A.@E)3V#".4654#"#"'732654&#"#"&5463232654&#"#"&54>32>2327.54620"\ E*/GgC+(Z3<-$ .  2#(*# >A!S0 m& &"w,2$7 i !(5A.@Ev ]>3%45 +9$ ( ({KYK )0%#"&546324&#"#"&543232654&#"326=L'WmnV'L=G//G\-$ . " . $-+)J]\K)+k(8ZX8(.AA%44%+=}MN=&5673##"&54632326=#534M-PL??VS)52eeW jp<>M- .<&m.<"&#"#".54632326?#"&546325>323276=4#"C79/\@2)+7DYFZ^.2P^-;>12$]@JDKY'GD(CHmJx_lpy#+PC "dg& /73276=4#"".5463232657#"&5463273n>12$]@JZ2)+8DYFZ^6=6 /\+PC "dgCHmJx_l$ 7'GD('%#"&546323273#&#"32=4&'53saQ*j*?"SSK&!~r`t&AH(Vl#m% +9#"&54>7&'53>54&'534.'32'p&<=42  !>D'  !:*!ET@XT8("%!0JmmOB7$!(#8) ,.#"#".547&#"'6326324&'32>)g6V@-0 , /BJ~!#~/.,.'/ 5R<+k`9TLX=1- 8a32#5>=4#"#5>5>32879#D,{)+K3,+P^-<DKY-'4 3j"45\py# &4"&#">32#"&5463232654#"#5>5>32879#D,{VS)52K3,+P^-<DKY-'jp<;PYj"45\py#"L0"57327#"=4&>  0HY7/+# L!7#5>=4&'534444f66664+56732673#"'#5>5&#"#>3254&#"c< 0)0/# 5%  o 91)( .14#!+##5>=.5463254.5673#.#"`,+"""#b=`!!0*) !) &i32632#"&54&#"#56725)SV c<*P;<pj4#/-4&'7!#5>54&#"#567!#"&432326SV0/ c<>[WaF:(a/32Hu)(# xMZp*80=/ *i)$$&E4&#"#5>=4#"#5>=4&#"567>32632#"&54632326n +B+++B:(*HD>0=/ *i)$K/TTjp<;&04&#"567>32#5>=4#"#"&54632326PJ@3;#7?%&I*$VS)52-%O0!OG%"/a"jp<;&[4%32632#"&=54#"#5>=4&#"567>3225)SVI*$&&J@3;#7?P;<pjMa"+%O0!OG##5>5.#5354&'53, -~-/l !0- / /?%"#"&54632;#."32673#.+6:>74&#"326BBVjsh^)5Y()Y )! (#1 7)'rrXj b '( !()E="(XM)7%#"&'##"&54>32&"32>54&543232>54`R9??9R`\Kuu '",/.+1WI;;IWMy=.546754&'53>54.'kcj0/kj0/EQG5TGPQ |aiy k)(hyj^~ w)( zI*PH g nPKxE UJE J&172326=4&'5332732632#"&'5#"&546",2"30E25)QW%4X#:+ &!BP;<kg\5)8O#"&#"#5>54&#"567>32(,2"30PD%4j#:W+ &!\5)&S)"&#"32632#"&54&#"567>32(,225)SVPD%4j#:P;<pjN!\5)".#"!5>=>7>32V 9 =6 L/-;fY87|B:$"'#:"#"&54632!5>=4Z;-/L 6= #'"$:B|78Y &2;#'##5>54&'52654&#"bSzr t(*$ %H?/7K/V""i,) .3%>&"8  3&\>273#.#"#"&'32632#"&=332654/.54632 2+"++l-'S:Q25)M4 (&-4:@5M;!: C8&+@7%4L5P;<dr '!-!$B*6E&>32#".#"#"&546323265gP_-;9VS)52qx#&%Yjp<;P )".#"3#3##"&546232=#53#53432$<{z{{"B$'2325)SV5ce1P;<pj  t " X '%"&54635#"#53"26545#4&+2`Hl:?ZZ@: hHa[XX[H^ N;BXXB54#53%f*,Y+e,# 0'+v,% ?35&U"%2>732632#"&5!5#"#7!'. 25)N3 - [ "#P;<ft!7vk&%+'>7#5#"#7!36324&#"326c7I * '  /[9m@"S!7*S6WE C&2vkX2A/j4&'7#"'7!#"&432326$SV#0[WaF:(a/32Hu#u xMZp*8&.DU:6D/0CP@F *3_VX6EsW5&%63'%2#5>=232654&#"#"&546ZdP0/ DWK= "[n^|z)(mVMa.*='&2#"/.#"32>3#5>=.546?[" =KWD /0Pd=*.aMVm()z|^n' 4V#4632#"/.#"3267#"&5X?[" =KWD+>$ '&>!Sko=*.aMUl*4 4 |a"y{RD) 2#"&#"#&#"32=4&'53#"&5463246321a*j*?"SSK&sa'.xa";k<xt&AH(Vl#m%!~r` bO[ $.#"&54632##"&5434.#"5673#"325 RS4'/DOMS'#0'9xS(8C#D/sN7 0#3 N45"32>73!5265h /2# }/ i,)(7 "|''n 173276=4#"%"&#"#5>=#"&546325>32n>12$]@J79)5$DYFZ^01P^-;+PC "dgKY=  *Jx_lpy#'-23##5>=#535232654&#"#"&546ZdPff0/^^ DWK= "[n^|:1)( 1mVMa.*='.2#"/.#"32>33##5>=#535.546?[" =KWD ^^/0ffPd=*.aMVm1 ()1:|^n#+:%".'5##"&5463254&567!3267#"'54&#"326|z *WY]vY:0&V=LE-k0$V?(,;B1==@]\+%k(E(0(M%#".546232654&#"'7#"7'5##"&5463254&567!54&#"326hC:* DAH@, ϰ/"(*WY]vY:0&V=FWeQ?(,;B1= fq, \G@F /(4=@]\+%3_(7#"'5##"&5463254&567!3632'#"%4#"326%54&#"326 c7I * ' *WY]vY91&V=L9m@"0$E$6Z7*Se?(,;B1=6WE C =@]\+%k(04 A(76763#;2654.546323273#&#"W:\5 :]]3#./BC/S9=  T.0FE0w9H-Tt T&#-#'@)8B {$1#&< "-4".#"#"&546232=#"5#'>76763432#32"$<"B$<,<\5<p"Bp3 n&%Yt@&%Y8-VtUU DCL%#"''>7&'#"5#'>76763#32>7&54632#".#"6324#"326}?9+ G 2X\5<ee3  |d2c ?B10T:;&+L%U=d[ HHq-Vt S  (/f7.""oC:cx4e/&M".#"327>32#"&5463232654#"#5>=4+!5>5#53>32A 9{e"3;#7?VS)52I*$&&=z =6RRP^-;DYt O0!OGjp<>Maa"+P87: py#55673254.546323273#&#"#!5>54&#"c<0iQ/BC/S9=  T.0FE0V;/ o)?-#'@)8B {$1#%<(8@(#!567!32>7!5>54&#"#"c<K'. / ݊, ok "#(#P/_77.'537654#53#"/#"/&'537.'537654#53#"/#"/&'53~3; *2 PP  ;I  Ru3; *2 PP  ;I  Ruzw!ir  $ yzw!ir  $ e%#"'7!.#"'7!.l((((V6%326754&'53327'#"=4#"#"&54632K3,+ Q""E,{21;"#8# j"45)  0-'c<5'H'&@%32754&'5332632#".4&7#"=4#"#"&54632M85--21;",  :X|21;",  j?0#!1Bc< $'))*Rc< $')))1%#5>=4ȷ632#5>=4#"[ 0,+4P 1#w   3`h^?/,"&#"632#5>=4#"#5>=>32 $%+4P 1#% 4=&`-6h3`i_?&x CH q567#"&54632326=4&62"&4S,9n"     $%.MKL &#"32632#"&54632"&'/4=<*%#-*;4*> T 732654#"#"54632#"T #&' / 4<;*&#-*;4*>L #"&54632#"&#"32%*<=4/'&"0 >*4;*-#f632#"'732654&#"f*99*!"  ;R: ++X&#"327#"&4632 "!*99*++ :R; B#'#73B"zy"|>gg B#'37B}>|"yzgg #BY!! 7Y6]= #7632(  #'&54>;2( a  gBqD2 #'&54>;2( a 3 7>;23 ؔ a A533!56ȷ66 bAO#5!##7666%}' ##5#5353'f6ff66ff6ff BO!! 7ɱ63 3#"&'3326|8Q 50,.FW2/(v n 2#"&546n(C  2#"&546"3264&);;)*9;)'&'';R::*(;"&6'&6'@[#"&5473325;*6.,IL, .+#"K~3#"/&#"#>32326.0) 1# 4&$" ~91 .14 y#7632#7632(#(# a  \[X~h#YZ#Y!!"Y6d) ne nj #4654#"#"54632%( )37&U0 $!&Hf,iY7{ #&54632  #&54632#&54632[  ,3'&#"3'&#"(#6(# a 3#"&=332>'4632#"&7:P_& NJa"!  3&#"3>327|8Q 50,.FW2/( S T U!"#"&54632'>54&$ R ,&<)/Z ; #'&54>;2<( a  7>;2 ؔ aJ#5353#g666J#3366ˁ76#5#5066M}42654.54632#"'5"0 & #&/K53i% #9/5J" |&#"327#"&4632e "!*99*++ :R;533!56ȷ66bO#5!##7666} ##5#5353&f6ff66ff6ffO!!7ɱ6:.!#5367"&5462326590 -B."  !.- 0.!327.5462"&=73 ".B- 0 -.! ( 4632#"&!  4632#"&74632#"&! ! | 4632#"7"3264&9*);;)**"!'&R;;R:++&6'#"&54632'654  !".>2 R 3&-T82)z[g7{} #"&547 O##5!#B676vg+32>32654'&5432#"&'#"&54632    ,K9(AK%=*2))1)?<X5$*6*$5Y[#'37 }>|"yzggZ#'#73 "zy"|>ggf3#"&=332>7:P_& NJa"e.#"#546327 &_P:"aJNQ3#"/&#"#>32326 (2'4.#) .(= O!!7ɱ6O!!"6O!!!!""6663#"/&#"#>32326  (2'4.#) .(= %3#+%%!!%D+1mP-1n'V2%V:Q:|632#"'732654&#"*99*!" ;R: ++53!53B66vvJO5#'!!\6["2.#"#".'"&#"4632>]!/%   5 % (/ % !(% 8+)(, 7'77'QQ%RR$PP)MMPQ'RR(PO%MM4&5467'64/; 5446 55/& 7%#!!5!!""Y66UL#"&#"#>323267L6'T%6*U)8+++6+-"&462'#.5462"&462((RU((q((D"`" L3m((4#"=33265%]JLXOc.ND23267#"$#"'>C J;u8?;$30?q+uTA'1C! TF"]DH.#"'>32DGuG-9qR\DgU}*6& 32 @2<".! #"&547 @2<"(#"=33265(]JLXOc.NPsX- #7>2S(  < "1j"B`"&462"2""22""2"~U#&#-;#h#x#I#Y "$Q% "#.+"!5>54&'5!"+)( $79!6%,6"';5!v)3 v6 # U( U=+. &6 4."32>#4&+"#53;26=3[2oo0&5N.8\8\HeeH*UP>%9[j-#(*!;,".!!#532>54' 3#5>73D5  1O*=H   _0 1=; !-#4&#!"#5!#4+"#53;2654'3!533!26=3;&/0b; %bVC"&/,'4IB""I[1#"2)5>5!!5>54&'5!:"6: 87!"6&<5"&<7 6D5"32) !#.+"!26=32L dB IS]1#)LI@RMRZ2#Q7)=4.#"#"&54632>32#"&54654&#"3!52>53)&$"9$-N7% #7K,$9"$"S/+"%KyI2 )!7 %324+5!&#"6324&#26"a^S ,' W q!8IO(T *1# 3bT4jkU^bYcZ55 (/^xl+J3#X)11U7Uc|mm^X ;LQ4.'53234.'5!27>76;#"';!526=#"&'.546U 4%$/+&= ZA"+.##7$?`;+ ;"#A 2n%($/  ?P^SC Y@ BQ^P@   *C;Kdq &%!q"U: 8!-#32673!5>54&#"!53;5"&54>32ɑk$SbhczaTk7^sBDvh<l9(VhdW(9lEi=:k;)#"&462"&462!5>54&'5! ((|((;&&;):((: ((((99 8D8  'P"&462"&4624.#"#"&54632>32#"&54654&#"3!52>546((((/1$"9$-N7% #7K,$9"$"S/+" ((((oR$ )!7 %.9 d:Zks\AJ  T#+<-$2 9,.<ku#!8H\^cG{r<B~,UF0LD"+OAOZH79%#"&'332>54.#"#"546232>54&#"#4>32gW,G8'4 / &)$ 51#/R,R9HeTcXt0)'@K&:9$! 061J!<5"dU5\U1IEd/ _ +4>54&#"#4323>5>32#"&t1K-*&^^5[9 ='/?bB\\tn |H*+,%3%#"&546327.54632#.#"4.#"32}db{xU( =,/>15YG*(0GTG0]@0@> :'ya}^Rs $,/8C2(6)&;AdM-M:T@#EC))6%#"&54675.54632#".#"32632#"&#"327+CgG/*EhA16" #*(#1  . $-<3Z(lvE@.A5(<=#$9+ 54%3>]'>?#"543232654#"#"&547.54632&#"632#"'32632yIC'C5W9 dSn0[N1 (; @W#Q&6/.12( ( @<-FO&)7ch8*,)$0?3O1> . ##4#"#4.#"#4323>32T>U*[$ F='4 &c@gd",,D`27%3)".54>2"#2>5 .PhP. 0L`L0 \-:-U0WbG//GbW0+VZD,,DZV"!*M5775M*; %#"&5332>=3 /97/To;>;9Y # '>32#"&#"3#5254.'#4ȷm*+0f%,06?H%-\>O'^?AKQ-&)%#"./##.#"#5463232673C:U $$(- b [e'4 *5*@" &P/M?^o^?83;O/hN.". $4K&P][z\2D)$bxoM(455$ / !-5 :M2)!H?7^/4M68$''+3*.2?A(0A&#- ,R#(0+32653#"&5##".6'3325#"#>32327(*6*i21f R24  BP11#< EN*@3A#$%$0L-,#*%#"'#>54&54>324.#"32>wfE6 T1V8ct\ 8&| :%!/ h+ST/ " 665_P/$IN1"IE,!89':2654&#"#"&5467632#"&#";72632#"&54632E)cI`U52L$;"C6 O&6 "D,#. 0*!~an(  .8+=V!3(6@-") "#"'#"&546323274.#"32 5/"*2x]b}~h~2 ;*=4yS _4^bh (JQ1gD %#"'3253#"&5&#"#>3232740: (+=00;%%"9(w(+6+!=9$#"&54654#"#463232654&54632HP#0(610$2=F=?1XI$$9\:FO4|6@g@($ )42#7.54632.#"&54>4.#">(: zhT4L<+TK'(-)QQ $: +]\i'@A"l "4_=V!iKdB,FV@867"/-#"./#'.#"#&54632733273 + +Y- 4$# /{W"+Y+9Byu$N#)?)?>F+S }C0#7.54654#"#54323>54&54632 ^ _w!2d/2D?EV3 -X h^s8_O1x?G5 rH( *";lgF)@%#"&'##"&546732>54&543232>=4.'5`R9>>9R`j]*  #",/.+1!+ &]jWI;;IW_#9(  8&(0323>324#">4#"32|cqn4'R$5Nkn!%fBawP7E^]F '8 GAduhOh#"*?Rm>Ji;)dB1k$>@%Dn93@#4##".546=4#"#4>3232="546322/.#"9A3D *'#"-"kQ:$2' &$BU!!"@B.LTV#*;:+ 2 &22Ѹ:L88XF9 !b?#"&54654&#"3!52>5465&6.'.54;2>32b"$"S/+"/)"2kQ! (4 $9? 7!) L$$'T9EGF;-  LB',!*B*+<b",bC"j+ U@%#7.546?34&'>UoFojjTZPJXPZWJlzzlg~ss~gRuc|tSM| J##"&'##"&5467#>3!54.+"32654&543232>5m66`R9>>9R`33#* K)] %$ #1,/.+1!+qBWI;;IW@o/S 5!# "2! 8&(W6"t88s7V*L6&!nE%#"&542327#"547#"&54>7654#"#54>3267>32327GK$<3 f%W`* #"? &Z5Q$]?2 Dsq p'&H+ "%?6j- 4,!"1<67OM6iKF3"5463232654'.'&546323273#"&#"id/K H_bY_^n/  -;JOZTbbR 9&=- KGGLs ?<fN(/83+3&Yc>2"5463232654.'&54>323273#"&#"NJ)E4MPA &X<X% */:GV=MN;'6' 97AxW1.bG+'!'OX+'. #"67'.#"'#'>554&/  +3!!;9!:*#=   H!5!,? 7 1#"&#"6323273#"&#"#"54>32327 (/</ ;H' (/ 6#$2*$N:W& 2-+%:&=Q2-3% *68fP;9:!>"&54?654#"#!>?>54.'&546323263![P# $ (&.. !I## +% . ?,"7 %0C& F$%4 &0(- ;:1>?>7327"3263!+657654#"#;&( 'U7# +%%/ $ ( %0:T &08+P 054''&'"#"547.+"&#"&5467>3232#>*w !A" %a J$ ~F;BNH* ` ;  ɟ>14! J<"#"'632&54654'654'#"54>?654&'"&7>7.0):M%   l[,]! $'Z]4 !! L8$ e5"JIU,g99B4\GJg$ .PH -+5!=%#"547#"&54>7654#"#54>3267>323273 !W`* #"? &Z5Q$]?2 +'&H+ "%?6j- 4,!"1<67OM6iK) !2%#"&'##54.'&546324.#"32>wfDh 39>8.+EKN0qpct\ 8&| :%!/ hRA#39D4. 64gu$IN1"IE,!89)%#"&54632.#"3267=kb}~hd=;1t - 2=LVbhV( !+F*!) Us"(C$f >4632"&74632"&4!#.+3253#4&+;2673!5265&&-&..-%6%"A!&ƱZ(6!KI$8@#&$$#"##$%F, , d52=G-F&7"&#"32>54.#"5323'!3>;!5.=>322;#Lo18Z6/<*6U99T6 >$>".#8X*M< pT8r`="--SR. @! 7S{B "s!7!5>54&'5!#.+"7#7632!:9 7 6U (#m6!#>5!C& z y!3267'#".'!5!>323'##"&#"U.iv EB=e '=hD,!!*6;, ;+",j r-0;%#!5>5##"&546322676=4&'5!3232654#"3ST,:%E.)< ( ,:;#EBd:# e`"3K&"?4suL$#b6!7'60IM3>%#!5>=!!5>54&'5!!54&'5!3232654#"3ST,: 8:::/:;#EBd:# e`"3K&"?5 "?666!7'60IM.%!5>5#"#7!#.+>32#5>=4#"d">> 6T949U648"7?%&I*$m7 !@.RS-1 OG%"/a""s=F#"&#"3#'.+!5>54&'5!3267>32%#7632$> C1(X  :; := 7YI1X(#\"P?]C' &7#>5!7YCY;>j s+4754&'5!!5>5!5>54&'5!%#'&5432/:: 8: 8:::("0'66D5 "?J%5 "?66ae/<732>7.'5!654&'53#"&5463#"&'3326  &0u)73+KC(7c|8Q 50,.oc7>$9*7 =gSE#FW2/(I'!5.54675!!4675!!3547: 8: 8::$8"65 "?5 "?O6   3!5254/!3#5>73&'H 4=I!$z,0w .'5Z'`%4!#&+32#!5265%4&#"326%<~FHm>' o;&]Sa##&K];:'s'6/Th&4.#"326RA<2D 5pPB"#ACf;$ s^G!:)4#*T9,'J[1W .7'":;".EF,%3.AR <10 R*_4!#.+!5265)9.CY,8<&@8$5=$(: @!*4!#";#.+"#5>265#):A('#3 noEL!% 8V-" n;8)$/&0-lT',1<bo!$$(4!#.+3253#4&+;2673!5265"A!&ƱZ(6!KI$8@#*F, , d52=G-F`%;!526="#52>767.#""&5463232754!32>7632#"&#"3#.#'W 3/ 0T)F-G # -A(0'>G<6 02.8* 0;'!(2*@%# !"$'/D/ fT!0-)M4.+526f8,i1Ro!/$iJEg,= &K4g^!7-dO! $?'Xm a41600!M#/%265;!532654&+5!#"4&+5!";!5/! /(*+, 1OT)*212!2-.]++(3/!PZ/$!/!.-#s'd*#:"32>7632#"&#";#'.+;!53254!H+*/E) +V[&C 5@)T*?B. &7&RV225%0(BDH98$!< Y;Z?7(KU0"%72>=4+5!"3!5>5##"54632#W =3/*85/V";D6[^3P!,*'!.!?(+$4&'533"3!5265##5265'=B""BC" @C!&;7 ,F[F--F@EF+,G#+%>=!3!52654!"!54!"3!E!#BA""A4B#R!E6B"#A*GF..EF,-EH*,F[F-% #"'&5476 2654.#"SNTejiff fgf{ 1R4@\/xY[48ghjjhh**RYB+=df7#"%265!;!53254!#";!5,+S03 1%T/,,/V.#+)JI"#"'3!5>54!24&#"326I|b=H$CB !A%{|[B$&4!CONnF-+FF,kYHV Q)"23273#.#"3267#"&5463Q1  U%EE2 6WW,M"d.bb.IxMV~@M; ɔ7265#"#7!#.+3!@#Y9.] ,)]%@.E)%/F-$72327.#5!#"654+53#"&54A$(1#$ CŒ; F)?{(1]-H0%' R$ )[C!2'?(7G4!32#"'3!5265#"&54>34.#"32>%327&#"}0325.0Sz>.*9:)0 y+AjD#<@#7P))P725'L." ..LL)o1&%2p!?@0;V,b)DF%%FD) -K5!"7654#53"3!5254'.'#5>?'.'AEuD%,<3o# "C\B%A(4>2& 'B<0$ %#"$30I+%@-%;#.#!52654&+5!#";2654+5!#"%2 nn10()1&(!!P1/!p5)lT(9-"*6(%"O***4!"32754!";!5326=#"&5u213;)2?Af(<321T+*x]bMM-"('3:).)"2M'39UN$>6%3!5254+5!";2654!";2654!"'2ZP 4#!!+,4#!!+,.+h*,OU-/7%-/4(%7$@>:.#!5254+5!";2654!";2654!"3,nmZP 4#!!+,4#!!+,.+'2mSOU-/7%-/4(%7(*,,7>5#"#7!#"32#!%4.#"326B @', ,);[>4gF%P9!#)J\,E2'(:$<=#<<%,0X&,@4.'5!#"32#!53265%4.#"3264&'5!3!5>5 0T;Jq@) "5[:)*]":="#&L\!G,50U:\>3gF/#]%=9 #&66!F4 F#><#<<%,-Y,> !B""#"'#3>32!!#"'326&#-Q4  Tl-wb 4;X0.be+ #1%4&,&>"367632#"&'&'#3!5>54!4.#"32>R6*_`efT03'91/00,_)86.6+%(BF'6<-&3̓bcϔfgZLQc-,$0/#JsF- 0DiAYB )Bt$,"323263!5.5467354632"Ed3/I0  ! @+? 7 MWD$)"8:-:;BF++FC-=W('42327#"'#".54674&#"#"54653276Z='=3=WL+-~<"+',do%$!@U0*LTT7+>\0^:%  **5?/,! 1!-"&546763273#>32"32654&f}SS,UH5VZ7G< FM*/B5&EEh0K^:.NSA'?w_;O 0W8jKLNeoUae(4Ȕ+5>574+324&#"32>h +^`Zu,# >J(#3 s'$5DM['*U|&8 $.+3#52654!  #2/ !.T  8'),&|$4&+"#5>7654&'5!"3'265#?Ix 0 .,JU|0L|5,"Z`)((4E!]j 327#"&54632!7.#"c!G.a$^MXlp^Oa5-. =J4kIhlpfT'7@+"Y7.#"#"&54632;545"32>32#"&#"#'&#"#5>=&#"#56?6 % (1,$%(#,1' $  6&'$0~e)' e}0$&+ 2.$ #+=>+q)!$&q+>=+ B QF@8&")8@FU%4&#"#7332632#"'732654Ȏ7*^ D'MZ{lRiJ OM.==G0Gh)2@5Ri>KV =;0)?,+?4.'53#5>=#5>=4&'53 %%&&&&%%%"/$"//"%"daJ82>32#"&#"#'&#"#5>545"%0/$"$  % 3"{I, -$% +==+  (3&$S"$G$$*'#.g#4&'5!"3#5265##"546323250- '&."89@ # /l+$))1%'5BqW8##453"3#5>5##5>5b**I) &,o('_(5I#$%1#&-*"3545#526=##56545"! "+#&(*I+,ss* $%- #&'!H("-%#"'&546322654&#"FGbYDBgYDB9FWE2LYgOODBc`DEfSdSbd4!#5265##565b++#&(*Is)"$&- #&U'!H- !14&#"'73632#"'3#5265"32>54&d FZ'6+FFXC.%12!?6%--LB0&7jj 0V5sGJ+7&&7B95)P7Vl327#"&54632#".#"jXJm"o?\re$;"#$;H]pqWdem%+%_.+#5265#"#7! K&%-K T *')N ||,%232?&'537654'53#"&546X 5,%!+  qM.~(R9)od(gJ$N *Gi]$-w*2;;#526=#"'&54763254#"'73632#"'27&#""3254u$%&$+4A0100B1. ,4E]]E2.+)"`G$('#bv* !/.FFigFG.3=.jl. +O,Z,+-37654'53#5254/3#56?'.'&*0$4?1N39+BU,,9YO,! CF ]I{R7/i~U{/%`#%#.#!5>54&'5334&'5390%%&%&@`% %"/L%"//")45"327545#5>=#"&5U&'!/2:'*,(&B`A)t%%$&S){&$#&($)),?74&'53"3!5>54&'53;26545";265z!#($" & ++!]"!(#Vv',9)*%"',#$ )--$:%3#&#!5>54&'53;26545";2654&'53"(& +)!]"!(#V!#(b/!|*%"%.#$ )--$$',9("#7!"32+52654&#"326/2#8GU_p,"C, 5D ! |(/`!*8R&#U5, 8%9"32+5265454&#"3264&'53"3#5265 3#9FXC"(P''&(ZD,!6D,-&&&%'0`!+2A ,+5, :*%(('')"32+5265454.#"3263#9GU# (P''&(Y$#!!A8'0`!*0 ,+) @>32#3#"'32654&#"#"'#J# sQDMh[xwY!L  B/P hli&4"3>32#".'#3#52654&'57"32654&-qw_]FI_4R- q%&&&$(6B%7++MS$,oWhiJL)9H1('-!cQGh0Wdf &7>=##532?&546;#;5&#"*(t rzSb% $T?H7/),i""V/K%3. V&>8$3267#"&54632%3.#"7#'&5432a010G$nGVeu\LT *.Z("?[-09QVygo[\ A2La  .64632#"&74632#"&327#"&54632!7.#"b&&!G._&`MXkp^Oa5,(4}%%=J4kGjlpgS'7@20 '9"&#"32654&#"535#5'632#335.=>32U25)SVA8,D#ss] pp+,3I<pj6FO'-"w "W54"aP;#.+#5>=4&'57#7632} -v%&&o(#}7!%"//"2 %"32>7'#"&'35#5463232654&ZkS$?(#$>+5##"%3267654'&# # & 0FV iu&K1B0&+B +o8/" O -3Q"/:xn (@3A%+5>=##5>=4&'53354&'53"32%3267654'&iu&%&&%& 0FV 0&+B3Q"/u%"//"%tb/" O ) (@ 24#"#5>5#5354&#"57673#>32#5>5K3,+pp D/ss#D,{)+,j"45" w"-'4 3&[/L&\zJ,&dTU~'%#4675#3376735.54675#T%&&( %%&%L%"//"[ 67% %"/AD4&'&'5#"'#"&54>54'5732754&'5!32>$Y!&!9#!T)&9`=J&!@)=%$T=`9&4r '  ! 2bEۣ6!ۨF^1!  )w3%IN;&89"4F&;NI)/43232654&'5#"'##"&546732654&,/...10*AYncOnnMel[%-a-0I86?Ndqfae]_d @92O> 32=4#'.'5!3#.#72#!5>5"#7, Ů16"8WEBd:# 1RU.6T9K"&M3'504J& 32N/A7>5#"#7354&#5673#.+32+%4&+32737>=x 4,  w 60GW(:l323273#'.#"!!#3767+S`Gi#BO"A4C"j;M_F?s!  kMk|/%"2C=!eaq=AfVF.(7 @(,DMwB* !!HY},Ch<' \;%>32+.#"3#32>7#"&'##56545" L<^=K Q?),[>YcX'I*&`n:-&)"`M%BX UG`~*E)!"'w #&35>73/#56=46=#3!$"%#2M+2K$$OL8J!:BD#v0- ! P1%(35>7632/#6?4>=#3  x) .' !  #,i)S&"A1.\ Pr\; *zu9i CF%6=#56=4/#4&'5!!3!5>?!!5>5%3'$OL8$K)2M+ 8 0W A!78 ȜR N1! bv0-14  m'+"3"#?'3=@45"37632!5>?##565%>54/>=#7'b*&I x#6 ((I# . "-*(t)!"'1# M% eg*Ei\4 rzuii8C%26="#52>7>73'.'5!"33#.#;!4&5!765[20 1S"8/&8 fF1(8$' k!"" "V Qq(2 ,+O#BEa#iE2% .Tc1@O&+5!#"#"#;#'&'##5>='#"#56?636;?>=2='## ,2  '!$0~e(' e}0$&3(!\U ' 9N&%;@6)* 8@Fa~  KV%26="#52>7!!5>54&'5!!'.'5!"33#.#;!4&5!76520!1S)F-O!!78 8F1(8$' k!"" "V Qq(2 ,*O;M.3"#?4 #iE2% .Tc1Wk45"!.'5!#"#"#;#'&'##5>=&#"#"'#56?67!#5657>=2='#Z*&rP7 ,2  '!$0~e(' e}0$ 'IBU t)!"'w|C 9N&%;@6)* "@;:*E7i~  1@P26;#".546;2327654&+52654&#"#5332632#"3#"&=332>S +%EC(OT+I#cRad=9f5PrFWLiU/2!+1# ,U@-2'/K'6##(75#"#675!3"'5.6.'&+3'&'37#!5#"&=332>769D /$!BX)0o+#&4; #?Sq04,&6CPA % L'  2EQ.3> \> 2+[^ZC  A9gh2>r2'q ;'! }H2#&?54&#"354323'>=&#"#3QJ5,d2#ua ^ )C+! B%Du : 6I_8]h$1A32#&#"#73 "D # R"Wz*mCJ(i"= Qv'z  'zZ%5$K#"'&=476 26=4.#"%2327.#5!#"654+53#"&'54&'hjiff fghy 1R4@\/{A#)0'$ AŒ; F)?{$3YOWRofhjjhg*RYB+7>>32>=4&'#"5gY7%FvI6iY75Wh5(6(eP V\^Z 5VL7qgK !6VLJX8Q-@qG yz12#"'.=467>"'>32>=4.'QjeC! MeUH! %6!% &'+!  {Zb{ XUxf L4_}(^@+F; AOW4.5475'+"'54675!2#5#".546?67532>7;>7#5!53!K' %9`=T$%=;&&J=`9% 'K!4  %P PF^1!  ! w3%IN:&F4"'38&:NI%3w !  ! 2bE &$ ΧCNnBb)8@74>753273326=4&'#"&=46=&#"+"5#5!53-%\kcOo_QamZ@+^/--//.`tP P3:?b]e]cb`P=68 54&/&'5#"'+.'54>54'57;2754&'#5!35.+#526=#"#7!=`9% &L!& 9#!L& %9`=J&!>)=%$T  K%&*!K, t&:NI%3w   ! 2bE 7 Χ F^1!   w3%IN:&89"4F  @(!#,<)3||):W%4&=43232754.'5#"/##"&=467;265.+#526=#"#7!C/-..^,"YncO`nMel[%-`-0 K&%*!K,  86?N0?8d]f_d @92N>  @(!#,<)3||g/327!5>="&'5467323273#&/&#""2F=!ze.A ?l ?s!  ! =Xq}RKs@) e2#*F.!!!K' =,%#5>=#"&=46;23273#.#"327",+0.[xwX!L  !* C3QD0"2 kg&5mhP )|7'7'77'77''_6]LU6hqU7ZXb5u)@.w8@=/@4w>@C q!5#!3Q PPXbBn#>3267.#"4R'L3Y- 6WaJ-,M; *-9D8 #53!=98~Q138 !5!53#~89Q83|Y )7ESbr""5462#"432#"&""%462#'&"#"2#"&#""542#"&""54#"&"#"5462#'&#"#"5462%""54632#"&V 0'1" F0 x2 0 #  0 0 n   N< &!! &B: & :  &  $$  &     $VQ (.6;254#"3254#"%3254#""3254"32544"24#"32$24#"I1121551F2112x2U221dd1221Wf51!1221u/12T1134122112332T220d#nw3K%;#'7#53265;!532654&+5!#"4&+5!"$2>32+"&'54632!2z&Y0 0+''0 1OT%.230F0QieTm.-'k--],*,.-#NX-&"-(/((A>*(/n.E7#526=#5654'#5"74#533"&'543232>32|Y&'I$&B(! )zUJ#% % fkk (*E.!)D)+"<(&#*##*#)= .32654#"#!5>5#534&'5!3#632e`23ST,8AA9;#DD'Bd:# KIM3K&6|6>!!7 6v'60 .73267654'&+5>=#534.#53"3#320&+Biu"99770FV ڍ (@V3Q&66& #-327'7654&#"72'#"'!5>54&'5"G+U'U`eN-TS2JO'Z5^'#;98OU&U!2MI3&J4[6O&Z7!!?6'4327'7654&#"4&#"567632'#"&'#5>5E#%e'_C8#CT ?Q@PI^GW'Z-4 + 8,N,e&_0EWi,# MOx]xJW&Z/' "!"!5>54&'5!2673 !:9 7eU6 p 6!#>5!&C##5>=4&'5!2673}%&& - %"//"!7 " 3#!5>5#5354&'5!#.+"ɓ!:9>> 7 6U N66!#>6i5!C& !#.+3##5>=#5354&'k -vNN%&11&}7!{6%"/6=/" &E8"&#"32>54.#"546;23'!!5.=>32~2;#Lo18Z6/<* U6 7 9:!.#8X*M< pT8r`="- &C!5O>#!6S{B&3%4#"#5>=4&'5!#.+>32#"&54632326dc %&&k -v'1+0Dj`#;2%,; p%"//"}7!0 Kg;s <$j%"./.'>7632326=4#"+54675!#"&'.#"32632#37>;!5.=3223$%XE >$X1I]7 =: 7]I1X$> EX   ;9! ",%]?P">;YCY7!5YCY;>"P?](' +>#(9."ށ^32632376;35.=32323'.'.'>3232654&#"+54675##"&'.#"0)  ""./"s" 6 "s,+"/.""  )$0):,6:)0$+51 :_ ' 48{ _: 15+&FF  'tFF&%D>32+32#"'632#"'32654&#"7>54&'>54&#"#"'#`c<.:200@ X/vi+Q& %'-:C.( OfA922eH*b XT4)969&)@e:BY -' %8eI7gW3K`"")cG""'#3>32+32#"&'632#"'32654&#"73>54&'>54&!: 2+#/9#%''<4$)E&-& %'-:C.( IB6$-U C87)$7A)3)57 !#Z -' %8L8'C5&5F">.'>7632326=4#"+54675!!5.=3223'".''C >$X1IY7 =: ;:  $%$#]?P">;YCY7!5O>#7 &%ށ,%;2654&#"+54675#35.=32323'.'.'>32$0)C,66 "},+"62"% )t&FH  '' 48{ b9 15+"@353>7>32#"&#"3#'&'#5#!5>54&'5!"6%8 I1X$> C1(X *6" :; :=l~L1Y;>"P?]C' Dp7#>5!7;#"&#"#'#5##5>54&'53353>32) %"26"n6,666 ('$+51 9b Aq  '' kU:,("C3267>32#"&#"3#'.+!5>5#534&'5!3# 7YI1X$> C1(X  :;KK :=QQlYCY;>"P?]C' &7#>|65 66>#"&#"#'&+#5>=#534&'533#3267>32) %"26"}" ,6??5BBC)0$+51 9b   '6%  6@HF&#?#"#7!3267>32#"&#"3#'.+!5>56T9;# 7YI1X$> C1(X  :;l.R!7YCY;>"P?]C' &7#>I;#"&#"#'&+#5>5#"#7!"3267>322) %"26"}" ,6D- 9 C)0$+51 9b   'K!7} QHF&/%#.+5>=!!5>54&'5!!54&'5!f:>Qh: 8:::/::6H9"?5 "?6666/!23'.54675##54675#35.=3z,+&%&%&&%&48{"/%"/bt%"//"%u/"046;23'!!54675!!5.=!!5.5f U6 ::::8 /:8 N &C666O?" 5?" 5/323'!#54675#35.=335.54b- &%&&%&%!7}"/bt%"//"%u/"%5&@"&#"32>54.#"54675!!5.5!!5.=>322;#Lo18Z6/<*:U::8 /:8 .#8X*L< pT8r`="-66O?" 5?" 5S{B&=%4#"#5>5##5>=4&'5!>32#"&54632326gc %&%&&%'1+0Dj`#;2%,; p%"/:%"//"%0 Kg;s < A^2654.#"4/&=46323'##"&#"327+#".'37#"'4&546=4>32S%Z@AZ%lu/J1 s7k[Fg; R) R4 !$  _ApNUuB A+N73$!!ȗ}_.T 3Fd $  2 -'J0=".#"632#327#".'.54632254&#"n#$?D" ?=z[!1a$bI%5,%%Ib-D!`r1*0@"G%+%cHP7D:Tg !kLd'J0oUq& ^.DN>')y4327632#"'732654&#"'7.546323273#&#"-LQ.viY (.C:-'% #@p !  7mRWAev4% '- U!!⺢)9"632#"'32654&#"7>7'#"&5463232654&ZbN& %'-:C.( 6#$>+DWK= "[̉n]|Z -' %8%)" 4*mVMa.*=Q!23'.5323'!3>;Q>:6U99T6 >9H6-SR. @!%323'!3>;323'.D- ` -De,+&c:!7}}7! 48{"<<#%#5>='.'53654'53*0/h# fc/H)(N$ 2-33#!5>=#535'.'5!#7654&''8+ee$CD!llK3$ .'-B 69!Av6j2<)3##5>=#53'.'53654'53rrr0/qqh# fc/e6)(~6N$  :!23'.'7>75#'&54>35!35.54?"Q>)'140)(q*U 2=FmC(&, 4w_329H+:! 2;v 4gPAL6>54'53#.+5>54/3#5>?'.+53  (3S!+,f[O(r^  +.0)*x {84 { #A'%!4&'5!#.#!5>5#"#7!#.+d 8::>Q:6T949U6,5 "?b6H96.RS-'323'!3>;!23'.=4675#!D- ` -D%,+&&%!7}}7!%48{"//"%-!23'.54675!#"&=4675!327Q>:::LR>S::jSH:9H666=V=66~Uk=?"/7"&=4675#327323'.54675#6%&U+G-&e,+&%&#"$d%"/T9<2c/"48{"/%"/j0/536754&'5!!5>=#5.=4&'5!I86@8:: 8:8@6d::)9T -66D5 "?/ tpjQ~63536754&'53#5>=#5#"&=4&'53!6&%%&6+U&%qe#D@ j/"%%"/c WJ<9T/")%4&#"!5>54&'5!632!5>5S>RL:: 8:HSj::=V=665 "?=kU~66+%4&#"#5>54&'53632#5>=C61#&%%&-G+U&%$"0j/"% %"/c2<9T/"%d@ 5.#".546;2>32!327#"&=4 *K/Vlsa<<6JzIvB/0NP)zh*Q+E3&zd08'76s1CW=7U|?e;D!+36;2!3267#".=47#.546;2;674.'#"5RMK3G!A5N'Q,=W( ,&Y5cw72*FG''!*<'77(="bE,qR@IS327327#"&=47.=47"'. 546;2>32!%.#"'0NP)zh$U)+4< )4=[F3 <6J}IvB/ *K/VlKU|?e5D!$L+ /'.FS '76o1CW= +E3&zd];C6;2!3267327#"&=47.=47#.546;2;674.'#"5RMK3G!7u ,4< ),LUQ,=W( ,&Y5cw72$L+ *&x]'!*<'77(="bE,q;,p'dI('dH"&F%4&+!5>54&'5!3267>32#"&#"#"&54632327>- :; := 7YI1X$>  ( 3XN.o)52 *^l|7#>5!7YCY;>"1BT %;]:<0#d%E2654&#"##5>54&'533267>32#"&#"2#"&#"&54632. 0GJ,66C)0$) %NdV )52fsYk  '' HF&+51x[z<o*7232>=4+5!"3#'7#5>5##"'546E;$W =3/.4y&X40Ul(:`Y.P ,.#'j ."=n+7232>=4&'5!"3#'7#5265##"'546&#  0'&#*z&Y0 6;>O#6,!*%!/,*'k'4CnY5O22325!!5>54&'5!!54&'5!#"&546 & 8:::/::XQ+87 B5 "?6666^g( &1"&#"32654675##54675#35.=3$25)SV%&%&&%<pjq%"/bt%"//"%P;#n3%3#'7#5>=!3!52756554!"!=4!"#Az&YD"#BO"A4C"R#C6B"F-'k+EF.(7 @(,D >'+Eo.45"35453'7#526=##565b*&$(! )z&X%'It)!"'ts'#(+"'j!'*E-!"#7>=#"&=4&'5!32754&'5!VQ>:HSj::S>RL:: 89H6=kU~66=V=66D5 /32754&'53#"#7>=#"&=4&'5361#&%%c,+&-G+U&% $"0j/"%%48{"/c2<9T/"%d+n)%33'7#5265##52654&'533"N#Az&YB# @A#'=B"F-'k-D@EF+-D:8 +En)%>5##5>5453"33'7#) +, )+Iz&Y#"'+#0+$_)3I'kU,%73UYGzke"$d(&dHB+"$j(W&jIB_&x Ue"(d &d:G%#"&'!654.#"'>32!3262sR{g*N=ahYZhĠ$QWe&ZaJ#9'j*W&j`J%?'j0-f&juP" "&5463232675."co^`qpn@6 2"&546;265'.#"`|}{ A:7? K65ÀbhegKkbT6QaVG"+'jW&jS?'j?_&j7_ 'Z5,B&ZTU9'j5,[&jTUt'i5,&i8U:'j9[&j`Y&9'jF=['j]'74>354&'5!3!"&5'"326 #:dBE%982rT9 06'6"#=N;  Y[mGj.8%26=4!"#"'!"&=4>354&'5!''"326*?2/536-Mbr #:dBE%9769 3:3-!%*NSY[06'6"$6d/KUd{U54Y%1<*=@U= 7*^ C)K[D Av_o+((6Rg7*^2%##"5463232>=4!"26=4!"#"&V;$,6=3/43/536-M\ZR>(:`Y.)' ,>D+2Q-!%*MU?t8:7232>=4&'5!"32654'5#"&'#65##"'546%5&#  0'&<)2>62m6;>>O#6,!*%!/:7*^ C)K[KC EnY5#D"26=4!"#".'&=35!3!52756554!"!=4!B"43/536-EX)/+#BO"A4C"R#C6+EdD+2Q-!%*LP9/F.(7 @(,D >'6%".=##56545"354532654'5>7I>'K")&$(!<)2LZJ1q*E)!"'ts'#(87*^ C 1.#"32654!#"&=46323273_2H.v"5E?T>;-QABľ9p &27ElA*RmI. (f?\ !!*%2654&'5+"&=4632#"./"2==(eSVh[OJ ?IU>(0  Rx}_mG !)$bKXk*%"&5#"#7!#.+26=4!"#_F6.6" 4 >>443/536- )(,>^ "*)60'782Q-!%*<;/.+332654'5#"&'#65#"#7! K<)2>62mK, T  B87*^ C)K[KC A)3||J7 (3"&54626"&54632"&54632"&54632"&54632    S J   s   !  !   "&54632'"&54632'53      u  44c "&54632 [c! "&54623"&5462~ u   [ "&54623"&5462"&5462~ n O    t`<53tȠ44C 53#2#"5463CO ! 44;G<D_j .4632  J. "&5462"&5462"&5462m A R   H G  T 7"&546326 43#3444qI+i%.'67.'>7+ C$*+$  ($   % C%'U'% !,HU64&547.546;237"&4632#"'./2+".'.##67632>G%?& aX3K,1:18 1$32#@ (/( s %3H;%$< "dBGE26(2(=/M*4H#>*&>/:.= V"&547;23!7!4&#s((0G6#C#r10!67=Pll.'(V0"&547".5.5##54?>7>54'54&#" 7;   >vx# ' .B   /,Z)Ye. w )T3!2++'"5465!"&545;$  1&T!' < )(8V73!2+#"'"5465!"54#'"#"54654&546324;*  Z4 V!A .V1M;$2 0 =V d0V%2+"&554&#"#"&5467323261 .!!  3&( M E5#8 7 V3"&543##"&54654&54>7"#"&547     17t  !'.% ! + ?/W/1*6('&V#"&567"&5477!2+#"&5!A-';+ (230-1 Ac -7VB!654&#""546763632!65654&54>7"&54674&#F^/T='$X  ,B%  p ++3+P C( K8$)1*#Y0FB)Fi;7 4g#/J) 40!*9:=Aw"&546732632#4>54&#"v " "# )$6 )%4)43!2+#"'"&5!"546> E*&  V4&&8sZ.,# E6V$"547;2#!7!2654&=4&#eF%1+=$B3=W569'EUJSl,8 1-E.K12!2#"54>='&#%"=7>54&543 # 1.X  L[L  K7*A"G0T IGUq " V#2>;#"!4&#"#!"&467"3!:> +  #~/(%36>UN.>B*(45 WF%!267!754&#""&=4&5467.54677>3(@u_,H)  %.( H >P'  Hjy[u&7B4 b#B]6'"/   /"&@A.T=:4"&547+"54654#"z#$U "9 3,0!#m9C%.J 8/V"&547;2#7354&#"$!' 8%+7$#52 -P nbSl %V3;232>54&#!7&547;2+".=4;&?! +A+!/[S#1^Q "I:[E?uH?&=4$ . !<6+F` XH2>57.54>?#"&547;24&#267>=4&&'&54673&P !  !K  ' %'%4*K P "DH' '$N  K4.'U211  =  3172654&#"#"546726;23254/5+"5/.! :* AK!<#)+>& Pf Mj # C$ G(2V772654&#"#"546726;2!!>=4.+"50," 9* &1r#!"A-<#  ,:) $5(ld,CV7'#B$ 32 4E."##"&54654.5467>7>7.5467 C/ (1(9 #-%(= i 0,&Ey 7 /$]> &,-/ . V>4'!67!4'.54654&+"&54677&546q!)!1(L0:G:4!$ '*V &!,# .%2S ## D,#3  N<M.34/F%4.+".'&547;2#"5467>"4654&=4632(0." ".# *GFOlB4!"   >F$ 2 +;M1 /&#() J&(dJ\p#@$ (%+V(2#"'"&=54&#"+"&5473P&& &-* 3 4$=IZ&6:   L.!0<V]"&546764&#65#"&467&#3>54&&'&5467!4&5.54>?Q   * k" !|*@&% 4 75* :  /  1+32?  +%b 6 ,Y ' -8, V<;2#"5#"&74&#"#!+&54632.547"&54G8 #&G / V  S aE&":$2#C5$*K#h?1%9V$K2+"&554&#"#"&546732326!2+"&54&#"#"&5467323260  +$!  0  ('!   3'1M E7": ((N E:#8  !V$A2+"&554&#"#"&546732326"&546732632#54>54&#"1 -""    "!# *3)*#M E5"9 v%5 *$2'Aw8"&546732632#54>54&#"!"&546732632#54654&#"] " "$ ) " "# ($6 )"2($6 *$/2))2#"5467>GL @ $fFz$-Z2#"5467>32#"5467>GM @GM A $gF{# $fF|#b"'6&>7632 9C  "2"  <@ #" ,-6"&5472+"54&3mE# : 5F8,^E.  IIDFE !*4632"&54654&#"#.'&+"5632C7C5"!'@#.,<622CF.$ & #>. Q;#?F,:33UyI"&#"32>767.54673(1# L+6' D08k8F6 4u<0 $$5Z9( eQ23267#"&#&>54'76 "(/7: 10##06 *$7E({KBBCCBBC'P );Z>?# -2.! "'7'?'74.'7!"&547@CC@CCABBWA777F 3*BBCCBBC7CCB8@N?)R*7K~c)&|)-237#"327#&'&5&546767.#">'7JoXJ6'M5p0.-?>^4l62/<544!?fkLQ#A?&./1@? DyHv 0'}553z4*237#"327#&'&5&546767.#">J pYK6(N6n%/-@>^3s42 !"5 >djKP$A=%,.0?; CwHv !pZ)-237# 327#&'&5&546767.#">7'74iT3#G1i}-*:=X2j1/  2c,++;FK <<%;<- ;9>oGn  ,,+r4.'7+"=7~  5"87 $"O )8hCN`&r '7.'7+"=7/977  4!76 997 $!N (7gBM_&gY76?>54'E 16hSEF$EOH H 1 dcR&-WgY'77>7654'F8;;7 +"R CRm? *! k( $Z$e44$"-E&!  A/@e9FH*-MC1H8@D8%|:>BF254'7#.'#"+.5473267654'732=7'7''7'7l1',&$";0-#& )!j( $!/11"/11$/11Y$c42% !7I,9&?f6DG*,LC.H8>E 6&---:..,---(32##"567>54'77674#"23276@$&%FS8QkA\-?",x:1JTPg@ 8'!""B[0oVNHNT!45GIHix7R(372##"567>54'77674#"23276'7@$&%FS8QkA\-?",x:1JTPg@100 8'!""B[0oVNHNT!45GIHix7RI0008"6547632#!'%4&#"!6V? sg&(=9%&a~SE2 @.QO-'88&'76547632#!'%4&#"!6.//V? sg&(=9%&ad../~SE2 @.QO-'8%&467&'=476;&#"32>73.>>W#A8F5D L b. 7kD#Iioh:C54K*>91*8%Q"CK{HL.A$8,%)467&'=476;&#";673.'7B9W"A7E4E M _.wp#Idng:011><0J*>90)8$Q:BJzHI/A$7A000+$.246;2#%.'672326;2=.73275.''7P;,1V+""21!!U8M(e$U'*122;}0/@^B\/K6LN$"0 $ =1'J223i1B'7'7+&5&5473!367654'&#""5476767'#";27254'&'777f877G_3   `8K_(4!p!) &27777777N/8-v `zaFt&I 3 %1;53+l,  y/+%"'&547;!654/&'&546?mk"*N2Ob }= "4[~W3 t*)$2=,'$eW@C@-(MD yA4 $?0~(A@ 2[-y"'72>5&'7#"'"&547;::C[N&(:*HP8 i777'M; `GNF^/jg\aJ:4#"&'&5467'32654&HG 6@:<$EA*4#?4P'2 & (s &P. dI"46;+5>7654'#&57.#"3232@5 Dj;l5w=-"c*- %/AV UpK F5J7)F42fD3'7'72&#"32632#".547$7&+"546ACCACC!!"]P ?YuRv<S 4h^..c_zBBC"BBC V%vO5#;>"ksbS]8A6. 7>77>71:;1:J wJ ,7>7'7>7.9;.9J >J 6 7>71:J 3kn'#67.546324&#"6 2"]G5  3"  ' @$'I   "2)   ,7>7.9J X4#"'#"&5473326732654'7 !  $ #-   2rK'7Kojj|}zN #".'O- >.xAd42>7#"'#".'7,! ",K3    92<00 & &aE~uB^D$e8.326763232=>32&'#"'#"'65&6.'/,  1 M< '  , 8>&2; 11x-&_ra;2DIj?IS-2632+#"'.'732>32#&#"a%' 5H0 !A.0 7)D #' >kգ_C,4,"  .&7"&54767'7#"'32>7632>54&;(*'h4WP;:<3Ea7  6 $%DIGcb9g Ia<5b0Q 6 + 2O'2>7#"5467.546732#"&#" L9TC[?VCu4$+ /.C'/ $- .L :2~" B!/4'77#&546s2q>aH" A0.[Z-m-/ $ 8)  '67:6C$&ClPWdGaV M4$%&547#"&54>32327.#"3%7.21=/0'*!y" 4" '5-oLx>"'l37"&5463267O'#%. 8'90+N-"&#"32>767.54673   !1e%,$$- " !L$"#:Jrv #%'7%4.'7!"&547'?'7455 B,79G 4*4555557743C' @(U+7O}e*&7749774{- 6%'7'7'7237#"327#&'&5&546767.#">>??>??>?? rZM6'O7r%0-A?a6o63""5p??==??===>!?fkMO#A@&-/2 @=CyIv "gk '7''7'77>7654'k455466455 16h ./C&!K221G220221EOH H +7a@65-Wy[/3+%"'&547;!654/&'&546?'6mk"*N2Ob }= "4[~TW3 t*)$2=,'$eW?C@-'MD yA4 "ksbS]8AZ767&Z && &&% %& q%#"&54>732>?32q#   #'+)'" dS   )%2632##"&54?32>?&54632G % *#51&m"% #  #m"& 0 !  J :% $ ?"54?326765.54?6732>?63226732#"'"&#">. +       3 1  R)8K.)R     !1 "  B ,,%"543>?&54?632>3"'2- C.; #M>O1 l &&  *  &2%2#"&54676?64+"6?>#67&H,$(o:?DL9$ ( P:  "% &,'%+*6&H $EH   8l672"32>?"54632?>?6&&/4?>+       ::\G&)  f)*       $& 6" # 3 I 726?632#"&54654'4>' VA, ."- # (:! (y / +72>;2#"/4>?>54#"#"=4?6*!VEH,   O@I#%9C9 ED  & @2*  %%2#"543632?67&546"3"?654*@K[&/) I3S55 ("%(1=T&!  1$)N4(%%"+&54>?2#"&'4>;26765&&)" <"!*  +   "oQ e }p27&67'&46763#"#"&54>?'&,(K ):  KcK"k0x      7 >   D" @%2674&/&'4?2?6?2#"'".4>32;2?67&'6325*   ! / 5W  7J '!O        9 SJ  /# &4D7#"&/463232>?4/&546?632#"/.'"72>54/#"ފ( !  R#5970! ]   *<    IL   S $%#"54?2>7>7#&576?>32 +mK"+#/ 6#@0`) _  274672327474/47>72"+"&  ="&.K7  7u'2    +   M'"/.=7>75.5>?2376323>32"#"/&'#"76?6;2n%!  , $   h  G K&"F  # *&      ?4  (7'&546?#".'74?2722!36?>32#A<  %  A n%j+   " ?Cgh(7>3#/&'4>7/"hX  +&)6i  ]O0E W:    $, }C72>722#"&'";?632'.54>7&54?26 d +   ? H  t/"h..CP #)   4     )  2#;,  ,u:DP%2#';2?672#"&54>?&/&54676?674#"7>32674#" 6 h!(2L-"vQR@86  " -*$*" (+  "2/+ "8  S!  3747326?6;2#"&54?67"#".'>?2?6765&/&'1 00 !' '!,v   >[.&   1 $@ )5 }r =+"546?'&67'&46763#"#"&54>?'&r!  ,(K ):  KcK"k0"#o      7 >   D" #gH74632#"'32?2672#"/&546?>?3232654/".c   50&6\ :rG :   ! .  4- 6'  %5"  N8C2#"&/"/&54?254&54>7>7"36?45 Zk 9)%!. ,#  +3UBU**  /Q 6  $ %;H)4   _ Qa%4632"&'"&546322"&46#"&/463232>?4/&546?632#"/.'"72>54/#"F !   S ! ( !  R#5970! ]   !@ !!*<    IL   S u %%"&546327#"&54>732>?32P  #   #'+)'"   dS   \V %4632"&#"&54?6;2>?32 ! L"!  #&**'" 5  ^dR  m L2#"&5462674&/&'4?2?6?2#"'".4>32;2?67&'6326*   ! / 5W  7J '!m        9 SJ  /# &T 6"&54632"543>?&54?632>3"'" )2- C.; #M>O1  ! &&  *   b F%"&54632'"&546324632"&'&546?#".'74?2722!36?>32#   O   t  ! A<  %  A n% !K  9 ! w+   " ?C 1%2"&46''&546?#".'74?2722!36?>32#! A<  %  A n%3!7+   " ?C Y+2"&46&'&'46;!>?>?2!.'> ! %$ M+ ; /Y! "'  5 *  ( >N4632"&'#"&/463232>?4/&546?632#"/.'"72>54/#" ! 0( !  R#5970! ]   "  :*<    IL   S F >N"&54632#"&/463232>?4/&546?632#"/.'"72>54/#"/  r( !  R#5970! ]     *<    IL   S  54632#"'2>;2#"/4>?>54#"#"=4?6  !!VEH,   O@I#$ !j9C9 ED  & @2*  M 5"&546322>;2#"/4>?>54#"#"=4?6>   !VEH,   O@I#  !9C9 ED  & @2*  v F4632"&'4632"&4672327474/47>72"+"&> !d !  ="&.K7  7u'U ! !    +   V "/".46322#"543632?67&546"3"?654&   @K[&/) I3S55 ( A"%(1=T&!  1$)N4(r*#&=467>7632  \j #&5&>7632463>7632#&5"yA  # >07P$|F2"54>7>  |('V$5    N #% BY2#"5467>"&547672}++>p cq JHC ' r"F/J -('rR 46;2#"&'4>7&#"+"#'&'M&6\2I 1=; ! $2a) ,pO>>32"&54>?4#""74632/"'4'4>7674/#".O0&0U#HC% -_&$"&G0k6 G% 4 #" 0# ( \ !  iW272#"/&54?2]'  72 %# U2  'EP '#On=0#"546?632;263226;2#"57>72%1r:9 s  ' lb w- |C9$ V  ,9` G UlX9"54?3272?63"32#"&#'.5#"?>?";,+ 0"63 "#`"%"$    *V!q"4632"&5654&#"32?632#"&I.=j Q= 5 E%6E/(=M =*z+% $9qI 4632#"7";2654g8&-l.X#0 >;Q+$9P81:!#'5".5437>54.732877k0[;$]3 /57771C>K:$3$/0$#'5877$777t #'5#'5TSSSTSSSSSSSSbZ367>=#"#"&'!2+"&=##".'432>74&##"&'&'&632656&#".7>32W XB C >> @S;K>2mM4  .4) 2$$!Qp%QV.&Uz U % ?? :&;PJaUJ5'( $  d"!"( o238cc367>=#"#"&'!;+.5#"&=##".'432>74&##"&'&'&632656&#".7>32W XB C >9 >R>d@S;K>2mM4  .4) 2$$!Qp%QV.&Uz U % ?? : :&;PJaUJ5'( $  d"!"( o23PbC463235#"&'!2#"&+"&#"2632#"'./#"'&6323267"#"&KIQ&9@   [E>g Be+,4   -8b6 -.0/ hBa|0%E=<*b1"; -^2 %(W(./fPWV463235#"&'!5.54632.#"32+"&#"2632#"'./#"'&6323267"#"&KIQ&9O X3)#W5/&3/? [E>g Be+,4   -8b6 -.0/ hBa|0%E= _+(56; 4",<*b1"; -^2 %(W(./f|bD4.#"#!"&'!2+#"&'.'476326=4.+"#"&54;26p&9C#=%)#4BL]:  ;*32&5&?654&#"#".'.'43232654'&+"&'&'3CO F ?)%,  $H1I)%,  E91^D83EC$Y : ;)$ +;.ERD 6SIM9#  b_25!"#"&'!32#!7&5>32"&#"32632#"&54632'"&=#&7>7.#"'.7>=c9 = ?ϵ U(T $8 9.+V{W.4Y*"A, A#X"%5=^13?? % Ms"857q+.HP  ; G @ {  @ cbe>35!"#"&'!2#!;2>".54>54&#"#"&54654&#"'"'&546323 dIW <3='0'&7:/ ' 2A'(G,*<=*5Q( AT#*5$'A L7),O!J 7.)R2FYo.:s#c62654'%.=.'!2632+#"&5436=##"&'4&# O47x > 9#>W14/!#:)635;B =5@  c#E/78p"A8~y2+.5#"&=##".'432>74&##"&'&'&632656&#".7>32367>=#"#"&'!.'+"&56;23@N>d@S;K>2mM4  .4) 2$$!Qp%QV.&Uz  XB C >\!9S;>U[6m" b<: :&;PJaUJ5'( $  d"!"( o23  % ?-9;#?7"m9 8+.5#"&=##".'432>74&##"&'&'&632656&#".7>32367>=#"#"&'!.'"&#"&'&324&'./.7632328Q>d@S;K>2mM4  .4) 2$$!Qp%QV.&Uz  XB C >Y&H 8 \A:18vY=: :&;PJaUJ5'( $  d"!"( o23  % ?2A5`L([ =^Y<b7K25#"&'!2#!632'.7654&#".546=#"&54>2654&=4&#&:/&9=Z&C 9,W?,P)<3325!&/&2654&=4#"33 =E <= @Y%6,F89<XVF Nz6I7?>#6+6(c-43246=4&=.'&+.'!2632+.5##"&7  7 ; >+2,d47 )u ;C : jNYc?.56&'&'!2632+.=#"&54327>=+"32632#"Y/+  ; >BXQ}O(if  #5 (  )3D#)=) C =.}96 \   %+c<C463235!"#"&'!2632#!"&#"2632#".'4763267"#"&%#'5cJGS<> XG> [FaoR;nG-A sEhiD`877{1&E?@ +b/;I:TM5+R8?e)777c+8.=#"&547#".63!635!+.'!2632+"326=#?H9 !2&<iw<&% >@ >',ibs%.54635!"#"&'!32#!#"&76?>74.'#"&54>&/&5463:'"#&#"32>76"32>72654&5"&#"3 &n9-U=n > W +\# A     It dc:!  #1EP?6&# Vi U96#*8 ' v9+-*AX$ $;&Ub572654&'.'!5!"&'!2+.=##".'432"+"$3,<%= >](/UbZ `3(A)s>? < dT&9*OU  Z_ib>S463235#"&'!2+"&="##"'./#"'&6323267"#"&26=#"&#"263232KIQ&99= A>C# *,4   -8b6 -.0/ hBa [E>)I$3Z|0%E=? :$ != -^2 %(W(./f *cD2>75!+.'!2632+"&=#"'#"&542654&#"#"&'&76323G,(9> AD0) *{?2A & $a*0 >@ ;"2K!rL + #aI!6A c6'4>35#.'&'!2632#!#"32>7>#".7Z[/ a ? -YU58J!,-  l`=oH*0E#s A #D,"    " 60HOc&9'4>325#".'&'!2632#!#".%4&'"&#32>:tO  1a ?[zZ:nJ-$" r"::W(63s(A p2BY/FQ 6WH$ %6,+c<463235!"#"&'!2632+"&#"2632#".'4763267"#"&cJGS<w > XG> [FaoR;nG-A sEhiD`{1&E?B +b/;I:TM5+R8?eb.94>;5!"#"&'!2+#"&54632#".2>54'#JWBH =N&;ECYJ#8^(X./mQe! ?;'p.> $(C : #7":]3fU>!*&c546;5!"#"&'!2632+.=+"#"&'&4C =x > > $2 3 8   I#2Oo?B <'&S7  r%[c4B4327.54632#326=#"&'!32+.=#".74&#"2326 '943( +]H,Qt;M # ?-O9mD) #%\*C($-rKAR o=@ <u';NE )sbJ463235#"&'!32+#"#"&#"&+"32634632#"#"&/4&"#".XZN':; ?  " XW  51&%4 4 9   :iD(V?/Q:@  .>. ,62'#I+3MXc@7"&547&54632"32632#"327>=#"&'!32+.=Q}2Z3=-. '  )3D#(if ;M # >B}96L<*(@+! % \ @ =.c$46;!5!"#"&'!2632+.=##"& %  =x > >%$b6&?B :("_c#Zb(%"&547.'!32+.='26=+"T'T = ?!k8T  / @ ; O9YLN;b2@.=#"'.547.'!2#!632'.54>54'4&#"'26=+"?$C82>' ?Y$B" 0 (/!7U&; 5*W / @ l {K[w  4 Gh-  3!8Y#{ b"0925!"".'&'!32+.=#"&5463654'&#"327TH   1Z = >4]cMY +%#G &''@(? =DC8JZ=)   %B" c/4&'"&'235#"&'!32+"&=##"&546;u(#<aP ;M # A#_4-?Y$81D@ :&8  ]%c#46;5#"&'!2632+"&=##"&735#4< ; A$_?C :%8]Pc%54&+"&'!2632+.=#"&'&56263>26=## G; ; ?2GU&'8 5Qt-V>,?C <u({Z #0%o=5:>T fb,3267#"&5!32#!.'.U0%8/ > 1"@DA- "R,D$ jN>> 'JH-(L81,F.NAQfb":b@4632327>35!"#"&'!2+.=&=4654#".?&XF#l:W < = 35!#"&'!32#!#"&'##"&54632"32>?4&2>54&#"L R)%8F ? !odI;s8T@M?&I4\7N!(K, L(>#&50#F+#A=?   \\E^FdYF\!,ZA2$>K &/# (*24  !wb#Lb"625!"".'&'!32+.=#"&546"32654.'&TH   1Z = >4]c/<(   C[$@(? =DC8JO 6% A@b&%"&547.'!32+.=532>7T'T = ?!"(" / @ ; X<&j c0>267>7#"#"&'!2632+.=#"'#".26=# - )C <> ?A#Gc -RT WbN3u/%R;@@ :%-5za [& ]0 /bG46;5#".'&'!32+"+"32632&54>7&#"&'.547.m3 1N = 3 '[2 @"%:Tv7Qb-2_U#0%@(@ 9q2"F? 1'E7">,- 7-R54./.54>7;2;2#"&+"#"&'4'432%9 " ~`5BV#4)E  > ("1*"&.o7! =57" -j5*> t@K|c.5"&'!;+}>;0 >&: ?? ~(.5"&'3=4632.#"36+}>;U8H3F* X>/K 3&: ? 7:2) 0 +),3V , |~%.5"&'3.'&#"&54632;2+}>;S 6<2R DaJT/@&: ?({9*'>-bn = MC%'4632#".'&54332654&#"+"&D4jG-HZa& !)7X5:22' ( 'b82*+Y=(55%5 ' +:BX#'4632#".#"32632#"&4).t^D (19M(&21  .&=y #)G`T-@@-&  , qbNC4732#32>#"& )06.C]K0 I   jbD6467&54>32632#"#"32636#"&#"32>72#"& 47@ 'BgY/= *O$((X&=& +Y4Rv 4*% ! &#- #()+c:s".5437>54.7320[;$]3 /51C>K:$3$/0a~#".'"&#"&'2 %0@i> <xVi(:;->qa #"'&'"&#"&'2.'#"&'&56323  =agUB1c/e d:8:N< #" x|s"|~%.5"&'3.'+"&56;2;2+}>;S!9S;>U[6m" @&: ?-9;#?7"m9<|.24&'./.763232+.5"&'3.'"&#"&54\A:18vY=>;P&H ?)`L([ =^Y<: ?2A= / .'"&52 %B*'<>k##'5#"&'&'32>=4&5432>32'&'&54>7654#"#".'&632654.'&#"#"&'&>7654&#"#"&54632{877'N>^;3c#&;@0 IV28c<"#$    49_6+6  $)8P#777^2_sb 9"1*?)6$0C@ # -*(  ,67 /5.?< #!?+  9(* > 3C<4b7KR25#"&'!2#!632'.7654&#".546=#"&54>2654&=4&#&#'5:/&9=Z&C 9,W?,P)<35#"#"&'!2+.546=#"&54>325!#".2654&=4#"3#'5 . C => @Y%6,F8>: FS QZGz6I7< J9!0 1g}/xq [6+6(777c-443246=4&=.'&+.'!2632+.5##"&#'57  7 ; >+2,d87747 )u ;C : jNY~777Ub5<72654&'.'!5!"&'!2+.=##".'432#'5"+"$3,<%= >](/UbZ `8773(A)s>? < dT&9*OU  Z_*777|c<C463235!"#"&'!2632+"&#"2632#".'4763267"#"&#'5cJGS<w > XG> [FaoR;nG-A sEhiD`877{1&E?B +b/;I:TM5+R8?e777Ub.:A4>;5!"#"&'!2+#"&54632#".2>54'#'5#JWBH =N&;ECYJ#8^(X./mQ54'4&#"'26=+"#'5?$C82>' ?Y$B" 0 (/!7U877&; 5*W / @ l {K[w  4 Gh-  3!8Y#{ 777,b25!"#"&'!32#!7&5>32.#"32632#".32>2#".5465.54632&'"&=#&54>?>7.#".'.676>c8 = ?ϵ U( 0%>9 0 , +'B+N0H,  A @ / _!:>  822?? % Ms" #:  ! * )95++)90'; I ? c cb>35!"#"&'!2#!;2>#"'";2676;2#"&5462'&54>54&#"#"&54654&#"'"'&546323 dIW <3='0'&7:/ ' 2H! !9=L$9  %*==*5Q( AT#*5$'A L7),O!J 7.)R2FYo.:2 J;26#"&54654&#"&74&#""&5463232>320*%/0C2< - #5 >.1(&3TT9( P= ! *7"T$Ef2.JR"32632#"&=465'&54654&#"&'4654#"#"&54>3232>322>& " *- 4L 2 )% *0+>/#''2T0"  +\=   &>& U$'*e1:  ga 2.=54l >=aB < a 2.=5432.=54 >= >=a?< B < gk 4>32#"&2>54&#""3+G#3+G&: ' 3A)>I)>@"1+$!( '.!b/>"&54?6'4/.'&54?67.546;22654&+ @  W> V$iM 9z?60 8e-"  ,>   ^C N n5KFb)JK4) "8200;$1$i96#"&'.'&"#"&54632;2>54&'&#"#.54632F, 6d $ O'>D2)'/1U=pXgKj771N+J+ = e+izE@%#".'&#"#"&546323654&+"&76;2>5&+"&54;2z '%?E GD "N<)pBs)4 < m4!M(JeZfQ2S&B +'@ '>*7 MK:a!174>7.542?632#.>54.53#" cF  @*R.63oe%S 5% b: > TP&9q%  GJ `9'467367#"&'&=4323267>7432+".'#"&F.#] > &P   > @..*0b=V(C[-&E@=B}=c9"6AA> kA+8<7HiiL%"&547.54>3:"&#"32632#"32676.543#"&'.'"H%P%>9  , oU  !==49*:('G 1 2 'I3+ `,&5   G0  = S*% #B" Bj0 W;a&94323267"&54632#".'4&"32654&5.'& ; +"--)b$RJ-I|Z.@?B5(?6 #R [; R`? $0?G@7wm %8_wfD*,0 F+4.5!2#!&32632#"&7>7"#"&5476!$$6 ? !r9G[( > :t'Oi&5  u(e <@ $)q%eOfb%7"'#"&'&632;>'&/547>322654'"&#"AB3!K5&4  $I J*Dr*N786e/K54$L6k$'u[@6' .2 4>32#"&2>54&#"21=l21=lt.1 . +:s7+:s76(& ~ ##"&'72>72'#"&54632E# +T B !0 ]8"  #%   /V #2654&#"'&/5'&4>32#"&sG*$9!6jfE;))/=7(,C]7-%-$qT}U+:#0L)'GTN# #/732?674&#"72654&#""&54>32#"&54632z$ !"%6D+#31-?3&53;*'IK'Eo7!5-#*FU,+.P)KK531?f.*2!5!#./.'#"&'32654&##"&54>Ql:z[)YQ(M.&!!-1qXeI22<. M y0"'92! ;4'#&/.##"&'32654&##"&54>32!5!632'4&53#'J2 F$]S)M.&&(1Ti: <:b`2H$ZK y0"!?2! sVeI28KrZ324J23!./3267.#"#"'67./#5!7654&#"'#".54;2327?Q%/8 ?CQ@s<>N5^) ?"/k&!!8s-7%)WL3 2 0+j+,.QDD}'110'4(S" 2  /!4(Z67'&547"&'4>732654&#"#"&=467'#5!654&##"&'4?32?6323%+%3VR8>*() B=:(3 !P %+"u} ~!,R  O* XLf 0" H(6-K->-gSVJ UL>) 7S#' )%/'2 <2)I12>0O23!32?632#".'32>54'#"&=#5!?4&#"#".54633()4#z "(6dS*F0'#/O0&;  V*&f' 7-A+? ,7 5$2(.m6Tg -O>c5.B^K5,& #H.#2 (  !7L O23!36?67#./&'2654'#"&=!5!2?4&+"+"&54732>7Ra $  YqX9SA5W/[ .L02 ;9#  '%q426753#/&''./>7'&##"&546J1:)^6B&)4262tt!A7]841 V1+1R?2'20%<2l/W;F5K+O $!&"6L32654&/.'47#654.'"2#"&5464HV>2?ZQL,KjkKK% #$2=.N>>D',=12$ !) +Y@C2@.  ?#-<*3;'.'&#"#"&547326324'632#"&5465 5* HW* 9( >&&1&  $%.39/.ePJ:+7%' l  5  (/"K,?QP'.#.547326324'632#"&5>732654.5>7?4 '(*4!)CO(:#10N %!1(0;*CHffH!axr &1+ 6- $@+P52/-E'h  M5 +8,G+ W$2!=,3 *!>&984632#"&/32654'#"'4632654&#"#"&F7E',RA];"!&9 #.-?8. $,#M3'CUG5@-)?54.5467 +-c/9<+8"W@4]A;%k.9%"%%;2R({^85&&IhiI"! # ,D0 -491=8G6RykBE.&!$ .6&$$+=YN *F(0B54F.+%675!5!#2#"&54>32654&+'.'*Ij+A!|VBy1#)X0 *vRL.(*s#'22&vU(4'3Jpkb03#&/./32654'"&54632>7ST  7S>S=v9f*%0)&"?H'Z=S2 *04! g9)E '-*4C#L *_ 83#'.'632'>54&#"#.5>32&/&=[[2$B*--((6>:I  "Q>[e^# 2-),7*+,!3N&AL )3RgV*1.*27#"'47#5!#/.+"'767#"&26RfA =]q<B+#*:'5 Nlx/:2245KD0 =>2654##".'32654'"&'5&'7632#"'6*<Qw -XB?e:( '4F4 \-J  &W*3I86'A> 29*CQEb|[&5/#"&5#5!A-1!"7EE.<>QP'3-E' )3)"GBp22. 826=/&'%&/&/32654&#"&=#5!!7|G)*FQJV;bt'@710,?(,?F3Hp2$5 ? ! 1I#T:'h& \P5/ ">'22A %5-d.S47#5!!327#"/&47##"&'"3>36323#.5472654&'#"&~HsN82KT'   ;s 5 %K 'K<8V. eS#H *3F{7J229McrMN z@7.H! #(J&;N),[%2674'#"&4633254&#7#.''.#"#"&47.#632#"54>72>7!*"!% 2a ]*":9$-fM\*.>N .K `U]#1S/*B'&.!*X78I'20:)i1(2oHI.( \8d03p8OG65!?J:23!3267#"&54632.5#5!754#"""&'>73?QL+m /1>vO!5JJD  F2[ /G52$k-#!69BM$;20;3   *_?72>54'#".547>54'#535&/&5473!7>#5.!60 J6*>16$ ĥ34;%FV-7+_J0,N3,393I6&80-E'(2  NHA"30)[$2=#.(#"&/5#5!!>7#".52654R& -$F[ !N8;_5$ 3R4@RRF22D"3r5H0Dby^$8ea;N+"I.!7"'#5!!>7#"&54632)/Y1P!%) /9.IOd22 W2'$//+K2&2.=&53#'4&#"3'4632#".'&54632R G^6O:> %-3+ WA;) d} >285c.3)&'1" #CW<$ -D=.+/2#./264&#"#"&546%!!B/I(F'!&4W95!00H)1_A 1$0HJ$2>-DV/?hU>/ O6M2(Wn3$("6-+<^2 13#&#'232654&##"&54>;25+"`# WTzO@, %#*=2+O'<' N2 :2hV4  %(%8 N.'#5!!767'&54?CnCBq5cLWA#+[m>E22,RApvNNqf@'4$32?53#'./7"&'4632#"'FeN}6! }T T;~.8*10 +H@]T&IB2UO^1( 0 .2!5!#'.'#"&546/]W#*7&#*"4LbA 22LwB- #(+35?#p .&#"23#'&''764&#""&5632'5;4 "%!DM2#G+ " 1?t $ 9 2-e .* i^~ r.94&#"'./7.'&/&'#5!!632#"&546323279, -4N+: )#,5J{,b Od/% C!)x(7*S~    22I+gH7X_H(0! ".%675!5!#'.'@]dwJ֗\ #<`9H2qk."22&9C/L'.$(2767#./32654'#"&546'!!$BnnV[- @8C*8NP>,?&6$8#>:./b2. '24.'&/#5!#'.'#"&54>?U9-6A  #]U,'0-%$+wA9+\ ,:226p,4#$. .'#5!#'.+"'>N3 ;[\*WFD1G/D 9"z~W%22NqT+6.""&546;2675!5!#'.'@]eCb%%tX (A`4Jd1R#$UB!22?K30.725!5!#'.#.'"&54632+"&54>3246H%U?b2-".0#7 %(, ;P(" D&+!%221%.++*1 !(,!O@&9 >*93#'4&#"#"&'#"&'67'&+'32>7'5 CZ2C4&, #   L A2m208!'  K 2.?` 5'/@#&3($''=$u .,&'5".'#5!#&/.#'>?67&#"Y&+%&hK; "Y ; D, %2 0-2_z*"B(22'&bX(  .025#6?6&#"/#5!#'5.'"#"/7270 $K]<',e2  '-.)! )<  ?o229! "!!9K# @ .+&/3674&#""&567654'#5!#6~BLeq7@k~ *- 7''n*/1@0J 0D$.G3!; <%22  1e8 #"&=4632 %] "* ./2&/3674&#""&5467654'#521>0nm7@k~ *- 7'!S*.".9,+>{D/.G3!; &82>23222&'3#'4&+Q   .ZX2@D.93ev824{1->7'&#"3#'#53'& %?(X4 TVeDV r2Z^,t  "L= A8[)+2/2/-'23#'#53.#"2#>754#"&54B_ rr2UUa2fO+; F5 {ET-;xL222cj*/2 $1(dN#a6>54'5.#"765656=3.'#"&54> +#8W$#5)'%8 " d  ':* N-%  RK!#"&54632'&#"367?,:!-E  )";r5)('0rQ./?8 Zc)n  \@:j2QN <%%N_H#.''&/&/?'?tn *'  -2b 6)n *&O5N% ;j" j2QN%:. ;&'467#"&547#5!:*E1%' $ 5"L_eF.>oF*> #1mry2 C 923#"&54>32#.547#53654/.5473;|)MS<8\/,?1= +A$iN-@; A D1 2]=LH#" /.>M6f2 &  ,+* 34&+5732&'3#'&'>7#"&547#5!@D1 . UU0Lg)@3)5"N^fF1-293U724avDCX")1td{2J N4&+576;2&'3#'23&#&54632#".'67#53654./&547@D1!7UU0kiWS ,|& m ("7+1F!  _ #A/* 1-295U3240G2<,Et 14>^Cn2   *,^.3#3#66FN3.2 4 64&#"267>54/&/&'4632#"&'" 65 ###Qg%  } ZG': b/D " ))$,) )  e 4+ ?A^*" dO-.( $N4%.3#'#53654&+"&54732632 hh2RR -k^RcDH 262E+!#;". <4632#"&"'5#5!!>3#".'2>54'%(#0<1 2(1fL1R8,%0L/.4$S5* "":W22  *#g9Yt(>VQX8/NZ>. 6$!D. +4672#"&#"/#5!!3>7#"&54632{  1 A."Z/N $*$2(0#?!kAX>22 V1 'H%. -4632#"&'.+#'67&/&/&'#5!#,0<oF#' !~FC:Z #:'b: 5&"qV"$GQqU=C  #22oI26753#'&/&//&''&/?./>7'&##".'4>J1:)^6B&F-272rr n *'2>wB41  ^+1R?P1"-%<2l :2;N%+'HjK+O )!6Lk%#654#"632#"&54>3265654.'5+654.'"2#"&54632654&/.'47+-@@-" 4    #'7(:;. % #$2=04HV>2?ZQL,KjkKeB!4&$ #@   & !$L)$2@.  ?#->D',=12$ !) +Y@4j#6'#654&#"632#"&54>3265654.'467 )+k!A     "'7=JD #N( #$  ! !$K)! (#* w#8o#64&#"632#"&546326754.'467%#654&#"632#"&54>3265654.'467! +!("!   "%&8(:;.1 )+k!A     "'7=JD-  / $ H  %9L*$+2 #N( #$  ! !$K)! (#* 07 4&#"326%4632#".'&~-6Ij8-!$ /A.0G%.- >}"1!&/265&/.54632K?qC$ 1_G"Ec5 "0?'3?EP5&@*/(I+ $!" 0J%$%#".'32654&'#"&54632 )I.1H@>,M2`*E4'$3J:9s/?3$5Sd{U54.#"&'>7.54>2)7[( A&)+N!5'-+<,>(Z>6f C*33#H^E4U. Q(+ %+9&!* K9+6%R:5= G)/7& /& !F #074>7.'3.327#"&5467-%'/F^-=;&e )(?G112)6u^R+G-;"!K#@'FG 1M+'>j_ (4#.'32>54'"&/"&4632>p_$@(;e=, #0G*)<  @!$>! BFv!$:*Lgy[ *I=@/ !1')!,1*""+#A\!$"36=4/.#&=#"&/46322!N !0Pk28q1T-!!(A  DG"=gt7' 64&#"2657""&'"54632>72>7!#,) k  5)e[: 9& 9 & 9C  #dB   73FZ8.Kj73'654&#"#"&54>32Jj  <~NVs/" 1(! 3FUGDBFC"?&3*-!1 c) <>732>73#"&54322332654&"#"&54632#'#"@-"8bC8! !2TQ3L>  8/%0'0?!1'F-DbVe7Zh6FI2!    ')4J5'9 /'7;#"54#632h &(&%9TG&7N-S()"+"=4#6232?>32;#"=4">#%F   % $&O_OO&6HF&2! K8S# 72>74#"'4>32#"&5|+:?!2 0 /(+< Z34S**H(! =V&9 )(=R733&+"467#"54632- '0!%9 Eb  %-6  / /1"*4e '-'J'4$ %0! u20%#"54674&'#"5474&'#53>733##5(19"< MV(262U8 e##8r2@AJ490g nR#+%:AS,9+ U D?3 9#t#m##aD#0 D#0# #mD#-3#"!##"&'.'#5362654'!!!> Ff 9'$_MQ# ++A>$#'CG:9? .BJTrL-<9Y8+*!3H0t#*m&74632>5!5!##&'#"&7267.#"#_L1~@&@B&3L]E7Zs m#-7*>gA(q.2D.G9r#D*J0;`O-9Cu[=+.pfrK-1w#,!!2#&'#"&54632654&#!5#5!.#"32N,15L FIW>_YAs9@+# N)PSVt@3b7!=D548F.39L!85##"&5#463!5!5!3254'!e_Vl83EbK8hweD-89@v @"*3#!"3!2#"'.547&5463!5!5!4+326%;5#"@2--2&,nh<$- :0*2@h^-1&43)/-%9ݕ+B2+D F./#0/;\9]@!%###5##67#&543235!5!2@@8` #!#:\89.0!3267#'#"&5463232654&#"#"/7&'#5!%RJP 1C<;8 KY.W;70>A%z :z'3>.݋?LEK "J*G <&&0/A%@99$#!"3!#3263#"5"&547.5#5!5! )=9G7J? >`&ݚ0 9k9>2DM9a,5'7>32;5!5!#&# 32>;#". )&;*G'' X-+g;43# q9'[O4* 99U^/#?[,F674635#5!#2#"&2654&""BBli9skktHx{99{xHLba%G)9KL8*F3%.#"3223265#"'5!##"54632654&#"#"54Sj)@qFl09b22D5hHS;=u327&'!5!#.'&#"327#". l>0)6&". 5$+-S;,?EzTuX?TVGO3Z99(aG$f$+#5O|Sd #M)23265!5!##"&'632654&#"#"54l09'O>-!4Qz Su?N<)uLFe>;;;h7K2ML> N3)(8-. %5!32'!5!'#5!##5#"&'654TbP_ 2@-CI'i(,T2299#\*Z4:][%#"&'#546;35!5!#!32>3j?gk 8(4nB4 AYu7,G9910 7327!'#5!##5#"&'64jTbP$$i 2@-CI'T?IFA99#z*Z4: $74675#5!##532654&'3?"&]o l^mM#Ir89sJ"MoDiEg99gChG@F;57o o65;H73273##5#"&'64'#53jTbP$r2@-CI'' V.T?I9#z*Z4:+9ReD$"&54;5!5!#!">274#"326@ulT=\vR\&V'E<%&; Y~v99F:>*4715 "&546;5!5!#326=#BR;0h 2VuA*1 Y2?99?Rpo5,~297467&'#5!##"32654&'.'327#"&!>2AS#Ɔ#RBkO20^K'M""N'K^.Nn ]00`3K8j99j6K5F`9F)&M89N%*E9`< <C72"&467467&'#5!##"32654&'.'327#"&!> AS#Ɔ#RBkO20^K'M""N'K^.Nn ]00`< h3K8j99j6K5F`9F)&M89N%*E9`<##!"3!#3263#".'.546;5!5! F^J92BmH9QD2nݚ9;79"N791.;a9%!32#"&4"546?&'#5!##5# 9% H2@ R ,@'T(B99#;8-!3"546?&'#5!##5#9% H2@ R@'T(B99#;8-7325!5!##"&'&546;#"a\H~}2FV/,D54849l199%=:<6D9Tr7#5nrrr##53|@<99*#54&"3###5354632*@!6!<<@22K12J($%,9#9.1FH1###5354&"#5463232@<s1 SZkx  #"54632&#"+"5432.- X gmD$F>&V@%4".Zd< #&+"'3;2D4_08,<@F=7 "&5465337632#524&"3#]v ==\@  @rF9 I)o$"#4H2 &##"543532SW"H@WM -$'##5#"&'654'#53!535!322"&462@-CI'' V*rrTbP#\*Z4:][+9T]}53T4 Z )%5#"32!5!####"'&546;2"&46(%/+$LZ2@zZ=9B8a( //+99#}f=9L;F "##5##67#&543235!5!2"&462@@8` #!#:\89& /23265!5!##'#"'#'&543232654&#"#"54$K.@ )OIHH2!LD@,(3I6&N1]a W/990W0JI1L: $TZ% 2*)")/9$."&54;5!5!#!">274#"3262"&46@ulT=\vR\&V'E<%&; Y~v99F:>*471554&#"76yJ:Nur'3OLv72F5,d$wbA]x6*R9EC8Q-F:74&#"5632#'#"/"&5432654&#"#"#"54632326XS_k;Bdi$:Td( Euj?I 8r W4L[%7!4#EJQ98++?1F&("?)6%$.2654&'52+"&547&54632654&"LF9-I]P8aC,Bb8P]I.8>QFhFIbID+29QCN2)CAUW?C)2NDP93* ",12+&))72653#5#"&'654'32[@@&YMz"B3&$91`;HMDVFG:@%"&#"3!!"&547.54>7&546323"&#"2#"&#"32632d(.#:K9#5/.;'x\3r8)A& r"BX:0 *7%!#9B7G @'- >-;5;F5&$ $&1) (*( &54632#52>7654&#"r jQUqNn_T M87C "!!LZcO9 /V87FA5  ".5#463!!;uW$P9W|+JvT.2hdX9X9EbW3;%!3#".5#4633&54632&#"iU@Vu.\Q/H7QWkV 3C=5]4[lE9"9\dDN2HIeKM97>e#654&#"#&5462( 2 &@V@>0 & #((# %%26;#"/467&'#5!##&#"5!,! l=h?g9#N ,)03C7 .f~7%.`BW2S*[799*.B 5_D)16323##"&'.'#5!.#"!!>2654'! +l 9'$_MQ# uIGe z$#'+A>i[9? .BJTrL-<92OG:C3H0t8+*!+@IQ[#54#"&#"!##"'.'&'#53>32632".54632#"&=%!3>4'#326%4&"26@9uC+20H 1" RBD=1- `D*#Yi)F*@\;?X`B<"&@ !+6n'55B55B5O(c:X595g)7?I5*j_G19OxN0"s,&6HE9l :Wf);,c%0'('( 4>32#"&''9.D-%.! BU.%5 - &$:f[ %3?M%32654&#"#"&'4>3232654&#"#"&'4>3232654&#"#"&'4>32*0" 6!/]>BS'8/BSk*0" 6!/]>BS'8/BS*0" 6!/]>BS'8/BS':A2+;DTf:$5 M>':A2+;DTf:$5 M':A2+;DTf:$5 M2b:8CS32735# &5463!654'&'#"54>3234>32654'"3:>7!!#(0G' NzL4 ;)}$0*I`L6))*!+-5KlW:&8%# :`&&+;Z^elV%/<%cB#>(*$8!3O\FZ .'0I%8)=  $;%/:^iy5463!654'&'#"54>3234>7632#".5463232>54&#"3273#"=# &32654'"3:>7!' NzL4 ;)}$0*I`L6)2EJ\4`\&SQ5?7UB?VG25"++! XG()*!+-5KlW:&8%# %/<%cB#>(*$8!3O\FZ dD/eZ:"@)(%  %1 .S3?/&&gYel4.'0I%8)=  $;%B9lw254'"7#"546;2#"&'#"5467&54>32273#"54.#"632654.'.'3232654&'&#">Y45A !E1gO%&JN:%&)7"2QP).|/lkK;9$G_ZRV@!>   C>n{LJuJ6,{VS$@(=4HNB8;QA@Me.}EV}aFcBsTQ,@2_Z-/Hk/HxLIY 0F(6P(5}Bt$uZ:3SJQ9%.D@R9";,,$3 _]E'8VG^.nk::A"UWC,Z&N $A>$1ZF,$M94<,X!K7237>'&5&57263>54&'#"547!"#32632#"547!32632M$ (i8#5&G8  !2)G!&5$ "2) IYW 0 'r&(MY+.r&)FW 72654'"7#"54>;2!#!"54>7654&'!745? D1%D+%Dj;' =;/J[!AId.6^<<m#'F(9.QN(( .&,>L73M7"!/=4>KIu(p] T`4#"32674&#"632#".54>3263!+"32>?#"5463#"32>7#"5%4'"326#!"54>764&'#"54>;2(R)23/(#=;*C' %[5G\I(<  %6\9p-K4e &EUK &EH43A %3 A-NWf&6]=9/J[*Y+"H52&&2$BE:KY#0<(8G:(621# +5R 7# 1/RF(9.!("8+?t'J8< .&,=L83N6!!X6C4>3!+"3267#"&5463#"632#".32>54#"-BqE V -"!1 1O, 'd &bJ,E$T7)% VHLcR9v1!6M3<.=S3S#;%bn/@O5558(.r.mW6C%#".54>3!+"#"54>5&67#"63232>54#"_`H-G%-BqEV .>9ON 1O, 'd &7)% VH`p.@P5LbR9*0/J+  2B.=S3S#;758(.r.FZ x4&#"3267#"&54632632!"&#"32>323254.5476#"'#"'&54327>54&#"32>3#"=4&#"632(*+014'!JcBGTmuO)2K+ r3c %6/5H  2%'+ `rk?VY=?ڛ!-8&R?,I %DGP*C' $\5G)'0+!G67632.547372#"&54632326'767.546323: 2"/(3+ "?;R,}fYO3*pBSmF\q+SY#'OG-C7)? 19,JE&6L}hF8`u -UFP!7_s\P1( #*>)75 ,"%b;Ka3Q U6hOTE ;pg6ngP6;j>^.$7-$<6.A  R^MM7632.547372#".54>32#326'767.546322>54L/;43: 2"/(3+}9e^/LCC2 *pBSmF\q+SY#'OG-C7)? 19,JE&6L}a4S. 1: *8 / 7.8]!7_s\P ""3 (01( #*>)75!.g^=%8`=OTE ;pg6ngP6;j>^.$7-$<6.A  RTW'/# 2@2%  ! 35:# hN[x  ,"%22Y'4X =73276=!"%547#"".54;547!"#32#"54?>74&+ThMP;)T .@b8# |8  eQPCBEATa=K2Eo-_+):4W 0 'WM  =4GHC[L7#"547!"#>3232654>7#!"54;>54&#"547#32?2.,G8  D-+3#M+)>)#$5G7) #-%*!fMYW 0 '>4#I0Um >,eA6H ,0&%&+*r&X 073276=!"%547#"!+#".54;547!"+ThMP;)T @b8# |8  =K2Eo-_+0):4W 2 'FZy43232654.#"#".54327>54&#"32>?3#"=4&#"632#"&54>32632!"&#"3267632#"&4&#"326t'$H0-S.8MC5T1! ٛ"EFT>0+ &DGP*C' $\8D]HJQ "4^;uO)2K+ r3c %6//M(@6O(%I3Qf(*+014'!;- (9 Pb1+!1A9,m`Zx ) # 6*R'E'2#BE:H\uP5I;*^\ /C;! 1K%?N|352/OF'0+!G6,Xan%.#"3267#"&5463#"632#".54>3!+"632#"'&'&762>%32>54#"J/"-"!1 1O, 'd &bJ,E$-BqE V ;3 .%ԓr F(8J5{sd^>`7)% VHvQDy1!6M3<.=S3S#;%bn/@O5LcR92&D,ՉdE}UJ%D2Mg^v58(.r.\%#!"&54>73 =))2//5  Xt732>54.#"%#".54>3263263!+"3276#"5463#"#".5467&#"#".5467&#">327"32654'&%"32654.Y /% )!, aO+E%Vp_lWnWjATV &"R I (C)2K#=3NXT"hT,F&>8HI;WE7[5 &"GG8)@n K 7&.> & '- (/.'#ao-?L6Ye11,+- v1(G9lo5A6$=[LD4%Yq->M6J0' !5dB:#;CF]xA@=K3fO8Z5# CX J73276=!"%547#4.+#".54;547!"#32#!"#"5463!2>ThMP;)T E/a@b8# |8  Kd'6@  /Hn;W+=K2Eo-_++6B-):4W 0 'V~=H(-Co=;*DCXG7262#"547!"+>32#!"#"5463!2654&#"#"547#, G8  B-*4$?}V  /Hov3* #-%*A( +/YW 2 '?2"J10WS1(-Co=;Qh8F-X($+*r&_Y Td732654#"".5467&#">32#".5463263!+"3276#"5463#"74.#"326X7&)#V++3K%99>HFo>* [5 &cI-F&ͧUd@S V HR Iu.'4'E4%)D77G(q07VP$19,>N7:#;%`p->M5)(v1(lXn73!2654>7))>=))D )j>,/5   \%265#"#432#!"&54>73&7MRO|lcX=))2Svry/5  #\'%#!"&'#&54>73274>73!2654>7#)>4,;Xh)AB))D )j>,"%Gc KeI   mX/72>32#"547!+"#"54>54>3#"i 4(GBV /=6-7- A AYS, 1/J+  "$71s'`=42325432632+"#"5&546;2654#"#"54#"#".5a$&O-UeC  /Hy_\*2&(QLF!, k(0h42Ki8(-C"- =;sk>;43yvu[.*X<J%#".54>3232=4./632#"=4#">324&#"32>f$99:V%=ds=4D! tW $*G=w7W0 [5 &O+/E7&% ;V,Ws:VN'@G6ǭ$3& aq{,.377(/XIX%262#"5463#"3262#"54#">32#".54>32>3!+"%4#"326Z.,G _!.,Gq] [5*,#998N! 2L^W$v"22sVZ+ /)#B(LYv&(LZZru:!C.;V,BaGFvK6J&$, n5kr" '- G \K%265#".5!"&54>73!432+;2+"#".546232>>5SR-"=)) e+HTV@MOZ"5"/5`?0L+ !6"-L?7J$&2Hv /0/5  rNj6X/' +!2:2!'0# &26G#683z[AM4.#">32#".54>32!2654>7#!"54>4#"326*V91F:/G01U#99-F$/J\Z(;]6$ -(7 ))>@080Y'0 :7)"0KU: %:jD7,KV;V,/@P3BsM8#5HC#8dG- >, )3p;r)'$\F$X z%4#"326">54&+#"'676?!"54>54.#">32#".547632!767.54>32'3254.Y'0 :7)"L'8 O7 - AE6d 0 0D*6,A -, *V91F:/G01U"77.G%?m;]7# V0)'WS!.8)-G'<M>! b; r)'$\F#3)Bd -&)=M0'3"&j):`:KU: %:jD7,KV;V,/@O5eV#5HC#e&*81#uA,F'*3% &< =2#1::  (\J\2#"=4#"#"54.#">32#".54>3263232=4./64&#"32>I8I $-- ,'6V0! [5 &aQ:V%,BqFt65_[@tX%$+/&  /% \le{%M203G.G#-=O3:#;%`pWs;LcR8azǭBI R2> '- (/$V w%4#"3264>54.#">32#".54>323265432632#!"#"5463!2>54#"#"54#"#!"Z'0 :7)#` -, *V91F:/H0 &cJ7P#/UN;]7# U1`%$Q.UeB  /H @W.\*2&(QL-;Aq)'$\Gt):`:KU: %:jD7,#;%]sCaI6ugB#5HC#g'h42Li8)-Co== ?L3>;43yvu+(X+62#"547!+"3262#"5463#"32 ,!GBV# ,!H !j*.YS+`'(*.Y1r&%"#&546763?62#"54.?Y*7i.0.JIM".,G*;6T!74</8.D#:BF-&#LYGl=' t 7254&#"&54632#"&54&"!A-jAYxW6N4;6D*(*;*3V([!Z@1l*8;1( b354'#"&=4'!263!2# 6%  yG_L% +.1( 2c_ 8>'23267654'&#"32+"&=!26;!2#"&545467354'#4 ':nHS-2FTjaG'6$ #R~J.`{l"01"]LUSdtXc!/027Uwn=s{~In% Ev J%2654&#"4.#".54632#"&'&5463232>?2#"5)-!-,&3IYE%JR?)">$*[A 96 4eGb9,MjU< 2#DJF832#"&5467.5462654&#"4#,-!0V 96 |g4Ojc2tY!56F^* c54.#"%#".54>32632#"54>54&#"#".5467&#">324&#"326Y /% )!, iC-G%Vp\hHbBi?)VK.7._-:gT7P#9:HF;WE7[5 &V[%"GG828 '- (/.'#jf->N4Ye.-#5GA!S=+;qBgYq@^I28% !5dB:#;]CFrv'w&zv'".54632X!, > * %$&#/(%$ * YGV%262#"54#">32#".547632>3!+"3262#"563#"'4#"3265.,Es] [5*,#99-F$?mu#22sV ".,G_Z+ /)#B(KYZru:!C.;V,.?O4eWK&$+n5(KXw&kr" '- GK\ 2#"&5462654&#"I?H=;QK;2B;1?65S5CWY@>K7,2;E+((\$ )7"546324632#""3274&3254&#"H#'#c,"!HC.)B,.K%'!(`(", ,%2,,(!H?73254#"32#"5437&5432#".54632#"54732654#"w/+. "H(,%O96P%/-'$? TV9-)&%M *C>0 9=%-A55>'#B "?QG(&Z(.6A%#"&54632#"=32654'53"&54632'654#"'"32654gh1/#"?8<.M< !!"+$!/+hPg6E'$; 3 )5  :*,#%%/(*R 'V,=H%#"&54>54'#".54632>54#"+"'&"#"&54632632%3267&#" Q$5 C/V0 B8  r-!3)_,1$%E [6 "&  #!0;I25!  #%22pS'&-/'QYbk%#"&547##".'#53>74.54327676323223&54632#"'654#"24#"'4&#"#32>)"$-XB(5&SRP7"!  AN@#0El")")5[R95 I4$5  =,.!N$+1$ BM >+8P   8L1 P4#,%((& $ kN&u4D,!(1'LS%3254#"7".#";:;!32?3254&#"&54632#"'#"&54>7&54;2<*)*)W9&-B!;! +#, !X  4$&N:-?,M&B* m!"#4&3$+%B" $#"^.::9@D(5+ *"& BTzQ[d~%#"&47##"'#"&5467&5432632&5432#".#"!&5462#"54654"254&#"'3254&#"254&##"&47#32?1%-%$" ,:.B2-5N= T 9)+G%>& d31+)&X !$,$3 %"(5/H-4E;!I3Ge$&.) 1!#!3)"-' (.05!{B# $"4#*#)-$YB60m2#"&54732654'&54'2#"&54732654&'&542654.5432#"'#"&54>54+"&5463232>7 !)@5.9 '9-0c/D?7,: ,20.:)$'# C0%4 ,#0,5,5 '. #'*3*5 $3"L5BR9.221Ce_ODT9-4/4D4@ )5,? U\"=27:&*!-! $'%!)#-3(6)e532654&'263#"&54654"&#"#"54632>32T&43 o#/W I#  0+ N0# &,P@3I//"A#' #*dm L#1W#0)Wj"(3723254.'&5432#"'#"&546"546254&#"&%I23" 9F+,8 6!-(iC48"&,&^9N(C36032&23254.'&5432#"'#"&546"546254&#"o)) /-0&%I23" 9F+,8 6!-(iC48"C*8*#- w&,&^9N(C36054#"&54>70;0<*& +'< .J-  %%62;251' -&+(26$,1&.(( .%"0(-( 4  [D"&5473.54323232673254'432".3#"&54>541'E  !+2<2<*& +'< .J-  %%62;2( 3@*) , %!1'+(27#,1&.)( .%"0(- ]`&#"32"&'47##32673254'432".3#"&54>54#"&547#53654'"#"&#"4323!2H%;7=D1&,2<2<*& +'< .J-  %%62;251'+0#U? )6 0+$,%-!1'+(27#,1&.)( .%"0(-( 4/' *+%#Te3*%#".543232654.54632#".#"eJ>(;   D8,.AA.6-+H & YGTG\0;-# 4"  ("!0 +Y4:CM2#"'#"547#"&4632654#"&5463232654.546&#"3262654&"jD(/ 32+$)D"+,,{0%&cA3 -*O/10!4V[-/#!2'D :0)/*,#"z;22A,5 ?W1"2#"'&>54.#"#"&54>IX8 &* 6%-R9 6@1dM.c&E( %-I5=Fd/5>*Zv39DM2#".54732654&'&62#"'+"&54323254&'"546"3254&#&54%PH,+ &:+/<'(Pe8( )I ! ! [B*54 3hOME)  /2->:E  nOv5/"I V;K $*P V!Z3E"&5463237332>73254'432#"547#"&54>76541'.)!-4VI!4  .=  O T&11"' 2$&$ ^^"' # .--1#L  O4&!,S902#"'#"&547.5463232>33254.54Nac5 #2"$ X&&=%! 1H!//!9lU><%0 '!,-.1,V3F T91<2#"'#"&547.5463232>33254.54+"54Nab8 #2"$ X&&=# 1H!//!9jU>;%0 '!+"1+U2E G,&Y<P%2#"547#"&54>7654#"&54323254.'&5432#"&'32>73254'44$P*.6- *:(Y#)7C  /"7 L,5   H> x1%.J @7$  . 5I& !-,!#0)"( S/ 832#"'"547#"&54323254&'6323264&'&546 $=34 4 .54'#"&54632>54#"'4#"#"&5463263273533#&#"321  K)-BG.S K; =') =0\&S!^C/H0]B -*  #1'!$ <I7L  $(52rL)"H0(U>G%2654.5432#"'#"&5467.5432#"&5472>32'254#"e$) & $A7A080:>5 $$ V& O--./(4->gH:W>32#".2654&#"74&#"326] @+FTPE#8!2QD3:EDa'.:'VEJ]'/%[9B2@F4/D(\/1:%432#"&'#"&54632#".#"32>23254'#"7254#"7FB?,7 06/kXp  9,GV&!&$IV7<<%'%{=U5?4U2QfLZD!*&%L>4$\/6?J%432#"&'#".54632#".#"3276323254'#"&254#"&54747FC& 6 0%1kXq 9,GV!&A IV7%<%'%_}32#"&546322654#"&#"3"532>32#"&5464&=&546323254&#!.#[, &4)0U")CL mq %'54'*511"+!,O7#"&5473254&5.)' 2^GE]XJ$"/  %6"S@@%M',/DSYCGg *%" !+A) ;!^1'/;74632#"'#"&#.%4&#"32>32326"54672654&#"^aOGT?(3*),1G<*5$D!:)!, nVmjOF<87BS?M <*]$#E+*>#+':  ^1)74632#"'#"&#.%4.#"32>32326^aOGT?(3*),1 7%+5$D";(!lXmlOG<87BT-. =)^$$F+^1'/74632#"'#"&#.%4&#"32>32326"546^aOGT?(3*),1G<*5$D!:)!,nVmjOF<87BS?M <*]$#E+*>#+':`8&2#"/&"#"&543232654&'"54Be60.D<%+%MB8[k7H)@!+?"J !;$B_ X&*2#"'+"&54323254&'"543654&#"/(Qe9) *J!" ! ]C*5&pQx6 0"K!!X54#"&5463232>32E"&# $+/$7;"0+5+6!&.J*1*2""(2.A  i:";2>@:%)!.!#(F)#*#1-X7F2#"&'#"5467#"54>54&#"&5463232>323254'.76)@& ]  'N)2) &+ #'(1(9($8Eu#7*:7u00+ 6O , # ((-.1'Q]174>32#".2654&#"] @+FTPE#8!2QD3:ED.:'VEJ]'/%[9B2@F4/DS-*5%#"&54632#"&54732654&'"5432'4#"326"77H[<1F$ +0,9X%#  +3L%bI9Q@$I#2 :C(4 7&MH2#"&54>2654&#"2H!#@(Ee#@2@B0/CBH*=1 %2)`J $2)D.1A@20B8'2"&42"&4672654&"2654&#"iD11D1S<1D11"" /H//H(+$//H/ LGUh74632632632#".54>7&#"#4.#"#"&547&#".2654'2654+53264&'Lt`F+4Gv.3[`B?QB&8 &1!'N;6T .(B20(J0C"042 i<;RL`Ygz74632632632#"'732654.'#".54>7&#"#4.#"#"&547&#".2654'2654+53264&'Lt`F+4Gv.3[{?ZWkD4$&`|1%QB&8 &1!'N;6T .(B20(J0C"042 i<;RL`9E3"3!!"&5463!2654&#"#54&#"632#"&54632632#%2654&#"!:\2>>2uEPN>'0TH56Y$:0?D2>2uEPN>'0TH56Y$:0?D26@4CTmYD] $:0?D2=IjGi5!# !QjJKACd'II-A1 6hWOc( h<3SA  \z-*I:%,7dLViA28HnMZG^t.KL}1%"/-#'0OK/;FU2#".547&54632#"'32>5#"&5462654.#"%3254&#"2654.#"BPxx?zS2\b;xxQA4@?3?&{9SI&)>4>?A!!#=#y,GE#%HF+gM)^1. ?-`+MgE59I>\A !@/>J84F0$ !%."WT#1W".;90* *0R+5?2#".5467&"#4&#"#"&5463262654'!2654'fUD)< :0`AS1&10: <(BWf]>D'6Ug6H(7gU4qQm.C5:r$.%5H&p:6C.lRqGGuI8nHQl3GF4lQIm7JN>6>2'654&#"33#".5#5654&#"&54632354626=#k2ygT\nS?4(< H:+0@1<\KHb${"-¯mgx1#u5G&>> -O/9F9G.[M]YJ:*0' =7MN@OW%#"/32654&+532654&#"33#"&5#5654&#"&54632354>3226=#'5K< #2)&UE"DA(S?3@PH:+0@1<\KHb${"5GC"?`.", R>Jb?=-6V^g2'654&#"33#".5#5654&#"&546323546!2'654&#"632#"&54626=#%264&"j2zjRZpS?4(< H9+2>0<]JHb${ay1W^J)A% ,=2C?4AN"-q&'@()°lf{1#u7E&>> -O.:G8F.[M]YJ:*0ɄnHAxYp"/>*HQ@9GmTy' =7M-H1.H0NJ1=2#"/32654&+532654.#"632#"&54>2654&#"f]|EPP<# % '/(((!<9,?1BB6;IsT<_9$m.%#0-$-(N R^2#".'332654&#"#546!2#"/32654&+532654.#"632#"&54>2654&#"'O`^N*@ 2'3C:1'4 V~]|EPP<# % '/(((!<9,?1BB6;IsT<_9$m.%#0-$-(N:lx4632632#"&=332654&#"#54&#"#&5465%2#"/32654&+532654.#"632#"&54>2654&#"]FN/6LH681cCQo!+)7O`I:",T1 ) ]|EPP<# % '/(((!<9,?1BB6;IsT<_9$m.%#0-$-(K)08C2#"/32654&+#"'#"&546;4632#4&#"325#32=#"H?C1&!'2ETER'!A:IRU%N?%:E8,+44*f?"bT57I/3'4&fPPV:H1Vk#.=#:PM=I=R? %`UM$02!3!5654&#"632#"&5462654&#"7^VSIebI)A$ ,=2CB6>K !)' *&zdkXGJtPi"/>)HS<:HeS~l.%#0-$'.M+2'>54&#"#"&547326=46N_ =-$3 J6%<ZCUe|42I<%8au_9KC6I2#"/3254.+532654&#"#4&#"632#"&54>3262654&#"zGbBJ_G) 8U--'$.717/ASS,-?1AD9=CQ7Sr+7$)#* + 9(R>I-G"?/"80! $. H1>%4632#"&547&#"!532654&"#&546323&2654&'udbECR@8Jo$Mf_"-(D- +H;AQ2<'1%fe|QL`ZrXFZmWx;">-*3.%=IY=D,TB@F>TTc!1 KLYb2+"32$32#"&547'#"&546;2654&#"#54&#"632#"&5463262654&#"324#"3>+,W;,8!>2,86-#< ?`/8fS9L5'(0R@0=$(&'*5.lS\:!1** ?*.-&t3H,-!Z3&5AC5+57,Vg#0& 9E;$BR56f fLKW"'#"&=4.#"#".5467&#"&546326323265332654.'2654'X*9 k9.RB_:-(lUD)< 9/-M^^!kwb?4.MJX<)"?S2):N 3#D)5We(@D3cMLaLa :2ZzRl.B6;n% nW~?Mj`M]LD,#D4>iM-94K6oIPo #,MR=GQ2'654&#"#"&5467&#"#4&#"632#"&54>3263262654'264&#"Xo{1WkY mSB?P9/"6CSS,->2B>6@N1QR+RE9\7.8P+3Wf6 >&' *iHBv\{ [|RjdS54&+"&54>32&#"36HT%=> D=o6-.5a:J(O7D5i?L) ?5*= G9 ''F4/.G80)"M 2"&5462>54&#"'dyQ1<*bGHa"Ihd{afn!H0Id`G3>+M@#"'#"&=74&#".5463232653327654&'W)8 "/:)S92YHa5!(0 6.*; qK7\G-50S(.5*.G)@D08X1 MLePSG>%M2J74>32632632'654&#"#4&#"#4&#"632#"&2654&#"L$8\:i0/Xj/*SN:A 3)+hK;'3S@2&6SS,-> !*E4>Lw,(*&%HJ8#OMHJ=Df3U6 ARf-$3B),)5G =*:Hj0,#'0-$'.L -72'654&#"#"&5467&#"&5463262654' t5'1VqSnSB@P9/&0H#^!kX:84M*5We2Öf,<=Cpa~]zTheR;n%0G=~?Nl rH8oIPo4EM 2!33546"!54& \uqTps@P#RyciWg3YFιSaM*2#"/32654&+532654&#"&54623K"KOgL%-1;G4+*4==2M]( .% @K;P 7)"'2,)"$/yfO` rL{M.#"'#"'&54>732>5332654.'a&,nQV98PJ9; <*#*0B9(,S2*9M0" 6R0gMM@Dc4F?o54.#"#4.#"632#"&5463262654&#"eTdUIm#? 6%)8S40-;/>=2>Kj\C4$%&'s`HGmQ44-!,$. HR<;IkRuQOn.#%1.H1MC%2#"/32654.5463232654.#"&54>32#"&#"326+8PWDM /  "7 /^AIf }BLo9#3( +'M "2!546!54&#4&#"6!7>.Nk % 9 "BUFI &e $8dA,/6 jm36 4݅{O!/@%2654'7#"'#"&54632632'>54&#"%327.54&#"!WmL%Xn8*7VEK,@T*?@!-7-.>D "2R31D1#&1"x]nBN{n sSoVV*=4M4:)@UTČt]pWG[x]o@Jgp>H=UTc:8L2'654&#".546/]t"4-bXADY0#*.~f3V6)2vK\]M(82 5P/iM2!!3!546"!54&^uSsv@U(Pj/Gl0UC6%N[JM.=G"3!!"&46;2>54춮&#"632#"&54632#'2654&"!:w1<>/ . =$)7QBRl$:/@B78LtAQ7II$4+"$4 !)I6V@#5/$*4L98G98J\Cg} ?+=+B$3 1#$/-H2M&12#"'73254'"&5473&546>54&#"o$9 PK ?4c%F>]xK%#G9+O"==/%#*$, 7\+3F6<mMT6#+=@W?PMDL-)75+KL233!5654&#".546)\{SSvkZBFT+ )7zy\GNcL_bJ'51!AD/dM-72#"&547&#"#"&54>7326=463254&'iPA8Px(*2I[HRb >+'5!/' $:i[?MlÔtVnWG`"_HIOe~_7HC:@,2J!BJCZi:8{(lWK.4>%>73!5654&#"&5463235".54>3273"54SpH8.1A4D`MJc%/9( 6&B2e5' 7G-O.:B4B$5WK[ZJ9)?* #+RT# _%O g*<. w>L8#"&=4&#"#4&#"&5463263232654.'H/>^PGbD-)+S8"3',snOU91TDd<05A 4&FO1_u`MKWK )<5,1J5E_yKI`KU>P_I0?7K22'654&#"!5>54&#"&546323&546a|"6,aZHF\L8@(!7,0=5D\KIa&M~h5V4)2qKa\LH^ E-6=.G!2[FVSE7.EjlM 2#".5332654&#"#546O`^N*@ 2'4B;0'4 R†cb'9/'=jNIa10  EbY2#4&#"#>q=QT1'&2"VYI=-,70'AN*Y!2#4&#"#"&5462654&#BTS4' #,$%1Q*"YI=-3B' $-2'4C#&9,  "7#"&547654'72654.#" #>20A]6rR) " '' 4"2EK4gvN$D Z. !",#",(#"&547654'7'&#"32'3265#"Z>Y2k6[5(- $d%%%E2`rE#@!Xj/U+- !+)"J }$.>54.'&5473#"&54632264&";']Q=8aG5V@5(5(?)'@(# ?3&/[!&4cYf_2AY5>8E223 -B.-"8L(2'654&#"632#"&546264&"9ay1W^J)A% ,=2C?4AN &'@()„nHAxYp"/>*HQ@9GmTym-H1.H0L#,62"&547&#"327&54632#"&5462654'>54&#"4Hb3R6* DQRC+:)&3aGj~ =**2D6'0.%/%mq-(1-&6Bec742*1-L8(HQ2'654&#"632#"&546264&"2'654&#"632#"&546264&"Uay1W^J)A% ,=2C?4AN &'@()vay1W^J)A% ,=2C?4AN &'@()„nHAxYp"/>*HQ@:FmTym-H1.H0nHAxYp"/>*HQ@9GmTym-H1.H0Ph>(BFkw2#!".54632>=4&#!"34632"=332654#"##53%2'654&#"632#"&5462654&#">U$5++5$V= +$W;b=U$5*2Az/$I'#%VV/A4%t.UZB%=" *8/ ;1=G{ #$'0>U=*? ?*O=U6!@SU>*? 4DCxHE(:P)'F,gU?^AZ&1!:(# /9RD\.(#$!P>)EIpx2#!".54632>54&#!"34632"=33254#"##532#".54>32#"&547&#"327&54674'324.#"6}+4$$5*f+5$V=v+5$U>=U$5*:9zSJ %WW&RC2H& 6: BSE3ii .L."(".> >**? ?*O=U ?*>UU>*? @L;{ O($+5":="4J&4+H $,-&l1 )/+' L64632632#"&=332654&#"#54&#"#&=6M_CQ-6LH681cCSm!+)7O`H;0T2 ) QjJKADc(JH,C/ iVMe!'h;4 @, X2654'3#"&5473k$0*Q=;NM.-$  =ID8 )L64632632#"&=332654&#"#54&#"#&=6M_CQ-6LH681cCSm!+)7O`H;0T2 ) QjJKADc(JH,C/ iVMe!'h;4 @, O-8DRs73265#"&54632#".547&54632#"%2654&#"%3254&#"2654&#"72'654&#"#54#"&546326xq|0<2>A1AO6\`65b]7P@1A=3>{%3!$B"" a~d&II,$0?) '%+"2 80('mZWoQR@;NtX0j0E##E0k5WuM D,<"!Mn<IS"&547632632#72654.'#"&5467&#"#4&#"%2>54'%2654'AXEDh[C@fGz@Vo[@U ,&PA/9JE$c*NS1&. 194  9?-1(7gU4 nPjPQPRVNuQ_w;aN0BYwH5=e l-!5H&o;(7-<-$ GI*(&F4lQIm6KIj7>3!#%"32654'3#"&IS>2(24&'2!> X@73546"!54&[v-8& Mtr@T(UuW (7)(F]8M;۲MdM23!5654.#".5464WuSk>*IVm>J}~_e\"Nc65!YJuD(t@kN%23#5654&#"#4&#"&546326@THJ:*'!@%/D[gU@NaiQ"WlLi2;4eKnUj|_HHO#2#"&5".5463532654&#|kRDYBx'T AYi9T0;iV1Âl[~J7gJ:0SzEfS;Qc#NANG2#654.#"3254퀆&#".54632#"&546ElA* C5hGvsIj8)Ib#)d1<);U 1W9N8Wsk5 1)?s;qpD;&1g(lPRO*I;b 4#\s5;+џPC52#"/32>54#"#4#"#4#"&543263261)9 =FiP4.I$?;#[?:C&TH"Y5&EC#0[kGqbr9E[.]'"W~KYD@7;MC$12#"/32654'&#"632#"&5462>54&#"~pP6 /QTnJJeYk4GB[);0Nj( ;"@:ëDtfFGjLCQ<*? vWog(&.(*!+<PC%233#"/326=!654&#"&5461]tTTp*Y ==lQjU?E[k]~FChM";1H7F``FpHEePh*32#"&=#"#4.#"&54632>3534&+322H% 5$-7"+G"! f_ h\IA':4k.<)B1QQ*#CC(aG4' zAPdF)SfhO3r 64>32#"& 1'<h 2#"&546"2654&Hd10FGe`L %.EfJEaGF24cHEd- 4"3JI51F2 #/7#"/4632'"32654&'"&54632'"32654&D* 7(,=i&- ).-?4),@5<$.!)45.H(;9 (")++d6.);:,(:*" +, #( {l9HX2>7#"/27#"'5#"&5463224/"#"&543327&#%4&5747326Nl G7(7'$@&8[ :Y(qP  "D[.' 0lU90=+ G'9 *"( փct&HOQu kUI&,<$"$cs2#".#"37>54&'.'5;23267>54&'&/"32?"&54632#"'&54676323#".546232654&#"@+%   &= K|AXc 4e!.eH/R2LB&h-$5NC9?KD'*QFiG=XE1e!+ &7/*A 0P &56.!9#  !9&'   )T)Hr  3% e5  J98CI@Gb1W{!,=hA" 1*$6 ,% F4B 6'-6.j E^ju4632#"&74&#"2672322#'"'.54>76?>74&'#"2>767'4632#"&74&#"26[+ #/. 0 *aAQ  d"%D0a:IM,B!$8XQr(FQ qbx VG3V#!NL'(2$'#/. 0 * ..# .03d 1\ vX:l!@C5=`;8#5-O (Tb6!+ ;g/&/>1.# .0 ZC%#"'.547>7632326374&/"#"&/4;2#' 32654'71HyJFN oH8Ly ( - -&*-l -8C/yPT aJ`P8/բB PD*  Ki#9 F%Q}*$ ),7;?#3,7? N̐xp< A3 !T@( x8I$"$6 &Q;# : o4&#"3274654&#";2>52>7>32#"'#"&546?232654&'#"&4632#"&4>75.'4&'.#"#"'6;2&$$$+ (*?2+@ 4$''5*  *A(|"?(bp;@#"#'Z?JO%" 2+>=+?igHPr?6?$s2uy&<3u(( ("(: .F:(/D6# !  4MA<"n&~`s$ :($2<6 %21N3U<;IIwI6.;<A&cK4^GX,PF#Yc32654&#";>2+"/3264'&#"2#"/#"'&#"#"'>7674&#"#"&5'4632>yz4=UDE23##,' \HNMo-!4%JY@AH5V. I"H*  6q] % "=#_K9=2.MuV;?kw, Ix<\4* uTS3$G9GuQr%I+yG"^/  32?>732#"''>54'&#">%4>75.'4&'.#"#"'6;2&g%4(+ )%N$A5'MU 1X7j#'+L 8H"Y@K+50 1~Vi5,?6?$s2uy&<3u(( f.*3N;*'=c9N?-pf/K$ ?s+@A'7T'UQC/$+I6.;<A&cK4^GX,PF?\[%+'.'&54632&#";2>5&'&'4>32#"/7;7267654&'&#"672ek -0," ~A@Rh8RE 45(I".AN9q]*8M!  #. ::V!4Jb,,Lf -6D p\7T* 'K  *5U2" v4?$  =l^x" XH !@: Nu"2654&4&#"2>7>'#"32?6732732#"'#"&5467#"&5464>75.'4&'.#"#"'6;2&_*PO ![ -45A73#"&'&54>7+"&5434&#""&54672"'6;2&'4&'.#"#Cd@]PcF&,T/. .JrB*" '(J(9119($s2uy&<:H6%)?6?:&-E"RQ! #`767654632632#"&546?632;4.'"+"&54632+"'#"n@0!4 2+ '   j#:acFi#G+@ F+=|$k0G<6[:@N<"6 4  bX2AT5/ Gg"& #* " "%(9"y::F7*(9 85."'>?>2.IHsE~=P #:(N6'B K" n2654&#2654&'&+46?6?632632#"&54732#"&546?632;&'"+"&54632+"'#"n5!@A<{=0 :D, ))E6B .( *%! A;T#30ݣN<"6 4 ObX2X. 5/ Gg#:ac!, @T,I>\~! !1*0 -""D;v~=P K :(H4B:(9"0a726532654.#"632#"&54632>32672&#"#"72?#".547>37632.'&#"#"&5&#"2#"&5#"'&#'>74&#""&547>772>?-S"A1HQf)!@w( H 1  _D*6 DzbSVO`_ *G A^0NG`&# MD/=9.7^. 2O  3)Fj+;4!YE $:< b+(  6k=m6! ,+<'(F"7>4&#"4632632&"72?#".547>32632.'&#"#"'&"#"'&547632326"&547>772>?IG,/  ; 57mQ;4^BS9/$(o-NG`&# M& A>W<)1 1z $ D/   -1&b+(  6k=o7" ,+<* sRKdZ\{p[e,.!))-? L~="7%* ,(+:!@"!2673#".=74>;&"'6;2'654'4'.#"#1H# /:2wHr *F)E /-$s2uy&<;q&% * :.a/.y]42w6i?B &0)LA&gHJ@/$+ 4YJ]*KV!"&'#"&/467"32>532>=&'#".547./3267&'(+='6WUqw?g1R,0:(6@_ 4H'*= " +R]F  2JH6<I 0DMa*iCX)T1"F/(-Lr!$X?##3(2: *YcQP$/6#2E[>:=d%;72732#"&5#"'&5467#5!4&#"#"&54632'"26%4>75.'4&'.#"#"'6;2&}.=) 86$D:aa:S9:",HF3+L B/Eg( XA:6F?6?$s2uy&<3u(( /qo!!B10CHI_E@-AI'%EQ%." 17>+I6.;<A&cK4^GX,PF*^i"#"&'4672"326?652>=&'#".547./#".'#"&546?#"543!4.73267&'MA#2my4&#"632#"&57#"./.'#"&'>?&54654632%672632#"&5732654&=4./"2654&#"%2327>54.'.54632#'.'4&#"3267&#":D '/ $-1F=,-D6?BZ%?;(3  [aD83C)]p<" 'e-'$D;(*=058%"' &%&$6&23"KOs4L"#!  O<'5&%,A17#8&#$"?7WPjY&> ;'!B1+;$?G?  ,7#47"0&(!1s % F8&5 " /?$'!2 0'+: #$ %!&$JD !R[m4&#"#"&54>32>322+"/3267654&#"2#"&/&''>?64.#"2326& $&+4(* #HA%,9RB .z*!e|& 1")B& & #.+>lCWi*;?0.6 *B+:K=+(*2* >3I .E!+1EU%'/;".547'&'#"&547>32&#"32654&''327.'%9 0 V`.,E9SZ@ag-Q}*$ ),7;?#3,7? N̐xo42"p`!7 x8I$"$6 &Q;#0M_;V&##"/72?#".5476;632.'&#"#"&56?2"&547>772>?Je  eLNG`&# M&:&)b+(  6k=n8G ,+<' <&l="7%* ,( :4[3".54632632#"326732732#"./%4>75.'4&'.#"#"'6;2&0K)e} -^cV@BW"">') (/e!/  5?6?$s2uy&<3u(( ):I4i`B^/0/1 ,Y$&  I6.;<A&cK4^GX,PFWQl2"&'>5'&#"#"/46;>72"'7;>74&#"#";267>54&'1D6' KGRq329." ++!-rF  *zZ0eaF"' N - 7/ I C6)#  (!CD(32B> .R4"&;ODV X99%2#/-:q%91 2X9J*Ka( 0 Ib%)-*'  5*<@Fl#>[4632&'";267#&'."#".'>332654&".547>73272747GU;4C;I=*] S V9;} 3S@_& A>I)7,C1, $U2'C$"G.   )D*]s %,hnD sBILG))0% 0 3$4 - :iJU!"&546?632;4.'"+"&54632+"'#"2654&'&+'46;24&#"?27N<"6 4  bX2AT5/ Gg#:acF@A<{gI '/c݃L&0Zd`, ~=P #:(N6'B:(9"@T,I 2i 4-#~v/D5%'EQ".547./#"&54>724/"#"&/4632&#""232654&''327.'%9 0 V`0eH% > PD*  Ki#9 F%Q}*$ ),7;?#3,7? N̔t#>@*A3 !T@( x8I$"$6 &Q;# : Mt7"32654&'>32+'37>732#"&'.54?32654&#"4632#"&'&%4>75.'4&'.#"#"'6;2&"*%+"2B;c?: d#<] Gb=M$,_ZNw 7'+?<*%.6?6?$s2uy&<3u(( '4)&).@d;&v]:B$# [Th$X* )#-!@#B&?9*);#EsI6.;<A&cK4^GX,PFs^I4632#"'72654&/"#".547#"547!4&#"&54632"32>54_ou&F"#D[`W!Dd%jN|7#"&'4632#"&54>?4&#"326?67#".'&'4>3232654'"'6;2'54'4&'.#"#&! *! "15%5 74={E0(BJ$K Zs# 3?*w;w %,! ;0]BUhG$s2uy&5&) $]B, :ZI+D! *w?i63I6Z5%3"?02NA>)-A&(]J* =;<: 4&#"32623>7>32#".54>74##"#"&54>3232654&'"&54632#"&54654&#"32654&546?2274>75.'4&'.#"#"'6;2&#")09-# ob55!81 ?>dn&W=0 I68U 4L3L)1OdEF[HD02.'"'@%1!!&=?6?$s2uy&<3u(( (0#& -8  <-!  ,<L|R)/ E1* $ &5/&*9O3=Ll#& q8A  !(PI6.;<A&cK4^GX,PF,=aJV46327&#";726?33>?4.+4&54632#"&''"'&4&#"3226,u]&-#-68vhJ! E  e@P@%J/~A=P&$]S8S"87Dm">  j"$kF6h2 ;#:5>O )0"7U72## D>19#7,X0)30ai'B2#'&/&'4>76?>?2324&'#"3267>5 &7a; a8FHiH.?-O (3d 1Vf,0l' +D0bTY2#"&'&547'"'672#'254.#"327>54&'7#'.'.5>7>{04Lx$0&%L[BHa%  U?  $ 5 #1R,&!Oo6ID0MtTRy} &   $[0? JC7f*H0,p= DPF'4$7 4:JuU4'@4<&*:1Q4672#"3 73#".=>76374&#""&"'6;2&546/4&'.#"#a9119(G2W_832.#".54>#5 *,%/  !2[;Wb ,$ /S5W'%b_J1*B@/5< >r^&+/7rG08 &($ -48(<56*   (,=1#8@1 )7. Vm   54&#"3263232%""&547>32#"2;>54'#"&546;7&+"'4632#".54634t<#1**!iG/d )F@H.װ !T+iO?O.obj`""#!&D#[9 ME !2 9(L,$$!1!!9PbD@ \)|5{^ZmW/BhQb32654&+"'46322#"&/#"&5467#&547!4#""&547>32#";265%654&#"3263232"F0QaN=T+iOAR @{bEOTAcz&1I =e]93Gh,V%Q8CI3G/32&+"#"&54632&+32654&&546?2"/632>74.#"6$"#2[o~C.Q  X/c(  . `M ;y%)Nl^y67C! *# +Z8*,&4&Hei @0P o$' !8c tDQ5&+ _ y$h3  <&?zV0fVh%#"'&546?632/"32>54'4#'".'54'32654.76"#"&'76324 !8Db%+kjuW`cr !0& -Ke 2\; r0LbP7z   0/  $ 95P({R94632>32+'#"'526754&##4&#"327"&(j=`D`w%g)6+Vn b74&'eO,:0">YJ?(,${6BN+NO ]YUu ,\=v +L.<\,!*".'54654&#"'&5463232632'3254#" #(5&[ !)/ B W7 (+%.687P]+"'4632#".'53267654'4&i# L6 +6-  ,L#4 1*#0 =33M@)>*6!)% 52<'?S~&543767!37#.54?67# 29T \(ci)W&/{ ~X;J* s]HE490#"&'.5467#57+*.'4?732?6| B?)9332}$!& 8g5&6#![2RQ)' 6):#76W8 &.#$XE#/.$.B % "+N' (2;7!"&463/";26bg"/?J7 (9M&7HQhA % -&1/=#"#"&54632&#"326327.(?]_2( "H@.9; c' 5G;$: #)3I B , oZ#474>32674&#"'>32'&#".763267& &7-/HI:#B W/9O%!),9*/!0:'75P':G_$$.7[W/SD%' N+#*#"Rs!!in5A#.54632#"&'&547632'&#"32654&'&#'"32654&"/ J,B3)qSRfW}# $#3;)$2<[(6@7=N*$M>fgP3A^`  RTjUkWG>?X?1 /5*/E'!19BMbb<   #%5>aE O*aZV;e<)F  U,305z7gUmTF@  **0  :LF;-7%#!5354>54&#""&546;2326534&"26&9'%"#&4&F1BHGZ$$R"0&<% %)0 "00"5GL/ 02 (x((((F:8B4>3263232653#!5354>54&#"#4&#""74&"26F& ($.@KZ&7!'!#&4B$$D4 *)F3 02 ("0.H#/#  !)0 "0R((((F7'134.54632#4&#"4>32#"'4&"26 {]d}ZKDHV 0"*#(P$$Hn7S0Wp}k2cW@3,33 !.C((((F 73=4632632#4&#"#4&#"54>32#"'#4.%4&"26FQ<:#C;AZ$%,<  0!)#(U"$$nYp66gU?1')Y.2+03 !.Fl7T((((FC:@JT4>326323#.'#"&546754>54&#"#4&#""74&"2632=F& ($.>-bZZ '>'P848/!'!#&4B$$ "# D4 *)F3 02 =:"4@+ rXL+,C .H#/#  !)0 "0R((((45YF74632#7#"74&"26&./:UB$$D260/tAR((((F7",2#54&'+"&5463254.#"'>4&"26 ^Z+*$&,%F:,+oBrU$$7hTe.  30"%0G0,@ ^>H((((Fl7+1;2#"=#5#"&4632>754&#"'>254'%4&"26$a/848P'>' U&&./:c,PFvEz&FF$$7gU C,+LXr +@4"0D2609<zEU_ :L4LY((((F\+5@%#!5354>54&#""&546;26=3%4&"2654'326&7!'!'%"#&4&F1;E&Z13d$$&GIR"0.H#/)0 "00"5G;*`C> ((((c!W0(F\7EO4>326326=3#!5354>54&#"#4&#""54'3264&"26F& ($-9'Z13d&7!'!#&4H&K$$D4 *)<(cC> "0.H#/#  !)0 "0a)0 (((((F7:@J23#4.'#"&546754&#"632#"&=467.'>2=4&"26aK.ZY 2"P848/PFf?*I&&./:,305zFFY$$7gU/;;, rXL+,C |EUB 0D260*0  :L945Yr((((F72JT^232653+4&#"632#"&=467.'>2654'3#"&54632#"'74&"26%4&"26aRZ&V;f?*I  &&./:,305zX(1JRT>I.+&&$$$$7gU("0mTFB  0D260*0  :LVH e{Q2'60D0"r((((((((F 27@JV2#&'#"&546326534&#"#"&5463254>7.'>4&"26&#"326QaZ&5 E'6FA<87-V;f?_(  ?2'#&'% z_$$43$-:$77gUD+&,2! 7-6TFB@ 3D5"0+  :L((((#(F 27GQ]2#'#4'#"&546326=374&#"#"&5463254>7.'>4&"26&#"326QaP7.( 8,951,/'-V;f?_(  ?2'#&'% z_$$**$/+7gU80#(2! 7#!,% eeTFB@ 3D5"0+  :L((((#(F3-R\fp22673#"&#"632#4'"&5463254#">4632#'#&'"&54632775#"4&"264&"26&#"32 k  ,bL>5_JZG &4&-$45<,aB%,*-?3)%+#%( .2*$$l$$ .1 -!BPL4"00"'/0 eMkD251BB6$$( ! JEz((((((((F}<@J%632#4&#"#4>54&#"#4&#""&4>32632'4&"26CMP@%8W)(#"Z##&4&& ($-2>$$|8"(e w~.H#/"!)0 "00D4 *)D5/\0((((F7FPV2#.546326323#4.'#"&546754&#"#&#">7.5464&"262= '!&/&\%%V/@"C:<K.ZY 2"P848/$;+11 '%#E$$+FF9I@^.L{g5hl66dT/;;, rXL+,C @0'BPA+NV1 /"4S((((45YF47;AK2673#"=#4&#"632#"&=467.'>254'4&"26a.KU/848P"2 YV;f?*I  &&./:,305zFF>$$7gU/C C,+LXr ,;;mTFB  0D260*0  :L4LY'((((F7(23.54632#4&#"67.546324&"26|[d}ZMB8[1 + %#) (&/&O$$?k32632#4&#"#&#"7.5464&"26 (&/&\%%.)@"C;AZ$;+11 8%#E$$1!PFc.L{g56W/66gU?1'BPA+NVc/"4S((((F7(22#4&#"632#"&=467.'>4&"26aZV;f?*I  &&./:,305z1$$7gUmTFB  0D260*0  :L((((F<<)%632#4&#"##"&4632'4&"26MP@%8W))"!U&&./:U$$|8"(et0D260((((F3",22673#"&#"632#!53>54&+326 k  ,bL:8To&&a8<P.1 -!BHS"0iMk$71(Fk7!+54632>73#"&=##"254.'4&"26F&./:],Z/848&/&;' T" $$D260:<C C,+L-+r +@4"4Y5((((F!7"463232653#!53#"74&"26F&./:Z&7B$$D260G("0R((((F!""463232653#!53#"74&"26F&./:Z&7B$$D260G(0"0R((((F72#"'3#'#464&"26.&&ZZ]:k$$73!"006T((((F#2#"'3#'#464&"26.&&ZZ]:k$$73!"006T((((FY746323# ##"74&"26F&./:~~Zest_B$$D260PR((((FY#46323# ##"74&"26F&./:~~Zest_B$$D260PR((((F27,62#4&#"#"&5463254>7.'>4&"26QaZV;f?_(  :/.&&'% z_$$7gUmTFB@ 063!"0+  :L((((F 8 *446323#.'#"&54675#"74&"2632=F&./:-aZY '>'P848/B$$E"# D260<:"4@+ rXL+,C R((((45YF9,62653"&=4675.=4632#"'74&"26!(! "!?Z>Zrr?%:0;0/&&Q$$$  8;0*;;*<4II43=?  :"(;>3D0@((((F3)322673#"&#"632#"&5463254#">4&"26 k  ,bK:8hB:/.&&=*a$$.1 -!B LN063!"0fMk((((F7(22#4&#"632#"&=467.'>4&"26aZV;f?*I  &&./:,305z1$$7gU_TFB  0D260*0  :L((((F7*42#5.'#"632#"&=463254.#"'>4&"26 ^Z D24!&&./:PHb1,+oBr8$$7hT1HC?A0D260IXS8,@ ^>H((((F 27,62#4&#"#"&5463254>7.'>4&"26QaZV;f?_(  :/.&&'% z_$$7gU`TFB@ 063!"0+  :L((((F7&4.#"'>32#"&=46324&"26-+oBr:\:/.&'$$m,A^>HbW063!!.C((((FV!3=34.54632673#4'#"'267&#"4>4&"26 {]Y?[)Z!*()1 ]HV 0W$$Hn7S0Wp6#2N84E25)!.!_W@3,3S((((Fw72<F4632326=#.54632#"'3273673#!53#"4&"26'4&"26F&./: ?H.+&&)Z6T&74$$$$D260G(Q2'40D0!C3KuC"0.((((((((F U08B$#"&=463267.#"'>32673#5.'#"6327=4'4&"26#&./:PH", E'oBr:Z>[&Z D24!!m$$mD260IX ! *^>H/2I6&O1HC?A "! ((((F=>%/9%>7&5462#4&#"##"&463274&"26%4&"26(3&.@. X!,F2[&&./:$$$$_. &%55%. ),)0D260((((((((F &0:46326=3# ##"&4632#"&57";54&4&"26'.*9&@7-est_&&./:~~+6?# $$"2.)+=0SP0D260 1%>#4#C%((((F7&02"&=4632#"'26=4.#"'>4&"26 ^rr:/.&&?Z>,+oBr7$$7hT4II4063!"0|*;;*,@ ^>H((((Fd,6@4632653"&=4632#"'26=4'#"7"327&4&"26FzLDB;22rr:/.&&?Z>WVL3"D7).$$Y&'+A-2I4II4063!"0g*;;*;&*g "#((((F<(2".=4632#"'3274>32#4&#"'4&"26#3 .+&&= #-W  -$$],# (60D0M ##5%:'#+ ((((F6+5?#"&54632#"'3267#"&54632#"'32674&"264&"26xX>I.+&&,0FJxX>I.+&&,0F$$$$6_Q2'60D0!]f_Q2'60D0!]f((((((((g|\#"&54632#"'32674&"26xX>I.+&&,0F$$\_Q2'60D0!]fR((((By7 !#4&#"'632yZ$,=<Xd/L33X GVy"&462#4&#"'6324&"2M-@--@YZ$,=<Xd/L$$D//D/33X GV &&I[4"#"54632&.#"326320_D2J%sXN>(4v%S!-?* O 7S%&[[o"#"5463253&.#"326320_D6,?sXN>(4v%SP/IO 7S%&I[n+"#"5463254632&64&"2.#"326320_D"!"$/sI N>(4v%S""'3b O~7S%&[[o "#"54675353&.#"326321\C>?w\N>(4v$S;B P/IO 7S%& 4632#5#"74&"26%,*-@B$$D251vR(((($463226=3+"&=#"74&"26%,*-@!N!B$$D251rѸ 22 +R((((VL "&5462;%&$ .!~!"uQ"*29@%+#5!5>54&'5!53'4'>"#"4'&'6&#Q1^? B>"">B+v$' e*#6)"77  1#o 0Xd F7 $#"&536324&"26&./:U$$lD260SR((((F7 #-$#"&53632#"&536324&"26'4&"26&./:U&./:U $$$$lD260S0D260SR((((((((P%*42632#"&54#"463232673#"&#"64&"26>hB&&./:=*s@%(   ,^Z:2$$LN0D260fJn  -!B ((((P(2<$#"&54&#"&546;2#"&546326324&"264&"26P&./:=%$2%&$!+JY>?[$$$$lD260-BA.#!20"#/Y5>YY> ((((((((P!+>32632#"&54&#"&54324&"26D,%9&&./:`$$j[R9$0D260=(!?[::((((7 #4&#"'632Z$,=<Xd/L33X GVV <2<4632>32#7>54&#"#.#"632#".4&"26V>/%' 22 3W3 ('0$&&( y$$9?OO?9 )0B#&0D0DC5((((]|5?4>3232657632327.54632#".#".%4&"26] C0=,.6PSE 2 %$% <0   :@$$**'41&'!-? ,!$/(%1CN$((((Z#"&'\a]]%232>73#"'567#"&44&"26*%&;7aABS]$6* C/%B:"#'6  #]0:4>3263232>73#"'5654&#"#4&#""&74&"26#%%   %';hc8 *T#0"!** C/Nu >!&''   : ##5#53533Y7-::-7;;*::z 4632326?"#"&74&"265>  !&-9&!"'o'< )& -'+  |"&4624&"2Y-@--@ $$D//D/d&&}#4>32&#"&"327#"&4632& %9& ($ 1"11"2{   ? &-!07N74G}6$4&"26"&4624&"2"&462AZAAZꦦꉔҔ%SvSSvZAAZAꦦ|ҔҔ8vSSvS<"&4624&"263SzSSzS"|||NkkNMll<,62#"&54632'654.#"3267#"&=464&"26$-V.Cc]\M<G#+ 7Y1%&  &*>$$9*6tLX|X95z/L* pIOj/(0!!2S((((*=G%"&54632>32#".=4'7326=4&#"#.#"63274&"26 '6F6/ .=eIY?;D.VVaI' + &" $$z^154&#"#.#"327.546274&"26*6-gD< 'O.[IE'$/*  -1*# &4&R:$$ -K.Y{UTi[?uFIR$4  p;1J% -"00"8?w((((=v3=74>=73263&5432#"'&#"#"&%4&"26=<`tt`<9ci{&$bOE B\&& HL'f#(Rd$$?[3(%-P7GQ74>7&5462>=7#3263&5432#"'&#"#"&4&"64&"26<%C/R(2F2DX;UFgMBbOE B\&& HL'f#(Sei 1B$$$<&' .#22#XA :W+ -'E(2H&Rh0D0#$ %$\w$((((-774632#"'3264&#"'654&'7632#".74&"26<2!&&2C6DD6!O,F/LX:=TvvT-H) }$$*32 "0Gjj#%.Dz M(||(1$((((<NX'>54&#"#.#"327.5462#".54632632>54'.'4&"26;`<. :}U'$/*  -1*# &4&R/*6-gD< 'O.[&$BC ec.$$*3D:C%OauFIR$4  p;1J% -"00"8? -K.Y{UTi[+l$U33um((((<g?I27#"&#"&5432;27#"&4632#".#".5>324&"26r 3"&''<@6C&&$5) ([H$2H"mO!X$$V";/\V5%>9'.'0D086#4 .-%/@7Uh,((((<==G2657#"&#"#.5.#"&5462#".546326324&"26 ! :"y4P&!-1G&4&9,*D' gD< 56$$c#6$CB(3]#)4G16:)p;M]%"00"./"132#'54&#"#".=4632#"'74&"26cV%#1V  7#3 .+&& $$7mΘ7%56%-,:'#+ ,# (60D0_(((($>(/7?GPW`gp67&546267&546267&546267&546327&54267&5476;#""&547'"547.'"&547&'"&547&'"&547.'"&547.'"&547&'#".54>32#"&54632#"'32>54.#"32>7&5463246'4#"64'32'4#"6654/'"6544'32'4#"6654'54#"64'24+"64'24'32Y& -% &   .      (   "&&#2& "&m5D7&,CD":;"/)-?0 "*)''26?=(1MH!:bD.,&$7  S  \ v    !   ,MF?,01$; $!L'.  +( 1? $  "("  0(  $ #" $""  ,;<"+  11 : ,4  -6)j34LB*?mEJu@!(T<9T(09*= 8!.&J23I%=lDNt:9`jZ6,fQA1 3 *"7Nyc=Sz(J/ThM1a?;G3d32632#"&'&/.#"54&#"26BIwGrP>!"G28;1AD`E_*[((P]=$`%MH1 #B/3#1g'*11255DB.. 33! i8D(!H3] <% N *%"&54>332654&#"#"&54632Xl 4$ 9*(<3#$4?"_QZko ]N"*"&&""'%$/)/BO[gUmM ?%"&54>3326=4&+5326=4&#"#"&54632Vk:) 9(';11$5"#2(]L`! \ aI20  '%"t *%#1 '!BPj$*e/<M ,92#"&=4>=4&#"3"5463254&#"32 6'7>*VkNs2GF2),+aHI`0;&A9'a)'(=(a>#%#%$%M "0%#654&'"#"&546326324&#"326FG12$:lUSmgZFLB8!3&>"&;=#':Xj,4!*3)Pnh\*Nf11"C-l1*!#.)M (732#".54>32+7>54&#" )9)R84M(8-%7ET)387"#9<+ *&"M-2#".54>3326=4&+5;2=4a#>mR6R):*8$"B00 &9%b 9&@Z)<320(31x!(N MR%.'&#"#572.54326326327>=4&#"#54&#"#54&#"M@1P'f%@U| =F3.9/<3<00;F2 ( ,H,)S''+>&JD+ #9'& +-H,//00=< x3#%``/%#``1/Z3% BD!MM #1%#"&463254.#"#"&546354&#"326%T9MrqP6* *%8'wGPp`02&87+&87F0qr "6) ((9^oPG6*'99L %3#"&'"632#".5432324&#"3265 ,+a 0/*:= %S=%<+ C2E5,)6<%(6/ "O<(>C%&M4R"&#%'!1)M -%#654&##54&#"6#.54632632N?17!$0I;%&;&4@pQX-4P5:(Tm&8-$$1*!M3 wG2Bn$$)H+M ;%#".54632326=4&+532=4.'&5467)P<:A-%;%*8110 =$'W*<+`*@8!@()() +$< (  7 $M *2673#"54633265+5326=*N0(=';=8$50'':S? J6+)!&O/x )4 G5- L =%#6=4&#"#54&"#"&'&546?67>32632BP25!$1I:L:('$1 Ix-. *J4X9 Q:V)+W4H"Zd0.-#%!',">#%Tw.b'!?100$/&&&?< $#".55763232654.543,8)1U";(!RbV-5"'J1 5!%/')!6fD 0BO%#"&54672>=4./326=4632#"&547.54632'54&#"3260$5V4pc,%]4@9+&0 -"+AO)&=,j#sX0>B2!^l%l1B8$0*/  6*P './1d#,k1/1#M 092#"&546732654&#"#54&#"#"&5432#"'26326CRSn9@ ;%':.Ha%g&PBVS(Nz)%#%$I``) I+ LG @;I#"&546326=4&+532=4&#"#"54>3263254&#"326@bb'T;Ul@:9N;010$  $O7B%<$$BLG"  tV_ ;?%[K%S"&&"0H%, &7F$$=!L 1%#"&546332654&#"2#"&54632557673'Q8Rm=:%'.33% 8"g@3.010*.9>?TR%&6 M C%.'ȳ.=4632>32#6=4&"#54&#"BJvFrP>, cAI/5OTFL1+:,U+  %6%27T.# 'A/1!:!h9E1Bc3I-""ll# T)0#dM+%#".4>3265#"&54>3326=3Ͻ7S):* 9N9/GO\ 3% 4'-8aͿ);3&20  "&&"7X1.208M -;%#"&5463254&#"#54#""&463263254&#"326)O7WjlU4-,H*+NN=",#"BR`>#&;8- =$>8 ZfWj"II085X4?FB/+ !'&M !-%#>=4&#"#46326324&#"2>eC 1:VaSV>S"S,A(( 3..726=4&+532654.5472t#*#T(/X?6( CjB$$$!; %1 :!$>&4PB#.9J21+p8WV9w2..'6 L %%#".5463254&'&3254&#"326qQ*8/!qO2/7*Hxa7,&77*'8Ns )H,Nr'8sO+66*(99M --6#>=4&#"#54&#"632+463263254'"2-  "I 078 :7!aIH;$$7*6%U-.L` 1yyI$G1qfBB$$*a`E M 7B4632'4#"#"&#.'326327672#"/#5#".5&#"32MS7, ' !*0-"1.TV .`&66%7.G<& &! ,*: lR :7 k )%#"&557632637354.#"326pPOq0\*7/00` *%:+&8NpqP ah'ܒ "9' #9M{/+%"'#74/#'763273&"7/0(xr6 0%~7 7.T`##s*#0r VG@*W'$$ +  N M37632#"&5463232>=4&+532654&+532654&#"5467 '0'. U/2)R8Om$% a HH%HH'5R& 6><65 CH.H x,$(%$7K DM#"&5463232=4.+532654&+532654&5467>54#"g % %)''N)%&T;WeG8*0F3gZ !!!: 3(' "$5:M03MOEQp;1<= $&($ OdGK0IR 3$4%#"'#"5432327&54632326'4&">3-HD26,/#;&}\CE[W/<+q,8,!SIG+  GVh*OG2*a20j'/M.2+>54&/4?"#".547232>iD1Noo$@\<%Q9 A9.#5,L+ %:C3];# (BR%#F '5" &M E2#"5463;2>=4+532>=4.54632".'"%2A '?(@9;&** +5+A("D %2;2.43 U&!I+j  #&+/*-! 8M !,5##"&5463<.&"546323#3'54&#"'"32IJU@YWYCEWIII"6CD4<=5OICY; DJCA`x ($$`&"Ǩ.`H! (#".5432326=4'&54>7.4.[i32654&#"2636"VP$-"+ ! +'K "6%>zέ<*! J60$-+HH/ <)3G6"<"!  )/A(`d: <#f!/0؄ <% !-#".=>7;>54&+#"&54632;R'8) :&&87$.*^JO42/1"%&!4#$/*AO!>#"&'54>7";>=4&+532>=4&'#"#"&54632gWVk 2#D$:112$ 1%'YO^cb+9RRmYP!)))(s"&#$0"&AOIGn :-! 0A%#"&=47>=4'#""'5463254&#"32>[fUlq9)D,$bG58$80'6(`:%&<@ :VKEaR2, m8"I  lF= 7$(*5!&% #% ! (77432>732#>=4&'#"#"%5.'#"26!#3 -/!/` GI ,%/ 0) .'&7=F?׸ 67#4Vh & %.%G`a#&.0! )2#7>=4&##".546)9/!;)?#$;$3 o)J/9*&)0*/-D6Zl!,#"&'&5467326=4&+532=4&'52lQ?i@8 9&(90;%4*c[a(9SZe.&"+2Iz!%#$1x!%HGQ2=Q.'.'5632.5432>326732#2>=4&'#"#54&#"#54&'#"Dzgy-;+.=> @/<FI &"CH,S )/.U<6D_*$ 7S6/5[ x,H``/ !``100b# 2G`! &6%#"&5463254&'#"#"&'54673254&'#"326oQMrqP6*7)0 (mQPl`5+&86*&8NqqOPq&8/ # @LkS-36*'89! (7227#"&'"6732+".546354&#"3260S:?"#i%:06(d_ ("(OI5,)64+)5 :/ )E,nV'?'RDK"&#%"%$! 87"&54747632>3#6=4&'#"#54&+6321<2a$A$QY`100$ 1I=#'7" fVI[$Q> Nq00*%$/$$! ;#"&'54732326=4&+532=4.54 I>$6. B,.4&O-T  )(!+$<$)!.73265#+5326=326=3#"&546;%$< 0, S< `.b/%M5]`: 0y '- G( M##='h@#R! =26=4&'#"#54&#"32+.=46?677>3267IU F.35" 1I=#&:<*9]bE}!XIDNI(])!hMa)\L?,$$/+#(3:-Rg(<C[N06+%&$! +%#".55763232654&'5463(J0+9)1U !;(!TI:2#'J2 5!%0&~0(9+>*!FT#"&54632>=4.'32=4;#"&547.=4732'54&"3267`;t{M: ?8$7%* M18NkaBqW(!#OJ1^j %5f7%$6  /$!55*P (%ZW K o00@2632#".54673254&#"#54&#"#"&54632#"'32>')2@H&K3>>(>:<([G X!   )-PB)9&#A)4FEy"$G%#,__*E  $$!M[%##"&'54>3326=4&'&5463>=4&'#"#"&54673263254&'#"326   alRLs/ 9&(92. DER@?W<#BGM16 % &D^Ve_G " !%#$ # H@NLDFG$(C04!!525572>73#"&'54>332654'"#"5467.E01 0TmgU 7' D &0T6 0HR<$e[Z@ "-$&x'%#3$# -f,E!S=J%74&#"&'&'563.=46;6732#"&754&"326+ 0C/! 6%LV :'"\F#,"/C>_37$>`+8,*)A" S* (/D)q/X9"f7F/DA/@ D""!*#"&'546;265#"&5463326=3_^Ot>6 9N9/GTWD4 <#,5aT\c]L S  '&"6S=8Y18 0C743254&'"#54&'"'.'546;672#"&'&%4.+"3265F4-$H=M8%)2^c4s #+&  4-@/II11%)4 Lm6:&#   '*! &0"#4632>7237>=4&74&#"26(-aPY>R164$WR$2( 61_tL]C6<;)`"L!<%"&'54632#"=4>7326=4&+5326754U)&' 3,0Yu7'/w>6##". %  '?IAou.8I0138uM=x6((! $%#"&'5463254&'5254&'#"326qQNqqO2/7*Osa6+&75*'8NsqPNr'8qQ(86*(8:),#'>=."#54&#"!#'467326;2#DG$("H )->+P&$6bL); .. xx! {,2&8&$G!KX$"/#"5767;>=4.'5#"&'5463254&#".5727632/&#";6  0%/`C sB*0"9ME8# I ')"bS0  TT < 0$g>H#h!;d"#-!` L*3E *  V< lS k! *%#"&5576;637354&'#"326pPOq0+* *7/00_7)&98)&8NpqP  ah&ݒ&87)(89F9%#"&/#526754ȷ'&#"&5467267#7327F;.L% N''Ne\WeD9(2F3eZ!"!*n'  A#-1 "$5 @6LLMOEKu<0<=I$'#$ &jL !4 *8%#"'+.546;327&=46732326'>=4&'";C=03A,E2 &TIFZ12%#(+RH$    ITH'QE4H^? 00x-(x+!22>32#>=./4?"#".5432$WA hD0Cet4'+N,# Q)8DG/#0/!=4.+5326=4.546;2 " 07WB'K2!;@&;>0+') **-,4,>'%*E(^;"c):* "G3&M3z$ #  +6%6 - ) ! )3##"&'54635#"'54623#3'54&'#"'"326ISI@WesYYIII6CD4<#?DJFGB`DJI;`x*$$`&"Ǩ.`H+E,73267654.76?2#"&54>4'&>?632#&52**+\?Z ' !(^4j~D'.> ? U&*sND , ED%#"&5""#"#"&574676.7>3232>54.76?6322>722)9 7  Y@[  L ")$&(< 6-$2V%  5,oT'+!4W|c+?sV1 XN7"547#"&546'&676;232?674&76?2?267>;2#"."#"&#!H"+8(y+ ++ @M@ ) C%  ;)8%   6P /!X  &N"N0 *&#  *"X57"547#"&54654?632327>/&76?632+!H"+&%!y $ 7  gg  06P .!U  a %:`(2,Y9I747+".546'&>;2327>'&'&7>3232#"&74+"'326#$ M K3?  O >W*56m. F 3K# X +J%*03N )+,  <a=3232>54654&54/&54632#".5465#"54>54&7>!4 g!;8! [&7>54&'&?26.#">j#$*N /;-?T" "! *)%/    bX$  %D'(( :'5&-#%U    :# ()PRy)!!   G" %011!\37467'.=4?2632+".'.'+"1J 5 '*., B  GO  K cm* M*3u\z2 Vq)8Q& 2\B7467.76?22672#"&'+"#".'.'+"2R'*+ 52/*h$ )'89+7 2K J`r!B  %F1[:2 1-S  + o%* 1\G7467.76?23>4676;2#"'"#""&+"/.'.'+"&1Q'*+ !' !# ;.1H#    2g Jck B <$2$3%Z'O(  *!2 2~t1`* &8#\4+"&'&54>767&74?2632+".'?9\ 7 2(;6  ?## A l7 * #B+- R4?+;7  )2\3A7467.76?232"#"+".'&'+"%4&+;2652Q'*+*.P&fVO/, "( 2p>9(/ %bn!B P0V.$ /c! ^Q-MU@L7467&/&5&>32"+.'.'.>32#"&732654&#"-R-*)  0%+   5$ <_E(3'%,$ /,d$#Hv!9  1 .)P0$`C$ -3 ,, 8%'  >4*, 1uUVb74>7&74?632?>7>7>32+"#'.547+".'.'+""32654&1@b097    @D 7 ! '3u %=%(@8#"(e>!!cIzN  00  7&[)$ @  + !] ! M ( !9v\V7"&54>7&74?263272>#"&5#"&'&6'&5467.'.'+T 4K>;6  F !5 4-- 0-8'%71%() ec9)4a@'R"L1tA  1 6)00 A D8EU  J_74>36=4.7>322+"&5>'.#+"54?"+"#"&5Rwd" O =" +3D9 E) BQ7) pBd1 ">8 4 I J/!1 ?j$ ;1oB%S9#  -Jw74>36=4.7>3227>7>#"&5+"54654.'&#+"54?"+"#"&5Rwd" O M[O B@2 )(;c 8%<+ E) BQ7) pBd1 "3 1 5+ $ Q&G*= ?j$ ;1oB%S9#  -Jq+"&'&=467>37>=4.7>323263>32#"'#"&+"54654&'+"&54?gG_-,  m% O C ? D. 3,GH @o_ E3,A=&(  *-.A,+\  Q 1 U " 1 3&T DO@h% $1oI\7+".5467>3>&'.7>37632+"&5>7'.#+"/&5467, <1){4   "Fe +:I5 @  7'6# ,62Y  (P1W C/"2 b  ])J`l74>36=4.7>3222++"54654.'&#+"54?"+"#"&5%232654&Rwd" O [kLRd^K3 %=* E) BQ7) ) pBd1 "'M2*# + (E*< @h% ;1oB%S9#  -ME"n4.'632>322+"&5>'.#+"54?"+"#"&=4>3>54&#'56 -'"* 1'=" +3D9 E) BQ7) Rwd" 1)6F     = >8 4 I J/!1 ?j$ ;1oB%S9#  -0Bd1  IZ74>3>4'.7>376322+"#"5475.'&'"+"&547+"&58O_G   "_oN &  (  B:S+, p5W2" -S%! @) 7 9 %@#'9)" (tIk7+".5467>3>&'.7>376322>#"&5"#'#"54654&#+"/&5467#"&54654&767272632, <1){4   "\qO )(9 $}] @  7'6#29,& U57   ,62Y  'Q5C   0 6+%QEU b  ]) 'K69\]F]ln%".#&#"#"&54>3276323632363632#"5+"&54?>.#"&#">326?64+">3>k #T(0&DsB#* $%.  ?>,i) =   6 <$ - % ^ P9 . (1a 3(LQ; *7Q/!  m) &f3."',@& 2M1 {:\OTk}%'.#&#"#"&5467632326323632326327>32#"'#'&+"54?4654&&#">326?63232654&+"k#T(0W*HR1B6$.  0 E.9I,! BJ;.@, )/# y?$ - % ^  )=1a2&5m248" / 40B %#) *"',@& 2v27.(d[v4."###"54>?3263232637632767>32+"'#"&+"547""+#"&5464&+"##32723267676;?, ';PxmH    '  C$!4 NH  @"[$) ($   *$&LfNJ/]I )\9X)   31% . 3JM(Z ) W) <>(#E.d8Wa%467"&'&54>'.###"54>?3263232+"4&+"##232632632676;?4#Ll %  ';PxmH $A!  *$  )  fNJ/]IJ&D  %5'*)\9X) *.42&! Y >H(#E+dEdo%>7"&'&54>'.###"54>?32632322+"#"&+"54&+"##2326326326763?"326=4'"&#?Ll %  ';PxmH $1> Nq&6,   1  *$  )  f NJ/]I %"5[-"  %5'*)\9X) ,.0##*  A! Y >H #E+ );dAS`3"5467>7&547>32$32#".=4&'#"#"+"4&#"#326=26=J 311546 ?toR$E<  %  'R&  1 %355"JR* 6 # ^81  V?6G ) !^/JN&O0'/1376#".=4.5+"&4&#"#326=%346.+7N."| 0( VCx 1/?6372632326327>32+"&5##"&'&654&5467&4&#"#3263272>76;2?[$)  '$ : (I?PzY$l   ^W  /*;[Tj9,( f f $&&  eNM[~HP+Y!8 9#2K&2'3/  * 4-&I 5 'W*CL$O>U[#"'#"&'.54654&54;263232?>7>'&>7>4&54;232654&76;2632(T7674&7>7>54&54;26323254&76;2326*(:9 6k)H4G 5M L 5   + 'hC5   7+ 6- #2  !0!  *  L( 7U #>H .* L9~%4>7"'&#+#"&54654&56;232>7>&?>54&'&6;263234674.76;2363>32#".#"+"'"&+"%`>{&$, ;&    ' IV A t "G+ /2$  . $M0pb -$U  _ !    (8]#  7"65!- 9a%467"'&#+#"&54654&56;23:>764?>4&5&6;26323>74&76;2+"&6a>{&$, ;&  & IVA t BT0 -$U  _ !    &9047!!CEDgu%467"'&##"#"&54654&>;2;2634676474>54&76;23>'&6;232+"#"&+"7.#&#326= ) +II#+ ,   # / % 3  @ ] XcDO%  1"#- V+?1#V ))) %>  &:43+4 4/54'4;23654&6;232654'&6;2#"&"#"/&+"vw>) , "!= < gL3=2b<$ X>, "4  #'[  n!3D >1' 27.+"&546'4&56;232632726?654&76;23274&76;2632#"'+"`:kH%"+=" 3  0 ot 3   -aAZ8ED8 7b1#b  !N' U.)2 f; 0;(`\cvG8%467"."#+#"&54654&56;232>7>54&5&6;23>74&76;237>32#"&5+"#"&'&>'&5467&5#A& {&$, ;& $ 'IU @ r  0V 0.8P 8h15' e S4  -$U  _ !  X;-6"$6*0 6)"Q & $0+2"'#"&547>7>372327>32I5#MdvDX. G $9DE9$0(915(  * , B7^T/>E2  -M71.0A%+5   RP&F7467"&54>=46;2;2>#"&5#"#"+"&9TGTG - /BB/7L (O2*2*:  ? 0 m!'(A&9 " *=$ 0   4 4- u !1&746;232654&54?2632#"&54>765 0 '9.9 r0;* 0L0y!4O$@9K k  #@-, IS% 2!+ $#,3'F6%) GM0'N%#"&5#"&54>76=46;2632327>;>32()::$$f<;\B_aJ -  7MPN7+#!) Oy i 5," & '5=6W>;P0 -J5/< %)$/'=" *1+?K%2##"'#.54>74>?263232>7&547>3>32654&#"3%6%B@N778!?\]F 8 ;9NL(/,!$<Hy+$4(0  2#3V@?V2  ,J8)2=M"= #/ i*,!-'G%"'#".5&54&5>7272632;2#"&5"32>7>732I0J1*,sd:/ X 1+A)5"H3 1@(  * , 2$& 2  +3F $ "#  -~IIW%"'#".5&54&5>727263232632#"&#"#".47#3263>7322654.#"I0J1*,nh1 *"E%73<9"- >MU)G@(  *! $ , 2$$ 4 5(&9 )'rQ'"#  ( #0{r".547>5"&#"+"&654&5&632726;23>32#"&+7>;>32#"&5#/.TVR46. (=  8HF* )$6,#3#8EG;+EB!) Oy '):#*  U / !!,G06R8  ! -$  )4 # /L4-*->& */ '=" .5, ) %-HE4674'4&546?26322##"&5>54&#"#"=4&-sO C  9G)45! 3& KZ0  1 ~" $J 71'M5!F<,C -He4674'4&546?26323;2>#"&5#"#"5465>54&#"#"=4&-sO C HF2 1*9] ;E-D]3& KZ0  1 t6  2 6,  ?; j8/_MB7+C ,H[4674'4&546?263227>26467>;23#"''&565>54&#"#"=.,vM C gO @"  : @K, F+B`2 ' J\0  1 FB% + 4^!80aM%%G8+C>v,HI4674'4&546?26322##.45>54&#"#".'.,f] C  (A//;)3 %7b0  1 ~"  n-6!I2)7(4-HN\4674'4&546?263222+"&5465>54&#"#&=4&4&+;26-sO C  &6,1F, "0' 4% ;"1 'K[0  1 }M  j80$A)82+ @! 0 -GDF4675./&'&37632632#"5465>54&#"+"=4&7-h= 6& VYE*Bb2 & GZ =a# v~580`N%%G8+A -HP4>74'4&546?26323#"54654&#"#"&=474&-CS, C IR  9 @/19'  8  "1N& 0  1 ?7c/+6!E.; $+ 9: ;3.t G\467&76372632236#"&5''#"'&6'&7>34654&#"#".'4&.B C    ((:;8T2%() )E+19'  7  $Cbd H{5/-&1 8) 11 A  D80"F\A  >pg2>7>;2#".#"632#"=4&5>54&#"#"&/&546?6=##"'5>54'46?6@ ?;N!C* $F%* 1$=2<99&.5$  Z 6E(,P1 !X3 # 0 ]5*" ( +6)#G/# +E;;2M Z! "  2>7>;2#".#"2632632#"&5"#"#"54&54654&#"#"&/&546?6=##"'5>54'46?6@ ?;N!C* $F%* 1 M;?o(+7 ) S9&.5$  Z 6E(,P1 !X3 # 0 ]=) -, 2 8(u 0#1*#G/# +E;;2M Z! " 0v2>7>;2#".#"632?>763+"'&54654&#"3#"&/&54676=##"'5>54'46?6@ ?;N!C* $F%* 10-= Q!  4 P W1!<#-5$  Z XK,P1 !X3 # 0 ] /@; * 0 3$ 0*"F.5  +E;;FM Z! " pc2>7>;2#".#"2632#"54&54654&#"#.'&54>75##"'5>54'46?6@ ?;N!C* $F%* 1 X9+:h 4 2F:,P1 !X3 # 0 ^p-* 0,&.\CK'P (D&d! " r26726;67323#".'.322+"'&546=4&#"#".'&54675##"'5>54&'6;234&+;2658C9^  /0# FR %6,u 8) "+# Z  mGBO1  &.! "/ '& 8  4  ]52~M 25$, $=&\1 M_ e""73 $y4'6;27263>76;23#".#63#"=4654&#"2'#"&=4&=4>75&/##"'5>[5 X8(!#!5$#'  4MY9&>Y  <  );57 1 "l ! !  -  02<# 0.+4(^K (( d%A' TA"pr2>7>;2#".#"2632'&54&54654&#"##".'&54>76=##"'5>54'46?6@ ?;N!C* $F%* 1 =]  h8& ",$   R  6-!,P1 !X3 # 0 ]3;\ . e#,":$'    %;' Z! " (4>75#"#"'"&654&=463272>72723>32##"&+2632;2632#"&5+"''##"'&>'&763;&546=4&#"#".J2G:,%-  '08   " HC1 *  ))"5#$V +(9. 9U9,+ ?<>=&G[ 7)E'c   ! 5 A $ Rp:  1 7+8C  6( .)h8G A4@{G=NZ"=4>7#"&=4>?4654.76372632###3263>7%4&#">-  '0R7L[P   _ &J@-YQ   *|K !"L9!!))GP +;  M2L-# $ (>Y%1+& "@GTeq"&5>7#"&=4>?4654.76372632#>7272>32#"'""33263>7%4&#">+'0R7L[P   _ &J@-YQ ) 6)! +3J .  ZK !"L9!!)$i +;  M2L-# $\&241 (>Y%1+& "@GJ[g"54>7#"&=4>?4654.76372632#2367>32#"'&3263>7%4&#">,  '0R7L[P   _ &J@-YQ # C- ;*5CK !"L9!!)5 K4 +;  M2L-# $ !,!* (>Y%1+& "GGYa4>3>54.6372632##"&54654&763232;267>7"5473272?65654.'w>]K   _/X$/35$3Rj8)3   A -U:)x% !0 m",+> - 3 38*8))> 0 %) 6CC* >&@{G8IUc"54>7#"&=4>?4654.76372632#2+3263>7%4&#">4&+;265,  '0R7L[P   _ &J@-YQ@>&&K !"L9!!)!, *4 J5 +;  M2L-# $;L% (>Y%1+& "J?{Pbn4&'5632632632####"=4>7#"&54654>?4654&##"'5>3263>7%4&#">B34 %- &J@-YQ   *  ,1N6LZQ  ") K   L9!!)X 5J-# $ )GP +:  T &>Y!2+& "A3ANZl%"&=47"&'.54>765654&54>32632#654&#"32?4&#""2>7>5N84 FTI>"F.**?+0"I^ 5:>K  .#7 &k( % -4 2< F / .&, ,(= ( $ 7 nS$.Y MY$-- @GUfr~"=47#"&=4>?4654.76372632#32326;2632+"#".547#3263>7%4&#">32654&#".!'0R7L[P   _ &J@-YQB )+Q )52; %F(W   QK !"L9!!).#$) +;  M2L-# $&6(%7! I(>Y%1+& "*")!@Gq"=4>7#"54654723274654.763726;22>54.76;232632#"&5"&+"?####32?%4&#">.  8+~   _ 0b 8 A R 4'8/$ OzGgr7"&547467>7>54.763722#;2+"&54654#"#"&#&#"&'&654&76723>7&547732767"267654.'LNtM (   _ w^$$WT 4 .   8 '&9  % #  ^ 4{JzI %:F 7/6?8 7& ,  T $4  6  H j 1zL2* lzGOgr$467#"&54>7>54.763722#32"'"&"#"&=4654.7>7'263767>57">5&'4&+;265 !WB2IH7   ^ w]2XO-1:(.|u  ^;,&%yG[  -'L.M="'$ +<j"!0D? 16@8#!>M 1  7=>,! ).S :@Gfw"=4>7#"&=4>?4654.763726323:674654&76;2>32#"&547####3263>7%4&#">-  '0R7L[P   _ ?Q /   D '+*4/Y%1+& "kv~4'6323263:32>'>3232#"'6;2"#"54?65"#"54654>?#">32637%&#">L'/ ! !l#%.  @" 5+JA' !0BX   T!66R?@! V1!kA&Mb L:, 3] ` #   <5 @.<%7 ! !- ,K,4'6323263:32>'>3232#"'632"27272>32#"'"#"#"5765"#"54654>?#">32637%&#">L'/ ! !l#%.  @" 5+JA"Nf '/7 % 6)! +3JE  W66R?@! V1!kA&Mb L:, 3] 3+     &24  4QQ<%7 ! !- ,K,s~4'6323263:32>'>3232#"'6;2";67>32#"'&#"5465"#"54654>?#">32637%&#">L'/ ! !l#%.  @" 5+JA' b  # C- ;*5Cl 66R?@! V1!kA&Mb L:, 3] ` ** )h !,!* 0<%7 ! !- ,K,hq4'6323263:32>'>3232#"'632##"&54654&763233265#"547232>=#">2>54&#2635)- ! !l#%.  @" 5+J`e6 :S5"-Xj8)3   !GCe21@" V1!D %.; "*', 3 b%3" !4,)> 0 @L 8x_! !-1  grz4'6323263:32>'>3232#"'632#"2+#"5465"#"54654>?#">32637%&#">4&+;265L'/ ! !l#%.  @" 5+JA"Fq9D4@>#$+! 66R?@! V1!kA&Mb L:!-% *, 3] .4"  "K& 4<%7 ! !- ,K,1 $t%"&=4>?#".>7"&+"&654&54632;2326;26?>763#".#""76632####"547"'32637>5.# T:6U8: n) ))9C!  - -%7"   )9"'(G!<;# YU   +" +'@ &$(;5 %6 ; " ;%  9  (   1I.!<"-AYp}4'56322>32"632+"&=47"&'.54>765654.5467&'#"'526%4&54;2632#"&546654&#"32?4&#""2>7>-'"*& *5H3& 0"I^ 5:>K  XN84 FTI &&-5 #V <  8'#t.#7 &k( % -4 2< l  " 9* '!( $ 7 F / 7 (#   !2 #S$.Y MY$-- 4'6323263:32>'>3232#"'632"32326;2632+"#".547##"54?65"#"54654>?#">32637%&#">32654&#"L'/ ! !l#%.  @" 5+JA( 9=$1v( G (!R 18O (_  R!66R?@! V1!kA&Mb L:-#$, 3] ( %  "$;! 9 5 @.<%7 ! !- ,K,*")!4'6323263:32>'>3232#"'6322>54.76;232632#"&5"&+"?#"#"54?65"#"&=4>?#">;7%4&+">M)- ! !l#%.  @" 5+JA!'>3232#"'632";2632+"&54?'"#"&""#"&5>76&54;263&5465#'.54676?#">;67>=4&#L'/ ! !l#%.  @" 5+JA( 3?."HT 5 0< 7 F' `  6P /.FB@! V1!iH,$,=<, 3H %    *D)    >: "   35j! !1|8- ."9+O4'6323263:32>'>3232#"'632"#"32+"&#"#"&=4654&54>7&5465#'.54676?#">;67>=4&#4&+;265L'/ ! !l#%.  @" 5+JA#>?&#CL  f]%7* -# ^;+%%/r, 6P /.FB@! V1!iH,$,=N1  35j! !1|8- ."9+1 4'6323263:32>'>3232#"'2>323:674654&76;2>32#"&547#"#"54?65"#"54654>?#">32637%&#">L'/ ! !l#%.  @" 5+JA *J>/   D '+*4/   T!66R?@! V1!kA&Mb L:, 3] 1& EV   2 BK  <5 @.<%7 ! !- ,K,4B74&54632""#"&=465>54654.#"#&546 vOd ,--;`  %ag|I<45" . $3&4dt ' =4V%"'"#"&=465>=4&#"'#"=4&54>3267>32wK  0 >0/1 0 ' 2EV=Nc* G) # <3*d4!  $ - "5 4?+W;@>5S- F:h"/ 4I"'"&546?54.#"#"54&'467632?>3I' 00 2 & 2HRQ)LA<G.!B&4")#E / -X=)[i ;EG>`#)?248 !- 4?4>32""#"5474654654.#"#&54654&2GV<Od ,&' AW  P $ Z4R. I<45H,  / oQf '  ?P4CS232#"#"&=46?4654&'#"54&54>4&+;26,:;%l]"4&"WJ6%1  0 ' 0DT=0"3! '4 7&-, #";%E.@(R7'{vA?6T/ $ 1  4J"&54&'#"&5465'&7>726?>32#"=4654'&#"9 `B$% K]H*K?   ( !E// @!*3% 3A 3 4L"@1*(D 04.;+X; 4/4>32"&=4654&#"#"&=4&1DT<+LA E.D.+5$51 Q7U/ @2(& #%0='R8 !"*t4\#"'&6'&76727&5465465.#"#"=4&54>3232>#"&5'&#"#$8-)% x3!5)@V  F) 1FU=*L>"E22 ((:<A 8 &I; #67++oR59)  A W4R- @146 '  1 6*7(k226372>7632#"'##"ᘖ&'64&54632""#"&=465>54654.#"#&546ED6  :+4H$$ S26. vOd ,--;`  %2    )"3  " /g|I<45" . $3&4dt ' =(226372>7632#"'##"ᘖ&'6"'"#"&=465>=4&#"'#"=4&54>3267>32ED6  :+4H$$ S26.WK  0 >0/1 0 ' 2EV=Nc* G) # <2    )"3  " /D3*d4!  $ - "5 4?+W;@>5S- F:h"/ (r226372>7632#"'##"ᘖ&'6"'"&546?54.#"#"54&'467632?>3ED6  :+4H$$ S26.fI' 00 2 & 2HRQ)LA<G.!B2    )"3  " /14")#E / -X=)[i ;EG>`#)?248 !- 7(h226372>7632#"'##"ᘖ&'64>32""#"5474654654.#"#&54654&ED6  :+4H$$ S26.2GV<Od ,&' AW  P $ 2    )"3  " /4R. I<45H,  / oQf '  ?P(jz226372>7632#"'##"ᘖ&'6232#"#"&=46?54&'#"54&54>4&+;26ED6  :+4H$$ S26. :;%l]"4&"WB=%1  0 ' 0DT=0"3! '2    )"3  " /u 7&-, $ "E+G(R7'{vA?6T/ $ 1  /(s226372>7632#"'##"ᘖ&'6"&54&'#"&5465'&7>726?>32#"=4654'&#"=D6  :+4H$$ S26.! `B$% K]H*K?   ( !E// @2    )"3  " /S!*3% 3A 3 4L"@1*(D 04.;+X; 7(X226372>7632#"'##"ᘖ&'64>32"&=4654&#"#"&=4&ED6  :+4H$$ S26.1DT<+LA E.D.+5$51 2    )"3  " /7U/ @2(& #%0='R8 !"*t(226372>7632#"'##"ᘖ&'6#"'&6'&76727&5465465.#"#"=4&54>3232?6#"&5'&#"#ED6  :+4H$$ S26.8-)% x3!5)@V  F) "9@E0Oc69,? *':!8C 8 2    )"3  " /:&I; #67++oR59)  A]+G-!I<46 1 6+%GW%467#"&=4654&54>7265>54.7>32>7>#"&5#"'##"#" i3%&).Z*   R f"G 1*9"; ' V. - 012  *7  d   1 7*%Gw%467#"&=4654&54>7265>54.7>32>7>#"&5#"'#>?67632#"'"##" i3%&).Z*   R f"G 1*9";  !Q!)5K  &,5 012  *7  d   1 7*-. 3  %Gj"54#"&=4654&54>7265>54.7>32>7>#"&5#"'#7263>32#".##- &i3%&).Z*   R f"G 1*9";    C-  +5& 1! 012  *7  d   1 7*<  $#Gg4>74654.7>322>#"&5"#"##"&54>'&5432332>7>5#"'&6'.25  T %M22  +(8&%  '5Up$ 2 ;5I&A% *&Vr ; V   7* (#):+,  ! 07&< $3 ?  %GVg%47#"&=4654&54>7265>54.7>32>7>#"&5#"'#2+#"7";26564'4# !i3%&).Z*   R f"G 1*9"; A> . ~ $'H4 $ 012  *7  d   1 7*L% *'%h>54.5+"#"&654&54632;2>7>#"&5#"'###"547#"&546'&54672>38  <  #551 # wG 1);+3    3$l +,$ /Z-5 v W " AV   3 8)H  .   #( C3Vc"&54>7#"&54654&54>7265654654.54>32#>67672#"&5+654&#"0 cG& &)\, (;37J .'& )- 4(8e  PV.#7 E:$CJ<95 #4 8,!2 ,   8)z/4# wS$.Y 'nG%4#"&74654&5467265>54.7>32>7>#"&5#"'#2636#".5&#""'#"&54>'&7673>3& &iA$)S   R mE2*9)  " 3%0 # 4W&  g <1  4A 2  *7  d  2 7*:  3 *' .# ;zo26;>7>323#".#"#>76#"&5"'3##"&547#"&54>'&7>;>?##"'52654'5>323&o& :C6;*8% H x\   "$+8d $%f$ & J L [ t !1"" !$,#3h  +9(    +  !2  "   A# ;z26;>7>323#".#"#>76#"&5"'67272>32#".#"2##"&54?>7#"&54>'&7>;>?##"'52654'5>323&o& :C6;*8% H x\   "$+8d& 5)! ;'% < $%f$ & J L [ t !1"" !$,#3h  +9( 1 3.  C''  !2  "   A# ;z273263>323#"'.>76#"&5"'?2>32#"&'#"#"&545#"&54>'&7>;>?#"'5>54'46@ 6 C6   :; %x\   "$+8d (;4$  8%0 $ f$ & J L Qv  :S3% 2 " 3h  +9(  /U  /  '  !2  "   A"1z763237>323#"#"&'>76#"&'#"'##"&54>'&5432332676?#"&'&654&54732632674654654&#+#"'5>54'4632aa YC6." $. 7  u_ /(74)Vz9(2 A 3[b2%&nR  Ou  :D $- s  !# 7*dV%0.: ! %?e  215  ;A":nu63276?6323#"'>7>72#"&5#"'32+#"&545#"&54654&546;>?"#""춮'46324&#"#326;265 W H:02Fa d ,+ '(;G.Ep&6,#"&f$ &D(L "! ;,!:B' .! '. '"3   )6) #) &  "4 1 "!6X74654&7673>?#".>7"&+"&654&54632;2>;7>323#".'32>3>#"&5#"'+"545#"&u  dL : o) (:3 K 5# :@"-R 8 l` )*:H @Ee3%'7 +  (7,   0' S    )  ?2 c 2  878>54'5>32:;5&54654&76;2#"'>72#"&5+"#"&5467#"#"&54654&476;27254654.54>7'&#"+"&#%112654&+"$ %#)   # Q  ?0$ +W-_B9 (,9A  O L -%&4T  0 nj*! /  C#' #  *  (+71J   8 >4$ 8(' '/  9  (,(  /8%R ;nz26;>7>323#".#"#>76#"&5"'326#"&'#"'""'#"&'&>'&54>7&547#"&54>'&7>;>?##"'52654'5>323&o& :C6;*8% H x\   "$+8d  &,7*  0V% ) -x( f$ & J L [ t !1"" !$,#3h  +9(  &700 #3  #  #  !2  "   A# ,CW43232632654&54;2;2+"&546754'#/&#"#"&="#"&546'4&5U!g 7 A:  E7   ++'"C  % S %*  *8=  Cn4;2326326=4&76;2;232672#"&5#"+"&54654'.#"#"&="#"&54>'&4J ! d 3  :,?0 (*9-    E:   $ ' , 'L#C 1 7+ 8> *!   "1  Cr4;2326326=4&76;22;2?267632+"'"#""&+"54?464'.#"#"&="#"&54>'&4J ! d 3   (": & \ 0" M -0   $ ' , 'L . 0 - 3?6   "1  %CU4&546?6654&54;232##"&54>'&6;232>54&'.+"5465#"&'&6LN}) 7 ?2@n;$1   J-WX6 3 R*% *   C  % S w-+?!7$1   A-f!  $5  =CVc43232632654&54;2;22++"&546754'#/&#"#"&="#"&546'4&326=4U!g 7 @'CB#@8   ++'" .(&8C  % S %L% ,   *8=  ( 7DV"5465"+"&546762725654&47632;2;2+"&546754'#/&#"I0Z 0 V  5  A:  E7  !=8  I`  %N %* 0Ndp47#"&54654&67>727>32633>72632#"&#"#"&5473273632+"&54654.+"%2654&#"(DG+5i1 h-#?<,/5 . #,),+N*    = = @!"=,$=8 1 &,-C $$ !E0=>A55   -&Ct432632654&54;2;23263232632#"&#"#"&547#"#"+"&546754'#/&#"#"&="#"&54>'&2654&#"5W.U  7 BA! ( 8*56- / 3'47 -  E7   l2%& 2  C  % S ) 6'(67&!  ,  00"!!'C43726326=4&76;22;23234654.76;2326#"&5#"&4>7#"&#"+"&54654'.#"#"&="#"&54>'&5W.< 3   (!4  ' .0  2'<    E:   l15& , 'L ,1 4 n " 7, 'C#0 *!   "P$TCy43726326=4&76;2;22;2+"&54654+"'#"&54654&54>7&54654'#.#"#"&="#"'&6'&5W.< 3  ;1; 7  4 '!& <-$ <  l15,' , 'L 8 %.  T   ,T2    "PDCp~432632654&54;2;22"#"#"&+"'"'&6'.67>7&54654'#.#"#"&="#"&54>'&4&+"32655W.U  7 ?oW"5$ $ o2J&"/x@ ;  l2%& ) $)&C  % S ' e-  87?     00"6 >Cu432632654&54;2;23>54&76;2>32#"&547+"&546754'#/&#"#"&="#"&54>'&5W.U  7 B9 7 E 130  G8   l2%& C  % S !+ VZ 1 A 2t,(*   00"0ZB6;2#"#"&5476&+'&'4654&#&636BAi _! 8B$m /      kAN%"&5#""&=4'.#"#"54654.54;6322632326*7, "  I  '  & C") *6,%?B!   ! k   k M  ! lAB"'##"&5476&'&"#"54654.54;63276327>3}J; F u'  & ""OI,":3  ! k   k "- ?)E#"&'32632632+"54654&"+#"54>726726323(7"*:3(  l' <84 ?*O2 5 \  6) a:@D  ) R'5," /]A<J%++"54765&#"#"54?4654.7636327226=4&#;(:-#91w0 #G-J^(!+ ! V! % " @ ! i ^;)W @ 2'G4&#"#"&=4654&54>?632;2#"'4?>'&+"54?66 -2#&3N=n  P9*m G  t  N     563   4 Z# ?  D!?fP\"&54732>7276;632+"'4654&"+"54>7263>32#"&#"72654&#"u",),+ )  ?. ( C@$3@/# 8)?> ' ; .>!"y'! !E0=>  ( Q+F( - ! -&%tk)e46727&4654.#"54>7>32632#"&'3263263237>#"&5##"&54654&;2R4! > E)X< -(5"*:3(  l)I!  ((<=Uj<0#  S5A0( 2 6) a:@?d  " 4, 1E0 Izn4'46323>7232>56;23#".'&#"#32637632+#"&5454&#&54?654&+#"'5>; b &[..& "  & z#2 $s !" /.  F      N A"Hz2>7232>5672#".'&#"#32632326#"&5#*##"&54>76'.'"54654&#"&##"'52654'46?6A 2&B &NE% #   0%  **7(2(  <D& E (z !S3 +/ _   5  ! 6,cW  +V% j @#" Hz2>7232>5672#".'&#"#32?263272>732#"'+"#"&54>?>'.'"54654&#"&##"'52654'46?6A 2&B &NE% # &$F G /* :+3N *+ 5 O E (z !S3 +/ _  D+  )"3  ! % j @#" 32>7>32#".'&32672636#".'"&#"32632632+"&54654.*##"54>7>26&67#+"'5>54'6E9cN !*  8"$  $/)   ( #H4E& n(  +0 @&# 4 O1 o2  . : +V?>=  Q6$ " !#+l2>?672326763232#"'326372632++".'4>?65.#"&54654'#">54'56"32632>5654&#&D ( % 8  Q 6+GI'*(:.#9 b G;-"0A-$a32 . 4k  O9 @! #  i "!,]  6v~&>7#"#"'"&>54/&54322326;>7>32##"&+"2;2#"#&546?4+"54?654&'"#"&74654&7>3,*  5)GV.  >'&  .)!4+Q16s)!J! ,3&' v     6( ",     `" # < 8  553 34'632723263>32#"&'237;2632#"&#"#"&547.#"32632732632+"#"&54654&###"546747#+"'5>2654&#"i 2B   , N"   3+ 4E -:4&!/# 6 *%<4D&L)  ! B @w: 4 Q0$$ 2$ 4 >) &)"$ X@;A    TF[E"#+6t7"54>76567#"+.>54&5432;2;26;67>32#+"&+"2632#".'"&#"+"#"'72>373263237>#"&5##"&74654&546727&4654."+?:DA2 ,' 5)F3 0  ?' !*  T ( # % '%I!  ((<=Uj<0&2R4!- P5J!  !5("- # &5+ (/$"$ " 4, 1E 1   /8M7467#".'&6;2322+".'.#"#"&+"#"&5/gvX L)7  $,;,  H 47L ;  $Gk: u ' 4.U% $O-&?  /8V7467#".'&6;232232672#"&5#+".'.#"#"&+"#"&5/gvX L)8+rT *?0 1*94-B  63N ;  $Gk: u )5J 2 5+#y "V1"=  /*8a7467#".'&6;2322272>7632#"'"&+".'.#"+"&5/gvX L)8+, 6 #)5K:  M , 2; $Gk: u )' Z/9  ) 1  $A$   &s7 /8I74675#"&'&6;2322+".'.'"&#"&#"5#+"#"5&5/VT L)8;'3B. $#A   +# %BK,)^ u(  |{ "R0 32 % /8Xd7467#".'&6;2322632++"#".'.#*#"&+"#"&5%4&+23265/gvX L)8++ aT&7/A  , : ;  E#$4 %$Gk: u )-L. "T.   _V Ei(Lj4'5>32#"'>4>75+"54?>32;26;2+".'.'"&#"#"&+"#") hN-3r:OG+1   2  ' /7-  4    [ 72# 50t\C   -      5.d, #S0  sO% / 8G7467#".'&6;2322+*.'.#"+"&5/fwX L)7  $'@-    2 :5HL !Hl: u '  #" +"&> v4'632326;>7>;2#"&'322+".'.#"#"&+"#"&5467#"'&'&"'#"Ȏ8#! 1'B(+B$    9&/07  $,;,  H 47L ;  gvK  (}# 1 L/ ' 4.U% $O-&?  Gk ` @#BmU74675&'&54?656&#&63637632632#"=46=4.#"#".'4&B:   $'OQ33 #& )# 4Q#)   LaS! *k/ 5$  B.+(v   nAmf74675&'&54?656&#&6363763263272#"&5##"&54654&#"#"5'.A;   $'OR%B7 '*99     7'7P .& J_S! *k/=0?!   6* R ) # !(-8wF,UBmf74675&'&54?656&#&63637632632>6467>32+"'#"54654654&###".'4&B:   $'MR>b C#!  1 M ~) ;%5O )   LaS! *k/;C#   ,3D 91y   nJmJ47"'&5>&'.'&63637632632#"=46=4&#"#"&JG3  $GX14#(7'8J H ]=  HK c( 6&57C  ,5qX!&  0AmM[74675&'&54?656&#&636376326322&546=4&#"2#&5'.26=4&#3A;   $'OQ%B8 eX%@7S $ ''1J_S! *k/&'&763637632632##"54654&>u=B   $'XE43 + )A229  %   \ F7 H=% )o( 5#08?>35 [6 *T2  BmO74675&'&54?656&#&63637632632#.54654.#""#"&5'&B;  $'OR22  * )&6R(  L`S! *k/ 4#b  r&0 s ""0Q>Cgs4&54;2+"546"&547#+"&'&54654.#"+"54&5'&54>32;26;232632#"&#"7"32654&L  0 1r)5]7 .#7M 9  "1V5Jq^/  ( 2 +54+ 5 .9"!#  7S Lw5'yY+E92;22B$ 6F9'SH6(&7!! >Cx4&54;2+"54647#+"&'&54654.#"+"54&5'&54>232>76;2;2632#"&5#+"&L  0 1*i7  )7M 9  "2VjQ(fP   [ 0.8.G  7S L &Uf+E92; $*A$ 6F:(&8.', 2 7* QoCl4&54;2+"546232?674654654&+"+"&54>3232+"&54674'"&#"&'&654.7632_  0 1i@XO ) 8 *L0Wx9  6  =$(    7S LC kOK8QC ;PA.s]  1  / :26 QCmv4&54;2+"546##"&#"&#"#"&5&6'&6323267654&546=4654&##"+"&54654>32324&+326_< 3xYi (/:#0$ $E`A2-0 8 )U8Wy!.:(f%5  V L.  *. < $ %&IY7    M[?t^ l>hCq4&54;2+"546"&5"#+"&'&54654&#"+"&5.5>76322;254654.'&;22632L< 3(8 7 5*'.! 7 =08F4[  N% T * V L9) 33PY1?J,+(L*W9  Cn &-) 6 <,3  63237>322#".'&#632#"=46=4.#"#".'4&54675&'&54?46'4#&##"+"'52654'5632} gD) 00& 4OQ33 #& )# 4Q#)   :  . $_&#/*=#. n/ 5$  =.+(v   nLaV  .%  63237>322#".'&#63272#"&5##"&54654&#"#"5'.54675&'&54?46'4#&##"+"'52654'5632} gD) 00& 4OR%B7 '*99     7'7P .& ;  . $_&#/*=#. n/=0?!   6* R ) # !(-8wF,UJ_V  .%  4'5632>?>32632#"'632>6467>32+"'#"54654654&###".'4&54675&'&54?46'4#&##"+"'526?#/*-? v%   7)I:MR>b C#!  1 M ~) ;%5O )   :  . $_&$%  - 4x/;C#   ,3D 91y   nLaV  . u63237>322#".'&#632#"=46=4&#"#"&547"'&546=4#&##"+"'52654'5632} gD) 00& 4GX14#(7'8J H G3. $_&#/*=#. 'J( 6&57C  ,5qX!&  0E]= r  .%  Zz63237>322#".'&#6322&546=4&#"2#&5'.54675&'&54?46'4#&##"+"'52654'563226=4&#3} gD) 00& 4OQ%B8 eX%@7S $ ;  . $_&#/*''1=#. n/322#".'&#632##"54654&>#"&5&547"'&547"'&?6&'&##"+"'52654'5632} gD) 00& 4XE43 + )@229  %  =B . $_&#/*=#. L ( 5#08?>35 [6 *T2    \ F7J) .%  |63237>322#".'&#632#.54654.#""#"&5'&54675&'&54?46'4#&##"+"'52654'5632} gD) 00& 4OR22  * )&6R(  ; . $_&#/*=#. n/ 4#b  r&0 s ""0QL`V  .%  663237>322#".'&#63222636322632#"&#"#"&547#"#"=7654&#"##".'4&54675&'&54?46'4#&##"+"'52654'56322>4.#"} gD) 00& 4OQ32V+  /0 )55+2 0 )4: / ):%5Q )   :  . $_&#/*#=#. n/ 6% 6$)77' @pp:2v   nLaV  .% D " e2>72326;>32#".'#"63232>76;2;2326#"&5#+"&546547###"&=4654654&#"#"&'&54>7"#"5>54&#"&#+"'5>54'6323 ?. [ C1 ##'&\G21] P8 -)9.L^  >"4S .  "6  O-  7 >%.  V. 6%((* T   7+  $! 7/x,FV6V" v ! ! 2672326;>;2#".'&#63232+"&54674.5##"&'&>'&632323?674754654'.#"#"+"&7>75#"546'&"##"&#+"'52654'56323:A [ D*5"&% 4+8Zw9   6 Ig8+&   :X1(4 ,2#)$  #O-'#3! > #. _#s]#  0  / 1;   @8@('{;2 -)v s! #/2672326;>;2#".'&#63232##"&#"&#"#"&'&?654&476;32676=4&546=4654&+"&5675#"546'&"##"&#+"'52654'563234&+326:A [ D*5"&% 4.3W}!.:(Yi /+8%(  "  ]I+$14H)$  #O-'#3! 0%5 > #. _#q[  .   &/   $ @^wi- s! #Ul  63237>322#".'&#6323265654'&;22632#"&5###"54654&#"#"5'.54675&'&54?46'4#&##"+"'52654'5632} gD) 00& 4OR8]) M P 2*8   ( %<#5Q G' ;  . $_&#/*=#. n/30- <  2 6+35I.25/v F,UJ_V  .% @Y4BQ2>3232632;#"+"#"&+"##"#"&5467>&#"326%4&#"327>@ 1  XZ""-a+  *   NT!s4;  3, !/:& = "7>;23#".'"#&5"+"#"&#"#"54676327>76&#&#"%4&#"327>.7! hf//.  A& 9 :%( A =   -K&$@$R<2 %::& = " ;UAv /  h($@; /6.{A2 c73J\2672632#"&54632654&#"3263>32#"'+".5>7#"&54>32>7"&#"('4-@T %?', ?(# @HC.3,FU 04)134 "M&,&73BT"547#"&54>37263>67>32#"54632654&#""32>7"&#"!!?J4L=1  2=VX3A  =& -  ) )" $7" =2/DM9#$,0 <@*9X g"M&,&Kv4ER^"54?67#"&54673263>2>7625463>74&#"2#"32>7"2654'4&+:=Hwk  "P=5 G )<!    "=<$=9!D+  :S#"*# !%{: ;2BY!1))-$#SABx< %  g" "I&Y L @YHUh26;327>32#"."#"+"#"&#"##"#"&5467>&#"326%4&#"327>A %pYG C- -3! !%<(! <!PR#s2<  3, !08& ->"HE  # 6K',90p%1:#?5a4)1<H7"=4>?67"&54>7326;2#&+32674&+2326D/A+'n_ /S6 'Wi_9% G_1 5 9G3$*3 3# %!#) :$"/'P?>T -::$ ;6 !=58&A2N2".547676632+"73>76=4654.'!*;| .0P8J" s *2A)(SAM8{A[  EP2h' e /.(:8%2EN0H"&54>766322672#".5+"73>76=4654.'/ +?9#-&-)  2&0 R4MR*2A)(TwxAb;&  6$70 *( p (= /.(:8%2F<WJ[4.547#"&+"&54632326327>3#"'"&+".'4654?6%326>54&#"  %4@z(?  E]H,"2%T:  B  <" <+4Nb( :,L^v'M#   "- 2   @!, S./K<0W+<%"74?6.547#"&+"&54632;2#326>54&#"' R  %4@z(F g " <+4Nb-:,L^v'M  !, S./K;NASb4&5465+"#"&5467632;23+"#"&+"&546?>'2654&#"3724&'"&"3256#!95&?OY#C * #A?  8 6 ?4L#*"+   K1H <(1=#F-P  @$  }$!::?$6 .& #1Q% A0-B7467&/.5&6;2&"2"#"&73267654654.'A@Z @   (Z :,n #8g: E1+ot, !=5%$:$$+ #OX{^4 -; >R@C+N(57"&54>767&=47>32+"+2654#"t!C.Mr>YO H1A{ F4u 8E@N)($,Q63?+S  +EJ~x ]"F7>4.76?2632#"&=67###"5454'.>32  &$ .  80   % &/ B*H K()#$"" !#BJ$ "\7>54/&763632>72#"&5#"&547###"5454'.>32  !#g. *(;=  $#   % &/ B*H K$ !"0 5+M.(*!#BJ$ "Y7>4.76?632?267>32#"'.#"&=4?##&5454'.>32  %% . $  C% *1;e    %/ B*H K("#!  "" "&F!#)J$ "F7>4.76?2632#"&=67"#"#"5654.636372 &$ .  80$  K(. 9 d K()#$"" D  ?  $"J^7>54/&7>322#"#"&547###"5454'.>3226=4654&+"3  = "4&!E$   % &/ B*"+"!+  H K$ & %BK   !#BJ$ (% `2>74654/&763632#"&=467##"54?654&+"#"&54654&546326B& *  O###!&  #BCA "% %6  1"D7>54.7>32"#"547###"5454'.>32   D).) (   % &/ B*H<1> 9&g!#BJ$ "ts7>54/&763263232>?6#"&5"#"'#"'#"&74654&7>2727&54?"#"#"5654.636372  B+/ ;; " )*9 0  : W -* e&  $  K(. 9 d L$B"$ 17) !) 1 ?D  ?  $&5j?>?2632#"&'6"#&=467#"#"54?654&#"#"&=46'4&54>76;2 =' s1 .&8&! , #%#$   #   ! '  <+&":S*3##M%.+2 5' 4(A  #D FA $# ?2632#"&'>2#"&5"#"&=467#"#"54?654&#"#"&=46'4&54>76;2 =' s1 .&8  7f* *(;/ $#    #   ! '  <+&":S*3##M%.+2 5'%&H$0 5+SR!" #D FA $# ?2632#"&'7>467>32#".#"=4>7#"#"54?654&#"#"&=46'4&54>76;2 =' s1 %&84!   9+ ,6%  _(  #   ! '  <+&":S*3##M%.+4 5'"3F   " B ~P #D FA $# ?2632#"&'6"#&=467#&'4&5>54&#"+"&=4654&7>76.\C =' s1 .&8&! , #%#$   I   & +}*@ M%.+2 5' 4(A   * /;]&! &9  4 &5k}?>?2632#"&'2+"##"5467#"#"54?654&#"#"&=46'4&54>76;226=4654&+"3 =' s1 .&84%5- #)  #   ! '  <+&":S*3##+"!+  #M%.+2 5'"0;n?M A  #D FA $# 7635#"#"'"&>54&=43232;2326;23>7>32##"&+#67267>?2>72#".'#"54&5467"#"#"5454#")#4S ,'+  4'>, - # A'3 %(!6 #]KD, @2 (#,1 0 %# '!)f   ^%.-$ =   A   !+# "-"  8  ,! "'3 &  -&%   @ $  !@!6=< &9 &4q2672>?>7>32#"&'&5467#"#"54?654&#"#"&=46'4&54>76;2 *r0 3&9" ( !'#   ! '  <+&":S*3## )'1 5'  2 !k#D FA $# ?2632#"&'2>#"&5"#'"#"'#"&'&>'&7>;263&=467#&'4&5>54&#"+"&=4654&7>76.\C =' s1 .&8.# " $F44 +(: '  . I& &  A6 !  I   & +}*@ M%.+2 5'$   : 6*#3 #      * /;]&! &9  4 0(-;##"&+"&=4.54>;2'">74} %  '! #:eB;2#7272632">74)9   - 15qQ65'4F-! ## e *'3"7Q%i5,`9d"6)!;<$$(@$     1  E/'5).0(M[%"&45#+"&=4.54>;2#254&76;2326#"&5">74U C )7sQ @3} &B 7) 1*:'3"7Q%z B&T1#!::"'Mf# ; " 7+ E/'5).%OD*<723267.54632#"&"#"ᘖ'56">54&!E 4"o]@  BTC6*K!4)8- g ^W-`v\Mg  5-" ,7&!:%&0L(IZg%"&#"+"&547&'+"&=4.54!32#3;26322632">54&"32654. = ( #<"   4 <1y$ S 0. !'% )!.G'"X ' L ' T /&'Ne&   '&">( #+  4iDBN72727.54632#3254.76;2+"'#'."&546'&>2"654&m5.,nz "+@ + 7>)F#-5(*"(; | %4Xu]Mf&:& O 8 !&  #> ; +@2$%0(GU"&5"#"&##+"&=4.54>;2>2%">74X*9< $-Y5% +8oM<-++Q0' 2'3"7Q%8)"] 'S'8*::$&5.    E/'5).%26DP72;27.5&>7632#32>#"&5'#"&546'4&5&6">54&VA(B - AGEu ; C'.':4:)1" ,D3?+% _F$ "-Lg\  2 6, 0< ;  Uh"B++GDkz2;27&54>32#326?632326#"&5#"&#"#"54654&##".#"&=4654.76%2>54&#"W"B6*DE$%+)( ,3  )):6  H l   ;#3 .6'(./ ; 86+>Z* #*! 6, )D%  #    +2 2 .7")<,7+/Ds2;27&54>32#263726326372>32#".'&##"&54?6&+#".#"&=4654.76%2>54&#"W"B6*DE$%+)(   ($ O  =3& 4&' 2* , L   ;#3 .6'(./ ; 86+>Z*    -  &v  +2 2 .7")<,7+`DRa2727&54>32#32637632#"#"&54?4#"#".#"&54654&76%2>54&#"V,; 0*DE$%+)( #("  4 3  0n   <(1.6'(./ : 86+>Z*    .  (8 8 /7")<,7%6FR\72;27.5&>7632#3632#"&#"#"&547'#"&546'4&5&6">54&"264&VA(B - AGEu ; "77C;(! 2 ) (5:)1" ,D3?+%, _F$ "-Lg\>%!))" 0< ;  Uh"B+c"*%6Xd72;27.=4>3232672#"&5#"'"#32>#"&5'#"&546'4&5&6">54&VA(0+0eIHF,1B. *+7A  $)T4 ; C' 2':4:)1" ,D3?+% DN#?A'"-412 7*\  4 6, 0< ;  Uh"B+QE>N7467&54>32632#"&5"/.#+"&">54&QmbA .T5A`:WD?:,J" 0,:: =K  *c/?)<(/IAL$3*)04L% * 5. }DXD #!( '+tD2;27&54>3267>363232326#"&5#"&#"##"&'&654&5467263&54?654"#"'&#"&=4654.76%2>54&#"W"B6*DE$$5C4   "H 3 )):B6 3 15( 1T6 ;o$  9&1 .6'(./ ; 86+>[$7    1 6+#Q 7    +  (5 2 .7")<,7%l.^h46;2"+"&5232>7'&54632#7>32#"./&/&/"&##"&546'4&5&"654&1 .  0#>!aQ97!i4s7 )( .%7 " 031" -D/ 8 9 dF1Tp +FS' 2    F ; $h#0=s4632;2&#"&52327.54632#3263263232672#"&5#"2#"7>'&+#"&'4654.76">54&  1  1-;-)+v_k &:51B. *(9 . Q 8 %81# ,&.. %.)&% 7  s'BQZFS' 2 8*0' )  2 =<-0/)f=|4632;2"+*&454654&4763223>7.54632#3263?262676323+"'"#"#"?654&"#"#"&"7>54&  0  1  =#%&-xb1M5"## % %. 1 T  1 NN9  =  w!<(1D &'(%  9   #3 w'CR\*= ? >0 -3  )9 3"6 %&=\k4632;2&#"&52327.54632#326376322#"7>'&+#"&'4654.76">54&  1  1-;-)+v_k '"#; Q 8 %81# ,&.. %.)&% 7  s'BQZFS>"' )  2 =<-0/)%S.Zdn46;2"+"&5232>7'&54632#2637632#"&#"#"&547'#"&546'4&5&"654&"264&1 .  0#>!aQ97!i'  E<(! . & ',031" -D/* 8 9 dF1Tp +FSv *>&!))6( F ; $h#00,%.q{46;2"+"&5232>7.54>3232632#"&5##7>32#"./&/&/"&##"&546'4&5&"654&1 .  0#>!&J3 0U()8De4s7 )( .%7 " 031" -D/ 8 9 XK#??(] "5,>R' 2    F ; $h#04=O^4632;2&#"&5467.54632#632#"&5"/&#"#"&+"&">54&N  1  1hh!!zbk2d2O ,'78 1Y   &b.. %.)&% 7 Jz!`#EO[ES*  3 9* tR  <-0/)Xvx46;2&#"&527275.54632#32632326#"&5#"#"'&6'&7>3&4?654#"&54654'&6?>54&#"326 0  0,5*&-ycl%A66 0 +'9y$C2%'' .+.+& 9+18Y%'5 _8  v'DQ\DS?   2 6+  00D  $k$   < 3x B4(559%F2>7>;2636?2>76322+"'"+"'&67"">54'>232>7'&54632#7>32#"./&/&/"&##"&546'4&5&"654&B 1 )     $. L 7 9 5'Z! 37#>!aQ97!i4s7 )( .%7 " 031" -D/_3   03 =6)""  dF1Tp +FS' 2    F ; $h#002?327>;2#"'+".>7##"'5>54'62327.54632#3263263232672#"&5#"2#"7>'&+#"&'4654.76">54&BI'wD* ;+4IS 8 4P2  -;-)+v_k &:51B. *(9 . Q 8 %81# ,&.. %.)&n3 # ,!3L#! # s'BQZFS' 2 8*0' )  2 =<-0/)f<26>;2".'&+"&547&#"'5>54'6323264654&4763223>7.54632#3263?262676323+"'"#"#"?654&"#"#"&"7>54&DDI D*$ 8:&  ( 7 '  S!  3"# 2& =#%&-xb1M5"## % %. 1 T  1 NN9  =  w!<(1D &'(K #/ D7 # 3 w'CR\*= ? >0 -3  )9 3"6 %&0w2?327>;2#"'+".>7##"'5>54'62327.54632#326376322#"7>'&+#"&'4654.76">54&BI'wD* ;+4IS 8 4P2  -;-)+v_k '"#; Q 8 %81# ,&.. %.)&n3 # ,!3L#! # s'BQZFS>"' )  2 =<-0/)%SF2>7>;2636?2>76322+"'"+"'&67"">54'>232>7'&54632#2637632#"&#"#"&547'#"&546'4&5&"654&"264&B 1 )     $. L 7 9 5'Z! 37#>!aQ97!i'  E<(! . & ',031" -D/*_3   03 =6)""  dF1Tp +FSv *>&!))6( F ; $h#00,%F2>7>;2636?2>76322+"'"+"'&67"">54'>232>7.54>3232632#"&5##7>32#"./&/&/"&##"&546'4&5&"654&B 1 )     $. L 7 9 5'Z! 37#>!&J3 0U()8De4s7 )( .%7 " 031" -D/_3   03 =6)""  XK#??(] "5,>R' 2    F ; $h#040jy2?327>;2#"'+".>7##"'5>54'6467.54632#632#"&5"/&#"#"&+"&">54&BI'wD* ;+4IS 8 4P2  Vhh!!zbk2d2O ,'78 1Y   &b.. %.)&n3 # ,!3L#! #NJz!`#EO[ES*  3 9* tR  <-0/) X<4'6323?26;>7>32".#"+".6=#"'5>27275.54632#32632326#"&5#"#"'&6'&7>3&4?654#"&54654'&6?>54&#"326E)-"  -B" B&   (6%  ?8 6 V0 "+5*&-ycl%A66 0 +'9y$C2%'' .+.+& 9+1 8Y%'5 M 0  : 2"" v'DQ\DS?   2 6+  00D  $k$   < 3x B4(559#52%45.'""&=4654&54673>3"#"G4$9+')?'61LH  (3d$: -J0  K0#5G"54765.'"#"&54654&547263>72#".'"(& 44$B#'{T&0MF]$ 3 #3   6B $: 5D4 K0 1 *   #5?%45.'""&=4654&5467376322>7>323#".#"H4$:+%+=-,.TH*E4:+4& )3l $: .J0  G8 % '%B2C4.#"#"&'&676&54>7632##"&54654&7>;2>54&5" H&  *j%$+$M )8^iO;+,g1Ke6 0  >: 3 :0Y:Q;$*P 4 "CO6!!#E57E2#"##"54?654&##"&=4654&546732634&+;262rX#6%! *& )7% ;,%+<W#0M/!/ ' .:.b @:G4  J2?'$5/:&54?65.##"&#"#"&5463226322654&"# 14'!6-3'bM!#j,OGJ&"2 >#<'*4 *;HE7 )3P<4#"#"&=46=4&767276=4&7>322"&54?>i  +' X+ EJJ >U) . %+3 +& H&F" T )#@5O\%45.'"#"&54654.7673>3;267232632#"&#"#"&547#""#""32654&G4$B#'U)71LU & 9 *47- - 0 )3e * ( +!3d$: 5D2   I6l  6R38% 6###<5d$4?4&'"#"&=46=4&547263;24654&76;222632#"&5"&+"5467###&$%5$2%&{T&5H A  ) ,6P -*9;# B/  M#'9 332Q+.&2 2p1 7, 5+5Z4'"&##"&54654&5473263232+"#"&=46'&+"#"&'4654&54>?>II G(^y0G?654&#""#"&54654&54673>;22#"74.'"32561GD2&$""b,  d7$!"& %(?=U 5KLG_&7/<  (FY  88 >   = 4 %5  2 H& *! M=% #5Z$4?4&'"#"&=46=4&547263326746=4&76;2632#"&5+"+##&$%5$2%&{T&5H 8  C U 3,7 !W/  M#'9 332Q+.& H ,=1 9/+T1d654'56323?267>;23#".'"#"&#45.'""&=4654&54673>3"#" 7),/,  D' ;$' >+FG4$9+')?'61LH  (# 0!   - d$: -J0  K01y654'56323?267>;23#".'"#"&#"54765.'"#"&54654&547263>72#".'" 7),/,  D' ;$' >+l& 44$B#'{T&0MF]$ 3 #3   # 0!   - 6B $: 5D4 K0 1 *   1q654'56323?267>;23#".'"#"&#45.'""&=4654&5467376322>7>323#".#" 7),/,  D' ;$' <,EH4$:+%+=-,.TH*E4:+4& )# 0!   - l $: .J0  G8 % '%2u22672>7>32#".'##"#"ᘖ'56"##"&'&>'&54632632##"&54654&7>7654&=4&!)   D% *1'  ZQ$+6) $ '  I*^!2R2a{`;+, i|8  "    1!!2  ?H CX; *P 4 .00Z <41dr654'56323?267>;23#".'"#"&#45.'"#"&54654&54726322+"#"74&+;265 7),/,  D' ;$' >+EH4$ +&z\-Q2m^%8,#)# +# 0!   - c $:  %* 1 H6 -!`9T/^j226726&67632#".##"">54'56#&56?.#"##"&#"#"&546322>322654&#"d@ ! :*6 $  ZQ8,*J$04'!6+5 'cK&:;5L2    )"  "7L#<")6 )":G Q**)Fa267>77>;2+".#2"&54?>54#"#"&'&6=4&54632676=+"'5>54'6U@ ( - 8A1 *4#  &JJ >U) i B$'R &6 Q0 !p3%#[&F" T ).5D4  >""?g463>2632###.=4&'&#"#"&5465?#"=46567>d & 259g " .F)   C 2# =) =/& +      *r]3  "   G#&'$!    >V-O^?463>2632767323#".'&#"#2#&=4&54.'&#"#"&5465?#"=46567>d & 44(8/$A ^)6%   #&$ ,:   C 2# =) %E,7  D" . 4PX' &    G#&'$!    >V-O^?u463>2632?>76;2#".#""#&=4.'&#"##"&5465?#"=46567>d & ):6a   <&& 52% -7   F 2# =) 6..    1 ;3Z`(  G#&'$!    >V-O^>S4>7467232##"'454&'#"##"54?67"#"#"54&>8ab96WpL (*9_R' ! ) :E3 5'49R*92  ,]-6  5 -e#"F.  5?dv263232+##".54'.#"#"&5465?#"=46567>3463>4&+;265-67c#3E/&8)) $B)!  F 2# =)W "0' (7/)x # $(   G#&'$!    >V-O^   1C465""'+"=>32+"=.'32+"&54?#"&62?+ 0BcO:3 +0)) 9 ( Ua/ E0  (Ij(M2 "4 ;R K :ww?P"=4674326;232623##"54654'"##"5467"e&;  BQH $,  % ( %5,# <  2'a 9lc  1 9 '>sK/?W463>>323267263#"&5"#'"#"'#"&'&654&7>;263&=6.'&#"6##"#"&76567##&546d ' 6a [1 3(:*  . ;34& " <-)/    ( Zb-l   :/+', 7)Q 4 #/O=1 n  P] C n?)kv263232+#"#&=4.'&#"32+#"54654672+#"#&5467>34632>4&+32546%4&+325464&#"#326 ;M+K1 SO!0& 8%4H; XM!0& Z) V^P!0& 8%"z %2 #?4%#?P'#$,*$+m/! 9-JZ3 4 BC . 0 ("lU-! =H[$1Tl+ -?+ l?a~26326;2672#"&5#32+#"#&=4.'&#"32+#"54654672+#"#&5467>34632>4&+32546%4&+325464&#"#326 =J9kKD' -)9jSO!0& 8%4H; XM!0& Z) V^P!0& 8%"z %2 #?4%#?P'#$,6* 2 6,2r/! 9-JZ3 4 BC . 0 ("lU-! =H[$1Tl+ -?+ l?ko{2632;2632#"&5"&#"#"&=4.'&#"32+#"54654672+#"#&5467>34632>4&+325464&#"#326 =JM[ *(: - !* 3I": XM!0& Z) V^P!0& 8%"z %#?P'#$,\Y8o,  1 8*,_e 3#. 0 ("lU-! =H[$1T-?+ l*]lx>34637632632322+#.5?=4#;#+"&5467#2##"&546574#"326546!4&+232654&+326514QX& 0$ $UL87J  - !.VF**$ _o=QVF_> &_'(B"& "&N//  } /% ;b'L "*  4 *#") + /- ll?26322;>3>32+"#"&5#32+#"#&=4.'&#"32+#"54654672+#"#&5467>34632>"32654&4&+32546%4&+325464&#"#326 =K|I ;# B'53<O "9JSO!0& 8%4H; XM!0& Z) V^P!0& 8%"z [! "!%2 #?4%#?P'#$,m 7)#8.5Q>(#".)"w& )S0 =Wj8&-0 7I /");b45 F. 7 ' I[E/% ; '!&Fu 0  + ?Qi|4>3766323262#"&5#"'"#"'#"&'&654&7673>7&=4'.#"32#+#"5465"2###"&=464&#"&#"&6;265%4.#"#326 , 9NM ( )(<*  , <9+ )"  b %R.BUJMO#& O^J <) #?3)#!B)l  ,^Y?h+ 0 5+*D 5&%(- 8.1 $ o/}p  lF6^S`74675.54>76=46;22#"&#"#".5.'4&+"+"2654&#"FY698*11 8 8ZM`NO  >F  ..\B%/ 67@A('4 + 991*>$ *)   D v6 2=$(%'# $3G^_l74675.54>76=46;2232672#"&5+"&6'.'4.+"+"2654&#"GW798*11 8 8ZM`$&m .-9C  413F 4 ,\B%/ 65BA('4 + 991*>$   1 7(J!%F u:2=$(%'# $3F%^er74675.54>76=46;223272>7632#"'"#""&+".5.'4&+"+"2654&#"FY698*11 8 8ZM`nP  )5K%   ?L ,/\B%/ 67@A('4 + 991*>$%G" - 1  R mA2=$(%'# $386^_l74>75.5472>54=46;22+"&6'.'4&+".45+".72654&#"8#3( (7 0 z304  3&I ,*   ;M;!(*54 <)]. % W /  6?   %G  - 6*#- + #5F^Q^l74675.54>76=46;2232+"#"&+./.'4&+"+"&2654&#"4&#"#3265FY698*11 8 8ZM`RQoW^(  $$MF  <\B%/ 6s' $5BA('4 + 991*>$- * "N w5 =$(%'# $3,+F^kx74675.54>76=46;2;2632#"&5#"2#"&#"#".5.'4&+"+"2654&#"FY698*11 8 +0; \ 1*9: NO   >F  ..\B%/ 67@A('4 + 9 +1 5+/4 *)   D v6 2=$(%'# $3F^CP74675.54>76=46;22+"&'4&54&+"+"&2654&#"FY698*11 8 8ZM`ZY -/OE  <\B%/ 65BA('4 + 991*>$% /  x5 =$(%'# $38v^74>75.5472>54=46;2237>32#"&'"/##"&'&6'&>7267&=4&'4&+".45+".72654&#"8#3( (7 0 z304zV"N)&6,< I$ & $DZ%N ,*   ;M;!(*54 <)]. % W / 'D0 0 8&  "2 =  P  - 6*#- + #5F6 HU74675.54>322#"&#"#".5.'4&+"+"2654&#"FY698'??" >?&,/INO  >F  ..\B%/ 67@B($5 1!2 *)   D v6 2=$(%'# $3G Ta74675.54>32232672#"&5+"&6'.'4.+"+"2654&#"GW798'??" >?&,/I$&m .-9C  413F 4 ,\B%/ 65BB($5 1!2   1 7(J!%F u:2=$(%'# $3F% Zg74675.54>3223272>7632#"'"#""&+".5.'4&+"+"2654&#"FY698'??" >?&,/InP  )5K%   ?L ,/\B%/ 67@B($5 1!2%G" - 1  R mA2=$(%'# $386 HV74>75.546322+"&6'.'4&+".45+".72654&#"8#3( *4[jXl214  3&I ,*   ;M;! "54 >(1NA8 0  6?   %G  - 6*#-%#5F FSa74675.54>32232+"#"&+./.'4&+"+"&2654&#"4&#"#3265FY698'??" >?&,/IRQoW^(  $$MF  <\B%/ 6s' $5BB($5 1!2- * "N w5 =$(%'# $3,+F [h74675.54>32;2632#"&5#"2#"&#"#".5.'4&+"+"2654&#"FY67:'??"Xk; \ 1*9: NO   >F  ..\B%/ 67@B($5 ?41 5+/4 *)   D v6 2=$(%'# $3F 8E74675.54>322+"&'4&54&+"+"&2654&#"FY698'??" >?&,/IZY -/OE  <\B%/ 65BB($5 1!2% /  x5 =$(%'# $38v lz74>75.54632237>32#"&'"/##"&'&6'&>7267&=4&'4&+".45+".72654&#"8#3( *4[jXl214zV"N)&6,< I$ & $DZ%N ,*   ;M;! "54 >(1NA8 0 'D0 0 8&  "2 =  P  - 6*#-%#5Z/B74&547>632+"#".7>?26=4.'32676=]":/L'+(% o] # #   ^%9:@J7|(7=E "!!+!b/)=& %#[0DT%#"&5+"#"'.54>326322672%>?26=4.'37>765)(9A+:$K .?85EDu  ] #  ! K=+(D % 6+U +UeCj@)I="`"Z "*7 ) 3G -@f""A&8LU7"&54>7>7"&54>726327>3#"'#"&#4.#">72632765 7j!G/*AT FXH-!"2,J(    I0"  )!z8-(2'[0 >:-  !+ 3   ;,%M&"&%8B7"54?>7"&54>72632+4.">72632765& >h H2()@ ,4 NX( w +2#!./7-'3'"2) 3X?  !$;' O! "&)=FS74>7".546726322+"+"&544.#">72632765"232654& %LM0YM(?W\Lr%6+  E   I0" *"s B) +2W Y- $#*    ;,%M&#<  A0/@J2&"2#"'.54767&'46;2654&'.'>2=!  (Z .-@$/ >)% @ $   VP:0!=5%&A#2 (@49% {  A *E2T'/ @7C+N(/77"&54>767&=47>32+"+.#">=t!C.Mr>YO H1A{ tN#7 8E@N)($,Q63?+S  (sM6-ZI@BP%#".+#"&4>54.'&6?632>26;2>763%32654&#""*6 '*775IA\\A 9 '!;;J!6T" ($ ]! 7D2;+' 6*a?j]GEW0A)G:.8-"! 7Q)#203!GIGUg7"'54?>7#"&54>54./&476376326;27>32#"'2+;2>7654'  !=/9(88( #*KB !.P-" *2J S:  Q5F  ,  $  C +$";+)5  949 <0  ", s  + %  I>R266;265<62;2+"&#"&54>54.'&476?6.#"#""3265'7pS=',)$9( @ E(#9_,:NA\\A 9 T 2    7(7$I?5XZC "0*#97  ?W $B54^GFX0  ,,'"*(%!/IH_s%"&'4&5>7"#"&54>54&/.763726>;2332672#"&5"&#"#"+"7>54+1 EB9*==* H %5_ +!& R  2*9 )    ~-$<)(2  2*>=    D1 6, `  E, " #9IIWd"&547"&#"&#"&4>54.'&6?6326326326323263#"&#"%32654&#"2654.#"A-+ #''.6';MA\\A 9 '>^A:1E.  !$-A,2;;29#;"%5* $)QA Aj]HEW0>)B@L4#7!*!2J8 +$#63(  #1'i%"54?>7"#"&=4>7632;2#"&547#"2>54.54;2;2>#"&5#"+ >R8/RN:F7 4)AH*: ++E*6 HG3();`  ?%,O)-7Q0  -(85*K! #? 1 7+ E( *J[ev%#".+"&#"&5'&54>7263232632#"&#"#".5476326;2>;232654&""32654&#"  +1$ +%- K).I(9Q3267'>7"#"&54>54&/.763726>2;2>72632#"&5"#"32636#".5"+"&#"#"&5"7>54+"'&(GEB9*==* H %5_ $0  8X  1*9 (c 3%0 = 9@$2  j0   ^-$<)(2  2*>=   ? " 6+[  1 *' 3C, " #&d@%45#"&54654&54>?>323>;2#"&5#"*R1%,(D-FB2 W (): Y !E 25 3   & 5, ] &dW%4?#"&54654&54>?>323>;2#"&5767323#".#"&+R1%,(D-FB2 W (): ; ]:*0#*  *J L" 25 3   & 5, i6  '%j & #&dY%4>7#"&54654&54>?>323>;2#"&532636723#"'#"&#"#&+R1%,(D-FB2 W ():$5 m  :$JG  8IOٖ 25 3   & 5, B:= 1 3  YQ47""#"&'4676&54726323>32#"&5##"&54654&76;6367>5p;& % m]w& ro 2+8 d:$% Wp=X> #4  (2 7( y)\8J[2, #?K?&dDS%45#"&54654&54>?>323>;2#"&52#"574&+;265+R1%,(D-FB2 W (): k]<&""!,"+ (I 25 3   & 5, -:.B) CeP7#"&54654&47>7>37>323>32632#"&532#".547#"Iz2$&( & U  -*:*V(* 2 9%  01 2  2 5, &50 <(dW"&54>7674'#"&'&674&546;2?>?>323>;2#"&5##E;]dc 2%&GF& X ():O7Z_f$ 716V5292  11 -   & 5,3,32;&545#"&54654&54>?>323>;2#"&532632#"&5#@#- 7R1%,(D-FB2 W ():%` )(<B9 4  25 3   & 5, ]  56,1qe2>7>;2>7264676322+"'3267654&7>32#"&54>7>5"#">54'56A 1 )' ! 1 N63td/! L  54&5&632726363>32#+"&+6363>3232#"&+"&'&5467""&'.54654'4.#"#"#&##"#".%4#"#"#326363>2637.*>!/8  :'HE(% *)"4 &  .  :4s$4^N%7 e$D"@I7Q3ZI[A     5  &7 # >9,-  /  ^) +"`5 X 3; 5# 1qo2>7>;2636?264676322#"'632326;265<62;2+""#"&54>5#">54'56"326=.#"#"< 0 )   ! :;&F2/6e'E 6* 9( ? F(>[.:N,BLB,7 T2 ,?!7(7$ 2  I3   '"3 ,T4W '5( 97 =X #B6*O;C;O)"$|<((%!/,'0-43?632""#"=4>3>72#"=0**   > ;  i >   ?  E C,BS4376;2"#"=".54=46?632#"4>72##"=74>72#"= S ? A =3  L 65 i  > ?W> >  3  A 3A:X\D,A3254>764672"#"=4376;2#&=G )_*! ĥ X  ; P  A D      2  A ??:2]#9O254?62.4=43764>732#"5"54676;2D)#" . Lm2  M :" < (_+ >  ?   7     ;i-$=>32"+"=42546>32+"=4d -   - 3d $   / @   /@ 0(?437632"#"=4&#54?>724672"#"=4&0L , ?L*)_!X  :  > @ x |  2 A0(n+C2#"=4632632##&=46"=4676;2##"  M  L L >  >n  5   C A   A ? ?  0(n'=Ui}2#"=4672.=4376!2.4=437632#+"=454676764672"#"=4&4>72"#"54376;2"#"= L  { . L . L ))   H!X :  68  : L    W n 5 Ab> ?  >  ?  qA @  2 A   2 " =   ?2t|#HY{"&'#"&'&6'&632632++"&5467>54&/&6;22>54&+"3"&5"&54676&76326329(8 % && -@  3VhU /81-S(  ;3",4%"+ 4 l *8 +8$ R  *3. #3  D' >O6Da '"  )$$4-2)>&6+ #(% '$ #t2%Q[#"&5#"&546'&6323>2#"';2654&+"&76;2+"&'.54>32"254&#"&5#"&5465'&7>;263221,8BO13&" 2J j#!, H,M#)!1 /FecQ'&76323>32"&5+"&5>732632632"&5#"&54654.76;2632M1(<9.+ b _~)$ a*9p B D x[ & ):9-, Yi ** 5+ 'K "   07+ %   -g6+ 'K 0'0 LtM&:Jn#"&5#"&54>'&76323>324>3#".7"32654&'&"&5#"&54654.76;2632M1(<9.+ b _~)$ 2J>7E.u]4Q- o !5,A  ):9-, Yi ** 5+ 'K "   03M&'O5'&76323>32#"'#"&54>54632;232632#"&5#"#"?63>323"&5#"&54>'&76;263231)<9-& b _~)$  B&0A'77'  5/T 1*95 X'f I- +*89-%  Yi *) 4, (J!  A ,%>- ;./=" '71 7+E7%##'$- 6+ (K" '$ `2$bu#"&5#"&'&654.76;26324&'63227262#+".'&67>7654'#+#">4&#";2564#"&5#"&54654.763263220,9\ZH, Wj  #3   LD_YiB 3 % M/#F, Q',9\Z% %O|   6(  ;8 / '$ . *"-  6U !") % 6(  "3 3 '2O`&x2632#"&'#"&'&676&7>34&#"#"&'&676.7>326263>32726&676;2#".'"#"+"#"=4?6#"&5#"&54654&5432632i )-7\Z$ & D ? 2%( Jh ,(2!#  ;)8&  \/ } 0-8Z]++&^}  d'( 6(  "2       32 )  6     *"9$ 6(  *81'1QZ#s>32#"&5#"&'&654&76;2"&54>'&54>7#"&'&>'&54326;2632#".'2632#"&5##"&5#"&54654.763232632V}t  )(<{A$-  L' (k3PA&& vM1K * #R0 !.*8TW_3,,8| B+% > ( h  u 46+D: 5 x " * 0C + +66* 01T 9(-Q3   'OtO(Sa#"&5#"&'&654.7672632326322>?>54.7>32#"&54654&54?632>7"&'#"&54676&7>32632O2)99-& I A   N0-=\3@X$) 5) )8 +%  '&.C ,) 5+ (J 5 ( 247"I9CQG0X  &#%=N)#Z2. #( '2 2`2$Fj#"&5#"&54654.76;2632>54.763732+"&'4&#"&5#"&54654.763263220,9\ZH% Wj  9 ; &5 1`',9\Z% %O|   6(  ;8 . '$r  6     6(  "3 3 '2%d"|2632#"&5#"&'&654&54324>54'#"&54654&54;2$76;2#"&52+"&'4+"+"&5"&5#"&54654&54;2>32e  ));G' Xv,,`2%&j (*#  1+9a 5C+7 d T  Aw+9j09-%M \{B  1r"+5, :7 45+,;!  112  6+  */*&Ald' #6+ (I2  fd$b"&5#"&'&654&54323263246;2#"+"&'&54654&#"&546323265"&'#"&54654.76;2632^)9 *' X^ *]H XR * 6"65Ccg8  !%*8f37,2 Hx  0 6+  "' 4"% FT6Iu $t96H)#2J$ZGTm #F/(aP@3. 'J2 !1 Hf&y"&5#"&'&654&54.76;2632"5&54?67&'#"&546'&;232635465.54;2>54&74;2+#"&5#"&546'&76;2632A.72$* N#f  )P  .?;dJ*$ 5  :  5 HDJC>)(;f3& %$  O#c 6) .. 2  !5 W #3  ,K B #V  # : U!   5* "1 A !&6f'g#"&5#"&54654&54;26323>2467##"&54654&36;232?6>54.76;+"&#"&5#"&54654&54;263232632&-7|++%Io % 3'" 8 !#$  C ID0-8|H&KQ 7(  )72&; 2FQ  a  )   6)  :72! 1Cd*j#"&5#"&'&654.76323>32"5467#"&54>'&676326;2632#"&5"#"#"#"&546'.5467>3>;22>326#"&5+"#"&5#"&54654&54;2632v )(<$ ' HTp&$]% * =N1g .,6;    %#5\ N  7  3(:2J% k91);f32$+ Jk   56+  "1 4   Q  !2  " 1 :'8 =  Z9s $ 6+&Il 5,// 3 !(1d)n{>32#"&5#"&'&654&54;2"'#".54>3763232632#"&#"#".547"32>7>32"32654."&5#"&54>'&76;2632So%$ /';$ & M  K2F2:0(7K79 C !19 :#- TST2" /  :* "):f3$ %  Ik  2r + 6+ !2  4 , 6)Lp9$ ($9 '%nQ  '%"$6+ "2 #  !% %fb&#"&5#"&'&654&763232632"54?>7#"&54654&5&323?326;>72#".'"+"&5467##"&5#"&54654&763232632 ),9 *( Zs U0 ^2$'f)N8&~ KKA- - $     E4/   `)-82$( Zp x3 7(  "(3!/Gu4 123 % )Ej' 6 6)  ./ 0! 22d#(So#"&5#"&'&654&7632326324&547>32+"54654&#"#"&746"&'4?>32;2#"&5#"&54654&54.76;2632#-(<*`% &  C!^ I;92 " 3#*   =,(c  3Q  1*:f3 ++ He   & 6+"3 1 " +  %3  B   *R 0  (}  5, "' 2  !d#&JX"&5#"&'&6'&7632326322#+"&54654.546">54&#"&5#"&546'4&54;2632+81Z *'%  E ] -.TM2  1W| 'MR1)'&7632326"&54654.'+"&54654.54632!>7&5474632!+"654&!"654&"'#"&54>'&6323>32.c /)9A *,  R   /^wYD!6`t"  ,(D)D[Y H9-% +Dq.#  -}+ 5, "' "   9 &<.AG5%}?0 # >BZ| 6 6>$Z&57 ['a (I!  !#5654&'##5>762/./ [A#A@EI!A2(x$ "0%+5654&'532'4&#"264.#2>m@'&!:<$d3Go>;C$*34)x;='.& 1#K 97#,'  # %+5654&'5324#"326˓o$$wX&!dUls$.$psZ+%!5>54&'5!#.+"32673#.+6:>7$$n'2ZY()Y *  rr$.#b-'(   #"546323254&'53(E=M '&>H2-;% 5!#5354.'#5>54&'532>54.537 "HI&(&'L/1 '$z  UF%)'$%C,9  x  %!5>54&'536:>7$$$ *! rr$.## !Y%!#5>5##5>54&'533Y(,'$$(1~s#/%X#$ #.##5>5#"#7! &2,'*$8' N4#&*S7t  #"&=4&'5332=4&'53+NQTv&%:Az*#.Sb[Q%$@8.%"&'&'&'53>54'53 ZB#.a8+/!2(u$t>#"&'#"'.'537.'53>54.'53  \ p   .*:[ & $!(# { *(',V  u5+ []T[RY %!5#"#7!3267 /[E-&2vk(E &'3#5>54&'5324.#"32/NI)&'$"<:"P/* qG,:|%('$ 4%( .=#"&5462326='5##"&5463254&5677'54&#"326/!0""z*WY]vY91&V=(?(,;B1=!., !+=@]\+%(,(54&567>54#53"67-!0" C[   ,h32/]C&(+ !., ![v  ,` 3D"3 *#"&5462326=#5>54.567>7-!0" +"#b= !., !)!  B#"&5462326=#5>=4#"#5>54#"567>327-!0" (M(;" &# K?;&3 !., !&+a9!(9O">9&eU  K#"&5462326=#52>54&'3#5>?'.#53">54'5367-!0"  T V(r^  +< 9(4S5/; !., !    \ U *xWJL #f$%#fIDQ!#e%9#eDEuQ#ej%k#eD`EQ#q%#qEuE)y#v~)"v!#e'"e>Gu#ej'k#e\`G#q'#q\uG)#z'"zfG%#X*'#X\ G U#CZ,#C^ U#vdZ,#v %U#X*(#X: H nU#hZ(d#h:PH )U[#d)"d: "!#ep)9#e"I  #q*& "qRJ!#e+ 9#ePKu#ej+ u#ePjK!#j+ 9#jQK)#z+ )"z\K;#d@+ ;#dR@KnK#hZ,n+#hZL<#vo  A#v"i#v.#v3N"u#ej.u#eXjN"#q.#qZN uV#ej/u#ejO uV#qu& #q V#q/&#qO %V#X*/%&#X*O _i#v0#vP _!#e0M#eP u_#ej0u#ejP !#e1M"eSQ j#e_1u#eSjQ #qt1#qTQ #X1%#XT*Q"%#vQ#v,"#jo #jR"#CZ,#Cw"#vZ,#v,i#vJ3'"v S!#ep3'M"eFS!#e5OM"eUu#ej5uO#ejUu#q uO "q #q5O#qU*9#ec63\M"e V*g#ec\63k\#e `V*#ec3n9#e(*#ec"'^9#e#*g9#ec 3k\M"e  Q!#e7 "e`WuQ#ej7 kC#e`WQ#q7.C#quW%Q#X*7.C#X Wg#j\8 k#jM`X`#hL8 d#hNPX#X8 #XN X%#v* Q#v'+#jJ, "jMv-(#h9T"hRYj#e_9g#eP\Yi#CR:#CZi#v:#vZ!#j.:M#jZ!#e-:M#eZj#e-_:g#e\Z !#e;M"eP[ !#j;M"jQ[!#e<&M"eM\ Ue#X="X8] uU#ej=u#e7j] U#q=#q8] #qRK'"j`W#fZ&"fN\%"V6D9#e"Au#ej$%k#eH`D#t$%#tDI#v%#v"I#C%#Cm#t%#tR#h%@#hJu}#X D%k"XI E?#v%k#v"?#C%k#Cm#tJ%F#t#h%*#hJus#d D%k"dI E uU#ej(k#e9`H U#t(#tH U(#h(T"h:H UI#vd#v UI#C#C^ `#t#tX U#h@#h: uUe#X \k"X: ];#t,"tu;#ej,u#ejL"g#e\2k#eR`R"#t2#tR"I#v#v,"I#C#Cw"#t#ty"#h@#hT"g}#X pk"XS q"#[b#[c"#\b"\_c"#tb#tc"Y#hbj"h]c"S#eHbW(#ePLcg#e\8 k#eL`X#t 8 #tX:#[q "[dr:#\q "\ir:#t q #tr:P#hq "hJrS:P#eHq W|#eLri#C<&"Cr\u#ej<#eM\#t<&#t\(#h<&T"hN\)." N)." )." [)." h)." \)." i).L" ]).L" j"T" Z0"n [0"n h 0"n \0"n i&"d ]b&"d jb)" N)" )" [)" h)" \)" i!;#Tʹ+E# #@ [#J h#@ \#J i " N "  " [ " h " \ " i L" ] L" jh#T^# =# [x# hk# \o# ie# ]gJ# j`J! " N|! " | " [| " h| " \|" i|L" ]|L" j| #T # n3#T [#Z h=#^ \Ȧ#^ i#T ]J#T jJ" N" " [" h" \" iZ#TZ# V# [_# h# \`#" i" N" " [" h" \" iL" ]L" j Y# e#, h#6B i@5@#, j^)" Ng)" g)" [g)" hg)" \g)" ig)L" ]g)L" jg#T# i# [# hy# \# is# ]mb# jnb)." z)." )" z)"  " z " ; " z|; " |" z" " z" )" zg)" g)." C N)." C )." C [)." C h)." C \)." C i).L" C ]).L" C j"  Mi"  Mi"  M"  M"  M"  M"  M"  M" R N" R " R [" R h" R \" R iL" R ]L" R ji# MA _# M7 # M # M # M # M # M # M )" | Ng)" | g)" | [g)" | hg)" | \g)" | ig)L" | ]g)L" | jg# M` # M` # M # M # M # M # M # M ). /@#"&533267#".'##"&546323733265'4.#"32>CG9.0-9 d:Zks\AJ  T#+<-$2 9,.<XE.3.3u#!8H\^cG{r<B~,UF0LD"+OAOZ).&7!5!#".'##"&546323733265'4.#"32>79 d:Zks\AJ  T#+<-$2 9,.<K6u#!8H\^cG{r<B~,UF0LD"+OAOZ)." C z)."1B%#".'##"&546323733265#"=332654.#"32>.9 d:Zks\AJ  T#+]JL<-$2 9,.<ku#!8H\^cG{r<BXOc.N,UF0LD"+OAOZ)." C )." O)." C Os"d "q# z_# `# MslUCTXa(-N#"'732654#"#"54632N;*& $%'/ 4<*> $-*;]U#"&#"#>3232676'V%6*T)8+++6+l-"#"&#"#>323267"&462"&4626'V%6*V(((()8+++6+((((" R z#2#4#"#4.#"#4323>32#"=33265T>U*[$ F='4 ]JL&c@gd",,D`27%6XOc.N" R  " O" R O# z n# n^# zC^# D# Mv- #.54632#7254&+"&5432" evO *(--505 7c7 #8u- #7>2#7254&+"&5432S(wP*(- Rc7 #8]-L*#"&#"#>323267#"'732654#"#"546325(T% 6*V>0 %(/L*7+++6+ 0 !.  #"&533267#"&5332>=3CG9.0-'/97/TXE.3.3;>;9Y #!5!#"&5332>=37/97/TK6;>;9Y #/"&462#.5462"&462#"&5332>=3((R".((/97/Tq((`505  V((;>;9Y # -"&462'#7>2"&462#"&5332>=3 (()S(~((/97/Tq((H q((;>;9Y #" O|$" P|;["d B"q# zV# Me- $#.5462#"&54632#"&#"327"g &99.+"! -505   9&.6')d- $#7>32#"&54632#"&#"327"' &99/,#!  505 9&.6')]-L*#"&#"#>323267#"&54632#"&#"3276'T%6*TD!/.) L)8+++6+ /!(." 1#"&533267#"&54654#"#463232654&54632CG9.0-jHP#0(610$2=F=?XE.3.3qXI$$9\:FO4|6@g@($(!5!#"&54654#"#463232654&546327>HP#0(610$2=F=?K6XI$$9\:FO4|6@g@($A"&462#.5462"&462#"&54654#"#463232654&54632((R".((HP#0(610$2=F=?q((`505  V((XI$$9\:FO4|6@g@($?"&462'#7>2"&462#"&54654#"#463232654&54632(()K'~((HP#0(610$2=F=?q((H q((XI$$9\:FO4|6@g@($,#" N,#" " O" P)s"d) "q0E# zm/E# n# b|-"&462#.5462"&462((R".((q((`505  V((w-"&462'#7>2"&462(()K'~((q((H q((-4 #.546324" -505 )" | zg)@O%#"&'##"&546732>54&543232>=4.'5#"=33265`R9>>9R`j]*  #",/.+1!+ &]j]JLWI;;IW_#9(  8&(023S( -N#"&54632#"&#"327N%*<=4/'%": >*4;*-$'73#'1'  5!! 15!!1 )!5!5!5!  2(2s7632#"&5467  !".>2 R 3&-T82O#"&54632'654   !".>2 R< 3&-T82Osf#"&54632'654   !".>2 R 3&-T82s"&#".54>32&, R $&9; Z/)+'7632#"&546737632#"&5467`  !".>2 R  !".>2 R 3&-T82 3&-T82'#"&54632'6543#"&54632'654t !".>2 R !".>2 R< 3&-T82 3&-T82-sf'#"&54632'6543#"&54632'654  !".>2 R  !".>2 R 3&-T82 3&-T82+-"&#".54>323"&#".54>32x&, R $&&, R $&9; Z/); Z/);k."&'#54&'6=#"5463254&5462>32\&*(*)S , ]$$$%-O+h{{E3+ +" 2f i="&:gP>32#"&'>32#"&'#"&5465#"&463254'6=#"546324&54632)$&\ \%(%\  [&$$&[ [%())S , [&$vg?"& w0LI"?f g?"& %6r +">f (6 2#"&546:NP78ONO:6OO98N(67(/oxd #72#"&546!2#"&546!2#"&546!" !c!" !c!" !d" "" "" "*6BN[232673##"'#"&54632654.2#"&546"32654&%2#"&546"32654&"0 ,5C,R/5(#)`F2DtK '95O '@.2d@3FuT0Q 3S#D.2d?4FuS&? 3S"B, OO:U~A'V=8[P:PH(O&2=8[P;P]d(O'1L 1?N\ky #'#"'#".54632326732654.'2#".546"32>54&%2#".546"32>54&%2#".546"32>54&7R/ 4%+_G $rN#2",7?C 5M  2 .3e>%)wQ3*B#C.3e>%)wQ3*B#C.3e>%)wQ3*B#,Q:&E#>-C  =H7632q O4A W (L I-;Q ' 9^0!747'&5432#"1K6  7( AfD *]A 6";XDb3 )3''7'77"&5462"&5462$"&5462"&5462=%%%&$ .!%&$ .!&$ .!&$ .!%%%H!"!"!"!":#MD,8#'.54327>54&#"#"54632"&54632-/)#46 86!<&2g<-3'" ""?7:V2x$TR  X3L% ,?EK#= #UB5yy732>7#"&5EJxI &P9O<>Z-=}`p "6 #8# )Z))5yy7>32.#"5Eـ`}=-Z>7'.54>3254&5432>32#".'#"&54654#"&54>7'.54>3254&5432>32#".'#"&54654%#"&54>7'.54>3254&5432>32#".'#"&54654&0*C =) 4(%8& $F!Y,$2&0*C =) 4(%8& $F!Y,$2&0*C =) 4(%8& $F!Y,$2.  7 -L' X9%'6 :N U .  7 -L' X9%'6 :N U .  7 -L' X9%'6 :N U +!*#5!*XK #K>1NXK74675.=463"&5X$77$OV3(#22#(3VOy:9  9:S8 9622 2269 8TK(%#5>=4&'>=4&'52(OV3(#22#(3VO$77$yT8 9622 2269 8S:9  9DZ#""D#"#"M #"'7!)+ ;r3FfCx@14>32#".7"32654&21GTYB21P+%"$!:U+s^\u,YZZbR]Y9 2#"&4657#5>=4Ev" &&& !2 ##5#53#527F/F9ZZ1  ##"546232654&'&#"54657327+ nZS4 429> KdfEU2',*6B%J0"&54>7632'"32654&GW &=kF'@JPQ,,&!+aP9@0%|G<@N&*?@3,5;( ##"'7(G  x[_*!-#"&5467.54632'3254'>54&#"G-RL;M35N=:L*S'&( E> ,#'('6&09:-&%))+83&*^&-%,<&$"( 0 .2}E ##5#5353K2KK22KK2KK2#5222,#57#522d22@"*5>7>32#5>=4&#"#5>=4&# H"&$0 +02(ze! x-1 *98{*8(t*0#u*82 *0  *00 *8( *-* *60 *2e 2 2L 7H";54&'5!#.+"32673#./32673!5>=#"&546323273#.$23^F#i'8\ i++i#A>#^^$RM+W;ff~% a- ') %4s &tul8Euy.4=327#"'#7&'#7&54>3273733273#&'&'$.zh?o?&#.$1 9$?:`yA)$*%/$2& fc'IJ-6Ye!3&\QT.vy !dB C@W|OyJ"6=4.#"5673>32#"&#"327#"'#5.54>323273#.y<@0J? NF"7' 2zh?o?81-Td:`yA5x& p|+BoGi  Y3(#:-e!3&%yQT.!!Sf "-.+3267#.+!5>54&'5!#.+"3267 +0zz0,),:z$78#4 9T z;+Z h/7!$>8B'  +  Q72654&#"%#"'#"&54632654'#53.'#5354632#"&54#"3#3#32>2N!&/cG7W&(3* uohdoT=4.#"3##54&#"#52>=4.#"567>329C010v) )' &Do %,G"" HD&$6B-&u"rNS452 ! K 159=A#535#535.#53354&'533#3####5>57'#7'#5#35mVVVV$ '9 RRQQ&8;&8[Y7%B.F.$YQ+2+Y.F.uL2.NFFtootFF.SS\%+#"'!5>5#5354&'5!23'&#"#32$$:;MM7FoM>  6"%<I.:5 !M9.. `.v#V5GLPSWZ.'5337'.'5!"37654.'533#3##&'##&'#53.'#5&'#%#3#%7##!&##$ 5!#* M '%$ 9} 1+Tpd&; -^;J9V_! -R<& ec*. &.6s. 0 .t!%FFF.N|FF.K".%#"&'#73&547#73>32&#"!!!!327(MK1F9~K'l(?3. qqxf{gq;D{. .uD;i,V9.  .c|e1 'Ui#"&5##6?>324.#"32>%#"&#"&#"'>32>7>7#"&54>324&#"326 q15@e1*h-A L)1K&*0K&?- F,"5 %3!@` 3d;|jzl) QYmW("r_o}"4-%-@_W! .?\U*'&6KP/,J*6*9pB+B@b3p#/J4J o+*"%/323273#.+232>7#5$4670" M!    7%,$)/[F"*; &=?!!6/$ &>=JIAK.O`Be8# 2 &5464.#"3265L]HbTՒӗJwF.l\|y %%".54>323273#.#"327y?o~sb::`yA5x& pX947BzhyPq!3&'OZQT.!!Sfe$P#&,rN#),r1(6#"54632326767#"&54>3274&#"32> & \N +]*9D#52WA=  2e:2g<);`@  u6=!==$F7@m=.I&r0-u!qz326?6323>3232676;2#"&54?#"#"&54632#"'32767+"?6?#"&54654#"+"54632%"67654#!'\&jaG14tIc9#U( <^$:9L@<.yAP9K0#!$ ?4d+HJ VJ3.)%4$ i'!&j3bP0@73%Տ@6FI?fE3K8 FD60TkY[)& @">YiyW963 kUpD+-bpD%&#"'>32654.#"''7654.54>7327#".'67p+BD< FA+! !<4Dv+U4'GF5hJ$ lK,+,)2O6>9BL0J=l8c{P3nQ/S;+EO; V:!';45E%*J-@:/g4HN::1"+9)5>=!!5>54&'5!!54&'5!%4&'>"<9<<z9/999   &<3#!89!57!5D3#e%#!'D&"'23267#"&54?654&#"#654&#"+567632Q  ( -?&7 Z'!K LQx^%v  2 A1K R;.XsV  @%;%#"5454&#"#'?654+5677>3232>7;-R ^ Ksa y&PM. ='@H Q i$&(.2 d)/]m#!+?@  :!C7K/  : J>74632"'326?&547>7632>54'46;2#"&K(DO4Fws"b\( B@4632#"/&#"'763232>54/&54?&#".9l-H_ UC  +W " "(WGSD[+&6!,<#Vs.(l&8D( V5K )))*)U?G;9(  %A  CLT"327>3232676;2#"'+"546;26?#"&54>32"327&"67654TO`O7\gZ#,-ΰd=dnG1x" M|3TxfRIQEWP:V cY:!P11^:H@&U/H16Lrm:)$]U=B/KD22&1:Rz@=5sK $ -m%xC.3%0327#"&54>7'7>324&#">-S7**F?[8/5\ o%(?%$/=#+#+H%X$LI*\&v=W54&'5!34&'53&'>' H&8>##>'92+$zL2#67 NQ+9D< 32>I!5!4&'5354&>7632#"&#"##"&546323265%2#"&5463254&#"t$%; 3#,6 4L'(8 _@QXA?RU ,%G-$ '22L/J20'# $+@|b#6PK;?UO<@Ok=QW9H(&83254&##"&6324&#"326'+#5>=4&'532l+E(=ŏǑwyxu|D0? $$ %0CV)) {{z-0c   .--f=LX4>7.547>7>7>32#"&5463232>54#"#"&2654/) W0+, ,,0 RG!1y(8V/Nu>6A &&4f=C2$ 8Fp' $./O8"=?ee+  "\* O aH%2KX-voLA2&@oDgs.I%; G'&+6AI!N;*="0#"'!5>54&'5!24#"324&'>=>$$:<<lqm  N9;6" 9:Z\ &" (D( %"N',#"/.546324&#"326!h/'JI-…?s]83PX+9Uo~W1,,1[zLz7 .L{L,TSNO. : C韗_Qw >54'324632#"'326?46367&#"3267>=472#"&54>763263232676;2#"&54?65##"&#6Hjnp/#!# >3;=[<{r;7BF%?&mA7-&:*vW~qJ- $ "0>+ "K_/ "!NQ4""J>U;Pe$cz='U<" wU f,~SO4 615 K:,&")/%^z-A/ %E/(+0i(HC2#qHnX':[46327632327.'.+'7'&#"'&"'7>32>54&#"'>54.u`0)" ),!n((  Q?&h&&FN+AW%7 _0 $ %55%\p._ 5gJ XSW-K )qv^`2)X =7>m)" 0 1' 4  ">!-;!#!5>54&'5!24#"2>4&'>8 :<<x)KV4$=$3ݬ'$,K,#  44# 9: !K6&< -ֈ:&# (D(! &)5!#'#7'!5>54&'5!2734#"2>5-)8 ::6)KV4$=T,&[$3ݬ'$,K,#DR{4#%<6 !K6&< gLrp-ֈ::'+09#'##7#5>54&'5!27'5'654'&#"27t$=$3I0K-:64- 8He@*B'6)r&< - ]]%<6 B?,Q=f6=c%U#5>5#3#5>=4&'533%#"&+"#5332654/.546323273#&#"c$(#|  R0F    ,,/445A=7 L!#&b&%$N *!6 ]6> /#&8-+C {n%):/;#5>5#"#5!#.#>=##5>=&'533# &% 1 Y %  0yg  %$$6%XX% %6$$05$:%%#.'5!'5654.'53#-L-`'% .)J4$" WB% [?,Q,to9 "9 %!5#"#7!!2>7#3T3B! P/?$ DA`=a.!"/#$!!C@^BB%#".#"#>323254."'67&'732654&#"&54632Bw6K$9%'54&1B4 6/ "3<:KOCs N:jKaFXgPs$44$%.'87'!2H/"% 2* 9[>RlVAK\(Y;B^u"."r}"&54>327632#"&54>32#"32>54'#"'#"&54632"'3267>7&#"32>=472%>54'632"327&5,bI4  5@K8[: / +J.'A% =,oL%D5F?U;N/"!$( B6;=IRL?yo96 +:uA W{(SM'+  $/ 5#Vb*!  ,9(i3">9~Q$ $/( !) /Xz.,%bY'%<" yVgm8'xQL5(ny J~Bao2(O 2V8%#".54>327327#"''654&547."3267V\[D%G/!1 KI*(=K&<"hY ^(&:) 1`CIyX`iY+ejF,"^/#Y ")+RM)(.0?.$-J)?qlA3:#%#"&4632!3267%!.#"~ObbT%54&#"#"5>32#".54>7&54>7632#"&546324#"3xF-#S6F+X<%8!?%3R.@K1Y6 -4'N _1MBR6KC7P)(9G6!B-K>MBr&$X+ 6(n O ]+,>TP JND';.@:#^6 =n6$,V&,..T9."17+"5467>763267>32#"'"547#"&4>3232#"&#"32654&5463#"&>5&#")0#!$ +bV:@z R):`D?&% $'#C!t 7(/gF`~TB? C@GW5A\{ p#4-;@"@;_K&%!=Dif)A5"[ 537!.n(>aM'M4MU!5{>"Gz#E ! ").j7;>7676332>7>?6332676;2#"&547>7#"=>7#"&5463632#"'B: *Y:s IV<kMH* v-/G-o  Gl'+-?IwE-47B@Ca"Z7'&54>7>7"#"54>7&#"&/#57654& Z  !O +7$D2 3 V 5 :" l!, 2'410R!- "!Uu/"=  4,3c%S/5% l[$%!7!26=&#!"&546573!2[** G5& ,)R%  /<)% 0  (+ #&%#&#"#73254&/.#"&54657;2# $ #5& +!3N LL!,% .  L"##!"&546573!2   & 5& ,)b '&t|nI")% 0  {!5>=4&'52"&544(42V==X;(((=X;;-+#u #u"t  #  "t#   "u#   " #   #  " #   #  "u#   " #   $#  " ' X"{  ;,d!)5>54&'5!!2654&#"d?"!@R?#$>>#"?>$% 87 7D7!!99!"8D7# !/%2654&#"!!5>54&'!>54&;>#"?>$%{?#$>?"!@R?#$>?"!!99!"8D7# 7D7! 87 7D7! 87,"!5>54&'5!#654&'53#.;=%$>?"!@1.) )%'#7D7! 87[o0 ;%B'9,"#.'5!#654&'5!!5>54&% %% .) )?#$>?"">%C%[o0 7D7! 89!  932654&"%!!5>54&#"#.'5!#654&'$=<%"|$m?#$>?"">% %% .) ))D7#"89!#6 7D7! 89!>%C%[o04,:H)5>54&#"#.'5!#654&'5!!2654&#"#2654&#"4?""?$ '& .) )H?#$>>#"?>$%>#"?>$% 89!!<%B%[o0 7D7!!99!"8D7#!99!"8D7#C"326?'.%!"7654&'53!563654/!5>54&'=?%#:#)BmJ<["U*q()15/ '(23_w4 ,?"!@"7D6$!Qi3 v;2 !:+LA 87 ; C%2654&#"!563654/#5>?'.'5!"7654&'5!7#)8.7/ +D23_w4 ,'*@mF=2."U*q()?#$>#76$#;,LA Og4 v;2  7D7!   Q%2654&#"#2654&#"!563654/#5>?'.'5!"7654&'5!=$%<;''6$&;.60 +m23_w4 ,'*@mF=2."U*q()??#$>"88"#7D7##77#"<,LA Og4 v;2  7D7! V/y&' _0L#LL)#L,#LL#YLY#LY#L #LY#L #L #LY#[L[#L[#L #L[OFGP>4%!'7!$ww!!.]'#'7!8 w$w>4 ;.] <>4 '7!'7!'7vwwov !!"-S %'7'7'7!! yxxyy>]#!"-"->]#'''5!-""->] A>] B>4%!#7!'7!73!o-2-ww(*2*妦!!>4'7!#7!5!73!'7w-2-{*2*w!8!;4#7'3232>325&#"#".+7';w*cj2-Q=:D$5')XU-Q<:E$*cj2w!99/BB/&,Ub/BB/88!4#'7#"#".#"563232>;'7w*cj2-Q=:D$5')XU-Q<:E$*cj2w!99/BB/&,Ub/BB/88!>4%!'#'737!wvwwxw!!!!.]'75'7''ߐ!!!!wvwwxw>4 I.] J>4%'!'7!7vwwwU!!!!8H4 ME>4 %#5!'7!538ww84!!-1 O@>4 O-1 PV!5!''7'7'7 .!! 2yDxxy>4!##5!'7!54>324"32 5,8ww,1G9~??] .qq" +1F1??@>4!'7!#5".54632!'754"3w8,5 G1,w3~?!qq. 1F1+ !@??@ 4_.'7#"#".'#".+'7322>3232>;'7_wcx::9:@Cbwwb"F6:A3'+ 6D"cw!iT` `T45!!/.dc>K>./!>4'7!#7!'7!73!'7v-2-ww(*2*v !!"> !##'738ww!!> '7##3'7w8w!!> ##7'7'38ww!!> %'##3w8w!! X5!3'31TpoT!7[nZu3!'7!#7[nuTpoT #!#.#"7'7>32#Aٙv(! (蓴وlos #%'7.#"#4327#!(wA)olٙsl? &54732654&''?j"[4(">fiiӖq"a}8f>"ql? &547'7&' 654'7?jf? \\#iiӖq">@&`}a"o>%!7!x!>4%!'!%!5!'7x8!>4'7!5x<!8^%378;Hx'7!5!'7!'7!w$w$ww!8!Ð!!-^'#'%7'7!8!=!!w$w$ww>x!'7!'7!5!'7$www$w!!!8!>x%!'7'7!!!$wģw$uu;!̫!8-^'#'#'77!88!̫w$uu$wģ>x%'7!5!'7!5!'7w$ww$wģX!88!̫-^%''73737̫!88"ģw$ww$w>4 !7!'7!5xx<K!!8>4 !5!'7!'!x%!#7#'7373!!!%!3T2LL2g'X='7##7#'73733'7'#!%!3L2LL2L='=<]ii]]]]]JJI>'7##7!5!7!5!733'7'#!L2y'`2L=' ]ii88]]]J> %!'7!!!yLLJ=<]]8JI] '#'#'7]8JI8]Ly= '7!5!7'!5!'7Ly<=JL]8IJ8]] %'73737]8JI8]NLJ=<yL> '7!'7!'7'!!L0LLL==<0^]^]JJJS %'7'7'7'____KLLDNNN"Nz6>??> %(0^ 'Q )\x3' _0(x]( > /'/'/) Q' ^0(x\LxQ(_ 0' (> %?7?77 xQ(^ 1' {) (/ `'Rw> %Qx) '0 ^R )^w'0` >A%! !!!!!M5MCh'hq;]A@]8r8r>B '7!5!7!5!'!5!'7Mrh&hCM]8r8r8] 4$27'3232>732>3235".#".#"#".+7' w\A?:<=92), (#7A>9;<9D=5Acw!54Nc bP>I>"854Oc bPcc./! 4$2'7#"#".'#".#"#52>32>3232>;'7$w\A?:<=92), (#7A>9;<9D=5Acw!54Nc bP>I>"854Oc bPcc./!>4%#53#53#'73ࣣww8888!!>4 2 #33#2*hhwK\lu`]%#"&54632#.#"3267` nhhn H ZOJghIN[ opghqPbhJ IhbO*74>32654&#"'632#"&%&#"32>(R6&A0TH5?)M6oDa8PmT72>V0)%;DP7&C(u 3Ǐ4=q7|Y>G1HSC,)5!2=!5!54&#!5! p!<%2%%,z )#7#53#53!5!73354&+5#32#4$OG+%0%b E{N!%#%%'.#"'#7.54>3273'&#"74'32 0R5+! 1:3 0R5'% 193&/!!'K(UaJ160S(TaJ260$A@T,OR`3 %!AP3$ !UI4%#"&46;#"!!;ggJlk pEʔ2eI2Jd4h!&%#"'#7.546;733#3#;#"3#&0677#53.#"5632{5!''9.%lR"4,lp( %E-7Ep+ #3!5265!3!52654#5!"/21//22/_^u1  1K1  1rc#%3!5254!"!4!"^_/232/f/122/ccr1  1K1  1.#!!2673!!^!;1HVC6W K%'# %=ӥ>>%!5!>8>>!5!##5#53533>8848>>"&5462##5#53533s,,88,?8C6 C63#C.1N>?;74>7.546324&54632>2#"&'"&465"&>1U U; k  p0UU1 k  o`ce^  _ce\>G #"&546324&#"32mMOllOMm0R8:QQ:9NllNMmmrQQ9:P>G #"&54632mMOllOMmNllNMmm'7p_{8A/3O #u`" # `" >a*:&#"327#".'#"&54632>32.#"32a!ZE!(++0/ -6@>RF@J$05- .,50M0x =#/)$*).fCKGF#1 ! I17n4>!#/#"'#"&546326324&#"326%.#"326!dOoa'w6GOfO;q#taGM9B7&f ++936i-47A7&gP6XaHQT9`v;jO(94%D>8rE5;jO>)3!(Y>$)3!O26$>$ )33#&'O2)0uDO$Y2T.>-'4'6~ }3K2r0J1(XY)P333P(P(NNT73##5#7373 Dd(P(!De(P(!hz\S"iS>P,!# #3P998,>P, #3P9,,8>P=!#4&#"#462P3}YW3؜9RyX5no>P="&5332653P؞3WY}3on5XyR978*%"&54623254632"&5467&#",C"'acQ,C"'ac.'\.'s\78w+V"&546232>54632"&5467&#"!"&546232>54632"&5467&#",C"'%]N,C"'%],B"'$]N,C"'%].'!?B-[.'!?B-s\.'&!?A.[.'!?B-s\78*V"&5467&#"#"&546232>54632"&546232>54632"&5467&#"%#"&546232>54632"&5467&#""'#ZM,C"'$YM,CU"'#ZM#L"'#Z\J,C"(#YM,C"(#: A?/s\.'& @@/[./& @?0\9 A?/s\a.'& @@/[.' A?/V8z3:A%.546754632"&5467&#"#"&54623257>54&'#>nzbdQ,B"'aLm/adP,C"(`TbmyVTbmnaU\h8\.'8 Zo:g8\.'&QT]ST78wgkry2"&5467&#"!54632"&5467&#"#"&546232>=!#"&546232>=.5467546!!>54&',C"'% ]N,C"'%RmmR]N,B"'$]N,C"'%RmnQ]  _GG_XH^^H.'!?B-55[.'!?B-BB\.'&!?A.55\.'!?B-BZ\B[QPR>7 #"&5462"&5462#"&5462p,,,,,S,,>7"&5462#"&5462"&54627,,,,,,,S,H #"&5462#"&5462,,,S,>7%"&5462#"&5462"&5462#"&54627,,,,,,,,S,,>> "&5462!5!s,,,8> %!5!7"&5462"&5462>$&%!. $&%!. 8"!"!>> !+"&5462"&54625!5!%"&5462"&5462>$&%!. $&%!. o$&%!. $&%!. "!"!8"!"!8 E %"&5462"&5462%632327#".#"u$&%!. $&%!. &w&TP T)TL O'"!"!b77m 76Y8E@7632327#".#"8&w&TP T)TL O'77m 76Y8E@%&#"#"'732>32E'O LT)T PT&w Y67 m7763&54>54'765j !'!U)\V"Y"$I3AU*(80E#"'#7&#"'63273327E.6A6N6&N(&w+5A6N=$TG$)X$+l>>5!5#".#"'632327>%uB0<O~ B.;M&9"*"m ")"Y>> |68E6 &#"!!#7#537#"'732>?332E'O JG6G6:0T:B;63w3 Y88) m 1 >;>#".#"'632327!5!!5!>~(RKM&%u%SNP66X76l88> >%-#7#537!5!733#!#".#"'632327>0D0{a@0D0|a~(RKM&%u%SNP<324d4324d66X76l>>6,%!#7#537#537.#"'63273327#"'3#!>,6,.$ <1M&%u,456?P~.;oo8r8[/X& l E8r8KE%#".#"'6323275#".#"'632327E!C/<O&&v&TP S)TL O&&w&TP S")"Y77m76Y77m8E6.#"'327#"'#7&#"'6327.#"'63273327E&)NS9JJ6V$O&&w&)#0O&&v3KJ6U$Sh0m <YgY:m>;>$(#".#"'632327#".#"'632327!5!>~(QKL'%uB/=Q~(RKM&%u%SNP66X")"l66X76l8>>$6#".#"'63232?#".#"'632327#".#"'632327>~(RKM&%u%SNP~(QKL'%uB/=Q~(RKM&%u%SNPG66X76l66X")"l66X76l3<I)#".'7327& '4>32I!(2C%&B3'! [Z[Z 01N+%C3'!# # gg ff ') $ >;>#4&"#53>23#"&'#532653>):(>#4&"#53>23!5!>):(>9 "&462!5!!5!s,,,,88>>9 "&462!5!!5!"&462s,,,,,,88,,>>9 !5!$#"&462#"&4627!5!>j,,J8,,,,L8>>9 #"&462!5!!5!#"&462>,j,,,88,,Q!5!!5!%"&5462"&5462%&$ .!%&$ .!J88!"!"> "&5462"&5462'!5!!5!$&%!. $&%!. "!"!88>>%53&547#5!#3'4&#"326> ! '"!&8,-98,+H(+,%>> #"&4632!5!!5!4&#"32;)*99*)dR::R;88n,"$#>> 3''!5!!5!2 {{ 88>> '77!5!!5!2 {{ 88>> #3!5!!5!'y >>}88<>>6%!#7#537!5!733#!>G6G:G6G:888>;> !5!!5!!5!>888>>6%!#7#537#537!5!733#3#!>,6,..4,6,..;oo8r8r8oo8r8r>> !5!5!5!!5!!5!>:8r8t88>>> -5% !5!>`H8ú5>>> 5-5!5!>`989y5>>~ -5% !5!!5!>`8ä55>>~ 5-5!5!!5!>`y8955>R>~-5% %#7#537!5!733#!>`0D0{a@0D0|a8324d4324d>R>~5-5%#7#537!5!733#!>`0D0{a@0D0|ay89324d4324d4b -5% %5% b\\8884b %5-5 5-5b\\8888>V\!)&''67.547&'7>74'6\7A#2 4,,4 2#A7u1 "''" 1uIFFFF kE-  ))  -Eky)&&)yqqpp3I63%&+#7'>?.'7;7367IZ U6StG (*?$$?1%  Z U6TtG!*7)I0-F eP "&M" fQ  M'#>>h-#'5%737>_6gU6IHpYַK8WyM5>>h%#75?%573'>U6IH_6g`p4ַK8Wy8Y 5>^>%#7#537'5%737'!>*6*h|W?M6ARONĆ:ih4c<8In9y[?>^>%#7#5375?%573!'>*6*h|C>+a6iON`Z):ih4Z8g9NxH*h>>>%-5% #".#"'7>3232>5>`D0%@'94? :$!@*;0 H8Z8/")"K ''"*"!+>>>%5-5#".#"'7>3232>5>`D0%@'94? :$!@*;0 9898/")"K ''"*"!+>^>/2%#".'#7'7>?'5%737'32>5>D0(@;<6?"4?*A?M6AR<@< 0 Ć&8/&5 -$ 0)c<8In9y 5(!+ w[?>^>/2%#".'#7'7>?5?%57332>5'>D0(@;<6?"4?*->+a6i<@< 0 `Z)&8/&5 -$ 0)qZ8g9Nx 5(!+ *h>>S -5% 5-5>qqͺ232>>S 5-5%5% >qq322>^>!%#75?'57'5%737''>960nCS960nC˗3i{y(31I2OGZzy(20I3OFY]I76>^>!%#7'5?5%7%5737'>N6U& ">N6U&!,q3E4Qs5J^X3aTl2r5K^W2`Tm+>> '.'5>5> IkttkIMZIN9 ?DCCCB$M;D33.>> %57>7./5>tkIMZZM IktCCB$M>N%'.'5>5!5!> IkttkI)NZZN)5?DCCBB$L)=CD>)5>>N54>75.=!5!>tkI)NZIN9 Ikt5CBB$L)>C310L?DCx5>>N8%'.'5>5#".#"'7>3232>5> IkttkI)NZZN)D0%@'94? :$!@*;0 5?DCCBB$L)=CD>)[8/")"K ''"*"!+>>N954>75.=#".#"'7>3232>5>tkI)NZIN9 IktD0%@'94? :$!@*;0 5CBB$L)>C310L?DC8/")"K ''"*"!+>>h!&5'.'#&'5673>?%> 5oGo6v^nqn6b1O% .X4 Ny+*: 5G).<*M)6OP >>h#%#757>?./53&'6>rm6aY^iC P="&5332653#'73P؞3WY}3YYon5XyR9ll>P= 2#"&546"&5332653H+;<)*;:2؞3WY}3;+);;+);on5XyR9>P= ##5#53533"&533265333p؞3WY}33vv3^on5XyR94H%!!!!H2t4H%!5!!5!H424H< %!!!!5!HL2v54H< %5!!5!!5!HL435>P#!#!#!P3T3#>P#)3!3P33#k. "&462.''3'>5#k],]\~]\.]k. "&462."%326k Ɣdc~bb.bk. "&462&#"4'/'32k(I[]G<<<hG][~i<<}GGG <k."&462&#"%4'326k(I[j<YX|W,>+,==X~jҗԖ=XW|WX=+V=7.546324&54632>23#"&'"&465"&kijji0V V; k  p0UV2 k  o~iԖԖ_ce^  _ce\k. %!5!6"&4624&#"32!5!jxijjiLj.iԖԖ%.k."&4624&#"327!5!kijji[x~iԖԖ.=? )!5##5#5##5#?888孭孭=? )!5!5!?8nn孭孭=? )!!#''?`ɡPj8B(=?)!!$#"&5462?8n""!06n0!!">%!#3!`88> T>&!#!5!8L8>&)5!3! 8 8>%!#3!88> %!#3!!!888> %!#3!#388h88> %!#3!#3#388h88z88> %!#3!!!#388h888%##5#733733#J8*Ak82Cb88s8 %!#5#733733#3'#8*Ak8~]C^^nT88s}}8q%!#5#5#7373733 8B8 Kk8B8M ٟD[!!oD%!#5#5#73733733#!'#8B8 Kk8B8XyMyyo"D[!!oD}}8r!$>>-5%>2YX>>%%>` >>> -5%!5!'>2H5W>>> !5!%>`9y5H>Y#"&'!#"&4632!>324&"2bF?]  ^>FbbF>]  ]>FEbEEbFaP<Y#"&'!#"&4632!>324&"2bF?]  ^>FbbF>]  ]>F0EbEEbFaP<Y #"&'!5!>324&"2bF?]  ]>F0EbEEbFaP<8P #3!5!P99+9C4>P !5!# #3P994C9+>P !5!#3P94+9>P, >P, >P= >P= *"'7'֙ߢE6 #"&54632@m 373'7@))j(ii(6||L}MM}9>$ %"&5462"&5462'773#''7#5L" (!" (t%%%% %%8%%8?/}7#"&54632 632#"'%7a   4 &   ;4! ' 7""B""B"BB"4! '""""B"">>732>32&#"#"!5!>O<0Bu%&M;.B ~ m"*"Y")"92K#.'3>7K5]>' 9sELDggD~>W#1dd12K%#.'#>73KMDggDLEs9 '>]1dd1#ȾW>~4H!%!"&5463!!"3!!"&463!!"3!H5IJ4+-ggQouK"J32K2,>,ʔ2vQRu4H!#!5!2654&#!5!2#!5!264&#!5!2Hg"KuoQg J4+-5Ifʔ2uRQv22K2,>*4J>P=!!#4&#"#462#4&"#4632P3WY}3؞u2:P:2W<=X9XyR5on,)7:&*>WW>>P=!#"&532653"&5332653W<=X2:P:2u؞3WY}3>WW>*)7;%,on5XyR9>P!#4&'##46753P3kO8Ok3b8d9Kz  uP5g g>>%3##5##5#535#533333#5#(P((P((P888""8>> #"&5462%5% ,e`,8>>%5-5$#"&5462>`,88 ,4 -5% %5% %5% \\\888884 %5-5 5-5 5-5\\\888888>*> %5% !5!5-5>qqR24ɺ32>*> 5-5!5!%5% >qq 3242>>H 5%%5% >`8r8>>H %55-5>`989>>X '5>54.'5>?>HiwqlKIkttkI )NZZN)  ??C2EII)R$BBCCD?L)>DC=)>>X '.=54>75.=>wiH KlqtkI)NZZN) IktC?>!MFJFCBB$L)=CD>)L?DC>>h/5'.'#7&'57&'56?3>5'.'>:wJ\6cRgqYaJ6:-3V>O2G$;+SLU&i8+L2CED4 x  >>h/5%#754>?54>?.=7367'5&'6>R6BGQ[@&Ln6f=Cp: :zNV6\Oc~e&w ?ͥ._M%K b#WL/;9<2!L$;I%^/\4^H%#7#537#!733#!!!!3H*6*q!l*6*r#!Xډ:ih4Qih2v4Qu4^H%!!!#7#537#53!5!733#H!W*6*r!l*6*r2TLQ4ih4Q42ihDv4H<%!!!733!#7#5H.D..D.L2v2252254H<%5!!5!733!#7#5H.D..D.L43225225>>>)-5% #"'#7&#"'7>327332>5>`D056#DB,&4? :$16$DA-(0 H8Z8/+'F#K ''+'F$!+>>>)5-5#"'#7&#"'7>327332>5>`D056#DB,&4? :$16$DA-(0 9898/+'F#K ''+'F$!+>>N<%'.'5>5#"'#7&#"'7>327332>5> IkttkI)NZZN)D056#DB,&4? :$16$DA-(0 5?DCCBB$L)=CD>)[8/+'F#K ''+'F$!+>>N=54>75.=#"'#7&#"'7>327332>5>tkI)NZIN9 IktD056#DB,&4? :$16$DA-(0 5CBB$L)>C310L?DC8/+'F#K ''+'F$!+>>h -#'5%7377>_6gU6I2HpYַKYX@M5>>h %#773'7'7>U6I_6g`p4ЈַKY 5b@>^>%#7#537'5%737'!'7>*6*h|W?M6AON2hRĆ:ih4c< yŜW1ϰ[?>^>%#7#53773!'/7>*6*h|C+a6iON`Z):ih4ZNxH*h}lOE #2#"&5462#"&5462#"&546wtr6 ##"&54632#"&54632#"&54632rtr ##"&54632#"&54632#"&54632rtr #4632#"&4632#"&4632#"&tMM5I *5"&632762#"'#"&54?&542>54'.I) ,5CcX@ 8aW@  7.J) ,5!/:*D7,E7  CUb7  DTa!/:*D7,#$%32#"&/4737!"&547632!2 1  Ip   +n   N >O!#!<^q^>O#!5!<^O"<>^)3!<"^>^)5!3"<<"lCn4@H44'&#"3276632#"'&54##"&547546232TVwxUUxvWT_aa`al   l JxTVUWvxUTbaˆ_a`a    L"#4>32#"&547&TJkS3GW?"7(!d0eX'.&#  iF>T<%&#"'7>2TZZ 01NVM11 ff **>T<#".'7327T!'3C%&B3'! ZZ3 $ # ff:223AA:.'7.33(7b#%#&'!!673!2#!!"&5463!2 (bHb(!EE q Sj66jV=(=   7b#&'3!!#67!"43!"&5463!2eE!(bHb(!EA q =Vj6h"h6jV=(T   7b$567&'!!!&5!"&5463!2p=Uo75qW;  L q E!+lk,!E";   7b$%&'547!!!6!"&5463!2*q57oU= H ; q G,kl+!Ev"E   7b463!2#!"&5#&/#!7 q  }H~  "L #2SR  - 73!2=3!5F  4cZ1V#/;!5326=4&+567'2 &5464.#"326$# Fl-5L]HbTL$!!(  ?vՒӗJwF.l\|#)5E326=3!&54>4&#"#"&54632'2#"&5464.#"326*/GJA !!.AA."# P=LZҕ5L]HbT+>!"* )I87FL/  +8FՒӗJxE/l]{#>JY%32654&#"532654&#""&546323#"&546322#"&5464.#" 6F):5- ,:'&TCELS #.nUCYJҕ5L]HbT E0+3$5-")  '171K 2!AT;-ՒӗJwF.l\|##3%;#5326=#533#32#"&5464.#"326 /BooVҕ5L]HbT!!'A-ՒӗJwF.l\|#0<L%32654&#"'67327#"#"'632#"&546322#"&5464.#"3269 (8-#*')s*I5-!%&- .DEZrUAVWҕ5L]HbT  D1-;2l( y$O=BY8*ՒӗJwF.l\|#%1<K4654&#"632#".547632#"&"32654&2 &5464.#" 6 3S;NfN8Q)D.W@S4)72('1-&5L]HbT ]5)KL:G]/KJ%wN64(o?/0>=/3=WՒӗJwF.l\|#)8%"&54>?##5!2#"&5464.#" 6 "4# 8H d] "ҕ5L]HbT0  $I-Ie ""4JՒӗJwF.l]{#"-9H#"&5467.54632'654&#"'326542#"&5464.#" 6:2eNJY,8&R@8H t*2) (S:D7)(6Oҕ5L]HbTA-BUE9*: ,!6E6*, /&#$!(E*71%3ՒӗJwF.l\|##/;K%327>54'#"&54632#"&54632"32654&'2#"&5464.#"326P 1U;NgNXln[@T9&2-&)73!ҕ5L]HbT^4KL:G]io4(J=/3=@.0>ՒӗJwF.l\|#&2B;#53265.+567"54632"3254'2#"&5464.#"326>  3b"ݐJFMF434ҕ5L]HbTM{##  9"u}~kАՒӗJwF.l\|yD!!yD0y\!!y\`8!3#00!8!3#``!8yD!!#g0D0$8y\!!#g0\`<8yD!!#`D0$8y\!!#`\`<8D#!50PD08\#!50P\`8D#!5`hD08\#!5`h\`y!3!0 #0y!%3!0%;`y!3!` #0y!%3!`%;`!!5!3 00!%!5!3 0`!!5!3`0!%!5!3``8y!3!!0g#0$8y!!!#3g00\`<8y! #3!!#`g0 #0$8y! 3!!#0`D#0$ 8y!!!#3``D0$8y! %#3!!#`g0%;`<8y! 3!!#0`\;`<$8y!3!!`;`<8!#!5!0P!08!#!5!0P!`8! !3##!`0PD$8! 3#!5!3`h0D08!#!5!`h!08! %!5!3##P`0`<8! 33#!50`h\;`8!#!5!`h!(`a8yD!!#!yg0PD0$8y\ #!5!!0P$`08y\ 5!!#!5g0PD`<08y\%!5!!#Pyg0``<8yD#!5!`hy$008y\ #!5!!`h$`08y\ !5!5!!#h`0`<8y\!!#!y`h\`<y!!5!3!y00#y! !!!5!3g 0D0`y! !!5!5!7P!;`0y!!!5!30\``y!3!!5`D#00y! !!!5!3`D0`y! !5!3!!h`0;`y!%!5!3!y``;8y! !5!3!!#P0g00#0$8y! #!5!3!0P0$`#08y! !!#!5!3g0P0\`<08y! !!#!5!3g0P0\`<`8y! 3!!#!5`g0PD#0$08y! #!5!3!`h0$0#08y! !5!3!!#h``0#0$8y! ##!5!3!0P`<`#08y! %#5!5!3!!#h`g00;`<8y! 3!!#!5!3`h0\0$`8y! 533!!#!50`hD;`<08y! %!5!3!!#P`g0`;`<8y! 3!!#!50`h\;`<`8y! #!5!3!`h`$`#08y! !5!3!!#h``0;`<8y! %!5!3!!#h```;`<y5!!5!!yy00h8(!3#3#h0000!8y !!!!#gg00`0lh8yD !!###h0`0D0$$h8y %263!+!!+o0`00lT08 #!5!5!50PP0`08(D ###!5(0`0D$08( %#!=!#0(0=0`0$y! %3!!!0gUk0`0hy! 333!h0`0Q ##0hy! %!373!y0`0Q0Uak0! %!5!5!5!3 P00`0(! !5!333(h0`00#(! 3!5'!5!30`hh0!0a08y! 3!!!!0ggk0`0lh8y! 3!!+30Q0`00!#0$h8y! 33!!!#h0`0Q0k0`0l8! #!5!5!5!0PP!0`08(! 3+!5!300`0h0!08(! 35!3#!5!0h00$0;08y !!!#!5yyg0P0`0l08yD !!###!y0`0D0$$8y !!!##!5!yy0`00`0l<0y! %!5!%5!3!yy00`0k0y! !5!333!yh0`0Q0##y! %!5!3!)5!3yy0Qh00%k00;8y!!5!3!!!!#!5!P0gg0P\0k0`0l08y!##!5!333!!#`0h0`0Q0$0##0$8y! #!5!3!!!#%5!30`0Q0h00%k0`0l`0;y!#54670ѫ0%!!8!5!}82!5!8!!w8,!!8!!q8&!!8!!k8 !!8 !!f8; !!;;8 !!$8} !!}}8 !!8 #38` #3```|8 !!} !5!}8 #3``#)!M#)!!M ms#Z)Z^ ^:6d#Z Zed?^  ># hghg 33' ѿ?yk:<5# "32654&'2#"&546ԕ Ք՗r"/:CMW&'#5#&'7'&#"'632'654'>7#'>7&47#"'7327%&'#'n? + ! + Ki  ?! ' A*=MM;##"& !-6 !++ ; HH!" #  +2    ++ #@#  In =#)!!Mms#7!!!Cs M sm#!!!M # !''!U YZ쪪# ''%77'7'bF<gH0> z|Ҕ7n*732654.#"4>327632"'&`*5% Hg$A)If)%4@/N; 2A?*B$hG &3+gH3Q- 2  =MY~??7q2=2>54&#"".546327&54632#"'4&#"32#/I(sPQrsP8Y1 aPBV;a8X2 EEbR?W;ECuOPstOQD!/:*QrsPQr((9F2b2CYa(9F2`GE3CYaEEstOQr"609EOZ%+!"'"'>7654'#"'67>32#"'.''627&#""32654&%#"&'32%#"&'32Ax !$ (AZY@(<<E):8)(99 =$2%,/ ,1!7=^U  C!!D  h))N8()99(':   # ##4632327>763#"&'.!!!3  7z&#IJ5 ?M /]" Oc $Wms#+ v*= y: #z8*;263326767>54.'.#"%#"'32654&#"l 46h:4M'5( ,2ZݙR($ $*1# !' 6 U.+=[.B_KS]OPq#z8*;"&##"&'&'.54>7>32%327#"&546327l 46h:4M'5( ,2ZݙR($ $*1# !' 6 U.+=[.B_KS]OPq#/*.Xbu%2>737'#"&#"&#"3327#'23#"'5>7>737'#"'7'#"&54?6432#"&2632#"'.47"&54632'#"&5464F6#S i |(+$i" X6,x 6!, .O 6C %2'+ ;$Gt?GeE! ]$&"l `  <8 #J 1 Z "L .!$ 2C0R #*51  G=2Ra !*  *" 1  $  *.V_r#!7#54654'654&#"&#"&#"&#"%5!7#4./&54737'&5477'&546322'546#"&5476324632#"&7#"&54632;0Z "K / # 2C0R  .# +40  H<2Ra " * )# 1  # `4F6#S h|)*&j" X6-6!, ,R ! 6B $2(, <"HTH$e"![2 $%"l b  <8"J #/*.[i}%".'#'732632632##"'33275.'.'#'7327'732654/&#"%327654'.#"#"'&#"327>4"327>54&"32654&4F6#S i|)*%i" X6, 6! .O 6C %2'+ ;$G#(4G''= !. ]N  (7  ' #J 1 Z "L .!$ 2C"  #*51  G!DR  ~% !* A&   Q $  ,0]j}4>7#5'7!##"&5#"'#"'#"&547&!#3>7>757732?654'&'.327>54&'&54?4&#"324'&/.#"3264'./&'&#"326;0Z "L / # 2C" # +40  H"DR  ~$" * A&  R  # T4F5#T h |)*&i" X6-i7!-Q 6B $2(, <"H"%4H$#'< !/ ![1N   '7   "J "_go#"/.5462#"/7326767632#"'#"'&'#"'"54>767&'#"547&54323254#"3254#"3273254.3  ?ZY !  !  !$ C"W0 !'O?R, ?2<6.  "?I2+*%&%&&%$' {290?HI>&E0(--#5  ' ) 75"13 $%  6 +.&)+.&N  VI"46462#"&#&'27#"'n1Y%2$$$D\1a6nEXVKG7Z$%##*$U;,(q&Lm{4>3"&#"&'4>7&%4&'2654.#"'654&+5>2654'7372657#"'#"'4632&#""&6=63&'2.54,5**< <* #/K?R$:, IL?*D( NO$4)K-# )< ?Q#  #D?-D"A/SB9Rn8,H.:4 /(0(ZD1 Y2A*D( %1'&2$) HV@("&:T*$CCN,6*%"i=5*!#*> D )#/'HW;!   !'1R ! $!GDZ/ ) m =\`$V<#7'75#535#53533#3#7#H"j\\Q\\I"kQe!H1PPPPPPPP!H2#3##5#535#53533 Q\\Q\PPPPH"?#"&54632373'7zThbs6V=Žh^aaONNmxwTh#!‹C\\8]99]nlu4'6.54675#7.5467&'7#>54&'&'"&547&'"5475"&547>77>54' V+! dH15$,H$J-AG5 ZZ 5GA-Jfr>(Ge |3Z&l&Z4|!+V 5?Z'< E3IGS#Lx$!,-J*# ,&X4=Y .. Z=6V,`[;x#zK-gRQ`J   08v$**$v80   L <'Z?5+H )#"'&54763!'6'7654.'aa`aa_~`TW-]Q3HG3Q\-ˆ_a`aaaܨBD)FoAnQPoBoE)C ,832654'&#"632#"&546324&#"3262#"&546YCBY\[Jt@* AZoRD\]C|\Z5J^@XD_‹‹2& 3!5!5!5!5!5!2   ddddd2& 35+3!5!5!5!^d  ddpddd2& 3!5!%35+3'!5!2 ,d ddddd2& 35+335+3!5!^ddd ddddd2& 7#553!5!5,  dddddddddd2& 35+335+3'!5!^ddd ddpddd2& %3+5373+53'!!^ddd dddddd2& 35+335+335+3^ddddddddddd CYp %&'#"54323&'#"543247#"543267&542&5432#"'632#"'2632#"547"54&'&'&'26326326323#"'#"'#"'676767&547&547&5475&547&547&5472654&"7263263263&'67#"'#"'#"67&'&'&'676767&'bF"!  A !! F !"GaBaG!"! F !! A !"!FbB-         + )/  0( $&{       9 /)  (0 @@  !"Ga!"ZN!"! @ !! @ !"!NZ"!aG"!  @ !!: )/ > /) +       {6 0(K )/ -       H)2;4'&#"3276632#"'&54&#"'>32'"&4622"&4632TVwxUUxvWT_aa`a*:9,A('A""JxTVUWvxUTbaˆ_a`a''%--%" ""H(1:#"'&54763654'&#"32'#"&'726"&4632#"&462aa`aa_TTVwxUUxv E()E1zQ""ˆ_a`aaaTyxTVUWvx%++%%"" "H"*632#"'&54327'#"'264&":64&"_aa`a/SQ11675"""3aˆ_a`aBB$""" V"32654&'763232+"/"&=&'"&4?&'#"&46;67'&5462675462PloMNno9G7U T.x x.T U5I  H7U U/w w/U U8G  mONnoMNnw/U U7H  I5U T.x x.T U7G  G8U  U/w 8I#%#"567>4&'&'432>54.'Ԟ&GPPG&BUC/0EW?jCDk=*97I#.464632#"&BUC/0EW?jCDk=*9햹 44 7)H32654&#".5467.54632326546232+"&=#"&46;`*5% HghGIf^fG68E  fIHg  E86GrQ    B*B$hGHgg J@li@ IffI @il?Uy   7)032654&#".546232+"&=#"&46;`*5% HghGIf^frQ    B*B$hGHgg JY~XUy   75732654&#"#"'&54675#"&46;546232+`*5% HghGIf%3@.XA?sQ    Kx*B$hGHggH3P- ??YUz     v7n4732654.#"4>327#"&46;2"&="'&`*5% Hg$A)If)%4@/N;ɒ   2A?*B$hG &3+gH3Q- 2   =MY~??33>32356732+"=#"&54>54&#"#"3W29=!) ( 33($ &(=FG:,t[,   e=*3- 0><"&5#"&5467356323+>32;2+"5454&M/B  I I H K!V#Un]Bj^U.B4   H F 4&Y1F  K%(Js7|4>732654&#"#"'&54675#"&54?632"/2#"&54`*5% HghGIf%3@.XA?sQY  { { XKx  c*B$hGHggH3P- ??YUzX  {{ XvF  K m%"264&".54675.="&54?632#"/5#"&54?632"'>=#"&54?62#"' &3+gghG3Q- rRSq 7 7  YB 7 7 BY  87 qRLw??$A)Ifhhy%4@/UyzT 88 Cc 88 cC 88 TzuZXA?7,%2#!"&546;2#4.#2> O 4@gAM,-LAdB29AbT<32#"5654&#"  `N8PgHEffEHgO8S[U ^M5-FdUDDUcF.5Mt{9%2>54&#"2#".5467.54322654&54x2O, }VW}~>VEAR+322654&"23267#"&5462#"'&546T;;T;C/54&#""6264&"#O8#R.ÂS_$33$8N7  NpO6A6tu6A6NpN77N7\pOm9t=zM0bSQ]+'77' 8NN8:}\w4`||`4w\}:8N(7N77N#>NZ4>7&54&""&54&""&54&#"&4632>32>32>32#"'#"&7654&#"u)]+KjL  KjL  L5 0PP0/PO02S[:Jn  !% ҄U;?_ ,(35KK5 5KK5 5K  0((00((05,+9bIl   D f-7LN7$$\ 17!2#!"&462!2#!&=654&#"!"&463!5468  l  }YZ{  (   љt  db  tK#"&54&""&54&""&54&#"&4632>32>32327#"&46;2"&5Xah>OKjL  KjL  L5 0PP0/PO0Fb<0OR: o  L?:5KK5 5KK5 5K  0((00((0bF%->  o *k*7#"&546;2"&=#"/#"&4?'&562y       y     ! +<"&463!2632#"'.547"&4767>7326754&#"5  "Z^z#',\%&Zga v+o'7C2Kmt79   &N0pay ^742i 2Od);\4" _H [v;"]B%".+".#"#"54632;>?232654'54732".+".#"#"&54632;>?232654'54732(C,'0(!#1 8*+9 3KcC(B+(/(!#1 %D.F'2LbC(C,'02$<# &D.F'3K cC(B+(0(!#1 &D.F'3Kb#12# +*!#12#I5 ,E`#12#+*!5?5I4+E`#21#.605@5I5 E`#21#++ 5@5I4,E`!4##"&547>4&'&546323>7632#"'.ya \mm\ ayya [mm[ ayGj+  )Ȩ)  +kk+  (ed)  +a0;GWdo2#"'.54>32474675'53733>>54#"7"3>54&.'6326"3265."32>54C $-!#-% 11)%  %)% 9)+1h*3!YI /+B EegC$51(}g`+8E 4"*"*O6CCFZ 2$#4 ' %$&&$+, +;;+VeQ4+(2&.22(H Qe   5$*2%32232=4&#"32>&#"62&544  "32544&5462654&5463265'&54632+&#&52&74654/&5&'&5462654.54626%"3254'"324!"324"3254&.'&'63267&547.y, I{45z;AOSWK << F;!. 6 !A!"."KI1".!.!@".!6D     63 RQ44-  h@{":!!9#1`r:!!! *%:C*"!)( \ :":8 *)!!$,A,($+ !!9s[S @222@ @7?73/b F0&0//HW2 .?-K#';35'575'57335733573%!5%!'#'5#!75'##'5fXZnZXf@BpBA8 D D 8A|EgM[[MgEO''c@@o8778J)7Cd"'632&547"2654"#43254&#"'32767.5#53533#23274&&'&#""326326732632.'.'632327&54654.5467&4632F'OO/1G/7Au*- ,ohpq>""$"" -5;2/A[" ;)B.1@oG6*41! &_} zL  !17)7Gs"'' u   j  h G^.<  8.^,'++',  ! <" ?5  0? "? 8"?i: !h?8ZOMv72#"547"54632'267&!654'&+.';2673232767>3272!>7#"&'#"'>54'32636 ]&0 05J'< '9 i,Q' 8H;)]!&#'7  0x61 z $ ,[N.{$@ )  #D#(B G =[a/%.H&9!1( <&%3"/ $eL.L!4.54>54/&546=4&#"&5467.547&5462j**e % /@E D3F3E!EA (N6-G' .  $ "" "We#2C"+,!D 1$dW! `!1Bm|"#"54.#"327327>54&>32#"4#"326323254675'53733632#"'.'&546322#"'.546?-5&%6,)0=%'WX'&;0$ 'A>b(6no&)% " $(#/24I'%'I341 %-=?''J/1L%,'[  W',$:"P   \(&$%%$#0&D3)6 8^DD3O5)2E<!C, P1!)1%"326373233254'"3247"324!"324"3254&#"&54654&'4/&'&54632654.54632654&5462654&54632654'4632"3254&4#"32?3222A<l   k' in\}G .!"@!!7!.6!!  @!!. 0  -AN 2?22 2?2 A(@W 217* !#-A)-%*  !&8s^2$; !8$2^r9" ! &,)A-!!(?k 7 z !G#3'575'57335733573%35'35eNG&o&HNeGdMYYMdG""""I R^g%"3254#'2654+"4.54>7&4632372.'.'>3327&5467535#5##3"3254\3-7d31?%3n'(L&4/ '(1d<G4-;#"B+: !8 l4:E= # 0   *!#9j.&++&.aM3=T2654#">54'43263632!>7#"5#'.7"265454'#""322%}x )= 9H<)Z"'$&8  /SH;  .5.d' $%&("/(=[a.%,G(:2) =  %hZ 1E|N,dL!&5467.547&5462E E@UAE E4F2B3#dW# #Vf"2 C!,,!"O,%!5>7#"&54>7#"I!  !4R5K,FJHGKF-K5R5&!  !&5PJ5-J=BkCBjB>J.5J#7.'.5463267632">54&#"#".'&\Qm<+U>U22F=W6E1='57I. DJF.84?/ 9KOY/?VK,6"8T;8pW/F4%KFI_N&/hX[c/398 /!*J"0 &'67>7.(8F!JE;;8-0>P<6jj1?0#5!5>7#"&54632&5462>32#" ".F--F/! O&@\S;""']]'+;S\@n%%9%./$:#,"(_CA\ 82?ZZ?28 \AC_#>32.'.54632\Y6=W5QTMQm<+U>w0JFT;6phiBKOY/?V"0 &'6(8F!J0>P<7 %#"&46323B,-BB-3"S%..J.-7"&46323#54'&BZBB-6 T&\%..J.-7mC88m7#"&4632#"&4632"F0/FF/:#F/0EE0:"ks&--L-'&--L-b75%#"&46325%#"&4632wF/0EE0:"F0/FF/:#=='&--L-ځ&--L-Bp#"577>324&#"326p;W_&( -FNW%'30;b,C|R0  VO=#"#&'57654.'5673;54&'567332>7332673#.+#.#"#&'#'L*J  ! XI" &'N U 0 Q$N#  %- T$  *Q&M/! WQ*  )%S   0 ] $(48<'#&'675#&'6735'6737'5#5#'5#5##3355#5#`l=3573"o` ""Xu?53<.=k] 7 &@@@&70:J%632'#'"#"&546323267&'.54632'"32654&"32654&&K* $ _k^`\eb14(-D2#TE8091#.F_":"48%3!%0 0(=7nr &2@*"2#_ ;&"0B*)!1 0!/$*#Qc3<H32%632 #"'%"&5463267&#"&4632&"3264"32654&&_&8<)&z'8-9;Y '. %?.&")%'v(r #(65)/;%A9X76$:*&:-#'!$#Eg5AM3727#"'%#"&54>7>7.#"#"&54632"32654&"32654&1ee\`m]"'I)F."1'55(YER#2D-(44":! 5> 2%#0%  ro6=&/ )*B0"!2 F##2"*@00!/!f/!*# #  *5Ax72"&546"32654&2"&46"3264&2#"&547"32654&'26327632 #"/#"&#"#"&547>4.'&546324&546327&#"+"3267327-4654&#";27&#"#"$44J55+&%#"$44J44*%%""&/  8!cJ*@%B5[CI03R?BQ@#{NS#9QB=W*F /3C.b9DKB63A8E",1D43AL?C:^  'G5$%44&%3&&&&5$%45J3%4%%4%   W _9 '=1~ ,+:LQCS) : *OBQN7%/, * >C>7CCh&&/1@E6:E 8 #@IR%"&#"32654& #"&54632#"&54?4&5467>32#"'67"'6ZE] "LՒכQm bD9>%- 3"7 )6ygOՕD3LM RyQ <1L D!# ".=%'>5%7&&#"76322"&5462#"&546"32654'.i!''C 1)("(;;T;<.ӕ֗eVËo,tV?&u>[nT'L ù<)*;<*);Փԗo^~Ċd(.#R4&'"'7'7'7>3765464./3232+32+32+32++76x2sJ3!##!3J$=!% W% '=!1<J Fx]jJ<1!='  %W cv vc   7  F  cc  F  7 X#,!75'#"'!62v;9Fv,]) Ģ77g g773m{746;&54632&'&5.46327>32#"."'5332654'.#"32654/&'376;.'#.#"632>54&#"32654'&'7&'-0&%(& ++( g8W0 8, 3 % 6)Pe2R  >L ![%( 8  M</ X G -&"#/ f_.&5@oqAA#Yp ,=z(8E2pT26'n"mS ' b % Loi ! 4 B<| pu* !;4x(cs?67>776327#''#"'#"5?267327654/327#";2654&5'#43632'7&"3677654&#"327326547326%#7654R# EL1=U J]&  \hc*O4Y8 C&B%K Bx;/:|   X%>K ' w   <'O $xX iZ4KA8#`  T; Gg8 8! o& 8%(D FF5  $B Y :!  # V$^]>2UKO ;CN#3l  *17=2#"&5467#!"''??2654/654'%>7%>7 . 0_ $N)Q|E!yI#QBFn?q+Do ( *>>W  t|Y-%Rp/ ishGb$#&(-492"5'57!2"%5'%7654/'!!&!654'!!!6jNNee RRR(WaB|wD NOOvw   b__nmWP4()L#1l| ",39?2#"&546/763!27/4&+76%654''%.''%.'- /}Q)$U"Iy!E%FBQ p+ l ' b< =  v{r*/oQ";G ##&E7"&546;32>32#".#"7232675##"&5463235."#"'#";>8EJ:/',5hN5*$4G-&z'_0'(-_#w8(- =):8# 2U>CWK)0)xWH&-&Bb&-&:HI0"#2FK?)0)JE2-G##gL6E22#".5.#""#"'.5463:32>76#&#"32?64a!8/4S3:W1,7$"2   1%.J?R2'4    !o *$$* HnL*?B:  ;#"&'."M T:Z-pQ%,)G4wf  7$+574&54>7>3232767632#"&'&'8    nm  B)4J7G k!/'   ?'qW  R#J/;@/3 #  ' 7  ;; ;y;!; ; # ''7'77׮<P#"&'#"&54654&54>767.'&'&5463262676327632>;2<eBX  [rT#  (  ,%   n#[" 3 + -#)kP +U ) $N7#"&##".'#'?4"".54654&'67.'6732632>32Q Zy# .:O =   t2$M <&D"  r  #;T hU,2?,"[6K# #3##5#53573##5#535##33535#\ġp\\F## 3##5#535# !33)!%!!Ennnp""""nnn# !5353!3#%3#A# 33###53[[[][#33##'#'537#3335#5uLANkV8Z]GME|GLu|]c]# #33###53'33###537#3335#5[[2UbUʘbb#`S1;54&'5!#"732673#54.#!526=+"#;iV[HnF[ Oj,W<[HF] NkJZSnmS\G32SkiN ^Eo#  #3#'#7'337/373#/?#ZiffijffRRRRT?}A=<<==32#"&'#"&546=#"&54632.54625&'#"&546#/% 029P:2/ *&(1'99(1''3/  9P:2/3''2'990 )'(1'99(1''302:P92/$1!'99'0))2/2:(':#C%4>=#"&546323.54622>32#".##"& #*#!0,5OM5 0-!!MjM 6$3235#"&547&54632#"'3&4632632#"'#"&547#632"&547.546325##"&'#"&4632$($H&(%$%1!" 8%$$ (6' &$%% '&!%'&8 "' %&4$G $#D%$$ '& $$%% &2##!2#"'.'.'&54>7>76s x C.(& ;o12K ki 6v,(P833y* #&3#.'5>767>7.'.ǀz {-/agqT2*",)HN 俿 >,-??X?# #''%7632%7&/&547cE@f?  3hh#JE&2 ,5B H-,# 3'7'3!''!7#7'7#Ez7-tCkZMiXڨ=F'\cc\M܂܅# (23'7'372#"/#"'5'&543%7627'7'-x]"jn%Xt;=fH52uGMMGZ i qttq # !%'!%''5?%_f` RNNAS簰bSbb0䙂0b#x 3#'''!7#7'7#{R?ZVaQQKk#7'#5'7'75NNNNvmnuunmv# #553'77''7mm666V6Mz_zz_zz_zz_z#7%!'#'7!5'7 = 1%9 +;+ A"643274322#"/#"'#"54?%&543%'&5432f # #&),/7'#''7'57'777!'/'7?7'.|u 7 .xx:+15+jl/gֵ/4+ngk{6 1wv5 3yk5lܷ.6'flo16'#$#/"/"54?'&543762726666YPPPQ#5732/#"/#"?#"54?'&54;'&327632 +++ , 0', ¿#7''77''٧٨⩩ک#7'''77'7''7G1}}12----2,26..62,#/3777!!'''#'7'7'7!5!'7'7'7l!`#j j#`!a$jj$ak#c!a$nn$a!c#k# ".8BK#"&54>7>32.54632#".2#"&547&54632"&54o<$*5L&1_#*5L&+H4($Z+H5'$^F22$#1U:  994 '&#iGW&#"&R"&W1F22$"DzLI|IJ#oy%4654.'&##"&54>54&54654.546323267>54&5463232>32#".#"#"&"2654&%$   *&9"BNBBNB"9()  #$#%   *(8#BNBBNB#8(* ! %#$=++<+*9w  )0'!$,   ,$!(1( +)>o   (1(!%+   +$!(1( k!)++>++ +#N%".'&5465#"'&54>7.5476324&5467>3282%@%CMMC$@$3#(>mmA8)z 6"%F6 (0&")%j$*"&0(% 22 %}3!( g  h &"|&#53"$|"& g  g (!3 $- DH5&+||+&5#V`%4654"#"&467254#"#"&5463232654.546232>32#"/"3#"."3264& 8%:]T(  Y3 6%8II8A #Y>9H C*7W$5,ICbEE`E# ?Rf{%#"&54>7#"&54632&5462>32#"'#".7632654&#"?3232654&#"32654.'#"/&#"327/&54323267'#"54? %6L ++ )FUL5$A2%LlK%1B$5LUF) $L6/  !'6)*6^ V&8L7'KF1&6+",C>0-"+# =-&6HZ6&1!UEN6&-= #+~!3&6XJ E\ #4=Wk#"'#"'#"&547.4>7&4632632632%"264&#"&54?'32654/#"&54?'32?'#"&46327'&#"32?'&546327'&#"7'&546327654&#"76327654&#"7632#"/3264&#"#"/32654/*?+/SO/*@**>,.QP.*@)&66J55  )1"#1)f< _h02#5.>n "" nj "00" j _!; .5"2/hQ )1"#1)f< _h02"6.>n "" nj "00!j _ < . (#1/hx>-+JaaG +->-+:JaaH+5J55J5m "" mj "00" j_ < .3#1/gR, (1D1(f< _g02"5.>n "" nj "00" j_!< .4"20gR, (1D2(f< _g1#4. #  %*/4>2 &5466327#"'7.'%'%&47'>7'"264&ԓD!#$!EE%&<6 U6  >D 6JD 6QIdedeԓҔ C 6C 6RE J EE J 6 U6 `dHGeeg!:AGLSY^&547>32#"&'.547#"'&5467.547632%&#"654%>54&'3267%RRb0(IU[$5u 2&fPR/31'IT\$5s 2&ea* F\V * F!YW C9( KsW1%17/3#+[iD(& MsW1%17.3"+[d0#(ap'MG#(ap&KI$A7'/'#7'757'7'77''7'7'5'7'37?7'znadc!g Z&Z g!ceannaec!g Z&Z g!cdanXQ708 :k{QD;rr;DQ{k: 807QQ708 ;l{QD;rr;DQ{l; 807#LPTX\`d'4;7377632##"/'/"57'#"/&54?'7'"4?6327577'5'75'7'Ä  }}  ~~rrrqssrrrqsscKKTDMLDTKKTDLMDTvCAABdBBACAABcAAB#A7'/'#7'7''7'7'77''7'7'77'7'37?7'ric\X42imM"Mmi24X\ciic\X42imM"Mmi24X\cU>"018f;yx+FhhF+xy;f810">="018f;yx+FhhF+xy;f810" " &2?LZi'>7#'&543'32.'7#"52#"&546#"'&54634632#.2#"&5476"&=>321    w  F####L& & e& ' tnN-IN-     j  ####mN-|pmN-|% & e% !   # *=M]7'7''762"&42'.546"&546763?2#"&'&5/>324632#"&U8D00D0JF/  K4)F4*4E1-9O#D30.7R"By\1"!00DF1-,M!B10.0Y &@$!BpF/ M3*D0 M4#P7&54632#"'62#"&547'#"&5475#"&54627'#"&546325&5462u5#%44$%H43%#4F4"#5G5#%45H #$43%#4F3F5GxM "22#$5 NN 5%#12"L=#54#>L "31#%5 NN!6%#13"M<$54#> # #-:GQ[g#'&546323#"&547'7632#"&547%57632#"'%#"&546327#"''&546322#"&546 1  X# X#l  ]  v # #&88'(88ޜ ] v # # 1  X#K X#8('88'(8$a'&546276327632#"/#"/#"&54?&'#"&54?&'#"&463267'&546326q "." m! * $$ * "m "# m  * $$* m $$* !m "." m"* $$* "m "." n  #F "&546324.#"326㱭j$hC3 k\z# 3!5#!!nil* haR!# )35!#!olHh!MfG # !'!!Vw3xs@!# )7!!Vw;@sW# ''7'7%7ŕęƕ#h#hEM##M#|!|M#e4>;#"32632#"&#'=fA W9( %4&#"#"&4632e|6R( %=T\DIZ u)# TzTc#y"#"632>;632#"'#"&546>K{&#T2eL)!>ZX@b.O1D[L8PeuN5Z~Xg.9eLp$z&'3267#"'+'267#"&54632>32_K|&$T2dJ )!>YX@c,O1D[ %:lL9OeuO6Z>?Xf-9eL8N>/#q%4<%".54676;573#"'#"&5463232>7#ERx=^K1E. ! %I Mxg:8.'&547>22#"&466L(%JJ%6G* 9SS;32.'&5462"&46( *6B, 0082:'B9SSvST"  L?%5%/()6*A?LNTtTTvR#(k&2>2.'.546/K2bs!##ZM NZ%#!s96$ObuZ+#(@>=A( #+Yt#y!.54632327&#"#"&5467NJiI5F(2#23 Z>[8IgJNdb:Hg-HMO!AH*J4?fI;b#9Df#"&54632563232654&54632#"'&54>7.#"654&#"632327632#"&54632Uq;5A""$1 52+" "?2 0 uh&8n$ 66N.B$5>5$#C `@{M;b3! 7.46;32&5463232654'632>54'j>Mm% 7!L> ( $/^=/.$& #' 58<)%G #  Q-2,H/VCM7%+S+ 1)3Z 6" $$.'%4&#!  '/ E*# 2 &546#32+!5#"&5$7vM "$( ԓӗ]H  ## (# 52#"&5464&54632!5#+>54&#"326ҕ[ &%C?su%!IQN2eTDX Ւԗ 3)8Q.Vc /'&9$)D0@L>/!# L2#"&546#"'632#"&54654&#"32654.'&54>54&#"32654/>32ҕ>1&18>+  bK]y!1( ")"RMF] "*Ւӗ0:(8/5L !3C]G%8  1$7<4(  .# "#2 &546"&=35##3+!5rxxK4 Ւӗ17M"* ### :2#"&5464654&#"32654&#"732>7#"'632#"&ҕ*" _F_cMN1 1*.(5,!Ւӗ "-?bICX( ,#~6B27M# >2#"&5462#"&54632654&#"&5463232654&#"(15*+6;*ҕG-Z>VrVB[9@5 \F3Q0 oB84AC43ESՒӗ)RS4iOAURYx !+9'73326ҕե &yv! ~X%$Ւӗ4"AB&% qI )$# !9'&54632#"&542#"&546>54&#"32654&/6, !,AE;+,54&#"327#"&54654&#"+78V355ҕՇ?]/xbUpXFZ6@5![KC43DA74BwՒӗ7[[/sgNBRC\w%-;#)62"2#"&546"&5#32+35265#"||Aӕh&D:9  ܓOXNR-7LLԔӔ"   &&.rNk:# %3##532672#"&5464.#"326%54&#"#54632'2#"&5464.#"326&<=: sG/3)(0=T@BWҕ5L]HbT-G.'.4 QK.=.-97- ?STՒӗJwF.l\|#(4D"#>32#"&54?32654&+532654&'2#"&5464.#"32616J<=PDQTCGJ8GW=MD4  d1'+.++-&-ՒӗJwF.l\|# )##5#53'32#"&5464.#"326K888ҕ5L]HbT2vv24ՒӗJwF.l\|#(8%254&#"#3#632#"&'72#"&5464.#"326`4*#/-@ASZE8F-0%ҕ5L]HbT.8+' 2,YGLdA8 %."ՒӗJwF.l\|#+7G4>324.#"632#".7"32654&2#"&5464.#"32664e3 19 L;LS>'+)67*&//ҕ5L]HbT\Jh1k^Q DSAE\ 2WZ=.3C<15?EՒӗJwF.l\|# &!#>7#72#"&5464.#"3268SYDmMҕ5L]HbTH*yib\ՒӗJwF.l\|#)5E"&547&54632'"32654&"2654&2#"&5464.#"326KUUSZHN<;I&..%&1.+)46P41&ҕ5L]HbTKX%".547632"3254%3##5>72#"&5464.#"326$(*'A..T.*R)54&#"&5462!5ӕQ 7@=)`IG]X(F++8L%<Ւӗ*)2H+DXVA  .55+(>"6/.A" ;2#"&5464.'654&#"4632#"'632#"547326ӕ6:WB-/R& #-'"' ),)"IRWDH[Ւӗ=!1 E;N ;* ,.)&#(=*&%.U :KT##2#"&546##3353{ҕ.KHRKՒԗk1Buu# &2 &5462#"&532654&#"535!36՚P+(#&GL?LcZJ(*Gԓӗm:>/+=FfPK\_AQ# 32#"&542#"&54627&#"32654&#">cD'& $/[ҕՑLr7;#55 D[R@4. 'x:1-5=.*ՒӗѠ q2kLJf1bIDY)XA# 2#"&546!3>75ҕJe_LOՓӗkA_eo2#  62#"&462"&5462#"&546>54&#"32654& $&#$&+,F-+*ҕ$R?@W@R\EF]!'("#+)F),N11'&-nՒӗ/$9KL7H !V@UXA'3# 02"&54672#"&546#"&'32>54.#"32$/.D'&0ҕ MLn79"55E[Q?;'=.*8:1-5Ւӗ"'w3lMJg1_IEY#(2#"&54'2#"&546#+33"32654GD"'ҕ5B.0SVQLNR%ƺi[Ւӗi(#6}y#:\z3 #7!5!Bz#^U7%7%{ENSUu3p#z'' 7#PwPCβB#^U7'%'%'{XpSzN^}q2t#t &'567#k>+ް+>pPXTDZQ#|!"'.546763!'&54632#"&47FY462/7%$%&70 +, 2.&%6 !7L0#{2!55!#}j#}1!55!#ן# !55!'3#'3#'3#6fLLS--Zgg#aFR 353#5#3#3#3#3#VQaGGZ22[!!^jN#!Kh#hL!55!#aa#Ryb'#V&b #Ryb7  %#&V$~[R #r #OV"S`37!5 5!"'.6'5K6R+#_:#0 `S=SS*06*#T`%5!"#5467>3!5!H-*(4(%;_T Y HES# 5#35ZBY#FPm !53#5!# v]",]#+"3 #5!!7!! vvӜ##+"3 #5!!7!! tquԜ##e@M5!57!7!!%>D;;Mu\5HM#e@O%'!'5!57%!!C}]s:aeT\vL#, '5#'3-#3zTR?QUZO#,%5#7357%#3-RT&,iPQ?dP#KHe 5!'7'!7!!7; 2DD=7D e`A!92#KHe%5!7'7!57'!!;DDDD7KZA`ֽ3##".'! !67>32خ2_Y<b8)%H <)x=7&#"467'%67"%.}*3FM#1}0yS  i!6O`  7i dCw#>&547#53&54!67!%!!&G27a(PW9iS>? +; K"" "!"!1D-H3"$'7.5327.'%&%467%}1#(BH4*WPt i7  bM7!wI"U%&5467&#">7'&#"%632&54'&(7e*#DI^Ni5S3fM>MMTa,@=0F.U )d+ 72WBBK 67A#{8"!>7&'!;.'>7XfkO<{R .F=+ (x "ITgIl0>O" p?A2MY("U$%&547#"'%32?.'327.547)+*aTMM7#"&54632H%E&) HD32&547&5467L?a<5@&26 2'(=1;nL?MJLL"S!0/!?4&.- //#'5R27 62O*#{9$4654+"+"&54?654/&54;2;254&54632#"w!Q(0 >;,6 $R$%yk",  ;  d [ B ' ne#Kg;7"&54?654/&546;23254&54632#"&54654#"#0/  ,1;1+' & $'%"! '/9K-Z8 $^!'#1N  G#' $'#U F0"ctP 3#>7.'3!5!.5!#>75>KW>=VZMl8k4#Hm{4f"8LPvlXYD8qO5t&-%`-%n9&efXX/".fk.?^/7tDrPe62"&46"2654T<V==V&/"!//!"892X2?22b#$%67#547>737#".' YVO~T[1H"  73noJ:[*Z~sj <**  sH"G+:d}k""3>54.".=4>326yjEeV]Y@xNFL62*ݢlq}dk !!#!=!}KK KK' dDdd>'7'K ddddnR v%27&'7>7267654&76632632"'>54&#"#"'#"&547567#".7632746=4&7632>-VQs00"0 2|5 &5 35S. EmDCD9\M^ Q3+D ' 2"5/AV+V DLN0q u=  2 +5'1=  %A$8K%FFE]*XM6o ! =$ &Yi 727&'7>7267654&7663632#"7>54&#""&/#"&5476747#".'&7632746=4.7632>5og:981"D> A2 = Bh9% %D5^gv_ aD8SM 5##& B%G9}blXI&V^#` 9O  $@ &6C0 4!! )p:J]\-Wr8'J?G(8! "-C#"&'63765654&'&'%4.5432676?#".- ee//0/#0&    ;7 $$H%@,+G 51 2 l/;(  ) O !,-]9-qFy J#"&'&73654654&'./3$4.543267>2#"&'&y!w%: >> A,J? %84 Y-.#(WQ  A. DvtJ ) 3J,*s<\+-8N6a"/"#"&/4632632'5>54&'"&543KD $  6x,L9';+7cPJI4)* F0,U>?#+[A1!zU  D#0"#".'&54632632#5654&'"&543NBpI# E ;4G"@y^'#a ]@#:&32d{.}OE0r' ^-W#"&'.7632"54>7>7#".'&76;2326?263263232632#".#"#g 7 0H 7"r!F-,4H  % f..); ,!'>)q }Jd,&%'d , D6 (&+  #  "0 / &&% %' wXyzU#"&'.'&632"&54>7>7#".763263263232632#".#""#A-/$D) )U(eNf&4 h ( (f (D-\>+  NPYz7'1$ .= 5A %  "2"]',,U [~$+$ .- 55jX&.56.#""543763654672>7&5.473727632>32#".'"54332654#"".'#"&563272>7654'#"&76;2O7EPB")&&% $   >GO#z5H[RP,4 $.IPW` )"  0  ;&,,  '   P!`* 3 (D,*-`EF3 *6y6n# +::)@= Xhv%.'"56'&#"'43>567274&5.67632632>32+".'"5632654.#"".'#".'&563252>7465&'#"&76c u:  S)=! )Zn;&)6G *_ $^/.C^pe`5E >,Ua !E1jz 4*  %L-)- 7 a; u 7 &!;" )V753wVW> 3E11FP($J IG= Jq{'2654'.'&7616#""3632"54>7#".'&5623263232>7654.7632632#".'&76332654&#")@e/C %+ 74'5   !    J"P&,-=, 3(UY4!(D#=!7D%Q2    9   %'H!Y v A.:X$$0(V=3 ScNq{ A#".'&7#".'&62654'.'&7616#""3632"54>7#".'&5623263232>7654.7632632#".'&76332654&#" $""CP #N%)@e/C %+ 74'5   !    J"P&,-=, 3(UY4!(D##2 5[%0+=!7D%Q2    9   %'H!Y v A.:X$$0(V=3 ScN6-23%'#".'&76;237.'.'&563232632>32>32"##".#"32632#".54676323'.'#".'&56326 ;( (     ! T"8S0 (]+&2, %/:T/XyuK* YQ!Io6jZ $kg(- 7# !+*(    4$$  K` !((g"'\ .C97`? aE $6 #".'&74#".'&7623%'#".'&76;237.'.'&563232632>32>32"##".#"32632#".54676323'.'#".'&56326  $DDQ "O$ ;( (     ! T"8S0 (]+&2, %/:T/XyuK* YQ!Io6jZ $kg(- 7# !7 $14Z&0)*(    4$$  K` !((g"'\ .C97`? aE $/R0%#"/.'&547>?>=4&4732 k >|D/c0 !%)VL  @l4oo { Jt6,:0 TE !E)5#@=   ,V:vCzv E#".'&7#".'&6#"/.'.54?>=4&672172v $!"DP #N%z`$%DL#2 5[%0+n BE 5 &7@  A'!@c!  #0Ua0Bh2#5>54'#".7632>74.'&6326%>76#"&54654&7632t *8[JVj + M#[;  /#fL # !&0 39]E?(37i' <:  D<5 "R p.9orB9e8e *Kz`#".'&632#".'&76#"47>54&5#".7632>7.'&632632%>#"54654/4'&632  $O  C "O$Mx.FRDJ` ' K_=  U ` "(<".&$1  ]&0)q*ElCC B^ψ  76  )%C) F w'0fo/?D0[50| . ?0A%2#".'&5463326+"##"5&6727.'.54332632 ^KxE1)-%6FD -ngKl!OPCCBI$/# S'"' !( 93  r>a#".'&632#".'&6322#".'&5463326+"##"5&6727.'.54332632  $O  C " J $l^KxE1)-%6FD -ngKl!OPCCBI$1  ]&0 )$/# S'"' !( 93  Xc'#".'&7632632327.'.'&4326327632+".#"72#"'.54>32326R=5%"#    4 * V O"   TN\( +* DDV-2I"X#".'&632#".'&6'#".'&7632632327.'.'&4326327632+".#"72#"'.54>32326 $N  P "T %R=5%"#    4 * V O"   TN\( +* DDV-2I"ii,454&'&543232>76#"&+  +$Mo.U,O?Y0hNn m  #CFO@ NK&P(:u4H#".'&632#".'&6%4&543232676#"&54654&546 $N  P "T % ' #FZD Y0RU2\E%0 C'/ 'K 3xIb4R%3fb# L# _3267.#"'2675.7632632#"&+#"7>7#".54>3254'#".'&546W,=  #8F"9. 1 P8XA590V )X'7#.*3' 'C!$&  M7OO" " ,  3@,""q&3: #Y# 6&'?%  4'+ L#*~#".'&72#".'&63267.#"'2675.7632632#"&+#"7>7#".54>3254'#".'&546  $ N  Q  "U $PW,=  #8F"9. 1 P8XA590V )X'7#.*3' 'C!$&  C &/  C '/ $lM7OO" " ,  3@,""q&3: #Y# 6&'?%  4'+ f_tv%".=47#".'&54627>54.7667>54.763232#"&'#".'&76327467"32632Vq[*p! 65 D 3  3 iX }+  2 Bp '#*&. S_0ZF0/`. "-&F#  H? 1 ^F %X#* 2, |D "  f_t #".'&74#".'&76".=47#".'&54627>54.7667>54.763232#"&'#".'&76327467"32632  $DDQ "O$Vq[*p! 65 D 3  3 iX }+  2 Bp '#*&. S $14Z&0)0ZF0/`. "-&F#  H? 1 ^F %X#* 2, |D "  wCGO"&54>76?67"##"&7632623263%$32#".5467 AB  nB*@   &6: ;50DD0IQ=W  *c~ ==$(W'm')( 3Z>1C! #:_2Pw5 3wC i#".'&7#".'&6"&54>76?67"##"&7632623263%$32#".5467 $!"DP #N%< AB  nB*@   &6: ;50DD0IQ=W#2 5[%0+  *c~ ==$(W'm')( 3Z>1C! #:_2Pw5 3mK2Ll7"546767#".76327654.76327632%"&546746232632"=43>32##"54>7.+"&m- =;& \69  7t[Psn9M 3 t9 =5/4%LIK$Mrn%&<?#! W> '@3 1 4,  5   mK Nh#".'&7#".'&6"546767#".76327654.76327632%"&546746232632"=43>32##"54>7.+"&e  $""DQ  "U $um- =;& \69  7t[Psn9M 3 t9 =5/4%LI &/ 6Z '/ $l$Mrn%&<?#! W> '@3 1 4,  5   U_R"&54>7"#".546327654&632>32>32"43>54&#"G $K' 0 GT- 5 =B4  Rn=d5*F5Z_M8,e)^ 701!h !#= ( Jt*$*!`M3b& R;S24~i|#".'&72#".'&6"&54>7#".'&546327654&7632>32>32"5&3>54.#"  $ N  Q  "U $  %P   O $P2 7 D,>}6  Wt>'OS4cI5aIq=' 'E+;5 &/  C '/ $U $qT2 \ !" # Af$% A,[P /3<* #*5Y("&54?>32#"&#"543>765.#"#+f}9dxe>\H=BuPe6 &!kPKJ(:+7$((qj."&54?2?632#"&#"543>74&#":7 'p{gOu:#9CG6RIhT>`yFMQ/? )+1NN'6Z<,  &8d?Wf!'!qN#".'&632#".'&632"&54?2?632#"&#"543>74&#"  $O  C " J $U:7 'p{gOu:#9CG6RIhT>`yFMQ?$1  ]&0 )? )+1NN'6Z<,  &8d?Wf!'!D]aI@4>7##".'&543767>32#".'&*>THL )z)bn[   dm., &"C60rw=kIC'+   +    Tk/$(V2/D]I \#".'&7#".'&64>7##".'&543767>32#".'&  $""DQ  "U $;*>THL )z)bn[   dm., &"C60r5 &/ 6Z '/ $=kIC'+   +    Tk/$(V2/"2467.'.4&3432>32#32632+"._G P6 ;"c<Z=j""#L7>u.-  !T %7#AJ'@0*K L#".'&7#".'&6467.'.4&3432>32#32632+". $3& "T %_G P6 ;"c<Z=j""#L8%0'/ '>u.-  !T %7#AJ'@0*KO2>}"54>7#".'&546327654.763276323267.#"724&54>727.7632'&#"#".'#".4>"P*2% W S Ls$R}McvE/1S a(=#9:@-  @H6!26* PQ = Z63L"&NR*4L 7&*:Q'"4//,PTAW+  +0 760?&D082*! $whoZ3^%#"&54>743232632.#"&7>32+"&676%762#"5654&54654&'&432o~  62s :1S WCc)#W)=(34 *! 96TC& "&'   $ %&( T YvERrq Sg"<6C K  X ~327&#"67327&'47.'&7667654&7632632#"/#"&54>7632654.#"#"/#"&V%KCD95W%5"Es &"&G$_VP % 1D2x 3Rd6d%8*HN' ,P232654.#"#".'&'G1(G^'<1$i 4 8  !.B" 59^Hd,?63F** 5)!!.@28( 5 e:$ ,3'`! 6 ?%N/*FJ)TH! 0QG'* !<>:Q()V.)(O(74&#"#".54>32"6762>54&'P&y1#?+WrW" ;'K|nJW3Pz -ػW][i\=%>4&*, 6)^ Zd\+uS Z%327>7&#"%4.'#".'&76327&=4.7632>32#"/#".5462667>76#"&5454&'&5432K3>- \?&F ,4?E #D 4 )= Uj_Dd /7).F"TOM2  ) & +" 3> 3Y3j $(G!  ' #   ;E *5  >)+$ (5 lE( 7&#"%4.'#".'&76327&=4.7632>7.76'#"/#".5462667>76#"&5454&'&5432 $""CK3>- \?&F ,4?E #D 4 M$,>%N>_Dd /7).F"TOM2  ) & +" 3#2 5> 3Y3j $(G!  ' # $$ ;E *5  >)+$ (5 lE( 7&#"%4.'#".'&76327&=4.763267#"&54622632#"/#".5462667>76#"&5454&'&5432]&&&K3>- \?&F ,4?E #D 4 t)(:)Uj_Dd /7).F"TOM2  ) & +" 3N&&> 3Y3j $(G!  ' #)))%  ;E *5  >)+$ (5 lE( 7&#"#".'&54632632327674&546;2F0<,E]mANP   m 8PO87+.9H&   7|AF -%8m>ca*()!BQ\pfXv|<8.Oy1To#".'&632#".'&76#".'#"&54>7&#".'&54632632327674&546;2  $O  C "O$ ** 5$A[g=IL!e ;'F,D"   4$1  ]&0)v !Ztle7l@ba0)(!%$#!P7I)8- r=?Vy+R b2"&546"264#".'#"&54>7&#".'&54632632327674&546;2h)*8))/&&2 ** 5$A[g=IL!e ;'F,D"   4)8*))&&v !Ztle7l@ba0)(!%$#!P7I)8- r=?Vy+yq_d7>7.546=4.7632#".+"4326727.'#".'&7632654'#".'&56 "$5;Q.1f(!A *L7w (B$D<' 4E<".'  ) L',4%5   $(" M7*w  7R-,)= 2 :($* $\( Cyq_ #".'&7#".'&6>7.546=4.7632#".+"4326727.'#".'&7632654'#".'&56Q  $""DQ  "U $ "$5;Q.1f(!A *L7w (B$D<' 4E<".'  )q &/ 6Z '/ ${ L',4%5   $(" M7*w  7R-,)= 2 :($* $\( Cyq_ w2#"&46"264>7.546=4.7632#".+"4326727.'#".'&7632654'#".'&56))))0&& "$5;Q.1f(!A *L7w (B$D<' 4E<".'  )))):(&&= L',4%5   $(" M7*w  7R-,)= 2 :($* $\( C?,"".'&56326232>32#"'.QEH& >=S%($%!"8Q PSR;H;#080 #&>H JeFo' J#".'&632#".'&632"".'&56326232>32#"'.I $O  P # J %LBD$  :8O$3?$0RWd#2 A%0 +6@6 *2*6'1rG L`o <2#"&546"264"".'&56326232>32#"'.:)))X&&LBD$  :8O$3?$0RWd)))&&G6@6 *2*6'1rG L`nC o%326?&#"&'#"&#"&'"5>3263>32632#"&'#"&54632654'+"&'.>2327&%762#"5454&'&5432qT()I QE1D %  `)  & ^  IQBD 08'YS}=1F,$  Zc| 89(+'6-  3'&%2lV % %  RB(%* "& ,G(>-?Z  WD nnPv0-^*L"C %#".'&7#".'&6326?&#"&'#"&#"&'"5>3263>32632#"&'#"&54632654'+"&'.>2327&%762#"5454&'&5432 $""CP #N%T()I QE1D %  `)  & ^  IQBD 08'YS}=1F,$  Zc| 89(+'6-  3#2 5[%0+t'&%2lV % %  RB(%* "& ,G(>-?Z  WD nnPv0-^*L"C2#"&47"264&326?&#"&'#"&#"&'"5>3263>32632#"&'#"&54632654'+"&'.>2327&%762#"5454&'&5432?:())F&T()I QE1D %  `)  & ^  IQBD 08'YS}=1F,$  Zc| 89(+'6-  3):((:&&'&%2lV % %  RB(%* "& ,G(>-?Z  WD nnPv0-^*L"oX j%32>7&#"7254'".'.7>;&'#"&546;5.'&632>3267.76#".'#"&546E-/> 4KO="34I_ )Y1 9 j+ A#=h,,F}pHm2Sn@Us,"5' 6` .Q* Q32 e %9  0U/ ""5$c 5QNY>3764>;67&#".'&76332632654&76#"/"'4>767&'#"&&9#   &L9\#(T4v0) H!.$)F>!L }H.now "767&#4632475#"&'"5432?4.7632>3232>54.54632+"#"&#"43676=32'4&#"#"=#"&%.++oL8  h!u!?" 4ofN$ z'|p---#$Y9   @c(ABPu[ 'M(!)4  V2CA >'D!$+0 # # G4 x"$*-Xx56HNX;(5h%6 TPkf]673>7&467'&'.'&7667654&7632"1"'47654&'".'+"&4+_7jTH2!:9)Q] Y  w}(1F`N7O?.VCz( H5'I?=uo_@x.(U?N2H9+ /J$Jf"#((:e>o[%bgk b4i6W f67'4>7.'&76654.7632#"'#"'32>7654&/6#".547&'& X=%cZ?RQ:@K :}C#  I! 0 1>+9GZ/S6! ,- &7a;%HG+Ob-^^ 0P59 1 '.M&-1* > wY  ;5EQ+BM$ *ZAf'@TE0.\?*C >T9U%"'./#".'&57627&546;274&7432#"&#"7632#".'"54332654&#"M, 3+;5   --+/0, 5 G 37#toKZDH5)5 &.A2<1^NV ndQ)c *  >)(5< "F*(A,/8  +%0S |5BJ[%#"'.'&'#".'&54627'.546;274&7632+"&#"7632#"&5632654&#"b  A6 4J+!  77 @ A=:CX @,/! Y;S'ZCJ*L@M>x_n' j#d3W&!4  :5$ FJ  #$B52-*:E*6$.7&'#"&5&54654&54>7&54>32632AK#:/ 9F7) `"H%!#` "X%! % * # +E% 0F#$Fp!5zLbgM';*-Q/"UPhj Q <(3[_@ / o )]   &+I,L[?V'>@!&HH+zo~ c67.'"%32654.'654'#"4767&'#"&54654&'&54>7&54>;2632#"\U* %E ;GW%0!u, :N&38m J    4 , 7$V*59+ .N2)M)3ayc2M) Q(z %(" -7 4[ \pNl #6[9"EM;'n H%3265&#"46;24&54654.'.'&32>32#'#".'#"&\H3>F5T^    MLn p-E#v0  /R65GD@< )5 >&^%>6 - *! /=B# * 5kAz J7326765&#"4;23&54654.'.'&632>32#"'#".'#"&x6B$QWB %    ^Lh0!-> ] Fh8XoEWU'D%(v_9n-"'&EH !' >#7^ P& *4 KWASOP#43676&4.632#"&"&5467>7633>32#"543>54&#"s6"01 =; !  WZ@3O, T9aQM-Sa '`+ K . `h(!%T4L 34+$3?/~N+ &3N/Be*M<"547&=4654.5432>32#7>54&#"U 66s%)(-@,h >Z-% 9/# #rn+5 "$LOho32>54.#"c<>4 ("8 >!. O6* 5ő`jUg,*/Y7D-$H/.~PT, 22)Y )@   -.8# 7=kXg?3) H4.I()0!+'-Mks6565'2674654.76326327>3232?#"&54654&#"#".'&76654'#"5475#".'&54l G%G)  2&2J7*,@?JG4>5*"@68*' ,'L ;,#" 7 #=%H&( ?8!6QTA$)J,.]L>$)4,772t}K:$U&OyFR_ ,  {<_=632#"'43>54.#""&54>7>7#"#".'&63326k+|+dUP8p$K1^5 4 ;;\'x-VYIWN! !P $-Q- 7'#2 1e0 f%=47#"&/6;6765.763262632"'>5.#""#".'#"547k+6& 0% B &tq1I#L:c5<>(DPfc $8[4 5F $ ^2!   F e-A6RE"1N.>_f[<6 H&- "bp m%=47#".'&7632>7654&763263223632'47$54.#"#".'#"&54746J)* $ !=  6 //L ,>\+_(8'L5{  (  63=&  $0~7 ( O }9SDcZ%7o"?>%jSFB !H'8! jd?d j%3267.#"'7>767"&54676=".#"#".'&6322632632#"&546;2654.#"!$U%(2%7&#".6332>>32#"'#6322>32#".#"#".#"#"'"5&54>7&5463232>54.#"#"& * &˘,55SD> .O73C(Pf8RAHP #)63m, !4 %J *%1fL  [5=&*+ 0H#';.*;M"    !$" '{O$[A-@ <  -("# $;: <`&1$ *$ +D  VMzu&#"'&5>?#".54632?67.'"5432632>32>32>7.76#".'32632#".546:-K)'   (@q7 Ke-X/L# \ #,6T \$OL&8%H/& %>E `^eb#88gc;| ' B  !#5I%(+7 !) $! j;f:x'& < 6%,yg{B%".#"#"&54>7654.7632>3232>763,9)!_S  5 5 ">)2>,&D='0@Kz)u|134&6#"47>7"#".'&4332$72632#"7>75&$&6 \ AM '& *C< #`_-S#; #"*eJٽ U@"^ zz;4.76#"767"#".'&43232$726;2#"67>7&ND)D S`ɯY6I ) xw=f 48)+62A  _ ' %kP.t&U64&46&'#>767>?5654'5632#"&546c LNC3-B+>05C    n""/#_9&L  1$@?  6G: |K>4654&'"47>767>?5654.7632#.54654&{#|`q=Q1T :77    . #G')sG+c  =?3 >T^*(r| ]4&5.5423234&54#'.'&6322>32#7>7>54&43'.##"#"&46 ' >N & H]3+=0PJU1%6 $  ! !!10#5A^*!w $= <zLZ4&'5.54623234.54&7632>32#"767>=4&##"+"546   . Ma.0_y  ;6L;eR('l#%   t)  $E','*!=<+D*%  % N5EH{`'&'4'#".'&63276;2632+"&#3;2#"&##"'##"&/47632672634>546 6F  J !k[46464&'&5"#".'.63232>;2632##"&#2#".##"'##".'&546374CV R %!0W )*' -v_% ?} ;Sf  K )6 _% &  &;C+    '   eJQ%4>=4'>7#".'&763274&54654&632>32#"&'&#>-='PqHY^ O(B 8 1.[)  b02 FF32;U4.+K}*,F01A 2 P  za}V#47>7#".'&763754654.7632>32#"&'63&54>=1*O;N2aX#'  b$ 1H=9s2 'JK1IlB;5Y̙  49/!;>S A,# @9i  WD?]x]"#"&#"'47>7#"&54323763>54&5432>32#".'.'3>5 &3QZsU9bC:#  J]@ H$\\* L e&(/-  /;:3, {WF3%OHK@@2 @ *L S"*! bV( &E G 59"}j] y#".'&74#".'&76"#"&#"'47>7#"&54323763>54&5432>32#".'.'3>  $DDQ "O$ &3QZsU9bC:#  J]@ H$\\* L e&(/-  /;:3, $14Z&0)a {WF3%OHK@@2 @ *L S"*! bV( &E G 59"}joO}_"&54632>7'#".'&7632>7./.'&632>32%632"&'.'@ / !.lC,5F  E! =-    H &f1B @9~6O G 7|E    * ' 0,    D99  T    *=>*& oO~#".'&632#".'&6"&54632>7'#".'&7632>7./.'&632>32%632"&'.' $O  P #N%s@ / !.lC,5F  E! =-    H &f1B @9~6O G 7(#2 A%0+oE    * ' 0,    D99  T    *=>*& |!tI67&54?54/632>2#47>767"&#"M! #Jc   0.D_>=fPB1)aJ$20C_ E #      sW'#>>&F%F>=998<="5@*&|t e#".'&7#".'&667&54?54/632>2#47>767"&#"  $""DQ  "U $WM! #Jc   0.D_>=fPB1)aJ$20C &/ 6Z '/ $_ E #      sW'#>>&F%F>=998<="5@*&x}wS6>7654654/37>32#""#"'+4>7&6>?654.732>1j?q 9X:% %"00W;(# 5V'O& 1f 6!"2@(W[8[ 6#  &17 #X8%- Ax}|,9r6>7654654'%#".'&632#".'&6%37>32#""#"'+4>7&6>?654.732>1j?q 9X:% $O  P #N% %"00W;(# 5V'O& 1f 6!"2@(W[8[ #2 A%0+56#  &17 #X8%- A7A%.#"#"&763672636'"#".'&54276 676326;2#"' H8 H  ' </+6 Y M/-   T ~`#".'&632#".'&72.#"#"&763672636'"#".'&54276 676326;2#"' $N  P " L % H8 H  ' </+6 %0 C'/ 'Y M/-   T }tu["&=4&=4'#"&54667&54.76>7>&/632632+"&#">7a 79: G> #c_y*6  , !8 4!< ,A"o   P Q$A&#53 KE [TI/ *_Ma;Z">0}zz#".'&72#".'&6"&=4&=4'#"&54667&54.76>7>&/632632+"&#">7  $ N  Q  "U $ 79: G> #c_y*6  , !8 4!< ,A"o  &/  C '/ $  P Q$A&#53 KE [TI/ *_Ma;Z">0vHX7#"&563#"&'&76"./6767w  N n"S   ! ]~^ma3B d$ .2  ,/[ zd)5v[X ,9S#".'&7#".'&6#"&563#"&'&76"./6767[  $""DQ  "U $w  N n"S   ! ]~^ma3B &/ 6Z '/ $ d$ .2  ,/[ zd)5xDC%#".'&'"#'43>767'#"#".'&727>32326324O *T ljU*W7 S ]U !)+XN]24[v2g6ZFnyP2  "   333M2xc#".'&632#".'&632#".'&'"#'43>767'#"#".'&727>3232632  $O  C " J $14O *T ljU*W7 S ]U !)+XN]2]$1  ]&0 )4[v2g6ZFnyP2  "   333M2pdmi%4654&5#"./632?4&54654.7632>7>2>7&'&/3#&#"32632#". 1M %" M  #>"o) *ZF  =>%@9 X~-bT /  ,* p$'>!!@G!P#  E" Ia%@*!   1pdm #".'&7#".'&64654&5#"./632?4&54654.7632>7>2>7&'&/3#&#"32632#". $!"DP #N% 1M %" M  #>"o) *ZF  =>%@9 X~-#2 5[%0+ bT /  ,* p$'>!!@G!P#  E" Ia%@*!   19I4&5".'&%4&7432#"547>76A &(  M$"lm>dJ'%$D 7!5_,3   ?;fB)Ed|!/S#".'&632#".'&72&5".'&%4&7432#"547>76 $N  P " L %1A &(  M$"lm>dJ'%W%0 C'/ 'D 7!5_,3   ?;fB)Ed|!n -H4.'63>32>7.'&'>5>='#&#&*  @uv`TV. (_EJ4 YBg& -" Z#2"7   !pU01c\;%&450+8&>%  $n Ni#".'&632#".'&6324.'63>32>7.'&'>5>='#&#& $O  P # J %$*  @uv`TV. (_EJ4 YBg& -" Z#2"U#2 A%0 +   !pU01c\;%&450+8&>%  $u|uW"&##"&7>7#".'&546;23267&=4&54654'"5436$7262&632PN-?(3@  x 5Ob Fm# }!@XOoJK+?og20&  & [)G uw#".'&632#".'&632"&##"&7>7#".'&546;23267&=4&54654'"5436$7262&632  $O  C " J $2N-?(3@  x 5Ob Fm# }!@XN$1  ]&0 )OoJK+?og20&  & [)G z%C#".'.'&372#".'.'&5%4.732"547>76  M   .  &Qd^Ea}4) 3 3'# A$y- (  #6"  $(Y>)Dgr4x]q$E#".'.'&32#".'&546"547>7654.743  a   #53 >`L6   /f7654.743 $N  P " L %I  a   #53 >`L6   /f76?45"#".'&763237376;2#"&"&#"#".'&5432>32  S   (:)A )MZ'  44_tRZT0+   G iak 06HC%) !>.__>'    ,  tp;Zz#".'&72#".'&6.76#4>76?45"#".'&763237376;2#"&"&#"#".'&5432>32  $ N  Q  "U $m S   (:)A )MZ'  44_tRZT0+   G iak &/  C '/ $ 06HC%) !>.__>'    ,  *Rs1".'"&54654&54654&'&542,4}Q 6<2LW+s/Q(8UF <;1+1; _H 0*R s M#".'&74#".'&76".'"&54654&54654&'&542  $DDQ "O$ ,4}Q 6<2LW+ $14Z&0)/Q(8UF <;1+1; _H 0~ytI"&+"476765"#".'&57632>74&54654&/6326322`H8S9%Y) I &oQ  ;a^R) \xPM1<^( ^*5 79C  t8"#".'&57632632#"&"#".'&543;232632#"&Au$m zz bd    T^?3!2  ["   NE".'#"=47$7.76>5#"&/4326;23>7632 ! 6>d-%M4*'&W  &  co 5K(q+:JQo?.*  K8)    +q!x\rb#"&'.76"&76354767&767>7"#".'&763>7632#"&54654&54.5'&U2X* 'PV+# H3=>y0g% /Kt\ *!   R ) .Pl $FL^)%    $D76/ISb.DiE0$5 -3/S=@-XIR?T<^!v/#".'&'&?2"57>7674654.732 *T<O(4-B3B 7L98v.>@$CdM J7674654.732 $O  P # J %" *T<O(4-B3B 7L#2 A%0 +h8v.>@$CdM J7674654.732v&&K:)))k *T<O(4-B3B 7L&&2)8*)18v.>@$CdM J54&732632#"&546=474&'&42!)=G< F\=CLf\V8'Y% !+  S!60;O [Ch4K]` ]#".'&72#".'&632>54&732632#"&546=474&'&42  $ N  Q  " L $!)=G< F\=CLf\V8 &/  C '/ $'Y% !+  S!60;O [Ch4K]WM"264&2"&4>54&732632#"&546=474&'&42N&&K:)):(!)=G< F\=CLf\V8?&&3))(:'Y% !+  S!60;O [Ch4K]&4"#".'&546326?632#47>7654&5&h# _ GOO ZpL1j@mKG%.   +*   # u3.MB^8e#/ U#".'&632#".'&632"#".'&546326?632#47>7654&5& $O  P # J %h# _ GOO ZpL1j@mKG%.   K#2 A%0 +Q+*   # u3.MB^8e#/F"264.2#"&4"#".'&546326?632#47>7654&5&f&0:())Xh# _ GOO ZpL1j@mKG%.   &&):((:+*   # u3.MB^8e#/s;)"&/32>;232>32#".#" "  FZ'I+G"To! } <<"=5AbwbS s;$H#".'&632#".'&72"&/32>;232>32#".#"] $N  P " L % "  FZ'I+G"To! }%0 C'/ ' <<"=5AbwbS s;@;"264'2#"&46"&/32>;232>32#".#"&&-)))) "  FZ'I+G"To! }(&&2(:)):( <<"=5AbwbS [ps%%#".'.'&767>54&7654&546=4'#".'&57632674&54654/.76263632#"&#"#"#"&'&736p&#3<B70W\ect BhU / " 8  y&< &M*2Vg)>d3:y#O8{#@ #(  )0 88" 15 $.S% V  [/C#".'&632#".'&6#".'.'&767>54&7654&546=4'#".'&57632674&54654/.76263632#"&#"#"#"&'&736 $N  P "T %1&#3<B70W\ect BhU / " 8  y&<  %0 C'/ '&M*2Vg)>d3:y#O8{#@ #(  )0 88" 15 $.S% V  [p#7"264'2#"&46#".'.'&767>54&7654&546=4'#".'&57632674&54654/.76263632#"&#"#"#"&'&736&&-))))&#3<B70W\ect BhU / " 8  y&< x&&2(:)):(T&M*2Vg)>d3:y#O8{#@ #(  )0 88" 15 $.S% V  w<%#".'.6>767&##".'&533>7632+-M&'E4-   0Z"  eݹ4 'LF)+L >&5 . +&'##    -    "+f Tp(9%#"&'&'"56#"&'.=4#"&'.563` 0:\I-%W9\1"  ,w9Z3LD?W")lK=+%O2  &A #$v>&A%#".'#".'&5432%.764&54654&?3#&57>4 4&$ n /: $ #=--[)-- 2 (V2T&\ ,#A"\[zt4".'"'47>7.563>54&7632,)3@M^8]P*54&'#".'&732$32#"&#"6;2#"&#"32632#".6{/ 21*b 8! 66?#^=H g,,)^$:/b Si4L:$  K ADA$ K].(;!&2BPX4N%#"./"&/532632327.'.'&632>7>3'&>767* -C!   r    ?+/ $OU ) #;w 2:A^ 17  HL  !W3 + 8  ]Lw+$}QqO%#"./#"&5423263232>7.'.'&632>763&>767"6  , ?  %" 5.##"&/63262326326;2#"&#"#"&5+ rx   jr  'J6)nk.,,@0X    _G   5 yCF"#".'&5763>75>765.##"&'&763263232>32632#"&z W&@ )  !cu2 0@@7 N *  $4  'uU  [43326?2+"'#"'&#"#"#".'&74327>747#"#".'&763>3656'34'&+"#".'&  , FG  ]),L!%dS ?   H  $ - %$-eZ2$3232+#"'&#"+".'&732767465"&#"#".'&763%676'56'&+"#".'&542Dg   &! ! W&$ , !Sh32 Ci    -  1/ B7 Z-D".'&542332632#&7>76=&'2"'&/432326z q>)UdYJnP4+ -5=n4*$5 _# "mG<%#AF8T;5  "#?zt'C4654.7432#"47>54&4654&'&5432"&54& 5 2\2E!  5%6 #K)S$`9vQh)+dS!O  +*` Qxk'+J632267>7#".54>54&'43#47>54&546 . &sOHy;  % '6:K &  ui>\# \#XaQd  cʇ p l" (3L8, 'agA( #T*'63232$7#"&54>ED)nC$EIuM p/ f0 s" pQ)?,9-M45P22+&'&#"+"&5&5&47./&'&4332>32632636?.#"#"'4B D   MLSp%! F#'  )\Et}     oA~78 ,F0]' ?2>76&#"&#""&54654&543263> @+f8R9%  !TL  7x>Lc vT$!?B (IL=X<8    8  < >*GD"#"&#""&=465./43216$7632>76'4#&pB  =Y 2$2F2^<_B4    IK N   '/?!;7"; *SFW>d?< Rctx232>7.'&767263547#"&763263232674654&?26;2#"622#"&+"&5&'"#"&563269('5 :?qv D   <$2V480B>>&  e9*D  $ CH #A ?]% 5 (H   3  pb;k^4&'#'./63232$72632>7>7&#2#".##"'##".'&54637474646 ' 4?$fAiAW=5F  v_% ?} ;Sf  K =a1 /  @ )W  ;C+    '   )6 @3M2>72674/#&#"+"#".'&43232>32#&7>7#".'&76|/e : K 55(T X|N3k>)\"  \6 )  !&5/D0 sl/#"&'&74366&232676763#"&5326" '  &K*Be:M-R~ &CV9uK-32#"767>=4&##"+"546  $ N  Q  "U $,   . Ma.0_y  ;6L;eR('l#%   / &/  C '/ $)  $E','*!=<+D*%  % N5Ec*U#"&#"#47>7#"./632>73654.7632>32#".'.'>7> &FJ^>x/n  1G>  ? lS  ' .0 LawD:$N =/ C> I$Np. 8 2 '0J+}CE6>?654/32>72+"#"'>?&657>54'7432/0S5U ]\& " Q9:L):;:(6 )1As  1#   %%"GR 4"usRu"ubk"uv&#uF6yus"&#"#".'&5433>32p Om$:9#Pw!2  +  "8&567#"&5463232654M-PLVS)527jp<>M{<a#"&54632'654   !".>2 R 3&-T822 5@"&=46 4&#";26'#3#'#3#5254Ȕ4&+"676ʏ(}~~# x _/1 C"59<Hʏˎ~~~+   e"+3#+323273#.#"326?#"&5466  264&"F?2:M@J$2   Vjo⢳(@cH?^   lVWo%W7!54/3#525'%33#"3#525#3#5254&+=M%23%M`r~p)2333 aC8Ca 3 oP3#88'5!<V882 .5"&=46 4&#";262#'.+#254+ʏ}~~<=# :}1GGzʏ~~~G.;#>L0 4|F=1 (04>32#.#"32673#"&6  264&" &@( ," 3?(8CD7/?//+HK]⢳B48* 1!!.YICTD$80-k-%##5!###33#1}+}2i1GllG1%Q++5|C5( #7>74T"JT=.pbW KoI'(\3#(44( .'&3\ .=TJ"T4bp 'IoK U!#U77I737OT3!!7I7 #4>760\Bf0"K5CU5/ M674&'5>=3#ZabY6&..) )..&6V$V8Y4**4Y8 .53B\06"0fF /5UC5X6M36P L3LSX'6 %'7# .=TJ"T4p 'IoKZ3#446 6364T"JT=.pZKoI'h!#!R71h317Oh3!5!177 #4'&'B\06"0f /5UC5S6M#54>7.=3ZabY6&..) )..&6V$V8Y4**4Y8 35676560\Bf0"X5CU5/ M6#1=#".#"3##5>5##5>5#53>32632%"347.<{z)+)+DDljW+J"B)? #nYt ) .D) .D m|''>Q+P1* 8".#"327#5>54&+#5>5#53>32 #"5 2?*.HV**DE ,P5:E> ) A+ 5-03()0C!"5E- &   %17>5#53>76323267#5>5##".#"35 ,EG-L H 9)'+E A 79 BH ?'%N"H4#GT"327#5>54&#"##5>5##5>5#53>32632#".!"367.1)?<5+/"L5 )*)+DEljf6_0N$)?#>Q+ B .!0&)!-D) .D m|33 ( >Q+K3#3BN!#5>5##5>5##5>5#53>3263232675#".#"'"347.% '/)+DElj[*?H 6 ' C)?$%N$!59) .D m|**'>Q+J5*!3]4>7#".#"3273#&#"#"&#"#5332654.5463&54632326?63#327#"5#& , MM,.7!  U.+l**W:M 6<#./CB/T:5I4 H7@ ee3! @#\5 /#66<-"B {$.@5)9H CI&#-#'@)9A5=4I)2)t T# ,-#">#">>#"#",8>#">#",8>H#X@% H#mH%H#"H%V#">&'(V""V>'T#">(V#">)0V""L>*0 V"">+V#":-=w""^@.4#";/V#">0K#">1W#">3/V""V>5V#">63#",88V#",89 V"">;4#"<<V#">=V#",8> V#"=?0#">*#&#0#9rv #%'7%4.'7!"&547'?'7455 B,79G 4*4555557743C' @(U+7O}e*&7749774rv #%'7%4.'7!"&547'?'7455 B,79G 4*4555557743C' @(U+7O}e*&7749774|- 7'7'?'7#'!54'9::t999v9::--4 8::::;;:I:::ATJnS f8|- 7'7'?'7#'!54'9::t999v9::--4 8::::;;:I:::ATJnS f8{- 5%'7'7'7237# 327#&'&5&546767.#">>??>??>??rZ6'O7r%0-A?a6o63""5p??==??===>!?MO#A@&-/2 @=CyIv "}/9=A%'7;#.5%237# 327#&'&5&546767.#">'7'7433 +2((iY5)H0nC--@>`3r43 0;433h433 443>R,Q#?0%y!>LO18)"$0?= CxHt 0&4433443b %'7'7'7>32!"5%'&#"244422#333 "o>c!T;3333333443U'M9#LKZb %'7'7'7>32!"5%'&#"244422#333 "o>c!T;3333333443U'M9#LKZgk '7''7'77>7654'k455466455 16h",0A&!K221G220221EOOH +7`?65-Wgk '7''7'77>7654'k455466455 16h",0A&!K221G220221EOOH +7`?65-Wy[04;!654/&/&546?+%"'&5476Ij }= [~mk"*N2KI yA j2,5"&+%7!654/&/&546?'6ǀk"*4}= "_z2R6n'&"09*$#^N m=  :O/>j2,-2&#"32632#".547$7&+"546!!"]P ?YuRv<S 4h^..c_  V%vO5#;>"ksbS]8A 126=4#"+&5465476;"&#";2#.'547ri n*T-m2 . oLoMrfU[7* C0+ :2M#1@T AH cmV7G'/K7'7'7#"5!54';==;==--41@879999999>NEhN `5K7'7'7#"5!54';==;==--41@879999999>NEhN `52:^e254/7#&'#"'.54>35732654'73263%327523654'636#"'#"5473632654'67&'7- 7.m c<+"6B*7 ")7-Q#%[   "Wn-ASbBIKr(&-"M[F+)k!Pk"  )  I%f, (,0N#".'&'7;4&'#"/7327654'7'7'7#"54732654/5473X%*w1($IDBA@4977"`\; ,s7j*( $27Ta)C9e?#&2q 9723764AX10;21PN77>729;29J wJ ,7>7'7>7/:;/:J >J 6 7>729J 3kn'#67'&546324&#"6 2"]G5"4" ' @$'I #1*   ,7>7/:J X4#"'#"&547332>72654'7 !   $ %-   2 eQ23267#"&#&>54'73 $).694/#"07 *$7D){54'7  *b71UY.;"&'654'7 MWF/K,.6.QbcV=af~ %'7%4.'7!"&547444NA287F 4*665AN@)S*7N} h%$!~ %'7%4.'7!"&547444NA287F 4*665AN@)S*7N} h%$!? 7'7#!7!54'CDDZ-4 7EEDASIoS f7? 7'7#!7!54'CDDZ-4 7EEDASIoS f7{'7'74&'7!"&547ACCACC ?K47D 2)>BBCCBBCOD='P)5Kyd%# {'7'74&'7!"&547ACCACC ?K47D 2)>BBCCBBCOD='P)5Kyd%# *'7'7+'!54'9;;9;;,37::;<;;:BRJoSb7*'7'7+'!54'9;;9;;,37::;<;;:BRJoSb7 !'7'?'74&'7!"&547@CC@CCABBW!A777F 3*BBCCBBC7CCB8QF?)R*7N{f&$! !'7'?'74&'7!"&547@CC@CCABBW!A777F 3*BBCCBBC7CCB8QF?)R*7N{f&$!5W '7'7''7+'!54'===<>>===_-47==>@==>;>>=ASIoS f75W '7'7''7+'!54'===<>>===_-47==>@==>;>>=ASIoS f7|)-237#"327#&'&5&546767.#">'7JoXJ6'L5m0.-?>^8i54 .<544!?fkLR#A?&//1@= DvKv 0'}553} <%'7%#.';%237#"327#&'&5&546767.#">544N-A%8Dv[L7 )E,p%0.@@`]?(5 !"7T5548Yf #! !?flNP48*/01@>!DyJy  !]632!"5%'.#"'7g,W"[a~B544L5`LJX 554]632!"5%'.#"'7g,W"[a~B544L5`LJX 554z4)237#"327#&'&5&546767.#">J pYK6'M5r%/-@>^1s52 4; >djKP"@?'-.0?; CwHv  4"} :;#.5%237#"327#&'&5&546767.#">~8-( v[L7(N6o%0.@@`]?(5 !"7#! P!4+i!?flNP"BA'/:'@>!DyJy  !^>32!"5%'&#"0p;b~#Qa&""M8#LJX^>32!"5%'&#"0p;b~#Qa&""M8#LJXpZ(,237# 327#&'&5&546767.#">7'74jT3#G1i+*=:X0m1. -8o,++;FK <<%;<- ;9BpBn  -$,,+} :'7#.';%237#"327#&'&5&546767.#">655r-=, 19<t\O7*I0v$2/BAc[D*5 ##7665Lm B*"AimOS2;+132B?"F|Jz  #X'7>32!"5%.#"@200{#9c:B"#Pj110&"KI*-X'7>32!"5%.#"@200{#9c:B"#Pj110&"KI*-r4.'7+"=7~  4"87 $ O (8hCN`&r4.'7+"=7~  4"87 $ O (8hCN`&r '7.'7+"=7/977  4!76 997 #,&N (7gBM_&r '7.'7+"=7/977  4!76 997 #,&N (7gBM_&gY76?>54'E 07hSEE%EOH H 1 ddQ&-WgY76?>54'E 07hSEE%EOH H 1 ddQ&-WgY'7767>54'F8;;7 +54'F?CC> +"R C:F&?*! k( $Z$e47!"-E'  A/@h6H5 )00H8@E7&|9254'7+&'#"+.547326764'732=7r5(-)) !$:1+?Y!"5>"R C:F&?*! k( $Z$e47!"-E'  A/@h6H5 )00H8@E7&`,2654'7#"'+"'+"'27654'73254'7 "49+-!S !L  Q6Q,S$&&&&K5,5+/@7`,2654'7#"'+"'+"'27654'73254'7 "49+-!S !L  Q6Q,S$&&&&K5,5+/@7|=AEI254'7#.'#"+.5473267654'732=7'7''7'7l1',%$";0-#& )!j( $!/11"/11$/11W$c42% !7I,9&?e6F3 ),KE-H8>D7%---:..,---|=AEI254'7#.'#"+.5473267654'732=7'7''7'7l1',%$";0-#& )!j( $!/11"/11$/11W$c42% !7I,9&?e6F3 ),KE-H8>D7%---:..,---2+/372654'7#"'+"'+"'27654'73254'7'7''7'7: 9?01!$[! !%S  7788'788)699 X54'77674#"23276@$&%GR8QkA\-?",x:1JTRe@ 8'!""C[/oVOILS!45GIHix7R(32##"567>54'77674#"23276@$&%GR8QkA\-?",x:1JTRe@ 8'!""C[/oVOILS!45GIHix7RM"#!"'+&53>?;>4'!6o +`03// -eS}R-K7$h00F'}[D  6!M"#!"'+&53>?;>4'!6o +`03// -eS}R-K7$h00F'}[D  6!(372##"567>54'77674#"23276'7@$&%GR8QkA\-?",x:1JTRe@100 8'!""C[/oVOILS!45GIHix7RH000(372##"567>54'77674#"23276'7@$&%GR8QkA\-?",x:1JTRe@100 8'!""C[/oVOILS!45GIHix7RH0009$'7#!"'+&53>?327>74'!6`100"+`03//#*\ WyT3R|]$000HCh00P .AvXC 9$'7#!"'+&53>?327>74'!6`100"+`03//#*\ WyT3R|]$000HCh00P .AvXC 8 6547632#!'%4&#"!6V? tf2I= :$)bSE3BVQO-';8$'76547632#!'%4&#"!6.//V? tf2I= :$)bd../SE3BVQO-';%$467&'5476;&#";673&'&>>W#A8F5D Mb.xr#MiohqKC44K* =91*8$R: CK}FL.A !|l\/;#&'327#"&54>7.#"#6g "&&df4JN5NA3J+hPh7F> = ' !LLY6rG*@*38yb@wO9  w+327+"5&5>3&#"V:e2@ _:8W"`63Y$\M1L_:5I'"%8%2;#"'+&'723254.#"#5>Z8LH$2JLH=Q_  B( %O>M]]MY>C,%)467&'=476;&#";673&'&'7A:W"A7E4E M_.wp#IdngrJ011><0J*=90)9$Q:BJyHL-A !b000|l\3'7;#&'327#"&54>7.#"#6122 "&&df4JN5NA3J+hPh7F> =221 ' !LLY6rG*@*38yb@wO9  wX"327+"5&5>3&#"'7J9].; V43M O8-S...]J0I^63F$"#2001[#'2;#"'+&'73254&#"#5>7'7c;LJ&2abJ?Rb   Dj111 ($LB\$%#6LN$"0 $#@>9W =1'J223+%/3#%.'67326;2=.5476;23275.''7V""S))S:L'!..4$T'*122 `>B\$%#6LN$"0 $#@>9W =1'J223>#)#!5732=.5476;2''7".(SP5K' -.S1000" !"BX?\J/ #"B98/2222 !<1>#)#!5732=.5476;2''7".(SP5K' -.S1000" !"BX?\J/ #"B98/2222 !<1i.<'7'7+&54&54733267654&#""546";27254/777f877n$HG[3 8rXmK  _A#) &27777777UF?,8-v`zgA'5/ $K3/p8/ i.<'7'7+&54&54733267654&#""546";27254/777f877n$HG[3 8rXmK  _A#) &27777777UF?,8-v`zgA'5/ $K3/p8/ 9%)#!5732=.546;2''7.#"'7$RO4I(8*.0//()%!'"/00=X>ZH. ##7w.220 3V12209%)#!5732=.546;2''7.#"'7$RO4I(8*.0//()%!'"/00=X>ZH. ##7w.220 3V1220y0+%"'&547;!654/&'&54>7m*U/(*N2Ob }= "4!8TtMW3)hD@u7m*U/(*N2Ob }= "4!8TtMW3)hD@u767K1kUQ*4}= "40\w]Rnfc_N j= 0 -(,0$"+%7!654/&'&54>767K1kUQ*4}= "40\w]Rnfc_N j= 0 -(,0$j%#"54732765?>rY=.LYHQ#Y%&4/4 UlR$aKJ4.o&)@0j%#"54732765?>rY=.LYHQ#Y%&4/4 UlR$aKJ4.o&)@0 '?6'((-+lN\  yJPMm '?6'((-+lN\  yJPMm7n%"&54732#'&#".'54>32&Pkd8$GF1=  ?(l_/&A"G'>$?0%7n%"&54732#'&#".'54>32&Pkd8$GF1=  ?(l_/&A"G'>$?0%2"/+5>3254/3%UMC/- 8ee"/()*4z8= (L -,"4!2"/+5>3254/3%UMC/- 8ee"/()*4z8= (L -,"4!y '7265&'7#"'"&547;::(:*HP8 i777Ql `GNF^/jg\aI9y '7265&'7#"'"&547;::(:*HP8 i777Ql `GNF^/jg\aI9K'7#!'!54'=>>E-4 68v:::>E-4 68v:::B;e ' (s HD"WJ g(%"&'#&547&547;%3267.'ggY KJ,>^GD5  UMGU^ &&VH" -$C *&'#727&'47'62654''654'a#fXXfST38 F3_&0Q`뮿2B2 ROL0U0%.LV^S/m?7 c9"(/*23#+"&/#737>324.#"3>654&#z0% .F' +  ))*;   77:@W:'" M='MQ6eM}A;^"  ;W13)3?I#%#&=476;+5>76547.#"3232Jc**3 Dj;l5w=-" - % H>9 UrK E6J7*g51fI#%#&=476;+5>76547.#"3232Jc**3 Dj;l5w=-" - % H>9 UrK E6J7*g51fzf(/>7'4&547767'&'"#"&5432>54'*D<  /6;hz/44qAJ6-\07 (4K}i6+[1PM 74.2>{%#"5'#"'6764';%&+'0i -\F6yx*%hwdhŤb>5:U ]wp5ؐ# 354>54&#"34632#3 #*#8#*#H=5#.$,888hg0 2#,8"7A/2'A{hgc"%->&54>&'&5!2632#!#".54657674&'"32>_`  #a ?\r]Bl>*C7';C$L*+c$/UIWP#, #A n18D"1:,.?3H0)+ '$"1 ;Q~;"&5473327UB7!8y'* %haΓV0#"&5463232=332654.=3('wZJ^#&8  .5(>T+*S-R@?L)GX<1)(  '>2*C7DyRlI9C#"&547.5463232=332654.=3264&#"('B@C13BJX#&8  .5(>T+*S 4"#"-R@?L)J-I1CC1#:0)(  '>2*C7DyRl#2#";J_#"&547.5463232=332654.=32654&+2>54'#"&'('QST=>R)$1#&8  .5(>T+*S,,%  C*2(1*(-R@?L)T- \AYTB?& +)(  '>2*C7DyRl  u# " %6$ #. !533S;#Fe/923##".546;.#"#4&#".54632632=#"@s H:)7P;@')3Q+"*? t7LlRd%(R"A(?eP*d|87;K95+$.?*?2lQ A]GG1(E\!2#"54654#"#"'46323276" .8>c3  /-R9\" P.  oKbZ8CJR]%2#"&547##"'#"&546;4632>54&#"'>322654&+'4&#"325#32=#">MQ@5H TER'!A7LRU%N?+@ + D41'2O!4?$,5 /$.*22 &8,+44*f?"bE9:PX=4fPPS=H1Vk,G4OQ!$*#,"80#L6>1% 2X;:PM=I=R@ %`UMq\LXa"&547&#"#4&#"#4&#"632#"&54>32632632654&#"'>322654'264&"*3XnKs>70SA3'3SS,->2B?5@N $7\;TE5\Z59\1.0'6 9.*De$,8#D# &'@() w=jaQ>m- 5@( ,)5GP=;HiT$FJ8$ONKL%+' ' 39$gL?f=l=(3 -H1.H0M[6A#"'&547&#"#4&#"&54632632654&#"'6322654')4U?5&"sF*4S,#A+(vpRh%1UC+1#3!*aik'/8#D)!wH#"&547&#"#"&54>7326=4>32654&#"'6322654'!,%4 C708"98O70$3!(bib+5l?hQk_YE`3M>1IaRB8;R'"#,&Qk$h?Hr5We:8N\'22#"&547&#"&54632654&#"'62654&'w*D+]PB9Jp0Nf_ua?+1'4j&- f,\39(5Tv_sWG[vTs;Hk$,'RJ<'aTc1@K29DO2#"/3254&+53254+#"'#"&547634632#4&#"325#32=#"#07;@)!6,CTER'!A:IC!hN?.B E8,+4)f?"b#+1*% !3!!'fPPR>T Vk0F7:PM=P (1"%( $`UG_@GOY%#!"3!!"&5463!2654&+532654+#"'#"&546;4>3232%4&#"325#32=#" 3)/T,66,"-#A/TEQ("@8KTP( ;(EVZ307-+44*f "?"b,%, %G3*+; !$ $RcCCC69,43 \I),w1C?5A4@. #%QBK 3:CM2#"&54632&#"32654&+#"'#".546;4632#4&#"26=#26=#"mCYXkv_]M+4H'Yb~<1WFS"'B&+N1KO@BWH6,*4\.63$(\+wW~)"$/%"nASb{QQ>)?6VkkVTA#=J0'UJ)9EF<C\dnx2#"'#"&547&#"#54&#"#"&5467#"&546346324&#"2654&##"'632632#'%3265#2654'32=#"2654'&jW@/ $IC5/@M#$.G"!M 0 6BE% 3CUoK=*=B7(0*3%0FQCN%F/5R 2'(9(%PB-6(CQ"5*,JPYc>32'654.#"32#".547##"'#"&546;46322654&+'4&"3265#26=#"x *+5!^GE}1[(2$ 2U iT@4#4 /TER'#?:IUZN?$8'!*#>29V44*'?^'"b(3L&DD_hNt.H(K?7Q:G+>42fPPV:H1Vk +<&8*4@<9QN*#Q4?>2:H0SFS&!A9JTX%)#>*8,+44*f?"bTm-G5(+B;"!<6F 3+"C45(8  E92654&+'4&"325#32=#"vYuOLET4q.88.J>)#&J/UnB9CA3.I&SFQ("@8KTT$M@%:0F&+"49V44*f "?"bKx K0K!(G5V55$!+30 -'Q,:.5@CN.WjCCC6:,E]%5F`' ") h2A?4=6C4 #%QGK/NZait2#".54>32&"32654&#"2#".54>5##"'#"&546;46323>2654&+'4&#"325#32=#"?f >N7bUSK?'jI\"fT38,+44*f?"bĮ"" tP97Q:G+?4  %JI.PPR>H1Vk#.=#Psl8*4B::PK?H@P= $`U@$P^dnx2#".54732>54&#"32#".547##"'#"&546346323>2654&+'4&"325#32=#"hMx|_u\:'bT!te@\L1RZUE+"4 -SCR$A9GSsL>#77 )*4!U$!)!=9R3! d "= am=ooQ2/BITO(~sdj/GcW/UpI>6OC;)<4 (e|NNQ54&#"32#".547##"'#"&546346323>2654&+2654.#"4&"325#32=#"hd+.*" #3 _u\:'bT!te@\L1RZUE+"4 -SCR$A9GSsL>#77 )*4!U$!)!=6"(9R3! d "= amg A&"2 *"  4/BITO(~sdj/GcW/UpI>6OC;)<4 (e|NNQ54&#"32#".547##"'#"&546346323>2654&+'4&"2654&#"2654'#"&'325#32=#"h{9>#4*"6 r_u\:'bT!te@\L1RZUE+"4 -SCR$A9GSsL>#77 )*4!U$!)!=9R3B""d.21$#- ! d "= amk T/*> "+ &/BITO(~sdj/GcW/UpI>6OC;)<4 (e|NNQ@'0H?C1&!'2ETER'!A:IRU%N?%:E8,+44*f?"bu&;0%&/5./&5(-T57I/3'4&fPPV:H1Vk#.=#:PM=I=R? %`UK)08Cp{2#"/32654&+#"'#"&546;4632#4&#"325#32=#"2#"&547&'73254+"&54632&#"3264&#"H?C1&!'2ETER'!A:IRU%N?%:E8,+44*f?"b703<! .B*6&KS>@'0:DT0$C#6-?#!#$T57I/3'4&fPPV:H1Vk#.=#:PM=I=R? %`U09D*?16! &5(-$&;0%&-&--%K)08Co|2#"/32654&+#"'#"&546;4632#4&#"325#32=#"2#"&547&'73254+"&54632&#"32654'#"'2>54'#"&547H?C1&!'2ETER'!A:IRU%N?%:E8,+44*f?"b708?-# 4H6.&KS>@'0:DT0$C#6-$ ", 3&#/T57I/3'4&fPPV:H1Vk#.=#:PM=I=R? %`U/;$G$5 G4A$&5(-$&;0%&   P#!  '"4 & 0K)08Cn2#"/32654&+#"'#"&546;4632#4&#"325#32=#"2#".54732654+"54632&#"3H?C1&!'2ETER'!A:IRU%N?%:E8,+44*f?"b0-.#N.:0%#!K)08Cw2#"/32654&+#"'#"&546;4632#4&#"325#32=#"2#"&547.54732654+"54632&#"32>54&#"H?C1&!'2ETER'!A:IRU%N?%:E8,+44*f?"b0<34! /A$P_8,65M+4?zK-.#N.:0%#! "-%K)08Cv2#"/32654&+#"'#"&546;4632#4&#"325#32=#"2#"&547.54732654+"54632&#"32654'#"'2654'"&547H?C1&!'2ETER'!A:IRU%N?%:E8,+44*f?"b0<:9 4"4H0LV8,65M+4?zK-.#N.:0%#!   P." 44 &".K)`goz2#"/32654&+#"'#"&546;46322'654&#"#54&#"#54&#"632#"&54>3263264&#"325#32=#"2654#"H?C1&!'2ETER'!A:IRU%N?%:A7Pb$H-&>)!>&(d&!/0#+3 67C!9DP8,+44*f?"b" +T57I/3'4&fPPV:H1Vk#.=#VCm*-V5>Ѷ)*t&4+'1F63J'0.+- :PM=I=R? %`U42F)ekt~2#"/32654&+#"'#"&546;46322"&547&#"#54&#"#54&#"632#"&54>3263264&"325#2654'32=#"3254&#"H?B2&!'4CTER'!A;HRU%N?%:2EZ6X7D!,>, >," 0 (#.,#,6'0# >.%=:%.?9V44*fm!1@! (?"b/+T56J/3'4&fPPU;H1Vk#.=#fK8DC7P5 ҵ&!!, &:)&.D7+D%11.,9QM=I=R 4"'L.4E!)+:`UB"1O\i+y2#"/32654&+#"'#"&546;46324632632632#"'732>54'#"&5467&#"#54&#"#54&#"632#"&4&"325#2654'32=#"3254#"&8 B2% (2ETER'!A:IST%M@%:_B=0"=9$(=S$9;dD)(+1!7 5,'3=)1%#?+ >&) / %"/1,49V44*fQ 0!(?"b;)(,,6J/2(4&fPPV:H1Wj#.=#:Pf11..L X5Md# ?*C;H8,6C&#Ҷ'!*,&9*-'D9QM=I=R"&+%-$$*;`UA!23GAMS\e2'654&#"#".547&#"#5&+#"'#"&5463>322>3262654'%4&"325#32=#"byk/L]L^K<%5 Y%>W)J>G#84AOdD8(:   eO6/2G$,JW"0J+-$W)5T†fMC}Zp \yPn-C5M qB g~LLR?I1Vi.K.NzwH6lHNm #*8MF?J;R ,5.^RK]Q[air"3!!"&5463!2654&#"#"&547&#"#5&##"'#"&546;>322>32632#'2654'%."327#32=#"+"1+3)IWXI!^K<5HY': ) 8'F$85?NMC9s ]J1-.>arfM$,JV8/J,-#V!5T!M<&(;hRQlLgC]\@iB %7, =>%??F4=*IWDg}fay<.\;B[6.0>=1?2D 4#/NEK]hry2#!"3!!"&5463!2654&+532654&#"#".547&#"#5&##"'#"&546;463232>3262654'%.#"327#32=#"=Y(DE`M0%,45+RG %%'HP+^K<%5 Y(0!*J>H" 64ANOE8!3"&0 /10E$-KV81$%,-#W"5T-$ 4&'B8K!M6,*9<&24"#9LgC]&9-jA @, Wi??E5=*GY%4,A#;/[3232>3262654'%4&#"325#32=#"dyXm\F50:mVs`O^K< #-Y%7^)K=G#83BOdC9!4 eO6/2G$,JW"1$&*-$W)5TŸ,%G# q [zRm$P7~N iK g~LLS>I1Vj"+@  OzvI6lHNm #+:LI=J;R<5.^RM_%#".54632.#"32>54.#"#".547&#"#5&+#"'#"&5463>322>326322'654&#"#54#"&546326'2654'%4&#"325#32=#"AL4]yC' P;?XZC=a:%'M5^K< #-Y#7^)J>G#83BOdC9!4  eO6/2:!;A.&% #"%$,JW"1$&*-$W)5T^ 2!6GB '/#&--G^X.;kg= [zRm$P7~N iK g~LLS>I1Vj"+@  Oz/L' + ;% &I6lHNm #+:LI=J5.^RI*[elu%>32632# 4>7!2>54&#"#".5467&#"#5&+#"'#"&5463463222654'%.#"3265#32=#"gO7.2:\AB #9_{l/- [sHt?ZK<%5 4*#,@ *J>G# 62DNfE8(: !#.F[.0$1-$#56TM|PPj(JTHD/#4i4jv`Z/FbW0_ W~Po.C6:m% -A4 eLLR?J0Tl.K.J5nFQj3E;K=IJ32632".547# 4>7!2>54&#"#".5467&#"#5&+#"'#"&5463463222654'2>54&#".#"3265#32=#"gO7.2:\ABb,4*"#*/- [sHt?ZK<%5 4*#,@ *J>G# 62DNfE8(: !#.F[. *+0$1-$#56TM|PPjhC("3 3" ?#4i4jv`Z/FbW0_ W~Po.C6:m% -A4 eLLR?J0Tl.K.J5nFQj3E  ;K=IJ7!2>54&#"#".5467&#"#5&+#"'#"&546346322>32632%2654'264&'"2654&'#"&=.#"3265#32=#" ( U>+> /- [sHt?ZK<%5 4*#,@ *J>G# 62DNfE8(: !gO7.2:\AB#.F[..!V7'#8+-/)0$1-$#56Tj4 >U$5*$"/#4i4jv`Z/FbW0_ W~Po.C6:m% -A4 eLLR?J0Tl.K. M|PPj8J5nFQj3E,z:( 5 588 (;K=IJ ?(. 9'(1KUK:7&$T57I/3'4&fPPV:H1Vk#.=#:PM=I=R? %`UWB>K*Z+Fѵ&!A0\#.hCX10K)08Cgq2#"/32654&+#"'#"&546;4632#4&#"325#32=#"2#"&547&#"#54#"&5463262654'H?C1&!'2ETER'!A:IRU%N?%:E8,+44*f?"bCZ5,*7D *97'4MYK74'-m6B#T57I/3'4&fPPV:H1Vk#.=#:PM=I=R? %`UiJ7ED6R6 ѵHC3Z!-hAZ0/)"O.4E#,KX)08C2#"/32654&+#"'#"&546;4632#4&#"325#32=#"4>32632#"'732>54'#"&5467&#"#54#"&264'H?C1&!'2ETER'!A:IRU%N?%:E8,+44*f?"b5 0& 4',;R0<9bH&& !3; 6+&2>+>",98  NZx"=%T57I/3'4&fPPV:H1Vk#.=#:PM=I=R? %`Ut.B 0.KT2Kf '0# P&$5 .>"9:PM=I=R).gM<$6TN] %`UP." ,+ '".JD18AK2#"$54732>54&+#"'#"&54;4632#4&#"325#32=#"=IڬVFv;ni?0&(UEQ'#?:IDM@$9F9+2,5)f "?!cQB١k"nyZP5gG+9fPPR>yUl ,;'9QV4I54&+#"'#"&54;4632324&#"325#2>54&"32=#"E#2 1"1CF\VFv;ni?0&(UEQ'#?:IDM@$9B=I9+2,5)fG.#2#3 "?!cU>* "*C1 ١k"nyZP5gG+9fPPR>yUl ,;'QBr9QV4I54&+#"'#"&54;4632#4&#"325#2654.#"2654'#"'32=#"=Ir%2 >*?R3BVFv;ni?0&(UEQ'#?:IDM@$9F9+2,5)f,%D+75%C#& "?!cQBT$.-8&Y=% ١k"nyZP5gG+9fPPR>yUl ,;'9QV4I,#N@,5_F:D=?V90I8NaH:+Z5:a"':PM=I=R? %`U #&C6%NOK)X_gr~2#"/32654&+#"'#"&546;4632"&547&=4&#"#"&5463232654'4&#"325#32=#"264&+"'2654'H?C1&!'2B TER'!A:IRU%N?%:_*5:B\B-6,#N@,5_F:D=?V90I8NaH:+Z5:a"':PM=I=R? %`Ub-&--%#&C6%NOK )\ckv2#"/32654&+#"'#"&546;4632#"&547&=4&#"#"&5463232654'4&#"325#32=#"2654'#"'2654'#"&547'2654'H?C1&!'2B TER'!A:IRU%N?%:_*6C$ 4H93,#N@,5_F:D=?V90I8NaH:+Z5:a"':PM=I=R? %`U  P." ,4 '!/#&C6%NOM8=IOXc%>73!5654&+#"'#".546;46323235"&54632"54&4&"3265#26=#"I} R) TER'#E-<BN:N?$8*=K$GUF9.CH\( 9V44*'?]'6- 9G!P&4fPP@>.EVk +<&P75!T>7CQ] Xb( -r"9QN73##".547!5654&+#"'#".546;46323235"&54632"54&264&"4&"3265#26=#"I} E/ "*PR) TER'#E-<BN:N?$8*=K$GUF9.CH\( 2##2#9V44*'?]'6- 9G,3A 2!*!P&4fPP@>.EVk +<&P75!T>7CQ] Xb( -r""4""4V9QN73#"&547!5654&+#"'#".546;46323235"&54632"54&2654'#2>54'#"&'4&"3265#26=#"I} )+TzS.tR) TER'#E-<BN:N?$8*=K$GUF9.CH\( &$!$(+3&1E9V44*'?]'6- 9G!>BYW?A#!P&4fPP@>.EVk +<&P75!T>7CQ] Xb( -r"! !X 0%" &4"! 0-9QN73#"&54632&#"327675&=!5>54&##"'#"&546346323235".5463273"544&"265#32=#"#ec >4J/Vk#.=#?J5?*3EXTP/Ig2- w>9QM=H@PTa= $`UM8qv%>73!5654&+#"'#".546;46323235"&546322'654&#"#54&#"#54&#"632#"&54>3263267"54&4&"3265#2654#"26=#"I} R) TER'#E-<BN:N?$8*=K$GUF9.Cs6O`F0' :) ":'*l +/"*2 67D !8FhH\( 9V44*'?J-'6- 9G!P&4fPP@>.EVk +<&P75!T>7CQ] VCm**[3DѶ ++.)&0F53K&21./6Xb( -r"9QN73!5654&+#"'#".546;46323235"&546322#"&547&#"#54&#"#54&#"3632#"&54>3263267"54&2654'4&"3265#3254&#"%26=#"I} R) TER'#E-<BN:N?$8*=K$GUF9.CZCZ8(,6G#.:"("9.#,*",*#,4(:.=0$>;$.H\( #5B#9V44*'?.'6- 9G!P&4fPP@>.EVk +<&P75!T>7CQ] eM9BE5Q6 Ӷ-"' .8*&-D75N#330.9Xb( -r"b#)P/5I"+9QN73!5654&+#"'#".546;46323235"&546324>32632632#"'732>54'#"&54>7&#"#54&#"#54&#"632#"&"54&2654'4&"3265#26=#"3254&#"I} R) TER'#E-<BN:N?$8*=K$GUF9.C&/# ?.">:$(=T";9cD)% (=> 4+&2.4,:)!!:.$#2 )"-$)3,H\(  #9V44*'?]'6- -,9G!P&4fPP@>.EVk +<&P75!T>7CQ] B+D&3300L U7Oa %5.J#;G7, !,!+Ҷ")"1 .:(4KXb( -r"a'-) %%9QN73!5654&+#"'#".546;46323235"&54632"54&4&"3265#26=#"4632!7354&'4#"6I} R) TER'#E-<BN:N?$8*=K$GUF9.CH\( 9V44*'?]'6- 9T&-/*2,Am9G!P&4fPP@>.EVk +<&P75!T>7CQ] Xb( -r"9QN73!5654&+#"'#".546;46323235"&54632"54&4&"3265#26=#"4632##"&547#7354&'4#"62654'#I} R) TER'#E-<BN:N?$8*=K$GUF9.CH\( 9V44*'?]'6- 9T&A/1?&o&-/*2,Am.&11%9G!P&4fPP@>.EVk +<&P75!T>7CQ] Xb( -r"9QN73!5654&+#"'#".546;46323235"&54632"54&4&"3265#26=#"4632#".547#7354&'4#"6264&#"2>4'#"&5477#I} R) TER'#E-<BN:N?$8*=K$GUF9.CH\( 9V44*'?]'6- 9T*3$%3c&-/*2,Am%') )/' 9G!P&4fPP@>.EVk +<&P75!T>7CQ] Xb( -r"9QN..>").gM<$6TN$P '< ,+ '". M,8=IOXc%>73!5654&+#"'#".546;46323235"&54632"54&4&"3265#26=#"4>32#".54632&#"326=#7354&#'"654&I} R) TER'#E-<BN:N?$8*=K$GUF9.CH\( 9V44*'?]'6- ,-CV38J5B;7N;)#$(30,_(t 9G!P&4fPP@>.EVk +<&P75!T>7CQ] Xb( -r"9QN%$bPB!5?tS[!K)[bju2#"/32654&+#"'#"&546;46322654'7#"&=4&#"#54#"&546326324&#"325#32=#"H?C1&!'2B TER'!A:IRU%N?%:T"*Q^?5/A,,9: LWI57&!7/A&z8,+44*f?"bT57I/3'4&fPPV:H1Vk#.=#=/b$*x?M@2190ѵI .b$-u?O0/A08)2:PM=I=R? %`UK)biq|2#"/32654&+#"'#"&546;46322654'7"&547&=4&#"#54#"&546326324&#"325#32=#"264&#"H?C1&!'2B TER'!A:IRU%N?%:T"*Q^58B\B18,,9: LWI57&!7/A&z8,+44*f?"b#!#$T57I/3'4&fPPV:H1Vk#.=#=/b$*xS'A1??1;! D190ѵI .b$-u?O0/A08)2:PM=I=R? %`Ub-&--%K )fmu2#"/32654&+#"'#"&546;46322654'7#"&547&=4&#"#54#"&546326324&#"325#32=#"2654'#"'2654'#"&547H?C1&!'2B TER'!A:IRU%N?%:T"*Q^6A$ 4H=5,,9: LWI57&!7/A&z8,+44*f?"b  &4)'"0T57I/3'4&fPPV:H1Vk#.=#=/b$*xT&#I.G4F$ B190ѵI .b$-u?O0/A08)2:PM=I=R? %`U  P." ,4 '!/K+)w~2#"/32654&+#"'#"&546;46322>54'7#"&54632&+"32>5#"&'.#"#54#"&54>326324&#"325#32=#"H?C1&!'2B TER'!A:IRU%N?%:G DZ%>;!=S`811*VR+>!:.6."97BNZ /% 5'!60BT8,+44*f?"bT57I/3'4&fPPV:H1Vk#.=# 2"V&LC_-251F:W6ҶH:=Z!+m-B 0/O> Y:PM=I=R? %`UK)AW^fq2#"/32654&+#"'#"&546;46322'654&#"&54&2'654&#"&544&#"325#32=#"H?C1&!'2ETER'!A:IRU%N?%:|L+A7+-8H [|LA$A7+-8H [a8,+44*f?"bT57I/3'4&fPPV:H1Vk#.=#RD$0) !L0;<1V*iEVRD@K !L0;<1V*iEk:PM=I=R? %`UK )Jbiq|2#"/32654&+#"'#"&546;4632#"&547'654&#"&54632%2'654&#"&5464&#"325#32=#"2654&#"H?C1&!'2B TER'!A:IRU%N?%:v*.B./A@A6,-8H [V?>L*>L*(@6,-8I [V+8,+44*f?"b %!"$T57I/3'4&fPPV:H1Vk#.=# >%1?@0G!L0;<1V*iDWRDGRD.G"K1:>/V*iEV:PM=I=R? %`Ub$.-&K )Mcjr}2#"/32654&+#"'#"&546;4632#"&5467'654&#"&5462$2'654&#"&544&#"325#32=#"2654''2654'#"&547H?C1&!'2B TER'!A:IRU%N?%:k.3$ 4H4A7+-8H [W|L|LA$A6,-8H [8,+44*f?"b#&4)'"0T57I/3'4&fPPV:H1Vk#.=# F(.G4/9 !L0;<1V*iEVRDHRD@K !L0;<1V*iEk:PM=I=R? %`U # P." ,4 '!/M6/;G2!3##"&547#5654&#"632#"&5462>54&"%2654&#"7^VS&%A31C&ebI)A$ ,=2CB6>K#2#:!)' *&zdkXG"41CC13#JtPi"/>)HS<:HeS~ ""+.%#0-$'.M/<NZ2!3##"&547#5654&#"632#"&5462654&#"2654'#"&'%2654&#"7^VS/.U<=S1ebI)A$ ,=2CB6>K%$,64%".ES!)' *&zdkXG%BDWTBD(JtPi"/>)HS<:HeS~X9)$ (2( 0-.%#0-$'.M <H233#"&54632&#"3265!5654&#">32#"&5462654&#".cSS/YDht^IHG"$}W"aBa_I(A% +!4B6>AM%"'"((†V;8J;,# &#[cHjQp".=)+\31PeTsn8%2.#9I_>2#!"3!!"&5463!2654&#"#"&546732654&5466O(59V9 0;1:G]A4"3VJRhQ<2F& $<Y'?B#`JP(H:+#:tYE\GN$HVmXMf YC$: 9?5?OIbK2#!"3!!"&5463!254&+532654&#"#"&54>7326='546*D' AAcO90;294}($46/)[FOj 2)3E /%,4`& 9#F;I$H:+#:T"0$+ !7<'TGYlZ-L,Z?-B =4W:FH72#"54632&#"32654&#"#"&54>732=4>\snWmK(.$4 J=[M§T"" ")hMh`2JC5>1K`#/QAM@b%#".54632.#"32>5#"#"&54732=4>322'654&#"#54#"&546326ɤAL4]xD' O;?XZCAe='}%/ZCUe|fI54&#"#"&547326=462'654&#"#"&54732=46N_ =-$3 J6%<ZCUe|42I<%8a}5?bP-";;/8DUD-%9Cu_9KC6w-%Y1>e*.=RCi1)P3@Q64AMX+e2'>54&#"#"&547326=462+"3!!"&46;2654&#"#"&546732654&546N_ =-$3 J6%<ZCUe|42I<%8at$5 8&$$H (( -<)"6>,4G.1#.2"&<u_9KC654&#"#"&547326=462+"3!!"&546;254&+532654#"#"&5467326='46N_ =-$3 J6%<ZCUe|42I<%8as@:((@6$$Q '' Q D8;05F1."/ %?u_9KC654&#"#"&547326=462#"5432&#"32654&#"#"&546732=46N_ =-$3 J6%<ZCUe|42I<%8ae;N{fE6%5LQOa1';<+7E*5!' /(:Cu_9KC654'#2>54&'#".=wXS+7V= +$7vJM&7/Ue|42I<'6RCSBT#c*%&0 ("83%!,  *[nG+H>U8#G,UB,D!{fFSLSdU.SSdFVF6* [+( 76!-"  #MAMU%4632!!3#".54>32&#"326=!5#54#"#"&547326=463237"!5&wXS \b7P?`F6B'iO:z[JM&7/Ue|42I<'6RCSBT#[nGvv &" VXUB,D!{fFSLSdU.SSdFVF6IC2#"/32654&+532654&#"#".54>732?> 2L%LRbJ%$ 1#;3)#".(>",A(<377! =+'5G5a#9:,& CO732?>264&" 2L%LR8:A3"2  1#;3)#".(>",A(<377! =+'5G5a#9:N4""4",& CO@&"C1C+! ' <%+&8,2)KYK,C!/\?7G@9?+Ma;9Q)"4""4IKYk2#"&547/32654&+532654&#"#".54>732?>2654'+2654'#"&' 2L%LRCBU<=S0 1#;3)#".(>",A(<377! =+'5G5a#9:: +72'$.E,& COG&$PDWUAB)<%+&8,2)KYK,C!/\?7G@9?+Ma;9Q)X:($ $6) 2+HDL#".5432&#"32654&+532654&#"#"&54>7326=4>329/y<@]5D.W-"=Q9GVC6&&-9/60LZBSg >.$4 J=4'$1K`KI77P)MHk#"'#"&54>54&#"##532654&#"#"&54>7326=4>323265332>54&'u;A+4'I2T>8H)2)"& %& &:L=GW+&(D(! 0 5617!2" 1(C;3%J1LaHDs#"&547&'#"&54>54&#"##532654&#"#"&54>7326=4>323265332>54&'2654&+"u;AGH 1"1C4&T>8H)2)"& %& &:L=GW+&(D(! 0 56* !IoDO "*C1$871)#*% BMOL_z`3W9# eQ/F!@JI3L'>17!2" 1(C;3%J1La* Hp}"&547&'#"&54>54&#"##532654&#"#"&54>7326=4>323265332>54&'2654'+2654'#"&'u;AYWTzS7%T>8H)2)"& %& &:L=GW+&(D(! 0 5617!2" 1(C;3%J1La( X9)" '3( #. Ns#".54632&#"3265#"'#"54>54#"+532654#"#".546732676323265332>54'D35eN8C/mP'U(3mI$eP1B[4j(1(H4/I'& ?:1G F:k 2"') @O7- "P3BL'!%6 k@tlek1" '" vk1HTY0*)3QttQ5N?H'Wz.9&Xe90H,%#1'D1<)=2tSL(|h%3254'7#"$54732>7#&'#"&54>54+5;254&#"#".546732>763232653!'k~b `Q_/ \5i6P)0)HG$6*O<1G F:k*" %%)N;P7/['P5@M*C9OvleRw6$FT)00*EpdMi6O>H'Wz.D Ja{"B;.H/"A"/(DL}u~#"&547#"$54732>7#&'#"&54>54+5;254&#"#".546732>7632326533254'7264&#"&9*" 0Fb `Q_/ \5i6P)0)HG$6*O<1G F:k*" %%)N;P7/['P5@M!'k~2""$&>."3 B4HeRw6$FT)00*EpdMi6O>H'Wz.D Ja{"B;.H/"A"/(D*C9O#2"!4L|r%3254'7"&547#"$54732>7#&'#"&54>54+5;254&#"#".546732>7632326532654.'#2654&'#".=!'k~:@U|Tsyb `Q_/ \5i6P)0)HG$6*O<1G F:k*" %%)N;P7/['P5@M/.&A+7'#8'# $':*C9Os V1=VU>+eRw6$FT)00*EpdMi6O>H'Wz.D Ja{"B;.H/"A"/(Dr y:( 5 6& & +7H=2'>54.#"#4&#"#"&5467326=4626 Pw :*"/ 0(!2S9+-CVEOjR/#1 /(#4h8;ńe3D?7<*2L%5=D .@KaO`}c\u6<,2L%?KMRg67G<9E2#"&547&#"#4&#"#"&54>7326=463262654&'=rI:4`k27CHbTa4632632#"'7327654&'#"&54>7.#"#4.#"#"&54>732652654'PbO\8G^I[WMLg;8('X=?7+M@7Q E0 H5/IS& )C\EPd ;*#1-# %;O2%3!0)ET77sLpML*JIa?R -:[mUF4?-)08:":CkK_|d3HB6<,5N#ISBDF& 7&1?F+72!5>54&#"#"&54>732654&5&546354.'.my^^)!+?bGPa ;*m@2.9}KF.%)hNO'-@2\Rh|f4F@7J]O? NaDs;*>)F;6BJ2##"&547#5>54&#"#"&54>732654&5&546354.'264&".m!!A31C!^^)!+?bGPa ;*m@2.9}KF.%)4""4"h /0DC1/ NO'-@2\Rh|f4F@7J]O? NaDs;*>)"4""4F6BOa2##"&547#5>54&#"#"&54>732654&5&546354.'2654&#"2654'#"&'.m.,U<=S/^^)!+?bGPa ;*m@2.9}KF.%)%$,64%".Eh&?DWTBD&NO'-@2\Rh|f4F@7J]O? NaDs;*>)3X9)$ (2( 2+GGJ52#".54732654&#"#"&5467326=463J&\tr[G#@D7*=`DPb<8"07B6+8c-JK'jrqjhXqżM_9,BYucH#r@F\<0oL_GK?J#"&=#".54732654&#"#"&5467326=4632264&#"%9A31CJTr[G#@D7*=`DPb<8"07B6+8cI3J&s##("1>.0DC1 qjhXqżM_9,BYucH#r@F\<0oL_-JK'"4"#"GLBNa"&547#".54732654&#"#"&5467326=46322654&#"2654'#"&'%.TzS 4;r[G#@D7*=`DPb<8"07B6+8cI3J&DY&%'%*85$1 *(U 8%AZUAqjhXqżM_9,BYucH#r@F\<0oL_-JK'UX9)" '3 # #. M+S\2'>54&#"#"&547326=46#"&=4&#"#"&5463232654'2654'N_ =-$3 J6%<ZCUe|42I<%8a*C4/>,#N@,5`E:D=?V90I8NaH:+Z5:a"#&C6'LOM+[gp2'>54&#"#"&547326=46#"&547&=4&#"#"&5463232654'2654&+"'2654'N_ =-$3 J6%<ZCUe|42I<%8a*5:B./A-6,#N@,5`E:D=?V90I8NaH:+Z5:a"f&.-#&C6'LOM+^l2'>54&#"#"&547326=46#"&547&=4&#"#"&5463232654'2654'#"'2654'#"&547'2654'N_ =-$3 J6%<ZCUe|42I<%8a*6C$ 4H93,#N@,5`E:D=?V90I8NaH:+Z5:a"   P." ,4 '!#&C6'LOL;O19A%4632!!3##"&547!5#5654&#"&5463237"!5&264&"wXS A31C TI7(+4,;UEF]$vBT#s4""4"[nG#.1CD0.#,H.9B76#2XHYYJ4'VF6"4""4LI08EW%4632!!3##"&547!5#5654&#"&5463237"!5&2654&#"2654'#"&'wXS,.T=>R1I7(+4,;UEF]$vBT#\%%+72'1 E[nG&ZUAD(,H.9B76#2XHYYJ4'VF6X9)$ %5"! 2+HxHO23467632!!3#"&54>32&#"325!5#5654.#"&546"!4 $1(#-0J8O1 SF'@@ WQ#L02DU*I&2D8Dc7OC("<&3(Mh"&.LQ9L.&+IB3= 2XHX*]@6LGBbj%4632!!3##"&54632.#"3276=!5#5654&#"&5463232'654&#"#54#"&546326"!5&wXSŐ_z}_xD' Q;QFWFjKLI7(+4,;UEF]$vD% #HBT#[nG{L+6GB (:$/HIf,H.9B76#2XHYYJ4'$% ;;% % VF6LG&.T%4632!!3!5#5654&#"&5463237"!5&2'654&#"#54&#"&546326wXSI7(+4,;UEF]$vBT#s6H)?(. 9'(1KUJ;7&%[nG,H.9B76#2XHYYJ4'VF6UWB$-) *Z+Fѵ&!A0\#/gAZ10LG&.R\%4632!!3!5#5654&#"&5463237"!5&2#"&547&#"#54#"&5463262654'wXSI7(+4,;UEF]$vBT#YCZ6+*7D+97'4MYJ86%/k 6B$[nG,H.9B76#2XHYYJ4'VF6UgL7ED6R6 ѵHC3Z!-hAZ0/)"O.4E$+LXG&.jv%4632!!3!5#5654&#"&5463237"!5&4>32632#"'732>54'#"&5467&#"#54#"&2654'wXSI7(+4,;UEF]$vBT# 0%5&,;R0<9_K&& (: ; 6+&2>+>",98  NZx"$%[nG,H.9B76#2XHYYJ4'VF6.B 0.KT2Ih ':0P&"!4Og&aDZ-SKxӊ$)# I@.1<5C 45*<)[D2+(R_F>'FP9&?_=7V9s +J-9;1F 0Y-C!)236IrKT`23432!!3#"&547#"$&54673 =!5#5654&#"&54>"!42654&#"Og&aDZ-SL3 2"4Bǭ$)# I@.1<5C 45*<)f2""[D2+(R_F>bB8- #*F0 )?_=7V9s +J-9;1F 0Y-C!)236!!!6IIRau23432!!3#"&547#"$&54673 =!5#5654&#"&54>"!42654.'#2654&'#"&=Og&aDZ-Sw67U>=Uy$)# I@.1<5C 45*<)3.A+7'#8+-/)9[D2+(R_F>|GQ.>UU>-$?_=7V9s +J-9;1F 0Y-C!)236  y:( 5 588 )9L;+HP[2#".547&/3254&+532654&#"#4&#"632#"&54>326264&"%2654&#"zGbBJ86A3"2   8U29'$.717/ASS,-?1AD93262654'+2654'#"&'%2654&#"zGbBJ=FTzS/ 8U29'$.717/ASS,-?1AD932632#4&#"3265#';54#"26=#"v=J(# #'%(/ %/! !?/ '. B.0H)I@\D7.$:5*.76+$?'H&"cI<%9 /F!28X0 1#" :'I)-" "PMkS9L>GI>SdS  )'c%,4UT)H5<DNY%#"/324+5324+#"'#"&547&54>3263232%4&#"3265#';54#"32=#"$>1:H:H'20P)#?:IBD .(G%OEV78,+44*'?æ9)$?4?"b##* ! ^"FD`.PPR>P@ 2 PPnSD^:PM=H@PTal*'c! $`UHdAHOZe"3!!"&5463!254+53254+#"'#"&547&54>3263232#4&#"325#'";5432=#"8S1;<0}6*/EZ;P)#?8KBD96G%O%:@|/5P;|7-+44*f_.$"$?"b 'B1()9:0(-dWCCC6D5%0 CC%4>,*,9%1C?5<4E!S%QGM:@JU^2#"&54632&#"32654&+#"'#"&547&54>32632#4&"';54#"32>5#32=#"nE]Dw\[B(0>"^T+r5,UEP)#?:IBD .(G%O.A E9V49)$?.5)&1(?"br[},#.m@Ue|PPR>P@ 2 PP/I29QN32#"&546326326322654&+53254'$264&#"+,SE(, AH(/0**%.41ES@KF:K ;(6]2*"L:\4% .!/=$ 9Fa948dB'yF^ + &D@.32>&& % ?$9E:!L 4211/$-E'>5$F #-^`?s" !/<.)M;!3bPNMF4?) '.7;!h;=L-H1.HL;oer%#"&547&/3254&+532654&#"#4&#"#"&5467&#">32#"&546326326322654&'%2654&+53254'$264&#"+,42A31C AH(/0**%.41ES@KF:K ;(6]2*"L:\4% .!/=$ 9Fa948dB'yF^4"& = + &D@.32>&& % ?$A"!?0DC1- :!L 4211/$-E'>5$F #-^`?s" !/<.)M;!3bPNMF4?v" ) '.7;!h;=L-H1.HL{dn%"&547&/3254&+532654&#"#4&#"#"&5467&#">32#"&546326326322654'#2>54'#"&'%2654&+53254'$264&#"+,;GS|R8 AH(/0**%.41ES@KF:K ;(6]2*"L:\4% .!/=$ 9Fa948dB'yF^.)(C&0 5$"./B + &D@.32>&& % ?$D##TCXV@I):!L 4211/$-E'>5$F #-^`?s" !/<.)M;!3bPNMF4?% $v+'  '3) C) '.7;!h;=L-H1.HJ7)1233##"&547!532654&#"#&54>264&"=CQ7S"$B21C$4+7$)#* + 974""4"(R>I-G"3/ED03""?/"80! $. S#2##2J)5H233##"&547!532654&#"#&54>2654&#"2>54'#"&'=CQ7S,0S>=S2]+7$)#* + 9.%C&0 3&1 /(R>I-G&BCXUAD)"?/"80! $. mw+(  %5"! CJ9%-233!5>7!532654&#"#&54>5#=CQ7R<9[8 C+7$)#* + 9oJ&#(R>I- .9."?/"80! $. 7):Jz3;F233##"&547!5>7!532654&#"#&54>5#264&#"=CQ7R!! .B!9[8 C+7$)#* + 9oJ&##!#$(R>I-!.*?1.! .9."?/"80! $. 7):-&--%Ja4<G\233##".547!5>7!532654&#"#&54>5#2654'#2654'#"&547=CQ7R"+-# $5 +9[8 C+7$)#* + 9oJ&#"&4)+1(R>I-%8$5 -# 7& .9."?/"80! $. 7):z P." *)  '$,JR\233!532654&#"#&54>2#"&547&#"!532654#"#&546323&54>2654'=CQ7Sr+7$)#* + 9.+B5,%2H4@>0 0(*7r&Di%B(R>I-G"?/"80! $. (:2=J:.V< J5M' '; (1;)*5E#>3(.I5@ )Jjnz233!532654&#"#&54>#!"3!!"&5463!2654'#"&5467&#"!532654&#"#&546323&54632'3254'=CQ7Sr+7$)#* + 9@4B$$5&&0>> 1)$/<'+0B>c#,%'7o%OI-G"?/"80! $. 3D&  A-B 2<3$,3>1A!.  &-!%.6:F? )%I$Jju233!532654&#"#&54>46322#!"3!!"&5463!254#5254&##"&547&#"!532654&#"#&546323&2654'=CQ7Sr+7$)#* + 99MI-G"?/"80! $. L;G-)/)'!!6&!'3?0)S7)C -  ',F .%'2F#J4u233!532654&#"#&54>4632#"&54632&#"32>54&'#".5467&#"!532654&"#&546323&2654'=CQ7Sr+7$)#* + 9IQAN(0BkV1``(51%#7A+@ #4+#:*/!2 #n *3 )6 r(V(R>I-G"?/"80! $. /CYK T@Y}  '@A"H '&.& #G<  -'4*)&8-5%& I3J}ir233!532654&#"#&54>4>32#"&54732654'#"&547&#"!53264&#"#&546323&73254=CQ7Sr+7$)#* + 9 .@,,u@9zg. *$K ( .K "*Z0$'(R>I-G"?/"80! $. N %.>E)UohO7 ;?\riM22B3%O.+E!,& +.!$/^*=I%Jt}233!532654&#"#&54>#"&547#"&54732654'#"&547&"!53264&#"#&546323&54>32'32542654&+=CQ7Sr+7$)#* + 9-:(G0'@9zh. *#K<( .K "*Z' @+-w+$' (  (R>I-G"?/"80! $. .)+702 gO7 ;?\riM10D3%O,,D",& +.!",9%6 >E)M.=I"" "J{233!532654&#"#&54>4>32#".547#"&54732>54'#"&547&"!53264&#"#&546323&732542654''32654'"&57?&=CQ7Sr+7$)#* + 9' @+-J B2!2 "@9z5I;*. *#K<( .K "*Z+$' $297 &:&)?(R>I-G"?/"80! $. N%6 >E)S6 %+?& hO7 ;?\r&D+10D3%O,,D",& +.!",a.=I"."7  :H[i"3!!"&54>3!2654.'#"&54>7&#"!532654&#"#&546323&547632632#'2>54'!$-,<$ O_$/ &O;?N2##/J72_#,("#, +H;=U2<@?Z\Cgf{% &&+0GJ:)* iN)B% AIVweL+I. =;Lx;">-(5/$3!2>54&+532>54&+#"&54>7&#"!532654&"#&546323&54>3262654'^{HJP:#*.+$),- ) TC"S<9K"7+%<5L#_"-(D- +H;AQ2< .O1g=p"*@G1{PC@(C4GI 0% & (%7#! ,4ATOp^A.N0$1G8x;">-*3.%=IY=D,Ti4A5$JUEK4^71@L1_m%4632#".54>32&#"32>54.'#".54>7&#"!532654&#"#&546323&2654'߂cz@Ji `e4K@SM99+#[f'7V4" +QD&7 E3$J5M#8+8*"#* + P3>W2>%#0),ir{d %)>TO(,8. 9Zy':-+>090F75m"U #11% E:O?A8VDM:;/.(JKvPZ%4>32#"$&547327654'#"&5467&#"!532654&#"#&546323&2654'j&T9u4MR䊜s 71$䬅UL92BQ9*5C-(U#7-& * 6?9K*2(TCS9p JgYo~g8cCY`Y%,)Y{YGL_2?8H: &J(,%0#2NR=@6RAL8B)J2oKy]gs#"&547#"$&547327654'#"&5467&#"!532654&#"#&546323&54>32%2654'2654&#"#++*" 4B}s 71$䬅UL92BQ9*5C-(U#7-& * 6?9K*2&T9u4MR(T "("M @%"3 F0 6o~g8cCY`Y%,)Y{YGL_2?8H: &J(,%0#2NR=@6RdCS9p Js-L8B)J2o$"""Kgz[ep#"&547#"$&547327654'#"&5467&#"!532654&#"#&546323&54>32%2654'2654.'2654&'#"&=2PW<=Ukys 71$䬅UL92BQ9*5C-(U#7-& * 6?9K*2&T9u4MR(T.:V7'#8+-/)tO=@SU>'&o~g8cCY`Y%,)Y{YGL_2?8H: &J(,%0#2NR=@6RdCS9p JKL8B)J2o.y:( 5 588 (H0(nw%2#!"3!!"&5463!2654'#"&547'#".54;2654&#"#54&#"632#"&54>32>32+"32>2654#"324#"G^SB*9g/<:1;L^8*)7 vp.14@M<03'S?3>! (&"-7,?7p0Y -C jzD:W).3Y**B61B ;.#$,.%?$(1-" B0 -!?4->D? O/7% 9 #8,(>7&7-:_4,>>//.f%M~%2#".54732>54#5254&##"&547'#"&54>;2654&#"#54&#"632#"&54>32>32+"32>2654#"324#"E[**=VkNCjD\"S?bz>UmJEN9#9)2. $'D@",PGW2AVC)5$S?4=!(%.#*9,A5p0X AXv6G2$#@8@e.3m**?2% (/K) Fjn}| qkb\< <)6(3!#.>>""1H7.:I63,DFO.8% 8(77-)> 7N=M[(!0 .. !//*4fM ?qz%2#".54632&#"32654&'#"&547'".546;2654&#"#54&#"632#"&54>32>32+"32762654#"324#"yWo;F0kWpC8.K4D[#p/-6,)7 B3 ap>O2:4&S?3>!(&.#.6,?7p0Y CUnY'9 +#4+.3O**aLc{"#,'nX-L$(1,#H7'! .KH4%=:< @.8% 9(77-(>7T=FX"AA //.fM@x%2#".54632.#"32654.'#"&547'#".54>;2654&#"#54&#"632#"&54>32>32+"32762'654&#"#54#"&54632672654#"324#"y8Q+nfAL4]yC' P;+7$[Br! 6,*6 g: #+(BC$;R<07"S?3>!(&.#-7,?7o1Y @XpWH=-!6&% #"Q.3O**57~VO 2!6GB '$&-m$6 $(1.!I6 /"3 E7,6;W@.8% 9(79+(>7Q@GW5!AA& + ;% % //.fMl%2"&547'#"&546;2>54#"#54&#"632#"'#"&54;2>54&#"#54&#"632#"&54>32>32+";2>7>32>32#"'#"32?62654#"324#"324#"*:8T6 ,%7.Q+6H}i@>f2'SG,=! (%.#0sOUK(=7/ZS?3>!(&.#.6,?7o1Y .C {fzu9QmE-@2p0X *A ~#?`R@:fA !.3F** ]**5'(1.! 2(5?7#bBA O7/% 8(7U\D<(^"1*'0 S.8% 9(77-(>7$4*GV843O\*,> 7 /(XC,)#://.%ffJN(%2#!"3!!"5463!254'#"&547#"&546;2>54#"5#4'&#"632#"'#"&54;2>54#"#54&#"632#"&54>32>32+"3267654632>32+"32>2654#"3254#"3254#">SZDX//D`7)n=0(&0 a^/8EsX54WMLH4 $#4)izqq44WLM+75 # *(1(:/a+ P&: A,o_y?[Fa+O2HPJ0&+##$$;1;F!5J$,Z1#(2,$ C-4+:F2$_|4]=$94,[[?3Cb4&_ 4BE$#! )78-*? 5 /(@+c_>T5 ' [?,==,X*01101LD232#!"3!!"&5463!254#5264&+#"&547#".54;2>54#"#4'&#"632#"'#"&54;2>54#"#6=4&#"632#"&54>32>32+'";7>54>32>2654#"3254#""3267#"&%3254#"H*/ (-%4% %01$&) 31'&0 UM / %-VNLG5 # *(>`Kzx45WMM+85 # *)1(90a+L&: yzEmIa<'81a+O'*""#+8A-%/8## 8%q D*)9- ((!"!'3-# A." +_|\=$#! (8OP73E`4&_ CD$$! )79,*> 5 /(6@7P[%(>5X&,, 01(.m "01"L0%2!".54632&#"32>54'#"&547#"&54;2>54#"#4'&#"632#"'#"'&54;2>54#"#54&#"632#"&54>32>32+"32>7>32>32+"32$2654#"324#"324#"15 5A-jTRC7(4mF)HE)D1'%1 6h=3,Sȟ#5 WMMH5 &!4)ft%44VML*84 # *(1'80a+N2ƱzST_a&."`,L'; Ų/=,"'+#### >,") -W=F##(2,$>#4($ _| \=$94,S_B9+]4&_44DC$#! )79,)=5 ' 3$Wx6#75!0'$v --+#b"bL2'654&#"#"'&5467&#"#4&#"632#".547!#"&546;2654&#"#54&#"632#"&54>32>32+";2>?>32>3262654'2654&#"%324#"j6'1YfU#nWA@)$9/*.CyZy ]zRl>6E9p% 3*,2+i_H<<))$;;5,+:T0$6::O7/% 8 #9+(<5!K=If%0K0*0P3 qK6nJPo3G')&1-$=%fJ%#".5467'654&#"#".5467&#"#4&#"632#"&547+"&46;2>54&#"#54&#"632#"&54>32>32+";2>?>32>326322654'2654&#"%2654&#"324#">-1" "*0 WeQ"lV?(< :,(-;Q:&N_ +6o-E2DRq]$,-#|?nDA pVK1F88B7g(3Ub54"+$"<$!&"(#F**D'- 2"+6 BvYu ZxPj-A47p" 1*%1*h[F"3)C;W^ :U*4V866#57:M&=$ &(&)8*': 3 I;Ja*&=#+1YO,# ezH6kIPk2E$!""7$1,#; "!dJ%#".5467654&#"#".5467&#"#4&#"632#"&547+"&46;2>54&#"#54&#"632#"&54>32>32+";2>?>32>326322654'2654&#"2>54'#"&'%2654&#"324#">%&S<*> O3JeQ"lV?(< :,(-;Q:&N_ +6o-E2DRq]$,-#|?nDA pVK1F88B7g(3Ub5*B)1%# #-8g$!&"(#F**?(54.#"#54&#"632#"&54632632+"32?6322654#"324#"i!]Q.$:)*6 !i+ #+hU,2"*)4'SA3:#(%/"*9hR`;1UFUkS0.'2KQDLb.4P** f묊~"mviZx($%1H,( D+ 05A 7$* KC@,;& 8(77-AN57K>CS ' !>"N@//.f%Fx%2#"&547#"$547327654&##"&547'#".546;2>54.#"#54&#"632#"&54632632+"32?62654#"264&+324#")LbOG 2"4BTbi!]Q.$:)*6 !i+ #+hU,2"*)4'SA3:#(%/"*9hR`;1UFUkS0.'2KQ .4!! #**N?Q@N #*F0묊~"mviZx($%1H,( D+ 05A 7$* KC@,;& 8(77-AN57K>CS ' !>"//.#2"#Df%F?w%2"&547#"$547327654&##"&547'#".546;2>54.#"#54&#"632#"&54632632+"32?62654#"324#"2654&'"2654&'#"&=)LbA33:U|TLGi!]Q.$:)*6 !i+ #+hU,2"*)4'SA3:#(%/"*9hR`;1UFUkS0.'2KQ .4P**.*A(:'#83%/):N?4X R/=VU>1& 묊~"mviZx($%1H,( D+ 05A 7$* KC@,;& 8(77-AN57K>CS ' !>"//.f% #y8* 5 5!-8 ,6LEWco#".547&'#"&=4.#"#".5467&#"&546326323265332654.'264&+%2654'X*9 GEE/ "*E0.RB_:-(lUD)< 9/-M^^!kwb?4.MJX<)"?S2):N 3#4""U)5We(@D3sD K3A 2!  ALaLa :2ZzRl.B6;n% nW~?Mj`M]LD,#D4>iM-94"4"K6oIPo #,LUbt#"&547&'#"&=4.#"#".5467&#"&546326323265332654.'2654'2654'#"&'%2654'X*9 VXU<=S,4'.RB_:-(lUD)< 9/-M^^!kwb?4.MJX<)"?S2):N 3#) %)92'#/EN)5We(@D3B`DWW?A'3LaLa :2ZzRl.B6;n% nW~?Mj`M]LD,#D4>iM-94% X8*$ %5) 2+K6oIPo #,Mht#".54>32&#"327#"'#".5&4.'&#"#".5467&#"&54632632265332>54'2654'y$AKe58CDZa'6SO,? Y()5We(&zCnz<!(%KK&90T"3(ZzRl-B67q& ,@7HU_RH"R+#Dq+A3YfK6oIPo #,Lo%#".54632.#"32>54'#"'#"&='.#"#".5467&#"&546326323265332654'72'654&#"#54#"&546326%2654',Fa_4AL4]zB' P;@WZCAg9% 5LU9.RD]<5&lXA)< 9/+N]^!kwb?4.M.C"fFS2)>Ju';&% #)5We(na\; 2!7FB '/#%./AR;8MLbG4>7'&'#".'4&#"#".5467&#"&546326323265332>54&'2654'r%.17'502HQQ$N$-I%8 *@# ]N:%5 /*&ATU _jU7.1;?NU#-LD'8 4+#.KV"AD'pzHh=7`B.EH&9/nZxSl.C67n' u?HY`WC"R*"Do.D74aJ5lHNm #+Pkw#"&=#"$&546732>7'&'#".'4&#"#".5467&#"&546326323265332>54&'72654&#"%2654'~,3F/0F17'502HQQ$N$-I%8 *@# ]N:%5 /*&ATU _jU7.1;?NU#-LD'8 4+ %.s ""#.KV" B(4BA5SiǀHh=7`B.EH&9/nZxSl.C67n' u?HY`WC"R*"Do.D74a AD'$"*"J5lHNm #+Pn|#"&547#"$&546732>7'&'#".'4&#"#".5467&#"&546326323265332>54&'72654&'"2654&'#"&=2654'V(; U>=U 17'502HQQ$N$-I%8 *@# ]N:%5 /*&ATU _jU7.1;?NU#-LD'8 4+ %. #(:,8+-/)8#.KV"B%2(>UU>32#"&54632>326322654'264&"%2654&#"))D01C2GpU$mX@)< 9/*0CS-$ -F%/!4B6>AMrk-J)>58Cky&3Wa5$2##2#%%"'"(( =%3AD0.6 PWZ{ [|Rl.C5:q# 5(,(#.?&)\31PeTxM#*l]=J7oILs3G"4""48%2.#9MSPZez2"&54>7654&#"#".5467&#"#4.#">32#"&54632>3262654'2654&#"2>54'#"&'%2654&#"XkZ\S|R!1%FpU$mX@)< 9/*0CS-$ -F%/!4B6>AMrk-J)>58K&3Wa5,%%C*3&1/6%"'"((†laZaCXV@); PWZ{ [|Rl.C5:q# 5(,(#.?&)\31PeTxM#*tJ7oILs3Gu" " &5$ F8%2.#9EDO[233!53654&#""&547&#"#4&#">32#"&54763263262654'2654&#"Vj_SןjJ8NNh@M&/SI63L&.!/F5>@OJH`_F$V.#)? )F",*O'&!)(}_}EG":KgInCRNCsA 2(,(6.I8)SA0LlOqRNON8/a-U*.:P/%$/.#9E;OWbn233##"&547!53654&#""&547&#"#4&#">32#"&5476326326264&"%2654'2654&#"Vj_S$(A31C)jJ8NNh@M&/SI63L&.!/F5>@OJH`_F$V.#)74""4" )F",*O'&!)(}_}EG51CC15":KgInCRNCsA 2(,(6.I8)SA0LlOqRNON"4""48/a-U*.:P/%$/.#9EN[ny233#"&547!53654&#""&547&#"#4&#">32#"&54763263262654&#"2654'#"&'2654'2654&#"Vj_S'1TzS3jJ8NNh@M&/SI63L&.!/F5>@OJH`_F$V.#),%$+72'1 *( )F",*O'&!)(}_}EG&CAZTBF(":KgInCRNCsA 2(,(6.I8)SA0LlOqRNONX:($ $6"! #. B8/a-U*.:P/%$/.#9Miu2!3#".54>32&#"326=!53>54&#"#"&547&#"#4&#">32#"&54632>3262654'2654&#"RgZS.IU=N4bVlB=j"\H6u+0D7" N 8%2?Z(0SJ2-F%+!4B6>AMrh0 ;+8()G#*@9 #L%"'"((vXr^ /5& $ !&_N"%e2LeNf-6%M;bT1),(5#.?&+\31PeT{M59.T4 U+*+P8%2.#9P=fs~2#"'&547&#"!53>54&#"#"&547&#"#4&#"632#".54632>326323&5462>54&'%2654'2654&#"w/J) H;5"`.C 2%#,;/ C 3#,9N(#M>-DV'6- 8/$5 |e[*-2"#/F^L6pX'$73,"""*;H6Zy7.:Z/E74l &c6HeMe,6%M7&#"!53>54&#"#"&547&#"#4&#"632#".54632>326323&547632632#!"3!!"&54>3!2654.'#"&%2654'2654&#"%2>54'[45#/J72_޴'(;/ C 3#,9N(#M>-DV'6- 8/$5 |e[*-2"#/F^L<@?Z\Cgf5!$K,<$ O_$/ &N<=P$73,"""6% &&+15X( =;Lx;"$r(HeMe,6%M54&+532>54&+#"&54>7&#"!53>54&#"#"&547&#"#4&#"632#".54632>3263232&54763262654'%2654'2654&#"Y]|HJQ9K).:*),,!) SD"S<9K"-!%<5L#_#,;/ C 3#,9N(#M>-DV'6- 8/$5 |e[*-2"#/F^L3^7<@?Zf> r"*@G1$73,"""PC@(C4GI 0&,< ($7#! +5ATPo^A%C+$$0G9x;&c6HeMe,6%M32&#"32>54&'#".5467&#"!53654&#"#"&547&#"#4&#"3>32".54632>326323&7327654'2654'2>54&#"qZl9A\r;J4POKF70(OQ(0K. ,'I<"2 EE$8.D +-O;/ C*# .7N(#M>,ES ), 9^<{e[*6$2"#0I[M5&$s$7!& } !"er_ % !)>TM'6_5X|(:.=k 5/E7)q &LmIeMf,@ N32#"&547'#".54>;2654#"#54&#"#"&547&#"#4&#">32#"&54632>3263262654#"%2654'2654&#"L-7%)B'-aHc.*;9*(8 ;E0 "*(BB"2^e3&S?35$(1#0CSJ2-F%.!4B6>AMrk-J);$'3r.-4z**%"'"(( 8' $!)!2%"-&D&#4 B0b9<-@.8 E #9+/&5(,(5#.?&)\31PeTxM#*55\//."??8%2.#9M:)%#!"3!!"&57>3!2654&'#"&547#"&546;2>54#"#54&#"#"&547&#"#4&#">32#"&54632>32632632+"32>322654&#"%2654'2654&#")T4S..5*8)!-H3'8-)7 _g05BwY $-e7"S?35$(1#0CSJ2-F%.!4B6>AMrk-J);$'3r.l-7%XJ-I(.fMh/BZ ! ~**%"'"(( 921%', 7")2'<.6,=J 0!b>T@.8 E #9+/&5(,(5#.?&)\31PfSxM#*55 8'HW%*!%-%I;"??8%2.#9M<%2#!"3!!"&5463!254#5254##"&547#"54>;2>54#"#54&#"#"&547&#"#4&#">32#"&54632>32632632+"32>762654#"%2654'2654&#"fV '2))[)33)%.'P8-)7 -E!A2FV1*> e7"S?35$(1#0CSJ2-F%.!4B6>AMrk-J);$'3r.l-7%]3HP&OGQ.1**%"'"((8&  0%:5$ '$*<$)2'/s.:* b>T@.8 E #9+/&5(,(5#.?&)\31PfSxM#*55 8'GX1'4)4!/*."??8%2.#9MUgs2'654&#"#".5467&#"#4&#"#".547&#"#4&#"632#"&54632632632>3262654'!2>54'2654&#"bl{1WlQ nUD)< 80'3JSF9(k ?+': a(0CSI3-F%-< "*F-@NsSE1VC,2Je:I9=,7N(5We"(X-02) &&!).•eHDt]z ]zOo.B67r% 5? 2#"&54632>32632>3262654'2654&#'%2>54'2654&#"bkN2DbC.)? )E+!nTE(< 80'3JSF9+k$4+': a*2ASI3Qa .B2 0!AMrl,K)D+:Bi6>1B'4K(5We"4"" ,$. X+21*$#&!).cVW 6.1CD0&@ MP1=2" ]zRl-B77r% 5? 7654.#"#".5467&#"#4&#"#".547&#"#4&#">2#"&54632>32632>3262654'2654&#"2654'#"'%2>54'2654&#"bkW`"+ =T0"F )E+!nTE(< 80'3JSF9+k$4+': a*2ASI3Qa .B2 0!AMrl,K)D+:Bi6>1B'4K(5We",%"D,65%C7$. X+21*$#&!).c]Ze%: W?(: PU1=2" ]zRl-B77r% 5? 54&+"&54>32&#"32654&"6HT>;A3"2 t==o6-.5a:J(O7D5i?L) k4""4"?5J)!E1C+! $!?9 ''F4/.G80)""##K.;N2"&547&'732>54&+"&54>32&#"32654&'#2654'#"&'6HTJKTzS+`1=o6-.5a:J(O7D5i?L) ^$$,63&"/*(?5S'"WAZUA@'49 ''F4/.G80)" !X:($ &4' #. K3"#"&54632&#"32>54/.54632&L@JbM`-IK(IjYDX<-><;/10cl%0r]H=8'MWE5L'.& 0*' 6%] <(FUE5A?+Q%2#"&54632&#"32654'#"&4632&#"32'654#"#465654#"&546326NYmIabK^5Z2EJ5`zi=R`qJ=T$  aOt9/-;62&!,r\HnU:4^J    '   G>4%#"&'532654&+53254&+"&54632&#";27Sa?wi5B9!x/#w:Ip^zG7g@O%e31 8'(B7+)1D*G4BOG70'# /!TG>K%#".547&'532654&+53254&+"&54632&#";22654&'#711A3"1 ~4i5B9!x/#w:Ip^zG7g@O%e31n ( (# 8'/#<1C)" &'7+)1D*G4BOG70'# /!T+ ,#G@;FY%"&547&'532654&+53254&+"&54632&#";22654&"2654'#"&'7HBTzS1c,i5B9!x/#w:Ip^zG7g@O%e31%&$,65$"/*( 8'>$PAZUAD( 7+)1D*G4BOG70'# /!T%X:(" '3' #. Jn,%2#"'&54732654&#"+"54632&#"327GZq\gdTBvAR.5o\|G7g9Zw K7=HRTogOBU^.&"uHUG7/lJEo7E%2#".547&'&54732654&#"+"54632&#"3272654&#GZ67E/ "*abTBvAR.5o\|G7g9Zw ,2#" K7;$!B3A 2!"RSmgOBU^.&"uHUG7/l"! Js5BT%2#"&547.54732654&#"+"54632&#"3272654&'2654'#"&'GZGLU<=S(I`TBvAR.5o\|G7g9Zw $,62'#/EK7E$"WDWUA='A}NgOBU^.&"uHUG7/l !X9)$ $6) 2+MT(4%#".547#"&546322>54&#"264&+0E/ ") _yad1<*bGHa"I2## 4 6-3A 1"{afhcH!H0Id`G3>+"4"M&6H2"&547.5462>54&#"2654&+2654'#"&''d`aTzS"*<.!yQ1<*bGHa"I&! +72'1EhwCeBYW?6' -O2fn!H0Id`G3>+X8*" %5"! 2+MEJR#".547&'#"&=74&#".5463232653327654&'264&"W)8 KE/ "*E12YHa5!(0 6.*; qK7\G-50S(.5*.G)2##2#@D0tE33A 2!" BLePSG>%M354'#"&'W)8 ^\S>=S.5%2YHa5!(0 6.*; qK7\G-50S(.5*.G) &0 3&1 E@D0CbCXU)5LePSG>%M35#"'#".54754#".546323265332654&'N:K`|[oF5c"_Z%@i=)3?e(3T86!S:Op*: gS8CX'6SOBRB1&~E*!*#"$5?2'KK*R9fJyLCC1e3TU`G+#DqcJ7qM@v#"'#"&=74&#".5463232653327654&'2>54'7#"'#"&=74#"&54632326=3W)8 "/:)S92YHa5!(0 6.*; qK7\G-50S(.5*.G)  KV .%7%!:3>7 JZI4,6.#:@D08X1 MLePSG>%M354'7"&547&'#"&=74#"&54632326=3264&+W)8 "/:)S92YHa5!(0 6.*; qK7\G-50S(.5*.G)  KV<=B\B+!:3>7 JZI4,6.#:C#!!$@D08X1 MLePSG>%M354'7#"&547&'#"&=74#"&54632326=32654'"'2654'#"&547W)8 "/:)S92YHa5!(0 6.*; qK7\G-50S(.5*.G)  KV=F$ 4H7!:3>7 JZI4,6.#:2 L4)'"@D08X1 MLePSG>%M3%M3,6'/( . M@~#"'#"&=74&#".5463232653327654&'2"&547&'#"&=4#"&54632326=33267#"&5462654&#"264&#"W)8 "/:)S92YHa5!(0 6.*; qK7\G-50S(.5*.G)F'1C?B\B&# %M3,6'/( . -&--%M@#"'#"&=74&#".5463232653327654&'2#"&547&'#"&=4#"&54632326=33267#"&5462654&#"2654'#"'2654'#"&547W)8 "/:)S92YHa5!(0 6.*; qK7\G-50S(.5*.G)F'1DH$ 4H1" %M3,6'/( .  P." ,4 '!M@HT[#"'#"&=74&#".5463232653327654&'4632!7354&'4#"6W)8 "/:)S92YHa5!(0 6.*; qK7\G-50S(.5*.G)9T&-/*2,Am@D08X1 MLePSG>%M2%M254'#"&5477#W)8 "/:)S92YHa5!(0 6.*; qK7\G-50S(.5*.G)9T*3 4"4H3c&-/*2,Am", )'"0& @D08X1 MLePSG>%M2 $,G4>").gM<$6TN P#!  ,4 '!/M,@bmv#"'#"&=74&#".5463232653327654&'4>32#".54632&#"326=#7354&#'"654&W)8 "/:)S92YHa5!(0 6.*; qK7\G-50S(.5*.G),-CV38J5B;7N;)#$(30,_(t @D08X1 MLePSG>%M2%$bPB!5?tS[!KIfK".547327#"'#"&=4&#".546323265332654'7[ysKi!dEip\22VFe3" (0"G(*: qM7YH.6-S4+8Kj|۷1Mjh7|tck0X[B*vJK`L\J?$I0PgDI4b{TaWNC9C3?cO:`K iXa#".=#".547327#"'#"&=4&#".546323265332654'7264&#"+.C1"2 ysKi!dEip\22VFe3" (0"G(*: qM7YH.6-S4+8Kj|4""' B%1C+! =1Mjh7|tck0X[B*vJK`L\J?$I0PgDI4b{TaWNC9C3?cO:`#2##2KgYfz#"&547#".547327#"'#"&=4&#".546323265332654'72654&#"2654'#"&'"-U<=SsysKi!dEip\22VFe3" (0"G(*: qM7YH.6-S4+8Kj|. C,64%"0 )6 8%DWUA(1Mjh7|tck0X[B*vJK`L\J?$I0PgDI4b{TaWNC9C3?cO:`" v9)" &4)  MFKVb2#".547&'#"&=4&#".54632326533265##"&5462654&#"2>4.#";HQ((E/ "*\D3XIa4"8Mo*; jS//E+6.S!0';`*)1@E=")' &$  $$mWM ?#3A 2! ONiVEKAkO8BG2`'M5HSH;A$5 cr&"R;7K.")1/J1.!6!MKVdv2#"&547&'#"&=4&#".54632326533265##"&5462654&#"2654&+2654'#"&';H"aS>=S&G73XIa4"8Mo*; jS//E+6.S!0';`*)1@E=")' &$ %%+72'17mW0R7 fCXUA<& @NiVEKAkO8BG2`'M5HSH;A$5 cr&"R;7K.")1/J1X9)$ %5"! %9MXd2#"&54632.#"3265#"'#".554#".546323265332>5##".5462654&#"yS8B}[lM=M%!`V+w;Zp,1\/F#S:Op@FgS7EU)5SL9,A! *#3 @G!**!'&q|+!(% i6LL&?B#>fKxL&|Db7YWZH-%@7D'CD&#4(4K.#;( ,7HA f%2654&#"".5473 7#"'#"&574&#".54632326533265##".54632 +*#%'zPb"]BfE!$`?5XL]2"*/ 1#(.hRBQ /!GSN8FU#E "+C154'#"&54>7&#"#4&#"#4&#"632#".547626326322654'%4&#"326g@4$$3@4$dNA8K >($S?5T?3'5SI5,F$-<2D7+5DJGF6\X6=](B)#6(#,%1 -R%")$%'lu, "2W5u"-6XlSB%6-$E:5@(,(6$/A$IV>4,@M+wPMONJK*! !.RkH:D, 9&-@NKGa_F3Ze0@Ql+# E !K' &%!).0 %/4," 3/) ")5'5@'!,(5$/@$H ?*1LfSuPNOMZZK<$*!&y/H0.#$2H;iq|%2#"&547&/3254/&5463232654&#"#4&#"#4&#"632#"&547632632632#"&#"326264&"%264&#"&3-61A31C?& 1_`=q=8#G D9C[SA3'3SJ5,E$-< "*5>@NKGa_F3Ze0@Ql+# E !K'2##2# &%!).0 0!>0DD0)4," 3/) ")5'5@'!,(5$/@$H ?*1LfSuPNOMZZK<$*!&"4""4/H0.#$2Hht%2"&547&/3254/&5463232654&#"#4&#"#4&#"632#"&547632632632#"&#"3262654'#2654'#"&'%264&#"&3-@=TzS+( 1_`=q=8#G D9C[SA3'3SJ5,E$-< "*5>@NKGa_F3Ze0@Ql+# E !K'.$ %)92'17 &%!).0 6%LBYUA?( 4," 3/) ")5'5@'!,(5$/@$H ?*1LfSuPNOMZZK<$*!&! X9)$ %5"! %9/H0.#$2O+iv%2# $5467!2>54/&546322654&#"#4&#"#4&#"632#"&54632632632#"&#"2654&#"rTXob47*92M[\=q=2)CE1EaSA0)4SH4Pa +>+9 /!6Xrk./Y54/&546322654&#"#4&#"#4&#"632#"&54632632632#"&#"2654&+2654&#"rTXLG 2"4B47*92M[\=q=2)CE1EaSA0)4SH4Pa +>+9 /!6Xrk./Y54/&546322654&#"#4&#"#4&#"632#"&54632632632#"&#"2654&'"#2654&'#".=2654&#"rTXs4;U|T47*92M[\=q=2)CE1EaSA0)4SH4Pa +>+9 /!6Xrk./Y/#!De=9^A-W=. 6(5 $!-3)5@( ,*3i_I<<))UczMM; ["2(<!j #y:( 5 5' & +79$3-$$$LK>J[g74>32632632'654&#"#4&#"#4&#"632#"&2#"&5462>54.#"2654&#"L$8\:i0/Xj/*SN:A 3)+hK;'3S@2&6SS,-> !*E4>LOfcNL`]? '.  & 5ML,(*&%HJ8#OMHJ=Df3U6 ARf-$3B),)5G =*:HjlcOIfcGOh 7$2H89Nr,#'0-$'.LVb%#"'#".=4&#"#4&#"#4&#"632#"&5476326326323265332654'74&#"326bIL2+M-7&.%*M7,!,N<.&="'6,<9.:E>BbC:*WS*'M%,(2"/:*FS>:HlRdRWJKHJ^JrD;*"C3%,(2"/:*FS>:HlRdRWJKHJ^JrD;*"C3<#2# +#$.+#%-L_k%2654'7#"&547&'#".=4&#"#4&#"#4&#"632#"&547632632632326532654&+"2>54'#"&'%2654&#"2AgyUYU<>R9(+M-7&.%*M7,!,N<.&="'6,<9.:E>BbC:*WS*'M%,(2"/:*FS>:HlRdRWJKHJ^JrD;*"C3<v+'  '3#  "+#$.+#%-Qx#".54632&#"32>7#"'#".'&54#"#4&#"#4&#"632#"&546326326323265332654'2654&#"%(4%@aE =<%mQNF0*8O]+?, '4W%-I"7KRL5- !#M>-'= '5/;:.;D{f]**M]*!K0<M#-MC6Jg,!$'#JJ+_h< !*% 9.,!HH", aZ2A ",'4#->%G_1;HgSvKKHH5WV]F*"CnhGlS%($1.!"1Ijny#"$&5467!2$7#"'#".'&54#"#4&#"#4&#"632#"&546326326323265332>54.'2654&"6B+6%0)$+J+*K"8KQM6-6M>-D^'6&31'9E|e^))M_* K~+;$-MC&7 !# + 4%'%Az{G`HAV9ziW QI"- [Z1B!$,&5qSG==7.fT{JJGGNFK+!Cn+?3>-- %($1-"$/Imz#".'!"$&5467!2$7#"'#".'&54#"#4&#"#4&#"632#"&546326326323265332>54.'7264&#"2654&" %; 1!+9+6%0)$+J+*K"8KQM6-6M>-D^'6&31'9E|e^))M_* K~+;$-MC&7 !# 6Bs !("+ 4%'-=0 "+10{G`HAV9ziW QI"- [Z1B!$,&5qSG==7.fT{JJGGNFK+!Cn+?3>-- %A$0##"%($1-"$/I{n2#".547!"$&5467!2$7#"'#".'&54#"#4&#"#4&#"632#"&546326326323265332>54.'72654.'2>54&'#".=2654&")5$$5* +$ +6%0)$+J+*K"8KQM6-6M>-D^'6&31'9E|e^))M_* K~+;$-MC&7 !# 6B.:A&0 ("8 +"!, 8+ 4%'_ @V? 8#f{G`HAV9ziW QI"- [Z1B!$,&5qSG==7.fT{JJGGNFK+!Cn+?3>-- %A/y+'85 ""  (:s%($1-"$/K_ky2#"'#".'&54#"#4&#"#4&#"632#".54632632632326533265#".5462654&#"2>54&#"G1K)R8`)&V*?JRM5-!-M>-DV'6- 9/$4 {f^))M^* K1<L2M@35Q!8(49?$#!{!#']m+RQ1II"4(aY1A',&4g]F"3+:G$<;uJJGG5WV[F7;1F]mC>;8F-!:(*6!%/+#$/MIs%#"&547"#"'#".'&54#"#4&#"#4&#"632#".546326326323265332>7#".54>32'2654&#"2654&#"%2654&#"~'= 00B `)&V#7KRM6,7M>-DV'6&307$5 |e^))M^* K2<L4M@3&8 !:- 1'#3 k##"!3&%]+ #''B$z+#:(+4,%($1-D1I{%#"'53264'#"&547&'#".'&54#"#4&#"#4&#"632#".546326326323265332>5#".54>32'2>54&#"2654&#"%2654&#"t2JdK9,$A)8 -#(7Y%$X#7KQM6, !#M>-EU'6- 8/$5 |e^))N^* K~L$.L?4&8 !9, 1'3Ik $" !"#' H:DSA09X )-/$(CJ!-\Z2A ",'4jZG#3+:H%;<zJJGGzF6<0H'AA"C"3+5,^l" <(*6 7$1/ $/K|2#"&54>32&#"32>5#"&'#".'&54#"#4&#"#4&#"632#".5463263263232653325#".5462654&#"2654&#"G$4 ,HqLXlDR.WG1Pqq>b;'6_*L&V"8KRM6,7M>-EU'6&307$5 {f]**L^*L2<L 1M@3{5- 9@##" z+"#'-LO+UoG(.&% ("%.%!4FA"N("J"- \Z3@!$,'4h\G==2Q%;<vKKHH5WW[F7<2E,#4*:F- ;(+4%(%0/ $/LK>s74>32632632'654&#"#4&#"#4&#"632#"&2'654&#"#54&#"#54&#"632#"&546326326%2654&#"2654#"L$8\:i0/Xj/*SN:A 3)+hK;'3S@2&6SS,-> !*E4>Ll6O`F0' :) ":'*k +./"*2fDE 9E C,(*&F-%HJ8#OMHJ=Df3U6 ARf-$3B),)5G =*:HjsVCm**[6AѶ ++.6)&0G4`U21./C,#'0-$'.76LK>|74>32632632'654&#"#4&#"#4&#"632#"&2#"&547&#"#54&#"#54&#"3632#"&54>3263262654'2654&#"3254&#"L$8\:i0/Xj/*SN:A 3)+hK;'3S@2&6SS,-> !*E4>LICZ5+,6G#.:"("9.#,*!-$),4(:.=0$>;$0j"5B$,(*& .%HJ8#OMHJ=Df3U6 ARf-$3B),)5G =*:HjteM7DE5Q6 Ӷ-"' .:( 3E65N#330.#)Q.5I"+G,#'0-$'.4LYY>74>32632632'654&#"#4&#"#4&#"632#"&4>32632632#"'732>54'#"&54>7&#"#54&#"#54&#"632#"&2654'2654&#"3254&#"L$8\:i0/Xj/*SN:A 3)+hK;'3S@2&6SS,-> !*E4>L&/# ?.">:$(=T";9cD)% (=> 4+&2.4,:)! :.$#2 )!.$)3,W #;,(*&,%HJ8#OMHJ=Df3U6 ARf-$3B),)5G =*:Hj+D&3300L U7Oa %5.J#;G7, !,!+Ҷ")"1 .:(4K '-) %$H,#'0-$'.(5 M1=HQ>32!4&#"#4&#"632#"&546326322654&#""654&354#"TF"H5#8SH4Ob +>!2 5?AMr 5( 4]?P$#'"(# . )sQNF[423A &,(5i_I"3+2OeS{ MB9%2.#=[#9;%3hEsF1MA;DOXd>32#"&547!4&#"#4&#"632#"&54632632354#'"654&2654&"%2654&#""TFCbC H5#8SH4Ob +>!2 5?AMr 5( 4]?PQNF . )z4"!6!$#'"(#[42-1CD0.3A &,(5i_I"3+2OeS{ MB^EsF1#9;%3"##29%2.#=M<EP]p|>32##"&547!4&#"#4&#"632#"&54632632354#'"654&2654&#"2654'#"&'%2654&#""TF.8U<=S:H5#8SH4Ob +>!2 5?AMr 5( 4]?PQNF . )m%)92'"/ 0$#'"(#[42 GDWUAJ"3A &,(5i_I"3+2OeS{ MB^EsF1#9;%3 "X8*$ $6( &)9%2.#=I\ I%2654'%#!"3!!"&5463!2654&+"#"&5467&#".54632632v*4We5bHl?#93>?2j8KgU nSB@P<,0IY*5!>.v_;37F6V3" s;1]=D\.8f_'J5,+5kMYlMgGWTF1` `H&^"g+Xx 1A;D\ S%2654'%#!"3!!"&54>3!2654&+532654&#"#"&5467&#"&54632632r*4Vf6I>J>>40B 0!eH>(-7@C5lU@?Q/:(HZ_!kxX<75d Kx<0Z>EY.8#xBfEAL,@co2#".54632.#"32654&#"#".547&#".54763262'654.#"#54#"&546326'2654'{˦AL4]xD' O;@WZCx`7nWB)< h)L`_!38DE_6.1 &%  #V)5We(Ι 2!7FB '/#%.Ɯ \zRl,B6}Q rU}>%vB^GG' , ;% 'I9oIQo #,GNXa2'654&#"#"&5467&#"#4&#"#"&5467&#"&5463263263262654' 2654' l,"1Zt]nSB@P:/!3KSL9lSB@P9/+'?% ^!k}]B04;k@1g5-9P*4Xe6T4WeÑh,L3 Bu]{ \{UgfQ9q$B5 @0-_vn_nRCAO:/!3KSJ;lRCAO9/+'?% ^!kyaA14;k@1g5-9@r9oBV3XeJ+3We4P*I4+-6h]r \{QkhO;o$B5 9O ZzQkhO9q$ /:-=Kc\[q=[I7mKPo3FI7oIPo4EGnw2#!"3!!"&5463!2654.+532654&#"#"&5467&#"#4&#"#"&5467&#"&54632632>3262654'2654',eRP-D5_"#Z1?@0_JZ$! &%^C7nRCAO90!5ISK:lRCAO71+'?% ^!kyaA14;k@N:5-;}V3XeJ+3We4N?G))K0E I6),7E:$/ ,B,:\{QkhO9o&D3 :N ZzQkhO9m( /:-=Kc\<tI7oIPo3FI7oIPo4EHdp|2#"&54632&#"32>54&#"#".5467&#"#4&#"#".5467&#"&5463263263262654'!2654'"p/GbX0Y|GZO0"U"\}%CK6#pV$nUD)< 9/SE9&lUD)< 9/,0I#_!j{]>57Di6$~%48Q*4We()5We(wbT5,$'+.IUg ]yRl-B69q$ t ;J[yRl,B6:o% ,?7HWa~[ZsJ8nJQo #,I9nJQo #,H<$2'654.#"#54#"&546326".54632.#"32>54.#"#".5467&#"#4&#"#".5467&#"&546326326326322654'!2654'&%  #"?N5]yC' O;?X<-3Pt; .T6+nUD)< 9/SF8"lWB)< 80*0I#_!j{]>57Di6$~'28Lt*4We()5We(' ,  ;% & 3#7FB '/#*?gj8JhT< \zRl-B6:o% t 8MZzRl,B69n' ,?7HUa~[Z֞kK7nJQo #,I9nJQo #,K=\fr2# $54732>54&#"#".547&#"#4&#"#".547&#"&54632632>3262654'!2654'1`vT؉[%R7FlFeP_K<%5 ZlL<1]N:%5 Z!@TU!_mR8./<]/ B29#2F".KV.P#-KV#i6gmR4޹ytgk/JyNWu ]yPo.C6|Q r :IZxSl.C6{Q t?FWa~V9wH6kINm2EI5lHNm "+Kgq~2#".547# $54732>54&#"#".547&#"#4&#"#".547&#"&54632632>3262654'2654&#"%2654'1`v]+0F/#2 [%R7FlFeP_K<%5 ZlL<1]N:%5 Z!@TU!_mR8./<]/ B29#2F".KV.2"! #-KV#ie B&4B*" A޹ytgk/JyNWu ]yPo-B7|Q r :IZxSl.C6{Q t?FWa~V9wH6kINm2E## I5lHNm "+Keo}2#"&547# $54732>54&#"#".547&#"#4&#"#".547&#"&54632632>3262654'2654&'"2654&'#"&=2654'1`vC?3NU>=U[%R7FlFeP_K<%5 ZlL<1]N:%5 Z!@TU!_mR8./<]/ B29#2F".KV.  #(:,8+-/)8#-KV#iM4N|UU>!/޹ytgk/JyNWu ]yPo-B7|Q r :IZxSl.C6{Q t?FWa~V9wH6kINm2E   [7+#5588 (:[I5lHNm "+I2<E2!5654&#"#"&5467&#".5463263235462654'"!54&[s|RfK$nSB?Q:.,L`_!47wb=63Hd~Cr*4We6=L#Uvb@lYy ]ySjeR9r# qV}>$wAhIVirH9nJQo6CYWEϟ[qIE?HT^2##".547!5654&#"#"&5467&#".546326323546"!54&2654&'#%2654'[s E/ "*!=RfK$nSB?Q:.,L`_!47wb=63Hd~Crj=L#U4"R*4We6vb-3A 2!-@lYy ]ySjeR9r# qV}>$wAhIVi5WEϟ[q"!!H9nJQo6CI=FSeot2##"&547!5654&#"#"&5467&#".546326323546"!54&2654&#"2654'#"&'%2654'#632[s$.U<=S1bRfK$nSB?Q:.,L`_!47wb=63Hd~Crj=L#U &&)92'#.7Y*4We6vb!@DWW?D"@lYy ]ySjeR9r# qV}>$wAhIVi5WEϟ[q"X8*" %5( &8H9nJQo6C5M[bn2#".54632&#"3265!5>54.#"#".5467&#"&54632632354>54#"%2654' .J, 4lMAL3x`RG!)M&ZJ6\e)*%K1$nUD)< 9/+0I#_!j{]?43Hb&>C )5We(,;7#??&!+#Rhh:>G1 ]yRl,B63263262654'H9B-0++iJ>&3S#5+nSB@P9/!Nc_!k*14%:69@gI9\T4We1bA1S6" ?Rb,%&7 ]zRjeR;m&F|?M0O2$!!LNoG9nJPo5HV[e%#"/3254.'&5463232654&#"#4&#"#"&5467&#"&54632632632#"&#"326322654'VU`O0 *]dHe .9# L =?B[SU@,#nTA@O9/#Mc^ k[<6=CvO?Qi+$ D M%*7%+4Xd4V';5+-/) 04(?L\{VggP=m$F~?Kg!#^ZI=#,'-EH9nJQo4EHcDlv%#!"3!!"&5463!2654&#""#"546323254&#"#54&#"#"&5467&#".54632632632#"&#"32636322654'DDN @#|4>@26?'  Y3) L (H;AUSW5*$nSA>R:.!Db(7 &FvYB1?>kSE}Ri%*8 ?M 1.-+4Xd5^)>)B1()9# Q")&!(-!>6MhGXTF0_ ^J)Z_IYmNLG3) ' K C/ 41**3   r/% B (C4F\SW5*$nSA>R:. 0=))6 &wYB16MhGXTF0_ !I2)Z-D(ZlNL6-& &!n`r|%2#".54>32&#"32654&#"&54>7654&#"#4&#"#".5467&#"&54632632632#"&#"2654'.C" "8`@2 \O3(M $'ZZ_LM4-*A-9C1E`SY76nVA)< 9/,0I#^ k{^>5;R7i?8D/\;.")6Xd500-2#!!#H74632632632!54.#"#"&5467&#"&%354#'"654&2654'Mwa;87=nJL-*3& % nTB@O80!$Ja^!jRMF@/+*4We6h ZZ)A%]yTigP32&#"3265!54.#"#".5467&#"&546326326354#'"654&2654'Eb4r_6OC\I6G&dP54&#""&5467&#"&54632632)6W`0&N.MާLxI0wC#!nTO9/#!2J!c&jX9:@;k:X5H:oIMs7Cwi\k"7IH&r\zUhhO;o$0F:>Kk {+X\E-KFPZ#".547#"$54732>54&#""&5467&#"&54632632%2654'264&#"O)-C1"2 P[N.MާLxI0wC#!nTO9/#!2J!c&jX9:@;kr)6W`0)4""*E ?&1C*! wi\k"7IH&r\zUhhO;o$0F:>Kk {H:oIMs7C"4"KFP]r#"&547#"$54732>54&#""&5467&#"&54632632%2654'2654&#"2>54'#"&'3,T=>R ??N.MާLxI0wC#!nTO9/#!2J!c&jX9:@;kr)6W`0.%C*2'1  /` 6%AZUA# wi\k"7IH&r\zUhhO;o$0F:>Kk {6H:oIMs7Cw# $ %5"! &)L -7_h2'654&#"#"&5467&#"&5463262654'#"&=4&#"#"&5463232654'2654' t5'1VqSnSB@P9/&0H#^!kX:84M*5We2J*C4/>,#N6%+6^G:D=?V/:I8NaH:+Z69a"#&C6%NOL  -\ft}2'654&#"#"&5467&#"&546326"&547&=4&#"#"&5463232654'%2654'2654&'+'2654' t5'1VqSnSB@P9/&0H#^!kX:84*.=A^A&9,#N6%+6^G:D=?V/:I8NaH:+Z69a"YH8oIPo4E$"+&#&C6%NOL -`jx2'654&#"#"&5467&#"&546326#"&547&=4&#"#"&5463232654'%2654'2654'#"'2654'#"&547'2654' t5'1VqSnSB@P9/&0H#^!kX:84*8G$ 4H<8,#N6%+6^G:D=?V/:I8NaH:+Z69a"YH8oIPo4E:   P." ,4 '!#&C6%NOGJT%2654'7#"&=4&#"#4&#"#"&5467&#"&54632632>32%2654'@4Hp ~bRES?) #*SJ4%lSBAO80%0I$_!k}]:81Jb=#6I[7_*4W`22iM;Hc~`QMRF 2! :K[ySjhO>l$1G=}?Mg [ hUEKCH9nJLt6CGEVcm%2654'7#".47.=4&#"#4&#"#"&5467&#"&54632632>32264&+%2654'@4Hp ~BB 2! "*?8?) #*SJ4%lSBAO80%0I$_!k}]:81Jb=#6I[7@4"" A*4W`22iM;Hu@ I "* 1Da>MRF 2! :K[ySjhO>l$1G=}?Mg [ hUEKC#2# H9nJLt6CGQ^pz%2654'7"&547&=4&#"#4&#"#"&5467&#"&54632632>322654&'"#2654'#"&'%2654'@4Hp ~VTTzS5_?) #*SJ4%lSBAO80%0I$_!k}]:81Jb=#6I[7. 'C,65$"..V*4W`22iM;H>]AZUAH''MRF 2! :K[ySjhO>l$1G=}?Mg [ hUEKC "v9)" (2) @H9nJLt6CHw%4&'7#".54632&#"32>5#".=4&54.#"#4&#"#".5467&#"&54632632>3232>2654'E5 #8MgB>P6x`rC8b&WZ$In?' .Z&9 ).LSE9&lUD)< 9/-0I#_!j{]>57Di6=1&=$ $)?)5W`3:l!i>_\C9# *#/A;!:&9/W %,6> ;J[yQr/D7=m$ ,?7HWa~[#, )83B6-*=4I9nJLt4FH"2'654.#"#54#"&546326".54632.#"32654'#"&'254&#"#4&#"#".5467&#"&54632632>3232654'72654'&%  #DN5]xD' P;?XXAy.RDY<(.LSE9$lXA)< 80,0I#_!j{]>57Di6X%*7+ ,8Bp (;,DaX)5W`3% , ;% & 2!7FB '/#%.n(g?QZL6> ;J[yTo/D7>l$ ,?7HWa~[2) ?,\). gL<Ojp=^R3lI9nJLt4FG U^h2!535462654'7#"&=4&#"#4&#"#"&5467&#"&54632632>32"!54&2654'\uّp4Hp ~bRES?) #*SJ4%lSBAO80%0I$_!k}]:81Jb=#6I[7 @P#Q*4W`2zb"WgpiM;Hc~`QMRF 2! :K[ySjhO>l$1G=}?Mg [ hUEKC]YFιRbH9nJLt6CGEbkv2##".547!535462654'7#"&=4&#"#4&#"#"&5467&#"&54632632>32"!54&2654'#%2654'\uD0 "*p4Hp ~bRES?) #*SJ4%lSBAO80%0I$_!k}]:81Jb=#6I[7 @P#Q"/-#%*4W`2zb,3A 2!,"WgpiM;Hc~`QMRF 2! :K[ySjhO>l$1G=}?Mg [ hUEKC]YFιRb"0 1!H9nJLt6CG_hs2#"&547!535462654'7#"&=4&#"#4&#"#"&5467&#"&54632632>32"!54&2654&"2>54'#"&'%2654'\u-TzS0p4Hp ~bRES?) #*SJ4%lSBAO80%0I$_!k}]:81Jb=#6I[7 @P#Q&%&%*2'1 /K*4W`2zb"AAZUAB&"WgpiM;Hc~`QMRF 2! :K[ySjhO>l$1G=}?Mg [ hUEKC]YFιRb X# " %5"! &)H9nJLt6CG%py2##"&54>32&#"3265!535462654'7#"&=4&#"#4&#"#"&5467&#"&54632632>32"!54&2654'#AD)_6OC\I6G&dPl$1G=}?Mg [ hUEKC]YFιaSH9nJLt6CGJpz%2654'7#"&=4&#"#4&#"#"&5467&#"&54632632>322'654&#"#54&#"&546326%2654'@4Hp ~bRES?) #*SJ4%lSBAO80%0I$_!k}]:81Jb=#6I[7K6H)?(. 9'(1KUJ;7&%G*4W`22iM;Hc~`QMRF 2! :K[ySjhO>l$1G=}?Mg [ hUEKCHWB$-) *Z+Fѵ&!A0\#/gAZ10KH9nJLt6CGJnx%2654'7#"&=4&#"#4&#"#"&5467&#"&54632632>322#"&547&#"#54#"&5463262654'2654'@4Hp ~bRES?) #*SJ4%lSBAO80%0I$_!k}]:81Jb=#6I[7+CZ6+*7D+97'4MYJ86%/k 6B$*4W`22iM;Hc~`QMRF 2! :K[ySjhO>l$1G=}?Mg [ hUEKCHiJ7EC7S5 ѵHB4Z!-hAZ0/)"O.4E$+OH9nJLt6CGXJ%2654'7#"&=4&#"#4&#"#"&5467&#"&54632632>324>32632#"'732>54'#"&5467&#"#54#"&2654'2654'@4Hp ~bRES?) #*SJ4%lSBAO80%0I$_!k}]:81Jb=#6I[7 0%5&,;R0<9bH&& (: ; 6+&2>+=",98  NZx"$%q*4W`22iM;Hc~`QMRF 2! :K[ySjhO>l$1G=}?Mg [ hUEKC.B 0.KT2Kf ':0P&32354&'4#"62654'9T4Hp ~bRES?) #*SJ4%lSBAO80%0I$_!k}]:81Jb=#6I[7a&-/*2,Am0*4W`2c]xliM;Hc~`QMRF 2! :K[ySjhO>l$1G=}?Mg [ hUEKC).gM<$6TOH9nJLt6CG JTfqx%2654'7#"&=4&#"#4&#"#"&5467&#"&54632632>32%2654'4632##"&547#7354&'4#"62654'#@4Hp ~bRES?) #*SJ4%lSBAO80%0I$_!k}]:81Jb=#6I[7_*4W`2b9T&C-/A&o$$'..*2,Am.&11%2iM;Hc~`QMRF 2! :K[ySjhO>l$1G=}?Mg [ hUEKCH9nJLt6Cc]x`@A/0?$#gN;$6TN$2 2$GJTiu|%2654'7#"&=4&#"#4&#"#"&5467&#"&54632632>32%2654'4632##"&547#7354&'4#"62654&"2>4'#"&5477#@4Hp ~bRES?) #*SJ4%lSBAO80%0I$_!k}]:81Jb=#6I[7_*4W`2p9T*3 4"4H3c&..*2,Am& %()'"0& 2iM;Hc~`QMRF 2! :K[ySjhO>l$1G=}?Mg [ hUEKCH9nJLt6Cc]x"> $,G4>").gN;$6TO $P '< ,4 '!/G,JTs~%2654'7#"&=4&#"#4&#"#"&5467&#"&54632632>32%2654'432#".54632&#"326=#7354&#'"654&@4Hp ~bRES?) #*SJ4%lSBAO80%0I$_!k}]:81Jb=#6I[7_*4W`2jCV37H7C;7N<(#$(30,_ t 2iM;Hc~`QMRF 2! :K[ySjhO>l$1G=}?Mg [ hUEKCH9nJLt6C㢱JM6: >%$bQA (1tS[!QH q%2654'#".5473267#"'.'&#"#4&#"#".547&#"&54632632>3232>54'#.KR+151Z{o܁Pi%^ 1Qj\bZ  09M<0]K=%5 Z!4aY$_jU9,1;\/ A3AR3 "&c7H6lHLo2E2j9&,UXJ:!2Noi=speo =E:8&/DL$j=5 :IZxRm-C6{Q eNKW^V8fN WK$H0?Qq}#"&547#".5473267#"'.'&#"#4&#"#".547&#"&54632632>3232>54'72654&#"%2654'%5*" 2D͑܁Pi%^ 1Qj\bZ  09M<0]K=%5 Z!4aY$_jU9,1;\/ A3AR3 "&c$152""  #.KR+=-"3 D2 =2Noi=speo =E:8&/DL$j=5 :IZxRm-C6{Q eNKW^V8fN WK$H0?2j9&!! 6H6lHLo2EQp{"&547#".5473267#"'.'&#"#4&#"#".547&#"&54632632>3232>54'72654&'"2654&'#".=2654'j(/!U|T܁Pi%^ 1Qj\bZ  09M<0]K=%5 Z!4aY$_jU9,1;\/ A3AR3 "&c$15!"G("8&$ $'##.KR+C<&=VU>("-2Noi=speo =E:8&/DL$j=5 :IZxRm-C6{Q eNKW^V8fN WK$H0?2j9&%.[02 75' & *\H6lHLo2EYB%#12##".547!3354>54#"2>54&#"T9T*!A3+9 T&?CΗ# )DE$,1C20,j6N'bǘΝ "+Y"$1C2##"&547!3354>54#"2654&#"2654'#"&'T9T*)- >*?Q/)T&?CΗ&%%+74&0 8)DE$&?-7&V?B(j6N'bǘ΋W:'" %5# )8M :2!33546"!54&2'654&#"#54&#"&546326 \uqTps@P#R 6H'$?(.!9"(1KUJ;7&$yciWg3YFιSa[WB,F *Z+Fѵ 'A0\#.hAZ10M 09C2!335462#"&547&#"#54#"&546326"!54&2654' \uqTpCZ5,*7D *97'4MYK74'-%@P#R6B#yciWg(iJ7ED6R6 ѵHC3Z!-hAZ0/YFιSaW)"O.4E#,MX Q\2!33546"!54&4>32632#"'732>54'#"&5467&#"#54#"&2654' \uqTps@P#R@ 0& 4'+",98  NZx/)yciWg3YFιSa.B 0.KS2Ih ':0P&J^`2!33546"!54&4632##"&547#7354&'4#"62654&#"2654'#"&5477# \uqTps@P#R9T*3$ 4H3c&..*2,AmL4)'"V yciWg3YFιSac]x">.G4>"*-gN;$6TN P." ,4 '!xM, 7BK2!33546"!54&4>32#".54632&#"326=#7354&#'"654& \uqTps@P#R,-CV37H7C;7N<($%&+8,_(t yciWg3YFιSa1D KL5;@&"bHJ!5?tS[!M=3;2#"&547&/32654&+532654&#"&546264&"23K"KO5>A31C-1;G4+*4==2M](4""4" .% @K:* G0DD0#7)"'2,)"$/yfO` rL{"4""4M1>RX2"&547/32654&+532654&#"&5462654&+"2654'#"&'7"#6323K"KOJMTzS3 -1;G4+*4==2M](|"%+75$1* .% @KJ(!XBYW?F(7)"'2,)"$/yfO` rL{X9)" '3"!  "MF:%#"&54632&#"32654&+532654&#"&54>32{54.#"&54>32'2'654&#"#465654#"&546326UqtYq?% U+IDS32:F'K+$M*?B4554A?299/:<0>i&,GJ&I_T/-Q(*X'1?!#!("/$"+/,"!0orIf {CKn9H5H A(T3MBM%#"&547&/32654&+532654&+532654&#"&54>322654&"(*02A31C0$M*?B4554A?299/:<0>i&,GJ&I_T/-q+#2#$30#=0DD0' ?!#!("/$"+/,"!0orIf {CKn9H5H A(T""!MEAOb%"&547&/32654&+532654&+532654&#"&54>322654'+2654'#"&'(*>AR~Q2$M*?B4554A?299/:<0>i&,GJ&I_T/-, )"G3&1 +'39#QAZW?F' ?!#!("/$"+/,"!0orIf {CKn9H5H A(T&  %X02  &4"! $. KH%#".54632&#"32654#523254&#"53254&"&54>32,/P_h8C/mO9K$&7pL$RH DT ;V@ & .N217& 7!d@>M!&"A+N'W1%#P#++FI&If {C$EJ6# 0 GMIn#".54632.#"32654&+53254&+57654&#"&54>322'654#"#465654#"&546326s.:(]EZ1 A$/@A2UjaM03 KL8`C-+@ & .N2:pA-.P\ l 3"8EB #0"&-hM@N*W3"# A!-+FI&If {C$EJ6#A3G# 7!d" %#  .% $IN#"'#"&54>54++53264&#"&546323265332654.'+< oSX;mLF=0906++/0(HY(}d>R? N6NXKS8+:J 3$AG7c}M40#"!, B(|eMb qMx>2< !J <C2>fM/;4IFYd#".547&'#"&54>54++53264&#"&546323265332654.'264&++< GDD0 "*J0mLF=0906++/0(HY(}d>R? N6NXKS8+:J 3$2##AG7r> J3A 2!  @40#"!, B(|eMb qMx>2< !J <C2>fM/;4"4" !IVbv"&547&'#"&54>54++53264&#"&546323265332654.'2654&#"2654'#"&'+< \[S|R0;(mLF=0906++/0(HY(}d>R? N6NXKS8+:J 3$%%$,65$".*AG7=aCXV@B)540#"!, B(|eMb qMx>2< !J <C2>fM/;4X:(  '3(  "Im#".54632&#"3267#"'#"&54>54++53264&#"&546323265332654.'.=Q8WEB3:6`rt:]X;mLF=0906++/0(HY(}d>R? N6NXKS8+:J 3$DK1-%LgX* *% %uOM40#"!, B(|eMb qMx>2< !J <C2>fM/;4Id%2654'7#".54632.#"3265#"'#"&54?654#"532654&#"&54632326532'654.#"#54#"&546326?Ox2KPDN6]zB' O;?XY?>_X;lLF=(I(K-+01'HY({f>R?/ #'NE^S6@&%  #"4fM398msU7 2"7FB '/F1OM30/ !#,#!(_Mb oOt@0< $  1#C1?% , ;% %INs#"'#"&54>54++53264&#"&546323265332654.'2'654&#"#54&#"&546326+< oSX;mLF=0906++/0(HY(}d>R? N6NXKS8+:J 3$6H -%?(. 9'(1KUK:7&%AG7c}M40#"!, B(|eMb qMx>2< !J <C2>fM/;4AWB1>*Z+Fѵ&!A0\#/gCX10INr|#"'#"&54>54++53264&#"&546323265332654.'2#"&547&#"#54#"&5463262654'+< oSX;mLF=0906++/0(HY(}d>R? N6NXKS8+:J 3$CZ6+*7D+97'4MYK74'-m6B$AG7c}M40#"!, B(|eMb qMx>2< !J <C2>fM/;4AgL7ED6R6 ѵHD2Z!-hAZ0/)"O.4E$+IXN#"'#"&54>54++53264&#"&546323265332654.'4>32632#"'732>54'#"&5467&#"#54#"&264'+< oSX;mLF=0906++/0(HY(}d>R? N6NXKS8+:J 3$n 0& 4'++>",98  NZx"$%%AG7c}M40#"!, B(|eMb qMx>2< !J <C2>fM/;4.B 0.KT2Kf '0# P&;L9.3A,"˶H 2!Y#-(\ +'!INVbi#"'#"&54>54++53264&#"&546323265332654.'4632!7354&'4#"6+< oSX;mLF=0906++/0(HY(}d>R? N6NXKS8+:J 3$9T&-/*2,AmAG7c}M40#"!, B(|eMb qMx>2< !J <C2>fM/;4c]x).gM<$6TNI N`ls~#"'#"&54>54++53264&#"&546323265332654.'4632##"&547#7354&'4#"62654'#+< oSX;mLF=0906++/0(HY(}d>R? N6NXKS8+:J 3$v9T&C-/A&o&..*2,Am.&11$AG7c}M40#"!, B(|eMb qMx>2< !J <C2>fM/;4c]x`@A/1*-gN;$6TO$2 2&INdpw#"'#"&54>54++53264&#"&546323265332654.'4632##"&547#7354&'4#"62654&#"2654'#"&5477#+< oSX;mLF=0906++/0(HY(}d>R? N6NXKS8+:J 3$v9T*3$ 4H3c&..*2,AmL4)'"V AG7c}M40#"!, B(|eMb qMx>2< !J <C2>fM/;4c]x">.G4>"*-gN;$6TO P." ,4 '!xI,Np{#"'#"&54>54++53264&#"&546323265332654.'4>32#".54632&#"326=#7354&#'"654&+< oSX;mLF=0906++/0(HY(}d>R? N6NXKS8+:J 3$x,-CV37H7C;7N9+$%&+8,_(t AG7c}M40#"!, B(|eMb qMx>2< !J <C2>fM/;41D KL1?@&"bHJ!5?tS[!J? ^#"$547327#"'#"54?654+53254&#"&54>323265332654&'9@VQֹ)h bJ:iJ m{#"&5465#"$547327#"'#"54?654+53254&#"&54>323265332654&'2654&#"9@\,/ 2"3Cg|VQֹ)h bJ:i" "J oy#"&547#"$547327#"'#"54?654+53254&#"&54>323265332654&'72654&'2654&'#"&=(/!7#=USfVQֹ)h bJ:i"%H #.y9)%358&( +7J<h3"&546732654&+532654&#"&54>32y .sVK>3551?:@N`"( !3T6Rg[^AEڹNi;\x]9;P0E&'@`t; @~&FH5!U>Q*7fU?EJh=K2#"&547#"&546732654&+532654&#"&54>2654&+Rg[^JGA31C   .sVK>3551?:@N`"( !3T{ "$U>Q*7f\AO0DD0ڹNi;\x]9;P0E&'@`t; @~&FH5!+#!JJi;FY2#"&547.546732654&+532654&#"&54>2654&#"2654'#"&'Rg[^bcS>?Q! .sVK>3551?:@N`"( !3T=.%C)95$1*(U>Q*7fmBfAZW?6'ڱNi;\x]9;P0E&'@`t; @~&FH5!""w6," '3"! $. ME:B%#".547&'#"'&54>732>5332654.'7264&"2E/ "*H48PJ9; <*#*0B9(,S2*9M0"&,4""4"& 7-3A 2! EM@Dc4F?o732>5332654.'2654&+#2654'#"&'a&,\\T=>R06'8PJ9; <*#*0B9(,S2*9M0"%&%+75$1* 6R0AbBYV@D'4M@Dc4F?o5#"'#"'&54>73265332>54'7Oy}Lc:4SjS"*MJ-7NX57PK9; >.",2I;'4S1!,3#j/<:ag4&!"%1aC9KL?Db2IBn>Ob.!C>4%K1@$Xb3'iN"MKp".54632.#"32>7#"'#"'&54>732>5332654.'7'2'654.#"#54#"&546326@N6]xD' O;?XN9Kp>)]CV98PU63 <*#ZC8)*S2*:L0"OX.G`[&%  #" 2!7FB '0"%05Ls[97MMMKCY4E@BOb + :3?hP+94w\X9% ,  ;% &M.S#"'#"'&54>732>5332654.'2'654&#"#54&#"&546326a&,nQV98PJ9; <*#*0B9(,S2*9M0"6H'$?(.!9"(1KUJ;7&$ 6R0gMM@Dc4F?o732>5332654.'2#"&547&#"#54#"&5463262654'a&,nQV98PJ9; <*#*0B9(,S2*9M0"CZ5,*7D *97'4MYK74'-m6B# 6R0gMM@Dc4F?o732>5332654.'4>32632#"'732>54'#"&5467&#"#54#"&2654'a&,nQV98PJ9; <*#*0B9(,S2*9M0"e 0& 4'+",98  NZx/) 6R0gMM@Dc4F?o732>5332654.'4632!7354&'4#"6a&,nQV98PJ9; <*#*0B9(,S2*9M0"9T&..*2,Am 6R0gMM@Dc4F?o732>5332654.'4632##"&547#7354&'4#"62654'#a&,nQV98PJ9; <*#*0B9(,S2*9M0"9T&C-1?&o&-/*2,Am.&11% 6R0gMM@Dc4F?o732>5332654.'4632##"&547#7354&'4#"62654&#"2654'#"&5477#a&,nQV98PJ9; <*#*0B9(,S2*9M0"9T*3$ 4H3c&-/*2,Am.0&4)'"0&  6R0gMM@Dc4F?o.G4>").gM<$6TN o." ,4 '!/M,.P[d#"'#"'&54>732>5332654.'4>32#".54632&#"326=#7354&#'"654&a&,nQV98PJ9; <*#*0B9(,S2*9M0",-CV37H7C;7N<($%&+8,_(t  6R0gMM@Dc4F?o73265332654&'7J"Ețz'%Z05QSm 4),gG:'5SQAOA'|禃hZs̈́KJa3U5 @Oe+#Cr`IQelGpEQ#".5465#"&547327#"'#"&54>73265332654&'72>54&"%7 2!"2 OYJ"Ețz'%Z05QSm 4),gG:'5SQAOA'|.!6!9>- "*+!   禃hZs̈́KJa3U5 @Oe+#Cr`IQel $$ GpBM_%4&'7#"&547#"&547327#"'#"&54>7326533262654&"2654'#"&'@A'|~#,U<@P >9J"Ețz'%Z05QSm 4),gG:'5SQAOr&%&%+72'#//Qeli 7%DWW? 禃hZs̈́KJa3U5 @Oe+#Cr`X9)" $6) @J%+6"&5467&#"#4&#".54632632'2654&'AQ:0/3@S5!

7&#"#4&#".54>326322654'"q:7&)_=8aPB9J E1'a6CS5!5*. 2#): "/;*P;@\)9:[W'-(1"/mn*QJ_-:ZsVF2?.F3)=304R,:5>D38X0 JH1$JM?%#".54732&#"32654&#"#4&#".54>32632=I3SJ&;KpI6mbM&1S5"3+.3%(."/;*P:%J2/?S6-=L 6.)7pXU:EV4R1 x&% #" 3"7FB '/#"1ġ7db;-$3326326~$:Wf6eq1WlN!$mSB@O80/3BS3" *#4%*: !/9+Q;>Y9/;5=DmKPp5DmJEmS[{RkgP=m$-%=3 &D+):5?E37W0 JJ GeJT%#!"3!!"&5463!2654&#"#"&5467&#"#54&#".546326326322654'rT6@72;.KL\hR!mSA?Q,<14@S5!6ME1'/lNR9BW4243!2654&+532654&#"#"&5467&#"#54&#".546326326322654'N@B6F/: -E:"#Wj"mSA?Q,<12BS5!5NE1;KlNR9BW424FHe0!=x*4Wf7p4@)@0' #3 9,'@= MgGWUE'`%%2+TB?W eGVk=<.-#+8;1]=B^-9HPZ%#".54632&#"32654&#"#"&5467&#"#4&#".546326326322654'ţ!Y\{[YK+Z~[$zp]#mSB@O803*GS3" *#4%*: sPQ;:X#J6Euk$:Wf6 $!+'v [{SjgP=m$&+=3 &D+):5?E3eJI=DmKPp5DH'_".54632.#"32>54.#"#"&5467&#"#4&#".54>32632632'2'654&#"#54#"&546326'2654'>N4]zB' N<@W%8,?c;' 0V7"mQD@O8012?S4!)< 2$*: &S9Q;:X'F8C|3O!&% #"^*4Wf4 3#7FB (/#$+CZT+LgS; [{QliN=m$,%=3-A6-93?E3DS9JIӛ5fkQ3% , ;% %G:nJPp3FJCIS".54732$54&#"#"&5467&#"#4&#".54632632632'2654'yZ!Q" rR mSB@O80.4@S5!5*.)"*: sPQ;D3eJJlG:mKPp4EJZdqu2#".5465#".54732$54&#"#"&5467&#"#4&#".5463263262654'2654.#"'6q]$5 2! "*Z!Q" rR mTA@O80.4@S5!5*.)"*: sPQ;" "!Šlb<- "* 1" ?`zxpbhű][{UhfQ=m$.$=305R*F,>D3eJJsG:mKPp4E$#$qJV`k}2"&547#".54732$54&#"#"&5467&#"#4&#".5463263262654'2654&"2654'#"&'q$,TzS {Z!Q" rR mTA@O80.4@S5!5*.)"*: sPQ;D3eJJsG:mKPp4EX:(" (2"! @H?"!54&'2!5>54&#"#4&#".546326323546!=L"TZ]qO,2N6&3S3" *#4%*: sPQ;8NRl\rWEϟ]o5vb*x54&#"#4&#".546326323546"!54&2>54&" ]qC1"2  ,2N6&3S3" *#4%*: sPQ;8NRl\rj=L"T #2#vb,1C+! +*x54&#"#4&#".546326323546"!54&2654&"2654'#"&' ]q.TzS10,2N6&3S3" *#4%*: sPQ;8NRl\rj=L"T&%&%+74%"./vb"ZUAC%*x32&#"325!5654&#"#4&#"&54632632354>54#"$:S*54&#"#4&#".5463263235462'654&#"#54#"&546326"!54& HÎBL3}_xD' Q;,A ZCv,2N6&3S3" *#4%*: sPQ;8NRl\r&% #~=L"Ty_{ 2!6GB (%.t*xP 3#): lWP;7J79#"I:J :.&(2,*$,+#<3hM,;5?E3cJHI;DL2#"&547&/32654&+532654&#"#4&#".546326264&"0GaCI:9A31C -*3?3%(7/:0/@S2">P 3#): lWP;72##2#J79#"IC$!C0DD0* :.&(2,*$,+#<3hM,;5?E3cJH"4""4IDPe2#"&547"/32654&+532654&#"#4&#".5463262654&#"2>54'#"&'0GaCIBPU<>R4 -*3?3%(7/:0/@S2">P 3#): lWP;7%:*5$"/J79#"IH$!YDWV@G':.&(2,*$,+#<3hM,;5?E3cJH"X$ " '3(  "IM%#"&54>32&#"32654.+532654&#"#4&#".54632632CeJ)CD#n?'3RzB1| :)""9DH:3DS2"=Q3%): mVP;9oOiS:( +KL,(  &Wq%'4;/2>.!=3gO*<5?D3cJHNAL<*CO?H2#"$54732>54.+532654&#"#4&#".546326ReTZ.G`Y-[&YRs7*# 221>C71@S3!U"@T5T3! ܯma} 53$5 78()2+"<4hO*;4@E3cJGOPb2#"&547#"$54732>54.+532654&#"#4&#".5463262654.#"#ReTZGGB21C;?[&YRs7*# 221>C71@S3!U"@T_:N/ED0 ܯma} 53$5 78()2+"<4hO*;4@E3cJG4##OaP\p2#"&547#"$54732>54.+532654&#"#4&#".5463262654&'2>54'#"&'ReTZa`S>=S!-[&YRs7*# 221>C71@S3!U"@To=dCXW?+!ܯma} 53$5 78()2+"<4hO*;4@E3cJG:X+'  &4$ $. IH#"'#"&=4&#"#4&#".546326323265332654.'h*: nST:-\BWA-)32&#"32>5#"'#"&'&54#"#4&#".546326323265332>D2.E_R,Ya_YkQ>\&YV)4\V33fd)2T?Ps)8S,#+@ v>HnTf'(b.D".:(6S%*,? 8m`R~G, %6$ & 9nLWJJW:T.#0@,@3pP(zD`II*?2/[b+$C+F,A3L3\#".547! 7#"'#".=4&#"#4&#"&54632632326533254.'~9>Q|τm~a9$ ,')UPp*U+'K)3#9'* M+2IhwdKC5*I,7&2) .M!/#%I8inQ4 4LO]Q*i]R[w =H ?+eUJ"" ;2dM8L]HF"K4k7A*">,1-?9Lhs#"&5465#".547! 7#"'#".=4&#"#4&#"&54632632326533254.'2654&#"~9>]$5 1!4Bm~a9$ ,')UPp*U+'K)3#9'* M+2IhwdKC5*I,7&2) .M!/#2"",%Ib>, "+F0 = 4LO]Q*i]R[w =H ?+eUJ"" ;2dM8L]HF"K4k7A*">,1-?9!!Lhr#"&547#".547! 7#"'#".=4&#"#4&#"&54632632326533254.'2654&'2654&'#".=~9>1S7#=Um~a9$ ,')UPp*U+'K)3#9'* M+2IhwdKC5*I,7&2) .M!/#", :A)9-8'#!, ;%IiN@ ,#V=$"- 4LO]Q*i]R[w =H ?+eUJ"" ;2dM8L]HF"K4k7A*">,1-?9 #/y9)%35& "  +7I62'654&#"#4&#"#4&#".546326326?Rm!3,'kK=&3SC2(2S2">P3B*: oTR:4^Y69Ça3V5=Ne,$4A)";4hL2p?E4eONIIHF D%2654&'"&5467&#"#4&#"#4&#".54632632632(0/$h98AP91/,GSB3'3S2">P3%*; pSS:6\Y6EY`FIR4?68kQl5E=gQ:p&'-5A*"=3iM);5@D3eNNJJLOoTmIa U%3254'#"'7327654&'#"&5467&#"#4&#"#4&#".54632632632R,#W8Rxq;7')^=89-RB;F`>.VA9SB3'3S2">P3%*: lVS:6\Y6AVtQ[Z2r׋``YOxh؞Oc25@.1?gJ:k(|E`MMIIp$0#""FP_v2#".547#"$&54732654&#"#4&#"#4&#".5463263262654.'2>54&'#".=WjKA(1"U>*4$ l-)+K=2,SA12+S-"?UB3=JoSg'.Xm.'{ " $-8+-!+ 9gT9=(>U ?,")r׋``YOxh؞Oc25@.1?gJ:k(|E`MMIIb [*%358"  )9I-(02!4&#".546326354#4&#"6O(HE)+3!=Q3%*: pTU6DRMFH, i8oM<4gO*;5@E3eTVEuD1<%3IB2*3;F2##"&547!4&#".546326354#4&#"62654&#"O(HE)B21C3!=Q3%*: pTU6DRMFH, iI>* 8oM,/ED0,<4gO*;5@E3eTVEuD1<%3*+I6*3;GY2##"&547#4&#".546326354#4&#"62654&#"2654'#"&'O(HE)%.T=?Q13!=Q3%*: pTU6DRMFH, iA&%&)92'1 78oM"ABYW?C%<4gO*;5@E3eTVEuD1<%3"X8*" %5 # %9M12;C746323632#".54632&#"326=!4&#"&%354#4&#"6MnTl!2܀AM5bXJ 6G+ac(vQ_,#A+(vUNQFH*"i`SSa ",^`0@92FmU^FoI1<$4J%9CK2#".546732>5!4&#"&5463236354+4&#"67=,Otd#bqX4 (.*ZCgDThGc.!?UuoRm!4PNFG,!i #9bA3N&2HLYK(Ff>gpVR4 E.0@gJwK^`SSFqG0=%3JDNVb2#"&547#".546732>5!4&#"&5463236354+4&#"62654&#"7=,AC 2"4B 82bqX4 (.*ZCgDThGc.!?UuoRm!4PNFG,!ib "$+ #9bA>0K #*F0 2HLYK(Ff>gpVR4 E.0@gJwK^`SSFqG0=%31$"! J?CMU`u"&547#".546732>5!4&#"&546323632354+4&#"6264&'2654&'#".=b')U|T'bqX4 (.*ZCgDThGc.!?UuoRm!47=,PNFG,!i .P:'#8'#!+ @*=VU>2'2HLYK(Ff>gpVR4 E.0@gJwK^`SS #9bANFqG0=%37,y8* 5 6& "  +IFr3"&54732654&#"#4&#"&54>32632A$:٠PA&3S3!+3#v!/:*P;:KSnѺgVjǰYw,%<4%K01C6V0 JKuIr?K2#"&547#"&54732654&#"#4&#"&54>3262654&#"Sn^+0F/0FELA$:٠PA&3S3!+3#v!/:*P;:y4!! Óuh A'4BB4gVjǰYw,%<4%K01C6V0 JKV## 2IsrBNd2#".547#"&54732654&#"#4&#"&54>3262654.'"2654&'#"&=SnD=1MU>+> 45A$:٠PA&3S3!+3#v!/:*P;:P.+A)9("8&/)9ÓuV4O<=V$5*(# gVjǰYw,%<4%K01C6V0 JKNz9)858 )9M[6NY#"'&547&#"#4&#"&54632632654&#"'6322'654&#"&5472654')4U?5&"sF*4S,#A+(vpRh%1UC+1#3!*ai|L+A7+-8H ['/8#D)!w54'#"&547')4U?5&"sF*4S,#A+(vpRh%1UC+1#3!*ai>9II98J-A7+-8H [V?>LL'/8#D)@.+,"*#$!w32&#"32>5!5654&#"&5463J"&>O?O6)BC"K?-Dv:D13JH071A5Dd*(:07,7 '&P9-R&?@5C#3XK\K <\2!33#".54632.#"326=!5654&#"&5462'654&#"#54#"&546326)A$&8TŐBL3}_zB'T9,A WFhQH071@4Dc8&% #")'1# 7,G{ 2!6GB )$/h -M&?A5B$5WK\L' ;;% %K >2!3!5654&#"&5464632&#";2#"'73254+"&)A$&8TH071@4DcU:DU/$C#6-?70N1V,&KS>@(/)'1# 7,G -M&?A5B$5WK\b&;0%&05./&5(,K GR2!3!5654&#"&5464632&#";2#"&547&'73254+"&264&#")A$&8TH071@4DcU:DU/$C#6-?7098B./A,1&KS>@(/#!$%)'1# 7,G -M&?A5B$5WK\b&;0%&0=>1??16 &5(,-&-&$K IVj2!3!5654&#"&5462#"&547&'73254+"&54632&#"32654'#"'2654'#"&547)A$&8TH071@4Dc70;=-# 4H7,&KS>@(/:DU/$C#6-  %533/)'1# 7,G -M&?A5B$5WK\E0>!D$5 G4?"&5(,%&;0%&P." '"#& '".KFP2!3!5654&#"&5462'654&#""&547&#"&5463262654')A$&8TH071@4DcL_Q$:H7F8V5C. ?HU;'$#3&8A")'1# 7,G -M&?A5B$5WK\aFZ0 .H=S=O7FD6P6 .'R* 3`EY',F04G#+KWU_2!3!5654&#"&5462#!"3!!"&546;2654&+""&547&#"&5463262654')A$&8TH071@4DcITB0((v"**"$1C7  G9T6B/:AIO>(!"2!7A")'1# 7,G -M&?A5B$5WK\UFAT3$$D3:F2D099-F+?.F 'P;O&:),;$KX^h2!3!5654&#"&5464632632#!"3!!"&546;254&+532654#""&547&#"&72654')A$&8TH071@4DcP:+!$@./*0''s ,#)WL-E8V5C/:@H!7B")'1# 7,G -M&?A5B$5WK\B;IS$.#73%0;!: 1C/::-?/>/G %&9)-9$K-Wa2!3!5654&#"&5462#"&54632&#"32654&#"#".547&#"&54>3262654')A$&8TH071@4DcQ`j@LO=?6$9QQOaG< F7.$. C1>?H&7-$/#8@*)'1# 7,G -M&?A5B$5WK\vYj0u\Ne3262'654#"#54#"&54632'2654')A$&8TH071@4DcQdnN.6%*:@'ThO?$I:+(E3>>G%. $! .#9C )'1# 7,G -M&?A5B$5WK\ˆew &$.+h[z=Q6H,# R6K8S) 2`%; z ' /'H15I !$KB2!3!5654&#"&5462'654&#"#54&#"&546326)A$&8TH071@4Dc6H -%?(. 9'(1KUJ;7&%)'1# 7,G -M&?A5B$5WK\WB1>*Z+Fѵ&!A0\#.hBY10K@J2!3!5654&#"&5462"&547&#"#54#"&5463262654')A$&8TH071@4DcCZ6V6D+97'4MYJ86%/k6B$)'1# 7,G -M&?A5B$5WK\iJ7EC7S5 ѵHB4Z!-hAZ0/)"O.4E$+KX"Xc2!3!5654&#"&5464>32632#"'7327654'#"&5467&#"#54#"&2654')A$&8TH071@4Dc8 /&5&,;R0<9bH'% <)$; 6+&2>+>",98  NZx"#')'1# 7,G -M&?A5B$5WK\'.B 0.KT2Kf 50=P&( # -M.7B4B$5WJ]K>CO2!3##"&547#5654&#"&54632!5!5654&#"&5462654&#")A$&8T*C-1?)/$*$/@4"1  BH071@4Dc..#-)'1# 7,D20@B.2 2'*!+#:/@( " -M&?A5B$5WK\Q!"-#KERf2!3##"&547#5654&#"&54632!5!5654&#"&5462>54&#"2>4'#"&547)A$&8T(3-# 4H3/$*$/@4"1  BH071@4Dc %(!'41)'1# 7,D%>$5 G4>% 2'*!+#:/@( " -M&?A5B$5WK\z P '< 4"' (".KZ O2!3#"&54632&#"3265!5654&#"&5463235!5654&#"&546)A$&8U`=+fU53*,L:K4/$ *#.AdAlJJ)26)'1# 7,G -M&?A5B$5WK\O@4%)",#:1=<1$9E&:+g;HKGP\2!3!5654&#"&5462##"&547!5654&#"&54623546"354&2654&#")A$&8TH071@4Dc>K)C-0@)/$ *#.AdAlJJ)26&.#$)'1# 7,G -M&?A5B$5WK\O@31?A/34%)",#:1=<1$9E&:+g;Hx$"-%KLU`t2!3!5654&#"&5462##".547!5654&#"&54623546"354&2654'#2654'#"&547)A$&8TH071@4Dc>K%3-# %3/$ *#.AdAlJJ)26.$&4350)'1# 7,G -M&?A5B$5WK\O@ <$5 .< 4%)",#:1=<1$9E&:+g;H  P." '"#& '!/H+/2!3# 47326=!5654&#"&546L^$9PpK[PAfg[QG8.3?4Dc*YJ;(@:b3}r_o@h]?%V8.N/9B3D"2YL[H=K2!3#".547# 4732>=!5654&#"&546264&+"L^$9P:DB2"2 /4[PCkqJX=!5654&#"&5462654&"2>54'#"&'L^$9PY`T=?Q [PCkqJX54')A$&8TH071@4Dc *C4.?.!N6%+6_F0N=54')A$&8TH071@4Dc *77C-1?04.!N6%+6_F0N=54'2654'#"&547)A$&8TH071@4Dc *CA-# 4HH3.!N6%+6_F0N=.c$+w>N@31)?&ѶH5'b$-u@O0.@18(3KVd2!3!5654&#"&5462654'7#"&547&=4&#"#54#"&546326322654&'+)A$&8TH071@4Dc!+Q^08C-0@+7"'"9: %&MWK39$"6.A(#&-$)'1# 7,G -M&?A5B$5WK\>.c$+wN' @1?A/6"E1)?&ѶH5'b$-u@O0.@18(3$$ 0%KXdy2!3!5654&#"&5462654'7#"&547&=4&#"#54#"&54632632264'#"'2654'#"&547)A$&8TH071@4Dc!+Q^5;-# 4H.c$+wS&#E$5 G4E$ ?1)?&ѶH5'b$-u@O0.@18(3v$ P-# '"#& '!/K+g2!3!5654&#"&5462654'7#"54632&#"32>5#"'&'&#"#54#"&54>32632)A$&8TH071@4Dc$0DZ&>; X4G'F4R+>!:^ 6"97'NZ .& 6&!61A)'1# 7,G -M&?A5B$5WK\C1U'LD_,2 341J1ҶH," Z!+m-B 0/Q4.#"#)A$&8TH071@4Dc:"(ZN'& 0!0 :A=9U, 6<:9.(KXI<2%!7p!0K  %)'1# 7,G -M&?A5B$5WK\2OBYb< 5 %$  kPA:C[nK,# F/B=&[(g=J+*`I%*, !Kix2!3!5654&#"&5464&'7"&547#".547327#".=4&#"#54#"&546326323262>54&#"2654'#"&547)A$&8TH071@4Dc<(U`$9DbD1;8jj@:6S&1 2976,&HTE9/$ 3k("g  .'"#'.)'1# 7,G -M&?A5B$5WK\<G?Qj95*,=<-# .\?J=7>UgG2.A,=9#U&`9E('YE#4 I0 -%  &KE,5@2##".547!5654&#"&546323546"!54&2654'#YvE/ "*H8.1A4D`MJc%rm=O#S #//"vb,2B 2!,-O.:B4B$5WK[ZJ9)Vi6WFΠ[p#0 1"K*3>R2##"&547!5654&#"&546323546"!54&2654&"2>54'#"&'Yv ,T=?Q/-H8.1A4D`MJc%rm=O#S %&$*2'1Evb#?AZW?A&-O.:B4B$5WK[ZJ9)Vi6WFΠ[pX# " %5"! 2+KDMS\e2!5654&#"&5463235462#"/32654&+#"'#"&54634632"!54&4&"325#32=#"YvGH8.1A4D`MJc%r0**#!*8.5)'0783+Z 3=O#SA%6 "A}j (?vb-O.:B4B$5WK[ZJ9)Vi7F2 # !!CS227(0!7HWFΠ[p%3/)1&6t#=7KNW^en2!5654&#"&5463235462#"/3254+53254+#"'#"&54634632"!54&4&#"325#32=#"YvGH8.1A4D`MJc%r #G"*8.6*(/6O4*'27=O#S=-  A}k (?vb-O.:B4B$5WK[ZJ9)Vi 6!CR226)27G73WFΠ[p/(/(8Ngi  CT447(0 9F.% WFΠ[p&54'5 %(x5# ?9K@I2!5654&#"&5463235464632&#";2#"'73254+"&"!54&YvGH8.1A4D`MJc%r':DU/$C$5-?70N1T.$MS>@'0F=O#Svb-O.:B4B$5WK[ZJ9)Vi&;0%&/5./&5(-&WFΠ[pK@NWb2!5654&#"&5463235464632&#";2#"'73254+"&2#"&46"!54&264&#"YvGH8.1A4D`MJc%r ;CT0$C#6-?61N1V,&KS>@'0*=*>=&=O#S"# #vb-O.:B4B$5WK[ZJ9)Vi&;0%&/5./&5(-:-&:Z:WFΠ[p"4"+"KKTa{2!5654&#"&546323546"&547&'732654+"&54632&#";2"!54&2654&#"2>54'#"&547#YvGH8.1A4D`MJc%r./IrI%C$%L"1>@'0M1U/$C(1-?+$=O#S$+ & -  $vb-O.:B4B$5WK[ZJ9)Vi)H'5MM56% $&(.#4-0% & $%WFΠ[p[$ % !, ,+K(Q[2!5654&#"&546323546"!54&2'654&#""&547&#"&5463262654'YvGH8.1A4D`MJc%rm=O#S:L_Q$:H7F8V5C. ?HU;'$"2'8A"vb-O.:B4B$5WK[ZJ9)Vi6WFΠ[pbaFZ0 .H=S=O7FD6P6 .'R* 3`EY)*F05F#+KW(`j2!5654&#"&546323546"!54&2#!"3!!"&546;2654&+""&547&#"&5463262654'YvGH8.1A4D`MJc%rm=O#S*IT@2((v"**"%0C7  G9T6B /:AIO>(!"2!7A"vb-O.:B4B$5WK[ZJ9)Vi6WFΠ[p`UF>W3$$D39G2D/:9-F+>/F 'P:P&:)-:$KX(is2!5654&#"&546323546"!54&4632632#!"3!!"&546;254&+532654#""&547&#"&72654'YvGH8.1A4D`MJc%rm=O#SP:+!$@./*0''s-, WL.E8V5C/:@H!7B"vb-O.:B4B$5WK[ZJ9)Vi6WFΠ[p;IS#.#73$';!%: 1C/::-@.>/G %&:(-9$K-(cm2!5654&#"&546323546"!54&2#"&54632&#"32654&#"#".547&#"&54>3262654'YvGH8.1A4D`MJc%rm=O#S?Paj@LO=?6$9QQOaG< F7.$. C1>?H%.! $/#8@*vb-O.:B4B$5WK[ZJ9)Vi6WFΠ[p`wXj0u\Ne32632#"'732>54'#"&5467&#"#54#"&2654'YvGH8.1A4D`MJc%rm=O#S7 /&5&,;R0<9bH&& (: ; 6+&2>+=",98  NZx"#'vb-O.:B4B$5WK[ZJ9)Vi6WFΠ[p.B 0.KT2Kf ':0P&K(S`2!5654&#"&546323546"!54&233##"&547#5654&#"&5462>54&#"YvGH8.1A4D`MJc%rm=O#S"1 ;%! 0@$/$*$/B* .$%vb-O.:B4B$5WK[ZJ9)Vi6WFΠ[p ( # 0*A/0 1#*!+#:1> "&$K(S^r2!5654&#"&546323546"!54&233##".547#5654&#"&5462654&#"2654'#"&547YvGH8.1A4D`MJc%rm=O#S"1 ;-5H3 %5/$*$/B0A!'(!0vb-O.:B4B$5WK[ZJ9)Vi6WFΠ[p ( # &?4G.?& 1#*!+#:1>e') 43 (".K(0<C2!5654&#"&546323546"!54&4632!7354&'4#"6YvGH8.1A4D`MJc%rm=O#S9T&-/*2,Amvb-O.:B4B$5WK[ZJ9)Vi6WFΠ[pc]x).gM<$6TNK (;GNY2!5654&#"&546323546"!54&4632##"&547#7354&'4#"62654'#YvGH8.1A4D`MJc%rm=O#S9T&A/1?&o&-/*2,Am.&11%vb-O.:B4B$5WK[ZJ9)Vi6WFΠ[pc]x0/AA/0).gM<$6TN$2 2$K(>JQ]qs2!5654&#"&546323546"!54&4632##".547#7354&'4#"62654&#"2654'#"&5477#YvGH8.1A4D`MJc%rm=O#S9T*3H3 %3c&-/*2,Am%535/' vb-O.:B4B$5WK[ZJ9)Vi6WFΠ[pc]x">4G.>").gM<$6TN P." '"#& '".JP:C2#".5473265!5654&#"&54623546"!54&^rOn^ 5itg_D(d*bGnDH8/2@4Dc`%oM>M#Tx`4R, +FX{Iwk|VQ5aP-O.:C2B$3XL[ZI9*Tk5[BΟZrJQFOY2#".547#".5473265!5654&#"&54623546"!54&264&#"^rCD*" #2 rl5itg_D(d*bGnDH8/2@4Dc`%oM>M#T2""*x`A4L"3 *"  +FX{Iwk|VQ5aP-O.:C2B$3XL[ZI9*Tk5[BΟZrK#2"J=REN\q#".547#".5473265!5654&#"&5462354632"!54&2654.'#2654&'#"&="GW<+> cW5itg_D(d*bGnDH8/2@4Dc`%oW^r>M#T #"G'#83%/)+( G=@S$5*0% +FX{Iwk|VQ5aP-O.:C2B$3XL[ZI9*Tkx`S[BΟZrL%[02 5 6!-8 %0 KIR[2!5654&#"&546323546#"&=4&#"#"&5463232>54'"!54&2654'YvGH8.1A4D`MJc%r*C4/>,#N5&+6^G:D= QU=O#S(E%vb-O.:B4B$5WK[ZJ9)Vi, ,1"@RA60.>?V.;I8NaH:+Z /!a"WFΠ[p_#&C6%NOKQZgp2!5654&#"&546323546#"&547&=4&#"#"&5463232>54'"!54&2654&#"'2654'YvGH8.1A4D`MJc%r*:5A/1?32,#N5&+6^G:D= QU=O#S &- %(E%vb-O.:B4B$5WK[ZJ9)Vi, ,1"W(!>/AA/=!!D0.>?V.;I8NaH:+Z /!a"WFΠ[p$! $#&C6%NOKW`mv2!5654&#"&546323546#".547&=4&#"#"&5463232>54'"!54&2654'#"''2654'2654'#"&547YvGH8.1A4D`MJc%r*?>$ %D0,#N5&+6^G:D= QU=O#S  "(E%%535/vb-O.:B4B$5WK[ZJ9)Vi, ,1"\'#G..L"!C0.>?V.;I8NaH:+Z /!a"WFΠ[p   !}#&C6%NO." '"#& '".KR[2!5654&#"&5463235462654'7#"&=4&#"#54#"&54>32632"!54&YvGH8.1A4D`MJc%r!+Q^@4/A"'"9: %&MW-% 7&"6.A'7=O#Svb-O.:B4B$5WK[ZJ9)Vi">.c$,v?M@31)?%ѶH5'b$-u*> 0.?28(3WFΠ[pKZcq2!5654&#"&5463235462654'7#"&547&=4&#"#54#"&54>32632"!54&2654'#"'YvGH8.1A4D`MJc%r!+Q^9/=*+=,7"'"9: %&MW-% 7&"6.A'7=O#S".  !vb-O.:B4B$5WK[ZJ9)Vi">.c$,vX$8-::-8E1)?%ѶH5'b$-u*> 0.?28(3WFΠ[p#0  $K\er2!5654&#"&5463235462654'7#"&547&=4&#"#54#"&54>32632"!54&2654'#"'2654'#".547YvGH8.1A4D`MJc%r!+Q^6: 8%6LE)"'"9: %&MW-% 7&"6.A'7=O#S #V: & "-vb-O.:B4B$5WK[ZJ9)Vi">.c$,vS'&F&. K7M&!91)?%ѶH5'b$-u*> 0.?28(3WFΠ[p   #[;*# ! %5*K+(m2!5654&#"&546323546"!54&2654'7#"54632&#"32>5#"'&'&#"#54#"&5462632YvGH8.1A4D`MJc%rm=O#S $0DZ&>; X4G'F/R+= !:]  6"97BNZKl&!61Avb-O.:B4B$5WK[ZJ9)Vi6WFΠ[pVC1U'LD_,2 341J1ҶH:=Z!+m@Z0/QLA$A6X9H [VT=O#Svb-O.:B4B$5WK[ZJ9)Vi'RD@K !L0;<1V*iEVRD@K !L0;<1V*iEVWFΠ[pKCYbn2!5654&#"&5463235462#"&547'654&#"&54622'654&#"&54"!54&2654&#"YvGH8.1A4D`MJc%r+<*> A6,-8H [W|L(|LA$A6,-8H [=O#S,#"+vb-O.:B4B$5WK[ZJ9)Vi#<+&:-+!L0;<1V*iEVRD@.RD@K !L0;=0V*iEWFΠ[p## KD[do2!5654&#"&5463235462#"&547'654&#"&54632%2'654&"&546"!54&2654#"2654'#"&5475YvGH8.1A4D`MJc%r%7 .&7K8A7+.7H [U@>L,>L*(A6X9H [U=O#S.V:" 8 *vb-O.:B4B$5WK[ZJ9)Vi$ .&&8 L6D' !L0;<1V*iEVRD@RD.G!L0;<1V*iEVWFΠ[p .[;*#% %'3*KB =GR233##"&547#5>54.#"#4.#"632#"&5463262654&"%2654&#"eTdUIB21C#? 6%)8S40-;/>=2>Kj\C4o2##2#h$%&'s`HG,/ED0,mQ44-!,$. HR<;IkRuQO#"".#%1.H1K =HZe233##"&547#5>54.#"#4.#"632#"&5463262654&"2654'#"&'%2654&#"eTdUI!-U<@P0#? 6%)8S40-;/>=2>Kj\C4_%&$)92'2Ec$%&'s`HG"ADWW?B&mQ44-!,$. HR<;IkRuQOX8*" %5!" 2+.#%1.H1MOZ%33#".54>32&#"3265!5654&#"#4&#">32#"&54632>322654&#",.4S ;iJBN5eb%?I)N'gP54.#"#4.#"632#"&5463262654&#"2'654&#"#"&54732=46eTdUIm#? 6%)8S40-;/>=2>Kj\C4$%&'4@bP-";<.8DUD&,9Cs`HGmQ44-!,$. HR<;IkRuQOn.#%1.H1EM?w-%Y1>e*/54.#"#4.#"632#"&5463262654&#"2+"3!!"&546;2654&#"#"&546732654&546eTdUIm#? 6%)8S40-;/>=2>Kj\C4$%&'$5  & $$H'!( /:)"6?+4G.1"/;!<s`HGmQ44-!,$. HR<;IkRuQOn.#%1.H1E++'>"20"L9.:` -4H;*H :+6-*#+4KZ2=233!5>54.#"#4.#"632#"&5463262654&#"2+"3!!"&546;254&+532654#"#"&5467326='46eTdUIm#? 6%)8S40-;/>=2>Kj\C4$%&'@:((@6$$Q '' Q D8;05F? #.<"?s`HGmQ44-!,$. HR<;IkRuQOn.#%1.H1F=$-'02(#6!8?70:H;6B  ;*5.#:'/K-2=n233!5>54.#"#4.#"632#"&5463262654&#"2#"5432&#"32654&#"#"&546732=4eTdUIm#? 6%)8S40-;/>=2>Kj\C4$%&'vN{fG4%5LQOa1';<+7E*5!' 0':s`HGmQ44-!,$. HR<;IkRuQOn.#%1.H1CmVo8*vaE\2FTA&] :*/@k1K 2}233!5>54.#"#4.#"632#"&5463262+"32632#"&547'#"&546;2654&"#54&#"632#"&5463264#"32$4#"3%2654&#"eTdUIm#? 6%)8S40-;/>=2>Kj\C4 !*?J$'.$%%  X]#%A8&1"4 6,( %#H6?$""$%&'s`HGmQ44-!,$. HR<;IkRuQO,)$;"L " ) #++##$9D .(+6#$DD.#%1.H1KA2233!5>54.#"#4.#"632#"&5463262#!"3!!"&5463!2654'#"&547'#"&54;2654&#"5#54&#"632#"&54>32>32+"3274#"32$4#"3%2654&#"eTdUIm#? 6%)8S40-;/>=2>Kj\C4Tb<6,&&j '!&'2>%%NJ(%1,' ;6*") $$31K :+ EQ#0:""s$%&'s`HGmQ44-!,$. HR<;IkRuQOn-"!+'!)   + *V/)W 4%.&$/ $$ (>DD.#%1.H1KN2233!5>54.#"#4.#"632#"&546326232#!"3!!"&5463!254#5254+"&547#".54;2654#"#4&#"632#"&54632>2654#"'4"2"3267+&%2654&#"eTdUIm#? 6%)8S40-;/>=2>Kj\C4z &(WoX!!#/!2  k yi9933+#  L@ 3 ..2&+m"$%&'s`HGmQ44-!,$. HR<;IkRuQO4 , L-  &  LV #?R I.-/2.#  !! 7I.#%1.H1K'2233!5>54.#"#4.#"632#"&5463262#"&54632&#"32654&'#"&547'#"&546;2654&#"#54&#"632#"&54>32>32+"3264#"32$4#"3%2654&#"eTdUIm#? 6%)8S40-;/>=2>Kj\C4u9Jt\$_P0H.%3O(+K[%. ()&@J(5!';7*!( $32I <,8G<'1)!!y$%&'s`HGmQ44-!,$. HR<;IkRuQOk@3AQI;0  R410"(N *%%,%#.$7(09V9DD.#%1.H1K 2Yd233!5>54.#"#4.#"632#"&5463262#"/3254&+53254&#"&546%2654&#"eTdUIm#? 6%)8S40-;/>=2>Kj\C4>5/1@6E+$I))DSq$%&'s`HGmQ44-!,$. HR<;IkRuQO-=(/%7 )/ /GJ4?K3Q`A.#%1.H1K 2cr}233!5>54.#"#4.#"632#"&5463262#"&547'62654&+53254&#"&5462654&'+2654&#"eTdUIm#? 6%)8S40-;/>=2>Kj\C4>5/1/1C-/A8 ++$I))DSK&" $B$%&'s`HGmQ44-!,$. HR<;IkRuQO-=(/0!;1?@0B  # /GJ4?K3Q`P$"%&.#%1.H1K2hv233!5>54.#"#4.#"632#"&5463262#".547'632654&+53254&#"&5462654'#"'2654'#"&5472654&#"eTdUIm#? 6%)8S40-;/>=2>Kj\C4>5/1.:-# %E -+$I))DS<  &4350V$%&'s`HGmQ44-!,$. HR<;IkRuQO-=(^$D$5 .L"  $ /GJ4?K3Q` P." '"#& '!/.#%1.H1KP2lw233!5>54.#"#4.#"632#"&546326#"&5432&#"32654&+532>54&#"&54>32%2654&#"eTdUIm#? 6%)8S40-;/>=2>Kj\C4($Q.0(Rq5$<&-72(% $*)4>*:D$%&'s`HGmQ44-!,$. HR<;IkRuQO4O$5 .  2+'3#! )4="6=K388!5s.#%1.H1K 2Wb233!5>54.#"#4.#"632#"&5463262654'7#"'#".547326=32654&#"eTdUIm#? 6%)8S40-;/>=2>Kj\C4%1JUJ58%$5 %-\<,#%:!F$%&'s`HGmQ44-!,$. HR<;IkRuQO+C4V$0gDU11 @,l,+Z3? ϶!(C.#%1.H1K 2cq|233!5>54.#"#4.#"632#"&5463262654'7#"&547&'#".547326=32654.'+2654&#"eTdUIm#? 6%)8S40-;/>=2>Kj\C4%1JU::,<%$5 %-\<,#%:!4" -d$%&'s`HGmQ44-!,$. HR<;IkRuQO+C4V$0gW+A&<+1 1 @,l,+Z3? ϶!("  ..#%1.H1K 2bn233!5>54.#"#4.#"632#"&5463262654'7#".547&'#".547326=32654'"'2654'#"&5472654&#"eTdUIm#? 6%)8S40-;/>=2>Kj\C4%1JUB@M5&8 G$5 %-\<,#%:! ,V: &*#-$%&'s`HGmQ44-!,$. HR<;IkRuQO+C4V$0g]*%L8J .&P$ 1 @,l,+Z3? ϶!( # *[:+# !65+.#%1.H1K8 2=}233!5>54.#"#4.#"632#"&5463262654&#""&5432&#"32>5#"'#".547326=332>54'7eTdUIm#? 6%)8S40-;/>=2>Kj\C4$%&'6N@'"7F230$3/'"77()F ( &@Ds`HGmQ44-!,$. HR<;IkRuQOn.#%1.H1 "/ !@-'22@*n*)]6?ֶL9+U*:BEd3K2r233!5>54.#"#4.#"632#"&546326#".54632.#"32#"'#".547326=332654'2'654#"#54"&546322654&#"eTdUIm#? 6%)8S40-;/>=2>Kj\C44:1_B<;S>N.6%*:2' B%7'$6%5 [;%,/6"'2JW( $%&'s`HGmQ44-!,$. HR<;IkRuQO'O-VT4 &$.+ -*33%7,m+,Y-H϶!+F4X$ ' .#%1.H1K 2=b233!5>54.#"#4.#"632#"&5463262654&#"2'654&#"#54&#"&546326eTdUIm#? 6%)8S40-;/>=2>Kj\C4$%&'6H -%?(. 9'(1KUJ;8%%s`HGmQ44-!,$. HR<;IkRuQOn.#%1.H1EWB1>*Z+Fѵ&!A0\#.hBY10K2=ak233!5>54.#"#4.#"632#"&5463262654&#"2#"&547&#"#54#"&5463262654'eTdUIm#? 6%)8S40-;/>=2>Kj\C4$%&'CZ5,*7D+97'4MYJ86%/k$6B$s`HGmQ44-!,$. HR<;IkRuQOn.#%1.H1EiJ7EC7R6 ѵHC3Z!-hAZ0/#(O.4E$+KX2={233!5>54.#"#4.#"632#"&5463262654&#"4>32632#"'732>54'#"&54>7&#"#54#"&2654'eTdUIm#? 6%)8S40-;/>=2>Kj\C4$%&') /&4'+",98  NZx"+ s`HGmQ44-!,$. HR<;IkRuQOn.#%1.H1.B 0.KS2Ih ':0P&7#5>54.#"#4.#"632#"&5463265#%2654&#"eTdUI)8\7 #? 6%)8S40-;/>=2>Kj\C4h%#$%&'s`H /:-mQ44-!,$. HR<;IkRuQO(:.#%1.H1K| FNZe233##".547!5>7#5>54.#"#4.#"632#"&5463265#2654&#"2654&#"eTdUIE/ ")8\7 #? 6%)8S40-;/>=2>Kj\C4h%##$ "C$%&'s`H,3A 1"- /:-mQ44-!,$. HR<;IkRuQO(:"!+"o.#%1.H1K; DLWju233##"&547#5>7#5>54.#"#4.#"632#"&5463265#2654&"2>54'#"&'2654&#"eTdUI",S>=S.8\7 #? 6%)8S40-;/>=2>Kj\C4h%#%&)(+3&3/{$%&'s`H#@AZW?A' /:-mQ44-!,$. HR<;IkRuQO(:%&X 0%$ &4"! A.#%1.H1K2=z233!5>54.#"#4.#"632#"&5463262654&#"2#"/3254.54>323254&#"&54>32#"&#"326eTdUIm#? 6%)8S40-;/>=2>Kj\C4$%&' %593-(1C0;02/%-E/0&7 ,+3 s`HGmQ44-!,$. HR<;IkRuQOn.#%1.H1!)  ! FP.ES+2J%!  JMY233# $546732>5!5654&#"#4&#"632#".5463262654&#" JcXIBex;(1(ZJsw}}gI<'3SJ4%=&-@1A?4.,f^H6 %( !',gSdC5U2! NuBk2^aF-(N4XGX+$,(6**4GO=;I'L2yPPm-#%0/"%/JXgs#"&547# $546732>5!5654&#"#4&#"632#".54632632332654&#"2654&#"N2 2"3Cq(1(ZJsw}}gI<'3SJ4%=&-@1A?4.,f^H6\JcXIl " Q %( !',8, #*D2 NuBk2^aF-(N4XGX+$,(6**4GO=;I'L2yPPgSdCL$"  O-#%0/"%/J?Ucx"&547# $546732>5!5654&#"#4&#"632#".54632632332654.'"2654&'#".=2654&#"&7;U|Tjw(1(ZJsw}}gI<'3SJ4%=&-@1A?4.,f^H6\JcXI !P:'#8'# $' %( !', T0=VU>1(NuBk2^aF-(N4XGX+$,(6**4GO=;I'L2yPPgSdC_[8* 5 6& & +w-#%0/"%/K 2Zcn233!5>54.#"#4.#"632#"&546326#"&=4&#"#"&5463232654'2654'2654&#"eTdUIm#? 6%)8S40-;/>=2>Kj\C4*C4/>.!N5&+6_F0N=>Q*E%S$%&'s`HGmQ44-!,$. HR<;IkRuQO. ,1"@RA60.>?V.;I8Mb54.#"#4.#"632#"&546326#"&547&=4&#"#"&5463232654'2654&#"'2654'2654&#"eTdUIm#? 6%)8S40-;/>=2>Kj\C4*::C-/A37.!N5&+6_F0N=>Q&."$*E%S$%&'s`HGmQ44-!,$. HR<;IkRuQO. ,1"X'C1?@0>J0.>?V.;I8Mb54.#"#4.#"632#"&546326#"&547&=4&#"#"&5463232654'2654'#"''2654'2654'#"&5472654&#"eTdUIm#? 6%)8S40-;/>=2>Kj\C4*?>$ 4HD0.!N5&+6_F0N=>Q "*E%L433$%&'s`HGmQ44-!,$. HR<;IkRuQO. ,1"\'#G.G4K#!C0.>?V.;I8Mb;254#"#"5463232654&#"&4>32#"&#"32636#Bf(!>.? /^= O W9#A R(*.A9D}8 C %L3$pE5' %K,K'"!/;XjlT/ K6!  JV%#"&5467327654+53254&'&5463232654&#"&54>32#"&#"32632ab(%&*@lD@8H"uZ[R=2) N E1*/@97Q%8;$K'&:M`߷Y{>6nT-W^G-9*102(0 !-FivIAc9# "2('%'$,2J \%2#"&54>32&#"32654.#""#"&5463232654&#"&54>32#"&#'"&#"376s%0'nH3L@@7/-:O]#MS73 .!*G7 :H:) 1D=!32#"&#"32632'2'654#"52#474654#"&54626MjaOt8"h5.I8czF8 2 % I8 60'5>V))6hH.@4%E*4%&5HWY  , 2(+41- #hV=L(&(070-JG&H`vO0VQ0">&7/+cJm(     6#K%2#"&54732>54&#"&546323254.#"&54>32#"&#"^Q "6a>F*I6N$;E=/.&E > 7%86 /,IJ':T',#J U8+>2$ݴj_#3('<'*-:< !1`BQZ 32#"&#"264&+^QEFE/ ") F*IL`;E=/.&E > 7%86 /,IJ':T',#J n4"# U8T>M3A 1"۶j_Q<'<'*-:< !1`BQZ 32#"&#"2654&'2654'#"&'^Q[\U<=SF*IL`;E=/.&E > 7%86 /,IJ':T',#J ]&(%(:3&$-EU8e=cDWW?3%رj_Q<'<'*-:< !1`BQZ ,E/ "*kiJ % 9 "@SFI &eu#//" $8dA-2B 2!,,/6 gp36 4݅{#0 1"M'/9L2##"&547#5463!54&+4&#"62654&"2>54'#"&'%5>,$-U32#"&4632.#"326=!54'%354&#'"654&H+<5dMroQ([ E "UI-[=8,-BUC&00I)}&2I+O^f2##".54632.#"3254'!5462'654#"5#465654#"&546326!54&+4&#"6!~ap7E/dI]6 F$3D 1&k_  d!'+@SFI'e§*:r 5$6HB!"/#% $$ %#2  -% !$0*+%(gp18&.݅{M #G2!546!54&+4&#"62'654&#"#54&#"&546326!7>.Nk % 9 "@SFI &eg6H> ?(. 9'(1KUK:7&$ $8dA,/6 gp36 4݅{WB>K*Z+Fѵ&!A0\#.hCX10M  #GQ2!546!54&+4&#"62#"&547&#"#54#"&5463262654'!7>.Nk % 9 "@SFI &eY=R2'&3?*52#0GRD31#*c 1=" $8dA,/6 gp36 4݅{hJ7DC6Q6 ϴGC2Y!-gBW//#'N.4D",LX  #^j2!546!54&+4&#"64>32632#"'7327654'#"&54>7&#"#54#"&2654'!7>.Nk % 9 "@SFI &e% )#-?''4L9 .!. *"% 0"-+2=F%  $8dA,/6 gp36 4݅{-C 0.K K=Le 5/>P&54&#"#4&#".546326Rl[Ik+3N6(1S3!=Q 3#): lWQ:7}]vOG*u>SG,$;4gN-94?E3dIIIB;H233##".547#5>54&#"#4&#".5463262>4.#"Rl[I A3"1 +3N6(1S3!=Q 3#): lWQ:7  }]vOG.0D)" .*u>SG,$;4gN-94?E3dII.+,I9DV233##"&547#5>54&#"#4&#".5463262654&"2654'#"&'Rl[I$-T=>R0+3N6(1S3!=Q 3#): lWQ:7Z%&$+73&"/E}]vOG$@AZTBC&*u>SG,$;4gN-94?E3dIIX:(" &4' 2+MB233#".54>32&#"326=!5654&#"#4&#"&546326"Sm^Nq?O7f` Q>&R;Qe'g5!5>54.#"#4&#".546326Rk[N)2*#X~*3 6&'1S3!20-$<4hO*;4@D2eJJJQVb#".547#"$&546732>5!5>54.#"#4&#".54632632332654&#"2*" #2 jv)2*#X~*3 6&'1S3!20-$<4hO*;4@D2eJJ}]wNEF$" #J?RTat#".547#"$&546732>5!5>54.#"#4&#".54632632332654.'"2654&'#"&=8 \_)2*#X~*3 6&'1S3!20-$<4hO*;4@D2eJJ}]wNEX%[8* 5 6!-8 +I&082!54>32>354+4&#"6%354+4&#"6c}(BC$4D>3OuMRFI+ jNQFI+ jÖzJl6 ?,,1!FnJ3;%4}FoI3;%4IA(0;EM2#"&547!54>32>354+4&#"6264&#"354+4&#"6c} CbC!W(BC$4D>3OuMRFI+ jz$$ +32>354+4&#"62654&"2654'#"&'354+4&#"6c}%0U<@P3(BC$4D>3OuMRFI+ jM%&$)92'2EfNQFI+ jÖz!BDWW?F"Jl6 ?,,1!FnJ3;%4X8*" %5!" 2+FoI3;%4P*3;DL2#".4>32&#"3265!5&>76326354#4&#"6%354#4&#"6ouCM44MBX82:*ef&U^/{+#LSFI*!jLSFI*!j|f ,! Tk%D99>GmJ49%3|GmJ3:%3EE+274>32#"&5473265!354&+4#"6+;6ݑiB$?Nm #5 ?REGBj<\4 Oi۴gZyG4!- .2 ku26N{E)9@O74>32#"&547"#"&5473265!354&+4#"62654&#"+;6@C*" 0F B$?Nm #5 ?REGBjk""<\4 M1K#3 B4۴gZyG4!- .2 ku26N{G!!$EI+;BNb#".547+"&5473265!54>32354&+4#"62654&'"2654&'#"&=2 $U>+> +B$?Nm+;6ݗ #5 ?REGBj@!")9,8+-/)8 6!=V$5*>+۴gZyG4<\4 `- .2 ku26N{H [9)#5588 (:M  0@HQ2!5462654'7#"&=4&#"#"&54632!54&+4&#"62654'!7>.Nk 0KY=2+;5I1$'4YB6@ % 9 "@SFI &el&A" $8dA(>1a"*rBPC40:2?V-.Nk:KY97B./A:-5I1$'4YB6@ % 9 "@SFI &ew#!$%&A" $8dA(69a"*rZ'A1??1C!C0:2?V-54'#"&547!7>.Nk:KY?;-# $5 3(5I1$'4YB6@ % 9 "@SFI &e\ &A"", 3&#/ $8dA(69a"*ra$$D$5 -# -: !?0:2?V-54&#"2654&#"327.54&#")*CbC  8*7VEK,@T*?WmL%X!-7-.>D"# #0`A1D1#&16 >$1CD0 sSoVV*=4Mx]nBN{vG4:)@UT54&#"2654&+2654'#"&'327.54&#"+;TzS-*7VEK,@T*?WmL%X!-7-.>D& %(:3&3E0`A1D1#&1% A6BYW?3% sSoVV*=4Mx]nBN{54:)@UT32&#"32>7#"'#"&5463263232654'>54&#"%327.54&#"9,0N{R>G3.JG#RH52>\4! F7*7{VEK,@T*?WmL!-7-.>D}i /F/%&11IEncB& !*#$5OE*a xSoVV*=4Mz[nB4:)@UT32'>54&#"%327.54&#"4&"325#32=#"!WmL%Xn8*7VEK,@T*?0*+" !*8.5)'0782*Z !-7-.>D0`A1D1#&1%6 "A}j (?"x]nBN{n sSoVV*=4M7#$1 # !!CS227(0!:E4:)@UT54&#"%327.54&#"4&#"325#32=#"!WmL%Xn8*7VEK,@T*? #G"*8.6*(/6O4*'2!-7-.>D0`A1D1#&1-  A}j (?"x]nBN{n sSoVV*=4M 6!CR226)27G734:)@UT54&#"%327.54&#"2!"&5473254&+532654&+#"'#"&54634632#4&#"325#32=#"!WmL%Xn8*7VEK,@T*?@!-7-.>D0`A1D1#&1V-$%A;" +8.6+'/9M3*-.&" Cl*A"x]nBN{n sSoVV*=4M4:)@UTNgi  DS447(0 9F.% &54'5 %(x5# ?9O.!/?ry%2654'7#"'#"&54632632'>54&#"%327.54&#"2#"&54632&#"32654&+#"'#".546;4632#4&#"26=#'32=#"!WmL%Xn8*7VEK,@T*?@!-7-.>D0`A1D1#&15,#86O!\jz%2654'7#"'#"&546326322'654&#"32#".547##"'#"&546;46323>'>54&#"%327.54&#"2654+'.#"327#32=#"!WmL%Xn8*7VEK,@T*?l ".%S$=?. 6 A;$*) 8.6)'1994**##,!-7-.>D0`A1D1#&11'{# !A~k(?"x]nBN{n sSoVV*=4M6 9$SG6I6G/(%6!420BT227(0!9E0 )7N4:)@UT54.#"32#"&547##"'#"&546;>326'>54&#"%327.54&#"2654&+'.#"327#32=#"!WmL%Xn8*7VEK,@T*?q>T,04( .% " ' 3#+, (/8.6+'08:3** #(!-7-.>D0`A1D1#&1(" !A~k'?"x]nBN{n sSoVV*=4M69*&'&- (1*% .&(1A2CS227(.#9E/"N4:)@UT54&#"%327.54&#"#"&54732654&+532654#"32#"&547##"'#"&546334632>32'4&+326'.#"327#32=#"!WmL%Xn8*7VEK,@T*?@!-7-.>D0`A1D1#&13/ǚ|I0@ ,,*#,2*/'#,43 /&Q  K?9J"%#9n`#7"x]nBN{n sSoVV*=4M4:)@UT54&#"%327.54&#"!WmL%Xn8*7VEK,@T*?,7"9Q%1 4 !-7-.>D0`A1D1#&1"x]nBN{n sSoVV*=4Ms5+- (9$ $14:)@UT54&#"%327.54&#"2654&#"!WmL%Xn8*7VEK,@T*?,7"9#=*+=#%1 4 !-7-.>D0`A1D1#&14"" "x]nBN{n sSoVV*=4Ms5+- /-::-/(9$ $14:)@UT54&#"%327.54&#"2654#"2654'#"&547!WmL%Xn8*7VEK,@T*?,7"9$4 /%&8 4%1 4 !-7-.>D0`A1D1#&1.V:,")$-"x]nBN{n sSoVV*=4Ms5+- 'A&8 /%A'(9$ $14:)@UT54&#"%327.54&#"2654'!WmL%Xn8*7VEK,@T*?^L_Q$:H7F8V5C. ?HU;'$#v!-7-.>D0`A1D1#&1&8A""x]nBN{n sSoVV*=4M3aFZ0 .H=S=O7FD6P6 .'R* 3`EYK4:)@UT54&#"%327.54&#"2654'!WmL%Xn8*7VEK,@T*?iITB0((v"**"$1C7  G9T6B/:AIO>(!"y!-7-.>D0`A1D1#&1!7A""x]nBN{n sSoVV*=4M5UFAT3$$D3:F2D099-F+?.F 'P;OM4:)@UT54&#"%327.54&#"2654'!WmL%Xn8*7VEK,@T*?P:+!$@./*0''s ,#)WL-E8V5C/:@H|!-7-.>D0`A1D1#&1!7B""x]nBN{n sSoVV*=4M;IS$.#73%0;!: 1C/::-?/>/G %&4:)@UT54&#"%327.54&#"2#"&54632&#"32654&#"#".547&#"&54>3262654'!WmL%Xn8*7VEK,@T*?@!-7-.>D0`A1D1#&1Q`j@LO=?6$9QQOaG< F7.$. C1>?H&7-$/#8@*"x]nBN{n sSoVV*=4M4:)@UT54&#"%327.54&#"2654'!2654'!WmL%Xn8*7VEK,@T*?~=RG5D6@/'&.=*1,!>/'%/<$17>I5%"@$<!-7-.>D0`A1D1#&1"3:#3:"x]nBN{n sSoVV*=4M4_E\/ -K=R=Q7EB7R6 ,#(2:R7ED5R676R+ 0bDW<;L4:)@UT54&#"%327.54&#"2654'2654'!WmL%Xn8*7VEK,@T*?LAD2%%s$#':@4 =.&$.:!*3,% <1#%-9)3:BI4# ">+&8!-7-.>D0`A1D1#&1/7 /7"x]nBN{n sSoVV*=4M8Y7B^61#)K97C-K.;;,K' %!)-I/;;-J(>-M %Y:H12P4:)@UT54&#"%327.54&#"2654'2654'!WmL%Xn8*7VEK,@T*? 03)(z (P &,##;.%$,9!*1." :.H,8 !8@F4"!;,$8#8.M!-7-.>D0`A1D1#&1-6-7"x]nBN{n sSoVV*=4M 8'41 $;',' -I/;;,G*$"*-J/;:.J) /K 'W:J32'w4:)@UT54&#"%327.54&#"2#"&54632&#"3254.#"#"&547&#"#54&#"#".547&#"&5463263263262654'!2654'!WmL%Xn8*7VEK,@T*?@!-7-.>D0`A1D1#&1AP&B@$7ET(7,16H 2! @2'"/< L0(! ?2'"< $17=F7# !&= H !/!3;'!3;'"x]nBN{n sSoVV*=4M4:)@UT54&#"%327.54&#"2'654&#"#54&#"&546326!WmL%Xn8*7VEK,@T*?@!-7-.>D0`A1D1#&16H -%?(. 9'(1KUJ;8%%"x]nBN{n sSoVV*=4M4:)@UT*Z+Fѵ&!A0\#.hBY10O!/?bl%2654'7#"'#"&54632632'>54&#"%327.54&#"2"&547&#"#54#"&5463262654'!WmL%Xn8*7VEK,@T*?@!-7-.>D0`A1D1#&1CZ6V6D+97'4MYJ86%/k6B$"x]nBN{n sSoVV*=4M4:)@UT54&#"%327.54&#"462632#"'732>54'#"&5467&#"#54#"&2654'!WmL%Xn8*7VEK,@T*?@!-7-.>D0`A1D1#&1`Nj&,;R0<9_K&& (: ; 6+&2>+>",98  NZx"#'"x]nBN{n sSoVV*=4M4:)@UT54&#"%327.54&#"233!5654&"&546!WmL%Xn8*7VEK,@T*?@!-7-.>D0`A1D1#&1="1 ;/$<+$/@"x]nBN{n sSoVV*=4M4:)@UT54&#"%327.54&#"233##"&547#5654&"&5462>54&#"!WmL%Xn8*7VEK,@T*?@!-7-.>D0`A1D1#&1="1 ;%! /A$/$<+$/@, .#%"x]nBN{n sSoVV*=4M4:)@UT54&#"%327.54&#"233##".547#5654&"&5462654&"2654'#"&547!WmL%Xn8*7VEK,@T*?@!-7-.>D0`A1D1#&1="1 ;-5-# %5/$<+$/@&0A!'40"x]nBN{n sSoVV*=4M4:)@UT54&#"%327.54&#"233#"&4632&#"3265!5654&#"&546!WmL%Xn8*7VEK,@T*?@!-7-.>D0`A1D1#&1?"1 002(iV43*+L/"54&#"%327.54&#"4632!7354&'4#"6!WmL%Xn8*7VEK,@T*?@!-7-.>D0`A1D1#&1r9T&-/*2,Am"x]nBN{n sSoVV*=4M4:)@UT54&#"%327.54&#"4632##"&547#7354&'4#"62654'#!WmL%Xn8*7VEK,@T*?@!-7-.>D0`A1D1#&1r9T&C-1?&o&-/*2,Am.&11%"x]nBN{n sSoVV*=4M4:)@UT54&#"%327.54&#"4632##"&547#7354&'4#"62654&#"2654'#"&5477#!WmL%Xn8*7VEK,@T*?@!-7-.>D0`A1D1#&1r9T*3-# 4H3c&-/*2,Am&4350& "x]nBN{n sSoVV*=4M4:)@UT$5 G4>").gM<$6TNP-# '"#& '!/O,!/?^is%2654'7#"'#"&54632632'>54&#"%327.54&#"432#".54632&#"326=#7354&#'"654&!WmL%Xn8*7VEK,@T*?@!-7-.>D0`A1D1#&1vCV37H7C;7N<(#$(30,_ t "x]nBN{n sSoVV*=4M4:)@UT%$bQA!(1tS[!O9'5<L%2654'73!5>7&'#"&54632632'>54&#"5327.54&#"!WmL%X`53Q**7VEK,@T*?@!-7-.>D*7#6#0`A1D1#&1"x]nBN{KYC sSoVV*=4M4:)@UT7&'#"&54632632'>54&#"5327.54&#"2654&'#!WmL%X`5 *" "1 Q**7VEK,@T*?@!-7-.>D*7#6#0`A1D1#&12#"x]nBN{K+"2 )" +YC sSoVV*=4M4:)@UT7&'#"&54632632'>54&#"5327.54&#"2654&#"2>54'#"&'!WmL%X`5,S>=S.Q**7VEK,@T*?@!-7-.>D*7#6#0`A1D1#&1.%%C*3&3E"x]nBN{K&?CXW?A)YC sSoVV*=4M4:)@UTH2#"/2654&+532654&#"#"&547&#"&5463262654'5:W'KQ4!(F)' !!%7A<6lSB?Qi $M`^!jua>8>W(6V\. /% :$S (! 44&#*-."$8\wSjeRvTrV}?Lg$$rI9lHIs7CJ4AK2#"$54732654+53254.#"#"&547&#"&5463262654'XsCGvnO E쯇7%%- 4#=6lTA@Pi!"N`^ kua?8K%#".54632&#"32>54'#"&546;&#"&546322654'&#"]x7@+fQO=.@kk>Z.SD9D[I0V3@+bwa9#+5;J"V  *!&';cg9Fa|NAMjL(V:y<Jk%#%!!,P;@Y/"3ME$/2!!3##".547!546"!54&2654'#^uSE/ "*Dsv@U(P#//"j/G,2B 2!,l0UC6%N[#0 1"M"-A2!!3##"&547!546"!54&2654&"2>54'#"&'^uS ,T=?Q/ksv@U(P%&$*2'1Ej/G#?AZW?A&l0UC6%N[ X# " %5"! 2+J-474632!!3#".54>32&#"326=4&5!"!4J[j^S6`M@L4bVKF&R%YZ$QONC)yB@O: % (*:Q_>6M4=CKT2!!3!5462#"/32654&+#"'#"&54634632"!54&4&"325#32=#"^uSs0*,!!*8.5)'0784*Z @U(P%6 "A}j (?j/Gl7#$1 # !!CS227(0!6I"UC6%N[%3/)1&6t )#=7M=FMU^2!!3!5462#"/3254+53254+#"'#"&54634632"!54&4&#"325#32=#"^uSs #G"*8.6+(/6O4*%3@U(P-! A}j(?j/Gl 6!BS226)27G64"UC6%N[/(2%9Ngi  CT447(0 9F.% &54'5 %(x5# ?9M.IPYb2!!3!546"!54&2#"&54632&#"32654&+#"'#"&546;4632#4&#"26=#'32=#"^uSsv@U(P,"86IGP[bir2!!3!5462'654&#"32#"&547##"'#"&546;46323>"!54&2654+'4&#"325#32=#"^uSs|-B S$=?. 6 A;*$+)8.6+'1994**# $+@U(P~1' % !B~k(?j/Gl+&7,SG6I5H/(%6&/S!CS228'0!9E0 )8UC6%N[T<*&%27 1'5s3%=6=Xalsz2!!3!5462#"/3254+57>54&#"32#"&547##"'#"&546;>326"!54&264&+'.#"327#32=#"^uSs>T,04( .% 7' 3#+*"(/8.6,'08:3** #@U(Pt(" !A~k'?j/Gl+8+''&- (1*%! .&(1A2AU227(.#9E/!UC6%N[T0! $,&16!1'5s3&=6K&bkry2!!3!546"!54&#"&54732654&+532654#"32#"&547##"'"&546;>32>32'#3254'4.#"325#32=#"^uSsv@U(PX.*l B2'## '.%*B'./)"I  M.0G!& 03bV 1j/Gl0UC6%N[TPoSM?OiT>&L(%0#)1@3 CQ//6)."8E}?A?2,=N57 "%T1)1p1";5M:2!!3!546"!54&2'654&#"#"&54732=46^uSsv@U(P5?bP-";=-8DUD&,9@j/Gl0UC6%N[YN>w-&X1>e*/54'#".547^uS'8I97K8%1 3&-6"sv@U(P$.+-! "-$j/'&E5MK7E&(9$ %06*/l0UC6%N[.[$ % , %5+M8AK2!!3!5462'654&#"#"&547&#"&546326"!54&2654'^uSsjL_Q$:H7F7,+5C. ?HT<'$!@U(PV'8A"j/Gl.aFZ0 .H=S/F 'P;OUC6%N[&;(-:$MXPYc2!!3!5464632632#!"3!!"&546;254&+532654#"#"&547&#"&"!54&2654'^uSsUN<+!$@./*0''s5#)W L.E7,+5C/:@H!@U(Pa!7B"j/Gl9KS#.#73#0;!: 1C09:-@.>/G %}UC6%N[&:(-9$M-PZ2!!3!546"!54&2#"&462&#"32654&#"#".547&#"&54>3262654'^uSsv@U(PPaj?MM~6$9QQOaG< F7.$. C2=?H%.! $/#8@*j/Gl0UC6%N[\wXj.0u\Ne.;08*"!)6 '*' 7*"!)5 ?07@/#95@U(Pw,-3-3j/Gl._F]/ -L?Q>Q7FD6U4 -"(2;R7FC7R7@CT* 0cEW==UC6%N[W.'I15J#./'I15J$-MUgpz2!!3!5462#!"3!!"&5463!2654&#"#"&547&#"#54&#"#"&547&#"&546326326326"!54&2654'2654'^uSs.: +.6#0.65(! '2 $,+ 3) '1 $,29>.6& 1@U(P)0((0j/Gl(1<"/9'60$%K80I-I.;8.K'$'"-H/::-J'<.M $Y9H12UC6%N[~!&A%(B%( B$*@MTqz2!!3!5462#!"3!!"&5463!254&#퀆&#"#"&547&#"#54&#"#"&547&#"&546326326326"!54&2654'2654'^uSs)B')-##0$"E !(3)'1 $+' 2' &0"/17;/5$ 1@U(P'/(/j/Gl)'.7&51$$;$,' -I/;9/G*%"*-J0::.J)?/L 'W;I32UC6%N["&B#)@'(!B%*A(M)22!!3!5654&#"&546323!546"!54&^uS/$*$/B2!2 sv@U(Pj/) 1#*!+#:1>' #l0UC6%N[M'6?L2!!3##"&47#5654&#"&546323!546"!54&2654&'#^uS&! /A%/$*$/B2!2 sv@U(P&%j/)0*@` 1#*!+#:1>' #l0UC6%N[$&$$M:COb2!!3##".547#5654&#"&546323!546"!54&2654&#"2654'"&547^uS(5$ %5/$*$/B2!2 sv@U(P &4)>*1j/)&?..@% 1#*!+#:1>' #l0UC6%N[ P." ,* &$,MP9B2!!3# 4732>=!5654&#"&546323!546"!54&^uSzV>5DE/$+$.@42?sv@U(Pj/5G SL@Gjt &2%*")";2=<0$l0UC6%N[MDMZ2!!3#".547# 47326=!5654&#"&5463235!546"!54&2654&+]vS0?25(3 * Qn/$ *$.@42?sv@U(P4"+l/Y,DK-* * !w]&2%*")";2=<0$l0UC6%N[# MCLVk2!!3#"&547# 47326=!5654&#"&5463235!546"!54&2654'2>54'"&547^uS:DC02@  Qn/$ *$.@42?sv@U(P&,$'&<& ?j/Y0K/CD.) * !w]&2%*")";2=<0$l0UC6%N[ & 'Q ," (' $0)M7@2!!3!546"!54&2!5654&#"&546323546"354&^uSsv@U(P>K4/$ *#.B12AlJJ)26j/Gl0UC6%N[[O@3%)"+";1=<1$7G&:+g;HMBKW2!!3!546"!54&2##"&547!5654&#"&546323546"354&2654&#"^uSsv@U(P>K)B.0@)/$ *#.B12AlJJ)26&.$%j/Gl0UC6%N[[O@31?@033%)"+";1=<1$7G&:+g;Hx$"&$MGP[p2!!3!546"!54&2##".547!5654&#"&546323546"354&2654'#2>54'#"&547^uSsv@U(P=L%3 4" %3/$ *#.B12AlJJ)26.$", 3&#/j/Gl0UC6%N[[O@ < $,.< 3%)"+";1=<1$7G&:+g;H  P#!  '"4 '".M?HQ2!!3!546233#5>54&#"#54&#"632#"&546326"!54&3254&"^uSs 4?6-'1 4+g &'&'/SB:*!^@U(P($j/Gl3M@W.F8:2#05)(0E8Ni65UC6%N[26!MKTaj2!!3!546233##".547#5>54&#"#54&#"632#"&546326"!54&2654&#"$3254&"^uSs 4?6-+25(3 +e'1 4+g &'&'/SB:*!^@U(P!"M($j/Gl3M@W.5K-*5F8:2#05)(0E8Ni65UC6%N[$+ #26!MR[f|2!!3!5462363233##".547#5>54&#"#54&#"632#"&546326"!54&2>54#"2654'#"&5473254&"^uSs 4?6; 4-*2H3 %2?'1 4+g &'&'/SB:*!^@U(P+/(84'"*)e($j/Gl3M@W.$@4G.@$F8:2#05)(0E8Ni65UC6%N[,*W8($ '!34 "%26!M+22!!3!5464632!"!54&354&'4#"6^uSs9Tr@U(P&-/*2,Amj/Glmc]xUC6%N[).gM<$6TNM !*6=H2!!3!5464632##"&547#"!54&354&'4#"62654'#^uSs9T%A/1?%nr@U(P&-/*2,Am.&11%j/Glmc]x0/AA/1UC6%N[).gM<$6TN$2 2$M$-9@L`b2!!3!5464632##".547#"!54&354&'4#"62654&#"2654'#"&5477#^uSs9T*3H3 %3cr@U(P&-/*2,Am%535/' j/Glmc]x">4G.>"UC6%N[).gM<$6TN P." '"#& '".M 7AJ2!!3!54#"&=4&#"#"&5463232>54'"!542654'~_S)*C4/>,#N5&+6^G:D= Q)<(`(E%G/ ,1"@RA60.>?V.;I8NaH:+Z /!a"136V#&C6%NOM >HV_2!!3!54"&547&=4&#"#"&5463232>54'"!542654&'+'2654'~_S)*38B\B,5,#N5&+6^G:D= Q)<(# .%(E% G/ ,1"S'B1??17" G0.>?V.;I8NaH:+Z /!a"136-& 0$#&C6%NOM EO\ey2!!3!54#".547&=4&#"#"&5463232>54'"!542654'#"''2654'2654'#"&547~_S)*??$ %D1,#N5&+6^G:D= Q)<( !(E%%53&#/ G/ ,1"]%$G..K"!D0.>?V.;I8NaH:+Z /!a"136   !}#&C6%NO." '"4 '".LB,8233##".547#5654&#".5462654&#")\{SSB2"1 kZBFT+ )7z +##y\G,/E)" +NcL_bJ'51!AD/d+ "#L*4H233##"&547#5654&#".5462654&"2>54'#"&')\{SS%-T=?Q/kZBFT+ )7zX.%&C*2'1Ey\G"AAZW?B&NcL_bJ'51!AD/dv# " %5"! 2+H9233#"5432&#"32>5!5>54.#".546*^rQS 1V9G912-< 09/0HV>$$,{p_uXG 9@.KJ%&'6?."i:*>bKEW 5P.fI/c2233#"$5473265!5>54.#".546aqQNXHj19?+CZA#(7s^tXC^p激m_qPB$j700]NFZ@C0jIl<I233"&547#"$5473265!5>54.#".5462654&#"aqQN?HCbC04XHj19?+CZA#(7!" s^tXCM5O1CD0 激m_qPB$j700]NFZ@C0j$#+IOm=J\233#"&547#"$5473265!5>54.#".5462654&#2654'#"&'aqQNV`U<>RXHj19?+CZA#(7e# $,65$#/Es^tXC[8eDWV@+"激m_qPB$j700]NFZ@C0j&X9)" '3) 2+LIR233!5654&#".546#"&=4&#"#"&5463232>54'2654')\{SSvkZBFT+ )7z*C4/>,#N5&+6^G:D= Q(E%y\GNcL_bJ'51!AD/d. ,1"@RA60.>?V.;I8NaH:+Z /!a"#&C6%NOLP^g233!5654&#".546"&547&=4&#"#"&5463232>54'2654&'+'2654')\{SSvkZBFT+ )7z*38B\B,5,#N5&+6^G:D= Q# .%(E%y\GNcL_bJ'51!AD/d. ,1"S'B1??17" G0.>?V.;I8NaH:+Z /!a"h-& 0$#&C6%NOLVcx233!5654&#".546#".547&=4&#"#"&5463232>54'2654'#"'2>54'#"&547'2654')\{SSvkZBFT+ )7z*=@ 4" %B2,#N5&+6^G:D= Q ", 3&#/(E%y\GNcL_bJ'51!AD/d. ,1"[&#I $,.J"!E0.>?V.;I8NaH:+Z /!a"   P#!  '"4 '".#&C6%NOL9&.233!5>7#5654&#".5465#)\{SS>9[8kZBFT+ )7zJ%#y\ /9.NcL_bJ'51!AD/d(:L}5=J233##".547#5>7#5654&#".5465#2654&'#)\{SS*" "1 9[8kZBFT+ )7zJ%##"y\+"2 )" + /9.NcL_bJ'51!AD/d(:###"L<08CW233##"&47#5>7#5654&#".5465#2654&"2>54'#"&')\{SS(T=AO+9[8kZBFT+ )7zJ%#%&$*3&3Ey\&32632#!"3!!"&5463!2654&'#"&5467&#"#"&54>732652654'[$;>"sJ]=?ZD" .?<-9>SL6PA;OPM-H8C[HRb >+'5!/' $:%,8S17Q)\FE_]zI6(*:lMF` 7kA\KIOe~_7HC:@,2J!BJD7G; G:1@I]g3!!"&5463!2654#5254&##"&54>7&#"#"&54>732654>32632#!"3254'|#,=15#/WXV>"U?:L 2++A.:[HQc =,&5 9'0.(O6gKA W:"5)I AFK9)G-%N(K.?7@_|\E+K1 6:F'IOe~_8H@9@.2>*Uz"@=$KTDA# /%:21D}M>OMUb%#".54>32&#"32654.'#"&5467&#"#"&54>732654>326322654'ަAN53L@dD8D=QK7<(N>8JHF!L<9ZIQc =,&5!/' 0.(O7oF g}$,)8*s!"$#;.'03]~]H?oBgNf~_8H@8A-2I"Uz"><$YK>A8)5"-=J^EP233!532654&#"#"&547&#"#"&54>7326=4>3262654'I\cSFUC6@@0*6H+.5TEUg =,&5I;#7+6'22)B.4DwXED#kXLc7d>SS>YAXJSSd`7JB8@+Ld:DN.J) 15U00U*-JCfO_j233#"&547!532654&#"#"&547&#"#"&54>7326=4>3262654.+"2654'I\cSCbCfFUC6@@0*6H+.5TEUg =,&5I;#7+6'22)Z"*{.4DwXED-1CD0+#kXLc7d>SS>YAXJSSd`7JB8@+Ld:DN.J) #  15U00U*-JgP[mx233##"&547!532654&#"#"&547&#"#"&54>7326=4>3262654&"2654'#"&'2654'I\cS$-U<@P/FUC6@@0*6H+.5TEUg =,&5I;#7+6'22)0%&$+72'#/E.4DwXED#@DWW?B&#kXLc7d>SS>YAXJSSd`7JB8@+Ld:DN.J) X:($ $6) 2+L15U00U*-I_i%!3#".54>32&#"3265!53>54&#"#"&547&#"#"'&546732674>76326322654'8+S~@K46N=PJ ]4JI5lU.9L?@@0+5H. *YDR63R>w 9'3%0V?%)?Rg$4D ;xGov  %b\#h9Ng7d9OM;YA$HO8LhE?TG&V|/:'RU+,?6t6'U00U'6J[fq%4632#"&547&#"532654&#"#"&547&#"#"&54>7326=4>326323&2654&'%2654'udaFCPB8Jo#Od_FUC6@@0*6H+.5TEUg =,&5I;#7+6'22)?I\c<'1%f0.4Df{QL`XtWGZpTy:#kXLc7d>SS>YAXJSSd`7JB8@+Ld:DN.J) wXETB@F>TTc2@Y15U00U*-Jh3!!".54>3!2>54.'#"&54>7&#"532654&#"#"&547&#"#"&54>7326=4>32632!&547632632#!"%2654'%2654':+--+>V);'&O;=P1#%-4L#_FUC6@@0*6H+.5TEUg =,&5I;#7+6'22)?I\c<@?Z\Cf*)#&SS>YAXJSSd`7JB8@+Ld:DN.J) wXETi[CCCi~`|R2S:X42AX15U00U*-JG2#!"3!!"&54>3!2654&+532654&+#"&54>7&#"!532654&#"#"&547&#"#"&54>7326=4>326323&54>3263254'2654'l]z@DM9%/ ) `&#% (Q: 'Q@9L1(%4*C&_FUC6@@0*6H+.5TEUg =,&5I;#7+6'22)?I\c< -R3_D-&M"A=.4D|YC<"`.8$I?. $&*!<*./@BMUs`F*H0 %"/:*y:#kXLc7d>SS>YAXJSSd`7JB8@+Ld:DN.J) wXETi1B7&H2CJ:QK15U00U*-J%4632#".54>32&#"32>54.'#".54>7&#"!532654&#"#"&547&#"#"&54>7326=4>326323&2654'%2654'fxB>T! _f4K@SM99+"\f'7V4" 1&RC %/ E3&HK547,FUC6@@0*6H+.5TEUg =,&5I;#7+6'22)?I\c>%#0#2 ,.4Dhr Q^3 %)>TO(=I 9Zy D/+>09:8O7k #kXLc7d>SS>YAXJSSd`7JB8@+Ld:DN.J) wXEXDM:82 4$(JW15U00U*-M-R\2#"&547&#"#"&54>7326=462'654&#"#54&#"&546326'3254&'iPA8Px(*4G[HRb >+'5!/' $:i6H'$?(. 9"(1KUJ;7&$7?MlÔtVnWG`"`GIOe~_7HC:@,2J!BJCZi'WB,F *Z+Fѵ 'A0\#.hAZ10:8{(lWM-Q[e2#"&547&#"#"&54>7326=462#"&547&#"#54#"&546326'3254&'2654'iPA8Px(*4G[HRb >+'5!/' $:iCZ5,*7D+97'4MYK74'-?Ml}6B#ÔtVnWG`"`GIOe~_7HC:@,2J!BJCZi'iJ7EC7R6 ѵHC3Z!-hCX0/:8{(lW)"O.4E"-MX"-hr}2#"&547&#"#"&54>7326=464>32632#"'7327654'#"&5467&#"#54#"&3254&'2654'iPA8Px(*4G[HRb >+'5!/' $:i /&5&,;R0<9bH'% <)$; 6+&2>+>",98  NZ9?Ml?"#'ÔtVnWG`"`GIOe~_7HC:@,2J!BJCZi.B 0.KT2Kf 50=P&7326=464632!3254&'354&'4#"6iPA8Px(*4G[HRb >+'5!/' $:i'9T4?Ml&..*2,AmÔtVnWG`"`GIOe~_7HC:@,2J!BJCZikc]x:8{(lWy*-gN;$6TNM ->HT[g2#"&547&#"#"&54>7326=464632##"&47#3254&'354&'4#"62654&#"iPA8Px(*4G[HRb >+'5!/' $:i'9T$C-/A#k4?Ml&..*2,Am-&-"$ÔtVnWG`"`GIOe~_7HC:@,2J!BJCZikc]x`@A^:8{(lWy*-gN;$6TN$"-&M-BL]do2#"&547&#"#"&54>7326=464632##"&547#3254&'3632354&'4#"62654&#"2654'#"&5477#iPA8Px(*4G[HRb >+'5!/' $:i'9T#/-# 4H/b4?Ml&N  ...*2,Am&4350& ÔtVnWG`"`GIOe~_7HC:@,2J!BJCZikc]x&:$5 G4:&:8{(lWy*-gN;$6TNP-# '"#& '!/M,-7Ydm2#"&547&#"#"&54>7326=463254&'4>32#".54632&#"326=#7354&#'"654&iPA8Px(*4G[HRb >+'5!/' $:i[?Ml7,-CV37H7C;7N<($%&+8,_(t ÔtVnWG`"`GIOe~_7HC:@,2J!BJCZi:8{(lWG1D KL5;@&"bHJ!5?tS[!H11LY4>32#".547327654'#"&5467&#"#"&54>732652654'&B+HR0-͘e!Zچvfa NA7Jh>$aC4YFOh :*$2 -&':)$&0 "07'p >;Pgz{tcokWbTon&*3_t`DHdIieQc|d4FB6>/0I#R]T3G) 7%,GH1Wdq4>32"&547#".547327654'#"&5467&#"#"&54>732652654'2654&#"&B+HR0-W**CbCbe!Zچvfa NA7Jh>$aC4YFOh :*$2 -&':)$&0 "+* #07'p >;PrY @$1CC1 %gz{tcokWbTon&*3_t`DHdIieQc|d4FB6>/0I#R]T3G) 7%,G 4"Hr1Zgt4>32#"&547#".547327654'#"&5467&#"#"&54>732652654'2654&#"2654'#"&'&B+HR0-{-S>?Q Oae!Zچvfa NA7Jh>$aC4YFOh :*$2 -&':)$&0 "%$+73&1 E07'p >;P^ 6%CXW?!gz{tcokWbTon&*3_t`DHdIieQc|d4FB6>/0I#R]T3G) 7%,GX:(  &4"! 2+M-U_h2#"&547&#"#"&54>7326=46#"&=4&#"#"&5463232654/3254&'2654'iPA8Px(*4G[HRb >+'5!/' $:i*C4/>-"N5&+6_F:D=>Qy?Ml)E%ÔtVnWG`"`GIOe~_7HC:@,2J!BJCZi, ,1"AQA60-??V.;I8MbH:+Z69a":8{(lW$%C6'LOM-]gs|2#"&547&#"#"&54>7326=46#"&547&=4&#"#"&5463232654/3254&'2654&#"'2654'iPA8Px(*4G[HRb >+'5!/' $:i*;9B./A46-"N5&+6_F:D=>Qy?Mlw$!$%)E%ÔtVnWG`"`GIOe~_7HC:@,2J!BJCZi, ,1"Z&B1??1=! H0-??V.;I8MbH:+Z69a":8{(lW3&.&$$%C6'LOM-_iw2#"&547&#"#"&54>7326=46#"&547&=4&#"#"&5463232654/3254&'2654'#"'2654'#"&547'2654'iPA8Px(*4G[HRb >+'5!/' $:i*9F-# 4H=7-"N5&+6_F:D=>Qy?Mlm &4350)E%ÔtVnWG`"`GIOe~_7HC:@,2J!BJCZi, ,1"X'!M$5 G4G"J0-??V.;I8MbH:+Z69a":8{(lWd   P-# '"#& '!/$%C6'LOM-R\e2#"&547&#"#"&54>7326=462#"&547&#"#"&54732=46'3254&'3254'iPA8Px(*4G[HRb >+'5!/' $:iDa5-'6L7?.6CbQ;9G?MlN&.!BÔtVnWG`"`GIOe~_7HC:@,2J!BJCZi'`N8J:0U=25/7APBr+"^92V+;G:8{(lW$$"KH&6Mc-q{2#"&547&#"#"&54>7326=464632#!"3!!"5463!2654'#"&5467&#"#"&54>732653254&'3254'"iPA8Px(*4G[HRb >+'5!/' $:iC4O0+?5*$$IF)5+57 *0".=')!,>.0:%# +(!"q?Ml 0 #%ÔtVnWG`"`GIOe~_7HC:@,2J!BJCZi-7<C61@*7'=+A,G1(+8'5+"+:D:(= <)*4(!J:8{(lWF"J# $M-72#"&547&#"#"&54>7326=463254&'#!"3!!".5463!2654#5254&##".54>7&#"#"&54673265462632%3254'iPA8Px(*4G[HRb >+'5!/' $:i[?Ml`Y'  " 09:7+9)", # ,%,;06A)5P +!:27326=463254&'#"&54>32&#"32654.'#"&5467&#"#"&5467326546326322654'iPA8Px(*4G[HRb >+'5!/' $:i[?Mlm*g#5(B-'*_VYq, 3*&/7&2(%L3H/ ER)*ÔtVnWG`"`GIOe~_7HC:@,2J!BJCZi:8{(lWg rS"/!! =S?.3B,EY5BQA'^#b=58QD;;Zr7#-#9#)M7-7s|2#"&547&#"#"&54>7326=463254&'32=432#"&54732654'#"&5467&#"#"&547%3254iPA8Px(*4G[HRb >+'5!/' $:i[?Ml<@uc0/DB;z@4*%0F'BN:/7BY,!v/)03ÔtVnWG`"`GIOe~_7HC:@,2J!BJCZi:8{(lWH;7sJI7326=46#".547#"&54732654'#"&5467&#"#"&54732=4323254&'32542654&#"iPA8Px(*4G[HRb >+'5!/' $:i#(7* #1:>8s=1(".A&T$ 97326=46#".547#"&54732654'#"&5467&#"#"&547325'4323254&'32542654&#"#2>54'#".547iPA8Px(*4G[HRb >+'5!/' $:i'*@. / #82rf7+$)8$6B3&-8JA37dS(+?Mlj5)+ *.  %#ÔtVnWG`"`GIOe~_7HC:@,2J!BJCZi :!,=& {cA> 5;UjZB:3>3%(3'n,4A6Z"N0-^h<( M:8{(lW$"=H' $J# ! ' KE;AKV%>73##".547!5654&#"&5463235".54>3273"542654'#SE/"1 .H8.1A4D`MJc%/9( 6&B2e5' #//"7G,2B)" ,-O.:B4B$5WK[ZJ9)?* #+RT# _%O g*<. w>#0 1"K9?ITh%>73##"&547!5654&#"&5463235".54>3273"542654&"2>54'#"&'S#-T=?Q0WH8.1A4D`MJc%/9( 6&B2e5' %&$*2'1 /7G"@AZW?A&-O.:B4B$5WK[ZJ9)?* #+RT# _%O g*<. w>X# " %5"! AMLR]%>73#".54>32&#"326='!5654&#"&5463235".54>3273"54=0\H@L4bVJ</C#\G8LKH8-2A4BaNK]$/9(.% B2u7' J1@4 % %193ESEU]F:)?*#4 WU K"Q f). w>K.TZdjr{%>73!5654&#"&5463235".54>322#"/32654&+#"'#"&546346323"544&"325#32=#"SpH8.1A4D`MJc%/9( 6&B20*+"!*8.4)'0784*Z *e5' %6 "A}j (?7G-O.:B4B$5WK[ZJ9)?* #+RT# 7#"3 # !!CS227(0!6I%O g*<. w>%3/)1&6t )#=7K.]cmt{%>73!5654&#"&5463235".54>322#"/3254+53254+#"'#"&546346323"544&#"325#32=#"SpH8.1A4D`MJc%/9( 6&B2 #G"*8.5*(/8M3+%3*e5' -  A}k (?7G-O.:B4B$5WK[ZJ9)?* #+RT#  6!CR226)26H55%O g*<. w>/(/(8v}%>73!5654&#"&5463235".54>3273"54232#!"3!!"&5463!254+53254+#"'#"&54;464&#"325#32=#"SpH8.1A4D`MJc%/9( 6&B2e5' y.9;A#$< w#$)4# +8.5*%1l3c%""Ck*A7G-O.:B4B$5WK[ZJ9)?* #+RT# _%O g*<. w>h=00+5 /%'$5B,,,#C0;k -0+ ,a 5,K..`fpw%>73!5654&#"&5463235".54>322#"&5462&#"32654&+#"'#".546;46323"54.#"26=#'32=#"SpH8.1A4D`MJc%/9( 6&B2,)/0(5, '1>#86K.gmw%>73!5654&#"&5463235".54>322'654&#"32#"&547##"'#"&546;46323>3"542654+'.#"327#32=#"SpH8.1A4D`MJc%/9( 6&B2w-B S$=?. 6 A;*$+)8.6+'1994**# $+Oe5' 1'  " !A~k(?7G-O.:B4B$5WK[ZJ9)?* #+RT# &7,SG6I5H/(%6&/S!CS228'0!9E0 )8L%O g*<. w>\<#&17 1(4s3$=6K.y%>73!5654&#"&5463235".54>322#"/3254+57>54&#"32#"&5465##"'#"&546;463263"542654&+'4&#"325#32=#"SpH8.1A4D`MJc%/9( 6&B2|+> ,04( .% - !43#+0(/8.6+'08:4+* #e5' j($ !B~k'?7G-O.:B4B$5WK[ZJ9)?* #+RT# $ &'&- (1*%#.&/*A2CS227(.#6H/!L%O g*<. w>\" $,$36!1(4s3%=6K`.4>%>73!5654&#"&5463235".54>3273"542#!"3!!"&5463!254&+532654&#"32"&57##"'#"&54;46323>2654&+'4&#"325#32=#"SpH8.1A4D`MJc%/9( 6&B2e5' :M43e ##Y%%Z  28I +3->07/5*%1n3*Z  \.#\&"#Ck *A7G-O.:B4B$5WK[ZJ9)?* #+RT# _%O g*<. w>k1(&2Q/$$:"6 %#*,49F,,+$D.=k/>Dt ,/)!.d5/K*.qw%>73!5654&#"&5463235".54>322#"&54632&#"32654&#"2#".547##"'#"&546;>323>3"542654+'.#"327#32=#"SpH8.1A4D`MJc%/9( 6&B2tC\j'gQ=66.$R6RbC5II9%)$8.6+'08<3*Y# Cye5' 0(z" !@~k'?7G-O.:B4B$5WK[ZJ9)?* #+RT# sXk q[MbW$6!5)# DS227(0!:E5KN%O g*<. w>X= 8'15#1(4t3 =7KG.\blrz%>73!5654&#"&5463235".54>322#"&54732>54&+#"'#"&54;46323"544&"325#32=#"SpH8.1A4D`MJc%/9( 6&B2'3r:.VL`?Z/8.6+&1Z+4+Z -e5' $8 !A|k'?7G-O.:B4B$5WK[ZJ9)?* #+RT# 5,YljfFJN\;435%DS227)P6I%O g*<. w>&20(1(4t%&=7K.ioy%>73!5654&#"&5463235".54>322"&547#"&54732>54&+#"'#"&54;46323"544&"325#2>54&+32=#"SpH8.1A4D`MJc%/9( 6&B2'3FH?b? :.,>L89<- 8.5*&1Z+4+Z -e5' %6!!A| - %'?7G-O.:B4B$5WK[ZJ9)?* #+RT# /'K0D(:9)}_Z>@F*C%3!;I,,.&G0?o%O g*<. w>"++",#.f    60 K.lr|%>73!5654&#"&5463235".54>322#".547#"&54732>54&+#"'#"&54;46323"544&#"325#2654&#'32=#"2654'#".547SpH8.1A4D`MJc%/9( 6&B2&0X(/ 1!"1  |8,WHV%CB'5,1("1V)1(U 'e5' "!>v  &*,)!*_  2-& *   K.OU_%>73!5654&#"&5463235".54>324632&#";2#"'73254+"&3"54SpH8.1A4D`MJc%/9( 6&B2:DT0$C#6-?70N1V,$MS>@'0e5' 7G-O.:B4B$5WK[ZJ9)?* #+RT# &;0%&05./&5(-%O g*<. w>K.X^ht%>73!5654&#"&5463235".54>324632&#";2#"&547&'73254+"&3"542654&#"SpH8.1A4D`MJc%/9( 6&B2:DT0$C#6-?7098B./A,1$MS>@'0e5' &.$%7G-O.:B4B$5WK[ZJ9)?* #+RT# &;0%&0=>1??16 &5(-%O g*<. w>$"&$K.^dn{%>73!5654&#"&5463235".54>322#".547&'73254+"&54632&#"33"542654'#"'2654'#"&547SpH8.1A4D`MJc%/9( 6&B270;=$ %7-$MS>@'0:DT0$C#6-Le5'   %533/7G-O.:B4B$5WK[ZJ9)?* #+RT# 0>"C..@!&5(-$&;0%&%O g*<. w> P." '"#& '".K9.4>m%>73!5654&#"&5463235".54>3273"544>32&#"#"&54632&#"32654/.SpH8.1A4D`MJc%/9( 6&B2e5' *8C%a:.Yl:K=H>K*9Q:?C/#0//#?6LS %7G-O.:B4B$5WK[ZJ9)?* #+RT# _%O g*<. w>,95)I;CjD$+! ='I/K.4>l%>73!5654&#"&5463235".54>3273"542#"&54632&#"32654+"&54632&#";2'654#"#465654#"&54632SpH8.1A4D`MJc%/9( 6&B2e5' EXf=KQ9K+G(7:,LbnT0CL[t;1fu@7G-O.:B4B$5WK[ZJ9)?* #+RT# _%O g*<. w>H;Xl+#!-)% UEe7(*?,'G7     K.Y_i%>73!5654&#"&5463235".54>322#".54732654+"54632&#"33"54SpH8.1A4D`MJc%/9( 6&B20<19?_.8,65M)6?zK-.#N.:0%#!%O g*<. w>K.`fp{%>73!5654&#"&5463235".54>322".547.54732654+"54632&#"33"542654'#SpH8.1A4D`MJc%/9( 6&B20<0.-* +-Ua8,65M)6?zK-.#N.:0%#!%O g*<. w>$0  +K.cis%>73!5654&#"&5463235".54>322#"&547.547;63654+"54632&#"33"542654'+2>54'#"&547#SpH8.1A4D`MJc%/9( 6&B20<.<-$ 4G)O[8,65M =?zK-. (#N.:0%#!%O g*<. w>   +V*&$ '!4.)K.4>JW%>73!5654&#"&5463235".54>3273"542#"&5462>54&#"SpH8.1A4D`MJc%/9( 6&B2e5' yNgiHKa]? &. K75ML7G-O.:B4B$5WK[ZJ9)?* #+RT# _%O g*<. w>^cOMbbHOh 8%8MHpOK.HNXkw%>73!5654&#"&5463235".54>322#"&547#"&5463233"542>54.#"2654&#"SpH8.1A4D`MJc%/9( 6&B23025,<Hd]KNg e5' Y0 8&5M 8#+#"7G-O.:B4B$5WK[ZJ9)?* #+RT# IK<+_KOhbP6-f%O g*<. w>( & &0!I7'1!v# #"K.IOYcp%>73!5654&#"&5463235".54>322#"&547#"&546323"542654#"'2>54&#"2>54'#".5SpH8.1A4D`MJc%/9( 6&B2&. K79IIc]KNg:e5' $.&7 K75ML+ && $7G-O.:B4B$5WK[ZJ9)?* #+RT#  8%6LM5 `JOhcO#!G%O g*<. w>.(< .&8MHpO$ % !!  +K.gmw%>73!5654&#"&5463235".54>322'654&#"#54&#"#54&#"632#"&54>3263263"542654#"SpH8.1A4D`MJc%/9( 6&B2 %-ZB,%7% 67d '*)#'/24@6BYe5' +7G-O.:B4B$5WK[ZJ9)?* #+RT#  C.q,,_9Bڽ!-!08*'3H84M)4301F%O g*<. w>W:8K.jpz%>73!5654&#"&5463235".54>322#"&547&#"#54&#"#54&"632#"&54>3263263"542654'%3254&#"SpH8.1A4D`MJc%/9( 6&B2]%)R18J#,5%6KW.|%>73!5654&#"&5463235".54>324>32632632#"'732>54'#"&467&#"#54&#"#54&"632#"&3"543254'3254#"SpH8.1A4D`MJc%/9( 6&B2k"2)7(53"6H41T=$  %-53 ,.--#2(2(>,"')%-Le5'  ,  B&%7G-O.:B4B$5WK[ZJ9)?* #+RT# ^6N$4301M Z5Lf B,K%F>8XM+%չ(#" 2"/:),(D9%O g*<. w>%U, +1'56KKQ[%>733!5654&#"&546323!5654&#"&5463235".54>3273"54S/$*$/B2!2 H8.1A4D`MJc%/9( 6&B2e5' 7J 1#*!+$91>' "-O.:B4B$5WK[ZJ9)?* #+RT# _%O g*<. w>K#Y_iv%>733##"&547#5654&#"&546323!5654&#"&5463235".54>3273"542>54&#"S(! /A'/$*$/B2!2 H8.1A4D`MJc%/9( 6&B2e5' .$%7J1*A/2 1#*!+$91>' "-O.:B4B$5WK[ZJ9)?* #+RT# _%O g*<. w> "&$K[akv%>733#".547#5654&#"&546323!5654&#"&5463235".54>3273"542654'#2654'#"&547S*1$%1/$*$/B2!2 H8.1A4D`MJc%/9( 6&B2e5'   &4) )17J%:..;$ 1#*!+$91>' "-O.:B4B$5WK[ZJ9)?* #+RT# _%O g*<. w> ! !P." ,+ &$,KM\bl%>73#"&54632&#"325!5654&#"&546323!5654&#"&5463235".54>3273"54S;VV43*+LQe/$*$/B2"1 H8.1A4D`MJc%/9( 6&B2e5' 7 z4'*"+#:3<' $-O.:B4B$5WK[ZJ9)?* #+RT# _%O g*<. w>KRY_i%>73# 4732>=!5654&#"&546323!5654&#"&5463235".54>3273"54SzV>5DE/)+$.@42?H8.1A4D`MJc%/9( 6&B2e5' 75G SL@Gjt &2$*")";2=<0$-O.:B4B$5WK[ZJ9)?* #+RT# _%O g*<. w>K.flv%>73!5654&#"&5463235".54>322353#"&547#"&547326=!5654&#"&5463"542>4.#"SpH8.1A4D`MJc%/9( 6&B2V2?77BA/0@>5~Qo/$ *$.C>e5'  %%7G-O.:B4B$5WK[ZJ9)?* #+RT# 7. /C,<<,!s`LG>?M^)!.")'!6/8|%O g*<. w>."!K.kq{%>73!5654&#"&5463235".54>32#".547#"&547326=!5654&#"&546323533"542654&#"2654'#"&547SpH8.1A4D`MJc%/9( 6&B27-# %-70sId+"&*;-.91Ne5' %535/7G-O.:B4B$5WK[ZJ9)?* #+RT#  :0$5 .:$cRB=47BQ#(!!/(1/'2B%O g*<. w> P." '"#& '".K.NT^g%>73!5654&#"&5463235".54>322!5654&#"&5463235463"54"354&SpH8.1A4D`MJc%/9( 6&B2{>K4/$ *#.B12AlHxe5' )267G-O.:B4B$5WK[ZJ9)?* #+RT# O@3%)"+";1=<1$6HL%O g*<. w>=:+g;HK.Z`js%>73!5654&#"&5463235".54>322##"&547!5654&#"&5463235463"54"354&2654&#"SpH8.1A4D`MJc%/9( 6&B2{>K#-*,<#/$ *#.B12AlHxe5' )26!"7G-O.:B4B$5WK[ZJ9)?* #+RT# O@/'3 <+03%)"+";1=<1$6HL%O g*<. w>=:+g;H$+ #K.[akt~%>73!5654&#"&5463235".54>322##"&547!5654&#"&5463235463"54"354&2654#"2654'"&547SpH8.1A4D`MJc%/9( 6&B2{>K,6 8%7J6/$ *#.B12AlHxe5' )268-2*:%P%,87G-O.:B4B$5WK[ZJ9)?* #+RT# O@"= #*E1="3%)"+";1=<1$6HL%O g*<. w>=:+g;H ))R5&  211&5K.6<FRY%>73!5654&#"&5463235".54>324632!3"54354&'4#"6SpH8.1A4D`MJc%/9( 6&B29Te5' &-/*2,Am7G-O.:B4B$5WK[ZJ9)?* #+RT# Uc]xr%O g*<. w>).gM<$6TNK.BHR^eq%>73!5654&#"&5463235".54>324632#".547#3"54354&'4#"62654&#"SpH8.1A4D`MJc%/9( 6&B29T!'-* +-'|e5' &-/*2,Am 6!7G-O.:B4B$5WK[ZJ9)?* #+RT# Uc]x 1'3 2'1 r%O g*<. w>).gM<$6TN$+  K.DJT`gq%>73!5654&#"&5463235".54>324632#".547#3"54354&'4#"62654#"2654'"&5477#SpH8.1A4D`MJc%/9( 6&B29T(1 6J5 1]e5' &-/*2,Am-1*74,5+78 7G-O.:B4B$5WK[ZJ9)?* #+RT# Uc]x&< #-,$ =%r%O g*<. w>).gM<$6TN +*V8'! '!!'2'8T;@FQ%>73# $54673265!5654&#"&5463235".54>3273"54&9z-0*$G:+1A3B`NK]$09(.% ut7' N5p<+AhA1:2ESEU]F9*?*#4 (P#P f). w>TGOU`m#".547# $54673265!5654&#"&5463235".54>32>733"542654&#"0 2"#3 hm-0*$G:+1A3B`NK]$09(.% u9Kt7' "## 8+ #*+" AhA1:2ESEU]F9*?*#4 (N5B#P f). w>V#!" TCCJP[i~"&547# $54673265!5654&#"&5463235".54>32>733"542654.'"2654&'#".=38U|TXS-0*$G:+1A3B`NK]$09(.% u9Kt7' ,P:-8'#!+ Q/=VU>0&AhA1:2ESEU]F9*?*#4 (N5T#P f). w>V[8*%36& "  +LEDQ#".547.=4&#"#4&#"&5463263232654.'2654&#H9S>AE/ "*8ND-)+S8"3',2%nOU91TDd<05A 4&6+* #~fn;J2B 2!$ WGKWK )<5,1J,?;E_yKI`KU>P_I0?7 "L?L_#"&547.=4&#"#4&#"&5463263232654.'2654&'"#2>54'#"&'H=OQSS>=S50=D-)+S8"3',snOU91TDd<05A 4& .&C&0 3&1 E|d9]CXUAH'T=KWK )<5,1JFE_yKI`KU>P_I0?7 $v+'  %5 # 2+IT%2654'7#"&54632&#"3265#"&'&'&#"#4&#".546326329Ig-G}R[}|_^>0@(cuL+CR P+5S3# )# 2$*: pRQ;2RIb52gLiTb.UbH/)"!-!t%+jWP6]yC' O;?X(;2|0RI`q3/S0*'9 slQU91TJ^l6@y0L&3N&&%  # 3#7FB '/#$?bK':3>)<15EZ~KIcD%]K6tF7jrT7' , ;% &L8^dlv#"&=4&#"#4&#"&5463263232654.'2#"/32654&+#"'#"&5463>32#4&"325#32=#"H/>^PGbD-)+S8"3',snOU91TDd<05A 4&O0*+"!*8.5+'0782*X0%6""A}j(?FO1_u`MKWK )<5,1J5E_yKI`KU>P_I0?77#$1 # !!AU227(0!:E%32&1&6t ) =7L8gpw#"&=4&#"#4&#"&5463263232654.'2#"/3254+53254+#"'#"&54634632#4.#"325#32=#"H/>^PGbD-)+S8"3',snOU91TDd<05A 4&n #G"*8.6*(/6O4*%30 ! A}k (?FO1_u`MKWK )<5,1J5E_yKI`KU>P_I0?7 6!CR226)27G64 2%8P_I0?7>=00+5/''$5B,,,#C0;k!,/+ ,a !5,L.8ipy#"&=4&#"#4&#"&5463263232654.'2#"&5462&#"32654&+#"'#"&546;4632#.#"26=#'32=#"H/>^PGbD-)+S8"3',snOU91TDd<05A 4&B-;mp7JPz6"0*(?Sc& 9/5*:'.05+*:2!!;#{!&;FO1_u`MKWK )<5,1J5E_yKI`KU>P_I0?7O9Dt ]F+5AP33/308GE:)/0(5, (0>#86L8ny#"&=4&#"#4&#"&5463263232654.'2'654&#"32#".547##"'#"&546;46323>2654+'4&#"325#32=#"H/>^PGbD-)+S8"3',snOU91TDd<05A 4& ".%S$=?.(1A;*$) 8.6+'1993+V# C1' % !B~k(?FO1_u`MKWK )<5,1J5E_yKI`KU>P_I0?7C 9$TF6I5H;%6&/20CS228'0!9E~4J$<*&%27 1'5s3%=6L8#"&=4&#"#4&#"&5463263232654.'2#"/3254+57>54&#"32#"&547##"'#"&546;46326264&+'.#"327#32=#"H/>^PGbD-)+S8"3',snOU91TDd<05A 4&+> ,04( .% - (8! 3#+0'08.7+'08:4+* ##(" !A~k'?FO1_u`MKWK )<5,1J5E_yKI`KU>P_I0?7C$ &'%. (1*%#'.&0)B1CS227(.#6H/!0! $,&16!1(4s3%=6LV8#"&=4&#"#4&#"&5463263232654.'2#!"3!!"&5463!254&+532654&#"32#"&57##"'#"&54;46323>2654&+'4&#"325#32=#"H-= ^PGbD-)+S8"3',snOU91TDd<05A 4& 9N43e ##Y'&Z 1!X+,&*"*%7/6,&0n3*Y ]/#\%"#Ck*ADP9_u`MKWK )<5,1JIE_yKI`KU>P_I0?7A1(&2Q/"$:#"&,*$);%9F,,+$D.=k/>Dt ,/)#,d "5/L*8{#"&=4&#"#4&#"&5463263232654.'2#"&54632&#"32654&#"2#".547##"'#"&546;>323>2654+'.#"327#32=#"H/>^PGbD-)+S8"3',snOU91TDd<05A 4&C\j'gQ=66.$R6RbC5IG;%)$8.6+'08<3*Y# C 0(z" !@~k'?FO1_u`MKWK )<5,1J5E_yKI`KU>P_I0?7AsXk q[MbW%5!5*" DS227(0!:E5K= 8'15#1(4t3 =7LG8fmu#"&=4&#"#4&#"&5463263232654.'2#"&54732>54&+#"'#"&54;>32#4&#"325#32=#"H/>^PGbD-)+S8"3',snOU91TDd<05A 4&L(2r:.VL`?Z/8.5)&1Z+3*Z 1#!!A|k'?FO1_u`MKWK )<5,1J5E_yKI`KU>P_I0?77*YljfFGQ\;435%BU227)P:E%30(1(4t% =7L8qw#"&=4&#"#4&#"&5463263232654.'2"&547#"&54732>54&+#"'#"&54;>32#4&"325#2>54&+32=#"H/>^PGbD-)+S8"3',snOU91TDd<05A 4&L'3FH?b? :.?^J&GE* 8.4)%2Z+3*Z 1%6!!A| $ %'?FO1_u`MKWK )<5,1J5E_yKI`KU>P_I0?7/'J1D(:9)}_Y>>H5L# ;):K--/%H1>o"++",$-f $   60L8u}#"&=4&#"#4&#"&5463263232654.'#"&547#"&54732>54&+#"'#"&54;463232'.#"327#2>54&#'32=#"2654'#"&547H/>^PGbD-)+S8"3',snOU91TDd<05A 4&S(, 0 1B y6+;WE#B@'5*2'"/T(0(S '$/;t %;F0$'FO1_u`MKWK )<5,1J5E_yKI`KU>P_I0?7 9 $;+$wXT;=A2H! 8&5H**-#C/:i-$Q  -)!,` &3-%+# !L8[e#"&=4&#"#4&#"&5463263232654.'233!5654&#"632#"&546"3254&H/>^PGbD-)+S8"3',snOU91TDd<05A 4&?Z69CA.!0 ("-%+)2U,/FO1_u`MKWK )<5,1J5E_yKI`KU>P_I0?7WS@E8 0K5C1#/6)!6C7Tc65L8kx#"&=4&#"#4&#"&5463263232654.'233##".547#5654&#"632#"&5462>54&#""3254&H/>^PGbD-)+S8"3',snOU91TDd<05A 4&?Z69&! !0 &CA.!0 ("-%+)2U, .",/FO1_u`MKWK )<5,1J5E_yKI`KU>P_I0?7WS@E8 2*) 20K5C1#/6)!6C7TcV "-. 65L8kw#"&=4&#"#4&#"&5463263232654.'233##".547#5654&#"632#"&5462654&#"2654'#"&547"3254&H/>^PGbD-)+S8"3',snOU91TDd<05A 4&?Z69-7 4" %7mCA.!0 ("-%+)2U ?!'&#0,/FO1_u`MKWK )<5,1J5E_yKI`KU>P_I0?7WS@E8 #@ $,.@#0K5C1#/6)!6C7Tc|P') 44 (#-565L8Y#"&=4&#"#4&#"&5463263232654.'4632&#";2#"'73254+"&H/>^PGbD-)+S8"3',snOU91TDd<05A 4&b:DT0$C$5-?70N1V,&KS>@'0FO1_u`MKWK )<5,1J5E_yKI`KU>P_I0?7&;0%&05./&5(-L8ep#"&=4&#"#4&#"&5463263232654.'2#"&547&'73254+"&54632&#"3264&#"H/>^PGbD-)+S8"3',snOU91TDd<05A 4&8703<! .B*6&KS>@'0:DT0$C$5-?#!$%FO1_u`MKWK )<5,1J5E_yKI`KU>P_I0?709D*?16! &5(-$&;0%&-&-&$L8gt#"&=4&#"#4&#"&5463263232654.'2#".547&'73254+"&54632&#"32654'#"'2>54'#"&547H/>^PGbD-)+S8"3',snOU91TDd<05A 4&8708? 4" %6.&KS>@'0:DT0$C$5-$ ", )'"/FO1_u`MKWK )<5,1J5E_yKI`KU>P_I0?70;$G $,.?&&5(-$&;0%&   P#!  *4 &".L8c#"&=4&#"#4&#"&5463263232654.'2#".54732654+"54632&#"3H/>^PGbD-)+S8"3',snOU91TDd<05A 4&10<19?_.8,65M)6?zKP_I0?73#!*,?7D6+7>-.#N.:0%#!L8lx#"&=4&#"#4&#"&5463263232654.'2#"&547.54732654+"54632&#"32654&#"H/>^PGbD-)+S8"3',snOU91TDd<05A 4&10<34! /A$R]8,65M)6?zKP_I0?73#0"<*@01!h:D6+7>-.#N.:0%#!$"&$L8lz#"&=4&#"#4&#"&5463263232654.'2#".547.54732654+"54632&#"32654'#"'2654'#"&547H/>^PGbD-)+S8"3',snOU91TDd<05A 4&10<:9H3 %0LV8,65M)6?zKP_I0?73#3$C4G.=$d8D6+7>-.#N.:0%#!   P." 43 &"L;eo#"&=4&#"#4#"&54>;263232654.'2'654&#"#"&547&#"&5463262654'H/>^PGb>3)+SZ3',s,@4o%1TL\4'6@6'L_Q$:H7F6-+5C. ?HU;'$"2'8A"FO1_u`MUES );J,1J5E>\+KIhVU44`H,A;FaFZ0 .H=S^PGbD-)+S8"3',snOU91TDd<05A 4& ,@"B0((v"*)##2C7  G8+*6B .;AIN?(!#3!7A"FO1_u`MKWK )<5,1J5E_yKI`KU>P_I0?7D12?V3$$C49G3C/:9-F+@-G 'P:P&;(-:$LX8z#"&=4&#"#4&#"&5463263232654.'4632632#!"3!!"&546;254&+532654#"#"&547&#"&72654'H/>^PGbD-)+S8"3',snOU91TDd<05A 4&N<+!$@./*0''s5#)W L.E7,+5C/:@H!7B"FO1_u`MKWK )<5,1J5E_yKI`KU>P_I0?79KS#.#73#0;!: 1C09:-@.>/G %&:(-9$L-8s}#"&=4&#"#4&#"&5463263232654.'2#"&54632&#"32654&#"#".547&#"&54>3262654'H/>^PGbD-)+S8"3',snOU91TDd<05A 4& Paj@LO=?6$9QQOaG<F8-$. C2=?H%.! $/#8@*FO1_u`MKWK )<5,1J5E_yKI`KU>P_I0?7DwXj0u\Ne3262'654#"#54#"&546326'2654'H/>^PGbD-)+S8"3',snOU91TDd<05A 4&Qdm<N.5%*:@'ThN@$I9,(E2?>G%. $! 9"9C,FO1_u`MKWK )<5,1J5E_yKI`KU>P_I0?7Aex &$.+hZ{=Q5I,# R6K8S) 2`%; z  ' 1%G24J,%LL8q{#"&=4&#"#4&#"&5463263232654.'2#"&54732>54.#""&547&#"&5463262654'H/>^PGbD-)+S8"3',snOU91TDd<05A 4&G^7mK5!3l>Y.*$ G8V5C/ACGU;)"*;"7>FO1_u`MKWK )<5,1J5E_yKI`KU>P_I0?7DpS$GG,yNG54.#"#"&547&#"&54632632'2654'2654&#"H/>^PGbD-)+S8"3',snOU91TDd<05A 4&W#(=/.> ~3 2j;W-" E8)*3A-/AFQ<&"'(D\!6;",-#FO1_u`MKWK )<5,1J5E_yKI`KU>P_I0?7 7)<9,lG?8>Zp15"7 6H2?<2G29*M$ /U=ReJ]#*!@+-B ')#L8#"&=4&#"#4&#"&5463263232654.'#".547#"&54732>54.#"#"&547&#"&54632632$2654'2654&#"2654'#"&547H/>^PGbD-)+S8"3',snOU91TDd<05A 4&Q*, 0 +8 y0/h:S*6(B5('2>(3 ?CO8!$'%BW0 3: !#1 #%-FO1_u`MKWK )<5,1J5E_yKI`KU>P_I0?79" $,*${dA;2;Sg.0:;2B/98-C-.+E$ *O:J]E`+&:)(? C&,, &L CL2!53546#"&=4&#"#4&#"&5463263232654.'"!54&\uדp/>^PGbD-)+S8"3',snOU91TDd<05A 4&@P#Ryc"WgFO1_u`MKWK )<5,1J5E_yKI`KU>P_I0?7YFιSaLEPYd2##".547!53546#"&=4&#"#4&#"&5463263232654.'"!54&2654'#\uE/ "*p/>^PGbD-)+S8"3',snOU91TDd<05A 4&@P#R "//#yc,3A 2!,"WgFO1_u`MKWK )<5,1J5E_yKI`KU>P_I0?7YFιSa"0 0#LNWdv2##"&547!53546#"&=4&#"#4&#"&5463263232654.'"!54&2654&#"2654'#"&'\u%-T=?Q0p/>^PGbD-)+S8"3',snOU91TDd<05A 4&@P#R%%")92'1 Eyc"ABYW?B&"WgFO1_u`MKWK )<5,1J5E_yKI`KU>P_I0?7YFιSa "X9)" %5 # 2+L Yb2#"&54632&#"3265!53546#"&=4&#"#4&#"&5463263232654.'"!54&\utb|KXI7F_'{^p/>^PGbD-)+S8"3',snOU91TDd<05A 4&@P#Rycvu-$ -"%a^"WgFO1_u`MKWK )<5,1J5E_yKI`KU>P_I0?7YFιSaL8]#"&=4&#"#4&#"&5463263232654.'2'654&#"#54&#"&546326H/>^PGbD-)+S8"3',snOU91TDd<05A 4&"6H -%?(. 9'(1KUK:7&%FO1_u`MKWK )<5,1J5E_yKI`KU>P_I0?7AWB1>*Z+Fѵ&!A0\#/gCX10L8\f#"&=4&#"#4&#"&5463263232654.'2#"&547&#"#54#"&5463262654'H/>^PGbD-)+S8"3',snOU91TDd<05A 4&CZ6+*7D *97'4MYJ86%/k6B$FO1_u`MKWK )<5,1J5E_yKI`KU>P_I0?7AgL7EC7R6 ѵHD2Z!-hAZ0/)"O.4E$+LX8v#"&=4&#"#4&#"&5463263232654.'4>32632#"'732>54'#"&54>7&#"#54#"&2654'H/>^PGbD-)+S8"3',snOU91TDd<05A 4&w /&4'+",98  NZx"+ FO1_u`MKWK )<5,1J5E_yKI`KU>P_I0?7.B 0.KS2Ih ':0P&^PGbD-)+S8"3',snOU91TDd<05A 4&!2 ;/$*$/BFO1_u`MKWK )<5,1J5E_yKI`KU>P_I0?7' $ 1#*!+$91>L"8bn#"&=4&#"#4&#"&5463263232654.'233##"&47#5654&#"&5462654&#"H/>^PGbD-)+S8"3',snOU91TDd<05A 4&!2 ;%! /A$/$*$/B*"!$%FO1_u`MKWK )<5,1J5E_yKI`KU>P_I0?7' $ /*A^ 1#*!+$91>.-&$L8eq#"&=4&#"#4&#"&5463263232654.'233##".547#5654&#"&5462654&#"2>54'#"&547H/>^PGbD-)+S8"3',snOU91TDd<05A 4&!2 ;-5 4" %5/$*$/B %&)'"1FO1_u`MKWK )<5,1J5E_yKI`KU>P_I0?7' $ &? $,.?& 1#*!+$91> P ' ,4 '$,LZ8n#"&=4&#"#4&#"&5463263232654.'233#"&54632&#"3265!5654&#"&546H/>^PGbD-)+S8"3',snOU91TDd<05A 4&+002+fU54),L:P_I0?7  #(:  ?;4)*"+";2=L`8e#"&=4&#"#4&#"&5463263232654.'233# 4732>=!5654&#"&546H/>^PGbD-)+S8"3',snOU91TDd<05A 4&2?7u[>5DE/) *$.@FO1_u`MKWK )<5,1J5E_yKI`KU>P_I0?7;1& 2J SL@Gjt &2$*")$92=L8s#"&=4&#"#4&#"&5463263232654.'2353#"&547#"&547326=!5654&#"&5462654&#"H/>^PGbD-)+S8"3',snOU91TDd<05A 4&2?78A! /A >5Pp/$ *$.?)"!$%FO1_u`MKWK )<5,1J5E_yKI`KU>P_I0?77;1&4!G*A/"{gRMAFRe-#2%*")";2=J.-&$Lv3#".547#"&54732>=!5654&#"&5463235#"&=4&#"#4&#"&5463263232654.'2654'2>54'#"&547H/>-$BJ 4" %! >5(G=/) *$.?52?.@GbD-)+S8"3',snOU91TDd<05A 4& ", 3&#/FO1[;>" P $,./$|fRMAFRe &3$*"+#:2=<0&)`MKWK )<5,1J5E_yKI`KU>P_I0?7  P#!  '"4 '".L8W`#"&=4&#"#4&#"&5463263232654.'2!5654&#"&54623546"354&H/>^PGbD-)+S8"3',snOU91TDd<05A 4&>K4/# *#.BbBlJJ)26FO1_u`MKWK )<5,1J5E_yKI`KU>P_I0?7CO@3$)",";1=<1$7G&9,g;HL8bkw#"&=4&#"#4&#"&5463263232654.'2##"&547!5654&#"&54623546"354&2654&#"H/>^PGbD-)+S8"3',snOU91TDd<05A 4&>K)B./A)/# *#.BbBlJJ)26&."$FO1_u`MKWK )<5,1J5E_yKI`KU>P_I0?7CO@41?@043$)",";1=<1$7G&9,g;Hx$"-&L8eny#"&=4&#"#4&#"&5463263232654.'2##"&547!5654&#"&54623546"354&2654'#2654'#"&547H/>^PGbD-)+S8"3',snOU91TDd<05A 4&>K%3$ 4H3/# *#.BbBlJJ)26.$ L433FO1_u`MKWK )<5,1J5E_yKI`KU>P_I0?7CO@ <.G4< 3$)",";1=<1$7G&9,g;H  P-# '"#& '!L8@LS#"&=4&#"#4&#"&5463263232654.'4632!7354&'4#"6H/>^PGbD-)+S8"3',snOU91TDd<05A 4&9T&-/*2,AmFO1_u`MKWK )<5,1J5E_yKI`KU>P_I0?7c]x).gM<$6TNL 8JV]g#"&=4&#"#4&#"&5463263232654.'4632##"&47#7354&'4#"62654'#H/>^PGbD-)+S8"3',snOU91TDd<05A 4&9T&A/0@&o&-/*2,Am6%11FO1_u`MKWK )<5,1J5E_yKI`KU>P_I0?7c]x1/A@`).gM<$6TN%2 2L8P\co#"&=4&#"#4&#"&5463263232654.'4632##".547#7354&'4#"62654&#"2>54'#"&5477#H/>^PGbD-)+S8"3',snOU91TDd<05A 4&9T*3 4" %3c&-/*2,Am", 3&#/' FO1_u`MKWK )<5,1J5E_yKI`KU>P_I0?7c]x"> $,.>").gM<$6TN P#!  '"4 '".L,8Zen#"&=4&#"#4&#"&5463263232654.'4>32#".54632&#"326=#7354&#'"654&H/>^PGbD-)+S8"3',snOU91TDd<05A 4&},-CV38J5B;7N;)#$(30,_(t FO1_u`MKWK )<5,1J5E_yKI`KU>P_I0?71D KL6: >%$bPB!5?tS[!M1bH#"$5473 7#".=4.#"#4&#"&5463263232654'=IIov[$V %#.C 11$:S6#MgTcu#"&547#"$5473 7#".=4.#"#4&#"&5463263232654'72654&#"2654'#"&' &U<=Sh[$V %#.C 11$:S6#54'2654'H/>^PGbD-)+S8"3',snOU91TDd<05A 4&C*C4/>,#N5&+6^G:D= Q(E%FO1_u`MKWK )<5,1J5E_yKI`KU>P_I0?7F ,1"@RA60.>?V.;I8NaH:+Z /!a"#&C6%NOL8jx#"&=4&#"#4&#"&5463263232654.'#"&547&=4&#"#"&5463232>54'2654&'+'2654'H/>^PGbD-)+S8"3',snOU91TDd<05A 4&C*49A/0@-6,#N5&+6^G:D= Q# 2%(E%FO1_u`MKWK )<5,1J5E_yKI`KU>P_I0?7F ,1"R) A/A@08! H0.>?V.;I8NaH:+Z /!a"g-% 3$#&C6%NOL8o|#"&=4&#"#4&#"&5463263232654.'#".547&=4&#"#"&5463232>54'2654'#"'2>54'#"&547'2654'H/>^PGbD-)+S8"3',snOU91TDd<05A 4&C*=@ 4" %B2,#N5&+6^G:D= Q ", 3&#/(E%FO1_u`MKWK )<5,1J5E_yKI`KU>P_I0?7F ,1"[&#I $,.J"!E0.>?V.;I8NaH:+Z /!a"   P#!  '"4 '".#&C6%NOL8k#"&=4&#"#4&#"&5463263232654.'2654'7#"&=4&#"#54#"&54>32632H/>^PGbD-)+S8"3',snOU91TDd<05A 4&3!+Q^@4/A"'"9: %&MW-% 8%"6.A'FO1_u`MKWK )<5,1J5E_yKI`KU>P_I0?7<>.c$,v?M@31)?%ѶH5'b$-u*> 0.?28(3L8s#"&=4&#"#4&#"&5463263232654.'2654'7#"&547&=4&#"#54#"&54>326322654&'+H/>^PGbD-)+S8"3',snOU91TDd<05A 4&3!+Q^08B./A+7"'"9: %&MW-% 8%"6.A'$#-%FO1_u`MKWK )<5,1J5E_yKI`KU>P_I0?7<>.c$,vN'A1??17!E1)?%ѶH5'b$-u*> 0.?28(3-& 0$L8x#"&=4&#"#4&#"&5463263232654.'2654'7#".547&=4&#"#54#"&54>326322654'#"'2>54'#"&547H/>^PGbD-)+S8"3',snOU91TDd<05A 4&3!+Q^5; 4" %P_I0?7<>.c$,vR'$D $,.E$!>1)?%ѶH5'b$-u*> 0.?28(3v 0P#!  '"4 '".L+8#"&54.#"#4&#"&5463263232654.'2654'7#"54632&#"32>5#"'&'&#"#54#"&54>32632H,< _OI`.%3/S*0'9 slQU91TJ^<05A 4%+$0DZ";>$X4G'D5R+>!:^4$97'NZ .& 5'!61ABK8_ubK`l!:,E)<15EZ~KIeFU=Q_I1?8:C1V&L@\02 251J1ҶH," Z!+m-B 0/Q^PGbD-)+S8"3',snOU91TDd<05A 4&0ZHaO~L2=9T-6 :9'/KXI<3$ 8=3$*$FO1_u`MKWK )<5,1J5E_yKI`KU>P_I0?77H K`,QN/#5HC"XG@IdyS )'6MҶH;1b$-pCR0/?+Q("=L8#"&=4&#"#4&#"&5463263232654.'4&'7#".547#"&547327#".=4&#"#54#"&546326323262654&#"#H/>^PGbD-)+S8"3',snOU91TDd<05A 4&1ZN'& 0!0 :A=9U, 6<:9.(KXI<3$9p%0K.-%FO1_u`MKWK )<5,1J5E_yKI`KU>P_I0?74@ BYb< 4 %%  kPA:C[nK,# F/B=&[(g54&#"2654'#"&547H/>^PGbD-)+S8"3',snOU91TDd<05A 4&(U`,1 2"1D1;:6R&1 (976,&HTE91" 3k("g  $1"#'.FO1_u`MKWK )<5,1J5E_yKI`KU>P_I0?7G?Qj9<" &=,# xfJ=7>UgG2/A ,=9#U&`9E('YE'4 I' -%  'L8Mc#"&=4&#"#4&#"&5463263232654.'2'654&"&54'2'654&"&546H/>^PGbD-)+S8"3',snOU91TDd<05A 4&+|LA$A6X9H [>LA$A6X9H [VFO1_u`MKWK )<5,1J5E_yKI`KU>P_I0?7ARD@K !L0;<1V*iEVRD@K !L0;<1V*iEVL 8Wmy#"&=4&#"#4&#"&5463263232654.'"&54>54&#"&5462$2'654&#"&542654&#"H/>^PGbD-)+S8"3',snOU91TDd<05A 4&Y-,A^A%+%7+-8H [W|L|LA$A6,-8H [,&-.$FO1_u`MKWK )<5,1J5E_yKI`KU>P_I0?7@ >%/AA/(04+0;<1V*iEVRD?RD@K !L0;=0V*iE$#!&L8]u#"&=4&#"#4&#"&5463263232654.'#"&547'654&#"&54632%2'654&#"&5462654&"2654'#"&547H/>^PGbD-)+S8"3',snOU91TDd<05A 4&> !)$ 4H?A7+.7H [V?>L,>L*(A7+.7H [U$L433FO1_u`MKWK )<5,1J5E_yKI`KU>P_I0?77 3".G4G$!L0;<1V*iEVRRD.G!L0;<1V*iEVP." '"#& '!L;8Zp#"&=4&#"#4&#"&5463263232654.'2#"&547 654&"&546#2'654&#"&546H/>^PGbD-)+S8"3',snOU91TDd<05A 4&': Ɨ@9@^9G ZS9Ne@5,/:H [TFO1_u`MKWK )<5,1J5E_yKI`KU>P_I0?7G':1|TIBKlj.>:1N,9XFXT?b:+B2=;0M-9XEYL8N~#"&=4&#"#4&#"&5463263232654.'2'654&#"&546!2#"&547#"&54732654&"&5462654&#"H/>^PGbD-)+S8"3',snOU91TDd<05A 4&;Le@5,09H [T': Z(+7*/A>@@9@^9G ZSY.!%%FO1_u`MKWK )<5,1J5E_yKI`KU>P_I0?7GM7W6';+94,G'3P@N#4,iC 7 ),9+qJC:E]|u`)84,H&3P@N1(!2!L8N#"&=4&#"#4&#"&5463263232654.'2'654&#"&546#".547#"&54732654.#"&546322>54.+2654'#".547H/>^PGbD-)+S8"3',snOU91TDd<05A 4&7I`=4)*9E VO-39+"3 7<=6& -6D VPA&8   $1 "" .FO1_u`MKWK )<5,1J5E_yKI`KU>P_I0?7FG5S2%8)52)@'2I54&#"&546323&5462##?A,H#Rl ,7(AxL8@(!7,0=5D\KIa&M̕KIaM/T3:tx]3P, pQH^ E-6=.G!2[FVSE7.EjirnLKJM3!!"&5463%26544>54&#"!5>54&#"&54623&54632#"}!C0=>/}.?7*$/ UB\rM7@(!8+0=5D\_&Mw`I]5Qn*R<04C?#"';(&-RFE2#"54>32&#"3 4.#"!5654&#"&546323&546k.EbX2'@@ wN+8Y3B~ 44GV:04D_NLb&Dr¨\P1K$'K@^/[K>M/K$'1S3!:IeXH073>4D_M*B$&JeSQ97ƒb3U5 =Qb+$<2aHH/K&:B2F!3XH_'0# 7,OuaxHHL=H2#"&5467&#"#4&#"!5654&#"&54623&5463262654&'gQ@AQ:0.2CS7+8J5vG8-2@4C_d%AnRU9E(0,(g7ÝtRgfR>n$.&0=`OJa/K+6A4E"4XK[ZI:)FueJIs<1,}!Ql6DKccTa%4632632#"'7327654&'#"&54>7&#"#4&#"!5654&#"&546323&2654' jWL7@\:i"\Vr=5'(_=87+RC;F!=((b5BS'DP]vG7-1C5D`LKd&K,/)'2!,^|IH>4~Mm*QG`?Q -dMB/K,5B4C#2YJ\YJ6,O32#"&4632&#"326=!5654&#"&546323354+4&#"6 /X@bAAOB'M&XU)_BgH8-2A4BaNK]$'7'*FI*!j:VG%hO,>+%KP#-O-;>193ESEU]F;*'CF''2;%3Ja;2#".54732654&#"!5654&#"&546323&546yd[NZCDV@1PG7-4@4D`LJd&Dräwoчp `rWxcJB]/J+7D2B$3XL[YI:*AoiJcKZ#".=#".54732>54&#"!5654&#"&546323&546322654&#" $6E/ ")x[NebAZCAY@1PG7-2B4DcIJd&Ds\cr#$  C :/3A 1" 6m|p `r+CYT+Wx^OB]/J,6B4D"3XK\XJ:*Aokx"!JraLYk2#"&547#".54732>54&#"!5654&#"&546323&5462654&#"2654'#"&'yc#/T=@P e[NebAZCAY@1PG7-2B4DcIJd&Ds%(:3&1 /ãxn 8%BYY="m|p `r+CYT+Wx^OB]/J,6B4D"3XK\XJ:*AokG"X7+" &4"! CK2Zc2'654&#"!5>54&#"&546323&546#"&=4&#"#"&5463232654'2654'a|"6,aZHF\L8@(!7,0=5D\KIa&M*C4.?,#N5&+6^G:D=?V-54&#"&546323&546#"&547&=4&#"#"&5463232654'2654&'#'2654'a|"6,aZHF\L8@(!7,0=5D\KIa&M*/>B./A':,#N5&+6^G:D=?V-54&#"&546323&546#".547&=4&#"#"&5463232654'2654'#"'2>54'#"&547'2654'a|"6,aZHF\L8@(!7,0=5D\KIa&M*9F 4" %=7,#N5&+6^G:D=?V-54춮&#"632#"&54632#'2654&"2654'#!:wE01E1<=0 . =$)7QBRl$:/@B78LtAQ7II$4+"$4 !2"-.)I(3CB4(6V@#5/$*4L98G98J\Cg} ?+=+B$3 1#$/-H2i#. .JI6JT_t"3!##".547#"&46;2>54춮&#"632#"&54632#'2654&"2654'#2654&'#3#"&=!:w,4S@+> 41<=0 . =$)7QBRl$:/@B78LtAQ7II$4+"$4 !.""V7,73%/))I+F32+"3!&54>;254+53254#"632#"&54>2654&#"2654&#"2654&#"A`{=W6jvB31C, <,T:$6.=A0;F/>< ay=W6.*R:#7/32+"3!&54>;254+53254#"632#"&54>2654&#"2654&"2654'#"&'2654&#"A`{=W6jw+T=?R., <,T:$6.=A0;F/>< ay=W6.*R:#7/AZV@A'# *9US%MPo8InMZG0J- ?4I!\r$&1 US%MPo8I78LZG;V+1$!/,#%1xu/2# '""*71$!/-"%1MN2=I2#".547&'73254'"&5473&546>54&#"2654&#"o$9 PK ':D1#3 V"F>]xK%#G9+O"==/%#*"!!+!$, 7\<02D*" @6<mMT6#+=@W?PMDL-)75+K##$M7BNg2;2#"&547&'73254'"&5473&546>54&#"2654.'2>54&'#".=o$9 PK *= 7#=U!`%F>]xK%#G9+O"==/%#*):"*-83%$&#$, 7\$5+ ,#V=6(E6<mMT6#+=@W?PMDL-)75+K/[$ %35!- ' *M&LW]fo2#"'73254'"&5473&5462#"/32654&+#"'#"&5463>32>54&#"4&"325#32=#"o$9 PK ?4c%F>]xK%#G9+O1),! !*8.5)%2782*Z :==/%#*1%6 "A}j(?$, 7\+3F6<mMT6#+=@W?PMD6$%0 # !CS226)0!:E*L-)75+K%30(1'5t%=7F&U`hqz2#"'73254'"&5473&5462#"/3254+53254+#"'#"&54634632>54&#"4.#"325#32=#"o$9 PK ?4c%F>]xK%#G9+O #G"*8.5)(/6O4*%30==/%#*' ! A}j(?$, 7\+3F6<mMT6#+=@W?PMD 6!CR226)1 7G55*L-)75+K#&2%9 #%s%=696 &hs{2#"'73254'"&5473&5462#".54732654&+532654+#"'#"&54634632>54&#".#"327#32=#"o$9 PK ?4c%F>]xK%#G9+O+-Y>*PO181(CF(bT !$*"!(/?,#$@==/%#*= 0 3eY 3$, 7\+3F6<mMT6#+=@W?PMD"30;uPUI>MC`1B, .1007)1!6H-%1L-)75+K !U2 !q1-<5#]hu{2#"'73254'"&5473&5462'654&#"32#".547##"'#"&546;46323>'>54&#"2654+'."327#32=#"BVOL ?4c% H>_vK%#G9+O-B S$=?.8 E7*$) 8.5*%3994** # $+e==/%#*V 1'  %6!!A~k(?Y<7[*4F6<oKT6#+=@W=RNC5&7,UE4K5H/(&5&/11CS227(0!9E.")8L-)75+K<#'00'1)3s3$=6(#p{2#"'73254'"&5473&5462#"/3254+572654&#"32#"&5465##"'#"&546;>3267>54&#"2654&+'4&#"325#32=#"BVPK >5c% H>]xK%#G9+O*? ,05' .% - ' 3*$, %28.5*%28:3** #==0$#*E(%&!B~k'?Y<7\*4F6<mMT6#+=@W=RMD5$ ('$/ (1*%# 4 (1?4CS226).#9E/!K.+55+K" $,$3+,1)3s3%=6&`#ny2#"'73254'"&5473&5462#!"3!!"&5463!254&+532654#"32#"&547##"'#"&54;>323>'>54&#"2654&+'4&#"325#32=#"BVOL >5c% H>]xK%#G9+O:N10f !!X&'Y N7F)&-,!3/75*&1o2+Z  \g==0$#*`!^$ !B~k'?Y<7[*4F6<mMT6#+=@W=RMD31)&0S1#%8$!53&#,.4 0O++.#D0;k/>K.+55+K5 Cs+.)#+a* 4-M&BM2#"'73254'"&5473&546233!532654#"#&5467>54&#"o$9 PK ?4c%F>]xK%#G9+OV-6"9[%1 3==/%#*$, 7\+3F6<mMT6#+=@W?PMD 6*/ (9$ %0L-)75+KMM&P[hl2#"'73254'"&5473&546233##"&547#532654#"#&5467>54&#"2>54&#"7#62o$9 PK ?4c%F>]xK%#G9+OV-6"9&! /A%%1 3==/%#*] .$%! $, 7\+3F6<mMT6#+=@W?PMD 6*/ 0*A/0(9$ %0L-)75+K "&$M.&Q\g{2#"'73254'"&5473&546233##".547#532654#"#&5467>54&#"2654'#2654'#"&547o$9 PK ?4c%F>]xK%#G9+OV-6"9"2-# $5 2%1 3==/%#*E##1))'"1$, 7\+3F6<mMT6#+=@W?PMD 6*/ #<$5 -# <#(9$ %0L-)75+K ""P9 ,4 &$,M%&OZd2#"'73254'"&5473&5462'654&#""&547&#"&5463267>54&#"2654'o$9 PK ?4c%F>]xK%#G9+O54&#"2654'o$9 PK ?4c%F>]xK%#G9+O9ITB0((v"**"#2C7  G9T6B /:AIO>(!"==/%#*$!7A"$, 7\+3F6<mMT6#+=@W?PMD,UFAT3$$D39G3C099-F+A,F (O:PL-)75+K2&;(-:$KX&hs}2#"'73254'"&5473&5464632632#!"3!!"&546;254&+532654#"#"&547&#"&>54&#"2654'o$9 PK ?4c%F>]xK%#G9+OP:+!$@./*0''s ,#)WL.E6-+5C/:@H==/%#*'!7B"$, 7\+3F6<mMT6#+=@W?PMD;IS$/#73%0;!%: 1C-<:-?/>/F %L-)75+K6&:(-9$C##ju~2#"'73254'"&5473&5462'654&#"#"&547&#"#54&#"#"&547&#"&546326326326'>54&#"3254'2654'yBVOL >5c% H>]xK%#G9+O{)70#-$ + ")   * ) *% *0%*(@==/%#*#%"( "'Y<7[*4F6<mMT6#+=@W=RMD-SBT* (E6L8I2?3;N- )#.6I2?>0L/C4L% +Y?O87K.*65+Kj*MC,3+"C,2AD &|2#"'73254'"&5473&5462#!"3!!"5463!27654&#"#"&547&#"#54#"#"&547&#"&546326326326'>54&#"4'32'4'32o$9 PK ?4c%F>]xK%#G9+Ou0)5d)B"' &!$  3 %!$  % ),"'$;==/%#*f# !# !$, 7\+3F6<mMT6#+=@W?PMD1Q2NC,:"$%.+D)C2-2+C$ "C(C3-3+B%6*G#O4B-.L-)75+K=@;!%;>K$&2#"'73254'"&5473&5462#!"'#"3!!"&5463!254&'#53254&#"#"&547&#"#54&#"#"&547&#"&546326326326'>54&#"4'32'4'32o$9 PK ?4c%F>]xK%#G9+O2 $X "U5 '!% !  '!% $& *,$(%K==/%#*s$! #! $, 7\+3F6<mMT6#+=@W?PMD0$(1#0,"5(# )A)6+2@%"$ )B)6./C%8+E#N3D.-L-)75+K; $;>?54&#"o$9 PK ?4c%F>]xK%#G9+OO6H'$?(.!9"(1KUJ;9$$==/%#*$, 7\+3F6<mMT6#+=@W?PMD.WB,F *Z+Fѵ,A0[$.hAZ10L-)75+KF(&JU_2#"'73254'"&5473&5462#"&547&#"#54#"&5463267>54&#"2654'o$9 PK ?4c%F>]xK%#G9+OMCZ6+*7D!)97'4MYI96%.==/%#*6B$$, 7\+3F6<mMT6#+=@W?PMD3gL7ED6R6 ѵHB4Y"-hBY0/L-)75+K)"O.4E$+M&^iv2#"'73254'"&5473&546462632#"'732>54'#"&54>7&#"#54#"&>54&#"2654'o$9 PK ?4c%F>]xK%#G9+ON+*D G6C\ $4,H#A93*(5(A47Q)L-)75+K&+#(5 M &S^2#"'73254'"&5473&5462'654&#"#54&#"#54#"&546326326'>54&#"o$9 PK ?4c%F>]xK%#G9+Ot&4F2#)()('&7 @5'(,).==/%#*$, 7\+3F6<mMT6#+=@W?PMD-L8^$!S,:.$+>9-N%]7M,,))L-)75+KK&Wbk2#"'73254'"&5473&5462#"&547&#"#54&#"#54#"&546326326'>54&#"3254'o$9 PK ?4c%F>]xK%#G9+Os !&&&0 4'!)&&%5 ?4&%*)(==/%#*n(&/$, 7\+3F6<mMT6#+=@W?PMD)<(.;8,E+ -"(<7*I$W7H**((L-)75+Ku#?@(,B&kv~2#"'73254'"&5473&5464632632632#"'732>54'#"&54>7&#"#54&#"#54#"&>54&#"4'32e$9 NM ?4a' H>`uK%#G9+O.!"'#$/! *;-$) !""$"" / 7==/%#* 8 #$, 4^*4F6<nLT6#)?@W=RNC9J,,)(@ C6>T !1(G 1=0'#.& $)>:+M&L-)75+Kb,A=M&CN2#"'73254'"&5473&546233!5654&#"&5467>54&#"o$9 PK ?4c%F>]xK%#G9+Os- 5+!& *;==/%#*$, 7\+3F6<mMT6#+=@W?PMD ' # 2$*"*#;2>L-)75+KM[ &NYe2#"'73254'"&5473&546233##"&547#5654&#"&5467>54&#"2654&#"o$9 PK ?4c%F>]xK%#G9+Os- 4":*,9#* & ):==/%#*o!(*$, 7\+3F6<mMT6#+=@W?PMD' ! 31?@02 2$)"+ =2=L-)75+K%"!.M8&R]i}2#"'73254'"&5473&546233##".547#5654&#"&5467>54&#"2654&#"2654'"&547o$9 PK ?4c%F>]xK%#G9+Os, 5&0 0 !0 0+!& *;==/%#*\ #.%8&+$, 7\+3F6<mMT6#+=@W?PMD ( # &@ $--$ @& 2$*"+#;2>L-)75+K Q-$ *) &"/M&.9EL2#"'73254'"&5473&5464632!>54&#"354&'4#"6o$9 PK ?4c%F>]xK%#G9+Oa9T==/%#*a$-/*2,Am$, 7\+3F6<mMT6#+=@W?PMDwc]xL-)75+K),gM<!"6TNM &<GSZe2#"'73254'"&5473&5464632##"&547#>54&#"354&'4#"62654'#o$9 PK ?4c%F>]xK%#G9+Oa9T'! /A&r==/%#*a$-/*2,Am1"11%$, 7\+3F6<mMT6#+=@W?PMDwc]x0*A/0L-)75+K),gM<!"6TN.2 2$M&=HT[fz|2#"'73254'"&5473&5464632##".547#>54&#"354&'4#"62654&#"2654'#"&5477#o$9 PK ?4c%F>]xK%#G9+Oa9T(4-# $5 4g==/%#*a$-/*2,Am 0?!'&#0& $, 7\+3F6<mMT6#+=@W?PMDwc]x">$5 -# >"L-)75+K),gM<!"6TNe') 44 (#-MAL233!5654&#"&5462#"'73254'"&5473&546>54&#"=R59F8-,7C UO$9 PK ?4c%F>]xK%#G9+O"==/%#*QBA; 1A2=@/O!0eBY$, 7\+3F6<mMT6#+=@W?PMDL-)75+KM %1Xc233##"&547#5654&#"&5462654&#"2#"'73254'"&5473&546>54&#"=R59")B./A)UF:+-6C UO$!$%$9 PK ?4c%F>]xK%#G9+O"==/%#*QBA; 41??141A2=@/O!0eBYS&.&$$, 7\+3F6<mMT6#+=@W?PMDL-)75+KM&OZez2#"'73254'"&5473&546233##"&547#5654&#"&5467>54&#"2654'#2654'#"&547o$9 PK ?4c%F>]xK%#G9+OL=R59'3$ 4H3MF:+,7C UO==/%#*P$&4330$, 7\+3F6<mMT6#+=@W?PMD*QBA; <.G4< 1A2=@/O!0eBYL-)75+K P." '"#& '!/M &U`2#"'73254'"&5473&5462654'7#"&=4#"#54#"&54632632>54&#"o$9 PK ?4c%F>]xK%#G9+O9B,% /4(),6=4%((!.H==/%#*$, 7\+3F6<mMT6#+=@W?PMDV4&R$c5?4+)W <+.R%b4C(&6(."*L-)75+KMe&[fq2#"'73254'"&5473&5462654'7"&547&=4#"#54#"&5462632>54&#"2654&'#o$9 PK ?4c%F>]xK%#G9+O}9B%%8.7!$4 ()$6=3L%8I==/%#*m& &$, 7\+3F6<mMT6#+=@W?PMDZ2%N"_A/0)*/.3'S:0&O$]1A'%*0,'"L-)75+K,MC&do{2#"'73254'"&5473&5462654'7#".547&=4#"#54#"&54>32632>54&#"#"&#"32542654'#".547o$9 PK ?4c%F>]xK%#G9+O{9B)1%# -)3 ((6=  &' .G==/%#*}52& $ $, 7\+3F6<mMT6#+=@W?PMDX2&Q$aH?'1 +<;(V;&P$a"3 '&4).("L-)75+K$##%   LE(5%#".547'654&#".546322654&#"3E/ "*5bXADY0#*.b]t2#+ ' 7.2B 2!A!2vK\]M(82 5P/i~fl# !L'3FI%#"&5467'654&#".546322654&+"2>54'#"&'7333U<>R>,bXADY0#*.b]t.%"C&0 5$1/# I,DWV@8F 2vK\]M(82 5P/i~f|v+'  '3"! CL72'654&#".5462'654&".546/]t"4-bXADY0#*.U>L*(A6X9H $&V~f3V6)2vK\]M(82 5P/i5QE.G M0;<1VD+DWLAM2'654&#".5462#"&547'654&".546322654&#"/]t"4-bXADY0#*..BB./A5 A6X9H $&V?>L8&."$~f3V6)2vK\]M(82 5P/i!?01?@0?  M0;<1VD+DWQEN0$"-&LEPd2'654&#".5462#"&547'654&".546322654&#"2654'#"&547/]t"4-bXADY0#*.#4 -# 4HC A6X9H $&V?>L9 &4350~f3V6)2vK\]M(82 5P/i!,$ $5 G4K" M0;<1VD+DWQEN0rP." '"#& '!/ 2.7".5463&'632/G#x+'504 ;VJ2C*@"!5 $3 2&5432#.54?654&#".547373(=e1C i<H11$JBP1! (5# "6 <>Z@rp? 1$#B8WG,%!,Wz'5.''6?2'-=G( +`%-H E,M(! ,+w.+'675#5!#2#"&546326=4.#/.'=B%--{\54'"&547>7!Q=P5/6%G7(1!% 0H6"+UQ!& "*?b*,'&#632'6?>57654&#"#"&5>$<&! $A6((()53)1   *!L* <#6)-"\); .1Us.(27#""&547#5!#/.+"'767(*>H-{3 1HZ-3' ) =H )22w():4)dz. <&#"326326#"&'2654'#"&547#5!2"&'26J (%;  )[P:c| 1T4(2 -8)g!2)-a$m.TŭLcG7&!A4@F2I 0!,)p8. ""'"'"&/3>'"&5#5!:)=z.=<)7/A .8'>#K.5  _9K(22:w. 526=/&'7./32654''.=#5!!72_4" 5>7E,0C%"$2rAQ&/f! 0";K4 o &5B,:HG C.!B22 D.4327#"&'367#".52654'#"&54?67#5!$*&-: 4+#11:+L' G9 ( '") %, //&>+D`z3f_&22|w-'#"'6?675#5!;#'.'/.!3 4. 4'E$4A '"]  3%@@!2/R"22#>CB0h%274&'"&46332674&+37#&''.#"+"&547;25'&#632+"'#"=46;>324   6?H%X">Q  [ 8F!L4Q$>  * $K): 'W   M=8,(_& LC.l V-=1$* O?23!;3267+"&=>;+"&/5#536=4&+"".5472=:V #Ai:&-,13 !;22S">9u,2 '! E87>54'#".547>=4'#53.=473{$0/,!{,$ 0( 0 'Ss8(.6'7(== *R 9D0tV@,% `#!2 l!/' &A2.%&'5#5!#67+.'2654'#&13 &M;.F(&@( Q >-.22MH%=U?bd6 *LK/-/6J.7"'#5!#>7#"&=>732}&9J&> #&X=22 D%5Rw,.+#"&54636;2,]+ &(%H(E-%Y$42,$9/ }yv53#.+'2674&#+"&54>;2) CA 0(A# = 't" ( :6&7$ OV 3;P82 &0 @!- @":.'5#5!#>7'&54+C+': .,@) 7#%33p#*@=((;4%fb.*3273753#&/./7#"&54632#"'J@]- `gA !c8-a") &  ;/J8@2j6G=H%&  $/.&+"+.54632%3#*;;!0(.W$e$ )2K22(%'&'"'7654'""&5>327'&#"rR 2+<  p5M&c#%/(: !* 3^x%o +u.74&#"/.#'6?.'&'#5!!632#".'4?2325+$ ,A%-9P 43_!P76=4&+5!#2654&'#t+","'<z&#g,2 #,,+ %22 h0 8/qp. .'#5!#'.+#'67s30KAk>( pCb5 4<]&C 22u=VA!WG,%!,W~.+/.#"&#"&5462#".5463254632'!5~$-N-809+:>34!'-#vV !  `%,0'" ><4?#422=p&&#"#"&'"&54>74/6;2>;2d67 !!-+*,- o *$S|m,0$2""#">%S*h. %32?4'72654&#"7#"&547#5!   '}_B+<8y| %"2^G&1422H.!.".5#"&'7326=4+5!#'2654&+3b(=7<  40 .3% 4X*" &S 1D22 #(/:%  83p.34&'#5!#&/32>754&#"#"&=>76oY) l"C'*0C14&  922 "I* :.5"h$ %$.. 6%#"&54>72'"'5#5!#>7+.'32654'  5- #'CN>1M* )C*1A7#"&=6732#$> :O!> "*g/_%C22D'2$3xny. .2#"&546'.+"'67.'&'#5!#{' /X3v b644> &yK*-U) l=XA5.  22WG,%!,W[c. "7.'"54637'675#5!#'.'N"j[3 54/&=467#53T b0!(! &$`-,'[+ L8-I/22.U!!"'.'&#"#"&54732632'&'7#"&5>7>32#"&5463232654&F.C$(| )9*C0J  ":(2E?<H"e D),*.23; YJN<#9=5!  A, . ...M,,;&o#D%$ $.>G%25&/675!5!#2#"&546326=4&+"/&#".547;6=HE|By1#% X02e%JCOT" jIj##+J4E Us#'22&vU(4,$3H$&=N)!   4#GL 5$G3#/&+""#".547325&/32>54'#"&54726?67VV"J " /B ]{865S6>+B])30!>F(Z=d%2&,+))3&Dn!g +O"=- 4B#N +^ N3#/&+###".54732.#"632'7674&#"#"&5>32/&5&= V[$J /B `zg h9*5(2, :X  *!Q>: c!2&.+)&2';G_*6!2-AZ .2S=*  .F267#"'47#5!#/&#""##".547325.+"'>?67#"&- 6RfA"$xL^!3# -> Xt54 l9B% +< 5 Njx,B22'.,$,4&D2BD' ?s.87>7&'"&5#5!!/&#".547;25 +dy+ 9*,7a/B qFZA  cK&VDq22   $:@%***,V36323.54732654&'#"&'47#5!!327./&#"&54 :&G6J@!;.  8i6%K ($ dN&K " .DIs -";0KP#"#:HZ &. 6 $( ::a9HB6+ I!#(QN44# N' S+6K22  MVsNY-QC#zV23!267#"&54632/&#"#"547325.5#5!754#"".5473$': L'q-1"25@Vr" )>,(.b6-B % '&  /& 2k+# 454'.5473#/.#"&5473325#".547>54'#53+A=#5/!$+5;Fа&B !9M94 90 #-%5j T,@7gK0R42/o"<(3 )[$2,T= & L?,)X/";% . '2w.L#"./5#5!!>7'.+"'#".547;25#".'32>54R% #%H*0#x3G" XV*:8/H5U0" #*?$(>RE 22E!]5@8.+-% 5$"GbT$"E6@,+$ "p.:%25"'#5!!>7#"&54632/&#".547;6#D2A+,12P ) $) !2=ZZAIi& ;- Od22 X1$&//95&HD&#  ,+.48'.'&#"#"&54732632.'632"&'>%!!k4 $o%:H+<(8b1 0J *1&$09/ .X; ZHO;/ O6M2(Wn3$("6-+<$2>-O8&8+&#  +,;Y2M3#/&#&#".547;25.+'232654&##"&54>32WT( s0E TR)45%GOC, #+?3+Q*"`#b,2&.+-%3$%@MhS7   (%7 N8$:( N2 .0'#5!!767'.#"#".=4737&54{=j Eo4^NU(,%*|,,!9.yR[dDJ22,R@EmKR= !E1%- (MTD4A32?53#/&+""#"&547;225./7#"&'4632#"'FeN}6! }Ta  J@NP! 1 5gH;~+3*10 +H@]T&IB2%Q6(*5$4BCO^1( 0 .3%25&'#"&54632!5!#/&#".547327%D 2r#*.(M:/]kV6_9OKNe b; &':$5?bA 22&9R&#  ,+.D%25#"&'#"&54632>54&#!5!#/&#".547327"D "X$!$0(#I  2s!7=ZQJMf ;S-.#,%(226'!&=N$%  ,+#pE.#"272'53#/&#&#".547;2&''764&#""&54>;4Q %!5'   DO+ x3G" NV"'G+ " +N@9 !/,~ 2&.+)) X6V.*  ,3$.I".'#5!!72#"'46725674&#"'.#"&5473725.+'6?&*'%@E{V./32'.#".547;25"&546322676%!!n<  ;:# 3]2$,/#O*!%T /3} "$G1:( y7"02'3&Lf2".AE%25#./32654'#"&54632767/&#".547;6!!"D&*[- @8C*8NP>,?&1$BnB6^9VEMf% 1;~[ Ot;"\2-!>:./$8#>4.'#5!#./&#"#"547327325.'#"&54>32BS9);;-G,]"G< ' ICAT A 3-'+*-vA9+]+722-$! .#%7!64"* . <.#""'>7'.'#5!#.'&#"+.547;2O2  ^Y0]:D3C . B4 \)W&yA7C '-2L$b0C z~O@FT-3 22NS?! & V3#/&+"""#".547;24&#"#"&'"&547'&+'32>?'5"CV$T  /B YU*79 EJ,-F!V  A2gK& !'  K 2&-*-% 2';^ 22!-.;('2] =$u+.E5&'".'#5!#./&##".547;25.#'76?67&#= &+%&hKY+[")*EH/B ' CD2? D& %0)#0-2_7  22 -#// #  #!> 'fX   .F>35#.#"/#5!#./&##"547;25.#""/7270 $'* f")*@M ' CA7%."0:$! |" < %( 22-#*  #!=.2<3G& @ !.:E%25#"&'"&'732654+5!#/&#".54732?>54&+ D4T"< 3  9%8=ZQJMf l- x ,;O)'7!2 E22.$#&=N#&  ,+!#-\.I'./&##"547;25&/32674&#""&546765.'#5!#2|EBeq ")*EH ' @ ?Hc7?W<_*- 7'!P! -1DB@ 0D$t -#""  ((B/<&4!;!%4 22 -). 6&'%675!5!#./&##".547;25.''906T7{F֘e)]")*HE22 ' ?!?DV E @H)$3pk."22-#=*( (8AWE".;4.'"546;#%675!5!#'.##".547325.'l3U/ Hi']dwJ֗l"]-[(-A!.yA4RH" *2* "!b9H2qk."22I-01#! )<>V.o3275#""&'#4'#5!#632"&=4632654&#"/&+""".547325&'#"&546;2654&#""&546;2$R^ i2Z {/8*0!'H4[9%0% .53 0B22PlDG$<7)0) "$ @PNE1*L/E"22PN8? $@& :(+'4#^W+''1 &*+L. #O%2?254&#3&546.#'6?5!5!#+#&'4632.#/./)(#E 0 Ph w `  + @:ML573##"&54672654&'3267"&54632".56?&+4/&/7675#5!654##"54732632b#/j-Q" #7#',#$[ &'".vJ(4,N +]9F1$ !-916@l !R/% 2I;2 '8nFH12*(!G\(1#:(   > 2 X& -D  >=73##"&5467265654'3267"&54632/&+###"5473225"56?&'#4/&/7675!5!654&+"#"5467;2%.5j.P$ #ZJ)%] ') !*$( Zx7#7z,*' +]9C( !7T2,JQ(% 2I6!38M7&33$* '&1"7#: s&9$   > 2 P+ '.e!!2#"&547232654&#6"'&'4'32654'"&54632>54&##"&54632>PV84(12 .$ (RGo" 6;V,/>!%!)? 2%D4GC.2db N *! (#   "M4A>XDcM73%! ) " -)!?VJ' .KQ%2#".'32654&+#"&547'./675!5!#2#"&54626=4&#632'SB <)3^A' *A<,.;# @)5|[:p! !#*?C H@?%1)J844 Nvb( Jf-> .*&( AY22XE( ;.Gt. y5""!!/&/767&/&/32654'#"&54632>54&##"&54632>?632#"&5467232654&#6)$ (  ;,%&$#0.F3"(W/>-)!)?2%D4G *70:>--2 .$ ,<$Z2+(-  2TY3%!"# "+-)!?VJ'!=.$F#(#   *+. \b35#"#'67.'32654&+#"&547'./675!5!#2#"&54626=4&#6322'.   &)+O4*bw.;# @)5|[:p! !#*?C BA M E:%0*v <"-[nO > .*&( AY22XE( !;J8b+7,FF.!!#".'32654'"&54>7>54&#"#"&54632>?632#"&'472232654&#6/&#"###".547322,&G54 $ " 6;V,/>! !%@2%D6A *70:D#(02.$ )$.02Xz7#.2% %4WAd+&DcM73%!   "(-)!?VH!=.,>9(#   *$N& 9)1"9#:p.Z`%'&#"#.5473272>73254&#"632#"&5467./675#5!#2#"&546326=4.#2'+ %5J+; P 0 + !2'0$"?55{\ )"=(!D/'AZ22[B:! ) 0H.dl25#".'32654&+#"&547'./675!5!#2#"&546326=4&#6322'&/&/##"&547l(&3^A' *bw.; " @)4z\ =n%&!#@C B +0KL ! (!t:E!oD~Nvb( > .)') AY22[B8!<J8A, - BU" $ 0 #F. F74&#&/.'"#"&546325./675!5!#72#"&5463*Kh !#Y1 . %6B4!G;?#EL ;v1#)# J.6I 46  ')%2)L)8 Ug/'22&|Q(4'" .E2#72#"&5463274&#/./675!5!#'.'"#".546*Ij+A!"7$ ;v0!+&Y1 4Y5EI(   2L.(*9+&|Q)3%% 6Iq,,7/Ug/'22+I  .F.Z74&#'.#""5.#"&54632#"&546326325./675!5!#72#"&'4632*Kh+A!Y1 #  -*  2,?# ';?#EL ;v2!$$J.(*6I#+. $+    A)-,-71)8 Ug/'22&|Q*2)$. Q"&'#323275#"&'#5!#632#"&'54632654&#"/&'"&546374&#""&54721^ {&|0!iR] $H 2]=" & 8+!F6-&' "$3 iNE1uLE?@P322PK6/)  6f+!# 0. &*3 ~.f3275#"&'#7"/.##"546325&'#"&5463654&#"#"&5473254'#5!#632#"&54632654&$#&] i2Z {/8*0![#0%J3=N2$<#%*) "## 'R:U,!%& 8&PNE1*L/E $+7<%I$7QHW$*1 *&/ 22PU+'3  .6n3275#"&'#2#632#"&=4632654&#"64&'#5!#'.'"#".=/&'#"&546;654&#"#"&54732$#&] i2Z {/8*0!"B 0_-"#& 8+ HJ&# !F,$$) "$# &PNE1*L/EV'PI2'7  @w 220D#6f'.1 *'/."C27#"&5463254&'632#3267./7675!5!#'5.#"#"&'|Y)X & ,,:(+ ,#oF/DuWR5;9:"CW&V R= #; 80!@LP&D22.700?*Ic%.#"632'767."#"&54632654&#"#"&54632&=&53#'32654.#"632V1C",;?:8'!N7   c4#;%'"C[9k '5 @*- & J +"4R"A4* .,W 37M6!!S3z  2<=GV<  .?'5'&#"632'>54#"#"&54>325!!767'&54j>k C!A9  ,=?2M ' #4,6$! 4_MWA#+[iFE 9  ,!0O#; Z3%8  Z2,QAzrLJtcBX>SX"'.+#'7'>54#"#"&54632'5;#7'&'54%2>7.#"6  o= B%P %V= 7'!"'O+,,<&< O>+W?MI  D^S*W 01T!$$ /22M&aZ *+"%-Ap 0SC? _3274&#764''./>3'&+'7'764&#"#"&54632'53#7'&'c Z<*R0,._@+&c( M0&p*COB%:/ K !Q8 :-0 O5.8e!/ Cw5TG7y) H-<,=S*=3 */-Y%L5 2:%\Xk +K3#'&/.#"#".54632.#"632'6?654&#"#"&54>32'&=W[> $ C3&G e9,8%@:+ K &>)= a* 3 7 %3/Ea)%' $$&A- *((/ 79'S%2#3#'.#"#"&547.'&#632'6?654&#"#"&54>32'&=64tI  #& ,,*)6:+ K &>)Bp QEW) 3'&  !-+)" *, $$&A- *((0 ML79'e>32'&=3#/.#"'&/&#"&5463632#"&54632>32.'&#7632'6?654&#"#"&U-= C[#  !(   *4+-, :-  0-[:+ K &:L79% * 10    +   ';/?#&6B 6!$v3^  < - - # Fl: BF#D 5Wix+=22 !8 .", &>2BDH 5.V654/3#".'#22#"546327&/#/.+'674'"#"&546?&'#5! ?EF>  -!1*8 ~+$P $l(3" V s0B~f9*",$/E-0S  & ? 97 0h",0 @-PLS'3) %) '22R. u654'#".'##".'463254.+/&+"".5472;5/&+'674&'"#"&54746?.'#5!e  - 7M(J'-5 ~QKGS' (# >$3+,4I85 LCB~f&*#5 t\  4B!!> 0<`8!- * ' <*-$1"*< FLS'$) ( 22.*72654.''#275#"3"&'3265#"&'#%47#5!#632#"&54632654&#"'.'"&5463654&#"#"&'2>54'#"&,  < H ] 2'$3l72654&#"./&#"'#"&'32747>54'#"&R] &  4?R{07*.#+>GX4 47.*( %%=R# "  J "Bus'e}+++  ' '> @P  ,#]61*L/ 7!>:,A%A+!#( 1 %)e2Q22PR-'3  X-Oϣ`]%)%  *4 )f"567?>54/#"'"&'3267'2?#/&/#"&'>54'#"&547#5*% '*&(> +8(2 (&80L<*=[< SV < W3b@-7 ,9%  / (   5-H4*-<- *_2!6L˧ 0)8.BS2.k32654'#"&5?6?37'#5!#+"/#""3376?67/47"&=?376?4/" % 'f--? "  +R2  * ) ;%;()6   &  % )22 $S '#! 63:)&"21E7>HX D27 E"74   .1D}&'#5##3>3547767"&'"&'326?267#"#"/3272654'#"&=>54?67#5!#/./O(  $ ;2 (', 6S$(I!$-[/pE  98'6+9  ^\1  k ! &  5- 5 O Lx+7K1>BT+ @;  8.#  224,J .1J]&'#5##3>3547767"&'"&'32673335./7267#"!>54?67#5!#'./&/#"&'./4?>54'#"&5O(  $ ;2 ('h,) g$(\4#, 6S$(I!$  ^"4o3?#=+   70'3+9  k ! &  5w$; N"P 5 O Lx+  22Y- E0$1>BT+ :"  2# 8..0@~27&5/&/#>724&/"'"&'326?>54?67#5!#/&/".'#"/3272654'#"&5&  "$  + *&2 ('oC    X L  G!pE  98'6+9    !  /8   59 5%  &\r  22-P,    )1>BT+ @;  8.;.'i##"'67&#326=##".'32654'"'5&'7>325!#/&/&#&#"#'"/?>;&"5-  |E# ( >0;a/ )P3'6&6S$J8)I   "$S)>!'#  ,5 (  xA9aI(*QQ14 02-,  * 20e.'2_5#2636?>?65"'"'"&'26=/&'7#'.=#'.5#5!!h       J#p"^%> 5  '6e ^    CEv1 (IV>Q%   ;(22   !! .2{;6?65/&/335>?65"'"'"&'326%2&/&/;272>?654/#'&'#'.5#5!!;7;  .   z J _%,(8-'96bt<)910%?* &u%(4  '32  " : C >)-8"76'h& \  3OM#   ;(22 . +?5;6?65/&/335>?65"'"'"&'326%2&//.#'76?&/&/;272>?654/#'&'#'.5#5!!;7=?    .   z J _%,(8-'96 M0+<((#3<)910%?* &u%(4  '3'  K  " : C >)-8"76' &/< - \  3OM#   ;(22 _.2;6?65/&/335>?65"'"'"&'326%2'&'./&/#&#.'&=46?32225&/&/;272>?654/#'&'#'.5#5!!;7;  .   z J _%,(8-'96 "4o/' gDC@<)910%?* &u%(4  '32  " : C >)-8"76' z-  #>"  E/ \  3OM#   ;(22 0)s732?2'&#"6"&'#"/&'"&=47'#'3#6?6;7>32#"&/'./""#%2654/".5463263654&#"%32?6565'&/&/+3v ";#  8 !#  > f;G &30$" % 41#  P%H' #*f #  i! " %%i[   ': )K#+$ #  VF20* *.&   l 65H.4,:!I11 # O  " +f*V   K.T726?6?6=/&/&'#'.5#5!!./&+"+"&546?632x1  "$-62 .H^  ,/ $-!#H7 /3Fn22  !  @  !V/!, I.%"&'32?22?65254'#"&54?%47#5!!&#"327?6323'&/&5'&54?"/&'326;2+'&/&'#"/./37>54&##"&^f!$' * N) 8 !)7 3 *+ %/ *16! 54&##"&547#5!!&#"327?6323O" $f!$' * N) 8 !)7 xN %%& ! +9! (<$ A7 !(3/$$(   *$1":3 *+ %/ *16! X<E"& .+-(C3 6,! 5`T. -  )#HJ&%# % 6I !4#%B<)_&%4'  4;@,22   5  Di. 8%57467'"&/&'326?5'465%467#5!!";267/&//&/&#'2?'./532654/#'.4< %  a %#N %.' ,)   -i7%9 L*   (:@(L ! /? - >Y#   P4 & )* U'P33 ' OM1&   %F ?$ C*Ia(-#* $ /?Y.$~$274'#"&54>32654&#"'32?/&'467#5!!32?6?6?2#'./#"/&/2654'4#"#"'"/&l4"`(% 6.3 N  15! 1 ,R>%  !(L *' 3 X3}?+& *-+[22   1 ' 7 7.&I'88.A6&"`` Z75%4'"32654'#"5463276#"'/./?.#"2#"/&/463256?632) "?0_[(/!0$&8(n;\&9;]+ 5 !  ]A(O /9<*2'+ !%F( R0(p#8, .9:$: a@N" % %#(G5"9"?D4A$<D-765'64/%26=4'#"&57>3267'&#"'#"./463?6?2'.'./&/25&/"&'54?6?654&"P }5  &Fm7>((' @4S ( 2. , _)9.!G;+.+*3OV0"*C  ! O b %    V 3MC)A#  ?R53(#(  "  H$,,)f_  5E#0   !'*+2654/&#""#".54632654/"'&/5?"/&'3267#"&/;265'4.'"&54?65654'""&546323?6?32722%"  "" #Z  (2$($ #GL\ HI  #)  &!Z6(%3 '   $  F>\*4)5 & 28 9(7nKS8W$92-!  1&4+ , -]&% .2}4I7"&/74/&'"/46?67226?'4/&/2?6?/&/'./?654/&'""672"/&5&546?256?6?22r*'D $"/A &    "    *  ,""3;4vn        R"$/[4 &", 22/-I"      <8  S ) v j,`H>F  "   /=C= f  i23!32?6?6?'.5467"&/&532654'#"&/&=#5!7654/#"&5463732 '. _% ! Y^a  !23(R&$9 g< &> 1-N . ""1)&  !23'S,9  &> B )_& Ij C[-.-)1 !%!"U9#8A3T q8C1 !%7 EP$2Vc79& -2-!+"+++$4."%]?K0>K9"#:;!<}.!a#"'4'5!32?326?674%#"/5#5!!2?+'&/#'./&/326?4&a$, % '%5#$Cy_'+}"J#&XHG:. Y,":#   B7K RPCć. 6`"&/& "LO@22K a#Rn ZT8"7 !-/:6.,1%A (x.U26?7322#"/5#5!#/&/&#&#"#'"/?67#"/&/32675&B 0_ #  k_& xI    %$9U9#8A3T 7 ?E|/ P$22-.  * ]?K0>K9"#:;!J|d&#"7'4632#.=>;25!74+"#".546?723!3267"&57632#"&/!A&  %&(5 #0$ /)DO -B   ?QL&'e%4"2S3 2 - 0&5,) $4 ,,2' '    G52$f038.%<U8 ~|72;25#"&/5&#"7'4632#.=>;25!74+"#".546?723!3267"&57632/&+###".=4674?363*7# 2 !A&  %&(5 #0$ /)DO -B   ?QL&'e%4"2 "n  024/: 8 - 0&5,) $4 ,,2' '    G52$f038.%<& :)8  'W|&'2>?653#+"&5&54>?6?6?/74/&'"7'4632#'.546?2765'4&'4/&/&5467- 6 5#$)ͧ " 2@+,a+/ 4 )   %&#*@%%)5  C !5#&K92&" "%2% 1L02/2z+(6J T$    0&5C9N Y/$")5E4b46;37#".'&543573265"'#"&=463263654&''54&#"3274;#".W;*$,1  ?07[<2 /^_%++  45( %&C! ,V$P3+7C$01Jn`; ! '  4 O!,# !6$A.^46;25!!;26?#"&/&/./&';2?6?>="5&'#".#&/&5'*.  X  6%.0\6r   91LZA&   ,!0%  % 52&4$m$U2F ( F/ e37L5  1 # % @L@  s4~%25#".'&543573265"'#"&=463263654&''54&#"3274;#".546;37/&#".547327>7[<2 /^_%++  45( %&C! ;*$,1  3i%LDG` <~1Jn`; ! '  4 O!,# !6$A,V$P3+7C'?O,.+F/2;25#"&/&/./&';2?6?>="5&'#".#&/&=46;25!!;26?/&+"###".5474?327*6$(6r   91LZA&   ,!0%  % '*.  X  6%. $T  /A 4/%:F ( F/ e37L5  1 # % @L@   52&4$m$U &-* 8 [I.B.#"7'4632#.=>;25!!26?"&57>32"'J98  %&(5 #0$ 5'c] $ $H;*+-/ 0&5,) $4 002 Q##  6Bl$Pe7"&546?2'&547'3#'54/./"'432+".54>?2354&/"/4632#5HE2%    D[7 8!/,/'&" $-4&%  C,'5%0&ZD>L   2= 28K .5 #" 8' *"9V 9* '-O X32"&546?2'&=7'3#/&/&#&#"#'"/?674&/"/4632#r#  5HE2%    I    % C,'5%0&U ZD>L   2KH 22-0 *9V 9* '- .TX4632#"/&/&/&/326?4/"&54>7>54&#"#"&!!zQ4G+:"# 4" ""!<8+: !! %  + Q3bJ'I:2 5$B4 'lC+0&!4+   "  $2f . n25#2!!/&/&/>7&/&/&/&/326?4/"&54>7>54&#"#"&54632E  !    "%&-= 4" ""!<8+: !! %  +zQ4G@<h2"1-( 5$B4 'lC+0&!4+   "  $&3bJ'I}P#"/7>?27;#/&/&/./2?6?654/'74&'"&0  ( $ =0$ 63  >:FS36,!% R"% + 8"6!")B.".36# #5"43%$ p  ( A.  e=.e!!.#'.+"+"&546325#"/&/&/&/&'2>=4/.#""/4?63@K4 $.D2&F &$$ ' 0.' F9"  + 2=!3x+' j A "(  % 8 O!q.Hq$2>=4/.#""/4?63#"/&/&/&/&'5!#/&/&#&#"#'"/?6;22F9"  + 2=!3x+' j A Y22-.  *) .E2!5!#'.'#"&546324'#".'32654.#"#"&54>C3F0) <XY 3.#H(,P6/ 0YwN !*'TDJ+?D  , 22 (?5"+) ,3F]@13 32+T=.|!!/&#"/&+"2&5463632#"&5463246;25#"/&/&/&/&'2>=4/.#""/4?63@=# (   2,2&4! &$$ ' 0.' F9"  + 2=!3x+' j A "(  % 8 O!q4 b>?6?!'#5!'&=3#'./&/&#?'>54&"/&/54iEB%& AmC3I3" C[-   *2 .:RB # ) =/ kBE23"S7:% ,2-)*) **"."AX&F*#5  3'%<*&. 'R767#"'>754?#267#"'#5!#/.//&/54}% QR2 f- 6H$(F!$}AmC3^\0=# 0'! H5 r 5 B$ H"x+/kBE224/G>#5  3'%<*&<.?76?6?67'.54754747'&/47'#5!!YC(G ,,$L%&' D , "/( <'<?6vC1&  >> #  "    $J$.(Eo*N*TX.  '1   N$#!-@|D"&" > (0$ .2G +,@44  .5/&#+"&546326='47'#5!!>?@-S#-08*AmCPuCC%&~f$6v&!($7 93kBE22 ;0Q*`2;?/&54?'5#5!!?6?+"'"&/&/;26?5'+'.546?2# #   "*,_B&L /*+)."/`!!  k#R  "&60      + 044|09(2 B:>=PD"306=,-(1#!- $+"!*X2/&/#'.=656?6?325"/&5474?63227&547'5#5!!7676Z % 'W +  - I%)#+'   %!" ):,v= #L0 ) "- %2 !# +   ,"9*'*044|, 9?C Q*2;25+"'"&/&/;26?5'+'.546?22;?/&54?'5#5!!?6?/&+""#".5474?363+ 7#@ /`!!  k#R  "&60  #   "*,_B&L /*?"n /A 4/ X:D"306=,-(1#!- $+"!    + 044|09(2 B:>e6&,* : f.F%6;22!>?''#5!#/&/&#&#"#'"/?67&/54b +|CC%&W AmC3fI      l  + ;0A5F*#5kBE22-0   /<*&'4M'32?53#/.+"+"&546325'./7"/474632#"'"/1(&WA! }T 3 -D2L,<:;~C+/ y!+d N&IB2 !"4 0 &1E;!-O^. / 'X4Q73232?5!#/&/&#&#"#'"/?67.'&/7"/474632#"'"/1(&WAK2! }I    !`"<;~C+/ y!+d uU '&IB2-.  * UO^. / JZ23!3267"&57632#"&/5.+"#"&546325!5!74+"#".546??QL&'e%4"2S3 2 %1&0(3- )DO -B   G52$f038.%<U8 y% 0+*1- 22' &   %2;25#"&/5.+"#"&546325!5!74+"#".546?723!3267"&57632/&+""##".5474?327*6$ 2 %1&0(3- )DO -B   ?QL&'e%4"2 $$T /A 4/:8 y% 0+*1- 22' &    G52$f038.1'!&-* 8 'Wp.'2?6?653#+"&5&54>57>=&/&/#"&54632>5'4'!53/&5467r)6  /& f;     F4+\&%   "&7); " !&M'C)* "!&' -( 20 /&*6!")L2#6"*!&03  G&2',#)()8;.W"&576325!5!!32?#"./&/.'2?4'#"/&/&/  2  = +  kW?T'  '  )A*L+X * B 9 22 C/!&Yo=.K>9#8G 21.I:    u;.72;25#"./&/.'2?4'#"/&/&/"&576325!5!!32?/&+"""#".5474?3327*6$'7?T'  '  )A*L+X *   2  = +  7$T  /A 4/ :~=.K>9#8G 21.I:     9 22 C/!&V=&,* 7 I.746325!5!!26?"&57>32"'5'&+"#"&F0(3- `$  $ G<*+--+1&q*1- ~22 T # ' @n$P : 0+D.Z#"'"&/3264/##"&/46?&=&/&'#"&54632>5654.#!5!#(*'  *: 0(  -**D@3)(  )&*2&*g D!V@9$=&ce +722L>% "+ '#(#,@ 226')qD.m25#27/././>7"'"&/3264/##"&/46?&=&/&'#"&54632>5654.#!5!#N% !3 %%&'" *{< 0(  -**D@3)(  )&*2&*g D! (*0<8L  -`h +722L>% "+ '#(#,@ 226') @'.k#/&#""&/&=74?72?254&+'#72"&/4?'&'#"&54632>54.#!5!!@3N  A*6 )#    &  /!)0(*k'6'  =%"   E  ! '  ".  ")#,A 22]D.j25+".'26=4.+#"&=46?.+#.=654632654'!5!#/.#".547327KE/'5cC< (21M*8L #3#+ J# 2&FT4.D R# =ZPKPb ;AWtF 3!J,'E&  %-#7 2.#,T2-22&72$g@+& =N(!*-V. \6;7&/&'7&/&/&/326=4'7'&#"#"&547567#"&54632>54.#!5!#$'/=O $"O/BB; , W28v&T  @!$ )0(*ks!O 33 <7K(B.-B("  w&<% ': ")#,A 226' .>46325!5!!>?/&/547'5'&+"#"&F0(3- u FI"&W# BmC "*1&q*1- u22<5A5F*#5 3'%<*&EkAEu * 0+x.@%'%46325!5!!7>32/&/&#'?'&'"'5'&+"#"&! 90(3- x[; #7[7'$-70 "*1& *1- u22$7T $  ?'"/&#"#"/&/57?3'&/47'5.+"#"&F0(3- o FI"&U8 )z@ !  K 4- A! .E1&r*1- 23<5@)8, ,9  $=MG!15JR  0+2.D7/46325!5!#?6372/&'5/.#'?.#"#"&C6*&Q2  & $  U:0@`< +7f,52"22 ~wI  0@@,33  t2. Z25#22'/46325!5!#?6372/&'5'/./67'.#'?.#"#"&  ! AC6*&Q2  & $  %%&QK U:0@`< +2<7f,52"22 ~wI  u-H @@,33  [.q7'2;25.#'?.#"#"&546325!5!#?6372/&'5/&+"""#".5474?3327C%  A50@`< +6*'P[  & $ G  (7 ,(7  ;&0 @,33  !,51#22 ~w/9  {%,* 7 .C746;25&/.##"&/46;35!5!#/&/.##"'E4  &aP'"))G2  %'b P(& F2A~ 4E" "&4? %= 22*'2E+>X.C3246;3!5!#/&/&#&#"#'"/?6;.##'&'{2

3253#/&/./&/&5372654/".57463'&/'6?'&,  <Y-  Y$J[-E4:$*# /" $1)9&7(A '?^ 2B!:D%2{6)7  2() ) 3#  #p S'&#"27&&#'&+"+"&546325&5./'764&#"#"&54?>32'53#/O"> v*1 $.D2$F! G+   ,A)*I,  DO @M u!V/!&1)E.* ,$4. ~  2y<GU`3#'54/'7654&#"54?>?654&#"#"&54?>32'&=254&//""27&/&#"27& DQ26+  D-%    ,A)A} );" 7  8H vO"> v`2)c .' /  ,E6d{/.'1w  M u @M up d'&#"27&7332"&54?>32'53#/&/&#&#"#'"/?6727675&5./'764&#"/O"> v#    ,A)*I,  I     ! G+  @M u*V ,$4. ~  2-0   E.* #p m'&#"27&"&54?>32'53#/.#"'.+"&546732#"./&54632>;25&5./'764&#"/O"> v  ,A)*I,  DO# # ' %!, +-&! G+  @M ub,$4. ~  20 + $#  A$7E.*  /. ;h27'&/"%76?2'4632'&/#"'7654'""&%.#"/#5!#'5/&#""/&/72?&!&c#"/6-nH'O 2+ <  '* f0  !(.  !  A,o-d 6  4 r.#:  !* '  229 #:A&%  Wj"&'5.#'6?.'&'#5!74+"#".'473723!563#".'4?23257.#">7#"&546;2c: Z0-9P D@2 *2$% 5@PY43_i @J' +#0Q!+)rS,)2G. 22 /2   H42"FO*:G6$    J*!B=tr.s232?4&/"/.#"&/&+"2&546732#"&5463246;25&/&#'?'&/&/#5!!6;2#".'47  ?$  '  $2,1'& #"4H:._" r5H={,5" 0;(/%$H ,0   +  $C';   .2%S1M 22 & C `&+#FQ'.ja=) 6 S    MkC1/OD,22- ,=$()*V& "9*66=. _'/.#'?5#5!!76?673./&/#"&/&54?3337/&5'4"%Y>Q'.ja=) 6 S  "4o5' 1g   MkC1/OD,22- ,=$()*V5- #= " *  6"9*66L. J%577%>75!5!#72/54&/"/&/&'#'7/#%(6, &?)-KZLO  , A  ;B!BS% 75<)22! S   %ES2 ./4725./675!5!##/./.+"+"&546I6!uT@\ %  &.C]dwJjI-:Y[k."22     .#%1 H2q(.9767#"./32654'#"&'5467&/7675!5!#"2!2%23b[I;mL>! Si,A;+8.:`14UP2.%s.3SOa8QcKu09!;7%"RF$822 .N>;25'&/.#'?675!5!#/.#"/&+"&546732#"&54632RK*" >  !+0#@;25##"&'&/2?4&"B#+GH " B:6F #  ( %2,-+&'Dd< 9.0"[+.2&225;#>2F,j< 0  +   $C'B#C  *: 0(2J%**D@3(*0*#0:t.L$0 0cY1 ce heL>%+!. 4  ,22 l672654&'#%3#'./7>54&#""'+"/+#"&54727256=4&+5!637632Q Z %WT>n+0O&HC- /   *(&*'0<z 16+Q-  R  0L,2X4;h!>"  #%4 -2%K;4$  P . P2654&'#'4&+5!!>?/&/547'5+"/+#"&547272565  %<u BD&'W# AmC(&*'0t0LI-22 ;2A5F*#5   43'%<*&EkBE_#%4 &. T2654&'#.#'.+"+"&546325#"/+#"&54727256=4&+5!#  %`5 .D2&F&(&*'0<R" t0L!,* /!&1,#%4 -22$0 *.<F74>325.'#"&54>324.'&/#5!##&/&/&+"+"&w+" G8;'0-%$ -6A  #]   " $- ?U9 %JH&6,4#$ ,:22   %/+wA9+\Dp `'&#"27&2654&'#7632'53#''&/'764&#"+"/+#"&54727256=4&+5!#PO"> v %r3f*I,  DO0 G+  @(&*'0<z&  @M u^0LkG$4. ~  2-21.* C#%4 -22Dp '&#"27&2754754&'#4&#"+"/+#"&54727256=4&+5!#632'53#/&+"""#".5474?332732;2'&/'7PO"> v$  %A)&*#0<z& 6b*I,  DO$T  /A 4/, 0 G+ @M u` .L6*F#% 4 -22F$4. ~  1&,* 7 21.Jp '&#"27&2654&'#+"/+#"&54727256=4.+5!#632'53#/.#"./&+"&546732#"./&54632>;25&5./'764&#"VO"# v %v.&)&*#0<z&8cv@  DO# *  *3%&! G+  @" u_.L-#% 3  22I ~  20  #+" $  :%7E.* q. r254/#'4&+5!!6;2#"&'4?232?4&/"/.#'?'&/"&'"'+"/+#"&547272565 3 %<t5 &={,6!0;(/%$ ? ":T0:._" 0!(&*'0t<&LI-22 Kg &9X"F/(0(#  ,x,:#S1M  **#%4 / 2654'#7+"/+#"&547263656=4.+5!!72#"&'4?232?4&/'./#".54??2325'&#'?'&/"&'"' %}20)&*'0 <%H={$-,)k[0$$! %#?O(9  !F  Sy:._"u0 '%G#%3  2354'#"/&/4747467#"/"&54?636=&/&+5!#+"'< *&72.4cQ_U& 164SZE!'+ 5!6" f$> 1.   " 1;Q;RdI9-6#_>&"1*1  5 "!  22 ,   *  .[m/&/#'.=46?325"&=6?632267&/+".54?654&+5!#'2654&+L&  V + - I%)$() &.  $K :0&1 Jc" 4  2)! !.5%2 !"/$  =!(%*/'22$6 * @%#: #7.%2672/&#".547327325#"/&/&/2>54'#"/&/4747467#"/"&54?636=&/&+5!#+"'74&+32?62.495=ZOLNd "D )_U& 164SZE!'+ 5!6" f$> R< *&1;Q;X3&:Q(! ,+;y I9-6#_>&"1*1  5 "!  22 ,   *  1.   " F. #]2654&'#7#4'#"/+#"&54727256=4&+5!#/./"/4?672  %}  m">&(&*'0<IX -,, 9t0L4  % &$00#%4 -22-+4 3.cp%25+"/+#"&54727256=4&+5!#/.#"./&+"&5463632#"&5463246372654&'#  (&*'0<b"# *  2,1'4! %|#%4 -22$00  +    B(;? 0L.Xb%25.'#"&54>324.'&/#5!#/&/&#"./&+"3&546732#"&546324639 ;'0-%$ -6A  #]%     (+2,,%?U9KR&6,4#$ ,:220    %<.A%+wA9+\6.k76?2'2654&'#7+"/+#"&54727256=4.+5!#'5/&#""/&/72?/.+"'-q %}20)&*(0<6f0 F   !  A ' 6  4.LH#%4  229 #b&%  W 6.76?2'2654&'#2;2/&#""/&/72?/.+"'+"/+#"&54727256=4.+5!#/&+""##".5474?327-q %*0 F   !  A '20)&*(0<6f$T /B 4/ 6  4.L #b&%  W H#%4  22&-) 8 Y. m%5'246725!5!#32#"/46?274&#/&#'?4&'#"'4&#"&5432#&/&574>748 `  E* G1fj #%N  /4 $(  +  $  33Q<6 %2'^HI7 ) .!  *.   2j26?!5!>32/&=3#'.'.#?'>54&#"+.'&+.#"&5462#"&546326.$W8" W[- ! / *1 +!:S K   7()#80:)N?2/%!  2) 8"S77 * 2-) %*($4."AY*+ 7)1 0'#P?4? #;Jn25!5!74+"#".546?723!3267"&57632#"&/5.+."&5462#"&546326<+vDO-B   @PL&%h%4"2Q5 3  ! 7R#80#! )N@15!  k22( '    H42$f039-&<U8  + 5+1 0&  Q>4?#;w%2;25#"&/5.+."&5462#"&546326325!5!74+"#".546?723!3267"&57632/&+"""#".5474?363]+ 6$  3  ! 7R#80#! )N@15! -+vDO-B   @PL&%h%4"2 $T  /A 4/ :8  + 5+1 0&  Q>4?#; k22( '    H42$f039-&<&,* 9 8~.x#&/&574>?246?25!5!#32?#"&/54?2?4'#"&57'654&'#"'&/&+"&5432 $0    ! +  kW7p D*L+V# !   3 /45    " .{22 C/#$YoG7)  %1.F /  & $*f~.2;25#"&/54?2?4'#"&57'654&'#"'&/&+"&5432#&/&574>?246?25!5!#32?/&+"#".5474?363*7# /7p D*L+V# !   3 /4 $0    ! +  '"n /A 4/: G7)  %1.F /  & $*.    " .{22 C/#$1V&,* 9 G/y632767325!5!##"'"&/././.'3264/##"&/467>3735&#"'&/"&'4632#"/.5t Y4   BGY 5B -j$   (  ;7**D@3&( &# +:/ ,$p`&  t33%8O!T#5 #  (d)L>%"+   A<**%$1D.Q6325!5!!>?6?/&/547'5&+."&5462#"&54632 - }DuJ$'W#AmC 7R#80#! )N@15;`22B A5F*#5 !?3($<*&EkBE+ 5+1 0&  Q>4?/ s%46725!5!#7632/754#"./6?6754&#'./"&54632#"/.57>32 &,, `    +79" )! 1  % )&(9?"$ !  l)'33 +J0$  ^  /&(F,3"$ &" + C7!1;Jp Z'&#"27&'!5.+.#"&5462#"&5463263262'53#'&5./'764&#VO"# vv*  7()#80:)N?2/%! ->@  DO0! G+ / @" u\22+ 7)1 0'#P?4? #; m ~  2-E.*O.i6327'&/&/!5!!6;2#"&'4?232?4&/"/.#'?&+.#"&5462#"&54632 -  5" ]5H={,6!0;(/%$ ? ":U0:. 7()#80:)N?2/%;  + 2232#  `, aI    $ )  0 %!)&)8>#$ R n)'32-,  *, !"$?+ B7!0</u25!5!#/.#"'&/"&'4632#"/.=632767325'&/&+/&'"/"&54632+/&57>3246*8zY % +:/  %" Y5  0 !&"AMF($ ,433 #**% : `& B  > 5 0' 7 -P3;)~4&#"#"/"/4?67/&+'32>?2'5#+"/./&'32>54./##"&/4636732D % /# &'  A2g#  1  MS*%J3  -I 4 >>**$8 4!$8  gZ  # !"  .* 1 E'#u   2*>75 H: 2 2&H%! ! %"%6 00 R%26=/&'76325!!#'.5&#""#"/#"&54?4/#p".-+&)0 Y^> 517 !!&0,- sv1 /'0 J2   !! V>c'5"+" 0t;6?65/&/2&/&/;2726?654/#'.='&+""#"/#"&54?4/376325!!;7  . %,(8-'46bt<)910%+J1 &u%' // !!&0,- :+&? >2  "   >)-8"46'h& \+, 3O"qP'5"+"'%+N2 c.#'.+"#"&546324&#"#"/#"&/46?67/&+'32>?2'53#5 '$D2#BD % +#  1  A2g#  1 CVC!,* 8&1''Z  #"   * 2 E'#u  2 m3324&#"#"/#"&/46?67/&+'32>?2'53#/&/&#&#"#'"/?67  D % +#  1  A2g#  1 I    !V Z  #"   * 2 E'#u  2-.  * 4&#"#"/#"&/46?67/&+'32>?2'53#/.#"./&+"&5463632#"./&5463246;2D % +#  1  A2g#  1 CV#  *  "!1'4! gZ  #"   * 2 E'#u  20   +"    ;? . ",\2654/&'"#"32?654/&7#"&/46?274&#/.#'?'&547#5!#   '    Be8! B *G cO016,8  N$  2+=W6  $3/-GG%$ !81422 &,.!2>54/&'""32?654/&#7>;2+"/&'4>72326=4&'#/&#""&/&=74?72?254&+'#72"&/4>7#"'".547#5!!3  '" B (      2 (%$@3N  A*6 )#  ' ()8      2F         ( ! =%#   E  !$  "4'4122 M 2654/7>54/"3723#3?>5.5467#'"&547474?'#"/.=76?#5!656574&/#".547$H z( %# f=?Sk   + !H 4-'+5)   8  T(%9 K [  #;&+,s (2|" ' !!   .$ / & &2% *p >54/"2654/2;25#'"&5474?'#"/&=76?67#5!67574&/#".54673723#3?>5.5467/&+###"&'&5474?327R( %# B%H *6#-'+5>   | T)%9   f=@Sk    !H  #l  G%4.&+,R [  #: .$!8) % 2% '  (2  & #!  %%? 8 $N -c7265'4''2?65&7#6?'43##'.'&=?&/&'465'&+53/&5671f.8=6    0!" #2Ĩ D8.$J 69(#(TwMDBWc&!%6     ("'&J##22<2'F4!.#$6#  -:  X 22<>D+%w/:o5'&'?46327654&+"";2654/&'#.72#"&'/.#&+'?/#".'4.'#5!#>8)(# /'/!  (0SU!&#  1*5  7#'W{3 D|&+ Y'$% 1!( !o!c,  ?/ $  5)V%4(^Xk  33ZP p$/j672654/&'""32?654/&#%'&#"27&47#5!632'53#'&5./'764&#"#"'#"'".% _   '" BO"= v8y|&8v@  DO0! G+ 6() _   2 @M u;142 ~  2-E.* &4p#.72654/&'""32?654/&#%'&#"27&"#"'#"'".547#5!632'53#/&+"""#".5474?332732;2'&/'764&9 [   '"  BO"= v6()8y|)2*I,  DO$T  /A 4/*0 G+ _ # 2 @M uO &4'142$4. ~  2&,* 8 21.*J. n2654/&'""32?654/&#47#5!!6;2#"&'4?232?4&/"/.#'?'&/&'#"'".   '" B[8y^5H={,6! 0;(0$$? %9U/:._"  #()   2$1422?2732/&5472326?'4&//.#"#'".5474?32?24'672"54>7"/.5#"/&5732654'#5!o% 5(N  " :,  #-    1#5..B! -%#$K9 !(  3`$/  0 m#"Ac-  6R:)   )$  $ +"  58 &5#4D   3 , f," < !#D22 e3?654#'&/./37>54&'#"&5432?.5#"/&5732654+5!)+ !< %(:@ SV  `;PL$%< (   $!0/&6K  $ 0 ;  $-% (/& +$_2 7+Q ' ! "3$Y !#D22M 3?654&'3723#3?>5.5467#'"&5474746?67&/&5#"/&5732654'#5!2574&/#".5467)+ ! f=@Sj    !H 2-'+5)6  D  $ 0   T)%9 ;   & (2     & #!   .$ ;#4/!#D2 % '~. 2654&'#"&5474?36;2;25#'"&54746?67&/&5#"/&5732654'#5!2574&/#".54673723#3?>5.5467#/&+##x *{**SH4/*7# -'+5)6  D  '0   T)%9   f=?Sj    !H "n   &; 6Q7 8 : .$;#4.!#D2 % *  +2     & #!  &@. f2654&+7#"'"&/./3264/##"&/4672637'.5#"/&5732654+5! )x)+`DC  -i$  0(  <6*+D@3&1 ;  $ 0 @$; d-%  "bW3S$5   (e(L>%%. F !#D22x@.t25#22654&+/./>?"&/./3264/##"&/4672637'.5#"/&5732654+5!#}  ! 7 )x)+D  ; %&40i$  0(  <6*+D@3&1 9  $ 0 @VD.<$; Y2 -(P(5   (e(L>%%. D!#D22-%  ". r3?654/&#""&/&=74?72?254&+'#72"&/4?>7.5#"/&5732654+5!)+ !< @3O  A*6 )#   )     $ 0 ;  $-%  =%"   E  ! '  ".*!#D22J@.v25#"'"&/./3264/##"&/4672637'.5#"/&5732654+5!#/&#".5473272654&+:F -i$  0(  <6*+D@3&1 ;  $ 0 @VD=7i.QJMf )x)+";S$5   (e(L>%%. F !#D22-%  "bT1&=N$% ,+$; `. f3?654&#>7327327.5#"/&5732654+5!#+&/&/326=4'7'&#"#"&547)+ ! 00'   $ 0 V$&!?M$ b/BB;:=W26x&T! A $;  $& & !#D22-% = 8K'  Q.-B(""w&<% ': /. O3?654./&/&+"+"&546?6325#"&5#"/&5732654+5!(, ! <   $-!#&F6M  $ 0 =  &-'   ! %/!, ,X!#D00pc67#3?654&#'&#"27&%4+5!632'53#'./'764&#"#&#&##"&5#"/&57326)+ !. !O"# v )?v@  DO0$ G+ .6M  $ 0 ;  $$ @! u2# ~  2- W.* Y !#Dp>7#'3?654&#'&#"27&2;2&5./'7654&#"##"&'#"/&5732654+5!632'53#/&+"""#".5474?3327 )+ !) O"# vO*1 ! G+    !]  $ 0 ):v@  DO$T  /A 4/  ;  $$ @" uE.  ?5!#D2  ~  2&,* 8 p7264&+%'&#"27&%4+5!632'53#/.#"'.+"&546732#"./&54632>;25&5./'764&#"##"&5#"/&57326e *x)+HO"> v %9*I,  DO# $ * %!, +-&! G+   6M  $ 0d"$; @ @M u2$4. ~  20 +" $#  A$7E.*  X!#D. d3?654/4+5!!6;2#"&'4?232?4&/"/.#'?'&/&'#"&5#"/&57326)+ ! 5H={,6! 0;(0$$? #:T/:._" $&6M  $ 0;  221F  HD" 6v&!(1*7Q 4 &$&1  22S.{272?6;2+"/&'4>72326=4&'#'&/&/;726?654&#"#"&=46?654&'#5!![ ,2.   2 (%$?D2, D6I6Xh7!V = @)"& 5=9!#5   (  +:  HD80 4 &$&1  22.#0r5"/&'"''3275#"&546?674/#5!#754747/.'+&#&5463654&+  !B/ <  3%  MX48W"3$ &"' ( C   2   #*F"0 22F5< |L  !D!E  *1 "+  T.g25!66;2467>7.#""&5>?654'#5!#'.+.'"&54632+"''&/3l/ !4 9%]$2#)- 7''1&*Ta3,!4)D!$,R&!Seq7!["'   @" - '1!; #) 221&. 0'F  @?* 0D$P.w//&#"'.#"'6=>32#"&=>3226325/&/;726?654&#"#"&=46?654&'#5!#2|AK2, D( '!+;3*- ".Xh7!V = @)"& !i>1F  HD(3  @ #:!344 &$&1  22S_ +4&#"76#"&54>7254?>7#76?%3#'.'.#?'+"'#"&/&/326?654'#"/5#5!'&=/ !;#% &W[- ! / *1 !%!`5>P2  $D#)M",5"I0" p %-@b     "$ #,2- %*+$4." IGNb%&$JK)3B2) %"K 20"S79&aF. P%4&#/.#&#'>7./76?6?675!5!#72#"/4?2*!) ! 6@?P$P:  J+#"7L8E,2 *'L :w0!   T   )  -G?}-R &1<$ " U  '22&wV)3 H%4>32/&=7#'&#'76375./&#?'>54&#"#"&l4*<">)W8% C[!2Z$5Y.-*1 !%  :R K &-*(/ 8%P77 -2 h?(Gi4+*+ ."AY*)`.7%7267#""&54?#5!#'&#'>7&/7673> , 61J$(E!$#B 3^!0\$45   $@  "  >)-8"76' &0<(  \0' 3O"22 3d.25#2/./6?>?67'&5467'"&/&#"376?6363232#"./&/5732>54&'#"&546?#5!!3732?" $7& %%&    "^ 3 % :  :&'D,   _/01  *2@n/2  /n<e*&7U -   {2Y &C& # G &. 4++3a 93R " T,&22)M777'&#'767./#5!74+"#".546?723!3267"&57632 ?^-!0\$ #;;DO -B   @PL%h%4"2Z(Q1 h? 2;22' %    H42f038#.B25""#"/5#5!!26?/./>7#"/&/32675&< #w_& #B 0N  >%&H U9#8A3T <<P$227 ?Et. -0]?K0>K9"#:;!H%5'"&546?2'&=7'3#'&#'>?6754&/"/4632# <"5HE2%    G^!0\$/(C,'5%0&*VZD>L   2KH 22 h?%  c9V 9* '-=. a25""!!#/./&/>?67#"/&/&/&/&'2>=4/.#""/4?632< #@  ,%&3 $$ ' 0.' F9"  + 2=!3&-&>x+' j A "(  % 8 O!q HJ%73#'&#'6?./7>54&#""&5?>32@ <"!WT!2Z$k \60O&ID, /  $ .5)+Q- R *1,2L h?Q ': h?# ))K;!8+   P .+7/7>32/&/&#'?'&'"'5#5!!! [; #7[7'$-70/ӷ {&5T $  ?675#%32?5!#/.#'/.'&/7"/474632#"'"/x 4V(1f1(&WARK*" >F! }] "L  n"<;~C+/ c *"!+d ,5 * -a&IB2&Jf3!dO^. / .<'&#'76?&=&/&'#"&54632>5654&#!5!#AL!0 R &32'53#'&#'6;5&5./'764&#"~ <"pO"> v  ,A)*I,  DO!2Z$! G+ *+ @M ub,$4. ~  2 h?oBE.* 0!-8/./&#'/&/&#'?5!5!?5#25 B6" /+ "7Xvi8R U+  K!2"&.:  9#P6R0228@,55*1 !9'. =A%"25"./6?&'32654'#"&54632767'!!k   >%& P @8C*8NP>,?&1$Bn/) \66 :./$8#>%" ,&1 Lϱ    )",# &$6  !"[e"%*/ 22%#*%   &2.r%5'254&'#"&5474?;2325/&#'7#&/+".54?'4/&+5!#7/&+"##,# &:  (I>.)# 3  1F" ,&1 }e"J &2}H*%   qP7 9    #:[e"%*0  22"8  U%1/J%46725!5!#'&#'?6754&#'./"&54632#"/.57>32% <", c1`!2Z$[*)! 0  %!)&)8>#$  *Z)'33 h?E Y-2!"$ ?+ A8!0<V%574&#"#"/#"&/46?67/&+'32>?2'53#'.#'7671>""AD % +#  1  A2g#  1 CV M,,Y7d+Z  #"   * 2 E'#u  2,5LA$ './:@2654'#5!#'&/&#'73.5#"/&57%2654&'#35q0 )c$! 1F#>A   % 5(C,!"&D22*):]x D% !# #"A'2.M%?675!4&'#5!#/&/&#''&/;>754&#""&5>?6 RK*" >3+PV(1_ ] %2!"/-feq7![" "1#*- 7''  &[5 * -~ "./*"$ 22&P!'=' 0D$ &3!; ' .. Y%5'.'/.#'>?'&/;726?654&#"#"&=46?654&'#5!#2+? % LAK2, D? K3+*/# Xh7!V = @)"& !i' )1F  HD 0 &0<" 4 &$&1  22S4>72"/&//&+"#".547474?36;2;25&/&/&/?>54/#"&=632?3!2?4'#"&"%!"n /A 4/*6  MvS*%&)= +C'!+0L< = - S +4, :8{&,* 8 5D   Lg / ( *0-H4 3<- #(27 /$y2?3##7/&=4'4'/&+"#".547474?36;2;25&/&/&/?>54/#"&=6C0L< = -V:   : 8"n /A 4/*6  MvS*%&)= +C'! -H4 3<- #( 0 *_T 5%$0  &,* 8 5D   Lg / ( *03.b46327#"&'./3265'#".'4632>54&'.#"?32'7674#"'XL+ ,\ 5/"=3%Ia$ <1&('/ '  ( 3=   %>M*'L &n0*$/1*QZ ,503( YQ1H >5?   4>72"/&//&+###".5474?32732;2.'.#?'>54&#"#"&54>32'&=753!2?4'#"&"%!$n  /A 4/ *7# %)4 )1 !%!:R J &>)< 35, :8&-* 7 :%-!++$4."AX*)(/ 79& -2)/$ v4>32'&=353#7/&=4'4'/&+###".5474?32732;2.'.#?'>54&#"#"&>)< 7   :3$n  /A 4/ *7# %)4 )1 !%!:R J &(/ 79& -2 *_T 5%$ &-* 7 :%-!++$4."AX*)4>32/&=753!2?4'#"&54>72"/&//&"'&/&+"&5463632#"&54632>;2535./&#?'>54&#"#"&>)W8% 3+4, "%!# (   +33%4!.-*1 !%  :R K &(/ 8%P77 -27 /$:80)   +    :0:?<34+*+ ."AY*){3#7/&=4'4'/&"'&/&+"&5463632#"&54632>;2535./&#?'>54&#"#"&54>32/&=9   :6# (   +33%4!.-*1 !%  :R K &>)W8% c* 2 *_&@ 5%$0 0)   +    :0:?<34+*+ ."AY*)(/ 8%P77}J.>%#"'333/&5467'"&/&#"376?636323274>72"/&/./&/#"&/&54?&/&/5732>54&'#"&546?#5!!3732?"2?4'#"& :&G61g    "^ 3 % : "%! !&"4o5   _/01  *2@T/2  /K 5,  &.6 )  :{2Y &C& # G:8 L &7U- )8 " "+3a 93R " T,&22)M  )/$ }.>%#"'333/&5467'"&/&#"376?6363232/&=4'4'./&/#"&/&54?&/&/5732>54&'#"&546?#5!!3732?7 :&G61g    "^ 3 % :  :6&"4o5   _/01  *2@g/2  /F   &.6 )  :{2Y &C& # G:&@ 5%$0  $&7U- )8 " "+3a 93R " T,&22)I *.x!!4>72"/&/'.'&++".546?3237632'&'7#"&54746?6?22?4'#"&"%! $o 6D C  '<%4   021( @5, .2|:8;  6D*: Y&!  $% (4>*/()/$ .i!!'.'&++".546?3237632'&'7#"&54746?6?27/&=4'4e/ $o 6D C  '<%4   021( @4   :.2 ;  6D*: Y&!  $% (4>*/9 *_T 5%$0 4>72"/&//&+""#"&5474?36;2;25'./7>54&#""&5?>32!!2?4'#"&"%!#i PD2-(2 e;0O&ID, /  $ .5)+Q- R )+4, :8s&Q7 : 2%(D h?# ))K;!8+   P ,27 /$jz%/&=4'4'/&+""#"&5474?36;2;25'./7>54&#""&5?>323#7 : +#i PD2-(2 e;0O&ID, /  $ .5)+Q- R +  &@ 5%$0  &Q7 : 2%(D h?# ))K;!8+   P ,2 *. T7654'5.#"&/./#"&/46?23257>54'#"&547#5!!>763 c8 48 >!#6' 2)19ES722W(:7/k7?3'&/47'#5!!>?2?4'#"&54>72"/&/'"/&#"#"/&/57)  K 4- A! .Eo FI"&U 6, #%!& ({@   $=GM!15J33<5@*/$ :6n)8, ,9/]7?3'&/47'#5!!>?7/&=4'4''"/&#"#"/&/57)  K 4- A! .Eo FI"&U   : 5 ({@   $=GM!15J22<5@  *_S 5%$0 9)8, ,9474672"/&//&+""#".547474?23;25'./7"/474632#"'"/32?5!!2?4'#"&541(&WA~*"%!a  *-.* I <:;~C+/ ! }V0/, y!+d !:6u% 9)  9 4!-O^. / &IB2:/$P4w/&=4'4'/&+""#".547474?23;25'./7"/474632#"'"/32?5!#71(&WA : .a  *-.* I <:;~C+/ ! } /  y!+d &@ 5%$% 9)  9 4!-O^. / &IB2 *1.##"/&/./&'3;2?674&'"&5463273265./##"&467'&'#"&54632>5654.#!5!! )  /. <.,-"%. '( !!  #)D>)&*2&*g 16'5#,&  - a\)(" )"  $#JI'#(#,@ 22/4>72"/./'"/&#"#"/&/57?3'&/47'5.+"#"&546325!5!!>?2?4'#"&#% !0$ )z@ !  K 4- A! .E1&0(3-  FI"&U 6,  :8-i)8, ,9  $=MG!15JR  0+*1- 22<5@ */$U/v46325!5!!>?7/&=4'4''"/&#"#"/&/57?3'&/47'5.+"#"&F0(3- U FI"&U   : ; )z@ !  K 4- A! .E1&r*1- 22<5@ *_S 5%$0 7)8, ,9  $=MG!15JR  0+p '&#"27&4>72"/&'/&+"""#".5474?332732;2&5./'764&#"#"&54?>32'5!!2?4'#"&/O"> v#%!&$T  /A 4/*1 ! G+   ,A)*I,  9,  @M uZ:6&-* 8 E.* ,$4. ~  2-/$ p ~'&#"27&"&54?>32'53#7/&=4'4'/&+"""#".5474?332732;2&5./'764&#"/O"> v  ,A)*I,  7   :3$T  /A 4/*1 ! G+  @M ub,$4. ~  2 *_T 5%$ &-* 8 E.* p '&#"27&"&54?>32'5!!2?4'#"&54>72"/&//.#"'.+"&546732#"./&54632>;25&5./'764&#"/O"> v  ,A)*I,   /0, "%!# # ' %!, +-&! G+  @M ub,$4. ~  2 :/$ :60 + $#  A$7E.* p '&#"27&"&54?>32'53#7/&=4'4'/.#"'.+"&546732#"./&54632>;25&5./'764&#"/O"> v  ,A)*I,  7   :3# # ' %!, +-&! G+  @M ub,$4. ~  2 *_T 5%$ 0 + $#  A$7E.* .s74>72"/&//&+"#".547474?36;2;2335'&/.#'?675!5!!2?4'#"&RK*" >#%!`  )9 -)&    !+0#@   !+0#@;25'&/.#'?675!5!!2?4'#"&54>72"/&//.#"/&+"&546732#"&54632RK*" >  !+0#@;25'&/.#'?675!5!#7/&=4'4'/.#"/&+"&546732#"&54632RK*" >  !+0#@72"/&//./#".=46?725#"/&54?6322?6322?4'#"&"%! 3L' )g'; 0 =C"  89  5 5, .2|:8!56& 0 & 1+  :?  +  )/$ .a!!/./#".=46?725#"/&54?6322?6327/&=4'4b6 3L' )g'; 0 =C"  89  5 9   :.2!56& 0 & 1+  :?  +  *_T 5%$p '&#"27&2754754&'#%472"/&'/&+"""#".5474?332732;2'&/'764&#"+"/+#"&54727256=4&+5!#632'5!!2?4'#"&PO"> v$  %.M%!1$T  /A 4/, 0 G+ A)&*#0<z& 6b*I,  6,  @M u` .L 2:6'&,* 7 21.*F#% 4 -22F$4. ~  2*/$ p '&#"27&2754754&'#7632'53#7/&=4'4'/&+"""#".5474?332732;2'&/'764&#"+"/+#"&54727256=4&+5!#PO"> v$  %p6b*I,  5   :1$T  /A 4/, 0 G+ A)&*#0<z& @M u` .LnF$4. ~  2 *_S 5%$0  &,* 7 21.*F#% 4 -22.4>72"/&/./&/#&#.'&=46?32225'./"/4?6724&/&/&/#5!!2?4'#"&D   a"%!"4o/' gH 3 , 9+ *-  85, : %  &]|:8-  #>"  7 ,   /8 22)/$ .{./&/#&#.'&=46?32225'./"/4?6724&/&/&/#5!#7/&=4'4D   n."4o/' gH 3 , 9+ *-  83   :: %  &] -  #>"  7 ,   /8 22 *_T 5%$0 {. S72#"&54674>72"/&//./&#'76?675!5!!2?4'#"&'5,'D4*V"%! -4.%-AZ U(1{40, $#4- :8 S6Y; (!22> /$ ?. H72#"&5467/&=4'4'/./&#'76?675!5!#7'5,'D4* : /-4.%-AZ U(1?1  $#4- &@ 5%$0  S6Y; (!22 */'463275.#"'&/"&725!5!##".'&/3265'#"'46;3>54&'.#"73'7674#".54>7.=632767   (%* +:/ /zY 1*-7P<#$!# 3-$$#-5  & /7 !   $7:G A() Y4  2%    R8%** Bt33 + </+)7EC 69$%  0  A=&4 1(/    9 `& YU2?674&'&/&/+"/+&54?67//724?6;37#"&/&/&/&/32>?'#"&'4>n%.    1+ ?    + #  ^  ; $#RK", )f HR    &  '   0h& ; 2E&(,.#NEF+b0*K "4>72"/&//&+"""#".5474?36;2;24&#"#"/#"&/46?67/&+'32>?2'5!!2?4'#"&"%!$T  /A 4/ *3D % +#  1  A2g#  1  4, :8&,* 8 1;Z  #"   * 2 E'#u  2)/$ %/&=4'4'/&+"""#".5474?36;2;24&#"#"/#"&/46?67/&+'32>?2'53#75 :-$T  /A 4/ *3D % +#  1  A2g#  1 1  &@ 5%$ &,* 8 1;Z  #"   * 2 E'#u  2 *4&#"#"/#"&/46?67/&+'32>?2'5!!2?4'#"&54>72"/&//.#"./&+"&5463632#"./&5463246;2D % +#  1  A2g#  1  5, "%!#  *  "!1'4! gZ  #"   * 2 E'#u  2 )/$ :80   +"    ;?4&#"#"/#"&/46?67/&+'32>?2'53#7/&=4'4'/.#"./&+"&5463632#"./&5463246;2D % +#  1  A2g#  1 4   :.#  *  "!1'4! gZ  #"   * 2 E'#u  2 *_&@ 5%$ 0   +"    ;?p#.72654/&'""32?654/&#%'&#"27&4>72"/&//&+"""#".5474?332732;2'&/'764&#"#"'#"'".547#5!632'5!!2?4'#"&549 [   '"  BO"= v %%!$T  /A 4/*0 G+ 6()8y|)2*I,   .1, _ # 2 @M uH:6&,* 8 21.* &4'142$4. ~  2 :/$p#.72654/&'""32?654/&#%'&#"27&'632'53#7/&=4'4'/&+"""#".5474?332732;2'&/'764&#"#"'#"'".547#5!9 [   '"  BO"= v)2*I,  5   :1$T  /A 4/*0 G+ 6()8y|_ # 2 @M uA$4. ~  2 *_S 5%$0  &,* 8 21.* &4'142:. ~2654&+7###"&'3;2>74&'"&5463273265./#"#"&5467&5#"/&5732654+5! *x**`$  /YC,- 1-, '!! 4"'QC4  '0 :$; d-%  1# i \ /( " -""*(N -(!#D22.76?2'4>72"/&'./&/#"&/.54?3225/&#""/&/72?&5.#"/#5!!2?4'#"&-^#%!(""4o5' KgA&  (.  !  A '* 6,  7  4|:8l- < " 0! #:A&%  W  22*/$.x76?2'/&=4'4'./&/#"&/.54?3225/&#""/&/72?&5.#"/#5!#7- : 3""4o5' KgA&  (.  !  A '* 3  7  4&@ 5%$0 - < " 0! #:A&%  W  22 *.76?2'.#"/#5!!2?4'#"&54>72"/&//.#"/&+"&5463632#".5&5463246;25/&#""/&/72?&- '* 6, #%!#  '  )-+4!  (.  !  A7  4{  22*/$ :6z0   +   !  B?* #:A&%  W.76?2'.#"/#5!#7/&=4'4'/.#"/&+"&5463632#".5&5463246;25/&#""/&/72?&- '* ,   : +#  '  )-+4!  (.  !  A7  4{  22 *_T 5%$ 0   +   !  B?* #:A&%  W\p>7#'3?654&#'&#"27&4>72"/&//&+"""#".5474?332732;2&5./'7654&#"##".'#"/&5732654+5!632'5!!2?4'#"& )+ !) O"# v"%!$T  /A 4/*1 ! G+    67  $ 0 ):v@  +4,   ;  $$ @" uR:8&,* 8 E.  8% !#D2  ~  27 /$p>7#'3?654&#'&#"27&&#".'#"/&5732654+5!632'53#72/&=4'4'/&+"""#".5474?332732;2&5./'7654&#" )+ !) O"# v#67 < $ 0 ):v@  76 :3$T  /A 4/*1 ! G+    ;  $$ @" ub 8%*VD2  ~  2-&@ 5%$0  &,* 8 E. \p7264&+%'&#"27&%4+5!632'5!!2?4'#"&54>72"/&//.#"'.+"&546732#"./&54632>;25&5./'764&#"##"&5#"/&57326e *x)+HO"> v %9*I,  +4, "%!# $ * %!, +-&! G+   6M  $ 0d"$; @ @M u2$4. ~  27 /$:80 +" $#  A$7E.*  W!#Dp7264&+%'&#"27&%4+5!632'53#7/&=4'4'/.#"'.+"&546732#"./&54632>;25&5./'764&#"##"&5#"/&57326e *x)+HO"> v %9*I,  5   :1# $ * %!, +-&! G+   6M  $ 0d"$; @ @M u2$4. ~  2 *_T 5%$ 0 +" $#  A$7E.*  W!#Dw.GK'&/&/&/32?6?654&//674&/"2+&#.5?6?27%!!HW$>"EH&M31FF&%  I  -  KINe3;K! +u= 10 }   0 _    > XI2X.W27/&=4'4''&/&/;726?654&#"#"&=46?654&'#5!!V8   :7 ?82, D6I6Xh7!V = @)"& X:9 *_T 5%$0 %.  HD80 4 &$&1  22.M&/.'574>72"/&'/&/.#'?675!5!!2?4'#"&@(81' &7K*" e#%! + %2!+0#@72"/&//&/.#'?675!5!!2?4'#"&= >!B%'RK*" >"%! %2!+0#@!B%'RK*" > :2 %2!+0#@72"/&/./&/#&#&5?35'&/.#'?675!5!!2?4'#"& >!!S:RK*" >#%! (y. %8g82  !+0#@!!S:RK*" >%8g82  !+0#@54'#"&547#5!K$.?4Mi /H '7(/ }[*FJ)<,$9S2 %,9E?!5!#"+&+"#"'#"&#"'546?65'&/.+"#"&54: *  /P!,PS/tE*3') -*!'$3n3$? B&!g P;>+: B222& h !"'@& $3n   -).'#326?65'&546?#76325!#"+&+"#"'#"&#"'546?65'&5467.'#5"'#""#"/#"&54?4/A  / *  /P!,,% B*(") -*    !!&0,-  A$3n1&? B&!g P8'22& h !"8@$3n3$8  '5"+"3.$G72654/&'""32?654/&#326?65'&546?#47#5!#"+&+"#"'#"&#"'546?65'&5#"'".% S   '" B / *  /P" 8yGB*(") -* 8()_   2U$3n3$> B& h P|14213&!g # 8@$3n()4.-g7#3?654&#4>7#32>5'&/&7"#"'"'54>5/&=#"&5#"/&5732654+5!)+ !0P!$) &.  Z (AB"0 !(!  6M  $ 0  ;  $*8?& +@> 2! 25[+>Q%2J% ."n1&Y !#D22.U3274&=4>7!2%"#"'./;726?654&#"#"&546?654'#5!|7-A*$!i *#[EJE KB}7W) 9+/!%&&*>B' 7S %U~ V7C[^DH 4!2 22^F. <3#4&#/./76?6?675!5!#72#"/4?2[N3 6@?P$P: 4W4E,2 *'L :w0!   !&-G?}-Rq,-6-U  '22&wV)3 ^>3#2?#/&/&/?>54/#"&=6N30L< = - SV   MvS*%&)= +C'!!-H4 3<- #(2 Lg / ( *0E?3#3#'./&#?'>54&#"#"&54>32/&=N3W[-.-*1 !%  :R K &>)W8% :-2-)4+*+ ."AY*)(/ 8%P77Lt..3#267#""&54?#5!#/./767N3i, 61J$(E!$#B 3^]0B03> 5W G#x+"4) 224.HD2GZ3#4#"37>#"'#'./32654'#"&'5./7632#"'2?,N3 0 '- "2'%'_# Lt7D #, ;CJ) (U3K;"80 g 19,+? GK-50vD;7- 9y :M b %2 Z"^.63#26?6?6=/&/&'#'.5#5!!N31  "$-? .H^!1 /CFn22  !  3.P3#;6?65/&/2&/&/;272?654/#'.=#5!!;7,N3  . %,(8-'96btL  "  >)-8"76'h& \0' 3O"22 ^.p3#"&546?#5!!3732?"/&5467'"&/&#"376?6363232#"./&/5732>54&'N3G2@p/2  /K7&(   "^ 3 % :  :&'D,   _/01  *!T,&22)Me*&7U z2Y &C& # G &. 4++3a 93R " ^73#/&/&'/.'&/76?5!5!;#N3 U#5! l6Ce.,[d 9S!7 4074/"&46327654&+"7#"&//./#+"&/&=?32'&#"72+"5463>32N3 #  #&  !u L' #*e!?(LeMB+9 !+ TD9c0$I8V  .!##f. &Q4,: H, -#+- &&4""H 0( \> &p!jH^I3#23!3267"&57632#"&/#5!74+"#".546?N3@PO%h%4"2 /( 4 ;;DO -B   !]H42f038.6#  +/);22' %   ^_O3#4'32>3##'.547>54'#535./.547N3|=  '2#y '$а  @7$617& 5!RM*A #)UF )413 D'A%*; #- .E%'3  #Z:*^#.53##"/5#5!!26?#"/&/32675&,N3N_& #B 0'TK9"#:;!^.$3#26?"&57>32"'#5!!N3] $ $H;*+-J!N Q##  6Bl$Pc22^$;3#"&546?2'&=7'3#'4&/"/4632#;N35HE2%    G^6C,'5%0&!ZD>L   2KH 2289V 9* '-^y.P3#!!2>=4/.#""/4?63#"/&/&/&/&'N3@F9"  + 2=!3x+' j A  XN?3#3#'./7>54&#""&5?>32eN3WT>e;0O&ID, /  $ .5)+Q- R ' ,2X(D h?# ))K;!8+   P [I.-3#'#5!!>?/&/54`N3AmC3uCC%&W# $kBE22 ;0A5F*#5  3'%<*&'=/4 73#'32?53#/.'&/7"/474632#"'"/FN31(&WA! }T  n"<;~C+/ B<!+d N&IB23!dO^. / D3.)3#46;3!5!#'74.##'&'JN3H1  %'W1^4 "8 ;3@ %=  228p % #@Dp@3#'&#"27&"&54?>32'53#'&5./'764&#"N3O"> v  ,A)*I,  DO0! G+ ; @M ub,$4. ~  2-E.* Nr.C3#232?4&/"/&/&#'?'&/&/#5!!6;2#".'47_N3/  ?#24H:._" r5H={,5" 0;(/%$1 ,x?)%S1M 22N3RK*" >o %2!+0#@2F,j<  MC %=X(]'!NU.93#/&/"/4?6724&/&/&/#5!#lN3bC   0 L , 9+ *.  X19 5%  &\-P,   /8 22DA.+3#'.'&#'?'&/#5!#XN3 " ! & 5)2X99D+k.&"W; &! * !3~/n T-U  22N.33#2#"&546/./&#'76?675!5!#3N35,'D4*'-4.%-AZ U(1X184- $#S6Y; (!22Hj/B3#46725!5!#'4&#'./"&54632#"/.57>32N3, `4)! 1  % )&(9?"$ 7F)'331,3"$ &" + C7!1;N{M3#4&#"#"/#"&/46?67/&+'32>?2'53#'N3D % +#  1  A2g#  1 CV61Z  #"   * 2 E'#u  2.LC/73#'&'7'54.'#5!#/.#&+'?/#".ZN3# /'/8)[{3 D|&3 1!'$% 334(^Xk Hq.?3#76?2'.#"/#5!#'5/&#""/&/72?&N3p- '* f0  (.  !  A77  4{  229 #:A&%  W[.D3#'&/&/;726?654&#"#"&=46?654&'#5!#2N34AK2, D6I6Xh7!V = @)"& !i$1F  HD80 4 &$&1  22S^y.P3#'#"&54>72+"'#"&/&/326?654'#"/5#5!!76?63N3#%eH>P2  $D#)M",5" &# A!n    YqNb%&$JK)3B2) %"K 22#- q^.13#'#"&54632'326?"&5763"/#5!!/N3! * o W$ 1! eA,$K!)!$! M'!4H6sX>22K?.23##"&54632'&#'76?.'&'#5!#VN3 J $, b'b #'OC.7$?b4M 2;HT'$sU,+*22K). -3#&/.'5/&/.#'?675!5!#@N3(81' &7K*" 1 %2!+0#@!B%'RK*" >o %2!+0#@3>32.   %  &  &9  %. ,+ L   2 !H `'??M  n  -$ ( ,Y &. ?$   $<  |;2`753##"/&/&'46?27654/./57672"&54?>3632#"&/2654.'4X"*   $2 G" ! $G  4,1] L*+6 ??R$/  ": 1  PB!2E,0@D#'/ +o!  Lh7"7654&#"4&#"#32753'27654/./57672#"/&'467"&5467&54>372&1"/O=6 .. $[+, L $V(- /;'%B8)&5$#. &"1?? 'H  '->% .'': 1>+,0" 't@,or7"&54?>;2#"&/2654.'2'#53'&/&/&/3272?654'4&/&54>?6;'! $E ;(/] @.+7  "P % !.$ #"# &  "9 k)0 OB -}G,0Nt E"(hQ3  )', ,? m   *  n!  Tp7"7654&#"4&#"#32753&54?>;2#"&/2654.'".'"&5467&54>372&1"/O=6 . $E  7+._ K,2/  w(- %E'%B8)&5$#. &"1??=  MD!5~F,0' J(  .''4'1>+,0" 'h'L732?654/"723275'7&/"&/4?67 ++* 4  3=*!,7  +' 12*1 " .'+4>72"/&/52?4'#"&73##%!# 6, :6#5*/$ 2W'%27&#"2?67'"/"&5746 7   ';!;! ' vy+ 2.7/&=4'4'573#0 :;>  \&@ 5%$0 J *!2{|=&/?@8n)q*#0!?k2QP! $.594&'#'72?6;2+"/&'4>723265!!(%$  ,2.   2 4(  !!#5   (26/C3#26373#"'"&/./&/.'32>54/##"&/4666 &*M* .j$   (  <6*+ '/!3&1/2  !:'FRT#5 ;#  (e( -%%.60T3##"/&'3;2>74'"&54636;65./#"#"&54>72#66:/FB3K,- 1,- '!  4")"J45N 02Yi ;<\/( " - ##%"-!:.$ 16/;3#2/&#".5473263254&#"632+"&5467266.@ U .3 793$ >  +TD/2! =  ;*/142! *+)-8gE05&/47'5376?   $& <80).8!  4&+,>B#!R&Ф4)?6wE-8'4#"./6?6=37632/7'p + @9" * % ^&,0 / /( EQ -+J0$  U !  4.,"=&/&'#"&54632>5654.#!5!#":+ )&*2&*g !I'#(#,@ 226' %j*|%257/&/.#+"&546p6F0 '$-0_7X6( &!(#8.#'&+"#"&5463257H*1 $(#B4G8+,!V 9%2IPQ 25""&/&/6?637'<   X 4%& 6" !<d -fx7%7&#'763767 <"2Z$[9 G* h?E* N. /./&#'?675#5!#8RK*" L 6,"/-@3.# (  *43%4!n<30)  #+    :0:?f0'25/&#".#"'6=>32#"&=>;6.(  9 %!,:3*) )"(30 7@ #:%3/;25!5!#/.#"'&/"&'4632#"&'.=6327679/zY * +:/  : Y4  Bt33  ** %  `& .167';267'&'"6?4467#53##"/&F   #2 H6m)  T7 +V D  x  H >$J33 2"UH. .3?654#"&5#"/&5732654+5!)+ !<$&6M  $ 0 ;  $-% Z !#D22ea6/:3#2&/&/326=4'7'&#"#"&5475>?363666%P>N$ b/BB;:=W26x&T! @!$ 1'/2J75P%  Q.-B(""w&<% &; +-&( C%2674#""&54632;#"=4#"#"=4#6232>7>320,+"&;;.$:8 $& ""%F  %"'3.$*1)9"'1CI8Sd+0 O&6H-0 :! K-' )932?>74#""&54632;#"54#632;#"54#632E ) +4&;;.*48 &(&% &(&% 3.l*1)9(!4@K9TG&7N9TG&7N/T',32?>74#""&54632;#"54#632 ) 4':;.*48 &(&% 3 m*1)9(!1CH9TG&7N &.(7"&546?2&/&/"/4632#5H;<% '5%*,ZD2V  =9* '1.r +2#"/46?274&#/.#'6?F07'* G cO0-`i 8!!! r#E+6 %2/-GG#@!>+M_7"&54747467>7!5!656574&/#".5473723#3?>5.5467#+5)\h8  T(%9  f=?Sk   + !H 4-'N.$ ;8nG2% * (2|" ' !!   .D232>5'&/&'546?3#"'"'54>5&/&54?#5!B  N &.   /VY +84/!!(! /N<.;9e( 2! % 35- 8 BC)X@#)@& ."4B'82B22L.0%"#"'>54'#"&547#5!!>767  7@,2)19ES722W(:7 "8 ?r.FX"=&/&'#"&54632>5654.#!5!#/&/&/"/4?>724'"7#:+ )&*2&*g X > )  #6  !I'#(#,@ 22-*%     8" . %  &6'%; ,4&#".546323?632#"5pZlb% TB|&DK6#" &GfxJ2   O6J\ $8dA&# $Yt 7254&#"&54632#"&54&"!A-jAYxW6N4;6D*(*;*3V([!Z@1l*8;1(4'C'D','L'@'C'|')''"#'T''ez' ''P'_'\/:%+#"'>?67!"&54>73!.54632"7654&  F:# 9A =))GRq\68"@)Q9Fb8'.=2/(!% FVP&/5  #hUNd D0 NcMrLV=2B\)7%#!"&54>7;.54>2#"&746732>76&#" =))7>L~TP:=d%Kq2+h/*)2//5  2?6bHUMLIKJG aL>)!2+/ 41GX P%3276=!"%547#2>54&+#".54;547!"#32#"'&5&76.hMP;)Trb\<PM`Op4|8  $A=#Ӕr F(8J5{=K2Do-_++.G_Y.p`(CA$W 0 '2aBsdE}UJ%D [V7#"547!"#>3232654>732?2#"=!"54;>54&#"547#32?2.,G8  D-+3#M+!.,G#$5G7) #-%*!fMYW 0 '>4#I0Um &MYeA6H ,0&%&+*r&X+3?+327#"=47##".54;547!"+#547#3276=!" )Ds@b8# |8  OhMP;)`0##1/R ):4W 2 '++=K2Do-Xx327!32>54#"".543!654.#"3267#"&5463#"632#".54>3!+"6323254>7+byd[7)% VH&ZN1v33!+!1 1O, 'd &bJ,E$-BqE V ;FUV%^$)>+L:N58(.r.&4,49BCa2w1!-<3<.=S3S#;%bn/@O5LcR9.wbR7= >,EV@lX2#"'&54>76323276#"54&#"32>54&#"3267#"&54>76OAQ/G{NR)P_AX'p$G "4!DƢ.JQ*<9i?D3!8/F&' *!1)/u`-ZfM3gu}R!,I4ios&(2R5*326326323254>7+! '&543!6=4#"#".54>7&#"#".5467&#">32%"32654'&32>7!""32654'&E 0)# )!fEOj1JWknVk[mTr6$*=TqTpV4kP7P#9+M[&(kP7P#?:IUAi=*[5 &g!I 6$.:oo1BM!I 6$/9o.3 &- G(/'NellJgS<..//rQ47= ?+&3\4no Yp@^INo'& Yo@^IK0$*=L::#;C7+#"'&543!6!"32#9; R9J^&"BKm7|8  iN$ ))>GsFqFm3M>WN]++.C"2Do4B )BC"U2 'z7= >,Va&=R4g&( YKT23254>7+#".543!654&#"#"547#3262#"547!"+>!"326;:^$ ))>7qHr@)C+*.%*!.,G8  ZIEM5fcreB7= >,Wb-6'4;K_K )!X($+*r&(MYW 2 '/-R&)8C^\#"=#!"&54>73!2654>7327D =))D)R/5   ##1/Z\D%265#"#432+#"'&<>7632765!"&54>737MRNC^2dU,JzT 1 Z-_\*=)2Rvr'IV8Dfb>&{K)J2< eʌbj/04 !\5"=!"&'#"54>73274>7;2654>767326?D4,;Xh)AB))( -R"%Gd KeI   #  ,&XL%262#"547!"+632#"'&547632654&#"#"547#.,G8  )rBVCgv6i .Z;ui6" #-%*A(LYW 2 'krN^]?л #:V>aV^$EȝG7-X($+*r&X Zc%4#"3267#".54763232=4./632!254>7#!!"'&543!65&=4#">32!"326Z& :6)#Of=/J(HXR/tX%$*AC$)>BFqvq [51TyM9gpq!_GKhi,>N9ji5"ǭBI ^t{F7= ?+&>Q4+8؇z:KM&,7F[HT"=!"54>54.#">32#".54>32!2654>73274#"326pE@080*V91F:/G01U#99-F$/J\Z(;]7# -(7 ))Y'0 :7)"R )3pIKU: %:jD7,KV;V,/@P3BsM8#5HC#8dG- ##1/r)'$\F ]Q%265#"2>54&#""=!"&54>7;432+632#".54>>7MR#]lH-&%4=)D^1dV6Bu׵NqG"/2" W!7NSaU3Rv=)))(3r05 !r(JU7V32#".54>32>3!+"632#".5476! 7654&#"Z+ /)#C.,G _!.,Gq] [5*,#998N! 2L^W$u#22sV/U@WNcnjC,i S;v*09r" '- GD(LYv&(LZZru:!C.;V,BaGFvL6K&$, =pPciG#:RZf]0f  ,<}Ny1O[5]BK623254326323254>7+#"'&543!>54#"#"54#"#".53267!"O`%'N $ ))>Dq \*2&(QLF - 5[/DMh(0h44L[*7= >,&>Q4!Qk:;43yxw[/* )8DCY ]lv%4&#"32>6=4#"#".5467&#">32#".54>326323254>7+# 543"32654'&!"3 +/E7&% TpV4qP5L#=8JZBi<*[5 &iS8P 1JWpoUnY$ ))>Lt"G 6$/9o MFkR#2>.377(/o Zo@^IJ0'+,X_40D>H1iUB&*Z[547#"3276="+32>32!"#!"&54>7654&#""=&+#".54;547>)$. .>E2  KgT.9T44""-6*-DVQ$.=7<`9%|8b++25_2Co*2 'U83VD1L-  ("$$A>HoDPwi*@%+:5W ["=!"54;>54&#"#"547#32?2#"547!"+>3232654>7632#".546;2+"3 7654.#"327mD#$5G7) #-%*!.,G8  D-+3#M+>U$4 Ozʂ{.DP3-I J[V," &,)RFeA6H ,0($&+*r&MYW 2 '>4#I0Um @41/WZA*3=-(>!I3(F6* B##1/Xdlx%# '&54>32#"'32>54&#"32>75#"=47##".54;547!"+!+632%547#3276=!"%2654#"#^%>C%)*JBQ,cB%\kU1! 2$7 &Ds,LK,Op4|8   -R>RhMP;)%7M*;51eqW9bI! 8(HK<+&c0??A.&G 2.R 4H"(CA$W 2 '0~Jb++=K2Eo-)(4^V"BX2632#"5467#"+#".5463!654.#"3267#"&5463#"632#".54>3!+"632325463!+"32>54#"!"32>--H -)>!dvu?ZN1AAv 9',(+!1 1O, 'd &bJ,E$-BqE V 9S%:#%^$#P97)% VHMyS)MY06>,4K(&3*9B$IK.&]1! -<3<.=S3S#;%bn/@O5LcR9= 2FC%aR7,!4, '58(.r.L:6/^GW46&#"32>54&#"32673#"&54>7632#"'&5%632#"&74&#"#"326 ];Lյ+PO/9.<' /!10^EM,D]T-RMV ?.DN% 0('$+T;TI:rNI`v0E>3= K~^UL0g(g)8%RDA<%& &X%4&#"326262#"5&63#"+! '&543!6=4#"#".5467&#"#".5467&#">32#"&54>32632632325463!+"4&#"32632$7!""32654&(-.& 7'#)5--H -)>Wq8QXU!(?=-E$?:HV[8 W8;KhDOj 7LxIipWj^mVm6$$P"[%"GH9,68?)MY-6>,&3\4mo Yq@^IJ1&ZGh4-=N5J1#d>c9XHfll;QMC)..00rV37&9, 'A\CFr!(6QbCFuFqF0FBKm7|8  iN$$P3M=WNa++.C"2Do)+-Y-6>,Va&=R4gOM)CC"W 2 '{7&9, '?&( nYir%4&#"#"547#3262#"547!"+>3232547!+"3262#"5463#"+#"'&543!6!"326;2*.%*!--G8  Z!10$B P#,H-)>2VKFq%EM5djU )!X'#+*r&(NZW 2 '/--Z>d@7W ')+-Y-6>,5@(&=R40b&)8Ck\X3 7654.#"326?#"=!"&54>73!2654>7>32!"'.6'6;2+"[7[^4X#" .: -D=)D)+()< OR$0  3-! . ?/)4.#  ,&R<04 ! #  59\S&# ^!\CM%265#"%32767!"&54>7;432+#".54632#"'72654#"7MRuU1=)D^1dU.^1[jYU;$_VHJR:G-f$9M)92RvuL,04 !r(JU7Š7q 2Tm_D@PD= +2^O.> \[3 7654.#"32>7#"=!"&'#"54>73274>7;2654>7>32#".54;2+"\?ʻV#" ), )D4,;XhAB) (6άv,3-?(.?/)#I# 10RF"%Gd KeI ! ,7(s!X W2654#""'32654&#"#"547#3262#"547!"+632#"$&54>32$9M)7MI* .Urh5$ $-%*!.,G8  *u4Wѥ%>C%U)+2^N/>-=f*Zg[J,ˡC9-X($+*r&(LYW 2 'lZcybI!@IXv2632#"5463#"#!.'&543!65&=4&#">32#".54>3232=4./632!25463!+"%4&#"32>!"326=--H -)>rbq;P7W/! [5 &$99:V%=ds=2F&tW $*G=$$P+/E7&% zMagepP)MY-6?+GW =R4*7؇XQ-=Q3:#;%;V,Ws:VP("?9-ǭ$3& aq{>#7$;, '2>.377(/&0F[ %4#"3264>54.#">32#".547632!2654>7>32#"$&546;2+"3 7654.#"326?3#"=!"Y'0 :7)"a -, *V91F:/G01U#99-F$?m;\8# Y-7(4+; Oz˂_FO3-? \V#" &, -DAr)'$\Fs):`:KU: %:jD7,KV;V,/@P3eV"6KG&U# 53-UZB*+F8)I!7"(=0( B# 10RF\P\%265#"4&#""=!"&54>7;432+632# 54>32#"'3262654#"7MR.#%4=))hdV6Niw%>B&)*ICJ* e(v)$9M( 2Sv6&(3}.6  rvaX%32>54&#"%"3262#"5467#"3262#"54#"632#"&547632>3!+"632#".54>32#"'! $54&%2654#"7'% &0, 45!"/+G _!.,Es5L?3;^;K$K5SdCds%14sV /N>-!/GrvxB*92)*N>Q,rP5b%7M*;68'-.E#1&^7*LXx(*MY\r $8gAYXH!AE*mhaJ%%,CF3K/]eYR:"1Vk~u54#"#"54#"#".542325432632325463!+"3267!",H-)>GiqIq\*2&(QLF ,!a$&O$# P5\0GMQ)+-Y-6>,aX(=R4"Ir>;43vu[0+ (0h42ƎC7)7 'e)8AFBZ |%4#"3267#"&54>32632325463!+"32632#"5463#"+# 543!6=4&#"#".5467&#">324.#"326!"3 ZE 0)#OmONZ1JWpoUnY$# P%,H -)>LtUEC@2(?=-E$=8JZBi<*[5 &a)+"GH8-=:MFkR#q.3 &- GKR~\JgS<11r7'7')+-Y56>,X_4oj!ZGh4-=N5I1'+7;254326;.54>32#"&5473+">32#".546;2.+"!2>54&#"3254&, H Yc &(QL*E=))3n!CL=$$BrC[16D*AWI u'>+,@!8[}u8/8nGa?<DQ`B"x&"`ʹwP*,4(BA-E( +.Y@U43yvu4(/6  ?hE?R1;:'F?D8.9b/L+ )'@C$MYE)  $5 .?<<&+ !s-U]:Q,$'2%/]D0;X (4%4&#"326">54&547#3276=!"%+#"'676?#"54>54.#"632#"&547##".54;547!"+36323767.54>323254.9+/+ 0)#&8 O7 - A3jKP;(  $5Q< ." d 0!.D*6,>'=;H4( 4H" bML^G@b8# |8  [E$?F2 F(1='/E8-G'" b; 3@# &- F#3)Bc ,&)=Mʗ++=K2Do.(H'2 16'"&l#)P/:U*Q1.\pya$0):4V 2 ' #8b@M`*70 6Q.5M$*3%468  F'h$'('$','bY%7262#"54'&#"#"&54632y.,G:q&% IQ|vA]D!A(LYq#]n =  MGN[BoQ-&bD$7262#"54'&#"#"&54632y.,G:^TQ!"ObjucA(LY]#^;(0 E=J^-&&3h & Z  Fb$,r f    L D 4e   H X$$ $H7$TCopyleft 2002, 2003, 2005 Free Software Foundation.Copyleft 2002, 2003, 2005 Free Software Foundation.FreeSerifFreeSerifMediumMediumFontForge 2.0 : Free Serif : 18-5-2007FontForge 2.0 : Free Serif : 18-5-2007Free SerifFree SerifVersion $Revision: 1.56 $ Version $Revision: 1.56 $ FreeSerifFreeSerifThe use of this font is granted subject to GNU General Public License.The use of this font is granted subject to GNU General Public License.http://www.gnu.org/copyleft/gpl.htmlhttp://www.gnu.org/copyleft/gpl.htmlThe quick brown fox jumps over the lazy dog.The quick brown fox jumps over the lazy dog.navadnoDovoljena je uporaba v skladu z licenco GNU General Public License.http://www.gnu.org/copyleft/gpl.html`erif bo za vajo spet kuhal doma e ~gance.2  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghjikmlnoqprsutvwxzy{}|~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                           ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~        !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ softhyphenAmacronamacronAbreveabreveAogonekaogonek Ccircumflex ccircumflex Cdotaccent cdotaccentDcarondcaronDcroatEmacronemacronEbreveebreve Edotaccent edotaccentEogonekeogonekEcaronecaron Gcircumflex gcircumflex Gdotaccent gdotaccent Gcommaaccent gcommaaccent Hcircumflex hcircumflexHbarhbarItildeitildeImacronimacronIbreveibreveIogonekiogonekIJij Jcircumflex jcircumflex Kcommaaccent kcommaaccent kgreenlandicLacutelacute Lcommaaccent lcommaaccentLcaronlcaronLdotldotNacutenacute Ncommaaccent ncommaaccentNcaronncaron napostropheEngengOmacronomacronObreveobreve Ohungarumlaut ohungarumlautRacuteracute Rcommaaccent rcommaaccentRcaronrcaronSacutesacute Scircumflex scircumflexuni0162uni0163TcarontcaronTbartbarUtildeutildeUmacronumacronUbreveubreveUringuring Uhungarumlaut uhungarumlautUogonekuogonek Wcircumflex wcircumflex Ycircumflex ycircumflexZacutezacute Zdotaccent zdotaccentlongsuni0180uni0181uni0182uni0183uni0184uni0185uni0186uni0187uni0188uni0189uni018Auni018Buni018Cuni018Duni018Euni018Funi0190uni0191uni0193uni0194uni0195uni0196uni0197uni0198uni0199uni019Auni019Buni019Cuni019Duni019Euni019FOhornohornuni01A2uni01A3uni01A4uni01A5uni01A6uni01A7uni01A8uni01A9uni01AAuni01ABuni01ACuni01ADuni01AEUhornuhornuni01B1uni01B2uni01B3uni01B4uni01B5uni01B6uni01B7uni01B8uni01B9uni01BAuni01BBuni01BCuni01BDuni01BEuni01BFuni01C0uni01C1uni01C2uni01C3uni01C4uni01C5uni01C6uni01C7uni01C8uni01C9uni01CAuni01CBuni01CCuni01CDuni01CEuni01CFuni01D0uni01D1uni01D2uni01D3uni01D4uni01D5uni01D6uni01D7uni01D8uni01D9uni01DAuni01DBuni01DCuni01DDuni01DEuni01DFuni01E0uni01E1uni01E2uni01E3uni01E4uni01E5Gcarongcaronuni01E8uni01E9uni01EAuni01EBuni01ECuni01EDuni01EEuni01EFuni01F0uni01F1uni01F2uni01F3uni01F4uni01F5uni01F6uni01F8uni01F9 Aringacute aringacuteAEacuteaeacute Oslashacute oslashacuteuni0200uni0201uni0202uni0203uni0204uni0205uni0206uni0207uni0208uni0209uni020Auni020Buni020Cuni020Duni020Euni020Funi0210uni0211uni0212uni0213uni0214uni0215uni0216uni0217 Scommaaccent scommaaccent Tcommaaccent tcommaaccentuni021Euni021Funi0226uni0227uni0228uni0229uni022Auni022Buni022Cuni022Duni022Euni022Funi0230uni0231uni0232uni0233uni0235uni0237uni0250uni0251uni0252uni0253uni0254uni0255uni0256uni0257uni0258uni0259uni025Auni025Buni025Cuni025Duni025Euni025Funi0260uni0261uni0262uni0263uni0264uni0265uni0266uni0267uni0268uni0269uni026Auni026Buni026Cuni026Duni026Euni026Funi0270uni0271uni0272uni0273uni0274uni0275uni0276uni0277uni0278uni0279uni027Auni027Buni027Cuni027Duni027Euni027Funi0280uni0281uni0282uni0283uni0284uni0285uni0286uni0287uni0288uni0289uni028Auni028Buni028Cuni028Duni028Euni028Funi0290uni0291uni0292uni0293uni0294uni0295uni0296uni0297uni0298uni0299uni029Auni029Buni029Cuni029Duni029Euni029Funi02A0uni02A1uni02A2uni02A3uni02A4uni02A5uni02A6uni02A7uni02A8uni02A9uni02AAuni02ABuni02ACuni02ADuni02AEuni02AFuni02B0uni02B1uni02B2uni02BAuni02BB afii57929 afii64937uni02BEuni02BFuni02C9uni02CAuni02CBuni02CDuni02CEuni02CFuni02D4uni02D5uni02D6uni02D7uni02EE gravecomb acutecombuni0302 tildecombuni0304uni0305uni0306uni0307uni0308 hookabovecombuni030Auni030Buni030Cuni030Duni030Euni030Funi0310uni0311uni0312uni0313uni0314uni0315uni0316uni0317uni0318uni0319uni031Auni031Buni031Cuni031Duni031Euni031Funi0320uni0321uni0322 dotbelowcombuni0324uni0325uni0326uni0327uni0328uni0329uni032Auni032Buni032Cuni032Duni032Euni032Funi0330uni0331uni0332uni0333uni0334uni0335uni0336uni0337uni0338uni0339uni033Auni033Buni033Cuni033Duni033Euni033Funi0340uni0341uni0342uni0343uni0344uni0345uni0360uni0361uni0374uni0375uni037Auni037Etonos dieresistonos Alphatonos anoteleia EpsilontonosEtatonos Iotatonos Omicrontonos Upsilontonos OmegatonosiotadieresistonosAlphaBetaGammauni0394EpsilonZetaEtaThetaIotaKappaLambdaMuNuXiOmicronPiRhoSigmaTauUpsilonPhiChiPsiuni03A9 IotadieresisUpsilondieresis alphatonos epsilontonosetatonos iotatonosupsilondieresistonosalphabetagammadeltaepsilonzetaetathetaiotakappalambdauni03BCnuxiomicronrhosigma1sigmatauupsilonphichipsiomega iotadieresisupsilondieresis omicrontonos upsilontonos omegatonosuni03D0theta1Upsilon1uni03D3uni03D4phi1omega1uni03D7uni03DAuni03DBuni03DCuni03DDuni03DEuni03DFuni03E0uni03E1uni03F0uni03F1uni03F2uni0400 afii10023 afii10051 afii10052 afii10053 afii10054 afii10055 afii10056 afii10057 afii10058 afii10059 afii10060 afii10061uni040D afii10062 afii10145 afii10017 afii10018 afii10019 afii10020 afii10021 afii10022 afii10024 afii10025 afii10026 afii10027 afii10028 afii10029 afii10030 afii10031 afii10032 afii10033 afii10034 afii10035 afii10036 afii10037 afii10038 afii10039 afii10040 afii10041 afii10042 afii10043 afii10044 afii10045 afii10046 afii10047 afii10048 afii10049 afii10065 afii10066 afii10067 afii10068 afii10069 afii10070 afii10072 afii10073 afii10074 afii10075 afii10076 afii10077 afii10078 afii10079 afii10080 afii10081 afii10082 afii10083 afii10084 afii10085 afii10086 afii10087 afii10088 afii10089 afii10090 afii10091 afii10092 afii10093 afii10094 afii10095 afii10096 afii10097uni0450 afii10071 afii10099 afii10100 afii10101 afii10102 afii10103 afii10104 afii10105 afii10106 afii10107 afii10108 afii10109uni045D afii10110 afii10193FL96FL0461hFL0462hFL0463hFL0464hFL0465hFL0466hFL0467hFL0468hFL106FL046ChFL105FL046DhFL046FhFL046EhFL109FL046BhFL0471hFL0472hFL0473hFL0474hFL0475hFL0476hFL0477hFL0478hFL0479hFL047AhFL047BhFL124FL047DhFL126FL047FhFL0480hFL0481hFL0482hFL0483hFL0484hFL0485hFL0486hFL137FL0488hFL0489hFL048Ahuni048Cuni048Duni048Euni048F afii10050 afii10098uni0492uni0493uni0494uni0495uni0496uni0497uni0498uni0499uni049Auni049Buni049Cuni049Duni049Euni049Funi04A0uni04A1uni04A2uni04A3uni04A4uni04A5uni04A6uni04A7uni04A8uni04A9uni04AAuni04ABuni04ACuni04ADuni04AEuni04AFuni04B0uni04B1uni04B2uni04B3uni04B4uni04B5uni04B6uni04B7uni04B8uni04B9uni04BAuni04BBuni04BCuni04BDuni04BEuni04BFuni04C0uni04C1uni04C2uni04C3uni04C4FL04C5hFL198uni04C7uni04C8FL201FL202uni04CBuni04CCFL04CDhFL04CEhFL207uni04D0uni04D1uni04D2uni04D3uni04D4uni04D5uni04D6uni04D7uni04D8 afii10846uni04DAuni04DBuni04DCuni04DDuni04DEuni04DFuni04E0uni04E1uni04E2uni04E3uni04E4uni04E5uni04E6uni04E7uni04E8uni04E9uni04EAuni04EBuni04ECuni04EDuni04EEuni04EFuni04F0uni04F1uni04F2uni04F3uni04F4uni04F5uni04F8uni04F9FL0500hFL0501hFL0502hFL0503hFL0506hFL0507hFL0504hFL0505hFL0508hFL0509hFL050AhFL050BhFL050ChFL050DhFL050FhFL050Eh afii57801 afii57800 afii57793 afii57794 afii57795 afii57798 afii57797 afii57806 afii57796 afii57807 afii57842 afii57658 afii57664 afii57665 afii57666 afii57667 afii57668 afii57669 afii57670 afii57671 afii57672 afii57673 afii57674 afii57675 afii57676 afii57677 afii57678 afii57679 afii57680 afii57681 afii57682 afii57683 afii57684 afii57685 afii57686 afii57687 afii57688 afii57689 afii57690 afii57716 afii57717 afii57718uni05F3uni05F4 afii57388 afii57403 afii57407 afii57409 afii57410 afii57411 afii57412 afii57413 afii57414 afii57415 afii57416 afii57417 afii57418 afii57419 afii57420 afii57421 afii57422 afii57423 afii57424 afii57425 afii57426 afii57427 afii57428 afii57429 afii57430 afii57431 afii57432 afii57433 afii57434 afii57441 afii57442 afii57443 afii57444 afii57445 afii57446 afii57470 afii57448 afii57449 afii57450 afii57451 afii57453 afii57454 afii57455 afii57456 afii57457 afii57392 afii57393 afii57394 afii57395 afii57396 afii57397 afii57398 afii57399 afii57400 afii57401uni066Buni0674 afii57506 afii57507 afii57508 afii57509uni06CCuni06D4uni0780uni0781uni0782uni0783uni0784uni0785uni0786uni0787uni0788uni0789uni078Auni078Buni078Cuni078Duni078Euni078Funi0790uni0791uni0792uni0793uni0794uni0795uni0796uni0797uni0798uni0799uni079Auni079Buni079Cuni079Duni079Euni079Funi07A0uni07A1uni07A2uni07A3uni07A4uni07A5uni07A6uni07A7uni07A8uni07A9uni07AAuni07ABuni07ACuni07ADuni07AEuni07AFuni07B0uni0901uni0902uni0903uni0905uni0906uni0907uni0908uni0909uni090Auni090Buni090Cuni090Duni090Funi0911uni0913uni0914uni0915uni0916uni0917uni0918uni0919uni091Auni091Buni091Cuni091Duni091Euni091Funi0920uni0921uni0922uni0923uni0924uni0925uni0926uni0927uni0928uni0929uni092Auni092Buni092Cuni092Duni092Euni092Funi0930uni0931uni0932uni0933uni0934uni0935uni0937uni0938uni0939uni093Cuni093Duni093Euni093Funi0940uni0941uni0942uni0943uni0944uni0945uni0947uni0948uni0949uni094Buni094Cuni094Duni0950uni0958uni0959uni095Auni095Buni095Cuni095Duni095Euni0960uni0961uni0962uni0963uni0964uni0965uni0966uni0967uni0968uni0969uni096Auni096Buni096Cuni096Duni096Euni096Funi0970bn_candrabindu bn_anusvara bn_visargabn_abn_aabn_ibn_iibn_ubn_uubn_ribn_libn_ebn_aibn_obn_aubn_kabn_khabn_gabn_ghabn_ngabn_cabn_chabn_jabn_jhabn_nyabn_ttabn_tthabn_ddabn_ddhabn_nnabn_tabn_thabn_dabn_dhabn_nabn_pabn_phabn_babn_bhabn_mabn_yabn_rabn_labn_shabn_ssabn_sabn_habn_nukta bn_avagraha bn_aakaarbn_ikaar bn_iikaarbn_ukaar bn_uukaar bn_rikaar bn_rrikaarbn_ekaar bn_aikaarbn_okaar bn_aukaar bn_hasanta Khanda_Ta bn_aumarkbn_rrabn_rhabn_yyabn_rribn_lli bn_likaar bn_llikaarbn_zerobn_onebn_twobn_threebn_fourbn_fivebn_sixbn_sevenbn_eightbn_nine bn_asamira bn_asamiba bn_rupeemark bn_rupeesign bn_currency1 bn_currency2 bn_currency3 bn_currency4bn_currencyless bn_currency16 bn_issharuni0A05uni0A06uni0A07uni0A08uni0A09uni0A0Auni0A0Funi0A10uni0A13uni0A14uni0A15uni0A16uni0A17uni0A18uni0A19uni0A1Auni0A1Buni0A1Cuni0A1Duni0A1Euni0A1Funi0A20uni0A21uni0A22uni0A23uni0A24uni0A25uni0A26uni0A27uni0A28uni0A2Auni0A2Buni0A2Cuni0A2Duni0A2Euni0A2Funi0A30uni0A32uni0A33uni0A35uni0A36uni0A38uni0A39uni0A3Cuni0A3Euni0A3Funi0A40uni0A41uni0A42uni0A47uni0A48uni0A4Buni0A4Cuni0A4Duni0A59uni0A5Auni0A5Buni0A5Cuni0A5Euni0A66uni0A67uni0A68uni0A69uni0A6Auni0A6Buni0A6Cuni0A6Duni0A6Euni0A6Funi0A70uni0A72uni0A73uni0A74PulliAyuthamTamlATamlAATaml_ITaml_IITamlUTamlUUTamlETamlEETamlAITamlOTamlOOTamlAUTamlKATamlNGATamlCATamlJATamlNYATamlTTATamlNNATamlTATamlNATamlNNNATamlPATamlMATamlYATamlRATamlRRATamlLATamlLLATamlLLLATamlVATamlSSATamlSATamlHATaml_v_ATaml_v_I Taml_v_IITaml_v_U Taml_v_UUTaml_v_E Taml_v_EE Taml_v_AI Taml_vow_O Taml_vow_OOTaml_AUsTaml_pulTaml_AUuni0C02uni0C03uni0C05uni0C06uni0C07uni0C08uni0C09uni0C0Auni0C0Buni0C0Cuni0C0Euni0C0Funi0C10uni0C12uni0C13uni0C14uni0C15uni0C16uni0C17uni0C18uni0C19uni0C1Auni0C1Buni0C1Cuni0C1Duni0C1Euni0C1Funi0C20uni0C21uni0C22uni0C23uni0C24uni0C25uni0C26uni0C27uni0C28uni0C2Auni0C2Buni0C2Cuni0C2Duni0C30uni0C32uni0D02uni0D03uni0D05uni0D06uni0D07uni0D08uni0D09uni0D0Auni0D0Bl1uni0D0Euni0D0Funi0D10uni0D12uni0D13uni0D14k1k2k3k4ngch1ch2ch3ch4njt1t2t3t4nhth1th2th3th4n1p1p2p3p4m1y1r3rhl3lhzhv1z1shs1h1uni0D3Euni0D3Funi0D40u1u2r1uni0D46uni0D47uni0D48uni0D4Auni0D4Buni0D4Cxxuni0D57r2l2uni0D66uni0D67uni0D68uni0D69uni0D6Auni0D6Buni0D6Cuni0D6Duni0D6Euni0D6Funi0D70uni0D82uni0D83uni0D85uni0D89uni0D8Auni0D8Buni0D91uni0D94uni0D99uni0D9Auni0D9Buni0D9Cuni0D9Euni0DA0uni0DA1uni0DA2uni0DA4uni0DA5uni0DA7uni0DA8uni0DA9uni0DAAuni0DABuni0DADuni0DAEuni0DAFuni0DB0uni0DB1uni0DB3uni0DB4uni0DB5uni0DB6uni0DB7uni0DB8uni0DB9uni0DBAuni0DBBuni0DBDuni0DC0uni0DC1uni0DC2uni0DC3uni0DC4uni0DC5uni0DC6uni0DCAuni0DCFuni0DD0uni0DD1uni0DD2uni0DD3uni0DD4uni0DD6uni0DD8uni0DD9uni0DDFuni0E01uni0E02uni0E03uni0E04uni0E05uni0E06uni0E07uni0E08uni0E09uni0E0Auni0E0Buni0E0Cuni0E0Duni0E0Euni0E0Funi0E10uni0E11uni0E12uni0E13uni0E14uni0E15uni0E16uni0E17uni0E18uni0E19uni0E1Auni0E1Buni0E1Cuni0E1Duni0E1Euni0E1Funi0E20uni0E21uni0E22uni0E23uni0E24uni0E25uni0E26uni0E27uni0E28uni0E29uni0E2Auni0E2Buni0E2Cuni0E2Duni0E2Euni0E2Funi0E30uni0E31uni0E32uni0E33uni0E34uni0E35uni0E36uni0E37uni0E38uni0E39uni0E3Auni0E3Funi0E40uni0E41uni0E42uni0E43uni0E44uni0E45uni0E46uni0E47uni0E48uni0E49uni0E4Auni0E4Buni0E4Cuni0E4Duni0E4Euni0E4Funi0E50uni0E51uni0E52uni0E53uni0E54uni0E55uni0E56uni0E57uni0E58uni0E59uni0E5Auni0E5Buni10A0uni10A1uni10A2uni10A3uni10A4uni10A5uni10A6uni10A7uni10A8uni10A9uni10AAuni10ABuni10ACuni10ADuni10AEuni10AFuni10B0uni10B1uni10B2uni10B3uni10B4uni10B5uni10B6uni10B7uni10B8uni10B9uni10BAuni10BBuni10BCuni10BDuni10BEuni10BFuni10C0uni10C1uni10C2uni10C3uni10C4uni10C5uni10D0uni10D1uni10D2uni10D3uni10D4uni10D5uni10D6uni10D7uni10D8uni10D9uni10DAuni10DBuni10DCuni10DDuni10DEuni10DFuni10E0uni10E1uni10E2uni10E3uni10E4uni10E5uni10E6uni10E7uni10E8uni10E9uni10EAuni10EBuni10ECuni10EDuni10EEuni10EFuni10F0uni10F1uni10F2uni10F3uni10F4uni10F5uni1200uni1201uni1202uni1203uni1204uni1205uni1206uni1208uni1209uni120Auni120Buni120Cuni120Duni120Euni120Funi1210uni1211uni1212uni1213uni1214uni1215uni1216uni1217uni1218uni1219uni121Auni121Buni121Cuni121Duni121Euni121Funi1220uni1221uni1222uni1223uni1224uni1225uni1226uni1227uni1228uni1229uni122Auni122Buni122Cuni122Duni122Euni122Funi1230uni1231uni1232uni1233uni1234uni1235uni1236uni1237uni1238uni1239uni123Auni123Buni123Cuni123Duni123Euni123Funi1240uni1241uni1242uni1243uni1244uni1245uni1246uni1248uni124Auni124Buni124Cuni124Duni1250uni1251uni1252uni1253uni1254uni1255uni1256uni1258uni125Auni125Buni125Cuni125Duni1260uni1261uni1262uni1263uni1264uni1265uni1266uni1267uni1268uni1269uni126Auni126Buni126Cuni126Duni126Euni126Funi1270uni1271uni1272uni1273uni1274uni1275uni1276uni1277uni1278uni1279uni127Auni127Buni127Cuni127Duni127Euni127Funi1280uni1281uni1282uni1283uni1284uni1285uni1286uni1288uni128Auni128Buni128Cuni128Duni1290uni1291uni1292uni1293uni1294uni1295uni1296uni1297uni1298uni1299uni129Auni129Buni129Cuni129Duni129Euni129Funi12A0uni12A1uni12A2uni12A3uni12A4uni12A5uni12A6uni12A7uni12A8uni12A9uni12AAuni12ABuni12ACuni12ADuni12AEuni12B0uni12B2uni12B3uni12B4uni12B5uni12B8uni12B9uni12BAuni12BBuni12BCuni12BDuni12BEuni12C0uni12C1uni12C2uni12C3uni12C4uni12C5uni12C8uni12C9uni12CAuni12CBuni12CCuni12CDuni12CEuni12D0uni12D1uni12D2uni12D3uni12D4uni12D5uni12D6uni12D8uni12D9uni12DAuni12DBuni12DCuni12DDuni12DEuni12DFuni12E0uni12E1uni12E2uni12E3uni12E4uni12E5uni12E6uni12E7uni12E8uni12E9uni12EAuni12EBuni12ECuni12EDuni12EEuni12F0uni12F1uni12F2uni12F3uni12F4uni12F5uni12F6uni12F7uni12F8uni12F9uni12FAuni12FBuni12FCuni12FDuni12FEuni12FFuni1300uni1301uni1302uni1303uni1304uni1305uni1306uni1307uni1308uni1309uni130Auni130Buni130Cuni130Duni130Euni1310uni1312uni1313uni1314uni1315uni1318uni1319uni131Auni131Buni131Cuni131Duni131Euni1320uni1321uni1322uni1323uni1324uni1325uni1326uni1327uni1328uni1329uni132Auni132Buni132Cuni132Duni132Euni132Funi1330uni1331uni1332uni1333uni1334uni1335uni1336uni1337uni1338uni1339uni133Auni133Buni133Cuni133Duni133Euni133Funi1340uni1341uni1342uni1343uni1344uni1345uni1346uni1348uni1349uni134Auni134Buni134Cuni134Duni134Euni134Funi1350uni1351uni1352uni1353uni1354uni1355uni1356uni1357uni1358uni1359uni135Auni1361uni1362uni1363uni1364uni1365uni1366uni1367uni1368uni1369uni136Auni136Buni136Cuni136Duni136Euni136Funi1370uni1371uni1372uni1373uni1374uni1375uni1376uni1377uni1378uni1379uni137Auni137Buni137Cuni1D00uni1D03uni1D05uni1D07uni1D0Buni1D0Cuni1D0Duni1D0Euni1D1Buni1D1Cuni1D20uni1D21uni1D22uni1D29uni1D81uni1D84uni1D85uni1D87uni1D8Duni1E00uni1E01uni1E02uni1E03uni1E04uni1E05uni1E06uni1E07uni1E08uni1E09uni1E0Auni1E0Buni1E0Cuni1E0Duni1E0Euni1E0Funi1E10uni1E11uni1E12uni1E13uni1E14uni1E15uni1E16uni1E17uni1E18uni1E19uni1E1Auni1E1Buni1E1Cuni1E1Duni1E1Euni1E1Funi1E20uni1E21uni1E22uni1E23uni1E24uni1E25uni1E26uni1E27uni1E28uni1E29uni1E2Auni1E2Buni1E2Cuni1E2Duni1E2Euni1E2Funi1E30uni1E31uni1E32uni1E33uni1E34uni1E35uni1E36uni1E37uni1E38uni1E39uni1E3Auni1E3Buni1E3Cuni1E3Duni1E3Euni1E3Funi1E40uni1E41uni1E42uni1E43uni1E44uni1E45uni1E46uni1E47uni1E48uni1E49uni1E4Auni1E4Buni1E4Cuni1E4Duni1E4Euni1E4Funi1E50uni1E51uni1E52uni1E53uni1E54uni1E55uni1E56uni1E57uni1E58uni1E59uni1E5Auni1E5Buni1E5Cuni1E5Duni1E5Euni1E5Funi1E60uni1E61uni1E62uni1E63uni1E64uni1E65uni1E66uni1E67uni1E68uni1E69uni1E6Auni1E6Buni1E6Cuni1E6Duni1E6Euni1E6Funi1E70uni1E71uni1E72uni1E73uni1E74uni1E75uni1E76uni1E77uni1E78uni1E79uni1E7Auni1E7Buni1E7Cuni1E7Duni1E7Euni1E7FWgravewgraveWacutewacute Wdieresis wdieresisuni1E86uni1E87uni1E88uni1E89uni1E8Auni1E8Buni1E8Cuni1E8Duni1E8Euni1E8Funi1E90uni1E91uni1E92uni1E93uni1E94uni1E95uni1E96uni1E97uni1E98uni1E99uni1E9Auni1E9Buni1EA0uni1EA1uni1EA2uni1EA3uni1EA4uni1EA5uni1EA6uni1EA7uni1EA8uni1EA9uni1EAAuni1EABuni1EACuni1EADuni1EAEuni1EAFuni1EB0uni1EB1uni1EB2uni1EB3uni1EB4uni1EB5uni1EB6uni1EB7uni1EB8uni1EB9uni1EBAuni1EBBuni1EBCuni1EBDuni1EBEuni1EBFuni1EC0uni1EC1uni1EC2uni1EC3uni1EC4uni1EC5uni1EC6uni1EC7uni1EC8uni1EC9uni1ECAuni1ECBuni1ECCuni1ECDuni1ECEuni1ECFuni1ED0uni1ED1uni1ED2uni1ED3uni1ED4uni1ED5uni1ED6uni1ED7uni1ED8uni1ED9uni1EDAuni1EDBuni1EDCuni1EDDuni1EDEuni1EDFuni1EE0uni1EE1uni1EE2uni1EE3uni1EE4uni1EE5uni1EE6uni1EE7uni1EE8uni1EE9uni1EEAuni1EEBuni1EECuni1EEDuni1EEEuni1EEFuni1EF0uni1EF1Ygraveygraveuni1EF4uni1EF5uni1EF6uni1EF7uni1EF8uni1EF9uni1F00uni1F01uni1F02uni1F03uni1F04uni1F05uni1F06uni1F07uni1F08uni1F09uni1F0Auni1F0Buni1F0Cuni1F0Duni1F0Euni1F0Funi1F10uni1F11uni1F12uni1F13uni1F14uni1F15uni1F18uni1F19uni1F1Auni1F1Buni1F1Cuni1F1Duni1F20uni1F21uni1F22uni1F23uni1F24uni1F25uni1F26uni1F27uni1F28uni1F29uni1F2Auni1F2Buni1F2Cuni1F2Duni1F2Euni1F2Funi1F30uni1F31uni1F32uni1F33uni1F34uni1F35uni1F36uni1F37uni1F38uni1F39uni1F3Auni1F3Buni1F3Cuni1F3Duni1F3Euni1F3Funi1F40uni1F41uni1F42uni1F43uni1F44uni1F45uni1F48uni1F49uni1F4Auni1F4Buni1F4Cuni1F4Duni1F50uni1F51uni1F52uni1F53uni1F54uni1F55uni1F56uni1F57uni1F59uni1F5Buni1F5Duni1F5Funi1F60uni1F61uni1F62uni1F63uni1F64uni1F65uni1F66uni1F67uni1F68uni1F69uni1F6Auni1F6Buni1F6Cuni1F6Duni1F6Euni1F6Funi1F70uni1F71uni1F72uni1F73uni1F74uni1F75uni1F76uni1F77uni1F78uni1F79uni1F7Auni1F7Buni1F7Cuni1F7Duni1F80uni1F81uni1F82uni1F83uni1F84uni1F85uni1F86uni1F87uni1F88uni1F89uni1F8Auni1F8Buni1F8Cuni1F8Duni1F8Euni1F8Funi1F90uni1F91uni1F92uni1F93uni1F94uni1F95uni1F96uni1F97uni1F98uni1F99uni1F9Auni1F9Buni1F9Cuni1F9Duni1F9Euni1F9Funi1FA0uni1FA1uni1FA2uni1FA3uni1FA4uni1FA5uni1FA6uni1FA7uni1FA8uni1FA9uni1FAAuni1FABuni1FACuni1FADuni1FAEuni1FAFuni1FB0uni1FB1uni1FB2uni1FB3uni1FB4uni1FB6uni1FB7uni1FB8uni1FB9uni1FBAuni1FBBuni1FBCuni1FBDuni1FBEuni1FBFuni1FC0uni1FC1uni1FC2uni1FC3uni1FC4uni1FC6uni1FC7uni1FC8uni1FC9uni1FCAuni1FCBuni1FCCuni1FCDuni1FCEuni1FCFuni1FD0uni1FD1uni1FD2uni1FD3uni1FD6uni1FD7uni1FD8uni1FD9uni1FDAuni1FDBuni1FDDuni1FDEuni1FDFuni1FE0uni1FE1uni1FE2uni1FE3uni1FE4uni1FE5uni1FE6uni1FE7uni1FE8uni1FE9uni1FEAuni1FEBuni1FECuni1FEDuni1FEEuni1FEFuni1FF2uni1FF3uni1FF4uni1FF6uni1FF7uni1FF8uni1FF9uni1FFAuni1FFBuni1FFCuni1FFDuni1FFE afii61664afii301uni2010uni2011 figuredash afii00208 underscoredbl quotereverseduni201Funi2023uni2031minuteseconduni2034uni2035uni2036uni2037uni2038uni203B exclamdbluni203Duni203Euni203Funi2040uni2041uni2042uni2043uni2045uni2046uni2047uni2048uni2049uni204Auni204B zerosuperioruni2071 foursuperior fivesuperior sixsuperior sevensuperior eightsuperior ninesuperioruni207Auni207Buni207Cuni207F zeroinferior oneinferior twoinferior threeinferior fourinferior fiveinferior sixinferior seveninferior eightinferior nineinferioruni208Auni208Buni208Cuni20A0 colonmonetaryuni20A2lirauni20A5uni20A6pesetauni20A8uni20A9Eurouni20AFuni20B2uni20DDuni2102uni2103 afii61248uni2109uni210Auni210Buni210Cuni210Duni210Euni210Funi2110Ifrakturuni2112 afii61289uni2115 afii61352uni2117 weierstrassuni2119uni211Auni211BRfrakturuni211D prescriptionuni211Funi2120uni2123uni2124uni2126uni2127uni2128uni212Auni212Buni212Cuni212D estimateduni2130uni2131uni2132uni2133alephuni2136uni2137uni2138uni2139onethird twothirdsuni2155uni2156uni2157uni2158uni2159uni215A oneeighth threeeighths fiveeighths seveneighthsuni215Funi2160uni2161uni2162uni2163uni2164uni2165uni2166uni2167uni2168uni2169uni216Auni216Buni216Cuni216Duni216Euni216Funi2170uni2171uni2172uni2173uni2174uni2175uni2176uni2177uni2178uni2179uni217Auni217Buni217Cuni217Duni217Euni217F arrowleftarrowup arrowright arrowdown arrowboth arrowupdnuni2196uni2197uni2198uni2199uni219Auni219Buni219Cuni219Duni219Euni219Funi21A0uni21A1uni21A2uni21A3uni21A4uni21A5uni21A6uni21A7 arrowupdnbseuni21ABuni21ACuni21ADuni21AEuni21B0uni21B1uni21B2uni21B3uni21B4carriagereturnuni21B6uni21B7uni21BAuni21BBuni21BCuni21BDuni21BEuni21BFuni21C0uni21C1uni21C2uni21C3uni21C4uni21C5uni21C6uni21C7uni21C8uni21C9uni21CAuni21CBuni21CCuni21CDuni21CEuni21CF arrowdblleft arrowdblup arrowdblright arrowdbldown arrowdblbothuni21D5uni21D6uni21D7uni21D8uni21D9uni21DAuni21DBuni21DCuni21DDuni21E0uni21E2 universaluni2201 existentialuni2204emptysetgradientelement notelementuni220Asuchthatuni220Cuni220Duni2210uni2213uni2214uni2215uni2216 asteriskmathuni2218uni2219uni221Buni221C proportional orthogonalangleuni2221uni2222uni2225uni2226 logicaland logicalor intersectionunionuni222Cuni222Duni222Euni222F thereforeuni2235uni2236uni2237uni2238uni2239uni223Auni223Bsimilaruni223Duni2240uni2241uni2242uni2243uni2244 congruentuni2246uni2247uni2249uni224Auni224Buni224Duni224Euni224Funi2250uni2251uni2252uni2253uni2254uni2255uni2256uni2257uni2259uni225Auni225C equivalenceuni2262uni2263uni2266uni2267uni2268uni2269uni226Auni226Buni226Cuni226Duni226Euni226Funi2270uni2271uni2272uni2273uni2274uni2275uni2276uni2277uni2278uni2279uni227Auni227Buni227Cuni227Duni227Euni227Funi2280uni2281 propersubsetpropersuperset notsubsetuni2285 reflexsubsetreflexsupersetuni2288uni2289uni228Auni228Buni228Cuni228Duni228Euni228Funi2290uni2291uni2292uni2293uni2294 circleplusuni2296circlemultiplyuni2298uni2299uni229Auni229Buni229Cuni229Duni229Euni229Funi22A0uni22A1uni22A2uni22A3uni22A4 perpendicularuni22A6uni22A7uni22A9uni22AAuni22ABuni22ACuni22ADuni22AEuni22AFuni22B2uni22B3uni22B4uni22B5uni22B6uni22B7uni22B8uni22BAuni22BBuni22BCuni22BDuni22C0uni22C1uni22C2uni22C3uni22C4dotmathuni22C6uni22C7uni22C8uni22CBuni22CCuni22CDuni22CEuni22CFuni22D0uni22D1uni22D2uni22D3uni22D4uni22D5uni22D6uni22D7uni22D8uni22D9uni22DAuni22DBuni22DCuni22DDuni22DEuni22DFuni22E0uni22E1uni22E2uni22E3uni22E4uni22E5uni22E6uni22E7uni22E8uni22E9uni22EAuni22EBuni22ECuni22EDuni22EEuni22EFuni22F0uni22F1uni2300uni2301uni2308uni2309uni230Auni230B revlogicalnotuni231A integraltp integralbtuni2322uni2323 angleleft anglerightuni2347uni2348uni2350uni2357uni235Euni23AEuni2423uni2460uni2461uni2462uni2463uni2464uni2465uni2466uni2467uni2468uni2469SF100000uni2501SF110000uni2503uni2504uni2505uni2506uni2507uni2508uni2509uni250Auni250BSF010000uni250Duni250Euni250FSF030000uni2511uni2512uni2513SF020000uni2515uni2516uni2517SF040000uni2519uni251Auni251BSF080000uni251Duni251Euni251Funi2520uni2521uni2522uni2523SF090000uni2525uni2526uni2527uni2528uni2529uni252Auni252BSF060000uni252Duni252Euni252Funi2530uni2531uni2532uni2533SF070000uni2535uni2536uni2537uni2538uni2539uni253Auni253BSF050000uni253Duni253Euni253Funi2540uni2541uni2542uni2543uni2544uni2545uni2546uni2547uni2548uni2549uni254Auni254BSF430000SF240000SF510000SF520000SF390000SF220000SF210000SF250000SF500000SF490000SF380000SF280000SF270000SF260000SF360000SF370000SF420000SF190000SF200000SF230000SF470000SF480000SF410000SF450000SF460000SF400000SF540000SF530000SF440000uni256Dupblockuni2581uni2582uni2583dnblockuni2585uni2586uni2587blockuni2589uni258Auni258Blfblockuni258Duni258Euni258Frtblockuni2594uni2595 filledboxH22073triagupuni25B6triagdnuni25C0uni25C6circleuni25CCH18533uni25D0uni25D1uni25D2uni25D3uni25D4uni25D5uni25D6uni25D7uni25E2uni25E3uni25E4uni25E5uni25E7uni25E8uni25E9uni25EAuni2605uni2606uni260Cuni260Duni260Euni2610uni2611uni2612uni2619uni261Auni261Buni261Cuni261Duni261Euni261Funi2620uni2622uni2623uni2626uni2628uni262Auni262Cuni262Euni262Funi2630uni2631uni2632uni2633uni2634uni2635uni2636uni2637uni2638uni2639 smileface invsmilefacesununi263Duni263Euni263Ffemaleuni2641maleuni2643uni2644uni2645uni2646uni2647uni2648uni2649uni264Auni264Buni264Cuni264Duni264Euni264Funi2650uni2651uni2652uni2653uni2654uni2655uni2656uni2657uni2658uni2659uni265Auni265Buni265Cuni265Duni265Euni265Fspadeuni2661uni2662clubheartdiamonduni2669 musicalnotemusicalnotedbluni266Cuni266Duni266Euni266Funi2670uni2671uni2701uni2702uni2703uni2704uni2706uni2707uni2708uni2709uni270Cuni270Duni270Euni270Funi2710uni2711uni2712uni2713uni2714uni2715uni2716uni2717uni2718uni2719uni271Auni271Buni271Cuni271Duni271Euni271Funi2720uni2721uni2722uni2723uni2724uni2725uni2726uni2727uni2729uni272Auni272Buni272Cuni272Duni272Euni272Funi2730uni2731uni2732uni2733uni2734uni2735uni2736uni2737uni2738uni2739uni273Auni273Buni273Cuni273Duni273Euni273Funi2740uni2741uni2742uni2743uni2744uni2745uni2746uni2747uni2748uni2749uni274Auni274Buni274Duni274Funi2750uni2751uni2752uni2756uni2758uni2759uni275Auni275Buni275Cuni275Duni275Euni2761uni2762uni2763uni2764uni2765uni2766uni2767uni2776uni2777uni2778uni2779uni277Auni277Buni277Cuni277Duni277Euni277Funi2780uni2781uni2782uni2783uni2784uni2785uni2786uni2787uni2788uni2789uni278Auni278Buni278Cuni278Duni278Euni278Funi2790uni2791uni2792uni2793uni2794uni2798uni2799uni279Auni279Buni279Cuni279Duni279Euni279Funi27A0uni27A1uni27A2uni27A3uni27A4uni27A5uni27A6uni27A7uni27A8uni27A9uni27AAuni27ABuni27ACuni27ADuni27AEuni27AFuni27B1uni27B2uni27B3uni27B4uni27B5uni27B6uni27B7uni27B8uni27B9uni27BAuni27BBuni27BCuni27BDuni27BEuni3001uni3002uni3003uni3005uni3007uni3008uni3009uni300Auni300Buni300Cuni300Duni300Euni300Funi3010uni3011uni3012uni3014uni3015uni3041uni3042uni3043uni3044uni3045uni3046uni3047uni3048uni3049uni304Auni304Buni304Cuni304Duni304Euni304Funi3050uni3051uni3052uni3053uni3054uni3055uni3056uni3057uni3058uni3059uni305Auni305Buni305Cuni305Duni305Euni305Funi3060uni3061uni3062uni3063uni3064uni3065uni3066uni3067uni3068uni3069uni306Auni306Buni306Cuni306Duni306Euni306Funi3070uni3071uni3072uni3073uni3074uni3075uni3076uni3077uni3078uni3079uni307Auni307Buni307Cuni307Duni307Euni307Funi3080uni3081uni3082uni3083uni3084uni3085uni3086uni3087uni3088uni3089uni308Auni308Buni308Cuni308Duni308Euni308Funi3090uni3091uni3092uni3093uni3094uni3099uni309Buni30A1uni30A2uni30A3uni30A4uni30A5uni30A6uni30A7uni30A8uni30A9uni30AAuni30ABuni30ACuni30ADuni30AEuni30AFuni30B0uni30B1uni30B2uni30B3uni30B4uni30B5uni30B6uni30B7uni30B8uni30B9uni30BAuni30BBuni30BCuni30BDuni30BEuni30BFuni30C0uni30C1uni30C2uni30C3uni30C4uni30C5uni30C6uni30C7uni30C8uni30C9uni30CAuni30CBuni30CCuni30CDuni30CEuni30CFuni30D0uni30D1uni30D2uni30D3uni30D4uni30D5uni30D6uni30D7uni30D8uni30D9uni30DAuni30DBuni30DCuni30DDuni30DEuni30DFuni30E0uni30E1uni30E2uni30E3uni30E4uni30E5uni30E6uni30E7uni30E8uni30E9uni30EAuni30EBuni30ECuni30EDuni30EEuni30EFuni30F0uni30F1uni30F2uni30F3uni30F4uni30F5uni30F6uni30F7uni30F8uni30F9uni30FAuni30FBuni30FCuniF639uniF63AuniF63BuniF63CuniF63DuniF63EuniF63FuniF640uniF641uniF6BE commaaccentcopyrightserif registerseriftrademarkserif onefitted arrowvertex arrowhorizex registersans copyrightsans trademarksans parenlefttp parenleftex parenleftbt bracketlefttp bracketleftex bracketleftbt bracelefttp braceleftmid braceleftbtbraceex integralex parenrighttp parenrightex parenrightbtbracketrighttpbracketrightexbracketrightbt bracerighttp bracerightmid bracerightbtffffiffluniFB06 afii57694 afii57695uniFB2CuniFB2DuniFB2EuniFB2FuniFB30uniFB31uniFB32uniFB33uniFB34 afii57723uniFB36uniFB38uniFB39uniFB3AuniFB3BuniFB3CuniFB3EuniFB40uniFB41uniFB43uniFB44uniFB46uniFB47uniFB48uniFB49uniFB4A afii57700uniFB4CuniFB4DuniFB4EuniFB56uniFB57uniFB58uniFB59uniFB7AuniFB7BuniFB7CuniFB7DuniFB8AuniFB8BuniFB92uniFB93uniFB94uniFB95uniFBFCuniFBFDuniFBFEuniFBFFuniFDF2uniFDFCuniFE70uniFE74uniFE76uniFE78uniFE7AuniFE7CuniFE81uniFE8CuniFE8DuniFE8EuniFE8FuniFE90uniFE91uniFE92uniFE95uniFE96uniFE97uniFE98uniFE99uniFE9AuniFE9BuniFE9CuniFE9DuniFE9EuniFE9FuniFEA0uniFEA1uniFEA2uniFEA3uniFEA4uniFEA5uniFEA6uniFEA7uniFEA8uniFEA9uniFEAAuniFEABuniFEACuniFEADuniFEAEuniFEAFuniFEB0uniFEB1uniFEB2uniFEB3uniFEB4uniFEB5uniFEB6uniFEB7uniFEB8uniFEB9uniFEBAuniFEBBuniFEBCuniFEBDuniFEBEuniFEBFuniFEC0uniFEC1uniFEC5uniFEC9uniFECAuniFECBuniFECCuniFECDuniFECEuniFECFuniFED0uniFED1uniFED2uniFED3uniFED4uniFED5uniFED6uniFED7uniFED8uniFED9uniFEDAuniFEDBuniFEDCuniFEDDuniFEDEuniFEDFuniFEE0uniFEE1uniFEE2uniFEE3uniFEE4uniFEE5uniFEE6uniFEE7uniFEE8uniFEE9uniFEEAuniFEEBuniFEECuniFEEDuniFEEEuniFEFBuniFEFCuniFFFD uni0937091Fr4xxx1y2y2u1y2u2v2 NameMe-195550 NameMe-195551k1xxnhxxn1xxl3xxlhxxr3xxk1u1k1u2k1r1k1r2k1l1k1k1k1k1u1k1k1u2k1k1r1k1k1r3k1k1r3u1k1k1r3u2k1t1k1t1u1k1t1u2k1t1r3k1t1r3u1k1t1r3u2k1t1nhk1nhu1k1nhu2k1th1k1th1u1k1th1u2k1th1r1k1th1r2k1th1r3 k1th1r3u1 k1th1r3u2k1n1k1n1u1k1n1u2k1m1k1m1u1k1m1u2k1r3k1r3u1k1r3u2k1l3k1l3u1k1l3u2k1shk1shu1k1shu2k1shr1k1shnhk1shnhu1k1shnhu2k1shm1k1shm1u1k1shm1u2k1shm1r1k1s1k1s1u1k1s1u2k1s1r1k1rhrhk1rhrhu1k1rhrhu2k2u1k2u2k2r1k3u1k3u2k3r1k3r2k3k3k3k3u1k3k3u2k3k3r1k3k4k3k4u1k3k4u2k3k4r1k3th3k3th3u1k3th3u2k3th3r1k3th3th4 k3th3th4u1 k3th3th4u2 k3th3th4r1 k3th3th4r3 k3th3th4r3u1 k3th3th4r3u2k3n1k3n1u1k3n1u2k3m1k3m1u1k3m1u2k3r3k3r3u1k3r3u2k3l3k3l3u1k3l3u2k4u1k4u2k4r1k4r2k4n1k4n1u1k4n1u2k4r3k4r3u1k4r3u2ngu1ngu2ngk1ngk1u1ngk1u2ngk1r1ngngngngu1ngngu2ch1u1ch1u2ch1ch1ch1ch1u1ch1ch1u2ch1ch2ch1ch2u1ch1ch2u2ch1ch2r1ch1ch2r3 ch1ch2r3u1 ch1ch2r3u2ch2u1ch2u2ch2r1ch2r3ch2r3u1ch2r3u2ch3u1ch3u2ch3r1ch3r2ch3ch3ch3ch3u1ch3ch3u2ch3ch3r1ch3njch3nju1ch3nju2ch3r3ch3r3u1ch3r3u2ch4u1ch4u2ch4r1ch4r2ch4r3ch4r3u1ch4r3u2nju1nju2njch1njch1u1njch1u2njch1r1njch2njch2u1njch2u2njch2r1njch3njch3u1njch3u2njnjnjnju1njnju2t1u1t1u2t1r1t1r2t1t1t1t1u1t1t1u2t1r3t1r3u1t1r3u2t2u1t2u2t3u1t3u2t3r1t3t3t3t3u1t3t3u2t3t4t3t4u1t3t4u2t3m1t3m1u1t3m1u2t3m1r1t3r3t3r3u1t3r3u2t4u1t4u2t4r1t4r3t4r3u1t4r3u2nhu1nhu2nht1nht1u1nht1u2nht1r3nht1r3u1nht1r3u2nht2nht3nht3u1nht3u2nht3r1nht3r3nht3r3u1nht3r3u2nht4nht4u1nht4u2nht4r1nhnhnhnhu1nhnhu2nhm1nhm1u1nhm1u2th1u1th1u2th1r1th1r2th1th1th1th1u1th1th1u2th1th1r1th1th1r2th1th1r3 th1th1r3u1 th1th1r3u2th1th2th1th2u1th1th2u2th1th2r1th1n1th1p4th1p4u1th1p4u2th1p4r1th1m1th1m1u1th1m1u2th1m1r1th1r3th1r3u1th1r3u2th1l3th1l3u1th1l3u2th1s1th1s1u1th1s1u2th1s1r1th1s1r2th1s1th2 th1s1th2u1 th1s1th2u2 th1s1th2r1th1s1n1 th1s1n1u1 th1s1n1u2th1s1m1 th1s1m1u1 th1s1m1u2 th1s1m1r1th1s1r3 th1s1r3u1 th1s1r3u2th2u1th2u2th2n1th2n1u1th2n1u2th2m1th2m1u1th2m1u2th2m1r1th3u1th3u2th3r1th3r2th3th3th3th3u1th3th3u2th3th3r1th3th3r2th3th4th3th4u1th3th4u2th3th4r1th3th4r2th3th4n1 th3th4n1u1 th3th4n1u2th3th4m1 th3th4m1u1 th3th4m1u2 th3th4m1r1th3th4r3 th3th4r3u1 th3th4r3u2th3r3th3r3u1th3r3u2th4u1th4u2th4r1th4r2th4n1th4n1u1th4n1u2th4m1th4m1u1th4m1u2th4m1r1th4r3th4r3u1th4r3u2n1u1n1u2n1r1n1r2n1th1n1th1u1n1th1u2n1th1r1n1th1r2n1th1r3 n1th1r3u1 n1th1r3u2n1th2n1th2u1n1th2u2n1th2r1n1th2r2n1th3n1th3u1n1th3u2n1th3r1n1th3r3 n1th3r3u1 n1th3r3u2n1th4n1th4u1n1th4u2n1th4r1n1th4r3 n1th4r3u1 n1th4r3u2n1n1n1n1u1n1n1u2n1n1r1n1n1r3n1n1r3u1n1n1r3u2n1m1n1m1u1n1m1u2n1m1r1n1m1r3n1m1r3u1n1m1r3u2n1r3n1r3u1n1r3u2n1rhn1rhu1n1rhu2p1u1p1u2p1r1p1r2p1t1p1t1u1p1t1u2p1th1p1th1u1p1th1u2p1th1r1p1th1r2p1n1p1n1u1p1n1u2p1p1p1p1u1p1p1u2p1p1r1p1p2p1p2u1p1p2u2p1r3p1r3u1p1r3u2p1l3p1l3u1p1l3u2p1s1p1s1u1p1s1u2p1s1r1p1s1r3p1s1r3u1p1s1r3u2p2u1p2u2p2k1p2k1u1p2k1u2p2t1p2t1u1p2t1u2p2th1p2th1u1p2th1u2p2th1r1p2n1p2n1u1p2n1u2p2p1p2p1u1p2p1u2p2m1p2m1u1p2m1u2p2r3p2r3u1p2r3u2p2l3p2l3u1p2l3u2p2s1p2s1u1p2s1u2p2s1r1p2rhrhp2rhrhu1p2rhrhu2p3u1p3u2p3r1p3k3p3k3u1p3k3u2p3k3r1p3ch3p3ch3u1p3ch3u2p3ch3r1p3th3p3th3u1p3th3u2p3th3r1p3th4p3th4u1p3th4u2p3th4r1p3th4r2p3n1p3n1u1p3n1u2p3p3p3p3u1p3p3u2p3p4p3r3p3r3u1p3r3u2p3l3p3l3u1p3l3u2p4u1p4u2p4r1p4r2p4r3p4r3u1p4r3u2m1u1m1u2m1r1m1r2m1n1m1n1u1m1n1u2m1p1m1p1u1m1p1u2m1p1r1m1p1r3m1p1r3u1m1p1r3u2m1m1m1m1u1m1m1u2m1m1r1m1r3m1r3u1m1r3u2m1l3m1l3u1m1l3u2y1u1y1u2y1r1y1k1y1k1u1y1k1u2y1k1r1y1k1k1y1k1k1u1y1k1k1u2y1ch1y1ch1u1y1ch1u2y1th1y1th1u1y1th1u2y1th1r1y1th1th1 y1th1th1u1 y1th1th1u2 y1th1th1r1y1n1y1n1u1y1n1u2y1p1y1p1u1y1p1u2y1p1r1y1m1y1m1u1y1m1u2y1m1r1y1y1y1y1u1y1y1u2r3u1r3u2r3r1l3u1l3u2l3r1l3k1l3k1u1l3k1u2l3k1r1l3k1k1l3k1k1u1l3k1k1u2l3k3l3k3u1l3k3u2l3k3r1l3ch1l3ch1u1l3ch1u2l3th1l3th1u1l3th1u2l3th1r1l3th1th1 l3th1th1u1 l3th1th1u2l3p1l3p1u1l3p1u2l3p1r3l3p1r3u1l3p1r3u2l3p2l3p2u1l3p2u2l3p3l3p3u1l3p3u2l3m1l3m1u1l3m1u2l3l3l3l3u1l3l3u2v1u1v1u2v1r1v1r3v1r3u1v1r3u2v1l3v1l3u1v1l3u2v1v1v1v1u1v1v1u2z1u1z1u2z1r1z1ch1z1ch1u1z1ch1u2z1ch1r1z1ch2z1ch2u1z1ch2u2z1ch2r1z1n1z1n1u1z1n1u2z1m1z1m1u1z1m1u2z1m1r1z1r3z1r3u1z1r3u2z1l3z1l3u1z1l3u2z1z1z1z1u1z1z1u2z1z1r1z1z1r3z1z1r3u1z1z1r3u2shu1shu2shr1shk1shk1u1shk1u2shk1r1shk1k1shk1k1u1shk1k1u2shk1k1r1shk1r3shk1r3u1shk1r3u2sht1sht1u1sht1u2sht1r1sht1r2sht1r3sht1r3u1sht1r3u2sht2sht2u1sht2u2shnhshnhu1shnhu2shp1shp1u1shp1u2shp1r1shp1r3shp1r3u1shp1r3u2shp2shp2u1shp2u2shm1shm1u1shm1u2shm1r3shm1r3u1shm1r3u2s1u1s1u2s1r1s1r2s1k1s1k1u1s1k1u2s1k1r1s1k1k1s1k1k1u1s1k1k1u2s1k1k1r1s1k1r3s1k1r3u1s1k1r3u2s1k2s1k2u1s1k2u2s1t1s1t1u1s1t1u2s1t1r3s1t1r3u1s1t1r3u2s1th1s1th1u1s1th1u2s1th1r1s1th1r2s1th1r3 s1th1r3u1 s1th1r3u2s1th2s1th2u1s1th2u2s1th2r1s1n1s1n1u1s1n1u2s1p1s1p1u1s1p1u2s1p1r1s1p1r3s1p1r3u1s1p1r3u2s1p2s1p2u1s1p2u2s1m1s1m1u1s1m1u2s1m1r1s1r3s1r3u1s1r3u2s1l3s1l3u1s1l3u2s1s1s1s1u1s1s1u2s1s1r1s1s1r3s1s1r3u1s1s1r3u2s1rhrhs1rhrhu1s1rhrhu2s1rhrhr3 s1rhrhr3u1 s1rhrhr3u3h1u1h1u2h1r1h1n1h1n1u1h1n1u2h1m1h1m1u1h1m1u2h1m1r1h1r3h1r3u1h1r3u2h1l3h1l3u1h1l3u2lhu1lhu2lhlhlhlhu1lhlhu2zhu1zhu2zhk1zhk1u1zhk1u2zhk1k1zhk1k1u1zhk1k1u2zhch1zhch1u1zhch1u2zhth1zhth1u1zhth1u2zhth1th1 zhth1th1u1 zhth1th1u2zhn1zhn1u1zhn1u2zhn1n1zhn1n1u1zhn1n1u2zhp1zhp1u1zhp1u2zhm1zhm1u1zhm1u2zhv1zhv1u1zhv1u2zhs1zhs1u1zhs1u2rhu1rhu2rhrhrhrhu1rhrhu2 bn_initekaar bn_initaikaarbn_reph bn_baphala bn_raphala bn_half_ka bn_half_kha bn_half_ga bn_half_gha bn_half_nga bn_half_ca bn_half_cha bn_half_ja bn_half_jha bn_half_nya bn_half_tta bn_half_ttha bn_half_dda bn_half_ddha bn_half_nna bn_half_tha bn_half_da bn_half_dha bn_half_na bn_half_pa bn_half_pha bn_half_ba bn_half_bha bn_half_ma bn_half_ya bn_half_ra bn_half_la bn_half_sha bn_half_ssa bn_half_sa bn_half_ha bn_half_rra bn_half_rha bn_half_yyabn_half_asamirabn_half_asamiba bn_yaphalabn_k_rabn_k_ra1bn_kh_rabn_g_rabn_gh_rabn_c_rabn_ch_rabn_j_rabn_tt_ra bn_tth_rabn_dd_ra bn_ddh_rabn_t_rabn_t_ra1bn_th_rabn_d_rabn_dh_rabn_n_rabn_n_ra1bn_p_rabn_ph_rabn_b_rabn_bh_ra bn_bh_ra1bn_m_rabn_y_rabn_sh_rabn_ss_rabn_s_rabn_s_ra1bn_h_ra bn_asamir_ra bn_asamib_ra bn_k_ss_rabn_k_kabn_k_tta bn_k_tt_rabn_k_tabn_k_ta1 bn_k_t_ba bn_k_t_ba1 bn_k_t_ra bn_k_t_ra1 bn_k_t_ra2bn_k_nabn_k_mabn_k_labn_k_ssa bn_k_ss_nna bn_k_ss_mabn_k_sabn_g_gabn_g_dabn_g_dha bn_g_dh_babn_g_nabn_g_mabn_g_labn_gh_nabn_ng_ka bn_ng_k_ra bn_ng_k_ssa bn_ng_k_ss_ra bn_ng_khabn_ng_ga bn_ng_gha bn_ng_gh_rabn_ng_ma bn_ng_ma1bn_c_cabn_c_cha bn_c_ch_ba bn_c_ch_rabn_c_nyabn_c_nabn_j_ja bn_j_j_babn_j_jhabn_j_nyabn_ny_ca bn_ny_chabn_ny_ja bn_ny_jha bn_tt_tta bn_tt_tt_rabn_tt_mabn_dd_ga bn_dd_ddabn_dd_ma bn_nn_tta bn_nn_tt_ra bn_nn_ttha bn_nn_dda bn_nn_dda1 bn_nn_dd_ra bn_nn_dd_ra1 bn_nn_ddha bn_nn_nnabn_nn_mabn_t_ta bn_t_t_babn_t_thabn_t_nabn_t_mabn_t_ma1bn_t_labn_d_gabn_d_ghabn_d_da bn_d_d_ba bn_d_d_rabn_d_dha bn_d_dh_babn_d_nabn_d_bha bn_d_bh_ra bn_d_bh_ra1bn_d_mabn_dh_nabn_dh_mabn_n_tta bn_n_tt_ra bn_n_tthabn_n_dda bn_n_dd_ra bn_n_ddhabn_n_ta bn_n_t_ba bn_n_t_ra bn_n_t_ra1bn_n_thabn_n_da bn_n_d_ba bn_n_d_rabn_n_dha bn_n_dh_ba bn_n_dh_rabn_n_nabn_n_mabn_n_sabn_p_ttabn_p_tabn_p_nabn_p_pabn_p_mabn_p_labn_p_sa bn_ph_ttabn_ph_labn_b_jabn_b_da bn_b_d_rabn_b_dhabn_b_nabn_b_bhabn_b_labn_bh_labn_m_tabn_m_thabn_m_dabn_m_nabn_m_na1bn_m_pa bn_m_p_ra bn_m_p_labn_m_pha bn_m_ph_rabn_m_bha bn_m_bh_ra bn_m_bh_ra1bn_m_mabn_m_labn_m_la1bn_m_sa bn_m_s_rabn_l_kabn_l_gabn_l_tta bn_l_tt_rabn_l_dda bn_l_dd_rabn_l_tabn_l_dabn_l_dhabn_l_pabn_l_pha bn_l_ph_rabn_l_mabn_l_labn_sh_tabn_sh_ca bn_sh_chabn_sh_nabn_sh_mabn_sh_labn_ss_ka bn_ss_k_ra bn_ss_tta bn_ss_tt_ra bn_ss_ttha bn_ss_nnabn_ss_pa bn_ss_p_ra bn_ss_pha bn_ss_ph_rabn_ss_mabn_s_ka bn_s_k_rabn_s_khabn_s_tta bn_s_tt_rabn_s_ta bn_s_t_ba bn_s_t_ra bn_s_t_ra1bn_s_thabn_s_nabn_s_pa bn_s_p_ra bn_s_p_labn_s_pha bn_s_ph_rabn_s_mabn_s_labn_s_la1bn_h_nnabn_h_nabn_h_mabn_h_labn_h_la1bn_rr_gabn_k_babn_g_babn_gh_babn_c_babn_ch_babn_j_babn_tt_babn_dd_babn_nn_babn_t_babn_th_babn_d_babn_dh_babn_n_babn_p_babn_b_babn_bh_babn_m_ba bn_m_b_rabn_l_babn_sh_babn_s_babn_h_babn_h_ba1 bn_kh_r_ukaarbn_kh_r_uukaar bn_g_ukaar bn_g_r_ukaar bn_g_r_uukaar bn_g_l_ukaar bn_g_l_uukaar bn_j_r_ukaar bn_j_r_uukaar bn_t_r_ukaar bn_t_r_uukaar bn_th_r_ukaarbn_th_r_uukaar bn_d_ukaar bn_d_r_ukaar bn_d_r_uukaar bn_dh_r_ukaarbn_dh_r_uukaar bn_n_t_ukaarbn_n_d_r_ukaarbn_n_d_r_uukaar bn_p_r_ukaar bn_p_r_uukaar bn_p_l_ukaar bn_p_l_uukaar bn_b_r_ukaar bn_b_r_uukaar bn_b_l_ukaar bn_b_l_uukaar bn_bh_r_ukaarbn_bh_r_uukaarbn_m_p_r_ukaarbn_m_p_r_uukaar bn_m_r_ukaar bn_m_r_uukaar bn_r_ukaar bn_r_uukaar bn_l_g_ukaar bn_sh_ukaar bn_sh_r_ukaarbn_sh_r_uukaar bn_sh_l_ukaarbn_sh_l_uukaarbn_ss_p_r_ukaarbn_ss_p_r_uukaar bn_s_t_ukaar bn_s_r_ukaar bn_s_r_uukaar bn_s_l_ukaar bn_s_l_uukaarbn_s_p_r_ukaarbn_s_p_r_uukaarbn_s_p_l_ukaarbn_s_p_l_uukaar bn_h_ukaar bn_h_rikaarbn_asamir_ukaarbn_asamir_uukaarbn_asamib_ukaarbn_asamib_uukaarbn_asamib_r_ukaarbn_asamib_r_uukaarbn_d_yabn_n_yabn_sh_yabn_ss_yabn_s_yabn_h_ya bn_k_hasanta bn_kh_hasanta bn_g_hasanta bn_gh_hasanta bn_ng_hasanta bn_c_hasanta bn_ch_hasanta bn_j_hasanta bn_jh_hasanta bn_ny_hasanta bn_tt_hasantabn_tth_hasanta bn_dd_hasantabn_ddh_hasanta bn_nn_hasanta bn_t_hasanta bn_th_hasanta bn_d_hasanta bn_dh_hasanta bn_n_hasanta bn_p_hasanta bn_ph_hasanta bn_b_hasanta bn_bh_hasanta bn_m_hasanta bn_y_hasanta bn_r_hasanta bn_l_hasanta bn_sh_hasanta bn_ss_hasanta bn_s_hasanta bn_h_hasanta bn_rr_hasanta bn_rh_hasanta bn_yy_hasantabn_asamir_hasantabn_asamib_hasanta bn_one_two bn_one_three bn_one_four bn_two_three bn_three_four bn_ukaar1 bn_ukaar2 bn_uukaar1 bn_uukaar2 bn_rikaar1 bn_post_ka bn_below_tabn_below_t_ukaar bn_below_t_ra bn_below_da bn_below_dha bn_above_na bn_below_na1 bn_below_na bn_below_ba1 bn_below_ba bn_post_ba bn_maphala bn_maphala1 bn_raphala1 bn_raphala2 bn_raphala3 bn_below_la bn_below_la1 bn_above_la bn_pre_ssa1 bn_pre_sa1 bn_below_tha bn_glyph571 bn_glyph572 bn_glyph573 bn_glyph574 bn_glyph575 bn_glyph576 bn_yaphala1 bn_glyph578bn_above_na.001 taml_v_i_2 taml_v_ii_2TamlKA_Taml_pul.halfTamlNGA_Taml_pul.halfTamlCA_Taml_pul.halfTamlNYA_Taml_pul.halfTamlTTA_Taml_pul.halfTamlNNA_Taml_pul.halfTamlTA_Taml_pul.halfTamlNA_Taml_pul.halfTamlPA_Taml_pul.halfTamlMA_Taml_pul.halfTamlYA_Taml_pul.halfTamlRA_Taml_pul.halfTamlLA_Taml_pul.halfTamlVA_Taml_pul.halfTamlLLLA_Taml_pul.halfTamlLLA_Taml_pul.halfTamlRRA_Taml_pul.halfTamlNNNA_Taml_pul.halfTamlTTA_Taml_v_I.abvsTamlTTA_Taml_v_II.abvsTamlKA_Taml_v_U.pstsTamlNGA_Taml_v_U.pstsTamlCA_Taml_v_U.pstsTamlNYA_Taml_v_U.pstsTamlTTA_Taml_v_U.pstsTamlNNA_Taml_v_U.pstsTamlTA_Taml_v_U.pstsTamlNA_Taml_v_U.pstsTamlPA_Taml_v_U.pstsTamlMA_Taml_v_U.pstsTamlYA_Taml_v_U.pstsTamlRA_Taml_v_U.pstsTamlLA_Taml_v_U.pstsTamlVA_Taml_v_U.pstsTamlLLLA_Taml_v_U.pstsTamlLLA_Taml_v_U.pstsTamlRRA_Taml_v_U.pstsTamlNNNA_Taml_v_U.pstsTamlKA_Taml_v_UU.pstsTamlNGA_Taml_v_UU.pstsTamlCA_Taml_v_UU.pstsTamlNYA_Taml_v_UU.pstsTamlTTA_Taml_v_UU.pstsTamlNNA_Taml_v_UU.pstsTamlTA_Taml_v_UU.pstsTamlNA_Taml_v_UU.pstsTamlPA_Taml_v_UU.pstsTamlMA_Taml_v_UU.pstsTamlYA_Taml_v_UU.pstsTamlRA_Taml_v_UU.pstsTamlLA_Taml_v_UU.pstsTamlVA_Taml_v_UU.pstsTamlLLLA_Taml_v_UU.pstsTamlLLA_Taml_v_UU.pstsTamlRRA_Taml_v_UU.pstsTamlNNNA_Taml_v_UU.psts*TamlSA_Taml_pul.half_TamlRA_Taml_v_II.pstsTamlCA_TamlSSATamlJA_Taml_pul.halfTamlSSA_Taml_pul.halfTamlSA_Taml_pul.halfTamlHA_Taml_pul.halfTamlCA_TamlSSA.half taml_v_i_3 taml_v_i_4 &YjkNOOP A B B C    2334  !!"'(())**++,-.7889CDDEEFFGJKKL^__``aabijjkrsstuvvwno 2DFLT&arabRbeng`latnmlymtaml    aaltabvsakhnakhnakhnblwfblwsdligfracfrachalfhalfhalfhalnhalnhalnhalninit$liga*liga4liga:pres@pstfFpstsLpstsVpsts^rligdrphfjvatup       8@HPX`hpx>''' '4'R'')*++(,-3\779<9h9z:>1N>!0 $Q0Q;ISQ<!<%%P\0B6rJbt " ^ nT\VPjbH!v% [Y8r &2>JVblv  *4>HRZbjrzQ<Q<IQ<Q<HQBQ9JQBQ9IQBQ9HQBQ/IQBQ/HQ0Q;HQ+Q;IQ+Q;HQ!Q;IQ!Q;HQBQ/Q<Q<Q+Q;QBQ9Q0Q;Q!Q;Q;HQ9IQ9HQ4IQ4HQCIQCHQCJQ0SQ0JQ0IQ0HQ/IQBJQBIQBHQ+IQ+HQ=IQ=HQ;IQ!JQ!IQ!HQ4Q=Q+Q0QCQ/Q9QBQ;Q!JIHJIH#HZl|  *4>HR\dlt|Q2Q3Q;IQ2Q3Q;HQ2Q3Q;Q2Q3JQ2Q3IQ2Q3HQ2Q3Q4H Q=IQ=HQ;IQ;HQ9IQ9HQ4IQ2JQ2IQ2HQ$JQ$IQ$HQ#JQ#IQ#HQ4Q9Q$Q=Q2Q;Q#SJIH  *4>FNTZ`Q;IQ;HQ4IQ4HQ;Q4 S J I H  *4>HPX^Q!QJQ%HQ%IQ!IQ!HQ%Q!IH (6BLV`jt|(Q'Q;I'Q'Q;H&Q'Q;%Q'J$Q'I#Q'H!Q&I Q&H"Q'Q&IH"*06.Q;I-Q;H,Q;+J*I)H(2<FPZdlt|<Q;I;Q;H9Q*I8Q*H6Q(J5Q(I4Q(H7Q*:Q;3Q(2S1J0I/H$,28>CQ;IBQ;HAQ;@S?J>I=H",6@JT^hr|SQ*IRQ*HPQ(IOQ(HMQ'JLQ'IKQ'HIQ&JHQ&IGQ&HNQ(QQ*JQ'FQ&EIDH  *4>FNTZ`]Q;I\Q;HZQ+IYQ+H[Q;XQ+WSVJUITH _I^H",6@JT^hr|oQ;InQ;HlQ9JkQ9IjQ9HhQ.IgQ.HeQ-IdQ-HfQ.mQ;iQ9cQ-bJaI`H"*06uQ;ItQ;HsQ;rJqIpH6DR`nz&.4Q-Q;IQ-Q;H}Q+Q;I|Q+Q;HQ-Q;{Q+Q;Q.HQ9IQ9HQ/IQ-JQ-IQ-HQ/HQ.JQ.IzQ+IyQ+HQ/Q9Q.Q-~Q,xQ+wIvH2ft&2>JT^hr|$,4<DLT\bhnQCQ;IQCQ;HQCQ9JQCQ9IQCQ9HQCQ4IQCQ4HQCQ1JQCQ1IQCQ1HQ0Q;IQ0Q;HQCQ4QCQ1QCQ;QCQ9Q0Q;QCHQ=IQ=HQ;IQ;HQ9JQ9IQ9HQ8JQ8IQ8HQ1JQ1IQ1HQCSQCJQCIQ0SQ0JQ0IQ0HQ;Q8Q4Q9QCQ=Q1Q0SJIH (2<FNV\Q9JQ9IQ9HQ4IQ4HQ9Q4IH8FTbp~"*2:@FLQ3Q;IQ3Q;HQ3Q9JQ3Q9IQ3Q9HQ3Q4IQ3Q4HQ3Q;Q3Q9Q3Q4Q;IQ;HQ3SQ3JQ3IQ3HQ2SQ2JQ2IQ2HQ;Q3Q2SJIH(2<FPZdlt|Q;IQ;HQ9JQ9IQ9HQ4IQ4HQ;Q9Q4SJIH3hv $0:DNXblv  (08@HPX`flr Q9Q;IQ9Q;HQ4Q;IQ4Q;HQ3Q;IQ3Q;H Q2Q;I Q2Q;HQ0Q;IQ0Q;HQ4Q; Q2Q;Q3Q;Q9Q;Q0Q;Q4H#Q;IQ9JQ9IQ3JQ3I Q3HQ9H"Q;H&Q<IQ2JQ2IQ2HQ1SQ1JQ1IQ1H%Q<HQ4JQ4IQ0SQ0JQ0IQ0HQ9Q2Q4$Q<!Q; Q3Q1Q0SJIH#HVdpz$.8@HPX`hpx~IQCQ;IHQCQ;HGQCQ;FQCJEQCIDQCHBQ=IAQ=H?Q;I>Q;H<Q6I;Q6H9Q5J8Q5I7Q5H5Q4I4Q4H2Q0S1Q0J0Q0I/Q0H-Q+I,Q+HCQC@Q=6Q5:Q6.Q0=Q;3Q4+Q+*S)J(I'H"FTbnx",6>FNV^fnv~kQ<Q<IjQ<Q<HiQ<Q<hQCJgQCIfQCHdQ-IcQ-HaQ;I`Q;H^Q9I]Q9H[Q5IZQ5HXQ4IWQ4HUQ0JTQ0ISQ0HQQ+IPQ+HNQ!IMQ!HeQCYQ5RQ0bQ-\Q9OQ+VQ4_Q;LQ!KIJH!DNXblv &.6>FNV^djQ=IQ=HQ;IQ;HQ7IQ7HQ4IQ4HQ3S~Q3J}Q3I|Q3HzQ2JyQ2IxQ2HvQ(JuQ(ItQ(HrQ#JqQ#IpQ#HwQ2Q8Q={Q3sQ(Q4Q;Q7oQ#nJmIlH$,28>Q;IQ;HQ;SJIH2@NZdnx Q5Q;IQ5Q;HQ5Q;Q;HQ9JQ9IQ9HQ=IQ=HQ;IQ5JQ5IQ5HQ4IQ4HQ9Q5Q;Q=Q4SJIH#HVdr (2<FPZbjrzQ0Q0JQ0Q0IQ0Q0HQ!Q!IQ!Q!HQ0Q0Q!Q!Q5HQ4IQ4HQ:IQ:HQ9JQ9IQ0JQ0IQ0HQ&IQ&HQ9HQ5JQ5IQ!JQ!IQ!HQ9Q:Q0Q4Q5Q&Q!JIHJIHQ<HIH*Vdr (2<FPZdnxQ5Q;IQ5Q;HQ0Q0IQ0Q0HQ!Q!IQ!Q!HQ5Q;Q0Q0Q!Q!Q=HQ9IQ5IQ5HQ9HQ7IQ7HQ0JQ0IQ0HQ&IQ&HQ#JQ#IQ#HQ6IQ6HQ=IQ!JQ!IQ!HQ=Q#Q0Q9Q6Q&Q7Q5Q!JIH  (.Q>IQ>HQ>IH#HVdr$.8BLV`hpxQ4Q4IQ4Q4HQ0Q0IQ0Q0HQ!Q!IQ!Q!HQ4Q4Q0Q0Q!Q!QCHQ@IQ4IQ4HQ@HQ9IQ9HQ0IQ0HQ&IQ&HQ5IQ5HQCIQ!IQ!HQ@Q&Q5Q9Q4Q0QCQ!IH $.8BLV^fntzQ@IQ@HQ=IQ=HQ;IQ;HQ@Q=Q;JIH@N\hr|$,4<DLTZ`&QAQ;I%QAQ;H$QAQ;#QAJ"QAI!QAHQ=IQ=HQ;IQ;HQ9JQ9IQ9HQ4IQ4HQ'JQ'IQ'HQ&J Q&I Q&HQ9 QAQ'Q=Q4Q; Q& J IH,Zhv $0:DNXblv "(RQ9Q;IQQ9Q;HIQ5Q;IHQ5Q;H<Q+Q;I;Q+Q;H4Q!Q;I3Q!Q;H1Q!Q!J0Q!Q!I/Q!Q!H2Q!Q;:Q+Q;PQ9Q;GQ5Q;.Q!Q!>Q,HKQ6HOQ9INQ9H9Q+S8Q+J7Q+I6Q+HLQ6IFQ5IEQ5IDQ5HBQ/IAQ/H?Q,I-Q!J,Q!I+Q!H@Q/5Q+CQ5MQ9=Q,JQ6*Q!)J(I'HH (6DR`n|$.8BLV`jt~ &.6>FNV^fnv~Q<Q<Q;IQ<Q<Q;HQ<Q<Q;QCQ;IQCQ;HQ5Q;IQ5Q;HrQ0Q;IqQ0Q;HjQ+Q;IiQ+Q;HaQ!Q;I`Q!Q;H^Q!Q!J]Q!Q!I\Q!Q!HQ<QIhQ+Q;~Q5Q;Q<QH_Q!Q;QCQ;pQ0Q;Q<Q<[Q!Q!|Q5I{Q5HyQ4IxQ4HvQ1JuQ1ItQ1HQ=IQ=HQ;IoQ0SnQ0JmQ0IlQ0HQ;HQ9JQ9IgQ+IfQ+HdQ"IcQ"HQ9HQ6IQ6HQCJQCIQCH}Q5JZQ!JYQ!IXQ!HbQ"Q;kQ0sQ1zQ5Q9QCwQ4eQ+Q=Q6WQ!VSUJTISH",6@JT^hr|Q=IQ=HQ;IQ;HQ9JQ9IQ9HQ4IQ4HQ9Q;Q=Q4JIHYY!D BVD3N NN;bnHR\- "(IOILOLIMW OL,ILV*  NNN7;b2<FPZdnx%PZdnx",6@JT^hr|NNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNN!@QS bc#D ,8l\k[jZm[n\YZ[N:dz"*2:BJ                      "         V>HR\fpz$.8BL      "#!$&(+.0: =@cc11:d,NhBT"T^J|Xz $k<i9h4g1e0  &,28>D4?0</9.4+'0& %+$! &,;<:99473625#<4$*06<E9C$B#A"@#?1>=! L4JH'G&P*O)M( T)S(R'Q&W9V U+Z9Y-X#$*06<d9c/b.` ^-],\ [+$*06<w9ut8q3pn2m$l# y9x4"(.4:@FLRX^djpv|?943210.~ }-|,{ z+"(.4?<9540+ <+ &,<832(< &,28>DJPV\bhnt?<98654210$*06<BHNTZ`fl<965320 - +#! &,<94'&0 $*06<BHNT965/, +!"(.4:@FLRX^djpv|<965410 +"! <94/#3N92N/O1:z  *4FPbl(:L^p"4FXbt F F %G$F 'F8H7F :G9F <G;F GF GF  GF  G F  G F GF GF GF GF GF #G"F )G(F 0G/F >G=F) GFINfor F GF GF GF !G F&F +G*F -G,F .F 4G3F 6G5F 2G1F:!#$&'(+-/02345789;<=?@bc "';HMenq |,>Pbt(:L^p                  .  :I:H@:Q[\\2<FPZdnx%PZdnx",6@JT^hr|ENFNGNHNINJNKNLNMNNNONPNQNRNSNTNUNVNWNXNYNZN[N\N]N^N_N`NaNbNcNdNeNfNgNhNiN!@QS bc#^(2<JTQQQQQ<IQQ!/4;<=> JK tDFLT&arab4beng>latnHmlymVtaml`kernkernmark": 0bhntz "(.4:@FLRX^djpv|cc6j|cQ}-c+jj|0$&(,28<DFHLRX\HIJPRYabchqr (346@A*JkZ`flrx~ZX\\\\\\\\\\\\\\\\\\M6|R6 v>,V`j       p  > l T Z h ~ "0>LZhv$&*24789}:<DEFGHJRTWXYZ\m $29:< $+.2 $-79:;<$-2DHLMRUX $79:<$&*26DHRX\&26789:<X\ $&*2DHRX $79:;<$-DHR&*2789:<DHRX\ $79:<W-$&*-269:< DFHJLMRUVXYZ\m $PQSU$$&*267 DHJLRUX\m $$&*267DHJLRUX\m &24DHRX\$$&*267 DHJLRSXYmy oY\MYZ\ YZ\KNWYZ[\ DHILMO,RVW   DHOU \ 7MDHJRVXY\SYZ\7SYZ\ 7WYZ[\ W\FX.DFGHIJKLMNOPQRSTUWXYZ[\] W 6D K R  DFHJORVDFHJORVDFHRTDFHJORV &*24789}:<&*24789}:<DEFGHJRTWXYZ\m &*24789}:< &*24789}:<&*24789}:<DEFGJRTWXYZ\m &*24789}:<DEFGHJRTWXYZ\m $79<$79:<79<79<$79:;<$$$PQSU$$EPQSUYZ\YZ\YZ\YZ\YZ\YZ\YZ\YZ\YZ\WWYZ[\$2KN$79WWY\$')*-/13 5= DFHLN\,238=?BDGH"#J??LJ2@ft$F`   $79:<  $79: 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 2 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, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Also add information on how to contact you by electronic and paper mail. If the program is interactive, make it output a short notice like this when it starts in an interactive mode: Gnomovision version 69, Copyright (C) year name of author Gnomovision 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, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker. , 1 April 1989 Ty Coon, President of Vice This 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 Library General Public License instead of this License. blockattack-game-2.5.0/Game/data/fonts/penguinattack.ttf000066400000000000000000002113241347224572500232140ustar00rootroot00000000000000 LTSHaR"$OS/2poDVVDMXdDk cmapwo>LPcvt 8 \fpgm2Msfbgasp  glyf^v phdmx\head\,6hhea!fd$hmtx2$kernloca9*vmaxp3 nameZposto (prep} D _<cc(v ,*cv  Q33f@@PYRS@ R QA?y]46Pcg[0RGAQ_W'W4S=YA]KW\a=F*-GBQ.JQEjEQqO.WIWaUMUO\`  ^bC{ILN"\SuOA9M>I1W_oK4~/nS* SS(cQU9 7]0BMBMmq;coKOq;KK"I *KY1"0I(IUUqUq;U oeqUB4^~..YW88{#L>.S;]bIRBK[[[Q0?.I&A8888A_A_A_A_hhVhhVSrVrVrVrVrVDEQCC{{up?[VME$IS&[[Y9A^c^c^c^cf;SI5IH.q3q3I1CSO$5MQ CoQ[qU;4fvY]jatk@;/+LL;LDLLD;LL;;73&/DL;;L;;;;;                                                                                                                                                                                                                                                                                                                        !!           !           %%          % !       *)   ##     ")# %   $  .-    '" &$      %-!& ) !  # '   21 !"  *%#)!  '   (1 $* -!  $ #& + #65! $$ ! ! - ( &-#" *   +5 ', 0#  &! &(".  !&:9#&' " ## #! !1 !" +")/&%! -     /9 *!1 !!4%!!!!  !!!!!) $ (+%1 ""$  !)CB(-"  -" # '&)(%$*' "&8&&(#&%2'/7,*& #4  $"%% $# 6B 1#%8&&< +!&&&&$$$$ $%%%%%&&&&&0$) /2*9'()%%&/KJ"#-! 2&$"$!#2##"& $'$# #++--)(/+&*?*+,&**8,5>1/+" ':  )&) )  )'  **""C" $"""1%****(((( )******++++!!!5"")# !. 58 !/@,! " ,."!*) *4^& FYXgheZJKLMOQ@R !"#$PGHIAB%&'()*+,-./0123546789:;<=>TSUVWj? CDENonsutvxwy{kzdalp_`]^[\qrcbim|f~}8X@/:@OQZfz~1BSax~~    " & 0" 0;APR[g{1AR`x}~    & 0" mb3GL;9ޫpXt||FYXgheZJKLMOQ@RPGHIAB54TSUVWj?CDEN{zdlmnostuvwxyp[\c]^b0V@/:@OQZfz~1BSax~~    " & 0" 0;APR[g{1AR`x}~    & 0" mb3GL;9ޫVrzzFYXgheZJKLMOQ@RPGHIAB54TSUVWj?CDEN{zdlmnostuvwxyp[\c]^b,K PXYD _^-, EiD`-,*!-, F%FRX#Y Id F had%F hadRX#eY/ SXi TX!@Yi TX!@eYY:-, F%FRX#Y F jad%F jadRX#Y/-,K &PXQXD@DY!! EPXD!YY-, EiD` E}iD`-,*-,K &SX@Y &SX#!#Y &SX#!#Y &SX#!@#Y &SX%EPX#!#!%E#!#!Y!YD- ,KSXED!!Y-++ E}iD*,)<QE7&+A&6FVfv ]A]EX+/+>YEX!/!>Y!+9+ A ]A  ( 8 H X h x ]!A'7GWgw ]A]01676.'&32>7#".54>32.'Q#(% $I_*;^B#8Y>3bN4( Bb{A[g75e];{d@)@NJ=;!%A1Ag>9rZ8YEX/>Y:+90132"#465.54>32#"&'>732>.#"32>7(#$(  493 =c<YEXP/P>YZ_+Z+?{+?+?DиZeܸPoAoo'o7oGoWogowoooooo ]Aoo] A]A(8HXhx ]01%".54>32>32#".'>76.>32#".54>326.#"32>54.#".7>54.'&3GLH8#GuO+T'&0=),[I-=F".   %#.A&$ )C+71 JIB1(?R.$C4 3Voxx30p^?Af}<:sV+ *4+J7!%6"HT 4AD@;#%VTM<#%AW2,`P35J/X 2JdB\\.3'.EQE.!* +60 !NX_a^+,#  9T7>nZG17W>5M3*F4%,/9-&KnH.5-8)901B[D3`K/IyZ0R<#];=f>/?/>и/A&6FVfv ]A]и и /? ܺ* 99A99]A 99)999I9Y9i9y999999 ]%/EX/>YEX/>YEX / >YA]A(8HXhx ]%9*%901""#6'6>32#".'2>37>54.><3 494  (U)*t9e[*.RC(E7' )-)     ._%04:A 65P^Bd=$9I%>39S^'KsG6%Z%IU+I<+<&UI901>32&#"'>.>'..54>32#".7Q)8%#5' ! JA     #,7=4$ )!6Ug10'  &,."9$RE-/RpH#A8-Gi}`9"08Z (($32 $/#%)0*O<$!473)%1c(ExwWd+WAWW&W6WFWVWfWvWWWWWW ]AWW]is+i\+\Fsi901>32&'.'&>76.7>&'.>'..54>32#".7~)8%#6' %5DUf<<4( $2(L?, "$" $)!020)&!   #+8=4$ )!6Tg10'/?#."9$RE-1Tqu-ⶂ? 3@HL&7/ ';& 0A?;+]** &13Z (($32 $/#%)0*O<$! TK5%1[(B8-+8A88&868F8V8f8v888888 ]A88]%и%/EX/>YEX(/(>YEX-/->Y01>.'.'"#6'6>7>74=G& :IN=$[a\ )?3,)-)!,";HL!  494  (K(  NKA"3$!PK=     L_b!URA  ED4:A } ALJ0)/01>32&#"'>.0)8%#3#   @8      $QE./SqHq_ Kvm?"08G!_EV+E/:+/$+AEE&E6EFEVEfEvEEEEEE ]AEE]VE9A::]A ::):9:I:Y:i:y:::::: ] :/9V9A$$]A $$)$9$I$Y$i$y$$$$$$ ]4V95V9JV9aEX/>YEX4/4>YEXJ/J>YEXL/L>YEXP/P>Y01>32>>#>54&'.#>54&'.&#"'>54.G)9%(6%jpk&ITYRE    IJE   JJE  JA    9$RE-:362?;.; +L61flq< #0*>?;SPMIMJXg #0*>?;SPNINKKZ#B:.Gi>?`9"08A!Dͺ++A++]A ++)+9+I+Y+i+y++++++ ]+9+'и'/+)к0+9FEX/>YEX0/0>YEX2/2>YEX6/6>Y01>32>#>54&'.&#"'>.A)9%0:"[eh]J   ckb JA    9$RE-6/%-,J31flq< #0*>?;SPKIDCO]]^#B:.Hi|`9"08QJ7K/L/KEиE/A&6FVfv ]A]L;ܸA]A )9IYiy ]EXJ/J>YEX@/@>Y6+6Jܸ@ A  ' 7 G W g w ]A ]0132>54.#">7#".54>32#".7>7B`=AeG=`B# 1#4.% ! '6? ( "/6:?kM,>lQ]q>%и>/EX/>Y 7+ -A--'-7-G-W-g-w------ ]A--]01>.54>32.54>.#"32>54.'"&_ @iNPZ6^~H%RF.2KZ''  4'+R@(1UvE%3!   )_Fsm=mR/.fs_h6-J64H#!$($'LqKGc:2AHI!6KK?WuM(,+I"+IA&6FVfv ]A]A""]A "")"9"I"Y"i"y"""""" ]3и3/I8и8/IFиF/EX8/8>YEX=/=>YEXB/B>YEXD/D>YEXF/F>Y '+ 01"32>7.#".'>32#".54>4.523 #"'.NmD3XD.& '  @"))AQ(Mf<>g9 04/ )*)((6ABf~<4nZ9 +  !$%16J.9hZYpD-9-N8 W%0(+(#ܸи/A&6FVfv ]A]и/EX#/#>YEX(/(>Y016>7>."#>.p(M)9@pR !%" @Ve50  4;4    !'VB>M!!YEX?/?>Y A  ' 7 G W g w ]A ],A,,]A,,(,8,H,X,h,x,,,,,, ]?KAKK'K7KGKWKgKwKKKKKK ]AKK]01%.32>54.54>326.#"#".54>32j ;@6+GR $YN5.LadaL.6Rd.=mV9 #&$ 3I-#@3-J_c_J-Bdv4EHD5 #8G%&J8u#-$/ :/&.7UA=T3?aC!B5! 6)"(!9XB>X9+:&%7%3E%=D+и/A&6FVfv ]A] и // + и/и/AиA/DиD/013654'>7.#>7..'>'.>7=4c3 BAED  CC3 (TF0*HZZP$& 0]-npqv!_sE $'$ HrU5 7E  "A(%LD8$ @^zYYK GEX / >YEX/>YEX/>Y>A>>'>7>G>W>g>w>>>>>> ]A>>]016"#67.67654>7>'>76.7>74.)M(  /5. 1?M/XvJ$ AJOE5 h ")&8X?EdE*  ljVff@57*-Mhtx8##JE'(:HID+,'$ 2nCY01%267>7>#".'67)S5 6>7 $'+16?G))G>61+'$ 8>6 4T9??]xa::ax]??KHwEX/>YEX/>YA'7GWgw ]A]201%267>7>#".'#".'6732>7>.3t(S5 7>7 %'+07>G)61-,06)G>70+($ 7>6 4S)$  %B9??]xa:8M--M8:ax]??$GfB I^gU66Q`[LWa5%EX/>YEX,/,>Y01..'&'>7'.'3>7. 1AK' 2eWA .4. /9A$%B:0 /4. BXf2'L@2 Y?5*5ZOI% +V_mB4ZPJ$$KQ[5Cn`V,%IOZ5\<@FP-\olA#/1/%+%+01#".>32.32>7.'7>7lI3=WxRPm; %R?#E8' &+'  $' *?);ZC0"6  EiQ 1hJJooJ%:*,BKA+4Wpxw2d QUU%Y[6 WYa+.JEX/>YEX/>YEX!/!>Y9+90167$7..67>7&aMM 8`WONN*[6t  Qx;h &3 6WLIQ`=  )  *) N~~[Fg7h/i/hdиd/A&6FVfv ]A]iPܸA]A )9IYiy ])dP9H/EXZ/Z>YEX\/\>Y A  ' 7 G W g w ]A ])\H901>54.'&#"5>77#"&'&54>7>32#".'.547"  .B/9R5$3 *  )  0&B)0-M=-  *6E)3TA/#'#0yFR9*cV<\e^q*>I 032 5   ,*!$VPA -DQ$Wo6qle+&E<. 7Tb*hsw-', /EX/>Y 9 901">73#6#".54>7 !.   #-* '3!(2JX+v(' /<3& G[M A+ 7*+7N+NA]A )9IYiy ]A  & 6 F V f v ]A ]A**]A **)*9*I*Y*i*y****** ]XAN9]EX/>YEX/>YX+XI+I%<+%01.#".5467>7>54.#"32>54&'>7#".54>7>32$7quU[ 1uuo-:eK*3Rj65`J+2D(83$,3"<,5Vo:9r[8"6D!8{@MrFOV /()0  ( 7?F'3wUGsQ,'He=(J9",?)$9#5? ?cE%/Qm>+RG:! 1\Roз< B"a?$+? W+ AWW]A WW)W9WIWYWiWyWWWWWW ]IW 9I/AII]A II)I9IIIYIiIyIIIIII ]A??&?6?F?V?f?v?????? ]A??]a$9cEX/>Y\+):+)DADD'D7DGDWDgDwDDDDDD ]ADD]01>3#".54>32.'>.#"32>54.54>54.#"UOcq8@rW32LXM54DHE7!BkHJ`73MZ'=8- &)& ,6+0EO EkH&9VdV96P_P6%O-&IiC/H7*#'&&*0:F+RvL$7aK'<)$07= -$'%2-CO!Y?!+?L+Lи/и/и/LNиLPиP/L[и[/01.'>7.#".7>7>.#"32>7#".54>323232765454'3>7)T+(L)HFOe *! +S# 7M/&B1 8I*A@ *R*w-gid*+gkh,$s:==/.5.(' @?"-/T@%4F'OB *)**& Jh$O6+Oи/Oи/Oи/O!A66]A 66)696I6Y6i6y666666 ]Ojb/h/EX&/&>Ye +e1@+1T+T9;&b9&JAJJ'J7JGJWJgJwJJJJJJ ]AJJ]01.#">32#"&'.67>32.#"32>54.#"#"'>73267H MVX*6m9  BHJ#==#=V3B5"&7=5Z@$%GhCZtC( + $ Q_*A:<+0+0<09A]A )9IYiy ]A&6FVfv ]A]&ܸ0CA/EX5/5>Y+++5A95 A  ' 7 G W g w ]A ]0132>56.#".54>32#".54>7P^  'N{ZEkK'*Me6$>/!$!&"/+*Jg=_].0][Ny\?(>{|Ty^Y6 +6M2901>7>7.#"7>547#".54>;32672MzM*O&AH3_R?  $)% -;"70 - dh=x6 "+(]]VB'c7g6  )%2' )0)SC+8V;"C3  *3Yu +uM6+M*W+* aAaa'a7aGaWagawaaaaaa ]Aaa]01>54.#"#".54>32#".546732>54.#"32>54.'.54>32/!!8I(+N:#&<+)`_XD(:hKBf?'He?)PH=-#;M+ ?2#    %3 ,EU(!=/1Pe45]D'6Xo93lZ:>av7:rX7.="N"&,3I.+8)'):FQ`n?Li>1WvE<|e?1?ED+F3)>*+U   &*R@("=U3=`C#*H_5@gSBY5 +5++01%>7>.#"32>54&'>7#".54>32P^ 'N{ZEkK'*Me6$>/!$!&"/+*Jg=_].0][Ny\?(>{|sTy^Y01>32#".>32#".O !!'  ""'%!&$& &# .vTSEX / >YEX/>YEX/>YEX/>YC 9 JAJJ]AJJ(J8JHJXJhJxJJJJJJ ]013>32"'.>'67#".>76.'&.!&-9H[rFP*0EX3JYd2 (0:D(3WI;. )٧cH}òF&Q-Q0()*<$ 7U:*FY]ZG-70/WY˜(W=Lr ]+ A]]]A ]])]9]I]Y]i]y]]]]]] ]tEXi/i>YEXn/n>YF+F+<++016>#".54>32.'>.#"32>'.'.5467>76."#6n(^(Nl=+F\3+NyJ5aX%XYR?&)F\3%I?.'+&*):# 9NY(>a=gP+]ZQ?&0Wt9 6=6  7 4YV=R:) ?]~QV_3 -;G)7cJ,/AIO' D>*"7H%5D'(KkB[yN, &5E,Sk>ЊMXZIFT7+C +CA ]A  ) 9 I Y i y ]A&6FVfv ]A] $и$/CVEX>/>>YEX0/0>YH+>A]A(8HXhx ]0A'7GWgw ]A]0132>7.#"32>723'.54>32#".7>7L4ZB"C:. DkFOzY=% 6X}VKpR7# +.+ %FatC\bC" @`~_XT2Uq@BHF8"!5B#$?0 /#GoL'T^d/IoX< -`PNl?:eM6O3 '+G<4We{M%EXD/D>YEXI/I>Y016 >7>.'.>7'.67>'"#6n(^(l׶ $BbC!MJ@' "ABF'?CI&;U,AQZWKNuQ0 Eis 6=6  7Ő ^w7.#">7&'6 '>&'.54>7&>'.'TMTFFN _Utl  *qs\ -ReqiZ("/:  5%U^[D! Zzm   :ys  ;ZXM  6/2+*E5& 6>4# $(%    ):&1-  U;K$+EX/>Y01>7.#"#6 '>&'.54>7&>'.'TMRFEQ   *qs\ -RfpiZ("/:  6%U]ZC" Zym   :=:ZXL  6/2UD5& 6>4# %)%    ):&1-  ODD 8+ D+DA  & 6 F V f v ]A ]D9/A]A )9IYiy ]*ܸFEX?/?>YEX1/1>Y1?9?A]A(8HXhx ]1A'7GWgw ]A]01.#"32>76.'>32#".54>32(OvOP~_C) !8Y|TVd:-Neif'"[cf,Lg<+Lgw@YdD$#Dfa^LmUh:4ZyG3d>YEX / >YEXD/D>YEXI/I>Y016 "#>7.>'67.7>6%6 "#6(^( 6=6 :KdH>8.=0 *-( 8MRP< [l(^( 6=5  /)KKP.TX*,8> + (Q2 ;V88R6Su@ -fQMXZ`$=%EX/>YEX / >Y016 "#6v(^( 6=5  7MXZ 9B-+- 9+ # 9A--&-6-F-V-f-v------ ]A--]A99]A 99)999I9Y9i9y999999 ]D/01'".54>32&'>&'&7>&54.'*Q}],i[=(E\56F&"q" @6#2IS":K, jl1N<]?*Q?'"6B@833, .?.B( Kk6"rh^=D8@+8A88&868F8V8f8v888888 ]A88]ܸ8EX'/'>YEX,/,>YEX;/;>YEX@/@>Y016>7>'3..'.'"#6t(^(HE<Nm@ 8jZ!CCC (Z[X%1UG8+ 4;5 $.8!IMN" 6=5  7 iP]z   Tiwzw4,ilhWA όMXZb47;+A&6FVfv ]A]и/9и9///EX4/4>Y0123 >7>.".#>.#"".7n+T+ Gte]bnD %# $'$ -CU30=3$M>=w}P 7̝  ,;B7!"08'WF( @Ye\J$'8pCxNx +xgj+gST+Sjg9"TS9Axx&x6xFxVxfxvxxxxxx ]Axx] S9EX/>YEX/>YEX*/*>YEX:/:>YEXS/S>YEXg/g>YEXi/i>Y:9":9*FAFF]AFF(F8FHFXFhFxFFFFFF ]]A]]]A]](]8]H]X]h]x]]]]]] ]sк:901#".54>32>32>7>32.76.'"#.#"+4>.#">&'9'4%5#(CY0HO' .YEX / >YEX/>Y0:+0 JAJJ]AJJ(J8JHJXJhJxJJJJJJ ]0VиV/01263>>..'>32#".7>.6`*Z* ?Th>WlH., '=,!* " 76(E3-B+BaE*%)$@xaGkO5    ;:w>6\D'-Pm@NA._P82<3!$!#(#(:#;L) E8$;`z}u+Kn>?g>TJPZXLBDSmT/U/TNиN/A&6FVfv ]A]UDܸA]A )9IYiy ]EX=/=>YEXI/I>Y A  ' 7 G W g w ]A ]=A]A(8HXhx ]0132>54.#"32>74'23".54>32#".'&>7W ) %;RkCGjM1  4H_<72% %=3$ "%" *@PRO=% '8H-UiK1B}qpR$9F#1{IT~\4:`~=A{]7/ERE/*;@" .5(?@EJJ;%YEX]/]>YEXe/e>Y A  ' 7 G W g w ]A ]XI9I(A((]A((((8(H(X(h(x(((((( ]6XI9SXI9013267.67>54.#"32>7.54>32.'6.'#".'&>7Y* %;RkC<]%+VJ;r ;M+'  4H_<72% %)'$"A$>RURA( '8H-TiK1D?8dB &*% &7";YpR$9F#1{IT~\4)# $.;&.$ 1v||6A{]7/ERE/!++(8!/4(@@EJJ;%Cngs6\HJX,+, 4+ A,,&,6,F,V,f,v,,,,,, ]A,,]A44]A 44)494I4Y4i4y444444 ]<иYEXA/A>YEXF/F>Y/+/9A99]A99(989H9X9h9x999999 ]<и32#".54632.32>'.#""#6r0aba/3utjQ11Qirs2YEXd/d>YEXi/i>Y-?9\A\\]A\\(\8\H\X\h\x\\\\\\ ]01>32>54..'>#".'.54>7>54.#""#6j3YX^9ZO-KagdR9"@SPC!   6#0$ FF8#$37D}`9-RtF5j6 6=6  7 !UsJgF+$%Y][( &$<:0!1#  =Wh6)TD+&=LME&1%!*<.")  !=cNVrE ǎMXZOO]^/_/^ и /_Gܺ G9A]A )9IYiy ] 9A99&969F9V9f9v999999 ]A99]EX%/%>YEXL/L>YX+XܸLA'7GWgw ]A]%4A44]A44(484H4X4h4x444444 ]01%6.#"32>54.'.54>764.#"#".54>32)D1DUc7P]3"8E$0z~y^9IwKH}Y ,0, +PuI\W>"6EF?1lh^F*XV&be`K.:QV3hJ*:$+M=/?&EnP.F5&#,YEX?/?>Y#+# + #ܺ#92#97#901.#"32>&'7#".54>323267.'"#6'4j9BoK"SN%*&,*%%>U0-dV8&@RVV#=i`\bj?P8$'# YK# 6<6  (E9\JWW+<++M+MA++&+6+F+V+f+v++++++ ]A++]AMM&M6MFMVMfMvMMMMMM ]AMM]2<M9EXC/C>YEX/>YEX/>YEX / >YC9C&A&&]A&&(&8&H&X&h&x&&&&&& ]2C9016 "#>7#".54>7>.#">&'7.54>327>76)]) 5=6 SmWUoB'1"&!?0 q1<>3 !-9C%=I$  ,7=X;# -*T,,H4A?11Ocd\ ~BL`p;MlHPF +F AFF&F6FFFVFfFvFFFFFF ]AFF]EX/>YEX8/8>Y-8901#".54>327> 7 #".'&7>.'(#'&?-+>)BkT@1$ ,15898840$($ &D@<;9<>BI(0A/#"'7M7.!%   XB#+!8T`'%K=&I|ĸxAJuyN L}ù{HWǤ3&;G;  bg~S.I+.y+ܺI9A..&.6.F.V.f.v...... ]A..]8I9eI9fI9tиt/Ayy]A yy)y9yIyYyiyyyyyyyy ]EX / >YEX/>Y\A\\'\7\G\W\g\w\\\\\\ ]A\\]01#".'#".>7>.'.7>.'>7#".54>>.'77>54.54>7bZL"("*QxNYmA# -Ea@PnF$  #$575)   !$" ,@)$C3"9L*kF !=11J8%    .HcA$6#&-&*I9 kN_Z=nT2CuZQyK-Mfqvo_!2cbb`^/&0*;"  7:7,9S5,ZG-N~>MlP0[ڹ ǔP Y A ]A  ( 8 H X h x ]-L297L29AL29GL29017>7.67#".54>76>77.'Cyne0+NHA=8"),^ ,8B# -E04ZRJGE$/aeh6&+'6v~A5q|J1]|o;1ddc0:NU_5&59'/#,9&;(4IP(WI03ZyFSF#($rlrLj<OnS91o?R@/A/8ܸA]A )9IYiy ]@и/A&6FVfv ]A])89./EX"/">YEX/>YEX;/;>Y" A ]A  ( 8 H X h x ]).93.901!67.67#".54>76>7"Y +PJD@:#(-^;=8B# -E04\SMIF$0^`e6&,'5}~5 6=6)Ta7&59&/#,:MP3JO(WI01XwESF$($woĒW3BnI-F+-A--&-6-F-V-f-v------ ]A--]EXK/K>YEXQ/Q>YEXN/N>YEX/>YEX/>YEX/>YA'7GWgw ]A]N!ܸK&A&&]A&&(&8&H&X&h&x&&&&&& ]KAAAA]AAA(A8AHAXAhAxAAAAAA ][A[['[7[G[W[g[w[[[[[[ ]A[[]`A``'`7`G`W`g`w`````` ]A``]01%>32#"&#".5454767".#">7#".54>73267 23267>54&'!3A#,(;&fkPXaZYEX?/?>YA'7GWgw ]A]5A]A(8HXhx ]0167>54.#"3267.54>#".54>&_)_)   !3%EvU1(@R+'4  ''ZK2.FR%H~^6ZPNi@ ?KK6!IHB1:cGKqM'$($ ! #I36J.7g_sf./Rl>mK/EX/>Y017>32#".K !"& J& &# ~bEOc+d/e/Aܸ A ]A  ) 9 I Y i y ]d7и7/A&6FVfv ]A]EXYEX_/_>Y2+<A]A(8HXhx ]01%4&>7>76.#"32>54.'&>7#".54>76'>32#".#, J@*U5;cIKh=#9HIF ""':uph-!@HS37dL.%AZ6,%! *7<*>)"8J'FyY3/ZR5RF=>D* :GL=% &# n}// и /Xܸ1A11]A 11)191I1Y1i1y111111 ]и/1.и./ uAuu&u6uFuVufuvuuuuuu ]Auu]n+$+S6+S+++01%.54>2&'&'#".>32>54.#">72.54>32>7>.#">467.#"67&54WպP_y;)?Td9F%>CDkEGfD~<,Kf9'28/"! "&& 6DI=';[m1Tl?  0>)$+cӆ8}zpV4EyǸ >;*C)#SG>j" ^v5 D|iI{9G +  DgxgD%-CiH%)  &17(3M22]R;DK&.*!  9'^õvD7ZwosC)gD#(+@KB-!#*H=2/ / 29 29! 293 29D 290167.7>'.5>76.'&>7. 07-A/,686VP9/A> $E[]W(aV<-70 -K_22_K-`(IHHMU0)*  ):(Apln@,)"d 3A?nlqA(:) )*0UMHHI(#<5++4=SV 4 +и/ //EX/>Y01".# "! Vfv|(L=/@/@9@9,@9-@9A@9014>7.54>'.77&'>76.~-J`22`J- 07,Y01 "&#& '>32#". *  !"'1   & &# 9u V//901%.'>54&'>7mm?B?u6utn- -lst6ySmjQy7o^ ' /// /ܸܸи/01$7&$$7&$;33      0uV//9017'6$7&$'7p@A@muyQjmSy6tsl- -ntuMq+A&6FVfv ]A]//9901.54>7&7Q`C**C`Q4YG6%%6GX5iGGiu.g_^°g.uMu+A]A )9IYiy ]//9901'>54.7S5XH6%%6HX5Q`C**C`u.g^_g.uiGGiV(?9_/ /EX/>YEX6/6>Y6969#69+69.6901>7.'.'>7.'>7>.'23  &QRP% f:.5;9+V-<[%-Nq KRV* ZA  00=2VON*%#& % $FC? '`*2K$ G8?2F +RRT,;9#s+и/ܸ и ///#+ + и и /#и/ 0134&'7267.'#>7";jMnJdeK   KifJghK    KfgMP1|EX/>Y + A]A(8HXhx ]#к- 901232>7#".'.#".'>?*>2*/6>&9H(@MV-*>1*06>&9H(@MVP%+(08 #VK2%+) 07 #VK2Kn,)/EX/>YEX / >Y01>&''".5>32'>5467 &  ! .#7O2 6<5  % %.32`I( !!  O-A)3/EX/>YEX / >Y01>&''".5>32'>5467>32#".  '   .#7O2 !!' 6<5 # %.32`I( !!  D%!&$;9f#// //и/0132>7.#";Mv78vNMv87wNf   }\ / /01d "$! J_}Y //01>7!%" cǃpvuI +и/A&6FVfv ]A]и/////016 '67.67.M t`BO OB`  #&"  qz  "&#  *+и/A]A )9IYiy ] и /!////01&.576'&4>77 s`BN  NC`s  #&"    "&#  <=I /// 901.'6753&' "%!XQ`QX !$" >EED.13H ////0132$7&,1tttu    -Q\/-/EX/>YEXQ/Q>YK+8R+8K и /и/ и/ и/ Uܸи/Rи/8ܸ8и/8и/R'ܸ*и85и5/=и=/R@и@/UCиC/FиF/KNиN/UWиRZиZ/01>7&'>7'>7'>727>7>7.'>7.'7>7.(  'vu?~A  >z>AA  %(% %BB  %)$ %8l8x<    B v^a}v] oLMof߆cfa  ML  a{/NNNMI / /// //01".#6&'".#6&'   "    # *TSR'MZ*TSR'MZI / / /01".#6&'   " *TSR'MZ-/01>7672&#".'.54>.d ' ! /"7O2+ 6<5  % %.32`I( !"  -/01>&''".5>32'>5467  ' ! .#7O2J 6;5 & %/22`I( !!  l-[ /B/01>7672&#".'.54>.>7672&#".'.54>.d ' ! /"7O2R '  ! /"7O2+ 6<5  % %.32`I( !"   6<5  % %.32`I( !"  l,Z /A/01>&''".5>32'>5467%>&''".5>32'>5467 &  ! .#7O2  ' ! .#7O2J 6;5 & %/22`I( !!   6;5 & %/22`I( !!  USfQ;5f#/ /// и/0132>7.#";:rrȨ::rrɨ:f   Uv';EX/>YEX#/#>YEX7/7>YA'7GWgw ]A]и-017>32#".%>32#".%>32#".U ""'4 ""'3 ""'J& &# & &# & &#  ^3 eOU9Y&MQ CBB] +]N(+N2D+2++A]A )9IYiy ]ܺ% 9: 9ADD]A DD)D9DIDYDiDyDDDDDD ]ANN&N6NFNVNfNvNNNNNN ]ANN]U 9A]]&]6]F]V]f]v]]]]]] ]A]]]A]A )9IYiy ]EX-/->YEX/>Yt+tj+%-9:-9-IAII]AII(I8IHIXIhIxIIIIII ]U-9bAbb'b7bGbWbgbwbbbbbb ]Abb]01.54>32##".54>7.54>32.'732>54.#"67&32>7.#"32>'>7#".54>32>76.'&32>78Q^P53N\*9[@#,RsH deWSAf}.H26Uh1.jkdO2 1$ H;' 4?#=*0Q<"4Sh4;X:{|>.ahGuZA-gTyO&6V=+B*3.3 )9$(CY03P;% 7Ne=NjA;gR*"')=6.!"4A 9K, ;4B<+ "6$ /P*EX/>Y+A]A(8HXhx ] 9&9012>7#".#".#>'')G.&/ /9@!$4,(.8'&/ +/9@P(*&- F=)(0(&+G=*^-YgzZN+Zm+{+и/A{{]A {{){9{I{Y{i{y{{{{{{ ]{ ܸ{ии/и/$и$/Amm]A mm)m9mImYmimymmmmmm ]m4и4/N;и;/mEиE/mTиT/mYиY/AZZ&Z6ZFZVZfZvZZZZZZ ]AZZ]m_и_/mbиmoиo/mqиq/и/и/Y/)/,///m4+mYcܸTܸи/cи/4$и$/E)Y9mи/01..'"&#"&#>7.54>325.'.54>;.'.'#"6545.#"%4.'>C{a? (,) "7J-5X#>.;`z? )) &[]WC)-HZ,).1*J:bH(Nv>2Sk9/,*#6L4# s`+K&5!&()+/5%:>-C1" vppgr.}6lxں1+'+':g+:]U+]A&6FVfv ]A]A''&'6'F'V'f'v'''''' ]A'']'ܸи]FAUU]A UU)U9UIUYUiUyUUUUUU ]Agg]A gg)g9gIgYgigygggggg ]]zp/x/EXb/b>Y ,+ bAAAA'A7AGAWAgAwAAAAAA ]AAA]0132>5454.'&".#4632#".54>732>54.'&".#4632#".54>7 &*  ! A>7,(AR**P=%u %+   ! A=7,(AR**O=%c "$!  7f> +12))?M$3&!39j}+I_3?jM++Lg;"AAA!8e> +12))?M$93&!39k}+I_3?jM++Lg;"AAA!_.}S6lx1+'+':g+:]U+]|+|+A&6FVfv ]A]A''&'6'F'V'f'v'''''' ]A'']'ܸA::&:6:F:V:f:v:::::: ]A::]]FAUU]A UU)U9UIUYUiUyUUUUUU ]ܸA]A )9IYiy ]A]A )9IYiy ]p/x/EXb/b>YEX/>Y ,+ bAAAA'A7AGAWAgAwAAAAAA ]AAA]0132>5454.'&".#4632#".54>732>54.'&".#4632#".54>732>5454.'&".#4632#".54>7 &*  ! A>7,(AR**P=%u %+   ! A=7,(AR**O=%c "$! b %+  ! A>6,(@S**O=% 7f> +12))?M$3&!39j}+I_3?jM++Lg;"AAA!8e> +12))?M$93&!39k}+I_3?jM++Lg;"AAA!_8e> +12))?M$3&!39k}+I_3?jM++Lg;"AAA!Y V /EX/>Y01.'3hD7BI$VNy)&=3-W V "/EX / >Y  901.'>7$IB7Di3-3=&(zN8&% j)8&% k{q& j&.kLDк4)+4>+A&6FVfv ]A]и>ܸ>и/>!и!/A44&464F4V4f4v444444 ]A44]j)9m)9EXg/g>YEXm/m>YEX$/$>Y;A;;';7;G;W;g;w;;;;;; ]A;;]!$;9gDADD]ADD(D8DHDXDhDxDDDDDD ]jgD9$g901>7.#">7&'465#".'&>732676'.#"32>74'23".54>324&5>&'.54>7&>'.'TMTFFN _Utl2rApR$9F#E ) %;RkCSv( %cA72% %=3$ "%" *@PRO=% '8H-9a**qs\ -ReqiZ("/:  5%U^[D! [zm   :yt  ; "&ngs6)1{IT~\4NA5@/ERE/*;@" .5(?@EJJ;%    6/2+*E5& 5?4# $(%    ):&1,  . sOt/u/tи/A&6FVfv ]A]и/и/uYܺ5Y9IкNY9OY9dY9YjAjj]A jj)j9jIjYjijyjjjjjj ]EX / >YEX^/^>YEX`/`>YEXd/d>Y!D+!01>7.#>.'&4&'7&>32.>7"2>7.#">7>32&#"'>54. -T)  0(>Cy`-^M2"1(<$ '"    $0:3I0;CB(#5' JA    7- O_9 Aa|L * iX"?`9"08;bYc/d/cAиA/:и:/dTܺ:T9A]A )9IYiy ]:T9и/и/A2A22&262F2V2f2v222222 ]A22]'к/:T9AHиH/TVEX/>YEX9/9>YEX]/]>YEX_/_>YM"+M01>'#.>7"2674&'.#">7.#>.'&4&'7&>32&#"K   );# (!    ]63I/;CA?{7  0(?Cy`5q+((  ?9bU*63(6   87I|[ "E"O_9 Aa|M ) i”X3+*{JICq_ ]x&'fUvI&jB &kK& fS[& j[& kx[& frQub'///#/01>32#".%>32#".Q "!'W ""'%!&$%!&$?Jt>W;+WA;;]A ;;);9;I;Y;i;y;;;;;; ]vh/EX / >Y8\+8!&+!и/!и/h 9 A]A(8HXhx ]!и/)ܸ8cиc/Rܺ.cR9icR9)qиq/&tиt/01.54>32.'&267.#>32654.'3.>32#.#"'>76&'?Er6/VxI3ZK<".7@N' SrlN96O]c--PNR0@1"1!#4< +E.6O4#7B/NEABG*/rwr0@JF7 "9~MBGSa6 5C#K)D1Hly08p7   M|4 $ -/#H;=4&0+  7KTG/2M]*@W6 / 6O-U`/ //01>7.'$IB78BI$f$"%)B&B-3=&&=3-q4,&"X<&///01>7.'&B)$##f$IB87BI$YA]A(8HXhx ]01>32#".'732>54&#"A#4B""C3 5D$!@3"R;(( ;+# .E-.F-.F.+B- 35$,; (d3Oc"d/e/dAиA/ A  & 6 F V f v ]A ]e7ܸA]A )9IYiy ]_/EXY2+2<A'7GWgw ]A]0132>54.#".7>32.54>7>.7#".54>32/$, J@* ;U48[@# +1'%' #5! .BO)=V4;cIKh=#8HJD !"'5:uph-!@HS36eL.%AZ6,% ! *7<*>)"8J'GxY2/ZR5RF=>D* :HK=% &# 8 &% |+8&% fu8&% zd8k&% ~C'_!&) j_!&) k!_!&) |_!V&) z9B&- jV&- k&- |_&- zxBSd&2 fVL&3 jVL&3 kVL&3 |VL&3 fmVLg&3 zJD:C[kl/m/lи/A&6FVfv ]A]и/m8ܺ8989@89NANN]A NN)N9NINYNiNyNNNNNN ]+/C/EX%/%>YEX=/=>YC+9C+9@C+9GAGG'G7GGGWGgGwGGGGGG ]AGG]%eAee]Aee(e8eHeXehexeeeeee ]01>7&'&>767.54>32>7#"&'32>54.'2>?.#"8N\$9F#E ) #)XN A>6( '8H-4Z(  "%!%3I/B}qN;'y*qKGjM1 )-C`3253=F*72% =3f3dgs6)1{Iz]S =2EJJ;%:#D"5Pl40-X-6=:`~=:|{r0 6]s */ERE/Eh&9 jQt&9kCf&9 |CfV&9 zw9{q& |{q]& zt@uk&~~pI!nfo++ A]A )9IYiy ]9ao9kиk/иܸEX^/^>YEXf/f>YEX#/#>Y6r+6и/#A'7GWgw ]A]#f9yиy/-ܸfܸAиA/a#f90132>'..54>'.'#".>32>54.#">72.54>32>3.#">76..'&1)VL(XI-(54 %`  4NZN4;`{@ JH@LROPwO&)OtMD~<,Kf9'370!! "&% 6DI<';[l1e88IV.WzN'=:*C)#RGC>52K3'J<*Ad>6H((9!+:<-?cD" &(ASWSA(&-CiH%)  &17(3M2IA4'@f~>(+@KB-  5G*UC+2A[&& |M5&zGE& jI!%/01>32&#"'>.I)8%#5' ! JA    9$RE-/RpH#A8-Gi}`9"08S& k%&& | f& zI[& |[]& z@9)=@/9/EX%/%>Y++ и /0132>7.#">32#".>32#".9dHHdcHHd} "!'  !"& j "$"   \& &#% &# AtV:HRS/T/Sи/A&6FVfv ]A]T/ܺ/9;A;;]A ;;);9;I;Y;i;y;;;;;; ]>/9N/9$/:/EX / >YEX)/)>YEX/>YEX4/4>Y  ܺ:$9>:$94DADD'D7DGDWDgDwDDDDDD ]ADD]N:$901>7.7>7>7&>32>7#"&'4&'32>">7&`2>ElQ>m0,+aZM0=`B#"8+;Y901672634>32#".Z * '"!     #& &5K+c+;R+;"+A&6FVfv ]A]A""]A "")"9"I"Y"i"y"""""" ],9A;;&;6;F;V;f;v;;;;;; ]A;;]eEX / >Y'+@M+@W6+W A'7GWgw ]A]012#".54>32>54.#"%676.'&32>7#".54>32.'U|Z3jVwU0T>Ȋoʙ[ZpȂ@$(% $J_*:^B#8Y>3aN5( Bb{A\f75e];{d@)@OJ=*Op^c+Pr]zjhʠcRz{̓Q[W %A0Ag>:rZ8YEX\/\>YEX/>YEX/>YV4+V{d+{9 ܸ*A**'*7*G*W*g*w****** ]A**]Y9nкz9 01%.54>'.'#".7>732>54.#">7#".54>32>3!32>'..#"4N[N4;`{@s,6`]q>%C8J^@e~>  *gX<6G((7*UD*%?T/. 36˺1+'+'A&6FVfv ]A]ܸA]A )9IYiy ]'8"/6/ ,+ 0132>5454.'&".#4632#".54>7 &*  ! A>7,(AR**P=% 7f> +12))?M$3&!39j}+I_3?jM++Lg;"AAA!31V"޺+A&6FVfv ]A]и/и/ ܸи/и/"//EX/>Y + +и/ и01267.'".#"'3.' JdfK  # HdfJV   )# odg37V9N.3+.3и/3и/3 и /3A..&.6.F.V.f.v...... ]A..].и/.и/3!ܸи/!,и36и6/./3/EX/>Y$)+$ +  + $и/$и/ и и/и$!и!/,ܸ6и)9и9/0136'"'3.'7267.'267.#".#>7"9dJHdfJ{ JdfKKiiL # HbR odg      vz I=MW!F+FAFF&F6FFFVFfFvFFFFFF ]AFF]/=/EX / >YEX7/7>Y*A**'*7*G*W*g*w****** ]A**] AAAA]AAA(A8AHAXAhAxAAAAAA ]I=901>7.54>32>7#"'32>7#"&'.'&>6&'6I-X+*B-5e]#L#-W* "$! 6h11?5O.-'-W*-3bN4( Bb{A#?&L#2;^B# %4CT!" PQIW`3R}L fjdc"[7->]] B..d'$?99  1oj+Rg+RR9A&6FVfv ]A]Agg]A gg)g9gIgYgigygggggg ])gR98и8/9gR9RDиD/RGиG/g]и]/gdиd/./EX"/">YEXU/U>YEXZ/Z>YaO+aGR+G<A+<и/<и/" A ]A  ( 8 H X h x ])Z.93Z.9<9и9/DܸaJиJ/R]иGdиDgиAjиj/01.67#".54>76>7>7.'>7.'"#>7'>7"7YD)LFA<8#(-^;=8B# -E04\SMIF$0^`e6&,'5}~5E^`GE]]E  6=6  D[]EE^Q|[3&59&/#,:MP3JO(WI01XwESF$($wo   3b0  GABHo0c2XfEX/>YEX_/_>YEXd/d>YEM+EBиB/MTиT/MqиE013> 3232>&'.54>7&>'.'32>7.>7&'>54&'.>'67#".>76>5. #*3;DMU^h8*09%1BCw& &H\fbV("/:  6%NQN8 Mfvqa8W%%AFP38XMFJS4 _Utl"4AD@+P:'48* "$! "CY+RXJnCT][&/RB2`YQE6$!uqA 9?2UE5& 6>4# $(%    ):&1-   :ys  ;.>;,8\I5!(?R0()*=$ 6U:IopK GAW^Xkk϶(CP'<&+&9) /EX/>Y 90136#"&'>732654&#"#"&'5HE2 5C"*Q #-+ o&G0.C,)- 4&*&  SMF&' O^C&<5e{|/}/ܸqAqq]A qq)q9qIqYqiqyqqqqqq ]ии/q-и-/|CиC/9и9/CfAff&f6fFfVfffvffffff ]Aff]>и>/f\и\/( +(HW+H01#".54>32'.#"32>76.'.54>7.54>326.#">54.'.'*9)6Eh{7*rgH#:J''M:"$($-HU!%[Q9$?R-'PKA1#+)"8Vg0@sY: $'" 5M0#C3#9K(9wc?"8H'0\&#$%>Q-#J"%-Di2&USuK":bI-E/$=P,/!*(8J-3[H*B0" !.E]@%<853>K*QmB%MxT.\J.1S?*<* )L},/=' #`77D+ _Q7  //01>32#".Q':J*!NB-1FL)I:'2R: :R32Q9";PCM+A&6FVfv ]A]и/IEX / >Y!D+!01.#>.'&4&'7&>32.>7"2>7.#">?{7  0(?Cy`-^M2"1(<# (!    $0:3I/;CA"E"O_9 Aa|M ) i”X"YEX/>Y5 +5(A(('(7(G(W(g(w(((((( ]A((]49:A::]A::(:8:H:X:h:x:::::: ]01%.54>'.54>!32>'..#"4N[N4;`{@bX)3b\XyN(('8K0(XI-(55 &^3K33T?* h4++:<,?cD"EsVNsE@f~>%FOO?(6H((7*UD+%@T/[QFZк>+>A]A )9IYiy ]\EX9/9>YT+TM+9A]A(8HXhx ]01.'#".>32>54.#">72.54>32'467.#"67&54,-E?BDPwO&)OtMD~<,Le:'270!" "&% 6DI<';[l1Tm? &, >;*C(#RG>k"' #  (ASWSA(&-CiH%)  &17(3M22]R;CK'%4 5D#(+@KB-!#USfQ]{eߺb+bи/bи/A&6FVfv ]A] EXZ/Z>YEX_/_>Y+и/и/ и /ܸbиb/eиe/016'6>7.>7>.'.>7'.67>'"#67a>g0 (^(0agsCCshb2l׶ $BbC!MJ@' "ABF'?CI&;U,@QZWKNuQ0 Eis 6=6 .e</̜    ^wY 9 901>7.'7>7#".>76.'>.7>&'.'?j05q7Te9tJMz7VX #>[|QS[4 FpNF|^< &3"*4K]1NU(^^Je? lN4mD#<,8b%U6)D"dEtU2;bwY?`ov6"JE9$r}]/ =Vlv| }/k5& }47Q+A&6FVfv ]A]и/O9O/ܸиEиE/OH//EX@/@>Y@9H@90123>7>7>.".#>.#"".767'>74n+T+ ;zKdE Gte]bnD %# $'$ -CU30=3$M>=w}P  +[6@Lz67(\: 7[.ʟ  ,;B7!"08'WF( @Ye\J$' H*[+I#.;m *+ A  & 6 F V f v ]A ]и/*1и1//01>32>7&#"'>7'>76.()8%-9#5lDZ?  @8  3k?@V?    $QE.K~[#T3 3Q*'q_ 8[xK#R3Z1T)\J"08 @gSbp.Ur'.'.'.'&54>76.67>327>7&>7>7>7>7>.7>2.'.'675.>766&'.'.'.''.'.'&>7&''676&'.'.'.'#"%67>7>7.'.'.'.'&>7>'.#">7&'74>>'.>56.'7>326'.'#2636.#">7.>4632##"7.327#.676'.- !&'!"J% %'#      '%! =Ub+8A!  #*.,  "!#:4055+ &Z[X#+E S.    4;<  ( #   1/+ V"@  '%   !%%%I#" %*+ %.5 %# #$% ;71 /;8 (( =>> AA?   1% L  %"   #&" &) ;         A `   32/  &)% .:-.0):FIF3D$?P^3"= #?<:(`gi1%%  &++    EE ++#HE  9&%M%&  $<  #LOQ* HKC$/13 %&)  +)2/,"%((    +  '*  ! 0"=+Q, '  $$    3 (    o=71&$.2 B " ""/0   '7  z:     D,nR`x*N  !"j"#\$$&:'(<)*,-F-//11245578`899::P::;*;<<==j=>>6>X>?L??@A A,AtABDBBCCCCCFFHRIL&LNLzLLLLNpOPQQ QQ$Q0Q[J[V[b[n[]8__``a`brde(e~eeffghiijjk,k8kDkPk\khl@AB Cjimqpxzy}bcefghklnrsutvw{|~doIHD.null     !"# $ %!&"'#($)%*&+',(-(.)/*0+1,2-3.4/5060718293:4;5<6=7>8?8@9A:B;C<D=E>F?G@H@IAJBKCLDMENFOGPHQHRISJTKULVMWNXOYPZP[Q\R]S^T_U`VaWbXcXdYeZf[g\h]i^j_k`l`manbocpdqerfsgthuhviwjxkylzm{n|o}p~pqrstuvwxxyz{|}~blockattack-game-2.5.0/Game/data/misc/000077500000000000000000000000001347224572500174375ustar00rootroot00000000000000blockattack-game-2.5.0/Game/data/misc/AUTHORS000077700000000000000000000000001347224572500246252../../../source/code/AUTHORSustar00rootroot00000000000000blockattack-game-2.5.0/Game/data/music/000077500000000000000000000000001347224572500176245ustar00rootroot00000000000000blockattack-game-2.5.0/Game/data/music/bgmusic.ogg000066400000000000000000207402021347224572500217620ustar00rootroot00000000000000OggS#IeAQvorbisDOggS#Iml0CR3B::<:;:9E>vorbis Xiphophorus libVorbis I 20011231vorbis"BCV@`6ŤRqX*):夔R";M'RJ)|Rc1АUA eY_F uY{J9 !:.! 4d B!RH!b!b)r)s 2蠃B %RJI)Zk-kנ>0c1c1c1# YdHHHHX%Yd뺮b8H%Yfi( hh'Y'yygygyyyiiiiiiiiiii@h*@@qGrqq$ YQEr,r4Gs<ɓDILɴLKT  Y@TLTTEu\ulGvlɖdɖlKlMdQeUeYeYeYeYeYeYeYeYeYАU@!! 4d䐄X 圥 YYgipVDY ZSNi֒s3>8%RJ BCV@AeXlAeڜsR2&1ܜr¶Nl+ڜRАUBB!B!RH! 4d qGr$Gr$I$ɒ,˲4K4M<<eo|ls=7U6 5n6bDlVz3.fܬult,Q!dh//ͦD)>)s&'vBu+_u3Oݳfw"|S{Rߚ\iގKԟ}vg⣏]͉>gǟ^?JkgKG?,j/ 亏7 7󭷯݋[s~޿`OIn1Ⱦ{QH@Yn_ vwǀ HْOq&X™) }WBNHʈеOn)@@2 S#=;FSqոzM{v1Otn/]OwW*(.<_~V(㲳T c7ڽ_q'ꗽX{RGཽEϹ2{rwo9>:a%3FmOJ0|Т>KUVkw3kS6*clWaɜ?<,4+6Yڹ/}L {bYW9nX@Je\ c/U-f?7#OH8"@K|"OT,5̔Yu- fO76OY{<'vue&uk펙| (o ׈9- n;wER^~z2v%<9m3\'j~-iׯ3 |<]k/'ܦj͵үemu[*^Y4w'yp[m?T43sPs!;[QŲ^peDVIWu ȩL6ߙu:M:w2 b $U[QLD0&TYT7<\Ͷmؚ͚|Y.ʜQN_zEŚaGO+*u>$6(,ҶZՖe 3)Jx((Hr̷x-*le)}cON5XOz&{vHIVt+İpX!)bY%[Ty< }ϖ;IO4K*ƍaj]@Nnk$X߼9]FA/);X-_d[ZM^Wn_:G9+JĶY`p3;${u>WL=ۿߍ63f)2JJu š:J 5a74 #@*jFCvYj1m{o+֪l۬6 !N `A @ZETģ HLSdܶ)u]7opw _ؖ^OggSK#ITׄ'"$"$& $-<: Zj EudiSMdœ%E@204)7RG);7b8t'oB$͑oӤl!阂Zj<<4d\vb㶚QblXɉjE*(BQRV +U"Pح 9dgg(6pH(؀Ѳ$wJٞRȸHHv !Kɴ^ G HfrL/2fwhzf;݂=e268(.{:D^[ Rl6ؓ%E(&PPW"Q ˇa23W$DJY#abîb ļqҜd䙸:7j7C%@cZ2 u+e6Li"H@gx\aMsqXYu( AM++]V_d?ӑZ =gr)c8K9E q=MȒ-M{ՠ'Qʉ&k4{4F1zeIk@K#x b D̖2{` ̾b6.@AJT\OVT@ rdpoJTqHL ][<剭n<2K $}fVw{huJ뉰qu\{vݱz\^G\.t%nzww̮oZGtfMoEbi&;4g7Z>mtX#z[ݜf3 ;oCwJV3Q7?+T&5η">;ٽT0=m\v7g8,1w.vP39j 2^ BTi>0CFmV(CySG) b* PB-BdDs2UBVtBP+続fGS}mY$dw51Ez/62g&>߲zq12*<).*/殶^cDCn_8tQ-ЫEHþZTU^pLpf3TV69;+?Γ o4<p/MrFw8=61v'> wTi>6aUAJQ  *_URD4oZ߳%5IlTe0RzDi>Hr)DUYv'OkLxe>;YUz;W-fPlQЕ1+ʝAs{(zh]h^A_9ՎQUzdشNM^4fގ!ZLmozqF~7Bį:-h#sz=3pA0L03 %RV  V4B:Q U (4h{TaeO2DQPU](dؼgzޛvTT-g<[õ4nM>SCc'bNͭ%Uewml:wD#NǤ}ڟ\AM;㜌v&2O-lm]68)9@LS(5Mi$rF`QAMZa i]Ʒ302B? C Ș=GكUܻafzLP#sQn \U3@d?.E:v$ ̨j3,BPJ#9Y#q0SOUsڤJtvr-V-t{~&buޓ1[ӣ,8o^\ ;˵WRqbo/$}Э'6Ǘu/{{- 3 +lה{fVi c^rIV-iiaO}iyiAE䲟HU5HŘU﷿"%~:BM1 sOJ>< }W},3EtuJVJO:e}zxՏ{ͻ;Mo+;z|ٓ`[zzuݱeGJȶCECG"_CE' 5vι_۸&`uhGwf92ts z]f!FPa0H[IߌYܙA@Cหh(UN`}?WH236R&A4\BW5wCFLHFlA\~8!iW}(q$~E%;udf3\*^l1xu49澤y 9NՖZ4LY-]wή NyRv%F`;]oˢE6T]h~ / ϊv^^߭ XOtvIx,{Rv .HLst&nKjFV32Lw}g'կŨb>`b*]ppU@ EŎI+@@>jT"8plݞlVaU vJ:ej.fIAs5E)|#"uc b:TSgޟŚԁ2z6*.U޼c#>v.ב$=NfdǝkМ{ڻ:1Jyk,B~i7l_~<يƨԤ3Z\ vZw;'̚Ϣ7#qLt"ICM}ݗf#6kNMnn\v͑Hd \ECY`y&!T ȣ"8YBQbY63ٵu&fVG0]P '`@E2CBQ!3Řb(Bf[gy)HՌ%3:T.] "(镉J9 6U,) W@{sd5Ѡl_SnyV{3_nhr; m-vmtT,Q5NϼCvYTK`@ 8&-0*wUO=*ͷЪ$Hh@73J)0 _P۶Po6*`ZQD+bDF2-"wPHEawܩR.uJLE)|:;w5{+cN&T ŢRLH>+zCEBŦTY2!EΝދvRa--[-VR㩆`&֝'Km€=t9)Xb0I(ܾOggS@#IY  2;F? ^ sVbBǨnTA+iFh73:?ےZ`SRa0E2 !7PCFӅBYFfJJlr6YR^h&Ř)ݶy5Oz9єֱNiѠD0Qk6G^|']ٯxm܍֥޼qav[7{ֆGB*'hQshcxʜu50j3Z@ fof(pc1bs̬Vl#UwCmt+Uw!T7$jLQXLLT,SCEê`(QS!29!gU'p7f;Jl=Uz^5aFeMPh;z|n5!JL@y?R7؃I>)3\ڍ&<2z%QVj1T0F-*(*#Z%k")*Q ͳK]c7yKf']O=ۥ.2=w5z4L Q(XV&uqN3ӛ=ɖC?jµV?[]mU:-R:Wү߮ޚ] c%&Wpb(f Z/ng.=l?Pj7CQgQ*(AhxjFL~X AEP@H2H&$E2{(B+o=ek{1%7lI]~= "қK09taU}-\;v%|wI74i8,NaTBla. 9y5IT_aԾNgca1od/HZCb6HqQ_#1ӼGAݑ? s$ * ʍEKٹ쟛TFKHuy(:LX)D(ATqu L#ӊTbSY+O_9^3}G\;/ 63r"ߟVZim}vF;c TjٷkϹa/o{֝ݾ-_}Fhsg_zeQS׳>S Okk"ꖪWH`טk?o_Mi8 [sFiМzikz5 -L2r'ξMu}(~Pj6nCKe_,jH)0$(e,j@uK+EU#l1ɩL옹-Va}n̤|=cʎZ ʪуR4\3݆tԄ;e]|e K z_!\7ˢju4Fg9bZlؚeXcvGvy7ё-&j&ѹd"[;h1dfiq[LM8>쯛0fԈTbk$c"q6(h@1b 9q5S\Mdx;ql9n().|ވ;۟7yinNזi?[& Ը(N:Z=ӵa'% hlu(l៤PT26ϧk5J{YV6 Gvh7OTvU֮ In#tSƒ3΍hB2%60Uk\.wD(x8U6xW5D:fJ)Ue&*R/nH2p1R0+7CCVjl<7ן|m)?lLȣ!ض{t\]aZ+mav.f:v6S_JMqXz J^~Sd͕N^[]m}*շי5CW^ ~!4n/voq%mDW㉤8PwP9goI*I)暙* _F^jU(\h:,٬f:gISk=2{ ʨGb7P8ʥN=_]ϕ^1_)kت~P.6Jtn&v\vY?}ng}t?arg}f\&0רA_f{guҳhZ?jD .ߎut}q'bл#yn;ƥ~+70V]ͳ-FzvW1sO Rsp̘p@S^9IEƹ@c0vгze&ׁd/I涷5u]=Mm|;5?]6;f/Wv3HV*\!ŔŌB(Z]Uu]]{lRW0t~ה (E#2,Ays@LDTMT;ac56{zM77OƝH Ͽi\0@J " Z$Bc"x҂AO K(^z˼$RJI3V[45htS]1ez83wr x)vM4d-rCB JY+Bri4-q41I7 FQL)!E)eYE &IE|2**$dqd@I5QԂ.x!r !Rr8 0B $eq#HRH@)2Z}Phf`sbf=ڽf,pp!~פlX/L2,$dU! 8jԘe^";̙1J섔P`بa jUPrU2P`q!XEL")I< )JdFDBȂ d=+%>IĈ|#QJY C,bPC:b*>I $lB,x$24*v#Ҏu8ˁ1t3 ऩNp؅OggS@#I;K E@, &$ކT棻 %y[Nጏ@®TuC Q0*UfzDDtf 6j9AU@lG QqM@ P[(` (ZRfLȐdeCDAF $)"6>HGA >l$hNdDdfFȀD;H H73R"("*' @0@$HUJ"BH*fl]Ln f%{OHE׿NjgqFsq l!^do yY 6A*PhW )덪* yZ*i[D+k#rZjXV"N@M@$]QGŴMY"aUH @d! YL2+(@fdL" , {)e(<H\@:dfLqtHŸ$N]O,b/   qn$D/k^//uCҨ %2==klK7j˜i~:T414Нp8NC6@BD5fff$LFYN5i頨 8HLd(DVbH"(.B&EŮj"SHS{%"DQedVFŔ$xJdX.§D\+!0]2%2x^q„/ {٣Y|߽k4k(S˜N: 4ކ8[lz(ŴHfS4V hx5jTfVv'X.a 02w*lD U,VQA퀊 ؘ H!E̬E)S1)%GD1H!rB'E)KJ)Ɋ@1HRdl,@YIx&ՊC`%:>-" 1$'"H<.b@bHRP%ț=F싱,XM/&H\0mV6?*z8fÁ$`i7t^j {ʔ2e&߿OrrmTlWl5s C@,K DAPDAKT(IjMD% Edd"Z%Or!x̱5NDb1/"{c{;uW{۶uV w0)ܪnPY5OAQ)"rBiؙ9{϶mL▛ "ª"&Ȋ"PHSI"Po^*ewf7n-` ]]c0p׈E3Ȁ9j5Dkxꅫ "ÌMDd CR$&RXhV"t GLd(w 2HZ PŒTdFlQ-f86 HFł@5USe.GFFB`ʚ3G^EtXF=}ΤA d\S(@36&.k3id.{ӹ t6/ܘ& s{Ͻaxfpf@݋(~zL;9,t=2qBL5jBO41 D J tdF]zE5!N!ͭ圼xgܸ͙:ڞ(o:Sm3:;[z+M1Zgvy˅rK zK#ʖȾ- ]:DZYaW\trnsJj7 (G6'y,ϩ\̆ .T26e$rktd,˫La"*bM`l/fpl on#{x4Z3Q=`pSޚ6R= hGfUMVD*5-0LqX36i&u4T ɘUtT}b\gLFWs.|ғ]3zGvM:qysScg;C?=g^GKS{4GG%4*oG^tN9o:Foüu !BF-_p8/6dΫgSY-EWkI3}q7Lsom5.Šqf2^bt+ ^:)(-(븪?@b{FԄ L,$~^Gc(P} eV"`ua Zىj+ d@] =-w G7C: c>WlKW7/s)[j^]X3ܭ}#s1L1i<_~w%&amiy:펛ͦ^)K3{L=;|RR<{X=X[wɮg̎?AFϘU06f ֚0E?sPFn fE0x̐a 6^tK$Q*qVͪp)A@P潪#FѠpH݁΂vVݦ.>R9K$ Pi!#PPƚkcM& <Uȹ5p"=sLow4ķhZFw.XIOc(uIV)twiy>pyG{~J}Kv;m\ήSThņ#HIݽ25 Z$Hр0_{V99. (G> B/G= @l̼RUVo1T@3O>de2~-{o9 p!U7(OGJKBQQ dO R6"6oJOw"n_fMd@VxwO\k^mauг7תyOLW ^|(Uk۟<:sgn^q1t{Ozlim |w?jH]7LK{3.웋1 ks:灔 BS6ڨIr hj "`PUUU}5,Q#AsSvT؞iAx&!;I|tTDO^ -s֮#dU2Skkw۞˓G&ۥ8~n *g nONMH ,.uNuuԉ--cS| qQbضczs2m; (! ک2D2vQ%~Kݘ}]P70;( X=C>^\;@flc ){WA*w'K:䤀P*;VE:2O5nx R7z[t)pHzhIR4aoRhѥ٧|/y O=՛RX{\bftú<̘^.5#Af,󣘠 fq~)tü,zث5kUUu$\͸&CA:/{5%GP  )N-u~džj&3}+X鼫fB @(@{昲0MAMof1?t ivLP؄O (޹ӫ|R;~qսi{JkӮ @E;2`mR!]CROv_kc8}5,zQ˚}>ٛlt=vU[MH7}3ptUo\ɝɉm֣b {QWٳo0ɴ AtOggS@#I¬"5<:|>1c2}p+&l-KF̻iej>ĕɨILJ(^C$5kԌY/m!)5+ޣ&<!p2?Ww(Wt/! w $uڕZ RBRxRNO+p}{X|7$1r_;.pp=ژii0=|sOxui=+4?F7 ?a+6UաHQg-mݧ|k&ncqƝl^7°2wet^o}w m 3uK2rU|Bׇhr3fނ7$e4̛,@ZWGEsWl Y.wPT0%dvOvAR{%O 1;=nmʊ*]RzrSXʧOi(WΒwbS̸Gfr@S(Tf$'~MfZ!it5qxs`}`Ce(܉i/9ߴ iCN뢕\4v\1H_nRS2L053nY3qdVp@w}"R= .x"C1Hx  7oL_񟛗c"jb[#7z5\I1,Vˌ&`,f-)F:"CLYr2r\O֓AYU{^(DmPPn;iӱ7+K~Sӎc1V؝]7j~hf[qP>JW4eliѼszE5fJֆW_Zl#vFW_0YW{Qi_Ϙzün;Бt-KsDΤfMgo,AWC*3 Q,vA8St5=tLۛ-nʦLfnVav >*e Q.c3 ٖYO[^VoWz*M 4'D.*E#4affL+U s͞?_:>1KLA,14b)T*kT RbQ,E92232(b)  2Q$b 2R,dbX(F9`)8qRFFFFddd%#wp5$2hYA p ]T@q4\SA B8{{1{3^ݠat }̮v{ÍD0 ^+ͷឌhJqrM *{feWPl-PE,usd`j\ZLPI)lNdqE"BfD))S:Q:eC:1M%KSBfuNCRAk@1ď;k 2kp+Mv TuRw 7j2L\S%@u!)ye4tЗ޻~Q8( WX*w7ix[O`Z4kf$V3vڶ!e6d,"U j`G Qɨ"KC22"(#*֕&DDc*6mvƨV@h(L 0 RiAd4.D?sT{m>QB޻YSdOKuz'|aE{;S0an ((~*-sj7lChk#HjAbFhf$J*)&`[vkb ^ IA[4B2HD$mrˍr%FfVĵx= "rF-@f[LPФvwQp#sB.OoǛOSHlLDž<]+.@ L'#P*/ۻ8ѯ"wR0Y_yxPu]0!NA5b> -3\{%(Hp0Ic 橑@* X( RIPiXE1A" Xb*FbYq\iveR^̎s0}RυwSab+,cѻnmUV+{Su(`!O1Ӌ]PhίC$uP.rl-KX,bQ[SM7> )^;`  <86`82>쟣rR#t92GU!AfFٔCU') dJ1PV!O b@BUU dG*,RtYnOUT 5kލx3T. =vKT,t0W!N%|ǬGiyv>bj/yլ۟SrU?TMI:_ TFZԡ,p,0@k$UDS}f f"Pc 1 e譨ꑢԸz_ΘwרTKVʇҸ9~wvխϼ-LKܿ˺tUy:jȈCnG5xkKW]}K U7@* RyC=0σ3*3v]tm,LqCy0Sey|LP~ qG:ʍs*Id?]r#kf$c#2 06DUE-BJю$FHc!B؉6]e۞mӧF!/YT/Uc'b5mGN^e[?lgUlv^Nl'M42bV{#ǻꪢQO~3x_3Vyl=kZ˛񝽓9:(0^3 tqǵ[I3LǙ5_T[z3kzڝMaJP`^y/ cBb?B `U0za 7oR6Vk_CE0Lskj-rA0 bP,\6h`IUӳSOr[t}FmٮMΜu DPwc\p:lN.?j@A#O\>vm{eҮǩ=rwLhֵl1CCGB˹zq :ydcatN9¤& bm^yHrWi ʍٓg (d&)ULU-*%^}F@CXW `,R$?[KjU_+ee0{vJݞKnc{$1N>(Z9iTFOkk*͘Yή6e~+zֱ]֕Xri5Fz]ֳ?4vpgqzݞnr$_Gύ?}[̠Cg\cn~V]!OY=fWPn޸!BgT͈~k^RfH% R y3OQvWX W#ޔ"^X:;3A! 4QU{rnާ{lD~}/Dҥ OnSڞ5U_nmXyT$xL#^d {ճ[Ιv.mF1U[?:!L~ijY}6rv}-)7z;#QƸLo7͓z%(v/u-7լ̹:(57f٨4c=?hȳ1Kl`T q3T&,1n)U5HZ(yf,v`UvmҮmvZLpU ""Q9utoUSmAmklz~MOzMLɎzgsfGcZ܈ٴY.h߳ڶh[ZsOfwlKnnW {k&;'g&&=>v{gV[ti_OggS7#IW@5HA,($%*-'$('4@Aw;7~4 Pѿ;H6띡3i ~Wj?_kNfLSPEJ z>HàPDla4.{]Y!?f9 %'"2 yL` 6fR|Gb"nYloޛL{mZ*m˜Rle!(Roo#]7R{bbe3 eLz_mKj&ZG|Aڔ!TLL(fG5TS5SWQfGV_Sn[t961;9S5m3cy%hI:-L=PF*µ"MHdFBxڢؓ̽) S!#)$z()c"Ą/=$ &3 hdgdPvY%VK4A ET #^&"m)##$L~գ5H*NJ$zT Ѐi#=[7/}Ss\z{{Æ ó "\ csbgp8:`iPwl9Ԅ׉a5U;uw}NVvɦt)ÇV /%/M4ܩWьG^XU#c"rS*l]j/(&2ә1(ʹ D&M HP`igJ~Q`U&s̱ y=,:2YJɒ]Wץrd6p\V2扙Qތ٬Bgւ+w$hl7W:iN]ѵY*؇d r3tvKw74/@)pÅ ~$'pH" ky-p3<*zgMlYm|6lؾ͒ҷ>H}Kz i ]zt167QǏ7_2=&Ry=QV=ʭznnWWmdK0 WžVAF8! ?WKa}/3< J&nz. (@zv,Uq`gbMM4plӛCcRʑ7hyoC(',`, ޴SP3Ac{*(A2K`l tTB0STMhpil7.lBtӔJjIGI]l"=,C퉴HGlZp5̍M=6lީh֢Mx6bݙa4hEspc&MʉS.D{r\n|oxC=MT(}bN9-cr0l<\lOw68΁]ݺ̘hqfqsxɋ{ (4˸"plM*V Ns9kk_`c9r٭sYO#mQޔ$ @p$"FiNE,Bf9찣ʎ+)=| = ھcEjcg`MZ4;m\#wћb7{nB` ~$ごK5`W b)2 _ [meܨt>Iz[N#[ʖm̔m6t߹=u\O"v׬ s?ӣ|t{.uϧP)W3i*;bztc{ g?}CN=͞L tDo̿C~<ascubu?Z8tOky6ϻSa:itdkr0e|}sLF#kovJ}*kh%(u,P,3bd^Cf*)A|43\qJ-e.ҙuVkś.3hQP:K^k|^ОΤFG*? S_I^V|Ý8k>-A+yԴ{)vLUb+Vl$$Ct$D,g`GU&BSJAInsmC;^V/=쬕U/zg2yu42j\>6 ;gC^TIő"VF$WkͻReVc2nL;..?0p\Il5T]qozM-Ud*G%'c2bwsw,'ƞF ciq癙;p4$ϦAҌGnegSh6|ptfۅCy]ko~meS tntv֮RBYD'4èWa>ɩV8>}:(~6KchS/b.,+^Ƒɩ\oueﻌbz PD))AvM FA&n 8ubDZP,(*bR!dxqyo=ٛEyOw]fH5pRRt{>\A]-,y!ߛ5"llt޶| #CAWe E h @eefG(2>`K-c~`ۖZl;1E]v)KC{ rJjvDЦ tUıDbLQr$$bւB1#eR䉀 ͌V+F,ݔbT BD E<)2ZЅqBdHbTv$$X`Ak `Zx>W`xOggS@{#IyTO!  5<=5Gqg ݅D0XpSJŧb2hZaҀPTMYXFɓ%ɖ֐FWTѝyJBd ز("i DdBD!D)dX)""EA! BLDʈI$$BDfdHA .d*2@BӑB"DU B " $R"^PR U΄ |`&1r =K%3t{k/o4(=pv&=8uJ~W 8zž0 6Z0̀0JE(ĔAD}4%_7Du`#T$LZJVF2R)QSDQQEAF**C"L\9u $2qb.'bDFҊ jQD3 2NJ$ 7e!;20 I\ A"nId!Bnx |B[`I9A}f@"\cwsn˰Z+[k  8F8֋0`j1L;P@(@!RxU2c/mu<ę6<˽Ӷe#`` FC V!l.Be H0slP(eF 7 /L)BL萉N! >g.A2 !G\^("e@2R$QBdO&Q ,#!e22LR@2Fs*Ř*I*oy˱[?eKc h`ƀbc: [ ,<@R,%!7X`YIAS@(CL՘ Z+0앙?h 3WL UDe(* Md 24G,*@0" eDf #22Bdg#HD&ԩ2) %ą,E[28"IIHybHn 4T ]-ʞ RcW8PZK*=BB6LEPl8 4%(ǔwaջvI3Q`'`x(^8 xg 6DÀ! D5e,/oq iEha`,rBԂըA1PHٙH) bU ΈQ \fg1bdtQ=NdTHBffh: פ`\t}ɐ (UeU,v_+#mئ]C RJw"P`(`X X&$B6YB"He,lI.XHd1@LF|q 9|Fı`G@4DrT20>Oӡ,r"Bd}rU;- !8H+ZD2HWS餸ޔ@7]@%V[gvF.a8GP8^alv,g$/ 4(  ̨*3о?e'q:U-@PD 3EKD&B!3) 3IFFLAPTZd#b 2"3 [ R,Bx)@rC9J!GcF"=J%}yd@`/2a<`H,2A#H$!eD0Ȟ8F3&%3?h#nT^iD)ʾĆ+po PJAJ@X j1Sfe/b)d{Jw`(iخ)E" m6 !,H+й"7P) E&IpnS,e",dHAdLVLE 2•.pd"<*0ဌLE" 2>AbKV)- ` "uċ] ͉Z^%8h_"1^\0oؽ5j0@d` 8k2FN` HeMQb x:ƔY)1t 6%ivDU1MDsQ[ T%§X3@5!BnD.* V%R. "sAbXJP$ I4 UI!c7rJBdM524c!EM^T(2nLGͭ+ˍZTaS)>;*!xnD2T)bX4t`R& ཪ)3Sf[M [nYnjebU1EMF(P7bU H+##CƔedbRrm"Q qB,Ȉ dHGV :I''eA11>"“>H2C$JJJt $xW$>! { ,k` q.RjQ8hON }?~cr8QVQ5cae[D)TۀjT2 T&%HmTߩjE`bbdbmqf4CK[ $Z$}&` H)B(Q rΤ0EU3$[9I+Q$DF,I"A @0GB"9IWT dQHkq>}ڒ XF.r jDgÝ^B(zypp:tVng0P<άd;11T@2or! R*D Ŭ4_c^oY7.+3fBiP'6;@@>UJAS,f 6WVe:jSlZΆ4vTv2f˝ T iF F)3eʔ՜D_.*b&b[`cib`N[RsGii(Aji** R1d "iB!,dd) ORFFp`f!#I_$b!nD@"b|"> PHHxL/)ɒWdb0'H@ @rk`mZ(.({y]}/Nǻǔ)΋{3=w2p;%h>Gdz*QTxئ"Zj`aSC ALK܂HŔޓ|&C Dq8X2d XP+ "VC2:Q,dM*HBJH"DCcxW $AVpv YW *)X[1\8|\ `:gFBi_*X= $FYY ai bit*&&tl"2((bQ@*(2 )#*Cd"(-@܌+kH22EfQFf'+@<ȋ8H\aeIB$t1zR' wĜ 'U 11s%vy\5|̉^Ǫ̭q`.s 83i^*\ ;~,QH$SfVfq" a ATL b+42B@d"^xYHd YbiDEU4U@F$):Ji"/:8,b.$dSY@'V!3 "4TĈ 9 !)@q<'=3񪂁=ۭZjk;ܞx+aLA*Nq\^乪ݜuIK"yIC) *@cLHlUUE Cmh< "2Bc+hdbJ}QIgrS JE4Q*@& F0't!>P$dSʠa}Hd&aA|s0:'toK( %>ҏJ.s XB Wd5A abĊg 8PGOggS@#I~ #>@$#"&$>ʻj7ٟ*Ol \ ` DQ(*?`VY*""#*b`*q’L62;D`CA!FhRf O(#L]F*F8A] 4|#Rw#UQՌ4J̒p7g mf*cZJNVt+UuLXYt]!'qL?utlGc;d7dpPDQ6mXaw4<4 DGRb䦖( Z9@Q$$)2Q2('4b<9JRfE@&$jD0.K=L@O\:/ W"Nf \ش9ps*`tpZD1dt>A3ecf򤚾j+{Tvڈ)3֞m3w9w{Z^nx̅zgNWjF#ygFV*8HD ި)SV,GQAQI ڢXBr@-b8)0ۡ4|I yHU 6&8H(ܽcrˊ!e8cfȂ%$$-L>s,zX*vQ;t 7oa*zc ͙2iI1scݸvs,Vٛ5l.ӑ̥u}3abL3eiƾecVMyqK5 ~J۪fB9Rյ(^0ިQefVh"H˴Qd3lec)@@dYaq*]:bQȰ0GPdV32Θ޲{TojK?` F5f_WVa.^{fl3N8rRY$s~{slfOK`. W@<$.)f✝0K7J}P<$/j@@6yoF NV>AĨ f RdP91;mQLtMT>P(qZ VSѬ'O4LL\.? Z "tӜfu|ZWۖĄ3f:fH7+X*K\Uzzl6==ꞎ>l\mUa[T0[fGnǕ&` j{rjmoGGd81 Q7H8Ump f @Y)N˕p`=]K@e|iU( FY(b'bQ(]n]{o*efR I5J2g^%t7=XUQ#D%jAbD{eZe$ݶ٫t~A:+bYPZqy Ǝp?'`MeNi㗤IeyIel#ȧXȌQpj9${lr˦(dؕ4$#D)+TPP!;;ʱOIQAQ3a Q%Q*fTEQ C'F>v)#!-p4Ь,M|HX"H 2b!0BB)gw` 4l 7km;^BAHf 0`6{3fDvJBP]u*UZ~i-ц]4Ltsw"ꚩm|{fw"%DG0B%C2# DȂ,]TÍ ^E%C]TJclkٲ칾 LL#cuOۛL888LpFNvSPf g%.ֆl~Ớһ^`hly@nj%/qz{pv$]k fAk zG_c'F4pʦ*\^~@lӶ0LI9=b$n˒sبMTM-7A Ɏ0]J:lvȊzJ=qAo΂l;p*UDDi 6V-lRfo#%时K&ŭK)]9'/.sb>6zpmڛ:{=׹k J+9 yZi6jRo80ZZ44@D@b /a7b6'8~dnTR{/PuHpdJ @DUVe ~$ n#Guv-#ljCiz)}&}딶]wb3KEC艛rsKFE3+ūLZ#7Sj!sͮ˒HxSg3aU6o ӭ1I<\5ASOw!k}v΀i]s~Hi5h]kt@8{eK2x?.n`>*礘SqVUџ"(L5uoe ݶ(3nfFq~juGkFUK*WrXtr[ {,}uHS?]c{2]9Zu.D6ĥCfLTN- fZI5z]eHeK7jWXVfVQv<3rҮKjmiq]`Vk:zbaEbFV{<xIBok̞=m9HpQb`ֈQƣG5bM9džaDM;F9l =5uX H\uy]{Ojt"uGQ1WՊYBOv_I9r5LCKN{ɱsn{Dsj(TƩeez6xP^9WI7}::;afe([Yvs|uTtO9Χ46Gk @CݑAؕ*REg1DOϤǘ|uvQ70P& )58׻lsɛ-]S7`쏅 UMԱ|!ZS5l02hk;kJg&4UyguJۧS [)%S'Ψ41b[ߝ8 "" (< 2i$]M̚|M+u@~᪚g20$BSe2 0̌M)5""ҫDyZ%I Ni1!Zfޘ˲(4A]roSwno^&UOak~ck78թ[nML $tSe^=#&PhU^>fVlug?Ϭޙ`-(&ttu󶾤<\8f5"cϐDݻfCaG4L> Ƙvi@^쏁Qv!$m1[ b735eUUe T"0UtLs7. C)&,+,ɐztg7*񺘻3lmx^,m(_=)" l k}n]ʫ#ޖһEkl$d:j_ӟid5sqľ}yso55װ[W.S۾NNfY #'\~jˑ&02% 8 Q#o*Qސh0z3VSv# 5#u0Npa, D{"1+V=vo8}&{#5R-}^gmm/?O3br55J䚞NL~z[?ͧEWMbcb*F͑GiwDhw]箿YJk9QLsc|}P^'(dx>|"3G-DR޼̟{NNqj[.P3g끔Z&/xaO5E ^[U-* y(Th`K&ݹޮ5ѵ_ntlՙ=x`}j4qC{ē.O?{%#k>lpF[}8}XnWkY0Oh=Kڪvb7\Gn{&[`1r'Q6#c&mnV5H5w&ީjGn@&a zU3e0 2Rqt\oULh٬jH{"QlXs.*#q6 B!drBPmWmۨ{λ( jM5 j2S |Y Xi!(VA ,efQʩw܊ݶ$͘,yKҌ IJ" Ti$ƔY(8ۿ?>.w:Xbmc*RX*B@" BFFFFIAQ.J"׉ j3@ B9xv=]|VI|,g"# B,98Hq(2 ؀Е*ƃ&H1(/!`r`d8` w{y2l`7rb0{}^Z)1>K7WJHݾ|'p$B13cee,O-eB( YRX4D Q*"ɔpL%RɌNWe: BVĠ) rA{Z0XwTKH*BI 03#2gnWm!؆i` )#&2F#(ʂP.GdH))ENB*Rd(FV2b6wc"edLS(ĄlueLeUʲS%b аGRinyR'Jݒc6G̒4?r[Nsi;Sր4b%VTzX2yX! DZP[.# xpQ Q0>z U{#lTVJ$$I$fB0Sa-Zښ2hMbELw"IKXbAҩʔK♧Ym%{5\0(ژ^ص[;?sQ5>hL?/@rCY5fV$ $F)Uj,_AӢB"8زX=T =m!W7S#ӨxGxgόSo)bF6@}ph{;rqcνyJB~ y&~AXnƙE1Nrb%,\F>ԆҮ5q2Ǩ!{o9ۚRCM%۹Nhx 3쟋jǒ?/! :3#1U3U*|oD2 5@PŐHBQ$QH(# c`RQrnNiWIFy^>;qG)% %`0 ިJV1ԭT͐)i!TY ߯ )& Ⓢ\A) <;V%suzvg#9m2ADT T@>0S35ӹK<$8u:PSUv3ʞHvOuUJכ ӎ}3|&2i'cgE~PsY8_8oio+3L7ꔭ2UyY.!BSrv{&ϹoEg1|q6ң~^HXgF|'W7TßJS1qY& -l(V2VE,b!뉿YnΛMޖyH[:SifT2qJ9tSD R )0佪* E߂_s&?"ζI[aZUxr0DJmôb^U2IP{Q,ɐ" !c 䢝#4J8\QC#H*:DG*څiS8*a"jDʸQ)\e$HP]\D,L*V2URwEi4q8Ų!YȎLa/aJܛ#{S@}ӱ:vm.'8 0s3ؔ9662r:FQ3SUSV{a6f2,ђqiEhA "b,],2bd!EH刌ebS@!# B#LꄔB p=q Df,1"dYI) A6O h7ie O" 1QIr2BhWHZ!>HtlJӅolԆ펞^Vw+Y Hٳ1fKg{yßenG=*~&8 ǚIdHGj:8gfJVN)M^63-X TRH+q,| B4Bdd2XV2, HPȔ*@F*A$!EXKX2ܔ06 H^MȨnB@B(ā(D~G1)ϜxߐB@VI!ӽi:q]"Wj<0.^ fQ3t%"Ct@<%yZH MUM՘v+ Q2Fz4$042{(HczQhnH$2IHT CF" B(6 BB9R<$@Y BFX$zH˚@bu*G $Q$Y,]/7't.G6Q(cE،()q8A< i/Ny//YTWHwnB9rjQ5zZ簃-{&wq; ~ @'5) İH.@ MM2,_+`v8FU;Er԰6bZ( dT!%D R!gLU HA"\QHP!<1EHx4YBFT:3,A cX@p)O?ݠ ]e |:X>t)Ǧj觗. bJ\ 2Usb/oʕre@o32c9 \c] ޶m3ЄrJiI#~q UvUc=pc~癵-7:!Nlps P8~.@o8)6&mJ< C*2e%6ԹaymKb .bZ*Ő9RIKp B($EAdK`E2)=Bň<$! p*f#VrvK"2H'-jBBR]VB ֈ)Cv(C`S5|RPHb؎50Qy}ϚLn3Voߍ)u .C9`mIq) R @0)8X)pMNL[y3e8XZ AQ0;$E@51`dT2N!(8 DK*IqFQT(DFZRR"SF Ȼ2^- A )TMR#T؇=I&>ʑۡk+ _9]`>HD4-=@_C|Un2ráB@zPQn5׃;]ed(waWކC!p!v AdQ (5FYh-G*2KݧnIrS^ U&*`P 2RfJfBF1ޕHC!ɴB"F"% NF$H- I,Q1R3 PfT <'2~Wb @,\.5ag:i.>9;n@ccHw9lyu;.9s"8~C1!A, ؼ$HPAoLRʔ2 5mXjy%: e"N *DA( 2iZꒈD1ĆH@@r0){|>#9'#SDeB)i 2X<(2}&VWX9~S%27I(Ȑ&N( + -eHRnIMgJyj|kz3oSçcO46SYVh`fOWeS8:˱balEd,,( yf5]l )puk:w1C,C &X)5ED@aXt5MHAY 2ZRJT2L<$ĕ2cMHDq8ƴ)D4d$q LQdҊH ^"Il| 1$5Di*"AAZNY{3뛎m$?A¬Mk1)W+&q_̀lV3ȗ6N Y^.Z2d"PPQ.*ke+sm\[g6V ZEW**T4V[ _ ZM $ +2{My-pekZ һmHu Vd@" 1PMc()73VcV+Ҵmݬ%:18lʹaYm[fZ7fED1-Y,VCATT&2A1H̀bd\BT#Ad 22rsSTldT+U2S"O Ezy ID" :$Ⴭ%K *Nx BpxD$H nSdP^X ȸ20u@A̙_O]$5tIޯ'*1B;SOMHQUkI1p ^RjݜrIKX:vUCID$Vc6f_+d da e\( !(`XM`dJn IcZA%)B0Z2s +)!V(RRAQҊrz3e=Rۓ 'QxV*nmX2(;eXd*wB%,Wt?= ƹn1-^Og(#`j`n|2`# h2>.Wn (?R:O yC5 @%fʬԄJe"*6ne')h@4c a#SgDQS9n^}*Sd( A(E N HH,zIҚ{cH U6RkE^iAiĢ^PW("ӔbzVܖlQ!"kR^Ϝ5^M-Ssأ's\V qOJ+WHjH "  )5fVfo'( hiSQ0,A0,r)DDNJ (`EZUB8*2z]Gz)8Z+7%BIg?gDtĆe "Dޒr5RrHy6%}fFN9i7HωLB&ɔCZ;dDNjca5biQ؟W7Yk׋!Ys@5xta¶MrG9Vn\BgL8bѥjY7}?R5 It ޫJU?`[ FPvq !i([\qmW-!桕.w-)7E@Jl_"SuRYt#LfN:(Igjv2JB,7ݸz˜`ֈՆ ٦cb y}RlqLdiwT~a^+ԔYۙhd^_Rll6 icvE %! %XDgsP%?JkQ7 B%HFw"s D͞}fw"ʶ'eX9iu%l}xXՓc~R>2Z 7Н7uwgkg cr]=RR31Eu&"h{pnD^x}ʙR3KO+}DmmVNbSސ(CJ@P&R؂ @S*Z Bb4R%E N !VEu 4\d(G0"2 !./PYښ!c6p[ݙaC*]-TU4'RNWH:] Gn`W)!Vk󲧾m* lA= X昔~aŰZ 02݉a06)a̳_w/v;j M,M*; jU*IPD-T3FUM'pn^*8*fTmPEYLj5jiZtv$hW-QEp2!R]l(2;;(̙RgZW頵Q ]sT؛a٢K8C맺^rFֲ.&zƋ*wٍo6 ;pX}'.#U,@o9ћzn,mZ|2A&`18nÎL|WEQML2jwWj*Vj* =[)ʲʺܞ,ٶZZkNƴl2 LYwCSgwKDaPP,fX,gYU*D76]Q{okU0*c%s+Q2E @EBYTjf"6JY}ݬ){nXV~q>]ogтTV"{a -VaQU-פݹem1'STݵoďgޫYH5_b@OnU@6HMWr kevJwm.{. 9ezܧAr<ܟOώLҩkRp[.m;KinZÔTat!0hrAG(HIZHљ dBqYZzMdiȐ*!1FuPDQ錟ϧ)lL|4tOg[ g6 - YN5ٖHMnpf}܉mRI⢉ȍYs"$]m4l^=vlՕl^lp@)@πiAY23¼ޞbG/5> DfW`T}}bg oLΦ@i.xԡTiJ-6L UB<`R@0ߥ$mbDB<j֎^'[\y<Xb}IpPoAC<[hZkk@MF$uW+O I] RyU=,\oOf&Eʮ8C@u70r?w-`" 5Xijs4{vn@RkLf욀u hcZf r0ّyWy4Z|xRF2,,Z| N/ƪ,z0etI>/4{~qcZ֜ ne^orVݧw>=|q_JSf*yfMU7M]ϧ!HGA=Wϳ&Gxk3.liEiBCMHUM0GZK=#uQUYt$zuJcWT.0 \&F 1? zf`,V>GcO6bk105>tUy"RY-1lN…N]!oꬹ]\3QcF~W@z:2-fv[P8 Oxu2#y>}~nT@-qK.@ wKcn+bl!dfuE!*+.˫VsXP0&-Ew4gh#m6.1{;2ؒ0go|?3۟SU[E~6)-ۙ&4Bѣ(lPu,.ܩ8,=`خ9{#F-!͙wTSEl.k Ʒ\I!T<ԡ^|H.Z5|pՐ=޶,{3jƔU>*vf9ͪR@xlm}W^9eH:tΙ•TQU02 Y8otu#rԮԦ}2RPT4ѻ.:*m}"7m1qb*wMCNVU3Dg$WZݔ6$ůe{Q΁yxȕ^c5z3P3n4-PsCsZD9*= Hs(NjIHQJR*sdY%>{]Ab̋SWyuⲤFu"rبdhZOg59 Vj[&ᲴUWeSҚ\tmE]SWjWP7oeuv嬮\zQA46%Lfթ^չXQ陙تHXǘtƕi@4*^ ` nb@ ?Y Б4{wyUtNUS7L 󊟮DrkYo׬ &Nt,leGuM:gYu8J4̇rs# >7x .<4B690z]D*+(37 +U;}tUM պ' "ua1UC6@ҥCd7+YpT\YKHX{@ 9 ^n^0&R\=; DUPcw5*[m|eTHԦG& &\3Ǽ2}"X}r4{O㿿sX9ϼCCgt} ehnvTJI*syh8&ots;hM.ZvStCШhlvH6Ki uǭU5}c k2Ci8wUQ`3D\{ `4M'@~ZP(\w:]0/8~ )NXչ:Is7g`H(6ޓF@X|iE<˞I@23Sڿ>ϷSyOtYZJ7oM)Mr&g%1%V"#b/[UĎ<9ND_9xřGiQN1u~R=IPex۴z{y޶X46l9笶9 !3y[뱂:XdN330܎[hdjY@ɴ)޹Kv|@N$y+'nݚ,:n6:JL,!#v*U\Y4}ĽmMVޓ[gf=֒<|D%b-~ϫ*uﶳ$Qy*wS^ lb {D{,[&)ȱ{tunl֖ו@[ը;\˪KWٺGPK?we6Pf:t\Q=SVyf$dM;~42,L:A5`@`(֤go~}̮NT,Wc)1BMMHXLF13X1x&~3,0WTJSf2b̌jmQ`lsF)͍ l& -? z*Pq3OcV*F\}lQ-_m.Qzl][g$zוlY8$w)mja@|?McuT Hl9گ{.5yoogеQډTHـP͋"!VT*5M(#9ʔU{Օ3H+Y+_:},i11;-71 MH9%t]DEL>ͯrT,Pȍl'+ I 6iQPT)\-|DEX^n?Q {bdd{ȘNVNYaH:ذ)!f>f#bLg꣐HJrsEt8~UH8{2ʑ :#$ 2٘^^;{\F{LF=ܳ}=f̀h) \!S z*gֶHRbX 15L) }SzJ˻n uҹLiSE(G4qq(+OOKy;}Se'lKgo+[QHwiT01bT+yّZRfbedܲ`vљm{bgTCc].CȖIhܧ i@`A5u9\Z& ߅Kt٢J9*wn6.- l0sR%܋!T  8l*TE8Pv=Kw4*d&SR0O1)(K\sTUU8mKz88+Iхg?e+bj ~% sF/ކzJ"kp \eV-ØルM`E+U(i4%u/SboVGVQ+xzʛrTU){ޯ@fآ?]|rAc^Gxl?:'uH{n>{e}1WcsuG|}_kRZKvT}]6~=sz]scMc' [Nlцhvsg٨R@tzLgTNelTM{UNsPn= y.{w>f` m}70@2W{113&<.Iw+ n?JSUl9$$KJGIFԘ 9<[}ǜcqw1߸~Yع{nN~)ozP6$T[nGihkw;KUTcFV*Sى^YOW7ng>99~mv\O}ubU/o֝խ[;*:xm2FOSSۺꞸڽۊ|Ny~;oAo.W6Q)7G5FZ3Ucb4xEJZC:yQ6iOggS#I .(0A9G@<4=84.4`a0W\f!P̑Ѭ&0~4sqȢTRsۄIkUNfFMM~ ;eK'73\xxvO[㽸n?Ӳ$5*c;S(q~wUo_.ƯV;{A߹uv]s -oUWXgZ<+h5{59fz-]3@h]VPU i;lc[o˴vUlKoSazSUui1ÑKO\m 3x0=9K11JAɀOU{ɐrT-ipv*kfWI)SW 3BKpMćy;dSO2PK tU%kZ2}׍Wr0ׅW|3ኘwU)wgO'[zu2^@ǯS[n?nǼJ}ai(V`hOF֣zoѽu54 1{v!==o[0 R6vQx4l>fr0A v~rAa||469VʐPl]r735ffOJP7=tkd?x].j2^4#G ӂT;?+֕O+gvOw UΌKdf͗wz`﹭?nZi䏪hս=~jV=aV!! 8%ghʤz5z,eo5REV-X}{1E1 H)(PU. 3 r3w]: ^ww;6͹_3DNM+d-[͇ͫ2 'gǜ_͇ 8?|ֻ6|gN:W{wQFҞ^m<]x&ngJ'{)eq]5U숼U,Wc4/sF?o[wN߻'[F}l#cqozYr+FQOD{imϢ2`fn=5iU'i3̶7pݵ͍&Hװ R 88*J2@cDǝ 6eQ<*99HqŬ ߪxNJC>Z|kR 035j*^:,p c=1?:{Nٟ$t HY*32>,ɺ''nnSHC3wcb~T~K79}>ogwzE?7s{^;7;k}Gw7;׺ŹXaT,Zepwʯ`^4ΖzDz>=}tIt4:m ͎n q t `}_#@FzSS0E&p,$Au(WX ݋ә?z5lNgfXS4. g,, t:ylK #u|]u55M$'R)jm{{R]uwwW\j?b+Ut gږA z_Y\4nº2lJ[$Wͪd`6` lNSHQp%ɌRcfr%xwi{m/##whO|qMRF-h~~rJ9;a"Ʀ޸{:)%Ǚy iN ɨ):}3(35J؄_A%71kawx|t] lV.!dg ; FȊk.;Dn%rVCpq.SI#NcO~?X{)FVcQLr )KS츨Ӣ섇B `nGQA9CNd+͚f gZ,WU aB3Qޜ]rƒV7Wz71v'!8hm[!nz7## ( (u)bAHnTa#Oﱱ*@XKޛQOMofvydK<{\3W M(^Q ? rgSWA,7,ZVɮ]FSb1|Z\4bKRօv!s*@^Y=#*{IULƔFBO5<&sJ  YhFfKKT:N"t93k$Gy#Jt:;;A8Aq7yj@=@*0wԠK-G|YjS`ɼPD|x#> Wry3IevcLY+cN3o>Ƌvykky{j#b+oF2dWM7N^# yb5'Hq%qIN\@=J/kHMZV콗(,=@ (n p ~Jo:P雓Бtc) Ɩ. =>wDϸ9ffJ?[-bڼ|:6\r̶DFv>}2ּ9eדzeaߌTw;wݛ w"W3yC3sӮמdJiC'BO9{{YJ.czuJf2Wqeig{oj#mO(Șg1ء?Cٕ$a3S!ݪDquM]F , \L!)t?X9kfiPQL`/.^805C@MB ezS}ooޯ!0o5fcW`ٹk_y">6,mz-}{;)-i9eQB5؉6d^ٝ;0º+k>qyeoR&JݽoFO\";MlΫ]ۅj^agԳ+Fw4gR\K.esmD^cΛmlWB׳ #v "tb^\kv1OggS#Idh 74!6AAJ.#/%2?D@DB20~3хubοۯadm^̰Z -,xK^jlD$n$c (ӟoq9{o䪩 cM:{X:sL_|lEz ϬT ڭՓUN(𯲒,K d́]J{*$b *l!l8TWub}c)ow*ΤT@x fzwfa2 L~qGW|(J#J+Ŋa]O@^)Ϡ=k_LiLʵ4M`r3@mFA=Kg)/6f00g>6j F A"s!)oޞ4<Zqfyl,`J?j𴸓.BlZ&jmLK%[|ḑZ+󪥩;!fVr"~r|{TtިuF)\k;7nV:<;Uf^)SUԶېNwZ: !n{ ; BM:›01T2l lʨrgDSjUY*?8>u9Sc%pdGgnqnr_gr.ʨ6]|_%AF5ip+c6eIW m}YITasӜ鉺66 -poNp`݅L -pY# gQxn~zVUQ/nke'J} B47ٰbt8`UMܿv4!{ȉwRv:SK 8oVp;ܴytpNN4譏p` {ÛE7`0y17DR  j김JTO yf`c׌x}`{VJUlbߘlNSmMkW7*S0JO?}HFu被s]1*̃|snt툣ے\MBn],E?MaﴫE0Wї~ge;dLtk@.)26R삱g'}[uӏ}NNmOv RxD7s+j5Rw9ߑk ;&LB XsL͈{biT;,P!u ie~hU gn[_U)~ﮑ]e5e̔ɿ_uc%{upg+Nݧ;Oγ,ϮGrn7L.5\{kܼfvWQOw=-:Jnc]8cDD=aݓ%݋kr)?v<Bn k ahHƠ8,c 3?aO,$uI-A{D2NSs%wA[̻Y1t:o߬|8ULc-iXBfr MC@?ra*{'jZ9PwE]UZYk|Xi(ß9B)TwP*P`( Snn Yښ5|^'ꓐPu?kw~4Lj{꽭WGz5Ym2D^f9˼Nimq$cnmI;UQUaGFiT򈫔 Q-FcOrV^?]홷ٌ9(cb:J@i]%JF1eV_+dցjf^ua񟒮un=*m ^me.:P͜V7<&Qw-IZɐku)rPlL:,ySJ1W~zҴ$sٓWyfi[>j)X"NUg3jepF4H!WT*jaMF@#\ ͦ@u醩( Zڬ Zj$nc ki6밦;w'l4L1CS*艫fCfro/HBC-p d^ͨQʔ[o4;#֒\nm{gQNej]ݒSvۮmnD}*=<1ՙ;y.V@mRzqvzb|LY[njUjLTYW뮬{ iu#NV6mt|eӌuT۹ҲA%ԹʪW}:w=g GWyBݥڠ,d?LW3[`v2ʖhM@枬 /OggSF#I0#"#"N7:9<8BGP(5C"D@A54:?F>{p 7R(?o7F vD,.\u]SVcoM;:b~2V3DO~CNJ|AZ/%iI5F= Q}?bm4 fw  tT@+;CiMS5Z(nR)XhiPynsVh4HҕDEC&'r^ЩMPpV Fg=̮v֎/̘>XDMn^w}p7(^晗Im^Uݯ؛LHf&y6$$`9tO=:fa_$WSS 'rs݆bQ=Y{1WU+Y{ҹYlGpGQdC ykqgdߡɵ98eܮ@9qHt4u3{Jj7j{(p܉{޽SS ۰]Qb>WؗDìoqR&(3:gt*%Ʀ*%n=od#=cQ@ (5MkZ0'Ƒ/=}i}O/o7oOͺvK6X3^Wlfl{.[>{rb5ײYuX'r>{̤Zuz3Kr#u?wK{bb]>SىC̵QYg2m3`iacslѱjFʿ ܷ:p6u>{ʷbciڮRՖ&7eAq2YK ]71ݝJ5 p$*JfEK)"gjxbͦG- vl8s,* :%2Hz@0':Y:k\tԫk m65f#4Rtw`H"ώO +/Cg)]m6:[fX}^5g({ݭ`bݧ]Lwp>%.f~ns~_ϯd+ˆrj9,泎.wdL,EMJT"rJ9d6 F#V o'aY܁.>ߴ]-Mٸg5j%DEuld-+w[ݺ&_Y̱HJӲSdeTd"ؠR0ܘGX*oX.@үۏH5၍*ļQV,{z:_7Skh7V!mow՞\*:$Yw>b=UVcz?U)NWCD};񊍩At,{9Po&UglM:jmJ0$D冘,jRTLtq'VJФ&[8Wt1PP4ȢXTdb|Ri@e7^7N `MnY K8d4O=q "y8>ñ*wRk9 '8i% xH$GheWdOJnkSO4{bmeGǣ6$e %D"<ޕFB5UOg=u-h=?][sV[ʱRu9uuV& a(niX+1DbH"#rYi2%s} 8]<#,Չ"[뛥4}F$O$TN]BHASQdʶx͙%4v-g˺jZC;k_0j` lM/GŶtbTWw4ҕ&`XAH~k6ΗoMoXҞ#HbRB(ܒowޝJiV{"7 B>N4zyS4XMVB#I pVX^0pňr@=(H1)BhTʚЌs=q*n>aR!kľg˼fa]B`}czU\5x|PJtө-P" >Mx 6 76d 8L__C7 F7N/ayN%}88˛%4VKjXJCG[.ZP@AKQRfÔ-4# ʻ)BZ5{Wʼ{h :]Q7/Ɉ`MzF.`*SрH(%EF( FflH8SŊ)pnBOH հQv$[72;z`KiKx6F٪*u"ƹ搛뺙N Sh%USHDd ЩS,6dvujdXusWeޫ$mri/\:#e[^ Z*Rvi I=v)bU)ח[{s= :*ecEI3c Жfu޴Icp `&`7IL]ʅwu2#PГ`ל}1l 1O{oǻ_MF?!<]~wqRpgY G STv3~kP(twyJK*8Vsw/m\`U"TWT(D&fHw#ϕؤqQ R&"|"6,$% )¦S-'cDrB4qJҕ$ X=)DP2(`'S6.pbCnJϸh аSV#0/qHEy'm",fL)S{Y_\nkwTG'W~OsZpsiOWWMFXTxt$tuǾF;96oTҒl̥ZY6.4!($DD'mB\HHirh" W%^Œd$b儰a !7XQ Uk[DJhR%Kd4솳{6`bvŎmmYa{`spnYҲZz,ܕתLʡW~Äje"4~V|# 3^=8} dJ`;.O6kIKfsVx\߫9a2SͪԺ||(%tBiX)k?VHxs+R6zѣdni߱gLOggSw#In&A-.;BE570.%=<;<@E79;:><>CADlb6ufUGs9PKRX؆i,IeKjlmgJۭjnK(UzQSM%MY߈;jc$/2<MM@!pRee(ysM449t.]2y73y [U[#9B!b$|52dz hN wp.j1>P `SN꒳u7_L6BG-rdl $ e9vB;qVytɊuyMF773@J'HNah<UvG3-5+tLBg3Q#:px^+'֧Hި]!1KҌ?nB*X.a,6fͧo\/ꉵֲ E(d @f06ZZ?w]_Yt@ʫ:@xrE|3R]}n}QH_srpwOM%yej΍$6F;u؁8[ny]u%vE=WCҕh@*.]NZcCDs80V*EKCJz: |}#W a欕ӗXf̬_TqǤIݶO.vn?cG;1Cgw3;sonmz:NLgI՞1@۩ɳC(o6 }bv)grVx3iIsY#R M [i,#=̂L,dYRYl鮱1Z:;KwfJ#nu5`# O*N(5黶NRf7e[ vrh,A1DoUQ : j ]Ge] J+ 2*$+JCAeP>XZw"dv `>KZ=ʂYh`3Wo6t iLrRw79RrU:磒|0Eېϛ*~JYS)㭑S߻V@V-%Pg z84@ sOZOm*V Z*Y@nB q,T3@' hM[!7JcH)%c1a0;Yqnn Sa"YrN jXVl-UR<kal뭁C0OgXY8!r:m)< M!,YA1UqaH_/m c8m=nzO)eie?й\W'coe,)wۇǍ/P]/@d8Z+Qݴܽa"MT_!+m,,\全̔˲ݯ@6ק|,I7cx},w.+N@dџN#~";mFJC] MSds t~4ZMϟa+E@> 9t|uV8k-^>+*yi*rY_ 2RGH ]0vTC$ (;:b aj H!Bl EreBݢV,=9ʤ\okehYt1Fbݬ1L=A T%\$VDre"4& `Qc mc"`^ ĉ(%+[(T* i*C@L!z ,M>3#U|7zI7Z _6YO۰74FcW= 4Xm @fQ]IR8Sje{Ͷ,|^]B'{[$w9trױJRbN!L^MW[eoY & N*Lס4&*EjRb)VuN3 1zfgWif ;U=<+]P/CR }uNDk f՘։6<_aanx,wM_}}!sgA׫ۯmnKT|֮;i;9| i:wv@a(eFZP !JgU;jAՈJ4YMPSN#ZbR1!(nDz1;Ҏ'l,%g")Zg+.`un攱x\;9@Q9JBV¯w ^lDؙPNh^40'm.o{!̾O S-҇0YngJChD՝k.`=yj63)J:SSg73ULBK##f;%%*eƬ7wT^.l%$,Y`JxumJ8tYfYag@:7SC,»:Z\Q)or#RNyg53foWlК %"Sgho LE2?l5J:Z5DԖzkܴ@lM%MJ3ҡikS^d}jձ❮ eX $W?1,5v@/0DwLnk뭏{>#WE*í Y;=W{U+E 0Ě2", 8Y욶gzudiPTފ c"T_?ZA#fW!)QbdG[#c[40vyOggS#I1-L@,8=;ADBN"!&B?E5)t> ,xb(^ȁOMTKv%mr7oR˛eUՎ&z4IZ 1V9D 6F"_G=I{zc](5Tlm!pK yKz ~tSFYx]rUZ@eb y/Qc l~g8sHhYt)9fM{Rde7%SrS-ȍJl -ed#9[!r#0,Wވ-VqA'p_WaS=2O!/+7 rh wk C5gQL@T0q &E7AtJat,4!N.ťx`Y| M^3oKc f(8u(\pnp Ad\F^2 >g :kA K(۝Jt>w?]WvLٌboHKfq|8rurZЄQ\w䤒$OmKa[! ދLmp \X2PtSl?ƭkž.iXl'PWj}ݽ&o2EqdװOv5:Ҽw_s7#ew5v*t8JX.U{oZ۞5tmӵ6Fe{M+''5"NO.̘ڗܘ*m wG*W7l˶jDzʵHꄴIX7}TZ{S3jlB+Kqo-6VNɮtѩ$j <8s7+#/̨LsHϼwؓkȎNsWWiQ.ȫD)*Β$ofe mݘe 9ao6W)t-_|JySJA g2BF1w(MLh*IlTT9#⪃7>G@!=pySzhE'5֌Ș*C 0h6 &sRH1 `+1 ˝K 4lq7O\TR5(3̒T6oZX搹~ȷpys1#W:X(ԫYIo1>GM6222+[6@ˊDU1"oUfY-Q9Yd@8+to3"\f,1%2UI2`Nzt$+h$=x3錒t^CX' ٍD«% eA 3ލ}ֳV 78o:̉=b:)8esp8$α.ԬJ(angr񍈀`^UJ2ubǷ\we}h9ζxrsW:NhZ[j㢚MmnFJvbSƙ)m(h:n t*A]TsD,K)d;Z J!1CA M9( t.,*\M*Gn1T\& R+]JZ"etgVdlT*~&& #1ɰ@s=+ZF@g\k l[{`A^x$9 :{sO^2Q2+*̓o=͛sBU05Q6ֶO)'cpȦJLGwZ)V=Պ>h`E-yn qS)z贛rbdf FS(D;#@)*( j Y(Ɛ$Fr!mWً+@( 8'QbҔT.Mt v+n(e!#UBW.m.s e MRdq/3dّ)Np~+cPj j] qWarԍ S*2v/SA/Ҭr)0\$9H^QAw55Qv$1tnڽczSz;'-0DFT"5+3&EFRJ0$m:; 2*}6)J"d0G]4(!±8-n[q)")3&B)CkC+%DRB" R"rؚL0y`op ,4> `88y *ea)4h1>=vH$FxO,`Mp͘)e}"= %>eVqvNzKޓguOI-=zja6| YF.FP;Lݕ;i}Է~qѬ 3o. !+z "٬4K*dFd{.a4bOk8StїѲUe*zDNS*o+.˥rD,%a(eUqfm, $"",_dysdtw_zuFյKL2 aLٝ9 V9 p6=4E @; .UzkۡԤVG*lmy7g%ަB%%Fǐ ]r0# НՃK3 a'ڄQomtm3ct@ }4mWFnV 1Gqx'k81cV^$|jfJ wnI$jaXS^o]t)=aEd4e,BCetidY-rG5A 7>* [8U)f tQb-]hեiYn]ȍ Ɉ 6"0Q÷JK YMXi j\oSx0S{j\6\d{v, 0U!;g)~Ks3Lo\8b=J ff'"<'I;( ~x,+53ef/ZB:u ׍{Œ NqJ'8)ѨoVs4ݶٵF]ox5]]]]]iG8bDj-׶+tFt6YQO9kLʸaKI\c#k}q-æȳݐūujԓz9##3$hhTȸ2 !4%5g^&V5,*FU@OfcP$L,$]k5eiU"uM m@wؠFYYEk#z,W "J(V$;\Y_ @;tmX^i34l7 F*Qsxs\v*T+Åmm6JgD9dd#H7<:FB0*:JB3<:9;:9Bz.O o] V.hæ57p/ g8X^ ͅ ՘\sj⨂()=O DxDl`B@8g5YWe3:|;}")Sk.p. ϐYK5sP醋O|+4x<'UM4պ@S}$:iԡ8AR7jA /j$zMjP q,*G zvDs@2!Ix)T^Ľ8@)$QQk#P@prX܀$ ޽yC^WL)㰇 *J= pgb$/"M-o t J*3 ˠn"p#d5]s5M3U{ݪ-P҈j{9P&'"~f]r/隩H(i]f'Bq2K)4KlFtJq՘/{5 JkmO[9Ɖp)n+kPi`d@!wq7kN 6gX{: 16(c ` $M)Q06V WfZ&K꤭V.X67)Jބx[mq/t ֲ8rh| G)Nۊ$8r]ѯNbyG" 9fIR^P 1H^ppx?[ʫs7]a&mi_JqIꬮf0k1M@|:5:# }os|lT BR{o+ZT-CjK#0v} tPFGY" ;?w^D2,M^^n_/ԗܱ 4tM}*B'53BuYoE2D_&3̠$=&r0@tJ䬈 9⟘H:y% 0]wjf"CL#mɌ5i@be"`M %7opRmD)/rc;Ȫ9^FP*T.{&ŦL{S81-ѯTt&-sϯzjwˤmZ֪w3:IٲZ%>sii= @6v=̟6f3:Hj$Eo[UbFw7rl#QM-(86#/@~[kc}O=jf7@MY[vmFm:۷'jr#g\EOL::܉>CQ0d}$6`=5U03 e/6{g{9jֱ$pn߶/eNCt]UcNܴ֜P->{ݒ+ ;KQq~S B+KYXAVX2 r ݃ȉB!2#Ȉ$D(%$JQ%)Cx YDgE6Y\ %k CZ>=,A8/@zf$n1[“* +ӆ-vӬèI @V$*4 C3}Qg{z8z[e~qu Zaqij* ]Xb#,nOPcaKgL]s Ko̩`Ͻk{3StR# avSY?hj [ա>PTSZęT'x;y!Z1 4"vm!h* pnMQP rddbdь(ڈs(@ |4"'" 0Abtp p(0!#Ս>"@J5ٻ͝lafoe4nh5Bǽ`7fjZ˴ -px3)s/ v4㸊5hU)v*@ns)4RP)SSJ)nli֘wl`:+eu5P20eA*cWz\wX0 q:D XX]ͳ2{P 2L_Rzc @sOZ{:Erաym$;$|rݪY l= F):.Hge)lnG!#9l\h`tV["Sy{(BW$Z@jTl5 Ґ+fF{7Xk{-kZlNe?Ϊ^u42+eb>4b}O<vswJ𤋮Yv-::PMHILPMH^D#'' <.\&+!xU*]˚:ur ՘8cXrMeE%[mzB Z]+X' p.HMw?MQ >=|i޻ 8`^VեډsJjm*a{QU. 3CeLBKL[ĨMg’[ E$:,doHE?jɽ;/y ny f4f̀G~ 3 U!ylIBʃH:}NaŽ/& Y}23+o59LI.ZdJߌMA Ibh'tESW_@.A V\~<q4h4 qo C*NB1`C >)!xKF_;GճW{>чO(w]UiוufVmnEqW[wJH}M ~8 قK{P6 =c^$tn%iuw~ 0pySj, ء3yWJ3GOSsꭻWĢYޛ74_] R(9?P%qeS[-#YT4P.˝4 {cPbͥ;%nT`c(A4V3E]\%Iڙ)!N%xq hx.+mIS ]FO0'jSz+!,Vq4=VYqѱج5g_\I*o.O:m2U|:]k ֲNp@&4 [僗ga~$~b!˟Zr9]m*{葉X~mƬl6ˈ{]a]@>bۉ"+P]52ZH1&Ҧpn{zvK5#p󀶼?*X !BP[mc;=I\ X<Qڭ}\|50Grd8S7쟍9> }'oѿ#Vcjc?)bI95[ ;S2>rNNeܐAUMD4Q) j\b$έDgT3+Du/!³(ލ.&) H \.Ө!u\" Wd$SV .xwkߌW.<0; V/qXip q20ekRd`}̡ź f:k}ɳpJC5|/( u0RzÏ M<s%( `|_ -HȨ,> 'f}?8zdĹGPu ,Lw*U ]zP ݗ{WްfbJZk,ThYOUYg꨺gəe;q^*oPiĨoB]?)gSK QG,Bo%rzSNƲPm9J%L>hKM-k{ʾzRt`foE q<<|xc$x֑gǿbJ-3Sem;lK]ieOggS #IL"DC%5;96BA@H3*$=E@F17<>l jjKfiZ@_Y2UHf +3v  \Mom16* B 7S`67S"l]i<Bl,(UV*VhO.޳d綬'WW+g^s#$vsS5z\ȩ#N$B}Huw9M vC tӬoWF9BD\6B'[::q*! Q |%# 1RQ # 'ۛ Kf8$S h*!A[_( Y @}y+1+GkaFO  N.IupPat: }C}[Z,zpNX `jJY)v^㺽yq׏$Sb^VxA}mF }U:z- y9B˳!ى͎xGo܄l]|@j8Mn*wET߉ wbFFB&qv*-2T#K)8^"@ZRTZ&Jx#2+ƿH`cI@l'J "]R)H$W uJVhAȘ"mYPC[D+ 4n98R!Ki&d:u -vf%& xj̔[z_~]+Fx/EaP<xiHD6c󬩄d&HZkoka0fޞk.i3Ǵy RQT4%>)(* p[G]Rå=3O嬬+`kԞB!fJl-m -WZqJR\u#(ݿe!g&&)EBGL0R6diʆM0έueM *;2vo`kC0@o@Y|20$m]7Vu ݋iSt" :a(*v:?QYB\ԙۉjUscȫ6z鷳ݳKk/ssTBW `zF7u]-JlPRX)#Smלͪ;{4cE\pBwwG8{⭟;_;\6Ywk=-Sz;#qIbP" ㎺t{ccc6UԦxɇ;_fLR'o.=}c-õС:2cf!Pĵl")=c%T "C2dHո &9aT f6DޮGg$QQeUBn#?1#Wv.D%R_LvUV˶8p w%BN׌!$I{54Y&L6fdL[n^q mDKW_L9^2cp)^zOH}E& /$u~"0X'B BHD٨ u$ϖӖ1YV#^k{\pHե~w).T՞'JJvO۰Tr~IJ!r/zs\@ZP,69(aM RB&'yac7ȍ%B(ZX%cSuꪮ+o$R!Us8+ U2(R!gC_Fc"5,S U'#̔ykfaը7dVJji&-F6ig.Dy6Sx<͘By NIc摻T 1mi]:u(3yYM;> ٝw6k.UWQy49g ȝ|_gwQ]Z~/ݚMŒ1Z r )J G W F8(e1D*Rd&`&N82kY\O <@XDqU,rJ)7[D2ՕLN 'x"B L Wfs麪*3E5n!ףbusVcm [,4u^ҝwwL^'0XEqm=ؤjU\?rGP}F J2۶϶QRðOlB6̫@v<\ˉUh d,\s_ a ϮW=- c"8^.up@"m"a?D4rq6fLbVyת;^mNA]oʚ~8sG!9{dUhףèO]z#SbںDVdxl[ie%&; 00pQ$P5Dq ̐M dl "" I0Ɉnt3IoF=fR/ prmkg!XaL)cH'RF ]o9nŒvBC F0&\M # DfU7։*+sEX%ҡ71 a;;!gVgJDed0?s\Ǫ!vARfX'xZ kiuߡڡAgs@nI6jr3;K?tNQB;Q ŵ)-BR5҄\F=!Ȕb$- (!DGW82!,a%H) ~2D斲 U)espj  *DnoABGιLt;hwؽn[Jn= .Gf`ht:u]G6/*mf}YYi1vo:l"%X9N(UqִlD[n3WF -tOVorTb#B{ 5dijV9OggS:#I?I(IA=$>;BEEM)$*:98=@7;>lel ncoahH ks(}bnۭwk7ew[/|Vu'cHwҡ%oIQzٓd6.z6 }ضU) 2y:oD@OYG^@$ Cp H\~Iэc7ҳm{ykf鼮$w#a}lJ< -@Jwn*0 hY8-s]P]zw[ a|x QZ2FyCv0Dkq:=UWt&-3ZzL!93Uls#v=yBZi0ήO/-c=Y{72xkÄ8ƈ= 4۶c؃|wP#j=*+7ũmJuHmƑ 4sqX)x[v!+W@nb?_x!)$I7~뫓8} dӉ;ЀVQ PY˓Bl]Jp8b7@ 9~HNq&uj3-G QW:빝XhXFpv)> &;4MY8տuG> {\4m'@ghD8s~;}d ܧɍm"S1c)'BEPI dޟYG#p8"( .fT:LO,lvw}qw%37w;9iwb5~n:BTs0J#CNx&ky?]Ap,xGMwU^7W7z7Mg2aB?y]ޖtN>=̮&xV[L/8=冐>ςym˻)g014Ƚlg3f܃$ g"PQ"( q! >~{ ӧӋzwh?^oRclL,nlJn~/\V{Y'aj!4o2؇: pbwC1y:6aJJ0tG Z͕ ú W8$G,kBWJnZ=6ʂ;@XʭRvg0~]^dTʛ5#%̕|?==d`0= hv `B`y,,W@1 nlN( ~dW>:$1UBSfMԇJ ,สUf*S^?HIwf,,M)#lrw pݭ@@4&Ȭlw߸ןa537Kh–8{J\6 U2$qIXj 8 Zzmvnnlڮ^ol4E 0:eb _IDsWxz? Yq2lQ'_ƶ؀[󦶆9uM7$iX m;9w\p:]cvR=f.u7ң=ZD4K >o:zړ*YHV!}^6ϛ¸z,՘,ZE LC:3gcr ΚlDiRJq!݃2z|:$ ΊL<\{h/ȘLoF\;X 'k +i#Q$MquY(u{oWaϑAox 4*pa*Wb_!z?co$Uj}Mdވ-XSek䶟0-66t&P9 9s#?=^P {u`Z}QO U)WSd_D6ce8%+;JQ̽=[`TËBI9 5\{{m޳aN+H*KMH*$}v$f[q1y2%)yY}+]nOVNun:v6`}= }Bv[ݤ].5Ɋr%###E22ҐY CA.vJa(bFzdHFDY(@dE@FdCݠgb 7Bqgp N'B HhEnoHgZD!0h_~^ x!vCX5[wFw3+a{/}%&RI#,3r v/*J߻7B/-T2#{pNBm5ЧM-OJP:Dٟ/UGH(;.64"\a+Fr0z"-":PJF:(d/_|⶝I i *d,aJFƍ:o6)(@&{29 $߹J T7(k70W۽i^L*z\HL""- H Ĵ2g3ҹJ\2݄/ǾY6OggSf#I2"AMӫ֦G;O޹qInB^^;ю+wkvMA7ۭ^=ۯWzkv49p ֺ`,h>I=@8vaz6d V>lƯ_ohx|EB-qX_ Ѹ ^  {zI"@-h3]h: T-n1IIkoSiAAϪAuAIf#@О"p}ݵ?숇o=嚩7JI,B~G.rZsrM,4=\\ۣs4*.޶s.XZf'KVȫꜧ\~g>3]w*S)d(wOrH<"樵3e^uQ@.b* Y&I[:2 țμt&$P%RX`Q W3R!TZIrVw;J1yۉg #z@O{/U=0y739W'(MTA1=>78בs RJhQ{C)RyvCvŋlIfj̔ez/]C:ަ_uf^J Œ+k$x.* %0=6@9{4!ik-p۳31voMC6I+@ef e{O)DO9yR>31eD_E` !v,) d֍ST\nb"&!]]BvTG(zphE"1:{wX+@&3EۛrTo:=ݝ|6Tuc>օA8D4-KIΪ X!R4u^ѵBs4b,♳{h]<$4"VtI՗E0;e_Rn)#lpdZNp@Eyn&Q(D`MUj~(7ۘLN5Bhs0PZ?{$%G0/|*].WmΕ4bl66t^2}d!<\G9~ޜ[ט$rs?J9@xb]M9ɦJgSeoE 13&zc!mUTACztfTV䆃mg1N_6hqfpzUrJV:Xo8qU6h,5HpLt_r>LmSp EƖei*ٙY-rDSOAƆ^-Mԁ4ۗ11S!c/[ hXy!":ʴ6Xn97ݝ%-uBT> d tRyDClD?f_D_b#iE&k| Y֤XVulj:sc5&|ضln-,H] {9 UCdi&{伲_Xk檤ll2yk_eͽe;/tW<{mg_aj l7T@S(f-Wٱ.bԠA3 CQ\FFFTͬ!\uvRI)1"oU6S(T&J l:f{r9[|@d@\ )GS,RzafJ}HNQ;mWHЦ/İ1Qix00ԓQJ\Ɓ`m!JM$<ɛ*SRi޿x\']׫քd?wʴ|Y rYg}5k-t{'"aN)I[l5+N S^QQma(Z kVp/lOdgW2"bx}6 \S)nY+6  \Lrd:0:|@ ]PX!SйQte&J 鹿cNfXSi w4Δ7 ^C ./92{'Qd#&y( pҐ> g_?|!w̼Rj$Jme>tro:ow7q:ϵժ:J e3wb"<g֤SdCX1ʓXiY],wYa&:RT4PjL ӗQmI)RQ*Fr $ʀA*ҹp5(HAX#T+H,+Q4UZ Dz^ns}73({`/E/cdjo:Fi3"E;^*jxM]D0x2n32fʔx|OԷ^[OCNOvX}@]r1*Kmߒ2Q)D /qv2ZtRՒ um4)ER"Ltq <>pmUJr2CDjP AtjEm"y74!#7FNA'ZgaFv9n|$`;TuXP2r7C [0c^f k{f0h%cMvxFp1qpl TAs (dH`Ő")@<Q~a`C"U)1 "OZmr/IN Kc9yNԻff=&FY%5FC$!z2hdYV8P*NΨNFq/b%` R0>u9UR"ъ:z2 Rd%cTbnH‰ۀ.Kfv)\ꌌ<]$+"+r$+"WD,?;R2 MZAdN {s)۞\0E@|C84ڤKKRsة!#m6XHrAd;-n]Dnlek*r<6Fj2 Y0 l Pq|aPEJ{*" 2ғ#o{ΐz4HbhwUa-;}8'x@덤ƬlL~ozS䤌'z/=" 3}MRjFvMBLD)S[3Z֮H9ڀˠՠ!U zTNd!_{k"Nӓ+D5&Y(tdfEE2 ÁJMK   &A%H,v/E4I&Az^90'M7z M ;HM7{S7;=aޝVJۙE>J``Z ~T2X)2a23b$;nnm@QfUpk_\n<~q3?=dtyj{6<ȱ,1 ȯvQ |(f>Ttۡ#[ӻYճJz~:w\9z.Q4Ŗ3KZd*$nL :tdN|;ެiq:(W73.mF!b0YugP7,&!7D@,bz8 J@<ӓ93OggS#In8+)549D@;J@B3<89;:98CC";DE-<8;><ɠY/oL-Z%7sgtӚi{`xTyj=hXd`d}&B LA%yo̬˗=p̭[ ֦vi&fmc"N 󤴂xhv*ȶ't$BFRL0;89{{ oO#-&"Jey1Qn¥ )+þlf0s(r{тnBack'Ie t٠ R*MK 4&&@ʜ΍.vY) E)>U2O=}@TԖ|n""( D(,|D+g[]we`7cD"TZv&` PK9 GdRUʈ"2DKa3oe| $  H"yL)܊$8$A<$y XLPTݗdtRARX@O DP+Ʊ[bQ=--n̮}I g?u&CĘ&5|qRX!2W$@ ̬bzm'S]X>TLNr C|(` &&h˲x&d<&"Q:Hj@ T%%2@#7EV&,jB{bIzwD"])bX^rGS$D)i {:l&$?Vɲɹ{S坤Q !6Kwc9ڻΪR 9Ke|W (j&r2?].d 2W^ZO׷G& 9lV7W }Lp]C!HEod! Qsk9Y3= tF1h9/Me1clƕRzL\7Y6mm_r`PILާ6㡋 ɱZ,g+B-xl:uwWlouWUTWpY{t q z QeKs1.&};{J9b5zNհnOei"E_7f LmTly6Ņf 1u#ɰ+Şxg4cJu &AF3|x@@ljjrryqMlF)Su^uw]UW{|J%"- ,ȦА))Dkn-L~ɾYY*vO֬|RVQ .<ɐ,SFhMd+kffJeVxZRNasdҬ^ǡs҃m`kbjzaC. bJޭYޯ˺\^OrgJSz_%.Vl[Sڨf9=zdne MT*a"Reqyo32g{"wJg6{"R03mZQVhHL4]}_خ纄)5$2L{8KXn0'b#`Ylj\aѶ0s$`0}mr\;E1'J?g&ab vr=6!F2uSBs +M\#;5\7Hr K!HxT@x JxYuHMEp٘Q$:Y1]B9҇C s9f˞rxqV1ò&C9Zlkk1؊;po >sBV`Kс:!LB\{Dx: 񫴲*ߌvvӚf[pޘDRb)f|esb,}{3. 2^Ϻm?ZC8Ha(5-qpZ>~9T:Bga<&wױ![82KHpZt-Ջ ݼ'Qi2CiT/6t{ 0?ONҰ!`frw0d\gWQtO*W-A;Y޷FTVر3dMtF*zDZF6, 2J +`8*Չ: 2JJ;1;Zb?(|x%dzp=Tq_RJ+]KW噍N8-ߓWj#~U/6NWNĪ(50֭`F%COݪ?;>>mmoڲItv-(+\xߢ`?m>Xěvֺ9{i޲WmblY޶61[6F%PP&QU* @FU~g;io$ʷe[ffJYpRʜpwѥb3&2[=3呤BiOS 觟wWį>વb^MoN֬x3fE2mr6vzf:D^h42 0 pY9Tb{moK.wʶ6w D2W tp`Z& ﻦEUD쩠Fj\=g/MBe|ݘKΈzR.& @{HAV/)`fƦJ)5B'9 nIݥ!59ޭyk6uG]RZM\Y]y{GrY̍b! R+!"7U2\Fn&26 "Q!zU d,TI@{,(A$PtH]]a3R(7bc1L0N6!Z*A6Z.9ƚ&NrNIYQf'`=fejkU77 va9RLDurx࡮D6^LN덤+T،48XfN:q3;ĵ0áG%ŰAH-Ҍ( Ι7,-[tNK2=]`Xx_TYYwSA˿1;f\.AeMڦl&m0g1B$#ǐ6̦>_/#UVW;HèESVO ^.w(e&aOIŞåJ jG{(g1Z1r1Me0G/8Gv$'/|R2 hDTZө+0%E\&I Ց2ąLH6mP 2+.N rYB:QD;Q .^]e 4Ѓ_a3maP ~&-O0pJ3.S۰a5+F $ޫ"ժġoy*$YN2|xz2Uf2uHc\UE;TuxE5)Z."LZ-J;iFHC[kP@IAiteFFFFț)%ɈҀ6IJJF@J\DgKJ& $ ;U7}D*]6ݸ YH9$!a= 0eHC_p8iֶ5;7[vcjP. JFOVPHOHJ̘k߯@KrR:02<ʴuS<\uXG#=%H@wC"K#*&D!!Dr[2 "Fn(TJYi%DdP })strȸjU|HJdE,+7K?r#8 I/6`$T G c5X[pM Z0^A]יst:Ŋ)S@s]EJr"S f N1Ӏ^T&;EW%/X6u1;ut"e|ƔŎ-G8k? |^M) b(BttR<4WRq)eVcOˁt.=([dV]__lMT. DI;xl4qwr &1\E<utr+iPe!X+M?nRhBsqQ,J&RŶFl͌8sjAa6l+f\!K`Lg$D@k@ =3ŬV@q$!QhvGWq]iy{ -HZ(i#hv U3FM)3nǦk'~.ٞ.YϛS@0q v!j镕"\Q(‘! ʼnr.FbI,8)wː94]2Qܜ]셐! =pJU()\)^x$$>۝%E= Ǎ{rLUPlFtnvRYӂjn^D_ZƑmȑɺ53'gLC8s ꯠ\iD9pYոĮpy$2uFt@DBmGnϽKzk1.ˠi7HZ\Ho'y;=x Hd,޿>=|G'tSrgnUXR|}<~[s y "@5T9|wP#{w;nnϩUQbj(NxU!BgH|'"3^N8A tpBAE\ 0QJl*o!pޮ6dUxk.{߭*Ӌzh-lDޙx+hqk3옖utzfTE (O9)(#{^? "Ifbeg[6TQF.~g~MzSrDӚדa3-k} ';fZɍҴD n} {۷:D!-K!m! ֟udT@!QLa9"{K `]6%2nK Gv9D9N69QN'dM^! @:rEֱ9K$ mNg\x Orċo:IVE~yլ873:S]' R)`TF# m*ܵ=ΕFC*;pqep6O*TYcmt7{0'Q yaʓ}(B=&0o*k؞82 Y?掠w wg.lrM/??=Dca1c$f&o,[kiwSn4Jz= 놥xX=rUqq w7|T |/sӏ#]EQj$Dvr8 z.e|+}c @a ;Kmt. y0{WLҨ/]r[,Ϻ ޻ Zc YA+-,]$Y] ).B6p1J?!8˔3Iޕr#3*њ?nzΥ`wzrw^9A(m[(A3ha䢳h TŌoX.:V8))ؤKF0eA.DVF234ם uBރaf Q]u+y¥Ή&Q} "M,&YLTS7@):Hcl0$;l ?f0A7_/l ޻KCv[aH 6@BH9PLEje`$gO$uZ'9[2Ȭp4DUoρo͔3փ`?NIª+ X6f]. 5JWj\u}W"G/\( i0xeJlH$3J*tIq>4r@VsR(U ܽlhdl3һ(8mf^f0hfƮن`F0r{;73$>\mcȏ"O3}Xc "">" 2̷~W`~Sədt(t_+n I16>G2iծ qn,Q:&TJ: ڗe*m)*duiU *4U*%Yaӑ"BN$W^R4) X,CwR^Cքlq@\$tEZHM]ZŔL P9trcTȩX3̀v@m7fv[WpF{k9sfD~nH[$u.6Գ& AI7s<"D_Wh)" ]j앙?SԚ~s&jj=ۛLInN QIiUUi>u4*zDCkGtє_4:mbB̞;TdZtJ)RkB".V@)zD>{2S,$/I7au=kR bǨC$rD%gAxp3WnG3c.)jVan]nN='mZuj"+V[mzoVE*bbIExkq@6xQʔTʲ}֕ڧzڼWƦ7wvcھ]Pi#[/=i VN|nՋTB327/R=57KjpRQ*pΈY~b%U2#+(ҪQ Rr Țz]D#DVK a*M @I&0!,i29pZ^0"BMj XEFD@bذAj!R l?B]]oa: P"N!j4$`w$#+c&2DVy{Xtp 5/NI:dn@{Uʌ2IнQ U(}\mv& .uTvu)Jtqz"_<^ִt4pc 'Z iJD~bIDrdvZg!TPQy%6̭͜2A⬹6uWF,/g!.K:X@Pj<ߧH,}TS})uĈ5ڬ _;4 CsDYlX=Ag73].B[^(OggS/#Iӎ6"=BEDM%=8@BEBDF+( 6DA<+9E }ج]HYe >t.Ac~ݝٵ$ 8[;cQlmL2Pl*-~&^-o%TdyΩ}MNS;U͘UU~U]]]i{+?L`D%x2`&?_vu]$jnƌyD^zb7tfue"(J%-L+99bȾTq$ѽMkk5k-6$8 )DIVzCRER^!tj`8Vd =dax`鍄dG_rBw#ܛRt/e1ÛY`oik-Zp+Lbˆ208 4UP402͔SF ElxYѳnP!XQffJ{k^+py6~9YWw`?nǬ^dcҒ7~K{Fx#UxUA;DUj%ސ79̽ h !ݘ Ul#B (4q(25*V'z"JdoF'+JԌhM <*3Q_ro4 GEd%mp V@mؠpܜ孴DZC #[[:J߄LBuded %: S+ųYWYIul8|G_QKQoMd\.<@]@mLuf $5v*[>jt.;F3/\&5D>nSU[v!NٛJ R :saXYľ)hBT7uM[]ܖgM9k|4J%xdJt/4i'Y,BgX aXܴ>ޛ3ozmKTOUÌ#!hv-%7ju22|Kgyhiff0Ǿ9]]Y`Y@QsBrvU^GEQPı9K%%pCXd 0S SI&BMț򌴉 U 6NȊTSGբoP4įɷvPeW$ȦE[aTK$Μ+]uI$!",(їP>\Pu\YR> Te J& \ ^k]z+f˚u'Ϳro<.#Í(è#jOq)!vd&! b#tw[2Z{0%ⴑ>ESf1&]8uZ{ .lm:y.T 6'&ZxZVy$gb_-Ү^[ :;WsP@EHaЎ^6s0n4RVб \ G],03[تXf/T2.jv.hAѢ{ PD:ZH?`(D]}]*Tjт˲mٲ4'qW,%[W:H۽[iɩ7:Xvrs6ՈF\S&M:T,ϡ`HQp!hQuJeWmCazyC]vZ[S7ֹT/t:[/N#=`fOggSa#I7N))$:47?DD7ECDH98=87:9AA,(CHC9:=>ޫуG^9^% i[!uaZ% ?36r&*3b'vyM:= G.i?Imp }F7ǞAK!w5j *s5h`ǖfs;+\ND6n *Wc9ڤM֤CG<XTE_?=2U5V2 gcA*U灍eg]^i[W`AΟX[LxK SX 9@+M%+/D|Ի<ΉhOQR%-Ar 0y@2R,Jۛ rmg^}h$&/HPQ4Y{D x@bUP@m:vU xN */#Gb2Q/ݧ}d6ArAnVd\*d"43Rm؋_$'"l"Deѽat/6 6{7zbB 1f<u x*F07)#4 IU ]؉, @0$PeU6fpL95G>&ԙHh3 'Q 0ZQ) ѡ|9 z9`|d\ EuOuH",JŸDȈ#D6^$H"c2 T )c!z`A҂,Hyp*_dLo%KHK]&>~w1t:=/p Rcx+ܹ:9b"" PFaAV@>;'=*lj{RW}|g6]36rC'UT=jd;>ʎֻ)onɵSmkzomR֚nQ(`O@Dejw࠱!y.]WVP7UU٦ *Jeo{S4T(jP NJB8U P'j%"JUt%Qǽ۽4{M(j:ETOS%".uo`I,Xt^;7+giDwԘ~T5I8q6Gs{6_d,'j*+=7<ł^ʼn'FHqO[TTeC (B^R& Tb)B9AŌȤ !8CZ\G +B*YQLCfYDiJ!E_A(&1ۣ 0-n6mE~fR1xRW]cM1 D]!0n q^fŀ9v[D88n,`5oIG-^PD O'?'|(y3%9lBk wWmJfzA}2:3rdLoTU!d]qK5k[~KCf[{|tQUJE:#Z"{wt܁#416WћBܚH4rD4PBFv :KEF$$j6لV ܝJ@,1ʭMKC'KB:(:dbYka\@Zk-K@v  ^wS̔{a'yЫR,S>Ql  `4lXP+HYN'5Ex:BeV7#blWdSnfZRB"ZuP5 R ̛rAL|6đL20'1n^_b-!j&d⡥7G~yIcSĖUmW.ei,13XNEfoV/F:ܣR^M=fS] wij}]!FLջؚwO{R=Ps?Uqm)VQ[1Jel{[=V o*LLoV:z:I%阛Yݳ2IZOY٥P  @v(2 ?L'fqq<޶W㩜'6k.GՂhcH.9< s *=c<>SM+u2p5ox x\,u2[L04hr82 vw2ҹ@%JTIdi/u65l;LUEKlYszDٛŞ0tqw%`_p'F8Ő 9)cg\ȉ<7zDY8SR6I^l] k(@1^ 4ƔR_@̄힃.QêmK,7ҏ;/Pyj:!5P}"\wXNt#J2594DuQ"nb d#Nk銻q-2*Q2{Vu}a5hw0Jm-c5š)k˞Q|ӊA5a5f0/s3hiLG ] tDb_DHuo>Ag`<-L +@Čw)_]8𾛶" +4^({T8#d,+8ZJZ5ߕ'~rLnP6. )q6-aY12{DM3f]{]ٶmݵ6eO7뺮+lf'&SW+dܙgН CHJJsEFhӣkioSZK53(H/meVIk LQ?ۿ)_CM X $ϦF)UvP,|`0]iX⼗84<@ZI~/,,;O#yU|qzW*ҍo ޽mKf%i.Kt h!G8$2@Έbk# f -`L`#eF.6v ծRH2!7($l`Y5?'v='}-5v`m4ba2~U)M~Pcދ,fD E&]Ɔ #lN\X%72̵P@g ^\0ȵm[jڽT BoUoف UZ"4P-oFG㍙,^OggS@#I<Ϙ#;8FADA68=;CC?R,<0#B7AL3(}hHB lſqP^cUYHJDu1[WEbTtK71P)@0OBq7w3U|h"q)؛paАOJ+?C_<;t[`ӷ)dtbTRqK'M{f{mkTezTϗ:ڣH)|6S+$)Hr T=Wo5gz4Ygt :q\Fy BtvEy}6~b26| &+*x^[k۽ifo[cֻ^yÑ<2/j:Bͯ.}TR'52**y[amϨi_]JgLӫW}X޵dthXQ**wnbL"=)SO,+QjXIy@u+p5ؖ)7}qۡ[3[ ѬE4GYysQy5qj:Ϛ'+He߄Dk"[IdR 7jd:@і[RNdeͨ2"<` C@H.SHMYЋRT!$Wc{\@7Mq@.Pd;v_fhv\ep`20pt}$pV,Cs {̒%Ru@\I3g^S bTcM- ;l%ʬ*sk@~i8 Z^2;M3l"Pק{~C)|QvQʔ<-P*K4f+d0q mbdXő!Rf$@Dg⒅V#jV'MxWWRJ\r%LO7  (5~lP~uXysQcB'#.a^pԝ!=Etç4O>  fR~k߯DϟyO:L_,OU{V8/ܫ]k9}FMiŮ6C*Du HE/󮤈Q*Qi#l쐀)WᲢ[q'6N)DdB"4dD\"3XZ{'qB e0-ׇ@|} @b)c1(&O'Qs|42C1% ƞ 3tBؼTYn+q[rZ͔R'`R*: ]H.$d?kbm!(MZ-[LϽ7fgQS _]iJnFDMH(2ѳm*?d_$JM~_@Ͳp]׹Վk+9MI~*)CQ-'v:or)Xb&L1fOΒ B***bt.!EQDܖh a(L\fQTwXS lɠYr%ÞNqS̈evz9B@T3n …#o ' Ha$2;rl{wp"7f6hޙ8@ #@u*l”P^lMfIXH}3,NhO@P52˔e{=p9q)E||?=]Q'Vn#B4;~ӻ])Pɬ,J)+.K@@"G*i2.Nt憔(l`%D5Bq 27^]-r*|]XRxzelE 8B7$i#,C6 -Pj >v#Mo muaɒpaZm9iɱߺY ŁV ul@We`EVYzAG6  LTU!o+yK :GkKVNfSkW4֩w~0fk~tiU-ɣ'4UA?u<<)l6B#l۟8 r]8"3BWf*"BlBk訡ԋJg%ņ= 'Qa_0dX aURk9I;I6;pp E%"IEI-HG씒k&xfF35sAV&6,t i+\5MN@ᩥ,PU8K`*0 W'U|*{a˻ TzڀSq j +԰9v߶&3{t90rUM%٭f:])X:{\i.F^^c ( 3(K BJAvs6tnPdH3U{vƍ^ :}bz" FQQRFhHPlv RnY@\5IHL]p˚W?7\mSUo\wDžo])k6SK_AHoFy+w w Škg"޻ BQh iHQ$T36Rb)8 BDDfADIx>I n)&C'62s#pIH!u$,^U0a_a*!U+l؅ )]00z \5X!%C.Un3%{np3GTZEnL&pAT:$sE(Ú5ꙒX"2o.{VVjp,)Y?GQP %]ήn|rݷ'9 \} cElJTӛ.eayq 22d}ZDpΑ6pdRMQRBPёB"!KָPmXR 8B B2FRTR2xP`DJQ(h|OggS#I3?Dn#2=X *V} sdsw~I Nǧ:ݶ&zmi{Nsf K}MQR *@Ag@\2u.t,_\e=0fӮ ߀hxKO]KUT%FK!9F]E0py&ԋ}4'; L|f\]eDT^|̈́r61{19?W-y{*W xurM[S͍uM{ALy慊<W\8h)hsOmw/͹>Ůbg/^I1:̶ $e=0wuXb?Ռ=zr%)[z}nW$.Jm01_$/l( @ <eUSU_7כ#__V)SÎq}T=OVKXiz(YB m-OAyv mb})̕:Ұ[Z_l>oD=7{9;ClNRO&h9z(S5{}3t[~v.|>'{ZY۰} -Jsw|={ߔʯ8fMu 0vMSv#KPdټFb$n:(͆ H^4~w/ 9X$`*\FY+q%pm 1rѱ %swT^1 RVJmNB #x8`UC;]Q83݄PUu8oG=LfzmQǃޓ1e{ߍ:o9]3.U߿Y1װecXW_T lD`}|Ęs}b\L͊?9vcX6 f2OVh:ܽϬlLZuȔeZX1"& G Koeʧ;m/kf,l!C}o* mu˨+|dB6Uæ*f*W4*FTVTWn[e+k껨jmmiUn]B3D&&䲧aDeâFk^m9swtw.5{m[oykk}zsȪ O$0FX- ]」LUheJ7C6YhMpnWc<Z50&6erc;&L*mpqNMC_Ts9ə'AsD\6WZ0 #4ɔL\t7ȒJ4nA\+)SEb_ZrvHdv +=G$'.#UdJOq2&7s%P )jvD-(RFTU|od: `yhzk mm̒qj:V-Hdp@j*JP\ C_WE C Nppa9lB/V~v޹fsEU$:.;)|-nJUzNYL}{ʺ\]VϙV%@APt2lw:V)9+-OfYk\467VNiKٷnKĴl{X ;wWEĨTkbl,V^3ڰz\zu#HG-g-0x(VX\n%&Zk"`'h}y/c=1[ ﭳfC\o@P^l"m2cP$S Ӏ ;0uJ)˲j3`Zy V LX-' e0ofRV*Sz =rܟdR)r6sˡp,YLwlҬꝚN2:^}QZ"٩~ ;մt_3ܐE.K3N*Y7o"ʭB. |$"FJD$J%O) BV"qxYϿ熮~ Ymk$lm%`T8Si@kdE3&(nl*d0Do&l*]Kh^vlHwV4R@!EؘgE;xsGIWa@$yʬ>+.mOn깜ctx8/?ugeZѣ 'C*f!gs DRCWk> Ƞ]$CoEXIl8s,zrrgc`]fazsyޱ. H3%lʤ-3d%U/~+󤪢M^C($ ja#ҹNM.\.]%t֓PǀC/i[tah\s:0.˞j[zf/l|2{yo>#%y>>iV; ?thZ|nP יP]wLSj^!_>K+1Y=36PЦwQ8 b96|= )\5'ʕI)?З If8I9"[J&rP載R-q1nl%oe$iv+ z}LO `Xl7i-sS]aoƭ9SXIBuYpcNO+Lb3?s?y{jg;iXc8S=v"tz3@(/gg^{)ʙPRe>ua bmaQOggS@#Iks{N);89857<9CE4ި[Ϟ$p*w@'(u1%%M#nWO2eo6L7UDj*$ um"]rKB-5 v<&E)8G{-?yn"&S6ʍBe9Q({۸O=ӓSյކ l +aK"G yG]96 _8eYG*Q ŊNڍ^iwVԱ^6wr|NJGL>ݜu7Z-~? p>[0!+ ;Υ7D6HӶcwYvc3Zu2@W) AB~ܟǜk%:`ޫXl~R>5?[[eȁ Beyu7~W̘2yg=O-tL?gɘ L9S72Mgj~d&bqJg3 ܸM!>l!nB! 4*>)/RQnRXBy!!!!Gy7[a"hJHF,@ l6l]E\/B )w&j824m+ZݢK3L+woپ"½T vü"ZbQ ;o@'@;T(33[P{ ($_co){?7?+Θ_fC툣|pgWAT- }wq9O<KWzJGT-M_Qب QLd^vQ Z@D'6L%!$WTeBT2LkSH>6l'FPLxT,$pL@`a̵<\c]~d`3P7XSܬd=ˆ}r9mFPBK̑ȄGP"qQchKovOk#>)?$2[aW^}],֤P+d(|?ꘄFhku-vS<-X~{D[w3!4J( 2&@}n($5ޕrF[mϜ+sיf4)`YŰzAJAcc*1T*DVksy L a%6'@ fϰ~ק4HdGeF) !*QBꊥ+SmoۆjT^?f@ '/ @Ó,4;vT+3c~ֶǴ_;Nuy:]k5: I @ŕtBI"lqD٫h•LR33WLREe!~С݋=}[[nof6/I$E DH͜<uy{0)wEcӖ]f_*~䇗NOV1;l;!Q`& .94  5J#.nO6Ps"37YʞMW,FJW,)32w \!Rˍ;|1Hm8Z{5᫳^AvoSQ.͡ym=f]tEFFuPd!`OggS'#Ii,/#4146GABCE@@I:66867B: 6?F-;<=<:xػ1BKJ # RύQDJn`NS>ytQ"V};y@{QHoͼ1S}z|w¬gIz>N\KUޭȂR EqF $EQtuj##Bv#U2Lz{۵uVq6eB|;:c H.ԝS,K室d`o/"g:UBWtȉ6 仇B㱩Ъ֋ўj4ȡr#XT`z閐6cY׮.':$72c*ŭUFN1h{.̙nLі!yި#`ij$UޓO zC" 6 p]ԼQfAv8^W2:81QCU ʖU[ (VDQQ[( VJQ*"Q[23#WȨ(2J5:vK{8{ؔq8)"C53ӞD`a#YZ{Rؽ%TXɪ(.JdȫS 8 {Kd]A!!Ƃ4(<(d,eT'tx{;?wcxؽ0zש38EGt 63+ѲpH,o[e{p(X; S`0oJ)KWV[B\([|s:E"Hle)3+m`',Րśz.L?1 2:({eKko\.,&x=dI H2 V{)dUrXH%3j dҹ=[ Ί1WEu}'6P;T+MPXTU,w],h0PVu^iysMU,hE aLP>!q3E%1b"Ceu]Oxyv=&\s$!'Y S}?$$jqyUoA5P{JW=nY+/vS<ڦA)涴#j +g'Q5=q:# J09DoӚkkjOv,L=rAꔎlLUYmj})A}TP|(S>R>mmYڽ֫ѫwk ZF[,XݪRt-5$P^W]O޵&Q]{@r5T$ZɧznC/] E+7H3)UteO~OU{+LMTU=\  ;?jvDgK*&2RT(N{\^HeYlj-FG!HJmm4Maڈr Ss03 e/W<m\zbJ%cq8MusO$3rZ&<Ϟ'COaʽו{V 8 q 3!d*DfF*ߔ^#C1+-bB)3 R*h&D-"ńӮ%#"0sm lD%7k aIx}!8ޡ/iIUK0pFbV0A[ ƀ!j)Q3X&lm̚gK620.F(pvNzK9An8j{5o#r(!Lo(}CV*Lz̛$)IMՄVBi*_fpqYO{__ xw"6ёw=KzvrQB1:O2 dJK6֒(%IA 1B#T,@DdD2x0EQ$-eg:IRz"&yK\B͑~YF.KXٴ 5="q0\DiMd)83#Md ,YUa6ڰ@kwFZ$:nZ(:26T,ŅJ91rwY Z [tty#hލSDZ)u GIu+n YT|h\xtdb\RLkrd7L2t -C PJWfK?؛Rit~ h_эr +2BGfh')j E@D}䥩2jq2cxn(|R^R NugQk*]\I2k}x7^YwzM^ <lZѫu}Bu81 /b7*6qjUF5JlMsM\3HyOA4M= Hƪ,Db\5G6St:i}\޹ >ƚRcVr4r)T#͙8!%rAPBEאSv2ɽjQnhGDTrH9K.#8ҳl=Hq֥&İYɈ\C@HQ-OV-̱}%.nhF^ȚЅN (a3!YnTК` P~+͗)U;*$i )YDFvjPuUT-RH-\"dŲ tN͓nM5d`QS !7Jqvykw 2%W%t*]Co e)-xӪLL3BFSsצ*'ss\UB`Y$nCw$>T@j2:Z3 ,*v9r{u7n̞KU?b^c hWRiR03F)Iۭ N;댖߲| =e^t}ϩ,iɍ=VY;SQ)Υk b4*d1S,7#EfFWUUۊb ŘL#iqp)CH}k”9YHQb%3t{DK9(o  ƫje 2ZWsFF*fdB\@ lc pfi,2S0BjѸ=PmӧA==E$vUװ m!lkQ7bBfUfJjmb~c%0%qJ"H/$bdgKRThUx=. `tJB1o#fN,w𱍥RB"CtUꌈHx\80%|K>Ъ7kYjlL{ W\ʼI[ȤFdSy:bބKDшm 3jќoE`Xv-2OHΛۓ ue\ OggSR#II*&C?D6 %797BJG;8<:;>EB@"*<9BE'RuY.,WeBSlϮRǎHjŌ=]F߶jz筶fkMمL:DA @GwS$!o|nzM. f.SVrӲzZdmiz)*($ҥ5-}e 33-(_]n `VP,vz[޶uQ mE| FmyYE4@qXY[+4@?g>i[״m7N`1Nk˯^6jd5GGn\ݢe\6e~qkdxTTVT!<!OXTfRܐP#. %7BeN%"P&t9P34.M&Pw +kEcFȈ$")\ڀc,!6Q>$:eZ|¢WVa2 TcY/b=y !'XaZ ,s\^wG^{r}E@)Iw$3j_æ&D @h_/klUg^FmvJү8F+TA4]i) E%+]SV6dFBFT3K!ׂDH2!#*J rX-U#CCRT!) rT  U$, *vHZZDId\.W34ǫgSD,p\ j7ī5f@bz`OT[3* VR{* ˔P]D &QB`d̘)%XԧDo*bc; 1VStJ! ,RS>R lFJ,IarHƪ4 /iWA*SY7*%dr cg!\@wɧ(̴"ʦFUTDhjM+_"D̂^j̎Aӛb4!`GvuL*vQYUT\=dMyaL,(t )ٯDK%ަiM,CևUѭ]&4O1;GBPܞYfX3w.-%j2i+ }wdk^ovk){[SUekݵ 1VuъNDZA n3fHT4B̋dvt%es|W+[v,޳ZĖW)zaHU묬 P `|5kn1{cSYC~pCu33=>O✲afgMs j? aT'F:`M0g^N*RB\ۭnҔ:T6F,&reͿ̨,BE*UWga:FknT]aÅG[]%N]dx nc.UfnЋ6=3SL`ŘpYws OtQRugLN܎68,T%KzkpW  68kSP^mLQru̼bL}f)SeSC箏ɽ?N{)NtOG yZDk9(xgDʗWoQbEdb۹imueԂv(u+Ө.,SgfI*e%km6`̦fNjѤCY* " `wq. ;ݥ_Mk,XIvssjԥEjB9e YC$hl1&*I)B=moxϺMYi&ץBMaX ~9{L!&ᠬ*ke7SLGc٭z{Cgg7ػtrW^]?WijXp^P%Q$ZY_;>V{}8|׹?R~xT'%d]]LxPh@('c7L!۹|:. =%*ߧ(_$A$i3$2 \h Cd9+X/]1isyiTK"#*.A@6- (U0$Hb7Ǒ75&^f6[\?i%M=bi&;f aTĕ) ,)5-^5Mcg_4.U8 ԤxR@"()YvyuHy2pK괊,y/84GjWv>[̕cNA;ZHsYFJh;%D,l9cBEU2r=B^YUBtV"2F!)"/ !ӲN-t&b$N Y:Y+:6+'{%  l:G8FU)u1 @ ]ckmAXPbd8O`Or'~ˋ݇{$0֪ U,H]M VPݯ;[7ԔUhll38p?Ɣ򴸎FnN,ɺwwk?nG(Z7434V[-&hJZ-¼ d$$\B 2#tAPh Yh(EDRF<A.0ĕ&YD %)XP@kr JES8iI-:B3%n mo$Wz.szz,&E}{8\w,q03fޒ9>+6&n3$L WF&ԧIr#*\C[NQ((ésbLj]KVH,E۔d-wM 8./.4rFh4gnǨA]GZCuPS6u[=Rвqɠ~zpDofƹuF WWnUPlZt{ Ϛ@ !J'JBj$kr;{A7=HWZk3p]vZ1pjGH?(^73e%1ev+om&@mY2+8;Ĥ>w>@IO?Xt?63f2s}>TJA9;DuU,_4J4Q+b["g# b"''%B Քb3"H)"S T{XCDqI؈l&0)=X (VU1wG d0] _I6ds 7TIr%* 2T ١3jR@1s|V1t#iЖy{T̟O jCp!+zE`(Anc@zCm{$R`B0fL)W^KeVTrl>WN͏)7h&jڂl 5(-$AAoP1R:16<*V>k7a8*PB"#%)Ȭ _^.!3#edHŐ S^22" W@'S#%KgɊv46:;2A y.cBN#֤OggS#I k)/6:=B87C@5-898FC=649:<=6A:ݳtb & l^2' 0ýC pAPpt$)V< D8ÃC \ kH!kiLɼo݁-|e4O΂/+SU%rޘ"rO5U"Ȱm+vQm6.d,srBg_ʔ'nQ ' Y#@}xm:^Q2*qq&͛~}q.IENgC5RM/g?X }ŠiF-T?[kv^w ^ nŝzSkL;p,HoF݈fM,zX#(pHlTD͝5k;ʱ]JuφomZwp&Sީ$?Txvkbqϫ>GyKn8S""HkW- U goDno甫Q1 ص%ƵF9o*-O1;='y5o͚iUK5cj*@%S %ۓ >æ4@g\jRYQ[?i:RxJf-Ԭwzklțf74YjG-Ȅ(߷C+ .Etg[wAmlbsO>kfOVQ養JJ_cP !HpI2%oD"bfrx ;[_Z%uO\GBዢ(rZӒ1lʕ=riJ+u Z ߣ5xu9*RXJd- P6"* =vqʍA`x VMU@Te(] HdڐHp ll8Ց(HU2i/0"qՔD&lom`ƯL 7f+ĭeYp՚(IνL28LIPeƺRRVB@J\Bx H^̼*e6oxۓ+5tzz"sd=fQM7x\yOY+yVm7+$TO-]%qv+Z *ԾKEWyYWA53@F@fV#*DbM0. մJ *3If+C|FC t9 Qxtʴ[1 BcZ+2}7c{_p96[?/6j' GL8fd`?@ *խbhp. %f8Pg{Sl$׼);J/kŌgf~-K'۷Z͡)>m_̲[ާ˝x,[u*CqB%&WzEVmicZ+ռ$drfjjTrJ0DTQ$ץf9YQMG$!$ > )/eFS "tHH`#&J"Et:t+6FN@+"^ V`d} *lla@syشm"t~[l`2T\R pL|إ' P|SmJީ̘͐lސĎB6ic TX?ދ"T9V DT"[|@]~RyVF<&j4\&Tgߝ^MY-n3*AqU{o 6lͺuO8GO]yG>7tқ#bK̈Bշ{cxf۵Eއ r;?a虛V[pav;`,+ X0\5FIJV({JC{CK3|ӟqu)w<6Ntv?޿"}}qSjBo_0β{Q8jϧ(xN3(Ur6͈r'8I Q :Q, N`Ң*%ZP(U+2:$Xd}+7H[Gy5 TI]^ۗlA*%l 蔆&|Q ! 4VJ,ݞfhnsFϫ^бן 8:06_Fo 6-@2ԈVe{7gNgIM5"L֍[6y'rڽ;N"j ljX"_FR;h[`"UnӒ5Ƙmm)1P ge9VIhSPP-Nݵ.{}mfOggS@#I!9&CHJ'.>:=@FA?02 ;<886:80AD2B%e}h43>'@:DŎF=kG*mj'T,ٽz߫ߎ^D7hZs>J ?ݓ67Ͽϻh P˓3]ʑW4{{{7[hzdIY5L4*@Y"xo(p%ENw(Sv,<$ u1J)Lk~ȿ^EEp)_S?ne~5n|!@d3t G @*Pl);).vOER%N3r6 vGY,Uid##W/nqեeGrI@"$?qM*}'`%AQb+jB*RmA[V툢[k\VR@:٢?Z7Kb `4Ji>uc捙{o 0r @pC@fL_+csLv~r)=}R!i/Wzu3yrA4j;VPZծX3Y-袇|k_HVVRR͔'rEW7::QUЌjJރ)eP(J] "eBnTg `ӳ $`@h&tC%nhx 2dFC2pMl5 %p[?(/QBS`v@*{{A;lMQff+PC}igU~&ʴ\Z>d4I=_&ߵ6dJ-םCHa0 NҝkQ~qL[JE)TBueED2".*e&y$]M(x_Hd(qD %B*AD,DDvQ,2ncy/ ;Kɍp!XHa.P7ڙ`: 1 Dd@P<4 ^w|0, KM őiR;/{re-3V7 ;:8.tbX9HT"ƪ| (YL1s:&K?W EE*s j D$)FEY².CJ-r:IE}b윋}(.^M}&Ȟ3M@61  BxL) cT>\ @92 by 0uR(}  v*y H'< PDg;|1q{S̡&Ӿ_}KG9++6N{3S:ۺD"ÏdY77.lofe9UMa;O* 4_B宣R]dU ѺJ%Š+Cr$ō]"8RQR C5K!irو$b$RH(ڸDH&M'=ȽBu+\RA5F8Y71l UlNٸu)Ur*pvob 7V̬LݽOc¢e(#*@'^Qp|"k&2M Y7N( ̿M2FVJDsѾci?-Ԩ3."€T,I[u1,XNVAܵDt碘"k:o H "* (d] Ip k1 OCTcrm1RD5n2?Sz$Ԝ^iC23qE!x]-u+vkL* .(8sA)2v?t:VQn)W_N񘼰c:J R$23,:@ÿi&enfd%)¶e53f<&8RJMK @)- `mέIIҧO5eJ(!'*æݨ0"j#{VaUv5,ko:8%r,mGi9gV9:z-Hh 6p(W^wb{[_aNpWI?>HB lpcuVOg&M#ZԵh@nsDc"]nXyɛRef{Y~|'gNu|:/uS$e.YFkKfA$%o( :7⛱Y\!V%*ftƹ]P{Xܞekoc/]'Ǥt g`$"}d͎7ǫ+b&`trFk^-#; }b6Fy›ܓ\J.0e^E$60}@4lxaPh$꽠h%@f*z{5pm)qQ=2w~CkAyhex97QVJ4ʥLZI-doqzbRV6D,qS&2:SGu'U+aFzFض֫K[d lt$b0t@k(q!Q Z9Yo&37 =AnλjOggS#I"j)594=?;=AJ.AJA8,0A@);97=;:@BBamR<,7j.] KYg-jĹqʥ朳4V&yjR RDn7`LYff_ ʬi)3gaE%mQ&6\ zPDJ`M3p)(-ÝlH n7BduWg&(QBzd{I0QȒ!2"\CQ |43$r@(z&@ "KC"u pr T ͪfn'lJns c8M*0IgIq5]EǼ}^ 4^ Ԙ? gkΙOVoZ,m?sn$d1;_@D:3'l!-Ц c0r.H@@:]$dŸ A k!B9r3G WHJ%?HZ G1&4(,gf!: ܗyьC2ej![gܻ=g{;c ؊=7 t74@gU^{- tfe:2OEK;i$׶45*hrmA)YC ®"X+&.̫rs]hT$mYpz7b5@"&lebY(%DԦƣ 0Z垺2Zx$N6?{1)*rQ페EV&ig v-M΁J _Y┚܉"TUAä-lm[^ms8P]K`2τZpyGGE+M\JeXw^}l4 @ @5D9\uS- 1t_q: ozىw5 X&thctJ9MF4ItO!h]uߙW"o]LsG zi(!ר2@>٫z/$?[v y&im- /_cBc2i^rQVyaWO|ծwOZ[tKU}oz' @9FYWAO/m4s_8[+3*p7$Њ@ qHǽ PCܦwu _SQiz|(#Jgs0hi=[v'FT;(BÞ"'cV/$.MT͉sm=, uji}SN'8sogL9ks\1L([5x\3>-$;͆VaJ΍V-4XKI0] ROz3Vῷ}[wz r&,6-" JER1kU=9fm #Hļ6 zn7#wd[s>$c:S;=ܕDPjp_[ƵZ'LRi}JcfVGr9-wfaPZ{7q jz_+Ȱf*{n` 9%yF4A=r`/dRC() ѫe]W X5ϧT; SUj[YUt2'J蜺H >/t)Z,Ez,#!=v^meܾke6:-pHGa=ڈ"ܸYwczś{eTۭ[$G&ەÙLgƬ3wF'36l.qphzgtmvZZw>HfFu1d%}UwV(V.łR"c($$) QD5 ( 2[@UE0y#)\SmZiD!""J&]ju H@5#|,(q4q@N@䘙ȱXQJٍ ^AvK{^`z9nkYlֻ4Pb,y7W 'J4@DfDUvtdDH4ex s**-Ɍ1d Prb O12ؕ.O3B3v9RV;4`rA`r~*(NG@:Avlm{ tu R5f `!z c7J";{ TEē>U!6V%?jQ9G" Q ިm< iҌ3# _a{MN;oR^t(Xf'C^yݣ.! 4;AIBIʭBI֛%I*)BHTVDQH)e@dB- dJDUofSF'<6J ;Q#r}D*$"rb#Igq27,,Hh&-`!%\՞ٱA1w77X6$CU&l?sH PJ 9(+b2 |t$ uabA5SUx'ٚ=(CC{ \Ί*7%Պ}}@f ꮕ}鰨,I0*ZN"#Ǡ,rf^qft|ڸru <5 U/ItfTFQF3崕7mkFzM3%l"`1ksq%ˌBbqD {wޭVoެ{ #@ *E⛹{pY!e]_T*@Ȑ9Wowzvr{9N]5CNS 3,wSSQƫ@gjTR->[ :~uYmN3;{ӵu,cB)v:nDaOX8uXKyWy*VY,Unۜ>}J=If>n3+Ec(/BYoB(Rr~Z?;N @5TQou=ͷڛQ,쇬Hڕ:\uľtIna[C5oRTb'rH "CBN$t􁔢8@$K"ST IIF<@'Cő\FyȨj!rE Y,&f lJ9S8"2y?F> 3Xec ]2nax;:m5a Y#-? ܖED+!>c d9޵j\C*"d^kd :u^(]l)M}oM@91וլFLBȒθ5#k#J'\Rc7\Hatd m<_žn:[fM=Y\B2 "lw)դaNt\dnsJD\65zDK$:*2T"Ď~+;A|&uGV1Am.=Ls6+EnnHYY|N{df쯻1r)yHsIG X~|kX >YBCk)ah,6+z Wu$Kd~)RhjLNݝes 3/{KސTs Aw+p{[gv<)0QY:m@"'JєP4*>6PJҢ6 ZEUFYY$_ō4$8@(\@זt5qi't2l? Idc -s0 3^&^.@ZZOs:xROmwxj,WTcG6s_mG40c暉SQV ,3g/J?h_9^v:s&]C5^PvA)!%E t)Qrݟrn {T=T7/"#9&r=߽v9"!U"U.R5:%HZT dnKT*ס[dE !d" M0(( @8Pg*1 2e;)nULrM_ <6 ӫtԔ]z.}(>|.[j"2:K޷EZ 7T*nkO%sq]ۓYPYW "pM@F_-T\džHivؠeE ""'.v3v DHboм࢔q)Nx!SAָI(Pow-<P$O"9JՌWly/}D9h?N~O[aanGt47.Gq$Yt. fkamV G62ti킶([iwCʉeXc5TE2߬vDZ@AQGJ&@6VbJ/,T%jrBe%%:e*9kdTY' HtEZB-e0Cs-56r&CӻZ7w&?qǬ'RX%crKi\7Fbu^dk^g9Y aT7tl^xou`<6K!*ES\ny8#7zw֥HVR#0HEfq\{\{]gmfڹX!z@W\z$Hmkrhsfl$L. =7W| ~̶Gw;&yv/wN9UZ?F/eWmu:FOdPQv.K]=D*Zc:WHk<ȁɋF(2Ȣ˜D(dRőE1c!*Kf bp rP2(`Mj[i<  ͝#3Gs@; MƴC$8i7ћ[WDY">w*g^r[/=iׁώԵՓ'L{#޽WM<1E H]m3jqpp!r"7WDFN*j/lDUT)HHGD1@BldD -]L8$ wD23!(a"TPJ0Q@Yb@DAl N"҃, _ͽo'PAm'-࠮VZ!M-0Lo3}k h&R^BOPٍۢHYC Aq#+UF6ol-RRƷZ/HU$K/+ 8x3gxlxR `qt@ci!( w4qREQ Pz ^:Γ˟_T==5o&s.|9gyspt_Sóڬ|:vM]UJ>7t4d ^`[ju\&m)Fcdf1Sb,so-5ܞ;.|Lċ \rO0;Ӧh׋*cѻG8k_KUv3fTVndU{n*5z od#TС.dzEKg{+[Ӣm6VeOLJK]h)N@eg6v'ʱ%EU{1T]~uumyol | nU |j1D?;{P>O5T\,gK~mmfV]'Sm:{f#Dd?)|Bu.C> e~#O0Sʔ+Կp;&/ޫU~>w\i#*-x㪧`qpe0e~F+K_*,dݻC 9q*ܶ{Q͐]RB"*N+ӲNdlb@/ZDTy2U:ў8nJRUq7BF  Kss -9+7w^RKIE͓>횊y,lxA:vPZ>ʽ0uv;C5͸Ξwo;/kw j(L t%h'FF\('JY8*)MQqC E͸8W\!5l b5eXx VAI6(T.LE5 aUVJ9"DMAP5R,b" CFiXM@nX/hX=F/APhd>D ^mBߊr՗Mnf-a;7S5L+[ǡk=wL D*K!PtybGFe~GL5h&| \[j5Vu(udkF.NJVEQ1LRuMD3ǚҘ‰#&.vd\ _r7=4 TdD5̶KU!fbgLni:))F4X#Lh`ad{^ aXo c]npŗ1RKC WO")$3xue"|$DҮLAtÛ#LzWa.O<1Gjw.hM:]B`e7Afy=_Up:D{ !#me'MpS)H>]Sw0: flLe_ܳmΧͧ%I;SǼi)<qm2NsNmcL% CI16%wD)֥.JYLJy%)bY\pR+3Q͌ Z&tH63B )hJn Dpm% Ӟa + !.q@^5IX6PWZ P%ĉ+n#22&S9ț%z0sn͚nWMYz&d7/ k1`TY f+({ }rk5"0]HޔLo<]/w@8g"G7_ҍ#=Iw]3]BZK=wˣs. ‘N#]5zyQS'dB,r"#Ř2WW%CEZKN򞘂$H| (ȁ z8XUYe#<UDrJj >Jt hUCa)LQy|&wf/^=(c!GTb##T۬ 1 LO`wFJ󐨨\AdN|튗$w΀C=-Ɍjdp_aKj" -]dsU?qR(s 3;- d𫇺B0v?wj̤Pa1hrF何mV齕]*JrJB2S鋭p'ynCP4̪VDX. ¦W[-PLϑfsR 2;U;I2myZÀ9QqhWB `E̗AR8<`ωffԘPu}ugNyY*o[iV¤(VJySOggS@#I%[ %B&F=8AFFAP&0*3::<9797<@5#" ,\ڊLw[bԦ ;VQEga5gTIfu~Yo/qj۴YSi6 G~ ?9pCJ]3fLo _O|=ҋ}Y%-sjso{1W)W9EkJAL!!i&-H@:H5dPEQq2YRHQ.I J4R{)CAAA@@v!M"]`;FV'QhKy`7vf* 8^J ͤ4.Mrs7&~@vj` Pm6^fF@{L{K7'B bi0fD]T)bWt'ff̔@l]su>mtF2%lq}}!POn]4`.TDttBL%`^ t$=7+Wl^YqQқc^ֹ^,". .BzX إO|"Ч*.ٰQ;Ucda %z PFl Om&j:*;qF;0Z,Rچb{ÝmۊXO1m,#%c%6[b+}kDZ}ʱGT]mL]^Zˠlt<6ى[4̷Xf]tK](wWmg{۶iU5lO)x(rZp1#uwa}CM$ED :JWYs^˴m#ZZI#TDFPPn,! ɞP@/Քp~`}Z$dJBFwU`+ ۤSSZYe c#j^K,4+kRp ӴZY fF)~GamK7{aa:u3lq2JS(NymUeePΥ'{eOtqGK[HSe $r؞J(L-]V $F d=b Eť-E 85BD!RXa{ I n&Lu =uox(KtVI=@Vk4YY%u Ť@Oلɣ*kU3x8%=P&tI`8qy<9N?~݇_{ʄdj%Y涚. yofl̢zra$M}.IOﷇWʓ 0Hb=Ti^D G6jB%i"sb:Piv]Ur\N?u]%3:gjDnd Rnԯ` 6 4(tk@LyMkǨ,E2>9R'Ή2@"jLz(3X ΉV\i]p0? zj`g"Eo K @ɳJ\>E35y&o zCz`_J D/5s՘2p(?_9Hw=9$XEzm2V}a!ƹ(e` gAE1DQWb%Bh4Ɇs&Jt[ JDA> VdSA")&n))XLT2>r.a`5Q"#X9IHQLݣ%7` 3{5T{N1@Xbޔc۴N ]]%uKzOggS#I&5.56:@>996DCC;769:<<@6 AC,:978;;HDC@qS:E<'5AX_Y77Q ?gWW "_T)3e_:'|m6n[wt1Z<Hnk.H.vNDk!R&:G#h Bĵ#(SzI) ɩ*V2": R-K@ADip#Q@fI<颴@llࡢ,ygWJ&fj. PtGza0raG bhf'O55 E|D6-?|ן(lvMQM4 Q*HE }\ށ!G,q~<6ٲM`M݃614t)lj_Hsyڣwn4U/5Y] 3چ]14IkWnjEnT; b1"2KeMw콍Ym[U&VQp fsYZ4aj([vq[z_-ԋ76f* JXIT"\lQ)Y5E/KUfg(N{o{ &eH!M /sN/ Iu3rȲNކCYjf+r1DkMfX[qi-]teSY\ .0pj5)r@Owf 6ꞡ"""2Uŀvlm~ۃ2۽-MgEWm+6wǷŊ/\+ ͉RdfFf"3dD'NP6(df1"Sbʸ Bҧj1iB$>BV::QǦ(@KxN2U=6)x@BR9HnA:bqy dn] Z٠B4&z*zV XC҂ˎc8[}ddS*Ⓞ^p@zQSɓ$SلVEywEB+$)6Owt١q} c Jg>*:y_3݀RH(jG"+%"HȐd.FFz Tí*Cޢ!m (!&2P,HL+Dޒx+KfGF@-Vv~؃ 7̔AAW ,^n K,#u*o@nEhbgnf1hf bK9w{hZ/XF7.NAJL\P @t/V"DՌ$׮yif&x16 հTY4UV Mb7Z[]5J*2VG!'x툎7f  D Ҭ$J׍Uەx&XʩDef!{+Xdmym<#d?|v/{q"lwj%(S?vH^R](N[?1zTsҌ(C% Uk7Ҥ'4"YoiMt{eJ=~vj#:_!-Zf^{{u+ξj gѦp=Tͼ2Ӟ&-;]knZh4mZ[ qtʾ;^k K rRS yQ%MUۆ KטTCHGT- iiI`oFbeVcHYwl3TUo+dKٺzZߴxl83$QM;:X :|!MOO]sÈCWwzz2rR 1J+ P L³6#AbeF#m.mF6{ݴ}~5Rj`*bdqa1-Yb!h=z8@`b0=LS8|:R-֕p @mj* 1Y,JȬ.{olζitWX+>5 M:f-3z;=4r8i*Z(c,3zkzk毟Lo{3wkkM. K&f M{ F#q(QϔRʄڭ/1?\Np:Y%w^Aczg`ݒF=,]u~I;'nv.G&#dQ By Bf\dJBUrKfgd(IjMȰ*Q Q8D5K#4Q@DsiU:q Q\"x7VP ޙGQY^Yͪd> 6R&+њ )oFa#@;MhNL†qk/- 4Ƶ{wp5A :QV( j=BCg˥z2j/4=Պ,=ZڦqYPn;ωDƕ,犸ש\ИY.b ҿOJ"Uě՛Z3] ;u2[q e IN׿"P 8&PA l)N7q1+f#nAv~) Oal7 q(.T g7_<*JtEY ؓSt(kI$Cx$U7z@e#4cλqYj֞u!͊:8 -H1`Z17ę8B.͛f^ϋ.fY,^uW{6f,ddZL+Zc kH:?@ݛ|H)sAm#P$ʍYx}1YK/5l JE")8ŚMadbf1^O" EPo^=շ&W/;CHyw+&ɐ8n"VnhF$J% wpl}$eڒd>]finuv*GɌəT\32 jyҀ tmʲs꽷V_X.M[Go G0nq0@ r+.a DZKrBdW,nNb$9Q!+q (EDv.. `ԑS$ ]`frEbMB.,w _xL֫jߺ'7CWs7vn50 RVsz졍*蚵~dG {@_ۧ5KԘ8 _N$t`~\zxxK>;nYyJ1sƉHiT*cF.`J "]흊)]&C'r夭`8@Qʑ" A44a}jlف@R(YS H Td RЊ J];T: (!)i&o%%qlZe5(y٨]OggS#I'`!$ .88;ABFR'(04DD,/7?E@$ښU3V~S*hڡPGtжv*my23ؗys-i~2Xup~fߺ3?Mn^td~\=J)[\ 0P*ʌDM2)#M!z(IW`:)D,IQf(l1#ܜȍJdpqWܤۍR&:"đ!i-QM{pEY[}м\-@D/= ˜[Aq}5sFVV6aL%צU!enI9>-HiؐY۸0mΠ5xsWw'2JTgIid\ %G-$ĩ9d5_n­Kĕ#4ˆQ4ɾ=5٪&~laUd})@~|kN NݐAMe'AM"OM^m]1T2@ 9c6}'GޗBx߹+r F W\57߶} 5o;ީ$?jy t׽30ƃJ[,eVw!-:g]6]mluWan)b#n> ]@lD¤GK'5$9gjdfܮ'GizAHc~zus~ӏۣ"cj>a-Y=-NB  e|QRG{ET9dWJ@،Thehgr;~ZMEa7W#9!W.M.\IU1J41mʼn(FVQ.ٜ%}6V##+.RPr#req3 NVirB0N*TS!Y7Y!*Wݸew1ǰkWXSET'@TˑȬ7pW%VB& @W`jд lZ`:SXY ysah ɊcsGb{S,H'ID`Qe&/˲ut32~LXɧu м+"B$qs+ NtIM 7{m"c팲C^Pr30($V,)e EpEݚ рd誌9eY"+(܌Dd:J87R.A|@r PNFˠ X*fS)f>zfY ǪVČ,pkGedSm7+ J uҬ.z[w6kZqƿi܏w‚y))`jԔzWO7dI~>Ƽee{k>*/vu: #RWvCROŬ4:QcdŵP#(Pʣ#: RFn-Te&jBt6r9ᥔ YbfgL3Aq*XI\/ :msL H8܄^zϳF6'/fiGg6Ϥ81e3}Z]0=f*h|Q`mKAS(U ۻFܔ P1hgJCRŴ8A',M"wa%W%BƖrNpdFI67ZUDJ7I;-dXD ܀: 6U-Kg 큋;ӣg^1eRS[=--814,  b2D$Ř53QD`vw$ ;+IT?0n~ |4ysٙ1|O_mӑ5T>@zVl^2h)(ۍsQ=V'沼TZ J%S\5l.1+m7ϊ(N$F@EV qx jXbAFcM'âiLD.WGzljR 4!*AEֱY.O "jL#պDܙ/P0tйɟ\tL"ERvʌBzrb2<ǍC)}G+fwɶŭ.t|6) UV/<Яn$ߎrS4kdY[souZ5_d.ls=JE,9׳4 1)[PzR'V?i_ %~cuf[k?{æ}{~}R:M.*k$>9=WfٗGT1h 2H_1]r2QQX^US͈#T &($.d@D熴]IB4ST%2ytMZ,M h]-CĕcPe $nRHM׫T" 3r0ƾ kҌ-HfnK:vTu) P [.a1&"U :ӾIr@X7cLILe"`C˱r՚VUWYܕ wV+mj/B.~\)x@lq F/. AhrI %r"2sr[Lr䫙HB q]ܓM" j‘A *$g8Q+oA|\J+t|@~ij44x|b&BoYg%?RµYPi (Ntu`]!@U2Rɴ"J2t'y-tQ 4zDž:;WRU#橙n;ޡ[`D~ئZR1z:j4r^Z (Cg RP0"@{cFTzOmgoK42( Y8q"~lQ% \VS5fW@zS``%m ,-Dw:Q2%>&=Swxp@:@ ݷߥ@+0 :ڎ쭍ᰏ`Bv4N ؛=%Nm?z;݈q^[|$ {R#Pj*+4a[s36-I|aP7H(pV:'"zEu@({8migʔq :O6Q&Mk[JSڒ-N!]Q.EA; 7QU Cưj9;ܑD5]λY>hl %aJ=!Jel>'}g vh}znwQcX:ZM$b3PKBaKDё*j z](ߜldOggS!#I(_+')7>A9&!4<<6EB4<:8><9CA@J%%8ԟ^OZQͯ2:My3#8DdxQw 4P"oAW{Lu1ٷCyhmSݭKzYJlZiIp,ﻗUXYd,G$;/T^.nq.6]Λ~o}{]ɗ"eEqHA( H=bJ읙rhFtе{[l0Kz#xEvM+I={oKNP7yeS6fB׊ByV[I_zu&qXT㺾1ٺS^~zǓLȥtwVmFWGtb+yɌH\1Fu\EA5 !U"RlN܌XʐUrd(2' }e.4*Ddr9ѷvQE&!}' R ev9>-@NSH)TMMk썍YJQ&U VH?>~\2fHp^ NBuqKOⴗ"C!ui "YL/:Ff6P8w1\J V;nOۤcWǑ+V)IgӅm(TCt3R(IVBr) 12Dz!M (V 8ARMIP\Bz)/ FHa#zʔLkelWaɃ?W C1\8}ߥ F1sJy:w*c " $څ071 ጄko#d! lA-X@0-Dq}))r!2 1$iHʀWZF ˕ $Tl *) $)Q W-]х04;l ͝THޛwd>޻LSW]I,x{2r Ewp! $̔[xil* .-W'cB3AKU&x9Y*ڀ=I)J8 s*CV@CSQبʾRT>DRvUbYUp!B!X6 V#r H)v0IY@B &i@N2aXTZU(%ƴ᲌06 ~WSԦCz f d?k 4 խQܜ)7hpO;Tm 1Se)S+hS7~kK]GVj<6v;O;|2f11"~T#xC\;ھMhy]UWBQ)$ iAT Q\!4L!UU1 HJȸ3GeDߑmtQFT$D DIDD8(HĐR/dFdd*""` ͠F @)R$jWwbu\oŶwya͖TۦE[d۳&/ۿXkv`-Xld6u&V\Y bG]( ~bh""^T1[P woVSl.uKstfak^=S3W@/E*ż=]2il "%K2}  %?Ӛ,DP(g!벙'l' \&c#d6CƊSֶ)E`&JH ,F4~ڼ).jseyo 2uuEc,y4>+? 5%5M`B"DTBXLoэm[b-=@:'0\%<70D4v'%qyiRn6@XɌM(I [>4㴲Ss'p1.ᰯc7jky7V\ݞ1r7<2Ju/USw|~vIDdd%ȘC!CE*FFфB2,Jb,Q,TE HQև :VQ:I72ASQ"5VI)Wd4$+Axo4E7Gn^<z󇖆1[bn~u({c2ft`'(j$U Y_I/ߩ=(N3rKweZsf(;+< u+&+5@f `aafwR*JUtN 0|+lySែ"VX`(ITez^9qCyiq1 7ԛ'j'>!PC .[5l 9tԄحnzfgHQi8!$+IRe+rȌqYP=*ۈ-fBF_&, $2(艐(4AR;WVͩ""C`+tn}Fq1/Z ýc]J)Xo =% [yPx_ܗN4~;LșltY )=}AZпJn1l133^ǵ=wN~.p3igIE!p 4hPg\9۪̋jXr直2^Ѣ*VT7RtBq 9Z )327XɅb!PȌ]̊0hphN, ^23cff&+h:\oiYuHVƑ/b^]+Hi$y#^0aD# }ӭxPM^O5g *$V.uʂ #+ﶉJja#aN5-:YQՄ$.3B]q3sc2.)AtADLDQ/n&0I00^qi-aXCJ ~#x !%m] 0͝BͽTQCysCT@\J%HO:4%\.,{ŮV#%Ts{6u1:gOggSU#I)TJ%;8AGCH&%$%4CC2$736A@<5>d\0dh] ¿ mʤCf#)me¥͌ݻfjkp)|84b4@[x܌i ¿~]"Jz_Ob]l L:]FĦnïgZ&e٩CJ!& RBF\MEW6lK)Yq*%E f(M׋40DLjǸRzotuS6Pmwgq" ?̚J,bJSTܾ^;/gfmU Ǧk:A%H@N:' @!pcQo<$QӼdfJVVLan6۝\[5y9s S.nc>w{&2=DBP.NܧT׻=99,M%vTg*+c rWYN{;S)qiN]9.]#Tb'r&Jtedtaf4!L[&.WNjm6 ̭xN0֒r{z%v@$:cݰTc^ֲ̓gs_gd,5 5 e4?d 0ǎ7%NĢ`^%3I7,H~NwzIfF) ע6ʀԞ;c<͇JqBV B<2nFu\ml 1];TP ."#f9GvW+"5[xYCKl琙,W.B^N؄\c BSA4WftFD&řBHlVv!9ȸb.%Xـ͊W-j$5G4Kc,A۰7k=t%0; &fg64~g. @ N >k%B\Jɠ8)EcmM/f1cjHL~T |nz]ipϓ<;BDk@7cr(7F:/iT0 :FJJޓ.Ąj%T,549 1Ȃto5`JE")7JGt i@)D&),@yZ9NPܜN@1\)AkY7=U9Zh@nt0E]-4oZ,z\ >3<r2@J2L&e]WR3J_QڶO瓱t)q]~orzL<]IzewS"#l{R ư(RΘTZiY]^QJT*ET ],(n'iYKX1AL]$"XSYH(ֺ0Ƚ¥rdx)Fb͔l0 $]YqrV cne 3x@6G`}' M>^+#}(@&2ecUHahHyӲ6*-9jLJe+'x'tRPiRj5:({y57"\H|͊6UB jkMHHhdBˉDpN >8oZYN0ʹh)"Hx)F1˅CF1R-Hٕ&"BU1\JG ^(3G &OLPτ@A"GW%3͋2Ì2w)K-V9 p۔C13:=cOR9\&RrNQS?gN\ה2SS_M֞m\0;d5.Omdƴs8-% hMtF4QT@%܇R!q\HF(NFqMOdɚ.V2aU|+h"(C 6&I1GSj͂$"#7Tr)VDFBF+UeͪhFJE);,w0bmgPbMT8j*&j7^]< ]H0$ڢ?w2u=DCt R4eY tsLUݕ*\1ֶ2GdN]Q ␎d' ZL(5ş4 B)[ P̈^<:^tQ@hgZ'-]]㛕/r]wc)USLer5`' `e1lnF ag9~ 7YO??2HJ("-KW {/qJ+E$]oMڮ䆊wجE*dһ= 1[HBti&6'xcWn)#q 2xiH5:MĠrC u16dd2U(g/$m+$RF,@Bj ^]ZLFZa.^iZJo⽓0r\:fÆ3̴s>|u:e@/jWUG vj3AJ:PQojل[TPl8zLߝ9[tT(jf@Ȭl.SrostlY~t{Ѷ/P̀dWtrKeR` VqwkSUm`€OI}Mfug nQ.!R~a*ez. kr%kjU=>+lNH!(i::1HA7CP!4zyL;Т>fqu idwfcڥRy< uP(.@$,x}jLU{^h9 kxV8|>I ?YK"%z{{@ n4b;͘qN5ƀh.9Tr&vSJ"w/10pSVB|*w -{$F٦wa:Yh=>JJhBx;(4^ Gd4 WUҧoe$ܜSj_<ֺ̤; go87} ф!`KUgr5>!H+f[i~@4Zz?r]p FeVlJj[9)u<=#y%Ooէ.J hՎK=ACYTMC1}Un"퉏n*H6>Xr&s@ 2UJ^3[:n5F\$UUn~Ż^m:uC$gw\ZxmZ,g+S.`F.u܎"ul.WgzD2 Op=4>dU-A"p=2nQDiW r]y$v+SOggS#I*^ta)CGI)8898:8AB83<;V#*9&l+mC~c{ڪE'!iԶ x HHyw:G%+@6L,8C)A*&.&j泍!liNcy'%| :sF~hbeܧ;5ZbEVEI2a2B ŕ]L DfHE%ED8"2Łr H8x`($!-eEFyKB1 dhIcI&Ll4 R$)l ɆI-@Dn:+Κ9 MZ \gY7߳ 5D3#Y#8^D`mS챼̨tHȴoPDt>g?^f& 1I2Z/foҺ 66ktj`d&oɠn[)+F2-Ch@aQJ>.iS纺ilٕjtPތjT erHRt={EQ,DIFBȈb!#ǦHa"+J2q&&J ]\AP3RFtB$T g,2ޔ3&qH8@E L!x` k5Lf 35{!k{-kiif}\\s 8{2p/ Qrv.]4[S*e qOMY,(G⼋hּ.^p53&n[*> xT\'|P/DXH%[Aq6 pJEVUV+:>Xf EVXz=e X64z-:b7:¼~-#ӚhKڢfLAt(va qThViA7oABSlBuEr-'cGMw8'\NiMbөT^^V L Tt?ݓϷR-]}ݖ^Cwc^^\Vy[|K V{4|pN2JY#dhX.?.4!Bl^v׶=O2U*67ߌZ Bm7YHt4zŰQy@"-c~'e@9=eUf+1@ftnjqT<{8o?O$I]?tV Ly%-= Œ}i"|dr/wg'J ZE%h<} "RpX7 %&up[FdHS.VnG!U)\J{BJg%@ϡx/BP"ڨ ~w֘>9#'r8l !`ON:w@^+ͳYF!BFX٪ $58Y2É P - F2 %FazW߻1:}|:R?F Y| @c-6 D<Bbhe[K+P@8kwd!udaIܿn\UqBN a";7*ݤ !I["Cl90x5Lw_i {5GIx x'j}WLW-W ;u1s$ViḿTi{UoAղ׍ Cl6CBΎoC؁ <uT)3S+'g6! plr>^+V6m%>@{IKmVp%?Ū.Ej7I@ݪMGqԹDN$dm+}D^ʲ~|Eء,N|}c&bi_+[A cwHilOΆ7IFPXtZ3zN֙h P>M Uô;Tj%Fo.5z:Jv {K53VcV%6S*RMEn)9?|T=iHJ)5v.w}t{Hr2>Oqck_8mC$y-=" }+qlumCQ-EFP !DzdWlupޛ[,)d٠F)-*wH"Ռ(eq0(t*L=@ d' &B2ubQ* BaARZS r5A+mUT[1 k#ך3o_`sMEd &UK@K(a#+˧Rg"U(n{=?H"5Z4jg04TIJsF;D\f T8imK<螰.Gְ!!F}Bւ X/22 V%n-7wR5D%jTqf&Zqs,mddȸQyYeD|L5\j;,ԧYtPOS͉T,hz- f=et4NTIZp9gMA:8-S-*"F^U@"R3cYj7 )?-cilsOR):(duo.~~ӕm3׵|\ *PY[j_4=-+U+Ҟ{*Qw;j&MwkzLCprg0蔂`a{hu=KNƉp z3J% e~; {ܤ]KfuNgοP} EE=oZWd#5h}h'/ ܊Uy%5 @ECu0N @mNBR  @jq V:77 >HWH䇛)aZ ݳIR @ⰞQ &Wie^bJlW$ ([˟# $pV/WV5F7cه`vd\?]_{|h#>p* zR[{6%Bi'6U:+J U=tt'%+8I4Zpxe+$M0]stCԹH!A\jvF&%\;rXHQ+Iw&IF)#e.Sqbt2d2&I&Y&ȸ)TGJW ,=Ww*\1hEZ`nФڦ6ϙ«ʐ)22cv432 W?1Nak|E7/H$oL5nP7=(k[Wi孎si|$>^J鸗k{nET*E\h0-Qɪ+')Ȼ ' E%BU*2!\P -W]&T2MS!)܈R%H]$3*"dxCPYV 0[ɦ$:kA'ce; R oe e9: aK=8dbl&u5#bȁ#Jji|}o wQr2#U۩:ku,n3a ltS, OD#lWŸw$rPuFyٌኙ_N=V:ո9L"& m2BȐj<&dcfPog"]T\qlFu3ͶOggS#I+A}#@E=D4%..:D>--7=HC1:}gGRkɛ55Un?`fu)38K8)Ӄ&/l]ߞb2͵0 Cz{5dlv+AH:VCUFRD9rVBdyIQ*$"PhpE) -@!#DAFQoS! jB ȉ̉]MaM% &UJqLUȈaʠpJHN\ܸLy~ Ι8bzs~Ou^ץ$&~EB:S$:H^6d?@$=Kzyב|V]ciUc߼{#[rNîQe *-NSDڪE!˅YՍzI+'TEn.DNQQРB66>x-PJDh7DUBVO G)jdnE'9pGC83#ಐDrHEiH!lM( 1`yx5j6 Lba0;cdɲ4Lu[根KK ۽,젵-TD/@_Ry,{2`^*UUV]:̸/yvg{ts2 i00LP@./(KwR9Qi-(GnqJŌȠB"2H8¥\F@ɯ \q\"Xn$-bC]N-ȄC\Hx`XeW\Zs u &F @bn罩ǀT#p΁3⚧^2( IЈ@LeT͵Ύ| a& `j*[v%o.wvX{c:S#LHO_~}YǙNuT$ݛH%4JBoxtޞ)UolЯ]2ȞJ9&RN @T!mdP,RtQ\#uۓ6ȸ 8nW:8,oo=\M  `)\lXXEp }$! ,n\n2u[W5LW :4dG B҈\G_}jK8Jliso{VK{fBd>]j9qGWElVٌˋbD,kZ+,S ?PlF'$R4}eO~BRW໚v+Жnsx?#Nt⠻x eJ}<*r5rԎ׭0+ݻwSwؽ׽he lNaUӆѪ=F-$(* @ЊUo}COvF%7b<Ju0o P'RIuE*>wδqj=>%ɰs..⮷2q@LӶ>7nbbZ(oյrjl}gc'$X7?(s[WIY=fRjK0z{4FX\"k@j!ts踓9}.'oWbw6׵ęTr'ž)ެ޴V{L-۵]A{VѹQ*nbvCܫ+Mww?WVݩ4ZKRA}l1ZFw #?mwLk> ^2KQՉԶmjm۶m-],OggS#I,1C%JS2!-.69@B69<8;<;EL6%6:Elz#/1ԬuS?9KFhY_R;zyH:8tzT0gnlTի~.*ruȈj)6;n.c۔2%;ٔ ѪU͏ #m(W1nμ}-DfvUi]nBɪiRHYΞΓ\ݎ汲ly&Yj ۨD=8lx`6=" –h',aйnk5Oi]<K[lxň& 8F6öI誉|:y,$ 67:le@5qp֙cB+ߟ}Щ[3ڪP> sks;*szW&ł SЉe2ӒQ,nzN.z5!#kNı(h.*9WhV\=\\N.onF\F.MPQmo]N"V w\ZNi߼rŢ ejJBu3Rʽ#JSvOZM_"i3/oکXzR)1l' @iK]eNKͦhA*+ XE_ޛ9$y#r~^;dnݧ.ER7U\\>(4Ρ= ա"f~z6=T)ֺi)SYMI" XN:! E&0:g +tT7 ^D{>K5{艪 z )q`IA`0P !V%w?/l5o2c `7ƱF9cP{o\'<>s(CLhUHdx=:5DHU i'zS䮮(FV{ɛ23_׎I֯};elp]%b{&Vdv-J)GAņKk0©0+vTپJ0ˌJlVD@H %0"l+d5VE% 6RRN{CAr^ي#WU!]DT`lS^f^4)o+ QT}tfESYbAo8\ٲ M݊d5Jn]j0Tc3 H8 5 |FaP MENǘ$kM<5vn3u[MuLDVovڧe3TG*̕Q^>eR*Ry/FIIn#ǩ(<2RT+Yeqʼn,f^Ca!QU\.[-2h1{$iDnSP@ z\lAAVa UmJMfJ` VZcPd ʔSi8R_kl,>_ʚGlrvK^[m$ƣ-cm1w95T4NX7D> P#E+D*TFF$=+&w#V`!DJ32ʇ5c/@[J8Cec;-[_o!\gd\X6Jn&ZR饒4ޡӵt7K9z}jTd'ƑZL=!'RjXHqȨq @pM2F0"KRLqYirbH# 27"L"˕ dV^dz(K.g HaRW=KB"QڂGqF Lt%$lP''Xa@:8M~x_ ݟavޜƠRw\2( R\P VV2jUoGjr9잷S9F*N/gtPof+ݙ屑4 {3 7 *EO%8Pc&pIYQ8Wʪh!˷|eLlk@LJ2]_EM@/s'ULdb{t _c rzTX,ҷ؋kM6kR `7.UFv[ʁ f{~1$w5ٽ[h.:{w-X7o{.Xz ac;|t%f ?]mdxT2eYhTzgSs\Ux4 spz 7@cH @9zpCRe!FeRaTD!uP)3BLW3B T"$sqn钶t9!I9[4BYp@shz)w@#/l j5 4y7i/PNLfؒF20>LCsݪ9h&¥}"bR3OL)WRcr!$K ]oֆƤƢF,í[vB$7|L"p Px<%q o^ڵDBfy$]ԙ13brO< !2/Z p5_z?J|BTThlm{a*~ǜfo5ZF:OggS #I-+%?ADB4,6F:9::87;GFM8/!9786ALP4dEZw w0=!wSb1SY,klUEY.ft4)-+!\(RaU۲jv=wu1UmVo۶$N +K:1@_Έa]HU+鼲@?;񞳵iΖ1lۛu#gLRmvb H)ϾveH!LTReZIuG<ρ,Nv%yVbOc*bun}cظ5ZW8uQ+(̑J$QOv[Ή٭L^FE u\Ϥ̒Hedj5bкo˻pVo"PBOe3CNOĺX$nVEɌ+ ϖF&,=irU7g$2""T'+ z =٥uCflo qXG5RjHSzq5*M7.q (~<&$TOtձ秶 ԝBPL%J)yٿǘko~} 7t&Y]|W'"EjiCRz3\*88ZObudddVtœ1ukJi` YCKY6V@R% tUU7̕#RDfb"gb7LD"7%f )mjqEKEojȵ&ܝY$(N[9LŔ(*5j%;z ȹ}֛{Ged~~ x&6q˰3Gfs=I`Sc}HIȐ@)7mǖL]nf7eJY[wݾ\=cJ5$MϠPBv>U:r*wr{ȈVv!z ]buppӈ MAi4&0TGp8Dŭ**7@nb%+)7m1=mSFA1 J)nfzbn)J\ȸ\ \9"W!q#i*2+ʓ%L/Csd%]}/]S} g0kO| 6c@ZGd;VcT:פ6xw˛*5#)޿x09{L޽d*ˮ(D%F/i1\5q e{D7L":{kzĖKBuELzG2>@TM!#T`RnM!:ŠIM*QB ZfJW,dGb!mu jVύjA DN%%rQuU{4FAF52Jl dK1V `/\ms,{v܀l~S@nv7)fъ ) 8SpSq ~Le`NL|M7!15ؘo7<7W,&Йy{.C\Zc*|m"sTf龔ְdt>k@L( 2ovZ QDt#RBED]P'/t UTpDC#x+Q&1n6RFWWыf 89qUTGv KddgRr`Mjʣq)qSHY<-ܰQ2Lά,5Ӭ"0^+3Glf:gʖg-5c PaRӺ7TbGt0Xd@a[ŭM./ ҕONT 11%Ž<8D΢b,V0ԷVWIɎvBʒw(cEi[%9Lb`o5Уx">+UJ`U< >#TTڞnصݔ=w:qQ"`ZG-[=#lcZ$?pSY*jZuetJ*ȔQHrd5ٿG\,6 6";QEK*$BD*ʑD7ozִrgMN C=-m!ZCNz(-F.Ҵֲڒu*8miA2Xt @/bФF]0MkujWr:\XՄ@ n- NP`N\LIs͙Kh߽mۛTZq j` F@'1tbګ.}d#ymy{[{Z{Ʉل4: t&@0"<iyec5˺f>tfowH؇J15Ch͚*tQ߄VpQVgfRmgXg-\j2im(MȺ; 5m25TDmFzR^*T)tVnasu؋{Flnۯ[)rvPT޽O%VK+埲MgMT*0RLa !G~ǸmGT!mCuS fkd",l6[+:s5 @_@27~*z*,gɬ'ID6Q+sOBVBH5&CL)^aWiŘ.NFn%S [ɌPitnRd)Z767;C{ 6[݋c뫨+e;:7(˙1+.0dq(`2T+ʇ.5JzҹWܜyMkfac z&5kmtE$feϭg7E LzD23R^C,ħbdgkdCQL@(q&&IDJA(V%).dqD3˙ɋ}DhEAT30YBԛkz`2>3go,Ov4} +ՠr [z&N`F [\c~{EvSº..6 cv )Z3pxȴ6r:ցp3+2*A|Ds`}b^MRe*W?y=|;iK7 uf:n9I昇xR՛\o`BD"VGGp+&#"3)!$D*;G8 Y R@8*zE$1&2!\PHQΏe`lʋfȪhypn4 TERhݴ̊"sRשh [h! @^,V-f ×L=ko 2YHB]R8Fw9:MBDDe7gb4k[[HΦJ!* ӛQf5x 1^9(A 2 $?pSQ$Č?67K92fn#/j|eV,FQgYQ$WUFѣL\Fg!d$KlS&m4پ$isf uzpr4?2-8bʎ#7L1FF!Lf<ݕ7ՕOggSF #I.m,*E;;CBFK08:9779?;E>189:><8@FF9/c-Y1 q84[݈H2Rg:{N޽ 4Dj\\5@O5%Jf4ś`{2b٭it}IlzUzl6 7; yQE">Q+ic,{g~=^ͭYrSdZ≪kY`3)lX1!9궎qg}1? ;4j'@ֺ{݀eDžc/QԜD9@U(QxwxR &fF4HW׫LɬM8Q$=GA23hV !q4bXsoOFL og/DمbQNunљ7ըZQG.;E:ctnBEF*G* 3=Y"!ؙ!wCꞈ a,d)k dS>(8BRf%CV.L@V.0$1<、y wwb-fx%lQ܅Z/ v7y)(dLBK%x cC f-PqjU"_B#K%kl<7L\ژ,r(*M6 jq#-I@o[Mrr"S`g-gˬayL|zr-=ڴ+"AP<#Rz7**ca{MpmfmHnFU(#N&Jb (/]ε^ڝ^JuC`-߳xé j[hU|af<}-P XT,T 祥]xwoԻ{zZך|+ FHS0@VT\Ka#+Qj7=Yɺn 7=9u-BݸxGYWѤ,k1NrwF 0pTͱ0 ;W3fH;W3@j#M=3{f?0vE(DbhTbK"ӑªXB\ i {=f{rsvUHKmDid}$v)* d*=E:ǒ^cTV(sQT@؞s~%,"@h&=eb D̗Ncbh=Y8v!V`|H@JV*+o{!T\\yȐXE)Ec͌U)X 7h}6OŶls^ٮ dPM*Ɨ %"Rm-/'TEveefFj%>QǴެobb.JAQIHD0wKR >O!H%cl OSn]DSdiN QEsɥ3;9Lmm Y8닊aj\wT@6b܄[wo|ڄ#KRCXB)t Tք+DȔ̍SݙV+'AdMqZZ|UʘLU *-CdQ(jgƍGL'[Bc3L@S=@i>I*5=y梙 Yu:s3ei[q3YꈦK2c[$?A K]5 UByQdrdݻk향ɴzp:E%KV_lWqZrCQ9 qy1 p\^V[yݦBF߶޼c~=.ڪYǥq+Nf-"}Y4M4^Lzo3+Igvi+xQ~߆u[հ `PFw?̼+vլ6s.'CF:Y谔Z9j.틂,dR̉XSg!d_ȏr5(Ť9@&(\:@(n&LxXinbτ`;p$Õ2[]3 `C`*&5ҚAkma^}sy e$ 0n~3`kh]G\;>q.űk6tߐu߀\o*QƬT[K*!hhTGEqANC-(Т^D*rAV'cT(V92V-(TE` @\) Q/'RVH@"bGdH/gyJIM؞dHWQS$K* *8FM^e֠0kXgMv98vڬ=8>{  "VZ+B@Ľ)y[\CCϨ!v.y';lNqN[V`Ab{œQNJO)&dXYMf.fj)e#`i0BДʼnNPh]̐nJDfyQJVK 32+BFzGvbc&",e"LE%@X{DXKͭH/,Ja_j(d\a7;4rS;˾y܈ C OggS{ #I/7$;7@@CG#":;DH(*:U 7 dᾈ )]- q(Th?a+/ O2?wIS]]tu(.vzSjPy@~<w{+P1f>nđ-済ҴR&$U`AH\uj4=qdT7.#&jBUgjZ\Ts@xҀ@/Aܶ@Ւ"Mfj\n3fd;5gM"tzX8x2ciP/6(^ 졗mQK*pT!o q kbZtq¾j|$8,r\V9XzӜKWUwن=z3T:%c&6bp'oM ࿆4P~ ץ, ንmkkQZ* h!5ڡXD4bq  mBrՌIL'VG~z,i_޾=:r|?>ϥ~4Ȩ$~_i=-ڍB .2^Bѡt "B"$@$YѳB!$qP82L@*DFD&#]YU3Flm'Ri(ITAU3@jӦP@\Hznl@"tTffc<Df/8Jfm3ʑ14eپ:N@a0꛹<ӹK/0dj*LiUd4}@hPNo|f61fR&_̂^ғ%kZ=/Lθ3֗vz/]hܥe,^J2zJXKB".:^X9.bNv$R"E2K+T0DFPT!DGWSDH^%RHtXqBJS`Rx ^JJAQ0PiLhŢ}m -лlgw1b8TPub@yj ^lGOweg 18DosS?ҐYd"%Щ7["֦ IŸa Tdl=OPTb3rseUaedZ%%_R 9Hmw V٫aAP*y6>oO5GeZ vV}& eUzS^Nr"s6J#>mcbƛǶ|nWZv-;X Z*ȉi.Aɔ MSMw9nv)`ƞMYm`ĖE)kmL5.ƪNsv֜9|(\}A|u\dtY 5rGM&*)@ )H%`S繖u,zV{Rʬ ?VG&rHTrW˾}dFeK%Ӷc1Ws!uSm0I]kf6mo6m<厑z'\9!lS2p G{3^+.f9-kw G ~ʠ%\6G 12 @0VW3?hu&kUki'PL*I6M' }CQzw* 2V(rm KF 2YV}$rdJb3dє$O# !f/lOM%2(kV"w4B*Z`?3yq4itBM`87@V:ȓbITzS #1AbFpHJ*W@LJkAW+iXǎVCNmo 31#?I*ɇbjJ?V [n8AJث J i)${ @됄F+E^nhVhCuqO4#ֿ\+zO S}C].YJak%ΚM̉i%t) )fT;&>`^;>r3yר73CeNoCB|.Y{(&SÓA %&qs*](%;[^r2{IJl-52d@d*q׍G(CRX/^ 1˘K;9:C@JQ(>9jKJpW~|vm~'cz_^G"h&\W+ !1LUh dM//o栛慖ƌkb%9ϏS>[)qOo^hw԰Dwf v~+{: n4qY )" )SDFnc/|=KqU 2SI'4ll\1r)dF^1BnA/ !*>jgB$2MYb9YrK}y.# J ll]^lɗ9y9NY&-"_'e >S7)dMBM D12 )i3w\;D HOb)ɐ]ZRЋ202w^le0LVȬY n]'\&M2$2[S@AI/.5)ǻȋJM(C7iNrJ†'\7`7s($:{M"7w> Sэt^ywaVj4K@~(o'" ** 4||0t K0HP % e@l@#DCfTG+r,C* .bNR 2jJ-S䒅 *+Du)ܐ8z̓ L2lcl.A(Q \g0{kB&̋(0/UFc+Yp >ZL KW.fbǔ Unn.H}_kD`GRSLeZYPy*zqK':zfAO[ |Pg%ʬ\Ui /:dݺ.EҢ]#xXY"#OH9#!@hbI#)}fsvM2جzw` r+*EC}Ie 6H;0hyc'+"`2$&/{p-p\]Tcvde@sIf&.Vђ.jܚ,dT Ր=22ȸ2JEEeOKFBnF,e_ V QENKDH/nX 2:3S+Q,.VrB.W:}1+ ])}F FW "LˉWK߂$WVq}H  hj?# n tpG{<~wS@PJa{5n9rs Srs?[@[Ҕ$GODubg^ͳIBkNæ<+<@%Cy&mբFO̲xF37-Kxӧ,52OB~RђYw\wQlSљ] xh44zd0_ttARTL.iwu%*ɲG^PLͮrmgr3d!RY$%f]a5wC h1xGUojFE.C,o^t4Tڬ&W(J6fmO7ʹ_Ya) s.kڰ褂1GLn(soϮaTo".2؈*eW=ٳɝ͢=X, "G\5!:0h3>d @XHF+Oq.F*g"g#S\B˩DhWi֩"iAWtDFD yQuDbS8uͺ҃C[ܜL8h~KLT=)bF)+Q[@_wܛ z#pFPp$j̔ez/d:Gy\zY;< ?C4ˤkn/H.Yq彙(9*|t8[$Eyӹ\^ Q :B@8}D*ʰr"U4!r*I E  dx2 Pe6WTG ),8\"*M`AUʊ8%@󿦌 ZfNod m ۓeDIIxY\[/q 0`I#qЛ0FxB7PU"kdj)[v;l$,魿%JÈۮ{dOF\>b{~\ܤ#2 *u|W^ :I}?ZE(4gLbDPQbA-) u,̉̍`3rc"JqdoF',;F8#I o0J= sD=ڕ]HqX.7pk@ՉI@s".RۼM$brl,ܰ7Ew`jt:)bX+*dl/WRb잚i.fDtǻ6S=Κ~KeK3 @'EkVһR9[w%nkowvޘm'HVc?ߗ?g ͐5c`\92>uoUyNUtՖkjz52V@& 0 {3I"ɥ/RUh~j+fΊu_;nHgЏQyufbn`'wӢU7SVyF sSɸz,#弌evj#dLa:YFd1feK\˞3Bw'>g)Y|*MOu),==᥍璼r RYME-j'D<͉$—r,-$؍ \쇒pEjC\ 埜z H3P22c &[~aVX^spKfc6 k577l p\OQV~3< ym. Quih_H*U[k7fj~ޭmgWcGjlK-TB8΀!Wv #QIb v*JE#`V>r fdEY0=2",7L&Bdv)m&n-$^uFdEA!.;eS7V !< 87L6!lbb&i cnuvxI0jwlfun X;Jv#Y.THRb! ÂMAĕ7rw,~î,e% Y,,) v];q{;`jZ0=ЍK)#E2܃C"{+ {3SJ)eJֿE0H ,]0KO.N3tHcW~罓*-@˶V5.DZv={#MVj'#ԐqDDq8B-DN8q2 *Q-F$E\,džunr 7ť׏T"RolzMul5@ڽ^ʤ`47 8)/4h=sSjgSC.H2xQ!B?Q-{UlcF O$||b +r͘[EeTPT_WI9s+ɨJTtk[t2*vahvb0$d >EI2 IOg  'dIٰ 9W ^ )Nr`(Q۔YYI#eAD,83r;7VV åyx7u5dZy ޵.df\&:B/{-݈V;؄Kz> m4bɳU!^M;6Re&?E-ҩcΒԷry\)Dҝ%5mܿhSiw㕟.zxdZs~_h!:8Ju%mG+d%Ze4{-w&2NEQtE1r6+WBe#n"RQe ֈMYO!91AF#B6qg⻉=EVu: Da C2W+Grr^<Ncx3wLCk{p 8^یFZsU $Z!)׻F23^ r x-5SN}za} ը9EW(ר-٩ZCջNFi**x%*B>':jiʛB_L'Bá5qުVMUfjL\$vŸx 0Qad|KUo)/Cu،X[Gy/i%0nz w4qX,[[)]~yMxFjp7H99>LFZU]-5Ȥ[ 9 Lظ !p36Fbq5=>lOE("B*f3K^͛aB%uzkc"Wφω%o3Z&R=J+KOuLUk_ e\d]ˉq!1]^;,osNKx'=v|Zb"Ȩ) `]\mL[v/djogw^&Td,aksU}r\AR'zr_&yT 1SVe޿_U&G랉GVֺJLq}<">bdPy5u.:@Uz_6C VnScS<ՈLqz/EJ-Mঐ67H{}*Z)/a`,^v:WڃJtenG gΉEQ뽳9/5ǮP~F0gt@jU]I>)&қއY!em0rmYݽAll=2gx 9-BՀrf+UVđ4IG)`}I"RSYY^]NJ\O=II> R.>-MA:D$k8[S@G *w@DuQrEz9btv6ޜ < n I(W\ HBQXl5$@ P8wDE*|Pyl6q6R&-E )@TBfUr97n{Z G)`Zހٍ! `Sk#WuiIZ Iȋ]`_ ^Y)rcjt=6)ǕoOz2WWs~o# u}eNT2 FRw"Gr)Ym6 *=Nv+ <#(e$2b}O)$һ]bl`O=K)E'*BfUʈYJ!ntd}xx)'$F[H51R(1LĀ\ϻ Xؗ&$Yw8h`YMkS9AЊ֘>W%e(/NڴlAp:D.'~eNffYE(ԳLF@}\r\Qo܊,1}fҺԓ \2Wť& c/h)ʦT MݽB ˌ켘g3f7)P*[m=,0/$cQsFuȹAA74Ìm8+lV=w,F|^ @+/6j4JXkONuT6R;ʗ5tz88̍NJWܦG o862V;Ɂ=3liSQX}ŧ箭;~O6v׶j |Py\7<ܬ˹T~ف_8jNUk L QcЛs䇸S۪n+7ZV{6|re*vRUۤ#:ϟuH*||>x(J m){o*mSP։Hy` ?Npݵ4U PfMz8QTinͺ{ޛɨveuwOggS #I2.b~(<7A8:9B<%3:CE3:>==@F@CE>?=9@@z45EEiiN_$ X$o(uY~>5e+=}smq]ϕjgd{1RkaA.έjSzxn x 8oTmݤJf##2"EE5*Y $ ",2Q ;4DЄ-%r ` nbC1S8ȶ3\KA^$| d6" 3r+ ɯ#r7oʖW7b23AYld5s!”;qZ`J[10Tԩx5nR!_S{#x0&9Y,Mq'?N]޲' +4msf͙8ӫ͔Gn ´1+2a][Hlbk S2*۴ :[prBY+ ,;J[= }4F(^N:OIWֶAɍM.b{yR^LXjun7nV{M6|`4iWoQzZr^w,;|d]r;sQ%sS)m,^љ}׽6-;kYcGz͙OI%1TQgFo|d.db)$ f?o9B-Nk8|ɘmbz}Д4]f]~+PyE=]ūF1[~36U+󚴨hy=Q>H8@]BHs}A>#N #U!@"$>G B¢v@0׹!’M.)+Қ!輢}7b2(YALZRuXz&֟8効Mpp 0'$Lw` #VvH̙}eƫB3@Ldek-&$ BxWgcVe?(xc{ua Vne#czaZ>(Yܙ.(eٍBE]GHsqYN¯\XVy!WC YPb:\!!qdvB#sM $ܜ74m|D9G'gF [C#Ncʠ۲'}]̍EDbv4ݔTVU.G/Rqp "yoB/"r$7!^8lrf/\\dr#IY?3os(iќXբP{,0nƷĻ_-Wa/۾'nUUhUG^73U%n6f#")zucsCwoו3dDՠjT\x}W䣿}7wR+=瓮UEMK-UIt}k@>3|7{\ɕ%9o"K3z#PLq0 \j #;_NF _~O~ܕ\Sw1RfmkD*'X9} C f[Wa%HFȲ,,l޺6ֵut:Ţ&B`#C ܃zRi juUC]G=CFAޫ3O)&[{~rKu& myVRe`@ЮLsg;]my6UJ>?cg]+2RN_>4]]33t7MNSrT3BKp)d6ZPEZzo*qh1Qw\ܺ]HQRqB2.N8S(VM8)DNtICa@>r/ ̀$rL%!Y*ŹˍuD1 rFB`{d %~;9`Kx `o zZĊ}l  ێ`:P&uJe@)(@>+3+vd #b VC\f̶G a]w ڰ*;H*6`f\:' ^Mt/)Hdss e}9t4I'2aт4-9cZ,KRQ\Ԋ:Cv+Q A^.c5齰ﲯ2t%e CȜjA`)f/ zy{B5^W%Qfem#Kw$E+*oT`*jk י,Wnɯsg75B#({E֜KyS`T5R "NƎ {+V$E=%ײKь=75W[3;~ڨki@3a@ |d$H5Ϩ̸bDNAV齼n2mՆՖj8 2NK=n @]4tpI&)wc=f`NN%E[cT㸒J䂾/*QVL=u^rvo/yv' ϯRG? yy7Nf3AosD>ܚګ򉵯' /+GflBBp!6&BdJ!y.D+(Nq-\t #8[hk*pFrzs'nXtu rET+W ^,뿬ZطnwuOlӵa 󛱮mf#g!K@MSPP ;4amARc}|(ʬ*sk+KOv?tḉ+W%+Q$l?eGVq?t-}-T nʋꁜs)W*el4W23~;/m8zi,߯ o)|ZnAK STSY+Rݟ׽IWvMw#lꕬFr7G?r$@ s DrIW.N1> *4)J(K9! "&l" 0FlCT7#9&X)2mH"($ 4W> EȦƥvE_O{ `2?a`,&dZ)^&-4w|>0~h@|8b$YzLe;fYбVH5zoZMaZr6Ҟn{x ޸-I%2tʐT*$"|k_eT.O<*d_HzKw$S>|dqFi,WRlN?XEeR|6e1Wbyz iӨjf6OggSA #I3C"@='&'5;EE,3>;HC@*G:DL~58J#AR|¿jkTH"zYV\sSlVOl[]UwXz]KAW M"@ܻi;rF 0oԌMD͞s_v@_:zh?n~ajuڽ6@ebpQ>(tdrM_iC(v1sBVdy  J+lj$dWD 7J[")52̦rCEΉ***[:mP E=Yn>"\H˖Цx#v"Z֪yV2eŸ390pǘ,6Lvfǘ#ݢ}  XwRNgX$W';o 0<`adKTUhD$BWg~Ѭir7R l؋}\#e&/G)j[=M*"MR@8yJzl2Dg*Tu\i Aс([!ZvE';s dU(fdRIEd(L2)@1Š,ˍ{iQhXG{o7@ 8-3z ] 5kJ"@4yYc`d3lio=' Wq;WJ}C鮒-pGmqF^䴮XFR%zpOFq%W~ֺk}BOC3XHtu@uA S߆6iϤ 0ZՉTUmW1s=):3r$ܨ2+a[3`"bD1J XW.Wzt*tBP2L%4UԒM "Be( –6O7fA[n1h7tT* ϓLo,έDZ|֊55ǜm:@  WN;]TU'oD'{|wZUI!zJ9"Y7žMUt1';D7M&GP-C"3QȌ-9Rf(tr WKT%R*L˖.EK$.#$툶e"}Ѓ`8 <%`5Nj‰P6m#d31pDG E14&~y0̥d `jjʎо<щ{SC/օѯ۱ě煊e!BP29q}6rQUxsktR 9*kJIhtN\>-SқƠQNq TdCTU@)7@[p= B64DV"rYͧT̔2\UH"bEV, XHU%B-e%vLfnjI>V͵FUβ5I{ʽT88|\# JIlYqX$~׻z*$ Id|3\j35q2%bY~;*+$n/f!:/o:bZܫ*rC:,DۼFaպ+ڤ)ED^ٕ<ПN<(L[g;bS3q{"]vlzZkTh1( h˽HP3t~"8\LHJ[ {ç׷:vzl}QV۲+fsGjD\#%scw5ښqqk㕋4ҙJWSvDtE\$ M )ܱDE% )Vp)"BHSQ+fbZ @$* j op@R! à2>"Z)igSFDD]k A1d@Y`h(0Qaf F10wsV8ɢEp\&$A)cvBQ m k"x#T2SLL"–~ട17\q.`.9ad?^ yhR^D3h5^ū:ƻ+wY.y?DUWg*9#*HC*۲:q!3S"Tr3 ɚ:#3ti8րS%)e*nY %B!'JiDBf61xoMőd rbb\iuU߃}M ^Σ)&SOl陱G!d,]Uޢ|J?ճS@]òixY[ ޻ݻԻwahXk\>Z^S~zkCAIHN?!8nK[ke l[/L5U %7,W.3)s:8) aWӱ?sp(SZ:V:́ }o`S;Җ9>N~gZ+#fw5!BP@-ՓܗNT *-ehDK;֡T 5fctWi um+m WΪ\=-Sq,;Q!Q>22i!n_EpX˺c+*.c/w{f[3&8o5-n{goUf!g oݚ?\Tcj38&kߠ7<) 6e@e!z)Ib@uaܝc7kr*TKx[iZtK C p,w6 h ( wX,@ ˾{`[gwzbxNvxQRsSvISH=n8kt6㏕L۴whkvFd[gMkyk)ɩ&]Gj%̾jY5uWvX4*ׯFqx4e8t5H6uoHM,zX"5'tnw'|.s,2(: raԒMXoqNCkICXmc[L|t==5c6{oZe{PZPA k7œ: ksӥn\K$C['3gc^_: 4|79sѶEZ^cꑤ=ܮTthj_ C/|;+SKUųj/c/oei3}V Q)V%rVl̕V?{Ҿܜve\X=:.u8basS; B+]~,NVOggSs #I4(X-+&+67=BC05;9<=9:@EI4 ):6@>EF\Yԏuq]vG6ζU7𝎹4X)2׿FlǖzMk`_vyYzH01wJ8|6@&H/,O^6%9let_̇ӝDzZc0:,<:2+m"+Zw$K{!$p艜2yuBIڀDuFDŽ\%/Dq Ė\FlMB‘S"rAyD8Ut=m%CQ[aSW}lF3q/Hǹiոf :h[J.`B0,tz=}f3޸uK5IJ `vܺ8 Y< $=Sdph~{'~RXu-9z]jIUL{_Q8{wv(+r0fŹ?jFwA /O=F=%O1*(_DRwafs󶢚Q=uY;. )]=M)U„"*(4xy`ڸGlPgHN%m4`/̈l04 h^nTe02`4">^rS8zJ0[4(X¼xOUفέ%j Zm@R[Ro-Wb3X^ $tLY >m/quLSe s[po!v<=6Ws!El}=?.ie˒}CQ DUEL3ZJ5h+<22Sr F]٫bKBm>$yFu# 퉠](e&^:}:d%I%A4,Tlc+%SCC//o-Dl68nwcyÁ6 pF_00L0$O2FJN>O^&&k̔[ 7p O}6).׉ۻOq wƑc.@-;iX WJY]rR1H7F9d(U*'jBEHT10$AX,Arl!b bA 2+"%Z{W-T,FȞ\T^ Eм)oY`4%h-5P. rev\" &ikNq^>Sf+Z!ŝT`7H86tr !7v "3f\,d ̛̔7;p߯[vZ\c5xX=ۛz\ﷵcN6'Dd9A>Nv.*.rU'ӧ)béJsZbfAf15 a &Z2UgS)Y[T(LȂM+H!fqPJ `u*C̊Ea\6+kLHq5 }t50[XH0&LH~K/+=o/tv7yotIkƃV6:@0l@5٤U2XW-FBìe*P1G-Glz4Q7v\EE!i_:PpDI!6Pe!%g#no͟hWLuO!,c=%/@>YZ$|V]KƞErCEJ ˾n.)Wt:>)TF9r.Tkj1u!Jd֮C(EP*HA!Us˽C=],޺Z]r;7&H~yTTRƸY#Ir%;fUTڭ0аWp9u2rzXz~wدv9'ksj#@d=w}Q,eaXȈb"EY)eE%IB,ṴhQE&.G"\ErL!8cq qUq4H/@&(N'D "R)lؒh9Cn#+󂜙)r"x@S) 1CVP5fz`dnz )-2G YmU [W(d4t5d.s6f&6 SW%HA%Z²#yo@F*Qӣ#Zj*B\XLQ նf:֪lt yuVSDq -'ֻP4=hQtnWCҽwfٵQcoFw-ld#7ѺP=0 ?g߹evKeG/tlmDNmCw7hZZ[MbXHjڛXDSg6K"HޛFʴs^F6 g3/szvm'Rh^@F_fQ^}PkZ2:J}#(4,I6k`W0F5\M)"#!32CUK][Mq@P:"c$3)@ ,t(b 9[$BFQMZuvRɓ^>^IQm7, RZX%^/ 0aȁe 奬#,*qF*yjt$#^vZaրՌg25k p"9VȢ FO]2=$3L)ylWn?jsNc;%q:ij5-%d)̸dzY珖1Jf| ܎,/fIO$!#@eTuDY*ơhJRz:CA jf`El0*#e 7GT“IddbÊE!R {HHf7W"@ O4\ 3`#QMqd|S8"\@&oL4mP26(k9"J >db8T-8rB(%"]aTh+{b Ǣ-Q(ebDfqS[X#KRn;ʒP k`ONkO?Wj帬l̉qs+FY3nP6,\T@px&_Sˬ?|~w>SJ2PE5IlB,t[WU%YkI4&1PQ e.j}gG>to!f/,D^\RP,D1л=-l՞zL]QlL P[9āosjϜaxړjV.糟ݶǶ6V%m{m+ NWT7-TS pX/vo}1n"̑K~ի:ikc׶U-zN-Rn"%IizC|O/ImSaLRe*|j7?5.yCN?ݷuа]I^ԕL>]Dl(ð/ W~\,IOiu,Ogi2#LgՌl]'rI+XYxzepȼȋz\Y۝a;ٔBRD],GϧdFb֓t`f~ ;ɝPq&bHJ$slOggS #I5D*E',><899:7<9?A6-% 446;GB8A@7PCGBPKE؈ J*a0aHfV̚7N) SWL c͢׽#p$1,MD*'mr+Jj%JY/1>׋Ӯ{J~5~3dO3 D~=ÐSrmFfAE:xcLg(%s[7N!9R:#MR\QfHr!"vD: [җ^fCnQXQک ٔ=L8D34 Ҡ,kf>7Hx:iP]"s-am= dcdV獆d&z]L³~"cf*$`- n:F)p mr8#  uHh?ޫ7FL?q>ˣwA/u%7su6 ?u5(ݴt d 77#UE=O/\J@sjL58'@|@1%7 eũ "3U QtE6qRY/̲>MvBR܈+NE9Ӈ0,QX)܄at9Ȍ KGOD;ˡ`v50ˡX 靈X [jHm =n`\pze1Ol9]B 󞼸/(B,L2oFE˲xS=ū k:mvt=aC ~ҬnU<{{(vUnx%RE󁮢z4NΠ&Rq DT/P * - 7IAB 1JpQQUp&thΩ܆ }ATs[u*"epn8ެoJus#MD!{Βbʶo{m饌,@H0t gv,xA_ l[yx)E3S(PD6N: bRܷJaޔ2*5[bj_?dR/.t\>qةkLq/N fWTH;S!G]VKQ~73ʕM1d MH]{VʈMz7C9nfs}g( K L:eb+1)Ndl1n8NőROe]3OZw-9Lo(r4 CAkLYe}/zV{>sbD\n-yO5^ua._,Y\my'We͎O^mKÆC}g^-Tk\ܙS?=]~Ɠ쇸i̍*s6Ä8*W-}K]tХ8"#DPJy 0RW SԠԌrJ6jxH4A|%H6Mg=/lp;Cijmvy;ٵ3vmZ+) E3h;qyS' 081iꌓ_Jz߿v2٧@yccfLSgcj 1Ҏ?)C&4I*8EMj#s~ۨ>=G N-MVQe>VS*Du^\ݣ-*q[ٳ1<3䐸U|8nnK;RgE" L@̛zLUNgo?c8YXkScd8WhAyBNVW>U%FJQ}+t&7妴B\2c3^nNB=$d@cBFWq- ;㒳f`07J63Z֙ZN쭉TTZk6LT=i CZ餩1vsEfc4un Fږ6,[.[˥Q)>-0i2|:%Ӫ#aeQ뎴a<@TlVJ@!!NW"-c1=N푓KsI>rqpwL k*]C*0!$-R$ֆ7[iX:7S64M--A u`FNe 5$w6Ȕ2-Z˵%A#*B0sM׋ y &}E* Y`uq43sٛ2ϫ|U˕ `t2iGX>l+,6]znOBf By1ga˴62 ފ.A2J`nפT=4N Uq3Fy/oo_RxoJmj* "!64$JrC|{p"rP ,) .gemy.u8RbP_ЭwGkް(nȍb%cCl 7\Yz/kpXvkBYK#t"M{2)S{+S߲.]ABy؍@3 ZR*Er̴`&ʥ,6ӫd=3_[dBm ^+jbP į4[\餫2ʙRthͶr*PSth9Q p oc !z4N_S,vI[]澦Zۮfɢ r!_8#Ёn>ii?Pwcxޟ:׮}^kO歫*D7(U,%3f3U3Es>Gdm{[3RטfVelOwlX:vn1Ij |{CA^'%Iu״H~YB5oleOggS #I6ޚH)4+,5:86:FB.::<::@AB@ %7:8?@I>J{ {4 U`_@hYDG`daVڭ -̧w3L%ݝs|"_}#}2qxy!xŶԛqSʭ.Z4D E +K%Z"1-kq=W@Agp29"#b:{q((2婡(NLeG&Bx(*MJId$2ojخ QR&F{IoS7_1 2hQƑaXN?-77#p `^KEIz㙧'sD$c!ԐRPLT)Se*( $ɕ<-*KNj垌'?[?=o?AzL{*JGNa1׈kdmDn_9@u^KzAbd,l2U7>3bDuo"( *)I)]DVaEVNGa6_6pG|Zi@N9L;ݘ-X0Zּg:例д{6G&.[ l? +5\wm|kgo8HU iHi#@M23% ޿? h'C&Rdu:,{mmӏ5bw;+Jڵxxġsυ~?Yd\ַոVOޔZLmAT㌺O+i޴~sqfؤO~&O޲~j%[oNx\͇A֐wTPGfm\v_O?o} f͛j5Ce4:v/4.l[kZ{bkJP6K͋J,͋%X04 !(zjU򯀘!˯(ڲx.~?gHbo޲re@:/sK~vUʷw"'Ǯ]?T( ztR-Cd˶£:-^ܲZ-1@J]]AwG{2{O] CMkFULbعz*fŸ}w@W)>cNd F!>2P[ǽ ͣbfA0Gh:<a4 I$I\$oJUU'dιt Wן<#l45i``"ZSIjfhB{7)k3{q"_@r*/ɔ8'MJUڞ ښ\wk+-$;:ɰ~fN~˦&>u9Wz}sCNds=-z kk'O?}Lvk,V+Xgm~DzNQGxpp8phEv#ڒ5?{:zwQ RU cVظH<g,viʙu乇6lb K֣S0cpIjd#;gv\mG]r}|bA2ԚEtpI P6㪥ܧKO)P;6ёv73tRA[`95a:ZL2`"P11⬋. =<L#te>J+x2՚/]Nrf @gAWU!O+Be֯jKkdgvM:5"ǒ<5jq[NozXgH(5Q4ƞsMgH*I9󪙛[#AtDT8u4`^/;˔*rj!YPbQ-{lf{|j."+gKHu=zLLC^Ċ ;ߑ".`fƔR^ g^e83Trq88{t_)JZ bcaрHiTnJNrI%hISJb+d!ӕ##2["{BlBEF d2$P,d=]bD/Y'dS@$!d:SqbM(JP)n҆tU%T3d5TX1] xo(ò({=`SЃK0}xy@JhRKʙrjƋol:a, BPR@[Prq7 tDa#2RPЏ̾5ܘ=k#O TL *ѧ6P< UZ]T%W3QT[ʌg9.۩71 NKL*S6`o*es^DqE&h3tŅl8֬KפQi fu : ZEWC:Ud2ML~&doS1 ` bVյ4uU;eM][̺.D@HLjaӣ.b%{aeʅ.VLJ0=/ڵnZcz%>i4uG$O͚nޔ007:PK`e,tڦ)εps'[mDl&xb@=+3|4*TƉzwWG pMLUDZٿ_x6Y0U߲Rw]W|/پd#D (gRn\\slz_])ŏ_ %.4cײ9cfZ2֨HFƅ"JPHa,D!(n.c. i 躪v҄ WQHBU71eHE'$Mrt'lt`WY S-GJ9&}oZZgDƲ޽V] b:?W*l8 VޛEUGs-5^qP@!/Gf׼L1++0r<,swp4gq}q@Bo bw7 /*rUF"(ML &JFL=KUQ(Fy$pd ˥T۝&xF4Z7 LLdTG./I@0JQYA(IO|՞B<28Q\'qrKul`ՄS0 -sy)ZvX3 w̾[-P64W>L3 "JжDKL2L[_Mzkvę-N)Uoz=ma.u";r\dG(gա:%nJ;n޴IgY_*oSul@sJTAЕcDŽ5Y[5*v M )zQHG3 eJ<T1uyE5`q,r,.tNﺲ9 %2}6=;/~< oj4(h-T^P+( jZUu(jߺN1m31 !$|P{>l"J2QT2 -]dT,d&#C2 WnVD]M qL: BQ 8 ] 4X#GFB!2 jQT(@+ISSUܓ[%:\tqj\lUf '3WtNT jOggS #I7V7&5+&49<9<;9;HG31;9=E?%4>@HD9{ۘ^du2MJ6?CYʍ%ϩ 37N@ss ~oM@bv}C9Y! J՘MUhC*{ŕ3^϶?Lj?q`f|@HC C+jD^G^TV*DXJ(5TB*GȬpSU@%-IA]D.f)aZ*%Id҄mD#rzܘʅ΢2> %3vɀԉN U'ΥRZ b#&F:El|qrI}LߟO zKA4K%%5qT#sCOѕ\GCN#U( .\*IZH`(;Ti=`KY,vJէ$D )T33RHRK)**`o )tW% )@B&#C6&F81*ֺg\N@̤A`Z;L!09zse0+xMf (ত] oI@6 RUf%o+׿]5f5Y=܋Յq$a3AsHɜoo/`9ELÙ٨ S߬\z(^7ҥ--&]JeL<",q]dBfd$k<+n!%BDdSX VSf+gIf]d= KdH< W>6Bo0p5&{ŔA`f 29JId&)fǼ5%RU @?7ڠ <.bV1%{7eb4N5#&"4H%Enh[Y6l/I2e:UECEi53^5DF]Q lx$S kݳK~4HXjI@Wjl4-rjB^?RV['xxVl7T4dPd "֘ v6qTykJS.Dtb'styLXfsl(…,"2BLZ{Z5\횲n="-fM}ķ=mY3B+YEVȜ$"UTnQß4k*Bl)UY̌dZw{7ΔkVsJwp=Mʔ첬mk  C\0l$Ln@1>?긠id?S U'cm=C)k)uQ`U+^rAj~2LDʨ͍G 90{(TP$ \CF!df% sQR !JZEiU> ?RWfV YA t54\V@qEKTE1 p W* 'WR24랜ygtcKuLVkëss, L܉8Ry86%Uue `AȰ6,@O Ȭ@dlI^WTC7͓7~]7&fUy^nzNgk)$R62:tK/oΓnh _UT!-Jdj^%K.!̎!eJHDuDRKDܬ n\EDYdG`dgShU"*9 T-GnSHq{YB'eqnۖ1C[=`wY-d0(amxP-\\ #Z*c66KВn"Le1"C!lLn-TQzD ,>h Wί| Y^"Xޢ;e9F5O],K,+Gf1͢RI(M]_tK6=[ 4z\|Va!D XUaQC /i Fk.Ym]zY^[۶WR{Df ˣjI`<CoDȴ܌if-AV5kOkff$r: %KN6=IOvᗜ\HZ$K~2P7@ @ +3?1xV143s?";X{/$#A)@ON~(E*66* Zj *Q.dPg^@TCJYjU U:7:t~Z7ƌ}gw`ޞй7j-MIH'iI{`s{3CZG/TGTkN Xo ʚּm3cZuJ J+癄<Aw)Yww߇(HQ$D=$X @ cUY_hI) I~繗}&I& `Yf_ @!8U|vE.e@*,?/ iƉ $pYMesL'&S̭Cd׺SU]nbޥԅ a(4]fIm5tڣ&<TjfPˍCqe1}blĝCCev4t?Gh4Tz'%.Aѓ 7> HFPpJ*^Ѵb{amW qTe띛Szn$%wp4[he'm@pi7ģQ/(7;=ТSزeޜxޫr߽9g/\}ǩg^߽ѶNM_Tk7NEεbDܺbQu'o~jїS*$޳mt}Mz+E1N4sf)`]c9l:e*7]Ɇ)5@tvYL]} ſtkۮfնm7Qd&bR*V -@|#FE(mwtBA1;{썶{3t٘`jVJAZ՜v EZ@ w`XnWo#B̽sgsۛmUeF\j]"Hh@{(:*jr^l_e!+I}k[Y\Ǝ[=z_^AyRXa se:*%}}{G|Md3t:iH?[ݷ}iw`;Sn1:t?|uG۔^Gݭ~Gvf(fz&S]Jܔr"6EL{MVg{VE@xeYڛ1ݛ _$RZ/SHk*ˮ޳utY-aɉNk.ay ?OggS7 #I8&P &+.A?DK*<::<==;BEM;'499@@B ќNJ՜|M$]π؁ oі7 !sUbǦc5z{ƽvR.Qv Aji1>/3~l`[@ ޛ&[_ʦ_Wr}7BHO=xd$ OՄ ʘ#"%pmڦVV{pSb܉N i#K KTqԹ),$Bho4$ qNDJd7̐g!TC$OSXuR!QdDd} -;fr80 -W(Cp@e c7nmgf^m6DS'?800,Sq96xfAA<}A2hQDW@?@91e&  x:{u_k^ a-V3 9mF+仄ŏv7xO!3\K]4uf BW Dԥ'Ϣ hKd[ i@ޗfa'8^]j|DVj&7RMX 'F‚B:D@dvs}YךFNf M~ط6wn`e LmK;j'38 &"JK4I]Y6 \XxUG)S2_Nһ0ڍ`-ɠ#Ts' %kESP^AL%3~gN_Q}( Y}Ygn) ,kP tU}! yt޲!N APD=J\8TYѳd' $`z9t#Y6TFUcN#>'JG[(憸.rљr36pm̜k15wpfp8a 0~LdxI:5@b;,9 ~.n䨲2̷~ٯw|dn7/3EzxCZșAm|qj\( @W-nAI /̡s*3(^V"3TƷNNCh8E|QYi$ "3ˆGB\0X<$q7E IhK%rg% 5jʽƭ_7wo̠lc,ps3NL9Lk- I# 8T@WX HZ*=;i8Ai@xjQʔ//q9v5\UmO:]˨e u)/rȘ̷J>@ef3/qܸ#tэ|ҍK{Q"#6"񢥫pmF c TF"ʩgGqB.(DIN_2)˩S%Z(2 RLl6 H&eeo#Jp.!t{;epaf?F4&#ۘaBߺ4M=[ιKFlt@5n`[oS LBCˮëAK ɸ2㎹y't3Kg4v]JX;x$(h(#/@zxɒb(񘼤zL 0z05;]o۶ {Nzo<"'*ԥӠ‘t6=d'dXX1H-ŽžRamkLr;`ʐ-KЦw*nDad왙Pq"C/9'i1Rػ ٓFDL.81fZս9ɽes[P "7T+JVJ.**-(8(2EL21XR/ꀊj12$R3d2)\NE|DLjI&E@n' )9RbTѲw&M)RxE\qay6ရ-ǺfkvXlNƗ[U+'h@56J.(DX}*⬬VǦM# ^ &'e@dEѮ^<3 gTǖ%HkYcKU1 u DrEdΐR&{?Y'J3eSMb͞4t֭L4]AjE'H@v,W7a[^(Vg#}bmp?w'ḞRc5VIHI eǃ~OTPKZR,tlU"2s.o +(RXhQ%Y_I?{ݮ:yۼA,ӎ}fؖu$udqp]l`5N/,3AӢaFVe&,w{.;8r.YY'X8`~-k$SBЗQ(ey"7esF]mOeSljuIaɬ'zV*\wDqx!7投,ʅb!#w^ZcVZn;2l;]ivSyN.Ȯ ]I¸Y-i}Z)- v$ߓ~[^Dsjz0*S~TP 짓z~e`HFDeVh.{_AfAͅRkr:N}8M}$ﲇ}p{8aP͊ zH-A.Jw1yszIŜW̭+gʬꅉq2B8 hqgBB٨i+DQM,.nfm\1xz04#WEC0S:`D]@kyzeRTص1) l{xNwVQc=N)2V4K,U~Yv5*v FCi4کTV\|~ hoUՍQbL{Q8.,%#RdLU)EumB2R$VL?V>PL˅~L9tƥSҜ@b#đ҂-[Jo@7RuZkvkå }컧8I7wvyCt uCH^g"9,M fLC^V`NՖ_[Uac\:4{^M!*f9 H&yZF訜'g{uD4Ij)6*gkh 't1Br)J$CBg\gJ+Gƥ܊I0-{(j)6">K|uvM 81 `Hx6ĒsYiA5hf]$`_O&`kuD(̽aXȻKܒ~/Z81:Sa:7' D)AZ;]1Ssk\ᢕx3In ՜JA\WtD"$A g.z `{k1$;\ol=GK^*+ڪ;ydx(s!T"MjMˣte]_0Y;Fah1;H{{lu 4xY"H LTnI;y`Θ@Ss#\r35(WZno{Twwk'/(u)v7gaҰ,5BVf+jFm+a.c˕"^X 8@FhjR!@enOUx\]jp+##rz<_eJߝ ;ʼn2"l5iQT2=G: bbägI&.LWT"3h6P6Èm7()΅Юe퉘Ol,333X'ڭءTJ7꧲Ub{l8GnRЛRTeLMqf9""{jOggS@l #I9$H)$&.2DB1#* 74;@><87GEG7zWw1T.%T^nBH<>4.ҕlsorwZD`z8ȝ˅c<"UQNTQl ) 7GVKHxIMd%)OltSmE/k2^lQ=T'+n[Uь͵A4J6oU"7{&+}t@‰U,.Rjiv+BɊBFUV`gI![n"Inzl87dF:\Qns촌d{;L2ZEAgݚCŬ0eD-]aLH^ #K:5w̗g`7\t9odoc*7v P$о C \^كHA?I3 4WX{Gա(3{yY<#^aKc&SyehJJ.z)T#"n3DNҾ+==Bd]1J#Kq^4b(tP3Y.AJ 7Ō25lV*2 ґb K4\RF fBT w 0n[K $AȝU' a!@$sAqwnnl[`%lj^|ۜdܑZ26(KP@}]BniW3He#Y.v;X<կ7DփIƕ**W51v׵iVWgd{Uô7Jlch&%RS(H( @GT(R*&D& g! GQōpVb!@3Fʥ>@TM.(cPDK IK>E|iCZ0D1$gh0v3c4%m-,rnqbR#}v'n }&re:{oc"WnB-)7DV@:MͶfHŨN+"gYb`K>}!Hpq_3`W@FG E.)^ܦBwUs05]N33|B5 ШdnfPIW$#r#O݇,>޲ݙNm<]W. "4[[b2?NNH%tթ7$Ǯ'ƮR*Kr-M8Gmt2^̘Gbp,Qw>VHw,(`]L~/le6޵,~3Fy5+\I5QBEET7W/Zv2MZj'\ AzWQvQZTjHhw*dtM0LM%:R1w2s,By$R{BfB܆= fUbmHpY`t>szFoLf[nviMHKͪـ[tuѓBZ1뻽ڛu> LJ7/H 7:E]WBs+P)]Ҽ3*T#`Mov=Co+Z| 5 OTrl[c;d|S:ӕ+[.FS]FцM #(mMj H|wΒw͗^R\\vy)[[&[_3 0UO@hTjZɮ"7-< .C<ϭ;e{o3ɞemvtOMNa6"*'mH!PWR&GI(a$2[ۼ:lo j'qhDVU-7Ocwoӕ a*^P;W]g:bOG}뛾H~NBDOrN~R9]S yjwvd#"y"r+3}YbD*DrQS@L4 P:2dH A"2C.K%ixo)+-fdUͲ G@BbX6k9ÙIY)5ADۙ9-ƓVoZ4-֖@MAfz!q1Gܺb"'0쟩YOggS #I:inrv)D888:7D?$#BCB+=8<<>=EIG328;HABHSXoYΎB2 cG?@.B3gu]0$sHr ՄcZ+ Cd{"}\c}#:zGyFmCqC.RޟJs~󩊔#ɭFPHQpsq1Z6 씅rZE@F*2ʨn(jXs5T(\QT "D$`#3$q d#‰21Y)F 0*MF>Yf:{kXj^fNtZZ l{oo3E`tf]x\RzM>{l󴘊rCm+]) ѮjBoz,|bЈ"/K!ME%%vX YamώݠNlV5 Mgي`@Цt@!"fa4ڗވuWV 5gNH[7W̋tz/+4-?ԼY5t}[DFuwaJ= l:\4 NQM SP>js"M5ް=Sn6|YXo9*iئqjC縪Ql <۸K}UIef/v/b|Vco"CѺJg{1mnXH QkuM.1Yk3O7Ϭ4B^LM·UH M]E`%L122 41p6wyQhLx֞ϿηtjQ!DFWGX)5!|P=C]*Gk% ^Iʬ(ꄌlD|Gr;dI^@Ed ^E*T^D{ t3[-r= 9aO@n4etw=5i 2s3&[i2  ~ ͛ܽ_A8Ӓrz.$4H Ӣk @DH.@e3f,|an|Rm-eOpJPd)0(}WmYߺ'R\gNuktmHÿlKR!a{E1cd(XUHtM{lcmMO2:3fP2-ҪϴMʐ,B/Ա@ ̳Jv_&z97f,8Lxlw{ߘ7Lb- T;i1o6Pt+0R cdH%H JEH^S W1 -me< oE1vY:)vr(B1"AN%\&Cr:N#%Bܦ.VRɠ P0h%{6 oRyؑ?#5څwSjSgE J0ӂ@(\1ew]O%(ttF͞Y6Mv̞CB2k.HAN8Da8bvVK2)3Jiv8}aĵ:] u 4 ۨ2#mZL}(C&R]dyB*S踄[jn2#Ș8e[*ʭ3OS ,Uk/lUgaZ؅GNLx6,t$5K6k=dzxW#O"*xgu7?~iwV0z ˰FvBWt,7MRҎ" goB{  ތeV*V = ,m{v+V&e!I3(bh$P %)_&FIK@9L48S QΌ"% S rrSiz3~3:am +,WG&{Q8r֯ BaC<ZP_z8i"`J\Z!3ckasdMcB!"Tc`D57:ǓZC-4CtB94Um)@{ϸCi^[_)J!`\ej2T"hAӚ֨-c]4Lz(^HmKn#of-9c \4k2quo U8>?%RE5_ysUeT(Dq|d-SiZLqZ@ja>-?vMD(|}SbFjeMć-m:I]_~ZH\~[6ReQHo~ܰݽ{fou7ؙ(Z^`؇*8 .¼uL) D??dXލQgOշ\bL =Q͐߫W+52{3\,*=[f*yҔK]K䨊A|9 z۶_M7QƴƂjɕb:Dln]]R/[خA{2[B"{*ˬݪ85 Nnd+sG[_ާ*Vm;9m(RH򍊾n#c32 ȍKrg2 d$[R,W&,7 NFbQ9ZKnfA:j±d401<I?e.Dn iZTZyS8B $ĥnl%$].;VL- \/feLZ1zٱic1w)?  7 ެDC/sEJ9{ZC=e|+ U#Ԍ2 eYޯu2S}enc}*ٶjԾuoN!xUB4(Ё9d!TK{,ffF(faK(fi.e TSЦl **NDVJr4§$t,j1-)4C-gՑTBW4ʹ]A XKI!5@6߈7h`mK' P743z 3HXrq@9VB+ζn`g;wZ@H&wwdLr}߷" .{I8|}JS,Ϻ.N2һVUh_71n9EMb0CI|ۤj|+]j`w$I@Qm Rm-md DAS(tO o [)؛9 ’Y {{, i DVZJa{#R@Cحt94ydi8^q~)lXPfٲ.sI\n w]7y11|LًUX"l2O H+ͣ%X anLIfTUYu{)̳u_[.2-w0c=꼳)?!Qt(x<ڝ[2zb"+ƞ i3#| D-kwmTDh@@B"D. \YW%J72+\:K HlDBu7\ɕoWC۔E ]]VbgG xbS3Qo>zȮt]u-KŝAiM@F!edtu0)3(BH) RFY& +ÔjM4Y2}A 5m>زB{Xȳ1/L]1GY,n٫{ocockUk !yNE)n>[R? ! Qs))m߾~5K^Z>m Boʝ'7ovw=V2uQW~-h VV":X)UCUggTWԒ;3JC{ʝBDPV SȐ`uQ-@T06($x)<\16i!.J͈h!.ٮ5B[Y &h$#RnTiD~ |уD f'q[>00iX~cm5LP"dN:PCePD_716w֏q*\oR_+FrK_9 Ÿ~;5NzI)|s9Z_լRvG]ĪTJcR㽔 NbMdw2=A!X*fw9"m%D||FR\l\P&?tDKDY82 $9"D-+Nu(WT  x`c28\ L9)<^ZwK1ˑq`\L^ ;2dEkqPn@|09=GK+%2[>])ۊ1MڅlkDl8B+6&FQq+[Y[Ah2J;&ZSw3!6 .TJuur\ِɓz}@?q6G#O. |k ;3{Hn^^['5lR} R$ rDt9r]ͽjd1A߾[wVEo*&\Rco"M)=B5 m0v3N׫T~Kݖ9LbQ/m{TjVkfOaT7 g\IP"'?㧄> x Ʀ֯$[{s I^sLndf&^iBMK(dj~' 8O@PjNCc̼w\}聠RMuQoDZhisJX=lW^ Wt;bǧXr'ÕۋXq7u\L~~- )gUWܩ?wsfRRjX6kbR{g̹Ah, dc,;& ɃpJ 3 mPI"~\| p\|gUee?U\bSPZ/X';lDuKC R'1(|(A/Vc˟$S &MgFQ[P}і)SݞM[^CJG={VFᴢMvca81)5_hjkc,s BrfNA .&리ֹ*քELƀL8}J!̕N9xՎTTk%v RRxg^1V?ƙS@ 6UJ".ͥu~!t֩d9R7f95n(WMreD 4. @返ޑ;ۢ 7{Ч,>4XLsuϫglrZO}udy1 :Kc;ME㞎 V=cuٟNǼ; ö|C][~DiTcfgM>?@e&Y|7u{_;aO+ww,*\&aDFw4³bB_C7^b@dԑotWwu{o.{޺H#8 VZR :C).ٟY_J"oН)& ]+E&| ?80"{ΦTT/_(ig͵R ҍ`Y  ]$])FQ<3ԡ߹{tӮڶRmeOZ^[g(D~xUgEh+3{oWKQ7ٔ /_'H3st+Ҟmg-q[Ϸ.O4OQxeuٵ޷Vݥ)>t&5x1s۾rll;:ln l;*= 8wWM㮺*|*UѸ$M:HtxEN/3A#96sZQ^l5rJ=w$}Fh|H$67'CtFV2vq*'wBwS 5Q5"s4sddAdZyst~6@ޤ@*yOggS #I<5/2%70:?C;EH,:;;=<:B@BDF%>88ADClmB* Zk,72p Yb?6 {Tل@`ЙcnNVsͫiܶukzG:lԢ$N(;+7t]LW@Lm3e EltJ/[|*@w7fTheJ:|Jc(V(uY[ @ں t.7tdۦy9EYm-igaqS\w;IQDωRڠUMS]]dk"Ps3{kpȸa*qc ~-Vc=”{=Ͳ4 {`0"6hFSjo4vB)8sA se1`n Jp;Pfzw f.9P̾IUbMb1S0 d2[V`6:F)e*zyq6ڏa&Tآi:ҩG\R%YV dӨ]*yUgW}=\%Nio92h K!H.T1~*'1C1zHsuCgsQuJ#^/3׳Aw}mۻU'zW`^,t xm^VG΂ZkBu%CO/c@֢2bz"a~և^nmLl g%A.L:IP5 NU>.\T MڬlƄ^.H,0IrM͘2i~$߱yrMmهFdW7%;Uj ^jf*ko_=̅u(OW&#-9;JߩlTU}iOvG>VSowGy'\5 vpE6K4N+go{ .H3lootmهPar=͠Ц},flZc08}Ꮖn#G!-3mEӆ4o] `VtZY$tƘb02ɋJqv}짤7ꩪWJ)/mlFm,_bz*>gκ9x$dw_Z,Swykq2-3z?oj#ϷIhv.:WCG7/C%Yhּ9]0+DbAO:l C}ʇ]U*]4hl;m^;Q\xxg> HzðCu.w[ΉJ@qee4L :,K UnzxfB 4!s)CT}ՊyK(jS=v ,bJE&U xfKQCT>kUPIY mmZS ԫ"| Rl1Hȏ ai[^Spe\ vk}f^uzڦuUIGD6Ɍ9Y @w2E H[1T Ck$*Fksd{z?PQ&skeBAr HA6&ztr_ S622{˄0sӮ% Pzb7hVgFbZVdJmUZ-@ſSaP@sosW(J4hJo֥?JlzZ{4TA [ǯ^&_RyUXȧO$=pC\ƔDeʲ߯@ŝ7o?"CUd1ks"fCٳ2 {U{ތ'TFʠQy@j.F3B,"\@kBjD9%"U2L]N$"#MX2bX7] )xAdz 7:Jq">DH+Z"?m}Q@kzG6NZkDkQs1?y`U>+L4bl`# 1uA|6q@ K̔jߞc>Vyl吮BZKeݥH)X5%U54D\t< V|"Bf2P\m*dEUʜq !.+ Y58vT\"(xE)zF"k/bsTRJo!cZ^@:&#b@2; 2E_ڭ5 2]直y vY=% UH ʐ#qrP;|ill@@$3JRW,2[GN?m!Np/pfTLIU+Z2: +T\u>DS+:䨄Y8čOꖮ)n:EAsd0nީnD2!dB2".`T36ObF(V WP32Flt|aqdqFJ .&UR pdhC2V0_)pMotD2M, e.ͬ949|jDV5\/JT8uc R8шP.?c7Y@<)Uf;VR rH~zLjj1 p׼yJk[2J:p%ߨ&Փy&e)8Tc)2XWB[0D\3i\զ.Լ߻ko1fۙtJ#d(RIº/ur~F>e1ݑjD9lݮڼm=fz[KPSsZ. t?.7odn61g[7=UemjkTZu1΃ɀTSy"TOܣpDoffX Qûlǻ< ;7v#ncJzWI~!AҘ@5LoKf<}5!͛᮹,wR =tOggS@1 #I=lt%8-#$,5&')7679:@A<@CBCC.E2j/\Iȝ5=#ޯls»7WIʹq:$beIUS1~{c"o$u]iM؇yѐhoLD) ?$|^Xٝ5|ȏ_γ]ˤ6G7>h~ȵ<#J!7Ef]̘͘ΘRېLUY e2DŘEq򢀒=do#v=>72~]̖lNp#eV9tWGK"Qa@!mކ'J3l3'MG DjRMIl&.d51iVア 2qֳӛ {n{bӑf`kgs ÃTpG^[E|s(˸" uI]$  `0%Iz[IS_Gm͋PklG9#KdWRR#50Tn^*^{n32U#/ <5ݮҥҮ|,!A'fPE H"mD^Y:pH 8 Q…:8#EX>7m@"#QES8h 8MxJ22% R i20{β/h3@EZ!xRf4 g`ԙeQSSxӸQu}CFpp̘%Bx̔R/){p}y}Mks^T }#lVBj "H;TRti.I 2#K@QHl'Y.JE i^k"Cv5!U.qަp1d%.ǂ !.PʼnZAe,2+e决 le w4V@C˂vv"F.Ġ`6;Cΰ)gHZMdU1oH[^c lP-?z|md,h~l# v+cGG­ f.ͼT}Y+gSVbzs+.Tp=Ű逌šseNh3͌<:s 8JcVa"h4# .RO  U"WŊurnHkTmDgb ENN @Z(p@"Ty!Ibr#sʪQ=j*vo6lXOL5{2 44~[yo ^p~j** bR1:i]g"@ m*ejf2?trr2)=*|xz#ZzU٣pԥEc`SrAgy'䠨h![+(EqO!9M&z"2 UII@ĤV{F( ) ?)H RX!NT۾r$2.Y ⪕T,䰥*T˨k춌bܓno*vT.77At I16m*7TlJWo5+{Lعd&j!. [P>:5ѼU{)5}1M H+ D5R @ DHԨ*33ye={:U˅q;7D6!ve9p̜1RdWq*eLZk/0؉=Px%%3Q-Ȳ b":)2*]RGsP s[b Iz콄g$.I48 <+z8Zd`7T8 bφ7,`bgc36ӳehNRS&dFR= @_Dc'ěٓOSI9>9|.ߞQ='A.UZ6 AC>RrXz+Yu[q{iJ͐̅(ԕ)S+IRqWTp'N R]ޜ0>9܌TrBܦkխ 0nDTnbAdZ$^i-)\!D!F~-\9f?0YCfM LCoqfsӽI/S= VcP;elF/H8YSoޔUkľ6j~k}skr03Sh5}Qv@K&bs.2K|hȔrqId ;r rQH܃36X&R'"[孫@i V.MUdӛ2ZIԪ|׆tنjeVUЕ[2 zH2]93pTRվ5[f cAč 0X fblU  iulQuϯH!]jGQyU9|l⩉.! pH 9. C) @\O9-<3^fs}КA3MD \<. @(SiQY<i z}A^=KʔY?Y~[gGbv s "5B_,k® '?r1*#RU@U5ǣ<6+)-dEWJ2/PpQCV2dgVt h]B5P\db H`$,4m yA>*vnT qKבf*神;2pi%\3d=t;5@0'vG5!41+OOwrNI mlj6:tߕ~ ]ƋڟY䪽&R閭~I25-~l68A| SvȜr!+WB2.'ݻ׬[L^kmNUw4U;۳Z<$v@^URB/E|xmRaoFumf #UU HL0kB@5kJdȖ x6@bi޲r'6}Q2) - 80 ""(oMbm$ޘ:B+p ,)TsټXἥW=DJfzIoQj䧘-Vr\o㞳h R(LiEIH(j jcB$ 9Q` qB)I),$FVdT :H.RMHh"U  \LCMT U7#32tEP/d k1(sd[CeǚI 0w q37Kx *{~ EؒC[*QR"2 d&f67W:L*$Fݳ>UycGf6f8:b{ͰcTchh1D)NTNuD1brDH-EFQFJ!drEPDA& JfWG-2"am<&6^z0vЄjID=Ђ@"VEP$xnb26>t$q$d=YĭR6"Y%㞄 L@{/OggS@e #I>|>*/9:6:6A>DD-99:;=7FA?4 45:7@BEL)ZX!kMkZkǽ?lmL 0e {PBtAJmiu*+O^ Y"~");m!$MRXfmf;L q(` Bg2 f-a: kp t4jA!2٘7˸.Dސ,q DˁE_U}!p"w8 =X)5\S|nUZEB~Ă¼_0m O 5y6m.ʾ/^V/X6PAk)k, ?'R,({ON-~$Z LEG;7 Gfwci"~on?Qq?޽,{=\R'RX^RC50`Hti} jP]X(T Mjbm:7; Vs~w iM!~k.5jWinSWgg[GNc NQU+3q$xsM5)nD}Wq1fSo^:mdFy뵛3[r=J%;"(`U5A:RJEņ.؈ 2PkM/k/7B$=Zڌr8#}ƤY`o@=3`Q`BXe3Dz1X3spKͷ]UsWw@(OĐV#P0ǡf,+bv\ !U,Mh54`3+-OWsvU'O^x9P}4g#^PN>CYU  V+v E-;'R9yDLDvq]T7ǘdc$>8 :S muA,R.#(#ɚT:/" ҵI O98 !~m۶m6گ 711 z/̒٬t]neȶF'L2=AI.C:/I8 zqc>5u57Ul^.--i.9HȋpjƮPINEjXRRL&5p'gʒ@Dr܉-Ҥ)F(1;C'3͟Tp uC8n"n;Pc&fqѦ <¼a0 Ggb1S BtfX,&]{l{omB5"h,VYMJoNh"H % YE0 Qk(oG|Ҫs1+@{'0Tmi<Ҕ$AȻ.d+33R%ZٿOl{nþVXs:F7}tpo;,$Yb8PP' :L+#b3dHrDn.QUA11Q,)d(]d\#" P*nLM+{&e0 AqsdVG@v1&^J.&2, px=A ͔B!@$lF.HZz/sPm'7#hk8Z;O3L@'k2;J\Bj#ѿ+祾JƨnE5  =t-r"Уѩ :kVw  T"Z%uaf;N ڨC*ZB`dt6+`x/B Ōܦjr'~&d5̂bߒ[,7jIE]vQ,JHqoJa ~#t҈+RMYj @OxpCK }Š,UEY;MףY=KtSiAecn5< ﺷjRXpX;yw{4gyO$*9ᴭx+J'gwPqez|\,-6^Z0tbT-eTʽN{w3]Eq)OU*hb#*2ldWC>"M8'[e9\W}ym8ؾ ve.QE@~GuxXY\cn ï޺>̠mۖ}J+Rf[qV7$\n_Fv9[G&l}b::=ga|Uӏ| ܐ-"1O۽x醴fǞzWfܠ`2^̭oC"KAKRgO$^Waf9*Q6U^בzQevW!pGwk(jPDT6srl F8b"#;RvDT^2*jҒ1I\Wӂj~8gPqD"[,eprH!!Ab&ȎNBr.JXȍԶ/i2 wk"yqi;1ѐ+ . w s[xkl L0USzF['S1q^X0 rOggS@ #I?|8#/0EHH3;:>D6%/BC8C?2 }oE=,+l_XPs3@# --@JFWN;t[Seڮc~[*[$`DhUT <}t1x~kY8la+7}:L$/vMx {WYҨPތ,UʬBOVOy,棽?|tOپashAG/3B Љ0W)pW:>{]B)mĢҶ$*Q»@AF\4>%%!Y  +AB&SRdfIQ$5FdY1B0(v[lf1g*i\PECs !Ճ  27\f ;cce.8 dR)YʫX, H㵵۪$  odx53eGh'p ~m&+ek>8.6OùJLQ&cSԶRAJ:);:J|Ȳ iJ@:<Urw:NB.]|^KyPJdd%!$s)@d \9i3B%Е#N&fWnObQ`)Ć rΤr\],NJ>"B eI P#H~#!{Ӫ%鑱tKogڶ8&>s!7T9pJ l1MԨl"laQ9M=~OS ulfD)ȶMw^e|t]nJCT*ҡsK;DB]P] yv֎Z*(E@ƿu|y,DF{jGz⼝Fu uѝJgѼ\^Ñk: "a=>DdfJ))@jafkiCg2Ɨo;?w.e>tZe]܈zCf䒻=+3:7$p!jr&DZ% DV)JT.F"3p)2. ^"St7"Gr Rr)7ATkȌĵH $ 5Z9IW)aVP(Fnp BɌ5/vyh߽:fsn֚qW7bEȤMDâ7Q`o?􎗤3QLL" |C;pYWvVi#־s{;~du>LtxmKuLj]ZمR (.]$-;.GT2rd 9}2:bE+f)+ )' 2e,@ܔ)\"#)QKjB `$! *ȠhhKhR Ԩ$&G ΋wFqp;^k솳 ݯn[Vv {TRo \Z%H]&X3ERk5&.Jz㹂YT(b˜dKV AjYUjB->{j~ch6F*o%[ݑ r^)yAl*&=ŋ"< @>߻v kMg\DPnk[/ޙ7-e5ZV)-ږ 5M[Й[} H{mj+wX ::1A$NP" @ F]! nh GOaaD[q8 ( B~;[-[ՊhmDUhr.Q$&CJ07KxO90 _Rn[ιHyorO' #k&Dey*4)b qa3'!fJ(\K谺2,Rx\TRF0e'ýneгѳōY[Sz /dtLvl~92e[ ZiUb2ٳKuUq?0PW#0@ *D |Ґ6Fb+J\ +* ɾ5Hv  p0Ue,|1">DwfzLK{Uf CLt BU"T:kQF9l~=CSl#JQQ*YaaUNJAȁ֮8\K^go .fܜT\mMe]k_jϚ5 *A$*JŅVⵧ̑ɮhi s<T]Dn@* BD8%3o N-D@L6x5=q2J! 6xf!iE7XDa [f&Wz&<Ǝ~prtZ>8꭮(*$b |kCJ H0dLEe<:s/<_UdcNg:6sqVZb ݡqu6Wn| AAw"DtO)ܭK|^uYq ZA9P-卫L *Y%)b S{/SPhh<25Zx뗀Z 2"q$+(v@лB(sr"l/';îM-ڼ*'dcX@L-7vlhP 808TE)xg66bF4ɋ:'oL$)15fS2僈_w;8NMa1w=G0ti|{qnJC8L7x/ %o!Հb't0t .iY6RyFNA-LEbBduQ͔x!It'"DY$D )&7l!"D B6oex]t$]_7AxSu,PT~3p65Vff6yɟcHSIx$ <#M†cFu^ ,GC|. ގ"17{lxcj۬dRd-Ш,*5Y@6'o1$~ ^(/!kza1vw:7a<;*ah3 ccr y,̌MRj} f6>יfHέeu00+5/q<|֧1Bv)?u*(yy95?Z-KtFС|< Y)RI#(V*QDFV}EDڬgFb\:"+bb䔊I :)C l$t1S'NTK"8閅{7nc2=H^kw(9ZJ~a8ڽ_(a }>t Ek*`ZDy<utp% <]ά>W1Wʍ;bz+A"Q%5% vҪ 'u g6v%bqk2 n!LdBW UdQv 3:2c*ҍ#*7ߒf}7{ftMAiܔּ v5M@xȼ%9!ڿץ]QL T'Q{, xʊuM>#C6o&nIEt {uW59cq\~e/7F!(0A0\ ;I"s62'3K+LXwbr5P+Q~4NY?{ĤсkX&FJQ7=ONCV7f.y#P̱SA> @}n({XN=S9ǎ~ZkJcmyZFh-R0uSyz?|ӡeD8݇bK.4]r4׌y{-@  ov<>:iMIP%MhqHR/`E5CV#ȅEEƨ 22pFFAl9 +&"440VZY*mD.ϒLUnDFOZ< Iz-@0tKy88;LdP, T̂7Rq(zju@ ܨ(33k/Ab>F_yرx-o m\" w <oYgE T+T Fc?c4|Εհ{cmRd+UQHX"%.Q !8H){cdtqF!"&TGH ~?Ys lA w%m7*""0SyZ`ОEe.RxYc-%ʲ\1cfpJ㽓c0G CS VDw653ffJ}OXiM7=dZ43]D%H /<5ʷ, T5s:LF9>htd78*>L".km/Sح.DGfBF5SnBffө((!.iA91Y̔iBƒ`(BxWE^BгL@ $Wv13:ٮ=d9] rX.LfIz7w ?Z,jnnd"*iqQ92? np2t:9Ӱ$3_n^%TWB|)M$nHЩsnrTpK p"QAKy]P*Wb +a!K٩VL5p HZ(*@[W7^ZDwNv1R\D^Joi TdFu!> km I ~%JIu<u:s;Eٽ]_d&t8TŁi_!}=f^Q2V[fvl Jj{۶WmMƕ[; {#U @`0Aݪ$q{;;FkR=el}V[XokVz4*bd:(BAUeRxQVP,ܿ~^;ljYG࡯qZmݞoy]6VT[FUpTsOj]㽮~\Ǭ .M!+5-ltp$%z:6vR\׌+BYvˆn\,u 4ٌJ:3[dKYɀdst wC1VGqmMBvhH%3b;7.;j*5ЯFTViݘRZ}󦩋5BfFF̞-gJ4XUx镕i( m4WδFz1*!.{{r-BN.RitUDȂdle{?vpdU}~w2H!٩. ],VBN5#"!77W8R7aIiIb&Roj)^UHbE fURdH\,2\LAtQ 8Wh)"3_rX)I4J p2QbnQH!&n C@2u.NOH4:L5U3S,QY}N{3x-鈗 7[(#Ls!>s#EJlcq,H^VS! KQ3L~o߿ݰoӷ<곁=kiWhK2@ǹ9ɮRuo32eFA[Q,CbBCE>2L84ӗ岖v^ЋPN^={cp19=2[PdBq y!BR63Li?:RJ 4~׍$}Hn0VQr~J1c/.mTKrJj+LdIBmS%ei. P$(D0=ˍP%rK9ȀV<VBfJ6ddhOF9ܔMMв*T'LAV: 2.їU{VQ hbVdnH &cY$̾wO,X^23H)M rW;2=Obߐ !E/4 ѣ(S!<{lb|"p8+T ^SHا[Cwry/Ggi|)~@Ǜha@"mop2\C^E[eS1ZFt $3BNfBa2^9DZՂhHx$j&Șf*\@q"AQY","5ŶJŁ @>!i +mEq3|&ydRc[e60 ,";.:!-= n>@P6cAE*UC1xn2Wk*15SJ+LsClKΖ.Iι{]Ώ^%ym y[FhIj[TBK"U>.oT=D Jj̛BБbrGȐKȈb3AE\U(yIp(SX&DXRDDrRVtFYjTG"*f ƣ'Uq/s . Kq_oؗe ro9mO抛c3c)'.3]O >-4sddUNO'Jb*"^G6:Z][Ay|^5\QM+\ `/W`zT}Y(ܔ+vM^2l{`g ۻfwtr@Nu5) c/pDJ& bzSeLz+@ez:SlquoK~['q:l1逜G:LVdjV.EVv-ܬ]T#.(AouDE7jQ$誳mND8Uq&sWBdܬWvt!MoK0FzKa(BU%\ <K3-1(c-  /uf 1NGfZv&slnd,/nlH^jVp*eu@,.S5f,|Pj}K{3t{5rW1/|Nz "4B|U .Fޔ΍X%c \4EAXȘ=A"A…w+LR(Fdh+e Ȅ%@ {b&Zؚ\"H1iR DOIbdW 郚\:mt#qv8 2O^ Pg:(š{BP&t`cr VRTJe)[4L5*I5ޭT5S)jDƟ.jI]`jL>7@d/$eKʉQ7z33O tJTj[G\Hx>st*)]CbXb:>*mZkVm"傆өNz{ o;;R"]z[maИ5RZ{웩{),VN#NRV Sy00QC$xԂ|gU8(l˷..DD#E='2; BC0oka_|xd9bT].OXܞjfmjmlGŴz)\4#M1t]PI =uӎ!x@;ּЮg{V[y-)qC`%w'yJ^~ IV_Ok{}ݳVhy$vSg=usaؔz%p~~- UѰ XQ,$vA5x|ej{/i*u"\y0ꈘHkz>em%3q3چ)7{Nx](lj{ֺzzd}ryn VN,"7wїuY8c7$'( kӱsc5ݦVZř'?='Nwu3ejEɿT"(Y..ͮnF'KW#[JiW;<"!"r .GE.:dNT.#;-n!ͨP2ҁS9S|:Ꝙ $)*U,\G.g iv{36:,iIwW x.2$ #97nl~k [yA7D3eeIDL8JFQn=]h`_a}.kʁێʵ۳:f1)=\{u7rsu/rVTRHOٶ Jc}?ΞrǷݾJjoO~ zFHccCiSOggS@. #IB;a@)?;=8?;;JC/::;@>:BB7)=98BB@A>''}{iY4ޓ].vfa(;CYe\=`; M$=鼶0UHT)#H2|uٟ̔6vqRv c3S+)JAQNc$$ n,m`A6(/=VCh G K~^Z_%; |0(3ʪB)kENywC~]uq6u( ^i_B῜f<9s6=^𖛻rcۓM'BwtOOR u۽>> 6:W9uO,[u~^'$r,F@~\Mjn{m=}Gc7x6hn]ZXuEtόC\32? }fΚc1܈Dsq83/ysp3h4YJvEw3ȽLK,ύʽ&t?V69Qd>TiZTJ-xeQkS;$| 1E*w23Ʉ*Lo~w'7>CU?r)/i ,z7npRxuݑuoG,7KB|<6dVv5EP`olGe;)>J/PJ뉧2,y=b\& M\kGftD9wV3Y,-UJQ*DnfŪmm5kJ y%k7|V O'Ikb)R,2ͱ6VKXoef?{KuRpRެ yHhRQ)7nqMƽ-$<{6T [p_XZL;krܓtR롓>s~yF[$%-{K^j#|ُB+w x"n32*Ҳ!OPPj$c&cJHKEC 1P9ҼGѢXʉ8H]M&NnAl`))D0DT"ܣ$2 rU"%{wZ2g1 `p?fZ끎l m͝"'G-#*Ǻ[6%^+ yCu6_8ܘYeOج(8`kJFljHkٗ>>\W qY:w$#Y:mٕt.R0EXHVdjj#k|wŴ.⺵2ko({8@Ȁ6$Ȫcn-&xGNLT WM-Fgdd#˹-TdShAVF]H=za.u`$C$\T5Ha2 $UI:J)yY"wǞ TgSB+( auR]1;0 sUdY72 @wbۑX FC&$a(JE]{:㽩%ۨl[]{o+W82t>^zᇸc 2M2\U2V}fWȣif ZkLM 1"n #E Etg =:oZw {jJ䭕!]hq IpGo9wӭi;̑nEZvx}d6(~XP@*k+X"ArK%Q@he @MFȉb( @R,+uLDn %qrKXlM6HMLčJ$@\0~e@.e тl<͟M d1ؽ߹i & 8fF65v [.w*ybR)Hеs;nyq \IR%̪ '2=N UicA黿#nn;tqۼ -ꉂbwRBr}է*kXЈ Hrdj-RHB)adƥr ..K=:.VZ+$ "Hwҝn,hz{rf"-)}/U][omi3QPMLo`6jqBCe1H1WHQ$A}ZcIN/Q3̔ɿcoj3%֮4lв~G:nJcOryKHR:;O8X+lpT'y̨J$qe9޵Z6Y2katޤ 6-Mw}.Ub(zU&Wg YKȓya4 BGS|t ĕ@-S| Of ]YD\Am9H\g|1\Tg|1u_ÿ'NHNF!q"eٶQlmzreT:LR]א>nM{X]Ni%˅BdD1=k^6k=EodVKR(!MGO ӕҼb!#EѹYZy9Yջ\oͺRu5OYzi$i?tHD*Y6QbD:ՙg;o{"e~hUxh]Gz+r1dIWrU@Q `0Bb.@`y3$9fjB՗#qRx b5?2-ɬ֗msjoHWd.X^fȍvRd2RBEE(2DdBQg  I2شER,:SlH; ɋ$Db92Jp&^>F(hAQ/ ̔[.c:\q"D &($[)8! \Xa$.1(b̟c =2Ʃr0dGi*Of#0(\Y P|k5!X=!VCIũ.e$sXԨ ̑prwTvTӷ|]BouLEqݚ0 يYo:8&j'R\D5mn0%RXZTHKP )2J{DxesH9TP FgJz`ȐSb{l2YHȍ\B K fBFPMqtA2 " C~iasըf[ вcewFhE30#71j.ܺތs0Bڱ,6IDUAHdhY쵰 \}Pz6 eY~u`2g|yؐ7`w44H(xG;vr5Zij}}qսFhj*vY9S5TS  "1TUN3`t ȲqNʌ8D,2B\N-AT2@Ć  dD.2jM"N&@ 56Fpۭ1kIF<0Aic``,o)vϑG&!0K7n`oLS/0p\wv=&xIT=87 ?=㣩geTvw) @ #aC^AȽʅpbJ:H(GRW)CU0I5J C2"UrJi ¥$-đ]5 @N I@)p14:2AWJV$ @9bʖOggS@c #ICD~"+(CA;3:>D1xI(}%\6ZEpIĊ$u*fLW(VDHbd062e)e"" Z&J:(IJ$("v ɶ @9 Ձ,)\^$Rj,,uTc:y3d,$=߻#@`AfissVP?B@$҄@Ī@.zSa}R6Xਖ਼z$e6~.V3L6 ~/,N49G'#˳Yv镪FR[ܿDAUEdb+6#$Y+bdbPDf($#W\t#CT :[RdW S]9Ni $Ĩ(mނMy$HrJ0Y`H{  ;Mo'鶥3r88EhQpbQpr _+"el2,F54rѥ~Kl t4ץf^Na[?pơQ̙,'B["/ ;^tBa/Q$. v0 OJ9)W2 o Bݫwk{DR-`\L |p288/H:j[ekf֨kZz),]!U AI؀ٔFznlc 'duS鿏EƓZ6}'BuMA"9BO@D3*SXAT)X(Aܽ*L7AW:#$19rdBYnRJ>Y󌨳ֻmu[Jl_{·]ӫ|rVbsX"[[ʴsg.^1ju~Jɷcw6zsӸkwiޕ)ݏ|fij\B;ӵg34%( 3 @B\OIZڼ# @T):zk۸A% V/@ _఩R@R΋|xL^|Ӗ- {X_. YB[/y vlhKw`Zy5ς6èҝNu絞%*xJ}3OdR}D1^^mn-uirv1Z~,Q(W:zj;qô|PChU90+)tF+0 w/ߖd{w60/4ni|#$^B&zP9R! c7ŕrT V3V·/ M/m6[yZcʷ nK/=A&zM&|Ay&tS~)Kȴ1&)" {*qW(3]ԭ; 4T,  oe\sU}u)8}c81Jhۚ&pnC={Xב֟Pͤd² 9=m{3 C0,.W9(4 46_AI9TY5] Kio*H[w>6T/ZO[#jT&Τ"MQ73{ gi!i7y<J%_Uc~mޛ4 Ԣ2Np M(Q8~/[$cȾ+ ?*Q= _T4F'FHTNq!U3>3MbY&W.$F0<vml6{[̴, ʅf>2-"C i^fR^@{fTRZby̽Fbc//yTvv8_w=Rvi;VƟ9]MMN|Q~M)(OatIWoBk4S6o4ʪFT")Ţg#^0UwW"賑[J2ۈIf)r+[pgҦoȈpH&g!Ô2#VX]ME5ׄúl\PiuaOxC'ΙSn_NsՏwzUj~?C~-{^t#Io:; );#O)#](V2FʕJKQ, )#.GFbh]+2"qrZHR˚LE%eV E1:'PG)R̊5g cܰS]d#>Ƚq2PEH0Jd*qk $ Xw=n 0KE70qr@9Ygus1 qKOt 2FYn[RTlzfqLct@(" Aey$ЭO8sijy|6:imJ̟9֊J4GlY74rTbO>'?E'r>~u8w션O[u*ݞ:ΤPao7X( 7Etu _nVA-M[{nkkiɵԲ79bEJE'SP !@aݠzdDKfmeYڇO8=oS36N_?m9>w-Oickg ybIYJ#:ҵ[F}1"T 2Jxr,ˬFna1J:DF2[Jl/ePf :5$Xs3Wu"T'aĖr] #ֳ["pչjn-ʐTsFZgJ1EŅ,hA)s{լ, UF\<ʤmJ05`AM5՘]h`hzv Rh@>Fu:IEqX! DֽcIۃ/npUUՌRW~k]דSN1Nٿ>N4}3Qrfõjf \uܖbn/T=7iq%ҞS\(zV[7,B+kݐ圮3D`2d"3+4A B`X!Dv2!VE wCIqFBxsm3J$cMpPuXx9I.iZ!.3yD'7qw$;ܜ1'fߕWc`ުt00"NMR2zg*g0AhMPjl$L~p٫DG߾Z?9Y|nyg$io7qXO5"rꝡ,,䊂%dgKNؕTJ5ܨV#t:t9&BXIeNWG),bro1Y2 G炪8ofNntV&< zP: 됌a!Ck٥h4{̱ZLC =G/{Cb1ENr&'!!  ۵/ OB.xoޔIF[Y?66lhiYӱ,y.G%q2n5B̗zJKN+ѱS15?DK:>:;7:7<5eC1}#8`86ʡ4@#0FZ2 oF)eW7m3sbءӺŧNJFe0E9ޟaN[;ȡKbb w̛S "ۑʬ e 27"L(T3":W{YmHB1iDW!Х-P*2jH"#">кJ$艔XR)ePXi:cm)K94ˆ-hAQ0' FaXYx{:9iq<.# (eب.Mf&Yj7 dְSk9;NT%v?9KTS9RΖl\ )2],ݼozo}6:tFq3L$bPHA`On~IG P9ZXS,D1z4Y!-IoLEzdu(@yH$UL "|_fWLJH%3JU2,+T'||fSp ]++:;{2cB껾l=$Ϊ)'";=^1QEs]sGeI8-2WK yy{%].ɾoDFHk[|P0M/P\J>p@ DUdtt6q$Ƒ,N LfQf(˭6gD 7N0.d&eݼ2 Z=i qpd[_bAGi]qfF'fKv.d։PJ!umdtC3`$i)Иsx#i*Q܆4T"7sc-EF}{\4B#N'z EsΫ3-3je}Μe Ls6dɔ$'R6D0Όp{O/N ȶ}өjǢ-dT2,4C\PWdO>80x BFD۹d-QhK D2j("Q-dbI : y2.#$G"qJW\K$\YNܲn,6]rE1 .W-{<f>.xb,ApZL)g(gO_.9|hPhͮSS;P1[|_f{zIBF]1Q$l;*ԯ:t^qHTE2RVCXLֽRaHP4J iKFn=v*IPOc[5I0XmcCaFB2 "ʕ d2مy!-|(bT-]"jxzߢRw3sBT֊lۆc -&J7j}-zmr%[jIVg$sqNT}3F3ujZ͓lXfo}5$Ū"B "ok(zS5M^Z3[:%f'N%"]Sc dxS6*N^UraۨXH~Xǯ*͇@ uh f.|&L>) d+* ܴ8}\f nwֶex 'AW YMiQ1 Q:ل%!UIȻM^UDJ 2%(" F׍)T ')sKJZw2{G6 iE%hHRrUMҖkk(Dw,oj]U;upD`~+̇mu|:Uȡ3v I %\n,x͌)3;LJz__э9εWw? @<~0[ )LZvCD"&a/ go.-r-*R@Υ q\>Q"FV)ؔ@PZ5MCPrH=IHKeL"spS* id%DTr)e!>%1> pBF*.YH#W YJ@2z\oMC x(Ncea@t4E i-´6oWP4tvk zLg@rjq0 vg~R9f p)k|Oe s$(3S*+5 ٬z?49x G;3}нQ1q!6b&j)s&%+!B*!vLh$AF$!Fwl"t()Tr!!)p2`*!`2n"*BTF5.=CF݈ q7|J5F -$?r@$XCSZKeBs_Ȩ\µo!Bԁ#BoX^HGض!nYPr\Js1$=h+G`ߗY]Y^d<N]ahTq: s}D@ '7)U3ˑYBJdM73W \H0DJICaS%II:0!=.fB!Te{oFYM\9VJnHt`>|f/Tf{_bW b0"G u~hzha><4juEK@ha-OL oQoW;Sַ׸pz2PVs;9ӹt+.Q3fX%甧3ig_ocm|8I#o?yN/~at1$/ݚDK|D*zכ*(rF)}j)drIInqY=WrnUT~vJsͰؼJΪnW{UmuBa.k6]Zm,nENaT*A,#cm9qiZF>aqFr-^nŲGUcsp7څK3 oP6㶀W'֢&UMYLaBps~\:a,)=q@wJKZX/a*SceZHCq#.)j;9gyMc1-zᄂVx;%ܔ5]')m(JB`[Q锷s+DYBQ)#CNrd8$@⳧X ȆxYثs d\T˅3 d]]B3D 5s#!#rJBWj! "-%d{!.j J&Q/2nɨ6ur#cn-Ȱ=ͨY[8KۻU1Ŵ,_sŧ׾ZDK<$Ý!u8l1j,[2fZu_nɣΧdT2o`+ŵ=U#5YU#sgHlftTL)emmeT<0uJ&T9BiSr0&rb 8UR66H2L$(ʔS1-Ϣ{o9] Ԅ|=nDE\pKaB&L nka {bsH0&t>C}{XlR*f 49:Xwl7q8*TI,Gt"}_o\k:~=7L@x޽ˏCT}[@HUDfv6=)#nw–(%:z2C ըV.6,F&Ia٩\" XE(F璍ӕXqn"Қ{9# )e0 e4ȨN"8f).m*@JՍ50$y tjwk0slws=^۴fR9 #'P|wޜuYR> ~ۇ \B JUW O=esO_iꪛT'>RHydQ"Rf9F1e4bdX=64y&8!+D# Crn+ DMa4\DLyI~-E I_9RQhN6ɡ *&T"Rr3zk U7i,G~&fxLO\,/Ͼ:^Y߾۝'e1[(3e͈ɝ.ċJPP ' Phٽi.Ws-xLL#1mNzʦqfCU1oҶ}9.>z\.dI+I/j{Ef5{(,^$E!N%eU.prcb;fwaKIi/eDDZEM*\" )OZI(2&F\c)e;r8 %MHmP^)NSGQ\  y^PQGQϚIOggS3#IG;&/:HF)+9:E72DAC- -9DDrzƬHF>:O̗31~uٓnBXr 0D5RoEGֵI .QP9vwW$b)`IɠwguޓrcF!ZM5b5It~Pզa ߕb1KFZ3Rqm{lޛ.{c|%V;E8{ٖA.oJFy3,$``r K Q*Zv*B9dzps62gFռ*n쾯aϵ ϘlxS%s}OYK'S0|HwvʸԠp .6RU,ݬ6.ɃQ+HS*gL!S{$iT8pW-,EDLD%ډTȸG3q5]]dps=FbZd qHtt$/rr5Gt-Fd~Y|Bb_ӛN.J Kh5!QFomBpl)eׯ@[t2L޷)z KVd;Xx'PcyWTi1h/`UUyd$1Xb j(@a,cbKA2$P ґrЀ Jyz Yb\$7 >JZmIq :$[Xy HQib 5r #npѠol{ mWSg7:"12 i+~0jXl ϋvЦpSE1* ccexk+wZH 2uj;p:iVI{]9S#&Fи'%|b;:h&>[(l 9 `w hgbN17i- G^|t F' )c^oh].Ill0 7rk}`52?;5xΓr\/ON,ACJ<[fȞM o=֠owZX~huf)~*rً̔G*ծ0H~%ÉXT]-?p}+3tPsp0!-^;͇: {oFb4cH[ I uxAxIU'R3}]&u|jށSN@N }h =0yZEbuCg)06rV0b* @]i6߹h~~Ng*uUmNpM;$;F7āNwLoI1jpI0ݢw;@KzZUph1Yq_8 v*jKI[F Vpɧ/N,Qe,jm1I"J71f~ArZ[;S{*b@%?zm+1u]ZcWJT8IMs&'ˆK鳕뼢":ϤBȉ9ˊALJhūz;rE$Iz5K m373tpeLo(dSl!KY]i noE/ B&pY3pᲮ}y@ PU aJ+$'Хfz-@fCȽ/"ZZf?NR`tŢE}a3k32KUԜmk'Ġt>bS>"-߶.<{跳 %?fE s9C\yJPb19D8d xQ2\IħZRWޫ 2r3b>وNѧ Y)m{ z!8,$I`Pys2pOD1*3gsIv~M;ь4A;݀00(VoM4*9Q !EZU9,l(1H2A(2a).6QQ2IHC@$@DfbgI %bzc@^\:N)"QY@_`A1:VF5R"Re-D^e5,ح^3hhDVC17?㤦`q~<Qq/4ϯ .Z9E')X }pC&s̨cJ)˲^NHc~uս=[CM 9 &SjFB^dVK'iOL3vL1E !NbnT3̘YȐCDDY(8b-I'p^ע|A`" NZKX䢒.F fYb8cQ\ŠR5@KFXĈ7k[znع1Fw,' 7390 A>#5Ήn+ VO9KHV1'k$lpw$uJLܝqpק{jEB"|E[|hp"Duxɨ M4 MD[`18f-zN*F6jI)b32Yhn A&!TDA%a:tXK!qd.)ܔ`ӉKas M B*<2@48kV.70E;fpjȼg)S({ZkJtaZdN$VfpT/H;)rCkJY[+Nٲl~F)񸮼c&%WO=Jsvʻi)Q /!X)Pĝ$EPptPTG^9ŌDfDx" JYHU!d16@AB'\2D#'dB/c7w6io#M pE&lb+` êRL0EDuynfug0GzS$jY%1cy'k׳b6O 1 e$.R0c>Lf橲Ô~.ьIj$8 zھ?b&{;ٷsK mcjvOI hHVb0w[rmٙ]TE蘸bȐ;",2EX|*Bl)#CnR)29aF|}&Zs4 *! M&H -x&|J )|*w%Xol|4fnW &4r w֝~fi޵R4'(&dB9Q l0f8ޞ0l߈,LQ UٻӃwD&lhT å¦_a%IR<݅)dS,n chmЮ/d>͔jbsURYAWL5+#1F"-'Q~k%=¼8 r; ,qhs3)<ZPE{tw|+)Dؔ)%+k.9ms?XUd匇nc޾ӢS~aTK,Y1$dYNEPclFI 32,#;,`Jd%„LQD$"!KBiQ 1H9QBB!Aq-@FDثk,R  !d0 S.r#.$vH++H"OggSd#IH g^+69=79;:8EAH;&=86BKDB()2;:;<88:@D1l"ZnËA.ݘdH7`P@gp.{l̄^ȆHBYj 'Vz}CI%e[*cb*!x:J6w1 eǹpHA1^@YW G˾P]uNN%*]Q,NIyͫo[M#-] nP0oS5Zu.Xd}ޠ(' A1s䏥bvl d#KR ,(e+/H="ZЎ])Dgj1y9ғ=|DQ"UPZ$!Ւ{sgˑѩ3:ѽY0οj֬+aD*gk u>& Bjc|"Kљ jYtC'F* @[8f7PMM|ȌVTތ65ګ|LJ R8U)vUZ~ K h~0GV2g2"JۈV/BiƊ[ifs<4 Ɛ? ^wIwz#S%%Y,egfSuRT zTlhME/x'+b$㪼jַ=ٵX5ϵ(K4!NDrJSC~2N2dxRe*jJb.UT]]+{ymk&+=ɼװ̀PwhX?o%msNy> i{S5͕uٵMMvKzJ: Tl6h˒IIWGv Qe^ dSa֊SZ6>΋ow,΃߳us`Y.0{&]deDq#1A.Hn""J[r]$bT{^FC [Rn'bpV&.߱m7/6uFJ,I]qj ֨BL0wŕk%3eOމ4A_Uo;x <·û7ךl<~+\i% fgDG:0 d;W d6A&00"6YK`̩c и0 \rh"4}"{ʦj':%)eQ8ʭܼf5XfPs*TCIYMBfx*Fm$I'7kfʪ*pjY ,~AjI=3db;5stpb 5:̛Q" p<ʼnRTBVy?mkz'̇!. խ#.`5 _Ra])23QUagw{\!nB䳫Վ˦q!?:[ej3}\ڤ2++G0½B-+M[F{ Bj)Vf-WK֊G F,t@.pȄ@9jZ y&Fަ4x*mJl[nsu}lcH[AzXmS" >wEl葕2MpvnͶ[\*ztF1]Ӥh5 y WR"uS?uqpR k9noxllڌ"B!S$BQk’xͨ+e{پ@/5t$idݷ{dL0YQv7!j\d|;$Kդuع|?Z(*jtnѣu*Hu([[I圹9=S )3ܩV*Ű[s::2!tEFB(dJ 1GnDn3+!ArOggS#IIIH(5 8535ABCAA@DK8;<888D>#&7BAuh;`ܳTp@2++o\e1 qRֽk-i;[aH<i߳HHAtR"%l "@z3sL?d'#;Ab柮a)sŧR0 "E!WɌ MGI\om=eyՋ`ZۥUgޭ:Hc.7{q^{~`V&ށTɐP4D 0of*zlSi+;8>7NȖsFjRB\vBu!2),t22soMbh*F6MWqh>SJ[.ROƭY!!FRH+^JCNʉt4=o$-f?" ۽MjLRfWTnܽݾ~:ff]:e}z 7ER onm7jNn= ๨)ǟ@ȘqY3JÆ>\P(r;Dh)x8:G &$\nrpDF*I@@JG:E c֍)e%G oNN/uq?ֲ8d̠9`\ gC iߦLtja8Q`BtŖePުfߛrmU8llI B~ùf4JQ\tV;JXPuebl7ڙ텒[j7Y &C1(#˷AHVpNjl׺kܬzinAt`^HŊќ+_< Z߽1TW˙ȐDlӝlj]u}WrUeI>)@N _RFP2N s4E\ʞ&eT+D1 ⎨"jBu-hq,RFq@]Dc{{D{,`)u~=hҴIR_(Ë2v잟G|3t7qq&NC-d&=ۮX\n("g("22# uAdd y!,dF.SQ4dRBӒ@:!!@͊#K!]yc){)vCM|A /Q ݝqcdG. ; a/z $G1d3L܂6iƋnM3kI62U@QgCCXtun uQVMX,t Ž1P Os}8AH^"*I)eZ/_Kncu:r$}Ll㛦6@@N.҇9z54 {ZZ.]l9vU .RpK$H{d%O&268.YbObDHߨ(KX"[.)H: @$NYLyщ#^2R W: p2"6ds;# )/c`Zd57޻XHZ93-`;f \ƻ9ar^tԅKnIX*h["P]YscijkG)MLli6ցa)OV S F>IUaox$fր*KFdb!-V-̔Jz+'lJ ̣6"ТRկ^(pmaQ$ZQ4{dG6jt:#Q0+*ydx'v `k}"lx2DP"oU^F7ߣ!\R/q.v͹(m@/~= Us=trǹ^7dhdksk-\VU7#e94TSnz"0=}Lƾf)D 0yz榹iZiM&]O_Js̑\UjiR `/:Op4b`fl̔l~8R;I񥯦d57~x3^TT>YHnNQ-9E"2Gs(gpYr R%tFt hVRR2bPʐDwTѤKե:#mI׳>Y*AjMWǟ*ռl 6'>-sh&{.TZݐ$QѿtȰ'j;ZL:5̌cP GpU@h>jd Jp> Uʬ,\?*U[mk߇%ëyӃ;'*`i1/@hD< E)_n+ !sD4Ry%K!thIT(PM x'"#ut9?Aa"vUfP, HV$gQ$.uTebldSXeEkuӒR:ђmbX2"*tvQ1]Nd؝R9 _}u+ۺHUTig9Ddj̬*ւ;wSvzֵϝ;^h\F<„ E8ݚ>k]̫nNq3YTqݕÛd: 0yhp =~kuK 0_^4c*j*)oުX]؛X7zuTRˈUeH`T&jϯEPvޕł1ܐ!ﰈl淳QlwכJfּ: @;]}zےϛQJP)1£&S[˽57,[o:'Vnk>Vbji6q7HlU[Ry˅r) H#F9Wlw+b+)7 ա .Q% EYȊE tu /|g(nP]9P4YҵID }E&TN'܂b Hl\fCR*M@ʴ-OggS#IJG4G+3969=;EBCH>4;6@>DAHE)0/;;<9>5ACYF)-fMpHͼ}Tu6Gie)'E "`CdaJ*I֓LJ)CvffaY\Jn*$ừ0u"\V!2E)sFV^7f, .bu8[7 7t'(w)^򦊈BT/9OY蓱 LL,5R)Q̺P@Pp<*=WAc% .('2*# Ej= =}]W"T 6+ؾt'@q o7@7薀(וeZ+brd]{ $dhz pGbHe&OS\,t172JOoM{m7M5mijc*dڰt\^8! ou_@%rv Q'\lI8Kinۮ 7|JA KhmꞬУ@km.IOq׆0 O[;]5dg۶rZ ŠvGNnu_n3T :lgGo<ak$Od䭕?K>Zۛn?DX6j~~\wNs~:s$PE])ٮݯja'Kcm)A5EQiLG`$$Lnh* Ḧ rM JdH(K V@J S@l`##E&P9~v&n"n quyF@8&ʅ:9p`]Wlhbg66ح{Jq2\s+=$k{6*$~{WO&ɉ'SJJސ+i=?7WRJo|FMû~,;P!xCH . (Ħ8{QV/#i{ZS@sMU$:bdDAX_\I]]Q @,bddc"sI #Hqi l#@ZlBy#IrT"GJ_P:H])HQ.avMyPo7iv +fHc05+sM\*6ĪâJ$Q8mi OaBc&7̔{/+~y~kS_)L]۔3/Io[ST,CDLcd*cjv#*}RgeœCp(](ȂjF[$Rn:P) bmon\+#g HHrATSfY 2P-UG}7bC'S O!yfAvP"@V\l.Y Q$DcQ [f?I0LmT/tls)h儹o:s[a6Cf_$FqE& B1H#Ԩ `L_#[ʈDR *[(2J"3ܻR3j(<ި%dDQͤ$]D)Glu30J=jL O/'0L(JBID,v˔W8ӭ>\V|0PYSR"}|$]Th acjTU׮vgi֮.0d˂Qg=v;)N @bS?K7ZYWFjye׮k[kgV9NՊ"p}]``"$tW#{[L ӥa5 oX7jk\|&KT+P/&[l1 n764VTQSQpL4 +&~E?ǃݶaK)whQ1tG] \]gg”*4+bjX# vSAۿy{m:ד:EN3>> }')AHs:6pDH-sL=5Th&g_yU{i|10֫oI˺Sќl%TZj17bZƆWBvT!y`A\A)D0EQCD$ʱ@,P `@2 D$PbK\RW7T± #KM8aK&:H␮,n@nNDiSJˉ F7黧A+h|UR`h)N5ți0e%}.@DžbI \k&N9 H7:,Q5UbA~; 4c5ƵuxmnMۇTk =WAFڃ9~V7288D,ast8Ǵf ʊx@Iŭdw_ Y-A#EPĚdE.QE"Z` m_mDn]("`  `8zn`i/zjIn̮Lse2}^|S{ܷb`pڼ&H~hR OT9T")5,_iOf%?c's./cjN%@7@MZZCDNf]#N xE4%HTSXLKDWH) n #oPrF&]6X"V(esr(THK@ZWâZj'c/O:h)E* C܊@3"$öS|sR XƺSta ¦3ōN+ Y?>L7CU Z[UU]K񤕴8\&.@$cjB ݓͽRԲ_MO=ma #{*75`jyjc/l^WHZ0RhS=>rIRyDY 23 IDr b qe+(ͪL4@ +("+Ũ&A PPV"dAL$N%]" P& ,\Fb4"ҕCA4M+ݲpy`#CGkl1 dRj0ucٟ6?`S'm EtfM" @ԘUhœ?Xۍo첷չj8/Ib$9Nf:ޱD%Jȑ,Hkd\#]H):89٥Ve 2( Y*^oȬ(VDžXA!T\"%$ !Fp!#@b . 8Q$cܖ2aI%.J%S| [H`%t/b#uCi;DEl XCCԌMV4sQlz@*T:cq[@6D4jKúF@ɫڮ[$ BJf}PDJuI5%L Z$/ZEidT"e"j47nvY:Ql2)`#PNeSU `BW[A,>ReEą9Er2mR6%Ĥ d)DF~A uIM^ׇdu>E :,MR,YhjdI1Dd825!ukR!~AFiF|qs o;ƣJTJRy,B0zzkm_7f;Wb^1 j%"r "թZ못(md P*RXL##7wrXnىVšJa a q=W76v׽@lN+E^K .LD")+I)Ċ.7z}эq~!k965<~ҝnufh?[O5LI F9+QRgT>MR]FĞ.fX,*f\9L),n#P2䆌N$D%QJ0+$̌ qhM £BhZՕ}B˵ d2JE6q58$UIqOggS#IKڛ"-8>;HD<)I9BGEF+*()?8=HBQ&{5Gtl#?6{Y:N7@d1h祬zgvBQp `}~YEb@1L"?&wt?U[RQ{ʾkGrȁč=6sx^%֊5[ƄRj;3]ȼؘRt`d&# @V2bU:22-(C\!Ri $ŐH$L^ZO"2H) "l&& ҄,((G $LIY!*T+Q͊C3Љd5,,E)r'@ Z@v>:D;P hdt,68ldw l.L<*Duz+ {LLUA& u75dVUS WTѰ$" ǖ㸒\@JzNyK۹ffNJߓ'szϟ%q?1f,OU=A=yXPuHʞmWK0%s2;(y9c3"r'rJg6蟧瀦sQ=sM-<ԧymz7h;UL3=wMصt1_6[7/j몍Ȫ~[gbi-YUWs5)C^_n3M BQ y˫R@$0{<(FeHLw !?SSj,w/edj}=WgwRi"ʃM%e1HvkL-+_y1eiH`~T]V?Z(kӶ~ȆT||XX 1Ȼ1WG❾L4{~.22tz*b ̳F|q{mEaDЉE எv~v˩^RLZ8j}ǧoMU3U5.ww}UfiG{v).ZԈʍEdyuʫ}sTv ]zתSWSwYrgmz^ΟɾTvi'LƓ-E_vyȟkN!dw=3M3W uxˤP~i?vZIˇ<,Y}|*3pB˹0Snoӻguw_j 3ߝ3;Fr;mD:7E;g;7H@@D&[aW[iM5LC\XFM.gլ-{|:1m~8<-ҩZ vx@x'~RYʐ<֎,1wvK+3 ՞˦;݅Mq%o5RHeo^tQ2eDaym- s gmj{[AeSArJ/q Ƞ]ᇸxG?8udxFbNC"9ؾn6-m6fl[EfaxE; (B[}{nc|b6\gjlB}w*Idޖ׺L^=o;@W2b0F6Q)tbqJzˈi~RV(«W-{9vQ6WMd*#H4-YT/YS^Mny_ɎSgLq{6I5٠,)x* k'"J0V==-?Y$gۧL8zJ gu|² BL=Xa \2o\͈5Z0ٲjݲ}'Rf*Pap'jDy3dzs!5n ث ̡JMh{+M&[$QG_ӞI"ayHI;ǧ.W"}>c}6]\C*cX R(ʵ[GHq*T.BNdj%]Ί8 Sv{oW6R`b7#9m|wJK9ޝn:7M 'eWye B5-Ggn̲E+K@ж[kzwNfwT/Ț5i q  8# >EC'4vőR a|P`Jh+{ޯA&oٿ$v]r4YFo=] #QrsJJ|ʟtC1OFHi-E|[n'.+t,$IK:P@F!&@ 1ŽJd6Ӹ U9Gg<c=sfd!+)&d&.n:8lguc0'lnv:dXjc64Of{n>?fb%`e+[t^1@h4mbkЦXb/]pIRf*.7C~lix|5M5CXd; 9+:-.^9ϝ.bϵJPW2Ij" Q̗BV.ؗr  U:ckª!:C ,ڔ@r:%l:z9hߧDBozP$*G7P%AV\Flw,s#`lh_2DYe3eۻĻGkޫN09搻DwH:>xI`#kF6p$QSe2+}a%ky$2DG81gGIo7+iNIlNDE$](D2J,*BE1TDfQBe"bh؋ɇ 6$/'2"f;A>>9E[: *tDp>9]}Fd6-1˲B&JDD)t@4ϜW.ۂ,ắ1[]˻iK}VG=Y ClxW03oT~GoSwO<}.^&{'ʜ?S%P ٢r,yWrulgV>م(LC!beJ6w (DK2ƐjJl)#BD8uNrt֛"\"AD/llP +ZB \V^#E yfYn !#^E ߳a.1[qR}LƤ28̙#7.ZꇵSu:H`-%0t2):T qFx,h{J\d,e\1#B~fo͞'+Tn5cEijm}`ӻshTeR)d I2*>۸wD6'Ԙ }ˢTTg>wQ}ZW*iX(ɢZvE+kvg4d KMd>D$hl[A{\1 "#%0Ƃ!3[6?i_?l=K?7Qu*BfܹzB@!$geJRB'Hq4󜁷_s+&|m<9s['vvl1T)867(1R;987?GFikU=.7 z͖}ĺ2cwA( ЕA@ɰZ6ELP+;[T| ڵ'fgm A(2DTiy~OqG13H٦#^D]=5IQ^-{TYB2BTrBulLnOQ)|TJ%Z} lp->rsR8Q]E91coSznǬS"(䥶dIʤV1rG,6MZ/~6,s *`j T dlt fia]U ID-)[yu׬G2UQg@1nR = @_yڂ$s"43۽M 1J%{o{{Flot25GΪ//nP Y쟗s:4:P.J)kEiGHv/iF-SՑ D4\aQud_w>(@ cu*%k&Jb\ V4{73zp=ߴ| \c'qu(wmѣ=6w z3JDeʲ/7sli.m31W1d5Pg#.cTwIT/jxx &;Kp%#oTUδf(c@2JAzPРGne(eTfR(@VXlP!:mDڀoв/BRt-D\ 2\ZJ5˕& 7?o-@̍){#r[fp2gr<3-ga.)~E陪Ӕ$EŅn~!i`8 \djL `63]]%HNד}>_cRO1  Ւsyё6㼕.LGtQFRH4L5rL9#2%9PN48Df#+!.22f\Y9^P NtF( 6%~nH,:\}SBZ4SK++ʍ_i~neE$x儇7֖\Imݚ#7aa,K `)vYcgȳt2')rhBa" D23cfwmiq"R%F,嵄c ZZe׿v`ZT _j^)1Gr)kTFSG$DEDĬMY DPpEqIn4[3$iDb"d"38U, љUFq/g $22#CDʢLzYmF0ÈGj6E:[G҄c58Sq`, tau322P4}?a\NpoӾ) D(cbI P 常$<_Fndy慙ڹ} bV}/Q$a"L(R] !L*5JI!8.4 ?7f\r2YTz<[,[r}5 cO_r<ޜ5Ji4elW@>i(E{o^#גL*n&SKk=w?y76MPnױdrO^wa76ߥTsþqrc뭶TwMtUUUu&bOAqg [;pW/! yхk' ]62K{n-{ގdU;eZ5{eFEy)î[STAC2W prz`3+!2ckG)ˋ>AThU3SJ)UJ t̾>Vɲ=}yv%М:f/CR~% i A0H;8 I!RSz Q,y*9OcFjŜb"c34#7SHR2"iH9P0T$ n7,I B:gHaaY˽P!5`!'`*¬,<+NV\Xhv!f({-Km:5N@3}o N3 6 I8KX ui=!`JL͔Y[G2kLiC)'6l-|NIPmk\; .JX/3_E:K\:c/xgs)oD~ԓ")T a:8ByV;8ZLx bVH ׄ b/eqRN.3EutE*4a<HnlLi=cM  @ 0Կ1Wb8P ,ʮP}~7>JR0V"\2+N y;%k&/u/4ʊH,2d&H#{~]z Op~BFE#2#ıM2zLί&˭X%"eX7WL"6imeA*)ebqB㶮Mڟ LM7D#L-8/42yDE?Y~`~ 0ř 4"AT*`ԫ f#DH &@-Y}SBc>Yb:.֮1駭+g3b[bjD*#9ұw= 2E;"q\ʛ{Wܔ]n_oX֊'^0XsoWMeʥR{iStzu[jXmr2!@`2G1E&de[{W}E6m/y[57Um[g[AVtB'p ̸9SO.D!@yUJ.D]?]iZqt\0?jТ@jrdp4p115USxn1}]rUY'L+eJ۵1G=Wh:wW1nd)'?|'/}B\XjW`$*GH ͙kU1(jB𖷹- p==rFm\>k O-(л2p!E:9k`#-0ls{nd6d,`hGQOggS[#IMD(3&'9756?>|fxQߏ}P-TE-LnK]E)jnՂ'7~s(k{ѦDȖVVʔD9^CJ_kպ$џ9})'&iyxoXri1gއo9GmzeǛ h)\@qeWۣoBi¹,dƤHnSJ2js1箙 []H-}=M;J:ڮP[G7.ֳ֊hO 7 M ,uқ2wdFS2[fOş,hjb 7Go'^ `Lj z0j) 8p:A(x3jTU Jr3ӵUv/Npii`YxK2@5* EA$'YTv)ʞ`*"u0*`ܖTR2cQ&\RȻJoz zLGh:Qݸ5{*lHQY 1>^]IjHNͻ(Pv6Qlwg̮sϩWx iyu/A&@k+3 5`L3k1B6`m -kmxIO>u.f`9]xPFpٍ )BO*g}{ښź]f.q Z !m Cf_ո(jlx?-Mk[-a552 x۸"N =NՌ\6&fŶMMayoRuX5  0eFE+FDe⣒i,)"F}S}C% l~VR@]?[FrEadjzKٛme7a۟ɦbp,880TmVRuJbD9Jb)*[[;Iz"#m؃:`Dѕ^~n(:͕NYH2e1 m㿶Q=.j3nDփI$t-mUE53`ZԩSntԉz`8֊{=މsZYBDK^)HH.ɌdJ4,^Jc 6lM"~ӯRy,_ZC4nl(Pp[AKAz ^iB9F(|,v:Bd 2;#beDdF∪ nEP.2Y` BFF. =Y M!QHiS"bl<:VS`Y'XFV23{l'['(f5s%%{mzfػ!Ѭ$޻ dH:p y9=j4>ubwG>qs 7nO}yx5a,3BH[5kL6캛ԩ<8zɩѳlcG z1"F݄LBQLlyjό6n[gXOD~\8})H,W(f2@3> Zn)2::+F3wcXz*$b“WV(跲(Z#GzWs }Pӵ[7fV6=l&a+)Oج7nv <_ ??l\Gc$f~ߢˆ^b0dR'ΑZK+S J;V*`zY,Iz_kVf[[S:*dZo8o{RdXfoӜ;:lRYnϻ2QN t"Ny7!#XnP.d!RA&ΈNj[Q-ed$Ȋrfnʅ,\CkHO&Hu2R)B5ZWFxYuIJبͤ- ؕW+l DK B .f6OggS#INq*+8::;9CAB-888>CMI7=<::=DFB4=FEn n&v ̽f2zPiǯ lw.:ҊRUҩjN0SP@Q-eDRiKɡLgQ-A8Ҥ3IW@IP*">~徧\-fqX>QdUh3Sʐ(G*Y>-?&*Z(1.Βrt\qeV$-2'3{t)vFcp[Rs7է(-]-AdޭmE2E!1Z |ZCzdO1-$kvruTZ(rox>oGjn,6M`( 6JF K!SVQkbO\pzfDm36m #f,C~ =gM .oo.GV:\;yڍy=kK-/&݋"Q\.zS`10wco1Փ nM- -n~Eזmc,g6@Of:T]efME+2oF=T"o߯@r%οaq~y]9S6cQ* ~LL NVRdyQfQ9 =mAFBdPRٸ"Y-3id(R(G\ D EV+FZ(2% Hd@,ZQ̩ҕ B 98 KMO hKwG$ {m,pa׃(4Ր ;|p1@f00 ;[F|+ 539?y.o+SeV#{Yk{|L܇m}Ck-oɹLʌ)j˸C2v{&S2;I$I jJdOny&i%")tY 2@F*F(&RA%LtW$W#gIHcF^ ts/$5)70nl E -#)x/3Y-P?0p5X|t Vڪ^u/+Sk2[DmQ8f|HF23SJo`VUQ'V?k6.dn32xW.MkR m.ﹱg+2R,l5ۦ檮&mUvK&9R7m2ٲXP_q$Eq_}yD"Zwdz㞽}~u+Bž"Y,} @ݹ/Dxh$ǒR­9 U\v_vpwl&nZNfFa}9=R!a #grWؔ扈NBbcb$*(\,Ôq뭪T+2\Q])\ty'[,{Y7rdէW9bVw>Aʼrg:fuL\VNz.7w}B=4OUsYŸ`rJq)\&j-wF 5d'뤿[Ҝbl0Ѷ`=jtv4x  bMsPUb Sį *&d),6X{?LS;IJUD1\&%vd lo>^ Af?M3ۘgW0v1.HRcfP>[s<{3K[QwG9W˜q߲S&E5M RI&E.1 /S'g+-uj"l)7x{u}C6jujWj:OffbBoѱb`R1^;-yT3\z(n F6ԇc}];J%1E.]J՞Uq3,mnl*|]ƉԎZJI8@9wc$ LO[8wYy޶j+[}&lK/iWm?YdRN~&*fZ*v5rcܻ^ֻ̔VeWpɠ[Ү '=lBtwx7qWκ,w:fFلk{\F67}-+{Ogg"}eNH\RE?`$yxrgj g I ըf%RU/\ⲳ:ee])gWĖ7"0Jg&-hRUZLjYQDH7HqW?b3n;#ʘ.Zr渹{` ck6jw`~WXkk=h/$MȭXt` * ([T>4'O /<k 8;F?``1=$:B߱bu;2Iz|X+mmFxa9E:)l9D<}+eX\n4xb%hP >SO#"{d%rE੤.v3Vzҩ._bq"TW.RcZ #I4W H˅֕PD(4q -8<4{!Ԭjމ5hk9I`igطg\篟\c, JK X`dRUf%o r#eodLշm:t-vXA*@}q~L|*]u7+Z$UL$5s˰L.;Y?,+Β4f(l,40Bp1A"HbcD PgU[KEc1ي HYZTvD^ڪefA#^0l Ys{lMx`8zk2D H-PUc$pA-I$Y_f902_ KοK*m_Z#󘋳sVGQ7jWoD'FAA$ p*f'S.2yJnq$8tSP!&7+鹺dl1Fg*k č&R&Axݏ*e`DI$.ܰB~JNJ N-I.xbMTt73kVi:ǷP `N![Z+z~qXr/mj+Nð;O+[ϵ2d>]FZKq@~_~Sf`%6?`,!#;y`N56۶{@ h)֞GPQSǞ_$&؄$Q6S&oou.'RkK}"/zq="?{y_A=D]E(_-J REdյWx>{ljl[%TWج e TSKƊBVƥ wnR=I)LtE  %d* 01QzC((p9mTLFvA2Ɣ$^+8p֯4ZܵMs,wRF=zN^7X]2j$<=#HIJ<3Ð%Mu:ߠ=|wjt@(+:(1"$SPȑIȭc K)e9 ց BK&| $` 媴V)c:PvJpPB #dm-E/(aVfh_L}Qs.d@₂d$W\dfuo<L^B!n O~hH*9y+ds-o\ t[n@3M[ ɾgOlUH.Qq7JgFOkF)#pW J.X%x|`ߩcV=۫T[/eX;^\jܕ;XPF? A37uQXowwfSgp_?YɭwRӴ"^IC8-;MH{Xw]OE+mL\#-:ÈNk[׽b݅:*=fvQ; $/{e=ԔEk\;M @ @x5VVVuAlFwszo{Ќc̾ca;mg ?xm'wN$bwN}L $ DGΆ8]:(Ҩk}FP%SZ ٹJF%AӨB>"$)nCiYm1Xu>PN;A鰶%\Zm=)>([={F~N͏o_2fp0;aSņ8+ȍ&O6wx"6`C`CY:" oplAὂsͷܝI}hzn" LK jgw9r< zP@eTȋ}qnREqE\(7.6 :v;cZwt]`LXw;P\E.hPF^!>;`따\7*، 0086v=Y K*ݏ9$F(.G *(\㖩dgVZqrMI( n7-UeP(VU "ƤchYJ"b;Z @379N ;[(@uNtJ ~4R}Eenq}FLi([4UbMv~QA-n,8WeD,򡴰Oq_ua(=~Ms{^E/q{3Z۸m<7 `H(plyOzB)E @6^~3S$^~^ZҝEqoi7mdmku3L,)dU:qa/^Ro1XF%?FQ-F)xOK`62ڪƢYDWA!HO(0d W$%k1Y`x5Uc*" |W?hHwZN;nq5y*gS5bˎPP{ЍWzc^#ccw#u"+jS͈g#fZE(ݓ] LAt&RܣZD[L"\f(]qBdHu]\b[$ QL+ dE yDCA'iRٸry\D,a?nnéLBXg]0T0s7Fwpa& Q\ |NE@`R $TM07`3免Z/GEgUGnnZ;7)uw`h4ehF%׊*Ov).=]Or݆[=`U&(JrPn uAue :ѼE[.D lT2rO2=BFb$IdY*᫝SdT22 h"fLDNdWˑ}B`oZ`l:0ndѬ[Gֽ} Ŗx: yQ4hg3SCl?jnX E`רRJPWH߱st:H7>ϪW,fcWS00h-hKkv֠l? " ]-*_[,{7b7(J{P k+H)@ QYIGV'%AVP90&E]mqFzORyTnzBnhfhi' J9'X Qqyp%f5d-vl!eol{#`@ )Leeoy8dntq}K4AF*'g5˜9 e;ej}R@!O팆كKHFp.\EdUUՔ@P\K C 'MB@4(Y} 2`;B5@CnU\ma'ԕqY)J!N[?E(0YM|@}`X[k6ݘxͬ n~FT]}e (@dq*\ nxaVc2{Grѽ"7I|~_U ntnNXmv)hRΫJr vlET6>hme@!hEirh3 &eR@ e$@`L&" Y[]@ RdY2 #er苀O@u@1>3 b:#یrH_׹ŠIm慩^xH |F3g¾ yn H*.Z$pz6%%6e@>^Rv>93?eڳe ڭޫݑYtw>4=(w{oߙ,NWÏ?MZ~Ĉ| 4pjNC V * .wA![qG!Fe-APt7FRd%`Ca'D fQZL!!&3*2dV[7!A Czj8dh>>F<,i871#1G]pKv {.s=npׁJ)X@l)𸷿jTW=ժqRqlN6fmll&٢Z@w&_-֙dy=U[HKYv:U;x{ct\DK #%8D_m ed긾,^ ju3/!\ LA KR#?e=@gEsvMȱ;/[QJd\1smx6tWی7=c&NLIMxQ]W?&m+դz~qʾ%GZ̤Rz;{Xofzy.;5+)CJ[UaPl }]v&B %6NWVJ:#YC,zhz9Hr)f6KHȗn1uUi!-ܜ_^ GZ sdޔ\!gޡkiYb-R^E`tJ&Rnₒt hW`*ܸ  M:AzDD(v%k]/RZLXVa>wM +_HMݶ< j6.8VW^hoZ.dnx1OggS#IP*7;99>>8AGI@)6=;AB@CD0/;6:;:9?DDeТ,S:< Aa?KKH܉k!+k8&CF3&ADA\%1 !?UYJ"Bco "l48ge-5t2c^[ `-ͽ.ү:uVJ&{nvLaI?11*݂͟c)?s08Odv; a Ok0nevC YX2/'ΊiZǔ;$JFBr[vaFGeG& P&W*%RJ-kh*Q\6yyqV%޶7 ))Т$Q>0Z|J(i>c*QiY YV㱣5"a`5*#2 deWBН矣yY*A,k5a(bFWVVus;&:[w[צ+LXXe &P'd@}@>gq*$Ict|Yx߻nevmY{&1^tZ݊ nd-7)_:q< =9;qqon GBbV1xgsmyIvnAӔ2 !FuM9{l"oOg6~0|ZիRf˔߯@,~;Գg;}=8=қ׷[:G<_V]jŏ KBVgz>C݃syTb>Uud}%\S 4ҹX!3KHP Q̼b1M@P!zlDl ɝHKQ q{/] 7\JH+ p0[ta AB=ga=2ȺAMOzmsu [c|!, &8\V>` M. tkԌ)?XaǕoy[/uKtU}̉IEKTPtgw4gtѝϬYT!^ n7wRJ|ă\qS{idBgTJDC#r˸S.6=qR?ְ\EEd"(u4P7>XյeVV\ȍ_ecox[xt/k%mx7UC09q6@ K!/B0:=kkf̔B1Z2sH[*7nOʱ;ijZ>Ix*jN]S|æR|/h/,J9ɿ3pFDQZ݀Vزg}SDh(!gi)DT3h#PB#23HnIJ!:eTٺYVY!)}8΁E?DD-#+ Г@x6vu8fA2ፐӼ->]m޽4l[9p9On5+s8}mP4|s& +J1}f6mT7ňk|f|8T%Ax1>Ȗ4Ȣ® 6*-s؝tٷk{d=77tL6M녠M L$:n`WWE2 im~]yfj$gl~oSЦt G)%}ܛ-1]]js):&UOE%j7yY 6$wU&Wd 0kœOnϴ֧ou!s DEb .槞".#s?$jHw%7K"%amG2{BST?pi1)|P.*)TA Ed<8nf=#R܋N.#7"] Kn",Vf DaR*m :#e<FU^ef pNz˾Iee{׆-wR+0kBwoF/CUā.xA1@.$Lg S$\hc&~7?m\I"݊ [Hh9]=~kL" \B0P@[>"%L:Rtynz-y>x<$Chӱ̓aY/ 8DoS[:UژM楬NqVu  tx?d4&%/ٵVܻIT Vbwd6{;~ |2Iq)L"&xh#㑐v#bFffi({VzaQ65)/`09`; !L|ָ{sYE$x*޸rfY<@*oSaIT,}U%⊳tTxu{`P]O%_|!7)yݿϾ<$Izo9=oۖ+jRe4_˲B)XB(wmWRԹs?1?(.xE7;y_' {c@K@e`6!"ݴbNn7BI6fJ^}i 9`9}O_n3K~˻ZqT}!*b&` m|{Ufhߵuz>7)o&խX.s>So]pnJebpUY W- ʋFT RQ*HRfhtO==˸r a(@> ,v)OggS #IQ"I(<0,!887?A><6DGI/P;<8;;E@5-?FFIf )b۵Fgyh }r.\.$470=AFT9 jٴfmU/\"J Rܓ.\ ,27~E?s|6 ͶI@5 6\(q5Y{mdm Z .J}+˫(޴_wo OLi=-EJW0'cvlжyEl#n;&[d%?jf"%m vS+6ѡAhmuE4rldTOM^Ӏ͕:ɄknI.Oun~wLcZAY?EIcww{aR'M$ 8ɯ$ \rJjT (2׫{]1Xqwj'ꡕDoXB@zT\&, MU=gaR]'l2[%s Bw.Ϸ(NY<e+%ovqSpoKQP뻏6&SG/i<XYl`)UVU`8~:]q dMG9ׯ :*9b*LUiB>ǐXi*" +U5f͗{f$+c4"VHZ)1NVͽsVb'O.t4:hnГ_43bq.N=mA3]4AZ.@uDZb殴ddY3Y} 8 slI%2\LsRDxJ:ա!:9($ % VRt_:* } ɧX]P.noy/Pnj0La:ݫ'ODr>ʅz(2rZÒfnz(Jy 2é{Т GMK Q?Wq2>>J$ֺ1jUuJJ{f: '^ef"_vz TE$ 1\6>EBUBu[wm]fY8s d[5yq N 'H}{leZkk3oY[?޶B]U5/C'h@<5o>;JBHҾ9n^YicKyt!]0E`۶ɈE%v__{YydĞ0sdĦ ,wޱZ+̮˕K.')k:z1DVY]tҡJsONܖβ-?ybfMdMqQdT Ys~{ߕ,nyݻ^^^ԿQ;XTkpN-?k_# oZ#~w =o5oum6:۪UM6uLv9(R0Z%S, @f vD((Vc_m{UXQ7[]}zkfS:iJ(" @ݱ_FؗL,^v?Usz¶\Kǔ]2oi|fSdmzӽ}\#`YHODޣ}۹S^v$uw-'##RdU!.$ɹ Ar !%Ÿ&D eq6 %ixGdEFu "`ߌUP\H1bMc g$x?+."WDD- 0 `[o,%a8d/S=+:7 iBe|=D(cʔoo tԨn9 PDJ6=$#K"`KV7PS.۾t:{T̲],qNIg"K9<}pVL])ݾYUiT1cxFPtu)Fj*0(]ia2DJnz Ĵ ^2r7,T7 )#c”t &hMz @vBb*IOLĔ"u-tvB.SʸйDV2 K'YȐ"7%5j6{y2A@{5f . e3`oe q8^w\WLB/@m @ `?}bj4oPxUJtgf`'XmjiTޔb TƚnI-A#$ Gw$zW1΋5ekݰfFT+,OV2*U'ػ[Ciیk9i6l"sҘ)#Qilg Ek!g*򔹈jfq%xǖϻ]Z|4) Q7-c #Me"j7W[8Ѳ_:5yN >e)ʾ$BG~V$vpZ7+ki-[Df)#@sU'gҒ锛ه~TA էͶuB&,Uig掰Srr#i/ɀ N&gZ‰UOM1U^ {Hc^y>),4 #α6~ +VͯW TkP8 ~#eidqo $3> rm1U*6˱auS! x}Ṻ?JU3_Ϟj*P]=m@AQ;R ?G@wPG.V avAhQA bNKB;BM٤n;r\ʬ웎'oVExUe{QA3׭mջt )C3TwӍd̻#\glFly%fGQKa/eܥ PpV*ǼD(3;۰A HYTNx'.]^DP޳U,߾;?ǥ/TXp{,pkn~08^94aT_|#a-@5"B3S J mSN%˳ǝG0Ŭ/Ͳ&,VRH1RgTؘeO̎R0eqsk&- /!'ИoNsA] OE`۽JFV &X^k,RJ=x:Mc=0+) MAN8A&iz,P<<==8BCGA%-99EA@I6 ':>EC+pkkvcx9`XO{M6_8`oƭ,&eEgtEMgC)'xJON͸iNc7a -ԐG>Xꈑ@4mR5ikr;Ae-L?6(wUbA~*xZ$L&ۏ\6FFW64!nfM7^_FV\$^A2WC-ZL_uKnz2?Eu!d\n,_X3r1ܣ@u=ԹmGCxz1U%ţv\%t=:7Vg K2ts˽d3BP.Er}@/k'Yd| )~Okn܅Ca;J(EU]]Wu]]]:jmku|ŕ667j3-er^T֐1~6Ri=՞k-^Z- /YMx>[ڳ^Jb%\3qR*t4gf]e@^h;Z EbUT} 4BWF-"p !k B60ꩩR@?"Gm,{壵b;0-CH-]2=r59 NGۈ4ݰK&!Rv w&uJq^7罨Zrȶw}vgF]/:2sE.G\ ˌBTE+}TZ82'"du NdNT'*'dVH̀ljtlSHfG s(,{Y=! 0C +߬kCn: ̑܂qOTe 0Է mRO\`_֪ D*R[^fŭvUKuȢM@3WK ޕ(1֥ahH8w^!UEEِ{%B!32ꑕ:CE2#=Cbq})SD*Q*aOڰ"0;F(aXG豒' +-6 r Zv,Gy\@S٬~+k hf Ω9ai6Xj/ Z-svDkel{]ˍՊX /J-fo$ڰpsU4QЖ~O/Vx@}|%Y8;$36Yp.k>Bڔm/J,{ ve|$em\e~dWI9D*J!HZP >l][FKg+oʿl{%ޢֶ;lzo۪zKA(F PHƬ><5oleOjC;}(k8qf߆_gcdҨu- KڼV(=<.v2eI<qER( (a:DYXy)VN 2LATYc$WjI(-:LcD5#e7QdUBNdd9KRI3e%p ͕O1$" ?(,,+eng5JW6 BRUEb"L-6 lAЕ\.R2`2^gP~!2i@~HZTBüfTM{kIḑL*f <\~|u3<{G'c }F]p ^@5ܠ3# /z=Zi/etQ^xC ̴ csYօT42Ur+kI#AR*0"K6r, Hɘ:B+{_Ͽa}>_;ϟK]N|tMa.T6<W9 %](T0)(4& vVG57vji 2D5)IFc2[\XI.eˊAdSHBu#Rz}hSV # 'b&iJ ᴵ* Ubb;=s=Dcq׻Mkƒ`k4Q`Hj B  LɗU hYEHAJ; RUfofƙOF>mu!dGESc,HhӿrA!|6*9'RK2Y!$t׈%Fd.BiCt8 d7q <@)b9Se wZ.+Β-eDZt_#J ^]c)IP[_/M0FV4*5s#HjrPhazMl3cVR&oRXS<㛶v^em/R:_YMq q.CTQ~+ɉs^/=qf1Vɠ lwіv6EPb>$岊eJF6S%2@Av5յ6&2 2q Lz3 ť+*8*H +tek(% \,-tu"cL~OggS#IS3" '35;@FFB>6LCGEI.*-4=:==::;EF=HO0 !&u/D{1FD4_lc5tl0G60hL"d="putL ӽ^ўZۊa7ZӬ\:7vMYL^qk?&6n`yoGr}}=>(VULzVe7{ Z:JӾ,æG fg89)t:~g ::ؿYM:ZBIաriRV.BNQRa7t^wg2Q]UVW/_¬.˹jxlq89m˻秌.巠U܎5tAlE9jOzm̷to];Eu6;ۯ( {;pFaU:M5։ڴ,`0`J枹iCmcWkw8W(lզsgoyv+=9ۗcfq\Ba-8=2~|O΋qPMn>%ٿ!C3c \ VL0v7E`8G>+Gۤ Q6T\&FHVϱc,z#ނLU/8'K?t2{Z:ܮ^Jŗl(~J!UEq zy T~(;P@[ >L%'znuDɚ{ft[٦OC5)&\ϼ_Eǻބՙgs~O=7ezhzѮ-z_꾌SL5aLD֙f3?Y݊FZJlztD v yďBJ7>XP('!Xc;ėdC\l( HuVo0=8͸Mqyzio=0HُQ㳍q_EE_ G3)`zӧ} g(q3)@^KCO {B  ;c;?vRlӛv3ϝ>D1wgņ'{9?J=um{-><\}u 7^وy=Ր;wۯ]g_-?t#3xSX^L4wsYz&L' d6WehH-p4<£:Dk5-G%[,޴յUXKlt{3j6T"K\UZW c)'|s?yS݉tղuͨҵknwVU۪Y9{S TJ&:jdR[BW^$WWKL3Uul2Junu'2{),Kg69hʅ|"D"D= QP; &*כzcUJ?qe]M4]Xwm2opZsoRXAwz\kRrot{QwUU{d)@L䄐rkjSxOJuTpV^Z1|]t6'bߥ4:H`*(?SD+seEV]TzBGP\b'o O(7LȺf shVD-fM4~ ٽf-z)SqlT MZO)odPDP78&k, `j)eV0< 6O~%T/כoQ^C?;IBBRW 9HUtsg73Ksh}7rNR+i9Y)XQ|nʝ"wjMBYQT][]mX$<\Kۗ@܋0 Vka]utx#N{l,#zfrRIvM|-}Xf@W*s=Mtx<k.>oWƨD4cJ'EGxI%\ PU92%)LDBS99n` NHJ%a)V])@f{UQ%gsioG9 ʚ4d#GV hANBƘa[z ~[.mX bϐ% 0 l2.@~K 'W}IT`(Oi[ARf1 u'/G#68Rc&ɴ{o ]k};l.8RA]h/$Iʦx).܇[.GJU-wT)(R˕Rʸǥ8(;TE%+XM`@dT#ձoէI-Gّ'* ;=ǰ d:Ur-'BIAAY A)AwgGŷ-fڸVnQHr7(IȬ5u8 w6'q @(;y"pPa3fLeZaN_EZMV/_nk~dĚ]Ndc QJe$ΣiD5S!v:SGBK=WT^9ʆK yv#3/+*tUb"Fl)'G4q1(y'LVZ'o^wH ,n*˓侟SVv;S#6DZG>X̺-?Dn9-Y$?i%(k"-+Ic HLRB&vLgq89Ө~7n{H\.¸i}VO\ޛ1 aW~OT'"Ȍ,4jt`!d25XF|!EuwPSo&??پ1TF=u^'BL%/2-n==ND$rFcЀ M}FbW3[G l.5oWv<LB#![*/8h %&~^+nt f>Ū)Lڢܕ=0|8r54l 'tTM]IlsJ5vK7)Kyˬt(LH@BWK|P$?ur=y1,:j|TYOikj-w m\hWpi ڮmݶqo=킭U_[v,|6) RL54\bo/gʶV%gkf㷇dTYd\8RKMe~k$d0|G/㻸ĵB7g ݓSd<;DADH:7=:@?CAP9!(>:779:6:79ơ#-̴Yȏkd[c;=aM2j̔eխ څ]šͽz|=luۗX_^VHvڼQͷLC%d7C&O*ʷ='2>]\c3n[،"9D8Ȍ#+蓅\I"<): I BRۤIDj 3LBjtJ(& rT"̂O .heiE!rm $*Bsbv pө% (&(@ݵJޚ *+&c`< _/g7{K&Ue@zgg@" *|aބpE_1 =Vy)\hgt'L /@l) ⟝ڥIɑFL Due5N2GrՌ5^9\]i̚NbP  ?Z2.*qՔC=޲[hN0/ ʔNOŤ8Tr9R/^ d~(7u0DM2Mv)8D [7)E%{(HPo#Z+G-n`멝-Y&XRң2N6ba?JOy^7!fw`n)-y[nu۝JʂU,}}呯b<,/ UVH҄΁Fe؈/H鞰k˕$55eff~WF2f=F_g웯ĥbxuk~݈ZRkwWyKPM+OZUb2)sSd\Q E"D4AHGa62,[J9 Fyúa"^"O %QB$5!(0ICDgm2 ޲Zh4 x/Aܽk8^( [P6 ,0*.VCe?$-pWو(A+$IF2y+Mn^_xu6;vj0#=m:em9"|]r߻\efZyC7˯Re2;.{)iNQIDWS;(428bo-%Ph4#儈!E2 jF݈ f*0 HRERdaCPI+nn*RJWBQ@{6`t} scgM){Ԩeulgt3d0ܝ{oֵm+xl:UeRdtfEhe".Pӯ7XgUC]zhK]zw׋[;]쉬) ̊(nePRPiv)ëUD[؊;_r}zZ4vYb!uNu/6EG#$+i T/?9{s7.Ŗ/wz+PEV!9]@)Gfrl yiuf)NLUI$Ȩ[z5P UNOˣ0!EMYNFltQV>W䪰_}7TF9V6{\{'+qZW+Q'BesI&f}w\O~ogՕY XJ]`U JJ DPr޵N]nK 㮺ofL$IJ^{+~F%(477z˒aj*[)R.l56Z,Ŕ=*EQliլDOO*ΨW8ɬCv.ʙF^Fr-:s8[ y$2䪓Lcni@Aڽb{$rrUN8kdp+ DiN,vUALه*MANr6w3wI.foFH&t5fxa!LơC +t:eeRn8lXPå}dɁHܧl4%)gj{X2#3~83Io,GV1N\^C8^BbG%Ts{BNHO!X64\Ҧ=RhfPJ7LRh 9k7#\4'K+S͎YQ#=,̉j! eTWF.9- ")焢eT 6!Rf'Y)`B¢nbqS6H&6\H? I".FF49 30TcItfK1B S_YРiH[j!  踻Svg6(Ȣ!%AΔ]2?PD{ۮQU DLC+]nOu>>Ӵ'ps2fǙwsyηg  ^1څz r1`q5d_ uSٜxtVW-v1)(1{J.+#3Ȏr,KstG۝ re1 & Ea LY9.NNd\re4v`AV2qreঔZZѶ5WPG{<s;(dY GF34-љQ2#sð4r116HiD &Ʊ9Bl tp] M۟vHd%2ZotIWII6n ަh,ցRBA]Lu.%QQjmAkKpr @ڊ/kE&/3&IjJ# d4^ }nxN4A\eD&+lj[BQ^yf5$uݢ=Yvθu xT%瞵Cש^㵝}fLg{mȲGq,")8tH@_t~7̰(eIMWsh>xjmG36OggS@#IU5':B?/&348FA8D?4EID66;99:?B#ڊB,z--20ތ޴MbV8I>I8ͭz2,N]|BXA׫c-+VqQTe~f %Ѷ4.l!۲[ao{oJ.k6D.n>j@Q?uG%%7D5y-#sܤyz~ccӺ n[*}Ў|yX1Ih?"!Nߍq-7eeV~ /uze:;d)6l-=[‹ܭArȒuBuFyW3|%g*:ݒmT̔y6{*f2mعb+-GLGҥS-RUB*{ھ@&m*B*oHʈ9s"I}B5ޑ,L)'OGJD⦦MM<]V:WjD\:J-wosAl6y+(s3ʘiQ+yU^IA 0ۺ͈C ]*42Q()e5Y qyúmv￱ 4):=G6*e42qLM*qRsCߟVqFiLa" $-H<2)pQARD+Hr"2ҥ X\pm\ff$q) ) D&o w iR\5E}Xg ܞ&cy'_p7JA>Wa1[}ỳJ:mYMVozg+"[nCj{bYzj[[R|E4eVtT=J*:6J(ZDdȯsZelXvpA7XWh2~JaNUcexuyl]ڎ7%)\]L__Fɳ=)b\,1 ctw{?UZ6o ! YFz+W"T暤=Jƒvݦj;.1m#2#WiUVAm {/V5C7YM~ -KۜҊ67q Cؓ&4 .᷹Z("|i#a8Nd3{sǶ*+Y5mswk#^wB A Nё-)=g~x.oҢ SV >xչgأ[ϲEn>qp$ ĕ,TБ{3"#C:f]f*9.sۂkjI*#Õ>5JD:Rc\EcF"o%?2vTӒi>X+]ވg,^-`HpZŠc@ pj.* 3<2{70ԿZ\z{mk)k{V{fi~^:OA츈P3vE̼RUYhZf چ\^ +Ij{\//}_o:N~a@@Vh>>̇|ܛzwVrԟȻB}L.M_[q++wבpSQƪL {S(gTHn1]2@:UrtR+"Q"I#Ս\LKc8c,G0FMpn)~L*JM?<(Ca?zEGkn0mf?ͳĤ ,J>7π`␕W++efP=RZ$HJ՘MlW}Y.HqRrmPkmS)' ^kueI2! #??*_7b[uT3dt n7EN4(54I'rf.oR|yۅbV& ruP).+3LйB#(V.CLzt%/)9SHو=B$T`YK%<aYOp#+z;AV `enZ^/ZZSq7#д94 = r.< u"Qe%%:i.vwEDeYn~vͬF*!`ze5~Ȇ-;G TٌDr==ftFzub&{%>*3  >b(QX8Jj.=<6;9:DDD. ;7;=??;/44BE88E(3" K7U>%6=gH- Q,rf]+ۦUuEkmd>'PZzP*@2lFj~(S ʲ̟R-Ӳ]٘ П| mj,|AC&qMn&hKi3"2j%MTY(HR\A"sJPHF UXIQt9EF54G ५(}UMb#"7GRrBeK(Hi%oe!e[ m-&%p[31zf9-dcNbwF >S 0D?]KWٓtfg KǬtu$J2VwУ.@tå@Ʉ/~lihօEC4>1mYK]Kix,@{e/eigh2.WM=޾R^kF޻e Kl)bНCYl"T%n(Dk$Ϧ"yke˾6?c^ {F*e?{ιZ +roWoGZ;rqp #h+4[*P *""A|(c4XG \t˨(#R034#Ag1#%Rl@(2-"72@Y9W{}S8H6} .e_FF]"), (^"n ݁dV}Mv2ںA@tmܘ |K]m ~&jyʠT@!/8x{(UfU[+|?uX͆d!EW\>ކ';)@ҖDEw岘(uD#&*eWL4$' I2"+*D!p) HB0rΠ7^}T+sS`1G%`'4eG.Rx{d R c[P0:f}  Ѓei`Mkfh /hr.h( *A"TkcHo@" IfefJٳ|zF6|8Y5Nu1q3L=͕7_ۓը%p{ j [aaFX) Ȩ] riBx!P|&(&\"N+HY9BȤ}7BRFfg){Q=@zz! Od0$o-vu8GiQ `0>d @m"4pت}l7Q| u@f, P 1"__Un1"u+)OkcܱYXfa [j+(kɨvVV9FeALfnz`Z~YwdވSҰ"sg @V+8p%͝ RFdE{TY9\֊}2 _q_6hYb2 ]̍wmqoc[i"TO }HR?nҕDE ?-vT S.\awZynK\udiuyb@u`uUo-C!cYf֕}e>,;E_nf͠sֵZD+"* )iAh$XbSB OCOz٥̧0iix7}p6?rr07eƧv,90GjQd!`L.e!"*!(4D $KrZL@FX"I#4EFf2[ NZiQʌ"U A' {8#WtT-ŚAI,$ r[ #Iؼ+2 P@^ABdN KP9%H"[,r.qhP=({2A eD]>7MqE)8Jf5"ѩrF&ax̰a۲X^`(˭^G~~:fAS0|\> }z9@*VU\>@ eYk}aNu3qCF9[DQk]X!F&(DF͎BYzPi2 }+̻ sPj)`Y,!咂z wNX|8D1"+j%R>d{WIkŀ5r`KrC`2##+ Z@h``bna:aFû^kkYوanӛ5[@/lW04ט% EZɽ'o MΆ c ޵SdJ!u\-jz܍ze6iT]Sg͞J VE)j|Qi@ٹ<9si:bJFZW+ڴP;C5&\̔Rd6tȐ!T˥ bnB\0T#%::KBb,(]R+6 VCZ#e)U @67 q/M=n2=K0͔֝S*\Gn"0{7l@%V;`ȌXVJỳd,JU]|W1ΚtX dfTtt!YzЀ䅏̓D%$vNsWm""TC~AׇR.+puK1fDh! AK2 ]D^FJAViYRVH)\@%Heli69qmy$3Bl73^̱$Xhsf`Gnƹ12ѺCP2.vtbQjrp [%> *p^;F)n~?᧸u5꘤im[S\WrW$՝AzǤ@(JuQD' XŹͥt8ˑ3(ANkq0}WB.EX ]]Ք Gr:]WHEuz#&DIH%d, 2A'rŊ)4F-`,BW`#ȒCC[P) XӱA™T%`ڐC-;c0CW?6WFud"5Ecjah4a$-t'@R%xc9%6 %"Uۛ* $2#+LG.2e%W+f!QF(Ė>/=Y,V[OggSG#IW_2B 50<>D=*%8BGCN=.,--.+g,dM9'u&^-x_72^l82yd̸.>h֚W Kkɸ͐}*4䗞-اv  پZ)!Z-$|Ⱦ d2ZRЮq:3ȒU%Q VB$DQ)@_NAFB:nȴs%d"@R2"0! P !4SfAqTNO$w= i("`\pn)L0,459γ=sA(el/;[~~) 8q[Ít\4 SgS:JbCh>+dL>ഭɺ({pH $T,D"#) {2苔xQU]Gp$ci^@fvX}o[02EF``Ј b u$J Ȅ(( Yf<;1)OGUG1]FNe{9/5 1 dT"&]5[=Jzct kTbMo}nm,ns^lKԚ߁N-=,Z**iijR\ݻwk7YZz7s/k l>2%B̻>E4zMS# hY#X{ay҆v*=M8(SV?y)"iPSoF;i @ SV`4hY&WaSEZ?=<,Cϣ"!Wɳ7JP1!?,4Jߩw>"\[ WB(I$YZ JW"16mT9}ol5fC!l:5D=towtm9UiN).Hu 8О˽#k h{ ݎa@X`bG-Y)\UC>W^8E"ŽAHL#ª]?(BH`"lؘYbn7%24&T!k9MK ?"G TxQpM,-_Ikt Р1E s>>'{gTM "]tրoVZQeb)մ+u?V?MvgAνj(*թXe#e" ܖ%6? KeKND5Zr6#ZZn,d2˒]%Qs92Rx HNYX@:&@! A0+2٩Mϋ`ɼO 8m792EԊ"xy ^+^ǹBl.Es )%qeX@  $ULʴ^?H'TUp2Ms-3)jfwz}wuLAi⇃ŭQˎˡ;pQEw#؞J)dep2(ɍt<L,WRToSa30Xq[yYz 'U+7ӕD^ٱ"QTqIaf TmU3(mYgI1k wz|Epw8\DLU~I9R %$ytjY;{V6H}9X2SoXjl_loO\[ow^E!{PUQxbvi vN&)ZuX43xN^*`C'IDlp-*#H 22Mve倨SSisR̤30*+o/uQSh AekW#EXk- A0'funn,1qۆ6*tlɻ3_n J0(LA!C)˧JAs!??a~@r (x7@SeeF~y|:;>^i}>VJޯVx E5 iLj _~* M@5-J8P7`=!% y4՛[:B+/HgVIdM3*ػR&[n\1Hg/.x\"(5y-{pl Z2(EWa>RVK2K4b#=_n_WlǺ +-sȬѶwѳZ#FLމu>^0$XPcR&?6w>^;6|pǞo$#l=8FuDTiUTH+*̑"U! *]2 vgAD*$((f3*xQHT{+D qA4s9 w 0b̺sYH)`A$KPLϱ) $I:A8.h>MjS;u 02l]l:F&DncԬNvbOggSx#IX[U":>>F?GS+<8<;CBH@&%2@F?SUety#hwR>}s +@cjT)D"o,Fvo;͍v0a_zm/]"Yc[5>; t=zBťhsYxrq[' }EuTaq<_^oySuMJ\\^5Z0H* $3ex)mB\d,EBNYSb)"CVJhjD!xc0)#`Iؙѝ[5^fklmXjp( f3%#RS7̥^z ĥc8c!`νNE 1&'6Qhmꑕd>DڔhKbW.(-oW6MyO9K(4bb =@|MyU"C'KݪtEQ3wloV=ێ]l*uW $Yϩfku,\U?}2 8Piܲn(@ =GciP]}~9pv>[:Z:4ury}:iʇSn'Jӱ??Ǥ] , `u)%@"l@qQ7㶯uM6{<>s]Yڝ=ݳp{z]WULB#9tPճN͢ŨXA@XckJFa$ @"oS}DKS0Zl%"\ sKIhYh(mod@p=lzq-`galfӐ|YjS^L2UGaNAd%H}Aҏq[gK(co F)32_+ =zJYoro$xcip76 _0{hEZZ3!ڭ?/('j~Nłj'eg7Y:Tɫ8E[HH\Bk~E·7j*JQFF)d bCKd2(8p5vɔ^% ՁvJ9c0ۻ2z =k(#dجm7T^e/9oPv9ĀJ)HJ<+bok,Hca"f2 ow~ٺҧ u6Ε: B^=ܣJ2By4D@m*=w'[wZPԗ?-la$ZT y2uG57[ ĪUm\r⦚lBD\:32:er4iBǃ`DKr$IØFa!0;#n" nA¦M)p_!0ZLC,k͝€džm'f7ձt?6T:u$өe~% ]gپ1A_D"wlꑇUb~4&X+M`\ *,GWwB~Re"cV2l?br3KdkbO0C_ 9S+R =6ae7~7c.ʢ |@>PP @?w:p>0Bh/=Uմ^\[Gnow]׵cCd13],"/Kn?/1laf !{mն*iwVVa[SF K Hp\/xH"sMb_@Ӡ{a| mb۾B$۴lNd#=U3N R:A@!zkW$6JUݿ2}+509hBYcw*ٽ҃t":w6R%fk&V#gwCubHgޟwC*u~3*9޿;.Ll%jf.@y%EvNDƛ~ `Έη\0F /=JFHlPfZmbC_Rx{wbCX  x7՜ &5mSPRnY$*pTOI^.$^ 4y3fVG`:6v)kHC떑k\OG(5;tk{ {/@GzD ż\3w捆d~o㵽yjtSBK҈d@ttZouOnnۨے(DD䶻Iۡ"{OQ^㥪g@RrswWJ۸̽l2@ U.6MWPecRF콃ë[zgL6Xo~1vv,SdǢyGOp̙C|Ϥz"kA?ڗTIT|"PPSUff>89:I/Y)=U`̤Ug~QAtK.C.CotT|tJ2" tK…Lq"Ź=4{ύrdF04{+7mno :/#c $\Flf + o c0ԍȡDzJMF@ N2Ji.od\&hL1.W[GV/),o9[΀R~͙EOQDN4rh]".LI%%zNaH`F?5Ǖ暼^sg3ߘCq-PE}w?-SʃϽ;"\p\@gNOdF[-E!|@ha%9řI, "{ \kdV! ESF.K:#يPV^D@d9H!e0D@Ni X0@Z:^e,Tݤm}ŮaSs dW.p:*D*o[%4M!7n&engAM@Re&N1hY5CWܱr$Rdkvڇsqf(U֤< @ʼ)G8&} Zͳw)YJ7Ai 5#WKHjdXd$&J,7W$iEc2$V>8J bd=dArbD|6Hi..$`L{'95nfd@;E[A \: ye[.J1{b ^= 4a7Ld.[ۖ7{m ݫQ(M{%FbVxN )P$dO~Z步Vyay*ioUL:*Z Ȍqt2.1/z-6L&b Bb骤tH[h'grbz#OM {X,噧{m]aZ+۶mU\R?`ј|P'oZ+p XTba);^T^ [Bu48j gUuY<I|OwMlHd+`yorH@*JU#_s~_Pכ9 nFaT9lLrΊEݨDV3V":`RWyJʸZDg˽;7Nb4gw zD'c$̧E 6ʬLfvd 3JyM_[N7*(:R7MG&\ fgh>+QQ A=N%%qy}680/*(q{Ӳzk$YvTCKhչ u *t$6%K}Β: @&:T_4g[ D:8Yv3~{Z> 0w`C3, gWRB>3VrG1R6ғU Om(l xYpmږyO.pfؘp(Fj " j px4!ZRp t*# !׳ԩϊiBg<7 ;^pц#FղlDgX,(*{mVlm}tJ'l>t*+ Kk(Q T(t.bh,#ߴ{$7wbO2K3hHmyV}`r*b;{ ^ `fllR%o}Eo.HځkH_<&g_Ox<>O-i+=WB EM[C.TwrEUu ]{{V%nյWC%2+ (3$gWNHQ͉Brc,U2f7L%qc*'JXE6E Rm'OOggS#IZk"+4=:=<=8BB9J:;;A@FR;<:9::id@P쥰Wȹ~$G߶iD^You {,1}tƜJ`\ncko"`n #qYP8O唣Jŀ8Yنfl @KzDK-G91/y}`YFzO*{m)s[[tp[lfy|"u:ASM 9c/*<%[EFU4rn&5VׄQ(S{F@༂;jd<E]Fr r"D9"Oݵ]Үu;z5>DbA߹. >jH!󑴃l'f43j j?RZRfqrt%Q,+tWskO CJF[k|xVoyqW|X׊KQ7 ]4hU324ؓ*;@q ܂LW,W"RW@dʹF\)Ս{&E !cD܄L$ۛ. bMEtA8Da?QBW8ymc6acfFw MJ`ZȂ; Jj Li9XΊRn l<̭8{]k_QV/ /~<:2"RH' ~Ds徛l{0T>]N o+#WubFF r@0]TRT8d\!@ȊE @2f ^V4uF"M|`ƭ46b2pi!m!gz7fj xY%@3킄GB0-L@ X6H@̌23Yˏ}&Uvۛ>,+XJ8#|[y\s(ZC<$ovqM6*fzBtkQx$w|{rɦ98|tu+kb"2R,+%ΤʦS"RDN(Qb[$Ed)dđRK_G ,rX+(3UgXd@(~?u@nl9F [h0pb&(Vn\6]L4Hm/df:J•cUմ#ˀgdb.i\>?2sB2սUʩDv=S:d B+e5U޸Uq6+Vx+ld qW46pKV7-|4.uߤ"S7TȆ`{gݶuYiof&Td뼱RK" B- pW~dKfJM6q]퍟Ǿ?J/U/ix\ ~ɷ[=1q&G&7|_Y7ruMDғ犅(]t&jO+Sd$#eba*XHn+64t20u31,wΠJuBuV ` ݒ m Fa+YV8.򹌧7ؖD\#{iǬn6nJRon جAUk%BMȺq2gng1bDjnXk2 #v{ޞG|HA]r5֧Z#]TG\$&HD>z+]tZ}{Ɏֶ-rgalyL%dYU@S[n&5s IYuPPȑĞ*﬛?!̯􉁃V0j_S*E|g3%عl7Ԡl}|~c(cIXyv#&>hEs;Qx̬LX wick_G2t X!DOlUadng.(JV5YAC*GB `|weI:h2l Tک7~z7&)-Vb;+O7O:DbTHO72T +.39D<;d me6l8+:PZg;;"!Y}^]S8R1#U\zfy5{zx=V5Gl6qsW=۸QB݂l}# qN#eo+ڶM)[ݙBqXxBZMщpX_\ ("ya=sId@ ,\qyY+gvC~_n:%cflﮢ+Օ GwuԘyEml=->xrT$;D;] O Dy9&{Ul NPVDd fU8me@y=fDy"Ͱ R r J\I {Aq {|tUF.7#'}aڰ{̓ n0]Zb3gml*3KcP/p <^J}1gjDT){{m> H@{K@ pHTI*Xr6<=1m?g>u- hL D n} h.':\ޥ(mڞ&dvdDhPkY픤k!&R*2ROB谸 rY9 p&D؂%,Ѐ:*$8a$Twp0fJ+^s5kL^^spA؇XT\THﲖ!cH $1Uefx11S]̏(䷟!ZZG@VuQgVI'1k6׫4dĖ_Rݴ# YdD> RƚUJEɊ))Oo⫓~iG 7@r"zl NAB&qA$f fN)H͍(ٸv)֤]a/Rfev`dx?Q9gҀ v*}R@BOU A$"Nʧ?.rKA Vw,#=pof4?;ͫ}?S>l|`!0(::@C7)J;DDACBB><1I@A`8 t^frC.YnTonz.@)rQ8 s#UN;D&ybGEL(ۙ D~P SeL)ȿ,_+5M&8aSOp4V:ir㺱.Ėy9_ |pJ\#O.'Rj%WIQ!̜K"Sз,[[ C|%$dɕxqfHH8D=K  ɝ,K+8'"%5*BB˂ !d20.&]l1k!50`9s))TZq7>:Ԋv,K1U(2~-V: HF}hbV[Ԍ>d5# P č*2V|dZPaNYQS%eڷٻת;|6\B'Қȁ˧ F T#\L_)}OC^v5½0Lby;XfJGM Wj\̹O\zW4"\~bsiO3ftu!ג3efdGIYc/\/[ 9@vkTY٘W@|f,;UčGoS:3T'{});\J+/t@?ɽ<4H/ n9&*-]-E3Uaz6 $AS?"p딽t#tS^Gx٥{Tܞ6i>ۨPfL5bp]_uYpkj-9A _( GIw/.֛ιibj$_`p#:u"gBsÇ#y"֖QOZ_ e?B UP @ G2`їl,7! !O*C:4d6fj$N<:DxɆ1@f{Ƣ7ޔ.̺_-˜>A&\X^lo.R ,~1pTG4$ywPp@2,`zSjjܤi1y?ny LJ ˽3< QAd:j~Jigq=Ͻ7%:i\ٛoәpŪ¬:}q{cԷ-[TeO{@zFmyf‘!dTo5=p%c@U^7Mם1+7[="wrhh!obnn,fJlXt=u2 fbW$ݶ z]e+Dٔ=wZܠHfxvy5x^KMIXtAH9̦K!A0d-C~Է)$`0j̽']I ǔ:z4|]* T[P@$.> |;ݪn;#Ф daj_6=.g)BNY ?PlL0r 7D QT{C{Ta6+fb4mNo\NsU9TW}ݴ5=Ɍ&- b&hH茘S>`ޭm ZIoU#5mdd+lV6C)3^墁UO^*3pURA2 XJV1?_?A28P/yS6f2eoe/e8]mD7B1wKJu~ςΡM_\8Sp)UwQ T+)m!m dDԾmIT``#R|\ƒ\V9q.iPy3#WA+FdA*lgƭx^-Q-cz 璭(9=$fVҙzzFy{ae ڢ C e. ѲPQ#d$׵J-RF#kNFVʴ@f Lw("cN>]!k8 l$SS)S/nt@'#h>^n]+'뗬WPʔI)tj7tȫr]_Y鮘w!r тޣ 0A"Ş,ic7{Ud-@ĚP9n:;"{eK^-2ӇvɮL0[fwc̭B$8܄qK4 NC6t +*.6qTd vHݘ7m6f¥8ug/ʻ^챶 9t$8+\0U'@^~V{u9I3uA32Rw)Yخi T#L&bd@2ʬ(;=@럪-H'tS{wI[}WZ+z+UT]g̾ӰD4"c{UJI*ֿ`Wz|Wgtam|{*f6.J3lzDuKGqosab# 8y!C(ʅ)XȰY8&2DV[#(NR. ". `f3 TDUc4)#.Wq dD$R\ٴ0DjHS- '3r*%+)=9OggS=#I\&=<<7;;=;CCF7!48=GA?CE/+"2E?rA^`@T(ѴHL v ^Wqhf{N#D-bTI7M2rF0Y{K$zĥ>SY/Ӭ <GbZWEpVλ/pJ={JeMIO;)S{/ -֊ĴhtkD0R^L*e5;f"mչ(Ću4O  uFjd$s'x"UjJU5^\(2ʊ(UW xdkFASQ)E`s'-YCk0]L¦jPطfyLo> 60*֢i|vCˋc Ld J]-R$2c Ei(ápltMdZވzE>PycY]Ue(R$])uh)H;L0W*<Se~' 1/:yYi L,\SLD\uX%<'}rz.%NusV 'zיq7t9zG@L<9BD& 1ejW^9)謠;2#23-jH)e%Y R 3"vΖ2t'Yv +O sM^_߶\Q ,M7A#q<$rw[,)@Fc V[5N݊JJ.*i&D줪b;s͓znmoٞ~L_$at e:vurU{̱8v̾Nʮt뼕l-@\ʤ d#ewo9qwEboRcOVGdq}苯||2?hon?J?Ϳ:Kgڢb eme&EiYgTyWԶ;U:oKO))vKj{!"*qi݉ۗ+G5wY<;'ʕ+GN4W -NRD6դ[XY5Yk]m<]Y]5Z*ryqӰ{)ws+DGݩ~T=2 @&pgLYðQ3D\8#ʤ~H  ʕX2 N@ ?$-0LR5(e_ct= oO擣N=#:/q>71_*7J!뽞Kah~xQ-W&⪥CDtNẓ.dRbDJ!@hĕq\9mMM 誜hplQ.uWG7 3Ex{!fYD"ed(f`pXcֶbr!d7pn: i3η0|;Bn&S "[6Xӌsc 9^ q1TN FeF8VD'o} e `;橙Q&{/h..l8oi]ı'2)qMy%L\d\K(d39vDX*ε4h J@\cOq61n4V  BsJW M؂)nUq#HZU'rUMYD8FoT͍] L#pLM>lvDjvXE:e3c@&AB8raąH5W5Th+ޔ)YٓZR=n\ 'ٲNi1-^cW&JxBKx8h= m55Q>qtiBqDV"SuJ) 'QH, ePYMD+&ޕ,B`9A bq* pB1T7NNg^NQJ7 HA6z} `銔j↖j=xx \.1FsK@L͆™7n.@`w^*jxOKI8DqL@ߐ{몴)i਒͔~1sV)uL-"KT\iQI⥓Q==9' V V4Y Ee,o_CH):>Y%ԄX5++nq,CJRÍ=nD) $9{p+D.#U"C!YIEVbL4&]E5OTcFF甪[lO-FRZx5~󢄔 MuM cLalw\X r֘ 2€axm*N4ojjJYb?2sN_^uˠzp ut)%50ֺțm&'KHء_hdRNdS\IUp9j ^^\Q Y՗(g%H$ϕ+E|BrtęM(ƥDq'LEgdO'WlܚHLjݧN$ lAj@xÈ ޹y ^.WqsnD o9v~8` ,2q ZqPb߳P]l@?xtJ5\:- >8ryr*-\{Zlm"8ŊV 6%oha~%!| ^p4nl<7ݽLk9h(PAí Rqo'侮4"SJofQeL_/Θ[ԕ~;Hkpf?遻6Lʕ\4K Qrm+PrtJ2S߬gb#Rg, &-d zR=T\T-U 5f5/akd)@]Ɣ.R8p GMueHF3g,vwړaxdhcخJUβ0iiҢF:ArMb#NRС]1* bH Rp2 d0RKD12R 1ϔ22"Ҹl#$ !&$/1 Qe ˺,k #JR֬B(zO{k~Vۖ9 )RȌ_rX& 4҈ 2vT2efb4#S+?\bx]:wtZnaH ^y海G`GKsZ(I3B3"&P@) 7LPD@ga*(3䠘BL!dygWG(QHG!9 AHH$n6|CCIjM0kAgD 32ygCo3pO-a! 7q'6B3aPBc%(({;iX-k,U/Dcwp E)IUÔMheyH0'`.u9|AҎȳ[Nøn/C ,~YgefI1SVд=~)`tjL~5s`:qDf줨mka^&kBEOSKֳvntf,ab7T.TGXeYċУ|^54+Sn%} \}hOFt\shz~g7j'|bjn[VS1̭"<1Q(V$f^׵m$KuE:iQ뢴뮌.AUC- Y BS7kl`MYN9*T_V+U* 7j~v/ܭb+g\nͺ ;ϦBpB+;%*-Dٸ#s$Rmx߻^{=mr2z> "qWVjc1+tc|ۀVik~QW ǰ-V콭SŵVzkfyCMz'- zìUٗ靍7ַyqy((fLMUX%).6+(qZvc:v+K =Ի%~JUc ]rE [.e\ND㶋[(rl5(ƄRYQ\n/CN!ٞ q)E刓2DW~ubV4{Dh9sJզJub Sf>q:Ck߬fTr T*qG6e惣mZ8+Սdݻ]! tvzտ侦2b 1A1,cQ{eZƳGdl}H֔oa]~\ %)=40EސҾc S @H&WjlB#nT nm?IVsF|&)͜m1Vt%(v)Q C@>X˥2ޔl].MȰWUT90 Őp#JжrbD=6WtH^ŘcP 2B\98BGQ*B]+.mR)SyeܑD "7*M#&><` wĴu4c` ЛT }ǎS_QS/{3<9O0<퉛@Pc4R;CظPK0o3H,"O;{Ṡ{ߏ׹wz4%4n T⮧l*{S)WYЛx`\rs]"RوBD1hlX73D{L\% Q̳{b{ȉ)#y)EټT8 \Hy2 c6`Ga){}&0d4𣐛k07j[ɋ)F͢Ń2c%M9.FPE-#0^̼偤sR7i$UUǁ' 6`" H$*#]Q׮\6z}GTlݦyu= -ƛi ;ՈtѮxnf܁(@唻P:+.IԁxMsEt(3NE"RKgOn!'ˊt%x;]\;5%鲸 J+S,UY";W cJjyvwi@ 8 ]NbaFؒ3Hl50Suճeh0"Mo& ~ %j}yE YK'eVp !'5L* @x8]FSÂ/x =V!>U!KftSPWNrJcUS; yU /F-tyBkk nĊeu9r ց:*2ZIbn87 )s/\ jv^9 \nư-,J0dd YW++nYl \M9 ׄ:^vX Eñ!`̲z_tj !@WeubM2@h8Q<0<(USv1O_6Ii<5<SXgzX.rNOOy>U/ =.!Bf1)w˽}{5ꓛE|/..roln(yee_O!J8h ER}+". \H yػJo6?$sb%о'Y  3NNdy2{n"C T]K#:{ЀPEMMϑt\kr^hnYʟy7>aA*q?" kϸdbJⲹ{6dB|iӴx#JUYz윒UO@~[̻zw9R)#Uwwaco]{dBNLQBz<0_{YJif'*uF#c֌*&=s} :{O,Cv)*c+ h[H(cw]HfJILbY;zIrJ-,{jvq731 UkkR!R^%˩ ;f4a^Ҳ謪WAdl&o,fp Hq)r b"y_ _ؐ L)DfeWh)&C&: $tf\@x/6RnRUgdd;9K&r%aײu] SChXeQ aJ3ќts-CbI*EiAѳAJ@Lq]3V)e*i>hsw~nquIZ;4S+ oQ>Uf.l xuc. ϥn<"Gj?ljd匜{dn22ҔT"#1 eƄU)z@PQ$ѓ47bH$!$HK8V9YQȌHA.nJp2xBn HYt|IZOggS#I_U/(/9;C8#6BB1'# '+=9DB$998<@=7AO^^, pV&{GGͻ0Yܝ G(pt*uЃUؓFLMz+ug9v."*3rcwH1Ќ^C,מX8j7&`dEBJ?'\;Y w]L (t.QRn[=@>x3;P#{ Cvcˑ[]׽6wލ{ZÚlf"ٖ n荂Gޅɩ ץ!Ҝsb7oL}*e9B!zMj|*@\ٻAx n x,&;lrz|MܾJl~߽Ҡ$_4<@efrv]pWC{nTi{]"34M!mWvB ͌T{oPwϭ"SNPy66 l \̛9j&?E3-74%FI;ID81/JIbbwN4H]Y/&}y7V1K5". QݨFґ"Š君 d&A1aU7˿T D`DQ.̙lr!#"Ip5#$ MsJ}[[Ha1-֠ E^@,:}=mELL<ͼ^1 4cΑ{L릫yr ʹM6tJ= Dt "`J)3Zqx{QNW\q睓 7<3T3 ګ9@ӏԹ*VZeڨ(BH{k7Df$Ŋ X(b17-@"eBDNFQdqJp!cRhM ^>MT7\MTE@]ʿjLb. m .F.L!.Hφ;5x(C]bΘ;(ܣe^< Tq 3:XsBRƿ~0`mὩzJ)S?ދ\ ou5LV*{tz]V!efF$hԉ d;IݘRt]գK A2 YQ-R %j *. F\NEF bppL" LYf#& QU7HM @IZcjqn6_y0okaLlfjg3`Ȏ{K Y3w T+ŒUVJ\9Œ^>+oF.ѐ"`9$+;jdWj]\wi&p}ehAyqM%۪t(Ny~qbvTOG쪪YJsaKTZ="6/ZёE3P"L6%40j[C! 2m%p"*Ia/Hx crQHZe %$ RfؤBJRCD@WC0̻]0Jw{\#Gm1 7b Up3W[̙Z3ST ̖MB?Xw2!~0Md*;L0c'OI3L,/wG~0 6c0Si}C1Ԅ4Z톊UJu)dѺcsAFynTV0FUШK\2'):d$A(W"H=$)RϐbIA`( M'Mc8E 9OE `_Hs5C2ǣ31Myފ# E+42$/oYcR;u^l5%l]d (ŲFpS`lyc_ެTsOVL햙w7fzCz3lJ9f)#80[{UHx\"T2q'ix3]/^O\T(#kPč02=Y+'[yVF;"춽mlm`Dg>Q &6./t7R5_ԴPHY&{|lN=}r7Zp'R;e)-*=p."TD˽")N`{Ueֿ<#8-C.OL^h \?+qa&~7we\t2rBUHZNNZAT\ZvB(ˑD1de#nO]{L".AE@U ]NPdi$LPdIF R tnp7G3䪔tAĹn" ԫ%U&i".t>%ϬN҉ FDEuyrݩdo:D K,.Ȝ=b?Ldו.Q" o42r~\Rͨ$Ɋ,_wNgGTˑѝ."7"Vӫc‰8VRhWL8I`ϭJ FⒶRU BkN'z0hz[`8-eGI &@_kzsS)qq5L:6 7+|j,N2{OggS#I`q"&?I;28:=AEAS6 #/;9;;499?E*4ѤO,C/|MU";i%1f]qŰhޡϞƖ7eZC,ZJ6G-@ .jlw3>%ҕ|鳙5pT;nڪztsbp"y(_pxytU"V#"i2A}CGȒt`|I6b ehKK)tI5V~Jum%Fdݲ90=ԙoR|\49J*$3@dy"6`1ko[;3y}g\\bpZj_ϵ$ J A3So˼Y2~ Λb+.XoNf_VMt5g153*ٶIThɓLm0d.41bl,*HjxHFjDBlޥI'Û~#U$VLRj2{ݺzdҔe}*MGļ" q+QWcXUcg5R Ҕج\V6˫QT D=D}7Ȣ43hkE9TCoF39\!*Bȁg"DU/P="74%@ DFEn /tF.)B܂6YvB9dj(T]d4&RQ D@J`Z=nӵ%'`fzw{&vX=`r/o6qڞBzq ?R2 "7EC,`e툪$/x5&D1"VZ\=Fa$E%p n8$ = @z\ BVllhrsc GHXQ4ĩ q.tԀ x)9#ƼL8Y OȈ K\6~"\si2ND *4<6;|IrPP]RʶRFF6r3>brT)L7RH/z*JbUacc%g/Moůf%(0[$V7Fia&c^Y~)$Bͮm%,g51B!R*ċ rU$)T+&o !L5")v8qK 7JIόXPg2GOQxy2(+,@p[7F@Eˋ7-4u^^QC+=0֤lePRP @gKOM c{"Oa#"r <҃-pAW3,Mkt |*YpuQ/@b%PP  xjha3^qhaa:E5t!1ᝅ9'ܪ6zzY,#ud7T #?1P3eefV@7;N٨rc>}꣣{ QרP'jU,g;vWT@D@VJU DJ!U4k*Evf{WdO|^P 7fty=*O#7]p{qѠ:!Q(F@kTxX[hf*gs*+Hkb0:udAvY&Eh[lnOggS<#Ia<$.6145?F8A?8GIF161697::8:q~ۓUx^͓0UψtKB U<2"32۲Eʊ !uI/2%%0]inT8frm3DʻTBrHK_ 3 H̞B*^}͍.+KM]Pi'^)2-tFBJBŽ!WfhUU)@=G$ $M52B(Hq7^۲Gb坻ܑbõ@"r(^LVk#np3ھ0tM5zq99 RjY [=@ڵ6%Ap+Cb$v(Df=y֞tM'|4Ikj[<(\U=i}SD4v'lw`<+Q(]T:skkճ'eyCzwd]@al}s4@]8SY]7r:ˢF ^frQxvmJuJ cf9@ 0H̿U"oFBRfES9{*doTebM: B o`U:v]bFRf^DTe)s{͜N*f qd'ĩH `/75#-BuSξ-,{fS(#AթٛQ8)vcrLLLUh lA)DVvPj>H]_lL7o9j*fXd~MĽWCh;]k ~&rn\d< d`K;7dyAܭBf刓qL4om34YɨRP 1BnKt[SyıBl4Bz]* M4#~IREj,9Qӧ'!&ʥ *%0  X@]콧i {xwk-) @"0l .ܔ~[D%E?ЫfOW@hbqٙ`5vF'p# Myf*{~ļKm)bkɿP\"*o<;Y_~o(jZ6!D@YE^܎)]=Yr=3 _]hU{cd(VR_/ER·EPY:M7\s~N@ f吱AU}'cpEW ܳߥCmT€b h7+fpSAamђ]8.r~ƴG"y//7,U s٥ ~>` EJ@PŒUspHor)Lk 0AM,hOAG.N`T{|hV d9;Ż]BC8PaM絽ZXq(]F>z}tZkm53\8|b3UlJ GҢXcn.T$Q=*[[^ro#W2]0%LQ=Y]Co?BH:IM]ML-e*o^M6m(jskKL2;5-:-Q C"H 7cw鎮kfY)%)v_"_whp,巺S֞tT$;~FRX7AЋz##{*TwECk\S B^) !YW5,Q܋b$22.YU-ܞ% &*#D\ 'oxj89@ a# UfyV銈ɸ0qXKoqC*Y#trk( JQDN!hù#\ݤ=91q1Tw=VB.Fj uBI*p*J(,[fS9lb ah[1m tpKC@dLS dz񢫂q]lJpeiz1 vА1!HK5x_?n*1^5 7&v4.̓Id)luI xWTx ֧xV݂@aJWh6Jh;L[82k Xwcy?,ݏ˘V({Z\ofřa;Ck ʙiR xV*z*[5**rզ++K{[g90 -t7e$Y_;JaTI13yuc* Z\!ֶ `L^0z5,[P>7?[*R,tF#ƫ5^vfLOD^v@h"/d6:̆ wyUJ USgD\vwzY䴏z{P0: n[NɌRܷЎ".z!-pK2OYykn6mUtswUM?w-DDDWև.^nRhv9W@N4UwFKbZk{t_T!8!@Մ)R TE9Du2sUbJ@ YFF-n+BqQ@#d`4:q9\X=6Yi7Q4@d{PZN`c^ii8wsL&.Bۍ̑1 cfCtC.=4D9}Kr2LƊD/KJ\mQf>([FB/Y,d'Iex { ⤉t9YSN @0珜8VMbrWF x/ѓWgg3tr}p*Qƀ]¿[]$f BcPtm@={ۄdF1Uz!Яwz'R)k{-{K3zjxCG]3,y}*In8PZl=ňbd!Րrn"C$)s (m@{c A222E!!)2\I"+1[Q\2CTSTQ# DN°H27\yCJ:H6D!k"FrJA@dY x~ffxCSd' Pl|dn&7(=jo" pcΜY>N 椠7Z3z@ H:kRVl@2:,QjBe:qc6ݶ9~x ٳl)ǖIsUО%{Of,DQw BFF"OvU{2RTLK $r\YZ("ePD)c{JArBsE< BƀTB.&ɐRF1$Q [H(&y$l2H 2\x3*ؔ1@nBk6llpoܛAf،h kp.5Nj3tUqs0^Go望ҳThnɍus8^ z& $ebkq+_Tg4^ںqg Ҫ}w."E@ANA蒖ucmyjiTBP&9^ B1%c4tZjeS  ƙN: N]IB,4P 6C3% JZZT'*G@۬ 8*%@nX vif;vkiڔ̦1wx)A; 9)7 2wsm*à/HĎ.l  K& oOYow;^ĔTmz?jdݠÒi%@S @ШsS^%^TSsF;綺UgM@$ ^*7 [*rY#~NBBu#;rBH)f>AE@N<`FW{).pDpEāQ {2#F ͓ u93-nLѾuir8 jt"}U™HZLHU.R\{X8_/,ޛVc2c `v=%#%F>[vmݾ BRML~Ej8˜u7g"Nv'M4Y-*;U:2*˔+B'i*4j|&^\$I$ M@&-eVm2+]\8&ruAaɦ'&᭴ a l:T"fX$rSiՎ$4k m-:BWw9|q@0 8\t1*9Ӫ hyV7ծvWb%bnͬ 3d$#i|BQ̍kdV]|Meu%R/q{gmde<.B5&`4H36e!m y媓C#"+)+quض]sno}R5#ԜѡKБ{uQa[<*$YSFy#-61ǁI%aP %;<_>Fvh熉[5vQr 0dc04_mP~b:AzTkʢJ&HV{t I(.Xɐ jT?烻 —2ʱZ1nuF47C4j zl ߭t(lsĘ՞ۥQ "gm˹g ]~j,2'XLŶ'du_En7 x^Y(l!HTG}T\ޛ=vt۞v;^=QAc"1??wCԛ*I)+x  /z{;GVz:_iygchIq#匋1aS3yJ{"Xd"FA DM^y/o!QH-S.ob~]W~+Z޽5~ o lRn\<\NwJ z0[AVY'QdQoW%Ju{~F=ݤfٛjf8Z =Tɡ@$ߔ^A7Ih{O{{HD"$65vX HjtɋӬ_Wg)IUw͕Jj]Lޞ>3u`tŐSOݼ+s^Tn7CY9d6uhһ*d+ؼ8lodFoIB)k͠#t TJՊ`^_G9Mc[c$1xͅ>c;߿8k?/-Nh:3=z(GPOBXbK-=E~4Vr(.MbMS"dl9z;U٧]>}p[RRն yEF:X*iKI]"ΌuNY 9gH76 9+f٥`MAF\FӷSaz2SXˀCQ;ZqڔUNvǼwÔXaй P P(>; X $nf*i]dpwc 0y,W2QUfzӭD_}/s pu>ڽϗ$tI_4J1n*Hn 2# ]]]J.vƨ:llDPQ̪4^d@ , Lz$/31Y &Rl"cU)b8KH .1q1 G:Bo6b0:n:ݴM֬o..Z+3g<ÃFN^leBܷDҲq;tl'؆^/&Qo̔I2eY_Axgf:ڟn'''-+oZvӔn@;T 굻] ЦH23 U p@Jc"+հ0BQ] \B" [p[J,E|g$a?Ld .<`nD%Wip4^R3oΘ64ld1\oswbت(/ 9(b:AR*69k(CpXwL(3I u^ ݷBW9N͛Qee?5qnL}*hp{ ٝJmXHDݒl4zx*[!aADFV򮎌*mh9L4䨀7i(QJVpDr cl4e"!Tb-$HӪx \K)+3So=./{s*So\Z=#E>kqۻ],tdEK֩ 1$#XBrv%"*gR0X)1T1$ZŌ)F*B.4eqK˥̩t& 6hJ/H|LQH"(Dѷ-: 8+l!2{2O!7Yf 1+VHY#2agcFD' (?|kF`:yffsq>p =( p&ѵ3=2>t2_n+~u{Һ{ݭIt]S+]͔8@[XB?ۀ`w^LM+{s/::tt%Y>PA1"d.A~UuOD3p[62U4.tkzuMҤAk2N]v=G3 3B3i>RqǦWWW`Z4eq|&]ݔyJKG JgO =I XR(th@1U^c{R r;Ua,!;-meZђ7L{0k̨13Ju}+o/~ۭ(\9u_-'&črW.X#:IJ1i FT) GM'wY)v,8J`"#*ɌU, CdBg! B\RHǤR5g#Bmd&$bIQR%Ha+IL+ 7+q,qK(cEA '4B] d5z- Ѓx9.]r{Q3SpPğx14p,*ݲ]-JT̐#smކmS}+%I :Y(8e1(K#T}A})Q^?u!6EЀ̲20/@y#B'S׋!`FPbyl.{ ;Xj{T= OggS#Idh BF<'2:6BEGH(%0 ->A=*H@%V\ ԇɖ;[ʛqXL02հ[n,G-cfXF 袚V)rA7Λu" ju陜n^b]edFfـZx-oi{<4tmdB$c=ng.ǜ9;!{QnjLY_0mnzpIRm2ؾH%7q5{hk9 . WLҬNm2{)m{אpM5M m4@}W4"R1Jb!N*4fDBIf9.AQgdөrT“Idt߻CQK!sDJyx\G$BY<2vE8HG # [pj] ޛbϒkV0,idGq"ms8Lΰ!taw~ֳ<-i^BJ :KqyCȓ2oةjz bGDg\à/|UZ۩h9)& .w>;@&yhu ՝U-)'֒]*2U>{'sʥtyT`KjFVܫjIf]h)9|ў\ F"J*K%n*{*[;_-QNka24}}7 +fchצ6b qwg ^f ?sY`KV]?#r Blt*ؚ2*y/2aтkߪ4 0@^Eu2N0(?M@m9Salg%5eL_cS;i`6.jTAG6dc 5PifNI\j[Q^Yߌ.] ΀:eRfOfBd(*}{{Q0Rٙ@ 鳅d!x+2(FeAo'("2WqaxS ĥ웒"W Qh9$YZf%Haf̋gur֊ք,?T3ظ$s^3>kcElR$,! &:{;IZUR $3GUJF}1G$[2RɼiڂXH,D5r7sU8.\:] H=kcƒ`Ǜ볙 @ l6ܴ9,`%P 6%Hr,=i3dÈXwp s]*MAC1Sj謿e7Rso[ZX2ʼlZuOu=Ԫ.u}ϝN'y?qs:#$g{)'Wx3M zd((+) #O"xX^7e @=T3KD#$z pPn4+2 ! $.g 7]K(GZ; {, !mߠT8ۘ+pHSyJ -דݛN7\SL7st3;Ч׬ `ڊ4 ]XUV!S9Ӵ!wr$թ-kWLJF#+4rJ= @:k-+FdeD6L[ڤmn.7c-ڞZؤ@KAnL,S/(w08};:P! ff^pCqi|eIX<τv+%~kS@t 73cef_'skHY6ObitC } F-Fnh8nGEE*Lw),հQVްMޮ>k,H&&C\obr͔0$;QY2dn4@*dd < J7ޜ Kq1OggS#IeM[.<48DC9@DACE9?99:87>: ?@'896;9=ACHn &5W˜*E\xFĕ>#pRű!B0XV\5نv_j.'I Ri*j1#BDd PP1Ukc ] Aؔ˨\d4)de H~!>aJ# E%K?2-PH5@B^%hִp=$ =RϘA8Y^dFe q}`0sa93Uj&X=]C ?h)wzz׊\NAziƖ,{x929]c0XtLy'h7LEDLsY. %o̟#|%N>VVU0U@L\j}!]-ѬVr9[-/&n^8m5vۘ?W{.B/T#*ryF1֢{mtm=Y\@Jq5 尺<*h$iX40%۽z7k>&ﺶ26MyP`ˣn>(JuEFjG&ܬK2=Km0.<&1wu"B~~+'ee1Qհ` =R{X k9u{Y#<)XWifyo۱=PΊ*JSݛ@fd1pP(P`Of!R!S MT3+@ s*HXE`㈬,BkF] #f%oH)tA;VJD) *EJqRDʳ>[OHwo^^x2=2olS[lVC :1GItqġ[*{A :ʷ,8fH\E]Bp8d Ehxد3J yIJS@MrϰC1b^V(C7G\؇yJ/^a,Tnd -\|VbcKfRCԟ ̽([6A:W0!2d)Ki\(OdH tbBX"(!: ШRL!1b #dE'+!ZL@UV鑍fRD{ XcTMd=YȐDER,p޼ n̽7w{LM苽wq% sI2㸃ٻB|N5@hT$Wx;дnCbUWX!^[]ݗ{Mm#M .vTv{P7X⪐ :"[䖎5;{)w3cČ*S bOJ<det%*dbk"V†cs5N3|*K̚HJ~&i VS=bd(\NgAV崜ި̗A,&("JfћW`p-s )Tk^Q 6ۊ!rk:ejּQwt= @>! *C7ZVv.ּekMcΟZ'ΑTYCYT;X x\[ti27 Urk֘٫7;֩k>2< ~T4MӼ4@o&Hn(\-qxu89Ύ`w:۵AsJN%ڑ˼R-?{1#gK3w-['}؄E!de,*=’Y"aݸyx]Q #SGB z?r2)$V>(K{os&Tbox,ː9&AvˋT!9?3zK/8r~S¶89f UQReVf je 'Kv١ߒjE"mzYFx4R1=>Wl⦌;qg" Ė5eƊr@e*CEX͑nb n9,Ew(s)@&dpŹX3ZH.eMɦ1/ؒQ fE(V9`uf5Vz< sU038A\8[8+o+U6GT:L"VI(5eVf_+X9kf$I*UV遵[65on\L(Tјh˷Ȟ:˾J ՞M+w`2zK^#y+oAɊ6S#Vfn5OrWNFٝeBOi {)@R2ZqSJ1MfzTkmaR(6X{ خ-`K9PlNQe3,7$̺`uTQ26-D>>m[gSުmʛ˛'>"Ą)UkIgY dkRaf3Ͷ1V6=RB*Kv(^%DAJ @fnD\D0ƦjĄڭOH]ԻJ:uR T{=bIeRe\ +1v.@DJPH'IȊlgEq"VfCDq6FѓLg62:h╈Uh㦏)fn"(olX)'a#A6#@F> z~am!ߤF\Pt2 6ˮA 6 Z"]rv1)>]ɒ,e% Se."bp)לĊ-1y uk 8 TLx*,ݍJKf>` VB R( lU$X3 %RQEAD h7 "`m B\%ۡ3pJ jo( 92JSX35  K^CէR{a.֮L B0ZFW٦ (FV6lSY2 M:CxM/nimy\IeV+ᎌ;.bq% ?>޷!tUaߛWO,"(fyYu݅*{{33oRMJyuŮY aѳ'z ?Q~$ %Dtd^x29v޷~zZi-3ֽޙ5|"HBT7[i7p\Ov*@^QLA1`Bȸ oz/VBE⁾ 1 z5J1+D;\( 'J 3SRfbH(klDd$+O.XZiQBǧN:I3A+NF)e47-@܄BՉ@"lK I@E.7Q]g]yQulX$\Z0潂c{pӚ`8`Wf-p9'i1\8΁ïV35 =EJhv݊ Vfz3̔kX476 MkusZB:$;<{KϟnMA2<vF|ž1obovmQݭrFDETT$$+G4HPI;EC̠M!BRF`3RN(]Ѳr4iB_"Rx%jJ/ #(f HC dM[5GdTsÍ&X tݘP-y90P, (1:nЬDܾrp.-hܡ`J '%Y@ke/ҝŤ]31捹l(bҐbӅ52/mJs-DAF*Xwo%ce:\|>ة56v+o[6PJAad)=k[o6{eyoT.My*T[I:xlק 래B"Df-tY(+EJyY7g vg yY zQk!g* {^c8,d5]ٶm*.{۶v#k]Z 0lzfcD1ӐǑ!z2#K۶mmijlæGOE2ȂU!w8}f6"*(fFLTzu9}'9^_[t;/n>o4Z+ 36,ip[,Mi4ѓ7gfH2f%J/{PJ(őB9dn\q=-,)]svjiL򚉱v^VNڪȞDnW35Tӷ9U[.mIHnĬ4DZِs_Un6GYfQ;eh1mҦΒXڰdcjf6=EgmBݕ:X`;e|7ڡI]$q`q ̨yU~O౾cO8I#>_d:2 Q LC]-5g%[Սl,V41mS:=1qW9W!ddE!4:TKg;pф6* {s!Cf+2N&(܍9QA1j±dEger*Qv2jVn6$7ELb&2 m*sIleyBEX lZq zkb<5AC5w0pޜfE䆾!XH*QH#u`-X' @I2egR};ktyp3i dA*kGVm榁P#!逜^%@MdxPu#Q "c33+3 A]fA岳YդDBa\h0q\fEfXfT:sCnS9q4 %+dü킦A^v10ZW430M1/pGg+i{{<?8- h,)B=[5SB:eB-HF2z}87Vtz}x?#ݻeWoL ]'Oפc@t奆S=.PymKT;BE}ejJ4L+rnF(  usE *2@gOJŊKI[Nɞܔq ]C:2UZ+G$JCL%,%U @ ۡ֗4@ׁfə2f3JXC&(u p73{vs>,\eBo4O)ktUn7T6F{#+@*._N٪#KbH춎km7 ]k<6.PJkCPbSݠC1T&PٔFTf)]- M\J#²ltȌg|vaIBFbxAbr *(nW/mn!PI\mqf8^JoUTT9e#Ӈ4첉[q!źOڑo1P2֊^1Hl]\V '(y O%2K&);B |+2mtXMꚯoo|XO,&~|ۜBEL܃o ^j ƮIhwL=v&iS_X[ʽJW,VT#3I(E!`@y Lϕdla-9L(mK BRKRAXizX VVwj:nrM70;݃فa$Ob5̭ L9niz9ܤ#::n, 9dڰr]E&zae+T-DR$>T3DDloWz,m/6jm.tuD*B+/*@Wbg|\(<7p[QY#v+czjwRp9h51ś"$H~tcm$r~3f&1evP茫yLq,vj<١!7ipdgc݃uh}ͳEj52PkJ-q;5.\G#r_0 ݹL3XVe_V23Df (Y!= "E廬?2i$vm2 ?EA:!j PN)c4ęNdvq"MWJ9ArNɔ1.FcW! Vmʠ3 6S"M}4%Rh(Tpݍ6V'Y3Ĕ^Z)w5:ۧAr3e6o-#ݜ:aґTTմIɍ[Hsh1 %Y(p 䩒B.R|D ӆ+3H ̀ HسTq /@A)ߠP$Ƞ"/RPD/&/C=:9BL28:<;C88AFH5'pC P3VE'~B)khIZw%i. `Y,'p2lzl&g[@(:vu0'8~SeBHDQ <椀@kwvIG]UBhM.B4P$ެf!%M՘) +K(_vF8.o7<~o w&KkJHֹRݿj/JTT$ƽ]^sKw0X]3YbU3ZN84) ɹNDvQLYUʲRWܮ󛢨9+2M\EV".gCẗ)u@-S`ys",2&!S)(|eӦM`HsSQu_ GY10>|&8m[/t~ ʨ@?2 (Bb6@QSeB+˲WT>siD\+NK .& HMmR<`ce媯E% $GlBI! A+ T@@Ar޿DxWBI LDR"7+-+'嶬Ь06(GFɇc D3[MTJw-I0־f0livh1֐lբ!KwtwuD[xĔ^k{̏eD%:.2UKy/݁~vj W;qԀ+%وD,|,QHdeJ2DT,D@b`Ȩn  1Y1= 6ɏ+z2>Pq!= f݊ bnDǂr! *;8d_1>oAIϷN38C?8daޑT=eTeCOmԍep1T]I9h8.Jʧ:h@7J]GU6\DsU!pU)(4bLHQ , HD\b$@_qET3mt =a@!DQ$ItY]\ ie:Y"6pS]hʯ ` {mF@G4sG ([L`ӨvY}%竡d%qB" ofYA+0/ytn[ϝq*7j6վJ^Jd(U) 0V%G8l_kfS5˲_#'nkuKpcxSe8<;6YgZl+hlD())*G[r"?[i3H]J18I%SRTZ9jC]I%+E{y{UɕFnD„Ӆޭ@jC iY/@piKr̲D$(]1ͤAv2TI-&sJYJ&wxk0s-b FH˚)n/ڗ{7YSBL*^q\*΢qe /p{m(ן1rŝWȌsla(|D& twDȀ 1 ;OL):$ qI3>t(:+:|ExѺ[p KeH1buA>t="ܖzdj |avh=?V*5.0y:9AVQU{ў;ʦ| RL$}\j8yzVh sHX4čY-FdJ!}FaZo<r;?#ؔ!-KEl d}r^XyR%n&Oj]!' }p;+a׎Ӣ?k+ %rf'# Ru]b;Qፐ[͂i.֨xV>6*BʔM= FȣX=,.0k!h@f-0oxBMߢ-۔ Sⴷ~ը"хL&KΖ+٥EV<&Y}-=<1Z)F2222ne覆nw̿5BNm94,lrKt 7@5"tZ_w # ˡ{vk_6lۑ]M|S(Y R.;6"[gGMKNrʵd!ڠ"D' b %tУ6Qyd$䎂ʐ)$7L yԊlDJ7KR3@`a!`yx:jJ@KKB߬!#.!8AA0% 524v HY%":d<._هuIs@ y3L)y+۸K{>㿱mdэIS0[%`3Oe ̥\W| KzOFXJݲlԙ T#GV4Y*2R1˅LP4Sa]ƩDBdθ,Ot!Qu>7B Etg*\ `$d.qSAXdӽ.N\anD2 ]a:[\3KHc3[0雮:'8N%z${e @[oij:6\d M(f8`nnWBBDrN c0mܝoBo#֥~ ,>c ]\KfM< 7^a~|FHm{{f{[l7l{キMj"[_JWQX #G]OL6_2͸WW}{V7OwVն*֪K[F.:2v WjwLL(DX@2J*_IoN/峣qެA1=ͧs>o5atL!Y'Ț}{˂q&v@+6>:+*/Q;Tb+n`1iUۚlz.]p2.u68Ĭ===cV}>WL"yG`ݹגrBpeۊb ҧVՊ谞PoһOE8mW l6m6{2Y!3=W7?\ zC]l^&=iY|NDep2d@oHA̳c%zLRiq/,/icuʎX);j*޽k#7TV${6PnU˞`P4Bw2'c#Md݄tuuTZfNL%6΅љEdD($ E6,t qSa#̂Y8$ HP)-@րCg("%$*=,ڗLYlXSo]&*7Ƀfzt4zf8Fb[. Peg@pqiYT hޔu[uA5J3?<f6\ ,umgt}Բ_7]> {-]-~wv"#Ke3#AFu<Ό4b #$/Р݂-e dd# T)f&2Љ,XnIDn炍ExSQNpDZhZbd###2hđ0劸-] =# {$a3C3lIa u5h p9"7mfzcjs?n|Mt〖i$Cנ ݏu\RDIeo(l=%|{9h_>]I6uޘ[aRM8=饊tTT=ԩ.8o&ɡ(D䞨(Ifd!1Y![chVA[Y0DT2#(V+2ZDTNE\⌸ U %Mѥ5VR@Q!MfF@h-a_ȫv;yΚZ3d~ Zq/H ;BY-CY)'>;#{VV`z@iи"UZȋBxJUL7l1>5z)_dRGJs:KQ']3̋#0kHH bNBGQ=%qmL0R(@al1 28BQ)$ U%cQ FB 6&6rXhBu#NuF:EF.(HE$A=P*)eP H@`EKzH uj,=q@P5%;읲=s*)NJUvm UvJvY謁< 1 i.oOo@ P.`Lk($U̯}ɒy8$nQy)@e Șpo*JTU6ca; QLL8!%,h @p2 [ )jBPdy9& "U`@@fit #RHi)vJzjO1fݪ[k :N{1 / `fQGQ:ºRIJ͆w$-3EώZӅwS@~ jJY ޙM䢓A^ʽ;6T+|ƥc;Q_ht!=II'%_P\0y<Ɉ!V1ø!4@rm(-tF@%!DGH .r$I)ed "EE\aL"'Lb2)n)tDV)3K"( s艫 s=n,c*K"yvbV쓡<'Jt֔ fx[Y("K ^ubd @:79EDD6C96;;8E>)+E?.69=<==H@H>"4NKVʲ=uL;DV?=Q),WS*񕽷uw{mYaj6 d4#|Q,Az`Ax OL'!B^+~Hd5 ŐWXkz#xߛ6*.|4LSR_N&\6F&uﳡ2QR:K銺 cO1|Τ&]2PC /P+Q˒ȸLeij$n=\%u@m Y=tQH;u%+EO[{R!;$REg kk|vt`S)A8YATg絶&JP`[pk^ֻ(Nyǚ1*) odD!vWj7{-?El*g{K{Eu׶rޛl~ H-T"BET%P)@s)LßLp{-0*f?owڪ^8O.@k@Ex'q֓?޾+PFQ03 G\ŚjnCmfZSv:q{+OumȷQi Bܯ;JZJfbʖgŮ( DfHYȢEYh(\)qU{$Jf, fqD.%љH*7Up A*y)z1K]ʂ({uSs(B٭#KF0ċ'QCca8!PP€A\97|xs_ӦRexplUĒSŚv-ީ5TǏ? HJr ,DLkynMOkZ]j^Mͯ'Ut5f u?[(!(lM$ y;,ոͨT<#%R!*C@oz𙣉&*d ThRjծB$&ԓAFK5=X*%]AHGsɉdJٌd@$D5"G'Hw3.&d$:8>z`Zk= wkZk==E{ySl˽Lq/c@hBti ebf<#g]EnU&yX5 kyFZYK6|J D BB=%1l]$oS*dSGT=Mż{ٴ: D! :Qs`|rT直niKy)D Y_Cav\"AJaީ2~xSOxؓۦ+3҅s#۫Ҽ`zèS)A\Nu+Y |Ň*PZ?r%yᯝܾ;{Mýd%-lTNJV \ϔBN=`é./QM[$N׫d ͈n&l00~Y8ZW ̌&sA+ ,Is{"Cb.&;lY oP]{ɒa>en^0]l.=B#gf"*GAɉfbm cY;T8RuwbS@rƭA;Jd9*P g6^Rv y\"); @m5R{[U88~5NivPHN,ؐ BkDpwCH=֋'< >å)+~s{CLf CC FlFez3jWBꛤ$:yC9"mY6DhRQ>mt56aY:3mM{. _OӇᎹ"Ȫè @a(u6s"&y(x$JʢBܟoy 'Ӑ #U*lFRyЍ,Ig}gg,,# RfDo /wlM V%p0 M " <d 5tRFb\ս+\;WlkWXevL0ϹcFOR6u17&m`i]F0m?-˷2;|ia5ݢYY \ Fݔg<18Шu2D"]t\j? IA^)=ocTӳU%X,TBfMvD5pA71F])q1 3"3Q ڄfBgfFTƕ9aZTtJZBVR tpd +@N 1d( ğ+zi{W3@ND*hn`o]V$9sQ+{N:VMS6\ h1f>o)R Y "+β$5fF~,(*d΢U-riZ!_oT}QSꟉBˣEk=;/k^B5t5' SΠME?X6&ݛ15S UY aٶ8O stqjUt-ݏUU=Ok>øY,̙T qUxyΩT 4֨!,QBwh#JeA:~R;P Y^>Zݲ1;mT̋ZMRPY-}rP;9m2CXoN)g$e$2JŭvvS=zc{L[q f60r3#"J݃!d``,@HdT"o߯3cz@ j$i?ݾG^~}*7wO$W6oMƙ)*y׼dnWWeB(kHWF]4D-mMdu4@ J犔0c3# uXYy)l( p)S7Q|J$YVTJ?[6hwMk &~7/')L6O@\WWC!#5 Eʅ^>K6)n[@@%cjj2NͯWf:-ݿu8>\K5=B4( =%]hZnhB diT~*@jRvk*e)eI)ťj('I4ʑ Q AI'A!$H Ƞtr8Ądbx3H,G껥T4"ذ EҬ .-vyA`Zz0\fݏ;;4(v:mLXJB+iј/8M]V7r $Q̔˿_ϬǤ60}Rf7,qVM띑L$J6"ˆ)쳃xޟ <&\b y#T *L͚Z C:MAkf)-{=H>TdʂhpСUŸzO*L[b"JW{[۬ˎu۷|Z˄A&GC*(H PǏu~ڗ+($רQScVz]ql|i3c3yi4n=2^s,7ϔn̍TPjTUQ%WQk ',fDq3M2F2"/ D(e9-pIID.7l˕.eZ孈RNep7y*h q!J+!$-$3XBUs68 (J\`헺?}Xkştq\A1!R[X7Bab@^͉}qCj,' dJMIVKkL(Uecͧ{< >b~]"U|8NDQyvΕ=\JAitRdh Hs,Bf*L]!E*e1:CN/UQ T(#2"#`e !r'܌Q-nQ%Dt262dfSq@zLjq񅡾B"FȠ`.b`e?w+( U6.F,NJa[ ifFPM9Cq!v7@!N{Ӂ6`@FR%/}>)yۜ*z:=I?jY1P^Y$pVuR:VTsmt qr QHHā "jY-#Q(ddzKB)HR$0ժRdVb&#sIK  \ =kF5luj3( !ࡷk0xX ``] 2m>En\Hѵ pL~\6/I*+\0" ua.p|:N$dp8(UV{^~H/"_7S%>OYh | Qը; .4؛RiqbVLtFE)݌fRU!2K"{"C["c ar6 a@;h*{›[,*Q9RPRq "CJE r-t,5O˴0fZЬAدGdӛ ឃiy6N> LZ,S,4GR  Ҝ G&k6㚤JUMhbuṈEyڎǴSHsҚq(P~ضRn"szˆiGh팂I&$ʚB ri C2RiUd3#J( B,i\0yz)RBw1 mjBPȓ^@D"`%"x6*<[6pUhG*2 Rx Iꉝ>` Zpn`W5oZ.9C64eh1kHɊmc]q'u6@,LGLY[uؙ?~;~xƞ'GWgln榮)%tIo*y໣*LSDDkA@M[JCD]OVt\n\,KѥAR\1Bz=8c>pBdU rIJk/+XAgE^ qI B+.S0!z10=)NF)a5PF0"ۣv Ok)faq;k˙5~;fׂ2NY|:-w\Uԧ@g~>sNUÉf|##L\؍lӣh}TtD?DFANj>2? 8sÓ3ěי, |t] U#7-byγ"RYG ,Ŭ&C:Sֆ:U \]jWjP(f0mEW}7[xY;ZZs8] D@[Eޞrֻ/X*\SʔۭXЅHyE&gsx{;w|#gc?b?܎J+OQmӀM\2F驤̉CΨU]H*A ! 2CdH9!D) UrI.!66xq7X2 vsH26b4ٶtNgTрP7x%, !h"! _Kǧ!vO':Fb~mehw^'Bb+[U*g2/\.>` IQ f- qL26cJbp/ r;_?=\?}m+Ow# U 鹹 )\ʯ;_f[5wo0izfW [+KO!E[0@*  ~#f?tzg^}[f& uSջG{؞C6XOOL}Qw_yhk5kmpH X̫W sv 1l6>b 3jv=r5zĄِ*a~ I^#wCx<eVVXώXխH4~q': 2U| A):UX "ع8Az,%^]>PP\DAQ݅j%WE*̽p9niÒ]fn Py5h( 袋5Qܫ]Kt֓}ѾtBVl] zP:%e^05b>:9;r+n@<ﻻwosn]x7%EOggS2#Ik|.-%5BEDM1 2,<:7DH)=6;=>7@@C3)54`eh~VGSW>߫ng牭bFlM]8DFOLj)JFFnK:wqt)BtyhBݵVV{oUnVU$N'J):i:,z-;QD8bn]|_3s3]۪m*{[]lct~c6Cml,'I %K|_[P[9M$/&=\l(EjȾM` (/k);y4 {cXRZ'>sS-})9y&<=VzOOu&ˍmrdyoMʸЅ`eߊϕnL[E3LwtspYxΣD˝{ұ5'Ý&-vP2hƻ{zapyydL"jW`&tDMOLՠiGXrMS9ur)rn*5H2+Ijavp`Y"cFG3-k1Y mbۗi0Sq  о86vX<04bfcUeo@njjZK;e9nNGIk2eFTxQEPEvU)V{|WEP'SO)3Fޕ#Bn鉹PH11JU_鹉cd %Ճ *%!&fQ@ mG\yS-a:jᲐC]\\A '4 @Q0.2Ω*^)/jz^Fk6.fZXz1\llÓfN9`(ks-  pyH#E s '"+1Th_1dKNyd)=/M]PE5Tp_ s #$(-~.U4-8Q f Di%f1;ga`^9r ġ n\IVv['jt-W0h{ Q͎8 se{ tJ> =餝V%Pe͹`AlTVpł A[C1:O >K+=V2tN)*5V >#) iiig]N%)6xs\T]?tp(J%5o?;^.|yV_; zϻ*/R[^~ҳJZʩφ!.U1G&mS4{YJ @fǏjHHށUU Frn(D"7t͊RMo,sYi =I(Ns֩.=A 6,,4gՔW6bqz1̽>)%ÐaM,`qT3,$88]dqO麈Ȟ,$Ԕ2SoO6Yj%~4EǞj5äBۻ(B09Luյtr#\Y,PTȪ Z0rT#E!tR,#fT1hDqZ wɥOP@2(LBʍ8rl.s#O=q`#XmMy#!l *J:$CS1⚘K x3+h% lavٶP5ƷB]G0>k61T%hxbq ]}$ AaG ux3O2dxjwZ=2,9)cZ˄Ja,&SQ+ӮS<܇b/ALӿJw'Z\ ްqWTl5帢ұ0nfDyi E1(R7[- 2"$R1g17LުT3ן3dke&C!5"q%DA6e{#hN7(E @-TЋ"#vt/HC[rrr`ۮʇ9+es罛.̛r/, K:D.Dʅ5=~wy'DE"wޢ;f<>ڜՎ:o9Ɛ 2"d- @CO apw^REvR!uLewN yMLR#E˅BGBeO @۽'}9J2`j"LSCmt{4Amb,W3'.KNx2]-67޿c\L#a^ȦVji"1RK2ݏ^a1;?!X!Ω@ڑTps{smZfTɌR$%nHHx836s#"<1Fb88?;i;–-?H=S)HY(Fr[Jz(t_:;# mtk tR$\ŸHV1YAzV0 +b"1=RrɖRJ #WB!5fҙ$݄k 6Bruзp$YBΔP7!e9l%Y޽K)l8M%/LGE1sF {R,%'2ЁϯLzф?T?{$A/{PݎvIJNߚgzc1xiEЧ-u,Ꞟ-E?eҽrA'2x79r AFd "HxYkͤV=s s{ ij6[s k@(XaZk6HT:V"9 O!Ȥo;{lv7;Xm#PSE8.5|BGFjvB sz#(Y5QXnrTSzk37}4q@+I*M@=u(DKYVͅ9gYzּK'j.(z-?1skv'݆V߬ˮpx]\|i(-y|_R2q|J.pkj$)Q#Ѽe-ZZe]zk2ޘƋY 6,#kM=_{>Q<9CI0vRN[q^o=z:a0IuCa9@1c.Qe)˲(s3?zW7ƶ6/Tq]]^Yl|)򿳤HڋjtF+nxbJ]1ѥRS^*=cDT3at+B2Qn@獕IT oi!3+qS"8뜉K)Ւe%"Xe d .GMWˋ ڶ@ֻ_,蕷~4-^&)f%& K̤ꐞ{L`5ư╋M% w&tӥH&Sf,oQq 9 Ҧuk1/d[gGER/lH%'(UvZ1:Cv>&T<S)VSU1#q>MFJƊbDRȢ 2<9h/, C0!ťM4 {5"U' h,.x O&#ȑ2IB7[ʸ>%=6p -'6ӼW Z2枲{3ԁ:-05vVقE BTcE~~eo?յVWdfLɿ+^Ϳxo و{?~͹<9^ JA̮SKI!m  RTʚMjZX7ᒌ.O̢HA [ <.6KųuZűdt!:%ǰrdrәŲi&p )!DVhs092SҼ%@aSH0M^䛺8V.ymi\lN!$駷zHWe#Q%c E<7:Wy~t8Jܔj~{>(xG".UE@5\,ZG Tkcɕ0eJC '8ե&'V!¦S/Dqp)Gd$T%bcK]D ah6$A rDUYd0]|Kǰ 'ƒ<iL,t{:z qC`ص\C8 1uuE|جBZ0Fb=vֶ6 B- ޼)eO2J^_kH=gzʵVuskm[oTS^a  ݲQ\n{K`!3V2(:D]@Zf# b2$`] , RbeR"FyW@ :H ut ʩ.+BTeZɕbY47 ],^5c3@n^!p pa%9j%.Er # zܷJ\Wp͔2vLڽKќ?C/KV֞-&2u\$?ͩ{h 1 f#EA4 ̤(*-x^ϵ*:(!JSH茣PDƥ'/tj@D&rB"HP>JC@Vׄ۩A!-QOBf)"bC^cLdg*#ITd+ q:-" Ej3CH^o<9(P4D̨2ZPIYN:ݳߑoIy:Z( =bS\Ce.S}^r\)Bd%u+U׹i)!7(vY9͈=Je"nhފΒenBp켲ێ4qʽPd'&msLl8`ON/;X3ؽLqw{υ`i;Xj+5Jkbnr/ܳ5x8C ީlD*U\u&zAЙX+H{ &;f*zvyVq- mY4-qJDSwKBNcDWFJHI3:O\,Kġ]зfJmN!Ef B Y&Uc: wiWQ9VnD]~Wj1#5!t#@q:KߦTЁj+ΪqGndϹ4U[&5I|XbϰLa>fg)L:L,H=r*MXJXfff̬6J֝;9Pv #q!\E D e#"eb !#M)J:TYݕ~(\dF7d\GMmOf%Q{DrsBD`Ȋކf΋bLg[n/mU MhueƷe﹩W맼P-p{Kyؠ8bZ9(`߈Zh40ցNjûM!lIɮFČo_k.f;Xm\ޓy̪CM,v[bR9 B 2#"%BdIS 9dBfd53T4r##R@qTѐ>#UFseƾmiQv>)k%mPVtZ 5B%Q*RkaFtSSk()'ͪYxStv<yp@AfF{0et1wrl & 皚AŅE}H NLT! [ {[k6y׽uOf > q)ajF@}zfh\؊yb\*ed(ش1٩l02oK~Ri] 뻢<$ DhRfZ$e**f{_ׅ4XpGu;mR2z@^ 7]JDrAqtGaDַTeLywWOggS@#Im*AD<8B@GD6)96:6;B? CE0;77<89E9] ʆ0˪(pD,"Cj^kYl֤hȦ.)H׷ٗVߕ눨7377#i>=O~ݻugtA*RA5DTBvX)fnAEF1^+oܔe7v׹jɅYݲ5Ar`R7fx7[\wܺmk-֫nRbQEB^᧧h7h=wz^7AemY0TtJr)j!,+k4 \[$"#f=X͔?S팜kJ- Zg,AOEs@Eh(x OMQ33Uo߯НrweFSbJ̺He㗜H%:"פRLiUz➛mP.V.Fec(I3"dKP$B1dHW fVd7"EDHQj"!pBB2MI}(W"# *+ HHd7BG8${+A>Ѥ1.3JL!@^`{W̭P3dnW7X`2pp:15l8QgGc 3E={݀SzaeݲXgpJ["TQE|S+u( IJSpgsw4Cʝkwoy뫬+Rnl-7 ERw=->\rs+]qAÄ"TL{{(2Bf$X@d iW1!qdbLQ\LtbdR\CGQ@p{ȕ˔^RDC's$lI3p{.o`Le`3[LC{!kMb3%xAae %C; O% RxnWCGoCtQ$8vZbSB zoxcIi{¾Hc Y~km״{Ek::M'SH:JUJ!Fqݦ( D.2+pD<穂 }rSt^^r0Lj|x|( h>v $R92LÎ7H.u.PWq/h// .1($bCDeMrS3z v=#xZM|2RPB{5Սʀ<ƹ"R¥n\Q:HPp;͗{ pI܍mqPr6fRfeXa摉F+@E> d:)tWIJ2)-iU@SFĎ\ttJ@>$58j{ a,X 5t:2:8V [t߉#I"(m[mVl 0S׌Yf\EOt}mdX{z U&~ BAwM2D3CAV'^n3ә!KivFfV}(2jՐUKv{R Ai; ѮՓJyM#2$ZW " b~4 B,_yn#hIv,30LTF{/ذ4@6E )6q@%MuQӕѲ ^).82""Q*EDpU]cTwwaLUUwwU:5`Ea&ծ1C`t'@%iA& h<}Sx23nmϴe2KɈCf>vbBPhCkfɦp<5JjN$lXI=˷d8Stz]}X'ޏw+ygI :X4F[5R"B1&Blf%^l'*B2k h2ܬbH^#bDqYnKbJս,u)Je1=MK/3FfDWTI C(Lbd%Mj @ r^`K)upzͬP0ilc lYV2$!hBZ"ɦ~ @gd B]Z33]5oy;쾞n-q {=Q ܃q$#8X2qW "֋iX5J"e D(a&̲"xϛuҺ`:0lPUBU,7PL:0,D@rtAsvlވ+ˠ=d=>^m/RO~QUr]Z{k "zs򔫗ZPHlI]_͌\+¹,Jw(.GG7%34D 3ЂA>У6*$DHiU ,EPb96wٞ=m%۳T콧lkV@Y47R',LX~{NJS*FY 22nwVL{{S>Ov\,:Dv_V1 KON @ (J[D>)+cJ5Owl∐I&D S6Zd)CW,,L2"tsAPDN4HYYa7GI7RebS< DB7=Z+%r[@X"Q`Rbxˊ0n@OggS#Inp$);9==DHM"&(9AF42:9C?8,.2q J7 57mEM="ٌlyӔ)@|>v9Bb&몄FMڊWzT#3WYrXyݜٱImO\ʨF9ǔp0)YK3ez{(R$m'3<]<"K1I!dӣO߫TѰ28ùK^:V]A{x>T)@Me œ"y3SsԄw?"{zk}ٲͧg=mRdLcv^HWYg~iR72CPS czW(*&7o6jb\5KUTAzlh+G W9JRo&f<{U)dln0P}FrknPwODbZUrvBXm:T媷!Й2> SOoBOVmgܭswilMcԬ|iͥv}M5-f0 54d[SuG0i9{ŸL8>̭É/@>Qהa,}AdeU6"I(B뽕?F{?-˴9ƪ;`g4 BA+t,TSH\GQL+driluKU=]b(oɤHA2*cCRi(ֹ"+P,7 dtiI^ NrܞNn6 W(R)WfD$F0UP.#:M뜂Ǚ(dtPB$Eb% SiѰe6'gű,`eE ]! V880-홇bs\7 ] p52eYCYsL /7=NhVr+ef([\:VIerz"H WlW8>^jd@rѯ`*8z`;7ru#4ܢڬ gڄdʜs5FUyX[IdP"1Hr 5o*5*ȶ#Kw]Ex9?1W)lztWKy1h?HtĜ9x]ogϤ[QSѼE=HK#Ud{R!"4Z( hdM:X:{"#C%*JEiL(N!z:;sՉʼn!ʦZKyW!:+zB ]d7 4 Eжږ6m{FLpDLΚ,LY4a $a2~/ q+6m8/2F%!ޛT ?贽]zwK WCɤg6h6oU~wҵ7Ɋce!ҶՔc!u؁X=^yG-I7 J/ {Ь5XYJԭ2Ux]=i;9A+ :Fqa§$Ĩgj4X16ZG$( VoT]{[d5t /nBҩzwy! QӼ ɱd 0ʷܹ{_vRVkָZg K@Vi52i[ dfz% 0YHfLĔۭ>wQ|@ó9mWf0t瓘dҺ*Ϙdw~}]%mVAdTnW9v^eQ"B ژ2DfA(DF1Z)Vbx\W&0IJws,. AQ˕՜ND(׊Jc Qp3e PN>aK܈{8]QpPiFXjZ8p@t.mtn&zŦ1LچEzShP}J P3cL)=ksg}o˞!Ȼ)S|Oz<?{Iogϣwz韚xҭԛ:{6׈d"V2 Uh^4pa(N X$' eeT\Jo *",e*" "4Đ|߄Fb-JMgtGz)օFb P0EJ^<4Bh"#v]l.ueJY'v:}WmIӟOkbtzwfc2ԄlhRV3 [̠<}i'Lê[(foƤWdN1Z T`c &OggS#IoAi#&CE9$ :9=;AEG(:9::96B?HC"88:df 'W%vk({NX/rM(*p(i^՘ ]xGSV8_ڎG v],GZWqz;%uNfNa;v/CSAntueR!K!G(*(PRD($s[X rXXErV RrDAuddDD\PMI2'+N4D3۳"4T)"YD d"aDV!U⪹RX&Ph>l}m5Y7zEٖmCɞq&cK>n@uI_DEp9l7qXll+ۈ&-=I\߽߽W& qXjz!3+#Af F>(0գSbp S (Հ@Q(m94`7cR5pUd=4׌^}?ίrdF:NkA^Y^QK&Iˊ.gM{M ݫ޵ lK_ZAl=KEC2 cDD4 'Ȃ+,.,Uˋ$Y&R͊*YD5BPH7xD*9T5ҕ#! n2,O0:#@(GGkzc397X2pғXt"ěYܿly=J .d(qA.IB[&_}bԲ+ƈu{Wbd\[Ovق.ldnh:^ =n$ etu9{C'9dҨ"Xj6=&nݝK1㇋۸7Q+[B5ۿM>owsO,z%l.d⥑(h=p3efhxT1{vIW{LxkKMmmcXdz(]#I&J\^x'_|[@LX5i7YjEƴnv=pg{Anl+:U3<3@Z,p"g֬x׌MRj}Krg\=R9*e:_{KɮN|%ˏkM^tɨ~oo%\smW-JI }{YE]ޕ*.TP(Fi[DLf 7,eR.&I9r˜#$YKe鳢Ra}RGb.K;WE|!1 Xk<^1o-Ű<_`ck k,z麗FS\'EǁE)aL*G:?2PH@ΖbYћo %"zP9A42R Њm՗.+.~Zz+#H>"JH 9Pmʇ 6d"PTK2'PFtE䂉hIa*""m V"2q}q$3 @j@2 ȥ@Vwt)]gҪQW@Qp))`ݷ|nؚ }\҂kR!]jJu\.lR!q py BC4"'6blHq!Dg\(-f(漋5]:$z <,@*nbpBv&@!$f*̀j)$i6=\5M2Ӛ5֬ k`9=F4ƚ}2ڤaj Q D8P< ;,$O)3S&?`|wHVuߵAz۸ۭ)-CyenC3V1֍ݡ՜Bh[Iq+߷/WjݸjrAAwsqU@L% Ir少ѲXL941}w@V>qeXEz,ĮHB{о ;(I \qeg)IIxSG0~͝5yzN¶pK~\ޞHu޼l:%EilIح@/5.I ^;s9RFP46W"nŊ\t W4T~t.!|opё*!'wٵ{<OggS.#IpΕ %:CFFJ($6DD5* 668C@:<@B\K/)$\iF"<+}jNޫٜwq+8_l7]7הq7d263tˠ[y޺mgڲ̶5-K:ţ]: #@^ڨ摂̨RJMSqb߿Sݽ=j|ƻ-sc߿8Q(tl̛㬗$5rj8vGpL]\~7tnOYF(MlLfND4ӹEQ YB)*C_.6oo7.I6N09fݡ"ŤNLg_'!LaZ䝢cMtƨ${5h$qUӸJe . :b*d|p :hu5j9Xq\`,Ӛ0DP-#L7k଍Hsl[ucc{(vP< oXD۸KCJ{ǫyJ×= ;|2C3=wٲNڏgO>WMc#͜.s6+k0O=]U( 'c+HJPiA2 I*%͸d"hGS &npS܂ܘ({aC%B4*ś[ȑfKDk'J#XK:IcHxxv2ҕ"QefwSEc ob߹esP+es\sA()&MHSo15FQ|dISy[3'urs`|[k:ኃ"eH1&-.siI4Deq پSܸDwY*8njSF! 1r"v@:BgTHn"*2- 'tQtd饔Wz0[{9fX3@[xo O,r5K#>/P`$*km yԘD_Q릒iYVYeOi6Mȁ f8ZNݼs]N%cmjDdոtIPR6Je=܈LQ1(n(b2BnXN(At@uKL`6+:3AQK A2fuR(崖B WH@\F 0ޭp ۤ1`Bp6/[CSϢGms~8yQ!,pv 7!1WjV8fRE4TWU_ vo6/wiqU[ˀLYzׯ8ߦjN#܋a!jl~*t#My=l* "H"Hz \j+*\2G`P8IQ\6ƫ(c삍I0!7n&8bΨ.dˮj,sK̘A K&w$Ҙ;7\L]ވPVnǂ ܡR-ŬTVaO58@ZEZ g1"6S3,VX 'e=[˳) 7/;'$%1)K\29a};IFuzB|zUGT92W~{G۔4Y0Sʭ:DeSC5~{nlSH{FdB2TľQ]$Vw} uuuHR܈QRL%(FFq:T E+Ued,nlH) R&Nk&FcEn\C$WKLNDPKnY޹ Jb?'i# OxjjLpk͌JbOWE`z %2k|^+T'`]6ЂhT9'm,坧X愷q][= WNp7qiqSУ\Sܦ[nu6rcua믒Uv]i)FȚ< fG.#Zlh2:.C'FT&5q7h7q`TwDsFP^̦pUi2E"D5N(Hx/l6z#,j*+ށC{:;l5^R =35v X.*Em4z\e/EBGW>gw\]S߭{ J"q36WbHV@iUò. \;ʺ/#cm4[Ѡsfc;hIPJ3 z#5Px֦ UΤJZNLtwN2Mu!uYHt8/[l)ٻ` `GQ~+{)wՊl(Ji1 U}>&iQJ ܅! PUj̔DKo+˼Uޙd9zz @6-džwQ%v )&;$(G* ) .߆-ܑa :ɧ\q$Ċ$]2`BItbILr$29+Rː>JKo%ZFMu(FbEf{kv ?7 @@5 `p:FyK\EUivAnZ@bmqnwq!\Pcf6fZɗUY;[ίq'\\W\7q3u@+| [k|EF)wA(/ R Vy8p* PĒ'&(JGt=yb)SGqE q:2Aq!|*dRH:r#K2 "R  :IL0ߡkOK듸 1L?6]y\C$e`nX5 ?ӜƵ^ 0eq;'DFt~9Y\uV+24rώZ ڍJEyT-L*edj2L`1Z滘¢t<Sh~ю%Ƌ O9~~6fEt4L҉E &Z|̻n%JybV l+V][Uجm\\i \dQv:!R}x*n5xQB1z{M^=.J~;Xmkcl$ᮠ9'H 5;buڕOz)Y 22٦gXaA S uZ)p%;2I Bw2a$Bj%ߑ("Å^]:>-̔c=6vѧݟ&Si0(b!|{{J}v :Jugxy%mhM܆baAY)lfe[]~;Ý{ߙ'jmj_ӹhYOggS]#Iq](EK9C;:988B:!&7GB6:::79;?CIHE<="9S}Ar=RT pBTu.Rnv_{n" |B{ҵC-փ&"[vݻ i k3;6>F99!D]u}n^>JAIRqd3"Jx|l~kd)`Jp~>͞gD$sn?W[?=%{ ATؚy:U.#hU1G.Fj kӸ栘kGZ\[ -SNKڪY,ͨʐ-B1b)cB, ' BIH$UFV* 8+>Cǰd bY`9ߍHB"SZhp|0޽䅵ֲ]ƒ[&`nbX 0'Р0Рv|e+iwR)v#v' ō cK\6꧅fƴn)TP]4K<*^0FLK .h \Wz 'VJ եڮWUKk|1pY'qaݛʡFđs u *_)3^T'.d9r%!HPiF,FS;8cTm*r`ɒ{֣W3fN2nmM 0Vt!.,5 SNe>߉jE;=nYd U}ߪ`уM<iڨj7~FCcJ{-WLz*͎[nNI~*B8LT-g'X<l B`a,8mt>#IoW,ӟSvQw=`{FRj&}|)ޞh(j.ؙNjBUq]w`6$wH@7@I< h"J4 #@N:vlW 3Η;hrJ؏23_-s7Ry3wEL;As7s+hC3 )`8^b \wRBsO];Ώݥ`/@/X,@\`d3,|63\FUd J!~h(tukͷhІo. P J.*" ,3]G+uZBiF^14Ő]̌"Rܼ3Kve !̽$M_imZGZxEUIe> TmBU3 Ĩ{aɵ׻ Ɇ繫=әKG$uX +S)fo3E!"AI鼠\LH$/j0Oc9<d.ScJY>Ԝ_OTǼ J]AO,3{*׃g9 a#3hL9;GievX H .b$+0୎>g5w!F_v3tjqc@E!-H4v>v-u>#I*1pbehqwW9OdK9Hp aOfr'B_zXc|zBW#0d&"rj(ҩB>fFA}K+;*ryKRQlmUUZ]iVtZKDhEu\WG: #߱B:eE2q7էǮs_l: frK&pH'2(q0{zq۞g? 8»X)Fo}wy[_<vH[G}iXqf_^ :eAF wv"Q6ZJ*HlR84~iAJWMA%t KW{# $,b$DgE5'P]"j8"o\IV"D8%$6w]Bt#:oqO.g! R@r?9 6X[jd@(  "J\7t2eDžu>vˀe@!UK3#+fdB Vѥ})tv1eG(#W϶LWA(.G"qv[ۻ" iLzYul5Y<=)[R,o\qvgdb*Sܵu6t.¥)y gwyT{s!O=f I&WCŬ\]mwvk^kLڏ,{FYs &t(Rw;, ?[~$$lvbYȈZ_&cn-":Lҗ+Jh" 905´D OkL*uEq#oxM:\oxi^YWHR{t Lڀ@WSZ~fpOp!&e"z %ڧ6~WTnlW;_qYDsBv>gq,G(]IRu "4qreR@73{͡Ω`eӐt" Q}HB;<BP/4R9@~6 aӨ=B< 8 *Êr\ nWCNiKA`)Gـ,TDu_X/Ywo6ʇX`e_oD=no<}Wu#B_ZLٞ~m "xg>ۛ/mǛrZaYeqw>N7i@G-g!*̴j3sy^ټ}Y@El5J)QuZZr,m TSK3m05if 23rD* !eQrd\vfnB"F%HQCH˦IC=;GPUc#Mu xk"+qfm \OTf!-rәU ܽ1R?h L}Ty.8 tnM2B~ 5}g 2R!Bm1La9(eEBO+iQ-_oyQbuo>O΋jgCoޚŒROggS#IrX"ACCC7*/)7FH3-Lbr%s~ry>pz0>\OQMjDpM [e8X^l%j*zo#v:Ok::>ڲ:L"ӯL3:" NtER4K[2*2"dZ{@)jh>C"'lB*)!"JFN:5!*a Mm+(8b"3DFRf@3z ಐۉ +"}"'Oy\1EoF!7xàIxIwKVܨe4r0dji-[3LsB)#Na)sw(xޜb1ƧgQ~`)&t#ѽ g1{W7#Qf,{?dU*.e%rqkH?>Ԯ%w3u'M̤9b g(fB E20aZR$NiUZp03 (EtT˥.uI(A&pn"#B'W!*X&nDV) YNN.<ECR#-l\(>!W'pas<7@F\6[5 'flw[ w($A1 (0nsp=!yWTv2ۀZXtJ)e ,x (ĝGo87}[$cuF%ÃƏs@Y{ Ѕ#V4r#mA"Yi{K/Eϔnuz8 #2*7+2RBV$Dndgld!S"UJ՜by^ @ acG5[ 0bzX d8ZA|3}M3Łu a Nl;K[BU+`T!G)Ct ,㽉PJn lN,F89 s=ga&(B7jhEds e{UV롮x\+P,.np,e؈B5QJiY袐 ;Ŭ /fE!˕@8QrT$ZXR,E"LSY<@&$ĩnP10Qo&:-cgWb.]#ioƲW+X@carpY:!Dw|$E&twg;Y5̬BkO~].{֩73_iLYĭfIgzhJ,w[] J+Lu+;\|Y~?D[އv+wnKD "Jg˸R2q!"d¢&!Ad!JE8L^#i<=4m.q22X*v{Id$YG2Jds"[dmdaȔ! ) lR$+R@%#J.+`ILDTt @jf7)dd* 1ĸj YdTF@I,@")p,hْ3[&zkmۭ=j3,x`:4l` dN㠹b(<ꑕjptRwtA$F:7CnK&튈m{db%&U=m"ܘDC30ߤ$g;7Zi\q7NN!dvs9k׻ ,0qd󒪻8\`(?ٶcB%U۫}{Sjznzٽ{^5һ{id݅ދ Ҩz٫$bG\wI}$.&wLs3_T)>Zj+FV˾S ͦ ,7=tHB Cd@$dFY_+D.5|}*V.1IuIօX\|HGk"{T|r hE@1zJO-=xic>>3${Y yؽmQy)49m5/:Qw)eҸN n/Fԩzs.{uuiS 5Zf#~W*w}>.fcSŢbƨ'ؙ|gkA3oG& e5^4`#q`cBcOLYodֲjom~zXO~V^R+qAu', Nx&_z-hӰT&”oMɝ>8=˯WƪDj;{WIr{-fLvSWb]r֐omy뛉M{hsۭyXl'}=؆ɻ;2mM;6~aP25e]d9@ټ* q8U@"@fYq.]6LNͣz-,;l>[_(1o6LaF޻4;N]6e_,[5}(ke KS!Egh1Jw<% {0 m{oslYն*?>OggS#Is %JN>3!*7:9DB(9;=<;:;F?U;79:dj"^ $E53<}F՞ 8UɨnPkm{F]LwwwUZegZP63  h#A<Ƨ735S&%t9CNgYYojpd}_Vi^%O{{ttrYGS?,3Y]ҧ1t.["W>jW8d Wڲ-M8Ud:q-/˥m鑽&6;MɍЯnBPueOm]g 9!. sې5ԓ,ϻɯ?W mWvޑ}ܫzlB{|cn> + "ß~7_.7}S^M30 <8w˭G2@ٴCO^"tjBc]?`aSGMhe/Ճy_kome3z9V[Eo4ѕىG?Oa-zGLwn&H$Ji)اM ]E!366ȉ^z+dPaGtWM"qP nDUr3qtT> Шx(xl4A92dK"kl)mꊞUr9e([$\̍5j[&m5F/ -w͠skz mdnAӾrͭ3cO0 Iz8l~ hy1R"Otgx`&] 5#Kѫ p2hg5Dt5?V#&@6b0-)0I/rB iБȫWT qAtlۂȜˍ{5̫4dldST?WfvV̲e$[eu Y^l@VPu4Ta^R-e ̲wKk̬.E `]4@tp6l ^c'70UY&ڀz$YO`}^׼#:ԘLO,L!]wwqނ$ΪmVP-O<܍~zlZQ~/ 7J)k#≝Yaj b];ˋx)d)"XdV8I(PH"Dhݘ#WRDvx&E\V oi TI%.jj QO:GC ZL7%]}i`Xn' ƴ[cwLw!.Ws=2r dp=[L"A+J$3 )9]<%6}Ÿؘ1Sv߯D̃~:vcXxY`|@|27{kPAvZLod9v2)dګ|@(S-EHjaی59F3c<"΋ q R?zs_WU BZQmox3Ӡͦ5d4':UZ13@ت~mvX+ACZvW{Ҿ s0ڞ\.#jVp=X&\=}Pk{?knafT2#v7SYܖߚ ;ٞiSu+:48}9C." O92;n^zT,)3Jno])F7 ,{~/3˛ێ?w[g;g>qkGmeȨ # B0"ۉ q X)Q d$Q 'FD6r$/aO odVdb2Rr*d!,0BunCAe[< J9R"PD]My"7 $x @+nby6nQjQ̢ Na,l63}. eB:VQ!Ȥ@N$G "*/!a TE#l۔1BO+A&tjISExպ !WV)ǨfD'珞e3qZ[ !P$UfU0YC[cR(M5uAdn 8xvd4ꔼQ=44$Խ&@&*YټR3󮺩5ܻ쭕KqtQ5:JL8*k,~\JxrTV!':dkQ%:cWz E|XN}%* q:~QyF> g6ŭ*Aކ"Lh ` -q2 H,h- @9Pq|P Z'K_u&۵!9REZyͤ-/kгK"A" i@]$o=ITeE86los5яvtc?}6~׼_3Ppr[x{s{wT+wʩ@K'j*$r sY*(Ή,f,Dfd!sD7TtZ@TTeE2*q x.rv廙ٌr95{Qb%.Fϔn&҄jz(F]ESJMERqC( BH)EnJBR&Hcp}|T9!him€acXK.T9KK?p -L'W4NjE(ME\')v)Lg-yj*rṙ>3bs#}AajVi#DB}D0@zx af׊xkffF2y,k6 C?ş޳.^SSnoJa;:]}x,5pȘg _r!&t< bY̬}\dn)n…,dr!TTRҡc) ],@b"sK})SMLEHҐ!Dc M lu1#x{<J0\J@- ġaA_` lw[]jO@̚F24F=h#r?f..ƚzG!12@GƠSԶg34 re _$)9,Df9 )DfR.Y۱>7]3ֵDOBv! (>9 pd0LfQVG۶}W[{ci[E綽*&PD,6>%+Ȁ>lo.JOrݾT/\{!&s**w9k#鬞LV}yL)qw׻1MIau3j#Jj'<+FؐYgɺ)OEfaG[jG5cbm78cx;Nݻ175j$0_@vB؋ύ*[0#LpejtCG䃮I@tmdi}(2:HjFׇ?5u7>ykM#h -HWV93zڥQ:"07lMve5'3<Պ(,YPLnR6;6P$Ձ\qweb3d%db%̑L(CB؛J)ђ]6 -e yDV< $̵`E3y4Q#}=TLAS9|+a.a3"ƨ^P0ji0K#zASқ^ޫgJД0S.o珍,Ogp;2rO/k"+2t宱uB]C!+F%FnHrq"[ S'\xSME*7S\D鉔QBPEd 2DJ"#7n`|OY2hcdP ,o r+:דx¶6$$c3%Dfy[0}0v<ݺoY?ekUnke>{2ğ((*u8DgP OofƔ){e\>ۤR_3=෗8kT^LBVy Vn{q(xM7T7K90Tu z:yېTEH"3 DZ J)u@F&\oI,CqR]rn3P *o+WU bBndl)*lEZXk;k1_wwZ l3fϝj[u x|KE)N(6@?ɸ{Ow_֖%@l XSU vexx+qތib-;ңA [3q9c :#+"'⥁wFdyh5(.8lٛ[la4"R!2 颔QIERyūXK\3SVfV )NĹ3,Wgj=:':YQ3xѕ,mfnU^SC PySAxb91(8Z DDF٫lq S,E%t_L|nKUDQ>kTJ9H {`vGdSEnD^y.UBl4^?QV:QͽK!MbT "rCor4,*(D bR8湥g̜)93[`@p2Mk<0(E ~S=W/Q[P,/AVdU%Hm LklL H_ ~7sJ9ƄTJ'<}h )]].({sR$A i꣋(Ж5.rBޯjP;9فhhάJB)1!!;b6#.n M dM5Yc$h0A?XI:Ev`Q96e =@~~Zk{}130}J pˠ<s_&g  Ę=8@yi"K:v(C1jT 7x]m.[Ã`Zmg5}|g-F䆨IK)hnmF5h抌T!Nn|3YHBGpl@ S8-Rƃ@D 1]:sJBRs#A,'C,[09ta |Q.=XCRoH:i!q8ls x܀p-LdN[s bCT?&9y"w je5).r_K;yx7MFoDlT*wf֥ҳG?{J"kҧ"MT֖"hawsU蜈艼x”+vc;X /rbP!KK&;.%ru `\VV$#i1"dntUOggS$#Iuъ-F1999=;;8B?)9@D3;7:;@HABA0"97>BECohD7ZYJ5LgzgLgslgwBÀLnqJDe?*v 2T\8^](vEq0%$)pe9HsQg7䘶et5/8194C[ҳHѧ}~|p1s[BqͶ;5Ghʤ8>ml "ӓas5ݢX(ZRQQjQD(tS" 16Z p*Fò= "@D-4D&1B$=2X0pv92dd#c {Pؽ7^25 2 we{]nwʘ]rSRHP*􀥂t@WN;Rgݒvo.: ӓBf Yma uf22nm74wPjnZqO,I`Bf`g$FX4K֔\A ^&KNJļLK<.DDi>ҬRR۬y;f].ߴ @U$ԊRC%"s*߉H2qz[gJn[&K 5ڗT  P?o,@·[#UkH 1@5y۪3Eh[9[g9 XWzܹ-Wv]&/E:̍-! zT3z6Z"QPi8|g{̲2SZk졍uDHOW#~!-/cSUD{?{Ts}ny~j ڔĬY_@=o*AN[/^[mV2kt@Vjͭ!4b*H)UXwII.sn(!$;F2xi$8+Rzr-v">*{;UxG߽w~} ؛s+*.|.=5,D#WA6۪2iv?Ye٩.usPBjeJ7EL[ݡ8e[9&#P>&9η\n{ª7a;MOЋNmLKK=ZrkP3! 9cın'c-sw~5~Kaȴ~yp GdrfT S36eUopxH42(:TXgAX‘QΈ}1T+^ ;-"8G̾'{]Yģ4F/M cY>Ξ~Ψ\͈l[f#ue.f34 0\*Uo|M6]# ʝ.!ї?>)C+J&8؞=w=m_)zngs(6of:'2ի;fʠ5]bg'6'+=.e[+,W#oVmù}h9L95ph|Se,t>Z{ c|aVizZq>3pMyJ*K  R FqS |ë.&մi+Z @,[ @Y$[d?x9UjtK.5`%<*2&wR.a )ZLXT67'{me[g'd~'9*_JF\)yo Y)FMadHE 0`^VJJ{6zO޶-&DƫKn6 +OI=E$X<+֛GG|<$65JjP,%,*AG{t&h62"^ø *39Sսi: ⫪0N  y%Tr,dr36lU~v(Rե(Z!q^`5T[ň T3d (i+L(VT4q\P$29Abl!N!eF.b`;X)R]DJ) K$@с2X"+)%%MBѦ  ?،Ywo@&-ٻE+6?s!΋=9 Qn0F X*5HOWH"j$I23佷_+2=rgRz"sX;=bRgGViM`R癸dTDDn%~ݐsdP$@+Zdt;"*bLBAG0.(.%'}Lf. }+\#"6t8=MeSHpe!LXؕ[kIpRJS$[` K+uhc Z1\ ֹ3BM߄8@d(KR:,kT%lzp4S'ŢjzlEyqdd(r5@Q(926W^a"09FQ~DF5*:TFP!AFaĐ b5K()Y,Sbb2oV[Ll=#hiZ޶m]U5֡Tքƾ*?p/tj?*B)W z:f6 0_̑qG|+kڍ|lD斲rJ!ޛ|ۮC՞1 e+gR4J@`(0fbƲ< Ԩ9؄~Ag]N_8@+,\\އzc<ͿNaYO۴P&CV75o56W"$*HXE(uS@4,R)CdDHY,F&$}`q8A R1bd%d**#$HQRȂ-eYm&cАWf6nvCR4ls}) r %GOZ7OggS@W#Iv{D"8,"g~~$IaV'4?EUj?̽.a'ᵃBEx RNh#H .#4}i;muS%Ju3e)hR0$Q( Aeq3 Vz">l)#d@7§BxQiJv nԣyٻ4 fQX3!Gi3a*vс1;b+lEULr_ @qKZI)@XSSeVW1YuNT18!2t=Yz0yb9(Ġp5Qo,ՎUjim]R*#MήJ2ZT(Ed3"s(!E%[M6dlKDf"eʕbUt{J$]n`X YZFN\1J/@}ͮB̽f1#1`#f_1|qN8+0N 64cR"zz3J&KJ?PO( ?:qތLTY _tgVw]?S*m?@ o>;b~}!ѡ.E-»+y B/ȉKX \qN)s2d Q o B(iL!eZ\9 NBg^@%HN+:%xM2y@pHƩi#2'wj-3t ^ɶΏ}q]?FnycGNRtJ5* RȦR# e^Q?;P ȝ޺yWz#ٶ=7mzOmwff>-(-yiUl8ܖ !\b |"2w6mlO7NxKvu/:ʓ%d,A2*]DM0_53ceS&oEy9ǽg]wVg (knd:3, \/  <@ 0Ҧb[Rwwef 믎. ŔN~c̶2nLj,:(%J $Qц؝ⓥC\+QU/dn-agjl.eҖvIX_}GOy' Ũ#+JZ۶޽{ݻi c2=Tjj&9k:Y15vl٨D'ɐo"ÜFr;_+Oҽk,Z6A:Iφbn(3 hL ~e9R&@"QFז"!@ $6ԘDF:O佑CܵJ?yf{>߻'bRYO^Ç@$19{oDBߕhUX) @݁,y]K{L^N'd'F|Fۃm]|`zyZJw4ųby+PBvZڞ֠iΪ=`XT9U&L@5hX\$=GA*pۢ'.k|n)LĤ>2 2{eC'vJEy0J #x7۩j<@]"&@ՒoOꁂY^ W7HilRm4Y֥Xm{3&hF-z|u;;PS4]ra\EA5ye; ]PtIhmO7W'V1pNReW vE׍Ȉ=F/I~=A \xL3ewwx h){s7'459ŗ<2ɼ ]056s7 tIW]zrprݓN6^vp4rEwp!:rk"9OE6j׻[y=*ܜЪiR%x rTt>]M̎ĂrY]: Sh}}ՕCmϻicϳef2uV}{Ѷw'9&tƨ tNy̚#RZl4)1-# 3J|fp1{U" kݧt`MO6*+N?3bBg`K{0B]`UbeTnİRRPdVGbTdT(܁LMO|rKR>xommZɺmUUl#21T%*"iSg[Cn΅ݱBZeldͣZPE)8޲La5.޳ԄtvYغUgg&Ż~>4?#0w'mi6dbKk*ZCJ9.ć.d\e!PE.GswB 754wyݮ <ꩋە s^Np)-erBD6w\ě,I]J}'G>wwsKќ{It5 ܎(i(cż6c n&Qn'ZE*3_ $lE@@+mAuaV!XtSZ Dd^2QeZJ~|X-u"u\1Զ F@hH* :N;]ٌ*)IwL么"T;C ؕ 9n1Vnu7BRNai&qqҰ"o?+rEolȽC-T8☜j2I&QmMIJX ^ ` OggS@#Iw7&*,#8F8CC8>;:;;;:AFOC5899@GC4kfr/ofv '}RP;&+24#h;9tNySǘR,DߡHY's^Z19LP.wsivT|}"{"sJziyፋb\L+<Ӽ.8|p\)G)" ޡPpU7`p 5ʹC m+äYْJYXnL?K}㼀b\nJYVV"Ci.c̳IaRD}[a0Z` UsG FU>;Sޫ˴WAE&M4CfSݪ4Yi?4l޼R2__P~l9/b.O|bwF!UZ3fVmT9w5p2fU7^ًIy=w ۪CraWuiBQN'rS\|#].#u Eh' 5p<T9TYno.YfT١AGȽ^U2*P- afB@}Tr*ᢋschlKw? h z3Uc27m8}ofD{ͼCwv^Y0+PШ3|]xSӔWg+c 'tB mmɋRH ZH_({{P joLN*ˍe5HĈ˔D 0#\4"2őT Tucr?яHiIfEEj.2}onhD|Zqٝ.جrq7DT 22R2"Q͘HD )EJcEВHQAAMD Օ +ab!Ћr W:EIj;t!&[!DcJӝF+ko Lt @-2!Bn(F=NЫ tD)>uqej%3upmlY{^ޥ}3`dQexݬA~g)䌬\P{6l_ v Ab5F0/\+!t͎sW2)qo܊h\ DʠdDkrFmT6gw礽D'"rȸ\qŻRY*| BT# ˧ , >WJ8lYd*VRdll4393oq҈+)V"az 7?dqR?ircj׊j1+ Ɨ3W ؊lH̋*(U,e@gm?[Z !x]ɒ q(٦׌ vY`$sg0_׾~T2ߎJ0g RgXDk\_y*mlxD `=s`̓7>,&h.F]a;7[v{oE;^s^ J qn˚[E2ĵ!eLHv?Oc37lht5K]7,^ZZK-Lw :QJmhǘ?j:kx@Áhrem;FIT,yiiybgg8PXS4MWc-D2->:I$Wu>ȋΒCk5EEzWMJuRyHt0y.+(ŝHefƢJ0(E869TVgd]2h*6:7 'VfI96 pڕ7ByX2UYrN#[-@RuHF"@+1 5h5 믚k1mn:P^L$i c (B B IX A!K.Hُ k]ɔ23L \!'g,(1ÇEE2'h5ɂ2BdTPdѴ^dv՜ճ2þk@(\.:T 1B(T %Q*F:UH'eQ\ﳆAfD\(l|?'8JsRKdkD°@R'I `}D- W& j-1{= 9;@^z墑uLCDZE<8N}]Ȃ)3SJo֯>{p+_eWlsө[M;l}#Or44 B, Fo\*/+*q罋6BȉOnrp1 :pL(bfty&R"M0rK"DQSIB_SM21sCwv! Gԅ0  DUr OLs;6@A5Jo7g5Lvߙj1,f5h;}J@YDQ [4B Qk\ߨ斷YI8 ȅjYtD#ns@j^e >j) Q l@`RL("=lq#Ȩ4E|0۲Rv)*QYg\F+ sS7dJu/! 9^9[45vt<EKo]ի{ֶ:M§R4謐-0e!]n=߶tSRsxfjVwmWɩ-oz(z4 {ub=@+PE :ve$R$e3e5n2 a3ĸ~%nO6u?rbf2֕$cOڷQWz*Eҙ`'~[ЫZjJRdcUʔsRd#HLmc6f>UqKF!rڭT4RDbmE qR7+nfRʻUy\vji 1 b^;bkYii0(-"w,cL0@bf~5U!{"!>(!)C չ@$UL~_>X˾d:o~_kf87:c߽#w%z #/hкJSGZ QM4bs|$E!C1vtBvc4*wk33) QL\9 PA 2GUYp(l#")I\(V#QAt˛&}q)k׮=Ix."JxXS{OggS@#IxKC%&!,#9D@0' $489>AB69@?@L1Dnq 3ǴQ `uFjmI{kpb˂_W,oHҴCUٮB\US632ۭb[byw!f}~ӧzש}1 ] SjT75B(2-"i D̍("eiL?shh[LF\Dޯ蔥bbTL#qQ RC #MR)DXXg1J6RV:3" Rp=<*ˢn% `p {Y`l  `Lex:#})/CCKd(JPC͌I$#ɔeoŝȔU'砗Zt!| xIJAFL 12R3٠ LƌQnUMTuA1՘^)d!DT.Y#bDGEe ӝ#.# Ո Y Jut}U +Mۊ4x y˭`hi[ne`fOs/@4;l{[^@KeL PwPG]̖ДdU⢠(!I2 )֧R[6xo*1{SJ_ہ^:gfy jU$V @0UOhUEhP.5uSy;Q][,̅$r:#2Vj Kc|#J (% 2,Jɺ$H&W-p @! %KT'ܕXYnTvɆJW#23Cҫ@'[JqM‡i doZb:p悹S̅ps';w hNQG-O~ 3f550ky95lx㖶r;|N.AT*ѯɣNdC>3vJqj&k48 Y]R]\KWYji=s#E &LdDi!QJ)t4%$ H\##N(SH^FFD#Z 7,q;Uq)HS6XUJZwgl/l:aGWp7޼tq$9&5B@qpd\ E, oRBarٹ\.,h 2oޏso-=+ټ3j)CR0C6= x2"-v5R-_ Km/o72[}YG6Ic蝯DfJ6]D xw@2&;@!K2e6&+ @^A< c?YKuOJ[t. EdZsu -6 4ٱ[>0wP亲eM5@>B+A%]qp! bRUf.h5M2,Ȝ1/0-eS[1C\"st.aY#lTrHL,.d6S!LkVN+$,c30 7ƛهv` "u; P^HcJ)HF $ '@* ^~6An,1O-=]Ϟ6d4 "T( ]z$ ٵA(cާ u.ķU߅CM)rrAhsYPɆCW˽0{W)S9KZcs*}1&P+Ĥ'%tO dT"zl67|[G6dnba.Ʃaz1' 0;-F%siRsR囇I%QbGHn p*U_(fze#1/筰Ͷqs@2wWx%H!,iAHRjI+E,씓ɣE* J汮2{$yRQŘfgǰ*I@"C/D1{IŐ~ @G!-̖R*o>%EM)RNHt=&<єWz9{qwap@.n{89"@v 2RFd*}OぴO DPpT)3 ?I]e~ע} {ʟ g2:3]ʵ5_" R(:}l4q*@g } Б߶qRX=SJyD܉o:{m?S`3 v+;E`6|v1+[*wi͚V{wwM K{j lwګȚvcgF*5uKa{U5A(f%*giZeB'8LF <0PglV bfmjo{҅01.~ш%#( Oqy (@>uhĮIZ2T8Ÿ*xjۻ_ - ZE^͔>qWO_UHXF͔:̔X`?ŤC}(߷PzJj:^}})]-]^ Mh.Uf1sl9+yk\"3:2# iq}&*)QPܛ H BH$!RddQ*3,"RfT̵3qE1.(> ZAQqE#1"qpqwLg C@`$G sL"3Ŕn& =h`C9d qfa͸[ȄL9oDqtpjwϙ -v[aNZ;nᵁAP<02ݹg/gtOggS#Iy");99:@>+$2=A;=;8<<;C?B;':98BHGH1|52ExBts%EV(KʸaлH@fȴ 'e]p(H@ FpW@lqkLޣ6;E>-_<r)8((hG{C_@q(ZS)VW;NTA@ 9Su15eQʭlŸ[Gq&e -Dt=R(;HNh L=!͖!+jsõВ0Ukѓ\>^$QeL9oij̦I q^7i&' ͢ϋf,BP5lB\H"?~}v  B036FIJnn_esykPg:G򳝃*]_= TWK+yy4K$Lʕdd%~edrOm*YQNp D_;TdbdTW md!I*@RhBn)\F"# mKY)ؔ(".94rp6&(h˛+%$VbaMHRJMdXv{l_+BsbWz ˞1_%СT\HA @n%I 3+KY +ghljue|j\C 1^GKD% 3: JT]uJAi''r ݌7mʚz+9ldX,IF^VMPd=l)}.(u$E>v2_5$6 0ъ•J^-TVZ-DD(ƀ0ڋ,&t4 e[Fݸ!lw/Y*IڅiZ׮-M[!nݦTfΩJʢtP/^]NR̅ e^e$UL-b3t|vy-ZwYSd@Y2Z NXxLBu5,*);zqw+=-3hvK ZoPe+eѾP /i@^`/7r׬9Q c_]/kk|ZJ ےfZeE[vLkIIn62%]37Ol(Uyke@;m`t.X W; myAf^Fh=/Q/)3oZsX3{QQg&rd[i(Z(A$,T:2r 8IJCKrަ8neh# \IEx{:7q6xۊ.!;$-k !h .c(]*JώJ$P P7NM% P|gni%5iaָmzZDaH;Hu5p)@yv42ofj1;d?ip=`t:<^nǞFeO$$[J͏c,uqR;)ݷWF%Wm2҈rʊDF. \Z7]"dMi̸티9gNxRknT2VE Uz#ɨD^`Nv  S ؊Ib{*mTF hh-i$v M*uF5Ù[wծa}nۥAd<xyRuJQۑlȭ: HZP7/̨&BrUn! U@dcDgHM8 &t" -ZYSfR,!9<DdOa ^{X"iHi $h+,LFe8/[gn݄.@CH\D >P݀ɨ d i[.@?Xg/RI 㖍d.7f0U6oO=6Ni*'|"5q$KCJWd_0_% aP4|Gqd4VnX*B|駳c?>} F Hf.IAe7379NۘeN|gv sj 2(D#(mKkJ{*@>+/Cnj*` i7j^aDyoA*t9{xs]L[򞘰[^Yή;o_5J۟*]٪{ {ё&yܫm*6)s{1uZFfޯ)ʆ_o]s;0TDM蹛P1loأ ޏ$O}OKT dI"XO  P @eUee?1&zs{e:vpk}ټb6PVEz!kyv@p}hx,(J~,JoN)•ӐtE߹[a>Mu8Z<) #@? .XM2 ni=JhnPU#[cII{|MnA\|yQ"$ZAd4瑮j D=' @Ug(8%WJv#(:h NK>H:{^`|,cԗr]m:wZ3趻;>Fw=YcwLR өќT0߰.Ǯ= rp[=6z6Q}Ⱥ¡,8TOr3!FULZۙܝܼAVPn(CtRPz`9SXt, 'o3)\i}ݳ6K.Wkioko$nT5pAdU6%TB/VQueҧRxbmHf667ن.sV:5*,V@ٿILU0Gݡ󑑌ck,w}eȹ.]V?n\ :psL%G΁R R^rז޶ֶ)O5:˥{bhV^ 0A+wL/NEԋԼ3U_VvYkxzkVXM'v%kWi4%-(FvKl϶\C9Ī'Q(ԵӒ*hurwƬ @27IǪEΕIne&cldwgTH6'^:ȅ@w 8.K3oF@!zL Iۻ`ڄi/!"] Yܜt1 m qs `lmD}ICF{PLqrgŒ9WSP޿Bikeպc|DZǁ]w:GSu4mbYI;|޲>**"/쨾Gd|6j7,'FsDdDI}76!usqȖ&#m?vuZ3Iae'dd.+MNw9ʜvMU(q-.JDȼj;슸7 {„4ۦ*h ei웉+Aâ332sg<53=R@ =f.d @FOggS@M#I{:6%2D?*^#T2q*LlAtSt} :ԘR~Ed[3ܼ(IiZ?RfqOۢч9eǻh%bۯboL{#UmnVj7:s9CwʻR^üyKU,ҝme*a4r'*0=!ҤFC9k}v}c!jx׃d2rw={.ȕ:VVfr]T{v2>Nl5kG0habfi9MSsy/1{ B) {`T~.E1-fP{̔a $?v5;d@k)L۽k\:Xmc2$Q57'x0_YZg{b_D C)y3u:rNo^NP@mh#>P :q﵋+k=ҁ1P~Kzemj7Nizz;7Stv%Tw7iMRnv}]CaPoE5j. RHS#6̮h@=hXۀXֶ$lH8 @0{f ޫLIHr ]U(@u%nX ɔ߯bh8UzypMy䠻TwPh0N (u%Uyz.4*%af^h_ÀT2:|h>DOj+.o++fwug+Oz:F>v\XʧSY~:YIJmS]q:rZs{UJCw]rNjs6ܥRM# 4{ULϮz70D2JY/J^hY4#۶ckA<М翕w$”ZoP?64 ENg9T/uPj5AZ_emPfތJ{o]6Kї|PpiX ]ru7_JMK*{-fܔ]89](\['20tCFt*h)/m6ˡh#ύh:˛+sf=vE( tQfo%6-ıuv!Z5LY!sEAAٽPŭ^jZc͖ "~L]hm5i;'i6AfL[q+Tb FH%>JB)Y)d9mQ#ଘw\׌DDz6tooS %L%vOmgfB_95߹3v {X<[Kv4FgGY=w n*H _D,FŢB nWz;h;OmޢE|{;DRR M5R YD ;p}$@ yʔ)[>ﴹ:Opq혟&$Y;y2 ו#sc6@HukMe @nMJ7fV wYV"d$22 !CULuגb$MNʡ&R65 k޴Vdt"i[2<')*܍(Ha*}KX:%6WR[^TMWt:'A0^'+L@^S-,f ֟@P+akt=ޖAA  Bek2P$L0-oqdٖ-45Xrw )22H-*D `HSSĕ$t(ً5=qŌ+(WQQTrw)2Sq6l4v#3EZVdK )S8oCh1v@i:2],#Tʰk˽mFpzBUJI`[&f.Tx?XV Cܾ6&qr䲬2vQތF֕Ӌ6T\"Oٶ**kmU(ijɘn#-vJRho 1SJ|k[ -Od Z%~.i)lHvkHN‘#|Jj{ \P)@)lӋ GDl՝ R;{W3V)zjJJixtª< qE/tt7'gs39( !)e&he O^jPfi}9?!.5T(d$YQ1dvlTbJY4J|5l-F3swMɈ\U#P܂p)B\9(oDui4Tf]@ZIBg:bRs},iJR^X uP ϗr y 5x@guZ{` n$!JV110^iTՋblxhg .H(33e|zg7.U#LtgU{^wF])U P-J-Pq\iHRж)cjfq5+sSFH]U U"MGBC R^"d{iS*(J] А@1\6@@bELky f40)J@fcdl6 .91 C8PM׀\00-*ef9f^ufSm"0F0T!=EwAB$33V~TZuYg%TT$ Z*Az›dfTU) ~TPsfdzV^iJcاӡ=^e3Ng`:o341FCSҘK{m5r2+Li7477޶g%X[UF;KB'KcdOIMؼKL։r|veu,EφXT20avK*Ր2"RSt1T#lsyUBz1!gٝ2f:#2뚉4ʈOp VnlZ#eStl ~kr ٸ, ]qIQ02 ~@RȾ!ZIR(e^eNFu4-MVvuV8j Q;rd9yY–##gOdVsbР+f,{DJ X1HB 26do"DFdK5mtL)yk6'l#/L\t 3˅vRDke"j1Y{jL((>&'D0)IJĕf kkRy&mOggS@#I|qx$/)1"=rE[ݰl G\+.Af,>}ֶܐWƁDXmb\؈rSX#XVY0[Z0fyz6]C, e0{cn6-P8pV)eQd8HD>i@0"TpװoYw# Px5cJ(dq-mu6_&;<-;/#kFe@YF֨$OGNµ.ĄYY!G)X}z Q*:" ʀ(FMJ`%#rM!!I7*pކ+XJ MFVdlb0$+玲d&JPn.n8Q]S"72r9N)W؛a-uK$,SS޴V[XIbKE;xW@z ".  d8p- Ģt9hn /KŪ]]oktrwntEaeDJ۲S2U#?9RwR.Z\׶k_jO,=gz3[{ɬn1:IJ<<Rm Y)%+Eom{J@@7fL~/g0zMˑ~tMJVq=0ŹG-]IRAʫ`um\uᚡ !IIճtQv\flS4;OZJq1D*ݦ3^@3C%,C42dS"(e':@L{R{ H]ܙlh !gn|")PkzHZeٽ~\I/n bzۙ'Z۵.ܸ41f 1tҼꑀefxת7ԛIjRf@r ^d1Y۳$s|S]cʖtK dٔhDn4IL) QoRY^*&n\.K\xӣNQb5[o2N唊R)E-dD$^ P!K+Zd!?IQpt5՝tT D.YC-鈑~a '4F{'Zx޸1ynnm%yl]U&nYAf625Bd|;jv/,J :>B03S̬^~m-*gtugb[41 Z V@(m2#MM1W%ЯʜyLk#+ȹgf>ݷb%M'+&2R$lu7U##=g "ȍ|bM(V(TZTrek#X@xfe-8ܠ z7yS' >K E]jLE GmO;F? f(8 P{A s3пb"7/6yoL I #&EQQ1Y8dUT"V9g2 Bj}S@ ¸%V 3Dx2JFqa)yBzDnF1PٙiHC %GF"bH 5>ƢJLE*UC!_qb"Z dm3K) ƅV$8B#d9"t""Bs2I%+IT)V aZ^=ԖHX\щOŞ>wT!2`̱۶ҀXg'Imd(:JmNfT 0S ܍ܩBTqTde%DF1VsZ Bi6l*^Zaޣ'쿵CK8T]]GO3C&-:l " י?w 9=mٕ TЪYO$Td.VӺ ])wgZ j{ ӛD>wR`0UCfםugo=b`Y4V2ulk癮]AEy=$&PCU~Wv/w}bUU6 ԧ{<׵u txJtK_ L1rʛ Qڦ}g񰵞4銑 )@.fW:PCfwya/@5V"Įpg+'AsׇV)Y"i*%m[Yb\ldy~f-M' ZY^EզΦ26-@Aaȕ"F}=ѕjhv^vZnz2{̌oyTOQش!XN-zyy?wcfr:/EB]2"$0045=L35p@c͋XխmKkϫ3'Cͭ!;ؼP0͉6(v{Ux}b7 =s^\D  0S6^+*cZگF¼l7))U߸OTr y}L3wVC+Zn= JN@c&3d˅bĤ 6`;E(d!+`3"+8Y*TKd%Wd B .c-,T]4(`$NG$Xo 0)XHYɕ.. OggS#I}95t*18;89B>CB'99<>>>BDCH< .9C=CEF".-˼{&ְ{ְ%@k H7wMB NpawccD,*(ŦfMx+cF5to|UHT35l#l[fDޘ[WC V*ȉlUߨjdr*XONЫxB3X!_TJo<[o.ԥed7vջ%{LVwhNEgqIU0A 'sXH"pzatIMM {N[WyՍ::uy Cb4I(E%4?`ճ12T3۶p5.2k8İc"NJ=GN/+ i`>U \LobޒF]2~٬sv]ZRvt?ɹ|.\HT0ǃ M2F^LAVΌ<#;B9sF%5rvHwjYʸriMzS}kS%S'5fnC[0r:Ѽύ Z ~KwYGD\i (.T \b5 @JLU) ?*9[, x;!"\ JSoW//;yz)R;a3)myb Jq*0w^ ^Rj}6yRGfgd.\N}^܁;8+@;23Lj[jtNG,8-RdJyEdX(w$3#J޸T#UhI Mh0LQQ`Y7HpE")mj1AR0btn XA2$bIA Q"5*K-MzE8h9g($ߌ܁S<0,h7׫U8Vi{ ܢSTQ2Bk>xwO Q=cR Q sMHgvx8s*g #Cnm,)rd)8BRB r5â=uZ;!|@]Y*YJm!;6"umj1nWS2S;OU"'f@\"7LϵPZ@OMSVM0Y)OD5ENDNijn:G+4t.'b❥O `\OXZH Ő?WZ[ȉ-Xqc[[f!zlvJ&`.RP#/*rSLu}E1K.EYoCYZkTM [É%Iw^1?뗛 ,鶏àUŬ]uUy{l=pUɳua 6;^~*?h\)a g&A}9b s[1+[٬Giֻ"#1bղ[",/Ԡ|@i!^ګ|D)RPN25[z?^f8[Lrt:hcOVzF6nu^PP>jme%n%D%|CۆK[ok _әTV>^QܲvBQa/\c0BE@vƻ=7R#oY|\/q%&bΏ<?ݏAeͫ*A= ktqA4"@]k<35*'A,bynA'4,vPSy73Ԙ MujƸ\?Nybow4WJjee(G~ZJ 7bF{d#RYgnLoTncJ22ȈӌҖ;r`F@$jE- &R5$ D))L2 Z$ox1d 7-p"dl[6`1S3{OBE z aCmc`e2Ej+7@a@3;`)){cbhpfQT@!>D˲b?o ?mzvXrD=YxmѐD+Obg*) if:rgl%Ŷu1cefJ)!9V# 6pQTRPE$͘B+pqSY"m#+]4N"* #ZBgL ˽҈(hbP3rYIEw5-h[/03OggS#I~Dۭ"2'!@AC34:@@>#1?@A8&"xy8+YwݚVyf܌8RJ ڶлd \ |5߆1Q$2sI? $'W @AFRUB+{Fr=z;Ckm˛iZS3m 0# WҰ+y}1`Vp)1t"E!QD42P"l([-RDi tl&N_ح*e,T7H6l(nT<-tVIlHyfqeSZpi鸷*hl9s߉-3%\h5ah qL3֛E/m,b0Uz ϾS2bN$1 {ɔ*+y_!g9:̋z> >3e=pBpfk]H2V(nq5/ۉrk:MAQq 7eVyn12!"^R&+q qK(f Z7-U,pP@tӃj*u6rtFN$f)Q;!.WȲP M U`lC#FlM Spv ߳`dgkrL:J@tDbQɥzRl+m& ,H=>8 hR'Tͨryk_Q?OYѺvخ 7L==O=uQ\g !AAU _73APvq݃($^l >}?ɵ94CG:ˑreȨtф Ut`U.KJț6 d-Y= ]ͽb!rU^5hvVJq- iM5+Γgk֖NV&MkRc bmHm%gQse9ks({]A傐ҪɌIaKh2;e ۼ ӚI^jN2sͺ:%gcFRJXB}ę"UI8\>ta^U*#Tb_.ʞ-W6  5gy1VlrC̐"a|x6*Hf2y߯޴~Տ\oٲ=Sldlty eR[>-A)sӂ+h.Վw\5ZʼnEtq2J!e("hJ\RtFNhFLAU3pō H4 $meb3 IHAD,ҡiK${& ` lHM׫Q^#$ a`|krҝ3.]F1#w:p1p<r=z3KkHLtɓ9m^PmOr int[>\3F _y/cSbt1NNӼЇR=~:`ynYhWvxvX %R$P@+DKYEF-̉rHZ*GL!C:!$DBI:aI)CdJE0DF@+d)O5 5 IFDšRF""PQ@Xj A,CQ,WziA%S缌k&?=~ۂnjM%0 9V^4D"R,"m! '0;Bj;Ў ]4]cs;6w-7lϫ[4+Rњ5F:!"T O1!̫vg+~S?t#Y,] |yu]q{» @~v +:}k/+2/^ӳGXѴmbҽjGh部DP_Dd٧q1r!ˣM^^m[[~l*śA$JŤH,f߉.$~XX++p$V_h;ߌt% wWKu"0~Ey] _>e\(=H}PŠI9eEcD;wd|`AsU靘JnmczERV?z)Oyf*g-ivN#2J*e5cV{`WG릷6 O۰-<( g~+[ -j;k UuEb2D`Cy!  pהUa'V03iGP'dXZ%-E7YU-WDh$RDY'ύ _}؎rlЈ5`j5 $m+TQ% 4BF jxOIR~c^9air֋Qdt8Aެiq@`4[\}[PfU[>f逶{N_ 1(p[d@0%eC Bbk4bX`p٨ 1@ W630 Sy7)d1ݰO㖻_WHe~ (kdw%sK n!Ipct_,w*(cUfQ320GTn `80jMo3VԞIX w*51Ά& b;s@fR|ٗTýS=.P cю_, 6VnVm׫x-ľDJ]7D*Z򇯭kwΗi¼t괙֞VoFMaƘ< %LŠ(0W^]ݪi-?Q2bPhs_q5o[s?OBw`D[IWǡD@lxٔnJ!-:yAlR}YM|70g~\bN^o&YfΉĠ\teHX 4t/d;J(=ي"3Ȍ=>]Y`ɽIJqa&ZdTlF֛ x{8]DlP@KiBFE%d2!7!#Nb1 M2#dLފy=fx-c: Ac: gI`ƴ ' AYԂ.`fSGMhe/*v\5Nb82vܣWߣ[]N7g%D?d1b/t2-GJwEƊdf "S9!{BCY"c@l R$+!PfY :]9R@A&#H!s$#͊DZ"HFx%,a~4XsJKK$.&haݚbZ54Z D9O13hn3Vg 5'D 3CM= ~LeꚓIng 8 "RgHh'7P4P1u(S$߯]Ыq=߶e3ݩ'/ {QV#u.Q*]du))J|o+R<̤B10A* YBN&ϤYlWE,V$U,8bR53YCvtbJYNA)+qK;"&DZ E*(2{0gsc`~d=(qek0[pQaK^nz f:LhlQeAHFH*b` yQLʴc#K]uu$N:OҵyVJk@i $7O˦4/ )sS0Tq W+9[ZPQDYQ‘ W&9PnG  lPAJ[ 4EB CW-mnOggS@#I)h''.587AD??:8:<:CBECK.<<9@CHT'-B`wyFs P5s/W(duQ~ OgT9J%BRGBI#=╄ h[5TU) oޯcZRq9OC19ţzt1ҥ(^Bm^MR6vE( *KWfF!T3'ZWخf2"V&[*cQ BpNjS (!B*1µAt /IE_ G& {gn 4t4CDlR+ P %&k1g(1bVa[dYxAn 7-`YԵ3@ݡRSEW@X`xڸT[D@"yj0eJ~ au?| ޱ0E&&5LVq9߻ ߕ6J#}T3B= -(N8We&"TdCBGC !(`RyK@B2$W#P"D+LPlbDT%=앛QQBuu$6K@]):4ցpJ*o 7+mMg`9FǦŴn̫mILm] T*@U^$a`JD/O""GE޻h*0]lڤ1 V-Muut⺻r}$L(Gd~QOtJ5Cc`Ӹ+, M6H3uN|U$̛i_({efX6lc]QC$3b֭ HV] NuRBlJݛz3̴z ޛr;5!*4iH'sM"*Я|~r${;X u}#u'<˺jTGm}7R~t 6NZ_ nf v̑ؔU"6-`ȣ*;{PD-RSJ.U,@)C/*Z:!DdDIDj)N`h)+9ȕ&T: q++S@S \6.%V9(nۉj.ɄD`+a B N7=ך:4Ufܲ=b)oC {nʛ*3 -ВΊ%^uun< JMEx,جn&#:jӼwʜt w'Fe@ H>w-%VDQFDH^lB+eB1P@'}iS i4?[ˈd&7,qLǍ]cylp&N}G:UAz.4R2 .dvk7/yMC֬ZSJK{`u9˻L:%Bw| gdٯT)bq)r q3XA Т. $HYz:;_9Mr@ ``\uL1ʔe?>O0wlr6v,vn'-}pz9CES thܘsރȵ2?M"jJ>ю=T~쳛VC^U#+EU#&BFՅjBD@ e273]H8 6jF^yd"X FVB"HϮ#vtJ2iL`۲[ZP/5Z>@9>d6{FVNUdTXBdPȸ@90AVbЈ(ȉj@|gIHmfiJBn|4[!6s(X8)H@~zY{ZkvKP Yzyقv{Pvi#1U0ȧH-DPD {|c]vp df)%l/[ow}>7rM<[<7}lY"%T-gKy3)pkS"bܮ wVŪ*w#n@3"l@}i@A ̈H)0TK+m d TAYiV!7*B)Re9cdtЉ(nF MKJ눦q@EA2@\"–24`Ur:Bo`4̉-4YV 6J16y:o;yW2\R%ұ"$p5C2d @??޿I1š+(=Q7 42AD6cIWܰ+QckbG<(J;q [nVɒ)[o1T@*J"{4|Ÿ1Vj˯ÎTn5 MY-R8lUxӭ;6 ΦVWXuRF \US]Rͦj7m]Wgƒ*m:We,G]92b%2SoX{=06Wf-{Z׭F]c,*4|bൊEP7^!wZӍLMɔf8gy!eqtd#bNjmҏIA5f!}K ҼE*ݡʹJB9nP3uJ*Ug12WKb|r0׶43)Y-%8ʪ$\tOpzE.u"bc*zD!ms&;3jQa+]񩸤O~-ފ8٣*)"]"g1I-2L3 kmj&ܡwOzĨUv8'Ϥǫq15o`Z 9hkg d@J B7hCljTo疮/se$۫q0r;Y)&F7oG\%#JT22772 ]̘VYʫ(7!z)V2F(lFĊJDF_9Y$WKrd4ˈrg̕\42J IE#!2.!^;IH+|6IbE<ӕU;1]JY\#RY@4ּDJLIW:|c-YwAG2⅒ڴ MgrVo yoޘ̨Lə)a|3O'c86u{ִ3͜ٹWȂJfs{+dxʗb<{%.MCWdTPTnUd;]61J;DTi'6 d+$`e EI`x-F龗= xb"àppqōB9ꢜHq1H)2's-h !:,{FfKq.4,``8 ``LpT^jA#lf$ESݻ "̫R3R>~-0֓a<~SM(LoNEϭԂSȐ;HZ7r3daˉTdd#, C'r:7S@.Fd9"A.29RbeV" 2qR!+tw BNΝ3Wynd蜊` +=Wʞ86.UNr0_̐~~c{OggS@P#IW$&*"&!$09796@Bg ,hA iz1 pwvm;0R2jhˊ ?n!.^)eoThrLDސ9!x]du)6wO{ֶ-`R]M*YcCWr6;LaF޺T̐d5LTD(>Ma2^̡ٴ,eOG",Ǧ={dED2G] 2(GX@P87UҔpqkm`gXꆴe!,whd[suL]Mw/!u]>^lE4CvNx)! vQ)1Y@2l([nTwU)SjJ_Bɐ\=}?;yYkkmvtYx. t"ehZ4-H)Y*U6]5Q-"x"(E5. AQn>:Eu Ug/]P#F:iVW1r,V /#^ 4K)2PJqHlJaU9VtyIV.rmٸ)1r@mUD8RJZٻޒ*撹ըek(43y˹n:n Ss@8r\ᨠ8AJpS_mh-6876r]%jM2,WF;*mɑx8D"Em-;W5TIﰥE=VI2TU+"ePNiʨ.C%G2Jyw[-G%Qms"'ᣅt2@xAwf""b+ejlN',lՑ&텷61CEФ!G #J޾] .@TC3Y2i0W\LX[ 44I,~9Go9HK X73SF~k@6˹N}29v~ Py{ASaP^6-96IwNݛЋ-?vU%i9# TMu2s*5I#T2;nR܌Q<;&*=^ qP٤rŠ*ˉH:T&x3qU*x@qs`hXƦbO+wѢ;l-s'V] uT=Jwu]M2 ^57df:Y*o^lזnl=1AǭZwZDT~95JSvS}p3/DFZJ)2سB#2ȨcRhr|D̄-rN8q!cJ7ŊҵFD:0ǎn*NšHJa[S.wso4_#7&k{uXkW U#2EbN/AJ&U \q *A !=f!L&CAt`z͆US)Z`-kobLww.pl::ֹͤ[idk,, g4)p]$̔l¡ hv^N7)XNÍ{}w#]rsOtKĵOj[ʽjH]J0Q*Yj~ާ"&WW) 2dP$>E:2LX&\I؍  }Ȅt4C &7QsBNFF IZ@pR30s"a UoB!Ui% `RVs1n䢫٩ĜR3l.95Y=u/M1Z?24Ȯ:5Yd YZofx vU$&"B$ gκhB2;S )7(FT}F9jy!/57"IQ3Ɖ;K'Lnn}aFbf*W6YV-I8%e u_^̹:dp!|6UR*o$kao|cNt$$9;ىBPYY-V3E{oꮪ Z/z 破jr~ x?ŃO.Yy5V% ŰvK7m~϶,66UU FeUJ?z*R;[BN()±oYL63V9;l5F2ffsODV\)uBwRmyj^.[wBR׶P̢yՍ-Hn-@>lj`tV+B{;!w/D_K ѺE%Ol~2d\N8gyvvA Cp s=F~osX54cB>/yHܒ{D hv)w+71BݏjA 6P赨\dmmrJ͋K-wj]nJܴw#K3G@Vu[ ōc&$& жZ|{'V;WwfZk@n) ],?ZRa @v$RKRe0ZD)1-֊訋rebnB֞;3")J'aVffUv'yi-H={5$#o}۱}P2x/N_ 5B|Frmm|B>vN?߽F#rی U%+JqDrY!23EGZH1B謰) dBtjEi+F1&Du@KW݌WDt.9!&Y w#(7HGBZ& svAAhqϡpW31zfS8Uk,csMu@6<uIM) %Lދ*y}zr-paR-(gf@1 W'bRlMd!v,S4J`SŕVR pU,˺xD!UU}άB݅BN.kPhY6ռ](v2̂ 9 ]íבNӒ&FfԣxEB  jWB1S {9_l$Hi,$Re_Nի2s ,^[{R&٠ E1 XdX-Js+Oe BtgbU{t{,l{u^d #ae}8I|?zAid?qi8X2͔g7,'Oۋ1/w9ntZ9"A*mi<=] !cqT`T M+uFǾ"^Ҩe-UmPp[-?\wx(56U*V 9~LCwuդްB#5k#EߓV"'͸+E؍aUU*X6a4%HTdfΜCS Q,F1)Pl:nɒ-$9 FtN< @\+Ntbidnt 6TԹYL+38+H7DWvf( *pQCx U)˥6 Nbּ9/!J]B`) m0RVtԷyBHr'6x32UfU[bub#IKGOTe9H+a2g.t)+b7lS\6&#T^V^y-n!XE Ԃ(ZO|AJȔOWxﳆA@j\B@GT$RSD۞ݣ\{T(HJ ` h\;PocZ4iMkZaxQY\΍ 96:~0ʦG(Jn 鷵Uq_҃JfRf=|iSfR\&m[i;I4׽'>o[c+=lg6}L%۠ҹwJ::CZJc$Q.䲄.]L]$SЙ2LTpNw&k xQ1cTɈB=4F[JH?K"6Xꌔ28f0H⨱ 6Ana`>zĥ] ~i 0dcj9g6AnpC-G8,BcIeIۊ('@[ |ՑQ[y"?N[tR?g|45$`:urͮd\Uhok_CZ*uǸ(/uʘak'*soq\5)'QU*drň+&#l!ypW۷~wv;޺i}DO$>2IhmDC|_ɔIW1ZPDzp[M56j keՔ͓ s(nϟtPRnW\b5+>};33ݥillY8 EʀN "[؟j Y KTR@6tY-yϾgGY>;RU6twA%i)FwZ+\@ۍ)E H5MI[B*CȍT !"+D2+"2\V AQAD Zdt@Du,5a@\) rȀND:bCTG r QH$O, 2:!Q 6HrBDp\oqgB>:6CT I,q75ȁZ osħXa C*W,WŏtT3l}޺k/^}^H@t~u" Zc { ?qUAQI_J,fARvgo'vZ~ZTbBS.JI6 sodf$Ln~έbq%ZfLpWy7#يs9mwsϟIJKeKAGb~ǚHl(gTuN&(2 dj,(QJ\R\1(BJ 9%!dbK+ TJ]@D6z@࢈XUaUq IԤtV+wA$IO^ zt0ٵt/N@@#j 9SS*iu3f,6i ŪD.zCz D~,PP 5cJb#UY3skYq~yb/;1Γ3Si]H^Kg) Q-9QPE@n0̊خ zȂYW))Ȕ!A2&.ƙH PTH++Av lpzK<U"*Ĩr%bbA o.b9B'lya{d4hT70߭S<+}ӳl.c r1o<0l =ðJ@2`(3A(Ľ7} ɊKsMwq4N" Wr6Tgj}v_~~m΃ G<>u}?ߖP`"f|_ [02u`ʻPTz ڪ'`aVp>%ٵ0Sw^V˒s{>{,{`yמu7<5})DH=M\:DgO5&źZ >Ndngkl8"y_m?jD0Z#ɌvR$lJt-aF_7 Vy ib"qǘ)MxC CLɊlD P+)SeѿJ KYD$O~ +*c`҈9B" (:xZOe35_ Cv\cۍ{A|D$Tl GZ gXwQC9;mXNQH@,гc]pxk5sLYلz?񐍍yqM鶬)帮X5h3W3N@bRJsQoi~+Y-*v$I4 8'rX)b -2rH٬m )d!) JcSXXeAE't PJQ&zvc&0eX $k:BRX'@B11sE+(@0ex`M:{Iޭd8 dߦ{u;Iy'Ji +/NN`XÝ7z2,(Ym|IK8wH X" Eӹ,7fU>6rSv[w!+j!$԰{k5ʢ!"BAϥ\Y(=Jƈ tBa\˘D0î!,Ӗ2BT^ t@*oomTR gT:5JX%` .{ t-ÂN2 ޝǀd`a\[~+L"L6(%Iwv'ɒmvA8&0(ણ2S{'Բ6:暸8t; AYhKf"{MR"Q(7!Ljo3TZ%02FzyJ Tͥ`>" 8 ZH}aAx$ȭVJlqB CjbBT#s @ cEzv~ 7eZz03%x< WC%qb8ۗ|c۶jzLc{qy7\8h|8C@H?#+9::@HFP(&)l°K T5/Cf R5E:'$a7WJDA!flVq##\BjLFUV?_DI4 Ndǒn[els_ acl.ǖԨ2R392:d'+5=L0i@rQ|j5 j`}ew6sd{_:#nhzDGKa6= ܁?%ǜHš.7PCs]aZ.udXlyz/6n'w~gi 4'J3)f\26Vl :̂(nFQР]A"Y)ʐNTWk Vf2hSTDt4hQ(o'[H)qd% C](%@:&!]ѬDRN'Ƚ`uZ"F*Pn T:ef7.xfzK picp܃fE3~935"8`eH"tְWWUrQrf6LK x- 2C}@%-o›҆ \dhf,`l()FdVo0:~f'QugC͘WvۦfgTlNceԙ_DRg.UsʢlA Il,g`r3w S4mN4ifS]luUi#C lk fpͰ] ҀʕmPEI* kz$O{'i% ޲w6a +jޓ c ”EĥRX+D̛gBGMVIC.G28_uoԩڕ HҐ8tt[\?FLWz4v9o@ Ƣs$1DJsI#4cp[o xejFY{[:7YW'gymZXrdXSoݬ7ƫqnkS.PHdT3͑*4"OC-T]dQaY;3tTr "{/,"L)PPp :ab\sYNn\PʍխЁt4g #0}Y 0f57=g癥{'?EL80<<95:>6 VknIi ^g{nfV/.[tN qQ6PoP\&u:LBsnf 440f7?FW#wGwuda꾫Z?\61:$0lLQ @SQC*Mb)=gc{2ze& zɤm(@}8$y R" ꍚʔe}emw_bߠ<Ʈ)*<[W"]>\➑D/K[=5Tni茈~_u6>]Y!#{*1DH̝o=\pSG JzABA$mI#;JYۘ0ؘ9^cF- d.'gKpYQ匦' k$m% 呂&#'\ٓ#x˭ e s?h3fƟh3;Ƅ zyg~Ic!ʡM wC!RI̬½hN.w{^fJ" X6ipsJx Qy .$wa0EWRy/Nʽ:ӣSg儨MZ5´ { [H+ޯS(g6+dnt.Uw\CDjbLiocsJh9b]\ j WC LڤfgkR6*f5LdkJ;! l9wlně Θlm'6'et̍}y ^*L8(BP^Pg8HLgx\&*3 Ͼ]t2;3ws>udvQQ%&$M)l %)]&U]$57#D=q+. <[د 9TGjRnd&՘yRRN~o I Y܎hjTbW8z2N4 LFUFu-c DJɌq =: z#jxۘ2S&~yz,Y $0nQҳ<s1n.YTepav,t?a[3%J4<$I+˦,? a`"?'[@ǔW~ͻ5pPDBJ*v=E,dhW"h["y&!EyWozqWAdUq>E8/)^p"$Q9:KŢbvx$KT ,['^GXJ>U#1 kj&( :'[QF-j>p$U U}ս1ؘY) ? s7YFҤ=j]ޕV#=i0hC0D0ҀԞCRTt"r㧘3s0yOdV0Nŵ9nEF E ,㾓/z11b/6tl%"D݊^ytvksE]=Q(rҖ-*T׋#Wv`.CrOggSP#I9'JD6<88:;=DIE/3$.D^:9(9Lns&*t~g4T3FP*E)"JRU5{o*6Z2Ab|jQf 3 *x [$SYH~OtDkһX>"&jL EX>kt5XvM RJRZYg}eܶ'WCYiwH {d9T6= S 2ri󒫤5aM)@f/TUrXRqN9+0r#rK1p+7CqowddY.: BPrs"K/OY,6NF RHLRuv;Q\nDґ"DZ EJ#M\ʥ*@2efvdu4,ñx# 5E!7|aQV.(VSb 3I/%1$,OsA{!+3y5kêp dz5 qr@!߇,] XO5SN'=)DB)^3j,|:J0O%Qb.Z*{{ǔY[R0CVF%Z+ᔹ\ h1,nt/D1,t&7u:T, ֣UH3HZ)xgMñWGʊd#BSt-"u;*jsE8‰Heތzj*B%oe`Yۯ#Hb}r홾1 1y{ėa@k-zYD*gOn$I CIt3/[ BTRPBT2XY(fntv)e\Z6$3[܌(,reDY R%ѹ.DN }LSJr̢8Lj9t {}iߣx_( M5eoѝB8r QjޫNU+νrto4/Ӝ/y@_r~ۀڰ.Kf־Z@@gڍYFr3`n b VS !buPِ\ E)h;Vx7#^̨efJɿW3\a~=igzO< .ޕvi2N0-t]f̧#D*f9]4AF@-*R(aDNPtNyT\ DK.U 5zE# =f(_F~EpB6!fc&9Pafm:kaYM :ab9='Ѭ&C|h> 耎@*Vj|g pa!azɨ*$')E{{- BE*(,Njױ$vplONTd;at4e3žy0a:I砀P sOj+ 2yRHTŰܜI?kԧ<tΤ\v JT)'O{/i' >#(F""PFoͶm{=63%\:)a } _ x Y)(i=VW-e`,0L BL]~JBZfDVzW)~^ضmekl5g(Hb9Rb-S@Rsm=L'<-&aطϺ6al:?Tibi~ndykoڞY{\-Z_@^ _PqA फcM6!f:@7jjTd;K}ۣ`;'?=C?U4?rZÓwqѴ%0=RDcngRqֽ2M[]ʥ n=ݮ.!+Wj.˼yufs}H~!槮eO}& s.ԝ݋%O` DY̱sd,{鼥}uu^II_Ogdn2@KAS `{qQf]G\P#MJ"23%&-LY8hBZ>WunBt t7K䏍c!dZ(wI%"+ U}e$H8^ps$S$+##5E ez{{֎ P; ऻ1[-4š Gչ d s["%Q ]X2R=Nθ'.P$1sOd`Or2Sޫ{l}!^#KiwB/5듛CKڮɳ#7OYڇ4즋0r0XN>"Uȁ DTv)uv4Y'X+9 ߡ Y/k#z2CP|Q RB]9&Rcu)׳,<+i`i.!-' y+>BC * D %Se\Kr% [ȉam`q{-j 26lVA ^9!1OB` !j=e_F  1Cߙ9q[ (A 댽& $$O]f";HH 0֧]}W$Ӵ(YFYڭ@q/7z}wשm٧;u}n;Sͼa!ZH!ډU"J+./r.\Ln.N{7cRʈ 0AKlg1@ħM$*Dd"D b,¢ %p\rU2 aSˑ'_Ta!tI I԰@Gr7mԦ Mm2\lClrL~.\gtѹ-M.`^-8^ӯZ/;m e'k4UNM͖*BtWy[WpOggS#IW@W"B*%;9A61FB=A9'&2AA IҦx)5]}ǥq-)L!2H)36+5Epd@D KHUj|R ) [Gڇ-d.YFED' F¥y92] `;лZseLom%j f[q7 SCJ6`ݧ= Z \PE!y9QqG%-{ԨJ-1e7 47dT!0zG&k<-Ơ}5tD f-#ӄV٭[`: =\q|q>jejw-ZubTk;Ek GX\= Y蘦FԐ˭-ux(:'܅^i>u L" eΟ?{-o^,n]Zp1G$1u~o19i܈MS"@X|f-;I| 1.|#QW[ۧDv߫̓w#7Jm8b[9m'|}G#خK91iفlʸۉnĚ۝jMձGd(W+I%S=Y.Uzc0Bh):G0L>;͇z!|Y =#${&12 %Z%0 _+;ڛC>N68C`_ w@ **ҡ\\|wL)=)6&O$]: #랽${aӦ4zZ皎[QƤE5ܕyQVL7 [ِ# fut JUmϮ*l 8p{)p)gv:͇4a@GI\SmXEE0g7}lgc@]n\T16~KdJ4bwۼ0o Ё}b7LNuH dr>D()ɊlmO$ vBPa5~wzrFTLẬEr{ZjA̙(}.6͔_Btx52vBiX1%cgbX. -'N݊c4>,`VX j!3^+4.$÷Q/! ][NYn6p-|~ՂXi˞|RCJQRMK㒳ߺTrձ.?sZfֺ:o[j-Dq $J! PZLXʰ,IEAЩX 3^F']\nOd۬^Ҥr"Lŝ` uIΗިR!(gaQdv$Θe˘;B \lZ*kMn50׈ ܽşRiA0n _nh|tM=uz"!m{' .q݆ Hث*3U{Z!櫽ujcY٬,Y)1iGگ>L!lC^-QTU +JXō $( WAb #-\MAdHō H)7ʕ.Gs{JW^̰U7Xd’0w?əJ7MrD.wIY$H2 j~M&4&+fkˆk{& jJ*=S~5qe=e?HICEY ›&R̽,u]qu,=ў9GTRSnTeV ̂lOZYȓs eE#i]F#!Zx @gLOde42$@F!dt DTLX q,&NZzO*$}8dtUM!ah6X lhv4fd&@{{縩 ` 08^\$/PBUs^ :v + t`K`L)S+kplſ_Uri6{0$?F-5-cEQ#2o\D8 *[QMҗ&tSM"t(DUYɊju+Rc;H#Rs(rc*7Bp!H HX8WBnA@"_[eFSlpϤ+@:굶 ± `7pe]{@p3>an^ ?ǁT=[=u,? 1x+)e,WClI&]4\𢾲ÝGT ;C$z93'K(Ff.#Gg1#Bd91%2j$aQU10%))#"W@1PE0"(n@$s,fL%HX!YE%蓫" bWv{W1 ^BHAo7b($"5,7u}:;3zȸ{ }ΕG3+>8Bp6ʴ8JPA֙ΎO<x:L_q]vs:ˣ]Mvxn-'ZdOWx8LsO߭>8h*ʷQ*dqψ)R- qEL*H2Tah&b˽+M}8!)" 0wȽjcQy4h,%.dL{ 8^t$*̒HϘ! IMf@W&XU^ݦ0e~\wd¥ۏ|OC[ 6⮽f ltʈ b5L>"~pKv 'afw0Y*/ԯ+md6ĥĦrI ͇QZZ(cXUEb0DŨ^w:a+W +VuIAhGB^`eR&{Xl|#&gܙY^^Z6yZ/}=Un| _5s1E4'2}T Y(222" $)# BF(2@nVFF$RFg!CHRg̠N)4]HȀ5HH5G)o.Q&-X.rqƒ"XNjĥOggS#I(&::76;9;:D?G</8::BFEL($02C?  =-q2 @b7 xjO:o7Լ5v@ѕ]vGŧ&qb)M4@,iy4񆄖G:vLD!㘡ͳ\{gD)3C X@{ kYE2Sn#7RMM{x&%6=E` L@)f ED)"@d8ؖY4|0*;cX)b^T$aNzuK2;'nUÛdfzl&MZΰLHPhY|A\~^b*˗EyLd#3oz8R8$TތRW-jNd5C%ng6)B[T l&˨G:- 10`Ofg%~>Q(\I(Figg͗kD! 30/ m_0!KsIdf+[[J|h!@F /T_8JbHel C$DrQyxgߣ`VrfL;lze B8Xߡ,(>E=A;3\HwWU OyW̽rE_nu,٫~W@wFw'tR[ 9J)e)[Q[^f߱w}>_skTwlg?۪zt:Hf#qq# qn`V̕K 7YW.F& "d5 0!"숛W*P(NP9 DnT:#' w)s Q8 W̑Pj*F>Fq:Lh:Z6fz/Ya3@ֻv͵3= ܟgJP,Q 7'@0~;LCT"fS vrw_j^̼#RVJ_ZL㰕;g]y?Zi|{*W{#DlTqW=ȼ;gFXEQCZb5WPͰ>7B^Fud($ bJΥT#q)QLɃF07QН0b+`t) \NzJ6(Aш aXx/uP~ gA¥(z12p h2q2^]>Cc؇ǩj8`uaENn" I7̔+wgपeo"2|7Sq|8I҆'eP_t_hC:',Wӈ|g[IQ )aE;U ,$p&J !UŜ)D\r2\mu:bWF~~ޮƽ׶_ղu[{k(l\nTZCZ鞘1aE(vNcTA4./RamrpCewW+ f}ﲯfzP?`o^>nNW_|wj.QCZ{Kx]n8B\\dId̨D^r1 JtW^Y): LuJ5HMk{]IjJ==I UJ@#oF\` չ)A rx4:r-+,YY,^AV@n4OG7P~EV2{pcNL e8M\ѷsQREkƞRHNoW5cJSθj k2$rN0Q|~isYS2R-e!L_dp8nD)Tݮ 5i.(`,߅I!i) j),M!R$(oMlD6VI2=O qzFe)”ˍrJu,%+7]\ѷ82!nEPM8qƮJ@lV:0e?Ug~2udŻ,CZeuSpf ~q6FcTt(;=0P2xة T'-U™ \TFlg'msMϛF thztN?e5b +YUZˏYVyFًs Vi'&D EBHu 7 !fRSUc{Y~$۠)<}ധAuaܺ}o z޺~E\ZVz\m8s}[қN̨n FzPts$J'{=j)<|7-BWH#d]\5Of #^JT 22 'DK6lS]1D"9@rʅrۢ rfHDCdV "b1a8VvbpOggS@#IՈ'()522AA98BCEC3A8788:A> &AB1o0-z޵q&^knk;@:OpBtcޫ  ~H1x2I6JHlP̫3PZf;w?<>Гg6sŗ8;e%6PȐ713o3*2ɮT=&#]͎u4qS=Bi*bWT9Ӆ>={f;"nq3zGAS.)m*\NT_LK(/5F-mtQ|&RX`(7%M:+fu w_ǘ͈7s^vkZ[KSΥ5lw=3 2>̾V=Υ1 * D){LUˮrpA Æs܇xs (5BM!ș'RDZ҆uB\TQVo+fWdUG6H1rotp;{{YVrҢq3l Fn\GЏ3 Z)͡D#,t&p5؅r`6@hD5N%A+ϬtH3D'.] 2pӄ5P\wIm ~+}*wx@@X?;H9NoamrqY\^D-fs-vy lg+jz0-3E0V90sk*+jyϪz-PZɠٵhZY͟XvO*Pǖ9GWnl6ws|ޟh]ִjm6K/FhYNbOjp>|.1 O .fٯʳ. t~Fކeۦkv,hZ5"v;~J-qT W:Y,dޭ]Y ~?z- 1z@߸* 5APD;k65HFM:T߿Ln~ ;2˲NmcN^ٕd<:c̑1=g-1c8땅9DdAD}WE*( HLR*dʐEKF$X`g x8f>)$Et?Oشf<giRZ zdHNlD\ ) IOCMMܔYOleTyDxAe(_j6[DMSc.1VMr2vfE5o|Bsi @2IrPV.'N1oj`eu5;d}=-Y=NыbO?]"Inv#)2)0T;24(%,$SF\ P:O2 -*Qβ(iW1 1()e Y%U!oDd< [F ܍KТ8dRQSY{|@H, zzD1)]"Tn(S'y}0X @ݚ`0S6q G9ǮeJ-hB5FçSTyM5dfJpWSQH&V4ڍ ލj|*0~FUsCWk`twAG)ت]QWvH Nt.tVRR$+(xX0q*)v {|@:'ӣp7_.XAqm˿\ j)+]pMUR?~#Kó+&R.s=dFI#6-'@䖵n`[IQ!>|)ѷtG5wiմ@VZӪW\V懗"gfd>D|mr7R\BDq;Cɮ۳YeԳ-oTY[ιo {$xh{p.yU,xO%5fVf*d:SFӋqggsSR|&me/#]eTR#?m8p ́R$4BhќlޛD23:g3~Zx)E̘rm=sŴM|5Tio2o\"rHT Flش$ bJ׭*Cش1F3*'BRAP%',l/v\b#ŁBlS |%)oVGݥ=(YbntrՑPVJ{;LY05N6O=%ed{\9;^B5Z-7w$Wc8`*]&&uuEjbʺ7 ˎ.@a9*P6kT{ol]/,jבС'1a*H|[]M , Gw6$VԦ>KDfy?P@E(e9}$q̌Rڭ d^kUF>`и~Y^d#F.y^3 gDF0!b+oʅ,UI)Պ9nU&.+%AFŤXH(&tV2rVM"7H[,GrYHb YFg MãL!0k*بL4F+썄Nb -] X)e4+gGj- ݌ pzūM~ȟ8u1ˌk/{!OggS#I#*87:=;9ACF<?66?@ACFI28-I;;:;<<:HG*)D%{ >ʍg.r.D!=Kv2Uw6Z-.Gg23ϭ .gG0vM5nXRUIi_% äpCK{*̡/7vkի:34|3ߩ쳪6ĺ"h]%G 7;t  [ܚ$efJ{/_ W/ LBAo6N:.P ǕV>n/ߞ]Ob}%p=7լ4AuɋB!&J v%RF#%Y&X Ő3"MNBNJąTh""6!>y/lЏ,9Q3$5RqHqr-A@6{Ǎdvtw뮡`Ucf6[-iYؚt c5!KhaD֤t  cSP $~5 .v2)(B~61Jb,Pch[f.lFWL!2JRRun0YBvDĜRXD3[ِY̜(Ue re{wmoS M lڦb)F]#% TU8tb`0Ď-ض汪5fcUdR4ꭆR) 6Z-֟]YM;~Z.Uwti7;#eT.N5M3a/zj$2sKi .p/ȦXF⩄hpwRL!6j`Ie$a la_!&RS@iUFG&CM +δjb=Kް4H?C踷҂<ʫŀ !d^#A4,$KrmڀKF2n?dYn06qjuxگUˑdvS]S2ME~>Nߗ1 ;<.<ߜꎼëcnrJ^&o*Y?I0 !q%\̮tӣ̪Tre~6V?I{eL_/)ip$}i$Û]9 R8mb}ʭqf)e$1sA B^XEkQVŕhddpގ FGDwMvZ @ۻa[1w5eWjn @$ġA" n>{$U% l7_J[ݙ]%e4'86|d!/TGILb}%#@~ˠ?]/˷٫[߬F s8m2sD'tX[ulc?GuF+# UyE]25tI{/wҋ̍)d\i+0 UT~@)1x}R,Ṳ^dyɫu"۵٘ٛ:6lmk:|~] DNm’? 8'jH( Y/_Ƚ߳duٷ{ ݃z Z,`_VЕ69ZTU۱HPe~_7 %Wo="J"MlR!(wWTKWڜ.ueR( =i_b";]q_̠gڬ-)}dd ;#!M%an  U] 7@LM$S`<4)TJl tBƢD2ʋ8jQf:Cb`ճyb5%G./[vϲحm׼~9#B(BAͦLY9E)& $*z?~3krRy+7|!3?8d+# (O2i=&=(Qi o㹭}t<ͿÊC`K:{߅|WE |4}=vѮq3|*qۍTJ`[2,@/KLTJ*B.>'C*,TqUn 6 lh`3( 7w{6ڂi԰wBݩ;+ |4$$$XuffLW@>[SϦznq'Vik UeKEd\V^{PKNT.JdeczĬ+Dʸ#Py<]z+:۔;1V=8Q-A7Q|xI]ԅzM{j\7}V$;X t2,T0$JM$紫tqvg N\uٙ dDm.90HvAJG;p(C8Y_#v`D(e,ٯ@<_ḙqT>q:y+ WeĴlrm.i[3 U{7)T~jv}3gGejdv *k\{9eTu4U1cf;V3dm|oӅ~3Mu ALr,9Qhk)YgF@/T8+bYC[LB +ie\l #wS%7x&jc 2f$FR L:,k%Ͼ%P4Le^}"3/7&ktlS7t kU*"Vׅ:X-Ea\*{mմFiED^}ri1P`TjŹ&Քz?[v}KAsǷ]#;rpx>;n10O}!F0Hg^ӈ>YEMyH{f!+2-G5dvycb¼Spc^l\wқ=q ?;,7]e"H\D*ܵɵrswSVlbdd>y,`Wm算: K%S5N\=Y-(!=kPu;C:=Vh[1<ϥ/`qoV/1DMQw¡}IB:K%:U(عݶ^k/g-&33s ~_I_6sdGq$s,}: \4=Y4u$}ѕ)+COE*Vvruu=\boxWnr Ռ]U9l۪Rvjczo"AWr=̽;lMZZ%XyDe)dĥ iU3e3#C7F>W#2]n^P=IJ\f+'2ȍ(J&!nؽ{wv=9I{yi&3kkZ{_j/<,kӁZDۤͪ8Ě @2IcH_:$W~JRcu{kN_G!8e w]m~emǗSy aWy+WW.~;3WEzoFt)*s3ϋWa9Tʡ1f"bF$\:WpYca3҇Y*_Z#2bw{6Mߘ-\c3" YƂ m[ >Ykk+rI؇ \-E<([ ޫkD5i(6jWd* H+nĢX{-5(T޿xXOY:{ܦ.ycBuwqk\חW3Wr71ev;uY$&:.L{&2Q߲q]}|`s&M!Rt3M6]nY%itomlQ.,޻›ITU~N/Xka .?8u@yOr #|g޻GodcԽW*+̹y=+w]>s'{v:;DExw'v?RWl_Twy2$Hz37^7iXuݛjVc[No(rAn `JV-k 0๏as.^]#u#|\ D1ݱAwc,R y܏ fa54~Li`6,/c7)dt UAezP+XI2n0VxrPuT+]6L& TM]ȫI2`(!d& ??TCN\%q*^:kfy4v`Xr; ơ-ϣحe@EV+\"} TxT}[SvvkOѶ svmәc55?Vg׺btomMvx~Mv{#$51)G~fApu;Le暿g5QƩ0za!Ki.YpZFLfNWTFNhb&R2P♉J^QdCKOggS@u#IFt#9;<7;:7BAC>'=;;BDFBN=BAO=vrJ P 9T9 zhTƮ`2JǘA/"Xv̪QczA_z'2$!s+В܃Ԟ"4t!["dؕ͞/{pfJ,*%҄^CyDJ泥&>sՉQ{<t@'q @cliI;dd::SNES3sHBʒu+I bΨP y3j,ǜMW!g٧\ hWbږbg? @ƼTK ]h,QQ%1r]to1:,YKc𖫦` D:ȇ*W@قjh{ƄTWNnޝkݼhQ-UPPN1c2&oVV͕`fDDP(JwomTu5m3]NTu_trJLC|ñ7y;/3e,i˃{@O7kN6"A=@}bLv~]ˏ}85b/}{ַ,omӷVzJNhtՋA/<]kRyv(1NyMLԘDeʲ_Af'fn#=:GtӝVәv:>1Sq3}#L߿V2j?uwk k~uV>O}^WwVTW2srT)d%ZkG;JTTsE&fZVrZ̸11OAn&r$ௗlVp$(]J r(.]+ZtZղݦw`h/q@ֻ߾6b/f׏+roݿ{IHA*58łv'i'w{[y/133^8WXwI֕al:MW]--[OG'C^)]:9}C,u2vy_™f/k#>ܦ/[d.ÖSg%`ww{q S7s4PK>{ s=f =pK)HƯdY^`LnI4\ k+c+ `>㽞;v˒JhkV&lwS< b#6^~io o[̌23e_q\cw<˯hbJ0MK~/+uf#;fҞF"Z23k*/PlI> ohE_Tʗ bFΔ]Ჳ}60'Ti9z+Urߓ!RSvۈȍ-I2ߡ!6bB22(! TYMh bP1_ra2QTq( K`_P_'kvnR7Es^#RQ s\8}#P,NK5"M*0hXnqy^l22s8; _/Ճ|r!1ɞijyUVRs Fu'ZeNUR)UP51?lF+]ځ]3c"H4R$Vh$#$#תzecaV ʳ}j~d,QD 2)lg4V?HAb!Frݑ;+"K6˳~[k67+L_r6SF~?T<>=F9if6u|Z׫J!v3U~m5ͭU޶|O֫S/2|+p RC@ޓ#kUJ-LL235o2vt6:l?[{j}˨z~Ͷ)א[\0[~EzEeLfЊ,]8rn!*.8{~ñ]Y%ozm<^YZfějfENaӺF' _;ޞݭ)2ˍ~ D7w^_BL >i\eٯZM)oE{R1EEܾb˛wSm`f1X,yv e\ Π"}{{ٝ=H/{tWxOݬMW7c]1oEcvu/,^G%]ܦ&x0djzWl)>1iON]*OOP]}f<7IK<ծ܄g2Q#x6gY 3xYnO03 6;3ϼif "XX(Ǯ{S]ފc"i!.&N)q+k!!owԨIeZY+|5ȞW4o%&ZО's>k%Y ޷]޳bwYg}ޕ83zZIiVscv}J?v zF[eW* N̪TLwVvVnvb$)u*VOOϼ!sfn^>h|= {JwqL[tq}Nv" 9>  k*تz!H0ÒLc 0Œ^% Eu`Z*|1!!JRR]{:@&)5fe+$}k::zķ2]c;pE3/ܭNW\%]w%b>vd[Q-m2ҖkBl>ߍyQrSJ=^Ou*GjeS0]O4s_'V(ݮ;*}bYGбZ-}Է"NE;=m_ymF415%a[w锘%c;vhֳR^]<ӽZέRʞvΐ Y9έg٥f6mm+3 dռdΩP~䃱tG1eѩzzo?7YqSLT=l8Ɨw!Q%r$Vmm.;u(Qi(sߦtT']S-eqYr v0g &;,8$y+ɧvpoy=U99Ru8JZ=̪8mX܍;׆ am̌VF@H1sZ>ump-^ĺ9@gJ ` Hdurtutf^͘YYɿ~~:%/Mc>Jܓ5ܽ3K-曐ngw;'I$TFm]a:.=>.J~:3c|oֺQvTZwi.e cM*UVe+Yx"v-nՑY]GO~r9 Ӈ(ӺJ1ʚnb*;|cLquuフ;(q׷Q%tDFiN?OggS#I4@(8<+*H;8A8;AEJFCCDHE>$?9837=>BJh,!QlLgjEIkn 31eelm ޙ+H-B&H;ܕ~9&"lx7Vʦ_?%~m@N/J^0 6jv?hM8b9vvOik>Rveo[ m3\Oen][Wnv( B\w.-ܥ ǔLɫs pӺZauc_Mm6F&n&Ѵיc q kխ y+O]N^FϨ_C'dYȂxMlnTCk6 -R'=Ac0y/93qPɢraBBh`.@k ~gi>yכ1LT1Ot9_Z}.r5RO'בmߝU"Twt\fJQwQwjs@jQS]xF.5VsQ^,\xOoOO@,uōy!iYZdw[0 |(4rϝ1`>)<8&=^dv1%/[I=̵^ՂΙfY-2M`C ~}Q|A(̑F8ntx=J{5 7{L2zIM)W\=$t;Ot̵k]-jy3CG$9&oJ=L\ A!n%ZF.<3ߙ.*@$JL*or-˅:]h.eb:vܺ@Vy D4>:BtvfU:+u=ܔߏ@$,2{we@. #ZY ײj)Y2@p #1ĻsF٨QxOts}{,0]]F'Nvz}ٸ_,}թ 4tcKmd/.*uV"]JF>qsT-!lN|%ipNwakMj޹tɦJ. ,hu]. `<*qpY٬O=m\n?>{gj-  #`Ņy=n ?> {<]nL/6meN#ryy}̫7>Cclwyx#t^+oMM ʔI.|vn&JǦbU}:#r!ޢ}oץ{.4 O㽬m c'v ~(g>KrXNXHFh{gy޳=x4{pO$.em]%O~s޻ɲJ{3|bkX. V4J䟿" b~iVrJR)l<{o{o[QwM æ*]ĉ]` ҁ hp'&VAo"Ifbb_5CP}JoGNwlׂխMŏx!^jQk=Q i};eHLa,dUZ\g+L1gEwwiyG;okHu񙥙ȭo숞c*g%or9ս"s&.w廒ʟ˪a.ӝ g}nZ˾8s(e`"'tELꝩ֕6s>~dneF@S=M4pHX]RYlCT@IБލ8qlٍ<`-.;lyq=jn `\1c  +TPD{4k2QDXLR1SɋySmF*y`Halz;zZ_^]-fo%գ(Ol6\;Dg1&23(G}9uVnv'LU+{3ֹ@xk@(uKYۺQ|rtv99 ư֟(Jz}my(*Pl'֖ ӎT3MǁN{ x#:L>HQ傣oRzBL0ֻwCE֚%.o3.l2(N +cjg`gnZ H`H 6 F&̛We*tN{6?ͭS=VQw{3Y$޿6S.]v?YSצ|>1Q<3Z)4̭B簷gZ2K lfJZo4K"m%XnMLW6)-֘WrVeǃ~{4m |ZԮ¡+e9pYObb p)荵pB̾l q?`>d$K&$1z&Y2!Rkf^͘DooأQF^|=Fm4|{5|dz&^om AxSeWJ)tz\{2Qz]٫.>9"-ɬgӽ\\>$h!VPv;zzxɅ Br\tGSϽmc_L)3{rrB;; ̀JCng g^7+cR3<@f-`60LMI11'A & H+Zq󗂴 r/S,ǎQe&hcW}M3ca1\+ڼŶ<0'sovZ^SvR]He۽{aU2+Sާo˷lfF5+o9j|Z"y펾<'K#sfw-Dw=JU˽[v(s#Gf:r]Ru'l'.nzD@J;(D::;AFA9HD/& )D:77;;e3'KT: hGRm ? Wz툗fJMR䭵`^Nt-/3f/z ]׺n#M?[$sQ|of긬&$us41K7j,lLc.">"%iUtr uÄKF /dj?so7qѾ*=%:6@O#z>̭3( 5զ3{bئ+nψin%$z[E2+ a d~n ; =]c@k"~l.&-bL:x"WAJ&]a8STsv{]g"f6/ym`?& c{pJLg&~~'BX=P8n*+HaZL=B i{OȩZi^pl?s̼p\ $륔ߑrp,{Y][Iҳ"]3Țp>&@T)EPUMT "Hh ap;g kݰfaFv`n0ދ~ m,r47VL`{Ɍ*̭,|6Dzrrt*XվZuʸ/JUȂp&MŨV{ykƹӮvSW--*Sz*g ٓc]2uk0=iJ݉b!315tcVVl|׵=tavJٴ_rr E :0+$XM;ȴփɬeMˌ5v`H-0ڪZPsăT9,) [;kρ5]095̔o߿H*r|S;7|3[=l=9{åR$GuPƪ=;L3(><bBgtK2!?yvբ%\J@o_;CϪNrr>s8|VL7jIV3 sQ0od)eNEǺ|a?8,b3A$Mg {8 Q}}ן{n/6lkvC, (֥dd>y^H[ @, ӦT#s0p/IJ[Hf.?Ӊ^d=qD: QJ]vj4li\ ʧP(JB䲲~m[o-RxD G[֝?}/ _6^7Y,V*wue{u~V芷{V{S1#ØM*Qp& ?L&2)s0*ٝR}.K%qRT>ܷT}o5fmC)F ո7BtP@IįxP ])Fʑ)"z:rN[;5|d:\E~ EXMG~@ }|aPQ.]eZI$S*Q b!nzvv\sς}v]2s"J4`)O>o5$,K₍dQh[=+vA?zٷ2lZXCfhMV6K"EM5 pe0eu5"_u4imrr 9|'k<| UOQ+U4eaHV}Q.%:yرu0Bv]+AYϵB+{ԫgq].Wh'hme`֝Z6{Unݰ XJa O`wbhvk,;ZLKsx=nPڣx LUg) )U?($1 \@1USUZ:`b'1ʬzZsxݨ9CeX%B=3J6H*EUjUg@Mq) DU.Y>=1EWhi< ?]Q6׫ ׊Q妚`K'^㶉.aQGKܫ|3:,EQ} z(U~O 4¥zTz?Pv 7*ءMl@hİV`h<|]OWi4h7b!k(H>\{T2azC)rӂ~SuWl `:^ !kffx31PQCHk*wuh_K$F6@@i)&2j:TM2D){ | ϼF[r!pRcʝfFF%1 h';ᴆ X)9P f]BOUA] DXڅ&/ʞD7#bGiVI&Qi=K5굡cO\7sc@6zᷗX wY/(p\V }E6\[H]ز GBJFQ 5#/q `WS+I.;&U)s~ 7>*Z@͌H惸VFgT(Vd(2XIA)BF9nd7f:RV\]i*7t#ϙޛ^+I G#eNv<=ن\f|tw6[ǔ3]HSG.$m*o|j;Yx ]R܎ٗg(RuִqsNxC؍iv?HG;(ut{$ R]h3MI;9#LoPw=4S9AD6m`4U0QUA+^uғ1x{jnfeldd^&rN?.\@~o73M -B3չexuwD6]JfN/8$*FcoQfwV7-,RLOy f2͞5,/G%m1^sSgһw7ҩOggS#IdY::BAB$ &9799AA7;<;:>A@B:49=@=:@8@<671=70?9=9:==E=>A>CATZWڪo*!$>4 e_zm+k\w::+58]qh:DX;`wͣ%~]_iEs{MfݧBB!I7nea7nnIRo\ӝkӮګdF᧨n$]T{l^8HBw{w!K~K]۪6[%0\#Ke"PG艀4& 7sw>e")hfOk% zw]n D%pi# Gqhw7 >զ9O{m6Q0%]1^P &hA@3`  @!E .&0~*T'o.m; ̂)6@ @9wzl !zdw;(B;L73c/_BTsx3 =b|uGZ90h+udܸ稇PQ[ id݁Ё%JaVj@cPliPw`P@Q8}V9-& pUW&E-F0$ pzU#S4?G<5Uk 2ݴ4GxFU4-≸uD!9(M< {8LF\*V#LS1\h(imFTg6fjG=/ 'Q>ccoocN+zE]-7-Zv&/88ޞ҄ޗ musFUG ' I4KkTn? ˆ)Z5S0hz0za P&aP(" v :Ȓx6TT+IDwEɒ/mFgμHۻJ6U06 @q-T0v*ETݝܸw^eZ፭gȚ,R8]Rb(g̘ ֪g{kpgB j&^]Mwp|و4ϧ*s^ZSd۝~dNՈ4TEgc/a }7QwIoSD|;i۶M ѵfSeY,L/f; VFQ9Zf]ya&m7rAc^C\Fp߂,d5YδZZf~9UϾYF1{0Ut[+1Î\KWq,ɋ G*k.}׺֒/9RKcki͉*"sQUennDP({0ǦYLBlTwW߶Y:X /GA'> Y("VCbGY׳b-v8ZMJ5#`p+dĥ,LT -[#cd|2ETE-)UE5[ T/jeŻ@zy?]7fm)-wR٧1J^bs*oU̦h5cE,DQ',icfg^VV;WJH«2cBhU{j<@LuhyoToX2Qlkjײ{oۚ]JmiVtWeե(%ϺSTSfs3Fnn[6 m+f^˽.^jRWf1hkI9S ɦ=dٹ̬f֢ZtNhYp 촊/TC{570;}UəQu[m9'S{mnnnndR;db̴w؜bbX2ELQg)TB(Izm׭;vMRd6ѢT*zJCs*ɵ(ΎTty]l\ w콽6يZ[x1ЫB]*$L,P'(L{5!ڬZk^ޭlZwN%TTo<@[0. s{,v0g{slkf^tJlc5Us̫ _h/_겻YuWW3J#+RAAh־3 @*7Bq7cʨ dB!Ldwn"OV<#.v<=ŶZVjͫ΁cѩ!s1S͟7E`[ާmn3{kSB\V' AI+tK^;S`9WiTq1bΔXM95ߡ9DD@ Cs;opRMsl5͖idJ'R*GB|GSQ\dͨԔ†#TBVCZ/ks5Y۸<3lRՁx4 VS S ,<5w>;DbػY[Uqt^+ ΡV7)c51DlFu'tn~nТe=L>wN2:p1G5 % .RT;;llͲڤk{dlR,,Dm6e{ =[AH5pX-IsU7|je4 $Jg"9j1 T7P09Mvk`OsʻP,UyjV_י LR (LJOKPTE hv_q[lyz Y޺{ʶFw4NnHjW u5OrZvw?W\_Y)#wۮR̽^n$RׂĪ̱ȉ@>PKT*z޼;zOmvU-DVMcI+DJ/Süp[yQ~K߯K|8YV7}{j,M JɗBN({za2XW 4ip)]WtN?߭LK_zSmN^}m>IT^"L7P=5OnqT]l~'ߪ󮎺!նյ=w٨lrl4&ͫ`zxdȧCƠFߕ=j*[so[o[͌WTxڔOggS%#IN59?@B==6:45t#rQq\S-wT%yf5T^BɎDaS3Ç!nIA5|$ڪ;}>yN׶mzejMuTJ#3ݮǼ%m< 0.+˧JX_bcZy{ZnDFl()iMg0 (K x~Y-i&Ure[j^^[֦T[ Fǹ8IU%NPϤ,I޼QʔR"-1!m؆^[Mb&V5k,R7")7SrUNbedz f٭L\qnOY; *er`sWƧ~:yy&]^̔*;!n\ʞGkߥ>*C4]҆V};W_/ϸڇm~lQ}c~zfsxpL?IwYPA'$ET>f/ԡq16Гdq(U"Q(mbaKw QUBT*;<<]թhWWmmSD:LPr +ʤ]C^H*@|3aoX^wkZkݻwLJmUWd~zinD|VPo@udL*QUx\T^l.,7A. Ƕbf-~·>W2_I$JJngw~wknݫiiMr 2EFx85`/c~ra97.3]5onmK|GV.V^:D6M6ha0w2e$~;GB(PS:~+sNe{7esc{ub4B!XOoX QJ'Eu<@*77>/?UO=YDmTɜEN1A&ݲ⚨ T{|* ؼJ[jA}wyggY۫MX-4FeL6h"epB  `g@ SU8-&)mkT[3Uw,R@F^8Yڧ1aQm ðXbuSoyY^?sss{eY=-U/ sUHɨe @E|/@E $v7eXz{[ڸW;leϾ 6qCJqL!R=JH9 f 0ߒ aTb7setSf!knj_u6iu+<}qdQG[Ux6 r1S' ץzvwc=XTVU B18T0>O)J %|^7+Qly2v{jOo>/M٥n⡬DP5V5WFQof[a6lӥ6rZ̬=-{ ΙAbKnYrUuSUڞ{o]Mm.큄Y}Q |JUU1sɞENLlyյf"c E1uJxo*TbP xx RfU6RVR?ٔYgNT=TerFYbi TbZ:MK/3= ,JIgBfoͿWHT=}vHUm6۶Ίm҈{DS`Im=Vm@Epn-ݷ$VC90q2pY?طǯ66kԼa[?w)VNWCs90*[4>$@*@F)*ތ6wYa*B'ylF%[nVϋ(&Ug\uڭ\K^!խJ]*5V,x_MCjRkh.Nh^`j 5l "B7 ` 0M+v Չ -l iBf1"~wަJU ]r52n9 2 Z&g.$p9*PK/{@y+y9hVV-ssv'9"IʃHeЧ(~yuR{^.{kݚִW=kE!œ2GH1?er{ cObnD$'U˝u]׵u*5>V81!P WHa@5B%h9?fSq#YqyxmgYM[vom!Q,^op  4n?ҲL9Tr3#Ϋ?.SΦlڶ&җ{Wr ~ =\F(-諚BȁPo&)5ce֯9V9@Ol*}\yw_2-n'njB6>n.u,e+4:D@T.=mzlb)d[;+9%c:畻zfEѣTl p}_ax׾N}[(r|Дf;Ul">b`{E`hF%,AfH~ E`qH)*0F;z<3Z$\Yq I 3H181e< s̱@mj2qs6*=lPq4c'd@ x$R+Q!\Džb擥j#yJK6֕{9I'bkuX=cA)Hq)0}lZΫ3n+oZћl7-m?(i۲?֓m3Q+6[\,.Vr^VCތ 5 )u m" Rv(&) ɓ\|L(FF5#-6 ^jd#wegFdn)dFbR QRA H< CI4Da"I2Y1'IT'縃M g:[nB$BӚfᬵ?roP$u[0Da\PpG*"qMeC H i`Dt0JI!lT)33~baRδ, vhfZPTTmd12rr0@jX%PTdQIf Y@ eg( ̈$$QFd!!3#2R <"bȄR'B& AJd,)Ja/"Ep chH)"v%!tD O$YHLd#ױf6VW#X@24cS#dwK"OggSZ#IȾ4 ;=:AB=DC::75CA?DD865>:405584p  k( *@H@7jlLt?Rdմ4}b*T)U@2TEr fLVPH@QC-BP@DHPBF q9I+FHQ$%BF0iQ&Ȑ"DwQ\5 62 AM“DnA 7"-tZ/X 6U䓨=mFLG7;֙c ΐ0S0Zئ vܼ4b(^w DBH #*jQEY "2>##lLD=,0ro2f@+ӳD; Q]FTKġSH HFHKzIK =5u $H,MiNm{=c`^2 @'@rSMRVc(Qh@UM՘ok8tZ͋-ݥ䚄 NK)Q0mn3Q Nj!H!OV"!blbg q)HJA1LdAd$E,d b!=I[w$ʅlT(HF cQQI !{>*߄'8ϴhϴ&#!q{ L(*'--:06taLj"m+;@C*ĔU߿>`Ks.STڜWN%i#ئ FI= tTJPt{, 8"S !F@1:#/uFdFJ(r!;E#%$)LJ H=%"'sDL$RIR FR3ZD)CSvRj8޲h>BLzr 2X9fJ*xB?8<2| Obݛн'3P ULtqȆ2[ /wFُ Y +FDkieVוGD Ѧ:6IsH2__7,3\*9̬f8c{pA`/y ւ=O褡,Xwx \uXɬbSȽ)(<֛x+QvfiOE 7YOR oO NjT)9ar ^:vL1Sc Wl[~\7hcs=K 9\ kѕ]ҡ"\& լng(6=̫m3nV}j U!rlt&Wu$]nqg0\_Je3Zo^M7wwm'ح/{дM: \P;5yҞ&O*TuUV1cAk/A_ܐ`(շy#P%2^[2˳E(GF_haI. qT"ڄ$X4h>?Nr6r*, )bCf{k1.,InTE&=m iAQȈiytw2I%~f$*?g*3#Rfxy;u RVd9[ƂD Vݟ.o]]N.I.fEڳ9j.Qu S+Yr" dH 2A2UT EjJң)dVĝY9RAF)K'TH .#Fx!VfHBLSt&8սW><{`FPc (\& tsNi*NPrOe `YRrX(Q[tmjd>_tatĖ lN _s.MQ>6t9-an̯6妲([֔kv?s|%WQوb0lcm5&xIRt2Kpxg,mqFpɰM5Vw>o:X&{ ֻ@z t3,x8F@\]Flu3dqE! *mi4V\Z*ܴLS`͞9~M{9˕+R72BJ*ɪ{m}cd{smvlZW] {ɢmd@Jn\>hŐިRPۻI/++3JKe=dx s[DL S6ee,|Rgчk[uεܬW>o>ثT)r6 38Epol\FVWbWJ7` p{%K,Nd.^f1U Ks. [Q1,"Ȩjtfq̊DV2DPȕ")JwIjPȆ`CRZa*"a0L`hnez"Q*w5_2*Ya*-{fg V$bd,T3R8װϻ5#t϶z3C`kxFl M$݌8ip -r 2mKZ7g]|B^=0m"}J8Y]RNB%RgZܷܼՒK7tPV6_Y8v.+m1Ԗ2D|Kr_mWodgm lFەlVw`XAb\]]23;:@?EEC' 987484B>RJҩBmg#du @"#_Xj^E?HC[elNlך5ߔO<;5@ t Ճ~,|>A=ݦumc]6im쿣tV hjlQȣƧ%=5 !rOBiI {劮բQ[G3:tZUJN,!0'-` BVf}N'g-NjԦP}¼ F&Q(l(΀0*.yk[ު{@|^.fM[~Z."̺H>nȈ< "BRx#2o,Ƚyj|w 'V\0U G<@. ]8Q( *#5󚗦ߗUv\YY,8/f0_NN?fzs8,VW~vVS-Va5|f+%xKYܧ~gC|$<<$)Zʠ}<իT :u[OnvTBEJٮ\ B̼[:P (;Q,Q-]vgo渵|tZfEW +Nl['YeG\ӫmZL.bQ=!S tqsJbnR]ywR{kJdNUVP3v*E~MIRx xSyT+ݛѝv~[z}7=o2]+\}S+8'5.vVj5IY-u\w8?k'5֐nv1-in `1zLBto_Cߏ7iXRδbDk2jo>u 4NQLǪ L'-z@'-^*`E)Z#FxDLf}Bjmi ]1uB9+*եsLBB9E_郀L)SU6f֯[u0kc2ŗәJfOsʾx4Tt{*3WB b133"""E2R(+eQ!P)D c 2CAdT#}x&+ tE-GV22rr{qw\"!u1{QjH&:QbJ5.lnH 4߭iӕUʚB.7(6=k(K xg imcofS]6) 8Zt|,e?Q5sG"^dtB@ЂDQB/Dv=|N{6Si'yn*z41=P H)$D3qz%e2p8 ݁$z5ADܪ7lBVN'Fܒxi,tƤ]M"`\aLMSâMVdz&i;ʵJYx>f沸l& uQfX13Sj·y$ҐH5 ~=U@!A"(4a JtҨ9W*[z:QjtceKc`ymuA5`P@hL@kUV& PIte  |SWA2ia x33VeV~!*|G&aTTlkV4slSc`y4^DTL0Li@G&"uou#9L!aJS:Du4&x0NL;CDxzF4/5BLo 1i)f1B5`yTӮPilfu9=zs#h]^j71F!=/g^IVN/pv{r`d@tx?s&8YwbohNHA]0X!PBIއWB׸Pؐswx{Y34<:B@N;Y\ P!mu!(GZ:g~qN mEc {RX@Qg嚚]ݓjW˘_}oZk^|J"_Qh&$鉂L-"w+~Tr\mkW3s57bcrPKQ¥LM)so5dy@ sdD|V..TEw@3zJYhkŤAMKX/3Ut-݇DzPu[+`*T7af}wrZdL+Lfbi uFpBF!.f.UkoSf:Wt׆*IJ"Ydh(%HDBԫ7Vŷm[U:ʠ͔[C)(X^sJc2u=޶$Z1)E>ă!)M)$ (0_"9d RvH"2;R2hQ\ 1@?c3E }uRng!#yޖܑVÒ9҂ ZL0V-xf̰^-T%,vfOggS#I@4'&7=@?F:ACABC>EC;9;;<6DAEC3;;?9DC;;;;=>C?:CD 2}{Ƴ/\Qq;P0^KsR*.@*7SVUUlHL )REs1-I1՚$1%2W*OF5rOj=cJ I|kԷB׎i TnJFODȒ-ڴPQl*,0vCnrrrL_G01Q.9cY9]*k4kdC;\@'#ɳCCRk -kܽl gke V#3 4Sٻ" fc (~1T%%;L60$#S*$$3*86͕땁U Ӑ l!"00JϰI5kHi:Z.)kD}6Q[d[Nm"Rbʴ쒔@4IJD*-w{9͏F̀Ejs3*qe9}XGss5KiO/)>v7`1Hs5ѨZe໚W mnf}k^Ud$R_u$R ߌRWMbsThZTCmBf$cްFbZf+= ߯k ݔҺoI%'X8->DpM#UL,7H7;1)$\bb\+AOcK;Z6eooLFiw-wԗ=mڦ%91YrBEn)yޠLHToWUh.25ܹKXu-eܼLq4F6 h*tof",U!H(@כkʦ*h_]_r]˲ls+Y¶R7;\:@,[P2ʫjso=-NS̱?nB[=]VΖ[Ndk*cd7%= p2U)ŧ.l *iU.ks4<2UB:aMs UOZ@>>>PR*masKkI[]?sKiZ綪6zV%lgm$*F&xvbSY`m+mU ZYu[^lU콮7=e-51KdRO\,/m[w$+ަn5TL+F:,#/6k[_]VvF<2Oǘ}Tje59@COP-4ji㕏W;~gK{-TkO-yeD2O~abڀi@1N共9?yLPkyv|ͤұ*޶mͽ2X DkS"ѿMHk 'X:d$~q?|FZk`J \"{g4TUM'w5U JP*Tۓg[ɥ43u1\uWޚYO$öK#+f&ؚzlqF UEnZ^(=҃t.4V @=Ƒ P'<1s$n^t~!h ࢞5ĥPFf~vqٲ}JwLD&ҧ0J?FeѫJ?z Uƌ*Z{~u{Ymc8" ^7$NH:9)0>ɼyo r^X]Ry[::$Yö.ٛb۶A76C5&mՃik-|?=Ẍ,\\y*}c-lۖpoke0+O$  lz׶餤XԹRN~>YX߹w͓7#<ǫ/L$=S51hm7.TqFU,f#1w^gf@XnNU9KWlpo +.yr!CQa]+\vn?򑭶^Y3ll~,_#/ Y߲3XIjuTl1U!.$[-3|NS{<0+t1C@x4]Sm5Cl\LnZkO-&wg>5k㦓+`5r8Ϊ6ލu퇑TV>emlVSU+{ V?Zyҟ"a@Hp%ɺB]JWhlynmKZ־LMmmU-a.}:;7*%os.hQ ~LFKtdm~g:ҸI?kYFa+B} ?)V5UX,^N][G=[mkԖ$_j3 M?O mε@Sd= @ EPXlJ ~QjsWv~m+/)wXJw>-)*4w4Mf&ReU#v9.e\&d=.=67L,0um>qv%[KTzi-ۺ?=-oWO }K{Ur_֛7l3m:E܇g|g`fn |vv, [O3y>;c66 3j]m&պ>ܚݧ6iBt[3|IfOggS#I'.3KE9%i$ bcPB)*}m|=G&{ڛM ˘#b0.pz2r ~a4~.´-Gޔ {]zmdz=}$>WNKP" Hjqʭ)]'afLWUlZ_3kX=;UoY;'k]]'۠QODBVZSny@ܜ73Tr_}Ӿ7r,Yں7#F ) "`IFR#̞)8n^%SU{_NuJ'h=i =Om?ȧf:l"}r?e2k\IRaSʽ MC[|ʔޯ~ĉm;,m~hfXȐXQѶ@dbJV5/멐G%Mf %nT%2 EZyi40T c ,.@OW (t0;hpmYkw 5daxܜ {gڇz*Pڽog~[Os:FRR7l$fjG13x:`Z֓/)MK\T*|T=^ݗ'c l0xMK{==pJ}>P\u9No۩LeOܬU3rߞ[}!nֳnHOH}|&.ٻi{B{ 4̋g랧e.^Ykb)@KNxtZ,xBa6(P6^I$ׄ]N\Nyc1 І(fPcSepxcepwW5%Z5l'yzKzPt+c"UVv=u=-Ml#S;}[wjj-bjeb(7zRAtblF꧞;g񫀹R,ID(g"|sErxl(/wCDޛOuvHDq6= {vC/܃ {XgoeS^cnHo>#+p?$2r)BFy3jB_%kJ#x9Pc`KhޙlG=پT-;YJXɽ;ﳶO53}d)w\g{]oy{L?BK;=9JJkqӟMf{'Dq'{muO۹ǜ6UǷiۨԥȨY=QݳъjgRj]k/&sAi/2Z楚vnDK!"<(hH4Ntcè WՔV~:ѓ vLd{,U'qޑsĔ]OPḞlRFOurvR;1X 1|k.boŎT.oPm髻z4E>Wg]۩G_d͏n[47TG [h[캔hUJۮl.}6]^m`0>7ӏ6#VԾMV $jc,^,EU.?73Y5 fp&xrH5* )~U%yo-=ߞV:k}ݧ^ٚo.˿W[^;檾AS&H^??(3FPSu Q}G+{*ޫM<. к7KUŌUbJ'+־S<19o0z^3;3fm6U,^C`my@ X$|}̤!պK" +k;ۮWylNU{]8M[ l `! E%ҙǐIZ큪myT/vZ=u AɰȊ'o6}8r_ʅ= #PsH㵕ʂz9poՋYy$j<~oo,24a$A#'Ulk3j[ֲ:^5[,+w>Pj@$˭M 3ݚv5jjeݦJJMNL5vi`y;[=d {(epTt-YYk-t >0}5?>P7BTFjv NDKñm]ۻYvC5MD~ږ'$D+r>OHhr!Z2xHɳ_{?kڛRjޒn2ܲ\W^EsNXv0,L:wjS-T?Yyޖގ5۪}/7g V6Od,Liϵ^.̪AI=.bqo1Cmo[[7E&>\NfNXENj ֱԢ롨hyۇ8O+65$>fmWۦQo wl`nkC lNfwc=qݜ΅yf"6fWT2W.nC\I ^5/fF0uBmmYl[L0#s,I0/~Sڶ(0/L>OWC1:Vuoe{VMjKMKmko|],%:dO1CIZD`m҈ )JDIұ#s[8ٔrtAےP3|.3!437 5`@PG"cȻ:LDeG6=}}%{i\Il'W )*Ntli Fq=:ʼJU].K/n54y_+c>:c4cu'Bj'ﯩ=8OggS#Iwb')(7FB :987;98@A"73 ԭYw͛V.AƇ˝Dz7X[Q~Ҙ=!=Lct (x'F-a(>FEgnOo}cwcn`F2eϘԗЕFjJ_.`;:>`>e> + BQ( UwM˶mUޛ*"'Nr)^g$qڐwD L(Pz]w:Cb** WLJBx'?W^UC#QJY?3g>-ipsYYi:JNg[.W)+©d!B!{B&qE )b*&UgHb+%B& >E)2BRHO d")F HHSDRFW&e !)$R$q@B> @7-+Hasm<,h7s2L  s YE*UX8HLOtprc,KjLY{仮6jc\RvNicw+"pD6# ! QlbXPTd"Y 2Rı! d1%(ed,P$$BRJ‹L<S"HIA bY(FY"E2RB 2)AFRJ $HM!Q$A<)RH Ȥ8!r=x>=88/vZ fG{Sbe Udan8@~*E#Q@$-(Y6QI)33 _{J?)Nfgw=i{;TW%Sk~ؼ.cR/6PDĢR((GY(F( "eFF )!҆b!YȂ2 a1 d !HA۔"X =,B@I 1$/ H r0Z빅^S`ƻwko`'.@580)'!13O8T=3S,z§haai>e5%VRjy܆5CPPl@ 'FLAmYDE+"*WƱ$2eȰ>H (! ̌+&Wz)X@'/B@T 1$b $X$Wdbb1Rx )E}a`+s^ u_#0  2B$2H Őْ< A YȈ Hi2R$ xG%Rp՛!Մ"6ԒfU}1;P>胃_ĕ6@OHV^;9U 5L23hkc,ӟ}seɶ|n+QٞFy~E ,[,d H"$" B*"h#\J#`^ftq!Ʉw(ٲ&w* UVFQpYf7b쵚gL-o6ZsS)eDw "`888NwW>*{fecfU榕.-7/kz"XmΫC5fL*_8 j(P SrҽՔ.UeD:'cʰ( rQT.(Vȼ\Bq/&CRi<28!Ò䞬4, Bdh)RV2%ɉA #@ x@tx$n$@,ǭw8ưOx02Wڬ0>r^O1)`1隗 b13+&G,}+{Y񚸏X)Rxɘ*3SfVl\7ɜmsn>KZpBʢl5-0#ƼQZK\GJBmFiO; D)i{C dd0v#3fA)7l2OD0'IBZɌJRūeE& 'H)bf84^Ip& )JjBfsH CҟOp?0vk3`?Vi(Lt妻Q$=nf9xT $gO8:@HA7@CD>::@E*:@EEBBACFAB@BEC?E:L ;5h `3(GT)O*mT[ *&mu$ TP0X ȐIA96#4 -5"}CV \G5bT!2Fd%+)/j11w $>xA$E_&4 fM L:3R93)2 %FKK_&Ƃ( yԠиM(`V䢨DP, !JIZcoGMcu S nャX,UR}bϯB!lp-u/My[ބ뺹: H6$p|UilnI*jUIy~~+u[-W߶\s@Cp{JAQM#45(e2VD 'G6^5'˔<֖dN=VioYvđXkTʟi\47FpQ(ߔr{oZeB"YE)GDgOa# ˚"#@@$"P! ʲ V y 6) d< 4$fJ8tB  ՖiTH707 r<DPΐ`Q/r]=s4xr5 k8k2T^ڌ<*.ws;{b;(4n U03֥ S)=[`k!;2f7 |RrHCibjZTk1Xhhk&AzG{eޢitXpA >D- /wV$ҏc<*{*L;eKe1:%kPYQ0:""#XAh*¸{nuSHyS,eDdEst tN1t #& 5?|[B"ejFEsj*cWUߺ{,l6'Ĭ{褲Js[\*H\i];=cuF甯ȉ+i{ۼNv+֣槨~*[|E@(QH(ϟBBx8&I cP^m{oVVζY tTC'QJ}P Em\2ZUչY*oW2A:m+KPJ.H$Y"t_'FqfPm;t۽čj6|F;:D!KNv;sU m۳7{$/ޟN]-,mw~Vlnr[lJ{?، ᩯJAQjIrWK4bkDg{e?zYbʶ2|J'L2*,P@S݈D;7Ӆ(Gk%br<=jmldZA+{P @Vć+g |T^{;!:Ζ+2ym^oe{ |JFI:HP.!F'wAXY$zOF&lifmr,fcG&xEF9nmDUNt< 1;Sݎm϶oY5ZզۖdVR~&hpAEwlOJdoTHEtV]mVվm~m6C {5;LLL.U-rHj%b!CtsóSVۼ]ky6ZWh3LސHrg@~ڻș^i;{kFKT[׸!/^t'NWFTp"u`fJ3 zkMoogM4n]C9Dy,Z @+=. sH۽Z^fm;;W7T>֘yYJjM=)!XtTLot&7'yt[owS[ۼ-dVmI̩nAqIIBn\nmcUKjfdn#am1t!G&S1Bv[-ٵFV2\NX_:%FV{ :Z) g{9'9.>;붽j7Zjd6&_lb}ռF{M}:ͬAur{z`OFi@m/?c|@>s?\޷m̵;`LBN]DPAHkjFMWi@Ư+[<:\fj#1d45K`L 6(6 j*( օ.w&Wa;n)7uƩhw+;>* h鞿7naC=]e:1==}wO,⢺і2vUF9F]UjϷY"ًwd_e{ΪCg,n_&iըQ2w ޡYiSW1TԠTFvI4RoQf+'y͝-WO#lw5u3-T^ [ԅ2[OQQփM@>8PE2Q~jN<R[yRIUB=P}^È80v:+?XLvA&vYÀb1KٺmsTܻi!3>f:dgZEͶVm;?8@B=F:E@@A8;?:D4>;AG:>T[&iXնT >7'?@ Nw{0r :n0*J^f]۫++qC,Z! fwq6j $eW-%9ϧ2o֝6(^{{m8oUw8 fPEa-q&hW:((c(qO(>Jս[wvZ{{0UJ..(h"}ۚ581:)i,o}f!,:%PT-g~_|¹cUI⚸/ϳlW9{+m{mci[m[bQ͎4+iUFe \5&Sik2mjzMךlE3NԹR~wTιlWT ) I:mؚr݉mæ VqFgx^3ZC>\ʨͬ>ow (|QksV]kɼ}j}URL Bх e-U$e&4OQSNciZ;ﶵkU-u%4晴l=CIl=zUn / Da ŭ&I*c#vWGwW,7YqGMl(AA 5зYEgs15~ 9ݥBu{w˽{{ e-AD|F.:Q l*T˾ #3<Msv>ʱll^ѶMIqEFeoZf2"UoZ,ݕ?WW{k{oomm{헷m5)MMT9)߭E@67$dGO5 nwOeȫ,Te{}8mkjQn%>n))*"(kPFyھӷ׼޲t$Z7ν?تM1.mGVn ݢ*2+O39$3O*V#mf.=G;TM >%\<+R)@#Pߗ}z㉖Ǔ/k5#QgVL҇\@_-ӣI+R UU H p(ySfVf֯;P_6j*g+퓕pΔLBZ'aV}hKmBlF*$Dg,@Bm{s{EE 9wҵ| [ݕP.zMN\RNٻeXØ&Jݟ LZYx'}zro=zojTUoΤ˽9XV2 njA~*sF#/W=g4Ŀd,2 08ÝY e^~ VI!J$] +8iUJzknYk_.ފ1IIj%# W(O)(dޑNv׻Y&2[&,|^*> P`G#TVP,3EP 6mIbl;)OxQ >V넸JnswL0 VLeiޘ.g`irw&u+V$ @ UKB!1^*sSJƋV['[|> lXRLS2gP &`rP9%2DNr,isfq)c"p*Fzk uACah|l[֪Icwmeѫ^b-lt:„Lo7>'h@q@ttٰS#c]ݪVnbdR ս!~e%kco2 Kc7`-1 yU: 틋MZ>#%d }~ Nܤ= oA7y(-{rII<2w =v^cukYZFhM|^#<01 OO2Kt/U[F̅ͭv~ft:npZ] wZѭ` [ sf'Tqlgg8+^T~3 l>#E0y*.;'lqlnxKT9"Tު)DEkUgTJldJzuT:,zigK!W?JR,SmSKsƴ "c٠!ͪY0[=ʱT扩9fZT &B75sadӪ4L*|G-0S'DJ# $TYU[dR̭mW_(>>/QUժ+u`e*y,8`*WR7ٲؾq>v;`le"XttVO<% P@ǥ0%Blr&4t.CRfTߚbq{*5 ]@& yeY3TZ3fzw3}~Zl<`^_}Sn lM&?@~_AA.*.WPTT~{mڶHkw#`| 2Jy .ȱ?%vvv~c6&X09t ^} )S3_Ss@v鴆RјĽP,L!ũ۽[֞5f#UDf5C3vCd Pb;H) :{:֣] t.b7xOV̲j+όP9w Y]4a0}fy1٩}ZP; laVuʢmV#t0bq@F1jev[T8%S|r[k.^el1`lJC4]JS@ e SJ"?(9vjkJo-.3\Jfs&#aX(Ȕ<UysّQ$#2˳'n޾27{6l:>tGmZ l@`6J**=+VEzH\JK˻\*/n:e%9X BBT*U _qw?vnŔVo%%dn LxV0 \ )*Z)2To9bzk[kk$fX\Fm6G0Ϥ/Zl) pThvnP)t,"}INV+f2V LʛOyVDӳh"5@f ;URF/AX(Ȑ'{,[`jst^j* ,:'l0,=M=y$ջ;=gGӾ)M*T2тT&,KEbQD`ՙkgUԲ|>B]޶Ʀ?ONL" O I*{5)ڛ, C@ {A0lZf=F˞Ou/n_-{*û2X.tVS6)WE0Cj0nҏS_ό/$ӭSx/T.M>6)d0 N)ݾJXS!ϊ5}+{ˬn[o3ͺY<QaM>VT߹ПИz%N@,ޱ ӌ[ VY֗0f=\Ne8ڇ (cM $°ڟjy~eIz&iݰOggS~#IK7AC9?<45:555:C>:=DB9:CI=>:DGE9=?>:;;CE@9:B@$<9:7FDA2T6*.ꋄlpDE7> 0\ ֮oFʵ-a׎i9<b48gcz@>K*ھ/b JTΒmIjU+tš|~ "(v]Ҭ(+k2"3֖lS0lhi4IZV'$-07 #<ٌAhIldў]h[du,R/Rue?!oH^|7)~-ԟ}JY/dm% kU\RI)L\m!2If /B(2F!v &Kº\R'\HX^VNU$@mU {"xX ~$كVHXON)m0 D𾸍ȭIzj۶uct<wFEj~kp bzP Uz&?ߨ'iI\fSolTRѧu2WR{#TC9kU̟aWW{3tvgG:nkcgۙfRo٘[VN>STխe9CIZDyU$_yhKRU[`V,lMP FF^ _m5v 3Pmm) v6=~[}c` ZY8eWN|BWfW˟rVY:*Ѷ;nS3eu}[1DRG$Y{k:pRƨ^Po,mkJ6mn-f_XX<Z莊]F~ SVlYوv] Fѓ-+P`8YPw>eUzZtMY6vm)ݭ^j~Rf_mjS;qG'7sپ ,>`bޡ,ʅ+m[زmyﵵg F?{㤐~)o׮ER 6@#R'=NQz).ǰ1{H)%?UGm,淨ʪJcO2'b*y7(J۶ƿ tVl5яQFZ2ů/<&&V)Fqa>v };^0۳Z5L[_V s:B)-, w kʕ~`äя-Z-iʽBלUT@V5"z2*1]1?ʆedvN寖5vL[\kEzi\f=N9\ 2tUltFS;:r%CYVaJ"P4c#dJ 6w.9;g Ysk܆$[>]>ɗQa^ @K2mj?z%읢8,oڼgfƛ1MF0ۦR_}G+tH&3Z XH9zGE3-gf\(w#MbO%ZۢéYCZ9]&0vxŨTCw%_}kjYV-5-<&& 0;P\FCq Q͞뽴f.ogwu_]P.8?p|u)N*2qW͞,vHkI 5:_sP!ll43 _EL'4[CRVG(DP>ɮd.Je{^/_5 k7StVKqȷw=vO;I:6hR,֭YfEL1{jc=+L=ɋ1Zju4ƘA77 qZPCHvck(0NWSǫPRߦ:;Ҍ'_2O󩘊DL$~ 6x56/lo]%ե%oP&-( i~2iITJr9jǔ/"{o݅7Xl[wmN)u{3`{R E:|cꉈ g D(3~?͗ncmU1{j+{O} "Ph-A 4ßti7, F&QCQnjo[6]v^gHV4 E#Qr4â˱iL›WJ'^ x.X9ڜ~y]e©Vۘ|y\Md6cCs1f ;!Y)Ht#E5RNAF/ ZTGPnG#Zr!C󁨠  "dF8)[+ `&΋lW.E1ƤB2kI bw׆IKcw[)T@;*'cj!PKYP'oDm4>}zBd\f3Q#iV2]V/ۈ}ȵ&3u;qr\t baf>.lQlqB_EvKa wag־CÁ.](n OggS#I+(0**99D?DCEEe7sUy_:SJʋSy$bZ5[s %c?t]7Eurcy۹:w(3+!WtUuPV3Z&d}nVgEJnSΡfnuU+2z*x7}39,RY?ǽ|xDƖitK wqLo ۭl!f5 Z qʒ33?d0I[݂֣0v q3`s©"r}8+:6_ʺ|rj{ t}0O0)2O4+^Ԑulg%G@xϗʻZ Ne/ DP u{P{q×ꄛ/W:mNܬ[A;Ӻ ^K^v}qHdf0 O;X IƂgBL ν\va@Ą41kWe& \iJx\3uٔ ~_ް; -W_RH3\flLyM%{}^i9]$LNvM5[[PC2[%IE1W6P\;> ݗg3ltRݎFa:X^b֠n50h [VUGTO8CA|D=}g`&٪bf{UV/i|L厵zYIW)/yLm:U(TJr13CtlgffZb1Yb36ݥUZl]|o}n.GA8s[M5˽V⎾{&jo<<}VMFې' ]k@ ޣfQ5츛SJiеj~;3c_t 'eͧshђ}9%ݵ`>Go꩎2fNq#{le{5{20 l9nn +$g`PwI(B̋~e'0k֟q?P7d-ϒPjƃaA Mֽ?֞[`vr_xE>պڬmkD5- YǁNU] kA^dZ*F-zi&m|=3rզ{~k-{KfT)_`ʼiFU Џr[ ] 5IS鱽mZsw3sخ^% t%2C &Y]Kvc?oks˕_Oݥ3}?њݥMjco4PdE_ ctI.Xj1U y3dmň ʼJL6[{3mj6&\=_T8v$MЏ^  N,\GD 9^0k ʟ/m4[/{ܖES.49|~IE@Qiy[,ffZy}l8ֺ*;oaKS۶^/.[ ۶N*-Lܒ^9UBݩ^?׭ߗJ%zZ.xA5Ӻ]@%TN4g̻k`fIN&^p_ŕ 'e|~$ƴ39 ⣤dxXs 42#0P#`&yJYrZNg8>^ڏ"en IKCD*bBd"AHA.*{Wm y1g7[0+P^2+ʵ=rGl:.fG==-5촦wڽDB$c >.z|*cձz2dWsY 193C*8r U0`0G8L(p2+q|Q6ք7O݄W=G*EYR!v5ܱOy3cBoBrMsr\lVn:'$IHP} B=B)LL{+TTDnW#c32SI].Գ9BOKkVg:KUt+쫒ĥ{M_hJ==c4ZsݳHi;w:=;OgZ5/LOr5 Z?3+zG!P ǫ6buE<-`25Ya^Ak00v᱋#"D\5O@QxC[-@98 ݞO?4rV~r OOY28zeݶy2{dD$AS@THP?ퟙք%W=-et?=\e{lm["s^52Fk|-W")t[((ԕm2glU&I1m_~7,AY `y${:IEs٫Pq#Rv/7^s^7jȾ)1Kt%#unRķm1.[,Q\s{ɛɞ 㜹ϐ>r-# !*5U$S[(DBbB!d1Uw}+TmoZ.{em}-07 oοy6,h[gސ:2-#X{ rn8U.[w_e7 ~lzO P3ŧ^j'>9=A?92:H??:8S Xi$Q N t02a$)BU5e,Xk>J&WT) rN21EE!Ŕ"uiѢPU RMY&22"QbE"QdA] b l("2lP I"@5H!S{\R)eiR! 2`@X+ &)T !0Br]HDdhJ9vIVt EE?\ 3;co7v>~xy`H)RMm^  8J ej1Π@`^SeL ļku:̶CrC6 Z}X.`\VP̌АHR BZ2$ Xđ" lG1"IYp "EB,Ɉwx |A$ ":qfT%\ HG!I|fJ,TnAS {3x3cB`Z%m7Aн칋c{7 mX8G& Epd\4%uP| 1S_?RU1MmV:&%PK1l "3P1BɈ-DR"0),r"DuRQH $DȼJ,"E3d@*pR+ (ؠ%sHYLy孄^kD(_##7Broz#F8b?m@Ճ/p ١9}p6 pZ$QiZ2h* BP05fVc[yz2Ni|c*7P)k.al(EQ [LTIM%d} :e5Tb,"#(TJ ) EȐ-D5I:&! (b+6my HY#2p%-l)OL{R,$Q1 $OPWBR$5]FȈ0JNpkŮ?wwu). ,fą]@/(ܭJPe,_LJ=˲wE2Vnpޏ%5E*Us"Uc6C(ؠڃ%>nT"B͠EH2l"Q .Ɍ ս$]e!('UﲘZ0ɼ+ &_U Ad!uLn*">18UmbODe$} <]z\iהnaA8l=7u1a AEOi<pj)`篵6h1>hkӊ/-.ϨTKSsv;r\r(nVwٵgҩom4R):㐆cFj`ht(ZRGX͕*KC yU) ~XҒx*#?{zcd 7}lB& 6x^݈:\">{:{QV%`t j7R#2Imv1ϺaŽF&_D}*K~t}vpcpW{^VBIFuch37b$FO?ab4dz fIejlyDC2C1yY aef=[f`al>~a]=;XP*.绵O^^ `jǎ{z6mkV,`KW-sؽ" : VQ3̢y̩ד¾z5T}!i퉛v]R Lmq6MTstvQyla1֝zEW݉oҩdDF_ƂБ1VĽȜDŒ*XRHO!1AfrQPYF$I>SB +3H!zZP @"d-m^BB.rR佔R^)(Fpl~qqswk67cvh,OcyW#' `Ҟ㫕[D%,{cԘ~?uλ4ԫi0sCM{c&WØH1-7&;xlbTvd0xÚራl˵9.L 7j &"8ϒ9˿鼠 @ EQ$^fAA@M0!N2,"#* D^׬+JI-2WHߓ0l,sÉ7*ΌjwH>,^3`r K{8F7OYRfJ>`8~ï]yxpzV)RC⩠*w 2&JsLvE|RFӂ^rW qeDV#mg5TX!y/ch'$Tk, "̨",s 'H>x!\)@d  6Lfp9\1wLKg[|0Is bG]Du5ð^yPPcnH:.Tcenf&$$@99羫& ,懿S6zXH>Ub?=էG&GjR]ZHM.F{N0a_.j"`׆8.ZFb-B$ !Kj@Q VNB$E}^n(f96)dć Y2B!USQĴHDz;=0`I!.:3q2X-T-BMdZصf!MufaW11lKp)m<2*5 Im|ZEOR}Jdf{olZՋ1.f뭮V"slfQ5YM*[[|stBPU11v-|WOLl50[llbIehM+m@`>( pjCdE3u5,#O!Rty9j.+Jn9o^k[ /޲Z3#)|Z!gr`*57EhI<!tYG)J0[dVћ jL+z%5(%ZHJGJq JVTܲj+5cd yQ,Cq 9۶̪{TRPյ`sIWV @WMh|r\kkoM(j 5V:"5V61j)TRPsgvOݷkl6V)l:FYZl~ZnRRP .n }x~)tbkӪkE 1P o"lQ,\ȫmYvt7ߣT7w tbe,;VЉ hRV2M,,Z ׫HiLbʒ,XAr{ ˰ɴjf7Z2S"{{f|=޶lzͰ-V,iN~r"V[,Lc_d\hng7vIK/u6D&b~Sb 7`%P Bn{kU$kٶWݵ46[\VE؛YaX7fS$y@пRq]Y*2Z2nzRZ$,BɦtuIF',)[$5GHpWލꔞw;X\dNTe;Sjb^CF @x+(iV@E,lo%2dFuǔII9,P2ZZab&K Wʾ5on|ҥo۳42YQm5ZΆ[De=Hc%1ƭmkI{WtNÍqTa'f^=@w$]+(!*1{$7s/z-jUe֘dZ[xjXgR:0v _|n Mi1L#e驝j6kj=&m˿7CDq2ץ ܤs/{{4dVb;0nb24IhS!(p=u۹ޚ\V̪} n n[p<=9m;vY5omojM.,6°qdbn 2o&с6Cu굵[vZ=g.r ŸpTInxN*9>!y fjJMY?c\n:֭`Fl44UEˏW'R E1Ȣ222`d1 v&RR8!\ 91Ytw[&nde322S-T."6bZυЎ^[$,Vt4[+ ayF%WގY[A-G;Тa=Mc2R rg\̹g1SL2Ʋ IZ*PfSVQY\u !L&mQl$FśRqˡ"eQXrxg8Q( 0r;{o&W]fGLVmUG{ɪYbu x`P>W}wŮU_*/kߓ}E3LVUCfX lN8>SeaX T~#1YȻ5$rΟ&nrarfvj1DӿV\f! *Vv{翙R 0@qQ3J=p{:TFLR4C@$spa@~‡ȶ 5(eJl j*bhjZ"""X lw)d,H'dDU!2N[-d#KrBiH2"#DF9R".2-b"㬽uʍo|h}s,ul6̹<VjRiJJަ\qxNGW&tYCp62frl`e6\_@Cʀ &;l>4c*rߟexńdOg1 CX`a$`e,pm^FM Ҁ$""NW"& (#I6# "#%&@EaQii d*Z:J Q: :R"@$vAzZI確"ȡeMRھebC5qlNˀX> U;0a˗Rߩ}w h1@ ٦A-iQ^:=أNjR}UZУHyƊ!(€SLgfWYFlXir"I8y/"Tad1Y)BftO!#^=d{3y 0^ݓbP=F ê ,F1рF3pԷFDieC9)UjTzZ7;-5.Q8"lLӧ㕻:17 } o2@QIxÁ ɕw̆je0U8]#``π&ېQR)ŸuU-UyMU3qxGE?ʚ:0&QJJkA7(-?.A;Sm>v7mc1QL c]-pQZ?ۥ j:M\o}W[sY%&m-nY*_bkgUm-8'h51a u~Z,RBD%km{wn t~ (ҔYliF-[Ik!f&-QNGm{o{.sm>t Tgu@BcP%=ʢ))1ƪLUXQ~}$3RW<яy9"&R),SX?Mtik T\bx+qp)didW rOFJ1sa226)Mc vpUMpD96QNJ Ec⼈/- o鑤)㖦%$RSU0PTW6+$2ʑ`rA1$ W/4c9pZfoOggS;#I~3$'!":=8::;:DAD<<9><>:GC˔˺R@0va ^Bqh0Ĵ88@D 0j ejۖ@̙7iIV*" =&,i*J0p~o)eL+2ߘUH:E@oՊ,dTk!8ROsK(`{fb0l(qܼ*םec""p2+:QXץrp L0 VtNPj%D'7ŹU"V0emϗțξ(S} 77@eZ?Bʽ^evC(0^,i kRPR=L6P/IPSUcn~@3Q5j>5@6Ze[& vۮ;H6J *3SnVvG#n;z@TW[=ֿrNg&d?7-33a޹K8=Ęw2}4˅@E$2mNboG)A߅LsK6y2(\tnu!MIEW]Z p k1X Bj3]47au3MrlVvIMlBK!ΒDWmvyesTrR͟Ӱ+L>CIl $C[GJ䩽_ 6iUTRo^6QRJ'ܽ=.z{|˕ۓQA0w;Ĕuݲg~"z(琉lu|60C˛+Y*)鎐{tYx:L\g= S0[ĔC*]ٵ5i-_+djh`bf"]J 5w0 <&Yh1`{H[5,B%&ɼGTT>r-bdNâXMgbD*Cn `HqlR\t%Ż+,۶]/P-3 \F}B ݬL0|("̾yoJT;ִI$fv/,.Uk-pt\$Y1he;1umiދ8T}׌V<诂pNDFPzMsU~JQ#b\Ѭ{/}c\F pl9[@|#YW\^ZMly( dT*WO)ʶ6۫f˭JeuT:GK(P\lj'm>dJ(Ub2ؘj]Y|=2Yp+͌ %1^HK)}yiQoRJU̼lfs2>.|̡o|~4;XitrmCDRݞkb%TT "Ip2>,BSyw>TU9{6ݒ;?&w1lT.k,"+.F,(0CP7"'N_tZbf3orxe4OEyCŧl  iq_6'lfʣЦY[\ڇKQ4NOcWzu5XU y7.X-fAO[,r=?{z}'o[٭^vnd-Z=I,. ccߤ,ּHY8dJ_踺?Q{}F7-Sf:GV Cgo);y6UM6k&"R,*~O][m\U[tM~ߨxNboZ\;l%Z*BbOv5}7K־G[R3S{*N`1pI|(\*;y]]w0ki^{fÔ;<>-1HU *RGk'EU^N )r{ˌ26[Z;c +Ȝs49!ֵQ)._wƿc)ej]˴w_-EZDV$]Per2H~*r.؏[^obo],NklP[:omԈ ^'(!QN֟Xh͇{ЃOo6'dbtn==mʴmF&)N^NE_*.R>#u5PW!r>ZYhԦLyҞr`^N,4=iR&YLYؒ(OwgfufVaTW#R$9 pP,o!0NS|ifg?jͭ 8>'M>'l-6D7$~#$Z(UqtWn:# ;;4|l] ~jHBkF:shZLt5kc~tT nߛd$f&?ċG kޣ`)\G~Z~JiuveMjnF+p6E !>@ +|SX0RvN+rl-fZBk 611,ʏ}ҿh#Á3Rn DQ-KXY<=}4YgmyQ+8N&__(xEkDF[RO)ȧ_{ֵoVUkMVY6$.?m NAJf@pɽҨ%7@\>QN]ԅ7ݛykG^E >Ce_Js'n^&0_-+Q3C5ͧcU5셭߼s)>+L,=Ddzx"1=TT_u+z}V k2[u <>MDM /2bsX42 6L}ޛu3{^OzѴ> 5zyc*G{xmOggSf#Iv399=DDBHGDF/&)9=DE@?;ECDIF=BC><:79BCF>?<@;@DYrD^s0s3q1ύFMa 3 cr!V` hE5l.oxUJSꬻw^Vkjےḽz K#oL=`,ѫyj+vaQT6kIjSJa=?~DƲ;dk\xM#C7M2+-76zL^f͚YLN7eqaa @>wF@8GNkռSHU@X}!R*d~iG(Fz뽷=o77vٚ 7-#P-d  ~]\(uժj~h^onb;dB)`XЩe(RLRÿpwLw+Jx=ct}oDjuC&Oϳa]y~T{x@(]Y:3_"C9 ܍L )b/KR{Y.z [iʩz"+$Lb碘CpH 3_8yЈCT=sg̅!U8,C.!hQRyncvm d4d,ӄ2;mw x}>8 N0@Rr5Ov*IT p0`LYE[?6 AMcPhwnv 0O%>X+'+֧2ÙZtjc35XO?QzJ!=&;P+$,qy+Em!*4J4Is{!P0 Q!3#A%dRR JQʖ zTYR c$q FH%7`xX ֻۚ"tiig~~^@b  z @/7OUu;HL P5SV~o_b$jiixȝfڠk[1Ս7 }k>US?hm"_)1[@"xܶNrJFfGLWztQ(#i}ktz\+dܮ,J@U Z-|"zi(jWHvrp QBViԍaKZ1`JؠvP>;x Rm=50q%vc% V@{A! pK*6 VTa\Dv $"" 15Yh׉{5DU R#kקO,֭OLq}WneBuzB9,5W8VW<Q.͵i.Mԑ4gʭ&*sqlId-\JbD5<>R -G)cKs+*ݳ] ,r9ŧ r/Nfǔ($GY  {#؂cXAi } A02.>#l_7  N/ȯ(CPkE%XGbb3w*g%-_~*l'X =2 gήipϴ_ux/ _k&'w !ik͏ J3դ,#/󼭗T KJޱQ尩 :'C'cryDmUv 9I31NV߽qx4F;İ屨\̘ i34;JBڸ5#Ef0 q|.XF"ѓ3sbjZwJvP涸*(46OIF6mwb+elB~ eXV˿dz _Oظ##pV=',{=(+^i[®ڦڬlN㿑ŀi@X J冫I !G]7e`wF~>ZR UozҶfkؽe{u l"ߕEM:D>E} cSBp$Kb>nnN:rV<Q-^o/ bݚ0+Y=dӓAaacI -׻ v3%Rͽ}u/mD6_ɳX*" $}tdE|7B&/v{,OVֽ2ꔫ.%=1Q]dP @cchG.rVLf=zP[Nߙr x4;JE`^ E/:뫦 hx_V<~'{ejPa+F{E)UP%Cg\JϮR ZR\u <}=ԏ]GovoZ{gy֒7 d^ RjB┾Qӗò7s.T+$\I4R^? ۭݞHz:)}Y R5&.8,w3VVf0kK33:ӎk#m6X -}2[9zTK64TL QU 66PԍJ)bȧ{ƥxߚzGiQw"v3YsQ \Lέ8A/+`8#Q*?i]'1`\ t0 P̻stUaLU}F̠NYUh7.hF33g\OggS@#I oc+';<8:@?GB;8313724>D#;68=?D1xjo32 C|R\ Dҿߪ!KH%i(((7UvXY?s;֍#~mۭ^U2l,U"3ffA1/ pIA .UDxkah\PDLΗ1L 43/]Q>ww_#vpL;{W\|LmQ%j-hMz@!̜LΗhݱx5GJѬY [nUEg`@LF"JG?u|3}H`Y`6#Ӂ1N وc#SՈFv$*K):E{MՊau7c߇t)L9Nz+P [L(&7i+d_mˊc8 /jU9(,Pz`6=~˚,(geE|*忨U=sa*1+# !Sc;,eӪ=m=XY;?C/Tc?ܨIQq:ƈ)U|lSow|N~)Y-< ଙ3>Z~[F$.O3wkkZj vZ2dJ5Eױc&2[-4:FE( Q) ]+nr{oci{ByTI^c`Ⱥ ^ E0Hl1*X55]Aư8d$vZ8ut:e(P =qPJAIRfeenڟ}3ݡdyXul-vtk"x#<I!PȐIdL )dAPS14D 3:%"BB1RHYc($2HDDI!A")!$H.$$bpIo Ƀd! 2K"bH\/$n`vt<0kfL'3Y,X=s̭8ec ^8J0!6T Ɠ{Ie`ɂqFdfT4kf/G<*ٙ,7[T<Σ]DM)bJbPTd"Y YIyHL! d1%(@$,CRJQ%, ^8)I$Hq|Rf%##Dd!)7Ǎ # "$&/'A2y2D Db@ z9 -1z\K|y[G{SbmJ&%f s]>J9ЍRyb )žpH"ERѕi6kmޔJJYY~"z^~NnZ6^.:__F!QXXR&"tim66[Ԍ23eZ1vkknOkIP]ܕ(a*CP@-MTh5T(Ȑ8DSVSEdTWƱ.@* D9LLbd#)Dd"nFH)d$)ɛ)dBd=Q D@= RB!2R!XHw>O(H-0f /82?rw%4솔m=X3p 990t{'  3j*Q*.WI0{Nϥv×]M~[)6ϼELP1 (f+WX=Ԣj  6B H"Eю j(DFI"dla2B@b!C&$F dH)$ ɖDODdAF*Q$/Y(b!RLQaIK2BBq2~;ʻxtTQz 44F/(sAD{ ׬T]yXo (LFJgfy2:'ZHFlgr2zl󲄴- Z - TWfK$C]=^ f(TY+;h eØ,ҨnDP-wqFQYӑ"/{Fa+mUjz-)/ښqZ@*g @ ̌Y͡Y/'Bm6k/{Uۙqj)n-fi%ZTSHx +6”#)@/N9*(عmyW{[ ӕld T*l,!$b/x"DS$ET-D)#! *E\Ja@LǮMlDH "y!MG+AOH,zst^ww^<ۘ* Жl3r XJ:@/8òiɡ۲ͧWJ)3߻.>}9rfwͷm[1ad YQgN.2ElU\&&#.&Ĩ%I$dCl|oQ%rJy2Q4C&HRh2AFnBQLxb'@nR\N%;CAD=;4@E>96@B?93;C=<7AA:<2@A@;;>E;/5:A>43CGEB=DDBAABAABCNenƚ |q` eӂ l7C pwWs~I`dLD 8x\n Vc{~ox:P6ΚmdѢjRӥ܋JUt9r3\dEH$tHB*(\($Ȩ(FFfJ"%2%yO ]l ѭla`O} =xb"CpSBҾRBdGi{͎ŵ lV-5v7|XkNEcvl(_{fG2<ެw6*ɳpF]ڞ9%MjC(SBVa&72w޽r{1ֶw+jl/J 6Uu,M+@ ˃ g-U[̧؃A+76۳?{.yFn|VS|VEpeXm# fG4cQ!Y Bxf/1>5tV%Oi=OˬM*;Ȗ-kCf&1 cdQ){{ 7ZQzMFNlɧ˭X+nr; X0 57FF+½vۓ^~q3|8jmR7lIS2pf6S玂pZj(&2n#IƹVGrV.?stPZCgj\L_ L 2\nF-ޭaZFtb-,BmB`V.T -Z(LKדX LH4;B3ڦs[kXYl^x4v=?j-^=^1Ul+^5R~{rzO-^k܈dV7Bmou29 db)mfKMj5g6,|RyL,G'u.B#ר!FV5O_ފ^wwөYVm4APyn0#zpJ0jԑ+=Aa[ខ\N5ؖR(Y0OEdSnVrǧQWVR f^,# "}<65P}ZɈ1Y$h LVLڂRDTf\db5܂uzӎY7ȑ{tfHJpff(`jn Yfy^&S>2S7\R]I );l5'Y\X@Ng2VꙩTj'-]bˮaZOeU=l͢OClN`eI|@Az]`378nzq,oSg]9MLJYoa>dnV!D+eJMt+Q%mVŴTzo{ lVl0 (h"(D~3\ofY?3?oZ t> z1l뮚([_պ 3xhf@ 5:{oku6k[Tb g-T1K1Yv' mD>(o =z"ëڷU˵?&uϖZpdV}ʳ^-3.ٖ3u -QQfBE/^o.3f۳ڳ}u<6îA$7j ,9٬EIYHWDHSu٬Ui&cimudVfE|zL5-}Q :y9n`¶XZͮi6Y\b)ƺj2` '糑D4[\nSPTȢZ"2+]{YfԚmor<6I8eKj^9XH"=[EѼ؅Swklaŝּ.sf5_l}AlV["6]>@$Br.3~5ޟ*s\p)Jo3d⨈~m7nƂ<UV2 <2B Iq @2DPŕ3$יٙ SZ\^3oO@x$%C;2옪R Wj>߹ڶn-u77`TZغ&.Uð'6̻8h8&Lٞk=.n{ǵVi6S2.,NC%$7 ?[㔭Ta9a=)ǜ0vH5j]nŤU wAT4͂J"6iyJYY[ONoqu\ҚB:zr\oM(dg&rݡ\9řjDFl Q**LO_Uje7TʍڍIՎ =iZu.1 W3d\c jS gj *;{!CTq3#N>+ LJ И(@I|(P;E6BFl{ޜhYyUii'DfUnƪ6vu*e+f!;-EV;薽wڬifY%,uB UiU:.^s*J0T 7L"R((fJB)We6wfj-,rC%M*}ȃQ{hy'`6QeYuMmLe{hXoVd\,veͲh%|%8L 5!@Rt\4oSuSBmU4BY7}F+[BUQ[]d1*WBś9on舘lMCR V{?HxRgz{OTJHGNGִvyutiLm$zEMC"A@JI?+ղ2S.o\g==G3y&DZ0ҌvfJj-{c?ѩJ4vhSQV*W۩^ޭ̷HOggS#IWU9DAE?@>?B>>BC@B=AA>C=;C=56?96474563@G@F@8FGM=@;?HF b;8Z}¾Vȱx 래ӘfwY?ڏM6QRh^U{FҖ5[3%0rn޷Z~齥}y_~۞zJ$Zy@WsX"P@wHhEKĂmg+|8If&k3%s20R`, 65O0h :]od69@}m߲6[fytej4;P*o*L=L91{1L2fa/ ۨeo-ga3mAJMz >!i-{_x#Js]ߨgitN9휫6[>q,P"% y`kbej ZǸY*E=r^{o[k^5{6Ni Y д;¬++2^gueFt덈r1#ڛk\ֵ"Y24-#vN`n ? p0q!RWfAT&?\Mn'֚ﶽINɭhqb #Зk&`cr*]faT }Uג{/ɴDNq6$`ߡELeSl @Ale n?) i;emkEGK<`-@[`J aQ Sz=X6n6-Z- 9 ²hTdC1bGH>YW*ŪUylif{zU F4:F{dDYW <@?Ѱ}FR+>JMkozYsuMЫWU/*:{5`*/O."*=Q})C=]=?I5alӬi ߑ ,L5 !B(f?vbYδU7[VBr='1>W+6Z>վrnCnTuvY9]Jm%tՇ[FW)gDH+:JچZ{V]AzLDײgU8(oqjQ*M9LuUmb{キYkXZKVEq=}S`_`Cjlա64o9EySeZwc2f+QՓQdE@Ax8jLSHUvjͶһ^mۚ1 3Ҡfś"R;5cWQy,=u>Y]r=y=ssmY+n_ė%@^s∠d=2 QeMNTy{MMwkm޴>-\1Xz0K|Aj*,lUn)Se{l֚{v)1H &SK )*^lUΈq2kYM7ʹizsCAa#,߬dx/Co k3(QMoR*J/YZ-ӻzc[Z6fE `!P@x yیUإi92˫p+4SjVW8Ic^ٜUIⳂ(*h;蜨vFvVOv{o77@:BJ<?ԍ(TLzJ5l2s0| Mw;bHTݨL28ivJ''wr.킵y,(-9&6_B9_Wn&2ۯw8=QKӢЕ,\&ϟMQ.eo7jqS&3k J2Q3ȇ29YR)CFи0f(T4ODuI穰+/m-\drDӅFUf (E4x?||V%w*]\fQ9l1OX<ٕ'#61V^7b ͤb-VU Y-ֵmsmڶU\-tj׭V`w-!M  ?Pxw)bZD by%6twն7]mo*Of- Tuh G,`ŲBJ1d0 &*+BhGvgkB[. DQUBx"sjZ(?Jo?yH_:K(=߶ڛmۼ۝~>RK:b9IOhG,ģ1*׻?O^㔦HdflBca'`SG;`~gywˆo=@,eGSL_y^zgGd=l1dzBꡜ8[in@ o[VRkqDt .tmG}7۬;3J|%ڦE" "B_hf(d)yGt;%K7];#]]o-b|kJQ+xyl4/Bmu +)U_{r^;YqrDw*h娂NK6tH7Sv%UeTRu2i]ASc* F5ykD۴ZhFB7Eq8U9l6\2,m8sHֻZ06Nkp_o$f `nmkMlǪ.;; Vd,%H]k'SHE5ܙ}{W#t 63qx(e Q8Q/*l5pKK+o>~GltcoLJGpt|IjᚿaN^Six]\8Cźz3۞}\ "RyoɽQ #\;'7Z QOn mF5(E`IDU$6je b-P0 2$\ ހR(!㰷!Iђk\l-۩_bںor "f,u'j`[ "CSu6+b`![yk_(c>r:B,vTj^M:GqKjhgNޮj {Yɨ$hZ˚6a0*"њBQ/ZXeBDu.7KWUF]iYy76.n(%yK׬qP[>() @-u"M`?Qɿ\X6ٚ;ktꢾ&{ndҵMH t$T]/,qNSi}Jr{Vn-c64cP@wMM=pflxL2~7m={WKf9fX̓Յs˓m܎'?88m4WlGWc~-<Wƺl)|-«#r빍(}鋒QpM}Ovӽ>2cU=yNN[ Ǹ-om"wUC 6@En:rUSdDuu[8 ΜU0 Y^H&$Ѣ| OggS@#I|n;0#89A:F?& =;EBA@1523+=rsV ;3NR$SV̌~kb80E{^"ɒ [C"bdVze{@n[Zў"tQħ~OL^_FwU5tWޤ TQܴyuIRPw0&d1Iˋ-zs?f#5TPI~@[aK; vk9RMK жvӗJ]xW2c6S&o@94`\mxXu:3oy>oR]mc4TD£k3z*Nh<w4]]@drс7qLzTgr,UL7#F?5ޡyTaC׏JWgSٽ8"w=VF^]N~yq&^تÈv~&;5˻> DuRƄ>QU6`a`HB$ũ <$$KyA4>d*(P}M,=|73zid-t,evU P()VLu2`TIPѾ`^ɤ"&ɏ-eTU{+Ɯțq6zO e*hNR ޡ:jq_d .z.)ŭ1[Z;Bc*K m;ߨкaaKdI巹b% ZֻwkwOZ{j=?ӝxz,j$I. u,̾::^}ǘ :IAPTԧ%"ia Pt„g /@Q5S*J95މ[7 JtE%/XILH2A(6 ڽmbr0T*R?}ܲ}7*v8]Wl Ftk\u; hsQ7vx=r@ww~.X`KىڟzO޷MзCkE"m5:i'o{ _x,LY{cRӆ%U^a.(nŦ&~]R7~*(uj#aF %NNBQҠ@Ny^o{܎S{귙&?3hmMDX硨gu.͗>%!…ryXׅQ5[Idž;}hX:41o[gK0쩥m@0{2 0#@DXWa6*H:>TߐUEwr|1`d  <+0fqZ;lWHp̺mX_?}z\{:)g9A%)ѓ-o ~H+Y]~$ ،AۜeRdnBzf)kk=~xbO߯Hk6XT>1ü4L YFσ[Ռ(ۉbW@/5Q?Uzuio퟿Z-iXnܶ[gb&^0BLBl zDO*%`O#)Yk ;M3tuOsgc'dҢ* DV%v*B2/GIf|7H[ӨÐqS۶޶jFIЂz~ki,w4MlpFܤy7oتj]/0\NR@rJAoW#!"76戶z1_dnI5zOX2[mZ&! խVFaQ^n+itPKM՘ { mS1 ~ɞ{go.ioqqۻ6MW'i"ܷ;VtnJ'KŎ[̆4p\Ln5\qۤO=hu WJ>W]w刐"=2V,u YEaۇjF\)ܯ FVRVj(4%/$ݔUEi^[1¬W'ҚȩBPI5l@{"23Z 27j+Ml&d Lk*#ah>\etq]"S+]\qҵc" $S($?JoL^-,<|z> ImW"B\R3 'BT)*+ogV͏0Qp>OR͢,"HK< ұI6Hi$$1i?oq9_}v Ŗ1hc94hݦM]~?YƉ W^Ujz6?ykUϧ^dg;U6,a# ӈ4WTn]!LH=R%x6`o{:6JuMqeO\t@XPB[ #YL7o,aa{d1̪<鶏cf$en/S04:0 `x|\f  ! 4X`,N L,]+eTV~tgS1܆pʕm,bfg5 5lo19OWnfCOOt@P㧩JT\]G>sCD뺁Lovs=(݄FB!Պaq]Q=.| llA26_Vu˕ʭQ]8Z$enJ5Jb:oz&U*pUE@-; : sw@۝0c`8>t<"24`Na܄⧌w !pPPL^M2Sb=y>gNZLSy4e7 euS[z{7L)^[}|v_Y_IlV|*`wDצ7vďmw+·e2nDj}Ψ9Ygh0gw!XzLֶ9?4Bpexr VuĽ 'ۓ IGJ9St=0f+s$>ph^观K`Y93S"~#kxLi0 8 VD(@EȀpP<[:v^oWx{L>/!~[Ғ(:egr}uC)}ku+H회_%݈9/ǚz2!o鼉Ezr)M }_[R?v|_!iM%:N9dmՏceq6{1(+;_1×Tt bEHuŴfD0`LIo4ZY*EUÜt/VOggSI#I~Sϼ&E7FE4;;;<;?;HBEDC><:2EAM96RD8d.<k1X ѹZQ_f0o]w_o:Y 8j.9tp$fE) cd]cME ZR܋еҽ+>6@7|t#_R\>a# GS O9l*5@&'d9'^b!Tg:l[5שM{J++SuY4L[ޙI\6p,B+cYLP6Uʔ[>.]K1j{1OLqy9Z[kY`;]ogξ}s>KKU~n"B ".?)].m\<P\^_W+}ZV{ XT*UATnK9*Rָrst¥que_Ꮂ%PERЂ&$&:* .E_''RB^v0v$ -4K=~ė şa:n EPfqr(3᪁$l6}E%}G*-kwY)[mM5sSPYQ+ .<;t>(LWOilOEܸc7xs(ygD$"j gRMDٍjM-10"4%H(gDy TSASؒ|Wam[|leV^s2@4 ZAF@B`Pş/8JW~& u^EڌBD-n^P5K&Pj0 +?dϚyD*4d=ٚ-NJfoV'$eju"bCYl=Q {m7%ͻjfvͦ]IʍnLl5/0lNb tKULEN#_;G$UQX[lm~]yg뮲dZ n]'*?SJM`g" AeJD1D1xnvmڋaǎAͽ4tjĢ*Y.XJX--&ckl8N>,pLLZۃ7M=#[& uOw@ya=D|ZђZkeEA8\`^J gN#JCdpQ*yqW]g)]ՔRQnNą̨]2c{¬,,8$D\ ldZ|^a d:V5*BHSH{M^2 ȸt`kj济mM&lݚZc&Da% LPDA`?i)`?np(33"{kfx^pxP\k2[c~a"ݩtiza!!/Hqe2DY/c_.YO?ՕE8aT'[mw~2D9{xH6 ;ktxW[萇H߭GD%wZ3;is\ r/EJĩZ#]}oi1#ɍp(9Vh;Y08g.evgWO 栶њNWVbn 1>qt˺Fy٣qV;Mep$ǐ1@s=][¬?s̽guRlH6qmDams$>#x'H:Pz! q|]7%5S gl8q9;<1^SK57ܓ.kLB0U|m<ҒV|6Rw^L^PtE)/z"u}r;߉\^Dǹ'`22'ɍ򶜭!74SLuM#gXu\ n+}Pc}A973i$IikOس"fcQ@?7@keDx;4q8"w8ju|gg' ͛Q3\, N|{9f<橷~G|cG^2,=z?6щWxieEA]{r׫۞ymvl9KL\+Wޝ{̽'&fi̳ɤyOwsu˺4[ezvv8f1j5iڤ5^ڸwރ7vzzh8:AOggS@x#IAu"BKG;DHA1 36AHCA@BCPO:5%ZPIO`0N}Y6̼e5f+Vaj9,O YRji/ߑL/Y:[khX3JT'sJ焳tİN)hKӯN] wK5kj/n:zl6 q|Kl,n2Dh*=Yw*Lgٿ5=3~^i}R&` urXDo4w@ԺM*BěwVP8 .%T. ?Kwؤ碲Ż{hf7v~ojm[/W8r'qV8i?ŪB @˳b¼ ߷H±-meibY$ĉ(|dS ׸p Pί{(k;53f/:Vq: --R;/~YYBRv[:8L?`ke{}kڶ9mk;f..)1% |.~UJ|q7c8v^A]unnmc]4"Hw$^Zs((4`PN:Y;).8$.7Q{+ZdȁGΞHMب/ͺ.Z ̺q?W>Oe%zf|S&6H];dVT}Ɋ]ԟ6ӫ3/Y!Uh0Y?Ŕ w2y<`ڙVCַ6YEi9kysS?[49?%mNWk@y5r:ۣ\fFI;ZcneAw7Y6, #37W!.T q8Ad{W=7/>moqoPlW6e+7SvufxZ}w W ͏?.u}Վhv4Dty~/?brs}jxE)&0Y{ NEo7ecO#+\ֳJ!ߟs`ewHXtΊ_ L95)u#T؃'bvP[CKsUߘndJg].  >D @\̈́9@X(T=%=mޜos6ϛd$6J߇T~mKf3)qi>'pStg)Vq&;-tΠ, ߹ҁD C axtER=مN0#@(26 1FɮܢΎ|`&^{6zҙ>!ӣYM4xa<u롳Oa4٠, P;0uecypw`xPBj 9&I {F`83O,s̨Q @x/ةDjZ};~~͞.}|9>v9!XR8Jo \y7-imاQY=#YGT?s"Ɉ.N^n-L q.Ywn! PPJH /o,Ri[{sXLwMM2WӤ7Y Lv}<ҿIw69ʶĬٝo()G;>h߽1=;OEP"o$1>Z'үn?#9ۯ=0FU~f_EQV4dz<'~3=},Cv}Qܖnp [+%lc8AyMd HNS5]p9l`0g(C$'^+/0`$҅bԊN?lGqlؚ̇_C*񰅐qٔݝ {+i7: \aCWqN1rA+oߟkϣwJuWJg֌5T͛?O1WS{g\ZS4rZ|.z)alrvgb?v?*!Gһ1lˮU7b=8m[ ,(} /t!8Kc)n]Ij?[ϫZ-Z63lΦL2p\)\ʲ?`T5PX_{ˣW?Rdλi-.-vQtz'>]PM"g =O8PZ9Uw1=rHZڶzk^~n^#"(v2B9s8(?ZM#N#Sm"![yB]i*{oo7]l7 TXOP',- hMQ:}f'7M.|͙gDRQBo3)%Vlo"giN h@E {Hf_| J1 ofja,_m𥷦~eM츚,2G_u䷗Gu?M*kiCyuct7ʙ~ۜp{P;}V_Sg3fz=Ⱦ.7JQsyb9У瞋Bu]ө߭knƻž5@ 4@W;lR*Q\} i3tw,6YW.p^25f,_ǙehOT6z*>0dSOg⸋>h&k;SKxwķ:}%c};q[ݾ2g!=%drڸ޼;v- [uۣOgz;<v!Ǿ%9& 5}}/8un`Wf;nʢFSk=XC2IZKmZ6Єz3*sP;0&l0܂Vp8@Qgp>Ed )]cv,ޘ(Qʬ,{T g\hwqcsT|68w<7i=^rl7x ̑EtR >>դiCOtw6+SdE 0 ?"dS?RdݓTe9c0kڛs)9>~"WRj٪UUdM,+#!f3VLmٓ{ d.c ""yjSh 4Db5x*?_wbV[yU*uq*۶wVUZlJ(VY7)KJYTTE|d "RS{S][מf{+غ)t6Khb}iDqUt= @*A}v薋&z*.[KZ۶]_Ɩm])\r׉` "K, 0qm*&h읪]˹JJ2 Tw~/8MMvKegdS"3Z.lʔ*y[go'j25o[{yzL}Z׺Oަe]cm%1DYJj_ElWkO@:rJ;vfn˥rOn1էj\` N%Qֻɖ*Q|„ Se=6w|,H&6wk:926]v.x{x6nm!zm|ϝش"2߭6l"IkFYK?;z#{RkЯp,vr{چq 2KƆF7/;{XfÔBGR ּ=oqҏlGTj_lryjYlV%IB%&@'n?~d գ]޶žWT۶\K?Zp3"/tJd77Δ}g{2 ]rn[eyeuMVn& M/HQ߉U1Ѓ >rG5oSϫ?*?j뵞{d\4VYo Rx Qά,O%3ǿKz7"v0H{[|c嵺7LNZW%JB4@EtpXxBӀcMdjfJZOI]׫Hzo˫΃kZOv]Twm|Oet_ZM{o _U5ا՚ӝD ̐W! +bgJ|ePG=Zɹ5Ɔڞ^NW^~z[,^[=9J,nGin)y%#[>mSY ;mӄoohKDVg詞ʮ(YZ/k`]C'Pbo1|[0E&G?I$)40Z~(@1P:7SWX%_ ͨ)3S[6x Zû?G+{c _CoA:>~',~q4׎C]frE+#[tZ:=OdWnϵ}aSj;јٜۗϝn.3Q-k I}q13m^7Xv߳)O:商%͡&*J^AÊhĢ98ɶ0dxJ)NۚwcFzޞ 9d7 #*`08PDX9z dF͔Rnq 9_QRgNXlrws"1{S-7YؐΊ f:7=[.MPtU7n3})H뻭gOjuJK6'U"MOUc2u>ͤYb3e>94GD]ܼQsT&m[ xYyB袵ՠJi0{7M6I!@s06Q2 sSfۻx@slO9g_(h(0F@ՠ5; "U5tmH*QqH5va2a\l-RȖ}wVK"g+\Tw2?ּUJY}cl抔/S '۫SM<_bϥt_޶[xm7ڞլzeLLq6 Z=C$݌:{A\y6٬݊j͂״uLOX@*S0rC?|NU~ۀpQc'1F"uUU]ά|'(w™F)Hw'˷"H{t0W(\׬n޴oڽ֞ڰ[:'sx&G'`Gִ͔nWsnDA5wos\OglULTwmrRuZ$ "K }wo̽5}Loz6&~ݾM,z7+sss_i۫ɿS5;2Rj_kGE:6[ ,dޕ3i[[[b ov`*[ZHEx1t0\Yj]'B#_L.g}d_2ո *VUWe>bޅ+FlgHѹqf &HIUvE &KfCDLD댘BSh-LȀ!BTf.N+E]!F2ž; n88pO0UzHaNzXuqz5F2T'=xVW!.Rn%_mQ5GJ0@n3&~%qU(5,' x[lTKǯX3)؇ȩwttɮ8^zU~~׹ AteuTT&6qW= ]zUm/b𸬜_\b%v$pGT;*>v/e3DVJT (iEU%0N[!k`AN+D+.CodDYv /[ 0ѭۿ3\l50IԻuyr>,~DEC3>@HA%56CC@H:1,ij򬽌]i{OG37f&`:TcD@'t&UdGZOsMo3ʬ+ٿ;Vlj6w0-EEt8ʶtJ#q鶪:ז]fz]ltgRo|bkIe;Zn:o>ch}[z.h.jQAuW)G]'6q9)&b%9!43B Q􄜖aeBh*].ND4`F,Le\(]\yeӱ +k*:83nNe5} `azFh{7̱[ˉ31@ (C٢t6c뙙Tm_7hPݸi.QΊJe\v,MN J`ks @ >xٷD73MTflۅdjdլ)B(M[̠ȉDdt)QId)i;#كGio2%?ڰP>*V4`}}&պRW٩3^'?c7x)P(aɖ\P߇xdLbTK@7⵫z`[Yp#tV1^>g/"hj! i22  Sm劉u"{BBP,DtըfLӌQxu>A8B7sGVQ~t*! x@P} I`~I~6`!7VcJby}O#=Wҧ2|9Rڿ??Y?Ɓ񥩡H1庲({(cVLOˍV2f{阽e[TVM޷ѶSSJXs9R k:A[mVW3pwf6+f/ڧMrCRdY!XqkɅJXTQKE^ 5*(d4(@`0GVg } `ζ'?w}yw d^ċC(|>'b]">Yz۽#Ǥ>9"}ΜtZ-PXυ/ҘyEquftZˀd̞ZjI9*m˻}omnKjchXd&מ"2zgX},D4X#@FOCTWݿy̟;tս{-ޭؽ{T6_*'S. {K~r\f;dfm2%.b-N%,,7T^\T>Zw.ȀCnx\#WMR533,t.5Sk.3;e?_-)}6%Et,s#zgn_ 8)Gwd]&yi%hȷ.w,. zb_?}܍v茛:8)[Y $ ҞR;\pspeAMQ!$a7Jr(?0Ю& @ f0H[(w28Mg|Եh?̟f@"6o`zTE$<9uvOJZȶ`u^&=6L\+BH ɤ,ao\D_OID']two}IQZtroe;p|VYh錸_%%Q!d_V {̈́ux~1h!&pTVnm04=v=-G#\f=E zRY#V ,YV.AiZyIfflʢ߯޽_r捒x.ÃC_k9ygJ~(e\ؕ7sdqDR?BTwG8~ʼ)^UZ|s]O+?])Uu"{\âln.:6>B[ޭ#}ݑFO)GPO Me=JFF^X ƇYٛg+,zVfcN%1 %91*܂nq=5Hq|NQ XĺM1@&PS*CiM=ٍT<{ŶfLf\JtDh& j9-JTOcOwct6]mU$(~ӅmʳykcmffvښF+%h/n\EȻt\zS7GX _+$ć>̷<SZEB!p2B^RUMYZ#nw贬ZgCyrSH߆]P|~*Jcd?\I?]DHKxj2:{DR&Y]{Q !dhh[vq{Q(5P!dSQ%̰`ilN'$ 7!ˉfXCSɽCtV&$.ϠI\plhD x:  b]h=^Xk>{y{ߌfӱ>\lI xg%s` ƈu$, 1ݤګEW5@'$B7#p)eJ'OmuRɽ^Wڕ_KoG p8$ĺt5t:&=<:C|r[]}@{玚f P$*B'ވxMOk,ߧKI3f*rVk]áU4bTt c!EVMK =,s{6=1Y,t04:hn*5* z `du?@;af0`d2.8>bPꅴLUejāB}1X`or\RfLk?|:6][IyLO{6YI2?)o%.C;ul[B{fyqC"/kOv};I%Е^u+SH]CpU4J0+t'CkuLEF@@&.32{Dr,$ Oxqg0R5LQrwP@n$IOggS #Ify&3&JDD=<:<=lʍdڳjQmEc[EIČ6i2gf .gM[e Ѻi"#ERD'gYtJ&*V/6dɢ2DCظDVjn&.#S_f물=M3 "`b(M*aT)zfoHRr# eFJ|oqo}LCG. NeuPLswؙ<Ŝ9,m߬k{JI#QzG|%oͫgJ=^SbTZfyެJ1suNoĕ_Oc^T12Oe~t B:6wh-Ff-Mz/r/V Yڞ(ep=w©N6ܱx?vC:t[>2U #++*s}Y`9LPϛ*6x;ڑZ&7/9;V<f\Zs8=)P*X@ #rUU&#տjƲk]zU ]שY D2 2M:\F)Ai@;fc GH_V>7Q N^-|%K=Z r;~TmevRA1  EVKn7fGUL`1̌IE:5;?7[ v65`sr06#pJ{l9Q} 5Œz0nKs+1򳲚RE ?9ѷ7Ր!WYH.wJ.jQj6KtInnG!]n5xE)?"]ə6\6Lҹ'Dq;7@7 9`N0͕%-.4$P Y1>n W0>NsA`B lE7@%N -|T~JhvMe?}pC]$S.ZȦ hj-GR|Otu+eZjqˇ CPn<̺ZZR^j=SfWfӼadJ{\ԠFJm.m(9]4J'buOVv2r5mM;驎-ᒝXB~=C-ŷZޠh*qruߘmL  *4F fkв~NLʰN=u~՞.VMT3WaxHFkbUVag&、9p0d(}~z:!ٳ̰X18\6[:a%gB(YK~ZHT=-9Zio[I2o9n8r9׼ cndB+H mMr(J27uemaHk{#"k&+|T;_7Ry~,TM{ NYbEi-xa +Yv e, շ6u96eU9-ֽD}_ٽ Թ TfUhR,_vnz*jM1ITe[^W<~}]Stʆ*wUqч1>^nG$L,uVf^[uݥuӥ~u(ջj53,Uslݥܘ%di@*MF7D r\- .)@i[l WZ}.!z<}e.⊭fD#C~ӻ017!{1h9 = 63fD} ~ R Ī0Ԩ]\"B!O[LIFwzSSSff@|Rɫ}ד{oLwa;wodݍSqw onUNk^TíR9WjF9seofF|#ld wNuTCzwRZۘUwW9g0SSFg%e`ll"Ȃ,d5$ Xϥ-p@'C~a*]E$۾arddSv ww{ 0`;RZ[<&! J K:E<W/FA$3̔[q퀷_pjܞ yuS~mXϷW{C{Siٽ"UzOǽ j0E^qkuʕoss#*+|J_{iZVD=KRlf\yF\(%1W͔\ӃK&Xs2`0I,D<)VU1CF5h."5u D fChfm!cCD~7A>`)LH4Z>Ǐ8!ݵ؟Cu6*Qɂ]Nm:'1o|Ҋ)A5Âp5xVfoS,(IO\7&"<ʆXZWX3^^?c| BNV6=@zໞNcBek8VVUt&Kn14[ՆtnY tbr%5Lc'u/1ܡ˼wnqq٤Wl_Ko("(,J=}`DHoWۜPB};ZTUיl{o26Uoޥ R_ MM< ;3c`MHrwm_u}mG!Ywk-/cgVV[vzًZut' \cuX^e>x3FMLh8~&?xCrqlh絆մN_۟/V轹ߛc$yMZa*S߯z\F+-yeLĔf;;Y.T&yʽ4+>Μn20bȡ}Z̔ƽȝjQ"l|K],?[ĽBI\GG s׷ݾ9i۽.Qܭ4 *D)T9,( #E. ftfSķ}l|} Wpc >YCI7qqD RJn rJ?>vKI6LS&~0mn^NWol )Ϸǩ?U"ךyw/a[QکXsdT#/D+ 'J2'erQ)6r"sDΧʓD!eШ=>DD|Y W޸IK'7Bdl'TU IˉY^\֒qYăvl&AMAZʫ<W]y2s{Y?G#]I7/:!gPM^S)ɿ{YIwuHuU?ӹ,:tl3N<ї!Kmӳ6WNmz5)J kخEggG^`J$8p*Ꝝ[{]9*[o3{< s2lNlvgP]w>OggS@9 #I;#AD8E9--6:::; bl+rGEWW64Hܬ+_OP0{`-Xy6tV!}Zlwܸt5ϕ쥙 g܌~bv)OY_{3?3CLJ}ʘΚRM{m˲VȬeضv&Z5ж130b:{ 9sb<`6p@:D%h;A'.Sӛsu;Yy/ﳞEmSVef?˙?ޏy ip)Y]6c~mJ"-wޥBn~7:^vwWFYT}մm9rK@ *./!^*ƕ]t%#\]#RbquYkr78?RLWLeNӹm(a53^̒RdmgUD8klR'm,"|@p^Xc_%[>\q5S(/`D*pUJW/zˀxD|Oiмv `Kl[/lG;^k: #6lEuŇ=FF#nbf~*5ϊYb .Zu:R[s 9ו=]/UK'b+zgwSsŶKkidVĂli1k.Ҳ .K[ТjW~g3~__ɗ{VoDMz`SAb3/3Bs0p#CLޤyOX6m!g7Z7ǤSF3~Z ^(/V%BHE!r2=cVM7$3(5[+{{r`6pfۍ7|9Vү>U>>BT>+RܞD)ʕyt {WdO^i* / e h0rqkd $$oꍲO`oj~tT6|_·n#ƴ9}+'82y\|W[Oj3}n>lUnQҤ>pqk$*gkYf:,:ȋ >s};}uԯ}Yw`yCw̋@$J̙= Z{MZn!8VCk)mlWk`lntLF=nU1^g>//̞: Apr탹?̍ܙ8W8ЁUȢ _I6o0w)LQkfjW:=}^-u_={Ǟ}?]}a^{o,bi$VzFA~&qW4 ܞH]:9ݺ p Wn,}hfH5r*q @UstGn5X ffa,>D󹽥ddf4Vo5lTwMOj{ܿm.[kfB- LN Y==ump9ZJf+vFJv,9or},E}ÈbmBߊs6w2:RqSV{J)smM1T PΨ.[}qy WIb,s6; S$i#=qӹH*7d$YG!-L'dm= LV[Y6GcFe3ξxha0 k+,q@Uے)mofF _19l,9+!qzeKe\_3cU[ea3O5YtQ R>w]ܾN=} TsW ѥg,绑z:'lѹ}3+7+hF5USaq;52gEW-r"rܧl*ci}`y c[7ʚ,\phdiZxcﺜN e@{+.f妘aVA .ޫ̖rԿK򣲇'HI5Tc@y3ޗOXfO󯓑sMCj^lKVv P$|m(/ zj՜wUSވjY;3Kܧf|_n1+](٬4oX|^2n~MVN4h-m"@m:bK31qHLMuw,:[nT{,h0<`Zǰf@kڰP.AD )> c]iOjWVF u(33m=4KVGSr wIK~Ṫ.z^7G5:5@ZB%Ojp*HS[r!޽>%&TxȧKv2SiksO54RUy2ݙk5|EW 93mgmJ:azw4t~V >tNgmAm-0bBoOggS@i #Iw}*19455@BEHE<;;==?DAIC,@:=9ABFF@+/SDVR0;vDHuOȋbb 3eVr pږfÂ׬kyxdRfPh7l罦lQ}qTrp(w,htZ5fH mΎ1̫pIW)Nfw\)r}jk>9 uМ> lj$C8WSt%2M۸Vi0,O3*fR`$3P$~yoTqQ74mȸV|R57`;iUhSf4[sH Qo@n+Lf?gǧ])yUVf IuW3ɉɉ:]}(gsB=1 fBB\i^kzu: f0h)e&~".a YcfۗC'g+dI.L҃aځėGvJi%{,ʭ 5 IW45,g kk얤sПg3BvZ[oX̼Mjq2a bMN_ Edžv*Q-Jfmz3&9g4 "D*]aO 5cxξʟK˘:.£ԫx.ƌ9m8%"Xj謺Yzc8MHN^7WiW9V3yۍt@hG:me"4-<c)lOPUf]vI\i{\۶˖vוJ TK-T[K* զ7sϐU>B5-mM !rZ%||}$"qn6Ng.VZTknڵH-1[={ײL"-"t~bGvorCN%l.vlm-vZyڊT 3pz&K:"ڷES2z󒱲RV~@iï*Pm8J]\|?Vb? PI)+VjkN:tib^HjDGyT%xpYe*~<荻rVFe04iΧDG "v~9&oiv_i檷9W[*8/lgY͍{0/N+@ثLk dxCQr*R>;f̴?axX]{! P^3(Oе` (7pLF#[ EawXQ 42+[ mJf&5f5[ٿ+q:NC))3HnN+>^̔Ktu@;;QIi:˻5mDIS++6ƀ^'6U4~BZ9%I1li7tUTYH ^TR:@c2 ==nbϰ{I88GX' 4ZK i!iǘ;Lޛ)oApv:̦L jAiz@( P$4'PXIff̔W`4 M^ڕkuyc~|p~ݜ2/n19]Y?1B0#ɸ2?ʕWV?1cnΪ>%W#6/+ns+?js]ʩBq\ }՛dͬ_o1'vyuг6yyw/7{Tٺzt]̬g_&Nug2j7 7'(',Hi-XB)Ϋ7LP7\fVfywޥ̍Yض73/7ĺ&d8 ejǐt͹ $P;xF HYI||׵ߍHÄQ3SBk?pF.{Gz~ͷ_onjw4RYMk&u=Mկ{yw)W:lMZG٫Vv3A7*!DWޟ(2n﹘)V:2Vh26]\E6 k Y8.##TlȉT2D27e@s CjlWőBI Qe1j9{LdGFjdU)7OːAVW*zγΨ`gqV^-7fO NJ""ʼn[6fH]@:*QjB?/d\MW<ʇlrbp ԑo0PM)M`Au,Wr쉢kf "]X(oF%CrA2T*$mE#& / r)8OI=d &!Ѡ 4 T] fWL'HqJZ8⊛A^q"Hۏ h:ڶ 427 Mn7{X2:wF\\(lI/}Ao3*JR!v,皁F̼yJe˿H4ϐEzL~p_{4}4wuQ DxJ@Du4>`8ؒrWfЫ.ǕNPh)mبdq" W ѡ$YhBcQ ' qZLOpjTBQh..+JЍa7¢3q$cfTe$@8˦ B¼Zj{XƓhk&^V:Y89.)S@O~HQ%|UHnh8"ғnN8ؐj03G YdLBoYv*peɞܗ}]_9=-G  ‹^WD44H4 MyE qWDowq˺< tꈉ\lQTZKUQ݌r )eVeZ#FV@DuI$RIl:\VqV$baOggS@ #ISe&6?;<;;:79CF4=:?@DC($>CCE<.342\sk`ܻ$3K F8˭Qv5 :*D>bRKq)]{\As`}?ipM jJȻ<+Ciq;g֦lqԓSkuFgGE@Pa8`nڲ^ :k6_F! ^6p1Qwnz*7-][JF,bw d[9L4A|׶RIB ql9{SqJ)# ѷ NM]nԢCʆ պBQOoVtߋ2gI3PZϜDL+aJ-Pp[EhEDïxOTTyZF4Yn4F`2qL.UYrQ|f?qѽCXN5W߰&ok?-]7/ľtϽzInB/~b(^Z, |$|[I讙L{ͦAW(Z婣zsvyV̀v;iG>ffJۭPy?mBazq:l.oxs:u5혬ǩ`a#="ؙ&$L)JZWV;E]=3>йcK՛dվjF,nJ5[1)^nٳIgADHWEF1qbe2>reFZ*)eRe]/>(RmMd4 RJ(pQLJ*%df^ vtgN( |̔2{p0`#iЖԴQ8vUܷVs^B&*7)Zl IfDe+_ӳ:ԩ*3(B2},h<^0 3# QZ8Tb),-֊D{[mTQM<иIYM5Ӫ+')(=?%J宣ȋ[N#Z]SȘ YFvw..8b"#bJg-BV*&%u!~ϛ.Nt차d*VZgLg%-!$@)AFVk\\А ƅe+]?Oҩxj@wK=|k5LF->) Ҹw'& ;!_9cU>[؍)ԭ زbeŪa߼W< IRQZW讦Pq޲5 )EI yP,]P?!i AU^}i u%Ӻg zMYOxCD"ʰNWJB>s̷u٭Z]^ڬ{ (RmkɬV=&~ѩ(Ux{J7,{>GۻLmؖ5;CTS R4H@Nԧ5pϷl(3 ,O3.YmTUIl:<'Br]e3c:PBpmE.zU#K#j <2mCWkP(ƹ @ Ѿ*J 5x swծegJ微c2+Zօxo%z5n^ IemZUoܵKV(A,Gkr5p1D@3J*XP߫Y_fԝ?-w P;`*?H+}-JA6,@ITeX΁-IJeVOɯT%v@?WBą>Z`;%s?="BJ>S:WH]Ke1+܏X V"WyS雽YWIwՇT:T8y|5~?Uy6>3Sݬp6..ۮLu7am>{nb(a cR׼har4gjJw fz Zu ^Qƞy S . Bfω*T*꾡~ F"(u]kABp\6eef+`$}'ڶ=\$9{8pTqiVmoB}*^z '&u}r;aC/i8!@ :(ǡ/zk?,k"9w&~՜ ҹr*[zgsZRB7# 9@ @':X8ssg=ަm8&kX0u5;]7{FPuR馣{~ht6TN=u gTh @ouF*^2ff$tnyI{ u-U{@4R\:aʒt C,eaӳ}U.]͛@l[wmcUMwMm[)|4b) K=%-`2R{u}I{]ºJn-m li% PD=u[&5`֒f$cnkoOSFaq(k] ^ghR !LL>rw);.035Of6I+,61/C 3Gީ~iPuTQbdbdμc]̨FP,l5.yܖa|3!I7'վN\ƌ1B ̽} 0˙JSy!pVSafDWޙx^z,Ǿ[sgkTBٞ]4tFn*m(v4B`wk1Bt䝩 {?#'nz8 < ד: 3|X΂W$TFH?&{6 Xte%o$V~977"z{<'V_yG#I,7WqGVTC\XqV\bZvۧ.:}wTѺ#^TR4X O^T:Be[7G3-NæaIZ68}s l<tMs*lM=m/^X *TΖe o h4+#-yjw`2R->>nt\dR9FG`!XJlKv9kAiK$y23iej2LNY8%q$^OpLYUW>߽o͓X@ebs [J Aj. M}J9?[zr~q(=foB"ym#}."BkrJ׶iYm +'u+r{!hJ.u\HZ%f U}OggS@ #IM&6/B8DJ;>;>;<=9BCL8+E8;CFFQ4;esrKa0 3@Jە6"k Dp1o3Ý${; ?t pI6i &<0SUVfMi8˴tʵNOs't3oQWawMFO)Z.!;>Guv.<\ګCZ%؅f#M;32e::M_D͔Q9QܬT`ѡz1+*V6lǺ,Mבb;X)$ཱུ&50r/g&:=Nbb^׈Yu_\#od󐍴 dXJe#A=ar@`R!R㭵ۥkFf+pSɮox73k\k3[A~ӽ~S;:)DOLԇJbvmw2xSԓR=WfWU!ֳǡEoףq*=]tfx޹ٓ_}uybnjVFc7.V/[^ T[)LӔm&V6L>, t!3y Eqe֖,>7um۱)Y fh1UCvMYEnE:4 8cQN%X &IRV~4KVu#&]hV-{n(?o|Bu8{\Ru%u< ?I(eA@RUwnM6#Yfn{mmom3ZD \LO3k]žp';~g3j|!<l:Sov)K월ݙ r;MdRrgy_YWueN?}cQ7gi4HnhMkAFh5у.v$r#DCC RuunN:K$q"'mYWb!%G6Ybܬ\9&RxȂ4Pk׻ǭ0Ƹtl;@y5Z>pt`7}k.E+Ql^a3JA<NuNtg&"ȨyXM%̚؊tƸR*z%K_IYYMnejCfhU[]gqGmjE,~Ж_Unヘ˹ZG{ ke̋ѽRtx&>E9 9XlA]/oFRǮZ(Ű[-( i*iPp$tY¦լI5VHƊv•6+ J-7 k{;؎ 8gW(;%a> ~D`Dv̹I]ͬMDi1j=q33+ܜ %12@M{My~ESKn$@28EhUp+ծuXZN p :{5fm`LQAHϩʽ.U!_Ig]+ Tee|}YfßkMSLQ"86=Urrrd,n1GN+4Δ6HD ,ۘVlR FlkYq ofpCzJZV~8RZ0-\3ZΞ1:wni,~&{kj DU˜< HaJq" J.`}o[ \3L^׊})KjFtiO}zσ "_EuhB%@Ey {V7s-o#TNCޑ@AA~C)3Ys(Ѫ Z@ŭ(%W󑰛90Bswՙ 3&Hp%+3;:5Kr[AXx] CsUmHoPGz, 4AY&*a4anPVCBn_.84: شq!:)Rб_ui+W$7UWvPTb5aV%.  Շ9H#R!;] =2tvw7gl49:NLg@_J}c#^8͝f=]ʪ#Wwd& Z4Cf-@gKK)K@Bn?88rB^cs%{؍vhdI@N9qÿ)Sv0dgRW-HB]FjV{{s}ٶ6Վޖ ڊU4P@zUCދt(F jԔzfS֟7~:O>V2ܒsQ;7 /hjY:%3[ښƆEg)ygL]':f7uN%ʱLde/=;Y:T6&̎}v23\fwrQpj{y\om:4>،+KmKO Q;7rDuʒ+ 8;)_cݧT.Yzvwm]ϼ2o^0sUb~ٙfkwdT7C^N›@"omqPF5\Q7a t)9WVㆷ g`WTPB.TPefFVm75_5[.*,sCF{`Y3r՗y f/40`XpdK]M"#@2n`\W1533ZY~+/V1yYd߽J6[{'Ttl4D/?^W¥ $vJ%q*'#O$m$vsf׮@~3Ht5rN+o{zQ=A)1 #}}ݞ{@O#DT>Z349z]=;v6F=,;kOggS #Ix1*??EFN=@>BIB&&6:<99=]MKQelǎ-xsW^FHNY[_o)̧Xwm2Y*NG1*UfWmd{&cZ~MKmcʑv+<02YCcS,)Ekav6ތ/gYsCg?E]0Δ1/ܢb̵·w8j$9HQHzZ )b"*l{ZsDejL~HkYlƏTӻ;'oy?tjey+QF1 CN YVBfiμ?zttswN#nfYSʫWЈ*6CO]} :?yW y\f׬[+xC0>b[)MT lukƛ|6gs.O>9lfͶ]V<߃-NٳgYYL9eEfļc1h \zȅ"!BtZ"(Wpۺ2B&oe w굷ݺj{o~iFjzJ*LJ̉9ON$TUn1$W^G'ԀQno]Mmջ/klo\p4X%mrTNw%ȥRiOR<:c?65ިu?5ach`bCnYV!>["7b]OFد] @#uYrJ]E[U;> Ȳˆw|39B9wr>j^kfky6'+ :V5+C$ߏ,;{1\-m̿ܲ޺Uw2s-n|V沴+%YU!nGBh^D%<X%g^lmy5ӳdRfqŘ"J4;@+[u*y2I۷ |S8ܸ-n>.}<ܝj6|W]|_W7Sn[gSxMTfUPitݕJwљOF}Ѷzc2KkcN?B/To|n~=ߧHTf֌86N/;Nʫ@oeβLښhMT;xf"MeԃURC!л.yk:Y׻j.MHM#ZXˤz0 Y1q4Wi}QLMH[qx ɰT|3o}CȮ$y63JY{W5vL?l<|rkxWFҴ,{0{m9t7(W=ڣL Pr# z4n;>%Sev+o&qfr#|T=HH{ \L_e|NF2zy͡W3F@SNEcὋ#BԳm7p ͆쏛=^qCYÝ^^`0ԹՐ # 9 /$D"x G8^,xuMdi9z;kkjtJ7u8=u6nBM%xt~y:zQB@F+}^9 }UDϢ6'<+Jid\E 4 `bg9-2U_g'Η_/r[.%].{І{r骿nfX ֎0{p17ʁS8 b8.֬ʀ/ E8ywcznj1͌2KEҼ^dkLKQgOzߦuT1Fr0\JFOWQ>6-z”Jh(1qN>ÇC.JuQ͊o#onW9no3su~ էT dؼrb,|n[sfГCuTCU{Lk!sKyPE#rl@wqLmhuw2C!=6AcAi>gE"q7Px'I .sPZJJ(%u9w3cd3[bqj.)AnƉTw[pN-B49![N=lجҹ+J &K]X'hV yRu?b:^O}E? ͉Z|?ZyV S X"TST Y8*Ʈ.Bc<ȸJF12.mOw5qy|>5OS*Z-!81$;qy☪2x­멙5[Ͷҙ)|Jo ~+mzc0fx QlԄ2>YWEz3o]t~ ~l-;RlrvJ qo#7؊Bnm~nt=5}+f\J%>NAP`٣%g C:!n{%hX)-D[?oMtIw4IBiCbfxMrzLw:١LU먷ge!z:gVlJ\EVilUY[k%RpǪ:1JĘJ]]U]^Ziݝ֊SAZEosB2Z$ Z1H̄Wwlomo7;oQ[ٶv|vY7Dg;5\~sðG7+UEfnvip\J^XcޭhMkڽ{tj,k]Xt@KeD)rʟQo=}1i7f~붧mS*ljWDI=O */@?i&?'0&1/iƢ)ҭ{{ec:lD@o< B}A L73LUhGU|8ʈ{?V*L0A%'[pi0U{-.=:'cVdm1ΩW/2;j:[i_[q.*ŴUmQUFxd+[ լ,cwv"Js>HaoL!rcHEC`Haܔ=÷f6$p° B pd֖\fO_=`MW7C0礙V=k`T=yOm=@ƙ!2cPsZ);\jPARVR޶s:cIffJM# Fi5e77gw4O?b\W*iq{[RЕYY:9JK#GUf|)y7{6ʙ{ǴɔBrdpq6+۵oditvYN}J&z:UW$ &"'AH-6bQ_P㴋bp{R\䑵|6ISLwcf`r]SpGa )bǰThfhRIKf?{T=ߎ,vwH5`nH:>>)z뮭ll*uLwRC8ey#dt6igyPW)_{q'|kDÈ;0˲?VĵG]T8-w9;VJ͓c`&ڢQ U +u1 LO:0(@;$NKRGXGvfs=l)ͻvˏJ,IgYt:p9ɡYL+l^^t }KY+W\j͢:e=3zlNuafhlu^unR1]F?󲚬T|brs铳N㳇<}/rȷ\L&! `,U4u@lD—ٟ+UWu8l6H-|6`]U {k@ߵˎwQnKyKJ))*=.*uc7?KhA s(j#dX []9l=d fR΄bov45v:oF.ConYֺ&[<&H`3Zd9e|,",DfurԹ7zVe)Sbo?XC"ҙW,f2Tco^z^z#e\X}uwz- #P'fEF*oIеOl]-wj[%n,+_nW!M,Qa@\{Ǻ .HFR/pѻ;U~eWWKo:qm5Wn^$5c5j䭕nSw'1$qiar/O74ꪫVp$_.}/B|mϏ׼an7:N]tqUf7Ԥ~[=nq!S\u~:i (|TBv1hQ3bEvrRQ;M!zfǡpV,fnuuD`q8`â+R=4i+0xV' ?]xn Rkк%Q@G^LB܅8@٩jsy'd}0<PPS*+˴?eW>=~Hir|pF%}s]Jtߘg{oNhwa1oVMݭ~MEϱ…A7"z1r{{*xa윮ݽMymn!|cҳVзDgyP nqĭ˨&'%lbݮ '⽶-g\OV7{ tXQu{)-U-F!l+>tT3csXT#Jm_SQ];"ftTjwO߇˳okc#ON):ɑnΒKd]r$㾸9.ķd/-Zǀ:lf_[]@ٶHAhPs<LEF`) |>utٸ -fƠZ@Y8]P.)曱yk+9OWTbNJ6 *kcȃnR0|է򪦻Ls[Fk{6x[^c ܻ\eBLu3W?3aJh\w!*Ʋ1O]ͺWr'זd6rSdڌ?cny`nuCr‚RvQbYUrvŴuVYMصYUEQ{ejjpN-RVZ= w﷕{s;=8"[m\o^SeY_q n"sݏ:ǿųM.eJx}}QhVLwM͐3uu"V&B5n\K .! {")/[KSOBtm5`Vfg9b'ge~,y0u\T7)mb2]n :Y 5(ޯ>y$Lx6^@ +f{v,*mэݎkk0&K{tGfLC;, "u 24vH+4мZ_>j<3uV?~>f98uVw_ ҅8%eu׳+Zу]uT)^^gaƙݷ;`Ob33?( "2#۹lp3 bndXSs[RFs cPC|Ɨ( |v%!/Ǎ}Yh:tZb}u?+d,f$TֺNr|k(#bn^8w-W_%3,^I#.4syT MfB) +Y<3ʞ5Tw񶃗Sщ=r# 6cM`yUQWQc-V =c^?ŎCY*-: 0 (zԣ2^PŸIw`@iEx8yHfb05UeGh'".nZn>]tZgK0s/Ywad{ΧDO6y0hzNm^ѨDY^flyʪf9}y]u)ދL= &<';wyIu#r]ϥt+6H#27q ql3((f+ҽe/W6&pw3`Jg:t;ԚװІxw7قDB\-]'7, tNgTpk8:!z[c2c1T4)fGu7CkSojlW ޳`x lWbey![P@gBWKX_.,?b)ϕ~U\pgϦ^4x:k{zeR^)0ehbI2\a&R'M$Ln?/3dkcqL~Ivfx69p{2f~_r䀺9ל:r#i ꩤUۨFWEȫE! c#MqG!~)*UaXUo*zVTƥR ]KumZ.d,ɘY>M$`]r1!ҽ;@%a9U Ipwm\=6K}dbb("@_W@b6HF!b1un"nyg}PǭDjl+LBփ䁠P Ҡ9;v#3%̨H^h^+.o|m^flR#8>76Sz{L~ref`WtzO;ˮvg2L0Xls\zf_[ʔ3UطJq1{Az{ 6i2&++wE6h"rtF3-fBY|6KMԬŊKk,H :@h6J c1bq )XTzh gXPHLzGiڎ;PswLѻ C6tNRY XE *BJ$G8~׽RlykGoZ?eY n J0 ZmEZk`l-ڲ¥#j03jD*oIǟy3?Ve\tNvʖAO'*){-lE'|vzyCmJjXݻqKߵ~,]TNO_MnCc@jZ)n :T?/jMj^eyߪXU>HH x]>1NYnlL` }W*}Pƪ:a7k8Tʷn~ܶ,O'QET+ )cr'u2HYSέ zĵƱMh| )g sֈvi⹨G,,|G:RA*(<Z/q PHB=4@D7] 71 : -*hHd 5jp M!SmoQ%3Vr,N:ho/^!IWs$g~}Zou~fL>^c7xyh{DVvWɻsUOiSp5h*F'tڢo6[Fg;;ZH02}w%}94TD羗ɬ yc3c&벌z#8|5ey7j:-osW}sJ֮I##67-f2A扪@:JYn,yϬYad08kn”ޭ15eVΎfd8A)m Tȩh(9Q VTɅ$a^&,Vɳ!7&6 dvt2(mh *3Y[o`.ĆS[ 5 nSN1c?3y1h6) [4{f|Z5ܐi';^>JM>q8\n1p '$kvqitagB*mrrch87+OOgSvqs:7WR^jqjMm]Nkt>J˘}]BK6ZRc-+ ij%MYɈNCث&UtD`veDEeSTmZEJ$dt1qq(4˙t/.(iOggS@!#I<%/8'*BEH@?>;==;ECIF9)9=:@BCP5Kg60!@3O 5DAa4> ġs"d7&fm22dg {Yc>:W̼Qf2OO8/׋?yK+Q.xk9tR}XU!S2?αc?흥Jeow%ʛ%8Z]Μ[_7!2tގ")BDFlO:{/`ZUD8ە#Cd!*9l"q#CXK?nh L~h! fN6ମQ@Ͽ} m1- F,~[}2W}fTU-Aɧuo~lh$^b3J)W8<Yrnwhxxw;!IѠ6hDv#zWw^U>zFBfdvyOMg~4di3k_3۪klt'h%Vͥ]WEܞ 0nl縨nߐVD8`"@Z93-:#.:k3dӣw!Ӣ¼VϠi4DtI/ fOt@icN7KVYΫ8Cҵ0챟Kϫ彻a'4QޫΜ/TFH@i+Em"㕎)xz+[ۙ\.!.ʟDIÎ-(`64"Dd@wdA(]N7u]/ PxHs .#G#tUEq2B4P7)Hn،+":U%ٙ9,A%F$١ i,PUw/mcQ7%l jw>.ch͍Ƀɻ%F͡ln5b*>c5(C7_/PFy50#/)~oysdޛf dKYq(}21T9k`/fl @Q:tl#lEQ b5fvj:j9V v*8ູx[b I+3Jnxy%Wyf,cvD777>7OgȿynD4 %B-]v]^ 4ZqZmZE9 GGW3zt\tgqr?U$@-u\+'r&Dιl~,WUDWVJ9UCi##;r /}R Lhiܢ/$8K.aEg0b-6]K(B `vSmm8憚^wV\ G@5Ec.o{\#NVR{ >RBPzKjr˱{S,K+uX+4=tCu _CPo6ẑt]ss8Xkoor&GŠ8p3*C5%֬X#G(ns|})m?#[C\ecZdN Ir* ;WC /V%a]YΨ3)>HCPÃ&G KӸ2™*|_ ڕEUf+=ii,"&\e:t-t#A>TCdJ89ZB>ߌۈîPֶgEJ6-F! g@._XRLG;Œ0]+闾k7ͺ65M ff^Ц^HNb+eq|M=xO={yc8)ΩL%\jvʆ?KO"\e>)3fI+yޭżgS7 vS&VȀI;7H .g0#7_4#z]]=7oٺR9tӊMOHR"BF@ ,r6 `Hޫc*L.~>{Sz=^BֺN=rak3F[`{c^_D޻ϴbx>Ԯ&w=WmԘ~:dCDODzPBom;&72EV@'g7sHh%9"rDFEqAtFgዤ!r@ }C \O+鮫ݪtFrmٽuuso}ҊTq}6+=+'2TÎGAPe%\@Ѕ@hZq4/֫JdD~3[@4( e3fqcf a[.bO tP邯 P ! "YSL?OwNJ%(3SJoe+5 v'nks}fl^gy[@וΏUOX|qy)I^r ,!<%ץ:اm(v.*Okȹ3;DGh>ى<;-GTZ#23S. :;ldf*cKlFw=ʝӲ2R P &tA$h"NXDW !"l(\:1c,0aXAÖi1(HU!?n0?9pd"ŮB5Bd V0DP\1z;72;[IM"ukh܈\G:A. w{.DK'緆ih7zh b,5U UJح >5% c=QjKY6MݙVW(LktT\sy_?UMIq 1J*W*}+ym#:GGe3+溳ZtPѩ{" vʏ%Ue{XӢch+J1d$5T"{W}|ꩫhf k*c aJvc'. fHPNa JH[;g_.k/%͕}Aۘ;t6|N6E]uڦqy~3:G]iF{1O {7ݎFչ[)l %til}#h@תy%:2wDnw ^'DIa qMWn1v^=JIoʪhHAc:qcK=-)UYSo8,siM8qOggS!#I`&"@>[UOFIO>3"I:>\?hYgf8$Xpk9(0sPAA(\bM @wu,o7s7I*q:2>crE^+7, p1n#n-t Dnk) ae8٧0hּI.q xT^Cc@*in[BBIdgr?0ofj&HeYs:H!Ur2fU ϻgW,xg>iě7SԫLkb+O12S{_J#wgOt?O/g*ygG4ޫ w7z?~DWG-|ld*g#}d {Q=6\<ћ]I6s5gYg:}Bhd*Neܻa^15=J}\ܼ;պˑr&h<5ԷK~s+ !Zq3Ozfo*-Ƿ ٲVi~e Ut6eYٓs51`8}Q0xIo48~ P0 H4P@%Z:. Q KjFՌE[ t~G(_jCo' J3ԕL2#<:bvIe,Bh7"ѥ^sj^7u֕msW6T SBDnFS9IRGN\Yg)f'zG3_SB+ 'i sJG}MޘkVV['ϼ-zUi}:z䍌Խ^-t4Ll΀t|@:㻣QRyOO6LzFb$tv,KQfPc~F"GNybf1&D>v`Ƥ4ܮ8R@^4M:CUzVW[Wݫҕ&Z@D^כB5Qd&WY"~=ӡVPQ0f~x&84J^~Mr^j ϕ;ȴrZDxD ʀ8w{lvVy݊ ()O/_妷ltcˎA5YOI<>wc($udK7;Qɓخw)olTz*g#8]LuqY?kuO7gnCM[ žfMm3(~siݽ(FKRz5/3fMeAdɱ\="fJ9: ,-p/8Y) (Ut̪Fvru_klmWϱ.5ɼQf&t`ȷ>żq޷qu告Ϛ%{w//ƅ=^ E^Ŕ a!B(T/F LS"ٿ=}[d)$7c32_10Z;|bv>n!wc׼~D8/>n6gv^q7ތ*w$. Ś:%ש1pG Z ࢟iJmPcbo|y2oj+<,ݾI$+`/!ʟ ڳ@JUUnZ2Dd13Ʀ*S6wܫǺz[56fAee'|8 ZDP8T}\-?_(W ϧ޶=hF7 |NWQUQ-@_!D hTJO}wҕ`1ř^ۮMwٶm6flˠ7ɔJ,dvQv"Kj鰻\ۺm~ ;3{eښD _BF%@EXvjpg+lfBo5eƚҶW߭3~;^v~D>r\f{}ۧX(T*N*ib'Qeζ>'NwUm>FEx&KթlTuԽ"&rv1C/ 7Ґdt56?juM8Q$]3WQAvL1l1nগ܈te"W$,CebZ4&h̘T&JE7)Fo2}cOggS!#Iu*4$?89999:C>JC9=;7>;ECCL$8<:@ACBC+Jn8oR 1I zMb\`TMl.^MJ]EluN߽#pMkBvHe؏_Eyȸ,jLSO%6 iyAՔMqDiDDvY_Ay x!@}ڞDCV,={ث\`2 "cFV1mi0b+dwDKv`/@4^^ˬ"}¬]12 \sQ3e*ھ~"+tZSu$ N:}޳XHܝ4M^z_U~թ9P4XG@3]v2TnMXz;⋎ƣ0\&D Yk6c#"j=*?(Q~ons{ <'޼ީ w`oWFOcvCw{nϰ7v3c{5g7B+^j) ~J R&T`bw9IFMU)UVL[ƑT8 g,nɦpyz|coRV?Owg[Bu4sW@\B[J[*d!+!GRug{ܰ~\3`^6ОYѦ.;ܬHeҗ feY< E}fbTbFV}xJuYGާ~LrP[u|uen(_=X1.w tv.x/ג{k V ޼`֩֘'(]u3Q=̨R30~r-,.]XX3NM-~uٚ uQTfΎWNk;˦(t~{+kj#r;vJ)Γϖkr\׻:[$ri9ͬhxAaN%]n-7lOm֙fMb6g&e.jCy5Q5ZmW"g"KwIG74Uo=suA'5ZVgiajG-{Zߞ:i֝5Sۄ^Fě:M^V0w{J& gfs/a0T*]ٚk9fc'EZ+6ў5V,4r t6]+ $`o .)QIֲ~oцkfݱ6o5f8 JfN]T.ƾڼlic2J̥hmYne9Wz) ;jQ,ҰS /Y̝bTt>o{zn{Vmnu=KžgX-^uR=2p9@/(O7t^E 5wtzf:Sk \߮{vjoZel+F[^YYCmŤ[oF62(A_UHWm913I& uԫ;2X#$S6wt9gŒ۫vn+w w2yVpn9=} ex69+*:ը.=Wcg E,X&j  t$@~W'X4b_`ߤF[ uuFrezP5 )MՄBW I?)Hiۅ}wS#f4pӞAh p*`di(5 VTsf&^:ggǶg;y5zk8qJPaV+2(S|4;3*>>~1=*=]qQ Ъ@6h1s?PU#-),PطR7z6;%Tb#bX=0!A]-*\1i*U|kE (&S=lweG5j"yURiһ6& ջ;vn(F\+PAҪ䆐ަP̣e_bDS繑˶Pwif4D!j #NBɅ %R0Ra'^U*I͟Q:Zyeiizjf-soR!#A9ytDɟ_LK,0͋]>̩?ŨnA<DZ.ep5^M̠tlBDW(]"'+U\B,ڞ<x{F%jTiooqs޺vpXsͼsL_-1Z[_v>ݒ|8Woӣk]ҕ?9jWœ=3ꖾ;%tHKFTw$6spO]з!b pSЮjF-KEjT\TX\j6e8OTj"XpVպc:X+>xNp_ Ѐ&X;>uқc:<ל30~Z`k3U|0f3k@dݗkA\sd̷+f3S-]*#n6rXCi4I xJ̥ww&KE[JU&q%U-_8Kr|.;yj湐LB9!D kUqV{ :=}^v(*G' ْԽ }4wO硂ѭ5{Lf65ĥX4GH3aVg18q35T/k Zf:+vk\hR43>H]PrEZHy,@㺏̘Rvo?i&Ӥ%x].~ޝqyW5A^(]h0/i;6_?MM:o۹|:wz vSwޫg.w]w6D]wqwkQ~ҹsg9=3vېۻYn#6RӸ҈U;4%NA7J(MTւiL=϶  6'Ny 䯷 ZgDlLNKX`L0)^C|< TU%wIQ{F\P•?wU˨^6ضiuU|v׈"Ű+Jp=9.T w=P*Wϰԫ+oնnkL{9\ǐ(^ŀ,+6 3,DIDC4H:;>CDB6<>E> !5ADB#Oґ9EZ3/d{ڱ f@q 4+ {hMB}'܈6KE;eɈ^fzCOyP<5QZ?b#p~,Oi¬l:ws0xg6pM;3RhS]3Aƞކd%!Hj4E*נMhDu=xcNڅ BQWFg@)Lʊk8JTvA9̟jb,>-R5@Tl*UHDF%]+r g6dEIFp2@[f%,X66&n9L9=]'l/<7qy`\ ܎8b+B\0 7wEŠolnv؊-]7lfiya}-t_lsfAoM$A*7_qKsJ .]]u~{~5eX*}sq"HoY tSy.r)E~:?UzLll{ݮJϬy{lh'1a0;T%Im\'=T׈țr{[͉qճkڏ+-Pr)A/HU4$EhNޕ 4QD)T(~:k p|#ym`ijv$_[U:+(> ߅pݟM!p6iHpٟI;{{u-UywΤ4"{ J'Bm*Q-hYbab(7IDC4,S%lOa {jHK&kDȸr@1#43@JP#@A_9z|4BTjyZֆfr4̈́=E8Spz`>?KR&g(ʀԩN6az[L FUheO`4s2Sw^glrE/Nы25m_ ">q~{v^,WB.brr꛾yv;=W).dL}Jۻb艵 VʖJÞ㕹:5YB^QFQ*+M)e o65iN ⩳,I)v]g<fs\%!fCH4! p/KM02F X6NƺKA-gq}?wϫ'7mMb 0Q-A .S緍h}Cn)5&h1(ESwleT.B.bVY!߸%0ʑ FU=N:͔Li@4ƭ)ቐ;&6\&8 Z`kCYխ`] l>eSm%WEUoтp̈́^o.(fğ\kULϜ黚vb6TAdP'GsoI*ye5+dԥzU7Mc'%fKlfZ!H[2aԈ X,3*[$9z2o[_uUrw0!ȴ;g"hQi %ɠG/~؆9;'0lCcW6b-檮[g&! i+  " OyK+.Ud}ޥN{kVM )IB/x͊5Jial  @Ua2@k.whK+C /향1UJB4˝Mwj(\;؏6hE?K?CcOl![nWWS!.cS(NuF0HASt(>M[A9 e.56U 5-%& /*2"t4isS|n+4= ?sn8:إ6½.s۬ KOJUk\ȅ~v]}Ibb+{۴/Ɔ*r(?.?+f'VTuC08Ce!.5Q=dz@a * CW,5 X RU~S# 3SL@7h GIƳ'K:o8)G+6|git5?]Ku}yxUg6&{Bomû,k'\ [ bu3܆6JRn=~myJ։_ţovm_O|c2-h~.1\+WӁN@@#ViK9뫻\f6,uM6Hm=[8 `@p@nf\j*P`ՀNJjd=(3nC3rwudJ!DSeVA-U4)@>w8^%É&kl0o uUUjPo zw $'LiA8u\RjVÝz~oIT<`זjc_hE)mZLiNfXGfEN{Qv`իB7E*J j.ӯ:cX\T5~7#b|9ةtl"*;0)Ub8ẻWȅ4D%&*]p#Ӕ5q7װX&ņ7|_8qNOggSK"#IVf'A8-2*89=CE87;;=A;IBFB8#8=8@HIQ;7Gpǩ՞nnpku[j2k>>&zw 0&w {tiK_4DN4S@M:co P733VDdZ9rK-%"cH.z&3.*3m.ȋw ѹWT{o{q2L~˽'n_QFT;qt6rnDn秫r ]}*ѯIב=r!h{3GHdp榣=O/{dֵGcs(Q"-v MA%2nU'!v5xv2ڽ265k7cfЊkaf?UR?^e{@ >6p Utݔݓ EyUo$(eW՚½?%l_lSS2>ε&d.M*PLTn@Hf^k>_"j':|*@~?wjo^6\ѰipRMy+[u6-`h\i"7nS$/T.Pթ逵3| ZM7A;=q9S2{2== zE쎵90gR3" b0嗻Ɨ @~;?g|;dgtXnJ[BMp-@&,,̕SfekOl8>.GGsL)9Kޭ$m+몇TՑֺ4^˚ΓhWkt*}+UprQΣ% MzUA &S} }asr4\TT. dTrлIF.BR}v Gm3 t&f20m24~wwX]@%f';jq7wfL}ӣ A=FnPE!!&E.h L޼e߾kEvb}?ݗ}藶/W &gY 8/r 5ls%02ZseLIX?U{U1j^Vg{ZɬQ}U%кI.f#>W1ʒV]JEc^5ƣť{ * cȕcK6cpTr8X ZpJAk_-9"F\QuԜqCHqSX,IO D\9#Rlp; . pFib-1t(~5EgQ*;LɿOՏLy>z'0)Cvu} t^^c%9c6'W n׈6W`WF*u !S|+QCV繌'B w5s}_~}k=).++,O,N>Y^}П)%T;^$P-ѹ>f<"FJSS>$#$!KB+bWx"e*泂 E>:yxɭbwI W &)\IȜi*:7cB,Etl7(?ubo^Lҙ% l#2- \ J%zUouOJi03Y=a8 8 }LB%Hl*IUW#jgyq,K4cGWrxջVc3Q[ =.#n XaIՄ! w~W@ /CLڟkz^\,/zR:e#<-M+;@ sosW-\Sjڭ{FaۥIarcscj͍e=T/5s|7o]}|PÆī=䙳o:]ttCEF-w&%O]N&r}ܤxy[ ^{l7N=wS]cz*-:Orsh(>jm.Ǖ&9#L-슌HEndtYzmumtJ@BeoN`X=#3cƒm 8(,6[{͝7F8ߤ;VĀ3:"0'6p'?ǀ@S(P&IefJ{oW?V=}6i9 `х4`^CگӟRJwɛl_=WSi2JSК\T^SqNub[)DFm;nv"(̉ K)!+"ʒRvHHQ BM'f7gpg@8Ecra`l4M)\ "LcF@Wst\]qYy Mہ ,?i春Ugb¬*B]?D'rܠkޱt\&5@rAX,h`W*]r-# KYO{Keꛟh2F[p \ʊ1ri ܁sN+Y=?ʳC1/Imm5w%`{4*?nzZyh ~{vOl4:v.߳wl{ӲfXWTNO]ͨa#ഺv8K2PL3OV֧RW{.eZ[m4PH0 (B oȖ|%k̨^~/ ?>.(f*|y{:^'t<[Ϗ>^^fp|YtxD|y;[T鼌2ȩ3&j~O5"*PSz"zs[O5tґo^^2Jp+#6QqiE%:ܫRYodo98c%Mu^rOggS}"#I$#[BC4K222'*46:;>9DAHBB@DE nQ23n>&/u2rN&D,olkuf2gWC1 F@!H60˚>| >z0:N,ŢoH@UfxsUR3ol?^m7.zuyZ]Ar?~sVmyWiW-Nd,MKՊh""jU \$4'DN3Lhf+ Ua !)LNT*ck) y-t*2bgd_^USj6$, s^ڿX7p$b&ecKlj3W1@<\zp!Ԯq 6p1kfT2˔V1Y[߷}>WS7cM9JHr]3VKr}uve&Oi^5EuxpjݳLnSr[v><պםVnsFΪmL75_i0k]YmK9fuvW[S:t\3]XWKiwrMNSv+ F73T\{7X3:vR.dJ]94[]\g#nUN 36ni6QñAze VGzu.-8^4ը(}ޥ`"a^w"}3tE]jRWn]IMg|bT!oɎY2'v،vi%Mt;'UҫD,:S];r_lH,{͹}7ObxS++Oz]D=#aKЮ3WaFPY:ۻtsZ~\ܶ5Dլl\{1Cfa. p7!x7)pS3>3g0A6RYʅgJ&-2Hp&h3kPZ>]˩rs6v佉J'6] OKzn3G톇ƻeÆdeo:ɯM=i*d&ƨ˥`r#0ւ^'^jEқ+xYM2jL[o <;O?ùvsiʜK,ܸ,}\nvLYy>?ߺj"qUR ftDާtLVz ٩f M1OI!}[&v>%+r7Rg>s7Q5N&Mྐྵf{辏ܥpOΦt־wvhf^ dtղo̴Q㕢6.e&פIZw RP^== {K!L͏;]S6uswBZoSzeT ZWŚ M i62zԂkÍH2 !DŽ[S,+ϱa-߰}zLibkoTd)izwqꍨv'6ruȍ#''BqZ }y \}kP3n:d^u6ECaZلܛ9nZA kle gr#J sն0nB’9h֖޽Z 5cxwcԞ-B2UMBL>B\c\s ͼQɘU{Z6.NΓN雃alX>8W?~'^YX=&ʕ=\yFDAӅLܐ[MΨL-${ՋϷ1\ֶpD$F4wB>1rw -Q.]؋=}؎Ga0?%ـS S<2 S‡㡃ڌc/=rlaf V N*@j!/0 7o =[M{O)šFP.ؑvUIQy~faddkt.*?l#{mλ#ŘDu[k}ez}6 ;Tgz^xr 䄱Яtho'(mo (h(9Ae= 1 UPdna.ÑX5Ӄ콻q pk<.~ *3q.#[sU%90!:y}7?osI1&?ʹwؔ39jx./sOf3KJz5JO(o׸hZ=+u~.JjWEiS&LZԀ `M* ; M4 qR|<0[m{l}uj$sKA:I`*GEV<$,|ՅkݳPm+D^ P \ȀϭSP@?uQmfy>foZz6zn.}\ R*+ S@<7_(sD 3E|_H[[Oۗom{۬a]^ S lB%VŜOP-\Jޙ:a_͵{*kyumkҚber`-h'LI/]5iW+ v|3ZSl^{V=+mK-m->kV\&j1 -pJ >aQ]X\ds|溻yml{oضm5py<< HFrf`Kf(Z\mHXp=SD"NA*ƨ(@Ele[55Aͼ70SZ/"<{'@igF{B=V6Ho^$;ː;E$n(vܦSd,M^S؝ʠ$tĩD57CH "Lao*ZҀ!NF$Ev{eN ]l9.ʩYm C Z>EB?;<==9@BF>-J:=D@FCB2E "==X ˌ hԊd[}bҨ!qxp;k#Q=<PP{)DN-$MI;{*o󟿃-y `L%(pWx:;U:;Ֆqq7T1s, 2޻'VAS/鯝Dn]JMz 6.+Z""r榭n\t]/sRNqA7AVأg G28Y{%rppbZ%z:R@逤SbՍHEd)lrGV0)P Yu"LM8̞]sE {Q%.}O`q/^49q3ZY5AJZﵼ>&6ǫ3Zޯ:̚jJ;χ:;Ht8~gZɭR$;{> tQe0jؔT۷@TPгfz]=]_K:+iln~{󖋫$[6 htdϱgZAO+y#eȘg6+6\Y9=4V+JNCB O`Z9(a8Usw=Z쾧Dh8  xY`vE4 ސohҐT)UfezuSt='wf,FE_>FEꯔȏҪ#BTTb;:*OyL8OJwV 1x)kgCUʽ43tL)zTh:M-3Xa1zբWM=F 敢[֓JYH]5Y_gǯ!Ekњ켎bR!'ai_[u1yZY{h0 pVTG ؼCZE?J.HF23eߟlt|? /rzL~lݟgYSX)嘜=^~0>tGnvIFUwy\wdSN&z >F'^Q&7-oD6K?s6%vv}dlǞ\*g{͔NΫkxpxg ]`S˥9GdG3Ⱦ6g6hf˺khK3o˾75m^!LR.=۝ L3jf(M#wM66 ͷ\}*_gtth\.,:oVVmB z"{4\grҢ./{ђ?J6"*ո=wmڈPV (:ѣC11U?ձT˜:Y.>+ECBqK%{[m%^[emn0RK%5bw> 7da;^i6335VT[zxqWv̌ f-gJ·: o=Kf۳!^F`Z4 P"^qLXf ‚r쾛 BD)4J,PCDBFW 'Nw#-UeR9 odSrlmW.W[QӱX k\|줳,;u4hz0/T[6ZD:Yu =gt*s iDluئٮډ ^f ,'+Unt.fm,0bŒ-, ~WNjj7s$W{ up RB;s)N:NcA6oMX8dFRv@|3whMa݃oO9/7~^b7#רD|R]RѽnVjsKu${Ҟlk\.7\{amDŽ;nSfdi3"paU"Aqݽ,K|"+ * R>WʊiB37emGdZcZ4qMYD ~!A*@T" @}s`O5X)@r/?>g0P>wӻN\7O;0NWzgm>uŏt툚},)׌-XWm@s'3xܵ[ijCSZ=KIzY+Vf_nQ?b1[ Llg*;ޒ a*{sP{'V\YG6,ndKKƪn 5sFZ9\r-@d^qHGlaWoϷ ιmޥ#b&>nfV3{Ռjn19L`k\J bX|e] FULF:^wM d(+zrsuNR:JnD|B%UsfuPnitGq]s5Y|J7׽E W=U[!_hJ\G12^Rg}&zcK( {8# &AKqA)\ ?6^ HR[ HylҮWR\ e!k$ ۠{PVktb읽 OcYǻ=/bަ(~̌$k ǐ2,ΪJk Im>QBY1I~cyOo>OVv:~X~S$.Ҋϟ{.\]j8bgu"4r˥OT.z:-26ˡ ܵ%p=ՅUw7*V۠ %s3@O4)s7%ا黉jZ9(Jo@5 oA⤌ ȆszG+zgu@6 ֻݬ Vpr;fDiS@0w{ D ~܋a@/Y`jofRs>_cۧte+{_{S=Su)Ɲܯ>3S?'ʚN;+kP̭7S-&'* 5g*MWngLU6S1@Evz*6wi r ,'0gNTXMֺ`9h;un7_)q7_Xem WA}E"S\5@4@V'?]fCI52+y\'o xy,Ì~cm#^xu VlR␑QL?ռlT$섔1ݫ/4Ab֊" h/-{ߘKj47VNVw_;:&Mkg0z .(㏅UZJ8ATeV+M/y/<-<#.#*Ԑ`mN.'Xi 2y=:ZpY?L c!FbνYr7^OUyT: mENy ,*-xSR$JW\]{u3߮llIj6 zАy+ZcԨ"/C&se4=;'"tyO4]S|t߼,*V6}l|)F~FJwly6kf1_REth#0$_Xjٟ'_{6*- ff̥X'B PP|MPQ ;x HR8ʙG/QQ13aZQütahQ3r%SyY&KD474OQf^g3R1|և^puQh+V-W٦$5PѺFW:/+1B&ftAGO BQznaNstB4Ո4eEKf@o*gk=+TI%{ʱ35y@Sֹi]g_GB53c^J,˙5=) Ytil;RᡥmިҜ۸+TZ>\nז;}nt7:|W E)mِM1QHJ)meL6mHp&ȢD@@T!rYЀU)eOc$UeB)4Ci+ vX0dK ^,=ZT#ww{SpOծRTf'M`֤1$APL3(9w}OhŪWS͏6i-գkGM6d7 t6ˁ*3~0Ů| N>1CzM5VĽnؗ U縇`^īDI4Y)NEp|pe$EC!TYj>1vLK[ZyT6[jPldUp;_裣ǞsuwRԥ'olsݚ%6[ZziǏwŪbz @:E嘆,.8*u?Vej5~E{rܰ3LhSGN@xxѵF='8evz~}ϚK&l,4LuJ͕,&Z6Y~FR|v'B\t㦄MA=Y]h T6&& L%flK } 9^d}}=z$>MIWnu oáWQ^mJ$uJˉ/Vg;+}}7/>u/;fOGzw[X{﹝lI -A.vނ dћ\ӻ/utvYQ_`}@ZPy\⶛zB]8f:ldnҘel2igIIR@I/UoF`E0gpw3/([+[ki* V[(= 2#5&{mx:&O^_ym۶e{m[SnU'\&K8B"Kԍ'rwO a$}Io.c#ֻѫk{*=)d [=@XˎԊQQS5K.tUl\m՘c|OggS@ ##ID'BD>%,.H8;=><=;@J;;;=<=@ACDBR%B~r)w%@dHO)~\1b }$Mԭ"6onֲwmuf Š&؃Bcd*PMIB\vdϻrKs2mwM {66 S49(7,QՖ,4QdsA5( gY-!;@vˁhG`fSV6}x>ݝu^u->as&]ԆzFEv2Gkwg' [w+oޖժT3eSd筻nQxnٍHg}jaR-: l }!U-qT]]ۼ 6J.IJ7 QsF\Y d eθ@ʰdIx0mJٙYpټ6˽]ڽF^Cv:L P> $a8N`LyvHI,ȏ7GrcJDʲ7M^mk-ut':\= M\7Лh((?d);[뜧F4XYK^C? PwoN9?Vn@ OÃ*Aڥy0$vql%r\%x!=O) F.űl+U  D2t \ԇ5,{ sv&՛ @fϜ^0fzRR-P>k3Ӱ^\i.a,OcG\XCE2ԛ1eJZ#-C;.p_j#} x]_F?FROٔKNOUZۨ]ߞi|~n0$M>î*J=x0h0{d״zb{*W"lX%6LJ" f t512tNr3@Lq{z74l;F.FhNf7ޒMK {Dʨ_wv秫_jerT'}TgN|VV^i:⺝jN/MjΛRn=]^^yT3(tm#cA AnF%l^pV~kꞝ$aMUNWlKXbj)ٔEIM aVߝ5YiqucO=Z1d8A >__=8J(knT9>(QEv0ܸ>-8²1!QQCdjP񺾋ejuFc?ڑx}w\," ӤF2~N K@ASÃ>3%S6yqi7vd)6*7ՙcӸ+Xd!n?ַ |&fP>\Ce5!N_r -?7R4.\~R1&f',1PYn 0pUU(Uf+J {K?rxS{m=zٚlex3ǔ-4tE{tƜ UL;uZ]&+|琇Q{aBGxFu: ~r0suE؄9 oMZz76Y5嫓s׃ᶖdN]&>F:THJ > Z=5(c_o&/la#=7#r;zVrRVfiUVծ"S+k﯏&735eJIL^ֿ`k[?xtM3:6/y~6 u&F`JsrD{o^~}SgqTtp:T/CdxR%{/cꎋ:έ ݥrW6Z=v*7Տ3w;NS]qa[tr n=pved^JiQ9i%%}zf)`]*cI׽;*Y)a8ˍ ,R z@@\"> RH^A:l_;An#p-j&g#) Mgܕ bt-2d:j𘞼Hm~Eލ++56KsC 7y2F<w*LymuҊwXiP k\".RհFD ?ɭZ2.Ok2..(ۊ&<KF+!RS*HIB-&w-3."&(wN%7zmq2Wkc ] LDThL ZGCpi/\XmNHV˽uu_yJw)"32oO{XcY{cP \Y'P52Ay\M y[%>YDij2!vO5flF O}*[O\Їn}sư=mib[&.Ǩb**]6%|jPrc:cvdzET o@wH*){oșob\EeR76.HQ} $ flJI!Ќ{J|Ha8.l&XS*tk.uhTsD3h 겏C[ ձhqE %%Ä<G ~.5]F tu<ːh4+LUPJx)c wY ky23eExO[n2]ξ*o{bs` _$5RO L}+o鄋k]u YH?ǒ߇{2FX+t_7h5Xj[l:&nTIZ]7#NSmzhg|:9RMDv@[Egbt.` ueZ^6V!{vƠkaM! pŋSL@p70-8I?C2MHu^ "Rxٔ033cL)_^g/Om~ȓcmNsQڻzhf]iwи1ƷJ.ƟlC}uO\W{Glqa_^vȶ^]͊n*]v2utfʓ_nrWcg+fBjf//KM[i:CL%n=qem0]%/UpZn3E9dܝ%&lBAd,ZeD[,qrKL X!MAZH`!%m>ùWD`ڤe tv#MT͜PbZ*}@OggS@;##I8c=P8 ("@Ϯ;}]J^.1X<L2&U_ff{ʺow3Detpavsxr+]yй^g[&Ui5qۋO啄ȭJ/+NzԶG%b='vfzi~IFķm+n[~J}}ӑ.our^=:u+Ps^*įT-LG{FsWf,;2lY1ۥ)5y{7ߢ44V\yo˵pdhoKŭ [er$o݌6f\xF(xwvvLQ{L~]ǃC{vN}tlէu;ZZ0l ؙhQPa_U%ɚEhm7qAYۖ UCD C1YB3+ ybܽiF^qI"mlǬ}feVۗ`(NV'.2\:+UtQ.6}Lvk%=+x. K`_`̲N/>bXnj06;{T ۸^VMXkyX28P "ς D \jT2IM,TIaMՊ$ǼD-M]MJ=rťT+:2Ue19d8cM^nj(B'~DWȽLב#c{Umn|׻Ϣ@BTf.TCg:ܧ. 6n ѣ{M{@n/yQ*o=_JuԴF=CH^[P-Xg1 k v VCC0[4ހlu!EcCl@.zMn ?`[fQ5ɔn\zzٳ::O'j}\k?7T<]66$mtyݺƇ-S} wǿ[>]:U:["yqonvW+QnU9 VNq%LYޒmk. _MvOF;{77үCܕl.CGڄg:}*7 ʳ[vsw>C>}h{=7Enu[fڦ mi SkCg=[{pSwnzzn@9 v d@V|Z)"]@ n9* pDIԛ7q=8N͙>U>mMv}FYxL=xXDts 1dTM>alh]g‘s83\^APl"ZTГ @ū:?rxId%uNb](>VޫRغH˲TO2t}ԝ^~>!X*to?s[e7ofV{nW/7;#z~!1sQհAB=Gu03RVU+=OC_9Ƴ= 0d'7tƱg8{jWr|w1 ThKfT,u6ZoeLk􇂱z‹5+`)4 66cb|m;#D>ɀTZb9@3Yyz߳{V䍩25῵~vqoj}:k1&/siHϱ0]}e>Fn*:e<샯זS~by^lUŴ9TO E:gD6v2HߜqD+svGZ:*xTE]2w/&-Ȇ?̷Ƣ+lb}C rwDN~M&LeJwfWv޽gWbݼ{'a6G sL3,k[LGi1-wҤP tfqJt펽/tQmOtA_ra!tBiRbIPaT8Sw^|LkײttӪzTk);d^W/κ&D p`ƼtM@R}ܯKk=%bv`Faq:vU#k&8Oݜ.@uk`QW|%̏G|im 9H„6`UI>+! ,,?o\O-~k?Tv] z=Zvt|:t˯ec{obQKߤ9$ұY_˱bMtEf'Bt~]iԯWUWW/&]|SژvDו5vyvuq6]I=owoODg]xz%J6^Fm#\QYH[m5exovBx1pm U@ێ޵sJ7iPDvLOw 9Z 8ew.u}aOggS@e##IAL+;<<@GD?@CELF@' A6388<2g`[Z[33KG N:w-JƹİOnBt4+Ǽ;`ele-?{2텿~| nA5 @>|eT(i}4De[{Sm۬m]> *DDh8 o;:uAt?s3|_8Xu/_ze.&[ɞN) uvʐX)DUDnmx>,έw;mT7{oww T^fMȁn@ߜulIY395WVuTYi|NiX@ }i.h|Kjٞ9coEDce]KkZ-js-7aVb'nb3J;"1lO뜘NBN^*OrPV.~ٍulc/6,53|j0JN.A(M?h6ªFeI-î_}l{{ l]ُt=jbgv*@ N'zGR0bf̶֨TW%sfFtBo~%}o/ ڊV!*TL[q1 kE+I233zVu StO/\;Sz+Vsb5Wk2bgؽ[F(&ܽyJַ۵LT3v3JJG{+(ɧbu&Nd_b}eT.ּNZޟ.%5)iwF"*GVÊa7TS#v2yK0<;}4M#1xf3M,Gش`p qnjbge=.Cԩ7k+Fe^(em @)DӮMVf$aUZk45摖L1}67r&)_g!z[z犭~s*գ)וNCT.)F2 ]WB®7yG DDzNN]tKļ^q[-ܶδj:۾r"nGc22{'O,M.RtչK)\9r}'tì]]3;xz}}}LH˲r kG޿KޟAֳjs(Jύq_ ޹%Gjҏ fKWk0Ol\)ax\>pgOq$7 v(U^4kހEJku`sc،U·WֳU6gJ]̔^q|k;~V&ΏjIm{b;r%dJ#v a5&+dVUhT7oSڂ}J\gJvV7|# R"b@~kA7hʓ8a,3s+ ]tWS}vcJ:dr p;kY9Q"$7V0BVZޯeM6+$.ϑ[Htֽ/ch_PEi>4j2ۗ#{7ƶttJ`tqt22c$ >oV\xN43Wb\zv;c~kzm^U[Uk 2+mF{DObpGe u"v@󱍦#K'xIR3eJ['m:\wŬjC%ϟGtKƪqtym>~ĒRFx,W B=ͮ7q]J؋isfPrdE?sDƸfoc4I{"/9S^Zb3Y\Y+'; „}l)A\V̄ƶ*AJKrmN#+v. -Og6rb`~.FTe*3([.A0 1faa^C#kӐIBdzOʢo3 bl;2>扣^-X4aV BU5B]"\g:v`S\/\w]i^qvmǖ;m]i/)"H4Z5aȦJ< 0bW~x>ѳ;[~f+k5ô { 挎%ETG.ϲ2QB/Mz-?/*]ƢޚN,'mBDSQFJx;(Zފժ̔?$msWi g DI(i$FCdY'uno\^5WG3x67B6LmE@j3[zϽ(DVS0;MDSO\:[m&OVFǺ\|te"atKI#v&bխkk]o3p^5T?ؔq$;+3,ER`:K+W뺮멲$ʿ?Pt|c\AK'7`\~?W:I$XϹ4sYI2DnR˃r˲)#PG}XȎ4C\#-]0Z(TGs ߢAt %NpvL?=aO6wXxl9{1[sܸyV[)*W%BWՁRم 1r@v;vC@~֡ D1@o=+fUf#<nn |@Lk) fF1+%0eY:͏٘jx.ٲxm?n~nkJꜳ1 <uDH.n"X)s sݭ{Kws|.qܖKxP?SgdewҲjʾtw'UWh6*G. HNU x°IJAA>g)B`rFk)8%hOggS##I]Tx#"J:9:@ADG>.>4,BEA2/;;AA"zY5-pl^vax3Թ{ \tVOaZ%QxXb><IQfLoF-n5]afu md{\X%xlo0_^ܜM_./;d߻}t>Ju>[WT"fn(2w.1/#pͅlsu)V:+OFEg.fb4'{3m*BYc7pt.}&n0Mu?8 QM^3R@\/6U PwSZw L $\Q< LCc NBԁh{Uj6H02YlHOW.ץTwzֆjg,Kܿ=6L ))U2حl)3.r峏)w>=c{թfd4ؔ92Ls0힋ySgyYZVo}|֤b=(9_)6xcyw\5QT:Y>J6Uޓmêlaܿ?dV*%bj[uJ&g_MNYboQdzyzmgY} |'Ign]OV&lbD+CTE[Ws~vPJV[fggTUtf˘qs3w @73J8mv1:Qۯ4>᭫gob+>/6ѩ- e$_/v~ӵWDS}yS6,ܾ:ܓWݛnGeIbdzM[g~~4x\rdoͽ5_COݹO#1%"FK甪ky{M|l$ԬYa7rQU>Vp6#2#ʹQJ4i^t[=R\Ņ;2\1y ]nw} A jK%"l$QM'hɀ\n5Q+R2*ݰ_DVH1l@(8d>|Ub*ڨV e'! ՝JfSc3Z/{̩lx~;H~w5NT+>ٽߥx(1}t\) ;4T4,ƅY1ChqV f59Z:>KMX F27H(nᲂp^u*䛀tYh_oTa*7 p2S„jڍK&uhqDY5,B=]i dCEl۳')q4[fs=~lM&Uȇ>`Ĕ&_L+c\6J^k?@8 % ÔD˲(Îƶm딬[}7GwSHUᩥif"TC{?Ru^;*忬D1rotSEIo6#K2S{:~*QI An-h3xTL!@GC%! * %+Y3tDzk`Fg5 @[Z+u왲90153 d@=N)@߻jغYvVS]\>ܥГ}nr^!JUt5gBN\\=1qZVfXTD%IG Z1G~JY8mOIN:A"%1.A8ްy V%**TXMUp)"  t-f@p$q.FŻ/1ȶv @$7܄s,mVY-vYLp u%}on*xCZ%@{@ ISIUYv5,=3~{u{,7cz|Dt;J1l\ų_!78P-W]%ZGJj\Ŏ;nbnpǡO*N}{2nl'uҮ59 N}?J9B*7e=< c'YRjT_[)3YQLmFd+e\"Jd3H"]\Bq3*\٥X 2cǾ LR .T"aB.t2"bop[yZ⸈z"d% (WLxD/*u=%!lC Yξ'Fۖzz49TRe|[E8Yq̰67cǔR&=db̿+8,Vu woM,˶3qn͈̖TZơN 8^nWOJW I7sw7!ܷ1qOFr-#+t6t12&􉌢"*HP /y@Z(\nF B !ŢD2QDj eF< [O{=iz;ZsٲgTv1 d."1`a S0-tJu(W6 UQ,,%GlR-ݙyDžcEdSћ=YfAkPZV$(ݝON–kσtlWa.qbHVc!uKRh2]O=M%"By _߿,M?z٭=S4F-TZ7bˋ\%+6,/V{5LԳY:uVgW$3s׫fM^ϲH_*C2U H]dØA_+^2M=ɻM< Q w5tvXM!4T.Y  $I &Q(ŊhS(,}- XI7jԞMe*h'@@nۿ3f_]ꨫb1Ju,(Ah`xnp h.֥ۧ:1  Eܗ޼whkifi30@c}]@4 3@S 0~+NJېVCjz yhrrxfV ^ʔYh^ g~r\g{)6m\=O^sPܶѵnD &F5[=Sʍr_fCd6;x:{Tx޹#ݷn~vFSޟԞYxk6}u<7g_L/nB+ =bnÕYTsW{خr2 4dNlԆWԃ9l7z1U mOggS@##I"Y]%-5ABA>+7-6C;CFI9;:;=>;FBM>c6UBx`aeJ`V L+ )@*)#yQ Nn}RM` L1ffn8O+ g1n'YyCSf^G-Fə?WDuّjH=:{\o[RΚnm[1lɔuH?-뎢W.ifSÉ(YTO#R )Yž-PCk}۸XOmeZoì(o'fjq`(t!*>"6ctHʰfMNuw yٚʲi-1tb* "BNUC} H! U+mp(V]JR|"'pbt;v&&燮ST33Դiy*]GRe f޻mn1D^X*%*$S6VJ` £Ou|*O͐WX7o-~Ya;WZ6dAyĤ >H+n^KA1 2SZo߾V$_7nA-9mбyqwJRk,;ֱrrC<~dkW|I)Wn]%NUA2rfG\^Xy=gk{6{ 'RB0ݸ2qTvgbl7)%s]jF\T^d̩HNzhAC BK2fBY2.t7!] Εe%@ Ȇ*1dgҵ3O6j, &s #WgM9>mDVE8~6YvzmXf :Є zVf6~c,k_WR& ?]UzT(AgeCy4>`fL̷?P;Ӝ֓gqvu|S{,˳yZ>q^?TO ǷZe3]؜W7 ^Պ澞t?3W_e'A*uʥݼizӦ[Ɩ/6r3O2ޙGMYzİOD͜dK*\_QkO٭3m̯S$=o5lƵi5lB]ܢU9up%z;(Bu`U u{H,^+?r?e5׸reVScM| c2{Kd ~V΅ep-Z ^꾽M0_!ڪ.^̽J+myNZT۩Y'{"c_ɼy 5U$#nz\*Mk_dzqo-5OnFw6_jxM߳vFiI\K+g{jWLm+Yzifu5:f=ZFOq3ozKGVV)Xrq1BeOn%:)~"ɱ`L#a|S&S N%2:"+mD(M r*4D XNVD4q6BUp Z90!e[-]o}=ȟ{  P-sezS1'C'RPjyk41RΧLTg.Ccq{[ PsE8 YC#5L}<=bVczdXC<{W\$':(@B$ymI"w؟eirt_[1MzL¬6qdu Jãl HrxLsvpƌjGU|wsJQmlfh]#WE,!t(SKz1Kx~ cצK؊d_aO=Sړ6XhDHbdRſvOݗ^m9kYb NM̉L;MEk/azHy0+"[Rs̱9a0Uͺ*W+lm3m~l*UJnBR{=<跳}˟bGō(ɫdfb(jĚ}{ib*S4[uTP@\0oZW*5 _?~ˬ?BWqI'h܆Qso^04c0t!A^}E}7rY^QJDeZ+{_rdxNTƲ}#]>5xWdu,{JיFk ĽV`&c.h*Ňff'<҅5 Ssw{J ::rD㚽ȹ}wy@mub7Etre 6\5R\X 5S3͊j\~/W2r4B\|n)iDE {7m`~1ht$p u#zP(҉ 䇣VV9ë4IAIƏDD%?h JSfL[+0vq%3wN1Xo#an_VA579YFI嵝q9]$*wJ&v헺P%@$<&,$s\($mWs9 "ciD?;-&h7x=yK344b(d2u!5 .dV q@UiϊW\쏨#&mE*r̎m%3 mod56U$qW6ÿi{*EOc5U[&.|Ϧ?ufe[naJKJQь117 ?OO̲IH4 r7"233Mougy[ɶm^:l_҈XPn D0S!_$XJ!ק}=q\HwuK>kcqo9V3#.JV@$IVྷnO{?Lo..x*UU[+= L;_Mv7^>Ӕ;v2E{x>oL<;Qk*6Cd蔪8Ucj>E;]edpUcb KW˝q>^FV2-\ռHՙjbybWrSNn]L!frl\u_5|Z!ʐiU[)Rh.]ĝZ=@'La#!Vm\odowT\z؋eH;%}>n\LٌR[{"0 )|/c\l]gپVWyu'=-ˁj)+宵H٬Ԟi.:_])e--'gbmp F"v(&zw"z:[<-#IOݨXV@e(MQ~0pɔ$WA)G[ɲRKItKp9B D&i\e""Д6U =pJ[t1aN_H=#C` bHgPY1!N8泳}r `$C*GGb͛If&n׭ fu0|~Ömޱ?izx\.&@n2q/Ys)~fQ3LϖO hp5ms7{NuyE9vuwN=4#&N}; jϕTlϾf{Z[S+EPm[٘L[iEtͫ{f v`b s5K`s,ݢv@6|#gр8@AɅCIёvex$33ʲlo F;>Y]w58—KmCC\u+8MK꜎~QɶOS?ՕBlwvXmkv=J=|D!:f\\Vwjf`eYKYIJ4:Y^eY[=1&ܴ(άhSI_LNY4=OyꎎݺR4wf._6KFx]gĞxO{b,;ZNÄM8kb˜$jmh̚+z@ˁ 0@ 42LX)7 ^<͈t18*F8 -;UO kW3?s=?:5.j$ϩ79lu~1cx2]p->n4j}/ΙW5θ:'QsVvv{Mӛy.jnݸdfc]o<sr9O{1hHۦ=SwJ^𽽩6~ݖzO:QV0 :#ǫ~3!&Kf\q|r[msԴ(&q6ي4mUӚw޻02h] 2ܐ2 5Muo`[tNҲJ1P(O僔JH7C""ײ>k22*3nHo5Y{duߜ޿Ѩ,ͽ>K {pٮ{~깘>FuE;[m.Se?=q"R{]鼩HשS)͏׆BNie1EN=uMe;7W-Q6yka)"n1M[U٩0KU>OYV):FIIɘfѤSciA..VyMF{crw^Ej{?k29sQP.=3kzppؤ7$[[lW xjT,{ubgKCÏuwz5Nq]QK`[MD֡6LũRvsWOa[g:Ĵ)"opI\Py;nvPmZrt=}mJN 'C-KԈM]} ԏiB6Jx5M&~ލ2ƻQ5PxTmzZUmz ] idAVe&-bd$Uh-OA3NohT[ "ݮjA{_2А'})efV[+{e{Lgy\8mWآCǤ&RAkSfQZ]Τݪʵڃ-[6ze?MVmky;*xv"ώΗkc%tt)34)bL(Lkθ,4GI"$kL5y q O?NӢ]X+^xVqX=~5\֪(.t78fl{?DYefeXS0V ü;Vٚ;C@ܨwTH'(J9{$sH?|f7um[~KyO{+:W0o]n 8Un1F7\ƠK>[[F*-3 @Hhk<)>6.X`-b D1w.u*W|otL#e&.O+>f$6PJ@ ҇d{0wcBZ`1F]3یrq{Qb>7Gä/ū}coƋ IԼei35tNMbηFk6_|"^Y [(_<蘻%1hwܼ͡}8&Kэ0)?,BJKR2^{ Hyp(x~ހ3+24hȵ9BtNNųu*7k @C]Nw3eWnkԖU  m3p))O8HQN{IV+L_>,઴nLɳ8n{?9(mnz]qĘJ*/Rb~nHϋ4*^S8|mCibqE3CwE5n]_^Y.;Qn}+vf'cvu4*VtZ*B ( -jXI;y;sk8">,Fzʪ;;;FC9?:;=::@:C><;>HBF%qp(WeێaeUnmTRf`ٌc0@3A\GrG{TzDWն. \bkg/Jzvul\$h9J1\{otU&۪$u7U:t:>vʀ :!0R?BoMtw,|^[n{ ^M#X!|v.'-nƮ6MbuκY~.s[3zffl;xOir (& ے d.(f48ީePT쭮4omvQkݴյ2Ɗ8C7^ nV@]"ċ@0h3w}]i2v޽c6Z Y̽mmzob#_禢I?DRo8hgL3{5$q:MJeYiέY˖j(v]Hf;nˡ2"7U p[A(+Ŭ*QEj|-j巼Ӆ{ۦT DT 7d'1 Gt'%QEN؉1s7ci5U{_Q/ i=[(ڹtZCԥO "Nsݏ|[̔:TWHw 03rs=;%K=fD&!غa{;<5MqQJ>O_ٞ/59Plwb}ͯʅqvb2:3+fɬ2[."̸N5o! 5&cQ(Z-\Ɓ Hj(.EJ:2+Kw}ژ",i W4".J_E-jWS[bqf W]N`bq㶛g9.oE1` j1y`Y{Y /) cv{oNe.`d*9L6Ǥqӗ8仜⠇*t e[1z?R#tLƓhSDu{.i\T9kx yJ¯/ʸ.DnD b_cV+ sZ|'$䶹(tTO2$xC`,7(ޘ(ꉵ±H8k 18T+Hb 07?}ifv CžZ1֮};t7{=0 0NR]U,]"3}C4 xYȺ:7-h@aclV\f;uy#UV+t"x=.Ÿ$g3a4v \"%q$){'yw  ; 64 Cap9Ĉ1lZlb`S$x$˞7=7ddLVUziҍ{k߻&seX 0޾v~c[jOT؉l}ZF~5Ylb9z#,l] F")睘qXeF61)^I kxLҊM"2iej "ˠ R "TbR*c챵yUOR:&> VwjŠfI<& _~p-# .: k}:QMf>p\R =THߩMEҸ @3XP^D]f6gZϦT>Wq>VV 7Hf/ _T.Y}<2yctְmy1\J>&S)bU8۞ՎH`F[ކ*ۆl41 J{m,qeD('fZðD!u͖Ȕrޔ \>'TLTEeBfg]5|#6Cg!chwvժ"]m6Mm ;*-+Sj<|̼yʔ\ojǪ?nR,$o{0auK>S{n.=;,t~Z4̮fgv規ar()pFOVJGYRn:LEUIF*8*R ].eJ$EKh9qi.v( <]\q/ڪ1L?[܏d˞},wb-K@WzKr! 4'hDKc}VL ]S2nf.`qeJ5:(?sܭ%a{*g[Ó|МIl$@UbȽ+D|R:OggSZ$#IP?<8.;DF@8??@FV \2]€zPʬvGꉤc6g7ׂ_9H2vT-KV @brl);} NϒLR3jTM[6pyPx 5So><~}E2i z\k-ZWkB^H<]?R++nζv?2֍F11d[vtO|NdqH xy\,eܹ=?6{S%,c1~řwaar˪TW테nGk&wsm۪ rۺ: 2ʴ2W`~73ZZZ/#ٚ#6cf;06ҔV Qd6}a;+( IfTKw;gOחw^<=ram۠>&DȜy6]9}z'COdد*3YdMCOv|j؊\+ _pz멓9Va":N[}V\isB}i۹^SfQN01UHhB̂j5uvvA?ow@Ѳ ng\ws&F$ۖ8c@ PdBblJaCMݢm_5t>}^]8ɜ^y=#غuBYwl8e&(0K|!<#)bnG_/WEV/==&=?{ d0uHDrF4T vmU]0Ջ:c2Y8K3ZCG72}l"@ 2bsQ @Q2Zgٚv9Se۝LFXMڽdV:9.2Dg pg׹RB|IbW =[n_ʶvZN5ZmDnCZoDne^ßg1rcErTr".b/R*l{]&ﷵulb(EnLЙzȿ#WcT6FgM3Wm޽Z]ZՈ-[kk E#UŜ\d$E,kMGg%$̔*p$m{;^;z0]~r)AN[P64nt?DgT6}tH̭]85bRs׫O(A|"LBb%V WT-s1REON%^-UHY<{YJu+ [&#>7:NTg8+;+ك ۵2Cd!uA /M_o,ڢ3VkYFF}QL2(kVXmĤD|Nݫ2Uv e鲖 =Qn̥%c3ZH3׵}1o ]N6[W3>!q:ܼVg_u~m&ʲO=DrLߕo}sQZ ٽj1\AM$r)$R +)Mvb=!] #W :PF&I1{J|Fu=@ FJ}TeFUf C `$ Ɔ)-n֦nƐhtS^ U7Q4T8IB7b J!Z$N^T)5ʔ,_+Ffoѧry_weCCCOi?ƚL-k;,nx5Kʧ#3nNuF$].&T ~td2t:[e׏r#rۢ(+V *gPXm1~3:=:"+[K&F8Il\Tl\`@ȉib$>إxж97 ؋7*T`[ kYyo0$xSi^8kz1Mj&U iܻ,Lc~h0ɂ<&\>g'c^c^6-.6}3xv{j*6l?;x=IGg<$_8*miUk"t[ye)ܻ”T9M*4-/3 f4WJT^!((y4 3H&U֕Ωҩ+T7tOge{HpVsPMHf䠥@k8UXydAB&qi1ˊne &1+{a[^]ׇi\k|Vh7O>RMSBe@/^|{#]vGgz'`n̕4ֱz[hl[‰컻Vd\X"o)bzHiCUսX7Qu\80*y={$FADl'g5W&lBd@=@G7_ꚢ3cCjm[[9_eIFFsn4 ӱ0Ɛ\VˊYaS["!SnX҈H4jG!=0gW|mֺ꾣 {]ݙȄ..!uЁbNx3VdF\Aw/9:ޝ&oԞgwF*éάhE @:?d&.x33UJb@͑8{STMYgoeOo;z%o/Ⱦ#|lU`l{W0H'{ DEJ;=BJzS*VbtnkWfȮLy&3W٘kݖ;0Whgܽ[71i#"(_YX2J2u؄{5MܢAr*eQH$*"WŒ4#wJ9$g%gܻ̍fpҨ=nV̼1@FǾ:t\*C!&@PW$"zC6X8itPMU)eyemA3.M'd`R6~zqS&{nCITuߋ)ҽ 鴫f>>w8_Q2zR?_=ŨNKQJt>>┢jO+YRܞ^%,=D " x[-]'0l(TDmHb q)`+Dhtp}= ^cmn-oj޽ .F ȁ0@l)2+!\+&[@} 0Wp3]x*݇}[~4rg |RKlqŤ}wI>2R/VOh>ոLvsF/\&ݮt+qYt^GO}Ռb1jpHΩCyO4빩??keִ֢ݻ tZyICVy ;i;]$٧2Nϳmm\.))O {ղ  5sGmV"oH)./~ϴ+p]T2Sf*m"vK}mU2=бJcWfb17]*5xZKt5l_F|PuW޴HW ضt"4%=H}uT@iD=_;j95է7+}O@s"(`YCc*Fm]%v,25@2՝։[:rt 〦\b: @OggS@$#I\L&" 9H@AD>*+(5=BF<68:=>98?CG9xj᪅HLP*{@4> ðhiR}*?Hsbɠ ffʔ HԟnMv_@|DG);G!`L.Ϋ,t{u]w ct~ LVfky NYͻi:sӱ:z*a6Re^:Zc>,U0r{/GA5 eTsYI\v^^ H9ehتMaaba'=bC/>S۹J/&֙SYg7 H%*rk6eSj2 S^=m+>t'u V?OvjU]p@£ݩ/h↘b:=J]:-g˰=\ Ǻioeu.\E :wٕ՗&U~Z6v1x?k0狖X=YGJ6 )5]u<.ڇ* D^'ҫU։ 銟 >ti 5[j%2:"fJd;+.a q wպI.ÖP3j°YnkM ycf|hu5qZU+YkS׶Nηo}J$IVlmlキ6db])04FHW:Bd|5a7DA/.mh܎lo<ʶmoVlX K^~ը#Q;JIwrTPܰJ2jjYYkw|BdQQّ ?vCPMz,URs;6wW&Wg]lۦVֽE'RunBȚ],ifXY// '4fS˔jԱG Цeu|ۊ̟ߜ1@oTӝjM:dl SigGrddGyŔ:d|8Qt%/ȋ[NXJv\v̈ |\DN)GXRFE`^Ʈ|6|2;.ӥ $Qx K` +{Kbsx+@xv {NANauNZfѐ} .SH *YX7\c.+4_SjZ>Sӏcmх'25ǔԔ{espөDžD޼ifvuAFݙ]PJݼU?ʷuj^r%ʹģHSg2G`olƱQ9ARI&cuܟ){8q2qYi] 8&O,b'lF/ %`ٳ*f(l8#Ja1T.ƴe%V k=n E644x/L-6&23+e%9AY%N 9{XXQ{SolY H9+#qqr5i^ot:jL&TR|]( ,ycZ-ѢC;;uV\]/g'H:4.2TsKnG~w@ʤŘJkMMLk̷Z?ֲ(K|޽r3[.v$AtW}uǽ?inȬSƀ^Y?O1l߷sC4`_fo"өTt60յ2dL?R#qk.6̄~j7m['N(A#4Wj!5HXÆuk@4d.OODu\ cw;+bœK~LSs@>t27\,q{ GBJ 5wMCkcLe_!S½8OpƴSOoyDzS2õJiq-,*J]6Q> W,U8ۭ _qt3ߔ7%s( ׎ɞ5 r!jf61Z 2GBH:z ,ƄGH2\ow9%eFƭҁmHV7lj%lV(]p1,zV5_魗$ֹHr BmS3efJ)VmO${6cz\[7)Cb-_ڷ f_]/Rn_勋f.t-^ߚZW*3!Ī;93[O~r;7^+l?+>q=G~0%ij\^&RoV6)Ϧo÷/˅cTb4*.M6VbnاS|\HQp1a?]pS$̛Y d&Qy[]&#zwC,\]\Ͼ(#7;.Q2wYwǪvEPA>PCn`Ggte|wK~ qW,(:S[i=.ԉ-u/l^(%'R䦺yH#IFt]=jJŐQ\e˯LteaզNbZUn,WkNSprX"ͻwxSxAmn}r&7[ 鬫+OO2@cw s19n[7Sǔ)˲q7FgL#őrc?ٰpNjF^epmS݌{dd8 *&j^}{M_>'T_rn_{> Uc.ۺ/+¢ Ub;sMd"\\+VEb 4 w_7-i!e md%R _ +.2" ,䆠ﯷ&ۙM `}ױ=De3nlXf yk1@OggS$#IXUp"3N:7CDAEMA8CY:?>:=:xmO-w$5cV2+tUj.>89u{w q* YtQ鉟S׆>75#ōKcO:qp=mv3Wgt)t+p<ӥ"ysL^#sK) ۗd1MǦ2 tq22hSRI{&A͖ɲȦ,t]!D淦i \p٣4m2mˠf<3%ح&@vBtjB@j "^,/X%GK'$13"{kb_3͞:׌tfwm>.H/9RC#;}ouj*Ά9/3L rT.UzUwxEQ7b 0|8]3zǬjZ䂻bVnmkB"emDʡBDgU]"J-}H!,X'рq9r@d"$cX%58lV6̅eH\W \f#"f&s3?ec rs9)M=#$} AD:cp !b k+~ǧ֋oQ)ϖR_Jfop,qCD"r(P ZoץrRgUsqY׵dy֋m:ODꭷ~\5޸睤6{Fu] _|/ܫN)ݦ6HYTTBLAZ!Y?6˛(dL͔2izo5;'oѧIq]t>.k-cBЃlgo,Ϳj_a敹Kv zbLVfJ`{B~:; [%;zS /xn] ZIPxrJ+/BxkйtoF^∞ve܆75G$Ҥj o8lLPC.'Ed|3ctzGػg'fCdex eu1A>8;bb H g~`ez.\cF[ǒ9_3=9W{8ep/׼T0<$9n'I C[u<ϱ7teWW@ڙwyNŜJq W9=Y-^5\a2S;HxD`3V"{>{ѦL9͟;`o\83~e|nw:cZժL{nw{D5Ls%K6{2ĠApʉ u}Xwiu<f5333W[ xmm7c4WNzd1{uUzs]O*[s \ȝk]\3'?'/db(>CK2y^~l0_il1x_˱26^BjYJ7fnS +DƼt~w?6wsgUNHEZT8C ]R@1N:}a13<ưh2[ |'p69AP A3`SHH7Fe5͔U([΅6vX̔[{9I1[:_?>0_E&+3/xΜ|/,?Wm&~uʄ:^C!u˜+^ܪrťɍJޭJNO?W ;yF\JwP+wOl*1>_t39=xfv̩Ŗ|eg厉uQvVkv8hCy.9s{r}={gZ-"mFi f)nZXK^,.W0t"APs>F>3Qɻp[N5T^2zxe db2*Ah0"@X'|E.눕>iG%~?g_v/%Tj%^o,K1:P;eL peWx0Th&v6SEN;c3i p"$"BDP$_ĉQhvuqujkVlhk6sd}du4FgѢLDo0 zwWla(ĝR!V\ML{ޛQ< Z lV"@'Mb%Bxk&[]|Joe\gxi[ˋӬٱp)VNBW 3eI ] NR_2km͎9oG,ފkɠRJ~ pC^lߵdu ?ouNuڮkgs+f[ ,NlaK*Eð-AsX@06zMq>2^G+^g^{?l/:dXPp݁\wèa&Ez/3װ' E ̨RUV~/U1.m:>m>_7{kfWkT{ӣ,z:ro᥽u`+5v J-}tTWgXulNWG Վ̅ԯ1Dxr,sqk=WR+f婙:*vdd3ס! DcO]RۨMuyU09'y]9޿QYuWv~Bhށ]RᑦZ1-a`AkRnfy;%XmTCcqݛXIXmUNr Pfw+1f" @23 v)ݒZm}xy{#wy~u:3}sVpw djhh-eV/vF+\EF;s#^՛Wبvn=C:l)Ť.Wǎj@aR5qN< zo Na+mmdW 4\UPu.ƞ](qMxzIabX_adn bvi66pE6zyѐH}A'L|M7- @, $u%)o_4p.TtyOggS$#Id3V+1.D9;>CEH@BDAEL@1*@878=8B=EBB7;==:R00bV A2B7k7lbxsMm@i[ j eʂjq4#xǀ&$$wlRڹwmҲ6 $I12OB^]/9/*8#=:'K/ +@o>ld^$ڏsMov\mVs +WJ"M@4±Jz?{1|@x7RuQsV/7ZBg-]\˕tpH[x!  h,̼9(_νc3s#;@OD=Z .љ'6/zޏg㴱DwU(yl밃 @ 8kъ+U33QOo\&EΕ{81J!?ߜ(|4tk+~dŞodGuT4jUjQ-_<|t1ffM$Ɋʷ]U3g4ˋ]NNʤϙoA켁F6Vy)y;b6:f'"&ByN9K9Tղ9Z^˶f55N"N4'Go(Y 8`CVndQa7E[۽vﶻ7kf_ܦ1f&CuV7)@|A,Q,#[wL\N?$Ll-Ml^KJXҡxU K!QFobrWtڪuj~swae"|%9AW.'N&%uhQ}jkO[~XlmwaB(ڊMA߯A5#yTːgJPjtA\?mFIv`*^ttD_eUh3q0!;L>qз0]~>=ඞP[x~>²@2Ǒ~?8FOsh'#fZ{Sk56-p`8idKPtʸyM9' +4[Eii_i%V؄}!5lek9ӑEa{]^Ӳ01/;ߗslS p$A|}J#oE/.znmb^9ƥٳΑ` ٛ#py. E],iER o2zs)]hvuƄ=q,~7:fPEw®ZW;+9R`CkzVf_w:1| ܼ9|w>r@vo+o|6N_f@Ư9IaycTUe_+0*f<9Mvv}150v|8)7n3ePN%C'G5XOwuKV~v]='MOS']xT ܝ}^UTK]cS߄Lr;J-׫JS:c{VlKn/ĕcB)a w\utuNplhK7\9vymɜmdggnZ v|6f[z*PBJC}u0(w`pLt6]2[15&|DU$1¯B?]^[Oͫ]VovYR1 X=FJa74"/lwu!55yz^Vl6!;@pfcCgJFtHU[Qްn9lfIkt~uwb)L7 TT u|şy ~=T۸u;tʭ ֨hF%aMx{e$J&YzK2v'?&՚-, 'H8T:V0+aOV#$c@m]Ucj$F%m [wwZw"]\M#<p2 HDRTBYU)̒,䮽[=Z^c_=Un).4 dToۼ]$ׯB-}*)iOve[;onK3"%ЀXƌy`EF+|e>ߖ߻[\٪-oU덕$F2K^=[E}C{{E t\I<+R!uS6R*'r}rKժ{Lk#̲end(Sl 8SryT$<1~ZQQ&s&MOggS@%#IB&C?I@!A:9DA@BDIA-.'A>@:?9>BC9ĬeTlLvtx>9 vQXY(>;uP:K϶Yzz88xY\5R>]q6n=Yd7UO]MN~Tkt;KQI8պ*NwXܰp!kZ<mX *iY4W)pL堑[XUcS'MunwRpOiuǮUb;%žGmD}U?niTnzRc}zU&kp!ƪ~7Up 2qHnAF7g: ؛ę&=^WOpF^ƭ>q'U_eFۋߝوK`aQ[익 JW{L22.9o3 vb`Gh%r2 yUV xi\HfL)ynw6@-OF-V1UYgw2;Wgv=֛«s*t̼J=jm\DS;sS-tuR,?'ci`RU5)zv^}|}]EhT]6T"鎾 3;3wz7oEyYE5,G-t=fI%ʦ jCEQa>0@܎jZ ٥l[c,zE 4 n6ey Ff:=ȍlF1sI"}L @^q {T;p׻WdJy0\klθt]҈`)CXW &㯹DR(W~J3q.Z%gchfuX$J"BPyt%~v͋L:(]M#YV-ܯ»il;–T@ ^?~~B4 .i*QeS}]߼U9 lmklFJ ]QVZU_W7L^i! Ym6}6mi M躄9#g.ӊOP$']#2 1,t[~ke@P8>:ҽiβRآ5OGd_Z(i YTݻҭv7vVaClm6]]p YH9KƦ~0$"!h1|ex6/-i3Ͷ4^EvVtqđ: )!u}_w{_:w%A$QT?4?vй>]qϖ~ujT<~705_=Nr|2*彏ZoFC=M*hi8jOskڳCeZ4/@dUgzk16*FᶺKp%$" ++ljnu*h9zDvI~qxWetMLnv73bX?iq؟RgQ{ٍB>1Q苑'a_eS.D%Ҫ^2A*"Qeލn6qlJ9A0+ZA,i2D7̞҉֌rBN ]|S#228q0QX⦐"L'.ET'r'L1Mllo)l6js.h2k wx.;kZ. za9(,MC 03䋴kD ' $Jeybtw-kNc~%f&TSQ'Ə>Rmȧ6w_%b͞{@c"/eHlge?;A2$K=JՀe nO5/3 s\16u2D&&@l_vW(CDW+U!\[LMCVp>XmK E۬`;ct @c]nfoqdnMJ،@`@\UYpC05I;C]`@,G͘z"cYu{ďIMǖpqۘ_ݦY~lO8J?.\nWϤ96r>W]، {{r 6AS9=+BQTR2&5݅Pl"&P5ag:&`Z)\ѹ;DjFG_fdH eJE"@  2j4M zQ3,K3H@N̥w O(V+~3 ˀNJrR Er nΒUx@xo0%2+y?̦}Nʖ V,i'ݦ8_.6I-Vj/IvĽ̞oNMoO'-b^?*zGWVS}?1[rN7$ZS}UFЏY2jO-}"o7qU#ձXM|p-tYr+x(CC+SQD5!:δi@$(OF[{p3$UWޚl @2(^cpkt .wo7\m %D1gVچ8M `$|8hр\07:P-6ᒈ_=(Izܶmo͙-zbN(P%RGAx$~VۓDnw?ȞoftmnuJj)|B9PlP(Ȅ jL(="eaJ}zs]37⸆[rrɒ6&dRQ(5ʀ\N$ ()-z9?GD]~׃-~]ݾ)E 3  3E!ӛ$g0[`+֌gY0 t4K9$|Zjd\'VD˥u})T~J_􆟹LLzl4Et P#|o"%I3ň1Й4/黑+wEhδfor@+N:`!~>_u)XMsNγHysw&殱MUY$=1dzBhu޷,z))[ugG_l~w:`kkٚ|vgwm[t 務lz>6Z=9dv3Bl97IՎJF%vCI|VL&w|lM"r6lw'gx0eV$;9vș a \AZU"(7  =Έ*I{Ej~&g@2v}:dd3 .[}:6չ7đʙ# vS*7`Jy[FP$ % 5S$$/+V`ovuwگB?/;BEF%3319>9>s_ 2+MdrQVV'_R=bcrZJ]0mvw+SPJm~7; ZMf[FzzT1~ɤkK* *!E,nx((RƆ?ŻcԔ)U5yLz77#~'H7_ُoa:U`us0ohoM_kBLK1 .Pqk rnC7//̴`vږ>7Q ~-l9u xZdp4rY v`jtE]1LSaXR!{pt((8MgXebў7E"Tm#{]ɼcJXv^7gsϷQ;IҋX~Iv!>L'yW% )o8㜸{0Ɲh9}sO畽׽F_w̽1եvmo uZ/}vsJ\ŭWO2y(w;~XˡT n`k;u(2 zr_`p;=" u6 '0M̐&\[pg:!=cxsq *}(BөMIWTߙs6X8PP-[|䄭H9i>Տk=OjրZ~W]MLͤ 31c& kk:0d`ltq#rne:CI6! $%KywY*l7jm,hf|VEL%@2 t ]MVS6$ǧibݬl!"sPKלּeoU*wwEe4ZVT^AC=+w&_]1I`i;[qq<뢽{{ަ5cWf*E*:BRJ,q"A %W%J LM٘ x7bc:.iqϧ}yM3]!w|gh:ڭ5S7.rf/(6#Ϯ{rg+7v,R OƩ<۱n 2Ȯl6EouSٸjT\ܕ=[Vꨘq6(Y>=uic NKjk)DD"CI㦘֊W4r㊹eU)Id431Agڪ T`*|^-ɟ,V^ I4`Q> PR.KK˂t$a6{ kf=UV6'Xqs<\ﱑ-c7ޘ3wQ5jl*=>l(F*DjT.KEs:V=^'U{vT'_"D ~qPŦ΍9Ǝ8`Ɣ\pn#1ߌn|,S>/riWaKÕV$ D1ldܪ B` A#{?`#351uc&EyB><TYp*͖p4rXpJޘnrP`ɛQc*Zn%#71:φJNT@5xӈEl÷aLh3MZ r H@#+nH[SS9g9yλ .wn5@.} `(^x m UbǞd33" m EJl1? ~|kMF" nA!:0쵱Cc^x\5f*SӷHH6FWH]2O%pOɦ7=륇j {ޔA.aL<.r="O7#S+<ϡ3gM;o:ʛNAvo<2tL$Tl˕mN=tu{rw[C \xFܺU¥QM@K^4sCݥٰ7Li[{hh6 &eI p LcZ*a d5:p|%Nej^ɛW3ff(y=ϫ$IݍaX5nOK\vV+M}egQqm2oRiWUhWu<7YU8"eu%v}"tUl__zC~}F1ƭ wdImj50]w{[_CΆbW]kA'зgs "X\kw ^"b$.K%}q9nD/eXs3o;dF:eDYa,l+H@#@$+ ( E@re:r̨̔ki?=ͦSmV6an~j6]?6oѩrT3qqVtc7VtSG$dtztƍMJyUAyzW}ׯF5'骹&GMgS pّG+NA J=fҵp1;& $i5/鲲X3l neR g#9$.=W n3k^}d#1FLg |ʄ] TRvfm `J1ҝcVSޚDަ㽩=l}tF$dvZ8t+֋ mS:{l=뵞؛ct[_r;UJЖ Pv; +z@rQSeJֿ`g}9|mٜn\x;cLV=Jw2m25^_ɞF]I nBeI g}N䌶%5? t5Lzz;6qXQdl[=;fbTeJSݭohlnknnY.]YJƐ+4Q, 5p^!p%l =.[Ұ ۢ2nh%(nln:Vp% p@o ӱRو V %uSh+-;],UŶ|jj y&I!)WFf^b/fR)}ʯi8Lo9s{1wc1â7g ċ0kb@pkDCL\d+sȈLxBlV{+[6ˋYljoM)$նYZ\u,.?y (͈3Q2k͑&,Tڭ{:r#n[$B*.n`@Z9tq,q#WN㯯q\m=Jr42к0JXfiobab➼H& yώgL2eYv˾?z^Ӻ_sQ@j|Jֿ0wxr慎$Ge=fr\k'筰[Nk{He6F1PIeFdbcӝ\_[T30TOمfP!, sP @Q7z rCJQK&M..D2Ȣ@*pkJI+J tU=ytk{[iOc㳒@a[̺҇fZB6~ L 0P!3H +CPi#p`ޛ13e~<ƪT-xw;'tKь6ە$M.\)&wtnLvۺ+Mm&Q):37yqFTJ^%orª 1BUTZL܂ 7qr"CC@=tbN vc0 p oD˵*=p _Ţ[PW٣4Imk4#9}1\fSDnY#(3JT V`2$\̔)%オQuo\-)n6˘9-5ܱ7<.󔫿uU<}R١%U 9ThRO(U{Ҳ| NR(Ǹ2Qv8G&6Tu.wU!2)rv 8Sٌ(E"LJ(&qRB?Fd|, XE^ }X悷"A]bԋ%`xCMMgr81EisW2  L;),{ m/yW-Åb)y#pe: T" /|2Q /¸r4QDsޕGvՕh :ߺatL R(Ў}$1vz? ˢҧz6\!݅ӬΒh0„Q,ѐ [K<('#~[*hnfVmm|Ծmc6\JF˒R2 @4U}_{]j;dcawvǔZ<:Ll]ӧ'WLgf;ݸ9{Sm6`+KkaV#e]ZYIoҭy#\cwxsC+i@!AQZ9lM0odF~:mfnզ|[%u¾Ne0f*\zu܈PGοY׶ykޫtMDy wr3Os\Fd枵Pi&OYw!Sk>P ˩t&G! )!pݵ70t3U+t9X\ӦwB2z(v3b ]V¬L k]go띶g=`6XƱ @{j984Y/JvEd7 kkLR̋eyOts1C➻4~x?m]9 :-ż>Yo>a K׊DMf0 l;g<^zq:*mAh{Uk{XpA\5#/[<졛Siư1>.J6fmΚM|׸ΤFP,~R^f"cQQWp |Qy]6]ouZ;޽ucK{3Is;=ď #]\oW?B:f¸)7sf~.m:]f ċ]ڡNRvu]'*5dU,0ξ.uhT EN"K4R/2Ej&6֜?M#tC- vԑ'þ&TswnNbֺ*KO5MPӘ |h0'(&w~2Q){KiNg#;yW2mWXX`KIntJZ~]Sʕ,]tU_oE^]#lBF8ƬW`ӣ/@ECJf;G[c*knj%kfc3*%w~y6(7`;}%Žޢ˛DR&V~*ZvM7Ө>msjMzcJ}k甸|Ht*huǾ]kҕF)熚l7Ìp]7cvɵ=0WPT|]3Jm9KjN;󑷿zn\>v>M\k;4={Ma/?Ҟu'´Jœ#> &(p/!.Ϭ6[4銦e{ƖOggS%#I=e)':4&;:;>BD;A?AAEF12/M:=;9=9@=C>+rST]]!Xgs:84&qR?.I2TodHyL W>}F9v5T˒Eߞ#K6T҉~n/< J[{AlͧN*W M LJffGVz+CEpoj.OXouSJ19HTq;^a:ugd[RtPhӍޘ)JۀYb+Ab޽}`Qj*1 ZӶQ"YzwcQ1R%hs0~C_ELn5(Ҝ4(}< v0/fԌ+ XgUj3yuoρȢآk+RT_︽/g LIDee9vtD7ͬ zavaJo2tڀkpsO͞).^8酄pXjQx.$I~/exc\/1^ \͠\]͵=_.6Y[6Mv Y8=8ƽr/f+̙ݾx*Jd?cNDlT2AkekҖ֝>uH.J=8.tt }7 `l.fk@FӺ|yOPA-s8SЀXX`]E[y{f@ZB/ s>Z0P+ @sp[0C Zb#"KZ˧_Z)L٘eoc֏ VYMq?6Oee/oIh2OGW7f %±;yۙBjUnwW%OY3{c\-FmW"{rD3悞_Tfr]mv>C6DN8R'>b'?3J)7hsxI(J\\&hB}\ v#@#ẅ"f,aǡ7Im#:l5uj!3*ŵ(Ì֎L]Ywnޥu7Z'͌µ- BY ttIe`Ivk:g'h9vFbYzyvl1lFb>=n.% D{A S>9ߥJmq7›V7`+5Ij. c-k >8֖LJW WOWe[ffco1C4 _R$VLōa }-VE?ps$"SԲo=x}.ZkU2@L9ʊA+mΞDr28>mg[3հ&fwBؓ*6VFI?W"FeXF"i:N1[|vJuͣms=ka"R fñ3?| __]jSFo޿w͵]V5ycM/Jt<5! X:{VR vE|;rpw5MaZNjEEMgOm_kmTOɁG/Pֻ\T_''Wt,Gd.C:XU,W: {mYZjەS A"Btɧ<[Cc),"`fF,~ocӅ`lv Vc7-/[9s5O/xq͈,¶{XZ)kZbs^g{'2⅊|ܯRg>1S}!ry]Wo3.Qu4m+aL.hPX5SW{7{XB*qE[0!NwV _04mL33hlsĭ+PJ[tixi5`~;cf!֊ Kyv^c21$F%2zʻ2.d ԥN[qd{~7e~adMtt2el.moZDIfSvz+;F3U.~(jgFՋopqHx]t8r{6ZKKǍtVaxW1jU).d#> ZC8a_7/ ՠ&d `2D^g @DeDJqy5y=0#bs40WsOWw~9Xn< ĩ|ш 8_Ww2m@i]ߖQk4P*k;{FZaA0{s^ òh&bwxgĦErL ~+w+R?I{I yY&ޫQ6ec*ܾӫŹr>kew}3OgTQScIm8KvWԘz#bە\JkJ0%SNzW&YQ trԝшf{(sEt' vrߏNzݨNW1IݛL|NMon)%,NyX3پod{;Wɧ՚w{i{f 0IFn[5t 3t'p|A E {"9 B\3TY߿_`s{mu˓߬/[_7i|6q%1%oR䮨o{ˇbQxV O_ݻ2qas'E`{E-՗.uI\]&wڍp8[u#ų[*KtbF|n/j7{ΐ]ֹU:]Ghv]3زS4]mK;B֪Ox433=Nm2b b;go_XD\DjtowcA,@uNвh*c/˰U,kqZ[.ƈ}Wz[kmqZBg"E~ 9 #5lJ7u~H䶞SyBlVCkdMtB#kw` FzXIpѩyW0v-TL׳YdW{Vwd̀Ey6$/nm0<~#NZa6_Y3Z%Z61X\'dA!6J֗Wzwӧ-u7c:ndv#Twuk4{&*&^N,Ofs [{Mk8Hdv#7YF(; s~QMƢԦ֎wy)R(V绥,NySuwwQL{K5" 8啱o|.A"8baQRblʹ՘wjn^5 FubY\Inl!jmߘ5MM z+Y_--K%:$zE(Bn&vdqr@HlT)[}Ϻ-~]uSLig>dK63t%#x+FY$u3FM}wM]>#C)g }\Jugga]m{2!0KLNWǢK ͑瑾oPF gOggS%#Im%B8;>;=;JAIH+0;Y|-Kr5%PʌX?!8w*WYnw9xk;5|tD.X-KdݢHW`ߔII}w=rvħ.l^JjmӨ&n 9:r̝ThhtvMP- rfͲ3މeuat#&OlIoOViRREtu]u4?޶Zjٽu-[&Q#4 Xe >^e-I:=HyoT"o{]ɔ2?gl,en'p\!'3RAR|<Ъ=;* xݻ2떌X5í3B5B{nlڍ;bSÙۭ@y&'k =R-8lU4{R7-0"xvDX{эT@~WC@!*۳mʖ4_a&ƬTV{}M9,3XS4y_?S?r+ջ].gyεn(y&fnVUMԆ\S)vcUyrT}dLUq4.;έ'R WbJMuC'۶Iڂ"Pl2 t\ՃfǮtwν@Dv*CN{.jAђ&L433u ɸf8= rv V!d*qA*TEXdLgh`<23%*0>ogMF+rߤ=oNSeܟRIj7ovL) (D#BIsS͈i2nNv ҝ>UR-&U6:DäF3I7qw,i4\)ᘿ̹$[XF #71|jgL6bb ~u8W0q0 0ṷD{],H7FTssl̍-t:u+ԉ!!` I|S-td"{gut~Nivw ?X$de(E"6u1\"1V @/Ao\ةQCQOϸ2 np/3\u`W=W=]Ug&g:zFwwӎtmfֳdVi 21Y)E0gLn$F@R`nۛ]}YWn{UozztnKZ2Y@)] u_UJwr!&Uvmks7mW[ڶmU)lFWє=' ?@ZU$:҉mr1-k[ޣuiOٙ_L3+60/莭VgVQDrxvs6cpgSSJ 78 Qllӟx} /a&1^~ېaUݤnJ@>] d92 _dI[KU\i}b"=jCOCtmaLqYɻUzYϔIuw\ȝT7wUa:ըeϰa5=7!.Ռxe#8Eu/J͂pu&9jrcff*j*Jސ1 qLԝ?r[oudI_iYLHDW{83s>5XSEɎ*oH^O/[,Wo5JƔUh:ɝ!w֙R/R&:6^x_NjiJ9*Yȝh:߷,.S7dzZ.FCK9B9#:llnS(Zۥ< g* {For1($!RՎPU:5j!V<AE7ȈԼ!PMi#3:i+YrLm۲ͽ) `MHr?bxwAs٣p)c5;B^`hdc1%xtemng-nzn7c @A9:}ҿYW%F9G>b+w.E \ܫ8c(C*뮪[vliS*xkC3tfK](fbcڋƀy*B3i j86E5Yp$,Cd0YM0MKxRܲq8Qt+IYS] χGOY۴+u \ɘ>枞R9;ZN~m*VyZ-MWC3ZDW0ґٯykU_9XRPdpg:<ǃD^rSH b@1kVޠE @S#zEsqk,h7X0zep,J ^Rt(k $@:cb*tN{Sj\3TMYv[g=~|A&,~3T1G.mly?72q=ɛrt5;h12^yo #fveϼZv7u:tGñq._qfݎlB}6ۭ|%!SkDuCUdl&Iz)vHNR1 3㥥BoMH_Zt*!u8:3s!kľcovkVHAknq쟅/O}1ƛ QԻZ) $(ZŚ9LdH&I^IFv;O%ڦӧsxϬ|u EjE[3Q۵=flot=5&Êܐ)cqN*@?p jSb+98|J):m:C.kmo*E&\ꐥ7fC~Hرi>H͛RS&o:~f̬s{X?mgOd2Vqw 2*a[k*[!*%`ԕM+Q{puty]Uڳ3 ƄR/ ӣT8*dnxl,JƄǤ7ɛ+X᭘(>sk7wIvu;66!7nKǧx+I2(S{Y_qP?R_ו:6tFqޟV}iڵqM8.Gu.?ٵ=>FmJ|1SVfb4G@.ӣ.:ǂWcH W+rn٭x˴ ؄A%Lky .oxp))>߉p ou=mHYݻVz;Vo5|V奒թfN,o>̜mqM skYRja[)p $pzy"7eCi+E]yUޗc uW|BzB ٚg1xyX S;as"h;3PbrlLpT5X|q@-jUN Z=eT`}wcQYR 5c*y(X"֞"Խ$S ei~r̨)efktu$IWye+85g}nXr$Ӯ3rɾsl='/oNd\!}gKSyZDw7OFB f|} 6q5-,!n#Q3Q'+*Qǝ-VۑxikK혼ɠ$7SRG23aU֛^]_ESٽVcd,7Dڈ2ms`͐1yE6]+MgrTTɢA,Lq@[M>ۢg'&k:7lW= VMC7֥+rM@A .ͧ+uϺ0zaI^~LeUAEϔA|ҏD齽ݵjWM# el&PAfa"K]owꚳick 7S3fB+߯@Lzϵ6ٶk2ZF\NAz?ӯw>3n/\0L# 14]rYJ %okMyŬ.QO-/d1tqOgw)f5˾fFVFL+F*U}8Ʈ\T.#)..nT72PHzhS>%'caj#`x)RU\|}-t߫NC&.Nmm*neMW23I[P26 L[kc,Nkޥ*4Bd{/+20q7*3z7Wkwu>&L=,{=+OƝEзLyJtɹ /;u ܌/S.FvT#Xz>J~*>\*ۃn缝w>[WޥW wo>sVNRq.%7i: lF`wܵHWxz4m%Ѩx_(\%kO9EG@cR$$L&i8Jq?HGc nbh4&k/vutLi1 v4 'x P 6=^clMr2e&'b>|/j;}ɸY0Nݬ{WmyV>hAdt[vͤ6kWWW]^/ۛ{)?1X!~eT\n,c D@C݄o}q3kѳ`elu6 Y269ܔrQ ?Fn&P =d՞*k QRS"U`(Xt"Dž4R,HOggS9&#IhL;#9;>=@8=DADF?!C?C6] _a$(eʔ@ׁ%?;<2Y{wvHu׻_l{IWm˝b!FGIxgu):0ݝ*e;S{lwbdGS=fJ:̍El+$[خ66GTK[QH\YJF.](%Gd5zT l3EQu(nSJKjf.-|JJuV+VɽГy~c,0*1%L'E5"7^Qo䟴,ְ˚%@n=įЋVxXúm)~mT4 a7膔U 48 J#!,n-htYHGi?u}<~꩘,zsخfY&# 1 J 4ĩpsHi"kwws)'qfbm]ޭqILKЉ{a\]ws_"n̽x#wl)wzoشmo՜b "W"qKa̕{ ק9#2Q3N?SC*3|{qX7@ccsPoKspdLe_?̼+\|.w]~ME͹+6>J3wv-| 7E3sb.Etsk2%.۴ TtgK-4F%\f;wRsb٭%gƚGU e:{խXV?nwvWΧY=&imf捪\0õ5,LsDsdw5ŀ_8޿Yf5[;FUX;N>Hz-/r{o᪩)2/1.e,vbs_s]>бJo/;tmnniBYM`fϹh|zo% ˦i/+Q)^u}p=n:ˌWu!փ(d"iݨXڶKpOPAjޯ&EP_NzXma?5D-+:DH }m0+9}2}q!TAg ͞}5b)0|oS74p8u(zet0 H9 8%2@^]=y._SIy`#y3HFX߶gY]qK/N ܯpOe\f\N9mn! ]>$]ٗz*WQ󩑻S_ɯ3$v> mytTgW_dLi{0/Wd35N9^,uZgYW3>z*DѡC+nGߗrWRn ؼ~픑TQE>,e y+pʞ#`4{@LE+ o?8M) {x@NIZ(4 ɱ~egl}mzB^͔)˲Juæ:ZpS%B%ёum+قj|W^>3YHynיrftK+|0ʖNugsKrJ+w6ˍ\؍j^lۻʉ/ȦQwC  x%.=TF{/Ww=WOl t6ͪ\O)}{]=ckDV6Wsx)mb ,6lvw0yf:cb2!4"LY@rh۟}r+Ld+u=?V{Luu𿰼~괤>֥+6BOsfPAe 2IœOwԁN.4mLf}y4V{:iD{;EϷc#gN%w5.J&v3X߻J*ٽV4|#׾k"&/=ț}.[]sDڭ> 'V Hw3 'ߏye?_=q帮q{j&JO6]:wĊq L#5}`+9 f}=aRZaBmNLFi5fjFٌeZW`70g?{WOsEwV]KJθ;Kمr=9Eo-{{{1 1g̨ LevNu4|Km]\;+3'\._z;F%޵Q׺Jdln*NLo4];ؽhmތJ3=_m+Zkm?M6]&w{l[= cۍI4ÚŘPf9Ԍr2X5fP_rs~y޹D @D^ ebs4M_$52e2e+Wo΍ry]<ґرGd==#xUKrJ-rVuWnt%ރDf$Gk~fd Sz2HEIՕ#+6pz[z +yǺ;{io'M9-T_E<}͜;j7QJ OggSn&#IF+(=59+E:79;:?DECGEDB>2076876FţjթEDa1Jf7Z͂.Sw^1ZS9E>!m@D/J.@0e<|?=+`&)%ﭵޯxo˻^_o~~r|lz{9.H2+4['MVV]YO~"˴0с{]fu>!ᅶSN34i#bַߝ+UY +i>yք 2k\u٬ЗXZV?\m?g92u-?+i,dT ~ރ `i6nYaAn̽Z 2Bw0 1ک>Ye=Ui~UwW`$U٨y`;>Dy]n]zT̺mTY2$csTWkwLJ_b5;Ծ 2e\2>BsmIHGѦ\c S@3iJ{[:6Y2g69␹R@0Z+tNq6rRKٛ kSk={IOQY6$ky. /񨣸)l{q]MmU^d7qIX,XDF@ YcpkO}YLVZ=Ӷ_ڶ VWI`pf(-q|Y&t=_V嬹^lReOPV"sy&Ʀ P…A;Y"K{;7<]=͹mk$ .A @}e+r$MP̙>jV'zݗM*+BD"QVI0$tt{vI%C}Q& c?xM{+Ͼz5w6ygR9\[ H oITu([]?|a5\Vu|?YMh7I;dו .gdNaKòq2!iT/ϼ2+WWkvmeٽo6 \?EƢUG$ z@şV< תTC<ֻtpq\t31sY-V9:4P%CmIYnb㾵>WbiTwLɀ=;ZBtO]'=7Ŭt Q,bgإۥի,1CNi)]+߳Y;iDf\j* /rg!\Jϥ]=p=nv7- 2۫tuvŰm*CQjXLB+vQ4FbU6inH"6jgdfHY{ַM6P+м6 3ta;+#0]ӳdp@H{eMUaVLZa&I& -m'icdiR#5,IpF{me'Q°DՎ R<'J32}Fҍt\۾6dJ13&μk*<} ԕpۮRS97*N$'PѰ}S»4a,1ۤ1ij4ŁlTϨb!=ib̍dnӭ˕Ȩ+ڨ1(쭹3-޳y^M1l c{ {[LX˃PI%3TIh@,.z3o*{DY,CUId<Hĝ#Nq{Z ~ոX8/;@$K3.arR;MR3)l.ǔ'hnschX-bJ74:՗k}J_U0y޷Ynbvjbrl ^i%d:g`K|6ET|\yxH1 =:7oxiKvwtV#ddgQ6Lڵ8r,;=>FBFJ&67AAAAD=(*+"7E|6n ] j1=OgDA%[D3Ҝ^nm3 7Yk2{K-Ps;ZޤDۡ wǻێ3}yLRJ2Bo}7ZO6/<$=uݹ|m?$} /(;}F5HL5HBuzt2,T+:\bZV" WJkmr~wB)c9ߵ|>^^f={Y}nܞ\L]VJL lܾڴm$$ᥲ':#vNAi%rm!奍-pv9=QWZx.f.{ۍ | kf8BZ$y\_漶Te]1jkyoH Y ̕]u$>f]!_ UٔU r!3-:xt\O [a $j<u;] rTJ1uE|^YSa,9|ڠpc.%$j" ~sCc~leܦ{.xiovf7Wz)ȲwOO/;K\墇n4q H&-fV#+|6t&э@\%eZn)U?xQdh+ʻ)mr`} oFc{״֪i0= gؼsn0V:Yx/JHsڶ[)N273L23SW i_53}hӳYkV{۰,y ]^udL?z31[Q;Qή M0B>ttd3Qʩܻ%kmI/c*>/w0g窖7Y~^:yu$קNn܃5{(ƣ52BųQ T N;ϣAFu 0D׺Xrlm.77tz^fAPI6[f(A:r)dQČV>͊Pӣޯ}2󩶪Tt!M$@Y|(bp18} /_tI成HcUOMc K4rv׼s%7!REHoٶ֝w۞ s+bHI[L;A"3']{5bxRfZA_>GoT~}Kl{2b6O~d mcG~1us[YnеIGWzꭕ"gJ.6[]X"MՉ-$@V¨5 P(0nĖ&K, )YQ86:qjee#L g/f B*@mbwȊ=5ͥamc:)6P6jadnȑȜOF, ](N~m¢@p+"85> \5p f:jƦ*/GgqF{9\Xa,S7,on6<-|W+[ QM5ȽBEyeĥ[d,ݖit$F:W %GEb6#h9*id!ʍDPĕ㤸\ "2$#Jim3$ddƑjFs#eY/F\*]fm\00Qi4aըn`DC?[M4kCDjL5`,C"q ا薊K͏_v΄̛W$*eyhz~"N{S|b^!2^@TgrC럸 8n yyq7F̼+UAbf β9YTIKhn"K8{ $I6BTe$n TXh&K J|@bdA/)@L(ykb:E.@8K>8j nf3 3`IX쵬jF۸HV&frfc1=~oa>8rVϐPS`5&sj;y ,ܳO9ulu t᪖F#W7b]v~~ A~t{BZ+~+-2q[┊QjO"f8)[xn!S[޼iRRכڡ){>n Tn*ۑch, q:g*Y"R$q յ`x\u,fhE4\bxpb%4r0 P 3[Ѭq ܷ]$d²yq |CnnrT9*8DHC?*4+/G=>HF|#:BE^Ԯ5y ~}%TZ_P*3c)z;j#ogֵk s HEɏY@=MpHRS&o@p5_UkL% Llu>gy xX:>\{݆ \^=]hDUndLaSDL>]s-WC-2b{O_`=҄rTFd.F7q݄P"s+I!*2!D'(Ph.5*K- ap=,:aDhiCӺfr8 J6Ba7P386粫֣zSE)}K_.bkf  ,d4{V&ۛ jo~lJJ9zY3"5,@</3릧>|Xmg޶h#ߛ+ H8U0.a7O[˳Uty{n-Wz?^ѕXմk<Z{&]Sצ d I\]K^`N0lLUhZ!hT13}n-O_.k0u]{"&yVƛ]DXyMnc\S*Vb-iM-7H"T4"s[*⾿օ˄^ކ;fWVNWRLD5K#k.S.wIFJ\9VbټfP C=s71CQ(|a)Bn\UcV1",U$@H!D߲Y dk(ڐ.Iup:k;K@\%idًc;xEn={&:03u23oc|<|/QN~~.M7eR$@S S0vVZE]V~2+l9ޤؽwjdLȽBϩ<7,T؇a?=R9gk|dor;%BW9ԞL,Y@~[鱩)\W*{i>P 8BΉTسQHSa54!{a 5>2oj9?{{fwiWPeP.+͉!h)$<ݵ6{hkeh+{D9mGJ?ޫ:.﬍T8p@w_/l\Lg>J8HUE!3OӛYɘ~-%^}XMmM8SV%P鬮^"ulV\f')LՕDŽ sYeSq0nrTmuݚЇ5=t1,&&S D+co7B!Z 0_K-O3>8$srN:#Lj+StU ax/(iR*j3PQOQf*Zp%ٛ~{#IVcdnN1Q-Nҥ 'op I7E5L^%LiJDbK?ʅc$ q)>i7{# z ޼WUf2HU/=I?{c֧5O bScϬDw{pM Ntt/~+,޿r8#"u%ys~+%TVhKfTG"͕f6)_SUm ^ڮnz:Țp9ϵf;rV*Ku/)DVtx EB*sK>X0+*Dψ'[SuVev`ͮSNu{ kn`RCq2Dkjz{3Iy636mr@T.#ABNⴀpV{,?} =d |MJx*ߗQښu3me)ttLK^Hy,cDB^%9FE>utY=7;2[I_/3 uȫen4: 0!+V ѓL?垛 |$ҷs&RKuu{1[So.]njYYF6]b*7+@w\}T1 a[Q2nO=[捦ǻĬ߁̷iOggS&#Ij#;9>>==;BAIM.789*P}Lg)in^.gǒ\e6bT +}D&R/C![ 6\wNҐ}I7af߄r~̖fv".D*tn`-)0KbaXЕd~0y|I*g(L-Y`خ h%}| -f6~ :FbBw}3o2>h)֣̈́?TF@QFb‡׻?o,t &'LʯWeNA/0ՌIT~E-}:^L9Lwlύ7}z ݭO+j0NbP@7"ڙԷ\89-@[K{:TUk͸ػw89#eT)cVΎˈCNVs.@u v\3ulj+Voodfi"Lոy8 lt{whAm@2SsJ-ES$I rBk@Ku+-?d 7l=Ko [Bp R{|{? [ 7'>L$yJxתKߐ4&Y킔{ɛ232W'sZ)U2o2W4NqzJTtʨ]]M%W2q/UR<5!ڨs]xVd"+/ܼ'Jn+wU*tS @{DS^2j'HRnB_4!q t,9<&/=&l !i:0aA-]PU &~)kHt`@vƠ5Ӳ(QƸbg`SdPE/$@ euH}aoQfLWdyKpoVC'K;K\jnrXx3m~v_ #OX?|dt[l лJ\f;4!_vB|'jRO>q{lP=Nnj&YMfU*RurrY&SQΈhq\ɱB+;Wy$qJg!!<*3)+q-;&b# Puh;6qK7>EֹuwɏVӮl t6Xn:%ט0ǖ?Okd[f{=!oT"UFǥ4av@uNJq,J]w="EM-{?öd"dKdQwxw$TVTnϣrWf4úni]lʴ(3&$3╭˗h$;Hׯ)#G.Kl~Mv۴9& U9Aap%E]}] !~>s9 LiJvx{\uIiF,lYtROnA[@?_/!$nσP߻wb٦굟M_ougK U<2&hYA@"=N[lhzjeS?ju~F78jqcI*Y::cDw݃Q}; if%ZeD={y L)Yi3&%)Jo`Nk \lY8-y=u::7Eflu+QVN=].ginVͯ{{VouCd%Ude8ɾjf7UɁMoݓ峗5{U7uiOw=mC/Zv!g2,g1" W=WxG'ۃKUvdltrT}6ZHSl4d󴷾f=kԵ`L/ki@zQۦZAW`z I3T\MIQpoޛ7OL[, ?ذkg~vCq]e.}f7HՊ%?q8;f}aEӯ^k#W~>ڔRzThBowc]~NΡ}+7". ސ>r㖯diXT-$t7(ͣT+w*Wef4 Gz)VT?ڐ'+&ZӞLa{g@aa5Z.k9E[〨)k#} ~e. X@Ҭa%\Ub3WS&ie8*K,7wse}NR@6oq\7,չyh7lY~{ו\;?ZT<֥kTC!H'qq\~M%;n/3/Z͐=ݹU9|ؐ[ʢrN~z*U/}O8t䤼͜P>Ӻ|4U;Rz]09.XEh@KS.=;mX#k!:=2:L˂dpkP#;)kcӲ<,bd7 $QʫkfYv+|iIڹ2i4oʲ\P%g A_enꆱ7|:oD٬][#;ր2{o`{0B(KӺ{ׄSa(r3Zm/P!IL}B"¥[ }'>^h FՌE[WwekheWzr_jxY5YrII`[7dh4yļJgp4{AgC3J7KUl)=]7:ʶD2-*:#nlsfEioH}nVw!N;]}s3e)thIO%fC=*Gَ7-8fpk:דۉ\-&[2e3h㦶LßGSOGu=CLs(SpOggS@,'#I,z&ELH1'$F9;>FCHCA@CRBW;=<:>@+#|4MsWhXC}5{BPOٱ_ Bri3>:mul޻޾յ6Sf=t6uhRI,&sb`#(?:*,$zu?Z(o-ZF[To^k TӰ EO$2&=ET߯r;,$53R&[T~S6ѿNMyzvK6-$lԣO׷\J2gm4/R"M))%&Sִ_%GCլn-43VpNuk*g&hjG% κ!\Tjb4܆z6D Bkhy >|LtݫF93_L$nز?(H^7F)uo )8Kq]='%rtDvNt:f VQ< \}\=}L_"MV;";RוjuylJ7STp<|34ͬTdib;s=)K'#vvNu|,`JG@,zX̸ШC<βTh~=܊*,M4-`M%&LDrz5k.WӴU_bUHp̋1̷@ kiu98 풅[LԦHk Z $J ]g:\(U Dmw`-n/3i\H#=:cJWo\\[]tkVAxfw8&E+$5.I붎V*&lR2`eߗrٱ⥅%$6,m%9[/Je$_[ׯvw*oJC\&ٸl:Xp8k0t#[@6=l $dۊK++MBΖxrr"ݤ)rbMrvofM&+Xδ>l',ϯy:ym7f4P(ӤYgE/E&uqD[[Wr{nXzm\r-MMc>R'*A:&1'zg55ޟӀM?hAHzy)V#@P~' ƭR7}КF к1Pȷ۪[3{c]2&@kv2cCnK)Ve?,鵌-yk5{W2lf&/N2K#3jRcu4ygM䑍ܮ/jQ;)w^՟8d]+!Zys}1Mx&woٞ.]iw}zWnqs7jOC>&p¦rdf"eofiV6J:tV5n^:Zݡ͊5ͼS",O?~>r$Z1:muOzMj{3{Ug\,Pqn. u ۴ dI Tڬ6+srmm:yNknW'u^y Yۤ4Y ouYܤ(Ӓb-ktmkvo4e7Mݛ\'$ҸZ'*]_&#*+Wͧ0z%n5kkiV5ަ-2ub0Y* ƞ7 ?s]mZxYf2캩b_쳕xVo{m 1$n< >M84ߗ'QxrwAUju5JWmP4&)~"oZerD*tK@z4']ĎfB_zjoZa/.5s?];vhsjR#8ͰQo^Q|ېٙnf@"7}otTPRrBu3egyEWejٙƩkN{d5w1 2dřze %(GbT'ʅ+on!BrR#Ʉ&l{IK6Y 9r"¯dE2R/SaKH['aq1\gشa(q qÖB7CmNA E`0j3P`$*e.Cȶ0manWU|j߮lFo48u=$A^\r|ٵ*+kూ%eSQ^*7.kVx_ԱRQg43T.ֈ@rj8Z2功Y1f~?۴ً莓%ӷ?\V=,mݒΨȤش7ܠG'B(@aD",aȋbΐCFV/k5Yc^Zkinyʾo[do75T(P\0:pu %1-~yzV*tsu/7YM3Ό`X$WrdϢź0G'n<~=Y-7;GeMĻcדTHPL`㌚B(Z/ .ޔ#lT҉:'ive2y \jUTf'XRC"d[o8,0`WTElwW:g7BőwlR)6 Os]Jg% TzSCa-ly~ R;o=*-PvYeffw-Oy¼Spʞg;bҽ6 .jS%3~tcWHn@ dPx>\0cL͔ɿ+6a3=r#Y=>cd8]R}+vr^Uoϓv%JttSھoIVrPbj&'3O>'J~՗NZmub,ne^f9\Rs꘶n3.E~g.YmHyGXh t^sU~QOOD-6INeaa~0(A@Xd  vN3tK)"^wBc \IՌ2pW#5c79VfS,(9KbkJv/θbSIԺ*1O^>v[QcU=7SP4>zYa+> ml*׷Q5I7d//M-.Mx&\(U7nm!A\n_ҧtuم;|Yф6Vm^mt%KrOggS]'#IN \&8C?GG<>:<>9D@BM+H:;DAHCCD417IrXײ3tS2p\^M[m3 X`֚dpPT&h:$Woo޳mQe0H(XPbmmswuwe] +f:|b#JaJŹ10KѦ솉ݭy^ͩ#E1swk5vkݖZoapr#uj0搐k$;_([;̾aYJqN[= OMnm^"K2l($ o,Bp*}YE$3SJ)I[kܮMÛs?b2myB[{9ϯv𨸈]{*꾞\R7 0荃'ޛJvf<⠆y(L퐪d+I3=r'2#fbsru0z;gQɒz{b* ?c1gUb:yb벘^1{jV4,Nln'녭?T-t~%Io9}d+{&ҡz\[L -KQfXEem5{@&d(;Lω*AG=*M(` @f?҂ JXgta癎|;5n! gq(0!ǜը"dIM `#vMIN9;wVlQl<i5n)K_5Dj Oӂ$-qy;]':~-&Vnq1$Љ3J˥2D@. r AW3iS5-hN. (tKERI*UI:,w*K[qP_v͠jR{3moYoCQ̒fF/ It B! BG%RHMW,?ڬ>]-S)VlśG*tUVdb2\ Ha/@?Ol-ٔI>u~~fjS)owk[v5ˌtF1TV7!upMG3KqV✣{}VVoykZk:;@k PV[ $@Exf}lvڿ:7=7SFZz?~5*ξm,Õewycx ~:u[袺")297!U[;Ն'wW U5]^R2co$Ǘ˼'1zF[l(`T8@I>7}ikܫ5ԥڮyVnɉNfe#c]['dʱ @ɸ]Xa֢Max9kZ_֠ WLaf[XTTmnOc͟L|Io֫t whbg?p+J|"kVR,D^E}gqD(#$^d-ez1v&ĉQW'7"Ի*Dy=9bvRV.9ѳPn|w*+}j?Q@Ҷ\E+zz<ww[;O1ݧaӫ3:f6C1f왒Son^T;#^.xܯ+Sn׬쫷62M6>6^.vi wfG=#E/⪳wBZ@JpEf\,xjss#BId{g= T:c5R,-RChҫCdHSmRI3=r6U>Lt k ?֥|$ިB\gu+4λD[K.@Dbɜ<&Kڹ ekwT@&%+~MH}bu.6byei[]^mS=g:vTVW2nv.UXE@r4W:l1{U4muն{jmLϰtW ~6> ByjJPHL;\.>:tc8}v>+K9Ԋ>bQQ$͐0[*:{+7hI R@S^_x}>(n}ocE.;>rOR}O-o5WY'6Lo/ҥ*7ۺ D,T+=VOXV +c:EV26 l]&BDʍ2GXbx rQa)K(;hsskndXeFfaf9k44U5zZYP`cg*@ kckY;ً 7I#~~ǔ9 WѱS!C$k?̧%K, GHtsjGds˹(Θ-PM{mO.Ԯ7pMmG#6+~D1ZdŕYzguoRzJsu并Y3!(UqOLtYN!˅T3SpRZBu ,n-배BX꬜3P5ZԢ.iqE=Lsǟ%lf19  pOggS@'#If1x&::<<::@,...5lϤ% ;s3B Z_]U{D I1zkuV1lf9szEHrC@GƐ@rǷ-^fWo\ɈMY+Lt\U 2MEpP@^*H feBbWimT+Sɱ(#2~Ӝ:jj2sU@=D ֐E^.?OUofmn|TNں?O~CtF9` @z0v&{*Ɛާ n߅ܝW_FZ4& /I(OTe}k~p^c]?: w@:N*H. %J*h?@fyK^uIUI@wqu~r^n^+mL00}= WmlI@=Z7*1+Lwh&m> S)|Q'{9t?_ޡu+TⳀ)AW1SzٛW9{Dl `J+luVIU.մ\ߔ -Ѯ3 0lOaL*GS@ロ285 ѐAGJt@ҜZ#pI~/H.QxoLXW;~0>gUuk =!g}]d&+x|Cέ~oH1jyRY26vtuo3linuTVs7?9["v1[(_ĭ?``iIl"U 7vɄ5U(4=s a;Hj]bBկn% Γn۷p {`_swoZ0~pMHU[}(0Vꁈ*{Ja"Hw%jF)eȔǿ`jKqw)/{ +Aqфk6:FcZwo?ᆵ9]*:tѓVuIn~Msh긯 |@ kxxJ:%{۽7剱b Yn=b?cڄU\( y'Qlb/.\ȠO޻CBKϺP ܴ 9C_Ac.[ٷ#ڽLG [R0dyV:Z3zʦDx|7[b:=Vu9zc+]M͛Mno3t"_VO=e7?,|w?+ ]<{o۬ٶqVgmj4WV;T4qYrP,-;"\cjsݻkWǪ ԙUay-zlzW\) IƧ>{*LvhJ[,*D"bHPYbvTڣkmlw6u]O9V˂KFɉ`)@s)QlhlG˦;|_# *wEokkfs-7ʜǀ֬CR]츑Wک)1Ц"]ɐLO@B)Od]?'^=g[7p6ˆ6ɀnݑ[$dp͸*oRSe*vB߾<Ԓ(dV2#jRe݉tؤBv1 2QD 1H.hr):7z'gPn5@ksf`㐔Ժ) G޶%E/LF^3GRURz51ݟ6k*q^~uuO⮮:^7&mtzٰ^}9f]Ow;{ywyU=|B7qJYQtBx3b>[~⻑+0uJpG]paMV9xlTϨP -Dt"N鲑]a0BK)#`̾}C-mvf^Lt 3tM1JC.@*S,<[n*[#P󒙪13־v7wtnUuvzdE2P6~x"D[4o5vJq39QGP RxvJRJ}WVy^ծɵ/~.V.s)>;UFiV1*:'#O5ve0{e{% k PXH _EӍ dUu2"OggS'#I)??:;;;8>b*nڠP8xg5,;mw"[L:" *ajTB8gZ+QүJG։ס)fe$?$Q u6w5>#9n>7tIuYyV fלg4%57ՉJ: _T:mǪz<\t+cBk`_m aPf;ݹRU~zٗ-nFma(<2c,4LR L*"-0fҨp!.u_ns/XYmװ?t˝NS̒w ܷSSzs$WNUYxO˛bT7?ONNwd)JGߓ:nrmg)ZJ*pxqsfo([R5䌋#", { ~U* _?ad؜S<}Z1ڸ{?fxS0CWK7E>$u{_.ҹ>/vH~Q18AQ6%Hx@~ "USQ}yatWiYDrqT/^&lm5\P~6EDyD q"Rd(h j p#e8 /B/f'G*5UC붔@ˡ`߽zݖt3;@ly5׶anU ܾflN }96a^KUW=R_R?찬}D3S}#ry8Tݨ")vWG ^3 K}ŨuԪS,>USR"E*]&no82/Á>zQa-(.}Gun[7҈uZJ;6q %F/A@ ZR>on9ʦpd0l0X a U~m}퉹 al+il`26}|sFq 8 p`+@颫tRU />?ײffeft柼~Yz C}^{I8}g[d_=i"}=>?>:ӕLEAQyO)]+\wɊT[Q?u}Ϭɾ+Vd~JNk&/i"c !<0Dd#a%TeӆȂ$%ܰn+g\gBd5djF0Yndy<7e0\N*G:c7| \θ0*YRp AA> ' +]02sZʑYJ1wY{4;&H @An9/2ܿ9,|巍O߿TJW̛u$;xOzo2LeثT[Q6dBun$tw\*,@5q{nǫt꫖{wꭍWofiک GskAEP^;7z]XXg5_WL:_Z~xuwyۼɴΟo>٨}4e0s?ދZe0 t[[ׯ={7tjQDO57V66˥rwU͐lJ{=Wp9PW 0$.wBt9.Yn?pn\zl>Jͯ4M0ι#+٥gK#"lSC)ݵ}T72]IQ]:ޡR7 :MombtE+ݬUوt6KYydLîwcB 7QzuyB\֝IiP>rzSS%Zs8k(ڊa]nn*z]oV^FVm\3Jݕ5a 4s9/2`XBKEs*R y̥V{Zpг1Z_nN{3Ib{6V4=ACGB?ACLI8'sfsb6?|B [=}]|f"zg 1z8؈k[,h FH+f ̽f8 g"^:|-*c.38Ynp&Ԕټʔrz1Pϙ~^ǿ߭+GV|tM)*;!Psg#)FAk|k얯p:23+ܬg'l)j=6mdgc-62k&kRZXdl-`rpojxٕaqlͪs "cqT:tOijFcP4'[^ ߿y~_Pouˮ|+#̻ݗ4;=/uiLe:] ~&Bœ FN$_ޙ[.F m Sy sMGm\wbWuV܈^\`"w!fgշ7>?PKN֏ezSYUfpyYn@ƬuS۸1w2m̞P:AY3C4V*А,?۲/lNul3^V*j*֮^v{{kYwujuͲ]`LS,Ǫ8j@ͭJcgɷ?}#ľ[mo/vϮJ^ڸ$>:1b t{7p*e[+Web=Cf-4ueΉY˻WW7_IÉNcEJDҨ;R!cn>jӇEרg'CTr_]y.e%GE9~WRyWXQ u LM͔0{7SC*x_& [;3G vl$Oop@ð8O˂rntA ]5VN0}(f7dl[e =d[kuKNbjEfZ}Bv?dV{c S̼eej(XqzZb;4<O_|z-wz7 aY٦A7}*1d}Wʰ}lDiB]UZݳ.}So̩3RQ Emm[t7QN2OufzNr|{8;aܝ5LUg ~k?tz4C3;tq:;Mu ;մ屯šf{sZC1ㅡC0 V'sAPӫs zm̢s5 RE\^ -p=ƬBeqhU]tj۷UO|Ò|V\U|-6qMT{)@4g p&NC%٭O\o:PorTWtu%:zZ씾M 1E>_Fe5"`R0`_+^ywj0Pm }ihfz^k8,6!/ãjc < l`2ki2 P`NH6Ѫ@:Q`}|sD=;wRcv݁SݭOf>Kz$őv-_M o&U7]q2Q/PrFqsb ƖJ gIV|۠t)  `VԽpz^G+t%*{@fQ%s AV]\>?ff&Qj&vm!\O+>3غ em5_rQTk~W%"wKwnon.3숙 QB9CVܪ|]J=;՝m dLtz%1,#y[Wn."|&xz#~c>8օݣý!Ͱʲ-FkOԥp$? 1@-5Ś1^ƿ;l=992xjqL=pz=$ re>ٙq_Xc5OŒp pl2Fe ṊK~-z.:,hȓz\ v\lO#fD]?w]wzlݶP[{̦`^ 6 o\Pv+/r*Tb]6ݵmwem2@7㟻ga4C}& ̻[ne2OưYzŘȨ8VRD}u9So'S נËXQvnVHC=c}J5M̢g_77ww..n)N;We>P&`Ԛȍj/YoZ`ry3`JK>Q <kݦI ̽g,-]]L),2wq/r2:ݤ" HS )CBa)$kfKl3Z&fi#dO1䦖/s5 kDGnD9 ܷ|ّR.]frY<5$zޯȻn^z$)[ H7.ǻ߰{Ir`쑛fӑk>kn@1 Bn]tZ.$ aZkij弣ЮE8;tu^C@`nM0zܟjhӦZ..@Ӛ1;`A5S&<3l>}OggS(#IGp(*:656:7CCBD;<;<=>:BAK.?9;:>DEGFD;>~ -g[GÐƮjne)@T!plؒ7S3F~+"s Ik9GΏ>u LWڿͿDS(|sXn*Zj.F,-m{' 9[nVGZ;ѹ|#O,ybAΝ.R3dLtn6D)s;+7ۃ̙w[a7jۨSt5Mu%TkF?zf쫸LǓM>/6p'r Y;v 0v6soUiAX{Q3cjpZƃfej:9ةSg8Sn{OOc[4M(a5͕QpW|jO6̨(ڥ{MD]x9rzwZV)XOqM(e:{BzbsRwތ됥Nhss|=ˆ(z^ܬy~6&†ԓ0fQ ۪nscYܟٮٰfkVA7kuC9/[s`.4ƽD0 |:K7,Ck%!P`L!KE̅W*zbf^8J^/{ޛOȍl^ u`{[ }%XHQ$SR!G0t24jf(VD{HR ]{EseLb_8-5&aޭtB#vblBɬ1 `e`ZRgS٠Q4#!'{oy5]dbtVOa4IZ+ ҿ/9N0ΌGOhmViキٶT.b JKQ텥ͫ+fjP|?^-DY:WھTzwomM׶_ZynnrKւ,h[uǬAzCz^wZ[(@x3cJ)UVng27mRkOת^LߓC֫{I$ \/I_w=]q#NP*4=2}@0t-(dv(34Jƙit7;rJV&r%pYӁKTFRMW.oK]6( jv)N;rT&Nvj]8}Ӑּ"``'e9k,r~ [@]rzas"c!&+ҩ1Bʼx- pC3 =u՘]E҉녗lʹZT@*;JhuL$)Rԛ_\obњ]/vzdֽ6 Vb1Ýb(誢"NÈ^^;ذ[2kk s/)ަ\bNVđVԞ$ Z|C,0ytO53EH>tNٚ击)1ݍt"M@V7ZiYg A4=s3!뻗}^;fX 9ZEz*s <2/rt Csg?c.f[ں2c:;4AspAj+  |VKĪݗ^ >/HBr95g9=4)d-$D;p'@@Q4 .1^b'S^?bmխ;Mw ޸&:k?fHMOJFkNX ofHLk[ jQ'u9-y mNmslSfj]Mוe@#S~ۮtmCO%\:?x#q]y}6)e7Oa7ji :p5vfn6Vz<>Nө_/^Bg}TJw@[\wuW\rQ84vC:%Z<-m_?A< lXmp9p Ȟ@y>\Hu$m YO=;)%R5NbI{?3͞LWjEu;X*6ۢN&w 5͝C۾ʙҨ^ܙ'jQ.Vt 4 1͏3E Y>nඦa.އ01vap6a=&$(@"tY]Qϻ3^13e=S\{ҤjܿhkUCUsLө8^{zF;b ~^{Oݮޥz*?UO/6c-e%_Q=ZJrՏ]t0^t>J(.b߱ O ۨboU|uUrFvljYU󻑁7M6orT(R`&+qۘ 2 6o#ڸ!a6fs]7%9FÉΔV1J 8l'4nޑ{<_fz#gԮWs7)T9]fRg+ UWfvȻ${Y>mV/F@9:\ʒ*J-m3=mM-2ӳ2'QSʱ2r CGPDZ>+ME%.eʺ~8!W0@Wlz".jƎӘ{4j>0LTiz|ĥoܹvx |nf܇ s,Ve_0 gAZ^3 3@Ej]gSɳ l xs،MUQf8?ެ24IO?]pJ1|LyT~Yo^-QzYk0uarX. ոr@v55kowאp,|O\nT3DJ&߶{kJ{^n‚X 6ʑ}m(J9!7$2dVF q,&&ErK7lt9ڄ dBZFxa (](+i 1 jW]r9- /L5 59PB1LWC_SV իW]eo/U-+icx?VbԆ X*e|["g*BV{'>wc}D&Sͼ4@S-OggSF(#I8{8b$EJJ499=::AI79:;@= #4H@C,܆ v٭`/X&j^Adsq\#tan^үZ[^xg^#;ڍ@[dEO:Xx@ZvEIx)_? ՟[yn{SmFW*۶]eS{<ˠeXC\jWHr)ғ@s4]3HlU̜D2,ey}gN?Pْ~)^;/d{Li0ےY+sǠZ:JK 9i[lY6n7!W2z֗~Oi}H?{RO9_O뙒Azه$=Y5@h&W2r ݔ QK O mu2tB`n/frIt훝J'7J8gh}➂I(C1 65 {X7tf<Z(b B @">EV2 U/THm]Ҙm\y*yFzY&iI :Mc=I~:9պnŔ" BkG\6v<:'ɗK3 -:W*~ޔtMiX3'x:Y"l/BP)SQض5rHW7a/(P(X5 Q]*}W&|M]]\!ʅ\P(rCt U̳μ4TpiH7-- ΫK*?Cb 6tN\vTʢ3e]S Ykl.^ ějjJ/^+;Qdl&SdÓM&>Am6bU)G\T BV;k"DĪJ۪ܕzz}:8un]V91tbmB5%ghpVv &-f=_}ӇvLNሌ W*VrH,uAt.T:+z3D. $E9C ZU 1č|l7AR8˳#ژQ7ZSmWFy : 1 tFT 8ubATI~lC[)mƸ-xWw'@4}[͂0YnO< z{nu%>5ɭdYGWlmuΐ/E&"0Hn~_V%]Mc11[f%KL14TETz0& ,=RV߷ueM^akl0"tU*V@~9 @E9t,K2쑞3W~zG%յmG`Ot]r `:u6ʊ@|lےIREcd95,ݏvE"!m|yƜ6m+w U0p3 Zu{M5 jPק+3=(9fLR`vL.=wr"\ܭ/uu_Hi^9M.h^I"x-L7f[Z]:%t̗n@ZhyUтT{fU]\%Pj]>"E.9xbɓ XnABMI؁ >Vu37ER.,WDXf(ng7 /q H,nm(\IJ4w<~׷8@Pn)S{3,0.HH+K&|! \3c5I_Z Kaf~.3O}t^tf߫f4n~SwoF8DO>7ո0m|Jz2|%sw(wE}EC l{M^]#݄(uVWk*JDFQ5ZɁMMb|X0[N,@ǩczB| x BH@}0>39ywӓ{ @< `bj~@Դ7o\0|1.ҡT.D+ )(Wy=?=y' Daϥo &Lj 1Bjn8DckF74 wuM޲</|ibBeszEd2 ('8qg~>2@%vk=v^kлwrIk34VxE*l#tfΞS'UލXx6eH::[N$ UTUDdJUM^j37^qƚvkJQ4`|uP%Qn ÷Н:32@ SYD.٭l:VhT;ؕ Q|du:zn8)>U2xd zv+2U.bwz"Q wXPk0a(IuyD$7lP~;MXu$ϵ&rj3UC} ޔMY+:ͫӢVeWX_Sb5짙A>0Z=4ĹRD S+޵;:c}Mp6jC3)ܾRJ1\[\K%ѓ-sfu:v}. Wk:hMۃѐ&zЖ\WAιCP 59o*:ŭDtlzqBHr -T͔)+-|Xhfg: %jaw>ȧșLx7ܐ(q_#9].1W(s];R"mWϾJyRq 0m0PfwBHk;srC}4s-n KOOfީUOc :K;ld|4ƨ;}U݇〤ٛm4[;B0,L1 tȽV&$Wk(<5nS @#jq()`VU3ЯNeJ_)m@j&"GLV)Ʌ{Ɇn҆쩋I׉y"EoC].)XVE,G ,|n] 7.Ur%rd"ޤZB 47t d./)l:Muqeeua͙xnȤm1La %SΡj$[wLAM=b+Ų/VBz3Jf6l8owyX6Wڹ_)J1B;Rq9]rVᦔd" ]v;}V~fVQ ##*촰p7QDtRɘmMy3-|t#N&IatF ACvkD{3lPÕ]K`Ͷ [Ha!S fZC6@F$N33C.leu)>\ "E[ 2 FTex@$Do[@Q}Lqz֏M~5 gǴ9B'L|BX*_IT U;I7╷s*w7JUtIDiW7 tnesog)_C/?pClg\Gu}qR*$hXX_sO-0GjڣRk؛=ܭhgU!'Y=-+zqM'غOggS@x(#Iv[ &>'!O;;FDG<8;:=;=EGFL9;DCBJhB.D2ÁffeA@kX .3Cnө^HmDgL~>c#,Ձ4hq lg;yyyT, nTXƃ4Ѭ-*:Tu}+X\VFV[.^b{ G=H+WH slGBu{J* #pMHS_ Mu}W0̋gh; 4ٝ͑}gfp (p>3j"!1UJp T:%o=rͫ23nchw&ݖ᪶)GȘGɔ`~ b[uc\Qn}UyK]켶׆x_m#詧vimf&TvR v'O[ϕ=) 0>4k33s\"E-oMXcE[@F)hl%nn0zp}9w en]a^- i 3+81f(ٌ7y5P E',( U'G?E'YaUJ^>%V2wWoI]o8pf\?i &јVcɪ'No!Y/t!}\陻)v}}'^\ŽŸ|c*]۪-eo{7{[vSz4!l |5~uoMMf-:ħ As3`.l 9zbMa07kwF3W T 3NMit}:G*nA$'JGj9M7+⟳O@ 0BެB|sZӘwY}md"@]j|5&!:?s=حݦVTJ'mT\& 60)s z]u6 ܑ]41m>T.>uwoc{oc:@9OS^st;yí/nGNUjezcS`uqɜYN\Qcr;=E6LH}n&=\.除w:2*ᢺTݎyR%LJ ddU1a$'&n`-|q!.$SPm-(QJdAHvez#f'ZEw-;-G2TwԃΫ)0D*D7IL /t6v;&۔b'V-(iSX~~Ư-\c;cxjAmlxfcx9|MuQ6u KvfTl}={AmoutưTuZ!8f'haGIS(]uL\HT+d,wj6;C&R!ޡLns'hZ庮1*AFM"{F|,[v$]Z{ʢ:Zc =1`BgW5SjdM]έaid7`.MQ@7),زzSȝ} JPnL3]Wyoz3Uwww d r T ytU!(LT #T{d޲Fh;vkBj@Yxxl A(t\F/6u.k3[]{7;\_k9t!Dw"() >v3i@ *ScAeYhx]-ƽv;q-rJOlu𢡊SkhrS:9 "$j$Z[ǜU㥀N}vg7ʑݧ ^}8.@3㮌U])ύ={Tgp+S#QM~ .;s P+:UjE!PU>&r t 1.YG_ C>&ۜ4fAqsL1-ˌfeVgaC?tlr; idAy3Sff&rHƳ[RnI0WOI~zoZMl[)Eץl;vU.+սk1kB?&zؔ剽_^Yhw66Ӊ!M:RI-w}\{.yo)|NO8\Q`[-22 oghM;K߻N{g1{]W=wwUZYϵі b!Js P$ܕ"5ϔͨI&s/_=Б= |ļOi׵#W\b~~f$]kيGi[zIw^sEQN[ z{;u*¼ޗ_UN<ֶfnЈRg/;sr^ ˑ۸+E.JJ*fOԷGGrtUQ^"CVi-hQPM[bs:hFCA:*f{S6n"SZ6ksf~Yk52NmkEһӕ0VZ@ޝ7V:p^w0V\`oo&lf燫>7ɻJILHb:O7y9)3ˮm +7:oNZ6|\e'?٠ꕫҸ uݾYҞ꽏18+ZtfU<^%4F U,D0[(WXMF]pQ'(@!=H6]}vɵ)U*edmWjMF0Y,sǍC_R7/OggS@(#Id#=XME/6-(:9:::<;@EC@BCCGAKbp䃤Bxb$(1~p= k /T2dMMkg?m/~u\_bzt1Mu/@6Qn뜘<;xy֩dR{Zޡ-V{ ǞɘRo{ :+{oFSh攻W~) WMmf,rɧbzfL^C$fլ-)\V]Ck8Y!)oO6)T3a{f `eK:/ic; x̽ ^cϰpZ&iq=hS.ffdd^T:ׯ;fRd=tو߷J{>ny>*Lr+uSSLfgٗG-4"^4Tܬ'RG'˱+Ji-L~^y;=c%ܹ”9]@8m62rb{]Oumom rFw^W]zJau/'5.lCv#e!WqM:5OOO=*_4"F]U񅚹Y -iڭh#Ů2f5V@սhlQ-7}ş s]f0P#_IꅟPDMlˁfR&SbJ5͆ov}O8rK?Sl1\rg5g\8JѕO!ЪTVOt\w=\IJtlԱ=Q>p{Ur'>b":&ˊ> vv !#[&Ʋ콚"fv`Sb~ػk{\{rA񪤷42Vt7qNͬXѥyMl5S^O"7-[Th-v hew*}ȆhF0;!~f`+75wt$P~YH~ mu_>ޫ߿B0Wɨ'cٓ^'jg05!S2Dzչ[ /)? h}` },goLN7SoȧgK1Whǝu$#e%fkD<՘-FO-W\8ym/1}wn ۻ{W'ތ>Wo]gT.R|^ͶYߑ߽i)%=~nYW|GTz"f&Te6׉X,Ŝ0&=܌`D\;.xtJRadreW\oIY>uLq2:`>1YۄlO=߄h}uFECd"[LBO}ɜ ѓcvqF˒_ޝ: N1_(_W6oKiO%K5< VX v!l} ٕJi_x;K O,ގK#KCY~VSi՞F[Z/;&+`6j62z66h+넉9۲0}-Ƹ1~tzRB"z߬㹇rg@ȳ^#k͛)SfSo_d!?ڳ;ؓߥqۨ/kxgp^{=_ծީnVon"v9 ~ol؛f컿~iw]1|˞C|:]Us+gE\ a=Y-Saϑі,bAqq2dY%M168W-λ޻+w%S2N;GLutT =ɝP֚wϤ`,8Ib]1{,o)\mg[HO/i/D׳H(lKWJ  aVg~zp~ϷVEtQ{*ev ߫s_ɦ=p= ڟQea {'x1 ҹˀNۭ7܁E/gWS lއ-%"j4/qZNZ Ҋ :BueDĔ8]͌v'i{!b[}0?{ɿUf`,u?d>XV{TأXПȥ}@ˌ` orM%d(}ps=~9r9N]ySSf^p87{$IxltNy2k4Y{STGr]o?U KjG5<-~! 2a֡JS'G|evL-4U>IO?7=BXD~ڴv؅.]!hkްm]݅~o^P1u4u$Sx~nמ( c?az2etj+»gl<^j Qv>-*:Ekh@ZQU9vz_M7JfB~_An~χge4J%?ztݿɚuPw1+HWۘeny?ڒ㣎! 坴(/mxJF,1ITy7"w*]*ouS 5!JVȍB\UȪ&'~%h JRX (RrlY Līj $>dY!M9USd)$F - iB -kbfAYe4:iuxSB?FB8C<9;99?4C=AJ@=?<==G>C?(8=88ABGE$ґR"RQ rf6,f0ElN{rd)H8ٻ wq/\6eҘF: Em='T&=oպekQ|jVwL4MF 1g5tlb ?s,1չz kjw<{Ҧ8n|Z=<" : >n7;xR絓RV erڢك٩A~2.Ln-T9Љ,' T5vgcuH6SbX*w^=w<]m{ֵ~ڳI.,m75 Fxzo]'{S3UL_//~Fj_ 0^!CXrrq&q}u=K2!!s8w~O!{LxznmӪ\)ͤfDNyf2öuz\%>ܕ& :unq":m|O_6Ruc39}ڜiRg c-u.Ldہͬo tV˜O`ԟ&K j03qgs0}vjb551|,=T2KMub:u lФM]cyRQup_f-{J_YDw_,Fғ"5:P,填0 qY{^B'PQ' t&_EnyE .WV,Tb 0KEijR|36ydJڛ&+Ń7dF6,[?f`ÝgXY"w+FU棴_?ٰhLjfd`TBK R,5E4{?}!?h{zx%׺;4R'-Tlj'ޔ 1wnl/IL9Wog&Z꭮-˘u65Ug|NDT`NK$9v^[P)E_mwiOb3dpDo EIMn"z`]2 oMk{=l{ls"JPuh8%\QN'- |9SF5!BZYƼvmV5Z vu*mrKU7^ "\Rmܗ'7ߑRhIfLR#oep;s>?A 3gL|Y*իwI>g-G来ٴj_k7SFv̦Bwjay[j5t5rEh‰bL˝{S*hy *92b =M)uWΫx_|h9JCs$!58ơBc9^p}a,"8GrqvJutvJsLEܦvU@ya`X/F8ؾ7q6w 5 D$ZrBYGݽ$2]/Av{eԶ*v7njDJf^6/꧐-#2kyٵzk/E͖Ud|bIܖ_?iw8GFDXM`&+=L_mZmC۶ۖ+6:4JtpN (*?#܋S+ j?H䭕o/~?{!ozlc7]ܐ{nVgKyu0d Fj,IO/D<-˒'{{23އ*)4W~q* {oA>smm^y_zU_\>q~!w67mὝFiP#+"@>zg$.z:+PDi.EJfm2C#:?[)Wiu0]-s{pgzdU٪o+,ݟ^Fo$uv}J+nhZOvT2tѯwn͞~.Y.}' ns=TlYST3+0?-SLkKgplRt -fSyv)"* GV =^%y.@233Uf佷:~`akt'Oo!w[Z'u~8_e(w?)A:7y'|z 'EЅȽݲWTdQޚgTܓ-](=ەlgJ[~JӉVEh))ΨIZKݥw>zWYYm#b6lJ/HA\Bfj.Y7r(DCE쾶 Ean v bTFw]5ͺ=l6Q)VB؁$Pvlnאvp%Ud% z@iCh񬤣KW$XO]ty봳v뵶2m5ڪea]|X 5G- EwKMq_fT2 _G\?K} &N1-ʙ:=78<<9IE4>9@:BC'$68?F?Ad( R 6Fݸ@m3Aƕ&ضr7b";5N04~~9/"!\Ѝ*6V:3FfL<03uTlB+#uk޸}Z]ecVojxzeچbÝЗ`*7د&gCTc_.|UTeot?}Ry靋שj%6sV=F%M˓ J|!HCti7ꆓj$TѠ 2ZDfDKH*9 Tdg'f+ d`Sx@-pYhiƆBc`4.tٳvMSl{:cpmtH*Jh(I$6=Ǻ M6,[;(e%/˲VtjiSԙz[?ښOA?_#~ %"Ȩ(6TS|4Duʘ*&xX#:N\,;&UPtTU5rA.L$zN h ~㦙sk,Gf+#@BCr 4VO2l xIJY0cRa` ЃW Cb"^̌cjЇ3׹j(S@) ;ЪM9\H;^a+ @KWSGhey?pL񶹹~쯻LpdoW.5i⃢|Q(Z>1?r mQyyψɵ۵.̝vvøg{EZWX "+h=g,H4aX:U N|OHvbb'#SVo;ݐyt1GZ r|[m.p~SJxzNɞp#;de7s){JS {єe޶\D9p-?ҥ[Pg,on6~.m ՟<zJE:H=MZj?& _/" |&u'oFYILkì]H/.\ÿ8L*!s`xF#'V./8Dc 4l›R 2{kwW* [nLRF*W`do%}lrhGSSx\gDeMJV*;g.# ihIA0b2edq$ 04Ҋ"TE& 6 ` 0 #D\!I`IC!k`j|oAf2S^f`os8#GH*0t3$bJ(g$R g;qRc*0ofL" Kr{/?\.򩎑Zc5uv:м-NomlB^ʑRit=ߩDIfwNצicN(9[fGT:\ybu̍IGmnYtd qcVVܦPNC2INdDF1aZ#Ha9z6I@Px "8U w r3n#=6atW3c:CCzf[㴉YL0Eg A$ˀKn$SܪVM'x͓+! 呕X m^+[dbהnW Bu\0M>0]X"r7{x_yyRff˙: T\GIJa$=O\+0'kеX_Qo]Tm7SZ{̻V4* cȁFnٰ`,~eB9m"5eWW k]6Z4{ f՚ \eUIʭ͜= iwy -y~|[]okvV ۛ- z٤\t.P0x}qg?{36Je 7ZrBxHoLFx?/kgL;-<ɪI9kvZAKҢ# rTZ]J%#m3≵}ǎJ{2(21^,f^;dLÏp":ͧTݛ; u*7GP]ݢ&*$OUJR̽H .%^`Rbx륹z~x8TFkRE9 (nj$T ܀c!n9>;8 )wX3I4[]_Z ܰ©D33ʔW@\>?-i%>c5|ʁjJ͖v[=;U'jgDq+Kܾ#UVt)n6sIe=rZܖb]T1OdڹƋeFGPrQYܪ^RfMU_ţiZ*cI{i+=,g`zbKmO|RuBJ &z1 r28d(Lr$&wI8u!orb,ڟ Vq mJ>"|"K.r<3 WS, ̿aF۔2e0)tNi#K)b.%+=l5RfKn {R茄?6eX }i= .KV-]*WQ$8OV{o{ئ ]TbfCfvƢB?}kv+LBq Rķ89UcPzλywWSUUuU|x`j,K ;-4e]m^_c L՘ {W9*>S[xI*C̍p݇6uz7ؼ e|so5E+a||0[gW#]Yʑ1}%].WnOĽvum;lJR,OL_=D}Du@nڻ!+(5Hʜ" )šxQJ)L /Pl=o$ OggS7)#Iu=;%F*.)0EKF49=<:;;:EDOE#C;ӏcEa{|彙z2Z'Qd G-ۼfZx~bZ{n^{'7.^Tu.Vޜ֊՘~3tI;L޺Q?NFVo[SDu-5e*q:.rLcbtow8 V@`ډ8$Tl!H$d\:E*wГ `Wp/\$DLdAt[ "j7`04 ^5&Sԁmsvy840{f^<)̠VIH ,09/k˝BJ03r )eL+{,ty[ns4vbl\_3Gx %{?UU#s)UW U_? W)CF{[˧b.e׷V7,Wau7^+|֪ӄJQlZ8 t5}DP9rōr\å̅X, 0J2rmZjKs٢L~d!7Z Xv b dT[dqȄkRY*4*䘽ҎeUWWo2%:tL̯fgR(w7DZMͷVUb~qCzn餴6|׻\xwʵTd K^zx=R#中5ln[_vmNѹR3\Clu:=.OsW;yobUmtlD~OjQJCw*'8#d1Vʼnd/U'lFܥˬ#&@CBzκNI7,QX'_0T" -[PO%њ65TM2?F֥?xYw5/NYO tZ2>ZG 6}q#)ٹ;;1gf|'(_ >of7.퍧RzΩ/Ov^=>J/AUZ\76=z1׽6&^l:WcFp7p3QVbKV*ߌ8r g_Dlq%MnT/Y~"Zni8#э#*4Qe*"|^ Y3ӛˏɭF+obDQK`$n08< N Tf 6B?}nKmDczPC;6Uf8=AIAo,+?kOT Mt1&s3`w2AKfLj0y;lHIC@NsE pG8ONDqeZD*>%T">LFn @,U-@<`:&`@P+aKo3Gbஓ!2Zf̕P,nd$A\gj UB8x Y5dQⅬ(^d>AS =`_'7QuPewoW}{[x<^7mF:> \;&FZ qUU-tLo=#rE&Oή1L2e+4@˾vgdLϱ$_euz2*G/Ϭq7νR梩Whqүe1wQʾ6*wEw!gFuT5r}Ξչ)r2y>aw+"+2uqcTbyb&ؔ%UlH@"9BĕJT}JZH@ݽh9&Rl{w`jlXx_Q^>\#ܟ<*ga5kxPqO%fTl`A&cw $al Mn{L/^ߥ3x62]"c:4Qgջ|S Dih_>L~_]?- 7/"|)Tyqa5)I%5%UlSX F)i)*ZvnL,q*@0d~` 0=qh`D*pkAa=U"bjm4]dFi t$`@pwsE8pYd=>nLHHNƹ'>:M)73J2yh|>`=ZdJu΍M'wc6:O+ed\Ja Q<[S6RtNYoJT~ǻWSO9Սj޶ gl]Wc7gD5sC(1#5W$V1YM[\1fXYָg5`UqNQkv췼$fu\.Zfm0+{ѴAY b~676zr9i,7t4e t>):$.s׀qZ o^Ɖ,>WƬ3[=})T>&)}" 7~Q eDA!+UP:&XwaI7\+\(Z @]| z9 GxrU^X,Ω,m[4:l4J@䲔 c?Lze0t~ocYoW(\ۚ~nykc}w\ zka%x-i-pweeg?կۥVom^kzsWڭ3ezًdV,0 @\ dx +Ao o[Wݼ}gZs0볛{zzN]ߊ[mЏY%U4ݧCVjeAj~o9y.=]-W0+UN~vԁaHDH> ⡚}pUת ;sXzuٽɳ<7 ܫ[ՍKE)PNg'k#gIfV6m7mfrOggSi)#I#H7>LHGEFD/2$2=<9D>=JDC>Fqfm#m]̬nYD.ŬΜ @֩\i8p#0 ŞQh'rn.Od;t ^kl!Os("@kվ}Ww|ZK6LMJQ& wd\g=p^N:9ç_%=M"g+6 mgw]򜋳JLYʵ{:b Gy(L/++6*YvE#LI7wD ml(]>zlGB$HDGIjY>PûK%mo].nUvJHӢ {gCv`#9a%o =q˟ܘNpkNST؇K?5v 0678@ *cQB2$P^fj nXMyfT~Vqn5mo}4w뗚xWo8S(v]UdZTA=rz/`\Lm;o Pgpg2:wIti!3}}=7TWW+8셊)YMXT]K=MOV)R"o^J4bIÂ=qYj%6f"|%3 =L;cv6gjaݕpئǒb kEa{=1@gzc" !t,4PpS&yZçr?{a x)5/ɔq˳yu̕v<%&s\ljc}cGt5}G7CהY*ʻZ#?2J홠#S`P" ТY$LC7Iq_oc׋5o&1f2e+8k[uOm=olin&~Ư3>kkPĩ`E_izO *"҆Ovy\M:2vp'vDLJk?sŎUPݲ̭K*2!Ju@֔UoO77]dsnqfz^r:>7L$m2.%)]2eƻ+U꧿z_OmKZ6fm6ڲeZ635a0Z33QLC ,tbwt`ne\V @HA$1KKs8?O$ӛ1+(st.%tRϷy{f{etSykʆJ3;1R4<0tϬvu6c'(T–gZj=wQjqםS17,,231w^.Rw.n{ZH>O\u3OUR?fDcUGgL# sг&Uptm>Z bvpTOʏ5⎥ 5t΍ۓZ w3ܸ9o54 c'{#r FIGY@Պ;70[-V{{imm4a@EU^jD<,q+ (M 4;;t:kf7J)ڷK*O\w7^7” 2&\V>zߕzsJ):;'"Ku9?_af?z[?2f7;\.s*y*f8mqwyk/J]NgrypՓ.i\ϾoN ӮafUi]& fڠ` ;WyA̐{nyfܫZ%̊i,f"7f6 TP/ =@O]gff<V?Yx:TayV.'.yi==k`@tg>I6>N sq^fbH P@+0s`_!>B|n@rq L#!yea?vf\j@r%꽱Ôeݯu].xiglבקWՕ7G/٢4OĽ -ksʀxmH<1>x3FF{SW'0WNv>?xuD)}Km+p ܘFytJƔhʼn/bҚ=Muv%L)9BǩTn TsLDT#gN~W%e>!-X?Q@1U-}6u@" ɂ!( XD:;+ۏ4Zw[11eV. jn‹l==׍wGb-G%hM(Z=\سLsc\Hb[}O-W̕+Ifvo3ژ?0$JdIeb(0ђ(㧯l<=WϾf{h[Oo>* F˖naax,Z}0U[_WƁ->^/N^GVFgk Lt]d1L}vZ([ouSvc#*jq[Y^%,VVt0V47t&nv%u_Ŭ+g++s^MguE3,֥uY2m%JTO@lI7"EqdLS[bRo6YmowƪxW?3LΌʗzBÿV${qlv9RYۭTUg;z5vZ5wemo\ψP.ĵH{`q~ڿ8,z*aZ/3TY>Qƭ[[{7սbjm CA}VEDiF>xsqD[>m.ITVmo}_ٶx]lrWDhPPh t6 # |.*et #Zr޵76=d}mfz!St SZ$WT0szꛑYm$ff?T4ysu^&k^aFeq{vοm9.a,/4rwLJYC X[KiKk{u9*6oޝ0]ܽ s4=ԙOe Dd>}6:bx&DxIݞJM&TMj`/+Xk΋kL"Ml7OggS)#IDY+G>.%4:687;AACF7;:=>;?B?GJ#?;=D?8FFW!l  ;Ĵa+sO ɴ1LZ`@D3g<(w2s|+oNͲ`'x1ɂDE6Y Ѕp̘2erͲۤӘ\0o·r7kowrՎAW Q:rpbUFVq]Q.L7;5 }o=ع4&*7&N(].7Wf(QŐ1ʙ~3n[F[>V6^]Id5ZO,&h'(UK"f!WFҒTaRE0`=_V 5VZki)νW)ՠfEc pf! Pg G5Kf9J'CEɂ ,L/SM~+y ;0M0#(=JB0{B3/̞Spo =aZLHvq`6@DD H¿ EJxiosVv2Se}n^͞;<=x7vw-|ؿ?Tb۱N^nBF_:wF:Wq`tWw}3uH]G4+.Xw8]D볥)\ʧ.Vͪ)+پM-qBȜrn3aMճP0wl.͓Jo@Vl}Kt4Ó2f8܀gzd0a`8`p.p H! Pb%UV[@b #aNW ¹VƩSŔ06omvV M-i6 u Q+\">${zFxWDṷQf1I N`"ǚkVbVѪJtO{h&`cߚd Uhաv1{2(h=kۣ+wcKtO~f7nTn p,܉,Jr L\ϙ}~'W3]7{[NdM/.yT #P0Z,CĂB~ĿC:k}&wBf(^"W--h{ﭺcۦVo~|,GJyA _PkMDFjrS.U-V6W |z]zل~4It?/NM%jMcՌy]dyn[{4fMdG:`cMiu+ra' h8,~9oaO?ѝi6V%k;UpS.h˳ -U׀v'Q$4ŊаÆ733cJIFtWc|ˋYficYHd3lp/3.o[#7C-x5!i ^- ]eMu\g G]݉FbJ3'DX̓Ӣy펍{ALo72nvvtpM4F/4vP@QZvz=;35[F1j@ҥ$6"h7Zi@Q/`-Ƽ8&g0!85Eþ i3:O=ĞD>5VTGԖMleM EЇ0"@޻on,f](mm.FߞԮ^5 E!@j3( ]_6u8 %>Li\x̻AjU.!W"i5 /t69\$dW@?񚃿i8}@9-lNܴ뫃1:D;&xOC3'3}_ xpyZqD=9kP+dy*>k+P#␠ ZrwS;V/IDnf7c^:*bm,{`c ya+,LW`a.2PpPj[\J4sxfj=%Ɵ qcsnV^1N mK"&eSZUQEΣ㙱O:~p_jQY[NshKdY6Bc5)if+%(b+6oy}gy#\5oy\:O8Q7 J| MPK}b誸 #QOggS)#Ii]%D=@:<;EEM6!E@@;B>xK"GK dH笵22Vf!dV:AƸ3˾Zb#'9ĆE 0ڍ ] wbp;`1qQ̞nGƛCzLf*뺎0j@TRBX@7էxKҏwd՗zS)6a-#)YfEɥ XcЊ2& R-:ORҼŮqs5vI,'Vp*IdQg~cJu[)n])b"[ 5[;,pYazF1 gua[ )GF֟\9D\Vz7ӗEuI uO̺?_; OH>ALqBR+v{7~~=iu2 *LHeguf]ePn۶c~Ա{Dwדt.͒؝}{E!pŮsbi>:w{Wޓk>-q((3yY^-'{VkoͳdNwIuӣ5(㭛xDZO{J-Zm_ܟ]=@(»}dT:6^r *Mg.{ hJD|ʎJ&IaF & RGJ Dn5ZQ ЦX07MҍP :@@J劸XGy[`y aM0`-ZZ;0 `!YLpyk:8? S BR:Ko8nԢ%F 'SZbC@l"̎׉,>뫕%}5o{3GD"B>0jֆ\k:_{gS񮟼ܳkOZN 궥5\L< [U&bgZU&tT˕&X23T7Llgʐ)7BVJ+G\*C)BT# C+=)h14RVPsOBc*}䙗OΓ{BRot.ߢ|8Vd.~#Fq;u+2.DmzvtSz];/WjLsyu5tTz9\vMφ\{ îFNeJƒ"XRdJHWhhtI` ҃'UəH=k6+$ 'y)lr72?q㈗5`=757֕7k8 UVuX %Ju-q‚$qRefGh_~`nOo_Vm tnӯ[qeRx #/KݲrI9_|rI5/HI7S?ۧ~t] _1o+o \eV*+OW0Z![g%dapI-iGA>F@-ar mGg7^ l+~pCA Mtx\%4tX i75Lw;7kYmts5x&g8 `SJ5)`8ϽEœR7Ÿٕ77ޟRPʦ;e^۹mH[WA)h۳Hd7MWԥ{*IfFbV~y7n<:U<2vJoXϹ/ioӔ?L^MLK[ݍhd1JYN䊙|)]f lͫcmfuN ƌ!3# A]蕃E,{%Ye)NnJv Н, C3X*7x(DQᘤ$ Ss7- Z;(R>P2&<&H{piЖ+jZLSOӤ5H*PDl8v"W+Lɿ,qgfu?zXVOs"N #0i18U2Mq9h7 ^ĆΡ]FWѕФCq)uGȜUJEh7il|7 Q*w3&t-4JKӀxڴp0Mi $TNutE S-Gn[<43 1lm*` 2GN$ALzYicjL .q ޠ(0\΢T j>`ACPY]0Q=$4}Lr) a\1bBW'3yӏ[^j~oXFSVRw r%JKzxvN S.CZ3LuԼfW 7dݞқUl ЂH6_T(W,A19"f,u,!s3+ljqĥKnJHցEՐpN8?4}@66u̕{MaUUvom-n+kzs*U5Tlwr=Y|z"ԺB)귏(F6VkDDǼXm:smj.z*uΟrQRJw6EZپud*WI/HjM/gs9%5N>˲ cҼ?> Ou J[;_۱!1Ɇt;u9F{)\IU7f=#d(+ tp+Xg6 쓸VzOM ~COFtY(xaf[(qsrSo*R3p t1׿YxV1o%w|t_g4F(g됢PP;e$EsH+8 e0m@Cg`/eV_pdv8X^Fe0BoG.BU~3ř1Fo4tr֦˥!]qwf"÷ysXh?Y{!wM އYQr݉躵/COMV:8_}1R3'kQ6P,w M )m4rٶu 3f*598=|Rp3WpvZo%"*ԜuAAE"Xgp2*.e1SeV+v{Q*DI y11ڦ[gW~_yĖ:Pz;O% l߰{j~8Qś ܜ~j^k\get*BB*!Zyn^V'2Wm*?w])cfv*1Q.Zvw\Zk@bG KbS\U 3X>V s`>j5* MP~ʾr}bNaln)B/ aSRmZd8w"y"N ;~$*<̬#tri3$4`ٵ]=ŦۆmjJI (cogQI53`]F2R;=ϧ~mwi4/ZŶ2wzpD3a.\N_W%];xٔ3U pQ7FVLO O9cąNswp8J.w uQ\PM,Ǎb8$V 6VBv]m*tc 3jo,cebri6HY88!EȞ]͊H*:'.LtVpy'sjҶ&a%-ٞG"Gffğ Βr#s "sOggS)#I1%(>-$&*89;AI8:?9<<<=AEJ;=9HBAEDvNtS7 4s d.ca'.k|iɇe& 9ps+c:ıѺD@zoub."ޛLylB+{:4|̏{އwf\{k$~ؓ"t u{Ee'ݻg.Np~s>:=~EJdN'ǴrKڜr=ib\;-bFw,G[]wcaEqHkb\#'Nb= l`A8]Ѐ<4Re pf[Fz ,xOETܘ=c+wqb0_=6pJ%1Z`ZzBR mp]S/9fLeem9׍*1sw62M;jUİLzyn]ѻ5)@ʧLO<+ ]-հlGc]϶ISgBʻA^(Ipv dd kJkzmOoTΑ206Mc2 \\S7z:Ց몶b~M7 o͘3h`0dü0fApS)P9+ebC[CGL~&I\oMT۷N;|VjmXtv^}4w<ˇuku1hh.6dT:NVwWiƥGGorO)=1 #Gl5"݅wVDF3莼V;MW)UJ͐]1]q3zfT'dRY4s RAz;@gy4Xn`fg,!@Hv`pwv:N{*n =Xt&]Mܹ>ES{Laק j%H.sic7v2 γ}I{Mk+r;΄ઔ4X[VvEp`G>%єLؔ)%)yu"fd<7קld[[9|ɷ7dٝJ-ݮ^ȦwO1oCq~QFjXz]RX2?#Htt!C>l*gf{z>WJϞrv&\Tw 6q5eP' Ns66+בۋٛ(n\`JIVIJxnbH@Z!S5 DLRr&IJDK+}PT KX9%ew̻mO;a놚^H?͠a5ξۇNҬ J0 c:sU? SM1xh.eU\ր i6<ʀƠKkk@SU:7L4s*";OTޏJv_fUn\/zf7ez-uu!t7t"/ izz8?lb=SKרMm6-[= L \1RˡP@m '=SI:,vMNv ;9S4B|g?lGT>l19 5oM㽚C)3ʴ`-o,+]m=aFfGロ)}1l5k(E/ |GΘ׺3,iw&(UQѧqtf2zz^0!ZuA,mLDdvmfʋcQݸvcP"b @M{k!rUR܈ 'HTH"Evh7erUܬ^. ImE%vm#O #G`o'Qr|~ 'TJv,TYy%5cff~_+fgLyN]*Ib/]>OSwo}go2к]];_g'^WC/^롛wݵQIJ\T8@km!;eJ+ܯy4,OptnV9+EB6uO`ɠ`GqJTR&²`I!"O6؅IPxk%BXHV(vj`ѐX1k5!l35ga( P։fhĪ61m !"1u;#3ff̔@q{}\3+]0$2>\nOxzf5V Kw~Sl[Ƨh9K(F\f8]&;-ZuR߆VeWm$B,Z7j̹R9dV\Vrg3q/B( l8ʸ( )"KxXs% T؀6$<{Kn^ҥℜu̮ Ђ݁a,6V"2 jLӫqvrԓ-:H,tTi -7_鎙R݇DnY̲ǫթcuv|L4 Pzu+hѣnm! PdgC>n>y2s*wx} Uyy!$5>JyDO5[ݳfRlF^ڳ @d@Q``wB7 Wԡj&;=5Ozz N=uUbr;1.8nםrQ>F7{LH{~..yM7k]O$q߭%tR]<<>8=::CCJ0,$?@>=DC@BBCA9,N۽Qmv"i37jr.EϙTV ,X`@PF_©7qS}HܐB%[ 9h]ܝrAož> !N2~s>LRfF,'| & [mOTg}Ԟld[S +F:s˟rUcPZdty3nNu[c WQ~eL)TΊJv~6}TJʽ9Oss6χbVSl- &pa^%QVcLe㱹\{ƃLycF wQfq D_=suz&6ly]בqC߾17x;xK1g:Nlo.B2ispL3yq\n{Їy{5θ.&U*F6{W9,K$;"꺘/]ٯP9h}[ܱq[ޛOVOƍ>(QMXc$1ژw\+Km@"Eh^&@p`t0rSyTϞi3UJ~b]9芩2*:@~|}Wc+`΀%ffޡ*sY9pmS飳 m=_u;/f7Vu}_p)Sڿ:[ mu]}9 n}lFn:;c3ٮ\eJ3seّ\ye=͆|H;lYsZIFVl:Kr.X.]gmQܡFq:}*Ϭ<~Mw-"tW̪٘5h>=}{ZZ&l;=kh6E{;$4Z0{SuO8  "5. e:԰Ff&C]T6N֟_vD^qr۵gֹ1t5@قRcDt@1k]$rrSU+ە6F5be%,lJؕ Wrrjm>2CcEZmI:CmkMejh4Q@:1=9r;>Qٹ.L֛(C[ol&#Y6 .,(h"ۼQTcΩɷn%yro |\]g g5PQ~P)'.Քߟ޼yw.[Ҷ3˴U~ D1@9?Fz@/9LWj^׷Wy 6ilI❿d Ҹ NPx!YiBz'ͺ\R)M.%f{=IZGՍQ6>ٴ%V6?iJ 8}nv`oj^Y)PLi*i4sk2~}~m>/昶'ǞtGxYj,;ÙC#9JTlt/["LVv_ٙ)?ϙlm9#|\K n C]ҳ֊)zcV٦V'8xA03GMp{K sqfx̥ޝ\ws&Oȝn6l4[YR|2zmX"k&r.C+^r}Ы-L3l4TY"u16C!Ki;6CU{#I>kSH5VI۩~.f=Nb5y8FLEx_N~pT=.v{;0'F\Q\KѭND'K'Uj%u_;D~xfZDeTQov ʰ;VV`) " lcu3@鞱f4ܼ RlZַ9 ɖ{Z,bFMYۯ jbdE, r(pyNPP7eb9—5u])}^~e9o:lܚp\}U5@]zȞbWwV\+ӲjVD!ZuMnw%`#!GC{:#:pw:.{ٶ݀W+OU/Wu^fnqwz c\]!@{y9ZiQ QF ʣ;u:\ơ`=l\@oA5c>CcA.ňlq`j,r :HRTJkLfճɼ'1S"u@<,}2dou-7=ønbk>W,"ehowAg]]?qYw~C7K~/鳦qmI4wzTOٷ!J7Jö~yHR*x۱&K }iij7rh2Ԝ Q3`M{tSku7H`ONVdڗH@{'|Z 쀻 cur \o V:gOUrxV=m7 ?Q$d,ݻiw1dR66@ýj+ܴ 4?p{:~62LvN38G;w(bcvg.Sb=eeno:7];GZ->|7ݮr|7Jέ¤E FJQ vA}MO [6tbj40չ%_)7Lͮڙ2'kpx\yݘwC)k# ?cLsAbZ;c#`YqSP \*1wS$l:**$Wwo贈I>|Z)ZTU"6mJw{$gv.|.DԳ 5,߼նUQ5[}}xUȝMוiMnj ]U÷fbr@k1.o"K1+^^jfμeҲVfa;K<\{|ivO[*?uٖQj޶ꚍ [iژ"8)Z,kXS}Vm4 \u+1MrʥQ.dT!͖r'-)7*VHb 5~QrG<7}N3&.p$t+ "+zZF"Ccキl Ҡ@,;fkjrA Xfم p`d0uTQ>) f u !sk6~t%gUW1!1ǟfeg umAV:%s^g `=")ۡ'Tn*fR\ֽ&mm6k1\J1[2kQuٜ =?_F5"4ޘ$W{cJ)Of2G `=cx 6󋖽OwjJ%fϔW)kȿ|C%z\m4dZߙ!7j:}P;ޛ gQmY=#tJk tn3*~ifjd-7h2t0$8(؄نV_2%Ts00}C~짟y6E8p͔)봝~S]6Hu#z_7kqMT 3*Cq:?w<\C4UJj>%2ʰi\cz6Bv>c&3WkƆE1$yQ,7"i_~,*'3g+\=SYɥח+8۰ՉiS_=dOSpnj:kf?.SnڟIsZ9/eo<?iٖ`T^Z^O(9d N'CT.dd܇q#{OnT kvDBu7NSNhA[*Ix4Vr߹^|׽]Fck0m_;\B 3˪*"VװHկ[*3YOq#(ݥ%%VytSD&Q]L?ϱ8Hsud\W> ,۟ǒwn΍b(,"bҠL/ww:[ W^36gֲn4Glfn*l: 0ʲG g}hsMPqz/ 3$RywTQݕ{f&F cy1մ!RnlZ صfV?V#\lVatthuaҙ6+g['{oޛm}'ӛfr;4LV "xﱡUeNyT-3mʃFvnˋ9ֻ󕴝aLJ1݆ŰD(Vu]^\Z]*GNDwWrUS\ 溻,N!+9DFw WJE6J(IQ/FQS˒{#q;,]Q j6͙ :LqYDkTK5ec]̞Weܫuu/(h_&m4PLceE!%n,I[! ȉ#=]g77g -xFO4z|1`i; N)]\12a[.=VgMWSSSZ=X͆Glb'u+A6`'Hb(M|QL-Pf驌  .i4赋25'FMu]bd 0Ugڔ*n^sYz1x&:t, <?##!/[}c|cPgzŦhD/Xe;bJA UŌG0Y?=i@g8i{Z5~R[6 "g~-M,Ca@ճ7Nbߞƅ'% m{{x׌wsmȕP* E^/r+a"t/I! P Ѽde;XwG5bjl.@1HDM6w@gi=.~ۯ^;*}ZK{&~A^z'0]ED* E[`7+_W5f^2QU[+*|Ҫ26tߦl~pp7Mc$=OuWdP3X鍘 RTt.+[t+N4rv9WW ?qrG]>Y'+#cI/uWRҋ6*ݜFaq*]W鼙p>z+X3J 7EPM@Qu˳vmvE6B_1ZO ,ss!s +Z8a/i@"p~tPV5AV%}S"J<9M=.|/@̼2Zオ Wvrq?{scuzZzR9bV18w*^Q#iut+!ͻܢ++s;լ;?-'KcA,E>ݑ~NP9Y9 Z礳T:m_k@X*zKxsecml `XL@3gV~h" *P]f+QBgSipibvֻzY  qh,$]6։#T>)9Jx >\Iȋ|]&UfJeG/;ǰV>`ya[rOM/u(G73YNjLO 7`+qS+JmWyܸooa[K>RPSo6lfWxT=IW;w]l䮾rs]}/4OÚnӳUgKr,- ih/y$P{],wqsOggS*#I5P"C::FABEC5=**VDCF:>?GA&9:ˉq[bz?m̭& o)hC90R=b\6)5,FzkI 1>f{Qff抂a JU(|Ŀᖯ J?ZufpFfٶAU kc&beT5"/Aɬ97-J(F(η*(UW;3$Iy5K&۶њ\ r\!&Gf"BO;g>4vJZm[~nl1j|W* 󻻖YF"oc;JDC~Z^[ؖlS\1bXSp)/kĈ/? gOS,\X-u[oٺMmmo[km>Kb] HZi\޽˭<Ҹyؔp?c =۶GϼQ鿑om)f:>ʴ/1twf']IKtxJY{SFjai],JSߋxW{Rz:Jd<ćý(qcSH՜oRބ }4 $wm*i"SΜ(WVEgܖq%%6)Ӛ3i*TslGP $SKj0aG*wUܰwng|2&_ f Pz KS哲뿚͌ :>DžucX*oH^]*[`&Q*{ס\!ɲq>JWk g\g7xS =WgMJRf|stxϔnC_AGJN3gW %}! m͂dwH]9L4P2.T'l`EfD߆.*s*-aDYlTgR`ll9yh]Z s[f7u?@Ц{wAXk!r2099gQ ~| ?'9^/ao >˻JpM{jF˲V3?{9>_?~i׊hC]5 h.<(׋[nl:c콝z+¬IֶʽOQ$4eӳMt*5Ov6'JACJ ձ3٦'RE\vd evjtg"G|ܐ}RظLi)NDCVE-!rdx{6k`A=V`Xnlzfi킗9 -zT'aS<X0}ڇV@}2 ob ldy "lmZInN4V_X0==[it;[P;rDTN}jvƥE[LK&(ƛVj^uG7(l DK)W)l]Is-췸1Ȁp+9Ky`Z^簰( zddf ͣlcm-?[(Z@afUQ {88k_w:(~Ѫ*:μ԰}z؄+FUn+Ir,}%QzOhgm+n#9gMX%4YfJ]>}-0.ri|QwWiM1՞SHH[O96a*-ƄkTP}ۋ' !RHqYMl$˺qだQ&sW<$)Y3vCVbcYzD/2NЭGQcb){Y):T 2YL*! Hx3clQn9ׅ[dP^hC^{W=.;+{ߒ9}KNk>ɵnVjrG{,#kE6IH"Q.s~!پ.%%K"aG6kūٟ,AKK ޛOj[ *FLLb-kQ9[Rv[UٳLg%ם{ =V9 Dp7W}).4 Re.HYQ(!E}/yXl]B3_fF/,ra$Ns/d NhſEdWu03!>VJWͦzu]iۓf|F]1,:.ϴ4z ;6C~ʔ|gV>y>O(fy>^xT6-Pz o)hۻH˻޹k_813jjJbB(knir8YLO`MFzv;+U|=#YC *TB}Bbr$sRxduVDtq"30Y,pGO~EdӲ d[ӓŨ6f<yRzr)NP)179f:!!tFv&*B#- H2_.Y XJ WZ4tB,Z*gl %^FKh@Z5~w 7G6A]q VP ȅT"PHǦafG5lI%{xQW7c.݃u㟞?rW̒cNc('7}Xfnscح$s4#R[]ԩl11Zܼ#im6އjȘ,9'LE@e(UHźUft"^f<(=|\ ! aT|b:$0Ue"+22T:ނ(H#لeݳԬa7 X߳㞅kbNԭ/R+^H.B1!ԇ*Q$y9W]G%_f]"}k֍7nf4^ @K䚥Ib,<ٷ6%ҭlW~_=;4Y2t̲'A=$:H-*c\=KAyyb<%ɰ*kջ;Y}YzFL6iP5.4NH'z$~!ї|&Mư#sPrmnYֆ^C~Kf,z}W ;v {\DH}J+m@H$Ilʬ"}4GߡR=!)>JhMz[(y5a\gE('3굂OFWVYt)oJ ޾7 4즷 Q^0#g_n=5iFNDQ[pXkW}k^+1 v6<W}HGvz}d٫,wlfш6mTǰ~ <ػ}uMkA8hAi l6&ա@8j6t*0{EPFڸ6z AOggS@*#I2cf~%:8BDFBA)-..L=FC<<97<<9BABW'Viwrump6H5ef ?!@01μ}9J!@<2 &ϒ ~L$~#I0Q֭ZmiSٯL ÝMOES?_uR0DK\yOZoe3m^ww\mﱁ!*T~W :C*H?xu{ @ÿySMtTKi5@)b;J]SmlVdrx2Sy.+K?ZP z*,Wҧwr!ꭶ֫Wkw)Z6Z[3W#D/O YUBD}~FL&ffJ_7?\ktuYR;SdCO=o(Mܸ<[O;_xu)V|+4a3\ɊDfnUdtv\*wvG{:3R-Qܫ./ĕOvF퇹UHѷΞgR(U#Y*fJSX7ii d SS5<ёE"'d0QϰxCȩ\.qj6+3A/ɛi ӀYXo؍ysieX3o<8&}9 a5@Y,3ϐ}n,,,&VkFWefZ{pݍSz[8+GiDg @"B$]ϳJbHkT j7.{'JEIgd- n,cW^{u6Cy cQ}y<{{:2D5{ۻKFQUۋm.P*L$*uFm{5niOd`R䭼UN1wdZĬug/QśG.hW@pVϫ+?fwz=`-W3 E@!kWV5sԱְpO-"jOT*ڭϞΨe$*Օ+i[0py"%>braL#2riT  d7˱EжIwo@o @'!8QU6ͅȮkTŢE bOt2hh\iڛqx`ED0sLM)LeZY:{on`ǖr%S2s4|EznZ$jUԹQy3SWޟ盳v[ORTVS3ѝkW}V{*uVE+hKqYZQ͞nܔpkq`;U-/Ch9ܩNUu{ًV. ~lHq,i972+ 99llce7S f#+#𯍙`܅9d8vl.T$ܨͻLw6+6^<)v033Uef*+P}mKLoG.[叟neZn{`)z~vRkFfs;^9\yoBw.L7\_fX{~Ue~W^ƖˉQv?"(] Y:o(([Ʀp$oX}d̔)4S\}x\{7?w7Uvi'yΑdI-:Fw]o+BUy=?,v}gjiD.}ק&zM6~*E3]z&p ;xJNP:6JċF~J3.bSvMK= &Wpz9I~ةHg;+5}tb{bU$pze1acVo0?힟;p&j0S0MH8lX S|9ID(z-ݯw,*.*]QY~Nǔ66[^3l\4KP l2lU䟿wh/5'|$վ_ Ne[6}]꽩 vw|c*rYG2AeSdfqq7m~Bs$Úaov:<:7bH<"5!DE֖HrIۻ \J^(UB>̯|*,FF@ůk$R+8Տ.VwJBϚl.6N&U E7w&IUFl˛\i /7Qijkq0+PM&Y*YtD~w74u9:|72-cNeW pS&!PdC@Un;>u+1:a1+QՌռutۛ|FճE6Ya@y582Nm~# ]vphY,Cprlinl޲k6Rt$rbzX#ucHm\t.Ƶ.a~״캁^KyQ>JFBʑ)hSڽP$cl=wL`,{5UJITez_ ?WksMw7lx؃oڸ?H7>NnZu}^݈+P qaR^[g\7SnvhES{/rи}U_ݨqJ){]oU9/sƀ3sZ.3Dc"ZvTgu1}BHL(ƥ`&FJ.CflKP^ApG04 Zөp2# %[ X(MUo!lAqmpp^;CSU}"Ĥ )T-BT)Fxޑ(3S&ۘ_ 6guJY=򮊤[&#rHNP0yviB+f?]ڴs۫"4R„|:m+Ur p5ssfFFd*U+NrKXpeNtaT`Sc)fyo`#L@[8zMٸ4+$ [PM+27EkRkU/5agLco*-`(OR 3oZn/{/Q3L)+Ļ|JJk}ݭ9e{Z/q`E04mClIkcJ$=>zg7feK$EXo4Vu+WlylJ7,8rDzǤJ#FV.6ަHq:;BCES:A?S1=,1';=>>>KJUr`ލBQߍy3?gkaDsbJ4nps> IP4_یIIĤ=M/#*MT ykvzlm{F}OtahTV W"@WZ%JI1WeLVzM6XVڞًdNFw)!lb5JP06\[HG8DFNGmb1>} Sؚ;4v{JrKC왠},x#}oxhN3K\folqJMebwdv6{xr0WJ$W8F)^s-Gr::-7Bi҄e-6[:.g=kt@w sV`ٞІDv84ap(>kEuK \OH{l\}˃옰y`"9ިDM,~?NofHm ~h?g?4}d&<쭳k{iTmt:4ױ}V ]X 'QnJ/lSa#osmj=3 #D.}z)e-ɝ@5Pk+q{OfTo>LwŸoUf7i8H_D3ЌAneuihzDdɭ  kckEZVYlbOR^( X}(2>kC)9`lNM,@pȝɧh?LynjRvE޿CNxO~>̙~Yi"u!$u} gWCT^]*&坺;;IK[_NPb)uʮS8x(O\%K͆_2nCR(7AM 6:R+7=}ewTNdKLܧsLg@o"ںMO:\A3ߵ߸V)2fΑv"yBJ K`223SFbfm5cJfbo*bD|0E5j&t4^Oͱdz@ӼfԼOܳt{_+Oekf{muIa6Z.^\ۻlI{%JHϭw#o.s|W,ŭ bs;BoGeИA'&CYn')cWZOwNhd[mEKJؘ~4hQ{~{R +J] :'{O^J2V)W6;'ِnjZbjmfK{{7~{ h3d=abtnf=˵i|`#>~zDb02 6 ):~r]ì5mfF)_"_8sz,z}^VK3:2B!T"_62ˍ۝'"4kElvUi{qCV2:zSD]Ԓh{zzŜNi{1-6MG_z99=usPg9?IʎZQm3L'ƞfk^cy e6-JyCf7,-;mBk 42U~mT)-9ֲҟxwY[@ff)R&,!=g]kF߫)NYM)mJ^7SBHȸ;El[7b+>[tnL1|B.J$dksW|y¯ZMAlT>1k}=8-X)o-]kk |1`3Dw==^'QFYHT֜RUR}T#ҽFB00ӹ2,-hi 3r.{su\|޹p87\2r2s$vY[ mrЈϷe]c~K%Uk8d #72Hwܫޯ].bOlDDFF^ƜiQXVbFM<"$3vыyL1Qi"ѱawRVd.\ӸBh@j֒f9FbM]AM` V[䎸qnVE Y-3=[cb3ʅv;r"1CX1(@=pS,c)"7 A{h R<5e@ulJTz#<49~C« ݔ1JzM}Y1uλG#0T$h^Biۛ]i+nϠGo\4reF4A7kW^p*fsJB6@yt&v~+lD=,Jf`it_Vr{4@PV{Vc?Yej[0QK]`($@mR(˄A 2Hd@p>U&6IfޥjFYD`0?T[~mF<otw&cVvFuԓTZڝ+{@i*w6b6?#=ߘT1뮔;FD~+'i"ݞCt/nz)[ Jj`+]V׀L`RCtSbZ6o)c=}j jm%zU@ώzsTo7ؚ={/}a{ v:0l0нXap62Av 7 ~ `5sǞ^@\Ɣ)5Ă(e\co[Qع4Y۲NZǟk, Sig6Gp"w,T/\hh溺珶w$m4B]\mIi m:E>p~*R,sNiտYʾlo& k>9OggS@+#Ia˩*?DFECF>CIE1/$?=799=?>BI?>A;<96E?>B JrjHg$g]Rwlہ6.;*6.ٖs2Vn S?$jY.֬G~#X215W~nSuUWU׺mZ۶m @ R* oı7buwG&ף;]gvߝwͳͻwݽwo#+$JAע2E@@*ŘoW$^y$N]y3s9fo84~ @&OPc Q߭aQY9%~tUuiի{ڦ|e;Y#OVl jVP)k'}m6]]׾+;(8RY({W36x5{Dp ɧ#:v~ssj{ ̔HaL8DuxiϧkDF͐LV6‚DW`6{Kf{h]7JeZJ 4 /*[y#{Xe~f|RQ,/}TnAyrfCy  תK;'Mb9fma'K'-P:.>S(}뜜\MMzwì-T 9zMZk nm64x޻X*.R&K, +OA R&yALިo? amI,}W?^gWhߏ#n;,š1 t2Th<4oBksoٕw/yG@Lty, Y+R͕B)wI|Im%r@e=>I<<ĽC%7fmsޥkbߊmtc:VBde6zϾHF,{c4-H йvr^`Ϟ,Q. 6-SY锾'M+AǛt5,M3OQLO0M~+M-'zޓ;I6Ɯߝo`;k풧QSLW.d%-w6c ;Q_u_VƛO *udE]G9y}?ڤ;S>c[g~"lћ˖:dꍛ]ٽ ]"g"_ys1՞O_ճ]5lZ>_s33}+Ht=S}PxNݚ`rtp.a*r60Ɛ2X\.M>%'GQ0RhK}1~e3_Y7MN=|g;zmzp|>#25,Y8IXVSPT4͝O){W&F* ɬ[%–a 0N. $%2ϝC7n_9ڒfNm|Vub`k48㐶[ZAHTb:eK]4qʳ1r^2㹷GwګVR \*N¢g Cf;J]z"MߴY4rs'%(_K@&=ssi)+Qll{˖'ޛRVL^Ԥ ;f(_5tD S.ʒ+ޭYhw_Ż۶=fb5n &$s+XI z ;<<) +Z?$NC5o U7rly]3bmې֒^K^YûJ*A)B@MbK#iޛQe&)_exS0Tj67i[y;8.-"f魯#ђ]"eTKѮdYmՅ!W !#CHs~.CsZqS!T2\\{#Ȋ 2>ĈU7G}n.{˻ߧ3B0ף4۽LRAXӕ̲ ynJm1>Tw14MKHUk۩К]7{Q@- z͖ ~_-5(p9ǚamgJ"5 QXqM=OڭPʙtFMT 鞬<{9t-|پK3  EN-hֽHzax 3uY6_5\Yޚd{– ',)1iTZ@y1XUohS͝BI}[Xr9JFU׀wɌ(2;^U1 w#e>}YڤbdgrfTJ \["!`0%AJًb1cJ顭Z1 lڸ%P's:=@cz$Nn1J6*ڛTxF3cr9w,0_5sG `?atJ^dd f]|>bۛbϫ.mv$w)d~9:{:B)!~)9wمTM^v{v2m٢eZ{pQ}hUb !TEf+V7xN]8<*%Vh ㆇlrXcO~߱r塻lke,{iܔ@5в$ר5fe[u_yf0'ngx_<YQ];IRSꃎu7p\h.Q*T9#:_V][*~Mc"FZ37߽\RR̵s"#]D|z a(~ԛ#ΕR*=q:䎽c8,jB4D}hEZ`4Rx[[X,.3}݀漕l3OggSH+#I: Hy':6<9EO68B>FB#J@+*c@Ukͻrx7sT*;\ffLԺjCH_^E8;C.{'qwmgoýxVm)YMS/ 6L?욷 }}di^׫<a+Ų\9[uW{_$jQ yݯnڈϢ} vrfUؒ4)2upZ^WO5ӫݭkK=;I JХcY˃Ԓ@%4zwzvdvڑ]2l.ϫ<6w~ 41EI+s.r+E!TpM 3=m~z[(={ɥך^;4rP 0Q ZAERj\8t5",DJGyg*mqlJ Ⱆxz7la# 6 0øi{F@/XFf#t32iwCM/U$@>6dU~-o sOo_8G6KH5DC/0IJTv_Xj'ٗ5'52kvJ;VOQ啎ۼ%<TIy)UUs59r.{ĕޭIJ^(/j4r!.N IPU٤mEZY ro6)Nוr'qTG5%"8GFV("U 7DvHn -J8ˉ<( 70[Ǟ6ݰdg. MYѹ޲ ,,No )j:n,.LGo]Gp;V"n˝.&$$ӠH*yY_>0ԕ=>v^NW7WPEyùEKޭk=RVO^|$ D |f:*:ECȆ2J/Y7WmTJ vӐRh 076ȲhY:ʔ{%YL "ͨ('7T q⺕J6+B >Kpp 0zf6hl24l[kYڂdll^̬䋞2EH nJwU@JH&XxcUZ/1;=L}o~e~Fxd=gYg \s~9P@%tC.J$< <@{P?heiMqURC F}Dc#5L宿|}-cެUT)r>"4 *BȀM?F(Qlx^ӟ1}٧W ntY][ޘ9@٣(%-W<7D!<4j7j|yjybH*SFaXRPY ࿇eb.S)'nʹܾ1"s%Æ4E'KN+' vOnS*T$j$Ͼ8S_WMX.۶MN)Qn:p1r MNcV"$nݗc` 1{ MNb365 vlF.WZ jTɠ-N,5@,q, L`fflJR3o '\bCA{~ĬDH=v۴pZF?߄# VO̥j9]=wκ)g[ܢT]Z9;Bnv6yTNlU)E!GIS~&2Kŕ)r$Ίp1$4!VtG@ g94+r}7"p Ĥ pxƄ 1oabVۃ_p3hnS@vU܀"mӀ^T.UϔmӇڨ\5}rx|+.һu)C,zٝQ_: Li̭ğWUObpRzC{~tiе;Ki"v. QU%mUWTIb3n7R>ІOqq<qT-гɜ! 51:e S锦 IrlRܗbAP,W:,jYj 0n8yFeH{ y~-voZVΟ9cLB!L(ܣqèYj!_Qk0MJg~x] [f\c5@jL(R6O߉\z[Y1o|<S7~fL歙ɶp̓@ΠT;~6 n#}8QJ}Wֻ߭wiW}b^y/7aqU̙ @o>M Umًx"^z\tQ(3[:Ҋkd ;s*r}5Hv\]2鼜>6#6g>uS|PgяL[w@[cg`a^e TfywҸ@S8сEзia_7yn4JApOggS@y+#Iy` .:DDAE9361819?@BECH>MBcs2w}i,i d.ԘYU?lq7_:} |TUBqdHi:kPqEK/l^UwNf ի[w \1o{r,sQr{16\|^e7kmy׸[j ;c=䛷Ͻ^m!yvX4B{S>a*VkNsNk}R;J"?se\Y5 0sDMj 0s3u!5ǹ$v*軈"H:빠 ) х07@M͘H4jzn(w/y~RzCЯdԫZ5o{9Wo=YBDqrw,tt; G/k UfS8בlhtpgy}g/juoVOZHFk{.RZkr'QUj5gs\5.t%B0U?rWʢժS]Ekr 1URFdUN8T1 P:eO cgPGc Yx-hfNKJb'/Rj6dZ" lw$ӂS9~@yZ^2D!K]{muWVe{o]ɛU8b:R,aE= @<0omCG mV"nhmw6ml+f;۶Rz΢qv&Ҧ)n- ->vJ1=fU[:=i=޵NgCd0=曕0A}V^E;(c(a @QPvp7[QX:3WW.dΧm\eEX~u͍ye/AT:6=WYΞFtҊ ݊.MP\BX3u {9ܧBJ\ S\5Hx-S^6[S[*D6ʔHnFw)m6͆5p{(>s"xVP;%*Y\HsRԚMAprD`$3u$\Eq=.JKH4fnG\'r2&of_W SUk[\8[eR>ezc{wT_Qގ:ܧJ{!͐񝊸qÅ4 b_,jCu$GNDm͇κMgd%WX;=HkueB^DwhDK 4 %~kؽ6Hk웱i^>x$_f碣>3wPۋrfrޘ=O!bii#McjTeqwG_y|[$ޔ31Z+.o A&APtS+oln*͋+9x%yĽ KHP§`@yХD*g{P r*#ŰսgY9B7驨/ no"cIըXLn\j#;GZFq+a N4o2x ǖo[slc"  <#9>+t- WOQ0r{mCa@0K4=@UMA̩UwĒ)c.셓F\5oT[kE ZƉo7WwcZl3Eб9ݲ1 9 5J\# QoE6աC̡CZSX.*%X[oUo K*B=.M_Ůh7tS[]K],D %m![G,-7 )s3++ԭ- d(^V%<=Z}Ec/g$g0vq8 f@VGc8jN)n*uV17t`94{}t8 K͔M~<%S=}6]o_TL0Vأ H]c!,M>߻H >?z gfuѨ^U+g_R\~Rr9peJgFjnO_Y۶/|PVnFn\CfEiZjU nF= []BvA܁.CbiM 0nmPy,lF%?o_Vwe(R9D^NgZ`luHXz(#X4mj'k.'ԍ .kFM)[z }Z9uAtJ 坥d}?۳Cg11~b&˔"`V=Ѿ:[KF7nu+6ǮeNUbΔt^ϐzyK[T⛙;#TgC%n2LrDYbͮVKHmt- ="(K)Ʉco[tĜ~Smo(p0Hot޸T>SЯh C @{{7N^@`)SeyWoT|\ik=<%*:Y6Nsmzp:Ϫ[3zCLמv˦Orv+UT#˹.~|nRqgv}uo43<, #u(a8"/Ka#ҖV6-/J C ir(&"'i @XQvoAMIWJ0>ad8cvΌs{0{bzÌQ@0(#v3t^R^BJʜ +vRNzfgzWui P6=ӎt뮛fqqSDZb*UV Jl^f>dլ̗-#ꪜBrFdYSKiRrDdX-+oY1Tc{ԅR{[n\8g\'X f-E$A&T̓VVM瑅Yrdk2t?RZ7Ml  z2ʴVhWl?JqsMԷ/`}zъ=s{y= ͨR w@ ʬZ$P;錨DJ<#LJ<[Ÿitt~{<\Aښ e,cM!3uu=1+F@ř89Bj\Y*m]eZڇ<Dn2*W,߶{c>`a;؞,$(.O#̅l@ݜ X Hs<~ Ku8d%lBZ{qUF?7@BLR^KWۺ:mmUOSΚ@Oje*Omu!Q$֦olQֶm5{*ZuJ Ʃ $ "Epk>bl7O)*z⚆U~ro?vZ1wL\aw~VYKӽُl]ז~7rh%kBE#;~tvF19)=V61Y#BBwgW(x[V6bq"sȔ}\17NYy$M<6U62TvYeg%-?ѭ=DmyI"@P*etg޵1)b=nn{PBf-GLRl\CXuXB"@ VZ5g_&%NPF|DR|:'"4[s/#xTUٌ:䭼 _Na_10"w#eр+7>ጓC!tiX]y?b'dƖJWKޛSꉪ%F:} {8j+crtV/AjB1w)͖-ԱyG93QWo[a^y"9;'t3B1Kdžyބ@nM欼U$xZUAFhdcެ{3='sÎq3a[?SI@0cq"T/!>XpFoRcwe[Q1$imS3=w1<ѱz 3ZuL];JÐs9 "^ۻFb7&>9QVlv967aL)P v+n}sk8[ՕsQq:Ck0W%g/ÔtKL3`ɦ⺧kޛJCg]6+RGtu뤸W; iX$7mL]Sf/9,ݢŚM+4 3}L8Yk#sG3H U|wܰ0ޔR+SeP_uIxNcP+Y&,oN~1R mNR:]h?ԟ|K}=oW,ٶ[1'~E~ұQO![?_sVJ=qHgU9wrkIPeo~z.r8p31#iou>16hZ<2^[Ri@pWΝ̽#&"b2]Kw[Dq;Y MkKg=-a),X\™>nn͌#Ey!=HPBjQrHD}fljn9}>÷{%7HEwM2QSgHU]%W-zq߲L6+T0n}uxQozJ=+vg6ϕvr"S^eJ&W,v6"G_'{DIdmgs0O[.:2$lzi=rakyMe+}-eDF*׵f{>s3Cr]wl;Y#D5TLZ[fJ֘q:8ofG6pONy&1sP #~@5J(S(7wLŞ &ި1+;n1NO 6/r6W~7L|1Vs:t}ћR;w9nq?-T!hKmAo*K~f6'MчUݦ;F%GG\-|CV#|9zNbSߺMՙ[v/W\|{ND>1QRw.g*&RwP>: \џK$Cn 1yp}u;~06A-7=p,mzgD[GޕUr D48$3R(u"5qdwk'oخW 5ާ߄Innhujj[ZkumC}{u2(gY/`R-8rm9)K)Uu~eSϿ-ҙEzm>~3W[ʄ=pD bz0qBHz*q[Yp,UQVV|.i3o迻lOxU׻ĉyVNaԝS#03Q݈ i8RξPrlkyFYôfKIV&b f))Z;E~}M:~ڔGulӺy?[SH!l:Fok.)8O?WP|#WwL鎐egx q#ӓbyi,Z7p<4XVA>igsOwX[ 1&}I$PsY4ཙ7jo~.)!VۧדNacX|LZ$]l7ۻ:w&Nv|'6fW['n)/=vɪȋ*j99KOY5)1\3{a6N1Z+}0\vu|$f/=9p739%Qj:)c}:u]5fd ֨V(,YVLU8d޻w #YH#K2902.{^R% =B6`ewͰ3p n3S=@#5#r` \׌gf˽pE z_8 Mgv:H fA)PѱJ/RB7>k_vZÈe,om>@uJԡ/K۸ym3os>S=D+3;-s#U RSv=ܖR؄ODN9Xp 5tEkʓr&rwLvFk- o)0drmp{;F^MpAyV W9t%{z,'o]/RfИC?sWv8;O`e]ur \FM˓ח٠#hvE"A/1 s]yǧVl$lv4Vw4݌)+Uannji@r6[5%LYVO@G{ύ7GUCU5#PKr{7Pm] l3@ H%@1,VMyi.B@^@>=@>:=DN}$ӑOJE~Uznj|w `αΙr/j˱:yoV S@ҨunA5Yo6IS G_:)> \TviX-;cG23&MDt=̆ԣ Q=NKi󻯹SzU[]Da>5jic|,~7oa$*ju# Dvy  ؇"dg饛;7ISV"TRnO>i}d9<ǜx燺T>K?5Όn{EIdPcL%դ JUgsR.eGGdܸ]42jTB{.b[ڬT+{͊2Ƚg.ңq GD9\] nM#mn)-v h%Ҷ<: W&>lQT#MZ0XlXoCNte)ju[=/xs'VV( p fy0)7`~;4x.ف5KI2K6qӸwM23OzQy|d{s{8?{ȸrާwi~Nw;BEhD+ܔw'H/uQ*J&*׹5iON‰^ph]h+{ɵ\d:.Nf T%7r`:?_Ftm ЛtDe+&LrzrJOsH/ "?4IMF`w5EK /4h ܻ )0=݀9 ZC5>t}=3|{m)͛7$J^sz}}u~>_r-YʞX͌Rc&oeGj}m}Yrqwʏ{>2eg<Ց;&ȮIzw?)ܹos{}Wilͫ,w :{Z\[5|SӅEu&^`،5[amppf֔A;郡Bq!Y5 .[|챥7'^y.@HR̪@]&37\s{~zV6 lۿ2WP͗{|4ҽ>v_/vή##|pߜk[Y¤L?Jߙg0#+fg?9ه%ם/^$z$Ռq{wr(o%YEܨP9]D[\e4Sx{Ykř)eXZ+{ڱ!|sIIp_]ęY:]Rǭwɜ=ybf 0(Vn`1-paY?j\FkpE~˕1iqlYvkѶ=8Q)-5P+SOt$o9-R*|ngNwoceɊ6mכl.d3њXp_wIص3g%ѱNNvZc뚻ZV|bB"1E-/ jsJr7 C i~De˷.ye7.lR (2@>'JT_d#ekDP-o^wlqm;vuHhsg $Ap414mga1Q(PdFR\-O#Wo m7K4,˞87p`r6)2QWBPG.+9Ccwv4DL!J0Ot$lgifjdDN[Fqn۔;AQ J\垥ڭjT:?Ss:Ӫ$Et ^\k" פ5X^ra\KLV3ȽOl+Eޓ Lm,d~'+׎ \*N;/jfC.Z nnϽ- W֨ND@FNO*Vucor[}z<"g6;9ΥXO,%Ck'7|];[,lˋ09~3. &RcDw0)LBQ\{ZԘ)KKcfd^Z6l M/k0YSؐMH5d9% }3"cWʓYh04&6Xj"3 L5< __Nj ke~ʿVmϹHRV,k`]ފCt-A%>cI"~yw>-))rL}ZuDٟeR C/ۡhiHm)$!^c4g(d\F/du-❘\cႯկ;]] W!瘒iSLWԦvצluޔAGd\P@9"eqi *X3yV&Ik-RGRX aJ$@P4ꟃAi̕x+$ p~l_G_xl>lKS|k ot^`̓7#w>>J>co5# ?:_ ,)RީJ[f=7ȮmL!S򍻘U~b,QQ/%ӣguKD]U]^ɴ<PׄJ'z͡,]MTCj)Ʈ}e}bCElh_oݪ 60ts0@A޻ cnAR{ sd \LřRf2Zw-'M:2*C`K?ôu}>xjs FDSUGTn4ow*^buعy[wΈ:4l{)qLDRz,TXi3ذ :joh.eFITho/?.jx@ *@[%ΥNC@OggS ,#Ib3'*<<;=D@HDEG%;3;8:;C@ `3enZfE\fxeo"JQJL$ A%^8? a)368/xakPI1pNõ[Vak^GQWɦ^Gs_Y?'f򽣎MG8EOY}JR̅{^e97U \Tv+^S͘Zuu/?e܌{v…psxd,s-7HX+CסVS\fP14҈+{3[n 4{$[Uf0? ǹ}7ǫ" 8848 (>pi:e{IĞbvYD/ꧣZQ f)v13kAwJ"AH cSV۫5朥7Q4˪.Ѩff^g6O)Ur =fw+%ɩ_\U]޺Yluw׶m3m !E|'{  $ Y,*vE?}eڳ۶f'=ښ:' G%}+-EV MD$v.޽-I,3o&3ؑ7V+bQ 芫P{`E>NcɎ ^x׳QSSB+{#?^WWX֧}j7OG%o!k3cDk,OJYF3vwtܭYC~,gC&ɨG#O{f;+ЫoJ5Хi=!ͬ,%zf3nDVle"3ͭjn2+఍Fj"{ a@p$kcoZTnoi.8 .22o2:lm!V3pmD T(y9TvO Pi3N O iZ*l n;2VɫXU2J ?qO\zYGx\׹"8/3SSǴF$iqMJy@&q{+}FR }sԟRD0jk9#;2uO5GVwEĉsaCF<.wTGN'41)psV>ȠrBB`6S&YrM6Go 7a*a(&rp w"&*v{0Xd ]Knsl2o^\ u%7*nmA0Td wz]ɛS#e#%OƃyqWxX÷uϖRTwA1? Jkf$163~P iL>B^{aU;KU9ޏvmf37ש"viջ <ޔjL4%eبa+}!_J+dDBlfXխH=HG/* %q]4a"k-$0` 7}k"زˬBX8h3j&Iـ=e8M~\LB9)OLފsUl ICWu|r PH$Ghc85m'Ӓ~?lM'vlJ޽^ߗ͸9*_wݽLITn52)]B\7w/&-qRngsq*}Y5 @]Nߊ|cXV '!F0_jad:h裋{8 !i / sm&dh(%e{N#XLۚ`kfA^t`0-hS I3<(t jT}D@O$#@s!"30Xɕb bF* 4 u;ZqZo?{;&gg(_VW>r%i_>3ykod*xܞf]?Q4ssUUγOw''&oF)g]&nڄq\Vf#TY5V^ "{'#2϶t-JE3*#PuDӉr_| :@"=ʷ_==z$ְW!C'}j|4ګX$?$fN`LIJ]"3?mfm,}W_߶j~e=AA/dtHTJUR|.dڔ ˈ;gEz&7>WғQ>F\=!ӮN+mBuB.6`ڕVHi<1&LE @\+F̈ M a"vvs"]_Kq,OnMj .b͸?mK^!t *|)7F9((V"d?\*a x@P`1yuO^P6 yo7 YRY6 J16~io=4g!ɿY:^<o" Vn'^^'/9k&QffїK(osى2ߟ!?g>`J!NٹqBf%sYMv8zLGaS;o;FAGx_鸫fVwel&6.^cfpɨDDRQ)"aZ> $l tx"J(T^hR˒\WR7OggS<,#InL+*:EDHCH;.1%<>9=:DD=CH8=;<=<<=EBGCn6UU8U `.=8>+Mb[4H]+T49i>pvg$ p]3lB dYw!՚ikvd側_`DݢP+J:S܁ʢ@Z1"=L0_tĽ{Fc: 9 H3%tLO$1_Zp>Vp{7h!ʴ(f0]65WVdPDbc֋w!9Ơ* s~U |`ضEAh00UVF0*V.$Ds$ "rHL,}$$jT) ߾bKF˝zSܴ3;otS ]=_6^ez"877S7n&Ի݊;)3YUʴu=g-H~䎸&yjf̛Zk}&\ Rf$^сȿޫԒv]:\w Omg:O?mmmaov6F OkWdqЬ^{:QLMhe'Vv3>=zq< \>mO׵sr>>s0S`jdMw!g-"F1Y"L?'_sqŸWfd$3G7Fj8:A".s:#lO] 4Wp5Hdäب BrMfB'HdVld`:㦔3ń9 |k-Mnβ6`!u؂ tb N'ZjhgHS +f#!p7efIh?:^<2\%\Vdiqo:y87I?"R\~<'Ty)}''ޝ"TgZ>肽G>{Q:mmTbL\hWii-(NJgl r*bhRI dgıH0Q 2 HfܨZ#T5K:ie /C_b|\쾷- 8sslػw(t0> o)]޹rN$i;uM=eL[YJ_R}\eq_F#Yѻ?f+{}gH^:k榳P򷟝EdT;h|ID}?w '[^ѓ* mZOgWZ`gץ"l M*f±/6mWm L\ 40)ۻ c ߍ k !=P#U9HVfa0dLR>> ȼk EF6L/]Ag](;-(Mַ'͕C;b5B#O}HM,fONnoҐW=yc6%wTr6v:ECϹHP0bDd_KzMs!U:rm ^.V.( (|˫S)Ll?5&L&Df%c+0eh{2\R6dPkAW!E6%Ⱥtp 5!01/Uffo,͹ͫV%1\{;E#je$7i,4l\ܞnyե~}LqKs+]p{٦ ww!IѫXo]-pqB9g[\G:7,i19%m|ዊ]LRun:`Yg³iYO M.Ln<0K+Hp>\!IG Lddxcpf:&g8dyH_;79?ld~|(X]<E͌l pv$az]rB}[tߕlgM-۳d^9ҔC B}j2|2#_ɭHHmzgQl.5SƢ* Rp<& q_IVK!_{jyd¦?umM35t6)Udp[VHns9|S3zvmedH\>]fu'ˬMn@¿=qz է\-#Rh>\~npMS]=UNz߳oLl*A2$ig-QEqk,+b嬹yiCG=[6c;m47n΄lkbIx &s UW'-IgљݙRU-WvQ[C_ilހHbxE5:E.czyzo&r]"{z"gӾ3lK*kI2+A>/(7XŪ-T˟0#O\w=P6~arlf<+-CBޝUb3 nJ,uֺb-כRce\:œ3W7 ͽ.ߠ0ð(-_ohvn7";n̡Wg}[1>eݷTETcYP֝OWVq[./݉fwқ ;;ے&'ن wE%6E)JuRtΡqe%E {)͎J8.3.FuX2yPLR(%$x @N0pðAj~C;8 #J26]+XS> bC&h9 `3UʧDe}`n>vy(ۘ[M^sSvEJP'8K#"vɜɌ0OK;cr/ Ë= V}A.eeWyR"*J{k{r{۞mm-[vW]R b&E ǵ1m~QL|nsܚJnvZv^YD6&P{?mv}B!GϻÝ.N{+[3zƮynJqv&=!s3(?_igZ͜3_yM/E[g)OggS@j,#I?-D:EDDBT>@==JHLJ5z1 G4RVOY+?zӨ *%1y ?P].lNuZ39>l0Y.U2Nkk02-F r4Źcfɸ WaG0czFigq5`3]KZM^6#Yt5P`.H>۳q| d,\Am3S&~+rW?^N%ioXV])=i V4gDx؍?֍yN>Ws'fmSg}]ʹȋj).sjGT>𕛧x2mBLngs3š斈bYJM2R\)d*@\ڬeX(Rي` &D_ڛ#؅K$`Tj-دwأŶ#-Z,1lٳKő4ZyFVB%֐4:a肘T2҂/f `&If̔΋m{UqHbe ޓnSwI"HR N]!+XRJ%"7X`@?OE&D# pDZaCa˜FD!b`.֤QU= !*iYi@B揣y/OR !RҶr79Y|\ke^ &5C<_=k- c:~ѻ3ͦ9Y-BXz[3ګYiFbdhQV Mi8wW|nRi&6 b6>V9um{qV<۴d&_ O_2W(~*꙾m*޶2|nϑ@jU?;.ذD$Ϳbi#_snA9wwUl[$[lR:L6DiAl2}||)C^7fTֿ^u۵~N}m}tHܵ*_~7?ئ~軟8ODU?C 3rݯ|:P"DQːrQbUY(ko;ܾ"DtcF%zR!fO1ViG3\yfkՑ"}{nY}~6py^-ۃwGX?gҩWo[/VXdp'Fd Ъg۹1:K\96L:D5{eH2 l̾M) l%yЛ5^@Uf=6M~艾dG9LG3z[V3" (--]HcY#b߬6)3+ c;c_MЋIOȨl`ɔ7)+9 #JN=Z2@9zGG>˱ 97̃L7;wϭ<1JWa D5Uz @Qvz<٭9:b/u&ʉr[eb<sJm>ʻ"ft4J9܊._9F[sf *L+Y936n(]&7ܒZl%ݣO(њVIb:](^X ЂmnjbzuXBD"g]Sx\5&ʲ_] ~qg8 kU&8we5]Qm^Jߩ> d ˜'Zr떦WZ+떮KC^ً8kLnnnkVYYK'G)qw/1zH55'I5-pf?'ݺ.#{Yqy/)@6CL&\'w}zupͥJTW%vL#,73շ_/iU3$3̾uGt~/U(yۣ٨;~wڇ2M)Mu]iSXZ5'M#o#'3p3ㆱD쮟mTuvZcOomv"&}/!⛸rGN):D&ӦyLeNٖ{m8ߧή2Բ[yT}^pInoywaL=>xIr)r)n\Avt9U U`4P  (x̨1ynjεu6V]iV.Xnro%=ON75Bb|ay{~b~(u <&e56)vUf\\0ut^qX]}B ŕ1ulɓNtD["fp{pn_٠ s;.Jn./9V//}8D:7Ҍew.f\^Ύ.E)];y\[&Hz;_]}m"򾵵nm{;iՖ4 PփzvdVNp%H t=cp̶um.˥x=y[ז0mTLf p`=4+,Q2@{v[d]n(H̫:T/{'?~e:Vu懾tVn.d:~}D"e~嫔8 XLnGDη:dw}#XB)u7~4ʠQ.=yѱ̸ +{pτCxވXJ} 5OtmVGWlwmͻʚffh-kUF{/Ӻ39kv֎њ%3 @`B[8ڎ0m/4mإrI~ pP@rl}:?5k-?fm] of(e*n@Snݾ;*s\m?ovMiF[yUAI(*%\j%達EOK x`wX_^ 'AID-'8846;@@CGT>:7;<pX=wM>{6%Qc?y6xq7?;^ȴ[~˜~z'sot}Ӧ߲󿬎rf?7B;3ԙvrJ}l}%^TQ.K M!yQR=,~z'jn*I4''r|Kk/_r*GNVylFM?2T1'ϧv32>k'Õ{4'[J}$*A6tѿG>SfIo]|z>cs.h| :Fa8'wٳr. Y?2Cckfx/N>m`dh٪=S)ɝ)}li_-CpNtA (j鞄U 7FonѵG%V<+&Չw0; ,3iKC|2)\Mg^:~Z54&qwFX o-Ed|Oa^XR.Orl]{{S6.JU "GՔD계eίKG vٸ!ȮfG{3饽}tEuPxCo[j'1aP]a$bWͯ_U[ټy~^i^X7d^@f Mqn?vnDP@zJ6:Zfsj2>BLvmu&]jBReUשњٹ~kQA֑TT.\ğ!k^ے޽jeFWOZ'9dt -w[VGs\\⊫u!euVYrBprxF2q-{~UOŸ[lV6޾eյmkTޛ.TMm@LT \_@B+@wQ- љo_ (}i9)T'\uvNсNymT2V'֒WEmeU* \yKS9}{b#Pe" E@N7ʖz#/3L!,%9f4u@9fpޛz `+C" mrgiyDH)-!^2jT1u[[ ,D?C*kvx}\2ob"Wwvoij%^*+\m]WB<<6.7dynw 4ݺkO51Ndԟ:qF2G q7cPbzMP!N~Nr Ds˔^~YKV79 j>d+ʥЀ| ԆPv&v7`ݢ!XDg;@k/L{޻,^)I*I5H Xkޔ2{|Nc KGM7־v[/3$MGycqݞSɩp׶NY"a|:!Dy0gBiK&=Ĺh]vT[]orlt)@dCo"a5}ڍ8>De8{#K9{^|S\ʚ21`B]L(00#!.Mr$Ū}-)QVv9}aͨgm}t%0(?.vҜAD")2c8%SG9rXNL.j%råa7qXoJq'۸h7MWnٸbY.l#:sĩ~ۆV@izC/f$J+{|N ceWuIå`^g lA=怡u=cه˜@$/ >EPM,̔Q5HF93ت'77 n-GGm>{RM2XO=9<ٟW5oͻ ^/NUb>麼gs}9{?9oi:<'ęBD:LEy5救3{:庪 leOl٪<7+p[p̠Lׇ2qpO4ѧǽzM ,rK<5L*H 5ljkw`7Ho=A2:Lfێۼ텯:'R#1; E ?XB,<׻ŲT΢%'wn`+^9BltvzP:*,?+.M:eXWG;lN#oQKAR_erw=u]y]|čǒcruKott.PlrA@NV+ђYsU)?w.I_ot{omIm{ڮ?v#iSEXϺ_b6(aV']<Ur1[U{.3&6V1Lil9xa&aO]V) &tX,KH[1zݚ5ֻ>m.]b ИBSB 5  PH`tO|\},v܎c{M{66eyou͟|R;!C637D]dK=IfdǴ-KffRֿ`c־;9Oqzô)՛O;w1)`(FE(HN6'7^ $tzZT?wYE$6rV]V\>"±F圷,jtB4(Wa ȿFJd6dJgWިvɹs HRXGI[|o0*/:U,sw]۪֙czg=֩{OggS,#InlI&BJC8(?:;B=CDA@:>9DIG2@:;9DG<L 1n6?Ye{$)1j?|RY7O[-zTbMڢāk @ppkT"={@jl M?ҽ~B-:7m{[b[; Vu]ABR!U: WOq]HxUyJ)U]綕uץjOW#[r!.dUe>Sȶm%N ݇fRfe3^yҺ%lޅf}ZOudi'+c)Z^%bmЕb M9K;kooK\"m ?qpsS.DlŒEѼ;832߳)3: ݥ(y&b;oQ;wx1Q9^֜h^r9o(n#6tZk_f0Y^g[iq@r[ e\FAQF Rÿ Ij53Ԙo ҃e@&;9ngm.*k3b띑 n>굢Z"tQfݯxg sw۫ >}.hfJu\rqm ˦4AEtdus']忖9t 71Cr;mhAƙ]vOFH >Pʮr‡8]j7a ; ی8F4PH!CY:qWc;{ nPjnF <)HOG{LKޡ%̘o{5M+ۛpz]p.mwZ=_n4|lvOeyG4Sof'lEkH;Ѡ=f} !fEo]q{ַ]Uu&&{׆17Y^3_',H> ^j튈'mp- ɦpgVIX8&\kgr[\X{zD mٚ(8M=k;ZoJd$)$ >NUQW@Otk$82^~mTRfEL*.[D"`&-{H+vROEtc+<꼡a;3<;N2gL):Z)l׈@!o]5 jEB!BIdٷ푽koٜmFTtP x-z6S۪&FPesgm5Yfglj'JPyM$ ԈGϖڈ߼|>7hR-ECk]frtl Sr}{- |S8d x{خY{նX)g*&&>Ŝ\,(&4(}ĚbS (7jjTY xھi?ǍFǷ;hȰ3kSϧuql7&wQ|?-gշ9ʧܿ%ڹI˵FU顢BQ 'Hkzoc_sQl ? I\c׫q.k*: ߨ/"&h:d ɝ@:tŊ ɺJHS[*-cRI4ݧA|L"U1ƨ тac& '2n]| 4 9B$}XAr x1KlQEH%]r 9:s6R/ dv&7:1?]L 'zpM)qNc^hJ6w)|J(*\"_`%aH$N7 ,s~<̞:H=dhB= 8;иL@,a0B_LCMq2g=n}>/W.7 5lL t}ݬT!XyM*Q#+.ed-4`(r2>5@SbB 6)я0pî Z)8!))8ĻbqM\ @nfeci0X-@$v>an>z$ƚ4scAyT 8鈐>l̢Zȥ&&trYgHy sm[!) 1IjLY{D f-^S2߿Rp=1O$ӢM=UZ=>j0|4 #:篼smv8RU빍\N'{f] BRU&B!_] 6 OτdOFVB袘Jr Y(Yc ,B8`LIAP%lX/HhbgRM{ +7> RRzKn!uv̲v9([_{yn`zdyy@OJՒXMb ?YDuHOX?bq⚙RR&o |>Z;K)MD[?L8cբ2z~viLe>lOsz"i q2t+Q9}q7-NV"ӎޔyOV;M;B&ᄾT"))M^&iW"g#'.cf' S,RU1ЙD x\T:T+5z "<^% 3rCeHIWi<U>qFؙ0&cQߛxl7zcciLVS!I[؇֣RDPo( 1w/ ɛSȿ_F~wGtI"4:>?R%hRGxe.δ{h{[-zkLosky[{3r4= :<0"%.Ik !3aC%ůq[E5oe%b+v.ŖVFЌ+BiFkiVR7@ `<%F. 5W:wNaJVEҦfnq'bƼ*Xn.hd{+.x7R!K07VK|qyNݻ5vPzRwd6s=*I[-;<&_pr >fǫR.uZjӪflz.u^TqZ}~>0aRFXPȓszScf_+P&km=#w!G*UR*N/L-[mh^}եש)jBu* c^f?k:] ,U2="h6SOrˆ'2 Y6QnJlԫc\{fy{g{-yu~+}?) 7 8 `Rukb:Lζk-X \Ĕ@0g -xϔam 9+\Q-0RN\!8~;=cx$ 4XZq y?~S8x7 J%ee*Vq`Xg<Ӹ\V7A."Hqz7f.>p~}#j;7ˁtp͊(:2u3A(#-{GSxxOF&6`'lti:y]o(m66V҃9DpjN4յƶmcl6SU^F+PԙFe&$45?`N[r>j3_{b+{իv4Ly&($ I]Nja@?"1i.C4Sˎʠ$Vx6v[3;=žPZ0T,׽1AA 1u^[æ̔ l]pc[Kۧju|)7]!bֹ?^cDV 3~0WV(#$6 1jd󃨗F >N:3KRfdL%b2#+s x .>y:΢enMWdXE()( 2SYxa;"uE)r* #Du$9Ƣ1`1ʊ˪܉MZ`}퍭6@#3cv;Cp+VJ6^P*{+X'<ycf6^`txpͯC@]Ӛ$;#!{b*%yuZqVlqCB9n2+RJUl6moJӣRu;TTknp(t_. 8i>Mff7Ft,.+CԱWg]Mіx6#޼ %0`e0AƱ % i62gZлZITa--+fI\.=ӽ'[%_!pJ޻3O`:婓vX-i{vۖZH.+'9F1%/j}7 ov#rGL_yDŽox@R=͒MA#wn鍹b# tU*v;` ǫ۽i `vC>X;[J7[2Bn]l]O{?i P@ i\9"&PȎ,$х\*߱)J r5xWތN~2۬θ 2>kCeQ(U9yHk<rຎD̔8SFuy<6a wM%{KN)+.\QPTR~\v݈̯DLi^ U~#1ywo+q\st@ҚV[O:&ڽr_i.mQ T ZnTZ/,Ėj UYVY1%T{Ɇnf1 HaS{i Hcp&z 옹SFe6 퍘8z nx`AFXv ~7{} L͔ξ \]hkˑZ&VV*PtS#Jd0./%ePI W[^01Ҟ\oE=|>:B}w PёWg:q*={ۼ^sgn:g+UKߑU,YE6j6Z])k#Tc'h3ҡN"͈M.33s`Luh=g iR EX{p? Ա5Jz/Uz?G TZ^V䜦 o$rn'K^]E71p K @ -.y& g7ʸ.E>%|v?몶}i^ޘ}41lnS[{yt7[ϖ6tU*E{{lRvdiBl/m=;{b: /Y7B{u]Ew ):Pdq`g.NrZ {5췮r7Mr[F"B7ι  dʊ+1&8&_TBZxxnyJÙ96V;lo?:lفq#t"K6FT񴪤= m:D%Hۨq2ht]K:W <'@KBŘВTyftT0$٬tS1V˻ҥU{[YS%8 ;Tr9Vf%Ў"`?Rט Rj"n\9׻awC;ƣᎨ`Et ':Eur6knj){6?{1C>6KUt!4WK;+;Vf'~ϔLKVr +K9m/j![v2c4L}5F[lUWBHr r EKTи P)TCt*2v7 1i a f:6o%*kdb]*+RGZ$29!=ڳXs]8޾?oI632`H#HЭɄldo(M.3,ŕsLuw-߰ћ$iz"&2bAx> U"{tڅtޝJǿLUa=L8Y=#{޽[T洈I 6} EPײŅD]w߱׸S*ȩbòmtz:v 1W@ Y{Bz4> ٖgloOlzo"*Ō-Wg4jCg[L^XOggS+-#Il$:<@HFG,A8%H$S*qF"`W Xk@XӻI@?D񓙁1 `y̪-Q}DTt,4hUPK`#SkR+L)~+vm7oLi4Sɻzkyxȝmd_ƞ{xӈ;e_;J::9YC|笡J<9}ݻ팓Wq!?WuRl]4"cBeVɉR_ Fv̔J'E,~lUvCb@F,\G'bUZzARIJ ݧXkoFi6i-=͒Jh @˹ 3(L 3)% @JA0yah9ވ>.`C<+ O eWp uM2/ )\>r;,TyRCʼC#5^Ȼ2zC*^Pyn@&}QS坢խZP6 4f ig?qTo%9i UbLe 3ɔ5 "W|y"d蓊L3l",C*,G ܰNZ^WOL'\@ ?j ﷞iDiάϭz1f<'q+zs dB%p'•hKzg2yUkYU!9呒'c3Tb$(=aʣg _+(X_"\oo'ɴO6dƃ4q?S$&"RA¤s2 6;U`p;y=b|Uk.-PL뽽/|bK@ zbH{oJ吜Gg)~>;-zݶR۶zVbϨ&lEdX+[YSIy;aPcS?wrv]in3RM{m?սZ "R '{u!ӃWLTR?{',xy.l>M,ɂ؉18kr1=xTi,CUv^&D ҆bPeFnĵvJD,=׭ShY=1q峏<|_l>[UNq;bWziܘѥ2Ml͝R ̍Y<>nf,:Y) u(l&.+5AKr&0 7g Haj/20SSf3L8:w;L~d:{/O+/x<))qs])gz=]ȨQymG\9.OO;{-rKsNV#[z{*_%圎jO%2#`n^܈iT f4(qއ˩~ E ʊvSpW=dWL)գe9JY-IW;Rr.㊌{q%״=Sm̮2t X1Y-L^MavO\nŒ_@fGȮHƀe?dk7z)- ]ץWՊwEYu]ʍn/?ul!Q/ڭV꯭z6ܔ 0#rH')NV?9Yw/,z޶MW? }.OI)q|'Jۗ3Wct6.-4sT"L*<[BtjS$ϵ_7hHˡ7zcU3{p..|ceRBإ)IJbWeMy$sE[ٿ1v>7|*WZIz/~6;Bt9]-gO~Fw_F<]y{yhHWӣ.Օa>bV9gs8'R]QhfDy50c=<+Pw I [eυg)߱BGFr/w%gРb5uPiުYs WuCnj"JE;9t5+ `~2&ؽ6!M^ ᦫp,Z 2lppq;_PSk1$iZ=0k27SvNMFrw?l{>mm*g󸬆د<OSk/"55ČލtyL093EH~pjL΃:"n]PvZ6I~hڧ?fOo?%k|5{c\7af!WC!Wd][;{ocϳ1owP4=wŖZflfIl-bw9u$TOs%Ф9b:P"S HHE]Zw+RޣL {UM2P pЬsնGucy5>q_[+1#kO2W֛ =g<+8_S*#_.wsF{6Iq(VrnZ){vk7]-dJcA1MR~+75}GeMs̼z*m_8fSڵP! f䘏:h%s;::#Gs^{OOG-Ιׅ=ܖ~mWv,:ׅv+Ǎc,-1%bj0%\Dp Eh@:}%$5nO!7:RtFq<5Xei*%e ·4U]:=Mw鎌t+\NQ2ٖbj5D(dg֧)A`-0wP1T4iyc(ͮZ&ٳ6nYkmHQ|]Qc,YzSiCd `::t\v"5ܺ\yNs |NK`!.e+`۷??-[|-wwyՏK[[Q[SՐ6 >5V8ϔ 0u??Vd^Uc%[}KջG|,nmRʹȳ==1$NHHȼˍF}ka \3ƪL)yoe@$^{ֲ~I.f”wkιFW~Z^WCuZٍ~/W"hg{[]]9U*tM+幋w<}]҆syL/K^55"2*^[jڙ g4=QsHqbeL{[iAMUŠEC7WgU鎥,dOggS[-#IdVW*F-"=;<96;98BECDABHLH7+"<;<8::G=EBn bfZX}Kԅ.vIeVfbcvлY˒X,Y-#8'e gWޛL G\>H x d (zw>է!yzC {6RGΝߥݧ%ϝut!ڔۈn{;KU˞w/| 5,G{8 U1 ծ\L(pTp#p%Z Xɥ5\[d:%]~a*\zvq#`]؛Lp5N*V>]N,@y2.! `r:~L۝LGi;{0)qyT0з:[ Wun{"`'YrӁ9wW8PZ>6-"7눓]SxכeExpU^=c$9u7OQ0Z:Ys^ʒ5ɜ}Ap'IO'{+T(E UiΐKO3*dC[ .ѪSrW_]U\)tըV:suEe' +9Zmǜ+-pm 񴙱N֘jR$P)Dm"JADVܽo`˂{IV" lRRi꣔O8Jz:kvLW::=IWk3D|&5E`~ڔWU.KX ."NPtv:NQde\fzE/ T ,֫7P6kmC FQLYf ~W@ 1RFp|2_oU,$nu?XԼeJCH@fQ%* `$mߕS~8Y{rndnlF5֣(]9pOM8;EX$"^V.̽2 e|"LǠ` o6moۜ#-G!⪮9G6ڠZ2es,N`J;KuƦaURs'Xw|+zl<3k-/|cFJFf?^i | ]~5-yg=kQ˳}GByJ!B ȋ?JRI #by.[v-{ixS{lYl|B^ WLc LRX ^7U,E>X!:Bm[mݻ-7e|&׆i$w~t܏ q^~n|sb[׬W6miLfOX`̼gјL /xlnr~6%onwmml}_lf| \"< } 8ozT 𫉘56ߺ9ơ2~RF&f nm:Zel*N4 " p1u;=}``73OMN+U[Uh5JM76ӾZENgؓc18+b5!fIfda$")1ZnN$3 ٮ^څޝ^D柔mx_.UO3|KQݭ%qDe?NDNW|G`=ȉet1D)3)](/їHKdpMI]MWntϾ}Vҫ5kMdk2^zEF&[ BKLYtoMXO7-Ak/vϊWO)Ur{2)^\p6'Y93w}]S4 ksi%})]%QG94H~\}A1F,3W͚^ΰw$(?>4eUl) ۮ̔͘{l t՚&W0]St8+SOF9FEP0ޟ8S~qk[jߛn7: 95MiH򷱬Ty:SޛWTgBaoeb::HKZe pɱ#3Dװj9; eMԚ滖N1 򴩓0(@PU7_S鯎D=ըe#5Πz,6h{Y0ZD,b2`y<:ޯǍ#" fobdBcQj>:6-E:^\ʹX"W^ꔿ3W-dݾmTsV۬U\&,.P\;4zX:ƪ eL&5)Tb!ʼnB٬G4o][j%eQ=t1s@Em~.2!?6]%uYes^y97dVQt& ggT3 qO2kˑ[7}avoze뮱KzVsѶ Q6KOV=^ )X25%o-o ~-ߴӮq(LF'VV׳_sdiW+7'/+sjX:GLdԛѣ3LBn%Kӹ˅=EV:d ڹL佦7&m3Fo픞3}nbg 0WW˾`x2nzW1OggS-#I_*N><9=BD@HC,B9<;A>DEC?112F:6:9:=GD]MN^tOp4f:Be̋e@fzSmG׼0fg}@\b2qONa^g\$JY S>нU}̩9`2Vs1B*  z$POz9!ٹu϶c]mSfkM! *!ՠSF,Y*ӦT XIZT"12*-75kF Q:b/>@E*+CDnN]dwmքenl]3l7V6[" *Kl{ Y㲽Hx=D2ݝw/Qޅמ[xO~ˇY^x"Ybl@e }<9?cu!\6wydU]O[' %DYd.<-*(>W&nVYQzgִn= &2%r- }/;wU0{/G9zۻƽۻjɽͥF\бAt(!QH]F{6QSU>*yqdNUݦSǏ~~<'N:\dU2E>a=9'J w!u[">}=WrdO{]7R- LAkF= 9c/Ƌ\r7·P.*9O?mE&?T@+IF#8GKi'I?떽ݷݙRL;uŢ'U6+gf_;b}0Zm]=׳-,ͩ@ѯ<ZF%`^ 7P_-*Ezl:i1uU{VU[wUd{kOv d2nK *H33E7[Nf>l~Wtkwk=oԚdY-|>O(E&<(y VLbg?Πff刺߶K63x6Z'x VIB@"Q@~YzG{"AMR3S3­?r'-݌&yX<'')KY2f߽~/Fѻ[#5Ӎ{WnӲ4{oOE9o%۞жTUy~!ع~Ηz8w;iDVT19]];==nʭi$8.$Y2F Um#3#UNRG΍D)ÂJB0a8hJ9~uA0M`9Fb,*ۮ}L2=w$}@rf7Ł9 8^\uNQĂLzm!PNseY3$L͔RC==n^W2sI:>$dY7;^sUٍѫP.wtt{b.[i^& ASz.*WCWt]s3mT?-IS) nܣ!;MHFq!LL̊G1n5T%].dt-g&ud#@T]ώ~sA农 N쌄_: 6V '[kvc!+fwcM2g@OoĽx xpL]f/إ;R;u*ȧ*pͼf$RI,sݱQq(t$k/Jd1)X'JթvWd/JVỺUK+hTRn.BٝS4ct)s{ȩ숪1+*Ne̲h~%t!tJN:7e đZ0"c"P ^@:xi+2 ZaEvo([\FFȾ4prpC[@f$ fЦreK,H;SywX֧cf<W#S/eN5.l3qя;VʞӅCDz.ExWdO쩼oo]^Vv/OVs!]lw$@#D5pE` RC1=\Ѐl-4{2Ʌ @gX&m LYxG\_̘`ֺgҰ <)(\fȺr@a0~議7LB}+C?E_`ރ=ُٛڗ\NN-z{,n1m?kP%]s[ؘ =^LĆz}+"ҽKY0}y*VWdP8gxX ʡAH0[JI8uRtîY-^ .-Ol5N^q Ulj`A _=g\&_ޅrn̻'ӧ.t.5%ȄMZ$Au#saByɯJdNE洖P,Z6 GyA0j]LF0kW ηOfP6c1j3ShTnY#5*)ҪӆuázohO wDAV[ihߤb꜠:9G(R.Ͻqldv̕RˈN˄A >U1c*d[a*S|-qgf|4^qfzc47 l.TP#>|#@{HMD*]73SVR&o$kü8+MOuf>҃A [t) i*Qd&76YãcTfdi TФ]U'UɾeC{JrX1n1utαfv7Ir5='JUY87VJ⌽, 2Hn+fg"rJ H}!Z.FZ %Rc@' Qb!!QA\OggS-#Ij".վ;ӬB˱.^w`M MN}h1l qB@N?lcS"+s=RD|_-hq\Lir-.G%m@kmuWae wƶn+LdBl#A\=Q+}[ue;|y-FZ&G; XS 3(4aPRm>Y? uz27P0ɨ13R 0{'ҶV޾!t_me535CXr&W[ʘmBF\È|NoN܅jT냛.F`W_S~TW*$i;ÕAQ8l^f/ %U@ `Gf;N`kUN+zհUGlNdRf 6={M@xsOͭw\1Kk7eo]6Ƹ{o,lN'UI2mL "zf{`DM1Ql)" ]L{o{ݵQj]K( X]N0`)RpS?LbF|+m5|e7zg}{&އ&fd֨V 5;1&q5,Đ(U>0|7.D[lm{ tW%; @_(u#; QaY8y۾^޵y33e&~^\w9''疃sv[Sܾ7ec{b [/*%<݇bT-dKC/yj.2;f.=+jj<Ϳޭ\)5n]l8\~{u檆FeLRfD߶Hk:M18-UH %+ÀW"@)Du*2r\S!:fERp= .AmA]ox77231fϐ~ȿuu17mNnG+ZVUC?xY'źfYڽO"Sz*˜ʿ^Zd?1ϙ{2 )W>yad c2:/DEE*=kwD\RuO-&Q쵷[JgLܯ\2+rۄ+=6Tfrg})\%KN,! TGMϭ3!2qΰi*p M`A4FBAcА K@ջgb 6_ H[ތF9p!S,kƪݩڧT,d {,k5ikl&ycJ~[xw0nl~?JX)q9yz%7:(7tu*Ewu]D{OyL-߈:}>S =Hkw=)MȎv[m utlgl.%^8+# ʖs֧ҒP1N nz*r7x+4@nC c@pFm.Mh _.xKqER21-#8>~{}2е3KBHKĂP5@l;A*032޿E_uu\jZO),7#(e- yiOС* E)&IdܶzˠP|saRʙ~+80SknĽl#u9wNQ|F0*Zb8&8o0"i3+YyfnD':2dm7+xc*j9{W@h[ĨZ={jS1NH^K FO@̭ˌցQ5@dirzld^(3,{zT^'wKR*!-x3=3z'ʛI\ժg[WRg?Nq$J s^T.Q[J.!:QB:bzI[_4>„T]IdnOufDYr "CA9R4zSYܝDT~yJS>nBz Ȗ= &nM ' uPdt #&oӱ0;aZT(@M U^[~7ÔUc_uϑ"l1 +uz8:0fh1\{Z-ʗ18PVbhNvۉ|bה7}1/;Vb++]1W6}_!&|*q:+ܭkֶ<͢.1tY]lͣѱ>O5Bqf:T7JTWRI97wh% \Mۡ}$ I1jfds5靽7'oU&pjA(C5|@ґ ,knߗOR1bs~M훿^%)QӟeT}.L& R2E:\:#]Rr2(H P4G;t__Y|aN)h?0r;vjriYiPAQmhCu5ؿ{eF^{fT[kxƖԬzuv- e<5o槧iᜳtkPf#3{U~-{D_0,qѩQլ*qC5'{#^l&i(Fc\{.r/2(&Bn2dfdJulJknmkOR7JJM2]Td 4rBdcNmƩx d P⨦OggS-#Ir%<:><:?:=DBHG6;;ADHK;DBNHGLD,x֫\rby6@slߤzt a5ӇZ<fG& YoyFHv2zKQU*\<ǁ]z2K[잶GDn%:&םhȀ"qcdB Kp+ Rup32~ uE٘ G ej$,U_~.ٯ 7[mN,kUU 1&˃ˊ:z6B(%$.@A/XIBG؉ ˴ڝysʉ 7fq06kC]W皀Z\a6?=S+d 7ܔ_4'FT4(X,E5PVXXJi{< ܅֘f;[?3:J)%dE 7T:0Z-\ʗU}1mq3y-0]Atf5 =g}@U a! [)e1W(͝tVy^6Meu]&$ut1E FL (Y; ]TQx|.qK$ 8{-nnrZF^B@&AfC 5RL b;r*B$֧m~zhVT:[ + ^Z56s&UNztmk=mjl&dzT2{n.=ą\sým<-QieSk˯k(w9o^z)5$iw"j^y˪Y1ճQч!fKlǨV.; bߵ;z,E#`=il|& t+07̺nLfD}~{`"(*! e3.Vzeff~+ߧikHpW'nq"Q"C'4 sB.Аֵ.T=gt.Aă>TD}ꨔNQ7ssڃ=kPXQ=E[JeTK/9Yq'b% B%2 9Hʞ,Gq$YˣPŅDx5%$# I,ݕ'f@ aQ%q.z6wː IˠkZmz-Y<]M^I8ۜàfVCFD\ (brݓ\' df̔[bm1_M=4mʼnnY)|:?9}ZJ\֓w3]tn/q]/gȾ3U"IEG .sCdOjL]Iܒ!1JWsֶR ل 1K!LC9$(Eb'DjZ1@l I F1#zc޽2 574`D:"pv(|"u${,@[8^z(iSuQݫVgb25f<ßLTl\AΊ;NP[.7Iī_}˽:c J;Y^gktSEPvh??W5}WxYDF҃I0Cꬮ닻 ip3[£&DVHa2ZO= R_WR'QRjm-ҽzlJj ޴ʑ#$ᓩ`)"L {ėoTtdGnR#^9ܻmm]WɶS֓ @Q+U <(ks$d?3g` +."Zi=F)>嘣PNFMA$<"{9׾Z9Y]oj$J[|lhǟMwk{͝<^ҷ+)#_vTȥDEj6ż*}=ꯈ:ySͫtI|@  Jy rfZfvކ2fשDóYSH:Lޡѯ\bnpex2*6ju[pΞÂq'SĮ?)bRײ3D=gf yoO*< M[:@p1*eP ;oVXMTY<<%Nng',ty{o53Ej{?fdZ՗N7$]6L]8_tu@kCfQ]BʰNH f,96r$̖.YAA*͇=3Yڙݶ/uC& t]2x].](4i2{Hr:Nkh*nYu|g_thZܶ;fJQ* Q:jO&k^z'ѭtA8Al6wXl t6=0E,֚ J g q)lDx{&8پ G@Xc^͌R)˲q.~qiYq?Lyxz84#MPU&se#v|d7'%ƀŴR6 mU/<;x{hwJN)M`U,pbw޺ Vn]&gb+oh!Ϩlxz7y H;nVM7.bϷr;+rζQ[-, 4awˎrb $`HA0,Y:SHBȌC ݵB/= kfJU2eORj_ZęŞEbRc2͌KTLXw+q>jydK٭iJ'څWg{<޲JwZ}O ,U=}=v6VmYfے#S[2[,l2;*,қ>/[r1RH ps8NZ&RH{lXɪ&ۻ zM(SeftYǫ]9]6T:-Ojm6]gjWIm]wyq:gs>ʧ.sy?.i9-~.]i=W?wsc_q[k.Q-oJk\!d&Esqԝ>nYVvIS—޾>ZhaRyh_ni=l&SտuYSͳfnz`EVdߤndoܽt~ BX5 ȸ!gaSZNٜrJxIۻ<ԺvkY[Djײ.$pIZI`a-L#kϺݿPCwzZvzo֖7z=[K{˚rtQ^J@}ܸ!_Tn~{&YV8 p{53)ԥ/Kunj;=ߞm3˿r{W ӛmb%ϣWR#pHflN7cTd*c{mgs}Sh߈fFYH|;mt.LG/WP-[HU{n]=U'o*a*W<}=j{Fӡ49W{8$8YOggS.#I'(P6<#C;:>AC?CF>AF@7%/<8876EA=AcGV*Ϊܙ`.ȲnUk)`{Z^Ycg3 c7q"2atAB* VM!qқkO+E|*(̨yefJ~Ws|\.XqL|Q0^{xrW9/^:i{Y8[S1v΋>OS(/Kbw2U}.Dod}Z yVɨ*_K2Dϒs%zR`!GUJ;0<[b5qT;/{W:=M >QÉ^%Hmb.Nvuz\JDš$qS7 2νXw-{ j_1B~m39E9LHH;+P"P ܽ7Yqߧ} |yf#+jJ;󵬓no^ulXV_B ]4h~>JDt1ŏ4oO3tn肤 sSZ4~kŌ ?}>KKBZ] ruਦ_LLi d2TH/8ʩ s}P>_}5`^[ `̬di~!kl]+tƜT}d/YEiO干jv-\Q͜(m`>mM&;O7&,鯹G6sj-.B++zQ]QsamO2t&p SKeP/]uXvgij@+ῐo{ P`Ne!Wz .b=zCAVR+ 8B07XdȀ@ǎQ&QLffXXۿb{}jݶnvXmJl~?-Rq[m\Խ;JW-n*ż{Rt5G./O]zϽ9W:3;&M:w=v)ǘT+f8;WY=+6.|w06{bZc-N4ji"7g:[a~J<l)7?1M lSI+o;+]ըLr=b뫞mQ8&,o:b8RX̀ E@),'XrVx$T%Z׶RmWluIffk]1)' "WVZS( ga/Ы4-䀹k֊ֲ&LpB<)Ϭ6VG4:=\t6޷S}oBnfXw}-f 6c;^٢,7v-׾vk_>xw0~J]Tgk5$z`-dY_v;̿鮵xo, $ۡn6%Rqb{\&^?{e ιM^swW{ofg[Zfv}r~&>?Q:EO6V$7, RDQ*tTk?rKmhܘ٪tVx6/ B=$4ri|SJ*׺ۮ֔ma~V4$z5wLt/ 7/%.ѩEVnbݮZwhZ-V'u`zp"j+@?*|lf1C6C}'KsۚMx[ڦl:z D;AM3YhE:7zkJDSHۊݓ_ZWUv~tmEQV" kbLEPkMXGqVf޿k;T.2ӷVcpZ8~<8?_yr|=9<y#_*/U+'7znbqfUexv:QbSSq1]Og~s;Ze;ui١艾wJb\F]m;S9KZ׫V#8h9vVEUރU`93D1#{!޵SLJmiar6ـ'!\%=t0#i*Qo7+fTnø |TTQp%$5$L@Hf樱 dXNò!Oڙ:y d7MVZGny# JNeYt6=R!2;%uF.mu_r!meʽwL[ u}U9PUn|+}W9&+սeϖ. qJ-cո/-7vkIڙdafYwo&3y]wK/hZuno;nljwmoteTb,$TFSd~dM@B5j)7\*K6ֺ6a-4]crt;z o?Φ5i.bHEFW|{Lx߯֘_ޭF",Nq3K*$_ ۹>Sg&#*Y˕κt:u}m˃VZ>2K%\luR=h!}\i ޙVflJIJz߯EпNdM$3oO/ZƜ6`Zqf9r=OVRXBEYTR$Cg(v+YA)7QDK=QxZ(WZ# r#Sxt ۘ,}24a.9T{bkO"*]ubSGe.=rE%LOggSP.#IO3*?;9>><=?BE:'=<;@BBDAE4>49=99;;:͈T>nWj/k1D2,A E^ۄ(/>~}{ۥrRTj=֦m[OR^mXJ *m:>NRmOkAr"9$3RSU$Zy -ni7}TnaiƔqgmOi~ߦ2?gqK2oj=y6s(aLN=w-',t}g啲\4pڍcgr bСMDJWӈ~,'ڣ <z`wOsrճ]}lt.+i¤\݇fYkYѸ$]j+.Z/ k9 L00n9 ] * a&L0uVldVJKynpF1b֋S֮&ݵO/9W~Y&h1ڶO#ɣP^yՌJ|9ha;(geab>FXme)E?^tw2Oh yEUuMFdi0hJ+s:{ӑP$!iCE@μ 3p ,KR(x/3͸EPιl0v*k| >HPiQ uzk6UԳ$D2yV+jp.!J}ލS}ozOݐoj#'ګpúgdn_?_u*|˗4fc*RS7ՙ E\,htqZ\pdJ؏yK2O[2bάw9!Rº V1g Kj]m LGJ 1D-U7~Yx{ۦae|\ D ج=ZˍR#ՉڼOBf6Jhkl]D(uAA'!& $:x=^*F#WZiՔojovoڔbw4 %@ue' g\ f%[m~w_M'rVkN'HH\jwdȆ.[1`ZEX s7bJ8[zmm^ڛMyے'6R'% d#t^Z}aS{_!"L3 gJjlͶ7ʵiM&񵶶fnˌQjX#IR"4.܆qvMRױY3ww1;b~Ǔکw_zKE7%Y,H[K8.B}Sܽ2x 5jjTUvGwtWUjJ#gcx}5#'q+ڕgJj|w7.W y\>S*J:Ul'NFn--.~v.Kj%tWܸB)pY {樒OdeZ9Y鱑0R&#KVAV`eprKљ:w0'+}JHn@hU#ǪXjCBUXu`P܂ ff`d b@;3toԘ9XR-eHI+=1|E d(o7^yT26U{+Rdz94+GCZ+泟/~M'M/7b0T+1]Eg+unҭ+]V:abonMYp;Z'ZSURۮncTrfkBa0ާU Jܦn+"-j R+oFsϔԹ`( 9 D|hg)M \k!u #!\5#r\qR$BԝWTDr{(a`悴|+C2͞Ř4Lၟ*)7*cbL{K2 IZkݹ^:73J)e+:Ӧ>p|zrt,?ұ_|g]7 (ɵ}u+'S+zӡ]0(KRsL \7>)U__g)*a:RR5}mN_;%|9l tjDX\wv6qeP4Tis 7JܭjdZel !T .+(8un#(HGIFzB0pMë?80]ty=A,tkF``әCHeswPIH-DQCW}@pMRVs#E8Xo8>bW9yudLMhШDd) !p$CJ%L0בdV^+bfJI3&˩o'sdvc ϣ!"kdraBUהKҵRJå\gt*8bꔄ'|.?xYQEn1xU>D@A (?B@@5/,'<8ˆ >~w< Vb!QSfR&ֿ@t!>ԸyC"UD*|y}: lZV}O-@ӘzׁQw;2ʯp|rR_!f<&0b+QjqeVKռظQSdjKe:QȔ[W l2&fb}A =b #c ꐄ2i@:ᆽUrU $ [F>P2&CzlROk?35̟iֺq{l"%\<M7F{y&ȿ׿Hʗ]()pؑ"IisZ\N7xs>v@;K n%+fxݍWFF!T*+Rčρ #:Z#!E*J_(Qwa^۱xgbYTf&N>~qvuxJIAv }zl\$q-jqUagBB0]ުm6{vo }= /Ϝ87%F43k r1݂ҤHփ `oF2r Y AStzLJ!iu<)v̄GI{IoZ[ujg(/]:fJb @jrjMIb:;=Lď[g =6~0p;hmlr+@hPi8Q#I'27:sctt}ΓC W3߭\l-MRQ9A. ȒW/ ^oaR5ػ: zr0콻R% Vb $J+\NM `@10`V )9HZ:5sVH}tw ,,k̔Y~|g F۶ #js/l1 }='nT]ON ŐS2;P3vClj:ENsX|؊]671ѧwX=qO̖ׄl7/{"UcM_}!~s1qa ,iul+v0٢rNf&66\]gD˹ZOЛ+ .#G 8 lRiXoNeƙ<ǺRpԲM"g`vOtwq$s_uەzʛi-]$>KrSPX"̆zA${Jب9ft tI{ۺnEu֤lh0#M [HA.n5[T-^׹<3oM*m5I z6TལG*NDȦIk>`O`^ٔ@X7|,)vegmo1ީm&C77/˸4ʈ *BKS(or*iNj&*JFNN=/Җ]$ӐSL$6d1|*wՌ9 q)d=u3a?wb6(Yl$Aʐ9]ocL%&3Pd=M/#.A\FdYRbyE  7uUE`MܼonBn~apikk;v8y^Abuka]3SQeIhe?%5Wns~庉n֠kI l& JF7Gu';˺2%{c6\ʨd,D5r8F%72^b+fW3rL 65hVQ O8:WQv5HP?2&,UFZ72+D$,/KY3Y۪Khy82Z%3 (z7wFòiXuO{dfl1kn.7r{ ^k dXl=i$'(q2Zy֯|zܗ7Ir;>rux>ƿM,- 9g7G=P/FPkgn^^gn/;Wʵ}G}6wHkdg :ZJmZRf3SjGzzΎIUI7o:H )P~f9~^ 5]8r\4Oow__GT7ڶ/.ɻ~Jl#Ҷ]v=.VnY5! Wlso6ΕbX^I.zo ; Y2[Rٸ#Z+!0+ǰ,BRfU}[0OA y,QFd:6cS&<5u8ѯ.}C|`rZz\+\ߛ[fg^ ̘寡-#/bܵY4w{θg2\L5k9݋&ޚ;gq M1++X~5ѱ0rroF1CiDnYEWၢ@piv09TM$%\<* u`-m| ־ 7qDˉ,e(z+卲/OHZaL53tc|b@d&u4`̜9 ]tڧ'$Ey':!Yy,ﯙ$˒gB` ݼc$b󨙥;]zc =n8.IDb#A#&7\ zj.@>aDKf>3r_Jwiyku{{b]ʜIs'"t%̽w4Jբ fm$jma; R;BflBur*\dGk6z' $sMRL\WV|QѾѥmd<9p̦2}f^ׇ֛o {.ۓLS/02Gf]{Tsn^dFD=1TƹC~mVۜSW2ζpf:J?n&/:QbhֽT2+ȒPs[ʖB ΘNNXmqSObHk&Xđ*Wݵا⢟tE/6eѼ| aGJNrVlos~ƒ7ʼy?'e^/Rő۶D~1 ϼD]KTD?˕)㍴T"s͵{y̅))0z-x&, ;@?xdra3ޓF]^!{6_5wۻظ{nNޝ.ⱓr64]%4a8pq$/MsxC3eeUPa)KnYr&3m=3vZSd.> APDwq9wS>gkD+^4*P%Pmwo2RbWQ01#>H%Z "G IswXp4@7"M؈*"][.$q H@pTCfwY` 6"ynL@B#v`r "@A#`IJ)oWL;i5;\"Bגn\o97wsh^&Oۍ=vUjXpy=mjM嶅9I`芪2+v:TRtκQ Z"#Jcs(L|F"䉤E )FpZT)!0sU†MPԍH_JDEf0rpo4?@Rj/,coiuכIJ$*SWόZvhwuͷ/M?:Je&QFv7:ѕVZqsL1U|+KתʨSk&ܶ޶''lU(mn#|U<ly#Dԝ@Hٍ^+k10Z]3lf˔mp4tHf7cng|D$5[ѝҹWӪ kɜ;A{ܭF(%רּ֧eF;ݻU+kkN* T:B{7fpP[m>,ao4)*7Ѻ[VN.7UdUq;؟{O ۝ޱ#ܨoAWKpì6"Xβ/ʎ @pr36 XbK0"B AS%5sp]:OW-HlwLM2WY_aǓ??f!{HWX/cӪjd$#K6, DffqJEHw{)eKdҹޡ~[ss{̴;RWqju3sӌ;E0v{]dt=<=U3,i3 z=ׅ=k\ze1Ң.c~^(^AH%WZyiR ׻4!? F澇lV1Tܑ=>+X$= 9HI }]\kf&Ly 3}ٗsÏ}KVSbRqܽ?LrW٩vەُ'WtǬB5Wr"LjkѺұ:doZ1s]ln}gZM?-Ԝp|z6e-(Eذg?`'1PM7I~fW}ϔnfkQ]ʗluevziT+f|M?.rs2[ 3ch2T1]zk!4L.R0T߾y`sw)Ptkԫ *)z i&Y/$ÆGٛup Ռ3n M6 606e ioͻߦ4\|[6^aWTt3o=&X=ftB9>Ǜ5oYGgiQg+}KQ>3'g]fT:#f;=ʒBVj%5yJ3Jڱ-ԬLc =wEGWzqm;ގЪJ>!0)lv4bl5X9ڜev̻LEɼ0zft~0ژeiV&Z3R7ssa'bs@9Pj2aNֳMS[܊ɴ'?z'qBd]k߫j{*%?U)l'oSE.|o8>'eOMՎOd**],ws^)ygk1/z黷mҵxh\5pźTA7?aطNw0fZ+i4U5ZJ]]_ROggS.#I,n+;:3):=8:?:B@@AADDD>F7;;9aiA=WT9^@1P!Ȱg͍ <o&yJ͘D+C$JZ3#5=6WH-OV+Oo\+-ݠ;Q][owzD|W2T̈ 1{z:7t%&VφzDi4xyELf9>3s)/P`z2s{6۵6kIČ)K䀁цU*R5@G6]Ќ6_^X_0=F"&2͡avLZde2{v.{מ4ݾlR ];&ʁ>C! t=W GeyF ˉvǬ7efnIr,s$wG;Uނp6ZP;ÊvQv;gJwA1-_̒4f!=V*_p`m|%|ݰro%1򡓑!-vty{=~Y`D|1@Y]V}eKRx:+iյ}r;-,InCgGL.oJuḧ˲+ 0m qztU~ b!\U#f8қ/Cpfn<'fhϹ`&IޛS@_f1F:eJΆ|y=MO5&':{K岙wSޞش.6ƨʻQta#{" @v$LFѕ+-,q @AR4I4xMw5|'CswvPnF1i0bӍ4.&`kγ_Dw2xMS.q/܌spso'ge'W5bi3,0b*M-7{Ycw:T.MT$)(rBʺ Yw;ZiJjZ{8јɠ6mf%I[\F+Cj  q)\\?=rV*>5IdO֘47:j-C;zUKjZ YQ^*~we?d\/k:kfvmF7EM`za@k jhCiz!$TVW-Te۶(A N_zAT 7?gM҂yOSMRJWzfVzml=?lb6|4fUX:B4Ec+Xgn>!-_VW&;Y{l6[Bf -dEȆx9% ɤQe9MCv}Di[[v̶{^.݂݀ ]ïԽXTo0z{FuR??٫bm*j55ja od=0 Zq8lGNQu5AioWzZkMK[vFknH옰Y2n'=Ӯ)[aط'`8wOm7]٪b[ֲʵ9qTg&sa61&*Q5Ce-79w͢mCU]% ")Μe@ZE x|0A73+z߿:\|EFݳy~jO혼ZNҒf`{H|vS}]qqQE132>4PDݕBg[Lݡ5PY§g⽐Tg#wl6(7qS"\f&pvxBXR4Ȍ"v13oAm evt:1cue.39yC >J!6+HIH_ $yd& 0@)pW+|vϺ㽞ؕ֫1N;+{Gf0K-!Q{끰$kl;%[<|r*=ۅrV-rQԽ.y6xzs`힅U&lQ܎M -gS V*Zbh @ ۄ dJ~Ĕr 8h$Rb9r49 ^r˶f1h{{޻$.OqIŅ {QK)).()!aEZmu +rN:TUR4f4qlSyt MKv yףp]"jre&o<F `^zP.IoJ/-z" ;uA];qS"e7lvY;XD@G3e{gDE)Qj{+=곴Б ol^cKGބj8;kk~#t'oU{}DvKs_1=T i. !lBt'#1@?xF:ig )Fơ9&uoK+m˺}}Y|vgF ?_dK=3Xks]X{{^պY=ؤ,cdޏR+${LEdr)r{P@y35̔Y(/o_+I>qm3Az`22~E{~]eO|C"4!׺ qBirGeo%<;W͜D/}mUnmi6$9961ܪ Ψm{r} 'S\0romkKDUM'Ofá^c~>1Yl9;qck4XR `?"8Ҝ{וKnHHg0.뾴l %at)ʊ'1>/j4U")fpkX\{ޣґP]U]\W2Ђ]qm޳Dqu݃v;ra1b77^k~*VF# hE),bkߛ ఄOӼZ?jStj=t"]6wީ\}S;ю{rK%3sUq myNQрD@r`4^_&@2*QeJ2v+i}/y|^഻0qhʕ/t:כ7Uai݆e{YSz-vgngHvW•co*s=(9ϡ6g:R:#'ŨFMd2Nt!Cu 2ؤVB}N9Ƚt}r"7S?KuY؞!+bǹE FVe[ìYUɪ .+ipj$)- K^k^0?CX#ڽwf%M"Uc:*q)¦NjmĠ2| |mzK;4fb~.[vVF{%P/~Ŀco?*; |ꩩNtd8ݘYֻ, Zb#HZ":ˊR4qSWEO%*kgm 4 3Кeвv3ƌVqoy<5[5ꊍU :Fvf g܃w,O]C~#hNu[; Jz4"QH*k38zNwKs]ZC$mr!n-^EVZF!/t[Rw"8ȼ^ [d'˛{o;x73:Uծ] j#< uf :)y1P6GMWuݯm/̋1y^i }.؄֠s=0;Sqy8GNGg5Q~Le0:77<'F 6p4D/ cgįifj[+{O_]r[2Gn)ǾK;hfUӞb?>*$7~$#|oS;q|+B޸r "CE۸YaOA+wf҈7 n+҉oVvgN1;fޕ qV3h z H-/eܾr^w,C\ũ13꼀fc-.֫YDAx.lI f͞lL K8wpk(GI y s-2df*RUvoѽ;[cQő͏< yuvM_6ySIS8\uw}Dцε=>UzUM*v =碾sbLFfOn-z̆.u =]|\/LomF @w>tR'=#i13;x{a2 i_3[7[\WyqtHNAכMbhj<&)8wMZkEΏ3;ty``pCH %@"~;-,Qe?;,~9`gҙMn˳q|H }DnsK3Rd$[}36h79܃H;wd+mnغx)b4Y2ٝUUJq76m)'s._Sc܎e5kHt|fwvlj%fu8=/Xڐo J[}PHDvW0 ,*{i} ~OB[Aq}M [3iuwcgTss\ޞ9l|JݠqȲaZFAb%ݬSWZL]fܲt66Sа^{z \4NcULlN*} `EO1@&C%(>{ߩڨֹ,vFq20sA6o.B\آ: `sݨTh0渧BJGyeg֪ǚD&`3ZTB!rs}wnt_4u0rReuvGwܬ֖~_W뼷cFlLO R9  j"jSc3s2=+9J?iݶnmUٶm Dv_ŁMgA o̭QEbC&vaixe|cmjЍ*=~eH+| 59emk.J;h'JլSV{}{sgUޟnך>: EV@bk;"A:Hxp\HV])Lz3\h9ڽ+~s5> _gݴYό_j s%Cw-^sQD 4<tk/~+)6\I{,S_WML7x)BX9Y$!+j*\ܬLnDߚUo^Hs "n 6Ĉc9Q8{I71$2m1&~1]c׼ZI,i;&.ful/f3>uf}m ݤ!Zvy o܌z[&Doh!R.\F]Ff;]iޕVc"-VŁGށrѢM\W!c4UY6Er.r!Jҗ1~cEl|1n>+ `{޹6ih HSpH1Mm~mT8g%V協&D]d+ 4s}y3%/W`Lۇv:ܓ.7ޡ}@4wgٵU#ԯ3pw@7Jt'Xėw2u:R)W.¥/TU8,*'Y̥{Cj!\JE0j(P @#q/& j A|LtAen=l0U#JK4puLG}h>'o~۞5&U˾o%q;$oR+g; q#|+wޘ1lCbO vtLh)MlɪPɮxtx {w1ϞzU*PIqq<|Ի.c5UEUsműQ=NPT(Vs-dեI( Eԑې `6@)+S %1ܑUm|z AOggS?/#I_]&97<9?֛I&eWb$SϚBc?BDԓ9*meFx^^-s {[]*"aM\rc d@%*'|RiBgɽVoHv{CtLΩڰ/NHe$Gki}'шŊ qTcv\Yt+L7E_r/r;tp7G!KdDT$g nF9 #D$8thZf=,Y2Y;&I="IBkblfdLO^ןU*#rpf2ɂ>BtUzCk0g̩F2/SF~/mW6Ƥ6ۡi#}:\;ڊ=u*jelk>d뻘]lbVBk牵r~Xm,bU̫I=wXMg\ ͖:Q!.n{Bphyd:@L?R6$3.QKFJ)#)Z&Ddt Љ"=ـAfn8h32vCv䑽gzSpV^4-q ޥ݉J$O &vy R$/PMUmeNG`_-Eǂo}PTDh nAxa (w`8ܺ ~k&` \nveդQ6eT:['*m_%W]w){Sd Ź@yÀy ^:I,ΰ#IDYNy(dKyf^;4d'JJYTO,d {_RLVs md5Z\mYw7[Wފ[6idziPRlrV5ʹ |\%+5$jdO;i)-7ofJ +_bon_FGضl^OY֟)NAb;ۦqS=.FcC tR9f%+0Yrgs>G[J={!,W;ZOeb/.ur݆79q*9^愤$M\Fdɮb4rD.t"wxȴ.Xׄ+k<⥐[Ä(oHr %nc/!Abѐ\&6Po̍tni3:i zmV`CG 3ܸa 50?vKר>T&{5fqW kfjUf­le;_"<N8ugL&{-.{u`pCY_޹K1uQ؋_+wQ W)Գէt|W24n\+Ov62=ms\lUMLÊ48x"XoH}+UR {X9_Ep,d1 6 П: ZDBe8lZ8PpDrEik-Y/kZZȍd,s.'/do ^ `' 6\'ۧFIUJs.`׶'+7olIDV9cnw6f=[єd(ݓ7Eȯz:tsNW\W=-:5?jy~-zW upmѫʳRV*pJATmt.*QvbܼI6ݛުFVjp`x$J2%oߟsta_Οe8xTjvv9K1;e&˕"4Sn;W~^^JλJu*׳r/go\mPw)GWmB0ݑRrM4zB\g7036ɐI@+Xgxs45VRY bX Y)![{}4{WvY6x7Fc frl 0>Di U@Wyj@J?tdwB 4$3U5f2_PԎ;GOdVvTѢWZR99YEvwr:_ҧH;K\uxR:VetJQ^fv[VvvsĪfiiZP4ɞFNd'uo%r6v7+ 0+; "%pbc,Rtz EBz!Qzn)gqEGx{aB:w3a z9+1ZtVnyfzS WTI+ $(570h 23OYRf?97ܛmeո`!שeCͷjNH~yzGIרH+4َ|rZd]+Su2۸ygW~}DTm굡 <zJ%F>nvfvwh%QBCNȓH"K*@J2N)* ERHMǤȆ֪OggSp/#I 6&0sϽ\Clmz"zT`%T̠ lW'<ݛ!}/Y>Hrr 3 C P}Tuq/L(hrjaDRۓX@7dyŸH ;jZiXY9q.I'\!qR;2e a}_0\cڎX)%-{D aj/Tg]$Ŭ5I0+L]Vp  Rv b*Z/y̔)E^ΟzJHe:"Eݗ?NPqVh?OnWV{lQY2qnI`(R˜UnL]-o.v\J68b"48Dvc⡋D-d` .;sb-PP5/!,|bx x2AUOc1c:PߍS`yGJeUB8܎R @%13S&__sމ/gu"f?÷jӶki݅~t>?,kr[qucU^/k?u©g*<=]Rd]*U8+%wbbKty譯ПF_J](O+Ivp3LTVRȩȸB+OIDֳ͘'v(Va'Y  ⑆ x:Au‘ZHɰ dc̒PK7=?0YG9?c4M p6wvlUoLc?OH$|KI?{SYY_;CܐgPR,0 [˽x]Y9 1fsak {N?fz*#t1:wCu"ėm9#f08uԛyxƠ⽵DO3^?< '!R*jUaG߫?Y<"<q{k 3 c3>wKE*Ldl^^yogw{+ G5: HAv:ךg_XA7SfN}΁>GWa~0m݌O9ƑJ4v"ZWxضOIu~&f/e#un;QlrFΫRD:t[@QoNAzƄda޶˙ͼB=P͜dw&kƟl7zvOl)zD-=>!}c֪eVF3rARf8kv~fdg޷fn\%f]\B=Rw?~dYqCCo0k@k8 鸚0[ kfP$@_КS Y]IG;kƔ(l.xSI̔2Gyzz$4Ӟfnej}?-ܹHH qJWHXnQo̫"gtYT2f;uy>yY-mҵBHT&0YE{{,gjameS`P>Km& |u*"wtEMR$ee?=:_w)K'㣏,3qChݨ6i/Eh`f#$݊ _K˦} u{ t74fn\61B ؑi@Fü*a  dh:~kv!ҙLd4VdnbMxL򒚈{uz\Ok֭?SY"Tc޻Ȓռ&qDuE \1$s\6b#mS?~fDy]qfr H48.nWU_y;Pz˛U*`L٫V"f6,7ZNATRިzvVx{ izDNPQ"{tCVejeV6Yej5ִ-2 Z3B0=כ?i%*8'4o\v " 4D!uQ@.F?Pĺcw4L&Mͨ)+X/řbRxz)?_:2I,[۷$9j?vO{a h M*-已a*[Oaz짉.SGd+~;=>j>9ёy@3#L,/o:챦Ei!m_Y[&lҜ-Uq,*'fwӒ{7(OggS/#IzG`#IEEI:40L:<=FHF@C=GHF;0!;6[knĨKKzڼ薞FN&`F:}}q7B]{NSo)[9C*j̀(#@L*O{D֘9-VV?l/'~TOC_s|,f>qݦ+j&l_\Q2 q зo[JH5fɵ}oi?n֭m~O0{eZt;}\DLTi4q5P 5׽گd .LX_{Ogе f9#Yz*8Ckco !̉3ME3ag2uq2N;sv>uK=IѥVH;@o< O5(~j,{:wDShy9TR-YpSו=w7Ul,nﲸ$'U{\w=,}`:&&nTRLzf;q@Lќf4|,"؜si96~& z©`@[y~Mu/є@2RJU}p:l=px2X˾V҉ﭯ4ɔoo_Q2mgFe# *}mr'dwTru1u#ޛn5P^ڍ~PNs'.O[r3F^+Rǵ]~>WMmӮ!_T&t>$>`rdTjlӫ>eQW-~qo/mKg9Z,ۍ]&՘E?{#0@qP~L*BR )n@1v"=Gx JF5ZqU#Lc̺yoC|d{~ݟRl䉥c[XROcAȭg ltW^B7"PZ9an=\ @K֙QMe{jQZX"\mJ-ene"W,5\.O> .X-"+b4 ,gV5)daǁ7Z:<I+y ._ 2I4Yrҷ@$sMM,som++}:G|wٶ=u]8w~S/?<5OߑτO]*Y(W?~ .+>#3V؍vC5(qs媿ƕaGA /Jd"M`.WKҴL`e@'CiJ{c7z*X:Sdaj@]tnZ {0& Ml "FC6.J"֠&w{fߠ5om& + ɋ:|\n\QsT8'qO;M}I.+}S>)1L&sr}`W)@fWiʛq״Smy0瑮;QbU&Ft멏VG|ɭ~ҟWG֕E=bĨ1}t:JθWzք];Lwu[1}3al:Y0̼mX>*p.2; 4{0OØkYKc;}ǚ FYnݟ)tTچ8  n'@E?J7ܬ RW׾[ܒ o|U޼߶m۶mZuU*ڊ!)B T } 3gJ)(x&ٮ;KZk;>J}+v{jz2+u:cNDα4?*@Mxn)Q3SE'*2fgNU좷[$oiTMz%Y|0#I sLs{=qˤeo(WkkՖ7?J.rI%.k]=43EMJAv;#ډFԝp̯lǽJ N';&D^Fag8V97s6PcχG",Wx\5Oĕk4ھUʺ KVi{̳־qsm^\j}]㠳jc6gtoWʕ\vnW1des=*[;@ݏؔ(԰,nMu84YߞSJ&T_[?trvL\nX 69DBAFH>?*bnnbߩ-2jDJKF ;.ĢD *J0乺4MR"k:j;|Yn \nTcw؉^ỲM _Z&-a"kѽOd;[)6xT."W{oQߛUY XC.M9Ij8ÛEUhu]foO=%k 5g-i{ڶ5=K^ um#ғ67xwy]&qކ\35c3*)y[9C/|_V*cJ]~vL-qݲt=D؀P '{Wy\h[D)aךPU,.hr:cDF.)5˖+}ϔBous'Op/jʲf/6sUυ~W$PdB6X۶+F⫻sL%J]>”.N{Jq(8蒦CL <$X`yv&%֞}ޚ"]=`2ۺYft*@+2KN p-'mQ#3s( [#7U/IƱ;ƞm30 v7T`b H;yjٌSh ۏg,\lX4L'>8F>(OVDx뻍hmYK뻑]ʷ_xfۄGia1ь3'K{ [ZR>E4ԉ:y#wbҵHf4@sHY z@KwT!f,v=\uOw66[mtM:3l7nUA b,PhkjJJE\%uq~U޿J)(*oT{SMնͨc]6NeS3GgJCQC ۳\Az,8|ӻzّ&hKآqYN>m w/9xLI>BSO[+{_v(kz|~'#˛w{iǟ>_?^/7 EC3kSs-#5;XQ,xo{[JK+]G 叽 êG}jJ7E"l=p;/qߋuTu1WYp}Wmi7Ǘ˞ݮ 耽bX({~\ ޏV zYL4^-m׀Gs]?Ȟ8՞f!''x(l+[7lDnv}bfmv5qE$i(A3{c7Tuqyj ~t4V>qòJYiJ9%AZ4i*ٶֶw5V=*؀h^ұA|v̊U:`OW X)@۶o?Sy `3̌(nc%ۿuղ< 5ui,o_O;n|7aޣ{w}e_jkYSU:oVO}fؿJfMo_?! >3>1\}/D-/`ߦO :4詈}6/w'/*s36*;o,,+ 8fq*}fl"i9X C̬w!bd0 i=dޜݤGՔ!O]Ϥu >=8N@V1/{z_n(߈EN=)M{K-of3%"kE I ] zQ9rr}~EK#̄NwM6d4( jc Z]N9W>~6vw 1́|&rp &U)@웣Fe[~A5cjTT{L{mԌlZO\&: rYhS#}ֿU)EvQouc(*U[׽ٻۋxt`үEvn3t{.K^@5 [} l6I7^4o7nXֶlJ lfT[&$nONtZ-Qn;s;rT7eG&E36<6',T.ʂ}uQ;It_%!e$;8_Ot@fffJY}뀋?>J-tBЅ/~OM On`_nYmSiW$Q\uwj+<ܻz2TCZ4m j/Sp:~{'wr.CW)bnť2n FpHby?D3/!B\#%) ]hhS E D/1y.01w3'Y+/gƑ @ÿj>(>l- hݐZ'ĨEPs/dIdF(zZ/77yd:ok ;+#&wUb^G xB~N'Fl.D@~2VVއ[ѥH[bT<86Uƈ,P!xk8d${t?e 3d7 M aA#ҧ=3Rfbq⸡rw9 qdV܄Xɫ&j3f޵mjuL55f[ ܺxRuZz,<Rt8f ~|-"Ey`|d" kI+cN(Ź6Bޛ e#/P_u^5+~7VחL2F:!(Ϋ$pew}"}!ɥyZ5+þثޔuNgAl  4 \DNpKsRKlW p\.(wCdQh)0RqY)lr X{.Vp)V|["L\).\`ڍ@b6 f ۬û^{M݆y Ӝͦa^<8PP\GO)d۴lե\>l\gױ1YRfTI*~!CiкF|ϖÑYG\ٴӤ4D=^ص6a<3䛦;};.s uo+=Sz/;'ս] jrDn4;frffaH)Wu;C U!Tʫc"#TGsXQJA 4D!J{:bEz/ʓ<=d᝱@[3ج) { weu@u5fjb,׾v IT)seۭ1g2l67KZ!(LO?@ Ѻgf*7]ç"ZeC){Sgd]AQ:|7i JhnP-V6 i1cb$>0Ti 8Tɬy$% Kf^d:!=%UHtƐH6.3Y)59t 4B7OggS@0#I2"-?DA+9>:G@!3:EDEI56'6E0bneW&Z,yK@BΘmcm P:K>I%F (DXVro"r=E 8L#[޺Oڲluݩ¢1Ho4[=MS=mǩ$UOU=J%L 7t(Uwtܸx]ޓ癭n{{:t>wuTŇNW.BrIF!*Q2HW^0,йDrEY.. S6VV⭃;N 'Go 䂦FsNHz^i( *_.$C]tMN'@F[~lp;0Ԍ0^f>fnpg`7LAD.U w 6̙8J}[IX?~8ѽ$3:R ,@T͔U'p71xkwRoOkϯq:~>fLqsࡗ%. uo4ّL}90 }ud:ʤ{ Dk}pzn;OzXشz=Oq5戶N50VݺfW10g)=SMabXg^OvK[mkLmodcmۍDtIG6`ns p @d.qf9Շy2L7ܫ#Lσ{3k1y;;|fQPV 1tKM B'l`\:\UQ(߂RvSR8ߗ> nQƛ7}4WɢSET7Eu{;Qu9Qzj}#KB_P)Og瓓KG!h~Q YqV0ԈxWL7*70L FC!?0+ ϦԼtwӍh7SX˸^TO͑"תP\`۽ =0"+ 56^w`@@;DžTfqDrZm1-q) SޡKy1)y+{_Q'ǧ|qu1el|eUƜuB7vEeSgyay*Uą,լ=BL,o|Ks5@Tl _;g;PՐ(@';-.jոꬸ5f) 7NM24@pPnmj@ԜsifFYk*F+++k٣yl`F߉YpŰ eqs=U)WĨR$ [?ftVh/vf u{s,B'nCr |\uQcf*Zߟ]L2 7e~_7G֧bq\"~WD߼?'qrSP '@KRS+NvE^-T.}A#jjaq1=Qi7EPUtNV2Pb|-)E}"S됕Q\a ;E0 )K.1Jۈ,``ڕ͡ z}۷\䝭Inp=@: `Q8McH|t!A):_JOUN"Qf*{u~6ӱb!akT}:1gPgI"@#GOa6*GawRuzSXժ:*^fuvcPN!?j*ϕkʶv!rk=%,= &ڞh6Ε>ѰrLX5R "+=L9/763o:SE!R&fta@d=H,3#[֜s$pnlxin<$T".߹s>8Ҷo6v~85ic Ok'sF $8d| nFQNjٵk382Qu^oѓ6v/+zYnܞ(e69􆍾:2Dnɨ|N)Nj+iwn Cw";h0CAKJ#5:CIFCCN2?KQM+.-RP[fj``1Oc.)evKW.~,#Od~zBsBIT:"G k y::(R޿cqIpRq؝O):x62Xlܠ;R<+& ?z&L>k׈a,ҝ˟̻k'_VAt5'XTFݤ"UeO_~F?cY]c\w0C}T͵56lM4g=cdK\M寬JR&`=@80jlm"S1D-qJfaӫzhNOud=:'pXCflDb%,.k1Wf4_oflR%nlH_jknj4~ә^?;NBG\ 4{e<۹pyb:uBi}q{os(DU7qELէU+FGF"PyEWMzŭ('+9 +L䌪ItnVHߔ-wi.PH$,0ȩ NL[-WN'rL^l{K -/uV1QyapS,BT W D- DᘨLEJRMx)NƔve>vKJ!)c `4UL*JM2h5WiwڤfoL|E*r C `ηMX&T|cTѺҕؤvsc޹\5I1|yEbHZTr6nG::s dUZ,ŬW1-ŎސDk 3+ U):eք cWÈ^VWWvWAFk +z+yd NF dW~oVrfYsc7oGHKY9 3 'zHG~/jOm8|{^vޜ+|yಬ) 'Bp0c{{M`TnWN/Nwi{h +0PI{` 7Oܗ$T}, aY~!*[Y֮n/Ƣb3A209Du[KE0 $O~|i 7ԛW5JIT] *1H=R?8[H>甩߽Jd3_YhPXy~c8fw Tc?m%@8-/okl: 羕=ߋnZњdžHnmە,W6zQb\+͆ÐZ`Yc,"\< .HsLaer@Ms̅k֋X _cNOA9Mp@ 9Po,p/Eg:X_\MX@M=33Ѳ3yKߡlMnԤymi&o*\T=)z QVz㮧/z6&p=m#5+ 9#Q5Kt})?wjqg2>1AvżXG)U-6f8hrWl%坋&cgYD& BKZ`f#M%a:BWgÁ`Y)ʚQƲ109OҐύ`n,E0\F5)\j3,X@l Er'_=s(Jヲ d憛T4R l+NƛM?Wt´$Ϋz ރrյa3} [l*) "ʸ<*K Vk4?w]b:Q&_ߝ%g޷4]OT2Z64Cbӷc}di.cݳBizW߽מ64i\*"aCٛ/zˎNbQ CfwtJ`f1ʛ?|pĀw&@>;>֕T/v|>L_[* -']ƺKמ<=3b PeW8Hu]ײku'2]${OHVCB۷zd\^6t"+1|۾MWf `gz'I~ttDgϮD̷‰RX-fu&oc:27촦=;G8t)ڞT€P˛C"{$\%`殍z쫔(*J%Dž]99ՠOu/N96 <=M{3#sT] 7'rs;45֛Xi87@ac{h^'p5BZRrPja\>$^R636Oovؽe獞SniVK߃ǏO\_Ǹ/Oy!{~v[?'#[̚qVIORutQuJ;nMVW$MvoPVUIضb&2_ 3XZ^⌜107FN(@ewܗq>[-f5N@;YR;j Ͷ^ U;Sn' @k/‹ p|6 #s5"DȝA1 9Qe`R83k,ճ66d^w$3#ɔeCf؞ps<X'aώd}7ӧw|Kxi!6_sC~qgiAP٢>~0O@(lY4zwvKsGm@rgAS7Vu] Xq7ԎY0 ǂAaN3[?R'*G^<30 [AjHZzzLEff$fL?4kޏ9O&|#xq]zU.Jg|.!'[<<}Jn*;'_c:էsw?[}닥{F~:D~;޽}&DT/>5^.R*L*).: ѦiO-._q4xc1,'a_teʵڤ%Kq>L}ޮcܡTΛzvng+-azim{kkFrs{t.sY0rɵʽ0La@OggSa0#IV *HCD?;IAK4(9==:8;;;AECADDHI;Q;;?8GCZpH9LI% o;=-f^9םAfJ*䚕BV^fwbSߺrƮ:X*۽-:hk&ۦ= o~r ^ix|46h1Mg#{lf7wNsdC|b]cvA Tk6ASz;c REFQy3 ~L暴usUomme)lfu4ag sBsD4]I-<Z];x۶,6J7e1xmMHF6&ʺ%n^90⬽kis*&kUmήF wV20ǔ4PN5h-8V=3*ӹrVئW˿ֶ:)raܰ=2vH"?/-o<򒟺ʷtk[zv+-Muk0>]K}& U oNCPRxk] Y*nQOSVfK۶Fyo[-> 72d_D#tAQ/y(ו7Y9~sE7oZoZ>2vl(߽_GԄVѽ-9E{t׻ۥέS>„>^33;=̌q6.MyFw>_#go۫@э,Mw!i>|<#Ҽup{R.(YZs"/uZ-h2+]\-;ʗiNmR*P4`ht]/t/a&yԘпNM/=~3O-mk]MKS"YdOG<]ދQ2g[hȹ3XlJqթaV?@6u;:vV'ܞ>= 7vNլ{'.}_34b#p E,~bw}q[z uk׏`kD dX4Dw65(6yO ŃmGv>wI^{&9g yI$IMR%C/V7x7c_]ow?yT2ԨyJVr:ka+ e( ^r˰»vw I[XQ$JeL6_ YXfRTyh|JvY~=V_i~jL_#Q]n_{WƇe~OվrgөZ(mgwuGYm^꧐.Rs-*ԫCn?FŶj+vNmԬQ+vsd>˙&MU' CUUὥh4eǚȾU6!0s.wV\EeƸ6 \80|&@|FQ~s!bڌ^5Gq_Uh1, A&Ɪ}['ߜ\˶l)[l$2|j,(УnqC5З9#I7/2rt^5w ,(#  wUA]ʷ]Uƶ8EYEC{v?3yRZqM*LY]({YMpJuff JmAW{ązjHMJn2 lMג9lE#ƛ t:fh10/\ %6^\?YlV67;%\/[D6KJObLg!j`]osAMI:֨$ vI*ۨ;oM{o?+]|$q8/(C E7/~P1y"U}[ӌn;7nW71^jk^ɲb]%o0A|}Z K涪uvjg;mܞ+vK_U N])B&, Ȋ.^9LU0.uJsϚwzV1{1RPXv;6Z@|SU.9Rɠ+ݗh .嚎}-緈gu+jrgM%+IB2˷AzS/]gZ5]]t,}P1Avis"nSZj)*fɬ2򖨨^+[N!#*9f_I^% sY365FnV# լUL>!KLzDQḑG}%Fvf2RruiȖ2t\p5z& itbq-{QF_V6bVR&b. Ri?ڝiZ$i6]&xH$9 2Zλdz>bsk,[8}:Ni׼~57wjuC!7> '}t`&uu idy[?[l"7#+T{o]zzkվ{淈3IT#-@B\"wvhX1 }6BDJѣJa "ɉ>VS3%boEF.tk3KU@&s$Aԋ R&2pc ZѫY`ִ{Kkew K`w. {1)q{:Fy˖ -43>7Do1[WntT͋# >O:V1+" ,nȉl_w5sҲ;j< uŊZZ?X? dtQ@҂ u[|wrUFbZo6- ,dG> |&`wty(,zYG.ݮ+g k\h]f7Bcg\efgX@KkY@xC^d3ʽ3p/Ku9^=w lRiɁK-E~*u-?a8/~YowfwmPMO֛֦k$ h}cf AMIQ{]Ӊ=]^F͘)P |4K;O|sȿ*IJϩX#䮉q&Q%OT}q z{¾],5]\@8'*9=:4t7WNx۫"ڎ.N&,|Foꜽt)΢՞!cmɶ޾3FXUZi h*P~KG7P֚n'i]ԅcnsOggS@0#I1*7?>9=68DAK@CFI=@=??=ADA+B:7=A@ED=5ikY &7^+mM#;l6b noRs3tXk@vCPEAd /(.Hsm~m|/{S3c߾9~ď<}UfTO`s5dtڻ]&jژs\ ?T5r6g:=6,K]?\][KW^^;wc}/]hwgI6sŝciht%CP}6f=Mqlh:ْ`[^܏Ӵh7j-4: z@S$wNzeglh p&T|*f]=d22MlJg EY͖_뒲:ˊ~&}eBN|b5 \^ݪ KԳ *a&eZɓGvVPeVjT6˛icS2f|4jSWKͅzDVlٟ{?bA'  .FbE~y={{Oy߲w&.}wW6u98CF:R2 P[=UXe6M ڍv/joۖkUԺNj]0O(-A\3=G3 $-Gyky՝Ja/! x^]^յ?-=mh([e r;^.sS ,٦wcImg߯GW:mdK$~(3=ٹ}LV}Wc:'Rtxjh2ruje}һdI+9QGKE=4D,MmڻQ,rϛlf;;t7/\l< `A`\L {F )\ $n>WFNCn"hE"-0G^%N&|t**C&\LE}.@L_) Ŏ3[sێRg_ǟ׮[O.x YNTz JwVU1,Y~N="yUsz[o87O&hQʉ{ @MۉNIqߩmWVo|ViWx{![GC9gU+QLs*p[]%q1)u>YSxڕLLQSU?-7NZ284jE%\ >@gsK'pTtFg]W%7{;]ZMPuHs \ /C%6 Ռh}Dۊ$4ۈ c!t?iWGUFze{׬K9RhșkLmum)̵JuMpB} onsNbJ{yz/ӵtRdkZvýg<+f\:􍱡(yzo.@~oH&yojy@E}s4ݻ_95zn}IUgP[`]c+cmt'WЬ<-~r=Jry3jj,sk~Mْn|?6]_l-W)b3s'N)?-UTņΑjef;|we]O`_QAl38gE`)(^/]Ƽco-vNgիm/֕ޑJvzV-QR1^rr QH 9ؤrs7͐. kN Hۡ;tukE}ľI;Ф}h7p[ e)3&%`Ջ œcVI L,S!#N,bwO:c4@Kff?fLͩ6Pקrx]?M ,2;g QjmV3RWtm.έTuU)ТmnlFT:E5O5sMNjOe[W㛔'FsWͽ͵ݴ9Bm*dy BkSTTm3bmyBT/Fq_guv&\'XZ4Tby 0_Q>yswC:/0 zggm&@9lRuP)S|r:d~\T_«ϻ\B >fvmN:?b&uMos[[ B/m>Qx.SUtc}fSd"E ET"5X"lطy"k>odSw"EƸуM<|PHPx-3bEVdӅf Vn'홦uXd\B34t:&e[O/cz(noU͟"+:lơ]۞ymm16f3tV'bg!ǧuo@?3UTdD b3+-*{7K5l[e{6+*~lfW63-T@}/~ZM Sru71c!d۽vwc֬WYgE:1HL k8@ZE, `u.8y2oJL^.yۻosf9zx|m}Ofd2Bl yI|Jų\熈ハz,L+{[O޹3; W6w(Ey s-2WR$sn;"+ b^yAKJ17ܞ{%UR†2ǁ܊\1Qd!gcܙ𞾩(3xhZN2ה.Mܱ2RP s?(!7@Fn$@]P ] q Rl8q9nA&Xx]FxYQ7j60aaخ7؎Pʸ8N_̟sp0 t7,_c_9@dl^O+ZpL# 1,u @R*k$cj8%dW8ͮFχHB`|MQѹkYWY~T~>B4/\uU̍&+{ nv>hΐԲ|PX)S!4WF bSV:3pTM-(UCDf=MfY_ 19Anc0OggS0#Iձ#/4*=CD54?d 4S59קŧ/f߸8mdXU.ݾޜR4OmȾΚ[Cncux;r:b\Dub=)DE`({j]s(tZ Q|ZRnb:;om"+=NV%€p쭼)ii@$"{FɖN3@hiD$rfmuhO6\k)3>| Ob"KDY.FM|na2D&3TMYv ;d>֛o7?ߢ==<->[TpggFTbv3#.a?׻ҝʟl7W!Bd5N7rEw)iQ^>IA,rL|#_d'pli䦨\r9k2%Sl^[MLMGЬ՞d,89KU۸+sJ++$@2wvTA֭y)vMOP|beanNVb Pzq4`-"H84rxJUnf=7}w>Lҿe6L\P5뽎71eMBEUC..[IkfEt .:&?\.?9srرc{:g7ꐽhp/5 W^@#-EՈq4^dw-DVn';" v .*D6ws'rKSN-1a:iFS1H8nISv=!GI8vOٶsD64̰uULs5B&΍C2P\RmFrIԌɏCNDܚłX**7]{:=wg *U@:NpmDU&N5&gKuu_w}[ ?~szCNOBBȯ @vɞf:73SeSڭ'Vl_dnMyRO# zyO4p-B~4쑫 *jO#"?n{"#\Ҙ.G:g&z7T;n%iSu!rfG˘Z1#+ilV JF$#=ҙuN1p cdBg\6{F*C /&rBn Q앻&uC$iӛR-LEΔ92cK|7S̟xdN1A9 `8#.%6AUEpOt%`fRgx?YaOXi>O'䗸\_2l&?SS޼nVXϔ˥?̗τDĥݺR꧇rS~k4y\TYmn;Yg.:UC$8 bjN'ꆾr)cH[IB5+rE`C 2-uexE:)!EqM,4bQ1il<0{w !c|B"#Iς`T€Y.O@f#J4\靯URֱq7mxk[,Ew NB,7ke `\=Jϔg=S3V\'èL:eRe8,a?+ժZv]FrMm ̷vjݻm{wֻw^k|&P y5yge!qbU*ݾoez7{lm2T\E)d|2Qyi!P{"?RNvZd* $skn{D[O?9v83ݾesOyGyq>*2٥uZc- VDŶUpeՎ(RƩ T^hWvtha (.֠1ٷ^ M˓@؜JҜ 8&Wތ2$9 Zl|b= I=zkV!c3 @u%*Prxf1 K-# g;uvfl\'ڶ]]ݾBwˮjV\>9}2UϊnJ2nc2G!uRQ0$&6d[{5=ap٨.Ps][™cZNm85wOI>TFuC6G)(}u$x3jF٨W`<{\BM6'2cc: Z>1m K?|M/wCKX$IUSC+UՍQ WJe%g#fc̱߾ܱlU,jfn+KNmӍ(8-}q9f.JzuSIXWJmd%- Â~F@*cl~/U=k;[T]v(H hva.G9ilrJ<&e d>wU3j&Vo%{`uH.;ةV:w5d㮱ɚSZrw?lR2 sbY!]Wy̾.?i'=D$mflキ$WG 5lFJ>'yjnO:5/竻L76uv}xe6 L1K"K5֛:xFQMޟ=i--PIe ofז泭v*'@4 ޕ OB+@_،ʂ z#{#kO鞂wm',5۶gUھlA~_5t2""kup4e}I:fS <5Sc&{Ͻ=ꞙI6 |зsil{m?ǃlAtET%|Ű!AnFDUdDxo YrԪb afPӹ鲷T*9M:{Iz"w\:}ed/1q(uw„ U{ _0:tFDRKĄXT"IPFzdl!a1++͍[+eRů$*KeھlW"Ϧd6M̶6s3†$#ׇO<e@Jwo.U#$\{-\H[332 {V`U8$6wXoSlkN~6ߝDHѴ(V:mHuw7}n>9RԷ?eت.GRqڌDT[픑=u\ ƪ@Dj2$ f&=H UsCEfswm530|JrI!pa"+ TDnO !v&-]x3ݻw7fD߻xc+^p͊! 2ZrU+$Ay~)%X{YD @!F)eL+{H9Wr{)wiO}s.1'7Fq\|ΥM;:ziܚ݇NEۺP/.ƞ6JD@І&i+.ylv)mernm\7;Ӏ Vtɨ~@k1/HE㨨T G,SZH+Wf`cKvU\ cjF)%o.F>[d5ns)6y9 t]O)̨lЀκ߲rS˳ۜǮe+gN Tf_K~wTv|tBrKYaqEƢt10JVmUisRƀsTnXLR,@`+sX@Uj)<x~wOggS0#I &/5>EEE<=;9<89H@HE%;8:A=EF[FKUhvYϲ'.]Wūƍ`{`6`Lj^&d:b kB^_L )l33UVf2߾:m;9S`tjc#_%GbV SVtu]Jmݨ~yU.Ont~d>TsW8}ܚK[l֙,8Ъ[CFqmHVNȖaWl53,z!UTPoXnDq4Bc0ލ+󼑳7Țn5y10ĩmrljhdQ@5p@'(Bpx5Q/Iތ)cA~vEݩ6GFR؏lnMO}?Jͽ0(Wl΋5m;g+26V;OT+BӍz]TM8/Df6r{WfCFVc5aw1#;g{n?m5&)TsC<7..l+:AI v̭6ZADJ«N,Nre0{ۘ qW^QgzX~4Ӯ{Wn@lA. | "nRv_21dXW^aT\oݻT_3O1kw{\nj6dvT6cjd BEFcO7}L-&YL'˒C맩r#Wn7iSR;f*:- Ef+nrss?pu2S@[>~Ο|.o8t7nۧTeZ92v@JEɑ`ޭkÞg;@]Tr):cK]fMf AԟRgN)Kʮ)Z::ݦrE CrdI3OnEOi# W.TbRNi" CmJ"O* JMO{T0K`Jm  xd Թ5` /\:ptؒyYo߁bt 0`&:6o gE .nFD0WB x"30~)BX-tq#ޠh\ MI" Qp`dx}JҼ*wwntx4<̓E^Sz>ĩИW:.1jd*ea1k (Cc%&?W%)TQ#dWV3/DRx!yU/{9@e#ל e9mBsXuVVYWVDlVgR<ꌤS)4eQaN̋*RJe*$Cxe'"tO,a-jYep R4`,8Z\k'LUQ~eU~Wf[d4T g+ nY= 6_XLM4⺻om1fֶm>deP KyU\'|e#v@q_ KPBqE»hzxԱƙ{4Z c p҄*%G+_88#gt uq#a*&[' ^޺Q{/&oaztr pTHEp"q9|Nbo jL)L _#vlNNV{]4^ݪ ?ouO5P8.V3@nԳR9 uY_xb|¦Ґa*K\̛wDk6EAF&-J]ݱ@ 򸹁I1c K\ùHO/{'<_ꭨwff̔W6_: QeU2^tzWbXG~ķ3c 5-~^NmN ">P!w<Vy|ٙ7{'Wgs8ΞK穊Bw N54ewP. ˽rsWlhQsMo_2dv2XW% ]. ^a?C:JQXBW{[ `Aq`ay&f_y8yt `DJ]H(l} i`!b&RoҾ`!Վ$RusJ,l|E\Tzџ<\I,z"ivE`WXy%;Bͤ{ͮ9:7ױ N1P6KV_Fi.<ǦKTBe2_m{Z}f#U)U}sJשc kAoM e_&t>\܈ ]$Ntn~޴-b޵< ,ZU)H9wJ뜍 ތY53Z#o-wC=A=cX~1=~j=˵>zyf#6ݻR%uzr^]Wܽ:zFI_o(f+[f0Ħ$[p;1M'Wבވ3 ݄qfJ%"Wn 1IxFS33-bwlJTŝEv{U7: 3LeF&QvV@&,>lc0טDgq2npz-X Tbn+52'}cpA~ |%$ʀQ))k>ۓs[ITͨ_Cafݐq?]6}N!\7m8tfs^\- l7w:=[b"t;q*+[]$|&=3,'FLyI$Hl7rJ+3J9GwǏƭ{ݷS:z{[^N.WG:WZlVN! O(mgB-ŽG Ee͍-y}gƭ<ΞV>ވ]@ܶ.( )pA^+jrx"%)f?VOpq&QyޛdZ+8]y|1|r|wr0gKkC뢡 q2etM+{ b&}y3ͼLY_~=اyn)[dǶi`]dl P*OOD`mJyK]A: YtIWNqYʸIՇs7Mihj^Z5<7mb/+E8\::<;;FHDAA?BGK2.y@u޸ͨɏO-6VacrmY2Kzߛ 2bF,`d`roÞM[/,e#=3 9^:вPD.6]-XSw݌6x \335a*_׸%}oog{]?,Mg+J>+.+u^!$_N}g{mb[G V+2tR1bbwGO?Y 3}lm3wd}@3bG%/>>J #ίuYڙRXwo_;Z]BkY4ZBRey?z6s?#}w|2{ǹdilXűlda`6φAA (80y%@M*G)zj3ݖd9ݶcw3c}䷑w]oזּFpWk[|#Q%f!!M*NRwF~C|Jgh%Do U%`pGON)"..VަȾNT"_SV-jF!uNu3e[sQ%,exqZ7j>kj.9;FFi[1M5 g(Jr.{zmf=#U&H5!yeaEy\sO/q cyso0و3P~$U٪XQTJze&kO};u Kf2˳&oR)]2I]5|N|g+XׯozR'$ v"Ϛ,)Qjǎg\﯍2K9\ީfsy)cv_Angښq"XuIw*=}{5K:$h,U:R.@i1J{?=CT68073cFo= ;ߞ/I8sלinDoys٘Yӧv/wDQDzy7w1SKyLO*zo632n;Jl]7S,N+3>ѹ*Yh!gnmV@s 9 LZu6}xLw29R|W]RbU++^d83|?0-cjAO,6-6fN!4oej[mZ3zϭa}yߟb4#މĺ;vpP_\BzM rV7q8l WbYHޛk*3[_?tuzJ]ߛk~);;w.2VuԉZw[vAܭsJāޝP-3UsqEm" SLXL*wۉNӷz4kS=dnߜ3sVRԻ#.14:4܎€_bamʚrFL|:i,֮#iܛYk1{>:7$AbABnϵ(hlU f7 ?ٹ;@oZeىe`JTR*+R8s|XbNqp2f)fp{5}W;!RODڝ YzZt7 4ƞh\eGu*d;QkB?2ȶ*|^Jjv[[*˨DAY@ VF[@M`ru(0lo{ x+g\t(]4Bn4jώS}ݾ^.d6^v/cWko4M gѢmJF%Q5ں֊w 䚹^J%6nz7~!fqEGzy-qF&C~d?~k&4e(իl+hJq@#JꤞɏY3Kn7:R{DHzt9*T^r; We:w'6AtoG&P]|;'Q/nC˗1 mɦZ;FU yzVU߻0u8sG䂮W3`3/1ZNk`0 g4c$#Cƾ 3}o0Ҟ0CeOo8D*ճM*fU,2 /HteQvQ]<m6p!;g#wjsk4/'R,R *@gVlXGuoU%>&;ῤ*Tegjyn\.cð,Vcf6)]?cgR'K_ݟ:{/~4]!.س&}ò M9Ri1o*\qUSu&65, YVkH}鈈Oxd=vts][ZOzIe\$֩dwx mGwD .fھ}^la{1gT^01JY{)=j!ش<@e0KeZCw%Oeu{>Mj5mmlM3qF+bM|xfykw^eiRݴ&Zvܒ=Sѣ  &N0:{Tfí/jS+;SӔn\lvH81l+I\na@jc&R"Ie1c \3of*3%vT3J9'5$3e`6~fênG P+E5*F6UWoԗQzV]!ݡJ˃T][Vb~SGᢺSW?jW_Q##e9}jnlxҢ "CIOߙ+%qJIp&G#loc!6oz> @؍x> RY4n`fwmgUO]ϰܻvZ6}Q9=bncV ,[͊GPhs0r7OIBfꩩ2mOmT} U=[uMsoW'3Wέ;o]@蛌\symz_+3 mT-\iJ͞كaz[١ *cq@64Ҝ=rN =Էro|g^M@6|v3s,j u2F!rK值ޔ驫ȚT;6n/1ܻerU6MasR{3z ꉫ|mEBm;.z^{ ٧&OoO߶nPwfY42zt ]Pw͍_AݞzkVU)5V'1P p GY)@(d^u9[)!I?w*k\C}*g^is(ϳַWrtf#6ВE-RB1 B jܷOlo2[( H`fIR g$TtJv9r6twsUdbLA((K?sPssD`?g<t3iDJy:3k#yIFI LNo3Sq]NVZkkfJ- $n$3D}JhrcuRȀ|3N",]wvlۛ*]It,@i/\a=w+ˁPUDFee$j22Nvܾν~ikxywOs|R#ʨט GR~RϦ:yOK<ڹWW݅͌sg+dA)j3|Sl%(r)U毫e﫳jm~ocm RKe尚]{vV "$-@} ξW| HXL{SJR}KN<.s\GTcc}_9 >ZCGKS2} moWKWɷԘNtɧȍfY%_FF^Yۙ\DȭF]܌T:f:vQhq< ߨtuF멧swf'KSOgVg41m-Lߤ566c 1VU@]>pWi^V~s{Z=-qx`୥7o7`"7128<6"LJ .+4)1<ǟ*ӄ 7Ţ(sj)txbNZPs'2r⩅'&J/Y|$F^- 2&TQ^f~t>Zd^Oz7Ok& {cYu1je!K 4RX@(Y̊㕭K%=;f?}E1T#iljH*b?y޸&TSӪa97**NYi[ef%oG\PU-%e*~9c( {=Cvl՞F6&ۖ8q!"ScC@9CxT1=&7vHb>TU=ܵflV5 ubV5ng4VI y˗q ej.-U3|vڮ]]sV[&-4%cry@ Nxe_P;HblRs.]qщ| Ooqkvoۚ]FV cB. >{nUm\\\7w)wo;ٯ-1a:|L$-U³KgHHYwN^%]Rt>\)+[+{?kY-#zi!ɺq98k._tϒugؕWf{Sou̽K6CMu1S;Gֻ)4&6_}'r⊥Jr{m:gUIjɳ}'#+{Lodž{ej6mn]*gN{(0o% -pO,n!ic;h#EZ﷬;C'F `Ez!vvf-Pȧr-Moy̅Dv(H͝Eo5j23̭W}n* A=>}v=w.&vnyۧ^CphU*!C4S۵BC2k'+ۓ).6#grv.E.6W9yO&p>C?#,7@BAG.:$[^= ۤj Ҙy۾gK~kZnk7 fnp{~lfMx y.ٚ^H+w"xL\)UUfv"x8E9dkwk$S-T*Q(xx\~]썱$6RЪglڔ;Sפ~x~v:#T^miJbY=A`>|s'V \d$SÛ%ݥK2W"+ 9[4tHĭBP%dwR8sI[9e8'>*_!qYs^LSñ={Q.i~YL}͕aw,uWt{뛒8~k65Kr9'r:'q>&FI{TCDw"VoG6y4d G#d-Gn>'VY7,ݭM X-^gw3Ӂ隙64YMvdal2X6Uy۱)1ܤ麘#(t(΢Lq̶5#$P+U+:<1o{Z(-+[ٜm 5EJ#IrCfJٗpn.ֹ=/IYoݗژ=0u۽(Zdg)=isd!Beh[Q}_o[$E/@fJb ~?MǗX'Swwvo睛~>|'-/,JꋸIz%KҤ+w+ʞ,m3+OZB9)[]CcN&WI媹l%M1DFNE>wY1d1l2/fJ3.$ِ KqlːY zQYo AbdŤzkLj7QV~7v(Lڨʳ :R# 7st ֪%`5i?"dR P`.z`%cLI,_n_jsvϐ~oNv`8zi~uv԰2wROy:ݹGhՂ:> +IŹ^?kRfOZvnZL9*9i~Y'#{KV脻~ Qw9Z%CWXK<Jsӕ)t^#x"-&b_6j % (R,*,9dC<iݳ6j0*{S!` |(FҕUO!%+tdpToyOlCgcM&nT"u#r$ᓪ$XK*j Wrlz]bSuftΙclg TAU O,L@^{h- CWU 3c>_Zkݻ7wZ{f&Tihx#1dz|UAlM /SUkFZAE]תA4nˆMŊMaZ!,^kz=yLGK.gߌ]}{9Lۋ!*-Zo::nX wM@K䗽{q?/7:;[ z2~2y!~߭2t rJ[M7#8vȸՌjznOḎ@y[幸8P  GFxʕ.e{x oh`p[jPonO_TZ>[Gƕc`o{:Eد'[1%;xΆMpu`%\AGhHaUy Ůf}ic@̵%5XkfF<Ћ^ fOY p뫯J|Oꭝo>Os*UkAR^O8m(4#9λaƢFl"N 7rOs娧DA)q򫉁@”Xej~ UOggS@1#IP&6;FDES5AU/g[fQSTpXvBNضwj}ӬfaX`4 Jr V +V@tA"&)@1!x/P̥jSuT,}.?cSaU|_^gnk=C*lzn.<&5-32ZnuշvJ9L.Rx$a?GæO걽k/ՑtylVg#F=sƻnM^ Uv{lEx-p=KV2 )=8;X2k+y`h6nk &L*cÜ1r¹fLב^9 5:Stt JEg0Ku4K/JѬIՐiTg&kNQ.3ti\Z BO.6Lu?Y%r͟[;ݷM?]vo+Zvl& ɀIh|hRDIbP\(5y_؋j],; r;*ei4XE!4]NE-{onYw#zIRUS2yu}x_=督壣^aMKOfOw{ԕþxV#f>*};[5ׯd%λ+?\J$̝Y-t)KըVuոFWR&lnQtrPvNƮF\f_f)71=)%YJPCd}-AO੉ jR3(r]qM۴u/\[Pk@} {k.!izT YSOre>Y!JhoQy[ƞ]BDrdV&T~DҟWʓ>c]rԙћ}ev(`![Yyr読s,}}y2四Lo2PWDbJTT_j@(~9DU}.3\Ku/MdSl Fptc6 uhq_Kʄ44jvT6,MFfey֛iBpT,ΤUuA pW*P>G BU,xNev䧸33ͫ#d.Blp"eZ x@oPuK_o%ձy[fv ό:me̓c7Rƍ3NOkai5SQ(.teonƪ7*|,H 8 HK; @+7Q ejvO8eDz/B"ltVi}g֥AG v"QdzD)<;ZhoⵙMZ(tK SL[Eލͧ{wvg~27"]W7L", _5  ~ԒlMy|g!b F5{ 15֓DN-oQc_\VV\sxy$ 'TEUOesyjD .rnn)0T9՘*iTI6 .B53rBrXC׵P4߱Vj9uJGD+KCuRX017Z[bE`/{v ʺA4G3hݿ}b ~[LPubB%ZRm ˲Ů {Gr2yb^m"ζEϼq=~_[B,1"b+ӛo?%^lLUutY/*{Bse~*Q+><<,g -~G(J Պc&G_nln(5] RxAFo?@J*wp<,8e]p3PXW`w @WNH%/ݴ[ Kcfk]aa*0m`aXA@ " El|F75W23cfbj].Ff_zP ,&BbB @NWF=!+m9Ժj%m^uU65v]T( 2ثkkF15m*ҝ[~؂//>~;_}I/'헦б+vF_y5 +uW-͜1q(M}'(LWAe_ͫʆ+gkq"&a[2lB./324&2j5C})d_ٓߚ9|(ʐ-sIg(DSf;>g*G\ou؍JT/:m>T/}9w8w=ƛT+*{ep!onWZnV0k8IZL:ϯr8vQV,Hk|9H$zmoNמ .xLR _[g: xr+qyq.|G; -3Cg1No0T|O>Qz+=܋a"zʧ'&*̍97;F٧b+91qx;+>@`]1U.f_v{{mϜyoť13L|GsF@xt|(e]_+>;c)5MK3aCN~!ZF{AD_lo-쁼1}P%*{tf^2IhkM ho:n܊ yĎOf/k1 v@'A]$u^Y!mya*Hԛ+Y-ڦ7Xc nZpqT]cg-Y> {cmD 47B<*D!g3 @&{5j"TnYۧjƘrǴml]vkuU/t^GfT?I?CCSh*d^2i[ƹm~ zI |6 [ZD\,omN%1d)ITsJ_TUw(Wc=Q쬜5fMfin`viܟ,kTm5PYA;?S=PXν3zÌo; h F2p޽䲰ab\wIG@;% C;<=FAEEKA@AEJ-.(ʼMlcT2O*jkUW}yTc2eo @5s`(O< = w6jDl@)-0qz9zofL~W@ s=ԥ!K8{`ܿLUݽ}?aoG>*nk'1>zrD: S?eۛ7J'(R)z>kp՛J~9άr>^"/lQiT]=ǴN}M uۅYySº !%2JaۺdCA?>h|:^d?~l}ԬtI%`clq{ va2Sx~=nƄ}v ! (>XTtx |S@sY(glvR͇ܔ͆ +Tʾ)Y65CkЌeYC]fvFCHL3PX2 D۴Sphj"c[UuDydR{_u]d7ʔ)Z dRɁ;MئTM^m1骺қ |y*ܺ5Ԍ+D5Oܞ/Z|ԃ-0Qo禉Y~{Wٛ;dF潆']Lw(ƉQ3\in}F2j$gLĞ]sj9),ܶ7$pMh HDSu"iNy 8&yOUYߟxA f5[$u]c_bt ([B] pЃZuf^{nKS͉6w 1}NiC?N}$W^Wy^DJDo()@r>,df/[)ĂO)Q& eh +aT T J _iǷC%!O3+a3Ym-(3cNKgX ]U]DP_ev,9L@^fylVOi~ϧp:{6315og1H%B5iUT=3p>Wx?o1wKumSԧsuގq򺂢ƗrvvQ1ciT2f>7WͅWYM+cMΎ+yθY>ȸWKQP'&g]i'Vj.M8>v K[zrK9ݳ'; pLݢ2bfb6gc05he !@P|қJg$PsSRXY8*"J)nWR*:n{5kV45adƫL@p,ZU '˞0TR\īg:)])>ܛ"cceߋ)j) SrGiYCI{d4_ ݹ#v8߬zhI {>q6s,d8t:6+ 7J͏#r[kU{nk{J$!Pw[^V<өS2NO+N}M[2tmK_(_f|B3~j ?Y,ïS|u+sol/VonUmԜ^Z0l]iB.%dfT.K/퍁{j#1F"F zyMck=aS^ X!HZ=~7sn]*yfRCJkhS4O;oi鎲^6oٶb z]y3C+nT:Yt#j4 >M{ ^kX֊~N~cS/`k̼Gmn*Jйr[x+ x܎mlmfjڌ촗n 6hUj׳U(MV:OļCVM9JU+o]];:X)|uB'sK 7_a R<%B2X+?ZoU?ۯ;[zZ!N)5P;`KI"ToffTN3U~-{ξ́=-fvioa\Wֿ`==_vcb$gk!#̹DYnH>#igQ2[-72?zCZg2_\3+rU*t[UvM*[>z*ibsc,y ByX]SC6ʑ+ z+p蕥S`*s6Bg\_ djZk\dzBӋu 5p;nv{ba!0щ 3ztL|(Q{Ѐڽwkf* \jq`赵8` x &{Xmzjm_v}kT]ojR,e$KJt^\ w..ϗZ=@=3 M ǎ.l:ʑ.W;lij| \/훶'LYADGXBzJ!=ʢ݄:[gy'Td|vӹٹ*ݨTD+-li'LJmWrk8e_W ThZ>c6).U0'i(w㛻2܂ۻT`R`vX@1p>Esucerkh\lʬ&;W?ᗟ4 9r:Xn2]]o$*u]+IS։dl{% b3|ʬUU+"^ zu*}Ԃ?3)WUnw41OO3[}=XfRafvi뱛]f=g SWD*57#ż? u6OggS2#I'*@:9<>7CBG?8=<;:=C>HL,8;=@AEDDEF/0-e7^\@]eh3} ܱxn9\{t_# C~P*զoba*$40$OVJ$Y׌Y5ky 374˺+*V@@">u,n*Uo_>wM&թ\B (#xe&b>AʏRsbSwn1*l ٯ]3lVvU9,96Ȍ5Gw3DpNdo?xUFM&g|uZ;T֑5Be [T|O;eI/JȾ&wkfR޲Ktf5-!:!ըLTFT5xWțLlKoխk֝i:ۺ\+PJ`YVU.gJ+ A54K{o{zo5x_%w{b?kN׼mjȆޮ2K%ːЖg(V ~wS&RItf\2SJۭW/m2ohxO}gO׍Y[##> QeKϼ`~TYVg yQ^Ȯ# \ZZ݄+i|VDY:K9QrTsQ,K!Ô&^iz26]VjkpD$˲/uST/62j:^łDdVsJ. `@z uz(O\X#yfpPan2k|\ Wק˄Ƣs =GSTɌ3qtü73*)"ER+eBDo4s$ Sdw@Lk~\UX" tzsjDC]I+:7tY(yu0f{t%%e8A[WrA@4TDB<2oѱDѺl) ;˜zGtħF؂ }PWwQ/Zݻ^} TzbE84DhAE&^a+t@h+C g\D{Yy^umRʐ"-LW>IhCT5O/Ol>|쿋[Y%ꥁZ QL2^ñC=TÚ U$&n;yֺmh^Zd*P 2oV p@Z%*»Jԡcۦ9Zyw[a*z-۾dQ0@Ң `&̳ ƺ\Ɍ䚱~D$ mJȴuuwtC'?O2ryKw{yp;)~fnl,)N3޺ړw{ag0mI{F譊>YD)B/W}ѥ4S ^zWG1]OUk%I&RTf8@x4PHWhFNTpĄIt"TZKm7v=& mXfXYg;՝B|IY *( ~{'('S1{ (1)q7yͨQf2aNL֏X;IRׅ60Sxg'tx^}D?;K\CvM%]@9/ҫ G~39zw"{gn'Kgm5{T,YSMS.eٳkƐÉ8uAVĺEH+dv3?v:vVIhT㉱w`r+NvB68iKRzkmۭ fe=P p#P)XK qop^QLL\~NႽeuM;R_ƛbYӐeLu*w٨NiA4m"b,6K$iYEVyP釕؉ǧBLTLY-6?CNvQWY=qqinOG{6Mzx8,̮\ &XW18T<[lt05/,ko#!Pe-݀tߘ6hB`1fJPѦt7 @\Z#Q*\*b$ұ_H]b&*ek pY4D 0f 26?K f,T钘+=g֒YL 36t2 0.ڦ  oϸF#2N#ۭf(5FWU.mm6:=dҜ&i)E зzXw!u{0O"7Eiq!|7cToUkfӨkwdrzG0jx2:}_qioXݷCr/&!mWluٶˆpdWV"!a? *?6ZnP#p<3S.[U{jNZm+HsM֊-!K T*T,R0.r8G) jVk~ַfggh7fk9|V$Bdb(xZQ ?K[Cft_alpQF~WV KdaaYr?4gRU$/ivwDksIjRo; ?*g #r9<]';u/#{43v#1}s4+5U|% JGR<'ܕddOf4}4JS ?Z_rn#Q9&{.KiסVF8ZܬHT'KGTvzq.欍f&E@iX$ YT* %}uߟW/.n55 Q,% ?ԅA 03CA`~L~Ѱ̝0UN̩=`$7<)*^Gps=?y5q1Xo~iYBHfyYranOND[JՐoէM۩V== :l/Ht^"DW1mg|Űu&>B X*mYQHā 0+QF > Wtq{o&{a-9:)W}TH `ZQ=Vx7ح5Q&S_՘CnpS.`)?\H#yx5R*yY\bX+{ַr%%/!H?KMoa=9]&y){]=҉ U=Tu>]ON}{aw~1S$.^) 4W)0 n#3Ri.c܉V"}I2fUM"r%U:uv3]W%:5f* Tf&=t FöY3.ia(D7l888낋ޥA0FxOSL^ l$$fG \A[[i{Gev[-_ z~2++}r9B]O}ass݌̬NV ;'g7iilNK!*<,t '+rV52j33 AFH|"`B+ѩrR>ip(`KB\P^\_`?рތJ Ǖ[`XHdg{1j #f[n0Eo1E_KLj:0O`OggSK2#IW%K<:9:=9FH;4;:AA@,%8CCBF@(+gt"n3hF!G"Tg9L&IL͔Yˎ_).59c=Fo!~[nvruq檿fS$t;ϧ)cYMֻ}kn絥^ӯWʅ>궈6yBd+ȾJ] hm) rT3S%&c6׶L[ë2wP:JW\f*]\FUg#hCd J$ƝZ"lR`N׍`b[E{ny{osR!13-#lƁsp81 t,oPMXXE<#3x\ Fn;h֫myC-Ǵo Z5 ?W! 5`b3Ѿ2xci<%6z |)&DRA/n mvH:ەYn^-{Lt5cd ƬIֻHk@w ux""njaٛz~g[wR?ׄgGE%"+G>d6c5fvzTG5["FadDےzݵhۖڳ֖e5B7*E6%.!K/ R}#7hCc/[ׯ$3$L.W@2.qw$b~S궍~:sHv}ߜ۷}.3LGF$l74ʹC!Tw*JvFէُJ*zw'{Mբ!PpBܖ؞jˤ.gFLDrnЅpR"ѩD& T(%cU5`_ $= rH&;kOZj `l2@IFM>7( őax@3g\ֹ2IM$3"zCQpq1{G\ofl)e*|Y_qKmɦo^mX3X?Ly&Lq2Q O?lQoσksVJi^o}M?o= 3ʢ65U[*q J}-M 0ӿtU>yVn8X^ǬQ$EՉʝ!;Y:~^粣ܲ|339}kLlk h4b4YZcK;@ RZHj/qX`j 6۩?ˋF8P͑*-s \AK06]t LH #Zep !8%J1)*12L<üeOT*KN)=H f$PTZM/#cjŋo6rP7W`@.lBc)t\G3|rEYtСf13ŬRm{[WUڶm]|vK)W1Vc@/ƿ.Q(32Tc3 SȊ}e|o~kz߉\֘$tSfLeXɆn6J4b7t7m< m&޳޺²]t٬z:k]I(CvFtHOe.F 5LMh_Sy7}qkX˙>GoXOc]>1.o=א[ŴJ-Qt(F4ܐRA℮HGVW\?P43*)l" z?+3^u8qU[FƉNnX9{D•1"=$ق c V @d/z% 0FH$Y)ܴ8ȸE+K a]Vv  2x,g'1[V9z6&+#Og#nz6~]jVEE3x4T+&@Ýk.Dž#ͅ(/IL@a&"2mTwSVN Y _ 22Yѻg!K*C'8rRdPhJ  @IZ? k0fS7^}gH,9#Mn}(C"PsaL=59Xď77Je(d/o!;O|rO6?֏vklw6HoyW7;c!rTgy zzۭcJơ;R ./i}℻{8} %: rwws 7ӛ qD:gq o0@"NT;+}2,j|2>xG$,\YofZ.=EYyWdhۈORͯhjXR@cL0hދ)UsrSB2׬Fd [Ieʔ?vOY➞W>~-SvD:W~OR=|=ԥۨ/O?Ϛ|vTfk&02Cߜ+fVT9u(qї;3\q T+U7kd=Dh-zeÒ H'd~^ E@u QQ[OggS@|2#IL`%04GEF>:<9=><7AIJE#E<3 e03UvgUj y*[MH)Z(?)+iAD'&5iM܀?1jzp1wZJty4y)@v4JI[)Rt GdN ̌Lɿ>_`'x%iE\^VstRd/6Uӌ}d--Ǽms'noTj1s|)U򹓲=~L%旐}*mubR?7Dg[RGa[wSx;.3U۳w=1I|/V(TZF+L <^E[hTDg,f{SNHwٮ$mS0!"|R̈p͌7à6^:C2BL{dPi < )df ?Jfw$"fbɏK8ne>*R[V{{o³ZJ$2 ,U݊ @w>%|+ɱwa^d۩UҖSvxÚ|% L2s)J^.[Ƭu涛ox;GZyw[gf7vD$B SF? jڕ:+1S[ʙY'תso%ۦ{;xwmѓ[B3ZiX];/hdC/$KM^ 8JKN3W f% ^pm)~ TNpQ# @iֈqMc݋̒ہTd&lJ jD0Y=bnW_ͪN5LV)YW` #PXh@H,/UQ oZϼ׿9M跭? rcYK,wAڞ J3S#bޙƬ-Ul#c ձ' @h\ qoqYY~ٛyfxDTúS"3*x39uqe_r"p zF7Wr )@@eLKz=KZ[EϘg]1.UYC@65ȱrA ]3Ulæ!Su,Ȱb̵S{7AMl{+d̋l/d!/JCBLLB]r-F2Tm{vwF_Tav2{|ZyEUn<0YԂqP53k"~091%U-ϧo5+#޷^%dI{}VC*:[Mg$T8u7 G9#dS@P[6'/ 0]MR$*S~xgӯx6Ue[GW7ޮ_6rz^ @|KD 9X;DŋJNm`:*cr(Leނ\{t\XgﺞT) kz.F8؂J,.:# ΄ܻՉax0ZʩwIqT]kJDfa6% WL:BQO 0fXOzn: ([LEF@LЩpV'ay{ɫ13e~YOk?:f.) 8Yv183oHV69O!VTկaCۼ\Foo=PecUuSҭrŬV#$EA.tҦ:WE3Oԍm>/@J`[ }rB*b,tWӲ oF*1k^̻g}b vêd*g@(t߀]s?pXz*33V~k?O]}̾8e)3=_yq{c~cOKl8$e?N̈́{5Dkw겈|:mJ}&+`Fw;=qDWg}WuUuw;M žγ/[+ T'dP9~/*26 PYiA7pGȱ jOTAKT3FUb*q ~Ⱦ.Bz:"0gdx2meF5F#Do>9  jBttd2 -3kڍ{1u:qEefBQz*bG"T%RĭrE6sXO+Y8oۧ !#1[OL&1x$S.֊8@_/$eù(E{ޑD_WSq+ds$JeJa[| O7Hg)au~MIF䕮m1x=ۭW„j<?:Z`s{J@#C*U0~ y'zn*jؖf=cɶ:鋇V Dd2>!Ts"@o3w?jL_#)ejf%>򧯵ds}γ,:^8}'֘~}[`aWia>%Uut$!*Qi"IҞ֍33zTz[)F0 HY}vOZxu)T);(ҜYb3uH{|En}e5NtU+뺘Y &V}KYJ+`8Y&Kf)8۶ ̰,d_&25{?A@0amen*hH;N>H  t{Iϒc̛R33?uPv?>TM0sup컺t O#0o-y_z.JRUVw=]^ll_{AwƦt*胛~z-rds<*#edK.\.wݩeO0Pҕj5D9oڕsSPs)K(dtNLWFFDύz3Ջ5h#Zf#QA<̰9͈91F JӺCJ(VN;ڹ;#}kls<n,.XH^+5kJ~b=7;K,0#û'+kM?7V;\5MW#TQ۫f1uWʏ:wt._Yʮ 'TWA krɅWt[ yrFU4(_ym溕qzo듑hTأxN oLq>}Exu+?k3n&eb]myGm<@fi@{[ZnO7pv`ElSb0Y 8Pќ^ը̈1F^_}wx6i8G=Y~Ncd~ieFiĬKLLaC>ٳɈejqIuYiTMo2܇Ȝ hskOak=Ne%&S y=Kj!2M.E;pD_E+7FݫܼJخG !e},RT"OggS2#Iscr#PVABDK8-"=:99C@.$6;եҏ*g2=ʢ]4Y nLi{LwD` h k@V֘ޜ:wn :j2>¡,>@a425f2e_QE4H._O,:Xh3O\j?C3Ϡ~H~8ꦋپ֏OwIgOt0Wk#)rdq՞'{<|M`DK.X}smE{ מi?ús(Ѽ/O{ӣT|n\(XlyΙtVs'~ԛr#Y'\j$fFmӊmcԴZfkXٓs`ҹl0Sg+?p9VȻODΥEu (eVf&x^YmWJN!9UI^w6$nSCَoѶoۀ'%GZd}q9g>u|#{߯OTtǥzeΗ䈎Iz.b.dFqj$iq[վGO*Ӊ }> fb51nsSuwC~lFYUڰ]Yn*A7}n ǍI%@T0=q=S3is4^0uzq ΐ 28<  @S}?|;OITiO_9b nmVm[H5X[ Lbc -u\Ov-?1EWDTTt><}96UӢ*7v՞74 LDVH7ǘ"d 1fjFRVL~/5۞0!fSX6]t(#-s2}w—ڬ)I.GZR_ݗto=fuw[RbO{ ߨrjB>ul<:ǭDzYE}r~Ϻ暟~X; .fbdT4@zvzr^A `߫jڱ\1^/\*@<ÜaГ 3"g]@ͬD¸Ϭ0X^y c $*yL)-{t\=6n}۽+deO5,bԝ>@LWo:Q>-Eyd%©\s)(j P /ڬ cR16;~mI*vʆ%S]ZMUFRdkJ?nӘ47Gd~NEfY鞘[&|anO6MUKmά1,6Ck&!멆M\[oyL=@> <42g )5nSZ?v)#yfFMYaCʒ=-D/~j߸V~' O략XOBJ9&ʹc@c>> 9Z{s1 5䡁3$gq*fUWp+Zu=Q׫Y]ȭ9tL/bspYd`ޡvg$-@v QLw\9iIp1  tZ9@Lb&Nǿ^{̑SO=N5tuZfCǤ1M,zK9C[S$<ٺ*_ES׊rֺ:rlՑa*YOVC? D^hoHvfA\YI 8XilY^C}ZHqk_yƊyMi:n Z@%tyY.X8 0  Sq2bv{nSwwzG$ fPJgA}ԖG}5|OOq⢚Rݖ{ [69ױX,<'dDFF{`0Hߙƞ8oj*)y,#$Ug.32 b)YYTdD4#'~}olֽ(;lLb)O,2`ȝd=@0#8鿲kzcso ~tL}^6-kk5ֹ0]r @h}a:=d)/8TB䢖|EJouM%3,c,%т@)i^xp.FOY=z6x^uw>Nk4z'zfAG] _cSǼ\m3'cٔnmo:WKvԭ6wl(e0u<У7C4*1go{AB~y^[g[ccm^$lVב.){aI_AKF[?m=o;!7{Ʃ~lx{qꈭJ{s1(JL31wX*ZSWw3;f\u;M.Ϥ+b]62.j/:y (!05iO[~X|U GU87=J.әQ5hȊa=dT#6KJg.X 5AIg2A@[fNtesl.Gfscvgpf,д߀+,Ϛ[C(@c RD]4@!ɛR+hk{" wkěu}[܎"N~#yH!kL۴^aF,m> !^ۮ& 9hYʱ6otlTͽ½6?߹5s={gJ7hNgO5$HX)%"+q z~+GFH4] .VN"11jFrG~> C l61rta˾F_ ,X齸e `,AJ^$4y)FE+Q&|ap GV_ZH[=I?KR-?sCy1 Zk*UGCٝ)f*=}\?uY5'K=1aEg /td&(*TSdf k}wn(U77ۮߑpv mtu@D(1;~NFkzl#&;7ЉqOn wmOggS@2#I K+#E;9868B=@C;;>9>:>GCFH(<:=B@9FL>(.E[ZfG̸!?X98$+_@ګ.xETCpwYLQf F^%"?>g7{1'#ƵkU]/;fs{plgTw.8-Ml:yM.wϩnF= - U"g=}34Wݜ9w21kl r`8h`+Y db*,5; b(+r}~1:{Ǯ{?ao&|r%KXѨ ,L?WZ\Ӡӯ9)KwY,gQBMXV]kv!ت0y'jF5WǕg_ʕon/֏Z6{It0uF7(D)$'9D0Ox+G)Zmll:]k`itxTml_(%Zx'M6G6첚^7lFIT&<- o;+2ng:I1(E"*Uu{oʶmrVUuwUt˜XȬKE w}7rɭ$e2^gw^n/Ol^eD:jcT h;`5O^UޭlNӚ_k-ɖ][޵86cE7'Y1:ϱ'ofsT,fW }OFuF^7Փٻk+g[Om: myvZ5C"n.q[ pLRI [>ć_3ӛ%w,_o#yLv l!םk^ ?oڕgnwQju{хd *˅j,-w/嚨(0^w~t{+HO#2ƅ:^is#jf>ѷu{&&{ѵk<؍5ӻ&s%ye䙵б,?pL4)Tw;ǙoD?.\jdu2T] _.c:R+ߩj17YV3m۶ 7J#x Z(R\Ln^KZVέQ[r)?8,GfOTRM_7vN~_2YTUfZv˨ ! wMj73O)+I"o}W iTtߟۊ[J,Ej_iߌ!2xWRd4WQOqC m<}7M,{l#WusgJ""#ӛ 3RBV>htRCG/YY*e)xe)8 MS 7K @,ı=^±gZؼ+nQrZc*:0V?Q `Ӷv{,[.L`$)efJW`~N{K'48iٓY_\o??afrsgi?-x[id=oYή{m5VWV7vh^ѽ'똩SMrY>^n7'PڎRU*"wo\bҫeQ~q3wn33<-FRDs*qc,4a6n 2ؠllf&r9SB]n>W>ѹl2XM /~VА$3;WRg>QZa{#;ԒY|(uKPEaVҢO5˯"~޻O:Ц؜d&#KY>rM.z8X ҇(t+9M&G'Q-Ռ) M"@\L8]-K :!D5WB5`yn$"Aڣ'H</Fgf2I u͠2NoiV7of<'n_"Ǎx<+ bA9jf*/+{a_7mUFs]$s[tKǹ?Da+TT*j0)]7QPV*FRFUj$,2PȻQ%. "C EgY@@ 7+b(BFVtB@R(Z9 7q.„$ܸ9*%-DHHAkf9:+l7Dnkqͼ4,^`mR*c.`@<IbWҸ?K%9@}t@=%IF,{,򓡤dlݏd Ein?c^swl`-SAW\XPP(DdFDSCuNpWgiKLE,qUZ{' J.)4݌ G8t\" 22bc Mz' 3{0բY륵^*m(|Q`F^,H rD@`tsrA`M 7$IJB«֮L)z_/}N21T/yT2K.P ֭{T(*kcJsqvoZ>?rd{2n [0؂!v\ t)! t9,fX-żU5a N94fD%r m TcN^l.i/@.U@T={OggS3#I C9%-8>=99<>=CC6<=?A;"-;ADF@,4"FJA9i4 Ğ~8Bn 3ed)+JX uYȻJ_]<ىV7W\*+yzE/OXkIkm!Co,#s6VShflItslv\qb~62J޷1YT.KO\u@fʦs5P\MQ#oyl4BQ*HZrq\J{B.mnKI eFV 5O]o@NL>5K-:wO鮤eh̦!z.)`Og2;/.+ Ȱg͡TlGRUK-Uf6 ) uj X碲4_^LTa>_jm+RI /gk{wBEҔDz|Y|qEuQPP_yZ>dB69 zX7PI\DqR9HT]DƽRKuӺzbO\. 3V,Ŧv,]vEC2%1ev+C]ir֕ *m9[?O9.UQuiqo\S'3AM>TR\%mȀtR,ـMAʂD|  MQ(2p\&Y`h_= gsbr؞6ELxPc \Z Yw=\Щu B.,u$^ d3j~6`70SbLiS /NrL">#O"`WWEg.%u]1B GVG&6q -ݭ FHmYijجNncaxޱm[b]R+4q*& ZTZϿR!^y8_|UOֱ%% 0F4tdÌs0 jPffu:;ݸUǦ܍/FoM=.F_B6g34^7{b D;kpB?b9G]gp_R)Z[naW[^7mɴWj{ݕWlREl@6-8Zʽpx ,e@U2|B41мSyFh6A1:12̙"bt ^;M9_BF>Q)*n} KY$QUM_P ffY.~HxG]1}<']RDPf$^"Bև+(o;WQ)$Z}憭wm_3KWtݶ)ӻZZOvs{O}2gZܹG4Ln0X^f'ړ,l+Ma٩{߲oG7k7F+jc2Ć}cV7ikwBT6 Ghm?q)"PQRx$ごϟ $uY@l s\%'MΧ#?/CDK'5ŔͯBO.Y;jVޖFGF%*63t2"+j9j=$Pd1Nw֧gl[UM՘ ˿"/_ռ<mrTef_wag2-cs ڳG{(AǨ %TIob BdtuBSO>׷}`]dVR/[RnP*Ožp*^tQmWv?wi]*wI46r+L+Mu⚾D2a$D1yl 1lr:\KJP%L$ %* c)"csDD2m &Me (I ֿwV怸@<Y(^`ka:isɆqPffT zYL+se+BiYiɬ,>z˴F ./J+vz튩F5(fd4kur|n^T;E>g&J~:;91Svg iYӍX 6N3I"In&_>_0=zjO@ *%MHSi酁^Fs5Mh֬L3&5sm]\( ,cE!!h)D`ӱ`Y-x$Oe&eYeVqcK6Լv>W6\@ WЎ7hrhp ]Nu*(h[z}v uݽnUNSs} .zKJl*^.qܛ,Qj-#\oԘ>C_l5{a\ T񯬼Y`n}{,(vs:IQ P,B ]=J-׿Lm]Q?wި-J3~8C_!)7Jxum*W+tEt\[n`i.+*[_9ZLW&k<-qMՉ-#31heOggS@A3#I  ',5899CH=;>???:C@CGD'8;=ECBH@<ŷ-f^E@%ڵmj`0feߗSP$P~;ETNĔ:_%!RRj%}^Qf2߾+ 6婓>t﹜2[SĽOs{];13=v./z)U*ڽ+2ZСn_%yzz}kߝװ OgYXTSe[)T͈-dT#\҅o}j!(>vdgUOnbhH}F ?"H㜚a# KT׾(1[}]=X  KS{/6QZnk#)X]l"֙$J ,+X @XWb SU)/1tey:;_~k|8Y-+>SΞm#]gj4dW]4Rl٭D7z.̳#2zl).6Uo9Vh6VsJO[zޯyfIq}?)lB̘43"R`˩/jA8@4,'s@>"CaX)5٥ mb, P5v q.1Us-4p:nԞyٖ98d:V *l@1?U \á6;!]gQߛ5wi{,0]+l4J (X6J}Jc:3r.[)-g^Jo඀7-dF)E 90X+3[Dt?/O"UiTokgDצΔ~Q܅{6yP"&jm2YF!+;?C6$$H:j6ԶCJz3soм=v:ⰜдHeS|ivwqeFMR['PmNI}{&2qC>{ZOe1V˜oч[r껳JsR:{h}9$A4X+B{4W]#/2μ\@JV(vmsNnQϷpӽvFu5wSz`^auqYz D돈VpT:$ܢ38ŨM@Ď03{91#ý5l {40' ۺ)/( BSL&pY(8]@'TPF|Dkc'7=%s7 1SЧE%?[IJ.{gBK]gկ19^sXg6,R!aWk<KD#<߄oOllx?M,cX^,TF5Utt5'Z"~S'BJI&wd{,/R%MV`2eS_n&~^[5w6}䧼ʾB-Ӗy:<6,j0%SEuu`sy!Tw+OtM%PnLI! ?]S%m=׫fߪ6 "xdƞPȬ3Un{:b!Bj{?[ݗ4O5%[mgW9:zƷce=/wH/Ƥ2qۙVe! T2djv\vEcB sP cts S[(T@ſj!*OPx-oz{Ÿiֳs&beSұXsA qv|!G4HtnI)Uҝ7]浾=uUP]MqREJnccLbr{5O1ʴ^hW@[x=,Kd8}oFoi]uɸKzjOhќN.Sͫ|͕3o[*gֹ~UlUAetӚQʲͭ36stV,B5+X$^^R dQj-Ȕkewo2ȥ> Wb Tsu "e7! @r ;-"A@9w6-l &9Vmb >e bA 6$ }S%{noG ,f̔{os:ӎr[ ҧt*GpГb9Iid<Ѵ2רE31;G˛)Cme8Kːqk} ]7R!aoBD@%##UeGn"(Te԰J|$]X#w-oщ# *H =KqA}CtJS. 6Ji`V{6 *"5i<pyM{K`hCѽGe̠5SQPp{8Ag 7QfL/+p텽8weIsOR鼷)9ȗ&K?ռ(c#K۽}ciԝrgbI:/+7[lݻz8aJʑD66d8n#00Vn;,QK7G،^\^^N."OY#xDDR#Ge0H .r{O6B 08t1$D2-4ħK9ߩP:}2l4TD p- rgW}*ɄVe%:Sг-x-t{3lBHƁ[7dļn}n*v+¾ k4[(^6油9]Z#HBw?Y1{JOM)\5'n= ;ݭStnL,]Nsª"Nii2Ѩ]%¶_]ֵ֬kq8\?HXq.^_s҃l*YΜͱƐ3P{p]u^>Y}5lSeĀ a[TW"ien ˅bQ:.W{ePAgeZ>+LRS6Ɍ̽FȮ彟o_"fw\e:mAIەwE{}uWiH|im^ƻS6MO*FP媸u}z,#,1HF] f]lwuL h݅GPK7ٕs:"'&ӌmnX^#1kJf 31ZdT zt~AKl6A4F%0ћFTԛ.i:@tq@(){o 6$H )v160f$i{c+~hj0YVc1u|-J7Ly86uf[ydM,D< w:]^oT3io=rD0JSh'AS'çyn af*Yaw (d}1AM\qw+ht8d}k7$*tir-'L ~20Ә; LD; gf9vT90"Wd0U{#sGR0DՒ{A1>!1 捚dF`){G62{lKTslj*ݯ@$AaТޛlogG׷딼c߮ޙO^V" [lUS^S՘g㲌(CQZr9$(KLȬ{C~Cg +5uǽfDl' -.#1 =R y#zo~{U-cOggSu3#I 'X:4@-(';>::9+?nIKFr}+uOJVE5~,g*A.c;ٍSM! Iqs1wCqÝY{l g_k׈T}#xUj6ћ;&=C; @ܻ{i#NFRTu>C,y2wizvk:ӍvZyk5T-ju7no {oa EP00{~k4g*H=bJyNRm쵁^9f2SW@ORH[jHot89bZ:bCEOn֕oE{ݻ7BM7:rE1)8{88ݔs;$VlWyBϏҖJgd^C)uh׶'g 4{kϗV =:=ظ8/DC?䟣F xVʚޟ?3R9eܚ{x5zӍgRԂڹS vMmrC&ۮtsXVsNa3l]m ǥOq޲j<&Όu2[x ޻F1֯Z+ π'F8bgd)eTɿnMDW瓼s67o#G15cFѨ$ܺkGUիUP8nP9^]U_i(5Z"|v)]mv^uHwZTr9SaC-=dd:qݓEl[ѝˮ0Q21*SZORY'y]N鸖ѻ{SMJ_`-5}Qy6 M= ÿ/.w7Wja^rP!BQ1Q BmFx`d,LՙY~x}qOn9R]_jqMSc'^p.{t`a3r>O|/li|^#.jS5@ B {3DBHo9*Bpl*`[Rb-p:#+FqL\0Ðuf.&`3 2٠ Y {ł-0y:^̶VQ\ҜzOVKV@k$FՔWNDZu7Mɽ|N~7<DDתsrJ[-]z׵8(U̵N}ŧ'P2`*,j \zgx_K>TrOqv=DQNM+UvDv tPcf6ne5!NV n:;.L3̘{_dYٳ*5htkr]T#C pU'pzx0B{anl܀tZA}0 uVGX툍rlWK7?%hQZZ.n'5..QuOH9XMa&N@F˗uD]%e2ZLc& hYUOHӄ>6ɹuCA_V.mR^Ya4Kw+x#zb Q,WQ'*&|\J*c6;8whG3{ry?\^]#7ev% u,$|}sJ1jwЊԾFeug9J[[)+l<7(7֖:e~Ok۶m*mtsZ#7W/EH]zkdĚ#Z~hn\{JU"A8%;O"Sr,%~;Vi/Fl(M5;ordd& ^\Y?T@u&հު1fU:mVeS[vl Z5DT|j B;ZgtXRuS Javv3u{ky{㖔[٩,fO<\.t=@xgY)"bVڋwTtnZZEZk1۽v\6K9&TvE*Yh}%2;])_wj/e{ {wl#Tr0}J@ jք;B K%&η5`!%wD:g[uAϷ' zkRVqi@:EJp2;xިyeVJܶ=h^ 7ؔ]]:>gUZ=fߧH3ƙPτ aOAdJnƧ8{j6[O;Q)g9jF]&C^󪻻3TT8pTAWZ\H_B&X2^{(rr*lG;s$*Bc4s!3JL#~ @X.62܍h6CLa ւ v7Ƭ"v1(s!ٴ(&2s5ùsvߠs KvuSAS ABEwOw9 䚉=ɡM,wwZ%NJ۵>i<÷yp/&dZzAvڠcasΊ@vӳJ$'l\TmS绱W*v~EtO^v)낈-eC7{L #$;I*eHL_.R2OUT<0Ci\vִz.R{lb\" d>WYRLG~rc+4W쳥\itHd^YNMzs=e3MRZ-~fTggsQ&]e, d 52ӑ<. HjnkKʶi)9bc;D::,  =wvtm n71_8)g]n߽Vvff`lRꨮhLh~pZM}go/]۰ݻ7^?1uTݚN%w OggS@3#I @j*2A=9=69:8E@CR>:;<<>CJ729:>7;B@EI;99e@id /`ϽsS|X`ޛ13 nZ\`1H*Gz<əYËySGd^֟jRwLz'-2udVFFqVݨE%ǔg'=EfYW#ZYU9nuyZG-o,u{>YtwBla䦁jTsP+H9ϫ+܅-x'ekw]xt?W$sf7qLJ/ `hnc6P Fgt@E(;Wx?3w|+>1!bśݠ)vG!T)urۡ޺sRrXqJsgvygaCN Q]sE R]vwKr[>Γ OoQN(9A7[0bn >]bUA |6#+ .`-V46Uɸ9VL SWil4"}%q͚. :yam<G[VE[Ds)'K|.2ެ߅g ¦[wZg)2TWjCxZ־;FYT"&5`~ ; "MC֤(ȯiY}m*ͬ{n-C8lF Ur7KPS&kmv۽H踅};7fef- 供gLV]?%!U0^XPO_ӥ})ܶ'|M|e :tVuf,"R_iQK)*0ȍ+g3(>l%e=>\**[*3 ĢHl9m{BI &)\x{oǶ~w xݹ0p3㝁MMgBQ(QTP,(GQ^^oջU+~]tG2ctO<+lgx||+sםi\O2񶷬vf:%G#ZgmyVA /(BYW*LO:#! pJT23JRZ}i^AR2]d2Fup|NW.k5zqVz5=EQu4LeR7/]fu9dlf0Zɂq8FZ5D#Q)&sQBwH48~$̲Ӧ8r,x?:|wdOyyW S1~MedoO'9L>9|/wjmb*5kBLm6EE:17wT Z_WR`vliw 6XpXffw  @gN-Fԧ^-2y^Rʒ[{)\y~5 0 -(@|R*4C}ϕ{)_4 l͉gk"§ > !Ej@e6J|]J齅Vo<7QWLG 612@"nxjH+@JA( ^}QG2\k1/z9H#(ezTE2|ހul?}hTx ]b_T6,6nyJy%[ D!+(9yTxWێ}F37-f3s3J~ ; BqՓ0nl%yN~Bto.:M̶ͬP |j H{f,.I6 Y7t;R(mDd+FXm XӌI> } /yFR2OvOyztz&ٚ2 nQ}-c(Q J1gp#)퐪Q3R;SEc74Jc6fvDN?Yz޵HzU:MV.Mp{T|6Wy!+m@TkqC(kx+bRO{zah-IRHʹiq* '\[i`cC㄃tU^mjvB)S4LpmVOg "9*j&yefJeIrN551fێ>j!eVvSiIʻT{ FIgl]?'v{3˷Ks|5}L=[N1ksvwTHOg*]Q0QL/ĨOde%z_h2۹}qwysszuemFơ^Tt#%Qe gL"9{a熊c{b\*9lv#[+w2F]oX{nn.ma:_2l>u&Xle&#,*fCP>D&Z646̽荣oi56N2o\"]I* KSXЖLʰaݱoQZV,=n,e¬:3i/l8.|J) `>N,.$BVΊOn'z 5g XqlXPP1Bգ wU^8(EЋMRi5^{e-3mm[޷5k5/|T1U;a*FP+c\E, "}#>5ln)^+;uvmz{z["7,@úD>:HU$ gŞGWܙ5ScSBH%yP]S7O~:;1|wݚ=BZt-hm2r-JhiBI8sv.|c(ާܻ<,3 !:bN9IHYqߤ*RkR}DV Y9*(\usY8\n ABI~W9aBXAx8}msu3|Ō3ldN/sFӋj?3ҽ@N\~lEhECaoږËUk(Mx̛DLz2g=65.b_>3.an1qx<1<eč-ux&u^'+-cd)cv /C1&ٍj`;q ocq3.ǴnNZa\hXhփS2X[#L W .nbfI0qAuC -g3-m,xZgo sٳͥԆ?7";y8 OggS@3#IN%A3A:9:>;;>BC26;3hܛиJ8@}(WZJ)0NnS-Wh,l$rv*'* Ss*E--ÈVi Na iBܖNG$pdI"#)7]Tl 6A4I<8k ݼێY5]YM5nOMUkZ T+ &}JTXFt-Y:Z -&I&TR&zy#a[E5}G>_AQ$眧t?[֕-ͤpπ /k% 1|fcSeV?&sF]96FGX}kX]|Iu|ߣDR>bi\4iە+Κ;[[ʩz9Wˈ^Tl]<{GΚ\kkSɖw߅ V;N= ARg΄HU=1^EŕBOP ac(ns{K$Xa:yH]8] b@dwytW]V=xn=9c9R@N@. ӹtт'*)mtz˱,_z=X[’΃,;7.]t`"+GϿMK">-_+&.l+@ݹ[f7 F5Ʃ F, UlҸ+1D=W%?R>N;5}ZV7VtEE@E@P/9g|ǒۨDqQg2yi[gO^l>%XݣLsP#^ gvi$]W{ONS~V acv^*|0SAYobR'ZSǞGi=3?,K 3\4c@Xa@3?OW0vc%RU]YynCOKΨE\M%b줖.E d#$=Xw;MIG_z5 % uVLB5, e-iB v> xɐܙ!*\(ܮvfC; 6zR(jN( zycrAt)&Lx̔Ĕۭ>T֝{;"e?_S_S,o>z~][]5Zͨ[e0cl%PQTTlg廢4f¸+}qṒؖs ϧ:lJڨ1Qn&{+3L$tSF爬ֈ M3bSKA3S1fD8Kh +=$WAsh ּpf{P2>5ۯlsYVP 2<00#c27`HFTD]G}npA$33L)S{łW;}r{p.*96?tx$/Ee(u5h6eW>7="2$}id؏Df$u9qDZwFfx_`Oǧw"YL_v7҄=T5)@2ڠrō,,Y4>6T .PqH9@? )dRu1d1Ûinʥ{XY02n{ֲ[BN؜WBKJXBwsD(wg5\0pp-!E Y*w: )Б;bR o;/#ҮFkғdpY fL $5w&iͩVkkN?Ae=HT2N Iµل4%%7S mn\R>uvqԉVM}[v[ -٘Y}}Y$X䯹hm|m9 W}&BY%S:\6̞jaɨ 4IdbAY̥E׆pPd٣Ad4L1pqP:mf#7QEӣ3~>m 5!\>L ''ݟ ZTM)Sf HЦvU}EM;sXߖ56$v1wRHZFkG{ *ȸgJND~oڻi3}gg/FnT][3R8%S)vS(kW؍+w1|d眮sKN"wrkDǰ@)anܻGRu* 8VVTlj6ph]uPzIN{X3&hgر_f?qr@dnI {&N2:GWIa/*y+rOd-Yo[k{oMYϪl!6x-َN])"bn2~>_kUYֹx6I%Qo;oL(SZoHIԁ#~rmrM˶iy>IP|u[rf0}5KZ6tM.2zlu+|G9].ޫ #t=TBon5{ #߈=vl|74O-;1Y|sgob| Iw]:TL0Bm ayHԔMrNW72VOC'EfMv/hz & fnPD3œ֏}޵;nHN6=(42y!w*w /i'{mX' R7SǨ2 DDvVfL߽[~-׼dcCtqgt Rt(-.3/[JY w7-蝔1Z&C9sYrƐD);[&k4+ ܺ. {[-ĥBJsÅNR(Z"2;ByOA >nEޘ*E Q roR *+{OggS@3#I8I&,*+,>@IF19:=>>=?ABN"2:;7CDCD3Z#ƴl7fhwE~GfvS)}N~RJA {kn80ݨRJs]V{m,yK)3uӴJRCQ>wt x_.NfO\$(G1J#C[n9+bMWl"NR{: 8HzBT@ƹJvTּ- gp10ddi=κofw@)e d$@R„bfFH'y/^ "Hf2wo1ּv7JsŌra_{lMܒؠJkwm{ ۿϾ+ϫc]QTr|.?R*yvŘd_]z~e+"i DB5\#rg4XҐX9bzOn4@[ dwL

Hl  ́tNgc| M^w/1Nے68PVCH"^-j@9x3Ԕ)S+9|yNݶ'\nzqI?\= H"+NK_!Mequx6-ryokgs]kJ=ؽ~mRϋ*<[ahѡ][w.vLa_}56`hJbsw)FIݪn2l!e  WZttvB\Tcl˨};枰Իx>$S̀#BZxm g/]}ݲ*~s07cI|x޲[޶e dK*q3HL{迣=Te6;4IZpR?<|V̈́X:73dѪ=)2Ю"}c)SJP}b;Y3IR|X 'ͺ7N!=|RO{bMYc4 ẗ2S΁ 4؍).F9 LN%&ۍxGg䠴xnQU \ RC @y~󳿬D+H\X˒T[4ҋnL\4l;zja*j: DϨ3 ^(c/L T՘R&QPB~@{ߎ |?Z.,nI1p?uTa06V'lnt*(=q9l- ־T*+K?UFlj>[a=/߳#,A7z3̮&|.7Y*BD 6JolͶtE j?J4od!`} |z%S~֯{lA|;VWՅ7mctm[7tJϹ4@;kpNJ׋o\Tۃ2bOjۮ\${xoT}=NDy) u$Hp;[۬ڼ)eQk_=yˏ:62{uikǹ/w2e"ymnlU=4ͭc1QW9w3;9ؾjv;1Ϯx*<_͔o!e*8fsN2'k?Q {Df*.%n63sm "`OOfLN+~rB[WWlt׍ˉe"6nEތqf#1 p:W:Pg>.2s+כSL >tb'~i* +ox כ_c< M#]sYI\3Gj ؟._ɐ?>8[u5Zw[S?έ4%-o%Fչ-Znn¨^K7"3/:>d[&JjPsf̉xҵ4:%6"Jq .RqeOggS04#Iq^#;ASNHFCA-)"C;<9DE=C??CEFRJvbsXM|&ޛ9ƃ1zBeVP>;}dˀx*Sj$fv߽㏷y,$f̷{z0淟kQ67g$8XfiY=B>ZF9Ѕ&wV/n7Bm$~ 9O 9WyW> ] gf&Yv]:IKqẩ,:M2lS䕃Z1,ar[Vϫ5hOѪWyW6&˅ٜ\Q͝Q j3\ä8˶ m0/,ճp]BvD;S`%nj"/Z E E8s 2azSJirT -DF^5`FX,x$ʔ~EǡzYY<.PTy|O:yIO[p|x`GBqtq-q~ؖ?gtR=+:FlS7lnIuւ= GMӬ8,N =߬Tnue3э~n^;Nrf1[!tu뗜˧nӠOϬ"p{|"ng)rf`Lml@YK` f2ٯc }15f~ P1 ~*tQ,e̪A:__7oFY{mgYzteG}d,bf]웻l|Qx\NM{cnS42 \c+Ǡhp}ɔpkF)eSfmnOZWzcÉ< n<&i\ަ\O#&pGg꽟%WMF]޺Ee䴸7CvN<7w,ESj_uO,Ew/wnZW8)N1gs[4G ci6- T{p}˯3ߪ4r-Y=Zd}sq}{/3,UZU>Xz' kurd_bzxMҩO,`qs;h/a Z,ΙfTO΁_.4&ą>T=X4~h%`~fUZU9LS&_L1ޘin6Եֶ*?$:Lh219?|Ӧ#eJ1~z~jFcy޵V~izζR 4Cv Ս`a`q{ཚ7eU䗭^ނoW.]Vjh5ݩS,];}n{pU.4z4IhvoWOK>~z6gY[GSɧFξY6_7f͆Y^;X FeZ/fI8b`-1goe{1XYęEiSօ{0eq'9D=7!4V(׍'2 jR\ɨRejkV{ny%_- =p^&uǩ*].˿dldg#z:)]-O3W(彠}cc|.*[ΫQp*N9\?D5>Yx* K;F޻Nn6|9'394HM4j,-sPjYInPXOlsm9jӮrgֲBT 2ɺ.ts{:a`f)2txE>8dÑ}gn8X`(5V\_{bt𳮏Ͽ߰KV=9@;i%>yJPܼ+e7STSf0 j?ĂHQ}zᶳӃ-ץ ]Ke{ZtT:+++gz;JP[o(&t^Tn?urP\]l:_&9|е dF{y؀oKހNI&[5Z>^Ut3<-@'&T2İq~}ɻךfR62b|L^U|˔k PrC$|WlTg}FD81.ޗRN*ߛ+9#o&ՙ\{{J]O ŒN>Z_O||;*?> U]xRƴY<{|ܯū[SIts .tc۔܊V (& t~D>0k`{#sՃXlL(  nGNM@(Nޞ (̘MYEJ/xq*8*W.}ęwI5Xя{6%fb䫓/s NOO3Q-JR9StqS^\v}SL_EƊUWJES͙xDWuf{;v+PQ5ޓԮtGZz Q}5*OOsՐԧ٢wײlz2:]5>>7{# 8 65^vG/J͈ =ppQ!\qRR#;uPJ];[xN]+oiK+[?>Z{Ϻ$&ddeT)|UFVɯZTo}ҳv*Mؔ1 ʠ{Y$HsP@Lwiڻw y' {{ODmU݅U۶$Js :% r\112jqnl=l?Zw=e{]6,"+V FO  c&]_*Q~r+p͡?kus0ZC{=^,`>{gDM\ +,;يHEi.ʂI$ĻިdZ i#-!eN'S"χ:M!Szz?6蓫)+,['j3ztwZ)l)?>N֤mC!P_ { 8S4184 N|66Xj,U<$a^@1_;Қ(ÎmȎʹQ$m7MǛUV]Uu I@5bڑ;S6o[^t 1k0puݡ@AX cJn.pѤyoI崤rbh{ƶ\Mt^cv[X֊I$&+v̂knog+\=RQ,x1Xb,J\@sgaj+})}m6͕W:mn[Eweӝ{mSe|0<4q V@wjb- r(TlcY6SBA.&02Иw?[g re*ӈQHT:Kviko[6՚{/R5.4+LEt+N ЃstnTzOF9?Y*ĭl;4߯f{RKemy69@O(B}ܹI[M x33J)I[/]19CFRd:<Ͽ_ZY=gM})y7h6T%:$K3-V(\۩u$UOfe'%rG]0=bi3m_TwNGəRҷf/KJn\vyn:#hit{̞` žc_pyUqgӌ K|QK4OJ3P($ R7ai@kgLϰ3mDE@4Ӌ]u`dEE& G}<%W"P3TTz3#31DUW`cx$D\ Ot$0*Y{ϧ4f2^tL{w E֠[@xL_5pQIO޽lt;}dWR#OuoKu,,pRI= @ 퐢":A*]s!)󎍞8Yb6\I@PEEDۿʱaf2Z- {gm{FYڵ* SPt`FCp V$onOo}v2cˆyTT$ BZB>NxC>J;U[V: F{v[eKMe$T-&$qV?b)OGrScNܟ^$Y.ӻ!~晎?VX~z`~3MN>]oD̑_GWw=QPMϵϳkrlu`#7ތn 76[N%vw+ECertVuF=%c XU2I3P5%lr$Աa]u]eygo+U1qL%? |<{[h6,@NkkTP  ȰnR> XK7$߷( tL\Md|}7$D>?{|T ;%xU: 'b_>7`Zپk4' yri:сp`;E3= < H&5J0r/e[5nݩ㚶vBWӔBETaE/w̨:JTD=mP4*5s2Cx4/>epV'2 yiS* @gvK3CoL~<#&Ro҃w۸8~8di2՚c_gl~3|7QkD$씹1OT6{O?*O>mjgα>W%V{®lɞZ|p KݽJ͹j|m]V6 LjV-ώeT)Ka%>wk~d-uۭhu>GS cg,ŭՇ1u/bx%Mks6ri0Y$?Ab *=׹LG#+n2~1JN4oF.Zvm6R]8l@FD! =`}{@|T{k@#˷B#:55 L4G"l~5 +^RWﯘs(F6F$ԧ<6ͷ*e5c%#S#.կb.q=RV%DNWm"=>VDZܨEx8@ '2$24WԹBK &2< @gĥ-en'KB;HOggS4#Ik'5<1:7:?<:?8FJ;7>8A= 4A@@81{ a KL}Vf&E./9ҍ̡@AlxDm@:ς%}\3'!U Hl& eY?Ƈ߇VU^c}R?~ƱJ 섗Us vBA)x0L5o8Q$G({pimIjU_;e̦p ?wo?*S2Rۻ[M9er2Qc{(o>VN>|-7E^VKYzUMP+P@Ktޥ@xthg_;@Fk7)M)c9.:;w*(Cz5 8-,@*c!B&q/ުAA 2iJ!m pj,!e'\`4MLffƲv/;A)v~ӡfl `Fv ˒A'Hw͂4$ǽۢITUYvA>|vjKÿ|Yzi8_;<""ɾksg:.5V~^7nT_x̠)}OO'&/J5q}F/P 2?U.ՉTS>wِU.)0֤Twp*ފ.bɔ )eDaUJ`ۂUBҍh :C"G7Y YZH}׷$& $1ir®}g^&8}c\zC P8&AD3`-'xiENi|[p1FOuI3n)::JU `H|+WX%P۱9P"rQ׼h\x{2k|R)؟<Y*d@5l1_7eV&uWy׭ȇkgf*?dR5`-,@"I;hYV"@P5kk.M'JYd5'Ӧ 4M~߮V`j ySP:R\eq!?<2%[KP*|XY QF(UfњqXOOgOD˽L闻|ưKtCg +2'QEa*z>ܯ޸+tb^ugN!EXb Taf/c\eN_}2%Ӫ^y=HؐrqDy~ &U )ڻnRu澳΂J3>}ChBKoZYg:U{Ҕ|N4\- ʸL@PFHn劙}.J)èEr"'ryׯۖlEO,-+] 2ȍF*\5}3,/b-2,b0 [=^p*}=!gJQ7*7${/Y\ͤ6%YY*߷ 1ٱݒ8&s~xݖy##ꫧvU+ɭDWNq:oQWK5MvF'2:c"][ޝO9Zb%DQ9"!Znc:Cp2Y ȄJv \'( hY0.}m sZSmf.QS`Զ¸@JdV%ќTE6jְ!9 <)N#t*scK(b[c~> iVqqjPDVRUFon]調Z}QzZ[bO]Gnd4+Kn%cJKGAHP-'P~>V=k;{Kݠ{YkkNM Ek;*Y|@aFD*ݯÔ_Yh_dŦ/m0uIZJ"'TU`Q4V=&W22׿$zY3s&{RJ'M9yNs}{zt[.d DK`,t R1D+E(05lSQ2oOFHW,4tWLl!z}d-}:nמ/!srS[ώ;;.`*5Rf Ёie Fb30<p [t .Ĝ6[PYdȐEk3LI̔YhA` ɜ|><,vi]ǔsjm#\igg*}pTa¾N1g.`9@ *4nE֪5b##>*0&W2e婴]{.JMYWLFƄi2@:~wKLO߮q <~f{ۨm`m۶e ,N с8R0x~)auK1FRz9OC{mm[M{>[ѕM6dqET ]#j?m4.z;41,1Ӥ0!l6c;Si ڪ[q]I/b-382bI6O>!<{cT۷d.'g|zfW:l/kOO7uxHχw%B2[7qfIHq\Őb% Kۀs(DŽV{B9??O-Ze.׬^^Tͮ }=T7. `]w]EF:g72Ëq9HFta׳HDN8p2λօNΉ+cE$hLa[7]ߟ6& n0U YP)Har0cQ뢔s32he@M⫖U{n{#gUfZMg^R~uy3Q : y+pG #ߥscT?R6sOwŊZ3Jt}n3^{:d_aɓٿoOWvvUvvCdADwUY7#ijhb6.N *,>s#q6+b=cS J+@WDZSЀV !##צ МӢB*&ZK-3fbӹ[/sy?op(CRP\qsS: gM/7ؘI,rGikټonw~>aOIZڦd_VQf'@TlᲔbJmd$W*9~PZyBkwg[CU݄.aMrU{R9tӸ⸑VT?b"QGxq@ؾ{y*X~9k :: ʁOggS@4#IG aZ'2'2B8CFI;9=<=<>FBDC"69EBAHHQ:H?{V0#;124%o0dOY#`* ~L=j) J yVY9PQg]@R'LmgIk$鳧wOyuhx G&4=[AWo+]JKОDg;~a&SLs:@r˰by+9wMIgΎ]jg~HzzawV[ NV2i*(,O:vT7t MK5tO|)`H6*= PmvDHwo @ьm ~3p632v06Y8p 0[75*!v e%BX(!UJOt|v]X3sLU|({_Rff[[Ӓf31N%=%o5s(v^E\U+ˢ㦪|wQ$A'ַuegʚyT6*]Gf_Zwcw+mrosbkl(~FtOiNhqͮ"<揕k>̚gsGc ,M[0jYBwN9q;;|s2П:gfWξ|/?$ 'Ą ;$,`7oca HG7vgU)S? /~n:o qvhgIdί/kԛ;dh~eG6..a}ޑ%=}ۓTޜ6bxNAH5^;guwqR~6f\UUϮz21D8_F++*tY3b8C_S)&S_d9F~s}TWdNCҵ幯R0!Uհ"|hTiU0?LW[zV3=6\4J%HHH@j<sӺO7 0bT: EI"SUL9]OޭN] ]_7۴7@/( V+fذ7meog6K'/^R腹m}7vo"Z+# wq B. xZu5[OىSHyܜa2=RK4!|a%),ͦLs*V <&M`U)݊ny5pEJ.ۓִf83heC}f@ ɢ}Bd) $`5x@uw8Mo @,JfF2y+6su =SZq7it׻r8$#//=2MT{=KwWQS2Y ,=ow+Vw!E#稫Юz*UQpW AK:'W(D!i*dH2'*۹"H\"sym6I>jpaо G ^0K1Rb60pړ5;lH,@yIKN֦ 6M8A96r"/iQ:*m H+j|/cǼ;S"3mj7vQ&4tǥFD&V3??)z6] uT۵6uZr?`/-LT"*כ3"1u q}#i!zĦ/Joeb|[)< |x 9v<`O>mG%jhGwjWtb3*8LZI3nNOR\!˅ұnpQlDo\؉׾Hk3sQW1毸ټiΩ]9?}ɕ^&0JsV\޶g{݊wUת";c.*=K%y"x /v*a02r:+et=oڼWI/xJq|TɵB퇱cKF`*NScRZ-$,1η0G}rID}eUpböl]&a081%9,HlCr2pI׶G9{]&dfLY޿GoZ'ov 1>S|~zC)k%b`Bx]5A*wB>Sv}]M]_/oGTJ7++y]ʙH=QUno7JG*V 2:Ċ2) fMQX+<[VӏW6)v[׫uY1sS13^3F(ecf1OggS4#I v#CJMBFF=-/&E<@9@AG?AAHO>G:cl}E)tYXa{0Zul@gd2m@@k*.E|#{!"E̠F, H_ LsՌ{yѲ,{|2>LN?6&Og32MPv.ow[[t[9r-z CQ]U05a.|c'f;+2轛JvYgLi^TbԺ۟녺qf׎LHLS۪\nZvO9\KQ6q.&|\3t}n&)]ӕfOczꮎ xǃ"DwJr\Ο3, e3CZY,5֞ l `vF saw`4-ZDkͥ)v=c(GA2/6fD#e{v/️q7f35)_A"l0/~=Xη[yIDӗ9{q3OW윾%0Og.ih uH)eVQ>E-n{=uNn'b9lv+5jj-}@w\`:NbH)] {i{Z}86s[e?5R6׿}zgI3ט: y}[.6[F15QֶVBd:WpZ33M+HoJV m (.1@?P,Q8J`zflf*_!^#wq]I;L5~>D~t/fq!KuAuG'\$~x]x2@Wsۧu"fncNdccOQgJ&[19[컉H0Gh:Y3qTg{]UdU4ѣR.TFWׅn5r6N}VN[.|M-̶ܖ[ Hz* 1X-签1RfN\JoR AL N"€Y1(y9soQR|۞ ޕꯣLm[[֟^6ʀG֦L+ ŌM'iO:vjײ{۶{{-XFںI6=[CaALZj_$[k*ofeUJݮJwisg+a\8ڧw3gI4vG(qaCd|FKUMcc.gvyҮ.~3d}M]JQoNOߓg&%D]Qd[M:Ne)EФܵƛHٗ,m)ml(s-]skD3S`JG@9ݸamU+/RA iyMz MyҚӝٽ=lיog御:\(]XҠ;M!#bZ8 =ͰR9]; o JyJFzW*gs'|{%\ۯ+cYt6b2`? B?r/m}l^3xij7oT8)`:'[V蚹2O|=lhGcQhBhwY{ة2 8O! lw}f2)M[tV2Yh#,˰N 0K@ai1i ^ -)\SNЀ~EҽE9 'Gq덝sv-x33oL)H{kpw3=[cU~>27g?}ܚ>jU]EmڥBJC}oq/JO;'Mw%c#R;Sv߾4WK0W+E:3 JCKPT@{V΂k4s<0ɯg;N*m8C4r~mtm(sKT Zh1ju)B^%%`N& pyaLV`4]h-m  sSb`1AÈ>HsTz_ݿY/qF5ٺY2zZi JFjh3{'E*Q|.2lE7;1miM d9-QyP=@M_|,mshު`Heu.?Kն7/΀DS, zZrť%I&s,WT)OX{u۶.}╽|n5`iu۱Ve]%SyW+V^*]]~wvsZd3\Y" B0M.?8ZƍXQ-]ccƘәu:u헝]m2nt9$f]V3]CϿw~F=R(eAx]u?~[햹rUVSt4Pu  UV÷e|{ֶf v{m.[lz]b'jOy~PA|Gd JLs]q]ʊjuS׌Fek^WޛBsDs%~NdކN xxh{)8yl[+Q1oD:ېځ۽`*:j|H4)?B5"6UD]33a*6}HVL ~'H_WC׾7OϫΜMx%`,;X;K^*׸/ҧ8z-.6>'N#g{WYsU∮[8$f.HZ#+(IgDhV dt." U!EKI i ^y)Bͤ$afYX'mDeREOZ)1e{Zl ˌ ڴw2b1qQ*k 7ituCqshd)k~IgL/8L%*S˧{z]?-[@lzIp}Lut`s=WW~ОH |mj…x)x?3f*=Rr3ώ]GKbt]5ܧ|f:{sҕ2W3HMniZ|2E5H{9>"R["8:fbFjDM xk%ґt LTA'Xx&{DHW"ՍNdh)pj4f>Z!l⍱7K-vqu36GjDB @ZI񦕷덧K[`U6ʔFv@3>OggS%5#I1J-::<@@4?>6:9<>9F?D?F@===89BF<+D=:9@AFHDd"9,b$? {Rs0rq6;VYd$)QU`qnD]Z"k_p:`>赿)N9N?{ԍܣ\(t]A8Pk’VET=g ))YJOnBV"UL&kV\Lg13-f[i]; /W^[5A%yjT_Y )N`EP㟻|ǻv5HT2SoEk9rsAkz..՞SQƴ֕clYVg7c o_äsk)UNrK\熁'LozX4sy2{;vs[/"sI2dcnQ#k46|Jn%eed 2Yzk)?LE;ÿ+3&KRHK01"6%0&ȡTedUJga{Sϲpg.L*hr03 c?rIʹ[m9db4:\.5*eFjPl7M*r, xtwHdB;dRE|VeuwA^y}+}r5o{jγ2TVTXlv?eM@X3tO`L٩d}o3nWuɛΠlJ56bI,\ɠ.%_5,P֘1"lޝչUYny:ke.i8lRc_"7حfQ 4khdşZ[%uy2$#em[mlڕJtt@ R{2t77TqH̨{&{m:3e:JSR( oœZqdrU، gxϽZ]uM6z]H1+C6J!7tc߆qEbS^uooVKUHPe@[٫Q }Amcy޽2y@JLF)I[ow(/5_aV[{ۑjRj~xX$ͩu\O`4{Rt\RԘ6J6I1=q]Ͱ`lW Lki1-$_Ai%#skbpVgP&9*BE"V#~ˌ5Vmx`f E W P \v8i-~YEκns,沲z:_eLlZ%C&ԇÝu(* J-2W|ʸZv[n5ݻa򶽭Zk'`tIW e û$/^/%+&͌RJZy+/=Y/yU{\kz>~y\hy=եSpAW)V :wcPRHe1KwUMM|ھZbmxk{ۭwSWW5uhcs]{ҜF^w'gtZ5@a+֭ˉڕ$r[rcD0!obqqC/O\O.`-p`a3lx~1_U:?T82pѴ*˴7pR]36JPH w2,kx3Y4eSfU[?8Gj֟,^I|uaߞǏc^I`MF{}7J\_Jvj#&z+\:+.?*ng̉$CߥۃM.ܸcz%Ȇ똽4ͻ5D*?|Z.aFlpĂ63ͽ+G:ˬeP֕f"lݩp.QM 4iCIUYbex6F Y]6N @1 =&@DBJ%VcYzVIfF(V𫯺{QaM=/==duiWۥՔ8sQUtDp0x}0,TromۮDN_.cs_;ڻysYj8RooX,( U7\&"Or庻G\nGDZۗZXe![.}cSO.<@_^dE܅J&}u&vJf03κ^*%nܰ#͵{UojV2̍}|g TFc>.ˈ)Ve@?Ɖp'>_tU>qzFRf$p|#SA KGu6)O8mTw5 .m7 D\  [ 7ϼ> m,\)7VWnՎ-R-27Oq)D 43"SʮT3SelPyMmo5mKecn>l $"Sـ|?.jdU8}ȏ5XIU?kk3\rOR/|y zr|H- `DRb洭*fw UMF~'DbO1PuV3'XVqΝF.5(4K^iʯܸʾnջvnʶhDZ*tTRzCؕQ&U+Д›QoԔQ&^i:{,7q;ԫoy%?uzk|'rW/C;V|V|sn_өR1S>7].ud^{"iZ]MA0F"1);'5t!:nTeUd[ɾ)TthDF._T 6:gҩ vU88\Q~Fb(6 E[8c'\zYIxL^ vzΠ.7Vjo ]=dOggS@W5#IQ("1388=HB9?=>H@'9CAAC;oI:oB T>CN։ZY=U2jTֿ'b7ï~;-׎S090IEUo*[ShŇ>l5Z|KrIcb+J]9e^z_%>tg~N"}"*v9V5ބ RLXuW:x!vvZ]1-=PHȐ%2j*BF W\. g5 7QqD"Rej= Y{3{T.da`lLч4al¡{H pDB I$)j{,yS6leYG:=eb_wLoGfڇs)}⹎|{VKggNDV%h'gWSwS)-~(Two+֔!҉CȐm+ܳ61o DJSlt @iBXW.dɝJ5srŹBPuYQP!^(U{6Qθ9zP{=tl P=z-.unN;[0c0ER EB yS"`*N_iF>-GdL,{LX;nqX){iNs%-5oR0OcP]]oww:#=h2!y+=}VonF1[ 3|{(KӪJ\Wt.Zwbqu$HVp{ :Ux) romB#*1[9djmi,4Vk8$3CM qv]3c*^s[89 悩GGv7>yS]]9ώͰWj'ft^-}n ҷ;7jK5dEQԾ5I,*UUv?;OzXfVE᧯~Ε7:0]ikF]ϑV!d9a)ݘioL|xznv2&ݐK-'sB6swj[֧_C͸M,zq}u.h[0 b%3S$Ln SEfL+z6{M\$3HŽ]9)FQ(h/-UW/=u!*ef]S)e9|Dޢu:ʈ'JgtLzj߇Ctg{ūRSTT&YD^ UR Ɠbb5',Rex<4c 7`SH)&c$WLW{A"IX&{C =r5GtiMxG<R (ӹ3?FLP6BbOPtfUE5&g>7 LӁpSUϔD{nߞuMɉ3<6pd$][_f0u;'oj;bCG\^(H΃|s{evqޕͽ&U-{ymr>mk#e˘w ..ZNeB&YO5]ɓ! mz6R$aDOuBJTFQ %e. - ]`$\ap(` 0^cֲ݉<< !@((0gl"i ٘-dCd,Ce\p 'B|`Gë y5տBV&wZp\N DfR,z`xh_oL7=Kzz| [sVYM[Lfb.@:MN  " n\ojFR@Fm>SkشhS.]{_ZoTGdKx{& LF ti?iX2R)14[le&Ž6vriJ|ڂݽ>r儾r6nfmϮn>nJ%[l#Nqha+ϖ`'ziPĪm p yt1@9冑gf0Ȑٓ pRފ W Ud"S?*t>\*S $+s0+g*W78;͗:~ֵ0ĜH85]^KSHmJ o2eW0-38z:ynҵfG+}&g"]\Y{uPnr͹·\7ʑQDqU[ |56lk&`+뤵U4^ Yg]"M`1꘬cq;@V Hu$"@/,L$/(xԌ23eWt}?jXҝVIkkEOɲolRM \;1 Ai>a-UJDSNBk dʱ Oĺ{^eS:ΰV\1ݞMr'7}Z!gP֚3cY`06  XZe^ղ5j,d;mϨB`Ψ@1 N7f8@,z+%& % tiDԥS>#@b)J${RNM9ꃦ'l6n?y8SƟ.\J05;<+S ?7~Hٛw%ÏjG?̼[o{キUUl{oZ\Bp ]w:GEUv=)UIUXKymKWګʛmUuu7wVT׸HXr`s~F_Ҹ& SKq1Rɬ*,vۘkC{RϷ{mvkll. (NQC+nMB7/ELO+JKOoU4z64۶3ZڪF;P@BVQ4M3 gFnӈ)73cVfjB+ķ$K%1Ay}WFT`U!SվcS2F^n7&F"󚛳q=fF{rT{Z)YwݦY֜eb}7/LjDiw]f7"dvx\YĄ*9)YJ_{jJ^s k#(1=N].-4R"wET@"4%MR$oq<;x0"Pa O]<&Z{PL@ 釵`۷{ujj*3S]ۃanx?3?Zt0o3/PO\Պc#ͧ$߶,9վLRe:-qy~:dM_-uV+L4'غ(\rUm&v!=ƍM]sۿ2Un]<[wi5pH(;əXYBGc z*{'dwrq?g.UkFo+݉^6 @Pc4RzSvv U[qstw +%1R`zXp| }^(ʊFLvW,@#Rj7)'#g)SVȼ0Ȍ-٣r$̣s`A  սS #9=%UBZD\N{ip*„%UefJN-c[-lg-'ϱb%(lRze,gKR>ui6Uݯs 2{D?"v!/smK+ A[\7'J.稭R#.=q8vJm`,dշ޲>Q NH#f`X#b B8i9J_5\@E2(&X 7 A^vx\T]yC>֌GKΓk{TTzS `\ę1_GSPRQ^|o=BY&IOd!Wy{])'jޒܖoo+UL:#.+i:X?*.ܑ*үT=C&Cfǿ)~Szάkm8x7;p-*-HXr*TDGP*f15U$%o}S񻻫{KW8|OE[;'ɇ'RӟF`ߖ?̥dljvC|7;֧RQwr!h>} \r<:FD`ȭΈn]][-WΦh+7 CGjc*,keDVK:Xn{r-p4> !K`D .߮]2ztU{WcK3GeT{k^9%>'ycsCZ3}k__OB)niٕ߳뚳azZ^ЉI$*X~d'ZowvU gQǔnTSvل8lf2D4hˍf|j'|Zc?߬|?kAg\qfo7y5ͱݏ5'\4ZT08^&*fT<7-DZLfvyOq^˜p9CK&jE0BZ&oT :h1Rqpw S)ZCEu%UYP.5Dsz2JEsZQmD\oZ pWt-I,@W^lWr1ݤ̾:* m1W !Jb*j5e|?W/Ub+ۛqY&խt!v9J#f)E>GU1!B&0af>P`7mahx1/^Ꭺn)+t,5'ӈhk|˜u1^uxW\G?'NJ{{뽴} nl7U zb:ܪ V^!BڳXdtp2}jz1JARPB~NH|IϿ5R{ZG?@ Pa_L/lcKGbb~{Ȩ [#\1DŽ\@;ۊ>hm7D\D8@/^!;횴@ୢI>32M<i"Y.pUnO]\D_]%z T*hDp_֯ޢ+JOfa-X~$:&vKL9PCSL#xH+fS 9x{oޘe#V@Kq=C؇̧2 P$ ?c&´Qf+8Mށ7}y`Ӯ+W=2 2o<+5%rw+]<5}>Ie>}KҊQku\QMge'}:<+QTԻ]DJ]˜f/SPi6YSr{ȐYMӢXU\:9fRW#3ICWgUd&EAzaa%I l6 @=oFlP&Mg=ts)cD29r|!t6p9DQ0@-߉ku(S7^ػu̝bzX7"G@<:$Σ.j*xlL̜UU\2޴ +,BT'DJ6?OSM<n@'#?r^*UuחH5Q)D"P1]CeF8~#øN#3!XP3{wjX榮n*z˪Ƥ?k&&~"WG!wp~߮Z,m퍭l۶n֛zBWR [Wj8VR& ln_BP1o̟f|׷7?{j۳w[ɋ@ET2*!=m>-HtY@cS3*x^9Odsd>3zu~H*ݬL,*|[F! 5"ISSt׽WUHF[*d3>+u(#umUuUgXjtL\ 9TPiFmFZfa6]uŭbL٭{}/fbff&J:gVhyѷ kMV*r7WȑSZ&!O k7If\OW ̙.t P}af֛K#́9^FY2I.HU%$+cnrOGR\TQh 'lcJ^sؼ垲2&Oj>$cVאpZꇜ*phu\TNSO\V\7W޽L.s*a)~(^qِ_:F]ۨFS9Aj#<-7̝x2^SwR۩[PBˋ:ä{ a)D2$lYsb}+#OggS5#I R&#<9LR.?6%!7:9=;9AEDCAAEGK1(&i]=][cٷOn0W=[S.2nf-{raS?`p|R+8\2@:X6EaLJrspSoޛWʴ[\nZeϮ[^_+m/wBjB-yn>8p{YRg*twç\̓~8ң7 rS^6qfƸKB4j魳$FGr''c==B⒋Pa(ϷP$ֻ(F~nE =/&CU&:a;u84ӯ2A TڅFYK{Y  S1dW;jc" Ι_gA^Ͼ ++x3ꕚI2eY^u[4ya}5| +C~w}~˪Ϛ9:!wvRo]3.+_'3Ww|73#2JI{k˸|yY.=Li;vP\Ip_`t4{YasXT/m)f wO9&eXO{:Agz"3&}@zf3Vt,]%DaԥU2SӚf4-Z] ` F/lBV-k1` Xk3-eS'~hڐA(L8aОtaGp%o&1738Ӆ{]5Nݵo}1O=L-%LT٨wuݲQB+|67/3jW[;t\QՍމC] wWQeVysLAm1jVc+鸙w>Z(!i>u9&n\QFymguK劫oF)Ʀ{.O궠if5I7G6k,hXv'2cJ'@t࣬ވH(G]#9IU`F @tR/7:uMfTRW`| {ܞq(:%K_5&^|8]JV2:G'?^g;*M}:ѕ3כJG瓕s-NvFO]VՐ5|y7WէGfo s>k{×C}#M=-ۼJF}2fڔz` {;e1:S)%ҕw<7UM{0)wgh5- m&52A tvAn~vܼہ+NtDUg@¥Xy>.7z은vZP+S V!AV12@h\D9_S|5&OY%7fL 'v`;n׍UՀGJ73tԾCiuCN 8d]nl[66G{ro|JuJ.]~*Yθyja*Ӯ"9qn4"W-|QMVh߽xi߽[dmU;g"ct&mh\0r<+ns0;-Y>*ͮUEgźr-9y^vB-6*Gd9úi!3W ˴!6n )4& L"- %BD$ޝc)x߳B=cVUVe3O+?T4B,("EJ%0Q|_S ܵ,[hs35LFum@-2h" YS0|߼bѻQngW,]1z~(4 {::89-*y`6#6\eu}[>wZ L{, 5D3Y pYyJ''}gZfoiĸ 1P,y-,c9 };V3I~ͩ6w]]f-[eal>%]}ȄWGb$ ˛7 47̨SWǓw3yZGI1j \H؜Hս y'' J"txlavٺzUvʹ-ow{z7d^(0 }a%TMV烪>+e]/]j;m^mZoVtN 3REM/~c>&HطHnI5jq^nZ/tϽzI/7W&Rz{Sob\У$(ͽٔYˮ9T2ȋ<ڎZWJ۞*|j(8$ܜ*o# Q nZX5bZ K]r]oV*{]+]|K#|`u0#0]:vQQ((|+QnDǟ8D ˊB| &QQގ p%5IMg6ImJHcI/vӯ|\w;ݷ2%A}h*ɘ@Ô"2R.Fa&dhb#!T.ێr7uZFHPW;9a30aR]:,vr >FD1>PJu9imC`onϓ:3qNxӰEg%ckdOggS5#I93*A.B798:E?>E<=<=A?>CBD8$C8<;@ADBB6U'X콧i ޻bֻК^ڋ7wI:$xn:=5kQˡdh'ݻ H#%Z4G8+RI)S H*Kr[[M?#3O-3?d7q,VL2 Fu=v@+ش٤ Z_\(j&6c /m7+ϼhH-qqq.Y˻p)@ǜH Vĵ[Vsg4DkvIXsOn, Qg6 &ԆS2kk"xdYXýӶւ"(.nkfpP*oژx@e˂)m>چO~,̌Me!KuySPpr܈ާ.y> yWPU*>}!:Q]'^vy_QQNnlWGnk+^  Fe:PN8Vo~; ͂ o;::=:s#}]#ϞìY'+zG9]\goss{r KȽ5A +^uE!"Ug~i3T*ef+\AۃZ QII~PiNdIL=}4,gf^)QӅQUغ:W{f\;U)YE~W&jOBq JqA#eFX)Ln=)/o\gpPGzvOsxawΧ<]3%N|1*3@]-]hTdaکF~e'+*7UBnM#W fx:;ed9`nV;C+)WIouyoI]Rtc N"#dgc7 Q-W؀t dSG\bI Xv>ØbiY?G r$lemGkoKB'b=* .^"icvLJ\͌*+%VW@FC;x=N};[?/ɆNmvӨo`LijKMgg7,JA&AZ՚n(qTS ko"GdS SW:cJW[,TH==m[<|*m .(Fέ%#le\w@! )]ۼm +=s`tZ@6iRC&ƻf}y1(k0cLR(lS%e\5P¤ ‚%&Qj?~J*[1;yJݟoz;JʲӔ>nձLyS܁rӽ[p;b:Wٜ%1UosmD'JYPLt:&NqچoHWʮ&άfkP1 9;zzb4Հ*G犤\4;Jy˖{H,РL+s^&D-{gXw8O͜b@=` v7g Hr]5 PU^ڞdsؘ)[_V=}A:29xw'RǼzXg-˒gQo^WuӺtՈ =2{ *"8{czfk=շ^7sT7mu|{McRDsb kKj9+[z&D f.B6E<ʼn6F_&}A°,(ﶮe"z7QbA [LM!*s!'+s@AF-rymr&;=&4)s %{xv79녙731g@8EQJf_3MIn$^1"*- ըM (@B4`RX@l7OO'@wuξjnfS?uq\ DFKy? P.w۱5ߴk޻k59ӱncl:P"1{m_?P Z$?f{AEf[g_g9ZvMo۶|!B浬pboࢷbp>ӿ}|Jˎ{7Fݭ^ SRB(oѺԢin8/WT3=*]LZ7k蔞+sH6񩹚`x8׎HM7oPS*ܿ8*̟͹w닽%=ks}?f&%:q/ ^~r#Ԩ.^uo$WݹS]v\n~:Md3&r)vz%oiv]ZI,_Iʎl'd\ ܘpAvr+Ͷf;M~xwqnUWY86NV*r9@Au9*AґEB:entfn+ @Ts%BEb%'cFH%H㮯zŃN0ǁ>0Ƅznm@kq{E !zc+ rVr;v;nF&ˍM2 ׊ԅl˶lZ-ϋT6k|=s='싵{W%z'zאP" udۉ7Ҏ,lswRTzȤK'Uw6PqqXH@5Z]Yqq2n1%n x@ۜS(f$AsR]T.}+qGpܬn',\ rAlWS$2OggS@6#I%=<9FCF*?<:<7EF:3<8A>.$6CCB ljeG Drplشmܛv`:꽾sޑN8r9x~t92r5+R LLR# Zk2*4YoSrx2V3ֲхԒvn*&hf4"#[޺(f/'k޻6IڒGFKtGg.w_{Ⱥ$Ӷ=[E +Y< V$KNS z2L%b4P^#H$3 eխWfpi`oQ|Myq4Imݴ9GzRQO){l9v1@~y,_ NJZ뵦Z/;^\]7CAۨB̂fȘ !ǮQ򋣰D@e"CU H*BzZH[e* pRTd$.%]PА\ U\WoW^ m3o2Qk 5=3fpP(~| / I=Y|r@:L𠢔8S( hfLJ4+-o?wHǸEl)l)/r3Y(Q̔[07遈}-8E2V Q8EURnPBH"WPb&2\!VNMC;[PhdP,%YL z 0/a, 7cT( df`P0VEH\B(Is+x055*U3w9!/F^kOΟۻe}j4i~ ~ܧvhmQ6=޾-$TRzQj#eԯs>)_M3=[}ݭ{; C\"BקƼ] ,o#4*V7T'Iȍ.,\&dThb 9ntҥNI$K:$S&hM1Y~JQL:ReYMu2zliL"[ 05#Vo7=/cL72: :+Vfy_[?-yLՉ2gjt119nf fE.vb"lh]GZ).NKUy2Jqlo&bob^둚ڰc[O *+8X)+⿣ȌPHT*]q.T.D4'2+zڴI-"(@ K)x6d]wXoԢ02ly#{&4.eAd(gE JJk3'gT7^;xZvʗWζGtGamo.q;|%vbtRZP $AsQ$x؜eK(=`.uX)nWT:X;Uk{(MƮ6(!3 Xmp3FY"kwIB2ylc#X xRn]淤>ݏ)K4|}b~}1{lGˏ^d;J(F^n3&;#+u7qE5Tv~BގEޞ,;"1u)t;VN,V}aYYHRh3y[xzW!A\q{I;Z Gn)oEQx$C vXGAYf;jhl#~v|6xpp@Mܸ֚3琰[ 5<< "%ܞӞigłQ7Sʔ_|y,oJjrN_7m/O_K}ɪflIXv c'<Jh_Ұƾ%{5O.٫gm=O{rEVre^ peV'JM$ڟ6 DFQF+7 v/8,hZ˥rZ!$JJ P7zfa84fo0Xzךj˞{ nu( 'EVFRF(B /w]/BJ S}Uj= 7,g,RoSjd"Ht 9x`{F@=R)o{MIO *b&!U[:Uwzk&vF}+_&)S^/$r q|,kro#]f)93k/UpR.bRݿڧۜܮ>k15qubk/sנ% zץ(feYvj2ũ1Sω??y~zY~.QFkdL^g̲͎{􁛗3:n2Z)<@?I:s󔮉 s0dJn\Nh r+|wmOMπ{:79\t 侂oR^ P-A~+y)rI=a  L`ZBls5Ueenu;o4.◯x`c}|T$4'9m"KOSn 3S-QYaThru /DW=۬/]=^ٰ fyfnVlo/UGu{3k/n M ՃC#`Wkw\kvrT/L,m%?x[9v}cj$H8\ } :M}P HL_\!q,H'kI\5ϪƪTeoYT ?zLny~Wcj)F*R?:KPrv]yb'2̍;$$j/z6z Wdڱ4mgo=RosQƚoKA3g (60}w}UӶ|wϹq+5nsqxǪ dl9Vr" ְ*XC)\G)C2V3n\yPNY'[;z~ϕZ`J߅il^>L"Nj}! AlI45b̏|4tm{˰m46>rOz+ T hϷѺqL : 2]`%S#^^+Չ^ݪֵiX+ϴ :ƦP Dt+hA,i^+W& \ཱ3UoY?pjرsTEN`q~h2}7yb֯`6N}$y-Ӳ7$7*n5r)-Z5+TU_ݱRbUs TMDVha/7dvL?O. #(icN!dxNWs>@:e̵nM535OUMheŴy-K';ݖkܿ9_qlͬ7$WOak"^Urv.G|n/f6z]:bUNWRȨ_ks<c6bRX!Rb†xJ+##w#sdrWMZ@$a]N!#zlblbX%aAb$"26pbHOggSL6#I \'0'.'C:8DDF<=:><<9CDPA"<:7DCGZ&ZnעY2LZZl3]LzM͕iJ^ kƲEXB~ȡ "$ÛnXƃ[iC`P5f*GY8>/%s>>ɶ̭\ R7 }~ci-`WS*[9qw 2rr޷`抛J4pQz?2P;DЍ ^zBTXTnveG-.V\ :_+@lU핢@*"vbwԭ\u존}8uG q@B֩HvT%Vsak  *J@Fz1ݸ,JKs P 6) y,-`-foUf"|kYV`$eh`.R0kJx `4WϙgKӱ5S3F)߿jf~Ecs]ܺ/M{<ؽ;s5/M<75:J?QNFT:+2zWK,yߛq]vpw\Y;}73=tPҪwml:rgCM%MnUڲѽ k+]fY@V.SDHyoGcS{ؘ gڭy(VR ߲G$)08QN%c,70 @Ɨd=p@ES|2_'p O-Xj0+%8fCy]`v|0?o˭އ֘=E WleoD}w5l!'YB}isv@wLfgwc6_t5&&_itھVOoqͶ}nk^;WN [ODkAר"[}ecHg:B(i /ҕ+-p~MϢ,f\\.{?[3sbw\gFD7:fT4%:ɲA5_ώD /3}%t~[yof\Ύlf\xL"H+#f":O1n@Q ۃAfQH()$kߨֳqƵir;a*gZʬ³Ў"۽OvO NURJRֿkq̴EtH ҿV7&{2nC_U'omNJ 2)6λBݧXzfpf(νBH7(VRY/K[_KYOOnm:~Ozʹg 芋/FH$Z- F*UM't3ã#㷽cC."T RP/x*]Q2U]mY;YkU.FLg1\MU'D y,].[&U4[W]x-O쨜<yTJ|YZUP #T'f&x͘#Ye22e&1{]qQT'hBa@ҡ?2$+u$׿'6s(a[gchqgqlTA!&#n4 m(Y Z*z;A޽&Co%I "ɹ by޺͵9=x7m\=5!q0}/;(v﯏S6جTR E_f޽YzMj7mvN@Eђr?^kpm2$j|WTA iHI+n+gᦰmfM#&Cp3Zl4#$$f&E4 .8VW{SR&LY3X1oļpI6^Ǿ珩& SIcLG_,-d}37r$33S&オvV;)zKoT+hyߣn;鮧|gVo};7z5~)Z*m1:]q鉛)e( B?Z5܌|j%o'̻* ]ovkBEW*\w`m' nvt(4S Z5sUB!) [fug6i٫Ό֙4G: @m^z{Ȉ~CxVwZΦࢽRqV'"71t {bǏcW;T*Ӷ]ޛm6Uʶf̪|AT Q("a%= r 0qSSVV2E"{7Н]xnΕF딅c5_>^D*Xv׾^}گxnnwsAutaJvyV~& =tz'u)w_EAb#99^N-EW}s+n}⾙sgZU9%_MlD:w#?quXRf&YmϚqc+t65ڶ=Y-f{j:P-u_`)><\\o*)Sɔ2{5c}ufc[N?[Zt~sa7vvk$3cVW_nVwen1/SګFV4'[6Jd uAڕEs92˳EXiFB謕ڬ HtgT\DDuUNDZ< 3ѯҶZ̝s( $P3ݥ86:1a--OggS6#I;K#?>R=ICDB//(J>:=CI=F@@@BK@YxC+Z3p`8@vt]yG3z26~]C+L-s4#怀`Rb{qDqq*HRf@L2LmE>hW̽B}L\IR5ɳ|+F`Iirq=>Zf'ԑ]O==Rli $ޱ 5u־bDTDuEfTܬ~F jf_9A>Zn]z]T+|+g ~I ⌙]L: W9>z황3P(Z B%f=*3hz2`R˓{\mm4Vo2Zr/iy`d'@̶ܔ R04b@0TPPR#RC~( 75ɛd^|z:/'WⳬCjc5'}Hﻩ~5;˯i9%D2cv3wt + an3vUvҕ zZ]'WLl߫aybz N ög |o~:+.dcз[@\TA.s4:L#+}*^b^6dܘ:~GwrZ̅)ilm-fWXflSc0ych9l 1\vhkS [_[j{A];0%Bp<'B, I[Uzvu]b2)_-(N//;&O]lXϫTq7^!35tͨCNnz :V(G^ x4j;Z]eωd]^NϦf Mw}s+fduMmzQ>U7ƿ†'kMKwO\wӯ t&UMZwYZ:3y+RtzꉛRijheFZ-l={zkif{4#;x/9 ֊$;H~- !E*:K+L 5F*3˴H jVQx,ey*ut>._1O*iY'A 'ҥ@zYLGBl!/üz#xEᡢVҜw\&UcwYyM<D|S1Ɏ+_)KYrOdG2vFN[]iRjz ?Jwm}މ]z6 oլsܵkaMܽ9λ53hg$FFtj@tn?.ΰͽu3g`|{)4$O!}n0FbWz=컩[Vuf-Y{Z׶֐& M NR lwPU'I.ďYMɻ[[knʼ&:TwҔsӻW nCL Yka2W[ިkJU)+g3[Hh4P3~_]XXYeDn@W_ި#~E]CJCPIF"~(V2 }]uYJ]ڹu[ ҺʞR5}?3\]H Y(%41'mfD]Yd::*o&AZ}? wZ:{ [kSf{6Skⴻvp1# OgSf_00* hzЀϬiQ@yu*!^^^j!@[=rCnZgul0ccf^)S%~|8Vgu\\]{}L+!^z!إqIq~ʟ͞n4+E\wu|yNn|}O[i [OH%ۧlf <gYD ٗU}л`Ƀ{A ,;Ubеsu0c}4u`l EK Z hţoLM b溝{\(5O2jeb)uN+۽#Efets-Ӽ|1.B9[/ͷ*:W-&홗u|svn'L 2XR'-um\{%s?T*E-+s V}iiuv鱅}OӀݞf4Z¤ԪS\^Q8fOE@v(~8 d|y Mt}` '64gJZ=Y,")ή7~޻ɕ)53U3f=nT*jpo!9;$9Rro{slO`X.[=a8)_%6Y-%g8_AM@n ⒅e8>qS8U^iZ3/4u[>' I&qQH%&s)'f\FwO֚3^ ^-5>U˒ܯ!$w-[ҥJpss91~\y{TՑν&ӎ|bQ%>9j @q/?|Y UoG5e[֧;g^k%1d ޘ`)C=P'6BB5P\k׺^D)Fb{N^vE{[z]cv`Q)FVJ/7G:@#^z!ͨ'z+׭<] G65Yz,NHȚyf;U4?r`H[mULw;O'W]-ͮmgmvL\J@+74Kj"#DxE4W-ʅ,>.S[YkWȮefOB#K"r[Pk n\ԣXD )n%UqI\ؗڼڻѻvXHޭ bA<`; @w၅,{46GW"Wq&?udW˝QMZli V5jd+6JPu$t71k+:FgpڑWݝg{+ f}mWt cA Jǒ! @'_)E*vr+ݨT?u! !$^ lzx@M(8,փ%B&@9LfBɪn!KTxsM}~ܷas^47o4?Ju;S3vwTRnGSJ}ӏ4UMuf.eFܓ;5Չ+Euc{VE)z=:%߅ƽ$ɹkV Gr3 ⊙dvGtj8%P{)QljhicYuE&p""bichyfLk}cf0B;?B::;=<:F?E?'?;:CAABB֩yU`'M)e#@t4>>{6n[TN l8o=VӖqM1Knlܯgͽ?t5Ӵwt@vZT4[z=aV>$|t3hn9WWk>~ڋȨo{unUиҊԥr=6+ոs/E;ShcuV d*xnj$XqLXD641IvM#E9H)"Cc-i^F|bzx5j(~^ᆰn@k=6.; L4^,dV2` &܋$}>1j9dv, {Ljԅ;Gi XlVYt `_/.ψ$=î~Jt2ƶmY)T>0M:)&d,o!Z~m߉mi𝨖IRg:_d=sf*߇Lr3qPAЊv䦤yh=3@Ξxkla\"q Z/{;I`o\PN2O}xinҙmfB0Jk{6j\Z!aI$*" go[UIn[O '뭱w݅h-Tqɨ*ef@Yå/ϬV[[av: ?~{|1i~\_fwUynԙg1vsOF8DYnzOnDٿ省Xt@xOwe"qY]\UZ49lUL٬Gn! F&Q1ΤڌDQxHb3ܣH,Bl7 %{Te2@k"?N!uݴmYj]9#!g#F@3gbkil㜺{zgL_䖮x5v0JK^ algoe&]o;׌/o~]~TZ`&w]&[d,J ?$ Ifdպ4W*L7իrVm xedݼ'3[ lVDŽ%l) 6^ZzүUySCn6-)21 {\t;Tjˁ4. w9I{(ſwI_qo3{ڗ9ss4B 2r:Mj'źF{?ri |߿c00DNM:nȓ 2?SgwgSVPt7ٮ4U+{[T> *PjΦsyZcܪeJY,G)lJ:؛w=t܈SH9F](h:jZMYP{\oָlϙ J#n\De+N]fB9yAɚjt[zve۫B}Qu-7?R;-$LQk=I*ݵ)p\uL^2ݙGK7]f)C}!2bbJqaOd03e26:b' T W)Ȑ .3x90;jMOҥXj( ƣB6~z nJ ca)2dg#{MGnLu윹akBWzM:`X[]T`G2w01"¤w^>pÊeN'B(DMО"a/vk8ʽueEV3ԐKs\ Pӡy0Gӻ- |>}t#lv3=w~K0H*k_vbR|>]TA9mc{~iF0kb)Tn.@.,LRxJ8Gn(;ێ%F11\,zLYLG<ķMV̙Zm4[]\#VMW֌ ^B0Z2B/{s)D+Gn//.VW__R%>2o{v&jԷ (I 7t/@O9iqMe)AertײvNk띵f+tu dKF47y~/k/&/cݠJ2yN5?]["5m 'X!RCWDmi}}л]I2̘H䭕oP{Џ?L6QjCۡ:7^8ə/>dVꑌw'{Lklٞ}ngeΌٸ4b^iK" Jz.wĭEKC-'wNvJ(-_f߻k=<Ѻd Q6:gWkqK gh?=+L@΁ڢ$Zѳ%2 FCL鄸ɽH$H 3 =x6f >3Y6F{XZ8:09ele"y 70{[iy333e_ x>_"$4z8 z>wRc!M覾kR<#}Tf|KLG:b}ޯSr2ϭkuߵQ^D\v ]7WpzYF+q̪n.Y=8;vJ}GNV%WmiKjHGݜ w6YPXmN!,P֙DC@xGYBJ߫m|n0(Vܜs=0&_ExF-dVSuЀT:uºϹ΄oPL}[Ev&Y- Xb6]E4 D/@J* KNB0Οsx26bkb3SDBc(U)3tY;@HD$"/7@EHdF8FN`>k=ӥj3^M3{8{G(_UʪnȚxn ŏyh\.ѓ*Tta6/];.Mޛ5TY#5d[NzXfqәFM[4gFh/D2$Qvty&^7usmOvH^A})߈j\\׶>^g5L95M "2ZZٽTf3sKͳ,%@,hInVeOZu,{Z7/b6rJkY I@iTSNLp&K\zܔ;F7YROo6!q (޸?83nLy'ɤ`\7 n~IP;7U8@_8-KQX0dl½d߳?7#ٸ>-2ގe*>6~}Ok>y5wXk (ne)UDOȗB=ٕW#u4Z)!{u5] Gc<VezXٵS))>%}\*cZY9ÕU  l9T(3$f(,{7gЀ:ּ ,qU=R ڍ;@Oh$ .3`0;]5 *s @ '7fpeN%lw & BT 9CYXiӌ+2%]) e?\q%c{Uf7y<4}~o)U@ m>=wJTv?{]}fվUw E;gNی;ajwbiWqW)>prTZyܥ JD0QFF5R!b F)!fA`U @n%NW16edwijv/&^ 偀ɝuy\MAֺEY D̦Hȉj)K+3I1+y}?7{هoܝyNbddΟL>K>yû烻siJ;Pfn}ݩ3.ǤVWWeo\]ɍNۧ\ݿJuٹ31*Gӭ#7[ZSr?ỽ[W>˟U6i.J&} "ju9veoCG[u bHT}c#i[ـz)Gi6THzVI=nhm {nl)<4I$ f[@mx"9`$D+ q?ʨKj"PEdjՉ?N4U593f%?)Lbc<0r0\H΢T"*ܩOruWF{Smx;Q|) b2@ S '/!U֦6frUQ$,U鵱!nH| 1ҥ䑪霁p ?/@Q+yWƖ&*pY;m{Wt6BH"i:ȃ#$eRc[{V)\\,,Bm;H>a0ЕA1O%V1g#(l)EF*ۻO?1zYK6$ H:%*H-+B?;fz9\ֳacM j[w1SRuyR~jg, J%8++\j'(4yGy*E'#bAxj.GƗ\;u;k07J-5UNz/MקyŎw $33$LnڼQ3l[I5j|6?!=ӵyvĬћ ߎt4$* ~MQU܌TTAxBڤ4 d57;q;+uJY=;#K̼=2) gne#*ž\5#Td܈IBBDsڑ˃h*fݨ`H fX \rYRINI ˽7e0D'\,oMi؂GGޖ>27#zBVyI]p3D=b5"t{'+)p!5$FeYZu^{cI~^r>_ޗ=y~Ǘi\M].\^uW/Sܴ݊$\VFύrty6>m\_1:?) h)-q4x7!D<܈[ MA3*Z"[f'JOR$R cWc\*NLBȀpe"Uq.Ru&,D0/LLyy->L^Wxj48.\4 nqpL\V&:#|>`kߤ,L]=ݓʼ4x`o41J]l'q")Xx[}Z_.׿]$0-jHnl13 ]P> b]&;I/<`0Īu+ґr]k]?ssGp_~GLNÚ}X,nl=5J*,ui=@~kҿEds#?el"I[ۯYVKֲVmz$TK%R+]DS23,OudJ*)3kErs~&9HmKz*y~&~h|:{_( W6}}S;tpa'r舝r(5JTia:>͍W/e&beANw?;]#}SǸ{U\$W\[5sJ3DDpc gݞ S[-k 4UYֺ)@!g0`@WgpL-mVa`^ P:}*o<_LA㳜z3JUY?mόuwZk]nMv+z5rWI)2N-7ܹw2nS=;S,nEr5l{8Sj+箌0Z߭l}fEwbB^➘qS\ĬVgFWJm6@#RwRV% g|YQW.Qg]v hr_zug (&cHsݗz!"{Ќ(pX?ԏXrཙefʢ?{G"϶FiюF^C%w{ߩ0{EK>6o+eSѼBU5SfS*m=B_W}V;}Lll_V. G%˷g&1'[_vV4_@kM!,* }RC|nKLB@YFʬ-IO૭nj'astnұMʨ CL[:$:uk1֑MG ,k=O,A"|ezStg־UYN""5 qau?xLJ:' y]yEO+zmޕ![jN $&h"5 b=ѳJ]:Lش*\]-'/qZmWM꽍DWjdBͺg;mB%b'/Et콷UmュjQwwٶYW|OggS7#IfW%>F?*,(/CEI5:9<:<=9?FJP)4;:Bt'zY XX`O@xh"؊3bAΩ\HKkWȸךU/KGX,Fk+B; /Ƿ 1R٨ژu磦S]-?Sm{6Q]еh޽Vŏ@eBRZx,}ӣU`Wؘ le? ׯ}+5NR+p[lYGnz렏yOG>kZ} EP&Y)Vʅ)dT3JtuQ F0yw|N#6Յ9j;/$#*MosY8هZU#"*1rܦUL.M)S,2_-8no [V-PI'0V 01XȌEl~;9mzEzLqU>@ eE^dM̨yUf6?Z6_w"ْ߻wn˼ km^hG5ZꎮU{~}bn^ھV_6xgRlʞJ>H6EV|FutZSՕ= * ̆6Ud7b*wsdD1P;+xY~ÆeFb#0U@q7 s1fCzv,Z Yk'^L!0oCOT|7?roֵ;|#2\"&Tg`튆^.\SdEJ=4DFdzc(=V4zr>4r"gln]kt!++aI9T.gqȃy1@**l$BvuU.nsoXk)H(èQi@-xmǢ,WDZ͜luu-p@oO(<>FcU9HK ^U8,u2~\^6%GRu(e䭗ݯ9԰OX~1.~7{hU.œFA^ENA~+l<ʺR\"2=. oepo}]Ѫ( 4k*$UUȞuT&M4B@!Ȱ{DNkP*ʵ6ns~sPfH%9HxMa(n4;J3Bnl۰lцx L1*Q,oTȐtzlTեRL7%'/kmŵT|o}n.1L6l09pSt\)ЕL` Ĭ͒Xf,^:uLǑ{tޔm4tGܹE)3+C_rFLyuIkقls92?>_+H/(n(y"Oٝ.HBFquOG BS]ndh\JA{/yLY+ڀc\'2Y-Fv55C7vE[雝ۍ'"*!;Muu~I|#҂s?)^|1%d!Cqw'>6\QȣR]}{hNPbc0SI6IVtqT27nC T) 2I0u;"6T)6 K )g*l2@`n2*Ml @7}Qy@k-08Zf1V O($< |E=Z+k\̔)[XK\_,n蜮Vv_"{<"}w\#O)$!%*N!}E21QeZfmO_gӅ|?7|WcfRAgT:sqCؾ"i'klK:3U{rr"cKR:k[D~eBK i ))FR LD`!Of! @lN ." l%FT?CB?TEI>-0%8;??BBA$HYL}@__uz2ce2 :0AT+Sj6۬nz=ڽ5m|]$Y2XA@ݜiNd9.V]rZtV Z!e@[85~.1s2f&~u(|܃gX+`4fRkLߴy8\}if/9Sr/}-f;Se-{JݚR%zv;{-Ѵ!fKq%/""#-誏'7W>U pDΪMF)K!2Km{ouRsz8P.mzcKn*WݛjbeVw˲vU_f˶d=8٤7fXW 5yč4+^op lw> ft" i 0( QX^^HKc)R{~/qV{=oM17rFϸkǶ"\51WzqNR?^+2{vRdQ]ZQBkrcZ/" %HI=H-JlYEz&c<2w;{ފjeeB^ D/ɲf"􄭵O@8`׹um_u*g-FvvʬCq д>[LAr"1b>;m2 H]fb!9X{';#!y捚Ifl޿?_>_aar '{vӹ>LSH"W_.M۝·WtY{{S9jVץW#moGC +gJ)dJcUARg!AVJsW{ ,T M1nS%řt[:qD}b@\*U!mؙ.wcJ"frQѰVsCA$428 5& Ky XM/G>00 EL1 76/i:Dcr\ofRSLGv\A޼F9:χ_92=y#!]k=d:SVU +LًjlAWnX:ǹ_}V5] ZCYr"K~䂉 9|{{꿱 FV֙%P6Z 3:aPgE3^{EYo6];GòGҳI֎]qtXΖ=+ֿѷT]S ѶǩjbI?nCƓlg٠IuȊa ͸FտU]YvɊa߷rF.;'͂l"W r۩:IY햚 k鲸ZԚm$n6= zS"Řو~9-e1' N+N-NB{dx-Jdg捒g4fZ{ThWZd?YFSAQTPޙDC[{b! fMT'ugV2r3%Y=r&<#Htr`rfUY>}; ۬0h{6 lopBf dl\Fc-#lzȶi km`gKc3r~#)@$2.|mFTL̻Rr[a zW{zqȫ2v| ˘KIfOU/|+z}8G$3: Nޟ n"J9wkΌe7 N7p{ka$,%Nj> |NyF5x([sYY0UJ~ڷ_ϢKWI UOSNų|^D]t^.`Gjgu!-r2>vd$8dKn$4u=v '1Uc =S8|4yMW5u\66Ki#Yu.}q> WyMhefih㙍A{&Fk@# zb '`+6fЙs5zGeKϠ͓ ] &K/ .wC';ۢ2.ۚ: PԵqX GﲓN]Nlas!#_v&:0{ݧaFˉQ֍ؒw.raM>*O#)C%kߟgKUZ̿P56kN#&g`SX9HoO{y [맦Hu1 '7U{݋Qm6✂F u3 o9R2:S;r3+WTٵFyڋxK$ru`*H00`099iZpG _sn^6mTtF^R'pJ3#Ɲi㟷e~udmoZB{$Ho 'ki@)!m#!&DcW8Lݸc4k*yВEݘQn+2ݙ-Μ>+#i7&tWyИ-#nNV)ݘƬOmՋZ_N_yl|<3~v{e@cG9'ƭA2كNakEv-][iBbT>ꛗU`wYunbo5VJYwzmZ5) 7#5ί?YN+v=fw'rǨ_nְu 2NlSޑ >輗ݧ4'svb0M+ɵi7zr$ݙUMfE=]. WFpbC_Ns ӽ=rJsZ?Yg?=&g;\e鞟n77k&yv֛՝C/9q$)ݼukݍn[^j#@L" *ak {5-e`w(xDYais-tg-UKt:#6։W@Ct8}MDz?\gx26#+fzZmgz21F)>FLXAL$7GQLǹ#S΍+_sf-etL* th V)E;7'1P*b^]5=i{Jo>913 bDIDNu%MmLʊ\b`6e$uEx2^j((_ BXR(D!\V{ȝ7]۶^5ɌSq@zC^FTBO:I,vHUɨw{=ֻ53[[k-indc9/zrtEdt'@Lj \zיnӕuj4RYm{{ny%L:E'X-ȀrRPX7͔yk ܥ՝Ś kinN|~lSRZ|Bbscl7/%|0AYԪ.&$*Gx+dPʰ˽D R5dfhAZ`>cQtlkVݚyw62ݬ[}V^ϞFc+?4, QI;[{u(b=s*`(mW`-nc@ `VֽvhCD F@7Ch5"7A HP\CHQ *,+|ݦS )X)wdct`B!qS4%.grn^^4 YI_z#{37Mb]ϤgpR{ox:,;174RUK l KzMSUbľWjQgDlUVV13rlvNT&u T0Cв瞜T'1#);n+5mYPu l3s*%EE8 hYKJQ;/3eTrcMVyg&W'kLZk!XC_MF2a+ٴC~s$='b9m{o{۶=SKV]J1ƆIz-6X*!׷!*TF$^f7{,v 򈂲Tj*lr zP~怱(E#Tz\\O>UƙjeEᗷxzXC̮ ,ڞW9vm׼L$VW ֮k Ky I~)9sNi{8=ѷooWE ~$^%x4fU{#"f瘫Wgt\l{D;`w+sضpϳN|*0a6;R숸̻)Gf~]钽,9l&@*R1 0 Ww-(sxz; \.`4k`%<`@hLeyh=V39خ+If̘2˴־V&8jw tR_(ح1v=J[\^C-rh֛H>7mt9&?w{U]DF8fsGRw"՛T#'n-ܑ]TUldKORIء#oOgk>q8Us&IOuoԳ67p=lav|֘H2ٽ;V>՝$m?M8(0Yګ8l5i_Z><;@G=>@?G?)CiQ]IONY"WkeFlP7yn훹%|&Ρ0tH|*s =hP\>1֥$uUX"S#/ DỸG_R_}HaI QimL |8 E}2)Sk%ޫR{ʗs<^اY4\J(D278*S tnWmxxF)ZNkKf毶6<@q+, ?16O55gҲUjFAhK緹PjY~$`:ԍ:.?s EY߇~/bW)#BfѴV۪5qmkUlz1aSv%Z?/2 ʵS-B jtaTKes[T=m v#G(~^lCX0>O6%F\l;_z]W^z:Kb_5Bd@"hxc]ݺRɥjlTCh{!/]Z1bq<}=0`汸w_F*=Ze GWrJ{^y [')MzL\L1`t gCuh˽;z5lN++A((K+⃘@dfd%H*wը& "R$H5q: |hKsQ:֠ɺD HH.(1s*N%'Dtc{9/z2/cL ʖ[(j=Kf) `>~ω}0 `:Q鍑H̫Q5S+~yj%=!߭˯nߑnGmۗnp~䧽+li茸QoE+e˕F\rjޯ8"Rfih=='tD^rspAPБ%#,T'.#TlN:JBʠe$Du{X tuB$B9NAQU\f0 n`GGa!vXA=M1wqBC@ CBv.zAp?V¥n /x#Rʔ,!3¸΃>g9]u&o)[("RhTBTwz$}*CMi]u{ _gTc9ٺ3/HB ɘqv@@8'B)F-%K*dD3Y՛|-zO) äd+W4<Iƍ(U D<03N c)7,H!̫zCcol12zvlHl;Ї = 59:z9pJv07|@攽M >P̫#I${Eߙrn/"i+]c7Ƈm|>/=xsϮUZk{]!_g_73G96F9r3NsqTgl9KQ㶁4ע:B|+t/ߊHhrG5oP͇2NUK@uYp۫tF-dV(4!AP30(k\LǤhl{1 Ĝ0XZ~Nb6jN{Ӡƴ=Y  "3@Ỏ$acA%SSeVvW̚%V(xpԱL\:ջ~N~>s8:ȟKC`Ǽ^=JYz %w N[ӝmġ'Me1#{|FgěB&.#Cfa 3|˅{e"ccvMV'*N R:QipE-ۈ6AS *QIj,%$3Uq2dL+ `#k(8[.j.NwmЀݐE\2,19@l*u \%iJct 1p552IU-Օf6# rwٽkh{5渑EA疒l@aS I.F3PwQ?*~oSW#m .vtK*ͮw ??ww+*~\,n}S/?Q5K+S&y]Gî{k͉iDb"O,R=XD9nk" d&5S&o?PμZook>bSV,}߻RSnWZO9qg^|Ueϯh*Trs{ m+eGHT8fEN\ Th"n))N$x#Tt$nFSYCAQDXVa=Np(lv"$ SŪ+*bM쵺ǧEN(eGzRK3R!4Űs SP`Jk`D Eh̝Rx33%{YXS|sYڍx7~<qVtPJ~)_Wi@|p{lUR[׷Wi^&wfWUYJU]fŊi9-v%Sݦ3vt^.fE19dTz {)MBf\*GTXrB2KydB!D FJ/!qI:}D {=dپmZh3Y0!^\pL($n]%(tub3l5 gltPzgJ1+nyt,Vo~ԁ#$2ᳬ@*QZlD5U ٪FSR罽.n45oxlJu%SBRQcO9ӆ {%Qə:s׻߼6}vZ^|d!Pv,DG;`6Jmξ7aӏ>}][]b7 *MBT)$]:p\H^ ƚA\7@7'9 *%Q1Z?}ybݍǵ_SKV깟.S%IBFxJ}k*<()]d ^InXBsR ] Z1E@A-Fex]9= q.Gݚy;4Hc?}Qg{=@){ؽ,ZnE4sqmr W =jwbe19p@>MP3WP RN{XL\&Hk%iƟX '/\QSJUT7eKg'|Z#Ů}xiI/ %;)F P]ۀ($E XKATd|ٹ]W[uU>uꬎν[v=VTq_wX>6׫wlIB{v A_ hz;g, Lah^j0!D.Ƞ69_];3XRqj<PV;I*r?U_Hä,"$ s3\F\S5IY"[K!O/yJl?}V>:b[eEs/R}]kb?3άۦӀBjQU]) ]3\j‰;ְy2zu+la?Euf=Kckίgg:=+;,>ڨp18SrűfQ,dSo \"8s OggS7#I#f>%2;EBA=-./%=;;EG697::>?D?AB!Ѷ^Ȩ tW6w+0Vl(V aH2Jj^oėӪpHFa v~΂R .IkM%/ T6 6&l›a쭏eByQ抐Hsb ˦}C$3Ǜ2 ޾Et-g=U)_OkYm̐nd2NmϯOTxjҍGh$G Al-yW2ʮ;\+RÞBzz3ORtZ2H)XzfGeK'c$!'r".If昙go_1Mk⬇u]?m:pB,EKߟjIsY~[T=Wv/6[vDrq𤫺wL~ȳV 3`?iM^ {S귽; |Q q</a)nS~7qq*'@5#1 c &A :"pnD}0w`A2;1 _KȱPx1{DQ{FG]Al6WpYBj?ZMrm5`O8m0=qR{ɋ!hz-jTv8}k7:&BD1ǧWSψɜ 3 -w>q pf[쮀ӽjNHh4*߃(O.U$Un}$KWh`Q*ՑQ>pHe { @h6`=qwɼc0C5@Q4#kn}JsDnn#%1YEG\W1ze & &r@c\5a1Y?I82^wP;a 'W^u0 ŀ YhH(, Nʻ^ʔ)?Gw7{5/xiu9חwJ_Ή$~r}˔=vdǧz%i&w#T lṿWQС}/[O.ڽ߯~0i&\o;e{T3m|߿͍Y01 [~3 DdRKJTTK&HD[ͧ7А/}q`{L17u-=vu>bl8%"N?RHb"N)5ޱ>+Mw=zK,6p;#0s<#L8P#`{c B<I25J)eBֿ^t& OōdHON)ՑnZΧ$/KE>)4zO9m-(u8xKJc/m'ttoi*CyWmζ[h#K9k{S\uYɉ\`JL8+FoO2I h̸Y!qa#@ nN,-K)lTKofKZ߀b]3FP1s _SMߺzb(n];O#wJZx)0eЃE` X@aL"ӹUtIt,N٘3[_xcKcn":4 Z0!+TxKCI:I(} ͫU<˖%ͫ&t; %%EH5(b6Tؘ.6)W߯3W#5֬92-խpX-'F0F1>$)TȵJ[W@}Sh[̟{BR"ѫqbKs\j^)>7omWdSۤ3Z Q4 "\ˇ1@S@̩t*VJ4ղ;\ѵ7xN"XSOm*{l h M / [RiC3JRbY6gVӖg|:uA9ãd<K߿ Pz3w+J˼֫9Ӵj{;[5 zT_%O@w$B,a < '`<`jƔ2eVh?Ph$g~|s΁6,͖Ӓ2U 6&]Dn27-,QU3Z]ddFbwqe;@{\6nZɏxb():bdR-;D=-'6J@]@FR BLA@Yc# yHRq  "H-0}yńBKi-)XOBM$GuelZ:~3 4!Ve!F4`ߎs \ f̔[km<1%$5ŋN(0NoZG5,UBiuz > ӭbSW"f_KY[bF`n$az[瘍 Q-UO=vB\RȢFf+eQbcwIKlUF8dX꜐C iلnef䥘jbk g %& $ <+Hcӄ3&(3S&⁋u7i&<6܎pQnG`|Ӵ_n*TPYTT?j8m ;XJH#3oB~3Z78XޤMkWU=SUu" 'F kun1m3D 3LBbKم1̱ڂ & DyΰC5HJ@C .)H,8&HOggS8#I$G!7:=;@GEM:6SD/49/";=7<=Af!I[/XN/Ÿl5sw*T "ܰ6} F''t:kA[éVe]?jϳ۔sGF֯z~_jNڒVa<ˬC\J{@HqtQ&ԉizmNMxf\ld6iljߏ-|4QWpLTAOohIVSTIқaq_H;?wrտ 6`Tڦ$Hpv;eTJ^nCϏ:5N2CsԦ u{o6BސY\W' N 7_zDq$~(&P"mvyb]W٘1UZӿGY.]R_ Dhʜ0/RLͦVJ3e.:l₩N=<|M>7W)Gosr20fg՜7MMiv(0Pދ|1::9xz&j'aQ.L%3?nT*{7~v/_$=}wgtqy 딀ʌbn<ߪGF*YΌ4Q)Q/}գtwO=ܧT~MҶֺ%U~eb^QX7'E QـUY-#mnK5%&DLjH%zu|V"]AQ=c"#y*-Þ9=96 M9;hRڱUx 7`9cYX@i/`^kӕD55f6j;}q qumsAYf"$=ű}K! Px׼)r_C[sw8g2܋)wqqh jW{_ػW<ѩg3_l`W=.tn^3 ыTj"T?c2=ܾH>첌,4gZ;>r!oku6]sp{@;r3ö.o5#b'sT&^9X7{v޽GB t0&٦08S{!ziR4bSdʦ?E./7fue^:nmv7mHƓigNtWӕuA }@O{FgfTll3dV^V9Ƞ.GRC%fr9Y9k{_tViӵsʽ%:+ { m$MLܤjDdN_>&&ܡeEu5婬͊:mf*];炪B.kߩ!CfxQҮ,sgخkQ0;6,"w˜-s-Ք&5FZ Zzxrw~oojSb*Wy ^ηld:00Oަ=t8L][nmW"?cFST!mLl|{cv K5sTE:*a: c4{ UT*¥9ia!7Y8rW3JY>PVkۭۭ$aqkYy^*GO}Upii_.^Yhsw\yc(~Jke?:,V1ب^_ YvSɍ&*2؍>t9I-ճ.šҔvYq3r)/"l%6I:ӭe>yP>ꚌnRkš.j1soد[W]Wrƭd?3}$0Lcef^XMl64XϬ5kέ1CvYw~IԹTz()RSӍ?Q7|&lތRcU.*n?,w{ >ٹ,iU$Ct)fTP"'](qf^Rϧr9mSgew 6p#@p]JBYu<˿Pt(lMkiK6sW_sxr,'cs(Qާ 1Q7 U^u)3q-,g׺U_zw0tb˘F(ѵ,fѬ]?VaZϋ~ߙ(מf{Ard mOggS-8#I%ZJ*:CH?DAADGD9%"D;9<>:@B@EJ=;:<=:@A>#ny bicAg쫪JYa{g}ҟa^l1>)N\ҼfTJV~?0cSU70Gjgo kzm}( g,:ICdZƆf_I2[[z=o_lj1 cY y-gs'#h%5ޑ+Do{0Vrݟ6tҦ9@3fm]?{'aJ fVuu֞mgVS۬ɛJ)fKVh*ͯL{Pޒʙ26{Ktَf{v[ ٫f|~'YƞVn9 =@7]JUmO,dÖ :lTݶvZ%h=oS: e55++>NӶ!]̗[tH>5z+ƾTٞٶmtwUe{oۘYtB8%bO2 NU XOP|ygdY>xO]juw~;O~jje,@Dѭ)"@9`S*ofja,~ykE\~FNrڶӜxpߓ6vkY{z베i[+DY"6FQxMJ y*1{6Izmg/tufTq1vMTѝz̚5fK sY"(; CZfwCS!!!`؈*!R1ΐh53{7#)zګ:4xӽ6Әj,ZY3LF5ĸ>: q3E=3)ˣ}q>!-N{m' 쉽Gܝ$$5e&\^T~~\ھs>.7SJ6D0켣،Wko{T2{q* #B\C9禦ZRޯ?u=P*ۉ\/jHBϣ dRO*֣Gj%)7=q)dܝ󰝡g@o^GVpW@ T(F H"w9)2NLc1d^kњiʴfQ$煁i5p0؄dE,$7yj i$Y( Ip,R333e*_8ދ$R(}R֣پUz~Kq,w=]O{hQ(ţ猀V2 Y: 1[zvAxURm19rmB*s-`n˦~k3>gMOq3KN"qQ]>7YG7T dlE իYZ.  L߳Mxk@yS dX9IJ.p(2eJ~Wimfw?ϪtCv3}r}`ޓas~Ou-:JD(H)A6vsӊf2y&O%{qβD]OIY~MtH6nѮ+qd vwwJ9}tFwnnJwNņowXxSFӅ5=, zLfo=?>c13nw6l3dn.WV@7OYn.fCz ٣d!_cЪ\ma>Ey.keOܼtxRUeV&@/pnYzSvﱬ\B23W\[wsϩaDC^Oc[we{zlY#zvUm;^N|oۦ{ ٞ+ ]ULIlܹ4Sj,f:C.33R#W5#?9wvDʯ95-IobC#Ec;P?GŖ\ʸ56iY2J,!RZ7ϏVIiSy~L^{[67MR<ՆE*>tk1Rao\ԗ)=vVՌU(u)lJ !)LѲS}&iSčďfuTW6mwJJfdjK!- *T9Ed6⌎48 ګVh٨KTfmʻy?jaI-3 3Y-&]Cs_v sÛŧEo}t]=k-6'r*|f]w`;qB$]ʯlI#]$9%SSP|pyڭm{^3Ķfft6#C0QZZ0ke+6!%J3ˀ0d*UuYm{{ouWfmۨ^]c"1E: ݹLiRҍ0XHQnENh3ٽ۴{,۽ZUZ+-,\Jה%rL(} w ¯^Qe]3[,/ԯ!񖭷gO_o˭sK&Ho :E8@_PI!K{sm_QeJRVp'^l7R 2OG[w㑤1b6 $jm,?brYyv^5A:(ΊF&/6_bXR'E5FOR*b(f{J97R䶨F@"mdf]V+j=n)KrL076c;敝0j?Xl[;GӰ+uFӔz ׾BPvT~5jnh`ƴ=fko`%r0[Eω%%箄BP(jВ<0Mʪ-Ju! +?uevyj[޲)Qr 5R*4RF^\ 4f͹|_f+s9|e2sH J02D2̭\tȸ,l׆qT }(% f |u[ շOny*2J{mƼ}1DaJ;֧,ǼDKts&T?}F=3kU&f{ zφ1/CY!Vj̈́~`,/5!2]? .ew[ km4kA j>{kkޗ!> +TQ$V7fՕ7U L a >k=ty#zIUc ?H4sbbLzY[O2=k=aЕBTH}qgos͔*%V~+u\l2'EMFƯJ?UYCm*kZK(G/Ǣ'g0ts҅.;u S*r;;>\-߯Ÿ]q=ؽUhkߠz2ul]^m;^y8|^0=/\zUDu>;w>8kX.8dJTþ(!.Jj9'e6dm{inxx9P !js0<JLoA[k:ƔRf5vԴzy21xkݥ}ͯ3&t8BkmgmCoep`ѦMF4{M*>]R.շ2*kpkv r{8<;C?IBE>,?7@9;9:<;;AP35:@F@>c k"#|(HqpvIN^y+IL23Sm`Gv=/bUg'wz<Tc<}ʼ}T3@MމYOȭ?pđ|~t +m-m#NWh*w̪ Q)8s^\er쭍馺g#=;{{qO|㎻6ve/t$fb  hy聁0XP_'y>B.*Gמ°8aZ,՜-ru6'w&LVL(%ݠ6c&gp$*0[=SՑH]q4X2V-C*vV_{#P|:s;6 Uk;8V&.}?qwfmTG¯=*e푱ZHC-{g t2'N@Eo?RGK-ɱZG>/[{k~oOvw yZٲhlҊ.q(>A]&Q0Nr۱ҤzȾж]VS꥕iftULdaS8Z(y ղԘ2I͵0R}Pw;kUZliocۿm{o۶M1H1$*5Y\E'x7j+U50rQʖot<4ޚ5[k[kkݼl"W"$XNSYȀ.EflWmR#8Dwum jZӚzSjE F )D_[Y7cϦF CxV۝p% /.i$qӫU$l5dvryݙQH"6ɸDVZEtFRs&MOmyOB~?ʹtuzZ^VB##Knx3L)\fdF5KG*.*ӋfF.O$rKu6%ֽ<8Bdq% xuٰ ѹ]d#" ȀLQV۾:zNcۆZ41H 7'$~luvXZ+;M0@ߐ ]Sl1 ,Nx3׼*^JD1l5_MWɳW 0U.u)Syev1J3)-V")LWv&rDlҚH *uQ9#|S'gP⨂2act59(q@M(+mU.WrjPLapCnu qв"NYq:! 3+$šc9gG@I1/BOm 0XV5I2c8i,386b/ ~\ {8e4#*o%lkr_]X)5JM,{bN~z9,?x17,19t"C\djdוLW2rHvW4UK'- U]GT{^u3Wx.o—j ,Q5IAuSNtQ s׵)Usțրv:NBU9lD&R&6+m'vOfJSe@C ,Z; ^xc1P0Y{ ;̉ƒnƄ3w~Lņy@WhVaidbCǂϼwzy@wL2&ye8R#z7m~LR/zȣK^]'ɶ??ls߮tޥya3**K.#pmΟ17+vF$aәP8 Aux~1f1)k!j9TwCV"EѐrF'+,ans(hQ.V@q )L^Yp57 a浳1~n`i(\.TmbX%`#iJ4@Vֵ>x$#Ij 8P,ó5{r2j!R/q5# fMg3۽5H_ͻr\ުH`>s'#n+țV<7wu(>wK<~GoϘ^@u+ݙa]oMya"!I| "xYjl2'.J'e rgkcu3IM%1Z[B) lV>@3Xwy<ݕO,9`Kg.F ի)ܪmj P)}^p*ɬJ\JlƆoft_R ]Ak\ 9hQ>%e;D CTb'˱gϊMzYS}95^9PhA_[ Q$u{OD1S:k)fZlnXMF)PϨF2EEn*M@%j)jZ9#|hߣ롣>5°?& T\, ?=>gfgmQ*M_՞grTtY:g bƈbmu8q *%_ҵPZ_uZ-gyIXѡ%%A }:1,(rPaTR2T}3v]|y˚M7+\dNL}V/qW;Fv2ZwKUe6uW]̶Ͷeuu5h&Oz NgNk1B4%Gix~߿|.-5>qo{X= %2ISB^jOIxbgOha`73SfS&S|?7YƵtiyN8٢:ZDxN!mEB^#TVHe|y0i:h#<\PY;:OLrCWͰ0t~?-{0A&QN²J]2\~gɲr* v,{GnI-ٯ7R&G7כI,s_(MNmg# qĭEf?g9:dc8;=䩱aZ)p{y rT_ћi͆А.lKt~Lt4!>70Tظf*ό}'}TqQu} ĺb4؉"9@V75cp|T큜X@a,5ɭ8@OggS8#I'똪%!!)FDBCC0*/-?JG>=:<><==I?ET!{!R>jwcdOgg3c\ MVC#!ul5XaHO3 'Gxmy3Vf6ƾ1D3o$up@t:\l~gݎuSЃZɨӎ%.("?c6f'a[]%wdn9 Ⱦ'ұ[lJHf=.ctגbՒ,ceєCY% ΤK$'SCķ|TJMp@9'`3 b=0-f[FG- ~W7&['a.@ڛN6E fP)`3S}_,snۗCfzu:=fəo=z.Qy)Lc W8I&>` [~ͨmərENRk4j 7+uf]|n>OO)N!ם&ǎ O(+ֹTv"3 ]C3>8;T.I]u۝PYZ5|H3 < aj,hVJ) U  Sz*#Ɠ!59F ,׌z=lbQV0Yf}9'zp^sv8ySd}}3_ Q(+VUU6k[fl7dݡDsНVVܳK6~n[i1fe]޳mtض[ET~(iiu( ` H:*y6, nBtm[W{{Vj*bKH)o$8!:o&L@4^#LwdHT2~zYMֺvwXl5kEDN"BNRQ`gxZi^M*Zyh#۬~f+7fѹNcJ2aW2ޤ.D$Wݸ 9G$Yπsɱ6 …L܆,SH#Pwymd/}{r/$#p`OMI90cljJD~(jfe O 3A`^2lB+{%;ߟzY}$kV[J5w'7P6;Q~kq +umũ)UͮR 1mSEgPDZQ1r}RN=sp JvRv cq$Wˡe%7=plLvˍi4#g2;fu#1! Fn9 ,0e/`pd`ڸܛ.fveЪ4\ұIW qiJd0]٣0Hä:U/ؗk^ި1SV??֏ЪG֩ Gv_yב;u vjNʱ7lb8㖗cͧ66 ts%A L`&UuֿC?qϚW]05{ګs6K9%4PU߁U]a6I.}Uf.[JKGTЙbڍv|G7Nҧwe䪽]J5uv0sb`'˚W" nLJ$[gW ӕi p|4 JD ($"W`dO>꼪,nmӞu{+76!+Q*Fh3Ҋ@NڕPdk=q Lfj]iBrZuڦ=gku8?o_zl --^xݐT)}'7XIϷR܋q};C>t&: .!2WH{Y&Ct.Yδ]DZIYF2 (!9. LFNUѝIؖ.ѹژ\Vd%lEH@ @Sg;v'(x]C~ Eo`}) ftG3?q>]t, aC.lv4khoj<5Ą͞LP)闼4KJ^P+Vr (V#oшLk9&-ES"! _7n230IVt_7ٍx6&omp߳AnIꨦkJZP Y7:0sBFeR2KuPrma0-$W%@hWc]uȵ|F1ʔ5Wx~qkϗf?=ݯe2?p~of?cHrZ~Mozz-]h.55sM(wʰߜrōvEEl:*>j53sYf5q[WDq;͚ňb0LDUȜM9їiK +!GDuD TY*yu!fH+@ d3DnA_oz놭^EvDKp3[gPw,0OggS8#I(.#><8CDGAF9?AG?CHF:+~llJH ]TiV…UDސ2 ksV)`1S+?2V˝خy},ߛ7qա]ngx*JxMm ΧțRL^}vy5MjnYlHLw7~⎝!:=ҷ)x g# 2JI.K''R(O:V )tXpnlW5IIsC!\p{Y*&F/yPF+ofz[,xq׍@VY+FWQ,3x^%\5g(bbtsgur\.ef~Enx]v:b^=={O$du_Ag`%<ƨ{3mVTroBf̶U/tn|*wsujg쫔3LLwvy[t)DuBq7:NeQ9)1T.a"FFNBC.#C3;Kyw G.w $\G)( .TҶcyx6 @,kaBkve X6&!ɍΣYm..#.9TM,( b} ^X֬ekuW_9xD*[:Zi41rm?pݥO=%Z.HߖN^"۠  2KL'*Aj1c/IaC'OŮ(HHbqm6kfl=tY-4u@VJ2KBa_c$I?eNJT5c(16u]],6_C69 %M)A?|ƙjWm%DZwWvR*{{d"t{z':x{Q]' hU%yW]23~m vz[l Z+: ً@I(,RS H;1>nZgwT#PSyLcSyə7_ m'~m逸7ڰM}bݑnC4^+af .=~z#+>Qo*ٙ{S*"F~'V1ˆyv7RX7.Q16cAIİ(sם8ՑAl4rTkgӚH~<3#JE)gK5t iJ ddy'3zU:H!D:91cL"(Y$X2VcӬ#4 B>9we夐J RuR^,{ fl&e_65Yct3s tu>Gr=6)fry~onw y#NRs{&R=\q-r>yJ[0"њ.S9w=螽܉50z,N3jrxsN)CcJץjk^$3jxp\}}~=ֳ~ vt+k:QU#Qk>w,w'4#YR6FVJckꬭAS9ې};Φ{׷z{9:_wq L,W 7|3Q]nh=k2, Wltt>ݺҾZc80gՑ!UuZe,{|?n)9 9 8dB0(5g_f4L3vͪ0{~*l3B'tEp*@d@3{&K&)2e_pkzz77^n2->p?~<ק4S|WoW-YNzW֏EDPۦe3忊gc8q,ׄ RʄD̜;gKkWԻ;ry^kԽsHMgM{_Ew%ڛ{ ܅xT]U:_&&h䛞;Իn`W|PןsroGƚZ8ڍ d]8z 6M.@@Vxtl ϙ>r)t  73cfeV4}*?zI}K{5GZiNjK1ίc@7£ ioPޟw4 6JYoO+n.=gnzd:6{]|uΗrJ7!'s[ a)w͙)=N LZB)mhFU H*L?m a vHڷMDE^3.;(cfʬ~Y~p~n6Ooc0Nm"֮Ӝ~^;c\3 I/jNEZ5i$G-'w~ק}g -;ݚv=[O?Ԫ"sN\EDݪ-+=yFH'YzLgl)Х˄lNo 98_82{\{fv~ɛgh>y}1[fdjέW$YS-Ha˪RdvLFK SԈ})eD&Dt~r*:D:i ;fv؟l8^[33SJHic,0xӿ*qSW4GGVX~?S-0^{;YJLa6'Yn }quԽufOlƳOxzsU;8sOf/ލ7ʥʴg= &cn4M/7pqK9]v'/Ng*JL66ViqcT 93BJw$1wQ]bkr7\;ڽ a75UPKP~ɢ| !@` ?ZwwIin{ו$jTMٮĊU*s;$;cէ\g&3m(=V9q-IxJ DG@wn'bh]v+[S_[(` !ǣ?UyKwرSvލI[kJ0Q#&\{%tvVI_cq6Y5p3 7{3hZw nKԹym쿌K/Tm`4 \3@ޘH`\F8&4'$y͈6 y='Q~JEߟ{]O2$7Ŷ:*3kt5=]q9]UӇbJ(sg{ ѹV3-uO`.ZuyMf?h{>Dj' joNt/{ ЊJ̉N9iglZf'\B36Pӱfb1WT}n_{G*4 ,OggS8#I)G,,E:;>@HGC=@ELE:*3:98=8BC@JH9<9;;>CF>g%@48tj`Sih3|`O8[0FQ6׊̅#V;! .b {?N޲m5xojl_kEWb~ގ¾ϩڎ>~TjV7O8F2D'<9Wy?JtWr}!|oVZrԿq[#5TT:}2uY5ƒT'ܼJwWVoowٙƑ3OMi TTd}|>-Hy2iabd.s|;{1LԨC}XZKVZ  9 <Ĵxf s//UawjJ=W\81Z&H[n`0Xkշ_*=Z6c]] V'm e!g1ZXЛT!&sf_wG|>[oL³5{vlv=.g V#dzRtN_TBn2c>ZΛio'=/ޔ,qlNTy3 犕u*ɐz 5A3t;G>Xת6nVU6 p ?CDD@d9RBdO:76f7kֵݖ݌[3ibF[gS2J.W_*QV*^OV{_d$-s՞gE]o)yoRZNN$— FxAnϺ;$*sVN%soL3ha|+mm۶m.6b\ׄ !4GQ d~ :N] Uj 8\;&vM`YH8XT/؋z*.(wZʸ2`y ,͖)@C[̓XQ )@,GᝃԻ0lk3IJ r\כW FHڍpv,t֪-1{|Pw %-u;t2Th! Ю!Zhuti.aTcvOIKyb:;R…M5ۛjbzwzW.ELI)UX|%7q*,!z𳾔NDua'YSEA>׌%DW0rαLuh@ށq]` -`pPJSp6ʄ*X %8yRQΊ) ebcX3e"I}+ t8߬&418%u|\xxxU~akK MjѧPolwJ{U-][!v꺍%.J씲LR䭅~wv4Q_ȜrOBMޛ[ʦ5Qr2n.WܬPUܔ 3/gg["U֍pfzW2:f-XcW|ۊ|]:EܠeJfؖ cWKNa%\9R-(dBVgOěaE`C(| wh,q9jO!32j{ݟ8hfK-LN*`/hE;[%Q۫^^Qj}7u}m$f2"u鵠V*TݾU-1R[êž^7*DVKV'+2!gڪ!$l/KTZqR:.re+oܚ4D:K^,&<2aPCt$ JT9WމG9X ~tb 4>S)((*M7#B_RI'CRR!.KW){oeLoڛnrdeB豨S Sp{ǸVMPH VIj)M\/z-ZNkN[3lHQ̮E'O;_e˕bV_߬1*Ni^SK[we[ZuDt_Ii"0Ǘt'@¯|Mk*|z ZHeneM^Vό&w)=\K-r9)h;Js@XExݧ{Yvt)p%QJ)[`|??7-<}iMOjap}6w>VO^˭5Xw|f^t6Kr'mIL"E#ջYZ^-(Vm.R!52Yykmjӭ d Rw辸]=˜*Vo!3OSsOP~?+VJeו'b|B+ ;lER3W.8fEF̱X3Y18b|z|HX$}j]16מkoS_{-66M= \\#k)б.ly \= cb%G;7qu2ȰuK޽vkލ_IM=ŷzˬXC\B VliJYi"cop*0:%׌*+[+{Odƙr_)ɟ6vkۮO:ǛAdd=qYyygl!1ʫս Vn'T7(h]TV)AcC5,b'PgyF=C6ݬ*+s+wn*Ӛp n"kOܕ1hbRܸy=efFf[`lTP):ZOggS9#I*\S(H%D<<=EBDBC;6=;7:C@E.'5EI069:?>XtVtjd;,צez c0 >cf\3l偀^t]a6x8ޫ}\ A!7f~- U*Ic1 ZpT2JY?'sohwyV|w߷^e oM^FE уYХAĶI8Wr tu:gu}^}n]LOnf+X9j]IsSm[؞PZQpcD/v':c:O}8YVV㴭q~d]EկD2 R 6M!G,fYो I&SWW(qɃݐD,ٓsQ˻MsW .-չC(lN`FekozЯl[bcȍ;ktR0j(X7{8(v6og]cemk͸|8Ʈf[bH`y r.K r_]wlk?Z5}K% dsTF9խCX9fEe{!OS bhadm7Ϟ~VnΚE<:lWz9!K'IE`kzUTB/80|~mk.-yUn=צ5{{:V N]3$:i>OC۲]V?557T.r\޴Uz\lOX;-FB<;29侹).(xI_v.z\p̌1Z u}[^W[g;7WFj:.·.ic0˷\]{Sr?k+k(a ݋+펊8rlj+F\䴽b&]s/܆g+ ȐDR ((&5 Z^:)t5.end!8AF>RB0$(6m8J:47A?[6SiŠR ̌3LoY7+ĥn V_Wv٦_fq]HV qĢYq@icTZs<&vPF]Dn~5g53`敖`Ծ-~R)UdLD12(EDU;z"nAR4$iPYBPZ;ڙչ .ިM+ף5Ru)L4Ѣ߽λ*9E |j mAdt-u"IdX$T7+}̌K/f=tSRq3̮(V*[9$XCpՈ #ׁe)3Y0h'"0*e 4 V{XE l+T*"ChD [T3! , 0IW[EE1kiDZeܪJJ@$pp=] ȸDz@EFQ(r_L4V xW7 ׾zFx.s~8v%E $uB]K0 oct't[KfG5LE M$iVUۭf5[h 6@k=+h4)ҰY]0;V Ь*HKtnfۧ& R, ChJN5ޯ !)D }0 "~Q^YHS0146$IBS/9eGvC*ƻ;XgiYCפ}R%=nq2=Q_`ZxV3Y|6^@LzJw ۱}7s/ 6>3/q/" ZTȑS{qRuDnN[I-+ C.Ҝ(FVr6ըnLBr d2$xսt#@~?4i]n*1w.4CջSmeo]{k?5B4 r zO6|ӊ*yg8s߽6cGez$&}Y_Y15dMe5t|w]W:t2cn4פ䣻Hjiﭧ)F!ˋ(ޝ|n ҵᾰ](oM Ӷܱ5 vBpTW^#L}paR_ ҈S N9@Xn K=K 8V)-9*S@Pvj,U/Ih&4>J B[r&?6лGسt0 '^BF pA]^.CVu y: QD:ܿr">ۋ4yk[zc$J"1Ve*y85(G )ɯT*SǮyTEȼ3'?w>&b\ ]tЇ̨d!q(@Ŕ$!T3w2Bj!g;{g-{MZk[3{lV؇jjoyR4&bKv~ij9'OggSO9#I+$ET% /8HADE:%)3>:BEH/=8?A:;CCF* sHyJul}D4H 4c=H\׫Re$ NuT15OlcsOҮ3܇ "ևűԻVS\iXhK2eK•ͷ=5{+ xS5Cj[m)+7+ڲ0y6}>tpUje LV@o9np>w`S13]>bW s Vtg0#Ianmc`>[:@(^+C{QaRRQ2 U޺@ Rj)3 _IFkdn7?1qQgf [8籠B4q/Q~1MaӒB [%@te.m#h JcU۶OTِ[Dpy++p~&gQ8el3SsJu.OEi-P nn f= :r޻]ai 8{( $*&6.(WfD UQՎu/4uՌYYwu_*T;oO~xAFIg[leUD] JZq>w!O{" :wC#n,qxe_L b\C\ K uNvGtS0ŝܺ+#!72s"yOMaF f-:b&_hzyqHٷ,g4֙pݩHC ~ǰ:W4;ӗsg.1 v&ּqו7Pq},1GC@2͍aV>ZK2j<o3.#J6_7ՎNXVIx&W[;lʤJ0"S'vQX;ObT?Ʃo[ZOd&c~#"I@%}7ΨtD&ҩsS)HFwD}T͹ c4[*wUaSl5vSkqJG w}^*u嶮R-餚NtC +]0Y7 Tbr %w2S/HM42Ph{,?ӶbM2je2ˬϭCeWDZopX ) KGгO["Wx3󞕕MhdAH_oF(nID:rWkvywlP\Uۭ~g{cxUITX` ܸ}rD]Jhk}3j RsMF"4ܼob,d8"#M{"tzFNReLM,eX8E 0{" `d b,lP}uw4EAbR(JHd>ڊ (SZ< u͓TL?=pmB.!_l㉑l8ܺ>此ޮJNnU\v1ޖa;<TaK?Pw[r^ڋ{TA?>Mte7IW*na)']F281{ݙлQc0'K z4'*R( Xp[rNBUNQ-Dn3SSXRC%͏{Sg%sz̽$]j%D.WfñtR|*K.E﫢~TWL:FV'V%.dޕ9+ }VVێW#Ÿ`BT+v7]8ʬT :fncK}ZzJ$ldc-hH Xxk/$;cCczDuQnٝo zD2wjx{;kL MqTz@GDB@"~?cdKfaLk}Cλi֮KmW}YýޮXD'MزuoaYUQ nV_>{vf""g?6lT>'za?Rts.󪚭z(E Naf;Ynis8{+S: e0Fe/vNpfc) }fH S)@PZצ qا@zknh4Fn;]Y#Fw)ug+OMe:7`4JHeXDN4}h- D^q]w "3?m唲->jm[^9"sމ[DFJ+%Tº~9|_,>[ոySKuw߰7i?am* d&'\E8Z,;9ONH `d)bKTb0"i6*ob{54=6e:;ps H[Z=NED+J%n+QS*vSzW{ʉ,YT1l+.j*v0s91!:Er\-|ݻ21,CYkv7kH E0rno%#WwL|7EvtD`)ȍnK9Q:2DShɜNĒtYCŏR\p}BO$rDf84Au ĥ1c*4-z1 xA+;/@{¢5˞ԫ  V+9.e>"K`鿰ޯ(%SF)4yEMkS+ma0w dִN 7\vuu=_($svkTw&~<흜J&f&9{oHY>Y Y='IزUvl7#D*JTɕ7;XiXZ0֍!PO5ʴEB@X|'ՒQlx_WA;o]\4k8kZy>kE(CWmW5"w1s%m^fA!Ꙁ_^ 9scz~(|JeR%TɎ\U]E&;lM T"'@;Q?CEFB0ӭsk 69qT!?] `~?6!K!jRc2,{kL5A:7_L;vu_|>em](3uxa.WZ:L&Tt%՞ B>Br#1+%J+D5.2h] #B\lqr+DzqpR ' _/ t utXJQa |!*UGdS8,uNWn `ۗ2"yh zK>ex{3=po4(0vI`V)@%Th"6BPD9m ./p](3S&_.oۻ;qƞYN{̙8>wo8 )iF5_0>[觊-Kߡ7xEi7 QHmfJUtM Nj㬨Ikw]tyHi P-9tF>1*1DitBQqKWGf(WwE奓(J7헺vc"=Ŕ4BDXD"`f;W`X77E/0f_[]f\d͎y56G`̜P.itr#}%q\6uDuTȺ3Vd;5- 4 &'~%W 6Sm:(j1\"E2JDЋlt);%h(h Q) =fuxö5T 62:YkR nzд(]1_u.ӺzoݯSzkݒ<ʮ&>O(hlcyݽ_~yJ+"&lm׶nIۨbӳ*yKjidj\GtpS@h .ߑ9ľ}ONoK7u(u۶i֮{c2dOu @[}k PB?"Aw̮P<sߢbo(|Zך3L[s[5xR5HIZwkL1]5jjTQZ> ]_L.W1} }-;5X/j$Df6aSsLtORYc]ibK~ʳe^eyWDxXܜx0w9or#[ޥdwjC^+3Ɍli՝vpsunP̝!63o+߱]z=q;nb\9.ebMnL˫ݓ*,@MWg9>Y<3w&rvQ$ea74`XRueND 6}jj( zvB,XUe-!&}m}ګ.b+]3e53T?;yp2adLf}씻ǺQYt:(M߉p#nz{)]b̸8[?~>"Gaw!<˥z;si2 Wޕ/tjrbVmL7)sWa{s7:μLx(?mlsY퉼 lI.GFHl69+F9R&&DzguVW+A]|f,dôn$sy- ` ^wQ*xFpUJİMiY@5<01{jRJ~oi9pdw:?;__=_yDttyMF/+D jm6P9li/wm9ǩ Rg{Y B՝AL`GE=(cŻ}4A4z|̕}S˦ҥF*s8hmoD=#igv j9`=`( ce 2bD!G%)C96i 2WxjJI&,~?t/?G~wKs7*&7щW}Dӕ绻p ך<3&rJEՑ7#]Gr}q)B@}r̥4g'}j`C>Dʞ8;1cs9nWu3nU4 զ14 gn Œ5m-@tK-`NfW1 g2NA1LE"iӪXT \Sc63337K'v%uƗ/$2n1/ߕ wuFՆ:웷 dWWGPܜzJw{#_yq={1vUFkxpf0ϣ<3pc,\fCj$ }Z$y7:Fl<3[=n|UqUf"K(+kޮR3ɾ/&cOF͔tySFO|.ξǭeZa#VKoeMf1T#պ\6{986.g_Cyŀtv*Cd6a$@:E*@]d/"퓹iRཙQUeb8א6S߶m>Ӿ)K/6pnKnlO#Zo-:b^?sl;ѣ9ZE;. 9dJUYnwj}Xf{J{'w9;;^;f*gi犟fvZl[WeVnkVpD;_S(Cco޲*nw zk!E2QD^=2↓ 0yNb;޽7&D;R(lb8P 23 2V ;xoۤv\SzKUM$ĎUEB"@qou &8Bo"tyk#]ou6n)ɳ Tm BT^pM*)z[`|xa|{U%JUoe &ma[8i,߯NϚlH/kؑη F671mS/'*w>=Rkeu]ܓxrJ#aFi b3bC~eP[R{>RDR(8HX"z6mViw(oggn~c~muH7ӆlXjiʚWfvw~(`MCj~Kl8vF]hEG>{|`a)g"QkGA/&(Joenώ[df)3uoW(#s^>}=c'>\\bxgޗۘ:~w7+ytrO^jd3O===62Օk'4t4)RN腀(yy^h~ܖ՗[1}̵Twͭ_8QEYK1DEUWs~)*+fM˂44@xyGHX&^gUUl{edmM [N_aiؚUrKLb#>ݡx$#H'1LkŽwm׏2ҷຮ7ORc6}`͐晵C36ѓnw| u{B 9 Qo; | ̐Tk=> @Rn=͂fܖ"mJ飸F+eW{KҀ7ˆ*;rW.f?qS:;eg9tD+gܣg^}OggS9#I-.0"2=<7BECB?BDIB;:6<8FB,6;;:7;;7ABGAB:<;20k/y݄{Gk`zV0M -Z3F`( Ղ"`#gCJ*۩ӓ r4mmg+g)?o$$l"%']ru.yZF=vW_C!뛩/}i"纂p ݟ .t|&4ygz*&khlO&x1dl'kX&OVWaѳ0X X>ȷǭ^o1=*5iW.c;_D]ٕM^p6w@}[^nV_Wrb+<}(\uGVΨsN} \˓qFxj*VNM6[A"5@R"{/Fs{1$ȕPW"+3%/^fcƅ&nY< ?t0Wc\bS)X1:n ֙Xn 3ؤjPA7uv/‹{!I^Ie6~}DW^/|ss=0sR?*吸νC"RubMbP|Oݹ77We1TJ3i-d[oVGbk;V.݈ue{rJ^9gmN 5#/P2IOR[O=6a&a>ணqnzjWBT*A1#gm#IYLB@)~."H7H#+2nMȠTX@u|X+܄d0!i,Q k>wApeAFA8̰&ȡ+)NMNǐ/4뽹)>*ViliY`kߜ[%tGX$]=n]RojY, i^J{#xfz{\e"R: I(Dk fRLSD5v'(DXխ>1fk'KHF |ց–h)zr_!MU]{WIt^',(lRˍ@7d E/Ν2j\VǓeûL5jt+ڊI@7>`;։{زZ+ _V_nmo5nMM-y;yP@ڛEGfiĞjXlmᤧ_ղq2j>^䞴cYiDg\;*Fcw{TTΎ@Q.6 vuqOqMyg=؏8gKRc.:Ӈ͉ o. =)0|W Uo_S/fx*ۄn{άlSi)Y2װ޵`{Sc6+׆s?O13 Bl`aP un@Y% &"" oo3&wQ33ef&whT+41I3iR4L׶rwC?v?odC_j+di^Uؕqn>]jΉdYN23oLXӳf 1JwtvM$3F9FԟIW\RD_Ywr8]M}I>!X5ϝi7AJzh0s3Wo"wvYsٝ8W8ߵkq&MuF&kc&ۥy_0m߹+޶DlBc$.+,Kg`"aZ ,ǥՅ~{>>?ЮZֿQmkbuBuR78b4YJ &R?EQ2kē]h[H6._.B;7*@@o>qKQmMz>dav7}|Rݠ6 M,IHv;MORPeLSry+fY" lR.guaXfX,|q1cV_͔{Eu/jnmjVX RuvQؤ\&:S(7gv2 SH͓,>W^Ԙܞ-ے9R\&5F`;]HrG47<6:w؈myLZɞ3|j5R7I6tbKE XLk QFQyWśrwUnJoTuW۶mj-t *uABjtNtnWkcϔRj^n_kY-^'DWRn)oԧs¼f]m 5Sӓq^$ WKobmD ULW|6# ܂(TF@c^x"쫨HC y]9Ll^]Y[.6=Ri] |rcaHuj L=IOyȤJ!e:>u74'+WO9|ka,tY<\ K pVJ`]n-pHLaJKL9UOgoJ7g]SOggS@9#I.#:;EBDBC-S;:CABDQ533*;BG9 tb",TxDsT.{_r~22Ot!%J "%˖PөN2," g$AIE쫢81GvsqU`?4o*ϘBX&_jcM?;.7^qz_2v!L\ۮk{mֶj  nod(ŋv?_VP}oXRv5Lon,[mXm]OebTd^(1>@)vJ+lRŪ0o'/I%UhJNJݡV~0swVjz$;@ʴ<RD{`$ Nm|SX;PcfjT"oçjwq5.]wxڷnX[LKwDl}<jU;̮,Y:EbTvz8ӖڌIz iDŞZldU>lJ3|#|?j]8)%j pLV9EbAsqU(`g,U ?}m 7n# EV}pRpKH ۂ~Z+V/m68hapaUt&@6\ \ #DL5Rqc u0S3TU] <8wc;~C^<%S2kO=wu솤}`j9st xΫT͆i{b} fb>Q >=ޤ[ 0lt8TeޱUe;En=T| Sr|z(iQ_t3Y:EbU^h=g"zey^cPuҥR H^Dxozik ޛjThҤvg6ݥ7R_ƴ/%i>d&Yƒm\k>"w[<"1wZ{y4 κ+,޹#tw2ru%bXW"3,U-4\)ojc0 4*`%Z86no+r"+Ju +TV\ڸꄍ#QM^ \58&c4  PhJf#Af@x8l1e,JubHC3O:If9A\)|X^IX/[:~ bms5secZ//O/k$o7N?u昏7LolV\4.gDW,y}3'+B"GLV礁GKk>Qb[g6+K@ԥQ gĔf;sˬ 8ސX\?TZJW72dn7ȍ\,+GHQ졙SR)s vQ P$ڶy,j a0560m% fbG;nn `~ ?#!z<@'Zpj$yam5?=8b, 7/Q3J^eS]֦~##*$L~M%;[iEkqhQEU7-Ǽ;d?'PvߘlP~ܥ$0;*!p=Qf\gd96ZH4cb+ddM V*Y$8*=lzăIYIRëe`!kH.q7 @n b5`+r0\&7wpt,( ~ࢠt%eQLCzr4med}$@`f05);B+M)3~K>98ͩ ~뜊a~GUB{3uY;o<2r *4n/WT_zs/6'ڻĹsqWTA\n_٩NPIS\DH)4T[Q@np'!v " 8ޓ DH%,x{e4 ;gQ(\&P[:cܰ7 0UEGD;k$#!t_°t/llR*3ۭtr<=Y61C3~Y=7u+Wуxx~=I$V.2KYZ".娖ce9[$$}ڑܺeoJ64=zjgybP-NFLvUyz?x!<!rNT=:E>Uȍ`FS2pK26xISz,$v:]Z쇗TF\TGosqjG,)5ַ|*3CM̸^9^PZC%5kK޼t;z0Տm(D`$_iRCN*I\-XEMpLd(Қ? 5yyG r׹5ecl50tnit;7dN]bVtUpI "$`~ hMK*y""C$8zmެيmacoYj!"]K 2 qzPw<9,&f_ H)`(B3c$Bm]v4A|4vvfCzP(>\`ȏRږ ҽe@ of2y"U2tnqn?laǕ߮x gysu0nݿ^y"]]e8sq3JdUd~o/_go"cVڄ}򻓕6W~vSvܶʉ>{I}ܨ8")wik)uyFk /Te|=$We2K`޼,v#ԿqTUR捘JưuW_Uƽn_OV;On QkNeͺnYbZhr'bLՕ %NgW!2M xˉa Ctu :WXN$~<W$A>(\(H|OggS:#I/2R&2>:A?-:CA?BB(/0*CBG7;<;:<9&`жT{ ЋQ0{F ,'VPց3 BƮH*3^Y GPrW~+?vcE}x2V/nlFTVu$ȀΖeU7Z6 hU*{'Eٮٷ7{T"@^Nw~[`v&fie wyQT]VW[+*znXZk`-^dVVA-:JV6}a6FRQ\Mq0˷mf)F-;jNS)|"Do-((OOyoƦpyiL]үvSV<~& >Q=?}u5IkRI 屟w=@>U׌ Õ[8śG9MfC4̰Q? pɇŘ^V^'wDAd\dKe@O@˒@5r.0fiPK5-Dn,Qb I9=H7t&ԍܜi   }@ڳh;8@zjly Y "23+@JjÙS[S=tY}q|(O8 "d[9-B/egEr`dž}&`HtiL#\pycɘژY>p(LFa VC,D5'@kDB/QQ"3F<˴plY_vjգY:uYR0UԢ/.Nߴ6twgoYa۶e/d:KYqաD oR|:PkjZRGKmoQuMmoocU[ zcN,7'@[?QX~mP%bF%3zv::zˌS(, cU+@4VXR>R2+q92M7$5ĩVN"C 7;l>e7Za0ސ+sxDy`Rƴl^{rPеz2C %ZfU'@2~^S'_-HrSJ)}w^WikO×Ni3R>t ~P׼kt \+=}ASrYU{B-uL7y>g!~4%G1E{Faj컫U4Kn~U3Ě<\ڇ\Wo\r 09r>q}[itQKI:8.,q 8מ)hh`"2px7{tat'g꼞={@rg@;W^ fT}F imѱن))Z_(f9T۷Nus;Ur9NfzlOR 'gS6툹JrWu\?Q|OS?[y+i6ַV[".h-bp{^.-W oz2tnvn:rbf,D%DdUp.Xi)O2$p Bn 7k2Kmxg4O*g)]pbyS'S,Zomcˆ4 V4Q4ED,8 Bz{%emd)Sf?䋟:NR_|z|U9C&I:ctD!*=[ ڷq][kOwPK6<]gWͺVMTzuf~ W(lA}gʓ3oJPͳfY %]l↭T)0s\.ViQw Op( Օ:Ju&RLT*I6ٔ`g2%GII*Rt ȭɚY3[^gT[ݾwnj kp|0sR"h$3dN$U$UiR~TjN {7ef-{<H@cytٮ,NweiQR(Dy [(i-0;=W.vNcJ[r;SVI%!H]E{:s! 33l~3 qq3O?}]vZӴy}—$#w){w~TOˮ7gDPkOF5RnF.uŖJ'#+uNY\td"f#JdBvF:vkq!h\槞Bf>QVI6d³XimQ $J2(A:"D|f2rG U0Y=n SgKWq-}{`!(֘m꼛=J1e'#У,rjRhKee7S-{SGA&QWEbS-[~>|Fh0zdk1Ϭ.iu #Ђ,JM_?I,%\f%U~`fvK5V894܏C$%BByP]FчJbY!i]z]-"EVWd|yOggSA:#I0oI2 :DFE?-D::@DFFR=?@Q76;pG &{E.SdmOg19M!Bv4O36R?vrY[AtdJ 7l͞O hVeR,V٢TYQcϢJ5zl#{O+Xe@ #&I aʸ(޻d7Fr] aܫRyJ :414,SP'@?"LW(nwIU}oۻmñgx bP}HW蔪V3@~*gܹW7̔3URTle%7 7$7xT6ד7}z%~e'nnܛA//e lqwĜromyי)?yςq#=b<')_lQRnSmbt>wVFFi&,SpNnRMNF \)>xA v0 f n6=@2>\m2)]J%qIe!"0\Ȧ0_%$wn6eP3=g7bzq) ޳`*LR__Qv_5z҉Tio=ݬLOMܟ]'Qk渏}f B֩^zq6dЀ]5AwGi=R*cHՉ[O&뻥- frJ1.]MٙRD5&de2`JW&{!b3MzOGx^`1G1_.'`cs gݰF)j*1`L!R75lF ZnnfSV`n5Uk2 @u`̹JdЖֹE'5tݺ.eO+`~21ɗ"ټ־~߲ڭZ=MmYnzn<ډ@FDWL "U>kB۬GMԓW5%[? zl|ZOㇱvxŻsڻ;⴯-ǝ;6&;rյtܭUfzJOz#)pp ^!+n4,5%x>wvN$'HwCľz'}ՎU1eJlu.;ݱLqSQDSء9v9r&TҝR"R,>'ږTv(471:㪬P~ٖSs&ƠY:bV軫+BdV ͘_Xyitѷ += P:N> ^0 /H9wk߱x:Ldo^?gg[DK9OO:[u|=5J*Λ0#4WWhݭ`0p/?wQ+>vDo)scO^n;UR:U{WV zr+{Â6(Bdʋ*ҌKR.הޥp.WDk~fUJ)tKz/ܶTܜ(Vc[&iKĚP;C챆9ɖnb3f9u˰# ʀ!&S7` Zl02"AYba@yO}pߺ]@<\1U5YezjYc:?XsS7㼯aZqU 7s7woZefvJ#"-k9PAe?ʨsͪtF52>\wV+9kp'ɤؽvI.-xWUw}{6vV H/|L, ML׋[+kG0YR`T:\t0HV-53=z"y!!\ҬP5q[44i[~XXo755jԨL+{g6sدs|۰G<@f$ !gMW~e_^wsV">V|Ŕa eQ*n"n-F[]JӬv,UeN@w՘ڌΖ3/XLd+ݷ_ d=rm3O 䂕$9IDʮl 0`8a@lJJ~Yi|JW{ש>;Ru[-ԯvFm/־!o]w*>7Q;ePV*Q6Ԗh=SuwB϶.]H;:~1Dz!H7.RiƼ V(_ݾ=ѸDl2O>M{<='~vUݟ}.SCWKT=o2AFINMFq % ǁcun'\-ߧ!Ҥ6?]ݩkQ&h[zZ02^~!cgYJ_3ێv6ք#6w4*cFf-SOggSp:#I1'(4,C98?==?IEFHDDEF.)49886;BY<&U7YijrV@RXh_@i.@Lq/N[̼lTO$1]d&@Ej>O%׈!niN-츨le{eJY%[F'wjShL27ϽwDR\ Y\+Q` gmҌN`Vc^zz^4/}eve74]nfa-v{ x4N_05ҵ:9CrYæڪ$Y ȡGP 4.~{8֮xkZ* I̔R+'\Gac}]_yUjYg57Wqǽ #L֖ww'K㉿QjTrͧxovcj\Ƅ4Q╆Owػ!;$O,ftVL3h4N}XI7'{dd{>aUG~~۲RVA-= SpLm540L5~>7N=Z g6M &ho:ٍ̾vJ0RR'-ꢱLx>ktM ͭ*jVRus[3ߦmǟ3* lVjs<SV(9ޕY6մaeu?V K͜T/ܞyilcR)uNroy�wYcy?IdjUg!%Zt>[0vݭnlo2 (<' O v 45>n(4?;sUq:.ܿ");L-֊ڒ njéP#ʨgGZry"sϜ9oe{[2NXSdKbl .E.@Vx as;2׵zzIMmkxmnjjcݾpIJP{IP;ҍ3z?]DU4H CH3u7rV]:m]6o-znl d>`Sk~@g<#*r-W]̌VLvWVE޶[ZZtZObًyCw_HAd0 m%pfax1M\vd0 (bqC­1N@O3:َ+\aqArX6 H+I1K`†af[AVKnI O+I{mWMK#-2ĴȮ`pECu՝{ܺ@5a+ɨ}?1#!oVttl\EK7 ort+ֈ ӯ΅=zzroN BfLTb(6R<{ =uQrƉj 6JZ`f0nkpC{MZkMS9QlfOw49Z/]=8++^P;+@&)i P8l$jFP=lD \eDco̮~8Q]盤jy+P TfX3%Xo>6nQovxϕW{в^)V]M7\Ni닋gVtGܦ˥t@:QvEEk{"~:G\cR-+ܓq{Fv{{'θ'[>F\isÆw l=,Υ\P;E](0eA$*/ʛ5Vj̔V=p0&W_ɽV]`4rSURm6{C4 `;Rt7AѬWjFav.uj.f嶝hݯZz͸Z%60I0;;DfQbIr+Uzjvv"e=ުMjoQ:5$mLkNokTgy OD+!H PFW:8^|؊voT{[sI2KeZ] z zAoSnx\UJIJe>&;}IFoR=.n}VP6w<3Zqv*oxcsW5sUJt]s"#+l77-LG6t+r+w{(W-wUٳ6@c]{*Fuq)clW<N v&3ƭBNJYZΟv9: CޅmFeq! ](hHXkiD(̽;U7^leZ~ss1`Ue)OggS:#I2$)<<;<;DBJA A;;9ABDO?L:8NBB3C879DD 1aԣO+zПKG"$+HRn]>߭(nill>borq(.b1u I-4{TH?>1s~{iɍzv ks5j%JjJ:3(ßdzt*YHuK*Vr2Uzs(TtF+o{QAoF!o:ʄBF*j6+˖(ЀV#@ӊEMbo91*1F&7؜Cvwg;S- 뜫\A>К@+_ u+LGrdGKԹI7<.o3{K{e QBF˺ _Iʊ}7Vx[iP*O%q㝵KjzxkՋ%U Y';=m&J J Lv_?mRr*7~^t5qilA 5e) KvF)H!eO <'@2#QjJU_54/QƻSX#}|tJAeoFN>g}| ǹ(k_]XnmWSi}܊RMv7>؍۵[}jB~]qH]sϳwWn 3t(W=3J T乃WyVJ˗@ŬۙiTUcPs.' zj/ +{e6zC&ƻ.3o۩BG*@ܟkp$++.F7%iBV<}~S/'\g}$ͫZް&zVVq\_r'_@Vٜtwi|bQ{Q(#oqtK+ҩz ]:F+S gNS}Y/SKF0*w4-+,\z;fLnͻ-wjnߥ[hZcrVxXtN 14:R0k^PB*"D237>^clTa;_=l8 R$E*?O)tydÛ rR+m^-5R< R *g ⟪_+c~[UZ_365vl<I_vX@x[cLi f[o4|GMok]I}mooi,5)":a^>_gոdbabqZ om]hsLMVgzXiM*Ȑ @\WTϨ])lؓنgJmfo6{o[W-cM # k(^ Z&{NeM;$ D@ \h;RtvoK=lN|ˎaZ+sH@]1 &(#ez~윸[dklo+z׾T p՗-g5}>~_S㛘EIj/v,S.&X Yvr!Z%X 3 SW~nPIYi 6JmH)KFqS%[Oڮ$bIjͮʱ0X.`سXWH>Ig*Ռ%YH VDEnVr䡀9ԍ7]NiEX1Ja9#_XsܹPo'G P` kURPYoEfg(R&ާwn$ʓy(zyxG6#C]f2Z,v#9a~'Qv||ǿ?OM7( )TeT.X!v<(0#BKT cJ Zi;B TiJqm"ϽjaHff&ʑBW(F+#C%2TrI883՛Ȉ QD7d8fnѹ>Dt,ZZZXF,f6{3v2 @θK߅Г;4bm1.x30.5*A]A L1 j';]H;2K^n3e̢V-?A!hjӻ+u97s&^_3zfR&)ԯԠkRqdn㋽THṹ_~YR^M{`Z5w5Ğь vW1 /퉆QWuJJn<%thtu~=eyٛR乬ګ2AfXQ] \"M͞zUL(~=ڹӞvfOOv?w2aGR<4:|!׼nfo:멓滜{nO۝JJ%ԏd1 oF L#/٩Rk ōֱCV'KDQ%M{>i*oV和j&r+ 3,,+4Ĩ(/vrhEv,kދei,w^|7$3 W^db* R¼Gy)*}QTp.0EbLTM2eʲ (g{_N>Ysί5|vg}ŏQνt\Tȷ~z>מ~=)jǓ Cdj{v^D(G(l KPQg'Rڃ%ōOvf-ꔕ.ܥmॣ4JK}qf% 62S$ĞՌp5_"Z)(ukat/ VACzL対CFf0wSD!cE)6 ΡU,s!*d QYܮdF9 fVIvsc'N7858m0L[9ۭ'\TAE /1X$>}_uU}՜z{IOPJr|΍Hr?hrX.?"lKBJǘp{;7}hi\uͽ(hAtnݦ2rDOaAnrM^ pGNlBwB -CV)S1kcͰ 7ho?3d<[T.e&l:9)n<IʙVNT[ɓyU{UbԒnߙn”.cІHj].𗃍R-ՖIr&p6ఽkE˜)ԠT,i _ &ͅ:M~-UEmo_g]5x%!S^|y'[v].R~D5lm ^6}_Yʔ^ZR<)B~CW̍l7YeM.,+s۳{++{Ea2[Mmc Z[S.C> 60"`[,ۍ*^y33e#1evY{pHϰ |~̧>q潯>w^뢶DEݽ͗l{ ]EyM5+9t:=MIEAڽܕZHؼL|ոj†҆EOOػިK„TM42Vf6ǟ}7bQ #EU;$DtJRWj`cV.g 9.+ʢ-\I]OggS:#I3+4=$3-:9:B@"7A@65,-,8<;HB<5@k'O6g]/2&6ٴ?oІ60wB^oLjdNbzCm#)&Xp1%1%Hfn9y;~4Zm#[ yTO9m#X~K6T~w$'4 JQ!o=CmT37c3w5.S;j ) id;2Dr}]s$)%QѤ! q( ,n" Ь@_ puBljm CZb$4\}v U^ <߷[jȼ4%,@1=xP\"UuRİa<лt:ʚjA-lCyxOVhQMfvޖusEj(_ 8jGuv츐x"p4EBp nKU*΄T"+Ty买5[1mUmWkH^7Ž{#xvVqBei~zCEHȻZ~|mWikm{7~W~/nI"Ԡ:`AFj"5\W ],#^Ķ~Lf+z)9Z*57]Kl@( '|HC Ą)SmW/g>L^{}\v5JnQe%]離sϫ.jc%%Jh5N?MK& mUڜRsnt-Ͽ;06|9fڥ[xa'On[n~ W&ޕs̩AHew.w7QdG,X(U0:2Jf:a C-T8 K CD )w׍̻ꑂ<#u8Y )73(3S'0ݭlESmMnnNT)lDT./CYB xvm;4(ϓ94;:cgfuf"j7Qݹ[#-uI@ۭW鉬nlR3qYgeӹ6o_jz_ʜW~'F[ Ѩ 5G,AsY" 76ZUȻm b[r=30VJ pg&Ԏe@" ee "TGi+ڦ gey؝ԸH혆8*"S`5E5t܌̐;S0;SKe,*!{;[>"SiD՚frm%NufS{zOpNF[u~zs7k͓uC'blVَwp`ޚQD5b&i@x5\ Nus5rz./' jE3dVCHJ+U ]DFGYB.dϫy25` J034tgCEFhz,~?he=)E:s$ž*Xv5f]ue׻nL T "E)X4p %SF}0YJ+]C$im=~[1Lz˅&pZ.:m+"@MhbxTzpܭ{Gh澖|slcC 4ocyevF.ܺ7v2v-W&.""@ѭ"!KŸ;F%'rU{+f]M6:iDvΧ]Q QMRL?ɧponDu[l$}LWmQF/jsO;0~䭐D Kd U\)JBV\)yٺm=&_7L̔f+G,j|+%N4,mJ 5g:N jdGK. 6{aEI\/:&?ԥ.磓[7Wm b|L1.geJZZhQ9ZI]Qs{ww;45THJ㓑o\͛qv:\۔ytx Ddwn]JLits0nP>LmsN M(-PL&1YΥOhr>TH -Z,Bz2g%fz-lcuЉ{Ӿ7x( 0^~2Abf쌶\Z'sxxo!- yoLʔQv̐zQ0[Fv#f4\G_U^P#Id$UtT֫wWoWl^T\TRӮ0yg{A}sZфRQ{κ6pupԫZ\~FvWS} ڕD{hh.t 6j*w&f *Lm8e )$cL;)G&a;u{m@ml=Uf`ڽp%e3F^+(UuBJWmjݍ 2L1sC"zjLe4b9gq~ Ι{Qp*Sg q FuNȷY^C$ԞͻL}g2{:a;hU(YdNveicK͈-ܵVA5sCyЦ2j󠶡򚓫?-U *7 8s>z6cݡ Yz1H 4}w v:ډ+}c{+=Nţ!ީjޅ܈)c jn^ϔY 4i*q^/Sv}do^NΚp>~rnn;l%ͮzb$z.Av(!#]/}fKJb21m#W׻9:Gx{R/[WnuTe{'oȭlzvE֫+GԴ˥y ?/YZְBpV T >a_#Q L*$#RO 0@c+muYhtطBnƮ1,f\֙pn3trw짞 8GDcƩ j6vm?a5L$/ʿī+ݏm[~%Mכi6fFb=T11y@<˅8>-xjr&bpk*tYH7I0В X0E}Zɞ=r5GR\H>ތt7JL.cbU[,6#jNn-^QRՍr{nW}W̛{[ilԎr;;ceRCVz'r(B+['X" 4dfԔ)%)y{$E gcF'׋+-ºϸ$ɫG2EC>İ;g1I=JCKvJtS6q[zPFV?q`W\Od%{oF4,w??rNvٌvq)nό!HӼN0aٮ&t[BB/&t.BeG6Ĭ ,j2!$ C2k ,jCЛ\"5~  广{ SbN u @X&JMqQp7Cm魞8 OggS;#I42'#:<:A?;@CJ: 2<쫍!Ӷ\*_ή)]%P4ھiQ0ʮA*:Ff]gӿnK~YioFE׫~89ĻxX^ d{m9Y^[ò4U1TS)ugo.K==]6$ E!j, ?cW T]~O+݃yjlYdan-2)ɴxȊ2puC}sKTFKItEl@n]O\g3N9^]՟u3FIF[e],Sd L/HvIu UL4V,,%>O\!3w2sķZ*nT" !Cf9n% ?hp.E!fW5O>hHOԧjdd?r={y'Rٍ-l'q=O|lx=Ĩ/"m76WP2sӪMWmsjIzK3M{3G$I^Pq733ݮK5F.'o8WDNFx̒c5 gKD,c d%@0$7rnފ0p[k*sAoJ;IH /̝g725˿nC?1e/4ɒ`kn#[ c3B!S͘/P {wT+s\wOĹ',V2ĔRo&3茙Ng2\ܜ4U_sP;,1V.SG\9"#y1gL\AW.ƅ!-PyF[=*ۃS˱7dF& J2LKw9rb=-@f|#gh/ Np&5M/L@p7SJ@+RY_Qx]Vi#u8́Z0xxl}% ,7riӜ‘iT]w݇A-ݝu:147zoǙ,@\^G$gɞmBQ3՛8{M|/gssFj9~]3˷e͚㣸XDXڔιq{޺rDc4o.sOMIe=|DA9P>=zԔR~[=ĒH?DMwKTW#Kf3+17;:uGIωުHuIRfG{ [:Qc.>KSѤnVd_ FDNy~aJ6ng}ZW>9}ݟ|MWM8suOggS1;#I5*L/2;?@;H?@77BBCI?M9:9:CA2C9:=<;>8=]s99^C6ΖdHj*?ճˍQ-?Ekv kэ3me3-!oQ]Y=Ќ;clt"jJ*xdPtIYnQАfԘ'`nb̬^ wsޏq|OG@V^Sc_ƔjO=p,RwS|LGe7Oܞu**)Ov!z*Ub8{C4Md :`w*L+62ҭM:!0{QfosެiaծV.f#W rٝiQѠpz`,hFaoy6\ZmOUR3ob53e,Zߗ3Ƭy1ƥ 8p^L2E?[ch'6KKxb^rͨJ~{!v8ҧAz|0ch-WWo Hr|-} Sʶ?o"L%Cn7^=VXl|aja5j쇬10&F@`ܶw EA`PiN Q*=5oJfxMM;ʳ53ttigsч_ y>{EpNWz|bYr[-n/;٪󬹏6xޜWܹow^-,oLWOZU"8S7[U.`oecZ#^J&}I64 VIm(&^F;:'jCzZk* PZo xORp.A$ɝ].@2Prn0lB"QxZmW1.I1cJ bZwt3z+sWۧ)uI1=HB=v_٪ZzWpjNo~5JsvCE:kRy8]3DſMBVLGKŧt1*Vk3vrWcHB\kj)Pv U{"Ӿݎer Nƻ=>3eRn^VOn)gىRwy8ݳ : fLF 7 lghp֔-L7b87a#PT6KX$΃uU @?\ Q!3㝻5׶ۈmOs̞qC⽅U:Lt%ab9B=}o"\+:wWw9պtk6:huozZ-bA;J`p@?{qͥ_Cя_G-;ُؚ&5?BiS ]>E0Iݨ"9DgN7[vͻyղSΧ[LBJZM[ зm3+EΟJ! pC-/iʅuwe|e;wCꌚSedJ\w# zh.J^?% .iu[a?%=]EQSX F؅e1]d2v]zZknVkZݻyU j1V,9}Daʟͪ<.cf ͽJNJ}[B3r\Tj֐H&Tá1Z8Q4v&PVMbDTA颙R:j>tduDl1>D6=DVddpO)3úݣ4;[oY޻ܛ}{%X>Q{\Ngt RDi" Z5őQQZ̡Ev`͙nޤq(B4@|TJUسQBozj-,[s |Z mex@~¿#O_; KMJD->>R-gj6ڔ9L |UC>+"XUJG"rW_)iW/ͭMeYn|3 |!t74 u󐛝ILDTWN~ouiu^yyֻYeݲzk&\ZP3Vh5~Ȣ'l=JߩԅCIzqpR}Yj[m+fV^ D!rbޑ'&?$$/"Y~={"U 5jԔRf:? u{Oθ|ZN=^qǕ&ٍooM :g8nҢJ|^檯;DIֿX]>_9s'28i\k*D {W|JmܛO.X!TfZ\k x v[FZlsSПgF?3F=4mX-{Oer- ć*Tv'Y@C i`=%0abHL ,6w77`IjffOjj>BY!?sKv],o"nJwi\~H늢U>츪nfy&Vy*]oIﵦGDuzD[43%!s"^rcI{;q)ZyZ*ܭlgBdjh 7͟M8EBq 8gN)xf틳by.z?ȱGXcVQNXkݫ Y,o'=,Q8\dKf :SEo*G4zXi(*iwl)~ZdJvI!e),@_ܔTT) w=پTo2M17tFUy="mkחh|rz>ꜰ/_'=UU{L:)dy]KvV;RyϾ»,*į'^R^^{=}QjlYk6-EgZoOggS`;#I6'A?D>:;;=?;DBG?)I8<@?DAIB10*5=ҵ(~Hb$JLxۮױ/54MsۢJL9qO9$HzutܾxZ-JdY_ͶZnM2Ket@ީWX )3J3TM)Jz+NٳxUYJMRmͧT*wC6}-=)+~6čP: ջJt~VP5=tLv9"z2 V*)ƭ).LA!CuH)R;6nvuJ5|!|="ja01ـK<̪Go%2 vzO;WR}^픝:ir2ЁZ{W'<5#Js6lfr6hDns(%%Bc D|u(H-H/FkhŪE>Vm89e+ofe3}(mFL`,>ew+rO>ij۲L԰ns4EK Zn@jAYH&ٲMa2q)ZD=qUՉ>㝚kmŘ[1mc8mZ/ʠbFR)Q˘2}*wu>ٶ̌~aWMڕ ڤe2m-VcS@˺h+[M'A0VV^s7wKhojܪfVlSXgu˃jJrΟKǦ.~nze]wa6.^(rS?_觮GE<`4sFTBqY|{&ӫ6W׊]{Z| uݡXs*  gs)C^ews +3:iN+5K[z-b6uzȢ=+ ]7QNJ%YVf7Fm<9p]2fmr۞֮zm'+?1ymj#hX> }|R9@ꢽ0-}7wF\LYV_efCHayۋg޺utMnz(U'k3y"U [w<麑2F55VkvsonyY㛷{4p;̧rU>s%jܹ zkL>gf7]U;\ O>k*2 ^1rS,XYgBk{8hܰTCx1 9 i>79.E1,P[+Ubb̊K'*ivb30&Q3eV&o877d2btɻf[ dP@TR/u-У-m7pj&7}ܙ;B)^_ڑn-SlE[ 'k47þ[,mWyt@9E۝>@l_UJ+cF"]*ڬ&Iti3k,Ag׆7k==N[f@Do"X yoU:s}(4zIffL[mR$TCl18UHI{o{w Qۏ+װߥ0S{04%3*uO{zwWiq{]}29])Y_\SrBUjM!gESM%;:+%{ʟd.ya=&?cܯ%+Mu-n.uòFc5 ɕzf ȣ*6͞UNZR ,>|Pܔiq`[dϵdrY-sQ[ 7(JAp ,> 7,o\W(wl^qSӳ 1Y{پTIlb2ZY<0+\ZTd+Umu/dOĴh_kcy%g>qpEi @@n~R*c?[R}>fWT*>l rZfg~C=W$ơʼnʓū_._DzU}W6]$4bϱH7 "@/ݥ#֐U'zE_z֚6-mu4^?2&A&VW(?US"Z12'_{"y~m\Mmڲ7`"TƠad_$U]Ԕ*R y(jVwiZ[ca۫:;E*1莯LXm/"*^|^^%,oFdʦ,{\"~\%{WCvvfy]mL~abcWq}Qۣa:~S覇ȞNPH׆MpP'8Y9>NPP7tDas|aEJgM)l\Bq ҉= I*)S0lDCpݼT7~iR}@VP>cۆm>?s3>:S ,q?UN>ĢU0;i|@ߐ ABZQ3G͔Rc<rV?s:>zh{d7jz?_.Sv1CGW1prHY>/7%*ͺTIgLmzTn-Y&(y/;gc֖&zvOiBN+WVW,TXX2q*a#V|8:#r1HM,n;gꬤIYj`1}eiXyaLiz8 }nA8~c H7,J?IbcJA7;D)3yY:ڬCsȾWzO5;u?ki?]eCz$mvrT N̪ ﳩ\c.}~G97._i8<|t1PyPPtR#*ڑl'@c׎&˛67OXNiE>m:YU7teV"IH|27MHPaH[kܨYPa[1˭PLY`Q$L! Ty``lEA<>:ʹh R1el!?&PhLB$uMh lPgHk6WYzK(ZȿNyq!2߾[1;*'_{wv]$ӕjq_#6ttMF9ut6VB9 ΐsZJ۝X \)tJa :Bu Xa)D8 M2 / (J pQF[7jn7 = Dwh0k0(63g؇U$5rpiy w-Eh$U'qvnk cdqW":Vk+OK7 ٔڕQWvu&T־[ Q67sk)ǒ s5-yKLJ\b3Rwo|#!A^{\U8tQA+AmDDWqU2jl$sU&Hs$,`icѢ;Қ @xͰbWmaHd\ry݆%2xs8p@&.9ʸ!DHӰt7Ty+}Jcwaw}ĺmoE-J}AgV /".k߇˲D 033$Ln?MW<~2Z40NdfK6}Қ6߯W6KDJj;Ym`>mG>~y%?ģƶmY!T L(¦ Hpvj{S65Vf%gzΟ.t8Aᮩ,k_iIH-jVAyZޱ;9[jE;vʚ:a4E:UO@ي3)h=F͔2 s}?wRy#>%A +O \EnD\r;c/[S.-iN5e8UK}I*WڷͶ)&Wv3Dn]eD_t܈󺓩^.m'Gyҹl[xWrczhK[g@yb f}s1ܶ=qޯUѬLd7StU24 ʀ`YԌ*R@qPos\6/birta=xoYaG$B+u7&&ع$"Z1S(wM%6+*qkYw*WɎn|>rI9 ) Jɦk3FR&Y\=RKӮ4-zX֚Zc&%0Ԁ#d(wfmk⚫2PkSPaشw-G\6btm\ߕzŎ!h;[5ئ "CxS5Sc* y{&mHLfYj}[){p.^}r])*ε$c!Rv9:NFC?Wrg)νuQ6㩖lCԩlvRʸl"+ՙcMFVN',{!gSبF$"8&e Cy#\9:9M鐀#2=6!V|oő1嫤Cܨ.BL.J@DN /pdc*ôŶ%;C[ ,&:$n;T{p$X-.UI l53Ue& ,XcL|%'9JvBxagͣq[GUnRner+>]7|zmrS.LuWIu.L%]";561t]ވęmg!ްD( ť)\mFm \U&NkI@B3EB#xd" FȪCH @1FZo`-ZXY; -,3- l ڠ{܈t批4 G>l"EE2OBɓg3;۞\0HfP)9+Pd26۵t]7Ss2xgN4P=^XwtRCD5\r_1*Q}]V?r͗cj^Dc\(?>裱sqJ ܧkT&F.w6jܜ TD0+]['&4+Hֶcр-WB̭$Vo6~h;xR{s1V[.vġE|x; cuQ$oJ)dZ/kOkVfM~>ij6ZDX3CGHb%ڲ~rIwM!kKkFȹxW+= 6~7M%ըl _o₎N}[~!iip:4 P?OyݣEӜ%2aپ?DW\ @8g'A2`7rS1;b$djۂpE 8XB(2s >.NmKҷd-T| aNrd6G2M}/{ύȒyTtݟIq%QWɞgC/.ՉO]C Wl}>©W\yN\Gi澝bz8r{O_id%">=-ÕMO )MJ$ V{Eը bHP3k@NLa^nMG7Ʀ6au?q2֘?tOW[WV4+xD,]іi )(RP{3F;ܰfaʔ{~kCelX]g#S7ǒ:H f>mfGk],G֥tV!xz3[koZέ:3nʵ1/]d@񉩧3nؾ,ۛQ^!ݔm}ؾ=;#T]YT/|(˓VyXipFfA9*[O4OggS@;#I8p%FHI2<9@==?CBGO6-><7ADGg=>EL)L&8Cz*=xn>Ieۑ 7UB] urz1n.tguyb[N̡ jŮ"tR1tP7`7|AB Hm_fϯ%/cźD=6kouh] ud@ee۽N|Ԃ@T!š囫^l!zؽ^{vͶkf`:e+"H4L[IkAֳ um(,5ccLugq7Zz/Sөng$e/'N%=Ӳ^پ1fTT^ޫ}E `9˧DNd 3O Qj%\k\dW:e)CΜ2Q3lZ+W.s7ʕ+r-MCj)Z@TI (A %}@-{vObDH)\We!bn0y8U- 4{0;-n. 107iPeQT=8ze4}u `΍*TuFywnr2sC5虞v&1EH.˄Xg$ F AP^#OFrf,67*!V'2yf7YI"/"{lho<_7BWqk=tzckt4 2H]l,i|j4- _2,㧎V36Qv%@#=!+ S'3nc$ `?so b7NQ&/yO'K_Fq޼FQ $v㤐PPyɋݴ%d6(b"VެnŰ[u0eZ, ! ůb 6X|?vx.7#kNٵf36Ig꓌ B7u3C1b"FNYgV[okO4eYgEހ]Dܹgy1E䟟~+WBqs{ :h?}f% ^c޽ ձ70z> 2|Y;nQlL7+g6/LZC |3#F54mOE "*mz!($kzA|gv>>~ZwιO{彣1eeʲ}W~;^yt҅$OwViq%0 ח8cV.̻-EO?TسugzKȿH9鰢3V@ﻫ"jj(R@JߚVdyvx7E>?"3wZgNHP! ǂ$pISr:!Hbi\E E]8卐 :Đ91{kZ, @^d Z6nv,^63p.fuI$\{0LU`4O,!izAka-^rL2y,_+35&əXZⴊHv;8*ݏC=_^T:($ulCtL-ð?\}c#LUfnv^sQ/.VE/DCTpIj eZTvA6X8eD@K3X^tHsGunV5qJ a\ܧ&~ᝀ0 . X^fjڭ`1Q3uWk7VyTBEfJfnоLp, NL)3S*<'ZV+ee5e冣~"7{!nf% 38xuWv Qp`!D-5S~B{Je ̒6֧Hs>1L1Dj/0Cתac{io"GpJT7Q)j|(>T e]S+QFA"u&ojh-Dth=tbzFy&xM+X0 (lg8zыUeC>4ơeT$.mpǙbP.y5S3O2*SRv︟~INruҟsvnYw,k.Ij$~FO1oL%~1a t{㪹~!r.{v`Jo~<բ3m=LVt9´ M^z?kzJTDHejQ 2!qDKj1=8ǞOyb_A\[p;f?g R5{ @clf  Zk4qS^ FVX}֛8LQ :>jxE(LHޏyk97ofj&S+zo͕Z*ͦc-$oR}uFW^3qqѥrj#lvmn:]}vukn+ҖޛpSچJ=.Ŏ]e4gxnO&RSD b&fd:7kzV'z%دʑgrtUtk7Wѩ oyԣ"-VSI4(زL[l,3Y87`㜛? #' pT~$5H{A^; e{h)n~PzWͨUf0Vֿ ]V|p}Ϋ_T1 Fud鐗Sg]6g9hq8Tʇ3)Tb}?W9Z*o uonsvTGNEfW´B+ĖN+OJCV=i>{yL%sܩ41tl=Ӎ45sTmn{*l:mxqЦ^k[a޶EOggS;#I9֬R%>/=.(;;8;<;@B>BC?BCM31A8=6ZwIx5RC5\n"(1kGy/JfYxȘu9M@C~$i9 wrQB-KzgnkH,7cVLe(~mpyt'L{&8W-qKX5(.c'GmFwlLޑ93qq{,vCOh b7+US(g}#;ێ BLayjbMOݸGwӐlqk߭QϾ't}v:=[=?{} 4b/}v`egȌ+bBl3jAF)УB1yzPʥ2b{@!WSSI)5ʔ~@̩F~1gqetmn5[{k6C3v8k*Q}ٗd;.~ܥ^OW2lde)7Rk:RAW[^FGSz9*$ľu%YX48Ӣ{)/"X% Sgn&e-L;gcзUo/뇐ϼթ z<TfQVtڶ, S^,;;a-{oսbN cp3ok1l-p5p_1VtADzR3{ dά?AHmH]o9l*ڿ_+ :?G]Cl_̓ye;-] kLMؿſb|'ٮOAAμ?0bu1 Ւ;Igl3E\"$"pjE7a3+Rjߥ)-`A\.eO7SZ5n Ŝ 0QO)p&3iZX]Ӊ|'༰go H雄4\q !10Z@Fb Md:8bH feqg^:LScn{e*߿غ>ipjuן}lsP!{ѧ4*Bӕ n~ڝQvLOV+OWy?)UQJd胉0O5twݣO`Q],0)k^k@:N2Pv :4yM?7  Z(6qFg76@i;Wbwb易~b%Ox' Ye%.q:Y 62H;HAd@`E-/k- .5o$fR7: `ݞln3dXm^翽KoIs>TcZݬ͠˲.`֡8 /_Cs+0:Fݝ~\UmobkZ$"]V*f=qy _a5[|vNGF~^f{oܿ K:X$JȲ_6igI'.A/{1;ݻo>rG7*ݞ:EUP+R 0v^PQm{ۮ䶵۶Y{|NUˀb ~+  ,C%"<3TEu^m퍖vk-Zi=kB'&'u6uBt[# O,fcW˓KQkS޶omW fc/>Kb)Mm ZSta3JܵKyVj5VmͶYᄉZ 74Z;F!V?*Qx'2nmwFAWmfU(ESx@YnjcjJxt羝mtWp755Y({Zp.g3wn\qi ӯݫe'>dVQXkGruv @E$R@\hBZޅ+=Ρ(wUI`&hbbQsֹ嵦 mgŠs9(ֹ=k`ҷѰ[gqG_~e="9`amo{tchq(,|iKZ d"m͞SR&ϱZm}׺ui7=ο{YUMEneɶ<Ͳ>zAXEF_DZR|bX<|y-3~ͧۛm}S\?3گ'GwLW=;σJH;{z7N::#C;\be+xib,3*Mt5H|>h{>sfW>p)Sp3&j[{9gAځ9p ø  `)V5QalJʘE8żGL* E!N+u+ѭwT2·1x^j1`u=$`R;TɅCQB譜(|HnlOggS!<#I: '8=J@@E?9;8=9;GCH3C:c:,LI?6?CQc,js";պ\7w֦;Lma2#$"ϵD˫{d 9! A=8mKK릱qu6[5׿=r[;KUpS>hs Vrh@T{_'W;H3ofR%o}w~'1HG}m]W@pbؾբeRѦKt-Jǚ +vnNCuRfa[棔{{Sh"P&ʑnpM(ur'osK Tc]yN/O&s=%u]`PK;]I-{9b&4M,dP%i:'''l Fu:hq+pҸ1{4@7oQ*1R+`*$N 1>- @Z$Ø鲻&όңZO-뀚2̖̓u 5`r %rK)Nֽ[2#wκyY/SB0DE(È!"I+P,tE*Cy'>{sIfu YUξB#J$r *jwzИCS?yr>W~ֲYEUS8Z _)G EB 1T/u3.5yp6[5u;ĞV)bXTx[ ~c+k럮nk_-^F'KLARX1!tt"io5ӱ$?>BD{cwucu"lm M!aH=cdFOa~돻K?F+LaVfn \VQ(غt2.]b#yE$ oW?5nȾ1wgZ|k6/nl:bl>NzMj+h4O5׎T彙UVj䭕+ 3wt 櫙f;0ھ:̃a\;ɤWc~]pjkb g+o[zJ[S(}|&*pS撳UWzW~J0 &.g7YK;iKnV]%Ha'1v` Z%@(Jk0ئ;QPg@AC{A. hz/{? 'X~~(tl íH֚ܕ3lE@ /I23~ KZr^onjvʬeL7gé!x+խ~ޛF}>}lvn\+OݽrRt7 ;DzW;<t @"^tV{ԝ$z 9ޞEJPjA2)n^l"鮞_k(!1-@^i=0/ eex(Yc-gV*ˆ7!W6W/ EZ^s2Y},(3SJoeߍ N٭3ڇrvHoܕ~W~-K|%ft߯V2\{>˨V=:/=S*}=u巧kL~?*Og^^+=Vṣ2. ggTtǔoLꈾNsn󊷢Y YYtcײqbI,Dz45kf6rbqa)m `AanAcՠHT.u˩An.:F-0\a=̞j `y4%ʌޞ*ﮨ덺XqfÕCl$b(«$@%%g*l}?J~u-ugܢg|D,t6%!S= K} &*a,J\V#_yhϲmsۺ3z[N\ 1 rYDBo]#"ҷ 嬴2RY_gf_{=;b|K&!-S}:c%y{>J-F|xw(5S5eTarC yӗ[߸+>bY?hڍOj|Mq?aD2(>Å_ \A d,_cGœX{(0ԫD rv]o=^$lGrs'cjK*1'3R}==C;)U`:e={DY9"ÕcltuP*#1*iEd*H3Nٻfzn Q#n.@ZU>nUȩtq%& JWC"Hn1RH 3)TH64o Wi-5=0+2=y{L4a<yTf˹IaE",!m3K . v#]ۂs{yc$BY+4OotJ{\3V?ct/_%uQp4S $3?>Q׿*=wqXʽQ{gG:zc?cT$ iDn=pWæP6*#""t {!HX2J%i`@8V"Z9Q}bqTcUR¦QH.+r[Bn\HDx `Fy-4Z'̬_=&k E9ϹKM)<-]U<΢v8|\F m i7K@ J)3I{N\D|#=]`K̏ʈ=ݳAvF>jA1)` %JVY3YTm~݋s]z{q=?:KƗͻԕs4&Lq!s:J)+7 B S!X!D_J!*u7eB, ZIܶ>7DVba@^?qp6S"뵹ui8 'E2YbluZ]/ZQi5*#k `Y $ `jJ.¯֫`.^8}LÏ27'>/xJv DC4K5o}gvfm}?Q^J.bƱBn.oc;D'ˑ׻ M fuO% X]+;y H$ӢpI2;SђADD@x MJV1^JdKšu|"\@ G὆lX[,,*n:wHa OggSR<#I;S1 !CHB.2::B= :ABB:-*+3 `QfI \R EQX?c_$qX3jzjzUvɲb75'qYKfཞ8<4FK >L!7ly&`M$73ūz>=3O+kujE0Cwl#&m9VqҽwEy,kEID.9*r!E5n6U‘[@XYƃ.@K J-$DҀg =T%LLm^sϩ]7Ʌa D"㔄A *ZFzG^7/_K{el?9\V=*{{NZ]k1aE>؍"gu%TѕTL]+xG[پnpy}ڊ_IYBNjTgȻB4QR&o@Ԃo9,N->וr_{)KBO\(b&/!\WYh}*K)Eˇy^DoL?}!T ҆x T+oᱚD8tp^d Q Eݕ(WpM vcRN~y) AI;x%IÔV):uy˹k~\S6#s(]M.+Y)L:'FGюP7I8~rhщA-Q;P+7i=Jq2*Oe!﷚su"ctCk#^@=4 9_\ }g/ `0f< ˝fЀ@ABk5HiCV:z RJ_pQR8cOnŻf"LϠmp6W9IʌYX߽mlq->}jrߝ⺉w ;D|=2 _+ s;ZI̻c=z_Ҭyk?MgWI-~)d")R .Qjw#n:+OFybggN#{0$Zs;+ߔ1fF҈P/t]"H]@̱&SOYĢS}K<7eӑ.6kHfTω4]$n"Cn EB2{ Z~дmtv%Ok2Z4\\6lLY %9jx/L?ٍ]̼yjD^}S$/B{*to;[gh扊w5s̸v*7Q^>ՕV2x(n7o: pӼMODdFP=Kni*_EV\\t@79 L@*\5.g1̖+Fd`[ODFY\3JN*Tٍѐc[ꀄ4jxPi6~b,:6F'd-[+LPbx^(~[*0U=Ƞ\fe[Ciw؟6{#O)S*zY"b>b3;CA{ds=0R<ٞ;Q7Fk3OT;BO\0r"]GEb>8CRLqsDq 6%ve9@74 DV9*i>egi"{/r=&ҞbhC08">=r7] `e.32\6SK$OI P{)ތu8AvcX\ SX_ tnZ~_,-4$oUUY|+o ,wߎ΍\ٜ.Tط1N?7ǸOIgT^<. U\:cr}kwU/'z?_bo=g3ye׹HwƾݾUڕƦrŦ[^1o%TdgOlzXI][wSLyMa撉[9p ì,] H [10^DV[d9v) @0zIL7f78fŭfofě*3AOqà-PcKmP-rgJ .<5u2%\s/m7M^Jb_L6/_<{Dh.IqH6Eλhk*zk5f>7}slKwÕE3f`qdT(!>PN>q3ADDe@BAd8{a"|TOggS@<#I<n-I&@>;FH<:<=>>=DAFX'/=;Pn1WN?^}D2ex3-( t9c݀AJ@5ݦ=c BU*ކJݚC+OOTFkӝ!1(\"D ,Aa@L> :.)ݸX>cט{dbzN,B-َ:ip?.=tWAJ'ns>-ޔʫ_7)Maz9; fS4wt#&茏։7\==u_^$Pħ]~Zmp{3J['n+& f( o o_bZ\yz D୆ Hg_NTcy|& wZT&Ksc&Pvn>ͦy6WVfVpR4 =Zy!\nTi.2>QEVuGjYiD+"cId4Eu "#PmĉhE5%ss L}^<^p*65;z]ضǛBˆ e|4Nr"~KՈF bi|EK\9՝S?b:\n6A*11!EyS"y| ]Jku>̚ybW1d$8rd6d05Vg쎫u2>}7[jhlk]L"d0(b)ycڇEKRUT;(JQ5 =I,[#`@ºBj!3Eᔙ 5L $}«K:o>t^*ig:/+jV97F1'Ό%ʗ:N]LH*31"i]mJ"Ln^+ܼ M݊(ʶX73Iiܕs YifLsfvx?tEمLe䀑tm{J,nYz5BX1'\tHKW}W`BVhr2wɮ˅"ɋ󈵑kK}:2-.:ܐۧ8*=G t*r 3ΔS"C8\ElhefJnYK,WL?齙-(f"6%1T`R) Fnm/y/$C-؍XS7\ؾpV9\RcD$I\J @3`+8EE^h3ժOoo7nmkxEY6l92 6gp N>iKﲞ3,BՓ]]3vx4z Mths@%PrJV`a|t&񑿴i gh/w|n9zWs+wt)k5 x1:$j)5^Ǧ:CF$9muU==ZKyF3қ^gtV.Wj *Ny' gUI(xzɭ%@c6X]7fqh:߼LlΛM2ܐm '2+7}b7Lj2TuX~CdFg7yGcOi{]?1VYnVg\DN%Dɔ y/e}w{v9[4[i.s6뉶k*و!DwM\um Z/gsa6P qa[rYN~M3az7pw18Kgd$oH4Vz[ק-B\ޔͻFYXi>eqhn)]:/dq2l+.ҌiWUdTK,ǍnV?."j~LǫT$}.rٛ{n[/Q(tdوDA.jSwםCH`l"ln_nK׎7 {uI=m*NHAhHKugnJ»:͉2vRlVSTgQ>uY4GnQ7ӵѦw[szjoQw1YDl${Xs@a)q >gD\lQ:oP R$EJ& L&yL͌HGp{UJϲk:Β{s^RwyE7UO=-D==|:_{3vwmQE~MSf fsvL |fVwGg%7+z̚vMbFj|ӧ&~&zZCS{mrVtwT;Q+jt $==Nב)snmi- ,cMa K 788;<ѕf}fт2; T&Gcl6ay102o}dW`] 9&Zٲ.t :W@nƖV4\Pw# l4^1P MuFH{El#]RCʰ>km`IfԘZ=qpR>%w:}1v$KZ)`fg_5uUj;u|bؓpJf5ȴT#"liz5]:uϷ*Z1VN%#zKkq"U:Eq6I ޒsOA0өՎLH'Ii u9(/4ѫ YaKEn!i21̲[fmRt֌9][*um€, ?d{FH5Ɨ~1:!p,pͨ{bm U*9҃[MOe;x|f#=fhUbP*x+CLТ 9Jݬcظڀങ+!$B oLΏιyA?]9r}s*x& z^u9[6m{F͇^cx3>}aLZQ7rߡ;ё LOV<k_ @F^90>J-rvAͽ OIA0]-'e rc׵]MlJY߯_OV clY{w,ѝ*gͽg9^>^\cIw0~ )fFv$Ew'|`\fͻ}eo!o{@+ QpGOĖ[gVǯkoj<RcU"7.&;:FlV4e e cf0ҹp&4` HZd "0Ύї%G|o$L)Sp͛y~"`Ul'px]n|3MfF۳'3RNRg [ %oa#}DwɣfZToMT6YM1^=uS6Z$J`Y8Nt"fMSyDA梲+MZέfgkئn` ^TÒ `;I$%~SDS:=#wx{ڙU5/ViCFf4ȬSΈpؠea^+O> Zu5ۆTZ 9^T:,o*MЏن:>pB]MVgx8g&mm{{lۆV,L\Q7/:_>}Tڜ#oracJҕʲϻͽu,ܶF2t6bA- S,t&´TT;+Ͼ6UW-Kܿmo|V t(xYTCDͮ cjp-պ[:u{._Km92K+I-HaFvm葱Z6F^]ڭvx67a=ڪFoZo*`&P:{+ ·QU(ksT6bGܶݼ[k{[i/כ."7R֬cE K~ ΰ䓧(VVb_}KoQy.uW]AuwwUu̪Zk<ו2{ /H K'XѲCǾf0YoOFX~(M i|*RB A"-{z>9 073S0SZo_y.sK~TVF>O;w:zӜ4lKYBC" S (ň}o>6wb)f]\DvwF)O\|jst^sU*ͬQJmBQ[ض7/ꔂLՕQ(D۸PF.J(.d6q }_EHlBDnc(XW܌tuvA4nd:m))=,۔2$l:qTҟv8آI$eRiM""q?[p cs( ~[qƏ޸੺͙#÷ 6Ww~u_O  c7!@dMi<5ͩtn9깤;8][Sm]Sr$SV8Rm(.6<4=U{uJOَ&plkInQJCa\K%8f3K^BH 5-K 30*H$LX z!XX(4/Rڙ]Y 0q͠S,JUn%Sة,?ul꺫Y?Y\\Kye:]dv˃|!S1& o=&zFaj],݅jpf4)oN Y |18H ]hU*İ-F&"a~D_t~]~9\^HvYD.3`9u ߫;(5ܻTmۋ}rn՘D6bztfNa]!õХ A9_*I3LI]l}yV*֖4Ԥ֝JalFa'2;@AGD;=:9<:CCI3D:8`Ӊp@o,BӞ[NWڹd0_7Ԙ٘;eSlܾ({~7t-3Y6ֺx~Q1$-=x^] WͬzWW9k#*nGUqvHW/B#9uk:(ԭB5VYyS"H)bõ&%j>eC_ry30٥yW!gCb/Zk}'&"b8~Ěd*Nwr3+Y $׍ (+SZg0A<4 YhZ~ކmo7TdvK(OF2Aogx#- LmnwRV̮bKyw^ջfSm^tj`a Vq:: RQ` %ǹcjsƫmۥ%o~ܗZoҐr;; hs5 [A"ް֛L=15}wXzbvd!ztiO,Ysѓh'Ư8Iȳl2.VqTj|RTg{J4YQ y㓛jXcDƙkP(\D_e I\oF5!bRj !c6 kP).lD|RC85w+*ܚh8fi?~<-{Bu6N˨ݳ zQ`  5?%2@u - S97se$=['Xh_߲Us>MѷgwjJ8PƊy] 7]* f%.mɱl-%M{i;Y %4T&>@e޾ΰ٫T}{?@iM99ݢK~=7u^ZNyr33ѕ#B?km4.w6]}UxSUjj2>)̎P|Q BQxlCoְ6֩IC6?f 4.֨c=R&r.‹cFGvw!]]SZm{fzJ7Sqh3n1͌C%K]Jud.Cldi2ܘ( Ws;>a^I.& Gs Ȟ|})*ш}%\͵jȴm!pmmnZfṽ_2)G:Ҭ -T *8h$"Rf&Z%SLkzIGxzSu*Β)aFεO"zcQu+=x╻՛R+^:*Ἀ8ifB b/o|ʟ-Gs>\݅\;iK^nDW$)tz2l>KrO%ùنp.?GIk嶫ٞlk!,k2sôGk40ܵ 0wC ¨xCIFJWJv[2[Vk"׬XעaV.kX63V.FU|L9v~j6qZ-e@b*ZN,y^7lrśQSjLvy~DAO>k捋83շutn`ndvzHj1c/T־\sS]xfq{ݥror[t[{qQ݆ɘ3_k cL^TEG沒r344 {#i+Ռ)$[Ռ+Wn5&+ e#Sܐ[d!E GH,{&gGFLW#F0nڞjUz&õ9뿉e\ѧ'5jS$iwnn0(n+^LuvQ\)kvȤ ]mn^*3ɼIThב:mm+%jݸ黵AEŐτ"JNn0Kg&tJ q#JgZi\GdEŔ۲Gv%Ϟ(r;554}3H`lFd^nOItǞ!;RY.n (#Bw Gus䖪0 WZ=b `J9R5q$92+}6d8FX33ƃnz6=Ţ`Zƾ>Fz\MQ?XhBZTqZ[U'ӓ<]Zk>K[L ȪۏZbvQ=EBt,F~նmޙMّǐ=}M%BAGb3sLWǔr~VN9벌]tiT:Td-y,Dq;UwFdš"FUfzq[ i7,ARxf"/A6 OggS=#I?o'G:;<;9?=DH42@uAW9uV)bwOm0\Oydmڨ5 QQ+V( \wD"E**|ԊimҵONn̄|(r 2>UFEEw#nZQ_yQ ݏPk:|SL';]yq"3dPT*ϗʼn=RebUʾL]F4 h 2oŢPcd'xUmzR|ꧭ*~wq%JO5l^Z7g>T]LGnˇ;댱ƌ&U]12m:X?!IeRxDND5Wx JUGBHf@XKqYdTˁ$b8eZ`bz5uu7r /Yb |rׅږC$LY͏'e\^fF\]WHPyN.z^tO|0<pݵwhtndU-IfTڔWoqpKy.{ (BWO^*#aB^0l '`]p΁rb6F7\  > M&ߛ)H{x][NAГ;Q$3SUff8g纺=E"yK%/[LXJUDUEFd\zU9 /ӲLu4kD{דٽt=~ZDC7Ѧ1M-Ʒ,En1H@tźPf^ՓT٨2_!enID6t=owJ04Ҩ C$*AN^D-U[wÙ #[y}> NWZ=%s*f6m)f76{&L{%^9@83Τ(sG $"ת~k.Q ^GfnyEl/黩3%;#\3U>sY ͥ36y1Vn{mKwmTlMTUf"c9h,õbGZKf?{ȞZC9Jfz_edt X6dWTN}Gv*q= i5a@jlN ]5yo=mӦKlj2"B'(4:z[\hTtM!R7=]c4Fg۽nfNVƦ)H tt'xWPP`#>26j6r}?S$uN-{<lYv}o*XY?(pӓfYLn(ROS `S^k"{,XQCr@R V"nIfrLلv@{>:o6cރ;z/xj?t} NU.k߯Ԣovp9{SOno.+K]LW]O ˞ % ;= Oq1/{6mw&y&ƉԴ&+QݥYͬb7s'جM6lFŤ~|," Z4͆?#f+ytvv GߛBD|Ӭ+@p)ދ!BfeHUJ䬟ǘcg./ҰH%3eJeZ_}$u'.WKo;4Dߘc ˻wBznҺ8/JK]:ۋ[;[.\.9M11)fnOn0l -{ZV&YR( V u@ 9q:Q%2+.l2`5drd@F M^nGr5h릅+gdj.K85s2X%CFY~kӧ2!Ќ ϮatvL]^ұ{b#)T]vMۭ׃prqzOwi$$wnF{ W6+~乬}TʕJ6FxtE݈QYDS o&LyռVczozm[Oc*kR)nܸ49]ѐN̺f0.hj09(ntv -ujO30؞%8\ҹGv#׀P@XtBZE֭ȯ?lm6ѲLM̷_.!NX)jH_e余[lV~upNbgc6Ѣ rh ww,Q9=]6Ȍi~M}\_\:~GfNԹ+7~u3wmfW1wqnq|҄]{=H;6"el' E5M0GȘ OggS@E=#I@Ӣ*?9;97:;8FFH>9=7<9;CCL=04:9@BEFT<@?IRᐕp &/=s=ԾMVO6RBX/=ΰʓ{7[B4S8Ft4"!`TMxNGfߤ/K{?Yڼֹ%A=Vջ/dRE^ttIV^ +ʢ󭹔}t+4Ym&:{L%\Z5аr&,v4Qm eGjo{+iha.$nl49bي,ȨZ|s?؟bk/g'RS-Vuw6j"\u5LFʄu fpE[HYYHbHn,hV6ls1.@ݝ{SŒK2ͽ}.ٕfK%ټW*eٴc[–ِ Ctʸ&ƸQ EP,ײDA岨})u#:vZ1w-ȶl\ްpcDy >YX!؁ N3m5L%E fw:E DyӒw[5z m\B N+rhs9SQy˨T>8w!w+Lw6w{6x.1bT&K)ȧ cA"zN- wzdl](L~^Y+&n:'fH.b(6j;&|dpcֱT26eTۭbwُs7̶$NxǛNOG+n8/?+W9ޅbI)הr{JOhn&](VR$!6BH$#|,(q4qz-9ffsftV *[y3r9+z LL0tE5K1X|Ońlni  b HYJ++:q,+7h%bO dI0 RqF^w9[в3mMtC2T<&pZ.066%a9$Bec[-)}$9ָ# NcKt ByZ'в> )KawלJg̝KkE bٕ!DS s,fP)x/QXЩ' yU"`c6@ʕ6@-X^I~Qzk_grr81FTtrd)I zNlr,6uؖO4]lootw[[y^OSth@|IJK~nL/H;1ZHw.kf0LR1ʅḏ;Nc'ŶȨ J"T0=P7n\/xv-#i@KunZ9)}g`OAS؈$֋hs[mxzs i5E ]dhڛ~EN㚩)e&Q `WO>R'6F'1>V~_zms[C6ݲ"Vd ?xCUu$R"E]/DT**yef)ngs+w"ҙonf"ݦpE\J+gɕR޸x2(Foĥq^aLf/X}VjMTҭZܽ򒒸c`h~c`an=zht`@]jֵߍLt!K؊^)4RFx B?cW{3cV,o }\;Zl]y5ް>o?YӜ|uOEa-eHQ^k>ZGfB^BZM]yO~n#..enNQO^!RUV9#K\|xM..\t t0" Sm͕Q5s̊xGrl,oLPL6]",i.@y7e{2q[ ؼ`?3bK7%8v邴z(z.uҳ%fc \뒨efx5no?JoX76W.G;/ģeWbUJ+?܌rS}yTOG>r'fő#OAy Zѽ;0cʴWmKt(̨m*?o;/Oc_ܹNձniϐ82i'Dx仃zomuG3q+sRS~t!psSN9S*猐Vq }U*"AFO!@u`2dVVn\!)<3\.qsaDN,GJ囵z"|¡/ *2קx?JhI\LfS]`wj |=^;Ȍ6C @o[wOs^&,nFE9Y:eOʝ"|ݺո]OjMTδϭfmK4 ^W dK[+HfA#0ɽ X7ـG- #uOggSs=#IAH~d"KLFIO47"@=>:AFH=C@DI=5#~:0PEG1o;1٣mVIfRj*S<:i\9Ĺ~\\鿏]8xř<] no1 :.ʪ37s >e*}+wqQ%qC̉Yc}_E);d;K2וʛN7v^{1bpղF-5qYiTGhE۷7غTL}_L9{yIow#K>S\5Qlim͊5ضvsی}miM޻ۥxfW5dI0(x4PAeT% r3"Iz (čr'Kތ)3n@Caooq6ɘ Գ?r¾YNjEGw/ۖ.A+ʥMwVrYgxIOvdVvsL\MML`kn =Ԧ:V앷éxι[z/ZD*-WB+Q{/Ei{r^wUeMGtnos+]̕!z6a'OݩwMzyoU75ػk/:n}LP`E50{:uN Oվ 1 NXP"cs%E^!\DޘO;.y~Jwv/}f_M޶7X띬c,,(u5#4{Ns;4JDa ( {VK I8y{l,R򘪳X_X!T+i%,2c&;/ņ\ST:ﭼM체h.,Hٮ[ ̟~G/Q{xK(! }֢ i!W"rjA\˟Gi{VϵgT]WMTLӯafw6#z-TjW &o<=Etܿ-ź.\fn9dRyg}I: Frdp]1/כe~s[ me ԎMQޱ,{A6gqCe9%'!pY5 m06iD*ʍ=! sP.@YoO"ݛ;y Oȴ8$o(33Uo^+?C:+OC8_q_wʈq)TP}eFv@]1Ra!o*W;Bk;Zre>*f6s̎eA;Uu a;Lti~?֙Tky/yYaϥٽ1КX)cE0)&pI|aSc ~@-Hf$5U/{~)Y?wKc&z* ^n}}'՞\_H#'jeIG۪>Q*yx~8@%%Z$i\tV+^l--Jmiq wwK`(V1=eW[pN@E RBPV=xoijHWҹ{[π\5{%p  ] fkhxiQЌ9$io7yS4f6!Qt~Cs,tG7#6Ch'o&ߵAϰ1 gզEᩫ[~j*sPT* }w'vb H1ϑG3eoh˱1^~^/RnnMV.A9tiLzim6e1,`F*̢˼ⴓUpܖfפhBCHcl4w~U_ڽg_4nYn`^6 (97fd~֙m0;dvSٶl`Z4i`-+ )'+hs'iNID/mݵ7e{kmۺ D4En)ȍ  wks ~%$:zXOTλ #ͺ]w-uDD֊F&t/:7,[5U/#hX>:;w[Wwj:ӾlƲd>xJ4l>2aQhD C1ƭiu&zX^]u*Ӭfk]|N(-Oy .AQ%E9L ;[̭fw-Wml[_Rr'0{z;%=(@Xb%h7גw"ߟ+oԽ545KlfW$D^k P@gx8ImZea%^ }w^MU+{mJk,_2,ds)dD G@v4('0Jqa-^lYHY.& 9b#FY"{HQ85h4`I 0[wcMΐ\*0Κåbvŀ9{+1%UwE,33HR A1aI83_˱4['=*wZ}7_Ou,i_2>*J[0_Rh*gTb.)**cKװ2TDw5٘RD8/;pPp|§o-{AJ7-c/Z.`J"=Y߾1x`\'XFe|&Nְ̪#n7* )EՂР\ȋ.ދ)%`v0poV5+,;@.FiwA¤ 773cTh~eU#mc!Ԥ|joM,U>8MfՊh@(_Uj9>;(CAN)K#@ICwEZK9վARR9tܲh RXMv`˷ƻ|mӓ;\|`~: ޴tZz>O@l5g1B!^V5 >zV5)2-&,(SāFpl+N]g1λ(R'EY6`̌2B0K-/r5[miO?݉7gUWxȈ1Z9rX;Wq#Jmd_ML4UsdFKfGT> }O_vT$D.T8ቩf;Mlb@yMh]mϖ{^,ά3}-0@?0nOggS@=#IBVA+777787A?EG=?<;@?<@G@"=?:| bJ֡tlۘ]6@fE)Vi{Pc@e KE\B5dDN޶EZ6Z7lnd7`-XX)YK$}~3æoZfJræ\J`S -@n?CmoR|:^arz}-ZeV$VW61E&tb'%DusNiJD!L5uIۥc,MM?wԶ.8ed4p89- myTU9 bH­bQDtNݾZ^ 3n'|Bh9g<" i(-X$lֻwKUkof{oT6@u ;EJNX P@>g**t6LJye̮8wiQmn}'}n3 rK-^AfжUEHU:^/%$6S$%oW4蒓IΨc~Yx87%f; kn**5:o6SejQIU1tdDp*fAUg!y%E=BrMFwQq=:  >h-ĵQ#~MLrM>QmsW[lRI3 E; ΡAa :^[:D&Ƭ)7W|Z6n@Ӓl]ۈ#W혲eolZfzc*\J&&FV4(?ݣg6BLzڳYȍxNm]lRe6CrJT=X](Q5XK[uRK3 [mߎ0@C73@Icگz*q*1oC>lku$\X d7F, yoFM)+ b흫ӫ+Ļn}{2‘S Wk:kurXW}=s:[2RN]ϼ76 >뢤E.4;11^XG%6w.*9]c[MU ǨVr@UNqPul}:@r6nLC\ZzZ$M^wx#m 0 6"5'WJgR_U;=t&}ͨWVVNJO>mZC[R;v%k>zUٹ^MlnH5>kpY5{]D=|_ʥ~ʥYP{r|f4U?[gsiȧS/(O5{y\MTQw۫θwfE>+|l~I[ڮa<["t`u4OIfy.VuA(c>2( و.Tvg\\|sf-5$Z@aZS5ycv Dt$,a>C##>#úd;3&ab?wt|FLgFg{ߚl\V)1jhP* O4_}|QDejZD)w/SyumGS<$ފ #)x4c"!gwDXCߺئ~F鹲WȾ,Ϭ虇J <\8eU [53)C[mNLs\I((ZޭMqt{obKRVD$p((@ !WeCcW{i*UlڴڭvI5hkn౳ЌL\:=6RKC]zbfh~U{r%u۶m{MaTQ#5B)=;l1 ~#!bl>^!lnc͋jm-Y*KH2NѧN {!lgoFλD>ʾ&ej=v yZ+EnhȒ2IuȂTEPCϱ%ɌdJM@_sgԙ{ڸY1e>~69~SWnzDbd&IcA fjc1ȭfQ!TԞɇ0ޞzL\2H{[u-}tlv^O# 7tdDլJPYqQMYIZnU@D=z9gZB\āHI)<5 S2F&1Zusg{v7 d]zٳpB*j\sDnW`-mKA@28Vd^nQ7׼Q =an:] ΁AYwMlvt~}s<$8.)AP-Z={)Wld"ɑjQwj =)CTuqdvU&Q^Sp3קX W rrm!r9{ B7r\vb[i+llFOp+?; ItYv.<(TV.P/caZ{Dѩ0F&i mq,VIu9֠Chҍ Ҽ t0+BY)3!ۗբt3iK+7o_+?1#~T^Ճy\*Lw/Qf t=\^nt5sW;*}.=cGU!1w 9CT.S0c23rb n } tSi8_/$uoXbT 'WSh-Lj&QDv`Xb߽waj{xXjp`FYz±1B8'Fw51ɘe_>: aYsl悇(22xU.Ҁ$9,=z\ӯ[9^ᜌ虩bTV_}>7r\3pˠZiFPrP]|fRx? p2zP ]o* $ 38ŏ@MOggS=#ICd$u%)E:=99<>:DC67:>EE$(_v"bkݗ6hb_fNwf9SG5[|͹ը"pR:sk͜eb2QO_KN8a]ɲR\qRu Ŋ U1;o>)\L%xK@;rttd"ݴ,NС @n?*j=:\´Y1ev)h57gltU8T]N4Fj NW!0/S#eoZ5v '绩7U)5kEeQHYA) wmPT wM6wR캜_eKԚtfvWN *,DWU%<6ʹ(uA*uOzM{m& 29MFAH F%HG&/~QUe^*w)+oprdG&gL \S޽ƴm핾U. lJ9OK @  `d`ByꭣT +< UÖnLrwT%%B +M9.O6T~nw{gZ dv㥡7[2L 1-TM ga?lvz,FSgf |#?LkkM zn5waZJ}f 3jMG`  _MTP N P?Kczb}+!O6{}CpDU %/Rpf~%}^r3U354÷m9jcsJlc[ǼX֛zt#S'Lݏ>܍5=WH?<9gReCݎr!|€$/VGk5iݟ}ְOF_w+-8=S:r0eǍqY:v]1;X%nו3* v? @Kaxuc*` 6>Mgꖚ2@E$$r2PfHjU@\RN_#w0c7\Y㪳mwZ]OxG˝n}) Qߕչ[4.W)WԦ|tSAqh+'zse5(G}pP>{ʻ~`]e[cg-\l\Aպd'T G}l9E}9ǎ-+=%j}MG4Z{/+s; nj^Ou{ yzScpUO_SoO-!Ӿ}.MR׊nMCnhH{u`V®ph<ضp:qwt63w0L7,yB!l$>w:iܟg%Ifl|Ds Ĺp+U*}[6. ~p:jN$Fu'1yf뽪c[屽*)0 Хt}'w&IE[~2uO67^;tV\dg PVLPR NjYʂ)uwzŽ-emˉU,g% K*9K,&BZE#oÒ7ӵ5xQjlB+۷ɠ3daqo(q!P?߳͵'*kfk1gArTiRT7{Wǯf1LBrWV#s:yssșƩ}\\:{ d5}YR}%d',q=eQuWS\2E/~&&I2|dd HɆdVy*:u5Ȥ!^-C"z̈́=W#}ÿA, & ^\/¹bl蚉e#+z3j*.$1y]7>>x4E08l e{"xuL)z#=FQg(Fdpq7Jt]zSRO_=sjXi#r;bsV%uv˃u4%6ݎ/F"sn"S~j,DžI!hKhi)za:AJ.dW2/1۽"teL~7kNT+|9ƑzmO+S4]Z[gjno:F=68_&2TZǔlYD, k혰5޺ M'rqn"Hτ:Y@ i,cwn.hb7̫\|fd(X?9u,V {WLL{ovz*&EbO󺚗sː^JNQ}@~̓2k׋CGJ'ؖELj!Y,t-=5Yv꨽%6whk\#3nCh7hpRVIFAkG^#T=c]^r(,0*`ǦṋUP#LtvOggS@>#ID '(089CGH:<;:?<YB9B+_"[QOvvJ]*[U'8O[ד6bo ꉻe!՜Ry/^7{~ $2$:Ow}THrۧ~dG< #,ٴlةՓ;eOT2_۳)n;0 hCG{_kɊiLT)u}YxeO{Ktj>?n%Ke[[Ǒx ~rҧ+ջ5HhֹBP-ynx=r;?Fs{s|+5[6=tvw56l; Mmv997c2MOmDʿnLT+Go%޴qDxLf4Zu""O9TD,Sh0KD5:,F@4lāCXԾzk`56vkxM\ylGo ϰPg7u QrWDZpJON1A\egf{ZM0 @kP7R$ֵ'xTDދS>Tl ~4n_-ebAiyNʬMU~ZFgތb%ɟ)añ13vwdtARI`$ RX<+ aNwE=nNq7,uQRvo Td2ΪaD,ApTOw]h "Җ+EV 1٩PzzؽgT3 &"1{]HyjS%?J]헿Uӧ8xZzh(ְVM*V@1dN/9n~m.CS޹m7^m3 Ev`{  Ǐ\ݍ$*rhgZ.^\,~C9{lt@EDՙJ ? phOz;bƽg 4kMX;ZWܘ>R -hI# 5dNo+CWw{~1AryeRE*z s9E4,D]Ֆٙ1-ތLTbe4(MMê7KW˺fҷ&t{ljnf=?T]S@Tуɚfb+#GeBQm/~!Hl.Zio&{fͪtd@2l.@~]: $s=2ϫ:Qh5[UozkQ5ώF[LV, ]g&% DZʵoQf[ݵl26W lLϼZWY?|,| ~)R\HkLVK[{kdzʵʃO!&P(^{+~$#!QS3T?jœϱӐ߾wy`wՔrp[$>V<E-$go6bPRnBly;" Dt՚L>g;:7Etwcm*rBF/I2Ǭ,b"B U) β]MW_De?Ӆz0Ǡ]7f ?4S0hmVպ+&3F( Fj&)/id#oHV)Kv ޛLRV?|Ο7{i: &{mM3]i~~%}vOY8ĆLygF^:6 n|uqk{"OOO/9ioZi1Tʫc:N:S[ ?1AP('7BN(ucÀB\Vg[tSzuNtʆVcc@ѨhQ#Uݛx%+ p{5TdB.ghLiB|jP4jWj)oYwϣNjP'GIX0u9W3ff^~txsV _/=,N?GjS4|\3T߫snt&2]Drn.:'KAe3B(dl7CkoMW?Ru*@ekcZ՘:{.x]muyRzڙlG]^7i"wlwOj.J=ׇۭa^֎\'\.[_TOggS8>#IEaͳ#BC:=61A:8>=;BE@C?CBPM4(OT?e+=˂B5咗Ravj@^X=,bC[B$y)<}o|ǩ)U}k(m}Nu;C%1s߼|3$}DǼO}uqǫnqjWSpsu2҃v.W41]t|z^#{AEoڴ]gV?Y'sdWwM> l9]+dCx߽wLmk?gf_lھ2Le;qԲWnVݖmviE~콍U6;=zaZtmƾ7,(sf .{ ,Ȝ,]oLq.G8.pG~;T{RPC\BImK7F5mmҽ״Y f*~ksokUn6k^J]F :x۷a5 ݏ3Za9cVϥޢ-M[#s anĻK>tb0G:Wk2:dH"2@w?a?9I7ffJo~戣7d ['H;҉T fӹz "~n)1_\{cm!#w)m==ۏ(4Z/6}{ո[5B25.O"oRuY+3v_v,(ת(Άжe@r-xOQϗH h{t/ 0HglwFˮQlp7il5x+r :dW ~KaUe:avjkOĐN*g>ۘ6 a@z{"_[4NV/eid]i^b (EGWkr,W} c)B\Nz|zBqM^%Mxx -#߬ntLsW:19m* 4fxNNʠs ca^wn3oy'arl;.t=Oη^~!#)H )sǚ-0q(S24R̶n!0"(NaMEAO8n )!fH`dޡ,֯;$;Mg_o1S$5Ӵ:ןPҭ$a F3F+6?=B:8ۍXcƭh%\Fud%)VD)S%^-e/b[:rl*AglAٍYTijĸF0f\M5)ӆYfXDhuX;a !pr{N^â3H{0['F1)oU޵ɍp&dFRjB+˿}hj.ۙO?׋}z=k=‹w_^ձ1o\S Fv)|JT@l/S@ٔ"*żo\$nv^l:qqk{Dbic ]@cL=1qY=<Y- }fTHW -)I)qKpS\.2!)((mda @kZP rL)w/X`=PdXT Eٶax$$J{vٸ?f2@dT~JD44|5̰VC÷@[6]eIekM8> @FemdtS?`ox6X3p` Pp`-L~ z Bj+7.~bile/- xoJ+USFr{L!$qH:}aݭq?ZE땇=ݏmh"(}d9.72U:3BS7ٞsYq:+.+DR>TN{f:'SrQwЍkddWvTVkY ;;[E}Gnp{^+jG5-\ЪOggS@i>#IFo*/@;=?=8??AIB=>9>@CCDA*=:<9E@CED>&;:Sչ5yY fnqnf{2=Md@Xu-\ "ѱEy- dzS3Uf56]˿g{ ' _҃ϙcx1^YQSbIn=&UvU"9VD7l:7I(K \$SG'or1Kqnl@|sޕs9_OQ4Y*LlĬWr]\bUT'ۓk퍻W2LœJ..Y>h.ns վRggUhTo.{Up.ߘ8۸ܘz4s1]2}:EA[9-!ȑ)*3a\Lɍ*|>uw}te`$cRmA%W)T&7џ6r6:T3y12fɮ`hWZoҌU yb2 L+6&t>u1[Vbs@1f^~~W0Vek˶־ڱZd6Jc.mD7%D URm])?>>^XMZΏ`r5v;se%078eHMݜxT;,lwܻ6LN ,W(/SϔDaa;Cl#qmo̞ͪr{CeLVHG FuE )@U>;}IUF9\k%JZm2w{<]:=F]]L\.7IBک׋1ti{uzomu~clzˠ$4)UHA^ /h@\I ѝמ jkۦmDT׷U5rKfHW"\k;7璵W@̘O1>)-kQ #ԪYf>nk<,jY4YjLI/ׄ-& _\+|_3zGV-O"u^) ٺ4썜5q&LoR*,ʔ&:n_Rr3NcK%"eN^O]%d)oi—12R^LH':zfzqy.ǻ1Q9:Ӕz۴Et%蓕nQ 4,Kwi-F }GgU],hP^n68 EG ea!j;"'"GeoJRѽR]#6InpKi>IQa$N~#2RG75ժ5lfn;t9=kZU ITII 'Unm4g*cH0Ft_httB +K\G$Z]nryl.mi]4UڲjՕVl[!{͹VP7 FX|EPV'CplӍ*΁8x.?.M~RM v+mwM|}oyY= Ro(l{'@l `1'.5j*[+{:g>'q̽ kK/Pѩr:hLo_7kܩ/.;ޅ^<^gw5*_fLrpа(*Wޕ*#sW'NkYQgA7'c+bӕ8N뭃uGVɪ;uT]HUTۦ9fq'E~*рN5_ [4v3L{q[)%7$6 ksߋL&̬T~ \\; KS7V4ܡ)$_g4%z[õt8vUO-c5COynWa-SyʷckޥR>ۨ^<3vdQ5*A\rl SQM-=Dr Q5< ,j5k^+Cq+?-+x&N QBs:IZg#@`3}-^֘!cSJM[ܽ@V=%B,2(H; 019M(33m"{y'f? 5uЛο'?|x)[pՆ W?NӶ[KIj%R~o<|x̎W ]ܻO}b6:tԇZ^Lt(坏55pBYS77=Si(V4[_.}Qݙ.oy5ź XX,G〶՞ZϏ{*uS[1[=GQkklǻ56DRQci&zkjD՜*s>\|M}B6Ouy-fu+Ş*Y-tqE}s/}qCM2 3_-_y_ɸ;ഽxǷa:ޥ{-3BjG$:-qQ %Eluoop"erQn])v󻘳H$+==zeh3ݫQ`MD5f Ӽ҉!I$pq*-e"+'q1BrFsn,DdRFwےtn͂qL 3Ժaݵvٷ~۔q!2L~0t(?Eè0 %[+sF^ 5)g[wCDHϋ17R坓M1ح->JyT;PP:%;jN5t/ubzTpӨ [G^Tc54 9jDMneKhB4LG5^wKU9@.8S!rP8U\uQXBVN ~#R&(]:]e5x`n2GGۢsBVP !דHP(c3/\3cp>cqH^;c7$ne-CQ3(˲A;_ݟ oueurݾ%~Zyuq,(8d ZU(FT{Ǒ)L^ =U;JSwRc!(JutVf\b%t=D,)+3gU2v]ݔ lP:FݩT8O9"2BU(T$;11QY лjaU@CG@0CsOg[(Zܮ @ck'66c:3־åiXʁ OggS@>#IG f%8I8;<9<<:HK>?;?G@)'t&BU@DEup}ZcGN&6x f2+y_ѽoogwdV'UV&ǍKWljټk*92&tՎ(=%ۣGvP;e%lmˢDvL˕m7BjqWdFurEd7AubL8oZ-Q#Z"*#/99[KV,5Bosy^ZrSy`aĸP pgy&i@ `:1'TJiԉe +{:ST\6͞~w=M NRNm)5 ]& ߆QbWi{EF9>YnDj`-s* q|hL2 @#<}*W\xJ{k2ZfvFxݳuSlJ]`җIP CIpLgXI{{":OCc-ݐ(ҘcPTH1{4I5Ji;ymȬNm^Yh~9G'iXIMO %7|j)VZE]˩WY#T-WeۍsF$BJ_+SЧ~䚼c" VTI/un}Ke <4])|J]"bGY kPf~'.)+FdB9yin2:5e߳ģ&uefS$|U8"cNϟP(侹1FL+}nƼEhSZ?Dwܰ^g1-ګPdG?rO7TIL@jEjsYZwlt^˸w Bf-$,lj5R?~2}sq}/q-1UkZO\ >ZGMnd׎YwKV&Cg-x*i|+*.-. Tr0&G]99!aQ٬$CNU،q @BVP ,EQH]A0 AV 4Ysmq5GTY_lΖ/;$:N7@dρIL9u#1!bJ(f<7s*̟]oSʔ^h^ZQl}$㈉|yCNw缽Xq,`DU7FӍi;қGԥnY5# \+|S:K v0-/3U]rcS)f _}*P QZN+CtD!CJOTH|  [:xўKp΀@X^ !͔H(@E8ӎ(V{mgx/7@S t8eQPjcB]Б<_}*F'}o3a~2y󙙯dN9:ʺw)d-k_p?QO]k.GVif c=1Pt"9ɀLYvJcܝ=șO.KϩExO*wVZ{wӸtv|^q8ʴ9tb _js^c%Wm}֗͜${l/f ۛv瑗l*Ү纮9fFU)Iۧ@o0Zv͕ڳ$N,1zt;|qq[#.3gСҍ#;exFPw11P],@ٜFk_w]1ꌛ]&?%}'ٓQ\KcK7 K1.k[n@/ ZJzWE F,x6pE7*o fmϘan~ $rV<1@ZN6dkԘYu̜[ы/~\kùEC7vAM4; .Nd9[udl+ebXbz$.NP;[GKSV+vE5F}U.[^o}X3/8Ơt{&>zūA1y==. ! H^7jn1*(53xn s2ܱrqo`FPC<9ȣjCٴ %uuE2{sqVyI13e cVւwna1&Jw|ڣ9婒z5]7UIIB&K:FOTV.^aogK*cy~w^K#d8wJ[Չιm&W3dm|u3[o!ZڡyRelCs& T@ܫj8*RvsVXm THks+t8\`@ "_̭sE`6&:}Ba$ ,2D35`L_~{ĊaI[E)R5Zt^[Lk<.f< ]/8sBI;*|(R2t寫҂F{R"#Dm03 YzNhuf6򌀗 D0q(ˉhI&0h^%6d0w8rƂQ*@ D**n?"H>4Ak{ Y/ck'ٟ)K4'M 3n`0N  E}ŨVa& +lsF y3ר1[/G=򳵟` 'h~]}TOe(7ZS:'p*rwd3\?Xa'yE9,y|&;CVۦ[O=[fB.nwam2s0%lJF#G`)+~YKA2C d#IHsć2%2$0NII7:=98<;:B?P;'>;8CBF\>Th[Y@Uo b@r"`ޛK&AKjEZ \$Gb],cjL~:a;d+3e˒݄xm#$f<]37~{MkwY0!sBO*[߃Ô5ҢM됵T6yv`[cZe޳&JKsO6陸Ju_YaɁn]@9E_I@eM0 \6"R_}pK P&BmRH@޽7iۦcu tXWJO~] ,ck}23VWu;zo'=[|?oqzY<6ygmw^O^TUn\)ԨyRG}36OEQb?փOUg?Ҿ|&bU;ӗbGEw[ۃ~eEڏRIb"&APaBRE,.I8|\MdyK$LfbRH/wK 3F6ӎ Q˝lWb^ntQ$w0o_qgcyr;eX2/,h n"fMru+3%)Aڭ{7;VOvZQah;nNZS VT@#Co<-^mאνڥݥ/=Q[, Tde>7ꔣۉo)jܧ9W9U_*>6;dٚyf=ۜF67rS\MFM)\Yјt9j7Bu# zDaSc ЄY|`@,TBDxxp=:`4Z]?`_= ۮ][<-ʠAB g 9/xFa]:T,\G$ak=ck ˩ %NPIkЎUE11ىU[nۈ=xdgW$w ]jYpЧj,G%e9[x%zSږ6y=vwfΧd4GNhZ}:b_Pʻ˩:O/m4]T}j \X^8*I&"㣿^qhl+%.ݹRƦZNY+C@F/uY݋RF>N+O\&h!z28%1Z BfNJXm+^G]PNs9ۦ^L~[`IFKb= =0%S됾ZӨT bnڶMyʳ3{*\: \"s;=Տ땄l3D2b!E1o}kMCnBneN=P7KCB%ˀ8pqX1ٞ.O (7+cu%v;P0^[E:֤9t8r3H_$/2`dE^^՘R&QV{cja46)Ŝ'8"y,af/ g]V|6#C~*Ғvuu|\ux)U2X2[mtQ.9uӽPqۙZy{6Jؘb3ظn#b1 DC YR;wP+#fC"%@Ϭ̕BH0*::M)iՐi2zw(vjZ޽W#Xoi}m p2g$~~@KMqw VA/Px l5- ^r23e~:fӴ~ߑqN^?گKX\#YϏQQ?O&swrK9ߡ #zOGg>#yRJ[B϶jzРv2(rQʾ&峯*d1;rC\H*р aGS0!knVĥ`$ X^&#R*nMc.֠δ6hLE6 0-y^RV Jʧx7ǧxQL󙙙Qfkz}|Kmꡗsc:䴜o<>DӸruW31)9>ߞ˰պ-u~vw3W4S*q\VTnRT.LTw#܈ImD]q)SOW:.&Adtfр\U3)&*TnTOPRnzbEB[K ΐM錫Nh."ek] BLZjj\;辟cgTs1,A8 B!DDJwouu<<֦0 (0e @?Gߔh+W)U9-Zlݶki3L8OD^T! 7,lR'?,R,_ueć㸫=V{~RTKj,vH{hT/L\!⊸ r;_;׹{x3^z~kBy%{nzՑwRoWi,q4 W]w/Xw8GXU_CbV\{Sq N|0q0r娌҂+ݝءpՔw꼮(CfnZ-UF|cyznwʑO%9ٝ{sRw1*%T2Rkroeu*gVQrnaXKXcY=/쾾Z& ۲lL+ 0tu˛s4Ν zX! "DH2{7M! Kj$3%{x򍳭y><i^<6wpLOcqW;%\ߧLQ*I5arLjӴJtڳv#y yՒ.5M\ZިB¹]aSYeI"\Q莑&\-usԳ)K&bD3# *u\ssJDHFa&q=)MTjĠ:6]Α^;/Pg-3*!ơx 7aմQbP2;i@AA^ͻˋs<`c+Ee6O?cq| >ݜܿ,>w-_q~{]S(\4ߡs{+_ǞoE)oaRzS{%mVP[yۋcykaZdEW?SKy3-Wё+\n)Uwsg1*dT.)Qt \d%.#*0$P}(1OggS>#II)|T#;DPDID?7/"D<79@BEADGADF=+nGd]414]B27OW}GuOl%N#wlCJ؍s."\-gcm|fLJCnM刋#ǵӎ{sv_9.d(QZD i7OTyT|7ٝ{n{S:ss~Q9:KUrG=kbOnٙزpn"&{Jzzꏉ۞uֶ6TjzSkyss[6-3[L"^9[p0#q} %6S8 >,hu|:#JOL5j,ڴ֟y7ۓiҚ.q{qKn9VL}`DXh"\#]%OiquԕQ}v3*y۶j sʬo=D4r7l]:k[zi%Ӣ$ôtҳm]„ZYcmo˞˹-l}?ظhP饧z_f>ZuYZYfȩzz2+ҥ µM OkuRYy0=̔Q&W?ucx~-S܈9͋||."'8w\hgӥ:Dnبw&F9؞&iU1@֕lkDKϘIcU\͆cTκ+߱[U*?ԱұG.Ng'g{c83e)T @6xyi+#hY@/ñٷ)S \wGx}v{bK*Q3۱.Sޔ1=\(.ꇓ;9+}VWo^:/G5)eonTacK4t8Ē~bW}J9=ᙅ!Y4y~R J[_G3Jh ’dv;RG'{7i āvӭܯFbRR mgo֛^m=rln* t}}aPÐN^),N8G  veMk$cf_/KgdRώP&(=]&f]&L*hsWE3MNdou1G۰ @dOSs_0~:N1]eз g"n+Dƀ+[wDsmqĎQ0SrsQj y=Pޞv o.wltbj5\ҳ6r3@2>x`m@EFf @0JC/Rжm [dQptHMd. _+}e͟e8$o$ƔE_a>F+[Pٰ!zྑN#sۉf9't([wWPBh LE~-gn뤰/36,Z]\4ژwJ7l.UH.JvH%ܯZV395@s Lc&EGwݼ59 fM85x. NyE P2VHi~6.M E0qw׊6gX& Z7Uw_ ?sS[n t}PTxdk1qo1Fz3Y,?իcЬW;~l7b=n_PO(uyJ\3}_ S45Nز"r"Q41"2咸.^nM^VE'G*(u\pD|e>uLnbŊJK`H.x{|`M.gkˍ׊)tS(~3 ]wuk^Ǫ~knyn8 N5E`r3vhܢmϞ3!]9R[ujCFeR QӅiIV k7 5\j_̋CvB'}}n{Z[ڛMM Nk)HdSe4*U'R+b"RxtٺwdvxiT>Z $E~K~k~.p#R 6<ݶRT,]V[m6ҮQ |N blARf_rFs~y*Lw{r> unu^U|-m,ӻi,cvk-V'$,0* "r[8#oc]N%3FKHkojkZ&o v DSVlBfx=;w㑲J+tdؑ&i*<5ekc/aln6t8CpZ.i)|[8~2#Ea-.uTDG*dW"Nҥ+1֘R#Uں!x@ի0K8iK^by&)uWO,x7HkcezrMZQq_70t_s*tt5 l 1Q1Q4^;7:{ZŽs]C\ .թe@%WQ\[;di%"%yVWP%+9ެŐpUF]`wi2>%%뭌nbW\>.wPAcٲP+e35XQJl˄4;t8Us#`jΨ a [Cg2^)+cI#R*T͛s3ԦdVh>{Ũz)gOyʿ,aOSz%jQ}_e]H幍.Yf&Qs{6^hw"[$bowZ9}{I:ҭP(AgH=]޾w駆iLO5:rWMbzQ] 7=Qݵ)5|X`n66.z#.W$n3!@պǙnqC{cLG$n9 POggS%?#IJtA)&"9<76=C?EFA;:;?>:FDJE)@77@??IEDޫ,o[CAeIuQz/ u$ձJ $׼)uلV~fCΔsNO9?4FJjwy:I#/oE ~s߻w.>hϖ76evl]T7JQ*V_s]o=u1}orWgj9q`3+̫88ܶiurwf^\۪[pF],wX)Dy"MWŃ]3RqW֢~r̞W!򵷅~ityՒ^{XFr%NqrT9;:6Vi*YRuWƍ6yem۬Lz%CiȮiC?єnZ={l7lV{M-Syk"}<vBA|6`ugtQgco@Xj$|]+O)+=)ߥfnm2ˌ?78+KXW[pWIrR8qJߌ~Ͳzב5b7nJT`R(^xfq3>$Y*w7nwm \2 &uΊeiɁpS9Ddɭ/s+[u7}moƭcZ/iVRl:c"TXF*En36 $Qw ,U*Q+犽QwZMwteTlrl˚PRLԖ%``Q3Z#{BQQbJ unc2vmZ4϶hllvK 9u$j}?6CeE%`z'{[M;f͊ߵ)l2WĈ/* $T;O~2X3~M4ӑҧtr%.Xmmoj=A[=mMr;f* L* i˻kp潛8UJj~X;9I~28o y}ϸp>u}; ?r{?0-v=\$5aP o/:jiQ, a;vXSw*F~L"MYVQrqqR BRvW[~cn}{$]Lf+cn-xe4P,h]vەwAUF(_GN"#5W0|TH&č).#[FGR޾R%5zwLtmpaC4F3EuW(/Ή$e)Pڼ:ڨSKk)9<7 'Ȣ1Rc iȟx)y5ޜ"ӓSTWыWyXfu 0Zu-jȤjaD)'3/E<ިtvͥXZr;<c45zR~F^2&a,2]~J#e[x5N۝L93as/t>F1^ɾҕ%>*;YJN?;34W@PFOS=' yy_m^m;[m6Vhܘ` F dPVzfHrA ~AW %ߍokJ1=k3W^sƦֻ!Z eN|n}mA #}7w+ݟi z&wO5[yMkƲǾ T4斬+$0i?8Od(F;zdyi`^ڲ5^׶5WgZ8^s4W_a;J娥IPi'Q]q8\o5V*VQ?.#\Y1nJ+I==ú-#| b+ gAVt1=Oˉ.8׳Xa[RR̼ȢfsfznoNi/CW5%vhW\=]\)rЊI v7Es7GxMcN(!n;R+P@ R.eQPلVVc1ƂgpEym9ngAڪb9hUHOڴR-ryj23Je}'YYl<$%~0ꧣ?[Iꛕu?Ɲ;q+LEp+>on֗p$jWߵEOJT }w^Ϫet+ДZEd_4={iS<7k{QfuNتl {,yd5gs99PDo9R`aS\ ۔73C!A"G0Pa6k1ZjA6@,#: puyxR 7OɆ &NzVKsXIuAޫ+)W~]n䬢:R#ƚ\T4~ʰh˳&L7ExmdVG3 ]L4˭67W&_,N5.lnz{v6pM;[kl2@TV@:{k⧊uR{# %YL"H'O_Yf]T%WP)@_k%BT'Ί4,B"3feY5uv|h  R}j v(V1CCԥJԥys6{<ҩmGb#1۬^: {чq0(:`+z&j\"\΢}%j"_*ŷ#]<OVEyH׎.&rAj4cTfmu\8`=4Vq}H해s[DxP#IEE4](VdK^DF\'By' qT.+.c/&:mAHLn*dqEWYH>.nKUK67æ% ]h$ |JqUaW1U$ ]%Y>s7j9=ͺ7]M2731`V:t9MCL155X>A,C)"/nHjdLMV9穧GvFm\FDa?JޗmD7TvJ}>J}+cP #jR1zQۭ3K) FTuS 3A*sfsH3ҔCk(| o@E3%UY IQ 3A DJ H9T'$Y"El+AnAK366-x34.%IOggS@Z?#IK &2+99=7?9::@A( 1CEEB0vt=Yd0-ss8EIsۍ~DP 鉜ro9o`5esQob84qi}O^y>GE|%MZ  k3v;VhL**֯"*En9.;&jy7^ѶI E ]B'PBcђ5\ B$8$1v8.RnWIRL68SQAe'\:?-Ch&)%˗(Nڽ QvZXnm$~^0A~I/Ƙ$&MeJQ ғnN8 ,⨑I,>y$C>JﲊvfrL7rqJOu8qZW׉<|C]]C] ;4@u_wWn!Uo>!.j{q\~2CW%cZPi6QcP;j0E?j!2qMJ" xyPms;&" PMNpJP-(l6DbX@e8'o Vdv@ۤΪ3$&aƸ>ͤ( \֚3j~BԇApKݭ4)Po&.@Ttyq5%-IeծI4xJ<:n{*f7;#jH=B{?ZΟOde3H҈q3]ꃚrPm;dxwz'c+fIsw­8XEF MѢJNJDߌ$8$(Us) MZqZ})V cRF)RO)Mv3 71Xz),`oלNz@`d"F -V\0&t'cgJ̻N.5ohs4Jub 2Uf0#~.I12Z҉"KYyYmfǬ;-l*uK` R`C&}ڈP+TrL΍ ^|$jqζC{pAc#EJa^^ ;z=\nKzak/6B*&yh,Pd]C!Wٽ55[mwazahpL{h=dGo/> j0}VG󳰂mi΅d"Qp J2 &wB4Mċ6Έ7++Vyy_흟sT 5x\8IM2DL6Ԍ IeHڞs9%8W-4&΄BW2S! 5 oא47EuNdEm}]]ύzw`xD)+R,Y#$kffLIJʿ(ox)`1gZtjPIn؏i77N΁.ךMKe+׮d0.;*ᨪ45TFOuw*-Ҵp ZF铕d1 $M>Ƴ ֬ęіwO֜7fTI\w˜A'kz=h^R(  9;+&"K ;ME S*u}3k_T0NL]m f< n%/`.M0vBSCng)Paz0' ~;Ae/H)s>Z( 'F&rY^ 1N6M?lH:2uOCtG>S %x4-!f:.dv||b11n>[+PXW8=^5VoPJO~Fijlzvqj),[޷EX359>7.3ބhyšO gLoVx{%V5zGUY×Omvl[3IF͙pe-[3&L1YAt411qN m?q@Of%"(o)~i}l ޘYلm~4w8__:{U+sOZNz#tI•!bGB˷E_x(]Ky62"*׫ g:ZFT"t? cHyS53{m|iȊ~ϑܒ}.=/Rԙojwoq~ZZ7`lR1H&U|23= ]-q@mӶq7cr2>0G=}:tg֛e >f"u plbyC#l. d&~/ͱ$Q48Oɑn+Q^i؛mZQd2 QH&h2fS=P=?r1b`viyUumc6jmhSVȑ-5CۨVxf g?d8dϽuͼn9;g3=f+sZE D/tk3_(R۞MW0{ejT{eJw~լe_QVHiռ'Ǯm;fFA:ڭyo]aT7rs([ Ru].dS?RE1"JW5MeqӻP)AQ ya]was }Wa#bnb;7\ys͘|*' =Y$Xb#{ g"W?k^ DU')cDr:DPPdod{3Q"Xl vR{& Ek6HS Y8^pI3&EQ33Qf/c7"UmaݸrFvjV²$*)HŴ*1Q}Fڍ*rSXR~m5OYC 6YJQ͊] zǚuOk̼V\ݔYqN4쳊\$fWu$|g #b|,cQb̆`\Z )2P%!_xvc4^F [xePKgv`OggS?#IL^S&5-)8:;FJ5<=<<>>;ACJ9*<9=B?EJ,me;p !HG~NzAeNb& 792Ih?j4_-9 /œg}5(x/sv 4/[~閽o?R}^$Aɶ8egۛzmާ;K ⸑\/{^r=Q3o_ t7_&Ʃ=CEl.Z2:gyXs- Z-0b`h=n psA ) I jU >٬RE'R DƮ zd̔k_s|]Jp>&rFD\szφN t8GSͽ#z0*JBOG9;{FO@4q5URMtJ4=uqD+/mJxL+ Hi9*wDTlhǕgz&n-aq3'zN NMb֩-@$+4E cl \o.Uv*%Fz]n'y֗›톛bWugVe4kPQ{I}I#6Sݑ%ֻ9<dV5($0y-VȆO.\TR!|=EyRdOTM'jܞ{L>#bX # ܣC,K '_w ^k~blf]4)U KBc4&֑Sza;=^3ڄb6HF$tI dWe}@: dH@HY z{Ɂky 6޾u] b&y1"҄WR |F?h%H~i|r":iVGȞݝ5.$,9i"SX' LUrֵj-gtd *^V4=vK>~| CN/ډ+_'r-4V˼h{Ê4 R4򦃠;>5ur;e.{2wr٢ h{ X$ѷ0IPsp-~ӕP2|;ep3MʥrskbU@#+YЍn) "U5quU MݩRVWExNejʐuHɬ3?a9(3 RyxͅU݊z^(s`:D`]i֔VAĒLbx֮J* -WBr q[[Δ%[y|4U?D~ C}?%1) w@3 F7Jz8sw/=}Ȏ޾Iqey?0} nZtrb"@젓2o1c⑟-B @E?2> L2eY u?C|m(jZTiqn\;y9zOXD'aˍZҗʣ0r )3oZO|~*5==u9%uqqlL&""ZW?D9s2nۜ{΢2YP1} K5q2Z )[ R/6"oEe!tL3HZFCƤ^}6nқfA.'.@l F&6 йIO=OA D]'u2yekӰpKͦwe=o.gq|\Z8l)xϟx"I_T_`g{eWmwe}UUlv6{U4JdAI  &T(1>h^=5^UUoVϭrO=:y;8ߜwţ, {9|k;T·&y9:~>(ST2빉] _'a!uYWZ%YoΑzbc,J@i's;]v]0i4y^GMI^孔>dt[5;o+QɲDGL018;;>DA;BCDBA@:UswpW6`=I۫G`\>"(Xm5z>:qy;^7:[.:bН{`q* l[ ONT z,rޠr4$.+պr6%z,?`v8FhsrRS7u. V4WSJ9BCxR+=MX,y5 V[&|ޱ1%\H s K- b;wQPĥ$5hIw|߫}A$׌73:eF;߿L n*Yσ1mK+tyy*|$)C^oCRT:2f6׽^g&ɎXk^Sz|T_}[LJ6Zڶ,y-ͽkj3Yv}..5\6M,ôkr6Ĝ$X-3{ #q<UX(I Y:ѕM& U5J~ {p͘Q$f6=8?cc^wS 6OFɒU䌥e1E#uS_OsZ!tG'Q?4Osur{ab [dF}=ꓻu;S}mrz-&7l[-tZWWEq9MԡK҄Ҭq DW:3n"-uV.6B$u8'Y3o;]|:\>W=Lӳ^@s~ZV`7$I݈JöNcPȡ8+zQ>e(A1/gt@uyNDFu.ۑGk׶ݽ6pYj䶶v)đ9s-`if&Zi}D$=GݛgjY떽V{ݭ[Q͹9II_UD?BȽ~  {_+5x6NZ\ޞЧMcI K~Zܕ>kM?VלqNjGaOWoZC3]1_3ޙy-vm<ĵx޽CNվOV*S7v4+TJL'GXݱ=29sLz1cݝu&{&/DdneDtW7F\zrIU}6ki@ [rM2{h5#@ΥI5  N':n I30.u6sHrWR+eeJ~\riqUoƦ[fC˴;*CUAG]k_ʂ;J7*\wst*?csa6kpC/65ӚߗL.V{ˍY2Z+a\Oو44V-wnfVs0:i GT  S"4ZeZr\ʽ/BdIs7nkt1ߺت%t-vGMI ~a[n 4s ޕd$gUWJ9XrSr&+lg5=ZJI#\T3KRQ({ϻO^+xl;>Ԡj.5P# mzLDPA48ܬ=uDu*ۍVTq*OeǶϖ`$]UWGVw W]ޝ,?=)w nClfrt셄jb~dϠl*Crܸx=pkLr $f,;>K$M<cg~w2S,d`,̳l'oOϦc$sTߓ)ҊDwߊ*x]Bڨt5)}Iyr987,Od [O5ќ\t Vv1=B-3;` ΨjԚN51S z{`RU`ɊPgEhhPC]|6naHt`؅>{&Mg.@a2{CuT2n ~ {Ɋ䗽^23cJS+3vmvO/e~H_ޗdev E3޷gxeC0Yz{MmT MJ˽ o0V$l7ZwZ314kg ft5kn}k;E=ތ *u1Pϧ1fl%pŝ;bF='oJ-&xL ER-Y qjX2,!]-_?ڔwmjֹ=(>ΊKnXTmA.]c9{oeJr\q {$~fG[[MөfxTB}XKE_!?mS(t4c޼BۭzYZcnz-ZwoX^$,5{eĚVla-~n;7vZ"r؉W(_={=VR|TvPwAz[쉂a"R-; VC,Y]H(n W]dbdH29!hHWK!LBT- ,B&'|ى̤.Ӧ&iel Pθ 5נ(V/3GVC}To@ HH}yݸN<&3Jr +οB*eÕj;17:m7_ok_fb QQ|;G=oYڽH6ҕӜl.:+(q{[G}zsەv,YrsT?xShZpU -캮ݶ܄Vnsku^>@uå)\!ܴKE@!s0D,OggS?#INe='.G=;;:7BD67?;:8:;:@>@CH@*99- t d_)_ZI`(7j$3,|6Xfά |0;SF̓w'qE:5eƦ"7vR^Odغ[WyB[*%ȓDs}>2R̖e݄U]ِ5g(vҖ%ÊՑ0CsqXD|{51mгR9z Vk}#gMǻ|[n&y/̛+pY#gq {r2v dBYll6')RX~w)u_=Bpͼ1T&&u`^)]vaȄ*c z+ OcR*z_{]m.jgYdNKU,b*LޚBV@Q_EC'Z)N(XtGO]7VGa]+BUx\T4~yȼ͛)5Ҥޞok%R4~]#\m!y8Qwj23?_?~2rTgo)3iw1)r;fX幊$@?P3μ+_MAP)+Ln+p'H̙uبï:=*~9\?5UJW~Dٌ/) fTY"kqٮYC5բr)#fJsOb)'k a@NBYXty/ꧤj1pEdGniՖJdԛ%FTEu9:#G7^Fq.EZ:*(|}!&}F%"Mǧ͚:zm`M\0V9ǮZ~ F5pt"{k7sAA!`TVBBODsx?^EaW[22OjA1kC'I\e+Q$mlt(\7ֈE$ ̿pcEVg=DuljAY3=쑦9^>]{5J"V^S2u̻Ǻf{ bf|l1Om"n=߾b9cktoG$)T).-t>NZJH\akPrxwb,\&Jw:\:(6cF;9qtr3҉]| Zs6#c]l޻@q{r,n➫= Gy{8VZoE@{_=Qy3?JnC@a"O9g !NolknTƼsǦ2Uār/$tEWOzT!HT{WطםRTk,[F+Z'gk&)|VƠb٩~Rn"l}R\v!߽ݱkB}7}[uzⅽ3vٌ)=U\ Yod@tOsLcK"ү@3^[UYtZH)u&[h0l'X ?zmפ5֠fjSY6x\<62S "H N9HNWCRnsDPsY?kK䪦.>_I~$ÇvL>U·R$(Uuhr}UpzyS_d5m݋Q¥ S0DQy"v>Õ&=<](:M٦ޔֲ::'3Zt6w2** p`.D9*wGbrm-c@̲+׫ىhan=93 9Dxb r#(0t>u5),?BB V;0텯wBk0=AYxƷwDۑ1^lDT!Ʀaނߝgb*cnw+5րY͹,"c!1\bcɆ /nQji\5Η1e{^qmjaUVjIT֊. *%li{d3Z3SAnȽmǽq߶u뭴љi7njqdrz`}i-BbS+Xu}ZL>C^CZTbIzeu5gem+ۦZKm6٘,>?bD0T\PHr<&Q]be05 9S^ZݵVo^WU^_ۭKb]<|*,ivmLiReZm߼&+W4w0d`Rot2>& yjd6$i:ƙj뮆+$fnܩ^d osɫi +0P`d^\IRJWfA<@_^;-[`/$L) z쇍t= ^ -lx”nWVbv wR 'Tozh6)GdƽtxhDK\ јޞvluYT rl;#R1Uq,*{4q-uANIu"V X Vr T'2ȬȬErcMVجX `%̔9fTඈ;Än2{xOFy1)۔C  m npncXN|i}ײLW~(53jU(˲Dcrpr0}?Y%6^{ҙW|7|KT 3q'72΢0vFDk)W ,*PUB°7G(@0\B:.̊jA4ܝ"D$͍<+@\b SC-AK(1ZL|FF^ &nz/CT 3؋^Y/2^ezނms @~,ТTK}X /ku49@LLR{Uo>mcN|Ӷ}R"uy(}>{C9TK6?0k >!ʎHdN}l: .f0J"۸1nI;^|۲Hgs2G='w ;+F=oHytZIKOM "+;UNޔ͇y^GOW~ LV2vTSi$_SO3gqGѐ%7䐥٫Eᒭ⊑JU3KE w$S!9i MulظR\7~&$๚f8²Fl^2DaTScr=G :6ahNBB(3@DP$ci?șS6W$ʦֿ_/zS_W-:S+u/qOrSlu~J|c0QRϬJ]}ߵ6+6_)f2%h )dUdCoo5 RC1+*]-Sn?ƴWދZJ%J h(qB{ pRyup&fFR~UO<=/;4ȷ)N-ť2RULQܔzJT4ahb;+ޡlZtN$86 HԧI;%'圢ie^^wnΊpDsuOַQjf2̊q !"" V\dD jlH*U4V N&DD f&: [lf/PCǀpn".f֩lrVtD!!7ޏ{:At?JA͌՘DȿWٮ~-[iig}%Ckw]i8ؿՠ:.w/C洕wKZ^˔ )FV*tgvVD4+G߮xHt3`mJnKOyR^^.~xMq=22Rb刮^pݧ0wׅJG$…+n`訆r٪V)y펜^g 3#cg5N[6x (P;j96\` <"pGTuAm)/ktE̽O7W|_YZˀ<T,Vxף,}ħ_)BYxnwE2fi1ST"2*%8nY ky8׺X Q>|?6Uiỷv+[kz#,k7 ,VK .:ۑ҆dM{h䵙.J\~~^vZ/w[Xf!:[1Hs+p+b?Wؠr)*w13Uf*mr /ףKy^Fkkvl,NG]=}o>ERS:i(5Aϓ}ڐ]O7DH/IiIy{uHyO+V_VÈ>b䎤q?q@W ޛ]DVJ"Ψ< 6hmq[};zS=0_]01t~_[*YmJb0 j ;?LH 3P{^n7zI  cwN5 y@zRAxZk"^2MY}X ezDr[9܎8rj|D륭tH˨GxBJ/RҜ)Sx_Sc]!h[ۻۋordW?YVj:v+h(QC$ș68+2[Hz6sYWb&CVRk?W-P Zcf[`2vtZj, xt !%>100k8dYYcU5S VٔilNy5-@~ugQ_ QffE<_m.T:a}Za&v7yzˠM;$LnEpXpԴR;QmD"Q/ Sr웴iѱ$DQ}^9[%-U#AΛ.R!TJr[QЕ ]g9/#gC5^[*n]\,ef[4ÀE]*K-|0( Xi~eQІZjs=3K*8<7X!˷&1LN3ǸܷY@tN!ٜ>Q݁όy ؗBiGVuTo_ʝU@ ꩻ~ܟ{?lF~^qR:;]} eFۢm{^i[z\nVoi^3VHmWN^F2z {'G.1h !MkݙViЋYT'u_7kn{~lV'Jiu u!$A{,Z;6(ÿQA: >}0{7{۶U.#{omvK('D`$Le@e(&am#,S\RY^˲-e - q5)Qq0)gg=6헥.%ulwgٓj[YW z.a Dԩ Wdٹv,^bo^UلV׊;5η*mjH.uv-sYxF'%HoS %Cto.kkC%UXR/OGh:iBdTnl.%q6;}~jw{S(oMMrw?f  } 9ݸHLd]Ȋhn}o"F dJHzq6 O:#IC͊F Hb R"#"COggSJ@#IP?%?9&5=FE7<9E@GI?,8:7BFDvPR@X@E%-ڼ5eS7,7\fψdZ O st0 u([4g!KbtJ V> l}Yf&DvSV6'"!?::7S=/o21CR׈qOzcjKyyav=({}-vAgNfn2Vumj"hGۺ9<~B_?TH+õ@KZoԬ6LAP!#lddU3ݥ6)JK;"#SŮ4qo 6[8q\w! M~}/vOaaXhk!{[}5iZ:PΘs #U͒8Q}gZ#!ώvm.hRoRfV+F3}S22ק9/738icIcVfD-duJ9;Da۩jt}'}W?ulq 8!{>mg|%uNhkxoj O C-4p4Z\(X48ƩxnK4aIYFDʧY3V6ލ,F6w7\v"'[Ǎfޛ&s%:&Ұ+Z~[h2ՕܛbT N]m?ri,jwDQkNѝj{Yw֟>!gU`&.T@et @$3SUf2Z15.q]%Q?nORڙ _yEKurwNqc+W'R6G)]lW2gg"yw>Ȫ &' rceOF2jɉc/U3J3Pȣ/d-X04"yRb糑>#tC=/Bot9`}sր5>PưkS+͙u"xwa͂7/Qp(Իkĉ,0a(ޙ\wZI2'V@o~[S(+6 6(i[~K3zO{mQ&̇N=%MA+Ibmjߒv|z3G~wtwS rNij1Ѫ,oĻ?O}Î8Nu/#pچΉ[n9'r' BȰ*N 1px =;&lRʊih uka_Gysw_Y3M^5 f= D^]P| )ĸ.ˇ*+ۖe1Mz*Zm{_K˶PBTK)}JL$ơ(2V{ǦcqQQ-ۑWg~G敯'녶ZOr;5!0eЖ e۩07k1!͏lWVJbB։>zҟ=tWCS6q.+c$uItj{Jm Y߱JqZz3WWsOphNH-*eTu_3|?ոf^\2ڻg'.ٹT MvxxP]ު$c((FHUΥ K=OxN@/H!n蓜 q!Br &_H 4ۭf.7\* ̖f@A}Ʀ]7<-S8{+4Dr^d~b>}U::*.f,\ '\D-7 4OFKR|WBa lpv r9"2,6lR̪!z~|) KMQe}[OdOnֲF*T` 0+@fxpph1k+%˭RDe.{fwz/wWl(ˊ^5iHXxB m&g\)f9Jf7rX83d/'qw΄NJMZd+_ %7j_plx޻ȶ^ΙZMbkgTp =,g%]?@~"*l뇌}n+oU]zNw@ٙe! w2JαH~UPXXX{?;9A[M3LYle+9ueA/2ףpߵe?.GK(}{ECs7UY4UQ++&O+#V)?<rH#ߪU^)ވ:C#ʻqX JrDF憩T:rh8#e,#1̓tːR*)2@dEPJc. DjFuؽgz$Z>ՃX@6L{-6l,p)R^KEtՋL5W ,/QR?xr )33erٗ ~ic4Y?Yk^:?篛bɈAh5/^!k1ƛ|>QyV™(Hꑜ}ۂ>=J|slۚ߳3/V{kʭئDړ8˭U/Jv8 0aK3x2 >^m"'SZ )k,'Z9zngzI͘zI) ?)\:rX;%uuxۯrٽKyleKSHTH}Be%͸Sέtab[wcr*6Jzݵ)TI(]py#efU$t8ӛsM(`&:r}f̉)n+vESJJ=;cM=WRt\^PuiEe=+#仡LkNR4_{V_ql%\l2Q7P!im՛q9&>s:Ħ*U`']I:X`ʑF,gFL1.]]rJReyD1rݑ@]ֳn|v/hfzS UnoLĽu8DVژO1箤yzfR޾^]{ۮR+K: 6gZ=]pZt/8q!CД1Ydܚ̣!zbMj`L/0z )0fƛѵGxCP{*CsSȜYxM {j+}~ʰ[kԔ͛yOau~Jm}gnŷsv/KWP9|462s\ M~4޹);Ovc=8M:}On:ْPH۷װnj<6ցV{FZ9U}.T) f+ľ;l&zv٧G);,uOuō5SDޫ{uLUtivVV2d'Ff˚Z0fU~#fnwO7ls wzcxFip\  I U$nH. HoS'5wv5xԌR6VJ޾W:s{~7 ੲ:6ɝy~ρkהԅ)*m%s&SD![|fB\P}owij_]2sN?;sEǤbln)m\AK*wAK*軶9IU&iBFǞ[Ɋ٫Y}ѓ]3"LgnGâ&aִWu9 m wJ5c~E6sjXIYsMѬE:Ź.C |7uԬrcnv7D3Ufp?z'&O}/^VMk̪,!:,b;p|_tyPj߱$JyvWR<D$>+ɍʷ~M}ޚU(QY[}ܝƳwƻ:;'o(]àxN{EmEJ ]TK[L Bݾӹ튉h^IԌRV6%v`NC֑ޘ9~K23O!c}$?IGg'>\lQ{wg=J[NZQVފ~ &>XdY|s6wM.Xj=gJ/W.̄x5*gvIA9Ըk3Qvi1!!5kI>3UYh0HdMC]N- x7*朇mØyambm_=m@1r7dKf=Tx~4> p iqHO.# ПQ6ƒ~3TN{m.$#|Oj[csykn'C~-{]=j(#tĶJ|Zn5"M:]4XѻM%I^3-eǐmjѝhƌJ߯LFOf\p T8*k 98ðz1%ün `S7ɚ`N_.qqq0`:%*zʆ{)M)Tto"zP:azr5'g`ؚ %@+)@b/7_WZ/D֦gX4Ycm0Ko}[']~JNqJ0ҽmv"lʘT(l .>YZ+U8%uo_<sgכ^M֪ɽqM_% *'(Yxաr_ov91,_WoOl^yRuܿ  *]£yyowYIYSϡNTfFךVkYkU۶Ts V:D LW@|s^%9Fڃ>IO˴wݿ }/l}r64>]D1Th- eY )%s=ITȮZ[~2/g+o*iuvv;i~ZN<)ơSLZZA]wa7\UWVRl]UmlW[ۻUe[4l׍Ȏ0$48B@ách\j[[e]z#z&xS-z[?{QQa|Q0E*[)]\\9^jm突&X/-*KU&|ΰG BߏJ\uhxjlxv֚W]Rڶjl&t'y |ɋvBy/z-,AΧǐ祙JisS3ەˌu.5W'6/oŌA) h~J]+S!(uwowvI{3Ss)  \̐e7[aD֬S=ٗ/ߓHkSnfI"R|TSG=gMn.h Qױ+&%ɈqoOճ{wwOϊsgf;=DH:<=:=<=ADD? T9jSwx:?ַ>{-D&n%b'jDD"ѥst\z'r:3?7"RQ1]۽w9s8xMGb/7}c댛y8}iT>[V.sź'LL78oP7BB / )}v{ ^ZkVLaF.ִ̼f`{`o%@zA \x)EޫZ{9WR IwE)TZF@rMUQ*zW(}嶑v۬wƿO:<שG#?YVMUofƍ~Y{^;^@l'w 0uW427y6κJ_: JqˑS9vLtSlyٌ=C*Fr~[Ju~we\GqK9E-}{^‘N{T ~sJz]7zS`^T]2^X 1 w])<+4w~i[e$`Z싊pl bYaSb[˿e>?P?Vyk{!HpJY܋*Lbt:7T3a#7.%r彑7ތz خ]FkC+LG\́{ˍ [#C>Kila Y8N.t8Jsd4;}Q\͆)}(>Զr`"r?Wo8xp`6Js+^SDw7^ }}#,6佱QU:ﲘk-EFˣ.R+y8_dYkoش$/),.q1{'VG%ݛt1wWwRUftWG=۪j |MChJȜMwNkK:dh#'u3W\,+{dExѦMW٭96m(-zuۿflo}Lٴ`C[w3o/q`L'xsCD[= sdFB4{T(&UF%Q^,ҼQًTwTԲ};ljcEJwB A, kLhzDT]ڦʣj\!dͶx;Y;V3b9Bٜn]fn$1 $e{۝z,sVe8 e.lj#a/Rt^кZ"waaew*^ѥY[ڔUfKM׋Z,v`{9XvБr % ֻr-kn)Z۶.w4.Kh@&wEAt :wmjs+tTaQܶ ޞͦ_-Zkd"RIaFg#*!,S+a# BDJ4`m۔VamV tXQ_YT1B]ZFZhv-[ۯQvm :"(SWN^&e2d E1$R~6uӚ^M=SvY K%rH-^}RK^P N>2;sOD75jlF>;)SzSΎ)3RNI,g˷1xߓڏb8WnW+O鶴߷gFfw٬FeǑD 6GHƺ?c-wz6?CdVI_ooWKglhzT?UP:؇$RHYOiڑ2ӛfFUDZ6_qsƋmثZOƜ;v}c#5dנ*?uaeT\ 2*USz cEYD\y-5[wO&eV_ ΧO׷ݭ-hW5wU٨Y=]=yX+t10ԩڊtuYrgWXH`9t DZ;uG}YEA 4.n1IWj "@&)k5í`MyRd eK@&dL3#P[60rfpEż&!db䗽M|}Ḻ&MI")i#m7ŗ 0Q+%ކBiu0U7e[M֝,dmXg+z:JH {R0d喊އB?-lx^ޥrTL: @ U {Njf)=iT]BSmF `m )04״hc,X\83 fOP.` 2 3?h(ଡ଼&/+3MS}qL2S*vE]sβ@MMјݾdJYt7}p}]ÖzzMIM7(Kb߃$I yUk'ֻ*3~;uSUc#=1s:1^Vy|8-k3S_C"TWu3( ]gt-1^avg;t_)ǻ'9* Y\s9]p܉+7my#B[[{!8X4-9-52mWSҔV>m0F$ 5VkdiKw'Jw}7Wыh%6fqjK|8r*jXi@qK?RԹ.oUEۈLe0fi, TY"TTq{LgL^=F5OJ|-oq}39fli0<Ҋ%,V$aʦ>6'(%b jr<ͮfף;-[[b'`Z6TwUBy_lUq]KQ[mrKagXe;QLdN/ҥ7OÒȾb*5eo붮= ާfc8@U v @Bs+L$t"q0U;dCn~6Wm7vz EDY ]$ɂEkܟcMrQSJ nGb'P7<̎+7Eɚ61v{cp휗2UNn՞.sR\p ¹ET:X2k*\\iPsOqjaN"{uʘQ-FBhQ)ȿֶ1.:#7&Y9 I%v5.td$)Yqp.#&HFBb,g&OggS@#ISbk%B?9ELHG*C7:>H9 1EBBn ̄_d%~7sk.5F c+@Ѩao>MzЛ>eƆ0bɁM30Ѣ{5J?FauE*@bgL2%ʦ**ڧ7mtj:ӵOl|w~'Y/'O|ʟjwIDnBXsQWp]ȨFqQ~KHt(R8r{H&R5ӔMJ}A8 it-4U`Ûmv(w$z7C le4$1oqy# G (ܚ  ^BH t`hMi24ΝO6K{6C26f3V OfKB / 9e"7)+u׌׳lSjWm-7ՅJW{=H3BmᏆ5\s*CBSVkXbJغu6϶by[Iff-8.nEgXC@ @;HEC#Ju>|J+wSJO}rm=^~Ҷz<$Y1CwH 2?P`wۘw=yG|F QM{ڑ+4Ggw{kOܯ 욫/EqT1ɯ\@n-EIE(8Y+a(W$v`Uw%ge/]#l aef6ӏ7@~MqZN]x [y;iLu @Ij_ӲWq"Oz&I*BO,_9[ˍMi065e߿b䞊CuQv3Nn~2wy wqtix?}eҷn,|'+Zˌ-&;SJG;4WO>qJy\WwzҐtAZH=Z*MV*[=?M(N,YUvG^V3mŅ޶M62ܰI(N/LpTvutj;Wܚ=~7{ !,{O*g2!Io7m":ܑ1 33S$L9@麜¿h3~,jVo㴽|֓yc N<P@N3MڟZ=ַY.+Q -L^0ɕ"ː=2Gzc[I٘"oEf.)UmWTv"if6Hd'qx D.tq^x$ǰ⊔=q*ڳ@*7\4@ r\vq"l4PQ nll>ה}qZBA&_; U9 P6r򑛀٤3 Э"^.  P̌1L"@*z>qNlMtJ#ɷŭmNힷ?.$bގs/By'{U2:n3ADY[Q~u]SV.!RHD¨0Hl|!ttaT-GFmj7Wĭ( H _܄m<73p&AU <ո5()sYniT"_r ĩJبPC9EM|R?}*ؼ;W5j[Gu.@dRqr')AD25ՕR|Z}Ůsfw5PNj/asdҜd']RBzN%l:ywC!6O#]e3]E`-^mVgZ~YkwӋJMYx[*^$lQReC!ևĻ+j3k cRܷrK(.^3GPp%S(SnyF_c~f6]oK;g3"zx~[kV5AbԶ<]H ׊vTU6054QQoɹ{fk6,|E^(NjxW-u;~ℱ;JꔗQYtrVxvtFW[=Oӻ^ZـiWHu0' R(Lof<_WZGŎR1$%GT=ic`-cyiu@J:xb)`7@@"m҃ 30of̔pDևn7UKq|Z7owqC=n"&?Ż-$/3mJ$1S#B:z!t]9Q}W"NONkgӴ90?SCc"Q+w'UOO fcJb=CxhXE'KG?݃O. ]S{k+8f5` 1s$0C` YjU^@_ !u wme3V V (dBeMJ`zE Aro7yn.̏}Kzal۶mo[m݀mC LWhzunc%*WŦJ뺎nI(6m0l֒jsFXHzOk̖Izv즊#/J?+NVtg~kGn.ښ+PAAiUAȊ("(@ji+)ƦjԄJv~`Q_ڧ!}|p餧?A;==;?BEA-:8>9CGG7."NB Wu 9pȞKzsyܾFzcbÝFT@KÉEtICT&쭑ys[,vvi]<7vلʲOCubt&@@*%DQBҔݻ\㛂$\fU)3@?3;(-|u<=o|4r[ s_ױb/FcYgsSxEI[ŸVe??qun]o/s F{xÄt@RI+y şM)uDպY5vDdzv.v6Gks *qP,ݻ)|uaHcMLaag-4 j`$0゚FLDut;<&jj:R1֏FX@^?KG 5?Mk!#$M=zux+ϻCy|eg' ~?N~I7a~gv##Y.\tqlfhOjYvӲiSlF {A TEܿe9}~OOX|޲t-2zZY2UnGcEy=5:ʔDeZY~`8/Cxtvٷl7s}4FŸ<@6/i줂=_]> q7c9U6]zO^#YyEvhbn*υkСlk%(:KZ1l^ѨV71:Bq;芿Mh5 6a94 URA@Z6C'*BZMQf} T6`3}H-We82 w̾-= L*`FiB(~W§G4  I7ffJ4}FK_2X̔Qsoveƹѣ\}R=t>E& JY5(CqiMVܯFͽʇXTOРEH(\帡fZe"wr##Jי=ֶX06ÆBDqأF_w"t|$%KV4-1Q 7XE . 0&r ՂlXܐއs :8 1@9Fi[Sdv/T'0!YLFٛf0 2uVLeF$U$?x#EݵwNхJ};wL.)g.V]\t,5*$pS}#<."粷\?mƥM\2Wl[$,^wT\,ϯJQ(唼V{p[ٌ/ \%רBPTޜ"󒩲9iՕ:j[#i;8FdBOt]"[ y } g/i",?(sNkUz̺63]3iV{Snڪ3Ȃԧ@" )ʳQks}s7rз2v2/ݰAw(_pܡ,v!:ڝ ɍ2وLJOggSBA#IUtIb"RCICENFH?2-*I===HEIABBDG-갫V^/}i'<)[!7kyLųđ<6 λ${0KFJD0 @k3U$. ~E6KA_24d w͔$J~l?tK?y؄Gˣy [~uwd7즣YJ6M!d.wr_&y8i 7QﺋjʌPӲhqy+el%6M1.,CD9N1ćrSݧ} _͕\3@/]3H9PQw=Kww]tit h1vCy%ىl jhmk@fS~[a>K#=I5q($ kPk捚I e trِ2I鞹S&w;*č]I/XQ]G/D~vQnlRB-"-lZw6;)eKoNMy{}wJtsW2'k6[3G;o"@ƐUvw{n>1AOi0JU[F=nC,`n6VP[A#][L5 &]>$uY t!;k?SLAg.}Wt*} Hv7+#}(1i$A/EꁿA Rt32|ӛ7#Q5f2-ok.͇ܧ@xt~_ƌ<$sRͮw̾ꪲQɻI ^VުdNu\GF\lQmXbO^gEe{V1i5ܺliQ3q"mwݯHCq.]fc~fݚ.=u}]VO oPRݤ̈ܠH6jsZ~\6[ɬ"-j\毾vdn8zEC4p ~s!v:j*A(Pb R -"*@N}{rY] M M͘1UVrY6P TLMKka.MNN lkZW^v59,r}Y[yw])?ˍHﳕb}, m_FWe1Qݧ]?oۢ] C;ZW;zGt^)+ɖfY͆>Nk.&C96GvovY>nrގՙ=f|ΩfML_SľSD֫>-ӣಮQw , \4^0ckY Izs1\ٝoBsʁ; +)22* xb=o/駉&:s7_Buc&v.%f>tWgvwYYkK+]^t>uZX Et'*ҬN:SINΤl|5zkCwRiyg(c'"Wva  7{l.\^ǒD,P#UV3& @u'6ruŤL7/)Ctn2v>ƼpzVpzCg<OuEN;Oowy3n,x.SvbGKҦբJY{jX#t+ϰ;qVcsMd$gmx =Ad\dX/>Ѽi5^ܹOg73@%a\fzds =L:8DoFr8:̰E kF佼ᬍ{OٽWLPkb7"#-h,MZJh;D/йs`xf~"Kј:^($uJ(Ɗ~z&+:ѓ-tˎ)E/љ Vv9Sl%nzR4$-@y;:@4cXSphFxM;.N tcM iXKt)1@3eZ5gJZ~^pij\Unx7l02_%i\7L2xL)aۆ~9e_$qeߘnDq&ZۥO?:FKNt|{}xiN黭_ۜמNqzv_rm"QjN$:hVe MD h1čS|]*SHU,V!4~K7<%DזzVKYE5V7pfff#&X{;GӃ5vY݃P64Մg>WP48;.~٬ܔu dXMo[ 7,L*[>`OC5< ό1Go;<,  :"!Z ە'|d{E;^J37)/xʑ7\Kyy#YuVQT* fҔ#U،yRbw(|윎;DOv>3ʕ-mO:EQQm㑢XezӹnfܻC KF{ i!Z.)3׃63m>〛 {%[^3YrYTVDYsۻlz6{ b0{lB⋖e eN؋i~<˹m{qqcZEjJe5)7d!)븫ӹ~=?\GWx*ה^Vyz{6lʄ;q = >c=nRT{]1 +ft~*dzKgӞs1gYtl;]-ע&*ݦ=ʭy68ëvmv[ږf[oQ XW X|] By J\VKznUmhv+6V} )JW.Q_Jf_dN_jnƦZ.v1gvRywm]UUUfk9@ Y!U M@ :Np#J0@\懙9j?2 eC릵O) -f\o5OggSqA#IV,ە(?<*%C9:=9;8BGBD<>=;>8AAB+4::8BBel9 "4 " y108>]a u) t~nqO/ɩ#}s=V߅ӿ[^}/ůh{ޝ$l9>G?uVjˎON!TZè>^S6!jujȊ#s+{A$ťv{I(t_)QEJ}0UGP" ]+Xf w f$w!2N3n]Dde'd`n}L֬rkrã#E/p{aٻOÛif j-(!KeJ'6iYJ^kޢy/ $L)5f*{~HRN2\'w,];V5<ٕc@Pn+Ary+OD,ת Tfx3'ATdlۣye(lz9k*㢬4DVr1$:X#77qO"#myX76T ].M3qpBɊJt;P)&ȊmUh^^p}[xylYXki0T^`peVٔN@$ü]NS^H13S]~ @rZïssSz5:!~OrjI(Y w{)]~_"\dD-C5/MVs>.ٙB6rG)#iBAhAl+Yʞ9}#)᣿sStnw2(&S v|:;7CZ OqWbgsf^qoY`~i5MAKyC0ݸ0@Uط- @>[@CchCUR5o}z"7ʬL(zJYWoX&~%(}{ gNZ;wUsm_{.=w;)"P1Vm<3K^]}fv^Ne슎M?wjKzwg26ӟ#3ݸ7J{f+3r`M `[0;3ܨ\̮]D8<b&BMenj8VRjjgfY4QqIŮY{{_-`1fd]gq A{fMH2vSٵ|Vgn͸y7T4B2 ]ًJ#8FT'ްwOEWT:zv'kRPj6TJ Y hl.6#߸^H_U}Sy22Ibltb/ 1ԇ7U{fўZgxٍ"yjjlV`wWu:)Tm/T"űcK誸*jZL5>WBo c\tb%ThԡZ#S)ϥʳ2#eoϤU[뾎D.x姬HucsdB,磍L $QBaͬxキ63\f qaǘOuc5_u0/ݪm#R/;﹵^-y{V5c:#Ke+ҕ$W c@GA?G!fzRZ.do[WowZrKPmeR Ew»t_*@3*RcJ~n[u~Yj'mM3|SHn˽>95m8NeN}=^m%Sos1Ş ^yjF+]RVsS;nU lRzoMxjfTJ䭕ooz_\ck}!1o)y2Vɡ3x}T[)D*<>Vy q},{e](X^n]Mo;9qbM.}[=7ggV_{L%Rwp<=Yqw gUa:4@CٳG,ܾ!hB[VV^_5lŹ TGaaazQ?Ƕhkex]ؚaSзƝļ8p&HU@X\#[@dǻ+eo8O23̭<4>F3LÛ5ZVu7ZP:߰m6*:OOhq[&>虻n]#m*k*g|'_t{p㆙)O{z*Wf>֞9S(ՕB_Sw㒖:/r xE6BЦ."ddŰ8 4U̼.BAI ,Cz]8(;dH{ $D7iQ }:"y'3$)3e{'vw3َdM{r J ƍ5:q_HkR1ʿxF ,RR;*y[J舘|OpԈB+`mEGT{\ Q; og|{ԑu~/TxC9Q~ۙp*^f܉2$#t-f cy)kFQ.A[YIq!f.7PBva<yh̚`d< 3ofQױm.(DF#YT"BhĿ#n4U&D* =x֏5_{j^tJ5SS7EW圮Dv凾_]?W O}嘍O=7젳G6tPPkTh+=k33FZs<Ѧk?φ[7 )l85Bւ X'ûgRTL+nսIշOM;ZwT=ho3lOZDVP1,@E ?k^(c+-ݷ՝77mѻDZrOggSA#IW8%?DB@27*D=::8;:k# q~fgccp==Oihl $µ g9cOrS\Y0%܌f}坞p#գ7qEAp2gES";T7鉄+1.:"6MȉQMhq H ntKйI}ΑP'! z UBS_ϔ[I8M(9-1ބ ()7l~R \!D/ȵʟ *6NV]l Κ,Q{@2OzuO!n| NknϿO3y: ݎάNT񛯺P5]{-3:[zZ_+;Byjz ;K&6߳kZ }`& VW7%Ae4VuGFQ:Vր;A"X0.UjGw`UѦVGK=6 {f.YR9# k ##*\(r.t_&] oRcJ.C_p앟޴IUz2Mch`}%OJ+r[JY 1oTj{Z]FXJKʼOhQ$&oE,L8cFiŵ UeB;c.F1"+qf(`l氊QN[G-Ov`+á)XE]%Ĭ?iӱ@f.JTd ._!֫Du_s20ź,/*Q^Gw^f$&wgԅ¿ȥE僡=78hQ)+f@%-{ * )KI+S;{yXTٌ x 5:P*`䯪)-K!3uTUbϟ-εmj31۱ƱؤLW O%-EURH]bH|ln?kfRH\(U btTٵ;nF,LuD@ Ӓ$AEC6yw{yq)TB)e+߮Ys#NJ % ڣC"A4FbffLbn'\xƗZd3u!Yڹi]8=҂3\U6e~O+6[ri0 8w*S)\ٳ=Qp>OdLLXYmїV{gOODTdWθ5b L쐶v,o%@̻SI³_Œ !Ȋ DAJA=D4O(p R&A55Hdr[U=%b ϲ pxPeޚ/x:UPz0wI `։C@IC SbRUho8Ϭ[6$jLj koGYizO2dTr.XOuyjr:3eLFA55~[٫'?+Te禫[roszm89NNOpGo2mqIw/7aO8'Ma~EC_IJt%O4v- Ml1$H{}鍇Rq9qM@%%G7A{ds }73+]6Z!5lޮڥ 1(+ԣNT /w|WI _tnI؏m~Xlu!#&kq:>Z1Cw(c\uλ\NiYYo:7j`d@q]^ց**@cǯ:*e tjzyo[mfn`-k 4*0LF$22|DQma{>WJs絿y)ي" Hks SCͼjeo?K+;5܉2/LbX{\_1bKdYGCa1"G gCpg眶J.cdwwqftW)S3W::Ԭc3ت sIj7̲HW3sHFklvm} xj,ߞVԏr*3L(L.>L{*4wW LTLu_PnKjeD&4<zPRQ ]~\>gHd 0QۨI۴&P4sy5ks8캭qzJ Z0ӕ>f`g83&1K ^mbڣÜvuHNB!?1 "KpٟP!ٵI$jF)S@\vl5q8x-s# C)H$ EԫƾI}$Hظ)L%EKN0]mFE;'~v:2;{iWy守mOkp[X{kcὛd?+r0s{$;k }\k.Hp5h="۴ҩI31A IRUL4m;*h1ˀX@ h_: BP&[IO;3n@ lFQb\ZjghzGb~tyV+\ηc3]9MFOggSA#IX?[)DC>BAE,2,>7>=@99;CFC7<:;<;zѥh(=UJF' suv<񶷍{m77m/\. t%&6ʖH² oxfڤ,|2U4͢W1Qsڶc7Gjg2\#J82İwl"3ˌeFIdYM5TVz+lJzOֽ5-Jr <Wo2~U%QCWbEb5mu̬^L<t֑IYHK!~dc&ifTAzCZI^n411oFRa(R Eb}KgeRU73S6fjB+ğx~^H: c?"ijoؿ|w0e񋠢q셏%z:MoT#+Mܪ(wpҸ>{jMQp۟Y6EhnqոLsCejٜRFD5:HK;>%`='G$Սq[R9b)΋#հcce7ShkWn qQM!qӁ[Twxt,Ԕ0@>Nܖk?˛;LJ2ʒ1zzfvcY]bE+əw6͕A/^rEI?iJgDu+"s7d#]tHwqwNw Ae6%Ke"^,+`8 HnjCOR>-` e|v!%rAt?lgXd,V1Ji :ewPLcߋ7~Wg4m M=`P=3lN" )c6k˴k"x32%oOFLy6K,Oz$ 5'2Gir4-[ 7 Th :{TB1_WGίiF헐wOG7379xV'Tw:ӝԵ\)fEy[Qxէ=6 ]mWe~11#[mŞX7Vk(I%g-xav4j X$ A뾫q b+` :Rnx{ ɿ8`W8@O"Hd^@uЁqq*TEnEŋ]Lo|_]]BN}ڗ\t鴥&՝Wqē';w= v*9sKBu{ճ;Rb毿[Vﳯ(.>:UMfȋ>4Y MDRzOD"-y!V۸ RX4ُ~UP[ y]1PH2 @FJVp30ws7UԇzMn1fnn'&a`:\4". pm/N|ʧUŊ7֛\[t2.G7s-+4q{In@e*HC턈M3kecgnOf٣N-\SSd0P;& ^s vw_Vz3.lc%Z Ķ79d)H*T-A;l+ ~:yy|ZS?`Ѧz2Sl*2}f (rBJ&>$nT58Žmu7iJ{H}&f'7k}d0.B3_:*#;6ZzI,ݪ#}n2Y;5<`k3fdi bL&pl gKGUlzjߝ;+/n 9lʰ " D60VH\ ͻF~{_6/{Lp6YZoV dDJ Fa 4{_^D2.Sln+]Sw7cQsiv,+mt#)Jjv Pyt3mE=Rt_dcBŐS}YA~;Ȼ17:myv"Aֳɺcif} 0<*ۭ{;uetl 2gߗo$q}zLt8hCF{=UYr<纐5{+SƦ,'ɼΙ蓟vʗ͖Tc /`<]b:735^KUk&)jvPθ>)BnU 1 } $&ۑ)Y W DDq ZI[$&CN*\ @nkK7 }IFo8@QaotwS& sb .cA '`PI[ʈ컫Iaə,~ʛ-ՊC>0o_D8.oqYO57,O tHAe4R,kdyON7"eR#J7HkKS׶uzXXЇO,B#j@ "\ =g;9AQ^ݛ$_v{ql,i[ǘ~ 9K,JlXՃ>cY!j06WT>wݐu椸M $Sg 'q?@xGI>9Xin!RW6om%nalMmPQ*B2 _95|,c 5C:7xnvơgњroi|r&P.1G/nkw'%!iU(7e+}ٕtm"ȧEԋ,ja?zJ|PBRN,i( \ܤu{J1 ]rzO? Zf7ff9tlc~Lލj~;@'R\Qީ[@kuuKǷoT-$}W &&=q:VvAh>tosAw(h|gDP)1"#BI*D)*rF)V6.BJ@uJ@.H!$b6i PR-N% wlޗr<%.')$G KLMSE:y&eZT6-ӆEAX.^RUff&"4yq _nk=toUc\VTehy~gWHfH7N [u!_;3@>hT\}N7 ߮ PNGm9*vgj9lv5AUdůAdHrb(z.D`:>!P,Yr6)i8K%@eq&z٠nL-ض5T/2 h ٜbf7 LvYìt 2E$RDdY}?|Gna$yLRox5;ar^W0ԻǑ~1(%=vO|.~VS\GŃיoU+BVLJH R,`@ ee̽55uzLL2Gg6ϧ1V~Uq_/?<"WFnW$YA}ls%`"sB grtagrW\ YG~C.xaͱ|O%':>뻯”T}w]܌բmi&cw3?[|J@BlPIFR/wL<$ʮP lllPr ~{C{3L1 'qvhz3olý r l;fjԛL+{:%?xƔ>s/a1;GkkOjQX uv6zz*Q$Sgos{b1j\P|0fE84\U|{r6~r (w>aKD5k(~zn[W3LI{oge5r o`I-&e^ 0bgm f-R@6I8A CY|$\0 ai3񳖷/a{L͛LWpdi܎ƒd?[2NMxY-8Y{<  cڻǴ(3*οG*_l>26s*'N%q{+qZ;}qWN/ǾnFUhrENr wp[޾QR}&!6-^˷k幧>]n{R Ĝ_7*΍8q} 8Nm著]_"-ڛ2ֲUg6y,[8?rkM.S&`'5bnF=0^>U\I1`}C \)]÷nVީ7U5f׊1H$^W~We׉a>x^ϺM#ݥ\1tSΣ˹w. N6UMӓ]ڼ5åY@KbLKy$:lcԄ#iqa3@kv9LN LG,ՙpxppnL\6$:JݒP=SvJ+z(wa;*d.8T" QV̎dh(  L%@uNSV~*vsm5^2úul )ΰ4rUzoP"<ن]?ebJMQ]Z{.'nkocOggS)B#IZڦCJ*=;CBDC>AIL@91#I<:59;?CDF?7<7>:>BFBT\8[3qOV딞x<GmӖ̇ؖTbF]jQ+n-}ЪDтVJONy^gOInvwo\}5m d^*9p+U%"0a$XC1ﵱ [duDdiJ)_/ HwbW VP*I"J9ɍ9uF8]k"Ov'MRVm`+L|*/&:u9d<%Ng%>"1r](<^UR3 S ta"*H Ha2yHtteIФ=p7,COl4s k'pQ-F_vG+Qe;p 2rrA@FmsyLRf6}?pq0AnՃ|zׅg`>r]ͼJU1(VLI,S‚]sV]]nT.IV Q "tK\ Ls=Qϖ9m^8A'0Bn2qVpOSh{sqɨFCT+]I=l^{Ҭxz7wk,v:>ev0p$GZ5 @1s.ދ^Y)ygM㨭˂@J6,X H]^)hb B]8=Mn~C*;uq+&H$1Lɡ@צX(=ۄBJ; #Qc8q w;p(H7=w^6E&[ :qlxG 0.P$+U@,Y: BEஷNyHL7oƪ̔^N<{Nor1+|vsfnQ |mWre*Z9E{rtF={flv;y(Oq d31|6{GwJ13Վ6n/;tyݝOYG9F=lrEQ5lvϽm6[zuw{u$<]}LjXF~{B˯pyts8jem0ZcهdeJ\)ݡ.1q4޻9x^5eul" 'c ?smQF{օ:V_f b)J#ۧX݄X7 1Pk\@dv\) }:lۙn`y|RuVG%6`R Nơ/ƔrQI!\bˢD^D65cҢs-n@sA3D-(:~)g]ywWR/%'=\2$ ++f(ҭh_J$֥kϕ_wƌeɰּtfK01=UTHa 8j}ax: ֡1ǚB]jotWEwe=Nc.fVMa>-IϿj*@fJ (%7[zg[ZZci>FkL.Oqq5K?~**"L?v6r=|鮰 ҶYWb#$"rAr=gY`d'@?;T0Fbe  O%i\6v4^oJ#|)u."v<mҗqO3/SR6%o_ ~fo7;xIԶ.͌㽸 ?Ydl|`1U^J$1ʇ+nC]B* Zzw'nNE6|J2g'}n_۳:/c}w^}#a52{Κv&i XqEn'5urY*8G_qM `:wdfAH,hiu XgwM>6%i*m0TXA$Qj x">v6V؝%ߺ+9]R^;wkc RDy+M8;(I*.䄏vtg0}bȁZ,kZ_!vQ鬕wg6E\d]aES vifDj& !O}{ugFvOtޘˢf0EPӑP:5b\Yn [A3$dFK3^%D R"1\2ԐDJUO~ۜJuY=.:\s#x#&qWx7o:`xUg&-LoEشt܋*۩2@cd 3[2?tܗ^:{ȍhj @@Id7o dlZ]fbvy 4UZi݆n,lUD TVpZ8MR^ \ w/$6cf# Ӓc|&HWws乳Yv^9Ud[azIqByG1&^yt+ùiAoZ/'ߛ}{[ۍ9}&ӭ>_lP%N]EZzؚ6/ 1 4lg!lu]Kh0IEsWx Wb 5PUaOtu4=%hnE}DoTOggSZB#I[N/'?97;A@GFAH:;N@@26=?;:FD9?:;G;VI¹B3=8Mpq@vbEy[q@D";"˻p`333c̔Ik=DkQ6/g1^r%m5t0U(S6lM(b^xReIꙩVJltJ^Bg7߃+B;2|z(ff9J(o۳ Tldtފ1&P1fGƱHCx#7Z#ωdpӇ1jZu.;yZVJJq{(O&nbψ ;ԴDK") cLr9{{-g{{{{YuRn|jJɁlk`ۦ(z#n%%m>j/Lչ{׷a×m;Λ1K-@eRz$2YH]ྦ=WW2&7OL2 됶5e7GkK14?ߖygO>sq ܣGMoO Ymf&ZJrDr[zoO,{:fFFVᚬ9H:ܘpA,U=! 73gv8Q$Q+ܞBqr+RdZ  ~hlMB/|GJ8lãh];O{zN,PntLe#R@11a0pe 6e_P1> Up 3)R;e+n7 ^^Qɘ* |KwWzrcғ߷u~Ws8v8qM&t]w/.Ó^FJkN@YL],EL[FVɮn(tΈVBPq;}2tD%a% h3 ?"[MےtTn@9ޠA+M; FVnS%!3\?S)bF 2ō˕˒Lw ͂5Rn,-+nR%*=EhTykQ$ʲWTR=aߟk=TZN#Iܬ7Z~p< UGCtduI}x|'a~'PλH)U#ov1|+[[wXkNjZY# ^T+[2>Z3""'X)DACtRUF ͹$7+** C f`;@ B3M6& ro pV=ҍ 4 2@̎k:[D(> Z}t'eFL!HOx~86kWfm4~3]+E$0-\lF d&jE gÅ%eޔ.:s bߪz;jYzb u- H8|Ugyǿ)DꜶm~A5:j1 @őM+JuS~JOf*Sc 6=n܈i%q= ]yI%,3"CwS}*)+CX֪Yrz&KPGN0== w̃=;g:dzޖ= |r%PGakU**AV? |w~"F˙mjt|5ⵏcQ nAfzj Hhz ?Z$0[|/̬wP)8\)[\q6ߥ w;~ϓF{Frp˒c;pޯӲy_w57>o LqLz&2+y{wyA{=Qw&n\.zfd^o5hDwZE1[SQ\)HrPĐV)ӑzY$Db)uy%+\9O-T3@ iH  tM0:VBM2=f:yOte6֖͖C l~Ŭ[7F>xfe.ש֪327 RaihZ"%:}fޘX" i9o"&Y;6|wq7z2m[n=L{&&]e 9D=XUQ}MSv[GyKl0wtjfGyqw&j *-#7ו҂k[!RMzyI*nVB)aKD Jf*qōmE鈢.ނ&<$r!WaW t HF ryq[gQK2zFN֋Hn`] 8|"pQ{IJzlyx{itJSyGc2ɬ5Sm-lWiySdYjDΫgk9щ}A6 ;U: N29نn&lu^sz`u{K\:PMQۿu]jǗyP,Qg w~ÀF?u1@'`Bvfcٯd6ۛOggSB#I\I&'5G@A-%&"H7?CAK> 5Ep@ ")~;hn{&i4PUTC^Ъx. 1̼CL`Ύ^zIyK5.]UZ KG1]a C|;{g wes_ͦ&:>bw>\亀g?<:i^<]4~[ڟk=p4@Ϻ=?cx<^\:a-k,,4֋jyi]]ZI$;sfx׃1mK@:avKLAj@pO~s9 X,7TY? ,ݸ[ƛݷ_~9Ǘ\{o>jG"mɥDp[* I렙ֵ7{m2U]t" 0TPJFQw氀֎2[0,I,?.EnTۻ=lezXolZ6ptxF,"oc4 R(yϦj̔ kӞֹXmMO6WF:=ߏ\ǼO1xZݦ搞29^lV(L~{ti@SUIazF>b.a?k)dq^5f,i0$cd/qA]T.mWykd(2 9U]ȌUkmA Iؐ#//5.%l 8>eX'{6N&*Jͭ皭dlG12 ))Ί >V6Q1]b [=6F*AvB8 WMYCf>=Lk e=6"& B7MSmc.@^kB:g1 vɞlLIGllVdf75fZņx>ww?t;5̢OT/gKJ5ˊ`vZvӫ#鹩)DT+]uߠ\ݭ=}Ņ=JAhYg%s,g+݉&"#FJs-qݍizt]Gw]6w Yr; Q\dWGL:FazR48p *4]fL[nxb8vܹ0<8b Wr~km#8$0;_L:-l.^0︒zJL,_+p:ֹck\Io:=*R>kWo6? B{Xm ?d&xtE6k_x p: =J!٘jkG@!B>QX aj6XV%Zc~ B`QPsV&gBڂ3lXr%: M `ȷl6PDeTJlDBj BAA.AAB`]z^U2S}r`4T;WY'w*GDָIϠo+߆g2Υ^5":\Vݡڸͭk19ūeܻ['v4Nս qgzh̼[*rKSQ= Fo۬n #+Wb>W+Q3Y~44pQnJ).e=I8(equ1fnĔV&g땠`hd7 h.I,A*"6 See{x٧Swz}y^[fyq_j$JOƷɷeάZc2>?:!Jřھ&g/:R}7ykY׹Jvf齶m3v::Oէ}E!:D]=ԯ{sSyC%"COܨ|+7}!HT*uw=nѦM#2k*@Iܰ1kM Rh;>/xx]:s.8/KV']u$~}$ 8 T9h.R h~Lwx2{d\u[!?4l \ C0jPɋ?@77vmkRM ]-LN/l81* X_ B2ޘ^o}Cd:߫juO}1ރ="d"uMMԥ X̹X婌LaQ0fWK^F'P[oͽa5o;?,9Җer*B@>QStQ@@yAsxr&c}4$,~w{eo,% QQiv(=o~hca0KݷC8(MtPA2s{.lR5C]~x^kAvcEuo 6hx*RdžP]m[9У3 P5 +P& nns9qWT:HɌWkZrdZ a7xR-5\kg]@Jﲟ>ܕAeV pQYSTJSŋ2,- 5@/+H'y,ЎVZ2_ rʫt;}~=۟M =̭ 0gbI P  JBJ:򉧧/lgd(d\NuD #.rb?YL(K$iӕ-3ιVtEYĜѠBk٬ =Y@3?ҭ<ӂؽ,Efˬr-/v#F L&f0Re+ ȐdoP ֛J.[{irYU/ (.c,VczZ0Y}+RUW՞yk:u(4&NDc$p@ .9VP? |^ڕ$BX-G]lmd5VIlI .Ynj?؎T#oල~3Dmff֔)E^ek6򠧷&V4XRcn@ N]"j?ţ?2|wܹi__iI/2l~Rf>9@>M=V$W[zp (HTepa..lʴ~) Nj,EOPݒ~*ma̪jM=_PjבM~O~ {UyRy _N'99Om*!m+ֳՉ5~u_dI2+ EЙ<+m} }.!R)BnTҪ!Z `֋T@q@ֻ߾6a 05+ 0 OggSB#I]Cj$6:;@HGCOA@GF:91&)^;$T9[D 7i^a9‚w$Sf,{_+)n 6?%u_ŶꝎd֔.tw 636}jr^}K*c+y?;ZxΆ;S9yׯB(>vV}crEhROQܩDgkA&SY&m@)/-orZFD\;^\Ff1׸+Z2/+E_0+% FX0$R.-ti k-HV-5.oPIAq4:u5eQf P,%|~G"yE%W60|̛.LڨE2 *A3/IBe<)^ʖOlu4b57A`6&#Ĭg|ڍ$o/s{a:˝f'3j>Ǜ)UNT2`]v۹OE!DvlK.f+\Rwg78-Vh|*V 6u'z9Hʤ>aw# Xv^ͮ~Wo{[m=͐vuzThEX>gw];3%za2j_+"K~vkm,۷Z%^f랏^4hxuk Xk> ;0Ԕ)yE\u1f~uNYk{RZON#~i~J7H.>Jw2d|N֥֟|eir\k]i)f؏ߠK|䥉0Wy5JqW;whswk]e11YNuY([aJ۳]6kݍKY ˴ݯ( d+ȨpZİncq]4ffcf0 }w"d9 f-Ʒ*ʖʑ1a5 U^eku| ~pNĦ`Pzs0sW69̫)kJ~Cx>O,OWtjp$e3<.#pcAaXx;SެT+-#A_S HتێJv 1-h 5Y^U1-fnDuK*@\qbmK43fFƝrj]*\w' yt\UIWVue9;2Zz4ޢT5-)c*$mܸV#Y&zdͱ!6DOaf@.7gI&oSݘ0%8<%*u }RR6Фʠ gN։w+Twx y@'>Y] -d(C*k)fjfT[5.r4_*~[_bˇw6ȋVތ3Mg)T+}:s7۽[*uO&ΐ2,Hȩ=^}-7j91Vnk.⺤%1@L#Dn6g 3 (܆a_C4rZmJ&$â.[hd.s鏩"e˹#[lKi:(x ~4S"HT>/! &Jebb kW3eVlʧlokza<]Zkk9䜞GYш~}u2,EcL.}#ޞdG & ^WoV9̨sR)91{{sW+;QM |2 aڱ @2ި <|M4tuZ}wCwN8~:UVٞǷrx6]BQ τ]|3mwaOaRW8y16qΔß)p1/Z0jB8@iZ "O\ېԦRݫ}k73,ZLޭɮXmkǵt8V|sU+/pV)N|Y!l eِ鵿S~uM PbߞKbW\NS٬rT.KZ tiUQ{*s4\?c*zfSֿ^NSNshd+ Z|Ak4-Vm,qս.Fro,n8OggSB#I^ǻQ0:79::<@CBAE?CHEC=<;7FE4B<;><;:8B9AEJ;<;:@D:BXF*2]Ey)PNjqq;`rl2~NnՎYmJ )CcUeH\ITx{}4˧eT6]>{ekWm;٢wR޹aB1GuKl?:ctjD1l6{ .lX^d9aЧZͽ}o\Dq-;Er6ϸE%ƿFrgmxAv(aP6N-XݲX0p̖|6`1ԳށMy #")5G<][2jhVf"#[t3e.!%+m c I=/HNO%QݘB6k=m8qK t9]b;)#/2OF?ϚY.tu[ޖj#%r4Xd%eZ>AKs7Vm"]M6kOlAݡjFHYZTP3Y!!Tc[Ol֋*USt&)ʘ+)حfp +p:mVuW,I1孴ֵLtmjܺmMFʬҬ2l:_q[ oa^,ѳ~ʅB6ƽ.ښKNY< aЂKdY@'(-r\m̌iF\z\Vkm{Ʀyߋ ˉy&rAwvJ9 ʏXXSrcչjukԚvz[ ]HPG*0Puwpcn=Q1,z}mޮzz{M˻i-v;TY .`YfcwjOIinuUͶ֪k\F$E5@6 3ZջB _RDT*ԦIV弬m]i+L 9wK[=趔y#xޏZh]cTƉw"Yx=U^l{e:zJ K iQ8|wfńjjoffTN3PP{Cϱ ņ=]|"r~>ͲՍjpl]1ID0Z"KdIb=*M֎Y trӧ8bT.ʧ˽QeO|#uksc(DRM([r۸4]L=dN5-:'0BJA,^VD3. ]kBP $S3):U"HRQnG]2r7ܒ*a.Ţ /3v#Ę[\vȦzfpEFncFS(\,7vVX !Ehگ㭒xR$# $'TMnݾoHgȯ-6+3;/ywP|RX{W4-@^+|zp3Bft]YWVv?Y3rG꧞1\;־S]䳲3&gR)rj85|dYcJO-3W"RJ(6Y8&'XaQ$$j YH=Du`kx8& k<Ӭ4 . [pw=]L4PKFހJKPVKbfou=BV/~j Z5*dd.V%t*)sk\z2s,6zp ?L&4$V1*] 1ϐO4!^F9Y钦v/iCnLPcyʽ,^y[mdReU!:pe  =h IvyWϪ3͢ ޹W۶]kz5Ձ:Clb#wp>"yhOͽxͷʬ,4e۝U`{vp&Viŗ4 _"|mɾ\3l7Md+Y1""--)7{:>St'rrL]lՋc1A\&{٧N||Tjg8vz*+FI]Gj*NS*p,ךHo|lh{~-f.3gak:L@5Vvّ^`\(_RHȓp >Yȫ5I%3eV&@Yz]zo5XmIx钴?PMߠOԟNs8oٷ{ x[9#~EJTRB5( :jIs{ַ_2oe;"H A\B(B<=c-5`+ IM)%)yke~P\}/\/nI55Y|Z9:eV 2=>s+Im>f3r״&l/Yy"OMY{SJbZh9Zi]d$f dzeDR17Z v~截JӲ4q̈́&6=.+ϕK sQ5Hؤb RnHxKxu1*m#﹛do"̒p |ur6nɷ `<0-hk-j}@~Ba %G4A.jDĊg*yje%Vam1.-jLnsId)s#~`DwzL4ko[uBk/4\Jι[ aZ % Pƒ ҤU3v Zk*ٵMUP'@T&i1#meJD ͛m]Jg;}n)ֻIlUkk:N )jWNhwR$73#oaV> J:[b]On XL^e!c̘wP,Q-u.tpn?f4o3g OggS@C#I_H&BCE599<7ACDBFE8-1D<:7><=z5z{F-zz#U W`Bx h#?=yw5wIޔLk>EG{x u|2#뼭iٺRX%[0֣uiY;eB)jnw TW.]=!طQ@*=Szs)LETvJ v2NTRxUF"G<[o"WAlyL㸍Jr*1Z`1_Nh pIЫTK]ku%rm>c8xM02}/zP̰~w6 }mڀ1́q]jFu4~&`WZ.D#<]7ɴOEvL&5SV[/olN6'N&1<{zMJ4n#r UwƎ:NJ5TMj+ASWGu(ܼw%P=i˘wL\d+҅g{~lTn2ʥ)om@Ľ姆9{Q6MS&# g3iTKo+g " :Ir[W$aevi 5(zF)n3[ #rP- HIW[wkj3ߑkRp2+m`|+|wT50rG-.>շ/?nLǩcezQy$6]ENƷk$[~w JhzOL?#fϧ kJۗ]Λ+ֹUT,L@8n>+nDי[^$҃aHueb90[HQc UBVou+@H BJ:/5;}:1*qy'pps>(T>a)'wo|\f.ITŴyM Ap`n$JLFY"cP@숟U"zvyj(#^EEl fx\$+ҼZ.sH'UtEUt }R&Yմ;3vXdz#TJҴ{E= k+Y%mmOlo-F傤N)Zn:U%I u Y; yɌMM |:wA}ƺXNӋ,f'6r8$8;qnw(UM*ppV꽆WQ-Fe7q:Ҽs}2@d+K5e5RݥcZwQW~7EvBFqLZu,ͪ]m7Nq&J'6pLE³P'ņj7/=E6CB`_PY֬˶$^AfaCbd9#iozƋd5w↎gwpPX~lcIPnr=Xs̚k2y oy6S*#&ivc[q_fn~Lu,B{JZX$Sd;1TY֕u{oѦd{^a,/z]rk-Sɸazu4@.J*^fpV4̝qi M(\ Q,T3lT7r!D=6?ƂbV.tV:MՕB(k&J6}<Itgfp v[9.e2n9jYS:G1@v5aٸas ^IO\Q]C]tԪD\Vu[(KTdb! y؈F@u$ qr0;{jMV ! 84YY[, [ZF,71#"irt7Ywg#\[o&96Vy7nl!/bN\0J+`j*޿"~Lοְk<25;za_㴌 niqڑэ(aU9/m.%[fwd!lRN],w2^M)mܼx.TtJCL7w^M~"t4݇r!4bl8dBkpR^,Y;vXEXq\FN>؜޳U 򴢃6v{k;.:"w6n߰HY7 t4BcJ. ^XB9%Lު:ΨX[42[ye2 2{1罋;oPj^=F[vM<[cvވk eh#z@{5Neos܎ّW+ߘRLv7eBLaJ:\_٪?[EJu]76 u'щ'a6dӜ$bGlE` _:;iBW5Ssѓ4:kG,ZbdN b5]3ai!񯺞N=vwqϩ23Vw׼jK={Up&! p[RV`F{v!ޚuJ[C^S{>%>@{yZj->T8v)dZw[:pԘĔۭ@Ee0:i}sbol߻]<}K^_U7"5#N3 }$2J\v\*LM ȹqN)f{UGuN-! qWo졜FfE[hhFmʻ ,n5I p3{',t:CPASOA v$qD3.QI˕T%1'G`gF7+]OpY5{_c6 >‘}}': vcR='%eL&wG:5SR<@(fDRyeGEwz^Y?Yp\^:tOop~ViWp~u,ۨzVf9! ?؊+{cvti"+ 2ǹ'LUG#Rܞ^%bFŨλ dBERzy\*"C (鴒A HHT D2 ,^ OggSMC#I`fyw%C@;DC$7=FAAED+/0)HGK3:<7:<4Hа RBl2ԞC:zN&~-ڮ֜M~wTޮM@nP$c %TM66-NV<*6ː`!?G+>61]Uo,m$cW=6;Q&OP55h Z $hvD tG;]]~{5z̨ٗGEe ,"5OtjPE(d@?`>țKf)Iz.f'O]lߊVݻvƐ(LZ`[Ѩ*Qv?O'p zg,.LoyfZkb)%kHq8e {q"MUbce}"`nd炿=[3]57ԷQi׸O3+u.y:L{zcqFJLRbh4_ڹbgȁN42qQ>>z.]6T8oytG~ohH(=6\(pψ GN-@!da%WefQrvW0\y1v#tge @3Epsz5t"ڠ2n~`!)*uVw6M뽙QUVTk?pnm׽Vݻݯ]xe b?]&c uD9KV*oSC\yKRNFy-v>Bi\G_OGd -2jLa䮽y%1Scb"Rml33pjLl7T \ٲ ,yYfq9CHavTWveȽi~  pсd/`H)l nwG"#Q$(} N]3Z塀7S3L >Oζ15vQ9ӎퟗ,c'u0ILvڌ1;SRܽ|>D?-g:;nr7.[}g;+}vF *8̭̊s[c&1{7R썏&CzavI!*$"XMWήRc60˕9gHZ.8`VS1< d9cS }ps^c_/_zt6եRwW[ժgʥ%8V@p :͆$6%W5UfjB+[+ O@Yim$1{}Ud3ǵ T|lAúY]yjd4D[:3ެd)2B5V)19ݪ=~k};c\M-UVdnnDvZJ[qb22im&*r{TE697](a//:t+4* n`(,a9g0ldB/B = ܨ"2.?.ZK l+Kxf,뽶SAj>_Q<ڰO۷u7Wwe@ 08SpS+ Yv{zV*L|iV6  x3)3zޟG2j5͗4~Ub"GO4cT® ݯxW-{iۊei7J{ӝY­+=+wBL.s~/-(HmU&@`XXĝѹ(UqcBtT꼕qAiO)Xr x? 0 X.nO!*0e nkI8Ut[("VQ Q!f,`VIjĒ<@1XXLlwz/7)y?0(~<~ٕ4oKj|,W)J=u)g4&]HEEI]]}TmcTNUCׅ4G̥B%C#NnfUq{[q"ih ϶JxJ2}FA+\*70 PtiDaʔ}zȒgOdrs~apR[Yv'=Q;I딍ƴƆ)ɪCb_f*ug[(~N꼛tm>D{?~*Ytƙf[٬ۭfwtOΞoͲw5+tDžJ+8]/!j!aJ"GFg$SS1lhuQDMd7Y֊t#T@Nxdc5*#O"@ ÂLQ۷ob㵒TѠlgZzA_1о˥.vG$TvN,NOcmqu p\^ƔLYy^ƍn1׽O~+{: o$e!6ߔ^/73~Gi 泥\bs]''/s?G>)%pCXK HŖLh]FgU6kչ3%͊pS5~aG\}UR$Ⱦ1c FD^YJnX b(O)/#B.=`HkU F{Z- w}6`tSi/XyfֵIWn: `bMgaRzB:x^,x5K)?× e auFe?wCE6^.]t.6W]ngg{F,O$x_k,%jUWblV:]\sfJn{q{7B#! D2oCng(4 'K,#^Ȋ l66ͤ٠jZU6[McL Ƭ5n@|vV^TT6 `*QO`=P @<UqOՓ<"$)3SJo`O2z5B pͼwfg")m2w\y'^R󫞶կ,U-;e67]VIYٙ|!!PcM p}VFv;z' Stq"*VJgچ$ u/li!iD`e&LBz0G xb.77DaJP/, @&H(@ bK=!ih89 GF\>g;uޡ}ufD%B$\bޱ Su\J:*"Y.]eX E7$RbQ]# -]&;;:s$, `iC ?E+=BwüMMסe׺8Ǧ zیMxR-Y YP,f}DO%*IDMA42"VmzǾѫok-tϥD+0WZ8?[8{yd.f9?~2ʶ7׶g8M|V@.h_̤ALR<:>s{^kR/-mٚlV:sttZ $$~+}sfxǨRԄv;Κybyҗ}6\Q7oWո}8I21gP\m5=݋sP]x،jO$]Sˍpgzwy"FD,0}-}a29$dƅܸ3Q:…Hi ؅TcvsݛrFmݸs9g^YNú%N6 q ˙j"CG 5ÝUJ_ _>c%W z ~ t"$ T aݼ']{hIԔQ~Fng,`|rhq4ܕisNYqnol7T|A=Y_BGu$M;* zԜqNel\!qq7k!Y q3=/Y`hfT[QMq(F]1'aD)~u;S񍞹ȑ;s3-¶Bqc耩>+GTY͎*pme>%X1o<3?:;W3^FPE\Y0˶= Q>;cP@d Cko ]ß>x0PL٨Wr9w.M=$e:o}2xq]cn**ΠQTSR+Q.5tlJ=c[HXΫDK*U2ͭTKu\uI{zz#c<WbcE3*Kl:_뙾FN.8NEQ+em32llյKp{]vJ-6idzҍEk/qC5ktk[:6F@KYR 0.{ z)Yԣ7e?6.Pff(5IM |8oYql^>ɴqҫrq>nkވλ*Rua^OUu}Tvc~bN]1:})<0Ϩzgu݉j'R]Nk?b@|ѧށycQW(:oP6w/+ٛ=D:< 9gr*Ímho^O?Os%E~gU D]sׄ9&}S&MY,վ-?Ww܇{L>|Db-{oݵO5hI7{suԿ.u;2ރ;zn:N(HC]XchKͪ@Tu埞IE?EA30"78:887GCDFID#7pH1U(GH_ZkuWήi:fԼQfZ zqZ-sf=sۭ%QM2~!/?k?aw85/cNwП;{Je vp<^ fSV*1l91BQDEz1bMœ\cGxf5Z93Mm} +Fg+? ϼ%S/ϲm k 댴]59͖rJD/_CNBe53(${Z[nujhu ZXm|]P9Ebٽvg`"Ma k^Ƭ—Ws>Է{ZqعIaeiၒξo^\읗z*Wo??)&@krǾ/AMU@WAd.P^ lύ!# `V*-W wU] {L(-#o˯Ptׯ>8ݴ`PhR?,;!gs tyR0øBfR\tmlX&,3/I6LF@-Xf ( ~}RbX& SL+. hB@b0@wj_K 6$o.eU2D 8ZVw7ly;vdLq99XL!rOJ./}YlNBw1-3?k*c6o~5I[Wݘ |sv#+WP7ZBeo:RR[i)950c> 2\JDF.]s,47YzS'nπ=-diއ{qA62ATµb"v/sSHffLUp>?Sk R5wp2澽9:\aq!MlUQؿB!D 9[ޑrOӛ9G?JYdTz깾hluzwE}M30*tNԕv:}I '鵚fi8I*CXaa܅srƙnЇRY5?RwxcECH1\`Zr;%:@4\ -)$pl-u5DW7y]-JRYYSϩ'oޘ5[lƸ$NBŢDK)ꂾ6'""oN=#3f9g,Lmk{?v*3lxԬ4vC0d< ܖ#J˶7[+M=ڞl^/Yy7ks& j"v"Pw$8~/ȧ'[(N\\5F\6s޽޴lv+{ rW>,2vWk&\ ?>&As[K7{im2N?di}Icujr_v0L9ʃ>?|!*ey(?ϯyvW{̞;zo @ښD@/|+==4@ ꪙxj @afZ/ ͓b;{>}7pj^^7E@pJ,78u"!Py{#bjwOi@SOgl]ݥJr*>u5r5m;/J62ZpeynQݽJer.K b*pV1؜Ya|få@OGg/d6SE^-A"G:1KXK؀@l1V3⎒ȦOc(q5gzJ`2ޛ+ M[p{ =ĘB5dPR&de3y#)\`&}d FBE]g>z;͗(1X-Lצ0숙NSHZ\R@Tʶ3r,e!JnzO'"Bu x} QtU.H߽X;Y7w|teig{&^;qAdZ(2&n ?7I>9a\T7q +6b!aD9%cAJ/{/\<k X_p!`sP^PSSLb C.;莽"= "v2%@yXj~OJ:Ib涑٢q[-"XmF75|'W1_1n5 (ўJ_u">xɣ?S֧էYt~Q)iPs噭AT.D/Rb/7ԡʁȭ9{)r{7Qo=Kƭ\ipս_ - ۟,SʧOs`B״&9-awk \ײږnQ9ļ%ZM*X.K^,QXyd@$1 yX`כyT$D4ԙ9ޖ)nKoCcpލVZWy3P+9wn`S'%id}ו9'KpƠ Fb/7-*6{Ml(c} l.Æɜs̉c[vM2] YVnL$ kbpVϖ}:ne)0;p3z3{cq 7n6$yPxv+VY΢z@U73b dY)+eLvMR{PzN?k/Io%'{޾.e2ScAXeSdJ󟏋5Ru^gNen/Tڕ|U][*ު5?6De~TrbL*`^ :g5DFrg7.+̘tn4fw|"?qhfs SAt~\P>v惻k/4Զ0Vmu2`e:O18k@{vD<'{/gtU ,NbnHs}Ŝw\(k[t:,0tR 31v>%a:0/COjHNSuTJ197%k57j Ɍ4JQ$lJcb`s) H]J.n67{h^5)}D4IV+#hFJ_|}JFnW-66{ ol%|Jef`u)6e KUI*]Sx:1M=UWclXѪ.2r 8]!e‡/xK,(:&Ʊr,v:>kͫmىtV4MzzogYaR;gm{ZI&A ƲoffK̖jH;&QU&)yk~.o$.z|u6Nq1ڗΧz6.-%->Wv0r\)iDi15Zu21gi욣ttD祼17Jg"FJfFSԙjAZ2ƕ9QW^ϭ%~*ꉬʰ<ѭVR촟%lm, %OggSC#Ic 7*A:>?;<=BAJ@!B99AB?DFE@3HEE.'>BD>q)Z,yw:ؠ1-݋6w6XPV Cnr.T(K![RDU㘔I\FTuMFZ73ƹͫH K =*MXR-/$NfSI*tXm] /VnSoQ0")J0{.LD)8iOic.SX '͵[r+ݠW4[g4s%U Yu "0vӶJ5{^Qm7i;9\bMIPLj:eNS%wݭ_AfĎ{m2%ᑼrX*1x1Pf5=I/NFUjuC""}L6ۥ&wd< h!rSX3 ]8)*LJ.7(bۦu3,^X{o ! | Y6?eYLZd}R1Q^ផǾl̲[vkb4JրNk< ~P[<翓;NK$~#Gzq^u>7nmo =<-xS XXJG-B $/ڞpm%p!1'@2oSJ)yk[?mGFwd :N%ߕ70yӞ6Ӹ]W  ?St|#[J>ˎ̱{/#}"SrSN@D0?Oml2?I@nڏz(G #:;S4i F%РY\y"c77+6 )gQpKO/Gzk gM,ߝѾ7g!%a m׌S8Ѳ$\l+u%yhDj#'u l$olԌLkebN.NGnG x4F̤Hkb)A ]ăβHAtfZv|wo=r)X9uzd^/#ZUpRY4>4)(wh=OL*vG^x t-&ɇVFG}8SiP C27YI?% /CZmPmo5}F-v?U"=/+"ϔIRQ`jթ;yffjLU`^@EY#*ٮ y;> {%˸|}׬g L侒:tY)c3vG\GI^n[q~bĵ1Q߅.;]594<"a~gfŎPfۿYfs.mu7srF@Na_N\GٕS4!˦nl0@VHHYw/UG:?wY8F'0?;2`lF91֝S &`+j#$1y4ǯw_L]w535cZqh\tu3I aQ)@( S\x˭loff4ŪsU7<\U*.y$0_{x?\R*]ڵ6~hr;"QQX3VQ.U#ㄒ޹1!1eV]Q]V b' 7/*3:EIg")K)rOP=/ci#ssHI cQ@nN.Օ!6{򐮄 эͶ*z۽Wdq|)gBUoF3\rVN-P9-8@kC\:U=h td<0LV ZW^;B R@ )9P/})ļO>R`ndۻ{ckb-GzckXeIbE`W,?Pl>7V 3BI8fٰ5Y\u|uO8lfgڅqqd?/vbo%F N)lzÿ_~ IX"5@f^fMϰ]6"/!Hʯmk.꨼Y*%) .7{$TPrAzU:J$Au}{nzwƦ4[g$Y!گz@zn+Z+{9(ezY?j =gzo}caL}iyl|fO^]LO5>T}p6=vi2~w?}+q尅Y^D yr)=kQ(hMCϲRM2 {U%»+VAGjP6; H@rH5!E!dY]X))@!E.tI &VW&p(n dZ=Kga`i+n^qGg+pD@$+@EHIVbق".lUHL`$ɼR&1evPμ5Ծov~YY+ﮟZn_Wov-ٷLͫYk#2V]ZܭR\Gn̈́+sOpĠ5y[Lo24‹!?;-c؛]"M}&$]7^ J'71\Hד"$CHij9lb!M.h+G!pÕnĦzj_K `y) 76obn'.^'gS{QS%#Hn~5 (UzfL,  c]7w}/{ +g&~_i~kW_긾m>|󞹆8Ѹy0͖)4 l/ ]JuM鏊vZ]C.8+r(]}]J9Kuhn|]x'T5gŖGr'9QU FVKXY )!dZRb%ͥ5 r+bp5tD"#EE|/XFc: [pۂYf2 Ƕf5x f ܱgApS$(Z65ڣ$|8W #gѽMfs[X߁\֊ΊԦSg]C&O'TjWwV}+tMcΌ\i BOUա!2# L[+;K w<6'÷m)ݴY{[FclNYDR,iu_ߵlnP42ۯ"l+եn{ޚmMhy7`L"Z|["r" `c<_5W |98fʔ :Jyۮ5Sk8oOb.WO⻫w[aTEЭ[NfyG}'RwHuzss:NVRAKl΋je[Z5^/?˾3|+a7ά 9[V1Nz[C5 Ϻ"ԇw|Kѽ~):ښYux67F pٳޫ ,ԫsCE2:J[vpX@13++P_?gg;xW8åǣ5qA5?"уDPַQ&\1}VC_QԘ${F;l'`ل"0xaASLvLr,|4x;VDҩDIUD$$9y n'Wc3eVoԮQs@rkϾMmpl@\pnrTmID!pgs&`x6(t 9{śjImGBi=}{qkNs/3jjeݣm.1n*КB 3=w';,ǝ.?N[ ^/TCߊv;nJmÓyhTR}_l;6zu(9u>g   bj9\S+aH+a^$e-t{4,^stjYvfOdjT.-",7҈N峬~;nRqD>k+׽^mݭ M@ݕy-\JO(`^LȠ"7 g{T:1Ɣa= u-c@ҴuuUmټ/ "@ZV*8%o*F7[i&עFknIgԦ:OJ[[WKIdɶFfZ&HjV-etPg=1LK̬BU컿u6Zʼ6j:;jJ}~< iNdIVvӹo^2gqNx"qYt,oJ#j :H~WN!sO 枵ϯmY%M` "#[0]qpVs#[iExFu[p2CHun(Jԙ> :nƈ>io1< ;9b! svdc[671&P_oN LcR2Z\ 0k0$o  uN"^ rZuVL"Xӆ`Tل:ĺ|~~n]y+aU*+uRyUՙܑ͆ҧ/ZtQ\WrJR;$h2oJ-Os|y1DZܱŠzfڍqr,xGLM NlwFp2G}5ūI&Umzz}VMpxqv@<װ}I ]F\l!#Eä Մzp0;N#0,"͚w~y띾{3޾?19(j ^8kcGjqʷ{#BF1}1js9!쀦n"#JCHl#Ff rO~uDn{Oflxd$zK9fzwX" q}2/C0m EC^ lDB(>6a,jilq5T,|"Ɨ޴rgYlf:^Bhn$9Ғ%f`^U}ش @$at _n.cK][`UAUl.kjDwyiz"$2fm7h֞=U6weWWKJ9 l wyd57U&k?5ud,M+3ٚW0dIS Vmƀ*5B9HLÛRXi#pI&2%(s&sqQBnϱ4u q1`SB^79JT/,U)-|g#Xy'^:]T~}{)/D_=7Ob¶ؿ1D"7Ϗ yچʫ|&YWծ7s8W״:MLޠmeQ( V}^ˆ{`|jҽ61^˰ZDqT j_֋ {yaMD + @5OWV{D*;Lw'P'/ҳ/RO̡ҵ+d[t{ܝ|K\JzRA3?ZTG_~54))7D?ec8rQ;D6jQcm?꼪E:S95oجn^؛P9;\k^iiI獍`Kꋪ@Q zI0%2pfqhj{U*ޘ}-v]-NꜦ )fq+mi޻KueeBrSܝ B2:C!;@lbʲuJsX\8p o|vxR,ĒdzYXq{Ѿ跧l8CdgͦZ`Xv0}JZ7gץ=;Po9n TvKk>JT5Ft&%1Wy݅nn_0Sm߬Ե]6Oz9*#J™y&l>]Vge[U$@Qcs ?3؍o.塺 cֳÌ3OggS@9D#Iedː#47:;>B<;CIK6%><>BBCL:UMAP;u6`򜼢ЁSG ЛiIz'J=+S[>~#~L>#ICuZ5)2+xoVroؿzַTc0(s"^8Q-!q[{?V Y~f 'רiVdoo6ÔN^Z%AFu/KAlkfpcuqccB`viha \ l4K4K*xCDݶ<gC5U=ffa=G@Ial:vy[Q"**<`&m4TqxڐO嫾+' k6M%mz9#n$4 yNBR$~t΍o9YBޢq .2yzTyf7df]z.|jWx5;:j8nT`y*..6A,t . |nj,7RTl e7|ϞR'dϮM;k_Qyɢ-6ԝw? rH [_) Q"=7ژMGv42)WZ4R+Tyj gD*`٘xMN}oW;V}x^F̨cB\i8ӄy^& '\!]WP|bGu"{KE2(\bgd] <7!7>?JEMxu/˅BBRκں),Mgd֞LJe5x[2K>̓!/̓.+Wދ>Su}vNk {m֯۵flư[|*LnXPXQ <9/>̨)*CQ/YOb;@;s/^~(07뛜)pcbKb* ѩT]#"*m`' xf,/̯ۡ7݉FlfF^5fAֲqC| ;¾|1!860y({]H~oXS(]T#DT?q)]rRU!#*'agZ%$btP H`(@n l슰!jAEP+,0[@饻z,o5iԞʀgƻ D*B bӈ+(q1e$uaHX@X*xjFR~kW<}ȧ0ڤ6"1sdxl'SwL5K柢$wCL&*r3A?p{LiػLR* HgVU{շd,`Mug{zc₋ʺp 3Ft"]٧U'q")ErǚYLȊM>]) % ަ sR6+y"`h#nӒqpABJƞͭHU/,JAvvgCf6Q82?4a c:h>84,P5 )[l?̏WpD*LMy*?|N&Ynhh.|(utIPZX~;eZU)'zu_wlUzEŭ2o ydg0 lܔ(`KZ([-2\Sf7䛘vr(w.F] M%=3YtP:e#h{bi\BalխT']n[!*;k1gFl@ևqr2.EץJy Qmlb{zJt# 8ݹ @roO~̋98ZkM)5+j5jo׿ݿ]}xQ gr}~|߮%U4ՒL9}:O=\GJթQI1M]b/r՛镎 Q#BU*lL^لڬsܚ+ʾY&J}7Nβz#Ҁ̞2Wm]̍+gÏBؐq[Dg!/# Ynr6ByvuNlĴS 2Gȳ4u!#3ZO(6q~eWfePsNM_G۞\ *($Bi>D$ګ]o[/Sc5IDY)ClQoTxK]̬M\1;B9r.nO]Hr뀶_7iyLQɽR[0VЍ؁ ̐^񩨷ü${l ҂V:;;snmM9D<1wd0{tXpF |#:x[>0vu)˭97#^#xwtݤKWܻc*&b:e=5&a˖pp P}sςԽ7;D4;t|7~ĝ3KJEje{?&Aojv_-Wi:1=|OKbG=, 2rn1zzr=J{ߕ v7= `51Kk5 cQӢ"4|"@2<MދjA$DݧOfff],{oEX7ϱy~YV_wohykGrsv{šjnߘ;g;Y~:L#*m 4q}z߮߮^OG1vU\ ,ˆRV9? tp|z2,fTiq2-:E)p`ֆU/\(].gjko1j K^kk찭`34 `] *w.f;!=cP+CtR{! ܱ*aOOu[z5)G282Y|߾i^דkQu_SϓIt=èlZYst'hBGD3*dn:TCڨw*C=Wz,}2E 4)`daOUkpyb# fNЃsLRg].=.wl#zu_ }=̬<%Z_Otn9NO쵭6m M sUf| \=/7jvpa ¡!)ИR\!RErvsٗͽ Qjf2")>Myx9gJl\8;?mM1?Vi_Tˢ4bvאapGۍ .$+'(b7yEek{=<]DGʓlJN_H%ߌ="j_}3>ny jZn%SU1Q-Y=Uz*97w޶߹miu]lؚ[Q<̶ÓOÍ<& ZuFh`dyqcj! c%w`j:tp!OggSkD#If"vy$FEK3'"5==CBCBB@>+'>=:;8+-*XEʇu#/ztmճtb 쵫^mۆZ{f׺BT֭EN0X_g2"D>{t~2lvVMY/Wn}]q"AAL>F!@H]؎r=w11FU_+4=R-x'OYWV8Dz JĶ2#Ѹ(=b86z]*]}oQ</YkO)V:BWRM!iu~*trVȿ͞jTV}yV?\V/޺+3;M25Ym2'k٪GQU+=Sj2:v7ǘXjœGvVp@ sNoM'͍Hi@Lj0BasK sUUCzxm`>kA&4G,03eoprDwx֓dYn>uZ-rHO'jL{[JZ܋lJ|'?ĞŃيu͉{z?$ 5^ftWvߍL5M3<$ujjmIsg#;8=8F$Ìj&w _b>6ixèVL&P㢑P&]faw8S5/ Z66<[5Z ̟)fb"'~[MH~'vp jw@`I%CN,<.IH(PdϴosοAj&Z4v5=ܫm5lo9PVFܸw.'{ J?z܆ϻTw*;&PbVK+_{g%S|0G$]UWFohl﹡  (ogj5lHWғg@w9nP hZG#6MgFsج7'pu}&(B~ ȋ\m6Hblqfx\"6xE`V ::nqo]o\zn7f2"^ޤ4.Ռ%S{mZ&afn]x7j$t沖.i|' /Sƫ@Cqe{~ںSqw܊TX 5H9TwD]%@o+G15V]Li}(ہn>~QdNM]*glxDe _ۧ ЄN[ ݢbIA O]nnG75-(,Q )F.v/ ˠ;;\+Xv/۵ڶɄjo?;!A/U,*j~=03yˍWrJ)ݘ0M2a z?̤[~G H,& Xv:?nxoxOfE8mRA'@ Oy#)L[խ'kBKoKeu3ٓ4^˸WCoR<}uq~>9ֽY"kٽٷ5lŸ76kͩ25O5 ߼t8jIk\66%YivdCNb)7MR;65< .] T9#Ne*KU9~- ALiZQ(^UoؑuVaO֣\5k Qm@+$,;]bur|;ʰ eQxknYW"n,|Rz.Rū`/=us"ԓr!rKJϽ=O[Mv[/vkڝv^$)njm: XBragvqx^pYu۶UVyo*ͮ~#"sy3gd:ϴ:C2#uC,w5 )@EEb<3U{GgxTvrv>kk݌ϹZ)?D*-ʯYEIpϸ9!l55Jn+U¦F-h-on}OQ7SU9ߪӇSI{gHnyTfˊ7_WGu;+S%*2Ǒwj@PtX/HC`!/0$TLl6'd:C{TܺEbClezpk^g[@#nRZ&gQȁ9ۣks_T AbsnUw z$kc-ā :, sv7v,8r鑝kFhfBQYP&2w=3]}Ž|LG?awRKəzwT%sKT㵺$f JTVמsgڭK% [%@Sh 6]! U޳ N){!# @jG!Pi0v֢A޻\ Znz-k*x{pz/eޥ<S@#+-PԔUV-L\@ZIVN>(wsˋzjff,~%rgݷf2ucneL 5|.oAutAmy÷NWniV)u4hCоcix3 {g3sk{Uoʦ *_{l̋WMV{ۥ\{;VO{Mwcj:EZ7:g  ,usXBÂ5k6{or Z]0x9i E;O( _Oǎb \f앍V 0Xgy$ۋ_GzV?#T=B!),GfO^֦"լgfY \D-yaKWuۈҍ)NI Z;BKv!OwΦ!l'|!Mr_e,;`JypW_hfn!(sNAF-D9RG.V~ ``]f6 7cj?w7wj/կry\,C+37ϸ}ZjӒ'zU1MVݗ_Wp*i[3Wj="=/M+Ot?R3q(ivɱZlklj.s{dEq̖F M |gO+/.)LfYJn샥/^mb濝2ne3Si}3wwAsn;߳ʶ_1.wkl0bm7ͼΟ̑u)Wc\>K . 9]sjĿX$ y7ed$U;Ql ?[BeP t۸Wcü/c EOUb4[ zvBڡ%])qt. 6tЇ 1%i\HV]w]]s7]Ѭf=5ۋYzOggSD#Ig]hS'=<8B@ED9:=<=::DDB259;CBDB?626*jo/nM3Fuˍe񮫆:~͖37陵o[{Tu+VJXYbo4 e<35I$}씳TέEɕ?SiR3sncDJ˨ubrpsW9nIa-EWd$ KnZkYX4Ywtrco :# @cJEX~滃![F15kun{{キ 6f c X@T ;ܾXjT3 D ^7f*iٵh2e'GcZq:f䈎gݏɨ)#,̐M CJӹL0z$%ǒ:!x"CwO%]b)LNTO6 yopr-=%Kb~w/;75yEg3&t(fŶ7b5ZoS8G>ɰ<3sM ^0nFw)W^SWڲ="K"UjrR,8t_SN맔1Yuig"qΕ , ܆)+ؼJ 5˄*J$[D'4BnwWB&smU]2̌Y@#A OiJQ66|ڟ&rMztjm[= ٞdcK[f VqG(F9`,Q+$R\xncW}~nM}7qf쥷fnz e5psAO,HZV "dF[+%3cc-rSY*$Vr$Ǩzs`>5;KWsFUv.N?VryYkV35|@ьmzV{S͐ v–svJ4zd9#-3{Oֳsv Q{]xD _:&1@GNUƤg8X{%+ 9BհLQm:T:+\5Kw?Z`W:whz2~@ƶ`̟QbZ+0hl !Y>\`C%oFT] WJ<>[3~?.<,HBߏR*>])Gd.MQrێWݽ˘nh!>(%vY[U2'\ϤuǽR錔!>%u dWON *TO^ܔŒWʼn +mR]wNYN݅{.v)4(g^I$^f>g?p @Ѱ,p @uO㓾w$̌x \ *r@xJjF5eϰ,+jGvGOEO\役Ut:S/ɼ\Ub+;%hJ M+~rjۭ|G|G٣oάs=qwOmw Kf˓Ӹ4ꈵ8,[ dAaA.]҄fKݘƞkyBW'Z"]h0 c'`.u>VgY:9l}Tzs80|*j/g-t{V*|7ʥ }XLw'\]]u ްҊZ1QMMX+-[+P 1?]:+mx7ϸڰgıki+By2 Py&[6}22˺;ٌ[M? gokwSj T1u fc;u#oS.U2r}4+m-^˛άfլk{iLש +\Z'#1P ?3"g*T,?S-u `uL9 - ł"n4^,f;G,&sA;=aA\p~, N%#HY뤳*?Lk.+06q\׵xJ,{"bxWOXdv] ~!>SXk]y>DB#Nw:EC~H0l. әrQUMEvCUt?U7Pq~u^Q.>^RZwralq{Ɖ8I"ȭyo&+zz!N5Rt$Gm+"[ = D9@>8J @ rm˥5$AJcF_c-Ҁ)Qp5#pDM9@Kn,ZYH+9wxaU-`zxޡ$S#+kDH^'vc.0ky1 e|[2njvkZoO=#yW̍'ʥfZnWQ!JWu _{[0FC作}ú d*\ B2tUg m'ȕ\v)1X! 28Ҵ,2U9^0Х ڲf̲̮wo_fs xբЁ^}0B}Ac꾆YNDR*HַmbLo+Y2@׊B2gXE/dgזN]WSzZJVd~Ku~'7d ԣr 4M֌CȚ]VTQ>Kg5^7p!>֊0CRǔE(b↛Q,x{/bi"Wc 2oMs`vys}7wTT1HPM0Fۥxzyٖh@ %S8eL)u OggS@D#Ihj":II10?@DA&&%8?EDC;5"(#t#x$$$l@YaV? dFRF}!~{y#JrFm\63~,_\>qWMb@ṠAA:Ҹѧc{9|"K"+*d^?V47~ޥi&mʀv5MS)@ ' X73,_3ϹI+/EL&_Y<ð }EL@ &u?Q=x7(/b͵h P\^*z8u19J _z-ztYK:fc٥;έJr5c}*!K=WކNp+%maְS9Y*D6%3mN `[ 𝏆 Nuci]|*M} S8W|Hsx>&`|'!]33ceVW f2oT5nkU*5tGGץMT6 t4 债@KۖN]}KWпW6arDZzµ5+w_O=ϕ&odֵsDdnc'~߳{鬔]sݕ[<×؀ۣXM:+@73*1] i!]3Q묫0w8PW39Mcs怄M7Ue? 8l:kz} Y5  \6 YNb>{O#$33̢sa ?m7/&+O|/t~˔2>"##bA3ly<†N{K5n'JɼJD:=.>F˝ _}Ol\lL'*D̮Jf[̞,*7V򽶚q0j-9!ۅWDQ~r %c"'0PJSvp"j} p974F\TU65'ξtpV JkyQDt Ksyʩxi9[ݬmOkm6ȚhoLB\.ME&\F ЏBs͉u|xDF9Wo[&ֺm{ gh \&/jꂩR d@uxNQ;8O,~[۵R~FL2#lzHyBQPU @_h7)"Bƪ䆠9Y.V3fޟ]~lʸn#M,G,gQJ>(d^|(ֻwkݻaҴ5z7zŦ@k BNR@߯@O^yQLMhe+ o;ѓ F&IU#u.պ͏~f|U)[>ެ3kn5<M*#3T\ʥ 2M£)n!;'._-ެ&]q=#wcD%?#^fe,_IJ&$ i|&#[&nR%\(n2$۬ H>5kPrZF4Sj, #e&CjJj٘1&[? a"kurPz@_+ջ֪ Y7${toٮ,7zǔMhǒ97]ǍTp7YX}O禫qeL~ $@-D" R5\'l&lhtL"o^# ]˰Mʾi-GuC<6iI+sƬS_|bfsoKOs޽$)4A_)n,ՕW/Mtw㢺8$](j (^Ѧ(\,)ڽ@A X>N"+jcpAd4 4x,X 7?K0݌Ȕ$ jN2 ՠkti:&ߛGgGFV i\Ȓ{Sڭ||*'['e=K.WRnGɀfu5F9[vVIې:̞ qEl ,}:!_'b7gV"G2Ryѱgp q]kaxm$+J^eItf?//JlWoǺ ھ{Q[riB!DyX۷9dssH5a{|#MKJDur_l tn&M}ߐlTDB|!s/8s\Np`p; M m+06/1h[Y;Wnu58 #B!4!$ UBAb)BA;ޱJ)S?9?uINN|LGWsU$I/).۴m$oC~uJZibBDPrLaJm͍Ll<^l&9T q>*4W~Db=9:\GwKU)͑OlB]oI {>dSO.@w35 StOggS@D#Ii)>%E@BK@;89:DBGP9CGMQe ʪp/@ڶȠ =cDMHo{N1qZs1.Ұ 0C| "/M c`JԛP]/{shͭ\V# T<й\h[o/V PTJW_buT7weidcօ{@&_PK-N*p; ;qg#UD Qص^oKS:ٚ|ڸ2;7S¨7<':'Ⱊ9iA6=dݯ</(IۭZ~ o_ްJ|tsx#>v-?iE8r|B!dc}KqSGOfwԣV3!U7ޓ6z 1 :^&ZrfZ`ۓdBU4R+ja_&j@pMDk-Fryy4l5!d^uE:;wB h9/Jɨ+]tOd9DG^rxǵyk5b+,kkPj>TnFf׷r/.LsvzM3XJdTr(RPyi {jD{6FəSkP,7Zy{' I?T.]cuU'&u|fULH jvcWM|k.~Z;x'2TC4 4̈SK ~#įύ+Ɣ RX7ͺ՛ǰز$t8v#bx,v(!DAC([{0dz+=[7lzzhzѷo7;+&ZT@T%Co<[BA$M?Xh\=hKG{TsV]|g˻y{A^DŚGvL֤Vƍ'fl' /wtc,4Ľz57qƊ,hxlYho<\(?> w~ޏ* CI<^r>cn{kb5hcuR<IX"lH%cv.=%SݹAuo;km۲^; w1M n];;E <Soj&ܿ:9扩O+/l/fV"x|s}JukWe7B๞dַUE+u][n٘#HIul؝hVfDݪLie[^u0q+}q=$bٓ1RIw˲Y1B\|w̚ZFcr $kHv,\@Wӻrrf:tp5pT`c9yfYs|tX:A>Hs4M{ԵywC. Ld~uIe3dܟӻ+t_èHwC(1̎0e553]ܸɎwt)n7XչXes%1q:u1 a)-oQQleDˍpfKG [ SIW$#a7']o# %N#xumtÅNL]%H-t+5kUvfpFB]T?cjK}3 ϰlhwuO`pPs:"6m!n <<5ڃ9(y3P#yjX7FvHxMmLo[Ƶ[9={Z-!fwY3Ѥ]{B>\JȝfܕL)Ukju6+\ёպm @z4NOеЌB[bڲx+`[U]Ό"hDG@T#Pewvr0mܯ}%1 rjY;]òd>TSco`kހ=}j(m `c5 pf. .@crS"@0w(.6p<{JD˲WHQ){Nz;gm ~Gca:^ vMX TsN"g^[>Qhp\}`&Bǰ}{gu.ju hhc gm4d{ޝεJ|aۈyͅݨVy]3ߦU]5$;t&#V.rr q;TLz*EwGkObJWl[DVמevY;fZAZ3{occ¬zkx8)p@LS2?}nL@*=<^:bQ  dnn[}~U75fj&_wc#OR%3iLk~^hugT7+ӵ/VWq!6o§FWQ.Ε;uJp!rMgύd)uwe*l,lxo:acsjڛ}Գ v2[./6.Ti{8ܛp;M>7C?9^gz}^]O%7Ft_s/#=}[+cmR}kMJkH4xYi]M aNsn+':z+ 2fLPĹ6g쫦}-''9=ĭQ*4ƈ蝋[#epOI4ϓm\3ǛC>ؤNoRvSixv2T wSGؤy=^KRiTϿrMvantmiW8gI )?5ZmfډpQ;cn{Tl6X3oW F,ocKk+ڂ,<0=>󕠏Zު >ĶMޣ7 t9=87|gXl&QY2^oWl&=އ:g0ʯ3K'\}i"/_\{vj3/{o9ڵg;SjvNmIEǪ^tmlr*aVu6-f\ѩ3\V5t,ˋ]{qhQ""!+C#m~QW?yG*vh`FqZ`8)Nv.T9k\CZRhd6fYXkZәZ Fsaj6mٟRCLT1*ˬ` -4+0>|P?dffTYݽwR6XT9LXI,~Y"7?>|v[׻[HW9=ȟPw^4;1*vooi1SJV\S=Z}\~SI@md+W/vmK 0ob 1.N03z𺳺93m2,ulS7rD{ͼe9!יY` Hiwo6y:t陾v[fyM&DV!SCI Gwzr S?tH{祚5Hi]- JH&ʺSAYzbſx@ڱUjed@_PDUy\F<ܩeAH9) e/WsU'ldp26Aϧ|uu{J',ӯyr^LS4Ej"v{wyP~+LhUh7eڊ̶wJk:v=miq>qVou9)mNҮ1Ԑ;!6,M%KWz߈RWfY\FTJ͆j2P>f;%< Bm2eVak5A詘5g4j_pþ[ p^V_2 IK  Q)SE!F 3|k'_|^c +SۗҥA)}gD6ZiF2Q-je[[&KYq0]ޛtCvJY9Q5f8i)\%ܶ֟:-fon;rgj]UzB ^KYjgxOd [X@ 3;!Q֢XiidT:hls3;X.g=(6[CPp!P^ޛ,^iH;OVV 4" H ,$Sv  Il_=1I\OtU=nJwpI G?O.z&k-H*&i<|sX*6{Ւa36ޖE߭5lTK XӟvSLY,pRhNnE@!1FҪ[̖zQ`u Xjnv{w^/N{}f5 z}.hPW64 ˬ]Xy{;H47cf̪2~@\"-Iu>bn=j>=a=a>2i Ax7'$K1yJ]rd!+Oo]RlkחQ g|!a hpȸz%P{qupHLnB- |Ҷ+Q[aoѮ0]C>(]y!n6Jۑ/?]Mv{=^7`f(u ,Ԁ`ޅCA1( G;܀#6Od+K Յa7 @%PO1 p`aS qjfH }=;?ʐ27%#Of3+JOLltJdṭܔG4iK+͵7ߛzF wݡj?]5./wrvXsIݺw i)+\Q{Prs=*[N[Oon:v 3ə{ly<90OggSXE#Ik0V;*78578:E?DGD;?<<<:F>GB&G::CAAE?"67N]MSe0-[ת9g8Sۘn`   <8l.ڪaiрH/7Ԁ^5#w$gm_"+RimʋTfKfNתŰUhQnsڨ(tљSPӷwFyQ2(R J*d@I2FCҼ#z #fgK-kNLiTZ9;tlQ"uF*6 Q*oe0P쮦>3/f4EZ{l^u6ea%iYDzèTW#6mck9lfcJ ӃqA`#uY-D׏ˎr-LBb콷.fem*{ou XtVZ@AcZh;$ )K2ּ׳-Z k-3|K;OZP.ÿ;Dt YRT~Uʟ)=<0#l[[mSWVkUUeV>u`MlBA]Td mCˢDhK">$Q4rN>ѳjm}[HmTwKe='L* E\;뒮Ί+/L(5#o}3?g#w\3: TL3wro_zhVVciL-9X_@k}@᡾T4mEFdXcډ٣ybYҷ.6{N5k,37:/4ig]{Y}{2fs=s+/O<.O8VUfMD})RҪK.}rUrCY\K[i8 Zg=vb/tȯ־^`L^]Et+1,2.P$=D{TUp,UJz?K|bJTv¼p\م s ؼrްj| EF 2Dl/&#DU}*ծLW n^[zi'l~%vOp'mE{.nvކJ< !+FkPZabLcUhtBHL{{-LC\$pb"~Q8t;l7u<3Z`գ@UQ):sYZY<@:!-@TؘUV{#_9M*soFd~ssr7k*7]|Tuu{&kqU~U SuuW_xvg:v/ܧ.]ձ|Cx]Be2UB3G|kCF#oAb4z;Tqk|TX} SJ & D!ǰpw `m[U3N@dMkDԵv֚٨rTXm3oJ̖=ꚷ}t@l29e!lz?/:!]'_La1^7e=<(I #<-dde[( C3i]~zk^++wmmN N֧X &4n O] 6*r{~2ΒOj*Iy_=uy[GEatX%md y$]^Mt8𮱩9B/`+S \ VmqY>d߲,uyy%y2z~#_u11ua l^[QQ[cYZ׹<R*ܓfGF\$/d% 'd$ TE"G*ƍDBXVɬB.f0- njRJw[K gd+]3`[(]UGYwȊ6;G  @i&0&*l7\/XDCG_&^]SQ% ; D;`jQ3VBꐻ~zL_j]c~q'9~Ecul葼{FfI kYo/oMaspT pq8l " Y-d\ RRɀF EEQ!}v[xRDBT㈌Hl Jc3Rf'{˜Yv;!+QGP̈!gC_F`l?i4dX5شaL1oE/co.+/hB?e{~2>>C "()e;Tjf_ *n~e=WȈ|7JnjThyMe聅տHGx#u1ZE4k0.W\1'+ZIB18攬PҨx;4#cdvǽtЦ<'/;# 753IDt`؂q\33)Gp`^K{ aVЛ n*zA=wrfrif*+yIGF7cvmqyŏL8Nl3UUҸ(6M6)mf^2k͝Qv={+8x$3:I"7R!+T2a+ƮTuYWq9BxFD=syOggSE#Ilu"#@ED<2>7A>,38EAAB-88=k.4Yuq: tjj2IYb=Rp $ < ]U!o)>&s{߷ ՞_F!8vtJ!~=ꦋI] tGBѓr"X3U'"^u7dVøͱMe;.z<|*v@&P Ma<* @inѪL7s[e24e 0UYp45;kni084VLؠQdo'JAǾyLE[ҋ ͺ5a)\-ɪPe "T7>O$ob߹xutxfu*p=pj㳠-"q=<5RS&o?rCLz7H>nqY[}hLwm"1#?]8 $9;vF6@Z /S骷S=OqCx1}ғb7QpC+"RHk J-ItlJWΛ|p4%bx< *vސBŮ4$]>EFW< Qa$lf CF)#؄.DdeI+T2oͻYp6`@7f q@ԣ(aL\P"|VZCVzA,j;\]ge.ɼSʔ^WTAM%d<&ܜ甙LwaOYۓy07;b0Ng%'nʟa#Qv5$?gM3RsOYgi!ۭri:;q:9ΐk.Z2%bJ&Pl( BFumNrYY#9, $\3RHY!SũtU1 [Ș`[&g7@Atә|` f\ך5 -Zn֣{jW Apl4M6êS(ſw"U"d>՛[GhKD9 덚'k<Ǜx;.d1SL:9VѠٲn*b1 ;ˋ5`2\& Ƅg5fc%ta`ZPswU2= ItF{-˺'M{ӻlZ7 M*Cy(ecxn>RHcolp{Ԛvn~aV?My@ѩ#p>N씓xcʬ mf??6J]εN=%6~~C↴MsK((Dr=}nvK/,dg,٠וʔ?@8C➺r5w?e1g13n|J*n2D@ wnSmԇŞj | _:|xU6G¢ܵ֯SG/޳p ]=~2 bpV뷀%&WN'~+Mz5A~@D )¶>.F%Se*W)<0ז$?Ǟچ,h3":LrnДU\(-31DPO+amMUDnrjhC@o*}}ZrϔLQ\M{J1kYVeYi`g;!J!,S8s3+3qwPD- YKi(YDq S~S ({6xS91;NE_.w!0{6I=Y9%I:뼡\8ܓ;gQWn@12ѩ^\ZRԱ|u8Y.#ˇxExQE 9~੖FvՇt˕8q6U qcW9q:8/a}O; X'31K)69!7dI܊pS9(o.n9V QQ7;cJpGhd:Owr\u^:_jc4l,_qש5YM~Up~A9Cӝp<:-ЍŢ |CS:v7c]\4eXp aN~P˥XIHFV43J(*\,{{SU{fjM[dbAGsETD { ^UY#譙t@dTbi֯c깻mfzԛ&h9!l* ?Y9zV[Uo+}7#rL~+1{ndk֭Zsel$Q|>CWMK0MMYYV{H|y>ӾT\I%l9/}nڃyHN([Z|{F&D26"CK'K)nJ']dlh3B6E}ռy,,5=H.XUBou#%B ^>'R,dV7R=x>YzJ/JcTmگޛ&6Ql۪N19YYDtڋ )W'͢+ڸm@> ddwƒ[o3K!#7MG0 {}#A >X;:`s/ .=%R_pgQ$H+ ~c9 ؁O%FI~?d7/n}$)nS m.'|LR^|/$NRFw]HtnըxdNn&וԲ~9{q6 ϼt7Zϡ4`{sE$Pm3SŒp<^F"FgxK=qGƕ @<>HccX;<+ 5  Ɉ%al[L7=0, :kI["z@B c4`|@WHeޕn r ]ތdjʔo g}Z897'ν{J\KxoFBuuѻ5l )] PV9w35%9+SJo0 7zA \ΈC\NJ5#Fe!zX\=j'[Ѹ{]lY\%B @ƧY4VS@Oʰ{L1۽ `1K6ff6lZNLd6Q8@aK&u\J!r3Q:!q:x,kXQ $fj2zo+ZtL]&ϗt"!ǛsMxg2Ϫw6>=8Bk[|Zkvl%^Na s>OT9 6f/2 U߹ w!`2̈]O*ֆ[gbkk.*ߦa%&fzچJO 7ƹYe[.:3LD~c-[{0vI\Rb3ٯ5 0?XGͽ󒘀Za.9aZa1 ^ 3806"' 4@"D7H$dz̔_dN埼+{pGS9Nz,I%xqFNקW}wQ Ѡg tq`!ByPH( [ӯIiևMA]N$%k !98tlKط|Ch !ͦyHp9vD oT3b&|HFx>x/LSZ4>BN;TbdT^C4EdqfH\cbO`2e9YޯܞiX[ p <2ꐤå XҧP$aō!z9Q.漆w:/˧Ng^CK~d !ŀ>#FeZ RQ번su7b;0x$WF[)6E\'B_uwEˊMH <>?Q<{͸,V V[]xT"Kǵ|NҜ!R@'y2UyKܙ*G[YFfozi7M٤ cM:e#!ˀ<+(t ."H 58z HfƦJ)UB։>@ޏW=źI{*硐'kYUm8>>NNe:⠟rk .-`b|Sڹ|W7')M>mϏfmu9\Fڦ\ }(\{[茻Ors(6MȽTyMO%+׹HBBY E 5x(n#&Cd+U vr؈-tvtZވ]4wz vac>g J-+$'$QJsWhfNYOL2Oub̉yop+E'EBye }O43{%r8>[|RQ}?8{ %|޸&"7l]t6H;GBILl=]{iszJj7bc?t Th2XEP,py'OH%S_-pӜ6Eڈn|L ,lR]k m#VX3$H=U7#;|xoڬi{<1k9 |+EYJt)-xA\P}p)iS2;pz+1OSUS, foJnFU $)L:ȁ qBjRcUv=1*\:uG[sl]`sYO2 .@qB,MLZCGITS*Z^_Ku'79zdV#+i ,IPqE<h*T B~?S)wOK.iխ'[okOIm|ZsMXiJgY0t_X8NQ"Z Erىj+dSD8;VHoyECO nWOo'*UuU+)8CA]Nn]٧;$3\#W 9J3']AfؗHܙ0D ˺>={iT .ׁHmUdT'u ~D $PB? ˎe\1x.&!8/ !cM؛Ȓ7{_~n}썝˕ڶd65 6oM6V.c9S#PMcP* 1Z3>^Y~ӕmm{)vnֳmT3gjs WD}kvi%۲ۓ/HKq yR[բYk{j5 d@U 8BPϱ6ZQSR܌\N0\XGwcenQ~v˘>?LC'?OjfKq>%)=)VwMm!̔՛`Ig?nvTr޷֢g?8|;*Q{Uѩ]*]n< W}Lƫ'JRe69?%t(m5lo+kF_Ud{{:&sP{ٚ[i==g PrVξlԦ6ѭX޸Rݑ[}-x=(e$f_倝LD59/HZ!h"5f0 ncyd']?$;A\i 0Snf[ÜN^kDm:9$@v$Gy0 If2{o?R6]91?]t=ZQ[j7*S1Du{R^nDiNdK dTΘ{m5@A_T+=`}{AV 1ZmImx9Z nO-?,1o+-9nWK;1F=EYrŹ4–LZFE]47Ӹ)G#Q| [wd9.Mw M -p<{vl5(ana0˭99 DQؕ)f80!e@gm۞ v^LS$se^~Gk2Ğ?=M~S6kW%,"tfJum.v+l=|D_杮<^ufLZ.+w(D -z>O;aEތα{zKMк$& MTcrώg7}ܰv41 t>{v;JbzBVh^JDBN)+2^Pm0k0NիYs1 i7q[bv+OC oF8@FZk \5S33emoYf>l<3<ҧmw"v5ra Gkqx]%+Jd_V86yQC^b]wj"Vx*VՑ&VuwzSeJy轺pq齜ݒ}w$s6ϑ}A-v%OmOi8]q̩cr|ۯwxo[):]uEN8 z?unf=7ӷno3z2N Me3`!z˂aPDzQg:Ӻ` OggSE#In&HEFJ4,%39>9@HE?BBENImy23S"0S~f|{HvX.IFoI{U-T.~UV~=|uVRmNش^gVtltnnNi{z:Ygm%3"{S~#Vr&E=o5yfN)U4%$=(w߾5TdjĞet(F1eN710~Kb$;bX{3 =IƩ*836u)rr${#/+1p$k}u[H6OΧdj Qd?]>YsZ{-oqK+#/`7%|u:lO\;@y:$˛KS,J TLRv|`4THLd+Ky/3D{fM]j$d7Q}v{xUk6Ά]6*.] Рvh_o0 /K墡@i-'/I椒 gV@;&YjxU5nlmSJ[}Gٛj1|%u;Wؽ;@e"vw SZun@D~*nĖuُo׺/ %*E`L 6FCλ\FFC*mR!O i {o& M9(:W*Wu[ܽ58) ̴ěZ :i21!N&BW$;1Y,9 ySfcc;{N3HsZB}NJc3/dx2 Z?ݥ'5ЊVx[)ӏW H7KK%(DRm}Mܬ+KwUzAǎ Si7{wȘ4.β֮g]>sO~JMH0o_'gIcƴI'RL )~.+M,:M-]9ܙgx 3׈cwuBwU͘uTJ!2Dh!{z$&҉;%cScEDmmSwhtS ~jEUOEw%X)0jm/kmg)M9?g5Iaz#BO?d (]Qpxrȧl5eowz1'\h >Ut?~[bI:7tggKmq|]m=i?/ Oek69|KA(rj`sdD۴ ??J)R^w|أ"m1gF 7kk߯zx4kvU6a3r;@av^,>5$3|Kwa?=:^Zyvl{VF1E61[9A9 Og!h&Crc{nγ}{mmキʶLww ".*6 UbEY:SZ8,DjF;eؘ7{O7?c: GM(n>r/B:Y6fFBV\$JǙ:rZcTרSQ, h60YS3t'iR 4erQ@$nFefRWGE*9yMb#u;7_NmA詘F2f0X)bQ :R"pһNI/33S*co9Fn{v87~iivy߼PAww|}nY^g]3Wܚ,DVg:?/ڔ7JIﭸ[ި/׬L˳=lR L{|wd`&{ۋiuC|fu<. :fn+FI{RjV$dٰ=Hb3 a#46xFs"CkWPk<`Z3e2[X azǴֲp7L.]v!`^(z> Zl@,5=R\o&3^ x$#2ohW-"bYb0|/=ľg}eUz վQxDl]J 6]*55j3{j.W,}S3il=ru ayj9 $kwIMQ)}W\Y}mej,lJyRCӆ?RE"-iD0;(\竤nVk6[ڨ6ƺReDT>%)5h_-o)CF@kִܶڶ6_TO3i!+$C3"ZHTjlE[+H\nc?ӥtzk֧ION}~h=ƾћڄ&H}:W/g¤TS߸]Uyu%QpS2Ėr>>#r+?QV7xUӱ*Џ_(1lwYTlfw'  N ߸`:tal h&_gԎ7=rFBm[k`'q^n/3n6g0c9@] 4PĀ _| (OnAt x3Uj4ժݹ9d:_En U&S.rw3~`i>7t+;3&˯9 ,lTɭ]]OggSF#Ior l&">=CF;>;;?<8CD7#4:9vo~~8GۭȝY͍z+88ZƃJnZH!0rױTqceEu;.}rWA0QwVHvژ4u"+6?_2*гʏjzO Lww^ YZ++hn-GE *߭5og-ط^4 7 F¬&V1# @lb0sH┛Be{M"UUc!#jmL~ob~ ^c0z *z2֨+qylC]*Nż=sMkfUٶYk6+,UnL"D[T'ûc#H^Lfek03*+Z_97^ :K}`V{L4F5 .T7go}?UTK{JDqB:I,PJgEng#j$C9(s7V"f!  `/EFo[dVfD{#lxm&!GENczi Rc[Z;mOdLx1џ D^iϧwy}UA֦x-fmSbْm7Ɵ)R &10+,I-"K$l*D/fD4j*}%7mw;\;|.cŧD0Q}.Gs,Terާ%t%7ouݒjc֔~ Pth*TWJ$H&MZp4о%jlǖܕT+^s=sDpJEBJFs5Tzf"9יqwWܖ7~޲lid56qt#'lJ+o$Yx_%؅T-+s9'%U7{1E IVe1PCyJu%RrBY<֬\F<[cvn)  ̒g^ѝ{$_-U姢8Qu{꽲VmeSj[wޖV.T .$ }wu/Ul/oظq9v<[Okvcy3s9ىRv^?ߞsE5IԽ(} |QnXd PWb/oSevҴT2>Ժ7^7"'7o؋nT]F?=^v [J; XԵpCQ Ŵ_ki8v>\e1`3{Z`"y}X { }g3XlAX62FV۳84YFhaHS3OQv R5VVi'tb\oS7 H;xv]_MJ,f ]t٭=['9R+v0n k?|JW5턋v^V*6,}e]ԻʘwI+)e;fjhi9tVU jLLHnfbD@.fV=^=l*µmPN ;T`XP Hݾ 55Ee᠀)c)s 9,h@& H]$R2 t(Hfƞ)yJĬmoS&vN#ϼV=%mHR"2FJWږsۉ l: 8*æh6RGSVjۯxdy6vU;nBUt_7ӡZޕ(<ſuk{[ު+[լncV P?7a6Q16ժ=xn7;$%;CDBDAL''2?;bk=<3f žV%D\h h42@$" Ee|?}x3Ԕ?)7^6)\#oI_;KuW8~w͘ud:=cT.վ{lqq|_{qk)Rc,mua8;śJ(6%AeQ]WvJ1)W tFb#R`V+M\˫Y4"fh"uĠY\Hb \u42[xưSzrfݶ',۔̍^_)k.rMןk plNuVu#\b D^Qz'ηCMξuI4|J;Z7m彭u,t26SzaAA0NasPYRq^U?- )Ozk@Z&/RB7C_\읧dZacMk42}IK=W 8TX"# ȭ܄^TTb:_ՕIi5tI}ݞҹQ:Mﹼ9DջMMOE%mWcWnQrދ̐99$U 1$!^3"b4#BX ]giwaEՉ&"^$H2^jQ7Ε)#vQs@Șgܚ"vY"O$"*E2(jD%`53u)e Я_+V k<~X5Kat_t絤v:ճwW@0#&Q$RvP̚!Ȼղbnr{_TeN5֞+sk72߳C\%g;ע.la@8AmM=Mґ+4&=iL fd=,[ lf: ̢44ѴR6 t(p/痌8 (p8PjöMN,;~ "Ψ ? Q$ <H]aN0׳)effƬ҉;vﵾo"dC577=?I*ܫ*$8WSxޢP_e|t9ΐI]7= 7*)M+}PyBh.-kR$ 0(dtY+bїf;cī7/KME/*rY_x!2Zר1CtևھjA'YL܀q\Ɓ%XΚi^@F.̟AdF4rJfX71P}Vzm[ ۍ-8&qDWVdv[ oxW%EwajiDZd]U]UWŶUmrk5l3u:> C+|͑D(ƙ@x?ō4oٺ.m l'R(M|řb RAWi݉!f3*jXc]޾6m%nmͳlV#Xz.) <)@ڦ'DD kKrV,[t{UۖgWmwd&יKurfP:KP, 78qb~?@:@#WJ)SZ>S76Uٛ8v*IM{Cc칑k]!qy{SRnTS2IHZ˜WSh;IV.{[Hj.oy-W!b8k6Q|&s֮ffUp۾ zPe#-loRGl~-@bײޥ] ̮и7*{.W4 8Q*U~8B2x/jLe}"sGsԙ\=U6'oN"Y Z>6I"&M7/Z x}w={Oo{U=ikMiG,QOl-:w+7naUkWY{dE _Gz5Nˍ!bUSpdt6;qľgeQ3톄Y=e ]F]\ +B2P榰ޔlgN}񖉖T{gЋ\˞lCU&;8:9AGI=;8@==;AAI=3;0 s JBW@ J9ߪX<n*[y:;f-3d?|%Pl Vk'2ڧFUSNyũJ\)uЅŅu@v E*] U!?>t"K*@8#|?8άf)nsM[vxk-hТӠ0X( .PWJ9w;m]b7+o-Cξ _0#% XDJLGl[)N?=.T"z֩M ff{qmn= =d1O *5gR-aONj4[))W\u(lNrp#4lϴVy&s%h|U0~WŪa -o~BW.M!=yiYy;=z4c|Ͼg7|b5äM'/}Ԣ4B_/~drYDPҀZB=4O״2{P=w39<zJurT DѧĢ12Ю" s; r:٘:Ɣ2ʔ~$獾-u])N-G9?0{D Sz;7XfH{yyyqWTޝfS]*uȍd:[%*PVשJqJȲDzc(IyNKDH"sf\á&7rFuU{ 1V]YSͅ8@QSxĝ th$)6&Z_JYQuAnJ[;す}b[W42햵 s3@cٓe/y? 8$zTUxɂﻻ@&_MGp3oKo1ROg;??SN_ƚyc~qx1Z[_ 4PJ%BDλHLFQ#F5lE 36Th9[騚mW !$2ʛ9W23;%>R9%"&@$,4/Fl]4 GJ"+qi9$` ﳮf`a u SU\407s}VVٿ "Y<7&9>KI"u23dgn59gEUmǖK=;-]0{$ΊԉeB1',,֧-%m" sP`[ٿ*ˬ,ͳokkL1,BRЁʨ ) s[{A˾9yJmoUj%g#(]++iTJa@҂݇^b'_MyryCޖf?v'ޟLTsvmm>rzNyj6ًf,/ H^D<߯b,nCͼSOTؘo{uwg[vs YX0pEo'w  HrAoչ#HY.7$ۧkjYrՔILM3M=֕zwt3ǵeq?#ܼ!$eNݧ خS));ڇ{nٔK[wG0qrչLJEو%̚^+n^܈gL/o;vCe񆗭ۦMfF,tūtg}2^1;]F,NW į;V>D-urAѾѨDF@38{q?4īs3P ࠧ~*Ut00NY(=k\߄i%X&r1fa#QcΧw}3ws{%ymk(f1>r(Ȥwa/K̦J(mlt/|VmːrTYcwʺ3]\`xl+'4QG'4e +rh4G)<4"Ux|',jHe3:8 :n k0/hinzmOy`.{_U)^^n ,Jr ˙4quܖB*\A= 7Lb&`^+Fn/r_n|~HK4hzvMb?ѣRܸ )cYqI5n1)?r5Uq9 dkSWx'.&S[aO鼀Y:[٪` Oƾs7j%}oB?]9>筺 x*i1\d;?WnlLԂɆElk"@] TN`@a@̽m`jd}w)9f#*|1 %1J88$)X73ޫyz|#}363wnǐտI׺EF{I>3̻|\RW'\wkw{ܼ:Ktu򺼙6'.+cdebCRN+ϨƄ7]4B*}]^эdGAHHBD?EJK2**']wl=q>]r\ӹ۫em#m٪iRiXVj-n+fOdaz3d<3X`n`PÀvHs0jrBm`6 0 oF1nV ]_>-\RN- wc j8&su7jS}:0}dYQZCyw|7SycV̈):[|cC:wu}.y,}nbۭEi YˌclMpQ.͞1$֘[\T=h,W1]PS]MI]rLV<}zutolʲe[vkx)dkНϟ?}IahM[jZm67` zt }F@X %}E3^+. ^%oJU)[y;};.{Оu;v=sF䏿1E}x=z}G&QUΤ#e ;Jyij˻& <54|g]jtF3B^dLM$O2mluKҥi׈?=X7=4if<{oRh_ղY'``5KѐQRkE-mه?O 뮩& 3čE S /f\ ҈(TY1LA]Zۊ7ޓ=>Bp̼13S#_kťy}1篜gn۴yyvG.?. ~308zCoVbzdx*zmY)+ܰoYy媆}򙜬wOVZ]g+V607]=*N{Rl(qg[y]K4_o64+!IjȦ|TG 0h& @[绌4մ屯YP$=/1\v;Sa|C UY]f$~i2HO },ǑDy" }׏߽Fg{Vñ8$IrSU=Hk9fs p?{;+Li݆xTc/^ ǁm[J-G hc"(K.jF]=;-LlJ;foup HIY-` >$%@;RRpS:IBJj3 ,qCda@=@v}f26Na]VHfa-P/`mbbmUNe 8 Y󷗱gOf$If*S"sJx73Gqx2BB+H;iNO| oW 1,ʅHnڨ Nnڙ-];1lDWgoozSg~*2N>nF])m;]ɶstp4F+ GqR?kܓmTgXU_ʰ"s";@jG6K [Oa8]3kঁ|./ f4@VҢ1A$ Pa#Eq$ej@=YNlԣ/IeJdp_o{Gˀ!-0?nFb,obt+Zs-_f:LJ 4w\AO=r3VsJ@TKMiTա YuoRqYWy`8[tU ph|fQiRon=jGa wq}z@MC/ɵF6e묘&;iK0s+ HDT01`5fʔoC픈eJf-W]ٲh̯]$;Ԍ}t%x^ T":dN]2a\LNL}ɹB ߉ۛQOQpyY]:CF99OyM c$4a;#nUyegvj.VN) hfyFSm oYUM,t<*=㫱Yt!&8oz} 3[K0Ң=^.^VV2(i:]oV-{v|I޶03jԔ2ٚ=ruձz&-7'uRW7txl?j kf(VSO~y?UqkO߯Vzl9:w6,emߨ>Zu~ʉwݕ3.6 ٙvk_cC3Ħ̋ sʫ'wj,fuqCe 6;~ijd ( fzWAtnOggS@F#Is@),A97975?=DA9><9:=G?FDN(N;.8+[޽o}k@ln`pDPWC$_m_'RKwxXGM)2?Ϛ-l. 6`YZh؀Jh3 Sq+jyS9#l7ivך'fu>Z!;d֧YM0zP R%DY2~W%Ut+ j۳Q9XEt\"2AڀWRgNUQeMʅ+Dß5vK-A7LLe*LJJ(g!D&?_LxHmlYZ/Q4b$ZN[M^jES*) HbnSn[_U{SeM6\M#:ԑ- $Q!YrF!Sbim=Mtbed4:U`ґq|"iڞUf*밧ȪB󽕘j3{B^Zf"!!9WlL)ՒD| :M QbMiFz"~sj;f3rK-V@jVvY v:7vV x35J쵓o6t$cJ1]dzd閽3K{yT/5ϼsEZ|xechՆzxKEyLnWR#DlGFyI՘~!#ZC!r#7Yʘ Dm i>*~ʨƺ4)̶H7ⳇ]h;ы&Z%*g|zܻf;e;Ӑּ  nh(scoȧ sesrC5@KRd4`"!L5YͤL:*1R1'WLsz'K?y9cv7"gN]Bb*R,*j0$X $8e]Wsgڪڸ;Eh4#"XI*:l g@PMo2\,'L a4^=o(\cJBRX Q?\I(xTݍ.ć򚮦{TfzCGMؾ qt%G E-๽>2~7- ÐUm{ jOGۮ& uO&J (JPRy'hhr3 ץ^\e_Z-ζYB |Y9RUهsw$*y%Ōh[{x[iӦMW4D@t-[c# ?%)?2/v6yxZz9ؚfe;i[#Jy EN0U/? gx!DOӠC_3ܶmՖo3+?o3=k%kXCDEJXJg2eHN3:9ff$TLke{KgLe1|3^8Wg!{OA:eyvdEY9n,ͭPLܧr|~,Zy_#v+z{TOcoʙ8eDЇ_(g4zK9}Չ\kqsn\:+Ύ;S\Tw˵>0k,Tc ʹ5}nmA i F!`Lon0m:7ܦJ3 l ΁;ȝ1FN(.I1@ K&|F<6sùV` xt_|3B[hcwؚ^<=U=}8 ^q}_V3~fl{ /";c^Tͽq8B5Ncy(]@@d=j77)IS# =?6mI9Rmم, {A[tG]lrUEum#=\N9-8+Ak*DIYa ~F1Wpa; a{ka-4s!^tkzKmjF3xU:i@{ғF.hͩ df)%o[Ɨ圿POe2sOZ3gFbQrc8}@5 wCu2qs^=k)+` 4\T涇 #Cc#tY{SLV*{)bz;{[5U2<%‚D1e*{ NE$裸k2bHjWϿ97fdooftj׈A2*tif'ߣK#"uL9-Yͽ-z{ojmMڸ.nuQȁUd#x%࢙Sc< +Ɋۭwh7vkޭqzaY;Ş2Q.%‡I ؇"p} {KŻfF͡&|?ȥ}7f.Z_l6_jv~?ύ'#u6֨e}yn}0Ya vITgؽJtY}&*3^9ʕ޹&{ޞ4j*[d]ۜwknjŕ 'RfFvV*r3LfsF7jЎ NE :B P͸'n* "6{=벬XN)^9a}Ad+3l Ks32c9T3pU_rA/},^.R=gF0gLH|tOmf&ݣLql_Ȝ>e%cʻ\Rv)#˕{_&S^=tjiƗf|J1B ap)GBLȜ(v~u/qTN@}FJ+aDi#1 泒"iđ*dAHT'j%A`SvOk(zQ-;L/g=GC87;;B< $8>EG,>'^Lj){a AѱKL l!fFRfL)y?0ӲDX}}\<$#Kl d@>~YļKOejQނ_͌ED9G~zЋ?l1rl,*-VEwZi.(?,RI=Kl-_0}mo{p7y b]h Y)vN @<:;J$~k{* Yܰ9o-'X*evL g;z*NοM|u$߬T>5)>Tv}Ͽf{(wq(e˧(Fb^gBv)%#RG:ߌˍgv::S1ц(υ4 g2rLng&Y& c3qS )5HHYB\ c#6|N0ΐxI?](X EfOn(﹞.lh~Y w)Rhn3{ Yem"$"%1`E`KؼR${k9XK|U9k쯻q-!ydLC1~Ƙv3RSU秶h/wIz|圝%JzDS1R+eu9S,S#nQF9}:b7{Ӵ=}H7a#s}]͵@ժaPFpHzhKW) BIkkM*%͔@vҜs\^{ @X#St왩ncl)(08|1ӂV!Eq!GNG _+ҼihJ[-. c6v㞕. .>VJ1F$!\UEQ{ԯuv f7x81Et6!CQj4;=@~IRALˡޏK<^newkлwjM%‹VA|v©Wcp9<suQϼimf Z*uQp* Uթ / ُ$@LU,ڮDb-G^gu=%;?f qkyNY2;f=ݎhJNu;A7VWÄå*7_7֖Ka-T̆_}NƻւOuM`'Z4iP9 R=XBe넪mkΎ&؋Je2p2|bnp3-am@KM9r{Ӏ!!C{7m`὚13pl+*D b&{y_̺iT8&*TD9G9޺\:XVLM{q'٭T9_:r}_h]~}D}qqJ'Ovu \* dyr$m`;\ Ȼ(S@/ s]$,lΕ) w}ҩ^e@"!`2R>(UT +=^*lac~ FA?F8tK|湧UqΕ"Ű܃j[VQbL.ɽ$JuUpbOm*옣yyfw誧.bt"{?->J?􂲂@|Ѧ iAӮQ*nL'0Ov*Tl /ʍ{m_ @S`fT8)86{**:"2Q=TsڃԞe3yL ʀ 2" SC)v/L:(G:dٚQ s)tm.{oLU uwauV6_JԄ01 ~Dӹc9iL[ϳR]mo{le˶6]z˅&-ayM%GWv¤."h 576GCgL5<.Ni5|v_rIe2RmqBxU&4doCL!ٌLRMMm[r_TT#ݾʺbNڦV\wҕKWWRSqq3*!ȥ]p*T1sVܬT=NƪK/j#.D nJD&9rT:M,`)Ӧޫ@MQٶd⺾ޜm0zs]W~X f.7ns;@ wI?o@N6 Zr͛y3ceZ+_!5o]X0|T8U͑.eD*t rbt{UQin̔8-}7{k:2]Ine"Ouѹv=NJ3ߺnNH)bEtcV)Lpdj$-\ĕwx/U/v$cf ]4"SH 2[(j1aq@h2LZz=6nMkɪV/R$` ^|oAfN!bU T=/LӛdC;.gAǚ`dHތ2S{wY._,덛{Z奷CTrTyP{ygmx/TfՙY|)R9yOW $-{8D(jG^ 9-V{T^}JIO7E~꽬\&ڈTqM;)nĕ 8rI,l~3ZO\<&R1>/2Fzy.~6YdL:^[m+pcaor{-̐+09~k3t˱^JK mIzMA ef*S^_ wbDžSv+X[iL4IIiZ"R)Fa{'3OZ"(\~d!`@O/W\Mi.q}P+|o졺KAuuwǭJ>49o*!H) ٔ]AFZxap!޲ Rf|^׎:yLVΪm`mC{sI c s2޳ bԩ{ˌ=jH|=*ݶ0 "uo@WULeW+O1: VLc.Ә>|c%P:(tuYdKN5FDƞj}9ѕۉ%. o! ")̎c,BUx|m5KinF]nVZz=[ó_ӒTm!rNh% K%f h5+,.`l޽ rG}/OggSDG#Iu吤&'<8<>@DL9%79>DCEa:D\Wq* j'tnDk:/GH8G-P *CF5Pگ?ήˆ^17ꩱʔ`tzg%-MKֿHoʝĸqg69%O WGm,j#2m-dnF"鲢2q]nnjWٙHjO3] JHcoUGo +egy︰7{[vq7EPW}QtøU.!- Y)SVDH,"3h$J(JHR8[d0wI9.8٬1jjK wtcﺥ̛E5 /Ngi]9b*3(T*9dJ`d)x&5""(w+UJ^ks9U;n4\\ɊDryd-Zc$l~ýk V^4)+3fw\tdD%x$Cvp)}o42uyڿ.6lm=FkutuNyUC2`QhBu ?7 羑'JҔ[Rm_oC=]c c`s_K2o2)[nkyy=,+%rhJ0Xux"/2* q.'*4]_Y}v.Y'omMgzf/]zP/a u O{u*Y&55n3Uÿ\tt &2`ҧZ {íZRB@W)"D9b77Lǩ{"|d,#f]!U. xhIB[&"WFՕK#ɪk.[Oi\7ڐFREY[RE;>0IR!: cRQ:qLvnbW5lv籴n!#75V$y@k |<"ٹwnG+oz.]bz9[ } P7۾-( %v*<]cwFy֦{WR*@PnحXIUZ>D/ج,K@~VX6$&%15$)˲`,{ї2VWw c5d)?m+>gHyJ 쾥[݈f.)]T}Twtd*l=l)Q`Z{mmVYttl W\.Lg#2tڨ"D!/'f.B5'RH:HYi9^sA TGVJZ;wYPfGzg+O ںAtg5omig* U'*znI}} F@QLO1]nӊ8SP!סJQpLN b[sf:g'F^x>wz \mɺq2Œ8[TfNhb{RZ Rʒȩ*R6z  #s;7.Jj2B|L~a")I4l6D]E\/B.5Y7uلPfN10 Lkas/Zk` {=F!W26P @ 20Xd`(`IycffJ{k+pq;ZH.S{7N11}~)=56xYq]0ldo9G9tMMyچ)nb:#8=PJUbVJT *\$*harZS$/Wd$q!#K2)PY,$:"AD1۴dAM{HV: Ǫ$Ri{Cb7"Qo^zysVäjM3 oޘiCȘI)`D: n,,+G`%Nd +G*Ϟf1kW;Y@lEࠇ`SM4dd%mLUTp%2|~z}|S5wډ-֞{\ ơDPh\eJd `? њݽ }DV̢=S_mcD%4,>~_\NSH2X,$Zv6q=wi{[fDb_8xƒiEd0! 3h0e10M;vwg[Dks}uz ,P "޷}O47 @2O-~݁Vyu@#sߟ)P{ȩFc;,럒p(+kXͮgWz^~>r~ |]-nW=VqK[tLϼמݞH w ndNJ)uxV NnE!*1 f6wUtqGZdgʗnrgt ^6mtDR.)g9"bfcDf$GK5#oAS].fqSZJ"R:3cmޤlo3LqKs YY>ScZ5 ޡ |F3&A`ø,IߐRXt{KxTIU/'Vtyswߔp=Y̏o^|9GG^Vov0Wk^Qm{GO﹡;Q N$sͨ7>s&lWܨrظ0{N(i䱶Fk3NX2 QL(n.tgy.>g+*i#BRФv;ދki+z0ų2v#߾y39WIzG=ޟWjxM ᡯedܫnWCcJ)KY"o?񖟲d*GH QڅyܼM(1%_m)D a4#)wUt7@FJS-,oAb-ʹzuSQ95=[Wo.3\ۮjmk=gt}܊DF>7qTvWl^Z=ЀÀO\]]Ν \薱JlcИh Et{shq+òShLjy{ku+A531PLY>8?jHRG>2iGf\:ݙ?WHn`LgbClnYE& !*fYKI}.cͮØҘw}YU1m̴;Wr;e4) R] &=OufVOR+Q?]zfZnoػl[O)?RP~ QD|5cj'`߽5Fc3ލ $3 i0ۻ}@c2 L3OggSsG#Ivsw7#F?78%98;9;<eSyiwLQPc4R~O|IM\>n7RWzK3ٛ81مk6{CU/]ޕ2a׸^k˧(o}N=PՕt- ܞ.߽.<2v~ 20oҏx~WWFo>0Enn[Mgju?;F9#7so$Y@3JQ18sLub)mBm?}JQ׼Q32knzq?V翡?4 g'*}A~MQWyV\ 9fJTOFuq7*[\omVܼ:rCg{{fK[b:~h*G7ZY9Snur,n\ʦ6dtxX~];T H؇gYLؿyޯ؋\SU^)*=\jme!]C5S L˥y/k߻q}!2ucm wb,)<$9wHYm33ɔU)[^@̺0ӃLu\'{־z)wk'.]%)mlJwS{qS)nocV*Woly&|_O\~ƹʭ˳HWb˟mۉos>;պ+ySX1 w!tVz@}쎳n=jc}0v e%; I?9ہIܱ>]kq'[ə8n f"n<=wvZ9`0c"7`iZMS,k74cRʀDnr=# KX/pf)5fd:f̹lruzXwy: 6֒DTRqz'Bj~۳tmx]_ܔvʟZsm.:+(v?y孼zbVc]nfV>cŒkvSr65uy =ȊZ2:N̎ŞG(O-Mn$Cknrw\_h3el*uc7^rzOt}.V @k6b(֚;5k-z,cc:7[ (}Ӑ ڪ.B =il kIf @3O?:uoU<͓x}k.YpԱ8ha=|zZN>OQ2Bd4h:E_.`{ Kz \k6Ws&JF3pf[}lsS0S8s943ժP;gK.,(Y t>QBn=u uAyk7L=km|=&occ›X'"(+ gs!q:7)R*ANp3WsOMRsR^<gv cuS{O5l{| OcSpNUҭo"4=zMv#1 ūZIrJSʮ:.3s= HIk_wY6@W4ZEKIj\BZь4W(v2ʐ x~LoR:c dǭk]OK]>\0[pohwAl ӷ 7^Ry.vۥ<t&D5(7'V}ۓ:mCmwҩ6}'k{fU3k{#CւzXz-jaڶWSʱd5h2QamInkZ^Zji61emYgTi!#WsOV`4cZ2[ڳb[I|~)x fTd 6>ߓ}%mwًn8ͭ쾻u':﹃}'SJ@סsF^JYz ;ȾH)OWEJH2Qgɷu٣*gC`A*2GJfghʱ!$de\%`%̼].Rd U@fZ@knfb%n5 c{ {c(^+5Ңsw#dP}CUS%MH#5Y+^s/{ K2S5cc*߯DT;SLtXHhBڮ)dn25V)PV|'OfLGxuqrPѦWQwj|+Yn}cgk=w0^^gY另;T۴ngJ9jEFV۲H[8F2ZWWN7co>}*D'G8-Gg  6~P SG^z.ٻ;r ^ep U+*}CBJ2~^粫8~A0W3LUk`poe]:CsjRp>1GA睾%ovlL =n(d573^7FˎԫB~\Z ŬDnwf#7=2- 6al's+5-3Q[1W39]^n%' Qsk"mB7ڬq?fޒ>HDkctjOggS@G#IwX*>:;;;:E>DBM::;;>D?DK(<9:;BBBCJJ+9eQ8sʁ80vDA+HI@P.4l+}{ F̪E/:ӎml;ZL=޷~R{0=-nu8}穴{daoanئuwCyu\R}梚{x$t5ɢ}DU`6>ڎ~J)gYEnRTd8ݸkd20+;)@WˍE.{ { ͹qY;]T|lsC͞7Đe{4e;`b:3[bfu ëVϽa8 R3*S=_{"$D\w|~xɽwNo;SET 2GI1w[ zUߟw"bSUӓhζsrpJ!4guȺ-{>CmTOW\LTϴkRlzwV`FHY얄ɜbhįc[ ބ{?Wg||jݻY /fnlFu:XL$~̾dTjLOm2#uZmoݞ.J:{֘dVu8SYfu2[ sD qFU~ֈdjnRt٘{~/FU{[|b >Gg&jTEFPBUcujW2jo]R# D1mz㜂Z]aϠdHB{ߘWuƻךgy-{}_j1luo5G&|XLC*qHARSO |9}r)%Jq˥쩳W~K)_ڧ3kK3,Ñi{TJ /(ќP|03ofJ)[k϶}=8h۬`a=#MMA2=^lbʼݾ{lu'rļ׷R;Wr_D11U#R.eIRj{FƭH1)+7 bJdKVr*J12cQU2^7͝&2ROlDoϊ)[ECc7 )+OamMM܊]ھk9RUG/aJg*tv* ^ Cf5+Û\[`R")2Hr̀AP{gq-LheWsڥl'qh4ܶB4!]4b) ZL"LkW*$ u剈#Qmxif?Ye_mf-2` Yz#n)#~Sl-]y+W6[JO_ހuPT.hҢhK^uO&*Mٮҝ7fׯibx@hk&JjJs-RУ, Ko Nȿ*STmǴʚtw?ϸ~bn1RYU=?L02lz9M*o{xڼiClzjzv  [ ԃԽ石϶yR0 13oJ>uG+Wnzrڻi47~d: 1rC뉦C#:#yD]dz~mm!δ1BZ htKK(.kQ[{}ژ\(5$'8mn>zclz X-~?cmM,1*%9}~[7*ΐDa }j.=.y✫ļ2U{(+ռmvnreoiWq$m})e5?;V3h|f!nuҮMt w2+qlkULQٸ?k/W/vaR;r`IcǤ.e@]0{ Fj>.͚O—H:s>-0\%Iԡ䭕u(e/伯w1D%IDDžfpVMļ SΥ:n*tRK}hݍ:ae)l #\+Rn%T(9J48Sg!P6@neel‡uЋ_=-4n)PZtPзYKhYFM;3f0U z"eM3;(ٴ {sgˆ9oA9DQ-G },Cc~gWoff=>ݾ0njY)We+/OΠì 6Wxz)WJmzM&9`j]d>yrժ⩙z#.U=gSRJzԝ;{r9{]/d^Jw1_f.e1}ۦ3ư?b4AE Tf崁o9sTm8=D*}X&O=`@8Mmv17Yձ5JSuЀ B5C5( 0@ Y##RK%T۝>2dm:Z\J|a+Ey0Kc^lS eS>7I5{7cv\j<|j: 2Y)X?/)IJVW%)3Uﻛ3s5/LO|p,5 {?? s,U3k)F%Ǿ<[7j}}ZO{[Cb\NP- .-MT!"v^e믩}筲ml^ocvkŶLf 4d)l ˽ͥ*nbb=o:bvPmJ{mݕ6V{bnrKb`"DW;TLeF=s̻r 澥yf~իvh;0.WB.](Z5P7__bTEt1X if^S_?u Ps20nn~|gI*oJPu5H"J(L~Xo5W#d%5/џn{:߾[j>%C]*tT; )9U- }v[R.ոZBzA{4rѨ$0]&mWLnJ<Q &5!Ņ  IFVl*r{` U 1#CBF.7W Kr`;#T:uDZBH+Fqn f1]ĘyfvF X5sȍ8Zi# =^z ~L$u zɪ<_H}bcY TF)eY_+m> L/u_;f뾮Ze,G,Wz\Tۭnz#\]d |׮:]~8~GmqOJw@5w}0~'SLAT?(:u;"w0%Uܖ O\BV:S, J܅%MF`H@@m=kK @ Wb, ZpCMNMCd,PO:mOggS@G#Ix$o%(A<:==:=FG44:@<@D"'8CF=I=1IC܌О'H7{ ֆK'^d ਑) x?b/ݗG}.L)ŭ\%_gOT ZvS!׾yss陜j^ۉZ ?IN,s}ŭ2kuu6BdΠ-NXjd-Ffڜ()eJ *r"PLRu$tGXڲjy_6| ;HC c< AG3Ӵ8Sp8SwYR{y9}lz5[Jͺ.o!Ý*]v>*Xɖe!GsԂ*KDRdҔ m*0! 9Q-SY;Pe0jk"صt1Y09n;am#e@ 8xNmt"j3UTڽR~/ ''3`Z^)eڬ3N^1ON+Ҡ:! ףSZի(zQ mVx [772T3.Бe ktthj U*x/4~wͻ)]SXh> |J5#+ss*q&+%ɒq$U_Կ);rn-%aLpsPfB =_C9&(i{"q;B۲fas.۽)\KE$fTjB*X(D۴똪|8Q՜1bG'wFUQsR4LjC:n{mض~l'5mYd#tip~wOPastĞL;]fTgn ͸TnuNjY"(p !H!?^rȶ>n(LLHLcݸ_޼d a's/܊I3 RʗĴt%)W! eBd\Ľ^-5wF.]^#D.U"׈Fުi {+5VYpH]Vzdb` чN"ȩ۪\P&,He`%)MU^ V݌c[f+dmN<ɑ3vCI!VЩc&8]"P_D^$6$&|Y^ gf/ث nfO|zڞ^<uY=-%g4s>߫XnEqbWcԻiEbTܮs ]e fM!pSs꞉{j;}|K7]|wYmiaۅl!SXS =N 8n F@fjFRM骟x3{=D[-#åYLGԳ5JQt3Rn#!noA3boD^XOg_LN!^e9]˛.Mq8EtO'NH{}R.sBLstneh`zlȄх,.-[ Tps@Yg:F2':A9( @ZUOW. ='LhP)@033GYY잭v*zјXWk]0j?ujf3w:FH땯6%\s1rZz:z2w:eTfU(KѣdwzYD_¯QbR'’ kӳldMtBlyFb*Rx\T_.>ʬn,q9H(" ȹ`!A0n}=wzYyZ10THz-}&r @S(3T6mw?yHt5 <^)wo-F>I,,|/` c;JrAD9ܪRhBTm_^N1Q5 R^$#m,!vWԡNtʵLJU݅Nxo?s-z0i]:m@2F<.s4޼ٮs9!2ZtlLeTqVfwdjNFBoM)ai8w.ӥDm驛v(dZ.rTy1 6ݠVN:=SHd" ˴x 7l: qHpYլ*@m,Zg\FeFؗW**^Omlm(<*'҂BNc{]꓎~O:[׋Wߘ5r5u<%wU]{mUWٶZuU \ש b؄9?OehץrAiPi6ݵ6ZaДP" @cuFlkƪTV_+bau6+Tz 75xS7;\j8"vu_96 y ֤P?ZG-*4*=׉nFY*]dr׏}?J֕ʍ:k;PͮQjc}>kcoanv2y,eSF&!3θ,I#8HaD\T$$f{dȡR+{oϚ&AeT'ft1&Cp`!eZ -?hKF!+ [[b9V}rfb>oPAH @+g^AlQ%T>Ciwj \sMQUfIhOĺ'G;" q%yH4HodR*}YEGWw͸(x+Jkax:/;(K&_ [sO,9չ݌|ͷ#Iq[TŞ-p{j8ҭR4 _<YLYl FV"k1U"|V@{˦`)* *h)zm0tr(Π$c DC-KX,c7F vpƜ8>w<8NE2ՃK:9{b# ѻojP`RWܗ}h v9Ty>XHUU&BެYi3$ SGgr-N)Ƚ+S:h1=Bټ.jacӲ^܀(].d+ GO6Ju;*IWr#nSn()cN;%Nnh0ODq\"W. THJ$T\D rޜOggS@H#Iyh&'-$=EFG>;;;=@;DHQ<&>::AHCFW1gaBp~})hLl[Kx󳳠r I@.өQr u)r,sXja#`wq(e,yScYg:/5ӴvS݆S!Mhx+ʓxgMY?Rmķ=# dγ2V|[sߝCGJ̣=<5.סل\5-{iLE{*-d܀F9^fGk]Z T)D6 ikn}@3h`qWaugzpKoX; 0[tD)'Z^KURR%/~kAY@IT[}q}'ǓWSVYnG'I-~v~]U$s >T &<\%g1qi;U*_y7}ʺiȻf~^ַV[ĝy5Dfvurȅ|ӝme5YB3ܐ} gpKw1FAPa)B$o&7;S\NXȜލMnRشMC ׃ Gt>2/4@8`Vu@@N0 B{gt<fI&ySu2%Xܛ[_'-?+':~976b]2vM y3a s)OHN]zal|/_nF3WzWOD?a^O|vW\(LT까4uz9##1ۑUkƫkg`{LIo9'aq!T($L<, Hpf 4Kv]v(<Y kކ^ugݍ8Ƅ3o%]&,02\Tt#\fiU> rtasS9s3]QWI{]=k3NL):LIU'@>Ί}Zaֻ7k׫,.mY:.R;.)YJյV#\枝?&t("DԔT[>-C~nKg0:tOi-'sӯf0**pb-=}{H tKc=Z}㧟3N>SFusQ}n! c*&+,7,u̻7rLDΌoou율TD*iҳ}*Jȡ{_kTI6kr*m M3|y5@s Y%%%A-e.yU46Z?7`K/SfaőaeĄP-Kͽ޷WJ'O`]X77ӭ!+ykA:rYD{z^zb]MO3QQBhli &-+`kK jpҕV0S]ձJjiF1 氋'>@RҖT<Ҁ MPW#ᅵRJN-*6mo2#dSЮx"P]ݑt`u&r: 񤋩t=1nu=L֘W2N_[H;D>߆#,];_Jᖖ+fv=$ eҙ% kbE3%  } .\:6U33y2[SM'f*Y#ҌV ?22a:])\]DPbQ!2ݵ_ 'O$ <օ&1KuM7uCMkZ4vc9-X$nZH]s ]g+A6t@vp'ZM@PM bG Ɯn/~syّR\wAqvD::k4AoX4u@d]_B3~N{o1e&Q,{_)=o8d!ǛmӘ:sNw+3 >FU*q6(Ԭ.b%ccXU9/hٖ|(>4]ug(V(E5vWR\1kC"{aQP$ժ8-v۳+'G 43lI#7'j}endpuQ" Xtc6+ӿoFbṉϛntӽX=0f 9>̴[LQU̢bֹ@*&ěfLe1V'1Bӛy=f~+b˭̩n*m!{T1^6"~ϤoUz}tgޑlg>>W1}SJʍ`gWeg/PU&eOT (]gmޫGXimDx)d3OM|L,cEG/őNl]œ5KtVv#t 1Yz̀zYkj^Nq( VCd:E$2MDPĺ_X? @L23ffJ{}ⵞRv=q"6CSuyk8@;9c<ߧPɉ;Cgz/]iWCL=kwŕXJbQ t[1w#̖:tIyF 6_vqy[;mte'\Yq&Tl&U?q;i[sT-krL]*mzwgF[ߌTp2iF\OCܡR^Euc':`@̜۟>jM1`^MeMbiýְ/ Yun5oy;r=T>WGyKaNsUbXT zw}7WbC 첆謐NyeپdhFsjRt>t]+;2(WI+N B|˝m l+sDNcIP]_5e3&q0ysϱM]fM܊osotP0bKEz0*_eq $~~ c}Z{O <'׫7Jʴ[k{bc<:b~`wƜd#~jyy+ro:m e UUûmqϷlބe.r(ٷ,waʽ֔gZ&ڍi6n*sXG'Vk v3n&KWaJ]mq΄SBR} Z]I PZ/ vOggS@0H#IzqGu&CCW<=;<78:DJE96)D=<@A?>E@|נ)ݸh3qhƒ=l!Ah{Nf5h?0ܴ( ``7zh zNaIXC ykGƇq? ֝ޛyf&zsEu6}/׿udwBTtWP9.`%vI쿞1+a>}sgBqPtz/#\!{u}rj(oûT8wj0&zb'c&6$~+cT?DR|3pdOgsk;ɵ̀JUouoUAL[6l^vVVX̙-Cv3CwkXc ݞ /JRvk5Id @{6)S d(s"K"=6ܧ{#޲=&ffJc&S+gnz^Cq\4lIÝca =XP#׊L;jW|F'{xeObZUnk 53jWU7.[~D_6r״:eWk][ 1';;{.ϙ)ݖ݌=kq{Ivlw7f^Mj~r ZFaRa~muMy]'4Lb֕~nnx.Ru[l"ZfY0h^z/8<3}8w(`d&k(<5+hKa$sS]׾²ӭ9' dJT27!1G\e[ULJپOdqf#Jfd/ۆƭ_W<6K86Y>ʑXBp"c$Ccor3{+ևܻr#D uk%E$쥍)B@dbvm*<6E;=u5A(}S<&Qr S+7/U[W^'+j)5V3T"=Ҹ&t{~j>wS\jlnu4#1KD\HQtGTDjJSߘՇ# nTϘYnun~ZD6Qx#@F&:d\)+/_mtlnj,lV:U_DB#<֗UҰP,{Ln㟿"?K~̺^ 7X>^i=7{6ٶ.KzI']zQ3w譻)KJ}6;m{8V ]EbY+9%Qο)yLexUIHd\ Shƒr= }d0:wхn}s"T[^Ȧ;n;*>[3'>MT*rxG-F7ŨgSUi{bSxt/^Ceϓ,刕޲q+g;P;=Jt_gnv_d,o1DsDʽ.v!fj$(+) Y@ƸO <5ippͨ23z{չxCC7k<+<{MUI3I-]t^g#_uیOKyLa3&ՋSrBNrv4o" IsA1h/e#`;uO^[eEdiIhlj3{}nf6 a6 ~I2F N, GnfY@ܗOvG yzU˯5֑})Rc|VC՟n|G70?sA_yRpxķ]kmANJ4Z(jEV^#grcqLIJc?: +]v>S"@S8tH/лT IVymC6\ yԡ2߉NNOOaOwNMt;W:U@{7~UgYQ1S; ::95۽!`>ӑ}7_ZHUͥ7ʣh-.Кʖȩ Fj((kn+ ߅nYkQ{G;T 6vmhNjGov~W%:7@l`\ F:?&xW<'j洁rG66dE}ktǜ3c(fUMUD`kyK}awɈћOez~son=\ky ſw4\mϣ%"8ɒ ȼ{RwF. |{eιҙNM6uzdeLϩFFu gJsoe۶ۮܫwW ctqH&r;qz; c5n(cfk|JĻn鶤Dn~`7ٹU/t3$L!U ^NjzkfFi= e0? X&7 .ݴCXm˺~TLso2X\3/1!)먌1r9xq.s߫&_3]5ꫫRyZ7'LaJ"R:U* B!" ]_uڶ3{-okb7~dN "dξ)>)"?` ,42,7tQ^u۽mW͒2֨AAL~¼ѭ`(ѩmV]r>vU׮wk۽W`= vyUb!F,J.,_f$,7#Y=mkzueKemar @;79PZ\93/b Yym+fvI4α*k.D=ߺmVڪŏ1&UM Td'\Tܐ\S3s eojƃmY Iw1?ͮ9Zyr HA{}vw$qOɒrJs{(/fD1a!QU DҸ34S۵GOy&mf{^cZFd>{zے\YJ]] C劬#0뉍:+.Ž=ȮOsGnS1ud'1h[&vV/n3ɬlŢ?8䃨uDAp= (+Je8Fo xYm--/$O ԭkʴYfdJc5GҚv:Y$ƛHzߎџDmz(Tr3Q\F>,6r޼AuITrCs__=D6ݺp똫6#mĨ Ǯ<7X/ֆFN M>gL4DC.E RGz"crOggS`H#I{y+=*<;8698CACGA=;;:9)N]tWq\nmGGq.\$nonm]|,"i#YJoFemRn`Auh<4nST÷(zZZcԟMQ' g666Cnp ;0 `J,\ y =b )m~/jXb¼gf̔eKό33WjӦ3!)Kt>a@֝؈` ͧ6O+͉u5̖[LI?w>8ض}ugM+?r:Un6+v{HMV7mo3Ž ϘIy{)+lzyM=.63vsJ"6 F jQFlQ>?znVs[=(lt=MDUדVI)=u^AgJc :DR`;m_NGԟJ%ĵp'8{Pݔe3{]a|2u᫈Mj2R; XT&bpz-MV#\Ltsz{R)qn9JF,lv&`܋P_nIND,-Ffw#mn̘{l4]5 ‰*Y,jz8bg7zm* xû6;O%Ɋ܅w=L^oI;p7 e; uzb6۶"6m3]wTKĀJ1(=|o+c@Nki ._Co}^%9]]mooV}m{5+ ui2֩fAώz*saMM"S{iTڢjմ۫em{߶\j ;,O1!*}dA?mS{AϛXӤ*J3: ҄.n13{&J4ta=V&$LQuMaGn80Ч{I^z*4ѷl'hE 5On:"]ڇƋhW3A!m!R"7$IdL~g_Tn"JCY;fX*zAۥV]!k@6T*D_RR5n.Gf[LDVըU˅GP,޵g$ X.>_M\s85lZEl큱jxbE<׮-?% a?NqZm<͚4NujP*M6bJQ$z FF;߭t-?ɎLɫtfQ ެE10[D>ૠ,oN~Rnfe{l5JJQܶGyMmI)H5c$B&&? pe;AlO?2wP}CB2!n=[֚z^` $jKjd\ꁛym1]OһUeU`\=NE.^fl- :nآY2VUJ Q$ P\t.53F%?eᛇ^g,Ѧ{boYYN_>q\UEGnNtӪ T <,&$9>Z"@U.m5CnK3߼5G{-mT*uB5u6 D\-k*}7Q]TS:g.ƨRhk@)k2UQW>ojW1};A6heL( 0μNzF`_+̓Ud[k9*wHEP0 j/p$KTUeneOoUO_]-w9,uUluqm-ɥpOc7\$J(ABNknZ}FDBjRxvNɯ߰碞vov<Hn .# W9e7b 6!%+˕S=w;k[E M"H2f=c _[Zf^6)v?!8E=s@"жBDX̛Qff&kE1{MrV#v2jM߶Oj~k6n s|-]1v3g6ʿt3SM  ~y]\N?٥~TeP=ụ2]^x]]sh_]R,>=ӗf !Cf}ҍrT*{0Mng%F\ NG $˦KSX]!{h,kq/Us9ͱ6 B\-=ys }@>=ҥ1,3[5+w_b5*ս `ۃ٘j*YltpRbj%d&;Eb{wn}]gWt?fSfg|- UY% vhR֢m>~1ޛ^iz5K-T Yb#l` ;? :IrfUŌf^n̚ug|J\xXJ b@Eo?{$ͺ+SYEwFu/ 3D|zˊH"f˄P]Uy=.LoonM]ynަi\ߛT{bjo^0WlQLG _5w ^M[ Nrոyz,;*W}dmw0  H]q Ur1I闓z+1#,fFL)3ڷ?]5MkϰSiG<;25v+Ӆo _1{?QJvqo3zz";K~>u_(kSo9ټ@n{l]l"epV6J LO&BQurCE\T+@E<&Iy 刖&MH2B*Y6˙1,CTэ<g.YjUcY;$T1#m0OC!%sAw%~q#`>l͉Cbz55Ai=tcۈQThΜ}dO%MT}o1٦,sYpOYj$lK2#|MsWn]wLIߧ{RBt+dEʅ% ˜8@EۥPX{_xl>&hf8 /A[Y 슲* W'Y N-\䶐Nqr]9BF61OggS@H#I|w&1;)?;=9;>>>CH039>AB'9AAD@.18kx ^{-{j7 d<~ )RO#݆H.nZdmCе: D*\%u((+yYZMyv8HGol%LѺ{7ܟASzn{I ;gӃt*v܉סIrj/MmxU ak@Cɼ)PL%,ֱ"A&3儮FdoN7B"::1(  =uIfTl@vF`n7 5ldz:@qf@gmϬH:9Т=%͆AFp@) }IIt\VJ>{|( (%{ޫ7] G};3?3]xTru <YR6N (mG]{Bk .M\)#iud!`K-/~ @2w:-ʈ]$3ػ&z9jxAЗ5Ʉq 4N}`8`6lUd>&\8D tCaoq(P `**+yEj!bY,F)Ϩq(&RϹoݽg‡H"Yv<|(B\_nŸ2Rھ|+Wvlc#)iu ȩD]-[ϒW9k7D[!, "6tP;PȜ#E E7#L bA!,O N8Q͕G~5` #φDzKl-1nLzOpe1 ^sF:X02A~x;C"I-td3YxΔ'x\biKF2#3&\ӈ=2Ħ?oJȣ7k{StUښڦmFI5-H%E~PC*`0 6Nx=۩f\nNv 2)jPL.-@0BHvPiyߑ=]bTwnCxf2&'JELx!52#- wοxr6w˅<_W^c[,c. rbNr6¼n< XN5_}[o+Yo&+_idtvt_(آ "k-_]U0j[QqI;2uYzDc˩jh*[Nſ bG]di; { YםXg1"1EE/i=\:;pF,@v_U)dBhok֩*vm-ZOޞqJOQ h*L"hR,'&$Q{O@of2yJSz=8IVQ,c^:>lOL7Cɶ'۫FdCJ[ 5M\u|;.+1>:U6sSټи¼npN JPQ !R(nLCه JI"7J˗IMN;raȔ 6Y.Y HB+e2Hl\AᜠiaxnUQzj}:p1:GU'@SOQ*g,D5wDt|Ayt@،)eJ~/ ۜť3j-5;o_W}W}tZҚV[|XmdC—Zf**X=DZݵ~LA";;{LTTQnf$Ezo&҄P9r%J(4D ـcAJ_y 6bC85Y+jzGd^NP)\_> &VyZN,M02vodN86Keap7AH/b^\jUv@t %'q31f]4mm~^&"\"ȭ vs g٧^EBRͪzcaWirh1iJQlJzDz I.rx_l~J<*|nF}y]khZx Z遲+"oSyC;J^9%syox{^TFZnDNԧS7`@EIԖ} ~cMpIj0rc7a.,>S-t$"gP0>9ZB?6\h).&j%g*5igVpp8vo'~[[OUhBhYKQU0VjG]_ZZ ? koeFS 7 Mٽ9@): FXQ.*~;͔ ppR3!A4H#Nk`MH(.x2aG)+S֮>wM< t\~V gq/yRh(=a=kkUZrOy[}KǜjO5wZU/OmMwѺW\6 O 0Q4=9~Jj |Vac`O@N^iRz lçM^ijfS- !Upk0}40xXx 10V:M"SCҢ( Of&}xɫ*efVg 6͞N|HO,8ә{d"l=4rL4:}o(ᑺIOi9;}&H=;FkDh CnDДy32gթcfTM z Tb}$SS_Պ}uOK}Jsw=27|/JqZC%`cd-U&F|堓¸Ppqro9NUYл٪RO.25FJ:?ѐ*ve6ĈE2\2u@XpQ]ﯽ4ޭ1qPh6wvknF֍fʥc䰴"픱wr/`.{A &3gJ)~0MC0w59q:H$2!g/ˆ.o?ň]Z\W%E55}ӀE";&۠j+Dn@5р+P-@UknoT!aȎM7}r&4YjT~KMv<j16] l ^ A1`XP#M h$~{ vôq/ĕVi.ak2 2= l3l17\svH+7S[XWoDi[aݘ=Y6bWx:HdV.,,MZ#eh &_tPݛ+Wql<,٥{"jf( N'D4ԇP$}DeGRr=/LmoPuvgZ"T9u*ATT&]6C[DS1ym0k񖟷ݏmۙ IQe : '%$bojZ.Ns vgל'OӶzXgj+Z |>)s4A-,/Q#0P?v{A:*|ŹƐhWHZFkYPx֙>ñԀTTN#eė:\vPS m(ޞ3C%&ҙ(墴gK 7LtCmFNf7Shbʪ sv[9G$yAZ bjkBIT7"( p9ͮ6|؏ּoꪰΨ*l.eUF]M97[*j7+&2"Tsr2o.YL"I9^""Oe H-#tL 0ؕ[ 7*&/#b];.(8ys6,|Pēlf_*|PBL҂Th֣:fz0Zt%.Jnlxl;4f28l\\I18Q*pd@S^܂j$%V:}f)>꽭κj-ꪱysٶJS3bBJҟp*#۷$.7ORS5Gս]W\4N/U9VjH6>?(2869==88DB?>>ABI?#5[ٰLLaL&{:wFcli-uW*9F>es'DBqwbaky6$6!{=0H1 ק79;>O*79qK]2]*'@v{n5OZM}vGNŜHZr`LyJ\d.?~O.0ۣ  أ;KB4T+Ck@nTPbqUvI#qelL\ <Լ WxK6㈛r~)`|<=3!T\5%ōw<ole+7#PR<\sv\&?}=ɫ6Txoym][r[>RjJg!&/wL6~h&f^coM]^VtNPd'ysmc.{{ᯉ>?ažչ>7W-sQf0"1ư f9 0 ~2ʎ@Y:S4*^Nk[>Haм&(5fJmQw?{'o޷[OVr8O 7{V\IW<ʼn'晋>mJbT'u^# ,6-nJwI 35&[T]KVFWaUvm]&Rk9R'ӣv6.(DufT0=>gv.<]w>˱)5Q4V_cyDjcX$`K#ȈszX[޽Dg2y:AQP~XJwry [j)-KV+Qɘ2%eamHHYڢԟVjv]#3&rnm]Ei?4O56w;GOo>չۼu!+z]׽!do+̇|sq+ײSȲ^Wv/n&ǂUE2<}k#V䘴9ggSK蝵} s.o{;^]k3Fߚ^{{Zף'hQ5 =ttQzel#uvS W fٲj qG'eiicgD1DQnNTF Stkٻ }̔IJ~ݮħdj'GMeٰS bޕeeTc5'}1#o@KsOzmON쵽JvcƖEk9]ר:` g?s+9tVbZzhxTtYdzfMӧHLSnV=V{;tOMA[y1OegNF(v-NifrVe=l/8wR0=cal.󋞜;Vfdvש>,M|T~6awU֧+6L2oT2JUubIOw[o7zk^۪e5^OJ+4]Ȯ'Ѷ}'sϘZwL}{l'n#1+-:*Oȕ1qQMuµ^$i\ko/ϧYJX\ASdO~vx /wͯ P>.MSB6A e֍܋`StZ;Æ b<y wkEsôiwS /dܘ$^k2U@9HX $F==d#}7s~JsktGiӎ{w@ۏ*@ z,:l}7Ny< }Ϻp#MRjV!Jw9Z֥l RݲܔO Uc $ ̛l0)6TFJcJ@ngߔ/4к_={:kns@v,>f+:+'- ݳ ÿn057:3uт]J=b;4 j>fmnHԌF 8^@jIz4Rg11}cKJqϖ"ai9ToXK. -^N|!i;r5ݷUq" aM# L)گNWu:,&"Q=xNvI&2&tEeFt7;L3!ǵߗ uBZQ#;NҥlI^d>o|dE5jNޝҁ<PTҿFujxIbsr g5Vk : 9:$7]#hDU~MygMլ휜?:WYZcJOJNۗѣ=&c~vgb{EJX5r,LF Vl"Ůt &7}WF}^La'{max[ho]ٶ]+m]'d4(tr] ͇/,@{(B*}lu&yGj+&[ m{ {KtjԲc#mҕR,w߹MT<1nj./}$ ْ.!W )>t1x.Q*.{jK]yC;.|& @J+6`\^{ bHq9*wF4{z+ozk\5ܤkLb uoѨܕB)c* Hi\Nt_=VɴvF{Lrۻm: 9WlB%v@uW_Y/kIkcKTZRި ꚷu4WX"KL̔6@vllB l^RJNs 147of]'yk=|VHDS&,FEZ`wD fJfB+͏,N/8/#snm_<ied+[r~JIS "MS+; \[+{'⪏M'b5ٯȲJߣz[؛QRVܝͬ=Q=Je3R#Ӽ')t%ܰ dR17Av3R- !cEȤKW/M"E8!r"EDIq)'$ƀ!^7G²:d%qs-2s!lj;YGL`P1F Dd`yه,%#"|o]?x(40 fV+vȗÞ!_w<6h3/~/%ZCGr{חo*=>$ƟAYy^+2W۲JӹcFbuEϷrnP-Y\wID3}ޒITPYTH6JsSȄ+Z :>Jɟ/1BA5Y̒~OggS#I#If~/M<<:=9E@.69>:;:=@CBBB:<9=;:HDE@%=>67BCDD‰0nzD1Fg?sY  `{yb kMk=Z V h 7fj3`S]6݃]|%ڸ4սWR5`lJm"^i^UJ֯ܖLV7 F.&&/`l2ykq*{4hH kvn9/9X6&wb^cg]lFw>˔P-#S%_u\Fql=D3<[8(úe]L6@ضe( 2m@rkddžP6{6}W! 7ϗB޽m=մjYk۶fLFM ̮.2XFGv+h¨=>ѽl;Z[wMnYӶjj+myewE }c&?) }@<_/< 3SfflO] mJ%vPdl\|_gxuk(-a(twRYUe]G Q`<9t~*3/s̸ܫr鎑uBND("72"KD bC9U(d6IىV>1մ xHG& u`RNZٌ[oٙۛmrsf`3ߨ `6N!>q\m8@vɃL,H K Zs)BsZmPp͌*3 Yu, _w eO=&}%܇$A#|pyq/v|4}ɵ?Վ".{u)"ݳWͪ\~>ѯ zr*{SɕEU-jSPbqwrJd{rs/nIi &Fџႄ6OΆ_/ln!َ"/j_ epS[|r>׼ 3]8($R T>:&K">CTIHjxm3{(="//9d.JchVj./7 z~z,l_ϭ&N[+cmVdB/WfyBqh@?T FƸ2i*liEUiff+1\fDވLجL2PSHXŠzoSl|6g??-7Yw^bn(\:3eb̀XW&_?* u?ZUѱdhzmZ0YTV6M[֒%"Ħx@3J0(Tml2n/rimc޼3d"4ETش G; 8x2TbʖqԷm4fml>uLAg6B*MV1 h7 JWP*fd M}UMl&|:# ^֞@;n GPkm͢B5CF\^v53PzA nkbcl")tg!UFe9d_/FbTrx۵6/jXKb6:%]8$#-U*5 ".yY˔fgjEcLֿ_;9+Nő'/v8it}Hӗ n+!ɥ.ŧ/}_u+۬\Sz-FFR)6lBq!ne$1禣!_[\4*%#év4 hY\RMGI9LܼiDvFm]cΦl6+]bV6%~ 4"'KD,sܗ Dv>5]y[2 ؍r&b5osi(f+{O/6"1 r.Vy_Y鲆*u %j[))&դl.;|uB$+aYTY`t?Z{%B5N Ҕ_7-)45/^m94'Z\Ogl"PqDNANݜv_fgdʅh!NTٍrH4^#*RVg_=lԨ&\frV}R}1!PuHf+QB Mg״[vZV=^޲snV5)*`/H(W不I $3,SyˏMv6]oA7Zww9{ݔ"ױ%rngąJo.ynlHwۥr(Uoo>w.&u\]o?13L♬Tyh@ltǖ('P:@@&v.@$1 TBñ2;9a|F9~L|?8ⱖQ@/Nl{䯨η'Uw(uUJFdb2:> PQ^e畞K[(d_J?U'+lޜ"+*E*4z߸B I,rV78i}jыkͺ6aK=] DOB HA+@7&%ݢw&OȫTmy۶Ul{m8\FO0FBFRz<N Ҿ-BigHȘ=y슁zivm{mLXPIP-Q ߑS(3jΰDyD~woao+VY2n-:V9*j^i w~E2g@0٨9J!>mݷ<uSk snd}\cv'-Δ[cۖ},CU.7q}Uz;QXz&: Wp\wzM"IVWYWrddI-8zE6cG\cH -mWk*PmW3e\ ]M9/un+K$on/̵W^.j.,r OggSTI#Iij&B;?9F<::<98>FDB8:>G@!):CEDFV`::uL@@6Ӷ!i4n$Ae; N/=>x D'Q 2g/^u~ĂSjʝ"DZɩmo,|zCdFUhyށ_cגM9fnmW8F6\;\jԻSm R֕))ێ{rSˆwhqBu.PW7'h{M\)V>Չ䦋Q[`.S):#JuOR;E#GF naEEd&8L҄4[ ID Q6w3(` [21Kn;{˶iNm6(A>up|M"U r@>C(J {UO%e{sq^;~'jeׇ$yl,1ϵE('c7>vͥO>& }4^^+Kڋ4mUSۇ_uPAT9)+ҊQrQ2yk]nL9b @uw3VLvuқtk@DfլJѩܸ4K"Q[MSR$, Lͱ=Xֶ);mZ[Y,@;6weߝ/`0v0~ j^e6U8tR}w%^h|ޡ$cꅲX'1L~߾xCAЕ ~=Pxez|sj1~ yT_ݷV%F?9w.ʸܻ+/m9wJ(ɑSIbjHchb(ݟY`% ^Ƹ-e!w !'Y><]12DW@MK iܔ4 Z4pAF0mږ@gfZ10[y` @y;tgrr "P@P] >['|U- 0JU=yw5\_u_+GG%; 9LiUbtU)Õ { /S\):81qe^{+ݵ:89J5D]Gz \ %4[FNrI A>=&3r^ΝJ+SBDU}N2PG8CEN4alM~>yGq%>Sƙ߬d.E 6c.z_ pR"QhwMduoX&\u6H*~tE@YwD(x"Է(Xn7ZK pEldAxZER|ż +C~ m2K] \&V+<OQЛ8;+`سMr͌߶y{{dt:c L 2S(rA _h'.@ոC2[cCZ׳O<ݍ|z]k}+{`%K Г>B}hbxn&4*%1e !oœϜ1ذw~lϴǟ~[yn' yF{pɛqHJ1<雨F[OmFVרզW*WsJdE-:ᬛ5D{d5XJq)9zZ̈Rbd&"a3]\KD4߱FHCxōCVJX* CW $įeO^;W8  2~lapS`n~ht\@ $g[NƤ Q3I—=2m/i.53+I;'{b9r/]dFfC.8]њ]ޭ+'2bp%u'O%Qd6@>a疝0Br뻭y?6y/oWw^kܫf~X/XklJa=<ןʤjaoHo-MuI-t&Rݝҽ?j[kh n{VA:WO! E46[/e o氤,Po*nz-g[ZoJ=jy<O~\u]#Z}uÓRە|+uy;~6 [`XbADy 4;Wa NH9~CԻr0qw0&A)Rd2XQ\ `_*@Wwm`9|x$@E$ 3O{2}ySF3{@ 梱]k y =I3O6" `ffʔ @2:lDǧwlIޯ* ޖ!Szw~$J!SQ]dE57lݲQԳ3]hG#宣O\Ze>1k\Faa,[g=U ;tDu:Rb0a@$|y{2n{M2jpyypy6Ñڵ:6y+, ܽG~@umq36V2.(Sj &;e"sLb* 'roSnԌ2S@~7k߮5OFw[3krWncP<|Jp][^yBъ^)Qipx-jG+o=OY|r[Fk彼٨n;ʈ>*•oϊuؠ|[ɒ)1|/&Y90v] =e]앬biT+(*BgGJzR4 xVޤf٬5.)sC (ǐwIa-]l9aD,EZnXX>*dŤ<8<:9C@DG!;;;9C@FR ڋi9[j>D~{rk+hpL &a088 cTKZr6]}dZִ6"d*Z/[_ewϗ1 }น[iޖ9rluK8ˬt e|oVWݨ4=H/ X(GUg,7KHc'IY]}8@G`X %18i1{, F20[7˟{n)>Web1Y%*7B"Ur{ ]|Óxs$53LeZkᝋ8w~[q3NWĘ*yՕyV: Q:L -m wwX2UҔ+m_T1k ]ɢ䊟?u~MUBbwn]*"mߍS*yGtjtnt59gZɶSW9}H]t .XYJ5# ʹ q 2;nW-h)5_"ǹ .^t2T2 UjJ%oN~Oި+3̷ {~I-zimn&=کIKuWPO{߹)M[UNwMHOeڊ;~fu(C5wq+vy8]lR'Gۻ#rÝJMӾ{Әuìǻ2Ixkꜜ8_n|DbY o3 '3m|Dhw2Ђoy_М'Xj2rY\X+\Vrwg5~˞n3Db˩*Sd Coۋ*e l+ 9J@9⩨CS7 s\9-ޤ42h/si{k("@| 4/H*[kT\fOmĔ뵗3x*nl8zHJ| @ᗿ/C#I)R;q1O1-o[_5oڛ`-aW4Re ZP(PuIJ ?h3yb^pSv96Zo=g]fn>;ҡi+PNe{+ pM2VfJIJL6ڧ^ؙ*c9θw_8W_q]Y}:5n<3ѾaVҔ-P r}S؈w0'.O>/Q{2e]Pdi&2rFaf4zQ. @ƞ`uI%FZ gl +q/)!^2z\B"\@hN8^_X@p*t C( k^$teT()x@;b0!S55WէcJQbhiyi0eKҁ MT!5çhjrȨF9U|=SxDΕZam4=l1ZXv H P%P9U -JT{)E#4ʻ' 4SPcWAN Gft*<ĉ*P-Ǩ]"|^.6͊5lg ˲Pϖ $"_c{g) u+^/-љnsl?߳`$!tJy XQCiϙ*=2[,,Š!TOˉSm^zv.qQg@)FB @ywņwr]M! bƺŷ2o6c<Y{,st$ v Lq J=4eTuvS(>oeg3?՞mwo&e ڟbW @bQ'F@]$ýyp\3jL"le+`rK_\ڰ۳w,GUX+zO9pY4@ (<LO<6wPqv:O{R QZ{_wtQi9t#.[hwVݽ~ qM$M-{E*iLR\V'%*edN @pҌJ4q84 6HmN2)Wb y1aBⳝajsnS?C6 7pp+Ln2+MiR3" zk_s'$,[fR*mޫYnٯ$h?6nUJtKr=97ךJf]!ZUýDeӻq([Ȍ:]T3:IJ".+]ٸ՘ NdMep^`#<hM IG@@%Q=! \(o6-4c'a{lmn v_&o&~co (8´QkYH1[D(<%JRo'i]܏Vt:2~s.g=Kt͆Lm{W=Cŗ.RcT/nV+!)=:"Eo!nUgwWts+0Y.G㽡8B4_YswJW-]M&SW]Nƕwu-|;;[*vqvj7{fT:SݍYݵOggSI#I)T?#O5;LI<.81):9;:;>CBFC@BCDڋJ5ҥѸbJs-(t:QRX'%``,16r,!B _[w~*N+~EpQ9J* $k_>jjC")Qh#ٸc|*k;7w˙J:MIK>d#^\LuEfb[(D]NϋNDlL)h9l&@LK1-i(]#y9n,ggNʹҹb5YY^6Xp5c9|Ytΰ:g sٶdRIGϵ'foz|#``BzeH83B;"R~ <ӏz_ԛ\ ̫e/{>Z\'oelDWg J,SiDם{bn~+W9ΜFN*syVܼ>{|q[MfgKbLVh<6;{VD)Ҹ +v $F[6ad;lKo af @@b؀~"wc:CPP%|1I%@Nڷ}Դ}ykfƔW3x׺L|9Cҫa`oQL-8㣖s'76lnwNWV);[}{fk{Y鵕)K+wXIPeG\58uw^, c^uu߽Nkv-#v/"SS'rlEQӐR2bMt|ÕmJWw3T`^S p<~,McNKe`3$"G&]ekR)eUS6/AԕNd^G ӝbV:YݛRު^y뛳r+Wrb$9Օg6.͜a OXQ)}9Hck\n9r:&Nq.VuMb# ]g,u:a,"\y!2Z͋98f2{esnfgΡ Q^$XasKqzY DS_Utݽl)`潗2[>9ts|a~}oK8LZ@$!y7#ɾ5TJ9_9Oc;봼>1]||3wh{ŽӛW~zO?Չ\aeߌRY6N0Mq Ak:(Ux3ٮRQi*Yhc=iM~.6z&-r/äV &~cSձ4x[p0KA6Z}B3btaXs)bop{I) XbZBe2 QM2=s9Sr%.UeƛMRw;s\}<߆{eHCgiMx-*T*UhP{S٤ؑv=2 m+e-`R35Eh_b˖eRpu-R tt6`,Q.yi`zFBi,lU^?n}7;Ɯ g 3՗B=MV$UL)Z"w szer$3׌Ift_; G}]:RCANoǿ*/t%C1j ¯.{m^JDMP*e2뽫Xkf( 2KX T8='تL"~.T˔č_/W/+m͝4kɪk!,& 7Dpja՛$7dg7YtvL}[fkt^3+}FcDZvK[}7M% Qv&sżrm۶F]URDtMýyз9¨h6d$oɅt+|9O};s(G$c 1O]cbsȄ`^Q6O#9>üЍoxө-ymKy֝4^fRџb(P(L.jP.oQn>W)Uec N>gT?8Hur %u,nVJqM۽[ҮVzvq޸fi,Ω,F5&z#t)ia1ڙ!ۇrëOoVlkmeb|NKD5BN)U\ h/iت9?ܥuU{۶ E lׁ0gZ sGz7WjTd-cSK(,m;~Vfvm΃]?o5Ze!\uY#Vr1)Px{@dݪn 9T3Nj3-]籬T Nݏnd02Xк3Aa-$4B1(jSɨf+f{ κc#ťrqrb_(_DN>ӣ/ wgSR}*wN7 fMWʔUաК *¨ޱ^3Mr=FnOggSI#I RK+J5(<76789D;DG@:==!w{m1=ި0 Q7ݸ*&1q؃}TL= +\i+ E퉼@" >L]9U#^I aR%ítX[uhc6oh@.v0Uy1nOTѥjwYq1r'|'D)RuΜDn])|0χD^W;(e=~؜ffQhmpDzBiNq. \Lj !sV7\as1QB"Vތn5 x{{]qc%{sw92@ [hLqEUg]<i%  <5TM ?`w!UV+={LOIxU \c% HF&ϋ ^@68/?LTWHyQs'}eAqnO[ ?*Oo?ȶw6&Laǻa(5bJ-`&ercβeq]eld"@4}5M$#ԍye9+[lT]jǵjd^@U7ee6ً&L + Xֆ:+߄,Efen]TIHHJXz3G*Sv k0v3Wjs-7Ӥ۾٘^V1_fԀWrsWeTЊ,s}q[bF}+Yvimm>|3떰-~Oݟm%2dz,/YaANf0!sRhFmq$Ŏ 9ѧ}9szƕqз`ÅޅCP;Àl3{ZE.pq@6DV&\苛8EklIe03Ԕ22'`]5=l.t0v]nSvu`Hӫ[%a(OޝE/Pj^Faԓ}~]2rxͪץ˅u#DomߨY՟jd*w~vwS`+{onWp鍖kd\wB{j+*׶OO\疦G{[m&#Dg=l3=#PJ4Aq[bֿ3jxY=[k:S= zkҶFjf\2U˄'9ØPM9t\b=gj]INk(i>^_UۇSy;JD|F]$F:5Xw@/0_vsr3S[& UE{00gu#$b"ZZ]-Y]Vuyf?S{w1tN]6`ոߨIOł^Ot2p?FVm5ڵ-VrRK=K Xx$ ;(|ڽ~^ӗ*ikZfm޽~RW(/ u2:?|ʔ$a>VwQRӺֵn@]6]6֊tIꋙV|HHҼTed Tj͒ѦKn{ʖ[V]{o."yo)M%?fRub=1;Kջ> -kᬺ+jmYkzTq(Zz ;'bERݻ9ۙ5[stvֻuojyk;5*62KYn9+⁾ |uyNn 7͔)yk ܡ\x>0X%[~wg:R5VS,K.Wl̨~N-݌WQZRk h**DDʊR7x:#k&"8|#"6ݔwi>JsɊuy={nVYɸJw咉3Fg%vU`L{ے_KeOE'AWݎTd.h={TD64 3z X[6vKⅾ C1f:7fX(")"dt9[Cۦ"n׆BLF?rfmMG{(gGsZN5#0kCkԱ(|t_;HBrC8"R~LonrDj3NKe h9_*sWQnfEWf227no|4Iʠ@b&v< k8!P+ʥ\eqS1 Ru2y=t:ңI nUU45-goP(QlqK^՜J%!m:{eS<.6aܝQ4QP vhJBBS_g2uN|ǯuRj=zfofoeZ"^د"EH4RbYYZ$RU*V 89 νfS[NS}]O6=S4pIʘg˽dz~+61VT!l$6xX'/[dQ'vΫF'ܹ{7?Ѫھ;{yGϠW~-T+ R8{NM\1-˝yL%:ny7C` Fj%FUmݧ$ \-@tYT8hZNpA4~_6!vPbMqSgNL >lkum9w[BN+цR#$3O2˴~뾞*X_c=ylW2S+:޵&c* `ʽ={  mUΖW6:,ڼ}}w^y6A{Ur E!Dk<2l  O{dV{H=Pi$Ʊ5XGzS{nrwU^LS nβ G_"Z̀ݟV֚TD,4)>&-HY׾өB\0ojL~o9c';N9i_/SHM˧CYIc.LEJ֘5Sxs~e芙Pjw"Sغ#3<FJYPת?QTFoi5vs۾666{뜑']b\yLN]Ɋ <*ZOc])4%݄\Y_ml8d"ȰogH;ok!\ n> wsWu2[N8ޟ3bzssEZ ذM(hغT^{jﺺ9 ޽y&#+ߗlF#):T*@V @l K#hR;b†LVЙj duF]V@ Д?jZԨ"Cڗ~3Wk 7񴞉gR<@(Qc_ Q򯺝' >rfb>,\;uf6E?\T:pxʈg~yr׿ޕd.{8ϝ˾7{CfKk A2i]CfDϫQ uԅPwԅ躪iWf-{o}Z"Z x[/"jQxBf٣tWhvwowZ*ee"]JW>ĥ1U  VUi>Z>'mYl]~3}mms[r/Z+ǠsA(Z(ϓSGܘ)PL"15VpГ^< ^ٿ_7tL-#7M'<;vQ*<<{ w<%=]g9Y)SF9rUɸ߷yKJ`CI[ET8*ɘաYBی:r*7K"7x.G3\D*Yͧ?ӘL8ACz+Uǩ %k!WzeL$$7OggS@J#I?mK&F&.-C::<9<:;BH59=;FA08CBBDycS8J'%$`|!ܸX2 o&تPq=ܱ$@jms2œAQ2>|ma> +Ҋ똡%.j*W _+P:#[MS_9>>QU3u4_IwMЋ:ߟU+VpD1|4r`ζșBܦ4.M Г:Rszq7%3FV4V:fEMP6)NG9Țxl0u@Q\:,mIF.@a "+(FnXAnIFd(&@aߒc^ id;#z/s:{6A0@M_].oxCGcЅa|D"H+4[QeJ^e#Yً=ּJZZ1|?} ېG՞/Sڑ9nC4ͦR~NcƙÇ(@e2k7U΅aUv"+ϊ":Te .ymʱ Uʈȵ&sm!:(X"+ِr]Հb\P <qez1[Qږ{ ^6w ]`ЭZ̡Xjmf0`"n~,BT8>:$¥LwӠdkKeY~}2>\/aϻv]ξ \nS5k>RJZ#F(=zx$; /C}ޕOdmyrJLb(hPgLwr)e)4mfzUN}ǶZnv]g,f p&7d w7m ~^T 7cy{JM"56m8S{lk(UTuؑA˭ߴy1W﫺경7]/k&ˎ Ij`[{xl 4|:3_RX/vck/FM^-:wuB,$"ʡuq~ ͌)2y{.7~Y٣u{]f=p7N紙d&C|Smp&.3hD5=^B2\U({t^֥͸-Ytrε r&Y!E9}KiXx+" 8q8AVTŋBP$д ک Y T¸$ Z4]!۹2k9ޓ:=Ph FmI%zrS45%d\~OU`3쫧mȣ9;KΠUDžS>L` Ԕ'@H+x3 B9Ƭl?1t]VOOmNcF!ٴ2~Z!#)Ir}zw6oJ&+nwW?]UXw\O]}!w \8H8U{M׳ݸY}CVn[ݚٱyݫwv6ܭ94u>0Vn\JE]훀24T#gOwem/\L)|pAɻ `%U53V?@w-yࠩ~YY?o~zy֮x=V{!8CM[F=s9(RNzR9XI~5O}Ri_> J}۝Ȫ{z9>zsW_;SRߪNvm5~96 ?F. mMϱ㕍~Z1 e^;SWq+.+7+_ Gsbss @TvDX\: ]PD-;b#l&DCtfvhmf5 urL4+J$r!sҡn,9<$t3Q2˙E,=׶Yd`t(tS QaVnTL7iM6x[۪g6mۖo1fK :gBj/wUQ%I2oVܵnSofS|ş::B^tc('^u숮5=<%cSUfB+~He{ΝFS{vG ۙd|Yg͓um}WKVґugɥ_'ْԉ)ZȉS>~ZED9"#ƽIC"y"UX=rU{c{G7> "22ݸ$dVj<ȩt-,s3nbn*.ۧL,켩HtaO`e]XU>/:88ɍ=] /^ZhjdL6d>&1UcV&M9sl`hOggSJJ#I)#&15+1@:DHJ;;<8<>9C?AJ5$A9CCEC>̫ ^UXAAf"e,>-wYلvQ21I7n}>ێ3iL[ ɫ:!ѹY֕)VbQƔ}3ۋjj^Wfq7)^ENWݘ3rXԆuҢZZx2װz/z qW9l];#|5ĕm6tQ-vi32{!TKh<Mckik^r=?8ae9~s"q>,'0-< tll,6>yfLmi#e5=6.U6 Wߋi./jqt/YJl61dҢ!cg+tŲgFa+6^nu?%-]HUnL<*9ti/-:Pcّ:Q g6eFFމdno=O4ٌ3&ks9Ye| d4@}%  N6q1:'kV=~?c2ĺ 3aM  NŜF+Ot䷝O]EL+eeJ^_{u}dV=/Nדs}އQ}ҾݣVϣLmq].1<7sRTLLXPd'1:誚=w`nbrCQ*m`pCz'Ҟww=^:9Dd6g{ 4H EFʈz.k2y ]0B31: ΍:2Imhֳն d1wF`m0) ?nHܡ*Awi޷$H`^yUUV2~ yp1:_;"K%s眸L++,\C.'2'.nUQ2zc6/vg\:FV 5uH}5AJ@#Vy:%uԮh7dzVUM2gYh-C+H}+׀Շ2ڗk0P(@^Hv R+h h^ynDѬ}MUzTۜf,q췿-Wn#YVEm+7'Q@(SUGY)wϏYSܯz?W?wy;.|V-3r*MB=q@ۋ(]zN{k۷DŽPU3f̘ѧaoQ dDhNʝ ,zJ^3ʿ_΄Q`t[:]'s;l ݍ1sSqC[l`pZ]0]ܺ&^]δ` -(\.cd h hOxT+5hݕظ ymWX]m2&olH,[a`9VEz`|̪m=Q0B'my{wֲ_:5 <})D c$ [ etGe@?]U o|?n)R9mt5oySY1Ujj]xt Ԯ$+SHHe8=l@shޣLG4Y˓~k]޷ͳD57,:e'bX-@_FzxUm7zRj\{rtifu5P핻.EggE ަrULMHl  I T:͊,QaY}WBoѼP0m3x3tKT*9zv-I T-?_:J)D7˼n $jt^O?aOe6Jlte$%H<wex"ǜoKhMJc*)vE\z 5mJ[s<G"f]J안p-pse"exo@dD.gTvii]DgpBR%U(.h|LŇ,V '87;{%}o yzip֕y1ސNW"ͨ3An*dM/3BBq{BZV_nדJr;YuzɕBO W%BM-^ԕ*{{ۼjfZ|yq!.@A>m`ʷۋ.9:YHX_n5Ckݼb r7pul`yz4CG!!ߟI3Nk_ؙ'jŊҏ=|B:V dֆ _,P*tX]c0#rozU`bMZ zzcUY@f]`)`29p{63J)eJ3̸9+쮰5<&},%}pZ'Udؕ]Q'kXcc۩٣JU 8+JZ7GMd8{z-v*Qc.۱Igsjtp(\O TPV{DHnTGqqHbĥj%$P6d)If*,l\TBtn"ioKzQ^f Z~w۴e;`.u+p~:Sߞ~s@^ wnUjԵֵWX' X8^#p53̔eVS:^lm<4S:s cَTQR]q{PME>2Ujeɍ}gpj`3?ddJ)AU9sqfKVnFdAS{l U]dApCZ23/'dDd"ķz v^b%)ͽp4B.: t8B2#srޫU\d_؅\ng $r^1kvKöfq31J盹n vyx$HDaBሠ(seγkf̔^߯zmk?g,jwh}_j˭x)a>}l,ԏGy|3go}weшH5 ZѵGW5BI"fn&hQQ솔8R$=aBAwq!J6pA|dq>aoK4& kBjϫh d_vL\S0,"D1¢n }!R~Fpy8a,R|Q.D"UB‚ə#?&ޫL[N=;<[Yw;0x-lD1vj ?O`_"x 5&R(}.γ.jc;"--*ϟM|*>Ygo*iꖭVt?|8N*Ult=/.]tߖDlf=]w[=J\vrש `/ v:Ԃ>рyͩ8gSaδUzI\=:+vܼ({鶫R 1J#S Ui. SF)6<7k}'޽cfLRS?P)Yok؞=&0ߘ\֎Cc߽+Z/\zݫˊ>Vk>U y3OCB؝P~UEcH oq/c]e6ob6|7!<+ʞPRl.\?C2"KDWQ *q ѳ-uQNUy2J-D_&g~78OggS}J#I#O4ANAHDEL.%"1?9CBCEA@>BF~S~:2n6,JDXٜ>ſ3LX8p1 ŚoLamU\Bܦs&%'Tx q'}%T_c5ƫ5z6vmO-rin3>7hk*截'(b WC^}Gg^2Z@dܠ[s7UI6ޗ}ty;ts>k X)u_Rg=tT_1$:WoorKrO/_H!^q3KƛNYuҜ3gL,eg1 ѹX&MOAW8$$33˴V{NuoZ?;j/֭q>=Cs~y-T|w }:HSd<ϳKƽS[Wѫ7IOGr;ٟhХ?6WR)̭lURh $mE&$@B x&wf7A"͝1;|9N2{9LZ9({f;WRoKi˻)`/ʬ!S܌ (2}o`i^@ZAeѐgjp@bȨ*(1Ԍz,{cvS$I:ܬXkN'EKyr]E/ßZvi!tk;c&qSb&S" w\eGETw{cJ! Л9K>}!3!>@NljSazftn.*W>7Kdt,JUcIGʞWyjKav3Uiq{ǂBLF`ۭw @-%#nΞ@@kAk$ܛ)o8g `o[ߪ!1jQ-iy$'/*$"sZIԼ)m'M{Wp.}ojoRs1T6[FN-JUvNFz^aM<$g{gns_ߝ+]o^*YoFOVs*[_uo$':Wg^k=Ԯ$ݽCzP}6;6{}MV.pK{utNL[ѩqԲUjFozҨaCSfgnv4ج=t2ㅋ!0L=l7`I1G'uqȅvc rWbXCNi]c>2sN )(33ʬ+@'DS+Ǣ4zsL: <~8S)C|\O#o/_X߉߫SKwRܼK靼rInGdv9zz=i+Qz꾈+)wi)vV#|9h^-zf Un^pn_&!!<չ!rcZ M&:k*;[߇pW6r]y+MɼDT>s}tx\b^[ ri֌10pL\c.XV)aNae|o(oñv}mqm5]{olW=f(4UVzy!I~z rZM]Y?)M\w?Yo3\K׳dn{Hݙ*w{0y2V2ʅ[nޕ"FKꝞa\Μā~~v5)MfO`mV8:S-TkQ{НѬIoɿda`YO6Oz/!Y3A/ R 28.;0(^jаQ5RVu1ԎS:^aғDaeW–0Sʬ̎.Ґ޼M~<;-ggy$sy7 Wq0;#~GG;kɢ2zWg)~TO\h|8:Qu/. wiЫ=r-cخj'iA5t\wJqIfƐ)M Cz4/U_5)/K_q0eJ`n4x:Ee\_qjÂ8qvێ`.^:ӤJ86Yޤul䆋mRɌ_,}͡C0lc'_CW%S_WJEI&PVmzUUuu Bi4[7mRǶ B}+n:rJ5jF~4ym+w6^;[n1@=7K`PT++$W^3M@@)*Oi:G hM墥 4f+SHrsa.#md+؊wS`G~MdwAj7$Ns<#͉ƫr X^̶ 8I*Sf:AJXкr6ۛBNλB]1UEKѮ?}վuiJ[KS+Z[Y5l)!LkzKԶ& 40E ټ+p"hW<'JO8cݶ,Q`2>k1||^|[3ۃ@ fHg@rh`̽lK PΔ@+ԳT.PK թe}iwLJfʦʬFZG;iWUt;/qaR{^с_,Պ1t THCRQ<>znM1~K&u^F4EVcca44ujEarFt9H] OՇq{ 9`vGqM0d:=L 2`jc[ Y_rs$.ҵJ=3+U"{Q!܌v͊f1 9piHӇm c>S+{}Ft{=s|;f^?(lz/N#㟝k߾ə Eskmf?1Ջ |4悴>sf9jD6[U*\Vmuw.{jdT ,ȲEr ;j&O]CZXW)yΤ/ïV٥wj{1gDnQl%pR mVwrF>ک z rRDRzn]lDѺzQL tTR֢Jd.LsQAJ,fDtJc~w]u5GOٶysvco3B.HNƦ\bDDSwLcQFׅW}jJ/={eωW0K>R*:wdPr0jj۞<#׭n5[mANV#s:5P7̑ v*Ql#gPaf`VmvZ+{m`{=mS/ T'u!LKg{_.htY3-TI'O[gJ^K(h}{fj* /֧VtX~No#Gc'رAQYh[>cp~Ѣn;&1E8;?=<@>=:>?GDG(:;9A@BE]EE.9lOYJ^adnwŭf<jQe10~k3b%:OX[ݐid bt?'e[[uf^lF쎣tƕP\sSLFC(٠rd%6qۢZ᥄ e3qGb-Yɋ5xS55e&_X9CeYfй3\7IVvfž&Z&Lr<|zbizP /D5sQ\~xFUL y wwϕߡphP RUr9ѩα}PwvJ9}DvyEeY9:C}y#gӼ/6/.=23|5\Yʠ΍'hlsf{[_þ:$Ig.v[[e &0o# \. R/릈Sa?x{ϗ_5=ͨ*ec=l?x K?^.zts4yʽ\w]lLs8c|y1|Ju)nq%ؼO5z&3uuڶ9.1kSѝu: {{(^2XԟsAb0[n*Ķiύ27 ^ˀ pl.c(ĉ zZ5\I#lmoW*^fܚmV3J 773.u+v9X SfB)I>*8%mv25x56F$f2R d(,P2nhe3\{Wlno\="֟ꭿf6-:P]2OSHB2Wo{l49gUGlvUҵ`$L`dpt*¯x2Ůf*t4uY^2F[IZr;OѸ _Nm3f޿CFIf\&n.m\V#@ =9_ŤNv!T"bDDު{oSJ5L$zaqZt%@ףmc=JScZ]Z\(.emzuU${^bR;e4L_(*+qȾqW @Hf)$%o~%s3 7}j&.ޥzҗm3S_Šז9N,Lz% J! Ψ K~hM=uMdؖؔG  QAzC Y5FU?INc&eܼ}ڴ#)V6'tJ)lv(;9Kv ^iOz \]3OW*{dݶխw^A+͌^BwHZ/ҳ _ܞmk7˚T ۼk6mͮ{k4+"d@Sۧܓ^ޯn> `/y#+[+83?M-fv6^?sg^Wƒ:>eaۋ$HJM\=z{߻(Yy2ߝ={nJl h'/9|N:@+(]-pϋ@A=~w@KIIy"0ض\G#2#5=͙ʪIS:"ga)ܮ8׼.Pp#g!]P6pg6c XSF}r]Qe xw\15&3Mb " S8̌l[|rLoHuf; |F0I(efe~oyaIڸ+s8n$S8YΓǫGϥo+ڭxOFPڿ>T^I"ƭNIt6.NU:znWh̼umX^n܇;k*M#qeEQc]]cv1,%+U72k P 8BfVZ]3;R0I!hifD-k^X"=A5[v7"nUVJe3/Rڃ]fDԘ[&y=:fS8nZ?En<ׇOt(ʦF9inP%)NF Hc'/j+]nL(ng=v6'(t+]=-|6y[un .]UVk'x1ιy34cS9Ln{ִXVt:˔(%"_|o[QeṖu;𑗦i{~Tݕݺ?nh(Z?mN.R3Đ5m#.|U׺nzʳXkes IW,Zj$5YUHA"pҗۛ*R()7FM)eZA^?StϹG9Έr^CVvX/[Ir};VLNdG63+ƵVلR5.?7TKOoLjbLhr.E㕑4V7瞓bۗB&pJ+ʶHsз1fUDۊ|"+ 8 "I *AΌlCx YOggSJ#I>""K146'IBC=-:?E?%;EGDFCdR$ݺ3o7`dL&NDU7Vj9&FY-27Jq``Kp|~ k%;r}AҾ׶bO r$MY({y+l1Wn獩2/:bi'1#u[P"|J9f;]cS\/#w /E7L)O;-5ٸ]pBBk_K [9t3UY=Qljf8B즶t)Tscq!\#d#gY<VTqSU+Cظd|f6LXBZUat@\,İ ZFHh@nLq_'fw Mwmc0plmV'@7G56BHm8[z3dʲwV#%?k2[Xzrf˝hGWy7߯_Y]}yχT .b/h\{.a.vڞO7ׁ 8uέL% *KbBZ[] UYͱWTٵj., \FE$9AiWRH`1].1LdQȘ4 MV`ڰ^0 ՜Xl{$ٔSW#^0CxMHYTh8zUi{L̆Uӏ{11UQG wwޣL?¥i:ylmUr}F?;wXB 3 4z{GU*TPSROFz#l9YarULĘf>ֺ9µ-c?n#N_ki5>XMϹc9 K]O_  #Ec-te{.=Q%"ٸ9S>qϬk[^TVA]g5YK병·< +w՝tVD3>GOˈ4nqtՊ).asEbrh]U@XH&Q=:K.i12֪V 5km06Ln_Gu]eMF#\C |F]. l587{ͱTF6WLX}*A[ zu*]U] ۺRwv5.J.|ՄUE6O:u dfux'jӄDU_ivW5X E:'ֺ,(T 9hbvb?}̌)2y['~fƅ;l_9S޺g}B5l2(>w/f {2}3 J)&j!FLl/؏2wk2fʲQ)TrӸ"vZemBuBXO kn!Cl\E8qh)XUf;MU7sjH K WRD*2LPCWrrJ&oEs=٨V햾߃;H Pzn>CtrB l&E@E9 ;kyO^{L)S/p}U+'f]l|nTJ>)"e̺+2s62Ɠm]HJUCTv 9#:nrũNq^MUv>7r]-\ttIػr.:51^o_EϭFiHVggGD@rZG8)pArhO`( 4W\8Q,dR7LT;% fxc̖wtswгzZ5r8r R#poDB ;hT E zt*#*Y9_ۜ' {oe2Xd^d˧n +Y9P&IxySH0p7z>N9|kmlKKLTRIQ}PJ/;z,j2]1h~T}5}TڶZZ}/{lVf1L.sETad ״; ]PW{.ǺQZյ Ua3f;?T\d!"dWyO뺒9LYIC?n3UnP-~}g9;_`^~43A+rz-/Fp2?c|`ݏX~lO+)|K݃#+'4h}-קa_߽@EA"כ 6U,X|7/;h >_X]I-MyNKݡSEd5*ar(tM|DXNMҹW=9fQvMol+Ԯz[86_R:w.@5THX`<]mуKV_WKOӏsX`. AqN 97W{k aΛ;>*LbeG>pS5uN8juJթev&Uɰkl-2tke%Wo)l %g𘖪Z~^O)(Ϗ#5{ضmlc|Fcq7jGX= , vՊJugSgKWy]̥7Q_<%SRTO1; z3Bg1DSkREqMyu6tdzv7l~ (7j4S/g s`&aaʺ]vS{eoÓ\Wik={b*](=8;U ܸ:>fyoM7âFfYS1JL&Az=@=41Nޫ+35{;'{dN\|y?=Vg^Kx| ^-Cb5L^bfd4z:I%5 Q1P- kQ (Un7576ɋ&,e/1LeZׇ{`.Z"I|&,NF2ɦ޶͗;ش=3z*W{Lu^*^*wB^iTsE*[99zLOYv ϮK]AuIz;=T [{8 7skGIή-bJϹ#,B+ \3lEYS3X%ucamm1XlsLY4wȌ1ݡHc K {A. ̀bS'.VS su K$֧`M/%s$SULeGcrN-dgtݓ-7F+tRη'LnY!45]~~(M^ixrίCRRTˌ-Ju秪3-3(3glLIB9mgApJ5ZQ%TѷgHx^R  )\Nב Mwiڵ3Yp>LgY€chu $TYR $jDt"˙`elϞQ l»T[.t?zWv:.Io{u7xJӥ+mqaoa̻ZԍOϺ} ]Wլ:Nxq3>SuJ>sV3/OP];{sThrk@FC>j! fsܝwmqň}A#2LW3c~)Ws [b @)Nx'*ET1AvM-`Aϙ!Q1o֟۟hTtLuEъ J)=m ?tg Og~9?1M6Vլ7A 𾝶Y"RW'ekf;wkM=ܼoyBЩSe©%eC.+y^}6zyqX8ZۤU .EF&$JP 6_i6G);:KQw{Rvf]Gyc/k <2 =l&5C(,p32f_pߟD+Ӆ y{ޅ3Tl5t>7JX#d3_:D+{x͹\W9zMc3܌LBcDG dCE=EgY7%2O<}\R>O녵v l42T S $5 @?4y0EX=ǹMD4o H.5{٬L*XM² B~&_./mא=c^V·9mtL5oL󶥉mo-R;-hKʂ(@ ݑy?]?3̛$&o> {Fh9il`?-9i=V^=FUO{U 5sha^T6b]1xE>zq*]mޅ>2U`ds}sv9Mo*E0FFlT 9-,#>PD BVKSnmIK ܎N%mqbAĥ 7RVܾnqUq7>PKm٘  eZ#GɕѢ @5jyBz.?9ڤ#33ҍP(]5QTj7q=KC8=Xҁ*x S C|_\7ScoxHcso\tYuޖTc<_{Z 8TՠU6reN@ȳ@^gE>L{s1 ߯\a{FIf8]r77} (FͫyU*͌WOSǡ }-8T 7%oj3̛^5f9S~Ns)=4>Tm\\t |*7=bb"I K :}4: OgiEҗsՌ6@t.Nu}3oy9͇)1*6wBW+OŬTRuY뻜Rvuepq\,a2xAMD2*SHOLgSY(lR\2ѺT(QPNRR@o@$n QB2L٢)chrQ@acVT ED"kz"\M$r0fTR~kdt]+RiA{R_e4%kaoCo%+ 91磕:N[YkoTp{}w9zb#+7":M%HL]ΩڨT;6%1LD`S!BT7kL6Aa)x)JG.iv2LQ33G\V- r7\.06n z5+1NUQjcc$cPusF88B#5`}(2+@0q/H#@c#4 L-js ̼#4\Px `mວjBDK&{8k Jq8FvM'@?wdREۤRUa&a_O;}3tjAZ%B7 < r0Hx(3T۔=.ܼlAyt{ךZnֵf6zًwUeIe#΁, u)A(o^MLMZ5?3Cp8/#q26힕41K.TeLu'@6K151,)<9:?88BFHEABFEL>zE&[)a]dǔ36gqxIL3RYk`r9w4~,4,~Io H2A>Hݙzx=iO[I{ͼQ~y`,33'Ggvi9r>~~'-GCFe7!%A'L;.O.=B=$ QۼRSLV8GUPQ/[eY"^gء 2 ukQ7ff6)\ٞ'K1!p/WҐJ-gue{T0- LP0}tQuE\1&wUW3L݌3/7Ϙ u ,ȍ:a0@Nzrt@N7_ohgqog6 \o{橒^˪|_?U/rOl{?BVyGREthQ(ُSAhzuOi鬃뎚g)Uչ8%jvG}ծعQH7u6#7+c^t0vתzPKfnK'lF3':cLoB񞽁˙=U7F[k˃g,IU/wb:NaXa5fNA,UęQ2Qsq@su׏k:6Kk7eU䭗%qJEvM}#2Enhɉ>JЩIyrݞrO%>WZSh rGQ((Gw_5wB*&C_Lm~Cw9Xwq<+XQ~_7hOטCUXOw|oiM MD}0nGaKStI{[%_Ny<='fz *yw^(lƎt>bħڝF4+n9푕*D{7V:vתRMBwo=k{1mLKUw1U/쬮*]hفb޽lC1f7kMh Z@A k.N.͟5ʌ p ^),+xzvc*!H7MW\W1ʿh{qqwן_\wl81Z.UN?L [ӓB_'aU;﫚XHV5ӧ3U n'fJ9vo,`nyϙPFR&؄FT. }eetumyp1f6f%SXUғv0k  c=ZЈE#`k&  ޘRt`[B0,Ax$ ȏ~owm+QKH}ZڞVOvW{r d}ܬޤBVw-@gy_Qٌj4U1aAI lr⾑]}O0kӳvG4(^v t(ݦ9 m=rUXj[)_w{kh UDܶ9{43^>>['ws(\;~n_x-:2NgV|Q}=1ٓz{leH"B5_ Ae Isv?IrJw˕YHHBG@+=7:8?>BB_HYY%-XM3-aQ;0E1yqԥjy@9͊aϨ:>[p6W5 e\3/Q2pWLmz (f*kh5v{ll{u}A<>[7'w*M%bEE9fT칐jPݙ= GԄ-*ޛ(E iBiRSܹ1ո1Nds{Ž_':~z2bDsJťۍ9Dmטd H8~sHEbYpaDƉjL[R#'.{q< ڍ7λޛpI]܋7Crdv\{ޫVA~J~N.RGRMTCĪ Q&13𘺹o$c,!;[{>ռ[ѡ4?U7;6ϕgKqq{s=~.K7fs?  ƢFuGPMsXJMļC4@[N+4Iz8Cʲ,hvk-~ZL݀2u4ZfpBkF[vLc ʢ: @bDXWTd )Y%TNVj0zb>[#7Wd~]Eث' Y-S=;r`[{b1km7;^hFˡ犯ܭDL\l/Ngm;9mJi ?.\tN]{*{#mS5:鉛Rv[MSȚPSܻ()攃8@vDʀ4R[(U^ާ-`(7JU2W vkbnuFnHB |03dySic7H_]ܛxU]GʙlwP$d^srױTUǒy\m3XuX3̈́o{e|tOn=\Jt83{OORh4x>d,M'8۳\ jY>z#,?hW:۰~Mkvv''yUD4 Lyt^ό2t;-Ή88n(lF]J*6L$&T٪>H?sK%vscw;ӛslVcQ7N.pzX}ć`UBt o[3nlfߞnUl=Б&W,nTe#qWRULf_ju|VoR5 4S稑˄R|G^?9[32uk/2=C(E날> (8(M<{X*;h+2ǖc/moޒG?p(&b1-UYE4^oO;wRe|.甴7CުmU It, ?\6"yYy$顼 us[{gwy5myڲn/T*+u!q gu0?{V:G3m_~Ho7O:aʬ܈W1qRʴ v{jL^+7FJ䭕 /}q9r.vՁǧ엎vWxvVwo!V0u'r e RLD6p줭)!1TBVF.[_q] cjݛO"*K' =9oS' 5nrSqT pm^q1@K{DD }Hrlu!, Ȓ߶b dI[!km;cdOk3I1*j ;Nr"LgVczX< "J09kL2~o/_g:W?+o'}w]εZw_õ<ѽ)EAJ5 ?NoV:"?Uw#J{7wg{p9 A^^:g5'=Q8QW9Fh5=F$[tVL+h*{X̄dځ)ͷ4" `nh XknZ)qxm9:-^05VzȊ* XЩ՜EJUSD).8slM̼23S&+0#դ.3cR3jϓupJ?Cޞ}~.7io^}Gݔ#et3\;nұfLQ׼oV\W#PWeŻuNvq3X[cKir#b;J]oW[nerdNe$?k!dm_`SXђ$ cBg<DWcKGQ6/xf6p dVz}n&LG]sM~斅r!F r(KD)=5`p\uw+{2{rl^j[{#{;d4\bB5f t65O\wKcKh컥zܣD9̨Bu"e>cD5Q;ەwjVrW9-г"l$/ l:`|oqjL^fakťEz*o쪶\t&Ed"E@🜫,1QY5V]Ͷvk[c1϶J lN(M%v}#xna\˅ce득S,S6o{igݕ*ו%Z5$9I]Ƅ zC5ֿ4߿}(|\۩yAKf'[] u(j:g/`)G`%`&4}jBo?|w޻E_8to{?wx}LVdzux.hވ6ƞBdWT\}{[B9WɩWN]2Y\!mQ 奟0QB 2$H/ \T3(n0TXQPh9`IG.IYD\qɭİlr*$[Ú8nlOggSK#I(!?!K$,)#HFF:6=:C<7:D?Ha+2ZD7%Iړ01g%k 17;?C:vl1z95Kʢpjfz~m"|Fn4:K!KOrˆx(U,s/M5H߿G&A0ވJ8suyDTj߬(5#^t@'-n,@ FYDԘʔeP5dd2A:7lT?IPW54 ni{9V1&AZ h?Sc:HP#~oif_`ARZ<π~!ݜ?m̵G)LbX#I~y X.]Z)@t@4Z]xmkTw.Vc^~:^3h)Wnhsy,e"g1fU.,y6uZ \dU{Gꊰ12mV}΍}K^L@(Htq 7Gg؅Pu[ԐNR'@ u)pUܾI>:xtیƝ]F^?x-a q3[ Ё 51 .;I4r"}R[ _6 @z)5[ybW@OGId\dI2]#8~,%eGW^L Oz4Z"CT֏莥k 5CPȼ-Wq-3WYU\FvMnˌ9Y1H&Y؎pAAdr:Ml*Yl+ðqY! `#MDuM1Af)IRqx(Pï+oN90ljaw֪` hъg9<48OfW\nΫã  uE'IȬ}N ۽d{v=Je>Lqs9x~^*+uUmon z#u FPB.? puE5*ɜQx]委WȬ\˚E*vO{zkP='KDOMg/myQ/l7ScR&o?$uilg]wq:ƙCe[峝>wGg8=k|VmH:.{q)) ~js/ZJ+*gn {"VnWJ !Ji[܍ Q Q$uTN]vJd䎤'N^L䆈B:LD$"H)Dq"{:5tO00H]s6rCi[e9PnzIzV^qRXCɂ> @{%nT╲)f)eCd >ߤ62u=UϫIt0O-x:dy>ciyyD#~MRq>suav.\e>tO+SRګ~cwUJC5.Lvf[Gu]ۓBr3Reiq+.T:t /4*%'+ լtU9A%'0 t! <EP`-%>tbOv0aEke˞ j0d㪠s͋ P eEs:zSDD9Ue4>j墎~?w_T'}X֧yîzXVmAт*&C6t `NsP1KW4*nnπ7d* #>6Z ႝ/^ȻRnzR4oJj6wƚQ޽ \^46\7VmDYlHVnboO6ͫW/EyY*'DRn#9xQَ}DP3̢P&kƒ|vE<˯=@٥Wi[Tp0߿NoLSE.:6F9Xv 4>t7p6%[Vj+A;13qJ.;g1x"Yc HY,zGܪ+O}FE|>k@@.JP}ޝcfpWg  HPX p~ ǒv}2 Uj@dx0 5*T;DK(8-61Yת>*UJ(QkWmu\Ut\,)!ƥpʕ.FT_E݈,O^?=W,țQ*K~?' gLޗc{hɜy騚Qww\y'ph4~бMκzި/3BwOInMk>4Վt`7a;|(HIgv-'TR^ 1RAOYoR^G $,@1 m8/2Geug~t:ukkߩxq>1Kt{GNgDn.#2OѢZW}:UU%pA[g}"yDW#꽋Uݦz\iN u;: 54Tg&-4mY ֫u^(?2S:0093~guF2C*GgM?[);vt""u%3˫?|*YEa{?"U7HFwvPU~̙nmJz5]P/tPcϼ"DS`l'ͅI鱝n3ϯR9,$nnmSeZuW N DSlY%?o]'Q:i2{%dVD<{nnLRto%Z˅2^SV6-Qd E"(.gd|žWU5fVeVkb\fo񳆬>V\_i/nV##QѰgq-1Ȩ e{(Pٕr8Q6;"v7 ʱU۸~zM)If^[v}U[)dF'%WT͍h6S s-LNJ$zҒn0t}bhd Zg].cr НA*T28<ɬ@n\-XkXӰ HV8T ;]"ɷB]=˶F$703TMhe?rtflc#WSSxDEcs$ޱk+K%$ر廤K]9=(GCs-z-eګ{ɂSNv-oUO}zRkB)˞t\2L^-ktm~~Gy-BJ8w6.3vūve#{JͲܢ3\)=b+\Բ/"jZ{{kg6z0:q=WPcj O naf/a@w>yZjV,pֹ4H"e PtND Px`g)[Y;[%1#[kX֝{21O)$;G.ywiLv[:rՎRalvTGF=s>mz:|5z\g4u;&繙e[*?CF{絽KW ꪼ!bsZ 9ՌM6s\Yb!}wU]>gz8 ,H(7sp⽚kݓߌ?3sܗXH#0d2]F:q2Y-F ]UUCiKk+SKkMZ dL\luV "*j Ҹ&ՕRQ\h (Hc 0:{r4u&(B4@."?$ ϭZwe;=~V;x&~^ld4IXFI9ÿ(e|gI3ƆN39u˓:7>VܲrXmm^]&]&,6 Bpq} S/4Cƚt9pxo7]z27CT?{˞zs J7H/ȐCڑG"|@EHx:~;0/QWjL)jN$ }x%dl 1fz=ow8"n[#ã%q4vU#WN~.;tFsQ$QѼPr3f/MOII'ʽ߸U}PMM/ 7ѩD\;ϕ!n{Y)s.( l^! >P}F&XWaKDkPJvE)2\gAt+8cV(p`Lv̘}7ҧ0itr Ʉz@Kp1T9݅_]()>Τ7zkԋ谻aaWQx"{x-#Z+غv:6,E9[ǚDJ9 9dCQ"wT,q7N$SqT|3Ι|hVPB$%!fkOgX_1Q|Ī_q^Y 2ɠft*Ōf,E6L:j5j0 -?xmM T5@Y.U*]8Kfz6y fԏWH Q"hWcZ & WJ)He+{_|/1?}߼AgƦn08qOcsSS{e%ͼJ?; G|kx$ۏv*1B;` pt{~*_庺}b5sSu90]Q[s:?QIۜ3Е㎔~+ ۫bW$ˌeQ]1F9BĕgL @H:WaCUDԚK{}.@z1mv;nv3F7%Ә) g<80qFS^L$ythMM+I*ݦԙ1>WE(&6͠|ZD U*TwQkMs4d>F^5?cH5b =TT᪕87QMcAɇNN+\dgx)E9!e@1Ƭjщb80G< ަ|49PLҰETu64/X-6fY(ϙY汦/ύtv$!@/h|bo(@R^+H]ATf̔^[.|XaS vWT4;k Ich>YQ4·4iT.Lޅn^[H&?QRr'a ded*wĩ*nrlAugE ɔ` "ڮ]DDyW~L ,d7B衧8Kt8?JE1ŔqMŎDp"md%Dlt_M1P%_q D#VR+- q[h/HMEUHxF.]VWl/]c9h E?w[3y+ m;Uk7zݏJGwgjlQhY"f)?('1fvG vnyUmzն{o5-y۪ʔ#-J  i[N b!橩ySWTm3~~\Ell:0?KF;H׷]czrKj&T*UKIͻ,9ϭV^yu6oCKwEĪGLe}OFFh=[)ew՞aׅ+S'-W)Ɏ)BrfN3չ[|'L5ćv4lU\lݪ+/G9&g6\Yްkncʧ>sODeqY~#$GwpbړSgth"14ƿ0/Xf3f.}$' K|P4vu6"@Rxm}cŁ9)3̔q8) ]>%I w'}_fC+OȄ/.c2lˌgJQ.~Nguv+V2n2"bZ2m;}{pxیJeyZck~PHlSRM/>?RQ5une1ʈE:Lqn#c53t#J";;2XOggS@ L#I;.y#:9NMABEP:( 7=:BDC:GABADRD{sI6`x76S&&:\o51'Ŝ1fm?)f eci,/ R viU!\ཙ9ffFV8GwPCIvt^:ɼ~|=OrKeup\^v>W*TU ̾iRھo3*yIjB2W2ygH٩Lt Gt}((gEtwM,k@rQ+`L{ VnuG|.;Ii8傸u";nuaޣ*{9TXE&TXm^ 3x0W3{` CiS8jM`E 0p4 X^|m)M3@ T(km<oJ%/QWe",n: {3离Y}\o}iH,;;$ٓ}K$\ZO^oܳOV7.*ԫppwy(%I 3>A \0D]}^sGs3I\out6RC4rz>hxHqlާo߶i؛]j˧:ZMEOOOn,NSZiz<|6CKmNf3!]Ht_ faKzkg:4f2cB+ТP/B I2 k\\SHe xrWþ;iOCqз|;[wWI.s[|T_9VRyZyYAo^EQ/e͕!H6:-՟3\:Φ^6^gnn2E2TJa_54W >uO 7wpm~^GO \;4q&zoz~ft4^1ٛ'uIN +3!_MڸXHiuujl$CfqVfx# /a18Եi;}PׁZ0S }ﺎ{mEJ"^CKZmK3esSzw(tpN,.w1YIw _ǃl t4[}{_4k={~ޖ}Zl\RLvJOtgnۑ/`;P-MW!n?&Ͳoo/\]h@6&>3uaf{/1f-& -OAѩ.8dtݱdJ"B(_?"ndkE Gmhg`vzjc*7m|NZɼvi5j @wDϘGf ٫bnU=ޑe>E_rh_[u)x|ѷ ޛ~6AyG]u ->eG Ye_ų[[y`-jMEt\A[aQʫ7GƲMVÛK05􏓰-)wV9)HoRQMZO $oL2Seo}@X9$gs5ؼLF*_ R/ȾB;J}Menw06{w^1.=PjݰzCT Bk5tUB`aT#XKaTqL$]^trcK㷪jzm~Xh*Taw(@8Q襇JK-BԆw ؘ3YZE\Њ뎻X,MjK3@;LaCA]k+ wd ?DDrׄ&N7JDM~+2 N}7t8xof"V~$Yu?l}LF{. 9N5uf@/65`,o\%"+w[o|80;.}ozZ"^aJIUEڪ`pq{J>4aң*62z75UbM&lVyGP̽sI [›tJqvvzt[t`# U&P':|u}N/:)JjؚtJm,|A4*XQxR4]X+QjK"t1,-es/]Rkvr Aq |׿+\UYwkEkM{L^'mIis;QG?贋jQ}vR]6k"U7[mjʹ2r#aeR F\ K/MeNEBT x+Uclw{d{Pr"Ziq7%K"GXNG$75L('sVmoߕwEmBpK3ZJe|d!zbA."@G}o7JVf~ʛ?s)6h:kN-ƙTE=Nk4lzo#T?̕{-q%.wUҮ7c:^5+3emyv)gl5VwUND.M5*77qGV-,eDiS\J-]TdF|HG*%AS3ґ""I0x IBd{.H_ج)U+F{2MۭFhEZ6@hp=f4 YB]:< 9 POggS6L#I0-=<<:8>>:8?;<=896GEDE@;;;=@DAC=0?;;CDAB6CmnέiI uٝw{qġ$sN~:=%j@-;~GfA{DXd)Όոϓ<?:݊ qݘr(n.ksi4w-WA+~7`g&bw+eFmwSeۮ^WͶَnZ՚-YE@o42|uAU&\S/oPbw(`6jt+"6aԫyQƮnq#02(w>EZבr\'%,╭n<8"]OMo9ػfCV^6q_j` Yо@0,p=0c׉e  EPޟ^sg(̛3S&_iturI-Z=|~9~#?8gIbGmj:=\2p:DjtH\[46ԧrӓVt s)u7.mq>N3+'/V7lL@+ZIq.{ vw60|Bh{j'b;72F_]K m4qf4#2(w;WD:'~3V?egy=pѧ2% kRy~td}Uyo6lK3omee2D(4"յЪ$lUImF$LT)N%2^>ֳ?/T U"9x̲D7,L"o:wͰy/.D7mPl֊[jDN.aż#7~mQ;XZ[ai{wl"`f`N% b@b>hzH>&e.u=卉垚ʭ~T dF]cIPĢ  /1c!Au?/ub켲mImcdu3H&@ ${~a!;lVs3$woOpbWЛYH:k$lh/MBN)ُMr8M5LZ彥͞6cVޛ.ޔ?t @" `Ɗ@=4$oR*) Q#LXo,mLRb8Tg:u`E: !jv{lGj_QWT^no:VUHV5 'P 5qb ,zd/u3BKg'‹YT·Rm{g~fn4̮K՟H:V 1}@ñY=ԓo_l̼5oY34#-E'0o;U\8]mFնKRkcM|i#!֯eTSxyFMM+w{K. jlDVRvY6HS,fX*\az87' ]h{+w1xz]>b&:oW 5FÖ u[v4!_'8עYz [:r#[}6 Zyǚe{ 1nfxf s;.f1"(3BYmtg*޹ʽ)ЛR#v2=tފ,!)BiUgɆ w8\BO~Gi]z>u?CXMo6"Fn9"F^Bs%@O^E/ujN>X-3Ͷּkф5¦()VN1ȁxny{[TdkQ}.?o?і}M)eikQ(ТZz5`H)RP <eK-e?$mk@6d[;+ [^X"sfs<|# ܌@m\zeo^Ml-ySX@@K~Q&`5G Hs}fxkZXf״%Y>4@ŪTQ$W-E\䏹G]Υ^mx+oZ=6PjI%u'TE;]kR~Vlֳ->#yls#YOE?/;D>͙Eu捭,":O)7ٹnl0uNv֚cW%!7W yKybD[ &3\l)یԥ3PC'nbK@qv@^nZl h4Nu*ut*Մ@xC%]ӤPr``²e YX͐lgVzoCh: ˴0 U}4p~DH->=9%3J2?p/6IoKNzY3Sj=Q3x7F@oo8(*_Qg{* Um׭lJG?娇N10qszݱ~N7YA5^}uU*:?}ۤҳMY+ zO.'k"X A:tk0`ע>3 ;23jk= ǎl'gfSoM*Vjc#'Ѕ :E"iD"(_O>Hy̔oU`۹C-r~>NA7=K$'i̥{K2iPK* kS:1Te)=9YՉLJksj{[3M{F M?νsɽj(;XO|UNe_(ə&BaM'NvW\SPn[g1U4g,w@6YAĻ`0Ǐtܭ?Ɍ\YX"#Rm ZR\ [;_\/NCY Ĺ{~'";g)+N֗j/U\\2a@xWZ 9WGέSM]W[Ēh`v{dB)C0uV5 *c Ο TO7;oq]u׊6{_m,U\M$d Bc߰GUZӕ*,V/G]fou:fO\DZDױBۙs9 U`ݷ>;@E.;<<;F=05@|BrH,SeH X?'"%XwS/~J_UoފV1.Q•&q%t= @?3*iA)Jx2leyY%;'_3z^8VۓDÔ$>-Skv5?ty35e*m; K-)3ڬj=Hd;DZ1$컽tƅĠI*0.J5QvQ~)w`F~n3QKӏ{cל,4ĺ,PIQD S\-`{?gmlS83 C!p%! \R82-7"eH<85--;Kڛygu-gm1*EjGL`4nt|oEAb n@IwgXD$T25Sv:`p]LwUNG*|j6sO-3"^S`|eS^-MBD-{ 9iWNM9 Noظ`vg!bZQw74JDAl"g'.θ--@jjuqX ::cvV"%r qq2ʑT7NLnY8kg: F ,RY973E_sg<;7 q ~|m6ǁaP}AUڠ*D@s^3d9<PxD@$,xHtW͙S^LӬݝܧGʺO#\B%%_W!'UZ%e\7r]}Sꈌab|{+]]Z:Ou:VToffvBVnVV:"+:#2m%, Ҙ`x pY9U&AZTeZ]݈#s Pzcjuk=YlI pfhZ 8o< cgZ >MfҫBIQd9-c{7v 0$vUI!o3]~L;Y3 7՟zv{i]㉊QxC]B? @KT-Rot!5.i'\73gx]$g1ΪruTm9aQu/2m]Ҥk4q>ED.)D,ew]9&$qy@#Rz:qH46u 5 [kT)xƳp`W}3/L%$ o^͝&Sp @1ttEnuۧV,U=PGʾSG;[Lcv؃uV<"9$`k.K}YDľ9'P.K|t|~1 \  ğ'nX4FYV~Ü`gMnlkFǻ뿝YJpiG#~+!/mU;#뷗왭8IG0Ї Oh;JRmp1J17܋O|35;h2W'sxF ƀ5fFм sҳuQܪdNϴ\soOittej@t3k3]n-7>wV5~h}rRnѾb\ulװ-րRjA UgE!)G)EW)y󱷲8Um}*ГFLP v;`(槎nȯLIL&kï._;_Z:gykR^ס/>yqeY [ M8r|b;+&l\Y˥laz6b\i7+=YwԓӿdvUot5:KWݒ`8 f!8*bQK,AFXt , CMBޭE:p+Y/@iZ 2]BTȕ)Wl6x#WBNH7~`b`z7Be0nG,{!#7}l~<}v@QL%ȿWm_pbߎw:5 W7|ͻU2=g uE4YOalss?'~;fDk6ս,?1yUy?'c{;w1{ʥji@)PkR7NOqOƱ!ala3+ X%>9,KP*Ζ(ā$u!6kÂ@r@)AƅjGQ$ Đ=:?8M02[fyv?Dmq`1L1uLr#Rhre+ZQ(or<`h:_uTief6xTWN=|NR,Op1?*uzw+ټZN-XT=/\Fcu7LIւD~^{[G'M/5ev{,~$TdQas:XM>n `r =Vk+uRLd*;{oZZwktbM2 3E"OtƮt2utJ{i\S4)u6e[ !ώ}}ȹ$FU)h+PV8aLgbgz6iv~zwy0ʫKjPqAm̢.2]o:C^HT!D]h`U;2qwИ7:{@Q; ýxH†-E?ġG2??>֙^t..4l&k*t^#wc'HJSRp{-B '@r $3Sff* Hu·"%#:OvgzA>){=xQ&ڇ5{gD خfn)KmKj wҾܽ]o5[L:OW}"D S7rn1"jGSZw2+fULhn=NE}h.Wԭ_W>I:)B:fVB@ 8,3"tcɔA(kBx.>+eo_W lmcMkr[UUu?'I(i󤉆.^g\$J䶱"$Lg;;-&i|0Q*˲(>/֛=]a?p9uno:Cꢉ=!MRVB O:]&Yq#v>'ese9{pMj wL2z+3\*#$HY15/Heԅknur Sݪ.7<::@DH24<Th%vʐ/ZI=4^3jg1SysܴU.fgST/&}9pv߂*s+K9*Iϐl^b(F̛yGIB_#ItHY&bĸ\em/W?6wZ5 \:}t|c-uw&nt4*ox͝3!3w*瞻R1Ku[Tz{:ӷѷ2# ƹKShRo]npGM5 $[%:l={ , 'sXH]iW kHcĢE(`^^_P'fh{(6}yeVLdƫʰL+  {kDq*3=jمq$O?lkZkmcy潱L)[*ھg8oWCa-]ݴ_nE'I\")h^=US9J&aZĥ@cӓ;rM_T ^"7\%/Q?4K[3e4W uDWc畹 hq R$@S-YQy#)Ȩ9Dd5bCBE–Az3imZݳ0`BLz$Y{3'ZU ^g <~!R&_-3}@1:J2il+甽vǡ}I1֣мlo t\Q k6k1փeq,xw,cvmR8R5W\J`+[Q@w0ؽ48sQWyi&a(q@,C;n#@殜͌, Br~2v=A%QfI[+$QOdi$tIhi1!{Y)qs*]to)"/.?;u~ WO|^Ƨylz?rYw=kLEf!􃑲yem_ [jRL3f&+y$@Zba!Lsc7ԙRw躪I"}LD'Mg<@ .ږ7\t`wsF :Pɬr_T ?l:zԫ* t' T@~y[17Ue,[`څn#_(X |̘^9Om.7Il^:!r["qFuI|Sퟏvzm=:UF;s-~+Wob{*__ymi_f.'e剋(DaOJtM~dtjic1XCI|ʙT-Wr; )@ݍק86H遵Pr#* 0p!66%]Mw([1BM 1g2"4&籍ZGT$[Ir޼_5ÂmQa[x.݇ν&Sv\؋CT?ZM1Y-mKUPhuP]Ս `wQ%]$D U08f@.D>I.m,@Ӑ:),x`zeEz(s9G+Fя#}ƟNj{g*j=b6] yF0Y? N:Jʽo!S,_< ?{9ԫ@&T I.Kݡ ;(߮~mlGl3ŏ-3Z  *2s(P D8~ʞ|VŊʙݤM{lH A . ҡ,ȵ4H29Q-Qls+k.lX(|RVR,SpP?kL)_Ψ<8&\dL1S ZPJ$ |ltNVKW<L|{cFѨn#հo,y*(zkv,?DyP|>xaORȖ}ʪ^uJ}~=w+IWMmmӦytb_0X .$*O- :AÆ $r|ϗ5şQkoֻg-5HwZ F` i@yˏ|ݨ7SSfYv;mro5X?vۛﳾ_ɩoL3KKZJNn3C''ld^g=m;\3s󢠼9>}3^wNo'"1ҷVb09D7>m1*ٗ7UOO,Cڑ#̭c?׉+;ZcJ(4o`00[(q_y|`m<:yfU[oT2x VAkbyGc2~{kl̸2[Y{Sɮ#n+t 1ϫLw%y\(vz YI 7mZ:C6T:xk闛*]1tv6S m"XFEvէe_c0{ݕͭU׮&&ډ+#rKVb4?ɢtlG^t8~AciLN٠L=Ynnݭv 3`/Tcp !4:oF¸ ռRjTM,{+|\ _NalZ3ڽߓ/zy5'xoSַuV? )%"Si@xt3KB3"idzB452}F['pN}FOLT A+1T^tv\帾hEK*nVZnltV?g3| sz{ng[ud@u.*cvz'fʻ5gY]sY3&i kٻn`m40Hgcw3} :Vi4t2$}h1Pvx>>-bfJ9f2+0}#;\+ >rt>Up_>7#x|F>GǞ s.Olf.g%zz;n_JqQS#)Rb/͆j)5HmeuO3nYi6zUdwn5ew^CXukef+L1:6e21uY˵VQQ~m]WmWӔ Lʜ|#<. ؽ ܸrArsumlZ6z6L^m,E!Q"#@}#r:|B-MYi^nOV{bQ+LJ IYd'6" c^y R:OZFܶiyƦ5s4UԘBDՍc!dE+czF%d HHojf̬V|oAOaZ緵:Nv:<]}멍0S}*-)kQ}LEFRtWu7_ʟu:3_7s}f[w Eyu CLNY([,ͷލm${ɨ+K)Ly?)/PGzK+McZqwԳ/wӶ~q.6Z]Zf[ZܵlǺ^VE-no=74Rcy,(4p7EWwIbBW"Ť }i8}cgcf0 /I(eZ;Bb&ZWӭ"ɨ飦j5S9{ ($,GfLgFvΪZyqgJ~">==(Z,t*k>W툭50]6J&U#a5\Q-w=K15*qMmaF|ǣ-lt2XZ&. [VT™E!5JiAmYܠa7.e"W_޽Ǻ OGhi Z ̟Upn/)I7٥ #H殟-E1H0O="&*佗m3*rEyݹ fݼ-?S|^cxlBwpSݹ[(Fi]t㦷үj(T_x@AA9/]Ս I껪@{74mFq]׼T;W/Д2lEd4`+r@kexl+`{K86_C^~z mX4A50sQ  0f(hb©-`?ܲX̨TRZr# qecv}?#9͗W ~R ęfe2T \7pS>S1zs{G]Q%ս'1&}nbWU=JQ1]ɾ'FZ\۝L)o;c|{MݨVF9hq7_n&>;Rwja[\gfKoKwrFߊU]r]9,[JǍ9K_͙JMwF߃M"'5ǕNi {-Nnf+ZfDŽgYLݬtTbZUffNtQLy?3i\תzl2 Vu)8<k;vƞ%?y5PCIB@@FDAFC<*+ =77988;;;==GDHCKrD qeYX(tp}҃-j1b͕?N~ݯ޽Cڴ2Y+d!$6 ]#h,#v6{iAm\lp}'˕w䷽Qkm+7⊎$8ْ@=ftgaT*_8K.(Z:LH'mv9z{"knm6<aI TY+Y:o8Kc>j-:X܅bgaq?`+СPh=wk8 U۶MT57I:Us\yOsڵwnolU^zt z#ɤ~P[NJ = @09D ʅNK,%QKbֹm͔VaͶIfKly&NIFz ) cc4}Y޶f,X=|2W0H-6o/ !KftkYTJNetT7r֭)S5ӶzS6WUl|r'B.Nd X'l7tZ%sq&QImM5$jpg6 U']Vs ;#+.ǭY{Z'zTwAFNfVw~s[ܞwLVn@gdTq GEpG> ACMkK!X{-c lݴᢺcIjpqRu")Xkm䵴Y4ޅײpxNh=/cv@(@,[](QY2o3|2 y2 !a8@fTDlLt-gw~?N'7?]DeSʭT WϨ[3e X \ɸs2&2|L=3_+ L7̢svPT p_QQR!XS~5>5;}6sf m,p~#S`X` YӢF;)$1*tb /rvjz_iNRK\yyFOS-l槽 \2 䄴=%RIxfD,-m̿^|b`*Ӥ,0 Y s]F^Mϧլ+ǶҲiB@Q~ɿ-uo%泳*m>1Z, KŶgX-\uR92p@/(@^GN7J6fUTo]z::}fBsW.}9ӚcNcIϓc١iԁ6K~Khxtމ{22E"&RdTȨ6֢Zوd.,dw5 =!-T7%"77)2;UL_W"g&2@:VzG ُ6Q-]e%p]mh{猯i*Xzlި|f:vu P9{{ۛL8q D`Rk4]^瘲D%Բ D\ٔx"C߃F5N檥ja=?ZlcfL6Iŋ9F\Jl<YOBm|j%&L55/niFi5[^%(j0kUF>SYI@HR1;HHyfS ͺ Iɑ&$ej:Vq^13R ๅZ*d*C=J{,Q-3 dtN%_?е>8{R罓 RM4Tik ;!c8"D]5`ȴ#=|tN\Usg}nSe˛X,Z([Bi(&?P0?;UدDmZ'FC_+/w3ljei-Z4VE_Q9 u3o{-scs߷y-5{i iYdIBiɨ -*QDPD g4KuE+Eq45dXjoeE?'2 rE:QhW61 IFIQi/Uoͻ\ia\7nO12^5ٌnnJmzR#jӫd㵿 D*R؛ϭ:RnS& mWݑ 鲜8=Ğ2@FPjو-8P`G;@7AbOW@'uؔwӮ4 P g6;vظ 1CE5V?qYݐ ;RXX7l)lbamG뽳b/fv67Х&$,NX"|E*R`h"J}`v7<̭[kĊ9IM];kr .vcW2j|׭ՈEvAq~~W^ %SF#2QtT"TWcwT+{T NcͮB*}Xӥzܬf$Զa=c֡5WT $i^ɸ1r/&Gu(+f%h =wK|+CVGHՓz.e 蜛COggSM#I{Cr'/B>9>>HG24@;C<;F%\Z .$K 盍:=3Af+ZԿ@g!"iK`@%MWW$>$afefJ/Ϟ.MɰdW:V='_ژ^"\0A,3t|]ʍV*m}Ucw^[?7Q_^~#czF'O~>nfC=i"&^x e;fǠWwys虋0YIr2!r0WfTCT0֋'xC}.-Qq3ߴ7qj :Sֺ"GT] 4Rt'l;_et>7YIqpg\>j% #&6\X 52yͷm/SWu;7ώRąY]T9؅\kfcS8t(u"AY?i'< +arғlr˱+.fz`16A D"H1?M jz?\`rȯ\zƴ{շ0}oGmr-͖qm0c#<ފE!Zf̒,ׄR>zԡ셙QrU|z3gOPnboRXyHƤg~٫(p,nǔdlV2HmڳLTʶmmJ|rW3lJ% BS/yqObTb䫋dO8RSU*]tug]ξɚX-)HJ^!F=(?󚍒!BuffJnvSkoݶl5+bY\J}#HUxkqJF2njYn/q|OoݲMZ':oߴMOoF?j648[kaV="JLAѤq+2o)rz뽾m;r3l\enS }n(nTGnUU#+7}R7 1m]mQ]tՌHe ru01BNDʼnN fJO&xѳR_8 $$ q%+ I^a 0qOaPirp#`g x7FT| ZdHHew8mS1 03ɌRZ/[6 Q^OkUq}]'CM=_me^r'7[!s'R[ڎWrq VÌ @.mR"ZeFF(oF'cn;ZM1޺܎6mS=z̫nמ)SH]=E2BG_쾝_--vE4mVonͤVV(LԛeX|'R dU :uݝ L0C2 `1U,r+?5ԛ:qg9Su|BSx]r52"4|bBrI ]r @Ύ\DPAJC7+*QVL ""[‰J@C%&:B3BWT*> J74`9^@5c% EuuyU7' ,0<9>CĪ -7ɮRnCl &RL~ozu>^=rL5ol}o=]1ӊrџwS̝uBַ4ۼWޮ O$/w6+U?e[\Pn\< BYwrՊ,hxӶ2q{,55͙;/9K{yKqN$ha&]vI&pC04ƁVo$S,uQZԳ;k %Yz0`@'0(vl0ZjD=s2DD8@QUU^ծ1 ^2 SUv6OΞ0m%3_8#{lܾT~sYffV+X/:tVUj?D̜9֖үyjyn왕;gk*nbLpg/4ߛX=;6֕͘;`@ѧwqGWc3\2D5OȍY8="5)BQRb.f7MT:*QM>d Ęjm84K>/‌}qrcCvy7-݅!ڞ^0\ru"*@hքyeg4Rx}Xfcp2T,zL2M~|&Atf5a-Uw&~ǒ6 r ߞ-[G[zjwat@ı ^t  cӿRIZ# ?J\eo筫ziM?-p]അQ0*LϹ< s޽?*C_y[̛˞vEq=-$N wy)5UΆ lS߬'(3c6x&thxEnb/~afyZzlfޟE>Jzy6xP󶵶g>՟|L16+hQ h08ġl.Ԍ2yjwdo;+ƑOm0<{oǶO"037{yM#zI /5p.ROu C1gr]0W_{ h;ɬ扉|#)Lm\v3QU+d{3sHaE1[qLAHˠ*Cf$G9n`GX@2YܨrNz%ȕ@1yg.7El¼L9݆WVmjO 3pxθl;M:: 6$$R셽 +eeJ~/Za涻?m+ @r)~S[+%[gہ^:3;),0?˲Fˍo :$ߊj_Fw*)oyJ6r:խ}}O82bG|2MrUi-q$][ &#e1YW7Z!)[JC`:RШxoi;nj.0pJ##zR y'aqdq!H ]-X憗Q[Z74&; j8aW PdR9qbfhVXDIUHrqbH2;:5sCL2E{< Vk~UUXP5syC U1^Wou1EǺܾ\r$lF LrdA(NY00ˏ9|Iz구wݬGLkf)a52|L #"HR_Tu]e~pQw2q[U2X[bUFNNz|G$ .gXMط#Z^t߬ : cRfV> U6c\% IRfLY>$^޻V]<81W^%O^a֕x7}2_>R##o)\{*u h\(wF#٫iJRikVtcfAhz5Un&{w7WeS=̊rr;. ,I.fU+%Uthlj3{@ZP+Btb sOggSQM#IY6 >& ?CA;59&*;88EFF<;;;>>KBEG:,p39 ;ʹ[Z)A^MP.`Bw̔YOfbm\S/)zOvS:5V?nڽQQb*B;g-5 耝!;l%LKTUhe2߮pMn}{:8<o}SOo/nƛEKY[hW.VF*cTOhKSh d DFgIgm!:rV?qQٻ9zݬdDW֗.#we})@;!{bǕ?aE+pvdd LTlneQ@ @Dd&vQF A,bA .sY5mfCmy)_bɜmlLz\7TҔ>La^S<;H#eAMf'^X5K5L"oe/+Cf]]\?jglx$sU71guP 㲝p*[kǯf"a9qwܲS._d۝; }-PRCv/|&-=SoiX*[NT];D,!{,{~3)&ngl0ܸ%N ؛ -W!2"nF*`ڞ7<]k.#@ Xg]gATgl阵.:C ~k4+HT>Dk@[{ϧhBJ9L+~/Xl ÛOqD쌬@#˿~+nƴ\9ڳ+L/o핢`]"̹sƯŏ/W䋗{=9i!&4JN`V.FZ+qHQ`~l]r*t CsBpnRE!3I[:7 K}LeJG/U܍tJG}*r[Э7~W۪zl6q@fza>?%i{J"/F]W~]F!iκikOelo69+Fը ]GOvM )ExN?`rϏ tz<_2XlTY2HdC4^* 0ĦTF`(7F]ܑG_yyaOw`DzZ5 TYBK!bI e-8zYPpW3L (˲r^T߱;Z7{[]!:D؏At) 5bZ{tьhe.׃ {X2yoce-!hz(ͶT3ʱDϹHmܼ2 lO?a 4{"z+ 2]%$PM!XB&Rhxred]5KJdYͨwV  {9j}y W{ 㳒93?*G{0OggS@M#Iyگ$@=9GFGfGNGJ<=,+$~ Gg@%`MYFHU05S>m H&`^2cff闽W̖?1'y$߹*5%%mץpR"Ze\ T .tUT+yS-Nv5cxAd3\չ :퉍 騁@*]G9:M)T(v:0O(.+l|ۻIxA1ȍxrx=.0 صnz?S(7㝅 l+ lJ 1q^. ƙ(@iôb83xnO O]=$FR~k߯ROO5gڴ0t<˸np0rr]9ލ; |? ]Ս~Kjw`ߠ͡^ [M\w6B`|*Tgꉩ\䤭P Md wxЈjLڴyE\ɉ()Q=2C@)٢=fq@2a }'k n؍ a p iˀLzVϛٜA .gm\LCHdtU(1Y,tq)<5BYzmIfg7j~m\t,A"g.V S;]J\tש8NYi{ T4\f,P=df9B  sl.׷$coD?Qy6=fow&-Rmu}\Ow3ԩbE4oE{$t}M6!ңk2uuZF,6ֲ \j_`r0NPJZ6k!S IK͝o͹9oHZ?VulST&m= Tt"9RA '0_'o7(3U32e/+b7;O^߾8ۛt=;hD:gXDv٬$=8۵ҳ{^j"]>=J |'op71-T.VOGlwb Z=udhlnm{1 99s&14T%uйOP^JxŒ̹ݶk6@trիm\ryYDTb+3&94m9Gblkbm3&m3AfԼIhKy\1F@o½Ű4ӹ{s$g_g{zT,Hڋã1|P gw͞|5IMd˴oCu`>5kԻM^wuR}^׺#ǾaT\G~JQ퍜`)]Oх VRWz++δMr]~.tWeDU}̞35m_ꐻYœCz;l!3v'ѹ'mm,b=/#Dnܳb[P!\y6׉mMLyat~t_g!]q_^,ML3,R]s4Y,Zc0"Ͱmf6ܛ9 ]7_sq @Ů-s2ecr\\.H=|C #7Ԧ4a[Ys<0$sͫL[{19vi&q0߱Psn=@HwĺB'?Mv剻~YfTץwOŔ;sg?R7Z)D(.J]l6{>l2 ggnUSy݀[;s.o*ճ f7ոG^{=Fna`Ra8E Qĉ$DWl;˹-+pC4 &4a H]M/, n05kѫq |#{y!'BA$I7Xo(5̨Q,LY߿Vߟ]㓡wsqǭ>.3-4ڨzjOΦ}J-z/2>?ӷlۙVr8s-xJL]B̏܊5U3(Vn#1P} Չ]O#k:_,NT`\g $`LOw.(v6:͍YA]{h2 Q[̍Bj6/!ٳ^`H4WL(, Pm0x\ic$@oCh^kZ۽S|8.jf$5)_MY5&)5g}b%s*6IJܹ[ՏūZɊRhsbIR7% Dgxz/(x,0Eԕgv{f3~2}qv"21λ۸Ξ;=8%촽Ҝp|zݞloyދ=T{FOjeq{nM~nranɆRb1S}'US4I;?Owtǜd~t)G1؛ͧԺ"7-kmUX;c787\4b*{s.zXNpwPP!wG IMwYd1 j-E;8wtJ/&kLvZ#Bw̴m\4r3,͚rapJSؙ̹떦&%Kdm183<( @cC7zmMmDLD!UJ>˒l\73ט2%֯vgr<o?j/~ߎ{؅mx./m&hPe8rGHIMWO3_3dߙWڧUd}_u22s7tckҙkSà2tW~BtOv1>gh3־wvZ j]i}%vڲUi$,{_L(~wVfn:MizD/v!32\ ּ{T=K4 L\( MдV3bDG*!:BpEbSdдx۾1p9<\3OSQy#&G*Ta_:nN0EL@w|ׯEo9*zVYٴvNt[݌w6^KV6]uZn{(A];v)]aEu90ݛLE 5tpklbѽ9gQ2ǵyeg^.LXˀhr]̭I|ֽ)` n3(p^LΆ<nr I驓!YXD s%+%3 0Wu8锭̴a>w )YokuJ7+}W~)UM仅4U"GyU *:{`3Kԃc,6f=팆U^٥fU8rX>v X:Rb]v_s`F@&do v#C}e>?[(63&4 jr) !h`y ]77` ~ iHk7f»KX72\&:OE6d=U2W͜eZ![#q()\X%DIHWĵ-zl-pU1c"ln_&FWڜN[˲ 6cHU%˒\j\:`˛JQw7`R<|:Rijg7l.8>;>FE=@DAAH?>7;:8:B@/B;:=9;:CA: spkkl'T) >!<I̔ ԟ83:lKW?*t9/$q<׳VWephs1RF嵘?Ӫd}m^*)<nXSǭt{[-uM\K i>rOہigSQh(鲉rtViaNGJP5Bq?cmҝ\?d9ᘺbq5; })q]s =[ `tu^\'#\DK}(οܨlpozϕ94;6'rÄUj>˭V G8n$Y>s_TpW)Uxwݖt@iUI_miZ%̉-dLѹVec֌LL<KAVY E'5*HW莋r?+ƒ))]ܫ#+٘vkNM]q0lo& >!LOfP%u^L#wgj8wε=rt'Ri ؀eZ>KWn1bnW>r.[WNjűkz xک/,*?o3T<`[~WwS_n14{Zwߩ{m׵jlM|8ӱ d)BзL;g1"Zm^p I)e^޶w߳wţۆTUN8h]͓"%]J?}Q:M[23~=Z[d¦GP&Xt)RǨP(ܘfAw4{vlcz{ Z)AQmBBL!ßme|겤*f^V O]1zZ.۪im7{+eb({G aSC^;PBTJfثsojV-zFu"呃j+Z߄`[o}[Gm/R}M%é[rj.))Ji+F@.A:cÿSUY*`E zg`1 a{}]_䇙bN|ӞM3/&^6pkffTN3zٿEXU: e}wvvR3CM{{{\ip,qOUyBR;f*-MD/|ͬN{NˎyJQ_+5WgۙȪ榠:[Te% %-c+fWLJHq`ʈnܬ$_$+7QJaC1Qt*CPH)HZH' ' qwqӕ0i!, x];ԐzY] ,&Y 5.zGܼq߀b>xCL8^V9X5H R.RlSnbjx3I:le`_jޞ|Vn4&k3q;eSϹOW8;fb{ ŋ&!.JQ,~Rg[D>Rf"w$Z@a.ŷrӱr(eNKa ]z\K W zVPn0PHD":cb`<+q69deJ #2,Tg<<'xdRE˃6iΒ;!}u޻>,noWIKk&}3N:hV":m۲+n3).u)&`cMM9D}f/R\5nJmܞR V_=T{CD6a9ah{=R;,{~D.7.yu-gfɥgDJca/9 c0vHn/LT%O֑/ٞ{kvinFnUm$luPJb~Zs(Q2E%f3YRub6/G<=m$@?O|2`h&;0sc3*]gi߽VvrlKe*-V+}c]>5|M)SjleW1TiM9:nڟyOq˙Z7Z坵Z2Ua0ոԒAwbOvOs4މBB=7&2t ʕVHwt1nKrilgTÆXJt w1.WO/ggcR]8>f/MlܸiWYWv} Sjz'Bҕ~~AP]nswᛵ߭ Vtv¸F`zN)bbdk!ak\$ )cxk*T)bg s{oO'UO(\wlrNxur\~PG=Fc%acViz>77b+\'Д V HHK &\)zc6U*_օL; :r±@u YyEPC .OR}b*ʭl6quoStjN8|}r@33Sx{oV]wESX={*ԎVOy6"fA 6 &@,_3v΀-K7ɔDgEngO^fROggSM#Ip&AI=(8:?=EAEBB=7@4L<>7:;:֫OwcQ><+NfUX{P:CfTh 쫘1Op` t5YUNkw۲ ,23'ccָA`P s0*`*KR K(6.̤y%3J%cP[?p\cF<=E_DRR5OIg|j?wB@7[T)+}*Mt瓡 F ws]J|=]RV஽e9_i9rPi^]p&4}nb G#h &B%@TY�h1;3=eiRfnV33V1g[XnzY\axu'p$7dX$`GH^\ UfD>5_FtJx&qY O.Je|3)W˷=]z u'󂐌퐥՜̽43# '?f|}zMj86{BnZf8& MlvJ4: kupݦPpsν}rt5::*~KqcX\2bs`3dp;=":^(fWnܞ$a-D ]i/b Kվ`K:$[+;N?}k5h6'(7v t$u:7~pS7WoBRnL\q睊LoMjm6;t9 lb%9/EL MHii2;ҼzL5: Ex m+̤ HxYGwrJFRSv o9_mjo>4g) 2.m?3:f,_~@<\˥{"0TSx$Pg]eT+-sOy]u8wLOstAVDW=dgmCBn\Q+ ܦ@" Gw)@9p8J"IHMBJS!\qfVKb=5!c@4N6 7\m7wU-5Pb~A @~\A@<׊, RIMq`Ƥo$sT25B:mW:dݧt܌N11ǟqbψ4N]GoU_n2ffC^WB(ۜ{(WyOovB1'VIFquP6T<ϣωrseSJ+ʕjEyP# D rErH r+aE2!d;N4ؤ&DSe8›9_;"8: s/ލhcc \^gs S=4CNlĈ1cd W*$ H# 8,^@ 1(eY?|b ϶3y zeׇcх%9wXud4H?}SR$=>}˥駉(יb: U~gR-kh@}:(`( ~(x>c!O"X4N,?T }:޻,GNݜ{8ͨҢW/S#O{f"( +dT 2z vsmSm`v\3'- ):LOKQ(8~L{M"STL.v}z_w=٬x^H&2Yp k倢b{FPpQ`dLBR1 Ҩt5J @CX,;ض![ˤ_0x 7PZ 5pX[jR8Sgvނ !"/NsPI* HbA$[ۑBm^n.o}8lf7mRq\dK6WM1/QWzv{2>Ӽ:ꍲFv5W]e8BosdBs,:xy>v4R yȊsՙplC mǩ mSu&ֹ$3.B5+ly`4,dI)"W'H6>jiVv0b},27bve&!vN1S>1[^h' ``νȈmL cHA @H")TtKOJLJ̧8!ad2jFʛufNTxʃ@#+{IeKy¦u$=>EC7F$|$"Q|59ؓ9G%~+4CAn|R5LlY t%~ieRg$ _"pf3@4rVyұF >mb@Y.*.ߕW?U]Kl/#MT F 'R}ga\)1L*Yg;VجG`g9 =sorLqbYdFuBQT@vKv$U$fhyGUd)zm[fd?ut$r4W}HzI7)䯙`b6ʱ| zdz,ٛə9\" lg%ll|.!t[>p+LrޔS욡TbKZ!oUԽya{fO|V]%`yuQz@.Np~ JH[Qع]T.W?4I:+6*6-C4ZV^hgӣr+ҤJ.I#*x\n;_]#k:q*]{3/L>[Nm:_U;n-òXb]ӨJ7=YLP@'[DW\%E2s,ȈQ\(\NS aT 0|ԒLOggSN#I %@>#wZ(e"KIg ~6j9yMb%` f |b9E`ݠ |j,C I2sOﯸ̡ޙ|kx x7t$!SIaHX?sPDB{oe:ӏfTR5KEBljd_8\T %eWC%O}^W)kޙM^zMk/[lNX?n5##d3q$G&š>su[]V7/eNczFHk @Er8tk ;n9lʔEZb|t8)x{e%.oe\M#ZgɃk%ޝlE0PIov"uڴtmXb_;1o']ڍx7;%-+'n?rBwҢ*ĪFQ C ,6sݘI03EdzYF=CoIvX2bbgm>s&5,58 *IզyLj -9 ']\;eև|8M7K nT 㮨"-j &@:HjOvu<[wΖs3:) r:Gvܜ-%d|bKfy#^vntu.E_k5 mnA,Djx%leFРmV OWQ+-T~"m ,)\*-ʆsXxԄ5\NeC̪ljg z DhY|۱\[{1]TRdzIus bcå.YNr(.jm͚FլSelʪfLJUN$X%tNo["Dafv8J}}Ȑ}w=&cݦB@d˔X)A By;:="+L.Q*(V]qlij6sW]iXd_Sl+`;5X 8*D@>˳fu:,D"ai$ r.+m׺[jݴnYhښP;ͩrP>N9RP UcfZڽ_+=o*3rv4e۔c'3˯~d#}dGl{/VׅYMٹ\_TDc/Q̅bLVuϻr%wgx^%Bƛu0tuv+"H.rL#3n]ΆRW4b&}S̈0!J 5 + ׆WC8)DĢ{Ҵ]+2G& /b96`O" I  # {_< Ҿ3k9* H_%9˽MWfeZ~Xl[=h=ng{Oir+WsS. [슸 Ra}.۝A!WD=EI zv7uuˑZƵuc\"|ri!(h~)UH{Ȉiܘt˵&C\ voֻIlbaBgmCW b F8XPpDN`=z{OS0qcs cV/#X;oM.P;lj F;۠ 2`؛ved̼dިQfV'd9ԜWLCwR)3U~1qq͠w֝FnZ1<t3eR(oOoih~r~vSͰn՝^O|29Ǵv@x/)POu .vHP5}=znWm `U˪؞h4lFusoeTHA`+mnK& t6U vNς ͅi0Y̤:3w Nc 9.Kܬ VAB}cҿze9#f??x/,IkތR䷲_2_,_G*YcvIM= ~S_f?)m5*/T$f ⠆M+Y0w.NY'Z"Bw܈ɝA:tzȅkBLdA;p\u5K 9p5'79˞MfyT0XP5Gٸ؆:qVS> +) @WeGK!t䝽ljjx;}oRf*zô翾ᘤwo㧇ѻeސ].M/Jo4[T"S]M&oƳ}eFlW]'꼍2]=r eF{4AΜ4ԩ-lLۨt;Jqy}b/y׍*vY+=ICdlT>n ,8G@kbҐ 9 l4ƴcۊicyd};WG6֛bHjADZh>6&f0eJhGccJWI]-1V< Q#]qB,YDVeʤ5$v7|3/415V 1%ŷ;.G@*5:>1})5%chy*D%: \\+(]{nGU Wܭ~p W}Uϕvv:ݡ ƇEa2+m 7 iMS}2oRnI$ Y; s4w:\1}3ڰUL˟v4mrkFNwN9s#l҄F#\F `٣<:Α2dFJx7l+$)^.Or}O{qm𻄱|;'J[)RyK% t2Wy;O&akӶSܗ\[^/Yt LK Ibl:e?/<Ԓr">t;rq&!x YGs/n3;n;7#Hϒ-+#p n"pONrxBr;k[ԌQ[>?S,M2ˎzJ=\oL2QSpȉvŪ]r\6B9+*3չQޮ[. Ҙf tn_!gtu`ۆmRi[M'x<(*Dw7kciʹV\^*! ŢtER Fٽ3%+aHz lt4AG36jlo7{{h' 2\ PY`Tjy W}B)]ENyʖ=cu&ȷu^2azO9&k+ԥ+##=bM(^n(jL4|nm Ry?tSRfcJ7#ۦFZ% yF+AӃJ𭇼D2Ϗ-Ƅ wY3ïkJڀOggS@>N#I*I!=9DCHH-@<=>DEEPD9URKHJEꌆR+ V61hyEȚvjHYQZ.|l΅fLML)J4jU^8$ۑ,!^k2ro|bgIk2 *m(.(pog[BtL}K {3ֵm JW{IRFrC;2E[r!QBc5V۷6lG4ht0+1$Re f=z,/fH N\н(T+MմnFb1 BpW,h4g N E`tŰlpP O)%@2e+{E׮w>u)j^Y62N=Vn2L7faևlI ncNQ;^`Z7Tʏ\d}8-8-:pg5*ߗ< l|:+束60Q͠/(L]\|[xG=V?+uv>w BvU.*1~ӋѬhգ|wާW5c3<Y!]V*nP–JQMq;FB5Rd!]Z&GUtc x 4bnI X(t#J1J_29 !kbZ8 `D۶qִ[7-w6?3vCBS%z HX dfJR~:>cQfxŲ\k )e2ɻ}?gGAI<+]>whCZ>>wIᒠNVµK2yvwNsG49reWTݣo7Kް7J*.1nɶ!rnFEau+Zz;$SUJ<7G#fLX(P0alWK[GyMJ am] ̹5ۻyecc[Mmm*DhQQD\>)EĠ=V}7{̚wa5+ҐoaWdLkdDb!"ub+|QJ*wuƵدmDqBNY/5xn4%41s *"Q(wV sgbT<Sh<2JtZÖ #4"f_9|B!6oRt2an-P?PgiB}yL%ޏwgs7[}6mduOtZ:N6PTۻ-VYE7ԫ ~]lU>Ͻ;'/qt Ụ3m3U;bW4Lef]3t+n;n2[+1p l¤ȂgJRV>F_ue[Q7SfFr Ր8kWiǁ-~ߧ; ߛ\Z$; tm̠m;} ;r3""cA$IgO yp!jL%OYo{oXG2?3 V=q>:죱 noœ)|{JMG$bϜ4ûy׹뵓)BܧU7Ləy_iy[\uSlrh\'*lԲMpV[YslnVEePd+A촴Z1a]ul86ߩ#qnA`c`n=.wV!=;=`̦?@0lc`bzc" !$<$߽\sm< ִ ,Լ$e{_^>ˍ[nqՒk/v^ջwIj--NBEB3Xr*fv-KQ*ۛr?ԫc^.R-].&۷ D9aaQ2i Wj=1f绯w*gQ*R)Ŋ_rD0ո}U~KިNy݌Rf3W Mz44dvˮh]k4;$`vF#\bz0}.{\& d!A)aaKz]zj$6f&S>mlĹY/tĜHw6MR;UQ)~{J8)|M2';[:-L}$e#Rt{kˆp޺Eφv5˻~(hV$n/wOq1mL>qnP?Hluiqn*9t:e3޺*[b[E)v/s"1G댘q:(w 9s[K{J1|>OLH{zwoV+=* p&=7銓Sae\*ck=ߦFoJg]ҳ;=im˚^ 63l(Z԰yN4ȵtd׳S$'3ʥg./A*j'F9ոr8mWm>O7~P1-Ƚ[ -v M7Zoeݞq.!C׺{Rִ% KRgNzo,"OggSnN#I'71B>>;IJAC>ADGC9%/@:375yu߭tms;#]/_~WD޵:,_.2uf7dsO빺*ʟwty/ b.(Ɩ碯J?oe,p.t].GaJy$#yd&nS z4eg5s*mAlTb/ Hh )OeQ Lq;v CVh 24;2TbnYLj"chBb,Z\W2fQ&{OEHs\?>\Es OhwtR'~}<"^|X]P1/,;*ߛ+8{2t|ZI ^>YO|.a7?> U,|Җ1Y<{UL_{Q甔CWa事2 kxʸU:Ym@a6S `֮{;`S)zk` &V颬GSĀ `3'k/VvZwe*djfLXEN8y瀯7#]6\^ݩ,Ɩ߱V5>oVk4?h ގ[l@#6.r*]V҅R٩LzUru.;$pUjzzcEXun=ݥ.?ޣ?lqWc#*=YRQ%{LGR=<^"өS;Ctʐf-cdF8}}W^օO|nn3=5p#0˥rհkˁLO,2 \>{.}DgN3OToM΋l^ѫm4c @`2vLLO\˕n?*ƶ9m;nh8$֊27' 7LETE-*̷ruSZW)3)3,j5+ZE*'||@fMNܐR(rm}{om۲mU - XjNP'?xT*rt>wu}[^n*Ұս?WdtEꫦ 2#6v@[n3q彻]gfMOf3?٭f6X{n1SveľRFI@ޟX0xM CT ;Mώ0rllՉZzCI@X0s+,nۿS[0sE1~ 0,Rq6q+m܈aOU;V|25GLb.(0^"IeUWT~Af;9W7M6R̊H8tocpG26H@\Faoaʑ:ȏ!awNs*KZ$(vm\[[{zz.lgו媧tV}Bwѣy:Qtvm gPLru{4T̞&{ MZg .R|[͂qk%Sִ5+hhh[Z$<%lgj?B$h-qr=;LMBkm  BV9r6Pq5jJMzC 3K[:RFlwIIM{jOQqnͻ.PK>޸6 xu/7UHԹboZr+1-}gz&zb˥+K7ɓ@: R^ xWj}DRGܦ9}gŁK`!/sn{O${00[^Uj2 ؍eAH<xR@o%6Xk9H7}1&#/Hi;*ce,<`p̫eUWu<Ɏ|ꪟo|?Jf u۵n&Dшm |;S.tV.wqlINW;ݥ'&e;+5UZmnF^yiݫa)HVi)EFggi`0kh}]/m5jmTט4NmPol{4,Aflly 0{tp) (@2_@Z,܋H)sՓs,ؼyjԌj'Mr2f hӵ|s۵Lm/wvHkw9A.3:+Q_q7ӳ9[)eQoypx#RR׹cv)inO׈kW:9kowJi]O]{!tȗ{^sܳG?6]o3^"7=];nƶt͙hMd}[aMQz͸yMtpp0 H78=fZl,0V0&RKPB|*W|fKOXm~}KnxҝV5Vzu8#\i>ЕefL4o/*(*:[XT:[%xvE"J\eVYZQO#|$PIm1olN]6`sinD(_Y1qgډܹ)ʦ?v[zߗmT xi*Bn#wxxU.̯}n f_ۻTnkDJw TrW ^(XVmPC,!l"5WsbSDD]Tel~Omo]u)0*c \F/;ZZEbJjPC/ 7sXk{YXY閦D֮u#*"* ?P>MT5Nv cWtsCo7׮zn7]i RcY ȳ4βGKN7zIrx 5cJcNlU{{[vzj/fKU]DObr@LE=yz_&7S3cJ[^Eo[Ojmlȸ8'~\t8ygd4^ϩ~KRWWN=H" Y8nٞj!}YGŏ1.mɊ6'b js{nˑc7z:/e͊}SWsq֔!g/'zGOR-pNXh]\IJr;ˑN2OggSN#I\*G;9::::8;AABCP;:::99EDN)!:FDRJ؟)te@rIOlSZ,ha6KYYln^" m}nt"Be `3@R _ȷ%F6MSx iJ殒md-gWW:M(:(K-Ŭ UZ@fkUD ;OJUK&4'R` cISA-5QF,D:S̝㪦kOصc=ʐ(V- ^PwHxjH[|YةtTQEVa`NXY;MSh3(WcΎgrEKN,<h@)R@Ct~-8Zy?<;wu8Dkf=HN]{0\8I  =Q$JӼ[W詫Y͍tQ沉Me[6u(wpJ&TtB>Kw>ɱ}!\s]ܞK\~z7If LnY:(<x?q|A^-3e5)/m@H w-}^yRfU[ٿ=i'K%k̩Ǘ\ȿJJbeNO+Y?{m9et棐ؘݳ嵘>7ݚp2g4=e79Y'F71~s>(,$g목rv:T*6yN(h"S~ d_A3F $0lGɬTbq*siDQΓZiYʘvaا/xWVcTN$C(hWz7MF&v,3S3̔+0kUw8ZyMlYyV__u??ijybz^f[{S^v˥y>]D|3=xW2үU0iye϶2NӹOVꞂ>@+*9|UN=^ٯ"I ES0X6Nn%p,xbCv ,wYC ,kL::1b̕QKZu3ituP2-!T6YC aN,SY5g7z^X2DٌyY3 V(=h&"Bq|C'3~NJdF^ҹLx\yc>|.%CTcE< iIłoJP̟{[rrOs3l&t(8J >QC6vDĘnnrzͶ^tO._izgx6M+YlJ.P19- z$.,E2L )Mgm }R6;&amCz+"Ė.138j ਀% >F]L">gDzfBfĺM,AZjX5 `(I.4v^Eĕs"3J'}C̾s%&;hdFo;-'/c$¬kVOewTkR =kmt7B`7uJتo@xTEUW>?(5wֽ]ܯ^D=\%q1p>2Xjn@t(kMV;ZS%ku8Mddj77y][AZd6\p ?3E. (쏞sW,bz/c(+yT| :ێ`mِ֞/}I۶qK&^fH\l'J9C6f?AI>"OY˞:mŰSPCѱq]] Hz&HZ pWujp|,ڹ˴4@k7EDn 20Nq[.),IYG6A0Pz3Ll7o=F4x(@oHKM|P|p_MspO], XvID~po1OiGŷ^SoTG=ꭚ9}&=.O駗|2I(B9ܼkSG݌#Z0ŸUޮf%7zsjR\H 0'ț.VIx)7PmJTZPuđKQ,Il o1k#bT|1@4fݳ@#{hݰYz[%&`l(- ;UH$"Vk_DXQ7j*~șo[Bm{w>v}}T7 l5~|ɛ]FfKKz؄ZP}uz+w[syor9t~Ȓ-WK^Ysoq]mhH\n1,;BpR.&wTrTJ,^)Pܠ)B1OzJf$<^m<)s;$-$$UDZpf/"2m 졀589ιːp=*^6t3H]/U+nYNH#[ {<2lmwW\۳'2O%9>7l6xC97ꋼ^F}MJEf)'}go3ᣡ0էOwhy2.vYϽZ-=Ȗh(TZRf0}5'p1*3Iq52ŞDqF\raOxJ$ XCлw@*8֌ðqs3U# l."lsP\sӱsVA%.?B~9bI"νo}y6#+5^tW]^1%/}fiiy?.0 +ﲜ^Z3f }w\t;߳=OggSN#I":8:mR\;aB.tZ1љqY@"A:R ,7FB2\*%Y%$ >+&{n:sщ1j1Me6p (xlod8ӛ6GSgI3"44p5~ l@dƔD~/w^%wO:>x/K^ת}u'\GR<侹pqz%5PQuBkT#Sln+Lx[96dNH)tqzRfpN/O}QLNW'Y6y(0Ք) Mo B2!ML s7Y5=m`.s SXoԫkv27oYe2Ǻcd%p| d\zZFzo2vǦl(gM<⚙&}6}f귾/沑)fJ;L=_#riOv+se̕i.MxBuV/g&r;+ߔ1dW7d#Zv r(G'׌]7>gpQްH Q)<ECR%K\ qp>(g,0{wxKdȨ3.a2%>\`gq i) J;E0K$(&yT2%WDb臭"YcY-v__#(a{ J#j1cKW.ȸ9M*V'rSVp6oALWS".ƠO9t*_ 췚NwM=%o @qTd%b[Ӹl;foԅQdwHp32N"rdOE V}vmq;5r6Zpk1.5F i[qw`a,p rkXtljm[(Iy 1f<$\%9*e*^~o0XNe6ᦖ+Ŵ>;kB֛5Q+C5´G- oc1NjhٝnnGY%;v.&/zp CjB{G !՚1ݜhШ"$bȠ9^GU4F8SeIg̩{,6Dn~Lcjk.T^ukdu%}:7gnlIM 8]asӝגv8' F DW}9}C 3%1Q4krINc7awj0<,[/h+Y7ޏ;NGh $Oͻ_p̅3RS)S8{1mg.{IPӺ2m_n_ Ci!O-^Oh0;Q+yRTE:]0 BiTl1(:lZc Z=clp\^?ysj;sI^u*0d:u"!a`V4:e<yqyF5eJkYg l0 DR#K<"v@|^)U6>ꐍ)o$ŸmHv;ftS4 y Ҡ ~M=[{eYؚӲJN.{c9>kbݲcYdKNӢn-=.x{&hQ@ӲQK]+z/Mz%i6al1sOggS@N#I b#::7>>??GAI<9;?B8GGO>3FEC:",@J[YW`ڣT`n>}μdrmxyPu…Vyɒ&q:.Cv`[f-Tc4Ҙ*J!D:g;ZɎwuC~HSOUNLTqUD?x ZM$ӹME)fVLpZk!9)TZ4-wc dN'bIeBtjKp!d:GԑqБ4dE{<3rֽarA\EE 8 s `R(sD@X%U6nɇW5deؼgaNe~Ks -eСˮ$$UP޳̈F2Ky][w˻h_(tcLYp:$Qvz]Op;!ի7ZUewѕ~]SOLtYH͝հ0kS,f#tYI\Qi9LLCl`Y.0fuO,~3Ñ!Tu9<՘ԭ޼Rf͚2lOM*YnHR:3|sCGv$ajoݴ/̡Z.~Y(D]Ug{պVny3| .R%.,G'u"tooPԮѱq}5\ϾF?tW Ye"'-:I ?U6oN4( 5e\rR{rl?a89ګCƇPdnh@" y?adx\^MQjL2e+z;h3T -vr:y;<֧.ovzL04J}gEuw;U ͅMrQٍ8vsⳫ] @Eg݇Q c3&yJO\nf,-3\=n)P;7 Rs|f=UCDЂ+=FoY@3~_v[ º0vq'~"s&=xtU (~KL"ReVp:AB:0M ^y͔2y/?޿!;H$IMm N{{S^3ȪY0w_͂P~'σ+I=%\$CSn۹ FٛJޮFTbÝ@Ɗ)MeEyve! a\Xs_p E ?):]SfY%aϮ] ٛkֺ]wl)\c+ VP/@?~&ą[ I9و j~:ol%ٺ={ڳBe 3,p8P쾗yοdڻ@@7OJU_v>cЫ܋=<|?/uY~,5ٜ-}tG7[JJS]xb/mnlT73He1:q})>{YCBKr-B[Y=JS)uGSt]%ymk\7pÔ6]ut8[9!o`dAE0r̬)YS*'z}k ~uSހJVis,A* aOeHVQfUI"fƺtًdovON hx|lo6=gvwo;<>1s٫RٲYhHî; ua(el|e>miW2lѴOy1b޶{ꉗ{M):H57=-(F]u:?ƶΝ"?=sVjMkkVhYkhj4/XCf}3} )r 9@vJjF)KK~Hh?yDIӻjfTW7} ֦[;^ʲuVN"o>Z>7e'Kf!!HT;Ƽ^?2zYnDy'+OLax,"wws;B E]^+{ySyel _>=%٬=evOiivVR7S(ggthI6|>N2BL='? $v=iDzA%h<:23Ӄe`ͣw G3zwp̂BOggS.O#I$ 'EDH,+$E<;>FGF@?BCE?B=;<;ID)@97$JԀQcQb+D=T~65.VZ7k7m{M˲|"X]b*; зy=vWNU MWL|[֮nڞBpPںTgQ^٪,$mK/ `]@{8̫yJ:䗭;`SnF }󓛤7ǍN7}}&IWb"<2\o !ϧ:"_߂AI>X=YMLĎ,]ּpbnNLo/sVy/LmZYO=s3չ[V,إ3=#]rcSemLS ͧ=z[J^S'7؉j67 L0˿ gݥ`Y/ ٵ~agl&"`P#21 TKgJ. ":]YHG,L6r+ދu#.QϔjY2rs:{ cZxW'~$fMF3yy]KU=wr>JnL.|ln>=ts6Q(w =MĝiDWkfemx : YNAlHGeT2&DVyVcYgy4YHۀA 0sCcI]$}/I)*2/rZ2c;3?NFZ>2qRM-KɐNjR}a9—e+I%F~ qmޖ; |f>9?^QJoV[L 6^)o]劏7VEfs'O ԏc,zuo p 8P (}=7ur@>ʾGFs^ Jr-`{gZf} TvRq;`6=6ʼ)56dT7e'ln{|+ vؐ l>x ` L k=wK fn{ڿ"H7GiH +H^Q^+`3/վ4ui:ibD+ӟLqsτ{Mw^?o-GQ}ez˭rˆ.'UbD+S|NKb^Qtv ;B,>}CX_X `$Y{)zez]0kuFLfJPnzE^[tћ޴o/*/71;ئڊVU3g^$Þa,_r]Dԙ%qqͭTL3tj_&euRz4_R=2QؼmVo].O ו.{ٛM6o ބt9@c* onIdlz4~3I#z[|s[Ws/ɯBe7mmj*{ۖ)V_oLv#LEB- BE42Kf-%RnBs'W؝!WFJE^tʝ"J8Hk5&T]*)^""h[*ok HꁎGp$q3C@m6 @3rFt5"\ٛiw͟Zv1\;XP7*`3c._Kca()i* L,%@лq,4% 0TMl[',_JcMڳ,=$ajf՟aVi5un_Ah 4ih<;r ՞1!BT ;EF;.M>FFSѾKyErnV[DeDnJWJO-p kRFhq qr@s*M RJ&  Vf~)AdS2\,la1fow3Ӳ k~BFg]1({{/|[3)`1#=$)v?+q=]d74PoWM*W3ۥi:H"UŽm?Eڶ3fg0ͺ ¢M m x+NxXdʹEg*3ci_'7W0-D{ Ta()#_nM)&\35SLlDN9գk=DZ9t5YS)˫l]oFkk42A37nH#wµTCdr|_{'c2ِRYKm=(ND0u'iq8RbR>|,*ur&J=\a"+K?/3D޷6+'ntȾWg6UuupW6$1gC &Ogs+5V Voɚ zisjxۀR( K"$Fzx$/.& OϷc*b:>K3obS}{ܤ)T0]DWy,($0K|nh:Q9qs%-*fxZZe{!OggSXO#ILo);;9=9>=B@K>:=<>DD>/.9D6a7(/q`3PTIw}b$O֝~m3]w[3ۜK&Cd6)ˍYMKjA7y ~(9tgLmb)oL:L**0|FlTXL=2R 6`3-1)귈gOrVmq3..DR#kwU&DZA<TV l󝯖W EgKi{EvKײyxMwVǨ]J%= ߷!M<]0pM/ڲJU6]{OՈ? ފ@&.Хt%*jլRqb'F[W{[3߷2eU#֪ ;ò HT}Is"L2SR%o~Wo7|Ϳh^T{U7':gwǿ_Jmךk;Q.~axٓ\~ }O wKt.蘨F{3dOD';wn"E2.դZTnJRNoDUڋͨzZP.mT 7dϏgQ DoL\v7tXkoYT7vU܉~qӜdm'ߩXɈ,M#s.WYд[gcG(36`Kf޾gy3 0V}7#l*ˊj!6e"¢ò)T'oܦq43ܼ7 \r#gh8b@%R۪$Uv[7N*em{| 5qx]"Pi,z4-n/IXv\*L_2Va!}'Q !0%PS cQM=MR/ܼJb{l{Ω< *m 9"ۦl\J']tHG~&F-ӊ$B}S؊JGثMd׌f;U)tҪQ(( pP@̔vFEI< jc*YW Mم^ +?^T mn?Z.E1kڋ]{9z9sg&l4;`'7{rC_$r]ᛥ+vZ]ZdfU |VE(TfLhT e<`GBKBUybTʬ޽{v_5ka Z'70;Mb* EٻxGU3 ^2ԔJ䭕oO&e;*;}l_rzvOr?wG:H*(X{Wl׮R>h/Ywup"(Gi߬|6wS+c2vib;6cn'&Kj/SjQ\d6UE&uɘWN:hBc6s+=T0fsQ)~_J8ʐqؖc2kZ 5CMFa\ܿ-% ~QW93`3A Scgv^$)Ԍ̷~]:zG5˕1NV'盜B .MY|~1ٝэJS/r;n|*#dF"zuU!?.W+nF/ttߵkrX-b>koq)KhK#ynキHmS!8.Jˣ^m~%n^}M.-wGW:/ÊK{ 𘾻``{aH9A¬in@0`Vi]zUfeGL"g.`^Ss̼*38vs=\db0$?k{/[z}oIz۴v7"+8{[1:3mD}z,o*M]~+ru6(2⊹zV kFOb2ݻұؕ-4)6rK99ax|KNvΧ`9f$vxirG_VF^ꬴCBiݶ97;2b[p9O.uvP7}=RU4B VwD b]8,arHZ ͫ#D}!.qKTGZ&FcƼљ ޜHr4JflXR^:Vo*+*qy[o\T\:E2Vabѣ- 'AI>W/IzKYd\⦅t6LZ| .@$mGX[~?[N!Fa{;V cVN!DV8, +R7GtW͈!E$ rlHUbC /Z2nB-3ABQwbH3rՉѿp!QA` ~gA\)ENU8@_ljZ͒X{:bMbO%f*_G߼~m#=fȦڳl x &pzSRgV+S&ԟRT*duSR?ӥYV$c@̋\UA,-u}¤S]DF(NJ1VɊe *][猹a pU{`Dunά #HrtN0@ٹ]F$pff*x5FHk8ziDQ0p)*pm up*#eVIhR8IY콶rb03xWIH2e4emX_/ Z6>~>zk-3y7-;JL7QeLQOj3JYQ.\X_7O>?gyXNՅ7 0+_ѵsa%s TvNꮪ%o<„ T7TWWT| ME\Y!fTUb2r"%V1N] f7;aNJj,&P[Į\ qF4OqV$:^:j[~7#^ʌ0cV/ >r2 {g6P:`pnKJz D%RUq!tG0g}.Ɍ0J.?BiZ?2߾r>V^;yu;ֈK\#cxEz| h!1r=x ׸U\#{ou{( lRwlv7G@ dxfsE3Y8vόm3kxy=c9FezHy1ϑk?mw D^#xO1jC nfP}'1^曞缽$i]y{=o:zۼ%A ֲJ@쬬NpfNKDjI%-BN-UgoE*žhsZ+n:)"m{ ko}mN.2W8]z{_]Fu[FNUnGMܧ=az驖g6[i)VLh"7'npy*EԂj VHP**VqJH4 E,|5]f1*\C(Ԧ)61!zə44jdXʪ[P=PŝB*b#7 ,BcLO4/+Xy\Z w'|:1t`=S}dD $ HЂUDY w :$B>YMzfܳXt nu\ H[&+a.|KOƻ2wIO[sj]Xv޽[` DRe:{>°VT6F7sݕhS$0~Ֆ%>m'z e+*]@0{~*7ה KA$SԔYe hU`W8XoNʵ2)3z{HIq8z%Z{0N~U|eȁhF t{R*`#;\+mȉ܆A_ۀ7[}‡Hv4\`V[9J\_1wU@6Lh1@hT - c;L`Q9Em5`;'eZ{u2e|ɶD}NZG*ǃT֓єۂfLefJW|r޾{zՏX9jj{'.yfQ.*ap@\X{[.4-]uE J#l[Un=am9UE8Ppx;FK|nQzZpjVΖ'.zZ'ff2K>3*u²We1!՚y`E N"Ѽ`:nAjk!/cdCx Bp ҖXtbM8 6 QP,Ւ Q$(}=;Al5ƔRpK˶oi5Uڛ]s/y X.њM4K$nqn+*q{r7Rlr)s'oՍS6P4xRYeO9̈,"dZ%M:)8-}K2ݢ!$mU;˾]]Ҧ!PIڅdd)> Sij従XvlbhuUtvbxD-ޏ[͘&,3s \l\ˢ{"7jn)B˶mo󾿿k2A[\BHk]ßrEיn{GJH͖FVy{[S붍eojoۚ_DOA$`=|j$;泃қ,'Nݐʘ*Fkȓ&yͺMsˬi lV9Τ!Ea 󮂨VEJS|):[[yI],[Ӓ}e20խ1@p(]wy{O8" '287:+Ms)+*0X{nA'I9Q82 r ]o^x7jwj&[-dڨ$L[T~w Ödz){u#(_<}A,Ѩ.TS/$=Zغkk=hbIcV6Ჷޯiqwr_r9Gz`MOJbܤ{<9 VLJi]%[K*߈+糷=0UPbeM,ow -~xTo/8`$ ؠB܆\SW\ɓ|D VId"#Յ fp\X )*rC !L nm;CDU{3[;kmͭf4\k-Ju@8ʼnRZ-TqNWXkCt=@QoR&s ݸ\ϓT6X1ȿc;!Q\P.dm~"D-tQJvk.ƧtRIzU˻LDkv'g {Ȑǭ@ z xdHYQfg{gbVlr4u}jMd4peZU5iNm'1GR/5W"Tڃ` \ [w$z/  ՛i Ty >-XPV_SkY 7GRSef*޿dw.cZdxmj< [7eԁKqnKє+l׾-NCUR);5%E]`J*52q*>Ar!;PDErL+c{wT 4ظ DǾ*I$uvXJHpA>{94@{Hq/39ýM\/z RwefqL>P}:)T13Dɋd[cm6EL33UUe2߾W@nu}rܺb<&4''2NG{WU]gr[WR7 &3VGW+u*ϾRe]|*׷:p[rL^LWoCNo]ADenܚI4dNMOV T^N݉܁b% cBw7 %$g(]]K`[s\ћ;{&šSb24!w"OggS@O#Ia%GEG>89;9:;:@DHF&<=:9BCFK9GN ''(HPD)wڎWGk9d9߿?-u^ Bu@j/4*I[7vz7{~_vxVmϏ^Uw_f*dwSʝ^s+a<Y)~I8?AZw/ӑb3+dwGaO9:w# \ SH%텇RJ#\MDn8QL>㪋•iGVbY\S V n^ VMu5v&D8̂:6o͡kJ1FVE$Qo^|Rt E=}=jf4+"В7N3t~]YM̞'@C=q0WçjOC9Ĕ$Y瞟gL%NvHٌ%8[dd'8 P!1w!ş{fP*'\ r#&3Uz+T Ŝ_ͬѓD@дmV``KnӞRƥKr\Gj픖 KhO>u@AXt jRZA摫ɒjg5w{#Emhўz>s +im.,3j.|l54YWp^ٓ&{|M1gRM5?+*Z+>\ru{{m;K묵ljr^AyXǣ$8}~̴Qo+b2r/;sO[{;b Z HX Ѓ$n0#W`|!hmm__o{%/#7ھQڪzON!gZIJRD~Z{-?y1IT,W wM-jo%U6y_豼=~e^i:jI n*&n{v7xrJg 9H>q6T#}x BkiDʹu_d%<=Gc)U\TصΎF ZfIvq' l1.SȜ2ZRӹ\+6XKU𹯴@44,ٍ}M^yfw@d` 07f6 AQ)+dE7‚R-FT-!OS{|"`ޑԌ)V' s2uĕf<YSoCßJ> SJժ&ܻg RZyE]L0-Uq:/mAa[MU[ɩ Ѐ6u*罅955mq{UU)1ĕ2Mmr4]Ħr4٤vCbz%paUQI`ײI= H{M[y5`i¶{YKu a h-9k&0;C&C`󭳟]Iff̔sg~,ʶ̯Oߔak4fu8ݓy8{(i<f˼|}Vlk+u/?ffg/Tԓ\?Zw>խNBghǚb"J au1oØ(_B>P̸. 7j3;ի͜dbƄ`(Y0ޢٸ$h9R46خ縐x⢫&X"^ }6mLE̜9ag6Cx]}c*fY?mAI׫s$/U,JʏHz6otGlŊ#Rȅ=@{hUɄzo"J:9|Q; 7O83\>CL61%3I( }(ʇKY8ftNZ6<ޢ"1I?|UbT3C\yZ'Rc|D!ݬX *骈9]ɉX"D=ٙeijHCdrD+U<Ԧrq l_qDtm_;3xkLmzVEvk&6Ľ3rp?kj rkϏu%off$Qlo1*eq,wߜ7._zSR p{ՕJl΍|oel~d%J;wO^QI.g3wR-(yNdVYI./>S-G6kQ*[;2 7+ǐHnnuV~0A Y{o썹rޠz=O)b{~NB:>OggSO#IB#@@4@19=<=?7?FCD@AEJA:ɚ3Z'q$,c˫Ͳw-y=}hhnܴb st eAkjV><`Ͻb\ qS253Ve}+p66KrC׋vuc%Kvq+F\)]\WA^sd}1d\[|eTbگ=wN1 q].?*Jxιp:B!veRT7SN햛תDJfU<!:a5s 8hGn3B5>^eR4CpF02.in8lI1~Uys36n8 ޹ ]\<"ӋS2T{j8K@l7SfL~o+wuN7tni{4=D7g?S4;'2lMF\Yť!+y>sϝ~{ٮ/'udR]`N\uzsW˶S<}z\1KS//;c r;cn_n`,$t^@}te]+Zwya'ެl=˿Mfev5P:gwo:{ފ0楆默=XѭVn(0=D´HK)ў 7x?seOܧ1'6IX)S%|7C j sezx?kG{fJfj-zr}.Yٗ)3bo+$ u]!흯ڕɾ\,3VYɣ8+ߪ1flV$\mV;wwݿDci⢝-mzGϞ{r1co=%F+vmLe6n;.VrkFj[6##TZMމrՎ;(G .#eWu%]LrX[/qx{2?n7dz$Δ3=y˯@AF.7 bexi Nς.zMil0|  ڟ!tvuUr60~9N\sYJY̱77=*ʥ3 a4sG [RԝiU,=Q OhSɽi@V%}}:kY :%=ho @S0HKMbr L(`cRDoxǞ;{5 &I9$5Lz$GRGmׇn{7:k+;L?r@L[; >|4󱁳dqЊ~?lsRG% ʢsST?HqFHM`>2KC$祁=x[oefl4xov=Ž`\$z!$o2$G8B`GhoT͌Op't_'}Xq޵㱵n똇דtp5n,c9}lrO*{Җd"t,D\8pym=J6!;~ק˜U3vVmLpQ-|VCbuOĦ:6bs-Xl~t2!3qg,h8԰+mz[{Q+n˥ޒk5|D^Ж-sl9$07'?k2D;XJ2 [PL3ׅ6[0F&,b,G(p2:Ga~.Ӌ66 'S? f^qňsqi)Xe5h<Hco߸ eHRVL6izxފmҵ76&$Z!Yp8*; ?ob/8!dFL3-_ޙ?_=ymZVö~Z^z, A^MU=RP#@Z{R@%dUQtЯo+斷mՒ[Gomsl^GnݾK8PCU;JY)RYw7O[mUYVݫo-/t 3:;Wr?/Dm% #W'żﯭ{V-[m/v'_nUTV;/&(gdס;뷻JZfYm˦eδm5{m~sQtv'ρ ĚtYD(JKj7/,]˫tw]lQ6yG wY(t@#Y@hmM2t x7pQ,bڻ5C3iY׻.(WH+-v%zW{LtLvPD7͊׭Z ffTY˿u12P'͓v1[=l0o9iqxd[HΔFVǺr؉,iꘝr:vU2ݽ"sw[w~y"SӦ4{r|-g3K&[턪n,,M1-=]UYRDFΧ#yOꮽ bRTvSon挑)Q OAODK*} Odf9K[¢L0ZFoD (#qyAazP+QT=e\6+3j 8HR5v@p̓[PThrw\p.Y?ndl}ܻ]Ք/, ;l!IfTˑHP>yEZp(ɀ1W)r)nVT+}q'.{ i!ݚݹ'xS}{C\<3:,;qE@⮕~^:=JCнPWrSsh"TKiB[Nw~zn12qH2hKgJxgr=vFe;}w;-W6orw;l7ڍZ8{2nM*`^íb'nZ. p1_Á;ԏM`-PXOT:Fw=ȵCoXzn)xYe- z*;i= P} *i"n0)3@inT z5SfBpM7N:|[bcsD2pMȻ" AkTJԅv6fO5Ws1}Ԇ4Z js|`N<͖G {pg"Ŕ@\SF蛈ѳNJwܘtu5:zP[u*kR4WX;̎Jdwۉ.u8:`A@! /8v,S[i6Q~hL^6Rfo78yv,$mm s>XOoodU&}w/}J,dQ.Y|jO6W SR>DDFM=:;>BCAAA263;7͆u퍽1Ĺ8{Nǚ2wT]ɋ<[_-ofk.HbPLܔ@bf'vdr7ryg˺vaOajuS)G4R)sU|MTCI"V73,mli5tj]fhz5Pc@U3&Bx>Yx}мw럳fK_^>4bWLP%s̐u%jfet]W5 Z=9SZi^8X+w&c4F ԣBIl&+ Ȁ oߡ7.wHFs᷽rۛl[MwW{ WPplgDDu!$cJ,Ξիi9Z﹗}{Qf) e:_ӉCG'wr۲LdZ;:N$9$2gqKl5ٶJ̵uI\AW¨AUW[Z{Bi5u\h\XSy?;7mn6=v}EZ2K^]k*$o(B>g بRJV~K >;y`wɤozS<;>._;ޙ;jqbj~F{c7td]VʣKE;JsKf~V-jx08aDFR+ɑNDcir*85)U(А,SW=y7&"r{9&Sf0k&2ĭ @a0O5,\;\$Of=ꦥLh= k+ZY/0NE \Y2~d+08;)D)T BT=fx/i m/HHbEu{J] zŲ24me`f ׾8AD$hjpD18$ھ熨H-nNO6FRUJ"oqûWt 'źX$kc2u{o @Ls2s7C I|68dU'/AVnOqu\^ (Bv»9 vQ],\)=qvwzKLOd^|T1ƴ|O [!<3A/בSZlrW  ]xߗt~ɍћ[{͞vF ]wbgޞ k="fd!a_\[UOI^G˜m'9W],MDy[i'VmCnTNl,VHRV_=yv73;pR&FDsC&t>C4Rr W_ &sXw}_5v2۳Q+r5d$v I$.jPTA L>!]ЊYyHᒻ5J(֜p"،rb /& s<Q)wLR髻~^).컭0jckVT Z7DY`c*{^:RY"j9[3؛/9LuGԫjC$GoX>&9* IL Mjۺz^j{y,I:d&ˌ:]Bu(4gt qV,v D]{7M6նMړ&].N9у١tA0|)(NʤvH̋,ei3 ҹVӻWkMe jZJb]2#O(x u(_NO^[S I v' +8'_mv*K;"\חfSg!cd]S!!_ʕ|'^:R&ik3W-5IvS:VcU\9\m""k1m'%P 'ttRD12eT.]\ i ź STOq),Qd D効@. dp.$QfŃ{ 뒑o ڔm'Z0K3fnnrwPEt܏ފͼ~~ oo}s[wOD#R} ìy}W%R)Ƚ兴2['GW4LI)rsjV.#Ib"D6ܔR7K0q 3E)—!7\7"&t;B1[Úq(B C lfN&/]F-cw܄ajJ>7EC\M88}@DUH$E=mc^M%e8/V~x?v%-`rLGITߚ0ѼW R튑{EXJ%[7J5k-ճڝlZ(l粝1,yQL~!fSPc"1q&@\u$0j)OZ`e1xN}ҷ%$\ ڴ8̓i,ktk7f,H` 1Hݹx! ~~V p }SҟLY)w3& LF$c ,z_zYs%'w|9ͳkZSa.=Bw6Zҫ73=˒muDu4iLnsm\' :@!4MDi\T!}$sؓQHAfZNqy ޺=r{@\u`i.` 8@uX+AFrq@~0v[sж^i0Q6`՛nq\zvs^1<cw*4@!r}[03l+\Mr^ouăl3OiKC݃_4LB!&Zv"VJ.=ƾӗfȷJ>ut]7rJO뼼 &R.T7ETN|d~n+-Wg6.V%dGA1 U\riY)%3M/+~d$*I%^:ΉOggSNP#I%&;9;<;;9=CD>8:@?td%'*s|w}#OAGt#W֬F:e2u#T~*-77ƀEۄ#y9so:\;n5l3J%9ԹDi[Pjsnႅ8 kfJbV~@ۯUg_h<No:l:>[*cof%VWu󝙻Iq%җ#NJ4IUQz_ZJ v\yfxu_ޓհc|9UnEzwKq2d&R4'Jl O#HmpuxPAvJoG&̮/Q8Y* ^]|le5=,7cCi'ٖnc0p`'0mSv}Ӑ`AI[ D!@Θdr&@1yScJȿ,8h> f={)s Wu]NOU>{b\n4SsѴgTo|>J4J>JjG|ȹ_SǸf9|+'w&2]u |FVz&bfQq'lsGVgD9V% E蛚#3#HYQiŭX҂r,l-S9k,>Q>@0Kk@&@k ų24K)l% \9f Y7(W}A4+݊3}؄za/\@NFoPpƣ#X3бY}faf>m{"ZtJ%`bJqM`րz0 # ^{}׽ZG'zxݖX9{k\\*ԤT`e($6$ |p[=*QW]=RkzweR=bWјJ5ж bz yrd\!6TXM*ʷDf$6ֵ^\]P@Cʫ[FR)n15>@@ xʬXmy_1|Wcqqޓlt-OEVI'ze%ہRt7ϷGHR0 2w~o:18xp}"گJQ8!3ulѷµ=@ , X1v<T?Yuwe vb!'7܂L!FcMgVQgA[jx΁@ZI>K#W,xM  |*23_RkrK7c`8 1F6Qvk(^ mj9 p!h W! 9UDP73f P^q4MtOn6ʸWm3fxۄUmUSYy6%Lu.GHkmVU@95{C7Zaοj}TtࢰZ;y,Wž&dXc k&.ɜ{_TbHv*u;RN,"@= Un'WX޶!YUcQMipӥSbd`/ܑ$q1M~ :g>2m^NzLGx]YQr>Ͻs[!@!.]Uia's6]<|gi2].լnx-~&s#|XC(zR! ”hTA[/!Wu]s;H/]`30YdFfDLtJZ*(ZNѠ8RS1cd35{fm뮲ퟥL.5tNt!?z[2 y>ymv1nX6umު6{[Y˶zm N8t?CMLg5Lx%:w嶵U~m2+[*zpVL26 pq(R!VF`IŪװm{T zŦP^>BZʬ I 4ݪE{Sc&k.UԻБ^'2VkqE-v"sVxP~AуtnTUXce81l9ͺ2"s0W L%T;&Hagߢ#5s sP{ hlN\q#W2ktU& `;xfX泂k/nQ[mc24fV[@+Ae0R&:R^ρpgHZ6Wt$)e[{7~`j^UM(4IteQ\*#TҔQԅwE]ɇ>&dewnV갹&1qSjEv7Ɨ!AJ[QYC+ 9dK[6\eV|5qo_I _ =fM9ŵ)zCwuyaji֚4m:.nL/h'Gi Lsv͢,A*hi^4''lFOM& (d_m Fv|qu%"5+oKyO];C4]pRf.>ݭ]^eb_^_~U {lᮏ)Ѣ4xն) >Hۦx\l](5T!WT~Wnp{ZΎmh-)7+fٹ57{9dEϘeϮZٰZZajWձ{rc(n^l9-ao:z^ 'C ^\ Oc,!* X-+$ va ^I2L/?λ};Gryu嬧h璐^s{}FSqˠ+ǻ޳yPĔ~MT8b=K88:=4L4RHj{jnN|LV++esl4XVY/LO"o؞-B8Ve0`gK 7;Ya옻t{!Ta0 >#@F@&"DwL_î '"pW8jLe}eKX߲OQ;ħ{yqϏRRiQ!ϝ<;yܥ!tsgY[.[ʼ_Q_$Qw힗 Y'=؞&?ʎPK1pqukhz f}^zX,v-<=an0cK(]HIX&l/?J6a58]ur$OggSP#I? &+>>;:AGS<:Un sh`ofuN `NN,ų0,0z0%PtXN#8Ǝ*S^yvNH 0;Q[ww;3[p>Y6չֳ*XY޸QO'.lϖUWIp*Y G}B@Fa">%Ad4$P(3D}瞗0EmQK-b b6@3R[!9G:MxI2s):zr!54žh⟒59d[;ճ2u&2k+TmO98% g[)nM&/5U$PDIV2؋#mrc[H1.ę4ҢkqOs^z:F;FvrACGKa@4dh@&AM d\?VpP-$^v5m֙+jcU7| ]/Gl! ٞIi"z`ʅ<[o1ko]{O:=6鮽XDuy$5*7?+ 5}ʥ + #qXmkc7c,tBK*# ˒1Pw4nW/MUBBmŘ,G5^緤b~w}rnvm=ivuzYBd2H*P 6F~HE4P׫W$*Z+{}Ur˩LՅKy7]fs!V)n߅PhҢTJxSMA{eޟI 3ZI~\,b.~; yb*"`L6Nr9Dqf) D?r*״B3AJ_VN(dVxN<5:3AKOJޣȲ  )oYrSi\)j`,yldz)3}f Խ,;7!GawͤPD(0c UZb@W0l I",p13佗?tW[QT96PZ6M{wQ%qytMVEMnѵBפAѦ)a+$P[Tw; [B-j9j' HAhWp)+[1-T"Wz"q+aKZR#ڥ,˔شm,K P K0 Eq% .&JD.E$al] 1ƶEZ9U&l2i26jy9U8o; Culb:!7 Z=s#YgFFhj2ǻH(ls؇A:c> tEjQUTGQckX.]W䥝LMJ[U<(o\"K/dF I6-T^-Vd9lGU (f@ >%:ȋ=kt5.$1zZogzcl°ݶ諾C{w[.VO0(Va _<6O6+/\r8?]VSﮚz{ۓִz uOs. (dr#j@yjԔMU}ӍG.x=_ÒYO:ZY-x;irTnr͞ WzV?;ߧʼ꾩Mg^2eZC$۷~^ڝZWJ+}ݩN+(wʴ|t3/."qTp.f{Idt]m7=ĝzr Xy4.hϻs"rawǮY4aOMrᢿiQ(wQF+ 6c7w07 mHdB7yw񬼫.N(`\Aۅld\|RPQ6CI"zq.kq#&&QBk$t(e#Y.ϗ3_Nn;sB2ruu.forruQizfeGlKrRg5r3Rh"PV9V&R@Qlw#n!.@tK!ʘ'ޞqiDmL)u(鮗Umhe؆L)f !&y naB{N%G̖+RJ 5ڈt9Gfb|12;ܻ֘df0Z`ClDZz) ecre@/! s3mo /Q IfI_~?JIxa=lߌ6wo\Z/M;M@g5Sg~;+K5ZN{SR_ۙwE)[}gw{!yܸ bN.M&S|1}VRqtq0&=r:}AL)y(13]R.̟nsgiMD<B~BpǼbA1/嵶9+cDi]Z͍ruJb܁tğ- h)Ȁkl =ދeӐ4)BI&ĺ?6gBxxqL)5ɼHeY{i<%7GbH&u=1~U:.r}Om.o^̝S3>g+N!ޡغ+\kFm(wb/j:״Py|T{Y-/V6qKdUporlr@Uwv̌jvo\+uLTimz64- QhQnjIns:{^e^n}GJ-տT 5s/a0=ΚZ`fЭu/LfZfn ôh*K8tz bAA*% Uk\",\)5F^h䐥utEӿ_M=}Dַ!+_.n-֥>Z}f#E>7ШtV:|tJ16b.d܇޹b^#eoݬHLxavD?&q ǘwsqsM>M/ DvXW۱_ΌpiE>m2A_>{\^OggS@P#I#HIBJP7)'@:;=CA@AC@CDK60+~\荖=ʴlmYiRZMdӲhg\Lou lfsyaṔ! 4RFa*" Z:,8Ҳx 7JEY-׼0ugf0O7!'`9+\ ͭ.wB;?yǦׁ=w MdNۤɺƜ^LK)a r:GԇOA(lxfxi b3T0J?;];]-j3u1]mHw>kK{ҖU[EJYr Jzd6?>U*r_g仒D.ڷW{+k{fm34"@yʥ ɂF,5/@3=i}xכQSֿWinvRiX%^sb72cF~ƛ ACU 2[;URDﵴ|Q *$B[/d!Ì᫯0ބ {ʑ>ӕwﮚ1]#6뙽 c}:egs;~Le^ZoqC^w2}Z^knk}O3َr`{5.B gZy !oz` `$#G^ȲBc_wE-^үbmxT׼RV=hٖo; b7~fmloe2w"<tsʃV(݃nJy1>e(Lgv!C~*#i8[j3ZaØѹ&@#uf0PR^CqS{ 3M*UeӠ5f [܍!Kk5VSye.ľ͹~+ME<^kD&=IE3OK{ܓ6" +zJ@a]f;u n +Z~⓫a 1u]0}v\ei(_̣)BS_iS*UДGuo?',ޟ',@%4 ~z cN(n*һB/TyRǔdtg%#4` ๪ im@k+j~wx.$͹רy$vxkgvYv #5Zw{jvu5' FY׸ aC Yar۱g g^uRjF-h,;[Q=؈쬬0q'ڰx]}(ҽR4<-TD8` (и˶Z unOޟjݕj-٤kHE߂:+|Q~3 8 ޅnM> agP YKK*fTB0ڂྱCk}ɜ\7cl2"Y7R͘>~k7Nite5|}"|vLF(2X|ޘ3ڞF;. /S\к tYܝm}+iS*m7]B]WLuM~n˙ tKȩ1'ozj*~?ݼ2AwJ{b*=tVE[<(s[@X(:{4 d]Bv{?}l2 7kL-m޼7Y5k .cϑR5Oy媅OBuDs@\ VE)m:T^{yz< ĀIKfqW!joCjY,YFk}W=]C+GcUw6JsNSCtUA !#$Yn[Xګ~ޮmC ofcSr 'rt[f~wP ۝ B9K&(oc">tkMvZa݋>`:V&C%bUTE8$)R~nwۦMVjj^K>hY&\j_&k!:-JQK S)E%^]joLv_{*ҵ-CD4 "P1qً{_*iTx3l+Uzes_j.tSG\;}6Vג=R_kMd_ݸNFAf6D}RJJv\IgĪ|g}+|[s}lTrW걝Nō$ hV2UM܎D0ݮ̑JF ;dQə)TUpcXX%ՙ@: wQ0,!yC%\Mb) /4ȌիY!3fm +wȉ3gg^!lR?#q}Qh3XނD!R&OWA&3Ƃ&I3pY?M2*q[SJחFzX۽x|uGoܭrSs}QfyC{F@׮`;Mƹ9ļ/-äIs[6#stХF<^c 󏵤]cMh0qT(5 As i/JI ⫃]I C\gsp-ցf0^n0{[Zi5]a6la*< { w..MĐQlġRra u7;c.7 ̨Ô}rїy|;33qۧ[z}L;no7׆jJ (|?sKBI^8l+bg(B{ 3ݔEVwbpfQ qqk5RU}&{K.A {oً瞫Y[ ]xwλi.;Yz7嬈j91p|&֛f!jNl`osY9mS-ޮ7SoN^ޛn b. ^Ma$$)_p !';S7zvgg9 73wFs Pz4&hΧam1۟Kw?7Є L!sW0 ph l5SHOP@ vx}s#~DR5Ձ!L:E@Wc?kKTD4x^|ģ#K8ҋ=R?X_VOIWr*M3Q!Ψ׶ӻ>N4q|yt[Mg;6 rKK\z@)EtRt]B z/&vgE.O$sRD/-jHvjHrs}%l,Κ]yӤ~;4OggS@P#I0*D:99><6E;BC<;:=<;C?H=.8<;:B@EEDF/4}u^i_G )L3?VOs$,ӶE[/=c1^3%6%)O4!cM3Z1jߒb~Ȏ׋[gohELhcuaFY]qCf^otJ2p/fzՇ6S۳Nɖ2 3ϜE |+*\XwS8W[f *tB c ļQԺM#u{wy*m!kll_XMyJ Uaɜ6CľX'4R6Ao5}{ba*-֪t@6]:0&,`Gg?-XX}3A$=VZރtf]T9F;?m`lͽCcb1*2%Uۦڦ{jm]]W|JS78msq4LF)T"":}J?oN s =*;N?D0/fzA;W^?ۜy~LfC1 r; h+3JyTtf xj_ z3LIFz߯Xy۬);of<{n,Lܳӛ%'7=Zv֓urk .F+q ywGBm "EqILWWNZH'82&NĮ6KڄdV]V7tfouճƪQD٫hSa:j̓mb\^ ƃ٪_Kb3yaԇZ.p\4hNv}vSEֺnX4^紳0bn~@~)`d2.CjTSVqY4I<:2:!bklXnҾ2?%1Dj0fTaY '{ށUJ~[:Ït6˶vi}\%"d!x @eqUM-]Jߑzd֪ J#Jr11B FtX+ݥJKS_lܔسrwV\nf )hQkHPX _;ǥ]O}^u8ѧڕm=p`˚7~[0+kl5z-R5`Q0 _hʥ)wBS޴eg`V2@}YU_q C $%w;>;=R|_O%޼Qf\^-.3cW u T\-)@e`o*Kiy{ky^zhY]wf*e#Z\e&d'Ȧ?*_"liEoY~m76l5o/^jgz Pl DHG h~Y;8qQϪLI䭕ߟIAi]߿qVa(7d4ɠI^ݷځ9ӞONKxת7TytJdZ]k@iWi9uJ zWڞ3i+#zv@dii ,U{n wuCdD~^`$Of=Oj@7lf㶺%}rӺHYԻM ޚr`Im il Vp? =@@N(rjޓ \Xp<`aQ3e2&I?Hm$SE*ۣ9F)x "(z̥s[iroJEQJ/`}]ܚkݯy&d訦z`kJs@%ʵ)r=Ru(c Qݎ{m402[3Zv~rEJϟa)3VPۉ~pʀ;20Zջi  hmD"LѰJK"Eb.qvi.L)|u ZJ>{ kͣa zp/5ƍa̤;'ofks6" "̷ϧĞ|bm~.&2m2*\V7[]z>MCjNb\YO\OenqCVe'ɓf4wY,`@.riBVaaǙ*j`c7El6ڦ BQdzWC%Rt:6R:g9),B L'm:u5*] LP rF]<(H7cgtdI PL.j*h_O\Tnm ̚on#R@9 G`AQ-YwgMj|.uDukWNMnb't"p .![ =㇍J:aeWT=kɛ-G_^*s<ݩTH\Y&nG@qz'}[-})UW{vX_n^[iۮTό~s6e L[AVp7KNF=E0fb;$̀ߵ]b[]j۴ՐZmydX\"Ҕj(Mj`ڧܓqVK.l1mKlm5,[|N:&CީEA=_ :IZk!;iume<|?)M%Tt-̵'3zo^M%&eu9xdUi^ \_7|ʌ d^p tZ> WTڔ uʑl'Qn;7lr.ء<MҽMߨ[SޗjVN W_n=7=u.q }vU2p}V,ƊnBF(؀-Frq+L*hWJ,wql= z k3LSaˤI2 @f}zfWI{t{ϵ)3LJ)zf@'~w Jo+ ToHtk\oFRSv]d{sӒLù֒%+sغkL=y'ͯR €B5,b*q9mwD\[-fvV|+i/ȚjrnB(H7=J2ʡ3.m m{K*PNG2oF*tuXhHRbXZ)5r"DdŭC0>[ʌK =aLo9 sn2ٳ2\%IЫog_@[5 g>NNCΥP",\HhƏq%oPSJ),{bUܖ6qqw, 5M">.]5TiY-< Yi4D.F>;4Rc+w{M\>ewh8mrŌ萨57ej'W)| p]DPN{i!܃VJg9`FuΏԒfT:g &{r J-9DW'.Ldfʳj潡,ۊޤ)vj(@#9tMN~bO1@ K:Áq)^e*&V{wC%㓵0gf4ǡ$c_+ϵ {䗿c}=e_?|炏jȣ9@<a BrJU"[Z򎨋L48>;H|"ke d"+}OT= CP\M&X&V{XqJ l 25"OggS@Q#I &,99;8::;ED55:;FA#/Y}Ue[CSJ9x\%$E `O:/#z2Ngs3mZ+as8t$3r5A }\F0r"V6F*:=aN[+jY#R% H rӧ 4C m,Kׇ·,u|sU^y;nQ=8C jE:H:yEtS$~)BYæ͜[M54<\%tudD=>)_.Ck|e*LΤdOKǛD4cBºӓT{?'a*ќg(0RM[}b3[{+k[k17+lR3= @p齡[$&3?Tn{pc:GETJ%r2OG4&G 1I)[Ks4vb9k;w_~SC%ôՙk0nVFm% V$äHCTK!eT+fL>MGB$tjyz2{ɬrDL=–rҮdzuYUso$u93zB [eDt $HKcn!4CUb$}!r:: ޻, "+"vk%ҵ'^;{r:ȕseFxpœ)䑭hLyCH3cW^euPvy3ls;**$ZzRﴳ8,,kP!wq&CF]}Q;Zջ}jfߏ}`ɚ*lZ+WlvV__5sLC=>^;2 =]fRmٽZK2Z_)Hc3 H@JlEv|k5Sff $*Js~{wzo;:俫_|Nɽyqgq`^Ei65WC!aݻS,WܞQ^dRy節 )woDU j-E94;ޜ? Z]mk . 0cmeX}n5ǡGR]WWoTigK%rXZ,0*plm \N n@ 5q w/:bb<M!f$^:y ]4'郜 kf&V ֗}Xt{W]jV?6N[_dG4e]bzхr*M{Vy{G=Td6*9E3s4ydf21тG 1&?@,Y(ޛ{Z]R5{ l[|rPnH#,Ge^mUĊd{5CY#oeܫvo45n  D ]qtڵbvRc[P-oë{޶{[U3vJS-kz{@I@!)䈘 _E.:QQ`W3VfjB+["vڳ|{4s+%۳wbTzpl_t[ُYC>UI&tljJ2\{P\Iiu{,|GELz+G#uܟRN-Urcׄ۳ez ]$SLx1&2N!6$pdBo19VͅՍΰTs9{3^2"C 9Lq4o T '2g@L ~ N;JYuTq@H;Dn ~$`&9j%/c-lo ߫ot~5u5AS,x :Oە+ >K}[2quTlNOmuZ_̖TT$ :~<Һ;JYD8P)۞Һ*#XcJqQ%Z7I^d"3DɣLFFql" ^p, iߋ>͘[qD{ƂmN]$ɼ1L[Y?:>6'{N侧8lͷ2i}ɷkݱf6<.[XxDZlEGe՞/TR|k}u6t|75DH+Q>j}Iцl\*j֏h0=.8\R?*GĶ"2W\qm7%<@FF6;=9CBIa:>45#F71q8pY 6;wYhYJNj@b^ޛ*3.pt~wޱ4 qxp[ri_#uc*O:%*<fRC@hVVwTLÔnNS~騮]^yߗRv,mf77.fo>3츜MFƷ~>;eOt_#{07vTb  'D"Saɬ&k0VcY,DKɣ}űD'Q^qt`wk(.[jɭ19a3iY~s s`tHs掂1zQk?ֱHC(x~H+.k癘fM[זݭ$i[b_j^?F~͛h'B3Ÿ\Y!,DS!:~O]8Ju|\\"le,g⭪HF4r CD#LTEPg",AQ(e&H)˲\o%Tڹ!17և.|oÏ~_Pjtެ$nLiq4yl"pgH~sγm̼{/ѭ j޲M]:.DH:RM*HЗDiՉcI/90'-ȼH4F.ҧ WcRS i"#R^QjFwV< ~m9k@o Әi/X]sJg)~K\CQuʒZs5Rh"}C2%+ bQ PjL_3oQS 0c݁.wC\y{7r>7+{w$Zҥ+R{ 䵹wϞ-Z>wgoT {o61PyZBN#`֪|Ϥ[(wU8֞VeHDelO-4%3/_qʱqQ fNc;tueXa HwT{/Vߪ,J̨#sPouN~^۟scU6;pVOr-W1m ITʑJ]坋[7ٟw\FRɥzO"OI6l[V`nbMƘ"@ulGnD|bBNUt,Q>])hg;6}3!V^"߳eSJ$2Vx)N S;om@)3Tƞgyֿ{@Y<) { 3lf6vž p>?uʥbR2AAIsS%P! Ýx'k]M]Px{s{q]8Yy}ci7^O7 犈.=z[SݖaS"V#3Jnw7{~Z[ڷ*3@J38߉Uqڠlj<DU*B@?*t]婐DNGr w'K*FR|gT-DPIQ-Dی㸐ɣ珫SOkXi/ܽ)b7wYx7ۄmEO`XsA `LOggS@oQ#Ikf"NQRBDJ89'@9<9A?ې5>U?;[]Q=jBHȕ7Qm14{{P@ȼصYI{UJz46n5O/8s}id.E&T+4qG@ryT3YLvلa0vR!FY<-`f_{L1` Ycf з*u@:tѲ C X H!}7y_}>ꧥk1qMr՘zS3\?zr~%yr&K9[iirynՉݶmQϷUU{|RJ)gѣ i'-M҈vڮSnkŽu'u|#IKV9n~*tu2 ys+~yb]=}J.}DNQrbԱ?mf3+I93j߾t7;ujVKj293Buؤf˜Ӝ0  htc# i 6-,L df23[ ^|Wncdrw荢;V0/_cvJ,gXP~}OIT.I%2j۶7Oη9;R; USsRxeeޓWD}=)ejTcJ:K4dG d:%ʥGݙfvyw}._[V+̫υ(mCʹ)(9{}RҔv7qr=ES=qg|j;˻C&JaϜcyvo Mjzu~3Mc5oaYJHWw bIUS4mY0jCm5<ƽXjcmenB c~)E{ (˫F@`}lf .,%5L~+׹:91H%o^cx+PG$ uʣ/sKYW|$r:Y b(FTZ[fJ~myh[vT*ˡfwbz@tθt|Psޣ-В}3]nH10#&s\9^'8f뗺>4r2Pҹc22p8Ff_ j#g.}m 2$  svЄ]A;wE {j1߯_qbx;v8c}{qw& t/(!-zg%f9*n]jV${ܛrU،z2뤲/Q? 4+ C>l\|hoa䳻y,sA~mg^oޏ>_>F{]orv#6mYYnٺLHzD%\=R{gt}KoraC?ra/h3*r6wیvM|O$" ג9VtOOp55S$2Yg{g @G}cpUw=-9gp*g.͍V>!ݴW`z=JGGF==ՈS(Թ0ƲPZ;ӂYiE1f36+Xo.m"ErK8@A0{kifZ򀵦ijn"[B]bw{oZ\x?po++< N U$X؈+{JZmgL3^9ٓlg_ lJh&i%}H-[f?_[\[WsO6AM-!]D={}vQ_]|Oɠ9=ߐ )m!]*K)noF~(H&hk};G{Csra~#/N# ffwOggS@Q#IzK(/$?@6898E?BB?:<><>=KEFN'A:>BCF0.~;qqFH9w*Zhj|P+;. =[E|p7(޻w~=4Nٕ#1ї&^ vf+ʧ﹍ˊzJbJLAa)6脻+ML)˟N.o]y%sc) tCly oL@¡3 <~4@4( A"j2={`V)/JvbXk7}1 s@#V4V]܋ "J~:! w`(QjTɿODռ2Fs3bR7?V~U|ë峑h?.-IW)lWzR:U,ՙ[-]mv^q]Sc㞞V!1>{Q5{[Jʋj"];ݱE}TUEfLRQQ&2J ?Vl~l)p,ʨ-^Dn]; m"t",| \.-%"v\qpWpӶhdV_]TC~9!2I%J(*B!Bil{oc~תj| ejV+rn$](lX^1512b96cW5=z 4|FcASПfU}~_U"NC=yZJ[Vmk_lkղ2 \ӓg}1QЫ;.K#~qxΒ}&T^Ԕ)&e:tkӷHm>6{5) L)UBֿOݟxmo:6uoْ}rzڴ7%|2n0& +yԤattvң(9FmL.^ϙ=26Sҽɭ&ęeb7_'&zZ5/moOZͧ֝9wh~j = ˗zۼ4xxSonK&O2'zO DTpU=ʅXnB.ˬXzgŤ(hAyyjc5'Cg1@PS_[iŎhWq{# jKԶ/3gRy-x4&p7I5Rƅ+)F2Eai\Fe 2|tp ؈$9 DKtTeiZJ~[۹Ƭ{ZEl%j;i*& PߌRoRMz.*Fb;7aߎ 0KpONȄ`jOxhJ~JsV ,=7]fent\t.r ԁLhA!9 @]N;] sq{_NCVio LT֏vxr7F}V;1?a| $IX+s,zo(W7kZZWU-qA)Hf1w:$riocןƵP.ݦNV;?$ͳLdJf(-*$DV@~+ 3gH3?[noUlbv}z4Qfq JQ*^Ta wX  Y*ρz3XDZ+Z=^h_n$~n?w9I91}2HL{^);ہ-p2IEw0"k;]'yo/嫻sJW̼; p{{fv~*L4 v 6.ffU"Rp݌i}͔Wۮkm$_l+cM9%\jl,n̕[ h3'VVddQ3x ]$"{E@6SYxXSupn 'P]@~0?PLN:̖0L&5~q?uWlWO_XeB쳢pO7 sGI5bNMd*cS _۵lj˾N(Eoy)g3mcU"\"bZ _mbH^cWJղR!$90=soTW{jZD+,C5 {QD, Oz֎vLؼlBtB?jۭmduZv{rk6{twNu_vi|s~MZ= q]fig]V2*ŞYYgIK*ۦ>E4Y%MD7[yp-x{i:JAr[k6\ wRh˺/\ TM lܨVD]Dn+DQ܆Fp { eT)\P60Js uAiu>`, m&T ^p;u'R@%ۆ7/̌:jFYhlLImycWM~=t6T6KM=3y:ʅ+xGQ2Wt~~m9oc;'+zҜSKFgTRf9I( I\H#QQ!íR˰]HIN&2Hd̩X.sΉT)%|4!DH˕*-%,͜:@  ƫ)fFx#s1m sgFY`rcl5lΝZ!btgnƙ@p@/\ąC< ;$?zzcMު7uFY{y/DZrO#Sݽ\=F\9I;w7:3MB: 2Q,:Ԧx;E/NY9ߪ.N1ȉ_=V^WR\CBIBIKeX@ cA4y(ȝ tB8GXDd9D+.:%$ H;QCPYX OggS@Q#IK"15,A8;KB4,<>A>A3DCBC2Mc0 fkImY& = 18#3wND >{"ֈ;5HkM$ V&T}(ضǓwm`IDJ᲼ wr{"vū<;״J9pr^]Ҏ=-DB/PtwXmNjRYfUݼy.Y{E\3jl&f:6!,1 ([ELBgG]jH+đ,(f=Kj$H'TE@@`H8l:%}}y-mzzh1,F; pgqxK:uZhCn4VeA:wA` b$O5eV~NoxNYՆݿu>w2nX-AePg֟6)dz [-*f*{jRK]XtagM%3Bi" mrc-SRV n DumHXF"i&" MĂ ̥IA Df")g5b Wmŋ"V5dÔi[•`OT`4{PWpUiw-%"R1K2 dLXt~ϋ??p=#݋dpCx'"aJƿW=O$J)CPQRrōZ=UQ|?Pef%\dA:# {|a<R͉r˫]2a`b&8GW:;#bb\T7Ũ7R6Âj8!.+nIpxr*jfdl.H_{fǭň/p~9/kspr4,c醀 ԇ~6u&kxݕb_g66۴efLڊHwmF; PL-O1WN.tG/o3wsӝgf(4Dw%?(z`7NɈ"րgMofd;b ۘm3J|*%sj> T SGo SʨKBK{fzgp0(߳ XD8]H6x33Lb+S_ʾGik=ʼXn 8~L=&rL*r2NRlB& =nI, a&}K8th*fuUpwGDYä龤B,MQBϕf.[x(Jhp#3`CzSs"`F1GY>DS5"]bx󔪱E/yr)/B@H̆i~|O>mx9. DطdUH/O+4*-+JYzKu!dK4 NꋑP-A`|^Q]F>^$b.VCRS&*Gj tGD(U7:3 Pvp0AdH] @&y<35yl Q+!|],Zk3-eUwp_;Bxt\X*Dbd Av!``~+MZXRR\R%ՆjB7 $,.x7Bٌ1 +ͼ~.VA"'a:ODD)rFTGpt3- {e!fo2ǔ,w{;#6j.: gιS\rrMh3\B+rk]Zl`ф=~il]t ]6U 4j'Mm^@ֱu[[=&w3?͑iW[sC~ RN,e\Z̕(;=P5GҺ&g/Nh{u/TJT=M=b]x]\q޹w܈`e_":&DcljMH@g msp),&:8q&:Ph-k ]()t- o6ʟ_qYsaM *`Î*sbP׎$ɸl |u7O>8ofTلV^1gMnu.ZkoQub;;KCHH.I;7;DC?CVfĊZ`zr)Ĉ)yZ#dXB@=А4"y}u<80;_"P tBJwVmKm.䬱 "' k㙙ԥnznNSNSXo}n }}NѾ}ޙ4.p2lylC޸@^iWB9 w?U~7ᬕ[JVj* nnVR)[bNuuVX^U'MUmp{X7W#tJx. Qڂweq>@{͉88xzZް-#31e٤r@@Իvk &XoUH>Dp:63Έ,4#Հt%$U ;(Xq^oc"T[C]H˾:״C[E5ɖAm5Ww H4kTvtt謁[.]]K<ӱ;z+[fNֻnA(RL=7R6kV̈́^KFi]uv݆anTU>=g =7BǪk,RKnn-׹g# {_p;f~SЬ{&AfS9iH+Lz0`8-@]@oX.zp=UVf㾗'vnϡ"OiqxW[)?~緩 5l_Myd^P_wq}[|;AU$J 9jAwzz"JhP5%sU)tvLJd"lj*Gϕ_=QrY;oR~\'-uBݤ6|L&K~N%[QѢMIJ C!IH$( WEf"l;((ym̾ hLlHfǺMʒk 3hO Ŝ(L"uD4bs*Hc<MᎋƷT"JrݗگƟزkl Y:2I#B--̯Y=}c*U̖glg.{ *櫾D:˞ [X7M,B?+$ջIT&MuؘkcۜD'Le!QR*ot"i&Gl*Mɷ|˶w!{1Ra^ަ:+pA<zfqe R2מ&^RJ)I {OJu2}3Lqv'O1N{DȎ3FZh-ۭ;4IyZWT k2_nrwZo3/c* |>};íٶا噛fK*DqLwv41A[5S,f% V\Ɓu%zmue!2k ^n ; =z?EۆT p-( 'x dCyl{Yg>`8jyƃ"2)乂D@ﶍ;T#AhJ-:Ɣ8&;8,ap3n Ӆnj  ?cur뛻Fd7dT $|t/%% ("*bK:GfL"Lk]}ؑRʶKx6 0w:򀓩BUY9I} f8o6'5P6f~1B[3ߧ2gYK;Xw8|\+*P-e  [DqIOnrzEYlΛ ճ1ls6f!҉cfDB1A<gLڪbޮbȞv0vv_nޛTzo:oen5i+.o_74xYy+M!Uص2$G- UJ}TqpKxke TbƪF BKģȨ -H(ޖ\oقB!snuV&D嵸uNn>K+lMcUYl&lO,$*HUJfM"y>JJT8y~U5vրvrWkf&W#) |3;晑$0owtdغ,\zmmJFd趷QzKZ~ DȲ|v-!%NT92Wtv{~bowڪ5>EC=ADADJBԤ&7wI͠!2L\@4'wDP _& L2 3{%>(ˈ`B  tr},24q=d< 4;w:Wk;NnT/j 5)_hƷ:ܛn8xޕ|Nl%´Z܂lˊNV;Tn %maoMǖ 714V 0XZ=I#a xx-` bn1ck ĥ0IA'i k!t+H7̼RyZ/\Oq`u7fs71귣ɶ≯iƬc̪{ԟ)|'/g7Vf;3rcJnsY/is^)S۾KJs:Dr[uRv gnrMtE?A-f0W:zOVW6RS=Խ8}2WS @JN~r/ro=XZEzŔt/ry ٚ5lӾc [5[xnE:ww;@6 AqӜX!Vf6@ `^ͨWJeW/;5ptdͺ=Oq &~l__K[e]kwt yۑ%u 75p(3||K15S7v}ͬ}2 %gƋ0ZlNus,'g^/L|FwN/lR5|SnwL$]JÖbloˏNpپ\ޘeM(Lj5^~=w/pl.2= 0PkL?0K %nMϕXPhM7 l73jL tDI.W =lN5*SZշZ1E˺g:.o>72%s 7[yyj~?k2rSRyfwF=P.;]s_7̎ޘsPݛu\IoOu>RT!JRow&\?!tQi^^ꛗt۬s[#?*ǹYGmvwѱmnL{;3b} {Vw1` vzj{a#8'QeGОL^)eLʲ>\$ ^s~jG0;a: >e-4}Jj{:^pTc#\הkAH\9dReý*|>Wm'2{aϝƸ:>T`*8|]-V5p;RSwm.MW/1)B}JwM#n^O~gJӹ !;)%^ BCJZ/WO5c%5#Nv^T7+a[-9=tFwP:nލ~}@OdTw[υ={ϡiZ.wQ-yA6k6iM:{׹mT .͟tM&<F1O8iN&zkp ]0Wތ*556&Mt٘/'iU<];) (xWj#7&GޖN{/SiC@dw_Pg(*u_ <.JT3}fq2z םQܨRSO(wy{4& zJHc8dkyb`'UipLԹ M ; z2U!=Epv^wش!lm pQ058y@W;^cEvGt]ZuMS5,soPɍ%dm N=7dZWs8Jۆoa"'8r6i)Wj_7Rn\3K[n{\ 'AfᆭⓑKNG:eC.:e,ar4a M(]oL11`2z 1Օnr Q,ɿ&ZkH:f@+{;\:+ЛrSvRuP@"0 "wr> Kff&_+j?ݵɽt&=ȞFϷӸ9&ţ[$ɜ^OlyWǺ1҈%N9"2b*N B 4kߤ X,f=rܜkۺ!6|+1>G2l|~WMN Zٶ l}|z7׎[~ܵt9G_dg9W'ZJW}'{ffv[ͻz@3y f .`MIzO5yB0 4Ѭ# 5 ui(R"mebl[=7t|\E (SZV BJ$3sꂨz\Ol]ǥ|Ʋt'yZ X F̚ak0wS-cCh5Q?O%}$^IzsV |Rc0`)knL~T_Dˈ_d^kYƻTLV\JE)|F>Io U':Laf4.Ly{{o{mۓ:RY6t$*B*0TfE^\],]7YngYc@_:EVRmYl{ZFs~DtG%*V[#[%$x5 4D FSo`U^al([U.j*جO5kON5yl%Fl b+U>Hn?5`672s[tˌƮiw+~*t~#7X 5L鍌پt滽mzͶ{kzZ֖XF91d|B/,? a48K8H:W+eVwWl RW%| LG"BYϿ;[\fmu^)EuQ,v~*jqm:[{[bˠzlP BԧZԡ@H3zY1R(ofFCYh[ZU[D73z7nS6V!VLY>y% 7U]rH/w3Z(5Q1-me]>;w/[\V^39;n+n;C.Bzۙ&#}q3ÚDqe!uq)=hsRNR\FCx3az W6LD 'ʈ" 0LkJAi!,;,n>3bhT@Y3&4  elÛ;Qg{z2  DiStcA#UKH/xf&y#)&_s55ha[uŔqOm$S҉KqxTetg& zϹiú]ݞ!׼E3]Be9O^)|Ӻ8+w%7{S9S~n2DvGAjCHvKJ.r[D0$gJ]ӽ|\0݁gI;ҫdnQiqᣁTIEVy{ 6OggS^R#I1#/B9<888BA2=<;:<<67=BFF>9=@<8C@D,@;99A@DFFK P.8%KkFC7`ZӢE{C@E 2=tK$a! =@f ŷ]LJ\2JӸhI0=_#an/~3&Z S6B)!mN?[Jשsՠ2{G* % Vz& DlKd+fBSn#}Z Ȋ;`SYt,_$h`p"{keIYU`GѶ'YR (2MjTL,0Yt@Djv񝬖jS59?T6 !wJF%' zD#~k.JO]Q:$5v^5|y\ Tr9Qb_;iV xJ)[_C|>w{nEesj̥ D6  H FeONt=޼1eW}@tIJ7::Hkt+p-P|۸[WB󖱐',xQRDoz`Uzm46ʟ,k@DK)]9q!'>|o]-o,=6Qv}N>ݎ9vS\s[ *YWTZ`h&0R3zBz4~Zck`cVk002̘%DJ鹁 ( Y"VgDމC$~vĹO5S3UfeWKMl+=p-n)cvOOWEV׳(ƌ"4by݇ROH!z"m:7/J Ǚ5M¦cuޯUByUt^\\9%KvAXIJ[h wӊt~Z>Hlo[ۺzGt2EDh2~&ϯml,D3fثyfuIotV cf=s{15{)rs>wKElL |Bu֫" ^Un94V@w*/vf+fN+,&\.c wR#LCұ`uNȨ:m^1@]lJKʋ4>5ۓDYy:-g, 吷׽{g5knֻ!Mkj IalHmTP @wm_L@"[FfJ[U/f$էV^^ qv\KְmeRq!YN^ToTl*ykr_x'w9ͽ?tdH9_yVguvۅ9e_צUgr\nj=W0(חY7XZH}QrD5}'_ 9J9[Œ駔ʫ\HRqu q>|\NJl5{=Q)V!Z-鹰mLhJ_^z%*rv݃0@soQV,=gSr.UmmUz9G @+@魥f¾ I0Ejں15Ib'I(ќ+vĿ?mhL4LzY(vW̵l]tpLԺ1!njmjLXЁ^f;"|'{EI9 +2&!1Dm!vl V 6$):<&]o[В ]swӻ[z"oFԶ{7žd D "Y:ź"3.Y*@ {ߵ(B"=3S2^-z~ϟ&btEFj"e.9K_ҎVY=Qy:)t,=oyfhĎ2خG㛷(w v:}[ f3N7Er \k-"qMgU{g7)vm\%c4=QRom(FIK ?gl+((.W 7T-P+k N6Me b:v)̨*+~ +{;=;X:?+{坦~q+CǤ}->H<[w\o]_*׍[Qwqr]~:{[!/W\5J9}fKluVg38;9U7~6 ;Rd b%67k6V~h,kfkoP0Pk=LHVBFբQx|7WgL+p2 yÄ*`P"H FHȫ_o|$3̔ɿwf:p!vJ<:s9zos)5/ ȦsV:::y.ITD!}fsEW<]rٷW)͋jubOO5s\tnY(:ꙭ<|<:e6NW}2۹Lvc8AҸw c6^oډJcµ^29CA` 72<݂4Yu1l<[D(ۻۇh|99Q)I\ 50|6##&f!@c,֯OQ=]7T=Yul vx3֞l&#83V@?DJc=W/L;nb:cA ڤLJ NXThWU.ݷlɽJVMqpt&*zУbYR6=-;Gf8Q$sc%RVټԓs^cY"Pٝ2ӠS6_J`5QbPjRRطm~ͽVon4 tf`'XӚ.SV{s3&q} ĞxQ͹5uuլTwWT. ;Bue& %JՀ^y*Qt^~ZIH;Ruݮf=ը֚=nlׅ+A CkBYI*V8~a(6w.RQrH [1qo̙7~70mnD&N*Z%;E $}=۟kRqQ@2)UZ?"XvSpwK훬$݆ާ3k,^]qbS3NK:cdT8R1vn!x!'ݜ+darm5 ZFT#o#{  o.RUe^;g\` l6"CT,IIlbDT̐!I&Қj)F(OggSR#I l&?,5,B==<;;9L5wR\)ofoTC:t&myz\3IJUhJۘ?EjJ4/9U2&%JS{SSC_ȫ+T+:G+ON9cOTW.]-Xk*Z yayu>ܦ(}W)3Zgq&h{R :౨QL$WMϟݗQQV^Zm^SϿ^(V"KQhNC]t"~(nP;$Ke*qmK㶧3(uJ1Ah"_? SNww)iكGO#n}3瑂}ʤT@ 58Y?97"㭢 p;Yf7ok1Lf4L D`3$ո <]ίWrn>3scvZԛ^3tTad"J)f#BL=~KTߝ?{w~]죎ܲ#_.Enfu"\'Ktrl ~L4UQqʕiUҹ.~vF/ͽ`{.z*z(,hc$ @4KHNd&)$Ln߷ vר&y?f2Lҫ/1(7/!|ZrTGZąTžFnp1/Y, ;F~e';QgqV؈~ؼoYQqrt^eHd3P |A|.ܒpdΒX mDPY6c,а"Mi(~ #zeo29l^Uܕ* pU]O:1R<1ڲ7 2ճc`mt2t&EeO?h]?쌺P+лicоglFeyV[qB_G!SK$˰H²j{$nIyeDbHBYյyd1~J)-ԡhivwVwo ?|? gq ̔Cq#X2ED^]n'և@3bX`;&DD!gNnws Mғ Vv[ HsP18 @U\IWff*Hĝ/V.) k2vqpΜ-]7X!%H,4&[hnޞ)]_蹬+n546h_2E.wEUȬeH/{10DVrt3;s;zfק˝,98%Fe4%mޖl2Yf+y TG֧/IX*jPL;3:LfFTIF5A@h ^q};w7Tހ4:"? "Q9XfQfT0P3LF:qA3S MHMSߏsN_*>HH,D_R^wFVd0ۥrZ"ۿ-KN!ǻ)ƩvĐyU(Iʑ+D,3b6Jczݷs޻՞+VsO60O _.`@s&NVMLQ΀#+vz6gҜ) c_sXS7&ɜpo̍xJzLBMwkҕ}ң#W͛vYoyBftP\~]':J{C8 7}t "R{<1(lۖ6f*+cԶ}ޢ.c@(٩bӝr+*$ s*ѵ}pi]y[۵zSȌ dz'8T=@gJ0wk`#Q"*1ok*l[7ju&c |~X),R̂$|3'BBgT5YR.L%몞ef9zזmim_FZParךg7h*vW`N`権ejB+ğ\u\ݲ~e`gf:l׃'!dOG-i(1ѽi *W1Z)f) 6udOtF&.·G32sӏm`HQ>FMJ-sbV5ӝV,G^!)SR7FUȘSGYSk\:)s.VNA#+>lΛuOggSR#I~ a&F;1-3FCDDA77;;>:BHD>,78=EBFD53d%Lt{Քfa(v=jmhD&`&ysUFv9} aPtzaH,V*֨UGBI;,J@73M%zl/)9V7:N>[Fy5j|K"RUٸ ;9Je{1^ C\"ͽ\wՊ9B|VRoCn<7L owpb!^&@o>A]|Q-1>FOj=uY92[aؐrI` MWF ДȤax Aa@:Xl0H/ek۽{eyf߽K:kkeYiX O|g2e@qqR@kDǪő]FeE$66q> &wy3S$V4fI*[R>Ev_q1 FvMIgTL,U}|^B9$t q=Mizvrywkk3Wxmz9\=7a(;E"`p%颾wɞլڋ1H)hrbE]!D5rVR%'+{+~1Ίյ>k!- (YU]yU)o Sc2]yxu7s0 t5L8`rNdn& 5 T)sMf3@Q0sL=SjLe.{~q gf%u˶)=SI+YV JՊP<ٗ/*[Aji*3V LB%jw)vsA?גdyG^R=TU[YAR552\^uNCTrĆV*+w`` Q͜Hm |n^bK `_ӕ\Ϝwc@@= 83fl^ fT}&kƺtaUȵ#ݱ/y33U5f2_~~uoif>o3.dkA,~r^dm tI剥(ʛYعۊĻc)eV7D~ YQDy_]ߡw4UQ)C[J'*HaDʈznKw%2rΠĠdGX` MUtE+{l'&* uYHg493sX$=Φt͒686ԭY:Y @K(B)0Edgao$&j0eJZ`!n'uUF/<Oo+KWj?չYՔxaԅǶeI}[ya$&;Tt%.n꛵ԛrW7Q֮7w3J72ڛ8cЖJL"ڌF;Z'Եn?FFSWb _OgUYJ-D^e((/@\) +\ 0TWitEΫE#Q͆ Џ̶e dj0a W͹אޜ[5Ujdl|(sbԐR(LXн6=@m1Nvr\z>m=q4rϵYk6};Hy} d2#KːdhVLvu/h۞m2 {&DylkPg.u*t\130tJ\4!(Bg;qVLT @ QX`i1GQQ4etkÈ3i[m!:e=aH˒-L+K=)RHJ(n}ʏ 0{8%vQ'?P+jrbo;n͕ok\ 9_މ|b)LAov;XnD4Wlߨ>jfc[qP.ە8J"6ZM+>bdճ[wJJJUd"Q+gۅ)AHOn(θ$.eфA.!A+X"S| nPn i &\r:!"ȫHطm{:  aI͚끕f0wSazr SH y `M+'=Q_]vLvWD@NdÆm -hEЇWU@z  \Z::RS݈>5Hܶ/: &2rc `g r1NtOk[}(7 ʦ&wL ^̓PC=@>UG(/hne'!àKhr^Ն_<7duB>ԣ.?.ZTѽ-t^Q5ȔD}W}}zk~ٳk{8t4f5d@ʲQr}O_8f_};-17]l7wko :c1 Hh%J,E8tQ0R$*S&5_=bgM2R]g}z?2Yvo׉1#͌}Glc("'vvs>jƖ'jW5%6 iChow{M}=SPDU\k#.',fJbU䘉gDuTvFMI)(Vlĥ5ەV{h V!tWf̮m$^-MAvppob#r3Lt囥g0i7OP^ M2VS9bUYױJ(Heg (w+23e~ٿ='cr<>eӑha%.&ΌFTy(:OlܖEL'w<-|) 8y.3:4&5~o͘-}U .ѪxV*KdDN!iȚˉ 4EC"TM{ a>fypYEd5%dL)Q%RJ ]ݪf})3O Z?q`Ek{՚cfykX& L#>_y `|Ek/vތQfLoM;|ls/u83g_U;9'N~j#ߎD2ýb<'CꩨQ&{n9eSDrVj-jD=T*;ZJĥ!uPf:KHJǙ()]J&d BtxDQ` HH`c` K[i aӏ,f$cf6mua0e=Ճ斵6\˰ATUh8R+Ht~eFmr f+]H]~ME hYjJ(u^p-ݜDza[vV2?2'k?[y{YY.uDek޳{lm^9)G& GWbEBvbmOggSR#IU"LGCICHDP@++'A;>9@BIIACFNUl)pb}ͩts,n69blCO1frg~ 9Ŭ\ !]'Gf|>pLPPvAQ0hV^]⚙L]3aqZPSQ;ˮnS"<>^Wr}b&Ip yYxM#3}㸹~zO ].cvS͋22uc!,ŵ)cL)xe9y[LNWѱu ~D_ށt>#S 3J  ݘBxRb+^4&cq"Gӹ2N\/tӒ o) \WͰ tm@dmwMeglb0eԶŹ c^J$(UsSc2R }1BX\pLyofL?TgN9r0gkO{)7믣mv=Б'˙G,\iQ;ଌ+V-nw,{8WU-=v?FN%4Ub!Wx1]lp o/O|*:WVjrW؍`B/G4#88ڸNW]~QFYoqt&,E*]s(09 pe@x\`(x=>{Cufq^E@"+.^ M͔IfeYW)6,tyμ=>|R{ՍWJ*wMsH/nj?;yT|7u~:{͵[,m7(FaQسKcdkV-g;iig؉ N޺I[٪Mf'4cҔ^YZPz*Q㤉{ޢjsCL"`T.]vUachY[,Z `fFz5fv<*b1xtE#oSvC@ѻw%7cJͫ9Xg߆wB3>m_dȒݷznșhZ%\S.ۀ|ڼ.OnE\W8[{"CoUL}Lձa}paSp4=zL::hw^bjbz/O[Rm(uWF鲺AT\qѲL26+{?O6i2{ra{{0 SRFSxt!@DBhFrcsq&%æ7_W ֙W8zmg $OF> ЫwɝT߽3]L\f<']&3{?ꄽʍV<֙"lJV?U;Ͱ$n==k[Zvus_ sw\4ӶUGkgwM}JDO9qOOo AoG_*~Т$5)rA,'E̳N;qB\@zl/2ZDu' fgWs{ Hՠ7t#aj]y ~mhimVsiP^=I>5l7XbE83zzƪ,Zi43=҃!>3FzYl6uX w >2b Tr5C@`u.a'wlw"̨y* ޝ:wWyt4u;_V(Wz;tgD? Sm=c'&_Wn6K.&\<6tWˊgrɪC s3딪T%vb32 ԙa":iNqR$v15QP5̚<4~d3=7۝5kn6hRzw;ڻ=06L[/.. 0I3H* !ҽ (/ nROϞ6jd$s晚oWeg1<_uv5~7X}y0MʩLn#-Oi=4ޏCcv[ gRQ9P} ?EQ(Ɓ(/9cU5`D% xo quo1k&|14sq{F1 )$@)1#W" h2`tskc<~aᘵ72k+O: 00;v3@@~D3WH$Îp($MgeF\'̕qQF/-nzk6o8oԼ Ji9#^Vw Jҫ]6_Ƒ:%SrxEhd#so]vZ]VIBSWˡ#}—z(@^ Aѻm)>,ôk>2N& Dk5==;ᆮY&TjiJNtPWfuAIS n_r*{LxmR 1CpUɥ^\7b {csZ35ORc'a2:J[rމOOg7NNN_^s*? S=YŦoT'cWnW|*MyS~:onZ-y==UOn:zrT1c֊dv57{#rm bײjY*~("&iEng%PO^YF^yc-3 ޥ) bŸfjRipF(s0)\mX{Hywp,&]<2³Ŧ.' Wfl֛Zt.nX=LHdy`"%ѐ@3^ԦtLwܞV'3!g-JCpnXX!/F[͕u*cS7]ld4 :Ki1Y899X @^w9vܯ-C!CG%޶ݝިʶ[$k:$V)R?-+lIs1+#WU+i6]m J Ÿ~]IfX:ݲl*֬? R3'籿ߏgۍ}mki]y;VglNHy=lt&twB.PH+pqaIirm*S$VmgjNDsf93)rG)gRS)k-ֻ-mf +nJОR ="漊DCoS$<(Q|eƱڋ7Ful6{y1l>'VXlBOpPC_q"ULJ3һ+axZQ߯~-XUUlQU} DyQ&4s(98EJE]ɅOZ\mQsF=\Mg~5[o7OggS"S#I. U(?1+997989@>DC;8?7=?9ACD$G9:<>AEV U۪kzUDN0#f03 _umnr4K5ovl{<_vz}v \>l.|)Q[͞Lv!PdLYwo)1Nv[}}WIޭGm r}պ9]:5Ռ탻Rt1F&7;7,窟:(9jd9饌R e E- ;EHXbO2aD$#û(,n+n5C3u)y618:,7fN1m#.2 u8p+JaCĂX! +X1 033e5W`S6kDfTlגz3|o!Aw o[XQqQmrcJYY~|"A&ӑ}[wY3W黑3{/sQ [Jt^]ޖ۷f-qqPu?/|i_t1dgدhfp[(5 vjE5NgH-Nݽ4w[-LhvkY5 {{2LfvL6Hݚ%\Cs"8nOr0N86Ƀ &%؜:IlDXwPkq' a}k׎ ɺi3g~=IXklb6wysYNd,p)=6r[FI\fAJD}%Wk~\{b]N[j#w`j&,*TuҾU-:R{wb~lڳׅd~]n2ha(/$e"k7׻虊Yr햹fvbO0 \ 4ٙ͘%ƺ7 R ~&Jr"\ΕkzWeXTf 5(lBeLx"D >zs_ܐte]vTno{],e j Kn6󨪢&f@1"Q( Y(Dmol?ߋ{/fn^nt؊mJ̄Jg@ Uk*U||}\}\;""_W\-^{ڶ ^YF5BbT*+ %6~m4͍!WZ.ջ3a^Km|=϶N߶RK-^jB eADo(B62WZЀ736F[u&V8~?[TAvMWOƠøg$ `+= c@)pI)TT'[݌MN )J;szOLL1ڶ.sgS標r.!^r9>Z*2ܓtE_djfnkj{nlwZ;.6ʤOW3 )]1$sdj$By7U6:uN 1~>=N%:w"(@^+5Unb~nz LCir'.w.o[۲z=fw!Ծ& 1JGC "JїKYЛ٨}vrahAr~0{C hV5/ ²k`bv퉤ѹp&6j9h6>LJ+ec˭" y}(Y0M*S2yZ눺ڕGϖ(o~2O7*fps{%!X}"ؓ]?gULwHKeuU?*9Υwr\@9s7v[??e4&Dm|@[)u-rC7g?/(ga^ ȷ nnH}VL3+gyЊ+qSG[5ݸ2<`;pF1`.V'@)OfJ%H!yU4]]˥RSfJ#w^2@]CIk媪Gp]v_fd5]ѫ5jfxk<;W͗n33>w\[Ɉ, iNsߥ.Zsg/L u?Oۓ#\Lc0.*=W׺9IFF}/ca{84GoiƟj TbAQc4$(YSKaJcwF@aZ xy3o&wsjdä!%2 v)L֣Ib nd_a#B|ȅtr$̟y3cf;k\ʤԊ B0V2~%"$S\E'G7/#G01k&+:LָbpΤMǂC"]xZˋՈlNOL_eظqe[2nF=d,< e!<:n%UOSUSK_B vt)ȶ5.6ö)j(xA0I_;~L l+Ln2k4=s$WmQڅݱ̳8W`ID?3XB2:qu'{Pvd%c3.a?Wqx*=6+~~cg'۔xGw+۹LeMygLW9&R(}:syw1vv5ur*T ZJ@-[)ZR}, ϸP*@}P)&dV$GJf.n)ТZ R)g;ܾ*}}Sل) :Ao9g׆an E`hLaCJr݃ꀛ`@~L9c>45:-2d%.Ybj(A] 0&S rw0nɖc\@d#d0 Ц 华>9șۆVD<{XT((ۃl"ܐFZ#a[[4h1?zMs: 3"ѹN|A u`:F J p=Zx(*=_.$: 3ͳn0|U+Q_{뻻m7tֽ Z yhW~ 38nŊ(HJL3Ė}]92"[-Vun//I]ov[wpY.h+S=Zax@EBXwhP53cfS&o}l> .kN\zYseܷv8FW\ ['q+)qm;W1S*ѮъnYdowON|{wr֦*}ٻV.WVߓb0]aoY~+I"øBBʘ@6%`kjuf$ Y ۹"M nAQ0,=K]]AYFap'ۈ4soq>  Fs sP Ь;Z"QmO*.Ixvq͌͘R&i3rfx$#5|wX9>)xn] Ij>%L3yӣ1~96+pї hBَϥ4Ą{g폨%s/ѓ{ړs%+?5tzD*ˉ$Eu^yd]M @ W BʂB5+D PABEd A:b6^x{!-l;IQ.4fwwї88p`mz`tNcakXOB m;H'$qGu0t cK J8wYO*j8Iʌ Ȓ~>e+t,FtmLKƨg tN!Z=BfIA d"HGoT$;=kFi~p}wj[ ڽֻ/NIA\v2Ez7ଫQHp @m*gf6.]q>7?Y_gk .8v&Lsդ8P܍N$px}>. s0լ`~cᲊn 0pt6~+M:r]iM:d@^ k zIՔ23pD{Sr^͓>7\͘ei\kt ţP1PG(وeqs gEJ+ؙ)W}*kNZ x65%1Lf>Ws%JPUDOn& Hi}qv= zTP-f$t%47h4VUpq[+Q܁Fz0j 8F D8@* =$Ro1 HU$V[ J;p# J1V,T1j %6N_q~9t+Y 1ofLKsw =u ^w_7P2vUh0J4< JA;L.whN]__|bockp}2~n#ov#t=oW?RZŖE^ýJgJc?hihtU^ȟ8^2 [ںxs5=`/CAmS𪵉u&ͼNDB{DU}չbO7mcR,tXdj"ʆzMרU>RGncۗyꮪXVw-^ ADb238oi)Ni9r4Wy{ݦ5-%"==ED7:;>=>>;BBEG!8:>FAs9YԬP-\D `潱gJTxUzV7aMKFIҗ מ>YݶN/wIv>6s~Qj#EQud7HR=H%)UC:W$ :2!f_YN.(FuL]e]MaM;:H, FHL~>Wj =gRplmjqY,ve%_nV@r03sԘMhe"ugSvku$?eۡX!Gh(*_6|s#tSUkٹ !"K~ʯ짣<6 9߱1_uqބdy8?LYRs6o5GϻB7Y{kObSJao<}C41!+S9w$ZörbjFc3'mv1L q{CMyrݐA4:޽d'NGcH'i >i#&`Sc@x+@%kF$#Nߓloy7;7/6.>ƒCKVFTf^zH<ݕRɮ۶TN)u{gӕνj꽸ݻX^M^]qoV^=τj7m;k#T"L#D|9(Wh7d#LDn%;#+BsHBNTb)m`$0O:p 8bakz^ b{,o3..gz㭴S%^3^jU02[?5cq `fV OUwFm5Bmۆ`$^k;TwzA$LxBo;B\y7oT~yvçD:_K ]g7(y[ȽvF%#9] U;URD;;gg_mS_$q)UmI\ J=4vi^یtP3e[hk݅J:ɮ(viM1ܝéFgY0[{0D} $1x! J @ "Aw78cw0ЀtĄ2I]l2wB@D#8M=9P٤ icKA^cKWr_aM#]uϝŗteoO~Lm7~|7xʼdg R=N. *Fz^J }33o*3S+}Nn26WW%f%raG[w,?dz_~>}匾ƼMiftsD^T (tOmst5'3V/)fyknMm_UQJ1nqӆ`j_tg(l$hMq+ tR9:iT@3&@ 5 u/s7䟯|>O%BecGjͥY&l\c$e7?mE%:!7ќ^WB]mߝ󼗻foTB"ԉ(-)Jm'LvwM/Df߲O캸7;/ُ'j6GU;7*ahK3 Ȁ6P\w̙ݨ"eReeJls|WN}moVC.Ҏ鼒r '\%=>b4*I1 N\ ˌˌ>Y)G2ўQTSGK0[~w:"-1 KLj(GnicyN@U6d4PjY6 ZuRfH m,'RLa9!`h /cY-z}l3M Ʊke2꒬i9P%HMuu7"jLeʋmF*$Wh<&$d"u]tYN!R\_)\ի>Ioj|S{"w#iY3jׂ*+4@?e"~~0wq=f(kS yL[[O[ E\DbU0IHS݋Eس69(@W$*SBt%1_-?繟"k\6ǜNIE[٘DnǓ>"( U➸(fnVVSRRj9u4Nõv? 9QV`/RTeVOʶVO~Dpӷ)B 0=q$tI37гQFq$:R+t/,Kj% ^,S@@Zz ]Ӌ 6gp `m 3d\3+13o0 L: h@k<@Knj%{!whsAzGRLY_WJncd+ڒd;dr5HPNIeey5#Se#3agvYiO$7VAnf㊒|"4,LF0^q[P[rD݃a?yHt{ lfk-(,9["t9LwMA9T'xɖIL=["mCv0Ԋ!l)" g\J߁4Yz> qp>&h RESoHIkoWy3GRj&QV_v~[㸯:TZ^R;RoM /$ܫZ<*+[)J7'}=G*ev]ŀʬJd'f5ػ c9u]7>nD%zZ,DV$sA(dQy*q]m5S^gUo;2.(B6u!ʝ뛫Dt>:u eR挩t6{8_&_;3GnƃJ'Nj]Lp>쥟 .am5&R;h̊wyqL#kfFIFUvQӱ|7Ḍ}oïkキ c"x|]&PwW؍f6@{o{)[zJ]tus%=33s,ٜv;8½zre RwO{0|/Nmḿ| .Uw+Zp8*r[ҟ[;-xw[^Xo[5(^ؠ X]8y 2{shڈC3&!&HkPq@2{3Ll2,{/\=#ņ_kN\pKFZB LHLo+&v{y3?:}gʶQIUWYVۓqzz{\6QTf~۟ˢnYľ~Ʒة1:?չ9GgLi_q밽MQRS*Z#w,}ڥ}y2=] yw\j81fkP@Z=&\h0Ԡ5 E(7qP8 l c"! va$'Ol )2Kl6ؑ $̨Ly e)cy]WgK\8o*XtrS<+~ySgb6bu@MRkufI=YdmYgυ ٩2ݻ~;"npv<ߘpc,[]}6#K'|ph\]IgrlDjeE3QoݽYn>9^FN W0D2 KwZLmQrSO[1r[v6 2ona c"[f.R1|@%۳P^4kҐ$ fB<N/úg?c kQJ o9nS71_.t6:^d~ Ix #P]N]W?G;8f0.eꀾjWt][sؙiqqGɒ[_Ed;VSk}WFkؚv;=vZgsbBnPwӥ=Kcި>rﭷcɩޜgcJз븽.qej5=SCU!ooWUa~,cuYGDSs@)˓Z)eLzo(:oo}_=㔜mf$ s`"qT" ý~]&&5XC^㫞b]'SVs'0z^϶plRqۗ|:=WN ~Hck_ݞή5ޛ㍩e|>rrI}RRL+tFe/뻜]"fXk8s :M2R#mwzRjf#3G9[Xo.MU[wFnOwmFo|tpV9ZdȆ K%ݘ?7Q QJ]=u[me{c2g%$rW wlv uyG,\?d0iO._ݧw?'jeg' OggS@S#I.,ADBCNBE=:<:F>57;;:;9<8A&>Sz!"yQ^!zbuM[W\pQ-u#RVw]+*ir;խd9QL=.D Gf9(='#r~FfF*!!\)Q^J9 &~ ;É᪛Xa 23J.Sd#5 ⌔ܾ!m=Xihnw$ahBC;`,Hof8ۉ!ٕѣj`VC`AO" R A C:EzR:{KJ (sL%*pwx_8Яϵ2N[qrvRK?UԘd=G]'6EFl] a^,Ľ}̎>Kk]T'ԛ"Gɭ?"KO%]"7\QP9sQ Ҟ!8Jʈ&uДg$g-!! \S?!HtqM­ #!N׀`wmazPCӳ)Ӧh `*0GiV9qaeu{ʣYƼxHtf,od1/TWId!!٭mY!q:Ʋ}e0"z[3/Z;ko;mPml TV:ȊRȃ7i-K9'̈́$fh鶴umIQׇ6X{Zz }0򏐒c_y0of앍YhZ+F۫rIFw~ zpNr&īZޞH0^2̔YBS߼:1@SGyp}O9=ئpM;sG Q+Hl*z;}o:y Ў M)WeyV=V(q3'dXu^gbvVQ%̉}>KVpO)OLemh]g=.4lDg(!xـ]ޙ9~^ 4h=NL":M#/&_nSBf32}lckt԰4s;*Q_4:kjp4td/g,ׅЌ^:Siz|F{l$/n3˸̂ lX ܄N08 }8J&f_~3);Z7ґ0F؃,GW;;=E ӊul?~,;s?3wVg~&lH14i gV@fPPF~L-\[; \qlچe-_/풰&g=X$yg5T Yyxdf@%we L ğM&DyN=$ڽwu?n3Xɘ"dbk+,tKY49P[NE&.jg%jsr;Ҽm%2BQ> :Ea 92׉"&j&V"7"q,m3no6uUZ+gdJXrLDxbǔ5J "9WZJ33Ţ.*V{y#f]l>%7:4ZIGgQS9$L|4nJ+]<{.ת2d۝ Rɻdy`k\N z]-0!L̸/4լaeʶ|KݚZ3ruvE+n[}ZtPMB*GfdM=1~r9껂ٝ7[5Qm31|k-ũM'yzMoaK,7AvrOrEBf @AӌOgaho455ji b qfL")%eI:t>c,HHj ?Ͼ0L}}UzwG=r f˖n{tkrȄRi,$Z_a&1{SwyF6{z2{/ى?EG[٩"ԨYY,U">zÈ-喘xRm#n0%.uKɎ@lLHvIZ$cvQxexlKzUzSo{(Eˊ&eRJȑ go9+zjx؉PW=X ^oSPJpGK^`C~c̸P݄=؏gXv:U)/i6[8x9j5- ;2:J1vkWJxU2+VͽWe|\FDnNQ2dRG<߲ݕ&ة4ܚW'YwֻN량W:A)bI P'(diMCz_x g uq1kD%֛գ{-ӌMm=ۦZڤ|h%Hw(f-Ha#"cW/^( HQTyпa?M8pJ_jlӥ^vnԁeJ˔~_rUC?7+Wkۂ(Gŕ>2vT%B>㒄䮭%G,,ޘEsBk\'j^=2l f:껾͉ZI^;Um>P\ X݌خ~ iߦFOc4{& 2S@\P ̻ QܗN~=~3#t 0[TRZ/Y' w? ɛQJ[kcee5iԡsw=n4YRD^˸ nlh7fl'r7G3h;>T?bHLbvrl>[W.kٲ{M)-nMuFOCpr2JYJzSfH+7|<$,s*eI+&ȭ0jN_"ZSST`n?MjOggS@ T#Ia");:=A>DCJ/;.-@EC4@:9TwJV7k|l4 ]RؔyW[VQ"HJ[ s7sŵloyާ~~(.aHwu02PyS{ӵm{. o;_Tu&މ coIُ9ߺsCGK~qd(TF-xF\n#2kq2Bi:oԉWkz!^IJ(w13zoTU۶u=|^ $,V1ێ7+n$XL4ٝCI]iݲ^OӶh%jZ ŻҲ<+>-Y0."V|'%D;M5ofCp$Cq}̙$ 7F%Ϙ/ԥ֮2fVƬ[嫔ʹA:-;S^}]8YOoFAI,nvҥ(kNT۵ 7*OKs3M!a/(֐Lfi ȑ.::Q FFuVKMWސTV/S#, #(<csLe;j!-k41^yc13rLHSB6mzǶ z Dީ:A*P$uR6O h41j)yY}ٓcocr:+^#?o_< 3T_Ȫ} P M/G\ǜzK3i$S;TUq:~.^"UMNkcBt|tž* uSGCfcM֤{#⻕H͵Ťb[Ij;EAf\L%#7u8y[`uJ|`UB*SIusHl^ ϮǒM ^epSrf4T89@vzT)x],4 pcPD1ܱg/UD}oJV*оQ=>Moʝav{lイidu.?8_ҁ49wZG˞iefNng|ES\,Eڹm=OƆꃾX=T}MaEwaJҋQq'=pHɨ>&nb& &d\\ıОս) ]{%9)bڡbؔ&tsQC.g|V&k ؊}v"O5?tu0i;& 20H`DJܖwf!8D]ß>pUdrƣ03F繌=?}=mU׶-6ۛE3:|KQ>LZOB$kkY+,Q9e+J3*:޹ܳ:j!N\ y)mev?&k#J^%3S$Ll^&P֢f 8><َxt>dvZlz]#Yk;p2I3˴W:0+(Dܛ$#D&^&6WվSg9sg;Xb*MQvrNkBNLXv d!;ȉ~( 0-Cfq\ HK`2^"V&[˄soIf9< .C^]@)6<: 0C7`KwFUD7@̻f)I_+/ϸRLuHapCUu_O%a o܇|{jjZo]DyzϾ^>bg:g6\k{bmoޫl"wjr)L94Tќvil'wscqPɾ) Ke9+3Ѧjt#G=?'7Lђto* C MO`S^sԐ :B B@`$|7œ#KwuEPTAyT?\ i;֖'jW G"KdtN9 P7)$G ..N] *oݨu_p 잹d\ܛ>3l<:Ɇ,ϬtM09_T2.Sjwm-w^ dF&?*{@7 ~sMkC2lMKr\JյoV:MS}hzdx@ڥOv@E_P qhfRe+wytbt%:'q8nzV{YyuvƳ |ϖts\)V+B >ԝCt~Ul^0%XJg[ 7ǐ]f(} }m{?,[xlFr.TV,-IOqy$b2Md:)4,6pHR[ 80spU txPXDB%Ҩsw=@Q EDZU[M 7F.Lͼ23U~zzocAf{C,zcwq \#nޝCuҹe^楋 3<ۿqk=7+MX_čtoG΍^ku_b9a3u,br72\mnjda8렔QM˱RLf{<UfB,s悫bYl|: ~F'<@* GOggS=T#I %-;CD@C@.(*&ADJ=98;>:>>@EKGִaXr0.fW˘{ |iRy"VlӾw:Lt@/(33mv|+=錍? 9Gܷu8.d:d"+H"NC'#US\D{꣡QoG3!LK C0Wv)핑G{]쌛۪v+&{3l9Lg)YG؟'owku1CV5#iG qHI/%x% ƤQ2s#1Lk\V1 иyw ǮY5%d>R6<>0zm{t-7)TOx?][:31Ƙ܍/YŮnLSq w,8Àu[#c#uc}J5mmUVPuW!zD"mebLiŨZ@[E*|OZ)3}kT54uN`bNh"? d;Ɣ2i+?[j\7.a~hkb:Nrv4MdF'~~YD1QfU>y\g^c`bVXKO I7T°w(Q V.6Ø!j4{Fp#eodTH%Z$ZbjXS(b0L}=5/mhL/}}L44F0Mі⁅9\*3 W =0\9 9HHgZ:l`Ш5f&V׊oy잝~;eSlҺ\٭sVBU<;Tp3rY*zwM0[k,=8K=B#ɨԬ[OtZV,"Rh75+\m^5Ѳ L* Y$zi:36,*qc x8Ar@>t,@.Z\DBGe5!zjB.fJ̷)c3c&VMp(]OC>[1?p3ϢOǍrܽc stL}:73;q>[;T*RUcz]Ϻ>"j*qgf x=i5)bvӨtJ??1W'/{ֵM}r R;pPe2K@;,܏락,i,ffl̔Rvp|;־B/|NxYqz-Ln7ίveI|2\Ԩ({6ZyfZQ]lq~++מj)}ud\Wsv*B5rʝj|+6n91_)f!g¥w%V}O)n?Q$7"Q({ >|7s: q[թ`²3%\R.:ID\`"P0p鉾 q- 0,yb?`@p^b]D=!tDwin8_翠|w(3Ǘl*nƼA .}E]`S0 wٸrEQN>3:Ha啙eḘ̇!j,W̪dDӧJrLlT-1sFڬ H J)u FwXRF^/lqo?*i;)MnFG{U/L&>%y3zV9#4 'Sʠƨb+fK_ 'Rdˬ6'MEJ2e4qP;knV۸T5φAFz7*t,)+~i{n@U$UĿ۟:fNj b4{U,=Ȅ˪4 Mo&Zd+ag)Pj򸻼CxK-3m8)KQ2lb?_..1#*.}@Laײ{؃fzRL&UΈkcn 󏕷0# A1 }R~.T)r;ڻghv=&{-Zt$y ]vt@waV-#v.]sReiez_f5sߺތM'5=oپg OCr㿭"(S~B9[׆ާ{;dwRY FYɛ}NMj'fV;ʴ)9UK&ÅFPS5Ѫ|RDACg!R82bVu\t2̞ʉVِH TD^r>/ T-qL2=n!1b[VEt~ZM-`팍o΅TVfa@K]NfI@ $MƳ\akCɌL߾BIzv?c;Zr޳w7\UAm;:MFuiwАm"E5rJ]/u~z\NVsWK"0sj6'+{wTT%AEvv*WaCbܮ. T2|EaĪl+Y聛Un,B aMpT昮 po*^-vG,OggSpT#I}#$>=8CDDEZ@@?D:8;1,0ˢƬ5;kM3 %=P{1Mz@vªqJgZyT*C"-q'7v733ffJEZK N}wgvÚo2zb~;FקuN8xl$Qv"oؘ߈~yea'rb&T=z UygY}"I"*{!7.uҁ2! 3#22SaΝj_~݌ -84mΙ& GFOB$"H ( ĥRD޷'1NU}snu~ 5&F縼q#O#,6] f*(M7@}K'$XZ~uNFwayd:f1/<\b_s0PMLBJm4;TZM;+xYD [ݲvH$I8gWj ہQg>ojzkO. ^:bP9-5suJ΅syyO1B3eY=hkVlN\'3ED[w 3]j܊ $thвĔTzeO#"Rg ;kH&Pɨ-6fNp̾a (B<}~eySVKy]Q8ۄpwZTa;U]u+dr+gOVwyFk|mT悀؊{㦎FsX5 4-"^ u2I.89&7NGje5SjfFf沑ew],)e~1ݚ7~ądW+zʕ3\%n>wQovG;J9۬ MyiZ1YڪbD~=67J3Pک>ۆl6*QMmfFՆ(ݳ7:yoٗ=yfUg0W(]nZlqfFv#:qQyFse&D:$Qvۥ)mwfa=~3& 0_1wG26f`S.{j?׀R~K59艭2KHSpu-0\0'{33j.e5'~6NIz9b,>өXۯ+Lw\\Vv0n{m/+7QVib7Y*,%+cT?p//L\|ZSjb%U^ab}Ӆ8%̺mt=/ӕ|+2sf˽eIƦPڽ`4(5'vxec,kh䀉<2@>;b )Y\:5J7(?F7̔hkE~d$g>H/Ft>[Z}>%ױ[>ڢdηX.';󘉮~uaؚ^opq]ݹu2!wMDC9>RQeRޜ,-f[bҥqF$3j(3Ya\1{kctLFb7S&'No֕cTɾQkˊ 5=Wp.N\hGUS~DSI@;e^m&/?Lci qeڽWx"߷1xcO]+벞Ii~۸+SAû!<•WìPɯuo6M_Έ`.my%2a7&{+fd/ŻxgIoqI7\9B우MwE=թMzq<gfWGƚ V|7 Sӵ^l.rPIɶّK#ܟq󲿱&VdӼ?&"e3tæ{ߌIc8~<`"zw"e-_H'/.}a0(d̬Lۭ^L.8]aݎy%eagKNy:gǒ\監QCf9:RWrlBNS٘}x}Je}fK׹Su^[ 7.LRYԲ]^^{=ɫFryǝ\zuQx>jŏݿ^:+9h\Zp(TkQH^SbZ;76:%j6O ӵVi61 P:eMkb(ީhƄ b, L?e_tt۷>SVJMɿsQw6\w^ao9|kFz߉qAM3muit>+?=Ѹ'b˕y 1S=ΞBY][ժOmZ(zyw9D_Rȼhc1N|V XM~յcPRxE2ܾ;m[ecR[Fr881=> 0/)~{Sc~3"ؼ(7)jڐȰMKsՈju) C۸CF.5VV;XfrhqV 8b&t!Ld DE۝-WLDm[ !,xntט[w۷e H]}XhVr2`WC~Z4G (>btr .AO(*&=[wp7{%I2)Q}{zH6oL$SWq5<~7ho/o3oa{+Flި Ani1n-ٕ~GMSjEgyjlٱl|}oJ1#3_O}st)=BB81e^_ N \Q M+mҠe"O 83"jo[W}C⽽YD 5.p375 0j F@c[_okf%$fl0򂏰ozO1R}-ȧd 2)]b`fOggST#IYE݆-?89=9w6'梨UJ~.ަZm1NqA-)5]kT04Nlf\?E.th7y~Y|Y@$-FNsx7:UCn^70vwZ&#D;v=QWVΐX@DK8;"ﲪvq:.ܿ"mrhu}s:x4] d3}M''\t*-y2Z&;"=*V[[a뎊֬?5W0wYĘz44#*ܹ5ΕyLyr^H]»-:ٲok_ ^"owc 8?ׂTU.Ŋd413Ūol#}mՕڻάV:l^@S-!PC7iWUbfTf1i*\{lijnm][mkt΄h}DK\Mt*E_EJQͩ'!Wβvii֢\na6j]ؑN ~P$΅y(*i\4tNb̿*d lbThZ%ay"x<z"ň2C4vqA\czvWj)6輷MtkLTפrٙq8D*El%MW(;[gU#V*w6=-F[ԳUizG,IEJx#*&̌:B6$uhǪ~~uɿu0^g3vK3ZV![o:"]+N ̜ ssGW57պvRΧrgٻ뒽*KRmV7Z/ZcR(ґ {vA!A!Bb#̓dɄ#9 FD!+,3;aQZw2e6Y `S:3̟tĨgk+V˞! V-9YK`mtw3dfe䭕Wi NGzξu~i+xxmK>VG*߮f)Ms}Y8T*UedTR_Fyql+J` A.gx h ̡X5o TнսWɭ`Y) ..'nGOe=齮ԫ/$&8 / ɀ2z:9sN֞[T䯹nx?aƾgivYB{vݴ\`[_)*[3 c)mb}!!ypԔCvbG?:,y0)_yVԏ=!(I$Z\"k77&/J3JVZ'&{{^ScJĹdWp}DғF[ȝl[S`[ɮ>2;#%ַlre,UܰML`)w^7ٞyl@.›C6,a{~cQ.5ߟnybn>8:t 8X3SP:`0 l,6yˀg4nހ4P7 ebjֻvKw#t<%f}cWl\5oi Թ\5C7[UO=w\i/"LS{~ꓣ\쟒OH'ϸ+of~}ᤩS\];$}vteĦxi\i\mRWƍ6;?Pg8z44_ ]cPcnvR RYoG*s u0 w<׋DgJk:o0l&ce*M-"P@/⋦P$ʯJ+E~޿fjj.TfcE tصMў:[^Fvilz  ޲bUP _Je)#=PI[C47%jFFeJY啭l*'Ȕ SwEy _7t9TX<1ոRG?[m]kd;l~dIS;\Жgm@D]D{ _iJCRL)Iۭ@|yċ,5eg)9.6WKٝ^d;`%Fx NxȖxr ^DŸrTGdbܾWGvu-!?Yq[Q Y-ivAM'Zy(=z|>sH[[?2u8ۦYs^^FKi(zئE[1to'VR/AE}foDT poW.'yAJ±녍5% խ t%Yq$LT1oKBId86gˆ|5Ɲ [) Q(Rnd /sҔ6~޻a^ܲ m98=K0.o{t#w׻9zO2.|j)+[^s/zeaƲ켞L"œ-@3 Qc z ZxՒ(Ϊaq\&vyyٻ ͻꑡZ؆ұ< FdN% fy~y1reWk\F3ec/eQUjrtPW7\*ƧE=#ߡ&y{iDYaɪ;0&=[g=ijmM"Te Q%%@uye'H22>.4sߗ5]B) Y1<9gbVQ@OggST#I13P(!C:79B@EMO+4,>9=5:<<;BF,66<9BA޻lKu\vUv;UHywkY`o ͛D2~sJs1Ou5z5G+e/OF?#@3 ꪈJթh`+""жSݵyvC/p`o(eLWkz9kk*mM5sOK=G`|#~}s1z>Y|;[鲏\Fy„pT$*z5-:~W}Tevw]Sui۶]ݗ}TV:(P| @:Ѽ}o]/*VwL쇞o܂T# i6߹vYX tVP&s= _-cS~q}$>d]~1g!ͳ ;"uK绸9<|xZ6/n:JT:>u1.TtwPdN$b+{cH"dl]YHlo϶5Vs gkp,Bp#KN!6 |0e㉬RUꅲ,_ώˍfcե7\Wn7޻)u3x#xBzgg͝}W疈8*Lƾ^|LC%@;FŐnL-Q}GqӐx)72Bpor -YD"VEn铅qPhՔ2lc0@6n{NLfmȭm:6PylS0TV{lUZ񀔩Kgc)WrAZE 5ǽt_nĶ}3W2+y^Wvm7L,v38yqouyx }vLl-!v|bąric幭nUT:FJ9y9*K\$-'LnQq[˹#X&NhR $H-%,)IJ! P8^Vh!4a[N) $R@Ƽݻ02i3Vh ;``O;ޏ٢X5%V9D€_Ҹ5,;~l!r$$J{ Ӛpkf3.fLV-U0t  _N4\s|-Pɤ yɁ3 IHu);"~ٽ+Yy]r˹e ]cO- zU ji@|jHI,0,L9v/A|&kC7ŋM  qccc1tn3>n'-jj=+۽m3#/Ny bv .j$eyA,CMOj rfꭙLgdJ|(S2U#I}I,Y2n]ՌSgw37b~}Gql8uTj ĠE7cy]l22DEt!$ֵ>s]0a}|4פVY(sKR+|SdRJ Kܥt'OeZ[.n˕e{;WgjO2AKcÇh[HcN:[.*4o`22y>>iAw |I1i| ljߑ+HD!|GAnGU2g-^#T˄҉xqUQߡɼ%vߋJX+:0j2 *i#hGf.N`'^ '"nwmDD bb9\T!cw  * Wg%r[̕St$i!`t%qDƾC> c~-x#Hsax@3gG@_ݷb&k<7ִܼf $3jlT%/Z\B63z$LOen֚{{lC}:HQ r(/wVEP-**X:T1OO]]5]TɊD};E>U^[nf1ѯku %Mu 6+FS m$8JFoiB}qQ] OC9@dtQ4 @<'2MtٮY8c  .)ƀDStJ!ZQVn!U\KvZ8rۃGҐ}\:M|M&RSDN"U~7cI gv}694lfPzM$MzqREnӴMGk^ 33c.~W 2ctEהQ487B󺊕$_p+K/) rwм\őyc1BMgOggSU#IՌ&+9@@?;&?*.H=HH3;<:=>=8@DA@c9B܀qgJ! ~;#* DiRoE˥MHP`u]!p:ƬW0l7K7S-Ri.i_}+vi)C?-D(gnGv[IW#'̄ww,s舵]4!EKfbT]?يm\<+ESU̺M|D}H)y/9 m?7Ԏ2BBelW{c[nOu=g]nOp89V:MQ=R@S !iQ Jn-[]昲2%+, fMfԬ&Ir]|8MƔoy XżRmi٪矚ZlCs&jrUڲvfh~S3M҃"5Byjd ZfuthRUuNإC@X]hc^wwg4JLUt5m;N S&y0{[UdN֚b)JC1?n23V/ܦbGm2n+S|ETxiPUz[2S1vvlJxG8.v.ѵ]26 |LtJ ,T Шread{f,qO!{{ަfkȭi-&Vr$&WTEoVGaݑO$f6V]kۺ]j۶~lꙫUj0FAzOZtN -Zo8xo|ff*{ϦT"Yg?}2{S%;m)59O_'={ }gB#oqI\bm䦔*u d)ʸ31,Tl\n)-CBT7580!t'N-x@MPPv2_?͵}4 s]:M@Ff̄܀a  :и( –m}#?%S/Tvm5M*V.`:)wugi7Ur: T\W2Wr$V޿8bynr|:,p?b3um\zI <䮶nZ@5P;lu|2?J;x@tq^d]{=dF~/a|nBEd,=.c4겐fr[ӦFdAw A_ ج"Ju &!{t6 GS9} k/5# jT1Ogٽ(;xz[<{AqGz` @MQ[!= Z`>=(ɱ`WL eO ޫkQJʴ^/ Om+wd[KK-Jd43y| cu Lw{;vSrgmiZby^n͉Qw׬zJoLX͞.O !/J%jDN岵skԳ^%$Y;,<̞i00$LTr/rs8Lt fE[m%60)ػy# aH;O V$w)SߛCHpfQ!xT2̷׊:[n}US1"Knu[]'tc[:j7NU3uӡO )_~zvZ._&%$Ov8BEpcvYM} 2ws o69)3n SJ)A߅{\ba„ $9s|\aiæm:kڙ7-͆#ZRs\\"*Ym%EL֟,xw13SWK ?ң=.kr=YPgJZW=-E2]d'!&i [Ź? Ь6-,`8Nz_J^W0'qaWTYiyV2㛋Y ]]qERй]6LHQ)[6Dxn2(0@E@M2fKȵmVE^n*eJ 0&[KX@ca^g0-8bYH mHQw:=߁cMsO(bdf)~k,?N߰6}z;O~W:~p7ިQaYQB!hi(~@JuBmcz7&eEaRO~n]*!Yx_PSMiEET+ O@)/cوf6JA_"* BF*ʻ#ưȊH> 9LM^5GH`4+ SwC2#텅z;(dt!5)YQŮ:8_5JżL12mvmVvig5Տ&:i>6sl$eR3:з0it ѻ3Yx^~[h[{yxUF7 |@HE>X-@9]Tqͯ'esOu*s6Rwzv5jsfX"_utqfpNmiN!?v-/5x71*n'o[ܘ”7eo٣]VZEvN\qy޽EMӪ{i\l.>!a)D @>[gŵ`m0ɼUeڭ>Yxfyl Rto\]Og>T_K]ɧ~tuyWo\QGN~S.wKA5}Q:H|RNqϕ13zovwً8uu>Lkq=: rQgn;NVPB[gL!3sz#zHmhc)^_ID1>tU8gU`UVvFh_%5͚j4^jd6iF^#h ڻ^ƚxLeh^;#uj!ƠU"qŽzlD @r(Sj&[o\9y8.h>ϗiNu2m14b^~%+i2𼺧Kٗ_!Giz47z^D휸εިw1I% ݛ6O% nZ4wEO8ػ{RFGq44mu/m9=>f6cr?[oPRyzޛL)rv+9},N0;{;nn\_I*1*S57vW*|:M(kkf]kljY[,[i\6a@ֺ]8jrPхd93_#[a[쯝j3T5M̉O23SRaݕU:vr*sWҽ JoL9<9tLdl MA/Jcb zz$&n:^%a*Ax{Ӣ&C)nI@Υ2w2f2 3쌝t zk 7(ʗ 0ux@C:C$(WSʔ{m<;km:2[=;s}!8g%Mxd}}j앺Q錇)E9M*-̻2,]M 7:}rnm{읳Wz˝7!zFT+7+P'G~ϻbƴoGEʎ9nlLÏ6`XnDfLgpDZ8kViMb6ec6 ZX c >Ȃ7>,MyNDvq4 wɂtRa#|oē&&<fxq-:L¯9>Ԛ[D!xQ}u|O}b՟,!p?&Et/ܷL ^\ X1F KL66%ܷ Fvy{lkx4\IP.j<;0 ګ%|]ܝ6yϻ2/ oі|Fnp7=]&us%r 6A:YSOggSaU#Ir.0$A<::<>m5ؾ;T Jɛi3Mit!9轝c|gRiC1EV5g k_y'1)t8wv`ﶎ*gu~&R֫'@dĩc0?Δ 2iQScd]SJ`ohrD!=Y ,JhdWmZqC3YڳjBTXnIB $?%xTNcW*o.vg(*ynpZ7VKUk:v(Vtq'ϫ)oWi[0d?T˽,QƤ=Z$Xw з =5TKU.jvzc沼nv%_|V0(*t{j3uJE+l(D5J1꧒Ov{ʢwML{om B#k[fmY0ERjnlOOt2nJV˺۫Nb[m/-JiJ-5%ȶ..DY2%VQ.]OSu +ڹl(i$ @лf.+7ۻUX )u) 0^S 8HCz@sv{~U[:3,H/Vc榙!3¾Y:HCq3n32/c;9ӧ2C \E)@ DŤ*)i~h6L$9)Pc.WiwX?ʒ=;l)V?.Y.-5.#}+ud(AJn+>XgY|٫vSnQYq[?ەUw~+ըպ=Q{w~RU_]3yEu԰2+Gu!+7dp.^R[&DYۋrdAZ/->_uCYܬd C)51S%ɓf!CF[t°Mtp!X0vעF \3U٭mo 80= 00w]Z& p3|/LHӚjys>"Z== o )bI8V@,TE,wJwGy3QpЅiTV]Wl>#ϔ̺E]f9)S]xRO^.W▭Dr{ 3 ɆKRu6DTR ޜXD޾ y1,(P{=b+7:љ|uu\.<'㺯R~k~?~:'J5Q t\53Nfg rO 7]w=xTl뱆UuzB؜}H-y攘<9G6"6JԯFMI2|r%t#̕Йamӟ;Gu[}BΔzDiL6 ;نNmFU km,9WѶUm϶W:x %Tjum[B]`ݮ.ZnEAj`؊j7mgD6l+yg*Ձx`pf>uqGyϋlX"ek{5Y{Z|6,,:qVP",|1[Eŧt)W69|kF{4+SY"~S(ƃ/_uܞw&?mܭu޷(dʢ#D'vRg$$AΘ3aΗ>}zh6ߛ B, T6'. LǓ3Æu$ w!V;mk|T6LZb^$ðDF)t,+2`/֯:9Vctkeso.B4-hfb[oޘslRu6`uTZ0vh鸨^S|NƸPL5۶Ƽ׼kMdR5tZ@tV-KܫRO_WW.N P2c6]7t)e}tb +:t7yZ+h(D1E0`^sVkw-}fnڻJcPYSo.0@7C;2Z'"{O tQ6cz45qAVzoU}䤹X[s-MUr;+L mZa+fȻmRC)[kxӞYfL͑6W:{쏋s~ΓUdw<dW2ڥ-T{6Lܬh#>;\dlvdEuP.9,w!+RV^˒E{A B#t$Ƹ&f?>HIJ(#;csJ+` 9bPKRkX3zb{kk tqD4uYJcYsuJ॰;YfMpliNh`p+L*{ )EЂU[ >?2Fu*(qKK+{lIsŤDɛѧ)dhҡ^T_t8!SNsRO:+{?XknJ=0w4) EJ*=3+ͽ{xw⹈iC3XF^)V =/B4WC 9Tj}biv9SUdkCM1 hPg7]biO`eSHJE̴~z[fu9^70J@qJsH-VУ,g ҋW84bH V@Oؓ@Uo'I).NJ&(Jnbo-Fyq=#_Q!EkgIwW6dpw[()MtSڭvIS=3yUύA=}43Uv C\t {7QW[Ĺʷ(*]p+0.z;{!biuܬuw`5S WXAY {]TI?֭6'Ӂd< y3SSee[Ol>)ޯ?yݭyyɔϼSyiL\({yӽɹJ(P ioJQy ߮Yjyud0~.oLۼ&u\,c&ĄUPjQXMIm+#ž<17p|K6GvH,Z1{`q^%nYݑooD(=M<29yJ 1; i sA[4p7Wk)yL qڙ)FLIV=נB T82QD} >/e@ o)+SJ^bO{uAj*=qGF|# ז;D_ջ؏$+/mGRPSs6l~˽{vQ@kd гXf/Φϓz}lNیd)R oX7|d4TȲT<,UٕDž"!H=@D7nfnY|~@J.a8Cvat2p$bIb2X`wy*QIOZ߉Ns?yX덫ҥ8,xNgV$Ϭ\^TE73'?3۞fjnd]qt6 ~gPɨ<S? *tglġ03mm{ei\\db CA581tHe,*YBiwW>o^W̺~px8^Ȯ¨< ;y0$fڻ\vܳ%w\1ʥ{mܩϘB}Jr.}&X*-+`qĩA@ХsVO * KP¾B [-2^%rov]u ,,%앳Z !(x:le9kyh!aα^*Z 헺&ˢ@9(f3:&w D'>|@b* Rƶ\$.@:z.ya$@2y?zx8:N~EMUc=7{FUj Hp>6kHm/U?Չ=P3ܭrttUu2] 0({Dz~rnDtyy,$(0t^ p Hz2UJՍiFl˨ZYӨtĂ%PLJۅ陊NA)etF4p(q{>5F%x-~ @2{x]W@  Ur2,p^9l45$y5ʎо_~Y4%K먏:7187[~Sg\GEJ?k+"u861VsS vK|{6#榮׋HFZE^ܛ}^JU, +.[QVZoq+1:!+)ej : MT.w6̅j3;W _I]W0b1ZybZHzN?fP7d2̗o8ufBn1蘜LVqEy4&@?6F] OKLD::e#rA w^Y_\.䫘dolNzvƦSp罷6zj:H=OJGWDSˏ6j `zjQS&o`K}S&ɶ㽟ښ3m /G/ ^Umd{D%PP1ț8U:7d ýK' 2B~EdӲLl(˜Qu8NWrTe9冰2ybFAn "I1inV$Kd Wn0d4-.Nd"N2,I K?[g1jGJa;ޗ˳ϐZ 3 t# T9։|rCʂ20 EV̔$9)eJVȕk˧Me)mlt>~Se=In v%n\23U3 &zB~mw:'_NN|uG(F)*D8q+H7ឍ^QM*sM6uTV*2C?X R.'";wn I2Fde u" 4 ea\t~7ZK@ .jwsр .@lf4FVz4)eGFF+I͔a$|ëv3[T '\ OggSU#I-&9FB%36ACGAAE($12AAD8;:<<:8DPf3yFu;pm+ \/ xl^Ъ P}e+' \U]C% wu\cQAZm( π"g ]F8f`N> Ms U3WWفt:0`-& L) kw{xlWcɼ?~ z/GxGMo]>2yw2Y*aSkS8ꛓfmEJyb:Si;k 0ܕ:ʑ+]>*B\(Zf%}Ӫ!reچtpgMV:Z%lWv 0StLq(Agm1V  TF7$%$V%ruoff_T f_y6X# c#)$_?ywX~,Y-'|(w%cJD=#MWk+pW9c2TwYivyw#)וi7n*}}w).Bw3MLtۈЕtb}ډ1 sYnulCaAQnV:Ev%)N2&ahbϚ TJ^@p3D_ʍ H0W-cXdzt5O`V"t`T`^&w f[=<ʶ%fom3dNď]ji61 [=o鮅e%_yrctV}ں{WĎ**,].U^5 Bv @-"A$$f+wv3\[{ldowelVLrKr ꊗgߢGZ̿T*euXBTD cyնa{oF*:/\b*3;ƾ^O_P 0!STRxQ(r׷Z]^˴{1mZuˀ\tXcZ-&( "nD|K5]mJe {o׌gͳEgZ||P~^hؒ3Q!T D\wgW7YWOMYY ~׊?uCM~dSrtr<$?^ }.T7hۢNE%:2,& C>7bܬL#R YgXt-9R{vJV6V./[eMjf\̫ITRHA,Hb׳I[D3ۙ 6N,F0~ Bdr"H+9!::HXyNJmmɖfjF-Į[!Mhf D7~;{9u`^ljw EuY ͨ㍙لv컃9 oXo|Cҧ|27wmBe3{Hq E'ւMdG+؞ͷi:˥"S SU1[6:5]:z%$:php4**6{5ӃBM )BEKqL&:JII"k1R?J9  TKKRݨ{q Lkጵ^gD_wߙ22Q:;L1em 5W(efVO߰q#}Yo;fn{o8*8&;S(kt1^8O+-T4Q48ۻ[C݃fM 9n6_ Q؛J%pEH0 &2Ty$Ll`. ΁RK rd z xOTn~O2[)q2Yk }BL00@ ~נ Sh&"8f K$?VXʧ{qE.0sLM2S[˿5%G*ۚc7\߯:p:4۸}sfxS);5m}ߦ1xxFsr%#7,Xݭ"UHDIV&]{'i]TU|ֿˆ!}2cwmZl6aqW ntuMz,FTz4]g>l+\uw.wRwSѷQzgTJ>i㴮(I}x;'?S5\nKM5H(D_XIR")Pi bPq g'Ɏ3tJQ32@Sӊ}UFeRUJѧV+9nbR"#)or"fK !F? T@)'W@*-[ꅺ\W\L|+_?j|0+_-uJd)[O!UjV7>B$$IÓ 'rn|ZbO:rO[F{:J߻~R:Dzd5₉V3j$;4ORb&]wc|l-5Ķ2{p8pBYJhJFĕhar cϒXbU (t#Ѱ[*da`R6owYag[undF1d4wGFl&uD'Sz!!~tDMBX{rY%ͅ|m{#OwuwGl\#WLчʢRjcZLáfFrvrK|mC-{ >;aHG0mivZYSv;%;1v/'MT\3cL)UZ~|Z7HͨN3uƭ)fzó%?c?{<اh>龲ȹ 5];l=YꙍW~ll_绳[2mn^ʍz3ХD(Fy 3w+ Ƹ\E@Vą^D6A/," +I6Z4Y#qh-\RtH+p n<yW0 h@/5^6 -e$&zE*,6ۖ?VE_kZ B' B42R3{Yd?OX#3gvs vMVoFI7*0mֺR7Vtlx⑉y{a  eozv%dY:/| d=6[wC֔0**@@jB &m |KߨRpyl:^G7n ޘ&RTK 0RIFK㫾JLaM\m0:ϏՊtNQX! =ﹼqƈT850eWɘFxNɏz,ʀ[OggS@U#IFBHJ@-B<9ADDN?E6GCBFI6D#)4೬̮8t;+n;_OK=&}Zנ:@Wk*9rs2+`LSj3LZJJ!::QА!IΔrH `BfG  XHapps4U+-,Du8WizV Wc@=O)$ɰfm0Թ@I +LqGX4a> H;buq% ySSf,s/7a8J߼XG6d[_#dTTBfi#͕aݬ{iEV.n}0߬ Ϝq>^TZJޙȧB5"Q묮z.[H]HWcJ⢋UB(6BI{^[A s&K)rT$ aC&#R }U6.PzyA  l4#1\xI;[FR vI0ϩd`3z-D4nEw MԻL)~kϘqOꂧbeKz>6Sw>At93yKмƩ>%"PriV^'vF&II)n{՛g*Qݩ(f!ɳt68Sћѕ(U*ajwvъ3vJ1 3 QK=L) 2_Y#g6Cڠd#, Jfj%5/ dӽ7]*n\ZrEo!8ǒk]~645t.hEȳZhrs4u8(^:PLR#R ! J!l*| ݿߴRA$Xޥ޺3ViN&ej<dt,&F\]h[̼l$*)enC2lDaILt\pDy {z|*IcJ z'1 KVr{zi_T""$dB#@CL#@]1$vuFH>J]G_0dt^ZM/7lmZt _H 2T}g_E¨e_F1Ssgvj6mֶ٘+  j+_ȸwp:oL*5WL:}^զW{o2g|'C]>>kӛhkǾ#qϵ(ywoc+!]b7~6i}9 zo1m&Ò*$k/梲lI|>I׌u"긃A2C I m2N=' _.NSmw;a:0veڷU2Cۍ: LI1Æ*:8,tdI%s 18j#MϽ}o_d1^m!' ܀!V\[/;ƯRoFY/ۏ/x\`x9uL#ј GxXj}꬯d%󈋦R҈;ܥ:.Ħwd5ʑjk;4loT¥Dd|ݙ1qI>ȘƂP̔f5-@eKkYxiiD"wiޥҫŌ8Tf"WsY#myC-l+nywцe8`-i91gyofN_#MxP5&yJJ88q8>ţ% Ӧ9Փ wcᘏ7u'^fyʿW;ߐ6;IZNC7~r-}rƓ2T9l3Bw Ard?3a#wU:UG]BݔgfELIG̅R7SVVu*Лe}I !jv{ETz3՛O=~檕a'F5Rp߽rgwߑjn'vRuΛ.բZYCoT74MP/B@f`w8")[]{.e`:ȋrd٣Pޯ䀦17{;6nl"|{(iƚǰ ` {ZFa&l}1w 1S*CмEL 4fl]]'@ޚ3L&S⻎[~葽2M>=VIdyKǫORJmۮn-c3:tSvw=Q+>_s-؇١ ʍ̍V ]$wr nWyQr9ַ҃I.^>s7,~}k}&wB6;r;VSEy$7{u^=X}#F팋йu&5mmȬm,Y#rn˨lg`q ( c<XTXBnQS! P^R(Qag|]}:7uU%OmIqezlTG}g Bqߗ˷mů楞UO9|*h<)'Q,վUEi@IȎtN5螹V~l"#&m]|}vkdWr|JȲwNFOfYo+e ө>9׷i|zooS}z' ep^QrgFFBC){Qh]9 E3oL89 M d`ry: 3{W9UY;w8z=ێM[mͶ<2D&s%?k<=QTU놄/y1iEd~W^k6ۢp̓9Z}R:a݁@nšPd_`g4.)[x=kt'.C>Njo1Ǡ{;at/qQT!n?~ݸV`'Ž3yɮL'޹h+fft3ȜAp͋}SU2߽3عgv=2FmJŗRKӲWYu}}mZi^[[օ >7pk{.Χ Ӑ Zgr if]7CzVa6Rr.֮ބ`T>JĦ2*;!ђbq2k7.ӷƲ̼2 [ ?w-Ylں`mif__߻ǫr!ȎTl%CE>BFAEHD7,:=8879:@CIC8.[~C,cK/ha6 Fo㈘\na0I&{WM"KEiB''`k'gM]33OMo+tٷ l\+Rl^wZ]kes]K (K=Vz=fJ@P/S8Ȧ[/_jh@e#N c#{uW43*W닛7?Kw{pTT yt!;ru J(Sb)zlB㫶i+X;6Ndll no`{.dh6*m`jA340s"`dg0:O qBb .c|x$I2Se,X:,-sجS7׃yXy6=Ko:&'~WIOUQ =ʕ] ƝP^1[UKT+ɾ4 –"PZ{9$N6]*Z;[i1JDuwhn:!B~.e~m( V-Zjǹ %x|^ߜbtB=H`m_CwM>,SI3;*T! [D 7vOs[k\$ll=礏_hlڲ.u;dK'ow70ģRdžr[^P}{Бk B Pu]gsJx?f_wcof-RD1V㉨3~w'9[=ysq$5iWǑ$9IBgS%]G z9a)qM׼AjX'. ĴU4P6@;hQHl 1 4be#sbLux$׵[3~s{ܿ>YZkUxG?$F %,ɀF4S0e&B-//g'~Wӳ934{u,"uIYDzf0\nP 9ҩd\gdWϚVv RVg ۋآ3g76W\_]~e2Oſ\ EJa+^ۦFu1oT4@46'g @ `[\Ȳ>ud }P&͟::-^w뿜vuYk]2\ *Iy=>m}@7 H_f;gy(hu Kki6y<7< 4Nr0z eϞFUݮZަ52SQbBt6o\mkn(|N XPˬvb%_nU-PUue2)TLNv4ǂq{mgZYdzVz6׍ib4^"Hu .*`ww]8M*,EiެZZM~Y{gV t:W,`W面% * (CSګscSb~ߥ]w[l{U۶M]l*l'R^rA*J0USr@$>n%7oűlN_nuU>.~oeڪQxZ- @Y{ogW:+Wszqyx?Z1=۷3|͓^] WǃjiE/"5 5W!Ӯ&.6Fֈ˶wODtg%nׇ3gooiJZ9UQ<I1 sn:lZc9+DFPlнZhݲܨ5޳{x Ĵda-(z]8 ^K+Boe TZ&PH^23SLE[֠ntZN͢?yg##ާ+f?b"( hE<3FAYӕRZqpDw-E!~Ês/vލ[*g':dq䫼1gv\܄}ۋ9ػNh@}Sɽ]4moqP pOu6nV+;=ʹ^S Z-Y3ū `K;EPa~̆V+RYoM0,?:]!o4eA$ `כ)uAJ,u C]?$Uu:Qg|krA9Gi͗T"6* /#2 J]~.ɍRoX; [Da\X;,T#oGd)oXl]&‘iӞ>*1k[KWk͠Fm,@kHǧ^PCYNt['~p^Vp3lz@y?)RC0690V,Щ J_gG"(( T`n̛SJW{C]\kݰ/^T[7q>X?q ߺ~m{wQ67 WJwD]TwW4N˺53;^9ջոNL[wiZ\L{=ng)Sɻ+u~o&lq ϻʮuVTm.:MK=/}5Y[Oro d̖r3؛vM=o}y<ԭI TAN(\ոTpqk!DBg 5 S& ;x{$ 7.[^/Qee5_t:u2i{jh&>D" 0~5tJSV%};˨j$N5f`sQ)j,yB%T)?+nLĽi=Yx0ZF=>%E(24MP$|R)BCzXl7$ +>5+:Joua?S#oVI{a[rso+oQ^KDZwi!&*4k QDΘ^+fu4rͶLJa4\P]EY/,?QYLYolS]{oΛ {۳bu6 :@ЗN ^dfl",e|nh~>Z۶EnrbTV+%!Fd'@v]SE-GW,OF=:UxkMAzBJ^fX/\R;N.Owvr4ҰflR%op')NRO΁~_mxJ~3KV~.S\-Wn\G{4R5T ;W^ ȈсG-TtIYoB=asZq =RV mNgT-&>H=Q;~߽\}r}&9N1"+;ݳ]>>A11 @8A:A===DJ̝pj,CaB=qi-eɜyodkgQԿeRj0K#04v*r?f_?1`,{ߴL[ ) 8ʡR'nV S)eLr]X^X%q,V" A(U;_dT'J]Voqu25@X\ ]1O}[C[ inyrɓu_"k dԛ1Lk{YlmCB\D$=X-?jcU\zmGJxq]j{mU]Xo3`1 r+.N7ɽrZ#,;kY*zFqb*ݻSMub7&_ߵzd 1v-*տDz:`JZTwƖ^eսeᘮ /7cr afTRQ@Wxw޲7i\ǣIfL)Vpzk}ܔ3_Oj|zY.iS-z랸|L}?\V":/yo-G{ZttqmvZ<%CQV&6TNvSO~^xwÿ!v2_f6FvDGNLe,CioX*B:RqqYib\;}w+T %`ٶyn:7wfR90H)3;lV10 [U &Il~GDH>~WE #P{Dc^tN63t$(dO,*XyWD1-rS2Oq:wQ: ޙ-d,JH\pXBn 8_Kuk~j=n].ڻkz̍g3D&2 cb7NBTHSjJYD,+Dbg׳<&ޮ1r4xS][EQMp?t)+݅JLuڶvlU 3].ȅnrA'Ͽ~*aFIG fR.YH]SommguV4{Z ];,٤&V5FG)Q-KŹw=mbj,fRkmZ[-<$PO}AГ=w/n`L ?UX%ЮK`#3~ahYLx9K_ǑkT-ͽMJէפhEz(q۬dRcsok"كVuePY{qQ(n"-ɋ vqUKd^\uFyVB%ېO]͈ㄭrՉ%RWI ǀM{f>kͳˊ mk͇;,=gnvwkrWF0 + V~AC,pt{Y_=lrww><"ξuV"!ۓ)KY>B(e0=0.a8\+3VJ:q{ȉ,\0>N!tUN! X;!` &HuqAgNh'b)Y^/ P/3;0ۂQ,i`f0nePũ}0°^-  s^ ! }A5H'{͂73$^1o^bn\UtS겮dn,ަnOՕIߪ ћ*_#Sw9z#n:"nu)3XNqmur)BgoUcA)!J= s٥8b]d\1 pő r =B; k\ ˈ䥪k[&[,#؃FKnҰ?ZעqְLbM sdjWyA' )H{ẹ1yRUe#oql rVsٻ]e~uA: I^KG|{߁Ov09ɦNO$&\8y+릢9}g.]'m`@` $]k~d+tn"j[1=om{FN(;idK| 1WJB5J#Ng{NtE6s/Ͻ `m-M[%u1}a[S㛶[2RLO{zSq /0YCRU}#,煍ؼmjMP{N4u]rb6iR\JAn2 "r'RrHdY+6{ G$ #Mk( (`xٗ*Z4.OggSV#Ii"@9:;??45JDF>5<+4>:>EI WZVJ"bK ӻzxchboM ;) !DTã 5 v8XMOH4 ]vp \5jLI* [#Wc_,5i6{r~]UnZRd$Zzfwd?3~5jjfJ݋jΝ+W;tyk6͋O^Enjmy廾.ڠ^ FFvY[ fP ˜ZSS$ #ښ+mx DVRdN,2`BE# hK ü0;b4`wD/Lkms^k3a ZTJ#]12ad(j|*U;qS|Z2>n_jg՛K{6^l%%R2e]ťO&.s3ٝU}"Z{h!KzSvdA"Tg#v\8G׻.wzjߙX֋/t^YW"JC>T*i^-EeEgKM]7Vr{kzݵyVj MKIy*MzB\,$JS8i`5%;/~,q'xq̌* _J 6۴Y[ߺ6Y)6\ϲAb1S:϶K%؍K [(.nFwCJ>Īm ]cZ*~Iۊ"0q3mu]#n{yCq\Csz@v]1}n .⦺vy=:Xy2`;oo@k֥4iBh63SQ~`lb+MgCRR;`aDT<xLSeVV8O> %7 %'ǜ]W"t}Ӌٗ6Ǽ3:ݽd|߲~R|Taک&\S /^\}*nu O)ko>33m;%.]qbMh*ttp\okշS@n}ryִSziX0uBPDl xB6 yRⱼE?qb8 ɋHb=ƻI;\3f̢?@nmrơ34xxþ栾r|}.~IֺT!嚳i;gꔦϭT+/nh>3W= +ϚJ7tS7T{<ݫO ~zs'sw_dW<[E5ںVʃ3-l׽iJЕ?1z1m\W'Ҭ7f;,?av5\8g(7dfHz|Rq9Dݐ E4CQ Ęfc}gTaM%d2q뱣Hd_< A&M܌ZB}*?DZoԚi C<֊{[6|$ӢҩdܙD~w}(:6n Qy9ʰ -;ol6h"hTʝb*??f%R1JLձ#rZzzj7ڴ۴Ze60]RZ\),Vd'n ^lLUheU|or}YLl|iJo&վ:%c>Q_}l֒1hsPf囫UL؉B;OY٨by_OjWyutCF0>“+eDu6݋.rw0I&~E_SpT:g (9$n'3ׂ&)87i c.l(SS [m6L Yt`ܜ# >Zr%$/{"=AY\3S画^he"JlU];y`鳦qYCΛjjGT9ObTw#vJ)Vݨ ܆xe?xn3^{ޑW`6Z nƆfF1- 0ȶ0 ':X|ی\cCuSFZMk;I6&zXexP3>T=54^P4&D>M;7bvrxcU@9>,i/BjՕt d ӾW9fLeZy|ޞuS/Ek޻`x].TbgJѹѪ[A}%G78ԫ(<>7!տ2_7>בRR@wlK%w U6{q FϨ#MzKI媮3{fm( MYb7:~z:!#.7@1K43e1 b;a Y\^ 62 )>ӟ"\}( b쏶@brvg/]̔W6yYd<+}{ݍ/ ]?lj[Ծj|'mxS9%.%t$}vpz)ݽٙ,fΥ ө3;Zr9nns[Wsrc"*z|~+UYqbQ$~hV%3uYG5rN3J] >hScԬH)tF8J )_^OggSV#Id%?%8:<9:<:BBBR&6;;8DBBHC5SCBCL&H,9JpkU.vitz2Rlt(Z 7/3Ѧn &P`#,:PYY^oF_/)}JV<%5. h|l$D Y:?_Z%W~E?_δA<^s!2kE_@  TU1Vֹ̋rJ68O{$ 1]!,HؚB} cmo"UTBoeUJUK4n&b]\YJ& ufF(F0o4rJsT R,S1=cuΩM ȇ*0Zt_`,:i-">FKD<-™@猉܂c,c5`kZG@62c4daƵAcfOkӉ~`U>Nml hK4]Ok~q"f̔{/7̧E牿b^sc(q(^sұk:m?D;1\cmJYw<:uw2Pr]opuŮT/K9V\]ɈV:CUrC&n+ ȈJrVjן죤)&gL*l"> %6M8"f6q"i(,uN!~ gp`c!Xƶ0JK,^N^iw@vyÈ^%D FXi# ^](3SJ/vͽlO]/&3oj\e~;޹9~İDžذ}J>n3LywtIDiG"T!9QTI]ǾvWuչܘJej TҎ8dĬHJ3O$] Df.rx3:]WʻcX],ת`vEr2/Brd7Ƴ:Ӓ,Sms@`Yソw6V&f7dbm9R 7D46K8 #~xSO+BcRvEzPcؕ3/UrtSl8)R<%¢hrqK@{bqӋviŌ\ijuwcKLD\)AZbC䒦В q`>\۷s[}b3u36T6dlS2"հv+% O~>nj1e1,So卽g{{cm"KRdBr9؄krW2.-n-f*JTTXv{%QsqӳM-ur$U`Ffﺳyu^=7}u9J=f@L)]N+/h~pT꙳1[E׳Q;ZX1{77Mjg 2nKL+- i'e{r,#*Ԡf iR#^ʇ8y(53%G`ϷqlIF9=_OaejpA$IE]ȘWŘgFoسuUʪ(.&,J ~\٪9ؘvaG2[rH>9^ѠKKJ~VE++ꊬZiZISMə*MF>Q*.Lnr}n+5bl {FPtۃDd`u$c^7QTXt6H'IzҊW yl @l{#46&1Q%k.@$o/1$2eY{QӹYm0Nv֧:Utm/`r-s#{|b>ǬYf.w9#b|gT7zމ2J{pJΥy0H$x]]7+R؟qmN%n.RLpmWcjn M*0} m=[Ӣcͽ{^k32jע+UMb | _7VN{B%6+j43_0 h6`xe@.*覡50-7~"<+bᖅ$r '/ >sEk̫L rvV<ޏZ'+Ozg~KUg6.~ ]l@y_3q];u뽛Zi&w.2'2e%jLʥYdfuug":_;7a9blr溧[{qg.nK|sy-i?M 2qsoK2W^OuFRv{zveus Vc^l_o\XM7ۯhRZ{72S{ e GO g+֝0 =T'dhE?XD)d}Lgn2͌Y)3v\Y:ܘt\>a/NoEß7gh?o/$v/u~ɞ ϗv T<7 ^T«yG5r0]#7Nr;FY9Ymj=owV n*!=A~mnao䮹CZsP:':ȺͭpnmfMMk7َ7`Ʊ^>Pc[`1mthgb{Qifsu. {WN\ptƢ׉J*.V%T7x]+43Y,]f?{ﭰmiVx{st2:$誠"PΰdNwt)J͝yo$Í:/[z]0$רɃb:ʔ*A@Tn HKtqIM%ʪo^hîz{8S |̽/9~O*};3Տ-U4yyUl(Mܽ)VO?O:LyuyFפ-4tk7[&.(GOzwk7{W~ږsBu5fLqyU$>&4݆YYgu63VOggSV#I?(K+/49<@GBB??ACMK?+)>8;;<;;C>B{Fs;M&][i4lEwdX eAKwmv,C(5* r.^6cRjHyKյY9N@hz7o`Qʬ­V |ΟG%o5(~ڤZh׫0Q/B+-;$Y]?^iVkɭڋr5>1ݳrUETTէBCHxÈmrlcjNJ~^C,&2ƹ{dewl є;:NƲ>+3k &־ݠLWS 3B R\^D2rQj:͐y#/a`^+Mᯪuoz »fP^+rv[,'nJ{ʞR @1u\Igym׏7=M$N{_ {OG7Β*TCێKJv>iQgޣVkɬT+_Gɲ3MI ^JR0 '[RJpT-trߨqw> Mv}:f);rDU;ø>{ 1f3Wo>\`vZ.Tm Ȳk6}Oa ^pAH֍ {` iN* &\ TfJY)eoZ6}%TU˨ҏ7}oy"9])KG{hwǾ,!g ޽Wծ̢U^4wq[&.JWu6irS'f`ǹ>J,@Fy9iC:/.V}d5ۯKo\CDNLY*o-|~wi{\. i1yM Q V sP rJ55*KۮmzI7jH~~>kFݩof3 [T)ۙ{~O~/*ץVf')Z)Y]tnQ Ny;G%zf!md}T/wMsӠL>v WRvt6o`.D ZpÜZ-}c*1CtҴmv \z9QK3T\;p=ʦb?bƫŤaM܅ͥ j7*`tWr| u2ԱgGt}g$mU/΅r`m[l_t2*)YQ.T%NE=|L *Tl2qQ}66u6"B"LpXJeÖ-FiS3gl>YߣW ߫%{yZf-y rxd"u$vsdJsz'%Vv acz7cxj 43im۶m*m~6>\\bZdhA)@9K68W{tsW_ٶM/Nw?{*S7&|tŹG6IpV{ѮtwӑȕA48}]yͫ{U(g+|Cbhxl&vO""LXmeHc$1ɲtZ[ғٕSe Ď@dy![fA[eEIm3XIBŶ}-m5qj*~̊ :1vji~D.wz`L'Kr'>SzVeeV5YI6BAlфbQs*T=W5EHF&=${ޖݵ{Ulumd!0=7V9i9fM(UU3{WmpsȐֶ~o)o[<1(Zj|7SEi`5]KzƻX73S0SZ3N:xg6 YhW']bӽ89c-b1qөud%)'b4@]3VCP)V2Uhwߺ ou}]ܭ;MUGe+qוRvssU g|V.3uLqM!u1(ƾ#7U[YB\-E&/_ʂ$M$9bBCRB/gR8]-n7 .ꎆ[Mmՙ<: qӥdg{%6^ê1tp{2>kKC&~FB+˿?ma}_[s>H׿߃ɋw߾>Ҟ}8Er%7ЍҌIv-vw ^ra7깍rm3¶ԥ@Ӂ*ѡ}BmREGRO*ѫks]tr@2T;pJAgrBqiky8FQyuT&s$$H{"C:ZKm܀i-Z5,{/ % @k73E7^yQ[eXQTr䕩 HT9a+ [H X)ՐWLCN.; +qmn@$~"Wʡ߶˳ ^4qzoqnicqyl7A k" 2 (RcPPʉ G8S4: ]LZ{}`LiÆۂrvӖK9{@i6Q=HtCxb1Mj+Sj[1覝&\BOQ].!>䥅"p͌dDX6nstle9g˪2a$:=;R}\/2O^C68Fʍk5M ^\\itEM%gn6*s6离τޮɁXHjG iO;.-̖rzx5]l AKmS+g le%>W?> yYBkLݩ3gql9r=ۼȞKd6+q3L9gK; s:vcHh2o\:onkcqM.2IЉW]H1XаˌM Iu>o:U+]ٍ~ip6F+BdزE^.,TY]J77 ˊVjdzg2.f5on`Z ejoe%xt_QǽM[l_w|b"4SU%~t"2/uCVR[y9aDf۷{zMiTNf k[MЙh--*FJݕSGV?[eYT % # 3 oL;E"WzUtTQ\ޛ7 Jn# y9. IUDS{]aHbd=nUkak۶MZF)et!̿"Y$=5Z|>{ﵷv[3:ekwd3rK"N "ܻ<1^w}ULf)U[}o'~g,VyҜٛ8=kSrTtY&@k4 ӣ ˥=Ir.+tY/j<=+ch+D-̈́A|N 8t#ΖƲ@뱶Ne-dlOOggSW#Iq*:<;<9;;CDF'@98;?CFGBM0<2:998:=<:EAi>Ua)X  =kK0`.0xd4z&3pC51ؐ* 8,;y%0- 8opM5Owqg]lrb1{]֧@N9fuS0u* z@S]ԼJ\l,ez"Be^Vm^29TLK&J6B"47X5NE?/1ڴ)(y-ޘ1c/ZkKNbS{FGZAz@Xr\/KJuifPhy8z;(B9?v4sxIQeUBVw@5eZ_HP9iKjhAyz-`L~Mm ߊHkRSޫ Oj@׌Sk$|-Ӣ5I5fU[nxi5^ezMVԙ0$É<$] Sؒ:3Yy^w w|U+f K*تP&9"7L'stvꄋ"T#LdOlK?-'ES:p_j&kZ4ə=YO'Z\ F(l'P%h̏HiVւďW/22#;˜Y [6*$P9HTBZEx`؎>"ělL*336iY ϊohNS>&։os\!]s1qWߐw8:%iTjݔ(Z_[΍Sk;F_ŚiWum u\6pǿ T2%he/fiItT+띒?2m萋Y:Gl\ % +V$L(ShR+&BgT gkު7ۧUfxd6[6=ӷRG2gz֤W]|5^tM)FWuymȽEG1>;5N) 1HS^ t*~6YrçFEu }"ꪁRbVׅҦZ pP{0HHsc=*NlgmuTvJJ膨b3!y}`@ߘk<&Mh[`M@ɒYӟi}FϾ ]I~6F/ԭ96^ &6vfU  ϲk7do$kFRSJU~}8^#kmmbF$o僠Qݠ<:V)Go<'#T*e[rOo_=V+5ܦpFHY{ҴyUc0|q`#E1LSH \Ƞ"+ rf pqOb TMPGu;oaKmZ:eaטݙ/;mU .ņgK-ʯc_p$pBo:: -(m;cȬzвu~Ȓp8U=b#ҺՀVG0 }{chg =65,=g*$rN rf8H&omH@2- I_0;;-9p8[4w * "''$u? 7$Ueǟ啷 S mkCPTzsg9}pz\D[sL~x(]=b ,S+~dGglQzfgTY*N9L\{Jۻ@|Ey+qa]'q;{9mʖ3l'9qZ6ژBUZM 7AZ+7)6.ˆ.0m,KΕҳ$m,ARVnEMuR6ӳv8dcZLlLXҫ p 6%TTC[*0.2"NuS-oL&c[ICI8o#p^0JzSB"ro]ϰH'mw 8EF1s0\DϖDthl$a|=Z{[ *)[JcެL|F˸l@7`!#r]r0Nuuyr~Ȗ2qꎓyr@ruHԉ3p!A@ox|E}MU}ܞ{^x6rB-f@űoLʧdp-o."nsFT.J}+2ݳQ[ y뱔SBꉃA@/0,5- rP*_ͻC68"vy75&otZ<vC}?J`ܺiŒ"WCf#лmo.M%nf{p|: IJ:~ 5TK1cw=џŦ1^ٽs:OggSEW#I q%22>AG<''9FACKBC.3-G==;==<9C^0dK]$dcv?̔Ĕe}v'O+n3~mdsX? WmoxM26fc7F77g )c tHyCl[E&q4-{b=q]MDY"wޠMv`[ɳS*&/m╎7qFxj_:H^3_8#x^G!^tJ*>|0;hմfj2(o؝KتLn\_s2^#+GO-ӹ.{Q,pQ@J_AƘ@h"T 䳋@X74h:BJRGCy3=4liZ֒Gݳ[vkLQq l^ȦO/̝Уxɿ?CY}nCwۋ}XoXz{\Jʚ#+.NPЇxc(97o31ڼpP6ǨgIog?'@l:xzqdמ*%AAD{-+]ܮ;zkkv/ؽ lV":46T7 lw߻l\ kϧ1/v-93t?+Ɗۃ-6ѓ ss-u P7oӓBExMЌr> p*e߾Jܾ3꽱q]1\hTd%Dh5wiBYi|d=T,PSU5 ]#PLȋ;Ųl4/ҁn "C\Y7`-1u LN@VK 5[ԩyɌRUVf}X;\wY숵9[}%Vrxtkyz FIcZ CvSll*|7' :fU&R9JɨFSf.[pVdbAL>\s1MT2[ceӹR(ᖼ4 5ÞxX ϊ5]MaHK~  \ I \ruVQ}=cpMpȄB[BZLD&pHHl,Xes6U^LLW`tqs;4ȓ닛Ӻeۗ];edE̅Hu7L5xF0ަ$&T]T?Y= !~Ҩ+g*V8]teePO28 s]=/瓮ir?9wA8&OVtaNQ^pcrDe7,V,vqbv );0lbP&9f& g/{ލy+4lVyW2܋Q~$?ܖTQ|ɐyes_E;yk#7D2 0!q-3Ȧ?g~},4xz~߽3\gռFUU6m۪ T GѠZA)XK}  7hkv{ឳ }I\/ y`f{䀰Y׻^/qZQc*@id3q;VWbo] ==n|͑iX%cWZ!Č,)Ur\|E76J5Kb1#6#76c aJc#Moi2degnu]t[ȉ$a 2:VMRTeYr\mq&NOhd*a_)+I%DMMƱtq*l…kj=+L0@p1^{u׽rw pQ+MiL9=63Y@mUQΪH MɞY+cKvOj0ԛ2e6 f?·9iTF >%CK9@eUu_΋ۭDuOԎRUm]]LUfvߦ-]jZThY(lHWr(OYr T&vghI *(p99!ZR x &r")R&L$:)„Y ri5+BelbƄp)A;k )zQ&:-BjRad @_;)~s϶`^W2/7J)[YhJu{a㞺?MkjWYLsΔ{LK<)4Pb)}9:j{&96pW*Ǎ>6wFC}Kxņ q@PSZ`vVr[` ŭʮ8Drn *[8X`,|K⽅s0p!,|o 0U#?;`QX^!1ps[ Π4 df)N"*\2~JB/~l.̿qV/tORTK 17cs>D9—/~䵅/Z\x7d܊(֛#2eTY.Q.a:dhnkUxXyu1̈'[wuXϔSd9 %T*d46Ʋ&M$YgKBu+,!۶1>7h6 +nQPψ'ջEkݫd&C`oQtB9#ɠJY5 1`זN:%U }In]&-VOggS@pW#Irr%FID;8:>@8;CBAJ+5<9CBCCT@INPtʸbWPd(Y!G)81,T.+.J[Qyfwz_k{k7gh$2"ֺR*U*).·lL/;^ӣfhm{{=pV7Vr+f,KLٓV,@ڕPdiضu+ȻIfjʔT[> 0{xr,M͋Z75Ͽ,T ZTPi"#]o( ~ޝ3-;M·Pb7׳c-TNEQT#dS.Ō ,r^Tc] ّLJg!%2q卜nQLdֆ42"5a/ +RH+N VtAb!b]: HK 0"O4]s4g(v4_>̟QFE)FE12XjP'@޳[f֫QrcblsҪA5sO@kJX oUj-rO::+}Q|*(3;sS6y%kP ˤm$uZZ$ M m1T%7J*~&M5Zkr3t4DRe PdrL"t_-0Vg|GT*Qb*3q?7~ۨdJ!beE( g ;tRB(ӵ)ՉΖs5;_55 \+XPxEDE0テG]ٗad',c6X0e ,01߆J< NdU# ciWTBݗi9Zm1U&znMΕ#~`Xﻯ~Tk2YHUb5닺c{ /g;7z{_qw! |gbL,~8ڭ_XE u9vfa7{KlCRq39@uq{AB,_="D0ʜ~3Z=og-{јzR2Z EnaNlT yvUH i$rޫc(Btdn{SeҳwjIr4sI'tAumv?-/k;%\MTo\H8%"OB[3N yK.Qr_L\UEn0( ȴATd:qd 5JEN.w#+R斺EDG+]m5\Z5J ʕvP 0܆b`QSSOH~30+y7D~LEj*58E *9}kQ4{IM)3e~kE'Xe牥[xwX7ה.f(1Qw鎬ӋhuydNbu_x8kV2U~)/:) N"]s~m厄}V60!n*k:Ar$RxJI1naԙ$ϲd<].$B.3fb8d8'4`nk 2p9`pGڍ5DI poC}f_70Y䣂DBX\>Ga&L23JR/?86O݋纬n[`O7=ֲ>˦ǗϢ -F.^vwήhkrS>-:Lϑ ;ddeVy HleM 9դ}C]h6%PdB"7sB)AqߠGR ;Ԡ`/[@FHEXXUB|KR"҆cyx6u&9iÜ~h"vs-ƈT(n~R]bH..,BcGuTZ% 6d-N\ߦ4 Đ `)>hCL>V-{f=x΋Z6dD,Zr,E ?_^9I:0˴Ϋwb_®badcκ[s=[D^HGy}. "ƛ>;BKlvW!̶al|R_ ih@\ZO/WIB?A-Dxo\UmNo=|2n,-[gɌ@NG=O*@"(|r;՘P4o onʹҜ /&/1?5O)M^>Xx/?$ďZ=;5RVuufv7X|լ.&⢳Pv Rv;uǧc;]^ٞ./Jf*f;mFmӪ+nT9};־uKg8ѷ}r*-^(E_Lup9 vs tjQ`s'Ke<o-#o` *4ozC lÂ| e|.&P&"t[%];]O]BeTIJ]mhY qiXV:[{^{yuLd8݉')7ݝ,yOtʽS-[\:M.J]ۋ͡TqٔWnsrQ,;{mm2ߺmCv'X}4F+̤meV&.NuÈ0g'+A JGL9ECE6jia[1L8E  jJ6[sXX9?7}530=t m06M@:p@^:bPI (Ejy ~Ms{xvhBǁx`7LJ~oz?%':}i|ݸ럹cScg|jnj(Þo= k+/9BF\U}L_rty@DFψ[_WWCmz;(^Qy;.R )ۖVij*YJgVLf,8ۢPL)oaq,FUr:QyO$wgk2mYI+RkM`֡X${Y M՛ 1PP4pñ "cqIHo/ɸgd_ (j^)Kl2{'Y}?$~[ҿ]Qߗ ̼z|)z7d[y@2Fu}l#{2{oF.7;a:ޤCV 5 1$=i 7:3-P(UUK}l eLelOĦb*-RnvoƔ?:j7jNT`jv3QM]3'wl|L9d룴fjg>ʧLN4[L8OdSһW0ިmOwp3=df$IZ!pԢ+}-3JqC=&^ǣ>WBOggSW#I $EGPK94"><;7@KED??CKA,#B:9tasWlm_6 ,+Xs$0͚1OLH3#XpQbw2c 2/ ~tZvS/һͱ<"{O]70ؤf=]RfY߮-oΙ[Kְ=Օ>{آɂO_튼6eNzFH'YMV}m 0"cH٬WzGgCS5ϯN^Lʼn<˫j^! hdjK-,[b mhk3? oF\":^)f*6 ' 2kǍ^q͓ S97̼QL~.z87zp6W [~b8I2#613|xJ=I.]#n[([?߬N>9%cG0u-?{5!h-ʎdf0W &ٵU;'a攍HâtqabF3kUHU4Y0;U>l|af{Z4#XŭAƆIUkE,Dϛf$(@Y, /\^%*nP` 4$s%+e˙ϗ=IOhϜIWPS:>ԙ&]@ʞ,e?I?})tw3QbܚrdPEn㦷xy8 *ÎT(PvO;S~8ҀF*iw[:@T1 1pDEi_gԎ|uaP%Pt0 QGB5, 7 jsxczLvtSʏc_/]ن2ϒj!HQ|~+Jxwk遭 ,8 dWFXq4 sl' "A(:tx>xc~G2.]kQj̢+oW㍖\ Oy;Oɢc}3{^}VVc /l@!|Ka ޻e,2Vt|*oJRN2VT^z䆑!nQz'cy2Su\\W|]{dS"(X5Z,Af۬S W 57\"JNG|sRJ;.xio|{\+veSzY='0IuAw͍;s\nИfdI p\)\ܼ DT}ZW(U]\ܲأsni,(GhPӮU:JҴ|{J=?xMo7ܵ7ZQ 8ǺVnp3{v7 =v5_oi;-[خkLi[i-:O'ВXm&Tf9/^ie}ۺK嗢lB٦T$wE ?kpzΌf4ʇP&=(oٮle_NKrUpy&9EĹ\e5ỵ[ucvˣ|I\>**:kS8*jQ@WيbrDiPt77t%]6mnƖjmhPI Ji c$hRUas` c-,q]R\n5ZyZ#i2MRl+[(ACW'fW>oׯî2$QΖUIzhoN+!/%^˞”J'3# -p:WR #cJ; ґkuj[ue+{mFLOD SX~;(" `eFʠReq*PֻV IzuڪbD)H4Vjr)H] `W^^Վϋmy3U({߿Vasݸ0#7?>2|O7~jk #[&K^C"!ݣfoQ+ʣV+}ZQRRg\*L[Q;7yOe˧G_?o-ΙBZ 7ѽbR\yViۦi]n]t1R7DEMeTX ٱF@!,{_XY :cKihjOrh&4jșA&h[C C?Qs˂t۞  ޫC>gaYTagFJKhyo$3I) u.΁Sq1\ _tpx%D#^#|K>4D< enPQR”;+wK{7=7dÛjuqqա (z}1MP!i’lOSr!'Yǘm 3K%66^k-M,j={nѬ5Nˆ^h HVx~B-ϑr~GeM<@ZTE"%`M7e*ml}zKYz0;r"Ij~WAn3Lyu52U6;(-3< I Q*TB(eI5P-qq:{^$ *R|cƢ@fr8բTT7t3νœ3&[=zhϣsHU;x^n{m=o< h.5`߻Z/],Ona@e`À)`z d`i "]"9Q]|ubttnuo7ךW l"!T3ugh8fqZW.E~Mwn7콹L~S؛u) itd-9%MO>}ש 'ӗ& Tޒ,w/W3&)ki-e>^g1;ݥ wki 5.OVZ#Gdnn!I-9 QCJfe7Y_3K{s_lnc6dDpŰhLϝM!+d-rGum^~dOggSW#Iq'8:9DBD@><;<;<>EFJ>*K89D?CBB#02p|Ч?UvU69 ;q3cn:WZ[]6@i]lܟR;(S| jS${WKĉ 0oFM(Iۭ[ﮱڵf1(37HdP{:β:%Myלּ=D*LZۉr+m92Ƹ¥!鮮d#rfV\eTZ?M=qķs4N&&.޼{71qg}rނaI ! Q%}ɕ(.!6< \ he{U7`Fbi~h6rB*lvaߚ rNoå<} N0K$JGHtK骖w9%[o:+R]FEIV4ƨ m?kaYsүJdgzY DyAeR2FRɅSpvaJCpegA,ެ봹8;ܳH\cD8VBϕP)0+=prw9X%F 8׳QQێwzZlK&BV7 D=s:\m^EU8͎&zd=W%fܾހ)hP* *dgC+Udj~rw=ŪUg0NeZՕP+5w0@ՋZBnF\O;nbn<2nɪI_VB~Cd K 籫o:=ؔJwQغnkkLɦi&dt[,X5ܐɌ! p;y{u9xV?~bm֤ݵi\=^: >N@JަX o7/ Sw&@*uSץu]?zoHe>oZFW葸qJBW8ҵ 9,U,,NC!6yxUV*VH#>w\ޝO}S)^yGtbOc6yl4 QQ*:D%S6'4*'7s5f[ݰ(W9ו=M{:otЪ(uD5+|fʣzZufv8c\U^T ƽ56K-+8 W 1jpE n5v& 4_5.tmIh[@r٥&H#IzM 8ۂ+I&̔k{"3~^s,1ߩVs=NʗӅ}mvL{Uo7U5)z+75}.hfJ]v&nLnUf(v;.sa{d2r)6O.t=R 1ㅬ0!>ۂ[gv*A,h7v(`V_'@^Chb{ײFnbĸ]:rB=vʜ_!W{F)2^SbVrXǻI23"{+_+2FlΝB |POvSݻkjyʶ1Nl꘾(0V|+b=륺Q6϶:>ߵjz4̛b'_MɚGJep\j6v0U#Usot;wOr^n'7`*I{Y]񄺱ljrm!\ڀYM8Z}Hg12P{ cGfDNUgȃjvS 6R΁Oh6bg!ۗadJ)(֝@Lt0XWKߙBGs?NdɎ||ˢ҈&mVol2u*(&G#"rv~^a"ixP| L,#i%%jaӣ'.x$%y˽%""&2 F]gԝyou]6LהhfcZUpqݬUϞveLZڴZcrԫÈ %C Af*Ue's...kv~m]( @H2)QyPy󮝮+x7jfJUU#_k;`ƹrLZ?\m':Ad#K>oG<.#5<ժz {Yq$a'yzUr[dsΘ+&O,jF%zTҔDd$[ +P nBgM|2JT"e%Y G.3BVܱd*ܵ8aA D:q91e AZ0cj23ۮ}mJbnzD\gQ}ceJ0e>5s8(71m!d > ކxSE2v'0ԫQB?4׎y龤|6Y>cmi~u^|+OO]Wfo5wY kjd\y;[Hal])QiJh jdr2o6Ms WV$IS\qQ3:HbFV-DgRX@}4{1P &$lBrI%DsZئan7k4"O~x3g &E3E4B L,@9X`KpARI\Dz}!Dz9,xG:&I,Sמf}t quӮv}ɒW<^B5s2\uT֠LF4ae)[EP*6mve9/#RU&w.xXۧ\VU9d!2R*d!E$tH`5 0@UtN"?lb|fDZC6 ҹ(n W,0h^bzby.-j ~/)i+V'$?{3<` v$K@ pH$ZY޿>j+:MsNVyT=`o}-|‹ e/2qMd@ϫ,*"f&@2.!ǁӐwMCisdIH&iߵ:v@9y@=Dp.ryS{(nս^>Rfҧ(.Q.H[-sc2"\6q,%CgsF#&J"X)F0KU ptV3)=9օ퀼HS%d }KP$zڧ`[sOggSX#I"&;HH7:?;F>)29BCCB50/4ٴڂzGF`$sνՏu)P!#JdTCVsc ]7&% "%!ZnJV|R"1> Wer]R*^Xc|G> DogzꥻQb9%[. w/HiyɔRS&oO>b:O֒IHt]}ho۷1/!cnH.DJ|Wƅl.4LΧʄRŁȷߙvU']6ƍk 0"1q!(b5x_LrKI1 7X:ȉ,82 IoKCمziS'àYN9<]'pc22ppml=6bª&lY>i>(tXW@|^d9Ɣ*|ekKrltp:>=u?t&WSOәWQacN *8b{:OWne))H8z"N8Εҩgn3-&m&}٫[tO-6V!m\Rdޙ-U9*t -Ƿu B.LnrbêJA706+#ZuBJL@ʨnD8!/ JCdAeLc9Yg "(n!8 8>)Xl-SƒnۦM %NE!B/azzVbm5u)~ä8TIV@bՇ֜)' |R@H\MEWYP=қ7Nty\ZCQQ ?e' hb3Q{|uf(uVzݶ޽Դ[Ek^kj|Jiګ[- [6U9 3,EB{w=dy^em;4>=: #dAҩjD]ܟ> z',W PPSǘEHz\:klHS1OOW./KC+oODvGjʛ. dYMдn88g!}?,o@#hꆰ@l?WF̾>وBk CݧDFMaf@?{O4X'܅d+iZ/4<|w67 aY) 3ӹc 0.Rn!X<ధɜ}@2 ~;p 4( REZCReSeeP<2ԬhhK!ryZG 2UD׷{pثn72l>}'2~J>PgfuovJoԒE!HJoU|޸fF?e{tqk9;;>q@7UR,`O=l꧹ h,Vk6Kȁpa7i9vzYI*U|H4lU-Hwm(x/@MYgw?{4`?]Hm{{,^zdi1lR.dUDkK?D*<$7ZսҚRÚJnU01cr;IbgJvyNmgZ!輎\C)ϊv.jL>U6Z78qyճ77|=mge :p熌ṋz)M45nL.tE3fNQXTLCy7sӫ8{ 2̰d=| I2T g~I6|ɜm66!%Rw޶6f |.({Pu9bc7K'RƇ:\ QW_+oqpZ-y{+z/ަ]VuF_\cJߊO1&Ȏhj^\ognOnۚٗʅ z5lJ>Cycݏ *~?@[0r74=M_T Ά6qw=j #sn-fzDIƞ`SDu[Qvn@"QU2o GI*esu!lE/NŎj:** YƊ'dnΖ2WTDn xˬY,Bb$<"2(Pa"Nk#Pj1L  @0[}spӰYm8L@# 蚸1c bn%ir=|{-zOfvV1za,ic beֈ9~Z`v)~5c`ԺYLܾz5AVe\lIxZVsy[u̧)o<iUQd|4[YfHrǻD$WltF2ExWg=69DHJ ۳GSSɎT.DtB֖ۊgɆ]erjn85ac ]3iѨ. }Ӹ8nd(h6vnLv\m_3=^#7KU.Ja 4%" bUګjv/!h|y4xy'Mz.:MQA!^k 'ycn=j ҹ8f &!8 ;1ɴQY_-LFM#1Na^x;*+tv,U(zuZmx';~|Z\_>޲cb<ZUap62Ug&7y}VgOݽWuRE3G88öm MƔf[YnkaAKtL+ Cwӛ@Ѩ(8KZ.OggS@5X#I&>=HEF;<=9=<@EBJB;:=CEGEO;;XN 8З>U?ws0b>-ncҚ&f+]7c߄ui{$e:[x.:fZAN1TV PRU64.˞SPcp֎ ^vKkfUx3Y?M#L"Lˊ"p\ {]\8#԰1>솘^;C^kltW^myv==ݫvLFKRŲTY1(,>v+bp<\w %Rܓͻ[{ՕsB;-YPe+CA|RЁ)@;Н|+֘%b  7Y)%.?N/{{;MȾs=iw|W+*p'yܶT5wuOecEи1$tOnVn ?uTKi#39z gt5[g=u'vjhZ pyQi|jd2 iL؋-N]0zՕHH$"\.ҷP'A$:!jB]4@OSf0,nJCQ`spܴ l\Ia{k^_sS2n$"eP"TT:JjRydol6 mS2 H:jdֵH܈wLVʔov&&z̙e5-tNaaW&ƕN=:"}1hvgrs~fs;df{v^  T \J${X*S[/7R!g5t^Ǿ*zb1o{yNt"_ZBVC\ uUkaaޝQJUL4:8n kFJ ˆn^(D[h`ֆ =5%,0ן.D_?S%dAGϿat0J(xDReKQo.0UM^c;j^̻^fkx1sC~U+ Y!SLY]]~Pc62.^jZVjyOP`o[\uKimtdpp2wZyBK(^w~!}D{>vqЋw3Oc7hb߸|^qeX POh piNxqrfvCk]Ԍndvvzӫ3`VlVy5$EX#yϞ5B o=$*Zz'"0?߾MGwyؙDz`>T6tF8NxZ~Z"(z͹W0 /paLU?Z==m[Ee*O`.EgF8JlZc.t-%EF׶pHv4#FUq@t3wQ<G-\,Jk@XF@Eڈa{]C S\97}lXi땧aԞ`~shk>"DpsSsi֑ yp#r~Ar̘2y0C*9Eͺ^_\.ՙ ͨh eOSZU{U5,Ni\u&z_AE>2۷R{;92lT}W2SK8R !.]y$˒-.2MhNJgqGM١G`32+czE0\Ȧw*; \6, Uc-liZaw-cjIô~B<> x  E}?p.Tf̔vvϚaD/+{t7c~&e)~6~lf }+2%^4U:SD'蛐|y\ݝN擝·0߿ے7!g~u_yDJō9J ZQ9ˋQ\$'3K0" /Jhbҙp̄y"О+؈ &- ͩ< 3W ,a&}hX(lmڠH7tλ1e9b|d4>:TROE,lb&ÂWC#Zןt (D}fT"vKlܹELo3z)B]ͦnNx'nMal{3lHrY 3q#;w#˓z&;\>9ܭ[Y?fԙjI\"yfIJ/ß̞$!?\lWXBZ_sW{߹W=kX+% X*H]ZkIHSkd0n")ޖ)J%Qo7l_pY+*\Mk h#Kj#H jĕGj\oZ{k]EԶg/O4,Hc5i!@"{h7}ȍfdwsRt|~v>Vz,Pܝ`ߓ k۴1SY؍pym]L3BvKR?3HD ,IwO\hJWK[';F'n1 ;] [ZWlg=nV(iSА-I^k3סYMuW6tr`?t9crKD=-jO/Ky2&L)Re\V&F'nnp}-t-޼č-4VH3ƀ+Vizf+kÍM!ށPIKԭ8 .Lr 'yI!(6[甮5ҍRl7ft^eI+@hi(l$fΒ#1zfj l ڥ\ Tg%d{S3؍؛aZVݒ9[ʏ'G wq0/ظ0=ϔu]Ãj<ʵU~'eJyw|Ump2wőwo-:;;|#W9Y>*F8=1mVEi0Zӹ&~r;J\O\%tDtm+]p._-*Vr/q933Q+$uE]*$[.FA}绬͛"(?_1bf[ 1{7b0mLö4IYc}yKr 1ޛ-^C˂'uѱ)HBWGc}Llfj&S{YcloésUϫ{Gx9W}TSOvR7s͛K /]uyyз^r+&t( udҦևXiKbDV?3p38peWBDCNAF7<7:>B1 T{AHU)H ɐTò5Wl$(eUf&?˩Ck>"x2_뛺o?%yiZ󍿩?]1^ncfoJ.Fơv!ͣ2V򙶞Nnynv3Juبֱ$%ɉff·C[<1%4j]-C?wtV;DW;Řv.歩2Ol&xΆfy7%G:C{wEqʱO5mvCt{]c*s6޼ұkǴ1 cʛ}9G]Ƶ{TM-0Xz*kwLXmVq3,eP زź^{y`(}ZYebݻ35c_DL35ɿw~")@Q*JA:IQn?6(пb;zGgn_1g JRoZMD{wOqѻ~KyyiڄfMD[@Zܤx3ӹwT<^+ЈuT?ƦK<׸Fur r<9&[c4p[2dRo-g.|6n6 ٟ~T?|3@d"0<$a@S0Hn]h(mG LfP KICCyoIFKjFU:\:ñc:dɧG({G6$BvsOT߽wO'ҫ| ytu&ommvӖ^;]c[O%nA\GӚ;2:[f]5"fFtUi;z:9ꕗ\.ATتkl6]uef͊$ Fe&1]ڕm[7֎JlztʆDڂU %ܽF@J"e PQ;fZvl[ mLȾf*\^'Am2V#na O<+]&ϳRnl+OռZբ]Q(Haլ 7POܪ3 u*cOa [R]mU *.)/莅ӏncGM:T :E84ҹn'7)~FLGzՕ;NFcu.o2rTZukMvy"Z]@g̙m>ţ(@].G[;FϨC98ij ϱ{˲ټhHGTص>w!i-UF`g3@@٤; |img-X} (SS,q 'uu16AgwWkҒ 񻏙W;$ҺE3S򽟏c9s/}Sh]O}KRFnN+75pCbscTwOR.SPH y#GH%3 Wٸ=n/F+OBݛ][9"v&l͂)Rkpc;bF]Cֳod_yƊ40iOggSX#I˗ĥ*4;;:<6<F@I8)=<@:BBC@;67oxz{y۞Ў"wӯy֛1/a3t:;m鞞܆(|NP6ֈՁ5 #@Z2&eg*t'6M^V6G\ 8ES)]KKj_GbVUT)\vkxӝ4sw2׌) L4 Q8;< c0]MZnɘ1s:qaλ2f/MعFÌ;l6c;<4XVL]+\DPƫTs1B#7hifۻ<>^ u&lEDEB=&H#ޟb׶'Ms n\:O\:)y%ΓY:% z4Lݎh%Rl|LeKN[5ikvjZ<4b:RZ $t@#cu{f~5j'1V Qf潷Qmۨb{lLVȡ+n;DDb W#YLRdqEowd{L6f컶I|F 4 EBGk.$M=bTY_Vmm.a֦VݤtzDh2J! ?_RQ] 3tDV mg6kR򵮛z{ei b@b"+g}{wt$a"fYjԘ]g]<={Umi͕N[]GwX̿MUyrL8c!Yё/0;q6 ][n2 *=Sܲ(Zl GOd #r\hFik F5rϥH\q<jo'L?p!'Ҕz3Q{[z0 ׫ds yԻ!G?u"K);C-bJ4sŭ:vSuaTT:hen8 aL38z}gу?o81+3L8lYJĢ\W*:PC"=TQl1;zĨ?ٌǛ=9v#0f.&u$@nF$>VnU$Rٺ\-fx3i3}/")5y^ #@D1츘RB<90>v"J\~n[*H-8 Tu֣lNCbP{/˕Sz7x&vcKG*2Pq4% hiձ!jYth(.RW+M|WNh۝gl<Ď4TBl#2Bʞ?ze-;=ŜdI@^xUKyar^#V[-S I!@Z˼7ZYqC`p/wy,/[V˴6|" 6A6ye@:p7^;KBDGZ-\vTjw[HqmL42 +hRNB (@fHN>Xq Q3Vr|q'NjVXtSjJ.1jۃݿ2J1Mw7wU8'#JNF$QqY>TcsM{¡:]߾-BGC%X'ٛ-͌{ڤt3t"nZ!ZɋMݳ\@o 8VL*rpg} Ѥ-s xl´fѾ޺asp`8F t֢s TgJBzVCO+^R3YM[OIJU3sw5>>7:W{Qm-(D{-E~jˤ[ݰ2rwJ(S)?QǻQǭ!f}|j(F>\]HwxehYS5lf+ Rk6qO tܨܧ挸 E8%Htݴ 笗5Eaj"f7Sn0qVc=K6 5@ZENwv5ȵ@x33*3SoW`4<22RVo÷nA2,cVYƊ>FRY+ʖ5C[h/Ql![(ݤ2;մS:,Nu|zL][kS-tv'61ʕ = ܒZ t<#/})=_uNfrJ74Iˌl .K`V 03wOMSvpfN:fw_[#jnaw7 m%U3dzqhtJ(:I9>tX?Bu5eu{;T2doZwn <-ـHTj4mʷÉo5]Ի̕v Y;Al⨄ȍ1Ra@wm4ac8r_tSZB6['a7&zly T"RA&c} @ߐꬅȪ}^3/#^KJW}Tg3ݥ]YYRV4tڦ:("A)mz./$Ab_ e.\lg^z̶ݾfvLz30SiZB:wBQT^!IV=.]Mm6j^E筶TZPrT^l:- u≒hco=vݶkm7nɰ{-=XbkS^Hgt};&]B5*Irݣ'{zrtnuݬ rHN22};2sb?Z$ԎG6_`*=|Q?zb}v; ϨWZ'$_Gqc+ xmƚ#+e ra"jTGvn[@bu\R[=rQNf H,_}YQ/ҊH%"REzBpQ3Y]kV`iCGH+ͬ;+@75zoIBOI뇋]Koc{|y33cSZ/[p>3-1~S_4۞fo&; _ ŬH$F *]*AJx㢺U'c0DtU_`{{ZS>QnCnr*rmk*ٹbYyaJD&[DFWJ]"WݨƑs7++QH*u dM]M8ũBZ%߶X@C( ^-36mXkrkfn3wV7 H~m5ǡ|#WކK&DXlehxsk$jL˲_\N?y6rWy]gv1ˢXR*L{:,c& f ը1Z?"q԰Sc9~lM^TG?8蚣hφB$_]|C8{1| _zo_٪w7ogmۻتͩ"\"* :t>= ऌ WV&'mV"j1CH}z:(\9U#Q.F-iQʡ>)JOggS@X#I#u"61>DC1>A>F<%.7GEAG904(,{N t_];٬.37ݮ$ڗ[7SOQժubS2Pd]- V@/Ib*6/Ms5mȮu?]-}_<ۉZ")^S~tPPA=Srwm=ulv#nd{l"\嘜30I3N2Cţ?J&V1USv`vgs:Y>`HL¹}ϷkvC\u>oytn~aqg U7M);g @tCBHv?5 B?qv# Rcsh5rIX=9T& ]2N+Hw%Hܛ!cBȍ onk\ i2ҍ{$04E Ј;rj4g)FGFMkK.mۤz`bBMa mYu!C^Pb}h 8@73c%Q&kňԪtR>3M2?咊5OG}׽fZ?ޏ_iIr5G ]~^T=QD>‰,G{߻s3K9/Wϝ:ʷ<"'r/nbcSl:\y[V 9S3}"{5'r6ۉwJB˭Tf#|M"@^cm%kjV 6y== q}e -ȣ}y9j8de,0JV0&P%R5U&}=b T1cn,ƿI |RbJ.&5jh*(xE$,C_6lG/-vc[^/L*e0yǢ۹f+m@.we3{6_7NV9e@5k'qU[s>aŸMX/) q6x\ly\Lz*I/~q L)<; 9W 3!_%gޅydzgrRoNy7sd "=F(3T~23sÜ. $x2թg|tLZbW"/pYkUEV*r5=tnԕ3s[$}w[-N_䮙yezZJSٝݑ]Υ-MjYoNx1>߿T2$RXD}Z~kmBAFEam:WbYcfLG9`QwL6EU,[}̥m\N A.j̭y6E!\6&"sT1kh]`Lx"''~*BTj3` l43R" ey36 N#Mmڲ|JY۶ޛ@]ܧXT&K<  ! |T+L@%I!"f{m+_/.Yժ*Ux۶m>l˚nYa=BAf /Vs̋[\rkICK]ɬe-z6֠b &jlSpF7]COE,h!p=ca ŕce3ln՝7ۛ˚{u:|_xr ?^4m {LUhe:ȬrtP[FCR2ͮ#: _g#hl2: 3!ze,(@4"}A{obވpwJ^z:kC^JYqGeBaf-v[,@p`f=Ue6޾?K'7^}XGDگ_ͣ܉)oɸ,=NhSvOeb/^~M=aBD5}:ME:Dƕd&+iWumm3쵷 u쳴~}6AR!!Mu35z+.\ NtJnġ'De9f\2sL^bIu' q.[22NX<ҽkI@47(i\΃vK` ͽ*[ 6Tv6ύT8jFvj'Eeuly 6 ޼cLIl2,#}>.{=}7R;NhhqB)hu8JRDWn:rh%f]ἷz`dۭ5]m=1ZpA2C[9@5)Jre vVD,Q 8**սYQ%>! ɘB$ ATUU6VZ 44 dX4P9յl+^g`R2Y^# HGn;M1[̑ԔRT]19Kn{o;^;vۘMզ&֚sK_zy}ޕ4+ﳿ*nQo=9C֔!"' ^V7esFwb!Ttd_Y 9(elյhGkLIJfM %;{U(9 #9rhDXs*D1 YOA޼X`fbPLnh01p>OggSX#Ik$/>DG>6;::>:9@FEK8<,3 ح^ػL$/&IfTYPHbr9DY\jdyMُ˛91dl˦n5R3H-MYi{PVC~H(뵌M։ okfS(70G,ޘs׻wX_}ɴҜߍ! dtL!Tu%j'e_Gq*wۥW}r՜^F7U ,kRd&ciU:mbF\w@w,w~~)Ídqf^$۳G}jhao[p;?cX%mDH[U5F(d]NE`㎟ ~ oF٘%)yu}u{@~)Nn}ã.?~So Gz65בrGVWÙLݘN\_Z(B)Rn~:b%?_J~{3l1J"FhSʒ%l`Ŭ+W.sDN7r[JreC2^JHTu@R!L\nPpXEH'32fͅ2(R:KJ,z.ឰoHk68L0f;{-())5JOtjBz;ebRL/cl&IZXVet`]-Ϭݕϧr+ě3{l 13J F0/$ewׯ-D: f3Ŏl%I*[:.Y)e ^I547Mey]Zo_ŮmX vCMDFZ 18ЍbU ttuVdޥ)M3ݮg^ݳX. SuKd'Vt^){NZ<۶57UNWRN@) - Q-⯛[EnaqOW9.ylv<|]vEAz`: eB>=S A PrnRTٛl{ewMUb(wb)w,\J `f-dP,#% ~44y믵uNyOwA{v_rzk@WYF^.,2M7o o޼QJ (B~q_nݮlw{zOmXRC 0RT!QqQ~+1uU?Pyq+{njS;yG -Z5)_OHh}DU4Ta9W]Q!:fǠrۙ Q܈DZ t]Mk;-Tl*lK+ 8G\5 ֑׬  t- fV{ L:7Jh ~;L W+U/X H3ec L)^o1W7 QrZ;Hi<Y3%PΗ-w~w(_Rއի!ڳ776:6ܓ3)]diYR>+VgnT`CR8IsxHT\SKqg/m{n\.y;"(8:kD*NbHYxd:S.;J&J&Zϸ&tTr== Ne rw=M%~ ܨDТTY&MmSbT\J",NUni<TLq+Y|ZyvK?mW-o?Vy,dNb@|_ZVXmNC(qmW'+!2CoUm{o7R6ڬ޳e jt Nb1@b.޹ J hyjJ=pvIose}2T6m[{Wy^oz}h"&Df&3'n;hc_;s͔f!*bݵ嗝mղbؔc&ptGVe;wFw 3o =\ڈNw9)nFw9̝,O_NT81TVk0^"cM ( 7w0704 ukmy~.'y^kEu!]!tR\0h }c߼|Hx$cf)Ouܮ.lxP͎m<}w 2_ׄ7)/-w7L5JE;aQ|Ng꧚96Cw߻(:ʶ{w%w[]vTHw@{Ǧ'깈T+2NSU4M鍨w2Rݛ.-^.ңX|rew!ezEܚ0KAxrg+gjr`<#&u9#f1-w7.xR0-s4#CQ1>+{кؔ]sfULWnHowRcQ*y2߾ooOS>9yqq͏]#Y)^7x&~ĹUs}i=;a4tu3fyH6\zDVOtVʚHfffW]:P1f&˫QyɁEmh2^Aͭ r@t9G]Ix:u [# 5θ\@+9z ZGeTv`@%M 6ފbS3HpZ -4`i|~v:p<LMdʲ߿^H4kV<'=Tz<\i]Qʯj^JCѫvo?&Sggv+;ew)r\8#ۻ?o^EW}z`:zʕKWTnt-k8@9'm*]ߥJNo횟l}[kDGC8ϗn}w5Dzuj"ߴOggS$Y#I$,$MJC>EJ;2':<>:BC=?DBADBD- :BcB}]Ն騜bKưүm h3ӂba{Q gv7hk}+D` J0*WȌYylT@NNvב}oc]V/%Y\s$jf&Z⻎Íj~wӏٟp;wcQaVbb6zO'zW s9kgEeiYj!+TܫZVL ܰHttjK q\̴fD'" 0@?}u p6wj":ivr+vݶpقLUzo߱kb"ˠ2sO٤^U2m_+w?%6_%ޛE7p4D"zwceGF`ceS&dʪɿ7s u(NjyG^ 642_$qJ4||3wu YR{=n7]M<](wSB!t97D殟M+UQꉺ *Vmh{CI5ܸWSlKq7**GחvBt}^;\j; 9~n`v\?͉ncO@ƙ4֖zS,_˅G17[oR#֍1$ƀĦiȠ<D*Wp@V!M1h+s7zYK̔RJ[+ SO>ʁݮhtp)w%N헴4 SR-Vl=˖]yGw{ufMc_՘\.fvݚ6]6U4_%m#ZQ T^9wqDQONVSg>ą?jݕwM*Uį ;eqXNqWys轵ml;&Kjcͱ嶳1hb-7,Xɐ $[z239E+"%O,H"aϙ|G1Oqyq3Omg?՝>܆5lh v`+\lP GS)Eީ.&ꆓ9Ƶv{'Kc/iR,R2o2zWր `D=_ bػ.}*.?J]*+g\n\ iJJR?T3mzv=Z)z:fn"W1qxM){nQ?.l Yy#nl'PeTYM]^14=Wial ً*8] o&aN=iij>6pG0b{1"tQL8 "KxD596iUgyO{c[VKsX6݀ˎAȁIY&XH"4{eKjg^̾ 'eگ~HouʶzuY^7kg5^97,:,2^~# Sev;fW_}Vjd64:cчChU,3fz! 1ґ#owjU{:mM3ڵD/V@A`0uKUm:aHbIDny[۶ّ5d\ϭi.0OwC /rEDץR2jLU9wVZֺղjZ½_j"WKu/,dz:OxDCxn{g3 c.ͶF{Z_^ˬ 0}*]'a8K*NtA <e#Cgv$fЯXjݚm[Z6jZc ȑʁeY7~vSq|1 zZ(E굽M&sfh[6[|̉T OyBS~M#d,2T0+.{VYReNb jePb3/("@x9%GӔ P`fjj3eֿ[[YmIѱ1>6^w &j?c];szR]ECHbiڭҦ'W,nĉjW Q,O!]imuY?)}}wO:7qlŵi2:SqSs9!&6Ugm5숰#){K9OTsŇTp4ZnE[}AZߏGt.A 3g@d1}W#,JWsoZ3 prn;nc!N`37{sĐK+Rݙ2^*(eHҊh0 {Ǔ$*_Qӹc;3%i=d}Y]o<.[m_(OՇa%rZLȱ-B*!*1NcsOAj<3Yu/ג&)~n͒mqާ[[fR˻)5Du?T]prYW=N{k"EG3 ,y a8ԔB p lbeg 1e֬ehqB:j-` w!0 +]px$!B7e5e*zڹRǗ%\}b,[}#O=<~tAwb`Hjz&Mmp2:71S*H*S]箐L MqSN27~kSھH{PT#@XsO?6W N?zνvj\Iq{ޞrhӳ>'Q:lZg`Q>C06FdiS`o5n`W Y i6 .` (fPp`7;Yٲ;\iNRY rG7U65&߾Vg:$^Oi]{Xq"}ߝ.>?.6oWiveLHKM|3%%'#B?b;wd`Zg,Ar.7<]{d+h{%,M?HkUjoًhQwpMߔ:lt+61s?gOggS@UY#I="*88779CDHFE3E15Sb,VΖ*,Hԉ*򍇂V(U?F;$soJͨR&033)$vJVoԑ9=&q58֏?YSҲ3Hjb/מ.WL(y3cDsFLWy?nTQُ%9qGd?7:(ju7ڜjt*˙¥4%gZ=/ǭzTgi(J.,k 3Q3}Yf؛jFRUPBmXncz̼>\m.Tqzl.#o*TNCPz7ݍJE4h6Jf٣jUXk 3]kf9KZuEJ K_X'(|ob$CDd]we۶Qu]UwwŶ l{Mt"@"@m#(tAU"#!P(F%ics{ז}}z7%vq~Y{Zn[_H2:c]EU,"9u}]g02i%C歶;s-;mlkҡ t&I^@L>v<[zwCog5PuzTۖjk$ܚ~7iݢ2Kp'C[޵PYy43t޼5J)^߯Bw]_w[oڛm,N|xpژ:Ӿr_'])S΋)72ϢdVsQtgkg/ejd5-!PZ * {Rvrzk>Ĕ+3/kZOҐ tb5ArϜFu޽nN̺^7{[^:xlԦ6 X|,J`V '9HHY=kHU3.6d[QJU[+F֠y?g9aZCGٸ͎N]coLSӋtZ=&w!z(26c#UWX~ꬬ^9/OǮ-\P+e^fh:+q.2ٽ7Z=) N +6At)ϳ,Ӏ,MnL|gb,:Vsn j-Z{,4`#nTPQ +v€ }lCn-M˿z"Ԟ`q;\ܧP @e2XAuK^22Y'N FԌ)3 ڮsIGbF׿;݈Gǹ6>;v/"ݓ~eA+6Tgնl߽|onuVrB9zE+tTo>[RO\:3 ̶Ϲ˽|M&)+1+HnN.%&r~)S: rRoM݀V~T3ۈMwC2Mnm }VZZ@8ƺ ̆bm&GlM`Xv:>KpT;gA",ݹm"UG733cf佷{\<#1O`ZiR=m8*zzMP=3rl7űLz;`9ovfE};ӛT.؍,npR_摮ntU#oܳR|JM/3M @^HYiUYo[j po,].fT@fOXRVG3?#ޡ]C֞>͇v 1yEhig;Ƶg|&o|ӴK+a9|~'=HT8ł6߼ߴYlv`[MqJ^2: )hK+SsyTܵtl&&K;!d Nڀ3˨(覎Tdk}DxTOT~JnMj^2':(O,OGaT*TB"J:>%u{cSƷ-luT{D)[dPA)w;O獡y.5*QBkG<7zwta8GڴtpZL_,y2ix|օoMTR\{ R0l խV:tT-G1 &mFVL#ByN%cIbv]T!c"RZظ(.hR#1R#Ά\qqSae%^φH{ DXH %DJ9t^xz^m[h`K1>Pm>ӟYzIf_otRfL:0lm"AIAp;dA!٧݂ p5W=%p/{J>*c=#{vO^kE}gVΞ){(XLQ8cnYBcy+3]7izȷZ-3{uEZ: eHIʤh".D=Tr C,WQ*].0b*"DfVFx3R> '0c%pQJ)Eq`$)\9dB'iS[Kh" 8kx9Q/lXcl+' h =bঙ0.t G6KUYDJs2xo׭̽7Q3*RS\{7m6_6Eո[ n9EU>sGu]q{Owiyw+<.>+w_w6$e<xl~w@Q83mL^ƥJTTtzbqW$ۨdl QZyc!%4r"!:V4foFlhL9Gw76c̍,ǒcJ! Pc,6#&&8ouډQ7{kb,eB[n滓OggSY#Iü&0>997;9;BD;3:58fqd" T)B^`!bm z+%S/\G8.{$Fj>ʽ:|JN>%^ C4uy&!m=.\r# n#rр}!vbOcQ8tT]e3ڶ;ԡ+ 66rTmZJH"=;Z@+ g=DP Q4H4&Ip?-ލ le+ lqDnrqݍQvb*Ľ "-X×<fbP55e/??<Qo_Wg}8|߯+=Nz?:۫eT(JA5>⢋*0[Pn}־TTsnc}3i !v7WkVVs;ҐWph}(niR[ dz:o4W\:кKX$ǡH4u+4kgT{F3t0jk{)߲Hɫ+0NpQ C\e@@"HlK 6=,1ƣ:ZPxWbVox%k*hRŪc&$1N2 ~FQE|^9Kk.}<1(lz5&tH2Xt0pZ^O^6bᒌ9lBAj*`Fs) |?J1I@RÝ0W8ѹbT=uZ@[[d4ޙnp0l4Ʃ0,3s*;JϽ739kf4/Q6֔(G@))`buk_}4xr+ַvcWW1 thBNf/)A3ic±W/zzR}c5˧쨉mTnv },UYVqNMd< īK\6ud9j0z+ːЋf65q,.f>8n|,Px33U%1ev+goVͷ譣W#u}Y1li/_;QwI:>1T7h&Y:Ou HU-T\cR'OQjqOjhٌV5Ff>31Zf#gK)+l72 -ά3?Gp6N#F NH؈s&]O QfMTC0-^&-" i:ҫ@+a`[fq=W6_lOƯ %CLܳUuRg\ 19*{<*Q=RU}ʑl@?(nd+Jcñ++!]n$ Fg9&D:ZD C IT/boA `#DfS/ؙ-pfM awsр nltQ*I8ANF w~MH2#;)]Ex=g>"+qZDp5,U`r睄*K{3)k+jH񺳆X+]|$ERN >c OR&&!g&3u;fzߜgdk{^?;ȢvZ`V+lj] WElZMǯt.g& z{MWMUv/* oJûZp@RD `A /:LhkO`lI3+Rnb#Ly+#V2isq1y,o:YsHSM&& t9Q,&cרjג\Rbdt(df~WEL׆O>-".W&˽cҟ6ʓ^DPSѭf[: }+V jBX*U_J3=:)T`u1SUft L ; >@q~;Mǀ H;MVg#/KҖ; s#3Th<_N)?8_ܲ_0/WG6{'@K&Ҝ}mhN.$x*$ޭZhr1F"aaB=7E̝kl=<#+}q%DO7?nnPwvN . w&h+1[w(hr%pG4g`6e^䰹`xE8 :MS|)SN`TEIq*u@cf) _ mvRCO+*Jf&n^}iXy+.+S:^EnL.oweg.;\9ly:N{(RnXmf3p>[v;_3wAj9y. #"o_N|Ӟ}1uv؞n%qMBъGwXTB^yFV!@$;e`ZZ0Th] r; HGpfY ;0NUP1Xtmtv۝3j&{3MBY#CXaȴ&܃ 4C)3jȚLfi[ZjUf8u[Wme؞5zztN֡R|B-ܨT='g֥{DhҶv+B(nfZwfW۪՟˥ˀ~)WY}"0nGj x.7VUc*+ -7 psƌmj6Mp}ݔsƔdCNLFQ_U{&c.M W?5lV-&Ew$}e))e1)KQ\4gR>{2&"mdfO8=ʥ+kR2:g O%їN}EilPi]lrCnT3:2Ⰲ•ڽUhګj3aٴm@ϲ>J2q:y@~S%i H)Cio\כySeBO,s~TXR"VPBOX!G^2/y/c9z$_6~>Ύu"^'d7U3=UI͆W9N5羹]wQtV>ɻZg|YXP>s[40yR!B}=n*MouM%R!D.kQ;< q[nVmD7+e 6gu=5].`q~.f9 1LZHIeyd`Μ; c6 Ũ*n~l}ge`P(W iANHޏO@ oޕT)Seϯtfc崾Y~ۏ2g!0F& Yb)fw$Slnw3,~*fMv+(=[|Ի 7/]!P.| 5Ԝ2rR٦զl>T<̚@C42"Æ.JXs@Xo PmdV*9w-@@OggSY#I&%3=9DD=?=8=;=9@GJG'9FKӼ( λŹ8Nr2KT՝#T%1IfdsgS͐MӪQk%mT֝Qcb9BoaT^[05|tP}naT'$m+! aLJqV *HX1h)70r.qlbY\'t_=S⌕h͘-480; %K/ @Ң= d?6 OJe߿}~7;ɷc{, ʝ±ʎ۽o\uTBFy q֠~[݅|A϶h an1fr.ɍ-Y%Q;.9L\ PU 6ELBA} 6 &/$Q#+.oѧ ֎b:qn7Lb&ːT +Z4,*O^"sY *n[{ԽSxJ7&-lK.g\JL-.wZ_BL)a<*CU56jܯl}dڽѡe;cfo`;ȚTee:<;NڥT ?5Q~^7UjƔۭpfyW~Xm(,?,ez:ͿuONkiݎIJo> ݃$ѻ3))}fZ(^TřJnR>]>sd%ZyGxss V6mR`vm,g2)nO2n33|7eִ6k!Zu%c nQ^,hv.a!2]Y: 0Kw+hZvF@ELsp9nLe_Lt>pPuԙ9 S߲ʸAWG,*rS& (OH*h]ܙi[ SN3vс Vyfz_7՞|6C *Wp*M D{GX+{b3җ爷}n wv=TR]4t}Ȳ]*FA\Ξ쎒$>gOiw×cJ @% 1lZNPKz3hTKUMm G=SC]iZ|s_PR}B|7R {CQՊIi6Q&8A*k ,86"ٿ6KsuaN-dxnx3/MIy4?\-`FS[HQں֍l;G.ٺ4T)tf! O#(ʹms=wB3)ʥr{e~>ailCc~m۽6-E i oƿ/!`T͏y:\S.3?Q?QZIƼ`k]U{j}qiR$1B*RS>zRn.BWo%Q,4@Cͪ;P=t,8y=QוxLFF|KMQ;=psOaCFST'yqIMߛR UEvR׀Qҕ"0g -<ID]wv}ۙjF" H򁤒!S9YjF @V!97q PSJ'lj>"vgzĺ[zfO<Algp.:Ά:7M ^tˣ% JdP(D!q2<"fsH{o)_+fgg_euZe7ǹx+n( E}}{&qtתs ?~<^kLzOfYO})T՘ 6H]}1+9I|ᦒ%xtmA!R^q\:qNuD6@.qNy"Z$b>z& "mr7[Hd` x؀vB$0Ŭ8SQib$Gz@xi2@ ̌Rfb]N^{C:浺6v}okL$gޛ]12ks^3o65j}~w#mlLCjuکuT2穘\.H*30 ۟W5[Zb1pVWRv"k?) mVŘN7"bCzMԧ7Z)nmu/3jm\r㪙mOOrɉ\ HW+;"RʭZ~1krͶ `$u&ƹ Pp& $/Vdn5\˾ݏkj2". uOHJe@mc}尶8̫)&Qꐗy$֒'z̷+8zb/}"Mw2 • 7W:nە(it]@Dt%uD'$#檛Qo+]pmֶ; jW#+{UdlZ2bмrp”X24aQaʄ]=9R}LtzSۊ &q| .ffRԓVG8OhJogփ h٫c䝲[OϮ̬ܙ2SxHDV;|"+su+cոM593MK]avP>2$u'笊GM^9**RKVe:E\ZpQz%NhrRߠBӆ Tad`K9ka,i7w53@T yM0hMA@ |#{ (;(1$JBv.h̺hkff$ {fS"i'JZ.z%aF*WbrW}` HKimǖj#歟VɝrΣ\+B]E7{:D;#nvGC]x Y6*1}S ݽ. XGi([lFsc=L4Ves#Q*Aau/Եl%7==*OggSY#IX'?HEHAI,(;::AA>榽.9G3 : @-lKX ;k`x2_0EA9 x c00 2D3)9q@J wvw'r7LԌֵ%>Efj}_{p{\KW9>so;zVTXM$=3P~r)oOSmw}QPf7ITWfWu\T6f0f+Xw1P+Q\=ڑ;kw{/=DOUcS;˦oB7#(Oty]61rozұweZyK 5 \ᆺLƭs|0&)V s W( "vKu/015cVnW8Ar4=zԚp##C)tXG hl 1_B6mOTywLҿPѮ}F1kGY+Q?Șzc1T4+tt]gu56FԷ^FܳMYh+%=n^fVj=:7rR>mEl=mv)f䊔ZQ} ]dUn.V_YZY7GvSD$Ծ0jӮF2-PPa)`ZLXg:t[J=o0ΤufVy}ٳO9YVjtoѺg~<`M!DL z"wOND@ @GMCNa^Oʻ=պ @aq)`vK/t[^=s{k>7) {&Sn:k62`fe1W IrS䆀ew~y AȭFxਗ਼ҜHMݟ_p*fw/x̔edb{= Vu-ï/6)W ncsi XC|;ӔM*ȳX9vQ;5ҤhĶwѕ^EPًkp# ]g*W*wkD1=BULUPs00eoxTFm/0vа&+}꼵YJ4оgea\ nѦ30Stm5s`, q : F FJUiA@"i_Ϫ5Wf-py&pj}759qyqĜgZq2 oӽQmz1͐sH1X̍/N+T.G766?=1}_2wfnl9b[iKJՎnC7+xLu2do-$], Fi,%Fk}Ԭ⽾߉jޔ;W׭wob|Jb(uCdhy2eacs[s}m{fVVnd 4r*tk kA$BO19Q-Nmn~{Wrrmg5V5f5[` iOI6^ヌJ^RUV޽[XZJˡ|0fnҐ$ [\w fPίT#B|:ɒ=]ۺRlM:~I>VbB܊T N2i*j ?[}OD-+ZmhҿcLQ@:}ȕ!Uh]D }bOQư8;JBWVϑ՛Ns`Ƽ\KMI{~nkd:Ű74ݳs41DpDmlj~}zWfƖgs}bܫ#S%Qn00j @FQmQ%ZU)#{\19+mĒM8[ o -Q2"s&2ן3)hФePB I2qF3Q.;}4fih,3S`r$nN4 TQ^۫h6#0RQd CBp+NAHHs~(! `fCM~qd3ovl}f~\4X}[W{o}et?$ёH};UlU7}ZJ~qt=6߅S?/.fꐥ}*?å~MaE  @u׎)F* 6Ic#WJRpB]Iohʊ%18qQlc ~%HJ4;n!#uyzT8qx6w,x`i&7*oi]ܽghX l7av94UEY$=lUPYU!-օ::d!6=?[ψ d **HA5*<5@,&0;:rR|-ãb޹޲Ŷy2<d "ԡ)-;O~qaicV{ywF# S?Cz0l""W&IPh{J| ^1 1:5>5ZeuX=(v5/1:oE (<+$FU*լDϻwm3oa6LTJ MYJ.Nb* o3%h. fo4WW~̭6miewLV 1s&iZ@뒮{<.;'IaG[:emoKmHoӼOggSZ#IK~*8H<;==;<8C=CH<<:9=;GBBB-:;:DABBEA2H۬0A*BZ^a?DtxofjJ)B_,|@3Y >Sgs^&_{:,t}ҳ=bw-p>[j7fݺ3fjRݯ y qPbol>1鰁LUws7pW~.p36SnT̒zJnvwUL>Zjm4|lt.<]b6v][C[fZsO_vMswWn*Qg_h/6ޟL_-& 6ȝtS06c`!ƲyX+O$bIV?povJfJ߯<0{1Rh:]GRm^jp}V/}Z?Kx~哝 ÅUזݒ8Tiǻ'YxgD\\(҉؋OVyUϳW(;cUV)Ly jNDO_},+%\TwLJ;TfksM; k= g[UmUozP5W{SFj>ۦ aK٦eQ?τ%s7+@r5vW V, @DJUJ$2\_ 2WWg>}n*^#zdlkzo֮36t#;Mg!N_`6|m׾^zYo+\MMcYk&<6c#v]&sP1FG9*%xۛ[gw_eVrk~wm1L 6'K-)M Gx/:bBd~zn+J'~JOezgv`eM3%.2dB1'AT"?Վy)s?dr]u]Q2k'ݪ r4J]b6h,;Ec7 @ឯ *Zs]zrdǯ?JLKjlk/}H*50uJ*t1(ТwxwmJD:s6e[-o\ve3f"ԕ^*lbI2չ9pjwҦbn7]x{oZ5s7t\ڋ5!P-GkoDA(O2 ~{SΎoVk^J]b""6E k*Xtj3IkNRw]goUm[5ig4*V})2K%H-+l5 "@c<3s@)335ֿ_|wN>as-E)}d6Ϟq{2%[oIgdr[וm.)sxkW^NزjlR) 9Yl4ڮP(d`:rzs1W9ʥxѹեd(w2ԘͮNyͱaR5]VugJf2-&sFVik>G`4&ƨџK*9ψzNV T Ёku !P `+2[,f lto(3 atw)EP J%Ì[<";}VL _J՗Wf3Z3D$9ܦc7X%@Dhh3F/4 LFi?:?]OLӍߴv؁{)".:]W,e fI^ d){=q۩*JdWUֻxk 9&С-UCkV g/bU{#J$ =uxvogq hgy.Y+uuo>zz^;ռNzk9+%vK2t֬MN)2h-9A2w1Z8ݲm&+a&EEصrg,CID~_lT__<Pm{y6Rf{ot @7;{_Y&$|+YCye^f)+-ޱl8Ykhold .z _[ĐtdbV^15ݵ^M^3ߴW&T#7?+6 8h+0x|7=PR}\(5S5*V _\<ߎԱՊ߿q)=y`/톫lk)AE-nb8[%"l'NE\oVm{%>L_NSQzޡ|7dM<)+]=yWf+}zF}3RSަ[aՈcO7gRSJ۔ "@/0fC@k,UwŰMN^(Xv= vm ^ݞ;&[m0nܡd!+'T@딯"~}qx<5S䭵?fz1.nﺜE{o|on )#֌tK{F)ZVV؎GU[뮬0%O!Kn_߽]dNY]H~o#P.\Tpƭգ=z{;M3k*V(FN3 eVv]w&p~=pn*;TpAK;6;7W44h:ڰ5L}= ve]@}f #x2( @" w=H~ܴ $33SeL~ooqv%vfˊfgn[g~c\?HlvY̓LՒ-^|vT>ۿ*.,O D:Bv˲fMijS8Yz&w>{OV*sz/S廩v:|<|Y=Dr?7vkW%T؈Z׸;s'V :VN %c m]EƂ'^Gn&RX1^P P_1&}0jz=p(LIeӆ14` dJuI(~JaX_T}:drwtnn}5%m^|O3 l8`rY6VHG_-񿺯펪Tr%|/s9^2\uű=qLS8z_z HlK3j}IF9T?MkOlZZw|`rY^?|_tҥ}if=U)b2r-/{t]mwY5mWjtj"X PNbIܚ~_bPҽ*S|GT֦mf_*m[e[aDfϑpP>?.Jl@.Y"WFJȢ1ɭc6y^Ug\o^5}62VDdTb>H_̯OSD _s*Kxj}Rg}ikַu3{-{;Ex;FnB *mzQS6Bke>\]MneΤS'7Vczƺ)cJs9|1<ДM&)6[a\TZmu|^Kݦ;I{z_[1+,ٹWp$3p' 7YB.ȭtvnWoZʭfQ%$/BRb# 7T$ Jdx 6:'XzxB8sLRS 4L0aH+JUFܵae0~5mʝBݸs)qX)~o<؝ʏI5Pa}A2l8b8DRj*˿/7<}v-MԿŊqFtqb1K]-u>۹1W) D"scr"(0l%gJ*x54Q8(nu@E.B K%HAiڒD٨۔)rmD+D 2ZtuIDє_9\TuҔ2#Q\%r C5W_KW"YaX.@=6' ֦;,9Kt`صFhs4698OggS@CZ#I;I&10E;<69<;;FG73:AEC'+:?BBDBO\lе;_T*BPu:{M@05J)eqm菱Y41+FV|PcӈˆT~/?ƙfk_3zI\wܥNUL%R+yMi3;{!5vZ=)'kN%gH|:„CBvT0dF܉h0\U.>5Tz!;&8YxE%sK=6w! dх0\^%Fۏn90X!)I2 lALp*)WY0,SU};ѣg'v" F2f/_Xli`l<-m̿w0[w#̓&} {cXէ5!Sz}pvlqsw;ػ:j]gx뱱m]}ct4 |m!xŲ*PBƄz\KThCڔ2gc"cC1y)}Z tc-\J4[9sA)L`E_c^h5 L0Rshdeuٙ.`ۭFX۷<8wf@ TO(f+F,M~'"?Z0cJn~_ Cwb{djѧܷ|]m5>6jv~ C'қO; ްqs^-ң;JR+GYSoLTg#K|zީԙKsu\xwv#< |c/QI4uf#f7ϔ[tK ǧÙCW3qeŽhfi*KH6>3 s͙Ön i!^ ^&3rS#/[ p07KMD78tpéņ}69W 1 ]3lu!diKyj[+MRJ0\/8src0mOOnUMc'M^6:Ԟ=mN0FxeR'MGU }fb$֧'.|蘸jz4Y]R.5Jis]I$0 UUQ˵^>Rcwu~3 :9|8F\*,(HkLLa)6߮LUrm=\oZ{T#N"|$uiQn&{o^+{bRrvbXW훓;9zzt"uH t(]7*c6.@9>;eUG žol6lwPtB],,d@&onyG T;Uc_2I].>OVb: 8ZE6h9hf" _-M96v7_.&\6%1ev+ .r{׊LTuO-O۫Ln'tjs#0ܖqƫ}5ttTU4;q2T`JRF Yf1tKjv}]^}iy9݌˵ݮfV ڧ:FKi:jdfO?76P1#$:ui!Kh~,~EB\xYh-Rl)r pMU]JE-EM8[!nˈʕ)3ek Gjfҿ }Nc` x9lo0H tf:'"fm& Wɦb/yUO[F&qMR&w^d%Hw 2^OO{;bO+~TsnDGZkFlz;١=L"A]sW "TY<a^"W.?QO%_zƾyΫ ohDV2[[ͪT5z7KI8'ogʦrTV$Ksk{[n[e^?Zс&iO>QySMQ&g5?.L25jj̢7@9O8}J{>4c7k nyO˔&3uFW!?wj]rv"W)ODp. v4&Mb{erE&mmL:qV˻ksS<"z$~vܕڨ({Gkb.!1D0wnuYcMFV lKn;㲔L߬)NF#eg6itl8zTZ"X nOz̑8M#:NnuN~N=q.ugMJ}'*snBr4M,|y'Ţ0 S-DrB( LOggSsZ#Iθ%-+%1EGI977:<<:E@CJI#8=;ABE`̸߽ah4vAE#=b#-0bQp{fZ!0XEA$_ ;}L75Ɣ2I6})ދo'}JSSY=1kբ\if5+U~6Ȟj2 ~gRh\gQ{Vj]}=}1]* iy=ظO.FнL ɞp`z-Hp>,Hc.UYGe)ddd\aQPyxȭzS ^V|/ͱ`|oc3-w7Sـ?؀DCWťhb{ӫ1PR3V%*l ezd_InH(3~Vw#7q̷5e~{n|vH:9;ms  >f6MNejq3,z?ˏ)h]MQe;K=dD7 +o t3W{x iipft\}]A[L +9Z.9'fm.H26-UsEeE/0?'BYӉe%@,ئc `b>*/ ^%BR%or~_^WPx23#f9F̗_>7yqx%ZV?iwZ{`S3RA)\^e-]$9O3l*wgp+%}QlF߳gKQG^׻v3gy;tWN wˉ\n M09n%"Mwh.)`G6^}oV_(o}@#'ĸDz4TĤDPLY7 qc a4=jQxnN 5@H'-N0-@ of33o }as^=poZpd $R.l=flDQn^^_.RpeϗBv}?|\}F9y3Ne49]/5T2rz%i.+Ov'nw'3Q,mv/M);u:{Ձc5m{DKS* ϻCJ,X6$%Y,aD*qKp=f[Si ݘg=L֌;>.i$o8*m2:07^Kչa 4IC֏(`Z$|nsu)b;tmtq|]Ϫ@V@6[8^P5-KP G ۳(2'1W|4{,i!*yr; 0!C[V:fѮ"r1Y'_~`fƦ(Uv}Yn~qxw9&=~rec=Fs%!7^BT-Ϸ{/42:/)wQ{MnEUa΍+.-`Jzr\n+7 ]BN8Y +&) j$./(~T.h~ 8KkC%&7ȲlIiPYOB ?Y8WooVg[mL.=VPGI曰edy?yT!;>lx]__5߲_oz3OoGػ6QA#@5JVI ͕6t=}~[ri}6#1  `M7>wv\{W 8!3Ӕ5uQr47 M]5wGtF ZgNȍP)#d<:Qp^ FJ7?+? TcD: dҀ]pl]ZbZ[Fo-=Xc-D[z Ԝ ̭|CRĘ `[4AW^F|lZbJf6!DY<46~6X6qUSLRyGzc>=G/5\]Ң݇e+DoռTuڍ;Ch^WKr,_ߨ&Re$zA&rÃNuf&fɠtvuqpq(tDTObk+0G@1\da.@F,$# heq{m s&@2K98Q5:b[k-_)^0`VyCt*KD Pz Ԙ)[I=?mImyBZ(71joHxΈLS(i$Z9ۈ;u(>\R5uAOi&KJ>aSV6[qO62w1:gRiՊ&.3!I1Uӈ U)+)jbnbfx"v#~&z7i?#-;BF>EAAFI=z8"l(P9nǝw꺥oA/#suƜg62/+1phF)~;9)dB%}14BHAN: lc9u^i;f&IoXq=x<'35g}ڽZ_{w itn}J>9 4՚gON*ޮD)Ƭ%CE#lۃ&z7#>33.v_i4V0{lL jaDMFcX3b}sU;{t:w+#x2thKI!g+j[@}{Ea՗)\UR#;1al_@/ :v hŤ49$^@H} oׁm {o57oT ]ËÕ`-~QA}wGY51IڸrnfnmAkL}G,ޞƛ~d+WLB q# sT_?][!dR7*{o|>uRyaiJtk -q۳NÈD)ﴰ  {f&&VLo3Jpz72k *!`#=%:<_ bim yO̷٘W_?{㔛[RXft~m׳C]笚5ew 盳%oosPW,zz+v:cy^'*:e5ԽcT~h-h/e)99)>NZ!\;)NrǓ;C'98Cnj ӈFcM=z& ycD@-e#g @-f tmV (6b@A*b3l0d(p3}ZkfS6eV9 ~Oۯ/c>[HrI6͊ƼxI4ܻN{ 7y+P+C2߱R6[HNK).^n=E\BikTEp(4<==-eǐmj&ʹ)ьŻtDس('aeC>@EepaG=~SgE\N 6uͽƦ! 9Db=5M\:@a%GFE{6sjDo^jsW&SLҊVO+lFVIx MThg`6٭K#w"I_Έs|x6mZ3wldDt(^r3OJ o NWI`fE-s[mv,skn 9<ھ ơ($A ^eDD$԰euGBtwuniӮM۲\O 3Ϟ +W.KG-h1jh؎{nVz[w6bK$tN1\;/`੧q gsKs)Rix]T3܎Z{7?N])ӽEz[{,6XN]VPC}lL~saΪJQߝͶmtWft5Z tK3:} x Rj"Elb?/S(+!=׾.6AyYzڪſV< ulV2"lo읝Rr735Uh+Զ Oր^V*X//|g ^/ݓO2Ge|w͒/E 4Mznڛ\Aj!VJcv_z8Cw]lɝ)Ne\DwLHpLsG,Q}l#omFURxE6 (pEO +|IqYL1]^&pyØQ!y9H[m1dpCc5OG7}Fx* |+fa8 !В^6'JҦ@Yv,pI3pY~?j77 ]OZOFlT^F}SpOK΅GT)T;Y Z;."IdT㦻gOoT'{tT|{{m|"SW'.b,;bօ#}2e8 wof&.QBws}oZF$i*uY4.ijBwIॾX3l.^=&OggS@Z#In*<0(<78787H@DI>99:<:;DHA8;:>>CBE:27e̞},kjɴwXk-9-;B,a.h]6( 2!D-fQ9]i$ŝ15jRf{BL[]ܙ^秵̗:>v.~~3d\9ڷ=k7v69~6ӼBSJy8:Q(eN2[ڧ*v = }Õnnrw 8_j,c@vSeOuq``x4$Tn^VcGa.rZCvvbY7doveۆeو KZpo~ܬWeCmt\ [7=Nl(tͨ-_R'w6p>ͳK?".U4Z NZ5 'w#OݔOkJwRm{JunW.# ww_w{{nK_7`8[)N\i)m_7ʘI3cSWs]͂԰)`\յ?OMR0٦>lЏסlo = }pzȃ=X(h  vvG H HH)Zxx\0Y)+Uʢg ?r:5=]38ώ}~+? zŔ$ut7\j9>zK[fA޻oMgD~UN. a`V13|C1SΊMv CffON5>UWi颻s:E}du%7R+Ӣ47%<*[NwO|j (аmg59>֋ g˘fg*M:ci:*k7̍wx&/ ;3Zcj:XM:F,Q`PQ.=Ќ?ʦG.۬eɴJhETc;`g6MI]Nx!.*_`JC5mJ}O*7ZuQV$uE["}{m-Lϟ'[l\#XKhwK-V*+«}Ljce/md T2c`y8[$JHtSVYfhjeydmJfvdgl::˫Z7O?z%y^9%~[.~fOV5b'=Jsͧr\7Ob͓nإvf2gu*Άb\ʑ1lHit_((sŸ8yeVceUfS/'Eŋ|oU'% ^(%c+`]jp(a '}LF’*э *;1(YZmkh`6:V Ć Ybpknvȟ(9lȢTx3YVvd($lؖ`3X'&'aDQJ3j禹vJnO y愃M\` Hf]PXX$K|껩mV~kgbAu=c5=  Zμv$"*I{]\o]̍g$3{n1ly1mXt"'EF 'Z3Sexn *ߩf?{ҬsI3h1ĀУ?&#a )[";wR%FWmoo{Tfېf +jɺv[85nZ|\6 pGdiI\ˡ?my"qsuov/j%U#2@}x[t8^i+7:9fߎ-{Ɍ$˿OF/{'y2aq`nu:0{-ޮS-#L؈ A 勬X{əuɻty̐*]ԣiUD!8^٣Ny/Y bF+t퉽 g~'ּZ;gxPqgɋ֠Rme:FM7El# 0)io?@@fj@?h& ?uYp#3[lC#)r*< ew:(w%o$Ƭ[6ظnD%YO/kzu31ѵYom7s5]vzP~S}Vcpnۢa a)U/͊ܜ;5;z7g7CUV+57\:7*5fHUKs* ZT TU 8)ӹ x2DP3{̚waA 0?dF!׬`5-k^XLoc+T N8@(Tǟzo60efco?܇.nX/ٱuyu՛s=%^V\*]ܨd/Ykn+uLW~'"~!(ӥYJn={ʣ.F!)ɚ8^:`g lo>wmUwrfl(Ⱦbk\gVA;.;p#M.Vk{ ^ gH6i$6`Lcá_`fm/7nywsh^TMGU.=nd :-v8Ly kH==`N:a6c ҩykW`j@33)̨t]oϻz[y+KL1kt4\lasYt2daV7l,y7w3y^S/7"t)43-*SK:06ĔJJ=Dي/{\6斱=Y3T s3 qfG'wSaJ| ;^ӬĐa-~j}GoFK(`-5İ-pOs役ew8^cbp|elN!sNud9l]tمOK~guў'Q۫3HkU#a%<C.UW Nq'l]6ausUɯQ(P4U+̀H퐏%/*ȍJ  |3OggS@[#IB6&=:7BHCQ23><=CD789j-`lS]7Z7oʺp03UQXW$B :&/i/K:嚎07J Z w`sE wP{S}wA3Ӷ ݖ[_77be.Vg_ƒ X[SPZt ? vwͻas5'3UNҺ*fm:$*\BЄ .XKn1cRJ].R;ٚl;lom]z K9􈅇X7YNUzwј5L*dF2,GuT5Z<9s{dۡߦ#mΖ:촭߯,ЃF<9+(dҌ9ri&(+aٍۑm+«sJkUJ#3x%>f*Y@(,q `Z3@dJDwljf80f֚P tD38b mi[`*Ԅg ; Ϙ~7LmUJG^-.bc#BZB["CʺFy-B[`(\ 9B1\V:IV.3 2%|Uh Gt fM jS_ꞜHXqNO7Ӿͻv+YRUQO"DITlscb^#,uG -PJW͙ͨu#"Pϰ:]_snB)AlVs%HE 8#AKZ[&Sb H&A @W`\q!H ƃlÖ1` ~;}k.Tup( @ 7E{2;yIzYNn> 4g!B.A }E`?UP}z!P}?uԟB~=0&tUf^=s :WVK)/7@a'R4ސ:Kc;wHmٖNWSGw߷ ,Ѫ}5yͯv\˼#V9Lr"! xwkp@1""%>;R.U' ?H BD$ ozƬ}Xob u]J6#qIׯfq4/[13[]wuHǔ{v\*(m+&1wCi׶Ybfhg:Son5kΜ5ձvzç'et|) q&et(3 g,Б[?_usUݔΊI7dq` 81n78NJMsf"ij}QY$$/*K#}# I+Z=T1i#)/^ rR%SGJ~=T]UK2ƩLj}ORzA퉜s]@T OSUH9o׳y;w7Ik%r.躣8*D}˅ iZ2ŲAkV ÃC Y rQA+Lgn>}fwwmwh`E1r$e[LMM(fh0^}Ic \8} ~V̝1t~IA س),8J ͧ7GjsW_.Z2ċ~"TƸtަ>겊C>ݺikx0oUnP.xȍk3FMzH\=twJ '2AWb%ʥEbQ^i7ɷ'It2E[:EK]nnmܸޜYlRʊFZntQRUTܤicnKrnڤ]2:Rڞ(SXean)r5Rdب9tZ_XH-t>USn=l`}vmW1ߤ b7c,ӛk>>֝bBoh(g:XľUΠG'csl6{73&+`$'7ϝ߿Yn~$IvO%vd\;0hTRV.Lŧlz(PJѧ`D\zʝ*yi\D'WV])2n"7nH܈q q)K)rKP -Xgi\90qJ&|P#.D1pPd;#C!]%@A(WOggS8[#I?'.)&,A<;EC:<9;>@9CBJR&3>:9GFDUiAz1@;asr/Lڽ+}{ˏ >.tViKÒsSpqh6Cݹ]}꭮ Vj =qIƕTHYBn FO\vtFGYe> < 6~y{UMvn g{Ɯwu80l<(rIbQN r̓oFʴV?AvmNxܜ e!Cbe'UT]ARkR.u*uC*=RLt( - ֽMDξYwȷrrV֣=|79@74IIdE '/)Ok+sFFN]^7ơ3ܪq1 HX{<piLB  lB}Y׊7շƎZbw͖lF.C3! scm "\ͫ2_7[y=^euݿt_^݌?[~+"ݞgs1&͛h8^ѕ$H>S3}u3QWˣ#P]ETF:z#^ʟLmN ҵ q[eeӣ%l+o5fkOl>k嶀+PDڽB'i8v) @z;:qf~ &=j 'ʣj0T{=n4ŁcGH;5]eoDD-pǖ9f,c%s)e)S؜zG˾ұb7.JvjI=is#/s9>֦d9kykc^*˂:s{ qpuUx4Ucum%N6&-CV=M|o{cHax&UD3p9&MxqE}OǠc< *A\~HB0ĮkMV݀ ln|h Q6jͪg̜xZm$#m7+fT*5j%g<0+,K 'ut*UZT{ٺ6X Vk970Y¾4m>fOoPE+H sT $Dv~TtsyȞ]"%ЧJI8ÝNHB+{2+ѓO:7Knۥ RARIn0 @N0?\M1:.]QnmŎ l =)(g7G~+2rgV+&J4z[&V<5WCX?Y ^q"7%#I ?ǪP I3ͷFh0"2&U~f[ۋ~鞭0ą$5ٱ|mPLHٳ<7+Y[ڕ}ǿnmkmt% 0,2K@ox^\i!BUG=|J]wf0eoWo,o`pRFFEB !Bp>&>=.`(5&QPB~҄ vo_o6?Bxj4׺ת{_@V @d\HW^}iC~Ғ7(TBoҦ3{_TtwYYcQ0(Jx2Rz-NPJ[`X\92h-ۙ:6D\5G.,6(;[9U/RT'C1]chg};b lLj@,FI1^$R-0 ^L$8}Pj@gg7HfZ ffLLe۵OW|V_%Gnz_C;}SjϩOIDz1YPs~?_x9KjtE^=sWͻ[^QCIz4ʢZTn/SU+՘qtw (ve+\TDŽ\rJi8q؁Jưͦ/"{wD_\1ft] $YQ}l-9-75 z7y8.uzZfb̾n YcC%1G(֭ !4xJu]3j233_lW}ՏtG=oaYzJ=TjfUvYYUPϏ}P,Xp3ӎB{z2ig ks[WNL~4;RY].uM˰C;ZȱɕF**} gIV>nn.#)cykQ $J k _>Qp,HRŀWgeMdڴI'MG]mx|¡BRY6>pV}|OT")9ece! :ևrKjbTtp h")YP*bKJ\Tmoz<ݭ8!K-\»cf D$dbǰc$P'X}Jpԫ+~I+庫٤r2d` Polݦ> =?7zke"[y޲ԮKwcDPP}:ױY,RсA5|mpftmK+6vڔLNuǪQVw3D~Thpުmg;}=W{3u%W}zTtE6 %@" puT6-}.uQZgr_z_ 옯Q'x?Ӏektx2ߖ)[[:b?SF~Mo5wm}mLAok - yfr|=)\ܝY1EA|NDξoqS^{׌ud꭬oݙj؍9/D!}C2lb:}w//7S6I2{ġ3=Z0F>Z:snuG_\sg7{`9~MW'vFWI:Ë}OWO]WFn};]HsW7*ѵ-U1rHӗ9W,I0l2feO̍We63ۥKMh<  DioCSٔVׂH4Xk21-OggS@k[#IYF#D<=EG@EE2-)D<>>CDYcŀSL oZl-&wo;"oyjisY@W.XGq3ӵ+3Y}tzg{4OUt3](wǵ uL5빘P}}]vsO֕";*O֚$սپ۞kOLj mn"3 W&z6RM <׾zrG/KGʉ>}fo;#K8sI6OYֲhe00b߭j8$s11ޤ Pv:DfB$!O@)IH,SmFW270%ofƦ,3\{ybLթi5!e*wՠ:tZ3|*Hq-}Vn35.SڹrtꞋ}A#8dOQݻ8¸oUJʥG=scs3_tBu5g'{?[j\~`Z7O?צ13g,y:ײ5hM{vn7nEcȭLc'e LOpaMޫTa#+/ՉJ#1Li \i| yJ)u{z@vb%7gP w'luMxtZPhVixj袹KꖣhW=;[Ѳ"O=\63\$ M6`͐^t=]ӡ4wr27qZV;^ieU?$_2+zlHiVqͲ`t5;u:5;~eZgf7Fkچ6 )F.CPKkM5x׆)g-:kP>OSGhr6$ jArkݱÞ3JIfBr9ޛ89g?n|ʷtMT(3ٯmWW(_UEiuw i_ԋk./.74@iC{5oo~]ᶼ߾rVKק+7Tlxt d4Q! &iEOHgQ;ա|MyC<^`%c6;`<5p'$p~ DC4l#eNC@:׵ /佩Qf ;D[0VZ\#OioQ}nzV%sk] ˗Lu9ݥ:Z/usĦV}sҹe)giN]>NBh%4N;^{Z+Gh$Jy Vi{OānަPY@ ^*mRmFSIt@k7GUK](zTUzC7lZXZs{3pH&-N^PඏwЂ6OhO@4WOd =Exr|j̻{MpԌUMMDF-f洪7hqb| Wz2HNG2Ƈ&F,$mUveTzPYA%;]zMof>}Xu{qQƬ3U7n2&֜Qv9ux)/姼}{窱\n3T7uɨWamkï<7{Zs:q|;tRz}#m!8Wt{_Θ 0Ls[u U8d 2!l0`\%cCMDR _V7& pis[^Ԫmݺa.CZC\W7T*tlت!^?ۻ]x^[|:V>L(Z$ƥVof QkfYޱa] /=(#. *8SMu?bjN;Ŷ8|k IdF/Š`O%FbmUw]{m۰Ud|DyzIVc)@3t{oya"]{mvnV|&ޝm lNDK(RU @f&=AKR{׆\DOeӝ ofWyJ$dH5NE !ĝs5jqKj9~ V%cK~ļMQ EK75gmջ&ޜޫ{vi;RlB+l(Un\vzU]=un*뭵[m4\cR#"?r#e/0+ye{Sh!SދnnZګNEuA?fTMrq!sqSW.#=[*y'zfK+S~Be#\Sƅ#+ߦ^W\#M#w3WHiTzj:fŶFI{xKe$'R$ab6xg OggS[#IvoO/A<@7=AE4B;=<::<:B>?HA<>8>=;BBB&g`ڀ%:Hͪ\֥jV-UjI'<6]agALf/\0DlԕPdܠ9)>Ȭ5GMW .;e<]:h)n1 G /b*=NCO _?ۓ'篤cŶLF! ,._EE"]ZG#'뛋^gbOoxvWlil*4I6S@" {7D_g{_7S쫯lsxndrӱ' D:J6KH!1"(CjY2*%Y|Z߳RlznwdCDR%źqB!Z$=j`JOTr_|zƟ}+Y]6hNⰺnBW& o5IˎvIV%})m۶uٶʶm۪Tʸ#](EGț{Zf(#ܕB5#{gf1Ͷ UU7uYm[ tZ\1(L2F(Ҵr8jĐQiaYH]jzvZݕY+vUvJyQ^*uI;긁N?ei L5)Y3X4;5dܶ%tUi[/:;E$@o(,k؅z;Ot6̌Q䭵}wc݊R3uǩOM,ۼ$7++3Γ3jY/.^mjX*STm=mq3zW) P~cSf "pFLvoeQ[9\:(eǭ2ذ1XPמ**{X.7IPaΞ|sd{ރE#cP5ݬW ;a?`5k`/jl57Teh3˞[<|*Ίr' b1eS?OFW4x*e];oSuI[E7<\\GfQYP % Μ2$ilkC[YvX1tuG-(e M -3SxJ\Xg*}RlYnilX|֤&!wS{lShv3" ޛ[BGzW,\ { y|5J?t[;է8WJ(F*W̩~;4'Jֵ,sJ!EE ,cBh(hSW0Yx۳~c 9^yWZT,mʪ,ukq]rQ)*wu)JOzw鎢+6WԻحziQat׼u^nw:V&rLm᮹Wݻ]h0yK^$6?q`=]ۧf1./x!ЄSk)EcAzŽLjO$m(o q5``75ZeAYheȢRixkb%[hn+^3mܕODJyd49tחQEޥ\ьZϝ޳`޳2ΪdD5}u6(['@,Δ==c8T!g\iWboKXC[q+?ҳِ>@C垫@}STz2MK^$!S*l=&ǥYfv X`i HwjQ&. q̔*32x4ӡme)Cz(7 s"V|A3ƅcIUIqx*evQ΀TGLpJw|O^z*|T.ݼzdV76OoDn.TsF']ͩ~JԫrDkq[v lΟp\yVVPTF%Ղ64*=, 3fQV\ 34=`D5m;z}mb,l6N@3ܘ 娚AN]9m ( <"QrRM߳ )C~_=ԥ3Utoߵ.dCp>Y3L2uk0? =ĿCXQrK?yJT^=9[g[?Fv2:T$XdD>V+CV޶Ux)Ltਖ਼-64bp2aHRKE|=b9<9U5ʵ6g-YTck~l=} 3vT2D.aRZV$=wVmz繉˳TN׹e"2z>g1_{*e"[sYby2iI*[{ﭺYUW۶UwWl{oSUˀDY]"`@>P @xJTʥU ؗzkmuv[lvom]&'*:UrH!,gEk(t̙vsϴ$aQ鴞~l[=\&s[km -ŽD 5M$MǩB{wߏw[3XU 7jlJM%?'ϸ>-Ǧs$3s]}o;Ym_fzvoܟꅒ.d{UKŗwrqxs%Ձ(!׽)䶺r=5.n:/4~2خˠɩ73@tvPƈhl(D傏ʘE_+2(,GF2r#b3@&2ZD9DQJH(0- HTOggS[#Iu'K:07B:<9;:9;EI<8>=HC/2?CDBCARycJh"0КaƔ6m%I n$V&WƛRgI~;W`B~\ D^0;6*/H>ofn 3X73O ,c}}tN:]ȑJGZJtFޅ{ZWNYݎK:UTGKDάکmy_^7`i!ćRE)]`p^CvȰ]^ބ Q XBDu q+?7f!n S)ʼn%Yr7ET7¼@b"l7h&H- =g}"/%FM?Fzxp0~MCk)R5UF8\? +:N8xRJ,gNryKVȗ:W`/yCCTdghdyTL<¯8^ _ JO[٧,VZF9ZIìSJ 3LYJ!/*@'C{s%TXvl\N"2+IMˣWj̆Σ3EUJlSHfz ݳco#mdNkYa/-R`@ ~y0۔6V5H@Zl@uϵ7SD\3W$%~rZKinzO˾,uݕD܁GWҫ"l[["oAlYX\jJFUൔPZ"0,7\9R|\Dl 3x-.QGWG !FA ZoA@bK %t\FD n~fB2sWȹ=>{]* (&XI$Gw3/e!eX'OCId sU,Ւʏ+o#{J FOWO|J宨 )OMtR0zUoVF:(xrK^Y;[UW#i:6vq7& Q =th+e qH2"7⃃DT7d2L)`IyL*EzF_RovJ$Rl$IF0jg2QSʋ7 ᑴ xYxz:C2 d&α }f̥ dRE_k7%U^{02w*9;mn_,vKcAwSG1w{xNDT1goLj;Ϛ,t$)BU.>+%E2-Kq3Lzzv]2"6IC@V%^/|ιTZŋ9陚}Ut zapD%ɨ5z,U{TQQiT6 ݌Ogd#i%؄r jkzCQ𹻩4wVl㚍̧(YPmzMLv:EڋL+JZ@B'@/i "C>C $j+RnxϺV;۶VA5̤YJ;N`y @wOjDlt-:B h]5uMIV>}w?jq{z-:d8v+jKThCzx \7j$Ln;cyiMDK!ěłѹ)j\dK9c2T'KSRxzC\[t"om$)l\_5BmiN6,rJDL:' " s3@uHYÞm aT lfd.D2iXX# ē::0fc7x?l/Xэ^އjCgs{&zTre 8)uJ 7 %C뀑Gx6άDJc ncH$R +w H@0ntlytkV.\ pE @X@&cCԃkK{UN8]tt4.if -eNKGgYjN' ~Oվo5}}5z>s~荅04 ST _r ЊU]a\Ms^[/kZgnoyTNqULwtV%BOp_]%3ssg>>nS\%]^VV)fgl9{_Iiu d@(p>xɽ:P@$9flLe[@s\s-._pVVk1ݿtL ֋?kyOYl[tHL}{CueEwuS-Z^>z]uEHF=I ;]}'{?J߹S|/9ʣ2)G&2';1꿭AP " y)--U2H 1PeS͏+r;(3Y%n1R~a<SSO*[)[jO$e < 6*+S_+3·ɴJQ~l7󾺦SN3YVu'F*SC}k ^xln3˼"2Ld.݄3k׬״-w4-ѵqӘozJn{b\>Af2d.ZM!+dZ3 -I dL`_5hK1Dָ~`vX՘z(l6b 6$H R7Y6HcۚG 0=kT23eW >0Y SU U[FҟO}]ZjCMRI5ٗҭ nݍ#O1MR.(ttOT:vB۩)>^ۭF\}&}u]Hӓ{B=g#tn]!3]~-v~6-h,tqa/_WIUi$ݩ}B7@Br*'f(nY۹Mv5Yp*6UȘkQ[ Fuea{1j:sD"!TS.4;Z'ku_\:Q[$Vz|Gː>Bf<{_d!y1޺.{mZf-LK9"h.TG|WJJH:McSwӇkܶ+m4T'KZUVLa U? "EsWLf,޸㮷֥^՜E}>FY%q5["*H5/ _p QUBERPk#X~[ѮK}R֒6ȉ2gG7XZ"U:wjaϳP{Jeؖݽmp+ 336\+ZfTsEB}_+[Lbo޼2SZo'z~_ƗFLu#iy-=lutWݽSQ&hKoEGr (˞Vi(Sz-|z3-ōvʸ)sFA M|]n6`OVɐy+er3gbEjn" 2R)# "hٴJ_]! "(+ 9tnOggS[#In*=--4B=<<;=:9DME@98<;99CDFF&=>:D@BEpedc cav8艥~`a2g Ve4KK[PܥyZؒ2}j!bȌZ5d@/H^Vl, \c&"ыSr:JGzn6߯R]N {=$m}|sfY}{]dywTq{1)Zm|usPJhB^4ٙᓀ< 昄@#V8\Nu[t V6V1n@f\X +{\/O=v^ Sg➰7yWx#u :6OLwwc|e{34NΠUՐN&IUZf-wKݹuvN%ױ+xTΤd6czos:KՏnWp&C S px>!nLZvJW`\wytRΩ,' Q "26`~ƥP2hxʣ.l''?{p Fʸt1q$¨" B @8T0C)w_Uv }:{tI(.,^WkޛnGv573< d4ʠHHa(6 wjU?qūWNvjfn7u|" 32!E/@p]hܜw{G?.l!Jue{\7{b\9W*qM@ӕ&7iLbB8ek^3W+{ygEn%9sq!ޞ-c.%ctcY@wcYQ+E`HґI&OƨDUiaG=F_塯:aXCJ[Tfr(b'XYrK]fMü,ff(%)v񫇼}2<ە{/ʚ?z_fϾ \Zgd \S[+7{2#'9[sqkڦk6YK*8f) tƉosZ~/7UN^H;S$"]~(Wn\U W.AT/$v5 ДC4~̆J\<\,p .QEc "[ k9õfKn^0n*,^l*ЦNA*H @[*J;+ MDL>UMo E6~-" D:PCx@-ei]ݪp~-[l1;xvFi|LPGNex"+)t+Q.V6 /II[ޜjq3w|ԔAĥHs9[L;("ON72PE̵D\'Ƽנ^X ̚Tn&~"e=r)P+$/nX߀#|=!#c:L~VI6Ꜻ_7[ZOb=yk2D ;N>ÊT /@~.MMB9r{T;uץeo49G۾YwUPcŒ1q|{w_b_o\Cߍ2WYj(&{襙Q/ ;f-BN!+\&"=@CuJ"쨚Ũ17Ge#wڲ͜{/b/onzJuшj=RvTBhb(y7]N cF)L+ _`p˟;1::ov%K*g?6Q~!2AA Op߹+Gp~ovS.&rspL/jSa_r"ߡv[]E4gٟ ME\VbdYG0]܄Lh K䟂˾L$$R˔ hjuew$.FFqf߶{ 8=`j-{! iu`?7n ip~kbCH9aĥJUXkB/Ho`O!͔23e~ٿ=7/KR#}8Tozo=ɜ2LADNΡWSVvz^Ooc3?s9 '*|*ݬTDCuUA+Wzê՝.2JOB]d-E9DMwsL@GDnG{) K rF\X"RVp%h` 4nYa87[Ӄpo4@VI# ^! \B =Ekp#SxjF͘R~kx~y./ᘤ6z>z$sC{4۝;jGQ2Uzp߾FЌ_WK>zbƫ̶'X/^s-&)@£q"T[_}II96yDIdn¨Zix5.#)1XW [\l[zϛ_`mel~vK$@$ "5G} ?`1i;=h%vbhj]yZmػ|Şwg4&_bӒ-2,E<<=EKIDzًgZN ETKo9| ^gJUb+C5}Oy|0xӊbg鹖Өsy<Kj9{]Gjn'v|;6kdQϦ}͵˻X]Wl6J՜r8Cf _LV.uLDYNI쨄4TMYmrLr{Co U"Ӓw]YLʑu98gl Tp_lNfܯElaך,rá`/#̚c^23a h ,B- K_APL4> ta ҢD|m,sߵm>1eT̔2e8^͍y+<;-+ojؓ A'U7brv_ao:{73ĕUq[nl(edpeޙlmڦD"5ѦSLQJ ՝+T`*AR.\y/ɰdVi@oT3?7EֽnۉJnfLGRU'96E0qZi^,¥'&SOkw M yoff橑e+Ny]g b= u>U|ɸWQ=^Ma7:4}]-d=;iwսYUՠr{.([vQRh[Me]Ew}U[eٽaL<{'^=-~İQu}KV:Bh(5҅+HO#9DM/CYrP &i@R`I@_ ]r(˜9`pzc*1H) g]ׅ1þQt[̹fތ+See9&=?Ƿczvs96j>^{FkW5(}{ n:=ofO^׌䔷q7+Rzc^9qYFm:1jkt:îQ.iyg[]gR]C_ Ov1rtrR9sOi0T{_YM.XI9hһ8 *xJ3-Ai10#0N Ĝ `Zc cAjhZـǛ|a;)*CP"@05&FG~c{y."dJWS*I㷑$g=17wg{-kl,t 4J cG)ŎW'ӧZഹr~obZ伧4[~rnNm=*Gb- åavH3"';tV|̛'Osxp{1'*iaV`5B5, @:v2̀=̀ΉJM9gf@u=G"3P8 [WSib!]0`$/49Ϛ ̶/Yqf)xU A!Y  X-mIԼ)S&X1iz㧗ޗ'לyj>3ŭ?$c_pjkv_fm{gr .Vncεؔg~/D$6Uu QU#3ۯiYp9WJN{F~b+}fUծU-ϩTtN^vlo黸긷ZtXOZfg:`ca5W+?5Q{ ل:td+v0#0PNVzjl絝z6uy>NfsV;iy) Өvnb_)Sn6.r>w>R2h(x6*^Vh:GZU 9zd=N2rXF|zC-%FᨩtGXDV$%&CcX>bqv?g1^F={6k+)nf AmBS I5Dexy/cT~GYR{4'?j|on7 GoW3Om?M!ŊHT%DEGQk; v.Qm\[&b -]m vJެt2&v򜁸Ȩz2NC1T_%uҘ2 <&r=+:ìH<" Չ֠ f{/{L{oZ ڡh0lAZh1(;,w0 ;!`!ɛQ3jTh{@X)8/zzDϘڝ~ۛ)7 S* 0bRm}#)A\vg`U^կG5d\*/i0RL: XylAҕg|JHJ##]r՝"m[W9W?Yɧoo86H&d@`ąTÑqUY35zUlH;psUlM x  +[,e ^cUIULcfJU Ps%$'Sg"uwU;DgrP@:B)ԥ=B]i4ќ-BVBϺhkn6 m0fqF$b9(~2ȩ\Sޛ'9d[S8cr&?1a4܌No3s.W>p=k{. uf0Ouf%F_6X8 mnn,8 7:*V*^ySb)Ag{Ob3ce3? s̑{:hF5y ~me*=YG[oO͕"7-ˬ;ٛh+*OSN\ϫ]&\^K䅇S*UV)XS~FaZ}'v"߆W9.z;g[[NJ%rO|gr`$rT1۪"'ofb$L|:gRѳmSڠY,"6cBm@p l:]6ŲU=Ÿb Dб9kwV:hq~l}-mI=l>c;Q0;*M8wxc+}qrwmԲ&s^RzuӃx$R ]۽{=^T.Nw'm 5NGdDtN!6`%B5PC$s%v/,O֡=Ykyio6k<qCrDʌU+2ZAWC]y3UkumW:'{4n* ߝt^'*YMGJu3|&C#`g){6uX7pnmۭVԳfKD04Xlu;gfRۙޞ lRNkUs$@@ x>gw#T@5Ks<ґ oxIcj:m[JdTZlͺ$u9I 'wlJABЅj{+v1T.kvﵵr#OK+'fj{U }AxM_k{xoFSS.h2WWFm$]WkO72=)#jtWTzQo( /J7.I0t5mBlҒ(NWQ!g"CeE){%q&zzi(]i*lFn5QFmMnFU #lNia\y>7BxvZ%Z஼J):q⩧S̉N4vZ/ R{M-"Kl0#'& PpQu5 @C)^MuK=2S| Db7o6#\18ZNÊK{b"-7ݣ|URKl7ȁZko٦ܘ u-ֱ6n:1p(ueyh6VN(Hru55jʬ,n,Ym3A Xo+_Ut +I+ =*/߇޹Uٹ+jv{[]#)AIqss1%G~}b+ݑ!QRt2\iٰ.1Y;3x+rq Nfj:"z6;+ÖfoV20bLv10h7GU0>i r;uG㴱7bh=woĀt0lv*Jzp^ Am3wὙd̔ ~YS읅bbLWwx3_W;v!mv͆e"$z_v;ӕ쳄^Jd!t\?Og>u=unz"9i'&O%MFiE\0@@çL9o:Bn~;W\>W|VX.3[Us7!G"pJ/Aa,7I-j5K2OggS\#Is$C88CA0"..;<9D@4&|c |moFT 4M\\lw H'qn\1`\Z9Л&j| Z#:19s)k2_%h![JMD"¨ (5 _^ 2OaƍcUZZ+4bHu]pX PU3U8K*+ԏn^d-*]^j'KtgQ4ަEyH,z?gvvc% xaoIQb\nr_?.i=lZD#Yż\+;iA 7oOB䍍e*oϯ OľRTc)vyӸ;ưI]3e>GdcHtvf~j&b{eۙIr("*B h:MdD5"Ք:3.K EܒKOd$@H63dʲB#I9 {0##3J92) Q̀ Rr@N&. :4fX L" tW\̕7+5P)_2qV`-08&+ _W>lnuRj,@q>^GTԌ89(DIlFMYh?}l9ϙz=#K9_(=?J>>C͗QOيFgVB\X(}ʩW03v)ZXETTsP*G ,Vb"^ nT+PȠ bBFP%Eq'iˬjV$J<./ p䕈`#3Gg(urY&7-6CFp[7?_|F6Exf>Ɠ~ᷛiRf"9PJ]Q:1+y{8Nae>d}{ZxTOZ+ns1EX8vPLlif.˕U@kNFFQH̎6}=yPW.-fFh!zHJH6UDJ/W9T,tlf;ӄ (B\b!!b3;~K)N!CCT[@dghhv\R`ME*`iz5mٓa؃}A8lG8[$NϙGz.Dz97@(9!68J*Ʉ,' .LcuX&+eJ|մﷱHDr_VʵEkq8EVǭbz-JjRR-RZōܳQD#1[r4jU"l2H&bzƖ@ 5%q2ʑ-U$'3/<xE,$u(Lɱ6`X,mnͥŲc%̘=@g|삫TUlLs⁴[)bWX8y <`@X`Z`$UjƬBks2r6Hɸ 'arG=ŦfVy96u}.av>S[>2Xx[{&Q!:2Ve,'To}O3Ջlh*!@!Et.Ⱥ*Pr8"# Q.dFn,9^" M25:r#÷sE H^,, N] ?LSZŕ8̀oxr:' :zR*P:M*@\J{`1&YII,;9MƆpͽ|>VcN[o8uc&37ۉt>P˰{(oDD<̅/jvXJQnTCp^uQRe$$! U)zF! \t@Q$r 1!J] )qS8 d>$YKrnj( KT7kpףN kj`Ruqw\-=oZ3EF;s׹S@0 "[B*ʆ[^olRk͆H?]IE"(eQG=&੔J,w֪]KQ!r/Ey/ dN OR k-=̰RȦN9a!eVByWwBw{c[k\c@ :\ ICVr嵋tHxhLDFYtM{#v^`8^:es}Ai֬hH8Vi3,|`6S&)ev@X#v=żW?ѵVZV[ݍ_[OES\vmc,AeG֝zjtI#Pz܉1q?Lhhuu嗭Jsr-{vfTprJɥ)+S%Xv!Iʁ>2DFfHł Tbn9 ^,/lD>ES袂pbBH$@U//l7GRqRB'> 1[`75v[dךjcϨjW3`sT>5"H̟fKX,YLaⓩ:i$Jȱ@#kiyF&Mܿd"# 6o{GHUݑV8s$"x}יs.|gn1IhWϫl&ʲ V/GN`u5j2Mt2dv݋ֻwkkt~`HYG7=Re}lkz,L zhv}2qT;$5þ {#Q{l_^x [UT57n}L_V3=nʙ,WD==;S6˻ޕ|᭶Bg0J@c=\^n<:U4af|=iy;yq оكa 11E``>+뷊(Zꕺ E% IK$6 P682eOUPS2|+Kۍ\Y@Y bgG|E) 1|FEuCźӒ%DP6-Ncir?աś'뇫)1w{pT0Rfѻ&OfR}0^;sO~*uMmɉYnjp>*m+@@rrcebEt)Lₔgcrmq 8+v=I V1ӽ8A<%XD(tE~;"@-P̞YC/kthJWiN4-xofu>[Yho>(Z^N 0edR?[lL\pPۻN/ժW-~\[|Eo.RYhF}HC@FeݹC]E['8O ~PnmqW,sw cP l***$e#%ƶrLaw wr\J#SU1魛NCuOggS\#IkB%BG>%%,(4==IF2897;==;CDKP01C6 67?4ۣp _l[X[7,Z櫓Ern$0+¼ }n>]MF9& Xlի3U}+ v7zB𦬌yyu}m|{Z_b=M+Sȯ'Nŕ-*yȍW%;fk*JKW@I] cV1ZP-y".DIK(#*,ZdN .EHa8&dGdfn[L 3)dy$܂LI ,1,".CφUFdv-u,r-aGړ\']QW۠ 7G+l ga>lF8FNU) >C7u0/pn05&k]0݊澭z]/"?b~D@qoɑnPGGB6yN5M {d$"C KIH&rs*$z\Y@@Td'7愔#)B,hⱳAIvRBC.L 8vJoHY Y$ZvcֻaZc5Y"Zh ]D{(YiQ^\ÂE0YhpG.>"6JډaP%'))X \3ǘRB+{*KO<]8w'b>&T9w{¦c(հO]fee(yN(pTW Uj*2z:C"ICf$k& YBFq"ӊH, Y!$@DrlBV[MJ|4|J=D2Ӎ) f"z  bEfڛFp* >˨ŢrKlxR5I"_>8B{#w(LeZ/_< g=Eu:u,hʈL7}stp|(UP%GyPYT$c@MKdm\^1ZH[J  TcB]4/R8fX _^lpB 0[d\&S]qoh{^$ lԧsp (F4~[8_ 7?{܍-7ۻ{  Wp(H9NWi(0@pkU5Uc6ڭ*P➮ 1ۋ]Wnf:'Y}Q)6Ty{ Q8(o.D n@# mg6:\5lZdWdDG53$⢸Hq!*9lP͌TK\Q&M~<šAX\9VHv *I@\5$NvKjy!rSiDAA wo` ct%=ۀU)nL^{7,#vivbֆWzTv " -AQͧn%xXz03%}unX]>ީmڥO>\mɌ4t$yrX5[>q ޘ5v8Zx#ݹ(4JW`Mwک.`` 5\ PI^T$$ȂHjR/I@K[)WŃqY<= ki,-Zi:h>¶=YM tsqcϯϞ[ʼYߌ-KZ3=7 pPtt`й.*cȄ9>g"rh$JnZT;WRj=saٻR^&y.R*qu:| J$Yq듙WT/3rRDI73ۼkC3^ l4'b!+;! C~o&A~ݫJL3 ="]E%y{MmD2׸/κ1Ci6O oIA9;3ffʑ#g2^s~ջڔ,e;5(ȔS"hC*c (`ba)J@V.ۙd83}u| ,jퟖggt@*udRatvq{eKJR +S pQ-翔[x>)V5a͊V8)TȌ0R9lXNDWe$LF(/}6!䙡Kq,kR3w5#ah)'R-[hэ-4֭߳׺g0͇!\̒~/>273 uvS*fJ)) z gًҵU;x9oe7cgMز]OW:Ha$ICXt:@/)1 rC[RmXWl<;v~̺,DiU@/|ڙsz^5) 8*I \ X(^aVJ`%?dR GG.v0ť3x]7.{9%W|[ T y5sFo x=x+3ߊ b3nm4Ό٥h 4DT[VS{o8YU(a־ުu/}z4_<~SJ\f7(C']&!2wk+V:*]HWFu-@xXӟ[Omdx40y9b6*[{҉3lKG QP`UC!O6'$vY>22% :w Fokz!MY^tVyŅtY֑b豇S B\>7Ho+E]X.n>ʊZ;=uޗzXzjQ| Ho Bi מ"w鏓HQoR&QP~ߗM,ַfⴤƖ׵y#Ϟ*;P_r5<"@]#~8z_k]]zCU(.M.F/کlN\ Tx$PUk.̼@ږ+* \uƻm_&jN/ BJ,.1 H5#SqV ԚK{@=X;PmA쳝>@W~& VZ y8P~ig(q OB%EvҌ 2G4y`V`-pF)3e~cpbpM1dss @Itu=R+]{hIm')Uǵ^ݘ4ف,J/[BժT7ŭjۊ>\QMJx"CDF3,M\9D@QRȊ0/$@n8)r'@ "[0&b8"ZQ_"inyu"m`cFEYkv֢5 I-CfS)1 ( `9 5L0^(-|>g&w*lQefJ߯zvGl6ٲmn":dJY)d䓼 j+YsxDuW|ݝ ECDj@L2T;$I&vŹJKL4:9{Tܞ̉CjʌLIQb(:#UJDD|o0FT1""!iEH@'qE  u0Zz L,\@2:姲iC`n5B׸LHYv#]30_xZ"Yn;ʟVSY[eڃOggS\#Io(&-98<:8869;?<'66BC854&'*Ux* <3:!)Wth[pI ;}@ߥ줄r_̌v{%J)e{ofCmkUURpt:O$! @:?CV(8_EFViVŊ5ͭٷY=D!+wVZCt 5$'!E(>nF#Cqs@!!M܃QHۛ>Q8O\sTM%Jl/׹qCk?:}y_tQP,3.+gp $Mabl|AePoC2ܭ"+ DC)"O&AJ2A; ("BiR4I%$t.r ⃙Z|1\!Aaٓ1!(D$weZfOcA-Am,[vu`4EtL(2vdv ET(.q7 1ޫ{i"$< ż-qR\1F{(6OWwfq6Ӈqkk_4giMjf~s7mVUIotETsqC)) cDsDA ̍,dd82S2,,đC(476B!7q2h4nXȌ r8Pї.!&-qDzVps/ ih8 T^@8{#}yכTZKyW&" f^%2etrL]㾍qImSZu O«I^wSYU-V%A:>r  ':ѽWܐН D52"&RZL6 A2E*8I9ee 'l_FEƸoTyRUI6n*d ۄ2n@TeBnTEX0 TWT+߽4˭βk-H3Nl^Í$mB/.dm`88MDO'R E8 }$yȵ2S3M0V+LUw3`;d/Ӑ3T*ӱq8oT5C+]9*yY*ypD r@ J BBB )BX fHI $O $nj9v1++"CVnY\"U"bK2%`ԍW3J7HJ,NrT2NƮuk7w 3Xp 7B)9:  tJ\R[M>~zzF>w=T)]fˤ׭Y5šgʻ.)eoz]}J3U7(e{+fIKmÉ,$+y,A(VWaǏF j{)D?MTbEZk%NjG*pB&tB7ѤFɅ>n;۬TSd#47ݘ5TRD4߂,4o . jg3+݅R*E6XftФ"Xt x]\fQ/(ߎg ˼MJl,#;\뀲j$%nKowͬRVN1Jf9͖|ŔNIS|VgD!w(]}7-d2zc;޳n@\PvO"{^[9wkJ!Js+oC3URX!9ls˳oj]Ӧot@zS&(&"\V qipG؄`8R& pKֶ_J5:l0H!73V+SrZC&K/JLh/߁FFw֪ v JI=x(*ѥvY+ܪ*,\[Ȕ(f!en"A:IƄ tDdu-f)Ȥ :1 dc]@pIATg.VlH&fT tg_J"wJh_]TC#P5b^뙞q(> zllU)HSI!K'Rf%.3R1q\$@З 4)U# RH$$qX/!ZH{a&G %ݥb58tؽ9&w.wȈWv6ָI7nj7ɮ<^TuoJ>%rSPn*jzf 7碣Jy?m6q.yTS0A[ U&R«)'R'FŲY;= y&\XAW /g$ѸdRo.pHl:ECVo[H;FK KӲ[[t"]+E|ĠP|?KxjL"Qd|؁ *$sV)pz򼫽B*}z¡b6 eHIIAdr@5?*QrNm|6CO32ѺLOKch2ݸ6S[V2,jxP:,:{׆R- mn!:ran-Z$=ak1|x3k'bec]wSFdzi-O̪-.ܛӜj> `T)O=,/DI+q=߫qJf_j~$$eA`T( 0lknE%M`;z62 HF>}v1 2N1qMk5Ku1no21P( 6εǓdIy5~_wW!Q@ܾd/Ap@('KT+PtNfCPP LHS*gwl^ZFg>֟l1wdTݷӮcg+܊þ=BPAz3g>,j W@(t a|&hY'0V Ɂ0[${pP߭"Fsbczٔ*2T#DID ӧ.}y;,{m+m5nDˠswu8hKo#_7KvVLTVoݪwk3z|jtV7HؼFoVz/7=h2Cn/n޻aQ[6ن,kϹRy)Ul',hI=!)ŸOK\~O̦5-*eWX59n$9g#Z%Qqګ"5c0?}kצbOggS]#Iv,2,7<998>I9<@DJN9A89;7@D@C5GDF8:8;A9E@II F f SXZ'#m;q+Tl3}H5 zK BGr*0(1p!Z <`ԡGnn13*TpnTٿ)G`:xsDӠX\! +Lëb#xc6֢^vW!fqzᙨ„L dUˑ~Btvٝx\b3ZY;i]k9T'B$WJq)$a#jyLX55Q+cKAHw' o6YbeHpSAG uDJD\N{eQ/ÓuWsnm.- 8S1G* 騣۳`v[D wq ѓ. 7na {h-N XJ@)S^+ғ!/kSr,>X"uYB7?w"(V `˲8ApQnu$#K25RD,*1Ǒ7MRLBH&)3H}g)#ȸ T q E˅Kdd!xK.jzٌ--BL1gZ^8 \2B5ҡXJ@@F`45JOjG9ᨒ v%-v(f3 14|u6g4b8S)UNծ-F niZddGZHGpFn?OLJT(ib!t?Yk7BXe'llBekLSKXI>z_1$Z􎜦P,WNmֺZtZ ʼꆟz*yaОgR ڃ";*vضڬ{oկmKj= H:W /"^1I@+.! 6wvgUJ2^HRZ7p,=]agWxnLgISE%O  7Sh%$?(EaDsi;x]ǎ3Oɽ1ʔdNj4oUs<~<ѭ{C=]s:V/ӷ<{~/sҟQ;٠A562?ØIna#zLFθ=Ͷ_2#0P\2K $Hj]۞, +=} jyt"jft*e{*˔6\uMכWdvF"L&_Y} 4 (H/ C++Lm!m٨-$o&w=K=Ⱎ3"whݻQ.Gl0cc*y>b}Mյ/٨NY%4WC>=&==$QiŵԬcA u8ETj$#7~0wvYUQ^\?t-3*i"rH3cjpĎј? G]^ uBaPe~ Us(bqԬ={#=o;o=;nsm/|@Yc8h'(q'R%XV-U[Z=Mj*(ectq\`S `@4REbfĻkwg_dм޶Y*žŖ0Z !Vò}t%_>Zx)?% Z,| ƬJD8k~+pk]UT]7\ ɯex(ͻ[|DuѪR(,҇C5(yrĻBFD"a'P*$2V,OnDEXɨnC<7E?DE4/5.=8=:86;AEF4;A@GC̑\Re5O @Cal"DٔY)R:c=hُ.Er!ڮIIgc>wih@;FKmTե6s8\2(>AU O`CdTB3Ax*@.FrHdxN#rH@uNȡHFM˸t Eb[).qgYD˻%xܛ< 6J3QuB=zAC?P $s"/7 L)y3̍=ώ_LFwșJ?jg2ܣr#I|t4.*܉#aw/=E6'Ў_~4GU HS*[ؠ*23 wc\ȴ&Ω&A΄p[LND_LD)Q y0&<  IE: f(f6RVJg/~4-]ÅA2skXF-6LaqLys Jy,YmJ6xy?bꦧtSRyBse̥j:_t"Td|(aՇ~@[n[%f}@"=!2;4L-w )Hb}b$>gEN*s]f1m*f80L)7I lba˜2.wɈZGvQbfY̻괧f7[{ycsfo|,51PHRXy3, KqmHFYSS%ɕMe{+%l~ׂqVv.::髇دO[oyQ* l%qKJ%ڵlkVw޺\%,N;2u@+;~C 1M1".}SwW~#3a&/iX-6:ŽQg@w|ȘE}@(B=qvHF٨)JIƯfO7th>қq̾'ٚS[I@yC7ҜDy2r"CEQ- \䦰rDF*# 1V*(T|I,RQ 8 #BYbJ:r !r(D{ܐqj+9J+%ĩHA  qf:E5̀DXjMuոdٸE 2n7Y+%#}~4K!|b~ "@,VP /$F-r"HQ3B_G׸kn_u=s*t$rJt: ~9RkقVnn }e*TjwA仸hddpw*Ǧr*JBRՒȬ\ K$ ҩXTTJ c3 A +ۏrJ.:C,T SIr+*td1Uo7q8sDub.g(z}t~Zƻ (y kT3}Oð60${gocj X،UE<.~ͨM!CzMzV jG $ ˧q_#T$J^aG׺J_f13 ݒ;0&^a_7o)@TEe]y}L|cvq Anw_b_NPnD!\fOnLX233Jt:S(f``bȆȦd pPjQ,)@\|HY,}، @e Va!9ta0*{60#qg&m F7^a^<WK*/҇2SPb$N{-.E >HǑH$/PYg_%3ylM"]\iO{T\t(Rۄ#ۺp[5EQM.g*IV.Y{)j/ < -C Ky(+@Qըa403 ^PnJBTpD)Z{j1 ,"Pqy`!J5!H"@0s['0ٱ7kHV1kנQɻJ6+.&x ”j*D`o]rӌF nԗ;¤,.{.!K_xQ҂OaVÈ>BIrx:>f77.y"Mv*\(t?(UZ n4Nf xeREhD(&IwWx Dq @@K\&ItdD+erT".Wa H_ E }`](U^$$WdžH;p݇fd=bcq /y%XgJc%8=ވ&c (JaY~s۾Y>?[DuLsn'=Բ#܌C|F5`^.LW[mJKu["E&DH^-wMę0r H`c)#Hw$2|V.*)g T;2 HǸ I@9XQ wIr/1diŅuشv{2束z%*%a-#ENHʳH`#fy[sWQQ-/pag(ikzt/K? SG*ey'HS#I\krnn; nؔJ+[-ܭBD[TslEtqng~͝T7vuϻ ښW oWmMBaĻat~:ɤo ؅lwyVtt')PIm{pfx^-)"~^N Un|2DŦ9Q,ou7cug1" qc¹s!+g pt҂ #_l1ьM֍o<J=-L*wL(*+Pv+ay>. ()[E9 /[(֋Ϻ۴l{yC]'ofyb-sU+2*Q N=qRGv؍{'WIKm;\ҶrWDl,\TB!UZ$ȍ̍-d$0dr;3^F(K!XD0Z"l]5]1]KN6ɞ-DYA6R\EeO,6|uOFyj~Yz`d0`9IQbu nnR&:o( pVtY;)e_+jt_#NTی]eb|i4:BRc0~EG6'F=(ǝ9#ٿP M "W w`Q%(VAʩ>A2^QQp<#r%HSrؕ 5iN{. ᨜ƕ6YN$EzۓѢXB6 vQŋatr^xEζ[˶wo=(K")".GeĩQCt n#GM|}%37mjDu Є-J-ƒ,|R"Ub'.\X#& ._ժڒWu_#F.(mAZ~ٌ1v&E7oՆlF틪*,pWkr -T)v^OZ)^BnޭenZCvܛlRt:;ҽ\G/&[&9žwnPyy{r;oN͚9 -0SulV̽#dn_{8GQ[&گ'!΅(.HL)uvN$.cC_9}!v-s҃[{H]Qwt~Cӽxw׏r\|rpbF ؽ3A7Wx׺݅wW/ey޶{1_3ketsFG7;;9;>A8CDI\zYiVpW(&N1FcaG[( C `( 0p  *3-L),''4(LL0aX$O0?^.pV%6  LcL?G&We3q'fW'|d NOڇЫTdOyPE@Eq. v\p ^2,V/ik0PKw;o4Z{:>}sd۶_ԟwIۡv<7A]݃Q+3s^kez'r?òWN~\[z~Ms_&$uݨ"඼:̡N ųoc )uHhTfι^.B xcSjU7=>Wnq~N&K!u]WsBt-Rs>F^!Oe#=5y~Hg_VAR%.;od@@o/KwAPy=Qay?D3Op׵w띫2mfTg(vNZs^g깏K~WΗ3CdMBwZza5ٷ=e_&o0Ss1^⨻k =w? X{6H́6`%ępP8t}ܤ @3ϫ\UZ8ɋp\滵;3ρ\Fݎʫ3[! ?o?%?4fz ̡;vMw=]6tlt ^;yRYIHqBd)%v Pv࠲LUuݤNȼqW~tmX"n4MI3$$0y#x1GMh,pWw[Z늖y(X ,#yںe 搬-{@)҃h(FVV\$]dLb$тX1+ hF+q5& `5ZD f$":[R=N(a deDz :ô.FFK[/XֻLSn0Yv3f"&V_Kp/ (>,6AEhyBZ@7 |w܀0O)e޿+jk=2'ut]}*hwx&Kit )8*3+Pq{9?O|#|m?/zqt\D;eAf!EJBIGhB .Y.$Hũ4@БJQbJ4a ^ G#p䍌bMik` 6j3 HQ H&k%0b, s{09#7#<8&^̱8+:UE%)b Go?WB`=pPUJLW1ke|k"o5{;fq8BP H.sW)Dڈq}7):*_ʍAsD""lrUQB2 yArDH `Eb q+DI !0DfUN%V)02p tȾJ7b8߭dD\km!Af0fgw6W(p6#]!A--w#Pf o O9־o'uk1sIZm@NwS I7k?Ա$T@w\3+,peOP*ݷG'v"Vr^';Ujlլ^v+박.UV^^X+$7+\iI!%!H%i<őD:#IOH!57 !SC'2ڃJ^,e&J dht:nDB)̜W/YnaVa^ [!FC lb wzkP0g$D#G9Ԛ Mt.*:fR(SӃm ^0$l\fVlH(bOw/+{#<,.BPNjM qsϴMԋ)SҤr\"32C9q(qB]-vVեTPГx涵g2xd(.)zśWZvMxN+90 "ތEl~1&s\;bRf(dʴ^oӣХ&A(Y51 @S\ߞjGkucLA*I4%ceQt Q2l u (-H.Sq fCnY5Dt@LBF4N㤌aCx}]Y1.83ve'rQ*+fNelZ=Ln E ETB?PJ+HfJ XSɄ{փx62[O/.o9{ )|MUݱW*TJ[<z>.^l*7;տpHai+3҈CҦgDc{{ex, KjU)%1ֿE G_r,/lbxK Wg/ȝ*)n֎72ޞ.S bF~(]P0S WDQD1! )'YQtVn 9aBM ]#I$&2*nH"(]C-h$^QkV|P:EQ)r]qZm [92d^ X_0ன4l]n* Щ 5: T ЉPf/>?BDvZmRҧ >t&C)]m*莋r\11vHْf9WW8 =])4J5^Cȡ*Es1"Ýo.緾ɒbbND6uD A2;*@p{2"#Z~mY)82BnśiFυ)6g. S JEN5(T7 v /6gL4hmBcGDDPBo9%MH8Ϸ>`b&%I$2WuꄌFgOpOg'Fo TK0UyZ[ p[u}nFAC'ninϭókq6T#d`<|~t$l;ޟ߬k:Q,VJ򦼷:xl˦˶ l(D*zȏ eRC̬MXȕv/{le^[$4.EЊVzҡPU0 rC p*ERamZ2/E}T?$W˟cʬZdv|Vk vN("4`:J1ʔez_{ͱd{~)4WSӅ}9 ӯܙ|*" G ޝ M9~~3?}!daUv)Ju]ꮻ>qY8 9 }`#_\nJE EZvĕkAD(,$fNRɐ9Y!&¬-)GN%Z \jw!OggS]#Iz,F".98@@,)98969=8CA tF=@{Rvk ڙ(~܌d;룙߆ In^KllF訪s fihZ/HƆO^/|SL_>;wpйǕ&}fș[:SIK˔S߫TgW}g=+ ϩmxOg<^w*l92WTRfy2S" NNdT:@Hx(dIN)WwB*Sɩ`,Iq`I,:$BBAY6ԻC]&#r0Oe& @O{Z[XK%lв8fveV (<6*UV#=(=H?W()*>zVK(3S&n>W~^eϗ4aMssyl/ Bv8y^&䲢ŷ>3֫g;gi˧fĉvT`"+3d ApeHKZ$9dP })sQIWve5WɤddE$5r"6Iv32ܦ%r- 8ފ̘\&}uX|,7 rY+((LȀb(} )DFpu")䅍=5)> }QVTS%7 BxCMʅ\<2f>b:Vh10+IPWP-Dd){`g9<i]!S n??^hFRiaBUJw_b;ھ~L&"Q\0\+v:嶹PSȌ,6wΊ<;T_<^ꔠ49Haai%E qY̭kE]imtץZdB4.¼ =}m(Ͽ;g(8t*, 1E[~7K.y,f{Z`AG$ "$e"@T@x6fJp+6-nS's&i1j,oʠ̔tnjj!1 i|<'r.GW b2e$HjF$,ffr|IpS$h2E ̥"A[hљsY W%D!l"SQR)us)\ftU7+/J2tul)4ILD ,0# kGf c1&&s L S^)ԑI#A򜑮 h(&,ǿf}٢N2֦Q9fRi%)P MpFBC] .2bD1lZV QDX 2 HDDdbNDd"3]q0^G<6P F (Ȉe^)M¸ byM->)W1\B$2a",HDZ,.b*%Y?ԖQϑUpc:{%}A=MA(Df79GNNu!:˱Y](셛Zn,ƜZ^ƌ4W:w=\&;yI)W%D6Y0=xR[۷wÛL0ء<w\ԧ$@voY ,fNryK2đ-,"  X"h5vDO>8Td ^ VyVxq3i>Fn9pm0}?XT3WE߼Ïض7.~;YrDKT6 D(DPްDL Q:Y,\ H2. 6)N@dam7CEFHo8++M0ȉ&7*X7Y IrypeJM,@FlN^e31M'mhyŽqfN I6ĺiz\!M [D:sJ^ ]MRf䗭H\ ?z5xu펎Y^\9[W6Uru/J5G Pq-r.*DFk22f 1)Rm32d\ L}Y2"r) qQ̈ȈNfG"1T)0&ކሂ> > CEDmpaƆl,+P|P ,5 FgQ& n6 Z`b:] "nF7{ TIqEB 5Бx;+}OwE٫QaimnOί8-B>`$~B_vlD)u6`{3onڃKIA#)P%9D\\w$bq=Y-H("ARk`Qc$ルJTg;LAa,JkUr7%TFk1QO%WXI# Y<_n_ߙfr4I!htaJC7IC{(E@HM[?u N$i95&F[T+3t$<;I""AvakYi.{.Uk?) lQX 'QkIW|J>+)|[^œZZ/EYc-[f}oX>EѴqT#ݦڦ~]MRg,"]*nآZt!\ݼi$\rs#L^9<n3j, Ǻ{Xz*֚?{ύc_>f_:sT k_7)i 4^}duW]UK .|}:DN}i>9?Z6{h6!v2^lwk:LIkK쾿|mG=y gיZ`ĒvAOggS]#I;G,C.:9?@?6:ACC.&49<:6;2@?+=;8?=:DAA3XZwS5pùlZuK>^I!gu33|FwL6s-+?d{PBֆI55}R" RyeSccfῷ =1{T]q>8VTtkrٯH~ۺQݎ,=Y.:ri׸̴}2,պR'eFU?yVv]~L<‰VgXeUCXی/Oξ٩=fvgی܆[uo|=SQ]*۵Lt'N}io[TpkeušMùklv.7ٯ?Ln~qiFۗ4nȿH ږiIl!o8pt1-Д-Qm !tZ*yq경 ov/^ 1i e0O@7;5Q.VEV߳ݭ았,Fiu,cX%:۟&/d T[rQ鸓– qpWjow{S{6e&^/V΄\@X @?$R,r+(U+Gv{w~t{L۶ ^Q`XQ=,nm.SO CB!"& !2A%ó SAJ:ስNdV;33" ɍ#Y2llk E=Xlts% !8CnF JĕҔb{WTcCaffWk R+JVM'|džt$W  MX(^d67{F-֋ŵ[Vɠ٧U,lӁEHo}[ܥzyO ֗v .9ca9DGz@lBu׭TcB!*{E5^wQƽm-…)qlBXh-0a*"x ̨9LB_ۀZ:^^ Fyܦ[뱌JxS~.O:ӓleq{Գ| S *yU)VY!U-F%t3SbVBaQWHR"a 2"y iグ $)bJT%=4AIH 0KtNtFB5s R/q#A1#>$ӓv)`c̴ۏpk5M/ճ9zpLjf#n420UgK/@{`%"u۬P~@EZmU^fd)@:l­aj~ܱ>Wuaa S$7O؏Hf:@Q(%&3Τg^߶˅]yX]vulwROJVP,1,ddܙT7" a(6RjLRHң8NF iM D2285#)_L,#EÔ4g-_R f޲o6vÍb-ZkB1xa^Bه37ezT^m֔o`ZnT$L2C$ᦺ,GL3 B%Oj1P`ʓ‚Q)3+F5:&u=#U.p.UӠj3O̺l-c2MlmV7]-+Rra؃ϧJ <9Y2&6# ATE57f_]lbK.pHE; .?JP-[ޟ깒WJtnny3o _5">iwy5;\P۝U[i~k4m7ZE/`3L^أ4/O%F`Skp7h*ɪ&IVKƤ:g`p=I[\ ܘRIZHSQ.P߆iv~lƥmۆmKiֹb Pn `ĵkQj {A~i q|*NqPlTb( ""ՍdVD5k@dfA ȨH%: RH$=V+#ʅ)]9ːr aGT a#hRqIb)J:\q!!3rgH)(F5 @ R:Pv2=`@h;ᥣ4 8-{NzBhngF3 5~00>a.8L|ߋT(GlW"W悼Q_?$|)֋J >o()g\ny.:xo9rkrRFX8<7($JyrVot"BaWAe`4rĂba>)s7 O}^,K};6K,.Rj=9zc֔ kԙ I]2 eͼ|tj/"\x54?}{Y<j8UCp>G r0#!4;[~_[&5|(EV贒S+XnFK$%vE,FøO h26v[R> `l(u|??զ@XC5b"Q[Oܚv[knpe4nuurܰY45@O.t3ϋ/5b0",&*nR՗fsN>{gWl!(9ST:Ԛsi)DB.\s]J% 6_p7C6j %Z׹n6vد5n޿ gzK.Trwsd9fM%n"$ٓi( jaHb$b([ JY(9|]bJ!E軌& (`:!IxD2r $p8"|XiKՌ ]A(:c"׏XC~;`m ߻BxsJoܟ2 O'v}J\,hVU _*l,i.⽙d*33leg쌎:@Wҽ+m/pA˻(S,|#)VfL++ 2"KG!#WJ R%ӠJK2bd(&¸DqVf ᫬2`\BZc,._9!7؞KeZ ӽMxZcP(woSv L OggS@ ^#I\H)!<:B@?DC*:9?<:?F>16BC696=>AD*6:Sw Yy&41@:EhQff23SoNkmțvzԟ;dt|tg`|4ʐ۵Qf2CU%!YuG9 WQ HTl !KDd2TBJ ɤ]!LtFndD-2dRf##)A=9N#RaA(IsB65~w6+(s:InFVh :%b_sxV nhӷ 1Jl謒l1DǒlQ%#"dRu6E.\d | l0׋PVLPP%Pp=*e_*tEjĉgx^x1\\y\*D,'bf7ZI>dBݶ=yP(TnJjӳtmeG^ d ҅`SY> QރU$L5 i~Uum{\ɶN'*` :{b \!pו)fpEQf"3JWt-=geюҶeJK)ꎦ.-Ȉ ^_ .ӽd1; Q#\Buߙoe{?Z]RLfKFP?7Ҕ -fub0"j ^Fo՛fɛWe;-Uy@XgM4@H]NyFRV(:7;3};]~Ԓdܸ'W)}^+{a{U ~5'jSEtfnEԢ"P*GdL$Y($1!" a@ %7C/Zdl!( Ib1RFq, "K( B{%2>J]n t=HbIЋ2Q {O6( dFcExF_-í WǝMn0hl%;nDո9 U̸Ob2 f"i(QZS!SD((f(tnE70U7k"u@ւE WI-LdUED%#4[VPe&&eb+5Oi GrH-cFc&4:"Yg[5yYyFPF>*J:,IXT+;: aP-xC^sDӳ(M8WEI BwHޱ҂J-/}OJ<0OUD9h@ݝ,.9r)Tysɭ s B3ũ+JnpN?.L덽9ƄpNDubULu^? ܎YT^nNwS(BBWNn:ך͛^6"zk ,Hb*VTʘ(@Z$@qÍ=`xld6I7\@ȍ^oȁ{~Huݝ \ZZ͸SYK8Ӣec8^YOKw]fISe Eɗ}`-x'H1V퉹`iTo}㪫5ܠQ 5EAK~k@iQlL(")WQ[ٌ!zJA]ݥvjN{BV2+BXH9LY\Fr=  &B4Q71b!T[ Cno+=Ql$ O8$}ٔQtS{|ug}kR^*";b*Qqd "(28pwW.m%6vK V]uPQ%$Z Ƚݜ f', @HDB@zog=Ť)Dq;YvIq y &Ilđ.xSS x\6=vh2X ^K٘ pv _`#wV#1PwV=Tkj|"Z$+:+05eeGht/#_kX1ZYd[)`[}k"~]* ImzU70Ƹtj*IPC쏞tNѫt[ɘ5۪tg<~o Jg(Y/]?秜@{ oj$LPPm?<8obqi믙j6kh=ͷɫq\|a&{mu}*xev!dD4'FF\TylV33DoUh.d "/ͤ(-JH᪑8YjȌ "#VPlfT #) DQY$m DwfDsS,.:rk R`uHE_I,&e4/>ƒѾx"7Oߌʕ.3ejpl0@9㘷G踡6ړ" ĎJac|>c7A ͓q@GP0j)eJeTn߰ T<]{ Y3zT'55Y22lOv\i5)`ewZ]bgNшiRbtVcܐdrD5CpRET18T$DP8N10fqN.NE1` !2AXZ6#b8А 9'zVٹw2r[%⵨Ƽ,1{l e `J2B+(rjDȶͰ+!2OR &k C <"1!EkIR 2>fAӜ-G8BW{ "Ff?0\<9$ͥ1ORܗhIz@2v UA@gcf, a{wΒ#ȽN_5@]3 m3m=}-x?XFU#FN 3\v65Xr,eW_h\>TY--OF2Xk.,q)Zl(``OggS=^#I* %*<@9BEKS' (MOF/Iq PcvA T @.ԘLbۘ_:|\W|:s8a,jl D|ǃ WʳzN J DN6uO~l<[˭ ( hqpWtu"X7!J)[FהɎ]eٖ_a0qqڊ3Яyd{&t.%`r m\.T3ڝ/еi@8=B#󦹪uaęT!xCe8|RyXnRe=Zi#m/ '?%WA$+Yp>mf@`ޛy^he+N'WxƔ3ow:~oُ_TW6gǞex1[@] 1[.\-:tBuPQZ=BTc#, goMgG*qdPUTG *&Lp!W3n5\B:Q3'd2BZm,@W+Y9K&oj , ;N*e-" :Ɣ2M?T?~@O"] (x6QshJMxCT֍rZz/5@AߞeC>7\ putRQ2Yr$\\ $OMjI#V-+L] r HIq|2 G{l^=%=l0'M1:YS}x3/rr؇Xc ¡RVwcA@`,&:ef*ʲ߿уo헍:"qjխ]F$?ߔv`<54R♨Jب37TuˉpVJ51uգāVR*Y1bbQ40@_ 2 )S29C=&8r\ciX4fEKDNؒ&,M,Ү`|`;> VyzUC]6H>5I,Z@!*, ֿ=>u-4>m@sZmzjn#ϻ#P(6o+UhpϨmepDkAwX 3z ߒD6‘bKՋE!BTH"\,QqiQ$B]vL92a-&H.Њ{!KhF#jbB#eDk( (( PJZp@"!tR+WH\JosW5!Xp`(]Cv ^.qgb:qkpB%'"dtۤqLh"O@nSfÖ  pm&,+NSQ}WB&ڱtq$Fa#d~W.(9GsCi9(F 5ʛ4P,+ r/¼RXy_"l]~ޭhutJhnlV8ddw6Gdrݐ]"pzsS"j|ޡBQyW,6sc{ ~qlk U|u`mf M$Sdӱ2|[b!γPšu '!c[yY)縔ER{6y;;a" HD&>FJc 3b{}I1BehYy&ez4J:J "P>:_SXS%z6ﭖpAQ׶+mz%s(e:PI4hE}@gױ)\3K@sVH‰A]IǕPwk^2giHnך2AԢ_6l6P_X2OV `A ߫~EPk@ =)-ܩ&ȢOtvg'jtrt\#HʫU #=)*sbܛiOt?RuR$*ZYhޗD`v)z!:<`dRۏai}1g>Z9.eV' f/ #D@jE@ufE}bߌ;osIq݃?7Z(PZR7 aJE iFv#3 Q1* H52.g!1̓."SHc6 `x WLh 5w? dtV)uY5]`17ZZ % ea5I0yɃ l @>K1z? 8)Hd;o- IS;m> @@A +Seff&lٛLٳl{?y:2"*@M #Jk5 =/uu-MzQËnA~(^ II9r jl{DIkL]d{' EG$~q!7EEd"łpkA1dHշgz D1OggSq^#Is*&%>;5A>@-2#,?C;989;:;;:@@2g?] l5Kw Wc׻?8( 0ȼH}D"xY  !,@  `F)3SJ{kbѦ9Oܷ 6}lm'W'kY[F&CD?ڏ5tCid"%4 )Qo_.R.:wT؛l.!H Qa+YLe]q6 љd $N5,Tzb WLpW94,ʄ_YCIP0"@u8K_),nh.S^{`l f49U͆"M61|PTslO2Gnc@ֹ^ 0-DJ+~U.*/Mʹ~rN\\qe,Fjdp}d"ehhzP>EJ'=w%uJAU.k:mr L"(I[l<#(~Ms_eKA5l{[ݝyouņ%w|dVp,Xֵ 9*$*_Ż.]Rc);ǹjv5ѽlBtl@Фr\Ea* U83(T~몫M/ #3b E " o .(jLTռhVQ9o#)ΔRGcsϽJc+u!->^jG'QVUԡj4 #DU4N^2w#Mgͨ2b Y$!$D1QΜd+ת%|LId-BS[8AE疤$2$:!J-" 2aATtIfF(E5Pf}-'P a@0*`X|8|ŠM 6K`^84b(ۢ IF<(>Jʔ%jL^qt MwֶG ]}nTI&cMT-Qb"7E*)t98dQ*ܔ ٳD!##VK\Ĺ,#GAXKEBdD(DL) 2e'1t \%97 av.IKs{:JPiE"e(D Ԣ91=ܼq]5زClL,;l޶!때iSHzG@k[?sxq^`a{NbxB8 u,W9Αj@@X(w:LI2}?dԢ~̖igyմo%8_Y1.c"[h=M:iSMs0 BFF)G+4d]&D3PLd)"+F!+IIbE#1b  XY,5,ּqDEΕ@LqDڡ/D `"Y_S*b-mz&fz 冀vT~6SB>|߭Ep`ȁ% $>M.p]3<ɨh[і5rMNY[׃ձFl۞ͯrUG<T?2U#!AbD9P|u,tD,HY(H`#E`H3)șBާ$@W`ItqŕC2l" Z1C@@ :JJ ndq.*-+ - J(Fn/<-[P[hڥi_㥡A;X5S̞ qpO+>b0A U"@eMd«͍t~OXMB֤΍7!9.*J͛.y*'#W=j5˖T԰U 6Hp)@MB"҈GpS˧QˌUhAA#Rr"g ,Q{D`+$6;qĈe˩HRds2بNXSI Be6dn4,XRUd)-3 l]%XG$t}| 2ԭ HD0~) c>RP`FRSh 9n8FNLەcU/C7i=.Eey15L}- T]b>ܯS ƤbاK4BCުJiQ!x9P6"$ؠ|-ݻbvWW Phg}vml?CG#B PD:ETh`=f*,H`Te n237Ψ{Zz^ D7l $PQB*]P@'S9hv]ܐH=]ɯ旼J.]WK1|h \xUݞUajqUJdQMH Քd$$Q 2DRn "3@gaʱE+a2ܠ-A1"AYޢ<ZM\Ȇ[fg^Ofݚ{cEc,7. ygco'QvL ըHZGSk Jԅ<[* '%Q@  Rf/Z`x5phN]mn2 ڷM@={CEE ]u 4B<|"%mCoY{|\,G)]P:D+ddcXqNf9A&Ȉ1 &Kf]\M À+I@eD3Ϣ OӘDQ7AK-Յ# w cDe2ebOWCtpwSGQRbU@'<0wi!YS/c¸17VJT-#kR,zmt. + n4-FĸUb^2v2Q"547‘ Ylu e="'k VҖ |LZHs߶PJLk`CHl(^$X# /}7\]6v3-c|*5eAӓYByĬ#p@2\h(X}́'T#4s#uJ5i-q Kb = QldɊa؍׻j!:q"]l8%l|@s)TG-摒؂w_aVf!} 7|^ ۔W5v ^3 .*0xS菻 ͇DT?|o%Y3%k$)R>'Їb}ug#G f/U@7A[cG\n d)cj+* 6*lP!ij,q_("iI ྇~ֳBid@ ,-w),ZΜTC_ۄ`ڃo@Ӭ)+nUуnYԮk} 8-!~,_}Q7lL;w߃ ooSͦ0-Zn9u:bJSOf*-5`ί&pOggS^#I@f,69;A@;67BDD6D;;8;8AD?(KDB3;;==>9FDC2\9nMN@m)#f.`0荛Npd@1P`p|1k6_Dj@c_0W{}~WU3b~tDHãjފ%IH  z+Bvl737fDtVuˆ?c  _x]nuL_u+c*)q[B,SޛmU[k/dJJ/PiH*7|"Snjh5BV&xcM?_󸣬{6B1؏i~:X=T$q5 !޷UW:S)tmѳ5\$X B XH tӾU !h\\ӝ˟ttVg(qA50p &]#WUSuĆ bc6SLr"l6u/ ϩ7/V Kb6Q/GŦwֲwzkZc}e6Vl4(U+@Xim\9k)qn}*1gt~S[wm(ۦXl]H,Y(UTnZ3aW=d/ B)Ōl[Z~.oKu:|1莩P/ c@@E `@: $p%ꍩ,tv'n66崏kc;X<^]ӧ}lK,5`#dx}Uu'5uQȔO,! lHoRQQB dR(dʎ2 ZThDNR$͐[DE9L!uQ:m`#AZa!GjdM[%ec? jG/1Š|_r+Nݵmvv ˌ7&Ā##*Chy??:6qq4@l 6% . (PbDD\I)>OgR>?",]T͡&*zCν]Ae;j_s펻i<=^rXƩog!z(tkaQٯ[/O|n". t\] [PdǢBF9BB1Q2D"q!x]h,y=1%$M"+GuQ30"Y% 78֚ʂFwZzaZzi9, 3XnX#!{Qr`t[UD)d[2ԫFlŧ7ؚߵwX2.&ѥΌs6}L ]6KTVM;{fun#q 6;H^[jS@'p77JxW33NgĘF6Xo6vyӕ.zJ?ThnNSֺ"ϖ֘RV:idv\ZvF׽HC57=9Q:Ͼ|=m/p'e;'gl |Re#m;> Z-yd;9$'Z)W).QI[fؽ[k^DbK{r"ZM4}̏9ZCƟZ۬5Hb~v ][fֲmɓ* -6N%!(Z*܋聂YIZ HDl@H jCY?wkʆ:MXsд5žJKF{ݏ1NրHf ZDe?/8*ᴶxmk @%&7}+w̷O([HG ՞;PhԳԭX>(΍v(paVh`?M%<\o"G fʛV9 y߆4s SQ G; 3DSUH> 3)t?q-9 +I:M??fD*@o  Ƭ?bj;&ƺ_GPxhJɞ3J'CsI0Ps@|gcmjs [' gN`Tui'^fYSNEuz6C[m=ѕٶ'u:z`ݥzY=ף^ia.tGk5oOqLQ1c4];"α]בީ7]B! =CI3|H LZWiX @@/x3U_~Uqc*7U28 7_2:~w^Ge٦mo*b[C/r 񂇪lҍD҉juwm繎^^(sn#i,,?7^r}FmѯAR̾_ӵG\ujս4nZlOT0[:r;Z;u[^ -{_^^57fTz&w-ip*F6ܸ1ss;``M t"D4׸R\B" -_Euԫ\dj;1|e1ST.ܵ7U*TY|Fc$ 2*Ӥ?#t Z>n5 "P׭nhN]tJ-P(mefRu蟅hCPi΅@ <+$%n/ΩODj+>Mmu+VrDHI%=iU([ݧ&4ʐ_Piz1l8ݽ opD=Tz^1-:+nj̲u B !&{UqDJ]@郐2"3w=b x #BBDSt6ʶ {9F6#;w1lw7bݜ xk7sXu+'@:ҫaY@~A_/C-x.DJȌ)},Nlpfެ "iPS>4ǁkP_D]Vʬb5DDnmjel{n0'\bp0Y FmmzP G̬eŻf% MZR-zq<OdBVniYj@g_*J|7j).ʙl5csg<ݾD#R Ҧ:5J+ Rpԝj# YQ}{0EUٓϡy]gjyP$k`+rC% }Hb%QBfo׋H0vl.ecUŤrIad1_|A1Ԧ_Ry=jWx,ff,n۪ٞ B@gY&(%?}ϿҞTb|S/TK!VȬdd^ZnּK ZcGFUw.==s&xLC/\k]li`fuonj|Lw ˻)(Lkv;r<ڑX &goi@QcJ% o37 df/,6Ǻ^/`|8\є/j0.ɰ/AuMZ}pC#eQ/;[z% [$%BoQ"2EV $ 3hތ  ?F)P I"s0x9! !H{B5i$Crn9] @'ӊQXX7 vM?Ss+vTMrTN yy561@bkRj2{Wx mTv~wSq̏W)Eפ~3&,_}ٳWZ!ZU<> S^`#u)c04G&V(:2 t|AJ-FjgeDYqq\X nIQ(4qH,Tda'1P`Ak6i)ܸQiO`)XH솦Y;jDOggS^#Iv#=<:AA4'/27:;DF)36=@/ ]f*ܡD5BJ dP DerITIٓa(P,!Pe!0YdtgWZl&(ۙȭ3k]m~N=}hC Өlm j9A˓Ke r4Y7fEUdB#CuYV"U,1ϹŽDd}R'+F9f/̺l4Ь*؄Ek ]d&"k$m[]8rU8[n~72t `W^a4lhů Tl"1)gלe뺒 Nul:?_yofn Cأ[bؤ'7⷏ow뮽 [: E3'I(EJC*/Ⱥ7F%5f*n;=^eOzӖ~iPr4Or).^ZR(%.Ȗ:EB&BQ!!2(*dHTrJI*Cʔ[,GB݃åB钉R=(=I4 "B'1T3)"(ZHW*K l늌WF(5) kc Lg]1+6b&&sU,]Wr|'X~ou ЋXHIXbCO$h@Q%zo[ oVՋ 0]jx'%V.-~n2 J eAH(qA1Get1VFfFːQ(f(fD2@QHq$IdJR| Г$d0 NWcU9Ii  \S'MW #:9&H؃#PXtW !{q(BMg2428[휈lbml"CՉ gVP 0LyMC, rcըs. ϐ7"wqQezu%gCLw94)f)DTBBB@ۈu"44lzD2u(L:6CaV?.)C*D4KZϬ *V n13ˡ,g㶐B 2n*U `@y%OD'%fl|L@"rJurK!H \dlcayk-x״@l<jkˊg3$^,Y qgÀ38 6s AWfzgrbV=ւ 묿6H@%8*Q$ZY~$0sQ2i^+FIP a=B]'G# ɯ| :圧^$MyKw..,M9ˊ,uqhh3oU ѲpQeeWIH QF&)mZT,/[Ic v-,T#ey@Gdx$T\" l R@m%6o\o kl46B Y!-"V؅=P  LڗTuZᔙF!r&ܾ\| j18#4. Zs%Y^ǐVIlQU*GݨM7xʍN"Dv@DS͉̐i%c 3."-< YR t@\ lp)7:D!.%iQ\ #&fh$d7!|;G)$'h`ljfS^ڜ6j@\>@)y)r2ՁL6jT}CB`)l bE.rU60LLYݿ?ͼEgZNS_Iof~XWUNޙ-oݔɤО4 ((aN~3tKW>Ea)EuiPBRq7%d]DdfN'@+bS)"HTȑD\6D5#v9"ɨ-sM!`J@hr )7FJG.H$I#no99'E.>nY@ S3 Bwir=Ix3L\PB \[G 6ˆZdƝ}CN|:]5{oW:t>1% ,Mdym')%G\vU2Bs~q;Mu,eZUgC%KoIh[Ka.UrR@j$Ln@99_?<ڰ}FU9΃]S^A 6Wl>޹#g"˧TݩۏUe.j!qG"'ߝ"EUN|uDU )#dJP\"I i B$bo dE_ , De{PP9=qlCQN+Ana6  25.Hp^*J(礌\bq[h|z̙6(0֙BFMd'iATD .' ݖ6x3Ll½;Ü|/eNDܓsN=~dNN١1ޮ /٤4K:4+Mthl< "S|>}{{8ps HIبfKJ檲@drXqnGr*8R.DƩͦ7Z)uXH$Qї$x˘4VZJd_@`c6˩);-揷l Ixg17 ٟܦ6V%!ko3ZThݮFE(=L^M#eQ4ht(Hn eJjh3 PUмBϽuOnwO/9{_g'H dիe $ԛ\7m  z(/=̿ONN W<dAMhOe:T>-*?Rۭ ;#1k_i;]PC=ϖ>yc۱nw?yX0]NF(K\8 m v(dUn@`{M:I  v%ebPU kO  l0j1 @!tصؾ2zBP$Kf Kk9)@XZ&Խ (^5[ ?SJgvb>{rሾOﳷm?\;FLQ@]cz b+Q>sun'f[n)kjqof13o߻qVf͑w{nӑdᔙYisgť PTOggS@_#I"c &H;AD:### /9>8AB*996998CAE?+ټ_vy 7t 쓼Mēq c4@eJcL^;ie#cfyn:~ yWVE;A(|7o%  rkmε᪌&)U`WrlUOa[=1:'LWv҇I7cs7C߭駎2'lv}v 51ϥ^ؙs:s~6kk0cwM|C|Sعg=}_s,֤,Z$PS7iblN3f*`~!*:&YD+.}(fu9ӧWٶ֣U7)td܇@> MUp-kQ>/wN;b叝_jPheI/5Ld@(i PX`P?csT\#Gݛ&:f7o5xo:e{]~y?\l 4v/Bg"p-xٔz ۫W׍l et[Wq'w{TG3ʰ,ԧ^}0 9c۝*@#SvmdT#AUR'JwSdT\SF&Q̵!s*Kp-/d2bA3Rܳǻ- Rr6$sRA/f"t2A&[`¢љ[5Y,&E|@atQ{l?V&Z|4f] ,nd &@,$NߘGM(nxcYFa}.H 0/wXلVXmy/g^$?ZhGk%脎Xg.SϭJ޶T d"q\fET ,U* Bg MdȤB\ij+Z  hF&LB@` Ilr ȓ2ZVཛྷ!Cd⬔c*5yd)%TǠrʼn M ˮXB[XXs.0Le ͟ Ac.oqhgR~LqQ VFM Iڋ|;kR$/wOsj[ ~2/2)__MVnP]y@n7hHдW%u]* UwcaSTTXT衷YXHB)%)*iqTH L".,HI%MpB!:dYD\W0fEVLM "+i Xh;HJӋ )hg`(0V 4.03::@.(><\JF8mfCAꙣ@ߐ{|4 SUJLeD>VyWZCKP Y/ER8&P+Ab4 3Ws`ˣ-PA[i<ϳt]L̂#@DDONȬT *ňBuU"#ND*eR@7F\ؐX$Q-Ph\1hQ#r6tFǁd`j^ :(ڴ:[)5qi *#3*kX{33jmֲ^bxzZJtJ[lh$`Le߯lt}^uAkY-+-"-K(NA>9Q Bu:*׳BVxMZ\JD"fQ(lEf)@"cɖZ *!RJLnn xdHz D@c2Tl' (BQ꽗 J0Ka\k RrDn:RD~a:SA'0jG`Nc狄ꚕI\@M!64mP@]aK\x"*@N|@-!x0eJ яeU\%O ]}Z%.ˏ7Qժ^t))_Mw*Cڋ7D^4 Fێ(ielP2vabŪfU8L YIJT2"\$AF\,a ?= hPG< a[HK0TLMi7GtOyf Sy]swr}I\ws+^]*Tq {|0 L{iH.XtM/tƠ:Mehr>M\mvl- F &"h,KWH_ `LykUWC ^[nF)MRY{G=_Ӊ7Ml간"d5 jQY k ?]{*L3+cKd4=s#ncssTN @V! 0(l j]2=A[7I[%#mif-mkD"0+ɭ.27V@BrvI`- Qyӻmgb~(5-v-:=H%3my^U*t50mjȽޯ?7!T6QcfJPذ߶y;"xi10mDoJlx(rKjpr{+-4#™x"3ȝTȉP\^nƵJ>~2 J,@:0 TG{#.RK/Q0>yB\ U2(fšmo*pI+$׻)ltDGk:/YZ(ވ'+:P)Om91T;^WzEo ~&A$e}+ S}(Rs02xLb.9f{(V Iۦ6}7:ḑ *ARhĢT⯈,+sBm zC w| HbBdTY.*/DY`鷭F[jDlfm/:y8V6)2D#@)vT 60vJM;AXTh+F+Z\氵(t4.ca²F8sK%M9RaX-+,Eڭjo ]uF%TZ fwNJe8$^.Bi RvuR#".yᮼ~kO]`o,ur;v;gOJQKs@Ũ"p ^ߟ^OvNY7 j/r'&ҵNusd!Ӧ9Y$+Duڳ m*B%KDb2`Q9HZhq8ĝ\\l Qw"dD.)e+vN7Ky0 .`R{ATyJ> &tT!,Z)CϠ_H57{vLl w*eLo#N/}q/m-h͝v&\e](tI[p3}{4|zqi4(]R:{/OsbovƇ畹r#n%7TrYj%X)U-dŅ QN)"9 U|ڧ@&=xh*HR  k9JMԒM6).. ~W;5$p\jZgexB4`?WL}=3T(P7iN:;Dk((/Qf(y{޴.|gݧL劺g[g]x˟sDT7ܔ!z֒W'!&=k.8TY4+s:#ar#LۂrRHi ]6DShZ)rERJ2Dd4YaGʔ# NgBfؐ4=$=Wu0zx!Plej.QMΆc1ܱmOggS=_#I!'*;<6AAA3$)$C>-*67;78<9BA9?9b՞X@`2klwSowᨊ'5PbW4bNf@e:4/RvaͮCiJUr{3g؟.ȻY4T(@cXF=/@lNK$&:k^4N2;vdȃw ,b\8XDP) @sOb*^^{Ru*ȿMFqJ b茼DS+O(-J,+EtG}]{[VJ Jϊި/.C)/ƊYs^£NLV^\_:ٚt@ XRjz?RN*I" vg}ˢjLMw~Sw  A2 fl컜ތyu 03ff&z1f^'?y)_I&_j:e53yb["O_)"TbF1673$K)eD)bBDAt3R@,DȐ˕BJ$)W@"H( "1k W@!ZAF.:23i) Sq((0iRRd9R QBtfYLj:Tro2:b[D+3j( L)dEP2YbF/(FB^QqQIPLR.)䬌CPJU-nQ(J\Hl GTEIGۉ"`*yѾv07ݯ/S̬CKx.^@X5ѾԱz8M =_R^&W>9#-iSo^)$%߿;9Wf?/<{./K\ (ũj̖[dA1 J'. ŐD12H*D HUQPLJ4(FTȈ8 Z4&, |ڠ) .N$+nj*\ Ɂĕ (.9 pY*r]6-!.Q*#Ei2B]0n~1w@F.f-,@7Ӗݴ۳'E:{y3XB)Z)!I/z`v `FbjL~W|ܾқ~v~r'2sF9TD/̋ Q$.Q2)GFW(PY22 Ŕ 2y'RD Y@tQ" !bYP" *#d @""bT }\!StBO U ِbQzDvV$Z͌̎GOSրd*׻eܴ`>XPP0<(⪠B^)Qtx0K[Rz5cfBZq/|Á;eqi^Xj-_Jٙ]tۛ\=r69۾f2<#(uBH ZG-C.: 2"H8!d̂LFp"7R$@ҹ4).\ {ȀNYHaj R%HGI{ɔrC\9XnDNK8>$++8+v *]$8rOf@xOJ.!'qj9,@& qQW&N0sv2LetMld:dže 'uV{~jUB` *oޭV]moXfU=˕ 2 s*x$e6D*2Щ}{%jOZCpYg7?mY}1p`':ؤS@5} ɍ@)S֏'N-`f22߿_.}o8?yZ`Ozޓ\[7u5If?l|HY҈ 썐 rur7JrC9e&I92r"MFP&"'PВ,4`7E@r)u"`e5L6]nL%9;(LU*!6"EH⒒ѩ 2 $IEQ#~d& T&2[',x2( &pυ^֖Q0LQt:Bk=)3Bt`\t,HT6]"]T2r4l&.3l'8$LQs\tb>(_tb[V"d(ڶ~wGH& XsɆ:$,7˺' l_sEO=,\F6\yq/=v`+Bv$;-(Bm> JՎj1BʈKXL̲Nl.d] *tRE/-/b"ة#= t"z%laM-<-  ؜(@'v_P^sJF>Yzdvckq -T,!N@0<-V(QmI'6Siz]]=B`OU6/@cFJ(UcsF]utQJf_лnh*)0FMueuRΏ`9;t6H˔v֕T(}]S{MlIh1gKP .&ZΑސ"@5Lf̬*|bEyȝfB+̿ҒIzys>61FOIBn|$$ Pƽ\W:#LT˧R#׻u5+**iVRTJk6vWߍ\}wyϜs~b]0=W?S3Og̶0vYQӚ5jju׽RT+b=59֒3mztncV}urm4S aӾ}B]lP0B΃gp#Tתm0)hl٠.KUD\qƦ(S&7Oǿ/)?]*wx8ÙyiY,oSpw]1MB457>(͘)RZ.┸'#wWcw(uD^aV 7**~ L<3m3?ٝ9Q׸59p{œx>lIC}6hB]Ʃu5~A~na쓪 aն,k)PpVTsf{gE1=åNk> qWʚnL9~' M:DEi2ãy3VgW̚uKB=+OggSh_#I$Ƅ,+5KD<6A@GF6B;9876ABJE%8887mۑ͋dystZEP(bHfdHuLY?FE~WaWN*XNN {1Nwmue*(P2zX|议s9>q= 2h@.B.ȶQd!DBQ  2(7` -ZXUHqJ^q 3jX @)jF3T`;3(47\lax&i"D,TCV.dPཤ4KfvZfZ]B⍙nd, \{Sb8DPQ #iݎm[E٥q"PnѿE)r[F8MX{J0i-tt(%G8c v P?3[x+ݕ( Y{qӕ6#O!&a.-Q!J(%O` . #dG2Q`^s8AE, ~MJDE(}c\CE%5bjFDD3a¦(Pߚ'b Ƅ)rRb l*kZ~n/ȽRuBAa_dv_'zի7V+S59`jQ"gIfOXFrn^m-X/ݻwYk,\:OdXߔފkjSY _˓Qׯj:w~\WoNn.Z;6Ճz*G>0ܳT KI,/*eYW"l*HsyZyjEJ]w{rw릻rr!{w﫟gd='2OJsނG#-hg+@%ڠ=mqn`@<uc&_Gg'1Է ‚zE,@AR'Q1뱰sq_KX 1 SIP %`Z~q]5P(@6<؎|zHˁIZöm۶-$50W.W3hw }maU$3Ngv9xXS?<3P$LslFU1aruD"uvVmURaQ\ ׅ,mi&HH1 R(  [;X>waܕTS9Vo6U)w3^6\l{mLXETQItex Sf{v1 @p0= Gp@p&M"dDLFwSe *-/q K@mw* RP(T)T*Q(DU6*ކݶmo۶m/|B Ĕ4VOB)0?zNߑqR"bR`{QTTHS8o\PBUkYV2KzR.Evb\M"=kgf'̳)SJRB+,Pq3ȘљY=\#sk鬳tZr@d*|*)lf!(rX(AHq[Ŕi#* Y)`'@(J"|0DtPx22lqo"F rSP(V2 Bu;S9 M; O\3{ fBrmA߶Fȩq{a#E*$㠑Q.BSgjxo[ ar9Fvhu@mCc:\t G$ e%M1ݝ秴QȘۂ`+ZKw\5@J4oBUi1WRP|-"DOb1ŘY2äf9y]s %t Na@QsH P܃o-*eA8f3 u򫣽籍;DlPX6Yh1WZBϴ\S(eY]g)<\ #T^CVYLXG7,$S_4.[x6KǩxdEDfާv ߣ:NHQ0YxiQxloqy"D(BHXnÑ2vƅ@`' c:m#9HLP7]jotz=*3ʉmluS*XvA6էI#ԢbgF"cڍ쨷YfX/^v NUbʋrA)U<5߻ bM+ 3!d $"SЩl ԝCf9$tULֵɕ#22SxIȊHi3)L)!)]L0$@eB䮋 w {=OggS_#I]P?H&+=8?@?A4**:DI2%7>C5 2DBЫMaˤd6^f):8qW`5!Fl> :$;wJ+`f]#:oYV?E7Y7ژUzt?ҙ,l(w2!A5a*3H;uRt!/EThpvbo*L*5E Y" ݾJ)~*ʴU:QBFu]&M]T֊k*!f/lZ!%ZU3DetVgwM +x;ol'& $F*7EkXZۋD~.P,(FbaܼJ]6O3ѳ54rK*rⰢې++XQPk\rMv޳N^V z+?%MVVLRanXs_]jí%jjTC2}׿NcOjO`2@R<2?4huO3_f~Irq͹4S=!W%&R32&"VA;)Β)kXQHdw{ҋ(fW-DH^\$\Y Q*N9jZ@ I';"BT]V$Dj"$I+ ͙ \D'@Զ.zTZi/hm’LRĭRO>Npd3 ,P~m"bA ^k7M !N2t~΂@D$ %Sc^^u$d\ݮՈd,e+%s/TR·w q]v ]ʳT#cNE=Sщl+Gfdd81}Q@2qP4, Gd) PJOf#kX$ :j͉PTb2]  )NgVKC  `(<.6+zvO0ɀqEɓi 0#h.17D 6|8> Vq$( QwKuS@{'H$J^eswy[ 7^|G2i&;%TwǮ O:1vZ3|cVa2 ٦H:HĉC^()/x,pȔeEeAd+V&]QV#2@ HBXMJk]2Űrs` GͰIĉG0 0{tZlކJnbcbOhc `_ݔ=#ǘ#p6;ZbQ9!d.pDy$&x5UZC鉻a{y0'y 7ȀqE9{ۻijJϊ$a ޟb-Xn]`k(O6wf uYUW@'.{7u<  !C 捤JUUh|2Jg[k}L?SMXr*2&fdwK?/*hHEdŠ,uYWS"F6UQn )dR̕dQt#/|TO6%#8SRXKRC2iQ 60G vr*R+G'y~zl=fcs5nXX ݚnyvig 2NTD dJ\莋@RB5( A!ES ">w-dDA~X$4SnRQ jT' HظHGx ZX1֗R-`,,7,|"4 n-AfY*3ǻ.Zqۓ6-34e|?tG>2(VrUؿg;5 @ W~J]ejIHPvtWRYwu@ X87<-8}W)) *ݯYMjL9S]ӛ'< {UkыR%R жwP^_?EQ7$oI)[`y3>C-uT+ݭgeY䒭q7gfɤʇfe#*k)S&Qª H_fv@D;-B9#YNY Q" H}Ŕ1Z  3DBD#$*ld‘d=nIHmdQr)' -׶Fxf 0z|Cx(HXJUq"*$釐:,1 `FN|k/r*6'ބ07Pdtr4 z +2qA(NO@96Mٔ)e#Aj1kpZR))1Kxn惼4ial ԟ]AJSnu :4zb~%T~ Wb/ue32THR r r@MąH(F&*dQ\! f̊Zu6w6n ͅQ,dB)4KB\@B\w venN#=* @, LQ5 |rbЇRRZA/KTQŧc#MI<͜ |&+6zT z!OMa=m"ݕȸ.]GhɴȖ+uYP+\Ҥ%'ףX<BFnFWH4;dLNKL9.вnZWXkњ!bao^HOfFRGvmgj:cbS6n>1]^I\RDf6/m|6fZh&{(# L5Td3HC!RD H@Qk/{%<}pgbFZ̺8nnjf ƪRb{e t4L^zhgRj@ p>;cnZQ=5BZݍ=,TRqZG2d ?`D:ƪ,(+|7[\'\TCO 6 iض뎇&۩(`flWu48/Prl(SLEdL:|VyůYŁC`dΞw6w>]x\T\C7I0€r,8$E}C+o%8HZD Hy.O)eY"Sw\cǧ1cԒ{~j+ŋwJ4%90>XA3k)<o#גV7[y%B558uc+eve)'hzx)F4LW6zgԚ؅V2Lюԏ< 0ReK  0` GR+ j"(d͹ȍbT^u%zӵĔdb $Xnksҁ3ԾS tj=r=iH$N"htDkmmSe{mgu[mo+Vx,49G?1G'.Tx*W\ #F$bm7O7+1 OggS_#Ihw';&)(:BBZkZ!BjTڪ( p/ɏa|'9lLUh $}s^y$uPw4Ϭ=>KT*JSM2dݑlE9.M0ov#qfX)șa+%Aҍ#|HxTIWd+!2o+ d1#Ú\$qt Rx7y\Etn!ZN1#6BIVE"",2;*2 /wG 1彊L&ئ(զƟ|,X+_%Y&Ɣ.0I>+NPJfp k؊ 5$ySo(eW@=w>"ggt1"W/.w<'s^t)U"r{_ˠ]RDviH+vq*(bH22rd|[Dt"sVt$eRF2@ƹ!:eF (Ld2:un (GF&%Q\FQ#Rx #` HW L@@wc= ֲ56A,zg 1*biL_教9V8^L7^,E3mr'q@:Iv8F0"`cL߯R+O>{AW^{盒ڢLBo@5~\c[iYʵMWuۻ(HPd[ 5Ő+ E" `$ 6" d+'8)dl#1_O^!3+d`2+|q%񮷨$C_gD!i 0tP0{Zdݤ3kĝT>YY;̦^LԠŪN讥-siQBk|sd⁢Rl*WUf*Z).Yُ_]ܬζ$ y`WAEepy4(-XJ\D) ()/EDw"v1d2D¹jp)#CTe,%9Y- 4`IfTafJ_+_u؝׼5mJ0.MG#mCY/0zS0fݍ,ɝo9*Qf{;E_;<8IusWh={~g-YsݝϝK\.bf c(T\U4TXtAmJ eDo.7ta t%[6qH_Qr+w0*oՓL+I^/۶5p+|¤p"G^1),8q(v(BZPd3,-y9xeζxAxT#' "ZFEAb5ճ%ZD" l{j:۾VjP`И6U:49Ɓ* V# 4VXIqnB 57Aľ Mi:+,򌤲"Tvg`(T"V"`"橱J:>s{'zo7U"^t]dC|~Ds~7M*RAȜ֗k!]t5 Z.!\&*+h ]U5հ:B J0! ^z0r Piō*m) 'rظH 'Lj afȨ2UAdAN+2iHbD\JNN6P0`Q@ۉ[Ӯn~E@Tk*8Z0Ղ%/,: ?2C67ESBNu6ٱO..\"ЊNA:kR@?/Fh5+6`1&}äqVש_6D|4&=V0gU(0RW{3#U+/ʴ_1^y J)TFoK#E~S#U,yN{zP.SjkPLy^M[Vt+Y ס{mOZKcb%VJXhLٙl,lZm}x!gß{4ïe:ݽ Eox':v[vݽ}2ޗmWZh*"FLS.介'n6naDDeZ+4@n{OyuӤvÕp:Sz V5lR)8~L`HE'ܾ2*tn$70yFC]7SefJe-%}TJgHoSr:o"$6)̛bq((J3wEU tW,v/=S"rBJgI1BVq7H*HTZ26񕐐 :|ov:{ MAVm蕄@s#(NT(By!a.!*;2nh֒1.L`MM3{0#)P ܱI&ˡHYS _,`,@\(3S&_o:ndz֫{r5N:5w논ڸ+m딂+W^/$t2ص,տ= (Ƒ-DdBFW!adT؂ȘMOD ӫ$%(G)Kloϙnz2mh ,n`d%eABR,\ bH0m̱ڄHZ"(1|n9[ML2c57AaZȁHm蟩 "?{8}CyE*2uͶa%^Z S Qu"v)]o@ubgp++HA]˭zk\čd 9rT`9ĺ5ݴd<λiHC{^*=kKbk T&FWY?p6eEE%yB% r!229smu︽5{{Ś,^H!->K-h7I0<*ҦZQ{[n'ۣJ&OggS`#Iv #)?2$9DD$65=4969=873AB:;B=G>OT@2jհ :?aڳ̌ZN({Ԟvۦ jJ=3bbQ 0KwE(^kEPŁ7Oi_A޺lng8߱~y_XÙ|Jݝ1J8wSzuɫ5/FbWn٪JFfTH)yQ%TDTGJTe.vIpC )QEJĺH)f>#w/P@^渁 2 6HᕠJdMV%Дgљ)[)V@ƕCDgVLnQ,Ѐ3f6&ŧ,a'8=LbR 7vOBBOya^owMRT2ЁuġH|%[sy7 2FЏ_E]np"cP QvT/U7E1(Q,:(7tĭj!BP+ Q̔TŌHL/(%ʼn "^R"\&YT`TTĭIP%"񐒨"o"]L@mI22tfazzJG1W@mvt?+plj˥kqDom^ðع,k|*~RbRYXP;jL2e=} ?of @#3z8_jIsM IBE.bA< A,j)b)2 O1Xܪ"ЊQL qHG%cJ^v"0 )HA. R*BB_H D9&EUWnat",DѾ4f@*Xϒ(.*^( 0fns1g ( Cbe~[3G!uug>`G]P$ofJ$BY7;ml4J sGCji(o4|_.ܬ͜ЦZ$#P}(3@D$`2dH"BH+Gb$B\1:a+PQ BYx@F D__\ᆫ̸*eW0QDU.:*|!Rh |&Rd׃y% @VZ@Z )h_fv0M/ @@CiR!!=)NU: n\ qUJzU6W$.V"g|kK( [*^_dJJEN9%+ͻBF#g'VB xU)4GbQNnKd1Xā'DE( ̑FC 8E`YɍBuIޓ&̖ ka G_"2 3̓¹v{234v`>cs.p5x@p(V c  VQOIf#=ia:/\ה253ix'gX¬y?mf>')dVUaJh .#ӐNډ]P &&5Ž]H%EBV+)2q!.. Uy+/ "W)^Dz# rN2d#'"ׄPr%d $#;s5)d JWo`M\4vͩ3gG8nedcmNoÄ7GfzW(˷p)78X٘E AYo0[䡶*Qew44 {9ZBPv}uUbr t:u38x|:;᪆?ѼcQ{ݭfLz zԽ"_)@EB쓷ƀEy HT)[^\9> դōT6:γt|ήOYVM<ׇ_z nZjE Žh&yU7xctJesd^6+(r-#3.#X! `'#2#@Z[ʕDd k }̚) !ō$69`ӑ*Ȑ Z H/F?`7dboXF1͵>j2CsmJQ0 giK5bU)R !_xwB"X(efW_q>!k*Zy6Ś׫Owq+]sS вR0CQNQc}0 }A$ln+ S]s YݻC?QlDnb%dʠ "ˑ—I$#bjؒ|pym`ݓp0a925!d@yVT)no0+XٱAő?͝4}!6ee S 86=?Ǎ(~iE}Tnj,L5[kY-u@U sO!k*XRΜJMϒǞ< d❺ҚیTUn)=pGi Wң\х!c!]h7p@.0ڌϐ p'WV0 v QT#QM.fxtTEDB %(Md2^H/@L눪,MQDFIwhvV|O\\VODY{5JEX$Y>S.yS;DM;]6XbaU,~XP/EQP;S^_fd:v_sZ;fx'VaxDXz|g:*c)|`[[&t^]X   9 v:=#|8 K(TWp31$-@9=޻<`50 _;|uraioJm7*v>c,r)U`Ճd3˞Ŵ\|<E$Df Z @R9rJ❑4,{+~,su4WRœjmjӨXu}ed)NL,+W쒊+, 6^^rQH̭΂3Ti(Vk)׹"{Lg<9B66Ժ%Yw Z6G@ejݒ} J /gJ ٹ9w)R/K`Ė5P0lVuKV0,_%h ¹B'*b<B!ey:キ_Em0N[Cdtb`x3Ӷs ~QPm-wbdW6f+uF֟&db&_ L&kUG@YϾ Gkm*9ƧTR:FI,QT"R6Ȥ^'-!@ %|j̖E:(T92ܴnrt B\t6°힝jR&h/g0s{JTjDVn7;x5+ojkiﲎZɌĺ/e#jMGA7̙Ug>zSNFOaf8g4(oXW5g*SX{yG9~U*Ji{K(U lmlUaަ?OggS5`#IC (I98;9996A@91AEE188?>=:EFE=/89B,%)8͒9)x~wN^2| 0tDeH\bAk){Ы]4YI#.!(V͉J0A)(` *$^:TR_:5|`6#}>Lwun$s0%a}v5N=]5HsO}_Cl K%po\v-K R[_ڃ*\WƆEޱTҸ|8*uĂ8I*drSس6tG،E8 :ظ( t B5,$&&d$ѽ8EE# $R Éa DGSbnjr"C`S#@&$l!7^g( L:  S6m7 n b{e3l⍙RrPLk70f fٽ иFSv>. 9V#UPmU9͕&r3" tq25=f'lm0` eY &yF-_ֵ=$D1BI߷-uʌZ:|(cY-]X;y<V}X,V\~ !E;ö(l%;恪2IيR +t N[ӸcFVL :[uNGPRhǿ [-4 7n =-lc|'$g)ˠ9 ?{Is1r+nJ+m^֋{/|J"4c GZ߻= u:R+L/:[AzD tOk6{ Zif{.1wf{>"|{ںnon^{2KI:=ew;:\lʘ@CPtnBT,ԕζPjs#+JRi@g8M JE3FkfUGuݵ03"ٛ=4fkzOXe-9ի`#OKS/F},Wn>{6yf2mMcRJ鰇;1h fP:13-v%t],L =p|TYpj|E. GzHlkJ٘Ej#;Y}p},ۊ߃mOs}1j' "H TPN$"bE5ИNAai\!Ği2N/+ǭ3۞ס:J{쭭c,{]C1|dz!STylJTc&ߵqC,ǭjs|ѓr9 U$랙 =zqG2)%GWoF:c`t*K2Ƹ;b<y ?w%XmT*e13(aDȬVSU{l۶m{oWeMo~tFDbbM"(s2иzWQ)^TTyh+˩о߻=ۨ˳+p/d(&й5ehCJv,z.nX)%)^}󛋽C-j +8XCy?=Ym?ʇzcMǭ\EIw;tWbi22؊uyeE JE.IyY1eR-FdD" "#DOE6&HB_QN M4l;2r'HZHiŤs7@%@n am(LQ t 8JLkާ]cxȮu0}/Ҹg\h[feαqeJJr),=rMT(A8VotQ#G+y{IzYbR&.]I$WD_z qY:9y?[z_g^d]4 Y3-j`QVՙ^,"G0cc8oX{ff@@qSh*`"r@x+zɌp-}8-]Z ϷNL8JtjM)PcxLdd@9g+:sD1.fT^gP{ E-Q>΂EEdCSۘNs~8Ӗ*TM!?:ĥp;?M̭^kE MbSt?E't:Ü*J]liWb]7`|,u<5U*V Px?E.3Y[r 2Kۥs|?:V߹:zH^RkM0,8RzuVqgB\#s'2VWqH}\!P\Qԗ,3X.EbY-tE.s`C6rVy8T'7.gq $oE3# WWq @$4k4 `m,bԤ~0i8pV~o?k `&T8i؇WaF>)$& B  I6^QeV%_YWݙb4ѵC d+OnBfw$C*n*@ڣ*lITՎоs+R.\FFSȸL K9}P0,ҋBbWH BBʌd\ n[)d 2Pq .RJGdTc_rIj7 s2D 4 d'{ۻݤ9vhȩ]Xtx70YzaQ=q7é3l:PEכyL)y~╵}_/h(!::D?|b@ ]S?gvWjWWSq1 f߽seSiݒ3|j$!f2 >pv,~UT1mUubZBFE# 7Auf{jM\P#)?XRvRDF buboaWkoijG$+ 3|x#?\HRS.A;z~1e[ox3S:I(۔Z'=S뼑lf3d2R\2"2Y(JACQ d)#nEj$}@(eTd cpB)kIEBJO) ȅ_ )W)#:sOn!2%DP͵$tnE 7,=9lEndD46h|c&F/Le%Lp\Ԃfn$5%Y~|EJ:>$/ eFR%cc?؛֩d#rT;>FK^ǰڞ{}T."Ϟr\ tFWKb" eA$7DrddM8#"Go# *h%c.'.YFbb/da˸6rhʼncXb#NS6,U#Cn;ش"ξZO#ܦf!34 nnxtu~LM۫D#,tfM_3D|v=YtL-8fFeʲ?}C6(َ7C_LPBT/t_vE#\Ώ[rrfú(&rVV1rf pXt#SJO4lBQPKF[\-iԭC )T3Yű`Ud!\(s @fh.d\AZL@J$&(qI]3 2仌`v $0K]PK^{`zz$0SSxycpy+`FTyu }C2ܔUcvr} 1o pj$S ,5{ssKVnd%:^ -|ˇ3I:AeI24KOm"k@ s+'D(an>ɸ#. Z(&:RʬtA!˅7`DqK2+$ in=p{c9SpGO$8]j&q˥Yv#Clm5kg36k3fksg3/$NvfuJ]Lڋe\u tҫ1 U# Zw~&}O>D0I쐷E4<ާf>Lo&Hܞ/k}мmR:RKw)BrT9:o Pb_$!U!-Φ** "'℠  8!dU'"P WDupr Wѵd[ʒ?5d D@QJ20@yD,a{Qh3M`D%{ YΗ;cA/ m Ӡ`UqO_( =̤߯7PRo*[c_{ض%v'ƪvOCzVrR%kXJm\0W*Q5ʎ}[[Wlor.KeQD A ,JAAUρF\19+d4|FE^9##"=Dg٭ngr fMT۪* u+4Z3I25lrx]: 3:^[ZLͲa5S'% @+$=W$`=* Z< vA N>x@>4cܙϺ`YQHe kyv0"}ӯ;M/ln1P9:rÂxP<.u]n*N-ֽM1tne벽1ך8l2sdqZG;@ٲR Mm;/|y;!nI>I70$|)@SJUQArijR'#9]:$ÿ础d@An{% =F?@v KR–YzW`*)7;+66n߭_wοvzdf̶W蝥~I̫ O,|>rز֯)9a]9?}VVtw1/hHIfg+sԜs< <9 PD^B/Гv@"fC? b>@ 7RF,O{5~ꄩj99^%[Uj#;=b+R5BCYڋ3wĄgju˿}X7[l?K;Nnj]\jG 5W7txژLָI_}|"t37Y20LZe3x|So]]ꡮnW˽=,dq(|Jс4HKF*lh9gtqHu&7^wwWUwwww1kbm۶m" ҅hJ~ Ƴ .' 1!!{/k{sk-ϴ'/j:f#DEBU)bq')@ޫ35~ ?p|`\ATv\pǻ},}Mzk*PI]rgt#7v)XP&E@4⪒hU3EJ)DPk3+fDɌ,n)Z J[buEfh9QIb*^GuB5, ظ!H,fĕB7=RБ{7 ."'*h!UOggS`#IxP(9''84KC,9:::<@;@ACK'.9;B@BC@\ G}xo6Xn򙮫w;ssNX0jln10JPkq "VV r<R &@)6L2$VGV`,qqls߶j;j4H1nT6=żJ)H\%B#C)SB&"RqedXQtAAFE)S5# Hp2Q ԀMltJd(be" 1,޺B RGAo(* F K[J$U$B 0`pi^Zv@Y*_z4V{AWH5Q((Zkw&5d~S.ԗv(09bwwVA`l!PDUQlQ,NLL ,+r4JT*b njM݄`ʕ @A꺔DdIz% R !mo?yz﫜eݤel 0f]wK9@-+Gi@@~"̷6:L2eT[tߔ(˷g҉_{?s5U~XݍƮS0R.7*&/AfVظ,/GT"*.'Q<(lTTF@5e%*DDfʕD!K Hx7ZHJbTXd2#6j@)xA($WI:TaZ)1%ۓ3hf`5SS@1![qu- Y?8fuV%(tLV'hPNHvI <ǜ#y03bRM2$Ұ?tephvv|=^džaQ휞˚=wY]ƭ~2FeZrtՁRGl#e9@^("S]{ITӆRYP lI$WYq$C ;AWRh$w;B ªc\15 'q57cXfWf']duwgEiizT u\OxL} ϶Pi߫V)G )%Bve-G~Db,qlt¼(=XT@$IaIwE ! kHs,崌E@:Ŭ#(Z%wc[DQxP-GP܉%JZZiXH뷭H, JI \3 Un灾NouA GV,%QHYxjBǥ3r;fؔ<;0<@E'=Qky635jNsצ}~LN;`ΟƟsUUھAE*"W@Ld(EF122Y(FY(FF$EDfg*2&/ŠpZC: *fjP:I  R$l@Gb WD+#pzB0k !"BT R@2hLi` fC^L89p * ;ԵF-EgЄbQ\\ԣD:Se)Ywَ=Bl12e-m!X(5.!%4 UK" {ŕjD9f7a1e6>#R_"WC5&&ݵZHitu JbfFo˞|:ˣ0uV M >W  5@N?cZ:ڋ3vKrE^sĞ٫ ݴ-f J'0r.-LQ! Z- mJ9T[ЬY| ҄OBSQcrVGՓg_Uو).f9*\N-98e zj^XrCd-9(26s[)qEQhkmFu^ PAb2.R'[[Pn%#?Fy^BDB"꺪u9JJZwt dY I^}_aBцg]_G"ef77br/BтL /%kQZI@*zmk 1Viye_hU:jupj1=BPRed$ " e ;ZP HJ . bUY8qH.B_U3m`r:uWhX}ջ#|@\[JhfCPJ@Kڹ5 XhO) +Olg33l9bG ps@kLj&uSĭ21n1t~;w%5cff~ڟ/Og 1l* 'f߷Wz7Y /6;3DR̐ѥbI  *1"ab4&'vɥĘb`G$+ Xy<(P,dAE(.$:AFuYqb;+MMzV"6.8" -tb`Ln<&Ie)#To6^9n:;}Qݴ[VhL?w*esvkfS` #j7\Bc2Coq^8NWt)333ffV{sS_ F.OzrǦq]QA^׫]O VCV=JBD\=c_Mf3A\Qft5TBn.DR%rbB(U2w@=Bd;Q)18z< iɂzrE5t$($p  RF %ۇ elHf;nᑭ}4ys =>qI!fYiBʍTB@[|Zېj &Dfq54HI%AB-JRtΏs a.1amV̝ L3͠6JLy>>>3i D:&YJjפ5p2UrnZ,%$T}V?~{}agbG0 Ԋ! ֪\=k=WR13uZ,Jʹ?:G"mxKybeXvcTV2bktvmɋ`Nc`7(nB5k 4 n"B<3S3h+b"6_wyursv N5uN!g'ˬq2Ca CXEY[!FLwH2P0ӊf  RȼD 3x"2E\Q@Bc`RԄ J :3WMqaB#l(k"Z9S QDKD+9K.e;hh ] D/or OggS`#Iau)81+!+C?)2::=8868AB7987BJ6BRBCPLr$UJ%JY/1iz>bʦy_Q3rz-E*ƺE!9%S˭njD*%+"4ШBUTD ASE SE$r[(qY͜"l\)ErR$B Bm℆ d\JW5 Ab#E8MsuɫRsmq((x HHU5$Teo㧏&yNOo6HY̧kK-\mW)2*QdL%ed(w! ZU)2hi0!FQ1,2iaB "`@\ ͊ib2vSTDEQU1&!1dU(GJeEi"&[ʉ I@ ci6Df9,4Z靘Y0ƙ2 yՋi;jmo ux 39e-(HL,tg`o_~t̞~;eƿvq==fH)$1jEA"#D)2Y)B9Q )(, T!2DPڠp@`Q,S(5FFu"c ɤDMP #+D!P 72RFR8W2nF @nT'‚K$=S 4kKe, oo0иJ4n6X= !e lpj:[\z7)(PbJ{'2uSR̓y]Z څ `F)5xw.zHuneGJe2ToC 2C)#(NT BʸԙRQFL Y(D`B )NAg22d9 DƓ>4HEBĊQ2rJ)WNB' Jt12+!#7OrhiqEՁːUrIw.+ߔ ąSM߈ -3v/1uviڋus u`>2Va0 $3pq`@)"e.Kf\@.P]Nƻ:^%f+ |'Ƭv|e:]u?wޝgL|fh5j5.1 LNt 9"j8tKV/t2EXEŔ4bȂ"bLɃWق$a\{1 A*`>SJIU72rCѠB%GDV2/8bIq۹}TZrAx{!mG%ڟi`jL{zALq=).%;S4tQDvbF3s~+*#bዩ`zvGB9uZ6_7lEz4֤F@tJdV5ibYQ#Q;bیrt+zS-fݲazDY@dA۹A;mrc]''j߂h8fQff_b{޸O7aN!1eog?!ͻ}+\3EQbfSjfDQ|+l#Hf+NP(F*]#)P! *XV8+=)F@NtL 8C܍*``.&}B{1 <]4F3I7q{dMFKXIV Xkg/ai (=vs/ H#ebYi Dk+{e|\jʔ2pk̩4uMӧzT$oV}GS&tUpjEvRdёَ!V+UyRѼqS*BҨpEg^z1k":E N8"r^)mBX)DžM6Jc I@dŪA2@`dұGl 8Q& `p1سA&XvS̻MK[o v1sܹO{wfF9)$dPp1x>4=I%"y]s(si=g4o@uRLh1% Cc XHqQNٲv֦n$*kU?$QAi]#J4cB݆h:ȸyZ,;NI4ް IXLZ?ǷDCWڧZ\#K.:Q##uL$,£$@Y?D+rLRFDarW5 YyV%,*0TNe# ]L鰕,2kkУϘsD5Hn.>@T#JQ=vή1(]zYs@ BbqJTMYw s^qbTWW6 ;ok^!حwiͶWZ߳ݻwh{PbQ jDd?[[b6%S163j{('QVYw,W鑢&'5A6J&SRq<qvAU@o g] (=W̎y? :r=sDu#$%"̯wS[o]tY]QMT]i‰U*YY/tЀ_21NÎ'y)͵{gvZןyj32Xo>7!狲MK9Yy$}+kRrߵ J.-%wl+=1̘zF9' q&392JP0 j(8w6OufP.}ck{#ScVfUL硶N N'Y쟤jIۻcvns}soLмsUڸ3ܯEgh625PjX qeq'HzH2c#T(ݍMW'|޲6wJh_,[fɼ۔;AVgHO*s1\W>k5zܝi{bz&u_C `mIQyv=P'2Q\Z7\9b H9 /0䂦:RAr諣Vslff{k5V48 7[*RPoВ;5B"~JzbF?6*w J e]KK[.u3 ժ~owzkU뚽I\ב1Ub*[{ NJWjH0I0G0Ĵ0Ռjif{ۈVfFw& %b,P|w.UKCV6E;YI8Yj74{&4m (@<\ ΉT#ΌX\0EuemۼlvL8\J6~TMfԅL*sUiRZzgvxvm%xckuk9+0֠`9c]Q}Sߧ|W7.ӥ^R|b)8b*aTH֩Jeasp `-@]䮻MUMwm {o ,뎚jqJXNps {/`F[fD #]iXʇO:ğW#JH4&D 2 ӛdㅁ1x"Rd(*GM$ "|KQaT jt_5:J2H{䢡:ߡ1T/HbH*hO!+ i 幋j-ᲢP,kqQ+ؖy\~q gӥR:ZI] P![\AØeڸp[i,ز-:خkUL?Qw@ Yc5tZ!)֛Vf1/,5ު~n9{C{i$H^V'N%,t]f&$ /,5;q`Ҋ2:{,p(I[@iwU;mMx&5dV*wY^7ؼN?ޥ:L3.9%^$FڻEu'YɽN*^zja~VTF> Etno>6Ys0(i2"EwB&jz+=)5*ˍ|9֓wtb]v$]I"Ѿ^UyZmްCXTXZ`1AʸuF-,hH1a;/sQH[Rp̽I JK$왅4sȭĻn)Opc׽+bQpuL(\nsyQɜ/ɹ*gvPr'-vcwޓ'L//5QfXQu2' .n]S],nP:hf0K[:wl]Fw0޺? ^]b0Ya P)3HǓQ -@:X,Y,)W~1voݜj] Kz|p*I44]M_W6i`fRڭ 3.nqMj[w]<.ܺoo\R6n UYNY6z*NM+UʦBWB9DXqqW,UU[dE+"Cj)7#kRjx@Ho` Qb%E.R^DXS"!pFee)˶s17 ,& fA{(Tˑ)3 TaeFG)u蝢nM@p[2<zXX. .eH,F&5jXWp=Ŝ.)'Uٮws뚙<2Z=) W7tQ,KqALwLOF6m㑜15KKH%je&t@DDtIQW[ 7 1F'zF\@KC 巫/)6.} BrEX'f˚ak*2C,n>dOL5Rʂ/*ۨ6+:D¤F\t z1KF*1(wcr E)<[в|pV$Q._|⧐X<15TzkZM=gF[Q[mwYm|p*6< =* pEg-5&` bZi暰kKk8W5ܬ3 |nA6aw,(*\m TDKq-N% zLghe}HUv- " @jsF\61o䩱V?/վT 33YK./VbII`o._V٨nu E)][aY(DTZHHGINAe#KQ"eDgpbN2G :s"Su6s:fTy6RsS`&8q9#ȨNn+%`{wOTzk)Xn+x.}d?X$pV,C#h" ڇ`? \ǼdL2So@ӶskSQ\{3ovE?5u7Y(tJwf{RXTRX)BK%92AuP2O2\"A"Rtծ IDYY*F21q'N X"%!P)Y1K`C@spX$#xEkGղ ib{`0 =vjMkqcA#{-̜LS;6( ڪA#ﱀkA E ^Ӷ6 jfL/]|"Nl8U:3nME'c\|*3f56o{˻ ۫:v[.,&Y,bd'GCd) -(r)LId}] :BɕKM8elfJnnL% {UHމ"fQ-(hV9"]3[oWXa5=ǣk=k3nK9U&gl6H{M ሩ+̟Jh)C|vI*yDݞ%!$qjnV* JmƎ02t]FF AbKnTKe#u䚐D2Gcd4* Ic$%'gYT*b0Mz05.{5:[m OZ<5Sj_?MtI7W+ -F"M*ͻԼhe]YtJQ0t:p[=﹞bE( c,VCU5׶>r5'+Udf] 2T,;^9!N}(:YVCXrt4(_~kgt -"tdu5@i@"'n{'PQSJYA/3R2077Flcrt_mW.y9_d)bUK*刌ȜbFFF(bQB BCFF"ʑ(Y!R%d2"D ɟ8D++ER!C1.N!A!HRT.WQH஡X 0N"& GN(_(4p{~fn D@S)Kj\UOSR |] Ǎ`@OggS@2a#I!,0$:BC*&;=D@ 6AC>^\e 0Ō&gHk,XE3I=Kff*^s\ޞq?5:.Gq8oCZɧ\DBf h%Q6,{8l&I܎q-({v_UjBUL"^UjZ7thZ2^1sm 5PQy2lDTZ I N)%Ihe)4* "LfY\@RR*a"$+HH]0"k|4 .з%`CІZ `ڳЭE[;fj)QsvHpx<-]B*݄7X[H19rmYXyYF)>qx6p/URْWiLNw3T(h j9#DIb.lnF-Dy9zMJT,BxՀY-"`)J #Jg!E$6Սb4bAJY0*EF"XZj)SA5 xf@+pPC \@AU[,[7#X`,˛*u-`O8v0Lb2`|C,gPxJ֕T,s=YTUYv>quqs뗤4%TUo4>Nnj*(I./UW}\R-X xphh}WQ{@,vAu3$ :KHI&))EjVBU-\\(npz* ٸUR,PgH03&o5󞙋0a"YC9xp>ϳYDu8V; b_9+ЇPD q7c[yfP53cGh+UΧ8@I). ǞE}+9dRТQ$^`92PPu!`5WD O5'{.fvlT VFr-r ]jpG*')lT$BVI!"YHl Ǫdᒌ 2 r{)ՠ1 \Qr[F@#3- ~&,@jqE|£U]@l[gD̎ȕawV9(4eynp{T+77ϻ|nb1Y!L^] yR((Xwݝ$s×]]ugeioΞv8QB*8t'"X@M7ꙿv@EDzvǬPc*eMD@Z)]q"CBy Jj$Ln?0%t^ǵ>ũ3X?lm!y^gG_| uV^ye[:i̠hsy9Tnn,.w =ڪ :JGȪMHBB C"!(1R$U ̐LGAop3#x/ \!bHL)2 _J$tZ@m\p+gXBbNNYCzzy* nX>* {wIx=4 ~U[vpI(rB6f' @@35{Rm!4m-67Bn}w`ٗwgVm@IZ'2J:L;7v6[d0ܪZ-*Pרu[駩 @3a~NJ\ix [G,19H4 ڸ{tOdD}$ (R0 zis^Κw+H)c- Er"4Pٟ˃ `k6@VjhA@a[q0 DPȈO֤z2Rf*ko`P\g:rgϑlaҷ/\]1n Z0T`- <׶{Zb2 2jK8w(u{jI.Y;G  \q8|2!L(=S*IR{&#=kJqeq7)efuҊN׋jv8 IP<ѭJJ7@pF7ZB|!yNuekgwXLd|2#чѩqe ]rkDBtoNHe&y밽k׽6(\z_rӮc"$~ ΞfUR94ƦjT۽+\)ZNga֦Tg/y ާYKGq#$@` #B+Md( 7YX5vFͻ[RLYC>?_\OggS@`a#IΩ '( 2.;;JE699::>8;>DGJ#1=;>B=AC>ܺ@PE-B0ˌ[$Oܚ nw9Ɣ)IheWTYI4[I=6Wmt/kN*5BBiD <oav0$$N4V>\1=!*( j-"ЁˉbEd!Y#ǂr!: S(j Kp@ %l1h X:+i#EKW 5 ,dTc @똠+,7{THc`hVOors'prF<8rrxp>܂X@)1:'s Nk[(ut`IRTFjsN7z!Y w+imC"Ȏpvס yArw"OE UwR oyov*VGCn,#Cv* % Ȕ $ .cBX͈Pd DŋTM @DSܜ @hJ)rq[ I-Gx;5*n%@Ik6^WUG sod L`STo@J~;>7v Kj @6;?ܲbt5~~DkJr[ZыPo"^Rg(mOe!A]Q%N =T fT*Qꊨ˴ѕq (J Q$%p RHX:2FH%IU6Nn(EwΜ03{AURBhhAD1F:IYʘْəh X<dfatirfaԌwJFs۠@O6j4S< !CSeMH tO&@J$oSDwMO7sj&l}spק0u40,*(hn=P[2æiZV`V..")s6&C.r`M+yV$D!*U G.)2 EF"W>!XuCF@(!2$1 QpY,+Gvuَ[[o󆖳gM,6 ;U)\̬`hh*J(B$} rK aƦL)U(ok@7oa3<]sSCvMI#k<ȢȧL=/-*TT_WLT b ["w]+M1w7jT%Q,d ‹[EGę${_I&ғe": W.TWBH ]# N)K26A5uqmE 7tlV\<51pőec4HY^E HxGe6.i~$ zFl~wI<׸~zpC5PP&"`dC@k ֧{@}Uʙ\ _3vTe<Ge!giEe;FRo}enSbD&Ś/u1v-?]i|oITT[RJ7ҦߞyOl"Ltu*2P YLf~EJt(.}mM!oߐFl@ 槩R3۩FpUhOªvF;Q$.nNbyw3f F CX0'A6{PO[fwEu,29t‹ǽAet6e'<,/uVpR%on{_9*"yfV'%X3۴N6n`^(ʔez_QtKu4Нqls:8$.oW P RhINc/>!Т TkFӲR VϪ>sK7: y%+A<&ZV&#UhX@5iB!2ht#㰪)dtfr%ze*qɍ)Y]͔/KWg#겏i-A r+Z*Lmz =-k zMt$iԃwN٠&Q@䇣VZe`pOFeEM:6~Wf~], @MLW`< =t东嗩S ) g@5~&i)./B_AL (ģR @3HG*]Q6jvh*VjDި(ZD !EKABD.vQP 8>ٱz[ ~JH4<" %`%DSMIW YH 6IM^U`cNet/WPbZg;۝𣏕à)cYK$IU$~P+ M#. ɌR̔iR_/: =uQTWq<黉:fy1oFN?ҞܚMѭz2?y|'ڥOn4;֡#eEVUJQ|'Hg DfNdg̭EfRf2&q#M@0)U!B Y)EAa{ 6v`ڛ 8׫YrSn >nY| `Ʌ4SoB("Wd:i&T@e@y!]f / {^Eu^.ߪN\{l9ڏyCd$c7A"|EUj2m pg;1r<3i>p1ygQ@7Sf3J?d?"^׏lʞO YEm10@0E%;K"u)# ؔ" ",DupJW@"eVL)NQFHR.2W$\$@J W dJC :)pE 2ZTYQ)6L5%+xLފ oùyK׊cQ`OggSa#I_L/#-8796:;8>D)(66877:9>811@AC86@CDE;4jwW2ӥ,ϘsPh0Ƙg24^, ?)S"q ལfFMb&_ѡU:~Λ1kv r]T/Vȡr3Y4 C1v"-YbRD Q] +rgHD(d3B'ґ IʶDg8z,0ޭiBlA1 [jY)@ i 3>iF눔zYd a-pH`[X.m~p9Cb6F lmS)`#'):L5*ƕ.]x3J)Dʲ󯽑_/|2-Lq'gPr>L\E-n2EX(@2Ր)T (e2 R&*& 8"33!-2 ) qAR .bbQim*F +,Pic 2 r " .+> Q4F*Z0Bb! 1Fl]`n p 14f}":t *}PSRF("" 't6ܗ(7GILM58R4 c;?qyc߅tm;eϛ]SKnӶ{wsDs& ih((yZ4U" RX1)R\ 2 Ð,>㉰+(n")$nj2CDFf*O*N lL(KƻH T I%FxV*xl(M!ovu*2R5gn}ybm.V%;7B6aoSQp tݑD0NltɩI?儺6UK+Q)2r`н SGd f|x1at%(4Ig[>_QGyD 1dApӹeUڕ"Xp ;=Q`m/+v89z<XCi3ɼw]Sty1(D2bY %IQdޏ-m) P*FN& gPX zzYArA/0UMƝf6q]!Ԉtdiّ)PV*eչepL⇒SL%!f*#Ϩ[EySi'[?;sttj@g +R. {%cHFzGrF5Rf1/kFٞk{[SvՎ & хdBB Qß>IQF= uTf ۳^fXœ,^]\J쫸n`o~-g~J½򤑄ܞUeu<~a{3Y2 zڴCFzw*4 1 - _%4͓<55L^@ürX)7cs^ݺyUl>ap9 d9f"|wwbqQ&t:E9*"Z\ H̨fdDDi."Sb N Q2}(DdIB7^Q0H@$dqlD^oo`6JHryW  ",5Z.YӴoM=hlp77 #2ZLIXMI"bL@IHSg˻E@X$Ul­{~zvTUkfZ_Sa#yh<z9|;q ʔkz*e~4Pui($vں-Lc(3%{l(abG.wܻM"ޞ"]*@8P\BdfhOK*RD?Ʈ'ކtR9vYItsH3j]me(@ϣ>K_I`cS(.xur)^Ab5n{[[.9o| n*[_a  ڜsNUdԔ/׉12%VGҿhk*Uz U ,ZfXzӫH Cr4;w)$x̘U3.>g xHJU&l <SVXyˢ(IRo:?j6rE T#T#{UЉN[PtL {/s(b`kr,5N|. **òH'h:<2tHe#ZѪ-e|jM*]c kZk`]#[v8 e[#N=hbHu2Z{[}^5YPPpxbs=/R\*ef2DG Cӱ?c?u!c-x>?_.Պ}\IJynԴkZ{i走LN=}}R˫`sy\La3B23x}'1lֆDBi?[yjiEYN{vܞ73y[dKXy}V:L4m̢r}}J^9^ߛWk7kg짌:Mu_d}:khjyKNJRR#O:/j}LJȕӉ]~5'̙#cA\֘b׻'y{\fVݧU=8 鼂F#O\Ui|C$/9Kz+(p@3eVfntA xoKd$dwWT5~Jy h1τ*% ܽWgEP")pFfVh PGXpl:TrtA=g6{w8n8}?`Ug[s9sӭ~ѹԗYK?2+b5KYUrsUdb7s33 ØGֈXןbAl-<߹(q8p|@ Q Wt""E0zTggb7ƌj<%> Ư;` K ut?)1y{[͎K/\c74&}(5&x= cg. 寢/t;hfh^wF,J4P7vPR _"7U+<ZUZ4kmϙ)>\Reg.-TbH_#柑@Gdʟ(qsNogjgW%<2 aЇJ#+0h13񳴙 %7!Hwc6n{ŲhdcM9]@fҩ4}|[qe%5O9"j3M-˿u\VnTX^gWGj"e/Q;+ϔsB +c 2t?L:K\u֗PB {WiN.lgQ)^̐Qٴ[;օsm5:e-pH.%2#2GC"_O]&.KƦJ)IۭػоuϚ}+Mpt)t + L>dDE)࿿l(L&-ue[K9)Y*\Ԕ[&ӊ IƗ#A.!叫:IĘwFU*_k[[_s|v #+uܦzNTYxiM5swֱ:tߢW'w)|R!QάhνT߾1T" QBQHf,c!v[,2t<t0ESMHha&R!l캈"?_λłh4e 6Y_/LuL @' lNSr< w_4W\ moXIQnF[7QMlt)H!s/2ɶm#̦ݟUs##aHZ[峽9zskY< t=乐Eom~;%TWjP0έLuIn7_dǘdS aE)@6MR UU_qيG(n\лή3mžd$|ʴ T-3-)+(df yaʹLסxմpB}$?KUeHrမQ5}-{ w>d`@ Y( BL5@?|$Q1+6JaØu \TYdfC{{*=7KGI!QK _.rzt䭷*Ż㲎Ł D@}cL]\FMM H2KN30n1|v)Yv8כ,'qd92rb%z"k SbFEEE 2"HYAe"rQʈH"#Y!dE(YLrC AȨf'Q9 UE)Z2\ƅ!"Bb#S\rNT' Rf$ @O61S2KFFIל҆]6VHizzIQs3)wf3>(^WOggSa#I%--,,9>;:<<6AE&05@`6@= iJa,&o@ͨgɨQZ//:ԼS;ӊDЬ)"AJr3r@O:͋TP,d )2dYF2#S催P*YI8T6P@QY{$CrJBgP@CP$d$#GfX y.WJ[Fr(e*9SrV\UHQM1atCVaE1s&,2q_ǭfb3юy}L~\M;+G}^J/fKƢdl%29&8(+y/GZя k>9 )v r*Қ$p0u! ,6E4`f ,Q^u7а .De.3sd75<%ФAIӆ HdV )R9ʑ8!JsYIa\%hcKL9ЈJ*<{{m73/#[/ DF[%0LgF+0zP"?3:*YiUL-htVNNfQ\&%⺠BAکmF_ I{Ϩ(Bg@<#v_Wfޛ!GUtt" 2a#a;8t,;D+f2̯U(VZa7xFH ;E$%'9ÞOʈw®AD%D!5Hfu94ynP<&h- `^z@>gGsUNdDEt!q,Tv3sY͝t>5 Lʌt;SG>߉gg#lnuոb{KިW˖75Z}!\݊Eho]\),`13I)[P~g>+ܷdܦIR?)w8CI''}ⴳoo+cgț53h l-NU%G*M2씑qrbDtX!FfDC+DFUDP9S)dXM)1HWE#B{,\v`9m (D_=,I.K$lMW"Q,YYna Ð㧰ʏnL5yXV^o׈5n΂PTHۘMf 48*Cي'J9zD O2{ Ap"+U. E!H9LPLI7y)q$/1]d!%2p ++HdAɊv9N VB:A],o-#&+n:<ʀ /Υ;_k0Y޻[c .-Q2U^rlw$Io'eI c - =Rt5&hnit(*L豨s-Y0]go *d>#n,ZL>%ǺX!2:c`wf61ߊWPJWɦ - qX^tb5c?@alOh/&ۇRs󭔍%ػw/w/ػW`{υ\&}!%Y`]d]7hRcD+&cnkZ\.}fͶd5$]:|z~IiڢAY˞~[M^7u\o1 4{ gu8/~sQˇsz"|x&\c٫:tGz4]5@\4lp<ؿ~' e@gXQ<{Vsr}˭F@ys϶e^kjyiZܧ|Øe'چTZDd6v) b3C+˥?ug-3I6P|p1ߦ9Pf  3 6_I GNH&`-ȁHnY @ ʪBH=!ӈw׫(5|lF` ;( {]q@= e@COâZ}& SoAgAn;M6kb==Ym5A]h.3gn sRҶ-f_vT1g], 4um7ܾayvhYaG򚢭%5 I͍r E(<# l^QE򪐫q$/"@5_Tr yP Mz3SU?y], 8=_"2BA~Nߊ'}/ -}oNС*_U)7 ۄrX ycw+ntjm>}vmڶVq/~RdWWk/κbO=S^NY"~ͺ4rP[NGm,?u]we3}e.6}<[Nޗ3ofuX#~deX* Mipݸ+F8u8l:l0Nb44W[w؊TtNhywձ;|f{T[宭<>݄9GFDV1=Z`ǵ_V1oN8;aһũxE2S{|OZ>0AUY`q&;ue6Z޳)+3UZ$:88Vωg[=}~1c<%yxdDwKG ,sQa8mU#yOj$S,GE\S d\dFddV"IFRݨQL"2F!i)+dBbNDKŌ!I)v0yH@&RHWt @bn̊L%g @qJ6Ք[{ol~WlP6 m4ם/Baٖ .`څ0>mŁU&gbH7Ξ&b}XyUfB+˲ :?=?~l~\ե9gm^5HI JέnVJb(wdL0GJCf$JY 'IFT*JqJI`J"(z!/#,H!3{ 8)ȝX"Q!č Wp&Ӑ)Uvs G@J](PPrdp[؆!OggS@%b#Ij)K)%#!(86>6CH/8:78=68AFM@!4:}-5VhȎOmi,-w}(xLSg!ve[@4R"M]dk눉`6;bK{alQ5ldEsRUPȌ,C@Z3kH$h4"$2.^C;Y41i d7Qͫd` SX:hѩ`C -ߛ^#HUnq9ɾ@f3c62S>+ aZ$~),^cp~& cf3A_wZ~F~_pzTF UPݓ=A(ئ^!tJWg^:6"*"+Zͬ^ zTjJ"**&2fЪ:j:iY23 ITMD08ΐT0IR  2pRj2ĵ#4@L(T=ʕ@oq.+uD7K܅B=Byl b &(.}ڠ~Eo멠p6t| }ȴ%pj WRq0f. @^TaʔœvF%3ڞ6*+`88^#˞ËE&IYGs K={Y|0cL\NZ9)ĩT7 50@:VT;/S( <J)E-UEɕ)H ̗ "0p<SL '=A$jW:>{\fqUm^y9iណ5_:Idqrc &F D6500]d *QWeE( vCHjf\Yxm̝\%-x|Y'\UYS [IyuDe# -3vطnwe-o€"duda5G_BT|JWhdIv6Ӽx+/wd~%]Ceoc-^xYL_[71\h_ZfZ,+*Y>eOo]uwAwfwD"Xg ZdFDhE6a4(hox^B!"ŌpYR)x|?Y/}hQ=ހ?;?pU<;ŀ 0YDHn>]wvݘIqiX03J)Uo2jdZmiQ}[Ka[_Wσ}ux:3Rk)U!чYЍp#DP,djd!edg(eX(dY*Vr3{CDB"҉D(F"V2e(GI\5u"#%MÁ ]UPfaA&!ZlAZY#å`"OEhmQMى@@7DLitvi~$ m7&끍?0XT<\p7 + Rzp<-cKLҠ]uSɈc.Z)Q5n j8 rD~В|I_xO)JzJGsվެD׎Ʀ->+*(`Ar"DjͲDȼ1 YY(eML =WdNmb@ymȡǞr6S`@7{ރ] THXzʈN*f6ğ杝X3 Bn65-:ۋ1ޘbh3u Zuf AϖcUeP);Y T%v B6j'1(ZpŴt\ q'THC{Ǔ}ƸY6IЂ2Z _ N/R'[|F&bP,fUkVMn[ٔ2S6tB24 XW]Y~p}^;>޹)5"Ww/{l֘m͛Ekݞ F 䂾 n] {EBAPDPnGFBOқZKZKoSRMZsCڛ\D%=ENk^(L""6zOB'[ٙĄO{:msyu}AGbTA t*|4w"br I!/@wX4R{S1Q2Bk#(M3AFfloVE S J"Rf+0KJ2J˾l /#iT\m.F] U״CPҁ Eu-+g-V]. veTv63p}9C7k%)(~KLE#Wt E8ck$G#ǒUTȻO.qB9Lik դa*q&hIɅQ#Ɉ[CI!'K) R pItJ*#I #YmJC@HX R)C_" ^ԺYq/2,7<, ݀[ BuEpAP+l;e- (v~ƶ"n71꘸{ߛقI-}A΀V"^,翚mݸ$FR[뵎-_'Ħ?\ƋlIwqZq34\j$u!Pt2[ i 삳e Ok4h!kq[n-ɡMvZ9Rqĉ\L)CNhVnE\_NJDžȵex2)s@` H:Kj Qx"7G@Val KC_ )eY݁06oXw!~vz8Y07.Me2`Gl\KVMD=T_bR#S@L2Tsآf+jp0\Lb2;?+{$Ѳ'lEVS~BJmsqRٮLJ1`edV{4!#l/r[,I2:mQonVjt L^H 詔 XM MEJiD10WY}֩l{̺6lNϸnR{20p$?Nj4%b)H&P13Bqn;=kz&Ymz QQ "*iMP$( pMmJfԡJMɼ^h7Ζs:{vtؤӹ6Ri({ g"2 LcT0(q)x,\52s"D(oȤea|6Sum5f&be/ˢ:cL+`?G0 7!ƂZJ|,2&囌m(~c2N. JF ]!+oMױkD) 77loҙëxV#udOĔ,:Fd.F@i" ˦\Y@J.PsY8)EGq R(5"Q@h (IJ7c7B$=1ҊdV3, %,T&ELA%E$ <Ʋ?̞Mb뛌aﻛOggS@Wb#IZ9".")$>977557@E(0:9;6755>@73AB>@;;:BCB&ݹ뉩»e;h `>;bqy$6{7)G]HbhE|ty ?KmՆ$8J˴i&' gnT -WbFbEg\pXI+H( "6 C! \0!qS( Yr1$ m!72%@@R,tq`C_T"*V)LbPI@2Dܮn !T+7,/Ղfd HlN^#ي] t j6踻 g{sLG`{)cbJɠ K,^N[y+G$̫R&_S{w=⌛mzu8_g;SRexgO $V,Iuv`2 Q5Q,P,%QL 1EAs1wYQ>IT Cr xP I$⼉X +F9[*Vĉ$ ,Gl̞r`*%"!^(a ґ+!0R @qYHDeIb ط Z02.Uā$)3Ʀ.HQ2vu}xSGȓ='YYLF7tozc+Dڴ ENISc6GUzũ+B!3~My/vvY 'E-*bfL"oyڋ dKXjBFBY'fΜgvK ގEN$;-NJ4R)dBPo-!-P抑K/FbA 3noxvY"s/4܈(qu2o^0y$bBQ9R$'&J'_vQUH2+Dx&晤o$dhaIX9CnY]KbT6dfb5oFHmd,#Pq@7ޭAz(~l$/&*yrтrێ'our[xS}{I:l2$ p& XYu,J S ѹxw݆qTDDf؄@W>Oǁ*pI{735ff~ozVMoַܦ*r%_6G/(jö2$|2ЦSGRN1[r\H)tDy2eDG(( Y )#,2r")3j"@@dAfa ĐDMHMdzfR1ZHz==u*aϨq:tWR֎-^e50=o5{if%C?\H/0ΰ6hFIF6Iy@PD)xC.1%(03Ɍ"p\/Vt_i?6;!3v^o7xH׼Dʌ {"l >j3Ir3 !SNNKeL5^$cårP RXW@ /_"溿M^!RdF`NL!W,,Jo?f?<> BT ہTp.ةLnEܥjA!m[zfzsH|_:<& XJcO`];]?Hٟ{ũ=rLqxXup\N&ƘX}D %?1ѲzSN` EU,t&& $+$=K?H"OJ-U)e37uc g .XYQ æ ?kqPfօWJ; a~nv#/od-[f,.惧}N65O^u0 z>S&k%5bmۊm2ڸLOʪU HQ<mQ75c3UfO݂wtPljySS9vzvS;H`dA*6]79ekj/ֺjy'7*Jdrq;uqS]U,(Ob%s6^by3BÄŋ0p;s @62m? ϐ"R]y,.EoԘjB-?8rL,YO:rQME>mGRLM\;Z "M Ajf| aIҞHK3B<7zR{U۽#kٻt.sͷgv앫5!#W&{H7Aꊶjx)LJ?Ϝ)fc~Vﯙs}tV?'wǚUmijpXDzeijNݘliJvu @ː )yVǘ``P)pXg}MP/ I^FMYnRlsjww˚dM?{Y$BEX1 tO3!iҦ6NF1Y2UTkmluhK>Jm 8Cm^є^#V X(XT(R{{ڛ˶.u?+=C>.;989>8G@GA%98D>7=@1p [v7{{3=)}e=̮݋yxCttX$#$ 2+gar1HSjԾ|7D>E:drlyW63? VK[̭rۙȶ`] 0ʔ,i*9BS"Y @e((+g$ 2<)5ޭmYZ6ݾm:@ wSȟE  ޫ`1JaH9ŮNoN۪31LWSۼ{GQI5~N*2ϭJV=u\f:)XsrAs%z{o^DTEls:EnD 1 N)otpFg*z{Adu&c51(RV;eJAխ>gQ5o_EG>t5P.S)C] # 8P+w=2C%i4?H+B_NjS3=_P;j暮NpAR/\w*1ꜮTڭOQPtߏ(?w7s<B3!DV%0Xݢި`?*h) Ae2;ʄ ,=6*@f-"=qS PyeSUJRBo}I6udF*n;YXߏNmC+n#'DVraLdX!dUNsTK]QQ2E +Y0&22X5N&q5rJ9B5Q\含"&)KF퓑EndT5H Ve > t{Tk BT,%4wNMG١+^ u"loMA&Zp~0iBp8qR9Dņ6<ّ-׊dg1}a< `$fbJWhQ 7)M5҃H3%@b %\bR"_^cN13)Jͼ6ry) YTc_v< `;lJ(+/E9cJTꆊLX[&|ޘNW*ⵥѭL Tc?v兔 Q,)mdZ/ތѣGޓwjpdPP5X)*# ͵L=rq I(([*_6{Y,+e]V'?1wO:VkZy"m3:歍vmj |I{Z?@<SRKӼ[z6Z녵of׹tzUܒwEҜ69QjFY2mwnQ#&mZZ쒚шCW f: . mv4]C/u<*Id7vthhXW#=w;@&IOۛs;=1QS跬l|Z 8`ײ]I>2d @"cqLi2B9%QPQJ)" Q+ .7bq#eE rh!reDg3IE.E}qard /DB^@a;`m }IbTm aԠͺ680H  lݤN[ފ[g>vLʼn[Ζ>@κ/2Ufz|YikT Z~.di6K>3tخm)(uSbdfFub M3 F!D,d{>5I*}H 唊l- %1oCP-2rI$ rTzLnl$i~knt(Vka{7Ά01LbKܽ. vZ=9 벯,X*DT |%33־ mW`Ah`YU t6Ǽe?NΌ@UoqiF>Bfv5!)#=S>UR qG(9E ( Y(.YIYA)"6!t1s"<ȰXXk)3#SlSɍBdR=ɤLPnK,ڌ o 9Y#e8H HJ=*˹*YL 4L&{ c^Pw鬷L6: éH69l\o\Fj!ebVJP+dK|rHG=">P &o[,#~Kd$v\EPRJstHg1 N9~.XeINaVE/Hn ?4tTfL"V)dYoڏuRFDC"rav-'7,fmkеe5ٽduLޜ(%1Pخ~fiT%PtŌ((S ~՛ܷV؛ݷBS#B2X-$A[fi(2}u73J) Lkv=V^"+ ;U 4`g6YpVz04,bo5R,Wi{wgM6;TdR:Wo_BɅ[P[]Y{ l &nLp„D@֟{DFB(Ȥ @=61 ;ZKo@\0&޲x9RwWj1e Ag8ӥI;7eq4\z#7у0Sq옙Q)+xNT?o_Ekj@APsyT%Eʝ,!Z哛QJykfld;U[(retL["6R1Kĕʅ"g83sdҀ/K".r+"'smв}.P) 3C"(T7TܹĒ2 #lHV̑qcSU a^$"OggSb#IN&.9:;?:>DCD,.9??A!$4CC>#4uk(`ۭv,}Ù1M(Fa Qqs\scc ҈x %5oZ/I8Ws(Bur}ZyA^EJi0Mhy̎*0 jjo, ݆|UdPm}(`1WN堆jcd#UH 8)7]1 " '@}!iŖ227&VhF6] @Ք2.12~w-H f-&YrivV{NVlUT>{2mB׼$2_ѝ{Ͳ'f߮2rvs1jżѫ ڰF>~C֖7K/yx&ƸT?^::ȍ$v-*2;EnV)\|!慎h1**܀SHQ̕!($JBTb%^. q3n,ŕ(\D Sd#:bCXz,<1xa;g+CBu{'1툽݅%~Ɠn`o3-:9H:0Fn `l>TtLZ \Q5VkOYRHG!tiBn\nU!Gp b|* ¢sh^Hi]I~\}Ӑ5.2"!sչަQ]N䮅^\*]`0/oC)\nw#pQLAi3Ig(l%⚬.TH} "X%Tx"TB+}mNIfcff~qw["F5bp45S<Nޑsx_Ȃي-[Mcwffp cBCU#lV.RP&gg=;LM<=n/bHzNx9 dʤ- aHe jqB@NI1藮(4}s'T3|njy5$]5$|ՊU-e㤂@RF*ȞQ7=tcS3 pgW-loqD"ȮK)S [bpo'˕j${3#Է|%sGmZj.0:egbHv+.c55 gFf{5c$Ln?dmm/]h3]-v\Oƭ㷑>uNrĴ/o#޾kQ)^S͊RR1]z*N2*l,)@c`-с)"eDH(pCWtNd2T7) DQhnq1љ:"tҪx#5"Pxp(FMa~H?#xjkl:p89S֮ <R6ww)qÞx4>#`֕?X?Kx2)Ti)g2TֻvC߷{ڽvl^QK^yv.}AZ\ʢe QJ7mWV1 7%H\^q\X'޸'HeOY+%Ѓ$i2 'bȸA?gwg1[z7h= x:<)GEqd>«_۸s/5v@Z/}t];:U+ odVu]{I3zXXKḹqRbTjbnwmž) vO^2i{fa<-ͯ `R iax\PLx4L `^+,\K"2Iow' i B^rWn, !@56v@3֦186Cp ٞ\4jV @FPP %o@]*LxRWe#{s^S.wSqTj \C鼷yXm(k!(AwdB0\К/;E'Vk`@r sh!Ђ@V'8OBr,a!ynHT)T3 ?(MԚ^2]/':8)uk;4 :(r? L[,%F=N2q nJxg*:MMI+mHzgh纹\vcjs0PkBŁ B{p2:O2~ Ia('ލkQf.ͯUu2biznwGfn>By<һ7W!"sս(d V>e D齊 aA8Y)J QÎ\7 yKj!(YqBn c"D* #EɕQ3x1`woȅLFJ lr$#Wkbwv,,f XP(L'ޣ{~Lq,v 3h$yeo~A$vXOd{1 75TheWTվ;ݔM2[hAci=<̓'0Kl]zN~)luXUr*Zu}&b,dʻ!ŭ DBQFQd(t"(:;An(eT'd,L:?8VzX  RJܻ)"AR2cKJ/[-Q:vݽ8wƁLYĉ<#^\>NPcXS $E?SXC)e*z?L㙹)d>v}86Vۧn5we(q7D2fp`URh#%èhJXAՁJ[ Wl ]y8D@'C)Y$|q Bb $$P `d1\*UN+%&@pJ%ln-[BXƷ5L7UOggSb#IQJ("<9:;DK)::89=9C@DH="0;6D=?(%i5 &;C5F)QR 8rUB֮tkfJH+/nInƕcZI0^}3(RvyxSR2r]raЊz&VA=oBDJ.t@FyU.*fRوFddjVYVl"*>g@ȓ$B]Ve#d* lH Gi Ƀ۲nBAt#Htՠ=e$UgOLL){h@;{/u^9d!JbuQŘ5 nZ2σ)=6zk"#A 0P>szWN`6HfS2맼ػ_7h,Q)1^|OSq.ܯ{ZuxR2-@Wa"MeMU(s{_?UQIydXœcvr;+j99^bR!T]RnȂf\Mr$Jfصxh1Ȭ)BVY7㰨>mI D'(eHֲRCgTi"s RMƒclB F 5dRsotfvM#@|K.P$3F {Dpf\Y"Ntߐp苚VDt.@ee^A7U%4\!n5.&۠7&}GOU N'OsJ5ТWA,Fg԰ %Yiz;юJޒfZ:CC[FiӳMu]>‰E앙pf}uU>Ung|3Krr,ڃ31s o-C56'biL[_GϚ] H.R1qw%+Yq1XI S Y rTE L2iGң$?@ w 8-Z;ґʠbmr$hn=n/gi~$Z~;ʟS@kƦcAnn\F)݅a.N< kgDosumKD$rrK-8iЄEk\tjF\Ԑ`tR.Ig1Yn{<+FĠz'6=i16Ew֚MoUU1@!-8@7i2ք(ӄJY)7[Y4덀FFL+f+ϟ84ux_ 0n.ĸ{;Sѻu& ohy΢i *NSCwzhѢ.JGj H`ޗoD2FqRI.";TR&0D,xOT=IdhIy`7v(`"X NL6R^V~n b0 rmS[ k}{?]ؖZ0l1qk`,פN#^  H|lP;-/Gz;,5̌^ lҎ|OV^נDSzVj!2z3j_"8Z$뢌(h"Syyʱ|oo*ݜkc lwTT+*yUʤL* J"Ha(`KS qW+"R̸` W/t{6^P+5I?&"8c )Pe d7')4AxPs>26 Nup̗u)\tp ($Y7# Zı{z nfRfӚVm`fL"2py@' AL(ON]f ! 0gг-c\uKrof c?c.~Bv[ɍvWǣPaqHM{O.okvnViy{bKd(lzT>xZأ /1FR(db-U\]Z?ϴ[i O[34[i@'X2$N1X(fAr*\޶SU۶2ڳ|?+ ְX3}/EF)CLhJ9OlSj~Ho8gfbe|)Wʴf:60[s4g`d\ES$a23 Rg9pDnBD$23 l *fpogn@5SZSjYȊ4#G!e҆E%[r#p[ΌΜB$q,'aB 9t,G}}vSE1ך,\~ 55ӡWv`ދ3I] HaH+@3$I uS5SS,Q½++?6񝪿 [gnR*r bH" L2R#c\#"+sE\Ȉ6B>qo*PK7 ȻL7~b! C~HO" (4I^ILQJW:rvMNj=뚶?ɠ@$3}ww*n5RnRQL"xZUPM@DŽ*NdȋDt@!e7J(#1k:'`ljevbbTEg^fƕCȍHHÆȸUBH ^dₛIR:ro"fg34o%4d;z<(`A ÀQ;szS@yh$p,MZi53,B^^%*eP ;uar;Y^w %Б (},IdBdvX8i " bBa &+="Sx +'Enr .@))-ĂY,RJnm-e.FFFFfI5 e+ J\|L7x5`Z[_ Cm Je5SS ^یZ}4H] 9"=IC[ơ>OMM)VF]-q׭sA0DUP2<]5&:e{ ]p:-) < S y˅ lucSC "dP7Ȥ *1Kn 2+2:+cŸ&V1"c$wrueJ.m,6YI$,o7bCC*","b\/W2"P00ҘMQp6+1==kf&#w7>LNWq;͹jV.IA'D <|,(5T""k{]{q!|%=FQV]{xQj^%I3&N M& q~ttQxЅHOP]L #+d!# !7 e6NqLn" ٬(&Y좤fcJ(JliVvN}6tcSY""U1[Qt$ X]5sw#ٽ?f]eu|.B` $J*0JQoHfĎn7Eh;D}1x ܀W`c)+2{j8=3t5⽓9 z5N=Ykkv1Ό||WO䙸[n/sw?&oc^Q]Dd.PKm*Q[`UIaZ)/E'K Fb HF:3.oC.V(&.# ~/11 l4m E@t5 0mvEs9nϘיU0nd`T449<2ь@V 3 quUJ=76[6ݑAi޼{Z2_,}s6Lm@s/6jyY߾ٳnzyMv}/|jECVEtܬ M`S7.)[\xsؓ4}W":0,756D*WHW<Z17"qZE%i6-L .!<3;BmD* V>0gf<7]Rcʍ=KYʯ^S}Ge"EE^P h3nا//WW.FiJHL% X*Jq`H-n~lS~6^H-lv#qX]RQݠKUȍ ֈ,|[T `)vD+J Á 0x Fpt:ؒM"tATZ[ E<).2զPFr_J4NieYm9ofɾ4d,;iP~ΌUJjϦrE/x0l:݇`= /5: &U%)[SKP(,twe۶mm[|8u)BH}  0m]UǦD$ CJf2FfJj.r|8E:Ze&nHҡn-s^& xb6pR=Km3?c83Ajc5| d| >}>HHm3FԌ}wڰ n(*A8?;XYu~/cU"#aK1o=_*|ۜ^aAe7 M$e*jtRny3͍k[{[vS "q+UX[)@ ФOKO#>veTnQmޛ.۶ަlRGV# }nho͟iZ=.7ي9nUYyξ%`k^/CZsDǸX>u"HfuFsy3_Auv'o]cێ ,A&#t )\ݲ7y+\C;|^d%k oՊ;.ۈPRJJ(x@d!!1!S x$cQTPGGZjdpZP$#HntrR>xI8 h`B[Kh; j`Z``XZֻZ brQ9.g =N(cu:`i?Bͭϧl/KbK睖nI <64V(ؘUaRqJ {z-_MPL |!aBv$[:=|.qlIIeg[ ;:|Z274 Xe^fü[PdvVDؙVQzТ\c)6$%q5؝bG2t(z3s͍x]\5Ttb]5NJ'7çP,z1vݜ8. ^weւE)?4ak8vhwͭu  kv nZ03o{-[nN# V9">^JYYvoO7^Uܡ/}26NM0fڣ;l@^HVKPc<_fżk0T0?bi /ʑ4 mpXXBG:]mͦ"+w=CN}LZyQQNg5YM#m_g;εt_Vszwk6ۻ˩l;Z9 v˞%n2܅~@CXg2qg)(l*9(o|{B>̢ffC|U(J!X$Jwe{ڶj_TrdF'DYlJ)3>j] /3QM p(B*EQTA7ۖf但S:W^[kJ+=#,E@2h6pu? OqKXPp]566$%nlM7pQMW?N-2do?i5:Jo,o|4~oJ$.tȇ<EQBbV*"-ą8<q*)#32$HB I2:QΨt1rHaEӒdcvYRh }_Q8V,G%Jfm)e&^k_ƓCMo-576P̍hٽ01*l" %Ft @'Ϸ"pԞlc"cTbGmS:S\S=~(!Wθ E {|,7:6~u[FFxijz$KH ИRLOĿ hT\VJJn NfESJi3Zd,Lkۭk {P~+ۂ(R-KV&g<1Ntސ&'b\-*] ^w[J ?w^fwёQ:n6r/+Tv l4J> ؜a% NA@e\1]lRgbR4ƜX!rI[}j f|".rOJP(]⨻b{羻Ky{⭻ dW*<&kזJt &y̗! Y,+*]C4FﶲjB;ެR!kPjS6;r b6$N;C^[fO1<Lc'*.25[ze0Ų"I"z7sw9;6`BPU(wUEۣrbSQ7C BR*vUBS Pp%q$.sdi  IP tY r#CD"ܩXO|! \.+  Y76c|j0\` "1㦵Ioc6- ?)(T@qjs"jlLq_(-4a]~uCM6Kl`I2cfڭ ό3nA$jv>Y6osִ㰕c?֡+P9!d~z;+UIeoeռ^rrU:HYp((chKsBV-e@h&@8(&e4"dN)oOə(D=ɤ]Yg)d4 R ~iv͘YLE#s-m[]jUu-V [q% q h@"$N#tS6jj,_Ǽ%Y)96|uzY{rwGܹRclʾ{n\";&K B%e,T>,; ^ D2QM adpBgTR)ʕ\Ņ8QDd2ȕCA,ZSin܊: 06g<ч 6̑n6-x_/K&*( qT7]N|A2nNu(>\u^PHBA Fbn$l1uX26cvסc5v/ᆭh[{eY~ɱ$hcUa#!*jbFiPL l"$J*Yb!##'b"UDJڊ JJ L2!<3f9:AƥN`\pUB\^g)ōd"卉#S!KAR%D (Y9V), :݃k#[]Mon@0KT{̙` ,:c8AɅ!e:'(`:8~2/Au 7VU#ZeNHs,c6>y8AP#+yY޿qeӷu+_”Tl( ȻGMAB =y^͞y{ KTUE# [Ql $ OH $iDE4E%%/[E$I0a(ʬJnpAD*pYA|DT%AJxfYgI O9 rh۹׼  ֞!i k例V!^dt] 6O՘[̡vnpcyd&yk#Ia@G~{3qxG"TheyR?SNt=c93sebEm 7#-Y{YڽWQ;հ͔Ԧu݈w6]Jּ*&3n/HM&E%T^DF(%$*Pߛ@%!c vSW4{L%2qOj0!g!|a:% bOggS@c#I *R4#/2DI.+8AG@G*?>)129sO@L rf\hY@l ;{]w3 +E\uB*2M "Rni,4`%*UeV]|~q:s7!X{zS Wx^FDFA*2zter*&r0D" %A)/*C*D26xROF_q2Ff>}K6S ҃pnXɑԞCv.ci2:4Գݷ `;Θ7ҏ܌:#qR00vt|aDDDwdy F0 k|k}%5;pkiGپFc\=9?LK5 ND _"yxc/ajp"~Q AmeZ42ܕJ]" .0΀ T2H&;>Qq$0% P,(a$l(GqpŜt9rJdɟÉ$ 8;]0"\;QI f35Nrm.hVUy2Itȧck`0@&]@'&<[|0η >~C3hfVUT%w55 6mۜc|>9 Fkܨt`=| En)c4lkf84!;?חV˽&Q@ѸH3[N^] x?zN8JQ1!' Y'[Q\A1.P-.7B.H'BN ] y2$!IQPp  }(]gÅ\1rc (|)$i:A@nλg/;j5z[k弄 `pA&\ lbOy%RY^}e<'̰ 芺HBᘞQMϵ;:Te:րL$(ɌcӲo9ݹS :f/'\WVB(؈-?lq=;yh@dڜT閲b#/ͼn e=wܣXQ :{,֋e-hzgZml^cdVb|5@_3jX vfNm<ߵͪm7t[TzsECqam:Ǔo a{4`@* (Pf­_3hygqsx9AҩoUWl8>ϖu7v+nsކ>^yuK {Z~?ڝ +'b&w fjй^=-dLowm j02q} tJQ&Dg\A&|3N*=%f o];&g`{f9mq,^ ^&l6fkUz4>&_vYQCшu'4>%"engκlO x*@roϟzBAXF=|8 A&<;JC]h+KԕՈ W23%Pѳnd\]bb6SGx87]+*N4Sjf1):wvK?wktU=hT H øYEmuE5L.ĨdSyomMl͞lEwںfD?r+"/_(S1?9'I8pX0sՔ@lhmZﶱYO'vvVd]O}\G!6?ydCM]B4d[-ErsJ"{/G#BzCtK$xQA2@2-2_ɍRU] H1A#72(SXDRs3Ɓ)"!EH"'2@Reգiʦ0hU*{Dggθ)$"#+q""BLJ@gkAaD[l.Klo5Fi5P0([B[<莖e>M (a&,2X|,UU{x_uT缚swJIm7KD# MK7PIYq]F (4O* N l QɌХQr1CyDFRʔY j$ʙ%!2PpZ+Rȅd)$HM}XH O?t2SgMLGSݫ$CLJ AJ2LϚ kx)fX@p〓;Xs5 [)`SBQ>ߎ T(B^9q>N\;RL[/.}}T݌S8q:yx ٸxj&"?ΝG\נ* H荭 ϒ4:Fi.R!ߵ}?* CunIDBPű *ս20q[Ƞ7$ 2G96AxPx p@ZH.YO!Z"щUdG/h)d[|,HL&6oݜC0X`Nb vOggSc#I t*<;7CB98:4AG*:8;==:FFAG<7<8E?C6',t%*A @?N֕LUĺʼL\'7|6A,ėD~ў2n,#J6Q^k}i3,uaq%R'_'͛9SdQ*K!IXYk90mUDuq)ʑFVp{g["c隋a#^BRJ"-7VMo˴ko2{ \J%HB$L|s2=МSK:B9zjX]EU-nXk힩h~~|R*@Q,AvuGt6%o3S?6p)qwשb7P)s&sbcuwmue4mќd*d6d]5bPLMxuJrT+2I.D21(FXd0[EDMɩJT3:#"(CfY@N%@ X H(5-@ܐ|a(6B'#+uhT"#A*b2ȃ 3𞆱 O2f)䯜ՅGtu <3TAjeכ mg jt)WJԇ'c K+UL䮼wȾrLjgbdut(1(@ + bP◝'UBG,v'+y:RhFEtB\.SI[0g׼FCcPfYS;m$l_TtT+Eܒ[~\ٛm)eh'l#Goda)Mnx';ƿy )@uX( z{t{f|RT3&Vh :7+MDF%NEW>;ϝ@236VTۭ>~/گ~^,O׋˓rcY?,e$욵-~0-W9"Y.92E*cCbTWW%1Hdd"M8 ŅH"B$9qPC(r#%6(DJCprea $+pDxCT˕H}\nd:P^.P`.?ǺE͚; P0:^dzوF G>pQJ(xj?[IhMDB"u~;o0'  ANC=p T*іO励܈("3I7.B|=0*bEF"j],KQBRȊn ]pۚytpL2AQˑ+QIdY| L*MM-V[X⊫"̘]kv-VcDtmNa\#g,/~VJ)gL]U(-WƊ>W7r*Ք2#*ڹk?\7E}H&A$NJeCs>t#I$\Nx#C`%Bݍ՗wW7ٻjoVyK-e @ 2ń9I묌b ڛ2S ,4@tيzcIuك]_RwqDH-D"vBEĚ;C` X_%oU P/l't[l (XߐBmJ ^LMRUUMLcIeBs~{ol)|FD*]5ڙ kX׭ޯ)s)zه|ʑDþwi2y"bE3j4KBS̖"LP&2FkC.&PJAQKl4dԗH>kdАQ2b@6 8'NHe8" `m] SYH46>nBtW90p*W.Y{ߞp})u(^)re7V#ѐBBM4)l,3p={ID)%_~}u+y,磖7#+gKgTeȉOUҁ:. ߼tQiWTllW )uDF,TcS"# h QSKb$x[QHȈ!U\ d*rF_{8sg6Ld*=1o#:Q KEqi%?MfXIo[i]LՄ ,;+LZjq2nF@}u0D<ҰB Vj$s#aZk=פF$C?o6Ҫ*d.]-9cnHY zXm {-KU%vE2V7vlq 4 MpMda=X|H ]|vDƿ($b|bff1/&{f-ML.5H1Z+r4gkRmsc\f@(d]ΊQF t~u^vrX=Ɛ߾6;خL'ͣ;i~ɳJ6@b51:*3dP"v/gwqI*kHr]7 !":RD* ђD8z .]Ց@FʠJft5]nd5Sǻ *b+PP!CFtRw2ZFl6.dtq&”e/„*5E LLzi 9%a57!ufUq夠*R]8M)Vz(Cs̨JL)y_~׿n$?3KƱʚZٛ[stkњbKd#Cd$H*gq=(hqQȸ MJQ$P5Km!"B^D(j8*@ *ѸTg`Q-d$A^fY # 6DX !I 4}&B HJE2,z2%MlZUeclaVs-aQ n`6ˬ:S]8d@)*$ٔR,E^$,t"U^/o Ozo7@B0sLJIY~i}JΟ\n!ggy2bcTp Dj*.WH"#򊧂-E!D]*o ਆbY2˔RsQ @(dd_ \ WJG#*c~('j Q>DF| c!@@ v& Hni^ IH[/a ==`?{l?m֍L`>{@9'!yg {3ҟ5Z-AP3S3RѲOujOZcY04{ʜGGK4$'htQ& P\ՎVz6{X#Vh ')@ uDQK@H(n)BZI)wiC9DQ$D42qfKY*" G7e$RǍjiEe\"%DWZmL-e@hOggSc#I 7C+%"DFC@7:8@:;8OKV{CThQr1T)uLg/Sz[s3?qo;1YyD+%qBNpfK4!fY' 1+EEEIdt"H\r#E)CK(Ffl.)2.EDU.D]X>H]x{om2wlNvO=B'87c π|U6> *pVM9J7EuX{zwb7WS35myZgۍWzJWݓzkP~W3TI/o5CIb .psxwF|wJ<AVWv0{g 2nϺ{)Vn*vmkT?"?1N;g]￷6P]lNN 6usXR/y 3;Dg[|T.ԬBgk^kL]_{4הh@n+Dnh~7+@]33JU/{}G<|'ק&+i\dxZ/ڧ4=$I5)jԉvU.rl<}+Di9[T\KC{ zH8 Nnʉ )!(*FdTw&ŒFd!ׄϦM!Sl3$LЗr.A )':ΑڅC6 +" ZkOH8ػ`6km$kzK0Goj&̮Jgl@xTg<yK)?07^Qff/\nKMKݷ> G6pݺ|<C??جZtu3\Lgj})Hq+s*7"o72#;!.⊱-""#CpXd7GVR1Db㥹xV1l.@@6u)D:btSe&6,Á| >cؚ@dڛOڲfzF/l ^nnJ<'3pcSf 2˾|;>Rbd/E4SL7M7zLeiͲ%6374o0BiPd#+XIa-Im1Ii#*);~>ܮcL-ws4(Yp7E0{D8\ Vk|,gU0N&*M"T:.[$oQz.{&1H)ЇCj?1[ol5ק?.s;Z9̬ظ-K I09[ @@KxC7vAf==7>= D#l!c:{-/Z _SH*S73jsˮaT׀7KV(1hAa>O6IJ*nr?K9ٽZk-z߻5f3>O) t?K=Rh3jV;w-Yd1Qɣ֭tsYejVk7mvVlz_ nC$c4t9N|<2Y; yORf$7:7M=^nx^_s\fmIzPV:IN!IVE/jcaSVj?0TDITB;r\l|;7k ̲~+fUDڴF7& ڭ{fC*ݳ^Cd[+woEcq6o>Y,3;dOiI3sջ}vowM-Vp.670϶o}X-R냂@64ّf\HI$iܐ%"2Hj`LU)*HD Pmt_oϝ[۳Twml<y X_NީZRI"UKUcoF9whpB<;/%f,e\Ttch̐8?w_%tjߙlٛvXfk4קGn<CaZ~ꞛb {}/W+fkfLVZ$2 Ѻh&nV$} JwQP>-rYjK{ﭨma&,i!$Sk0& P@w*|i`z^tdZۢf䬀_!ۋzڪ- {AWh,ļX 6̨SY({W9{2۴402rvzN޷O%_2Z/dQRFu#z_=[,mWy'Q!3" N2:uxD37qQP)2z,NW)f! *i+jdoK2b 2"C9 Y.@ @D % 52tjd!S#{LȰX/X.@q>u(R*A$YdPH)%L*huFbΐFaց .ZFzhNYY ` ~w)C3=p/S^t:=*kK43+%X'"dȂrtnIIn,% OUD'S#FC@m}aBMV'ip!&*=.2`<^"t[`1zNYvSa*!J:m ^'tBh1Xe> BvV]ΎJꄻA̴ )r/7n 1K-NߐeO5f')5{MY=OggS@d#I #2B2;6740;?: 97>46958HF+896;<8D@(!8<;:>@D+ dnv'UٻYƧ@p˼Rp>`Y9os;_.@Bk{ .zffb+",tWaz`x6VdlL( [Ln+|͓42#-\X^ IPk\@n*,ln6" Gk=K!#+xcFMDZʑd,j)PY¬ 5Zٯ$.rS$2Sqz%)yv㆙|  @eTD (_ĖJY Ld>̉]٦KWC %|J@?J"2?5/iU`cC"lvlvFo/3C'*uj%R9O#8~ʾV D1"b&=U5-_l@B[BȢۀdY}e ,׹щ({ Ş?2b3r픛 Ld,|j8|{X6V߮=Us}Ô\,; ^ޫܒ^MɹҼA %ӘaEyofԘȿ8wsMwK~VrpptWyߵ_Mw52Ut=! r,hAcz-nĺCQqbZ蔀##Tʬ&‰4sH.G&Rd)2+P+N$H2boh8<Yz-BTВ AjGj7&a`A10̠e7# ƞ}mg:g : \Dn;l"/𘙩Qf[@\+<};kWuq5S1̝d7ƀB=Ew ngJgEHVs«}6\ CوHke%l@)TsKZF$V \N̐9]H`%Qq$ǜJi ,a2%9ePo]{X +X w1DtLyެ퉛98+RڻO x+@%= 9*,^~enWGdDy=+HYtW򝴕,f. hv`l'2,b.3UFV.̙)"9b"eqyʄ,#_dU˼hB"PQT]:RlJ<ܢld[Bg\F6[0ȍnOggSId#I/,!('8G@127=G;(+:CC5' 㴆=CbX쵶^ ZKl4 A[6`BETA @Q@Cf"3eާ%cFxHp4HGX "$:nbYʸ*rJi#o;Kj XK[C@2heos0Mkdz>b5uykn4cŭyM׍89D:]C`X4FgNz/4IBa_=j05;$ :tbV{NmӅl{o|*KK` h\?iOjc:ܡRH 4$;Sӷk]FSpEvDzU<=> zJ EPx|4²6H&QSfS&oµ-n9V&eXel1 kp7#1NI[N% N4'Y'ٕ\2<*5}޳]%KJ%)!;H$+("/#"i#IRetf6d=rtpL)Q4<`p^ 9d&MQx5F(e(DBʦrdU 9 0^{`;K =CnF& cr2=AʄPbfieAGm1Û١Ɖ^؂WddֲgN68zS+džBdu$#1ziOA^oȆTaUZy2AlEψ7K в8ٝREVj1f'9$ ͹wI՛֘knxcq|h+ "ZY!#{T?Ҭ"9^GK[.=]I0Zi5ZZ#Z=yy"p"$(ⵍM(}Ƭ˦/! Qב:I X-'`! iwZ/e|8nezV'HB7j?=|E9/dp̅#S 1 - {-Q"IyeGe|S7O(,Sjc%Yծ G?ksTT(U~Kx01`{ڳ'CaMְ8+)zC`LJͪ@cwR6 V3B  ~l ~+^Gg* ynyT.E>ɓ` 0jlyX9h3@=+E#|:c G4&mC ;hܞ;=|6(d gg !Z4JJezZ^6ir1zۈkVPymd;\9~(+Vӗe!:Rfwn2Ӻrv dj+[ЪҰp08 z 1@P6-xYJ/E@/2D/,t׬uw=ji{D`(O1KFjvwN.)3Lgy>;Y肑 U2ca8lD"uHtJ9^,Bxxgw4USZB͌iꬵޛ~gZVնUeő3I- = OVUU[%0U6ۃfQrcgvmI[aZ"% ӮY" >yw';8=;;=Z.Fx\ ib^swlXREZ'%CL NAP7pŜQ@r+y.=df!7|L4J4j3zm  YDny|6o&O@\pLCV/O^XxS߮MD)dٶV}~*cJȫ .(F݇ z/oHj^+P)zу$^ȅ1>4$RąK(832Ѓ"B8,dD,+r2ap+9ВJs `-ĕE2l-C`DVJZdVKz`ڭ3Xo '3@B8:$ŀdԣ@K&xT7BL I.yE{?@ Jj̔c3һOWSaYBN[DC;]QyU@iUTxM[{ZC0dKTsY+K' O%.LBTb^5g\n[% d221a} ?|n)q-EB)Ēӊk{Wݛvmoo utV '$:%+Ş?wZI'`Y,B=vߩp5֣z|>OjYLEJ&@ϻʅJ2o!ڔc2ˎ}{5j{/c۔ll]{M6zXJv2HJCbc( "xo]Mgg8Rf&z0xlƝnt/}ZX ֺ޻w5X>'N0!""()B)EDd&Y̔9 P0n1FA3"$W0P)$4Fݰ4Bn+Lf 2%1dAdV2d3iCK&s:sd ݙ[ $ISrQ(!gcȉB|7ǔZdy I%l6@c=̀mƲPFbLTk.|ozs Fj*!P z,@Qb"=yJջ.QbLD) `13{k<߉є>9.zido$-P23Ҕd匌"ܨf!]cDQ9 UDXQ5NnqtBRQ!NdDH$"^1B y14$DDZN Lp)mai@9J"DŽ[P$stl`#E8n0)!8 ;;1]hn%/c/떮?3HG`mn̈́-f ,zfy-A&XLRAg}y}U #G(Ij+ zc8R2znLNb3=mrfmÐ~[S5ղ笁:{ $P,%"E\HjS UW6p! @gnD!IC#)U\d}܂-42# SJqjN!\FJ\ȉ {[ "UZPHYʒ8B2p%,嵢gbu6xy4-\aX ] u{mqu6ASHɐ H^1KSLMR#Ie#ތA_),[67>?dT/ːd%MYA Ȍrd2 6(nWIB"   "gCXlX.)\.Fg}%d!X8&LB."C'[ 7KYd 7a|? 29R2;k"0 OggSd#IKo$T,*,5B?()79;9>9D8J2W -n^t|؄Of#ɔ,z066$d` kjv+Y;gқ#3in,d`.ل^jb_u Jz'4 :4v7 3cF~k0:tNNՠ$Wr-+zn<Ijw3؏Qy3.i@_ܗИ4^Aۀ[Ǽ&2vI槗8ȕGs8xT+9+pAnR&9H:B=)Eo$p!ÐQ!-@)D"K`}L5*,XhlcM9& g^vZa xsSKt 0T$FѨV'²6 MR]r/2ʓ_Y:ܻۚYk*DQ (#ٮ,+=Ҫ ;Sr{j>)*,{9uۺ6Uqi+l0EޢS0x͘@[h-lʨGS[Qbl*4Sxo߯ϜVc+O[F~oX7/әS.$$6˜J1L{qO<#Jd*hdwoXRrA9}1"æ 9/s]RE#^Ig&eUiBj`YNJHz%{V6`;5ӒDµ?_%Z${8d9/[lR,KxTň 'MF> >S_}˅g?dqZ/d޽[Ϙ| <_-c&iJ] PXsJDqw=ϒQsXSz8W3+-M [EWWdS T$/B INv.; Rj­@OV>\Vqmb>gǞOCx;~75Ut"P7Dxn4-*hTؙ Z1Eu]/b(e%<t / ȈHeVzJG1xIokg6ʬ0rlv#}6Twu}|ɝy4oﱷgų]*r10{-/NMwgKs>E\O3W[Y ꍑA0`A  h$]"y#j/i'L{llBא)"X왅@+zFe6.qٓ +#DDTUE[ I H~GZ8[Ftv)7s#m/H Ew[Dϻ4lwڧSty6Oh.TJtG2~2v>yf|\d]'"PRmfGcQ`̢`NvBOb(+v3@DjPlGjIg0f ꨌ`x63j>^M9CF3` 0;?( Q~B[5 %$>m`uIm%X=Lwc DT sY,T)4 })sH|͖+ o] Ut8ΨL,oJ3ٞ Foy݃f.nRzrVf5{l4 1PU`*; Y.ˁPeu_މ!J#\a:<3mx(-jn9k5!%NuU@9S(poiE.((BDMcwf.feΤ@hvņM7y͟$PW_)=ldg4jKM $A'6 A:Ԉ?.9zb!?ϯ_s짲eWU۶-NK=t^-rDgQ$^\A6rRE#~w(c#rJt]R(Td5EPkV6Vw;;tO DY_Iyp 8. ibʓD@ޫdDݛ\kyEz @i1HTj54_=|7jLYhW:xRn=^|/7ut:i2FCw1jłSU.$]V-)Ef*eDHBB2FdW(G! *i+&"}!-Η%D$ȨNA(f2JK!# @)rz6G/,]^HSwRpɋ[o 3 gc?AHډ6Tsq0eGl6wzAAG7HHܓS5~?{qKd @:eiU޵zZtRV?m`U*bJF%KЙz<( SӮ{Ӟw:ehQC %F5T+)'2Tf!*Y `t,#XȈ& [q i{'x"| b2i b>ı1c_#a}Vo%{:{6mXvN{h5MQ!{W:{م):p8`U#Z84F+[%2|n5n Jeh2[TDnmfK*LF]悙K>4f-[%첒6TZ)hI%%۳7,n^;)D2c =% { 0'OdyK{jk;Ef,\f sdd-;`̕YWd%+l5;jm$46Un@*/]zx%o0B|K]]U6!`oK[Z10L-x}"tk7X#O9&Qu0 SR ug}-׶OggS@d#I9%?F:ICH)<::@=<@@D;6::@?BC0'Nw[Dզj,U Y.{, +}xz;a{˴9 ݯ4FNZCn ,B@76c @7ӯ3{xU~Zh"{u*LL%BQ<_k_lEfTbcϝ^}%\ݙݰCXƨ:>ƹP@,NE [u LWY3֌p$ЉT-9dbSX߭[O@6t=ȜS(Gb!S*$U/=5 aQTDn1Dz/`wT t=JKFO;Tor6 y`$'h Dm^O>}Os B!s "Μn='[in:tQ5`tKvW(=@+T@h[^n30LI---kk^/;"<5:yEq(>ppWԻM"NtDUÞ.+ۻj?mt=on12:L󋯛>&3$-gtOhsZvLz`-"9VD l̛y[+7Ot_8oTL>q7ۺA1mH=)J ^~H)ĽP )ZqŌ+a( b;t *Jf +eV"NB@m-\t!c ")S73r f&6& PJ)m|O(nY$(# . iopZ3tv56nOc㦀agj7rUI< ̹:~, rهe& b<KT+(? aaF)JeOf~zoŔ 7{sr:uQ>kHK }jqW R| ,duGAjwsFFF19$7B"#+eH0@),K`^+ט a.hR| W(i!HG h"FmHKdwl| XxwH汦Ԥ AWI@/F KzEGX@EJF)3SJ{Yz!WFl&/Wۯcٗ!k@|w䭛[ [Թ掋tP=6U/R:QrQ#T.F*U_$RCH'j@u]j)SE*Nl\Lf.􄂍bx2)gXREzg/UY!#C9xBQDr8~-\n8AB Pj f6)AӠiehEf#obLFo'727< LwLuIuD=Lw~6 Q{=#rl͸"ESZC1\t 5rnE"t_8_'WjP)oAFS)Fo/v>.lڨlb=/n(&tn-1bP)FRfmku]X:D\ft',|rA6Inc|ۗKMPT@- DUȒnoMÛz[|*e_ TԧmuJFM*n?$:`1p駭S>󺱚O3?>җYYCm~ "|]͌@J A'*`#K&B9H22Q$rbJocA&*МHBH@(*7Gd"5[ȸlq) m*6B `2by/ol) RXzd}'[ йN2aaS $ Ԟ4Ko!;?c^Òfri6s.Z( !vZ~|MB խ3iI,k\&oy(5V^^xllѮcwH7~l<:׾ons:4!A#d&-,@eE#uYdDfQGATDAС" @Qk ̕%)YGIP+K6ܭHAو@P*]]dpɍ\VҢۉ +[(I"B8䪖e7d 8{c׋8æݓaaMg7{m5XK 67~| k}A5;gH͍ݫcH,޿>9}?ͧ]϶]/B{E/5ǐ+9BNde2tUkP-$`-: Ji̔.ff* n&BH!/+deyMH?L̜-ʭUUQ@mjD<^\⦥!G0/zhvCOggSe#IZl!),;HE'><>JA7!D,-j-[f{9h:#T@8\j,TK"ĥWJWe *Z*XFFHM*"F1B)%B 6ަ(!Ǡ\+n+@""B^-ATG@0g'h^c_#!؛Y0!)k ߗ[oF&v8KCMN5f"r 96iUdO DTYv߿__]E<]g#q7LJ}fE@@_d"]plɥ[P*Gv1TlD+)LXRAgYߤ9 b$S.8XD%=RHS2ZD*- \&Ruب,b#J.;Ț >]RprnfrfXH-6&c`aZ3qu*}a V}CBK P@D"@ }n!e!$VԌ*Q]s/O~x 7룿r:bOТ#ehJkQm"* ^scCu9?z|ؽ<: g=pn##C >DQ EdFtQ]Քd28@"lVnK *7AcU3ι\iE OE4> Or̒?&] yra'Ԛa2Hrs7n;V#OI0l\A>X'7RV] @7_߆t Xjjzv )+Sm{ܵmKjjIp9yՆ Ylk+ 8O#2*-W7F9j 2{wscXi7E"JizES5c$LSz_:0ON[qٯO{6kXNGSg g0+>?nm5JQD%+®J'wpWzQ4}R:W̍DW#1!#H,x|D&)z1D㊣(Y;,Bܨ@%  liH ! 0A:+@s42mRV+ݞ}Op~q~ȪtCf.stHEW,aAET@/gwCN)f"cL){/4@۟x?#6I?-vev}uջ%׬m_Aj]{_jUKd䦢Ffvu22Cd!L;Rt$DQʑIaIZ*@U0^^$7W%2$"B0+JԦ eV7.Kl ЅG{s!Ps@ QAێ3P4 d~ȫzn=3K֋x1`܂6x` t((G>x*ȉUwX-0'H©A4V"#~I>3js̞X4Uv"wY\2V `<őv0<"=J_ل"1Ezvv9mj_*pLhՋvkrNlFѸ"v)b/ZoO'4>fcZ)ݻݻע5- \^kkFRW|R&i,>Gm12J\aq_ʶlZk(_Z̢>wv32mHJH*@ЀYYY[ԮN,zNh(:mg*8 J P Bt*+x tn)dwW6+?\)=}}g54TWLv*a%_O&Իhҥ7#ixO= @s![gL!O6ORu.f]7qczZANOnT7UùD;Fb ֶtû:Nj_]f8X^3ArzS6#!L)(Gaςt\ )eUeU8'1yoѵPO0;RBg rB34@)w&L#pY ~U`G\97uOWVz_WmjN*O1^bvEu`.΄oaiQzOdnNqu,4Uk:g%>`&,«. Y W}!^HHc`6)nk'"|^2&tܮ IHpGcsR   @cjJYh?PXLڠlaL%23{:QͣYgW\Jo'ݭtlE$w1J TҎB7(O(*#\߿.}D5 iéVz4ᜰsyo׶&o357YYM)_̩g} Gj}fgQvjd.[oW]+/{4Ӳ@tBϧwu;F*#wN`b 7鈢:'ǘ2ޅ)p$2\PuF2=+7޲fZ8tn&t]P ti-(3:jNW*vq=Q %0T+{oۦ]XUU&Wd5ҁAl( |7fD(n*E})D5]k{E5&{ Ze{Z!2AyF"$p2#E@Q޳3Uֿ_b9fy7}6m~OQ8ei_$9r}/LW;\$!"gIDKUEkeQ*b"!"J2#S̸}BHN=O,%s+lċƯ%1zMM[QoB"/qXg <xeTUلvt$zwct noG짒GrQĶ)S\ֻۢS^/cnq.4eqT0DpXb:JQSl HIU# ˅ ,nqcPh)1!X rQ\f#IIJ;a$ D\[SB^[4/ M7rngfS 4Rmb w Z{ 5E"t J9bW$ Bm]ͻ  339L{~'<괻}ZQR"V. huEhB:P\LE(EdCn9T9B1:$tD1 Fg!e72@p%K>0)dE"Ctbo  $ؓnqIt\ r dqHN6Lba(`Aytju8(xBin7 >Ac9 h=r!$o[vi {GRUJL7!RVNg(bJZWۆϠr@٩rh<]>Voƀ}NP'ev>e\5϶?jtZ]2TR_BnE(\qD\F%!W.%# Z7t @NPH4At$Rcjq8PF3*l%iE OggS@e#I(-89D?G2;9:<>9KCH@+.:6BDA>8"nYk3Y?kK&A*V** ~j5M@ wX)3tg;J v'-nx _;i=R ZDf\ "PlOVDB&̪-KtPU*4Q(h:*Rab}$TeB$-H%ILA$|Jѕd lt*}QR, poActp+,ErIaL-qXYU)TA'(8fY^~= 4kB@\FX*?]DpMafJ+F^\6wNmI<;Xnv>t}|ִ _tbTI<Ҍ_~!vTNPJW+2JJSA@=#a0% bjMȓĒ!+L2@\#@x##. > R !ޕ… p( (^ @ Șd*pt :q3 'Kl(ntv<=k2^ߜcH $b<2dOd(-)7%֑l-!cƏw$. $d0 *j-o)߾p(mt+T IS7U:1e< Ls=FM;=)МYBPͲZUDTf{m;<nimT. R4LDT 욕qPQ1,(ĆQQ̞ Y4Eѳݝ!wtK M!=W2uta["YS`'_,Q$AҠi"ýP(cDQ0s1}gJ'p8=x@@l.$9(5ϦFo}Io;i[Xn{9*tEnֱ6'vt4Bn3s"gYHJ aɧ9J5Rխ"ʑd@Fa\ T(C2j"JF4A "'edᤔ+ bhg)C`usQ@"AFt.@tq=uvy  (ZH=BQzg$[]+z&A{].zeC:|IE/M%y_4Y8jY*-ohp)Scf -uC;ZУ3H veW SponwJ/RY?uPҐO!)@'!ktDM/)k{2O=ݒ4;I 57/|ðL͕Ƅk35hX;'JHF5E!NuQfVLgh<$'uE5BFYr1&'O5*ТX<]eRR,dن8zD w ֡ɨ*XPnC*IJULfQ(j*R=D!N _eP 5 @ތoZlj1Tcuy~?jumT7;pE5zͽZju@W))Jjrz ?[SoT6 ɻ=%Q$*Se+'NWoV/|5nNoW΂Gֹx!@NZq)ZVsMpݦx%*҃fq{¨w2TrP3ەFdJ-BD ƹ)Enؐ@j)`I:#,/G.YM ]ATUqo,ST"D);V"wZKGq-rLd5{`nlcXs[Lg;gXWIj% t^;Ly:綈Z}(t9 }AҌO $+@6K̔{oWx5H^#v'Id(:BWJžiA˻c:n)[ŜVJz(BY8QL܊QbJDQT\)7QM] B'Ȩ-MP ܀Ufc<(jP0-e*9;U'G)I&㭝,D A{ 7iw#zl֚e-k1 2(^L^@)kyf"d烢UF!e@z8__u1\33SfL ɿ;5G:C7r_#9{4?i7uv=e/sI$XV %I:D]܈Kn8*EnqTHE"1/JNe(ѝI !9Pbʌ]Qb(:֡&lFR=  IV"T`~c-~#d<$cV Vw/ ynunR,rŹ'lf(n~":5QdJPX-|Ŵ" s𢛘ŘndڈrOUtB$?\4p#(j P|Fo1ˑ#7Ua[<ޘncD )IE^j.~W]6w(cڊi0͵.3e V9 Sxv}ogYCН欉i2GZ4?8~WTVj-) EE!L]((" -gr FRjhWL/u7^͹gP+sc>}~<Ƈ-YanmH5GXLlq2*WB^#2EDH҉/f+ ёM$ LȔQ)ef+-u&ɻjӠ#nBJ׽ţ6( 6R!tȑS!2iׂ2OôFD\(] VD{EDWKEWr8h tVZTs71[ J m`UnuаS +Wo\E=^|`'$RO=em)*Ԍʴ{}t~?~KₒOy#c. Y@FYv B(VRQ,d {d!/Ȃ$p) D2fNAdt2#DHpHˀL@B2)܄+N2P!BpE2:DpѪ.c"mW%h%dU[a@Z4OggSve#Ikt*!#.28A@>G;6>B6=C@CH@8497:9?<571$t@Pc 6}wK~*dOJ`"{+&(E%1QJ+?R>V+Vm|v_ 5\M56"k!\͌$2+DdFVJ ӡCP"E0e\I> n*+*(+$BL"!b(qy>ĉB8Q-F $/S&\U&T&oaTnscsLEY\8&x+u[ix ݶKL{VpL 7-΍j9 5q)u(^QdHIE@3j09)Ly|ڿ6-xljf,S]jJ>ɵ.6FM٪!;2iP0J@)D ܔ] ux/ vEU@Ee r3^`Dn B%# @Y,{IFW^3t*q:n}5)sL:LŧF9&"2a i)R}48D0dS Fj[1Ԁ?5m=ףG.eL84}dg6u҄ZEK!B#-o ތ2S&o,W{:'޻Od^GiiEŐn8Sc;tzs̬FQZrCd-Qf@斊lrK,@(*+XR]2Sdw)dRTGDY错 V$@TV2)bIBBd%HR .ab. 10ps0> V6f2ӣ9ֆ-6H!o!Gf| 4{nEER 2( @:j~) &B\)*b`(d!NgN4h14+{ Ф$<@%yԑaQؕ. &܇A[< 6ffeci])2($Xt(LBȇaj7_PT~*r_nlh g9w6$.͌,Ӥ"Rh"{ú&J^/?1:aJʻwf!kk+Z*8"[LRGB|u_ΓO ͒7G[KpMn6k`kLQȵ:8)@Ca m !]gϙ y!&&;6jgxeӦpz'nV?<dLH/YgR~_y:YFm8@`w9sEٮntǨU'PwZI|}mLbM]Χ$_)g=|(;Qw277'Ї9F^*ױɃ+1;pw-^gzQlJHPXMäyʀ(@f @0F*@' VgFZH 9 nfQ( @h>J1 uKO}4Zf84NIe2PP|:>ʎ?7&Fۺj>cݟn\uG=oGPsສn$޵T>s֤nu]ZY[kzzZ:'a V N`@Z8P2G' @[k]l|\ӢpӡϺްkYd4a$KX}Z*K{ՏӔ}+BYE%6DT{b@  7@1` Ʈ9bP/5)F) ! 2{joƶ6l,iSm$ʸ8t# KѷU4d2 mϙVsmGm6yG-NyJ$j)1 _;p?"Z-\n&D(OeRVaSMT!VQ3ALU9+O8#GSD7\xo]iy$<=MusGz/I:5dS^T&f@RbFDbH-xXERt;Z (A1 %2P.R(Q1HK(R !()B/d&dtF$$f. 6=x @<5jAR5#c*MUn)D4 ٲPÈ)\ee6Y!MJ*žXnEsm1r 2Мe+br{'?h: |p)B]D ""@|0/`J2Z/(73uy3 NȻ ddiNu?員diQ@qP,b||} )z1n/PQm/U fQ t L( h,Bv1NP !(2R $9. 84M$"51! (m].y{Qs4 act{30Bg0GZæ'La`2 `ݢ!Кs݂nx`d4MܻH\& g N8NY sϔg!UVN-Ą6VuU@O^ 9Z-WC14wn5vm,"8B.)xX6+mJј\-1,HG>URj'"VXOlQ'Kх)Ɔ೽|M>SvɈgJfޓZ$ح7M9 >M\~+4Z3kvΗidR+L)y-zml1t֜]~P5 [xz^λMysɶu,^ oU0oCZV;!u>{x]˕:TXkY |潙LAV=|s 5@߲}Y(N{[;XKiWW ^+k2[Vf; ƦL`i!!9Lby"nDW SE M |xE.}`OggSe#I.68757!FE.88=;@C@C6*797B>0+889:857ACB\Z ;荺kq5|”%55% 5Qpb(Tca?둷* n&6oF2KɈzЖ) >@4MWW)YUf沱QJRZ>Fs|_}]W{݆<[?O>ß# mu5NE3>^EUB1rd>JIc"ӴRIleddARdIQDR#4ohQh ED'"*ATs*.F1r"$/DxMVE ȰtD߶ qenrD!RzAh"V:($l\`yvL6 vq,vrb%@+,l>Bb HAgP\P8-jyP+9J:̹sQOKǙYo20V S L\!KZH5aq]A\ |aض5(EDDNJ0oj[Zg;3Bt&B5D>/>xseatƧ~T@s5>Td]KXH3+2n558lKk%jbG($ ;^bC*R#+6ݹd&"ǶW&Ն-ֈHLO@8RC={YTt*%ɛlCDud3R|Zbnltfk ԅ 4 1̻?`}go"S]'帬X[[&"+2my9[5`(iWZOP _KWݕjnfޞ# QU,n=;pOaAlc,n&Hwh 4 zwO4M$U&-›TK(3-k%Pv Йw&r].,\pVɗ"R)E6w&((K*1%'~5zTpQj0(U2تs}vDr֞lLP("dQy6y}wjluw-t(0VFȪgd`D%ZX1B19y{4{fmo /Q]jOT`N:Fd'@TUYDߥoFǯͩ$g:ms2:.xԴb 44L^*F1h2$F119'F#"EEJ1vLb\ QDPL!&IHnQq7 H]B(ɓ#sUmDjswUxs2 R,zwX9\# oT9~*UN>c Yp'+`sed<ܘh: 熮Ȥ? s!6ˤ;gNLu쵛- i ɻiiE@\eff"unjo=)8Uj,?Vd}.[߇SͿ[O$iQ>ˍ (өhH}L7+-5T#M$+![$rJRF126)B1 @"Mˆ2/z; ;R*+S Lu"7UA $$Ho: \@KUB0;!hhdI$ Y&ә6ƆmyΖ[fJ>jo8{D͍<+_P`Qd2 J-nv dOjP^iF3k>̜ ({} k@;V(3X*E!"Ee7]liٴoM Z22`mSWV]պbrx^EJά{.%%L\SJJ|J B~VQ, d׽cTz_-6.k4\WI|@/oV4V|2{6ޘ$ve"AFF J⠂y)1 eP9#ʲ(ӕ̯͆G%uK48hOq( (T$vNgYn§vHf+j[ٴkZn"( VLsUwzKQq>U6\.LA#-^vƲfifFCY\NyUxe*@[Z IըQV!ʔvSX뱥=KF-vVm*sZ56@9:c, u 6B=atMFOggSe#I*%E)"6??::98A>@B4+97>:^RƟGꯎLf_ߩ Fm?W97VZY9;n:msǿ=zN44buȂtdk5wK(. M%)пW@_F˶uzv ;SOg_Ĭ:43W.]A 9Όs{M\T`ۥU!] WY B%39Fl*]eb(5ABpQXyIJpݞ2@$ၨF *%1* sw Ȝdy\+]Ԁ"+k.1^ڗ.w?"@N8z>, mK|*EOOFO aH#zU#9YY/Δ^AjΝV-צA9]y~l]R- CEZU vD%&W%*xYR5w@G"(Y*{"Ž[S9cA0'xBjdؔ}0 .j$pɥ\- I iAg̘}ox/kǒٻ: .v/웑\lc-3(9rT{ lph&rD px1ifhzo=xmh̪L P[ŠIVrtWtXW& *ChfP"F]%buڍ,WebEf1# Rhy$*b($= xچe@6ӪڸE@b8j>LH ɋU`$ 2|>ӓdH+I\N7$O7$eaaqؼiBf*s\u~bH4 orXuOL0QW3hs2F:=+SNN6{j$c̢ٺ~p;wdY9VZu5ӓFnಗH1= U0SWifƢXU)&JdJ*bJ/#r*a%gB@Us͕Ym@P=Iy yRHXK`RZ 7%OBK;wĺWfκecLsq$R9XX>W?j@ Y1ތm5j> ,:"em5fTJ+}x ]=d03̪B_faT$q_0 H&yG6o${+SH lf YIu4N i(svP#[Å 0o*233߷s]c:[~Ԋ= ~r>:kZq'2#ŊP00J)Z@ Bd0D$#ʙH5PYbX !J;%ÈR‰JRA$[ 7);t:%QAޤ %a m(G@(Zf= 5pٷf_;%eϻcӋI7pSeES[ Ob_UWf1nYrVSa)vFp 7F׌=2p/?tni\:>%2O$yu>՝4MǛ-tQ)A#Kb$Ŏ$^Q&;@HDw]%  B2dD,@$T2 HeOAC@HC!"0CDD4,<:9;:ZXl{Z<KJ*b+U#S}0i rgV3r\u6uw&'O}wAW65dbco,e9uGI&tp 7HB&Ј#ѯg;;&K^Nd:j2z#Q" &Lq:m͆j{VbX zK&7#4 t>c3EF*M>-{\A (k$Ux0'gf.l *n, d Ef~Au:%2` NK7։h wq%%#4}H$U>qihիٖm㊷QvkBTBii _Q԰d5{u|0Fy c㬟vjc{u,6WHiR@4=[pﬕaY2F-V{E)PKnj6VLdJ <{62 !4Ίy]%cՍJr7>l,6KXc}.KR/ l^5*drd V"W<ZQ\ꋨD(EqU92` /BO QYA&@[6,Ja79mY.J붉Mc \JW"Y{B_4YJ?`y".w{bCKEzVZ7tTVL([&h8d6(?Z]_Jf寮V#K({ަ.B]l~L#fDTi-<]͞{iW 8H#ɹ9+V+R{mS*ںr,@̮(tcH]D<.+~, +SʔYogWU}qZax6Cm﫳1ď+-2v۝S'8Ϡ[%+b>ݸ`HisM\tbUQՌ˖Bv D*H nF!I? h_̑ !Ix2؂0HQw)-$c^υ E" r_U[f40[l92I)ʷb95]ߛB@{;3f;]Cҹ.` -DHQ DٌUYh~v`߇Hydk[߬>nv$SDpI,kØe568ptF]%.'!βsj?}(M+P1/7ڽ,lnS~$Q:&bU7@wiU$!F]\*FF&]Z412Hn?ޮT:ntF5 QR49?ԾZHl;_;eio"Ri1=ɪi:uE6 MP9$Hh'aEf=YwHw(PfkON0]~~]U9V)1ӒG^˜EG@CPSO6R/%TݼJvJV I5^#CwJ Q-T'9AiKjJHI #SE6RCȩ X|n $ mRut9-R@:5K+Bʛ/Raȩ49Q۫(956 9d`dN08p(YP 1p`6 DhC!(Wbq ǩ5s$P(@Mff?yr!;srF{74|;YO+crHIWF]{ SMit:siuܧ!9EOy͚)D!.TZ.H٥UuAx!Ve d@ WةF1 5p w)'@}B}y`$+Iu:DlW: g#:nnࠈ)**y{pp a(\bH*hlU2 2 ?M~{^mBZeߓN(nVt2iK-d [.wtan_ERPΠsV-f.\.#YԄE[$o&,"˿>TǥtՄ-fDxTl!/Dj'[N"ņQ TRV|״ LQς6F9so[d#T(,nQ -X]4Bmv{QqUS "@0&Ŧ-ӾtlFJf/Y@KğâHj+*d ʊ&O%Fr&a湠 ̕UP?vq3M1 ѥDtBz߷yfeێiebz0yezR cu湌5LFA%7.yo^30ig}mݿ@Vos!D={!V+J$ YLiC%WK?2 dˀ$"C@DzAn PjJ>#d|f_2@"x 0˒" Id "U#Za0c:5g$np9{vc1xALN`..wF M>U7(MsI{MڐqrV2IQ( m11PPBJ@g H  bg=>hAxR0Dt[wQn8L#Z#?kTV:^\1g|q3ơlmdb;$1X-Qԑ{҄,+'腽08 `ԫ*3hz큿Fy1z0nAx\TvT].SZ6rCEUCKNԑ,Bf:c` RHqe\M37TD )ɱN$7 D(L B& DV $7Fx AIX%qLR &WLңMe 0jϽGiOggS@8f#I "-9988??2.,3345i9UK9c@!t$ ?"cSrsq2H;Y'TZh9Ha` fF}g5=ڻ<}vSWѕ=sS֍ Z2پhEץGVDu5#"( {.M@V*& Ef D$ " k2BȬ 2P#K BȂ2>BcbDFX7 (@ ҃DZֵ, rkd`Yw@v]ސ T}Pc"sgЙa+p=Y65Q$&|#! uhx'{/&wLbffm2O73 sVDgRqˑ\Nr۷RV*-HסEC[b}har_R+W-qsZ]E@{݌M{BeA ө#I"J!d0Mf4 (EfJ }X˒5@_'H8HĤ? H11Kp+Egr/^K)d{VZ={{{<} 8ew9 uꨙl^n0 VBhSd? AU ޗNbu`{E+dPyo/eSWq !@hS$aZ$~'oS%("YJ ?9\׻<ٺl5ix;i g]M#Em{jM۾TCGyLf,#cgyi"r6|&XN0H"[}#!̧IYݦC@G ]^Mw7NufB6vɁg^V</۩iT{Kr ]t՜Nm\xQ JQS0bamm*vܕyp1rQ|;Qe,3sǔyKV:ӈ)N IAHYMa>5ffU}]V]?]-X+Xx^Zl{Һ",(>|f#!ސ7#2U&o_7Kerwxu.?UQQ洎|zGȢR]NH T  IJ)D{"4̑*bH)Q$ml2@lSGWBl1V\@19 Bh@k52"L Cr9ĞGI%4ZjC$H;)5/kݬA idod, (︑q3˾+gCqFλ&ZD x?>tA6̈R&㑒g'r]sU2cfvbE:|s#}s)'v98<癗vGTܜ LB ))`'hml)\F5q]aD^- 0JcI\2ꐫ [HBk'"T *Mg Zz' X XY'' b[dR%)EK CP ;qjd>]˽;7V;`C!'glfn?UKC@S<҈ʹLXZDLSAgc_8Sdcp;D)UVmw.^#N?im{vƩnIMh0| BnZ 2A._("*NdFWdΩd(ڄRm/퉪kbQpP*VD) !vAIB iA9l-˺l2mA%ϑ$uBkQWHp3́pgm^,!<[=3qv؛́Kf[6/!j>ԣ3ʎYNkvx}Tjs[~e}8{i%3DYo'^ǔcYm8ƌsҙ6շ-(0PGYj޺J2S YX5PUZ\QM$3 -FF=Y  *5JR  $*d;`e"+2?`vMUXy,P0 [rz[m`}dLkR^`&Lf!10{t,mc%O=I 03#>dX`T-"&LZn s,|'F 5Us)ef*ӿߟlkUt ]˽?e"=:*tKQ eI6UN'6%/@;LoϓլSyWT"" !"X)؅@rq*I\A+TD-` @mʌJ$-&ai@% U$k/CCƒcLb3jd 'M "12\^40lCx[+%[FQ4QGLhX/,\כQ6fcѿ',[1v?GP~)̋ڮj䥬tWMFyD}(KiKuɓ:bL2(JUuL唓W.'7ebW 3=RXv7~GK= :K{^;PU߸ۿk.s C-wsWmWkwNIaDF~5D{hŮf[]}eCgL0ư,k,ab&0vA00U(` 0&>L7arRB/QFNp%e[Z<`@XLU/6}^o* ;ҧ=>|E1Tt1/E%LNO#@Th6͇"RfgQ"e^! U@ٻHwH Q-T22&+q]S "˜FN7wq~s8u[B,IGWF[ѥtfv+vL⡰(%4ˆ K %:oe 9悠H0:ŽaL9$~Ǧ(ދ;72K RTh'alusj} p#PQfiN97ힲx,t;$uރn?hZ#cҲsy~TAGBr:(" %1 8>HKBm %.d]׎YtbLxۋb}7= 9}[qLѳ^ڸk{^@N^R=]x͹[A˼])hci<.7y}3F~31:fq΍] rc?@8{T'7" b#`ž4^^ܲn1ef%=|a]qߴu^%ܞ"?f4VR[Zjh(()Ugbd(U-eFl8yaɧMFFz^z8RO8G6Q29c,WMg\/3.j5 FmC뫰fpZ[;Y^u}ildW!,blU2Fp 2f`0 K/Q"K-7{7* `@ {:ms%zrMv$(2evtWgrL/yl c<ƚP׏3z Pw(k<^QAh׼R¥Wx"ӰzRx`Ѡgu֫x[ D!rCc[ѯ0y+>c+zuvu&jo80!Gr~(՘㮋8zj1ʖ4|Ak\ljوOggS@pf#I<!*+ "0#*476;>>=>,J[TT@ll7e ᮰ecb>ˠYa_x5=5 M l2y4@Um"9fvS@2*%"%"KS#rAQ_hcluUWm֊h5 I;"NJTdת]w=>۹ kQ]yc;vkRooϗJ!/4Y{U(ܬcKQ67m  9kqn`^-!a1Ka#YDq-S @2U3F)^R몳?Ibzhn)>2_*I6l2U+ZHK4PL M1C(ߩ0&S}7?[JOs.Ez&\TEΘVJ;n[~^R-ꫛQ略ΚE2J3:Ycnvʳ`[lkԽQi0Sn?oQoHcy$333SLoO8׍`J'gj8Ovq7Np9hڦ8^3QnulBa 咽ӕ8{]/3{s;y􄋧P.\kw:וVs}7]F<::4i^nK{9G%'Ul~ّN+ٌyIwϸF/`g}w:g&ܐzF?"kzv C4C Cc0l338z `kOb(rcT; `L<8[VǜTIP6ΕE>oXɓ)S,nVlss[Pu.fWHêzr]o˴S\)US7H_6*3XKs+ԬXfsx)'<:KO`qB]n͙׷{c 9p-9cs-!f EC~s$G E:x{y6$KjQN;廈弰$vS-1Tch-clJ`/J>#8y>lof(ξIemo\߹a8p k7UISa+l ub]]e}pY`I)eHg!qֻ:OC^* 9U|yP@U%b18F@)D֬#5@i "@&# }.TZ1dbfBH"@k!,LU!sbHFt( 2ŰL2J[;*}fΌ[t__7X>8 39 ~L@ bEtePpX4:oc PL`m32{;VV\:;ܳݨjئ|)5K}T Qt !% r5JMRa:l5e^DElY JULI$HT@7Ȁ+%FF5Td,Bv\ JX*IBDNH^A, "X$|jnE:n#@ m!FzcD8" *`pN j0q0~LTt@j*n`非~Nc{-PɘRefV_Ob3;ܧA~Q)z[v%ZB.cE]ʔ EUT6B0 5`H3JP)+ C  0jJ!t,I,!D\iXMy!s@BpD@. R50H`V.a5U&v냭 K+ R~S35sctNןѲzqrNayxB /,CheƢb|%EO810|ߨXz5Lߟ8td oq^{>*tr^1֋}VCY#uXI"01;Тu{kl5@dNŸueS.2W=t:Daa1sf(c!Z)F2ncIEwyil^ypMd.ddtt;}@~Wjա1d"5UrwWZ.,\J#-TIEaˏ=߉N;D8e8UN 4>vګ+ `V44wQ+L"Z󪎄LtwH~[ɼx3VJRkwSCa+q$u6olb:9+`NϷq6^ߛ 8"Q!q!#m(4 yA"QDsx.AJA`SqVH!3%AuB@g%jCqd&yI!.I&|}1bӦ."1 #&۩3sKp`FPWa86֠"D0 ˤ3f2]Ϣ-4i[K_kOXBf$eLo+0-;A۩J6d/KǧCte` C^C|j1Fu܌U"r{. \")PaURR*UpJG% 2*XbPvQb|١h3Aާ,Be hF1 :I @%1^Qry !sR~IP^*ٷbN&%x zm6nBs/N:; ,pۋ Z+fi)?p>۔;UBV kָO/_) /-?Kss|Z;Nplk{m+cնc<>?MzD"IuMC~JTAN1jyVE P!#5$2YH&!\_2!OȨkYFP.Bv.'1 'cRd5͒H셒٪ pץM՞b)*$ݲFpgϭ]_5e@̴|6&dY993v>w3 ~)#AV^ը[jA*cE  FCM2MsST ٮ[ RԷ;cAb,jd##3H& 󦒗+~D@#aȀ},E- {ѧٽW R߿R˸ۻs'tlyIۈS_ӷs7;5\+kv7(%6 bC*i"cFJA$ILqgS+<`آ"Tt3Xt&ɑet4e;n[Ѷ5pjۊvT2L%XeHݒFBIxaK( 抷su LhWF B $Տ5suonAvZ& 7g̟3K$P0%p 􂼌jOljLEY1xS%Dzb]+5< :k=s0r{#7(@UUU1:S&3VɼPPs!233)tVʢ iVz]:ZBb22vDزZVO>sKi+|2'\gV`KUDryYP>ҪXc'pJuzkv41qu+б$^ b(0|DE@$' Y-lT ~LXߐa=O{i{wv . "𑌓Q5PNTqJ=82+YP,D@CP )R3D ʤIx()OCRAv%*vv'Ħ}$,WtBL5֛IJD Xd]Kn> GZdpW ܽx[g*FOggS@f#Ib+%&%3IEB)*1<!7$rȌ ԇ-1Eyg($TKa(%pL#4+)l!g 4 ཱdJ)+5mφ@ecOs>i%\ ۛ_]ˊ(F/2ȋn4q-@;RJE)mT ,BfȌpE%%*ȋ,Tfْn/d;t5v.VimvGɢ׹~fzlLsPҪ@t-bNwbD12.&CȰGNfke#@5Y&D/nߺ-=ʲ#9DP]}=Ő  &lS%dbc" +콢b%KP: tyzy "2̙0[% j5>‹{y]e94z酺g?ñ;A%Ck@0q/m6)"R `ƍos6yl{(@q^;T2jGi4X?#DI7cx64l9e,q=p)_ۓa_;ۏ%+AծBҴH#/K[8)?ըV@ dλŌQNbQUUgTh+~,O\7]T$VV}{bP:&a $ws{Pr҈bXyդ "Nvթ{W2 ZZſ<ȴ4Q.cZ734ǫw7c@f^Q5 >{t2[,e0i;B2⮺Z\I& k]c,!Ix8vV.+6yB]ڿ֪,JԛrX3qLGL%dLVҪEkP7O*M*ny}(()Zz(4޼pXQ6Jr|+zAK+pr/U SAi-|ШVW29RR2J%:G֤[UZܙa*.G eOKI<ƃnLsQ̿5[mfr0 :6YĤaJ?sPa$HpϸgGGS̚6HlPo*o~Sf1e=}6ϙɨ{QbKY:uSn+u:"϶(E*m VuStV#!;5ER#+JBr߾]J> [Jڅζd(d\ PRϙ;I/ZAҋb-<}hv*k2C[\rvُ7j[csڣg-լdk f5!sq9w9r]}@dN( w+ @w<w $-dvLP/O%T 0v:^3?BQJOCo^LycIg=l #n7]Q( (5+$-]2T=c*zйXYqN帀?;Wi|F(23˔?p};Oɟ[<7tVVQ &qsCS=5D͑) `JQt!B9R^!VP$,Fq4+%O+e&l.H* QC,QT"/A ~'K, c% }TBF&d`@$" t!2G !uW1=n=-5sFI 0cp>ŧl|+<ժv-(.}tl&Vm̺^6333<>o/pǚ,k$.uH1bD2y2 (MY')/ª[*mAo$L$H/.KܮfYGZLS{T̬Z;,ϔA, `(lֹa~T{0^U7U'h1jwdw~:nsvkx-,nd%T跿+Vq^DžqZW\[|#shڔtuU8jHؕ",@1Rq]"-RV`3S#E.PI.!rgĭn;SIKf"I#J6r7[c:Ξx_(ghDtLu$ 1m^ {i9Ln7s b)m=q\h CR&tt`BV2AB/ iȾln7O*,s%fgw:qܽ_+|Y9Cq\TT#I81j%{&Ce!fobnV:7.h/T"D^"; 6z#d,&壒[Sf0Zlv%\fk(L/HfJ3ǹбCD98[ JڈWڨYk5 ]f+è#$=֭O.;:xb7#5GZ,#6e$H~+H3M`&w-kob 7WRcJ{\rZר;HC29Xd|ʚy8r ԘwEKןasIw":6b'Fng=93Oe>aGևrYZ/ wyT" `f f8)3oIJ€OgebA(5PhN@J'atS(F]%RVaw&㏦>\)+ln7~uq88M?||dj쏐.]zݻ Cw Z )ELN+,fKVQ؈$ND.#ly#BU_މ9`A.즐D,6.vD.v%\(Dvb9@NhQ7bXS3跂 U$stǬʾ.0AJqs$ơ@-Q 8`8D25r)3u;Ƞbg;nt$Sff*Ce>ooh{;n>o.DryDo[\fZ$Q($ XHY(FDVR.04&J(l"I@p#BN"L=UF9!*쥉DIZ\"5@p(#BL@gi腚1;}86< = TmG m`xѶk\ݗ\i1N|ZLD)`q@xǣw@b*ؼj>"~$/Ff-%f2˔!~;y,?fnbfѹh3:t͋ho<ECõ`dd,Rd6'A)+cjDVtHlȪ + R1t J ynTbdORT\GfC\ :"!:EV@ZI:Z\\ƱcMY~PUu%CZnٶٛXf[{mm2dOggS@g#I N-&)* +*(J=5CD& 4Z?܌`k N!Qc;3[SsXo1q30)>d30:=fbnH!ou! y23[WS:򻮜ס6UrOtuq^|+s62"DƦP#SӚUp1RsH!!#+'Fa)u"I;\9m'!G\3FD I ѻ71N+E'Ktv"1QYKT^al8๗zwLv)Z] ;[|]8ViJfBUzq}Dva1q :D<ȝ9#  N3P#7Š]{/܂xEF1eLv\NLjiU~Dg2MpݍlъvM+Q"E&95Sq%hiHq1ʖ=),Z}(D+dDr ]AFcA[ZrBtt,2'N@`8 ;`*$p-yg/[UsqsmVo:[9jD4"p[̀kSgt|0@.yLI4P : lRcy3tj᪙&Ss9<͖ dt$b6xK:"R%Lwjhp|R2Ypq@V4>+Yjң,z%{]*mZGivnz&yMccJ%wfcF)`S9dqqkq:dg4g"Z 5 `;|8 'c97 J]cJ؊6ړ?s75#)33z6 v_Q 6wߵkJR(@#` /{Zt9'/e3""r2EasŌL&*k]ٮXKdSBc"[SN#KdeD kbDx^PXtI]ĥ>${3@Em6MxC z=җi]*W/jS<=TkVڥe:k&R.AεMMpj91=6NDDLoD;d`^ܬBnFמsĭ¤L "S^X@ͳ7E[_e{a_O)ɴ5}eY؀6'A#2]$>*2X1rAM+%G V6H S$7GwbE&EWHfZeR\I]Y dzA*fn QTnkmcϨZ#;(i.璍CO%][xX\fL :Yg1fr }߾U8.WԸé}p ,^@Q"^_ڷBo"HӐدtaR{J)3{d(VFo5[7ٶ|'aAeh@ ;!T(֭ 3 "7i # ӕJT_W\ؚ*^]*p/S,gw"#usP#y2nL#^It['ۡv֐xih {,wΰlN/q>#* ݊ mf328psP P3R7")'3Gދ俶DP,dmn8 c A*Ĕ[tNԲ?V$>߿eM_\[`~yQȢ,T wwDA" Chꊎ-Vi(-9R)-EVjl(E%@&+-vm)7b 3Hȏv 5j,:xq8L956G/[^! ѻg.q`LԞ#o)ezk0nH~3rEYԳxFMwG($z5!؎l1\F>p .fnAՀ, Ur/6')L͔ew-^;dZo-5eQŘE\s$G/-zZu^*&+3 H(.VRLdX*\ùJV[$s-t0 ksjd]i)U⟺ݥsSય}]ZkhS>UuQ;u!u ,JUǑ4:C1~^ QbDRd^eP CPA lUP ðʤطD @6'Q(X76^/l xlsRacX⬛9'3/,kuiB} %*>Jz?-F 4ᡎJ*}U|ʴ]R9nrfT?eM` C31Tٻ{a4}w݋y7+#=Z1CEơӹPH}]9~/FW}t:ގ;/j0uUUm*'y~OE^N1⸋lru'QZP;ԹE&7cB` 6 "go*!ʘ# LAfVm:m %O LNψ%ܣ , Q.;vSZjVfl55j8ٝj~L}mOL#p5T4&(?\*TҵMLWB-7O~ nXem仹,qU@ B HD:V M$7J1Lo;r|79aU/Yӥwv{i?3\k*ژ 6Y ,ZlaRBQ5 AUP@1BSP QD&PZ.4 d)cYLX,%b,\" 3 ( !}p"Ĵ' nRx䦳^x*AD "Kcև7)zCtLZZp)"..wA¦_@r2"#6 1~5&1t87 :&l({Ylx?[{wex8)OY֬C͖LH%pLP& v%Π " X*YQ̋#JQF  Y HkQ Al (eJlҜ)uvW*R3 %$RvZ1}Y$7ԕ66 I5Ǟ (qY\ZT 9S*{z#El]@U"p:wr9&2`eq$-1 )4Ƚ^,s%336cfG ҃lþrfv;۴[7C3=pU#H :Tڢ(R)2TUúM!SQRRM,I:U*R(YJ"2#,gvFݞHܵ^}OuG9zu;Q R1SitڠkPwlj!Z\dMnNh /maT(!=Qu5z3^\gRY4f HftP`!|1i&q۔78B6ʏˆYx̨ g*gOk%UT;cwןrwz_G*Ff F4H#I^$b+ؙ(Nd-#ਊ`vQRnHDi봬\,!;'Kn{3\]pDJ3Cҭԝ7GgNgi:NQ5=z/T}|;q^6׸p-nl7b굌 k疏˛POAsflOggSLg#IgOa#/L=?7::>;DA#0#ۋлL%vpj̡OU؝9(cP£vz"H@ P$[̻er̛5,;,WkDg{_oІ /?o%Ϋn׏1?54{D]7u%%+\mBnV픷S[J |TҲ.YZ+0c]ϖDZKCyUݸ3phMS~!ߺ±*r^KFg)=n̚ Cl;UVvmlgvܥ=?ͮU`4ck!]t̼l5}Tz)s{X%͘tC3f |begub&O .ݸn(Rn9N|N 8-Wn*¨,ğYjRuo_v?XٯQýYwd^cTR,ʉ#NUhcߕb|WLnlYk""*z5{rF#!0DgԾ"<G0k<.LIutu>ɛK)ht">%f j{ 19wn_[>W+vzZ?Sۘ=s2|>N # jwz?ᅋ|VDl]Χg֖(6[f7,LN}ktN5\tC %PT ϥ'D*{3_)mJ͙P3bn0D>c 1Hn1hcᗽ{TXG_r;fy0gV^6Ԫe^ qYqLz9HF)dT<=zt%09Ydʮ ȟg$1SI˩qyjfk^I_vk0f,^hom^"8ec>F$k. V9TR*.tgS}$v5WRyrz_TJ*D Ţ !DB mE H/dyXU*X 1䱲 \(*4"+ \%edt-g-F> N)c$-|x(J՜ɎD5HK m]Nͺe%"|`vvN^87fn# >Lz! kwJ0:2oQ +Fbef@,z;9~COkڹVHvھyj!1yu(aQ ( E,"ʥ(MDC9!"jZ ̱j,2H%|,Qmumn19W'CJ2. pJ ЂHhOM+Ȟ}@M7A"pqA߸u5 ]~U%\OճM8[/)ݓƫuG0@~l4dz_\oL$Oi"ӳu PofbPX)y+㺱qzC[nq n},J=*'4:$sBPEK(VT!BSiS,M2I!ɎJʨ#Kl@.Mгء|!x!m )aK a'Io*( IBAC21]!2 y"xψt\,Lw\R6I1k,WǍ[%>U|!4"kw1IJ)=_;;D~cktp~'TGǵ *(wkQ($!Ơ "$9N A(F!C%GbUĨL@L1dAU2%pP͎BABxgT"!%;jAF!$ةHP" .[>PN< s! N?! `UكiщPP57`Txp@ޜߘ jڳ\>yg oZ:< YReff_a/6=e$ z~g]O~t-Gv~:}z!d`>DB5Be@ [!h96U@U s<"k A#b2X9`ܚـɐ(NWd)bS@Bbx/DR:) T:$d !' Vd W$ U%"I[/&|&В7IsqH~*tR^,i18 1w<F:ym0#( s%C u(3hz#ٳ7?S\+zS"{ReȺ(r0 ;2j Z@T˖zVQآ}Nt)k:xGkHtYY$2Q{He*ł7ɢdH{V% SsE9æ1 Q)_"ݎ[*#<+?5d1!U} ̽C"Mɬe0ԿX*Ke[k7_␅Jk ^k^=e,~kIҦ_z,/v3A<!Ljq00lH** J1Q(Ȉl)*ZrZ"%$b"| QM`lnSI?8e79 UrHf X4Z(|UuM 6̕H%y{lFm&wi,xW>@ytdL:,uE֠U$;4?W6$Zs|hG'Rō ^Dp3.3 fnσ_Rz un'N䝿Y.Gt7oaL!B!JdP%$%!E%1h8d)+բI1j U&'S D%Ŏ$ I|kE}%2 1R jz,v=uwLdZoCxmm'kbfe̎bB:Yl`Rb6􌜉d^+QhVYQr'\iԙVL 8 pq #9J2?1}bO#"Ud&_:JRA @@D2(DbS!J2TDĪHH#5V@Ō&p% t bf2"+JHKD!ᐗ.mIKC/+/'h`jυx]zo曹iV΀^OggSg#Is7_ 8u9*`Tg~[U?E6v<6?(T)\JMI%5dHj %Ss8ZeoLUԴ"B1UD2A3͘Td- ةJɌBȐI@F [rEAkTdZT֒Xn2TJwdmKؤ{AܹGB' ;Atb`eIyB|,jwZYV# ʹ9xXbrx:ACę"9G1+?a/u4>QTaZޱKX5λJFʼm>hh2Ǡ@T)Z24{fb_^:g2Nsav IEEĮ B!RU T:eɊPDGVL1QH;'=JRP ExfL^Yb0UL,+8 ո$ZTʌ]X@n!2}8\`sݽ Qv!B2I Yl3ܹP=L`f@Mg>0BWfU8P  ԧ2~š=Riq?Uh%t\"" 333gJ v[c?sUԪOL S~ @qm7@0jde j)* @#sNf.$#,XtPJ4E-"Ud $JHl/ XR@Ȍ$N@ /&mL4V!rH=1S@N|BH}X]L9~d߻\4ЩT6-9Dעu ^:E"&}%~i/\P.ͫhZ؅f`Ԙ[o=[>?:44aYA }/oJAjZQRҐ2(R d2| !`#2irf5 \N3HdUH1C&s@fC;ER(t$y@QH[/R9xes̑>I>}oNd:L2I~!hj3l=c[MeF #6&^9)qc > #hŤK+OW43 IaX ((ؔD^G YYAAE"OZ>|ȓ^`Oьwzc^ mM%ξ5L ;lJ pQRXqފDUzn"~zm=jෛAeICkfVClRoNFrf^FF9M 0:qS,z;>*=&#>{fTTMHtl°vPyc/13SZ?mS޷Wئa O B D !Dd"\ "D5Դ6-.FPVp yHS̱ MR(H Q$1n?* $KBVMeZip[NrB!ȸ[JKO43CWcxse`Hĥzo% K`i#Bd Y2SkMޮHfVT57sI*O-|C펎Grɑ_{'~t>n҈4HEɈ WI&l䊠T(*1y)dP" SnDeW4! !I|DLB"E@ 0bbK"*i0X*UIAd+zU ,!'ḿ13k>GP}ۡ5Cwo2ʬ%1l(>*d!g1R9 fΫxT2ۼd喬!Y^PJRVf%Cq?M g[7ؐ D iKq yRvV"qRfV1$dIrv!{Z,+\*71L"*H$j!KS sD!ɞQ$זAɭŰȴz&xyStAF&2%E)8!E5G (VU"﭂9@FsTLqig -K2L׸;w2L}A 0s1 8d 02 8~+4cg^H+Jn4h hHZx2kILaڶs͏A4K>gSnm-s8Ĉ^FT:9-|-"(u5U~ίJtlړe"D<'k @4vR`D!J-+Y4_Ֆ'D+c+PaV7Dma X7\p6Apa ȹgi <BH$bpD2?]sa Ԙ4^QӀʲ|/lL MERDD ¦dd! U2٠jQL*ТਪAl&"W*%/s@"2>fhK@z:df!U@ H>y6#*ba AԇrոT5)Kl<J:qsN)yV?qu= hi'OggSg#I҆   Ta6>+?ro9־f~ DhUAw|rA.7*+q6G DӏTc^w?ow햲6x-=Rc$ 4*ɍ)FfAznT:v .HAB}@0,0R HR3 B !Hn^ bAAJK@DZJSEXq$` E`t#R\$h9[ 6)US|23k~9<3WV#q t:F, \(`? ʍ8+T?ш%'XR@H$uʰ н~^덤.IYOdojiҧ۬ۧ| Ʌkhhd4 iJ!:N@J BAyQȈ̐n#W&"rE@RS2&h^[ Q[`P&AF J -@TcIBɽM&E}Bt i`o+mC$qƳ岧qAUzܭܣgd%a3:'u0@+`dr8}" R6&"`Qd5,+=fYѭ>`\ )ِRI@!K$S(U[E&]jAFP퉅DĊ(pOR"#r6AFRAL bb˵K,K"XL:ɟ\Qb-<n2'`܄콊e= :vRlЕD/ Ҍd3Jkkݽ)|(  r^Tf,@8H3F,n\/wա߾teѽ,oxqT^lLAg## `Q "W)@R4U[-- (QȈHw2F(ʙXJ aBZ2 #A >~yb('J X x`"Su^&O aiMh,}s%%x8`_` K`@腸A\l X0Ԁa3 0; 7jf%usaHI ǕL5SfO܆mۛh1g~#&9@) a#]28[Ȳ5)Pedh s#"6E)\Aƴ=A @a2$9acdBlkzDL"T>` $|VJE2"|kr,Kږʂ,iH}Kz93G:ٗsc1DI(34"[lڲ/L8wͲH -RA`T2efV=ąQwÙ%V2*q_ӯ+6PxcdǔlgjjD S1J3)DV"Ru%!$)؁$mT)` )ˑhJ'{zI+ &I@ȅL~ޜ@WS"찂{ E:ɳ9rM4lQ]\nA #pg'](^(ӷmE.oO:Ud*x$9Tbff'm'ð́hx?oZhd[= X8; i(mtl wkL6 R$e ƀ+-n|HBFR ]4ӣ<2*AX^J ?_gmdG 4}c*ޝIǙ), P p7+tOEӾ(@d B2r7 *S*|SʳtgAߣ`t{0jEx48 ݂Z(ibKKIDA 2EIIdda{!?s{ŋD+ 4#'.r^ s(FF@bSSc&`& ;eNQ&Zf==:< #pLP ` vK9_VJs}L SeW)m7R`[1Hrȭ|jUOڞC#o,2RQ˚UlaJPEma(!d# dLQ!eS7buaBfLX9/xdp"B X@O y.BVIpx(p%৲ޥO%@d 0 ޜD:l nnP+b"80RAF039d^ Ԇow]kﬥmᮥ:mP<rr@Ԩ3+ypay`oc~\}q#?"ۥXddGPW]Đ\וYFEd!+( HR bdT&d)X=w㣈A!ҀB,&b-$T`ZV1*b%d{Dʻa)򫓈, 7ⱉ#s2 qdmƆ 05[8:_PŨdh Sc30~ ,mT}T;ä́vB&Z⪊H#Ӂ(*8ěKU5fc(LNo={oR{NrS QB!.@L"bZ\CREflU R"*T1 LsR_Dd4yHHy:%Q%,^ 2;&Ax(R*ƂȮLv$s.6$er"%1@ )CHˮ޳qyPc~hFyg)fЛ(W`8j |6œ@g,*~+,ֲ%<&sU9_OUfv/%y⮮o!@ PffUkzҳǎv?8vI_7c#u'@@0Ҫ"kFQ6 RظJF ň0TP@d1QPM c"*"]@PdǪRlI S3Y&$)FJ( ~-P/2I[B >{Q !1mWo6T:bτM[ ^T;# 5Llrx` . 79WZ豇#1I""B>f|qZK#C,< mM |v!9ʧ;ץ52 E~Uv3l&"g'N׮1 <0LQF zP)OggSh#I dlj  #(= & ڌ;jͫd̔E?ߝI>Y[,;6#|^ M@Q Ū"D !DLRdDFbr@) ,ddgtSO9z;5@DItG)bRNB| ѣH H"D 1d' B($jo'O̾,R;cXzm?&?:P-BIJ2B,VB 1rAPj$DF^!?"CX )(a C1WrRJ4g A7: IOisp"DrI!e 2AkmL_bXk4p5Qr\.> D5ӈ#'!'N}@]9eB^V6VU]HbF%STJ &Oeu-ލeM fU$[Q`bP*mD$@, "R5/2 !Ddv!#eJg$K EHa좂S DD*\Adxl=I @$H@B( HmZf1'cω+1EN*gs}:#fOOh"b7#d@q%sg˞U&.G(Eg8`P 2SH-9l/r{Q|7P ԛRJc>7*O~=7zU8ᦷ{@E#A,^ j7MDD5v)&Jy2 l#T&JiRQh:*!*mzVEDT@]dj!R2D @DT\BrQeEIY.ĭz]o}cH 4571,dł3LELU-b^)#D16EI9#(-*BKBFVU2a@+]#-!Uh=%Zt&a!v tMytPu[*32 Yk>x b+ױ|QZƮ\t : lW;d0s& Y`. d4X=1 8C @C+g{oy:̤3x'ͬ%5O\wL=UJ{[?і,`^žd[-\u` !]AѦ!*b5#W@fBD)(lcel(`D6aILET#D%]H`!@DAvV9LxX-S@4T*`JX6m5`4*5?iж1ڜ0&?^L4vP6eg 6#)NA D7r2Iq{BG%, HQj'Z&ql^_lqZYNtt4y1$H \1""DP IddT)FJ4Ţ4|D WW*Hdf!\ "$p%@qoț 0I͒x!R^T˚ !jHZ7I>s]$ǪJ&2`z2ƒQ2;<ף: lEJVΤ#.~p (OTv62 ?2y0'@g  D]LM.7;)~۰i)<sj :͊ui+* 3lZXX}@d cW(P- ^"QU((T816Lc@GFX5AH*x$>M$I!:G9@:9*"$|` Dݹ:(3 cb{BtY$[g59s3H"nMu\X,! '@! =(eBȣdN8YL^6?Mr\n D)@%r ĀjUY?~e$u:'ZAT.ZE%Oi3R)‹lVoR qT "]H’!ۭR930r$ 12ʝ( XU^P=86*ȳވ;xĐT-!O_,(ݛ>0qfbXƌ(9xbF"Pxp8HT&SnAQt|nuz9@*2]kIJݙwUPhMT*5 2<< i`Z0p1ŎPVʴR*hvTC$,2:d*P)" ]Tb22*$[ \fV؈ygCN1C,%E1U1@NV/+MoGuo2mDZQq_qw3sAP'Y21fix"/C|kG=$G%%R&oK^W .]~\};6䒻 ("@@QQAP("[$ !ݢ Ѐ 1Ð!b&Lvq̱jj<H S@B)'F"Y0BK'B`fL/51zBm$):r3gH9mbppCS ,33NØc@@(=ĵ!eNBt_GBa't/¯uz1 $eU[g{|_ϞiqlNBE,C;*oH"D(a LCT TGEdT"9V[v ;6 S ݹn%[ ȥ"]( Q$Bs P g n [FF8 |`K0 Ju ;JgZ^|ZwÙ]mvp3]OggSR!'1.S S`> ոx1Id&ue"ĺ"вlD8u=P T5T"kdrc2?'eF)5fVJrS߷?mXSq{>ONM#mѸT;ieT#\C@ h]( 1:SA C:E2Q.Z(K[<"## *dDJRH.@2'tPFfNz: NFZȒGz(5]$=sTQwV%E:f2G C23q#KqܷԩS0o11cB E!QeV*>a:eIoe/\Q!`1.*қDe+/6dCaLɸY͙\I:l]eW^qK-W` /Z%|Ǩ)%;8Y t$hm fNoWǜW}6~ApHY16|97^I1(*ćjJEaP˨ /$Z\!Hc̔਋t})/Y F9Gm1 3<(*DR*(2RQEQUj@BC89V^f\Ȑ$r1&`(z3*2`S0% `K1P [.T7QZO2a BxZ@P>B˔ӥlc ^eDŽ$o/fߎ;wg]G3f60`ppaPs< '28s{@YT.kc y^w/{-]y(;TjʆR[3WM.ANA If*@FBlVe#22QZ *#D"j%R( ddlȮd[ e)ZSr$ 8*6z1AX&וXQMTxy~p@^13'Oɡ|.S6[Hڿ q6;䟫[l{M5$状ƌY0PP:Q?*~ o_kJ߀A!Y!*-J#J!7KAtddСKU@JE1O$J1hH4ٺ!"΄ @)BRq[͓y-q`@T2f 47QQA+Z(YB42(CK}B^Q ai. 0 g.!6pZ Qpid5*#> 2X16/c9MK3xSkLR[/˿zOsSrnXOOeeEQ-h= i2̤b$"(b"&#{ i7y!\-Q&#"2Rej2zjf:R^H"UL"x3IB2 @ AU&!@x+KKdBKIt鈛esy<\w{Xjp0/4VxDL =I ~ DR^<*܏楣[$>yG=HFY59?]iʕᵫmNK=e9*"cRyAd%BH@Ul,*",RBUE1W&!3T@ q(HPAyHD|R"yR g,D)HiEX2\Pl`/$'.!Ά9}>Q5fIo^牘!+(`[!z@#ztsWA D#6ξ /"M=u, 2fOn6.1o@ԌYY(k{/Ξ۩H< 3m"**뢪J  k#"$2  "b=r3UU* 6j%ŒTtb0|S8~ 2/Ņe!o*K]J>mNߺWiۼ'\C![&bQEՐrMd%'((,HQ PHSJ`H]ixPj*]R^@U+*! ɒPD_R, Z0C 1r^G"8vz1R\ѕMKkn㡖$cr-&ܞs6x\\f&-=]@`xnCJE`)D;Vsf[Fs&62Z_,ƏNx޻)Se?gg=xs['*9w iB~qj*cP- bE-#bj €EP%2@u@d)Hb%$ɉbFD#IJDZK.2%Őy6BXE9C ${D95_=i˸qH0G)&VZLC(Xt^<{?:pId$ɿ_~[4%l^-NW5XL1ЌmHU(jDD!E!-0f2"Gͫ2t')(pSXBdL;阤 #I(Z "e #*CX1mX@BP)#.^^@G@+-gTŢ)L7q(DiRt: _gz\3X9 ^hV$DfD(@@hc2I TG)3|E3(2Tdu@S=$oEePMl2K"%^dF9 w2Rbͨlbݗjz\85QZ+Qx] a5qh3GR\`! )D#5*wfReƿ\wvz+33e~"N~ їMu|ԖDvz齗jV* $.DfDpBfAPAu,6 *hT$L2EH1 'Ij9У(T2.Nz!8J!SP=ȋ4I9bvYM``漤|:IJ`:#M4ڌ$ Bh*4;s$b HPJ t8"C`@=r7}Z& AwyZܸ0HTEvXӣGO>Ml̶+cK_ӯ%oZ01)i4vK(R&J$(1&:BK\VfLTP.#D+,fDD"blR.t#62c2@` 4 ,|Io'􉭶p1 $[6R^ǦvKgcsB!c n5c1 {$mpUy>& ʓjoyYyygW!iJ vu*I)eV]ʝn24lO;ok_]_;qm4XkbEE"ڜ7fʈ(^DJbj\(u!v7Dڐ{)BE5IFu:ͭ H<$K W#%Ƨ5RVp (Hx[LDERnSHXLUi CM$$*y}m@`2Co?bƅ*sN-` s\ #̜> ?#1Qw$H $)-"E@jƞ23˴WbeiL{$uYl~5HxD!RԨ$%)RH1! AZ spƨERbYB! ŪK!d!&'A'IEh@B,dBrR'\6i_}o՗jeCGBRN)iñ8˄Őj_a8|F4VOggSh#I#%    !6D%$؄ `L, P Wɻ;&6 aD-,ӢF(dlsc t (tD9v+ $7h1ו-1|ۡlόnjTBxa sHNgaB3qt %\\XKI H"-`Aɨ6`P]G!RQ KkNQ0E$EpRT#YȘ)Gg%F ,d aSBI$A*V&#AvR &:4Ey0, 9` $PwٹpW!6qni!ۊ_$ H.3 @#( =7@=:ཀྵQ6J)oO,7m8;^* m(}zV}?ӄbAe."l@q'"i BLZ,&)3#.PEJOHC@؈ )ǂ(`MCZ2ȁ4%\Z,NXy97:T[IK{=d Sps嘷&3wcd & LU斡db37Põ ?z yh"aWW_Eh#R%QXxɨDY?6Y-Sm*g_'Gd iPTPlFe d]$E16UrE "dfd9˙)]%aj/AR 抖ԭ*ăB4)%J‰@#Qxx"&bXWȎk'ZpI'Wv /u20y7E l&=B'%}z6Q7'>kCJc|A0! ˫Bصo!DIjSB۷3i Knj%NE;r!'N(Ĕ1\TX" FiQ+b16*B%yae򢕠kRXEbJWq[ )@&FdW%jD)%&`ReS@7> =[D'T/O^ }{-D-` fZpw۞Iw+``c r&_Ip W(P~뫩ݾj_2rN*535TY_іQ7&c8uhr1 SMEV" :R(AIȍdQĘ"ѕb$yˇ (r DHUi"<5 &.DJSF"|BaR}1sW~J]*:ewmaoj%+tJBf}թ zKUk ( E`"14TE4؎R2mw,m*8-obE*^$flE@'! 2Q@_9hֻޤ %LiuCyp+!lհ=i*bi6է}PYa(A-yK F?n58(}B\/U0|G{WQ[ͪ[aTeOuζ(+ BY*vjo)HsXu,I7,B,p\UjF˲*c \6RQGfY)q\A$_R'1y Mi!Mv *RzhZ`/l> $qRUem$FfZ{BS9|m+7t7զK4UPEJqw&1.rJ4~q븳s֮U=.cq%4'5GEjlڀ8 $X.pB鈓#RNd#֎DB[to)B RlD!"g!iώ;S0pc5ݳ/;4k9xGsfNx=1uCzQSIILD@1B( @;V1Hyp$M@6d{Sv 3@\}q\즣er}dzjtrg |GyE1Glh62DuՐ@ 0 2|"]NߥUQ57l PplDHuD*G?ƕ +c=x@5r"qY8YȐ^rJi#/:K՜R\xR,Ii,"h oD u) [hxN<"rs2 S':8]Xm{:O>@ "@+SJɿ秓==_%s^Ng Y4UYmAG/L*"b|hJQ\v)Zq KS PT7f xk3%o4~w> ܅tktvͬCGbdAZ3epnr/lMrY|9I׋gD06Ĝ[kÚ!ֶ Ξ6z19P@`ָ %)LD9j*i"n2O\gUp=5f3f t.Yk|L1=ϐWz6'qۼ30S* ]2<ދ8@+"z٪0p])Afl7lv*{Ϗ+lj@6.0 imfm6Kܤ^MqS콧FEAƚuιv2}Owl}r{=ke6{_-!zwUIUw8y0 qXrYe%y6`Ha8 HI02: ltUYw|.$@&dmĎZ@˶pkdzxm&oT̨=tE :k_69qFͭtfLvў:yR۶m{{c keT"'<]$`v92,+y # ??W{yblZw}^vlUZ^|1%D+."( I_$5"9 6 LM٘ 2C՟9JO%M??ַz ֳAtᵇV}o'J[s~oթJ#R\.QZyiiBPB7.-( )D|%(,1t2IW`)f$4 2E$$ši.)[R_F/ePqH?yrʖl2QܟsPf[ن;))t 9mY@M@ ĩcB: 0^qv̲q=Lc^heYWH'cOnb#`Q_f[߯+Ruk;UjTL[qL)Gܣ$;݁ =5C3[VO YRxS@l0"P8i-6FT ā؈9B!P $IdqֲMZ. D$2$)Tم šdmvX0 M&awԈX FVm0>KʫZESCEaɩDH'p; >7@603oJIB{O+qׇ뫊0ϴk×",ZZޙ؁`;w.>v}V]ծ+,]JCd%FnBq@IY(fd#etVrIR1pY Z FyؤgDVNE.*Ȥ#& bc(!pfH66 {ZEK;=8Le9pwP,'wm ^˔c2`Ȩ&pظ }@pPHO8in`JxJ)ye+XuǓsmzM{Hb$)_Rpz29t]tU -9LBIp84E> ]'qVU=<Fu<l{y8Hh1Y VBcЗR"TΆ . N&uG @2H2ky *}GM6 OggS@i#I%9()2899FF+8;;<=@=HBLE)<;:@>B?9#f^߭PBk3ƛCv1:܁0>{hK$ Hn&[2qP"{7UVl"{ wx$|I{E g>R"#ߣJv(z(@JpMQtE~ rubζJFaE,Nj"'.@HI&u^;l`IF!D:$uOHJ̰ N3[dr6J)B=DlQ;nDL2s j~uB[2L~ L1vyiZ &.1'5@N0ne$uzpUv+kŴyo}s:}s4޲o[G&{lLǃJ흦)%Rp} _kq  ۡ/ )N9y=о%ʺ˝W$g[I.2snQLKY.J@$&P)jClYepoPȰ ȣgHK@B&ƳA5!-+*쭇HMHu(kR3l S5]ݽY:`:=s^UP|H:Z8)j0Q? {\\RֲbkFnmr6N9\A *,H~Y>um3#SӮ؈ʪ\]v/k?!|25@dFPZ>|O!@}_4G'ȠENqΜ={ ٖHl=#?l65J9LD %fd&;HѿώB(2B3kgK[Iz+U. C[ޕT"9ю"T +n=f=IyXuؔ)}Ymyɳ2djZX8S7;TUl'?ͳ6`1 eҧ Ø-XhHTiG8cUJ=I=qnEJCF ._o {O]Qvt-;~/"74j^0iN^3 e'Dj)E#h1ܲ2+˼|5N&2ѣIl$GpP?o:2D*wN:UJT3+n^8_ %E(8+!_fQ/zed+d7[Lgʈtc륵"ld=Z[Ru mX2뜬.y(Yjb7Z#R MYCڛlmcd!2vG 9O:&OW2WPϔS۶m޼ٳJ+ml\7B S^V@ _JH˓ʭBb-zi7Y~NY\2$|83@?#L%D 0Ҝh$(jwp+ν -jmUP`DR1bg ~>Wj:/6 lRc)˲u},_<6Sgr~2Uҗ1}uVݒlCu*t%3=Aj<)ѵ^ħW]H~qGUmG\VUJaA$']j i)DH 2 #'"_Uٰ7Fd%dʩ%PT @.f]"ҩ@WtD#8``Z}k0y V6 < ~`(1\E$nO\tl[Qw$l{!@L`f̔eeuR~M9'#Ny#^d\KUy~'ًk0Yq9GV}L'ُX@\~ "t\UNWݾ^ԧqE' D5DdJ(Hq!"3W1RnT @OYMMC .vCbq)-@0.h`âJYHhx *w;czEKv=eZ&Tfˆ2@:cQ`&!QDI?73KԔ)%8Ο =d=̡RM:'5u{lσ/=ЇVM\""0(88{F{+5U@SۻGTǹ&C hV>UJT!u%BJn 2PbyvDZUaVMuR%#!Ig.Ьe5GDK:xɊ`U9[gDo̹q}$pc:6[ m46qr@Y|V9@ ["3s IG0$ݦj&k36L45ҨpcgL&22fXDfS c;C-+Bi8/\p?Rì \j*aE%l6XV0r=5~gu.9.[5Rv*zM>t:*a*|eV{U/1C$!"vϨy>o:mi7|d` ?,.6c1rŌJ!r&=amӅǞj =( dB?bM#u,{=fg)BiXHp1>/v~z6Hlʬ:ڵ2 @*e $2P@ᶹ, Dr SVjT off?sv{8\O)Zۖd]O˫'Z:u?0n5͇sɐ)ЁЪ,x"!!Rd94Y\p}J"$y3v/dY!"\&(΄EPL"Dd.2ZYn:U,pDDDtˬDF:^d<;9D)0חE6tq"j#M٦=~֫(:;aaү\fO00(^e8YRQIN tDN9+={ \j$Lʒ#x\H[xK_WT]WY&"SJ:AMɜ"7L)RJH!"&H:3)fVȈg">f(xY"ӆ̊ 3IHrv :Ň!Z(qAR!8HDI).RTh  sXtm_ثX+[#| 7gBcl6f pޚť( GBT0D ,fN` $ŇX5Je?Yb*IgXFv=^bcԕqbjAbʜ j"H~8)dETL]<*hL=R!$ "(ȨJ GR,!T2P]M pWHдSNo\\VI (BgxD UJtb`"Ye SYW[ ff̽ ߻3$. ^{%C!A!a$|]2l4fJ՛D^?<}>l:/yoc,܇xTݕi.oW췣@v82u2$Q,T#^[]v'PI5f;* yOVY Td2ȍ.FR!7i@zOg1.mو%ɧ@hEeNTK) Yi WL$QY!X9qpF1xPq\v_72Ilv OggSKi#I&Yg))-3FE?A9>=9<<;EC@M:9A@9t3,-usa7LO%@6 O© cI8lcM.v7|`k*5jfl;zz~O.jHSzB˛mU}s]<%]YWWh)R{8V2JNoRS+'Rq aH>d1#$Dh#}Iq2#MTJ$EBVqrBDTR ܄D?]Bp1 dtAdđMWen޳~.y͟zk:p}3jeC1񨳁4!80J iDP=ACl:I#¨}vy{+! ȣ$uYK Xz2JŠ<)+df䶐BR:)qX!)r'222fYEҀq!2iHo,vmUbQgG? dySs'Kls0L|{8J "Nf2({N~B+"]5O+Nٞ&ݵ~+ 2YtMdXp'3<8eC@ }*Gsxʼn,_k>5N(zٲhZɤSja522:QC|HU4+ewrp,,Uf~J5|m9*Iӯk؍2圍k79=+8<9haZ1E TQEH&z2a2r4TMQ5ٽIQ}.D\TKLX}ʺ:eqE#''BiQ$rDTXɬeN`U/86^^Ίr%GoSdP8]oAD,ÅXǍ Gy=YkZ['ZӓƐ\:pe965PBH!UdOt*LEX 8Ə{Om^,"FX`RfWM=]Z^s;#3fN+6ݸcEjAz(:}.k5<ݓ(Ȟs98nO:temeT5"ǢU>4L]@G_p+{oq.Y#T-P*NDF\QekrC @IA܊&nfTY:*2Y/AT!#'FyKH<3EX 2 r!.)y0=~-Ga`ކ} s~;sbf `fp|ڢ KizX0zVHf5𾕛Mo$ &Vs"Ĉ,ˢ٬#a]dSNOuByS gK7ӭCϖ F|l.#9Ees\SJpGsQEW?wj 6)[{vy7+.(\2K2[ȼ 쿌# @bF5/^So~[\u:#bӪ{2g~uֹ!U&HA屠.K}]F'5psUYzMtq-%w ngtt[lFOdآ7%%ۗkEɴ|rKJq@.E=YU0WTvZz,J 37s)T^=gdx5G/^\;>X] Ոs{֋zvvHִZ!m4 ( 9paR'sOY~l({S)5[^Wm[ w8H$RN 3yEx nYmlXD@U5Vf[D̛\1Kkv|cȶ$[ݟС|jox1 tcC3WTXÏi( t1D C KqGiq( =pm:8q^K6 >`2gyS.ef?{>_/;.;AE:( >uԺW#@[{QKl{qwb6yWƔ:9c (W0 HQ!O2(N"Mi'nA x,Z'|% u?ĈY dfL*.^\ٻ%_+3⻮R/h)IGQ[ykqqX΍ھzoSn9H/aWx-􅂧#R>zf/U9kFÜ)[_3sdCi+@EWUhYpW@ҀGG P|R2qe0DL_Z3Dw\ VkOmkZ;kl01,?-E1b{J)V3, - won6%nj4p@ B+CX WYzrCEXgֵݐ(TdN\tmm=*mr ȆИQ-\ St':d>*$}RD!c@oF?7n<%Cl(ĉ)AI>a("'|C Lv}VoYU4_*| 5DӬ$Z_Q&C,Dܢ(ÛsNuCDUMN˃sX\*Pi`cQX $ 2ޛIkY z*uW$ U<P 1`=RS3Pˊׇn;Z8`67l=GFVclZ)yltFg*#Vo%=ǺJӕC^&%w;{T Vc~ x)0"E*D RܒYЙ Y"&X]%#'I1" A ESRТXe:jT XvƦbT$iܿr[c[SaC)[<+^YUD^+*6(@Aid}+kf$.Tuw*xwВ~CY]EFT#2DdD2DPdJIF.Kl~H ceBVn8&aL`mdd'6X_$l [)F2& .^kM`.Qvo9/ {(t"KjЙA 5G^.K "gZa_sϞ)7iS"\j ^T]]h =vpՑܨcX|h߳XII3+z@-q\La " _b=(;o0)>z\ܐ!BOVGvn]<$OggSvi#I'iRi&9@DC:?LHI-;>;A=E@FC96;8DB2iA+A-Ipj$_EG&^k&'u{MZH!|>=V"ZoFӍam8X)2M|&SwyBl;4/y{d`mx#¢rOy[ӣ}?vq.V*Y6i[Y6F{v.*&10]v²R,9V{k%YZ =t\&q[䕺e:AGP¼9𰤔pJ<{>}W!MhYY'髨8/$n5d2CiK861TOށ ۆאָsM^wp߹8) lW.{Ti7m&^}X4V"!A'nq!?k49}Ox w}˶u:u}6黦dk>Ve廵w3g3-,b|0(/.0 ܹNj8(X(~fΟm@AIy:`QR&]e99)c`NnnXDHV}@< `*US_H4ۈU*"\&`S4 O'jKzx(@ѽC[5= h/M@hN%)'Qչn5~M|?;[ya;7m z{%k(:E|?d=.@lZkUwߙZϿ0bzw[j^&2ǍusYg:3V v)O$s6M /N" q<D`<RVe_8j*uVinz߸VrqݓMzZ8,G^nOn ;Gi]TӾjtє4`D%^g KrطN<{6iv=DzQՕnfU`_ٴa)F]cjxXCu>{쌻σKfկ*kTeչ۲}w g#[6O R^Kb!3fԖ $ۡf}/>1_M(uL2T {;^QM& o᷻sLK(~mĞBN ){oS{o]!۔u٬Itj'P`$ݍo"^;~Dbdr]d⊊˲]޶(^|j] 2Ku<Iei DiR7ySM <3T >T4謧m{3Mռ&y>T} %/kb=;K9"Fv]w6¦X(t 2lP:u?.;stʝUZ@S")Gɋ)ABuDB$(}AIgR&l:,<ĸ Qr]1pm| LUncʶ_ (?-+_i[[9Zfi9n4^9t|88hV 4;7׼uj{6R&@(W݆LDQ^v@^ꊀU^AR1(.wʓ\q7Ku@@Kd&!iS9U!-LϛPY3kH4аT f;˱v0J ˨N-"\*(\[y;ߡgNqz/7e :7oJz!i+.N"g!re;"UQA}TQqA0%RJd L )J$38[ 9ې Sh"ljT,B bQIђtE('Y) )" d2 O;A✉W\r<\YkZT(VЉXb늏ff1/h(s@1q^uzO )V'6pi*$nOqE @7(UYh,(SjL1r[Q2N&e1sqY%<8AU2Q ;WUAEi)v7(]0fBZ)Tedb_ȫ$r@lpYD,z,Tz"mF5*CBH-܈IFc&\*8r/ E∍O@Eۄ'Gdğ>0"<^1:M<HðZͦV[NKEf x8R3lP"*aW"287/*LfwCDY˲ס擙N~km>ZߎAy&{'|.WWpiB9jVwrYwb t5]w7!E( (Z$oIptd8H%*YEAXdZJJ q@DF)ԒFpD],UB>pŝY5ID7>Hq rC=@ FnzYOggS@i#I(G#'2"2<IAD"::BC.$] /s4= g{lJ. cx::~- ͺ/ȊtbκH-vɒ4x{ζ >\JMNRFI,_;ӗ?}ٽ٫oݴVFl8#!]ǮD4wJ QQ]Lx el-n:QCK̊;g<x U$)[!M@hYY(e:Ԑ-ѹ22Tdy" \x @VꀰG~t/ vMxrX,Ҵ5khl¢ w7 / ۋUC*6n^)xI;I 6ckn{#p}6IjTUY[YEo'icxSgBB^[PfZh(x.+M+l HZR@enBDPx܍ߥYA dTSDfd7g,JH*`W RtT j ٖ J$ 1'ʆUinDb؋$ E{0ۍ&d[l1h[P̅+%yYW{8% %'0&IwE>LSWY!oWآ]~ľ 5d.vn_u1/ ? ]-qBe2QUE73*o%U̽if7]S HLLe&I2I e`%]̸E .- 4*J,duc)(>+ AJYwAj§AUBǤ^173Vx .5N k =LΘ0%ʈpb=JRMZfقIJ~܈-. XH-="/̆:z7nE/]hlIx@]><㪪Ay6W5[.=yJSAVᶔ#C 9><)a^#LyԾ!JŢvV(L4L2S kR$3t/Ͽ̳hWP~2O;ڟ B m|bG^*UcR-Em$˝ 9Y y~fOg LIJ?}u+n󻗈;xwׂO'.'R~d#!]S|& *$! N ȁ&Z8WbSտ2bJRw4fl3Ruu 5w Wѩ%iz+sDWgZlf\=3v4l@um}p0A]?ίsgMsjZ*Z޽[޽[kXk\ZHH\ gpYd8l0y<%%Ô?~*ݯ֪l˺Yjzј/?Tf!cr{Yl%--/~F;C$6H*S ߯ijk%zUwi= X%}~&Y&vt<%x0W4ZI^-@;)s(z2[p/ۓsuތ~w2~;"w<&svub̗cЂjgLu.]c 49~f/NPkaqksV:󾾼f.ﺅ&o̝".-W5t- (-v3qLðD L)K \6iԎ!'D X\Ɣ*WL%|uݸTUzXs:#D$NG zm_)@@oV>p j.@U@T CQB/[ b=d6N}}džW05Ʃ/}LU-P"^ (hOcUQris=R>3D=^[1Aݭ3_ " w 3t 'AG6ikmP#eV.t/&11 OMG{s7ǒ8/fHvxxT qUS6^i/Qr[nTP u!}YE77{@:lp)W~6 k{T!zLLVט}bӯ~)#V\{_t#HYK\N|=k,t22G/*әm0MV,%mYu)7Xfr0Y]#{BtRRiS0F@&Is-tT2Ϥ`Ӫz+xCLLԂHl<{#nrSIP)o\Q!yl[Ufwlo\ D(SڿoHL>33s 1d5Jj]z5kM +W:˥k^"12E 6qp"EMc4@)3UDӹw)3fz<ئǘeCb~}Z[K1DUs<~[&dxBȔq vU*!"R@I\vFD5L*R(S 3뎻P%U2"q 7d H =śnL$MQv_$Y}IqaDӎDH2t>ESN\nr+/8z"$2MVn؛ z5u{qVpJ5p{۫i`h=@_i@vƱ6k=;lB?}=OtItsu_먼l,*"qƖ t/΁R$̼%B<QT!rWdd]Tі :%@A]mr=޻"evb4@! l[WDոH))ѹNt2 XKX-97*ɉ+FK[O (iar/ӤE {B`\> NC9r>\6A"",`$tc o$X|1ffJzqeךS"3 5fٷ\F 3= jt6꯫hC?]@Q&۬+W}sa$,蔉bZ &4MH,: I ͂.+Ɣr¥#e"kY#':AYd"/R,/7TI$Rzӊ6`Ԧ׆I.:_#cz{H(+b~˹8 D C IISIMrD 8zʴ~9m aݡD, >?|^4ZdVs[iSU|AUulwl c:BӸor .Ƈ1@ 0Z Ր( iA1! EQDR (ܬtvVHGzDZ+̐qё >BM{F;B΍%XiC@OggS@i#I),0;;:;:88HE9:8)7ڼ/RJt\7kk=~#O&{"4OLJZY,v[X\5QYRFLIE!r2m, /ILK=J(LR$ t-pVVRNQ/){& A82Pdm6Jһ0cǞ =cfWs9`Ԍ9(Q^YZug.  0W!0A?LL:e8.fGRzɴmurkf3O3lta*eQ*#7itkx|;)Sm S1ޙuLtD1Jԗhx޼G@'wΰ( mÍHl_Y\]P[%Bz)c -3Ͽ5&>'[Bu"K)lwLz(BT[#BY6 `| AQݡ5 Kߐ[v&7>: l5t*IdHJYx-fXRo+tu3Sr m>ʁp\*%C#zXLh׆l Ra$f5 DcJZV^.;^wa \{[݄dpO Adb}l*v^-.jnlSo L*]H0&ż*Kb'QߋvCd-y V@ckLҀȥ.yqH[8*h-o1X鯷Jݫ"UuL6#$#h2`spyJe?ީOa=VdR"(dBK7G/Vhf?;p,QЖ{e ~h%__wؑczDը1SJ:1]6K2{v{8_~XF5S0ͅ*$iE4WD.|ej8c+']43~}^* %0{Vlxe[w@ Ƹ23yZEYtz?\y/be[JAzmYL1 7Z==%i?v{j9SJp]{,6!dy&laT/H(7t.@߭HU ě4=+cZ)wnegx7N-6%\ 0)uca-hq@g#"i :۾wcouK#Is Z5vcfJW rE%"Zm &)PD 2_{w 㚩che -nZiN|ޮu2^-Fa0T>K\'$c{yz_XQGeJAI\z+.ETwUS2A޴]$ D\buA3e WΛd6@ȩDOr_MIC5\ri6QzX^n `ڽcsM]ORl"Q@SL0^ߌPUFαR(Hl !\o33+F.qc=ሟ{+fzc{uS.|h::hGWD!R\,5kg=oYSU[1q[uz:ˆ0lռ56x dE*(Eh`,FdO9*ހ N J'g!* bR XBe5\`#炔8$ Xdl.p 'kA֌p gθSpo@ 6*JɲW*T |5AH7ÛKxa!Iff)o߿Y>vwu/Θ%u ԰8yZl4SV\TQxչgk*?^Yqn.mL-_6K2+TEr#Qt*BD&d!"!HZ3L*ʉRd1JfDV#Rb}ŔjnF6O\ER{Z5^QMӦnً IF( "H!)S5jjfhou^b3f V=VT)Eݲv+JGg3C\]C4z3HhK-P#(F%UBff@,gR25%UÎ(\&HG JђLL" 2C7h2g#rPH"Y$'JbnDkdF*!nB Yi˾Jg(X-Eđdy9!(t 0 E@F[kbf4=\oָm ',|쳥|7'24+ t*I.H5rA7 sFv!Aʡ⚤fԘp?~wk:v-;U>Twn e XO&a`!.REfSV PQ$&[H1G@JJESR*G HB,') (A ɐ<@F0{1>i6TrCH(NP(Eq tJ ~ IeԦ\K5^! ;kf=/3+]&Vnhߍ[] #mCL3Θ'8zuqȀ^)e_}eB;;&;<&Q{﷊{ëih_ڞ3MD睊-jԉҋY05TTdF Ry.DUj``0j0:W1 ĉPj0J Z%"{W442MzWTHL,VK q0GQt$Z"`&IItA L4k9xwC\3OggSj#I*-*+5857997B@%385<97?9@@55=7@?A67>BFG2܂mAaj|9 ؾjIDm .K.ۃE"fzI^HI*hԼRJ")){+ngK@~8$3zpb3殂Ң#VŠFq.Ոx`Zwo#Mf+,klYǂ_ 13]kL{ {th) ^fKzE)3"T!Ii$ϐ%%=Eh(zl(0(*ejԄ_qԵN1۳鏜mݳͳ,e=֧isWRkj)SaB# d 32Y.) UU)Q "C O3␥")2BH= Y@\ coq+䒵Z4e' f_o7oz[ߴ7~!P.,c5\}kכ{7Vy"]&DRKnozQE0Ԩ2vЁ^}t/ۣxn8Vx~zۓqub:8 f[́!dDFEXIs=D{ɔj/JD DȊQXHd2Q.򤠀 Q*ED(Z [Hp) G0tu!BVx\A 6)'"(л ߫$r @}\/n/\{7ᷖWղ#71qؤSPHc.VJ<Qo(ӝt8_WQS/[s̫}>=ff̞|(1h7ʵf¼ VOtb{D(w\d\"aW %5A`]#@^TWKP$ !# IJLɣD*>w1PR,<)HDlb&"sD@y82=tk0e=C/`Ąf77\Fi[\>x˟:7͓/: ڔK9xk"J:X<-)&ΟҨd쓕P6b x ۬CBԹ뀸$aY_,[s\ E ]\(ZUdHvPQӬcK` Vo&:ҡ%a7\JmJd\tt :$Y=qhUhpE|Geum4]Z1eb$֩2nW~fN6jkӾE3o7o,ZW{A[N'* MQkH]fȃg@%FįU?~c}jܾMTN_)y Gk׬J>|߻[nc2UWY4qݡT-?]hd) չ-q瑹nJV/|ٛcݨg}C:՟vsu/؝r_Y3۾ˮűnwu85q!58}ŭ4F;lL2*rr֥X8)9ǹ@V6ސ"Jp23 Iǿ]vl\!%|=Џb5Ղ^f)=jLk~G58+E͝{5!9d:3sTuqwʙmiY=ou\ngv3wϼojg{tgoC[wϷoQq7ӫiWϸyI?}ꗻٴ0{J4 ma}:s!ͥz󮺌'w)hHXfw 9p[( =Sa Ie02i (~P1yiTIXCN?+n"[R/MCM|nҼ6c{˟.vYwꩰʮF,Z.l*k^spRy]HT%]PVͲk}mzMXkDM "Uՠ6M)zPF=6UޖŹbÏJ΋[Ԝzj8;kvKeP L.VM . < 223 >Ei=hf{\3梦 抴 `*?#)Ae$K sDVdlؒ^]fܞΊŀ6V!ZVз! E#aښ{^˻f5n/t-WH&z$c{՗JUV+m/޽sخڮZel7anQCoYF"\5s%*@ÿv1J BP(b}gco]yߐc$X@B@wd~o BuɈm&"'Dz7߿V.H/6u^)kY @"UTa2APMK"r( 5S0S~}hjlr2\r?H8ѩ>˓=jэx,`tF@4Xx.zlV1EII yՏi&r{.H_v!%-L'd$#rl0gj 7 U?gl_olHcBp&Ǥj.Z|xm⺍' IdP3B+4˟~Y^z˫IuJηe=mJ]Smҋsʰ@@ƀf>[x>9:qQg3(L,J;9b%loV2NIPD>>:D@>3A@@D/5;=;9@BB82;86@C@B9HdЁ ڭѦ2[C݋}7N{`;o 0{F)\fi2:ܥRT4tb}&J(@7t1fPgU*Uh fqoY#-bVz+c ЕO\ŐpMy!ڪ$.yڼ(V0JD8 :/${{թk[ Yڻ$>z&ĕ'gQu :pQFNΪס%yGBhxk[3ym !ekX$XRo?ŜsE ?rm; =R.Fΰkwn%l9 `~Dcn??Ͽ0p_ǙiLTfVOhYZff~w4d"It&hR0P|Nf\5$J(eV*Z7Z8^~ĵRUjr>ퟬד z {ܼ4ANi}.۷c=4T{y7WuN=۾r"ٳW=&xfl:3 3IgM4y U3 3?pdj >H^'i 3Ioq3) F$].i&13evJ-7o%O=ߦ7ֻ֞Jx֛}{\Q]'K}F}h8sa?.³wl{seSﳗ_=8w;1?Z@)Q3VcU}ZQsMnջYj:1Y:5zAfޅ٦#6tF'R&w]0*zWlxqln3VvKkܴ57<Ϟ/7ۥW/S0 %Vj6NˏV,~F<;컳z%PzAmˎQIfz+3פ0Cj׾WS%<{II{`ܸ:?֣$\A[!Fy71 X ̑TAQq'ˊ5Hcål};%9?3bwt^l:]͖+qW-ʠh_`"ySώհb92*P,nV3otmM{Γ4]l ֜EEAt7L6ǡ ;b߽*@ FZIZ2BCdMm@ͽ7wu0eȝ%e9EhݳQTzr(Jycc*ykOBw[tR+ugw߷9LkZکCNMb^E*rn ̩# Ȩ$ qqWp2jou J M!2d (FȊ.E2r*BuSKi*W9rE++bm$@F$rL%⸄17Eo*@ T3<u !@cF7wWfuXA"gp"e!Z=@J]LcPQJy+ ˎtf^w`ln*3E2SCQ8K*c7tUw_LOtqǴMoQ4D.b#@>{\Ke|I*arF)9!d9S31'Srڌç"@*EA8C pbS/IAs]Md&ͳc3ݘA|ވ RXSG*P#DH-Wg:Q2RFk,qL w4Q0%HW&?!8D`J۹mFRp{ owc^ɦe@Dsr Sϯ`IXv>7ާn*VZ]kݴk"zL9|r54́ ~R&Ii=S$H9r5.}ojmgE:VxE*{Z.vA}k[/(z/QRIZ+{_2Tf\MSNƓ?p=jsP 0>j_LVťFuDz2/9Հ "RVHt13s#cHDiI #(PJ0QH5 EY, ||:f|Vu dtT7UfKt4pwIZfuLM;ZV I-Ukn }4n+WըV" BH +@,㳑22ZSޓ ׸pUA܈.Q+ i12&xh]`ExPGTp`$խNH^KpK=@d-m51`;O \|83p6yCP fA 1)+6RF%)%_[MΞP uTCwwci]vI{ճXe{boLY **MR9{"HŨLȂ(t(+nXdy6,&\D% KTr\DTe\!d,.fDź\[⠔QX11rzԺJ u=4[h A-]`X.D_m$໚ɚ&95 71&\0Ǔ9 <>q(lKJX@3̆eL0}?z*22L{7~7QMx]D4Lj7 McDU?Wgc!;ۙ.1e'+"3g1L8tXtQqȨ@P!c R(  .5ؼL &jзVYKȞwich#1lg~ڛLSJ\NLuAm%7;NA{ ( Q)fլN=kmkִTd<^= XSHBj #5g(B(KloM~=I;SFfL^KRu>/\2FTWM5fa;cO6Bui3-/n&[:e"B%}LrQI.RhS(73[o ~s bMuoK7,+<]C9Ɍ\&M$zj*rI! iiD!K7Q-#2RFtQ "C"|:NvNIH`lHIUXHL;9g9f-ϟIg{r{|4[;Ah<DEd.[1€Q(,_)˕$I]gF7#qޢbB-6A6QQAdCħ$P7d%1!JJjiXe T]\f禍BU:+9 7⊛fRaQBl$6{Zƻ4 pmہvCc7@k1OggSlj#I,o&")+3:98:8:9ED358<;?BB'FY˲xӱ>iw8um_J6+r "A@Ѵ3vCǷ+˷VcGl~7f67 0S3 *>lP4dHdqpDT"]꒒$4!g VY@+HqduDVO)]2[(aD[U!.C (Y Il1y@ܨw5 ``[6k ZUfnRd_SB (P~텇*\:ihU}iPa d"w5)q$) ļ2^:١vOG ;Q|> (hDs, [@zlګ="76Y2N$n!Ā bRŸb j4*c{Yi1%#jx(1@t.#9QNT : 5TVH xS Qu䴊 (JX gl5oFfk2Ìg%2y(y(*LbK H9 E!" p@H RUf%o)BFF[ˍo ܫs,uWҁbi$//A"P4ω,n h/jFp4͔}DKjkpQn-,d9UCV 36q[P )E6[ aJ$6,pS@2#`Bـx@I ]Շ$&6ͲGgKgjH1q^7E: }R|R%ƋCWRGU })/ "!\wQi{ne}gm\4MjRBDlM3&`J}y:B! S]쪧ך?nuL. e%8UP1o6DErVg﯇-neވhpN&i,Hbs*aw1(W"k]cIz,z *]1YjHܿHS Lnw)]`M4;3 9r FX&2) %e@ߴjb)=qYjUdDy!(֊JTV5NnEݩVÐ'-)@OYyc4 `X0!'WXޙQU8]6o0%q(*W5wu?766}pݼd5"n'*n.,J깛]r$b": j{}7T޳7WڛAWe}v;*1(ȷ:.N]uA.k>nj2yĵͻ7x:r;Z~uRz<֭C?1wxcY[ {<|1ER|:>)n5Y̘b!3OATh #.`ظ#QfD8Ȃ$RVppEAg2%Ô(4RP8HugSWv*&2)u(Zje2TT^bE) 5b]ObTe# r1omL5"v=t@'hdK,k 3o>5qS&|Y/ K<|f simz?i` 鳻7-h(-LC{ky~v"]E @Z)^'{z˵*n8qFVD喙$2GDH)CFB!"nqrDFQ5)+0$A|! 2 N-uq7ld*n\hIJ/!D"!XFyve|tU2r[nᴉYȦ p9Rh؇)^TҤM$&{j4?6Cw B[ ?-UivKm9.Ln*[ \t@+ Y29rɀh[ klbeU݆+ۨreW:7da4(_@"EveYôQe sYz.>ot =6@G^."' PO-(^/nos*g4/V7MNs8cGcg,=cケzإwލw/b:9̼p<)cdr w(`WϾI\ WE(Zkrw#5eVe1L?ӹkUgl,+cYD |^LҒgȊFo"PPA(o[#/^,(A&{abV ٚQoWf'jV_rl{.>lT!uխΖo5^=+sP*T0vǬ;˲$r/ydճG:y%KVI[ ֙g{zퟔf},+Z~~ܤTRT\RP`QZz32ƟJqgOu܏W [rk{{&kY,Q%j%*XhGYLJ=}ER7{.؛߽ :sbx]"|_(@(GoO9HfwpjTv ~p\ ˻j2Ngw|/K|);źw=l3CB#s]өhP 1*lw%T 9(%2CfљD@%V0'*DfȴrU3 Ol)J!cUiCA49q֜]NFłgD!Dgj) @( |,]6\oK=?- \kpM꒜vzzS񢟐Fb|:6`g1G]:?2ȍI‡_n˾rHS@ZҹA^syqf^׮OKI.T1V.JEQQ(jdX%X#1F * T SLe ]:jE'R}JȴVn$  X"GZ Q( H7DhZˢ@,0EfDk}[:ɭYup> YXFpzrXznF7l ?:{AjJR+JNdEWF;]֑8 jʻ,!T~ۛ$VV B~yL^uGFD0w=+TElj24bbrYr)T˂͊~3C9"ZÈѰc'@و-LjI$׋p̦)c& ! T@N½fHac'D3#'pǮOggS@j#I-ht) 6A898EJ6:98<9:9@DK-2<89C@BD'&c(8d8q9@~+VZOܪgEao&QRvPXgܲVǡLeZ/{:eN&tw5vE)RPїu t<!2o[\RY(TPbU`{he>x6"tLO(]Y[1HB**uf iy*@$H]A 3uNRpQkꑣX "{ef0V* vd_0fsk`-> vDX˷Gɾ[Pbno[2jܒ*)TPXT ?wʤPtAؙZMU5[nWmh-#:%ҀT"*MO":# D-5 ND6Pmg݌ t4\7HWPL_HP͌+eE5+w3{dlyLвRe)dwe"C6=XӪ0Fs[k`n<yO.dM9\bjA*^ p^:kD}: lve&M#)˛m7N L*L$>DA䩵V;:>|.mELgKn[iWY-NC>N+틽IYgZUir;f:UVǡ-J#M53pG_䐲6!ƞ( N #k@Oƌ ylh#%G6x8MuOiy󬃥L=TKnFrr#[C&vpX)V2U])j.ANY(e[F /'!dl4t1RPaJ'}l\ E ҹٰnЉ,/7&DT|G7iR'r]qjM{5M#Hyk(Z70u d6Uo9+ sPMLd{ gԾ$!QV߉gQđSڼ+K;5N>(M*Ku̒G!3n2-HWY3radR*j$:I ҡnb<2Q*+\TN TUh pT"ϫT!j4ضQg92lB Xƨt܈Hc6G(u1Uڌ&,);M"كY9{g˕b!]UUQ-f 0֋b4 U0D ¿ю\"/ShtJtF,2u%i` @7.׻}}M0$S(RMkkyxio=ꤣb"2Jy,~dKR +9uy&׼j]w[kkɼ5/ܻfo/ZMλF$%)#ㆢ}wn?/PxO@` ITle+P&kXjc0pjROfdQ]YkޗV`K's t"C1ew# 333v+6%|C7[7=Ss'SQD0Ճ)7 oړQњyyWUvbKvgELCv4Uu"~ rvZ5^TNSQ D`#F!ɜN"3# -MDFt_224֙=olDVH)73& HOqșD1QV1}ag`o\{ ]~O;ϥ0A93Aݤw1a´qm[ibsL&cb/̄`V,{ ůuzo$oZޕFyI.$71,ΊgFQhwK ΕE-j}*\"uHXMȮtu -uv? ΫcR_J ԖmWslҸi#ȓ+-sR 6kJ컅)%gб2mj} gI\:1P}/"" 7hUw+{k]s[vK^[oNO$X2-d xW(d[j.f3V Tۦf0lo6jd>_ jY c&E`c`m;?g`׍vKZRvikn3eج^4 h.G%2'V%bclZ;KތRJUh#zC|wc{M/HR?}g?ɹulOJZgzMͭh%Ǝ"1ܸB !!CeIȌ()u)4"SieL)U "% bOK@b 2cd"(x="Dl^qv6N!dfw. K ED\^_J@& JD!r*A1$$a{bIe顳S1Ւy>ךճ#zptaUL1 N64@p]ᒎ]vبD)IJuoޚP)otg9o#*Ƨqo#ώk }@C,IEY;i b`ݒ:!jEƊp2TAbDnPL&22tWe2K` !BNe>"y U-шR5W#Zh\!  GT]BDJY`ғ3x`*>\( fvSLx7H8@&`>|2QA8:;8:B?72788<:=9C?BBIkx}N%+@S e]- ffd,zٿ?P9SaVcdz><%{2I՝.Ued:UG)P,j Y9q%*IP.*EB(FJŊ$ @(  'Yj\F. XBF1-[W8D PeT,eGXɈFA*[I@ Nla$luֻӽˀՋ6@f:*#I/sv9dpCf4!@s_r@4 @ BMR~ OEJY^Qٞˣ0\2w;v!YKWɏ_7Jr12NE." j3SDP:Hdd##'"{!2IBd`>Ѱ(+*2O tl!/g,WQEmqJ9I\ҋJ94)SppLGI8 +)CܞUaҘfۼ[*)KWF4$0t\B& ;5Q5,lWrdʕY-VS2M/Ph\\] `&0/uӤd ".NݘFy_{eo.kv\( lc s6e6]MWB}Q&)ƄbFKzlv#"!b 6;\?'*| bS]Go{9N^5|t 2u2T-@į mCC.\|(9$$٘֬g&=H|F4j$NSLO*rǟoagB Y\mpM2=\JBӥ 9a@G6oykjL]Mܸ]}2.L"rHMS?x?r$EO庸ϤKMs {{_G= [9D)Ժ`_@6 j q63tj ȍ^iΥD3Z٤'T])]rO!xG8*ݯw]L.ڼ9}ͭxւoW{嶧Nܷ87BY&eն\OT۞l]Eݞȱo.nxl\CtO֫)AȾ?ЁVKނ5zk%O($ j r )GVrđUĹA!Dggxp 6iՁRG _8")PV+3TxY~v[x$@ pX  l ֈkг4]f(/'foL,5E97(i}ީރ tdnj_qӝ.BoZ򼡜nu!7 {z-MACEA.A|!oRFn:s"s r:auM"[ob3D\HH!cz"ɀ.nD"Q,4eF(ȲA(H`pc{/hvsSw鵚hkh"w)\J[( |W>J`E7wC(Z9:]w95 vl-tt4Pi,5% n9zSq'Rznw~23.53Ḻ\<@taXάƊaO@569zm(2YzS=fnjT TP?RҪ pת˹Td,0W sS)&+b\%˾Intdt"UIU 6UÛPdq/J%y(fMnm6W^?\"u[,B2\DV ]Uu뢔7Ϥve(ݚ~g;sxCPFU6((ϩ8 Vtͫa^d&)ӇMTKhCy ش)D;Rΐ$KKQN^zԮiwtk|BѪ?^ (x-weE&opJ_ߺ,#VuέgزV275!2˪۾ .GO&ij&,"0|@G 9lfTcϫI̛3wI?~S6tu,FHV:6Bg qη;VTXm]KvNdJw:sVݤ2oά~c'r }߭ӝiw=\۷3ZN-ȧCQ+iiet)9Wzz\uum-w\wBS|QX5r-͛QܜȫƥBn7kWh6wgVA:1nN:Б2 ?fPNIÖ'<'KI޻jt&4 HZQTpQVTCIi{7ֻ=znEkڽ[7d&㪘Z15ڊ{un9=A~,?~^9孻kxϺytbpAbQj2F:bC7ݞ^֗R]N;yH_cUU[M Mij=l1PTXMP[VO WPx#g0SZo_k\Rgbmޕʯ/e ރJ_4cy9?GΈJߥܫ:*s-a I]mQD9&@0S;ZP$e2C HAj"J27RfA&"^US8I۲bR"b&g6$pPB:(Ö\f wIA!-`n,R6C.y*3bt!P= nl(`w8,bBQJ{ 9U @ `JlBk߿bq{Z=.ٲJ[leNH 䲩szY7OU$m"G0Q#K F:+A AWz| J_!MN4TzZP9-En12D`2Pΐ"#DQLYe l"EI"]qYpQDEM@|CqOggSj#I/Z-Ȉ+E95:;9=?J4CCC2:99=;;B?L5"07=D@7CC=2"-LJq| 6Z֒џvhКFKaZZ5ǽ=ʲ{ݰCqx p+$L3EخptBMdh[| *< w 5*a

.M lwn,Қ!"g)jc }q?x=ԏ[KL;76iL@VqLp=aJ3$t7%}l  3.MWYn.$_ޢ&ckI^@ARφ (|4@PS$cz de!#l?"0YB᳍ק -^'ZwGq^@RJ-@ ]r.`8Q77Dn]CoIk`ʇ{@pcӿTfxf2j֏JUB-(2}gfsӤf=_dV7 NPY?-w◕6#t i\`49pEꬼRo>͂%U.e܇56?=ɐ 'p,L0Dʒ2 hJvfE>[ gC\|hr8FVӨwY:"W3N[TmG [Y2%dZqg;~{De{z:-p(k>U)t{o yeX,fQuwjxIZ} /Mwcnc!IB'J[,aQ.ܜ==;=%kw[ "yo@:جs%K~4ln?&ݙ)qyE(&>"z{Ej75unJ١ 6Q xY%q]N3 jvS碛 nS&O8+j6}wISƪR(LAAw@jDUFtnfQ 0fR)HD'Cl L$T-/).9F\ ['2'Ah6'\B%̦3["ʰ @UL毟€z;c4{ٻe&6y|mpw#9[̞oR"&l ֙3RJvΔGtl%GŏO (Ufe[Y~{`d'I.O6*F hEQݨ.*P \9ޡ yzyM%@LDtSş0(VBD@{rd%RV|Md($)FF<$d)Bo  kL$ 8ⶳr(`qW33-n²AD[kms@.u3$[<9c;47{o3(vƬ )+Q3efJɿ+ ͱKx-Dߛ%0=^]jD7Ny Ԍg~9)wtN7 oZjRt#xۿց* K 2iҤ nJP(Q\Rw& OUܵ*!eU(nAal0E=0A 7DK,uW߆ܠcy1n[ 5hPM10vtNn#}e!pl6]/5` .v\ZZ+S)?z~s!"3+D.ÚJ-\ -Y#T)7ӪS_ٗDeWwׅ(Gf|k\ܮit&5 (2~Beop;:%[6y|T "C\.DeW]zڎњ^2  4JX-l?ii Lן/C*H[Mպ[ۥG_]oo/Ytj'Ha'2"VaQCdV.t,\U,DPHA{;ͪ-t4t\wޟT*r_0Uf&4rUe??YyQG*5V03i:lԽŪ.Ƶu,TT+:Ko6 `o|EʈȀܟ/<,+CfRt_g3e~v2s2:[E@gAP$"TI#zBa,-4)d3cPT U_ӛ7::;?CD-98;EC?2"OBE=+Xq({dYr1WˑΝms {XƇ! cFnt`C e]>}]w}:feχJp>~ܮnfWR?%]h1Ud˲ُY@U-@Xfr%O)Dg; YX K H^dLȣn_.mf }o>:Qu@.( F} 0hx;8%R6~iu(+d I )*JNtXʡ,YDpYn{"sLYI]C&ρ@ pH8L<2E< a󦔭Wࠆ `n[Z{1`w[3fF4c(a4/!@n s [C,,p!2q(X j*f|O7nO+oJ>V:nJ_<gD9PHB " h PM~|iqY9l#ψ-;DQ 5H' xGbdQ-duI#R)[M6HB[D [nH\JRlL頫YAf|( @0-oH9Sbb/-C);u歑^"`rδt{+L0(l%\QT1`2&D[Xt6znzTeg\L\+,S)2EwuЄ c܋+-bTknSzMlR]&?p<+'DQ= T+W܊j3\/C6AJ(1\sE*k]j 1 )ҵxt/4S:^=}DF< 5Yh ,OfBMbn;l<"wbt$pw\3w PXtU(Mq1:QLQ/MLF7tٻHmduP0 ++Q4TCF ł&av߳\k17+w\4ɕUH=z*`}0ax520u$4#Q(uQv]k ZjUk &&DhbV ;vRgd@u2%1ev+d;_/4Zp52+5Zk'[>Or{cQ2~q"GΏ "OTiw[E[DEQ⣖V"Fab"KC*$Z͈a(dld.ʸ Q`z]LB^r2^-(<>cC"m*2 QZ:,o>NCM0Ѥ>N^f(* m֦{n4{vTVeNA_"lh: µ|-Rwǥ%֩[mgݫ7+{--Ԗ,FKi0taw l`sQ+@}6)#瞧Е][Q=UmۚfoZ洡Hwe_F/7҄ e `~(?'D @*E-n7T~yy[9I f;\ V?OOLYp9({RTѶ}MZe6H?.GueEdcs+9[m/<'`ݶ%uf omlDmč_0#eۤ\w?h󨳺'͎;*'&~ Ǖ@z<7$fۓ8Nvz&JQ69 :)Ww@" kӢ`w@t ' @* lT DDHYsNqҪL5k*9xWO~l >o:U@ao(H3 0זH\O{M3;v\X ?΂Y̎t4>-jSeA=fd8wjVڽ)յ9iڧuYn ky2BYS,];tNS%6X?clR(e&Iu9SI(8u"AH`R.ͨQUo߯W7dC5RnS>t{k{O;K{97Kɓ@(hϷ4kz/ 5@l"Q<_m#ZjbD0|wIl7 xx{Γsߏػ }.{O]+F5r}fzs2W=OקqM{,$sЋ{6r5{ ޽[z\yv-Ffi1AIsGY rFm߽y^ltt}&FԵ:ؑ.#66p\ɳW\m[E[wd#q U1 &E6i~ng%PKmYtm6kPgvy@ kO~37޳3e?sI"ߞ$oI ismiN/ԑOiWtcRi@^X*wNevJ.U !2\QH3*fJ w\G 27O!3 27\hIV27's6ZNBʔAu".D\da= n;!HtFgy6d{cuL0&ӵ{ccYL?wׅi LMK8>LMz7$@of+ sa~D]!w;(ZYA~St8W AK{2FHH\d#Պ923n+ S ~G3 44f7c5iVS7ۇ:V3OggS@`k#I1y(#!7;;:CH1<<78=<:CCCF>?:@?B?@^, U+Fj8'$oXuRS̔:zf\Ýymئ]r[q: ٳ]tnOwv"+Mqd{V{Tͪ0!H쀖d1s G@ⰬPZT8 #"^AMgB!HdʘY1&&L,:5tKƱ` Օ)Ax6X[25k0V52up8`}rqmP˴/!OdX$ݽL;4? Xlow(LeZYWt/vEXRs濫~ 7~xRhaSn]Ž@Ǩ*ŦWMrJ#̈t5$n-VL M+Qь `J J2U7. Y>&F҆8e夑u%]ѥ7@mr-` i mgm1i|msk.> נi&BXj΄ڄWB!읩Pg8H= @%zUef*~x?'lOKLsh꺲˳ij~y;g"JWWC+>uyzaFV]vj+BG^RwvǥEjv*""AFMgK`UP6{Tv"[DqY.I{$ @V.nȁo%xU ʎEf}W'Z\HO Q I"JXvaS 1ozFetބq%/Kms_{xfvM]0L2uS}ҩFz ?^r[Sݿdf9\Vbt`Σs˙9t1&E B)*b_彤 gR꽜JIifm1 -qt45]~t彧2\@|l(2(ѽ<TF hjk2#T McVx~)/PLS(VrDhYH\KP ً$ I&hKHΒY,/ș)A ռFa#d?gEm(MjF^ӯR8:ORD A+T݂P.Ll|n-}{EChG'%c܄zkn69 2gsV 6Pe"jx9=P<&w˂t2p0*-vt):0yr1̻MosKnIAj%|gdkcYoU%1KÄlz@eQDGBuU2qg﮹/$G%.Jj!X*^5Y?DnedeEEMӍ0 $emD6QTkm{<\?WT4fF2v7jM/v[2D#](Yx/"-pBR (Ȧp9☏NԻBf\ z¿K9CZ]̸bF'(ںi[fM^I4biщ:"JL6`W/7c?Kr(޽[Kjv1ͻ[k . QTs(T g= 9i}˰1*!??{ou{fj/ bdt#0yՁhV|"(Oy_ ;# $*ZYW@WѩZxWm1~'sr:6޾}u9ʻRO/}7 m%|+n{ߋU B.jxu! O^i 8.JU"Y(KD2 pUk.f$W\Q d'D"dF |Fg_ )Z\Wt+<ոD:i^ @d%X/;oX=Ԭ4k~^k;c ͬ611\xIqR)J/D̮Yw*eff~k瑺}~J̙T"oU<·ҁau C6cΛvuӴpY>;iO8rmn ˈRU:a#=HwJUH'DP*F1cH  r"Cf%^& J>s4E۹6M ]46HdLQW+Bg8"%0ތ_ ؜n AgM5!lCBE%Xt*{LK΀>^+tʧ6To$3L[~mX/QO,߯cdux%q HM!5y~kxq >b[yOJ-ξL:<4",AȠ1{$t ;]x+eX /(=/>ȲKI5bh7zl4, t *EÿZ7XVĎ!ICX(tIMF[]نmJDG %dt6on[>TPkddBGAA(.=ov*-kW+Lڻu[fD_.RCpB4n_ '׻BSn2`Q2,Uwmjj-mSUo\Z%#HsEF*QWd #]yyncgMBzZ)`I,h3b "@jvuE3Sfhb"kg{zYSyt2i@?w_*ңxmSe? GйT .PRp Ō2f"2˓S(ddB"E@2Ēp6#+AK|mwIMW«s aF ".Bn7l\2Sn 2jyR6g7ⲯ:˸-N2TTY~"]jqbעD.ᮻEgxuKcva̼ m!{  kpa[ћ<^J/`X# );/,-HLy9{#gڋx_ .$eS?ƿc[K;r{<7} {q8-*M<c kYqQߌQ )L-Rjd")ؕT @!B( !aABƻE DV nT"B##D.2 2,\3Uf3# "ڊH#$*Wl:!i Λ&WOggS@k#I2Mv-!'*+88:7689>?).59;59=4A?C;89C@=9<@EF:ŀ𤎈),Mz3#J1^+ry شaLYy|?k@ B;*d~~o>?/mњOy%+.bʱ{Q!hȋV4 C(QL-:Ezb X 7MPD@!tJxY2"1Ő:2 xb")H&SpqQA8 mpq2E SPV5LHd!''LL+'e(5WD{~[c:ɠn߱0㬂Y9y-jCiLN!r '9 @EEB̼7ffT,{ ~j9M>m g~N5TF#JT(P t BV2 BB( :RE@(ID"WB&6"Ch_`,Gq"8YHp Ov*ՉܸMYI-TE'-+ .mtn !=!NVpq˭X^Ǭ6bad,@ŜFl|@g0K^&/ j0S V)SjD T j@87{ܒt`^՘yo'r ٿѱ{W2*E L0Q$Ib6"xh!B12"B@9I1bHȔ(Ŋ@lY#'$%?"x QN\q Ev HL}d8Zgt5GʍܖAeg99JFt1R\"Z&D"ĩXH: bMaEV-,XxK\%b,`m-sw{87yt0r .hK< Ub^f+X,Jy3(G!TmN/cz,ޢ`&u09 `,bQ,ޕ#tQR* o֭g<:}]D$^Q9qL M;W@S'RDre:յIW:bg@_ jy"*63rLZ- %s{b #=M_w(I+*iQrbK"Œywq ݦZ%u ()B&Sﲠ("|7/n=G5yBT j~ތO0JRt1͓eVy{m9nBp #ѱ"ºeʾBh&j0UH:[ ڱWqW~gRA$RuBH(=//a`U?&0,fBXJ;Z[ޫJ}4:duWw}A`=\߅ReV&\L㱑8tsNN覻5oVfc54ɛiQ!og_OĄ.L*"cCn2rjgKAH9"LEZq(Ȉ 2de,Rf8I 2x_):ѶEu"7"ĐDM*&ȍCAXuZ\IrqȒ푅(Oge֛\Bȟy=@txXzKcA)ˁ0==cDb@ yJ}+gv7^ffJ)3{jP.kHUUƆ߯euhԔ9o_wLO68봦Eʉں`AB7Tgb#ZEdJ6H[(D "#2X* 1,2ʅ n6茋DI$#/ɻ%! +_J@`#A ~^Չxu9ʬlN# DjTLQ\'rbͩ2ݜz zZ7n1>A.7%5rF{0f( TiS lj<I;XKeRJ=?v5"(ɬOśn+ jhטm#@/c:$6#h$kF+ΤL ;\K,|Luא"dAʦ>W¯ǐ4sfgCdf7;f!o4fJքdD@f$gV"&B.{+ª葞,&-0Xie2]ŷ?$A%\MF"s[s6M{Z ct>!HĿD9Tlb!_ޭfֹ~"4ܔyd "?ېFPǓZw%n `ұ-J[lUYs_( h]s--Kn;6f>9 I6b4z8(|nmԕItYm#UyM_UzZ{5YA Z̘]ʌsEҸgX*X*[1J0ɌRVjʢ44KYn qo:uN5@Z1*tZ֩Q}6LnW6't5{K%^T zXnS^ne_/7JSwnu]ufc{.z}E{o6KA=N̙37sw۶}'cMf; p7Mgjfd}lsףnqxS;㕩6/gjCzKgZ3w7bs2lFkҀlb@X9LIaTq9Guǝ&EdMln$RjTUin߶v_j{pz:e辑 v3qp킝mVY :mUP@F%oZ4T(b@%Ɲk/7?hoDًq[sl'8;sۻKnͿy۬#_>gͼL uPqwZ_T37F>Ut,e2Qy~pڛʄE2J']36ٕҝhYvwe`/EE]rgK:_W*ǮYu_ܻN-]m6]w-Sn 0@ڴGl@`Kۘll@8;D!Sf:ۼ f!ڧc:P[Ju18pz=l0ޘ:B-L5c'/*Jz^֐v  OggSk#I3ē)B9;<;7BEF%>BA+8:7:75FC?6-98B@>>v~ǍMؼ eeF/L(uԄ'v]oSq fw:|rrc.tԸ|4V7L)xr I27# [,Q&222K "I"H(bVZ*vR)#MggS܆ b 2t.(VR)P5?"i6r;!.茞r pc"+L%ɓE.SJt d23l̀ pl͝l4`vkYkYxgrQ% д^@Ю»pQ{ wKp4AB>G@O!߁SLAHYQ=\ֻ`oEܡ˱awȥCXXvoT K"]D0ndS1Tˑbflg֠&q  S$hE ݐ9Qzױ+ݕzE1 iKSބ( 1e@SnrS{[+2"=bgrCn#(w`7ɑTpEiY0V9|(juEҲRu֛a) geERVOp0RF Ǹ~KYkJYzfE¬ݻmVMKߙaE=3U-,-#$=sO{yK׺ݶuw&9UdC/ rIvsW`oHw9\| 2133e5e_}/7Y<ˋ;~^pPirҬq_Kxq3sI=Sq[}f~\ẋ+r턞F5:wnoc 91OӥWRHzk&{.\~毉>{pգ]G1<*; 2ػwrWs{^׭b [H/3r;)Ww32Ts%$+^ڗ/ڬ Vv=,!=dcZٔ] Re3f*ۧWלm:ou@2Ӈu3"pw%b; +6!Vyz(;"d_Y{LӴIyOwW,ѵҴFje~k۾[ˮ+mӺz&{d[U}|.ttVq'awuoYW:f7~Fe~PUǛӼ^Aͨ7ry?M\Gu\=ΖHf6 h wT AP (u ̦͟-RHȄy5jLWd@{l/xXVe6/^{?7s)@5r8xx(,Һֳ84dվ)ObL\J![O^aKϝGu\ʹνyϾ/twiyQULO홛wvZ},)j?d-_=s|ShA=5V&{.wJ]w?5k5+]mBf^gg$w3猳LJ -3K_n]uu,`!pI}[T"d ׫fXB!d)P mޔT_Te{o3kt>EYMKH0ک9>* TbR1%brZݷs{/F[{M^J-Ӯ[|1m8P "5M̳g3Jڭ@4ҼoLE5UE{T3,n&'QJE7)jԭ,dIQb#2D\P]6\QNI\TQT,edd Y0-CbJPi'.,YL#p/`*as2Y0P>ɂ>")oH`]F;d.ӨVD" étPD>)TA/ݫs`KQ7tUmCcv.*AɉB6.bu)+x"nr*Q頔E'\I4;bg[kZn\Hz4(C;WfEH䖏d+Ar8NζǮ]f4z* ň1W-b/;h z3Rp LEny3lRG߫Jan篬Tqߥ1lFגmlslo3dDu@Twٮ ?NV)~*jT `,\mK]y}ޖ'$F?`3Zm?SʸpB#Q**[ {yK2FyQljɑX{)6@xiLbmmbf!{VZOf(kFŧ.t &@Vn)7ԔY(?!YwlYiԸ6OϛH9'E:BA8Զ霦nL f Pr6z  g% (͉_ Q΋/HI]lPF%*z˿N$VuacvGd__mf< u >rYFަ٢(24h (:3–ǦH @-VAB ӑYEf!A&*蕕N2Ȁ@!b(xĕˤri Qkk"U.sYoz2$%0Hk#S86 /J մvf̊I;@dx5ئFiy1a` m:۾ 2Xt،\t 6C'e/ª6i'){ _H$ k{Uj2%/˲_+mOy:&?!(׆ztPL$J٘{^lzh3)UyFP㜚2T(wcOVr\݈bF>7kmWABAF8,%BAND(HroŴ( 7+uDAT#IN(QtfZML!De}#@CY0ƉZ:/+#fE&<6b;@̶Y`^f 6@moiN,V!Vsk_I(r(}C QH$$" ɔ!eߺz>k(6*:mjDWSzw[1k0(boTwJ7T% þޗi C6oZT+YJP fl&*t`R2)IXRTi"nKE|V$ $!+@Rjr% /M_YVBo#iԳ^ޱmfg{i dE2#(aͦn M:ѣLA_= vTSUt 60 $((I2nzd8_P-z%׮qiB,Dw_ߔp]Cko cS^]\wUV<Y"#2Xv$&eDAdy#3BNDTs GE֔ T RW㮸DD+Rl{s]$6"!&6Hb!,CA\}i8> > xbp1so*Twο,lg b14 fYAI5* PDA6QZ$D^MۭO_l8\y:m\1__jvLIMM,mٳlXr SAEQP*rM:-Ҫ1KǢ=Q_Wle-.l %?1D(P4c )i , h%d)eRFȜhJg!!8pE 2nKIgX9n T Zsz3oYlY:)`KnhZLn jOHK͓o81uIGtn.?֙^ 9T!'.8Xſѿ*T4 ,TbLUWrb t)'!p 8 ?3OHEIԊKes1$D12Ųy6'LlozZc*CD48We@[E,)uLHLq괌tҧ Nr?$V*/WֽL K` N.UATY zY䚺RHAխfKd,hdՌi+(Ű@t4[Jdds,"Ȝ\Y\z#3&BBjB`B&@Q$ĵbݷc X@@]!N)aVH6An;jta78| (r1o6%#z% !7󷽡DX bX)I_r'1Ow'˞~KӼFg񷃞,s6kos$y]9qY̬k @޸uV\tdV*JФ(*) 2i'if+Zute ai@ @ IBq^("gx3My1hsO9^mbNh' sH kܯVaG-P& %k> d}s%o[El٭F& ژ[ƅhpxCm]7aWPD _2z`oH&j+zV-Naw/~?e]cJ(3$@"RĴT#oKL*4ɮ_Zf٥Ԙ` 1*ΚO/WLߙ_4ǭ,ӫe->v6bNԫ;6Y>ga_Z'dz:([cgƘLNW۟-LjeaO?+8^Y~E&egSi-Q80*~=\l Uؔ3!5-28 -};nxUHacq<u\WqF t4s8g}'@y#$q[z}Yˀ-DcTjhV7uqݏ9v<ղg.W]?Ot_}wv+Agc(t!c&;ﭥЧ?l_UIf4!#nW a3q 6xV"rx nI˟-Ap2c3ee%+Mf܋]Kn7܇H ]N~{S"o) Gx#mqƄ*Bc/ FXh-#͎Ō«A%Sm (Y|D݆h{s4Y=6!/gf/]\gRo̵{z>V1F.Q{ֹIϦC8N5?M3f:TmfY 7Ӿ!I3؊J4̘K0~҈4L צ 4J)=-(#_+-jwH9acK6S Z(cVMF[,N<r / { |Td(_f95KU]MζmYG,KҚ\] JHsGzCsk@`1b=ﷷ&AWܗʅbbx0.`FEX{+'h)̳3Uֿ_ҶRqdϞ83mI2p,'󪞶1;l\\uaWà-}Y9&#**Z$:mUD#"茤 2r;D2ȕXs•.bnX4T}@ƾg4OuC^N .DTxJ$I3apȤd2G.t&I@͖@oqʼn R\ VzOggS$l#I5ɤ(/-:<;B?-677;=9E>C? (;;8?C?0k ֢ɰK@21(&+ܐevQg^\K{_R<3X595I:Iog3fŕ\3P@)e& 1,s{aP Bʩ,Zp-7ԭ#r©> iA}T!]+w*"3R*@dtD3jBQFQd+K0 JAL$8 pVD% lIdcD2$e57tM(HJ=f.`P7E͸׬!|wN\+@Yqy ^,kG0bPSaVuM D}ך6Ȟ@E 9PLeZAԚO߸ڟA*Oh9NTg4M&NQR)m-w DVdp:pot\-*o:T94TPvhײTb#\[DHYTHst@Q"Y\~n /^ 2enBxK&HdwLg,!Z+{\6U3`-咤M tJpyxwFg$CA̞b4ZcZQF ^` ǝ; jT Hd!Bi`}@+%3e)/[xCwJ.c}+VE"4C>2i%uݍyU2E t66;+id!omȸR9T7L~3ЅB%OT*N*i+U]kwK56$2D hi"a zq* Z>" %,W ;BZboc ݪ 3u{ΠԶ = | N5J*]*rP<B`" ^['4+񌗘n+:e=tYZ$H!J23/^i 3rpy|=blQYǽ"JԾ3/Tj@(Y.8"vovLҰAc4v5`@rhȑ*9Mv7gjPC"r;RAd&C!R EZ,$S`f!m`&q/'V@Fdt'Y G@<+%@zWFҀE"-n(@~sۍ@ºaMncOm!H1<&p[w's `.6H{#]ڝL9n76X_^%7p5 9 %Ě)VWiXrI3 i۩TR-⼂wEt%ׂYQnA)W t+~HCCȰI1S1$Ru6!Sfũf[K8r!V" ܈ ח&0+A8I1.@2a(G%VR+Z&3ۗ2l p63f]U^ a.ϻ7y8sP9Ð`&Pd! "*@y_'P<>B23Lɿ ='=sRxRϞ2/XQ cSwn&[5:@ƶPdL6:PS.7ɾEUAsD\@AFl%dJ(PR53+% $#r2I89P`Ӵ8L!#iH H#EV!(*,-pc!U13nX+cC>@̛V #: l"c[5A TF]cCnL*X!2z3P:FP.xooUDR$[MԡtVPW)7Π%Xq EW] :bFCidY;-O$% ̦f_Q#yo;lG,doIƦߩr 냫v~!SZ% #5 k#̈BR dTeTc$ҙ \\BJ1#%^8CJj#7$tQM<.+[7J4H!.CuPKXR(/zK-s)<-4Y.#:]9e˅N2e-b() Q u((>!<^57(;^{et`D.[X 6ChBm-:;^{—VˌAFq1}-2&2r51%JrQ %Ts $ "R1ggqPHh@=#T!NDr]YDdWRZ"Pu# Q܂ d!i*V2B&{Lec#d7Yg{yTiy@f8C{Z0Ġ>jxm2L}H}~Ҁw70ȅ=\QjF2yYߒu5ɱ{婴:V3rc,t'sAHwu68E5H7 fD܄XRJ+#D8‘@DI"q& \@B όNS#s$ }YHr)dAcn#C l 28T%DMX+7pQGc,IHEs4.D]`4[ fD/+`P֮5 ^xцҀSf.w2!#7TqU78J)xThPiB$c#J~#+8 M!$\HQ*Rd) 7!*7"$`(=Uri~)o ΋0U!3l7]|UWCxnL70)  .K2" huF~ w̘RSB(6˭ te\~b6U:UC;rEt::dk7q 1]t;T)TRn*oFHEs\;] Z]RA $ A,DnFC,@ DNQ*\ bSruUs#O" Hgȉ;ոD:ddbtVDpHHָX@3)nl߄ ] Gc'//u#4+psSdJn`8 W8xNO  l\D\:ʩ,㸜n5￸@sod gn~l9 o؂.۶\2uF; ̩ v .MJ哥cK>VDUFtzuy=o͌]O :DuG_BU$T !8g/b ݑ` (+3_ \}}naSWƫ3ΏND v$e^qz=M}]R!%BNa->z J2ͫ5q% oX. P2"Tq"Hi R$*T bQ4BH"N2Ejzʰ$Bᚁ`+FQe߰H)rNTE 8{"pk)$WDQ"KC"[xɆLf^hqk#Dg51ق,frF̲kJ.+Z S@x`[KeC2@VVKibwnzc g6l1^b# w>~P̝slϮ{eC:z^;ToپJz:{r^/f^/>slZD305ԣD*{3ܙ @?v9c@ L=ib L"* I+,D(@$Fe˸;'=ի>.fE޲=CCt{S 2mUdSV-Ubmx!~/!" 8+%ր pleBoj&lR(\jsO>YgW_tM|b?\0;.88Gxgޫ YMnקk}z7Mj= ![]/.:gd*32c1ftbEl"k|U¼>8&~zD4j*![̟4QtS[67/\y}xc%c٪tth$m23Q >Yi.tH NdR0yDf,&tT$S"!Q;ݮ^wUUm޶mo|\t\At7K| rd|ťah,Zj,=W0wt: C@\G-ZO2WQ c6.0IX8( 2$HA%n@wrX .n%1Rej Oϻ4qSs:gW%iZE׻<|uIf۸ܳ,f}KSjC1e ]SEM?ٯV}J̜;cDЗxDLؽ׋vkmK|*e*ډIA峰g![-NfX[ Y9qX_ԟҧP)D)]۶ma/DcbHB'U dZ~-VIt} ˕jqїbPFnX}t'~cz(Yp򩜂PQtIgkΛ_{ZcQNިJfVHsCvΚҸu;de>K;6yelk<ĩiOSԓdҽSG6W)\Է 4#d9#"2W qK+yE Q8@ "!V( YRDed2jy. dY颜%Fq5siA CB`<7 t 2kȱTG/ %Q Ǔ}d< ˌA ~bRθQs<8ug7  =0X@GTѷ x oxC$c٫( x#ITIS686uaq_pTM'kywgf`LHӇz>xR5[g4=;f͈BǹJR5[]%PJGG] )5aMPO{* dRaBd!Mt8&A* !Zd$lR.d, >f,T텋OggS@l#I7=!7*<<<7>6D?73A@C9)]l^noZ^l۬Q$ٻ}@сǽP@ pUaaW5%S-ԋЧfdP2j Xޅm\4YaG"CV]hB6_f믤Q̠`%ʹf=dv*y =x(PGD\)SyJ"E2٤'oh$l UIV,/%C/HM2梫o'Sd(UG95Y92Ƣc \'rE)f} ZYm{ d2xױj˲ʷ%;TܨիoF,fh~>Zk{VZk={MkZc^sW2Ok"S -&79cBrbbIH$:k❭Z֟+zv<YK:^%2jɺm3)]U[sDLU[(3E 8?} T_*3T#=ٔwAҳ1/hu۹ե~J2o՞CpΏ| 㸅=+er̗'gjc.z7'$g}QL!4llN͠0f4:xL^#ލj.=2gM.u"ߴjn[ A.ԏ#D;O]+Z-ffX,ffX,{/ԕm{mXjpD6OPKg!Y#ȲFm /DAR R)Xp %bCdt齽KUHm˹ݘLK#pH;:ՄhR }dfƦJ)UBֿ`~sk~sNOťUfq:tqM;>Iܓo4jM#}Ztݼuv=@KtII^TZɥR~||4=)t^=`BF M!db) 9DuS\4bqPB\rB\"}uD()+ƋJtF@܍v\4v"ѤP-M@9̪DJ\ Z[='^qK ܮ޲k.ܢg%HQqA!\YQ+<3?{Ҽrcz/Nv1Ӑ%C ] { 2wݼm:GMYPϜh7{0sS l"WJs;nA `gU%2bzP[-7f-֨KW< uP*43_  )'k:*32*J<-;>#SЀ̚ӹyXW?tT%/wr-"sMwnC_Њ:қl4VE5feM(VWTeXΤBٸ(ET~WWyuؽ4 Y,B.o٣{olt*[W%eBIPR K3՝]AvGoآ[ц)EE2ez1»5襁BA,9-E&:N]Xp񮧒J[++P0__~'f?rctz;~eutzt$Ӌw!>.Bnjo#inmH6Ӈ@=JHُ5rr2`Wը̜pUJqYDyT$.aWS NQВ@deq"(L +[7!S&uFIQ$aPq J2wkhA@RVھ{[,k=%(x_~K b=Zߑ;#RQZ?jJ0(UeC4zaa|e$?"8RJ1~ m-[cԯ<˦`xI%Ix"fEUeWе>Bu]k;]݄ADPZe! 劜}ҸT,FD&a qQ%+J)%wY`!#+%` `>HpĭAe Rqw`Ds,a5Ă2p dޓ"mmMbeH׽) x3bqX'4J:HO``_>@:Zt=P(Sj[?=#.f7U9 % R+#wMNwqky-tzIj)#@ -xA ]7A]UW))pQl\_ٌjf 3 R@"E|iY ! |% 3ADmT)P+ 8RDҐS 4lMe±Z$$,-0ꪇst{X!r:U9 sװD t*r~X$C,zhLB=U Fou*JwI;gzG#<߷I$d5DjYj\bQfֶ Jμ LڦNFŤ5kEQ^ tgETkTĊdKj{wY;lב7AۗpeP#1` .dr!EPJyꗵԻg=z+M[ljKkټb/u7@oGk@`Y(;Vc-[7.Ѷso1+ž*0dqIg4pN׾ev hy8PB` "C 2VT)V T."3茪DdyIHa:lgjn_8rm9zpSQfQ ̬&i, d08pr 5k CͼX ^gIq{DXv#jfب ,{ ruOߓq9Ys7Z\#'El+r$Mڑ-C[łȸN!+]Wgȉ2 D Y9!T+ rQ,V&S3 ",@1H .\R"7F[e%T6rMf.CVd9Fud 6B%fƥed 6'Px(r$B{`lZ[OggSl#I8})! *)7?G/79BA@8 6=C><bFɒ{ +X7@[#pp~lMCB7n&jUv O䮓l,WT2$e%/˲>224"%D8-?^s~Y,jt%T7:.(]5>z9\GdyeYWfs)(NLTef!JJ^ HT(nVꈒ({+@\2.N)CA4Y=h͂ dbf$#E`@l[&Xk-k;̊ #V3NlP `:<s0>6cU"fл)&:v,5bj$cjBlz.љeyrlt~8܏q|ch)DGOV;t%e M^N#Su[oiz"'91J) Q#c4Em &P r)U.iȠrJU J@XpFTRe.C!.vJ n/J"cNV"#nfBm=DHl'"1I`y95Goi0}͘gsnJᢡaon+tJ {;LVU -2ܔ[)γ;0ѳ'A˼JUUh迣MHֲkwch}~JA(BT\9e2 ;/+Dm#2)(^ q WUb%*yR(d! QBg *{VBRfgnA}$T:I IX[]M2!6Zr8ɯ,qSTQ>=^) uSݳ߿4Ѓ6-ŕ5Ǩ橮s\/1΁a x}R "n>+n,v=>?.A2,USfvvzS8]l3>/~V tykͨI)^E)ѱ=Y~FmQpR.`E9#7+'SNAR8bOLAUvd@՜hID B.VK:-KB1P3# z JQ{`#V"B B軙EV Y3wԚ"[y˔UoܲS0[W5nx0@\ L4yiSe52 HBmD++tAWl{j5+uE5B^껃E%7՗~]R@gmR,B)g{Έ#`EZmR!]J`0@Esb?JU `bB`f$Ln@y򮫿;v}Uu^![#i8 ח׽_yo)HrQڪPLZLɕYfTBȉꭄIمB@WJID(e5#RDB(e]4!L32lN+qQd#0ʐ8* 8b%,)e\nXR>MJK'7E1[lb-=GKu(=wsh4g*@iCd@s؈ t"zQafffLlB_~?-;Ԇvr÷%*ѩxΉ.CkLspq~p|L mTPuԥ-njDJO%G͵MfĄ DR(FR22m%ʁK2&v*GEa@9\ű >fU  Peb ꤃)@ێ,sXZlݛؽQky[e 0`׮j@p\v0!u+fdȇjeऻ$7eU\+Nhj4j:6 P\N\# @7@">}hFʘ8WokPJSɡ-reKK^7tqL+IBb= @#lzRQAC,Ϸ[[ݭZְֻ{el^&#$,+߬ 1M??b¿kWjjVvD CKH!贡uX%itO(n @@e5cS_vx+N>ࠚd>c);%-:EcxBN{?] + Ȓ[KK͎H[Z[ B8wJ [3ۖ-Vc̅j-cӘuO=͟mvmI_vv\ UV? SW϶)Kޕ^x/fzZWXRV&,jG7/,7پpcl~_rMӺJ6YR-ݼ\t~T/p-lhp3\:weg} 0`LBbHB}bω c`t~F-soQUS])ftuVU2[MQMRgJ]YV|4J 5C>ʓ߮KF^f̡{{oVW6@t,:)M:oA&F!R*ڤ:V%|LtϏpkͿnZ0P4FM {R`GxyϦlT~ ?7عN-, ׍S&;HXy_^멣4S.KjrՈY*JҪjXԄ.!UI4MhǔS(;RfQD!b\${M)[Z*WkO@{̍1et:MW+=ExtR7 $a48)Fb): hBRs%f*vFz{^50ڋo&,g/u|I*veUȄZT@Eۙ^YfGd$HT%J)2 Y9V8 (P$7dH\*"c#B&!(TQT x$TG{%|FVrMBBIj+FvZH0 W(40‚^CQ-{7e 6b*Lic"Im^B/,t"ק,6:w;f& (L{jMpy:R?럇 Mm`VpAӨBbEFP˝"#͕VhfrʐOD刏,nb*J&P,$H)bA j.`'(Ո ;0 @\*ǔ.K! HKV2HPՕ\IT {ŎYs\rS`VIygjaƽFk` Q OggSl#I9գu/( .>7AGH.<99^<̱CeW# 6äH;1*^al/92SO{v̲+J?֫qk2HMTq:q*@CS괧bd"F(o?J,CgUګC.54ǐN5NDV*% :"'&Aq#dJ`YK@A$@KI$`"@W1J'm!ZH[pFtqv/~K@VlHVvƀ n(Xl-Kx&3LHՊ:v(EpaBZIv?_\vdU)3V~}uoI6缼y %ּ(bUl`6fˑ5u&Qثl@UIF"Z^936 J^-6 sRFfN:AhS;Uo4Dr22 5jJB$Ta 2DX _H_p2PH{3!` !3 ܄.jy U†2}`Ȯީ9x 7bZ xE qf3 U'l`v= 0J`7TY뷯_}{_ZH|Sz^=ne&4uy{}{GBVG?)xk^[ܲNuMXOˬUYV#G^T *dQJ9 MV"F!ne\bU' XIfX"p"50q$ۡ#SZ>z& ` Y]5&@$G*.aV].qN5֎e%fž/:rS#ffl1qf#l8hnUL'dtɆh=@л;qYəŌLczd2YltBba⊰5VPL8މ#pRD"/~}t =ȇ D%X L@ʸjдv=->HۚE ٻC㬱|F%bSRN%ͪ'nt6>Ƥs_۝RkR1V%/֗6xc.>uM\To~tr #z ;owOдzTEVDu,2˅g^'(yU&G:+ minNr*y8 #3oljPu}KqxticCn's{d>yJhEOTb( ""--s9Q$$DŚ#* 6 0bȌ,FF5D : RH.(ұJP Q.T'DJQ\\KMâD#sS \ \Q9F̕X\1E"ӽ![FsBxNN6P0`7ӓÀJff&@ko^/pPDc2v͡ f7@{BL[f#q)M꺤aﰋ-J=TX TZi+JPܖ3.8YΌL[ .΅9oktXV+R\P0EŤ.I+ !W䆰ŷˈ8^kTKJnR5b/[Cex}IFZ*+EE:Wͣd7X : @ u)zƒbP"v'.6J voyx~=fs|∔k2@7'R<&~CK#$g3S Dg4LÖ={kb[ \Pyj*e $ ŨUjQPlm"e. j{5pJPL N2Kį2nQbmBb5:E-Zz/zM7iKQꨁRG 2a<`7Ͽ!Eİ~ѓpKBj vfj+ӡ8jRfjU|nfg`piB3> {{JIT,?}|&;}B->iFa,m efNZs2Nn %dJqpf%F4 d)e8{&@%UӋsGPsf_fhi/U#*]iJk9Fk+0bLgDؐ\@)aD du2 [7OFh"E 3'#Zt<\"8.kuHBM3rW.Xݭdz1q=4p4[Ps,@p%Ԉ=W/-m'@4̨`#c.| a܈BP53y-o~nfG]% D֋Y%9yW R!"]i33;iؑWGm{`c9Yc7]- >I5*Ȝ2׬鱒X&(wx_2) - !F2vw3ej.sd 1#|;)6,P@!ڱ=BQ33UjE[/+jck|{ži<=G@\ͧK8:i( rq1F!8!CmVdeRQHB]nN! ":Dd2ESFVI)ʋEPLrvSJ"eN»ɕl!uffڜ ER%tMDR(0A3@ ( )h> f6f&26q/Drhj͕ߌMc@|l^lbY|*5LQ 3%k%~9U40w ( `$*S(e_>qCHri tՠte2XVx6SLUQaQbrd$Y\TI2'HIR.3#7P@"2eF$%L]y1c)]h(2s .a.AEґ82T)NIHAKZ!H"t߻cZ7sdf-f0y{l,>;99DLwEO,=HE>I~f[GeB 0ޔRJɿt?v:ӭf6?^cr"e >"Q-+'#teClAjx%b$$UE%#FHJgD82e`3!ʂHՄ@(Enb`H$וED@xS92ʕP'$@MT˥bdDq' ap2\vBv BRb7`0",Dϣ}h̲nza$@OggS@ m#I:((!3FF0497=7;<;F>@::DGJ;7e I{Avkd1}*1Z`)ʿmA#i  zROT({ٿs/7Ncްu~ԭtq E HQD(f/&R(ꚖBDk\ B6:blr#)]@Fn)'&JdE帤TIpBaArq$)],$a9*4:|A@ 9%@f"M&|=ٝd@b6__ ,gffݽ]&)M"J YM͌fdfː( RQSR qI1DR"HY#DCO,Á s/Iq.bIh )R2ŚBM!Y7!\E1Wp$R]"+g.>zi[^(x5޵.ǭf;v9[c lS &)D\̥3,HpOs}88;D$fF"9 un]:G9{6a\׏]K,vcI:52 k 9:"pE-_H ŹJ)P,D) Pd6S1DD * ҙtK A g'eE#'22QUTn"#;$,T]v"2D\$Y"W4br}:)078F=,`-^6&k;swܜoO9u!P*TRä4hQ` r$y {KΕa~yCY{sr2no[ L+$t Ņt)gWNNմX&ėF25q}tVM˭ 5{-iȽ9zDu h32Ri9@'{ 3o׫_5ɔ՘[X.?|ovs}KY7 m\ͫ4ܿyͻ2k y *kG9Gكb{ѩSq#Ɏ F\ 7T4#::ȜQBQ 3&BQ1BB**CD"-D" Rd8|@| lbz8EABQSQE&*){e`Eՠoz^8 2:J4qѹK!00dZKgQL&SiìX^VCK eyg)(m5}bزkKQKq-0ᄆº)$̔  S{F'Wʩv]4HȨ4;*.ۛ2{J#"/sODZ;[Trmr3S@%Ϥԩ|& c"mg$*j1ˠs.Ά3-<13/y<+,$@V`s;G+d رQ p L 19zn.n@ZvK˛n޾C=fe1j%$QI*`Qc _ 8W[f9" !zYMqwh*Y"렓6(C KH?,w¸3*"e)ue5.0/fԟ4cO욘ҳk|s !lw:9Mgar{Rd[1(>ߋqqy^7/`|1V.nmr0vcw.ɌSX*ú 91Rw1z 1( o[0$?apG yTr]k7?{vdYg AeVOUˆE$K/ DrC)Mª'k龗]䱊]@vm:}R(u)J9(_[w{7U۶?{oC .S{0 =Wb%L 8{ˢJ=~ٽlͿ-v e!q. H lƱ#@!te5^r$A^.۰<tBV=[D\ !E @Detj(v2fi_xӖpDD`0r{SdZr53bulf{ۨ eۦB s%Uu d;\kfI(@2nNE.(Tdh jzͻUzcu"D1i FQ;45 v7&Dm#*̨RUh+N'G ԉ_k7uvjM¿Fmu^H>stɜ6W)\]EA^"d*M,R.q}& 9Y*dJ(A^)3JA"CB9>D":701R .Fu" WތBy2*EП@B"q!O]8La8NjNcɣZc:x4v#1\&#hc猋hkr 4:(x[’c _Ƨ/(^przeIPVߟ;ix?+gUg+±qk6tt,=`Lh'_s S4B;|jLY)"PrT7##E8E"#1 Ad)!22KY(FQ t(#NNl& b3v-o(P"UpIN$lj$Od(0a"`sZ V6Mjh‚ڽ = ]܅Z/ 0e]S )OggS@Lm#I;6F)>:;;:DAK6BBD(767:8;B>Q36:3?>=C/kNoX T+sl}PN'oE!q#BGR3Y<φ#]$h{J1l ?& ݘT[b+ MBcg;b 2aʐ.)*H2C(N+%1oڅ&AJI!㼱6kvKKg3yuRJTj%[@@U b{DLj|u^,%4݌fDr dBc D %fϮDThŖ1zv7{Kco?tjzZ/bzUT# ~^w#2nw5wcϻɚJ7(ƗDosbU{VonJ٧[ ol[moQl{Z5$$O{ e89j3!]q' v'5L~BS.{ؗdw?,Oqs*I#~OujGyd w(Y\Ol_o7W}:C1*>?( keP_V;YMwwк з7]g;:wu]3;Oz?es.!%:6Íp}2+ݮۢofW6yLUGݗW$kF7xҽleT5S2mb 2$ײιd{K}.R~1Ys^LUa-)gʸ+4r^9wxk7dRSJYh["eΞe%Uv#{-BMKY-o {x0OegjUJ榮7>X=.bf.ZkΜ!!OQ|ghz =A\?ί48??F(Bou6o(fKNIUqzz7~h maݮ70w>#2^|s]/^1vw\p!ֶN eOE) @kh,暚1!m/ȶl۪c i,\iO|{=_Tǣb mkszN.1wWiӛt{>d8_̼'[gO]cyz_Լv7om[@]zac2=jF;jzwZuy6FwBO}G䡞-Q.;Um al0@g(ي nSCۈu:p@ld"k$lU_u'MB8Z, !jJ%lmキm{بfruTJHE*l]Â" s XQ Y.ܸ\~[=%Zl2KiH Vve"E@lFͳF>b;5J];L>h [ Jx$ޮܒCu '+!O} PԈL~w|*I.yVç ])]^SX*-mZ줗w99˺_Ve0-v f,jwVkI1)Қ5cfyk/ ;mR@Hw;5?wyzo)&ԗ)q_DA > ]ӷ}7H6JS)mŹbF"B$3])ގ,OY鍐(rS`D$Z5#L n"șMHq UUd 3R* +nE2՘{M !dҢfhcӳdjn3qs:~,3 񰏝,o1jCJ{:I A)RJoeO$U*\WDGDҞrں<#HpqYMNRvdޙ,DR +QQ͊J5Hqhlb!.Ɠ R AW@@A&D>+cCx ?+2NU$Ѭ .q/% j{a'MLf%7=MЄ0``ƒ0Zۮ(14! cak 7i06IJrZςT@U+Ա@Wyo\YP IfL)y,oVrWswQ{tu6yis#ߧ*M>/Tuǧ 1@⺙9wR&JwBjf9 )$nUiSfDBd*B bfR]$&DBTSfqȍ˜T\9q2#I{׫tf&<6)$OIR(DMx+IT%d&qS@@5ɨ%(L;Oc${Z BͬFOYm#/m&`Gn4E ɛ)BW% /XVEAYqH qiixl J\/FKDE8O 3w,|j,ڢ@lwV' D2L2Q*T bB@Mձd{o%=tO=D";_2#40j fVMٌ{%UFvWq6[+p5`ZEsuE҈{DBn<[iIRH!QC$+!yQHB2t,FʨfT##2R "-(l`]QMHNʊmsG !6٤ W{9tnF*cP\aݖjVsQ=cc2aӷ37YWlBzq@L^mU> fA @`=I/$3%cSZ/{H1ya6>wu7c.9B9D@9%PfZ͞2]bn@mzjÀ)x~톃U>sZS]DbIx$ $e&/˲=3}ӣtmYrNi9d{$9Ԡ}!%zqGyMT{OpQ0DMU.(˼!c p50|=h# d(hES $hDdƩ*]$ t[A ` ʠx o { , 0Pv0hy4ؖU[zʹʌle!a6Ss) (~{mJAUexTkH+%7MH;^]G%e S2pчXz73aZϹGo@%޸#FF]؋GTHEQ 2YV22bB"j:"%8N1[}pYQD1q 1PJT >ĥ*WՅTBv@Rh܁z!0h^sĀlC\I2!`k_n݌q#< .KYuOdtz[@Z)WMp7L%GUh?ݓD龛zJϬBKPݴ%1cO95@$ҲJbpNuVJ<"Cq?"TT!2' AdAFdt% D)!X@ !DA:bAZQ!mr%QzHl@ !r91b! մUu5W!/ k@{so[l L3F&:GS`ZV wc:B ET&lݻ6' +5+P8{gZESW H=nӘ,M1H *  'lNvɫŻ2^ TdU\ Aw-xBI)KAuD4@Q^0-d%D(vN^:M Vjt".8mIQ9TbDl@vf,dL"pC@dP )̱JIGhgqq7]j}uXmsww`N=Av|kIC=@/Gw/33{7ZY͐y=l{#T{F\GX7\IxGIr.0Iea!QpF6nhowG3nk/hJ_*] G%Oжv(qvkg`(!XHf$L9@&9vl]2űrwk;X;np|䜖tjn8k=ʨD#|Ra䕅 BWlS " #[%g%q"Y )HP\DEʜX2yq`2:b q H;تD qAw=x'+ۈ;ʕ̉T,VkLjLRGz3}'̘-ÒCR TBzBoI*"$"4Z۵48@ Sʔ'm}18X,y<&#Ng9d1ަd}pD?2U@l i`Ck)x͡ s"7XJqɕҞh.w )CBv+QjoqSJʼn`%c= !NdTQ h$EJPJO¥G HXH^^`Aᕀh  9==1p@wkMeϨnc@qNB;L\V5ʁDhd$GV< fT"p[Ri"ױ2z7md,LRc"^<+{xyEV9&Ѳ3r|Tńr*W}D^OZ{; ( V겺U-(\NMS` G|7-vXd?E*j]=wdX(S?zM^ڌ֘;p04 hO!Xt-(vr*Y]mUܥn6fUkTh /+Sbr7%}.EWs@4ꋜPH!Q<9Z-P >Q}2ێz_nmxRͶ3ԧtB@吹P$6 W qoJmTJJ;t5}'f%=lqkҩSVR_veZ%<wu޹WYb\N#o~`wjM7 k?CO:̄}.NM0pǑ|χUyI y./^Axb-4I)<HX(`f*?P:-m4Gt^7(Mv@3W@7Sq*<@@ T DG! `Hn)<<7k0' c~ :Bg߻ w^&:sYf[R(Ŋ}_k֙<۽;n ؖOOk{mC6h+zKmOp9̝S e\R 6X[NC"eר$!Ok!? f)VaSpHR]̱OmY7#oF̗D`:9l~^ޛxdhWj9uK kj:Z3y㎙}nzzpG*#ڔȹm5 s $" K.}`)-o$@K7{ѝD%" 7f[~oh "K6$=*gj ʷpy/NԌhI {V9{o[U]Uܮ^"O*qV!E4Ϸ2A 8=WT[.J=v[޺jn7 Ze_bk]T~i@4P$8>)zٮyf^٘ 65{㜲{M<[4Onct;lJ]帬l^"C_YzE=Sv,̈b1HWxRIdHwO20JTM̌BItE)BYYenRg 'Tf)Th""ǡWR%:qAJ*J /p.ck+dZ?*c+&?l@)~Lʲ"@s>1W AiK)Ш5"P:'@Ul\jlB+{Bږ&IkA;bNC=ާ/4zϭU^s|2 C64ZMCTF h)Lʗlb((F 7i\N\ȐR $!`E$-a*@dlAIN9X)$F8,dd{_d2 K^6c7'q.M!C˸in$(kpzZh7 c0ͻܛܼ7kHIp0\K:^ pfP M`g1({"$+k Yzoތ2J6O]{u;XCpo3;A_LSaPoQ^{+GaCr) q-/̦.2Pj\Dj"69I{w RiړeH+ܒhC9:&Wu 3'd{T 3-Qȁ+fN$4Nm9u7NΝٺ[cTٌ:feMl^)6ԭS Htz )}c~%cch@XXHMafJw~_i6Ojfus۬|!i uvHSf^dh>}JM)μX6Nힻ Ru؋+sу کPQ$m.Y2"L !.2Ad6*"E=!K@aMY$l R"| Q^ḕ`DUm18TYաiUL;%+ZweL]B9 \th6C49,,T0 M (:wzver{r4#HtuP-8mULh[픋lriKrBfvٲfZ06p#|V,H!tz |ADM||<^}ɩĥrofN{tlFN4d6 ʺ6pU^[y$MZ^Oqe)Ub%3Dv{Kx5q官6ڽ ;p,ơ-(Ibz<~7};6OϟKʫ?޵B- w1ZeEha FF֦Vv@C2,eБ 'ID*`b")V"rBc űYb!YDnJјB&:HX -f&S\$-Xp a)Gq pdxD+nي~›o{!(ön4ӊ&2(A+8@5@xD9K?6Ӟ#BvZY  CP$=hGE^&HhTJ2cbcqemq̭ =ȋ$I]%,J#cmGʐ^D!sM-nqiW5/tD%xܖ;(/`\ۋ'ZIMP,M@fhkf6Ğ<l4K"(#57fM @{ߞ[t=T+BNEQTEUr&_3L5hXDk@V܊z>zvRjڻzP N-o/pz.- )4rsDT_-8^Y}]۵&|#*Y!ȊsAj_^')DQ+-~|b1Yb\̲ͮ:2~|?dⴒ4Ry݂ ZsDCnyS*IQ\ݣW>бf7JCJ22m(t$nGgmD@,'9IwO-(ޣ'gjknQ Z}Ě]Td_Da"=ǟX7% ^`bt@1J)([0'ytJS~7Vj~W{ckQ^ݕoJ{&c̠R9 @L'Y eݯR$Io\cExũe!#rD#cDVr%a4Q!6)\ؒ+FRbX)fLj\ɽHJYrN#<5!x%pm\CO1ۺat>9 != V$ p [WGjMn^:) % Xa T)VbvNm֫]&;9tg9p _Cu5@qY+JR~4'Y,TdH -)DI9d-d Z{[T*F1%o=nS0ʫG[ʁMrd5~J#73o\:]IEzLed5-/1tS+-LDkbRɘ*Jڌfltċ xlEQPK[4dF#y9ʼnv&ҩcdV[8ݜ\$8Gla˜z?z(:c櫞$d7:. +Nio5A͙bzhY&'!&&.;@@FO:9@B75BFGM8D>978f[ ѮـbwhV./3N>{`1M8 0E\Uj6:"PP$2Ve[pMe6WjcߓM}`DƢZj[ECWy&-L^"/FDJE$Qt:}$oI[-J8ARnd"EȈL##Bv+*n"(2 '^gnbV.V#R)MBJFJ"`" D{+dB+X 2d X̐␂̸Dv &c"*TPqfӐdh$4"%Ƃ>+MO䃄\k?d4 a/z0Lݥk?wӨk2>zTk6CX+ňДaQ;F6cmS$I6Oz3 F ԛJ)S?̘OAo/9xɤƩMmIr*~_erwq/DǢ+4L+>wxKZ\{{)3dN9b!{dK6"f;3"( pSQtD2 xLB^!WȨFtH"ll r/;KE&:+8Zz.tG]HXM6QݐM@ʛgZ3bg1;>XZk-Kw^hs-ٻ/`p a'ltQd"t9 pyԆ`u~ǻhe*3*y5HōYjUmlŨ&k^AGݞ7X빭~[u(%dԘUn@0|)9 n\ @, z]ԋL^()U [kx1 r!G j fc]m*.;iJFN=U޽^S[9OggS@n#I?7Xv'<@CI:NED29<;;>D@DE::<;C>CC5(T>,L8[FVՌMcO7#Lž\޺2 nlz/T.iVhSZ:`&>_T4 )֪HWξ]-[nnn¦y&LJm4Ey?(Xt$&>m1+)U&^iy*m+yefm- um`RRnBU_[IM=֏9׏3~l\jTX \|ŧ_glqt}e;N]gWs7ܺEMp+/G ɼfLY b&qy%rn=I(3G> "V \1^QTWq5jߏXqs(WӾWv~,G7=zDoݜ$EE@{ Ymq,LCg(6_N뛰Y ! ;7G7ߧj^$۶9:^uȒ azB77B],y]o׳v9wMu^Ncgԭ['SyzMkebYiwt8ke4h9X߭wwGg:eErd2KNdޭrdr=db.^Y|$U }1(5srV]NwɦN'n#"b}93ѡM @w$wl#M Pml\ ILLFc1mU5(Go_o{S#W|L(` @E O9M3 ,gc*Z>`' wdX0N&)usp4mOa~C$>tg2[Lf\ո-.٣YTV)C'm Y.da -!jGE&CLX^2RRrQd}A"EWL&NFYrd欑 wBN &lw;xb8)G #Дݒa(ճTh5ݕ96[&l ێ`srC F:UK j@xΛ #KWR̒.w )qcYi,;8n4O\>Y~,w%_ .)495Mϔ/t]EEDm9mKb-YOۗQ%[D\y9)0Xc޲Yʕy0|ʩF:"͘T 7ycQvZ^ R)\&ifL_%5ٸPL"PMQ) 3߆x"3op~ptOlVrO(W& զSYAtLИt''oN0[R3#k[f$22C{OoϷ“󾞻mTkSlc@dd(/@sup_%hL=3)bTڬus{yZ7M^7YVsM-odLGHU`Xn@dC^Q2y`ooˠmZ;%|`N6颕,+l"8>E u,H][+:aaRSإs՜(kyPO_mb:̰18v+F'2ӸRCɖv$iS?~q"7%9dFTUVW,[:Ԋ^.ݼmp߿|4Lq2>2@m(M!2ZZit.@sw:3<]A5p$yRQj.4m-Ie )4`MASY((#:Nqm HԗFl\\D IJuDP'dzBZs" _Ж,B͟–'7r-m3[rV ৾Kb/GT-Rgf6lW R\; ?qlH(ScV*e8]$C?IR In};9{l-P) ^:hG5C{QaM!'2lNvӸl'qDAArm H 7啥" B(ddd!;wΧTr%*ʉ [p2rUdҦ UJ "12+^Xtu 8* Ur0= P Tk;YF0kҍ3QV#@Rf|gP5E`I6'4O^I23SA_~V$gv qn߉M)6u "?l;Dex(d_lUTRiӊIk{f ȎRbh,i94(¾z)4Q6ROWIJQ.T:$A CWJ>]!&ڻ*K]BC^GttQemIiBLFΛ| e'x{H1Y`ڷidb5Qj9ͩ-kVvE&tNip,VP{F@4k% 7̍ΫD{(׸ٵ7LtJX0bY`~b2=|"qΌ8qf&\\N#ìaF_>Jybb1Uul=tқ-X+\4X Z$Ca2{}]\zXf13"Ii oϪߪ2U;Z8m\WF`!:QeLql_uJESa"$cԞJlQWe콷t{o{l|2]#.lE[ Xyě2MsA>r\0IFT|]{I^+^ gUDcY ؇#D @@"Poq_#7 ͌ k'<[ƞIjӾW\1FNSSӶ ?H%UFFL ( TTPTTFAbHEF5(TBU0%22)V(% Ke&r RJM^VʑT@ A1Yil&BdNsC;R+"f,dnWI/eaAề9q6Im7b, +f,NPH3n9#T99bPX=@Y~ &E BYiB #K?t"koI$gT{o ٻ;C*q~V?Ǟ&C߫SRQ#OԺ(" Vre!11SRlYʍb *qe b$HHbQQA)BRH}47,e!Di@P7G ¨Du#/abf @g&@qC$Qǰ(!W5ť8D3$IwflV/hmhLhgM#2mni7;DB9 7zuP`[=I뵐I[ 0ɸ;=7z A~ͶB LYf6\Q_Bg>=Tb*lxGJ1Z{W"PpW^:NܾuҪ{ JAO.VIPOQ(FrRzB j n&VPe; *mp]D늟{ P! h! *WyUL̺gN[$&If&3` uk0H8"ՂU,@1,T_{iOr77JU̾X=gA{NLVUÿK\2E긿@ö5e-tTAٗvY*GQ.'-GĆ8JeLO(t()%d)#"D(I2)E r㽥I'QB DQ d& k!04k EBئռMfͶ ~@DI ]/A6I^DW>G?l 7\𬔪1 ϡ]|OΔ5xڎ緷RhuA_C5ohB$,8):r< QѕPpT 2KNgG}QRKؙhCNmLr7INl5jٽh=?wZH MFNak|:ѩ59[207_ Y>3 eXXfW@.jplΌf_XB&{dq;{%*Mt%M̅&Yp -XU Pl'4y~:_w2\m8/.Ve>} Tԫl4 ~z0 .`"g&̼gRU]_3տ01Z{C0`kv9t_Yӗ6o^̻gԲJ7~i7Yǭun;s amnܺ7gp8{s6gi&Up@r Gi,"1wdz?fRڼmi溺uF tsSiFp*eǔ 9/%G#Rm{m{m{mcٶlڸjNݱSC @>M*d6YEe!2Ս`͛禱ƛ̦mvZ"K0"d@E$ȯ5>o>jz9pA])SfBZ_kө /ߤO9V?~2krf0$ LD@vkFn_Y `UIv!N*Y2#R!RH%B k"$<! 3Q,蜈 "PH.fu1fe&,\1n"l9CHd*O@ Չivs):Vh {d`]Z zlJ V bfsC  ޫXK3H5*0@^6>AO/]&sͼCzYQtf4?L|2{oetq{U(XoQ^ !zl%D"E OK4 s".^fJ)SbF2ŊD tdU7* HbDX{7H䨠P܉ 1x"=ddIp 0+AA+$RL`{I7Іff 2%:\ƽպ){򎡪Z,r@ ) <rBf$$7 ,|fjjLIBl;y_IΜR~{=Hz?4ӽA/?)F_s{:5Z0VY\2܊j*B 2+$ l "r " )=X-!6.(*DuB#YX@J= 1Y Y9itEA^,+d\Q($g@Nٳg`j ;b 7lo} l7>=6 pJCyKaaT Qf2!9wS^/-.o9[q:{8r9mI<dP*{~*fћRiFdZoT,0 daBff ( (zoTT-TRM< 7+]\BI^h] `A,lvR=$$cl- `e,obۤ]K o]OggS{n#IAGa(#897BG1::<:<<9BBH+:87ABDE6!w@fV^00~LStV&8f E?=9~QDd\SʪT[Z!lͭ~$fOTI%B(i1[aJwc#9W)Ni#6 T%%ai 5SDpm*Hb5Od5sE, +"ZJ2HG@'e.& 6@Z$]āAh^xk`-xKaB')K)'J'g`98LgmlK2z-b1$b3 jz*n ܸp6j4c0 `&[w@s8E cKR_Xo7eG){DFe0R>6%{V82!Ly&`SfIŁGuAAɶ2lbbqQ-M%[JYF@> cJD$R^]2jts8EJq[8SH$GRxPnrAQ:^,n\ERìГB/!PMy*FH>;1b&8fЍ0L2w+= ߟ5ɛugvس 38L1v)KсȢ]"n")c~jěR2TEewV;7Fh'D\I a+#/N-==BB l`yf$z|ʰ+KI _*$A^C(Tb@ {ٶm\t3$>*lHt*ŧN55@'*(E!ZƦ" k^0hˎ1lq;a][@4^]En͒6=M>ۦV` ccLhsO[߉+G'=Μg۸,aOgcuvV zsY(llFFB, , @BnJ(r{rYZɌbŐ":K\"Ȝ(n#%\Fq#'ė iXR .]p`AFCbA?;R5]I+%R(P@7dn㵀O`$þ0!(Uoћy(ĊŽ =.LDeVt-~J$d#A65\=ݽL"P5^>\FX/7QZJ Jsa'C9t7j n+Ek@'t \;No4 s̩ffK睭̿X X YQFֶD ɐC<~f敳RCI1|.3==朝JË*VM" Yj- ൮[Dyo\ƙTAqTbW(ބWmQF -Q &c"W [ͼJm c 7KΌly" IzdzOZ֜:Ey؈,nkQ+5,^zmI'ǚՃn7؊Ef'LR(bqD!reﭪ q{뭮ZutpT(Y6DVbЃ<˞aX&=؛4PR*,y74~LteR-A,g |ҡnZGU6j1n% q[۪BuRhof{w*,nz u"F4K"=yʔ;){VFmj[+OC4Iv du[No$c:.ipBSе0@PL(1$A+PK ;"I@9Wr(%P2w. ! ʼnh42.DrF":S2dT }2`0tV:0-%f~/z' ^af]̊ZMlB `]H Ri$/. f<ӂ}q1Ԍɿ?qYO)Ƣ>'GՉ󱬋&si0eDѣ"Q[WdF7 3c<fȋ"CN̅wM!T#:BdL9dEJ(cAy3#Na BR& dg#Y bC À .2RT.E2u-+ K5E. =mEZK,f1(ٓq' #^q: C%T^&㑞"^,?^rcPxfԘRo8ҞŞ_@K[΋qfe'$M]_UMqjn oQܴh>huUbnKlƕE|ERw// N>(DJp)l i )IL2V>xZSi, ADE%SX/=K ADlYaI\n+K#jp8i^8X`z]9޽XX07s^mlKZnnfCSm!cDه 14:cI$UO CbO-)ݒŢDzjs l-tOJ3?8&r<" F]aHqdHY\(*=Җ"T6(xhse]Yl$ȭqvzT51%*K\2r,2r#+a-exٽ{o^aݰ4dθ+-Te@sz~$! _O`L}"GBH޶uUuWsv7L6_JM >^ "+@ {pGT衹@Jmt]kW3^Smkߛ z]epyrHP=uKҢތ2S33#P ['pV~{2%~ٳ2X?NoWwZK()DH3; LkF :-RH Cؐ]-]Ɍ$y(7f+$ L&. G)yz\XI$3G"DHQŢ[>%DW+frEel){R0[(ur(RuRgRѕ#Ȝ)],CYND#^ &@60)8*@l//d>&^ ~v I>CIZK~ƃk2D)c^<='2q,Vr,٘;0;MKUhhSBTIfTJ5 U}haD6kNH!*^A.FAfV$'q22b*xO9<@F/Fdd+$YйHHq {RtDRƕVD2u!Up){RX<@|vg.)ﴯAr9Q [ΖqƹUp%>kٹSw΀9 %o؟ݥZ4FHw̌D)UM1߿z]p ,$ ƥ[ޫEՙ1)^҂d1e(b%WU$HRUjBx7S TDf (HiqA(T)D. FUd$rIڬTEmK@lMCe ܉8t7MX +hK$ĕiz=;x_SCRe]. 6k`>g*l~y,#}Tw}Ydɳ`fJՌI䭗L)C|44o87f6VGlm]XQz\L)#Di'"+ JRd XAsU*\D5E& " ]zŐB{5ˑ)E '+5}2qn:lR&RSKSq(0[0RтAB A>9B?D58;9:7>AA88AEDF9:X @dx13( O 퍛H)j ߐbN@ 2y/tM\)f$fSeJ^w3cؿ\4>;y==ޥ>܌c4ZNNngID,DŽjD]2Bu(D 'P$#GA) BBbSH"b%'a@H1f﴿%xY8Lִ@-i &_IX_ME:A%b;~s״^>, AVRP;"Ju5tWFFvSӖ2olJ$J8\Q`t R՟$Z]t6 Q#NT%m,H=UFX(5ˎ \`$:kW jE8VPVcw*kyXS JCQB2RJP,/ZX$GQ!nȴuXWocn޴(V B"AXkCt^U]T&ݵE8nOf  "#M bd9 ~ ?4 TP!է1CBɔSm6iY3g77K-mQ waNJt8u' p6×X|Ѧ[]ь]E|ݡ/=^VӼ7{DQ@W2wbO E+]3}>T\3g5Ϧ^ מG8.G\KYc7>NSzݹ9w?U;=+SvR.vXd WiDE)i;cBLI dfdBb@t!2DIU!Dь ȑ! %%/)s$ARu#,( E!BXόZL lg@FVm$, *!Z0z-T&Ssuփ `L7gyMn9@ohuD ; E ཪ|ٸ6+@x:L)+\~{'z_pwP]d>q:xӃ9Y˾^.8.ޘmΫY\J-#2rd\)[zF\4\LAcJ7&2Ypr%[,D{9"h(P`(Hz2;sS3&-&pCp9&`J#`6ҔE\(At}\*3d!w#&4.s7hK+}/f`ϟqsbY 0$pAW$+/)>g }H#Rg\r˨nn5 FXA.,TÈ5*J<-NeNlL]x/ud 2%Ax `X_IPccD@KA07&5 E_ $5ƼaS h1 Bʧ0B2C*h663H5!D Z n=QS,fMlWNroAz#Zv$FbY-[p%ow%ΔvPos޻eOiN\_ BCX7yTޫVR/y)յ'p+Ty [ȳڷ$%̞P],(HM w,ڲ,=M?ծmW?ݘDx.+\ 87'q@"uuݼ5VCr鹭meoZn$/34 k%bD\"QQTqu6X_koUm1r? }6D"y[}i^^V(oIf,ٿp˯u#_m(Qz}Xιkig9ٟ ټz0,-hW17!}(w` QH8wf *QTxc @x]A(n̪Wdt]x7lݲ4bâ2doEY+! N#HIB $λbVUSlmJ4[d?pTT xyf#pq'G3KKT?ΗYjS6mSm۪)k5sս4$0 qTܼt#wn`KTwo߶rd{Ebē)A[v0͟B`6u>k'QyQUh9bľob2Ӓ F',TZe\H[Jfrωl57kr=e_S&4ȱ?rt 1fUo"/wyOnl~1,XҦGOmS_&ϵI#T$ bmsM隣w~}Ͷ6l4Sᗾ"TvvDð$fJlQtoVZg dA͑5˅4|( YJ(znRL\:.KX@cV@-ŝ)F6ԟ5u^T, \!ϊeiOoE15.V_QbQ,l-knK5/^{.9^,2qKJ9:8R.=^Y?__jo&S͵9U&թ۩bTPKb XDNɥ;a@oT#>ivQE)."""P][LMovW\D u7bϋK$ _?0 _tai\Q3D) {mn6OJ6ulZ` :x GB@)5( EƺTDK&1OM)`,k&tG=,[`~G6I:KD\31Z"f3o>J[.%+N7VYFբj"`wa2B#BF:PSP@D:"", #uX@RDB$ >=$)*K2EL`|A4$Q].d[73zTC戴RqΒ+kØQ c01gK038Gq1h~`-S`Nطtl^RO9*.8ZUx[T*Y u<|ߟfz%w//L"gӗ޸ G^&ۊyMcVT퓤xVbJ1\JSKYb).UBe8DfqjL nbKPDBFqOPؕBx  QD VI{,"T’q)+2Cg,FBq,n !7'Al*`Iqw[ {/lCd4{sa`2OggS@n#IC" F):6::B@* 9??A)79@<3 y1DR;J ?Wu7d@.USj.dOm9 xzYce֝ 9 '|{;d|FB6BIV:fظV/ bV;AU& .Ⱦxcj@vqWMW i )f fu}\Hb}F 1(\_r)Q^#mSxE)BmuWnN9|?\2o+?M|#c!QBX|s[pEUUPSUg\ W>묟ӻlr[MKo$fif@V5ɀE$됞ΊcQHLhY7U݌x#QVt|V~=|D{UlFgZӽGFO܅Uy(馢!zQYs_'Z/|빓 K3ιm׎W:}hito=qR悺Sku]z#sKқL:bjx]K΍Vp 0sf U ;qub @8@V&eၶRj6>ݩ/7)effk[>rly~k6 eË_񞕑oSoǸ,/׫u]N XϼP(}S^ylqf޸tzx3ޯ_?dtN}^?+DMl]۹ǝޖ,޳m720ZRӹ]bm]zf~kXUo6 v\9쀭z,/7RUvԚj,hhy^$cne$c@蝎 1S8\80< :zVYJbwEIJYV۪5sm=Fn(L:'Ԗ)iM@g+| RDUɣnDqQDĥo5wmu2o{Ϊ[MlJAр\X(KA+@?l?UaD Z,@F]ǦaBBYD.wg2]~w1KUbKJ[ٕ 2DY(gkF3olL)LZ\X(AēX:V*)n뵝brig H[:A% = BJqV|bi)G4Ij)PYȂ':3r6HDBP(eX9&!zJGQd} =gEU ,b&T\0}~J6 K14.PB\M G ׽ x hwFMwPh4vzm4Tb e..I!AJ#e(CCR&2 –thlj)rroQ P N3VC@)Tv?\(9nczivT۞^3L(Bbք;,. wj K>Qj*yRd1tR]$Z[}71 E7;@cG =cH%椟ˎ&UC4,h5gַّW3ftސCWhFGuI(Y|<7ҌHZa ϙ36=Mdt>GMD"7$~F|z d DL=TUj%;@lЛ[Zݴ+.oi ԅ (4c'u?@cq QbDYȵѓ{mZI֖Z[vEshL zX5M`Clܴ=RJb U=o /b϶kklVnzl!ܫI^rhI*[BwJYUT"oD3m9qջ/sSJw!ם0&?3"J嘸ȞVεL*fCYAnz鮑I" m6a$@HB`ݲ.bhȲtňHmU@$ZB =[o* Ox"'L؄J)M"lX) ҕY @Unp!Ck' -֯ֈ0Am `m8as((~=naj}̈́CZRIrvJLqj*mb15f2K**JMKɛƎ v{O?YUT弬$ɨЭT-a3dKG!37P$d "sYT yu코rePNڊ"%8@` ,U#2NJ/L+g &Ie6"{e f- HH/l`m}KW$وUKz0Mr0P׫^fP(iv_ w*{V+W4N۱qU*m)exrCŒdf)߿ pF㬆iZ:e|?Ź7J ش7M|Sxj|*=Q>vyz#*}-yWjIOGȤ 2(X-H@"Ơ#o!\U骹KJJT$Ƶ̌ qp2' - :L$.R@`|U'6gH FRR[HYjT_GjЦYz]qOdTde{-iKd)7bdd $l0Gh Ȭ\Ha2(")Deԍ ! Hj$a2ݙHdΈr+'Y nMAw&d֓ ItuSr;6,,scXP q OggS@ o#IDٔ&/%"58;=<9>HE+.:?>DD@4F=B2!UpisAzsi0~+9I$dW"`1deY?^hO{pvjG'M3dA62d{t/\ՈJ(vl4\,X7eZ#@r$)(yJ b[YB1xE Yq!NDTetDN#̽i7-9J*RveIqDD>+o$c#} nȊ@3$<@€9˷l' bw; RB٘qIۣ" a ~LV.VJOZˌ9 ˺ Nɠk޼wDz^99-/-ZIyvߘx0,hKw\[\ɍU {TKQ lmF%$MIMgꚠ̒-22Ǖ]QðZJ:u\KՍbdM#ኅ8"Hf*H+`]'8n4l 4 *I5evchf~7#! mMZifk1Yș޾}'fjs0(ʫԩ/X4ʬ(@U{}k((3捬UʬB}bEFO܃im2~;7oo%mڵu{2LDQ>" a;7-Q:6[1Uұ E*~d`3srS@ X@rqNBJP%dilp$"`"-$@؋4(\Q]Aɑ$@+ [Rf bS38 G7y=Jdl8v c1J:0&K3@ (@ވ+u)2 T. G h>#.E6sޖ5hegs#a L24 VB:@Ďt',zӉ)cAe˻7) Y;rM\*],5)'Y"%HI6ILKoV;"(ʑ#/Pd8٢x 'uI$1tǣwB_FDVrƘ#f%> "\*imT!IE' oڽO윸f-e[&=t:xrg!QYP 79'M2*ئD W2m16m6T|°Q'(C"+b** +xLΤ _*\7>a+F6y.{MzT4D]yU#n*R%8m%lDD$Z5;1$R/ZtNd2{ oGã"QSJr  AZ%r]dA@BgD$$4C/:G dR>P2d3 jplP \ ͝#gV#yզǺr*zC Oe٘Yy3V$$/+4ӎx<< .V:dv9JkGZH {oA*5*GioZ݁&Zqͬ 6)6pD3*.UFddd\. x&Btq <EW+ $ xC~ UDyņBgd܌J x#&;ok) A9J2 dFNd?$4z{-yE5B1X{\x .D .[P@9LMJBudT)deAۜ{(S Lu 8p-HL:V5V sFKixjձ_'+eL[넱F8.coGV'v== `ϖӦ ;#Ws(Tj7ֻiؽh7nX ^|eyJߠUJkwH|<>]ڱumXFxW[W5 <܈p2g J"yl~6`@@9j,O8~ҟ&>-&/k<,~n''R4E#vL(]#ltD9 EZUvCTb1E\Q!2EEE2&IT&$nȠP2bFI}e8Q^X4dʬTɉ˭,S)]" MiKt[WCFW˳!E Wd*~P TXHa]17}̂u}&W2\kH,+^;(z=1~!06!lxSuL zϕn&?:-T=O+vt):N"5rwsQ [=dj(y ^"CbHbTɖpD2E%ľd"e̕b(PP1GI Ep}Hͅ 6JI 06(GF гE0X LR#6aLDNdTˑo7Z6i𲦵D2 a$@x0>]$t.8biTκ@I:^, UkUʔ^+TLnU8{s&$j˷_Jny"ù 2Ł؉#_ $p*!عe(!2 2Q"4|4EJLŕ#`EV+ ,ٕD`a2Ui#1Ayq.R<D.R o>].JO+TI"3kQݛ 5kbkOggS;:>;6@IB:!7:8B@BA3䞙=^0f܇ 6=@7K7ɵW:FPjZ;Giqg؀q(e2,WtN9g CcGO,5e\+`ρcXݛwMu =wف?J`t7%M'Q 22+TP 6PHaAZHD$ZiՍ H1&l.e\&@"yAU, xSQ Sq7U$ů[3v+fck ZA`a 6;LiT#!f3ha,zCJVo4 S0Ml`3OUe~EL3KES5۾n&KQ>vg nMCi)DDؘ<קZ]@!{-nnwjH7DDTZj5=[QJ!BT/Q]&`PTbW41>dp&ݨFR܈%}"yM"JM,`&24aQ  Jƻrܮw7m=ޡ]I5f3 gCȞ^w#1^bf4s 4G"=o$>`3S03%=wib'ٶjuyg߇r]8!ӹ×V|@8?} wwq|&GwNʭJ]?396*9>HQT)BTeTpQ<\"ʄAHTd !d!P"MU@EA  7IFT<͍ RR (P$:_TxfÝJ^f}oqRaYwafft \4pgXW$6%HWS =ƤJ+8ތj¥ vݜE)5T:R"+\ "wmF1(gKf{G)VM RwG¹y<[{8L3Y塕SݷW4w' ՚TDUJ1 !oD%T(J^t2i %Z㑊i8HBoB b D5R'0"DN)7$T.,Q!5Ӱ%<+(RXrgHVe(Br- AIx(&}^67+8)8,7/]N cy0 h* r+完<ԃx]>j7FG5PTDUfZ-ea1E? ֖[HHDUbVo\\Q\.0ݴq"oyLI~UWԐ9qa5DОVxT*!"ѹǬ6Kf\ x@ 7X"m@KhUHlKܽ "i2f&U;%G_bT+V'J 5b>3ڔW"TˍGwOgPxUK^'*:Imk3O[?m %BMU/k=$r^r3_aJ&E/4Mcei. d+=I/yGͧJc_Y(uf"3 7yS[̹͗Y)ڔtǚuJ. QNr7Z_T͊<:&;i2C>XT.z# {ݚ1޽{6#nYJ!H*i24#`A9| ȱ*DPeWs~ݸXz{=D}&/t#*5MsOQe ?ל:(S#@bʲy zG`E(}_8Zo (FYf4M!}f3 N5#]W7S?Vտ@4f!^9 >Jjq{huAбGHǡGx@. LXٴ@&D(2a0Nn $"J!ےss%ȢpHH H$R[TPM+ק@^d-ޯc$)lJ3d  g h~ LbѨAN1 FX$MV&+y %6`cf̔eeMg)&85>NcX':`23Nۃ),2ȥu+JӕigY, \h* 2CjJ6L.`̘ " "չ H6&@ 2#CՔEФ8ƃP0 LT$ +ת|\T `}[bg7ݤעriaP3̾{k y㭓VxĈFDEZES@'fL}`n~/Ѽ{yJl?聦=ٮ;~+sݶcd,rd;CI,z{N:;#`#qj+A&EӮ@i9Zr[qWUn+*d%" LNd n"7J#s`bK!TISb(< ⌔3ޣ5"O"(u#"e FHeE_j(%z, xPzyAS u机ֹйW DBc`,?NV@ |S{j ,+Z=ÕmL"Њ@YiucŰ2[J׎ny?"BP'6`y0 lt́I4jĦ.x駹 E']}b=&5ҥVu k5o&YL޴5JXԺd=}@l 8Ϟ2i) r!5߯!uKvTB_Ԃش6vEi'gbC~[\]Wk6fݵdJϑ#0Br*9O[wA޺XDʊC!b%RYf-NiƬ_ k7uk.-ɀԁT.Eب/T*ȍ @MI1S$xz7H/wuO O^v'b޼ 0nl-L K%u(Nf%!uD$d(6 RD\VV(dLB$ьj+4qf;۩PIMY(DR3 .#E%ƕƯlQR> 3u 2] 7*".7)o1Wd8Fh͕2%$ %9e0)aB:zzea߰nboU3ie@ f|!ݒ\z3 @[{ZYxpf( ߿cbc~~{\&Q.U [bkIRZRGȘRͨ.QžD,Dfg*RVwDB bFT'D$Y̑[(d.I'@H+ . FeJWI$X^ .VJ278K"U ,;^,YVT[0xmB_z˞ݭ?1Ǟ3;}M ֖00 Eu1 s$H㒉Lل;CWNxƘ!gD ;153y{qOާO27s oa+ T2U&ա`.pF#d$VM Zl,"V3r"b:"#b^ J9-%Y, ( IGޭi#ЙUeK7׆4W8(4D ϔhy:P&GWY,%H YM/ %mOggSjo#IFdL2, &.;<78:7>AC1*:>6:7;=BA@D<=DB::8FFB8띶A y@ZY 08v; jmL r .R^CޛR6ɨL-6֦I9]V\ן]畛giS.G]Pj6 ')H* v QTQQrr% TePBA"2B (*dDfe R : ЩѸxY;~A=%O2mF5EJ"]TJ򎓑R+"JD #RTP %>!i2BY+FD RK7 B&xMfW+Q͍ }"]f*FgWf\>s9,sxz54(Z ]av=&:}Kp Ur@np` Lc(vE'*4l6#hx3WNV)F,*` =͎qiol묔fՐjan @)p3WeWME:T"#<_m_luTRP~L$GWR( &P]/;s׍\f#L ȦK z]z =kh: gziFe7\|ְ,"8LbL]00Td/Y.Y+xEhdd\TC$lᩯDc.~$J/$d!ʜlM]Ea=l@ ZYtĊE-yz8o8|]g! Cm孓GOT.(ӓV'=|C6P ̱=[;ݯ&~m :l|JV9*0@ rnU2z|qװ,"-XT"Gq&J{ȩ73L_-ޔ<bI'L&I/sP;4ӽtSȶy;2Ξ]zLݡ4?Ll:9xG2-% } :Yȳ]dF(MQjTxn NY .u;4vulܧ45=VF\R>| *h5dLR%ʧr+NQ>vm{)En]f<ÍH<8걶U;8[EQ[92S|B8lƪHj[a϶;zɳg;׎wo펌+giw`j^. GWw'}*Wd~gKyn%\>/|쫷̇ SΎuof5‰m1SzƋWn90ѫ0@nM37_9Eap8vR NI٨5YyM z#  POAaL=eױK-u ;-gֶoN)MC'<:Jٗm!4yƋpU-hTAE;2C 7#U sV`ty+r#b9N6}}}(i\#-vgoj1kq~ׄrx/ogџ&Ijkd?ֶLºMfpuU+ږ27G{fws^pNSݭ'-A)0 Sd8EDO`L m+5"|TDގ=mZ^~O{=\&TJJ뫡-F*1kSLM R.ezK-*VN[mkDJ[LҾ%[PqR.]-"eQֵ֝ۺlQcu 8֑ t>XW7㿽&R%cT[Ds%Y-Tջ{m_lY%*|69&\piRgIWvW,;_v"(Ȉ=׋=r5hwF"`^ j7mJ\Tm)e{ە3˦C5~du)`Sg z\ߗYK$&lĽ`#J 6m%Ws334VbY4^ cg2:?EJ`P PnVRr*Y ڽ{kv߽5wv^(dV#kr&n ͧ vnMh[H,?}I֕Vp7MɷlsdcQG.hT)w]ÿs"hb{{n!$)d]^7M}{fQt(1 "zPSc#^<5S03 }ٮ|05܍fclʏƺ:Iu~AG/>)lMQyFj2h7w#B+ȁxtMb1"FXU2f)sU#jf%F$9! Qh w X"ٻb\m!)%q\MXKp {iWdR@J![l\I Ë7 m]fNw.d013gcu95Nf 0 c@$`ۅ" @W r\TI+N谷886T9CJI3UI]~De#hl b5p_\?/]N [:]"(-]PZV2Ҽ#%"CH "Klg@EY(F+ /o-D(Hd^&pZ"M F P $8MOAY8Tͬ\6"7 OggS@o#IG+49=>98B?T*BEC0=9<<;;FA@63<8D?6FA<pLb4`vkZk1Pޠ/LE{qe*{0l4cES S=n4>VQ[Tc+QRR!7fLeZhLldu%#6V$]5pfMh ?lU"NiVgܕeȋ 1>}–pMJ?v|Pz4eG%#q='T,(tu7 -2'w׌ ۘ&$s.᧳oi|u8Q;sPvb}~%ww\s~3YE6e8#Frܝ?Wwfro DF]/@#*7][w 0dc0{~`FGV֝wfs=elsޛwB#"b-;X( \@vI"!PSWQ;Č Oe΢K Va枖dR:=0y@[U^1"v'!59k dL%jlFILĸqŅn_:/7aeO]g2m~~&2^z3\jA h[\DV%FyFn2DZ,o7) PYjiJd  WLY_dt9*) iBRm >DxI=KKDЄ-%Gqf r [:c"+A 9&@sUrE^[ fXz@nN`"H ޅwS B:uUG| v. ]xmm2?D9n+βpO̡=/.Ċ̵P2~T"Kg+)+0RyP:Z׳Y\\b7A`QUz(\~i鲩*4#PRk7ȺkLj bW]M,&x؂휦,~n1,b9!EufX3^bfLjh \ Y&(r+ܘ,h,ozdL݉ DDjuzQiۥ^8|$-Z09e@zYUZвx=V]ю04 zUxQ02}ޑXZ&969OD>Ptyw #kWަjZf{{:WUԺ*3zז][ 5ETIFO /ts%ݝJy|'igd&f!))kZoz7FZӬEz^LtEH£M&rVϳ$*̊72rF*X,pyJۖB]VmzLbk>6`y$^J*XLN|o5OgX }ʠGHp:3JirO q: W&pB4!4RK޴ * v+k}[0 {徤F+y _#:ԙ#Rܶ(w| E`|~$ DR[+0j]>ov3; ժcWDJՈyM@^C>pMb@*Js*JUdR 9`EQBIJU=Q*BdptN[@'A(Ioq1iT^--7=C"h"*jY0ͺ4O>2M7AofZiVQ&X47v=gÞI㙡(&1@:Ed̆Ocri\@07`75ef9z ɼud`Ev{_NGh$FkZݷU4䥻~O )<~U.w{}VܷE|ZW҈IJVBQh(HAr%*]@DЛBl茸̡:qU ADPE `vE4I53` k ֲ QYl ߵNP`q׹5Oònun咖HaDՍIơB|:Y,686Aam dZ5^+{U:/&Y){ްd(1 -'KGFE%9_3&p})m6#(ROUx78?(< 6B2qՂh񉐳e >_w1 ̈tjcf~x=K͙rn t9ة<Evf)L$LmUۼf{?sۋ5gdbU`r Vjd^x'U6JVf\YRDz e5LyMv|R Jd>"lKpbYwR\;AfDeY][M5lxO{M)dXĴ`yDp_ϯGPW4 =v7 W{r2WL[ұ E"sR#Rw$/B 5Y!ɛKJMYhBy-&Oi/Re~w'x$?eg>!gk2|=U)|t^{ͼǹTs}jRT H H$Jj)#CHYȊ(\2i])3tC H#r 3 l \!+-vZFmʒq"ZHfs|y+RwYiiq"+RXp(e("0szlϜoL"qnfr,-O"YB8;̀>_P>HOH^hZxϕaL_+zXi#?[o*8\zS~;GW̻A%g|u *TX+#J"#Är#krb z\9H]b$\BDE[{I DC/-7@HDAD$LDA81n kMʐ̶w-d5M 11 C^M2Շ)|oU /$hf.`O8AH*yYA߹eΏd}6 .ߛV'vv([L h)(ȇ/[Hb AncES,WEF U?Z Uq"ED\1::|3@sʅb&$\4XRlnP, 9 .(EZ M_L!AqC 0hȨ @x¼ڭ7@MN6mC6[5 fq-FM6C @(np.I[9K,-1{a֢Ƽ)8F^he^`=oo2ףxti1g<-R*FAX)Y\ގ)&Q!#])pJ)dm5B(GP {TSTLa4ּCv1&26R @*JX`mAj14^xuBB"P27(Z]A ITS8;LMoc`ik7[iYomrh1=NQ   %b ,@ iiNhuV{#05Uf%o zuwi[k@[q1ҁ#q[.`8E@P ᅮNuWVUClb: 1KTD4sLIAE tFPUʁ!!bDVJIq,qK5 qlZR*KLmzWd, X ~)dа!%9\yB7G6 cG2vy7IƫNkuOa&zl !1Ɨ.ԣ8+I@vѥ3`H&@"1?yON#07cl) +O%\|8;sU8|SZ>{ IQj"y!l?\`7U {NwD9 I|ez2)MD DRNR0d,HH@ Sn2$3oDe(d TQ+t "x|JMKpEU+oA& D(6I2cE Tc$(Ƒt%zjְomuxc޻[sz@a.81dbNU }$TBqDEnѲURc⥽)7۠d)%gܡ K xڑ9 =#\P}' FBvm<3l5W-VgMwz{? f| ~f H^uh^?O.# T l@Ԩ*?yΙ+n[>o/ooߜHjOpEQqS06hӿ+&1nA dw5K՗uen~ p35az R_Z39hM%?ˎd)}3F=|*gw(ozܤp*WS5fB_Q)9 5;YevgsCCuMS_$cdɨ\W!RP yf[ɤI0UnA),vTIDSG&Dr9CYȔ)Z&誓'U32 ANˌ0*E 3s6ZNBʔL,rnW 8C $/R+RH!ݛ#2@`R%dng ):.}+ @-b {cs 76IgY0>oX]15?vSwsLmAsq8FuaW ƞ6żlB+odN)rl%cQ:oʳ{KU7"2(u{ ܨBfRDFvنR !JisMgDI&PXQ + pI9f'X몓b)XX!rRd,ЏὝQHl blJRۺIng.Fl/BC5`7du07޽TZ֐L-cA;y^@OggSo#II]- (#.:;?AG1;9<;>9@?BKA3:8A=@A6>r@ R 4IrXO;,f1&?yǛCRBv}|?6s苇u'`NMI˝cˑ*6[n`/+ "#q-34ecȠ-`G:A~#; 1pB %H)łȂ  d OLe%pEFF l} ;{Y!+G%0 2@VRP X`A W.sH6zܽf-8p7 H` `4 v,PLPUOVtj’yE `|龮wCʴM}Pr3kf8 JhD « ·/[-񠖵Nx74a4vV:s!1)%(Mz&k,\¤&cJ&1[z-t(n1JUȊ\S{1j0o`(iSfe뮲gfF}XdȺTNwVZ!LJ" ]XDKAFB +]?ܾ4UH]3Km R;5!24$Ʀ"лSK@70sQ}kzNIvK ߳Ϻt%^]n>0bn`Wq=/htS(2DYVdAƅ }UQUu@TUD!A;0ZtdJhY (.da^UY3P`QrB4Ή%RCê䖎 (@1P4)A@el@:[kvO%"m^,6 f2"wcA S z4y%kZ䁺 g|wFKPͽtW[\2%t\Ed.fta9sEmP:“)1Ycg/ƨDyb+aP$XγJc\6i&51%U@ _- IOceW~EUxZm٢^\vww,\%ѻ+ OKbk$H%2/ܼ 1Mr0rEV @BAVf+gfrČLlTѪc:2. ЗRtn-Db"*8xxUKhGxpur-y,n4k+[Ϻ[fL=wdi(`4^ "u$h@NUN7셯13LĊʽipls^v4S 1^n^Flסo[4AU`h"f[EBP-O_ FIH2.)R9  d2h-t2RnWCH2‰:C $&ld, 8/cR[.L"nT %eB ̭l7 T!T1KlQ37i0w 6bWIŨmEx|,k, L23ff"oSpQ޿5+1|% өV|\W:E125||[ނx Q8RJ#Φ".\fIQK ƹ2 [t1db# d! ؂2@٩:r6>$BJ!WJ) =HC9`11 Jf*%KT RZtoW a f3c,0aLebmL upF$ ٗVJPحm?9OKRV3PBx~[&zMvL{L(0[+=jcߐtE2رQwmڭX&$ #B*V] @؛ #a4DWSwgnom[`3JlR 3@)b^N9զjslDJ}ܻwrYZ ־dNAܣh%0,;QnVSQ3i+6R܅;m!0'阍ϔVcSK?OJh nnN5 `ѩZDDIƋ_u$td dFP2p!e1/ `y M RՋ+#l&#WQ)P}lt9(!Hd&"ZgeʉȉDWNSnli:MDw9JlHI-5A \ٰ3~J l8 c`7S~_a`IzkC2Pͽ\vJYiXY)NoUI#6K.(f;o4~ ދROggS3p#IJ|7#*7.-%3AD@27;DE:97FFE;GݹQÍAYamg^k.`883> r:ˊN$VyxNi^ B09lf۸l?C41؞E~S晻cX2[FV:12%h U9M3WMdJg` `]$sR  16o"2X(dA BXL"ĸp $\*H-- @KͥY\ꊜ `B$s2$/@fp:d n01z1 Z~jn !H2\b3gI宷S2 !5ɫRj$c,Cɺx~6{ o|*׾\Ӄ. ׈P1]rD pE@y3"-s۸*Q-5 #'c(aR $+V" dSDHLʥIS`j9DqM (rcJrRu}BI  4B*D@\V.QP ͽpkMi H3S>j  ܬLd,3hf@d{#p)"TE{ ,>$ |f<:ZC %`[WF_a$}O|2giv#vRe *aU!1Sc} 3]!Lhn\yb7KWi|BnE܎`}D(,/-d +Pp }4c#P Y9…@J!"t]$\$kY^V䬌\F\(VΑ\vՖ&I3CKo s1֖"9:[QS1g@xŅQ@9P)*TMKi=؄',%}5a/\3SjFe+bYUdؾ2E>|˝9 VS]Qqq3Q4zS!pmL32n n GFJQ3W>9+n\Tq{'2no0)gR\5]ۆwUi/<}.c=B%4 8pA ^DL@\\C3̷/~챭O&^Xk*1eY~a{֧+w{n~d|~ɵ .P wjbw_Is]$p~mWU@S&:ˉ+B؞.y.Y E(Ք)LvF)'RqB$̉*`6ŕx{NG q؊F`J[ 8k d5{WyAa,lYu6[!j56"\h=̍h3z~T<"%^Pأ#b1o|ioNg8d/k.(UOy#S`3e޿u]#>33H@Z ϸnٯ-D~U?0UPd#6#Ho7JHI%e Јd!a1AFFFN4 P7L:!+p4H,H!iP"-2 9b.t\8,e͸0!=6mљ:g1_n̝K6ww Wk`K t(G1X)/(̙ ޢ`oި2~+;kjSO~B%UEX=$}V,2yM[ 8G0^x_# _׾޻wJ6s⧤;܄T]ר*BلVpsJR%2^Pb%M6,M! nL0@q"P(ȍJ:/ 6)=w4ޒ}Cߨ.ie'潫!Ӭ}:] Jo&{v9W`r74֦A&2Ip\IWuʠ $@RpW?_wOrdh PΜ~f0z'%%ݸjD%EjE{ΙEUX`>koXEQ(zso#g~KUo}U6[Z\g:TneTbzj9Yxz|H5 v˶Ĵok @I֫W;}ΤwкW&nyB MYnĿ31mK"e]55o: 4jOs&W<η ʫz\'U^U&5ew3V]3XPf;\9{js06ğUB"]b鶴WNi/R \9?psy]먳eɱ^jðX,FVb{mTUm_ʚ` @Z:~RU"5@ƨŇh[ra*dywe S.㽱͛YW"Ha8xPtKT# mm*V"|_-jc-MYxx,Xc;&A$ƐzUX< UY($Z +ɸ;u˜*,:V= I} =GQFlnX"l^p{ޟã,-'K,swHYw]5zlw_L:|'Q}ʕb)KYY{׼znXk[kf/T98r6%è= Od y.ºX(B&Qߛ}=$՞d QGA/|Zq^kJ<yh&(ӂ5afZ/?aϼrھN?7o=_ 3{[.]H>s\q+vnroç؅ ,ɻ2:df'#3W䣚Y(\  y6 QLVA*ȉ,MLK̦Q]kdU`h Hd2al+)J\M~(&0D""+?W$8ӽfi04Mŀy68 ƙchy?`-v~A69ԸwWA*^4|7vNIpL"KIC)g2w=3Ƞ[\n q~mw?pMui@@{^Se˸|빙dq=hA HbqK\(T##[=B`A`{X-T# yhJ@  2HtZ B6Ľ$Sn'9OA=f%q@`c n)릗EXiCgXk&v&4hM[{ ۋyldq5p{a xOggS]p#IK.>3;<::9@C9::9;:>B>K>AB<985CB/869;:9@ABE/:;@A;> ҪI[ `Od e|y~ڦdLd{f1oؗ IZSc^3(`;o|$!j;˻]UHjAgM2.>)1K#@zTƊA_G[ک|\|[OՍQ%wvG;T- HesFVBLO @Koܴ@VY[rMuNnaE.t}Ju1W^xE[ߗAlyrB/^ϓMo|=tA%u,DžkLp2n%:ݶJSbus&<;.jddwf56{{ソ3tE =E) 7c(wkMsGP?w}OZvgX-ƽ׭&  tS5}ğ0 onQQU 3Z[Yfs:/C=!YMoPˬ%ĩ@O+ٺ9Z^llOnLn^,lxZ6oT䷦;914gvbQ-N -\%(]HY@=h_YYH9{~׊g1K{s{|EOb< dԷL'DDżo_75oYZtY-'Kg(6e@@-{{h3:|/%kʴL-s)Zݮ%91}P/zlqٺ>[%`YO4dn d)~F@2 6E o;fU챿n~ah}^Fܫ:Z۽36ʸoI ـXn},kg #>j[pEj;~Qs5k݌^&I2Fӽq8"&BY& {o^~+ffj̔'=_qer?g-7}qy"},uUL\M){[`>_LVgw+\=~٧u3K>iᄊ\s>;x莾xӮ{k_^e1s9u1.,O)8LOT`vj?\|8r:a{w*KK`Q̟&M׽Qq K>wC*~.[QNӌ<0݇4ttg4?PvS@g|8ʰ6կl[(nJb"7wԩhu{f:~\ Ωa| :.<'Kr=26ґwl>^f]Jc[67# QIS9 bG|pS3\6FUO)שVF^Yi޼4%|I,:U@! &YXd,017A |3e%n޳]_46z_2m=*|1@_<+H>=;@yCw'RWim՚˿uo^ |Qf]*,z" DE3a/ =ÞGb*-_A @'⧯&9@ߟHΊVͪ6m3%'F8øh{4p+|U:45L"*B!キMwM{o _uW|>#"7Og0Ӝ]V @ï؍WDŔB+ʳ[߷ޛhVKJU HS|3a(T4"DP4<+$#o}8n4ʘyrJyme;̅pgqS닄AMsx UYLrY(܌Ҋ휂VQ":#@C)**H+FlBp3 "'\Ȋ  IFX"lazFe"$k862RedbeOr2$4 "v}|`dRCꪨf)Ȍb+ı+搱E"(F.6E2AJIkrK)3"E$rr)$`lJ@WWrL<;dP4"D ʻ0,MFf̻ G0nj1l{ e8k ښyi{Ƀv V lR E0K (+SJou4soBT2;2 3!,lU}k%Q| P,(a׾Djc#h`{L*ʚ["9WBfS@&S$2 {IŘRʹ4Һ6?+s$b#1wV\ 5!RoS(wEQk3!P魯W6mT@N="vBޠJm*.?RӎYfIlmݯ}׵Gsqm]9ϥOVr* /L@Va0P#JňbEg[wzN֜i{6=j tn'J`4%Z"% }25 m6ATLь XcȒF 3{;x[=-劐w`EHht:6A7S)eVϭ9ze6,MҵyYyG?d:dC 15N[($;dd䂴V0rA D䉤D\CJ„!@FCWʼnD^nj:Z*ܴŻIJ^LL?F&8gHBV#T":PXfn pSh)OggSp#ILdO"($04#E@00M>DC;AB6PW 5:#29D sҝk k,wccK̭eK}iԙE]!$`oL%uT26S#E,;0wZc{&b!# ]SW-T#@9.q,QFQ]nedFATQ5 tZHW aF&)BTH I4PɅbB."CN+I|ƋHp%2.H #&:'TphU,L;0SYl ,3q7.hXol\DZ>B\?r cIMU=2/&k|R(xu((U,{mg9p&+e''rˑ$WgފߥW5T&c\$6HƆ]88y`S iWP, `m:4aWU-/$uDI*rv r@zasSā™ ʼn =duLd" %Ox!!w^Y3;oi& Z`K)J2-!OFF@(^B*C_QʹLҐv >2`j1uV?D%tLZc1 m՟TeiƸi i:{4 g,=7)l#\F*-NdTJJTɔdDb(F5"/PY(Gr$R"-Q. ) 6fn.XȨNd:#7u&lm i4QBnZ̶ifx p/h4$ H8&]4%f\ {^B^A3d`0^pgsg\)8v{},BtM"~MP9 B7C IbTM!ookkea]d22OE8VC{Jq =5a_MVhE OasMT q.]8FRR̒|4D**!ɩ 6}l h2+7.d!!u6StYCCklBN)m)erdT hI:^nXdEwn u &"\{-Jj$f\F ;L2麝Y9?rs-M 79l8sa5ɩSdC @~Gi$ 5 #CnEB37V{*m7wԵ-kt#]Hwn,0R`p%;uyRẒ![Em]m~;hw:%9pX˒n$ ˖C&-"rzOC X )[ SEfgt|xJM)MK]=yrMpGls S٦+U.z'\vfy h.bU&lHiQ zιL+isO ̲n򈵖j8p] - P\"M(% sYi$Sd^I`@GW6 M .nSM< BU?RfE;dO5zDjhsRrwQ.ffuv#9Eb6 $&^JP8-*AY pkr!yz eڍ&mznvk3,6 㻰8( RgU)A'g*|'֥z o-ߣukG{bMH:F&,S(`)S"T.s 2 |6RQffTfN{>Y qD%d=YGvASkSH4S@Nf;AQL.0HyQVѽ \ R*C%JXag{ZDeyʦ'yTrF닲!Əs9hL2ljz9tcM=oP'cMH])v-aaa0i{oc"kSΙL yތ!5+V4c&ZcWgε+8x׃䅪" q%mBdL^(E{@s`@7@ ԌRe~ok?ܻj ˿/Btz<J6*a#"2!wk NFQ4QoҘDS@'4H| =2@oѨo[r'{nqltU6%Kٞw./hrLwdoq&hq?֏ aso=5dVşV,s1׀l1s=ϬHMhS``,bKo^Y\ ,KA$XŸ&~$X 3uv{^֓l&ӺY'5X)`ԇ-غ 0Ѭ']^gh$$gZsdX޶˶fojV$'D2REj6jDRi* +N\3zy\(W6;}ZmoMudױCn\ptg$ʉ\IU*4< ֘ʏL5K.moʊ1ϩ2XAc-? Fşa1 3Tpݚ^-Fݞ TQ\"]`C=bع(DQ)4Ķyj75Q ڊ&=ӹ!˕2!2NDQ &n"$eDh !!ґZ\6t (ND$AnT)4CqIʧ$ɦ%1 ȂD {0!⛉L`.61[ÃU=a#kmjUbt\EauLv*ܱ3qF=L7zS'Hmf0hӦCI ] c.{ct\%2Y/w|$V1ރr>,<յzt9oWo/cwUe!Fy" *Ju璏BfNNKXlE@-@,$r"rdAR^FUnNAț|0)&1d/Pe5; w>%}DdӕKo `{w33=)AǼd >kKk s:Ԍ kAj6߶7˺ 2vE$3U)eJAwtp%+~t$ 1GiVfvB~LQnZ/᳕W*[Iשﺲ{JV rW]G.JV\r+Q|&8$ H! x5"Ibmr[V2@',N3rEWM"ZD aKHdsA"V7JN8r`%R`RG& nֶ>m  {w-6 u(%6}4"} (It"nSN__i_r,d2>~%ڤקm*vH+m;j>6 ̔M)$%/{p ~ƒ-{wS6q|fcsQT}}O> aH4欓qQTPJFtclrTB"BRyxHYy: b 7ҽlHoSdf J '1Je!`B %I',ch@QҡC.{%Tf "\"4 Q zQ1dO_wz 0w$4v0sc {4ppPg+4*E >: :%0ѷQ5q)1%ň)&Cn% s!18e$E z e`85\Ő6UUIZ"b]mv (1b5Ӯ%B7kI~L؛(QG+(B۲̢NޱpD : "E/54.XlYnY 0-=W.)Qc#x;X-βg);FkZѴp9u:2MTob(DP「V<[Y#Am;[{Qgֈtb r-R* f]☿+WĴ&ßx-c'*" IE: _:j-bh1FF:r:fH7+wkT/$)_+UB` qRm- c5:z3Mc56|(b(8,\WDqzt,O(9ǔ2k"JgDqr-o; 5ztbH0Uv i:.L ݲ?2gp1JITle+P%Ե9wfjt2t>?#wƾϽevhUy{_t-ɨ:F\6sChgq,i4iUJePj{,Z׉KL&dT7`(!LRs 5*l_S׻23e?#?V}Dvӽ.W6t{G,*:J7bZ TA[|g,}a}6$huyРأ@%7T.7TNEu nJDɦ-MdR!$3/#8I9L 4!i:!6٬ r8tfE%`Ѕ_41z `@1If0v?7S03@cIXbT4\$o*"gTz6 `nQ+0tKNL/,/rfS>Y_t:9f"Gw%]c4-:stoi2 >kT/96HgDGՖ#8L%\WIFDdU х@D2 I2޹͖e(xW*Z']q3C_);HEj ^/Z):aӏ3RZl_mϘ5;6>4<\n? J.<9̏Z~ld>5aHl24S z.>H-iKlL渞moF 7nrL\V(SDh8'-v姘y9u)tչ=4L[63Tb9VF1M LV3hG$ik"KyڈBgan1Dž7kddMDH--{}'0혃iV aD <]߳7٫9lJEAQ (A6:=~i(fEP&,ܶ1t>ϱR@8]G:6DELdJ-*’lD׹^sSmlU$_T,E?etA_JSq%21&lBDQ8YI '"e\D%)#.QFGVQCZAQ犙Y K5d&,$;eP%yhG2 q)maP^[)CHCAJ/WQ 4ܹIfx} &X+ %M}Y/ hN{qE~ -.^BMU#"y䭹kG}] b{5̌e?~u xZ %44r(1R~Sz"4[d!ÀV==d\5ai!(C"RF(FLRODUeGUQdd$)B ̉  2d *ueq"cX@ure#(JKqB7'+]8Dv] 6Dff/0њ.c@xwtLH@=Z!s/s -Wk;o&v.Qze1Ֆ/M 齜ړ{6p1fL͘IJ)?~]~rf얯x.1|ٶ~]BV仁(Wқ܃ 7 b%ʐ]B\҃f"ITG!#T'0H(nPL`@v($$ 2լ%Nr0'ٔXҹr!Uu)T Ch* 2nU"QOFB I:RQ/n -f۠{Zgդl0.K)@sӀHCк{cMEjvn$%k综y@l͌zǛɔ;XFqzFW<'FO󘝶 Q åO/3Z͑BRL(8KTe\KQB nKe2 E J> )dD "IR,DK=kXE i%@g+3F1ӰB.'% Y [p)Fuc#7#"ȕ†-`6/ -׌љ:°ўn͠lҋ:bݧS(v \DTHPDt5qp)5,+|֙-7ڮƛSbn#[iY lg1[UB --H*vO"]lsS|,>U"qgZ-@36@T؉@1RT#)DJe$.T]2gdT^ RrLI)#DDn)eKҎf%PYPپ ԅ R]2V\{_jd쌈ܥsR阢)Q=NU` 3ހ;\\&hJ3YtwEct?:Me^\N@vA=[m߶f?m)<D6cu1Z\`Nm*Qk#1u;F!kI..T _[d0fWlZ$,Scpi!(>qSAʏ@@de(G67^\38wnmiVھ{J|iU31%qM{Ɯf}-\ĤV2;Ut* !%YסJGn`[B3)sCE&(eJ ˔|MO 2䀂HJI3%W6AȍFYXaeE^Hl֛ ;nXvSYC4vn{'6-z;mM^`̱+j,/D7ԙ" ".)H>>Ud@,R 2;­uYe\3ta0y׫xJ29W۩4hR/ѲwZ->az/f˥ bQ.j5iFC^#D\dWrsqL2+d 5Fz&A1sNKqmeM̪Qb)PLla[̄3W*JEb"fc:Á0&;Z Ҽr8h@. l]h\Kc:\Rx]ޜՙ:"6QkTY2Att THeiޞ kf)2E:'{4TwtY'M،οm|Md֗CgNF 1 $x|r8Q.I۝'D*2&vu]F\"ӽW-̦$bwI 74X|Lf>2d[lbp@~Ndo\]5̷z2Jdttrd5tA%jP)=9ae5 @?}fQp/m)P U\@9\3q]\괬t z)u KH[obj _)k[޽.͕cbIͭtF!Haglw[۰H}Ds{opvD+. ?9oa45ųB}!s[?{cÄx^^C_>7#Kh-SnlK"ΞY1nPYԲ?zvs~՗f}sXHuˑf1~rvfa:F& #YJ=-T Z v~ 3+I/|ǜ .BpfO? H={@H 5fXʹ]׷B;HUmێ%Ke[>闞5BU"%Phz=P@|EUݭƣõnh]K (%U4,CW \ZV)l6u]lWCc1׻MʯziuO:qDWͬj$  `ی.2ׁ^#U* FNfK/fE\ HП^W5:u[ 8~I.gf\ BRTJj{m6uwwUmkUUUd"aȄE=y+wtS7EFt4~iZ{\lwfs]:s:d\*p +TP@/[/3\*FWY!ߋI7l4 )|jy~*Z __u kcD=]s g<۶=k5Xkko;l6 R/lBڥZ4} og訩q?wCkjf6"Ȏ\*޶m{omSU-|1!>4\؄Pt@v6b0%_w$^Y'*wfX p,{b gxp\ ;C!ի)se4z#tRe23R!K\_PEν$2#W(T,B)2"bFEq%D@!BF1YBsRɄcKIK7Y^9r"W&gE ''OggS"q#IO*>C;979:B>J=FHF399:>?8AGL1:<6@CDAtPweef\uip3t7lo웨3q)Q:֩C vBT(#C{=@g6mYT)e.' ri).4duζ\mrFe਷馒ir]i_tƞW؀"Рw #ѼoƯu1xU$HOb,3R˽H)ʤeMDk@E"D }X(JD12r]1 XpSov+]`e`JԆ Q]Hwu ytHQ2Q#2Jtyj-m0`-ZXXgYkMS3fKEʜ[]3컵a %j0u`ɻ@V%_x Ւ\cqU=m’̮#*_4\DGDĎ$5d}RaTC${dux`qD2#72̑"Tig}%<߈ˈ򒕙,4fxP!\f Ζiد3T'n;mw>W%Dӛ=ވi\GA. XcЉ6Β-U({)d\D@k&U$F :{(}>p0^ǹ|ևNObw`ZP{FRq?;SGMiGJ|EGhg[;Eg2kym6lںble6F>H~ = 3UӜ " PxlhF,H}^mvNOKȫ $3DTr 7wxpn](J\ثk`k\.LvysPiN faV3(^#(}~ y .|H!'2D ; r \DH.@ 90Uj$´XpLVxmljKҼ{ B7|Ig#84lHn͠@|@6pfе(0oGkC:Yf9}wߡۭL9M[ }Dy6~M?ޣ3\gk E4U4GOY6cuԹSrPwf^? $/fF}kq6AM޺1ϛDd8#O87yDSۑdF ??ӀFv`H hRf,jmAr4NǭcfS,˘6M9bs;`r`:N~_~6{ Wz`)@|`yxYM?wͷֽ>]TG?9Vl=mVKqڶJM?|-/88:=컩s3swG׽Skk6Omsg;j3(an"0A!$.8=N !!1f]oEgXј+vzH BD -X|キ{o޶Qm{o~>c\AKHŔ:N iT"Z@0Qlv3r/IYRK;(HhSӓw{{ Oͳ%)v .Db6=]^2Om Y]9eAYUƌ1Q~RC\QJ҆PltQ4lgd8Wf! (q׫O J$2"nX +G )HQ1&Jdj".C4p%2(Jg B B Ss?Q!- a!dFG[;(vi}sag5o߀"M/ : ͝{3}`s& SBzkee)/پ"özO9o(x1=gru Tڤ3*ء.wPG_)λT%#bK[3f8;OܥA2*ؼJN5dTI\0UlD4YvtFmՆ"4N'*JI7n ` ,e ˭q}_E.*nFYC˛?e{8mivz.n, L#9~N=\h7̶w~!^B&|&5wôHxo^k5I)w障fz-f:LÖR誟4WqQ~i zO"ʧ!]̨$ п_wz/sn[3Gqݞa|7/t^],[25FM]j-=CZ-HWd tүu1AUЊJzLh.5F4y^n42l"S2P%@\eFb jfLV*DtJ!=62d[8)MstGhrʞ+gEN-NɍDks?QB/RomXF`&Ʋ"Fo{?Xp1Ì)\_%{XDž}m f!BdBq 79=/+r!gj fUe5[#w܎ S\S"ZȧQ67E^znTy^N TY سmQ2J;>Mpp1 )e a1ULCBΖnBQf-&N\^' H`"T( ׶p4`gM^Lke p>LQ {VC) sAP^~&|`oL25ffJɿoKV:D ٺ#ۚp1^nw7ߎ?bz} YFb{—Y؝S٧TW,+D$^MQJ(IDQ͔;RHELLA!(&dő+ )$2'p[t*d04eWa=Ji ފK&Pq"UK!iXbJp \r"`2ʰ'֖-m7ލƾ[uÃB DzM>;T)U-mSWir\ܔDd%VMtK4,BJj2Ǧ0) 5p)ǐE0v^dglDWE3g~ѨLbk!d-( j5{~m\7)dJ Ԗ>͕<\\H6xvΦF]rѥQKUhɦaFom:W;l&W\T(DJK M];GuE0F(Us`0\sp吝{v{p^o^Ϲe+ !n)*;tK% Bj Jn6O;Zmomfk[tjˊsWVȤcH~7߱m 3{tn2YkWX֛ oc7Zz+0o&W HYvōqQjXYCN;K7f~tsO\[}ޥ8΂A\$"P,2XH"s> *L HD)+F .2!ĉt(R$32b.uqt\J>)"tu4fKlHnA\7#qxf/md fL]Z,oOggS@Uq#IPȑ!*'-7!9HD.8:@DDK#@?DC; Wŝ3'ǚ\9ěJIPY`̍ /z~E_&IO$²?y%QT˲Ph{2//ǸѸqTui=mϫriyUUب!CQR1\R>#brlʈP c dR)#, "0BT#*VN\JC 4^JZIjwdjN%sf9aZJC"26"F )6 2Qm*!W$X2e%pkf(̖1n`c6gzkZ,Fl;fhgjgJ~88~\턍#>Y 6,0xBSsXz|*$,'1j$F^e_LpqB}-줜wMw{9zЋ@Ȭ ^NI]OL2ĀL'`QQs;^w?'&MppGsN.d&#C Vk Y: Ǫջ%??[0M.FBBT(1{ooԵVUB1EY5B1ן鬵tVjClb2BD_|^ؓ'dUgqL:$2hgnz: a1Tɿ?z5%*tR?R}vJbLosl=F9w1|u.i] T0 ®IFXQPR'"BH"BF5ZArF;Ԫ:3fHtSJ3* pQA56\L.`޵Icw+)zՅI+[Á'gcE12~#`41o3mnvi1 ":6y"zA[i=鍺6@L2Ɣ/zowek8ԺO"nJN펒s,Y^ŀW"0^Ulo:8fsT3Enu,mW -2dfBKO>#HxGAH@d("(Z|Ol1!NqBZt:#kT E@9kв !l1lK z}2Y̱ܽ .EAx (8tteBA6} ~w2j-1243&D"_.ݟAzgPDHL=Uvڇ_|ʆgEo}wvf2,t O@ Tzwdi@Ƒxh$^$ <>Pѩ*h䵒 ڻr08zJvc:5߯,ϲ\c 3<=צc"ZpyBח=<~?P2=u\SL_ys6.wUfK3 ۙ+Ls֌Bn֕^3yA+5.ޣOIp '_/Hdn p͔U d\iV!Kobt7 <6A` @A㏍Cv&DQ॑hTږ\™AeX<1]x2[p$/*r\жZs{~ê*oÃ]U~][qIXnûLG\T_qn!Β=[ ̢_v JI)tRi%Q W'@< ^Jp,COQ˃7?w-hH%TU-$~eR|ofGD}.1>w"rpy6>)yw 3}}exܧ3[e<\MMc|U;̥~f2u̪צ *NyWE4vew>1ny 6pvkĘ*c2=1,m` ̥_^uvA/dp}(;,MvoPYX '.hT߽yP{swCYq^tI\gN扢~ <ǧny{Yr:÷-ŖcEn( `6.Sj۪.<уAFa`Z8(֑񘭌sS*5KnSgZ'{qZ{P"!ҷYmHs`Xu^VxٔW@y٫}ٯD86/|û}^|~CGm%LSA*2H ՌyGGd6LIڪ0幖R)n"jd23Y%YB\k"CXfnbFDˍ}AR">3ī(&YظV)B'HK,\]d4]3-@'.FLd$~`h~+~ZZ 6D@\&9 > p+^`,:&tTS+u" 8|ZXL՛*ZYWTsį[]Ӽ1r~LzI61SC]hOIm o[  =QRW.`X!"Sڐ":ddH3$Q {  EVr)aGr)T;FKD Ȥ$Ҧg (d1'%9H+H`.Cm6OggS@q#IQC(0"-94FC9;88;<; y*TLx!\$Q`]EQP  WD^FpȈݬ",KVʉ Q@$_@?eȥRHH:!aؐ9/ JX]k #P7# -4 =903qa`; Px; <'.&OVY|v?SRzBy+t@r7@UMSJʴeuZwYY{r/R_Y ߉_qRUJeIKLjVr JPX ".c2QEVtS‘ 0 eDFFJC9\צM ]ō O`r?Y2 sL-Y0 a*xLEH,{+2[TM!{>Ռ2.$LenyHyɎ㺽pP?;a"]h5*rRŞ,X;Bf5F!RsGc*–"2X I٪2TmE`YĤ\EiD sBDe EK$Iʜfډ#< {UY?D!K )\%IBIA-U #.+E\oA1;Q) eܴD#$y|6$!fw+`q.qNLzVWjm.N%i2E (l$bH/!Mn1Q%s~e=A01xv"%THYK1%{LpiS5$o?xS"oG1Egf5Uz4cVC?-Ȕ&5$SB=@AGǪR ZABe')NT"SfvmRz$zZ =װDV'2@ϟ]eyXcmQZLҭݷgޒזRoh]+",MO^Tces}udfc(%b5n?p͙[z\ͽ,K,5eirQ VT@*pd*;;bdXȎ!2 H&0(6_dV ARJJֲDd/q"(2WTHInRAw( G', ZhS2VѢHY)b]ZBĺb-û a,W"SVS* ĺdž ;5ƮiNC@_tl|^àݛU)mu5 ҫ7gEQgkj&q"BHZAmhRlZ1)FD\PXpWWdFZQ99YsE[Yg)9Ra"$%z6@zr!{ޠҗxԅaofD7ƜƲ1=0&ysr3}98R6&,:I@Hl,?J?w9#פ CsƵ\$bDZu@YH-mp$1~۳P qgY^M-D@Q:+n8l{a'bXq;BFR.Ede wjz_k,gSZVSxRdy??^$Y֑2͞ar77]۶mV}/ 4>: xأ .zR+tl& #RP, VjSkd]-d:ui$0S␂r?oږX_۶dV."wW&^:)i9[ EFe$MB@znj*[<5JyV[ŤRyʶŸ̳#/N^7/D/> Fo=\Jh -Ԩ۰FFd#)HWdH6B1b b*vI&@*+$qAFUx>rcR q |DzsFI:I5E'RLxV)4YH}*ZQܨDYhQ-IZXF;3*s~zbg( >l!$J i^]2ϐ"3Nܙk߽$&QɘĔɿ^ }鍬9u){ @rK`1s! 0Q%(mB5C1.$e. t)#BRQ ";DCa)5\A*e$ AH;6d";+-M)Suȱ$A.\ 2UV7{,L%H$AVݤt!8 PvwVOggSq#IR a)&().@B-+77;8885ABJB7:BDDJ?bF4X@rb'N)v@cG.aJEuri&4#fLû>~_S*3y۸=1\iwOCa?7-(f`7|+nq"EML*'eEw U'R XPD$ #dFһ"jQ(E$@",/)r;Xӆ؂2H 2Њ@"2'rE1C&"$,7nnd8UXi1"̬0XٵP`p=JCjͿKAd!շ)$Wphg`敚I^~e:4v5SsĦa( ȁc"Ꜭ[ARA/IvDZ_> 0ojL͔оW }^ó&xmt+:9S]%]"Sf޷WMUv+P뀌,JEN>R"b%!ɐk Š"7B.\\NHRd$ŌD2 Ϧ9)+dNDpMCBvb"ʑ*BuH9qYh\'陞}P'0z<7 z<˚sw 8dfO(7 pi20B.D4P)Mb[! ( z?,Q.X˂֛g;sʦo$Lc$4̦9,;v ֆh_ Ahn P`뵕M?{~#uC=p;i(M&73ƽuu/.7ܩk}2n[>7B#JE^;WF7@"]=l4ؖa+`Z,}S鉤T,+Q2]{)Й)3̌Cdd*bQ%Ag8"@lD *?'-7"!3Ǭ)Sn.2P B{D2r"+2R\t` 6L?ll؛'=Ж0^pӾiL4&(`ݦ`!Ek)B١vHqsefs{-mn.g)ĦcZ_*٘^m8e*NtHK=kyQȴB"Kf22&ی_Yd Ҹ4tIS3bG#P)LFq9QrEЃ t0q5R~ֻ,*%<EȑYUA.8WʘRHP tA/"{g-Xh6hb,vϽ▵ 2= ls.Fpw<< Gd!2u@pU֊} ph;nPa??(=^e\ip*H:SCW!SN9Ց8-¥<1S&˗FDu,{I"d$ tqkg:n,4I,¼ ox&¶պ$c"/4m+gLf q`D) /M-_5̦id[lOŋl02%c 2%2` Cێo擝!fZZܽ{g{-ִڭ1M5hޗag3޹=:v֜o% "֩ջ{cNVm۶WK΍>:"#,n3$%5rMTMTOt4vHlj2JTNxZV%"$!B;|72ь>ud4C Di(]@xS3R$)p@Ν% AɢS͘jim2ީIDgsNAUũj؊|ޯmvMm:a_*\ f-I[vl

3`X3n`A$ ^,LWYH/XN wUw;$5DS [K:KxD⯽u_EE5 ͫ(u-,|RS9Oexw̹& "pnjbe[=iL+[(,O !3E岭.twVוml[wbq !*d kytz_PnFLߵaJ+~z*4ogc5ݛ66XFFr6 :'!t7R5Mb!.@GvNQ_X^t2 OᏦ#)GD*MWbI j)UMV:Sf3QUw;Z ֦Gҕ?gXYv;~ NV,D9Kbtٍ߉M:m^W jqNﮑ0Z#骾ZB[(='~mWţzVM .c]wkէe8Ȁ.kvIH} (JۢT)b1aキ+*׵#=" N)q0 ~ NCP+{b`PC÷2WrO[vdt hu3 埔EyQ7o(˨t_ZHFͫ9T[׻OeZvy#N?f]0Ȕ3륵UT:מF H T_ );z[K#R1!+YiDT],P,"h #BFH9Q Nh*FUd1BaаY%A7 xOHnBER6̄B a"-#ZKވi& | VɄ7up'=n(}:vғqAlv؛ĦrVGDQtN<=q y# *S@YUhey'bNipCݮNV+?8NXkgiT RB\̌>=x9t$duFm Z/J*cId" J:2 Y. 8 ad{ "c" ʅc"3D"K  RʭW&'&% Aᆃd #iYJOggSq#IS4;<:98:A@78;88;B@D:B?775:;DB&:9:=:9A@F<7;6@*D sNګ@*(S5Pw B] T::O39Q{&K\fޡ5?ˋeNղA&[;w-o?D`:3a̓]KVĵhPv]Ym%n}C@? u;:[3;Ě֋'xQ l46]I%$)G{׈k~עZk4bM2N+Nn{75L9[%{/FfܲNcjPdA4 w5N;Y;yְ=~ӼhbV@X NP4Uox$aFsʟj<۹$۫J6~Mani߫[jުil߬JT9 ;3:\tH?#8Gc~zNlo/պW.2Ͻ'}Im*[?7frF7ۍrdFL Kc2,8*UuU*loۧ=ĦSRS}\Q5X,CM9 ;ύNuw6;}N}ڽrwnvg߰!8xt\}5~\ގҩ՗OzqcWL>TJ?[jU0 v4c[w1J\S͓:p,J~z+N!R]0_#'cS6.3!l9yLoǸjc,Y7K/}Tԩ0Ucdi[)el&sqDI]KPX@ K%s[T˓t}맶mZN0{m|=cL /ч3*7O|ZYZ?yw]6mk[ZWʪ2 RP-1?tmTNy6*}mOMmw?VFo'f|EiFEW79X`\|".ԣ2#//e=ae6\.Nd]yV.lʕ2`$I".-w:?ξoW}f=t>I 7 M(0UDjj:dT5Kli&V hƢt0%kbX$]'*~q>N;gunԴ՛Dhܼ럷l* e8ȱҟf:McwdfLEsl*!2E66Z{mQ[wǟuLfȺ(Y.ȃ 5 o̮/y5툨!ɠ%#8;yog,ƛb2۫XU ]!hݻ@>)yMRڭOSw1/[sV[1\=ofm;UYJwK%w+Ac$6wJ^P,YB2*J5Sw9*(Ȉ1eSZܨF$!h)@HB\d -՜T,d!De]$(]&rQ@rRH:T"N p%ˣp2EF{(|ˑܤ6tѯZ'x'7á_c?c>-D+^@9 La!=hYC,{D(nbP4=q/*"&bb}fPW(`#~(6cTEZZܔsq/#T\DOE0&T"zss#"' ]x3\) Q #RUFn!$@tc16&vj؟u s2g0o7963-gMUp^۸,įB'w.ھԭYT'=),xԨ23~oW>'CՑ9.DXϾ[lLri BTǕ+1dlD&)CSxELPH20" JE) `W)7+US HU)W1Dd`Cx WfTCQ\.8=e?&n2ft#?W^Xl|Z7`% k5ӽ6k$m:3q.׼ ,JĪIZ.uJAW83gF@M23ffJ,[g%Uze9a+.ӾqYvX-mK fq"[I>HznKr=cY#*A(dȈ( B FEwQ Q͍#JY":U*t5N':3GTQ"3/zUH 6꼋1M妄R6mȢ# BH@mWĀkm 'H(ǀ L/1X0=h25-Q@y1`j;V|r2,8Rȵ`T8&RDh~}FQ?xSHY 2k_s:sjԝk؋GʒGRnjv3]EUP)$OK .Ԝ,XZS5'|aH툘d$Y,KR}b3jocW˳5{L&EX*Y ,:?O+\$1" tirxjtAP!V] wW bb+ʳk5n\VK;̪8԰Z&"înP`gji ŏ"#{Lv `@KWF\Ʀ*n$^^3 W k87>9XNINitZX(.bhZII%ZEt  #Ssu@EEtb"eFH$dU\(bE!L.^ J)Q A1r /D)rRVZNR" f!Q g+ qB`EPÔaDU 6Q$~\OggS@r#IT!-%,3AF+,6:BAB+,:KB;Qs0iE\9>fMdӀ]k%B0~EJzCk39 -D fjJp/#QI.dUkssJd(sǾezEf!ctF@XGqٴ%nK(T2eQ4!2#EFFp]$&#@FD)'qBX҄ eGbY8Bn$$3. G<sܬH‘r 7kAąw,[ Ȕ1۶]L殴H1ƙs9d嘚.qs s2 )~톍ë/Rc>ixs^ InD(jԌ,:6KF?zRS7Yl5ʕ+\\nA$9\0r֥C7HOfO )BܴT9fk0=IYڭfv <\ċRɀ)(~I/p IWi؈*'A)iXk"Er0H$ZY޿>d`זC7uwݓY""m˜˛j_ kp[gF%6{8)!!:f) J522;QĒ)!0KSWJTP #5 9K"%&*iXq 2qu책۳lᲐ ۔ZGx&*TCTd&AՑ2P{V'^bLMXu36ư}'fܘ;] MV:/DzU R*X6HTY^+fdS5eCK%wdo|{a纇k>㾛,72STz˒W8PSA9r"ĵB6)e.AHx7R@,AB$2GT3J)$K DH Y\Β#f Mf0RĽaJ:"dȄxZiSڧa)8J0v<"pqE=heX`1{(o74Η37$V V4cpU\BBwH+({+DS sPFUh+ˊ?%]l)}yO?핲,K{}; ӺPc;.J^%l< lUOjraIJ ܺ<^EhPQ1*G^r6*ddƇdVN%D8b]y\[t+Lt1DF8U~c#pP2.W+D[ /=>RR%Dd0J9/Nq 7F'|nnN.0e'4eѸIc&-[ҁXrMWn9*s$sLMs ŕ}wS]mQm]*G'|&5Ǡ\#t#t !njI)⣃00,E.8<}77NJg }U$JNE>EPe03cfR&o?G-[M'wsuY]6/GD35UԷ*j3j~P(Wy|:N^Vgmb2udT\dF)DHE)$2ˑPHq!NBqJ2LebH8\09xbdd -Hަ ]Jtf.$S @R&#;9X  ,=vun 3ii[c6p|n߭魎m86ydqT^E,0 HD\ 8,4>-`cY(H1Lɿ~pݻ/<_H.n$Q%n[jYh32\AgǓ{sYAkzl*9GKky+!lP}"p;InqEȐykzn qbH9B!􉌢RiC 7ɮR)ҕMS-ȀloXȝ9jHYtX| ;lNR}.qM5h׳6лM3,iT= qT6%:+IqS@Y|iةӁo)WNJgd$aE{4" lZ#Cb%15"U"jQpqO$Bst[.USaewlmm3l 'bM6$6K3V#n2Brx(=߿'QcjYwӻv{ދ^ 򦧏[4>7U95P}٩1TޔjԽjѶg])XW$p7&Zt("*xVE=8@X@ 방Rc*z>zKVJ~`uC"zǐB1r /bf.{"^(W+PVymŷ4t pDaM@t=I+YF1Sz;A=#1ޱg^>Oz:_۹Se|sתږ o>S.g;+?ݥ˵woo{4'&5#Kl;s^l-aNw =BgvAXg"yds3LrwC:4a|C/+͌WH=o5 Y2#8Ge8>}yF+E40\:vd|0܉0D|@4 4$kTY8"F:Jk_ q;7T)S'|#ZW=nbȇ9{z3Tk5^>_6ҎtUZ`J& y+(K<;b<@lƄ!؄w 4J1k 6h[thVI1@`!wźn-t1P x2+UQ9ذmel=mom{t>?gJ4IiCQL@ I<}x0 Ct@tGU`?a9Xr3c<`I6a3\GF PŅB Z,TX۫mFf]E66, nʽ'چ̈́з<α4FBy"k]kcri+iy^/bXuw~o{-l{om6+?6Vw5{ӋF|3R 0"#GլD{dݓf(/Z" ^Q;!"CH< cX{lTW/peV+YmC\]_||l/s|xn␡U43gh)T2WNF<ME3!cc4H%'J)D+mf%Y)dBِ#YbFV9f2X,LXlD:!# A]$}( 6qbU2:W,&L:MCzLm ue^M i^an2X0n3sS).n+ z$X bH䅍U9hlv5^afZY?udHdc#)kdr]rʈ>nԣ7VR%8wShtT Br72ws;6#I;WH/C 6\dX/,LY!QT!T:G: *%WĮ{L,#  Q^W.2@v@lepѬm1Dd2@ 5 WfzXLȬ-,OggS@Lr#IU~("("795CB':488;<;FGI6;;:>@EA=o7kh#ƠbuH5MmqPo>@@W: Ab>RvEkq$e d*3Svk~$Hm:vs'~O4GNJŏ%RJ7UPn&LWiZ@)vJGIVI<о%犗-*5s)D!PM**.%Q W.(NNNi@bBqeS"]qdCz{hN1C  @gpR]fl C+-ȉFPDY,jaUr֘P qY6$_Y&2~,:*ZN$vWvDƨn&,DmJQٜiw 81A6 &ً?įw 0wjRd"du-1/?o߼4(J@r"\v"&~׽nBCȞiU7t #'+M8@`Piw3-%SZCBPJ]$ufon+'3gCꌆVuRY"Yj42bqjFD5¥٬H;s00DSP%Ee~pc~](ZyJe#SkgF͢[MQ `5RZ^Fq "JP]X,QוES͚dȑ *x < cIW%/O_ԣT,ti1E47Nk7F^V B &h{؄E7ԠWࣛ:-Y)\v+FJ"w{k6vq~ tb@Pȡ@<;O;ItY'\ԘDeʲHV nS^R[Sַ˿9!mV%V?b=,\.4 S;\{tqMC>ݢT*bȰ*+)*]r1L*[Ŋ%FF 'ĥA%LՔBV l7Hd<"E <͌E&E͘c+po2Y0ײA-qdn,؞z Jf62.Mp(I%Xģ}@&*O  `pQfTzo&rV>۬Kw .I2r(WKn%=S]4iu/b"z\jHf.`=R Qp),FUQ̬@j"3 G pt1lde1-&q(üpDT;5 |m `7 =ڕ]lbV&#r+҆cyK\jJm1жlFDMYQmrӱ'[z벯Bt:9(P}ؒ 1;UdK2cuR_x;.c9fH{-L"2uEPhp~j du[5-yY1V6y3z3ޟ<6Yҭ[" ῵{cDw)$?K:ȶm}EMae't`3 ت[~=mDre/2sm .а%쬵HmcyJJ}j?P)0z"\E8K\ P\6TݛܔwOkn~嶢dmwɍ`\nYPBa(~]6ތRJͼh+cj7| n/N7UtT]vD˲H8kG#.w0uzZ혤Z/7JUFS((v23EXBULШYKxX+Rf2>$Y͍ "nXGH9Er"ZdvGR-hO$O -DM4(RzBy$Y(0ѩCd()୚V).S3C(T2F{0YCS  _p`,LҴ˯5KiX4(@@^{Fm Aګ6Lp&M?vy+!JT]J)y{?x6>%=:?7';l 9SڡcUb y]\nFQd6hRCOM3"!D $LjBbk@r#JB"9È\)KΌn$S"¥4@̈́hg \A}|Ct qV))elJ(1qP-ꐉ C04Ո!YOggSr#IVDP$)!"*?C6I98:?D8=@EFP8AVS̆`5J&U &&&ofg`kpy2hEaZb3'NLdӴ~{KL1[?zv\oqYg~`=MO}:e)h!˫4ATբ  Bd$FDDbBdNȠ'#4U˸ ׄJ:.PE$p3H,EH @* pIMd:UcSN ] oY]#mrEh6 B`G) $r@c]*@v]S=#i p9hMKۻ@+={eӊt0ɭ>]djce<ܓw )VTU)5S['LwO}_@Z1kK'df>%bӜdJr N*d!2+UTHQQLXRL( 8qDf72p F@%ˑ) @&B9A@,TCNF lBkᦨt5%TAT 5+=0-`tZ4ܒp^jf6ƴAl pU8 @1=dkNوda`UM(_q,aoFxպ")?c!ڀap5uCȢbrEdA$QNsE1:4hD2tRF #$FՂ(zX$t|J_R bpqBZ 8Lt32K,QTDhX&BnAVQQs4Bˌ͟:E0}7M[&'S ݏي,ф,|\-7*/MБy@*Mty,h4" bȰH"b!P=DbQ$aMITG!wgҘ‘2PJ}"cSHP ':##S#Xgm"b谝++'nF!y5BTzo2nN= %w*"'Y˷ PPPڔ3UDJDb9*YFUw:)tT6 JT~TѪ*U8(ƙ9Z(E9QHed%E3R,*$'7rDQʄ%S"OGq8J!+1qJCwªI݈UqXACBrVR-ؽE{;jXLq1{y*υ r(fzAޚfC-q"*M @0̘!TkkZ5:9̴T7 n;N]RB^Bb*P |R jZ wҡ.Pyir2DFB ] GR1I)2.HEb:#\q]Alx/9ʀ!"`ӏrtFG 1!D*:,PA/-cLgupEȴf568y]D=b07tlg(tBY Lu #"Dg,=M @FUWz햝8qbMi;&I;7MI.RzohU$ )BKKUbj^vjQ.{ .ZpV0 "S rOqT2nɓ z⊑v$qh! +7rD%̦r1[DYa( .MB|3TTp957wAД 8OZZH8g.cd2@ WrwO 9jT:j6yN]V]=kY7Kz]gT>c$$,{pKo- Fҡ+'ʅjVilٚmѶmz=U%Bv$XIYD 'wxW %)SV*+ }{KM9⨰Kw{b]Ѽ4ykK5Zi2y.@QHow[ӛdSrA82Y߫uٵqc "YҜs뼟IQykX x"yZj5+o1yq# ~(D-ϵon\OhKޔC'ժ3eփi[XsKڹ0'wkޠ׹o[nWwgob1-wO)6(XAbTe`Q=GTf{9*컨\ic[Jۛ3a/U)OXn>GvRm220;[]qCN=9ؙiA27u9>c:3R7-MM`j- !4,DL=_҉?bV6z=;}5FTQM ܰt|P2$ԉW"׵ S3ԎOK?>DL7RVi#Tu +U4#TbQ8J s2 j Mo߀PkRxPѝgSYjY餷/l"#xUHb 8uQ\"Y,D潶{5w5;kd2'}gI3JP~CN_|R]_WOVmwe7a|B3V1K;fPkzQ^yG/~GSJtLcCzJw ۛ.muYG\ Zrh#2dOQ =Ea UARi#Dk4L\=ފ6l]kzUԑP5I0J\lXp\^:Bj#7Sm2yn(NN?ԥ[ÇLّSt.y\caGΝNA mJ+DS4#d Q K5xe(,'PPQk (d1 RV$G>L!dYc ^*Q(n+e *jAy$r (E*) T^"3n,Q0JMC-5jƚL&;JX6Y0'os#'as9Ti⁂L]D`pnsdΤ%v LL )I1ZW웙hvZW=K&%{ytsL5Q$ZЋExU:J"X(ysը*HTÞRƂ,d dd02kRr!MHH!j@GB T镗-Vnrk2n.DŽHrSJ{{ACY0^3{o^;- T0.{9a.ǻPOggSr#IWP)8<:9GBF1L>BD/T\NT,+L8g*ʻIŌ@3 f4T*v ʤ5p:Rnvդ*^RW#) , GIﭮEm[ħOTD" _ ZPcpwM&+,+- KÝƌοnŝ\{/ YӰ5ݼ[\2}$CIu§ X~TZ z{h%'ϲYvnyl69 6$w%|azD"Tm5Nu. W pXYgSg/=+sfYixOM_ũw/n=FuKKikPyb"Ego1 %K@ie6;E qPX mݵ6\=ngGšM{>R9m jeػ7:ˡ:n u璘bV܎ET0k5ϴ vv@9c̽d(x_@s8Bvg1>4Z$liUTJJ|s+)G=\:1:ul ЙWJUdgb[o#)A^s: DYoһdoZ՞nnn^c5ΚpQCՂ ;qAJ >ʔi0)U/'_OloU#MKU'p=)meoNmĀiHhSh?|=rl@QJ'8F;4%rRk?wXYV2.W/uxkRoG+s].={%]eLTK !fRʓRw<ThՎ3XBHXhRId .$] i,T&63+b ;NDR2AplĚ@Rf+ N(n!CnJŗ 5VAik/ู d G}F*5NrZ* bsH*\)3=4=.W n%3SCg1w R$W~,FG*ٶŽo:|Nb  ѳ.hZ,T,vrJ m3)fj&އ| uֵp&Wd,;Pd.>X' 3hz (+ zL9,x#NK$]i}U \+vSXlL dH,!bSxGظA_BjV<,J9ju%}(kqLe: e$ BKA~>LuWPEW5W2FBF72 ]jyٵZ-je˲ƤuԦ|#My??@d(u.2-hdVDQ[lk{+d:edC%QB 5M-i>OrAN6LV)ZNʟp\.ʠ#Hg ?5l5Jw|tΪuzw;3fïFeژ\L#[[ E]G )cYrV]*B,GNȓ!E%atDV BɚB/3-# [ WLGR_Ty)zTĕCK!L87T&MVznXh4Y mݿ`c ̭ܤa$"U^[bW.Tщ q4CMYxNKbl,,w5eVܬ>M9)?mЅ O䚋'(4]xZ#ݍ;US fҟR(8s#eI)'lAAE%#)DJdFDFU&P\@"Wtld7 h Mpc{,GF C`0g@n-Hb#ƙ6&v.`L'EAAwXwQD3x@o wWQfTzokN~~wwJM߳jZ#59wR8T`W Lެ5 ؾUjݕpdjɚj8jd#010\p1P-roϐ j E bAs+h9b9rE2$D5egND%RNBV. ax&c$E#2U"[ [ ^ gƴ&i,gGCA|-li=& >Xl'0tnK6l[.(k/Auak,}|"['8y8=Ya 5V\" l6NAe}@96 ft.GNtjfډy̶ :5\ŀBX`}#׸la'eJ!PP)4J|6wt_ꚻВU6dV&PYR ~2, /ST 9VS0Y۳K{|u9cvTWI TE hTRk+dXԄQ jݜƶo뮚vl.5F>Pٕ"?.W/4W5F#(dʅ+~͚gkjڅPaU|!$fvH^ `=O u˜ $ojԔp?7S; tY뚑\gnDdwKۨ\s_U-}19Ut1fnh Q;* `5( AFfBʂ"HHC# "#T{% $LBd9CBVt dECXRQVDn! Pz$J>%ggDb @iOOݬӮ6A`f(MT7w3h .W͜`^~б "}&rP:}AMXG IdjBסB$d݋1GX6J$IIz:bArc!_/]|BQ(!B[u~=捏iq祈\PL2iJ$∫BR.eDFTJ#T*JNtXʡ18X+k,$ rS4NL(Vۇ! cV'R PБhHZ f҅]J/AU8J$@{vZ,㿛D3=/,=5nw9`fKBI ՘  {-T* so:27 ]G{=?ķ1q Soonxɱ\Qɕs#UNYaqH)% AV:#2W$` ]=2^%ҚJF(ndD D +a-H:@RlT2UBE\nTrA f"Cl O5SNw/Z& !=3`|rϳLb !6m^AJV 45~s<[ V )+;BG}OXkn9ϒ&#C z׃_~׿J_} S4r:ef( ( ";h ʤH?[RUnesJ2&6(edr bd#)H\PA">&i°I `kK /!D:" ~sw)48 x8rLM 4pIWu-^3;1ΰϞ!QO lGjnnw}]An0LNc!V.,4CQP oue+x E]-畷X(PBm[d{o^V[݌m8ŤS&]:Q.! p)އZ#(PgB5D12H[UՔMٻFl{b *5sQzҤUG֢%n"JgC ,L/IJR 3^sZ:>9epTg[{"ήόH$qJqk+Fv.UvZWJV (%-F*Ƞ J`\ T~U2aD;%re>=&.$Q+5('"r$@$ hۈKp.${(+e@إfp2~ÞzvS\#h( p Lc4( %B2Fm'F>͘X"}.toڦ'wTƐq5\'7E ">5ϵ$DB恈`%Z++r[rq#iEF`l\V#+djHd.t!2 8QT\ Na(R{Na KOPJTe * r@@? %GViO8@ 6CTrnC-Zv5Vg;`6p^;9F.t")"eYrE!GO@xǩW&gJe"vtߺ34h l5#E٤S2$XsnD*';(oSDզfjS/Cv5D&Yb[U[ʄFHHGt ;?$ 6BvBX>SnYӲ{ eD u nc<L[Zf?+*{IᏰ#ڈWs!nM8ۦ1`cDC"D ;DK@/ QVtg׽'<;>сiP#E3wU,qB=dլ kAslL``V슕-/Z$@ebB qU-+k(=gU8. 7;V7Q焓GV7+o^\cU#KΤ z2mpj+̞tF^2<ٵ?ϻ !o|O5{b{zqvq+z{Ap R3e2AC Bb g'؟~/6W?pDMU@oؿi;oK_ǵG65vl>W;u@DD7X +t@iAg!;yev=q_w&j>4LNw[rXJ;tES^6on#gv撪z^~+Ǵ'}y6Խ~9_j01˲ʤE.޿ʳ =Wbxkg&ُg&lL6-MĤb&4֙k8xId@7P;T)eV#v+NQ [qx̶3;ƽkyjZ^$@c=%^|y7c:s~׃ۂcb6M@m5A!QHj`w/rK K-';̽cW]l菊̆~jGOw=Lnٲ/NfݳBQS5.3yN4}￝1umûΛvQ6CIkVN?gtI.ds86T0d *،*= )̫JAt]3T9A` Ǔbٻ/j5ti4f 3/y7 +I8[=j'93*6y7.6 +D抁Uu"Ƙ/Vv|+ƒjb\T]r&RgDEC վ~7dْkEz11ǎ%A֯gEnT*y5ec*k;d+̶!uI5|~e߇~?m\M?NhvbMyF.rgw`ḧb!QVCڨ^X(d)֑Y T *1T #L9R *Qq)r.#I'WBbʌqB[% 4P)C|BFj+:%N!IR߹,f#nf޲A{ޟ,)n|57el0V)bCP (뫍 k`ɘF:X/,@JMhp+Y{"ġbT*2c/Fb޿;̎P!NM@D2jJUI- Ei;YF) vսHdNP^$ײtB.@-DÓE@n\pT  A}I9 D_7a%04P d@B1E@XjLlg7VZ̺'qNtVo{op67~.%`k13/߿,\3|@*s?A|dLU2҂iD~VD2n?L0vW PpD2 h@' tFeȌ *b;P@5H -B QKWIZ@0c?#@+cI˅8>jAZvS4ReFipr@0› DEOggS@s#IY4( );o lr5]/J$ З=w(e2,98=jm LȠmX槙g"R͈j%0<iGP˒QEcJTBJe+RyUdTU 3o|,=ZV kE)ˠ@J<\QPDd*x<Y⒅re @"!, Sbf$6I!BDx-ju"őWh M>IWvkmfF;)ڶmͼLe`` > Vg2B㐢{xf~Zc'*)@@$3VLe͔\LQO@<,OocϚ@M5=ٟ"FzY8f1+klT7=z^' ! l9ĔC+1כ*q"c# #e Y*"MNd*JRF$!|LQ),ʕQB1HP HiX-C$>QI"\8ӷpÏڴT–p}N4,cT {{8WCiO`@Z Ʀcֿ)ffຫ!ǎ`ǡ6 g|+ JFi{8("[ӬDx "5W8֍F˒̦)x?r˹ÕR=EZ~^DU9vݻ[Ǝk꼔):`e˛2̳PhYs ;J?䶋T ThlFLTxO Ac(# @HX 'bKj1|QX6]<;ژWZ*-+U⯺Xi0[ny,GFFn(e+qqSZ%b-У,TlтFA!#"f lsU, ˮG/FdIz c @k'վըԹ' w#^b㕥~f6M@%Y3 = @Pz%9!mf0 ;by v:m*ۦu6t:h$2Z?3OZo#?PB1r"BUvыf!٭{ :;+X[ҡy'>ёPp8YkٙJOD{/Uor=`k71 }t M8qE+iI]152L2/ $ kl[]~WhO}+C&?Jzܷ/ W=dfzg2vJۤbn~& hD)4D&~qF1ǪrZ)U!Uq. MV3Fp-AYBA! q#iBUsL"I,˭˩ X$`vqc6+% a݋T=~cj/9A5psܟ3-ga{L9ESH!u[OJ%$R&Znr7M2y5OJV1 qVUm9 jμ+v{%`a 8%ʲ06i a*V3HhSWFdr VF IT&)7HB DN%e1ؤ`Y #q{ f#.M RZ@ rJp "C2a1@0@o7;݂=]xt'Q">vF CW P5`df)?Mɍ>y8ڢh-e)e4O&: /|7_ZM&w m,j굃G-S,(uv匾zaȑŽf:md\"PLňHХbD1'R"mBDˉ*1JWL9}NcN*UJDY zR݀\@ " 㘰]U-RD-scޥ#"MCQTsEcy#(atB1:2CℼL-ck?pN]qbt{nahH4td#*4d%ѯAvɛrT"2f(yVCfs7l(5Xټ @l̖)(u~ͬɬff{lÉHÙU?TJ.ǨƑwUQd/OAI*B˟k*+YTۖj۷znvFD_D2A"%.6f=1KlaYB_QI UfOg6uV F׸&@'% C :]RS6zԂhu{%emZ6#W6$A,"kEgF*T^j?基'KލtL67>JnMdaȎ+FU᪕P)JɎ$qɸ' [̲T(dHCVeJpBO."42"L!WJMÊL2#|FH"\6Ztq8PˌOd%2Ay-RRJW,OR4Cn+]tq8t@л(1wƯE Pp9(B 05bh %>+!т|J$҃P&ct:yY3(,v|M=q3Tgpa1Kv:Qg[Uz}XQdrd!DQE6D2lRV-)7Sy;YQR(R(q7#23"DbX)@Fw*!pH^\-7:)e†8/n !N!'vt1+Ȋh~xg g+sDOWuzC0u3d;rQ8f di868Z}q2Ub3) VZu@&Iz?)OUd7Kz5Ny>#ef=NLzAU HYz!&#O23DX$eI*10SP|H.Q UD).EVr3$d@qx+{lR܂Y6R1r˅N8 1hiZC  e .f; ̔)ZYs23adHwm^m:{XoOggS@Cs#IZж,8:99687:@A1;5?=988A?9C8>CH:;6EFD6afʸ`[hw8ooQj"n0@g DzY('FE 0332WLv;NƖ7ov~U3M*T Yd%(C!BnF! 2H(FN'٠XJȠPId%+$a  Y(  !4xxǪȌ\B\CŢJ<DA E$CKȍm`:\P], b703Mw@Z=l5q ^[M3Tv9S)^ _("p>y7K/35c6Մ_ǽm:aNU(V}qO}vswy&-YV4EObI: @a"Uimeł D@,H2d &L%\9DK/zz{&8 EA%QJ4qLȊD #hUF&W66,q\Vn]7\Y KH{JQl~yL-Oaoi2ݑ`Bŀ}ۆs T\]lZh2_;L,2(0&stDy+ ;ˢ2e*$&:?q$M0h2 JP$,=Wk k d*P@b*Vb܄2~dA/\̢z¦G EmD-O T(hݾ?杻]WA3mްyg`:V2yckG}_gcfі؋iz5DdtG|bD,Ќ]&Q_C T#euUyZӘ9?dJacakR^=%e{~Қ\ն[zߴjK\ZkM5Z3o+_ T-pr8zn Ր `V|kdbP]12B7M5)Bm/H P@U)Ul#yV迒+sZU{,QOxy cYU mhhGhty >nu5)C,d}ޢ^͝_3>6,yfrˊצ}/Ӭl7Wst81ij:NhQ6:8}MLV!Rd֍Ђzpst_s Ss#0؛enԸ^YVvn3.nyroeyq T: JUB.Kj2r[>xdTr6RMwv2rf+4.16 zՁE &v?# G^+ߕ|j)ףϟwsVu6F^ZOw5K-WJu{뼹6eʔuO L4@ "]k/vlWR"5E҅Ig.唲X~^oJ__.ͿMM|5 +¤4Ԧ.HL|ŐK*K(RE؛׹5sTpJJ-%4JLC^ڵb3vYTT8\z˭>!sg8d8/J1F} P @K<}jXoY+*_22f3k=94t2a5TXL\c&~FŎ$lO]DP.KH! ֻ5ݰ{lkY^{,,W t|#6`w_ϡlJ1(_oc_^V#*.T8tXJ*dl SAV"'PfbHV rI M2(YY#f,\D&ep(``2E 6GdEr#j,?5,=Do=zV狆VB3G`" 0geq8 v5oX &Y`݄J0B; Ǟ03jJle,zGߥ::U긿cv<`?:#}v##wv^W=1'WB\[J##dۓAdRb!#HrP,0m)R(2,d@ ɔD$lJ룲2Dq#NFTߝΛ]QQW;OiZ S (nb+AK=JQ.dOggSvs#I[X,D7;9;?C@;+DCB(;:<=<:>=A838=A?9?A/96H{IZ )&{wY kKwX^ʙjۑE]E2.24hPr`P le:"ї*'ԪmX!I~\VK Kj"ɺY:s{b{jbTdߑ ʬ~i+N]\IÕт˖bPeP čvA. SR3h27P\[',(8D)8K#<ߡK, {((*T, *9 + L~pIyn($ɍpoڝ!UrU# SvxϵtzEDJEMȁ(_U `7^ƛBn.gh۾ױ[nM,$OeTDVߔ¢VM׹F|-fYWȯ9uUc^=2 Z9BHv^RO*Al it<Ξߗ$oeB+֐..Oe͘{?Y~pbS城N#n壡SN)ɿmK 1(.YmG5V6G\K/N:ܳi٨R4;q[dcoL_Vl}6ݞj=8g-;9klf걛4&"uS>wN~ڭ-Ԛ*hۛ(nUx}Wrpwu޿$hv0qbi?H|^(0naIYYg7IfJ(?pqM;phCxv{L(`m`*R@iq6OUk0Gn,}- a%y|^-t1iq?cF=gVv¶v`tk=)ϫlh<볽wמ< Ո+&*ԝ5Ozaӎ~dFw^^7]G\R ? G`܋o&{m5˻v17{{n&:(V9h,7̄?p .I3>>x84bLU՘0N1ormz\qX'cFד*OhjD@U.x^I^MF1T}sl\ˁ~2vH~i=%_ݟpGN>|ZcD-GdSu㲻‡1F]QkR["~.NBEM?FwnuGxwt`z7~odp5Hʖ4 ~\3sߞML@Io h{-&,?:tLLH&D%)TJ¼|3_oK~K#0*N%8my6eyڴqT: - P@_ߜYb eKk^*&r ݙms{ev^7}:;9$y+XY QԔ)%v4[i&9 +I/q1ǦG3FbY%tuh8/׫n5.ܫ yHF1B KibR.Bz+Te!+Y(l Bd@,-ڑb]Dg )em2){BŸddȕihܝO ݔC`7 rB R``K #Ut{]E`CRVv^zEP̟*z}FMܧdе mNS$d2-U YrəōjlVdft$k˦S,+Vp=JG?e PZAZsRD3̚9f* 8lr)rr|\J>r<=LzJ\qevomGKJnJTlټI,Qk(RX||v J%dLfYuo16'e% YԢF5`ۤKGl^%X섢=WXwGm|@Ck"h#[t+,=~&F^]ZS(bJ jć-c} Y!2 BZjT" Ҽ;*J1wFGoSU&ߞݪծllB˲ZR7gɑ>w -B1l#nj^K5I_kRAԢ-t DR~/eBM_LDĚ3hoq;&6nklZ: ֋#*5Y@9o2f3QXQQd!DȐX&"ecQ(dB< 2J"DRLY^R\̶BHH}qnO:4d*gFp%@3\jM]X\Lk;"؟S;L nL2litdrIVu&3GeY] JNnhAl|lޫD)Uff[`dqp]ur~_i6Y.G:2La(K۽\9]&T*(.ea()بLBrŐEEEZ@t/ 1Ai$XqŘY jgkkbmg059{zBH'{Y8& rmIF%3ffJɿ6_0mlVb-ǐ)`j|ֿ[iWo(QI+nr(aG2li^=Yͼ`HrSǔ(fȊB&=MYE;Q#kn@\V*lETCqս,HYdV[^AMBfRa'"B4M6oQQ:`#2)Xn䯷r1U'3bA|lO:#MPy]-} rdH2!F @/_;ګ0ʤ~U}`+ Z:٘72| 1\,!u^G:TX @_{[4a8ӥ]հ\; sLj^X@q2: ?r;H,ٲz)VT҉)QmQzvl٭Z\ `Kan0QAS)\8Q,ڼI߽m}-GYμmTB5b aPL*-&- )ԝU" (:SId4{;Vd%Z>|8/X8B'> ?* bDgcl/mL:\d^KD:Z\l=QL jj00(d%[MO+cݼRE>+-bt<+"h(eN*ELCpyx gҭ~zIۆS>2 ~fW0˺#j-41L*A<("R QJbRRFRB"bV#b i dAD1K\/294IZ#ˑ!)^{rX"y5B tR!3"%DNHݲ I ,IowI~(\M q7YYᰵa 4GUA!":S7c.dԮUa7NTȱ?u!羯d#8%)+Ie}uH\&p:DP{Oc w}Д :RQQfF5ok:k~2jv]jG:5Rt_y-NbTK!J弈m/T3 EY,%h\jGun\RV Mg @ dbӭ0F#-| YB+NNT NZ-vwj͎-ZB?95"l95M >-;F2eg1Ԃ"˝[cp>X6ܗt6ju>%CI;f'4A$NL:Jj&F墸YȐV6G!*Q,F2VGB (-ЂJOHDDĊV&\E*(0)S@tNE\vnHO$ Y#HչPRqE#A %(܈Aؐ5XYyn; ^:AYΓ3ح^ K3ǐL\Θ6wJ؅#)~ Ϙ]qCUg&2~bWNdx |5[Q##!j>gλ1ެ;Vg?˿w "_eeŽ`k;JA@,*z-NKY(2ؘ@T!5PLiD>&@,T &)en.r$IQJ/;C8STH 5Z %KAl5ZK1̣lca&k4 6n `*kLE:VʌR=^ ͌,UjBZ+ԞΟU>_ Mm:.ҘPT@59=Vɳ2̴-W(rƆr,S($Y62bHRR8)BLa T3Ci$mG$rsB@UJ`Su6%G)7T)1 r$LENIcH\@lne~,o&//9e&sgBǛ ,p0 &*T-pH J}+ y>򿋦fkYw?ͳNeϏ1vIc 2{8:.ϦƙYFlu+US-ˑ%{]Hŕ!%"))2!d p, h%C$ ,ɮҏq@r dCZ\H^O 55f; {롙Дy=\E% Ӧ 9r-56Wu2F)m0KoOD5rzȄ\-p\ʤp",(EjM(MB u$_6 j}%],Cwm?鲽b9&&ێz>ϟ)/eG^)7U|TMu{=ԑÞ-5mmZJO}@UBˆ@BfFb䭷qǿgS-5*HlWS[N>Ob]iR0ȅsvQPPV,ܐ!"E5oXIWL#^@Wh+:F Qt.CJ؈"@fQ8n $2H<<8nO#u }AZ5C*e+CF+=J,UP0jP9ecP2&Ɩ5xp62)ǙB[cvC78\(dB"Rt"{q~Kk޺rPI>h8gV|Wϳ9f|R6# 4M. E)#(U PP$ -2BK,)`"S$D92HI)Ar&..H9:aH.QV "HB(\QGHX,FnXx!,o2FVm9Jz,<4/*2azK y^5Ҙͱ 0A^Q4LL 8^._ E~ПhnuH0G[l#.4 Koy)-{XCT#UVMmж7?kBATPȈ+V XM̍|HHvMd-$̌Re*[*7L;lU/[>G$ t/uVp\ *'5eeaoWڜZ+lM<},طim泩zw۔gk/?nz^3Dc8WkٝssfnWo%˚m;xg[,Nsnrt X]f_poњ"VidRi+i3jڄX/wn&g6Tn'` ͆Bjq#jg"*@SCl5SJ~JD_?:x5>Ń9{11#_*uF]|OVy]sٞ~r`Apwk;mu\{L7}`[WzL}e[6֖_5;hw뤚eywٰqMG<9/Ud~5 8larM[;4&S)25Ήo-^A >[ Dѱ h'?d}_-`"%*r{ݽ+432E/"d4!AɦLV`XW$&W;&`aL}' >LnDŁu(}#&/HÀٖ1<\3GUY mqT*'&x.M9h8r"JeF|n'&hx z)%q$$#EID eYB'7(7ȕDWbѤ6P0*.T\6W(K MF˔LU3""oE.e .! :ZI)$Z fvˢY OggSs#I]ck (,=:9DH:98<<;;@EH67;6?=?0k X֠u=t4oem%{y s(` >d7!"'D4z1M(7Y5DztX`/R7 0SfGUUEvC kK/htK^ ^Q(ÅY,Wr)#UBH) QL:]<,3@d$tƪcP$)X3/dRM$QEJ@G"kk`AĚw=~ò ]>`ޚ0VhiU(e*sBW p|Psr.X#:dE4{cm$,PV̑TeC-oW7CME%/_#yw|T{T.L}Rd1s|̕tԽQ$rΩJ[P$dFUJfdf[1E 0 '2#JQ8T(n )"@J e.c7pSL+7\1;Z3аw) l~iofcp&;2 0E3k38`ͿދA$bc d7JgO`ffjT|~7%޼{S:f~`Z b.J/YMmTBfWIQ*MRD U*B zeX̬DD ! ZTbDT"TQ%D. ($A.rs/+LQ6wnEWݿ̭ӻt\޹"܂,JuÂT1:MM៝pcHHRoۮtp}bd)@!4 3D:dPNaRqweҕPK劗!!9lDL\P-x,; lA)ň47Ƿ[*rdnu/]( :Q }h~N"ً.2qW[iyV[U.Cor |]J.eGӇ&M<N栩:[Psf} r0]nzd^nnөu uy?ĥvtͳXD#䅌bsAH25n2BR@nJ("!E,$"eHQAĂt3՜e)7btN, # KYrtlL&I =gRRrCєR5]rJn[ֻmv.M1P3H 0s DžC kln3f!廏1|\yotPQȴr2r [m6jN\; 1ѧ4 RPTV/S6-\wsnR)8ZXUMuC퍠~-xHG"zPnrHT#Q㮾"Μvdfc%mL DD j2P .F-҇IW%Mԍ@˾Q<{#Lvlf`TL:HU"1r#L @XᒪdBcNYYHj Ѹ9ZMtDЎDrmOdiw?՛̌BܪZVկse*s|.9T!1.BȺ>@{bf,ClhjQY`2zxfbB\]>u-D.O!nVUbcTqځ; l=TL(թ(d1]TL!d50:VȈ؈,23 H"*F* 㒬8[++CT Ld7!'2'K$MO&4s,qdF&iC╕ p٣!iꌵ+`"`,k-8icT Tjc@"Wt!df̔@^5yΩG8N4K~[L\yOu?w?j7 ! 24k(C0EO!Ct4@',Q۵x3552~Ǹd}|Zttu*=]>5MSP$! @8:RQ0ŌLHqBDWQiX.T rSDBb(L&HAFB Au"2 H2[ұ\㡩I_Y IߤT 42d$L#`[P\>V&$,SԻ= s$ff!@߉jOggS@t#I^,M))$ BB/&68<56;:B?;(7:B>:4:HEGs7fڥX!#F ;gފog4Hz>e[lYϕD (fH2y~Llrȹgi~ߖ8tnKemRCk) dĔ.Ƅ[R9# QڊҊZ<C,mS& bqs"2 H:Ki"Bn@JeH@!EYqr!r2cc" @:3D%MA4+NM! $h &lU V@ H[&`OO3:sӲ\ֽ`X76^[Cꐘ*X_rW#-y?H>u-k'fj!<)y+{L{d)ײwauia@IhȕH ̐błDP(D$K22(t DAD+Dfq(@ tz!wEG 'A9E>6.1F"WB)QR ܕEi7Dq*6e rwbנ\0mD-37s>:4GHkt2Ȑ|}qhLUIL)5ڎFJG;og.ӡY ;"*\E+UbE((2D6/)HE\ DXQ4 b6H!IBE!"c@QEd8.@G6p)"lJy܀FBqB5\ĝ RU$kLoD`e%6Tȵn/7NTذGͽy^ &q [Ʈm.̹\VP%Ġ)J2DN E`l>~<$ojԔZkg;6;Lg|8F8c{z uR\Z|k8ʥȢC$Rh+Zbs PQ%R5 )rȌ*VDN(ID8)-!Wd RALd@"@&^d0]\ˆȕ# iE,e)Uɨ1=G#)!#+κ x;'g vf1KsX`d8"?^-@ 0$eaVgLv*oweխ"ZS4i=*a.U4F%J R1,: 4 Cy3ef&׾wMTTXQ*c)C厵ZDN|^m}ŅviyBu*Upq[(MOd△PEry]!RdBt**[Q,děBb tP*tKEr[Ҋ@fTG-i7q\EJ&G Hg/-z$*,l$l k{a /uk7L{Kղkm&Wpͅ9֨dAžϜ.XK.WccLn `(5J +IgK=nӄfgO{[~遝SkVrdA2;F]38ІZVpTLrMOjm542!XEn`ܛRddSܬ8 K)-ŅȞ0k%! Ȃe7 *%l\țX$/(HlT-$ qD6 2e:Ýzo 2ٽ.a zݦ7n5/l]\AS]p^,2$DDl1 FLȤSI%_Va ;h^&Fvp,< P($\S-(9&aB+D*ٔ1I1Glӫ,?f{__ZDTKc1/ c0AP&-XXUdώmnסg{6LN@T|2"!ũ~ hƏ$6 AVIT,X4cc5VL<))/A*0U(;Otn1&+f:ohxΐ< LCkbddI#?eO\ z+y%x3s秛X6`X ]-y]C3QS,$sܾwR6jRieikb0J zt}ػJ(TUw❖w&Fofmlԫ3oG +Kyl:>B~*?]}[f{+庵}ƭθ/v˂Vb3 KZe^qH/QV*HG|ٗ:˃dFmry2b1i5gp/"CiD+TqW [;X~Z=#ӽs|7vMedrWX5no(,;o|[}d1P>[Wkq,{\1ξfmw˭O7Lou} >]oӎ5n6a. "qe!ɞw=sDpm$#oK;sޏJh11s4 9̟|f,_Uힿ{fzN7Ӟ8ڽ  YJZmUlkH89{}߉g#(ue,FM Ĝ (.)̲J yƍD6[ysI7̵ƬI,٥-z!I@G# +1텙鉟L:1i6v8{DJ.^ֻ e |]J]|rXBbq;孻콹lkz D4X|"@ybz"Ou/H ŭ9YH1[nZbm~cll")u>uĴۮthޠط8}C~ 6*"-k?^QJG^ml)BxNNt/edff,mgA.So@oxGŪ@A$5 b"-ٖ:_.K3u>P`NZMz % F43QO BR ]k}/״Zknً,VA+ sewbI:ukdlxn*﹮-Q{sMY_m*45Y6\ U&c[?Z˫YTsD" &\&}wM:\F@Vl 﫩}>2t¨$OW03 Xݲwr]vd|[N6邖I1Fw`.~9͗BnJNI#.U*_u'[j|L~tH)TL yQ(c+#!ՔDTsq&(W Ƞ XET!ťTJ! 4"n#32JUW5S$)T\$x19;:<:9HAB<*:7@B1.˂ x[5+ZZ6av1xv5hg3)`X3{^֜u 'ل%2։.FZ<B^+E1T̍CqoX~Wu]GxâSW 7@7S R? # +[8[CL61ȕˢ%DGȑBVv#_fXb<7_T48+Sr*]⊘vpLQ,q=2eNY0ƭ,a܈T> -X f5 pEfKqSd5D97S%eIJ5y4q 9lu fú Cta4Q|Mߧ$cVz߳5Z]nZmXD u#~xhj_~·q6!]~J_rcunݾ[٨i653k gNBH7,љ3D@TET.}>y+J7ԘS&HGC䲽GN՝čpH]omjLa[ xm^ {ޛg#U-y-FVqk9MjV9 Y. 혃 wjK52Di{kűx iӳ͘..;}=;}4݀^YY6NEN[+լkHZGϻ `S1-x &onwUq-3=\k ޙg9VWYhuwv}pޛRJYQ5O;FoR]ƫw𼪀V@xT=4@2=Dγc'?;oJIw<3awb~:f=O?_PY{-W:?):k>a>gMz<>qJ?k'v5v2iWQc͝"GH ָ " 쏐4g 7O@$cO&x33U*W 1Ͻ}>KO}K$SZ Grߔz'fbޝ\? 㰱4-FAD-\\VN;]oխN1.>ْ{;&b;sN=_?UEYi^|-m^R'WunUEwNC٘sc<ΦNVϷSgTf3-yTmw}+E 78q*NOxZsrhrӶ[syp Dq$4H9hS9Vî{^%[q~m^W2%q+ld?}SYKr&Rl!bH)DG9[T++WJ.+YB1Q,LtFfӲE>4G.\b#UBU(7GCޓ)Nu@g$G$EJh)@Fuf1 "8й$8 FPd&9`]fWXsuJ4'W {kzT-̄ez")ȀG!CH0/=y e1Wݤ\*wHIOӹxMs2Hͅbޅ>dR\ 5RVc!}PbT].J)fX}MjQ>L"MTDH"k0^,%b(U:3ʛB&5vǎfT\ CY"f>M-ᣮݣR~ vwKLE.#{TNkjc(Lbl-#)RPk!kTHC:v\F1sKD!g<,;EҋY5|C([*g|/_+v&*] P蔲Ze.C2>fU)I\L{]`G(䅈Bmooolgjgle1PI6c}ᘄ᷶5HQL2ʅbgn;Oqb-z,+&]iRo. Eɭ]R`8̨ >nzV:{ߌ*йyvZ.; &bs]DO8ϜyBH$OIF*[+4@ N6{GkCoNRQ$NE`H"b%A>@vw c4ph_ϵj`s!s 27f\:1'Na/-R5N_B~sr#eҼJi&3cj䷲\A_kҎ8Co[4_e\͸@Z9o*Id2. 3L,+eRXBXQ."##d \q蔑sxPR$:đHќ5R @K͎B8s3Cc۶0rG I ^ki&&izAZ@.7ٲ xyNbY+t*R, K]TcI^[`ώeD"Q̔[Ӫ ?:Mgqin^;[q,~ˎ#Sj` 5젢bH]wR2Ӡ*" XvAZhD!i@ܤP\Q-LRvTq /7(2.:Xfp=n UԦ$ D,K/B$t$($C%.KZHe$H6 ˜unM#Ӡ(o y'7l}i8@D.kjٽ[_DS%,P2b/ ;aV{T.a4"JQqUm=dB5J XeEB@y. _$\ QFPٚޏ90m=u8)e@ H6^o.,p6Ocݯbh"geR&o?3g]6𩍮shm}|;Hb=x]M'ަmY92 FV`P5M3 6Re6_9QJ$&В2"reTPA 2X!g)%@CrH(ė3#ķ B r)0.g @&p!<]\0 -Bf<(K>xoc,I?R}b bwaghVb!Lws> \4KC!#"iQP 5Z$p!2(%"bmJ9ȂhYʂPH H $8),FN ZZq@:BoOOi) 4vd\:ZD*NLZ V%$2 B,TK#g;;x ߳{-vIsn0/ S;RKA) qPT\LWj&C>PY ٻOD~.Q,$m5..IɛyƀTu7HdE*mQqwgT63;C) 'rc Bl{l<3wI{="XkgJd5 @k9IXQGY<\K8u5$!޽ahBC &LPY2k_>{"`|?Q寷uRs[{^iZi1 k1rd'/&J0t&j5)B@Ǟ(E9(3+e﷯^yuvq \2Ke߿cNMcUtC+]Tnsks]Ȳ|"+W'q ݥb[ͼz6xv?ַgl5v˾_h,ô[mܡ8eYMSmFlCNH #Cc~ݡ{'ҬƙX!+|`q5`n75h{}ZHR۱UûTg_sInfLӚԾT$NLDf0   oxUWAcamlkۻԕhm $DKS@(Pl:3a`(zl囬btّǥ޶m {l7Z˥O!1j]Tv@ݓ҆4JlLUh ٘V/b̭Ԁ1I'-T ҌvA*yTVn!P)fDFɨf"""jE3 AU5Ŏ,BLxi"ljʍP-F"Zj[RCw*3s6ZNB4t2L[ j9#$tMt]P)*hP,"] qJsP=t; `V}Z6 76I'0Eyژܬ+rMׅF1-L(,nD*F_(Aa y3* ,ЃTV܀LwQj9i L}Wݬ+!mqHX\s1-rN"$E2&2#edLIe* Bf&Ŋ.Fq"ɰR(RDhYD !Qcl$ERJuL&.#" iH@bd{}X H{%HbCJ!@ndd5zA Oh6`۰F;XE2bnZ-_i[(ss>d74<!ٌW8G(by?Hr ޼CRBY~+*t;ޑ0MSD'?NsC$M(B"CnFR)udr37T2(BRj*VLMHd\&*T@((ˌLt8d(  @M_,sٺv1]6eCY܈t)NKD5l@WM 1Gի@Ts5Ԁ!2 4zk!F<-ttOggSt#Ia 4(179=D@!6:4?;:@@IE.%+=9?AA.Zp`<~TJ8>ތ㹟ɲ|EpUm 2-r:ef*ZKsh +yd*XC]夲5r@(Bd2/lוdfjsROTrq̒b؍SQԨDŢx܄>>H 6pL8r\iHK]$PJ2UxAad  $aNC@4C&$$.=.PfGYhػKUR33{Lv0y`d`fswl>Қ0]b6bH67$>XȚgnyU̔߿[ϫTߗGYs gq!/5I]B\%Fy]12t\BB)S4 /4dTSED Q6Y QJW̲v% 9(33oS|$@d*@Ch *d<ՔpܖI*"$p+@ YZ$:&._e/c޼fmb4Z2pd``0xfVFPgVˀ aeFU{'.Kޔ)S?Ƴ:luf]oVu5M]:߭>odSZ/NF'~r異<1PjnLOO!Mq;QrV\<9jEY*oI(di" F H50 Sb%E]QF J"sECBz8/C҃,2ݬ ) &arB 耐Sw B8]1rƥWwbuMEgBnݻg X]T8p8 LP e)a MƯal %K( ePb]q=p]?#d&9CZ߈4ESWw\U?KMIJ2Epm&j2L2d +U1aHJ,UcЖ<蟹5*TFn9"B9#0] VF2 2t ݮ]ModwdO(@cZYG} )@ѐ& G߳_mw76vozN-FӪ 6 Jrnz{bVH-B;Ddd{ .2׺9OX߉p_$/*[N*BzR%@b򲕽uhg~|w_K#$??7tگN,If>MM13͍j?Fk 7])yXE ,FDVd3u*u00 6((GCȌ@ D]N} Pɠc3<D1HW%2$sHBR@X)<ޮ\b-]O}el0l7&7W9 oƺj<->WL l"ut7bAƤXDB)H)`->AdԌ)`;:c!)[:4e}jr[-^y. % k5rҪY=qABK\ɩV5q 9CNTejlgE!##iM%#(:Xȑ,%(J9䔼Vz)CJdA"@"'RkB $=6 _%R}> ^J-$# h/ClT)!,KYU& n5X#tVyCWYAj-pljIEl`|c@1Ǩ$13S&+ϝ7LYU8ȭ?}+y܍Oy7RI$9UYC19U2mEO-&Je*B(wD %1̄(3M$&"G2"2 Rd%D ȮrC)z )AOI/^E= "Gbf4n 4Q Zf#`6 #m1Vb G\v2ic(>i(}a0$t$"JqCe* pDwYՌpCiYi=Ud޲ T:) _#EQK{?ۺ TQj92ʼn=+p'S[sC< Jcت OƯr1SMUձ[[mW^grgՙ VW% N(|ʈxDMڃGBa5D^lDL!yyZzmzݻ4p4 *8 o/;WEn g)pѦvwmiolS׺t]ً$NDMbF! RcOMQ3iEmɉN1!B1A #&3R!U2R)e$ !+PQMQR\ȅBUDN.)DcAN"Brr"Id!)Hi(%(brέ@ B:M\.a "BFb5 j [[`x)ƙmt/ g.fw x3{n_6*΢E ).1q?HIs"{绯esE2SyT|:Mke9[o۫emKtOws4DЙQ(ʃɌdTSH"ȸPpY AtQF.L) AY2YBFy]xR,1%>"K9QBN$c\+q Wܓ4bԀX%EKFe"i// e%I)Hhۗ#v'2d&րM0;AHkSV q"j C8kZTN%aW%/U@F~D(ev!EWFQ-**XQ 'g3!"lR9D\*Ag!QͰ+G9FFu$I6+_ѡ`,!Yi/ͥbvU N'"Z7%/2chHaǽis&yfՓ\g1ȴ(t^Uc)tE S>}:p&`ޛ)UL[W8ïL;nl$N=bXG!?>qžrU=w[Atfص./r6(^H T1!T#lu ]V8A đ"XH$.C\52)C(FƖ^LD@pMnO”ʡt)q26\؀Y=ψEz)HdĬ5wߘógCŠYԜy`т c1CfPpw8,D j>;5@o_ Ut5P,L1WVUl/^j֐d4*&pA'ׂ͞q+ &hv ,l NsiJĵsY)qQ%+mzEdۣ~ -;c6f~\­cUPOGy+mq˝_3DtUgj5ppAe:M&){jrvoE703Awgg$FuK2vp{+㻻mlZ<3 V&^i e 2 M@"*8ɏSE@A1Iٌ2efԎv_(F.8+q7)$dnJefw=ν}w`xw,ݡh^Gw_)gnˌxM^_oٶx7ֲ[3՚^5]F\5Y+pQ[=<Ҫ( iӼj<|:6eϯTވQw6Yk #7YU, *+1;KHjS&FZɓ"T t.o~Ao{M Z^EE,/"JŴ橙RUh[ g,[ZpjIYv\QvLs7m7p!Q%YDs[m{](Z<A./)2J)Y)FR٪K L,UAZU# h)b 6E;QJD,")rSd=l7&1`6(/S{a a ٻ{+g%<2g("$/)7گU,3\IBitNrfvq%i chvԙ$&Y\xD깖jJ}[nhn(7:;ED0&BLE.87::;7ACF@(87?BA@DE-#(@IП`Q!  };D;6dq#p-5dW`YJbBꕌJ#br]Ј2Կ:LU\rp'C!:lj$&ߧ}trD=VdpX6I ҚC8&OJ"[]z#8J:+B~~T?HTznV5V)A6TOf̩!w+IRnnJ^%[GjMkoefːXKOjǔD2[jcJ"* }h"3ac$̬"vbVymffϜ呖[ݣ9q5^^27;'z|HXh=qh\`Yi/tdˈ8[͍Փ{wbkYWmIcޛ'}{o=>TӳK!❄h7Crn,ucn~kcѳŠiLȮ2Sb k}0 hޔh 60 `ƁVF rfE@欲QKA7_&E> xxn暙JjTY~)N]ĦRxjW0c$FMq)e~5GGK|Zvu~-עr(>ͷsg~[ZYnʛ)wEww>33.XQ?m^ÄɫQoq~SGhnari{zUt˗}z۽>cveӄlgq5s-e54h=0侜 ݎfw~2axM1 5s\7!%;<Ԭ.&{[3XBP( BDDbj{o*{SwW6/l{B E&*efН" @eŖ ֒ja ݁Z{0nr=yKl0 Ҷ*3dhS4Mc}\ )$36V$#n* M` *6^Sn@*Ti}fŰ$*C{h y"R\K(AJD# ###+EF4rr2r#r Yʨ ۢ)r dҙ],+'\S*GgHAQB!ĥ,A)NY& @\q̀LSJt!B!@j =,fEXfo8`ho$C林=O S1NX,8"n41QAժ{0o02}L p&=R=̪;K(p^G1.NQFdθ ;;ֈ6_~L$; pԾ ,nҔϙrW&b (PuZtnttHL< V}!8mvCьP.\+@dhߖ͎^ l ꔆ'Nіj-pOC pJ}d)6YFcJnx'BmoT2`pY5,)@SZE8ߊd(̜X&=H=3ƪ$ X3f0cE~{'b(J,SDSm]yUۦ*fdpY`]D&(rA´$!$] EBf\,E֮~ڻ-Y{J n"+ rԃd7@h#T)#(MUUOJ.n5[K/kMZG߽OXޒ խ3;طG|G#n.!fJͨVhdŝ+׻;jw~cenTk@1dd*t!!c\RnWJgoOv,w1ET"j,FT"zC$BT؈BlI, 8 g:(DHFȱ\@_f9[&c d"J6( 76[]\r@5Taq䥱q" W0q坨VJ Р*лM Zn+ma-(2kp.ѕmɚ္&$~쑆WցN v(U $i)Tɿ*b?0skgTuӢk#D TBEYI$ӆ9֤AUD@PIBbd)EdL$)b_.22rL&O:3jFJBF${!R!e"RD1)TL :Ʊ$v(ܱB$ JuX ǔd wkHۯH5.+pތf۾Z ۸-Cv6`pD֨.^P'b3 3Q:mwu/<@%f23^"]VtRd`hl2>$mGR}]71]t<0.2Q -6L%gv&ʣEIQ*E 2ds"$bҐ"- go&V 2SxܢG:bd(&9 6 :"1"FdXL 6AnMs)Q`ö¥`Ytg0 g%uDh&4, zch 1$gPDBS5Af4Eb] ?s}CJADFA5_ 3g,qCOiê4=: a?dD^Qe=Do{ͨ1)4u*E@3BºGdzA1")ŰmG8FC7̃n콸Z t'q|25 CY!1D+[޴5yyZ-m^h_]3^q8[RɰB]~pE- 5ww&߾ۿJo=ŷ{ooqEt/fm\m+Ed4Θu#2ԃ: HZ$<9qj>&;HC5eHG?m[`7:oɋڸxwDc>NG|{!1mdH[e6ރǾ"9RoYBLvSt1wٹi"\|.VP&F"Z&>I- EcQGAr1 G+RuEJGwSiSiժ8N` +BzI7M|Rl`ٖh6 +qV&iV3gjir ^T2|ԳWq Ut޸-"ʁb\03ϔQZouú9uV'G=g5QuWqV 9Y띣|.;7x#[;zŬFssOsݣHe%KӃj,-ڊLv5Ǐ\VBq#VYpڪ[*x ^xQ]IFN$ tqcq1l'tNP8;OggS@.u#Id0E%8C6<6;;9<<8I@>5;=EBC5,HFDBD( Ll "{l;92QLeo2X3w"}sRZrW~vk#9P  ̓e]`?tGG&5(@$Q#/˲_1Gۼ&LYoUtkq`9|MV)*ʫQ.IAvzł09^\O۲wwQܻuyV"g74NUCTatP-U6_{bo4`2\DTMe92N6dU)Pw8t@.K!eHJUyiQY- 6B{+Y^ rlt Ј-@ kZ07k Ɩe'#SZˠ6Q$Q.SzPI-6s[jB%<\x̑$IIThexZi| gӰ3Փ`ӼMexwWPnй'w3ݖhC!< d 8?pSU-UYGfISۺRZZZ 4:b!>NnUGr!/z>}9|:億Lۻy KW7[߯vYypU8~ŵl.iL=SyP>*pt,Zs欬Ճ"YK_Fw`dS5`r6sI3 vf ֘ƆR" = BEt wr  ,nfj,`\m߶]s셃>KӑoGp& nE|h /m8XEmmj?m7I\Ji_vQ:Ǽ#p{߸Uݏp^l:9ӽff\#?uf|rc"[51 ,ڹv6znЭ}ϧNzNBgDŽ'fN &0>wA3t~O1ֻmpbܭ1z?"&RǫXI֬ad^.Jt\&>(fVJ(ziGi')H"Gc[{콷VWʶrm,ʺ/&puyIoW|ᕛN6 fj+Bz* H|P nQ /c"tWgi{]K{=5@^YzI}{o?@_ו3J,. Ai4)vwV䊈5SHNt]vD Wu/Zʇv*󵧹g.fV:ף,eflvv) QjVHl ^dtnM;,\rH&rʮ nTRl/rXlŸLo`έI׬L60fM@AG@W 7ڶfPpuN 5u/*,ɶ^>ɊKU%Q+҇ZF~Jg8Ɩލ~d'9V_Ozq}{BVAT7\Y,8ը\v7'n6:&n_+&z%7z~K{!gmF̊܉@P\. jG= 颙GNDvq]EmLB\cmW=A2gyX5!.X^좖vp C; |\ZhH^OggS_u#Ie!x;'5./06:GGF6=;;??>@AAM'9:;:@EBTPPX6.MaXf%e웹yeMZf#?dPhRg|:gT%-%ZgӲB^#p'kcF)yk>&{6V)'m#S8-_2Zӄx*w_**.!K}nDmمy#)ʾu=3]'Y^LOegq{dL9 U^ҭ\4.&+3&LUnznnB<2[=-VMS$ ,I%YL U\1 {) x@ٲ܆{wnt&Y"(^egSdׄ`T({;@) ƵhL]q(S2Vo~$jЎp^.GOm;DwcU^e%3(?uM\7c-&9K>cc \I_P&o;T{}t !qy:^p$Oͥ\\afJ 4M\Tbn ˦^@ao2r4C.mJcJ:o[O9EA@}h0̞T8^=%`+l jT=j qN$aĐ'Tʔ1eq ƃ 7檣U̷~vsc ljd21nL_x#B_! 10?'c=Pi٢w_pT%^4P(v{}t=s׷wa[]z>-\le|u]a>OE 2*C*9{"˒UjM=^P!{mj3qlT.{n꘸LRM0*303XK mys%ϭN׻$ 4.ttT2S?&~Fd{mW`c ^-ҤMLQLh\9+ X%>هfb ]NWPm*UkmU^dF]da &j8?|su#!|9盍9ڶ޺޳=ҳ#&lbn2lRIF[] |)+ M*.>yͳq?/zES/v:Hz^FҖff J;r|v5WQ/WVJbBֿG]b-ճHट\7ۼkxugG }%Z:gq#Sj{kTx)Ӌj|#Ky&۱+J*R>T\kF|3|nrcz枞:c'lXfHmQu첕sl$MG Cqo;+l  j#k\@IR|Bz{zsj(}ߛt+G=)*O}0SЂGj,(rCeXɺHV*Og<13Qyf="TddHA=sKq[ҊNl77]mAfo+[ks|uH@(z> x޿7*Z&^8ʄDTe\Kͦ{+̲g=h&G4/U xֆ 7ƒ.,m#Ȼt ˛q^Z tW^59HBp]SRNlrOf}Umwt;ʚ?F)ӹ:YbА@bA*M`l#bί4Ա >+ʫ*`T'\ fxq"/قӣR/XCUC Y,ᵼ8~8)n~l~@n> @sL * _Y&,þm&ݳ;{zH^t<  ( UiB  7J)Lk~E-oZ\59?_]w27dp<ɫm8UWQp* i["98uGF^#Je;ְ/wڵ'kNUÅ-ڶk=자":?=[r(<@LWF9VR鲮4$ 6TXd䈻 1G\i# dРޣ`;SRX0t0gPzF\\VeVQX(~LHj6+iTY#J_t}PG1u(3Sb:AF_Mcfos@ތ@]9С_|U D44^Txފ\yB4ٮݧZo4Po4JdB"ii;uM%l%]4ЁLK$rb-P-@q.nk޺81hZwvZê_xl}\y?3jcE 30i$U-Ɩr#x~UN@fLGN9o<''l]}Sryvj(c)*242o561e`D2v= }6rۥJsddRM]t\FR'J֥ 1@䷴bD\v&ׯ7@&⻻Ԝu̼p3t8u5Y.%|+R/}nrv=^bQY|\ 2E$l ?\'IY&}ԇNe{n:uVGzYsF Q,~@haah4[>!a7<([U*ޞ!{iYmOYvW': o=PIE,MP~YPnx%Y\vyUoV(o~y6:up*u@2( (|vP<@:oRfl&zo}a#<+oyq*7iK7l>lIש\X)H_tѝY?Y*=L2"S`vjndKnE"[]NM?lӐsqŋ=CPŃ֟[s)j):#z>;)νZN yMV&DȄƫjwt-4|r7{&y[ (QoOe.ٸ ۆ[u*K\5FFhswq[s=4n:a Pc zCiQ3y* 8D!3O06'Tfh!Q {9?qE{AJuS6r/OggSu#If'@GNCIIL:>>DC>A@AFIg<]]XCȟ̲50GFXyoT0"&e1Zs;Q N ުYPV*JTӀ}ȫv=vW ,.xo^RJ"){X2pgZƖ? g9}SwJ>t?Fr0- tޯxJT6/Ŭon2}T_qƮ0`1`ثGuީdmo9[ՕsA*=&f^yM밡kG2BPwx9x95݃O3ɵuV3WŚr(G*ow.òzd%^FmcvV{k:0=>S}AQ^%{tΤ0@oqd$ϔ'^Q<5oތR3ezi-kwz ]NNɅ$1 5z&My 2 znWM\4:]OH'߹W+V䄻 st!:jZZ#AĻ^Vnz_D}VusӋ_s %3\*7U8Xn Wn8t)Ԣ'}dKy"m~t*nfc{ y_{Ѹ--.Hwxeٰ gmM ^:1^l yXnH|v[ {y*C HRV0xtữ<暙 +37rmNc;f˻Ze:ɤWDZ͙(3DR^])oC˳ۛv*Uز_E3WW"{_y΅LI;Vu*ٛ=WRXWuNmfc-a&.KRǂl_ _^*9JՐ<fiO`'>,V+{tCDJ11W4~{<>,|ZdԱAGf$`U6:#7JGy9ʁT9Wodxڕ 'Z{Gv͐N6q^$5)9Z 渔.4=LN wvX;Kkr<(? =4|K”ӑViM+HU?.u"S g sc z8g حV_{r9iۺQ'ݛY "uQrN Ln"K^lߦ;fxרt{'^vt\HruP uR+(\7´Bm|lV޾XgxCpdLI㾜COȲxiP֍(jc$FՑf͚eg9ӒF5̑LP. (Gb0w< o{sjJ*hk[+gڦ=jpԍk޷D_/ $2$8v״Misքx dN2%kD@_]>4o Id=֥46ڛͶ[siK9\vפ * ķeE 9{v>ָԉxi%zfޘY +U<Uϩ_\>]goϬ ^o9u=k\o w{Z3Tv݌3";I }۷p w ]Z~zӔzg^;D^[n#%XQN\f͚YZht|OWl/^͂nۺJ7z\nTѸzFFs'ٛqK*YyҢ5,L0?&1faz4KqUHY*%hgiN5_~_IYPp͛1シW>8?~+d3;q/Z}/8OAwO5{^٣MrzppKtzc *zCoBhmZnTrDV~*NuDf=SKߐm#Q-sOWrp;750skCOs fL`'o-g>,@n>m!;ƅΞ7<1j@Zk6i1Kim ʲ"3$UC'5v{7\,ʻzORSj"̹87[ݒyJ-1-Pmٷ'k,Ʃlg˄nd׏viZi?]%5aҙiuT6O)V<}^T K"UQhtl8U2ý.pm>u!2}ʥ1tg'6i;AݔcEН} L4 ڿ2[u3LG`t=`>.@|p݀pp.R }!>00_'+03F)5 #K2gc6cdz}>JuTT(@muwjX#I̷ZUrWxWN7ˬzSozlugwמWtRV[*lƓZN44elkJ\C&9zlM PUQt h${=Tuk4lhmgfE6]G1 y1֔oA@i7p ,g $(Dw@jr$91<|&K>45/j{AƶV q9TZ- l M Wb3$o+16gɽoxG~"61]"eϲЌC_Q  :ɹZu-%/ϼ e{TV w9ӕGݎ@^=Zlq]?+l[QĬmqkd&s_Rf 4У$xcR|G=6Z՝"]T:+[jv66]lbUtFArad?J [unӛˍt vdˋoZnwKmիĦ+dBOκ;U#;,7%HRi!Kr}zakljֶmޮЫ>Z'U ~XBJ5%\kjVUl{o{om{֬\OZA:P|]x>[(@ zj-Grmgm(º]z1u1*cxCiyia?9waofިJUh?ysQQWy9MC\Zy>7?#?5<)#bT#aD ؋jt) .NBػtwJՍۭv*qc.(bEM?V z{*Km @FVE27aa@KaJa,4qTHfՕѹOggSu#IgU\T)CC=8=:E@2;H@A>;?A<@9<@BN45<=8BCEEr*w7r!54^eefgASVsQ/\3 s8g6cSD"Ҕp "\ǡ_Q<7Tl½1[<drI#y~aog}U4wrGm&*Nc~eY(4C7zG'YT)o.~~M%K*u& ߨ4qIcW,oyoӲY>=n6pdn^oD痎Uhk* 1uoxx80b #$+t L 0 {Ij6v5z-hy^=u^.=.l&^JbMi' JUvh uSU< |CL}}2FXs:{ YtZ v:S<J8x=J;`1i LjGz鱙 9uk }h!#+suXi}W:rKS޽S˖m\Xj6rR`Ef9԰7Ty7dUym|_3;!br1YLNlx{̀l?ÎIDrM"s_֛ڵE;k̗~q6SfiYc34j+y~$Yt4B Ts˟~tbv65&url7XVZ 4`tHOx7RF`}|JOǃLS~_K ~4dc5ۃ|p~6%;o%c'gs_9:ҵ6$bwwyJ)K؋66A]1gu&[SY].'Ld4 t79};+ +ǔcїk$[Y1IY;M4ec{;Fw֍U 蹷Tf23@>%iֲg? 9T[fY`ph90S=i|j)WoCc|K9LqzcI2323 e^vϿ1[Oh~&adzyF~WHvE#8y=WS /O<ň<香gn#_t~1钭* uo(wv_h92cVJb+V }fmh}"7ddfU.]Si c$I鈁.Vsgú2?r򶇛 I~&wlde5a,Pf1kt/͊yMor|nT']ƹ viEi_,v_8)xG8{$]p9AKfl@/9`^vtvO?nɾi?tNZ:}ďi0 Lv|H׹n<>^~FgKYt~pZ%wQU\ ޒT SXE-=vDybVb^7/]r]TGMr]\aiΊ'3IU(tOS|*S:`ϰs)^gOE_ f6/lj)Z;j ܯnZ\ժ+ݕ( ;gum+=o(*\M6M{WL/A?t`F\l]*}~/y+$#TϪTV{jώQin&uN+wdݑ@V{3[,ENK7Ń$ۭٴ+aDahSB}@:?#>FL3-9]7 4&xDM# U93֓{.C# (/z.9{-2U-]/2K{~;!E 9v1: |W@ZAX`&?l$Ɖ(2,Wzc~QQYmF.k\I;g:,:qnc'["~UJL;ך`_Ry_ |;Lvg3a^~OZ"\} HcH]4~?ݝMQXCf,-}:?St<.Ze]V*pȰ _Ĭ(65(+M5\#3i켣5m3p4*%zRܖ*vw__N%ݯ3;ZnO*UFY'#GJ&5`'T`MI"ͥmR5<3E(:6&ݬ# rF5,b)b[i,w&Q/ks.OAJbl N 6n- ]ϯU8ŋn9myOVz{wm+#V[צ|I}>^6 _vX$&|DŽ(V+Ss|\ֻzbZ<-4zʤ2Q1 !,lds|ws`̨7U$h+b r۸x}Z۟Kb~tSR1OO@xXL?L>fΦ@*߯WnWHNu[wf^-Μhr߫R-͵z6n>?c +#ֳػ+?'&% @wKonEu"LtG_&T5ukUO]}xs]ͮt5Ϧqtww*qzV лe/ugIut4G̡C^P`B nnuBHC&/Cؼn뭵M/kGSS]tT3//;4 eqp7Lg +ui++p3kL!jSBƫ)Fxo5<[l"$A4# 7* DcIm0/^Sn]jybW73-yL&. *1ea v?ɸm}nALޞ~fw]^SClN%1xssWH.nGnkSgjx=\?ph@VLʚۓy2QhQ=7:ՌSi]\(@ruZF6aT:QNC5VKr[]*=636Ɨ%d%\8wbX&8Y,sTA܍Z~w`J*!BߐUƚq&7NL5*X^Zc=z e+s6gy\hOhҽH*FnTĪ7Yqh9ٜҕfQLNlTM{nsM\ΙW ϔ;-gs!΂dRf+i٘f s> M8p\FTf>(Iu.qT.;1( U}I;6ռ$+IbD!䅻9/1ff g=!l 1H8a(~\}cjl\Aj0]J^gQfѲ,{sj=?muUxa#zgQ~l~^ s'NJVQP"Ht&_޵XxOʅgG™9K._ZV"TwB%+BF0hجUa&\ͺFm N B&T8Dtې +b>X9O"x d6B̅7ܨ gҚYܚvkVa @ڃN\$w98ő)`~ N; JXܫnOL\LI*e^d>u'?9xm^Ձ[)ߗ{hsϧb{NoxgS&jV^~Q-M:_įW瞾MdnryXU:˙h@v+DyqnBoJo9c\ q8)NTW!H50R TCT$Y*2dQ֙K200̍ilmMKitj'#3~;| WNG 'Uh tI2O\5/P%2+yWÛ{o\]-:o[ZSB:g.ZiRcȏO-浘Ǚ-0 &o8 (ɼQ36{//w=xqX>w`9ӆӊ2xՉ[: &Jݷ54~n"J\]}nBv.%41$9&[IVg7j q4-rΉJs0 %lKىNEOIq :þ:H D@Da 83Pp1yNsx63[l99pc:\&A/)`s)D0 v8V4{U\D˧~Xvex|RW3̓ΰM.v< _YB}W~''[?`d|ʻ((I :=@j۾R*;]zO&p\e^m{nekedOd!TlrݚJ=?<*۫H2õqJo=3mM-19V2:` )H9eE4hx׵u$ $׼keW }[W~xk/ls7>oˣ/=evT>:. Ay;22(a]R֕1"Poߵ)Qˇ{Jv+uvmD}&>]k0c ՍܮQWk < A3+fуTX( cMe}xf{,prfex ɥ1b:`7Cp( %ctbM"->H5;HsNϗ9̢ 1vs#O'_q],e~7UZkq :P р(z ay݊d"|7,aq^ }`3҆ѓ*7hq+vқRFƎfrY4}I@<5"^aY碂}nA'|Z{iA LT9അ9i00jg+ K& iY gKt ocdFՌ2TػqiDzils;-7f3n6{mnUg܉^IғM3X^p VŅU*<:S=7[0kŖf|nrd܉tD1 sZsjXCluP*vIҊ$4qո>K9l_#72UwvW}+ U%`ILg_B#wD/M p[zPLfιV2]-4X[H$:N?;^«;ڶ~1\_%{>TfKKhE=  &"zH^Ƌt݅| φmڶy+V1[t&F@_Y- l@ y[eIeKpf.@8KF;:F?E9/F<;F(Ba4E" fkmGL{cc&_!K]>z}˺j?5lҖq)e;kQE!iN fuC.ɼdRfW,/.VI\<=M-NHniTwbP(Kl=YfԷrʅJk?DYyMW_]Vլҹ% 'zost_Y錑+úhDUtIcY4DL%.@dVD1R`$,< YH"s8E*B2~8Rm2-f\Av( TFВd0b0E0,5ySu<{ afإ`p1>ġb$rNV5?6i-X\\Q,߯k%{k~ͱaM_wNw!כ{1Ŋx_+ M++:ʕٮ.JןAy`.~"4T]!w#z~8xyk?mZr8֛+ :%P5lX`/nUvTW,+{uP6jQeW dD@7Å#`~gw,kLVmt`߻`_ D) ~[ $@^W%AW}zEsI \1s$SefJoCxJ]h׺+VSqUvDmY{w mKS'4) r%ӷ9Ou9}W^6Si9Ճy Zc v (.~QvS ݄x֙&6I^/l{s7hu]?t$q=GJ/Egx.׎$ fw.US9d[lc:G/V uw\f%Ӕ18!Pc6@?NR뱌"ꆇ#)$ӗ;[t 3ySft:uҞԢ(J1e7/+ uĬ^~r2g*}*oov[P976T" S)@dA.9>)_ 6T{Iq.Eid ߵN21T2#bbe@ԩ`!1AN?Zύ$ۭfQ>0>9kZiZ}kl a^ؔ9$ }OJ*d"'\% ֓U)tdU)R_<O&)Iҍ,n/ݮbvmcմmNVlX+%*k6=; hS.+c+o L^R3L)U}SuZZ⭏3kLy8>u{-v#UTx-9 ; 5@DGZ1Vxȱ̋d@u>*leMܦ9Co[HJ1I&.҈Hȳԙ#~V}収elCq<K SԠEG1d@ Z2wtll)/w6eޅc~WDtJ}QV m qIuxDɹ BSSUqq_ō0at[k9cTA0ZEqW(+UeM}5VL%)ڋɥ9Kx͕dM$gsK@y*@ &ҋ2sY_ϫWQtl,i151l=qD e@f5򆒑Jh-_m:j5LnW.?_YlqI,[-9Ʈ>ީGSFǮdjtnaxJD<+?ygik]V +4zictV Kqw(_H&WOsf7g O=&n/[/Zb90++B׃a~' L+TL=t3Wf[]$2Zc4оJBdž P"Jk@gvD#ej15&H*S˾? L>畅"iӳ܇Z=M_Yl9SŭdԬ O+ sRǨo{J."h0P4bmWxY[DDzU+#+\w @Bb,FnWhKlt tfD^U )Fp%Pif."$.L4ĝ[v#" / =n>dw?ILbK+\~ cHH$MMYh@0߆&1SJY On_v.ŞZ 5h_y &TV:\wPlە.JLaSTw2x+z $U)rk8(hn/=/JM#E0Gals8vުġ; x`3Hk6pK5\^ľ榝ã4RVS>\ z$12j`[Ͼ)^VĠyji;:үjaYk$HeibthBcεCΟ0 uf7"QNS ŕubT=90.OggSQv#Ij|G AEFDE<>6H9J-70?<;::=B|!} n1CKC$ r^!CS-+Q~6f=#(WphUF+lXǯ05Y!y{[u}Q(1αje׳}ާ~{[GwRQ&٬ 3J`~G W]RSM׶L۶ml[[itJ_`)@ >oߚK+~r7OEcz_q˦kX{eb[mFjls{6yL5,F ,PKtLCM4oJYl*]망;`Ϡ_OwpH$>,g_W;~= ^{>eE>|7~&ܺoƹI]sx*^}R!{"z,۸ʮx驽I Jvnߕm(@Xw׆3fgv<7Ǫ]fu&mv LJ ʙM,gS9)`'Đt_3 ,lw-ʮD_"U!,.)X`<+!y yИX+ޑwVxďZk97,V1E~ 7l !d]z3(ox?duYJ &3SfJY?|z{v:|s{,_$>'}&b`i55z&mЇV=!]tӼK[vD,9qiNGn֝!Z̨4tv?}Ӳ} iFrbV_@U6"%**9WaJ2)Nccͽ^Jd}aSOծp uӈX9\/#3:5 ןgsQǶ%;zwl2v0Krc874\ f.1GN f##rLBy̛F%zoe}|LS^wk=n=~*U+?a Awa/㽷g#%E׎}6x;u|VϹԙ.mL gU}>ם|}yvЅ)T/@#+'c q3]qujr:ÅѷbV99' |GڬLp;830u-Jz:5 j{#F'"v~ N Zӛ(eϜ.g;S0l:Le-upZvh8G*0z؀TB&5yhқ.rFǻkWJRS/ʲ_M۫/3?sfWR^=;˯h|7hûλsQtwpGcgvf'A{m}}Q牆,&-^61r7!TGe&ٳ{]Q;D ds+t=iDg>4v/*]\wd|VZ,Zق^$V v/DHC,D`vI젳 pxwwl= ȣSXC yMur].6k1yy+/~m>F],?tillF9^I~CE\Tk(ɻ.׏wk7槻l7o.v/.4Ļ.jen՚ޫ{K9 g< M߬6$; `!,)q4G[/jRۮu,US Zo#4[oRy'Cv)ɉr<>wvZZmjiK+?޹j!;aZaZgf37ڳyk~<1 lH (\ ݜc]?YVGKLffFٌ)%ovduXngw\V׋ᆳÎ>gߟιx}*^(mez\(+6wnODXvwTxdF%SFl*ټuX6i|tm\۝jR#~B7v(El?aV 1JE>uqUywpwW\rӾːwbܭc):6ו(,'{ ar$, i1WolFk ; xS֭Rq ı),"q"r2s-53s2Uo(>|~iL;YܷrX~~g{/hϱ7&|esZRVbGJʼn^7Jqfxe{h2Fl^OW~bnݟ}no.KsHT0"B9z2]=R=*FYY;9(s&QNtLyܖa sS PQ:ek,b]8csTZfԪigJ=Zaxƙ}o^(2~ #!ǨtNqbϮCy3C>w@+D>JRwC*ٓo[↓~N>_N;_\dq{߽3שazLi[8X4@| `FWk rU@T>utl[9AvaJ@v*8;:=ڔ:4]-`2&{zo4~s$;ܻ3F{sbh,Xp9HXbVm5jzLj"'[٩*7xK6.jLZ鋽@k1c>!Ni07' S#!ču7$8zH=_ZB<5-P6/uӂ{XeUmάטo^1$L:UݺE{hSg_gz{&1YmH/&' 6LԄH;1Ho_<8Du]kfC3n?wCJ yPdI/oQ|3gEϼ1 $"D Hg)hK6Gp_ O'goK՚}AڥoaHP_uy퍽S6}ŬOggS@|v#Ik|U)HEAG=BHIA.'I876;A?BHE?;;:>@F@JI<+ UT $@9aڎ<]~FKz+^S[ʏ=Qy_mBƦ Q7Uw;f-_ݞ wȍ$fux=ߖnųEj0ZT,v`>/@:4 +ZvW hZRZ6 nJRY_ vjz&@OMEd5JC cyyZnE^֚knZNߠ{ ]}X?>K^y'a\SQKV2[;[{E-H4r_(B:s wώ;+UT9t=#b>Բƻ+{ۮlۨ7݅!Tb >Н?v#I@ ?Wkt)yc[j~jTTʷ(:hN. 3J@.BǽP{pv$9T{N?[Ǽ~z{bŔms^MMjY-&ҋe/s?@5WyqۅmתӟZ"sV52Y.^U݄JFw9/se{n]O%"{ӝW`}.CdtV3,?ܡ犳莳:ոT] yS]>,z 9Jp7eE=r"Tɴ"#=)% ӻ#4 c+l lв^a0+_@d^r& {h}+kf­+_ݔlx|sJW'dnaVIvXϨn8GQhzM4.I*ғ[LQiauLC]fk4̆;7< 7Rv=[ҎKwS:N&de{{fS\bĽ[GsUg f<ϼ}{MTU8 {?5u0f;3j7) q|{@F֊ <^*MfdC(V\TaH N5@6(֌}}A60sLyfjbjݶ&v_v|uSIW+]yo:eUy?H=6g}E3?{jtd)|:񶛿RTVCU2{ؽ}ܸ󶂞ΰOqiG?.?uR^m~-Z>lN׋:Uh"eO{tՈ*1+,oߪ]CK*綪ȉyzsyW37>>(\:jmKiU~3%rS= ؃11{ YϬ]_,0>x_g1ʻҞzSLKYK)5nGV_ۃ3: xqq1rʙq_U鶙5 ZRFי݁b܀ `v$lVL:a}SKEOZ 65VByp}l~Gݕ+euyLi7۽~Jcȧ!DB-,buuUUv p< n+_;*r=v{oضmI]lzj2X7{i,ia?JX|QqLyX\mco֕ۤޫu|j?jKQ8橒=$KY(Gʝzn v[f . ȫƢ2BG?V*Q7?*W"s*vcZT66muNR;;* \ER[=,>{gvH 53UT['wk{b\p\\<߆}ˌ೜mH,FٱlyU=*P/%@B2$\)C=ر{vQo9s&mTDltm[]DrTn4!&O{Jai%uVnk'ng,ӘJi=vfRjMۙ#Č9n)#Μ$Wܠ`ۆ@x *1fWafo:tUKq#<^7 1s [.s7ug S0++.D^փY씵vTR^2OM~rŵ71,J:>дnMݑ$Ue{jƻOjfĮ<%Onn^1pRe(pDP6i;ID5esh%b>zK=NKW*]6>tܴjc&1l!EDT>2Y|ѦJ"?as*hmt'fl]1qEBn`ʼ3ҡ'חUD6a{|S>S[=fnKMK٢E 5DLp5B*vJ]UbCvs{i J:9gvjތ aрR0F)e{REBZ5~Z*v]Ϫ{3?==N]omI`4,B7~l$lb|3}yX&G2L)gom][)++۲|$s]PrD `CvA,'.6@@9DE?::=KA4i#ϐNR3tbKj "fw4̍ y̌@Z[Sm]{5掷Mcj}uGXz'jם^Hț6T[+g H~2i_#hJv{/sso?z ڤUcw:%goT{:ŕc}s:Dѫ#R5ڼL-d!Rb }CY{1p@ QjƦ,^:7ַ_ܷc>ʸ.}ï?UV<.ψRH,6 y}暡|VΊ}cun.U ّ,X*,D1NdL^Vf4 PM9RDTsJlWoPՠ3"Ξ Q-RD"s#37 UD@d2v\1!}g#e )@ )B}]QF̴vcۄ͙hf0R,s͙mYñAS'8ޜ:D>tr#AJzS;-{d[8HxǛD, \@a ǨDGO UOy'j5ױY;yjynn!MGol!WZV@ 1:xQ2tBd~ J ņTvIBtqugxfY!`$­Vk|)n7jč̈Rp&ƥ0XŶ60zzVYmCְXYsl7byb3 yk'@V:;PȒ1gIs:vAXY  J}~){'9ycW &9f.ZVټĦGi8A0vQm6 h͔3cڕ2_Wyl{EPPȮVu-ψ]v eV:@KKbr'VQQQ 1LoBƅҁTbM/x?גC@U }A)%<7I8VCduI& @7[<\ˌ_rrי56e,13{ն+>ڶu8`(?HA*y--SY;V:ߛ=i[ mL4&FNbm- #.ekP Q-'9Y'2RϿ|; 3AŐ冦?SPW*Rׅ]ZHE]Rz~oo۞2.xKw &%tT*78 _nBk4w3KuWHZF7i%};.Þ=4dvǽ+z*c<2=YNvv-&R.a ).]K)DFyGRҙKe"v%27rrGMߘU5 x"t.rzDPf}ЙLD݄%RUV5~ly"ix3RbfF9VA}l#D& (D¶,@޻lAyoƔ$/+[wr'o?2T2Ţ"hRv6?J'~a>A|^DydOunACȇpj]~=zt8viEoU7Q=P]A膻Yb.ƐY(vu 9on 6](V(]% (c3 PTPI@2(J z f2L;tuWол5mlywb^%#pT04z%0V5&&*\q' qq}-o kG}g϶hlR>>6@V,ZLnbR* CԦ-ǝޕq\Z֚ʖp&qgص.SmV`ݞb헂 oz{>E|C U,bsG :ݻ״{5{E|{o*C3yHdB+ Uee\L0-8su]Kw6'Cs/\Nf }'9480 @ޮŞ Fj*>d`lijEYq[8v0B;pGofF(NPUzv߇5nw @%Έ8(-|k{H' 0SӐg+c$_~npwZק8 Ng=ћ =8m8S@v2_j1pi«=Yuw,^pg\Y=mL0W5F_g,m%L*U|;h p~ܦ xRX7=IƢrS<8@jf̪&|dipr$Y߬sק䮮Dn#>w4Q2T3?AHt(r o$:Ö{ЀJ_goe=~KݩUnT]%s^UvnZ>>MʭKݷJJ]f,Zٓ:JsX,liϙu'{rY-l@"`8OggSv#Imy%$:9DB?;4(/K9:DEC7?:<9=:BDEI)XPqyL w95kuS&"Q/`ؼP pׯ~q^jTr \?kkN*.~KzweP/LΌ#.Os HqRzVd)ANrD𬡂ZyUo==#VN7Y7L8Vޖ'Z}" <ѩM-4:Hg!OV" cJjWRpn΄er*NڣUfMgkcnq. s6p\>%]DesLE5I$7Zꐡr|ΌډwSmm+7v<<AhJ2Ȍݵ #S@o]Dݻ׫t [{dm0e٩el(hĚ6)7]GSH۹"4q$&8\uipUC064[%5]/T(EP?{8b,`+NM9zaEDW I&j4/Bk֞֊7D.Q؉:,^qv oYCcM{cg&uŎkWF 0d".0-ݩD3*hm+BtϤ&0A`5i&&pޜD/>Y՝ju]M~Φ]1Q-Rl\;N)}>Q." Ո[Zy^NLثcWtJsyVmωro\uuBw,nݻ|n3&f5T?E&7p)#7gg#1!{1Iٟ&b?EmlN7qvF*-~X*h ״f}ewN﹬$Ycuf1f5Gwu/ ArNpgQ86*7!u:r`M^ @2I!eJ),ޯU2/; }> Aߵ+3Vq%*Aڕ9O`3=bF='yߜ[8V9KyQUڟy?5=MsnDCu"螆8vȔuG3s]^7Qݕ'ZuU "[Yqu畬,q6eKgu9ca~C&kڽf5zyLʧx w ,ja-"p^,l .UtT*A؂h)SOuŃݭޕHfF)Lvo%^{ l%}]h*3/Pfu9 ىwxs[v9k &%Z+yb4ܘN+n+_'z䯺TS-'wB;K~ saһD:F? F*8 bo[U鬾`2MW!ȵ\)]?w?Z[0C㽂5ɘ7p 6P^t"5Sj0 G;%calUM)3}" ?4Hng:UgZɔH~"AV:U0.̙>&C7;gLL<\GA;Uf6-&rWS(UF/Q*i{+-h=TJU,2me6F˕K&l՟k{t5(P:$̬ ӱ}{Y5+nohU" @x;0B_n@opl%^]"&P32ʚ\yu-$r$mlJJ4 4"x`b̨g)S[W|WQdݮVX0[i帶meEryWNꪢ5!l= &u]^|xn ZU〈q;f6e4){3M ܉d EPZӨl8 `okߗ rft,_m͚;`t SdbE'"%TW !W^lIfx #KF,G2gr{ouey¨mZ3?wЋ =d $@k7\($=>.ͩǞ)N37!SLڴ"-K *4xNĿSK;weliU;+ksfA7ԋ0WSU7 }xglMQںke2fԧl33V074NP-K Ոy ow^Jp OteF5'"歵 ";Y`0McR6J'6ůݿ.ϹKWH#m{7yT(⢕!/ @;YcϤK>8,3*JW-ԕmtƓf39ƶZ |iq13バt.@zVQQS6@l%!'B2{׭F/5~FTa ǂҡ/U/ۗdkP@:[_/͙"~5z{vz0nZ[z5rd 3}@g@CC-=@֯H`! )S$*S>Fs,v+f>vUxBX||$R+)w[Bb #'/jJhk:u95@hp6UϦq.-~Ζ^vް`3z?l沣@YٳNnOo:Zt(-"ykX6ieE\K3? RVu.- $V$)UsXdw[º\ EDSz 0N6fU<*^ ggSHKi$DBq(~4;S~ &dLY_1ڵ}O=t?~zsf7 .n(|i?m_^z?#$qW>;<{o)`p*NQFtسty!#pke&@+i67Zp&|H+ԝ4nH,\v.z8"tÊaU70ZKtOggS w#Inɵ".799DDIDG;@=>CCL0 bl25HkiZc-4)4^LZ-yBkWxP_vJl?PбS AZQPj8řnfI֐vB2cɔ@A*"]5/s%oXOHhlOPfjK)2 ITKB9qlKL?jĻ3"Rh ܘ1Y 9di@?*_m"U}*O%rv# kNyd#ۃ Զ\bX!Hz@짨.sxQ;sKȅY$*K"qbX+1`Ԩ~OTW ̍[(/rYyg]V{{)JdN}3G(Jgwgl6g ۜA[4޽ғe/8q޾'.>WN຦!>"t1^l"m5 va@ ^} KFY]h{6ˆ ~TVѐFQ}ƮץKr}6U 42cNƥJDÅKƹTLsYrK5bRHVeߞ܃P=yęΞWhM/Uj4olOEθ-iԂ>'Ƭ7; A@0;e3Y`C01k1n71t6:s!Ve7YE=mc`]3Sʔ7isuz7.›oz6Drz|Xհ$:t%3'^tkbһ̖.r̼.}^D(ctn+UjiJv{}vuL%SD_D}jɊrOj'XyutiTÎClc?xເeTGSRBČ~j״w<ӽYJٳ>p\YiLJI6HYj-λ~k[]3j P37"f CV)cE&4xLV5UJ9r"P=2H056͌2 g.;55⺵?|o$^ uO Bf,n$Srɠ(T*st( ƘhZr_t'D|xfU)W.Eﰒ[ll$ tTˀ.{| ?490o{m|6jM}Qv@%uK@(de}Ѩ]4JRl&۷Q3fk7h/x/v\t8.Yh*jOWbM Mjyz1޵6oKdv%k tN\ūySvEe#WdzQn.Ų~6ʀjL;Ds ײ_O"am yzf,?Qs~{gٳ=hezj_7ΧKkE=V5Mxqpoݬi^LĜsf5֖[}n8 @[r᯻"kU}0/K{ٷOCVz \ިSI7it_q&v֫uVyC46"Vg(Y=˞v[p4P=:id_ J*"7P86j6] ʋی|=ر]=@#tw7;"^r=%.=-DvݮQk wq c ڮAߵϕf hN9x6~Mkb ype fE6%@A׵'?%%d2UEkRLq[ُ'SIleFmfϓKh-i8<56lj5ŠN73="̣㵟'.`S J8@дF.5W5?YwO@Y0 }=`bg@k'`;"t`9xnYlbO/g@zQ[zvk^U`;uc.L8 v 謪!(Hsd]>~.?^wvwNPyRW`RSs\6^2pV9Xz%:~;f2Q8V(L_}.:e7)/_؎ 3tnmb"z'1~gtOΑT&Na8Fd'}6*n 2Dw={gĵwݦs<|rOggS:w#Io[ .D;<68<9;BFBBCCHLG47A::;9;DBCDD<<<>=F>F>9=1}ӌegabZBqR>-8@ (=`ǰ.W{q7B/g&N%T3.? "O]|KG9{l/k}M.1k|]ˇSVO|>@zMF67řTس{K۶VGFƤKtt; ypM$k6lKr* :kzKF&t݌Rq3%M$~OhcR4Pr\^u? ro,Ƽfwl.#,CAC:,veTe=uso/6X έyD*#6Y\Tdžy@fݧYS"';s"žv^E}N]Mt"2/N,M@O:{Gwx9:}#a8[Tj볻[XoM t !ƮքQ.t9@}g{ݦ(+>l\}^?kYp/.9l`:Pj-6T&k˾2WfPiS,ib<~1[힖سzylcޱ[ j?Mr ju`$;rӅ۵mVzm^^ikk dWџ~lv{4?kIoX2=G۟&g2nǵvkOmݻݴvnZٽ |ROv`u-! ,~RrA3usu.?RăNТgNϷj ^F/, 5wFde.݂{ [Ht*Ǝ{&t i$i~i[{ 6\55j2%~@vL{;d9Zܞ\_:}{Ӹ}@G$ЃH˳}l?r%M5ݭeI|6M}p?ep=I*ߊq5^Jq{Y>ge.ΞR> V^)]|yx?>i\t>KߝU -6C aSimHΙFbU` `^Z= LBp e 0@B6%1PȨ'Bm 2e,@ss.rO~Oْ M߆3C]usr9S6s1LF']uQ Y~$JO.*&nuc[,J.C4?r wIF{lG=مl/~^*d(`sQ˺%䥃)~P7cVːo+`:)d:O6&4im=3T](j6á"(Zf_fEIe9ɣll9Ax L"R8vlo+.fFMYU?p\]ZoLۚstW?q?c*"5tN=q7%YN=1g{?_˫.}urϳ[0 RYϭ8]}鶭)Mƣ櫼GVڶNf9mlU9lmi]HFƝbPYY⥙uɖv&U?jַo:̞c_ߣ`ûM0 Lz7i703ҼX`&yhŅ HXccJ`qO[Rw^~_4k~һ<4t>#;6,Cf`c"|K8_Si +s=~7 Rv`\PVk]@x]|rx:<}8oL+ƴtA!kTPh& Vd?y٧VI(o=7!p|R]Q+B%ͼpi"Tw BOJilԖ>v&lZc7 V ZV(,;~'I[*|b3*;YV'mmʶVfLn6]'WdJpG!#WF Fob[t5Vղ:b=1l'bn!6{{~ܼۓru) Oo'xz}mF2M<f~ᙄ"֪\{l4]Scssl&T AhpLz$¿¤Bx.Kٴ\e9kO?wwV[Ymg iKEzT^m{N9@o8+i4yT+ͽQFt#G)BFk.e|uZhw6A_4v1n/b#~^{+NOlVnӉ1%{JZcߎ]]g'7ˆV0]V'aJ: 9ykW 5bcӲK@WKF3Tӧp5y#*)Y5hZ`Vlhs$%e5;"o>%t?_.^n<صAnKl]JC=TG0kUTʤt)]S߻c.m:.{Fo*N)cɆZ gRmF Je@\Wϖ1ek-{ 8J &*XjF,mB@?O.E#IV+?J+[+=J˚ t@`3>ZD|ynޝ)Vٹ -X(W*k `ݸ>g+d RrWa~wZ2Ӿj[ 5p@bɐv?lVA i,|ˑŭ0̭v"k,f*ޜ9*JIP@g2a[gtiE~覭mly׫kmlmu*T }BQ0im/Zۄ5>܂ QjJI䭕kA&9F)5fUv#wF=pu_xxԛni50% (O1ӹslO{+J7%7SݚIpC*3 F+K*,bueL&nnj=%&^[bͳ[&*u+~znmuzzC:Z}pAWޯӈT'Ā@Ѫn]UDp0"že ƌgu Lwh&ꢃ + Z"|w' &Ifʔ2&V:{ww+ r )wlx8s^0I/MT'ai;)~+/g'T! oDQwOL}(r1}ѦJlj*Oܯ|2V1:7[UKg]>pL]Ư=!*m}RLs}!W_bf!5JzW439W#;z|4Ej5fY @lk7fm?7 n="<Ѹ-}@ T6c)VKUBjj|ޭd:u5wl٣?;QtbD ZaFd4. ?v9}ZyE3[375Am8 \ *c*QxF%E#3.B+o~ҧfa@IcXY$P;Ho4d>QKRUs_y[lOάNoYbMQ ?%W薪iDa3*ٷuvj$@V-g˛wJac[{ZjKHPK֡"F~?V7S%m$aqz]{ۺvGUyV)f$g\JE@rQŹ.y׍;֮!QߝahvWvSW^)a0/ @ q~@+EV9d>.%fwAt9n{xzZx 15EB2? Ajf&eG.oڶ+V36ZVWy^Nr~mdtbFrmN??W\0.FѻafѪar}WOiJ2咒oB;J%U%~\v8̾~YjoƝ3[r'+e^ZUrkr-͊6B,#3C!d* + g7" (% eB$ L 6dfKRy\!A Mdhӊ`0AϬW*}3z=v: qc3C0w W^IAjVWbdG ڵ#N^L)UCzWiil޿@Ź!veZQJ7>{N*)t! yW;{G|UcA*t\rnQ}>)ZR^.w굥:6`s%q1ALꧫq,Tj%Dȭ<#5?@SQu{ayAˊVIBW?W ȵrvgj=@X{ 7[t}.ojĥN3M2>`תW.T]JHԩx|}m`渦F2ʲNZNwox//|T6__bL}/FU)SŮP_v;::VXZ߽nWJkhtH9ը(U*7/4 W:ɻ,\ ~lsTLyR $ȉkQ5&FRZ5#FV)ea)YbOf;#te..;שwbFQ:.rϭCCQu(?TIec lw5ՅJ&e+K'tIVjQ?ߪL߭Wl޼1lO=ISCc?C6ZޮKHԁ%oJ]m}Ye7{޲} j#W~"Tj|ڭX[5=D*]2y$#GAKn洳۔$)egX?a N[3wI {l/,Yt%CT$Sv14=FFrFy =k߾q(uˬ~aMg>7q=-+bODM ንrTeL2qsLcB_V-)ivpm}ob(،)UJe]߾ZsYwOlD5l?wNg▌CN[ZcR xbOftL(|ԛQ6ӥψAŤڹ"yD]Z5kU8|w.oK^_X  qQ2\E::$zLWNJ+pdL)u*Ty149[& tJ;s &4z[K.әAU%D1 i҈%̷hEBEU9l)]x~HƸgrSUoA'/wo˺2tZK8ZprAP#V[UK8'`E,S~h)(j-v].T.OnAlJfqC,_O-zCO17^xօyZ޽ڤMkіݻ\6OggSw#IqP1.%@ 0:DEBDG%,1'CDI3=;:==;;EEdN[U'Z8!9 * ۜ[0ḗk]~}Ein6707Ө U'?O,O&9@zPT x %̢? bN-#nԮ_=᷌% .`gkg,wqPiaܩŹCq.+RJ)JV_ƷZع*7}f !u;qh]/IC--%0} 5v3bW9A4* 0l pzKvQY~h|$x] @wu ΂* H6)`)t`&4b?n5^eE $i 15eef߿) v򗵽_k^oq/87s" *GduoKWUѓp[t~R C4\@Iv݉r۝پ6r"+]or!}j6^s")߻DG8Y(jJԚISKUQ`24m *=6 }.'tJT%/"0 2D 9UCK!YɄO Qu~|H[@@eLERkdtN;αb׏)Rjq^]{RG;G'ăv]*-ܺOLZ{ս+]/^Mps\PFlȌWD\_tkCfiXwMoo+ ^c'\z,oWONO =AN/Sedۙ𑤂њLE2ohs*s󚌠q:ȍnZHst)tBi]! "/c]6 `<-+ T%zK)*lv\t:Qj`$dlz\ccg{rC4Tu o/D6ޟiwO0N껚U-' 0r]Bʐz }Op,gC!oO܊*viqwoMkn2j[SlV\HN !Pp`7c`۳,$,Q{{3mI.ͭZIx@Qz>l/YK4v՛)5fjB+[?%. guWɹ3ScO+3\q|>Ǔ ^zv=/A^xj ¨]tdi%7SAs=#m=7ȻUOgKK垞M)\~ɛ3jE[nBdJ64aLeAC-U-er!ل+Y)v5Jk"Eu"m5Dv5͊@U4k+v-mAcH&dU֖m&ٳ~s7f5w+6Sޛ3”3`,҉ìɎ,-(MSffl,2NUY澼-ӕV)5=ow̙{2fV>ya[(J9!s|ꉮ"ryU=_םsHYٳQuOm'¦Q9Dn?7lߏnM^y"3Cیp7b#MA>58$&b(9f25q[Gm>dT6En+w/Df:*DuI86nx[ţ16.ƽ=.ݍ2<9hpgsg @*8Fbb}n i ?Hi,k5ku'ޛƔ2P/{"|{nȼo/|;#ߔ@KN<=a=SZ#:7u#@g)5:窒\|^o+wbnh(2JGTxkb)1fOUQ-HK:X])6+FFV 02+22r2L[ϊJTI#(#0p7 mƱh _ 6[x +5 5~}0Z% 7^g0{oBSoͭ-DV:7fJene,>9j=^4TxN4BdU&\wv'~reU;+C:K=Ew̍h+T_+ʿLurU.]ppukw? lOpuOVos۹Y\/6ݘ80/a Zp9`oL.X0 q!+1Hcvν 1vl Lbԣ@@;{peP?X9^^2@>Uo]f."$+MVB*gQUc2llf}<Ã8ݷ_W7i7SgQ_xE_%=3D;{B~4iWҹd9*@i*{|;{V>qifNjkWhylj$d,p.I$HY`i6+*7,clQlA J:"Q U JHIpSfd]!%^3ӵeGb)]j{ndM7Oιz-`SC ! |9#}O"v @.q~e{?kUIRlQm {mPmӺ4-sVZP錍yE :?ӗ@nn8G#;ݶo sڇG;\or;vjT^Ҭ )hTd;u3ރh33LZ6l^3 peTW}{^'qg7gS+FW-N,yiðy:yҩA5+# UT=۹׳S,|#>#JY=Qre7#8D>ëzGT!"9q]ܔ2g§aqBt.`׋a%euudIdLL3w= <XIKgbh>ai@1Ab}pb ;LYa[T,ZeQ+i͕} Rϳmy-"hȦP"x`Q܏$)5’C9?'rzr,t^̚Řw { jyҽ˪ZPYk()<{3|K7]8쑻{9 JFFں!(Y#WRh1,Θa'S3pFJBURU"m< [q㳑R)Fܔٗa4KmV̧,~kʓduR畣O\&YҒj2f)⬗] BE "'MOGKy9YO1mqLޒD:e"#БB*NrGs\U1}HR( qŌBt[yYylYٖ]ޔmΫdQ"r o9sMYVO70>j);T)qqӻw[wƢvZOggS@w#IrґTOE#=88CCE[6=H=7?7:dl2`++>6~Y/fÚ$fc/OI qgU 6nW^C;Uj$HzH,H@e"Tזᩜd7JI,S>xȯZz8%# ҵ/kxOuғl:*˨NY͚&G =enK"VݷOyXz_/Y'L*[*^ANfKiZTfS͚tG;`4rfeU/HЗc2D_N%d3J6TfVGc;;%ufߵFCo-XxS9vf_1y 37 fAڶZ~kgBCic uD κȭT㚩Qf,/{+ߧv_f}Oz#-AHe}8ъ螏9RLtMtT(>u~."S1QQ-OWK[\^U@D-[=3V"\_`yR܄(J#%"(#eigEVC$%0d2HwH$Utiڄ{o[\hHZIM5 1V ĈyVBWp9V"Y)'\W{X23"om]|7db%du=ctsQQS*M2zQ[֗韢gtݞ+EU3wQ-i%oȡdSLTo"HT[rJf;JO:[!\EnLlIU:k[DMPb(?AĮC  ičX R: UOZ#FQ [ɽ7޶V0o svSf:Ai0GnG"5 㥩P ( %}(*=YQU+bJÜI3=?l&d JVl0vO6o(7{؂' ـ=:#Ϭt_k"ź,!=eeuY#q0[뺸45x;& VXf9] ϯsϼ]"!}ǍČJmk]WԠǤꚛmV@\^*3=#*Fv+ҕ#7|Gnj]WʽQe{ W+"u"@$<@xԼeL?ol!i5Ş8 qYUTKWF?ujL%Eu5Q#+Q鸺^S*d\ z+O.g ے3DsyDϨR<羗3Fuۆ&ٗ~wH AN73rdfNNt7rl̆O0Yx嘣P&R}BT!=w^k[}zUS6/QV῕܏zNDzmtEk&TC]e " F˼oavʌ7Cݭ[a IάP$b#S<@[Еit*kLW/j8ոym`Jc٫&sk8eM;.5I:9+ffzk$o*`Ě䥻޺nA PceP@ΙCB^r.׭yǛC͌}XOH活:˯ߩ_tD(Ovumzԕ\zC=,?2U3I ۇx]K_z@mIKzt (T{ m>sոJJJպDt\ '(,$4T=&^=1͎VmW-|ډyE [8Kuv =rp[sA'!PVc"Yr̬t6ɥꮀ,5TZ"ofb8c|$Tg$N[۫cWd^^>{鷯ӎCIz?V){>ZV&z(V*_l~r9P}hV1ftOVNN"|Y mU/|Q݁ ZxS6*{ .Y*nkߖs:}s]$ J7B -~n&Du40nWo7Ҿ6\) ٭ˣu蝩wsZpyeO#$gy zKfÃX`L3(ofKS@SX*5q9sS>@ϻkrH\oԼW#/+yIqeo9{+VBILn29iXظb!1:\Vf5<ɷ8; r15G'ceoJjA@^Of2+z徜%}ܱ7vg)}Xu凪b]Nec7n>߽)/E˸ zYIĈxǰ.9Ri]\&fgru79}yZBߞ>&\1;Z3)LⶴZ،ֽEAcLb` CP\8 S2 V35PLҗz{Wg&cI&Q6e6v=gMc\޶a1rdg?ב1_r6p..kv'#'*|zo^wUmKni)=7=uo[.:< ѻIyY2;Q\َQΎ,ؓc)cnit:1ԅ^&)Ф裇>MfT8εmާC,f7e fb'Nq֯4~<7,&|70Zmưw`27ʖjS5o[[ ^8zZ@i!ym5]\<0)+3~GtZc÷y22@&Ǯl\-̫.xeޕOL;Te܇) BHRױ-[ו;ɵ{;Y yC! 1t1,V=žr~PVBYxrMdVsҫQ<@ևn''۽]]ķiQɥ̪Tɿ_FVkq;÷ini}So~|>v3ELYU5Ouz/\*+qbR O{qcN0|}dF!v+74tMwJp="guaW=]t^)wf{:#4͡m 2'+ ;sGo+[ /eްpwY/wǴ?b p):~vUQ@ړSIQDwқ>߯C7t'zV{(UfvfG2y=${v^v>;X=\lk޴,w__Gx>ٛΞI;}=[CmoOba6ng 'DW_)RW~mTܗPmͣ}slQIڐ[=@ sg.ݾSX"rYcX苫OggSw#Is$*/)H:6<;0$A6994EA;E4<>>* FCz-r!(\/c̬1kF[1,-M$j(~_RipZ:){Ҹ576e˯R6C֐M?YI}Jjrߪa(lT܎vUwIp! SzWI>W\Xz=.wtGWl|cS@Sxe@{isa6HPi=OSo=K2`LT#s0>ޗå3ZW}\N&Zcm`kД woY*M#E:u`Ȉ @ޙ|c~엖 ILR{Z` w󢕺k^phly1L]pq]٩Ίw'7;ռ,si\ͻ*"6k)A4Q+sNޮTj(x~o]]w^J1쪲5=NOOgֻ""M2o y=dO/V< Rp.kJ ZzT3F*]. :EgDf?Nw=,ib4`Ґq3A:7dY43coΛpJOv#3(Yxh 'K蹸r_2+ݩΖ~͹ & 5@br"p}(I|*⢪&Nt?cFό]0n20C :.~ >"&д]Rw *yVZVݻgh[z,Zx"Z*[oD o>)}JO s,bb۬$kvj^٬f]r_"rdg75 @Ok]V6d(M33 ۥm{oSf~w1m!"_PI1@ݾӲ>gm˰Y-T97jۚoJ|o-ڷL:IE)L ;>L\j2 eoW尿skx]˧/j3gWc^}5N}kOOgǠ>$YzwV{uEL7]iQRAtG"1LTiw-2q*ws qz;]ǧ>;WJCsKizUd2=IMћg {1¢sYU͌t_u\\T=Jk7TJ ksو$2*vZG1LƖXr n}cf@ĐG|i ~nN@g6yXnDiVJ5*yJB^c,܉|̵_b@8L2ɨ( '/gRll/DߗFhߣhpym"輻? f);UlΫ lIVZT=˔;3+Og?e)J,/^hEiwυɩ#4t֝E1puaWZW՘ZDVOkl!,=f ++׳nrѷG7,Ӄ]0s˼Z؂;ݬFŅ @qwQp>tL@)blJ$?z__1vW<B,.xoԫR*{{2p8=m:W]~;?`/>׍)(k\<|RDF;3"zy YxܩhE^w\wc:^'sb{p~ގ=m蝒-u{Kn6͚~Q]t9~ ln&LnyBM0+#x`e:;0}Yh`,ޭ1{e0Dk-L̴5ۋ a ~ `-uhl~j:׋wQG1??;řlO[G6Wl'쨁|~꾾VR߭۸tx+T~f7ňҎVĦ[=WR:-3򪉚fQfaf?uƩv`M=*:6Mx|DnntOtuRx9{ɽ-)1:7}VҕSD6BӠ9rPʢg_isftӈ櫱i/6A90]/?fF`~`6FEB{`g-?^9O<:cep#s(wVÚyjb]Ud'}NW#"+D߫wO4N?o;:Sx2D̽21q{/kPF Sq+1sMǵNجї߶/LjM7:' ]^74j" TAo~nƇCMdMqg_ѷ'ޟg{הmZc˴̞ć$9P9`qPe_:BAͯ KoN;بdDY56nK3N=G.kg,C>NU/Uوhf2nMQ?(bupxՄ`޸nLE3[&3.%dlC75f.Oi]7@m&H<"nّtnS%s;[OW7ac͝=_ZsR3ۆ$o?J?=xʕ(R[voWն:۶[7\" cRXLsJl- /\j1 z. Bmb[W̶ U5BU]X i)3܂,۫{Y[6BKf6ub2x)%FβH|f*W:znKhHen jv{Z_}mFw{i&;-rVkQ$@?Pw81p(7c5UJRv+`hFS]'U,[tx,~Zg=u̵/Ծr{(yz-]PBFY&L<@hYyDVRGF\!u1rF{2##Ag) Nzf/v"Pty77B3 f_.KWS*\2K=$bb.n)^\4Jg}}Xw"7(kFJ׻\n6y9Ӵ]KzwlAL40dL7sc I hFI*}$2DJϖ+\]m*& pJt*,$= k $Ǎx&3m..dvc#JeBP b\:o}D(|O! uReV"^ۻ7vOggS)x#ItީQ#A;9:@B?AI;B8)CIG; RRd ZuL = /LftplS?rѽyq\|67o*&Γ$e%'8>@x%;լQG|'vc{˔钗i8'gv=hQbqA(T@xYK^5Ys\/jm737ҵS UE%@k{d[ ?+h*!.m7=I2ry!6twYzn {>/'vz?PjCLO&R͑@O, {w(Jrzx5(T)[+{ :I뎧6/Ǻt[{v=y뫡-ٕd/8%~pmkd3q9lʍSS~ŧ8Q^]\nnGfc2{t}+fG>1߭NI,~|ngS25.wʢj%DŽUS$a5k?>_).W;1M 33NQ;jЃib 2ӚHmރF5[rNh,V=(VAY kQ sU졷"!M23ffJ{]e Ϳ)=x57R_j;<ԱϾ:^wB{npT}u4&b+͝wd=syٌB4(:MW/NW*--~ﻶy=dAnL[W&q} }S!ㅖ>^l(YI tQ 0kon˖oC'tǼ8޹%oHbxWz1皦Ι{{jDU& P&ZѕnmW9^E% TKlf#7/l{ D5PvfVVP5WOWA☑@KY!#2%MU54 ʹp"O UAnnY&L4e2Ɵ$Ws&q&Τ jn\uQ[_* ^- R) wL{0VֻWɨQHdk[X['isù.e7e# s^Y}}}6)"<כN!lZR_{ulc,Drpjtw(頩Z"G.Ժ۹3}Zu-g^ߩNBG4@9x+RnD63R2+QB0[JC&.Rʸ4IJT)1Xq%$I؃y̞yaě`MHۘuLɲ4p% iNoG7oܽ ȵݩnF|P)Gc4Q koO\FKa Qtu%;iS9CR0lG.Q,Ć:{`f] p.G[ӻAڨniP6i ٫Z=79@4"#~<<y/=LbYi''dX:,zq}f L\ld^|z`]&7kN\D r@iy"J8څV ɇxnj7"6/3e3izI>A0ݱY(;i*ȼddlѩDVGg{J!w,ԓX, -eqJio7Kws0M U'Ni. z. q&DiEf"+ v{ sLV]hJ/qonùMxT!B?Oa\fīBٽQثʆzeH@;ʰ U+'Q5S"6ƚ2}!J HQ]Sܭ#G>!v7AVfK.>r7 ؈F`ipL7&< O5sw/cy A#KŕEnƳZdcychN P SV2 ,P% }ݕڐhm.1J*5V'bVso> `{U5c㷜~/,{}Ttl|( 컇|C%mܞc8^'N|:psj/VwomH2MO7?'Efb&dnkuj_nȍQb992Q9c6+T7'| ]Hgq?)RNYE 7ng&ݫpIBA"-uDNeQwcֹC̍7opFcyRcrnt=n, t%"tĂݣ6;>|3m+(ZbDr&C)sNkEtFm/5y"5ˋ^,9-$,x7:wڵ K}mh֨ҕ#*e>{͖sxrM+յ8Zd] K[m{I\I67$3P])&e[=ڱ`>[au}y1өc3gQwxO~NW8qzlI⮷WN٥ɮFtT3ˮkFj]^lH[KMTTAiUnal2QƉeA_+8 H cCjL P E׫Q"WF}kzQ(|om] GanpVfδQS@%oIXXazAa`@ ؞Jf晒^kswˤdOlV,$&}d6]n2j4ly8:qf*~ #g(]_y:}ZU3;GO|R}g${QlݓcJݳBCsHYVnD)CP]2*&Ŏg!!]ftD[EYjnl K %8(Q AQl:lHOggS_x#Iuκa%==@HD! (9AD?C57)/F:;HG>=:=`9ʁ8YM=Hr~oT^RȊ'oll"he\Bu#WM@2hLk {RU.=M86d(*,HjX8 Y\sWpF *D_kivW$e;r&Gb̋7}fIi:^uJґy"M/~8kK]%Qe\V}oVJ᢭]yf6=ʅcU,2V8 E`TN5f W6Ue*+_<Uۋ2$R]C(~${H $33(L>Ӗz=։dܟ6]4yq$ LR}d5ݺ]n^^ё]}R}Z+*)zhpu{wdiч$77z#)im!mfHNWv8X{Tm=)OEKd4oBx,Up8 }8ݕ hiۆa`ad< 4Dn,4 2[~\N0bVBd-1{X e/>ؘWL2Sqo9Ȟ"x7{{uMp2vG&'8_]ƈ<979k#рR1T*[צPg9|\Xf*]z w>WsR1l#5 ۫F/@Ew0?h'ѦY`a0`) bZVvo4Q{#f@-3Iٗ48I6B+ :`P2,٫+r U7$ظ.I0l=CԳ m*AmU˚WaZgd;E`Dʂ@6/?+ &u›@f䷿'2wqQ|~l^|_8_uN6nN"KQ&Ud g1ETz,DQ.U3鐕jߣ7s1ߨdGმ6ݺjRm*پOl53 垉c*߷4}n1r׫f0sUW A(`/9p75:f>r 䎛6}g/$f03}TYAxBzaM0&Paœu&ܽg6oR֭/kN%LdG9T\`[dIY6_o)v lBtrWW?J3 a?(Z]ImN۩"AU9&%OVqv-Kk[G<݌EHAW?EB % @W"!n7riڥ|T"K*ޘz17F.NXVKZ^{tezN67*.<#uH:/';nTy8J4163cpէF2:9kn^eѶ'e߶%MiO-=.|~M2d~şO\QZYخg~1ɦ֞6> `㸘|G/z]kxt2lWWr\!{n5˱lܷkV:1gehDj4HԷ .dK7KLF 45/?^}ũu z/N敪33^+:\v.2$ly7:|:!WU3J3ת5mԴj"vzU֟)ޯg[\֦W|SG%FwD9&R0)QěU$Bd'PSi7GqS., x[ bcҵ(XTI7, 6Of0 ՛^cz {`2q7%. J(@P?49^+IfL}=9VwY*M1}Ja,y$hj'Hp{IL;|b3ޅN}Sqϝyre 键*!WW\%48r4t[ Z/+UB -'_{.b[ys6RfY#ԂLJ.6RvAJDma Y@6$hxbF  a"–.$l _'1И`)1@i 0\,! > E<ʹ{p ,teB*}h&;hV`PC7Dge4-:-^?|$L\E" w pl@>Em2ڎKU)cZjNN>4]+sDbb1;URTv|#J\AF0)}otw=Wvڬuw\R'@I]dV . =:;|DPCEk4zwdh?9yםv^e =ƩuT"?H]2Y"':ul;?D"jS S׋9ϴv۫ܵSmVZu!̃E O]$p@"\0s3 Bx7̨ oQu}7Zrz~g1t[緡XbukizZɽnwwziwʿlf_,T9uϻزfw:Z39=yG|޴xT䒎 w%5WV͜rLy7+-~Ff$,ٌUݻ+br37Us{Q/MɆ :cLL`w^PNn26:َ-tx1k\^mnz^3 ]C0 b@%mlloZˎi  Pp~K}b]!$mpnK7Xξ׮嚙l&Uo璟_&6&_ts}vyL^=N-?:J^ז_Y?梔{ۓj?=gnG~u&"ʨ7>/S1-ζ61[9TVlIwVR}2Wv iڸvAьyfQYvk5}9D-l&DHUʰߩl<0/tƻ,tt]κi"X&R_Pb F/;@Yh6m9@hk {.o >{P kb$Rmpt݉ xWe#)˲wqZkK/Y5ӓsf$#mrGR3Uf3kf Ė㙟k_4U$lt{)eKd #u&nzo GiQé R3#S[ YM3ҐoeE圞Nioó6O>{YD1чxۋd9}u0޲"] J+{(hMY4krgmKi4 ` EYOڸ %\pSK:CD8}1@T[n:7hrMRxZo0}mr;'m}xIϋcMrU ":yC]5۶8"ow+SssI벒bN5D]Yb3eF_mz/=k6jJRwSѤI4Bϕ܋jeObM_9.}6rA WY\U{4|PlLwFnw۾~ -IiQۘ[wӻ]Fw<@ ;Qt %Z8ABEugp{\^R3f*s}\ rpݍrNr|15K=/yb [BI1uwwy[Re r/y˶)tt~E|꫾>'Lb+u?O_.ՑzͭSy,M_<S8Wt_G=9K>OLX5kܩ8'^6WRF?JO%uG,onAYufq2gP̶^51MKɄdAҔ`] @?#Ni"LD)Y.siFzU7vkz쮀θZɴAxrҁx ; B|Ɇ033cfe&~@QF/jEdt!̹ N#e/K/\ uȨ\/J8]~Nn\s|n1]S=}1-_mwυ{q0zNt6t'OUS~y7cNoA%H|1UgYm&G?=:ՁΡoW Ũ fU[r05j6Bĭ^! t 3Ѱދ"i٨0T^sIq HsҎ-W69yzWfHޛyƔRKq{qg8p?tZ*1$?$9oOk4a΢}Mo!S/ :wUJڨ1O zklްgןJLT qʽ4}3릔se v:reR&2>o6:4qrWo,F?;ⷅ&@5=dxO5H&ˌ ŽOggS@x#Iw{}'+0)<>==BA?>ACEH;?1/=;==:=<@=GDh^rL$6 F˜ͅn:ǂaT9] [)A}!XŊH)ғ8=xb:rx, J|_Dҧi˓Z~nwNOQM=7l{z>ar;TBNeE }Od- Nwңz é=7xzd-M RliDžRՑ-XSv&fuP `Hv;ׯЛ*WN.M\l9pea*;S#vF AZXV7'n~:5S:`^s 6Ńx91S">|Խ}f \W^jjl&+FGO1z{v"<ݷ_-U6m$t:\+ Me0΢2M[zEg:j:S:&5r9So}2@{;&zK̮msSRsthJ7]:Yk4xZkW\`f׼|iSjv;f]˵efN[!:#tdof/zasA"3 N-t;A3>(Gd:$w3/%rf^Upԫ <9Tޛ^439VeXt @6o MVq|$/vۮ+ŇEew~/i v.Ο5 L*u M]x,FQ?6;Nu7߱iNtnbE71T: Y"dbcrM*8?giFT1ˌ$'KmnB,G"+q^7nk|/ST[.neb՚=b]XV?+ϸSl\qQDkxýAZg,|:_t>{rUr4a3\FL~zEq,cdcn+Y.HKw=} @0zaTȹk$0=jKo55k-Z^7Fべjj<,Y\ ]N Wȯ۩beKj־ܱ57]fަ]DK*ȁѪ1B\^ 3rVANrp'/~ZRa:sYfo^7i{__e>ک ? Roja(@Pijm?ɏ F.,PHSYh,E8YCkeIowiԴQ~nセZ궨w.vG?̎Tۻ8M6O|rqqqbqSJ0o."wE*xny\ -cYJ(8՛)J3J=^n9Q..2a14i H,T%=iL>aҮ  J!m\%BBFEJ/%5lvvpfb6P+<d €ʀ;q A­Oْ:d0* <$&yw}l^zv9$OH23(&.+IN ل{Rchm::q~YSF%f="i'=^*tZB31bq<ֳHu(e=SrxnT?߭_j ٖwwdU2M o|سI+ `h@VTh҄ YpH FXP3)%D*{/nLXSwMt5.qxJc]˺{.fj\xQ{^>T=hn UՌQ@p[At w2W̨ye* \81Oqu89od[4T6pR~OADN=C`2Q킘.S: @[l}U)ՂP{ID3;F'8"r\[X/GsOVfdmRpbiiݣ /*QbܞqT^4:@UYO%KR1@ Xw1?<@g@uk/  єOnz`@I>d%Uje+o.ӧ9Ci"xf {[EەzK7r]W 6)}BT|*ISl} 앋49Y!]m˫ufB(˥[ϫ<.uF;P}v3 fzN`l5 g-9QXj q4 MD['=S"źe M2۴&XY L5m`(_jB2V]~0@vC] yt) 1EN`5 +%ySɌU{@qZ73Y32avM|/V7ƨUͲM{A|*bV~}bV;(TQԗJХtƙ$)ώݖLԑ&WGu&5Lo )JEVܩ3!efWc*G8% 4 `mX/ D,.tlUV; 'Sp }-=1,NɲJmubkh &IfsA,K7#;1c&SXP[`wtt'afNfT&"֪V9i ^ 'Qlz||7M*$.MG|+:Nҭ!,mLˑڝ[ɘ{Nhfh:uomYM΢73Y@KLL|/K3^;:f6s(o7Z. lF5lD`0AuKߑ~v7҉1ʕYeMYך{]t4j8F#fY=6?{8@|RT5SF[-CAkumms̊Sw*dj@,^{,QET톚[ňdEk˒][k$^J֫* ̔, t:agKnND3Y*;Q[Oyx]]GMonmRK%3buѶv >H.dp`9} .`03Ie/۽=+npYp<җua:$_Ub-D^.r6[y]{Nd^KSOge'.Fr,v7]P0QnFd#T\>/\l|鹑WΉ5ń4TR[sV8AvAA+m,PBE1EW`j+حv Nek@[Aj7 MI0p@|JhZOggSx#IxkP*:::'>~μz nݬnfZ::e@5<;&  ya{6LY2SV*Vhy/{o,VraQ0j{Rw1Z{ @0n]%Řf4 *pNu:1;+,yұ _9I2lƬ,nݙ"ƚǵ{rdm07NS0˼DmGy͔\! ;U92w]ϐ9ReM86XUUxqۻ:9FDv?aZ眿ܵcv-:OvFϰMrg$ɍ`&CȮ3~3{>oToߢfj؈j{A3b!H彵qffC/oc{֪֘A,!T{`wi +|@@?[ZOs Q3̔1ݗ%%=K]ý^ߢF*/]E:J!73>+~5c3@t{xUm8apg<}Q.2dSٽ'+B;b[mvi1-q_eKD%w/3 ٻ 7cv+ݬ]6JXY ma6<(X<.6s&E'`'@mc2qu{fmsn̏c܍><>Ke' :Ja1h%fww\+uUlp`'ӵfH{rL"ʋR\*u Nm47 e>j,nd\N՟=gmDk3户qfh! P8M@l#Z R*I;V^?SVejko*< VF IeG&tMz: S-J_X4挛im_iUf"6L R w}ow;Xw9 aSlBo?H|V6Kuιvߒ}/^pϚAwl2e^`KvZnRD4\. p<ʉ'1s~z~+ոOvެBsJ7= ^J-)rj,j5du3\r2uEF5!t[z!IHo6-(N8JOr )ir$!㌝ |sMV9,EzdiFkK>3p=p5I\ɁEX0:i|@? qbQFL#uWϽ~\ jy},ϏidʯV%R\ݪ/"'웭&6Zil)K\bi ٝ? Wf7PU glш:J[:g7otX5O馥Χ8\0twvSNҮ\{0ysseDH}M aomTTuRDq.R^.496Y3OH}ʋ7%92툽˓{IcL#Tִ{g˻mpdupG^Ȅnc2Tʕl̾z{#m[W(ꅛ--e5VJMLجXG9U 1xh{kT.z:>q$p596`KN#eD_q۬"*QguJփ${ ϓW"qE.aE8tT`"</QJe[ٶQ5ހ5*!=8Y%*(2v9˘g7Zܚbֻ"6U1 / et*ň\&JSµ2se2cF WlN6aX4p *nqf|]Z$I2åwXC~oWUUjTF_VyOiP\ԟ@wN$l#GUzC>N&1l_1o׷o~ְ~,|;XmۚSX̧©l%_CyS2۪nτY<%EAQzܲWw^ʯBulު+ٷO q{( kj%͵QZGF1&tAC@ j QU$J)#P{dL]@N`„"C5 vg[Fvvk&{9P }lNL4Zl;EBȁ\ =R\SlW(=*3Z\lٷ$7,ht;+knG >2@}TE_o.cNSRoq3ʺY]l;bLNr1.Q6!ʼ<w?Y+tb|J7^[qŇP5iͻ'hzk^d6LVO>,CZEfoN2M+ʟJTr5"33d,WUoBЁt(PO~͋J L2cYܳ;|InΫRv~佴ȓTlKVUg6>[m03̽Ō,bvn%gGu3Bv)p(v)U_SNl{fҶЋ? y2] }ʉ]Ϫ[3f4J<>hC A!eG4Np@=jDB ydv_Uֆ5`c@v#~ Bg7*&zI9ݾc>dP&p`M2Stq|C!滜_HK2 r%˿`zSqΙrX) ]T ?}ɥ:$<ȵ4 i/듣k}GqwLfƔ5òmrp@nLˉɝ aUtkR՛͹RB0D;f 41\mP/U]g=!.R>]=$9eȀ28CT9f̈ufM+f Vf W@:E ⯜'dlf̔R(~o闡x9s$9[wY?7kisG#{lr٘@GJںpu1K{Dड़M ܎vW,e6eySԱ:;=92*=v}vV0ߎU4}]ܒbRq鈅 LP_a4eJ2Tfdz]phM"gdVsBMF|wwulxe&drׁt A8 jW67K AM,"MRbgL\i7^ڦZa5{Z6H!]#obd_(b Nm6$QoA/yjƔz}y7InYjIϴRNkyHJNz)f\<=i!zLQ7Y]RZnBTpPPkpw+ٽP*7t2w_q ;*In׍̸rZ˜&l ChKF'2f i%lO_6Ka! ō#G>' ]C [kյi3J^W?RR{p4r*bP9q5 fޡ&\"b{iZoouZy'?#r/{%UUrsWz-WzwrBpmuRBu\/׻ܧZI62>7&-MT՜8 j\RVHoHF6;t6# Q9 ]s7&  6YL'a8ٝ^{9%-7& @%J6 ZƢifhZ37<m^ arz4RAB!urصI&:^LͼQ䭼޸)ݺx))e{};Yܕϸ\l&.w?WW2`\ς;zoݝ\1>a^eM\k[v蹚 ӄn+ q]-|>bĐ ^h+ᓌM>j g GXwdb'Dn\9)fNAYfbgx$pG[Zwf+>@ށNe*!P! z 73SUef*T=5Nՙ3OJOw?"Z)9Y>.b:KrHAgnz-(w״0[[T-Zq3w!ENH1aRzEZ)fbV d"C DUJU2kv Nٍ {mt b7L4܏-w&S8 f޶QÞTnJ ZLBgL 09O!"i0>+o꫟ݶz82S@{OggSOy#IzC[?#7<;A?D@DM-?>=8?JBM67;NRFFK\)HBi'I55@'D1|yUE~5uf=) !.j Py7"Dh1)TbpuO>,_dY漹m1wwpڦ4BPpSPߛ㴑B1k{Y)}'3f3[)bm)\Fx14%c*J4y,̅MZ<]%@|>Sti[MgzOOF=*;5,PGDKBbKպT+QںqSvSؾ!tËFQ!s$QQg_$Q>w\O)|֒+W{Mԛ[S5{ B4EI<=o+#V "w睑QodT)*fcxvc- H_ KA _ /ղ<̹tGT^پM{O֜|=bzJu\0@UI@o4`,જPM!yvp Qei߯i/.!X{<~[O6TODk+ ܉532'8ΌvtP(0?'H]< ;">>_;Zs/ .RT7l#־+ֺ_2MwK"Mit3.7.#\5'\7}۩tM6dS X2l-C% WRjY~ջF`YHMzH P@Lz7YŬըI:7[LUn9P#'"-pl|1xs3cfL{E/ﱺIg`VJ'G5uZlCtBf#gxSS}+oi/rJZa= V¹uHˆ>m!+[}C:OTm+e;Kasov#~7)2%mCy*-\iV̎dHu٬E {̮^tC3*X(Tyxf3O`@{Pf4 jZXnZޔ-ys0Yc$&2ͣIH "UL%3Sff_Zѱ}.sN\\\E1oάUMޥW|OT.>Z7NWvV<r zJLqa_Ѻ֯tQ5\R]JDyvWrՊOE=wTnFD53+ -Ru0ȩ.*tE)_J-OI$b3YAT渄v)l0lQ2rBTsmrc C!l&X03kAe-0L0P2m*?6 FFy≶*8ix.6oؕ 7͛Jz<'*3ڮşCV88|ihrjF[y ~{R3oIf~>r,n]U~{Y&{Ow~|"I@`l|w>! 1<}\%VzoުmqnۛްW:t#b:S@!؏5Ͼ2r ͳ)ʦ/GSW+gVϮ/~H [Xfq*հh95\Dzm|AR=ƬtLy;T*=U3R_S:t3>.1DlG.iLL"Ll:+)C%2$ڌ?[=lݥMe;Q$&>S,y2_]k]GE; ۳W}g+37S[9q:TE;.Zi,(u~#ozYl 9ԍ +>Bp fP n)ZHV߹1ql1U+zϓlcuxy!zz5۬~LYϒa"ɷ)K\$}$5~#g(wWި]<ۼ+ZvawgDJG! F$ IQ~';Z3:ݽ[QU*Ϭ ŧ")"DUꮧ;m늭1'?OJ;\kv zF2m>e{=]O屄?jdٷ{+Ʉ)\NqrtypQ!mj%PPx}%}o7amA%sͪDV\~'cPG4X(_k9bp-S6EA8 ֓~M^GϾр/3:]v d%!BmyWא"=ИiEr4-rY 0 qh@z@l~v &ZH*4Ě335Ij2euzLi|w㵦]7{Mkb~UǼw,YI+PqCd{Ϋos*?~.6#Y-[pTt+d٧݁(Ϝ{*{z{Yq0%1 P_h* S:.snBp;`>t2R}*wF4/QjF}uŴY %aw Rcf_ Խ<`ģ0~ l *@ ϘD$ف*?޳٬zI%f/L+ѩrihkSſۡ՟E#g՞K6޳2֘/Jl]ϕY}(yaإ]MŘy-G;F+=BFusxb}9IiRՏWen}kWWumt7H;m>eJ-̳̽nϬ؇ro/OIHg[.}&n6ݶhlmYf1el-pQ`̹0/GB!6$pc PȪz)$JO`df3|8Ln\cFՌ) GCYKiWr:%HS^ۻ6ǘĹrcb%6[IA ޱѺxjF5;ulC~bձAeSzDN*m*ۡDimj Hmtk l^n+բTׂe矵֕:+^*ؙ64o{߶G^[16)6{zt9νR(4WVZ%JB]k|{3_ɔ%r Ufe&+=C~Oz`v;Rg\8)Ve~~5/' 32tx?T\_qߕҝ{j>,yQ.(OPE7_FB?E|FbL!٘BT')\&ԭ"G胵~S f>ugΜ:aת}~۬c:ƫOggSy#I{-@'E34+;;9=BF<@AAHHF:0+F:9;87F@DG{>(avfP`cifKlқhhtMDbl9J@f)i`0 籟9~{yJv+W}d0׹fc[e;Y/[o/Ԉtza;l59ۓgZO2'nڲ[{}bT}n#u__fg|o\Uҥ*[]jط4bP{oϺ责eeپͨKba6 KA 7ܫ:d׫: bB908d3ofcIatA̶wU{xT ֬eE6*P ޖ ̻J%Sf{x{NҵZک=mO//׽soG>|ާ63+J=J= ndY*õ|PY)\ޭvUJ;Ӊm%++}rf5x4=wGhʰ H@e\58Z7MgF{JHm13d}%Y 6& F(`F,9M4%:d 9t SWrsͷ'FUY?񊶞y:s+^߰_(x7NIx$ESy&S;bkj-HOo!:YFk&;JGfԭsՔ&2bC{,W[1[RJ,^i@d[xv21=:rvw=p}Bz[hSAWRDMuApWnss7C'3ZE4];[62Ʈd {z=k욷>y̌M+wt.nI7?z~7eh״{1Jl'?5k'z;̭-LW{@^*5-~wN5{väk\a]Olvʘzl˻OnT~%tN\evQQms+odC#76~/ozהRVxMjԌ>)f<v{zzzpõF`?)6]m]=;3QOLXL"ҳ7 `+~[^V|^{ vsyFM@ )X4(!m] 47XX$/x |rIhfLX6,TI6u5tUg \G$f8- :N.o鎿S:l[k{s/=uʬ$CF+;0.HYv5Jv\nX>tٛ{{۶6ZUʺBD~'V^Nvz4y'ώV֫6َ.+fQ/G˳Rmx[ WjrP,&1`d/MOp_/R]*mTko;V\{]LVo~@HBS7T"+tWhn V[\4?X;Ⲍm57W;7Z6Yg[>lԻ𝦍)!l(`9QS)޽^]cy[m5Ylw Va xFS@|YuigbLbNyɠ}@dW6loAL+ֺ^1*x/[jEd_|CYLT3юd4l#|}Nۺ{o¶~ ,_WhХ*B@wlٷDAџBU;DMؙê\i2!^eɾkzM%tYsa4k(p뻾Hr;k,ԛ9B߿b{95iSZg`ۆSScn>%G6X?#o % :xrZW. jEy4UCDf+g{J\bҸR:|DNӣ }[~gZ6JΜ̐eWF6iI3Ė.2s>>Hw!&^Ak`g&(e8 +^)RŽ^f 2WabH!iiIxb4Ӵ*fg.ͳĴanb3a60Nlq6 s>&tE*KkY$ e^{c77/kos @FR3&^~+.1jǑZk VۿoK>B;g\pb`g2CTuգQz'KH[_9vx  iGWtWI}>MU&dR{fQo.Ttuv(8(JXOWfO\|7`9nc.˲poobYFf%D,5";BZ^Y!ڽ45.֮\0,CX=Lanx Q~ԼH@d:jɞހ;3 Y'/ D $ɌdT~wcY%L]ws_czi2z ~DnIa?YJ+oӏ5.uL?qU2v*EyK^uڄ=VCO]^0p@vYUX9Qj-:of۫+߽#7f-.,`zi#n/?_Bg$sȃmAd ֬E؂^Xblk^` F 8^HDU\,Xae$N΋;ndBX53S3f6޿6 :)o^bzhhg\}_U|I\q޾6rvSV2uT;,b^7DPm=tپr Fwr9l>%pnn]ѭ{.rJ+ҬrWYcJWJ)Ʈ]]{UaN) 9`6tM)Ѓ_P  H0{`]0`.8]dt.@+=r$RPUwgoD^kYk2ԔR+j1ۡJO"[3[meh(v5S?{ ]-p#ú/eܪJ䷸W}b\ٝ|"tuPj!Zlg Hr }<ǷkH9ķ.7l^jϖ,9ϛ(oNpFr ӹ1{r|6LcS? أ~[ȹeVmq>] VLwxڗL]k߻:ٮL~rqq!PP@Q? ɧX Uq.I܍Zfg*gu9s۶bfɋGX9_@6 09qI$Ξ׏a"Kʎx:֜j˂mKk̿1O_T2_057o0Km1ݖaIN 9J.ݪ{mKmmOt;y!~#Ȏɸ+xgćS)jb NjpvFIfMIF&<mw'.?7h/m=VocfTv'hu]i^ˀE !Zz{l9ujok[vv~i{7v꺵lN'b>>D]ͭ^ X~ Ř4cEDTֳngzKڽg=7m]uOggSy#I| b$C9><=>?EBA'K=9;CACDB99: EFK%r =Js=V= }_$nc RF)Iۭ23s};/#eVb/b9l~\otZ?+6q^q“6ǖeMx5QJصfPP.+grzbtQ,Nܹ{n3{[Da69(H5`ż.N؎O2{/=mf [Hʘx^[Hrߚ^&Qp>NJ1 r1- Ym0? L^ ȟil2*5FV:TJSD\RKW$F) ]Bηo.cj7Zمl0}=ݹci5 1mH|:۲PC{+[3o^k.YX#t4R TWb%WTH+AKaf6 )c=w|v;j1Vfܰ@J"L"Y ⿤'Gu(ޭ\۝3ɞ ,k_8(%SL84lR'#pVDDJy>:1ٯ焨}PB6kh "sRA FY."Yrg|?6[;b햰YoHoUU!Ǝ rB!0 |v I`kXFśBdT{۪Q7{o&(2Jֈ䥾ț{%Ip_cs9\!#Xwzg7XSzˬ \N[Zw eqhLy@9TGb!pSe%I䭕ḎKL} _c6#TbV9뇮;W_nkրy_/ؚjhwtQ^͞`D,i*w.`V\*-fe:q-u.]+℻%q7a ܽ)ntBxlD~Rڿ6zDf+&6l(,_k5Z{,h  #@u ptgmrޛlM2*wBe؇WV J.XMZy*5fU[+gsrXFW)5Ƴwpz޽NҴ"ԾnƙSq[{f~1֊[,yb.O4ۤ#}#O\f̔ ?7'Bi^:i_[{r 5h;aM\1I% f٩4*7Jgnl%+%r2rJx9*iRu=JfuQ( dJ« 7c2i2Jʂ|VI6U,BfOmӔ1 Qf6JoW`h7,zk퍜2}ܹjg][6WQAs=f~V5׼+wj߬cfT_ug3w<{{}ٝtu7߼.y,)\_^ҷNBxiݗ{WD' g4uV斆lD2;ָW^]*l#VdVcbi՜fX 3kݵm$P1w9bץ9CcCؖ442KJb1%n u p/tG w9匭m ld݁¶+n4 &(㡵!낝L߼c:=+t@wӮ՞CTgo{{fFXuSl@D.LYhk$ڇJXƣd,]Z\|1=~O^+;m h( 6.3#C.l߾Sz7M݊ݭR=L۝>B%r߶PGLO1n3{W븤@5I݂Z)a0!U"\jgb*R1'2nMBg Rq h GbݤPI#3JՌb 2d&%]\vAYv+!LEnH33y.a{v/qQ#, zJ3sgL81Ёv ջ@Bwx,BL @"`YG9bDk^Tڭ?k8~E-0}rq].=U4It ]M/YJ?DbC Qv-o֤/ '"ݓwl5zS}꼸GQkʌ܂j"-szE鄌*dd2:sx-ٓF,n꺃L(."=[r݈vV d1H4HWC[sASX ?{]cr^rGaHzP`z0D~PsSl#IE&g'Mo/gY:eMAox8J@{ OkffTIL] ;{eYMOJ̏jt@.d,2ڹ@a:M!}ʦC2#B6D]($&]^'y>]}{ED]p*g3*\fDV362UBl T)e$je%2dARd2d"-JIj#)qlHEtH*tc.͒EHh3aeײ *y"ޗq_رs| ԣp:o\^ `#HMf:2ZVȴ3w ŪW)K~nz.w] * *_1Q).޽5oA؟i~"RlEF5*!%7iN!RB8 *-.sTH!Q2+JpE P4 ]x$WVR Vu2K{ w ^Z#KB;R@*(u.]/E.N 6gmgS ~w{c6;gRFI@j=NsptLР$8RFWlm]gwYY7=ɹ9FAh h5ZfnHW g"W_'5zw[Z{,޽za^oi;A39)6OoZ#6Ysjynk䗝ՙM Ԕy :)esDq#eaׇR(;]tKKjl{{7̵)vwϵ*D^Yr{E@œnxѯJev꼝ʉ#i8U4܏~z0MdA<=s5S'r2}S]?@nXE~C2Y(o6N(WmKp b2uoj|7h`2?u߁$fQ4J= ~ w }%ujԳ9,#oL:%$~uFh|p9̬d~[=t1"1 a ax˷w ,ζ=)>["M{,Nk#tyn>];ZGrmg:siq*ww~1[DyN{q{˯u_q`9Jnε۾J29+9ljs6}Pgs?[ZB}l8X ?PZrވ@j:ܴꪑVY3|ѧP8qݩkSjnLc ihΥ7޾f֠gb}9w7^orGV'5o<8 %duj/|Ϫ6uK6M38@v dWA$AB̺?˻NuKP(ͩ;57]{oT*tWe[ύ@ MVlT(vw\,fucaVK=~dnD^*4=So+a@v$(HQ~mguR Kp=Cߡ5oꞵʅc`sԈ)+B(@N?^d33h0ojLMhe;_>-KH=Y1NmV!CFK刺ZI>}GumvzԢBS3_&D]oOmuwxf.g^)z\S41U2*y R8,n鼪 ri(:̓~E\SpB.iP.(J6I>$5eBkw $m%r*@ȑ z( ´2 #+S@ֹq5g2&1ZuY9Nώ(sig$N=31fPٵ"D>&33&WL̲Umӭ_=Z߇F721(J\\Tu ]tEuApboFU56"Kjh}676/ol^L͠b.:p!& lb.m)¸H#]2)(nGvEqrII(Vzixgo+ }EnTbW@9[dRiR"\+ {Xk`F#yȎgNw~ڥ3a U֒p7H E/ݵN`g;tjk]oF)S_1;s*Ǟ<6tO6Kg&g416U.yrLw@)˨Cz˧[>9zYOJ*!˼6(W%znK{gX@uv%1Υd/cӚսꬸ5m :r+ ;ynmQJiHJp`Aku'X g YkFwH 1ֹ{(°9I D ;tgfK6 u(F|$Os`/R\&j$Sc2ey?|jx:2T%r;D{~ =gb/V__g`gtNz e" Ո}UnԲpwq{XeL])QNr.RtFi QH8NVy 5:iC'YTUfJ{^Yұߥ{H/2{+'IR$.UzZ-ٱKܼn" Iq]}ߙq:ԙ|z''SozjEKJ B+Y7QNl]zD҅e H+];PFeb!zc @.tA!*hֹGh2Wzș @ș*^ìCm\!6643m˛@Dիvuă*-) -P-]>>I橲̔[ʴ(q>%=ofg['qLԑeR'7}2ΜQy! Hōmi$RXo:9#{:un5eEo=mݞ.|f[[Wy)htJjPsӠhc^ M@߾1,΂E@"Eu DP f۫`-Ɛ}~%5L{u}9Y2ɽ&Jisզ)`[kNl\ER jBº@piȽ׮< q̚VSZ^:_뎮ttu'XN^az nsg@Iw9Yv߉UG\4նyOggS@ z#I~^M#GA<<@=>>ACIK%:::C?BDS:OA=lcN䯬HˡÔXPYy]Q%Ky"!OhN[`n` :;tlDb%\] ;#~ci $ufJ)UvuwQ)|>.eh9,Muɠ߿d|×l2s ^]_*}sK3;{>{ҧZ7TbE ǼJf~l_uWQgō:C_^olQ]+|w&H馳m)I9ߑBř0%$@NKDR~m\!:$s1Ȍ @n6DaCM{7K i0ɵJ[m^wSv+, |\ a4((V-'.|K_Jg'66cֿHB/fđ" 5f @{$xU-M1vֆBlD\itrCdh$X>w xzSkjSNŖ.6eNxlƹ}-\]*[IZujx,-OKB")=@_Y뼱!vWSWRhUZC =(&9~qN+=,(L3 ?9k2h ݐfJ,ٞݲ YE GkAGc]6i[fn-+FL*ap)'UCm6I pYɾ=yd:"Q*mo#]7ƇͫfskPPKd!_hT ;J֤ߩzgvRzϽ)r -[eI`,*8?[IJzk0bNN i_ {zES2DD ~E.IH^͌(B(?ϸpjs7-%iOgGn)׌l6]?UG|sB@"5@>ٓsh!c.=CM<\v<_ :ӮL=7,<]rUw^ӳJ$q\r̈bD)OepeI_40VЭ8 J"wGC Db"ZgTw-jҠYg<f8[~LP)}UF@ Ht;Itdg1$@]/yeff&@9~}sulctfdtEOvd>72_].ES{O9vRa3Y:ۼ=y!m_VE~7 *1hS-qiU W 8`х4lRxj!w@eY7.f]X xa 𰖗Ik u{jp3-`Z3j@ gC ia+1 pYf yxuvc]+ (^ I33D4ZvƹW|Ufi8mM;O֕&;#)D8LwH_{`tS[wܙRi=]}M0\.CO G^OG7\Nܙ rqzܷA+U-i.+:u|8JS\9[T;zq"&ϰ8B$2";ģдHY# K#&Fp,K{=YcZLM6V1PM?.oKys R\2%pG6uOiD@ `[F$#L]zA(N|!s>Y\\ : meY2N"!JF(1-ʫyV f׵6.6@dtjPY'MSx%aG>-iE5+;\֚TJݘ`8.y:{O#i9_(sen6 Y,WJ}mqmAGe9zl T_8 "1 Coߣ/+#N,h~H,nˇp<ﳌb,a=l4`0M;S;1@fiM0{= 0E{CD8qP7w &\cUlИuxWWdZ{~]O~ Sӷ׉$&6QSZ;]Ai]-gp)$_ONZ J6IÕ|z¤$&h3iQqLdsU4kCײl\oݬ:cDGrQ\ШzDZ1=0շ|M"GИ#xhyɮ 7sui3+23dÚ@F/V̀h cA0ͭ aT:+} ; SG$2Ճ>K5xV&UR+R:ÏcZߧ1=fvΕi_ ̄L=>ZÛylyjR]vbuk=Ys*M=;}ʯ/WQ\'z'ʵ,G=B׈ʻ3V2/Lv/'i_f.)]dN3G;hA`**ʑ|z*\|V~^LztfҜa'0[gʅN&־➷4om{g|1\Lq-0]ڻ S B"D|M+>r. Ut, \5lF)n߿";}o muS&LoK&OH%]tMɋSH$1MWJ?ݵy6_Mlz_CJ!DH鞻r䧥YiQW꼩:bsK٥2ƇH12ZKvRr.Vv[kTo8+i3P7ٯ!ΧmnձYmOggS@;z#Ie,EGD=FDB?FGN(ç+mm<'×TD)׭wjwmVmm\7L6 HPe@&sSB@_ ~OK.e}]7^ok6jE7%<&. B]SP=뷹d΁}biŽVVc4{-e}H"4Hh@$\ݱLm)[.OLE9˵ 27+8 tK laI2 M?|@-Tgx$gzgnFMtgV۪+cvD6 Vն@O'@! <9)J|}Ϻ秌SxJݦ߼Umm۶[Dbgh2K.1p( /"3~_2yr\L[ :5}TiYl,uYNwqz͆b\;ۏR2]_W;{ 0yqMMG\͛jg5Zd}tl)Vf}ꩫO?rnQ{垟O:?Z~wFH$3Җv8SO:2ƂAt:9?_k'I^"aGTQI>? )wSkMFU=Q"t|gqrW[V;h%YBlɌq@.KҲ۳y5ad{=ԃgUQrܩA _th. a̼j,su6F|g/Nm;]g*Unwi`_<9ޤlSŝY]]7U9#p;k;#KW Qy7C_k =+DfR1ĤA_e{8n̲yQfj`fd}:0b {chp/>; cD+J+ $2K{ 7orͻ$TbfLJz8qdžy;0oLyQ~ tr@c7~jjcman>5M&RuZ :=`Lafn 0up6قq,Pz]xk,8 ,pUJFF\ k/S}8<Yˇ_6$myL#Z2*ίB5lyMuǀƤW xeTK%uZPF*7O˝+\WY{'sW)ࢺd#VAw6[ӳx5gN% ddž6BIyvU.Grj ՞駑nmc U9s9릞WyL!ŴضCw;e:tnb*Ln\~%A=At2;]%14Q }*YZʏ$m*slbV*i6qz,OMjR|:K]G쳭VVeЪ]C\#Ӆf8T?)nQ0E:+o>[XV7A3r\T䠹&nX`A0I^DKԟb__SM}1k+Mv6A|BT֝A/VZ(K[r] l[y)6R=zs4Od2|Z)3d)ˮ[W%.~2v{_畻ӣYضI:|!?0Y>b?{7վY,}o#٩T*7nL\d]֣Mkiv{^JypQ*o&"ԝ{#YٶT"bCx:|? WzP]~K-:6WZjvޛyH~-]& 5~ *h֑^wab+S%|s[9j)_K;7$wZzS uIV5\NfX"r#,???5Sz,;Ct(eQk E (v2X%>襷ve5{i1n;M4L\JG4֛V0\ݨhܶsu=bm޽[Jkݫ7-k+yFOgɼH+R:|m_K/FBz/fo.^^۞l]V\*K P=`&fp,OuҎbRxp-fZjiz:jGvz!Ut*BTRy@Ejޫw>rc73SRZo.e] 58u&o$ƷiÌcr}S^">,dm [ю2jGLf7Ů|G]fC^vJ}e+_9QI=C ߴ dV͸[S)uN5!#>7Lꂌp$v*,)\6 fA D\NV縑G$Eq:Z3rG}BJue/Z۷ƌR[dba0S1t(!81lڃb&<7pyŕ0K<2"觰$ͦLoo:lBwӽ%>p+=G}lN%KgS{$=9/]0xOF=F|}hDKfdplg{zSj_.^ĶwiD5B%p# :D* J.r~D&{K>q}i]vm4p-(K/x9 J$ *D9)]4*)ob6^k2z {3k1]^ ZZ6i@eؘa {l5PFQrRlb&ռ􍄐KIab6˷E}GWN\7pn=qt4膱f 0&TD)O,j%lu*Τ)rQ4#K< ^޷G0ʏ)T6J手gI2 D|e vK8f*usooGa"X]{QYe79SH]3/ T6u*eUPQ+~9=LqrO-Cyp7V3өd6!Hey)ttL7&1<0{0}^{uj^Z<54B+-ᩩѧi}\ބ~|m6+u׊]EUZ EҹD(T\ 󋓛y/ {23Pi ~jȤw>ҒrfjzN2d&WcBf@Q7W8ˉ2TNCU9oN{]wPbÒv'NDmb1TwT2v >Q'c+wڌ(Iqw6)E˜T sK4,AP.ˋj4N=2tA(ک yjqۄ^l+Nu\Ly۽~nw ~6rg/aRpa(R vĈHkb\hS7}!klLFYYAzU/?%mrt4lGv`9IJd喏xk/l B[9ų>7Rޱ"$]I$VcW-ndXduEM/Jza,2)pɄ,d)mXqIV^J#ɀu!kLі5z]OggS@hz#I*3;:<:;A=AD@0:=:8@A?DFG65d-meVi,5m/\F^6%o,ŋi99dlN6 RY3Zlq$a]v$iM8'g;żj_#EB:2%n߸פrlNX,CQ݄h0Vc. )VyGn@5׆&v4vdT"~WJ]yQtUg| sXodgl|+(4ԣ[9\!ŻTݹX)')]ҹzt1h)#:ĭzb =O||:m gיzlY*w'[*^ikFp*[a,@R %Nsz>ܑF+w׈fC±xI`d< 3d^0l&. G 0:M}dcHdcv'bGl޴fyXx,;O.3(̪i9-T Jޱ;"6{#B/ʪ?nojo$$-z FN5ÿo[S>Q;*7<; 0d٬A,C="K ]iY)sL-])}_]B}f W2tDGpNfBB ŇLni4)ʓo5d.9Cζ5tͭsb':~*7z)˂%#7@\*K>yMWʆUO^ef[U$!m! #2 X|aosٯ\*n*g^m=&M殹3uJ5=Y-Xİ :?罤m2Rn9[{{̶ֽ]N:􌱡=ȒNHmRFw|))v@KM$࿿{Hs4ݻ1zn1x)rEk<{7'`+~~ǗO\"e'14Oj*~:wRONTږʆۭCg3J\ҙ@RēiQ/>)]+_.ky1 3rgvnVkAy gVFC1_yPAr@G .[!9\ otJ{4s_Q``?W@v.>0~ =%`l  r VeP+5wIwBkKѰO4 yoFM*Z6p8f8xy2 Z<"x )[;>ڑha3AxsY_X/33*t~CU|.z(f\?#1 31Ѿ}剬 6jsn ]*_;^zQ,uumv Ms' erH2U v"݀Am PA& mɪ|m,kH(cޛRaܙRSw.4BaJtxb~{ o2S&/9fIʺدg϶OCkνivDJh5#ۛ[' }cϳ=Fҫ:o:j2n/_TvwbhQuN碤lbj[wSYUe&fGnWUܾo诪y6}r.}Ŝ =(v؄+9{-;e I@$!}t[nՅY`Ȣ>Za {PO?aJ^;Yoq{3k5NfGdtGUL2@f+1] WTJ/3jnv7MTJ4K@Б͕$d|%O*뫣s;6Ypq7!l\r ɩAFJ^9g |!y]r{mg]oo!f7tަ:25IƾeKb*7 wCO,ibk4sOl^'b'j'c,loIJ[89|$Y.fJbTB]+.l#mtf'9kn@jbP#[T,~X<7䩾f#+vo{ջjzyVk{UMJo[tBOҔL̞z+eCX 3G9sE9>|o:bo,vZ+]r|C RTEcN^=WoLROM2 ʏ^z_+=`q ݼo~2a*z[eCtH]*T0. 阽k{}[T+Ց+QqaD̖e{Ė](dh~uTc6EfTOVed.^W8fEFfRInKIT1@&F]̆z# H%]aԈnٱ-L6>q%^}gFN7=83JxFUn (N~Py ؇[) *wNe6q8?O^fY2BG;] [p%V`0>f]znT]Wt$ €WONVJ܈H+T]9ԧi1+R$fU'VnA ^Q _FhQaB͖]ާ8"'rl MLhtkPQݨFBҥ!?V  n/vq%MdG +tr[Ƴnȍ{o$@cEۚN9Nw1f帘a@F̦Mm8L킃^{ }@mS QKV2PCk{a'eG ׵U2X.GH~ETuvu|{JD=uH?3iwnjWGuEu=l԰pYZeXUտ KJ&W.1j{4MĜO=U.4ќB؍b9rBuS#6JA`I(`W^:2g'Y ,b,QΎY1@^/=#`0kWAZwGfew3P`~l$C 7a3@rz!Mӽ>|/ -^:j$$/e8Ϲx>#.I|pjȮrn7bW"/pyA~޽[DvNՊz肖Y\ӑ.+yݕ&ݡ (£T:= gہ*Ց{2 XKƷr#7DpD4w"I&+k8 X9k@"𒅛ޅ-O@ nt1eOggSz#IF':B:<;=?:;AE4>@?O@,0:BICGDF,,25\A|j,oU[5֬c5R8p9-i:¹63{ 5'5HV(rnb>&1d$ITMŝĽe~lܒѷ~۷5L:yNmo2h}VLO%l\k]HHQt)\֣kgbRH6Bd{R:޻Z[fDѕ-޴5Wtn$kUetFq##)s ;Qo9T+dVysx6RaPƔT(ٸkdpM04Y4Go 'sKZ%t;;]\z@d:L5IXAZtMZjz7WgU\a;ڈ9Ll4GtуLkr^YH/ЍOgWO{c[V7|N]dY-yd(7t#ZE07j%M)iqn?1dN#pJ.i1C-l$,6L歮lo#6nWۨazLRYH9cO3uQQvW}ZU,QCնE3?'ֻ(g`m #?D' Z= wZtϺ{+ELjwywֺ,z XѼ"%lVtNUuɧ>d{VMW|FO2wa]1B@wRid:Ʉ@'}}w[Uz0)ˁIdjY5 rCN?ͧW J `O)A&rI# Bt'ܕYOFV. `*׳%vqu:\鹘Ϙ Lod~p;=$ʘs BɔdHSbbĄSH@$+;GLZ6m *8^yMЙLDӺqF g%Z]L&yj .bY}ֳ5f^ -cFJOnj=-cM7+3?g[<"KN(#|jƂP&G}$]E lee5LG2wFL^|ʂye#X>KjOtزҒr^NS5E׆=S"n֤sn{޽{={djKo>)%2cMcR~"Ĭ̇!le6sJ-ܾH: 4Q-xBbR[ i%Y:.$IjL߿PO:˱xt:N{=toFdlq7EO՞}/Ӂ l8ª|۳e/7"ʫК#t)Ϊp}W%E5r:8Tߥ.͂T>z/]99=6aXh޼2Ih1X*cALn7 ҺF4>'1%3N؅ fjJ) YOoF?k~C3\o i~Nu"LLNSu*JfNeT7D-aw=[Z}Jn}H|fibsS=]W߳Zޠ9q;oy,Їq:8S9qA41`+0LQMժFr8t{id@9ݵ&&Z#d`ܨ;d͚Yo &L1 ec % K&7o@" v-|~ޛI]aQ^T)3,zw^&els|[--aY;'+wݙut6V͸GhkyQU֏hY.+وQ jyJ5ꛜwMĄW3 dW쌖mBn4<]sU ^mTL{B 簲X*pu] hìR,ٟ S螆"]uxQiH$=̢ 3C "5q `uƭ UʖEhs0L: P, yH7?0E1$[vo{ߍ:gd'ZL\M˜L2#2k9"t1ë~fDTᄏZ+Ҷ5DOрLc $^KXrZ_hSzEh۶wUomb˶]ն D4a%),6k ?;{U,{dR5mm<ի=e |vW`,d~::5;GҷloV[[mzS)Zٶf=:HGJ eco}ݜc~1u4MzZ'ufdw{}KFUrA0}"Npښ`7M lOgON$ Ǎ#Hف>=jUkkgM71[HPDU,QLGmҷ8]yx\Y:pT?|eHӮS*D=\~Fe2̑WQ*_"*+㬌# rr;7tnlWC7A4K_!@llPٱ^=Q ʹE>Υr} ֲ?7lìb@~Wzb9*VnTsm&[ ]Tºj0(1BlOggS@z#I[*8?;==;7=;BF@:;;<@;:GAGF5<:AAFEV;Ln{i1^6&a ˛*GYLlÑ3@]u/8 Yx?u=e}Ia Laf2񫾤_~+,׷`G6ۼ=nX8UeՃcUc9أ@cQN_[z/4Ԥ#SQN*RLzf-L] '*}s"CWc6nJuM<}JgTZGkFCEF<ȇ7|Il>m8Тz׫U(]0qF d  z B=Ii^tT3Xѡ) v` L9\&kOf.|&y_?VfRpTtu4I*s@ăZIi,FS]Wg{[xHsk\Z)rA :"GHa,im BVkBU&sd.tB_B  zߛJ|2՝.ѹs:t_`y%w ;|*\R`FXTkpZ?$ ZHg|.rv'w:O;=c&Lv42# * /5sԭUB~&.\WRa{[=d$qWL.ca cQ#/≹h(l/߻RneE=&f̸̝md4IJ*|j1M u2P?߇\Nz}OO|&mJ|Ҹ ([#!<ڜdU릿{K"^jqߪk4kEҹ7mOimTͬq،rf\ @;luca3þQY0vTtלT;-e609J%q2a Ef+7wl=*c0ƦLUZ>~~K(NX/"=?AjpʎvMFEA_x]F칠 *󲴑]j|OgE[Z7c:[ILC.vt~Iݎ6;s¤CUS˳BugS4L 5~On$p!-)CR[pmbD  zBm-}0z1F8twئi}) 0Q2w/]> shKFtwbuBh.]'WHU{-> A+BFM%[UʰkY-P}V:-F+Jm0Awkf;'3B) kP]f]g)~ 0W^$9Zd߿;upO_T2S_+w8q۳m675}Ս)A㈳\y:.y|([U2Ŗg_*wyb*t( ,5԰J(eD&-JQ5A 9"i3X51x`A_HS-tq [a\e v-{5~ $~6eÛ@'k z%Jj=f.F p ’ťC " ^,?N^y'~yu*(3S&x?zk3mBp{r?7ct.->W!xCwx'㘻&~HB^>tw*6J5mWVvM%3&;J 3[o3{$Mf}jM6vH5T2qnF%{{wܵ"-E>ͫ/4=/HHf9 1 QC,nӒj. /,= ФM,D0 `qgd6(s<}NE: 쐍 ?2F%n"+NiC {j-3ZV]_q׻ GɯxŽ mSs)DJոٚ{\vfgo;um1F1x92"$=r}å[m{lūT {M6SU_մa~kWHObSjoFJH?l_$d3uz@d*ՉuOvOo޼X-ͦuomz곲ti/ a%.7k!͘\Uo^߇壷Sf{캐5>ftތ謙73 s( !>W>9p^K*T_QH9%`H k/ LQ%ovMyu)0&N={<|GrHgVm8{KWq.gsQзr[5`p٪wٌ/28wfi#CuUT.~Y-\z )H:*k7 B^eLvC&)VsU| gq"GxNVbfM`YaT&݉Y]L:ދa_z9K$A,&ww4s㻠159/[Pᎁ;Y)=Bi3THU<%@d<{53|#}+TU:Wyj-U.d):{Fj)Α(b%zj(ŘQ JP.L 2\%⒣74S)U\"{G=M^]O)]k\3 bkw1Y}UjWw^Z4 lwx-Kw3 iӴ7Pڙ pCen HP:OggSz#IXK"EM::@1 O::<9;GEEEB?CKK:~{qPq6ei $;+?>^p<{\,{k]N%/^w+]dKYC ۳WW6~"mVvsL֮SY.tIW jC}c[DL_ZM e%e]rWvKoVf+']Cqrvn播+ަjޏ@fߝuy]WjPGfk]lÑfGx4Gv$+V#S6w@5 0[jm;6 gpfm }wY}00^c  aMaٻX鷱cpkjռLؑ}2b97k/r;P+֞oo&V5Ǘnl uyZEƑ5Su/ۈ-Y:*wVVt]D5bz-G&sD<ɲ ƖloT,MTȣ}Oyx 1v'[~gu/IA rxh*G w>=:2WGwʣ{7ޫ+H(eyNT\9Υ͚*(n-ֺ{C{`{3A,pN2sow H0vZH@oجrE釕q5ʦ,ۋ߽ oXn}uSW/ʨmHS^ӵo]|8F9*k@tP;KRΧW=F<^,uad>b"_S*loJ:rZq<M](JZ, [fLT̘+t7W.l^$\i\ltfuFݩi1)X# fPe1eU r tNE[rE~bɥ(fYK}v/m}m&wLʪ̩{yzD|[)S}\7g^q^;}{nښZ.niu*z{W@2z|uta156exic̷"łҪ-FE^/TEOEQ_c% yW+kݽ{zf$$oT{+_w{>zN8Ͳs<ӓoLEߢo_Vt/YjExV5w( HlF\"F|OML~gӿ"[^PbF2e:NdXR>MkoS߲#0||^=y_izGa'tkA];ڔǂMMLxNR0'$8 C5h)@fS"Z}m.w/V N>*p8BHR5 Žj5ܦpY&0W2R?ax?;zUZrO9:~Lg-heGWov481NzZaL:/ h8Ζ㚳v ޕU*KER.T֑*8ν@ZP@2=tvڭhk< pfrlNXvgpqYݵ{ O3~ᆟ(. ܿ "9ľ5hB5ў~Kޭ+ sHfTb_-w`osݕ9:-iNr7Mk*WQG7زҽ1|HA'l>>"mtF>?YtD5C<ӢiRDkQ_-P5rL(UBc#ԓ+B1^=Qq-| t?=~<+smoc>COFvz71!+U {4jozh3>A=dyCzdo,=1=:x-N 0 4ΛnLunģ #L{PX{hIo'N"]<<O3l2V^ɿd,b pCO^ڢ>pI+ ըVZq^EnLV̻e<,c3GAh(~ Xl`$㺷VJtJR**o]f&F4b`Y,U^' eqϧjխ}tD#9P\V4f#F64i43.m땪ޭ<ݕ'fϜ5j Y+4ƴ"(LN N}o q]{в,eңN~1HGZ/g~~.[WuM,n] e[sMH#%Wg^kd\ ryM'-BV*3dE_Wj!7vN5.l8.c"ѦMAk{XuE_+(ܦt ABWҡ $ڂB&#pLv Vhf lkj4ܺ6T78ۉQ((~:KHAe4dBeHHt]>sՍ X%ef*{":Yooçt: k8Ռ^fj5榹 ;"{\cQ]U1T z> Qh!v(k5R:c_f;YjqyU~ӬhS,mcIF{u:X6~ϧțIr$ykpu҉SD 0{ァi[޹{Q6Qsx7msc ,4h~XpMiTJ⥓'|] ƭݯn$3)uRǒ7[>sk{m6uWacus=նS dٝ^%Zf{rև]1skt'uȗ{zrY3cc7UoO_@Wnh@QX4Իlye4ccY:vCN";Ejø0Ĺx'@&9/F ccL5YT0E?ȅBp pOb{bғ+{͞f{3>7Zԩ~V?"l|6 `p_YtQL񕕽Ga]I?ԀP;g8_Td7llx3vZ̻4 ϙj"px,}Q'b?㕾O@S]ʚDk3a^ O@}N=:&e~uJmufܹ\Q-3H5ƧLFJF.T* g/1O )ƺsq}l8 ]w|msV{o7] lb e@/v\|6_5;)1\zi hT^u-D ߶*sMt72POp$ժT3g֑]Gjӕ7&.{VζdJcEc] Rag%ܳ.)qg:/V/Mϯy5fi}2K-Qϐ_h) EWgaUȗBAa1MR3䭵}: Oof>/L uoގs6on2g,ޑײƴ&+tgXsSD) Y^9DO/Wꋩd;鈴 ޥhE\\\,{V)U{ծ]tUndV'm͔f;g!LgOr6Kw;!5R5vm>EjY٩ vF/'5tjUYYV->~Jpp*׊hz+#@uwiGk蜎PUβvܻ41Z%w^sv v|6 S,l(Fʹ;u]V'3Q}X4e¯*^AX[[G: q.z aP=;3+n@=-,sq 0B0]cQ_Ӳm0ãilXDLV C&W /H jsUxrS]⽙33*.wܺ3-L_Y'9ލ6XZ wuۗibt0Coh+Lguvge%5"^v}꧞u_ɮrw.zⸯuw)NUtmSuK+fJ\k#r)6q%_}quV,+dƓ(#S&Mm ǡ Yݕ8"Hx<˙ղSseB3S(q`07[ΉNb̙2t6}70},(L:1wa1]ZˁGe+ tvp|^ۊׄ>9ϧѵ ֦ȉRLK!hGoP-*B.61ighAcKE12*7?.7LܲW YolTEBI뤷άAIf*5Uc=ֱ@o1w}zļ'?2W__IeLFՍ! H+dftSgdգA6EOF4I4$C\RؐNLA)#27Q 8A:RR.'BVK.2dT' Rs -+V"dH\s H"Q/y4`ag PkqtqkكilᯋajE\;`~MzM W:E `͇RD[wnоF(+yYv;J?dyz5ź-?aߗC]HvEK\cW\!"S%#2=DA6>AHݶ̝Ò\d_6Ӛ>͞'?9::rv>紷֝h(XJBlH2dȉ>7!wa)|ClaiEddln ̘"jʹ7?㬮B7ybL,Ϋcn0͍V-XD \ 5ם+*5wM{Wt\; N׼YI9QTjrdgQK|2U=|q刚e-=+P#~PoDepثb-qd#ATbܕ)tJq@d\Y0aѢBF; (R,<f70GӤ6}M eQ)˱jv4dLna)*Db]C)fB j,ssWS=ro)+[>qïDV\sq_IY)r.ז_]՗+Xۡ&f<35G#;S$"uQㆦDN3E z^Mg4!?.el~\g+zU޽[iڽ[k-ZP/FuώťUiXXp n((vʸEZn,/jvy&mZTP_h(;o(f$=EZHظ^dʬ+x<9llOVEl+yﴯ fm2^_!nf|7RA_yV.s~&J-K >?QODZPtkm..d߸5lrj7PxKKx/pםl] ۥ{=N;?1М*uokY (SSUx;{|X={k_ynSqwX)@ 2Cpt*lcDԚz7@z3mWP`>/XUqAE$x>SevoO+yݼ]XRӆMﭓ,c:;> t!HhkK-[@[w*=00v~7F+=yMHYb9Jܤ.z&n]g<uZ=SZzuY[ܙ8pEӂPIzwXh]şrYE g&<+0" *G4ȶ)&U0F)` 'T2Y/HRIheuwHrBxUX-l29U,Cզ+m66yT~,Nτ`$<^ը14>S5 FFR߯Jt\O>{o۶{vcS[k6ja JvIAPd0$M7ip8@oƦj̔ ok~S_qo9!>nl}WΐC^c1:wRW*\|g@yFFFUf/Q,;҈Pm*J7vmffFuZ^E~TvlLMZwbzJR3=yOfy&Vy|E:JΞvI" a(6w65gKrr+qqo*NЍ?0}m`oL?ܜn6+X)a R֖8ݓjb\33全ZHx2VvQY;QJ%T7>"䢫jjD5L);>wz {^Mɫ@gȪwhϬsP,Y~yOipq).؄K&uh=zqT:jvV']Ed7B\%8ֻ B EzPolR!O\6OggS{#ID@'4(3;v{۶4J(xڵ{qm6l8f-]57H=oJг9.O阖$-}]w+!4bJ=ŴF@dd. M" ڵd64gQ=nǜ +a1S)oioHܿN| cp\]F"JyfcKĉCI}|Zv=:)]䎙i)v7Mot;$gi%+᳄%[W >xJE].?]Z~7Cl=f0Syt~|ިw[t&6=/@ 0O+# qCb~뢽{uwW(Mkw@l& ʀj$M>]JI":#ql SAr Z֭z?5=9 r;)e<D Цgm ޛ׈*ƦF)evVz֗tInh6Ǘzv_OIǧ=۾TZWoG"Րͼ -Dהׯܬ~ڙRD+b;T)R(Li*nvXI"{SHG=v^fR,TtO0=ʰ\b) $Oh0,en5>H;[`e7G5(̉#lzS=mxQ\]CiԲ6rjὼf.+ %1**pRn,!{-Uz[VwT6ucx1FllJ:VJ;R*]zʫ{ŒbM])B *hXPJ#e BIoT{R'}Xh${=ΨWD *I2UUUe~k|^p"k>=O)Bs\[͙?dޤK%XƐ8uhY,xa*,j])Tw/MJsY]ejvsL%6T,Ne Z0YO84i~6+~՗Uۗ[WG2.Bl)GAfS}nP?txr뿼aV^sk^ε{\RlF UIe@I_y+§/eQ(sloݕ1Vl콩F4O\|r/~ߑ;,M\rv<$bݴ^kqm5,>Aalj$khTV '8ITcHvsU3=?kiܛwւ:;ua@_XEYe&bjY,)oі%j2ʔez_HFWv~~3N3Ouk(fcq٤u D4Yzj~8G r&߽nPd?$R wz6r}e]ZDun,…8!Ji Z5IH 9+S_)z*Jy JZ{@겏i-A M!n( VK 15툢IW{!\@Еf ^ ve1:q$č*Qve6-g7NdUL__1_0t^Ω e͙zny&0&i^6fylz {-@ȭ-Ј.g~TUGyű+qkWp1yh2a'}ѥ8 0K.N`7dV%&d Q(%`.9;U:"(Hfl*~2$x Hcm1^hm[vٰ;<(`IS` $p֡t,!]FݼF$13iIaO8;_;&ɴ>|ݞL{s3dJ]MHT:m!ػwUJKV e[}:y3⮫UgRl]Db* W#aF_5-"(ˑ͌ Q"xDMjD#n0* l$VLGXi4֖.޲" ; KߙF:o>d3mlP m~dNL\,c+8Bd+SH{Z7a/T&S[=U 5qI\ڜF%z z;=v~mJP}2F~lPyew~i=lηl7tJHEޏt# KNSv]7uz]<k㺶vwuնmTJkչGtU ]n<$$jS3WL=99/O~sq[4_F|bڟ5/w,?ѫ QgBo5ʯOoeF?mb0N*[ڸ46xiJFk#f.D57U\Y~tD^iSDqs%a;Nʶ[EH.Jkon/s//j)yݹi9Fԓ=orTp9QS*6n&lj+&}y^-= Oӯ<[P8$si{* Y^ߝzl{y/⧻klE鐞J҈+81]4srNawݒJ2ٖwL|"Y' }0-Nݤ]=RglD3Szw-(/D"jIJ[zB˒HJG 4EWLeP5w;^33x3ןyW10lk6֖޺p0ig޺H2Rw :{]VGh80o^T2*mh^ɹ16ywÔcq4;ao(3?O=LCWMKʵPK:rtSq7וK@3 !'[D#_ߒe{{ (GB Qln,̕E0{ 65!T@Uݰ+f̬VyqoN\\zn/[c؄|[1-L'(m9;IMv2[+#{l ܴl9?+~@Hpn-~z-eHE1|޽:2>R?mnWJd^,+RDZ̿%փoaT̉锱]j&{vVu\E=ѵMi/]mM_DDZE5NHDkvwi~/]y5P'AĖf ]rd/KpYՐ[Co7׽򳷀۫,YbZih+ˮV2ɞ6= חSwG.!SB<6OggS{#I(x$ID,@>* @88;==DD;EA?@?GH?4beq+Z#̄0ydT̾/@ VjCA/ \2` _42ּ<l!~fL2"q7A7YϮU;\ff{UG)>ڇiRt-ʿ7*޽ qO^c^-e<+lޜEQYۖ`*FOGއOxsWe%ًvz9B3[ΊoOrOtxP>ެMl:I#\u =h[ Si-:K֗Gt*'N<l]XǦUIf%lfն`ѺԻrGlVW]]~7STKS)f#u^ʑ%kR׍$%2sJ}ύ޻̧Q{ar=6 φz3Xf֩ɱt(vY+$suGi 3 L-SC̉?Y?nzhDoݴ,[(L=޺4mXQsK(r bEZ/ L{le{+8Z3m:~g:Ome&7ˇPilx:#TދM)ժD;ZJtVQ1թBWR;]-\lEw!T>mgHg+;C@t.1W.;3ɺZ5n,cS|e~ly ΑV򾞷m͊^>}.sUBWsWLW#A5n(;`y]మ⶛fkpsh,V.fkGM$ëοm2(֨=ie!Q0~D:3\ mR9?e}c ^ 35oL)Z0L.M\3DRqU۹D)zOW>9WU-M+_Q>nst&'j&,`"gJ#)rY*MݽeLP[|26u}CFΗusOoT}497OAQ76u9'(zxsS벪JPkЗx200&Vywa,[V'nxgwxsw7>:Q`@Q, @z[SNXgkpNk[`{3SJU @=X}d%/1dz~_{|~x$j(ʕ+GԩR9_uMgiSL޻_*j])9Pf^Mreeoom6NKpe,L=Uh!qk33@3O3VvbC:]Gj`)alZ,w" .:ff(4{J;^) vطڣ`f" &G2AqO&'L١e{&yʦLe8v=v;{.?k㓧-cR *-UtewUS~^s{G[|M|3obͯrS~tEN`ܔ/EzǂrwT|^B$-:tqׂ޿O&V6Ƴ4~J 'k/ .AUVo{t۽K6|] ,hT@8 p0`6BѸI'F# @gƟ᧘Kfll̢B6~d#}㞯w>;,]R3h/Wymwf5ӞfG~|7(u8mv*w-W W5] 7JsݦUU*eɶ:K7]|.ey9 :īh(o }MSqbr粪{U1̘)y0kL\KF.{9~q.|Mkk/'V&{7g8l\T2;@GOa,}6.V,^lS47L1t^q)&.6`ZeJ1wy(O|Ef˙qL1dljpp(x.,jzK*$_b]s[Fsk[ٷ?L. Yra|9ɴBnQ/@׍vQt7zcVD{zθT#a,/%ƀVU N>[?WZ\ܡWzs:(g6 l>ypzY!~n iL]ٺ]>VW=oooZMV׶N8|4 @*AISf.KL%bBEd>&̋[- DJc"j^߀uo {>r%5!|OOUkmnFCLd up"E*gk[G3ʿdIbT _n}*/ߒՏ3a7Guf_lv$`9<%&M4eunVlP<۵-׫5fz25{}|V@ F _pӽQ/S`aaۧ}VnVvֽ\kb L&WИoW`ιF%ysc{tȿB]'6*Wn\f֖=f]c&NSx@[xF,DFŋ+~>Ovٺ̝۝ 2LԞ("\5A>9N4mV׋x3k~z6ן5vIޟ:u{Yj,BJHiyFЀ4']*! ffF0S^7nY9Nz3v_Pv۲gE9,xsvᶊ?^4f&b9Ws쭾v>W3yq{ǽ]j>U13;우wcmZޕL%5:&p3X1l8].f*= &G,),acNpk6"' 25%3c.'-L'd^p 513܎mk)`!\!lLAΉ`DiRIs)QLV $H/̋SI߸lUNġ L2ɔ Mh>q{2;}޼_ei/ w*uNlwtskK[y+TB2q[:C8G TNΚSR661Z!L:npۋt_ >a^kOb謨$&({>U=68}`$kBv:q Q@ԕ\n6UᢼgXHk֦5Mvc%`j*S8?SqaHŘUpmRSg8r0H+ѿd.is,sx󒙚)S8WV%~`}Gbb|f~ZBmTKttGʻ[k'KY:rח5P!>\J-nhNO͸%)%@]ҚXgJNoDO™~~י|t_V=[ݽvUC*ܣa =/=}ahւeZ1O^k6{=^y i˪6pl~:H=zdH3@:cG+>ГཚWj_ g~vxsڈu<] 'Dt^[鎖q`*v+0՛Z*B[[ܖͅGMӯ>/QA {\HU61f7B[B;nܵF4OggS@{#I)&=9:>=7A@DA:A@;=BF=GL(A9>:@C@L483S&V"5 jڽZ5n>Z@@ESVs59Cvm/@x3T{+~,^>{{ nL2NjN ̑׏1WtKE*{GE=y?ރ4y|JQ+>"w:(.EބSo3rL7,3cbKe6S$_)u*[܍K]Ϛs>=ba\.KNVwٝysb'Ls.yT5*,80goҝ;MM/@A12 30>< c 75'OLt~]u }Ukz Fu6![vuu,`'?U|Uux>ϋrxC܆feanz͔:DB'/Iě3c?@f&wAw-l_K* 95Zż6uEu6l>5f|[V P`:eu/';mby~i(me$|^R`"K^xI?ߏ&i-QˉŪh7\b|z5Zb)(49X @k}TNϪ_w=bԠ.RdTҺ˦llۦMf\dIJ6OVMUi Y,fL8Jm^\Eջ.XM̹7(: wZO{kuof6]s;Ŧ!ϫ}Cq%3p͌TRv+eۥ'oOPqhemesչ;OEyg?htk!,eD^q..6{d&b;D1:.G5^d(KTr3q͘mfش7B;ڛ>2.v_ytkջFkl՚dISق/9 ☽mW=y̭C(1۽N`Xo]+z) 6ٚ(k6̅d%֩Ô<Of݆DTfg MEΔ7Kc &)f1*HRQÈ!td-K&axTS5빮Fj{ztN䓊zER)uYG^Oe* ) sݒ|O=r/C~E_P6+5 eQZFJ**rKD%}gWܱ*d5f;oL^]ñdt!D(ѩ5V}$9;}(\y??><7jzSVի^L]08W:0a+2c+ 1`6~ Bg=K3wwzo2l~4a\%L)&,! 2]~Q)Czowz3w5or;z*Q ` 7dnϿo}Ŏ)r%PEbNfkeAc%vdn@uZ:`hIuZFUNv/O̧~yn,U=۞6 i`ϵswfe^6%37c%Lk@gAd0RPukne{ӏ7\w# [=1NDh󦻋po5"|߷u˞b7uN\VU^)܊{S֞Fa/:\?tV97&0=Pit X}r )D伳0!MJhg utDwWsw NJ dK&iϖ8VefXwU 0S#}d~;hUNx+r[("q었?kTɿ \Ü6EɞW7](bMb$2s?~z>;.[T?u%|p>BnDɳ{UȞHy]-l3:^rVE~U9;yo+i{Z.%)4NmHwq]S'0C-k^,z^9ZW(6#4HK -$~2m7lex/u@1sp6Z#C\$AHP]{&x+3߮(x]}.ɨ6f K'Ey~b{&g:\ *߿hF}U%wӖݐuͪ.7{R p*?;qˆTuZ=sZ56"3c7\~nvO\myozx1tsCO+iJͬr;Bl_c5zHgع%4Z8ڹٍ>3%:6s34rUXe4RKJ"1h+UrT-/Kw"eKR}M|udeL.~O7($H=ވU/ {K0oSSQ5nڭ2A̞YKmk1p. ܄"T*,_m3Ƃ[h8ߜbGH>63aֵvG8mflR[ȁ}ЅcN0vgY~9522ڼv_uonvdfz!Cɜ{ b:UX~Gg6r~JmզVVn~tvX1v ~L62Z"YGkj:PsWU{j+̵27z+E+e cUie]P7FM e?Hs9i]jTts/c(Yc>4>mӧٹa:cgsmG7E`Zɐla1r%pթ'Ln_ܷRiI2vc.@鑥ެ6LĦo][s2 A$s0q*c{o6.*JqV؟=iQ]i*:sɜHw#,aVgpXI=Y֬+Sh33q"sٖLYeh~1&Xw\_3+%نa sW9^,5\Sv2 *&I+Wp'"x(zoNկcqSkB ~%e;De U!VțTH*1-gs{Z3W UG}j+76Z R9r.AFOKs`ͺkIJ'`P-F#p'rl\"McAlgE2Q8n6F5UBnTFJif=+:^fmy /vndUF4]&Sdz36bMlpx0lmf'!A*⪼1h64!Ybͣ'W7J)e,{-Ko{w>Y#=!xHynwc@ѰzcLGAH%T$!dܺLsy:F e(ZAz{PPNcj !Ƹy7XEvwBFeh$]Ilb+q)bU.b1U"\S W$c͐t;3"R vv0/m;2h 65xҢ3䭳lcd)7N 8Es<J:,v K(kwbFeeGhe.ꖻҩ.ۻ!82IyZmfNmgz}jV:7|OƼv*=u9e/ei멭f=3+ˤjwc?U:qpԎa(F'tԔasGlOnsRJ(]&,A[^ -H a+ Z@C2E+b5Ma3ȬOggS@#|#I."-.KDF=-><;@@,8ACCK@1)-{'Fxfk3L4f44*e.7 QN$!jب*:n:qO6X6ϛTݶ'ZntS:ϻ=񙤣FE^._:_[[ݼH{q\FUzLLڛoos31ݹPu;Z+r9ȮH ͺIO&\RKJL"Krl23T+LbW6 _3Ab6 }|EUA8+dt8n Eeyd޿c3 @v _4 'q^X{cn x ZHM @,y6ӄ zx<\3)U2+zW"iA,\<nlMpϳB ^nf;)MCZ^ztW^{Eշ )r'uZ*۔{T뭔#KQ ]bs1•T+Z^!*F*'wRE)˶;\T:&X:I z$0 *'(Ȥ+ZC:nSUŶmztR&Vk~:veu.2/ ycvt\+ŵ5â4Uav2 ,k0 }Eu8;%9~W2̔E@NќS )/*r5lp|6=!_0VUMl%l~U=Q-[ H!?ݖ.Uc~%.ev_f#Ddsv 1g]3T7{?KdFq}@Ey;PX76dj9+ɎРw~iF,Uȹ[J!-ϱ VjwA ͩNQNRؔ?f.f/W#yym 7ep׷iI)W)r^]I='3뢼ŒpR-"3-+n.="\UNȍV+y47en䕞>ݩͫ$1ݽ7!Tpq{#߹{$Zsh+7a V[7I^vrAp(HH $G3̌Q@p 5kJSٴa.@TE{[mqVrK-{33̔E? m?w?=Ltil%e18<ݲNjHP> 5./.\J@6K:QK}-*3PlT%fn6o;^_qhrnk|[.ȚB<9mGv\&BٹyZ^{֦}S0@a3JE2372Ihnd vPW\So4l]4գԚYyᴪs~w3+O7kۏ͸@kMl @.lfRL!FG.6o{9L  Rd[Wi۶QwwmVlb' Ƃώ ֘Lō6R΂dVkצ~[kZw7LkiDOk LF%  _u쨄*T>"ySun]n=E&*ں @ u*  E^蒞xQf)UfjB?jǛxOyo \sa^ĹtYsJ쏍)c1-* + S!#K;+ko+UJ{桓y4#kP [m)',}e);[)T!>42/z6y<(VΞ`:)"7,;9A)IetHEӽ 0Bd6HMM1C.Y)\vơoP'M[no z1o*6&17aYf)c'3 gaY@+г4ư"VEUx kRfmeY߶'bx3^U)wYi '%}yj |y)r$F%FR !O=yuIR\F9RHqc<{c6uQVGFF;{\#@g^ׯ 6ƸuDn'Vvlײ8J&";1oTrS5N =Jދ Ȋ^%e8N@2iL(a$ `-ZyZ`^3Or3f8d0%( "xUI V*6."`=q{z 0y+{^\{ޒc Rb<5c?ۦ;w6~I{wޯ1o c)wԛL=ϋjx]_t.^N8^ >6?b4๳/4 lBYY`g{HU@OĉjOFB=c fc2K&c?"aˮn [5Ox "2fx "z`CzR ZK̤iUd ZU 6# yֶia 0s$5o)ieٿr|*wlԾ\ϽV[/ɝeU$9.?0f\f"{}ռBvz7ͅI0!lܜge[ursq`j/Վh}{ N@!%jaN4&X8Sa$C"Nn8+V*QEh`6 yŸOggSS|#IUd%43=EC18;;?>87AIGA#6<>FKDJ>?R_[@Խ0c7eYtrV:Kd@b]%6$'?.:ml ;ͯ DkQq}zz$(~=:涄RYA\Oe.WSApU}_ի|Jy>}fjm>;"w;w,riTa^>:+Q,F_`hRėIGPx*ۀk t"c}ڤ@ 8Ev0yv/G\ۊZeg\Wp#:Ǿy<7OqQQv4#PJE4PD)jW,Yyjԡ)~'w]2Lc8ηOr8g'qg(N*_tץ7Tj|צt^W~7]wmgc @\}:Ϋtd8rJv.z&۳5fq"%7sٝUT.iLU\08T YbColE&!oJ"~~}+k8baZ%ك6]Q)p#ehLOMHCcۿ(/_WB#7׵uo<=[j)r;5ɐ C[Vn"nKIJ@@ I3S&)yZ>?Apfla٦M˼2?}˷mד\9ݲurley߿Ji3 Zv;M 0S銙8:.ʙ! y袘ik=suV/Llض8-f"C̙owT$w" @Wq iX^Y@:BJxJ1`Qe8t1 )@Ӣn Ƹthrl7Ԍρ"' lkgAz@ ya2-@C8PlJW\)V25;AA:F&|ը,z6-Ut "-AbJgL44魼<*YQCZ"߀p{מ@.!Sr,T S)=hMyoLTB]҄e5V=ӧbLP532&gTTm{vw^VҎtRǑ_+ar'j =`IHR?_Y|˪gOzF(:kM` Qdi\VE8B5`!iobmTsܻئ^U)e&LY?R}ÿUIIm\䗤7붜t!=^jiIzvDp߼rJJrLMҷ7Sa: Q!fB.Gj4]ݡb^c *tхR%{u!\Ug%6xN ,֬xS `u0w#.3 AjG0hd0F{X#*G3F&^a WUj̍a@~$Vp8Ёw̍ <{HBtOvۓQgM|:tӻ3Y$fyYvs=7g t&G(Y5DC޽O'*enMw rBuBCPǘzBة\cv/8[  ('PY{L<| ),x4Z P1Ⴚڲ)g *5d0$3Zk^eq]:5^9PvI%P{H~xhr=̌R[}O[eΞC=o-=}|-\{z`h,ɧtcszMM}:N][ޒC*lLIWY-HngKvO~ggWeU7BҮҲSjHb\Ud䆈鱖rB6<`*m=.^G<"=Pv%:j.@BدSbmw6 ]a0,e4d!{*Icj84#:.2%B .v߾k!%d.WuV^WͲ\2 c:5*,\q5 ÙClǺSXP}>z&u%Q'툷f1'Û]f.J\' ;"¦ Eуu~$i1Qj*>]6ߺs}dVk+DLj:-H0souk P&Dzϔ+ץ*AY L3~x5*o(Sl&z+l?}|]_jwIvr#w}!JSҸaIJH"MhHO݌n:鉈Ȟ.y{^$z s=>]D˼U;oIМ#f=dfbJ{|97ݫ.ꌭGt5MLmwŎ1ŲGYYoVd:ڳݹgRoDU-!lPꌳm!)wԕ!co{Y\14XcSK۶>>E[#}@aފX:"$]}a[{IX&33SƔ n⽸Lg־8x^];}{ݰS)!=gN%#V?YJfSոcszJn|g/xɈ*lz."Vb/Қz.̵jnO*ÌHD(>һZAjÖ;<=rq*%>d㋃Y)vHActT[ZNڸ{6AaZ'\ܚWIֳff.׵ރxa9صU 1FL޺z0N+զ,Dzyȧt]nGŅL$+5I~뛑R[^̈͛g*I2e/خM~nom wu/qH~N5HblwpM*^Q&y_k8۹׷KL{u+* jI)?Q?I]&hskh;{<U{u.v3h2. ɭ.IuQ>G9UŚq.9JGwBBu\EOggS@|#I\"IWAEBR?/)C<=>AJ>EBDBEN@5"ʐU#(_V fQ,촶&5lQm_9W ~֎!, xԙ7Y{t:kѦR<.aM= {}=\o\5)ŘvQ1f?eHzd,{6>Q=bdz-v?$J&fzZ 3#ݣe (9JVGݮƸ[{\ǖşوB?[,]һ7?TWY*w[=ݛ3s^{:&{?w;=D. [Q]R>Rgs:ڰbNH3Wg.U3{S*՝4q'u{|,-lѮja3Z2&kmزAsbn<{tQp)c`= ĹV y95@ : 76_L^R5c6,nb7ߖ޾mds=YFT'}{^I.laݒKtx.de(KOVܟO7t+6c++b(Ud^qTt‹s[m|&!UVh^dԗ9B'i%eҺvl/g:"iZ]³ǿۓWαڴqsm>Mzb/־3ccl-f+ LiSpq')m> τk0>O+gݝ$r}B-kc{VOmg=ۆ:rL> DǂNzLr^{"o_w#Zczۼ˙j;+hS?c4P {A@:`qtOwl6o"d#@o7S6O~z_:oz8R2<w:8#|n x6,=%!v>}ӥ+Ujgwkږ &z~F9'DVz'䫢u+v+)MN6Bl;:1t]&TGXQM,GcMkg=W5vjc&.{!޵ܻ]nRqծswFYe/U( ʵ=/w6*cscȲnrfk^x)lʠ'Å~8TCT ;lbE!ˬ 1Y޲_xO^捚15۽ut: X}> raM?9{A$ roiY#/M9S52\Ч?.D7vVz( 9uNɪ\2Q] զdQHs<>qܩSsB7ygٸ([nS)1Ta-3E=wHa8畇WGY~0 1d=l >IĵrN.p '{E̶$3j̔Z m^/w9J}ʙ-<5K6gzueuUJ]<˙,u]̧˥*>p]*OWz*W>k܉-Agq32-j4k`X+7X0SaufVSPmU Pea\ S[e遖*cb)2IV׊ T8r-YzpW~xď*n'O?e-s2$xd<=}5oly؋xV B6vcan~sk]'cp՝nk"ϠAT5ĵ!&5wF,՝Ss;T>gzU/t1x8:< Sw=-"Q9I0k^Rݦ\STu8Ŝwgbm4#kmUK%+"On** ڞ2iC|7cB~̨ny3IV[a8;c1 `sA'ZKm*J2Y͚f{AOܰh.z!v] gA"pviyFS겭fenmU;k7&$2'FN'vT*-Q"Pb>t5O͜\ˮzѻ{]tv-SU k(WcVTyry%ſJ>V?w{_Mx2L;(^Ɓkt?$u6~b{>-unc+^,ky43r ,YȆߕpO:tzDώ7Rú¨t*m;Vzkn{Tf? ӲaŎ$]~m (^vx>XY͜Θ%!Y֬mݻ5ZZkkoVd@l=~S"8 1O>})k+k.6|˚Wmummݣ z?ʆqcbX~F:Xj58~"#2V\Z-ն+{iA*%Cڷx@l$"z<k}PkMYL,^+~pW'>8oOv~r|wϸ?7S*&j|g"mTѳW[?ەe.ʊb/].E]-r;e[uq_a#ݳF+޹#fd8nWSeszHpGO~)bN{Fu6;ąWF21 E!u:Ibك!8pܔ4EP/q /#o?`[zsd,y,A6PSP̶r>QB3G 2(32tUhtvפ'PrweDG]$Lf&0 lq M˳y}Z|Ix8}ߗJw[{WxHqZӲHՒ R\9Qjgd%Or{ora1DTmgq37h4I‡POsӓۛ6t)SMgsƪ- ԅ1p.֎Ej2ű;OWEV,T.{h"K32:>֦Uf52zjp w QeeCdmn(]LknfV`{W(^)4LgNtTHQRgsPX٧A$L2ل{'b>'7)'T6sٳzZI dI ~\{T-6 nMka 5{s` OggS|#I*&=88;88DB>8EKA/~X@%Rq&_@:mU фQS3j2~0~sz_a垶J?s㶼ԑYa 鑆 [| ;ih({J3x_q{yW]MO 4MYܫ$>Ykanh4LAa4}Rq,F+dȊz/z繁.?ÕEZ9=@PrУۣ͒艆0 u. 7(a8MF3cSj\K** i+3{ď5sݛ]dfT)UcWd/+_xUi{91mۛqb18$Į^Ӱ v\EVmlyS'L͖\)g5{:_K1{]-k>n.0D3Ibsp}f_~\QM>uяuFV黽픅mkwlo%3t~^@yRrc7کs Ӵm]5{/hkC"MǨ.zE`3K9(\1?os8T&vKJ67E]7Pupv7ZhOF Ή@"eEK$!miOa.| 1wyS^:6Xu(BO}xikXe@:1}udG@c^ 9c˼dQOځM X%>PXD7ʊS{;7 mF6U^BϼQ2i " q/}Zz~>_omY{]ƫjj4n#(&xRe]yf5DIs6͌$Q(mTww]mZkl˜xlJ%)Wooe@ˊJRV\T}k3x4sOZFz|^K6!qlU Zo٨k⛣1_2=n1=[mwZ[j3{3>K3ONABu;lx'?j=*Kw3SQdw=϶OͺIh+oeG;:H*6Hh۩H܏f-t@T̨RJRB}/KS{ٗ>Oޔ6'si`ߤF2@GNU޼wʀP0'2%"8j?Wpfgf ɜRe3ケ綦'OՔz G3J6Q0t([?t)ؿF)rN-յ?S3fz T*PP],ȁP?]%Qmō?׆LW:{[EMf-*^aLLn0sN|S}7t]]O|RݷgÚ}y݄1.J5ln "0< =`b⛻۸DRg¯q]lxiTۍ̋(e"-[R ödfS}|ZNm%ߛ]zny(,;5P,QaU !|2 IBܿxn{ѷUwjo53߶moӸ|E<׺t iY jZL-b\~:[R*X߭ךe%ֻZonX Պ+jYu+~${nhrܒkǷodyՕ|{ng5U\[T:Kj3]Q5<3&)++DlEoB0̔챷Kz EP8;DrUU.o{/8kK\ rFWpK/ݙx=:NlZ\+r`ؙs H^qɒxsYW 빖j8Noi{l`tmU3)KrD.+U7oQ[BI_`lWBM 7g@i5V`({2s[;|.hxy4ۜB|9.o.:eom^btVcP*ģcP'¢"DIo|*s%T3..?{<^vkk9:;pY|t W$Q?PdcN"ʜASSj­?Rrk[ۙ\O6Imw2%ᅥokFl?yHnq݊4FL (MTT5ct=ngZwFܳ +DV>*p(&t 9M2Fi Y Q 6REWDAl/-XRa*NtqTgItVe^"ٸ7\ޱKӺ6s}k.5ڠ6[(el4АFHabiSp>ύVogi4mbnkJfo#7/A.(Si˻ImeRqnE}x+T `,TtMh|N颼̰GrbU)_Ɉ&jdgvD5. (F[EEUIđ('BU):wJ@ 7+W p ;0aaEBW+'@Tq`*2ΥRZpTB$eؤr@|SnX3E`tr fjޮOV 2Bs8r`~L}^HuG&ERolX{M1.P;ԛ$e^zՁc%cu^/]S?0=疈Mۭi嬤M4fԸqlW.wӍ*zH@߭KOBqi[ˈnj(ad׮KLE*'*4WjqDu/!6JgqhT=*Nt\KbENH[mʖ:d#MOggS|#Iv&;-<=;=?D?'+D9CFEBA*& 7{6 6 z@ڂ ð˘Bp:w(Fc^)WFU sU= ˲,ku!D$#Kɔzyo+V8n?X['E|uv,Qt?*Yu_WŔuռ~L{UA0LV)GF*6Ղa`HƵ֬ESY/*VukQ(jZG*ҽ⃨DX`dQ]M ?$َ8ITI sKALy00(fHn5eVN3b. \.w ΰQKcyv{zAa5N7u,nڷgk8uPyTx/ ?x5|E?Z`_Y*Q}q7.fѾ39:n#tާ-3cztU!iߓё8yW?] p$!+{9E 9:u1GG+Dj:p\er)-%8&eC\S8|f b©$5t'ebw.Nw% 6ӫ1e1 ^s"6Ld1t"$uˊ"T:]ALOY]Utɖqzxkw\5Y ~#NL"lA=U뺥'[߭0%I,ˡLFN,VL] vQfܶ5ԜXY}d4 餜C6s;dA2q+*ҙO4 K$>df"UE&0̲@,;;+E%;Y*b[e-ٳG|)yE %,pc @?HOad+_nR$r/aF_fWҌ# Һp$y}@gow꧒.>|z&>…1d[hzzFNFlʜ(U"DC֠F=Iw^k$C$_gyw̲R;Уil#\".5*26X?᫬BU؋I*N3r^vU~oٶ^_e3$gd& R]KAJ //~pXZr$gő_*D~ EzKt=l[w-Ʌ"9"ڭxU ~hR[X_?3QPO%3LbV~|R/z84қvܶqncʬ,e[myɲn׉PoHBL #˺BͭLi>%;7KӍWn1KvL ]kMCT&T\`#ETsY)dՑDF$ydU?2TdKx EfG.T\&ٶ"( !\HC@B\鴲LTl kI[_ "vO1bA?^.pœ U? '[Vvyv^`HXHӘT|) MSKӟ郾Gwl~kl0S6tNq^v)~LaIr;2?bؘk/骡CD8}wf\\坄P}d2*{Z~xh)]3[)7&'&TIqL-R2kO(.]$M%;a6` eEn"N<Eț< S.ܔ.1|`,7\]ɹd4h`v<^ZS-f40vR)rIDb`*Bs)Tio]V,~x DcE4͡H#1^)]"(_jۍ*a7,{gXqTZ]tYDaXtG`|N5z|s4nv坆^Y߯.mLJ˜2Z0̲C5*"c=r=&;yb q"B$٧jZζ5[Ȅ/CԏLOTpc$~ g(Dfj̢@z&n߁'Y/϶7g4gseUG$<*ϦWWAwy°}3xCY.hr@|>۶4X+ɾjny2{;w,)nSGL_egs܀$VdL 5zkGA#H4SwHWo&z]2D^rdL6 zEp>#4'lE=I4{K| obԨ$2w×[ǐ];=OS|g dQA{.T$s/."B~%Rҁ:'M辧;1晉^*Gܒ>ߨ{h[Zi7v7Ow9sggGo^zOyS@ j.ñZ,UfǯY3Ehw ZP9uf!?%WJᎼڽ25URL K̬gܢM3O/"Sdq_ŌRH#LH$""Z ޕO ӳ&9X ƊfIn7lfͳY*c^CEhB۷3ym3 K{~g8uK42ϬUܺTStPWޙљ]?(8xHiPN[mrCRAu[V?ܸ۸fl5mڭ<_@c.aPW]c̬B+oK^m''g6} ?`%!!~Yq1_nzV̜IExCYlj[ؕH(\5T sg\+*Q5+/u$o1օ0 W.U!3n.Ӝz8f؂$!s֒2g2,6m?M x9tV1q!:`M=aLƼ7W #eD׌ 'IAT%VNTI֠DQ_<+3{ ۿ6G$[Iiɝ+Z{fM;#O*vN]Pʜi++(+9\DWcVT?)K#>B|&2ڷibu5[ GBb/DrV\K RFbUO1ktBB~X5"N ]K1(苹-`I_α\ ]D J[ BJg߻IfI-3 FǛ}:x \ӥaHGKLe]'oWUk-{aA4O&x\2e*o_6'G7Wm7NZ[3ާd!Dv1_ XFKcPXP繳̻۫_ÝBy\qqzevib\#`y5v_߭K*A6~XagΨra\0[˞M0kdscyC^y"G45F+q#A كi[OggS}#Ie&4,-?9HI8;?=>>sDMSp=F1n ɻ.jSr֩<3edQ.ԫv|\{#M [ۋxQOmT}:0Ne/Yps-R*~ EV HNodpTlH禝Q WgYnK{ڶ;qr27FLLw+\ݟ'i|k(}?8d1D%M"1GK.tOsU<'u݉r.{RW4e ΂\25D2A ؂'_;eHugźR.<:ϱF叻4ܶw?mj"1K6,zN8 m)ˎj2V FtW89sѼ5o|<|sn/zxz?IJƼ[u9.,ɍ,T#+աEhD)\of/ödQ NvΖMdO;2sT㦭Smt>gb.Գfmx*}#oZuJJ';dT@rՑcX}| z~S+B@hNFZ}=E׍@m=7M/Q "P*~]HDqs?*U1*ڙgcI|Lྻ1)GFS+Y&g,*.{ZIlf?jξ.L12y=~hfbtb 3{^(_}Iq}ڧd[3wܙY;_'fV}j:5:6hig[yAso@'ԣ *=9~wH G|aR)" Pi(DguM\ UHtYS  D7c7Dv3]5WrB(@Z;Cf KL({ pr"߶ >{L WTas'JhJRJ#`oo()3S&u?s:OO߸rv 2sU&GI<PZ{Jcr)_2[\~.21y[y>[\aqe%oU!JW ad^N %d>L8IJ`IOđ*`) : ivJYa`E X;40kߞMk9 e/JYP[56h-1tg[h7'p(xCA^1,(`q^[QPpiP 7(3S&+p~w;ogV5뗍\Rv{MOz 9D>Zh6$au*~xrE}^^Rf}=zwC }\̊ޕ}6T8nD_҆]Q퐲c#/SdFE./'Yip^CڠXD9[DҏrJg=i0&_{yo19ԋPH[G6сs7ϓzvJsW0(Y@GYt-yӇ+A p5)T٬Qx-T2l\#Y"GyHL37 J(G0g&$1L",Ǚ/УnECkJv{Iigk:mv:63]|&h2+D;O۶>v04r`_[yvy}7q**|NW(Bs|'Ǘ}caGwL1":~~{xrwwTfool.EV  "f&N0) p}.DY$yjJ=dkƼz^u5La2%?4]=H߱k_:Mb'aɣɭٹ\S)ޛnc/.= L|Us1Tv'μΞA3l3V̺W,N7/{Dt[+Jt$zꚣl-y?|l:ݍ]Ho]D[q'@3nY雹v)V š~ozl={ l[ n#~w3>Oc l3*o=rmGFu/Jkho"ptIxylh8I3G/ՌlG;eVmU+޽^X{nn3i\S"~OφOggSJ}#I%LY$7DL/<5%=>8;<=EC=@B@DDHF=:]Cd> Xg1ČەFKh8k!ex:آAD(q5p[@z~i؝$S \TRJ^?~y vSsw䫖}UK6ç@1IRv73*s>}K4VJ.$hAP'NJS^fI2 Eu|:L缬>Y߽+eg4hQF̐oզ]6?]3w`hJ FnorpJrJz:wbQI@ '.7qxvj@+ٸ2!uk ƽ# P/$5д7@B0Ⱥ*b,Nc(nۉEdP<}kϝ{u0`̔y;LFt KӰdy{kyZdjQ T::ʱ׼J9[=.u"&^}wnB=fLսܓ"M^\Lo|74jO;f%},ۍω>V9تCwcV mުSw7v1w\7*NR&m]ns^l-^O{Ս&NȌ4!cfu j[åuVi[θ676GxnL7B>$HU:EZ "M15n^e6,n=l4:ތ쑤.tip1na/PQ|=YǷ"{>w#roSB|sa˯ȍT=߈1y:XS[Wճ}//q.{lFwmO K;,k+1'liٌ޸6=tnO%EQ+mQz3vU-f=';W-›Ws ]5ZXn+)3@ss9ъ&.َ̙K57; Tkmiv1`Юf^3밀\tx3LysXu[=nME O䩳m$Q\ "\؄5w,}#Refrn^Sy颹}=OLG\eI^:o}D%)׆CP.bܠYWB:Y3c?uV&k[KZϹ~.ŵFlT5Mgj9T7ΔO{japv?Z:{nqblƖyw:Vq"pf4Ը۴6j>YPi_i%K_mey@"xཙL.Z$9쟬,Fgb"y{L]R0ꖮ>^?#lkξXZJޫonmTL&~نkl<;jgs# Œ܊yDw󊪺m8ZW+{c"͡EOަ[8v%r44-#4j- msغBe}npHޛ*k͜ݨ`Wg kh*1fP?̿ΰC`(!NE45a"/$: t\(ʦ?BL517ixܿ<3_+zeh 7dd2{79WٷMʺ~e_w`_[AeJߏܫpW\g哵HꚪEwxS{{heWo-P] qZ"Q)nX kvpN=eWgt|5'}b (!̖(2Z(j:TƁ?o@ͣ8=#?J}w:J1[˲N]|xU̽㩖N v{*1L=CCd6S3$``T}*9֪ ava6剬ٷd&%T|j{{4tp J+UowޯSf,wɘ:jݩ ]qbS;ZVߕM rS3Zwܼ2&lr3r{4kj=Ti {07}9HhQ,$=gs:qtbҲVPD}oũIO|껧4-MUBm{+;Ќ{zp:*9hhj&{.])R 60Q:+fq(#JnU7u36MgOV\J]w[! *ᤩ0N7UC.=:_*>ü==jr5lZv6q8h 7 3XW۞/r꽧s.fR%+UTv wÞLjaqn+@PE[:"YKϫ[ľvW}IݵmoJbmUw\ Lbnbz٭,6oX/zyRwy=ܗLX8Yk^wn)tbxqP @6{$f+O$/[wښu2I0bTjDdgBxzBRn0wۇXm]j˶l^G;j{\rK,$ٰY-#_ #@a1 iiW ^O˛햩<:VzdnV%h)Vf_BЊ )]#IFG5=ZZkmZRt>DuЊF-O9mMǗ' #vx}w-{o.675۶ L~ өgRwaoD 9L[d+bTEh5m{M]bAo7UXRT>0S*q}C_o&&]Tl̳9Y߿*~[biNǿW ʡxg:mh>8i !̟ץVt\lw98[5W)_~;#~Pi=FcӡXD}{{7$d8ktR9 [U 8צz/fNdMLeT2a;D Yq`,rܻgLږfҠ̚nh5Bǽ0ō {c ޼[(SĖ>5lsC6v"VQ4v~z/WFĒt6u͌YDJA.kV` Yͫ~s="c=7N~Zcm767OggSs}#I@E-69:B@1C;;>;8:=FCDJ<;<;:@CvM]ywJZY"\stn )\hU-AkV4懻~;zٻȤ5h*϶o՚SnzIeP@ZT"g;~Sfݓ &ཀྵSʢoغ]~ٿ6Wꌡӷg=?zu^ᆾV.ww,3{H}gQa\7]Ji y =T\nqOYQvNӷۃa9o0fM]?ټ{ [9:b}- ^^Px@C2SA@P|:ϓS_}=nCH2-uY_Y!{oB7[3ϻ!)5t4VNfG6gkY*T_i9͵>ϳϯަSlҷ0rpYmvV7&޴\"s9v1g8cl u296C *N,BUS]N[{)r'&-kv*4(4 чD/pJxL}wn{A2.t>ua73eB*õC"1yQZg)j_T}g* =j{ug/ioCcuFם<2'>Tfjl*Rd2wMRȯWVN7tlZj&޽ )|FJ.^Ȳ cYYHy}ÕwEJ̶V:F^D\UK$Irzy_>ʭ7}Ֆ%? V;dҵZ32QlsV->LnKkՔmSTR#i-!,gKjWǭ~H&6_)WJ2˼{m[|& V WME3BĐ55BMTwYodݶ^kֽkn#ht䟯(PxYg۩rq]sm[˼hZXJ%])h˻ 0H@D?P ?vT~lBJlfJIJn.|iM-֕bcY)c~_5",'^eļ+G1DfGĕgϮlzt9WPzՄ7Ln܉zqZTɝL=mK7w./GtM@VXX`n-vh|^]S:/gi[m׺9 J=jQH8 *eQ63Q)%(S)}mr.>.v_q|kz2Mع{1 vMO]NW[YFaQ+ݷΉb? Z6B72DTz];1$;W] |\TNhnI Kݱ 6hsb8uI _ d2Wt1I\Xt2py@ZĦ |*S3Y$&Q6ev>?w uZ2|_m&$Y"IEqT؉<>JOo8xgb$]F~Ud+WrE*ػpݬ62{O] :ޯ*UC)κ Vߥ̿lNV^L7^[y`ľ*ju(!tQ>w/\@Z0 JBUbI@;hPU\ұ  V+"ݡSjE(ϋ|Qi 5̌){>xeyZ 7J웩_s0#8yL㰲y^Ne.ՖY?lTͿHmd3$ALJ1Q<ЁO_JBE 71dFQxVڱ}oZ[[[TD׹ +lb /߰*O$/|鏎ȻKiZ\bcUlmo_LrO1NBN{c E# 5PMca6SDz+=ogsmWkkc6x |W%ju¼" N'_}(E4 PCy nr-֗:je"omĵ; -@MV0 "W->rr(\llThqC=\9O oNmo3NzS6~$Yzώ$im2T|k&1>7+_zmo?-ާ-Фfr'Ќ6i6 TT o P\TBdnV]uFqbt\m^#Ra7bo)n]&&d v.[*GtCx(r7f2}Md-0:Zs虛ғ i'OggS}#Iޯ%-59G;6:>=;BA%;CCBD~\EBrzwZEAUсtaoږX&JxsQ zvcO?fB07r~F~E˷m㔳f1T*<ۡ8QjƖ<}nRGd յ.brvexʥ\2p{D fhI.rAQqȋd9W^ s)jHKES [V@gΩ$ ]8k&r1.RT  Br79 daud9,BۍqVkД FsclVaߍm}Oˎ'=~l!z%ϭ] 216.ਗLMyYqObJ9J/>߻u2/svxܨE[[01Tuu P͡rSɼ:RkxW(γ7i &7wpbR p2zd@G 1ʉYmU皮R ZZ`[材N>brlnRN*ekHS`!R@Kz 61#&kv0U1:t7w`C-9 T{+ &T9GxO%*l][ Gy 夘f&S$*e߯syoӧdu~dj=U^H=~<]g{S}?ϓ2Tu]~*"mLeJl6l7޳aQ*7Uf3[)Fu62ڂeJ K4(TBL5P#K1W\ [!Jc؃(BHIpёD4ʔb@Szy~1i9k$g޺80vcbZ%FMhdPr9Kwv`fcSeVCO.ݥmIg᚛W~`,K|M&Kh݈kE<ʟncەLugՐH|8W+;cTDW.O=tnk;9c>;}{c_˾w) `Yje}z0yЅ&RMpHTEnR/w)ڬ5 M Cu;"L.Fw:3U„Չ @*E:r3l-ItW HbX;w 9P@" Ѩt?R6%/t `ƓrU׽%g,kk4n|8"db8$+G[+y}N~uU\Q+g`un7R5 C|.{iP[SD^#2v4dnm[YcVuJ \P ?~=Dd㿾(?WO*}0)6zF\WlBAG0Fsi5n/ $Ixn0WXjeriJ.mpa$%M2<"N : o[2t0y=?$Tk=f89\$]ҡJ́^@Ŀ%t#ɬ#;G{c)Ϭ}Ռq\JV|JHē8(z$mZVU~ʛ.pW]ԕ>uOp=,goՆ%AS08rU(}jڙ-o~vyڛb. zѨ !"AXモ5sAY /22y, q.ևg۶vȦaUη:l?_wzsgd|NZÂޭ2zǾ@EQ,UOJ|d&[O̚Jg)ŃD[{܈kORVOrz{ȚӦr6#l&.Ƒ{2H&ߌ63tQ*E1BazBl,1(& V"%`T^+WAF/Lߚw],Jf5m.ܴ7 20wI8s݀.IIp">x,V'B$5 lNЇA(T8 CN[]*Og oۿ.T#]mPT_r'S;1;T{# ;qtJ:2ъp jM+q+袂M%ЙRǔr; )TDcLrڡb ckֲcf< @dVuBu X7P}xLsdLSJ<]os֦7]ڀ^\S N* p5V/jH3Tz-=rzLթ3Ŋ3/Ҭu):՘T'*9u'P g*ej?7ݡ[:j[ke-"|RTRy˩3.Gc_ 26h ռ[ ϋe?3.Z9[!"L&ƪ{W( "y<'@ڧ $y6VVܗffR`:}e9.C'l.ke-̼ψNQdg6RBԕұ3qA@ƽ߳T,.puN꼷Sе?5} c6{էPq"( LfGMAA*rFz:dMUzIs4ͥ4Ue [)0 *eD; @2ּe mwD ר  }7R_\33Uffvp*eCYGΌq\8]utFD(>:7|%I>Dhk/'*F Ԋd%<:rl61O}Q=66zgŋݜJٵRlGۘխ0}ӕ#`o^shuSlK|{x+i)"wF!Ξ nv~8zb =j/Wy2:rZ91' 'Èb89 Q69e's 8"'|?\x35cfJYRvS,mtn'ucU=4-qݮiiL">v7f2D+>LTbJO3 6BfmK[Ǘa.3ݥ䩸ZK{Xoӈuئl;IN%LS}dv꿆9NYۨءo`.բ AWOd˱Ls^0Q *ܮas>K>]T(E{f,&CPjQg |NiYbs$ﱊ˵LwܻT;ﵕ5bw5ߝkTLf ؽIJw`095Y/C|[p{^eYZ޶^߶$֎,YQXY C{䟿]2qR{ϧ ZU^ߣxaL'WcF(-:5O#ƪ06alTw.f&mS{o17)d~WTyWLa ^y܄0˧kQ' LebS%Mh[ڭޭMUe\ښ#e&_k<ɪ$tT8[>OO޹Q{olԄ[kyK8"8{s/[gb85)Iw.j vܤC;H9W܊ Ajp&r"YS7 WG>v|~zS,N&&n}E|r1ݞu:++Oe{u" b|a :EnLE"lfH(dH^ ^  )r%3AndOggS}#IOU2k&B,,*/:9DH/>9=;<=@BLR"2;;>BHE9#`@ܶu) ц@mXo[]݌aːRSpqD'@ga`ܠ@Oq4i\\C|)Hsޖ1' LRef*?";LN{ic敽D>2G E]qI5<^s/e.|-J歷ӥUWoŋiMMִoyӐ W(h'z- /3$PX]:KȪb U&'׊S=ghtSGJp1iP9 `A>{3ZK k̽mwiZH4 l,nW)FS@K ]H.X 4uZۼ6@W3oLI{ӴJ޽ip{:b1##N>o=P=V@y2Auo5=O(OL]w*[/m҈w0@8Ș:.[зXՈ!,I0+*K o[dVwVWKr7G5SJm3M {]%ُf+̴|+suVltlE1 d74<1Bc-M˾EpSi0Tddz M@VAb:g1[n ~/r ,l#%6&NMnc dUS #mS1Hkn'.0LQf2ֿwW:_KKjΫnWo4)ax [Go(ͅ(eľ&NDU1;dۧkcl)z;ګs_q9+ ߋd^[vx]ߊ27ı *ޛn}UH7 K.A'M87|7gOb1 )[) E2g(U%9 1%Ww6FF&,=ńY0&/.f 5x7NHͨ64RH*d.@EbuAz̛23%^k eVwf~Y5J;[tҶw֔#QX[qNY2H\(P,V(3L\xݿy~>l5fbw:'K2GzЦ@@zc_bw,0*2$%n@_h]9˖/b('zI1 _}tVjK7s\Jb+ߒLp YVa o ^]9,6Ֆc{XW7[ţV7[  BnjiޭS $oQkuq' )c;]F ˜m6/-ZueKP[MH*1~S?E3@5-}їv.YMuOus&ç"l{J0#;JWh1%qYD6Eԩ:`&IivfcxEͲp>ܘth XU DlS`Y@ xc-;Z.Q&5# 9M jfUg8@Y~aDތ?l𒙙23eoc|xn6s_\m9[oOe0C`ēgZO(g Ձ<>iM)Ҥb:9T];%rEQ:˫HTDτٳPxM4I!ia$+ IKddqsI#E'>" XBqh.ImwIJ7ğJY!DZ"(1:')]7VPpCHtBC;b]E40TȾ~%cZZ#7F[Ruyf6nd2^SW]tZKK2dV/2n'fT-Gd9B^n\t*TX&.kn-&~v^j0~<[)^Q.ZghΊM砒I 1!~N!E#co1QNIO7j*Roۛ=E$&1">--Q-==oK1l^ilӕΖȶm{7W=s tF_`̀H՝嘒R?gZKkJVݶɎmۚnlک QǣlBK߉|-P77&zkzCxl.lk+ô{7/w_1}NavmgckdL33A#?{7C_1fsVl)+5׸}*w)BjU^Nrf6?{)Sl沯ڣW9!U9{řIb$.v+sk̜hؙ7oWfrw#ƥ!CUg憑OggS~#Iop#S:HDK6<:2"F99;89EEDJDFGGy rYqUb;eSJ}c `L!q[uad40 XB~3Wsll0s >˥lªL.H %KuYogK̔{,|O7'~ؒaVuq;n3 :0ƥXY.@$i!"1 ko5rtFӁߨB9>YUj8mu2י־!<;19nM缴Gۧ*{3x0R"uU-z<40eP>Kc0qKYDKzwVt0^R};x"ą,$9S#o{񖟞gl9{^?YrM]tOХZǯJ\4U&S񇛄zF!c͡&XPBT7u43fҎ2exE.|;q=~Tk31{wx*[5`)hۼum}'fяuv%Yj,#SͥLm=`\*C «o g6np SC vksuPXH*%o_Q+?H 1?wY0.q9 տwXvF;vJJ9!2i#gnSlFiaJ馣ܑc'-;{YUq3qaR[bH ;=ߌ٭1{WcoHSђ赗'!%!U=۵|^ws[xÓZqSՏ(Fkh6;6neI@a N&0@m23]v`yCĨf~|RؔʘU%?C{MB\y5%/[bʲUy[+ʕ0L YqSϑTqbY \ET"t㙸fuɧ?yߩv+zQp3`kͫs/=!EWNMbgv9g]Y޻k}&{W/4`%#m& S-mk)5cFNiB,ISQ;r+~Jg̼3j<׎쯽gLf62cڪeVk]ݱQkQ 1!0-p =wMD8^Cm1 |bKEzWz%fflWsvi/w-s2&/TF|V1˃Qh$y]޺g7+kT;~_tR<ոOҜ(ʷV+ى{5&M}Չ4cΦmzwRY]ș>}u)PA{[.W繌?{NY^cu3n|^DC=l7j2 I6 a/pw'uRA#^58Xv8Fgv~`\Y l⿧bAMxbLa=E[Wt7w09ɋܱD5T~gD#](+ +#jw &f,H޼7<&| :Czv5oV}_gq+>52>L !w\TDV_x_zX7Wjiqؗ3JDu[|éPSs{rf|KSZXGōy q"ogo4ŨkFLm)JW{lOSjH_νܑvU4qՀܿPny4"IRTH>E,=I@'&i5Z_Y0y,ҭݿ*uAK?W>SN[@YTEa&µ}8v]ha4vrJ{fOd#>ezS݌sS޺]z죒I6xRά3Tͳ43P'{{v3>K9> /,¥ TuN)_*Z^@3#lRh:11#JvEG9i-( UDq>[-@$33Ԍz. q|sV734eZVUUii3֫OwoK+Mݧ'KSޭOSَe;#.=Z*}DEovFVcvo'LlszNfdT?*߭+tĞwl0s6{ 6skX-MȹyrUcn;`L[1*f5ӷra̖ SO[L7`z^Xݦ4hR!3T1N"t`8lUx$[0%rXonKWocRm[7gE %*0G/y-z|^{jo"*٬ne6ό%OlTy,DyicZW=x܅$fR3 K &)C܉P/OqdWK[]R'u3SWjZCR$B#$*QX9;H*YַI=""#z+k|{ݽxͻm{FV@=ZS ՂKn§s0n ^dSJP'bxキ7YkU۳U]mJbAã*%2hvJ{p/o3ltW~kw F?\Pۛ$a UׂA (`.u-M; 3g޼Mwۣ޼oBD*B/+rnpC$ *=r 8eȠ8RVR5"zkYզޮ~$@A r@5H!iM1s9 /{z{׽fs="IĠT.>\TejDN˩Li:-t31ui̬/iVVZ^lKhC zvHϖ[얆TݽOyV*o\Z&f,G0LKh, ]OggS6~#I*K63%<<7989C9@F>??=>;=BI@,J>8;DBGBCRڸ)fދ Z m&vpy'Rzza!}L6T?nR 1 QCDg E(>6fiC`Rem--6o'bLRSGMheyrveTfwVww}Tz5`vߟU ƛ; B8tݵj;D(\WzJqg{rg$cDƧHՙȈRi0}fuI  !MޡJy3➞ŵGYNRE;9}zGFgtԍolBsTp`Ɠaӄl \ei0[kFO^[LK5 *!R⍙R _uY5D+; @߰GQ8:??rׅ S(P7F(e{냈u^?Y?s=] ->jBݟ{7wCS:\tȠpUŸylX;ybD)@Yyj]I7 P@[DgnRPbU].~WB_Uw;gVJTP^=Oz_so th@= SX/Zk bipiW^fk3p)rjZ0K>؊@,$m;voLSjf2?}n^;7/Fr3w8^]|Í(G4׿[i3u΄S{dWJߒ?M{q}娳A>qs3,JRyս7Ʋ=i4%@ltܖ:6ŝ-?&l|W'ڔq 2p#GҰg5yJ..fMʙ!t{6GPp\޸;S@v@fL&߹CD{5cg IpYL捕R,خsߓ\5Jb;Vc~N;ݷ~y,mңN}ZV MjWES }l)Ovmuy|Kdy%Z`=}>y7q!3Jޛ!f΋6^=fweB6zrolPr4lm =q4DDnrVU=n7Zk[)>(\\9 ij%^% Jyܒ@1> "_;oY5 }Fy&wa>-!_/):{7e/j~h 8YҨYNk5׻6rJܫtIy==}HkQo=r`BQ=0ZgN7~ R-]eo\gkr*i&cM?Xc+y kwd P,[#r镱F ջvܽJU3aQ0V/0gZc`?qԻVFm{wyib5=$\VK),>Sv^`rUpO _bq&T躔J*۪\tus hY1MM͆jM"*m{kN7Ǡ{:Bclt_y@od%Zd),nt#n۵mV {P/|VcRVSWXc~*4E{يOF1?W*붮7ޅ6YoEC;UʂS[K2/|lys,Ō4L T4$˖x@nP@]8L嘒9ߞZ `SYZ7m:vbUZw%-=YCmDu?_ޙ粙<<5Ոw%  + TnItJ=6iy+ժAho]{um>{ْMlt#*([T6tEd3÷vBQ~ʽ+Jv{.wz7}Ro5lQW =KH6Lu\җl'ځa=Ķx0JZ〹03!7yND{Nݺk6| T>A*iV'j/gYo>TB9qK !erDMO.`5b̚$\͉(s@pȖ NI]E?mĚZתf˕F[qMˣ<&4\`4p?WHh9̛r$aOTJu>c򶦺/{ɶmL&$Z@!|%eo=*Bٴdq"+QJqۚWk[exwVLrפ\ I2?Oz0L42,O5+p[f{{{*Z|vW4:X^%=2[.*R{妈.pzUWV{vmVݭ6kt&WqRO%*kXIm4?|E%PjJl2B{7U׹li%YOggSg~#I%E7;/=7DI9;8:D?% *5BBA+ŞyOxF@"1mvdǤKSSJ 1n_eg]HRsz:=8NG$NsYy-oGJb:]9(-i]\!k6Zj72=SEC$%rqF-UQ,sLHc(:"+!2 Gv5d XVb2DB.!": DXAa-qv fM&D] <gMuͺOKl}~+h=u4@ ,ʪs? ~m&xbA zìĆ*tc]`cB,f9,*U?;=rcd2sj߸q?t@LxrJ^ȭߥقvSv6ͷ)#/ܼo;9u1qE]XV4QRB-Z Duo%JDqԮm9SgVmH 1GCnH2+7azm 4 '2@)>.#b"cx&йqIr;u5I([%X֨ac5MŢ;aজFz0P~LL9@Ճ>^\8 ¥ 4ܻbWReag?=O2ۭ{eXյI/r)M5u]))E,J[qulF[plى]䫐 GIUU;;4ݫz\V2MY}]u6{%dtts@ʄ7b#\)TUJ%nUV\)ٝ"~-^[ d\C5z],l9f)#wGnkH/挳0=~졫Dy8P31* }f[l).׼Q$G(~˙}ݟ}X}x8U{qZsgx>w*S}sR۝su1e<*T.~|sKٟaOnڼV4kaD('-^2>@LW, .@T+7)e!C8"0b VBg@y,l@ke[$)ע2pj,&Ժkb0`ǤQ3ʹŀ1<K P@Q2`ve]ۼ,HN@N~ܻGJ09xTPy*IUYvgon+Yo܆7a7_ao|Rط 4ƑXEy{X<7 f].s] //vB_6bLݍ.)_Md槷P|p7o^ D]To v{d`F%[XeE|B{+PBnX AltX(UVTh7H p֛Ħ3ԗ|T@K(tBKv%>zhCzðcVL@|Ar*ER̃#] *m~Q-i9':l㤦~_'d%+85#/H=GJ;XK68D ͵m% lFWM$: dAAhG{7D5!ݩJ˼ba U143IL9;Nl((YY0u$IW \̚׮ džb gdo*ĤJ}BH+0 tfJ*& Lj,S9YlWӪQɘ]ސ-F~ ”r[EYO3Rɱ廯-9msiA1k9,w\pSL%ĺVIc`C(lȨ|O~nr\|4j!L> BMhucl z?{0+BQ*S]6mflཷ>*X}ȴsN!x4L$"Pt8cy뺴69x߼/ -I s {UtN-R-@~B4Üw;LzY͘))[}2o׍^g;+W~_wJg;m2hua؞2W]̻\Mx\HN\٭K+UrCWbgC'>s2plM<0E^E*)Z&r nd:t,bW*X N@4",ˠ!M38Ba '(%$R00n#'G˞L'O3CK=oH1D d.:@Bz7ɠ]LC2 i{}r۷0uI2cL)S/#|5>;-/< g;)K:no<ΗNӤ ˾KuQ:#nJu^U=W yWj3&fϒY"7_B.zce_[C;0҈KRNe.wH@2Jsְ\%I 6S|!DQ1"sE 8rL N&Ȅ:#G|R$ڐ3ċ,#2~.~)` ;MkM&eMs8lCw u D2# ShK7z kӗU#}-ssJ|n%1o!Go w\K^*Ձ_1KR] @ILQU]_.%Mq֖ؓ٥.Q;x˩E 6jB?'\g}e?*X?\"+˻kXݫZk]u,FNZdak7 [IŠJ𭒀QV;죯D(TU) e׊t.ٿTqS=1Q6u[\;׮|gѲ%ȆxJzjJVتbaqV"GUǕse\aT՜jTGn&sCG=vʍ>r>.K\*m_*zv}H9B^.ZV], [p.lC@ j, <%^ɞ,ok3i[`8^ ԩjA %ݤN4˕Rl^RS%13S BS7a]L;rw>OǤ=D-TWnTE]+W*ƶ^oq7eM{'- ׫7k` '.sN\o:?R#U4W?Q^]Mt%{c4wCwaJOF: cM:vO1W Y͞6ў#5B{韥^C1y) k'pʫYU ꊺI;•./ӣ]UKUi+ƆnE {wӸxaloEƇ?7x33!]zp3Lj <>]Ev z?{&J4:7j]l2MB|rL*ʐJjHRX(}簪w41n5{mtUŶm{o5۶mN(r4EtO./V"˧ɍQ^(ũȺ/=Mf[٪L{ց4V\źяt=ÿwثv,t$%e\AW%&]zNS4OggS~#Igq%D5+,(:8CFG>=<<<>=FBE=;:DACʅyuٌ3 `gYwmM_{dc;޳W5fBWMpa4}vՊ5Mv);n+TՕМʡ_#7pU{8sS"l͂S 8-M R4 QݴY^"垼Jشd)H@Nk/7t` !nn-XMl!bd˲.͍L30 3w[gH%>:*#H#]gO21Snu]3Or2,˿[ ݚɕe3}/c~fX{ֆizذ* P1aoj·$&JN}Ӿ_ݪF˜ gίjܷ3O\h݇Vǥڂ1>c *Ә8ndG)8vuu/D=ګM4md) >K"t6,gŘgMW\ap̈!r5~" ##)g>3`*K^<nhCU* @ʔ)ÌÄl5$Sjʔ^~"^b?OxYRnk<_L*SQ4mcLh#Fo% Hr}t;+\.Gf \޼uQQRm3?qC8ڭlv}S·) EvJ.#h*4e-xe&6mUo+PlTg&PǂUMMo0w֌m2{M7kf#4 3 ب{UxېR8pg0P^t2m^t(-M2RA)]W2k޼:2{Lg8ljTۺ\*?h-X$c)wLgw&]3BQbѻؑΔ2uimnmY}"kudʮ:=M6X ъ޼j{cل),>ĥde7FkAЄSrI5bB.AMhtPVN dLjT q"$˭7avGp(cz-َLYwLQI7oS0DKҰePttn:i9 e?<6u2%_n/ݏq?H'tMkNIZdG<= ;ΘrhIT,٬s݊po;3?DJܬwxeT>/;)+D>PmƩb4ϡK^dzDP&sVId#?`SCKSt5ÒAsq_G)9^-e{wspC3qsI)0W+[$k?n rL*cj5Їh# M?֢3E&NݥUߌNdƜadt%c/74J#!/@' תoF)9*cֻϰOo[Ϛ;ֈ6L @&wŴ>ر^l=MzKIr5: _5>eV7=3bܾoXJ>=wmtﺒp+i:UnP{-.vTe䤛V4 ۔]hH08CM&W:2-#ŢGSVJUrBۈ&Qj 7c=bZo`b4&Ff.{Ek"ЇaH%,j=OY0thY_Y)}ڧ;Ֆ陇oC&-w2&6C YH!OLx}YNT,{zf '4I;1 ԃnr"4ӂ.N^OWAw;6̘cNIf\FX@̝G`^-weSUzR)=Na\AbMo5?,I51I{,*F<߶]f Xwke(Sz[yP猝}UxQ_y~6) Q{vzcgۍq(|Vs%|>CxXSj55]svDT Ji۶mS,V}l$|mFD81RڷͻfV%fh@5I .N gQ ܲ#fk[+qlQ{|^k oܛ=BDFЍGM,o/VN?[A]4E$.<[Qo=lln۶ًu46OP:㙾DFji~q3z;ͅ՝jolyK.e]m a.L Ro@ = 3W]H0"7TME|]{gÝ}:r:u=fgxoFJz9O)3O%U{a2]1u^fgGy5)uݾ+6TkO}lN\uTܪgjJmt93ɵ,usY&"TfRIvw9t(7+(t"Jœe'3p;3g,234S 0/7E+[\o  `>˦q"N:H16ۛ_N5ۧ;Ǧ; )e3J~+{qҷ!tz$5KEp"oFUryzjYJ_RkFiΊ|.)NyܶMNtT=12JɳbK<2W5vA*(q2J6iM˳:gSeoKyB;)Z;!DT YgLo2kRC.t5η0ź}]7qwC/&Y!:QFZmke2Ph%2 LaJ!TH4lzaVD낇c%3sDٮ8>Y:mf_X?=.I:U- [/ UὣBʕ}}~Ap_zhR J^rw1f|{N׻wJ)ۜU9= h؊eQgj.Iq\6cHhȵܬ Ju"ҮU{nzhʍ,#gq¼Ќ$ yBLsǠFӀ7@ghFAs/C Xy`^kC0)Jg 88I^F4d  *@rռL+cnsr{N1:׵KW]Z4cRw?ڤ+Wߢc:}y#^7/*Oݽ+1{us,"JCSfsSlSop*w,[6$}eYGunh^R϶7uftn.*B%בe/:EO%M24oزB7@ ģ,d @7<eAk$/3l05]cr#)Fa *#-^޻u5STl+8-jqմօ1+g~{>" }>|IzHʳQzGcN,"//u$ʦPɏܹ\wbU6)Ϻfgurj8aJ.I m>mړp݂ٱ)|$%r-|Ww껯ޙ<=v+'͖Ӊۡ<7oϬX^1W3[gxs(3}] =lV[ȬS4)3m%k̴Yێ{/8[l:}zN0D f 8:V)P:APtT ""g,DTLITMU+ 24*&m_Qa_=eɶ K[|}-m6|Wc+̝2Ryw:&Fw|xJ2(ӊ(L&S ?u#^+y敓n-S|\E^,} 9zԷf-\tt6]JYV %z8g{M4&n+ :ErGbֹ:ʼv+icA- =Yͱ71n͈ 97o!(<\Ww╪BH=6?+3Ũh_\q&"ڊy5j]%U2KS\>.:Өf iѐ{]ͨk'b>]a؝XonyL-[wx0:PR"zeՒ_(pDUF~+[wbW>T.Rr W[I%Ү>YbIbVC.ǃΟ./ Qh$㳐|Օ\tث !!s <ӛD[TtY*Ӳ;*Cam>^nJ6fƫDRK)KmI]o3^~645q{x [?1~MYnyaSm1q֪#km±}i0vfe\%zdv[q/D~Cu`TPjE$]w@?Ng폽5Oyꍪ2I{k^C~7O>vt1ݽ'<\Zbjxd%+v|oNOߓgot7^n.WپkV+toQFkFҋVsqlC5&eXQaf/{9_cčv5)M S+H>@GӜ.ח堠 7۷MOm.} V,{z֐eSď#ۑš0 BRRyn$uW }u,EN^|b@T23+yZt%d^φùْjsvӂw78"w?r%>v\q@[vk/OdoS.ɨ[(;PZ Sen/q)]L KuT6;ШfDrf_+<*D9K`PT++;{g ꝃf@tV *|E-Ej#l'`+An۠Q$0W8qiw7jx$U) DGq7votF̼gfJYYk8uDžfier'̙݇<]UEJ+"BWJDW>6.Ț>D=.og.mžtU 'fw἞m|%QMw5l)ӻ.|Rd1}3JO#i0iv鍫ukU|Y@wgKm2(8G"Wv@*)I)b HߣH[D g}z7L@̼)ؚz_5z ocAv94o8@C@1 @x-,2.Ὼ!sXKHTFQ=MMgtUumeq6Z/tΊJ(IPY-`'?<{:"(1B,c" YRi^CZmN lj݀/ž+Z]og'gg lsɝ{=cV昞WoUWmbdf#& TQY]Bӓ:'}1tIe_+Pb^m=fWMݕm*f-{o*|%rSjmR t'ts $N{WvK!n~ @TAH=9R]D,9%m$(Hf:T{|x%&颉^o7?WcO>|/m8]6.ݾE Yx(.6>'Nږ'KBgǕdV:?W qDͩjJF ] - =8#ROWRa+rÔ(4iU-%DA"c# E$)B7pwTZNw=15 F!%Dӷfii0f\L]k Ipqԩ#/`pg\8ɣB \&%l%A+>ZKIx`Jr(+Zo_qNcmhjl$xptptrf-nr;PtA 1 6v/YB7Shfjf>'oSҺ+;nF}7WsRʳ3esrcDk{Q%9*ЛC !;]V!J@jDGYR"Ȋzr Y %{DXbցW"ՍN: 5XKpO,Y}'Zfcuy`wT8t5umP&4,E@^7a!ﺿD[~~KY5s-l"AI2/gf:%#c`gEPC\6 F!LNu 4 X@j OvJ'qF*TJY)ǩlgl" PjL@3a.6{H"]t%fs[1[Uc^k!Z"d^YrAevXY?p̏bMʕ%[xe^jkʬ^4\j*G&g4XۥX@.x)ƒnJ.,"*ߣ-wj7Z[6كe'wg WJ)Z+T'x,ol};l&w~:MO>JyVG:,b~q-b:)PʎXu-3wUҬ }s| \Ew݀EJ1x3#</%>atDhDAr,]=A^Ky|Jn_n3 uYϫ>=}=0U^vzwVbv~f`\Ws\f'™J ~903p|\͋r1!E 3>K]S\31ef4~Kk8[vmCχC?nZ].w*A_&mMG%J%wSgω|EF?c [W]oξrkƄ lvQU WsdEZFD]B*Ք8l""4گčI7l̿{1s"f#kGė-v9ߒiۈՆM9 {9KJ2/wy 6H炱X:eJ., oڦ >!+BltWp=!iAݞvWy]VrYl%X&NGjT. ~ VmHWL*L.o5xNu9i-sN&/T*GZ>f`",4qsFPhw?!꾴q~LfM6J$|*ݔ20]NKlr0/P$o뤮ȹZr߼=jj_8\:M-:/aGq'pCJZ=;;}zT穵iJ{;jAլl6dtX$kRq JOޥ9$9jg?Mf;T^K>ͮ!˄Li&)1Ygg7cTo|p ;nAeo{mۖfT+9޶m+Vlh D~wnFKL)َK,,e{ /l[l:4VC EE?Q'{ e^VΫv+{Gv{Wնf66w2}blOPcl:\t16 _ /cDQƧZu9Vm˽i֧ղ;U7 ˀ2[Z(µU^V'Bf&RJRZ+pMɇkox4US]Ӓ-JGɵ4}v/wfnʍ?&j̕f/KJMLB&v*ѳiMd #fP|"ʔ`v ĵQL#(lG`#)U+ D&t6_Ύ\yS 9}ι+G #t rp~qsK9ƞQBczk)}'l؁QZ>1МK`mmv˽bnbVv=='7#V.3S%i- v -Y?Dp{­.+/o;v])vu Y> ?IĿ(# O{TӧOnʥlG9u(Vb1IxWgJ[qql!N*Yirkl{ o B%'č֭Hulx'dN՛_ޫ8ۥzHg8Dѹxl\N'VTF VRdl)1ֽ@r$1 !O2AOV>˿?[-T| #HvX qIsɮ{1йXcՆN)Y+-/e;jIؿub3&;mFiZguYvTdt_؇efK!`S?i%Xj| *fbKr-ku]ڭn-K{Vi(fZ;` HH^u;?Iû侜{5% 3%cJ)yke?|KBzۃ.̓FoYcslq&mhmE'ên#]]?nb?*r̯rD5lO5ugRػbV\lS:f?fSs\kՇXx VzPsD'>ݫbl2?Ndme]Sc+۞,9t~[W/c6{qmJa$[k,ھ=ZࠅkQbt:d LOhW 47V*^ d"Zx$ ̨JTUl:L gջ9zqMmx]-7 x}PR{g#T aWe [b绻ŎJ %YqՏ;c&8qww&ջɦUow;Oɧ=ȸN 9V3 |{4y,\f1D3fo;+moZg;M=JvUT̼Rpb4,Cb hEB^~prlK8?S= OggS@ #Ih'?;:9A@DAGJ,4:@::9<:>;FA5@=:DC&= *@`ai IfޘXoӽW_#G볝~?jm5;=WPg)x2%N UknHPɽ1wou:}[NqlV^1[.˪)=۞j: W7W0̆s3BlPqig*g%1kchsԓ^.."\LEȋMtY03:k @}^0 \#7B-:7yΣs{ܰf779 T6#bmeʦ ?{;+Yt=#igF@l4HJMY>- | "S?Ny;eբ M<ŠWㄈZc(V(.ԑ0;ETٵbތ,&%7M&q <ʨHn l *dkPy|sR;Tl]`,ilڊ)21Xʼ?umd5b)X#)[.oGgzmփ=TzϘ"2gD?oGD rǐeFIw;{+[UVWU7{o*t׶Lשa=qtEPY۸'К<;3/[{z==n=n^|:װRtYQ`޹E_LfHz)ۊ3OZ]ǭ ʚ E>ײe8RNZbD R""w 3W533jjB_GL5uSgvY Ule~6}9滻hZcPK2*YR{&e[wqJ}im+./m{rOCf2L3*z&FE`{FV42(UZs E0 XBn'BAȬ䀷@8&!% DqV\R7 sCdG<NfD-šliq~> F垛f;OfֻԈSML^rׇR~>λu;UviUb'MwܥuVwU \,ǵ [Q6]+X^9LnG=U3ZcVP^~˽] SE~ᨹbKXcr"0Y[ %"\D`; iRMՏݛQ|嬧N0[^kYaH&ǀz0az.PQGa7\ڲi0:132wEBxDOe 8SƝf|-؟nYz^dLǦxr<&=ohs\\v ƘX{n: n^}%Wè=imϹ@+|^I۵W^OѕC3u}Sz'ݮV"'q_twəJgT7{Q4KXTmFFX: `Lfpʬ^Mz] Qt+XpF롩cw4efZָђhn{Oko( QM"Ay`'kY3*9JdxK=/{4QfkZKo?7OϨ|e>K$l5OX]WuYiZZ[KyZhQo>jN)|ΝKˎYYF}&b^oab|SC JhsB0bWVWZn+@&0E+&!,nKIvX6PlUas %GcQ٦8]Dn\aD9nit`v^++y/Z}a1 C7 )+5Y7@|2`S+Y4PCAX$42!2/IKx,4z,;t E Ѵ$cHg9Mj3اZw^mRUi^m"7HwiM |N5 p.k"OqSS_Ȭj-pMfV'˟9F%jKS>LXQ@{\|镠ݺr=sݎ~C˺`XqNS, ϖIPe,G&62Jc*"ԘG;Mlu~􂪆6̝T3T1y97[|flSY,'48!o%]j'd47qVcl3d3RCkٻ1l HH/Ha:\@p+$2ů!rv#ebߞx^־{c01Pes*=N2ֹ#!ɩJ%êDUH" w̧g(' \7UϔD~/`_lrqo6 R!W#Q[NI{rG` dc*.$Th "iKeeͪRf o<Ǔ=B0q7zޮr{4_v~RZmYe;R esLbCsAZE~5uN{䚙)U,Mulœm߼ˁ:ϝ6n.)~%nیhx{ר;N)!C=kz0*ɻѡ;*+sʧ];'.wk^LSg8\ ]RnXV6>{R9ذSۖrp6dhoB&m@Uip@;[QވQzA ۯ),kXO\ƑxOggSP#I+_%"*6EAGC>1!*+9JD/9?=<=9ijyQ餃9 2y]TO޾) ˽d-!S9J&&3r^Ԃø:LsO%0WȇtmNRgѴnMm۳[OycaQ%ם yE8ڂqzmO)c< ]A+o)2!4LffT9ڙ p6iTF1 |@P$R??.\E#f2S*m?W./5}@k2<10%225W`4J9jzجț2sUNJS Ϩj*&)\XPMpOOЯN=޻9׽Aѓ;liA"%U6"!&.n4biĬQ F(,6Mn1p@e7,H})G6omvEU,hc=a LAOٺ\y|*Qf&-eڒU7eWm|gc2ӻQThdD_ldKXrLQ죾" [|dP׋VW{mTwwŶ۴Q[6\K*Dz % '/5aFQfȞ*5JD#{mlX;kVk_⾵D4e\#ޔ慐z@'?¯]* ErITsѕ-g 1}|Qϵ6ܦS<5jLMheޯD4uT/8]>?䬕dC1(շr2gI^E]ji 1)V^\)J(7uGuOif.GWr1Ґ[u#}WIPʞ>ۻp#'EnW 9ˆ*J2]H|APg.9ҹ)Ͱfմ[ʧ&}Lp'Չۛ8Gn!Ƞt.1 !E2-W+țiV4Yuv- `fbAu0U< +߽:W4'釵`g|{ryyVfBky ۛT-d8W&gWg+"*s>*t0f^s!Ǿէ9T+Uʽsv祐NNV\֕vѹ}ON\_o%qDBȥ( Q3(l&;3nТI =G±_">\VQ +kTLu0CA8l\X5@/̐^nf\] =s/&Mkffk3³`ޛff0k$jPFB4)Moff)SV??3,g8d_Η}r܎wׇ9ŻV:*8!eRG2}wV]*ҖCn59r;T|^gnkh}qe`Nv]G\vx7°ؼmN'>9 !$sH0B1Ha#/`ڬ4hX@&K qLl s,tM V~lN`Z5{0`*5= -`5.ClYVT!\z,kφ{77uQʔR/{oG]Oi~,7mϺ_OrDE=55:yh8:YU:u)_-nU>f*XOUr(N,P'Gd4 \rQґkG{banQo-lqSAWl@01  21 Lcn)7уcf̢`#ު#@CS[Yt*5$/,}0cmGr$9,vW9Svʇ6iek"ONtt3ZWy#rUT=2mELmvVOXLthMʌ oyHE5Yaf3 ;-/V-n{79);`UBh˳J˩R7/P 2S}S{yN}euT}_gYXPK.1.YNtbڽڻhϵνwsJS7qOFrjww*J92DPTc^rZ!󈜵7+7ZCrR5g7 جܔrTDV"x>+/j ܸQq7–n$4`B5Ke#\(PLoYD.a3Gy؎v*_6O%ط)rJT-a rQY?7~IT*Y*_)>"QY5jE^z5 JQϢ`'n*x`tv)]n;b[ q 4ؙ ni&(tR`:us_f9wSco&[g.f<\dLK:$ 9NhUL"|U,Gaq3Ov3--s\Mbg8s# %b5R&f_?*!4LC>D2dw-w1ww=C kR4(4 @\ xہ`)^Gr{ZU~DK]ot rKRCfĥ y#`p>-$QElMev1Z m']PC(Z⎑vIeX,ꮲߤ㮚=crJUWt q:`f~g qP<5^H&2M7^~0u_ }V nVkM995hc%@xNwae]BV7J[~?/38vٻyZRzc =Ҽ*8!E`c?0y1$*Vhޯ_a?z5'$;<lJ=7x"2zikËu3g?|?75aka5HdrgIHS:R+şn&'QL),Y#`u P1 TR./ I -*W9-J9ٔtpBW\B4 uo6+ om.ZZp~&lZÙ<`g@v9lzBe@&PAƓ7P$ l%ȝ ͛efJDCosI)kLV+6U?xO[9֒[ o2tm};2[UEu@P]*Qՙo*uwnlr_YH@:PXYx"ЕdE0dL%&l,"+}ifPeycdF2600ǭ7sľ&P&lBw#m$7n2A$R+?w/'KLgcPZ/ ֈ^фU؈@@+U=%U_N:ډ{zgD"Zꫀ# axX_+JS)o۶Py͞wOL}jm6W3޳i WD]F{jwPScꪚ޿tlZڣs' |ORftл{M?&]7#ktmzmV&~*|+ΆՈTln]vwU{+gU)AUgR9ƻ9tEnwի/'L.Rȡr3rǨRDYͱjW5ER-;flUȄ$ w."J%uLy\Y}Wޝs̟̜ձd\Yf29Rf!a); iDc[L |0aP#﬘Nzwgۧ@79>+LiB E{'v?bHy `L(e}; g3yG)rM_E*9TU1Ӿ7U/m$.t[Y8yn.nPIg*=(]Oʂ\T W &F\qMGUzuRWDs>H+M%1HS~ǻ|Wy`(olS[&UF:<G\*7nEuc)o `T.N YK ؀  )u^CTj*xG3'wڰv!= <oJ̼LY^}8|j>n sc( gsΚi YN Yj\ͮ])={Y:׿^߽gFLv)ʓTH$Z\ 4ل7zkGm/L˞fee6-etyQ5Ktx}W]fF573E/A'7ޙ;.Q[Il=;A.x:w~|n}Cb,K˜$lE^JfdRu*{i0@OV1,~'Q5` JcS !И q !HA0t6V\sIfjhWbxC*x /Fnӷ1O)Z[~D<gGʷ V&fLvn"3UkBuCou3dZɝ}1gaUL}Y6اՊO:3^lLwOe.7c_t]z:1'KzW<G>ىI3Fudžpynᄒ퉋q-Xf+y`ْ5-bٓ3{owt+n`r5@Q,E3Pjқ5|qXW3Q̌R6ef 3YtnvkqMn_W@O$hh5bRFETFN/1Oor󉞘b8Վȧ[goǎ&zvҭ\#o]Vrי9B(wj\Ҹ]*ӯõ(~ϝ&&oLL)&rx# |};W7a:Y:j?R*gcXQ;eHm Խ%Jmr^\\g֘UԸcc$ ޺s`jZn ?-?~5ұ zɔY)~ʗמ5O xk)r79 qgW(_ťW|b>ss#XL*7s򊋜f` Hmx3Y)+ƙ9oyz}߲boE|zǰA‡&ܯ=QUzΔ"3:Sw/Ko=?#d_!(-*[BZfбOWSZ򜦾W18MگPr&9;9EEy6}nl]ۣQ1JU5zr +a!(/V LXdl1l{? 4oZ޽d34 &:.muޢQ~$V!B q& vr{"VNr%3W23ϬB˯p>K۔c7ϙƥa^csMu&wfގIul%?>^瑶PN\OAţD/[9_r֍x NWк/]yggrgUIٓ7Oݮ\`\b7wz=QFRC伭?.@,>6fw`F7't;7z`)Z, l[` l>0GĐ$o,}e/HDYAq9ɳu<R~uh7 tحΈzξ"׹;h(T.\4U=@.' | 2|>I |vꏱQDWh)KZt_!RX@KHHRCT;tvR̰y e☂p#ChlجC:svI8dM VB% ,44APD9N?dˏ8|@2UJ{C庤·oS'9oG;wjw֩cKϕʑokL÷$QOd%J׷}ȸ {Y9i*~ǹc/ꮒV1nnE/[* _H$@{Q:kJb.(OW Nm6coo6ތ2^OggS#I#r-=86=89BGBBA>FKJ<9$E98;8F?DF=>;===>DBELU`~ R&i_{=m]^UgH q'7}3l84c0TMpix"Gt{ԿRܴF^'bt\g T2uf`zDnH7i +񾒿jD鸫͖^5II0T>5@xUђV(zL$~u;3^n6, `ùM)|P;f^.ny&^N#)v{&$6 5,BA5)k}l],츜s݈OS+Sz1 )PY-&YeG( o~WU(ٜԎsLvRs;28mwml]u2wdb!2'ltxG7ziw/sWm/Wo߯Oy]/fIߺ[<{v9خgo)c4dHD(-龩i-'Phx<.>ygSMnomou{Í{D~J@ %JWIB[,nvBV_)R% v=C70BTL ݥk?Eb-\ v3kI62G]fs-5u_FQLAZ:;bQWZO[,!݅fe(oWsr?~U^/w;-ܜێfJ˲/3 %;.>}[{ۓPi7Ry)Mc}gZ߹R: v =S:}/xB׃mv"ʩ.(Rso~oͼU0z܂c{,d's*:@/7"6ӷg`ւvVx p=Lx5=gN :dr0@P;Y H /pi黸b6X1{,kn?5,fR_F^.s|NȻBJkP6w}2vW(F1|Z].G\`7̆~GgƭaV)sn*"DpB.oHuً3+/r|ST͘琓3wGjH].4FV@S;;5k.gcM[7{E0LJ ۝6FFZmM|*HILRʬRsC4$ѝ?{'bS+-]&tf76ۛ2}aov'M|:%U3Bςŗ!F;olY\>d#Gt&'W{vݮ<(ER^1PtFwACyCHi0vrfؓ1]٦~Q4r;!RFmElߧ'=\ZGfcic1 AQэ0 zK[c/̯+mRȣSynT v =rМ4U m7 ށ 2+fs k$Tnccz0Z͒v-U$_5WGyoW9%ҡT% 5g;!6T}Sʔۙ~tU6㥍5's)Be*K >t"+Y$hY>bR1B}}ѯ+mq+ӝL[Wqyi'& ŕ!H0:uEPX@)$E]JU;Vڏ\lv-̴qޛhEyH()}Ŀ(Ip<̚god}VQgicN oV$k)ԵsY<ſvHY!h7RON__ͦɏOfʶQH!/ɪ@!x@7$/ȇ~ɇ)r|ζJǽ^Q$C2@7{kvhpsE%[+.n +fgg5nƴ1޼Zd(z۸K>[ OcUE2-ʿQ\~N=ksozQzz'оJC\RdUiU 䣋w{1)Y@df$V~c^'{M߹St:|?_l3MG,- X(LD JI]FavY%zvC9U.}QʟfZ5iGu%듭CL\tiɍABj{,^z$e{~zV.oͧ21~+߳-#t z6-2>f=0pn{6D5CSC+55;ό-*CEPP6ez~W3L-6@ KYY*OggS#Iˏ!'"A:9;FDDCD*7-E=<<=:>:EF4:;==E?[ e%U۪bN~Vx6̛D2|ҚIz"'m҈~xofdl=c%OSg_Yϙɥi^b-DYYgv_;'/e~]LW_&.Ϟvhs)Pj(M88m2d_aG4hTi͍NϚXZT,;ڤ\6xٛU聝U:HeZ+0=#/Q[jcLjX[~F{S6ꢏTyziҀ4I`qO'暙13S&:sΕ^l]oX7W/o{,ܫކu͗ڻUW+ݞq &BJm9{cJȵ;~rO}|R*Nc?S9X+FG/5UrĭG-7nݖ>:fx?6Ǭp!V!Rh>RcLPF8Iɰ,M L&ws06XP- ڄPn˻&CF4;u> w)J)Fa]$}Z&%n(C-M9LtZ|08%J1* aQ _Z$uϮ>rײ;7'v4p|tx#֖y$OuÎjI*sY4]qP s~~5Q\ϭJ[zMOr;qLsBVrW51&\|K:R27, n M)Ԗ2Dqr+r4lORSt甎/RβD5\!l$V2xu &1,wؚ_o)I!9p_>z멛qɟ2rt ^<\op= Fo ^Qk0ԫQ6S:7d^_6Y2OܦcuȱΜ!1y~Tgcnnֵd?(MR#{vbMᦰW㹻)\p{=*#.[qrZu'2@D-B J_2n47%j8bhNdYAS6Bd]B*]0͊JH%PH +KQMq!4<F$0XG4UH^s8`~|턃JWG_5+1jHU̔c3d,ey@8RJ,{#Y{iYl62MVejG9[~BMrߜu˞b֝j`s4Cbj_ifZf5ًjOgZqa@S3̬^ԭIi{D [0PVGgɮrTB`EP2+7rbY'd6${YMS" WK`ѴOX`nBČ+@ l}[lftV3ڏaBQJ2L>p&L՚$qj;Z`!.4(^hcee0p}1i W7:kQξ}}\{{WOԥϱ{ޗ|B2L.j׆2rGtOv/RأP1EFոH @t71K++ 8HIh@VK+K8d 2N.ʑAAu *++;#I\Z0X(b4ً 0. `.` 琀ї-:@5"EupՌւy3Td^_ho^Y׼l\iek6Uk*t{h6d~ֹVm5}U.z|\X&6u'W=2lB3wVL]M^˰XLEyPÒ.ZL.mr3GnÁDbl\hbL:ƍ 4lM5!e9+%Bt2%7Cy{(M fl!-ZXuhJӆ5FYgh Xf%%5@lΨ¢CjmW#Ϻ*1V燳zfZ334F\F%ѱ@\pEYh%9Hũ*7;WJwI606=Vx5XtFuc2J6h~ c*p,<W,\of375j/rµ8'["vG u>J8Mn+n5Z:  Zdp /߈L:QgzŒbR5]ۮ5~z\Rhj{ F"`'@L3oII}?M7%&;qc ]JV'gtVF$PP<6)Ỵu7KY9cށQ-}2j2UlC@W?q^I6_>Qx|Q5vPOfLTbBϭZ= hz.qINT{96lv^X:JF:۳}ߗ-{dK.&ZZeOiR iRY$Zz}ݎ2y^wgkT>h<ӯw|uߞvv̍GCEA#tɒގS `(+vfMT{-"*TP_U`\L˭̌(8(.U}qEBL)8/EM&p}f' sYp;ׯ,>4ZatTGO)kh$"iMpF[(0qu^}.b0p0 \<3i@`H0"7i w>Ɲ* $c,$JN6Ō*{NLx,/\$R&M=vJtȷV)4<A$) 6؋k=nvƅ.=zQ i ʕ\Si7i]+{&tyuIg;7e$(n*(bb $ۅ2v 0D5Q :͈V+ųc@ @T((!hDZгRU^ v߳AL2i[iz/s@p6^-( (L ".  Pc$, +WŊ癩TȫF%isw0[oo< 5c[w*0t,p%3S *E[NŖ2EkWQcl /g,gLN%W֕ML%t#zH6%Dy7S a|"Ա l:N"aĖ')ETbUZf{7EX./LٱaQ?iNԨծZ:ejJcM}[7ap.OggS#IAX%968BCC/&,,I7;CEF:;8>=<:BBO:$~0?NHp.v|rwG*WL*Sfѿ}w{B[~bϺ6ro g͎cH}?zu]ɘء(%Z$}Fؔj僷^w1&uGnMhQ1wk ŧv?1ɞ[Ⱦέz;.e>O[7$R~u:q{>qC9-,lfx}u5pkܭ|}>k뮊OK!M# s5˙׳ m`h(obNf#^t⧚m;sNfCRh,6_6NK^S̢vET:[2l>}oGZaF1 bCXMa⦙81[*U,9}.l GAw2rsk4ҁlŶYϬ$ήl{))}c-f,* icQ3$:T4wT @$wYXX 0k`[ *2F]y Sa+e/@k]DM{xohrHLPI䉊J5D &CLn ~:_MD`A{SSVVVo .XzxfAlVg"Qj!!)IC%"VwӖ@VFڔv;.D}z+ҹH[gNoyy%f)\v}̫`v[&|jĊ s{fSx$z&~o΄n=*h# ˎԯ}nmؒ,jÛƙP No_A˩2ziܜfڞcn+P#=݁d"yR:M'۹ɷ*<k+֩ ZjDe3e2*yuD2##0 "T %+!:M]0exW䣍n۴f޶B+_t&jL=1$ w4 `HHLZS#jqbkշ=S7mxţaZ]v](rBJbxث*3U?@|O뿠cN{ʟ2:&5d!rOmM78wAӝt4@-?qdW J4Z&B3h?}mnr6R8#z#ؗ!JV-^TO雑ƍpb7")22r_T cz$,fC"(͑{\,O2⪙f ˼"DdS7]]R&sDo3DjR1P޻4eIp,w:5!@N Xs,.ffRUeZ+bm;/˾zfݐ-n՟p_?MuTsss [ةsӫ]nn]Zb90r]\D}o;{ +S)z67D1*&.:C܃Q't#NnL2p!8!+I&3JF}97q-e ayG Ywb2[ᦘha˽,.kh2 V14/:GslWf@Q}PM>eWF$AcFGvFQp j?kv71Z%^0~RQbN#{) 7x #2`g5P޻~UBjiU sIIL9c`,0F4\3553Lɿ[7nm^}\GwG6v}yŋ>vYG('IF!긛|JɎޫ%}sJwljs7bz\ ;u9!=tT5A#uc+;f52w3K һ&ܐ"T#mFFr)4`Y0FRd9=6*4.H%ҢBsk-2&$vNp76G nj' 2߮9-X6X0z^ 7-E[`@"P2>91݊6\ ,XVu2%bS.=C~#a=}NIn4gNIV^]$2}=3{R[:W?6?zw$1y=x=~(`ҌDom;PO.l@tE#;*էtQdZ Qe멳uqno/__8JLOUm1:Kxg'(yl>q-= l!5VrXBөXVi Ѱ-)3C.hkwkKA9/ܴ1`&tm0 "a^GFy< G/D_zlQ*,eS-=<ƶj_bkў54"\DMZ".TTQP,t^s}T^7w&{xXzC.&uTS:j [x2r+-j)6s] T BVh1` 7:v]I߿x-ObPz\EjX ZVl)&hn/Nur{4fJF=bnVϻc6.SL'`c6M-[1n1\;4׿'6sctvz_ezO lTF\ZPP5h^^k7&l%8Of7Oҳjpk$  ŚvjweOL$Y.}̐0D3i]͝\ eF{e\t'PHKBzh< ~3ٔ?Őz,n{'մ8McJ-BOVM,s!76n6$NWTA \6Yw) 6?nnOggS@D#IcNC==9DEHPU-YN??.)Zu>@eIoشCI",Q Q3I,SBWBuqL7W~:li{ |etɮ9 ˭M5&|yswoMqE4f#<0LduΔ.ˢK+ZxDc)u t-^W}qq1^gm߆xڜBΕs<62r7 ]q BչAAM$`&`[M+'rUv 0>cV0iɫ Z[hxQd(đ&&!R.!Ϧ@AJ.EפEkPw]fzp9fw )cwt@P$Z44od}iN7rǛdf̔[_+m1wSJo8q׹ɾjСOjs]E^]ij}`wuZ] qo%w:c-t?+1O4oH\"f*Ud]%\Seyѫг D˼CpBʁ39aMQ #5 $ 4t5 K JmW೒w3PʘF&kD&#\'o3q0}%vl8l {(w}j*Zut[T͜yʟ4BJxV:*y{q)d3=Ȳڌ|]kmnկnwٻzå^DF R@dce%_\oHdeOL@7LX|l~ommoUF] "|xvor 0xF/ەz7Q{JΞ);+dۊN]ZqY%Is`D]o}T%uV@qq׹Jl V%UxDZJK^'b_9~I4 yReM&[z$!V~mz=xջjNYGf2M vU@)zRNwK>tíz'o;'\SY\8sJove>om9sGWүέ|rԯځTݕZ]j'@IFh W}h!3MFxhLG.+ΘΩ;avuR^jY1Zߥ=#>#n"M͗O\\OOiBʟϷ>?=. QšR= u2UdZF5Sjw=Y[{iҲPd3¾4ޅ!*|*! }7ooorkLdʲjJk4+ZZ^]kxG!j㐲չw܎SԭgmF8E.Q/F%֩\>Wnu#nfM ׏t?=^&0FiH݄}h FiYn*.:4vAUj}3vەB=JY7a67Ќ{Ͷ3Nܭ197TθhQcmUc{#fѦՋ)Ul;xjn զN)>SQpXiu:@Jy48dzMw:Fj̛1U&n۾5XY7l]]qy+/:'#׽>ӾVUs3UKQsPJ]IW˻hIj)xߓY7c*XY,m:GN&:߳;RZܱȗ$->Zl\d⦹sFM^IӔz3*KOL:*nj}ӹJW^NpOc;<3`Ƚ٦oN|hefHoǁ䳃x,GTX !=i=N edje/{@G5@`~}w?Fv؆dg|Ç_ O幯(!vd'N?-3όd1Y|vTUwn32&nhnGOqJgbd xDۧ4;V3NXT/lεG9SvKk^M K?7zrQlWG['=ǫI롟}-VnG}i0۪ʴXDp&55:3@O2C #i; eԼ13SnX ;VToO6VSz G$s>yuI~'6~YzXS:Nϸ;lׯs2.vd䫟}Qd)&\M}ɭ2LҡBe}MU] ۳ĕ:22|'An8g *mflxТڰ3RBzX5Yh4u{{J!9> WG?fSnndjC[fY6/̄o 3wՋ}9qOTHݩh*d]/ּѳ5ɛ7_u!8 ׾_u 1r= :G-lz ts=|lmo48%ndyϨ^ot*ç2ՒsqVUeD U~ (^$٥zpݳrhL=U.Gor).feWMQNCq~̾@tcr0[k0Nq/ 9`;F́wc)3`M 80OggSr#IM.&3:7<8>DFBC?@AECD;;9<9EF0<>8:7:<8@9A<8>ʢ[ (hKB$2K8a j#|'s-x53" qqs8u5[~^<ݞ@dUkz }7fg]'u3\U  与˫Zf\uLtݵ`{2*;-K1tL(- $h`RнJYUpa{í&ف˦{wk nF3 *Eax, BuQNa })"={7e\S3cמ˛.HC_toHʒiLz +c~k5Ng2f1Sg~qncyܞZZ]>bZtQRu~L#kz}ifO z|c0艬T'Qe^cbӺn}xm޶4Hngن%f);+u&jY9qx16+hZ/:|wv;_;g)A3A4Jv7n$bfl65AK<,w$۬[^g_ޯܩ#Z-͍ݜ0<θt`rYlM|R }Ij\WnOM_u`J 9P;^yJ-phhuI*R.jF@" 7ڗ553S03 ~GI;|l̼91 壬Ø|Z/_/`f)`In}\kXyb]uH61#iBj蛨ԲfGlgK[ܲx(wL^՞0;ՍS:Tzn/25bs'HPXf)22#PX Rȓ!  2)ÖEkA%+{">+$g2CW@uh-Ճ'-ـcAFuQ:7d+<8]Qѷzz D<*5 h+д˽BFdcCM߲#񡳒2b>VOCp~mE2ގMqa(փK2sJS|W爯UeϷEtxT^V_g.?Yjs|Q/\%#Ov9foE3(n:"iW0kQ!\b:N!!} 9҄w (/1% _T:K6":#L㨞\{oKAX/ pkZk1}أ50Zب yLF [X %7ſp^ $®e_7[^[Sx]{`]v;)b^* \V5A,.bK|n}DJ=iEFL%3;YފDָ9(fcM+G3b3aﻘqZnid˶:dqXHˣDh'Cx Wgn*޾'({640jQ1 $ {tRE>؎GU էRr6Un{~{=elVլnk^nFNncO=.zm-@ڡD97.2޽ ij0,"vPn]ޢ2%ǀNQp*r.]=K>{c)ow|d=FTo|XT<{OR9í"?eӋG1t@0*zfr{奧skƏ8Ǜ{f(0il\腆ȕ·(@U6蓠.GQdel]wZpL)L 3Uvݱ!%i]Ӈ(ys{;9'J B6{fK HT*[)*NJ%tf U3=^OG%;-mX, DKE%zmDTr&JDʉNVag*+ ঻kVGahړk̺1f>_7}7k}y榶sr3U.o;NX؞os{WWϜT+21{W @8,Fc+t ;#$,g× ]~_}~&m|&߮նŴ:'g~$JV RȆ ENsay߻\dIU5\s6{qzT1ΕuIk9Ȇ*c 2-ٙ^謹UsN7ifիt{Ѥd4o`:vH}Di_!vgWCLswL6㐪X6bLF&6],eYu_Y4}ymH+D"Y#%cROuT~iбM>徜.S앋ck7 *Kcb n$_մyekgfKw+G:MDȥ\Rl 4FYH),;h>YeZir>ߎ42r:dsQ{Swm=lb)AGKƧREV4 Y[ɢ3yK ,:)jcjtu?N+F)7.kȚU m#/m{wumk}$lyvDDR; h3 {$@?P7Fݐ6d&L]xֳҜ_jolR6ldǶuzś}feܞ=:j'ҨV\JD>Zˍ2:-'BDD@Lʠ)c "/oΌȳmY.|Q̊P5L h t?EG"񘎖Fwu;pz99gw& 0%tJdȀdRII7=$X;g&vek:T䵨P4@Ļ^:5|t"?!#L)]SqayT׫Bj>ҔFW@b˥1~D+XIwvodaS|{TW\w57Yb\%qڙx؞[l"5 * \\qlE"Fjkօq`an@*z B67 19t廥m4 eTg>Ҡg$ ]n2ۺw͌M|["_olZ7L2E''=퓫An1%OX e־(\bw"/e8rt8'U1=ɌhTQF^.FO1}ye5WVeJtZg1x{L{ ѵ_委nuuݤ=k+IZwel}yq.m}z$P!.fĂ AZ0sy^fZ쾸Vh.33Ne)i`R YCgЅ a (-?~sLR~ߒEGo,ץpn:CnMlw`do<zU%sijl!ܹHKRv}uK5Ůxj,bSsQsa.˅.jg,[Ou^kUr.g7 Qf&I[7ʄ*ұ&D΋mV 4훩~1&D;{=Te|{J܀syþ^Ots8DΓ1g*TN5")+@otBCqn׶GSfm{0 ]2K &X+AFaoŌ$.d?gB# )Ÿ.}XgDvGNr˚6sI`-0I2%eVZ/MøBOz_R{)%<:^=-]R W YVύ޹Tw U:{#J_4'(MTcRE/Ŭko$Eve1%ui[W+G7 C: : l@,QT.qD/.BK͂('Tv@&02T(yb51 Z #mc ! 屝|p<\"nAPBH g?ՄU\xJ,[R_,}_tߕ)\}`UYqG>+uJ{ou':K9Ooe"gͱR׾C^edP]a@8x㳙6&l֢5V\KttN*Vk M/ !*ѪKz^THdiEa iLL'?\%T??ha^va/;_C4Pɋ+@-kM{6)^ó`R ~<(<>r(pR JNcdU"9$SB+_~X:N/揯'.Z>'#@uug˶Σ#~j=ksf{}ul%*}Unov;rcnN|Z$ZQKF82|(KqOH{[] 5BՉ\n1rZBM!eކʻJDoRE?yU'nZwCFe֪LwVlޱ);ݘ(tz*,^Š$'Nw+R|@Q#-l\4VI,2`T¹8n+4qш<2i23sNEK z.ꬩ5HY3&@ᄆydF~=<ŒdfJ#N}+nݓpw9~Z;?|{|g!DQʯdF]XR^/Y.dC|Kb/WTݲ+>wOUymm{\[܌dTBQEEP!T[UvUb fD~vDyDZi\n{+D ^IQ mV'*zxtFktg=Țؑ3$s!,?43+"t8 D""k +Eu _u鸣Re-fm,q6ַ\IeecBu LȬsTQLra[K7LK^G/2ݥosY{- *䒥h貌nh[w|اCx$336S&o{ Y}u źpNym=Qu.R۸HGC2粷 .fV;7]3I-^7Yq\ϘS#czwnfc'M"M\F2UG&@}CnF.k$ESso,>z.XH\"+V6:$ :$I ðfy7!@Kw ǐ{lR77#)9Ӷ뭻VyuXr&LZ J"<ݛ{5ͬydQLR/{}я;$ӆ'N`мJ]<ܧq};1ڀk\^ukx%\CEIf̨n_eyn^ooWyeOo%غB~V%+w&6ziDTB3nխ8tGEKQLTwf>낯d]Hח$!BD&K)n!QOggSՀ#Iz%;=AIC" %8CK4=:8:% HiBx0`^dZ?) ^kjbZk;@ݼh Q< )20xjOmx8YN)Nڙ+61g-x`h pz&<%6H;èB%jocm2]L׾"PGږg ?/zR i0 Ud_2.[_+O`o id:,pUKLxp w"S`D{ok׽Ҷ~ﭻ+]lz(jqh8e"ΓD*/RȶGi^e.v~gzZkmpYKbW<0^]xCoT6~QeY|Bޕ{{ﭶb+Y5oū:/CCJ4VU$'oxbBaǨ1SZo㳝ݽ䦌C~}vH׵i70/gʘw^lc\Wr馺 0 ML#*YBFue+ͭe)#"b.>z-ՅiihK9h2I$<yWip*P*[BR[4JldW VI*"+&텸:zD`t Q$!YHXG5ۂn!{7ǪI4 g`f  묊PKl⪼#ˊmXbhyuلVǣ֥"p/-K\JNܫm(%o(/wkTd{Żs{8uWnO5JQekBNoEV}vzߑبykT5Lm94 YW!f۸ۥ[Q&mb@GC wsD{H=(֝ " X6,{nZ@F@q0gfa;5`Ze4\s/濵K0QoQ7h+ < 6aV68Hc{m`|.&,Ɣ2%oeٿOҷeCK~Tѱ|5+Ӕ/3

ȐUܐ#X#VV}]AD66+Ҟ#}F g6RΨP8 t#vSH8y;{*P>07T{h*w HҮYL̼)3n_w|aWj*øZό7}7f{+=3VQRwy=~|EqsSY'&m]Uqrlʺ7߉ٮ+3N܉M|S%7yV-]~zL)ʺ67HVKuxȚꪸ >"q- f[F֪XbLĈ`!1Lʩȵ& RU: 05&Es˭ۊ?-FfׁY!ΝR4cCf ䷒@$+5) ii)6h^머0ITzé}Xaލ;C㿶rkzSk-]g1*]F_.UٯlT:rql$<.<W q)5 A a kQ4ig !{1LD&"@]ĥK·8cXbmv'RBVf6Jpc\:rzY5o_ @ c{nz20G `XYv}7gv"Q`pnSOrlb,5{kGkЌf?qFG! (в2X *EUz+iRfjűrg: .,-Fr'AвEHt;vv*w%{-koOnPDu]`!ǠCtA@9KUm(uV*ݱ:eF ~OggS@#IzU <<;>EMR'E<;AEIJF?G>7-LLO9 ybh\n#+ ռj\Ԙܦ1G+s5h'* ,׌9U(^V"OuiqoRx7vvJGm {L89eƉ"e:݉s^ٌS3agǎc&IQ'@֩AVaܞ0[F7󯠼ȭDNsvYlj) d:9D$4@*R}Cg> *Wn}add){Zkz֬y8/4mJcQ]rQdSI©6d\?O -R Iju#4ұ7ا]ofzΦju;2z&U)Sږd>~]M+]oMoKWG)5$*Z/4@+/-O7[r,i%eoup|LNi+ƍȂ\0RM3) y._cg*CT)2.ocJ}xuˁ[qY _ɴ2[ 4J<3+d[130ې!+#3H]Ka EDt52[PfkuǐDrLd{0"Z{o q|-ޫp@mƺ63f ~TV`x#KD*B&ij5fkޛR̔_0ޡ iww楝?nի/MM[4e]*xeeM EuG_)Nu>;C!p|GP=4^>dͧ~p ()N5DJT)^PaSa=T)x 2u1)'+HD"C2qKY\ ՛{J%1q`w7~x70 s6Ye$jF2 #|MVߴk$̔)%u,|'c[;{~_4痧H]Mq:9f2ɦY`'X;}Ssgm;U{}?7sGյ̞7}o]Q⯹{IRW ׹SRH&ۉJCWcL4݊N9ܮ^=7I9[)x.v2mFx&mbAK*\l!tōKXX,c(B&fPX}L-zlP` ؔGyjF>)1 !r_ "4`E ;ȊJbkp8W2ʕX2N>H53 Iwlm {Yo#viLY<33U33SH5ۑқ^Ã^/c^o^r;?-lk[f+FŸ|ZddC%*p^|ۗBl=[jEr!BEXW͔ҠE! $fzB'qWyݥ=-t2Zך퍲y-#[zGd:MfBdjU ]WSM2F%)mY ZfkA! Dʨ$4#S0F2ʥ$(^LȤ\)7|:a^<=/{F͌d;F7v271H_=~*'$~糑ɯK Ù9tkFNw 3L9jr~Ȼ哞o;\vӔJ8e)Bwո+Ҿjd{ЛmĦjS~%cq rX2oVN$Y7'?0Ґ3~g{"tVb\+T7mIc/ZEݍCS#&YY[Κl&Lڽɷzf#cN06`Y->yOTu18:^ c*>CYd)@ry N/hs>-?6̔TʔqJ/Ɣ>__퉎[I*Ks)խoD@znEjd7򫳤wm~1:!uBmƎJӘqҬP,@] h-h%w|wUV{n+#WtN] ZcjrS_q= jlYDG.n&eST~rhSҽ,TA*KY#&ˉcm9*q{d=s3F~d @P4"¥7gcx5fLk+Kj_ruSo7^MJ$9'NLɗ9F3vA.zsg6aO4XqOwIB s}':^4:zhhY`rW<}s-+)mfd6V}uvL~* nsOʼn-*zqFEkr9=1MC nsNK*aTR]ӫY[UY;,4홍E@+#CbMa`=x,dfeT"t8(I+mi>v@1~y Cb^R12>?Yn.w7WM]0#Gϴy.ؙ.,r.z[%Nϣ,J6gFōq_Zꅄh.;T7n"3Y˧6J3h\vf)ywv&rG;^7znDi1ް&U*rŌV5{W<&˳fglm^ag4uU&3H,~v<7XFoj(d2,)|zpZ=/Zwn@ S&13S#vo62iǻ|mo%͎]_gJKdoO&D驖tgmp2Ӽi:dwƵi͘!lݼWb!ZND uf~˟T+Tuw>};mbr W"jOggS2#Ia(00#B:99=;ED@FEADEH?2=<;989<>?FiKE^xeЋ LC!^'"A LTikڝze4E֥sHVUj=ש)QNZq缯f_NI vn%օh].N{+{})p!Gx:e&mN2< <sl rk+˖`ZxݟN4+4]٬l+3u'7P/ pTg`J=YARsa1۝YV֭{ 2bB/ DTぜ h@vm'%)楟mL[T6$W2/Q5,oǣƳ'g~d;MKv]w)83WȻˢ\20Y'57$fġ;Y\$!^6;cgUki4udF~+'ZUw: 3-ePۼjd\P}.s IWnPjNZ57ߤ( s؝ O7P߷^ /k9`_`11 wU7Pq`Q ֊NHwhh?_SVd>@2YRJ.Ŭ>jӯ3Ԓf~Cvr^d\Y5#}Dh;8n6.e6}S.[N/ڸ@veZO^f!M`U_ U]JV=L.rۉS\֊.m[qm#KL}4vQ eΜFxeƤ;Q(wg20/K'f ,SyݱF:ޝ#xgv;0ǵ<057{a/Uvf5'*iHnd짻u|o筅D{]A^urd}@-A&Wƒs|^{lm«lX8gX&HhԮyz*wx<&r1S-ʯ ]:biRim;OZVTx.mG$/>e/scURĊWԏ\pP-7WEO,9ɲx T `LydQ+} bէp^{"|cӫ٫a'ق|pJN<߅ap8R%:BVjS콽iilXkbG.>W7u_p{W eWz#mldRy-|v;[^ޣ٬[f J뵻]HMdt:$s/Ѷ#D9?9m~ݽHoVMa.g&mee) yR*_m$[{VmЪavekvC6UBqB=?SXIbyhKM!Sۧ;v-yjxxZ FbfqfZ ?hDDQZ,fRpy҃hβk浒{/k6L4N_Hp/ ~;J5y& lۣgƭ+o6mjMV٦Ҷm+r?:tV d10ˮw+١t]W ?ߙ͔V͌yDHg]BV O:} M#ם ySSs˿ŕxO֙ߡ<u2Uvn; Fqz5"Wvc4Ĭ!r$F1 I$eԙ%q?󓾚FEeERp7ۍNC"6ٝ"~H>w*nZC>S >wcxvdwSlRhԃL4h@3d4o+# ]t^u-qwʕ!r=`2.\}ݝ.l 9MTPpf^#LTRu$)q:&¯h7}Y&>fn{\0(fpLLv izC`vwL&+ u+h 9 ͳ)+U_a%+cFsuC{х3:(cwtIgCYm[mZhDK'>7ޑ:D{sk0̶G R6N-1 nc/svnfS+wfl+'lN{DBO'tqBΛmשzuBqStd @yзr>Y^3e>=c4ڤk%'nz;p8́8(NA1y ~ 5.L$SaR*^Kķ-'?kYlEnZFEbB%;Wpvs+V9U-;K{1!ͪUfv[ 3aN8֠#WKtݳDN^9ti5ZLjLZN;O@\EBM|Te `7v$e=lm{lT=)媓\אI(|#e]H 2a4j0r8VƷU{k]+(9?ӟSdNTI_)6|<|mmKۆ֚D \7 "z pZ15W(6ro/Ia \,TwW]6]&q7w]\2 'VR}n7~EWBTEڑ[Qv/v6tn ;dҘ.5ML_Z&I5.鑫odG_TxZ[o7WޛEk5K-՜ h,".'dr6{(JCgz4#^j(fwOm5VSeE7#¤vMDEBrJلR]7&Jw!JhA* *+ZZ}5ZT2ݹȸ>٩m)wr\,S MyN$+&R߫.h7IH_T53OggSb#ID>*C8<;<;:FEHM,K<ۃތd HA ZeHGZPGOHLAc#žl}@oWbUSϤ7$}uN)U@)T"P?rTU|4s8[VVtKx͖s|\+bIB2 PY />ic"a:{=3ذ}򸄒jZ=< OdQ:?2S&Jyv+K;3^R{b*)ʙ*Y3U Rj_5 C/J_:3o{{o۞>;ҩs)Mo޶mdbAt~C{pw[J}Jh猩fl3Rp-^zխZKZZkt"Gd^*ӣX~_jWu%:>d;6bݵc]WQUi{#4pr+1y7g!c#7wWJ]c8ܷǧ\L郸xUqaaw7nsP)M J;-ly=9y*UlӍ:X00vo.K0@TMz3Ju쌙Eljq#roJV5bk5Ӟtgk I>0iz,Ug{״[<7S=Fk39%8u v2@X#u "zyB>RЋdjY)%/U| /_VrM90ZsZܳnVq֩"COL\/\ quwoz.0TR7;*6ݩPM }>T΋.?7;}Cu*z]ǵ6d>o_R=e[txbUj.q^SК(#=R7# ,)2fNi? .iMW{S̈ 3oHT )^ w!W:^jMJcB5T(^݀ꋝ}u:5sFs϶s7E}[^֛i6ZZp/G!mV'R$^~l?~~8@rIjlʦTWoGM_;ȊG8ҷwVk\>quW>&ew*ww;TejqRCyJ9=;):Ii (WL`tf#|8 PgحFFqBWbs!ʻ]C[i 1QQTFF5 'wI:.Hg)D./}lDn&0[%{Y]P9r"?݀3/KLBV`Ra22(=ul?3jw)~m&T >6)O0_ŁB2d+m ^L2fjBGʯV?7jd-}]S)='#[}r q;7%g6Y^?!#nT+[OZwf_d鮔]4-&p->`zMluH\N%l\{`("wJ.ZB5C97TzCDu Յ\}UR2Hv!:!N ՉNt.nfл\meoUë׶y/}HݥC li6~\M:MpZW1y >R_0j##I"+{%+JfPU$ʔ,ŬqiWv\Lw"5!HтCcĕ.9>?^w5Dӟrg Wݏ/]pՉ{vrw1[DAJ8@:8'>ESbnNsW4Ȳ̥5ůM 2AU*)?5@aH}|^L &8Fnxf,Vώa`{v@GfZ#} aIjK伐@B%U*7bpͫc1oױCOgֵұnOuuʞnΕqOh}ߗy}6]=\]x<1S /]KfzR HK6d(g@ ƥ(:n{f, ȸ6iްR [\άdeSP]D>4[ mPj!&pDQJ, /D&ylsMI5Tg8ڗI&@yp8ǫev^8RI"uW"&1R`LRTYhw:ؓ7 G>|^Umi6*O b.<3ܥߛ#mOۯOĥ9DW QY-G{\}=_[M擱i*{집FuxS r9mEr eұ1U\+(H ՌjjclD4KUe4T=L.&ҏ2% 6fP)ͻ؝]ɎLv3Zsδ騦9 @ި:Q&MI5 u:K9Q]XڜͰD$iA$R"EȊrobRR+ںgW8ډܖU[pbO \\G6vth%&%OQCRoIro5ܫS/.SrigbM{2|b)H23yMaI1<خJh+|YR.&c1X@1IR?r9"xeM3jڽ]5,JLRIF<= _BI]{#/ӕkpjLebTmmA]wt=t %S[*N>*J8|7ȇ۞Iߕ3[V{#ޣaW[=!-OggS#Ijx!:<<=D@--5:DFD>7:-2C=!(Cs86`YM(ztU wv׮\w \oF͘R6^_iCIkf_^~|vt|\Sp8zy\Ԙݗ=bHva/w:INlq8V |۹W ;c>GW\N : i*\;[u{GY)FvKpשx"dTt(FuH[i 7^IT$d*~Z Y\Hᑉ)$iJ)[f! H1D/ }jdlqeu0`/c:@bKj &@؝'fT }_yݣɮoK,[n~f($bѼ T.c8iɲ>>]J;f,_qQDY7v#&k/yFcD412)&ˆ JP: :ur\7C XX߯==/$:']eX"^j|(UKBBӬ`\WݒzyoUeىal$4\8>3 AE*s. xsB(Uf*WVYy0tiYŵGah|ߜ{~LD7ޮʯWvޏnߥϜ Dj3^\)вFL<@F5VOu*VFu~G ػy] շnVG1z3~.kpѦlYPJ3Yp?zL@{7Px;ˁLѝ[zZY-r<5C` 8>PqKͫ6#>4kR $r*jWiUxAIZu]N<0s.`j̪& q??IÇ?O>iy%wEOpb/>&+ܑ1]ǼmFYϫWv 4:MNxٜhΝ^-_mS쾞ۙ9~k9Kp<;;{5jҊ-5a3T U{퇮j٤ IF؃0[`H\ VM#ݹ8xq6f UU"DG' e@EYō=&KjƦ̢W0΍igd,]6WPݎ>~}\'3[\Vs*eORٜ۷c^h:SEE;mҘGt(x`z.WIO$ y[kry93mrv4*pG,l}vZ/fX;-!6.Lmn<خVuRDRc6?Tķpkݾ9Aö%KuJܜ$m4B .SO` @ ࡆoFaqO?OՅG40ӼAu#VEIlbelI@?(6^]WQߓ؛l62^AWUwum޶ͮ$ފƥD) [N/:e_j*}ꨌ^麪mL̚DN4WF7̼ZgǙ:)AV=dr1Tb?0&uYm-ۯ{ƜU-E*>]bC6k ,(@[i^jXLUhW@a;uhH̬7y?3);vnɩ?K<뜬(cOs3Q5I8wr=Y(uouana+!(M>L]ȿߥ+)i(j/ dWVn)]FT˛ָ^k#2Vy E+Gii(SYb#^,MX K~E:JWs6U΍9z^D;D:2zZdݨ2d6L&]GY$p E]*85Bf/-* Qwݦ,o,WJ kُ"LAP%R(=*:QY.^ɛq]Me/템*A}k@ }-vun/bcof;:n U;71I}\ޞ$} ,[&\{0Ys" 2nԜdPhѪ-A޻EV^ K{ -wpT7% @,Sa-Z-Yc `XڰWK+9Rcy+{L%)+!_2(ْ^?~Kf!seTqaE]̫zՍrun|6Iv}3g,لD#ݳ]C%#l^ՠ"vcDQJKjRս̘8&S܊z6D\"kg8w{kTҦ`o[n\(<89 -8[Aa8h$[Xۣ9@a`aɼЎL:fon@D@IFL@>Yb8b2j[r8bS2巽 7;;$G)Le?<OrwoXi?6c~W٭i@C8KWD_uĄ1qq]l~ {?#9A%˱_K,끂[_0o}wN`;*pkv}5cvXGj=v9Xjk 6Ur]u6ҋ3-$^vیÎn{U`Ja4ĝZpQ >XJo(٦"y)Sv3te5[Aaի)3+omk&uc>Hץ_~(U{zfgO] zk:T-#3E"Hk'!y7hUbsBkaz3 Vr'gu߬軽(M-Yk}F2$WjkKDO M7iYkYh`/)P .7fn&?pYMNĉޅsb?m 8 e;$,H Xo~k^xj:LH@8/ ڍ?Ρ0 sI͵3 btUȬSŌ$r14̊rIbo"4EvD ?jOPn=7f6,˟,\֨ R2/"ùV$,ooDVgo5ckxkmd%g6 }" a#~I"ыQ\_%ݬBv]nƛ'Զ\ OggS@#I de#D<:>8<@=CABF>/=:;DFFS=DUE| L8'0Ȍը(1Z{JB˩[qP!F.;~I36V/\>:␞xjpHhS:q帮u\Mo\Wd\|h|mtE9 䳧-=|{{vV=w]rmո"ly Z4Jc龺Z"]`,( 3':G+KBv"P3uqBUd*vfK4+sZ̗gvDVnJ5u59OMq'fWV5˺3ξV5ʅ8$B7_싥cLKQ)G!Ō9nk/l6Pƴv|-t:Im "8R<Ϲ+ҕ SwΠf]GjPHpr)>qQ{ pzcJ2e+4@?A=@X]#{\'sN>oO#lO ~K[Cxs85&}bi:ШL2C0KT/XާV ,j{, HΔ.EK9*}vET]P"PqW5 =. ڊB zRZ`2Ι)K+#h>k-EXU# dQI$Meް'bx]5efkʻmz5|/njjWr*]C!7:sd ɵ,JKaDQyE:4\|Ոd&DMYU\‘qp4Uޑee1 /@KR>hِKF$t!@:讚8%}[,q'[gHQb exZ%wxy `@?(j2|_,VUMflD%3L)ycSg~lX铝S.Si3x2Uc~x쫛2r^tݩk.Wr]?mk#p;gH&R7 ,ԣS鱗'-m\Z|yՈŞ*Fcq"o⦫V0r5zSV%R%|*fy6:iW jtW,(#]3L-6^RR's]2[T$@IQX8ϼeQmpsLz~M&q87&a-[ jUP;ta| )XA2kll'^R353*?{2e;w\=tG.6AАG5 Ltt.n&?1%z;=B*MmƖ5Wݐ*ɰV/skoC#J1zs{T #D*嬲 mTDmv_a!6 0Y^\-˻"YW*˙ V-4BpޒԷ͆N}A yZaufrrQҟN\J&@c7M5Sḕq:Qd)u8pyws'OQ? ;x/XoVngryO\wp}-,,n栱d]Q~x \E˃)Vo|ƝI^Uwiɪx~\wGhbi+z: sQ-G,ƃʙw!/7χՍZNj[g#r`u)a#(( 4G/efbڙt05РejP/pGz󪠀&gFg8k7nQy3JM2W,[~m<Mp6_^W=:jnkOV[#12uʅmmv+[mL-H֮Ktws;qU]J]0HC9 D36*qfTbs_͢"eTV9ntzp(.*]{'\y}͋J4]~s,w5̏҄`STu <6lz9CejQ_7vrbޡAABۜVl@&ٓր-pV?a0̲6rFw^bd$B 6h ȣzZԾm} iqL23eoj&Ssxq>~w Ϯ~-itx.=Ѣx_\˥^%-|Ww]^]EWUGq! #ߑ4%n}xuD&4njM^Yh&r>M ~ZZݏ[O˓l^/F;:sC])+UC][NN':,{Hj̆:ZrvUwvS^0] A'{a{94nlܞOggS#I:;2%2<8/'F?98>;FB>???CCP:/A=<@ـiNa `0ck{z_Ȉ{ߤ4-`>dsRP- ?Hd4["zryXYe>]ʵaXKwO6Ȅ,S3d$ *r }it<3;|l$of2I[xyl?7[o`ͩX&/vʇT.>rY6^i,iiWż7`=m *2{elR!rkS,&uTb*oɬn }3ݛl<ʷa9[r}zI:MJk@76*VP+еSx8Zƍ ˎ;:nA612i- ݃\ 5ƁPCZSp-H_@ \(U6 8mI~&:VG@v8U|ɱ ؿj\<' 4͝F) Dw5:t^{3]FVo]u+3V] 'R5EWvPM%#϶2 NVʠGү(Ά:LX`9e}YwkdSE]p2q 13t7 t0wՀzw2cx9[yK V&ozhd`L7R>jd9HouW v eUM )JzQVvz<yf&ߟx3:\7J>9]78{o(u}Oqj|.|W?8Q~;YʀʎpEցJbNư:jݩXù*#d6V񰋾Wni.r^ t`aUnJ8cg-=>d*055c\c~b'#(ΰVY/dN֤H%v:|Nl>o9"Ms ';;1R@((}vH"+OuH=uJHʹ^m6M&DECR}X\JK (E7 RvhiF3o+fNV(y*vB7bd ~bJ[+7kLt{t]Szڲ۷^c{^fOe lI,>>\i`ZEуԔ3,ET˕]wc뵞Mn57me<t2˞Eh)hMBol3OFdX@@'ǭWÜnc9"M)#}Wޚ.6u&DOXIGY7ιDa\T+DrFޝkYw{Fio:M4i);h*b@"(RYh5Ƕ[ ܼ|S|re:#2leQK̐02xL٬\zdnr\5"CoTzDnxLS٩gyWo9'nt)WbUq1q;KTMA⦟U֘%ӄu3ӽ\Fu# Wect$74tC".jclDv<(/ $Q{ F{ӽ+[fV04ړxRθn;foe8P Hv "s iYs}*yn`#q L2ofʬ*W<٧8>awvk"=+=vel^F#s]oʛb.[J9N ]KkN:թW{*NdgOKҌTc Buod$lrS?=.[IiSꛧ;z ]!;M z+UTxZe\hf:E1Rg?u8l4hZcײ֚=-=0=@k5ۥم]^锰$Hk1H. ٷg3@4_,Խu$IJM ~W"iN9:2)$|>)1p †_nDdYIWVl Ǖ @g 80S '| ۬J蜫xsU]rfb~Xn&7<?J|@^vay IHL5>"??N:MkKfjUz\\69\-2~+|Xe|'7m14:L4ccxCL$uPw?{KrssG"41ɲwiuՙ7v7c8Br&D*2wkrK}&}a3m͕9Y9ît_[͒ɲ^l,IS X5Ձ_蛇&[IiY}f/?˖2kp1( 2 ϕp[,9l#hJ @A_pPLSbƜ݃ڟO}6vEQq=Wao-'姝Ap)s6ż<G y,\TK['=MoMFe_-$RWw|9`B)MEx>-xk5]{+/7w^lZbGg2nUOggS@#I_'<;E?@DE?<9<>=ELF=08=:FDHDDA.=/QBPbr澠M?jE]fMgbf ,A bmJY6pxcwSdά#퍎NYF3QZnyOQ`GwقIR @̜kec6C2[IUYhֶnMlToo=T&] @Yfƿ\%-2l8Ċ,FUwUo>-kl& Il͹:Gn Fn it+ST) '5ݺhUm- 2`JVydmOID Ơ FXJh6o;ڼmke KŞgXKh+u G+AE]ҸzvHLR[> M(Rz+@\. 9u;_wf|OV)]9gW lbK؀fuحnBD5nW>TE9kBbQ,pv5 moC,mWOyr˻gnfr'{7=$&5^yLOX8 W$TcB!cGz$orm{/CV0*K]ASe_߸[1c(smw);1[Cf5{#1Iu0a?&Jm_ b,F՝7&lu{ST @>`,ec/@wo! PI =3oݕ]XɅ˲:&+k.tY&Đ(g~ l`h 5PVFm6~޻тzd'X_5!J (h+X/7 @eMԨ$ ĥ{ݤI/jo˥޾Ybjg::.OBO )-^5_6n><{gLFL51=\WDuߟz=e?@_`(mV8tn<نJk6 5=:u`(WippFװ - ( ݊V T8RKZ*3;.h5.Ț(ZDM*~QŤ kіݒDTHJ V0E IjF͘ʴ[[WM/7#08%HLlTOc{Sr* W].xْ 9Q"pW~f[-mgH<" Ce6oaOV6[sfni#-NEF)پ`s#݅d6l:+ߝfwVEn'qެ ^vY58-޽}iŸPuг1RnvvƾWqjnт Dw0lV;72k=**M. Zu](3SJ޿Kw6ݍh񗕝Td|sZIjN3^Yö{Hu|bUcJPt`Kl=*Z\*(nm;GfȣW'\nO:t[=U8cEU^gwe[&e?w#&sY`.Kq*UGMİ6TlYom,츘0n2qu3R5,(jfab@ [8pCC<u0!wb}7M~U^QѡwJF >6&м6书P8,ApS|$kCRD>Gvnat7e=sv ,2a%-M5L(2k2(HHsՐ܈G%u߽s=[o{:Qc5VbT 1@ Oן޶z㋝\vHJ:>-6w^mw5ּn(l'!:Z"랹/ ¯37Hxo\:*4Zo{˪]w3unҶmtf$gSqH* @tbEυ>`bfK\WU^mze[dfziYK"AvLp#,|(*&npܕ#Hޚ]M+7콶jj3 -Ċ[-ʂ֣p6 y`ޟwl]q<{6(S~C~۝ s琿_ _ϗi^]@:q fݹeF!unTtmI F 9=ٷO=7WonK/&%f\ou݀pZjV/]SȒ*p&prszq(Uޗ04uyN8[:ʃ*=oX^]6Hs ISwa*lج=2:Ee'q%kcm* Pō(I~LM*Tqi'um] &WRSZ}>.n]śJ45gLf2]=}<7]mn|EKDolWow4*m٬K*\H Rƞ k=rkUpHƹ=8]*/n)Ln#U3Ȩ!.Ȋ=!dOd#)RTS=G`z61@N> ҫ"yW8sݝKoa#HfT%SeG=dm*, exGLXRy]5e_?3W3M#;A%}w)W]G\;#)iUqOu_lL+]95DOf?@uee%]ki7ߝ9 * qI9 hVf:D_&i%R^M!%Չ 7HbOggS@N#I1&I:D>77=9CI3??!19EFAB>/()̺5JqV) lz5 6 lx-ItWv#.XL^'Ǭ`L}=p18h|4 nj`3 P rTDGb*WӢ5߷3zϬn/{,Ie _iՉf7賧n1Vn|61qnPcP77`NRnOTkl:+>;T @6 v,a2"Uk"n:^dLW#7IT^ͻ; v]Y=nl2 'V P-siF\}۶-yIX*'vuLe.2)'%H-?w)pT9r5 ID5j L 4M#)3C:ꢈժjfT?9KUemTW|u$NlI5"=t'9?*Z_zuJek69ilN\L͞7=m ZE>NU j "A?*SLoFMILHޱq63WXf;dc7R[['1槜+<߻{k[m3|+^u\ 2بY*Ց=.Lgc<=-:/vQِYq{&gU7MjS9ITed8ɕ3+l K3++UU;q蔉$E6ڸfwͪkAefV.#c,d3gVBЉ5׽QPq?dy:'f8e: uTG?|ohYƕߔqz"ϋ$zZؽEk-k4V`fl]j5SLm*bߤ?}yUGTZ{ӶnOR;q2"8tޕHO%Sov] [Meoff)S>*~N<3<״^_w']q$!k=Ș~}_)˼,A]ξLL8 (n9'g*Qz&c$*|ڵ%]} \[jW0C rmP@؇*[pl&rEM " ֺTE6{(e΀  PVK09.Uаl$s~T{DUhTݖyW!Ԓf ˾*3S-ÎlF,qov[7ZYi?뼫̙U)eLuIUUwD1e݈)TS|c"bzd  ܹ|^O=7(W3{$RsI߹6ij/22v<6ECb#,U7)}:4Vi^W9]])v rn̢AvGRGw6 @B;NB}pr@mppĘ%kDL ViNBH/{{@]o*2S*.i'ʃL u1xCݭ)~9?.ޯ>W[6J">Ȟ޾r^}MoF9nTj9;<<:;E@E="A>:CDFDSE5>;ލkJs> ۹_о*7=T,г2#i`6E R` ~tʶބ7S5)S&kN>t g/LX8=wφTgq9S9 Ϋ>{9ީ~myNoR[^"f?رYwsd̹WލF߭Sb_C.~(xeN썍wdgv[wR\3m'nJ"sF}WAq@lCRbpl[{$}Tr8pEe3BE܏;XbnUPSloH SxX >;g [6'HN$IHhR|@V.%jeG)&w֤f>[f[~3fc;r+h"`mzV52]IEV>eٛ/O^((JySS6Jb}[uizfCHYeOY__z}~DzRQ~~Y3r1VrRUM_k,]T?YV[sD>{q %0^^Wl!p#+vOIZ.ɍ^<)U+pQ9q V.x:6mTP0R\":RtΕFw" RP7Tݾνa/np 5x_  ft.͜NqKD6 :A5&ި>Tb _ec.eVc3Hmw=OF+`A+`^BH)JyPy[7hĊLk& GC#Ȁ~|I,Y{Dn"ސm-\z!w~?{ @רVzQC X=P \Z5\ʼn}[TGP5@Oc] \eJ0%2T,9Cї-rW|KVBk&/2dp<ҌδP!\N5kyEXxww6l\3eEZIs5TH>rTWdu{xYGMMػ7ev `K@^R"Q=LT9\:ëJONNThf:ޓLgl@" 9Ϧrq565qQ4m u q*Nˉrhk1j!f 3TE&1z9A&P@7dd]FNo]$vq WΑ*KR\<b=t-rS0wAaݰY@֓i pf; wUd60~LyHyF,O^lT9C_Jނ "R yWReff&~ 7Zei=MYݰ8?UQMCN$[o斦ƎUOa8Ώ7 ugWOg.r)kHuu QܪϨTXKYU|yz61;m! aL=Sf6)Gx*/QO%vv#;3rkV@ʧbwA=BK!gT,3Vvz6.{'Jafq&oM2k~ۍ;.lm]^2eĝ2<37Y6"+;鴈LUBت,>ef::` X[ȍI>F}o`1n\rrA8U"@ uLԼD)_#wJ7s[~28\Gq>}ݽW{S>$ G.Mݩ$~"<!]B] ۝q(O6Og(qkiDT/* 7u\jՖl}<&vCX)g6X.whrw_˖yϼJV9 DZ!6mq{[D"yCז6*}IJ+P*Cf (M7y}7ߺw{kqkvm6̠-Y)ٵ)^JUtQHL$ߔB-"5m̮c2+5f?1`<[22=y?ޞA c}@vO,,T=9HԩPޞ)k$wK_4ܧ\՞wm z^ܫB黋_B'tGodTlQ:a02kc,]?Y L#z%Z4 uĭnE^?]Yg[{Ars i˻;{3 ݣ4/9aȟ-`JT! y0?-фL͔ &x68*Uz!kp~[;{:5mGW:*o\69tT~#St'}vn{uٳ׌-gJ6E̼æ VT9ѐ~%}6P} WԲm68ՠBgf=Θ5^vM=wzVJ{n_D=$aMxP'>rCW^ns}k BrɟtCrCZGih 6 "bg H32SRƒK@M>PPofLlo_=s׿C6Ygsӗ-{kX$y?WudRUs|iԒúBTDgQ/ |g*li= n#{M]LV&^mcxu֕/o cW?4`O'bշ-it8S\7rltnc{DtQ]W'&bwY{J.\ݫ^uOggS#Io#Q47?/+6>:9;9BDEDAAGHH?1(s"D}&]H{]j6m{fQ6DaL¥۔uNgty3iq dds΀A-͹ޱ{su8>?rd)_W`dhzi:]o8n3X5FO!khu4!bPVECi?ȒDr+]˨#d|?sVؓ7NNJDLk*;< *9d*s4n{9J+.mꆻlخZintdp^JuTܪ tCTMv~Xrtn?}ٻTnl r݁蜬# 8^Ơi"asuKTx}هı2p=p(H^3uzLzY^nY]Ny<᜝)3;3M*6}dznxUrlo|'J[-uZQ+ICxzossߕf'ʒ-R}+uΥv'sؖ8׻ZڜGzbagM+K:DôŌ8Ti<8rfe2%NnO ]pH\'~|uЦǚz[6^' A7HȬhc Q1p0)d: *! 4V2ﭻMI(,9K)SԄIN9L_nNmwtcֶNkzS?̝-FlL.Wڵg˚$>R^P>雙~{-hv*TݭΎmbLW/59~ʌr+wGHqC|^DC=]zb xk+2~ٖn֙=li4;^Yir {zV!_ܻDSOf1ݻi,Hb 6fAhS/[(u8HTibu˪@"]Pқc3P?|9a73jT~Z+d0Cwtt^W+iI>;87AIH-[2^Oc4&8iܟIA]Y w°;i{sK)T7h:[ʕ1z?ࢫ!s7s=߃P .5,v:Evprbހ (9Ac?RK5jf̢.qߓ/=:oIhmK5|MP|]!TEMl-.&.hR(a7#K;}O$Ժҥj 4K<536M'm_ӻfmg2NJ+ړP)gVz} 2lfeMƔ1_cRx{v i>!eǸ]V+ R;G.p3W*Nym qg\\  X 6#P1XtOrEELͳQwx_&#z٬lu)">S^ZgBu$[ciۨ[}7ZŶ TlԾ2jcj =K*tWIWސ}ުsstO;o´t,cic/q-}:;2}l$`mU ےu{GI64{zF4ZO?o6hZlnaY$झi0qq 4զXp SUmq_mGȎ%?;:穫5W݆Y˶-W55UW@$2'ewaȿ}ϫ=ױr9h[MYˌ))_"`yqj TFg$f ":"ruei %G!#nϬ=O QץA6$BV<_AmOGot&h59 &Es(8p5A =pԕϯ EW)]y K.Uٞqn796. X šIH6r}c %>V*l; Y1C쒇o{ljJt42K=.X~ӞgK}J,L[b7ok<ֲv=.O{7VW&SΪܵ4@~^R*vgӗǯGy%^6z,$޾!…Q4. N&*jnIL4ͅehFW^zn]˕a]N-,"o"-LztdH:T^;wvfm\1nm^9Rl_V? A ]~h"6JD4c͇*O^yjڦkEcgo:,z:Eb813c Q455{iۻm{o6ݕm $_ h}B@?o9dT)ݧlžj'('e}uZ<:mtݤM S" u6œNE^j$qW7f3e?#W,aq[dlӝ>N|8[0sn{rz/֢PL NIY*KH-:L5em<%E lN%u8%U' ӱR3yy@}Ֆo v:|^S*D@$:2jBRyi`oTXzl_Vzj{>Q+[21oT)U2_QVlt;`tUGi65;7kWG{WMVDX`:0.F0  01ס6`}Yb@KpԂHXPvy|lMGj,RWjb\,ӓ%p0J^JQ`3o?<tufgO1M='U.S9e6eLQM袩r!v{J݉nb*ɮYYnm1 ȘYnR?꾸gDY晢ؒJ™~jn{q=%@,kO5|S5rLxdܺ{{G(؊Žj IV[NN$Pӽ1QLiDkgZR/h`y2h"3d\JྻyսQؿȞϠN3.[znvl39 YWIp9*ː8 }g"2/+j9 -)/mi=e |$RJJ-?:|@KNE]/=fTZgz ֻ֘7zmQ2ZqYD] ZDmM V*/$Hs6|KWwmYf׾߱l R-[0Y,h"g=+::\od[+&\/^$b猆zl> 6{ϝγʻ1RP['ZdƷVGa&yTWW<%[(:ٽsN~)f^՝(ʎ]FQ>)yFFHXCvȋ"?im'3B$rQfd^FV tURiJP}-ղ`Z7=]H2n I_@A^a`6 {g#,-577#n_I9-a ~lڪv GuGmRSWz^[沮b7kfJYU[[GsWi`3^r}~ߌy?ٗv}?^ 8VXE)JvYx|s~UoFfx)k{׹uhzz1w+:ޅ+U#?CrϔK}X6u&ΓAjL񝞝nk/"kn:D=,Vr%J- D-AQr,cB+w28^~e 궚ƽ5( =$`׻n TviC*! *ċE4@"V5W\3k&33.T,'.˲}k/&:f1=nۻi`G,Yw&o+f*wfޥvLxtJOv}CyVY_N4wgvNtWsv>?fV}b=/u9S5ҷ7z;f8:7lTÇ7ZJ9hl!y)$0K22xkDuDa-6Tun,\)pV(L ۗTD]4>m?=u$:KaբgnPG4Ӌql٧g1[G# +*Mk]v\F]s+fo?t'XBR9.h,wdt'\Sj$VlW!eF\imh;_+Nb<0# ka䡺PZtUYM+}bGtF3uoE#e9kž$8KGBF&#!NNT߅v5 O Fe}-+gy2_9S|H W9-;Z-̽^nz{ZetVuRQ ;V])oo a(_ۨRSLj$Eu{ٶtںbR ߢsl>NXKl'ó׻\q)jbF)e&/˲?_9p1-uqҩ! i[眝:{k M5@nVsf3rTÞmԸC2\1s8-g ZDЅhjm_mddܧG]Dvܘ ʸWԬ8aE)ܥP7E4A\`AeYq#$' Rz[XHFv.ۆm9aFڍ[ ]  M28J+aQ{Bb4}f>"*M{6 Bt0 D2%y}݄k\TֵթF3ַ/uJfk7-*MWNyYSnhێDIk!\I6آګT[ 1EETa4茑D_o$)e枖J`c8pIz R DV`eyA>]@gF*Z2t5 OggS#IVm"4*8ED1;:=F='&H8DEBA*5,l bwV\sxb )M tW7Uzy-Ø=E MjE@)o6X밲r85SeVvDYgέ{nk7O훿[B^?>&7>_0:pu J坑J*WɳQ+s\%byf"i+\d/QajK:jk-iv6J;U:VGocm Gu]xԙ'g9j2.D#il'q:b$7 l@Xy43+RZrT): 4䍷IW{YCP{b3gϋ=mz1zMޭg!Lq<2J<\TZ]B51$ugo<nBk}ݻWNcgFZ$Z˳؀V% SI<=~v'i[sՌ[mvu1 gcPZ6oqK_ ]'rgk25sdc.32~{Y:/,iYy -#t?ߒ%JxȅK4ݒ(.*2?Y +U#cl8OJD@UߡO=&6;mOO)كs*6a PF4pkf,XL`N3{ q $X9t>m`8CؔBIdF[Ɠӹҕ@\]wt_s2#EeƛUr8n&-qdR_q2.c뾙,=fv7+qFZ[.B`(HV(Z{1/PP[:֣79?7|zəyBћzUZ[rL̞|g2n `HUz; J& (ևu q%[C( oxXH ɳWfU߿9Ezt;yںXێf]ٻ~g4e;o&¤ך#YM$L|nƪYbxإr%0+v%^M/DT47T[[hW7ם}/ϭLM7lUeSWgiꎿS/X#w?Ƴ6ZϵVf"t97}w{nj5xkswՍv9i"07jgP)svvxѹ{Zmׇl4*3'?m5)35jbLsxP#kq^6̉1]tufJ=f9wYZFuw+l,f\J*Q@K3 F$ܿu@"G^Оzo6c{oEVW4NԸ(Jp8 Ih8.MT]L&MSs(Vg2{Z9um5k kOm,Ҿ!VFH5v~\"7쌈]ZU^1oۺwvU<P|ZT);'t@ ”k*KT}]-OG7KwO?<.78! '~Q7JRQ U7ΨF#(fH\)+Ksi:2'~{G^(k]nFZVxJvJW)6\æpǩW.6 'vA M,Ep+sܐg)gtu*}qQ;xAʛ9D[W`~]oR$n0)2Ǻs$1?m`n,4 Kv0: X[,L 1]of޳2 _7~RUG9E43nӰ@DU8vΨR)˾NF ΪT%ln_N{6+9icN헽H 5m vUV_hG&'"kEMب0z"!K^zf.9JTx4Kņa4$\4j$(Cr k ZpzroaX/Z7^Nd7k "L?s{m+rX#C(Q(H@OHY)`oLƔ2Ii{w&uz\ :J5Cil|?Ij6jl']^]zRs~e^uq$T* ,1sE]B$(Dj}=]^4.h4-8muo&lb2"W"; `Baˬqsձ+M NhE5 d<pu~ԔEP*-akdF yHi˲(w%3T1Ro0#|qX͘wןloŋ7^-ӡJ{SS]7Px*aWF6 T]!{KׇtD/D!n>Ѿ@Th7s!-@snwr ם:Mu=9Yh, Y\ Zuc:ĝC.t͘~ `zfڵ2RO{*j 050@H<'٢KRI7bUT)W >zdCu)8̳͸XyD(dXqѻ/Jq#r+wBy_vx=lr<ޟ[${(O@*8HwgMD6j*hKUviZADLL*;8ԙ4x)5U [>zxޙXeJp1=ӿեSzᎨ_戱izt|uF?4fP,ה&]\|&BV7"2%[}cfSN=W鯘'7ޞENtF+Bl03+mn=9W^iSIBKF)2"3?`z4L$2+3] !T`N@bٷYulZi;YGS gA6 B!ՇECLAâ7JT#EP;SgMe19:xly \px-0VXskbX eRVTꎋoOe5Wf7٥w= N\xET?\Ae JL"y0I*VFSxVU;?&f&9R^~\i\ZkN"rh c?~kvGx<#EVdȧr]rچ޲y븤#9A|O5y%N eթ\ eRB܏ﬨfכ}Nhrq8e'B  fMW:iOn ҹl_|D]WL 7m^ {Ga{mZ`<__3{yUJT)6J(Di7J{UWuu?1vUdds ,Kp?//˘hݦX;4b!; i7qlfg5AF \Z^!I n<[' i״1^Wݘ$RWu ggypi2l !J aEҔ|w͸mK|@s'; 'D69v$BIJW ümϛ`E Y]}][Oft1(+ٱ=aE-f]q`I](3 y3 /iHlQB-nVYӰt6{"JknH˛ݔ$TqܦZ.:n?um|@}s?]ΰKOo3F_~+e5mUcƫmYd>Ϲ&$w$NVt#L[O|ggOPu.mZ]fzRzyAxY>^.EP ;L1Y̔:F+y rF&ήNO1gc3Ys,:|LYgm/sׇS.\o_Jb-e<]Y&tWDxXD66b+J4׭meWpID<ẚUrv,΄USMC,pͤ!5U'u%1nbeuwqzM_5tqh7wXB]I!]73  7D(k->х2~SY(H&A>HU  -twZ7gbӵw^"fzJY/^|::85<~Su;5͕O9%scrcPMQT!OvTR7rVT7]u"b҄pUOe*YHGml]D*}ئ4-19}Y5HP)}i #g"ŗmܼ^du/9 Z!|G]֢V\wbrsh6}֭;ߍ7έ6 Ф)ZK5a:0ުXɀԏƁ(HI~Ox 4um80ssLb%{7xL8؍w:Cy9Zǖ^u [Ey8'*} 9:ˈxշ6vm|S%`mwys %˓jjf6  :&I7e||527!ѭgÂB'>cwmM1]i**GO[*3$P|xW# >\t{ ֣ml-9J Zf:0h@#ힽj;38XhPYnvTq`L^УJcPP@]w5vA] ]3SJ%/{6y̧ONlONtq2-S^37̄ ?蛼|Vaȟ o)]D(:rߋ5d^ܢxn*u4wDУ>n5WE@FH?D=<<8@>"e"T¬<@ ޼yZgwQsO8.f^lo_qYNiʽݝswγ{6TyW9EuBEb/N5S%+o33_|7/z/Vvʔ<^Qy>3rnWdfy"3O9bF<\e8۝&)uv[VgM\w3K"}wO3TؘO7QrEtr~|DmnWmM+(VKdQS 9T>)lMn ͥc 4`Dm:4i 1εwwXX:>>jpnL(2p ./nwOX?ݜXɍܗ̬qiλWSWҲ~c/~mO_2u{&ns(U]='9`&#'soKr{^ܲR9b%7.KgG_cxm.m^]ɽS^j+n8qLJPT65)iVz{9Ex3@~ 3G%mnINY.w/y7? w[NQϽCT>c3*DRnȠs; fSVq{]SZVO>6%ڑ%|YnX/ڢ-Tu7!B)NSݟuL'z'3r(KwN'`+s;!ArDbP^MظPH3Nw]m mΣꉜ{!1=h1^z2nө|쟙>d9n*돗.%5&΍sML%.oƔ6#ٽ~P-VΎϾ3XY66o]w+7K6etmK<|3̕f<=+6ST7I9stoӢXN)>3ۗ;32an\ L4}t_,P eZ6yܭF) ʴfkZ`ŢfcF-^ɂdETJQ8H@Im,z3js\{kaؓ1HIXve:$Tx  \fe.fW?+T.wW)B+zե#ĵkr8өpqbAu"6 ZEh{p 6QmV5gwq ȝ 8fך@=3 ka_QVqeaoMۡeV|} XSXismș)TN66u`6ܻm霂 RV1BT.t)FH'"4/sP1w`^2sIlTZ9Fp]OQ{qz|*+{7[6{b#J|? d![NVyS#oVmJ}c R}ͣͱl\j t5[:ύ[UW㿹SytqUB6 [ j.4!!C SL(Z7zZWdh2=H6ڀR!'mTkmWv  -^7n D 6 ]HO(=OG{{/7c5&?0/\Ŵ36i\ŧ|7x>3l>8;uaǪ4xpt[vFYAlʼAHӒ 6S|&n4Jʻ:BU0P.G9"XxسlƦvlRH4|_඾ {.[ѫsci幝PW)U&嫧4ɨa#KOKi?"ɘ9FOr$'MwpqDxso@cfCp-H;`s@ 3S R3߯-Vn8Rm[U\q3V*[D]X ?:\԰:5]KFzvmk$R)5 8y2kZ'{O~rzjRy6Ryjqk3olil^KRemkVZQ6ª\o1nڷѭd7߼Jn7iRsg- L$Ci[kcs+$@"c=[Rk>nujLw9}г[ @ub#04_"M. QTUao޶?Q r0H+CF 7tJs$:\3#7kkԪ+oKW뛪\ Rt_>aD<9KKJwOݹW^{1]Y^4 Z=#~;2DʅBFV$frftko[ͧնMzV^m\KS:ة0Ģ nm=[(53dQW*lZ+mW),~ DNWAtU݁Eg?ϙ2 mIII^{2r;'{[koTjrmdn>[wYiYJL fFEoKaRTJWzw3]ڦfmm,<'AiB ϿCR kݝۮ&S~Zmќ{J+@ZxZeEӀ=~Q*u73ca,{ǭɀWcq۝6~b :.^όY;pfcq"M{7.#ZDWΥ{P}3egvx͔ETmܒVN*."7N2*Ɯrs7|b繁8A]5T4$liTiCpCb9ȐN.@"r%<#*D \֘v#3. l[n~bsŸǢQ٫ݜau&v  ;iVK!AR.^X LFRLvogXԙ̺r{yGϏcJ;d֭޲Į8nD:|7Q}zv*3i-Uķ|gri{_{Ϧ#G|Tҕks7 xhG @fG' ոQܞ-(3[wPC B sA =ꆴ64{*A /ARg Uv|  H&v{>b!Ŵkqi=ػ{3p{T ]bm!3:!>K!njg1:ʝ-/Tf;x~XsH D^K"+޼. 6|L˰k!e% Wͷh{D0X Ҧ:唅Md̫"I]Z"6IR 3D%bjY j(DJPMVh4 Q_em֚L6*2zlSxcc*O,`=vCro )^.ݴɾV4ئ&omymWvkm/ [['m@(=~&נ t_Dz[sLcTc"|7{Oմ՞lyͪr:LN9LM@2[k`noQ,W@5v!tIuS)_NI īG^No ]y?צO\>h6rPgbw>lD0fK$  trh'3ې]fy殄m=D(u|^x2:G):~4 fh{^7XOggS#Id.N*+><=8>;;7D?FAG=@>>:EBEC=1F?:DADGC:7߹ 6i5{mv }Ӧ(r( L5iY_}-{2ݒpXURf&/$ =2_I?.<6~.ϧE5݇1'ǺW5HŲ"Fq E)܊]y 6ING!W<'ߊ1qCǐBU]@vܛEeӳ}{.6Nt$D6盳 M Ur 0H3}h)8ml@jGm{B)aPؽ-RFBrRFjp:A_ո׀N@i G1+[ zmTV$yov^_Z1A Ōc;c? w'Ⱦ nY=fnIMB׭iX#ڙgL$>I7O˷m|L+saWY-ػ0A?xJu kGV@Kq:Bu]|w4lmL>Ϭ]D46{] aLJsL>m~[ː_=7NmShEOEZdR; c|tXfOOsʜ^}&kIn[Wٰ4,N8˂ *7`ӌ[02[w\UlYk_mg4k14BT\cpW sgLj /ݚ1i [ҵm|uf۶ Ul{Z+L0+paP)@3QۊY̢*bCD墳=7[ֵM Juq()LkL`\|3`ɳnsQcրu*[֒~oe{tKXLIJj(GD'?yńROw>mP(AkWlQl[UPeA[T c}X7/һ$3I*S~Wv%}uUV583~g?4t>]M | ;H6Ϲcm?TuŌN|^\Ṉ#/ʥ宖G9J7` >7A9"k9L)gVSF>[;ڿntN#L&ܾ]Dm)Nh|<̀ 3SOz?ECu.Uyaj 5z;!/' 6b~"͖ 6$ P) HkMCRDA}[I$Y_|}FޯҺP.mzD/\z#!ya6tD{H|yPH'tGky+&tѦc:{ 5 HEASD=c(h}:&uK3Zݯ(P$ARuf.e?qZ% k9:?%M);kn$Q"4AZBܽǤc@nj?,\6JB֏,ȫ+-q=Z`\r~w^oSRj LKue}͏ѯ3wԋÎ[umvs7/3Z۾[  ՉF Ͽroޜ,IgT{cj5v7{yڲXm2gsil"F&akJHP |t ULBPsmJݪ~-Ӎ_x߶ &|Z` :qŀ@ 'WSSҽen+?ojīyFVz׳(UI9H~J+w`%T;6 DPOSgB %OLR#o>&V󭁑=Q:>鶮%zc׿ӂd$ƕ: &ۅ# vnNL=[&Bg*9WxGalzW|G-zbŲu3Qa=3ni"j]ݭxFzu$ p<_}TQG hqttfs\ZukgXٜ? 0v 4cb;tt` k;-Ҁm:&]unv1L^HΪS]( rU}Ycqwǫ2;,nZ=Irwo$::5|HuwyI#Νjt-~>t)?09*:RۍkT]:[Vյvݩ=t;슷{[ks˫p~g)GnW+Wn{dznVHkY=?t,; :˕@oԵ5ie(hH_ Fo|@fT^nzZRXr05`hVɄ'@W@OtrkDQDgZr7!fc?}+F]gokխZ m:ikmdbׅqY^W` V-PKc9j^$Kw.WEm]ئ+lfRaȊ ©"^s?2+̗5U)T?.FYWorֻl7ѻJj+b|\>"(ӢTIIR/'OwwUS756,oqȵ;WcsmW9Lgd0X־EˣӉBPWpo[ Bs::Rgd\E1iuJpE.2Cܨts7K= 7U)plJn8r Xy" V\Ζ%do9R= *FJȍl2yl P4yedg75ڕY F(HrUc-~I_)L* ։[ZD̥JP>ƫ=>}|so0H;?餒'yV)ŭe!fWniv[*{+gws{\q#Osj6B>ii;t$k3e%lkh$3A#8u#4ѻk]fpn;#rHGgPPނ+"Xf%zA 얆hխӀ@k5- Ƹ ys \A찅uc0ҩTRՀM\wO.׼=L#ewsqw}~4;u϶yEK<7\=Yוqy_b؛Ϧm- ]ks&]t\5RBeJZKJS\Ɣ3ƽ"( 'N 8Q t@RSNHJee(Gkm/!KD}s.0'srZCܧ'J]T,iZ0/iS-7tq,&yMO.m}97EÓҐcb?<" PRubfmD7,RLc Ĭ:[഼x $"qYJ%"ZRwӼmۛ_Gy!5%vGaAY"R Ic!bgHqEk*73h +#&Tބжv_Zo2ۭ̔Ӟ '7Yn~dC/= )7y=!/3*15D`=J(tQ2^DNdd{QOGNV"/ٽSK1vܶ[Ή>3FON˝qR6]^&-?VV t7 wU"(D4X\b]%ȑ[hυ^iSw576PsDڨ=5-o%Ɍ0M0wCFy#)pDii]fcA]vG8ͨSF{EgoeCإz:ʹmZnjÊ_c;7?]E!p+S2׻:B I6D$d<麨Vי}mgꚭK*fݻ;ً:jˌ,-v躸k㴸tFQ9b݀r"@dQaAtUECgaUJ !`dH{.jq $`жgfӓM&{G-y71sٍkY!sB $" y] *QVz;=Kтo5 ɝ^6Lv5{{aoff`gsO=M66@Sa`"E%"oJ,0c.\:%r=Wx`80QfHtd[[YvDД@PHH@slRD353LE+7{|5jl;/ݾ~oL%:X=.on?~ ]ˏ sY-?]|XPnU΅+,2qg`^G6g/vLeH+(ۋ-M97%r#ʇ6smNG{s\hTa(z+TIEyUuf|-a^l$3CS.GzB e;"70i9jw 0k '6L΂"]Ʀ_.)=+-r=½jT#4tü2[­Cf/PzW ܹCrlu"*tko+6ږMݭkgkk)4FqQ# ղ XB-&IR551JZ|(DG)͵{ZUUmlWL8 2d) 5˔VE<\ ]\*Wɺ]I5a߶Z3;jK 1Y!:Xj)b/=YYKa{Um\kmoIsܮi{/ ڪ3\֮4A0H KHx/E0x3c5e*B⯹E%Mn{s]^g4dTct2O+¡3w6԰Жb#+RQ&rbvZiDzS)6[oi{Ɛє#_ӂIyՏ촻rFT7$gY_f[ōl9@nIĂpD, xV9 s5f'cocM\sߚSA4&d5@[V+r>"y3  ΅y7;zuNAɇ{zewUL2 '!i"ʰ q>xWSH7WČt7<:}J|lu{&:UN2zegdt)uY.r5MO{fM_w8wiΧV ZI/g4SqH*(V6&> 3ՉXQEWR*d#G= EI"ȍLqNǺWr{3ݓ -^V쾃F3ORsEdq jZt $4ZYF[LycJnW7_e7\a6;=>7̪Ln W)oݰjhw kTÇjwJ/5tg|<N4e f*7I XYټ/9KUVl dVˑ\(,yq 37;= @}"4¸=$_ D6VO0 i{kMDFzgT*$ʚƺI%c22_~`?]J{)Utί8ocd{v*+u3H<]1[gث ;=RP艮f>9\rTwt.ʩFߴ9ƮgG(@ʌ*`$GNMЗ?x0ǝ$C0t5+L~o?OggS@#I;T3"}zȨqɨFe*r\r!K)J9 #MWMzEvƈ܌jk۶x.wHnGr5t2Cf A p@ڐ9$Ȁ !AĢ#q"D|fN!J*0Yݳ[m)9KW\yg(jCPdԵΥp -z]J!G.x@ٔ$'׋7FlW7w[[6+{de(R汮QY]}hQ7O=ZSڴtz2?#j*o-吉i_G?%H kUV7&W) 'z= wCL\TpcKzXGr#([I2돢WgLάf).ڌ +YDBFJ?ڿ%A] iYc͜A:r-ND%"uZӍ\O}~/ 5OgK3ەMG3L5رlO|ŻQ*{9robBd1sֺG]OEu_+ d# ӵf`%gABz<gzknnk]NŻe7;^dFMVV "cܠK(T'@>25ƒ,Dv]ŮR^T͌zڃ5V!:!ӨWP@,Ƚcͧp ;}7<,ޫzo2ʔU|h3KS}Z$ߞ禺q|MZ)~ȱX誨` O;&RU5xf7ˇVbQKΔ_-(/t(FFG~Z 4Pok_Ni4TN%m)@wSD9ZiEp2ťCY U@T1D4H\]DB_5|Wb 3nz_ͫ m>`n֙um`%<%i-~+T0QU Uj<$iX{of>yJf}1fyw~i}#M[ t&W|JK}OJǼ^1֬W|zԹN~g/3I_9"6M"?憈J(WFL3[vBJ1QrJ؁.&dF9l f"6l0u3f 7`< oag[hb},"K;3eM.^%/dn7xQYFpgprQ@UF bMW@H;wߌw;#ܚ53fL}Dwk\-̏aǟioYWOï>?n,?fjmJ1Djιy >};1]3&2;?ۿS(RunyeUO܈p;--GoU &OA63@E$k#emCP2;%(bam'0#KY0DBs娱\rNeT)rwk` d:ѴAUeclP^V˹}7M:7M@2]i|r(/ @ğ~K,]rvb+j*d`%֪I'VS& _;\Т*p,`$ɝ#-.m{b1qM ;?T!p&GD:ֱ!br>L.g1 ,]N-!;O^:IT1Z~+mC,f_qs;ll.O ^/:Iw;}qs}UvmvPVʛtV_blbv5N T5&Dҟ]F.nXۭiLuNYً$geI]|PཕJ*oDz3S8Zl3';?9нek~hS}I(3=ɖs{®RCrxSވZg4Sr>+uKBctԊ{M}|r񝈗  \}XJ!wfULd;j1;цUz`JgPD51|ޥCwG(njەMy3]NWҫ#J|ϝ,]LT#2T,J{bfscsЉCqfiaF$!L8€0nrqöaߤ*P;N. 8GHY'ӧse+x55Uje&/1:9oS>'op릶Yݱ\e+k|둕 ' m~^&ӕV'L*JJ+h}79[^FlZgnD(ԯ9Te#nq@^[G.XDVzE]%O}!ݑZ𓌓n6;L~mt VQ,E?nצLJ1Ěskslę»u"S@3L}oC`L(`}2h)#K윹ryt|x?uuj!\\pL:jfl2ڽV%tyNWgEݿ\9"84]yHQus-]K~9t[61+gӬJgTn\{r܌8򍟼 Dױ~=.?F> E[3gj>T/U2UݵnKimOy1NJgH3پn_dFNû˯.DeivU\&_GeпU_{1KڙҰ+HLCoOuBgؠ>`ذG˰U-2|+vdhq݅OggS7#I#CT6F//!>9;=7:CHDEECCIGA.{ǜ\R]شa ,0jm F/km@Z=F.]+2=ӟMjen>|*G(Ň$ wݭN@\5SLl}vv[OgWNB;=4>?4bvw⯺'a3?lt~u-5lcrl+Drc6vKaKsbneDuƄPsѹ/VۨS1uwg#uR1I^5}n.;s^;sѻ*-e x՝(eTq(6\[cWC\>ﻼW= Qލ^QԳ"Z+hk+qjmVޱLM{[aFpgnC H:iuqϐk>5XyQo66yj(䷿}k.6;ܓ οPX;c=qͦ{LOrZ \{V0ʯDSdy۾Ω~mFV3ȻgySwdNueeKz\.V梨}jڸǜlc.;B MLXgU‰)֦ͮQmVvJ$\#L3>8뮷+C@,2Ю,m ʝDq2=k-yb;5?*Pdz 5,}m">fljaLL:[/Vcs؝18>wYͺGk=yo嘢}Bȶm|rtatEMN!n%bT{wxvwRR[yr7izE`2aD} .Tel[=) _e`Ɗ: vG˚{,ejѲIq'#FX*V0Tp8G겳Z\4w2`ɀ&k⋻{h7i- eoeu3uP(U tEڕU4(D4AZG?ex%v5H޻UT藗_҇VsevJ>׿VYl4^o7 ?s>"$yJTF/)KC3S)Sg6$5lZ7YrPC.9F]UNJø,s3wrfz2K /ߤ- VP?2"vhQŻ ,t"q_[ξ"gKO`SzlkT~h?D$ (|M0fAOϘ{ I%3)33?*tQksҿ}xoxB ~Nvǣ쑫]Jgߍ..pӌft?Z&jeO3kiqxOҤQZkt{qRДJ>`J@<̜^j o&ŦBe nF\yޅKj T/7vgo傹k=جm'w 1_n9K)_WLFB[9` ޚ̔߿XuU%޺L/ye҆IKltcm^s&$5KK»{sR,z0[ʜŝͧ}ovÅjdƐ֍Pp*ՎzȎl>9sSkwobݻU8"^()o hŰpdChX2AE oUYL !٫bfKiS2Z07\ \rA}elѴYus Ez_HaVݮyi9ek>xܮb{d퐔GlQ{rRLviƕsg,'&Y툳qN}Ypw|ܞo//x>",A)wQ=Y9WŐ28LG=׺cJ%%ׯBg!p2KOciY»i,)Vж2yPR1.Fc! ^Gؾ) P32wUK&^ڭy ]mw۝ԕK1eZ/l?{on/gHN6%29-{'K}xmKʣgby@yQVν[=rQOg\<֠%) %j%e5m/ {F7.3ݞ%\N0{~-xg.Q(Ƅu{adNF$lڰۚqC{> fҚ~v>L+ p.Pt1NRӋ@o؋`"? u ?CP`#ySԛ2 ~ٟHM67NFO>8U;q*hc?vQƍ5._}"$K Qw\%y0q]0tvy^`g-H?ٕo(vn7#gKN=PCw,R6 =, [E:CfWF9<^0!G)tڀZZ pvXZXxozx3,,=>L*uB5KG5& @F X:u@yǔ݊6}~9G[}l#J9d|7>V1hfn{#i|ڧ`ޱrlhF6G OggSg#IBG214fϕ0`0V!LRrpP$qr|#)CRL+0t\4q>~mt3ǻت*ri̧Z/Y_)N8-uDxy[bw'{OgDdfKWGn壘WfO 9 ɵvc^vU?3];SSqI5pɩVjc$qۛqb˫*o[rK#uSظ4>:Cٖ{hqn֢]r'|=>7f^6(La JTcp8mǁ)U-)pZוGߙ1t=  uxص+\!rmM۳-;7*A?˹߅-cBA~gz.#Zfo25o9VYeOAnXL`5(`dPed_])eЕ~uUඩmlMQP؀ԹPbjl#VlBo?L񴛮v^4P&Ϭ:bba`| `+)w7b+子5mE̶~Jq#L^c0 mFp{:ea(@g~;e"cxܕK 2;!R4 @t@T >(2^B11SdǸMt"Vut(e92 #;c(MG𱛥܍l J3t9v%@%` A+ dzdLTQt#S +)#FXsaJcד@,+` ㅳ] ƹUh<ܹM;y,Ye2۷bZ{ zò &FH{7NA&c#  aXR*Po_mC$+"[Y)=fw-o>v,^OlN#HK%&G&XXɩӞgox^P an3_]הRM{W:e |BֺB3+n,0u+tQ!^= Lr#).q!Pƶ2Aޒ{u(%ЂV^j-"1ҋ]ReyqZ،Rfgy/ҖzVĞ?9Av9߁`a?w_Q*}|Vو1Js?rŸͫjiYcA NZ, zs]+mlMirT*}۰7Kw ߃xvywVrre)r"^;&穸s1zPu-kezVLΌv ]ޗ]ĉۮ0ǡ P8"J^Y B6eh{j?{W).s̍~pM+ ~ eL2`[z׎F sjkbg/Ʒҽ y͘*|#_%αC< ]gӸq< cUAZ]ۛ쌩N (2ppÇBiE/TB|&3 ggfzr~E>IVN9duc*V4 @@>Us ڟm;wq9qXΠ)o\*Շ: -n7Uʻ𴜣7wJ}83"tL^т~jm7!ajٚM3%u<!vق:{@ ?:mphlI23eow|_|ֻoxwz{[vMz<˓dTy?kߟ/͇Y.jr}"OY.KٝLde>}b;U^^]dE6GrWJ[oFȬtrc}vXwdg/긌NϘJ:VZ=&X_ I~DMWj0ː4;Thnlcܝ2ꎙ6+(Lw TIw3Yh261:'7A輹D>9Q$"PБ k*lVtwur\z=7~_Ѧ+)X@3k'jC9s w]l6fsnɯf6,&,1I@mkPF8_ӢT=/[au=[;TxFE ??OSdFTz:P1"olf7ۮu.9m74zϨ y>rϿSg5)T@B(dT{,j[mi{4Ϲ^ɴt榖A ӊ%k!EISl%y3x0=|&VޖVnOvD^ߵ0&.([XL"J H@+dDrX ]a0omf:U&QS0.:gw7$ $o92tw:wLS3j3N_M]Èg1HgMf.bƪkg}*"R,.DQ$FH2%)#KS2Y8iXqT!rE sfy! $f"AFf$ʼn,)+%SA(C$/J Jb)-&C^^g#ޥo*k# #An7]IBֺrƍ3/暴,;J9(&>\- bE S**HȐvRb5 SH%0(D,LUlBeٺ`5uSB/u7N-+T,PT\Jn2U#wJuw5.0/Q*ˠK\SjcC%Qj(edRXљ)K(yYRBƧ& XC2Jp.3+2$ dpu##@ Fʐ+7L!LM$jw7n@ 2 T;Ż$&m YcP~"X}^7b͎ D,?$XsQT[-JIF^eXF|ﻺ~mߧӶ={OSV RҭhE .4- PgWHA+̐.RTteCon"TN:Z6.Q(*EQG,.\3, ܂i' s/@S-.4XMQ*hP)b$\q!hQE٘0qm 덽x @iLۭpԔ-$ d;`~<,LռR e,8Sr,8VIB7`8j1u{2ksq>d7njH?GߗR AhҒi2 n˩T%XǠ`TpEVr3R\)MYh6(-X- (V},$9HIrDJU3HHf*H+b D GfaȽ]QVB R٪'OggS@#Idp;+(2::89=:;DE.:8A:DA<@=9<9;9:ACED8%32@4.gHiv g^4Jw vJ7Ut*rr$},AEwOפ`F25Ue+\M=g}\W(z:TSgq~Ka^Ƈә7bګE =9tE^TЫAp. m:JoebU6bQm*+'I=ET 6>qvD5CEo%u(U1]‰8{-L+K7 E } 9ZQI>:2"kPxR[TbA̾Ag ;绞ώX8` t9 ǖˍK u&/2}]&KYGA!k9%ь;e5w\c¹T %0{YUj') =P GQ2 4ocsl.#ĥLH夘P6SBcd"T.FkڬN;vǐ>lr9H#<)xHaD!W(Ķ=1ފFfdftȳ'*+`P7aD Kwi\/ED{QLC!zy [d殻}1ݹ "Y*ȴ3AYW8dWZRw1^[Y@YWvMVR4[(CU/"a#W \Wa]=:nآ6{v5|ΤqZ ;1)[d' bc:벤Y(z罟~'Z\!^Zhcq9Bt=i:(ˤeV~*Y I=חj~[MS0{%pE!m8'.aitȴ]i@   FMYIL[>:y(CdI Nk/&eL՟2ɇ58JHD{v}jzS3ґiP衉i{Y>U%msMRhˀV<ǘU"wc d1q! 褐NeC-&4dڸ!= ?(קJU$Ҹ~EVA%W|@ ~t.r$MWg V͎:Sy0`1gv}mX`bиAgj( vi=bp3q@+"Go(Bpsذ{ i @3%1%o/x塇@羶zy̛8cx럸ORQph>~{N5V_R.-B܇]u]]wwf(JA ])T8ˮ8$`"SpH"CdBN$Dv (A'$ [%He9J<􀰷 kTFSFVG} HO$! 9v ] [] z7-eyxYSay@z2LT,CdM2RtĔ]5R&SG8C݅0ޭ1M-v\dڕ>Ųh[K:0yq uԶcԔkFX lF[,J]Is_/OL%#4ΘhYj=l{.{Y }/JPy}5GM/_#)4lvSIGq,N>-ɬz٬R`6mj :jB9&2 ݫ0@* H!6P6(Jvl^ ~;YoI[}''ʆaN7)?XԓEfusczQ"JmntRu^7>rɝΐ{ݞ5 T!Jpn&}1ҮuVÉWG)/ҰR`tΚq{읆FDyKO9"W4ji7R}5Mt[}ѿa/~BcN% 2ɐ SØQJrX2bP]\-9R *s4MuQ)˙gmzLM<@(@ĔRe^_+O?t{z^z=xAl/w~lZIҾ;k"]_Hsj nvk x)~OI]nўQvs>q o;ͶZc4CC|D 27Z`t, Cތ3Vrٝrf9=F(?TZ#Ϋ&jS(H=f h M&h mJZӹbiu`9.pVIgU.<Ġ|bg\B=[wNr 5I>qW??촻XpJ]Vʮߞڸx?NNDJ]3]! '-Gt2 `%}%b꬘T]c_gO{, c~%T]&)_h=ƥ3[C;+.ؼiؑ}y41g,k4~6)=1eRkjfѕ3MZ3f4>c4DQYt7h|7LN :KW&8,]̟rQwQ~$u鵖y}o-vkk7{L *hbǰWE62Jc~M!T35Wڛ;벩 [}14N|p]M; ]6wqQv{]%ʫ",y[dlFlȒe0/ ?AX&l$!IM՘ C]pC'ك[۶N'e6/Okkf*]n?GLjO6⢳pՈ翢} F5he}|'2&bPvԥPvR|eoӞJj2p"DB.}5!UB"Tʤ,bnsmA.Rb&zif}#%d@Ntu*qIZs*h`*Dlཙ(WXM &5qpTSR19nKNC)H2% b&66:JMh Rn⺏{dTq*J,q8o@U"Du(t9 ݡ.(jSȋDVD[2t!+H&AL B%,!@캝2"0: "$geSG) PTV4ȘipҖ&ȉbR 2[(^pi^C^@-[,Z:{&%>LRAQq-&A)'܈r*.B:I:"Yz*\fPffJZ{(+u!}Z_X[2cߩc#DMc22uA3Esmy(G@<;})hQT]#}:ӉU(bJuN)VtCq"Xpl G@$`c" R7ԗbd oX_~sıl)p?j^Cv$Yip;0{ fIkiW@.9ڛ1 Ճ ->KŦqWl5!/5ew)7 <l6xWSLeڽOk'۹a%nwc)p="$oj&ͽ|3ԷvʄKB 20 Β菍+@ ZmG4kADPZuVRPpYqd6` q dI*jRA)a䓉E/e Y";#Ez @2IcQ `#J)'\QO&iM{OggS@ʄ#I(!"6?;HE08:=8D;8CCL?/::7DA@>8/&^fJ +f('``>qSC]28%B^ \nojLe߯Dj]<-kSEL1Xe 1“>TG~wSQEoU;7@J.ۅBuoVjlfpUg+d P d<> e1@*RײUU6#%y䦀Iqu=x 9@$rr"#[ղ}elvW36O7vALb5?+zFZ98@WX(@N NQ!S_yHn/9\)CH[_fk)=FCXW޽'"4.:wf ,'~ eط%U-j//@9]hɫ!+m+_佯p'(WZ Y JﳢH[ T!TIfN#c 1K>'$+ fWri{ *llp+aMe wq 7יkV:ѯ\TEp=Pt% JNHC4wp"YS IJNDK~꣫17ugdt#e`)A҂ [p\1F]SbWr.ސ{ҭH#.22PenLR`e tJ5u-dⳤ`JFVX K=di>j(88UrnV})I\ѳ$cZԵjUP**&x`ڸ)h Ξ%4y UoF)˴Vh&\+c)fC~^URS.=yrng3 hu, E[? ҝf9Jݣ@~ب(hnmSB+(|U*7"қQJ[Ʃ+W3"dFF))]5`T W] h57z  (ȩD\ޫ}ZfU\@ XLEYoIz  ݔj| :7sKLXj|RPw=_Ҍ߂ƇX6 , d ޘL'|;>Rbj1G)_6FzwN)/D\<܏Ju{&GKђp@P t GOq4ljR4qTwOuU@KD < h0:R9LHtr#Ph<ȂdO|EYx.636H!̬`&i؀iK~Ϧk@/dx-.%w ѐ]ýNba=!F =jԐWfz@㞂1C%R~?<Ϭ$#gJ٭lMJoHe7 zyfx{OBeq.]{w|FL{/:B=mDq}PK{WށP:\6swU zSքdfP).1rA )EO%2JYL)qE}eRBQ=&XldDJdT ̌(tZp%ɨ%!yo`p) B(8cۺs㔪fߢQڸ"4q-vKS{phYn=<}8E;! IF{?tt4t"] QI+[ ifEj|Kno@$IS<̡^H`ui[y\n_zGnIj9AͱU\ݥdol6[}-JT1،:`[v<&q"WQѶ!C,k~YؖچuTJ d.@/}ފPbߘ)DXšRHuU+ޛmt-:O\SĀu@3+ ᥜMR?z mXTw[K,VdJ~zX: 0LLJBțIBqCR+P$FILr(3Ujf#q諎uyNsi'oa%7ӋBVKՓfWAK"TRNjpiBUDΨL$#$AL"3!U)0aM+2̱]1DgʩTBPMd(0abW+s .AB)LCt)҈( ч(NY|b" oΣ *þB>88. sM/ b>Ky S6 Du{NOcfR{3cjF/OVnߌ_}o->; mKfM8B#ub"BHNHF=ĕ*y@p3D}Us"GVQ "()))DgfH`J+Q(B"Rd;Df-]yRLD"ōJ)#Xc3R'1/好k+N*2RyFb,[\+ȰmK:ޛP>0JSoza1?%#0^Ťix;#F\Ip = tPQ5~c78sxmJ T1M|Xǥ$T?2nK"oMsI*ئb@;q ōHOR(BXPH)J) %G2BH`HR.]&"s+R$ϴQ,doqoZ*։Q*Ȣ)Tq M }kM\J4 xl0ߥߎ @8K*e4s s6@kCʀh.T}f7"6R6JP89#}9xz׻S1O"yE oFNiM? ͩ.Q[~I826҅FGZ*MQȂ̀2YQC8"')"R)'RS[_m=6D@ Ŝ䱐Feгgl@m ) @+۱Hof |I"n Q#o{:ͮ->=<;v l紱'|8Xgs<:Vq.J!~VG4ǀPwQQjh9ϻ\#3Gn1 \ Q )z1T$HB&DZ%2\šx|^bfȕ"t8}H՜RI#`TI*6n2V'"nM$|}[Xi;/oX&lHptNib B9)p*̕Pu Tfq' avJwDf'%o{]c_,L)KC!Iw]mɧãMTRYGvs4tc_FNJb=|Uf.N"fg9Z)'߿Y#THgr֟atnV)r5 s6U@ Z]#2>jRO.4\"jǹ˧#4 2 pɊ$-9`T"i۾.\G vWQjGzRzqEͨt kFB4&gx R2G!S\!o9i wSt3OjOAۭ Jq1to;Sf['CL_TX\V!B\VhM& ^paְmV]!t6&+p'x UtI=H__-NgFrz+lpffmk%X&sDлhd8[2ד@Q|Ԍ՘^+Dǫg~D1ti zm4Iv- ]}}\6:/dw]Q77̤fly_/&aFtcf7VjhzkC'X8v. *R"\sQC*NC@2hQHQ&7d$7Jb7=9]4HQjqADBOs#!A؀`(@r&I4bDrX9dtLcߠzHnDz1VS&X&,=Of#(!XD רR^Whqpq?c^-|cd<_&u<ʷ]G5E% E_ucVlƧP(SGDi A D5}2G"wITeD•JS,|qbdTٌ"< Y#*inylK.!Z!@! *O.3 !cCVkib cZss18=]B .̂,*KOkPyg`@7E>=1," ! *UfV^}m5mzl_ʷMg^a]+Dja{,WPD},M9GL܋yYl+[AAE] %(Ѕ( X b8cݪԥh@l6g|N'9{ʓ3nU}\EQM&&DyDUN$$KeE-[NW4-]L3 B5cLh41n u3 xxx0y2; d45 gtOaNK_hQۏ6&:ƪ,Wyp3;qf_qqu<Ȍo Dna/=س#o ]Tr`?CuʴBf -DHL "<77%b/>%KAdBRd2)IU!%QdLY!qxacMTdXHȄBfd)|&ey!L z]1rb}29/l~j7,~z  uߔ}T^k4D iI`_l2HzO_x:' 5wuBbl{9h#]ɵDx_W,gBv FEhP. IUma"E/DH-7$HD(1PD *O"I6 bH <)" H{  Lo4xraʳ8ͽC͓1'\^$7S. 2Wv簻ISZ3FKi _wYT݌23֨0N0e:ᗧh0߯P5RqS9tT筑w52l6 tMM>ο?V5;K4jhIl'vцutNEu/֭WZ{ G?#]T:2 zZQ<{Uުuݮ * XP6^.P7[_h[c%Wի׭~k?Cz]Rf3"C]vٓ,cv(-𱜼WcEBNoՍjKa3g|"= 6i.x@=3k9iվ}w<22'v]+׫\b\J+è5  :ˮu간c.^23e9^kv+VDrRɐވ" aX wM~_WjAFv֋MnZ[kZLw*ۉ6ȶL徘N"gh}էtخ-U߷ocSH^QPec`)@O3aay6>}fUմ!V{ ~o";6z2cbD4.; VNh˱9fyS03 e/"N~ĺG0K%kvdޓ?9KϿ.?39e2 h3u&?.~^%|7#߫t_.d ]ZqDKgi@@| xi*O&lX,ܭ)*9P89wWȨ 2ZljdB@&"r:G@@bVqW@  lsѤm`֟d B1E4P+~U 녹te-e~a*R< kX}`p"d &d t"UF{@ge e6oI>rWfbƘ7mptIEdN LxiX15*|,z/P\9[[r3Cd *`ZP&ВzD7~wz ` vOEy꙱ ?v1WMl Udfdn}| , ewtq"wS43}fFF%]/"?U2K9qjI7a-=Jռfe5M-[&56qgޟ S'=,Ek oX*ҡi.Rt6׌u~JpLߍyyQ잖^y, .OTyM?NV\ν-d-JͳF978Wo5ٻ`OggS"#I`Ü3=DG;B8?B:<>BFD>;?><=;HK@HE99;=A<:E@C1-;;CA8BCReEg~et_{t#|rQhӧ}˛nUmf1 +tRLnhB&5?MZ7:Vqܻ+Ð`^ \ VYlFlNKצ0쉤KUvЏWu%2Tdu{5Jfkε6y7kitjXw.5'+|>N2N -'bKJnnǶ 3Vݛ<l&wMRߘUf̙O~6~;tkIfmSѻ$B=+ kd~*(/T! ҤI UY?!Ì+\Z'.OĀ2EG͜DUdQC:R(5xZkIUl{y[:q5eSݝP+X @?6gP)/Q+ǵ:Jqz[^N5Vk*R בfudVkl"G\^~p]yٮvXu -CR⪯,: *̫4ά_ᆪ*qh*}"czLT 'RQlrX1 `_H-%'3 $;3{~d6RaM~%G6@4}W:ӈeFߏ*Vll+Fm7k|>epx,;0Y/n'exS#aMM9kz{_/'ocD6'w[B?yN~:@9׎iLi(֙zd,~~9L KMEʆiV g>299*7ZW=svT}ՖJ]e27 p;Mn>ʨS׭4osiS͕n+^i{)O +#t|Xb>ͺ2{T3fꚠYSɌJ>A6*g _թzQa]Y!ahL׻Tf&߂yjZw:%OC,ķy{k7߅|N#Sa+ӒhsSsݞTZ bu´ 왘}|;^d q|TuQo80֢M;YAmECJs4eb%Oa\{'nWmX>@˪݋c[bͪ^3ƶ֊'Glr9dq|blAM_9o{p"YeCynN,\,n{m۶m۶oy74)tc$Mf> xW6iW"ߒa8w?66O)[s/~u?,m|nvtt&zML2#5 @$}n~tOpiLk|:fUoZ{5b]lf& f˨Z =QsEj E&ˮ}*)Kl:{:{ڦ{J4:O- lgJ]l?wOHeqa4gs'SRzVxeYgeym:ӱ*4B[GTAZ,9rO#kcU5Jh :7on?lYnjpvL%>nQh8g:=ٺy=kŰ$#SlTo+s$MWFO/3"R!{bŽ܉ ĈrVYBuXb g$0"#gK )e- F.4K rN( !VI2SdFG {urg/' `ߤFo1su̶/zW(HϠLC{~p!։EM\͸m)BzBvr,eU_|W]ABzW5@.1PbTƫ^TwH.$1ƶܴM3SqrOht+50i.*g,rp/]UV3v̒|oncnP'A B̝iՂA1WB-W.IRI gB1{hu4uVQ3sŭm,)6e Z[G*=B}mEib=hf2{'t' ?70@gv'}9S.zGfL팅&KKM3UߝQBixrKn^6o\yeQ ֡ 1e 8s} eMSlE2<5ƥy%KrxXˬvC |Q>bJ(B_'dzN檡mm>CbO9r EeS=֮zm-WOklyzcuKnf&.j< CleUDZ+P6Xcv4g2v~tOnrM2WU&*z$4Nz8HŔ!adYrAZFGk fwOw۫n):].[yɫʨf52pņQ+& Fh^IF M&H |"{LR(GmLS 9RCVXg^T{4Yjj@av,@fTCֻ߻\Y(ijns@uL1+yaLq JtB*3t0!:{{p3 (Ƭ[vF~XVU2|w21,q!f"yt>τXY؆S4;@i~wޗT'GQ| tQCcȻTC(GBȒiI{XUh +" H$%ƑWrP);Ώ>HmœK_F$yd҃ϑ?zDRP\T.uh3 *i Q͌ e .bJ`WPWSBH,%ʼn,) M!㢋 #DV5#TDJ 9ҥ j &BNH.\nIⰱ 3$΃5OggST#I'-"41,<::<7;>DC-5;BFDJ/F:ADEDBU2 d260Ɛ7ɜ 1/~ $@,RbmiN*b ǩ̳T{"1lUصp'=1?]_>ߦ=TOq*A%q1OFFFy_\nBti \[,@:B:6ޕQ7dg)Ybt12\5!T xA*8B 7q+&E 27NtjY䈴YjvL{Ydn{xz7c7~yQL؝K샄ˏ!"zn k ^MMAQBH4 3U!$lyīM"QeYOO4>Ckni:{\EbIyz3Wn|37qq겷i9sj² 85\l)B1e2P@+JjSMEAUih[LǶRFĥi8r\Br#Bi8 )U e F= uHt NO0䶖[MN3bYZk tf'm7 <)@ ^K<2*UB%w}c[HI;dm`>j$SZ/_`aXq՟2ַLWIQ'/Rx4$ SvS{zBv*ܕULq1+1JDk0vk MrGP!A(`\VDJ],\4B 0R!:3)ZZ [(/# U F֞hϢ8HW2(Pluڴ9Vsf KHn,&8S0`*CfHi8Ջ ^{*UUV_1깶l#7w3N\a^~#󙎉7LOn'a9?0nHp?.n~TSH;݅5y+Z%7["J.!HQVA)@AV:'L\Ui"6a_b6,L$s0 J۬ tN4 [;O֧g0x!R@Qz{L9lw[0. 5:c /=ppr#Y\5xԕ=P.+fm֎3ze hqQd@Ƌ$l^)ve j3^ck=1nhV]a vr1@ /wJD{VNAbt֚p6=a<9PvDOIKR%̫r$zp*VLeڔٹB![:٥8woO 9astT8HJɘ_6 Rjq3$חE6Tt*P㟤Ke OPBeLPծucSc,|Ҧs2T9cAL @%g(hyFwV;j)[fZіvp2UqSlۘP[+1w}[S{Pu{)ѝ޶|>'0'3lC]ß| U23tr26)+QtǴذ8` j% /R-^!j4= M~p_{|?<`\IJ29'fok.,vYlslovq-,1GiKoTu:kc4D:4ˁT&pfs @]&\%$,ĕTb )ՍD"E!G.'YA$)P8< V%AFHͤ! EDGk R.+$Q2m(.y@OQ `ӭ ξ`t2.?^s8BG14:n(0#?ongd"P9EH Ao(BP=?i<(4fT=S bݙSsǛw#Y2Oӏmץ3 *O2VC7B3Hs^Gm(:P 0PPt֘IӑBp(ndžTcT ,y)#Y}TT3Q\"H"*%Ħ(! mlK]h)c* Q]YtX#Y9q#cAx3eyu 3gqŎm]t/ e |^Q8-Tf|\/I0)Zee<(mmzy|wr&ieb4P ?Ɵ Db '۷xTBݢEӂ^3< ;< tZiSJS]5>B'k[O24i)}JF] jl]ӻ饶n߯{xL2Rz'K]]j;[j46yS)ΓZպkx6]=[Ha7Lr>b c63ݑ FRpK) cJ$lئ\6FD>΍ON;&`?QY?}u9{V+K-DŽ۶T%Q %(@Ș"~#h/w@; PPMiaZ q}jigY[)tO'Z;s]]2g̜/#TۙS, ฽b5m- t~:"ڡt*?kpknڱT89۴ =De[9KӸ#MBV$?'B`Kx9R'"#kg5GGLmmSX~SkO:%5_C K UCDDDD2Ud %.#1bt 36JkoIDDDj%29L܎[oh6ݏݺX q3RrUQP`7>VMUsȌw5-3+}uT[\K/h_nO3讚`B4:0/`!ɌIOpW r_cZse \*z)uZyt'ktRf f{䞦|[_xp;RdfcaY[j6@ `h^}HK FȆb{jZu{o.m'3Uqdޜ EUMYZBEiWd1>yKO رx6佁tl Ps:hR2c?n]n PC }~ԫT9E{C^= +We[rt#922Sv"Vg>JYLzSۻǑt%v~m{7 5Dz{e ؍I ; ..z:]*"fBn Y$e cUN鼉lobtכ Czs*$, L3Ќ3~x]75ec*~@翛9F[+w;lNH=gR;Y6/Ԙ޿C5g"䞂T[*>X\7f&dZtddD9  -Ir J XB"JND Y$DԩT>Șxq3Tnd *&pD&&Ċ:~vLq TrKs  ɸp=)pOggS#I2-+/%9?;;=CH9FG9A<;D?0ADHL2F=8=@>k8o |̿4c6R1@bO)mK KX>h*=Hbƴa'B{UI½󳾖yOy| ĕ}"TqJU;$Din#2JGh ;jRjIAȢΤ}"X$QQ1- " b,`#nR=)TC.5,q\̨rw$ "O3Ix UH! X,'5XZ mzQdr﷙.J4\М|wړ@B.t PaRx~P1׮K92*SJމ+;"#J䭼Ypid:S%)Y#dDʓE9xF\Fw96$cʱ;Hw|7 IxhZbxʣbkgChܬz'F|q@s1&ɀcXsItnJ/N \tbU\[սAGJ6$tA#bV fqwTw_ Jf𲼴ehK>~P}b;?OI?SRADh{k[oL:e#KA&2cjtSl6P2,/1Wǐլ/.@ۤB\P 2s)+j<{N?QO";+}s-n+%*(|$X=&e5Y2lOr Eur)Jby÷ w#{leslF90`0 2.j)c}Q׊t-cokntJqtY32;vc|B)XC 8D.4w~}Iuh\\zo-ɩJdoy3s}3f_n7Ҹ T!3&y@o }pзf^F…A S7ز<ɪm;T6L rº(Su U)mWz rjQͮ3ޛMeԅBD׹UP" wӲf\c: w(tXǝ o` F.ylk< %iJf(JwDƆs {rd~K]p0wR\e1.Bwo'2c| ,:K!5ݛƸ׆`~$+ I@6-+v\s,ݖV2P ޑWgĽϦr3-%L A&x@"4~瞟/vy9h:J)S*^"`=pI}+#4F5Ǽiӛ۾Qz-jɄXoq4lDiYi®芝wY}]AUH|ٍ)Jenaõn9K2 **$ѐ)JK2Ie#)\/x`hzL97\A`U-Wr2J3;NA L( /EAQ^70IY~_;_QsbHSV[ۼCm'ϙ4޴.MG9L*F}0']S{(ʽ~|lwzG3rkM:6"NctܓXpq}S 4_ٷѫZN Rn29ef:ԕrDr#fI2!r"085pzDc"U1eTle486ʩsYU,˟1'[(.;P0S6[ {O?oj6\fZl<[z&}Nyuj1ŜQLOA0޴6l\͑K)n"B@a  P21IJA 0hF E$>-Xp#讚cJ aDS@waUpkxm,vkk`Fˈ/F6Bĵ8Kɦp  33"_1:ٯ?ˊ }ddtFԴذKאpNI{C!h/5tNoqӴ1dm/G/(ztK?z~晇5Fn={(VKW)G﹙Ϸ䳙M5UVyTܨSQ5eOw)3ω..2rPLf24e#.%Q6zbF Y;xRBPxiDu(hUÙyH[Rc1KGRmsl75kN34n͘GnPPHlΊX%#>h1Ɗ ?ךT-#0#\Ye1pb؍#AXq  W ;w8QVݸٹ-KoVV)θd  ^cD]ГT0tɟD@AC?@CB9y*vKr D$l&Q䭗oOy@dSme2>Ě=,Fjo1q˂ HܴB " 44(##HB%tZTrE&2GE$.^2IBAQ862FTQ\A%D&MDAbWB#ԉ2dECE1*1C28@4c${`  G:*Rgڰ1̰ݏq^s00B%e'f./@ 2N`Y'9k^M)2w5́g/d3jiӢ%VҥG%從bdd^s$*J3",*&B2T!̌b\P,3a᫄[!ʄ+&D@@3ã dJ).Z1Ƞ>qn"*@`@eSdl#$r1,IJi,O2x!Jt=#h Z O?2م!X$zaxvzgvo%5s%2eo޿bp}0qZ񉲯#]ΕN 5:ȮR ȌjY(R,PMQ$e լD"8RBf@T2J PIRRE1 մH2sDVNV( èA!JxpYj29%Kn te/=VDUVk*qsS;NbK 7K=20N4Ls5=/@)`ҐJsz@B=kW=E xS5M$ZzOy'2%7HdZfJΜn@GddK2HQ =YeeG|K1R1H9Fn%,n֋ _) e@$d^$/Gf)D Qr!,Q{` $6^ <=^K7$JZG *2,q"'nד4?63gep[7J6wa6 3 *C@"^ UA"g)=$@\U)S3L+N>DoUf7ˎbj%zj6::AF]D"c\:P9"1"7dH UrAfT^K2 Hx; cE]ޛ-hRTD*DF(T7b)e$]ܞU FVa]99)RMO ,4uĜ\Vg7dM ŒSm 0`d) ^.͊FBohB!%b,f fKERScV>?~z|'7ub5kdC FTULLb Փ]ܾQOi2Ώ̛7ku*(!+X3d(elfF 2+T2ebD@ F ^<K<׌ʥ˔lxMJMN"D>Xn݄.lǫaF7Hxxvn .@ gc3ފkiS\(ГT(vy_64+  Ĺ@WD'b$ L)3S#lNxh*ub\/N98<֬+cS6?cI\S'L6'V5*w3("S`[@3uFCǷ >" .3DQFvwg#:z*)tFTdžRq ŀ&2JKJ؄}6=#_BVLlcMf-ۏOn5VrnsL=C Ԓ$=_"mIZ<`X!~HYF+"SDPl[i]{F|^n }ŧP6vc2 B%԰1q{k^{94~|X X='vUEQ?.+oY.VrOmmrMީ$ }H _uSX;#z@^]WwYu ;TSn].fDZ XmT&%?^glDTVv586=}ľ-re݃ 6Eɰ޳ry/>a~48]b2[2FOOTbYRezm^ 15dޜ닰Z1/|Xq2\/kgo\u7enbgV6t-|.Ot+U5"G'͔ɰXffٍjݰ n{D*X' 8VUS(,(G3-/ƪU/u"4&?TDRټ1_ Se`WEdB#)BQ2;lz7z|JT؛Ջ zYgaQƫ(NfqEb;FŪ[zW9^mhft f4?Z.@"~%RՌ"#w\Mb7t&$~3 3Հ?6+V z3zeM5];}oՏ{2oXJƞ+ ?\Oe,Ceh7#} w6f"rWjYaZ !*[=}ƚlϐ,FO`50ٚȖ/It>SC0Оg\嬿ToHL{S-КyG5>MMZ ͧ*ִ=~sSڋ붎7KUkWE5uϮ+hZY y TOo!/U%e"MO [Փb1RS~n]{1nֶiZ *[u yv68~<.KHDž; ~.5zUnI9QiEk5*I?oz9XU ) u*YPhf;ɍ9KNob絭lmJԄ{: K'$<:Jj)|H⪻gL>s` *(kf 8WX^.|~'9oV Xx8=O~u <{&^{X+o~|x]^֊RϻxթV*Rut%= kBn&g-l~s,R_ٛaDgG--;Ve+= %DEՉ$SI!5Hh5vcmնʆ+5?&ti&"$| $NjR3Ql{1=SnobWg]׾ŏت3Ke|n>#Q?bVsxnڴ޺J;YK[Bk1Z)dU pMJo>w,d jo/fڵ,뚿Yrs M zm`"JeiczTΫ[wVFOZbFa- y6UHrnXp.H@d>PDYe.giL(U UMZ`ތX,Md(y"rЈxVTs=c7ۜCV+WޑώVB^ׯ( b1gar.{mX+^- (y.7P@ nI*- Ubb&(ֲ~i~o5߶M$&cb]@eBmH\T(jd;vor{C% İҋTsbPP^5DFY?asS ufTvgOggS@څ#I6?DDC?7799;CDA6>C@?>>EA>8>GEA;A=><:u[5[woW{*۷V޴'Rba\XDP*;Sm#2v\\dĮb,A|R(@$INv!BDd1BR(%!DD)$|KdFQdr"4t.Q, $$2)Up|alb NeN.9Bqyՠ 4\H5Tvaa9gNǸ>zC0^ oN xdD+R|~Eo(^R-QUEIdlBk/+Y?͋ۦ62걱פ*s^88{7jdNڧ=(6ZSILjY*9;Wl''2Q,{:WĔU+W TAS;()UqQ.bb%D.YIt9KaDH Ŵm 4`C8B3'.!$"Q._o={{mm϶*x]CnV9%݃ԜV"R>Dx}LwW/ۦd̒mkqaacUe'Ki\PVJ5'2SQcލeMAush^oٛ-wU,$ !-H+f֨v$Pv]t,1WDr^uOiWK굥{vkfr-',([UcYHP+u]{lߗKޢڲd 醬-+]"M`QiɍތI?\"g>?{NRo_;<ޜMVuSnMiS~TH͢RBWT(be{ue_k]SEUA%6}WXҩOYb (TW%Cc!1 &zڋ]3Z1.w%ǟ[gtY*H]xŸ;ERACٰޞvC~7Yz=[jz u`(łBTbس)kOgo֮J!DbRZ.pǯ)\"4n@@2365$%nRbRiZ5$m{& 1&|:z>=/wɭ)g>1#ъ=^~wfzK#"i #STJ!f%^+TFRj)+YҩLjq;IXJ9;}T'qJ'}rJjW/5q9[QdHB)0,?1SiDXd%,HX"<#9j\T!}H IfRw){Κ-9hx)f|0uGp{ Z-'zj)Oe+W(ҝf-Pr+y`7fMt: Lp;EW.ț:M^pcFQXs<\]@QB$3 UE.wPTtPͬvwL*g>dHJ4oC_UFPEdY.[RU s .oyCV\tA:d׳v:"~#&SlW '(J6c09mW"5UB"zƴa[i;drMQ[Q|ZpnbAyT3U 3PLg'M<m) X$c C]a2_bu^XMM$Q^(JQu5ۯ{{,rw \ e2+HovP`G%uwJ^-1-"J>6pinzi[ṃm3&@tS"k'h:I]*3`Ov/!ŝwmYzۛYïfgU Z5{{ʆ3عGB?䫋@{wu>Li!0WM$#oߟ0,A oF$]tݬyIwjߓb;ثNnJ|uIJ0M5=o7t(9M\j1Q-z#N>˜ ]bNi]*Nﺭf5 `]:4aPCWw #$[(\FT<fUˊLQFv\q9 o\)ɸtO)ix.53(²vMk/ n20y T~L3tpBOggS@ #IR#/9:B>=A6&#%#;GG.5==C?@^)VaT]>t6SIP ilv&QL~kވW!du__-^?0ۄg?oݴC M(pdZj ae\`r#E Jd,KYr'nK"%R  FZ-2A| )%o>"@ ו#Ju T]L k])YdR |HI) Erm FЃeiY/kYflN{ 6C e? ơQ"mV^̌Rf_Clev~vr2b\c:.pW7wmxQA*Uxw2cO":ŮՈK/ǝRG6LF'R5PQ-+ňd&Y R5Jev8Y|&Idʑ9Q].nF ai>#%q1ԙ0  Ij?kU@, z #Gc/@4?3bI[F26F"a)Ʌar#O!0 <:c0bGM~_ >qUvfDfud;3W W_7bG+C~{>&k-Q+zm1QlqY*thC6ڮ;ѳƶ`,"0it,p_$9DX!z"c.K]ms]_"^OƮ<<ҴuA Tw@aGO~?5[TP{c5.FA U㷏eg'1\W&HW` ɪ0=Bs5 .br=yi3mKτkt^VJ]V !< @>vq 4jE5,JQh~Ͻ'){om뽶NKf,,%d'`}!"NO[&LYCnfqOOvZdN]ݽӷ;apd\`W(iB56Y,d %@92LBq!33Z*%RRgR,F BB\qS(,Gv䎏B+Bt û Rsr"+2(u,-et]̍KPaM2:.JuCQ 7ϊu5G_xo`CAH K&sÒ|1#@43cz -mɗDԥOE95))$m#묳:ɓسdX˿~vj ]1 kUո=_juӛ랤\KuolJ%dˆ(J"-RDJd|EQɜD|3@(jU+cH$-WA R,'G /"E$!qmtAI#ѬȐSJM] m6R@ L ,"ǜ SN"a6at+Z f2VD/Yŝ!4 S*lql 84o01Yu3 NxK!U#OapMc(+yYut61`ɷ8kRG1)o|dx2@ IfUKd*j !SgNgMf%.^]ʊ9zxS{8""B4*-aR(@P3n*D -JD"q!2+(Gnҕ]VbFXlMM DCnbd'@ @ `v nj]afĴkGZ` L؂ ъNc9oIN,P9Jл[~V.i'ɠ@$\p' 8j2IVD@:ǔҷLבdy6Uv\i#@Qx|⠒P he }! X*Š`\dxM0UPJE4Y7̢|)ƛ DehbIW(w(VLc_J!`2mH %B ,(@PM$bE-:@gOdd^k`V4S2gF7V8fͪiw -̈CUr5(C_zT-TQRi̔qc@`/H&@2.'girƳ|0Nm /V*Uvko.TgK;n9~t4z|qHQc.RbP76dgKDSB/˭F?tlGwP8*^Φk·XЙQ &D$ RJdq2X-nm)IR.9'AÕMA^q.NFM ;hk8huZ\)ϲI^`<1F靤SIo2@۶׍cyn;n*=:r.WƟ̋2;nh\VPC΀.?p&e,͹L禩l(OR)Q~[{7mJ̫  `Uy78G|k E%O*=D4ﲎrB'vh0I-xsp3L;4ZYiPc"n"͙i6b,fۭ̔ u-}jwC!>o:cKM¯Oq>4|B=$*Һ̊2!g~~5࢖@/?!cw*C4.dAj:pj ⠒.C "NpE1aW§ D #PP& DIC=*tL$wȔ2 )܄Lj+ a陜9&zlF]F-\9woAan`9R2ϴR`B9$qpP^PV',6x7 e3&Q6uIj1;XJ6&.y~uLϏ[Q/0_k.~Hr9[~n|p q6H&m&BTɐ+|w_D WLȝJΐQ]qr.F1V% bz$HSA@(tH*\+GiF7$bfXZ=KOF #c߯n[Hk~8s EՆVqs %Ya3˕$XB`r۷iU䷼UDfeҗCInK ]+ʲC5\KN:TjsqhŞ4WJG ÝuWJq&TE V=t*&`РaKgXMBkZ=ָW}ek>*$(e3&~W6Id? vb96wnǚkkYX ]8i4tq9}°@aO !XXPPI{ :/S[؞m^J"ӿJPN(Z)OL#9q|w}@|˥P #!;(Zjk6/7NCwGNU,h"/{S*G J'Sa1iϿ&PիMFԹyHUEG n'.LwAr5{7jn E&yblyƖQ8Չ5 7ߴY$ TY{/,YG̿M췒'?+l&ɍ(Ѵ3`= hxD-%x*NvS'$F sK? /QC7tyOggS<#Iot%2;A&*tz.2%s%,Եt`+xBX۝fAlU,}-ۓ;~ݶXB+V que^Uj]*<ˁ2$ ,hue$~**FNeu1j;\ :.Q"L+9("$W߯|d̙rƦT߿-O?7ӢXM+=d8z'1l'7l) NtS|)l/3Vz>Ut; BFA2Kj:"(1^L<+ɓ@f%"̈bN!,+u1C IW)T dvLrr#sеD.a Vd$EÈ-ΌtpQ.*q0YNDV^)J 7efìu=AZ4bқ~u9Oz-&Q}{O#qhU ҨT!rBT tRBN2DBxXQp]IRxBYb&HʤD6A) HE 2F ТqSzohnΨd8+eP aW  "+pq@l@Kc~Y3l v4f=`4׿=o7ލ!FZȉ7rs;`^ BNMAXlYFt| ⑬p@Px1L"/޿Ee_ZXŊ_l?zp\CNcy5гx>d'ԑW|ZQ麮V+6%E';HR]2" An2H0-)*EAжFAk h}ʅ˨ ؔdlPsLdEV\ܐa#l0YHlC|8>M($bYk`=zk`#aXne8Č N%\P[`>\'!ǏxNSQ1)'3@tD7zJLecr:x!bqv69E(2S6A#B-g7(E =v?\>xGo@ iBqQ!6q=RrDB/@GWB5S)VHp0fCKQ9BAdtX K֫t Z u9Vj1]B&`}WB[@e1VUŀw>eczw`{`Aj40)p;HIÞ7^/VDƋ j|߯yYc:V^4ox^54fk_E)UۊFC<nN7g[\z^LWKC!m-">E3O:ںSōl2x-<lӱO-H'0NX*]E?kчKl:,8ȀƐ ͐jVgÈ'F}pZŊ$aJfQ-HK& T.$S'͂ HdF*\fCTS LyEFL-J^4vʟKA8ao lsob8g^Nfx@N/j5N*|-cԙreg8\old.EsB%b2fB;#}y{EA椫et'o3%8kÃŻ ܒ*UEMQ @#6^M%g|G9:@?BA#("@DB8;>B;C:;9CAZ/nZ%Xw3ޛ2;vCD ZE'LBegabg(b~OOU h kH\`f̔}q%c:?^u~XG >R h5\a;|n^ǻ'a2K`v3F<겡)f@L\r )r 2&n:72Tj_j+ $EEC_); cZaQ3M608JAQq!{KRvA-=P0DwUfPUssh"; s4jC@mTN]"ilotCt-^⧷|2] ?UoM*b%w^2ƶc.luVu]pf*tFP3ݎc ~{0D̕Aݲe^{5R3<DLU$lb# (Vӝ(Tl^>eNī衳B_t\\'VZ]'qR ~T*(|*xU3h36wVM*]` l* yk,,;oQxF2mYs Jڸ{uR9~~ H^ѻƿR  oUٌ,so?~qMqy9bOAnv |ZZUjr+g(ln !22.D*bf!TPbt Q̈B<". Es( " Ig!#ͤ$`H.CR؈c&#\` peS0*DXU#9( SBzW:tΐyʣ c-`L<ݳ7G{^  >C%E]O%Vc)HOba,cuE%+odT$Q*SW4<)mCl]W,A-r R4D?#m1E[覒2B\RwFG$Dˈ,dxR$!C .C@dL  hH^$,TGDq%i/ "5K@2],$%]*:rUVbh \ݰt'$`zVcp/ɷ `kcL` 1Yh)p=/@:>Qbb\/HVBH-C"hfuD<%>n!Eq)H"J XAQR,zR*2s1BPDL* LfD夕HL,b`M% QuJp{&~BvFDTx IJ%ul:hs3[!&PgZ<f V)asܾ 4L =9(B*-Y{@B@=m嶵TY<_g{<6S"uK]D*!WMo!HcΚ̉?%\tkl]~pF1A^dȂ "HKJ)2>#@$@ H)RSy92茪8]+VNgBqC\qY.Eu"+},d\!2."Ҷ +CwNu ĉ{o77m^guf-o7۞+n2q]07f$3̇DR˞K/>^C!jh֏ 2DTr{h?TŶuD2#Au<d" i,ݝk2쿼wsbeJ&[ݚo\f>\VG\bcNݹ"¶{>V5 ,giah*Q}4Cc&UCthq]b_wJFDDRj֬^~o&l"9G<M/OŞjX(~bF2ۑ{j-kÞ=|ʍ pLd ~LnmꞼר", W,(2=-TuENm/zDWǻzIHVnlGEh~~K#/Ih ,xU̬䗭PtYj;ho8,Ulo_cOh켧&S6(,LxR3< 7U#WъA)_ڭk dUP R HSh DV,&/2"DV > +)`\YtBN#eT'Y@Ituoܰdԝ$ f#<ٽ0x K`R+ Z=˞XnwwkMV)cC*JCqS@3ز&y.v9~5*<MQʪ^zEW2pCwӁaMf6dؓTypDLD}=)"0=ȯҳQx|qr~ժ؜Fcl@4:ܱ.u RXT,ʃQl1="pAYRfp2$Q^FT9HؐL$YICV:d(ae6]::!skE5wKyu Y%וּ^%~7Bŗw+= ه7лoIPK.6j/c %Yez ]_v=H()3m'e f{B6-X@ ,(, (@f,~gꛫtdv7M[[9X-#No@?VI._(ާOIZ(6]\Ԏ{~}3EPӟ hǹR-X+BwcnTg"Ө'}{slc8mxB)_Sh=5&]'u;^Irt=OggS#Ix2GM:9FB<:7BHI4=;:::;AEC9=:AA><=CDCCAI?AGK/9=<;65hYա>E}^2l 5G+4" hYvs&y&1:!6 ݹ"ۍy1R]>˄k7MHYDRs>G4p)(Ý=IhVNbiDJ?Ǯ۬GK4ɘ`\n@e 矎q)i[ޫ e)Ko1=k|YGKԌS n\'0q2Ө'Ircg}}qt0*F^)v1Oɏm}&wsCjY9b3jRCN Fa"w dpf5#B `BYLbhT&鿁ӿHmU.jvuSO=PJN??˪zV$wH|3h J2C(B N\U3"کrMeisۦ TNM> VEm#lIDd5I6ZY,˙{{o۶YkYkT4@ :_@o|e迕iXQNoػ6&g>)aԈ;Ij!2RX@T8ƾg2G5W5 W0@'VJ1 ^Yt 9rKvR[ΰu6$.yjN{ˮJmܤk~КT_̎VܭCkKqՏV{f\Ya*"stRv:f.!ݞͦYǶm?^[/MݴXoHT2?5H_. dSp㲙*+dk k%a;:?3ϧL/fq&DolW4=#t|mT?hh#^Ҁ{VWTUeK ޴þ~c7Z 1"(d'ǂrrEj/ڨCU`=+CżQ,54bk7lr}0lZ OrFDXI Lw'N&*c՛ v=f\:EE吉@/-3w C+ͧDvd#(QqklDt:lz0HY=0@^htIRcI&ft{j-ZK{{={U 4.WJhieh ߻ dDe3ݯ!˟\}_lmu}kJmW|NpFVahUߟFM@6 1mOEo?fմ$1= y=w]o=k{w׽TNKS+,l#`Y.QeUfIml:/X,{ l.c> ԥ?L,/

[\fiDk}nToz|N 1?d2V`Ԓ ]rTvBmٶk77i b$:e*M@>/[EHp)mIg_HvG]mzmoMAnlV*?iue26tm@1d,{:ɸ^}=VMiS|{gM S?y cnYO)ُ ~57"S[2,Knu#V4U@o?%Oz R]F5!߻Rͪ{NlV{VAb:jWb}@ǩ(:)_Tt6/-ݲ6eWPN3ЉvsFvAj*WP7 jmìromtBO?R v9R gJּr5ZkZC{Zk״k\.; S[/b-M; ׏ѳųYLwR< Jv3c-Z2zx>R!8{s8P<l,\$^Qv=٦x};}kɖ#?ڷuoOgߖW%s) Ei]FhrL4]l ҥEY猨>8Q+% 1 @!s]>3uu8"zbg3kfvgq6 ;g[Q1\軞sY># Qo>&uU~|.G,XuZ{~^5}h-,l[bvƂl0wl`Spk1|Nef3jѫϳrVD@OڀAF|3(Vfn ƳśU|?k+fzm 4=T%@M$l|f42hYTX3ܽZlrY_sz*k%(>cMkLOWzdcE͊jO{q[pW\f [u6be\ =hE5rDW\LޯOU93Mc6FF5duJZKL'eVK|?ȵuP/Tղ.3\,&Ybƶ]f &]ɳpŌ O|~H*@QY|1*>.E WPIũJ3CJƾx\!s{}*"g=g( M+gBCT3EM5x"'))Q7[XEi+})bf[ud *=)֪4K5 @IT3&T)({Y,NDdoztIߝ ]@9(2eTg;4.I Þ˿s-掚qqȘM/z77޽hڣi^v/3Fͥ> 2GM覵nh2ר3N{Uy}ز;Cۭu:kf =픍}|vhGb/ =yCnZ.73f![+wy^e߭?w7j6op> Ng7 Be4}#[ґh3T'yHnK1׭{\JгP=@W!+;d8: Fd9'bRe`&  l[pэd6e } .w Lp 7G[OG@k㞿M 5ȁ0ZFxXk 6 *mbLqVE>>*jۥC$S}&CAlB1X~B KU/I-)f3CDtax~WmLb h#~eJdz7+ؓй;Ht>5˩ PE@&,`ImVJuRxsnFi1Q[g썽 ymY[-5S n2Lʪm;d31& nwzy;ombhfʅBE<.wӶk=gQ7k":K<>.pܐ@i!קCIV $QsL?#~spsP~}zӖs-i[r_?rrsܽp=-`CikXSreg- ۔Rl銫dPH2XpItʐ`\9 #qbs*(.1 eVOl*iK7P)IM5Wdd x{}A݋jR;2Ku &+zNդ4=s$Ϸ˺k2Y#sT~ft2~>,Pט u|&]?f8;fHɌ(poо4.~û^eaU7EF"HZez[SN[hu< 7o{BFFF J.r!Rȭn###OH:ƆL TT㇢ni ͠ˡ6rU̲I8d)ETp/ `qPJmWQ-Gn) )0so \Y[3)Ki;˦a-^/ 1f^{g v s Eؐq̛T\rV3,!bmnxWBA0]\2%/˲?];ة [Pj_qthRFs" +UN2NCj&iiJs^4VwH2xyCS@u#JD.gwZtyD6 JUUhӼJj-G0,Eb(Сy(\DE@8J%o"r | D-^&H^(#`k7&&e)NKRʢPSFK:Q\3.̤HHzJDrF">@\ 7M"/R @ڱ#ї[h4#P,5J32p T~JAB˖ =E wQqP55el?&~kG [8ڹ.x8ܷm~VIA)"gJ/?."{lw@[w_UY=6PE!~swST0YA"mX B:ddDrd d!tY9`b0]o(s\.VLrgK- .17'7ա°kw *v H3\Xь*Q-T'\E T_:U1?6mSH1+~"rZP77]bTw+n|KRlkП ?j@es(S6&!uiӻxy4?Ao^{zZUI>ڥuBhb^(j4٘ 6p%5FIJ(7z9Q3p~S2G؉֗$y%YꚺRs'BߞQT1U={{6R$T HAEظAѸK X( )hYPx\/2sVC!JrB)T9ae0h53dP ^ F[Ÿ&#ݘ () VZPfntA(}c+pF BS,P(0֙# DFQ$>8 >{p#`R5)s?R5_v;u[MwI\vnކqQuy>AtaТeETv󍈊[LXq`CTJjH}wq7"e$!BׁHLQUiXCDS"PRh#P:B|l\HTڛcIc’@OggS#I4jw&-<=EC*(N:BCC="(&9;@A39:7;?=#0Oj{J\#S=PI? eWr( Ӯٲ~L 3D^^dwE\YԹ ߽&%'vQj~jz}MkyߋzТהTB2M0#I6^`Q=ST=4yfZ:Vڵf/ z ] GZ&dJY(yo$a'/" d ЂU0F2 +"ʹH;X 28_>'S:-wZk?[^:g)#^KSTP7a?jťC<u >].J\>8hq9NAyu{b %_zwv-:t[ﱱπ|Wf\0/s/ns1Bx;y^̽l'Cuonp`P]@ŘH@`?u&*nȜJEIȰU< r ^ P6fV/5Y!Vsh+kuǾ{g$|@%\XַN1$rP+può߼lpRevQRg|禤Rvg=ޝ;~қ9ھCvP꼞MesΖug|3m[]cA'-@dnv&/q]+}tkL k\@@EDټBH*0{#s)X 2,XLRe%n_) Gnp35q /߬7#2O^վ%gt̳=ii]tA5{jsw "bٽcY.Wn>v7rQ=&6]ӿ]F .ߥי^ά >k=pG5ٽ{~iջcʻٮx궵uWz>ݹlZTe:b 3dN?C톛c+lɕVy mhhͦ!\BӚd 'nJZ*{߷օRVC}6mNsR&aŨ*)۝@3#h^ַg>^w:C7{u׶mԕm7J՞dמ22ut`3 U{t**t[ =|L]-^q{kO?e{1tJqtSЩSU1Y? 8V3cf)ֽ2ۛyfyʅB*-"6p2Om㟖^Ds"]5Uc*){Uy?qlIGӻ37wc 㨧O G4{_!C]xENE*(FfR؁hX Q($rIA$0Ղ& \R\DŽD*-{"ۋ+nT:3Cf ť•+>y⌎dDd,GHB&BjVJۢI싕%#Fg4J9COVYى{aNIQuyd1QcCʤqJI$P SPB%$$[@91ǐDMgA"A` +GA [_H)):CD*RQp`.N Ѡ܃J{?^`Lki {6;nK9t;J-:`8>3ww $KF)2ޯ?>;r yL4\ɃV#ɀPѰ@cwGZR(KblBQ:rcpQ1$5tD'HS 2ψ$(JTs0i'e劑PP@&2܈L*7W&N&RDgusb]uCoXȉ( r*ES|Ư*Hz pf^]k6pvlA7^Fּc0`;{^[`U=bS0a\ +hgw5I2̷gVjy ~=2~M^_ި/<+;LY"+6vOzwDrG*uF!"ǤZu U/ƘPU"5i%睻8{}6BT/ WK5e*1Rl$ CsMh+@j&"l#^ r:Kno.'[(FnT"d$dE'C7i &KE@4)$@ 9VW.ě3Cӌ;J^+A,! P!!/KBTٝcsm]ߞ##Y/N%9bx vli;]ISq.b֒ ٗL:9;L -KMIrcf$W om xk r5e NPHOggS1#IGF5%VRCqzy?]I>6Z4c»d۸Gl[˼DvX$*U̓ =zub |}Iuq}Jn+~آ\9tBDCS5Dj.B&$X}LiYyL)Lޗ}d~zA\K^2Zz2,MC]}[qӄ׬.t onLY(wwZ5^O3Dj^g 9aTIzhp7ۑ*6eyIL{,TL(<l\@ʠ8E\ZGwCHJ\R Wܕ2D7wtd{_v[ `3@kW%ۺa`̰^|l2*8>g ,VE'T˹mGܟ{z͔+[[1}^Ou8cqoMvi3s|/#!T2ea7"*6sEY!T Du/̌ TeJ _]:B^)Sn0B3xD9iX FtK[6E:x QI8 Áչ"'oVSQ >e\MmBhKWomӨ-zQr*;S-V_Mh(b gVkZ_wyaݏLOרXcfkkS kL>(tHufaeM_C=:bmj5+U`Pxʾ%0[6Վ+ l4Rcv* ^2ޅxU*WLIĮi9[(liMKOT,V_b/{nQfM*>IKQD@Q$,A" yWw叻0 .)%˼Ҿ3﩮PZI!"ܘ%ydsipO T;ޔ3ﷱ>nn5׻n/-r~Z97GLw)jښKH)AD1B3))*CLHDUL&̀"i#q{; 4ʢE!Sd,)#A\*r$Lp`QcCl#VQ!DulgQNFW' HMjߋu3s4O^sYZ }lc0k粚Pk`^{C\@^𳈂2{H T5Ltw|GjAz_(mY;fnRT,))ʐ"l1[T8ؐX2@$YR")M}]8bH)c IPrŸAD,Hˡ- B& p 3+i ըnEA. $#4ƢBP$$Rim(~~.?= fHeд2# GV\6눪8x]uQ}Wgj]\.@ Lq E@!81ˠ@!>dhKO@b` `[9nVL$fOHF 9r%Ƚ|*F:rO<}[5r?.!U !:6:s z+n՝YG+Ál8.$yCĸ "+>sʌU&L~/\wl4g'ٛ~Uֵ0XIaZ'MBg@H 1 { Jv bǺ/e0bc{㶷P.3R%! " VX T33$R&A)!źVВxb@dB uVT)J+F ]Y|4H(j\X mr gpAf͓Ywx5=i Wd.k0dg0rֈd.)a%pӪiy[׮vDy3UJZ@h*5tz8n%CݸuO)# Y`C.$d2 B^fR`D>8)cs);f"VDDTuYw+#r*"3Bf$cFdr!.#s dF)d"NĦ GܐTdbr$!*I,v-R@i!csaȀaͅq7h7ЂyOP}y/^W)k@cUf^'=Zqr55~z.VTsxasad$T^>9⢎z@"7-2%.D&yeRڐEnM&y_n,?QB!X=Oj{6[P,;H:";o*'rvg)Uc?lXK׻R<OggSV#Ih 96:86D??<@F@78;678?@;8CGGM;=;8:5FCFBDAAFDC?AE?HD89;79:AL >) XrpҊJ=B\""B)F1dɟ-Q\މgfx R],.zD qd0?bX@#%  \zԤg*)\$*UkzX]x&V <0ȣb@YSi:n&:ZLc 3MF9p *?5Rcn{fS._Ufi>}?:KZލ8-<+T{'] QC]?U0v JR) Ϸf?l8YRn,k&?|ZEg@S;܏en-Gkwloެx)S9n}+ƿIKj z>TL[̟Ic]}~"3U"y?:kE#W*UF j3lX iFh6msܤJMz/V z|}*5di(o^UW_}}g{ޒi{UUV5-rK)$ hn"?Xopzr|ښL3cOS_<׶ыen/KgkcaS5TH:SmDDT'fK"t#(FQJJn쉻͝]y}޻ewk1Z},dt'}&t/8؟>w6Us{CsL̎0-L`MUzsvwSf;Xڣa-[* ;j۷ d\BZ E!Ƽ.^l_D&.#+= V-2Ѧ] o:+l5d K=bGD]O 'W$s~s)l vߌܧ@//p@ HKNG$gy[,ڇFsZR f ML8Jdmr{aD_2,a+%k--PԘK?鐸K.t̏ɽmi*z>Xvʁd"i B57wNg\sjZyּ#mԗrH6ZZDDԱoxf*Jb5ED6ueo#{ʺ6X,M  wюJ #i&qbHٸT(缮{qr7.J~mL8N4_6utuρ-:I ʽ ժHe&T[{8^.0 J.!MV( x^]K[ E*+i(\fښmvn<&FSk)`mAofJ^1ތ:f(dT+yN^~ZSOVm]b%VLl;`=0ƑEc'~VXO]_ZVUl=[޾L͙eut)L8Fp5GynO wsl$Iv43Zbݻl{MEU]lc\@"7a]Y!w<*"m H tS-YP {A0t{vdoch1 ﲂmEe^=6z(SoJfVo->⬭O? ;q}{Fum=-V"_\Ï~`7mbI>(nۢ=R^44ڐ@GDAfF*22#RBGUiQ{Htf!ȐDՍKB d !!)BMAfDQ+>}HKƒ W)X\.`I~%Wr ).Sl] ؙ1iw͟IMlEM]eAna9SG._۳ѣVSġ="DH|*4]߹+&vC$II1p'b{yŇϚz5 K* 1#~ҵSߍS펦(S%eN.6s}UF"/2 )BDȋZHm"r(j 2Cd)mt `RIƞJ@*rE".8C6l{[@$nh"In$:R1cR<R@=iVK<@k! ke Hm4L؛=l\цa eaż Uu se%2 R( =A3g Y9Mc!- ao=9 qHeD0+cW dA(wڧafzعp7VKc4wG]S> GI |ܯՔ0ٳ:G5B\1 6R2DlN>0;q=Aq)%:`rmf񦬢v?Ɋ $m |<Onz5R[Fn"=KOnja=ܩas.x;?g]eTKjjbVS]D3z}Ͷm~V\=q-Ky6ʨڃNyc|L{57E f Kr{m^.7Ѡ <0u# %uX5/Ζ_Y^1e'?]ZwlSnZlg;K!{ʇ=$zcd;M)^6e^m[IeMb2 ú.*HvQlɾa]V7*T۪^k0u]MKi2|*c%Sv+Yd`$e[+O[['dڲXA%3٦XF{I,,`!:lSnID͠}sʬ{[kXkY &iqnQN>GD Qp I(Sí?fIZzȅuvUʆܟ6387 bSQ@xR@|DTJaqln9ڶ۽ٶ& YnoEs2R0JF jU桵QôPz>6;e}T`o=`^GQ]T1EDEtEcaIP8B{նV{fYrv;5tCd]y^jXh8-V!8{?unff?,,SM]56x7uY$ pǭZ ,:~,7lVQS*{lyUݫ952Em(moLc2srt=9]C`!\Z;y^_?K_z}CZFYjg[5¬료5&Ё1 uŊ^wqOVֶ6m*ʶѴnnR+SOP!S-(Wuz%Ի;0wN~sAj.mnW˸0=X4 c('d+sU%_gJ#ckfY۴\U魼#߼VPFW[0hr{州|[U]X[omI='8~;#1?|[('*OLNmx%;忬`' `ˈA0[=0=F_Q3앚=[YYZ^řCVy8ǀf0@2hGoUԯOmbbez9{EkUkI牭h=;GVS\) qS],ojVmԖHJYOggS@#IU[$(?E?BD957;:96=AD2&96??AB3&,(M wwk$[;mZd2w!ʥK-drظ{+kwOm^)q|, -@[Mz:W=XaT P0\j[Yk%v.zG;hQa<قl J/QX7jUe ~KKflk5˜rWUnW7״@gmGB0Oܒ繑JAb3s!ꪪȲ6l6(a5PWK.rpfV B)d:"キ 6u{Sݟu_r+Έ(eHǡ-Mcm8Y 'bJ%M*eJ:>4Dܱ0-=sWy'7K|2bb$lS>S .\M.v]ET)##WnŅݨV]EdIgdddSYA%Ib& f&72˳b\bA4&f (^ƶ]SVa> S! ?POYk]k[4$5,j(ť/~c-]S.Y"og^" )Hѡ3Z5,+XL*e٘jn)Bp92خI w HE\ |n5Q"ŝN" 03H=A t]8sk 4X3=аs4(zTZ"~/Cd5\lM% AFel3p0eՁP\T_E%IhYQQ)@İi1` ޔ'EcmY|hy#81c؆Y0qul| A!R!w{$ϛwf.R͐HccqV%l%^.` 7tUW&aF.ww5N\[לh )MCodÀA :1gr0~[;&~}GFbؤ 8頖b\u%cJe,+0̸}~\bή 㡮|sO4^З8T mV$ldAh^Q'BKD 4Fy~3w"TसĚ(&.rQ&TI&nPcRDP8zJG8 MR\b:Dp% H)+B|`o_y(ՂQ~z4d1q^tk`wo( BcZ5 ;b siQ8} XIfLve,1/yfZ},ly^|m{8.sqvJV3 lf'2g^w(g[rNq&(tJrWAbDH! ) p Wt2w6dNJʉՔ=L!|VaYSd/(C 2 s=dbN v),- `E_jЫz@طhrS,cASҹ+@4Jup)O[NeB&sq֔ AҨH Τ#ϋs<2 "&8' e|ZU\j#'BB,:3rs$bq4DunU g:8Ŋ9j(B{c~ۦ[Y>DN4Js)Bʦ M/ U,f1cT+nڼ=VT׍aعӮ+EaoþkG-|#,#+Bqo]=IP%޶~dfckfP孲;!*tV4HLsÕtxonkkMۦ&f1Ŝ, X*' Uzw]=Hyc zٮu\UcطӷΦyʶʯ)k-oy{}fƘX|HDMT<3ERE("2lg*jYI2Dd!2bJ1>CDAq"GhPLp8QiWō,[99W "K/ ̡r"SB FvHna,Nt&AJ'd.pPq6ee=˩& h3 DXz97hO-. ꌂ ^-H)!K>CՁ bLR%c*{:,f]Fr/}G]0oQuKMD2[N%S$&$QIERT rT:"M 5Mt! C$ fب(*GdLjqTn:-N9b|HH\Jľ(#]#e\rEN"Gy _⊶S/e 12f/J#`Y0ݨ!Tki ZŚlg1nFh^h 8 ~ܭLPy) V @![IBЈZ F48Fe!3r|̧nRDll:N5 "ݭ &BѨx*h^U2 ,tvV2<.+n4!|Fl`mDohhUU5,`b&MZ"hTF'ˊH&*Y =[r"L /WEDA4!:;њMuho/`m;Nh CsnzpH\RK VAm4^AZ=~ CcY {2v&uZbi-+grW[UudžkEԒ(yѪ{N"BNmh H _߆!(bP]y/)u9B<*%pжw Vh7TP̫+2}̃7_g;'ә3{>n卻4:H{ȤݸrOywoe޶M|%RH \.9XZ-V @ ؐZT(R1{"E$"qe'U+3I!{$U 1܂$ VY*,-e)I/!!(@HN=l9 `^6|~p6<.i:?SQiʠLSPbS ID? S`ތg%~n^ܽk'F+YJ9 -TU{9@,S])CD5}7_$9Te{Ki{*{UG.ln^ԛHSz]|UUW(2DٞɱHBA%2∣,, wy)+.F# (G(ɕd詆W )NjJ#Aƥ(Hs9r@q+ 6Ţ`3P\rrO}mۭҜj)`FyPZT%k]~r ܖV,BFa׳k[/ *-B;5:jI0ښ:gZ:Os2W޸E{8}.|l1FF&HBd2 GYw8v݌*\|ZT+J޽{nXޭzZ.Q+l+5_:N+*UgR+,vm6iYzw(}V.X(Y~5X UaT(p +eJ{ڷrHZyv\Kڇ(I ul&?.-~RU%'NWT%J_3Qc3mcyQ PݛrP؁~ US5Ă܊JF! gnC76Rw>h>Ǘ;ynz |z4=њ꤇-TT̩7r1Va9͖ ؊j w7HN;YPwC~ ]\ZA0Bƒmw9ͮkgSU,s>Iف0w;ۘ{4]?i79"^% @?Ъ4דTXȞ0hkI䢠(t2!ޛ1*kA 0 |oHf;>6w׷{n8bS4xWbߥPNՃaBZc öN^$]u'wf7hO\Oݝ,E+F،yHsfd  iY$C= В7~¨ m6B(vM޹^5?Y93<dp8- \aY]K>a w"V^#`GUۤfRSw6Ki*I_/C @GC:T, 9EO)TWUkKZٚNr36 ͠\ ,: ֧/)OzB%Znղۆ$Jq1Xޮ2kE ɚ([gJj/fhjZ BK̨iF' ,{ O.zLǴi92!韺Wƴ߾~/6ju $\4]'>{Zl~Ӳnc+c'YF)v߻JPjV2j{۶ N2/*(gǼ/yj2LG=k(f a~#{-cY{RZekJ>26 ^9鋞+Jp7ϦfTV {w]6>}MRgZ/hϞk2Όmi|$IYqZf4]ADڄLJsjgh7jy3~[#AN iEȱB*A&ϐI>D\؂BJT3`RRt1+ʧ B_Qj, E3nJͬb!CXTjqBnH*hz\\1 K36u)զ]z]܇`&mt ދRї ]NG8z`m;$̛yf6"d}{SX4edX#|Om zI*Ĕf̭G\1 PCE\{y,UVUґU ddM'. $A$q T$@qlt)c$]2(  ` *a7G  WVfqUƑZ 7Yea4٭\iM^@,& az^[?,)Ym(`x>j+H3Y $C7a! "jPTheNS:s]*W [J}y7"#]LtradJfгkMTn+Ps )>&UHd@"LnTAqh`xr,Pmb0ΨR ,PQކ}`C6>jXQ =D,0 L٭fF^nws`f1ZE7wrp~3c,Z>bik!AoH:̻߱0X;n)S2 Kjc<[gBڵ7wOH+cJ:O_h7=J߸Q-% %*j/t2tv%&PÙD$/"+BW .;0r+]ă7![!CZ*(4&rtq('DJXQ% 7UH[)9rU.bIkD{m&;v ^ej{z 8̲vuRtWbJmUs*J_ D\ݤXJMՌ|+?mmN{z]"_]t)F/Ƴw7k"-x]WZUݝS(}'bce !H\ω Ld.YMLpQ\D .7KBoLr"IB\ ΀\p–&q@JXakܫ{{WM(Hv#҃K\6$`;"9ۉYѬeԭH"P8`@oD9)X8="yTa&og+t_:{ob.qO{}؆it-}N$ [JTF(xIU)CSrYNT7mY]9بTD*UFШA殼7'$W"\I !^,;4N$l 28 ߜ9"P C"g[]1M'Z92nL 6B&Ygfn Dmo$-J3p0m*=H D l3=bȭwHތR [',+97q,<Zi9XXwE~цo>ε6|ޮx)uߡj4Ӥۺ\>Y=D*FF5DnF!lLQaمh.jEŨ\*D!""wc  n.R:6NW3 QY#n6f-Zd2kh;0߿ m4T@64.̾ 7I,RoK-'oS*RCYQtBL.D.<\o}Ċ- b(9 kQ_ԅ!"zlp v̓|\ 2AZ$x"~wĢFXO3T ;yUր7tEj%6JG-"eJs:Jmsݝ)$%\|sq[RН.9g=< z+qA% ZIKLdO$T%\FDdt5]26(Ļl6AL d@Kh"\GF[(uߗml6`]USL|>׹B:*NPd/@)S"ӎ`#&Ҥ5#De\e6i3-&[gZu΃ɀԗ5%R#Uا#Hw DRe3mem$sա>[vMn7v:_kW7wpeb̶4rd#V{*tkT+RQ\)"d*TLPȐE) ʒWL&3rN#G!yl!Y1M5p b Oxgmn3P T,ʤўI@ Xr^c,؈3!yYUxS@C@:jLI,Ӿo ?_./~\lOȮ=ηS5[ʖJQD2Tvl1*sdZ$)Ie) ed4!W"SD $+Cs!! AL9=tvvq F'Ý152#)!;鈟#{$8"++/H&S`f֧Јn{7*i-vӚAZ0 yA3^c!zC$OqTA e0M<;K2o/,LIKFie7-ÞRsw!_OJptŮZOǎ䛸% !ceuY8qrLfPSI<)D@"'R((€,\ rAEQ/Ȥ#qBUD(\`BF*rC 'YP:PCFXqXi+1 % [H\.-=Qa[}kfDmM{@qWS:{޾2{v`q7HszNGo 4t/Ć2W(;L+7rwG4Avǟ>]+gJ{k s}q*q3D~*i>NceAJXxbE2+hђ) F2CH"l(HD.I33:+̑""@!L!Y.$ۄdJ@GH`#z-)qo@Ddg=c69oXZ~Hˌ2b;՘xA99CaTʌ" 7ijKyBARTR2Zae^{=v~`kvXdsԫ:ɣsFZTef- i4]*n!Z@%)cO^B-#e䂕*<<)2(ɀdbn|Jldʊ *YD5&ՉjUh4:q嘂JtR פ+Β8R<^N zOggS#Iu1-;59BAAD6-:@?:B:<:@I8<@BEN/79;8=2@CB678B5h 9cyͺKEM4`@T(m07pD^]\'DF8fO1 ș)~54$T\[g鿶7UTb  ,, @1ꍜϱw*gTIRƥ nݳfXg1.4 YYyM?uRS ]Ɉ˔S *7Iv Et~cJ~aԇQ0vx?[jY&̟:ddUT"dQzsmئ:K<KJhtP ?T%"(i\ P6ͽkҏ&oev1d2Kr2*C@^241KoyD(\g9vqջm,[`T^ܺ I0kNॗb!\Mmކg=t6 ()$ _P,0Kw4HcO8%"wˤkŃ,kTo?P/rn k3 t8߯?:ke~{$ʮBמ|u<)EKtGd7eJ"ׂJ:ZWQʨFr3Ny@F#vI"#D^Fg\S(Gn""6gc|@6ƀq';1X\6Qd5mAIm"7b[~;{h=Bf G e{WKbΦGG#HV /xޑrW dԨ2 ޿_ZdR U& [i !|_*fGQSHVuTsOʏW.WV{֞RUk]j} WDmSubg cTO^mZ_1Җ9o~ \_w–Ē<& <REowF@#ۂK"Z,损ͯ赒PoLU3 ]$Nν'eѕ2lUnL5]s_x Q8'2)W4mx`=)M`u~22/bݞD77@74vwؾT w$iD̷ρ>'st={]LF{GӜ_zewΨt=҈"$HM}u޹Q ciLS>m2ӻRvt z#697,c& +nV̬36 0 tKc|mNHj,& t3Y8O f̴Twoa$N݆VaEՍZD>?rE[FQur;zHte_ʹl&Vks#hp1XC(Б.%Uw-ѮZ~ҀL : 4 o_ Wkӿ4VM˞h&3[yOeӟPV||b5*0NJBQ' J 0xy )z qMQZG~lb[{6O{)TF683:߱oP(*_1KuT3Cqcj73)0Ͳ ltaB ' @4ҍPl%H)m&2W2T0~7\W c T1 ;^>E=iNrDws&z zRd Ze1 baCNԍߚw5gKVUMMk{ojY bOm;i+rA6JT&S쑏J՗mryZ,ڦc=ƦlDW5&޷\\wsD-yp^{%DX@|ZF cq> *=R-o&7߅ֻ6zZ9P Uqބ:qi.H8 FkԓHQJffֿ?PϼmyO(|Q߲ YkyzB|/wtlv.S V涏kbuȃx`IcO%>wlS'h(LK;r_FT3brѲîiT 'DH)h'OHZ"R` SKh =hG5uf+8B2^ Q\pdnIdՋ{;DWfo|:^NΡ|i($l{b+9/Bh-s4P9Z̩;MD: ?uFC\'.Ծ4%6jZe3k:߫IfUڠc}XM6^JZCa+Q,w{Fwl2#ij%m zxGXRCLYilRGƮ`f`\[iȵ|Bj*ld_6j:dq|2bЍv{bìzQArճwd2ӿbv+1ld+8PXgJEdgۥ .jZdԜM߲,ojڮHV՗R[:n$ HqSi[.\&kZnOggS@@#IcL/>7A?=C887789?C?@AH/9=:>wR,zc>SRJj+WڻpլǺm&}V{}Iӽ:9 ww>wKd:>{s< F1ENE+Vdy]#Skk+htǮs: йWh -C\he?+ho/A^:kk޻fM=< 'OLOMf3:jȴG˦"b91"R+yo?ׯx&61TBkXZ Ŀ/ԷF۝H.5@fM@ğ3'P=a–-kuʬYؗlIfN,F{_MK8FN%&:\VSVU+ J' 3n玨 ?W'dL:;\mo]FeZxf;6a_,mXy)hG%,`^ 542N~زmloV%~׈QB2U;p)޷V^XŹx Y1383F{=K券tZ%BѭK\E[ ;-10|cv{*dfMxL/7 t2'LE2:cӱLY+.#8HύUc55 R&6U6wg)ʔV?dntǂ,t2Au'HUYGN.gDEx&j-m:mۛ@(Z#]ܒ@\aFzE-h˻Q˻}uw+Yflj}U|e=۷eTܳ{68s:9sɾM'b )0@3im\ YpB5UYq]Sgnbyl*ͽM!M9}/IrO^\|$(Ⱦ՜(A'B5tUH14,cm"m)6AЈe۹BڥUqJD1d.W@X KY| y 7{(`}Gy[Xl6p G\%Z,&11r*o3L&\]ۈxiᤈ21.Mr1qʌfvb@KWV$AM(ʵQgM\Ȟ O/hI*ts:P[a%L+$lϷi|d ՒLIatՒ_q[& LlhXZ:H u į+J.]uN"1ey3amkrnT榝N|QJVa _1E .r-f${ޫl#s۫PWW`Pex >k>;0Fp fiZŪh\SʴǻΚӻqk.'F=ˬg Zɟf[`1&WT-G ʼn\OqĵnƖɺ9<-eh?cb%בq-E⻐)Iۭ w3V/Txٕ|ٞ3PKW zYH.b] 2#R!STIykeP{mpͩן=Z;o{7?H osov^ \r)2pט!.d:vin]E(hd^1#vwkW$:3TR CUErަdHfdQz_e7sƥčP܎Tрhn\39Ǎ򖸰i"ZC}i@[x;T`&o_fXo!<5L2p`6l5_Lb]=v "7$/;*i_YX(N %J2+%yoV7w:_N9>=oUL N gw.3'*-a{j)]rjO! i&/Dd6.E5XF&QH5E@EP@wQ$ u&;̉ _ ըb@X72M A$ D9:'-3&I=@Zvoī5  ޔ|"x &7YcC+`@!(r /Z5j[ l>Ů9 <Նk 4xdH=/l:{1T1,ƣ]E)TQ%,<*M骢DTTQHI'9Zm\n)WTJOD)U3j+ $Rfέ9b v# ^=g##Iꕅd?(hrl0< I䷺_?`TZ,-ֆJf':aM(069V<8rFgI|^j4* Ln{KRҫj_2frLJP4d$R$>V!Ʒ_Qi$6q]})R3jטy(u/Yj ehIU6]e\fNRR5)2EPOv wbdlbi>T02FRNaonH/ii39.bbokvV{MiKm6#fLNt!s* 2خ _(DGXCH!b(bnZټh֬|^Fz'D<)ptQ <EFjD{SZ;]wwysdT>U6RyPLУ ;/XHho\1 T91p}_vt L-ꤪQXvPbe@"箳N(@x366R{k|p}L-NLvs_%3#;kDkN f-vB4Ed0#BFB$Rdg)#ĭb R 0xiE#0AFFe ʊb"EYY86RV rc9@dECՊ*r".%DP+Q ' si^a骐1aZ22-&gmluqǏr\C%wA9q~mM^0MC^Cߐ $a mY5t0Xj+L2[ADweQ(EuZʙJN*#"uNɤRDU1DQXB4Qpk0! 1@HDML #esiN9tM "DFRfeGfrHn;)T7kC9D-tWnJ 1k J, sbzfv`25͞ŰH0 i L6jیM8~\MC"z_sWfm!=I>sbS@ ,UK@PODecsszi{>[7SZ߭;744Ѝx9ݍʺJFsPQj*dhn$ׇ)turH p*gʂLwpI-àU76plLa™{2TS)#ʥB*A|l$ܐWH"BF @)6v 1[iŴ-̬3԰>N F2 0OggS@r#I`#' 5F@67A:F?7/69B@9CF.~B$g]f{&Vb-ƾc}lɘޯĊ:tv7ΧYj߾GGQhEݻanX I۫(wIL *5DBFV2r3#K:pPQχV- 8oE,p eLd}5й}08fd$ R[`ج]%ęJXA۴i~ya`Ƽ6̈F1kiNu  MbN@_{[RWm 5N5 @ 05Ueڭ?7SK5k@?ңQqD4y-m2rj@TݳLf2VmQ\PD@e@ARa)t@rI5@P $(UaK"Xh|`Hh гEF/b O] ydW,$p gOq4Jf5bG&%3p{擳w**ei}4u^Q (5@=>*X L)eGh?w޸xABr}W^u:?5lo/HG,lRxQY}FĐυEDTzPRcAB;x _T7CIqt"X. JI"ȌL9dA<AB^X@{Fcp2n,,r]#7*OHZEAM:Lާ'V N*[Ώ}t?7DNqn X opHB_VZ:]6Zkft걿 oN2T5/ g`Q,_ζsNwxٚt:g\R!BA5@.RTQ[rd fd2ZmcC־҆]^vZz>.#MhCEr .bm}邴dfJRd!Ntje'МWc>>k#6hwU8 ll.{np33yЙ 3)fEN9|7{ox$&^h_RMS1s?}JN?{8Q K}͞q =2/SSAIwn:%弽鐷M*ƍtQ-+-r {3H1ȈICi GD(tF$3d"" $ɐhDWDF+eȽ^e 0@JA.ȂG!QT #Ura)(=BYZǣ1,i5X(Ҥ-f{fn=;^C? (hW҄|Qb֖.D|.eծ{(Q"Rݬ~$c;w|RKt;lM9&Zx^*)gG<c)mAΎgtvL*O~0t?v3ڋ?_,Zu"۞f^þ${ڨw@{7]lB67[\֌ QQO%4]U{̞68>{ڶ CXJz\WKr* !f v )hkHǒLp|'QUeeJ Cs'Dmdl!9Nm]}*Y{]Qx~89F6Lc֒S7J %GD鮷yw]+]}i-b[9[_OϞFݽ/XL)gwLnO}4ӽ65ԪWv>%n\YѕG Lǹe*lZiJPi4(F7sڙ. ~뼝Me@X DR5Zß86Ih @eeVfrI,OS<>= )S5qعMѴozCc*흸-Ѐ{S@i!d qWMDeԢL=θ&{ϛ@]ܬ-||ivi*l۴=Vg+Ju^i!Tx|fܟ5U5yOQn>D[PUz=zt?`F!M< /7yA7 $/b[ @@3u>L]3on}>RZ$wݵʥxܫYD5v <@WKg4%Mir jP-XLpYhbsd}g.^jF0F_S_)ΌPLh}V+ 2te [@zdiakGK>ٷ%jxb3__80 fln,rXf!)x0o3E \:g],U|[ZoAIbذ$:|lk9~gp1yVS-DVzrU~odܞ[%s B?o+Kވ?(B.cށ(x5LMheDx~W ب`M [㰤;gct_?k? r"jt5HW/$FE[sY.TC)!$ddAbD("uLa) 5Q,T8(dXxdFgS$ Db\F22DJh(&& E@xF=a n!e ,T\} lX=) #lmhrc-Q'a<7YAj]r9 Ly>ISqV˹2Xari8Cρ j 1of2KBfjG_Pe9j;%N*xo:㻦Rl{!#o=2 j$.RFbdfJDC)R ;# @d R˂\)")dHRîIN@Vlq,b%CHaf*g 9<,K_ ? :^G]LBuFC1GܢAX eܶwKea-[asΥy B wȦ^\s%) 3Fgܳd!8H;K" \lf1L+_4m?xl$>ڶe҉޳-nfQjQzoBSD_&%M"P"()P]Q(G ,RťIhq59J"pRhҹr\'T\RMTK) -x)j0.q ༬y_ZXM a4; `crhd&4-+Kt:!*5 t_ tSfCX! u$U5Jʴ{;t57 :q62g~NjȱbhE5Q HDJ=]w/M$#4#%2+IAƦ2q ŐZ2 4YZ)eH*$qwl$bY$ xҪx@\M  ⵧIFk,;F+OggS#I%+/:::<8>9E@->:=8A;=A?L/1;;C??C9wW cfp& 0@`X tNhRB@]k Qr9,WLκgK]{軩yԶd{'BdT݂4#*9RؙHi\tl5JAhSAE2*E %3\P(8Y@8 %V-JrCĄD'oU2ֈ@Ynȵ@7ŀFA7x< ɰπa! @PRo*-11b'+7sj3|35Q:uc2C*8 0T8:+ؔ +.5m Rf3,d^^c;GN|ɻZŰZo$1ķ_ͪNu$\HǐL p9i7ukIoAWu`ReX q MQܻeF aET}+/S-r8dBaė,`36N41j={ Ze/ւG>m6$LB,ZaP= CK*ћE2)e)uaFtB㛃hڜ-U·k.Q$ vzռ1ݎkfIrd"#EɊ5mL j lzk!rgbjJ}6nsf]=fM|Nh:YanWj +߮ @ A'îDATBkfdfsu]bo{m{#b6Eh2R)FMa)-GAYLm(tJ2ld'bBfar;%3 {Ȳ)V楑.Ahӳ{+뭻2lds25c̔"n\?Zn)f=osiwqo3}%%9O'~"q HMų%7$.3cevri Jp"Cu2"c@z/ Q,#Mf.ReBg!ASnuSW"`4D%vV10 pLH@4LD!E8Ni@!W2Vd^e /PSLs\o&`@p'x-Ċk6͹SHuF9TMxm$y.Y9G{ؚcGkK;_qa_r6UNٖPg3Bx8*3˙xdqҘs/|VHbT}+{Voig~ЭW 3ʁj$p1W;)Uձw) 'j*}l ]O "KXZj)KC}gtQ&sQQ:#RMd2+6X. ڊaf)Tx'olhy$}++ɌbD=E-Bc JKaÊU͖ܒꂡвw-0 jx8Zr.c|֙Fk)vuЭr)|Aqq1LfŴ)XR(j17 !]<{\,̦f{SZ,"/Wd{9 "ČHOLZG]]YQ,(ݴWӾM!yRxu)B"?*p[ oy{,!jȂ(BgDALVfCvlVu?ܬ!*[ܢHIך3 U8 o*fF%*Ts#{Lejod4V7v 9ƍ'=;Ga!}3I6Ca"" 3=kݝ=f &s-P#V{[xt)2*b!BՓˮc]OV"O8R"qEMjj:ѐRt:hOLL"?rIf]ٜum7fm=!YI\seOɌŔTMO)c @JfPUM1^*YحQa0bfƐS,tD; R8FȌwi)@dňNQA,D/3dDT,Du-TGVlhEA4JB #$y(47" `¬pr((`[̚fv/N^{‰&&.H(WCo^Ozw "]h$I2)˲1]|p缺~ U>e. J;BJGB 5т, bS!!"#"*E!+T GTQBLBqCf$+Wv%H,` Մ!24#ǂP./XI(q>BKQM۸T8׼T;9<>B?>0@8@AB88DCDH8B8;96Km0n ̶qٍ tS`vƜ6)S*Q:5dIIsw]ZY0sĔRM^-<('6SFzuoˎadtWAaL.MNy/-RA,ɦXUbdD(ɸ od̠ jؘ@3H: |ƃD( "xRDFf$:ܐ fIƻ]J "ɈDè\s6N\*đSBV2R8roU%}N[N0 .)1zB=6C ͂0i2sp0DʚC)D"Ls%A-*Hz bYȈb찈tdd5$dI0N< 2,˙U>r}E)Pk1ttŰ1Tu="QGC?(I)*#$v,d#@AfRZ\u6/<#-*\j1 6@LMj@,nl`f3LaZmUvWD\=pJD E})3bnWȈ,WFb9dd'>#e7[TtZ$`1I\Q^$OeP+!2#5_mܜNU-4׻ƤJ@Y1Q*hۮMɍ/΂q54N,>68T:?缯*kEa2'$Q'1J((d/-m٬5 L≯(C HVw|oע*bvZaTW*JTus.˚{ѝ.z-F*Xz' ( "fՇ%@$33Ue䭗ZM^J߶-]mgka iPHt Mq$#KŅJ" 1BJ3,LumVnG@K\re"&BUq -t$#AJOtF"8f';HQdqsHTe ā'G X%!*x4Bv/DKg2|uo4VohK=4Fdz Ȥ*9 H8-)CtC?PDNrܕoIjB(@fJ?8֞ }=KmwA]\ԗ5M]2H\5S76؊7?a)n!-uwʩ;f8=* Jo-t(TMȝBoI" qQ͈RBP d(uqXIH$ؐD >Ʈޡj`blJ@FYJ.wDL <{7` afa%\n9*nl-J=p,~xX,"aAǺl8qX>k#Ü䗡4i%2ӆkFеmս`<"_*àuzYUБ5yWPv5l iZ.ZgiD(wYo@ *Z\Y"Mym%cAJqƬɾ42_ iX"݃EUa`l=3UUEtfJ ʦY[K!5y".l43RVј\|9et.IDlFNJE_oUT'v$2 ։/M}-q˥2$RT@$Չeˆ_%CkVF(&R<ؼq?Űp1f&|)Ug3"Km#ekIaYZ?|P2 ZZ!O)ؕ{_[Sd%?Zh<<>a$N?waQo}XDTv,w$ rtٽ\c4fkx; >/\ t5 @ 3SUեe`?ڻ8ׅU$ H`Zx3[ r$`hܸN84"r؆y*^,C)3Sz^!N1ݓevM{[䪘Yg}oz4JG+兑Ֆh} cdb2cXNfVuTI;P}Go'*eSgO)#vs|1Vx.>?E!UuaoHE&dzCL~ujU;4iy;Ws18/ڿ'tۮ!/rp&`| 3sc" Hz\6L"j滏\^13 f~Ae^_mh;bu?VG5ӇִofF^ <&;|,nkWEFYE7Ks1FըZ׿sT.^̒nCՏs0>hUn\t=}:1=K^[=NDMff[ܳD.5цSbZ`u61س6~gޙgKx=I [80f3)$HlDfuIA qUl7{,+/LޛSۦRkV:[ټyl_֞}զ 򜑋 ž`p\RܢfT2sm^{݆=ޛ"m沪 Ա U;T:=(@$򊆃xC0km򔋊`tP~ i$2^eڭk4M˴{="B uV } H̗9|zmtgwcm5 O(ӱQ'XiLV5Ec%v;Z-3DQjoֵ1}M7m JS(;%F d'Ɵק('>BT bb'RD7}+RSg[k4ѪHu!xq zbMD>CBRwO%a|ipW65btͷKW0}}^Rj fbGQ ^HB(fJHbB) 0ũDf A3HK_K rd%7 8  t` X3GT"BKd7CD-5BAXmYIzYf&.2iB`>=T0po.bC]t(rLʫE#+,vS )^tԳ=O./*3#R9)eZoW;<_}3~~T|l6tNGDE7?CFC7:78545FCHA%<79<:;=AC+ 1:9B@?A@7W:51/u?[ THL[qQ(+ޒx7YCQK5*NvY~ߞLubEֻ#d7|$)\R=ze;kRveMaɲUc>#0).,I*d`ʕt2䚭BwSV7mI'6%>QIZVA :Moq$V3ϼjM[kk<[n]u%&#3hdrL;|[ n]Z,xli.{o{olyk.fZd_죮>6d,7u*XL3矮+1bJFnV֚nۮo z[VAikF  '(xu;oÍ=7zdn򬙳j% =h[V|Yw,x>z_Lwsq֪n5jk֭@)#?PrbA\ϟcqJenbv4Y[;^/tMW0('Kx|ux" `bJVUm]ޫV6ՙ8+] Q20˚h` BGrFT"Xw&"kqdEzZemMz?I)m9Q 锂1}c_/QC7󖩧}/|x۶-2kyogWtRG܊1촌uQ75/9?,뮭m[2Km06S1v*"' %O|\FKr 5jn[1Vۓ.9[p-WMj¼?sY*fի nά=BLfMkMź ۆZ[4mz!]ز izh { ! ^p#lҳj>õR~^mgmk{cZUqڍm|X7 `!eIás]Cg?QJ{Zb[Y]~6U閼yWRyS}PxQ @'UIJP.|]i2d9'zk,k;,mU5V l%x)RX~ל*ds瞋?I^;w퀲jpeЧ5a |>$@'~tOWow>}12k^:5(\?x&S50͉3~YOMlnu7kP`S@]^H(H1gU}}_OOB^ Yz+ZxTKm;Y#Mτ7X_+G-CK -<(*@?}گ(H3AȭwD|?sf`Fj{7U0,~r. _uV/T5/6vC*$z*eB 0a)x`|ƇO+En&%08R-~Y( B!""*moキ\lFuK|akn%6jq7tܭ eGyQ_UXb AZr!ͮ޽Z3]uML[:"[I:QWn+9oQG `W Q@Psŭn ؘ=&sm[e(D>'X zkVS~g~YTG.2LRb?7$}Vo. :eeɌM[׊Hl!3N*0{c40`3SڭOPHRl{r?Glu[ z2XTT&v.6J(W! E+ Y(lJreDZ]ԇĴ A BYH(HScI$<&KR(nW#rd(o#"EFv-f`lʡ$ҦbA-xt^0ˇ.+-:d9҂pnx6+aH@c1[/ӇТC,sW`'*Bl^)ι=HFTz7e-Ŕ?)8YՊ>$ 1Ȁ0qA,MWQ!\N(lkV{K%lRL& *9-  IO CHdyR~n0=,M!آ;hܱ D@$hjòPHb8eٛ`(CIMl7=̟' Qn1kB xL|sF*Lz"T6r 2*ɱZ򨙷},X t@& v)X| k$וr [ʰao"ۊmrL#y)L0PG=0ׄPcP~QȢ"B%r{|u_'dֻPk| ٚcEƜB>нٞoT+ $[[4(Fbk;{{50ΌłB-dBaُ"ACm})EC;,m YD4o8kZ8^szlFiNm Kgb ȫyZqqY2S(e%yke@rZ[ ]{z5gݟOI|7}sLkKK `Bmʩ?ޫKGjдMTÞ$ . RL,V`@W'2WqS T)In~mbyHrC!$LSz 3)Ji6[('DJۚ:ȒwߛkM.pm2sc3)Y n?~M/iRIr7i/psn qj `q(jT2+YxI۷-{`I[L";SC3>7cm&t<4{QRб7qQ$ EzH1S"cDDjDHrJbd@H8QESg"Rp4a|DY ʍ@A.LC9!"` `3} !,(06+ylN[f_7(v9N&P5=?-W2Y6"Iߚ3ᶼ;}_mGZd2CF;#[n? )'e͠&j'@)K& CUE5E貲r!"ʆLQBt)e25$lD_.!01GnP ęlQ  Tr,*, VNfxf mjfڄQo#*D5J%ՅdP_0U*Dgg\u G5sxC~cU$ #s-VAcQ]y~ A3>!=n"3ku VE 2 %=ьLYx6 * +bimU7̮m7؜mF_,ڜaYzD ?sz5t$3e #ExOv쟵s4zO1b/aP#-|˴DfAV9V, )Ayәm׶j/mV<2s#$RdZo\5d iPkg:Uݵmhlfgqe|VB`JD̝7 ֨ DB҇h(dHSR2lAEZshl*ł +F"؎.zB(}lV%(̛JԌU$dѪLOwb 5ɺ.~l%0s ;US/veoD.P̨D%@*1r(r: 1ӢRd\(IK/ "ŵA 0S 2(pD,)\B I6$avCTv#St8 f-^Up UEuXp +0ÌOggS@-#I &/.09?59878EG>-@AG7^2M- *X2qFn%)f ]F>|-o\%E>| ${sȧ3U2fU~0y5"oamSzi'Vbޑ\"J!8-4"!DENAؤ"ȑY(vE!l^PÊ I]\"#d$#)NIM>pmLdg*RKW(,c2AbeX Yq4ɕ0a)bvk=4Hapwsonk]֙5R$h`޼r/)2~-<%6 T M%>CH`is@2K@o n>o1q6KAu"C@ëkh. N*DH.m#"(dFXyXȘ`19fwRy )4D JD[@ !TnqE$"CdqROD|JbZmR^+^Vl*%\m6@@$mJId$Y|@pNf[ nQ fuӌ,3㤵0v5m1cAǁ;((~:Uʓ9I0W*$9\(Theks+EQxW߷v|==NDZ<ʯ3=$v~8(h]zY 0MY2r]0*9)ggsp.bd!SDR!C z4T+71҆.D Z⸺ KGkȬtiJtB) MrroEA"81Vm&k=TIŒqŬi{=vks+XЭ6 CT!Apww#dY H P5Uf%o+\ۭX*lJ9۴zd]&0ё" P]'^gB5RXDU;AV"0ao"d@q H/8-(@J퇐T"\$ Zq U\1D0EKH%ؐ !L.15Vf[Xf9vxDdzMSP @tҨtbTFyp1@Ŀ6wXV:wJ1JݻxdfPd!Z2/ dwX#t©\NTQ;Qҙo-uk{#l /:F2+i]tXMƉ^<Y&8nSt\m!EDt"<.-Z=tMXjEc:%C;V,B3hb kjl$LneԌK\\Pcѕ0/OiPYuRw>Ϋڹw.j`U~j(bl~CNdoVDbe4YՔ2S6HEr@n8Ag2E_%2I7^!>e BwB".qŪ*"(D Š`(J7"h_ @랜jK!IM xІ(1٣t?F vy#JLӌ`FJě0d[@X5c#Eݸۯs$oC^.mj7R$U»;%$.nk:c/r3T E 8fSzsg:S}gUo,+!.U2d)dd: HF*HR,tUI"B ⢊$'.F1@ A(i7GA"qXr)tNh…% c Ak)LdZ.G7Bڐ Am[tb0}=L}xnos`sp .JQ8pALx.TDli܍!`o @Nd)IUzC]iQS\&in {3`/*K>Y6hRgl՟ ?ב:U"1zBJg{a\t' Ah j|Fz(WL\Fu+؍bL6-c_"B GC ?$}%J}?=T~(z\׶ڽ״j-{tJtH,#niU=@ 1R%Q5"ˡRf(^6g'v : }>Ax,| cet2yEXw<44:K( P@dHlp// @zgVYXkJl=;7S>j=CUT` #5`L9'28ixEY{@}W}^;ٜ[;ڜzj` juGלvj*Ϧr 04zoͭ_7=jлܚVg,Pa_}2#~C!fb`̻ec hIL`>0;Äq+2sg.8n"jפ>{9mHGXpf*"}nDmU+w1K]j0A( bf.QjTb1uq}28ݾs|\byˑvn]b9#q2 `SrxXGktk_<] "I& !&Yu6*3&.8g#%1q=󊮯sO=|g3p֗+vxzrs=it6qYjؖjy8iZ6ʰu M!7Nс@T(*1*P wtN'/)BeXQqB\!E[muݻ]ֶbB✘?4h 7jJ9ˊg%ڛ:Fi CBK]{oˆm.k-:}@Ra001@Eީ环xqdyϦjTu2@)-7Oĸﶛy}^Y".lY<4hՑyUg t"mQ.=(F$bGE(+J2JbI$Ea ŔZ FY)\ 2'J-t; Yl8QdH<(0L9K)Us+)N_na#mE4l֝ _0m*_Nzll`b`يNYh>m}q(>Hx]/$j`gaCEnY7!昲 ,j_7L'>G2A}>i5YGf@۷Sh6K9:.LTQIG^AdKr #Q%7HAPX4 Z 6(-ƕc"CNUSASĭ ZE2$Au:R AVN#Ґ&Q@-Ke%WrKR]V YPOggS_#IA7 )()+059:DG'9;8?=:7>IC6*D97AB=@Dk@/`iaClznʭ٥[齵?4ɭp܊CE^B]˾d6t_aR&-6vDdf)S& vud4W:seI8)~wɫBS"Yq(&up[*.fV2TpQ d+7Suo"T+`UDB'8$ddCJ@BQZ0H8@Vr*AddTllP0 㭟 ފ BY( B=VJ9 aDxv2QR~O = Lnzs E>4b,ZK^f(&!X2vXޫLeZY?aړLNq!ڮX2"Lcf*8EKtQ 02خ?B.abERR` $6J Ss1HEŢJ.r(&RBDM[+  $EM3=MD; EuDŽR 6kw|H֞ǖbY(~mfmY{3܍7l7,̰Teg3b<&kmdC") )$} $ߴՀgw'=YW>.{[JQöB;`fO{@FZmyy&qUƅ&%"RvY,Dl%"Df5s:#l%* J] EtFH'-")wlA7xp\MBDPHHYJ4 b-މZ !()f@@\ ~d Cmk-.8(6Խ@I'6FA%UȠcƕtpPxOf_~ Ov|a:^z*1\9eS撿woJ\/d"te(x.,0tq%SNY]ٕ-6)zF\FRC! *>yS"C,!'x, 1ZBР O4B#šȈ" GIKQPg(&bl%مULkw":|5E G]Z-͝:{nHý\TDb92"_An֖(Wc#ҠVIIA+\ 5"uŨ1p0I Klp $a':UGL)yг1ST#hd8θ(>QQ)]d*M6jd|B8OXw9lʊYPIc79F9iV h^X7̺ ]iJaY*p'hZ#@PMLV ob\9c￸&%k{H:-;5*%jVӛzE%ȳw/˦ٛm{xK91܆] ;،@C@ #ST5D1 {X $_Z!'"FpHqx(FZ adȲ}f -)tt"3HtOr!( 0'kZb<4r8/loZ?01fcQvaߚ  kA]=xW?H^1<)h(,{(=YUhwrK.Ċ#K3Z-u.t8lFJVCfeRR-E%)hܹLpogn/^4,S?>:RRFƍwvj˙_ݐrp=[FE#+T&XVէz)_<*q)r*渚=X*z4q!K@K'WeHYͻާɟKlԋQRʔʔڿ~CM$&'crs:Hr@!FϿBJ1WuxKլR<TZ]`6:+[ڰ!wMJ 2TʰI YBK}Q)#P()͓qtƿdd (e3 *9nj $ዤ ?KwR",D XȨN.7s@V8]k؞}}zOܠ78)RpKU63j&p%%x[?p"YXc̔{oWSj^C1I;SE=TL@K!5hMuxic U` E~_,T2."6#@EPC"%AVtFu!+'& ( &O`I2ņ Fǡ/M.;!ӕ(X,&cRl3c=Lн5K8۝==8 bS+Q4p<>Cos8M+  33ffJEU.ׇ9^)Si-O=NDuOO,8ܷ#[*ˊ25)""1u*0 Vz캈TAT#s$*s".p]MW xJD&WDq8Ŭq\q'RFnD\1U$SHͺaȰ u8%FDf =g+୅Sp`a">=p,˸@ZiMsNue6lRe-4l+9li< |LH+ h=j*u5t^1&l U~Ϯek iUe~Xhw^鍌Ŵzڹ WP)(A4BӂE5mz&X7T$/ʿ}K}ܕCm8Kӱէkcc9׳oPB{#tV@z4bۮJ!YXRDD"3#VNS"3e"#A"T'd)2鮋 !ȄEFB?7$fB9BLDeNxqΤ0@+ȉt5OeDҕgGʜ Q4ihtRyRg"@< [C7dP̗8VSj>*B2^8r& 5Z!93KU&cc@F.Ĩdj*alhWXV)D7S kx! TXqL$(ܛ8lT)(Tҩs 2,2r(VD؈NTVFUj!,e8wByfjw1l$-kam7C%p `>+(&9'@)W Hozv!",썊73fƔe8ݟs0Fn7F)`:;@C>^) c5 *(fuFszPbdE\2"2QMN')ȸr!st YAJŃEQ QL GTe$rRl\+U+gfc 1+Ȓ8e!\\mԖ F F[h(LGntj8@)cPHH%PfHO 2 .;7USFMĊ‹?>2Y{Yn 68ff-zTZFgO=dE(xeGKӢ5iXIʎ͊ɫLjF4@DH(UDnUG[tlCEL74G"_ބjt,@Ul&>__cȊVWsPT82d|NG[^>lt(өueU@1{2 n*2PHmڶvisnv0h ] sƲ s: ;+[.Bx_vMVyΥC9HnZΒlZ9VE6ȕ}3:*Cio*]ڶy+d4N(QP. ﷟ _KO+B-j7%DV1װݻ[{oiT"dD'ɂtP4Zh%dtF%ǖ\±? DJ]X&L^#PK!΁\k)eR1[,%G'TUL4ۓnWbꥤ/TFOȀA鋷cEuD~^)ªhb+e)WS!DF#UE.HM)s-ABVnBA@n- I&.$[ETŰY7D˜-ol(ؔ6AhP˙!ANJ[s.-wq;M/[;&bD\iٓOޯV>RY^}cKzf* WN5¢3ߊPt(- ܥ,tJhF|$"J/*H*Wb"s'[ zO:QQr1.=KiyXh%KE 01Sėgf^Tlޕܳl9s;tP. T}1)궍Q#+3zw|?;hn=L_Mfm|J%譕2*}hub=BX >% ]_;76%GMZngz\lG(008r5OTE `cqzGX pƬ,[xZ[2cũ)N}5>Ő-{htoGK3ݗbf2=T!(@c5i^ C;tAvX @]jZBp/vu8o%6sӯghKI(m1VELo>gӤs^ݝ/o?J7[w;=X"Vu ̷ri>5ĖӦf[EwxWq0v<^Tds$|뱅dC" |5V@@P@o_}JvfvOSL+ $rrMͿ&e@,j.Q8]لW>ՌD֑Њnyy4J-we9xI~ %2"b4qobͼX,b޽콵v{aDN_>ƢGe"X lοt-ﳯ}/~*]\k{Ouyo7eӵyoDr'Y6TFQ  [O(:NC ЈHAX,o2ڛ=ƺ=vMUtA"ueDi.B+>[^N~7s"9J5c2 ok5ٛ*kOxK%{b}IewL:s~?U\m5JU.F1#.RR̙d 1O"Yd!Y(d!JőDWHRg3\)<B 2(ElGȐB\$,Bxq.($iM;V]!dPT>5" 60W'BZOggS#Iy1;C78995FAC:9?@D?::AD>=AEG?DB,<9;==>GFCA178p{v[lH]WԼ6Xٞ!vcmdly[WQoV/zā9Х)d(\>u,,[:m(LM9$p'vk~I 벶goyX4L8ħ_R #t3AQTv'*b*+T\QVt7>薕Dd+E!  JDFʡRd\H9R1EP8b4XH  xPô 4" ^B^ͨ"ZW*BggŌSlOmUͲ굍R$:'GV k;h8 ?q[u ?{KAݻVm˶V}4kl LR O,"tb#9{jEx4K*mޖjؘoy4LɟٷI#\L2廔w^Je)@b}DJ:ٹ֋4d=6oso'D> [|WR 3Ha^C,{kTT6Cug&۴5o*hhV\&;h#tC~JQ?=3EMBߥPC\++\Yݱv֦m5F+ dJw"J%spIՏЦX@>ԦҞ_?:+ Yvڮznnҷ3LV -6:}$7#LMLm>3#+gk{ۛfM6I aBXDN¤| 5@l󍐲@-nNDL՘J]rKX|d4j[hw!jl[ASyO޺ǧs/sp{-wrm_{TUՀLbah4`Y}YE`V2"Iwn\0c<&jSI } !<2A,ݕ{3 /![{4mV_6ږk2,nBkJsE\ PMa~%F?ũL厢뽚l[M[Ɯ^+<7̀;uU%/-@`^1A6ܧk%]mթ"ZzkCo[-{/ml'ZmqDt>6 [ͫ(NZQDA0UN9,ڦ:=.kL>+WoRE,2%} {EBO~EdmCThkjou޺jL:3ER):`HIvS\3zj$ee΢|6m׹^LL:szyiKs)BҺgKٳq~ȋoe2Sڭ,E'\RW\1w5x*VJ~WӶ8ӥ]r)TH\".JJ)owd\JFnE 3Q\* dN!&Bո\Lr 75HH Ve "F"JJ -n'a#BM}? @Ϩ{}%u/<H],⽦sA=6W;/HC@l`]J w~R\J!dFFi☇60o.$t6v9PZ_v%I%Z[;+TH-{.Cϼ.{\6 q䪴 ZbBje0)C%qzwVW$7Ģ!}Ds/^Q`R+"rQyyŤS$; YJP.Z*/vFk1Wg_ܖW PcxL_"Z%!aY%&+}yfłunXVNѠjTOUe Qv ŕ2ūfYcmuJtV 6""19Lq@>Ɵ Ce,T뱍ѠjZb93߶7crkiuݪ=|V:>)SY.$B ?oo9D=u+Qb!7 7Y'ݼw7_h"] &2Jz?ClAiM'ClYJ! iQDesyK[彀n"kbCDZ-qI 9!<@Rq6ό@^7@Ԍ$@ke'iޛ[A3۲˃U+6;},z}\3tM{EN.Zm_kTxlN2TNy%Le~ !_ZWT]|TynȒ$p)B)RFȱ2JL*+2ϦbL ^*ԍ9-܈q { ]3(S (1'6+" f»>@M'Jos!s Y7^p4H&[L ʊ"scJ!e8M 𮗌ReV% s~9Ms*/H#W2۟ųVdc @WD(\.@H ゐ\v_}0$`)j#˰IPL$)E,HcȈ@ \J(V2,IP &2 DƍN Gs5R#eg$a02@d&s%']RcqNȍ}jCői^oiVٍ5(fDA- 6Ӄ3F|)Qd+h oli޷aF"If)[b1/z`O?RU#b%ӽɲ|f}hLJY-tⱻrmY 3?օf6P +G- (1LFBHTUhPKdBF$\S+.oO |z)en xO ) e8H lkH KxSpQ1z'M0o=l~h}3Lg<'$e|dCt:5K' ͧsIZЖNtƌB5+N(olOFGE>rc>H#l ֎HCۼr !Zɉ%Jj}OggS#I n>].BA5@I:'7):<:8=::;FE73;E?8::T(4@} W2O$ѳ~OX.Ljx<^ed۬ݒl`KW CPQ=럱LD?1PBt">Nܳfm[JYZgDZOtVF E(Ek2^J"x7f5W.?O+il*';B0]I~%V@/d5X,7V%i7Wm]w%Kk:Yd$_uYP'//$`2*!RmJ!Oe:; ؙĘ(E8 SԔRvh~U֙ZmX=}#}K랲` >m}\} 5y 3.r-nrJA2vPR@ZT-Ii#%č+"YOHe6h%ҒH$#B 'T)m)Մ"Ab MqpeG.]UsqKX< Ҹdtƹx8z~ڞe_&IM LV 2һ?g}Iy 3>Ƭ ?>ܭM}4!Z}Ce)6^ {KfL :{2ʟ,??RgzɩUZTBEȒPѴU$2Dd9l 2BaB(eH]b$@J2dT&a[R4a)dY8KFnʑ DLapY8E3+{dBQfg8Τp)N/ǎׂ@-a.݊`k hܻy4X=3ٜ8Mө~ͶW.G,wo檇-FÑ$c+@|@D6؛$yYuJ2=8Ml772=*I2 xhh=iA5ti6e.Ɛb1'w}M,*f]ؓVRuWI(\!*hT 3l+eD%3YV./ŨIv!3%Bpˤ4M'r'H9!n r7|zJu/lV4st! k`z 0l14z0KY'y\\Դ}w>}P( ~4o R!.L )\6ևs8J)Il{t{?n~nG\WYa Ϗ[e-Q{.( 枋9 լS eؐQJDF52&2B\Q (;dP))HT\P!ae-p`z)nde +`1'Bp|H`&2fD0h[&fȟ1 "%-t:̭nBS 8C:4B$,Rx2p͝?&im6 UʬBG{7Sye'NGo*֓10.ʲۯgd,=߾GkS 0 D(ofO&K!Bdd!"ފD qX$/% lfBΔ6$)w6^؀*E%.Pr3̮D!Q . 6$# ׍+7N/[F \kg|5]3|s&N1 ȍ)+ ǁ|N1i,e_TT]Mnv Qt :^;*[֬ekqc\"z$F}Hje_LB^#J)jA7yI6fvmiN5" 9Pٍ:7FbC"pH*W{-VɸfH)_OڦM[lfu…H(TG2ji7ם^!0F*GE! ָn\F#'d>9L:V^d/@}aj2(ՔM^5irǮ>;@9mR2SdY}Q_!oJ j%6Vl|[`Q T`w'I%KcƉTTEؒɟv#kD>F`bqA]XDZ霅Ql?-e!AT"{6t]kT=\WSjrQ$6Qum;=+7TZju*IƑ] VMv;Ѧf}~mG+Ò ۭ̔ u'g9|xjd4ט%Y8.o3)Ծ$ȍrF'ٝh"(IDK9(\fdADNJU(DF3"Bq! Hd‘#<džD";#;M|"B2q[!tUgT[ˤE,M&|$F3)4K O٧{=c586LD:.i I+I@%ҧ DDMElH_G\\3c5&ȿWxRl>nDo~K~;Ubgg O.IbXEj8M.tMj^Ww8.h|e8)GNa"YEQH 1)䓗?R"S HbcUSZ `tZCgDiR-pNb٪hbzswD0}o[02vCvv±Q%u=p09hl&T AV>\ ~4PbJHYӊFmMuWg{jtDIr p [gj >V2XF.F2[k\>|JWrL*.d@@x]D"Xf~.wtX$nM<ٽq^Xk7tJ"1< @\ەI27zxr?"uU Oq{Ϋ]gvf,b Kk Ȃأ!P a2[4m܊.yc>Rg6x2ֶ-vdNO"V(pE!Ҥ}g=^J/7{*f \6M} P+ῤٲ4J}Vgt|+bveШHlNڒWVTQGg~) I3^&+IߵR.߇j^6k͚LNlFO9MBT:m*b61v`f|譣<{_EU\5k}Y횑lJa%y&3LIdZT͕$7/ZHyhFF?סdl:s1:UO &j[y>֚a)ZgfDFO~ߍ>Cx,=k4m}흉Ld>QG2wwǽ5 y(-OkwoL:ElSyX'J̕z*9f>]aZ+}i)[2>4^ ?SOT /QqDM𯩑D~ ;y=ΠlϜ0$._G%G긐7mF{N+~*"`0uX&?JuWG9jX{\&_1lE ~dOggS#I 'BD@:DC7- ::::AB,;:=>==AAFB3T אm&(7zr.F=JcO,uAc95{-cl+fmMd^Q,'ڻymeV; w͟o*غ]sWҶ-Fyr</RȞ^JB"|oYK$c 7(+p+j3~X`o92oxu;t:M{I q|?UZs R|Q~met3+MZZNԨ6EMGE~SР+KcБ-r~|𶷱MIUHsE KnSih`޳35_k%&+Ú/ `,Iuf;ԔwHe7%r9tMt)#3ҠLP 6*ʙ$ Jf)#d$&I @uP墫)D\BdM]i22\rB<[bF` MG> t/Y̍ #T9̆jBD@$l* G)O~?h:2Q6Lܬ7Pe&٣wML] Y ~!V/e!THy3^heY"2/W)7RdXNv[k\RJLs/=-##;K*jUa[*榉(&QU!QD#",Te! A$QVVn †-IE1*CKIDF|\ F2IXQ]{M gvܰ;B7ǃLРs-pi!S&`F}[zdZ^-[v$#fnjos^j8(8` : , \˜fg $V7!ƔD[WTƅ__*xHaSqv 1KLETAS‹:SƑ*I&ѩe(I`.P٫J…ȉ Id$qJ))D"ͥS4b׹JV.7\v.z܀ $O#bP3j#{;b/rD K}Nq%ItAn wf]F 0\7w::umeB1K˔/sDFpzʄWǚpB0`#OXa@{GR)LeZ/@'C>*%'w͆鍫 {1:ndjg E܂Ȉ&zkQj4Su1UC8豬dlgdVRTCtv5 )I$r(@Ċǫ 2.vKE9`JpRrC@2EqcpB .mm#-fz^f@9 0n>9 L/)]3b]#`l>~@H1SoV }(9Z}'aJIz#I"HP*(v*H eN&mb\m*[ .3R)BfEw$",ffdDɈYt13i}(M@Ax7$M/LU Im4ɯ"j eP:tKlQ25S V䦓H@ait@̵gSK[(VJ} *]A\P WwamQu $z 8BG͠z'Wl,j&<늆Yew&g{{yqϞ+Mݻt8% k:@@pD$ dxXδK͕W5YQQ*VE8*uܬr V|G'Z. 2]"2D@ Mu0Z7%斾7tm0#\v AB:¦Fu%ǨWbU7z>浓eqMoc ~*㡗\(:ɂ NB`֭!/˩Bfm3=»4g&GAEj`!H$ ' '-Uټ?ճfƑZՌ5R ⰎK>l͖aaX(в<-e|7E3ծIyL%{fE Y a'D ݿ͌M%R<,$d&܍e;sg/[{"\+'FLL :0tc |65SmVwvk(Ltss-3D:fp!_й6復쫰ߌȇ2"f*n>G3fe7S:%w -$s$  o&*7IzXpSX+n3eZ)~<:j/omޜP 'pCfX5|@?yVTJJWBEL(̯~[CoKZ>MHr`I䂺9|л; Z*m˩m9J%q׶K3K]W7I괃* DJ10"W<۩OA.&p)U,Se@U=xP璎fvi/[ټ'~_4{{oWoOn)wtm`5QFKtܕgyu%Ð$Ʌ"=HeR˸n tVD$ʻR d.J1sm/ yȔIBwS K%0s*en$)z_TmCmM`~[Vb; ^@-`>k#S^ ]&T@+¢"/ {^T2Ŝ?xJ/o#5pǿj_MP4=:x(lp&HޘJB2PB]Īw=Jo%ō KYɋ-FfPH*7"bS%dhʒjbcS^=4|r(*^Iig[LXV\ق WGH,1G@ۦ^lOggSP#I1"5<:FjbiE߮g͞[i( asSYd5Gmqpg Q,622F}n!R.(:iPt\ʼn6&/\ GLFĕh;Nuwߟ4٤䔪şV$|dHȩڶ{}zӕe.Jl9D=?_BCݦiK3 $$SnkzRkk׺ˎƀ 錱 K^o4 )NZsLQHS(,e\S]rYk{۶zt6)("sux+rFQ_QEY?Wqx({9䚬,uku^{NS* 3AoIw$l'j'O݄As4T"<EPI$4R-LSf [KzR8HR+)jA95P^kCmT BIkD$oʦ%Qcܮe_q^sW($ɁaC"[H ^-FRd) "WFEaErB*PH**0e22eNJS 9 !: Y9 I Ddac$6"xHc[Wኳe5@<ŀDO\H5(I+t %C\ZUh&[Vu S^J: t'B|]cp. = jIVH|@$[=xgئ"՛Ԍ۸iH;t=]&xOCn;)=5Y=!KA hQb5[T m1 Wl<@FѕS "HN#Cq+Z< gKl!DF2pHPܫK=a[ 0ȜHY xIaK`c},i}yfi rY0Hڽk\RP @O ^#=A!~uGܓJqzD2L{6leL_5BO j][?W-sBMKۥE =,Y(V.&TWY:*Ad(G) "XI@U@n"l TApDJHY(u.Buy9RJNbBʸP$q#dDUD.aP BD>.'l;er{c;=XWlF/n)@[vӢSd *q%JHOZ␒HM E0S%1{Gل9I|dgADt8o2b..QX,') !s)ʨffS$]F,-A1G/)RDPDƅI#B >!ıJXP(@aDCnDWǣ`L@,0'QurH{26lXO34{zrfh/:6C c'C3 L >*euPE2Y"xqI!+wݪ7аWʔRi'́uxa̿뻽^SfL'5ʹjZDb vbMTf&!E\Aӊt~e˙ې2 EUЂi/"+M)PeE z RȰ,>beZI"|J#+:W>FCVdACJltF.Rn!9RFbgdd=ߍ6Rޗt 16s*XD%`h+%=6MdfeD"˹(^o:*)'«%$jh]UH",WCʐrKNd}(#e0:&@juS(Bf%#W6|^pPHYoLo b偀qj4 Ks9\VJW zd1) S6ȔO y]:8:!dP `f)U!lϟ(V}"i3ri:gL0Z82\аrP P)/.3 udDFrR 2R F*2R&Tđ+R +ckKU+Gi"2Ȉl ׊8>x3&.)T+'eX:hyG.)c…O0Gs<7$*)ׂ(8( ؽ8xb;&{fEl8$yg{q hh-6Б'$"u⍻2", <7Y1)H&Uʦ >O{jPxrjq$nZۖg~.–lU>T 2 P(, 3R i#:F"!W܂l\ ;I("j'(n@BtmŽDBDnAne-I. 3 E{U,tH, +D8 wtXȐ,8/Utt$8DYѳKIå8q릂{UCDd\{µ߱B@5G?B(`Z T2yƔ]oyzVNQL> #?Ol6ZYQVۯjZ/4nPo&4ZO[SR5G;E߅,+T&uI=mjՖS * ۬1.+uv⪢"y3s13 ?_lk@:^Y\3q8r')+D܅LVg#e S1Q$2(D1h{b hIȠZɥm6LwVzt?-MR{ߥ.{=SVr|V)=Ű9Xh".opB}1MM=1ݷ/=;+{i{WT*9[U*myl问G]t\|R&M=2g[h3}uk1Űs"L`өo> hE4X(l/ 1d@byvzV@ FUO$^.q7]ϲlA۵}|.!+_^oc0H6{VU3l!3 4_r*Kb+Cj,WB1T~{*ܴoݔo̲Moo??uɍWR5ZUN-Ǡsoy\o[ͽR=vG3{ޱ5f}0n\&~kW?;Hic^k{m]V:]CvKyI[]bת(~T(8sT#VۊkzEf OggSu#IhL49:BHHB=;=;:8EE@D=ABAD5CDAF>BDEBY/@gDTDs,8+SckŶ-al2 6Ui"ry@7KRsbX,V=[l[,޶+۶aֻ,\s  S*w>7(vJ:Esczz};moܥX;*yBmx]S ڟ B-beY"rR!Rf kYf5#$l$F]9&I%SֈҬRF'ۯ<=;\@~  أqGq5@I{R-T.f^eYiaMlyFG<ꊞ5}PGUcY[|0-*jjֶb1%7J]0enӯIZPv9;M VqӜ>¿ԙg)UBWX1fk`v ._1뽪{[=ue{[km$c U.8l.@Nj݈e$e(W C gzq5 mMv뷢} JZ =H8кWU#nμIefLfBQG^J5E鴯ߔam|س`=۷+K-5; ;5Yij6N:ɼ(Ō@ąUb\ͬ8h(d"7DdB1A佋HY0AJAfP-on!jqs$*(x$* nn$)l0ΉƘwY5sg-w2cpF_=<[drۥn-]G!iÛ;Qg֘Ma 8$r>'.^~ ~K^LCU8sbk>;OƼ`!/_U8]=;9_hSk53ȰF-M ]'B+l5Te@>8A4-U=i}ޥW֚m3fvMjf2=O6 hт>:Yp< `)=#V=u{n+zSlUΚ]4ӌ! &nJW]n}>['+_Lu =OXyUl/%+C?"GF4Pkn""b J]キuU޶w Amn=*KX(~y룀.CtL畨VWVX]klZn,U [܏y^S>E2bVL_F d[x2Bd`f9-<|~N6bf-:QzU>6Z͚g]?]_9cBb)Z(6SGjom?ڃѶlzYj"b`Q@>ў{傷w^_ݚ6YaꪭQm[2ĖO))ϔ2 +C"0g6Cp͛ee*|o}ަ͗{k},fMQRFVV+>%^^fj=!ZiFC/z cLog\٧:m#^~ݯ'*.ޛ]wwx3=Me[LY^Z-gܷs>SN͉}]쎻?J,oةۙbƲ悟9ԧg mܮ&/Owgs-W+<04ܬfh+&P3qԘ2ݪ6h*rMtEy)IA[CNRFʧP)EDR( ʶmvg3khek)eO,{X^9l|(2ˎ:9^FP.dXv[T% I˖a6k),MhLeykwx)J$eojao[dKSa!W4^- Ė6]/I`|~X,Jщ!bAmoSMw{j{Z+|: 2CjFV @v\ y"C0QK,yϛa?{ly ^kw=Kl&XuIѮ"$w{HWަJffTRB' SӀo'3S>9U 5dr $Gp)+دhNx+8c&Fl017 q2Fᩣt:, E`]-5N+!qޑuW:.B6,Z[+q ' -0'a ]Zeq߉`EȲ}smxf5 4"@ Vҡ@D_NRm#bK"יl7U*sg/Vl'*U*vZLY/qt4V EqJqocr:┦BFS"p "Շ0Y+@W!+QdEqˢQMf`i+ /PE7(gN%:Rf< w,2p$G]]A^!ߪ.aPns#CB(b{[umo{0+ ltWjVcApd"_|gc} bDR]](^{g JlHlBi 4SDxSjMDQr\Ͷjqn1^ylUdoŠNUh3JEؽ\#7536UDZ}"|g BA$&;>D<+/kj.eoaV8.|+ǯ ~쑆+Uѩn=*g "Mڑ C1oeLene?JMql/kINla+!>tGu-X3QA)[t#Bᙝ,̑"Wd*DuRdgt8!e('%T &ʅ,dTSD .@`ev10؍)0 @{:$a,NC,WyWQITY}-*( "vm7k=27㙱>krQ`6+XcszW%'" u{Ǯ fff)%5Wo:f`éGM vmzu?ѽgF1MK$uSAEU+ϔDfZVaƆNk2Q(RhDR"E*HM%!ef W \Sb%t5L)uŸj\qrU˔S4wBԡ&(0^J8J}'D$)3Rqy 8fɽrčp!ȟ1 ؠ0mM3sNe)?6jBn+)AD>N5214M@?d~B UZ\vȕhWt =J5Y%%JS9oAMxAba #`7?,EV(N3Bηtm=2j,"6"Z?U PB*,O[@V _^~&6cٞ<<2 ަ`ZtR1*p0-dQ!3"tyW=c<O5A@ ^8:n<ϿRzY^ʅ"k"*r Hq)+%ʼn)J\ Z\o/ '-e‚|`MF(3opwXiLݜ u_-'dH] 埒p~dxJIu X {Q W"j(n"l#o߮>ق HI1KW@TTpg iR5 ;Ldz)ADA@!Y".Kb+HaRJQJB㈌ DT^<)A\6dpPN&eE2Ȧ4H7Cr'+ `;1ڰnh8bxj2^!]m4E<ܭo0V'dȧ?H X-d$1˔eh;m{ M(5/-aZHSpMɻ-RRPmnf@O3AlYQAF"FWòCHQT }1Jbj*O Rш+U&D8)l3b BQ̂lIST@6X  E:TMT/7X`V`v=/UPuŒû^kk;:m;62R|5]Gyp ,\Dr&}l+c%rDI2h`ozF2%y_D́hvtc-vuZ@|HnJ(Hc& Y(D d7<ګ,dd U p[}Sb& !4d$)T7R/X,)7㪕+G.BH,) iȨ,ũTX-RˆG pQ@FH@AV +Q65O^Y-Ci@R-A3mx[ @+ݰGZO=THR5!0+ldZ@%dd-JUUh_eڹ]kJ|%;Ryw=mԵJpj"5\(TO8E$ D6d""2dbEb%*)eʼn+ 2w@HD1$) DՑ+W\ pWW@.Bۣ xbXdÒoFkZ}PLEnH=-lS?"ľg.l^K82KǓ2ftH@Vk҈:&KBO*t58XI,0 c<%R3eSn Z^Tϟa:h"훮np\S'(3*c0ȗ-ƅ`sꐑ!r9gd3ѳqrřtmT7-PuDE䂦΢,1fIc?LU Q-7v*j]梓?wXg:FD\pM ~!w&غTcmSH -"dZڛϺI.6o t 7nR*8*pw咐ۢj [(Zޚ=}o=⶿8p,6 eSc0A%q P. j$LW4y~9~CIDF$IdڙhѲΥEO{eHzmiN4xy(ɲMՈ"p{#T:N[ ys, Fzl0f( Yb(d"j1r1F @$f`'FCې.z$`Ud){/2"č@fKq͉6t%2b`,VLoBy2l˸l~~|i8 B=WM iJyn,Q!8q1X"4gvИ@6S${Y_ӂ}醌s*l{aYa&9L xRgc ![:nJ2JO ԼQw_S"+ D?ӥ4YŸr DVȡ(Ɉ̀0"DeB :CFu!X$ !E}rTQΰ 8rAZ^3}c0\ cϬ5 FwkTG[Jcr(2/:>"B9Z⚐ƕ@~gr;e`$*i{m¢+:+.k5t䍽u*KЦG=*'8|; .l0p5Ilĕsc%;6ȮG^0gƊ >%EV>t<#m;P*z;9K-'aLBkXKgMϽ(wӋ(N{O:0>^en=D`Y^0 h~Ee┝rpJU_o:96Vky(^7#%m.`pXL^HG1H<w,`/66cJ) ~XggOӺ#NeҚoߣ kOEQt|'j;$μUooW1{n*qjW4ꃦwCJ+4T'yCԕ}:>am&۩}fћٴ5zy]K,dWwax(R xO~^[*0=텰uZV;j#: W`\Bmkbܚdb;qc =l M~.St0I }  r`LU nz钸:M"umdZvMU8 O4MEI ԆЇ+f3;P:zIWokx]w'*Oj@II&:<<<9:ADBė=X٘e_$Ih(0wg }n:2Z|rEjթfhCZSP{G)1{yr8rF͹wtnnϭHֿ0wz?AWB &Zɶ~|X68:>^j(0ƦjT[@qii ݱJeȷ6 %ot6XJ)39Pm<ѝ1h2#(>MJ3D2&=HERtf'ZfdYɫ W;nTLW d1Eɻ̜R!dBT:'t9f !SRX{C"YMR蛐IjK<ilٺ͆Y7M4յ Tjrج ӌ X3W@޻F@?PZbDT'7j觳}O2TلV@ukR?\9Z'o {Xҥ33:z\2D*eՠn]nTP[BXa!Z5) -NLAF22(L[Èj`H֪pek-q[uҩ\ȓ2ZVYE 2 Ć] D!Rކ(FY B2B@5HO;`1za1XclYkn<{[gG檿y^xcH> Su/gokRt6%7摾$ `,b,(L)y+WT u=O=KWD !!&5xx̫"U?5jiE\LjJJUBVSH l]QR8NH@dd!BBq"C$@W4B  @[6ˊX") y X4GV @"4H ,Ț] H6zm|K/Y)cOF1\+-Ds^EWA38 HMQ<1Hb8P]Q`IB 7| zT:cdŕ|{MHIi=,V@U"N [)R0cUew/|3fN G9$(tאC X z@.)t1s#d#`XCIDL`uq P%Cds%ghbhtF>T0V2_yOc݁`maLIH;[pAAs!%o{E \oRT_~ m.rwj-{ݚ;=G-T'wH؁oɅR)h,l@(e0tkW<f+KVU/YUa+2,w[:%@ !ǂDxN%-D!a5UBF*`FRj@!Cl)ю>!MqeQ"\FS;77]F۵ff5-b01UqO07~yz7+ RIbUt!  VKiF)@`kysSeN[|||G3)Ob8O-Z=?n SZk#薄]]&&F \RH$:iz3(VdRXMep(ZF6 d ]f\PAK|1!n(]o BRv",NrtyCX58tyoug$URQqWưkG˥r1Ԍqԝ0 ̠9W cWuϾyv:}uiK3U…#8d(uG)hE(wz헔/7Wⷘ ζc?IT#'h sP [cϾ7!JQY~O*ɕU= {:Nt0_#sC!Q# Cdapw.K&ՙDM{^#dz49m=4.%T. NJ#{\8ҸSrȤ2߾oP)(leow\x{t6]MEM6.cP q+}tt'Y0'Eʭ#P Ŭz}jh|[o7:+0e06my^Y@ءh=+޻k!ͨ)SJP}t']SSb ӽJ [ίuNo{1Jw4Ӫߪ~<2ɹuk!C"݊! Vz"SʘJEy)Bd)!}IW#qB(JeTE5RT2:,+%|& $$vj%RRH(@6O1r/g1Ȍ @mzu: @1E|Xo7Ku&=0@Պ({̿l6+ЁL  E^Y)}GWPb(OrTga慍ff1z"2DIJ(!3,eRj| Yu&r7l~ؑΰZ0v9BP`7VX1VeD!nbr\G|fߚ347 W 4޴b4XfI1?q{*t3V,lQU#SRDٙуE-LDUXitbHbfB:&9ڙ rgW9bC{ǚlf20)hP{)PyF 7f_OBBCbReQ K2yOs^s <5#)0|GevovӗJuYiU?s0IքeOB}IDR)l\k$*-2{~}=DOj.J4E'bT`UA^E1)2ABF6CD:EC:+;DDDoWކm$aS}/S)vi#3XtL#8 EPQhdy#p\Kr%L)y8EzUI+;)U3&fnr3 Dbi:+* HLF!y .:~9<]_Ϸ|%u:l,F[-ra?NT'z+*1O=Ӑb.ߛ;~v94ۛLN&ϵ3-]wxc ~հmi*jb0ZUjlz=od^ZT>O]fUO5b?/+)!|6 A%Q[m뚞6]m49o,鋀k( $֬Рyg74G)3553Ipg.qlxAc)H{G2:.4<cH/5Y?g*6ݫd"l_VJu {w/ 6كFM)5Q|׳sqǝl:} vnUӶ%׾aƐ ڻP Ş&`pdbQIr Eْ+d$b4#PfB1"n-!q/Ő p Y. EqH@jAr 'rG\8ZT5]`25H4= Xn6X0E ױ#.ҀK,:*n~b 8RdBe$Ř4@81` =Jn\uHfThqr~=鞥gqӷkqoEH~ SeGC]yq<,̌S qvΡHvLTe(NO^Dĸ".`Xg&$4ZLH"RG#2+g GXFf EƥHK@ØHO+gIrtƙR_s'3'@Kan]lѻKL!c86 ^* 89D c` 0PO)Ps09͍ %WT%3ڭ_9MȾtN33j)]žzJSWV7A19 A4ϊs|G}?&ssyQH^uБTUMAAuGiH{MŊ2"{"%fPI) /ى)Hd>139M(G%]Hr7s!DEEVLeT##EATܓ{2rKv1Q7-WE < p2c}Irya3ں/Rwu+Ii9MpZ2lW]vVz2n]WYh"_1ra[hro[g6wE\gD6c,$ tdNÿ?8A|;' Q-oʪ[{mfE޵QڏQ\tE Ƞ t#,oW /.Rp)ML4 KTE*S(p9ԣ /=kBb{y"V(D(m6決5Lqn[ @ѻ · G_:o"k$܌bTN556 \>5|7ҡ% Pg2#քxgԾW]u?cĪY[Ykef8>dO/q R@;ճOA:qMCyR6ǹ0V׶sEtM$ZD~OL,iFs"RJ_/0WpL%m9s|s,VTyX l;XNItceu(d$^ԝPYJeEX瞊(` lef6[c|`X*S^~ Mf}Cdlō~~27Y?ɾ?@6&s75N]&uQѣU++%O;z@Q8|JSHnAx&@%Pȣ$$XAܜ g=q&2n%bK{ 9*+/Trv2U"F'h2] TQȐ 37V݅nڼ[ll7yi vl (lh]2Ԩmlj"sUO.}S1'JS홼* s֋cno bIAۏW-} .N0_}R4܅֚i5HzeM-St&K߇Lˤ{Sxkt_TO>lUm&m۰)z\^(Ւ>>\OE+1!up3/x̿oo]lB<5ߞ͗~}[Sg+w8^Ӗ8,3h^uO4okBaL5/Zy)^5ev&Ҵ][دj4hhrI$oGi"?=}{>8:U>SZ`{%b0\%z SpYx6mͣv 9oU]6F9F(N &QBrlUG;:U waCo 6޶GD"]weD._zҩ.O;sW(_Nweq[ bLl[N䱲&g|]&gII@~.E%DMlMrDx~"Dof{7jvY4NndAj)?nojE-Fۆޭ3o۶[mڻҎvzlJ5P8sVbք 9)@69kϋA;b#"Jq;Z;]l۶mt!,7ENcJtzT_)!GS0=Awlu~oV#nξ-fVo@zX nFo,(}3%" @bO$x<5S03 :>3Gjjf2j֛o{l$y\d;bN.$bL..23bCoJݛz:ꦥhS:m"Bf2*&үF!'2Kd1ŐY܈t9dE(27ȩDU˂/exjv1LUJj$ lB񖞈b9S} Aj2=jHnc}9<"%ŭ7Κ9:`+b023, UFnTyn{=8Qqy%HD!qHgP +OӉ,&d) )uLՄVl`7]Rۮ3nƷ,gͦ ,OѺtTzDy䞾̗Pv [˛k[9I>twi" ]hh)*Ev(\HH1-(D&:a6@L;7FʭF rG$MB9"IYRFDqA8YYe*7GY8`sCklaizIkbF=/>{SLk70=e dt|(ָG)fD\0ӁeN|gtGITPxoex.Qdn rg^(._692vXfZjoY]dnVk1{{dup7Yovlp0;ֺ: e\x{sdBL,LzV艝̬ބno& SHI>dTP*Y[/üdyuP )gn7<0oMשB x'{s܈-1=l:@)\5K#pM5CIOuD'}\*kz߻m[Vb$X.4%]F`kjT*]x.nz^o{W=wIN` ۄA?dc g{cOOBl Z=]3S2bᨠ}RwB$Ė=2~W7uaaޯBg+zMmۨ*Kֺ|NvݤBBNJcoo+"mV^`f[Z^{zoz\B`3s#eGTh (MR=V0Y{krT"Sj*iH M=䠚Ƿ*S=;[m{*ݻzކL26ŦOMh@Gy&mR]g(Y^mCzg@TZGfJ_L 9aHj.{ v-53o'sm&[:\J{PBOO^;sܦ̹06Hݒ.L}St{nծٲi\VǨ.QfHu—Aí{ ⟲D¼wF1Hko^mSzk͛rbjM[kS]l6Y#N~#4 GmP;cc.v/ۗDkł tr|d g_ M=. ~lFB\_PJ6}ܕ.0MTNݫ38{]6Օ6lWtZڂ]}'MxJ0/ܔ2 >WRzh-hz c]ɼ u$l9S1Rϕ8IzQNu1 k}sn*ٯujݹ")crqחFSy'zu; CСؙK3Uch-NRCi+{eVx s@72鐣$1գ=M?Abvrn>V\gmn:2Y5O=Ϩkߝwێbt6s'+}vWcRTRj;kB碍; eHoRˡ?/v;mH5<ӐU+ir!UQˊ֓$_&w=K_jrr-I#<|DֽpSC^ϓxJ (Uccڭ@) Z?=q37Rm̿]Ni0;BKkT{q@&YBnqf %EDDAdҕ %dJP$˵IPL2AبLz3 2B2u"WV+Q"B( wx>Z;.ɱ{=Q5(= Uz7i " va79j¨-#,jH?>x\Wݘ,Q-$u4oz{ I9׮nP;ۤd~L$/gDJ=/L^-*Bc6۹.rOj V bb!qCݣvl~AdҮ <)㲸k6eyxIY +jQɪ ( uh1/Ug+*ujfD6-HlN,Z4TRRk$U&N"ٱJv]bEjl?۫lK=l3=OggSb#I2+2 5%Ou~=mbPGl̄ $&;|$'蘪/Ki'?|ڜ'zό 8@0KfTe,Sߐ5'H$^{3.wP@uI,Xd.7z0.J$_=J1q\X=i-atx(t`٤c%9>Lb1նx6Q+4'γ8AR5s(tA&ͺ1$zi}LTn4AS3SuTޯzf6ٞf[|JNHLq9{-@v(T&.FYJ@&A"zo]z6ޚs:<5Pؙ9:~Gk/R*@QH)\4ZRb edI׭JYtet[bc% U)+z޾s~ ϭ*natH#5q}TR̦:-oD K,~gH@t9M".3SJM1 9nEʾ*#yg˵Vrl}icq ]rG>heUW)$ePܔ! [9Q\23, r )@$E#:+D'pya@CX,re+ˉ>lH R!2'JG\57Rn-%`V2+vƝ}7^A0fؘe6 24us&W|}#3W @{̵/TNcĚ\F:HVUcMYx{nLG}{NAfTd!C13˺Ǻ#LY>}-M9\:mKW^9b%'dv)J= 5&zL~qA# 4RpbT @'_R]1K"U.rVYxf<׬5^2窂-](/uᴖP9^ 4Hm۳69<ˎŰ~G jɿ`.0Ř,dF -:qcbmir:)j  ZeWt2tD@rf=frR5c`ݩԚnzTF_MFa&vFF0 $wKsmm;֞2\^i(8dE_|d/$q&c=wŴ7Z Y%,C0:Qn/BY7SdXx#eʲa37N/Mݿ<Νu8T3KuI_zZ"ZEqwzmlt!">͢/_>l(D!O^D[@1CQEVA0`ҥ> قXa" LUM!$jxB!MGs89f+QT-X5ٸL:Fd6dc |p^ f+f ڝ1OnZRLgc^ mj76rbnspp]+$+/i'mk{y *IZYd<}̮DL;ʵJ5hBNcP}f\=ʷs~;A.PMn6"ȴS̉j"DZYmPt5sO( )Hu* W,T0fHW;M$#B''R˭i*(no}Eb9}@#nonJ٠D 9a1e G+ (͖՘(4 lXJ p3 =Ztb|K />h&A:Ep`{6ؒ{3𵞛X&QUf%o A֏ťkXgݏ,7>DT֛G/49p3{[d+OU7.67y#^eΔe#].41!NL A6[ (Af(kKqYj #aJ))e)JD&8 WL YƆj901,Usd)P2[uY82Cq\Oc?*Ξ`{c$&Jd a 6F]⼺ɬs`t %5,i"]* 3/H!S garrY4K+lϠA\hg +^NŹ %As3- ]v;lt˼) }=MVR|">C @:w[4Ȕ 6+xo'=F T#,"_"x-wȈ0S-V.GfA5gfkd|2)ݚmKYI)wH5}wr>Vmɺdj:ľ@l%:,u1> 4O9Fc)֕WP BxQzf,&"%=ne^@N_{ D,Sȣ{0cm${!;T;{[gӋv}yf l_]u\ŗuJ@hs2ʅV bd=_=ƼY;&|"B

rVۛ*֠t>Of- 4B˛B9o4,s q5ZB,ݬ9c'zz/Xm(# Q\։7h[+03nyވRS&o@jۭ\ܶmiwsN){82B S=&J^}DZ )*V,P@n T8W)M^y_!+DS'OVH\JMng %5CLԬg) 2MB$M%2OggS#I)-$=>B@1)H5ID7CC7 +4:6>;799DDA7=~2vx3#_l^wt!7ŏӜtCPi&&8tP9'uC$SVcUJ/F &֖LKz7חʼn\:#?Ḛ(+ãɘj^=2-VP-jɾܯ(h)f }񕁜,KM$YlZʂ5 eCG*!Onʘ@R0Iv12Bu߀ i # "`B2{ϽOAB.Ft7\6'i<6ѻb-{Tv ٵZ `s($`DΚV!e+Ab/T!0n;tq 2Bl?l3[Kf=mW\^l`IPIugݱU >17Z.+N }ot3'5+| \֟']=a~JWeKHB3U֪6}*=56z[磘pHS6WGni 2ee?$[}ol MPAK=~Y﹑auPċ'@*9ț%YڤȹjWͪ{[HAsܹvXN;-l[rn&7Nօt[[}H +t2|Zbv{~6? fX̉V}/9}WCEQy.2c}ǟFM]况 [WrԊK)ЬɷnVj{{ze8_]EJkJ{3qwxo@dov._ g.u7Tpcn*Ӡ%rӸpvym&'8Nӫ?zzw7r1}t;yӭMvzzwMgf{7vk[:\өYzmmǤ7-Ɛߝf,k˾ρr1;کR ܬN<Ѐz%w**i'h~Pdlk{9CuL>Mt-+ВQCj\0F-}uyq#bz{m۶ T^޶l&#q=-hLjHuC/g$iLZc{Vu b6j6Gfߧ2\ʍ ib2$SZ•eW() qmxKbB{N=L6#HHl hlj'!`WV*(BĽ_ڶq,[u}|"'D86SggRQZ/KB\nD&2z^ ~=ś%d_ay\&//Ax"fj̽ ԌvOHt\c֝>sًߑvS6ۓyYcʖ+ojOCAr\E#mr"#P sQZR,]Q6 O92R `S0'l +HA\F1XL RFLe*$9s)r܈(Fg7\'4.L R" 6ؑ1Eϊ8ȨN^RqE)yՃnmV NS0Shr&w&ܚ0I;Aǀ A,K.L7$tۙbEޛzIBKRX=g7}ȿ7 =iq[oߐbgE=r"'pVN)"Gi5+nP₉ȨFH(G*H)ITT24`;A@#\Ia,E[£ ||J  CBp>KntA J(1L[Ai-ہF-fr1慮{01p@i8fp M0Wް@c0_G0w$vRJ}$y%a!'UɂROfjJ3m1:U,nKkNrكb LQ3-4- EQ(GnUA(R"ɳ' ZU1EDHx ҉Hq!$X\n PBHm@"IG$T)jL'n  x_vi}ej@8$Q)^5~KKUKԪ.h@i+  e =0>ca uIeLE@ecL[?H~ju(_֔16>Fd-[ZgȺ`hDIPeo]QV"e"HI\512f tgP(.z ;" /$Œ 8v &*iK䬄 ["oԙ\(eNOʑB:Of0FDYt@n#&8chf6= p$VJ4s@ɀÕlmp3 a f1WLEݺG47T\ͪkY[D%%߶oZDdY6Xfnf.M~2{M{ClYdZ'Cr e\0쨈Lj2Q.FhVrCTS +.CM!Yd. )p(#0rD͍Ԙe.D&¤@;+bK!!4%Y(i3EAS܌Sކo8Eoek&ܜ#l{FWTOǞ{Atޔ]jQ8KXpb-#j_OguJ IA=3]&ǎ7)Z)2Hs40>$\+tUՈ`ŬTCXg3:-RVSdBx@(B:HbQN: SyD`Q*U?3V«e^)hElk"P[Bo$Qxc'TBuSa276DT$")L'@3 ՈH>&N7ԇ՜{;=B'lѨ%I< cY8}Ayt*HZE*XRrs/Un &D źQh^ۆC9_P4Qgj r%fn|MT$ n*%R9([^/lލ.QQ,Dm7zK5zOXTFc@n 8WVsyTV1jq+2*F&Ĥ=ǦðdmceSFv?:!EK!1)qEP!YPmLf#;)MQ&">0HF mb1D} Pn]5o&L2(ً_Kk] 98Т0?0OggSŋ#I*,$:AG/SPݩ>UF)sYk:~Y]– RgxkIYz] ?lmnivG]>cgVSU=CgTuBPcf{%G<[Ҷm\pjc*F>P>GA)͕aAQysLzͻFhvmi6Du$T 5 gB6 bMEsKPq=HVYc1wZ:&5JN.T(?5и&{9y;N2Dկڂ} ~mWM AQWEHY◻t A,{UeLb,'B굛84e+Y۳\2F4z=Zǣ. dT&HסraV_V LF%jD4*X"AW.ApyZ B[(%?,=qxZ /їӗz#ZMWݬ!TZI2`eF!/l;e;!ȍ@IRa~L`1ʒ",4+f*;H'5}T/WO9jL2yOt3[wcvrqھЪOC|F,vW*JeEQbF+/C^+7b5Z#CF^UH"PDȽQUS@9t9oNTZOd Q-qƄaYDT$1(ϊTZ^{E$m+=۾ʠ\Ja#zhqY(k[V [,qւu(EYc #`Ip {̌R[?t>arKwohgƓ:;eIڌ5C@\ 38!U?(TݥJy/!" Z$*ATr*7wcrJ!1Ti4ir!ENJ)3Hii6t-&Di)3BΔAPLJ5#FSBjbU ұ. 04eɁfp.ɁO(qLz +ln"l;8'ӹ-oxr̓!DȅK}[AT[hɕqBdz"B(z?qDbT(dHPu 3pX)aqrOŌ+S-"S )EIdtD+d9r\1gc#PL g W)SlQH7 .'sh>D\⢔i6".+˵69\gba`zLT-Woz` 3VdX@o S3$7_Nz5UUR&/1oewEz:rJ9W`jrΉRtj6@GʐJ-22d'2[߁(B%H)C(qB)Pr(I d<b-BV33%Fnd)!) ^$pJACj:Pf!Q8c2[{L"f0g wQO*Mb̆4iq=i88nP z ZIRfи+΅x8) Zy5Sj2y6oY:pĶz^+7HvRds(\dTU7r\JCfȬ}.> +2ʕjfESt*K$p9Q.dBFD\h p( EBq@F'WA(rdWRv㪗$ؔtn+W"wCTR٧k٥~}gkvZiXV8{dl81@zANjW~Yc/] Ijz(yO, #2-+SfڢJȸ"d/SUSTL.Kw Yd#+s "xhQR}Q DBF(n@8XP[D`ITH"ԫ)rh-hEjNTK)Tqm @΀ JXT=S֨v#&3Sy[oO~z)GX݀}gy-Gח!hf3=}o]l;oy聝Ig:mbW}ða%}^Wfy Xz8hfLD#H"/Q4b#dAէB* BF\1I I5|uUȓYˊK;QT,T-i@s7TQ݌HA#M$1:㦐\!f善YATN$&MYϚ9^;x^EVeuK(.H_5mefj:.5-"A(`(/(rnJB̨UfeoK]rmum'0T:qrx"ve4S4%eb5lLD/`2 z\j*,L,u\+NI|U'R',y%BtJqK@ ID"Ba(J:Rtt0#SSup"M(JA"7٬'LI0i 8Io Y$`]&OggS#IzB#61.<9<:?C:D=8<;EC:5=B?DAC<8@DFG6><89<tye[~wq"]O$I!WFb" LH"QnNu]1F $C$HHغ@[K!-Cd,vQD]A@VE=\d k. Z3jXҼ8r4 *$~{׊?ܑZrZY!j^\dޒ-U7 [c{t> VGa4y@噂HH%{p)^=ڨ{sF+6*5+"͞tux& :;OJryQNnT2k=3fέ9%< `] N<2-:52x0Ol1=MtޝX7@Z)D>ϞX$ntt[|.]6i[àjfTaKtܵ=X~7=Uu&^n Qװh̺q1{TKũ6,ۛ`{d>?ɑ մWCp/~UIGLvQ04t۳  âhmE;0Ѻmzze-{^&qk9o@a۝;(O~6+Ѫ`O$<_uOj7KO՜)Lv\T)* Y=.Tv[rךб%$ ^MƎU15Rm k53bý/8?;}ϲ.Y[v~N#Gsul̇a3T$,}~2Jԣ<޷rשҗI_y7Eʼ]޻0 &4a{β-Y9k߿*UW꣸:3s om.!J(m;%ɫNw^PO5TWSd- iyTH!^Uԙ21qx,ƭ5$xA-t"~'_X+1p4n*"#OO%Jլ$ SYWj1Ǩ)"4/Vc|OvO\_?bfߛK.N.?3eXH֨aQ y+粰Urg: +]} uul7^W{_ߟ$95_k0n@_ga+QEta!wkS^k1V5K\ҳeR2`p&yI4c>WD[Ino325,\_0lw2ǵ?#:Z70ZwhJO[}--;mzVVA422]dKInqp,]L]ŕ'Jg\Q-e^$yk`^>WQQmPx<.o\n73s[warsϵ1/<˼mCcݻ=jkyh>@AT[]m=;[[m4ǝCi:9{tcL&-vN&΍/},lsX>C0(ԡVmP,C9 ]N+1RWF\VSDئ;{MwҕQ"G[H[EB@G 8ҭTt٪eQIg:.bV!7[f>Q=&:d2D֛IkD<2LYܨ{dn.sR%ʺ#91( DPgx$ϝYU_RP(B3,Jy2K2o Jib07ӑ28H! #4:r3 r1۲ݼi6]#*,/McPq9YPC#vۧ~kmSmNlJIĹ4\S ʲEu j7?= dXL[)T^tj<]6e۶6Ueo{˺dpJVhN;aք*xy@L'*b!a2! )R4 ڼ#^GsL#a.,$aa[{y3Px곿4QM:ũWo/>q>:L B`d5l3f\2 $׃];젛>SWb,lkq2,T Cw-G۵sTZ-86dێ,G *(dddd&3"2L1Iq TVr)&3F$gpLFS\@-VÔmE\0XdWzL g7KK Y.q"7uD+ @l{4 Z@띦֢㨽w˳ YeSw!iнL]^NٌߛEeMܹ pg dž݂ܻ"'}LGPp;+@m:"|#S)WBqTȟ7HE=dfhXWXCb$6$NoqպZNu1]˒e Hj$]m +)#fOܕtQY5ӕ0 6>֝Kb::ʵWB#tԬkjCk~\Q $V*l ܘ55۽w_ gkvj!ݎ/3/›*ckfFfa <<0${S,͑|G\*\q2\%mլE^yu&e#nmE W^ lQ8`QXCe^|CKW{ljY%em]7=O`.܍ $n?+>  ;-I 2fl?w{SyUseiijiQ+O>lp^[r,S>w`R?w[sS0G֐]ʬkk6oSչ6AQf8jm9c_iFt2QACW^dkh>YWlu^1jv=6UvIٺ_Ɔ" }o19&L7mm϶mmmY-ъ" mIg(#!- NYlaT/u'yiZ7ir9nR5iΪu2EmƲc~6m{-fB⊙rW~ﭷ*r+UtD9MTu o}> F BR5̬Qoݻ{mK=<'w] SU0 +ru!{[Eb"+Wyʦ^wq[Az!,M:2xـcpI-R)BR3:Ǣ+ Oe'Yٶ)܅l۠k:)T rQC徺}efnS;NJ6V1Uqhxk {c8Z/2oؙ X-kW>O{ZeQqOggS#I͡ݒ/@CCA<:=:97=@=<=<1oX'ȮDe*Ϩ9K)d0O\Jpr[n~=ɛ.hQ#{C!|/-`pK^UVip}}k'gtE]~TO_W]vٯUS&E{3M<.>w* |k? 2_KR4sǧ+jUm%slۚ%-VPgRrBLUʕ.2^QKojvߦZvw6 Ӆx7As{sp2Ijřz|߷3&z_ Y bTO8gveR4lSʹ*d椖nS*h523sfEOIoJ>Wy#͛S7V6;fk y7ʼn nɻW0>hGUM`z]m?mmMI $]MN >$,lgJ$ճZ;E^ssԛm~c1˟}ܳx%a^"jAU\Ap_*tWuzvZfY=>)9d4'3+)pTUCf1|t~3*b>J޺{]cYF2iV}.୮‚nbH{:J BE"kcڵbEMa}]śEܳޏXVprIX%11bEF1jXh{Skj[;sl2ػc9(pI._8YPc3DEj1# ކ{[şźm<^W”ck#AvZ N_5D JbLD &=oۡullCvDzҺ820CQ屦aK- ֳ6LS$%ZKmV3n*\5ν;0N'v#+-y3{JO6dS*QRF&BJ.[92Y13e塘Yh 'F.N({uH^U2(r$ M_X0)&-'b텇7!JLXD]DHwnA"b6N +3څݳ]LsOUPrlEJpd^lpa kAqH,j tx%!Dj7\brI-4 ˝1xuS *"!DZv,QQ[Ž1.2m{hi)DK#wNi.v%r!vxrod+bh !:J{w"ҽ!ꔮMU"`TF_VTJ?1OMT\ J'7[8ꄦhPa1J<c?*P]ETq=g_޽DríNK. aKc鸈 ;]+YՑ9roRbf(p]A Sd%"dAf @W7F[T EDEd "et,rY-GqP덇-H.No}Phhj{*Z{;l0FwQ `E޺'b2@Ms~ݟ/%5:ssrY䷾kvEK˼-9Dގ$vˣQa4~ht]rp2*` q(g+Aro R9&2I^R"S TEp I#p͕K%@@." JSR$DE8XH_(7WpzC{Ye9vapd7# D* ")@p:06 z!uL(3SJ{YW>㿷=ﶓrao8o콖~jh8XxJ/8͊[)ٔIYK!I,lO$cUZ/[(1>NԌd q~y\5yՐ)[zJA!]ЃMV-RE[R .8 TāHT(X.Ș#ϦP8R- 2&āip4gRlH +2#r43ֱGn\f]Bh\9\rudd>NrAm<9d 21 Ys8Fv0@+IirɥDA;+iYcխ9  `՛DenZ݉eىچ~}\鑿l=b_Id:i1Ǐ|))h&NGTPyETȍF!UJB'";#Jd|#3RLm-$[f*v`!J] <1@ަp24@H 9[GФ3y6Q QjtQndx0zQ@v^G5 e7 yz ;Ӵe?s"8n8{)P|r)ttnHY8;QBa@8e&iZ\F,Ğ21K8X_,{쎑HGl5Jbݗ]{یWvmM3Ԏ h²^{dD;jb@{{7n6;#qEjb K`osڂn_H}.Z0mbZ54BC lX VTS>&Nh<,! ' HPñD^D&055e+[]WE3_q<$߼[~xͼ A@(yPX1H=:. -V U:SwS6ݻ 'FRG9rr Kl&R.2!D5rBuBt&I"Mu#Hdh b,dbR*J|6e64$i v${!,] l>ȸPgc} 0I^1=3׹ H͵Fb䆽ok/7 Dr0nLJFHD"# %;'{9 zGoP9YޭfrzxJN TuUzkWʇzﺶ|">7؛0Tgߴmym{; fp#/K`yLB?t'G߈A>W;-:rC r v]C=hQ:5ݞ/YI 3u= ]"5)籫]L.$MΞ6x{ Eso.yOpE" 0RIAn1jI|"S"Oie TDq(QA3Pʔq ˡ H!BU9ō+\p$.XF$W$MBxxPQ iwyqR- gytkyS9p8"-cW 0J!U}t+`s LFWf: bY{768\ tVK;Z.EE kVj$X ǂO3WZv&.p5F*dsuÎ]Lt|x8-q׶{)`$v=B^>y2ϡw5QO{Mzn-ؽ[SFtB {.Ҁ2N2UAAyY I POb~Ɩt2]yY뤶5sa[ onq1b]pP&+(V@[,2ɘo]?M{ -޵Բ}p&} (9U҇E!= 47R#⾷OH<=NVo <6[:TJ?Ub'V"@Cǐ*:m:"ҹVuOWWӇL%̹6}>~U_yC棛#:)F<5곆{jߩKsDԊllmndV V,L@ 30 =\G>&5䣵S@ZK'ysS@!@WuĔܗ};q݌UG?թ7|PGkxΞ~#BPZ6}@+h4PCdJDe9܋J-ЪREDpJtUF"XK=L+s}gz!5X_O-\_!T ؿC6m {Dq:L3jȰ{K6@|U(:G  8x[!q"7{i7Ak2Q?~|u;!; p(<LE[k|S޴Yc$ǰQv}}m}s/RBP,ownȐJ`75>wh"H%){(vF P.8jWr2Pm7u }>R\^~P?]F{n-ZDYP7Z;=x nV9xBgׯ< ۃ$:؎ֿ].xga7n?bLd"DUJz!f1Tr Bps5s9a . @!FBR_"ݳfMdyDOPO;:ufsD|vWC+ĥ\ĕgwm\:B%rjc+UKM6EMuX\q[X3뭏Ti*ņ}CM*#`-6+ 6MRUfڽQ4qnw+]f֒9+d1O=E;ѭTGyA^9G `l SP 2iLț4tAHnʹA#OFFN%D "" *Xj1!$#jAe)#N& (cb!Wu$1+qQHILq KHg+Ys_Ĥ>P ,$&^V@8jxz)eyy?HZ׵ֽ$$zED%2w) BQA(Dp@pB\JX U -d 7+2X@ʦ.,捉c2ZV FG4dE|2c.ֻ智v؝[ZKVPa,2yKk< OY"ޛʴ?0S]>H=*?!S€,PSy3'4! 45@*A)s`ʀ2,a6Du!W%""a$"UpӬ JN 3 ~sI)LkhT;OggS@{#IT(63;;?D?;::9<<tuwԑd2-ˈ,!\ FEAJy_` ynbf\ .,蔅r)CIbdgjDBFqI!!h1H%/386:+],$Sȍp %<8Y8UYJ.TNfD`lfC(r) wZa ^S-}Kn8аnhpWZ@$C6NK2@} cfS?MG%Ղ 2K)ioż1wA)ȀbEIKh],x\%NTD6.=y0l%2[m=2af0oe dbav "ЕRe2GWQwt&?7<ζCSTX Dv1=o ;1Ji-qe9֙^ |%X"%9 ..-GuWUҏ"+W-ί#FҔQ MfJ90-:), IZΠX5ՂIyEv 0d8 v+6RTԫO?ůtp1QJW~Wv=8zk:OM&DzIb$di1>?6H*dH+ jL]3o{#Ω2nml4Հ˽c*Y.}[ k9>o<)1-ʔXa7mƴweex8ZQn:+T"jFyw?W>s\ķOR3J9[v9Z<ʓsU#EEbFU3MEX%ƺ~8@Pכ:F H*Z?z5moHg_3.a vO"a;C}ytGsybqʇ^Ak8RTp"x7SXBF3 -P$.9')  U>fdƀjDUJTq H+㲪3HX .B_6ʫT"RɓB8wV qܰTL{˪P/_zޗ%`Be3c`Tzƃ-QO(^$LpZ fX$,1낔E ,{` M]ǔ#=h$OkҥG1{$LQ&Uwt:k+!4R-UU6V! p)(Z%q)QrlE(MS8Y~H+5c|ELK]_$QfC(@AU o^@i8F^o,w,[CB=&Y[l޶IܽY#V?(q dE<Iw~Ag.6{1P)%sV_X '+vY65q;uvV>gcS%T]o<'^Aݞo[sSoDԯk@W f(1tV$:=IDŽR5S@dHc 'ed\Ff1WԼL)A92RR}WJDH+Г0$M 3 E|pi^m V 0n>KɛnD<?hi8:|B f䕀-*h {>x*E '#'/yEdjpfal$) 7wLL7ɏa1m̫lUΔonic<-x\\i,\9 CC;|~]Ly)|dٜ;o͓Yښ9\ P9M*AfG?_ްT*4]\L5QRղ*v~ݯmmm=;,^ND.?pXv'9' >:|qŲ+[m=~퍼yT5k{blNt*"C-JO5bd AEQ21L__)md^'|ݴ-7^-NeɍDTE,HcfGs$(d5u? Rfc"Uތ2S53Go}LsYZY~<Z-nNy>t[dئzl%z 6~?;r$ObjdD&]&3S) Ȝ2)! B1#f B7bH)3G/ddO')#dn@~YL(NѢr\nD AR (ȆVnDeˌRF0r&JQjdvDAAY<,uʉh$15>f+p7G ~',2G 0ԕ W ~N8@ ۥL R`r1ۛ)2j{OG._ko T)5L~_c÷ߘmO4wۧy6_^UHbv5zP!WQAe (8%2+MG(Ȩ$Bb%( AY A "D\O$٨c@XD rR\ܢ$@\BqB)[ SNa#B[,9,G1L'CggJ ;q47v$mz[pnfr,!}g1ꆅ;EER&wpߥn{!yǛILޟ!7%k|Ou~c>?oSY^ EiNVsȮ8)TS5K:ZȨ޴57J Z([1bPD$B AȒr Pj\*'enEΞ $UZ53"8⦹?@+ d(\bpB KjBȂlnOfDJ_ h.S[{Sx:Z-5 gUql|k Yez9͡{[";e3"DX]TE 6)>f@@dN΀9$EqEQ}% $ߔHY@b 2,v: lVȰ 9S]mN=#`%"M\ȥ [idH@\.hi`OggS#IM^149@8;8;8BAAE8AB;=DC.<:B7;9>>?9:BCBF:,`鹗34M t(YB=VHp`@B:EDs>e 6HezG%{ b~|Z 7⎗y8F|S@bE"_!qQ2]3f f+L: XOdfSȀp}TƢeTD.rC̆nAKZֹNPhQ<I@NŒȍJ< ̌[D6}9Æ:d F,f58c$[@I_DQXHNU'scB/GCC䶱\ΊJY"Uen?@s'6Tna=9qjaޝwkv:!E ln)&T]S8DcE{5fMo'g""ܔVU}ȚyE6ݖ9wiL&M!r䪴X @|7ɠ^cϗlhsJ"B~?\y״1m2M=z!TJ[a̭q- ?U ,3z梺歷-oe^\-:U-Dz#̑R*R @i{U]ʾsHWLъ&]7mj^װnLgUJ- oIK@8T,+ Ll\\7QѢJV'3dƥY뗍TvDb7dir145ɀ*pԷ<&R+fg |ˤ,2˷o֬77fw yI TޮI͢{0l(|sw{3~ ˁf [-ذ ;mrͽwydRb8Hsr`N2/쾷$U6f6+v2ꋣ9vL=΋} %imݧ=O,"jPV^ys"vGe0T?Y"q*on, N֫3̄0"AATr;"YA6H¥NMT M+œH΂5lxȺaG LYw:AW*ơEF faƭ֚ղ-N hWLhGw |kt&S L6.*4yTu^RQ> 5JMtkgc+5J̧)um&?G?&`l֥ƻzzeoXD6a=rA2/Jl3:jx~EnW'U,f-Tn|V0V.H\C4i6L&&Los.^QϨ=(t &uRC=p-6YZL/"5}))cV*E(~ʹ(%W^VF,Xl-׸1Ú'BOŤMT,C͋OKpv3djtTK26ֽ=^#-֚ޠ]Ϩv`,yH:ӓkt}[)N bR|6H&Dfr7HKEDAa9sc?68 *UfUn hpeSӵo휚ַua5S\%d*9hx\oQ] );r:ZS}TpG?$-uuro!0/Y݋ nL 3 1:m_65a&1M62y,2c;8(U.jh[f*ں֝Awް1 l]? +u\3-B1&{2웡C3JYδdkJY)G -9?nWcl=Wfi#j=m6w,?1\Pp-2w6EibtTT>TYrQLWT'SE|;^DSQK)<ǮId\rtiY~߃hִh)|NoTrkɂOͷߖk*0˥Jt-UۮZWFmۭY<1y\~"iR泰klX>eJǔul`MIڴfUuww֕{.wWeetAuSx,> @HF.Divd6ZT,df4*;ugd`Ĩg{CEToA ST!PUǡ(BYz_Io]L$3)1UGOGźC秙іd}^%j*Wɾ Qvv.=ln%< CDlFFP2BA52T2;7dnc3@Pd ٺ\Ȩ茉,dB KA SP$#1d= pD}" '!Nr `EF57HW2d!q ~XOggSӌ#I133=;=:BBED8:EAHH?FND}/| e Io_D]V6ev%-⬧9E\$+mMZb_[V沰]}j&Ev3R:UyCt:qčXojPe`У>fw#}7P?eZV4zcn^ |Nkz&S^S&^RB&U>u_FIKvo[.ofq_A5*h=RiGK`Iι[}vvηꮽ.kt{o:6K?dVy5jؓIկD'}G ')^C r~"ִTfRN|BiWWc8-^oo^0 [xOg}ܤm_$)mפ[ekڤtJ}PӟR~lYZ8 je}YBhVӅ@7vޮeO\FU*3,FbajR`|PT@M8 olmb:vm]PM~%*T"-MQ{+Y~"Sių#ތw 5bO꾵gX5mιd ڢQs< ^O[~[v,oQRi{{}/Gry*BSE-iG&(t\{F9ĞvƬi~Yx&;:y\2#96DF'eIF;_ K}m?U[}vgo]\{ʦlڛ)tbzV~eՙfsZy#Wͪ`r 3cY@ZoۺڦL}HJr'$ Q.f{{))(o6ֶTyitˠI}ijvX<;uByu1Q4܁^>rVJ7{ZX۬*DҢlAdD)rX yK>"o˵ޜZ+K ` kjvJh*C&瘑~ Z^ޣ&rd.'eAʄW lyw'! "x2bsn}o&[9ss z8R<8P ~wzadS.D*fDSE˭j:G^ޞ}emܸ KewЖQ+T!KE$ ƻ&)SJ2Z>`%_rgcG1vJ)wo2UV";ڟe?r׍YGFaKR!B S")#vMµD&ޢTr!D$^f(fT7: '#Ȩ2$e,Fr-*q("wpC ܀݈H9}j ̌ai\Ep9E'\sDC%_[sz+[l1y5Nߵ8W\H8K6u@S&0hAsCp󣄅Z7R,0̖ޘ\*jKW5ȤNXGө0Y:}ɒ emuV3r*tmvd.%)Y')hlE[4hIp1@OE"*2l&c35M{S0Qi4b ?u=8sq?U"{p!T"%j5gMʋ^6RխVgAҀ1Db1(S'GޚՅ-*꼝[uMMf7{?_\'7`|)oX'Ȅ>ϙaG5 q3+g-uۚ{=6lM ]>3pѦ$7 d_ӍKd/q]2v%]xOngYm9u{#*||a4]JTCo4*b]&PTqE"]R8U ՔL@^:JB8N컌d ΉT\8K22)] 0$RPA׌XYD=RET;д^o Ak fmϾnfST*> _(ɩlpK@ B6+13S&+p/~u.Tʬse^u<*LǩE׹FQ4p?$TOF ZU;:TLR')]~0RA|G*046 *љv0iV7 ZT\!rK)lrp;Ъch,#7~6t7]JXyLKԍPbt&CCXuBFh.fޘ![OggS#Iqy);)//+8=:;<::BG*-;@>JE7>B5998;?b"EYޞB@((EZLH2Rn9R_.K_(q`%WIAW'.e&]82G^<sbɞ9e"1ԁ@lhBki ,a%XH0Ꙣ DT 0 0'4@hVUl$B!抓&) T, Qh.QuY4 9 3-`f$2,ϡk*Mg\.iz,rCĨvi0n^kf瞞ro{ M!Hf9ŠoxMnBpCum{l ,kP5 @ը)IVu4u\ y9KU8$g%lcG֙PEx`~M #TВwQb2T*!pqYըF\qrSwK)##UJAFH1A'.88)㪕HIX#-fF0BrT !1";`Q(=6Hj6(bn[/1M kLebe 3*Tz6"r )Ua^l.s@5LUʬN6(f[/,ORnJZn8tvK(52TԴh|"ӭP6 dYDTU2h0UѢծdiK b 0$;_fP|61 P-cbO2> &M=%t i7Y[wf{h7|bptC}M;أ6$:EuyyYMQ[ϤgttR_kjdRat2am`>Yp-D(t9rc A$etMxn lzנY|nG /un%BŐJޕI Q]f\Oxu9,tŃ׵Y -'_jIYkT<If/|w*els0>9U1'(!C0 ~uWC55ceS&o?M/ ipUھstJiߑ+{)~؛;̑JwvUpuA!qunt5."ۙq a@(dTRoWdK2{ HC\ $Q`ѢJ=7:{EAcj\ޅ|sfaLOz\[u>lorrհV+*mrfg5|owyW -somA _~H-εYqL <)Ěkcapd`+fA3& )68d&_;h&U=݁E$QeRD{c T{Dgr{U*3,~U_+!Ag5Ѻ>`QJQe s)KeEqiymZY7GScqɥ2MVfKmgtF|[[; #L@AڮWC i>bnK&Tm/˸wST'vac0@_㔒e$nu[mعfZƻ-Ɍn,dhZۈ 3k2! fGsv AsLe3Cfmv|V팬?'DJVvjd$JL%"CcwܔdVf9;i l>I;>*{z0H#,8owUTw%%zk*^69?Q\bdZPkO*ȉr[o;˵RU_wQcլ7ec[Tl&OggS@-#I])DD0($0;9DF;;=GC9@E7>98>;7EAL. lJ0Vp3` M0- Ȝ 4TVrVuݛּV۠io#W$:,_<5i9u?W{ijхK0BI%"4S {vi Ea(M. Aɹ@ gdB>۠M՘ +@,}ɝ̙1ǒγr&__3r[9?I ;yF֝,ix nܓQld4B7H R#P*I eqE EŮBdؐ" }!SSQp)Bn/nIY[ *pDl IR $B}BN EEȭ\57NHNsLĻDаc+jk&tycd&\-4]B'mhc9`Iq Eג8bc+zaX| Q0oj* .?E_=X؟qʚYqQ<<.r-|ڽݥ'3nݶ/ z"3-#Y*ʠt02RRȐEID+ȉB3k"I9.#c ܢ4)  p42A'22F%ՍD':H  SʆdƈpQVUb{̽lěsKFv`c d)[p"0$^rq^ ՙ o67lVb[yoUJ*y1Y7F2fijZ7E=M 4:oJ&ΒB Ȗeyb ! N v  EQJ$e@dTܓFRx P7ΨFq݄@lꮉH6@Ǭ辡 6|3p `mp5˘nX|b-XP.7ޝ' fGW>hr b7Z%0Ht3>l@;^RǡLee쩧ri~GJE"Ȼ-`tP*86{o^*7.E>b=h>2Mϩ^5cQ%,F5s_"E!NR* :3.MsP""K hr#Bn'D 4"lIt()@zȆ< K,Ά4Xv ->0}s6X\Dhhf<5`(^g`m)y >5#S.$$סLe|[962{XDujKnz%]c{ݭJi-AJ ѿbRJti:Ij#(lbb%һ b$" "j%cd><[9wIiCs-;qEAt )*`}*Ȟ̴ 4ԶRJȾْr˃Ῐ;m)(ᬜ5ʄ[cOQU5D d0p Ѳ֝(!3 VH:9=  E(NX1* ``$OL_]8@ wײVyWIm>"4:5ϏC4b2H .ڪʍ\J5{k;n"#90"FHȥ*W@FD5$\dn!/BF+¥ YD("#fJD!"!) D B ǃf^-T%%߄{qi'"Vi~勗Ztm8J;VnಇFFk_23| ߹-#YuSlT[F,r+đDfvJA"cQMLV@bw-'J3"eLv63:K7WDN#D b88,vR!i./7) 9x>- Ż.S٣nMuU{3b] |jmKҩR)q;@w,Fg[&"`Ui"be7/Zz7c=t (fE2}. ;}L[BړEd̳[ٶ2tCd*Lӣ,F Yzh['VokJ :"Tܘ2 un}#Z(kA(R0d*d@⟺(\ PRI pY7>mJ &H2PU4ni );"މ2FL-: O)-ompi ݰɅL0.A_|]_g&[K.҉TbFt8`imԽ9^k^^̈́Ď`RgV[83z,& M@]JNJK4Ӑvd2Ӹw؞vbY3I1"~FqT62%zy=?oyMH&K ]t7x$"s^19CXUð"m4vF\kKWd&W OpV0EL)!e H[6Ǻ^;K;qDIċ[tշ²,wwo^.a"+% ,0ʽ?cv& GOjȬ:zE5jP^~Rr=Tʨv!&9ɾȍDws)l&uN lj@Km G[bْxq.^+e77 h BYhs*C]b:Y(ꌌ,ttF&..fa)܀ ] ΑYpRT&{y<8UrI9nc[78 hKY% $F*dv(rE%Ad_5YT8~ƕ?BҼ B7o7hɠܫr T)uyo]Vn{fM7 (/H3|T 6 $1=kC>(FY(,z-eZ֋t˘26C+)u˄(ޱcOnl /Z/ JMA Y:T8QP"2nhV#ڴZn!t+ɋJ S'mjl7UcJLYHVlA?)߳-։i0;<'>Sn (cX^[v3"1O~sbu;DIGtK)rrֱ]fr$RK] Q rM d!3UE˕cƄ H+]tQ8:BC -Ft.=`HkUfyknibZ޽k;cMI4`&,ktb`^{`NRYtߤm~pܓz\odJL80rch}OzަG~Dj$MA ݢSp+KM͐nyBI[Q3M܇ eDUKYAP@(\LRJ4ʛq[Rqڀ /$<x#@~aBBHFZ\XȊI ]E\Wp \aCM / 88z"Ljc֚lV E-#B1 6"-""D2)ThprJaOE$̔.s=Kz]cѶ\`*P'z s},5˼ȫv-1ڭa+'h*\\5orj1bVPqu&uwZ)QjAVBtR5EBKE $s&BEz\U3`D!3lÕI Gd̓QbI.7a"X"+q)ꅍOggS]#I{Z+077AA=@/"(86:4588.`bU&P@DZ'%9/ :RJqVBD2AtJN%DxU%@"{B&쨢'n͜2X{@_> n)F2*ӯRى6f[i\֙t͋Eļ]p.Is@$ qzԆ#2NGB(Q ) 32Q(2[^z Y/RQDn!BFFR+Uz䐲(( 2"ޒ@ pi6+eܧVi:2Gy{)e-tdJrN84y&i6-=dcNÍ{p^*=n@xw863:5%%=E Mcz6dRT3gWUȾXt}<>3~~ =zJlרʲǧks+u|Պ `GU@!.fi7T S@1Ȑ3|r܈!"> I$x!6>HjT'86reM"Re4eiYddd[!RJ7zRb̾K9. %Gǝp#̆'΍# {"8N5Y z(`p3zYUHdȩdʌ(Hq҉f&ᦙ ֦-#S m])E}d*$0BAHQcr?cȟM: ܸ@sɀ uSYDN-f\j LDfDQeK7r,^K ]k!d\d,&UB)+CF$i[Đr 4"AǑT6ع;d*w]x]#Hّ;D4-. &F#źGQzf}TXQ0[YuVjs<͑,*8,r2,j?ThJEc۫?'l\^,:h"\]?oY[JUC+ dSLTTݵzܡ5s.銙tFj_d஠"%dV[%"!nR_%*%J VEX]<7ngn=/d8.ы#)vzN>PDϫGyeL+GDU/OVtp?`leR6 _&cTRJpҪ6+"NPv47QڎGշQB NR$pZhlL%Ȕ:,#(RH@}$4«8,)Q)%t#8@`#ҳubC:z AEsV4 y`/sm8n/5 0eHcr&&f8Ʉ)) 0s,($R%H hS{֍5 ;fJ0W oMeCŬԐWlӵy`ܿ-bj`JEal K@VrP*cDJ 2( sabH$9tʽ8QIS\.Edd!ˍٸUH)p7&'! J;:%B d4Vgc P.=A"GQ5{bc2e"_,Ei: ?\Dzy P9 EE%& CV$ZjI1F3#Ӛenml.,?PϦD;W&%zȔuSʈ cEOE<:^۔X=ٯ`˅̱jV*Y o& !PyPںtldޘ;0O\/l8(#s=QU@dU%jՌͼ2ӬHr,.L*Q%U&tdJU PO7M]bDڡά=͜Q,N[0h D#d3gfe#7Nky[ ק $2C(X=dN6ⅅZG*e%#j)dJO^B{3+e-c>/edFh5=Q4X 'Ht`i;yqjSnZQ٦-7<$ZRDmkZ f&qՠWPP(0S)g_:j5ʌ֬?֋I)36V.)3oH89ӖX4k*;­9<36Nji{z!YYڬ3S}V|ee` J$ƝlwPpM.Uy]|rV3vWǣ Ox2\5/CĚ-Ğ .|צ|#޷AQp LE{@:zeTRު7 9X6*\T*e4o7 >xElp%kf(o8@WF 8|ᇜHh &X*UV&ăM_Sor] IqktRƪ'yT2V) ]K@Y0SRK7lju~`j%7PR ޫ٥\А/^eӑ]>'{eDӴeY"gh h.PN=gz1[̮ڇƝoK5u6a_^OggS#I9:C;=B;98GCDB8C:897CAC@9ACBH;AAIAAA<8<8894ffSk?N>z7:kF1 M2=yanX %6,Ȣ"3N9%0z뎲r^u`*SJHV7 1~BG{ aw@X((.v孳Lm[g>kܷ,"\" @?5o+P>{2 f.C =zk{+sjӶl,EJPD}{RPlz!&L'uJ!*DT(۪ [Cv҆F9{;3ܐW1sV-IJNq>kR$&Ǵ14"as^A@_$f ChtDgc+[lOO=$V9VߤU&yeTWZi7;Rث)Tcϊ%'nѻ޽ޭfZkB5k"?ll:' >Y3b9筯R뭶z;jjs~\rcԊ&.9UrAg]G#1S2섈PBDԺɞ:Ɩ](D5W/b@֑R @?1ɺPFvukG#sU-fֵuBRIݸq2}C7qNn"2VӌzG,{wö{km:R9=1c(sGb>vS~2~QoשsLGeT,m6m(T7ÉBΊ9ĤYKB<2ΐY*G* Q"#Ti ZHS6P(Id.RX d!:,fYYŇ4G__H30\pd1F s g6^$/! X`1^+4N6;7 q/Z ӜL`v(SV7*8(OQ)]O?NO ŋvD2YԡThW\z7~uU [6f{qt;woQTF0=M1uCxw9}(6B5mK)dl`QAB<@H.D.!Yʞ(GT7$Vy'CbdNHQS[4 ȰMbe=In Qi,t9Ndw5 {ckI*>卣3`s ep/^kbvk^xc;l9690p!Z0kVsc^kӿG.?y۟\ϻ׶Q L뽺M^pgmSCVUE)#(xkd?I$>V}5:ysӹ%k1Ӌ{C[Q_䰋:<{X|OMl_ZggNIV뀍RT Ruw]Ke΄Q]1u^4YoX*@NфoZF9ܴddZ[,.ڶ7 '1mF+>RɸF/&9?9ڮ9ιwJ:jZY-Zm𶥲F)c˼#cΖb]@N٤$m?mߖo>|7ݶMmZ͛lAyKl~r$~:oOKY.~hIPGu`O(Ec5VhUlJVMnt0ECq(&gmȈd^zL盯~EŌ(wR=;nbnwwɻc[3 یh&=KM@+?*R7CtJG)sHY1y6{)'[Hꈥ_B 4Έ@/-*usǾ1fxeUuM 6+q} s!5_4U ij:OąJJ+ňbFR̢^5el_gQe/tMj',Qު`D&@TS>9D-(Lxm0m1IW^amQnj2'3#Ih,rC3t;&&22xOMڔmW{6t>#bĕHN(luҟ VH6g6[-a"*X32Z޵IeFzβ}i:dHi3~L@ENqi ljJIJ:>ʒdOSI,}yXʽ;e2ޖDgch^0dW`Ϝ;#Dj, (F$eDFDrqW AV+*U#D # Tޭ Zu BgR\3#f8E S̉RPL#':RJٌѓ%GDu} mHDV` yŅ{ڊ۸ZQ%Fn€HoD\JzNI{*!̷Ѽźy P0^c>Ek΅$<6G+DgW@o|)~g弌Ra mG36O\\ eE-Cyj׬GJӱ\-rVS&mla>?d(cW7Z rJ0g=!|>~OfdF)G8c5v뎔#L KJ.L @p]la)zBảT #rT:'lZBZ]NތKW$.YRt8Z/e iT%ʅhRXbt#B9ÚYZXwj``vsrTQ3=Q+w27ËUTw2ͻKö"e?6/P)gݼjYMt y1R RjܿF)cY5DP]J 妑SFnVZXkk[ .Q&HALŹ0zPx%jȐ{:RUqiٛ{<{7-m*OggS#I/&;15:@@5DB288?><@D:.3AG'4ZIeGޡ:j8a8;.scFQnVDG&bHF&LY. :)D(eT@L tĕZȜJ|W[2KDULZ oυnFA_raZcizkB$K Ʋ7wZ7X`tޜզ *oss(9a9WLB)X8"@5fԩZrͲTrQt 5&p؍d8$ s"Qevվۅx]e28ȥeT]QL!HSp ][-V+CZV\2D\kNLUo̊8.g-xk@Ys^\Nr283>zmj(t5-Y#D$ ԎE $r EZɅжNB8%Y=6,g Tf<2ۭsoa*V%ЀIr]%a,Ԁ4((d D[07 J5f 9i,n$).Pc3Rj*\=(0QLζW1@{-G|z#hBŬ$1຺6V '$I˽^};0 #я3oVO1<,&&]6uTr@ADpIT84 VkmubЌt,V?IS9E%ǁgh_ bj͆4wT?-uU8c\mru(BE*.'av{xߗaHYvcҝ]BѕZ3?ʻn2q[2VS tzwiVL,8ffleYJD坽a7v^2=9.r$˲_i5HGCGk9ge q+%t|بH@Q-f˥n6г  R Dw f. U4PLB!II9"ȄQ9Č,bT"T\6 ʔ8D%@d#MBO7C) n`؜{͆͌ =XuiMq9X`~lDI`KZM#sBv20o(W#%8LI,^O$[hnuչg6eVcUh!tu A5@9/LiQM б])ddL2aslŭ'b\ X)B L,PH XKLA$Fb3\rdjˋ 2Zh (o)+6JW.$PA=jY}fq˓fنX0z/R4A,=re8fw@k,HKL)$hABB)N|Z5I2+yh毛~zf| FܷmTO׋56+rRE`]5A'J齼=1\Y rfAUF !",T N1BV 1 RբDmJx┴(H.)*\N45|BJ@.(Vo;j1 cR2o`s7xjѩgq-;KQnmBSF3tkŕ2-:GJvQuLJDEM):A{<޺8= .5lj*z?\'md=X}91r 2kz`qKcyԘYK4 T d:sвOϿUd$ ?.جr juR7m}EmuJ &>j;(q-.?;YmF|Os #KU%%VuYwg Uf֚::e]`K8AEJ{Pg0v=033$Lni/}Y/IT}6Ϗ߸p2VF\lf}\t%sKs:@a2˳3)s7ߢ !@ !"(iEKD#L{7c !=$-)¦UvqB$a"čCN&|L!EYy HM+@0ܾqrp٣SƂ"a.<)E FM. x.5$,ElpmJ 6omӣtLߒBUY|OO\ieIռ虷C#hoHFM0 Zy!e3=ra6E(O p( R*fK85!( ">쪴7QU $%-cL&T4zl%!]]']cAa\tb[-`Ykz0#.p [i0.R#h ݰŐ+#vQW#D7xB˽=ŀz6QSwЈs+++mBz$shN vUq=I'l׌\OggS#I-+)ECC779879;85CDEA8 %&,07:AE-9>;:B4UGk,745;$=Qd4骤n73vnnbz4_okfj坼>A<*q VWe ˳o)5]J3 !Rɮ|˻ݯޥݴʹnQ|^NS5&Ǩg8dژwz;̷ݶ7׫k_~\R'q`!Rl\S,$9XPJI%ۼgƪGK-YOUJvQܗ.=iv?9|(i+x~kSy<JϢACSPF#"{Eh[3T⻇W(5 P=jrY;=vۚhe)~_gـ3BΌ9K^cFN+-ީUh}^/tX'#I_s~`]n ]OmFfr:mݪ2Aa)` k pcTXYj=~鵌 u۝i|`H~ڡEI3;Ft.Ŀ>8F>vp -o`WM.o@ Vjw W17gm]3>ufٞ<3]{_=u2TG?iG061t߬v53> #ve\2֐#t=s/_u͙a[FיQ7]S[ 0iJI ͫL'FRo }yΗ{7KmZj{9,[Rx|F-(U"~5 +/ߕ†YXV^xfޥc זjۈY6/=9_fS(Õllm"f`#P$:K*YO/[[7@@< @HOtx94 \p%U v+_+36o|?.m6j Iꛑ l{+'.Eu)@N].SEr2o7*USZ=*T"܍*cDaPT2D *âaA .7$ 6D&-%EDAB/ X#Y@Uqw5b:g ' DU0JȬ5S/MEHꑦ:ߌ j?f t-8@wHI@:E 퓜l&en 0Maʔ~t}bǵK9{Os>S˴ڔ'F\!_C|*lmW]>*TWI+bӃi+*@#EZDdJ)/.2gE"mF ŬǢukYRg\`( l: Œ׻ fqP9]WIs` Q Iqq $0[) 3nE.y&@+eYs2/ɬw+01f\\8|:o&;vUDprGKƉУDh\D)5h|<8 ^kc+l4GƻUw67*| ^Λ-KmytDr "_wZ!,O~l\E}?JWo|Ea:u I)t R}+4d.8ɯU#<4vl#Y,Bբ}?/[xc65l|r;Ud myF^1 (h۩-{?ri_$&aa@س2%1yu}YX_:ˏaC'ڨ˳[,9x[OYtPuoN cĮiav'P#o- Y\ͦHJEJ1ʅfnv>Egb'(DV0B)%BcqqKn}>:I.̕(eKdrЉj.G6dA"d =ǷaH@&n[ ճq5Uxh^?遃r@5EcRو2 e SU :SK",*=Jz ])N٪Ek6mYL3;; eѧHa ΐм> ]"^=wOtم-L9YB8v ~=v3&nӑ[mEKxbr»AV D= l={kl\KXVIc f,?v2ڕJx36&+S|=A6˶sggZ*lB xm$W~{Bn2TMfN7HXģOggS@#I}"*=9>DI*6<7?>@A>%$.979::98D@8EB/0e)Zٍ.-ͧn< 1n/]A/}Rj=R9jFfut+÷$i@K1A`bߔ85 nlD˄ڴ/Yݶ%s YɅ ,^K* mOD7 RBB2 Y\⺹gi6ssbjuO׀:?zw1Bhލ%g#%kOikׯx6kZvk >Ei9t˔mNB@YNe;Sꜗ1V-Z"_ۼdu;f{r%H^ye[p$ΉE uv5YOEkgQG*S)[fO2NMsOχ߮ΡZf.?kӹcv+Ş( i1L}/6$UOyrRuaJMd(1 $ZovfUPD@͑8B@R%3GJ_ nT J=P3Rc>7,JU'1 h{qXY?63p=ȺA Lfgf#gm ^ 8ZV"dC&NO"%s$ aa`f2_xW'O6zHާ\_ 8B[1{#]*3J]~=ܮRwɊD~[J "Uw!+e!Y#ê B@dtu*$t@xӱzER)@Z JiȈdD̈,poT $m_ecŭpy=e{euL/]rMq8vD1UR vCAڅ hdf)%֯~׵?m^MfR#(&z^cazޢ(_CyF(٣4q)_Eݝs76G8C| rqޜ5Q )wUʗr Z @\ 2e0ܘjʉx\U33/"+"Q.t)MRERYDF\XYV$cOT:-e 2\o#ZE}hNd=1jЊ[-Y"Q`!)Ҫ#" 6.(D!(ʌ EôWH $ B58T8BuqEq_ƦdV__%3S̔]rr!$͞dnrzu!_f^ZE*+M_t&Eu!"+d[W 1EKq8tnYө"V!!Y!+QŌȐ:3RHdA 3@}$/m:3&.8 bTKq_0%d&|X*H@#)n8K/>p@zdi,P{--~5VڵLAa6aπ\)/d/hSw:;g9.3Rj(%SjZ\9{\ӻuOڼƓƧ[)Z@?;7EDI92=>=;7B@:C@B;;:;::9CE`K'*H)ν'] /ffrQMfo=1g8MEMlj%0({T\NvRX2xǺ<47h΂ÎnM ;y#6BT\vlڻ"C?N')WS٪B0mɺ;⽕#$c07yl6A|"6b@;xgqRG{G+9G*!+yK/cF*loN1V[ )- M:*{}VŷmnF/ΐW7k NϥzTFx `^'k7\ViZu)&g:pWSJ=mm[jZV|@#KfZǁ )(:{?' PfVV+.Ncܷ[|ye5ݜ'OajUW?773\* PTNFkh̢T态[A6Y6ȥH\n# i >L"ُuzOg$a S1?P7]̵-[fjiU27/h8&OS(Ï`G]Pa;z}{h": ˴ vRBeZ]%BQB4= J)Zq 5 OQvZi>sأ{-nnGź[^ZU3OxwM9v;>wkmo N]8Ķ۳=90{jy혣 7p3/S`SƔ3^6tg1{rdfӞ'W-k51 -\JRJ$+zdGXٛlouٶoZ\\ ঠS ^ SK̖\4Q!)2U2ݫQb]Sm۬5W1!JOjeBE?ߛFz4*vTRDYGyO*s˟s(ڸM̘ QR_ϝmTsߩRS*DD XV<5(7.LzֱpJDҢ %mjU>F*gV[S6u(t6 ;nnVV;!Ω Lh0="ŽJn2jcֻw{-kݻ5ٻLJAg+Ӫ/h$va}T4םۤ5oo{격;4mP}.a7A__2[kOB(귎Q  aX qזǣD@}g3P5I$J(@#*i `cRW$0F)u eoWZ彻w|VJ}lYY$}_ut=Etz% DWjQd,*W2DI”)T+yՌBA*0A0edrL!  2#dFg Qh ɬq2ՌF,'bIsK"XULՒ0%^$1 _`zFncLFt4(`dd2=gҶ5TV(mae;cAg 95qQsgˀ`ك\>ylNPnٻ;vvo]imAkt" %5ztt6R}ԄقV-*UޗDܱs՚o%kLZ+I_(յ,fmB6\6YJI,3~PE3홠44ǯMw≽ZtMlFgG:U~J  />UL=N?dP\)+w\6. +Z?2ߌ%tJ BحeߗgZ"(|+^=)^nl3Y2L]&DJYhVςq 4lRP$o*D{OѶ=*.{5^ \"k3&3mOR=sJbUOruC_f5agj D,'h3>JoI֍mj_ۮcmd{D6lu$H_LCkH oDM܃nuOv_6۫jsG}x0})L2&#7]IIrzN~m9U޻{:2ua8l:rQ&*pS?~b13x~JQJ{o+wUv2!/s4CfT{,A٢[_j*#ZBFRՖ ]7]6ܟڌYOggSu#IcN&:DF;<<=;=7CBG=08 d$*НЫXµ&K$$&drlrJZmݴZ:cjyg-K* ^ю"yOv> ̳Jn_c7ת%-={-G=k/n$w]nbFfA|ͬi5S ND9fHR)Ovb߬(F"'2I!,՞=%A&ݙ[$QJU\JBR1Y`$0"uD J 6%G&I}uÊ,I!R,WKc""T:%{E vXr(UӮ5[G^ul@@ۈt p6>HA&QPQX</;*ᛥX:{2WB*[2[w{Wc!T`$FWRǯ,|[T:!RmNLpKG^.NXM␑1\ '⯾և~W6ՔTg9lUrK Zݴ:a[H6T ]oޡ<2D1Ä⪊"+XX3ztՐe0 ,/StͶfjHHDG:l4*uW# N,уj\rAeBUhn=)+)dQ黡 \iw{T>ܾv=>(HL-z(Tbc=kAT2:[c@YY$'TBZq{#0 j#'D#eET6=F(YUb3\R7DWABj^-MS)]g~ \ R޴/uV FiW؋ <7,H=ZUޫL3KI0@NbjOd2eຎ|)΃&YOOG]ᲁݡ{ JhtFiZ6+7XJF5"ed1N-h)F.rj$RRWFgdA)`֕#Sr ӹHEBlR&DFu;&ʆ}]"i֍-{ʁ 0׃`d-^H5z'][{U3)iqJ"d)A4̼%6G xɨefJɿO|%Mjr$}ж7$\`\Jg输t(z5b=l ;bU BrpiU5[ ʅ,jQd"#>)e8d"j$(+,OW˷eJ9Pi\~bs70!BBHrb7 DK#6y^ufha.CS'm14!c`{ Oj5΍ԟT:QL !V+%|hJYWUr{dFǴx (Lt\QRAqe>YX2S[)!7I],nQ$eÞcDƬcd *cItk|*z Lt(aH`lkjXx\3֓ҪlL Y$-@턯e0]B3 5{X5~7]ryZ; `Ȓ^aQ *ef_zON޵ųFS*54?=eG$1Ho4oat6 a¯Qxl""HŌ4)TDEܪ"""bWRpާ@xׅ.2 Ք)sCq'DHg ZDe$$ QR\J5JD@ҥȴ(˻!] +'YLqbh|L"bW,v;"$T`%cM"m ru\?& ZkLRJt>~<ǁC"ox}cAߐde,Z ɛ1cdy*QUZ//z-zJ9} k/1ꓪ7]N}+e.(J.B5@ $)UAFG"ESQU!! Q0I2Br D2^ BrtF"Cgpm%`ťYNS dS_A Q-\"SM7#2!% 8rCd1K qc5Yc]Ic+a˜j0\b FU8Ƨ+Z;p M@x%Ul1spR%DczF@(+yY=̔  ]J;:Z2( 2E:J$UU(UJbqT,f9F^ܦ`&ސ1ݡ@!vӰAAŭ(uߤr\1nFڍP\Q: :T͛,$UzBhYv1\J_D8$#}r2ձ5̚ 6o¡'jš%.e9B iJ>S!HyJLB|jlH#6D66s,J,z:Г۽rώ-ү?>N>SfW]Y2{ۺ]%7%Sڢq($dL(a;DQdB'lrôpO8 n>+g J2 a3dB3ZO@ЙJ$7"$4X Z(_wĘkA1͟:`Kp [jl(=d)0sLEBתu>&c+Zn>6p4YjTMY[+5pw{pxoF>d] ]cP"^ldZnD~*1\^S@B*Zp"#]d* 6-hF A)G@檈H:-2ܨ)AfR$T69 W)đXف8V`9:Q)lBl, H FtIraxy@#N&ͭ2ͳ.r @O6TuZA'P)lk$qMM/̬' e36m ˜)YpR+-=XI^mmw>\~46g#9(hR\! 2DLPD*#+7S8Yq@Z+$d]$+0DHahp!.;EBжFH& 8NB@XC&cWJLINRR@Eξ`eڧf~e˳*.7s޸ZQ'`AHC:wOb36cJbJeE>~7F.v 'ݷۯ0NY5*>nFBM. OPTiqT]fT?ıKW#yP-ґ*]F"˂(R1B!C$6J0Dp#E.Rl)M##% pJ-H>VԪ+8fA+ <ꝉت(ԉ&a^0;M02Z6ZhvkiL;S 2@j |j[}.irq:Z`:ՒV0G=lV+UA6GŚt"W3m4tE& *Уoto7) h)(vWfFcwÍFqȗ\4.T2*5L2H f:?aYb~nEz-k}NIJZzMDB? {ts_gdp%x[f] k۲R[VISɔ"Cܺ296 ޲"*~uߑ+.4H*3 kbN>|kV]Euj{+ה#dzWdjX&Tny8ktiMʚ/3׊e[/^~Ӷ% Y픵eù̷dz29# ڍmsPׯv=~Z1`Q>0ӐyC :kM+ 7q٦3qa8q'Xp%H 9#8(z"qGݟK=sm I{잮^.<\ `B6p2W< Y?{r$YɡofǕ#LH1@!;vuKh0tA8>\\d*q=ҦuDO+ ( =wsrNюʦ-ZFWqo֑ڦ4T'ץ,VkCܪqZ/O~s)et7콇`St_ae.]TJ*ΡشFl ͯ}{Q `3}Qut62Nbvu{') iuGq)zV׾;VV킣3)45&8,kOSqׇ7u{_휭7~0.}6Y54lcŎ˓ݿ,#ק1n"qZ8T#693@2WBǗ~9;2j7wћG67&l>cLNOeePbnr$nxXiIM#H]İ'd{o]ެR,b/: )w__$U)Gp"I/yΝ+Zfjt(fSw5D&((]b 3U)aa99abJ,^m{_4uъm-$` $, qk?6,%CpCdSt1cF{m־۫ޚ dVY$NYXw/~v4 ԹX=CQ5yVqs]ݦzR"."kY W`/z) x36ecfZiqِ2cmΡiN_ $65v2JޥZmREަQB1\}:bA:22##"#a,I]͐)VLH1#2"n(H dBӽױBӐHp!L\,):9!::-^if,֔}Dڗo1wsdPb1xf@;K"dҪsI;nV Yg7<:f1UfIheA 㴾TqdL@?n  \ォ(2 57#vxw۷ucʹ84~c傑BejnrC6NMQG0, ٖ}Iy $#|#Ib% h(h!AFָ$$JD{*]յ* G $Q&2)eTWfȬtt".d@'JӢ ZVN9Rw=H`fwW{,2O ـ2f*㧇1^K&ԪU DI>7v@?_܏c{ $s$U5fJAe/DГ:\$V[_S,(*IU"vjSUS^TK#U}U[5(FYJ)ܔ.E` bf5aKޕpV5!ZnyA&dTV-wb (D\BjJqI)2(23f2&t謙Nh\3e%T4 b&H @m4nbM=8fݙ#Mzခ/7 'g@&B"HN =d2~Vk~;}~f~=#FVL6_ Xq*:OdD%odQB/„V,(ŬD5EQEfm5" B"" r$K/TsIq !AX$I$s%r% nJ%2j`g4C6y37N܀pjџW5zb\g{JjJހ 8vd`,Zd2 ,@$03Oٔ)%|8vzv~ÏWoݭ:x1~rD;qit*[rciӦƕsOd5UDdY(W(gI٣R(d%3)UZȠ9gLS'άX!pIn2BDj˕ 2F]3 )5x92}ND%PJ t})LKb:\a(߷⿚kGXϛ02Qy^pFcDV-)In(**D̛dUVQ#zgT=}V.=]{՟ 罁OggS؎#Im'E+:;9=@:EBD1+<98B@B=2DG.cj И72ca#akx'Wo+(ҎC6fIJ֚f?dQ7跀 ; g20me^Fio튤!T '7RQM3356f$%o} 7f>˧p~'ra _}۷l&v)lf! `H!B1 Ed6B9+P,L1BQ\q@L,$"eHr'88"!rJ\(%!Dg6#ixjLȍt.b2I(:K.aɽqВ9\J^'wܫ\͉b^c8( `Yl,b{}7u Ɯ,O‰,H J?[4 WnEN!QQU3wX w'>H[ܐT!L)~=U%9j؊2Wf19l7Ax(VKFD`JGU پNRkSlJ&,hiN.e_:t2.x:=ki`#F,~^gferW'DdkBLm5ڜʬށ3{=VT8׌PVPbEӘfFcx:,z(Qg/7' ůi+d"~Y,RPf0ٝWe Կ"q2=^K=@9=>M$cPنʈ,Dybkk%O#:c$GсɱzP!Q=֮*HH|nz,ܺ7XO۵urAVMA* iALkvevZVʖjOؽ^۟m9nJu2MI] cpv/a$앓ъ:^QǘDDeV+PdN}>SF0|܇KSY>5UW~9tQ *LiZew92JJtk[m+jբ͐9`bv/IFPQ@pUlKJEX t;ȎV-لNTY*mD TҭZI,i[BIf0wlx{_޲wy G aj/`}CW2 ME L]P*ĕEѪE7L43L/ܸܐ+UX0f9f5rE.x@WJڌ9^TxkRHL ^oA=^i1=e;=xq/s&VYdWåŁP[=i(}"YL?0G+,SF}363wq= Gh@L#**w/=ΥPۮwEMHHqn7$2"9R1"U6.qFqө(Nn0 QLBDϒ[Y_(3ɹ11V@Aax4# $WZr% F!3<{`z6@:_Q-wMkM&7˱5qB56Дy&:u(0+^ ҧp6Vg/,x>ޙG=yB&"ׂ;U{GseV,hx8) ğu5CzOLNōwUBRm06j0G6wM߽7ٛiXA{{nN Ek& T7GqjOME"S"E{s.{[Zv.z4zw1|kt@PU l۬MF̍ Y.ec+{:ysmzƮysl#!kI:P%z߽[pSn+ ]diGL"=VuOj3u7\TBr5 `F1"c+SqEJ% #XBZUQ @p]\ d3 ! J7bwYDFnB R0ȔWWѺl(UGxAf3T 9dY&n :k:.t'Sj%9@!8l $X+ n0Z8^"{"4T-BQ =}m:QR&?4ROlz ~R7 V@tܯYMkV3E7DSJD2BR`JblR(\u]ԙA,X  ཚ)ɘe?}Zw rWYQ^tt ̀KKJTDj*De,et1CPrI8,nf [Y!FT7Wd\ M0@@ę02ȚK+@Tzqb$n(]tT"WGHG(s$aRHR,Y_s]uc[o&fo@Ccj?` g`*dIjs8WֆB̛R%2e/oӏ}g\ͽ t (Ga"Yխ*V4pyq Ő4t'#(",VD"(Db@AnJgF:!erC x@ĆBqDWB)% VT9p1N0s[V:An tt1!BF.WP]kie {ߴ`l,b5^  ݉Fݻ): H1 HIsbl_1.`*evLل;/Y)w5P2=@|yM&@ Q%$QN 6 !BYFQfdQfSR0;zDF@X !2@d,:nH qb₈,' Apf:h(eD)ypۛpY\ATJ!@O:JSMdoEY+#&ٶkII؄y9z^(AMC(@VuM,Y9L`F*3 9)5, `>]9)oymKcU52YSLa$f(%!7j* TQ'̼m5s86S(Jc]q7."\`LNE?B@GBC?BDA<:>EBAx / <~`=a14 fP1Rǜ 64i.vyD(+  ƿR _(Bԧr% 40sHflo  ˋvp GOwuV_r둶z՜kKr4ȸMGd  a( ".elzBQQ; bD-"M#Ah@$1Fd%&.2:1Y]E'\x.Q^m`}21}0G‚9+2-б{ B7 Ei-i^'xC89ܝfD5:" 3 ]3~(aNLt\>lv1Y|`k0`zی>At7=QYP)Kl~rN<[aJ J+rظگ/( ;wLaE)ld%JɴeA^v[ȗ,^cԸ,hQ>:=R+W\Dʩֿh'l1β5$6ƁJY(P@ͬibE:QyHt!oljeΰy,"q?=(]aL*%ܒ}\⍘a4Or#(,'6F+ldKo#%R{Z(T޻{6tYe)tnOUv4v2-"X1$;/*!l"SΜO'zעi D%B#0Ze +;bE?(V"K3Ō+Z䵻g͓.:"pmbE"T?.V.f*3H3~v ^ZwzEv߭{2c[,rlo$("(tY:Y$2"M d+). =uSBWq>7Wn&W%f9yە;{{8ާ5:O{ޘ–+kИrh{Yio%'w=}ٓ}ԇSoZpNw3}wF13\ 8<lZ9^R `ţ(8 .꽴h,IZ:~/̛*3eڽګ?V2CrgZeּc4Iȫv_+kCj5CM$Z~$[ \99q3repv'tT+ngǨv1uw_=~r\u9e3 YDMM^j~YUni&'Q͵~'7N綟DUy7rXʚb@}47mASԈ疺 h1Pps f2 \3x48BQd&s۫bƏuspɍ22*2$6_d46<ud8IS]X޹DV%eZq?$:%DUV^~ށ}&MI2G8 nJb{ uWUwUZkUu޿DtcZ:64P'Mc?Ur>N驧2zyEޥ#;y"d"a:(L=TfZ$ٔ{Q_)nie՛Dg 4HbQŷW$ѝɉR3rjf6J{6͋y:c&9DE'~>V ?߾K'I}5 B!X("eo6}?lSUs4OY<:Y7,M5sEaSMmIc…KmofZr&3!7_N5vjB;$.#PȬ*T66N>7Oss͘w:eu۶MUՕm{$"RV:Lb1U!rc,-1 pEBumQߥETz}]D#ڨ+IHHŤ!jME:E'듳x$]HF*u) d\tb^7gScQ~Y/ov}kqI|CKQ?QWq[KBVl EDMD": 2Q7T H2j1#.q)">ZT!Q IM, c<OXPIl6Pd!U"[“&8]si̮)bld0DO\946Gp5z)Q VbpSX4 "0ئ_&J6 7ɔ:LՄ[C?֎mMjW%qlK6Z%+{q;0skJ"ѯO>YVnAB#\$3{ˑ\q!$Af!HB$929J@Pfd(dOX YBЄHجH Awu#B?DpuRFId s,eb 2Q$2zg~{waU]d %J.{2wqC7wDOt>-:єR kހ4`XS̼C!)rݻ73r/ t$Sxeb툿Nn0SH#k&a6~}T 9+4,@GO;0`|:QW.EnPh[i1z:'Dr]NЂ*lVuAF*u IuʛOz ̫DT5Ztك="z6v JKV)%$Ûr#ppK+r(&5Ҷ1L Y.Tn(j{2!A }$~e!^ z‹Qag4s+C~>?+[]?՚%cOggS@0#IY+:8:;98:BAEE;<:9>;:FBAB398E@>@2)($|+S>Kx/,X( ?}bU-Mw77Z:Tu(fl\+>H`PɳG)i;P Iו:rW{aꕍySlFuDR94+X@  @Jtxw^6_qN8;ӵVʪUk+wup4*ŭG! H[r0&k7 -޼uz= 4w%t#T#D^MQqn}ΎWnM]|Z+yfV~ =TO 2d_B+<%Q7jqҿL9/褚3Gĵ%xLiT(BG-,T)&~Wtec|Wo_=;Y.gAHd~ Y}؍97Z'3$?e  Ͳ+N%E*3kڴVdSW'4^|ijcSXuur޳,j?m7#hILtC,d(2 RI8V ӌҥdr]Le703cc3jFn{ 4n֮bLt{z/2S˜2n9+SF2Ed7BT, Y!:32rs7ӜJWMZFVP"WE9.B$!:+r !GYLQ.TYHM 1SK,v*qtt]8@tuKTSy#L Fp;]\Rn\0UJUrC #S˜U 8p@wb/[ UpYkppn*,[vm 1E8Xd"{Z"_1׿.Urҡ1PA)ÙY'+e=b &nYU26##CB1=Es9#m]s\tNpeQjl`+L"|0! ,_dRJZ,7Vg+TċzDTHy r%& F4J(\5eRsK,˖ }ʤ!nrao6ф dXf%XƌEcS7ųaYHu&/C hxn22' BfnA{Iy7))UYV! v`-$~PWWX-X,V ゥm]Mi3Z^rdp!@R8kчwx~EHqb8BF !Kŕ1^vg{~7RqYar^: ֢ )PN0gLkd%&=3F{l^:z`S{Љ_oM> `?{M{#E'xRSf%I"Z?dkn^;.ILb{6,qzH)T;/7'oS/\ ߗG5]ꞓɨHb$ZCfP6@*$%!& THH!!a 9BdaiZ:kmZ ug{:E0sc>C%H)m+ -33j̔^S쩛XmfeAf'0F;=7S'rGWJPԟg2 Q!:[S0]()lA4(  YʑA\*Pp2NUq(I(I+uFApY[W2`(PxHf!<DCa?pi *qeFP4DϺLc@Ć?0ԴaX\]Et_qolLcvf|:v1Bδ Bc*ae_)/[=KQJ%Q"zd;f;R;wcs4"HC(5z-}WO$2MT n̗zO}H:O\tRKA(7Nl"? ;o*!duT6=RI*q1\b(fSdHGqY.m{W;o5ye&P\llQUeyD3tPr,5fuloy08Ked2nQLq[PcIQ=Q\L H> y!+iNz!#B+,DB$TWp(I~XHRSHf8 JCVtvJtJk_$BRaJٵˈVG$+XX͙=G_2pwk7Θf_M:hp}@G >-8IGJuCӐN5>h`2P#`$s(zohoOC|N\ I7 \w61B@M* S ;"+)27p1T4II@"Q)" mqgGxd7(hQ#2m!KW:(]9z W6aQGg3K@s)LXa'TJnW2e eeX3M 3!c79938b5 XYM|a9Fn ~ܭXWC\NU90 .kD˲דqIطM_{uVv-E JWG  g3ҋڎ *"Y-8&rb%+2ES("POXʙ[HU+Xh@`7UqO U-2< R8*Y>J8 8Fx}#@B#pۉK6@'9} 403uAew 4vk^Hj@0n6sI7a |<rO40Ig/L ,,XhԫD#~"$K98'OZ6ͣ:G3߫iGSa2yGd -#j GB TBRȄR涌∻b23dXPP1: .K1d@ %%,&aAi +bNgd܋RFDFE$aL471l4Da$xkg0yc, Y{J 3R!Yl׾` G(`+ ҫQ *Q@>t !dF)UUVvts8׮ϔ߶y݌8d9*("_ْ]O[En,'h#PЮ (*+2& BL/3 ST D"pH$D,[ EI9)8]JH2 !բTM:Qܛ)Dq",)LH(t @*)Ұ!+T2J6[u•94% 7MC_ŒMd,aROggSd#Iޜl'7C>*'<8G@>D607;89<9:EA7"pJ'OuqeL,=(*{"d+.cPD==}aUؓ~5?6MrK)?tm7Si{O\tߍd'w#! *٭g9F*f3{-*D*v"3.+LmFBBdQ!7Ȋa̕bc5ɬTBl@A(V.4Ig bO$Aty]+GNĆ )Z/x-" .BF )JPApcYo._g81Ϯ\_׍jA oN :unѭȁ*nC^a{JUUSZTD}[2o5 `RK @>P@iubJA11mLYLYb{^j,[kZE.@%撊jh[0@73SJILf[8V2q"* ȤܭdbڬJ[Ik+ -B ]T:2i;,Rd6(HYEz"#H DD W(vQF&)('RS8"2Ǎ0Du )T4D"+TSUQa#H`, LrK]o*d}`8/P4>ԱԴޯQrnLyĿ4`FG*0zCab ޫHL"Vl8tjc®>(G,Ia6#sVFi6,NTL$mCՕk5\[TR4@K2@Q-D+䉯 "Ue!]|"H(hY))KHʑ$!")@dȨ89bdNÚ$\3(QaGEQʮz *DnoG&Q f3u=Tf֦c{ /0pSR ΜꔽbH*hSF6jFr19zhwdo` z 8:fu[EдbC">Tg ؼdqmڴAg_@dLS=z wU)Wҏls9:zvOhF1}5+ 'Ss^/s Ԫ Jq4&"ظV8^ 'M\S2:ʾ;]u!3( hWIxi7٘5%nksP;EӴ7=kyRfiToTnyw9oLCc9vw 9fr xw53n( |NjacGP @¯;jDl*TvLt.\z_+3Vr1Ou*;VZP?ܮd)q,}D%?s]wvj,vIi3O&Y2]6*J\]rS-BwDTW-+RRC!<:xCPLoJ*<&)&@O٢OvɈ^ޓJmk4 <-i2&yy3>cʢ?]yr+*U4I.dF$PT`bx͛ (k7]-fCOoٲٵ-DOM),*/DoCaTHLi}.tx*ef2/^TsBlҍ1I"SMň_._IF!&߫6϶r<ㄊԡY>TԱ xL5 2>[3UX-'R- ]h(T(@9]͝0fp=R6ۼ_ngn>~Sil]"\+˫ >K HE&r`h zo;lB+{RBcImWtsrf )EN_N RnE~-BFya*Z$O N Cz,Q(e& ^_v+>R#>1eEK-PlndߎJvs杛UΪ c,b*!P$!Q(%,B%dJ!NP{_%BŕLXP5x K#AJqtR$"MlA6>JҨBd\[%o zk\}KkU |=1-}^|jMәZ%7m8N7(x3ԘʴVOR575LQfD"R)\F:]J $˫>]QU-2O5k.& /I 3!-e \J6) ,-"F =Rǰ"N!%J"M HHdu]J" p@m\ @hQH3jX{`&0VL@amkpeq#a* ޻AZJܔR20W>~KdY)3[::$4rXBq4?|Pt+.V6v'OW\T\/ ZU)B5ZE셈0b&"alRxTԕ.d73%Zi 0j"cE# >#LEb>.l@['n:L;|FzB6bXHRt@ftXP$e)# q kB}#n@wm+цI;Yfj2F܎2Xgl=tEi( K5Wf橲̔V}ih=dxx{7V(si]<6d- r T`rNݰi d-U#%帔"e!Q*j+ *n&aiH@b!T t:R\-,XdߗzHY@E-@ǃ!!50q$!a/x:"B'ڟ$w mh I[ bmcp1OggS#IB(%95BAB3:69;9;BBL;.8:8B@?D"&)e1g*r\,ywO)^`TH$uK! L{3ǿPKColf!2b]v)#8a0͖aHL"uHIF.<$^&EbT띦-7Ӷ 7|cnxiQj`׵\m%0)mP|\Ք?Wó,6zY!L>cKd2oyG'f.;틆b0vi4.Kb{Ӱ#d&Y*EɈۘl+dP+h!5:[(eB$`iNң뙛Mڽ0vq:7Y<"U\_.CE3n4 ɼ)SJ>G#{,;x>Rm\n?p]|+^19*JbvosLQ|Pnc(oQst77W5CwD&jR1ElQA1"2JYI܉"!!@@f̒ѹqB5nrYKW Q2BqS"1c3>]\ŕbBWHBL}э>W\B:}*fpi hk=ן-8Gj]؍g5Iz A& UYmI͆SB~"Ȝ.2OuYOh JGBb`IB}v)DnT(EE/xmhKtt(R$2 @9xϽm)!R"Kvҡy˫ayvdP  M ĝlI=6b8 3`(9֚p;qdRLDQ-+&L0P 7ڡX%nTP2`MomlXM!Ѭl*?'{j%&¨F9euifo)eBU$ ֍8c?'JbծW'ՍBX+ٶMzm5}q| D@& @ptJw{1IŬ$JEP5^%s-74atl@aV6Y>nz{- ?^BDTnPH2ew\Q]s 4@7?\ eS|R Dpr?]jjLITer/}==z)Zi \Nç3Xـ Pd2!-3/ i\R#=%JJyK TPP^X̜hjYR(&@Q,gdƀA3]:qL D7(2Z-ۘI_.@On\;-@bMLXrY)i8 ukmod@p=x,+bZuc_3׳bQ_  ^ #UN qikF/5mӶmR՚Qʘ-z=uIe{C儤 r A`NyOy@zL͘e2,c_"u0cc:sd1pMTP{  ܌ ()H`SfYȌ,SE ~NML`TC)D12#3S @P P \؈8Ih<"vЪT˥bdDqra U\)݄,!"{oEdž L5\n:؆hMkrXi/(`\>{pP^"iE%Ԏ넽Yؽw/JL0S3f$#ɴXin͍a6Wy'gM<%ECDg\"dަB1$Q,#BQ0BdDY(b) P P$(("2H[(V,$X8,{HH܋$T$dTFF1,Zr$PA}GKp]EV`VD>4WZвƼ, oo0d[ p `=rc Ls4``ݻ@>y!dBl(T'_5/ PFR*_z}wp>գp~-OUv){ dUUP RFF&&Щ*""ڑ$d;a#D,HRfFcƅLB(QʤSjdDS#)R*qq9 "erJgNl@V/ eq%biX*X"@UG5r\*~ݩg2c^LǎD4\,+&4a0ri<@ (>b&!HeJM) Wȱɼ{NùovĦCz3sg^u78e_AwmGՐQn\(0Xabh !VEQE1 Q^t($B̦T,eY#A"L&Fb#laŵ2.z"D1.喒 AdWC܊% ܖR0qH) s!,iT\:=Rry:%3OggS#ILߔ:"B>G>=:9979>C@8:AAHR;D<9=::F3GEk0p0v;.@04 @5W< !6*z[N\)Qt!Ah[um޶N 4:qD`'T:  0U>Yd$.F-dM%rzޘ=$n<DΊ/ȝ I A$6! ։527Jf-=Zn}0 )D~X`\أswʼnIu. Be^-dR.g*ٛ1k͹C]+Z?ܘZBx]=0"/T.>_%;~ JyB(.V"m]0ZO$FσL2aVu+CVpcT?xSHEۙ_7*e>iȦǧ6cכPY7\,"g`7̂0by}1? z:`[zC @Oo,5~cb8TMd+R_&b۸xl(,ObN^:,Fa#!yz+j%3XhC\2m'{Ř׎\),Da H 6@WD[A$Bfj̬}\NWx͡Ź1sFzDZ7hWNsM/*O1, QCBDHi{H*cERRc̤ e(-BŊs2ҥ Q )P LF(UE\Ex/.n:vk]9ɥ|lemF`"9=Fۺta3AdLn%9nn0.B?MU ;#E=](fRժ:*XaB5sgOgA6eW Txʃ&Xe]6lݬH. ɚqﶞ MzmTJ}dHMF0R4ek`sW(]V#b.zg5k/UXX|7&{l"M(3#i?! -*/t:S>уEOl7n#" yQΧ Yx#Իڬ-6lJ <-?%U8&*Vy؏;t~;k]_ ]t>IW`= )b&ʼn*<{q^;WClUDft ˘? .oXE8pu.yT̮(L9~ts{dl[99RN0G'^n-|yw8rh̄t0?31TTm콩do$>JxF9gX .mč{OeuB*UK)mͮy]Ye[+3ɻl> `H_$ia^ oowF5|[(]QmՖ{ʶe)[Ӷ!t?PE^OeK˾a.LRgBi><߻㶽,) [(vl2`K ,>D:ݗ=Pe+TR(GnT?Meݶgff5d?AkYʒk$>?D l1Jp+ nVۖS,ڛZ>? 1i>X > O&XW5^łBݻmsF{ּ۪-, l>UY'PMr|Bs BeJ.]hIzcϢM6/odF?Iؓ N*,>;.q")De{#sC[Wkyy%3M* "226V.9M_IgBG5<42~۩#Tuf۶hi%xSL3 N1 Mnx 7ꮟ'o[_Wܚa94E@ z4k@K:uS:2]I\OʼnNb/9w<҆' jʷ@5$o7Iy݇(Eߟ̜4OZeY6de ${?# ,OJUq1Dk;5FP\{o*F݅K8B&VsC^U1.A2kN'75*-&)U) X@;;PU\]H75rZo}ޱӏaD8儤}Hs@:! dfk 2[XnDȋ]ƒ; {َ0..p]{ 8DǎT SFBw4՘]No3 *]EZykơ%yO-&#I+-bZQp#3vJDwt3\UPQHI!n]ܤ,>B:<:A6& ߴ+Bu 觲!~ۊ\3pxTcޭn5+-OggS#I:S1ECF@9>=?98DC?8GLHFAG-9;8<=@D@)8;;F-;%;83"Q 7f+%l~~o/**l٧TT*qwwu]5DguM{Tr$/X-/*3}ɇUBTw=޽wi3kV>w[]wJ lx ^bd O.V(Jkh}[soz=fndI6QL.i1CqSyNֻ,|96YjnUe\yfvo{Ձfo D uYJ]"n4KZ!Y92qye׮U% $B |+c1[ GٛCEەA,yiF\qVw t]F{N,F駒Uwٴt-/9hݶT茴ݚ޵֒ĶޫDV՗B ɟ ];DBhܓj\#eB5JVmubf=t3Str>c Hg:u@Jߵ hGYٷRaۦռnvYr9#1`J +D.K_2#ܡw%'S\&(t8d}~(O}A,U1Q§RJm۶m{vUMT.4To(e:RXV@=5QQNn$ͤaN$?zWm^ZD:ͧbkt*{ɾ'Y=bƚ]{9m-)kiZkWڹD.e"Ơ0`jT) W%C?~_Pž~vII6Z=piTnjB264z܆͛}ZP!/j,:qq[|wt\8ˮwيy9Qxu y+e+`*|sxOo^:l!ۼn4[G~ɮ _ 1^lΩ\fm6S}bĮWgFgm-Iܙ@ikMk$vbb,>q{#.АQ@  F]>T0#}5c; yo9k)H ڞ1Srff~mo{6459L"4v"ـr{+ȗh+Cwf4 ŝʣ\W/[*ۈܛfZ V'lRrr)S#_T ٟu= *(oX̼7Ww6{{r=Dxڭ,~F0ħKו y-I b$nɿ˅b# [,}[Z{kv{vnvc\.Ft}SOuI-ާ bbDPX,f*cZ,n6lTW6tJKMS#JQP \I, `H5* ŌjhDV YǶ3H*o^gi;KE~>!J*=֦ IhCxt#@،PkO0魤bɆtv~!enw7🣵DLUB,Q5RE"Ȱ 2APb%CH#P3V-<)nLEg!Cn2!Rb.6^*IFgDtPݛpRN PcDL)r"e`Jv2 H(.cc)!NA Db68r20xX/K`y`UPzkv`mhܹ7Cn(79q@ápЂ&p1<~JUcd잋fl!I: 8&d]RtZW1 h|aƂв/LV_?ݻm{#:IOe:d$j[s_wʛ i|ֲ6!tCb1P-\} *11li&[lɎ4rkѬf'3KO~RU.]U‰IRfbc{Un /KV0h+U .Q̉fW:uU)☙űm׶S#ȱkAC˽/J3" IԜ(tNl][=tޫ61]6͝Զqdg!XS'r+xNZZ65^Қc=+^5(d*5әhGB2OAxi s%3cfR@٨l\33]vwz 1ݐHRm)n}.l@E-PQU٪NWUN-%C|ʍsHNхH5$ t(W)bR DenDT ̘B2R|3\)\|$r}a Rd#AQ E'Ndǰ@7İ*@B'K? ܯ Vuoc&[ڣVZR0Z~;8.ʥjUX%@i W{0< K(eV$s@6$hl0să\!da:cFP)+)%GJN8fe&Y-YV2Tm@8 ȩd ! AItr>p$E2Kxucȵ'NKB| @Jĭ4meiՐe hnZTvoݛ8VZ=cB=_X<$I)ef_+pz 4ިN/pfklI2F2oKC-fiQJLѭ#išO:LaXTD5CEVr 2dF1Kp#ܐV<--"E s "C R&i#s1[2J )dܡ&BQ5R"xnsN6n޸vW9'B[P1f2s3¦ P2ErM04TN)ձwq'@*tVEk8JK(+qY@f(1K^ *I_LL6;LDU=)3=USI6#r]iU tΊ-HHy@Бv\U% –2:"Ή+u;d-D\Tp\=1ҙ,eނSFl j ⨎CS鮎7bhot-kd" %A*l-@?M@+XguJY ` EMۼ6k/i\kw<DOWlRRO>kPPB vokSg5UGmljLrx)@@0 oD;dѲbV~4~Ug+-eeA'~"gҀEX=]o;̓ RTbYqh]ivi.ʴ7ՒIDGe`qPb1.RT4c (KDFJ] ^f EZ I$C QHhX26H+QSH6NNrdT4š"ݳDII,]EEpINخ 3@̭6UICIuue2 Z?쨬 xlR5Kzsgdvr # )k,, ̦E Y!rKz0+bwFJ(DE-R傭w[4m&7'֑ya" 0)Dwj1OZ_‰(2;+ۥ:aNaZ/`1r +4@' j"(twT)e$qvy\ד5OggS#I%-98F%p(2%[eLe+H`j乄&*9WL(pF"٭(@+pJ@+Ĝ-7}3Y25O4fN&ٱ{.KVa'V$Ot!(pFq͌,UʬBElj#jq^ze/׍V xͪc2I{#.Mq\ȒBʅiZI-HY)dk$2Bɭnqŵ۞೷`hDZ[ b^D(WtDM,{4t@ƥ!O)R $>=.5yuM_Y[33C{s,ne錑9(сPԫ+h %bѶ (x uܻ.MIYV SYRHGHY& 6xA!'nH&&zkpvke?N ċHrpAp9LB[SYaICD5@g۩I!\BdffUǾD N&l1YaL2-ZKm=B#Pg$cnY)jB5Q%\$|rLοku;=jOMP|̌Gf"*j yrRZܻiw/@-{4RW-1/\ fuD @¿~uK=&L6U?vx޽9T6ּCo+5 #>t,K*T\ugK]7oRm: 4O Jwbj bp-Y(ی hw<̖eff+֨4VZfV1K?@W7&ԋzr3"sP})K[oZgfD^3k:OeE=W=n,s-Ò{ŌȹWڶ=iXf/0%Y¼bD5K FEJKJc+eXK=Zk;Ȳ]2f7Z~`GTA j(| +u Fi}RJ$m,n%Y \NlG]~D;FQe1dR*ϕ+u]l;<]jܿjGP<& Ш"@n]&hmzi=yo[bc=,.'kF 7B U G3"\tb?{m˭^mȚɅYs D?IA`"bbj~=BTOіT+wTΕ^l71Is5m yғi>"s@0Ec4M[:2yw~۪Ϳw}3"ϾuR&i%BcpI_RT6-oc*u{e͚i)^QJ?pE6m {^.)jR18|6\Ʀm^f$A3ؓPx">ХA%J{}2ZRvm-ưDJ;H%(7TcT U^[{_mݬc $2TD`MA D'Ǣ4OJ|k3ffz3mWm5~HK}~&x;X ;ezIˆ fF)*e@aə̀Jo[Zbg򬤖L%c&Ny3繷YoxdG5.!rc4t*گ꽒.rtLW|.OO:Z7]Ya5%={ixZmFM'-_HY[3z~j|;/*փ:~3wr]|o^|87'F5OvJ!3F^񓺺2 [^lST6F6?"A$*aA!{lƆ-^UwL[R|kx\ΌY^&>iKL+C±:SfJBRش]W*lm_j2_:<)K7N0rŞ Z1GTFEӨa=]ZS[=;S7fMacS ZP"a XHO7즈M)e޳3UkD9 w:A?mX:1j+7͑c- D+9:;;<<9@@NL%':B@EAe2֕Y?466`=?}nXYińk0 nBui_zĦ-R ]33QeZYNyڢn@*YV|3ڴbs)/r齞垘mۮD5/.R `2dAHJY* AT*DȽE: 8bXe[XH{.ɽh@B:KlJ)do"!GDlh&x+,d2@`5 JZ0U e2l2͠fz َ1*ro[ƫ6ɜ7"n+0+JtY9ޛcfe޿Ҧ 52BdmPj5,^R @:S*'#&"\%+E6iiJ^v| TEd0ke"# Dm7P 0J,MAF[.\\1\2,#q,/c1GH "d!$>Xĕ;2R5pYfZ1;r`P`p1/ƴf:a` ApFn>Nyg\Q9Y@1*%>CJ 08ʴ٥:D/DY-fUwu sP#_s. \ψ.@eXՐd˽`JQ%mCP2Nb9/P$ +H [ol:}`K53,2xKV_8kUg-Iz׆{k;f lM Yk 0`F <@OJ[)In HxjCdx3AP$7.Eн'/X)U}݄˒+ NhP3)IL" \,R!,ED@g12s7"RfJ[ `2%*3'\U0O)],l̐WDq ;oBV8܋ Q@`|fU1aJ BY'HK :.3jP\mfIl=ڟhke N׌N~W1^  ٔ@rpز"瑂"T񇵎u~] WWqoMafJQytߝ}p}տd)EajVwۣUS,qOd=vQsȵϛKNW7W|Nvh!*RB18Q-qY* YbfQ%eP l8R zIB]<0zpcuev kgX79f. cM3' 0T]bs@mvmI%PRJQTNcW-뭽q T4 +aHR{I]tim:W*I*ⅫeXqM6nu$t1(\"X ?wË.K*AEL7&d&Y(Ulۚc9٭YXL>j6+E+KL_?'7unvZTQJm'֞7mF;-Q%C`L 5Dh=%'g'ۍPQ̔TڭOY5mֵh ;uLiF#$VT@uT\ؕWUj#:6M,(VCj2"ĢQ, lS*jd0KEŒEQĦD 7`"6^"8Z2 ].\F'\)%ԌUw^u0p%"8Bij+`5M XKOʫ1 / j4sZ)/ D: ) bS*Qc5if&M+qn $Wb'ܳIJP1*lktwwd)v3BnkN6V٣9U -8E; P xDjzV(+RtTOl^5o8 H `$NG} @u'fl'D OW," jkf&/3t eVF$h ڋ_H BޕJY 2b-D( P3I3}I4qx?Ekr_fT8zX*cj44`UM ,O9hb+9Rq2(d-M:U[k6] =C~L?w+.!*ݥũѲ X #p Da]9^y @&U(Ku@M+szif{}1j ~P ?m}=c p,c*` EPiIPjwASQrʕKTy3^LjZiF +޼ S=c+*n Ԩ4 ]#ohdB}v].7k.zCSKz!q! h:AUDhOCP67VeL2,{?Zz}׾HHY-]WQ;("T Q1DEBť+;+2!.B҉M15CjEKUBDgjS0\5#bKUU A#3vIZ-Nn491UTRZ.&NʋlQ9p4 ݈ pdN܄4J;Ez Y\DU8'ZY|xy0d u IP 9Scy[3` b[{H:*`l`d؞!$I.efL{}jxQ&RL'?ϧE1,RTIV5MȤ;B6UAib/,btHUh)D3b*:,#'Mĭ25D)SDQf q iZ1چeY6&.:s“!EWHd&r$4 I&0`F$,aZB8\<cw.*fCo[6:~#>O]{WdZDD8ƀ:("KQAXQ$&k۔x,LW?}!vDp\I1,ݭ^c6qs5(;PH]aIc'PSץ$21ll}-\myWm5\1 :Ol091bQ@|\ QN՜5:l3czm @MGPX H@Ebg$% xj*ezɻy740q5^֗Qn$kWVBR@4'0,=@If_}w1=5S1UNV bS^ bN!3RhTD_q"Brx׍ uш n6ܓtݛ(/\|}bBqQMբKeIF ]aJa.J-B8Q# JhT5+bCJDtVZT ҉mOggS|#IN.8=CC(!67>8<:A?C;8AB9;@BDA;@A47CIDF] ӗu[UYX-RPl19Wgk9d*[nuvzV\ X T WRq)kf,Qf_c{'Io^'[QCpr8ɢ5(ZB^*T,4"7de6-Ѕbn䄢JJt{d\,:YA˓L[)oN 73`,@,E g LQ1jJB(zDnI7qEH m6WM!{, = @aw0ӆy?:0^.h T$Xfw^A";茁2ȷ$xŠU (zUL%,sWp+y8oX 9B{j`' 56){ #lTF $DJQ)-dd"DQ7r!#WȌ¥P +%hY$ ( E{ )'RFF57R`)A8 Er:)\ H TvLۍ6,Xg -.{@ &vyl:Cʜzl4L͔D)ɨPGR1Yc+T-&ytUg$WuYf\ dIi$2ɋ("P,!5 R12ĒHrE2lR(" )JpȩȀ Id\Cd!\HIY-WͨTHa/{iRFAC9`8tcмB\ DdmA>&*ڶږJޛ153cvk?ަV?}L˥Mi6}sN-۴ ocnV`HA!" ;D㪂&v(N̛8钂TDc22Dabp )sD$ JY.L$=2YT0O8-M\o$3SeV~x[.dj a2uml%0RCZ3 % -4}TG 9XNi;KEB.VV,8 ʼn$ 3YhظU)imcP IPCS"nV3 6*)Mvj.+ H,@DˋѢptэvF"LP9†M3-֘+ILl"7 Eӱf(qɔR̮0KN} 6;&54< }?O7,c4:Ƴ+ [ "gB5 fQ䊓MCl!ʽ3ňH +"2XSn $ vr*A+.pELAHr0  mMHt熡Eyu_1@ Ғ*Ѹ"X{МxlEƼoFE&86o:$32翜a$ 6E0r~=ǁF3FK4čj/m6=l"O. (^:2'1Rʆ1ښ4VKR Y1,]b]T&_t%,^D5x'>Hm9NUS8yu1m\&Ok2[M-jh]`fJQ9b13[9tqQrO+k:)e3c\$GH.6nD*wd o0k)~柄9ye־@Wzu SԘd>N HF^7"o\*<"BBȄAڿ`!~y_lB\)UToٲlwx۱U63 Wڿ2PR(GLbgҠXɽՏfo7Z`[Ma$R_^3b*?It`[4"ϬfDP)D<Ͼ[T6gXUֶ7DN䵠PG0A,!*rĝ8E^[6-f{s%u+Udg͵mjkY5M^®wRV\I$Rtg?("ݼ~4 fL Ge&m 6o۴'#c#Unom~f611rWqxBtddddB1Md+坋۔Qg㞤եQ绒<~@V?5٪[-mQ?'TBZݢ޾WZMbVkWM/뼷^J}3OWS5kp zgd͕!ע$mOO#/)t^ƪs]q!Ku`3 JxSo /G|?_SNo#&V)̵b {LBBA=A=C@C?BBD>B'8:9?<=A?@E:Z = 87LE(rjlu)u[.3o߲:k+??}x>ϊ}Ja;-a|g2h晨3K{;<DžKVZLBJC(tTb c3t!ED0 &2##,F!2#BɐR)'JƳRX%tI)(r!]"JICmUR#X=EQ`%SЫ dh1nkfS(ꥪTk;M߰p/-aѪ^2f53ӈ&QJan3 v-eB ?SV-o骉%ɔلR_]*+涷XlK681zȽfXMՃŤZ{%+mQt4d ֡L@+ʶIv ##ed95 #a[\p(1P DbL&@k LA[4! b+y$)YNqp 2YجdЩ!z^r44h{74Xvk9{Z6G n{`pP: H`RT8Pb]n am)qgfLd(\df)zۍ0b'X)ڣ.@~B?*\q LR{WQ쀅: 58P:6E2]]lQqM BtbApj;k ?~toƧ ̍f`ߕ)* Es5ZLzjdFNl8Yb&e5Q@h{'l)\{e4]yǷT*W1ƾXYz7-eYν  Y.@~7>9Ep̊b"jFbDr'{nցWbj-ɻcY)~65,ގN01R>x7mQj0FԼtv`ZmԚ5Y4 Re2lF @ݼFr8/lkGttn7ZfEWvu:juVjkIO>J,-  |Lst8aeWd\_S-ުeI)za;on@hNVA/|,+ۢlKϡj1Gľ7ZlIVOvo$"]'_<-P*̴~t_-i/WRXZeE;ՂwMxY^ŬYlXmp5|1e#:WbU} gN6Օw+EIOڸ׬^3\fCJܬ.NDYMaTs]g fY,{,ݝFbBElSt[MPW-@6tM", 7b-VlJi'eeMVtK99Ky7ɿ!<4bϳZ>~_&RbȨEufK]٪Mn2tfޭQG%/7$S݄b!Eh @J) _.\ŋr뮓5c}mA:T+X[wg`_F3G:4T\Db䦀ZR-Ur=1ٔTS{ޛQ.Ksm?Vr˥܋[A;kջ3cbuglOLm~ݾ^u.GP?:̾K{}F<ϟFCSK&3KQd^0 |'{ȅ[ۑ皩1'+MLƆLSIv];,[AO41ɞ]UI.TUw3ioQl[oIvtyMcA>)A~"kg(5#lFTD.N]dH{7?WY޶ieZ,X{o1]ɼEݡ*x*k:jp[ :NtܴJT3 [PJ"U׫{]nR6[[ڱ9]s$%.`'i@@ qQ f2C$eiT Lni-)KAǻ;]/3$e-GbPr23sY,Vlۨ*ѪYo2k8ޫsnF?tKodSE%7*2+Q)콷g);{ʚ r;o4Q@,kuPlJԬ^wt4۲฻,+/rpQ>_ro2;UB5ݜ8+sIBP@x%5&L)DB"7Bb U1ZT3NTClU>y(W/3IJ*%UWY$M"g-0"IMwYLܲwT!$(ZܻF)Vφ =X r{@n2@udeɇĔe 2.3h^{Z6;{ZqVTCI+^ / u{+ߓ+-Lٽ{wXg7V?o3sO+lաũiA͖،",[tXTMGojԨ$;&e",?m6M~'G-~vD3Q}dpI)αȵ.pUحȽLracƩD*Q Ć(D Bn ӑTBlp&|J#\,WRi#W)/ȸjtEwR@A1o"7dq:8m @cWǀd\[K5ݖ) iVwѿ`ؙ an >;T]>æ;n豠*Mp\332_6n,7韤 ! x1b{٣@KȍwD5!IUId)JE#r;1$]JrR. A'n(dSTd#;MM4q22N0 nÄ ]䦐/Ҧ|n6#&;FB0:@;C>1/(:ZKn=`! i"cY-sot}Pa .L1<@#HXHx#neae^ @GYzE7T8 *æB_Jfy&ˍq@:qLf)lԔC?QЍ]H,ZR1l;$sIS*H~r ^eεqK&4RA54, &nS*SZY@\Nr5V}{Lz_`H*REjȘJܠR5vZ0{{?(i2qrlFTIFc'f)T+F.>] pr*̽2ު.Kࠈ>7& S8na}NF@{2PL='H6gۙwYQ `Ƽ62.Ś q 7s^\졋[JB?D ) \qʬY|e{~H&BĹQݸyߓhd٥H@.]TP xv 3Z]k ]4 JUzhنC94H[lun\5"ً%ŬR"H It14Yt9!$3c/B6$!Ѕ>їr*'G @kuog1#Ý؛999o?\6Tm@UxzR7t"eN8BlsTQeGh߿}g~߮'3n!uoǼx8ϰ3DS١ (2%v][Yh^XWL .| PH؊JZT] Bd6CȌS #% P$QKrA0rkK J9adDnfMRƙRq25nGg"Ɋ4 1Pzѧl~5wF+ky﬷Nc4A77mΘ;s;= GAsL"@dCYݠ 嶚XI}w2jlJ! Wټ=\c{ uA<lvu$!>2c-ѹDc4س} :0,":{:X0uXy :ds Z"j կp XVW ٺo5uشy1d{ {uB㟪oUz= P:) >n!?}jG!Wݍ]1JMrw+l6cA"EaT S>F?jMEeTÂ(6O 7B/{2zpd*zb+SJah[=x߯ݐFm-J3d[NNOZkk{۽{-hlZO+;0AP|cY4s9rL>xg-fl)=ؿUm~٪M wUޒ#~Tb"R Lz L@rXa*;O~ɧd 7.|?OuKԫx5L:; tp_BdzQ D p&~e(Q')P F#G7nCpe: xe>{d D}溚UŢY:S .Vcgv'V0̡[0P+C[E")Z镼1QObJ B^n 6$@XPceeW tRE T0+ e詡x騮I /Cv,x#=AvlPP9y*z,##Tbvtdl}'{^S,0Y[$ͺt]=0ưXwHVtd/6`P 꺳ԏZd!;K7yP-/ods2QJ,@iv:= R2IS{uA_$J.PU{uH L "@l٘Yɑqbw<>Zflu/ .AWQmkZ (A@sk*4 ";; ԉн/վLB9oİJ Ř(? W-6&l-o|= gO:[V9EF Lnyf ,E=f“e n <;Z F;-g}p ck6H+P3OggS #I"l$%9FF>+*'+69>DG/<:;8@;N+Xƅ4RY)@H]`FO*"%kz5efIheYt=%-+б8}f9c v|ыP$"dƠ9]yx{JVR*!mTKhvT26#/ CE!2+26/@ƹA޴ŕR: *]D26F ni"R& )XB,x,DRCoX)<@l0^^(i0 3Kb!Z@TTL_Zh5n2Lza٭5i"d"iT^}Glt$("7/^GX PThzʶCYyټZ|žokb3zwQmkSEn=\EU|n+O~.|7+) Tt!((d$LH, ze 6+  A %c"+!+g#M6,X?@A殠1B1&#'wyMN1-f1%ZVKA3 on>Kɢ|}$ 22fWpܜC1z}=[c |J8SN,p$VRT//op)RLT=-Hk~@ v$Q=,3T)"2?{SCyte$^XI;rd$Y$TC)$B)\1EWd'PJ’-$E2CCDWNC/Mll;q@p2y`lĄ<I6l^+޲[f[&=30֚۠@980@ \>@,T;ms^O,#q|x_sg ;QU{j=z$l]BPiQT.uQT 9t>ʡK :O]ܘmڸ#E 1R0@%dt ޟ+UF..9:k25BJTH))#4 DFxڠ5!0#j3奻ޙ֍"]ii{h] Bt1p)&ioׇmNW+Z7т}&fs\|άhetE IkuGM-~i T]ߖ'ˆl853^s ]f&t I_yQ*q ?xWL_mOͰ:)N=L^y}}x{s>>디HԏG~t8PۅYssVWox}~\ {wBbS*%RƉR{zi#PY8@.j/-n/%[+]U%%Ycƞ+;z`FhY*.dC %F揕j-5Eoϫ\(J+o ËA4 tbL'* OR@LgYpܘyG٠ yƑ̌1eȕ jsl-G*!*r"ΕC&]xM23o'\w4W5Tb5{~"ʝH+IԱDuBFm3Cf7>@rzܒ&.Tc& 5Nř_^e̽UC"١g|Ȣ||&Xh=v# WPBUtXUNWMY\!Seue*,0s/cMHXb'ک$ Y)i w-Y4w}6;avgdnP]g,HfȆ~ K 8z%$$xSMxM=5j)khC4Xv)NWP.ey i퀪2^ 9ꫢ(4@:84n,acKNL =RJjnJ!TD!. *m (JAQ"2sC FHO|L~a ȡIDJqʡs̆"."Wv։&4Oy=hPgZmZK/cf5v;bI"D1@{hC(0moӅ -O͘)%_׊u{U<1ή \Y{?K y1p=UTTcuWJ(_ͩΑsJDr{)Nn/b.CDq2)v )ΖmW㲚kꋐɤ!2M/CxuD9 :K۴d798±<$C !@Q+BMfk 2JSO*=4J6AOggS9#I֮Z*:;;@BB7!$&:::=79:AC48::796:7;<*+>݀u1A&fu$EfS+ HFRiլ*[q]F,[jPǫ+8J BUnjz,m|+5Q8lwϏdBۈvRe0fݹ d"늈o#+@i̫Hf$H“K#fSzoV(뮛ն=MG<dJ \ZcvG]@L"I9eDC%=и}z{V{Fw dJOޛوO,4v vU'/Z5ԊkS;[WUE9պhm:ױd‹ Y3jAt iEU];HR*fViS߽WLmm(;:t1CZCz"PbO'NҷEDƫ2 ^#9~J䪑yէՊTY'I "ھS7)؎0UQJh'X rYLH)NLƻ =cD,HR\1Bbb&94\L(UܬNd9s1WQ@ }Y^љ)]b#Х ,ψ~0+pgPmlX3QŇ]\~2KeJ\`+|h${pu&75US2%o?|yk=݆ʱȿ|y r[iڂa6텂A< D\dD LwD#ɽE%q@JM)(T DPRlĒV""1VpYjnTٌꈓ"ɒ$EnS0Ͱ4h›tSU,R%LLJY.IQ*}#C&5kbijI^ߏ|:wfdϙo`' EYVA)0{ks%G"eL5S %I߀yOKHCjJR2zGq+u$5Yy^c_Ig>։BsY틪 -FK&"Ql". (pRDU媅jI$#(H \ QdBV3 (1 +(d r@(rĕC X( U1`Ţ+ɸDUFQrXK*kmw2bϜ.x:Y3b@ 8ZNvnk!~I(#aἫZ=rBq* 53ԨQ+8vv1N/:n8#^#oouP"]jE򏒦&Tb .|yq! 9s RHR\"#PJ ¥(t!a 3+J$E1Dq; "kY 'X9ERh76R@22m8P ՅZr}o $|z wǓ -6379cŀeG/b)P[ ~%DH =E8 '' U6|`k*eL+SA~ⲵuռTynk`wx*\ݞWU\*D~ R"ߩ#]Mqe*Sj[-T%$E*V 6&/F+"2:"E6jTjT'8R) !!cbR&%!oZK%U00a Ui=:1YOErvʒ}!.2gnڴx"lbR`@XjFY-M0]*1gbL9bD6nijG\`Z9)V;+km>"ϯ6B2ޖD%zmYڤtW^LjVefKJ6YqR)##џhf5Y>ֈU Tr[-pfY uy%h WQs}xC=93n c^J(%I^xù7bItW:qs5nje.u31ڴ;ifGEZ orm,`2{w|mU统8އcy<"XqH᧵WnikAP`l } }^C˼pϕ yFƑ\P* :#E(Rlbc8.. 6 'NKGP\☕KTAg,f!33qȈ#OW Q~x!nA ^ ؽQ#0y~4^]5mM{&"z8웚:Yh;mb:Q JU>)B@ ~{'  "*0KQe_@wwmR2Q73~WoqymX8 Gxo^zB:ր.}V(dYJP0PmVEqöKA* KөG92Mq`DI9D"w8SJM;dho#w#Du]cq.% xͅXw4L^`3aɊz r\4@uU,:I(k#A*:P*}' iid} 3'%pZE @^߸ʻqn|Q? zf2s7l e%űx2qYWr|nMbֆTd]AUs [4gBEPDY ml}mO%RT]^ #Uab [jֆpYb"!hɴT 0MRWQu+Qoa`ؠ2&SWzY*.*u$dށL m*uw5?_!6vnhZ;d Fq69lnl$O[Dؔ!SM\vdzV[s2NUj>|@*s 3}77&[1wق]v^/J͙Wujmz}?m6`~EʳמPtOmGuqƦ":#*=#&HK *ߚ X <*K@Ǹ)fv'7V X]Vg>fZv*~Û<龚c44;?Lߞr&%#WGIBiw  ZiЏ(ZbJ[Rf%v]Ջ}ׯ iI+YѺ-iP-GUtk;:΋w-3]LPʞXT^uU4bi5\Zhŋa0AA (:'W~G]Xe@I؁ <5ev:'nMkm,$AH-?(1Mnfcafc+e?h>/ȯN9l즀bҍܻ=wY:|zYü˯@T@NQhՌn~ynDCDH;C88<:BBD?LGC.?<<=::A>J9:r'ՒauOEEz LCkRQ*2*qBGlSM9@Vܿ޽^q{4UwGlJǮk큌\ߠl c=ŨM%be6WE[PLx{>IbrttHlxۮb,'$] kXK[5@x ??CFn)W~5dZ#S9:OkzKWYg۶6w֢銪*BЍu"]ȤoX BL׭=LC%ILՈbovZJzQ3ef8@f/"Rt `r@{1Q^*uVTXlwa /P`Aէ‹^ @NewQ+lVVt<-lCFqqvlOuw]/t@JSòOy{EHLTfI\_Y)VZIZ}cwִ؛_RZš3lF<׍e,@>ݷOcp5ЗwG1{V4;[V;TS~DJdʟCD̠Jև yۘD$.k{o* cM־.[mEמ`/Δ. "9ıbb%1G[gkҥpRr._k B4޶mV.S˷<0'~h$Hf_ri zf7j"R\#/tpqOAУcx;\Fy6`fU(ȋܬpb!DQ-$!C8OI,pʴ (X "27 SV.eL = ܬd@9.#Md Ձ: `{4`Z㍍3{{{ks^7385yK&J HD&<1(~;D!KA3GۍUw"uAtT9IR}WNJ)gwJFPKixQ.7|N53"7ca:`9;H8XӵcWoܒn̶zhW9Ѽ|Jݠ娐*/H`,iiSa׺~rX .LFn1^^m=s.iŧWwu⛹Ӟ wkb=|E2Gsaܖ=v5v#J=zvk|c 3@g4UidVm6"OHΨ?s6Wr϶׆UfN ە1nt4!r,CdCYIZDu.1v'q93_}R 7wL 뺿1tu=JKH93)Yi whZr:SBE=߿N޴4e8=S' )_:T:]ήЩ|>nU%7uV8Rfk^/Xk9ӂVcjTƓ#to3 N]+1RQT3 <ȸpΥ,ᘋr.cf .C!"B$O%?Hӗ@}XD lo) 4RC{|[Ay#TsM E/vZEPxv=hjGÃ(4AN3`ix@ 1@~jB9lT#s+O໺qװz?ѵ7ZW^'>r|wV yYJ>\i;w޷u}\І[cĪwdr]=)B%t[nbe#\0f ;$o|κrHU;r X \=2Upt_~V-\O&M1sSjdk8IEtKd -}.ŒP /L BuAALӴmm(:*зY^P)4BbE!ˁDU{{{ҍ!aͻ٩+"ΎKnʘխ㙧sh~M:~>H[N*V+>y4SRSٽJꨛ^HD⦑k=r6,w&dNT: OoUF#o< |S!w1f-bՇ|>vkmk4lAjT:׈Nu@o[ET;Fo0 1YV.*[&n۫v;-0,Gdǡ-#-ȷCd&Z,p"2Q6 X eϬ*Z>^)G;>BmON]_\|i#N~|Gn}m6i`% zu[%+{M\Z\jir۫ y*SYY9DFFA)B0&"aҸr0(i!˚!;4M@#.C&%$.#Pʝ ĉhuu$ssG߻G^" ؛&#!e_RZo_`UYl&^㼩le@S(Jq]؄/tngv.,I_A;3*'"#b9צfz9pl%m&2!J Ig ;Y"LU.)ƯBi &q#,[Gxr \;`BoI/uATLB.0mxݛ˛~X)rnc`# T:iAN[iF(bh\M֛~18Z|Z4:5RrCx j LwS)3-Lm^A3kS쇐:2! ,X 1*{[m YZY^)#WՖ\ĮzEi( ԩY-Y_݄:v*k_Oe^m]I^(4}D\;G$vq&F":.6'b!RFt53X4l@3:wt$Q _y0l^CSY) j"I)T@Zk_M=r`&[wgphwnظ l8: f0` O.SIUB i~0l %E`xR_oW`,}Ӈ˄aՉ^}ҢʩF>)i\݅{*8o;2rԨ7dadgC2B@F TKڙqYEr8-}P@"u*.)D8HOXR`GvV.W34/\Bvf4(Z z-3Y-ZOggS@#Iʺ)18;:D=BG,*50*<8<;78;?D.?;>lMxE ay>M nqwvH+)\;`r&Gֿ~^}KWHTR IB T:.}xTN rtٹR{#k^sLL 3KxD7 ?2P3ql)cxTp# U$ L3Lޣ dݐM+drFcVSrJܘYr=Uײp$➐HU6#.睌fЫ? t2RmX7 _2G5)%\GC;>+;)3:w݌٩\. 蔹p,-^?1akԥ{ߊ-q|w-LZ5yq/TJ:,Ȩs:TI(^,sgfS#IID!ڛofg[Hkf^O7>i*gcLn\S^ .Ad%+DQ =H Zd@JJRBҥBLYrYD12J 2Dn$ ѱ[QEYޞRpA! u:rDG gQE AV9[AmbÐH/zEl[V$Y ?3ck*LnL;BTUA!#6X0370~ "bZ6}CR9فj!iō Ò ˿kLNF]h7"TsF(<2~Q}RǼh{C2JVED% 4G8,dhkYb/{,SJ)#H0tS`r)DIqܭ%E lu؊SȉDAgU9{ "+2@۹DM\rB&ΩP) Y,sr0!"zDoS~[M)/F5 If*-gy3{"i@ *m~X%4a羯  fm[vәx*DjL&#@MEUNo_ҪERrnݣU |D'.lF^ ]>2MA~:a-UA:> k7#" FEb >*t gl1lʾ쯍ʐIB*U/gvw[ogo:;ussZj}Q !y(@{ @zEJ,2@9?Gp]Y>EwJjI\ҘL^Qr"AX#O&kBkNPrr;KXn&GKz$T.|(g@UPաT$d{! !.`C!<M!!AEƍvqv(ll-l+wm %)MUf\I 1&y KQ(p$& Q@P'9B^**Y  jxS"Ow{ ̨)(e+2xMJm{]mSm͝g7/lz ߉kj +tJ26J5*||; LDW=V<iO]5#"P$e.+ ZY)#ɕҬy4t!C5D݄V2nR @T#-QH'UK1]¾D&}YSų2ҘPau nPؘ4U,yTc̙y- 8U1d6 Y ) [TZݴnzY+z=tBWi?=d;/X~>8;uݻ{‡k_q3m-^kۖ*it)%)u)&J)MPpcKGɋp *]}` UFe@s9쇿s۸N4~+0R9HL7l+ SDod^@K+2^첐9V-brnoPQ!yq`эƴ ؓ]{ws>3RrY7l$hmzie޿h ]fg_u?fX禬anuޟ|R=o^T_@%Cry} x o26 8'ހ87{&&3H*3McHGl%Iا灝}'M xVV OV7nדۭ}$ih5|^hiihi4s$<.@{TIa@@A^JU M&HF<9<8=:<:BCQ=[͆7,v=>F>8D1LOuM߮ AAbv;$ybs] rn# S%yݠz7 wCp R6f{M?]Fyyo{2G7O0Tcsk{|-(hݗ8Y%By(v)5B@&6_e։r8ގ'[v]k/e^;*k4qP"؆MtWbܸgC FcA l}@c5߽e(.x2$$EC6q\k|z޶^vw뺿fLJYÜ Fiξ ={7s=%.eºm(juzzcD 0r6h }]Q{<6=1SZoVڡ2'o~lXjCik.?W31I.ʳK71l 1fZs[ ]r\ Cj&`&/pE"B"Ad ),HWx.k{d1!3 /7ŌbFԄLFj-2dvn'qYLl3r6е:R\I5\!.pbn\ &@ss {c)7}M3k2*񻈲b~z8BF`dqc̍. L7dbI;a/o ?ԛyeGMhej)Mrri9[,.E7Uʹ뮙؍,G̦t<GF%EVTr\DQTJf! rd,$Bf` BKRJx" OJ"⩔gDJe#hV) lPA Ig HXFm : ڕKer ++@dAӊ{eX4l6s5&ZМ79k>L6A"EL`ՙ&ܗoLWJpit@f42:ې1/~#VKPZžn|0]I?y\A j=kOTY(r}:ت +\""s+H IRFeDǂTY*8 n Y7NBddk%?ܰM*$=HvVp=\n ֳmoJ0 0Jec`>,B^KDnNp`X=f É9 D):S7O(GrS2,eODfT)_+oW嬧J~ %j|^\2*ϜYUW;y.ݻ$@1GJ5u wo|]⋬fV[9ĕ2*d 2Dt(3\b KG):C1sC BFeFu 8ɸbt#+ c WU"1KKXE)~^L CA+ D// (м4hV'QY@2Cky& V.͈Fy0Y|o\JϏn2 io Lg%7sm<{x3nxyS#KN/X˯(=!fH WE/K[eTʗ (R(Ɣ#(d$&=1nu=<XW(Z0q'?=t=$Ą[݊F(eD[̶ì]s/m  =$rf]`c 5:z[L RkѤhE OZԶ~&O9.YQC@QY֔L 1WetRE%o_W*9W,*.umj)OYޏcFlU{])tB /C/Jz߽ݿJ Mz"X({g^|;,odB ]4&A5H ®n$<6i((i>.޾/RF_+)&Z˒ (>EFo:#Y,:T P*SeAfyػw:uHl_qem__/y5~߼̇ &6󥈡 p,VuJ{[|Z|Y}̓W_BY<:{eȮK刖U& J1}ɑdtV'[i8#|FV^!DgVٜ令&qk,|˱ {[Ɣ=@oo|[7' ` }YH4^;llFJU#h͚ FA- $M f. ef_18ճo#~ U~aQU=0_gw:R~è@O9[ȾoOOn'>-}"n8BG2bȨd[G rC1)!D Dn)eQ2L(Qz,c 1솂]} @C&FnP,e-&@g5^98F^`ZTOggS#I/+:;8AAAC, +5:65;86>>$.86:88;6??>3{YYxW,fvewt8V*0'MW0+Q,r4 {O{#"33fTw} Լ}j/my>0 #sSoJ?[3-ʃ-akR smB?VT%U)6CBgT#{eS%i'Qr ",F)Rk"zb Ẅ́뗫dR2ly7m&y,f#g2ޣ5"sQcvV\,On7ܬzK& Xo]l`قǾdl OZa~4:oOJn@ @L:k^Y$vD7 5Ц?1Fp= kυx87,aBj {d JGR0;G>Q5VOZ,/Wɜܪ1𶌳$ {&T(wNHa4N?C+ina$'>fM3(U*g{mdwL\ʎ 1A\tC8 1aS/>ED?1_V VQ+" yco=nu ;&T^DБg<=pW?c@ $S,bBd ]]YE=*ݥ++lF_ pDLztΙQYlhMY'dӯzLcNFP+" Y(TAE @7R3/s+6E0ngoUgS;SIt\~!k9Kf̰\LWCJ2$HBR3RJ؈S"eql+ dFDBD ݌> Hu"e IJM2VR).JN Boa#BȜLM 27.(:'̄ de "iHZO.4ƌA&=j3 EqԢ׌{mX;I :flA$iDTĜ IAMp5Sj,N =[-֜{}j+r%cȈ;Q TW1YY Y \ hHTAP6r22h)C(njD2U)(BDd2FYaA$( @t@QѺ:3'W bR+%ҍܴI 2q #I =b$ %ጼ+c<u͟}3]Lȋ8DJuae_w6 K>٢WBȫ">~VM=@L.QjԌDY[=wx8dMciY9/4uXJTYִ]"F1JLTc"e;zB!lD, R#c$Dtj& aBdIw77Kɢj*@@D*df!nND/ƙȉt )H(btqsmt1TkDnr tY!QZNh,O`c6h<ֿΐC =3lvfr؁j`1B]L.ݝ ɧ_HG R6S*ʲ۴W1y>FNaV ES1@J*&@̽b3" p QYba 2Rd %ȌR=DҩL2АJER]UV.. \ 62dAf(e$ l7E-YqEM6b@`O(nFʉ.qǕ ̔[[^K`v^7\ff7J@cI4о)x,)t֋,)-ST/4&TR-+!k ԙ}ZLGwYwJd1#øMd=c;,Ҥ`MK0n |ީ)jqښE, ATh[+~{}_o銈k4b9ug(.z ~? (/î`E|[owf4~e;,mލ:H,@xy&m 7jTɿL=o~xVﯿsL\o/:Q{mz)baRrIZsБI4mqլu@)⨥\ TIFLɠe)S((E9%X6CpIo iӅ`mFQnӋ›0q$BVx4Lۋ6sqR)K+AxɠxL}Y1˪EéԤF3J fdw`y{F%6xDviz 掼V8) <)@}{%<ɔ23==,>^Z7>_r?!NS~aov})2zJ轗:xY)iMY(FF{Tv3h1TFZ{)j(E@XQ R-tnTM讕X "%LS+!Tx#@mXjd2>NJCmZ rQ@ey]L={_2Լn[[FiS:E\ *yܒq!P55vpSGJ*5}F%r^NI6u}β)0d:(I&ַ [=W SJlLPO}iܹpQF U'FHFnfVHTKG"1QY0vc{JqfE:Ld M#,! lHfj~%)dl%DʘSecݼ4iV;%$^ r,F_&fFuUvtS;]yI dD5mUqSH{H>;(]dNe皧nG f3&ğ8;Mo&*E*+oXoڴjs 9 0-Cmzp4(7CKd gǫ=2kELziT" ʢrFFf0<&/~+L8I t.U^_Mfjetɴs:6`ٛ)p<-\r;&E=yMŅ Sfo@5GEw#|`N6t ]^1ׅ铁˸MJ;Eosۛasf6w JWGU~һ6D1NăѺ'4I&Խ2?Jr~zrb}!kD=o6rWIKU;٧2xlEoOkQjҴWy)0}eAMKî F?Ywpv{Kcuvu'slbIo[tdfPOggS(#IL,,/98F=79;DCD048789;=4@?)6;9<>=HA@(ƴ4@ҹ3EZjfl=*#o혙}T]Z% f͍lbk<{{wZw&Cyc^[*fǽ+5۫h$H7WWws=sje| U~|6GouԸ_5jmk_{;YS?>33*晡u:>mbBSl鯯*7}z^l5zS۳/uֹ$eD<ŇaM# Z._Fٖ so-t4q:Ap C_q2dU&L]3=$e9?ʮ58LW?~UQLEA'Gb͒6,nfltb{KHPC8v-w:F-!2<+vM*++v{ai6b62C|ULp}j-otf=jm.OY[]3GFgi.-ڽwݛwZc-ڭ^O *[X3u{%i<]KMkE.umbsfln%Ȇ# %N ßYTBW^b9"3Ӵ%.4}:KM^'-b^EԱopZ(SD4 GC5S0 L^Wf:^n@MT򕻙Ž-O\]"T$Vf%kjToϾbEFdv0QeRdfb u|dj2LjD.3ba*+7"U"$b $)<3W'Y]dRhHP:&pySf*cE8u!`z(nDZ )"֚ʒ64 XC5nhinqbn; SԥUl%ތNWU dme/ݵn7z@+醧iYnp: 3_>U6I WYPDr!x,Hn:ӢV5llxCj '"K(n kO{fLdž6f-|Za Cgڼ 1eҙ;,2SͺWkJL3`IʡSkN6WE| nfFU7[-NTZM:,gVvַZMLϪ,;[ _伎Y^4oJo}^쬵v/k<w^JPz_0;(ӻ"KژVsW=u]ێ˖*g`pLV=jO[ۣXHS͔3 6LL6k\jm؆J2K/y*9‚0킺G/.KmzΧ8g74ёY-L2 ,Z̵ӓ9Cպcn5;l}k}|_Z.kgøZIDqvjTn~deqTqgϚQ<;Ns,Dov2ˊpDK!07nQ 7F>QTNԐ@g@mM)9<p-g}|B/&)Swz:\>P(PvEK*^ ԺKfEI;;<1g)ɮ},lXl.U[6X Wd ic¸- -nhק2s0tH€р]7ʝZ 0i(5XH @* 5,0r45g{8$ęSi053( _++kAln&XAmoUӭ-M*2]IǮ]WZSu9|-gSu&;yz]i7ztN; 7FYVPbm*7G8g8Kdٞz `chG$1a?o$]D+,bdd Vl^Ivkm2űGwxmm:"jZi0hk촷FCwaW,I!(3 2Dx icE8BVsPP̬heɊ"iQq\9.;đ{3Ւ)堋)x9"rD" LR؈ r{ြlz|4dC$fR~3֒;U@Vf-CSsDFx>Λ[h1:B\Bt:I( .?< vrD-'#Bمm,Bel@%+j<Sd_HT(ϧYvguLh(ՈFv͘`t^|UL0DT4N!Qao`w.KMWhŲFDn镝fӈ5:vLڴ琱Xx`F`; t$%bG!@]A:UYx~jKTdL3  HPjww BfȈl[t^L'w>c%fϦ1\*O/q&6i\u( ,hƚmjo.7dboP )ıG^Hk8X(#IM [aEJn<^T |ޚYk.EgЉ꬀(fʻi^U(ɘU?(/vpLHvnl=`Y֭qQF 16fOw!I*YbdK+e!Y(dd،b؄r7's G92]*$HP Cx~2.zJIݖ2l E2M R1I1D$FKt Fg0q%I YdZ㯻mWnX^7Wjh2bt 1@q87^*C"C?-J!R7uX25Six]ř[W_\SQj=GZqJ4gs,JyT@Jc(*G4%&(T+.KF!C% $x%jfmQBl71~#^h|T8Xs 9 ldaT=s !!DVdp@n"r'"&+J" xzz!hp_'͹@[F;l7#rӁ r=\.9}# wAͪ$ gHNz# %Ѳޫd$L^eܳ($sp !7LD T+1\sUW f'"H lX7SVbw#J 3Ar](w@9S ,ehtECYq62"Y-Y#YqHQЎC!"n>\6݀I)%0P3pH!i0FvzV PQA=XKZD[قۘ)wfاo4{ 2Pp>^uL>C f OJ>;(GJR 8*~W[ϰ5L"AcX7zJ0#^P."%eMǴ_x6'|]\Aor&*~r1Ō˔_ۨn3jU(s z GĊ>筬3˨_t$,"&UFf4 "K^@jTB44P'] *ck{f\yޝ4C ( UY*gM@},~զ%ݣ\¸b YiLL\V(V4rٖuz&~!@E\eW!S:TWN(I<)콍!4)BC.s4(Rv\gʕ,w%iiP+L`"9#3˻ ;:optڧf_lO` sTykvM06kS2|bGR1zCIݱ@UP\7@Sʔ^_Q4;Pdąә9?cJ57NoXڋnQ^5据ܤMt02"N^:V=T!l"ĵ̸T͞4(B\k*ȭ ## ߒZR$PH&rCS7F12B! P[ N ؐrUZy < bPQ/ˉQ)\H@xaǔL+cBܿ F!f 6`7 ?8o` 98Y˔p "z0JtĆRF"z263Ed#X->xr 1)MVM= OĿ8ҍ2nc)ƖK~aWErٻt4E }E5@B9](0 SԮL-/TsPndnsmлbIou4KgR` gm*dЍw7Ҧ{ݩ+gme6ӗ^l؃I:*=Փ-'EaI,V'@ 11 f 4z\gZ26M%;>6"NOuo?*6}>C)+* Lg.b޲K fZʯl2[" ] oBQV:HF;B]vDZ#P=Ng {"}2,:x\ES2F{7%~|t4O_QiBKS]l/lUz`knmw=yvAh  2CzřI ~+}76cb$ݝޱnGEn$M4-RWP `@;."+*@=::DG(99=C@WȞnxԔWCy/ﴭ7Ŀ'ǘ?wv<}9pyN)rDѤ}4۽ 9C+3s+FTX(I.V Bɥ.r RI4&OZQh2E! rC&J2+%C9);t2ޕ !ge9Y@&!\ y;t[`誂4eRD_˭.d$E(5ƲQdΜ V bXLWߧI>Q)07 3ǘR&6E$n RT6-hm9]\+ /M8VVES{{mu>IvO~?P`Xj!Cl[J{jM!XD6bI # WhX!*$đ\mg02@V$6@lf"q8Ȋ4ȸAw,ڵ j2w斖@O.0FÔsjk- NOea46bRXlQ_XfLSf2,{E?vl\?V t`Y a%ZٞN#0k@QxA4OhUi'x"v詔ѨBO\"Eh\f x '˕DQZ.0xA #+d0Tz)e H$~)9KDc0Y-)t1h"~V ^  Oh*E0slpel7MȬ;*[+L|gd} d0A<}A5Lt{OY 9(`7 @2cefJ~Ee4^NPY|ɧxW5 ˳8M"T-{Eu<nÔ%u|]xǪNNk]?n@v,/ k=L~= z^۶>Kw^y8 vOCN.|F00Gw٬*G;Պ]D̊` )}$"5<!HVIHN +xF7:%X:Da"-u؛  .Tdbе\ 5II9{//1RĺYky3K zE(0|&% 0tP#[-B%p]<1'.J7uی̺YxddT6 Jh RY0u c Kp6(/}Ȝ7~ִ׮8|\* R t\T5@?P,Z,1EӺ2 l٬'&Lj aVؗ 746 OO~$9ub?"%到fޔΆbl\jNͲf @v,CەX@Z=1vF"-sW͖ njcHR; *iô9i$DYyF'rH/CXIL:>km G9^gOer v0GՐoDHjVU"̷|u kb¬ DGʹؖ#&@py}4r$&MlωjFd!'2Dr\b75)fEV6Bxk]/R `(hzH^pCt:rPR"ޭ@Hn/vi7{M_fK-[!1 ֔qŐm Rw {ulEpiuɔl .c75l4hZ3zi'E&˞BG[PrN5D=oeyȭY,jf( (%2kJ2j0~Ú+oٮU'DʲPg{UG-w UR+Ȅ m3VR;Ɏ6ÐT ~K^6{mA':rg-K_/U"o&g,.▹7MbV:`]yҺ5הdb9OR);2!@??(à uOuйFFF̯kfJώZ@b.l:ݔuj'+]=8l*`Qf얹}eVyޥR%rW94&iTH9TL#+&J;'>,'ᣀB ) +S&@Y˾_V.Yd\Mj#^ZT^8C?^K@Q?{x:ZLyYZKzmv<b(]i@n-D& x zhԑȉ4@5Qѓ 2!̱f\Җ.Rstn-DđD2w#.#t0>b/-h0k[Z~nn'b0V7さ$kKCg&p*R!>ig蘞]d  `@@F2e~|||ue}ߋ~pwd%Q 1 U껑ct ncȻ_ؼ@(CA/Dt؝EI ,n\&Q{0)eŖ2M "'7\щ`+uzWR MO.I3&1Ѹ6z)kvOggSƒ#IXT"/=>7A?D,74$&:A@/,9ʰ[hm 0`oZ[<1\a f54( "$(V|Hs].o=ieZDp#)5̔[~ ou}[_Xmy;Ƒm&gJ?}Fʁg4"Εkq( 흆x[{T]u[P6~bռɪWaoUp ]|0!2P⦌QWsiY(DfI9^ۋ#삡F#`i2[ p.7XzdTsz ~qw mk<9 d/;çE !&UgߢJV]0t^7D/ |жui[oUfsZ!.'W2vYv1Djd\#) I >x$?"飄EUS>VP(Y mɒ\(jqR|Ry" &q何n!rTZrCPj#QЙ4_e!Oxۊ*Vmtսڳ@A5R۽] 7ChyJͼh+^!yҳb}|6NsC{ c#[U='mIF G4!*3"P2lDH) lEv_yŭRQ @+k%BJه]ʵHKP)("؜JdBeDD{T!OnR@FFP ʼnn"dNP.ar4Mt&@DDH(0AoAʅm& &#[#PN0Cx#Gׂ HjapWi}iBQ"xSS*)e$q/s5lǩ~94KS(8m J' CdՕܴ ' W;{D\+FF (/FWj \A(bF$@ȬfJ`HLnIB$Zq*&8td$%"jiNq#*R㳒\֕7蕴 H $˔n@]fFM::;Tz78o+ S7P91`˥k2P.n,!R} "iuIfƔ$1UOϮzB Sw-G/9j+]Ξ 2.2r/&K\V1$ qR9=K8TXVM$O!J*@(QL*A CdQ!f<2$l(e\\@߰[ TߪeвS1Ga__orz `sqIw?yI%ɕ$Se#ڲ#i-Y:}Eo~.{hxiTiRtty&7i5C^2 3E* 3AԢЉ)HS(NvF p (2MRR 0Ɓ$f*H" s P#j (8ZVWK#j:@N1,`~ *g#5jcYS`fPy~7@bm,hj >cFa3+)~i]q0D͠Y.Sfo& n `c6=1sa^o/)oRr*>ާ =ʫb\mUֶ˓ڙ).%\:WƛPhE2T D)'RH-H2 iDl+3FV4@ȥ$tr I+ X 8\)XY"Jddž8TEXkYpEo.w=Rt2{Ac.1ƀTxR8pޛ Bיs6g#&mn$'X |;`QԌYTq`e:Sc_x<Y٬ PGFӀٗqQ$Ĥv'4S,t*.x~91R݅DqC˸餸V%BgH.xʀN#1\|nb*:W>xb.KLDP*\@ddr6rN''ʅ8O2Nd=^%.yLǜө5qA,`74M1碮LO\AQ` L鎫X裇yTL9$I;| ۩|eK:^N)YcA$-'9J(4sz~Z4kcF<"B(s陋!^3{ @?.ڊ{bcB苝 ν7:Jڭlrh 9μaE4dWT(?fԇLb)t8u\i L.1}6) ;rxPg N tb_UkL^LW"[zlVJ_'i>OggS#I]*:AF;87EEI>B88796BCG2DBC4:==><:EAC8f NU%{uAYP206DVՌPVSV:sm$4ި0ZDB %|F;Zg>ju3ҖPVn={2z׍ zP@KJ}aoWt?&2?)wX A7ǹQU߬k $/?_:Ktennj_>NmWU wRR0ܯxBNwN ] Nv̞넙aiKul.j :luTuU1zmifMpgJkMP 3*MUi7qqRBoe\WėI:M?˺ BX)v4pQc~)l I@pM# ft|CҦWYfAxNpO&[%(7d+Mk^Gvkr}n_1<&63#eQ4u3s.Zcs_'lMH\z3k[] %P䝃'7n1S@`I4NS&C> A'/ | =D 5u%[V$Jm[wX lۨ:c [~JW:4Y~y$!hRtƽ5f m;J3Q ܬJn# L#lO^ 5f2v$K?nS/M׶65eɱoB1C1gmCD2o>_Oʹ<(-\f!+&ZZwk#/NM.v *UdqP9ޓ\BFFN$Wg%) jYJ$3j% a# &+31f MDOS<6R& ҈PL}XEnۃŠG&E"fdev:; /½}{3{) T{ewzs<HImjZ.pE7vJ괏ga+fGUct8;vهder):űa@v%F8NޮĞrg?itLަL/Aڴ#(Q. @GH >u2˞M='&-iY* Mb+onW[n&}/p+#-GBZe¢~W%6.ٛjQV+Ƙמ'7c v)v<%3'Bx'ۋ[]RW,#0 F!"ۨgu턶1{{mtxi:N\|2,H47SޑVK2=MiֲZfZ]iDF]n)lz$ߛvXnNaW繿23F-ZgEz^6 "7?eWN {ԷGEX@sh+ \3ccR$~Lls7#ɵg2өy;GY޸zȥEyP=)=|eL(;AM?\͇C޺إK,Jlѩ T]BKq2DxH@ JH)Io q{Ŋ> 0GS)Rx6k=vR ;C~[՝¹\ yJ& h̞/wZqKi0*!W9wҼIJ 1| `dFY)c|[O&Owh4w>mg~Jրʺp %8L}.\JJ9nǰӨ{Fuc3.U\5ŠuP(04uXVdT#+(FFF TRTs!,TWR1 LuC+j)푁MEY>Xwtu@n<(!(OggS@ #I*9P#'68:6@=D:)<88BC/27;D??6L`{7 6wE /yigD7tc k7P*ߥg?i\3J[4\h3Klp]N9oi۳{:r'HIO^UzB+yF*랐qR lMkw@ޒ6J Ԉ!g͜L6P<rMjV7 P #%N`$qٙ ""3SJrLPw WMXlz s$4x }3d/:wYL @vfT}Ժ55YAy+-ބ֧)xzwg[#_] WCP,ǞU1rA`ntG5ra 3/l ;bJ;FyTppRvq(utd1% v3.L\1Y@ )nqOv㤦uX#h&KD#FJSL */!ta+Ћ#+ an5@FqKC0;AXѻiيBS"ΑD6 \/pWҞmfUrN]:{  dJIZ"G;lխ5/gZ|M2~s(C4[n{ d#L(Tqr|PmwS 5H^W^7iWIpSBwL) Rm-Ed@Bb+T.#C E!YVHdLlnu""f; JtC>70 P`&X39Xeiح%`]`=) *pfbx [U*;|5Szv?i@dc$2+yn-gOúc }tQIJMri۞jPB+Q#iН Q(L#c-r/CUv$'$PPIPĢ%:eXSҢI'#3 WhAUD^5\LN V*5$[uтjzz.;A9`ne5o4-v-N4~cr=g_/1.sR Rݡ@{F S&P`zTYڭWpS^pRMp>c0-˾ N_YwyۋH>IJK*t҅Vw0(AڨfN+rcMU uBv.i "#U2QJlR'؂,RDʸ(cFRR\6+=2-" !7AKoWd 09RF)If[E&BeG3KaPPr^ּNm3uD` f[s F]:\s!NniQ8T4& U6Ԙ#Ǒe8Hʙu5:=&O!*%j?v6͟=>"t8+hb~ =Ua"!kSW1/:AE}O܂.o“w7=׌ѠݵQ*sR!D/Tڪ|.RX+|e dfFbV(''_{~GFU;|p 2d=d֣}h tϓ:8dv:?SFZ(MDoLQ檡X]rTWŠ,DT$H( mEBe. "#YBJGo=Xa%DaJh̍2K\\sXd|nƒr-Fs"5]R<AS_Kǧ;ʾde\v-}-S`n 42Y DǠ7Z<% ,0c3&Q&o\oSЩӽrާd9+:iљ ߁sO.ۏ4Lo)d9$h)֜* >ZBnep+ D]qU ~(H8)b9ʐ L.FFJn#+@,wbJUJp jȠRGPd升* dYf) @YƒXI1[UN[2xV݂8SR 1`4b'Ҫ"@)3 R=Qu=)EM: I4"˂eNS3..O;o LWkR<:vmnFVp6mTt" :$PVW9{}|G!w8HLBv5nem[c7fz7DJnZ,;x{$Yy,<6M=n9bc;S=mvcSl+1<&tJ]p.p˧1MEw"r/ $,z)f`]''&+)4R^ g6R(teeY?jb+u`}/VUClpJ$6Ne.).d7=x:zv~*Soڳj;ٿJHHZkmŻ%&JEB VKduUIB6?amzySfqUCUܔs:K|2>E+ҳ֬j9[Ma kxsI.̝ ϑ :qErwGbv_VCJ2a еN>@:@@ ,S*dY2:kz`V/{؊(b [KV94Շ|4S:nUMϡ]{Y=i˘gw}g縯h`r,SipJn-^8Dt;OggS@T#IF<ע&.J=E@-=<99EF-=<;9=7BAGH!`Ɩvp: 0񧇛=Ӯq,_wS6 (6DU?#eJ:ټHνO(@$CpfFUckTpQLlU듎rq锄*9J6d)U O[hp? (Cރ>{"}81m-tfzp;W]ޚzd7&2|2d P+l_xFuOV=؜o3ݓYJڪ^UeYy l+q=2%,%,JIDU-dS"vD4)z>۶am{YEj:"|`98)hL 68X!k" ޻jLUhW(oV$R\3cSb||G?v~?j2z3{ Ck;1]9]TfhmQūv[)F i$(+AĤ ( SK)"BhengYq]Rh9[d;w(u !H4T5t!Ap,J!EXdY':BV"l$H/ÍƔlc`_pis1(\JWf?j8=7WpN,x7+%+5XD&HsxcY{o| Rvl\ITMheYЃqco?X2q.s(з\)50 QZO' d74%mf$M+rDΔ%k 22d^ (J&ILflP q+r5T B ۱R2coD^tl*K7p{i n"2fP(2hۤ# '+k 2)usݶQ f^, t c6+kFE&DzҜd8kO)eB_Q<[2n5됧(mN]y"gC)óA녫TeGMb7CUI G*Q !]S\  $f4HkM!,Pi,]j # R'^>P@x"+$eAy XGll$)c.GvL@&cY ܙ[ZH0` vuF[{^|/%s 03 xKxTdtu6Mp}r!EB_-0U1-u;6bOKlE b!W61DqXz^):+YB EcXQJ\ ! iSJa$RLBf /!@୯ޢ `#)t5 O1$ߛ^kf굙zp=v #`f@~dU]4AH7@:Il-ٹgAI 𒹦(_~曟}fNN]=gk_U5{UJw JtK,+zUs{r(̢"b Щ*!&>(D%%( PlfTJDAc2Tp+ xA@IJXe}ts7߽fXY`l'LoT׬,+X̵)6}@]Mm"*@N/??I*;LJľnҙJ֛g=,Wox9_0C&W;Vsway+1ǽ%4fUt=YTwov[U~ͽjTdVRE$ȋ i6mŪ'9ZIUAppF}͚2Cjq7 PpK… rĥ\$Hj?IRMf)#il2e Fe++wzIYsݦsq%ٕwuѢc(/j`[AgNbЮ 9l+ʸE6t^S#2v6l: ql*1F:*&( " ˯tQ&qiϤ,Bh75u;[i7lt |q y7eDJՁsȄWڗSol \c+'|1D:Tf O96SZ쨔zlzzQ*ꕼ:(l;o]$2׹*˗YdbbB;>|7/x٦oG]ҰDcɼm-8`l?H:=pH'Eq|8\ Ho\㞁dYm\fOdnlAg0(VrH2 }Uܪ(o"#:Y'Ȁ4QIbMJB$ B È`݃G$9k*,@Z)^rp P@ѱ8B"߻M^rbp܃>0dؗCQSi åVʱkeӾfLoǮ%|tz(%F5KȻS`·ѻ0Fek$w*"*՞ ~nPTc̮yhZ `I !{e )/Q@awԘDE@W@rPwgqٯ\i::]'8r27$@ ?q4S=NZ"eVAS:?Hˑj:1V뜞#Re#&z$N'(%=qWȍhxuRUFv $3RH ĕ^ 3 i֩-@Vr\LI4~1!/to`~[L&̬* UL+T+ETda"2ͽF usT)e,/8vs woRIHII݂P'^~F ׫Úw"pofVU.'d2.F dB&q!"#.QM Ienl+Ǎ26Rn@Oz1 !;e ,ᢇ .lI;,BPne8H{Xknz7-aHC475}0c3 ;1C_Y3So&kg3QCi(ތRcffJ(x(stedOp-O4OCя]wZ H%=}ɦem߈z)}l3fvzp꾟~vfvɌUV﹉b=\WDJS0A1i9p`bOX9l"*Q1R\ JN JzI*])1fd#vv7!bI@֐zJOggS#IA:':<<9@?F.*",CE418;?8598CA?89HT J}¹GN6nna7qoT=9O5q?G p<:YřUP/?|bL~ |OW:μd6b}0W?9 4t(3"Uwbѭ)oo1/NrDdqCNLe曃`~ff, եf@HXV EP"x2)f:T.EwN͜Xi=kJNArA %WU[M Hޔ2e3fAۼ1{F\MӫeJYɆ y8?m4nhbt1K+yn$\iͱI-Ѭ p-H"AH8XY,h)/ψd#ˑ’(ª@E諛PHr"wtgEMzJK&2BTA&Qݞ (e P C֬ RJR""RN7^and_.`qh"Fj&N0 3{?6*"Nz 'fNYTu[LTbJjD%/۬lK5[U[+b$7DʔHjtL Q͠D"g2EM 䨮@7Ȑ Jי-7*%&%]P3 @,,=C5AO<#Dygv{i,,L0ܴo.k/э jʳ'EI G3Q xx//n{3F~o}>ǧW-=ռ>ֻw܇K"'sj(\ r3\ёJѴGK퉸&P:BV522'έ̸H",nlg$eCȉkldD)䛒3A$Uy )xIPe31>P | .F6 rP%2L r4}^Fq]lm[Z|v#7rFl]# eO 1%M}pNg?mltÚBs%?L/g [3fFP$m̑!Џ)u@A,67 ILm䨄R$e(YmOL^.HrmE"gnI&j[ueC@I¯s,$Dy/Yq+ U@egk9@Ҕ.EBLb@9x.BȾ JDD*eyYMNZqڛ%I Ʃ"z3l $B`{KF,D9!ͼ #7Y@HuВFDvqF*Ne'~x(nN0 M-eUM DSo 1չɢn  8 -UB8st$w+(b٠ЫBQ@re*_Q7O{?uR?,E*[GϜ-lN;蘅 S2$B~FƉ@C͌Ҝ]U@fő6 M3iT:AͤRݖV㧅RN3e3gۇy^'g;~}k; bi998:AAGC36:<9>:D?8񼵈8P0?(&ThHRxK|{n~+gmnrV9c.FEJm]@|{IzP(^jZbffn۶m6UTUUڶm$tǑ Cqbk6W?۲UFx6#ddToK5O 3כdߦX&]pլd .e>%+ ))ȢS=dfhAdk2 Q RPKNTu(L5̬EsWT=[!mn]Ƙo||vЕɋ/TpDR:$~zz]܈L[h=lerrQaOE ޗ&}o\ڼ^, bvo=[vKJݚf. pFS-UކaNENk_[|ﺫmݭX+VUd%. He^q* (38sڵ)`dU@(|/XbZ<vښ-ą*Um=L4q9}"BT6^D),0fJff?pyioQi\bgO}: vs>S,:(~ۡ9H㞞W?=QZt1b/S!z2%J,FdDEe(HY2" BCJ!MR rDQ+:A57h%<$2,%R}"`9n@HD60 ˆEj mƬ)`; 51Yƿq(fQ1-7{$^5 Al#8.@"({\/`J+Qfݐ3_',l`YYWw1YZ@aQw,JiG xEuj Iڹ4TƩC "rMd$PFHA[ T4T Q$@FfDʡe Ax*H y.ng,J Y=Fp*,hH AV7-IQ *^dˀRBP2jefn![u|aQ {sJTRis" ٶ{n׻w_kpdBfS߬{$ y+i]yE'̕dahkmՏV^)_k6z:G}iVl$=y"! kf͘f5A),WRygq?}chiq͟Tb^87גZY=U.ޕbLzw\O>T ͘J5 (oqu5wA% qP ["qvkbg^:fV=YڍuOFԊҊbrEX#-Ʀ >spZ8 *Tc"v^{-ڮBoPF {S(8 ;n)B^?|B|9.zVevder3W hfU2oZD>ӷRWL|ݙǓS')/1|Q=?}@! Y(* ""%,eu{|i_iv*9Of~- Kw2Z 4qE@*,Ӓ֦sY`\5F1;PVJ-9%/+y1Am۶r:zy2Mr/¯Qȧɨ"b"F2x#1!dw/c.RDCW[#rLZX4pe'GѼym7i]Ε8[m1&zۼF/˃Mzb"~J ,%j2+;=im V 7 ҃ޔx=|8 1|&$̣lԩXudŖ t%NwX,bX,̬7.{oۨ+m>k.5,J ҪB:wAqfКCC;bBUE*~*5Єwl+2KɄ6ж)Shݻ ٫ii($3Ϧj*v>x3Y(ˍ]?>ϷU 63cդ́aU3a*h2]WQ.MFPs*B#SfFYJVʑvY6+aX@h#[=2etV3Imd&n3ƻ6 t&(9!JdEVmaɢJc] R`S-poAibR77 @fPޞ{*F,CXV @K>2KQ܆fYeDZq;UkrzU2̽P/N}B B܏bʅ…)gax-K(N=݂@*j/.\1)!Vy3gl7n`ji{3ßTڤVi JpZ/'[*=ʑ{7ed&g)6dHD K":3Ƕ2/ I_uR_(%DySWV=J {.ɸ_h@ Jh eAOʡZJ̍gaynmYͲzJ!?K sTL*{ӵtgoM7*KwiqѲ2>p\VR12Eg:1xx-kzzh3٥[}"δrv%4M4\C!̌QcV_dTp XW#U:\}vׇ[$]ႄY@)|&3gTRGHۈQh ZYQ*6T:ua2GHFD ANT`#:SdTOgGB Irb;>I224eFwi.nIzfh8KQ8F4~eoe\d޷뇙a5>\̯Sbj9?JZI |_(P{O)S%Joeup[}Vz? 'F׶F5.UiJEBSŊ}R I)EvWfC DJɋc(2R@DTKŐR ).]HJU] G`$lB&l,e Wr)AJ2c kE pYO:nj6(͟-qFQ}wo`VZʎ 8@zж$@fJ2yJĦ1wVƷAVikvȖVzž;wfk򿉫睪ԥz`P4R˅+'mQNq7c(n("Bw^W3)JX%It J &2 ܒ yO!%aR$^2H@%G%b1Ptɦv\ !+PXL4SOggS#I {T&'889>=@E*.)2FG0.;;D5 4@(ԃwnh9֓9|Fk5DEQ6JAc2lo5nV r~ň *-.Ok 8dB)(( iHh+ċDѶ=g;&9!m$&LMd27F&HYeӧ.S,N5}!Ӛpշjl1zg4b{\{tX:M"._=QU mZaORw䴴Ǖg67'WT $$`_bqZDVKLwcۜW|bͪ3L2fJBe!b1}lwueԺz GqH$ +I0)@36>ֵHD ̌z65f;վ&;bɜ4uLNTw^+L#e"!3 *4COdRIr":c, "(V3NCR&L0W Ȉ@ hiD1ȔfA!M\/` 7${Y) ddV(F‰>H.I#="ls31^ >k 6mD8L9c Bha*?ҘG_n `^'0I>^-_ (v8~o_+I :Ad zy6c3Z/{ס9yrZ^dl{d7~RBEU_1O@(:dIʮX8(=U(GBt(R) pPU"vQ! IpfPɱGdDjZFP,  i3*V 1TQ 8R]826R4RْPqit%7x,y 3l憙p mLKgw:$f0#-8 ~4WNga)9 -98BvK ) @`1H$c%/˲W;%W-e{˿ {y2]L\9LU5 , o+u!Cy[$4ӽE`ч"yCY1E-{aabݭ$ٶ(U-ať\u5j (`q04/͂1K@J`eF7tFU.dpH4@z&;H FnZkMk3S%[hcȋ>g4c:@`,%V)Ɯ1Hc֕AZ&4)qH1;B!7>qB 1OW=e !@t5>!@lbQ"~[*{9 J_Uɳ[ދ`Rh&IDtBah>S` 2h& Nf*T0E5# DW'N2LXB ٰ[ۙA$be-zohl٬fi`ٝe n!0kv0@0n@5# \u,Z%JAdH"׾J ) ɕRUfڭ"sy''05;]i>$?n<63)tlGU+q!{Li@UHf "!%:8 UPQ"4Y茂)|!!.j1Z$JEIqj"QpAE@J+IBHI$oW\Zs 7z%d=g2΂f/bx]# "X1`<;ۓ?".u 89Q d@6Ew*j&y*V+ڭ_Q8]/hs( ^\9S̔/֬?Q Yw5⻁Aɜ+N5UY(}K{޽N]'_eO'wN!nsyX%BJREJC@1RM+-P +d*1 Y$˄.nKGQ%.tL0HQҋ>6u <Þ:4kfFzfnSM[4d7^ssq3t~ĺ.p8sB=…,.W%|?ݣvPVCa\6GPD&"ޘU۪bK^:,pͰ!7[ p?uCɢ{ﱨqz}liI{= +{pU. `ILJv+ `cD E&yfJRfveڷywWWemzc83N5H',WSpٺyl6i^|eN (|9@?JA+17:C4JNJSN!cRoXF02y_MKY疊XMR1{+{;;zk{P! VREaD2"e[0.IU {MU kI~YO}OS#Li6Yӧ)c>ouŠ.Px1Ec 1wn?ehqsɠ\/Gx+€]q32,.ux *L˩T2!'dBfL̉ 2D\":1H!kӮBF"w#6M$DgfR(}mؘ'nNdS@>&_:,L'P32 1)87BkpbL6fRϮ[ƀ1!PMaGMhe~ޯe c`~NLO=1ߣ$g(^|b*{./%rձb\dȞ^ YXDF "K܄$@sPP1m Ms |pIɥ  DF 6Z92)cL녰*@$+8熈 wJA/PVZ vˌ, Zn˽5i itn^9p^,7^c Ll,H7N07P13Á6ic^ ş/,}>?z`-۽=7_Vu'eR]tBFYY)> (蔉,l0($ " + h@,11dd:"7xG/O fm8Up FQ)қE ,a0Vn ¦f-cs9 l`;d*wTB<~|WecbYiZ5IOo8@\ bЊxSSJʴ~_7f'9ķJȌeGFRِ4#pk~ro7iC+zTĝJmR"J+٩,F8VdTeTCFT+_ՔHi ,Z50 Nb-J)A'I]@_*o)ZJmi$(*)ɝ3l#%BW)'t5 6`=kqz`_+̘i+hС]HG^u2XH @X&3I|+_+rt};O`Bh[. rg_;C+DG+ P!^ QE*7?೵MQ)A,Q!/a#Bd$F* "*Ct ܐmTDd+MTJ*U]U%iK(#`DtXE )TQ3,p_ewT‘N$(uofuˁb4Zc<&9C0/RPxM\:u@m9xEpM&D=6ruLaʔV^ ?R't2hZEzx_zx}iwjβ~ݍrA!"R%U)CSizwTKkw!h~ZJ.B^̬T qw*qj6w#9wJDH"(]X6.r{+ S!6d)BeY ܩt:WEVٌIh)${kc3nH#NFgf?ב5m^4ͰL2d4@|)  u#~(~.c/rF,l͆s#6cԱP `L'-bK*jcݕdڜ@Ҙt`Du`- \ ٿGf>[A{b}Wk\>"'Mc3j%RN0w9a$ҹziËΌ,nJys~b;9,UH$s@JE ?c佊jLOIwkZP-*DEn5~bZm.JXIB ##)9` rYL]RrQJI]%M K H m \f*vؒ@H3d R@r@"9u%& : ֶ(0ڎB/ܼjQ"UR:9K뽞tV12W .RA # A}~gQB.4fZD뒽YW6cotUdce`q8.'Y-C/@\6{7h[R MÊF# iz1Qkn曝zql[IrCbOC>=@`3\z $4ޟA|GJtTpmnDo-xzh.*! l fyTg DY=ӾV{`AzG$$*Z~n~?#;{?2vLmRO1Pn偊!)#4^w]fUїwd402ʫ ;R"((ot̺FhNeq7Bfj5+Ȝ@tSe\VuFE rJD@h)s*I@"lKd; 7Ŋ߶{հs͋Q#Ƞ< ̴ܸM0@~yRXàjSi٢An&,Bұ=Wrf+SD *22,hy}IfmLKR1I[wJ&9MGM]^d娤"eV(F LdT(> DJ9A! 'C8QMve9ALuEx4Ag(Fe(;XLړ[RNyU6%TD*ǹ~?gM0Icl[^{5pi[\v(@GBeQi.){Nc+zF$3L/ sp߲[iø;q5c>qɳdO~A@^ 6h{ҭ'xjm!spٞ>:++ MQ *&8"(fn@ DRfF`K2(|x$R(I` M<)zԙ0+An p lKDkU"~?m$@ջVfMk[iqQbFfT<&'VR DԪQP%wÅ"!NJٝYcZq|"DRE'K˚ Um4.|e_ Y8ahcFk:3Yad czrq/UV;c)6..!ʼnbD:^]n^`jS9LzcOggSS#I ۱)CBA4)!EC*,67=6677::94@B;;?<12+[?SJb֟r%Q(JYT|$2G[~?]mۓ{D ]"o}=mi f23 Q)e+_ޛkodiњNS.OBf+ћ(R\y#DꐹQO'7jI9%jbHDI4AR@8@l"@b|Ŭ3|+}||L;[1in ",]1exs^/^Ife&?AvJ4_ݺ헚gmpaq)9 qE]\p ]32)GF "D\q@(Ȉ9dH9RUXZ-A EQj&p pqEJH )S)ڥm2Y θhu56ĕ'0x%Aқ+S3%b1`!xJf:7/Kn@߭L1Q @3g;)Z3XNy\L&b^g8e p-.%@xf&3mq==O8}ʿ~%nFc=v5vo42y%!DȎbbJ.D:ّQ,,$@QHB*R$$( nEQE`:g"~& bH({ W\f)|:0Ee&df) ,KwܽE<#fQ@̽7C56 ͮxPE{ew39!:Sf@i`n΍LdT({ٿ~I>Ii:-51ds4畟}.h烑a@kAiȠ"  n  %!#.)Бr$R&i4B"ˌ,!!A(ƥY/PHH܋$PHd#L DT,\Ɲ۬8RTSzt*⊊ p#rjK:tĭk^[fo`k-2h^H /3@77Ʒw{˒*]wKB7EWVi5׌T ~^&tXv. ^z(TέEJۉmo譮.r( h2 J Eȸ(DFN.㢚%TZZTh)( X$RQˈŊJ' L +Q˔!kSB;2 0L$$lTiY6z0Ka1$HrnfP3&ιM44f<ŘÁvu$@g8bd6T x#'\ԘRSf3̴MsϿq$1n4'|1q !τ1jd4tiE@6F' *( )4 eR\tYRlFW+B HpdpQ\ B A"#hI'3&'39@fbdJ p+Q*bbröH.),\@1Hd/I 6TٻhYp0-ߠ s#[][̘]#ݾS7uI -b-+ZUGՎvkg\tWkԯFGq w}5T{6s]vM l:u ,CaP kXLjQZnY)UO2̯r 9uѨZ0l7z4&s_NEEB 9]c@ PQoʔɿ,W&{.=m5rWOyv /LD z%^te;"kP [rݴKܹ}R5**Q ViurS,B 袜 O%$dAJDpcJ.e4Q]ɔCD kDZ70G_06%í#U*(FEF .{NF$l2bqf 2#s .4rDF&Tܐ FD2ḀY"#CSfs$,hha X6@bc:S`ώӹoxk xFkh2n;7j.7߻%pw.! aFg)@/ij5$ҨU#fRjJqiRPo?Q|@a ZF$j| xLrr٩lbO,fp9Il܍uk}ؤ@pj;5XI;?=WITczG`; ClbY^,$TS*}GcGPb{nRѧiPZgQNR.NSIb1Ҳ͞"ζM:'֚1:&LUpn2`/H,ԋ׆uycA.X,\!;fr p: +XMy5'~|irӟg f%ؘD2+p@9-γ̯IsD vVpP?Zz;j‹.\įThEh0PtB`jV;DmL`YL¢!T#yq^Vҽu2w>)vvGn~I]n=џ.^ Q^pJZ@J3B9=878C<9.9DA.;<<:9`1N*nz]/1 6zH<#N 38ubtr'@Ut/V&.@RC)+z[3>u6GNH~xw&fjDv-ڒ*5TXpEW9x>8pɳh˰M%^R*MijKrq.l #(Gd\R*G${*JbD'aQ`Tt4MXrF1$:DFҾ$!Ȟ3{ 0\ݬdʅJF :hdda KCXޭZ{o.^1SJp{Pp/rϥ~u &ۖ!:wKjrP+[EC_s4=g۟ͻ䥋5DﰔUSA̠ {X|=;뻆"ח3;73QDX蜱=E1~XvﲩmLʾ)8  W cɋ]&@Y`4cP,Wj?S}L^X\9՘yuzom߾fz2҉R4&>rȆN& ա[3[-뭻C3Ӡ32xtFѶaO͑nSz?|6# 8+՘!4OA[&xJ=R4*)X|S{MTt~Y|FKLj|:BX@ONiFOTyZd0DA\yoSz-SK+mewnMd[NE{޵>Xnp%366Jj}󛋽~^4+80;L}Z$Ydw-=Yx}ߧ/ˑ"r;^mrR;r%ێC]f0npQ Zd%!2RP(dV\XYI$2ڄBfTbF̕XIKFx(X␩'Hr$xu<&c*-D$3&!H|JJFkG T:pUfZ'gٲ(^-mb+089z@yS鑪2g\҃E8gdB_{;RRJR<1cWݑ̂U*0QP `#n0^޾Yu*\pd|ٸZxt2O4\c\M\Yq^Xd\+FB8%a&w1'S%h08Pϫ16 ioHRE:O&W!"eX-{6{; 8"1D7잊S/W|o)|pcfFʽl8p#E%)R< wضJJJp6b6e:blgUh< q,U ?-^t_)J|* 7ڼmּ*z â^*o;E:cZD((J,nQ~>7FMyk~isgϼԒm9`}N֏gkm]9iHK hM-v" wd: ]ȥ|VҔ,ݰKkl*DfA [[,_2 yrQBP,gN XȐENWq"8BmPq )\.tKcm] }lL&` x#Yj xRY6uOOz1ϐ)ma@.Ta }zefC\Ȅ6O !^D޼{ .r("`5ʬT~o׋zYk#ƛ '\>{zxJ3$YcZka';م2X~dEsª"PG|XB,"bdB㩨$k.6 IJU\7ȄBq{$.72@bյ._UTHHq(y ⽬Zjf6(ѐ[vD 0P"V L&FZpanl-PFZQfL޿"̨ /fq:ߴZ ^__|8^ <m%Eo675)뮞VR$ZIߪB% '#$բ-!#Bbr8Yܔ"L+@)c6&zBfΥ d"tD-Qش ȽMK2ưqKvCS/,'}vph>a&daa:ض΅`5:UhljP<& 9S]VS`":=yQ,oL,MڡhROggS#I RyQ#8>?A=3#1. +FA'+;=G@1&A;F$"]-h/w;>D`~9Cf2QBnDз~Jjcxf$ƼaLbU ]vV 0_IZ^Q8UkZKE\{L7J͚Jl|1e`afS7;>"S8XbV3TLQ,d9߻ܮJ^c0D,rk3rfRmvr,j [rd% ʩF1ۯʼ=+Hkb#1ȆO^9I?{JAilFiO4SaX0Pr~72sy[iޔ :8 : "X|9`y5Y޾ }6kvKoo}&c+g>\IK3BY0];5eYDTʓ!7"@52 RAPi,2ZP=+D2.\3 |Z)A'22MFZZ)@QaIq%j JID-ȉT7@ 5^%:RV8*%2lc DՍ1J*:{μnʸs+ # Jٯ9bs`up0:~\ !c^RJ"t PIJT2%c3Z/{+-zjMu/jutSS -y6n+z"O0H:d u{>7 !"#3T԰捊"Q,"/p g]2Z&bΤ8xZToBDBY7B7ۉ8rNfj;$@HT|&LNf%MKrvB2vX$wA047/1;Ξâ@DO0˲y3 qOZ M꟏DUZBuPi0|D".EF1)dӁrrRވ&Di$w @eL̴#$\L%H Q\(byDEq"\˻Hr2. rTB liLf,ĕ!2:80V`h;̃v͌ ൶ZKfcʽ=sN=w`@ Wp*sCQi%7ٷ ?*q xO̡$S>s&߅ Z3Wc>{z<{을qUTZJ5ƺtΦCP]#@!oR "YHrE"LdFU~crrR S@"xÆ^69%h of:3Dk^"60Y.ynpscM:;C4*ˉO- R֝]VElٺbm{eP^ z! QJPTV(^oUkZu\xz9S)Fnشj]b)Bo;43%ɠY]VV R)9VDU7z; nre,hj#GUQU-lϞ^MTۭv׸vܿtڿ_z>=R=۱IoX=fv^!͇p:֛^婔cڪHQ-E)7 #L)SfOFؼd @Q 2 H!B1#""ʋ,q/3 ( qEa3Eb;PALU1ˮrd@x/$rJgo!Nx+jƭy3^$3,ʝYPafnAcPnrѧce#`Eɠwtxs4O_ aflƔ2IWOGnp]Wy_M|z•G,y|kD]%1n8~aG<`*R̪j䒺_HEWF\䈊$"TdD1@'$ 6 N9d&S!2M\AcPpe+<\1R.LGTn2x) o+ @vlͥ;w=Σ[jޝh; ؈OU8S|>"ɳ?rMgڑIu'k<7J?IDvbU'|ўMv+(,_}=ʎbz5%4OtJw6:^Z.C0,T ޽mnk- wslRO4Eie_ؘXgtITF>ѡۓ屺z( k׶} Z =gTIw'f)u>IB @SVev( .pK}xWBӷvr9HrTV1*`9w 4Y> c: uW=lSd{ }\Qn[kCsm"=4o*y [[ЛȦ0yv_gJpſg5M'ыuy1`FG]]rdXȮVp.TJcLs<, 7~2$u-eH> kJ *{Ȼ@ x(S56f r:xunR+/-Qx$&&rQieT(h֬X̊rH ,yR 5ۺH^ Qg{[O;n~n=󹿩XE3avz>xP;{ˡxlVxW9!ҡʋ8uU^_gE7BЧ+mͥY]\wY+ ZuÚ+!bf:k,0. v=U|Hy =ōa,K^Ķ8?70~0 @ |R(;̢WpG򶽾1.TjktިbFb(q4hS|6g`^iZE䓹c:zj_''ydvWݕN4q"3jLFnr}ec7+-vcjD1'bU5VZʬ5{p\E|+4aHu7alW;}sV~_5Ui4sR쳛F!eƶmc:k{[OggS@ޔ#Iܸ'(?/29B;796CF17=8CE-8:8;<;È' &JW}Zn/e3.%2A6Y*2eV6EM 7auXnz5Z][;F:@,5^9}{,|Fo1׼Qf/l@i=DGHKiZ+U[~bֈѐHdy7YՏ^1=J~nR["Df4a78ňtd(gd8;((%MhT@MA)P  !Yˠ@\dd<&d`E(DuE!Gp$yϽ2E' mGfos`4.#YOInrxMPUD3s{f> FgXx6c82S~GzdQumvu>ŶVX:޵k??8\z T7~n޻x}p>ݝ-W :Z1эviSsUFK Ce(e!TPҥsJxPҦUTbF Pa-I>!Qe iŕNfVW5 Yr4 %b؎F3]&(䖽 g(O]fs6Rc ;f ֘q?{|;E{RJj$>oI?lB1xxlx5П[sf"@lFqwH,(:(zid JEnFcJ."!қm1(,7|J iQLҹ9(|׺d[v *ATiq+F,k el4"xì&rO~xl<&:u d@50 Ma bCk*ۀ$ʘ ghc[[lk)JM~'I'cc"s T tG ޛ/4#W+B*+T~of S]4Y8NLUD2PD6` w|D!0˛M١)K}gfLe'RG>j,iu:־Gn׏[=.H2 mj.ΈPͫj,Y,,܌*{dHMՠ5TjHEmSt\ʠ,' : /pEVx,v*'U7(Mvh DT$⚦r@N(:Dߍ3FpEtcK./{ rcžwqOk7sº X{P-XrELH&K89l,7=vf6c*+b#=rSmuacFּCFat1uAI$eK s/0ɩQƸ8swnޮ3ۙ t:$M"|R^rȜ,V(TQ)kO2>o -f5ltV^DJ4#jn+ܿ O- UZJpʌ0rG7hAg|*#VZb*94v?Ֆ=E40,RBrWw}l=1V[r;eXh˳ʓH9SǛ-J*B%۝FcS>>1pA#$WioMzpo=22_ޤ\i!{ERPlQd (R1RjQbҢ@tJ;rJnDJ h U!@XHl)&\C,@8J fJ%!5p;48+.KsU 4}fN04- ٸU˱}b-0T]m)feТ̞l g|eJ4֍#u3+2Q*n[r#КIDd=cY}__E}3CRlRY=ƭ#E"zTcYTJ\kܳu%)mpdY\t)7[z<ϔqma갦dd%!E] @N_NL9HejUT-户=jk%s=:`%SX 9  1S c1/qõ> 㻟+T{<CuP*۵1>}kCi *;iEsAB*a*"ep\A1妜.ђ,D 2ht@'Qx, H+Rl X۩$0 `tSE&b1:߭{:{4A AnTsP5|:BɞDJ{;1e\5 HZE PpLJd1\R *YqqN~g7y-漲 m w= HQ=kRxg"-rZ H"zJ=5M|WOqӥ$yM*.bs gFNeYE#H 5M4qD2(2u(IWdp3*\@TEe$*R.ݤH{Xnc+ܫ&"\&EƑ/&D0NQDCF"u%Q h[r%jJ}YvD).r9KD+ HJg4JINЇ- $1dp!3[f"4TwHbMP" zL4/a7`ư2^eb U\"R&/RI@FiQΈ ޫjT~4dN)_߲u2{TiN;t pFFNF4!rGdJ7Ӊ[VNAddrh=2R9ǂ*(ɸL Q̈gbL$`@dne:}"rlF"Ee)p@QFHF(Hƃ1UK @Ȓ#\{[iSWc`f< kl(4sӁ`pS}q:> 8:#{ H-8 %̫gJ%{eSݵc~߭=٧wt [9bbbb#2`TFF,!R%2R5  V2 ż(| @& a{̈(GbI@5*JQge!\++$2jF9"*SX#%*5Dؘݨ:؀b\) &Y- F Ȱg,zZ== zm$*j:Y̏@T}XV0A))ɼd$H[ yV/w:G.".**ѲY T6"D2J,RF2d H(D H:'RFł$D(nbBR9ZCI%AMK2Bb"* dnVΌ)%$F)FJ@6 Ci!+EKXe-,\h4LJ|,* ܅m7w4 'k< ;fA@(in53 x{Ʒ< wӼL:16uSRIܳ?2N0SLMU_$wnZo㼧w:]W ֪yW,tQDj*FЪ!T02X+$f@B$jf1k\Ojj0}BS$qN$,22K,QDVЎ$ K@@Al:7VV1#]w2#ݰ ƾ^Cf91d Lzh\ м"/Kh|Z3e1߫q0 P9JRFeXHzq2Gx0[N_{)Rd!2AF(BQ]BVE1mDlPPh @JHV!W2%)2Q pヂ'Y3w 6BdHxe7RdEP8),c[ATDu"]*`#E2[s* q8I5y/2'[k-^ddv[Q+ ijw.Ɍo f}dw]ɔ ycPuD(̛*3eF9 5ܦ︹[keuކt"5G&eڍHi5lOT7{zifp#:KdT&Z{1q8pb4v{KkհZ/\Txnx Gph)` $M6I8־ڐ0L*a޿ dx6gϥF潱pm<4/CCrwQݩ: P̗!S\^ޜꘘy ~nD0s\5ISJ w乊j"EBڃ5JlrB. }{Y`n+%(1)=ꢉDOv\K!,fJf!֐b `"A+T'j1q+=s3)4d@o3kZsv>Eֿmca6 7C9 `,]\w5-lyĻ q3yșUтo2hf:yyFsy naD•&aoV?rr_gjYhԚ:,erRސx6j68/o{{NV_XS6c*?vcckoxlZdr~:L4ymD}0Vʱ5q! P}&Pe%[ϧ ?X4t6hH W<uzs ;>nu[zO z1caq>u?(+!Y| 1uc7jݭYukާaǫ:oL*s[WdVֈÜ)Aa]C@+Yj4Z[,(nפO7b;/wͨUWl,R?aq̙|ygճ׺jU\?־оH}g*tQ nH3Ϊ y̞*(t*0=0-ZR\F*ekvMh 1wJq}{9՝|څҤ'ע^|hKƸ .0r)ЊƳY)eG,&k/[tϣhX"{SmA8Kk `$,T[ndwOն[ֿɖؿ[dDpԘ ſD2$oh3R3-y~}OVm+mj[>|(OZ BV/~㑦7؛|d6Ŏ T.T77tW| ,J6(9DS & @N?8 PGeT`V+Őlfo6g-H-M::^ܘxdu\A3.~Q ̨w)`fU]٭kTcz/[5̫a'3b_!ٙo6QD ҎMq[?nzRܸ*W .BDˋRQűq*F1 qI@J>bN(*J * 2"l!eQ± "iKJA,f i\$*0 $>{eYԄMbBF1`"j\\%3R U4\5t"2H!ʥP י" H,Į-$W$"#Q%j$IF58Y\HDlI$ Z86/$'DuGK4Q\ 0 ۉO#'\KjfLt[` pO# ZiZkCho=ȑƻ! C^-Қ,65U[ fET*P}|!Z:Nu-.FV d0ŀM&t-@> B51;S>\ƐM]R4o+XLAA/05@Uy~+wV V⊢ 3UJd#-"0Ot @yARHlgʹREgWDulQ4ZkٲN3^M(d$Tk.-mVk`!8~ێo쩧B9N=i&͚EDdV+j+|9B %WM;jF מ{w+ eѼ!oZ4 iV}Aw*aw1@& 8 uݵ],J%uɡ1*4A Viiؽ("iIF)3+Wq̽vI2_lSV'ܿ:o<<#^C7:،C.tPgm4OL+v>?}\F֌3GkݚDtLh,g!Z^@Qtp肿i{6/l ^H_L O+XknQ|`3 V2Jc Xcz]g%5u~(ID7w 99-nrp p( |ØBPf&QfeY[w\Q\:ZQ7]߲ubg% }jSgyw OX:eٟ[S⽇yǨt "uPnݻunEPϝrL i<7g–g1+i䰭sϪЎ;nJB㎁ ӳ\ oLńW͔b;40(PNq{VtV戕7eJCH+ I$\336J3 ?ܽEYmEGR>iYN׻!k8&`{7|egE4+ zUm.WUޯ+?浯-RoG&rLV'\Nd'@P>b`HQ-+맘)$w7r9Kz2J hShil 03ϦHFZ3.nWjwԶn<| e Q-~{]T"u2 |7w΄; AeXBLo4|*X*:+22))59Koa:Y{@eAV6 4pa ?8{P<^&i ބkU`VFT ЭXvKRb %].֜?k)f| P$?Z4 L5E@d|>.rG2j i)jeZîڲzdzl{QYف <{* C7E#II(fdtQ^֭{zڲe:;dְJ8VԜvc?*jG@h=[HPּ[1{-]jx;-O^D[s.ʀ8K -ThVs[DȪifg:\+[++/.WT*R$vžk)O3+1$ERKUoeuBnW ]o݈*EiM L4t7I@QB4ifDwP4<>P5ȌdOTqLҦBAȴ7j9DH&Zv)232`tBs#<V*ۙH IR92Wc(%)63S3ջH  "b@z%\+ot { cuyHo:}HdպAOggSy#Iى$86>=?@/(0.6?C0/9;F?)'9Atb c NHrCh/iD{FSܐ9ySz7zaްzքТ50U %X@^Vg Uw{A{=*ӋZd$/ O&]"@?ns*hrq Vg@Mkt6C-lٳLN4gU~@'J%t,1FYpխ:GyvE2tKDj>`g7?!kI9dOa"6nb57ƣt/a3}wm5])<TbcS9p#; ?O?}3wb!1#0Sf~v~ds[gp -\d$Xb*4>N۝^Q1V*vK(\,J°ZriF*qioV:7˛ l彄9zH[ V;pFAdAz#7!ld)"lU&-QQQB!dthW! H2*JȸDMC!w- (-$IJRAV\r+)Ad q`d6t|֍D@Yf:cMEsG7" d \p2HQkC4 #P>\mA,z0H X @Z]e&- d(U.Psfڏcq3=];w b#gwFA@FxLTvFp`RFFnT2)zr 7 0ƹΌ*E K+@ klfR f 'R WR :*0x鲒XL2.\ȁIsm!L`&ǬvLÚpڻQ%:7{}ϹsVc718^^͛ (#>>L6-{9J>k(xTRJ)yYǪ|$bMҏl0V̳￟~xhϗ<"wo*9ZxU U u4&7J߈$]D ٙ#τ$lHSr7@b Źg9qY&˹UTB +x =i֥CuB1\Z &#(̃֯IByP5`bn=lf58c.'}Z8>6(H~}qn5ͮK$@FGt`L&PVka u1zġX;$IUR)+=I,vX٥i>Cd{1fv Bi7xOڵckNptp p3m'jwt:rD_YɽJBf$Z)H@bD" $QKrA8Ml6+Y$#C,,^ l)nng1tୁ#3 2qș*Iżm3w576no{O>&zQdѫ"8uI">vWEbbս_E<|m n6ɍ=ueA[E(]ANb ̌UILauwhݩ3^gx>9vԲ}2Fuy8?Ù?䲞Gš5NASvVqZpQ /MmTS.qD 2G'ȨDF,2$22NeB&IaXÁ<2r",{a/cKQ\nzQYa7 И@4۹Wtq#CWFk`!gW/2:]  o4h\Fv5^sT2(*_~}Aer;xLcJD~/VMѺPKR"n62}ط1uݸ};'x/l2e&θ i(&wJ>*UEEɝ sQ#"T.#dDRхW$GȈ$!T)خp xjINJ(dV*S-jih:[<8QBAx!n4 SNU^k-{ P'w :%q9v 4оdU4>c `-o& QNhJ^VHEm0+aѩ|R%!4ɗ 1fQ,W us]uYYaWqŐƽ:n3?nJ؋/y`nȖO_[l%sYUSV\kݻwAw/kw^eolN~y9P'MEW(4U"w"V +C{OooIw3jxLf[ߑj lyȈ%iQ44MCvI #@.S0 _6kж:JM\Ns.c lf߰pK~<ƌjК!>TtEY%zGKt<fG1pVE&5@S-R._ R,sf\8vJ  Rf?qp}.9plsK?k@'VTDAӎV0r^;%x5WuMCJj@do*8=z襟9fA#W\}U׳ɋo}zЕf ƴ)I50LꛇM Ŏ>( zN> nhe_$*qvC*c:i{[U L mUa=#%a4:Bqҙl-*7oUc۬!Ut5mE[dOݕ &-Nw۔~ڦ խx,OggS#I%(&@@'%36;;CF6<;:;B=8?DL:$786B|6DQ ]Έ;+ _i`c#-b'DzKz[֧leM߆z(D^M$PR"@~?M+0>K۷|/H-Bd3)N^'.T.SJ eJ~IujUcV1Ȓܡ뷤uIWO `U'}˾WrK:3(=hq ~ iw(c I0C)3iGl쎣}8I.$NlO3NknrK ZQJTKSNꌋEgUaOi&:c#!X@dʄBWJ2%Ir UY)T3#NrE)$ +r$}SHGDHH^y3]2R`lpDtGB\A@0okaf>ܳe5l@L`SJaw|RA[oYXL ^2eT[+41ǯ>WdrX͍#^pZl -@UځRv'/̀l Qܞm+N5D3愎V/TȬ˩VԢhRB!# 3QIr NHADBd{̄=IڝLDp7a䢐75F.@P.=;]&;$; h?wA1n*ح1b|Ssw&WKp6J4mЈ *Y&Wh"sTd2q@ 橲ìT:^k7|\zDIq+ݑ{y:NO:־lU}O58h/aD9mE\zJ]yhh\+="Wo.)$@1B F dK AMLAn p 2Yِҥ,OeZ*xA Qf3"b{q hS$#:E@I6@(; Ùv]L rdZ|`Q9dq/=kk>"ȻK cpE8< #DuV:,$%T_-+/%Sr()լ4Gl֤Dewdԛ"k/ E~ӋH\t $iN.-yLb#5)Y5UҚ(!)\b sL"'KMǘ` WߗI/:a@a #^ynҵc5rMb;Y4B[U8`FhWB`ܛkARf ^)IE}Y`{r[lQ< `#?$A-Ekc"xK=g^z6Wk\bŨ&O < ݙKB?l?wEOƋ4wWxst B`*-!R15@#Z"4\KQte[:cm$#Ʀڴ֔yuf"!gOڗCTR,CT'oK9y,ߎb -H M.Rn(9۬Q O! {|f3dQFޡ-ބBy Q4ȏzLܞuD~q3 !Ej9MW۹>e*7]ljnFfdߝ߼羔 ;yJ~}SVJJ W[j7FIFd֢dh@@eE"X@ p(d6֌5ZNH̬n\9{j ukkgqZKM[g% fOO@@?6 @`(S$*Sewzݹߒ$ɽ=޸ m ||'B?+b{ f3R"!zySlJr3IAIn爬\ @\t( (۾PH6ysy/BV Oo$T3*_zLZXL]V BDx4Ϝ.{>#8b$đf!9YƕV***Ujm)eTbDE2".Bl$-.:S΢ .jX}E&A*!'M@zRT =ʕaT{Bz2@ }e#0Ɯ3QCc;h"0;ann牤m7\BrT6Vyz9 05BAFlbITS 'i*^` 7SG#in}{v]텋urO(4{|> %Ї6Aw#,T P(,TFoިb;[_}+>WX, ѪN` JV?wx1MCdydR(ƾ^kz̽]jk+*z"'^ gk, ,PD`f|3^YlSSV33˴^_k7s^Ь;M{rϷo:9$V$ rIGy2(cʴn16EIBNdv!Bd1## BdNAT)n3$1a1X2E`("qRĕ#ΔSɩhQhRD2:7P)#$B+Ef'Gm".D)Jix&L+$IOZcQ&b3`0j_a>4i7= wT\47֦ 2 %{;䝝BL2ɘQ!{\qz<٠N۷hqMayͼ~O1$\JSKe͍J/dWpT9eQE2t0She!+L9Q(,PN2 1C(BRyd3PGZ&l BJ Ҡ%,1 *g9CY{$}tn F֎,Py47x@z}gm";q#ww3<>$Xd8/Js )S8Ӹ!ey=@} 0qCdɿr=Q=v(ՠrm=@eMW3Y[TFBٕ"IRMQ4%;xf֑Qa(%oPtƞ$'aUFBUh%b8$3+Fрw}ʘPP\tD2"oi),rE 9 2r*t1",EfZ2]P;6`.`m7mLTPlsnNWRx(ˁHSMƮK dj$*IFeZ/+ߝ|uڋx0wZ' l I .K ]y dD(ʁ jdi&\Dd`(H@j$ARH`/a 9BCRBDD Ȋ7-HI&'H_BF"6nSNd\%-krUW r|k \HetuUWT+m6N%:`&jk  c$IСal זfc}**<4f @z(|Y9Mُ@c)JM"lַ{ nSX|]/γӦeug {deũOmjVqI ! )*ŊJFq*Ș`ϸH+eED ,G DRq,5 "QWd#WOHLpCa#BVFX{!YFbDHQe/V'Q Kd$sSd0i֘^̈́so^lN:هo -pqB?tMRBHn?lBu*E),8Kgb:֨ 8gSaTBFtwUՉb+,lo^Ll}oqG1ѧZ(Tv DC)Gd]uiJQb&&g]3-ѩ8U `7}y=oÀ]meVI lj=M^1+jEH*2g~tgnF-䐊Gzьt,-VuE$6Ejt}j1Fy YdpPno N~2Z-@ls!][z|Δ(B^y6 ^ #J@ڋY,Lxonލ,j]*4Uۙ[g̀:o8ݠܴ@>k&)U]mu~}eE t@iCm 4i,[ \O͔*3hX=j'6RؾPǧ//ihZ*#tx] fPRtUG ɔOW(h;Dnu"..2twJZTDV7A\DFfdH I,Ȉ*nFAD]!HɄ)s8%qtQC\2,D2Rw&<' tHG",)9_ Ջj-y%\3 hClfz0k5f渘=K ygMxaT,VPb)(9ϖw IN;d{Ɍ*3{[`}뵻HǰX >fz$C2Mby}Z FP* `w1h E]t!,(#`O$t**Fw)%2b"`:L's[SOsׁF1ZSOs_DmgbH֘4 5% 0@ H VlUfJM'@e9bteB?:mN]ܱ "#$c٨ 6mD:}QXO:{ Oy35>B};}~?C:7ZzW}#D% B"KM c|3{?RڽUQߕR6Giqg~ڨͶ6Vt29L,ȼj3* 5W$G_jOOL+YdLmo\-ɾ%'OggS@#IĒI(67A@JI:99<<:>>J!9>A';8<<<:A?G?ஆR@I|3=gFł]&orÛeڐLaTT@Gg .#7X$hrXxLeyI'\tn̘8L-l?:`mDSO߉]:QcUEfZfiw/ :ggJ/GhݫB?=SoIc>/|GV[7ۊl?\fKDb̀M\t^Zm"9FP܅tIwdM[ߗز\]XPp=wVuq|V"ƪ8e0XeTyV[E:wwhFihZΓU H0@QoJfV4S^x'kOF1ɨxh]Ol>yēK I:Rh;ǿ]2tJqTI;匐"e$Q.FAPBBEUG F#ő-DN4Q@$BFtHlLFIƓ-5EIfeґZd A0>R3pd$|!E@rAqI2#R:"=\:@C9d[mӌ{ъ4N6qwCiTv -+@KGؾ( V5XAh3HQ`a+l?uGO x3ɘIpS%{KpuU'0{ ՚_;*[4[?kjwL3瞎2r3N_gmIܞ{ِ'e35:JٖۘFm益saEe\;>'+J>SDIʼ #3bxIH ΃0P"xD.LYUE_pW '][t><2fb;m+(^@ThFgI 6S9<~I ]G4@U@ "V_ţj2X<}E[73-G鵚v"e3{%#ѴBw1)W=?VEY1gTejsrE)`Lq'I%Ú]n; Qd ɼAVC>)U m$/B|?N'uSef@˻FC|߸~o>^V~~u8j*!*O.ōH7»1 ͫu7 mOEcG`Zksx3wm8WRW>;Ν6̆:s'/o!h]'1mkD4AXuGbc[OݩzzUNH"s{f'br}s̚l[.ABD⫂аM) @_sW+rBJy|Fr:\pTޖݶ,j[cg" \B "ėyf`xr@sNZvX9eP*Nqb\2S~lyny:e=0,dIǦ-H,0VƦ E,!u?>%$"`ި1SJPػݘ |>]>Ցk",c4֟fnHUi,ߑ7H)! B1f T22Q,\p F ++Z'R$q$$.r%EFKr $CG)? rB Cp4Ӡ)9 ق%3:ٽLo 3xs${F>d4'd gs k^Fރϭޕf ?h0YRgp1]ֳQFnYJ+%rJD4`Wش}!<IV=B2I1RHVǎ%tjr,[L„W]ґ"v{lކw&"tΨb2qґkQ@ ӓ*#PB%ScoO,z5(l]dױ7uϑy3 WުG1GyVfV0 @ k"(F(/ GgTG*B2$Q"K);e@!SJ&:#EnD!9!/SD2I"l0E=B$ apQYP!)8 0xGallOggS7#IR,),7:;:>;BF)38<;G@3VP`2ޣ .bunδ0=p*E9T&t.9֙OLEd2'R*qDEWeI!]1lwT?0ާ"d$v'Tlt*e)@mў sa=nAGnyy] dR 2ƍFHt?ym/Q69}hC0g.Ƹr Qy=fߨg6*v3\`rTI&8xHXc>K(S22DrӞtHm} D#!LJ$to*T*3 EIBkVufZT;{rdf׬GeC&Јk n"m1 ,P(eab?X}WfryOm b+';DW{Y5Tfv^Z(\[f7XW膗j*EaUӈ8uǷ.@IޔRI)UL{ڹ7 ptZm^6IƧ^oak]B=NƢjpg3&]\DQӢ( - BU,(dQ rLbd 22e@ $bbY,HD T/ \f"TQEYf 04*ȸCx8īBs.!s@j$`")G $1IE?J#n 8pz5}6u"Y&Wc@a-^m!D|:vCAH^+E7؟&@׌zƬ*67ѵ6 eí_osBsP˷{".wIA@1)BEVE+QԑM*]N*d#9$QP&*F(&Ȃ 2>fIHrrb0+$7Gft1`ui(fG)Å G|2@Nl 6Ż DZ, /6jڱlڴ^z6@h]/hpSF1ܔ6(^<͘+9VREJ㖛& cЇC 책,lH @$$L^e_\YSWﵞ{q [lL#/07IHABttp|-L2yPl8y,\W+"Â57wB6WggAfzxD!nVO)mm- L[5!+г!#JY&)BNJ Y$SHJ)GB7&9@adE "±!댠 f)\:'K !NkP!RxJq吩BxzHмR`lD;:H=zO0a ܚ븡։,7`n,O#PDz}1vq*[p1%D~/+;EL}qyL5ΒKyW[jFei- ݬ]'ih9(x(XEՉb&]R?+T 6CZ1B!S1 DHiB\ b 7q%#T6+)GF&Ig $>H,p qpUIHRP'x^B V#lf 7α{fU <̬g[1nm@pdW`PKYd"U{ꖡN"K4ȀϬa[w6|ڔɤ9h?:#v $#SEFHYm-6{=7\@%<ԐEz |q0}h v9U^1VB#ka TraVpb4\K@~,̳wXZcu |mm>N+9RZwKe7y[iy5dJq)UE&S~  oۿУ5% ҏ߮7wnozl떵zfBohGSRnBDvߎASL">Չu˓],lY)ee+!{s(:J9]eڡimZRm,#n P8iZJ%| \@ ky17]uk2{[=Z,էN|cFߴѥ^/3TSg9)4 mvq'c5۪U*ٵhzu՗2boִ;Z;t@.Lp`ԟ[@@ #+T;E'y*nȸc J@W,`#MvY^.*U,W7fz= 5Ra׹JP9{^\n:@hVY.nZf\ PfqR== : ۳.: c=~{N7  |dOߴwT}Fbuܖyk6R6`˿Yނ(װ>;5).iiw_ o8ݝNN <# S4^^:/@d!OOi?N̬]Ý%{sNtL}!FyzZ%%nge_OggSn#I '3BCB;("*+9:FH":9;8<;;?CN48:VK4s&˩oFnLsnp?yDn־aPkLescl>{(;y ̻ȑgW Cv?_dƶ?jjUWo~n7ָ,UwtHZ09Ftsfy]Zl/n$xYP7'76Uc&cG\kry͗SztSVoAz:ͿUkkdF[gc鼇\ubDHJZ0+б)‘WbPYH!#23(EaM08!#Q4yʼn9H .7z2"O:ddDf !pB@ .)R$XeDV:ӚU-ϮT .Hjq7@v1c2j;” ؆Yp1pp| ;@{nVIzg# ;sc!M]dafWheoGyXG:ucC"~Oi$j.,W)*^쉉{c!ՆS%JEZ)3-DER9d0Ot,ȽELAAB<1 WIBEoU!cpE/[+F14VY]“̜*ZcQVoLB v5@w^6ML`$'Ԙ* 0J[  cp ̈́B/x~[d@y39)3%o_Qk1:ړZ8t#}vw5r.%/5EN2怂dIȋRJ 0Y}WC E2,P4- AeFqEGdI$^nr*.ai0_ 0X3&NIXۧo!8q(2zUc@OmzY l"t1;ݡ 1~.-8r.cSfQ9UD.$@^Ru(3Sa/:O/I(t㦗cEXoZ=)9?ACϭF!۾F[S NĦ!&N7,4lm[FfJ@[hee,H"F&YQ9' 1F x $HB^]Y@B&4B<(܈j.ʖcAwWw05$&l&-Flf ` > `QHgF]}f>RgC% $Rf*lL19:enqg'd-^ExI+$܊`Q[ܥ@ǃR\-fRlfVE%* #AːVT*벺:%/f IǓ=}*$6TrIOq.A  8x""AJG , %L bfhjt8=)ˈ0WԠlॱ"Գ^8g`fصٌލ7%pΈT /̓% CJBz22 "n_en@a8\~%A Ch2mF]ÿn{3&$RGR)DDDPR0 1e;m{oe(T"Ҕ[Y:-2 8 [38on@R1#45*VEUctz! oGޫK ;DN-N0M;\~;_n$){w6`3S[>6| SIGSC˭F egwAO]ә7m{m_D vj F!(F1vPA4&Ԥd.D Y@$N"R%BF AFU@ܚY{u ILC(-8ɅDH)"8LdЃx9<~z 4N@f~zp e52Cv)<:=~jTHbd^]<9ň>.vhۙFDjA5BMSXh-?`kPRlAlZL`3ś=5u)m(eI T"NRj͕5 题 !ef~]8ɥdt`Rxu @ )饸#&J\Y&3V*kpõmfꘋ*UΪ7\5#"Ru3qAFQE&\d3nfcFWT c 櫡n,辰 E0t]rwէm4謝>!#!Ӈ%=,/ۮ^DVsVYm{&!r E%ѳyFBVX'T[(tLk[tԶ͵tB(`o$(UQ0P/]H< sri Y[klimiע5ZQⱬֈ<ɤ3 u7@N-`,ЉJ=)UY$Ք!RzD#vl[klj3Ъ H>D$KRѭN~eQo2˴~(IZB'[MDŽx[rkvs}̷q5n a6?'h2/EìPji^KܓN_|(MMEIbȈιRyHB j-vfLtcTre22r:3b%d_ @) @dRUb7%꿳6VV< =\'3jQl?m^-G~ \L-αTi&B]i'nOE}bMσ355ff2_<}rȜeoGYm]pί:f6 o~!Ou:'*1L(KYry{teFrEQfFvWZf3=E吅 ,MF7ғBٙXȂ2a(pc )ަ ]܄smJ;qZK`7ND&NI3!44 lBrpw,eK7zoAհ0(`|6I ]}A%TQ&p,}", y׿:8M23Le~MϛTd񳖫sf(?6VGFoݮdArjJ}>v4]U2J,剾T d1RV.u4=@HK%!z 2w&RuQ"%(+̊r] bb*W2s.M +"vh AW)0KI #Dm4OOggS#Iu*;AADB1 #.$88::855=B21;:;6:59>@A4C\֤ Y+[{*F#/$2)m1:3Bʎ+uMfDD"k&Kc@6.N** MW+b{'qtZb{-bu;T E1x|J"+hئ@/ r+;cQ(ngyzz+aROom.L_:q/t261הcL<ƟwK !j,=P,- ػfO]֟:6_۶dbO)`o(2(2G??Q%=q1VAt F&]Z-Zl'+eߣݐ HQU)>P$wU n"͘pdw~F%ߨM S]u==T^IicVq)Ѕh>hu)EDEb ) #A E(2MdU2!rx(ecG\˹P(Mfm$\1sF 3szKS 9[hdySwD^IJQB#J ܄hfaR]T;Č?d`V0X|>pݲ&> 2*y~Fc2A.HytK@Ҥ?"xwn>m.9*,Q?#e}qv1[ǻc:;gSzn+1U 2"B$ Z\T7CtPGd"dtd8`C(&J,("DP.HTpS&L}T@0(\nEE\t" ^ZB,c@&VL[H UtJY4OLjKs.yrVlF`5O󝘼Hgvk  ~u8rp!vsNʨpwz!+R$comMsLe}:O'~ >9S{~rMPohquʰ\2[3aȮdf'`1*`L\EE)q''222R!+-NJ*2]D/9 "#Y/W⢘i*r!$MW1%Z@d9P{g3^EbTMeGXgPmqL.=ze7L9 2$<$$纋~[{-Ӣ()fԌ*˔eٿ p^ߴ7McCҋZ ه~kwDA@44Њd+Ȃ((erD&@G)*$HAtFN!b$d.#LiB9]U.F!I7 )p6E1Ntqr[!LlN=r-$aV6R0 Ɉq,X^JO3-Q~- KXX^ 3U^,efdvg6tJ cb!BC HO*$wsz' `FbL+J%w>߾۝o^xjAB9// ?]%[؄j@,zQW$Zđ=h[ݦe3 D.%\E]ݒQ0J@KэS-/"Hlen^^)$#@\#2E"D=l6ìx2ko]TmdvҶY+-m&E ڸLGQp-qܦhBV#-LMYo?|ۊ53r \gZ [ٌa$M4;]O5zXD0 0)qr/6{^YձSD]rJPݸtSVD[?>&QC}LKbZ۩fەvhKU{LxEdF]/ ݮ{wQ0FךA5i,_b?'魌}nXmuKi83hߥWGo,W->y ΛmDʅ=,vp&Vv J )Pd:TbFE:jW r -L++w$l-1MˈZ_ReŴ(az^έF91kW7~{1cg-Փn?9晗yǯm@!`;zW81ܻ^̓|'o1=~lF{ciEѽE;)8D7z>1ۚ;P`53S醧G1 g?|*rլ*y|٪^[wj3Vy+OggS@ʖ#IH+B?C;67FCD5:76886?>@A'<88;=:E?B-,.݌O*tzBXE? N [LCkWk6K9.<_9oJ[ne3:j w 1 XkI\??LӨHx+OMY,EQڽW]{[W{Say=p(ޓ[JSc(cWBJe܅g/V,wa4 V m?c`QU3p.E_g&+3Lr+lbo^t$+RN[<;@5%';[%ūHw,sQ.ݍY'nNVXq.W1o(Ճd;w]j`?Fcj .-jͶM^5ֻw^Fɐ +ZT5T@ʟ)j{yoeo]ʦζ ~-Q:O "_ e*Մ%!O 2TE٤ﮍ=2 ں-{4^Yg "(4"}2aF͘:TW˿,V7k{.N#~96̍o_f/sN C]LaiR%–s[zV Q,KWTȋ~}a*+dFQ,"2#UŌ#JGK9)OCᡘt&t1: Y%9H+}ǃBJH%_ X"^_X"'P̑l/3yL{W^x&RV YCq5nH6 ¸CPړMPg,(3c EH(M]$ɡ55'b<ɬŬYRSv$YNvǼxT|sT!x80YJe$h5Ga;TUQP)Ff(MZ")4R\( ѶE:jLL(TCqވ歈C9bWV9\/K ʅLԞP£Kmpr0a11]#q.Q#,!| Θ#E[PL+0潼ze kؼ],uAK r.2(dPEtBׅgaL_4- [\E\m-=SL:):!+jLx_Q-6sWY- J .ÅtQj x"0tۧʡiCT3 'JdSh3jU]]ܒX 'h]:@9q/T,Hb6vGwvM(1!֥Vՠɧ`]E|AX?\Ef㪲4d>լc<3dFU2nӅM,|0l10y*2#6{Fͽ6ֻi`{m]64Vhԙ7J>y0[DҜYbgK-ڌm^͂inͶ-6 zwyR#ӾXD $n=efX[`s@Mk ;ev-J0_4cGC^`v7ab]yuFvmjvޑG]>]:|P|wՕҺ}ՀJ.1i]u(|2G{iFݧ=+}Pw4Un8{Oh5%NҌaSr#TeG܇/\;s(@+=00b'kҊ TNjSPVV eNPt(PsV@oYLn**kۻ߫gׯvϾb>7~j3ys%!0eF͓OgU ՞ۭ聀mo)UlyB  F*6.@'enwq+Y?_Y`Z`ԯegݕB vg}4ˈ h$}7< 6@ Im۶0,Gk`5ai d=ZU[7Wan?]ϫ;6ٯnODyFÝW{-(1y,!bZ}*ޑI{ XL)00mG!otJ(*uIϪв oc)/ԑ9*")BS\[%cϲMe;64yj#fm@#J- B(Ty6->iZ-n/;rҡh+چ|"awW UfؔR%nxʝm=RI./e #59.^18Ƚ6PJBO #7\BDdKuŝtjd WYIsHY}7#6 dG!rXH2HʥRi!2U{% , )ZL|y!ek*cearn Ez TlHn,F#`YyKlGQ q[SqefʙҦv,&O+]@rM1?c[iRcq[o;BA-. 869;8>A@ !ZbRU\ ͍"6So9aFnTB1դޤ1;^0 PBK)YX3v\WbltJPy53MQv+Q^}UFnŮ~":Bn,gE3vb g 4"J6} JcYfb2+r1Z06mzߺ5Ҽ=<L吱%fzt~ ND48{\`!K fzz3ϥBxO]JNc:aI]H|YUTDQچcEyT3*~~{wk~"Kq&̕ ZtwkB sR):#j{r|׶Mݱسɸ2g6fc_& T dA.xL,BV1LR9!n}y۰v޶d :+EgE8=:v $35)#L|߿rv?`ޮ.mztdfUhYmr5 bpJQ0툢"#bd "XI22H! 2pdT@ H# ܛ@Ae\FUrE(eFg8 ]d ,9Q8M +4 , Nk"Nl6îpCՒ9>HZl<$W`"edzsGQӇܢ돛!ZpÝB U\g^L@R^E !wM2$jY?8<_r0ܡy z}o&՜Pk>1!1RTG^ŠXbⶔ41%"D8\JƸ@EH2 );CFR C q* RmѕT8g 7\"!a@Kņ(UP rC'[ #.vQ.9d}K5"6 㙲iY lhwwe?MN_ ^ssN l|ng`׭ ry+j,-ȍ;  `o(yYn:CRR}x0DZS31]tqέv\^d\=6A,& :Pp j%hwA\G)m 1rBL[LCJD[nxSH-Ґ+\(4+8@fRvJRQ9bKU fK&hӲ|V)EHm\đ ~!7=AML k1Hgs7z9wb.yw[n,x#Dx 5\$1ʲJe䓳uuϪ 8򮎴U/{vG9?EW6.M株a yX$9&&24+d6"B!ե5jφJCP a+AN! JI"Bh]qS ep%@]'i4,z]adamH4 @ F# i5YmZKmfkarw%ik!;`+uvZJqȉж zoT* @7fLde]!gbGz5W|-!ːL(ޙ?S qMb~圑8ەFFu*vͩмzT)NQ3ʮ8'.N17IUJ$R{ åf. 12A"2RqK"\ai b-!ı$ rhS1gc@HSͰy{aSb3@ 2sEW9LJ \)P\ cm$XǵY~Wi/dr3Xmv~$SϺr C #l bjKk +yQ޺E8Ɋ򤬤"Q d1)G|r]˧ꦌ \W"dd$)GFbT) i'*D5+qs) $,N Z6n7,`c28:Q%hS缌ߌ- z&~*=o4;RR2ELV#P0ҋ& _Qb9n|X! ށo9G(Xi(pT\NNI>}̧`=LWxbJe"Sѩ*r'VcXFlyw$7T2%ݏ)$ʏj#`OIQR|uKJ_ E[ѳGX۽-ed6eZ%,+8.\ڼG :WRןa29-1=Ӷ5mWim3dko*؛iԨHL^#Ua4F"-(p#~$ :=S0 _|[Ҥ`*#Y?BAv65|> 7\%Wo()KT@A12 f{Y(r-}C{XQ (Y.AFRT/SiqjFcW~>n? >yng9M5דcj]g~o:KL֎=jh nu7NBē4 ɭ]P8^y  @A\ \VVvDIF!M߂-qvBL#POPdxdӕ ē>d/ջ# h!]PXdEc}V ݧZWVvlۅn{gpʾG_7qp81&Z ZBjtCw'ŽvHT@? 8V*1HZ4'sxHƓ7pC`SSeY_(ZcU.~ηN^'$D&oeR4(nl_caQ% MvG ;Ī PDf@c? ST#-o؜v"[Ċ˽ը.zuܔhҺ+RoA<=涣Bpg?ٽ[vw?V&,ug6oii;uWllݗ \S`]gwEf!9,N @[,?(ω~R[<$clLYh+ %ǁU/I=17}9w:1u?̞ߺk9Ē:nJR3[O5Qe*t"SLYBbR(S.&}S$9ʹj!d"Al%/xCaLzr㊹<ANd *b-P/"+D>;Kd9LE[(uze?:gq^ 'N0a>kƋz/l`& y޽#gH47N"yQSeB+oWoWzqtKɑW?[ϯۢrҳ(N{xmRvȰsOv]b]IQAgn"H YA!.#KV)*"^DC<@nHZ{K8j$I+^VMB 0{! "(W,9@ɜ!,lBXògSEinG1g]p f7~|y-􊰂hn1:Ҝd.  >}"J 0$EU [{9}]{n^ϭ a,mpߝW%1}F$tF}+뛷9VBuvScj-m%BbWtG@R! .FN$MH@SBF.VSj#b( #nDRHx {dc## vP/$CEwH`bR.sgni MkT6f1-]8lW皃1PcR#9!ϼlAwF뺎)3L`&ݳ7ܔr+Ḍ묟;}B~=*8P}Q'sW9h5kdPj"w de"HЗIȌ YEV{irSH HA[ad2l"u.F\-C 6Qi F>4[86[Jhv@ǎ}s)Ѐ3[:㜆8BmG$ƏDG,̛*eDjoC[7mԑ[hA/(#55CQg"/kU~G:e4El;w-*:0?\!:DfȨ QP^WnD (DZ;i 2mD z[+2oL"^pF)) 5= $a&#J'0}eY6Pv I%# @x]k"{1UɍFg\ԾF[y%+k)6Ի"\tB@0k#nN#X uء_~ʋ}~[3%fV*e{X)zo+ہx7D7A' #s[gЏZcV]MEh-mոz2N]= AJfFTB"E3GeR;-R"@PїC_%HMe,* !n"tdV!-TR5Jg9lkt&z@TҔ&Gɤw!ĉhDe^;Q @bHU.W-k2:{n`bFI<ץ8[:U9 &iXJ!@0iTͭ,~́]y=ՈZu[t.@}(t2#.,otfZZ.p~L<µYl樄55\&tZ5Em (pם2޷ܾh n9ltk0Guqe4j@۽򠶥T4Zđ?gfFB^q"lމlMmMx)]2e3&Jz&i@'_Ť_ ĂH1 b&W,>*Yc4a:' C[F12 6= du]bQ}u 3;P S8,!˧M74t?!= w^:*C{..ӛ$WsfjZHC;t]wuGfCaf) fhQȰ2X,$^Aטq#Bn-RCTԙE- " ND.fORR2ĕzR/G9xot-)E X0^vx-F 1^: nli d:Taޚ jq'eɮT5|R_m p9߾ng5h޶or V h%U@CYbQc@g.O22=ɬ^Z7izq3"B|n`o xVS~vijŬT͈$7lYXLYɵLuĵnbŸ-Z`'w^1 L;/ UW{eh=|V$qS)8fo#Nw U,+S)[GX(ڄNXM3rcxN}u0RϳU]TÄ8UkblrnsGqw#-p(+MS!_!m&k(KYn22ZoX3WiӯVcq k5݂/ٞKZW UsZҹ]1Ō,WzݴieoYdY:9)dƱް%$<튡E"bLw*w!JPm״Ogov,mZ .EWs1[,7+,j ʼnH2l ^7]YDJspxT͢'<"Ev牣'Br:fT)ʔe_ {(jXq!pjXSJG{JG$s ~RY,,gjOocas}ݯa1n5(kÑBQ!*E5z aXPՓH $ܬ6@\Ȍ$U"s*292TL9!ܼ) -"'@UљJ*(J"+͂hRq۲[ZFzoz ^$0Al]h zgՓ}(%<9:!غ1ޫ쳼x)dFL,+fa_u+p#A׼D!>S<;RN*͕#7J7{\Ef!04,D' W/t{@D OX%悅_ 7%OÝ /oCWkȠz:ԀHUh D}a@OggSg#I&:8BA>/%&'7B:"=5G@=77C\8cD@'q@[]sHB X'MvWu .s%ѤV0Öݧ\\c&]1%N<@19 jWۊpw̡ef5`Kd$*qǢAFb>?|Q]*9Z,TjO-Pٸaowe+|֦dçU#*#lw rD]FBMkZJ'hRNٳ{Yh/mBW`S=@;D*dRo%#L<GT7ձVToC՞ 6ڳ脨Y+ {h@nw#+nAQU ^QcC=]~OBjy3c.ݾֳe3NI"u9]JVw/D n 9XC KfR 3bftIPLJ!;`qWߌT)3e !BlV""!D"cmԊ Y\r7rB[p2iCHXk"h+̌ AوTRҫ:l !h0NfL8v-2)m& &KE`:Zin2a;ދ;H]Hk_b@bUݔ,^&),1_s:~+ʋwVVWqMu1o K(dffda"CF5#q@+"5n YQ)Ъ]*R".j&b!$Y7ċB&I$BnbDt蒼[pqE dqC$~`D4.GH ,"&!N˷5^:ww{3<Douu81{D%yWn*,,WNH*wyjFemٽ*lϯ=wKG #l[y弈 DjLd )Ie "a50bb5Q 1ԡh)H@dL(F^93bB$D$ElVHI.YȈӈc "m*T <\iL襝 ]]MYt% {z&fkӰּFa{q3cAދc)M)t~]sqhr9HR AAI(ffԨdT,~GVN\u"ڋuvviAáS,a_"UJF\ICTȨj%)B%J$2 N*,!qP,TFnHD5H>I4@DpSH!I6nO)BUcA(V.lT7"WcH+*d*Nņ@(V ˈ&KȐ"g[Z8 Ff7FL/t{pfG6p=1/~c {&ҤD>H̛hW[2 ;7Lb7siFA6xW~#wGʀB93Bd] *?*ʥWQ舵)"ER&"Ŋ"EkSD@$/+* =BĬո2Dn!H:'d9RJn!q%EĒQ+I%IȊ\x v8' 2Rq;OYfB`ìy!"̿sY ȵQKVp{wR2JsJ\m#!Vc=()oWʔRfiqtIY;.)[ ~6;ާUtiiI J PNJh+`r;aS@W@"H)d%9$} HJ3S8s9HvO$)"łaVg _郰Nx⛸\Ip7KBʃL$T .q(r12p=Qe&Zc)`d~یeto9f7%$7{q!$%6 Q35f>AULe+UNg duT%9?*9U{%.q;<嶜vuxM-@A~BSɽʾKK@ U&;߽{!CU⊁JAT\)XbY`Hٗ!3J7F@T )W8BI)IrggCȺ B+!V @IvϷK/7Aد&cdR=R첵|15uq(>LAzi3JU+nU@:IC SI#P%6'RL=`_2fo\: L<-nc$}L5TGT߮(HjG>#7rŸpl w)7T22Ι-MUZ%@l9-D>OO)Zgd%q|ĄHQ.4Dd)CZZ5My 8!FpXBwCMӄ\!D{XzA܁޻37AYWYm=hAh]eF:ghrq}LX84RYtF n(DEE} 'z.F23p.[oP+/;MeD]\k3u=FPB_|gaْښ1Nwo=Z]wljBU}v5FN4\..JQ%Ew!I[dOfA]E"WvQB`@F5,lV"jp$+ \Hsb`$Q]b"n MbD@Mw,Q9Vܛ{٩&O4j=œ;袯 vw NѬ/#Nyn!?ҚjO*wJ47sb5t^%+}6FGkV#U8bl؃=;]vVzgKZXv6c:]jhsV0RU͵H;imբ7V]7~L0o5h d:Ebӗ$]]E`YH@AXy}dX )0j왅PZӯ[\lޓd6Nh $)$5m>(<*x*׻[@( Q}42TDFJgkS>  iApX*]Ʌ"«Qi+:D߫/n'T΄p*?[6}fq&~NRKVZAA:Z+559ŧԠ6P$TЫVe0&p*+1%@k5zgJ7Pnmgh DgO=H;ifiMrueL pZAJĥj˭ pw^0e7}Ng)|9i\gJtC÷O%I9rS4rrݸj鞩˝szic?N{OlƢi<0 ݟ%C8ȸBefOZuSgOGmh51D#ԝ`r}:1{#a5O?hK hQKCY:1Ytk?md]|L[,ZY<1!Aֆ]di1LkIE;cHMLL Ld.MΪHreUз\"e3v1F c42rM{o[wwa{mwVm۶Vd\\*H= o?6<9J=S0LIG5?<=<>CY4MHDhZF),]Zkm~c{̶{rNԩ>^:cl,PD$VWJcq LS3+eehzͦ)w>ջjby^9uz2k>iZՔ:7l={mALQ\J-(fb,D DQdDXވL(&&ln%Ixa\e3WɊD!&6cjapN2%!%Ad$aGjK `KW݌tW&¤]/ZZ]^LP4XLL fR8(qBC1Rq{=CV[$RcqB(LS8WV=,t'M˭m~ )o0 PіF 2]D1\d3 d@LDKD1tN@aTyōEP$ҒP9ɔ`k ėL,D@V.g#> Zk7X , ^Ek72h% P\{8َNXtj^ĚIVh?G9 Yכ{)EUt]3Vt6FQp`O@tUc% o aߎ4azF;t* *0`1@'x>Y>qy[NDe+쬭`2 drZ*;by`r6 U6@`O:wUXv<6U):fF{-Pi5.i-3 :_ @0*N,HYz9 Dbcl}JƉ @H ;lY~q\3wNq_6+QYTGqzm LbJQR&|Xv h=j'ؿ`055StV-`/pnjƚ$N~} J߱f&[iޡn\~7L('tQ\Z[ r ۦ>#{u"ÖizzLcVs|=73*yˤҹ̝1- |sV=sry{q*.mǐOriD9-x xL SST﷿uwl[yʝ76{Gn~vAxD fм":9'eoh Lk(d HIuYi_/f#/]o3qsn\ߞYO+kMnwPA8]oζQ~cF*BPʦ{Zkl:KH$e28{d'@홪_~"!ILAԆ̲5l؋MŽ[J{K5'HlDpmfلOR6 flR%n{l6 "йD $`Z?e B+PF~ Aֻ{@?$CKs-f+7ҡ{U%XV_,?9nd^ҦJ3o:z/3Q.bHnh|S'¬ hI jeT>–\3fnb&}-[<م[r@e-2<t3L"8)%ZUu۩2\HilwҒ3j)4E@@MdY\+W3a'+?{vQgy'f72l8u R^Hج5`b/qǡ/1uB3J#BGMrz ?U)@L VVC$9*ź_tbB;ZEnH/nEAIIt4t7iؑb" ˷Me{gmϳU|]-]Wv-"h?}-yn4"f~'Kvfm^^ri-^צ.I* )zcJ? py"asr\t]FoZ/kzLї+>.#oYF'\fTo|IP _'1R#o}?6׋y%^Zz;e7Ybd ILR5􇻭N7AdcGjU@ATC(,x_{gl5׃5f`@4fi(>̵6#N/}f$=9MAaU,z`_LY~o xSNC?m8Y}>V$($4~꺣z۷rlV~"vW$t;T>>N R4}6nEj=)"+t2)U:M@D%/2RbJ~ ┒@9RPiʑq$3\ 8dTSj xhҍJ t~3"90LD}Z^X-]v8T\n *&U h,}= Xef0Ge'.9ieTu%2'nfU? k ]EjHWNqsm{GW[sՌRh$% # %!ed {ʑ\LJCR""G$#D zӒM?J=W ;{L:mK|# C~7jVNU!`Xܜe2)v71ݼՠG{G7lB%IZ"B n&@~wƑoYOogu]oE9CngOggSŗ#I#g";@@A@8'.'4DI/*>=FCA9)EtteÁDm_QQ{ܧ'[UقKUUez{i'vZ{˺uLƲ ϘQřsݾ:Bt[oj۞`?D\Wr025 [ÿ`{.bat$73^ȌJXM-j5n=Ꝟcxx^M,O 7\25lb?#NOǹa7\,U伳6o7fՑMyJ#%W ӨpM}*F10V1[~dLu2 >eP%A* @EHp}~{t.NLyJ=5LY{kwoʋ_t˛6td)[?;s&w[5dDf..F!m"-e@D"2 QK*#HiXaes*$[JĒ $/RBX)dBqNp*nX-PILȕC!DtubnLY)!%B8 L&2stw Hۺ7K$WucLMp#0Zu FV z ><_ _8Dج^5̫D٨ X5p#u?\<l>a FEQyuDt!V{WM1J,o,&s"EnJ*@22nBD1$B2B TnD^Yde Bo)M̂􉍈&2BqqTʕ"XȈBWY}QAg& l'(Fi2T˶8^fE 顜WiɡzL$4ZC̙6}. 28A."~MyE >K律}\b4;N9f1e_t]7O ٔk)b+wLeo݂Z :e; :6 CsY1wK%H4Cj -ĭYP(gf8JZڄ5@ )nb^eԢtS,\9"%X J@Xr2Go x/%a)"PG0/`FmvrFfn.wlP/rЅtcʭwNka+Pq 8j$Ue{Ov3DWaz =|cr\P-SQH.]2ݐ? =ziW8载7,4푑LItQhM2IuK0,dFRT@ZsvJ`,H9N !Ze0@EK#<dm S^hL1'^xP$t2ALU@תsİ @Z) Še7k`#+@2ntyyqrvz@:7GI" JJ%Z)#}yZd>(ѿn'"dҏZ Zg b,+G(!C&﵀T""o%)!JդŽBT'2+,q¡2,OB4eb{-Iظ)YD }AH(g?= { Y4x]#&XH5ǐYa2t v}"d-DFpWL_>dP&|^-+ qwyA>OY흗{ `j½8۸[^C,Q'G*MgcrduM6ԦS+#| +$iBHɼ`LZ y"G^Wso "$Ԙ&;z,j %x&Ͷ ($zPwl=/ņ~eRJ_ۋSDC Ѧk5[ySkqb߾_>?)WV?Wm5G=VbT%9JhШ@WX_^Bpm) +rͼ|^h}x6]SN[x?1TK/FhVr-1lDs8֎;SC<9C@E9d^-[,aޔ=ru_LOn%6ϣFomキlTeۮ?K\¢J' ф u^h,jRz.f_:v5"=}~7Øۣw4z|$r#HP(TTIs=hϠDr'Y6ը,SviNɕӰyTJ4&٣Z{ KՎ- #qWZz[c7lUd'2K|Lj/ yesX5E3 ]h+""~kuɒzfkzںfȾ(E~eWEBA~:ug$>2SޯZYLΉcc弥rSg?SXN{:}Q*NSrjp_MHEywg. %I˭-:IF52##(Hד%'bVRsBV"@Fn'JQ,5lIq7!RāddypS\@ReգIG1dY 6/R jDUU=푛D*-gUva!$"NjTPk.@%TEb@2T S BtUW+WkD+IqJyP=8ML!eXRFF ; @gRIXiJe  [GoGC!vg,4gNlaZ(m472"4~[KUy# 7V,R}+RLtւOgk#LAeY? cȝV1O&H `[ggjA5 ,creO5b )UڭnͣMQA + 4.r2&R 2 )e .*fBQ\R%Zhrc, D.H& ftf%BS<9+iRxPm:cF[-MDH Pem- eFS+uy%`mY79e sV}@ҩ9'+H,}{||19pzTٔ|k~&ş:iߢ I0;_Efd9W%yUh)u Cf1ّi2iPRܲ E,wA+ ,D Y(d0Ց`*Q̈TP͘\Ό(x{Ɇ(  aR DOU O@8 g=xV,+EZ`ykd85q$ DJb0i7`&k`Ksw|ʌ'OYa(PpdD p[@ ; xc U£øN,f/xq9Xw˙{g\8ul,FA=f/FR1*ŹEK$#yYWޚIbHVu}EoD YV$&5r>aY ^Q3 ntF,AHW`6Ep+KR-^6/&"f.P%\Kb%/$%A9@3BzrKAF1:#MhJY)W-=td2JaT@K˚9 } K82XAr,ef,62Q/ Z5oFMr36Ӱ)z8g?QEY|lz'z*R]⤸2Vn1 eK $Z#inq]dFr 3[,nx~szt(wcr], GЉ6VSy)llQ)lHA)gz`mx|pMd44@[;M5hYGIt͹R:rT"MT\Ʒy\8y1 e?K Sːb֤-~f/9 G{mUv)dϲ3;緸٪"Ƨn|#9G|tPow]%-F^kYXqgʰkB$).@;TDpaߦ*!lhkZͻVj)qXgZpSn{;ר[d%QBcv^Lƌ.YudtAW:DBPG/~w8YI {oMP3WsYȞvjk}ds44ߍ [@64hBH f4ދ:R$*Z9V3|~dyLc3VI~{yst jOW?P8Ӱ}Hժe3q+ ydBf((ʄ$d@ P`*⴨Y063TĈI,KʼnrD`܈L!c#Dt5Snn!!#0w:1ѭ3( ʮn Pz }6ںa/``s.eJX4W)~[LE1@4G`@:IZ M̍ 6ycff&ĊR<$V>? u3\xwjVeKmf]9; ԢVKюj-CUa)BeDEDVZUQ,.. !J$)CJBAn)9 I&s *o %t, gi&` YWڍʦk;Xnz=4mOfYZLpY7/s{VY#9^ (f0 z",PDܗu%$3L׊StO9^BC/:+fezT鼍al3m`&:65OS٩sD6%6-EW0 BlqTJhffWJemu΍]\!bԥKVۮ`bHըMyl!&%8w3q4w.<,2#$":+,n6)}TGUJU =ĸK:*<֒@"[ClN# 4`r2sбK8"uJP1%IDz?ٷpM1kɿ2#gt`ϴoB0.@s5Z:!IJSoXyQ̂.W(U2E 'R"!eE.Z`]*2. Uij@DGCbDڋt"@"E$l. R)4bv*a3zy(2$@p6i V0͘Þ=o`_Lf΃T "dM)E;`IL|og|߫Al\jU ͌T ytW_78y/Mۧ2^w RDֱ$]-j!eLm팟w}R?sYurХʍNQ]Q(ҙI2SHP"VTPQb~ǩQ̍̉n'ȍ !.YH|%Ψ}E"a$IGsȬSQz'Úc~L{G"GZ /HE^AlJx\b6C0VU+'"jrwJL͌L~#=]',?ƶv&ʝw5^Q Y^_Y.2l5?7^z jͺ87 b&(P9f!E :{6oCD {2RDDYIƅ AEx\FB)OndR8.CF{ȬtFn(Tr1ᶐseȘ2R RDn}Th댪qin &Mh5[͹ pj…tep2 S0j $d  Swn!ctSW>*".S^8'o=v>zO]U欵ls*gd,!([*ZU?6Ͽam.D7?TfIH>hTepzk{.imQmTm{5 >0@czy5V6J~/Wk=Yp]${B8,cT-Koo_rsMܳHЯwѐKmLwշr4̽lbח/+.߲Eܾ6(RiT\"pNtEU UF*96+'lHk[_'/8JdC W96YG ˅Lyd,(.B\>at-= 04+2jM]Iq |3,/_'@yKfԔ23SpO:|}5x> ϶-yvDFGb$vC'_;6~~W.o-owR*-7t! +UO777"I 6Z(u)Ρ&r.'BK2Et "Duqfe󌇘c'7 I\O$oYx]bV1GfB m) mۜ;`4zgoA~:?{!ܔX\8(iInڷt$K=DO=;0:[yVl^S\3=I'hHDRŨcR$LItw׸՜-\'j;1'8XL{jȒW4;@NP[;'Z%e6fS ő`kXyvvC @GdZΊE 0R"i&7J|17IT1ӹ)d6tR\} =כ#P S2ސX7)uPyCbmf<so# euw ikh4zm宒VPL 1ӗqeTwg.q]6[6-'gzI]A*jn<ot=dD>| ;VF7wZׂk$zw/."kECMnMѫbI&{" U?߶)[[hk6R( zW3c]rѷ 'ܐLeyaܹJ*UY_O肭ʿ\ck043~qaNS[ }y7=%(Ug[S tu$oGaZ]q1SEE%<W@|wk;qxF'Aڢ uf (06wSٖzt 5myB M'ɋyt <Cu\I+5JZj_>HeTx4o,ĩmcjLև~S\E!'ZimcϪ¦9ot9nBEW =Ά&EifBôƯݙ[pj2s|r.+ Oh5ձ_^SHv޳s}+挚q~JvoQ.wfgv?fz ocW/K\̨OggSO#I X6>9PE:9DDDE33::898>2987529@:;8?57747IA,<:8998DA-Wb \P&? F -Km4WJTI206- l1!Y WFM~lhdc]o_W7l~W#n YXƥWoKحb5j\.ۨ B!"Bf{mtww۶im۶Uu 3oI!EnqY (ey ³NiYk;ܦgcRImmيeTV5ɸCujU'<:&c+򰅑ˌ,D^q"OaΙ3t#PQ HsolU53gRwD,/Tc/[nt"i*𹄍屨.f TaQo(d1*]Bb杶{v?P[q^ jY J-_m U {zgm];y٭Ԏ-K>"jSu]Xj~:TcZ3s.{]UU+T( t SrH "N؜w >{;Oj1jC@SI7{X>+ J-)2AO|ŜuC/"Rd>3jafZ?\ n=@r@gF.F^KjVɺNuj|ֹ1C\jaTcCͮfi;mobPݴY*k AV3EF)2WDF(W(dB1YY(,b9PS$Pr d$)2 $XBvRHVNBh웱aq4ALe,Ҏb [Jhj_LFDPѾp޴$r)[j=ם{WY!,qx~p3>._8qAn꫊7r\hеPuWFN!*RD3#4@YU,>! P˓&`'QOd2z۩j3rFr0 Z޿zV0;MV'>DV2!|wֺHF2> mz[4 wl,qǽf~K̅.{؛tuդ/4飜B @$)g qQ*V E[Hkyޢ&*ap^͚1> p@-!՚)QJ «;d%5Hhd2Vjm`^I6`֋l,A|j(DϨo>+t ;4\O24%w$FV(.q3?e^dvƄ/KOjPU^)m+k!nk|KBtuR2;,^?#/;SlVM[ nZ'iRXK:X0,}?u\(VwޚkZ޳J'n!"Bsz_0J] L kn|8E%Ws -s FMsL£ \E 5Yig dJЂ6#r򿠽IYLfm텦drz^tS(V5e!2Ie{Ե\-ںlإkDC ٹh( [m\Xǩ{&0/Md͸Q^mC 1}*V}p*aw1(6hyt?ɜ#L=7 IS!@h"|[=QMM[YW6{7 G$L|7@b@ $Xeik+g5vߩƘQ`v0'ؕ@C3fff _~uwn_0A&RGBL=@L/#c 6 u.nIּ-g웲4Z#Yׂe$=UV 3 EP@]oѼz_3ol׮r-Y33fkaaYq9iKUYF*FFFq' MǕÔD#2N @䀫fc"rX))Y1Fx(|Q"3dUK$ h]\ ⒛q 9C@U$әCJ)%NhYOm zL}3PzZ2b\4S9.122G%ˆѤJHCkor-sQx{϶I^I4`DelD@BJS }ϖjˮ8ABu6#1Μkf4 Y@eQʐz8ڔwYx{|gЩ"b9 m]{ko.tM{sgdP쭖UR9?Pr! (FLcMדy,) z`*6sIP8@^]$G` w=וL̪T"o>?Ze_lwּõSvoDFBq}l$f.goRFsZTA.;j)9:l%.t)@LI(/XiEL%qGQ4YQ*D.j8 > !)E+x,$r}aNHH$rC"' k3@+`…5+`(]|uPHޣX1i,28sͰU׵ɂ;I ޻JmJH;4Vx%ԘMoe#AZc#cqRuVz={{ͦP 3)3\41I$cҨ$, S" )jj*{y.;i"%LA*"A\(UzAd9&62rtq'od 2őM۴x%0$N!rܻQN)  B(gzG pz"iA([a`OggS@#I!)'986A@BC;;98;87@C@:HC)09x]H6 1 ʪ[A5{'B,(dF$#r!B5#", 0JJY A2HV:8*GE4 әO*%GBb wؔ=$M ( DJȑ܀HOɩwq3ccK;wYC ,%LiF63Z=yNVy;*\Je2 ɆS{0&]N@?EF#V [R,뵞5S0 qt22JhṢk?Dłx㺉yE-ۃ myct0Peܱa2* sr(^%++dNL^dz,7"!<\\p5r-2Π 9VUmp WifJUWtYߞm5XLڦ w) qdn~-<P$S SL)JdcW[.KNlbK ֛Z=sS%fRDVKd#c !UVmwR(][n5# PzeYbGf$_>Ɓۚ w}m DDS`Uy?=my/6\cm+-bU!,*  (qum703)e:t>FF|sxg=qV,㗙ZWWtٶ* P Q:$ePȔ2DdA!c" ΂)Q DRB5qDfXP221 h.#˕d/ Er TȬD CF"%/tB'ݵY>̜4 .B_9Fgb<ܛ>Š_(jx~ J4LQq5*eZ+F6 G~-/cY>rp~c~ c#B]fo)N>n@ yID#~O,^f.x/d|ͧ)9Og @RTmx >;+"ȴIYM ШnSFqm "i Y*.q$Ay$V*+:d8, L1R )3(IHDWڦYb{Kw9.{y5M@.>La,ci{$ͭe) lxodRUf%o~O8Mzo?9lN7v: Dz7QFfk ڪqM@ UΔέdnhuedT,7Y6rą&#kA5CVㅨ@ (\qB %ZHV]L5-U˅Y2xv!8k!x"$$c,nDHY)VVHfR"p-3^Œ51f {3a&O5WØ=H*(:fj2D`I"p?ˆ H'oow[/;S~6ѣk9OM6j~## hv(Z_̘"({!bv.nDLT=Iaͭ` y4ƛz P-hPYq @fT y`*yH MƨXD5ũ(ؔҥE$r#7ʉ !:Ah KUɊ88IlOHV]#؈v0oܘ06Sf"mծ-;n){]I1L69ȠT&Gͭg wޢx1JY`/t2Zûl|W%֡)uB unA$,"Quȴ˼+6/3 gI/x( tZi皴Py SmxP=8Bx,=?ʷZsWﬥw2kλתRa޲ty"I:iX`KC uD3N#!S[Yi/=&|n' i8E!LBp"Q@;' OwPH(. 15Yx#3;`=x_o<@RuTTu| >k>r{T #{"{lơU'0W_@ACFWΝ>L_L{PSRZ jT L~>w'H{J jهW1\{* 96rEhŚ菪m7arFS2$T4 93( o&)[I|D)íC1ֶ6D+ik(lxHխܒ< )l/U5:A7yY~Y~oV޶+ضڢN'P>+ FUuUX t.PGfĮx][3zDZ"C LkgE{w/VuA"5oΩ;X/tWa\:Uy L6hT{Bl5ТU2%9B1($2*RRDK\I9rJt_JY)dNQC33gB={\EtFR\Q`6H<dMw) )Fi.9YqHRCϞ/:A͵ ğ5Y+>1(w=.)Ii02 @;ρB@aRI:ֵ7SafZYDya WS F?Q1wǘ8]kDWss)7wrhzO*靓JS =$R#.R9"$"EQ QNs(! fVCQ 7b /A6"rB&\e@jA KItSGI$NIJ:FzMF`BGt  B ar/bF2FF$؍N4!777~*O؋ӠK >tMXraN3V` D;7ǘ2SWȗg/6Ot塞z"-^/(vdmD:"*7ĞJBE4I~)|O*%Tt@Q+x @0@"D2ňM!$K&,dd9. !K,IB̊ܐD"L:>B2$f\V qI>3DJL lZ w4;>kֳ2[ܝ=Ґ6 l/0~ ^%uI V_iH&L tY{"} 8R& Vv/ii˰;'AqұsZ P E Vհ_En\&rgW 7rWũ{/ǘjq-+0CCuJH1Y99Q6$a qkIhV"i?l8\)\@R V^rƄ  Q3J (AnO@zTJr8ygz ƺfR63k%NpHm ^~[fneVlYA n捕2SoWx}N-؝|zzamg $kDZ8`Y:we#B(T*͹V )Ջ Ʌn<[EV/#z)Q-d$@' IRIkǙG@H."I/HXYu(E&6b0XM9$ >0ʄ߲gP9Rfv 3ބ;Qɶz+ ή٬9֩% "UA EaywNA2\ kVᩲ̔C}wPMdݻ-pTtǭ8fC`׋kםˊ|*JQ(kuwER*>KSU90rsҴ(F0UD4.RucBdF\ H)lNbH1"BY"U@౸lBE ktgt@x H AG愬h9_/#Ǩb1t e%GZ&=d4̛ݻ&.7w3( L$5DP=f&3}zZBQnڴ.6}rjL[GT\ c|.5}jtl&VPP]:R\syYV Y@l44D> YP  tDX]«6TIDddM7{$lew;fyD]NKQU:DJhhӛ72jŐje' 1!\mg&Vَm^k\;U?,9Y%rȴ+`}]H4/+3$ֿ`25¡=Oz`=#ɖ<+\{ӕuӯT@"?ߡR2(2PABHFfdT7+ ipjXH.Lʰd 1keK_XwPݒ˜f =K!RJ Dx#N(#.a+K+Q3;,T:GBjCZv*q+ ~@z2 BdO~@}I=.[Tu{ނ %_rxj9&z0)t-/<`(;E6KhňQ!)=1G5o4'b1HB=,pKȹw+ywf1Cמؼ4D l"4DKr/P}wDwZ\R؛VdOpcwCl/ ̺4aRk.6PlYM˕1aX%n]VSFIIL?pY$ݬJc# n&t / tҰ.W2Th24-+X? Kpf_$s[m^)YeGFEQ[d~'Y|?̴@Y=dY-UTBT*}7c+k#KÍ-sR)m(Wa =ԮAF{^\nb/nnkn8gEhq8~>G$Ѿ}$(Bu)x+{cgnRz0TUt'ix!VY Sj'i0i, ^h~'`sRcAe+{_GZy;gZ_zJ'w{v.V{ӻoO^7KL0+UܜY+L4kW$-.@ ތ*332,O|V97 $?ǩ#?y_܇VPbXנ/t5,wi*V1ܓtN5)RE+Ffeq"eXE(2 )}D*8Ƚܐ,x Y*!>p`Jc`C,@"M fLK5`\KUn0kq"~&5$\5X4`!UvӚQ2l {"?!E  ENkv @5L)yW:N0V᪝ϏS^&_|?>?.y6\sS /AF5KM,=^OggS#I#>+'/9;CADA:#'"#EC118987=99A>4+74z7RU\Λs VށM.aE0l6)ttlU#g>x>SȪP4r7`k6YY\"Oʴ4[CpS?;] lp_{RZ^,Ÿf̞36deWg^꭭M9c$zɗ{fv22yf/Ưxim=jZT hڇVb.VjY,B˕ʿqf>yݵޮ.dڢB#z/֛bT9k3İ(jUCD}m{-75g{3F|:OT@:uA& ?Ԛ&Iy[L❛e(dqn뼩 V5ZXGMR*CtN (Bt٨f.RKoFR5&|j)_gsp})gF^ .yrcxO~QOڕȅZcgJ-22Y̶呙E+ &Y2 ! 2"3p3,$\>e2'C7!]nܡ§58F1U$p96dpTSnI2Y\LXyQqJl38Dw $s=f,Qffܭaøckm?;ti9 hCG1B$ȐQxAX@BRAddHW+22ȈPWz7b A.J` "Dft&&"$DDZN Lt)i]!D!$ID !Rhz<1U ^7CeJ2M~n@Mvި6 (fnrcse%> r gbTϺLj0;HR!7MNL1 K*BF1R)PUP Eg,eBxAt*ϊ,p3"qGN*2-2"+"$:dDᢣdx."rUCB 6lW4Hs$n4[Q Tӳ$867<z1]S'G{e'/+'Ao+/ OA0@<@ő0S3ԨQCecuCj^hC V{"_DBYCB*Y.R9YH)DF$m\q#z!iHI (FNf`TA) )e4'T'R)Q^RdWogđ`9(.28IoFtcMa~{N]蹾1ɽ YǁQyvgA@UgS) GHHIzМeNe )2 7#l*^GHqJ~&!k8|]Vm;o$Q]zÈ WpYHVbDƑoD5hD  2d$qł$e cO 1+62eŔNȁjOtu;;SrCT3ܕ hӳxA0.< /cR |Vp&iߥȨξ}2+ԙaL9!ց70~wV0@0%k! +n} (ɦWK=ݩMF>Jwm6kӞhob>iF`X8~7JQ)^TJJ=#Й|Z[m1y& 6ލ?Lc #_i"6 >+ !XYFM)_{q. һnT}V;ҏ 7'ٳ BeȻ*B;o9@N^a>JapWI«TnV'pׅ ks䮽L*Epr*Ք1[ +RN*ؕ2 !eH2˭EZJ;/O`R )=Bx, eFBɄ.Xt`][3RCa^}F7hg4[c׬%lWdicsLu@au²]nQn,*d`D*e·6]5g?"gdFjcO#+&1*h|-fI5s+A:fV#k7ɊkjtG̀Ee[XK-72hVK%$Sv˕$o%9,뵴.k.QJ2fK(Rd1.(KbZk}ܭG^YWB%^Ѷe*8,*4ޕwijJ-\oa\ݴ|^qUYR?Љ}D7pEW#8b/e}noZmXX-:ZimH?|I\!C `S1ݲV$'?`d/21T97Q-2_739)WHQ< 2EhN)H@ Ԕf 'OmoU\8u>4>z^gRLT xc?ؚѢ({!$ 3x @j፽ug22p? P3adE͊J9n{'7_>v.WmƵhhNSj}@z:gsAQ3 I;x.jWL^[-dz9,oj6f'S59n Qh*M+OaV7fjޒj؟)?V BnHR̞Y+qjzfZmn:qqir_ ueK!*vz N UT<^$)Um;!)w`; %y~ Bd,^A?a])y r8 ;ƛqhzϳAvsԩXE> a6Y+1>Fd$| \蠆g4@fi=Y(3/E:,OX ^zEz=mU)0M OggS#I$ğ W*=CA<9BDHL3<;;9<=C@;&AFC46<<<>Y KCXIfZ#gO`-.vSw⍚ev5(8tU Y9Pm P_+s,kO(X ͔*jU,:awIlUd+싥gOfA1\Ʋ '3ܜ<:˽$JE ZVo>|OnA(5)QwYvL_ZU׽xV-3+7C&.(wqZ;7TVx,O4^W<\K-A/+q}UM};>.=(0mmj{Ϯz=L0FW#3^U"2k?$ FY) ?rR+e~v[VY279ӘLo0*t l* = &\h2>\NP]_K@jcw:V7V )zg_hgvodzZѝx^>reorU-֑~W8?v&GnzAi6Rvؾy`#84Z@{ .T|I~,*=Ȼڅ_HTb5UyuJ[=gOk5`:NZ 0,ӪE;[uwf\gX^*cȂuqWv;.92`qԧ鼉+g2+30v)"U l˧ktG{f@@J@O2+p.% ^b_V,~XDg.4-~څ&1֝Ȧ7G|iX~:shbh\8g.݁ctHZ\ݳnrH̝׉|ٿגIm~Vɞ;%hzڗۻʺzC9Ժ&Q'=]< scZ gYQ&Vȝv J܎Öt%5kOx SVq|~t"KȖ5t\UƢ=FߪeW" Ţ(U*{oVٶMwWftyoʟlR##he0.t'@pFj+H5+9ZS!۶_ĮeRK5p='Chs$L4]NE$ rvvcRxu5pt 2OT6TRDQ&^Yy6d #Kb!֢k! 5Dajٽ,R\*" i[ٰi% *IJ1QPo21)TZ5o`:gY (JJRBT%6tIug3((]x][QYc6E~f4Q a/d4#E(Z#APH͞M%2VE0c۫IՌt6uF& g-)RUSbDNX )?)`]R/엿NfyI79]e.:ݰ\wKC꬜kRVsӗKbNaDq)CKZID0\H9ds #L! F&)7 " R5erY+)HXHx[˨nPB&=ϊjp Rpy"~݋xk0,~ ^Yx3_QycQOggS@G#I%4c,"<9:;@@4,$5::9FD+/==LE964"D@;ƒXD 0߮_( 0̘)%V^cɇOyfi$qu3=^״q~QwM!ɫYinOVHSzץJD[1.͖/ -yd8Pڼ#Q:,N!(fֺ9Dg)beDFW]ofثd.f)>Q%2H)4@] BjZP-mr,\P&۳_[fnpͮX-Yxb6F͌Y 5ȶk՘üy >%6;Jgp uZF;0Xw+!^f \5'x}S$wA46$t$ @[rk}JOtN!QLdǛZ͸ lڸX2u#v$Gݲ̬4QIDterVP^C?,\t(uU|>qs%)l𳞡IT1o7}bR*(GxKw{oSa[;^t Di$bV{$wZ}H^dd`[khrmgk$4\]ꤲ`.]8 4"'7=-*@$c#c&ƷxB?Sg~Z.cP|}cui2=ice+Vyq>r.$ *(DI!Ed E*" O4rȐNADdu Bvr7˲(U" ɉ!s]@+%@*\Y:Q,(D3"WE$D4!吲'B.uS$HbL|§It'Y X`m7LLIp5l2[:@*J|3˻s> L8`OOq,@5x8+t>s1QVV(tp8s[s?;暦a7:tfH?5kMEVf6e1HEb FIQ=!"V Tލ #QQpBndad"d(%0$G!DF!!#_̉(QYL1py x)G-sw" sdY#,@ӳ9jQe(O.g5@ h#hb9rNI82s& S~L9$9a~,rK} ?]}WQ] UWe#?euӶV[O/?۳Nӛ22uZ @.DEe%Y1,fQA2YdJ8S7.mBDlQ(Ht0cSIEU:8rmZLk"&9'mg$HI1&.7Q-JlxqsPŽ\D̲Z=++ iK !@zֈtӒ`,% G^eYQ*Cl5pY8qd  큦מ3l uGeN !`^DH*_ o:[߿yH5#[k?Ks\Wm(nKEʾ7-R!:X@ vutD5Xpq $** P hP,C_`C*x,/S<hHb6 U- 7QQXjVG0Ȯ@ӷilRt t\6$E0֠.8ײqc6,o϶ 0u L}p5[AK` T1F"}g0n/ )I2ZyS{j#mf爵3[R-yyfet<[@7tzU-^.tgRKňE$CJL#r$|LI 8 Y@p$lFhIGLJ M"7nBIF@1pEcMX@ xJR: H'CR#({?ht+k-'3À0ۥsVBg׎ւ 7Vm!x-%DLx`A"n{s 8 D 06eFmK3ݭNm5.[M?j1OV!^SFY>D~FFf""PPN.E xESͨғ}J$R1I0I]08H& @ Bpe%qW3E?T MgY NQvЙIK1ˑBMt*lH4 h }ƨ^+rNh3ccj A5fx+3Xbmkmc'pu;Shu*l r6-g:U 8N%+L=e]n=TKd ^+uxbND-fUez8r=K|eWB%MZEPg?,^ K33iKkO=RI 탵wFvfUw\{yon):Ȇ̪\B.!8;J (w+Tն1T.BUum/߄ER=ʐ`L/eO=}&RN6p,1$Lnԝb]፼OrC4c^_xڭ])8_ĉ—&-᫢|?i'R0Ҧ'-c'c#,QE$A5IlBBFBUC$%b䢓w7eȘWDE2 lCC@Eд>D96 @_Mi(Q*e=g%J1DO:/3,ʝ_l.k'HAf @KFs9s6@uiZ2C PDXc{@w!X{cJbWrNkG;\3z?͕`,<\~/Uli%=zWAmRFByh1"#Sb،pD*V.,`:p6 ¸䓐x QE PH .c D5ࡈh0+JT`"Yq0$$o҅B]E15.9sij{ ̱`V@0;T? Eqt.5#]b J~u9_jωh8^Ո#a/ ~Ko|4KvXմ%+.(G \&iB 3#Qf| yhvv⢞ n@d 6P}GB+6F;=_JEB꟧:ϣ%+՘n߽{V5ݻf]dZ57} ˩[o+,[&|L:v?FWTy;=0ZW[m֫}˶WZbwq^)zRVBV4e2 R!x?/B3A \R+Lv6o;x;ړӹu5\RzD]޲>Ҁ؄$e KsBr*,v= x9ڑհ%&JG? s;,޷iG.ZO=#i8<;udv2c]SsƢjɱdXu po U`jA d]Pȹ&+b(&6G*z1?c1eb/^ 3^)J,Y)OwCE?`& # @~>]! @`Q@P];CG֗;Ϳh.-Ǚ@P%b@CAP+Rdt!DpZ()^}u>|]nvtcW5.\dR捬4яӫozouu@ӄTu8fOYn OƦ m, Gȯ0OggS{#I&GF''9:E@2#*#';:GD2:;;;:==AEJ;f vCi-FR]_Y2=AWa(6b:n">ry%sHYDS5>.`@y2flICƸsI YΰdșGy_r7jiCzgGh2vS:W- DH "XXKȣ2t>y :3JR휭Dv Hͼ1y?]dfL\סjQKw>~t4q;z+0kKVchUi" (y a- 9{lPUeIheEqLݍjŊ9},Sgk?%GQRX`/N`z[3));m HIsȓpl!cLF9"2Eʌ$##E#}p+*tYP@x!5ƦLID!C!m+"`BlxEl##8f쑲rlHH{0%,I$ɉVB!oJRp)&mZ#A@dJ[%kAHN]v[˹{4U@h\A/Em:wnBls]]׼L.{SmwӒw} ͎5 ZY:()/S;VGQ=TS惏N(}"_*&2`RrQQ ҂CF""E@eWE(e n3@dd!Z.d& lV%n7d%ÂI"8Ί0HHi 6Fخ#-BR2pf.nϲY``;1n%F; `:7{,cˠsXeCr; >,;kv:>Wb:qD+VmH]z $o6H8R2u\f>CvD>ñ-A,huGSETݓKyzP,HL37J2 6# e/4tȸC%E*EFI 9PҕDx*'  kIjf`!!J 0Y!,HOKpZ-f|c-cƺ"zo `275k6dxT޻IH U[9fJ-!)ߏ8ې0A`ޔ2So_a\؃[usy/JmLLo?*" u˂R*uL^&.ZD[ufLMs1 i 5Ulb$"`j$ =bdTBo ,gHARHԣ3aϵh7q$n@S$C1tI.z7+`N8 VBr~pΙ,WPq* e gٌ:GlkR"܀264kHy%@@ %ltX@ o7e)S_1>YrQn͕rNY{QBa/]hj'ޭ]\޼̑UqUd!BGʀ`(n0V LDWRUHw(%r/\I TYAPYgu_d!`)4 i+M[ k9'`o=LG8H wtW̕UY]3c%IݽET8ٶP",C׶]ZD"P\++l&7,?23=,&@c].ɁZXpUDDrJ:gk<W=D"k$%,@z&\>o[ϻ,IP'%)?] (XeC~f0d2'MOזMP Sة7'EbkQrXb973tۼ;&]o͘i;U?c*ҖѫDEޛ}G|< LM(I[>:OP_K6mys| 7R{nj>`2keE ZqG1<(FbȘ "Y TE_ȰbX(Fn$ hMY!#ѻ/%U.m,\P J-0:CQ{thkhєRNBʐ•i28ɒL%DdZ{;VcsA+8 hr@,`knz)ZyeKP^乛 *,?~J)R+(U7ڲmQcj;2 I*.j`m'QN2.R)e\)FM/oLs! pȐ:k`NC o%#SV'O1(ɤA%:ec3>/ǜ?|'R lB>h,5Y2L=qBHB餧 +c[q\ X T@ T*1Kl1d3:c{)]졙m 2[JEF"jQhV\pO$U%|UQ˜byKP}s6s\kslRQGm] ' FHcS]0[OZ64sM@TQ]HjxcDIY~ǎrCb9۶u{m/bc{ JTyrA^\!o7CIfm]mz@ }7`=yku@.# 6pI/8ɬ,A ^;LE::9<887?@)+:69;787>EQv5`Y`GW{SUT2-Lk9لFN`gh}A6:bRJC*m\}Jt%ꧧ]TY+o7do\$b !RyABxlUE4aΖdq%S!R9Sƥr{[nkO'=<^hPjN x:6WK|Lİ 547,vͶfo[tl&LB?HME KP rb1A1\T)Mݤs늋{N{=Ƕ<1eg9 W_a5!(" y䭕5.$-«Qejjf2lIκcAcVr=NVe{$O*V:]hFMDt'͒Œ10H qADGtnjd%2dfF) IE!Zd1#; Bd#"H`SSftV3iFz&R># \//TAĉ˸DJ!LiÖqDȄ> DDt) ) ,]*E A˝)NND\(-5 lP(!m`39M`|, BʕL\ԢL/d.@I0^ ma$^PDb0i '2ν9m,o(!llL?tλ#bY[ξiO?ȑm^.EU$V12:M6E"1TApC5&袌H@!B!)R, NUHn2^FNK|EZBybI,GP+V$D[ I< T\ H]DXq.z?Ϣyüږm#HbgȨ6aEevt.0N( E}rx"\bg  h2yxw̕dZ/{*\o'yW;}uI&O*d4JV% YNL]bl jӪ&`SGDz1GI,*B*fd @,)z4 #h\E$%!I !@qb8@kFbf) "a VѤI-kh]&KGgNAuMOo)EGD2U|eړ)0<-GYl%f Iz/Y {yO> c#_Hcc6;4̛ylR|ung1<ٿ"RdES #UYQ'#@(%J)S1Y"b"BF(FA-̑j1!@rC -onC3%EG)P9d&6CR++t5wTF∴w_oE'8U1 QaTֻ Xdn Lg^*QU8 v S ʐQJP~RS.F a I<2 Ċ3{W&św܋eV4:ʻ$"c3sc*dpSFWDf@QQroǮ"[F .)DHH*:YRnīk(* R$IQGN) 8[ l!eaOqqI_܉XYMԒ$s!$26'^m2o] 3 nZp87"kb)3 Bs0NyA:If #mI{t$RBri[m>۳[Φ%-+EXaxٛ8鮀tPIF6}Yʳ}~JW؉Ё@TupUЯ?UB 8n1ddC^نoo)hk6w34 #(BaN-ygmtRtHuX彷4 KC%NIIڔJWh#S1E^ U)O?mw$Dc مBWg JIeȈ ~,]-uKḪ6V TtI"8T ZKnF)WT\-]rjE <KyFŰ>KH"o8S)FRt$hQwFf[ԓ4W D>5. "{S 纓MHR.EeҦjuޛ2_w(.0RG/uQJO4H}@_dI~zvDž\2bX;_+}yɼ*sL;oU]à.h7YlmT\32q"l*!2*Q ".oHS!"E(dp.2 r p1K3.l"P@,ހSJ#`3,@ H $T0*x5ih;׆6Žt̙!|{zf]w%fAhP.RnPQ~ ^ճ1 _dkĻK4 &!~!S* N&#X^̲Gtc5d)E=oSy[I!5L1I,~D3sLd"wI("28V^/v&e*M0L2R'6A)F"CpHtO%YdD70Mm`"c" PД..CN1[kXH6bz3@Òž?/3Da:!=$tΌ,>1=S(qx8"SQͫp{i0FݟyKn_  X-#MWB].UDE&ëDd&L~$4sTl#0-2R0pD8\u'4 2+؎#K@㿹2KM8zZȤb#lJ$ͮ^jO4ʍ%{ =\4ָ4H: =ت!.b_H`b7f+ⱶ NZo eG}l 'v,]Xq^H%SGl)bVαX} ,`rD#+0HIol7"3SfjEln`{Ms=߻y@F7<,/|[R zOĿKQ5ߴ[[4f7%Y2;V|-`pu!]I1gLVb_zJmKYmmft3ZRkS]-iйB!ɠ,/}< 8@/Ԩ(gOln}zQ^^VnK-|2)\M#=^㓊ҰKqw<;yӝg>>q+ @Y85ݫ~FZy|O^6}&df$ڮf9̟tFF`~f˧MYTtۘWNgc ]-n;>k~ٻ-=sܜ`cyMn'&=eIby.HF`wUSjG  6An¹z۴( #Y  R"kܾkЭ9_kE]VBAPS)h% Vi:E۫ QAvJ]N=gJMp{,jhPPUv%[؛M:`á&f̷=֐z?h6i{:%V} qBU~w{񶴣OggSݙ#I(#b2A:;7>B89?A@D57:766@>>37/77<64@E%99cbq\gcq{9n}"hДJ$N@Gx#Ұ`'LŦOضlݙu.GS*ΞTo6ׯV/)c]ۧFlM-Ό-I$ndBn X%9;- _JS+z3֭ js⊚.D ;8J<1QM WT&naf m6ٝºڴ7`by,ˠN$wfšG?_:㖤1z],N!.JeUyq+KzZI{; ITfhc&3 %pռWCwԼ{"&8q % FU?QP6~T:J1ڦ¸t18ZN%'.=#|F5ð͐`&fйƧtЍJ)g %&k^nk^fYe+f{ I؃4=y-5lٜ[uX&sz~*aI=ɡը1>+t_e隓(`:VEbff&{\3tNTlND:?9{Õr-FXT|\e)e۶Z0~{kamۯzE6)'  n#7 kg^ 5S03 ~_+ 1pC2GNRc ͫmvNBTݽb6GSrs }j]\Rff(R,PrI 2#$Rbn B 9(&)ȌKb D@݈+tI)\]S)+f20.ii¦'0ɈƆEGȕ ftŰ= djZsnޔajY-2J*Ʊ/6- ͅcM p@({'r>nv?,󻠲,g>C%h$" ܍#Ɍ,Q9)PTh(|\fMdΔ)pO3_}cJAAP2 WpbMd  @pI=Va6HDX2̆%F^рnf;7}npL(0Tɑ K<*zP{J!wG' 1;fdLlQ279=}I/^Dmrخ!|-wU$~f<,8#Y=LiD/4c"*b  )P-)%iTBq/[X7`K"w B-zWEW]ZvjUR UVry󪙲̊ eΒZz,۾/ բ7Jnc2q``T]I^;kkKw}/Z41\Vѫh22 7C 7¹&S4QYv=n3-ik ΓU.n:u5&5HGJEj!̳QJRB^}y>73#6n8Ouꞥȇe4l axkdȱ{Q-02WŭDx"AU cdQBF^FuO*y2I&[,GP]"( &M:FqlWa%D"Zq#Zm6>*ʥmѮʌZg|/0l vq@b&E(%>epA [COGU҈)") 6 W&#N)sAMFX 'xv-f̰%9$uN[mMAd*AY1wn-U+Dd9JRQK{lk|R zˤJ8Σ>*þ^we=[QP6Ysu,glMО$F Ӹ-Rl<$ ~"]JB$kKHlYq-t{+7ٜ p(Y֘7 P9/SV޽Ac-mt6^دZ3^nefą<* )R |Aڮ3ESekZs #˅eT=^/,kk+5meg5QAv*5Kӫv[g$nm1՞Ca~n]oyă; s> s82ֻx@^HzP(5SJ=eUj䭕6|Ŗٴq}Ug<`>v]ROVK1٣J$*=W' $S+^^껭EJ\M$bX 2d"^S)+D9%9A!FFHfBhrF( K2ZVr" E9!˕ ݱJB]6 J) MC5h ω zma#kƵƖ ,W'y䱀e>f4O >pիQJYYV+<sN|U t2fܫ.jnUZt7IAĚB!hDtUnD#z4eSQ,\:^J RTL#@*BegE!%{!9aS@"Sq)dX$EjHWv!۳z`"k ,i|sU 6`8 a[ִfhZ#YpOggS@ #I)uF(*5<8@E.17:;B7VZezAiCSʒNU^ڪjw)fIL)_$7X%uckzɓtkÍ_moVz[/.*Хh7$ѹnV7PIxh"#U!PRآ| g=}9S)Q j1lN9DʠG Qe'g$/SDTd l )iMC22En@nJ]Mk n*5:J\vuÊ$uWŀozP0o`(tv#h9IҖ2qC~ t2 ,2K) z%~M@YUB5@fKf{̴n}]9 d/GD}Rm֘"F~¿+_sPY̎ K3cH v34"t/\nc‚"6u*8VΫ(d*ʬmsYajTƴ QAr'CcO꓈("Y Cr{\5]2VÞ661/eLN$@d,@NrpG 'suQ,g!lajz^Z4/V[Zѕ.NY56=vϿH-!HBj*Q7{{(׵ѝm6+FN|VNtf8-K8אz Ӷ_(+fdQLbdFLbc+\cZ 1C՜f^-U\KmdQ!@Oۓ(dF]5UnOh'u&Kt7SaGʸ|x77\LvqΈXR '@]Ԣ !R BQ Y( 2!Q$Uuq%$}`qD i*Pks9%C@`)ʸ:Er aB$$I\QeBnK! J'{ I\5sY`m)& M+@%#cx50``,pҊL4gdzOdF͙!28 6gP>>$ Vl eKPrM[{+hBq@(E8 F7:u,nD"4O-#8fơhP`Ygԙ޺ 4F1?>)"8*#AV!,~ 0Y-Y,$sݻy;$?c7̖vekT˔Cld2YOUe] E)dY=S4l>ץT)&;j,".l\ʈ*E GHkT S*Ab&Hj㒹O ODensHGFR͌j132\ 6_1)K5w`5%7^c:0ڣT$r`y?ފ-a*I)[}RYgI!,pHӐ:|o䣧_POsz,ivI Չ)3%"D"ywioKp.[P0aJ"e497)DdN2EA9DfDRD%)es#z!\¡r\qBOX`s#\m V^^^ój֒6es.\V2n@s\#2*'u OpVIZ56>^V{,\zTN&g:)|&@UѧR'*RCY I@u*DbO^z-JJy,Nd4x` GSķ;Ѫ,?ݟ8Q͕M}ec^B|&iE#Q,,=igmMD?NةkdFWT?ߕa7T}[m]w2bŒfBWEd) uEQFA=j12󆙫:VsC`$M^Iq9&ÙKZDklg1EkWa~bf1LWMe/gY<]\'l|;=ϫ2|HwF1n}"EFWH@u-K`~!@nXV-@JfYrw7* LhnRDԛBС~_'wIլrC`OL5W[YJ7\^8%8ܖU&8:~;Z\[ #inm:NIt:Bi`!P TOfxJ;ٳ́oo듁stbRt5ut;O9m+@Z!~3lzpbo-B)Y ONN|ұ3ڛզmVk՝Z=~N޳3,h4;ECN?0֪)V;`8NOeW 5? HN9B^ k@r=SVvWb}:-,LT.}޾L) *mV1]G@|zд@H!IR{11EOGpD3ZZ,ūzwsLwW}?dƖ{[?v.aۆ3tPj:A*vPlY蘆7U,i ,(#pVI۪GN$>+ӿHtS^B8sC8Nvt1[ڭPNk,1B}YjH>5]ަP7$G楀E`T#k?SN%wC^2jJ~ vmaerNf~b*\z{PȂ,"L6uy{6Uc*W§?k3%S2c}{=뜧/ ZAFo4!_ۮ3rE&JbD.0jeVITHY!OZrv !lAfnL K!"!="̍L܂)32!mۂ\ ŬHEYY;r7*R0_,os#by)O!E[w[M̺1]27i07(}i܄>5&`J1wֽp7$ \S&[q]׹-G̰}9}5RD+"p- I^ QSe5f*}:wH6u޹;=a6lȟC/Ehymc:9(R!KҺ Z((BSlز |wJFfr#•Jw""e2!,tel)$@DPHH {^T 8[GL+RT\>+A7y{3]kpIHVB0&?w+C&X;ؘcMb35[7@iY؇$`$*&րh2a$TQ?⎿Wv61dz=grs17@U)"$%L²;Mgnn|狀T]!PrS,JP,t^;1LćYؤRg#yRD3@j%d&#OVHd])**ӉLI}V  (ΡKPp)%ZD/2`3it GT6Zюy1_$ׄMNLh\zѺ# `D2cE%6ݪc,^}$??V \+ iEd`+eڻo'tEH䍽b%RFo׍spRV{2E$3_w4:anP~t**#j Onz ]mcna}ѕDS{퍲mt]6֧uY\*K4]kInc2$XiSS)#@JlaB% fףڴ7^;DBMh`к˩6HmW2xsM)Iۭ@J7ឣ젣tZoZ[̟61kSs˯N?Ȓ˼|x)v\Z)eܭV2P++uXHFC "D&1XRx/u2S+r\>$%|DU g+@d7,nXVTs9ڂ*]nd!HYf R v~=mhRLWp[,fr 3ོf!kb#Rч^mKw4sB6162~< sVr?"u"W*ɨZ w5=ls'f"ם=V&z GCuЉ뛖i_]WK)i3RfI% \##vh'3Uj%زվb& hJQ{[kOS7(@Z"5 =toHtzg!f>.,lr#f) D-,G.: gJ- t R=7+RJj2H+c/Ͼ(b{mvG67)leRi.2VSjA JNch7ےƚ.akoRU<lFdE6_`AqPP(B oIz܈hq LNWؙs53J d#R!42&"' I.TԾK}6f7-8^*hem8y3!Lǡgcu4o7W{A5TF7:(Fj9]y=#2py &hDb<)Ms U-CՅhJ/#*8,䥸,QT-n#@"Qx83@Em%!BfTGTvV<v"Ylۺ(]. 'w{t ۺaVOL6Lނ:mjh+L*g"6@! 9Sq*CPl#QfL/+ֆ8zyTNk)+2 1! ʓ -l9okmU^>d^0 ԐW]ao 3V5.e%sU*AP8.N!|r9JoCV"Q22L(QY<7Ltbdo#FFF,$@rPEqEsLIV Ag+>J0Nv B毤ce=fbz͸㙱 v9;Pnpu` JIs" ӓ{Y1,5o̔u;!Rɶ銓yo; !o8HvR,4w4!uIr\fKuv&M! #"uԊSKqpKWĨQhE$WRRH (eeq E|Efaλc ,qFJHeڠ2&# i^5dJ) z`[YOggSt#I+L+6;:@?E?0$"7(7;5;5<6=@'4799:786>5 LoY݁0&oFNU}[| =1 ! mAn.;4T0Jd8D.¦ɥB5v_[YY3L)(ls&vm㰂dV\Ƌe%T-J6 [!|=7brvMV ez&փ7|t"p,۸`-E:|Pr'1۾08F1S)d\Tl_g~)ۛ-R3vvӦ"2vF1n ;)Xa.7ލ;oill>OubQV+˘*!$}wK"QHi+s{2U6쬕zYJf+G2 aR"ě#SF*=LY(hKO۱tVؘaeڳTX!(B8Ds|0^{jdq;~Yrd:^xf#dl(evh^c.Ӫ9gyZ3U51K@Q(R SbD+edňb؜a@Yy R^!8)Ŋ.f*\p!bx2x#0^URDYIFʼ" !8[(\t#fh7sYd+a@hndtSX,"d/fhME5$Iߏ|j[6.&( ୛gYs3Rș>@D kr9%7y-eGZe ReËr4TB3̽{2Z\VJɽ[˶Ys2obҕw\."D*A=: "!.m C!e,n.LHY*Gb@\E) 2=qN%ȸ  /?SDD3 sNc 7L!eemұ,2L$zlWX4˻X!=05$-3^ ԠU= 0tfke8O|&P4_p_,LS-H2`HS7BD/33Uʮd$dNcd|jKN@cɍG@r)e*#A"OB%S BYb>aȌ̌,\%B(HX!22]  )2qƥ@(FD" R.*VN 3|v&4 %]4TwI: ved@6 r +Sܸ4`!~2ߢ\-efg&6ӵAҼNL@ھQ=3@Zin`64p;C~S@'BN! ."*_̏E+Z}#15UfWf)oos<:VO:];p(K{}L=2F{ I6fiQ =r *\m7P'i7)FF#RVH"fB$#bEAq0HPDLDejS #M@ddN)Jet ,C^RIqؒ+.RQM6 Seg=8Il;^J9Š5&w샋)l Xs0i]2 rJ4qof:hf-v;yRDA`\m[++=s3j\H ҰBQE/MUQhd qFWT&P%Zi5lmƫY&9 <-\$⇼QFFTU'\ET(ȣLu ;fᔗ^in:zMF!RDH! 7wyBښK$VV 6bEՓ+%-vG"M lɑ(8\goZ;?Eݱ>-&j.mkbLD%W'7})l$uRHWc2kSɍSY1ve3 {,(@N0l@a@6UQNZ1e^VP#}6w6{?K`ؗrZ-VZzE f2oX>)7싕 aG2v[{M&q( U7%\mnYb00{_`aڧJmC\Ͱ53|R Pa2z (D9[}vTl[h\bN**[WrX_ v(:d[|l8-2F+ې|xWЌ22 &nR)opEKIEF/j\!tЇKJp5UEyَr"T^j&=VaF*lZW26! bmL_("pҠZ,l7]~rjKupm-wVZ !aLofiEK\Kޖ!J Mzi|X\:4żiU9H(?'rOYf+c\5Zi} 9SlL/ d~P/> @E(P^(0WDCFbJC]&GV/pV @H)4DD1Q,Gs{=ɻb#陽>f^"ϬsZZѕ>@|մl:G3,K,)!3j*YlA  {u8nuL *%mA4 44`,ZAN~vxiba 8 PQ3Vu|8Y^QoY)>+No[TU+ 쾛V40-Jiygoی=EnUe *} JNh*ء%BY@p.iW їT 7ݕ0mb1&Vt٪VE ~vɺ_3AcE6J&[Z3UK7KRmg,\vxau7(@9+lOggS#I,W&B+;4@C<7:@EBH9?98;<9A@H5^Ž'WM1?{I>/|,-!w@_)鍧<Ɣ=64EV>2@)Z5cβ&$t]$I\k*/]G<1QrY3eedYa|:a1ٖrӪ#( U75=?ըZJ?=fR]V콮=:lʦUlVS4 Qdw)i'QL<1k})ۻfMY*Fޤ-՜*Xnjݣ@IHkZ@o[}O촂cWRNh}ͭYt4T"!&ބi=??*l*ܦݸ*~ DYJ޲-[~L-!f0V¦Gp[ZLe$TDgi䃽˥8BGv{w{޳'.񂭏 L Yl*Xw\c8Vjm!Ͼ}^[knv7r1+c,+VI/0f'fvq>2݅%e[)]FBD!im l5^tϰZU w=p-(8MߧJ59u[0T|d!b6W+o[{9[ԳV ZjkA[ Ai.c6u!RO[ 3P*^~F˂G -Mo5Ĩsz:LJpqHa pT4d:2Ed#O͂B JBH Ae(L!BnHK1UdSP\"],C:eWPKG(!"4I>\LDL8 nJbZ:ƀ´eV,ށ ejmL-2rL#.} P g븘la֙qű G > D(L@2LIefXW:Of|tQ,x/$൩n{kݪt&D} >%Q& .)%?:yV5c*"Lu"{] ; RʭSPT(."C JF.q`:1ňȚ%}T4j*b rGLC=Ł%Vp lgE0E{L[m7tCh{72 vb-KiK5@6 ]n`rl4D ]V]NKմ8tVt#Y1B}6kHƽl&1h4bI;T 0Xj u*vJuO&aEHUY /Բ` @^a3Uc\cOZt73=즿ۑrd9:uao?FyP(;%ݡ]Ao\Tdة j :)e! Ԕ*nUZ;K7rr.&ݾk^Ծ_:\snמ̬cSLC1FWA&ܞ]K+~꼉r]oX2o9XDGui&/lpKJY)߿됾m{#NlE&OE>7%tЊ]X)Ƽz@H@Ho4 څrvo 3v EZ?jP"&2ݶ9V뮬ht}Ik6ц?.S܍oYeI1s)Ӄ7hP>'aZ@A< "4Jڶ9(@{/ܦk ,d`:jl_573V/tvdT);s*}*oJnY<_I a(W&:]4u"|H(J%J E:mϙQn11 ۓu؎ң;YYi{W}md?oЦ.Z}Q=]Otg|-&Srgܨ۪[~az5/b՞Kf0hcdl:L7uәk/cnf>" 04FE(N*[7.K}meR|?39CGFٜ,SuV|>H7˩nN8lWfɥ0])L':F1Mg$bl<\uޫini7:%1[ʼHF:NA oJnRoṟu[&:/Xewt8ֲm/}ZOz~9v_6.5{oRC7Q(oy"s2b9#T1=Y魺<#*BU"s# zz$ ߋ)YbvJ]y4?Iy7-[ w"e{ 6Z2'ۉ48ڤP-AwgCFTd5tطm{: wܺv-<2nP=&F핍7sA*%kAneC9={~M* ]ͻ:R2Dz2y3w]R`9 Q&R ,#J!_哹9 7VSʽUl "h p)Yֵ.ImI(˼BeCNdFN3^VUUdIEʜrK6^ .n,϶K>LX\pv+V:F2Nkb;Ss'0%; S0U0./Hx,ҧowuQjň;ܾw{7آL\LQ(FA rCeuLdYϓ3[Q(c[hV+Th,Ԉ=@~b( jTQTV( cF]x{ 랺t@&+7 5/@ .C^fgHQŖgyͽXCzk6|䷂*H/Z^ 7(P~z" ỳ%d=HC+۽=Vjfc)XA*܂zg{@rp03YUDZd;?c~xI=_4Xhű9{DwֳNt+E6rKK&EzUqbZ̙12e Yr SRVJIf/LN\9"ZʼnB@ ]REĥSFv/3\q[&4@47QNZr}w* @ࢵ߶&PX-݆r``Z "r}m9j+aJp [/NT(bwaRqݗ)koxa` \33ƬF~+OĘYq@ w&]K6x9„ nm BbD\QgZw$Qō,'ne 49P-PTAB4}j^̺rM $c$L BAq\%iꔛJwBȌIZo r ,3 `mvkU/kOggSК#I-,-(3::EB6FA0;9:D;>C:)#:DB.09=DB;QXP&TfEp97b(6J~B2(H0 ؁ fHfF)3SJo׊k^]^o?|a7ܦ0N~$0Gcɂ@$մbq$X&r+}F1&DU2k-FsfIKN[5G 4:c"uu&@*@[kpU V|Qzz,+d\RP2ULyߝ O]HR:ZmESSt.y(0*"Kgq]U;÷z6!nk_ml:}uڌTdުwۻŮz-h@ "Gao7~H!d0oQ(EdY5F2GcwǬmu l 1Mc %ts$}:YU>Fdr+wdR'Md w'76J#Oi}yW%ŊnU[Q[[L\ݵ&vYtb*[51ϯ3 zcccDlޯK8cm= ڛO@W>H4h@"hck ɛ5,nz']5p{,|6o̓wFlMM*ggޗ׹y+E ZRP2,Bd",$)]Bd6$"H$4iD2P`;a–2ȨR 8622 'ġKD RPHp9rQK!B.u!E AJCgTٟ;v"Wmj6Д2Lv&_4" diZ5Ym8#fPb,t ̢Ip*i:1V#ٹ*ѰܘEdVGm#/0˵1]lY ZJP м\Z"~,NuW. )R$L>n[ *  ⢊$S٬tS t"J 6!R|5z0dВaU@FU…XTq fJQ8и$m=t@M02v5[-f"Kg\(v;ק5&aXGKvzz U~Ԩ^k5{YZs/K::a#-5>*Woe5||*J3xT^ #\~|"gjy۲^mUVyo"IldXT L)V ~7nMw"2ODf԰y޶7q_*Sޯ1tXLbq Ze뮚 x'SiEhUgT83!"Tww[ g[f>FRPD~ 8Za׋ EN?~t5t@fԄ߯Q.N[~e2ri6eO%^ܪ2ܜiu[[JOE1HfFb7 5DUG=-sRH3ꉦFQD#IH!hJaDБT6JdF(*H )R+a!Wwq)BFIf!3D"BRhD'!&&(>ScLE0ۙH!IjJqerdD@&Pdo 1c.H݄^Vj"K`L`+n$g(F}c K =7 fޡ^he/_f2o>?5f:5xw}RwU 9 p ɪ8OY%Ӌj(A \R,5"SIʥ$d2LL:\A@[ETSyCJi xB*@n< \%wC`)rBAHHtGm?Se)S[W<_N}rC2m^#2`<ǓC:lxdoGNG]6;t .sP芴QjUJnDtJY2n2ZՀeCPqTEṷIDm'DQ cY+y$NZ@t]싾ϙc8Y rDJ8`STB!:\ =Hg#l 5S14bL ,1n|#񓈗ɐt9u\&55Wq4XԨc+ kY펊%h0~̵kb3>dΨNPW算RQ?^^jݻ!cQ|3۟m'@Ǹ?,r#@'drǛ1:ПH4짫YbX,_b9& ѶqaV=]6u'^- t]MLJǘWlFm/bYBED!~}uz; 0!-Lnud#ڕPƿ|quU(}!FeJ)ۭOZG8w.n_xS9N-W/c[e%M~g-$2Y9Fq+ȋA^)Vٗ4b#MLQBM4ёB(n$$/@$#^"=*"hC+)儑F r¬% #"j)D X|'%fEgC!_^ZED|!e: Ӣ_bmF^ -1z`F@еy3&r=Bi3>|n< ໼Tߙp{ΫDGqbܐ6ybY+"cF&LiJQp>vA\jy#;M$̀jK1d VEt)zD/ öU[1(fb)W_[[jT5 64"G-.6-e(#aB):)lZ{2k{CV%MUɪ`fm_~J#*qQ+?A3&.fO^3eԄZ{/s'2 /2Pyx-/h*R`**tՙ_6HJnCҧƤf zL θhQOQP72(49l)9"Q!\ːz|k$30:{knGpBB:LMZ\ĺ6yO{M|>HX͔H똏CrcMmȶJHnZ^Vw=B߶ǚyk1-: E* K)X֓j`AqXO:/X@ӄco.tvk߶wzv^k z.?>`J;DӠ E#>KMt?j < 1J eʲ~t7\.VhKG6z/e$̖U\<6҃thv%6bR>/YI]GAQíBKQ+?5F+je h%̌"k7#!8ꨕLX*5Z)~뉓 P+1uJDbB^B`xRE^Xབྷ̘)^+|n2EL+MfyǑ=wƵcEeӅjQ޴W A(vP4& "{E%\Q[E4rL1!t*$\P jq)LRP"tBD'!dd€Q$fQ8L0A b!$\:|0TP rW-̾o ` pw5hOggS5#I/]&0<9C>E- #+AD+(46::;7<>AEn`838k9E8T0rRZD'P fWpzuv`ffFRoSqna 9O{W}׭ÉUӡ6u(^w3>Eb23^(]̤r "S̭ʉJ5DVDpB7PsՓKpŲ-T \%H)D&RD(Eg9U73pQ̲zÑ#R"MaQ,$@6$tDb'2FOoTl5$"αZM4L42,L'u0 5F.p d8ruSMJ՘VةĿ~B:rgCCDj&i*G}a<ڸ#]/PO  s3V?@@fB}9U+7"7B[MI~$9LQ12j?hJaխ Ӂ~[<(}GY.[uU[b-.=TM6it"URvi6 j㘩R3fv~t!w}o垶nV.܌mHi?˽\p:7sSDgLmQQY4hi&F Yb5$EQPȈ, #.zBRDf .R1 @5'&N=…B+RF l*7JWܸ,,o$&lIHˢ9z9k67W.r^ kwzh @zceIP23jRCIIm=^fZ;J \33UjT,ϧq4>'_rrp\=k0 }Sz%T Ȓl)c 'R̨VYJD:Q TFd",-rA zaEd9.q%R'T$LYIBus `Eb-QQ 6"ȕ"a,GJuO*٢}#y O+ƍzkzBȅ'6Tb] b(PDŽ`Tjgғt0%IP0S%1lk;rkvLu.y L}>>](EhTe :P ")#CAFB1BIBA1"(ĤBvqXx>IҨ{$cD>NH8F5.E5h *l}"Cg'(GfrsK@J!4I(v",ҹUdoyߥp7H2bM%k) 8y,  v6 UI+*@_A{tϳwQH+)5,uYR'δ{>OދxmFo߱{lw.xj|tLLycZ$ S#Ėb:&.* vfD+eQB.W$鉽JqElYdE#1rebm< M)#*7*)DNdPJF)q)M@\-I 27٤/ד#=Jn+Cq((N49T॑V,|IJ| }~!|J V#)JNrEVط 7a۬nj͛.<.uJuX4FG`pn1K?uLL_Q#d T:y s?f ًzd%\h7*( h<'={v9O.4U+<5UV~JC?#<i?M=M7m;b삋!D~!ߋDT갿2dnY !L2i (EfF[E#R() d9F<2Dd**QTT(("Y#8`(">MGXBȑc`($Gq@΄"%ajq:]1)0 x%,0 ٱ<I jDiK01dw[F/8VTCz$5*Xt69fJ[\̒y܉ۤuKvd\EU[~<7 /HKksY~PZTԛI Fƹ R^ؽRy3TJU$jgnBHb%B !e'+ˌ &ܬ={bdxv1l ۹+L_Gg]<:L2Mm@T E tКpsAL`i`G]z ;{g:t] P`lҐP)SP)CbHUyW4("0[:y=]ٮ <"qRi$ DVcC}u Ao6CADG|ZLvg.{Kd<R\DT[^ƉI~UbnL lXv=YG&SɭmUbP3#+ 1Ho;Ͷke14/i:ꄝo ~39GW< rVZWNO5:'=_?b5E#Lgܧ 1;ODy7uw깜z{&f/Ã}ԭ YhWݷk{F;m;{k*ˮR}-l̝lF,W#.;fagpNҬkg0 XK2̎21ME2aL(ɋP|Gq*9 cƔR0@g'[y Ӕf|Y}S˓moo(h "R^;.JͩvTǮـr_]ݼhSQ])SMP5&݈|Wg~EGԺ}.;4؄bę<4>'v]wՓw̉^+YLSuUfw:}~~jV_ٟOggSg#I0-8;;B>=;;CBB178=:87>8D>/89::;9EAC5f~+T5h]h18u8Lcu߸0%f8sp'g Q 0<@0c^U$NϟIĕ(<9'5;v LZ34ۃ mڈ,ޣ~h%jTSk3l+V۪oP4R dCD6yv' wWfP(D)"f{]{ӕ7]mSSۦ$ *[T } k|XT uq|2M7% [GhYova;IVC{z\B!ɀ篞mBcO| >5bKllٳ$3{ \DDA &cPMɨפ;H{Z,JɚBIt wŦ͈X(m;ttV/itE PCKc*V==.W4ZssK~OB:`hJ)h.[|qI[ݔ0n hڽ[wz]F}JelNd'v'|ߋ(C$+L6ߦޞ)=.^wm6:{Sm[ߵ=U>r!LK2aJr Ҽ&+tm哦"m}g#W̰H.̲p6m]Nv2@Tzך$A:E*m{oͽH2l0fLfB b3z,T) +Z=.*RnN8<]:u;5f+Ҁ(xeO{.Zf GAj Nؤ{ކ`TH!e$C TCn:0F A(G$1Q.d;%PzI8)2T =Gd ˕A $q&lzX#ʅ )2pJ0 [{wZKfZ֚֚=^)bw֬FP6(m܋J6Pb0ϦLf'ܴ#2ag.==60h'i}`0{bnzKi"!)PB(^ Tk&C u VaΖ؝lF1G+WǺnwdĮ,s7'ZSc@$Mf靶njv"GnuB۰F]z鬲wz4W±w_-VO{q- NCKm .}ͿCFb+7 2 bl*1(T.lfWLh"@0$-ˢRXY,(n[z}kj{/>], 0ZbJƮ(_4"n!&ZsDޘ7>(ɊŴz/2ӏbF4 Цv[+cJobX@2T)L'@b/˞kxFbywtS9iz>~w˟nU6}[lct `Q %⟛zMII:rQs쉕>ƛ4Zf"-r>ZmXj_8$,wZ!3q].FLq RXr&[ 5x Jy5E+"{Uti3"kh3+i/D.CfP Wy0_S2 < 5s\GHqWňӽ,+Pիf3nX^?U gus#2QnFV^צƉht3FZ8EYzpZuEj.[U\ l0GWr# \o_QZw{DzSEN6^cImW~މ >0:= fg۶urUTm ^kV|qQҴd'j : B1DNK{~ۍ{dz`;}L&9t0T},)ˆ?Iz̈́]՞r]b%yVmVmeWM5SLCVC*1.d;N"Zh 'Y_%O aT"oi_λ=oີe>qh.wR{=ߖk5ǣQ=8 wIT/jn.u՝)[l"#╫4_el YYJpH ,N2@"W$e* H^7"n"KI`S(N`y38-t|/Y*Zf@zySxnn .I`@(]6ˡ{y~Nq u>ݐ"LR[ p~6˻)Yy~bq(qg-uj}nQݬD,|wy\F9 .P.9d"e9Ru\Y*GF@nR}PB dORnb ($iB1D`Y6q,0%SKm;b@Le 뫨8[-Л2Dl5{@8cl=47OggS#I1J,9'/8:@B=28999BF7$<;::FC*":?D36ӧB%j 8d"= Ooy~d: def佷ׁd3ܧ^;,u?:2![jxu:#{sqHxg'9vvw7JfB:*!PQU5,.Rq eŲ4Qҗd)d(!GB^ fE8:=]%s]ffJ Wq ^OWJՅ0+  v#f M%XAxB. Dcﶺ0 sݥ7U]ecc$#1 +.44ըVЖε @xg2ҙ2OeYɎ|Y|0u"EVueY{6}Uڦݧ/˫XوŸldġט<愌p +:&;VCa)@?XK@}\"MtHDl'.nŴϛOY˶lePe D `p8H)lhϙg0 u++,fT.Bckf]U/fpޞ8ZۄaU|ڇ(_RwJ)74ɽok(䍍d& W1G} }_֢ԍoϯϮ>3w\}[w>M;HuƅL 1)"ETEaQάDf)2dFfG*ɬ8P$)uARTH,nB&R\@ hs8ѝ-2u)(W !'5b"gr#6I$)⺘+;tV3' r[LZ4u ƍR`\[7 qp@VkOPdAگp3ltz"OlJaBeg᯺6wғ2YZ{ۘ6l\͛~1P;lYO +Ya?rPt+/KbSYqLT,H"Wf*v3MQUH,:(HH!Jt:@4AXng'(VզSR0!rD` jV(H tfD^(%EB4B#:- xp3N4] 8"MAJ<jtff|4QG7ۜ;ۚz 8RU%)'ήxR, EDE^-gA58Vu&"B9.f =D@JGGfQhY&Z^ /*qy̆^=q P-s.An_(9WQ܈TjWsٝ5Ԋ8ゝ֮UzcRw`f AqՌ]"zjpNW ~LTplBF CM+|좋DU'Cd?"Ue>Ἳۡ^:%RHr(}4*e *тM!I(ɕKpՈS, -ZFDH!@aT.E.pB"Tt̔Ȯ&b&)āFŚ*-,(V2L(^/7#h".dH rA ,.` ZkƫY X,p `)au〰p;6ϫ4ɀ2FHDύA[@Ք*n_ѯѯ ?!+k^}f~ϳmTU Eaj9`$F{1qSU7RB9)'ʅ :й}""(Bj:U"L(|d(J8$@0H:2+a{b䶉ᦔ5҂⧷p Aey\6x̲C 4/ٜ沨%Z q|9 Q孆7s뱏 ;(LZ] `DKN{kԟBV&&T%q'XV-Ff5UY2?MWt*+"%Mc ȲFo# .Tϔ JYnfuiW.J}A*.(Vbi=,TRbVK 6E6Y֮tָcU7n8n%;">¹(\'d̨j^ goHnQ_. )תCu|Nc[%pU.j$"dA*]DQ^R>mf3N_*Kѫk AVkJV8IH,* eسܓ3{R|f^1)g{v:'WW}-V'uL0 Dƚf7FLA E b/@DkHQYHJi (dFDB& %DBT(m! *Bxh`uH^=:!,/ f^ Ε-q7!A=rxr @:tVN*zCzbs~ 0jl$uª1t1q?VC*IV+7`K_rRJXRVDZ\$K, : *Ÿb)M{Z*WB%æJ S N.ALI*f1dd%2 8$Ac DFW3Ę`eWA@@hr 7Rq1/&~^%DOWW >Dƽ4FĔ} nߣ_WWVOrERQGV2D#Q38-"BGyQi;}"lma/Q;d/kz:oxhSz6  RQ Tͼ%n U9( ?`8 0p>+ۨZn%4h]b!i֐!k^ 1Ǩ2,OTIpoix@܇8QLcsj*DiM=WiD#2]_P.Ȉ`Gݮz/_Ԥw=NMr3.Y/LKVK=5ޖGD FژL_( \<X/h!h("OggS@ʛ#I21?{&2@D91799@D,:69;@;CDB4Zw9sw[O$-< 73j0 '^\vN1実+q"+JCxJQr2ωv71(MfNzKZ&sDW"BG U2 X>YIm[琪VƌjvOȓFvq#CUa׆HektkK&JRLZQSa= mg]"@3+x2i? /zL[6afwNSBS6mT @\%ip._}^Û* /`gn*Ty?B~񒋽u[*{ۊYݹ dd%W!4 +!OB@_uUtJ5aU5&L=L֌-t_^U:ۦqfcd"LzOoC;`?^Cu5%F)z65c*߯I{f᫻Tj2hr6}w~TZ4Y%,f^65[Lps.Cc9E1L& M ۭυFDm\A*L7q,ˆ<5^heYy,qߝ}Fܬ:~r6Eǣ\Z\LLd%7oorW.֓QEaT2$## N$qБt YH @6H AH)ct* #E:6r-k UL]%*cL4d1hIf3_]pe41(;)^Lɚ"d`HLy$ZR8L,$jLe}G>V]'WR[O?dfVدzB%EMVҖ;mRT J+"YV(ɑ̘3B{jAnTLL5MUȓK61UQA1*D&RFN +q!P;OseV`#%|""\hP~ ln1 ኳˋcdgC>~&d׻~P`RWA+sJtXqFHl@E^U ؼtp+톋~NH@@6؞R5в`Q`(j0)G AWY6~PeD3BJY)ٱ/8,{\r8c*dBDYI7oZr_ 4ny&[ՐTe Rd8ǂZڿݣ.8&VR"RNQD| 7 )|l2R5ZzGX=?͝|fW*i3N1l`e gY=vxX-8|ꄮAHqbn mkB%oS+YHY V̨ |'!p09`O&$,}ӑVUp~~iޛiM[ʶݪYY |G߉HXD'ӇhR-M!E[^752[[6dB)9dHd̥RAxG (p%?|0| Җ 4ѽ3׺wRW-9L mQX>PHM!|(7(L2(>pǟp7lb盩A|p:m^Iơeq pف 4cۤc0;V#SĖ&kɸ,y%0d R!ST ʑ \GdKH2BT::XG^u"7R.3@ p)s*B:xWJ.ϒF(`Jձ fC{mz1@x5plVjκ9T$F~ 6IMrr߶)LCwX"4k157׼#Rff+Wt=D.S+ꝖT>? %](*ymF8Je]ccch()M9,{H$f% R!BY( S=q)qB ZO$@R,':gq a9fAoh8,H&,= pfG +IQa(f~kqc X1}IӰem7nk9qr[V"1QԽ*,e*He^#e$F)[˯=~7ݦym㊆qxںzr~f鞫Ja_\Uީ)$Q@*Gj IFbMERY9"JEDMB,WdP R5N̽F=R7@8Z+lhB(Va!@D5$"H<&(57<58:558 5-EDq`jn[Ynks֭.4 TF9:[M8Qk/e;V՛PIY X2ˊ7;,\T( DjF'2AGOf)+DLnn 'N2WSR[@ qGT8 SKhKYh eSE99.R?Y's L\^Y>VO=4A#[b8[0= wr?lڦ`**n࢏i*T0h$2J 1bT6x{[n7kYbXu\JϤm(6 d_ /&No 1֬H[S){O޺y^Amtm3| C V @ZX4-HIKScJj^]ݳ/6u;\{눛bmOyO 雛eIn^b`s5ZDmoj963Lqj F(FddFLtx.LexS4$| %*D# UM%M2B&j`@8@))X2#:K")"PJGHfḓ:C"@B'US$e &(1Q*ʈ-tF@h(%nA,Xâ8H4&Z[!4H]e'ЬB"Acgث!6 {c9M\6XGʉ&Ri5q )1eO2*SeYz齔m4wwi6k= YbnBVuS#;$gu{Ѵ/ ur $7[2/2DF;Q ed(P@)(e)3"H]"E7#8,D aQDA2a2RG+QK!eF rÁDLDgLbZFn̊8u 4Ȭ9]DIR aB [bzU z:wmD3;̹ëˠl@g<X8L**Z=q"*~vk1W@h/PYVo;wտs~i"mU>w#*BUG R( r b+Yd+dBn PT2@Urz,Vdfy{$Rb@1PHRnE锺+Mg*Ҋ.bb:m#&r!Ć5.G'Uq{od|/5t3Ȗ 19AfP!ܬ#@6 [jMbO ˢz:j47JJ7?^]޶a%'|Cg4v[wC8ÎX܅Ԯfc9L{.C#>~@<}f߆$MtZƳsz++e/LOv2ʕn%ۡPV+jk5jNKt$Es WiGt)lHM J2%*'2etdP(Gf$)t(e&Y`r%LE-\-D"#2d#hӬ y tQ 6 @r-խ6E r DZ "`IzZM $5f_ƢL6>j͙E4(  v&nvL| zCk4 "*mWf^2M8%U͡GQ,_il8V}Tq|$Y^L⩖Ӗfl^F]j*ťRym)+ŢH1HDLSȈN&"pM4ܕ@ABR*n8rVHZ艨&&22: <{<D"\QHZ`VC򖻲԰UYUD DL #e0B Hޛ1l;Ӹq7wڶ-#s}SM׮w )0| šЫIV );S1ރVv8/n5T;tM Yp ZB?Q @ 0BjDdjN:r&^|EҤ QĬnU  [p` \e7+##Th6ڲ^O{{= >Չj)ֿb<=@'o @o֚Cu\U?)R1_WJNhvm%`s|6}ؔNӛ1WzEтΦQ_s0v)l,ejfY2k !m}<(xŰ?=nWEcoȔtRO8bw؜Ʌ@ 6S( LN,`l֜Sl3Ui^doz*h|IHL 2 ԚEBH4nCIj*g?ײe,UI}L1'rj5ݗOho$dNgUWyF=t溺xδ*-2Ż03.eBXW&KRbbή17t$(Gt3sUܤrk3ܧYvޕjf-k35Ģ96`h&G;4CVUpD8*@pvͧX qu/@rOJҢh⭋$%1,gbҚfH-K'S"6wyMe]w (i@h^8䢜!sZ:ʹiDZz΋b#!N./[F>p Hkr㰓 E_=zk2z&nڔQ%7{ا^BaFaňBʯ֓{W?znfWrUJXkռH%Py^.gz[[j|K~ٽ k햬\Bpb4v$$J 6^,kz$si펹j*t߅MwŶ6*uwQ-+St Z)#@vaY`RE-30 "U_mi7]CR:-xq RO ENw>'eU^$ޘ:B_G:k㡛M1#lSʦ#;CwRI#03z]8P\Qd%HE"QȌFA%Z ")h& 22],fD&H$"R1 $¸Jf/R.(jR#ۭvA\-D"fy3;z t ~x""+b 0L15d,]Ly[V( sh=CvD Wt&3|.XT8vHHC?;7& 9ɔ:TلV?1#n4my=O?7)-Qcg1T\JIM#JRrd(:3o g7@MdD`(*! 2Y]DEb3ĄRƔj`MddY8L{+12:s,jnZH+)q⢺!. K[Kl_ݬ2r˪r/V6 nZ< kŐ!Z{2M FL{LXIӱ.ԁʪ%R^

RAPIDXML Manual

Version 1.13

Copyright (C) 2006, 2009 Marcin Kalicinski
See accompanying file
license.txt for license information.

Table of Contents

1. What is RapidXml?
1.1 Dependencies And Compatibility
1.2 Character Types And Encodings
1.3 Error Handling
1.4 Memory Allocation
1.5 W3C Compliance
1.6 API Design
1.7 Reliability
1.8 Acknowledgements
2. Two Minute Tutorial
2.1 Parsing
2.2 Accessing The DOM Tree
2.3 Modifying The DOM Tree
2.4 Printing XML
3. Differences From Regular XML Parsers
3.1 Lifetime Of Source Text
3.2 Ownership Of Strings
3.3 Destructive Vs Non-Destructive Mode
4. Performance
4.1 Comparison With Other Parsers
5. Reference

1. What is RapidXml?

RapidXml is an attempt to create the fastest XML DOM parser possible, while retaining useability, portability and reasonable W3C compatibility. It is an in-situ parser written in C++, with parsing speed approaching that of strlen() function executed on the same data.

Entire parser is contained in a single header file, so no building or linking is neccesary. To use it you just need to copy rapidxml.hpp file to a convenient place (such as your project directory), and include it where needed. You may also want to use printing functions contained in header rapidxml_print.hpp.

1.1 Dependencies And Compatibility

RapidXml has no dependencies other than a very small subset of standard C++ library (<cassert>, <cstdlib>, <new> and <exception>, unless exceptions are disabled). It should compile on any reasonably conformant compiler, and was tested on Visual C++ 2003, Visual C++ 2005, Visual C++ 2008, gcc 3, gcc 4, and Comeau 4.3.3. Care was taken that no warnings are produced on these compilers, even with highest warning levels enabled.

1.2 Character Types And Encodings

RapidXml is character type agnostic, and can work both with narrow and wide characters. Current version does not fully support UTF-16 or UTF-32, so use of wide characters is somewhat incapacitated. However, it should succesfully parse wchar_t strings containing UTF-16 or UTF-32 if endianness of the data matches that of the machine. UTF-8 is fully supported, including all numeric character references, which are expanded into appropriate UTF-8 byte sequences (unless you enable parse_no_utf8 flag).

Note that RapidXml performs no decoding - strings returned by name() and value() functions will contain text encoded using the same encoding as source file. Rapidxml understands and expands the following character references: &apos; &amp; &quot; &lt; &gt; &#...; Other character references are not expanded.

1.3 Error Handling

By default, RapidXml uses C++ exceptions to report errors. If this behaviour is undesirable, RAPIDXML_NO_EXCEPTIONS can be defined to suppress exception code. See parse_error class and parse_error_handler() function for more information.

1.4 Memory Allocation

RapidXml uses a special memory pool object to allocate nodes and attributes, because direct allocation using new operator would be far too slow. Underlying memory allocations performed by the pool can be customized by use of memory_pool::set_allocator() function. See class memory_pool for more information.

1.5 W3C Compliance

RapidXml is not a W3C compliant parser, primarily because it ignores DOCTYPE declarations. There is a number of other, minor incompatibilities as well. Still, it can successfully parse and produce complete trees of all valid XML files in W3C conformance suite (over 1000 files specially designed to find flaws in XML processors). In destructive mode it performs whitespace normalization and character entity substitution for a small set of built-in entities.

1.6 API Design

RapidXml API is minimalistic, to reduce code size as much as possible, and facilitate use in embedded environments. Additional convenience functions are provided in separate headers: rapidxml_utils.hpp and rapidxml_print.hpp. Contents of these headers is not an essential part of the library, and is currently not documented (otherwise than with comments in code).

1.7 Reliability

RapidXml is very robust and comes with a large harness of unit tests. Special care has been taken to ensure stability of the parser no matter what source text is thrown at it. One of the unit tests produces 100,000 randomly corrupted variants of XML document, which (when uncorrupted) contains all constructs recognized by RapidXml. RapidXml passes this test when it correctly recognizes that errors have been introduced, and does not crash or loop indefinitely.

Another unit test puts RapidXml head-to-head with another, well estabilished XML parser, and verifies that their outputs match across a wide variety of small and large documents.

Yet another test feeds RapidXml with over 1000 test files from W3C compliance suite, and verifies that correct results are obtained. There are also additional tests that verify each API function separately, and test that various parsing modes work as expected.

1.8 Acknowledgements

I would like to thank Arseny Kapoulkine for his work on pugixml, which was an inspiration for this project. Additional thanks go to Kristen Wegner for creating pugxml, from which pugixml was derived. Janusz Wohlfeil kindly ran RapidXml speed tests on hardware that I did not have access to, allowing me to expand performance comparison table.

2. Two Minute Tutorial

2.1 Parsing

The following code causes RapidXml to parse a zero-terminated string named text:
using namespace rapidxml;
xml_document<> doc;    // character type defaults to char
doc.parse<0>(text);    // 0 means default parse flags
doc object is now a root of DOM tree containing representation of the parsed XML. Because all RapidXml interface is contained inside namespace rapidxml, users must either bring contents of this namespace into scope, or fully qualify all the names. Class xml_document represents a root of the DOM hierarchy. By means of public inheritance, it is also an xml_node and a memory_pool. Template parameter of xml_document::parse() function is used to specify parsing flags, with which you can fine-tune behaviour of the parser. Note that flags must be a compile-time constant.

2.2 Accessing The DOM Tree

To access the DOM tree, use methods of xml_node and xml_attribute classes:
cout << "Name of my first node is: " << doc.first_node()->name() << "\n";
xml_node<> *node = doc.first_node("foobar");
cout << "Node foobar has value " << node->value() << "\n";
for (xml_attribute<> *attr = node->first_attribute();
     attr; attr = attr->next_attribute())
{
    cout << "Node foobar has attribute " << attr->name() << " ";
    cout << "with value " << attr->value() << "\n";
}

2.3 Modifying The DOM Tree

DOM tree produced by the parser is fully modifiable. Nodes and attributes can be added/removed, and their contents changed. The below example creates a HTML document, whose sole contents is a link to google.com website:
xml_document<> doc;
xml_node<> *node = doc.allocate_node(node_element, "a", "Google");
doc.append_node(node);
xml_attribute<> *attr = doc.allocate_attribute("href", "google.com");
node->append_attribute(attr);
One quirk is that nodes and attributes do not own the text of their names and values. This is because normally they only store pointers to the source text. So, when assigning a new name or value to the node, care must be taken to ensure proper lifetime of the string. The easiest way to achieve it is to allocate the string from the xml_document memory pool. In the above example this is not necessary, because we are only assigning character constants. But the code below uses memory_pool::allocate_string() function to allocate node name (which will have the same lifetime as the document), and assigns it to a new node:
xml_document<> doc;
char *node_name = doc.allocate_string(name);        // Allocate string and copy name into it
xml_node<> *node = doc.allocate_node(node_element, node_name);  // Set node name to node_name
Check Reference section for description of the entire interface.

2.4 Printing XML

You can print xml_document and xml_node objects into an XML string. Use print() function or operator <<, which are defined in rapidxml_print.hpp header.
using namespace rapidxml;
xml_document<> doc;    // character type defaults to char
// ... some code to fill the document

// Print to stream using operator <<
std::cout << doc;   

// Print to stream using print function, specifying printing flags
print(std::cout, doc, 0);   // 0 means default printing flags

// Print to string using output iterator
std::string s;
print(std::back_inserter(s), doc, 0);

// Print to memory buffer using output iterator
char buffer[4096];                      // You are responsible for making the buffer large enough!
char *end = print(buffer, doc, 0);      // end contains pointer to character after last printed character
*end = 0;                               // Add string terminator after XML

3. Differences From Regular XML Parsers

RapidXml is an in-situ parser, which allows it to achieve very high parsing speed. In-situ means that parser does not make copies of strings. Instead, it places pointers to the source text in the DOM hierarchy.

3.1 Lifetime Of Source Text

In-situ parsing requires that source text lives at least as long as the document object. If source text is destroyed, names and values of nodes in DOM tree will become destroyed as well. Additionally, whitespace processing, character entity translation, and zero-termination of strings require that source text be modified during parsing (but see non-destructive mode). This makes the text useless for further processing once it was parsed by RapidXml.

In many cases however, these are not serious issues.

3.2 Ownership Of Strings

Nodes and attributes produced by RapidXml do not own their name and value strings. They merely hold the pointers to them. This means you have to be careful when setting these values manually, by using xml_base::name(const Ch *) or xml_base::value(const Ch *) functions. Care must be taken to ensure that lifetime of the string passed is at least as long as lifetime of the node/attribute. The easiest way to achieve it is to allocate the string from memory_pool owned by the document. Use memory_pool::allocate_string() function for this purpose.

3.3 Destructive Vs Non-Destructive Mode

By default, the parser modifies source text during the parsing process. This is required to achieve character entity translation, whitespace normalization, and zero-termination of strings.

In some cases this behaviour may be undesirable, for example if source text resides in read only memory, or is mapped to memory directly from file. By using appropriate parser flags (parse_non_destructive), source text modifications can be disabled. However, because RapidXml does in-situ parsing, it obviously has the following side-effects:

4. Performance

RapidXml achieves its speed through use of several techniques:
  • In-situ parsing. When building DOM tree, RapidXml does not make copies of string data, such as node names and values. Instead, it stores pointers to interior of the source text.
  • Use of template metaprogramming techniques. This allows it to move much of the work to compile time. Through magic of the templates, C++ compiler generates a separate copy of parsing code for any combination of parser flags you use. In each copy, all possible decisions are made at compile time and all unused code is omitted.
  • Extensive use of lookup tables for parsing.
  • Hand-tuned C++ with profiling done on several most popular CPUs.
This results in a very small and fast code: a parser which is custom tailored to exact needs with each invocation.

4.1 Comparison With Other Parsers

The table below compares speed of RapidXml to some other parsers, and to strlen() function executed on the same data. On a modern CPU (as of 2007), you can expect parsing throughput to be close to 1 GB/s. As a rule of thumb, parsing speed is about 50-100x faster than Xerces DOM, 30-60x faster than TinyXml, 3-12x faster than pugxml, and about 5% - 30% faster than pugixml, the fastest XML parser I know of.
  • The test file is a real-world, 50kB large, moderately dense XML file.
  • All timing is done by using RDTSC instruction present in Pentium-compatible CPUs.
  • No profile-guided optimizations are used.
  • All parsers are running in their fastest modes.
  • The results are given in CPU cycles per character, so frequency of CPUs is irrelevant.
  • The results are minimum values from a large number of runs, to minimize effects of operating system activity, task switching, interrupt handling etc.
  • A single parse of the test file takes about 1/10th of a millisecond, so with large number of runs there is a good chance of hitting at least one no-interrupt streak, and obtaining undisturbed results.
Platform
Compiler
strlen() RapidXml pugixml 0.3 pugxml TinyXml
Pentium 4
MSVC 8.0
2.5
5.4
7.0
61.7
298.8
Pentium 4
gcc 4.1.1
0.8
6.1
9.5
67.0
413.2
Core 2
MSVC 8.0
1.0
4.5
5.0
24.6
154.8
Core 2
gcc 4.1.1
0.6
4.6
5.4
28.3
229.3
Athlon XP
MSVC 8.0
3.1
7.7
8.0
25.5
182.6
Athlon XP
gcc 4.1.1
0.9
8.2
9.2
33.7
265.2
Pentium 3
MSVC 8.0
2.0
6.3
7.0
30.9
211.9
Pentium 3
gcc 4.1.1
1.0
6.7
8.9
35.3
316.0
(*) All results are in CPU cycles per character of source text

5. Reference

This section lists all classes, functions, constants etc. and describes them in detail.
class template rapidxml::memory_pool
constructor memory_pool()
destructor ~memory_pool()
function allocate_node(node_type type, const Ch *name=0, const Ch *value=0, std::size_t name_size=0, std::size_t value_size=0)
function allocate_attribute(const Ch *name=0, const Ch *value=0, std::size_t name_size=0, std::size_t value_size=0)
function allocate_string(const Ch *source=0, std::size_t size=0)
function clone_node(const xml_node< Ch > *source, xml_node< Ch > *result=0)
function clear()
function set_allocator(alloc_func *af, free_func *ff)

class rapidxml::parse_error
constructor parse_error(const char *what, void *where)
function what() const
function where() const

class template rapidxml::xml_attribute
constructor xml_attribute()
function document() const
function previous_attribute(const Ch *name=0, std::size_t name_size=0, bool case_sensitive=true) const
function next_attribute(const Ch *name=0, std::size_t name_size=0, bool case_sensitive=true) const

class template rapidxml::xml_base
constructor xml_base()
function name() const
function name_size() const
function value() const
function value_size() const
function name(const Ch *name, std::size_t size)
function name(const Ch *name)
function value(const Ch *value, std::size_t size)
function value(const Ch *value)
function parent() const

class template rapidxml::xml_document
constructor xml_document()
function parse(Ch *text)
function clear()

class template rapidxml::xml_node
constructor xml_node(node_type type)
function type() const
function document() const
function first_node(const Ch *name=0, std::size_t name_size=0, bool case_sensitive=true) const
function last_node(const Ch *name=0, std::size_t name_size=0, bool case_sensitive=true) const
function previous_sibling(const Ch *name=0, std::size_t name_size=0, bool case_sensitive=true) const
function next_sibling(const Ch *name=0, std::size_t name_size=0, bool case_sensitive=true) const
function first_attribute(const Ch *name=0, std::size_t name_size=0, bool case_sensitive=true) const
function last_attribute(const Ch *name=0, std::size_t name_size=0, bool case_sensitive=true) const
function type(node_type type)
function prepend_node(xml_node< Ch > *child)
function append_node(xml_node< Ch > *child)
function insert_node(xml_node< Ch > *where, xml_node< Ch > *child)
function remove_first_node()
function remove_last_node()
function remove_node(xml_node< Ch > *where)
function remove_all_nodes()
function prepend_attribute(xml_attribute< Ch > *attribute)
function append_attribute(xml_attribute< Ch > *attribute)
function insert_attribute(xml_attribute< Ch > *where, xml_attribute< Ch > *attribute)
function remove_first_attribute()
function remove_last_attribute()
function remove_attribute(xml_attribute< Ch > *where)
function remove_all_attributes()

namespace rapidxml
enum node_type
function parse_error_handler(const char *what, void *where)
function print(OutIt out, const xml_node< Ch > &node, int flags=0)
function print(std::basic_ostream< Ch > &out, const xml_node< Ch > &node, int flags=0)
function operator<<(std::basic_ostream< Ch > &out, const xml_node< Ch > &node)
constant parse_no_data_nodes
constant parse_no_element_values
constant parse_no_string_terminators
constant parse_no_entity_translation
constant parse_no_utf8
constant parse_declaration_node
constant parse_comment_nodes
constant parse_doctype_node
constant parse_pi_nodes
constant parse_validate_closing_tags
constant parse_trim_whitespace
constant parse_normalize_whitespace
constant parse_default
constant parse_non_destructive
constant parse_fastest
constant parse_full
constant print_no_indenting


class template rapidxml::memory_pool

Defined in rapidxml.hpp
Base class for xml_document

Description

This class is used by the parser to create new nodes and attributes, without overheads of dynamic memory allocation. In most cases, you will not need to use this class directly. However, if you need to create nodes manually or modify names/values of nodes, you are encouraged to use memory_pool of relevant xml_document to allocate the memory. Not only is this faster than allocating them by using new operator, but also their lifetime will be tied to the lifetime of document, possibly simplyfing memory management.

Call allocate_node() or allocate_attribute() functions to obtain new nodes or attributes from the pool. You can also call allocate_string() function to allocate strings. Such strings can then be used as names or values of nodes without worrying about their lifetime. Note that there is no free() function -- all allocations are freed at once when clear() function is called, or when the pool is destroyed.

It is also possible to create a standalone memory_pool, and use it to allocate nodes, whose lifetime will not be tied to any document.

Pool maintains RAPIDXML_STATIC_POOL_SIZE bytes of statically allocated memory. Until static memory is exhausted, no dynamic memory allocations are done. When static memory is exhausted, pool allocates additional blocks of memory of size RAPIDXML_DYNAMIC_POOL_SIZE each, by using global new[] and delete[] operators. This behaviour can be changed by setting custom allocation routines. Use set_allocator() function to set them.

Allocations for nodes, attributes and strings are aligned at RAPIDXML_ALIGNMENT bytes. This value defaults to the size of pointer on target architecture.

To obtain absolutely top performance from the parser, it is important that all nodes are allocated from a single, contiguous block of memory. Otherwise, cache misses when jumping between two (or more) disjoint blocks of memory can slow down parsing quite considerably. If required, you can tweak RAPIDXML_STATIC_POOL_SIZE, RAPIDXML_DYNAMIC_POOL_SIZE and RAPIDXML_ALIGNMENT to obtain best wasted memory to performance compromise. To do it, define their values before rapidxml.hpp file is included.

Parameters

Ch
Character type of created nodes.

constructor memory_pool::memory_pool

Synopsis

memory_pool();

Description

Constructs empty pool with default allocator functions.

destructor memory_pool::~memory_pool

Synopsis

~memory_pool();

Description

Destroys pool and frees all the memory. This causes memory occupied by nodes allocated by the pool to be freed. Nodes allocated from the pool are no longer valid.

function memory_pool::allocate_node

Synopsis

xml_node<Ch>* allocate_node(node_type type, const Ch *name=0, const Ch *value=0, std::size_t name_size=0, std::size_t value_size=0);

Description

Allocates a new node from the pool, and optionally assigns name and value to it. If the allocation request cannot be accomodated, this function will throw std::bad_alloc. If exceptions are disabled by defining RAPIDXML_NO_EXCEPTIONS, this function will call rapidxml::parse_error_handler() function.

Parameters

type
Type of node to create.
name
Name to assign to the node, or 0 to assign no name.
value
Value to assign to the node, or 0 to assign no value.
name_size
Size of name to assign, or 0 to automatically calculate size from name string.
value_size
Size of value to assign, or 0 to automatically calculate size from value string.

Returns

Pointer to allocated node. This pointer will never be NULL.

function memory_pool::allocate_attribute

Synopsis

xml_attribute<Ch>* allocate_attribute(const Ch *name=0, const Ch *value=0, std::size_t name_size=0, std::size_t value_size=0);

Description

Allocates a new attribute from the pool, and optionally assigns name and value to it. If the allocation request cannot be accomodated, this function will throw std::bad_alloc. If exceptions are disabled by defining RAPIDXML_NO_EXCEPTIONS, this function will call rapidxml::parse_error_handler() function.

Parameters

name
Name to assign to the attribute, or 0 to assign no name.
value
Value to assign to the attribute, or 0 to assign no value.
name_size
Size of name to assign, or 0 to automatically calculate size from name string.
value_size
Size of value to assign, or 0 to automatically calculate size from value string.

Returns

Pointer to allocated attribute. This pointer will never be NULL.

function memory_pool::allocate_string

Synopsis

Ch* allocate_string(const Ch *source=0, std::size_t size=0);

Description

Allocates a char array of given size from the pool, and optionally copies a given string to it. If the allocation request cannot be accomodated, this function will throw std::bad_alloc. If exceptions are disabled by defining RAPIDXML_NO_EXCEPTIONS, this function will call rapidxml::parse_error_handler() function.

Parameters

source
String to initialize the allocated memory with, or 0 to not initialize it.
size
Number of characters to allocate, or zero to calculate it automatically from source string length; if size is 0, source string must be specified and null terminated.

Returns

Pointer to allocated char array. This pointer will never be NULL.

function memory_pool::clone_node

Synopsis

xml_node<Ch>* clone_node(const xml_node< Ch > *source, xml_node< Ch > *result=0);

Description

Clones an xml_node and its hierarchy of child nodes and attributes. Nodes and attributes are allocated from this memory pool. Names and values are not cloned, they are shared between the clone and the source. Result node can be optionally specified as a second parameter, in which case its contents will be replaced with cloned source node. This is useful when you want to clone entire document.

Parameters

source
Node to clone.
result
Node to put results in, or 0 to automatically allocate result node

Returns

Pointer to cloned node. This pointer will never be NULL.

function memory_pool::clear

Synopsis

void clear();

Description

Clears the pool. This causes memory occupied by nodes allocated by the pool to be freed. Any nodes or strings allocated from the pool will no longer be valid.

function memory_pool::set_allocator

Synopsis

void set_allocator(alloc_func *af, free_func *ff);

Description

Sets or resets the user-defined memory allocation functions for the pool. This can only be called when no memory is allocated from the pool yet, otherwise results are undefined. Allocation function must not return invalid pointer on failure. It should either throw, stop the program, or use longjmp() function to pass control to other place of program. If it returns invalid pointer, results are undefined.

User defined allocation functions must have the following forms:

void *allocate(std::size_t size);
void free(void *pointer);

Parameters

af
Allocation function, or 0 to restore default function
ff
Free function, or 0 to restore default function

class rapidxml::parse_error

Defined in rapidxml.hpp

Description

Parse error exception. This exception is thrown by the parser when an error occurs. Use what() function to get human-readable error message. Use where() function to get a pointer to position within source text where error was detected.

If throwing exceptions by the parser is undesirable, it can be disabled by defining RAPIDXML_NO_EXCEPTIONS macro before rapidxml.hpp is included. This will cause the parser to call rapidxml::parse_error_handler() function instead of throwing an exception. This function must be defined by the user.

This class derives from std::exception class.

constructor parse_error::parse_error

Synopsis

parse_error(const char *what, void *where);

Description

Constructs parse error.

function parse_error::what

Synopsis

virtual const char* what() const;

Description

Gets human readable description of error.

Returns

Pointer to null terminated description of the error.

function parse_error::where

Synopsis

Ch* where() const;

Description

Gets pointer to character data where error happened. Ch should be the same as char type of xml_document that produced the error.

Returns

Pointer to location within the parsed string where error occured.

class template rapidxml::xml_attribute

Defined in rapidxml.hpp
Inherits from xml_base

Description

Class representing attribute node of XML document. Each attribute has name and value strings, which are available through name() and value() functions (inherited from xml_base). Note that after parse, both name and value of attribute will point to interior of source text used for parsing. Thus, this text must persist in memory for the lifetime of attribute.

Parameters

Ch
Character type to use.

constructor xml_attribute::xml_attribute

Synopsis

xml_attribute();

Description

Constructs an empty attribute with the specified type. Consider using memory_pool of appropriate xml_document if allocating attributes manually.

function xml_attribute::document

Synopsis

xml_document<Ch>* document() const;

Description

Gets document of which attribute is a child.

Returns

Pointer to document that contains this attribute, or 0 if there is no parent document.

function xml_attribute::previous_attribute

Synopsis

xml_attribute<Ch>* previous_attribute(const Ch *name=0, std::size_t name_size=0, bool case_sensitive=true) const;

Description

Gets previous attribute, optionally matching attribute name.

Parameters

name
Name of attribute to find, or 0 to return previous attribute regardless of its name; this string doesn't have to be zero-terminated if name_size is non-zero
name_size
Size of name, in characters, or 0 to have size calculated automatically from string
case_sensitive
Should name comparison be case-sensitive; non case-sensitive comparison works properly only for ASCII characters

Returns

Pointer to found attribute, or 0 if not found.

function xml_attribute::next_attribute

Synopsis

xml_attribute<Ch>* next_attribute(const Ch *name=0, std::size_t name_size=0, bool case_sensitive=true) const;

Description

Gets next attribute, optionally matching attribute name.

Parameters

name
Name of attribute to find, or 0 to return next attribute regardless of its name; this string doesn't have to be zero-terminated if name_size is non-zero
name_size
Size of name, in characters, or 0 to have size calculated automatically from string
case_sensitive
Should name comparison be case-sensitive; non case-sensitive comparison works properly only for ASCII characters

Returns

Pointer to found attribute, or 0 if not found.

class template rapidxml::xml_base

Defined in rapidxml.hpp
Base class for xml_attribute xml_node

Description

Base class for xml_node and xml_attribute implementing common functions: name(), name_size(), value(), value_size() and parent().

Parameters

Ch
Character type to use

constructor xml_base::xml_base

Synopsis

xml_base();

function xml_base::name

Synopsis

Ch* name() const;

Description

Gets name of the node. Interpretation of name depends on type of node. Note that name will not be zero-terminated if rapidxml::parse_no_string_terminators option was selected during parse.

Use name_size() function to determine length of the name.

Returns

Name of node, or empty string if node has no name.

function xml_base::name_size

Synopsis

std::size_t name_size() const;

Description

Gets size of node name, not including terminator character. This function works correctly irrespective of whether name is or is not zero terminated.

Returns

Size of node name, in characters.

function xml_base::value

Synopsis

Ch* value() const;

Description

Gets value of node. Interpretation of value depends on type of node. Note that value will not be zero-terminated if rapidxml::parse_no_string_terminators option was selected during parse.

Use value_size() function to determine length of the value.

Returns

Value of node, or empty string if node has no value.

function xml_base::value_size

Synopsis

std::size_t value_size() const;

Description

Gets size of node value, not including terminator character. This function works correctly irrespective of whether value is or is not zero terminated.

Returns

Size of node value, in characters.

function xml_base::name

Synopsis

void name(const Ch *name, std::size_t size);

Description

Sets name of node to a non zero-terminated string. See Ownership Of Strings .

Note that node does not own its name or value, it only stores a pointer to it. It will not delete or otherwise free the pointer on destruction. It is reponsibility of the user to properly manage lifetime of the string. The easiest way to achieve it is to use memory_pool of the document to allocate the string - on destruction of the document the string will be automatically freed.

Size of name must be specified separately, because name does not have to be zero terminated. Use name(const Ch *) function to have the length automatically calculated (string must be zero terminated).

Parameters

name
Name of node to set. Does not have to be zero terminated.
size
Size of name, in characters. This does not include zero terminator, if one is present.

function xml_base::name

Synopsis

void name(const Ch *name);

Description

Sets name of node to a zero-terminated string. See also Ownership Of Strings and xml_node::name(const Ch *, std::size_t).

Parameters

name
Name of node to set. Must be zero terminated.

function xml_base::value

Synopsis

void value(const Ch *value, std::size_t size);

Description

Sets value of node to a non zero-terminated string. See Ownership Of Strings .

Note that node does not own its name or value, it only stores a pointer to it. It will not delete or otherwise free the pointer on destruction. It is reponsibility of the user to properly manage lifetime of the string. The easiest way to achieve it is to use memory_pool of the document to allocate the string - on destruction of the document the string will be automatically freed.

Size of value must be specified separately, because it does not have to be zero terminated. Use value(const Ch *) function to have the length automatically calculated (string must be zero terminated).

If an element has a child node of type node_data, it will take precedence over element value when printing. If you want to manipulate data of elements using values, use parser flag rapidxml::parse_no_data_nodes to prevent creation of data nodes by the parser.

Parameters

value
value of node to set. Does not have to be zero terminated.
size
Size of value, in characters. This does not include zero terminator, if one is present.

function xml_base::value

Synopsis

void value(const Ch *value);

Description

Sets value of node to a zero-terminated string. See also Ownership Of Strings and xml_node::value(const Ch *, std::size_t).

Parameters

value
Vame of node to set. Must be zero terminated.

function xml_base::parent

Synopsis

xml_node<Ch>* parent() const;

Description

Gets node parent.

Returns

Pointer to parent node, or 0 if there is no parent.

class template rapidxml::xml_document

Defined in rapidxml.hpp
Inherits from xml_node memory_pool

Description

This class represents root of the DOM hierarchy. It is also an xml_node and a memory_pool through public inheritance. Use parse() function to build a DOM tree from a zero-terminated XML text string. parse() function allocates memory for nodes and attributes by using functions of xml_document, which are inherited from memory_pool. To access root node of the document, use the document itself, as if it was an xml_node.

Parameters

Ch
Character type to use.

constructor xml_document::xml_document

Synopsis

xml_document();

Description

Constructs empty XML document.

function xml_document::parse

Synopsis

void parse(Ch *text);

Description

Parses zero-terminated XML string according to given flags. Passed string will be modified by the parser, unless rapidxml::parse_non_destructive flag is used. The string must persist for the lifetime of the document. In case of error, rapidxml::parse_error exception will be thrown.

If you want to parse contents of a file, you must first load the file into the memory, and pass pointer to its beginning. Make sure that data is zero-terminated.

Document can be parsed into multiple times. Each new call to parse removes previous nodes and attributes (if any), but does not clear memory pool.

Parameters

text
XML data to parse; pointer is non-const to denote fact that this data may be modified by the parser.

function xml_document::clear

Synopsis

void clear();

Description

Clears the document by deleting all nodes and clearing the memory pool. All nodes owned by document pool are destroyed.

class template rapidxml::xml_node

Defined in rapidxml.hpp
Inherits from xml_base
Base class for xml_document

Description

Class representing a node of XML document. Each node may have associated name and value strings, which are available through name() and value() functions. Interpretation of name and value depends on type of the node. Type of node can be determined by using type() function.

Note that after parse, both name and value of node, if any, will point interior of source text used for parsing. Thus, this text must persist in the memory for the lifetime of node.

Parameters

Ch
Character type to use.

constructor xml_node::xml_node

Synopsis

xml_node(node_type type);

Description

Constructs an empty node with the specified type. Consider using memory_pool of appropriate document to allocate nodes manually.

Parameters

type
Type of node to construct.

function xml_node::type

Synopsis

node_type type() const;

Description

Gets type of node.

Returns

Type of node.

function xml_node::document

Synopsis

xml_document<Ch>* document() const;

Description

Gets document of which node is a child.

Returns

Pointer to document that contains this node, or 0 if there is no parent document.

function xml_node::first_node

Synopsis

xml_node<Ch>* first_node(const Ch *name=0, std::size_t name_size=0, bool case_sensitive=true) const;

Description

Gets first child node, optionally matching node name.

Parameters

name
Name of child to find, or 0 to return first child regardless of its name; this string doesn't have to be zero-terminated if name_size is non-zero
name_size
Size of name, in characters, or 0 to have size calculated automatically from string
case_sensitive
Should name comparison be case-sensitive; non case-sensitive comparison works properly only for ASCII characters

Returns

Pointer to found child, or 0 if not found.

function xml_node::last_node

Synopsis

xml_node<Ch>* last_node(const Ch *name=0, std::size_t name_size=0, bool case_sensitive=true) const;

Description

Gets last child node, optionally matching node name. Behaviour is undefined if node has no children. Use first_node() to test if node has children.

Parameters

name
Name of child to find, or 0 to return last child regardless of its name; this string doesn't have to be zero-terminated if name_size is non-zero
name_size
Size of name, in characters, or 0 to have size calculated automatically from string
case_sensitive
Should name comparison be case-sensitive; non case-sensitive comparison works properly only for ASCII characters

Returns

Pointer to found child, or 0 if not found.

function xml_node::previous_sibling

Synopsis

xml_node<Ch>* previous_sibling(const Ch *name=0, std::size_t name_size=0, bool case_sensitive=true) const;

Description

Gets previous sibling node, optionally matching node name. Behaviour is undefined if node has no parent. Use parent() to test if node has a parent.

Parameters

name
Name of sibling to find, or 0 to return previous sibling regardless of its name; this string doesn't have to be zero-terminated if name_size is non-zero
name_size
Size of name, in characters, or 0 to have size calculated automatically from string
case_sensitive
Should name comparison be case-sensitive; non case-sensitive comparison works properly only for ASCII characters

Returns

Pointer to found sibling, or 0 if not found.

function xml_node::next_sibling

Synopsis

xml_node<Ch>* next_sibling(const Ch *name=0, std::size_t name_size=0, bool case_sensitive=true) const;

Description

Gets next sibling node, optionally matching node name. Behaviour is undefined if node has no parent. Use parent() to test if node has a parent.

Parameters

name
Name of sibling to find, or 0 to return next sibling regardless of its name; this string doesn't have to be zero-terminated if name_size is non-zero
name_size
Size of name, in characters, or 0 to have size calculated automatically from string
case_sensitive
Should name comparison be case-sensitive; non case-sensitive comparison works properly only for ASCII characters

Returns

Pointer to found sibling, or 0 if not found.

function xml_node::first_attribute

Synopsis

xml_attribute<Ch>* first_attribute(const Ch *name=0, std::size_t name_size=0, bool case_sensitive=true) const;

Description

Gets first attribute of node, optionally matching attribute name.

Parameters

name
Name of attribute to find, or 0 to return first attribute regardless of its name; this string doesn't have to be zero-terminated if name_size is non-zero
name_size
Size of name, in characters, or 0 to have size calculated automatically from string
case_sensitive
Should name comparison be case-sensitive; non case-sensitive comparison works properly only for ASCII characters

Returns

Pointer to found attribute, or 0 if not found.

function xml_node::last_attribute

Synopsis

xml_attribute<Ch>* last_attribute(const Ch *name=0, std::size_t name_size=0, bool case_sensitive=true) const;

Description

Gets last attribute of node, optionally matching attribute name.

Parameters

name
Name of attribute to find, or 0 to return last attribute regardless of its name; this string doesn't have to be zero-terminated if name_size is non-zero
name_size
Size of name, in characters, or 0 to have size calculated automatically from string
case_sensitive
Should name comparison be case-sensitive; non case-sensitive comparison works properly only for ASCII characters

Returns

Pointer to found attribute, or 0 if not found.

function xml_node::type

Synopsis

void type(node_type type);

Description

Sets type of node.

Parameters

type
Type of node to set.

function xml_node::prepend_node

Synopsis

void prepend_node(xml_node< Ch > *child);

Description

Prepends a new child node. The prepended child becomes the first child, and all existing children are moved one position back.

Parameters

child
Node to prepend.

function xml_node::append_node

Synopsis

void append_node(xml_node< Ch > *child);

Description

Appends a new child node. The appended child becomes the last child.

Parameters

child
Node to append.

function xml_node::insert_node

Synopsis

void insert_node(xml_node< Ch > *where, xml_node< Ch > *child);

Description

Inserts a new child node at specified place inside the node. All children after and including the specified node are moved one position back.

Parameters

where
Place where to insert the child, or 0 to insert at the back.
child
Node to insert.

function xml_node::remove_first_node

Synopsis

void remove_first_node();

Description

Removes first child node. If node has no children, behaviour is undefined. Use first_node() to test if node has children.

function xml_node::remove_last_node

Synopsis

void remove_last_node();

Description

Removes last child of the node. If node has no children, behaviour is undefined. Use first_node() to test if node has children.

function xml_node::remove_node

Synopsis

void remove_node(xml_node< Ch > *where);

Description

Removes specified child from the node.

function xml_node::remove_all_nodes

Synopsis

void remove_all_nodes();

Description

Removes all child nodes (but not attributes).

function xml_node::prepend_attribute

Synopsis

void prepend_attribute(xml_attribute< Ch > *attribute);

Description

Prepends a new attribute to the node.

Parameters

attribute
Attribute to prepend.

function xml_node::append_attribute

Synopsis

void append_attribute(xml_attribute< Ch > *attribute);

Description

Appends a new attribute to the node.

Parameters

attribute
Attribute to append.

function xml_node::insert_attribute

Synopsis

void insert_attribute(xml_attribute< Ch > *where, xml_attribute< Ch > *attribute);

Description

Inserts a new attribute at specified place inside the node. All attributes after and including the specified attribute are moved one position back.

Parameters

where
Place where to insert the attribute, or 0 to insert at the back.
attribute
Attribute to insert.

function xml_node::remove_first_attribute

Synopsis

void remove_first_attribute();

Description

Removes first attribute of the node. If node has no attributes, behaviour is undefined. Use first_attribute() to test if node has attributes.

function xml_node::remove_last_attribute

Synopsis

void remove_last_attribute();

Description

Removes last attribute of the node. If node has no attributes, behaviour is undefined. Use first_attribute() to test if node has attributes.

function xml_node::remove_attribute

Synopsis

void remove_attribute(xml_attribute< Ch > *where);

Description

Removes specified attribute from node.

Parameters

where
Pointer to attribute to be removed.

function xml_node::remove_all_attributes

Synopsis

void remove_all_attributes();

Description

Removes all attributes of node.

enum node_type

Description

Enumeration listing all node types produced by the parser. Use xml_node::type() function to query node type.

Values

node_document
A document node. Name and value are empty.
node_element
An element node. Name contains element name. Value contains text of first data node.
node_data
A data node. Name is empty. Value contains data text.
node_cdata
A CDATA node. Name is empty. Value contains data text.
node_comment
A comment node. Name is empty. Value contains comment text.
node_declaration
A declaration node. Name and value are empty. Declaration parameters (version, encoding and standalone) are in node attributes.
node_doctype
A DOCTYPE node. Name is empty. Value contains DOCTYPE text.
node_pi
A PI node. Name contains target. Value contains instructions.

function parse_error_handler

Synopsis

void rapidxml::parse_error_handler(const char *what, void *where);

Description

When exceptions are disabled by defining RAPIDXML_NO_EXCEPTIONS, this function is called to notify user about the error. It must be defined by the user.

This function cannot return. If it does, the results are undefined.

A very simple definition might look like that: void rapidxml::parse_error_handler(const char *what, void *where) { std::cout << "Parse error: " << what << "\n"; std::abort(); }

Parameters

what
Human readable description of the error.
where
Pointer to character data where error was detected.

function print

Synopsis

OutIt rapidxml::print(OutIt out, const xml_node< Ch > &node, int flags=0);

Description

Prints XML to given output iterator.

Parameters

out
Output iterator to print to.
node
Node to be printed. Pass xml_document to print entire document.
flags
Flags controlling how XML is printed.

Returns

Output iterator pointing to position immediately after last character of printed text.

function print

Synopsis

std::basic_ostream<Ch>& rapidxml::print(std::basic_ostream< Ch > &out, const xml_node< Ch > &node, int flags=0);

Description

Prints XML to given output stream.

Parameters

out
Output stream to print to.
node
Node to be printed. Pass xml_document to print entire document.
flags
Flags controlling how XML is printed.

Returns

Output stream.

function operator<<

Synopsis

std::basic_ostream<Ch>& rapidxml::operator<<(std::basic_ostream< Ch > &out, const xml_node< Ch > &node);

Description

Prints formatted XML to given output stream. Uses default printing flags. Use print() function to customize printing process.

Parameters

out
Output stream to print to.
node
Node to be printed.

Returns

Output stream.

constant parse_no_data_nodes

Synopsis

const int parse_no_data_nodes = 0x1;

Description

Parse flag instructing the parser to not create data nodes. Text of first data node will still be placed in value of parent element, unless rapidxml::parse_no_element_values flag is also specified. Can be combined with other flags by use of | operator.

See xml_document::parse() function.

constant parse_no_element_values

Synopsis

const int parse_no_element_values = 0x2;

Description

Parse flag instructing the parser to not use text of first data node as a value of parent element. Can be combined with other flags by use of | operator. Note that child data nodes of element node take precendence over its value when printing. That is, if element has one or more child data nodes and a value, the value will be ignored. Use rapidxml::parse_no_data_nodes flag to prevent creation of data nodes if you want to manipulate data using values of elements.

See xml_document::parse() function.

constant parse_no_string_terminators

Synopsis

const int parse_no_string_terminators = 0x4;

Description

Parse flag instructing the parser to not place zero terminators after strings in the source text. By default zero terminators are placed, modifying source text. Can be combined with other flags by use of | operator.

See xml_document::parse() function.

constant parse_no_entity_translation

Synopsis

const int parse_no_entity_translation = 0x8;

Description

Parse flag instructing the parser to not translate entities in the source text. By default entities are translated, modifying source text. Can be combined with other flags by use of | operator.

See xml_document::parse() function.

constant parse_no_utf8

Synopsis

const int parse_no_utf8 = 0x10;

Description

Parse flag instructing the parser to disable UTF-8 handling and assume plain 8 bit characters. By default, UTF-8 handling is enabled. Can be combined with other flags by use of | operator.

See xml_document::parse() function.

constant parse_declaration_node

Synopsis

const int parse_declaration_node = 0x20;

Description

Parse flag instructing the parser to create XML declaration node. By default, declaration node is not created. Can be combined with other flags by use of | operator.

See xml_document::parse() function.

constant parse_comment_nodes

Synopsis

const int parse_comment_nodes = 0x40;

Description

Parse flag instructing the parser to create comments nodes. By default, comment nodes are not created. Can be combined with other flags by use of | operator.

See xml_document::parse() function.

constant parse_doctype_node

Synopsis

const int parse_doctype_node = 0x80;

Description

Parse flag instructing the parser to create DOCTYPE node. By default, doctype node is not created. Although W3C specification allows at most one DOCTYPE node, RapidXml will silently accept documents with more than one. Can be combined with other flags by use of | operator.

See xml_document::parse() function.

constant parse_pi_nodes

Synopsis

const int parse_pi_nodes = 0x100;

Description

Parse flag instructing the parser to create PI nodes. By default, PI nodes are not created. Can be combined with other flags by use of | operator.

See xml_document::parse() function.

constant parse_validate_closing_tags

Synopsis

const int parse_validate_closing_tags = 0x200;

Description

Parse flag instructing the parser to validate closing tag names. If not set, name inside closing tag is irrelevant to the parser. By default, closing tags are not validated. Can be combined with other flags by use of | operator.

See xml_document::parse() function.

constant parse_trim_whitespace

Synopsis

const int parse_trim_whitespace = 0x400;

Description

Parse flag instructing the parser to trim all leading and trailing whitespace of data nodes. By default, whitespace is not trimmed. This flag does not cause the parser to modify source text. Can be combined with other flags by use of | operator.

See xml_document::parse() function.

constant parse_normalize_whitespace

Synopsis

const int parse_normalize_whitespace = 0x800;

Description

Parse flag instructing the parser to condense all whitespace runs of data nodes to a single space character. Trimming of leading and trailing whitespace of data is controlled by rapidxml::parse_trim_whitespace flag. By default, whitespace is not normalized. If this flag is specified, source text will be modified. Can be combined with other flags by use of | operator.

See xml_document::parse() function.

constant parse_default

Synopsis

const int parse_default = 0;

Description

Parse flags which represent default behaviour of the parser. This is always equal to 0, so that all other flags can be simply ored together. Normally there is no need to inconveniently disable flags by anding with their negated (~) values. This also means that meaning of each flag is a negation of the default setting. For example, if flag name is rapidxml::parse_no_utf8, it means that utf-8 is enabled by default, and using the flag will disable it.

See xml_document::parse() function.

constant parse_non_destructive

Synopsis

const int parse_non_destructive = parse_no_string_terminators | parse_no_entity_translation;

Description

A combination of parse flags that forbids any modifications of the source text. This also results in faster parsing. However, note that the following will occur:
  • names and values of nodes will not be zero terminated, you have to use xml_base::name_size() and xml_base::value_size() functions to determine where name and value ends
  • entities will not be translated
  • whitespace will not be normalized
See xml_document::parse() function.

constant parse_fastest

Synopsis

const int parse_fastest = parse_non_destructive | parse_no_data_nodes;

Description

A combination of parse flags resulting in fastest possible parsing, without sacrificing important data.

See xml_document::parse() function.

constant parse_full

Synopsis

const int parse_full = parse_declaration_node | parse_comment_nodes | parse_doctype_node | parse_pi_nodes | parse_validate_closing_tags;

Description

A combination of parse flags resulting in largest amount of data being extracted. This usually results in slowest parsing.

See xml_document::parse() function.

constant print_no_indenting

Synopsis

const int print_no_indenting = 0x1;

Description

Printer flag instructing the printer to suppress indenting of XML. See print() function.

blockattack-game-2.5.0/source/code/Libs/include/cereal/external/rapidxml/rapidxml.hpp000066400000000000000000003510131347224572500307010ustar00rootroot00000000000000#ifndef CEREAL_RAPIDXML_HPP_INCLUDED #define CEREAL_RAPIDXML_HPP_INCLUDED // Copyright (C) 2006, 2009 Marcin Kalicinski // Version 1.13 // Revision $DateTime: 2009/05/13 01:46:17 $ // If standard library is disabled, user must provide implementations of required functions and typedefs #if !defined(CEREAL_RAPIDXML_NO_STDLIB) #include // For std::size_t #include // For assert #include // For placement new #endif // On MSVC, disable "conditional expression is constant" warning (level 4). // This warning is almost impossible to avoid with certain types of templated code #ifdef _MSC_VER #pragma warning(push) #pragma warning(disable:4127) // Conditional expression is constant #pragma warning(disable:4100) // unreferenced formal parameter #endif /////////////////////////////////////////////////////////////////////////// // CEREAL_RAPIDXML_PARSE_ERROR #if defined(CEREAL_RAPIDXML_NO_EXCEPTIONS) #define CEREAL_RAPIDXML_PARSE_ERROR(what, where) { parse_error_handler(what, where); assert(0); } namespace cereal { namespace rapidxml { //! When exceptions are disabled by defining CEREAL_RAPIDXML_NO_EXCEPTIONS, //! this function is called to notify user about the error. //! It must be defined by the user. //!

//! This function cannot return. If it does, the results are undefined. //!

//! A very simple definition might look like that: //!

    //! void %rapidxml::%parse_error_handler(const char *what, void *where)
    //! {
    //!     std::cout << "Parse error: " << what << "\n";
    //!     std::abort();
    //! }
    //! 
//! \param what Human readable description of the error. //! \param where Pointer to character data where error was detected. void parse_error_handler(const char *what, void *where); } } // end namespace cereal #else #include // For std::exception #define CEREAL_RAPIDXML_PARSE_ERROR(what, where) throw parse_error(what, where) namespace cereal { namespace rapidxml { //! Parse error exception. //! This exception is thrown by the parser when an error occurs. //! Use what() function to get human-readable error message. //! Use where() function to get a pointer to position within source text where error was detected. //!

//! If throwing exceptions by the parser is undesirable, //! it can be disabled by defining CEREAL_RAPIDXML_NO_EXCEPTIONS macro before rapidxml.hpp is included. //! This will cause the parser to call rapidxml::parse_error_handler() function instead of throwing an exception. //! This function must be defined by the user. //!

//! This class derives from std::exception class. class parse_error: public std::exception { public: //! Constructs parse error parse_error(const char *what_, void *where_) : m_what(what_) , m_where(where_) { } //! Gets human readable description of error. //! \return Pointer to null terminated description of the error. virtual const char *what() const throw() { return m_what; } //! Gets pointer to character data where error happened. //! Ch should be the same as char type of xml_document that produced the error. //! \return Pointer to location within the parsed string where error occured. template Ch *where() const { return reinterpret_cast(m_where); } private: const char *m_what; void *m_where; }; } } // end namespace cereal #endif /////////////////////////////////////////////////////////////////////////// // Pool sizes #ifndef CEREAL_RAPIDXML_STATIC_POOL_SIZE // Size of static memory block of memory_pool. // Define CEREAL_RAPIDXML_STATIC_POOL_SIZE before including rapidxml.hpp if you want to override the default value. // No dynamic memory allocations are performed by memory_pool until static memory is exhausted. #define CEREAL_RAPIDXML_STATIC_POOL_SIZE (64 * 1024) #endif #ifndef CEREAL_RAPIDXML_DYNAMIC_POOL_SIZE // Size of dynamic memory block of memory_pool. // Define CEREAL_RAPIDXML_DYNAMIC_POOL_SIZE before including rapidxml.hpp if you want to override the default value. // After the static block is exhausted, dynamic blocks with approximately this size are allocated by memory_pool. #define CEREAL_RAPIDXML_DYNAMIC_POOL_SIZE (64 * 1024) #endif #ifndef CEREAL_RAPIDXML_ALIGNMENT // Memory allocation alignment. // Define CEREAL_RAPIDXML_ALIGNMENT before including rapidxml.hpp if you want to override the default value, which is the size of pointer. // All memory allocations for nodes, attributes and strings will be aligned to this value. // This must be a power of 2 and at least 1, otherwise memory_pool will not work. #define CEREAL_RAPIDXML_ALIGNMENT sizeof(void *) #endif namespace cereal { namespace rapidxml { // Forward declarations template class xml_node; template class xml_attribute; template class xml_document; //! Enumeration listing all node types produced by the parser. //! Use xml_node::type() function to query node type. enum node_type { node_document, //!< A document node. Name and value are empty. node_element, //!< An element node. Name contains element name. Value contains text of first data node. node_data, //!< A data node. Name is empty. Value contains data text. node_cdata, //!< A CDATA node. Name is empty. Value contains data text. node_comment, //!< A comment node. Name is empty. Value contains comment text. node_declaration, //!< A declaration node. Name and value are empty. Declaration parameters (version, encoding and standalone) are in node attributes. node_doctype, //!< A DOCTYPE node. Name is empty. Value contains DOCTYPE text. node_pi //!< A PI node. Name contains target. Value contains instructions. }; /////////////////////////////////////////////////////////////////////// // Parsing flags //! Parse flag instructing the parser to not create data nodes. //! Text of first data node will still be placed in value of parent element, unless rapidxml::parse_no_element_values flag is also specified. //! Can be combined with other flags by use of | operator. //!

//! See xml_document::parse() function. const int parse_no_data_nodes = 0x1; //! Parse flag instructing the parser to not use text of first data node as a value of parent element. //! Can be combined with other flags by use of | operator. //! Note that child data nodes of element node take precendence over its value when printing. //! That is, if element has one or more child data nodes and a value, the value will be ignored. //! Use rapidxml::parse_no_data_nodes flag to prevent creation of data nodes if you want to manipulate data using values of elements. //!

//! See xml_document::parse() function. const int parse_no_element_values = 0x2; //! Parse flag instructing the parser to not place zero terminators after strings in the source text. //! By default zero terminators are placed, modifying source text. //! Can be combined with other flags by use of | operator. //!

//! See xml_document::parse() function. const int parse_no_string_terminators = 0x4; //! Parse flag instructing the parser to not translate entities in the source text. //! By default entities are translated, modifying source text. //! Can be combined with other flags by use of | operator. //!

//! See xml_document::parse() function. const int parse_no_entity_translation = 0x8; //! Parse flag instructing the parser to disable UTF-8 handling and assume plain 8 bit characters. //! By default, UTF-8 handling is enabled. //! Can be combined with other flags by use of | operator. //!

//! See xml_document::parse() function. const int parse_no_utf8 = 0x10; //! Parse flag instructing the parser to create XML declaration node. //! By default, declaration node is not created. //! Can be combined with other flags by use of | operator. //!

//! See xml_document::parse() function. const int parse_declaration_node = 0x20; //! Parse flag instructing the parser to create comments nodes. //! By default, comment nodes are not created. //! Can be combined with other flags by use of | operator. //!

//! See xml_document::parse() function. const int parse_comment_nodes = 0x40; //! Parse flag instructing the parser to create DOCTYPE node. //! By default, doctype node is not created. //! Although W3C specification allows at most one DOCTYPE node, RapidXml will silently accept documents with more than one. //! Can be combined with other flags by use of | operator. //!

//! See xml_document::parse() function. const int parse_doctype_node = 0x80; //! Parse flag instructing the parser to create PI nodes. //! By default, PI nodes are not created. //! Can be combined with other flags by use of | operator. //!

//! See xml_document::parse() function. const int parse_pi_nodes = 0x100; //! Parse flag instructing the parser to validate closing tag names. //! If not set, name inside closing tag is irrelevant to the parser. //! By default, closing tags are not validated. //! Can be combined with other flags by use of | operator. //!

//! See xml_document::parse() function. const int parse_validate_closing_tags = 0x200; //! Parse flag instructing the parser to trim all leading and trailing whitespace of data nodes. //! By default, whitespace is not trimmed. //! This flag does not cause the parser to modify source text. //! Can be combined with other flags by use of | operator. //!

//! See xml_document::parse() function. const int parse_trim_whitespace = 0x400; //! Parse flag instructing the parser to condense all whitespace runs of data nodes to a single space character. //! Trimming of leading and trailing whitespace of data is controlled by rapidxml::parse_trim_whitespace flag. //! By default, whitespace is not normalized. //! If this flag is specified, source text will be modified. //! Can be combined with other flags by use of | operator. //!

//! See xml_document::parse() function. const int parse_normalize_whitespace = 0x800; // Compound flags //! Parse flags which represent default behaviour of the parser. //! This is always equal to 0, so that all other flags can be simply ored together. //! Normally there is no need to inconveniently disable flags by anding with their negated (~) values. //! This also means that meaning of each flag is a negation of the default setting. //! For example, if flag name is rapidxml::parse_no_utf8, it means that utf-8 is enabled by default, //! and using the flag will disable it. //!

//! See xml_document::parse() function. const int parse_default = 0; //! A combination of parse flags that forbids any modifications of the source text. //! This also results in faster parsing. However, note that the following will occur: //!
    //!
  • names and values of nodes will not be zero terminated, you have to use xml_base::name_size() and xml_base::value_size() functions to determine where name and value ends
  • //!
  • entities will not be translated
  • //!
  • whitespace will not be normalized
  • //!
//! See xml_document::parse() function. const int parse_non_destructive = parse_no_string_terminators | parse_no_entity_translation; //! A combination of parse flags resulting in fastest possible parsing, without sacrificing important data. //!

//! See xml_document::parse() function. const int parse_fastest = parse_non_destructive | parse_no_data_nodes; //! A combination of parse flags resulting in largest amount of data being extracted. //! This usually results in slowest parsing. //!

//! See xml_document::parse() function. const int parse_full = parse_declaration_node | parse_comment_nodes | parse_doctype_node | parse_pi_nodes | parse_validate_closing_tags; /////////////////////////////////////////////////////////////////////// // Internals //! \cond internal namespace internal { // Struct that contains lookup tables for the parser // It must be a template to allow correct linking (because it has static data members, which are defined in a header file). template struct lookup_tables { static const unsigned char lookup_whitespace[256]; // Whitespace table static const unsigned char lookup_node_name[256]; // Node name table static const unsigned char lookup_text[256]; // Text table static const unsigned char lookup_text_pure_no_ws[256]; // Text table static const unsigned char lookup_text_pure_with_ws[256]; // Text table static const unsigned char lookup_attribute_name[256]; // Attribute name table static const unsigned char lookup_attribute_data_1[256]; // Attribute data table with single quote static const unsigned char lookup_attribute_data_1_pure[256]; // Attribute data table with single quote static const unsigned char lookup_attribute_data_2[256]; // Attribute data table with double quotes static const unsigned char lookup_attribute_data_2_pure[256]; // Attribute data table with double quotes static const unsigned char lookup_digits[256]; // Digits static const unsigned char lookup_upcase[256]; // To uppercase conversion table for ASCII characters }; // Find length of the string template inline std::size_t measure(const Ch *p) { const Ch *tmp = p; while (*tmp) ++tmp; return tmp - p; } // Compare strings for equality template inline bool compare(const Ch *p1, std::size_t size1, const Ch *p2, std::size_t size2, bool case_sensitive) { if (size1 != size2) return false; if (case_sensitive) { for (const Ch *end = p1 + size1; p1 < end; ++p1, ++p2) if (*p1 != *p2) return false; } else { for (const Ch *end = p1 + size1; p1 < end; ++p1, ++p2) if (lookup_tables<0>::lookup_upcase[static_cast(*p1)] != lookup_tables<0>::lookup_upcase[static_cast(*p2)]) return false; } return true; } template inline bool preserve_space(xml_node* node) { const Ch preserve_value[] = { Ch('p'), Ch('r'), Ch('e'), Ch('s'), Ch('e'), Ch('r'), Ch('v'), Ch('e') }; const xml_attribute* space = node->first_attribute("xml:space"); return space && internal::compare(space->value(), space->value_size(), preserve_value, sizeof(preserve_value) / sizeof(Ch), true); } } //! \endcond /////////////////////////////////////////////////////////////////////// // Memory pool //! This class is used by the parser to create new nodes and attributes, without overheads of dynamic memory allocation. //! In most cases, you will not need to use this class directly. //! However, if you need to create nodes manually or modify names/values of nodes, //! you are encouraged to use memory_pool of relevant xml_document to allocate the memory. //! Not only is this faster than allocating them by using new operator, //! but also their lifetime will be tied to the lifetime of document, //! possibly simplyfing memory management. //!

//! Call allocate_node() or allocate_attribute() functions to obtain new nodes or attributes from the pool. //! You can also call allocate_string() function to allocate strings. //! Such strings can then be used as names or values of nodes without worrying about their lifetime. //! Note that there is no free() function -- all allocations are freed at once when clear() function is called, //! or when the pool is destroyed. //!

//! It is also possible to create a standalone memory_pool, and use it //! to allocate nodes, whose lifetime will not be tied to any document. //!

//! Pool maintains CEREAL_RAPIDXML_STATIC_POOL_SIZE bytes of statically allocated memory. //! Until static memory is exhausted, no dynamic memory allocations are done. //! When static memory is exhausted, pool allocates additional blocks of memory of size CEREAL_RAPIDXML_DYNAMIC_POOL_SIZE each, //! by using global new[] and delete[] operators. //! This behaviour can be changed by setting custom allocation routines. //! Use set_allocator() function to set them. //!

//! Allocations for nodes, attributes and strings are aligned at CEREAL_RAPIDXML_ALIGNMENT bytes. //! This value defaults to the size of pointer on target architecture. //!

//! To obtain absolutely top performance from the parser, //! it is important that all nodes are allocated from a single, contiguous block of memory. //! Otherwise, cache misses when jumping between two (or more) disjoint blocks of memory can slow down parsing quite considerably. //! If required, you can tweak CEREAL_RAPIDXML_STATIC_POOL_SIZE, CEREAL_RAPIDXML_DYNAMIC_POOL_SIZE and CEREAL_RAPIDXML_ALIGNMENT //! to obtain best wasted memory to performance compromise. //! To do it, define their values before rapidxml.hpp file is included. //! \param Ch Character type of created nodes. template class memory_pool { public: //! \cond internal typedef void *(alloc_func)(std::size_t); // Type of user-defined function used to allocate memory typedef void (free_func)(void *); // Type of user-defined function used to free memory //! \endcond //! Constructs empty pool with default allocator functions. memory_pool() : m_alloc_func(0) , m_free_func(0) { init(); } //! Destroys pool and frees all the memory. //! This causes memory occupied by nodes allocated by the pool to be freed. //! Nodes allocated from the pool are no longer valid. ~memory_pool() { clear(); } //! Allocates a new node from the pool, and optionally assigns name and value to it. //! If the allocation request cannot be accomodated, this function will throw std::bad_alloc. //! If exceptions are disabled by defining CEREAL_RAPIDXML_NO_EXCEPTIONS, this function //! will call rapidxml::parse_error_handler() function. //! \param type Type of node to create. //! \param name Name to assign to the node, or 0 to assign no name. //! \param value Value to assign to the node, or 0 to assign no value. //! \param name_size Size of name to assign, or 0 to automatically calculate size from name string. //! \param value_size Size of value to assign, or 0 to automatically calculate size from value string. //! \return Pointer to allocated node. This pointer will never be NULL. xml_node *allocate_node(node_type type, const Ch *name = 0, const Ch *value = 0, std::size_t name_size = 0, std::size_t value_size = 0) { void *memory = allocate_aligned(sizeof(xml_node)); xml_node *node = new(memory) xml_node(type); if (name) { if (name_size > 0) node->name(name, name_size); else node->name(name); } if (value) { if (value_size > 0) node->value(value, value_size); else node->value(value); } return node; } //! Allocates a new attribute from the pool, and optionally assigns name and value to it. //! If the allocation request cannot be accomodated, this function will throw std::bad_alloc. //! If exceptions are disabled by defining CEREAL_RAPIDXML_NO_EXCEPTIONS, this function //! will call rapidxml::parse_error_handler() function. //! \param name Name to assign to the attribute, or 0 to assign no name. //! \param value Value to assign to the attribute, or 0 to assign no value. //! \param name_size Size of name to assign, or 0 to automatically calculate size from name string. //! \param value_size Size of value to assign, or 0 to automatically calculate size from value string. //! \return Pointer to allocated attribute. This pointer will never be NULL. xml_attribute *allocate_attribute(const Ch *name = 0, const Ch *value = 0, std::size_t name_size = 0, std::size_t value_size = 0) { void *memory = allocate_aligned(sizeof(xml_attribute)); xml_attribute *attribute = new(memory) xml_attribute; if (name) { if (name_size > 0) attribute->name(name, name_size); else attribute->name(name); } if (value) { if (value_size > 0) attribute->value(value, value_size); else attribute->value(value); } return attribute; } //! Allocates a char array of given size from the pool, and optionally copies a given string to it. //! If the allocation request cannot be accomodated, this function will throw std::bad_alloc. //! If exceptions are disabled by defining CEREAL_RAPIDXML_NO_EXCEPTIONS, this function //! will call rapidxml::parse_error_handler() function. //! \param source String to initialize the allocated memory with, or 0 to not initialize it. //! \param size Number of characters to allocate, or zero to calculate it automatically from source string length; if size is 0, source string must be specified and null terminated. //! \return Pointer to allocated char array. This pointer will never be NULL. Ch *allocate_string(const Ch *source = 0, std::size_t size = 0) { assert(source || size); // Either source or size (or both) must be specified if (size == 0) size = internal::measure(source) + 1; Ch *result = static_cast(allocate_aligned(size * sizeof(Ch))); if (source) for (std::size_t i = 0; i < size; ++i) result[i] = source[i]; return result; } //! Clones an xml_node and its hierarchy of child nodes and attributes. //! Nodes and attributes are allocated from this memory pool. //! Names and values are not cloned, they are shared between the clone and the source. //! Result node can be optionally specified as a second parameter, //! in which case its contents will be replaced with cloned source node. //! This is useful when you want to clone entire document. //! \param source Node to clone. //! \param result Node to put results in, or 0 to automatically allocate result node //! \return Pointer to cloned node. This pointer will never be NULL. xml_node *clone_node(const xml_node *source, xml_node *result = 0) { // Prepare result node if (result) { result->remove_all_attributes(); result->remove_all_nodes(); result->type(source->type()); } else result = allocate_node(source->type()); // Clone name and value result->name(source->name(), source->name_size()); result->value(source->value(), source->value_size()); // Clone child nodes and attributes for (xml_node *child = source->first_node(); child; child = child->next_sibling()) result->append_node(clone_node(child)); for (xml_attribute *attr = source->first_attribute(); attr; attr = attr->next_attribute()) result->append_attribute(allocate_attribute(attr->name(), attr->value(), attr->name_size(), attr->value_size())); return result; } //! Clears the pool. //! This causes memory occupied by nodes allocated by the pool to be freed. //! Any nodes or strings allocated from the pool will no longer be valid. void clear() { while (m_begin != m_static_memory) { char *previous_begin = reinterpret_cast
(align(m_begin))->previous_begin; if (m_free_func) m_free_func(m_begin); else delete[] m_begin; m_begin = previous_begin; } init(); } //! Sets or resets the user-defined memory allocation functions for the pool. //! This can only be called when no memory is allocated from the pool yet, otherwise results are undefined. //! Allocation function must not return invalid pointer on failure. It should either throw, //! stop the program, or use longjmp() function to pass control to other place of program. //! If it returns invalid pointer, results are undefined. //!

//! User defined allocation functions must have the following forms: //!
//!
void *allocate(std::size_t size); //!
void free(void *pointer); //!

//! \param af Allocation function, or 0 to restore default function //! \param ff Free function, or 0 to restore default function void set_allocator(alloc_func *af, free_func *ff) { assert(m_begin == m_static_memory && m_ptr == align(m_begin)); // Verify that no memory is allocated yet m_alloc_func = af; m_free_func = ff; } private: struct header { char *previous_begin; }; void init() { m_begin = m_static_memory; m_ptr = align(m_begin); m_end = m_static_memory + sizeof(m_static_memory); } char *align(char *ptr) { std::size_t alignment = ((CEREAL_RAPIDXML_ALIGNMENT - (std::size_t(ptr) & (CEREAL_RAPIDXML_ALIGNMENT - 1))) & (CEREAL_RAPIDXML_ALIGNMENT - 1)); return ptr + alignment; } char *allocate_raw(std::size_t size) { // Allocate void *memory; if (m_alloc_func) // Allocate memory using either user-specified allocation function or global operator new[] { memory = m_alloc_func(size); assert(memory); // Allocator is not allowed to return 0, on failure it must either throw, stop the program or use longjmp } else { memory = new char[size]; #ifdef CEREAL_RAPIDXML_NO_EXCEPTIONS if (!memory) // If exceptions are disabled, verify memory allocation, because new will not be able to throw bad_alloc CEREAL_RAPIDXML_PARSE_ERROR("out of memory", 0); #endif } return static_cast(memory); } void *allocate_aligned(std::size_t size) { // Calculate aligned pointer char *result = align(m_ptr); // If not enough memory left in current pool, allocate a new pool if (result + size > m_end) { // Calculate required pool size (may be bigger than CEREAL_RAPIDXML_DYNAMIC_POOL_SIZE) std::size_t pool_size = CEREAL_RAPIDXML_DYNAMIC_POOL_SIZE; if (pool_size < size) pool_size = size; // Allocate std::size_t alloc_size = sizeof(header) + (2 * CEREAL_RAPIDXML_ALIGNMENT - 2) + pool_size; // 2 alignments required in worst case: one for header, one for actual allocation char *raw_memory = allocate_raw(alloc_size); // Setup new pool in allocated memory char *pool = align(raw_memory); header *new_header = reinterpret_cast
(pool); new_header->previous_begin = m_begin; m_begin = raw_memory; m_ptr = pool + sizeof(header); m_end = raw_memory + alloc_size; // Calculate aligned pointer again using new pool result = align(m_ptr); } // Update pool and return aligned pointer m_ptr = result + size; return result; } char *m_begin; // Start of raw memory making up current pool char *m_ptr; // First free byte in current pool char *m_end; // One past last available byte in current pool char m_static_memory[CEREAL_RAPIDXML_STATIC_POOL_SIZE]; // Static raw memory alloc_func *m_alloc_func; // Allocator function, or 0 if default is to be used free_func *m_free_func; // Free function, or 0 if default is to be used }; /////////////////////////////////////////////////////////////////////////// // XML base //! Base class for xml_node and xml_attribute implementing common functions: //! name(), name_size(), value(), value_size() and parent(). //! \param Ch Character type to use template class xml_base { public: /////////////////////////////////////////////////////////////////////////// // Construction & destruction // Construct a base with empty name, value and parent xml_base() : m_name(0) , m_value(0) , m_parent(0) { } /////////////////////////////////////////////////////////////////////////// // Node data access //! Gets name of the node. //! Interpretation of name depends on type of node. //! Note that name will not be zero-terminated if rapidxml::parse_no_string_terminators option was selected during parse. //!

//! Use name_size() function to determine length of the name. //! \return Name of node, or empty string if node has no name. Ch *name() const { return m_name ? m_name : nullstr(); } //! Gets size of node name, not including terminator character. //! This function works correctly irrespective of whether name is or is not zero terminated. //! \return Size of node name, in characters. std::size_t name_size() const { return m_name ? m_name_size : 0; } //! Gets value of node. //! Interpretation of value depends on type of node. //! Note that value will not be zero-terminated if rapidxml::parse_no_string_terminators option was selected during parse. //!

//! Use value_size() function to determine length of the value. //! \return Value of node, or empty string if node has no value. Ch *value() const { return m_value ? m_value : nullstr(); } //! Gets size of node value, not including terminator character. //! This function works correctly irrespective of whether value is or is not zero terminated. //! \return Size of node value, in characters. std::size_t value_size() const { return m_value ? m_value_size : 0; } /////////////////////////////////////////////////////////////////////////// // Node modification //! Sets name of node to a non zero-terminated string. //! See \ref ownership_of_strings. //!

//! Note that node does not own its name or value, it only stores a pointer to it. //! It will not delete or otherwise free the pointer on destruction. //! It is reponsibility of the user to properly manage lifetime of the string. //! The easiest way to achieve it is to use memory_pool of the document to allocate the string - //! on destruction of the document the string will be automatically freed. //!

//! Size of name must be specified separately, because name does not have to be zero terminated. //! Use name(const Ch *) function to have the length automatically calculated (string must be zero terminated). //! \param name Name of node to set. Does not have to be zero terminated. //! \param size Size of name, in characters. This does not include zero terminator, if one is present. void name(const Ch *name_, std::size_t size) { m_name = const_cast(name_); m_name_size = size; } //! Sets name of node to a zero-terminated string. //! See also \ref ownership_of_strings and xml_node::name(const Ch *, std::size_t). //! \param name Name of node to set. Must be zero terminated. void name(const Ch *name_) { this->name(name_, internal::measure(name_)); } //! Sets value of node to a non zero-terminated string. //! See \ref ownership_of_strings. //!

//! Note that node does not own its name or value, it only stores a pointer to it. //! It will not delete or otherwise free the pointer on destruction. //! It is reponsibility of the user to properly manage lifetime of the string. //! The easiest way to achieve it is to use memory_pool of the document to allocate the string - //! on destruction of the document the string will be automatically freed. //!

//! Size of value must be specified separately, because it does not have to be zero terminated. //! Use value(const Ch *) function to have the length automatically calculated (string must be zero terminated). //!

//! If an element has a child node of type node_data, it will take precedence over element value when printing. //! If you want to manipulate data of elements using values, use parser flag rapidxml::parse_no_data_nodes to prevent creation of data nodes by the parser. //! \param value value of node to set. Does not have to be zero terminated. //! \param size Size of value, in characters. This does not include zero terminator, if one is present. void value(const Ch *value_, std::size_t size) { m_value = const_cast(value_); m_value_size = size; } //! Sets value of node to a zero-terminated string. //! See also \ref ownership_of_strings and xml_node::value(const Ch *, std::size_t). //! \param value Vame of node to set. Must be zero terminated. void value(const Ch *value_) { this->value(value_, internal::measure(value_)); } /////////////////////////////////////////////////////////////////////////// // Related nodes access //! Gets node parent. //! \return Pointer to parent node, or 0 if there is no parent. xml_node *parent() const { return m_parent; } protected: // Return empty string static Ch *nullstr() { static Ch zero = Ch('\0'); return &zero; } Ch *m_name; // Name of node, or 0 if no name Ch *m_value; // Value of node, or 0 if no value std::size_t m_name_size; // Length of node name, or undefined of no name std::size_t m_value_size; // Length of node value, or undefined if no value xml_node *m_parent; // Pointer to parent node, or 0 if none }; //! Class representing attribute node of XML document. //! Each attribute has name and value strings, which are available through name() and value() functions (inherited from xml_base). //! Note that after parse, both name and value of attribute will point to interior of source text used for parsing. //! Thus, this text must persist in memory for the lifetime of attribute. //! \param Ch Character type to use. template class xml_attribute: public xml_base { friend class xml_node; public: /////////////////////////////////////////////////////////////////////////// // Construction & destruction //! Constructs an empty attribute with the specified type. //! Consider using memory_pool of appropriate xml_document if allocating attributes manually. xml_attribute() { } /////////////////////////////////////////////////////////////////////////// // Related nodes access //! Gets document of which attribute is a child. //! \return Pointer to document that contains this attribute, or 0 if there is no parent document. xml_document *document() const { if (xml_node *node = this->parent()) { while (node->parent()) node = node->parent(); return node->type() == node_document ? static_cast *>(node) : 0; } else return 0; } //! Gets previous attribute, optionally matching attribute name. //! \param name Name of attribute to find, or 0 to return previous attribute regardless of its name; this string doesn't have to be zero-terminated if name_size is non-zero //! \param name_size Size of name, in characters, or 0 to have size calculated automatically from string //! \param case_sensitive Should name comparison be case-sensitive; non case-sensitive comparison works properly only for ASCII characters //! \return Pointer to found attribute, or 0 if not found. xml_attribute *previous_attribute(const Ch *name = 0, std::size_t name_size = 0, bool case_sensitive = true) const { if (name) { if (name_size == 0) name_size = internal::measure(name); for (xml_attribute *attribute = m_prev_attribute; attribute; attribute = attribute->m_prev_attribute) if (internal::compare(attribute->name(), attribute->name_size(), name, name_size, case_sensitive)) return attribute; return 0; } else return this->m_parent ? m_prev_attribute : 0; } //! Gets next attribute, optionally matching attribute name. //! \param name Name of attribute to find, or 0 to return next attribute regardless of its name; this string doesn't have to be zero-terminated if name_size is non-zero //! \param name_size Size of name, in characters, or 0 to have size calculated automatically from string //! \param case_sensitive Should name comparison be case-sensitive; non case-sensitive comparison works properly only for ASCII characters //! \return Pointer to found attribute, or 0 if not found. xml_attribute *next_attribute(const Ch *name_ = 0, std::size_t name_size_ = 0, bool case_sensitive = true) const { if (name_) { if (name_size_ == 0) name_size_ = internal::measure(name_); for (xml_attribute *attribute = m_next_attribute; attribute; attribute = attribute->m_next_attribute) if (internal::compare(attribute->name(), attribute->name_size(), name_, name_size_, case_sensitive)) return attribute; return 0; } else return this->m_parent ? m_next_attribute : 0; } private: xml_attribute *m_prev_attribute; // Pointer to previous sibling of attribute, or 0 if none; only valid if parent is non-zero xml_attribute *m_next_attribute; // Pointer to next sibling of attribute, or 0 if none; only valid if parent is non-zero }; /////////////////////////////////////////////////////////////////////////// // XML node //! Class representing a node of XML document. //! Each node may have associated name and value strings, which are available through name() and value() functions. //! Interpretation of name and value depends on type of the node. //! Type of node can be determined by using type() function. //!

//! Note that after parse, both name and value of node, if any, will point interior of source text used for parsing. //! Thus, this text must persist in the memory for the lifetime of node. //! \param Ch Character type to use. template class xml_node: public xml_base { public: /////////////////////////////////////////////////////////////////////////// // Construction & destruction //! Constructs an empty node with the specified type. //! Consider using memory_pool of appropriate document to allocate nodes manually. //! \param type Type of node to construct. xml_node(node_type type_) : m_type(type_) , m_first_node(0) , m_first_attribute(0) { } /////////////////////////////////////////////////////////////////////////// // Node data access //! Gets type of node. //! \return Type of node. node_type type() const { return m_type; } /////////////////////////////////////////////////////////////////////////// // Related nodes access //! Gets document of which node is a child. //! \return Pointer to document that contains this node, or 0 if there is no parent document. xml_document *document() const { xml_node *node = const_cast *>(this); while (node->parent()) node = node->parent(); return node->type() == node_document ? static_cast *>(node) : 0; } //! Gets first child node, optionally matching node name. //! \param name Name of child to find, or 0 to return first child regardless of its name; this string doesn't have to be zero-terminated if name_size is non-zero //! \param name_size Size of name, in characters, or 0 to have size calculated automatically from string //! \param case_sensitive Should name comparison be case-sensitive; non case-sensitive comparison works properly only for ASCII characters //! \return Pointer to found child, or 0 if not found. xml_node *first_node(const Ch *name_ = 0, std::size_t name_size_ = 0, bool case_sensitive = true) const { if (name_) { if (name_size_ == 0) name_size_ = internal::measure(name_); for (xml_node *child = m_first_node; child; child = child->next_sibling()) if (internal::compare(child->name(), child->name_size(), name_, name_size_, case_sensitive)) return child; return 0; } else return m_first_node; } //! Gets last child node, optionally matching node name. //! Behaviour is undefined if node has no children. //! Use first_node() to test if node has children. //! \param name Name of child to find, or 0 to return last child regardless of its name; this string doesn't have to be zero-terminated if name_size is non-zero //! \param name_size Size of name, in characters, or 0 to have size calculated automatically from string //! \param case_sensitive Should name comparison be case-sensitive; non case-sensitive comparison works properly only for ASCII characters //! \return Pointer to found child, or 0 if not found. xml_node *last_node(const Ch *name = 0, std::size_t name_size = 0, bool case_sensitive = true) const { assert(m_first_node); // Cannot query for last child if node has no children if (name) { if (name_size == 0) name_size = internal::measure(name); for (xml_node *child = m_last_node; child; child = child->previous_sibling()) if (internal::compare(child->name(), child->name_size(), name, name_size, case_sensitive)) return child; return 0; } else return m_last_node; } //! Gets previous sibling node, optionally matching node name. //! Behaviour is undefined if node has no parent. //! Use parent() to test if node has a parent. //! \param name Name of sibling to find, or 0 to return previous sibling regardless of its name; this string doesn't have to be zero-terminated if name_size is non-zero //! \param name_size Size of name, in characters, or 0 to have size calculated automatically from string //! \param case_sensitive Should name comparison be case-sensitive; non case-sensitive comparison works properly only for ASCII characters //! \return Pointer to found sibling, or 0 if not found. xml_node *previous_sibling(const Ch *name = 0, std::size_t name_size = 0, bool case_sensitive = true) const { assert(this->m_parent); // Cannot query for siblings if node has no parent if (name) { if (name_size == 0) name_size = internal::measure(name); for (xml_node *sibling = m_prev_sibling; sibling; sibling = sibling->m_prev_sibling) if (internal::compare(sibling->name(), sibling->name_size(), name, name_size, case_sensitive)) return sibling; return 0; } else return m_prev_sibling; } //! Gets next sibling node, optionally matching node name. //! Behaviour is undefined if node has no parent. //! Use parent() to test if node has a parent. //! \param name Name of sibling to find, or 0 to return next sibling regardless of its name; this string doesn't have to be zero-terminated if name_size is non-zero //! \param name_size Size of name, in characters, or 0 to have size calculated automatically from string //! \param case_sensitive Should name comparison be case-sensitive; non case-sensitive comparison works properly only for ASCII characters //! \return Pointer to found sibling, or 0 if not found. xml_node *next_sibling(const Ch *name_ = 0, std::size_t name_size_ = 0, bool case_sensitive = true) const { assert(this->m_parent); // Cannot query for siblings if node has no parent if (name_) { if (name_size_ == 0) name_size_ = internal::measure(name_); for (xml_node *sibling = m_next_sibling; sibling; sibling = sibling->m_next_sibling) if (internal::compare(sibling->name(), sibling->name_size(), name_, name_size_, case_sensitive)) return sibling; return 0; } else return m_next_sibling; } //! Gets first attribute of node, optionally matching attribute name. //! \param name Name of attribute to find, or 0 to return first attribute regardless of its name; this string doesn't have to be zero-terminated if name_size is non-zero //! \param name_size Size of name, in characters, or 0 to have size calculated automatically from string //! \param case_sensitive Should name comparison be case-sensitive; non case-sensitive comparison works properly only for ASCII characters //! \return Pointer to found attribute, or 0 if not found. xml_attribute *first_attribute(const Ch *name_ = 0, std::size_t name_size_ = 0, bool case_sensitive = true) const { if (name_) { if (name_size_ == 0) name_size_ = internal::measure(name_); for (xml_attribute *attribute = m_first_attribute; attribute; attribute = attribute->m_next_attribute) if (internal::compare(attribute->name(), attribute->name_size(), name_, name_size_, case_sensitive)) return attribute; return 0; } else return m_first_attribute; } //! Gets last attribute of node, optionally matching attribute name. //! \param name Name of attribute to find, or 0 to return last attribute regardless of its name; this string doesn't have to be zero-terminated if name_size is non-zero //! \param name_size Size of name, in characters, or 0 to have size calculated automatically from string //! \param case_sensitive Should name comparison be case-sensitive; non case-sensitive comparison works properly only for ASCII characters //! \return Pointer to found attribute, or 0 if not found. xml_attribute *last_attribute(const Ch *name = 0, std::size_t name_size = 0, bool case_sensitive = true) const { if (name) { if (name_size == 0) name_size = internal::measure(name); for (xml_attribute *attribute = m_last_attribute; attribute; attribute = attribute->m_prev_attribute) if (internal::compare(attribute->name(), attribute->name_size(), name, name_size, case_sensitive)) return attribute; return 0; } else return m_first_attribute ? m_last_attribute : 0; } /////////////////////////////////////////////////////////////////////////// // Node modification //! Sets type of node. //! \param type Type of node to set. void type(node_type type_) { m_type = type_; } /////////////////////////////////////////////////////////////////////////// // Node manipulation //! Prepends a new child node. //! The prepended child becomes the first child, and all existing children are moved one position back. //! \param child Node to prepend. void prepend_node(xml_node *child) { assert(child && !child->parent() && child->type() != node_document); if (first_node()) { child->m_next_sibling = m_first_node; m_first_node->m_prev_sibling = child; } else { child->m_next_sibling = 0; m_last_node = child; } m_first_node = child; child->m_parent = this; child->m_prev_sibling = 0; } //! Appends a new child node. //! The appended child becomes the last child. //! \param child Node to append. void append_node(xml_node *child) { assert(child && !child->parent() && child->type() != node_document); if (first_node()) { child->m_prev_sibling = m_last_node; m_last_node->m_next_sibling = child; } else { child->m_prev_sibling = 0; m_first_node = child; } m_last_node = child; child->m_parent = this; child->m_next_sibling = 0; } //! Inserts a new child node at specified place inside the node. //! All children after and including the specified node are moved one position back. //! \param where Place where to insert the child, or 0 to insert at the back. //! \param child Node to insert. void insert_node(xml_node *where, xml_node *child) { assert(!where || where->parent() == this); assert(child && !child->parent() && child->type() != node_document); if (where == m_first_node) prepend_node(child); else if (where == 0) append_node(child); else { child->m_prev_sibling = where->m_prev_sibling; child->m_next_sibling = where; where->m_prev_sibling->m_next_sibling = child; where->m_prev_sibling = child; child->m_parent = this; } } //! Removes first child node. //! If node has no children, behaviour is undefined. //! Use first_node() to test if node has children. void remove_first_node() { assert(first_node()); xml_node *child = m_first_node; m_first_node = child->m_next_sibling; if (child->m_next_sibling) child->m_next_sibling->m_prev_sibling = 0; else m_last_node = 0; child->m_parent = 0; } //! Removes last child of the node. //! If node has no children, behaviour is undefined. //! Use first_node() to test if node has children. void remove_last_node() { assert(first_node()); xml_node *child = m_last_node; if (child->m_prev_sibling) { m_last_node = child->m_prev_sibling; child->m_prev_sibling->m_next_sibling = 0; } else m_first_node = 0; child->m_parent = 0; } //! Removes specified child from the node // \param where Pointer to child to be removed. void remove_node(xml_node *where) { assert(where && where->parent() == this); assert(first_node()); if (where == m_first_node) remove_first_node(); else if (where == m_last_node) remove_last_node(); else { where->m_prev_sibling->m_next_sibling = where->m_next_sibling; where->m_next_sibling->m_prev_sibling = where->m_prev_sibling; where->m_parent = 0; } } //! Removes all child nodes (but not attributes). void remove_all_nodes() { for (xml_node *node = first_node(); node; node = node->m_next_sibling) node->m_parent = 0; m_first_node = 0; } //! Prepends a new attribute to the node. //! \param attribute Attribute to prepend. void prepend_attribute(xml_attribute *attribute) { assert(attribute && !attribute->parent()); if (first_attribute()) { attribute->m_next_attribute = m_first_attribute; m_first_attribute->m_prev_attribute = attribute; } else { attribute->m_next_attribute = 0; m_last_attribute = attribute; } m_first_attribute = attribute; attribute->m_parent = this; attribute->m_prev_attribute = 0; } //! Appends a new attribute to the node. //! \param attribute Attribute to append. void append_attribute(xml_attribute *attribute) { assert(attribute && !attribute->parent()); if (first_attribute()) { attribute->m_prev_attribute = m_last_attribute; m_last_attribute->m_next_attribute = attribute; } else { attribute->m_prev_attribute = 0; m_first_attribute = attribute; } m_last_attribute = attribute; attribute->m_parent = this; attribute->m_next_attribute = 0; } //! Inserts a new attribute at specified place inside the node. //! All attributes after and including the specified attribute are moved one position back. //! \param where Place where to insert the attribute, or 0 to insert at the back. //! \param attribute Attribute to insert. void insert_attribute(xml_attribute *where, xml_attribute *attribute) { assert(!where || where->parent() == this); assert(attribute && !attribute->parent()); if (where == m_first_attribute) prepend_attribute(attribute); else if (where == 0) append_attribute(attribute); else { attribute->m_prev_attribute = where->m_prev_attribute; attribute->m_next_attribute = where; where->m_prev_attribute->m_next_attribute = attribute; where->m_prev_attribute = attribute; attribute->m_parent = this; } } //! Removes first attribute of the node. //! If node has no attributes, behaviour is undefined. //! Use first_attribute() to test if node has attributes. void remove_first_attribute() { assert(first_attribute()); xml_attribute *attribute = m_first_attribute; if (attribute->m_next_attribute) { attribute->m_next_attribute->m_prev_attribute = 0; } else m_last_attribute = 0; attribute->m_parent = 0; m_first_attribute = attribute->m_next_attribute; } //! Removes last attribute of the node. //! If node has no attributes, behaviour is undefined. //! Use first_attribute() to test if node has attributes. void remove_last_attribute() { assert(first_attribute()); xml_attribute *attribute = m_last_attribute; if (attribute->m_prev_attribute) { attribute->m_prev_attribute->m_next_attribute = 0; m_last_attribute = attribute->m_prev_attribute; } else m_first_attribute = 0; attribute->m_parent = 0; } //! Removes specified attribute from node. //! \param where Pointer to attribute to be removed. void remove_attribute(xml_attribute *where) { assert(first_attribute() && where->parent() == this); if (where == m_first_attribute) remove_first_attribute(); else if (where == m_last_attribute) remove_last_attribute(); else { where->m_prev_attribute->m_next_attribute = where->m_next_attribute; where->m_next_attribute->m_prev_attribute = where->m_prev_attribute; where->m_parent = 0; } } //! Removes all attributes of node. void remove_all_attributes() { for (xml_attribute *attribute = first_attribute(); attribute; attribute = attribute->m_next_attribute) attribute->m_parent = 0; m_first_attribute = 0; } private: /////////////////////////////////////////////////////////////////////////// // Restrictions // No copying xml_node(const xml_node &); void operator =(const xml_node &); /////////////////////////////////////////////////////////////////////////// // Data members // Note that some of the pointers below have UNDEFINED values if certain other pointers are 0. // This is required for maximum performance, as it allows the parser to omit initialization of // unneded/redundant values. // // The rules are as follows: // 1. first_node and first_attribute contain valid pointers, or 0 if node has no children/attributes respectively // 2. last_node and last_attribute are valid only if node has at least one child/attribute respectively, otherwise they contain garbage // 3. prev_sibling and next_sibling are valid only if node has a parent, otherwise they contain garbage node_type m_type; // Type of node; always valid xml_node *m_first_node; // Pointer to first child node, or 0 if none; always valid xml_node *m_last_node; // Pointer to last child node, or 0 if none; this value is only valid if m_first_node is non-zero xml_attribute *m_first_attribute; // Pointer to first attribute of node, or 0 if none; always valid xml_attribute *m_last_attribute; // Pointer to last attribute of node, or 0 if none; this value is only valid if m_first_attribute is non-zero xml_node *m_prev_sibling; // Pointer to previous sibling of node, or 0 if none; this value is only valid if m_parent is non-zero xml_node *m_next_sibling; // Pointer to next sibling of node, or 0 if none; this value is only valid if m_parent is non-zero }; /////////////////////////////////////////////////////////////////////////// // XML document //! This class represents root of the DOM hierarchy. //! It is also an xml_node and a memory_pool through public inheritance. //! Use parse() function to build a DOM tree from a zero-terminated XML text string. //! parse() function allocates memory for nodes and attributes by using functions of xml_document, //! which are inherited from memory_pool. //! To access root node of the document, use the document itself, as if it was an xml_node. //! \param Ch Character type to use. template class xml_document: public xml_node, public memory_pool { public: //! Constructs empty XML document xml_document() : xml_node(node_document) { } //! Parses zero-terminated XML string according to given flags. //! Passed string will be modified by the parser, unless rapidxml::parse_non_destructive flag is used. //! The string must persist for the lifetime of the document. //! In case of error, rapidxml::parse_error exception will be thrown. //!

//! If you want to parse contents of a file, you must first load the file into the memory, and pass pointer to its beginning. //! Make sure that data is zero-terminated. //!

//! Document can be parsed into multiple times. //! Each new call to parse removes previous nodes and attributes (if any), but does not clear memory pool. //! \param text XML data to parse; pointer is non-const to denote fact that this data may be modified by the parser. template void parse(Ch *text) { assert(text); // Remove current contents this->remove_all_nodes(); this->remove_all_attributes(); // Parse BOM, if any parse_bom(text); // Parse children while (1) { // Skip whitespace before node skip(text); if (*text == 0) break; // Parse and append new child if (*text == Ch('<')) { ++text; // Skip '<' if (xml_node *node = parse_node(text)) this->append_node(node); } else CEREAL_RAPIDXML_PARSE_ERROR("expected <", text); } } //! Clears the document by deleting all nodes and clearing the memory pool. //! All nodes owned by document pool are destroyed. void clear() { this->remove_all_nodes(); this->remove_all_attributes(); memory_pool::clear(); } private: /////////////////////////////////////////////////////////////////////// // Internal character utility functions // Detect whitespace character struct whitespace_pred { static unsigned char test(Ch ch) { return internal::lookup_tables<0>::lookup_whitespace[static_cast(ch)]; } }; // Detect node name character struct node_name_pred { static unsigned char test(Ch ch) { return internal::lookup_tables<0>::lookup_node_name[static_cast(ch)]; } }; // Detect attribute name character struct attribute_name_pred { static unsigned char test(Ch ch) { return internal::lookup_tables<0>::lookup_attribute_name[static_cast(ch)]; } }; // Detect text character (PCDATA) struct text_pred { static unsigned char test(Ch ch) { return internal::lookup_tables<0>::lookup_text[static_cast(ch)]; } }; // Detect text character (PCDATA) that does not require processing struct text_pure_no_ws_pred { static unsigned char test(Ch ch) { return internal::lookup_tables<0>::lookup_text_pure_no_ws[static_cast(ch)]; } }; // Detect text character (PCDATA) that does not require processing struct text_pure_with_ws_pred { static unsigned char test(Ch ch) { return internal::lookup_tables<0>::lookup_text_pure_with_ws[static_cast(ch)]; } }; // Detect attribute value character template struct attribute_value_pred { static unsigned char test(Ch ch) { if (Quote == Ch('\'')) return internal::lookup_tables<0>::lookup_attribute_data_1[static_cast(ch)]; if (Quote == Ch('\"')) return internal::lookup_tables<0>::lookup_attribute_data_2[static_cast(ch)]; return 0; // Should never be executed, to avoid warnings on Comeau } }; // Detect attribute value character template struct attribute_value_pure_pred { static unsigned char test(Ch ch) { if (Quote == Ch('\'')) return internal::lookup_tables<0>::lookup_attribute_data_1_pure[static_cast(ch)]; if (Quote == Ch('\"')) return internal::lookup_tables<0>::lookup_attribute_data_2_pure[static_cast(ch)]; return 0; // Should never be executed, to avoid warnings on Comeau } }; // Insert coded character, using UTF8 or 8-bit ASCII template static void insert_coded_character(Ch *&text, unsigned long code) { if (Flags & parse_no_utf8) { // Insert 8-bit ASCII character // Todo: possibly verify that code is less than 256 and use replacement char otherwise? text[0] = static_cast(code); text += 1; } else { // Insert UTF8 sequence if (code < 0x80) // 1 byte sequence { text[0] = static_cast(code); text += 1; } else if (code < 0x800) // 2 byte sequence { text[1] = static_cast((code | 0x80) & 0xBF); code >>= 6; text[0] = static_cast(code | 0xC0); text += 2; } else if (code < 0x10000) // 3 byte sequence { text[2] = static_cast((code | 0x80) & 0xBF); code >>= 6; text[1] = static_cast((code | 0x80) & 0xBF); code >>= 6; text[0] = static_cast(code | 0xE0); text += 3; } else if (code < 0x110000) // 4 byte sequence { text[3] = static_cast((code | 0x80) & 0xBF); code >>= 6; text[2] = static_cast((code | 0x80) & 0xBF); code >>= 6; text[1] = static_cast((code | 0x80) & 0xBF); code >>= 6; text[0] = static_cast(code | 0xF0); text += 4; } else // Invalid, only codes up to 0x10FFFF are allowed in Unicode { CEREAL_RAPIDXML_PARSE_ERROR("invalid numeric character entity", text); } } } // Skip characters until predicate evaluates to true template static void skip(Ch *&text) { Ch *tmp = text; while (StopPred::test(*tmp)) ++tmp; text = tmp; } // Skip characters until predicate evaluates to true while doing the following: // - replacing XML character entity references with proper characters (' & " < > &#...;) // - condensing whitespace sequences to single space character template static Ch *skip_and_expand_character_refs(Ch *&text, bool preserve_space) { // If entity translation, whitespace condense and whitespace trimming is disabled, use plain skip if (Flags & parse_no_entity_translation && !(Flags & parse_normalize_whitespace) && !(Flags & parse_trim_whitespace)) { skip(text); return text; } // Use simple skip until first modification is detected skip(text); // Use translation skip Ch *src = text; Ch *dest = src; while (StopPred::test(*src)) { // If entity translation is enabled if (!(Flags & parse_no_entity_translation)) { // Test if replacement is needed if (src[0] == Ch('&')) { switch (src[1]) { // & ' case Ch('a'): if (src[2] == Ch('m') && src[3] == Ch('p') && src[4] == Ch(';')) { *dest = Ch('&'); ++dest; src += 5; continue; } if (src[2] == Ch('p') && src[3] == Ch('o') && src[4] == Ch('s') && src[5] == Ch(';')) { *dest = Ch('\''); ++dest; src += 6; continue; } break; // " case Ch('q'): if (src[2] == Ch('u') && src[3] == Ch('o') && src[4] == Ch('t') && src[5] == Ch(';')) { *dest = Ch('"'); ++dest; src += 6; continue; } break; // > case Ch('g'): if (src[2] == Ch('t') && src[3] == Ch(';')) { *dest = Ch('>'); ++dest; src += 4; continue; } break; // < case Ch('l'): if (src[2] == Ch('t') && src[3] == Ch(';')) { *dest = Ch('<'); ++dest; src += 4; continue; } break; // &#...; - assumes ASCII case Ch('#'): if (src[2] == Ch('x')) { unsigned long code = 0; src += 3; // Skip &#x while (1) { unsigned char digit = internal::lookup_tables<0>::lookup_digits[static_cast(*src)]; if (digit == 0xFF) break; code = code * 16 + digit; ++src; } insert_coded_character(dest, code); // Put character in output } else { unsigned long code = 0; src += 2; // Skip &# while (1) { unsigned char digit = internal::lookup_tables<0>::lookup_digits[static_cast(*src)]; if (digit == 0xFF) break; code = code * 10 + digit; ++src; } insert_coded_character(dest, code); // Put character in output } if (*src == Ch(';')) ++src; else CEREAL_RAPIDXML_PARSE_ERROR("expected ;", src); continue; // Something else default: // Ignore, just copy '&' verbatim break; } } } // If whitespace condensing is enabled if ((Flags & parse_normalize_whitespace) && !preserve_space) { // Test if condensing is needed if (whitespace_pred::test(*src)) { *dest = Ch(' '); ++dest; // Put single space in dest ++src; // Skip first whitespace char // Skip remaining whitespace chars while (whitespace_pred::test(*src)) ++src; continue; } } // No replacement, only copy character *dest++ = *src++; } // Return new end text = src; return dest; } /////////////////////////////////////////////////////////////////////// // Internal parsing functions // Parse BOM, if any template void parse_bom(Ch *&text) { // UTF-8? if (static_cast(text[0]) == 0xEF && static_cast(text[1]) == 0xBB && static_cast(text[2]) == 0xBF) { text += 3; // Skup utf-8 bom } } // Parse XML declaration ( xml_node *parse_xml_declaration(Ch *&text) { // If parsing of declaration is disabled if (!(Flags & parse_declaration_node)) { // Skip until end of declaration while (text[0] != Ch('?') || text[1] != Ch('>')) { if (!text[0]) CEREAL_RAPIDXML_PARSE_ERROR("unexpected end of data", text); ++text; } text += 2; // Skip '?>' return 0; } // Create declaration xml_node *declaration = this->allocate_node(node_declaration); // Skip whitespace before attributes or ?> skip(text); // Parse declaration attributes parse_node_attributes(text, declaration); // Skip ?> if (text[0] != Ch('?') || text[1] != Ch('>')) CEREAL_RAPIDXML_PARSE_ERROR("expected ?>", text); text += 2; return declaration; } // Parse XML comment (' return 0; // Do not produce comment node } // Remember value start Ch *value_ = text; // Skip until end of comment while (text[0] != Ch('-') || text[1] != Ch('-') || text[2] != Ch('>')) { if (!text[0]) CEREAL_RAPIDXML_PARSE_ERROR("unexpected end of data", text); ++text; } // Create comment node xml_node *comment = this->allocate_node(node_comment); comment->value(value_, text - value_); // Place zero terminator after comment value if (!(Flags & parse_no_string_terminators)) *text = Ch('\0'); text += 3; // Skip '-->' return comment; } // Parse DOCTYPE template xml_node *parse_doctype(Ch *&text) { // Remember value start Ch *value_ = text; // Skip to > while (*text != Ch('>')) { // Determine character type switch (*text) { // If '[' encountered, scan for matching ending ']' using naive algorithm with depth // This works for all W3C test files except for 2 most wicked case Ch('['): { ++text; // Skip '[' int depth = 1; while (depth > 0) { switch (*text) { case Ch('['): ++depth; break; case Ch(']'): --depth; break; case 0: CEREAL_RAPIDXML_PARSE_ERROR("unexpected end of data", text); } ++text; } break; } // Error on end of text case Ch('\0'): CEREAL_RAPIDXML_PARSE_ERROR("unexpected end of data", text); // Other character, skip it default: ++text; } } // If DOCTYPE nodes enabled if (Flags & parse_doctype_node) { // Create a new doctype node xml_node *doctype = this->allocate_node(node_doctype); doctype->value(value_, text - value_); // Place zero terminator after value if (!(Flags & parse_no_string_terminators)) *text = Ch('\0'); text += 1; // skip '>' return doctype; } else { text += 1; // skip '>' return 0; } } // Parse PI template xml_node *parse_pi(Ch *&text) { // If creation of PI nodes is enabled if (Flags & parse_pi_nodes) { // Create pi node xml_node *pi = this->allocate_node(node_pi); // Extract PI target name Ch *name_ = text; skip(text); if (text == name_) CEREAL_RAPIDXML_PARSE_ERROR("expected PI target", text); pi->name(name_, text - name_); // Skip whitespace between pi target and pi skip(text); // Remember start of pi Ch *value_ = text; // Skip to '?>' while (text[0] != Ch('?') || text[1] != Ch('>')) { if (*text == Ch('\0')) CEREAL_RAPIDXML_PARSE_ERROR("unexpected end of data", text); ++text; } // Set pi value (verbatim, no entity expansion or whitespace normalization) pi->value(value_, text - value_); // Place zero terminator after name and value if (!(Flags & parse_no_string_terminators)) { pi->name()[pi->name_size()] = Ch('\0'); pi->value()[pi->value_size()] = Ch('\0'); } text += 2; // Skip '?>' return pi; } else { // Skip to '?>' while (text[0] != Ch('?') || text[1] != Ch('>')) { if (*text == Ch('\0')) CEREAL_RAPIDXML_PARSE_ERROR("unexpected end of data", text); ++text; } text += 2; // Skip '?>' return 0; } } // Parse and append data // Return character that ends data. // This is necessary because this character might have been overwritten by a terminating 0 template Ch parse_and_append_data(xml_node *node, Ch *&text, Ch *contents_start) { // Backup to contents start if whitespace trimming is disabled if (!(Flags & parse_trim_whitespace)) text = contents_start; const bool preserve_space = internal::preserve_space(node); // Skip until end of data Ch *value_ = text, *end; if ((Flags & parse_normalize_whitespace) && !preserve_space) end = skip_and_expand_character_refs(text, false); else end = skip_and_expand_character_refs(text, preserve_space); // Trim trailing whitespace if flag is set; leading was already trimmed by whitespace skip after > if ((Flags & parse_trim_whitespace) && !preserve_space) { if (Flags & parse_normalize_whitespace) { // Whitespace is already condensed to single space characters by skipping function, so just trim 1 char off the end if (*(end - 1) == Ch(' ')) --end; } else { // Backup until non-whitespace character is found while (whitespace_pred::test(*(end - 1))) --end; } } // If characters are still left between end and value (this test is only necessary if normalization is enabled) // Create new data node if (!(Flags & parse_no_data_nodes)) { xml_node *data = this->allocate_node(node_data); data->value(value_, end - value_); node->append_node(data); } // Add data to parent node if no data exists yet if (!(Flags & parse_no_element_values)) if (*node->value() == Ch('\0')) node->value(value_, end - value_); // Place zero terminator after value if (!(Flags & parse_no_string_terminators)) { Ch ch = *text; *end = Ch('\0'); return ch; // Return character that ends data; this is required because zero terminator overwritten it } // Return character that ends data return *text; } // Parse CDATA template xml_node *parse_cdata(Ch *&text) { // If CDATA is disabled if (Flags & parse_no_data_nodes) { // Skip until end of cdata while (text[0] != Ch(']') || text[1] != Ch(']') || text[2] != Ch('>')) { if (!text[0]) CEREAL_RAPIDXML_PARSE_ERROR("unexpected end of data", text); ++text; } text += 3; // Skip ]]> return 0; // Do not produce CDATA node } // Skip until end of cdata Ch *value_ = text; while (text[0] != Ch(']') || text[1] != Ch(']') || text[2] != Ch('>')) { if (!text[0]) CEREAL_RAPIDXML_PARSE_ERROR("unexpected end of data", text); ++text; } // Create new cdata node xml_node *cdata = this->allocate_node(node_cdata); cdata->value(value_, text - value_); // Place zero terminator after value if (!(Flags & parse_no_string_terminators)) *text = Ch('\0'); text += 3; // Skip ]]> return cdata; } // Parse element node template xml_node *parse_element(Ch *&text) { // Create element node xml_node *element = this->allocate_node(node_element); // Extract element name Ch *name_ = text; skip(text); if (text == name_) CEREAL_RAPIDXML_PARSE_ERROR("expected element name", text); element->name(name_, text - name_); // Skip whitespace between element name and attributes or > skip(text); // Parse attributes, if any parse_node_attributes(text, element); // Determine ending type if (*text == Ch('>')) { ++text; parse_node_contents(text, element); } else if (*text == Ch('/')) { ++text; if (*text != Ch('>')) CEREAL_RAPIDXML_PARSE_ERROR("expected >", text); ++text; } else CEREAL_RAPIDXML_PARSE_ERROR("expected >", text); // Place zero terminator after name if (!(Flags & parse_no_string_terminators)) element->name()[element->name_size()] = Ch('\0'); // Return parsed element return element; } // Determine node type, and parse it template xml_node *parse_node(Ch *&text) { // Parse proper node type switch (text[0]) { // <... default: // Parse and append element node return parse_element(text); // (text); } else { // Parse PI return parse_pi(text); } // (text); } break; // (text); } break; // (text); } } // switch // Attempt to skip other, unrecognized node types starting with ')) { if (*text == 0) CEREAL_RAPIDXML_PARSE_ERROR("unexpected end of data", text); ++text; } ++text; // Skip '>' return 0; // No node recognized } } // Parse contents of the node - children, data etc. template void parse_node_contents(Ch *&text, xml_node *node) { // For all children and text while (1) { // Skip whitespace between > and node contents Ch *contents_start = text; // Store start of node contents before whitespace is skipped skip(text); Ch next_char = *text; // After data nodes, instead of continuing the loop, control jumps here. // This is because zero termination inside parse_and_append_data() function // would wreak havoc with the above code. // Also, skipping whitespace after data nodes is unnecessary. after_data_node: // Determine what comes next: node closing, child node, data node, or 0? switch (next_char) { // Node closing or child node case Ch('<'): if (text[1] == Ch('/')) { Ch *contents_end = 0; if (internal::preserve_space(node)) { contents_end = text; } // Node closing text += 2; // Skip '(text); if (!internal::compare(node->name(), node->name_size(), closing_name, text - closing_name, true)) CEREAL_RAPIDXML_PARSE_ERROR("invalid closing tag name", text); } else { // No validation, just skip name skip(text); } // Skip remaining whitespace after node name skip(text); if (*text != Ch('>')) CEREAL_RAPIDXML_PARSE_ERROR("expected >", text); ++text; // Skip '>' if (contents_end && contents_end != contents_start) { node->value(contents_start, contents_end - contents_start); node->value()[node->value_size()] = Ch('\0'); } return; // Node closed, finished parsing contents } else { // Child node ++text; // Skip '<' if (xml_node *child = parse_node(text)) node->append_node(child); } break; // End of data - error case Ch('\0'): CEREAL_RAPIDXML_PARSE_ERROR("unexpected end of data", text); // Data node default: next_char = parse_and_append_data(node, text, contents_start); goto after_data_node; // Bypass regular processing after data nodes } } } // Parse XML attributes of the node template void parse_node_attributes(Ch *&text, xml_node *node) { // For all attributes while (attribute_name_pred::test(*text)) { // Extract attribute name Ch *name_ = text; ++text; // Skip first character of attribute name skip(text); if (text == name_) CEREAL_RAPIDXML_PARSE_ERROR("expected attribute name", name_); // Create new attribute xml_attribute *attribute = this->allocate_attribute(); attribute->name(name_, text - name_); node->append_attribute(attribute); // Skip whitespace after attribute name skip(text); // Skip = if (*text != Ch('=')) CEREAL_RAPIDXML_PARSE_ERROR("expected =", text); ++text; // Add terminating zero after name if (!(Flags & parse_no_string_terminators)) attribute->name()[attribute->name_size()] = 0; // Skip whitespace after = skip(text); // Skip quote and remember if it was ' or " Ch quote = *text; if (quote != Ch('\'') && quote != Ch('"')) CEREAL_RAPIDXML_PARSE_ERROR("expected ' or \"", text); ++text; // Extract attribute value and expand char refs in it Ch *value_ = text, *end; const int AttFlags = Flags & ~parse_normalize_whitespace; // No whitespace normalization in attributes if (quote == Ch('\'')) end = skip_and_expand_character_refs, attribute_value_pure_pred, AttFlags>(text, false); else end = skip_and_expand_character_refs, attribute_value_pure_pred, AttFlags>(text, false); // Set attribute value attribute->value(value_, end - value_); // Make sure that end quote is present if (*text != quote) CEREAL_RAPIDXML_PARSE_ERROR("expected ' or \"", text); ++text; // Skip quote // Add terminating zero after value if (!(Flags & parse_no_string_terminators)) attribute->value()[attribute->value_size()] = 0; // Skip whitespace after attribute value skip(text); } } }; //! \cond internal namespace internal { // Whitespace (space \n \r \t) template const unsigned char lookup_tables::lookup_whitespace[256] = { // 0 1 2 3 4 5 6 7 8 9 A B C D E F 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, // 0 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 1 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 2 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 3 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 4 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 5 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 6 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 7 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 9 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // A 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // B 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // C 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // D 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // E 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 // F }; // Node name (anything but space \n \r \t / > ? \0) template const unsigned char lookup_tables::lookup_node_name[256] = { // 0 1 2 3 4 5 6 7 8 9 A B C D E F 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, // 0 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 1 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, // 2 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, // 3 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 4 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 5 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 6 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 7 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 8 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 9 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // A 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // B 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // C 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // D 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // E 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 // F }; // Text (i.e. PCDATA) (anything but < \0) template const unsigned char lookup_tables::lookup_text[256] = { // 0 1 2 3 4 5 6 7 8 9 A B C D E F 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 0 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 1 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 2 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, // 3 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 4 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 5 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 6 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 7 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 8 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 9 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // A 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // B 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // C 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // D 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // E 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 // F }; // Text (i.e. PCDATA) that does not require processing when ws normalization is disabled // (anything but < \0 &) template const unsigned char lookup_tables::lookup_text_pure_no_ws[256] = { // 0 1 2 3 4 5 6 7 8 9 A B C D E F 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 0 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 1 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 2 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, // 3 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 4 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 5 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 6 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 7 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 8 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 9 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // A 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // B 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // C 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // D 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // E 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 // F }; // Text (i.e. PCDATA) that does not require processing when ws normalizationis is enabled // (anything but < \0 & space \n \r \t) template const unsigned char lookup_tables::lookup_text_pure_with_ws[256] = { // 0 1 2 3 4 5 6 7 8 9 A B C D E F 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, // 0 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 1 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 2 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, // 3 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 4 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 5 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 6 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 7 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 8 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 9 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // A 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // B 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // C 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // D 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // E 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 // F }; // Attribute name (anything but space \n \r \t / < > = ? ! \0) template const unsigned char lookup_tables::lookup_attribute_name[256] = { // 0 1 2 3 4 5 6 7 8 9 A B C D E F 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, // 0 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 1 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, // 2 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, // 3 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 4 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 5 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 6 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 7 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 8 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 9 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // A 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // B 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // C 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // D 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // E 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 // F }; // Attribute data with single quote (anything but ' \0) template const unsigned char lookup_tables::lookup_attribute_data_1[256] = { // 0 1 2 3 4 5 6 7 8 9 A B C D E F 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 0 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 1 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, // 2 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 3 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 4 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 5 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 6 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 7 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 8 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 9 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // A 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // B 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // C 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // D 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // E 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 // F }; // Attribute data with single quote that does not require processing (anything but ' \0 &) template const unsigned char lookup_tables::lookup_attribute_data_1_pure[256] = { // 0 1 2 3 4 5 6 7 8 9 A B C D E F 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 0 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 1 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, // 2 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 3 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 4 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 5 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 6 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 7 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 8 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 9 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // A 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // B 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // C 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // D 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // E 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 // F }; // Attribute data with double quote (anything but " \0) template const unsigned char lookup_tables::lookup_attribute_data_2[256] = { // 0 1 2 3 4 5 6 7 8 9 A B C D E F 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 0 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 1 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 2 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 3 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 4 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 5 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 6 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 7 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 8 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 9 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // A 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // B 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // C 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // D 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // E 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 // F }; // Attribute data with double quote that does not require processing (anything but " \0 &) template const unsigned char lookup_tables::lookup_attribute_data_2_pure[256] = { // 0 1 2 3 4 5 6 7 8 9 A B C D E F 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 0 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 1 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 2 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 3 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 4 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 5 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 6 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 7 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 8 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 9 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // A 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // B 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // C 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // D 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // E 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 // F }; // Digits (dec and hex, 255 denotes end of numeric character reference) template const unsigned char lookup_tables::lookup_digits[256] = { // 0 1 2 3 4 5 6 7 8 9 A B C D E F 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, // 0 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, // 1 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, // 2 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,255,255,255,255,255,255, // 3 255, 10, 11, 12, 13, 14, 15,255,255,255,255,255,255,255,255,255, // 4 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, // 5 255, 10, 11, 12, 13, 14, 15,255,255,255,255,255,255,255,255,255, // 6 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, // 7 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, // 8 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, // 9 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, // A 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, // B 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, // C 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, // D 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, // E 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 // F }; // Upper case conversion template const unsigned char lookup_tables::lookup_upcase[256] = { // 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A B C D E F 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, // 0 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, // 1 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, // 2 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, // 3 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, // 4 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, // 5 96, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, // 6 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 123,124,125,126,127, // 7 128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143, // 8 144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159, // 9 160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175, // A 176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191, // B 192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207, // C 208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223, // D 224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239, // E 240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255 // F }; } //! \endcond } } // end namespace cereal // Undefine internal macros #undef CEREAL_RAPIDXML_PARSE_ERROR // On MSVC, restore warnings state #ifdef _MSC_VER #pragma warning(pop) #endif #endif blockattack-game-2.5.0/source/code/Libs/include/cereal/external/rapidxml/rapidxml_iterators.hpp000066400000000000000000000074261347224572500330030ustar00rootroot00000000000000#ifndef CEREAL_RAPIDXML_ITERATORS_HPP_INCLUDED #define CEREAL_RAPIDXML_ITERATORS_HPP_INCLUDED // Copyright (C) 2006, 2009 Marcin Kalicinski // Version 1.13 // Revision $DateTime: 2009/05/13 01:46:17 $ #include "rapidxml.hpp" namespace cereal { namespace rapidxml { //! Iterator of child nodes of xml_node template class node_iterator { public: typedef typename xml_node value_type; typedef typename xml_node &reference; typedef typename xml_node *pointer; typedef std::ptrdiff_t difference_type; typedef std::bidirectional_iterator_tag iterator_category; node_iterator() : m_node(0) { } node_iterator(xml_node *node) : m_node(node->first_node()) { } reference operator *() const { assert(m_node); return *m_node; } pointer operator->() const { assert(m_node); return m_node; } node_iterator& operator++() { assert(m_node); m_node = m_node->next_sibling(); return *this; } node_iterator operator++(int) { node_iterator tmp = *this; ++this; return tmp; } node_iterator& operator--() { assert(m_node && m_node->previous_sibling()); m_node = m_node->previous_sibling(); return *this; } node_iterator operator--(int) { node_iterator tmp = *this; ++this; return tmp; } bool operator ==(const node_iterator &rhs) { return m_node == rhs.m_node; } bool operator !=(const node_iterator &rhs) { return m_node != rhs.m_node; } private: xml_node *m_node; }; //! Iterator of child attributes of xml_node template class attribute_iterator { public: typedef typename xml_attribute value_type; typedef typename xml_attribute &reference; typedef typename xml_attribute *pointer; typedef std::ptrdiff_t difference_type; typedef std::bidirectional_iterator_tag iterator_category; attribute_iterator() : m_attribute(0) { } attribute_iterator(xml_node *node) : m_attribute(node->first_attribute()) { } reference operator *() const { assert(m_attribute); return *m_attribute; } pointer operator->() const { assert(m_attribute); return m_attribute; } attribute_iterator& operator++() { assert(m_attribute); m_attribute = m_attribute->next_attribute(); return *this; } attribute_iterator operator++(int) { attribute_iterator tmp = *this; ++this; return tmp; } attribute_iterator& operator--() { assert(m_attribute && m_attribute->previous_attribute()); m_attribute = m_attribute->previous_attribute(); return *this; } attribute_iterator operator--(int) { attribute_iterator tmp = *this; ++this; return tmp; } bool operator ==(const attribute_iterator &rhs) { return m_attribute == rhs.m_attribute; } bool operator !=(const attribute_iterator &rhs) { return m_attribute != rhs.m_attribute; } private: xml_attribute *m_attribute; }; } } // namespace cereal #endif blockattack-game-2.5.0/source/code/Libs/include/cereal/external/rapidxml/rapidxml_print.hpp000066400000000000000000000364611347224572500321240ustar00rootroot00000000000000#ifndef CEREAL_RAPIDXML_PRINT_HPP_INCLUDED #define CEREAL_RAPIDXML_PRINT_HPP_INCLUDED // Copyright (C) 2006, 2009 Marcin Kalicinski // Version 1.13 // Revision $DateTime: 2009/05/13 01:46:17 $ #include "rapidxml.hpp" // Only include streams if not disabled #ifndef CEREAL_RAPIDXML_NO_STREAMS #include #include #endif namespace cereal { namespace rapidxml { /////////////////////////////////////////////////////////////////////// // Printing flags const int print_no_indenting = 0x1; //!< Printer flag instructing the printer to suppress indenting of XML. See print() function. /////////////////////////////////////////////////////////////////////// // Internal //! \cond internal namespace internal { /////////////////////////////////////////////////////////////////////////// // Internal character operations // Copy characters from given range to given output iterator template inline OutIt copy_chars(const Ch *begin, const Ch *end, OutIt out) { while (begin != end) *out++ = *begin++; return out; } // Copy characters from given range to given output iterator and expand // characters into references (< > ' " &) template inline OutIt copy_and_expand_chars(const Ch *begin, const Ch *end, Ch noexpand, OutIt out) { while (begin != end) { if (*begin == noexpand) { *out++ = *begin; // No expansion, copy character } else { switch (*begin) { case Ch('<'): *out++ = Ch('&'); *out++ = Ch('l'); *out++ = Ch('t'); *out++ = Ch(';'); break; case Ch('>'): *out++ = Ch('&'); *out++ = Ch('g'); *out++ = Ch('t'); *out++ = Ch(';'); break; case Ch('\''): *out++ = Ch('&'); *out++ = Ch('a'); *out++ = Ch('p'); *out++ = Ch('o'); *out++ = Ch('s'); *out++ = Ch(';'); break; case Ch('"'): *out++ = Ch('&'); *out++ = Ch('q'); *out++ = Ch('u'); *out++ = Ch('o'); *out++ = Ch('t'); *out++ = Ch(';'); break; case Ch('&'): *out++ = Ch('&'); *out++ = Ch('a'); *out++ = Ch('m'); *out++ = Ch('p'); *out++ = Ch(';'); break; default: *out++ = *begin; // No expansion, copy character } } ++begin; // Step to next character } return out; } // Fill given output iterator with repetitions of the same character template inline OutIt fill_chars(OutIt out, int n, Ch ch) { for (int i = 0; i < n; ++i) *out++ = ch; return out; } // Find character template inline bool find_char(const Ch *begin, const Ch *end) { while (begin != end) if (*begin++ == ch) return true; return false; } /////////////////////////////////////////////////////////////////////////// // Internal printing operations // Print node template inline OutIt print_node(OutIt out, const xml_node *node, int flags, int indent); // Print children of the node template inline OutIt print_children(OutIt out, const xml_node *node, int flags, int indent) { for (xml_node *child = node->first_node(); child; child = child->next_sibling()) out = print_node(out, child, flags, indent); return out; } // Print attributes of the node template inline OutIt print_attributes(OutIt out, const xml_node *node, int /*flags*/) { for (xml_attribute *attribute = node->first_attribute(); attribute; attribute = attribute->next_attribute()) { if (attribute->name() && attribute->value()) { // Print attribute name *out = Ch(' '), ++out; out = copy_chars(attribute->name(), attribute->name() + attribute->name_size(), out); *out = Ch('='), ++out; // Print attribute value using appropriate quote type if (find_char(attribute->value(), attribute->value() + attribute->value_size())) { *out = Ch('\''), ++out; out = copy_and_expand_chars(attribute->value(), attribute->value() + attribute->value_size(), Ch('"'), out); *out = Ch('\''), ++out; } else { *out = Ch('"'), ++out; out = copy_and_expand_chars(attribute->value(), attribute->value() + attribute->value_size(), Ch('\''), out); *out = Ch('"'), ++out; } } } return out; } // Print data node template inline OutIt print_data_node(OutIt out, const xml_node *node, int flags, int indent) { assert(node->type() == node_data); if (!(flags & print_no_indenting)) out = fill_chars(out, indent, Ch('\t')); out = copy_and_expand_chars(node->value(), node->value() + node->value_size(), Ch(0), out); return out; } // Print data node template inline OutIt print_cdata_node(OutIt out, const xml_node *node, int flags, int indent) { assert(node->type() == node_cdata); if (!(flags & print_no_indenting)) out = fill_chars(out, indent, Ch('\t')); *out = Ch('<'); ++out; *out = Ch('!'); ++out; *out = Ch('['); ++out; *out = Ch('C'); ++out; *out = Ch('D'); ++out; *out = Ch('A'); ++out; *out = Ch('T'); ++out; *out = Ch('A'); ++out; *out = Ch('['); ++out; out = copy_chars(node->value(), node->value() + node->value_size(), out); *out = Ch(']'); ++out; *out = Ch(']'); ++out; *out = Ch('>'); ++out; return out; } // Print element node template inline OutIt print_element_node(OutIt out, const xml_node *node, int flags, int indent) { assert(node->type() == node_element); // Print element name and attributes, if any if (!(flags & print_no_indenting)) out = fill_chars(out, indent, Ch('\t')); *out = Ch('<'), ++out; out = copy_chars(node->name(), node->name() + node->name_size(), out); out = print_attributes(out, node, flags); // If node is childless if (node->value_size() == 0 && !node->first_node()) { // Print childless node tag ending *out = Ch('/'), ++out; *out = Ch('>'), ++out; } else { // Print normal node tag ending *out = Ch('>'), ++out; // Test if node contains a single data node only (and no other nodes) xml_node *child = node->first_node(); if (!child) { // If node has no children, only print its value without indenting out = copy_and_expand_chars(node->value(), node->value() + node->value_size(), Ch(0), out); } else if (child->next_sibling() == 0 && child->type() == node_data) { // If node has a sole data child, only print its value without indenting out = copy_and_expand_chars(child->value(), child->value() + child->value_size(), Ch(0), out); } else { // Print all children with full indenting if (!(flags & print_no_indenting)) *out = Ch('\n'), ++out; out = print_children(out, node, flags, indent + 1); if (!(flags & print_no_indenting)) out = fill_chars(out, indent, Ch('\t')); } // Print node end *out = Ch('<'), ++out; *out = Ch('/'), ++out; out = copy_chars(node->name(), node->name() + node->name_size(), out); *out = Ch('>'), ++out; } return out; } // Print declaration node template inline OutIt print_declaration_node(OutIt out, const xml_node *node, int flags, int indent) { // Print declaration start if (!(flags & print_no_indenting)) out = fill_chars(out, indent, Ch('\t')); *out = Ch('<'), ++out; *out = Ch('?'), ++out; *out = Ch('x'), ++out; *out = Ch('m'), ++out; *out = Ch('l'), ++out; // Print attributes out = print_attributes(out, node, flags); // Print declaration end *out = Ch('?'), ++out; *out = Ch('>'), ++out; return out; } // Print comment node template inline OutIt print_comment_node(OutIt out, const xml_node *node, int flags, int indent) { assert(node->type() == node_comment); if (!(flags & print_no_indenting)) out = fill_chars(out, indent, Ch('\t')); *out = Ch('<'), ++out; *out = Ch('!'), ++out; *out = Ch('-'), ++out; *out = Ch('-'), ++out; out = copy_chars(node->value(), node->value() + node->value_size(), out); *out = Ch('-'), ++out; *out = Ch('-'), ++out; *out = Ch('>'), ++out; return out; } // Print doctype node template inline OutIt print_doctype_node(OutIt out, const xml_node *node, int flags, int indent) { assert(node->type() == node_doctype); if (!(flags & print_no_indenting)) out = fill_chars(out, indent, Ch('\t')); *out = Ch('<'), ++out; *out = Ch('!'), ++out; *out = Ch('D'), ++out; *out = Ch('O'), ++out; *out = Ch('C'), ++out; *out = Ch('T'), ++out; *out = Ch('Y'), ++out; *out = Ch('P'), ++out; *out = Ch('E'), ++out; *out = Ch(' '), ++out; out = copy_chars(node->value(), node->value() + node->value_size(), out); *out = Ch('>'), ++out; return out; } // Print pi node template inline OutIt print_pi_node(OutIt out, const xml_node *node, int flags, int indent) { assert(node->type() == node_pi); if (!(flags & print_no_indenting)) out = fill_chars(out, indent, Ch('\t')); *out = Ch('<'), ++out; *out = Ch('?'), ++out; out = copy_chars(node->name(), node->name() + node->name_size(), out); *out = Ch(' '), ++out; out = copy_chars(node->value(), node->value() + node->value_size(), out); *out = Ch('?'), ++out; *out = Ch('>'), ++out; return out; } // Print node template inline OutIt print_node(OutIt out, const xml_node *node, int flags, int indent) { // Print proper node type switch (node->type()) { // Document case node_document: out = print_children(out, node, flags, indent); break; // Element case node_element: out = print_element_node(out, node, flags, indent); break; // Data case node_data: out = print_data_node(out, node, flags, indent); break; // CDATA case node_cdata: out = print_cdata_node(out, node, flags, indent); break; // Declaration case node_declaration: out = print_declaration_node(out, node, flags, indent); break; // Comment case node_comment: out = print_comment_node(out, node, flags, indent); break; // Doctype case node_doctype: out = print_doctype_node(out, node, flags, indent); break; // Pi case node_pi: out = print_pi_node(out, node, flags, indent); break; // Unknown default: assert(0); break; } // If indenting not disabled, add line break after node if (!(flags & print_no_indenting)) *out = Ch('\n'), ++out; // Return modified iterator return out; } } //! \endcond /////////////////////////////////////////////////////////////////////////// // Printing //! Prints XML to given output iterator. //! \param out Output iterator to print to. //! \param node Node to be printed. Pass xml_document to print entire document. //! \param flags Flags controlling how XML is printed. //! \return Output iterator pointing to position immediately after last character of printed text. template inline OutIt print(OutIt out, const xml_node &node, int flags = 0) { return internal::print_node(out, &node, flags, 0); } #ifndef CEREAL_RAPIDXML_NO_STREAMS //! Prints XML to given output stream. //! \param out Output stream to print to. //! \param node Node to be printed. Pass xml_document to print entire document. //! \param flags Flags controlling how XML is printed. //! \return Output stream. template inline std::basic_ostream &print(std::basic_ostream &out, const xml_node &node, int flags = 0) { print(std::ostream_iterator(out), node, flags); return out; } //! Prints formatted XML to given output stream. Uses default printing flags. Use print() function to customize printing process. //! \param out Output stream to print to. //! \param node Node to be printed. //! \return Output stream. template inline std::basic_ostream &operator <<(std::basic_ostream &out, const xml_node &node) { return print(out, node); } #endif } } // namespace cereal #endif blockattack-game-2.5.0/source/code/Libs/include/cereal/external/rapidxml/rapidxml_utils.hpp000066400000000000000000000063741347224572500321300ustar00rootroot00000000000000#ifndef CEREAL_RAPIDXML_UTILS_HPP_INCLUDED #define CEREAL_RAPIDXML_UTILS_HPP_INCLUDED // Copyright (C) 2006, 2009 Marcin Kalicinski // Version 1.13 // Revision $DateTime: 2009/05/13 01:46:17 $ //! in certain simple scenarios. They should probably not be used if maximizing performance is the main objective. #include "rapidxml.hpp" #include #include #include #include namespace cereal { namespace rapidxml { //! Represents data loaded from a file template class file { public: //! Loads file into the memory. Data will be automatically destroyed by the destructor. //! \param filename Filename to load. file(const char *filename) { using namespace std; // Open stream basic_ifstream stream(filename, ios::binary); if (!stream) throw runtime_error(string("cannot open file ") + filename); stream.unsetf(ios::skipws); // Determine stream size stream.seekg(0, ios::end); size_t size = stream.tellg(); stream.seekg(0); // Load data and add terminating 0 m_data.resize(size + 1); stream.read(&m_data.front(), static_cast(size)); m_data[size] = 0; } //! Loads file into the memory. Data will be automatically destroyed by the destructor //! \param stream Stream to load from file(std::basic_istream &stream) { using namespace std; // Load data and add terminating 0 stream.unsetf(ios::skipws); m_data.assign(istreambuf_iterator(stream), istreambuf_iterator()); if (stream.fail() || stream.bad()) throw runtime_error("error reading stream"); m_data.push_back(0); } //! Gets file data. //! \return Pointer to data of file. Ch *data() { return &m_data.front(); } //! Gets file data. //! \return Pointer to data of file. const Ch *data() const { return &m_data.front(); } //! Gets file data size. //! \return Size of file data, in characters. std::size_t size() const { return m_data.size(); } private: std::vector m_data; // File data }; //! Counts children of node. Time complexity is O(n). //! \return Number of children of node template inline std::size_t count_children(xml_node *node) { xml_node *child = node->first_node(); std::size_t count = 0; while (child) { ++count; child = child->next_sibling(); } return count; } //! Counts attributes of node. Time complexity is O(n). //! \return Number of attributes of node template inline std::size_t count_attributes(xml_node *node) { xml_attribute *attr = node->first_attribute(); std::size_t count = 0; while (attr) { ++count; attr = attr->next_attribute(); } return count; } } } // namespace cereal #endif blockattack-game-2.5.0/source/code/Libs/include/cereal/macros.hpp000066400000000000000000000134661347224572500247120ustar00rootroot00000000000000/*! \file macros.hpp \brief Preprocessor macros that can customise the cereal library By default, cereal looks for serialization functions with very specific names, that is: serialize, load, save, load_minimal, or save_minimal. This file allows an advanced user to change these names to conform to some other style or preference. This is implemented using preprocessor macros. As a result of this, in internal cereal code you will see macros used for these function names. In user code, you should name the functions like you normally would and not use the macros to improve readability. \ingroup utility */ /* Copyright (c) 2014, Randolph Voorhies, Shane Grant All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * 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. * Neither the name of cereal nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "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 RANDOLPH VOORHIES OR SHANE GRANT 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. */ #ifndef CEREAL_MACROS_HPP_ #define CEREAL_MACROS_HPP_ #ifndef CEREAL_THREAD_SAFE //! Whether cereal should be compiled for a threaded environment /*! This macro causes cereal to use mutexes to control access to global internal state in a thread safe manner. Note that even with this enabled you must still ensure that archives are accessed by only one thread at a time; it is safe to use multiple archives in paralel, but not to access one archive from many places simultaneously. */ #define CEREAL_THREAD_SAFE 0 #endif // CEREAL_THREAD_SAFE #ifndef CEREAL_SIZE_TYPE //! Determines the data type used for size_type /*! cereal uses size_type to ensure that the serialized size of dynamic containers is compatible across different architectures (e.g. 32 vs 64 bit), which may use different underlying types for std::size_t. More information can be found in cereal/details/helpers.hpp. If you choose to modify this type, ensure that you use a fixed size type (e.g. uint32_t). */ #define CEREAL_SIZE_TYPE uint64_t #endif // CEREAL_SIZE_TYPE // ###################################################################### #ifndef CEREAL_SERIALIZE_FUNCTION_NAME //! The serialization/deserialization function name to search for. /*! You can define @c CEREAL_SERIALIZE_FUNCTION_NAME to be different assuming you do so before this file is included. */ #define CEREAL_SERIALIZE_FUNCTION_NAME serialize #endif // CEREAL_SERIALIZE_FUNCTION_NAME #ifndef CEREAL_LOAD_FUNCTION_NAME //! The deserialization (load) function name to search for. /*! You can define @c CEREAL_LOAD_FUNCTION_NAME to be different assuming you do so before this file is included. */ #define CEREAL_LOAD_FUNCTION_NAME load #endif // CEREAL_LOAD_FUNCTION_NAME #ifndef CEREAL_SAVE_FUNCTION_NAME //! The serialization (save) function name to search for. /*! You can define @c CEREAL_SAVE_FUNCTION_NAME to be different assuming you do so before this file is included. */ #define CEREAL_SAVE_FUNCTION_NAME save #endif // CEREAL_SAVE_FUNCTION_NAME #ifndef CEREAL_LOAD_MINIMAL_FUNCTION_NAME //! The deserialization (load_minimal) function name to search for. /*! You can define @c CEREAL_LOAD_MINIMAL_FUNCTION_NAME to be different assuming you do so before this file is included. */ #define CEREAL_LOAD_MINIMAL_FUNCTION_NAME load_minimal #endif // CEREAL_LOAD_MINIMAL_FUNCTION_NAME #ifndef CEREAL_SAVE_MINIMAL_FUNCTION_NAME //! The serialization (save_minimal) function name to search for. /*! You can define @c CEREAL_SAVE_MINIMAL_FUNCTION_NAME to be different assuming you do so before this file is included. */ #define CEREAL_SAVE_MINIMAL_FUNCTION_NAME save_minimal #endif // CEREAL_SAVE_MINIMAL_FUNCTION_NAME // ###################################################################### //! Defines the CEREAL_NOEXCEPT macro to use instead of noexcept /*! If a compiler we support does not support noexcept, this macro will detect this and define CEREAL_NOEXCEPT as a no-op @internal */ #if !defined(CEREAL_HAS_NOEXCEPT) #if defined(__clang__) #if __has_feature(cxx_noexcept) #define CEREAL_HAS_NOEXCEPT #endif #else // NOT clang #if defined(__GXX_EXPERIMENTAL_CXX0X__) && __GNUC__ * 10 + __GNUC_MINOR__ >= 46 || \ defined(_MSC_FULL_VER) && _MSC_FULL_VER >= 190023026 #define CEREAL_HAS_NOEXCEPT #endif // end GCC/MSVC check #endif // end NOT clang block #ifndef CEREAL_NOEXCEPT #ifdef CEREAL_HAS_NOEXCEPT #define CEREAL_NOEXCEPT noexcept #else #define CEREAL_NOEXCEPT #endif // end CEREAL_HAS_NOEXCEPT #endif // end !defined(CEREAL_HAS_NOEXCEPT) #endif // ifndef CEREAL_NOEXCEPT #endif // CEREAL_MACROS_HPP_ blockattack-game-2.5.0/source/code/Libs/include/cereal/types/000077500000000000000000000000001347224572500240475ustar00rootroot00000000000000blockattack-game-2.5.0/source/code/Libs/include/cereal/types/array.hpp000066400000000000000000000066551347224572500257120ustar00rootroot00000000000000/*! \file array.hpp \brief Support for types found in \ \ingroup STLSupport */ /* Copyright (c) 2014, Randolph Voorhies, Shane Grant All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * 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. * Neither the name of cereal nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "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 RANDOLPH VOORHIES OR SHANE GRANT 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. */ #ifndef CEREAL_TYPES_ARRAY_HPP_ #define CEREAL_TYPES_ARRAY_HPP_ #include "cereal/cereal.hpp" #include namespace cereal { //! Saving for std::array primitive types //! using binary serialization, if supported template inline typename std::enable_if, Archive>::value && std::is_arithmetic::value, void>::type CEREAL_SAVE_FUNCTION_NAME( Archive & ar, std::array const & array ) { ar( binary_data( array.data(), sizeof(array) ) ); } //! Loading for std::array primitive types //! using binary serialization, if supported template inline typename std::enable_if, Archive>::value && std::is_arithmetic::value, void>::type CEREAL_LOAD_FUNCTION_NAME( Archive & ar, std::array & array ) { ar( binary_data( array.data(), sizeof(array) ) ); } //! Saving for std::array all other types template inline typename std::enable_if, Archive>::value || !std::is_arithmetic::value, void>::type CEREAL_SAVE_FUNCTION_NAME( Archive & ar, std::array const & array ) { for( auto const & i : array ) ar( i ); } //! Loading for std::array all other types template inline typename std::enable_if, Archive>::value || !std::is_arithmetic::value, void>::type CEREAL_LOAD_FUNCTION_NAME( Archive & ar, std::array & array ) { for( auto & i : array ) ar( i ); } } // namespace cereal #endif // CEREAL_TYPES_ARRAY_HPP_ blockattack-game-2.5.0/source/code/Libs/include/cereal/types/base_class.hpp000066400000000000000000000162411347224572500266630ustar00rootroot00000000000000/*! \file base_class.hpp \brief Support for base classes (virtual and non-virtual) \ingroup OtherTypes */ /* Copyright (c) 2014, Randolph Voorhies, Shane Grant All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * 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. * Neither the name of cereal nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "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 RANDOLPH VOORHIES OR SHANE GRANT 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. */ #ifndef CEREAL_TYPES_BASE_CLASS_HPP_ #define CEREAL_TYPES_BASE_CLASS_HPP_ #include "cereal/details/traits.hpp" #include "cereal/details/polymorphic_impl_fwd.hpp" namespace cereal { namespace base_class_detail { //! Used to register polymorphic relations and avoid the need to include //! polymorphic.hpp when no polymorphism is used /*! @internal */ template ::value> struct RegisterPolymorphicBaseClass { static void bind() { } }; //! Polymorphic version /*! @internal */ template struct RegisterPolymorphicBaseClass { static void bind() { detail::RegisterPolymorphicCaster::bind(); } }; } //! Casts a derived class to its non-virtual base class in a way that safely supports abstract classes /*! This should be used in cases when a derived type needs to serialize its base type. This is better than directly using static_cast, as it allows for serialization of pure virtual (abstract) base classes. This also automatically registers polymorphic relation between the base and derived class, assuming they are indeed polymorphic. Note this is not the same as polymorphic type registration. For more information see the documentation on polymorphism. \sa virtual_base_class @code{.cpp} struct MyBase { int x; virtual void foo() = 0; template void serialize( Archive & ar ) { ar( x ); } }; struct MyDerived : public MyBase //<-- Note non-virtual inheritance { int y; virtual void foo() {}; template void serialize( Archive & ar ) { ar( cereal::base_class(this) ); ar( y ); } }; @endcode */ template struct base_class : private traits::detail::BaseCastBase { template base_class(Derived const * derived) : base_ptr(const_cast(static_cast(derived))) { static_assert( std::is_base_of::value, "Can only use base_class on a valid base class" ); base_class_detail::RegisterPolymorphicBaseClass::bind(); } Base * base_ptr; }; //! Casts a derived class to its virtual base class in a way that allows cereal to track inheritance /*! This should be used in cases when a derived type features virtual inheritance from some base type. This allows cereal to track the inheritance and to avoid making duplicate copies during serialization. It is safe to use virtual_base_class in all circumstances for serializing base classes, even in cases where virtual inheritance does not take place, though it may be slightly faster to utilize cereal::base_class<> if you do not need to worry about virtual inheritance. This also automatically registers polymorphic relation between the base and derived class, assuming they are indeed polymorphic. Note this is not the same as polymorphic type registration. For more information see the documentation on polymorphism. \sa base_class @code{.cpp} struct MyBase { int x; template void serialize( Archive & ar ) { ar( x ); } }; struct MyLeft : virtual MyBase //<-- Note the virtual inheritance { int y; template void serialize( Archive & ar ) { ar( cereal::virtual_base_class( this ) ); ar( y ); } }; struct MyRight : virtual MyBase { int z; template void serialize( Archive & ar ) { ar( cereal::virtual_base_clas( this ) ); ar( z ); } }; // diamond virtual inheritance; contains one copy of each base class struct MyDerived : virtual MyLeft, virtual MyRight { int a; template void serialize( Archive & ar ) { ar( cereal::virtual_base_class( this ) ); // safely serialize data members in MyLeft ar( cereal::virtual_base_class( this ) ); // safely serialize data members in MyRight ar( a ); // Because we used virtual_base_class, cereal will ensure that only one instance of MyBase is // serialized as we traverse the inheritance heirarchy. This means that there will be one copy // each of the variables x, y, z, and a // If we had chosen to use static_cast<> instead, cereal would perform no tracking and // assume that every base class should be serialized (in this case leading to a duplicate // serialization of MyBase due to diamond inheritance }; } @endcode */ template struct virtual_base_class : private traits::detail::BaseCastBase { template virtual_base_class(Derived const * derived) : base_ptr(const_cast(static_cast(derived))) { static_assert( std::is_base_of::value, "Can only use virtual_base_class on a valid base class" ); base_class_detail::RegisterPolymorphicBaseClass::bind(); } Base * base_ptr; }; } // namespace cereal #endif // CEREAL_TYPES_BASE_CLASS_HPP_ blockattack-game-2.5.0/source/code/Libs/include/cereal/types/bitset.hpp000066400000000000000000000124151347224572500260550ustar00rootroot00000000000000/*! \file bitset.hpp \brief Support for types found in \ \ingroup STLSupport */ /* Copyright (c) 2014, Randolph Voorhies, Shane Grant All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * 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. * Neither the name of cereal nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "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 RANDOLPH VOORHIES OR SHANE GRANT 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. */ #ifndef CEREAL_TYPES_BITSET_HPP_ #define CEREAL_TYPES_BITSET_HPP_ #include "cereal/cereal.hpp" #include "cereal/types/string.hpp" #include namespace cereal { namespace bitset_detail { //! The type the bitset is encoded with /*! @internal */ enum class type : uint8_t { ulong, ullong, string, bits }; } //! Serializing (save) for std::bitset when BinaryData optimization supported template , Archive>::value> = traits::sfinae> inline void CEREAL_SAVE_FUNCTION_NAME( Archive & ar, std::bitset const & bits ) { ar( CEREAL_NVP_("type", bitset_detail::type::bits) ); // Serialize 8 bit chunks std::uint8_t chunk = 0; std::uint8_t mask = 0x80; // Set each chunk using a rotating mask for the current bit for( std::size_t i = 0; i < N; ++i ) { if( bits[i] ) chunk |= mask; mask >>= 1; // output current chunk when mask is empty (8 bits) if( mask == 0 ) { ar( chunk ); chunk = 0; mask = 0x80; } } // serialize remainder, if it exists if( mask != 0x80 ) ar( chunk ); } //! Serializing (save) for std::bitset when BinaryData is not supported template , Archive>::value> = traits::sfinae> inline void CEREAL_SAVE_FUNCTION_NAME( Archive & ar, std::bitset const & bits ) { try { auto const b = bits.to_ulong(); ar( CEREAL_NVP_("type", bitset_detail::type::ulong) ); ar( CEREAL_NVP_("data", b) ); } catch( std::overflow_error const & ) { try { auto const b = bits.to_ullong(); ar( CEREAL_NVP_("type", bitset_detail::type::ullong) ); ar( CEREAL_NVP_("data", b) ); } catch( std::overflow_error const & ) { ar( CEREAL_NVP_("type", bitset_detail::type::string) ); ar( CEREAL_NVP_("data", bits.to_string()) ); } } } //! Serializing (load) for std::bitset template inline void CEREAL_LOAD_FUNCTION_NAME( Archive & ar, std::bitset & bits ) { bitset_detail::type t; ar( CEREAL_NVP_("type", t) ); switch( t ) { case bitset_detail::type::ulong: { unsigned long b; ar( CEREAL_NVP_("data", b) ); bits = std::bitset( b ); break; } case bitset_detail::type::ullong: { unsigned long long b; ar( CEREAL_NVP_("data", b) ); bits = std::bitset( b ); break; } case bitset_detail::type::string: { std::string b; ar( CEREAL_NVP_("data", b) ); bits = std::bitset( b ); break; } case bitset_detail::type::bits: { // Normally we would use BinaryData to route this at compile time, // but doing this at runtime doesn't break any old serialization std::uint8_t chunk = 0; std::uint8_t mask = 0; bits.reset(); // Load one chunk at a time, rotating through the chunk // to set bits in the bitset for( std::size_t i = 0; i < N; ++i ) { if( mask == 0 ) { ar( chunk ); mask = 0x80; } if( chunk & mask ) bits[i] = 1; mask >>= 1; } break; } default: throw Exception("Invalid bitset data representation"); } } } // namespace cereal #endif // CEREAL_TYPES_BITSET_HPP_ blockattack-game-2.5.0/source/code/Libs/include/cereal/types/boost_variant.hpp000066400000000000000000000100731347224572500274330ustar00rootroot00000000000000/*! \file boost_variant.hpp \brief Support for boost::variant \ingroup OtherTypes */ /* Copyright (c) 2014, Randolph Voorhies, Shane Grant All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * 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. * Neither the name of cereal nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "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 RANDOLPH VOORHIES OR SHANE GRANT 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. */ #ifndef CEREAL_TYPES_BOOST_VARIANT_HPP_ #define CEREAL_TYPES_BOOST_VARIANT_HPP_ #include "cereal/cereal.hpp" #include #include namespace cereal { namespace variant_detail { //! @internal template struct variant_save_visitor : boost::static_visitor<> { variant_save_visitor(Archive & ar_) : ar(ar_) {} template void operator()(T const & value) const { ar( CEREAL_NVP_("data", value) ); } Archive & ar; }; //! @internal template typename std::enable_if::value, void>::type load_variant(Archive & /*ar*/, int /*target*/, Variant & /*variant*/) { throw ::cereal::Exception("Error traversing variant during load"); } //! @internal template typename std::enable_if::value, void>::type load_variant(Archive & ar, int target, Variant & variant) { if(N == target) { H value; ar( CEREAL_NVP_("data", value) ); variant = value; } else load_variant(ar, target, variant); } } // namespace variant_detail //! Saving for boost::variant template inline void CEREAL_SAVE_FUNCTION_NAME( Archive & ar, boost::variant const & variant ) { int32_t which = variant.which(); ar( CEREAL_NVP_("which", which) ); variant_detail::variant_save_visitor visitor(ar); variant.apply_visitor(visitor); } //! Loading for boost::variant template inline void CEREAL_LOAD_FUNCTION_NAME( Archive & ar, boost::variant & variant ) { typedef typename boost::variant::types types; int32_t which; ar( CEREAL_NVP_("which", which) ); if(which >= boost::mpl::size::value) throw Exception("Invalid 'which' selector when deserializing boost::variant"); variant_detail::load_variant<0, boost::variant, VariantType1, VariantTypes...>(ar, which, variant); } } // namespace cereal #endif // CEREAL_TYPES_BOOST_VARIANT_HPP_ blockattack-game-2.5.0/source/code/Libs/include/cereal/types/chrono.hpp000066400000000000000000000055231347224572500260550ustar00rootroot00000000000000/*! \file chrono.hpp \brief Support for types found in \ \ingroup STLSupport */ /* Copyright (c) 2014, Randolph Voorhies, Shane Grant All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * 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. * Neither the name of cereal nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "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 RANDOLPH VOORHIES OR SHANE GRANT 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. */ #ifndef CEREAL_TYPES_CHRONO_HPP_ #define CEREAL_TYPES_CHRONO_HPP_ #include namespace cereal { //! Saving std::chrono::duration template inline void CEREAL_SAVE_FUNCTION_NAME( Archive & ar, std::chrono::duration const & dur ) { ar( CEREAL_NVP_("count", dur.count()) ); } //! Loading std::chrono::duration template inline void CEREAL_LOAD_FUNCTION_NAME( Archive & ar, std::chrono::duration & dur ) { R count; ar( CEREAL_NVP_("count", count) ); dur = std::chrono::duration{count}; } //! Saving std::chrono::time_point template inline void CEREAL_SAVE_FUNCTION_NAME( Archive & ar, std::chrono::time_point const & dur ) { ar( CEREAL_NVP_("time_since_epoch", dur.time_since_epoch()) ); } //! Loading std::chrono::time_point template inline void CEREAL_LOAD_FUNCTION_NAME( Archive & ar, std::chrono::time_point & dur ) { D elapsed; ar( CEREAL_NVP_("time_since_epoch", elapsed) ); dur = std::chrono::time_point{elapsed}; } } // namespace cereal #endif // CEREAL_TYPES_CHRONO_HPP_ blockattack-game-2.5.0/source/code/Libs/include/cereal/types/common.hpp000066400000000000000000000124001347224572500260450ustar00rootroot00000000000000/*! \file common.hpp \brief Support common types - always included automatically \ingroup OtherTypes */ /* Copyright (c) 2014, Randolph Voorhies, Shane Grant All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * 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. * Neither the name of cereal nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "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 RANDOLPH VOORHIES OR SHANE GRANT 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. */ #ifndef CEREAL_TYPES_COMMON_HPP_ #define CEREAL_TYPES_COMMON_HPP_ #include "cereal/cereal.hpp" namespace cereal { namespace common_detail { //! Serialization for arrays if BinaryData is supported and we are arithmetic /*! @internal */ template inline void serializeArray( Archive & ar, T & array, std::true_type /* binary_supported */ ) { ar( binary_data( array, sizeof(array) ) ); } //! Serialization for arrays if BinaryData is not supported or we are not arithmetic /*! @internal */ template inline void serializeArray( Archive & ar, T & array, std::false_type /* binary_supported */ ) { for( auto & i : array ) ar( i ); } namespace { //! Gets the underlying type of an enum /*! @internal */ template struct enum_underlying_type : std::false_type {}; //! Gets the underlying type of an enum /*! Specialization for when we actually have an enum @internal */ template struct enum_underlying_type { using type = typename std::underlying_type::type; }; } // anon namespace //! Checks if a type is an enum /*! This is needed over simply calling std::is_enum because the type traits checking at compile time will attempt to call something like load_minimal with a special NoConvertRef struct that wraps up the true type. This will strip away any of that and also expose the true underlying type. @internal */ template class is_enum { private: using DecayedT = typename std::decay::type; using StrippedT = typename ::cereal::traits::strip_minimal::type; public: static const bool value = std::is_enum::value; using type = StrippedT; using base_type = typename enum_underlying_type::type; }; } //! Saving for enum types template inline typename std::enable_if::value, typename common_detail::is_enum::base_type>::type CEREAL_SAVE_MINIMAL_FUNCTION_NAME( Archive const &, T const & t ) { return static_cast::base_type>(t); } //! Loading for enum types template inline typename std::enable_if::value, void>::type CEREAL_LOAD_MINIMAL_FUNCTION_NAME( Archive const &, T && t, typename common_detail::is_enum::base_type const & value ) { t = reinterpret_cast::type const &>( value ); } //! Serialization for raw pointers /*! This exists only to throw a static_assert to let users know we don't support raw pointers. */ template inline void CEREAL_SERIALIZE_FUNCTION_NAME( Archive &, T * & ) { static_assert(cereal::traits::detail::delay_static_assert::value, "Cereal does not support serializing raw pointers - please use a smart pointer"); } //! Serialization for C style arrays template inline typename std::enable_if::value, void>::type CEREAL_SERIALIZE_FUNCTION_NAME(Archive & ar, T & array) { common_detail::serializeArray( ar, array, std::integral_constant, Archive>::value && std::is_arithmetic::type>::value>() ); } } // namespace cereal #endif // CEREAL_TYPES_COMMON_HPP_ blockattack-game-2.5.0/source/code/Libs/include/cereal/types/complex.hpp000066400000000000000000000045071347224572500262350ustar00rootroot00000000000000/*! \file complex.hpp \brief Support for types found in \ \ingroup STLSupport */ /* Copyright (c) 2014, Randolph Voorhies, Shane Grant All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * 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. * Neither the name of cereal nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "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 RANDOLPH VOORHIES OR SHANE GRANT 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. */ #ifndef CEREAL_TYPES_COMPLEX_HPP_ #define CEREAL_TYPES_COMPLEX_HPP_ #include namespace cereal { //! Serializing (save) for std::complex template inline void CEREAL_SAVE_FUNCTION_NAME( Archive & ar, std::complex const & comp ) { ar( CEREAL_NVP_("real", comp.real()), CEREAL_NVP_("imag", comp.imag()) ); } //! Serializing (load) for std::complex template inline void CEREAL_LOAD_FUNCTION_NAME( Archive & ar, std::complex & bits ) { T real, imag; ar( CEREAL_NVP_("real", real), CEREAL_NVP_("imag", imag) ); bits = {real, imag}; } } // namespace cereal #endif // CEREAL_TYPES_COMPLEX_HPP_ blockattack-game-2.5.0/source/code/Libs/include/cereal/types/concepts/000077500000000000000000000000001347224572500256655ustar00rootroot00000000000000blockattack-game-2.5.0/source/code/Libs/include/cereal/types/concepts/pair_associative_container.hpp000066400000000000000000000062121347224572500337660ustar00rootroot00000000000000/*! \file pair_associative_container.hpp \brief Support for the PairAssociativeContainer refinement of the AssociativeContainer concept. \ingroup TypeConcepts */ /* Copyright (c) 2014, Randolph Voorhies, Shane Grant All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * 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. * Neither the name of cereal nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "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 RANDOLPH VOORHIES OR SHANE GRANT 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. */ #ifndef CEREAL_CONCEPTS_PAIR_ASSOCIATIVE_CONTAINER_HPP_ #define CEREAL_CONCEPTS_PAIR_ASSOCIATIVE_CONTAINER_HPP_ #include "cereal/cereal.hpp" namespace cereal { //! Saving for std-like pair associative containers template class Map, typename... Args, typename = typename Map::mapped_type> inline void CEREAL_SAVE_FUNCTION_NAME( Archive & ar, Map const & map ) { ar( make_size_tag( static_cast(map.size()) ) ); for( const auto & i : map ) ar( make_map_item(i.first, i.second) ); } //! Loading for std-like pair associative containers template class Map, typename... Args, typename = typename Map::mapped_type> inline void CEREAL_LOAD_FUNCTION_NAME( Archive & ar, Map & map ) { size_type size; ar( make_size_tag( size ) ); map.clear(); auto hint = map.begin(); for( size_t i = 0; i < size; ++i ) { typename Map::key_type key; typename Map::mapped_type value; ar( make_map_item(key, value) ); #ifdef CEREAL_OLDER_GCC hint = map.insert( hint, std::make_pair(std::move(key), std::move(value)) ); #else // NOT CEREAL_OLDER_GCC hint = map.emplace_hint( hint, std::move( key ), std::move( value ) ); #endif // NOT CEREAL_OLDER_GCC } } } // namespace cereal #endif // CEREAL_CONCEPTS_PAIR_ASSOCIATIVE_CONTAINER_HPP_ blockattack-game-2.5.0/source/code/Libs/include/cereal/types/deque.hpp000066400000000000000000000046201347224572500256650ustar00rootroot00000000000000/*! \file deque.hpp \brief Support for types found in \ \ingroup STLSupport */ /* Copyright (c) 2014, Randolph Voorhies, Shane Grant All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * 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. * Neither the name of cereal nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "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 RANDOLPH VOORHIES OR SHANE GRANT 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. */ #ifndef CEREAL_TYPES_DEQUE_HPP_ #define CEREAL_TYPES_DEQUE_HPP_ #include "cereal/cereal.hpp" #include namespace cereal { //! Saving for std::deque template inline void CEREAL_SAVE_FUNCTION_NAME( Archive & ar, std::deque const & deque ) { ar( make_size_tag( static_cast(deque.size()) ) ); for( auto const & i : deque ) ar( i ); } //! Loading for std::deque template inline void CEREAL_LOAD_FUNCTION_NAME( Archive & ar, std::deque & deque ) { size_type size; ar( make_size_tag( size ) ); deque.resize( static_cast( size ) ); for( auto & i : deque ) ar( i ); } } // namespace cereal #endif // CEREAL_TYPES_DEQUE_HPP_ blockattack-game-2.5.0/source/code/Libs/include/cereal/types/forward_list.hpp000066400000000000000000000055061347224572500272650ustar00rootroot00000000000000/*! \file forward_list.hpp \brief Support for types found in \ \ingroup STLSupport */ /* Copyright (c) 2014, Randolph Voorhies, Shane Grant All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * 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. * Neither the name of cereal nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "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 RANDOLPH VOORHIES OR SHANE GRANT 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. */ #ifndef CEREAL_TYPES_FORWARD_LIST_HPP_ #define CEREAL_TYPES_FORWARD_LIST_HPP_ #include "cereal/cereal.hpp" #include namespace cereal { //! Saving for std::forward_list all other types template inline void CEREAL_SAVE_FUNCTION_NAME( Archive & ar, std::forward_list const & forward_list ) { // write the size - note that this is slow because we need to traverse // the entire list. there are ways we could avoid this but this was chosen // since it works in the most general fashion with any archive type size_type const size = std::distance( forward_list.begin(), forward_list.end() ); ar( make_size_tag( size ) ); // write the list for( const auto & i : forward_list ) ar( i ); } //! Loading for std::forward_list all other types from template void CEREAL_LOAD_FUNCTION_NAME( Archive & ar, std::forward_list & forward_list ) { size_type size; ar( make_size_tag( size ) ); forward_list.resize( static_cast( size ) ); for( auto & i : forward_list ) ar( i ); } } // namespace cereal #endif // CEREAL_TYPES_FORWARD_LIST_HPP_ blockattack-game-2.5.0/source/code/Libs/include/cereal/types/functional.hpp000066400000000000000000000036671347224572500267360ustar00rootroot00000000000000/*! \file functional.hpp \brief Support for types found in \ \ingroup STLSupport */ /* Copyright (c) 2016, Randolph Voorhies, Shane Grant All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * 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. * Neither the name of cereal nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "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 RANDOLPH VOORHIES OR SHANE GRANT 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. */ #ifndef CEREAL_TYPES_FUNCTIONAL_HPP_ #define CEREAL_TYPES_FUNCTIONAL_HPP_ #include namespace cereal { //! Saving for std::less template inline void serialize( Archive &, std::less & ) { } } // namespace cereal #endif // CEREAL_TYPES_FUNCTIONAL_HPP_ blockattack-game-2.5.0/source/code/Libs/include/cereal/types/list.hpp000066400000000000000000000046001347224572500255330ustar00rootroot00000000000000/*! \file list.hpp \brief Support for types found in \ \ingroup STLSupport */ /* Copyright (c) 2014, Randolph Voorhies, Shane Grant All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * 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. * Neither the name of cereal nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "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 RANDOLPH VOORHIES OR SHANE GRANT 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. */ #ifndef CEREAL_TYPES_LIST_HPP_ #define CEREAL_TYPES_LIST_HPP_ #include "cereal/cereal.hpp" #include namespace cereal { //! Saving for std::list template inline void CEREAL_SAVE_FUNCTION_NAME( Archive & ar, std::list const & list ) { ar( make_size_tag( static_cast(list.size()) ) ); for( auto const & i : list ) ar( i ); } //! Loading for std::list template inline void CEREAL_LOAD_FUNCTION_NAME( Archive & ar, std::list & list ) { size_type size; ar( make_size_tag( size ) ); list.resize( static_cast( size ) ); for( auto & i : list ) ar( i ); } } // namespace cereal #endif // CEREAL_TYPES_LIST_HPP_ blockattack-game-2.5.0/source/code/Libs/include/cereal/types/map.hpp000066400000000000000000000034511347224572500253400ustar00rootroot00000000000000/*! \file map.hpp \brief Support for types found in \ \ingroup STLSupport */ /* Copyright (c) 2014, Randolph Voorhies, Shane Grant All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * 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. * Neither the name of cereal nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "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 RANDOLPH VOORHIES OR SHANE GRANT 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. */ #ifndef CEREAL_TYPES_MAP_HPP_ #define CEREAL_TYPES_MAP_HPP_ #include "cereal/types/concepts/pair_associative_container.hpp" #include #endif // CEREAL_TYPES_MAP_HPP_ blockattack-game-2.5.0/source/code/Libs/include/cereal/types/memory.hpp000066400000000000000000000374561347224572500261070ustar00rootroot00000000000000/*! \file memory.hpp \brief Support for types found in \ \ingroup STLSupport */ /* Copyright (c) 2014, Randolph Voorhies, Shane Grant All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * 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. * Neither the name of cereal nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "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 RANDOLPH VOORHIES OR SHANE GRANT 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. */ #ifndef CEREAL_TYPES_SHARED_PTR_HPP_ #define CEREAL_TYPES_SHARED_PTR_HPP_ #include "cereal/cereal.hpp" #include #include // Work around MSVC not having alignof #if defined(_MSC_VER) && _MSC_VER < 1900 #define CEREAL_ALIGNOF __alignof #else // not MSVC 2013 or older #define CEREAL_ALIGNOF alignof #endif // end MSVC check namespace cereal { namespace memory_detail { //! A wrapper class to notify cereal that it is ok to serialize the contained pointer /*! This mechanism allows us to intercept and properly handle polymorphic pointers @internal */ template struct PtrWrapper { PtrWrapper(T && p) : ptr(std::forward(p)) {} T & ptr; PtrWrapper & operator=( PtrWrapper const & ) = delete; }; //! Make a PtrWrapper /*! @internal */ template inline PtrWrapper make_ptr_wrapper(T && t) { return {std::forward(t)}; } //! A struct that acts as a wrapper around calling load_andor_construct /*! The purpose of this is to allow a load_and_construct call to properly enter into the 'data' NVP of the ptr_wrapper @internal */ template struct LoadAndConstructLoadWrapper { LoadAndConstructLoadWrapper( T * ptr ) : construct( ptr ) { } //! Constructor for embedding an early call for restoring shared_from_this template LoadAndConstructLoadWrapper( T * ptr, F && sharedFromThisFunc ) : construct( ptr, sharedFromThisFunc ) { } inline void CEREAL_SERIALIZE_FUNCTION_NAME( Archive & ar ) { ::cereal::detail::Construct::load_andor_construct( ar, construct ); } ::cereal::construct construct; }; //! A helper struct for saving and restoring the state of types that derive from //! std::enable_shared_from_this /*! This special struct is necessary because when a user uses load_and_construct, the weak_ptr (or whatever implementation defined variant) that allows enable_shared_from_this to function correctly will not be initialized properly. This internal weak_ptr can also be modified by the shared_ptr that is created during the serialization of a polymorphic pointer, where cereal creates a wrapper shared_ptr out of a void pointer to the real data. In the case of load_and_construct, this happens because it is the allocation of shared_ptr that perform this initialization, which we let happen on a buffer of memory (aligned_storage). This buffer is then used for placement new later on, effectively overwriting any initialized weak_ptr with a default initialized one, eventually leading to issues when the user calls shared_from_this. To get around these issues, we will store the memory for the enable_shared_from_this portion of the class and replace it after whatever happens to modify it (e.g. the user performing construction or the wrapper shared_ptr in saving). Example usage: @code{.cpp} T * myActualPointer; { EnableSharedStateHelper helper( myActualPointer ); // save the state std::shared_ptr myPtr( myActualPointer ); // modifies the internal weak_ptr // helper restores state when it goes out of scope } @endcode When possible, this is designed to be used in an RAII fashion - it will save state on construction and restore it on destruction. The restore can be done at an earlier time (e.g. after construct() is called in load_and_construct) in which case the destructor will do nothing. Performing the restore immediately following construct() allows a user to call shared_from_this within their load_and_construct function. @tparam T Type pointed to by shared_ptr @internal */ template class EnableSharedStateHelper { // typedefs for parent type and storage type using BaseType = typename ::cereal::traits::get_shared_from_this_base::type; using ParentType = std::enable_shared_from_this; using StorageType = typename std::aligned_storage::type; public: //! Saves the state of some type inheriting from enable_shared_from_this /*! @param ptr The raw pointer held by the shared_ptr */ inline EnableSharedStateHelper( T * ptr ) : itsPtr( static_cast( ptr ) ), itsState(), itsRestored( false ) { std::memcpy( &itsState, itsPtr, sizeof(ParentType) ); } //! Restores the state of the held pointer (can only be done once) inline void restore() { if( !itsRestored ) { std::memcpy( itsPtr, &itsState, sizeof(ParentType) ); itsRestored = true; } } //! Restores the state of the held pointer if not done previously inline ~EnableSharedStateHelper() { restore(); } private: ParentType * itsPtr; StorageType itsState; bool itsRestored; }; // end EnableSharedStateHelper //! Performs loading and construction for a shared pointer that is derived from //! std::enable_shared_from_this /*! @param ar The archive @param ptr Raw pointer held by the shared_ptr @internal */ template inline void loadAndConstructSharedPtr( Archive & ar, T * ptr, std::true_type /* has_shared_from_this */ ) { memory_detail::EnableSharedStateHelper state( ptr ); memory_detail::LoadAndConstructLoadWrapper loadWrapper( ptr, [&](){ state.restore(); } ); // let the user perform their initialization, shared state will be restored as soon as construct() // is called ar( CEREAL_NVP_("data", loadWrapper) ); } //! Performs loading and construction for a shared pointer that is NOT derived from //! std::enable_shared_from_this /*! This is the typical case, where we simply pass the load wrapper to the archive. @param ar The archive @param ptr Raw pointer held by the shared_ptr @internal */ template inline void loadAndConstructSharedPtr( Archive & ar, T * ptr, std::false_type /* has_shared_from_this */ ) { memory_detail::LoadAndConstructLoadWrapper loadWrapper( ptr ); ar( CEREAL_NVP_("data", loadWrapper) ); } } // end namespace memory_detail //! Saving std::shared_ptr for non polymorphic types template inline typename std::enable_if::value, void>::type CEREAL_SAVE_FUNCTION_NAME( Archive & ar, std::shared_ptr const & ptr ) { ar( CEREAL_NVP_("ptr_wrapper", memory_detail::make_ptr_wrapper( ptr )) ); } //! Loading std::shared_ptr, case when no user load and construct for non polymorphic types template inline typename std::enable_if::value, void>::type CEREAL_LOAD_FUNCTION_NAME( Archive & ar, std::shared_ptr & ptr ) { ar( CEREAL_NVP_("ptr_wrapper", memory_detail::make_ptr_wrapper( ptr )) ); } //! Saving std::weak_ptr for non polymorphic types template inline typename std::enable_if::value, void>::type CEREAL_SAVE_FUNCTION_NAME( Archive & ar, std::weak_ptr const & ptr ) { auto const sptr = ptr.lock(); ar( CEREAL_NVP_("ptr_wrapper", memory_detail::make_ptr_wrapper( sptr )) ); } //! Loading std::weak_ptr for non polymorphic types template inline typename std::enable_if::value, void>::type CEREAL_LOAD_FUNCTION_NAME( Archive & ar, std::weak_ptr & ptr ) { std::shared_ptr sptr; ar( CEREAL_NVP_("ptr_wrapper", memory_detail::make_ptr_wrapper( sptr )) ); ptr = sptr; } //! Saving std::unique_ptr for non polymorphic types template inline typename std::enable_if::value, void>::type CEREAL_SAVE_FUNCTION_NAME( Archive & ar, std::unique_ptr const & ptr ) { ar( CEREAL_NVP_("ptr_wrapper", memory_detail::make_ptr_wrapper( ptr )) ); } //! Loading std::unique_ptr, case when user provides load_and_construct for non polymorphic types template inline typename std::enable_if::value, void>::type CEREAL_LOAD_FUNCTION_NAME( Archive & ar, std::unique_ptr & ptr ) { ar( CEREAL_NVP_("ptr_wrapper", memory_detail::make_ptr_wrapper( ptr )) ); } // ###################################################################### // Pointer wrapper implementations follow below //! Saving std::shared_ptr (wrapper implementation) /*! @internal */ template inline void CEREAL_SAVE_FUNCTION_NAME( Archive & ar, memory_detail::PtrWrapper const &> const & wrapper ) { auto & ptr = wrapper.ptr; uint32_t id = ar.registerSharedPointer( ptr.get() ); ar( CEREAL_NVP_("id", id) ); if( id & detail::msb_32bit ) { ar( CEREAL_NVP_("data", *ptr) ); } } //! Loading std::shared_ptr, case when user load and construct (wrapper implementation) /*! @internal */ template inline typename std::enable_if::value, void>::type CEREAL_LOAD_FUNCTION_NAME( Archive & ar, memory_detail::PtrWrapper &> & wrapper ) { auto & ptr = wrapper.ptr; uint32_t id; ar( CEREAL_NVP_("id", id) ); if( id & detail::msb_32bit ) { // Storage type for the pointer - since we can't default construct this type, // we'll allocate it using std::aligned_storage and use a custom deleter using ST = typename std::aligned_storage::type; // Valid flag - set to true once construction finishes // This prevents us from calling the destructor on // uninitialized data. auto valid = std::make_shared( false ); // Allocate our storage, which we will treat as // uninitialized until initialized with placement new ptr.reset( reinterpret_cast( new ST() ), [=]( T * t ) { if( *valid ) t->~T(); delete reinterpret_cast( t ); } ); // Register the pointer ar.registerSharedPointer( id, ptr ); // Perform the actual loading and allocation memory_detail::loadAndConstructSharedPtr( ar, ptr.get(), typename ::cereal::traits::has_shared_from_this::type() ); // Mark pointer as valid (initialized) *valid = true; } else ptr = std::static_pointer_cast(ar.getSharedPointer(id)); } //! Loading std::shared_ptr, case when no user load and construct (wrapper implementation) /*! @internal */ template inline typename std::enable_if::value, void>::type CEREAL_LOAD_FUNCTION_NAME( Archive & ar, memory_detail::PtrWrapper &> & wrapper ) { auto & ptr = wrapper.ptr; uint32_t id; ar( CEREAL_NVP_("id", id) ); if( id & detail::msb_32bit ) { ptr.reset( detail::Construct::load_andor_construct() ); ar.registerSharedPointer( id, ptr ); ar( CEREAL_NVP_("data", *ptr) ); } else ptr = std::static_pointer_cast(ar.getSharedPointer(id)); } //! Saving std::unique_ptr (wrapper implementation) /*! @internal */ template inline void CEREAL_SAVE_FUNCTION_NAME( Archive & ar, memory_detail::PtrWrapper const &> const & wrapper ) { auto & ptr = wrapper.ptr; // unique_ptr get one byte of metadata which signifies whether they were a nullptr // 0 == nullptr // 1 == not null if( !ptr ) ar( CEREAL_NVP_("valid", uint8_t(0)) ); else { ar( CEREAL_NVP_("valid", uint8_t(1)) ); ar( CEREAL_NVP_("data", *ptr) ); } } //! Loading std::unique_ptr, case when user provides load_and_construct (wrapper implementation) /*! @internal */ template inline typename std::enable_if::value, void>::type CEREAL_LOAD_FUNCTION_NAME( Archive & ar, memory_detail::PtrWrapper &> & wrapper ) { uint8_t isValid; ar( CEREAL_NVP_("valid", isValid) ); auto & ptr = wrapper.ptr; if( isValid ) { // Storage type for the pointer - since we can't default construct this type, // we'll allocate it using std::aligned_storage using ST = typename std::aligned_storage::type; // Allocate storage - note the ST type so that deleter is correct if // an exception is thrown before we are initialized std::unique_ptr stPtr( new ST() ); // Use wrapper to enter into "data" nvp of ptr_wrapper memory_detail::LoadAndConstructLoadWrapper loadWrapper( reinterpret_cast( stPtr.get() ) ); // Initialize storage ar( CEREAL_NVP_("data", loadWrapper) ); // Transfer ownership to correct unique_ptr type ptr.reset( reinterpret_cast( stPtr.release() ) ); } else ptr.reset( nullptr ); } //! Loading std::unique_ptr, case when no load_and_construct (wrapper implementation) /*! @internal */ template inline typename std::enable_if::value, void>::type CEREAL_LOAD_FUNCTION_NAME( Archive & ar, memory_detail::PtrWrapper &> & wrapper ) { uint8_t isValid; ar( CEREAL_NVP_("valid", isValid) ); auto & ptr = wrapper.ptr; if( isValid ) { ptr.reset( detail::Construct::load_andor_construct() ); ar( CEREAL_NVP_( "data", *ptr ) ); } else { ptr.reset( nullptr ); } } } // namespace cereal // automatically include polymorphic support #include "cereal/types/polymorphic.hpp" #undef CEREAL_ALIGNOF #endif // CEREAL_TYPES_SHARED_PTR_HPP_blockattack-game-2.5.0/source/code/Libs/include/cereal/types/polymorphic.hpp000066400000000000000000000532101347224572500271260ustar00rootroot00000000000000/*! \file polymorphic.hpp \brief Support for pointers to polymorphic base classes \ingroup OtherTypes */ /* Copyright (c) 2014, Randolph Voorhies, Shane Grant All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * 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. * Neither the name of cereal nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "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 RANDOLPH VOORHIES OR SHANE GRANT 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. */ #ifndef CEREAL_TYPES_POLYMORPHIC_HPP_ #define CEREAL_TYPES_POLYMORPHIC_HPP_ #include "cereal/cereal.hpp" #include "cereal/types/memory.hpp" #include "cereal/details/util.hpp" #include "cereal/details/helpers.hpp" #include "cereal/details/traits.hpp" #include "cereal/details/polymorphic_impl.hpp" #ifdef _MSC_VER #define CEREAL_STATIC_CONSTEXPR static #else #define CEREAL_STATIC_CONSTEXPR static constexpr #endif //! Registers a derived polymorphic type with cereal /*! Polymorphic types must be registered before smart pointers to them can be serialized. Note that base classes do not need to be registered. Registering a type lets cereal know how to properly serialize it when a smart pointer to a base object is used in conjunction with a derived class. This assumes that all relevant archives have also previously been registered. Registration for archives is usually done in the header file in which they are defined. This means that type registration needs to happen after specific archives to be used are included. It is recommended that type registration be done in the header file in which the type is declared. Registration can also be placed in a source file, but this may require the use of the CEREAL_REGISTER_DYNAMIC_INIT macro (see below). Registration may be called repeatedly for the same type in different translation units to add support for additional archives if they are not initially available (included and registered). When building serialization support as a DLL on Windows, registration must happen in the header file. On Linux and Mac things should still work properly if placed in a source file, but see the above comments on registering in source files. Polymorphic support in cereal requires RTTI to be enabled */ #define CEREAL_REGISTER_TYPE(...) \ namespace cereal { \ namespace detail { \ template <> \ struct binding_name<__VA_ARGS__> \ { \ CEREAL_STATIC_CONSTEXPR char const * name() { return #__VA_ARGS__; } \ }; \ } } /* end namespaces */ \ CEREAL_BIND_TO_ARCHIVES(__VA_ARGS__) //! Registers a polymorphic type with cereal, giving it a //! user defined name /*! In some cases the default name used with CEREAL_REGISTER_TYPE (the name of the type) may not be suitable. This macro allows any name to be associated with the type. The name should be unique */ #define CEREAL_REGISTER_TYPE_WITH_NAME(T, Name) \ namespace cereal { \ namespace detail { \ template <> \ struct binding_name \ { CEREAL_STATIC_CONSTEXPR char const * name() { return Name; } }; \ } } /* end namespaces */ \ CEREAL_BIND_TO_ARCHIVES(T) //! Registers the base-derived relationship for a polymorphic type /*! When polymorphic serialization occurs, cereal needs to know how to properly cast between derived and base types for the polymorphic type. Normally this happens automatically whenever cereal::base_class or cereal::virtual_base_class are used to serialize a base class. In cases where neither of these is ever called but a base class still exists, this explicit registration is required. The Derived class should be the most derived type that will be serialized, and the Base type any possible base that has not been covered under a base class serialization that will be used to store a Derived pointer. Placement of this is the same as for CEREAL_REGISTER_TYPE. */ #define CEREAL_REGISTER_POLYMORPHIC_RELATION(Base, Derived) \ namespace cereal { \ namespace detail { \ template <> \ struct PolymorphicRelation \ { static void bind() { RegisterPolymorphicCaster::bind(); } }; \ } } /* end namespaces */ //! Adds a way to force initialization of a translation unit containing //! calls to CEREAL_REGISTER_TYPE /*! In C++, dynamic initialization of non-local variables of a translation unit may be deferred until "the first odr-use of any function or variable defined in the same translation unit as the variable to be initialized." Informally, odr-use means that your program takes the address of or binds a reference directly to an object, which must have a definition. Since polymorphic type support in cereal relies on the dynamic initialization of certain global objects happening before serialization is performed, it is important to ensure that something from files that call CEREAL_REGISTER_TYPE is odr-used before serialization occurs, otherwise the registration will never take place. This may often be the case when serialization is built as a shared library external from your main program. This macro, with any name of your choosing, should be placed into the source file that contains calls to CEREAL_REGISTER_TYPE. Its counterpart, CEREAL_FORCE_DYNAMIC_INIT, should be placed in its associated header file such that it is included in the translation units (source files) in which you want the registration to appear. @relates CEREAL_FORCE_DYNAMIC_INIT */ #define CEREAL_REGISTER_DYNAMIC_INIT(LibName) \ namespace cereal { \ namespace detail { \ void CEREAL_DLL_EXPORT dynamic_init_dummy_##LibName() {} \ } } /* end namespaces */ //! Forces dynamic initialization of polymorphic support in a //! previously registered source file /*! @sa CEREAL_REGISTER_DYNAMIC_INIT See CEREAL_REGISTER_DYNAMIC_INIT for detailed explanation of how this macro should be used. The name used should match that for CEREAL_REGISTER_DYNAMIC_INIT. */ #define CEREAL_FORCE_DYNAMIC_INIT(LibName) \ namespace cereal { \ namespace detail { \ void dynamic_init_dummy_##LibName(); \ } /* end detail */ \ namespace { \ void dynamic_init_##LibName() \ { \ ::cereal::detail::dynamic_init_dummy_##LibName(); \ } \ } } /* end namespaces */ namespace cereal { namespace polymorphic_detail { //! Error message used for unregistered polymorphic types /*! @internal */ #define UNREGISTERED_POLYMORPHIC_EXCEPTION(LoadSave, Name) \ throw cereal::Exception("Trying to " #LoadSave " an unregistered polymorphic type (" + Name + ").\n" \ "Make sure your type is registered with CEREAL_REGISTER_TYPE and that the archive " \ "you are using was included (and registered with CEREAL_REGISTER_ARCHIVE) prior to calling CEREAL_REGISTER_TYPE.\n" \ "If your type is already registered and you still see this error, you may need to use CEREAL_REGISTER_DYNAMIC_INIT."); //! Get an input binding from the given archive by deserializing the type meta data /*! @internal */ template inline typename ::cereal::detail::InputBindingMap::Serializers getInputBinding(Archive & ar, std::uint32_t const nameid) { // If the nameid is zero, we serialized a null pointer if(nameid == 0) { typename ::cereal::detail::InputBindingMap::Serializers emptySerializers; emptySerializers.shared_ptr = [](void*, std::shared_ptr & ptr, std::type_info const &) { ptr.reset(); }; emptySerializers.unique_ptr = [](void*, std::unique_ptr> & ptr, std::type_info const &) { ptr.reset( nullptr ); }; return emptySerializers; } std::string name; if(nameid & detail::msb_32bit) { ar( CEREAL_NVP_("polymorphic_name", name) ); ar.registerPolymorphicName(nameid, name); } else name = ar.getPolymorphicName(nameid); auto const & bindingMap = detail::StaticObject>::getInstance().map; auto binding = bindingMap.find(name); if(binding == bindingMap.end()) UNREGISTERED_POLYMORPHIC_EXCEPTION(load, name) return binding->second; } //! Serialize a shared_ptr if the 2nd msb in the nameid is set, and if we can actually construct the pointee /*! This check lets us try and skip doing polymorphic machinery if we can get away with using the derived class serialize function Note that on MSVC 2013 preview, is_default_constructible returns true for abstract classes with default constructors, but on clang/gcc this will return false. So we also need to check for that here. @internal */ template inline typename std::enable_if<(traits::is_default_constructible::value || traits::has_load_and_construct::value) && !std::is_abstract::value, bool>::type serialize_wrapper(Archive & ar, std::shared_ptr & ptr, std::uint32_t const nameid) { if(nameid & detail::msb2_32bit) { ar( CEREAL_NVP_("ptr_wrapper", memory_detail::make_ptr_wrapper(ptr)) ); return true; } return false; } //! Serialize a unique_ptr if the 2nd msb in the nameid is set, and if we can actually construct the pointee /*! This check lets us try and skip doing polymorphic machinery if we can get away with using the derived class serialize function @internal */ template inline typename std::enable_if<(traits::is_default_constructible::value || traits::has_load_and_construct::value) && !std::is_abstract::value, bool>::type serialize_wrapper(Archive & ar, std::unique_ptr & ptr, std::uint32_t const nameid) { if(nameid & detail::msb2_32bit) { ar( CEREAL_NVP_("ptr_wrapper", memory_detail::make_ptr_wrapper(ptr)) ); return true; } return false; } //! Serialize a shared_ptr if the 2nd msb in the nameid is set, and if we can actually construct the pointee /*! This case is for when we can't actually construct the shared pointer. Normally this would be caught as the pointer itself is serialized, but since this is a polymorphic pointer, if we tried to serialize the pointer we'd end up back here recursively. So we have to catch the error here as well, if this was a polymorphic type serialized by its proper pointer type @internal */ template inline typename std::enable_if<(!traits::is_default_constructible::value && !traits::has_load_and_construct::value) || std::is_abstract::value, bool>::type serialize_wrapper(Archive &, std::shared_ptr &, std::uint32_t const nameid) { if(nameid & detail::msb2_32bit) throw cereal::Exception("Cannot load a polymorphic type that is not default constructable and does not have a load_and_construct function"); return false; } //! Serialize a unique_ptr if the 2nd msb in the nameid is set, and if we can actually construct the pointee /*! This case is for when we can't actually construct the unique pointer. Normally this would be caught as the pointer itself is serialized, but since this is a polymorphic pointer, if we tried to serialize the pointer we'd end up back here recursively. So we have to catch the error here as well, if this was a polymorphic type serialized by its proper pointer type @internal */ template inline typename std::enable_if<(!traits::is_default_constructible::value && !traits::has_load_and_construct::value) || std::is_abstract::value, bool>::type serialize_wrapper(Archive &, std::unique_ptr &, std::uint32_t const nameid) { if(nameid & detail::msb2_32bit) throw cereal::Exception("Cannot load a polymorphic type that is not default constructable and does not have a load_and_construct function"); return false; } } // polymorphic_detail // ###################################################################### // Pointer serialization for polymorphic types //! Saving std::shared_ptr for polymorphic types, abstract template inline typename std::enable_if::value && std::is_abstract::value, void>::type CEREAL_SAVE_FUNCTION_NAME( Archive & ar, std::shared_ptr const & ptr ) { if(!ptr) { // same behavior as nullptr in memory implementation ar( CEREAL_NVP_("polymorphic_id", std::uint32_t(0)) ); return; } std::type_info const & ptrinfo = typeid(*ptr.get()); static std::type_info const & tinfo = typeid(T); // ptrinfo can never be equal to T info since we can't have an instance // of an abstract object // this implies we need to do the lookup auto const & bindingMap = detail::StaticObject>::getInstance().map; auto binding = bindingMap.find(std::type_index(ptrinfo)); if(binding == bindingMap.end()) UNREGISTERED_POLYMORPHIC_EXCEPTION(save, cereal::util::demangle(ptrinfo.name())) binding->second.shared_ptr(&ar, ptr.get(), tinfo); } //! Saving std::shared_ptr for polymorphic types, not abstract template inline typename std::enable_if::value && !std::is_abstract::value, void>::type CEREAL_SAVE_FUNCTION_NAME( Archive & ar, std::shared_ptr const & ptr ) { if(!ptr) { // same behavior as nullptr in memory implementation ar( CEREAL_NVP_("polymorphic_id", std::uint32_t(0)) ); return; } std::type_info const & ptrinfo = typeid(*ptr.get()); static std::type_info const & tinfo = typeid(T); if(ptrinfo == tinfo) { // The 2nd msb signals that the following pointer does not need to be // cast with our polymorphic machinery ar( CEREAL_NVP_("polymorphic_id", detail::msb2_32bit) ); ar( CEREAL_NVP_("ptr_wrapper", memory_detail::make_ptr_wrapper(ptr)) ); return; } auto const & bindingMap = detail::StaticObject>::getInstance().map; auto binding = bindingMap.find(std::type_index(ptrinfo)); if(binding == bindingMap.end()) UNREGISTERED_POLYMORPHIC_EXCEPTION(save, cereal::util::demangle(ptrinfo.name())) binding->second.shared_ptr(&ar, ptr.get(), tinfo); } //! Loading std::shared_ptr for polymorphic types template inline typename std::enable_if::value, void>::type CEREAL_LOAD_FUNCTION_NAME( Archive & ar, std::shared_ptr & ptr ) { std::uint32_t nameid; ar( CEREAL_NVP_("polymorphic_id", nameid) ); // Check to see if we can skip all of this polymorphism business if(polymorphic_detail::serialize_wrapper(ar, ptr, nameid)) return; auto binding = polymorphic_detail::getInputBinding(ar, nameid); std::shared_ptr result; binding.shared_ptr(&ar, result, typeid(T)); ptr = std::static_pointer_cast(result); } //! Saving std::weak_ptr for polymorphic types template inline typename std::enable_if::value, void>::type CEREAL_SAVE_FUNCTION_NAME( Archive & ar, std::weak_ptr const & ptr ) { auto const sptr = ptr.lock(); ar( CEREAL_NVP_("locked_ptr", sptr) ); } //! Loading std::weak_ptr for polymorphic types template inline typename std::enable_if::value, void>::type CEREAL_LOAD_FUNCTION_NAME( Archive & ar, std::weak_ptr & ptr ) { std::shared_ptr sptr; ar( CEREAL_NVP_("locked_ptr", sptr) ); ptr = sptr; } //! Saving std::unique_ptr for polymorphic types that are abstract template inline typename std::enable_if::value && std::is_abstract::value, void>::type CEREAL_SAVE_FUNCTION_NAME( Archive & ar, std::unique_ptr const & ptr ) { if(!ptr) { // same behavior as nullptr in memory implementation ar( CEREAL_NVP_("polymorphic_id", std::uint32_t(0)) ); return; } std::type_info const & ptrinfo = typeid(*ptr.get()); static std::type_info const & tinfo = typeid(T); // ptrinfo can never be equal to T info since we can't have an instance // of an abstract object // this implies we need to do the lookup auto const & bindingMap = detail::StaticObject>::getInstance().map; auto binding = bindingMap.find(std::type_index(ptrinfo)); if(binding == bindingMap.end()) UNREGISTERED_POLYMORPHIC_EXCEPTION(save, cereal::util::demangle(ptrinfo.name())) binding->second.unique_ptr(&ar, ptr.get(), tinfo); } //! Saving std::unique_ptr for polymorphic types, not abstract template inline typename std::enable_if::value && !std::is_abstract::value, void>::type CEREAL_SAVE_FUNCTION_NAME( Archive & ar, std::unique_ptr const & ptr ) { if(!ptr) { // same behavior as nullptr in memory implementation ar( CEREAL_NVP_("polymorphic_id", std::uint32_t(0)) ); return; } std::type_info const & ptrinfo = typeid(*ptr.get()); static std::type_info const & tinfo = typeid(T); if(ptrinfo == tinfo) { // The 2nd msb signals that the following pointer does not need to be // cast with our polymorphic machinery ar( CEREAL_NVP_("polymorphic_id", detail::msb2_32bit) ); ar( CEREAL_NVP_("ptr_wrapper", memory_detail::make_ptr_wrapper(ptr)) ); return; } auto const & bindingMap = detail::StaticObject>::getInstance().map; auto binding = bindingMap.find(std::type_index(ptrinfo)); if(binding == bindingMap.end()) UNREGISTERED_POLYMORPHIC_EXCEPTION(save, cereal::util::demangle(ptrinfo.name())) binding->second.unique_ptr(&ar, ptr.get(), tinfo); } //! Loading std::unique_ptr, case when user provides load_and_construct for polymorphic types template inline typename std::enable_if::value, void>::type CEREAL_LOAD_FUNCTION_NAME( Archive & ar, std::unique_ptr & ptr ) { std::uint32_t nameid; ar( CEREAL_NVP_("polymorphic_id", nameid) ); // Check to see if we can skip all of this polymorphism business if(polymorphic_detail::serialize_wrapper(ar, ptr, nameid)) return; auto binding = polymorphic_detail::getInputBinding(ar, nameid); std::unique_ptr> result; binding.unique_ptr(&ar, result, typeid(T)); ptr.reset(static_cast(result.release())); } #undef UNREGISTERED_POLYMORPHIC_EXCEPTION } // namespace cereal #endif // CEREAL_TYPES_POLYMORPHIC_HPP_ blockattack-game-2.5.0/source/code/Libs/include/cereal/types/queue.hpp000066400000000000000000000112311347224572500257020ustar00rootroot00000000000000/*! \file queue.hpp \brief Support for types found in \ \ingroup STLSupport */ /* Copyright (c) 2014, Randolph Voorhies, Shane Grant All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * 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. * Neither the name of cereal nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "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 RANDOLPH VOORHIES OR SHANE GRANT 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. */ #ifndef CEREAL_TYPES_QUEUE_HPP_ #define CEREAL_TYPES_QUEUE_HPP_ #include "cereal/details/helpers.hpp" #include // The default container for queue is deque, so let's include that too #include "cereal/types/deque.hpp" // The default comparator for queue is less #include "cereal/types/functional.hpp" namespace cereal { namespace queue_detail { //! Allows access to the protected container in queue /*! @internal */ template inline C const & container( std::queue const & queue ) { struct H : public std::queue { static C const & get( std::queue const & q ) { return q.*(&H::c); } }; return H::get( queue ); } //! Allows access to the protected container in priority queue /*! @internal */ template inline C const & container( std::priority_queue const & priority_queue ) { struct H : public std::priority_queue { static C const & get( std::priority_queue const & pq ) { return pq.*(&H::c); } }; return H::get( priority_queue ); } //! Allows access to the protected comparator in priority queue /*! @internal */ template inline Comp const & comparator( std::priority_queue const & priority_queue ) { struct H : public std::priority_queue { static Comp const & get( std::priority_queue const & pq ) { return pq.*(&H::comp); } }; return H::get( priority_queue ); } } //! Saving for std::queue template inline void CEREAL_SAVE_FUNCTION_NAME( Archive & ar, std::queue const & queue ) { ar( CEREAL_NVP_("container", queue_detail::container( queue )) ); } //! Loading for std::queue template inline void CEREAL_LOAD_FUNCTION_NAME( Archive & ar, std::queue & queue ) { C container; ar( CEREAL_NVP_("container", container) ); queue = std::queue( std::move( container ) ); } //! Saving for std::priority_queue template inline void CEREAL_SAVE_FUNCTION_NAME( Archive & ar, std::priority_queue const & priority_queue ) { ar( CEREAL_NVP_("comparator", queue_detail::comparator( priority_queue )) ); ar( CEREAL_NVP_("container", queue_detail::container( priority_queue )) ); } //! Loading for std::priority_queue template inline void CEREAL_LOAD_FUNCTION_NAME( Archive & ar, std::priority_queue & priority_queue ) { Comp comparator; ar( CEREAL_NVP_("comparator", comparator) ); C container; ar( CEREAL_NVP_("container", container) ); priority_queue = std::priority_queue( comparator, std::move( container ) ); } } // namespace cereal #endif // CEREAL_TYPES_QUEUE_HPP_ blockattack-game-2.5.0/source/code/Libs/include/cereal/types/set.hpp000066400000000000000000000067341347224572500253650ustar00rootroot00000000000000/*! \file set.hpp \brief Support for types found in \ \ingroup STLSupport */ /* Copyright (c) 2014, Randolph Voorhies, Shane Grant All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * 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. * Neither the name of cereal nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "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 RANDOLPH VOORHIES OR SHANE GRANT 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. */ #ifndef CEREAL_TYPES_SET_HPP_ #define CEREAL_TYPES_SET_HPP_ #include "cereal/cereal.hpp" #include namespace cereal { namespace set_detail { //! @internal template inline void save( Archive & ar, SetT const & set ) { ar( make_size_tag( static_cast(set.size()) ) ); for( const auto & i : set ) ar( i ); } //! @internal template inline void load( Archive & ar, SetT & set ) { size_type size; ar( make_size_tag( size ) ); set.clear(); auto hint = set.begin(); for( size_type i = 0; i < size; ++i ) { typename SetT::key_type key; ar( key ); #ifdef CEREAL_OLDER_GCC hint = set.insert( hint, std::move( key ) ); #else // NOT CEREAL_OLDER_GCC hint = set.emplace_hint( hint, std::move( key ) ); #endif // NOT CEREAL_OLDER_GCC } } } //! Saving for std::set template inline void CEREAL_SAVE_FUNCTION_NAME( Archive & ar, std::set const & set ) { set_detail::save( ar, set ); } //! Loading for std::set template inline void CEREAL_LOAD_FUNCTION_NAME( Archive & ar, std::set & set ) { set_detail::load( ar, set ); } //! Saving for std::multiset template inline void CEREAL_SAVE_FUNCTION_NAME( Archive & ar, std::multiset const & multiset ) { set_detail::save( ar, multiset ); } //! Loading for std::multiset template inline void CEREAL_LOAD_FUNCTION_NAME( Archive & ar, std::multiset & multiset ) { set_detail::load( ar, multiset ); } } // namespace cereal #endif // CEREAL_TYPES_SET_HPP_ blockattack-game-2.5.0/source/code/Libs/include/cereal/types/stack.hpp000066400000000000000000000055001347224572500256650ustar00rootroot00000000000000/*! \file stack.hpp \brief Support for types found in \ \ingroup STLSupport */ /* Copyright (c) 2014, Randolph Voorhies, Shane Grant All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * 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. * Neither the name of cereal nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "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 RANDOLPH VOORHIES OR SHANE GRANT 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. */ #ifndef CEREAL_TYPES_STACK_HPP_ #define CEREAL_TYPES_STACK_HPP_ #include "cereal/cereal.hpp" #include // The default container for stack is deque, so let's include that too #include "cereal/types/deque.hpp" namespace cereal { namespace stack_detail { //! Allows access to the protected container in stack template inline C const & container( std::stack const & stack ) { struct H : public std::stack { static C const & get( std::stack const & s ) { return s.*(&H::c); } }; return H::get( stack ); } } //! Saving for std::stack template inline void CEREAL_SAVE_FUNCTION_NAME( Archive & ar, std::stack const & stack ) { ar( CEREAL_NVP_("container", stack_detail::container( stack )) ); } //! Loading for std::stack template inline void CEREAL_LOAD_FUNCTION_NAME( Archive & ar, std::stack & stack ) { C container; ar( CEREAL_NVP_("container", container) ); stack = std::stack( std::move( container ) ); } } // namespace cereal #endif // CEREAL_TYPES_STACK_HPP_ blockattack-game-2.5.0/source/code/Libs/include/cereal/types/string.hpp000066400000000000000000000055671347224572500261030ustar00rootroot00000000000000/*! \file string.hpp \brief Support for types found in \ \ingroup STLSupport */ /* Copyright (c) 2014, Randolph Voorhies, Shane Grant All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * 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. * Neither the name of cereal nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "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 RANDOLPH VOORHIES OR SHANE GRANT 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. */ #ifndef CEREAL_TYPES_STRING_HPP_ #define CEREAL_TYPES_STRING_HPP_ #include "cereal/cereal.hpp" #include namespace cereal { //! Serialization for basic_string types, if binary data is supported template inline typename std::enable_if, Archive>::value, void>::type CEREAL_SAVE_FUNCTION_NAME(Archive & ar, std::basic_string const & str) { // Save number of chars + the data ar( make_size_tag( static_cast(str.size()) ) ); ar( binary_data( str.data(), str.size() * sizeof(CharT) ) ); } //! Serialization for basic_string types, if binary data is supported template inline typename std::enable_if, Archive>::value, void>::type CEREAL_LOAD_FUNCTION_NAME(Archive & ar, std::basic_string & str) { size_type size; ar( make_size_tag( size ) ); str.resize(static_cast(size)); ar( binary_data( const_cast( str.data() ), static_cast(size) * sizeof(CharT) ) ); } } // namespace cereal #endif // CEREAL_TYPES_STRING_HPP_ blockattack-game-2.5.0/source/code/Libs/include/cereal/types/tuple.hpp000066400000000000000000000107311347224572500257130ustar00rootroot00000000000000/*! \file tuple.hpp \brief Support for types found in \ \ingroup STLSupport */ /* Copyright (c) 2014, Randolph Voorhies, Shane Grant All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * 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. * Neither the name of cereal nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "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 RANDOLPH VOORHIES OR SHANE GRANT 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. */ #ifndef CEREAL_TYPES_TUPLE_HPP_ #define CEREAL_TYPES_TUPLE_HPP_ #include "cereal/cereal.hpp" #include namespace cereal { namespace tuple_detail { //! Creates a c string from a sequence of characters /*! The c string created will alwas be prefixed by "tuple_element" Based on code from: http://stackoverflow/a/20973438/710791 @internal */ template struct char_seq_to_c_str { static const int size = 14;// Size of array for the word: tuple_element typedef const char (&arr_type)[sizeof...(Cs) + size]; static const char str[sizeof...(Cs) + size]; }; // the word tuple_element plus a number //! @internal template const char char_seq_to_c_str::str[sizeof...(Cs) + size] = {'t','u','p','l','e','_','e','l','e','m','e','n','t', Cs..., '\0'}; //! Converts a number into a sequence of characters /*! @tparam Q The quotient of dividing the original number by 10 @tparam R The remainder of dividing the original number by 10 @tparam C The sequence built so far @internal */ template struct to_string_impl { using type = typename to_string_impl::type; }; //! Base case with no quotient /*! @internal */ template struct to_string_impl<0, R, C...> { using type = char_seq_to_c_str; }; //! Generates a c string for a given index of a tuple /*! Example use: @code{cpp} tuple_element_name<3>::c_str();// returns "tuple_element3" @endcode @internal */ template struct tuple_element_name { using type = typename to_string_impl::type; static const typename type::arr_type c_str(){ return type::str; }; }; // unwinds a tuple to save it //! @internal template struct serialize { template inline static void apply( Archive & ar, std::tuple & tuple ) { serialize::template apply( ar, tuple ); ar( CEREAL_NVP_(tuple_element_name::c_str(), std::get( tuple )) ); } }; // Zero height specialization - nothing to do here //! @internal template <> struct serialize<0> { template inline static void apply( Archive &, std::tuple & ) { } }; } //! Serializing for std::tuple template inline void CEREAL_SERIALIZE_FUNCTION_NAME( Archive & ar, std::tuple & tuple ) { tuple_detail::serialize>::value>::template apply( ar, tuple ); } } // namespace cereal #endif // CEREAL_TYPES_TUPLE_HPP_ blockattack-game-2.5.0/source/code/Libs/include/cereal/types/unordered_map.hpp000066400000000000000000000035451347224572500274130ustar00rootroot00000000000000/*! \file unordered_map.hpp \brief Support for types found in \ \ingroup STLSupport */ /* Copyright (c) 2014, Randolph Voorhies, Shane Grant All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * 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. * Neither the name of cereal nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "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 RANDOLPH VOORHIES OR SHANE GRANT 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. */ #ifndef CEREAL_TYPES_UNORDERED_MAP_HPP_ #define CEREAL_TYPES_UNORDERED_MAP_HPP_ #include "cereal/types/concepts/pair_associative_container.hpp" #include #endif // CEREAL_TYPES_UNORDERED_MAP_HPP_ blockattack-game-2.5.0/source/code/Libs/include/cereal/types/unordered_set.hpp000066400000000000000000000072061347224572500274270ustar00rootroot00000000000000/*! \file unordered_set.hpp \brief Support for types found in \ \ingroup STLSupport */ /* Copyright (c) 2014, Randolph Voorhies, Shane Grant All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * 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. * Neither the name of cereal nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "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 RANDOLPH VOORHIES OR SHANE GRANT 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. */ #ifndef CEREAL_TYPES_UNORDERED_SET_HPP_ #define CEREAL_TYPES_UNORDERED_SET_HPP_ #include "cereal/cereal.hpp" #include namespace cereal { namespace unordered_set_detail { //! @internal template inline void save( Archive & ar, SetT const & set ) { ar( make_size_tag( static_cast(set.size()) ) ); for( const auto & i : set ) ar( i ); } //! @internal template inline void load( Archive & ar, SetT & set ) { size_type size; ar( make_size_tag( size ) ); set.clear(); set.reserve( static_cast( size ) ); for( size_type i = 0; i < size; ++i ) { typename SetT::key_type key; ar( key ); set.emplace( std::move( key ) ); } } } //! Saving for std::unordered_set template inline void CEREAL_SAVE_FUNCTION_NAME( Archive & ar, std::unordered_set const & unordered_set ) { unordered_set_detail::save( ar, unordered_set ); } //! Loading for std::unordered_set template inline void CEREAL_LOAD_FUNCTION_NAME( Archive & ar, std::unordered_set & unordered_set ) { unordered_set_detail::load( ar, unordered_set ); } //! Saving for std::unordered_multiset template inline void CEREAL_SAVE_FUNCTION_NAME( Archive & ar, std::unordered_multiset const & unordered_multiset ) { unordered_set_detail::save( ar, unordered_multiset ); } //! Loading for std::unordered_multiset template inline void CEREAL_LOAD_FUNCTION_NAME( Archive & ar, std::unordered_multiset & unordered_multiset ) { unordered_set_detail::load( ar, unordered_multiset ); } } // namespace cereal #endif // CEREAL_TYPES_UNORDERED_SET_HPP_ blockattack-game-2.5.0/source/code/Libs/include/cereal/types/utility.hpp000066400000000000000000000041171347224572500262660ustar00rootroot00000000000000/*! \file utility.hpp \brief Support for types found in \ \ingroup STLSupport */ /* Copyright (c) 2014, Randolph Voorhies, Shane Grant All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * 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. * Neither the name of cereal nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "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 RANDOLPH VOORHIES OR SHANE GRANT 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. */ #ifndef CEREAL_TYPES_UTILITY_HPP_ #define CEREAL_TYPES_UTILITY_HPP_ #include "cereal/cereal.hpp" #include namespace cereal { //! Serializing for std::pair template inline void CEREAL_SERIALIZE_FUNCTION_NAME( Archive & ar, std::pair & pair ) { ar( CEREAL_NVP_("first", pair.first), CEREAL_NVP_("second", pair.second) ); } } // namespace cereal #endif // CEREAL_TYPES_UTILITY_HPP_ blockattack-game-2.5.0/source/code/Libs/include/cereal/types/valarray.hpp000066400000000000000000000075461347224572500264150ustar00rootroot00000000000000/*! \file valarray.hpp \brief Support for types found in \ \ingroup STLSupport */ /* Copyright (c) 2014, Randolph Voorhies, Shane Grant All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * 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. * Neither the name of cereal nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "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 RANDOLPH VOORHIES OR SHANE GRANT 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. */ #ifndef CEREAL_TYPES_VALARRAY_HPP_ #define CEREAL_TYPES_VALARRAY_HPP_ #include "cereal/cereal.hpp" #include namespace cereal { //! Saving for std::valarray arithmetic types, using binary serialization, if supported template inline typename std::enable_if, Archive>::value && std::is_arithmetic::value, void>::type CEREAL_SAVE_FUNCTION_NAME( Archive & ar, std::valarray const & valarray ) { ar( make_size_tag( static_cast(valarray.size()) ) ); // number of elements ar( binary_data( &valarray[0], valarray.size() * sizeof(T) ) ); // &valarray[0] ok since guaranteed contiguous } //! Loading for std::valarray arithmetic types, using binary serialization, if supported template inline typename std::enable_if, Archive>::value && std::is_arithmetic::value, void>::type CEREAL_LOAD_FUNCTION_NAME( Archive & ar, std::valarray & valarray ) { size_type valarraySize; ar( make_size_tag( valarraySize ) ); valarray.resize( static_cast( valarraySize ) ); ar( binary_data( &valarray[0], static_cast( valarraySize ) * sizeof(T) ) ); } //! Saving for std::valarray all other types template inline typename std::enable_if, Archive>::value || !std::is_arithmetic::value, void>::type CEREAL_SAVE_FUNCTION_NAME( Archive & ar, std::valarray const & valarray ) { ar( make_size_tag( static_cast(valarray.size()) ) ); // number of elements for(auto && v : valarray) ar(v); } //! Loading for std::valarray all other types template inline typename std::enable_if, Archive>::value || !std::is_arithmetic::value, void>::type CEREAL_LOAD_FUNCTION_NAME( Archive & ar, std::valarray & valarray ) { size_type valarraySize; ar( make_size_tag( valarraySize ) ); valarray.resize( static_cast( valarraySize ) ); for(auto && v : valarray) ar(v); } } // namespace cereal #endif // CEREAL_TYPES_VALARRAY_HPP_ blockattack-game-2.5.0/source/code/Libs/include/cereal/types/vector.hpp000066400000000000000000000112471347224572500260670ustar00rootroot00000000000000/*! \file vector.hpp \brief Support for types found in \ \ingroup STLSupport */ /* Copyright (c) 2014, Randolph Voorhies, Shane Grant All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * 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. * Neither the name of cereal nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "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 RANDOLPH VOORHIES OR SHANE GRANT 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. */ #ifndef CEREAL_TYPES_VECTOR_HPP_ #define CEREAL_TYPES_VECTOR_HPP_ #include "cereal/cereal.hpp" #include namespace cereal { //! Serialization for std::vectors of arithmetic (but not bool) using binary serialization, if supported template inline typename std::enable_if, Archive>::value && std::is_arithmetic::value && !std::is_same::value, void>::type CEREAL_SAVE_FUNCTION_NAME( Archive & ar, std::vector const & vector ) { ar( make_size_tag( static_cast(vector.size()) ) ); // number of elements ar( binary_data( vector.data(), vector.size() * sizeof(T) ) ); } //! Serialization for std::vectors of arithmetic (but not bool) using binary serialization, if supported template inline typename std::enable_if, Archive>::value && std::is_arithmetic::value && !std::is_same::value, void>::type CEREAL_LOAD_FUNCTION_NAME( Archive & ar, std::vector & vector ) { size_type vectorSize; ar( make_size_tag( vectorSize ) ); vector.resize( static_cast( vectorSize ) ); ar( binary_data( vector.data(), static_cast( vectorSize ) * sizeof(T) ) ); } //! Serialization for non-arithmetic vector types template inline typename std::enable_if, Archive>::value || !std::is_arithmetic::value, void>::type CEREAL_SAVE_FUNCTION_NAME( Archive & ar, std::vector const & vector ) { ar( make_size_tag( static_cast(vector.size()) ) ); // number of elements for(auto && v : vector) ar( v ); } //! Serialization for non-arithmetic vector types template inline typename std::enable_if, Archive>::value || !std::is_arithmetic::value, void>::type CEREAL_LOAD_FUNCTION_NAME( Archive & ar, std::vector & vector ) { size_type size; ar( make_size_tag( size ) ); vector.resize( static_cast( size ) ); for(auto && v : vector) ar( v ); } //! Serialization for bool vector types template inline void CEREAL_SAVE_FUNCTION_NAME( Archive & ar, std::vector const & vector ) { ar( make_size_tag( static_cast(vector.size()) ) ); // number of elements for(auto && v : vector) ar( static_cast(v) ); } //! Serialization for bool vector types template inline void CEREAL_LOAD_FUNCTION_NAME( Archive & ar, std::vector & vector ) { size_type size; ar( make_size_tag( size ) ); vector.resize( static_cast( size ) ); for(auto && v : vector) { bool b; ar( b ); v = b; } } } // namespace cereal #endif // CEREAL_TYPES_VECTOR_HPP_ blockattack-game-2.5.0/source/code/MenuSystem.cpp000066400000000000000000000243551347224572500217620ustar00rootroot00000000000000/* =========================================================================== blockattack - Block Attack - Rise of the Blocks Copyright (C) 2005-2012 Poul Sander 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 2 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 http://www.gnu.org/licenses/ Source information and contacts persons can be found at https://blockattack.net =========================================================================== */ #include "MenuSystem.h" #include "common.h" #include "global.hpp" #include "gamecontroller.h" #include "BlockGame.hpp" static int oldmousex = 0; static int oldmousey = 0; const char* const menu_marked = "menu_marked"; const char* const menu_unmarked = "menu_unmarked"; ButtonGfx standardButton; void ButtonGfx::setSurfaces() { this->xsize = globalData.spriteHolder->GetSprite(menu_marked).GetWidth(); this->ysize = globalData.spriteHolder->GetSprite(menu_marked).GetHeight(); if (globalData.verboseLevel) { std::cout << "Surfaces set, size: " << this->xsize << " , " << this->ysize << "\n"; } } sago::SagoTextField* ButtonGfx::getLabel(const std::string& text) { const auto& theLabel = labels.find(text); if (theLabel != labels.end()) { return labels[text].get(); } std::shared_ptr newField = std::make_shared(); newField->SetHolder(&globalData.spriteHolder->GetDataHolder()); newField->SetFont("freeserif"); newField->SetFontSize(30); newField->SetOutline(1, {64,64,64,255}); newField->SetText(text); labels[text] = newField; return labels[text].get(); } Button::Button() { label = ""; marked = false; action = nullptr; popOnRun = false; } Button::~Button() { } Button::Button(const Button& b) : action{b.action}, label{b.label}, marked{b.marked} { } Button& Button::operator=(const Button& other) { action = other.action; label = other.label; marked = other.marked; return *this; } void Button::setLabel(const std::string& text) { label = text; } void Button::setAction(void (*action2run)(void)) { action = action2run; } void Button::doAction() { if (action) { action(); return; } std::cerr << "Warning: button \"" << label << "\" has no action assigned!"; } void Button::setPopOnRun(bool popOnRun) { this->popOnRun = popOnRun; } bool Button::isPopOnRun() const { return popOnRun; } static void drawToScreen(const Button& b) { if (b.marked) { globalData.spriteHolder->GetSprite(menu_marked).Draw(globalData.screen, SDL_GetTicks(), b.x, b.y); } else { globalData.spriteHolder->GetSprite(menu_unmarked).Draw(globalData.screen, SDL_GetTicks(), b.x, b.y); } standardButton.getLabel(b.label)->Draw(globalData.screen, b.x+standardButton.xsize/2,b.y+standardButton.ysize/2, sago::SagoTextField::Alignment::center, sago::SagoTextField::VerticalAlignment::center); } static bool isClicked(const Button& b, int x,int y) { if ( x >= b.x && y >= b.y && x<= b.x+standardButton.xsize && y <= b.y + standardButton.ysize) { return true; } return false; } void Menu::drawSelf(SDL_Renderer* target) { DrawBackground(target); for (const Button* b : buttons) { drawToScreen(*b); } drawToScreen(exit); standardButton.getLabel(title)->Draw(target, 50, 50); } void Menu::placeButtons() { int nextY = 100; int X = 50; for (Button* it : buttons) { X = (globalData.xsize - standardButton.xsize)/2; it->x = X; it->y = nextY; nextY += standardButton.ysize+10; } exit.x = X; exit.y = nextY; } void Menu::addButton(Button* b) { buttons.push_back(b); b->marked = false; placeButtons(); } Menu::Menu(SDL_Renderer* screen) { this->screen = screen; buttons = std::vector(10); isSubmenu = true; exit.setLabel( _("Back") ); } Menu::Menu(SDL_Renderer* screen,bool submenu) { this->screen = screen; buttons = std::vector(0); isSubmenu = submenu; if (isSubmenu) { exit.setLabel( _("Back") ); } else { exit.setLabel( _("Exit") ); } } Menu::Menu(SDL_Renderer* screen, const std::string& title, bool submenu) : title{title} { this->screen = screen; buttons = std::vector(0); isSubmenu = submenu; if (isSubmenu) { exit.setLabel(_("Back") ); } else { exit.setLabel(_("Exit") ); } } bool isUpEvent(const SDL_Event& event) { if ( event.type == SDL_KEYDOWN ) { if (event.key.keysym.sym == SDLK_UP) { return true; } } if (event.type == SDL_CONTROLLERBUTTONDOWN) { if (event.cbutton.button == SDL_CONTROLLER_BUTTON_DPAD_UP ) { return true; } } if (event.type == SDL_CONTROLLERAXISMOTION && event.caxis.axis == SDL_CONTROLLER_AXIS_LEFTY ) { checkDeadZone(event); const SDL_ControllerAxisEvent& a = event.caxis; if (getDeadZone(a.which, a.axis)) { if (event.caxis.value < -deadZoneLimit) { setDeadZone(a.which,a.axis,false); return true; } } } return false; } bool isDownEvent(const SDL_Event& event) { if ( event.type == SDL_KEYDOWN ) { if (event.key.keysym.sym == SDLK_DOWN) { return true; } } if (event.type == SDL_CONTROLLERBUTTONDOWN) { if (event.cbutton.button == SDL_CONTROLLER_BUTTON_DPAD_DOWN ) { return true; } } if (event.type == SDL_CONTROLLERAXISMOTION && event.caxis.axis == SDL_CONTROLLER_AXIS_LEFTY ) { checkDeadZone(event); const SDL_ControllerAxisEvent& a = event.caxis; if (getDeadZone(a.which, a.axis)) { if (event.caxis.value > deadZoneLimit) { setDeadZone(a.which,a.axis,false); return true; } } } return false; } bool isLeftEvent(const SDL_Event& event) { if ( event.type == SDL_KEYDOWN ) { if (event.key.keysym.sym == SDLK_LEFT) { return true; } } if (event.type == SDL_CONTROLLERBUTTONDOWN) { if (event.cbutton.button == SDL_CONTROLLER_BUTTON_DPAD_LEFT ) { return true; } } if (event.type == SDL_CONTROLLERAXISMOTION && event.caxis.axis == SDL_CONTROLLER_AXIS_LEFTX ) { checkDeadZone(event); const SDL_ControllerAxisEvent& a = event.caxis; if (getDeadZone(a.which, a.axis)) { if (event.caxis.value < -deadZoneLimit) { setDeadZone(a.which,a.axis,false); return true; } } } return false; } bool isRightEvent(const SDL_Event& event) { if ( event.type == SDL_KEYDOWN ) { if (event.key.keysym.sym == SDLK_RIGHT) { return true; } } if (event.type == SDL_CONTROLLERBUTTONDOWN) { if (event.cbutton.button == SDL_CONTROLLER_BUTTON_DPAD_RIGHT ) { return true; } } if (event.type == SDL_CONTROLLERAXISMOTION && event.caxis.axis == SDL_CONTROLLER_AXIS_LEFTX ) { checkDeadZone(event); const SDL_ControllerAxisEvent& a = event.caxis; if (getDeadZone(a.which, a.axis)) { if (event.caxis.value > deadZoneLimit) { setDeadZone(a.which,a.axis,false); return true; } } } return false; } bool isEscapeEvent(const SDL_Event& event) { if ( event.type == SDL_KEYDOWN ) { if ( event.key.keysym.sym == SDLK_ESCAPE ) { return true; } } if (event.type == SDL_CONTROLLERBUTTONDOWN) { if (event.cbutton.button == SDL_CONTROLLER_BUTTON_Y || event.cbutton.button == SDL_CONTROLLER_BUTTON_BACK ) { return true; } } return false; } bool isConfirmEvent(const SDL_Event& event) { if ( event.type == SDL_KEYDOWN ) { if (event.key.keysym.sym == SDLK_RETURN || event.key.keysym.sym == SDLK_KP_ENTER ) { return true; } } if (event.type == SDL_CONTROLLERBUTTONDOWN) { if (event.cbutton.button == SDL_CONTROLLER_BUTTON_A || event.cbutton.button == SDL_CONTROLLER_BUTTON_B ) { return true; } } return false; } bool Menu::IsActive() { return running; } void Menu::Draw(SDL_Renderer* target) { placeButtons(); drawSelf(target); #if DEBUG static unsigned long int Frames; static unsigned long int Ticks; static char FPS[10]; static sago::SagoTextField fpsField; sagoTextSetBlueFont(fpsField); Frames++; if (SDL_GetTicks() >= Ticks + 1000) { if (Frames > 999) { Frames=999; } snprintf(FPS, sizeof(FPS), "%lu fps", Frames); Frames = 0; Ticks = SDL_GetTicks(); } fpsField.SetText(FPS); fpsField.Draw(globalData.screen, 800, 4); #endif } void Menu::ProcessInput(const SDL_Event& event, bool& processed) { if (isUpEvent(event)) { marked--; if (marked<0) { marked = buttons.size(); //not -1, since exit is after the last element in the list } processed = true; } if (isDownEvent(event)) { marked++; if (marked> (int)buttons.size()) { marked = 0; } processed = true; } if (isEscapeEvent(event) && isSubmenu) { running = false; processed = true; } if (isConfirmEvent(event)) { bMouseUp = false; if (marked < (int)buttons.size()) { buttons.at(marked)->doAction(); if (buttons.at(marked)->isPopOnRun()) { running = false; } } if (marked == (int)buttons.size()) { running = false; } processed = true; } } void Menu::Update() { for (int i=0; i<(int)buttons.size(); i++) { buttons.at(i)->marked = (i == marked); } exit.marked = (marked == (int)buttons.size()); Uint8 buttonState = SDL_GetMouseState(nullptr,nullptr); // If the mouse button is released, make bMouseUp equal true if ( (buttonState&SDL_BUTTON(1))==0) { bMouseUp=true; } if (abs(globalData.mousex-oldmousex)>5 || abs(globalData.mousey-oldmousey)>5) { for (int i=0; i< (int)buttons.size(); ++i) { if (isClicked(*buttons.at(i), globalData.mousex, globalData.mousey)) { marked = i; } } if (isClicked(exit, globalData.mousex, globalData.mousey)) { marked = buttons.size(); } oldmousex = globalData.mousex; oldmousey = globalData.mousey; } //mouse clicked if ( (buttonState&SDL_BUTTON(1) )==SDL_BUTTON(1) && bMouseUp) { bMouseUp = false; for (int i=0; i< (int)buttons.size(); ++i) { if (isClicked(*buttons.at(i), globalData.mousex, globalData.mousey)) { buttons.at(i)->doAction(); if (buttons.at(i)->isPopOnRun()) { running = false; } //Quit here to ensure that we do not continue checking buttons after we have done the action. return; } } if (isClicked(exit, globalData.mousex, globalData.mousey)) { running = false; } } } blockattack-game-2.5.0/source/code/MenuSystem.h000066400000000000000000000101101347224572500214070ustar00rootroot00000000000000/* =========================================================================== blockattack - Block Attack - Rise of the Blocks Copyright (C) 2005-2012 Poul Sander 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 2 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 http://www.gnu.org/licenses/ Source information and contacts persons can be found at http://blockattack.net =========================================================================== */ #ifndef _MENUSYSTEM_H #define _MENUSYSTEM_H #include #include "SDL.h" #include #include #include "sago/SagoSprite.hpp" #include "sago/GameStateInterface.hpp" #include #include "sago/SagoTextField.hpp" //The ButtonGfx object hold common media for all buttons, so we can reskin them by only changeing one pointer struct ButtonGfx { //The size of the buttons, so we don't have to ask w and h from the SDL Surfaces each time int xsize = 0; int ysize = 0; sago::SagoTextField* getLabel(const std::string& text); void setSurfaces(); private: std::map > labels; }; extern ButtonGfx standardButton; //A button class Button { private: //Pointer to a callback function. void (*action)(void); //If true the menu should also be closed then the button is clicked bool popOnRun = false; public: //The label. This is written on the button std::string label; //Is the button marked? bool marked = false; //Where is the button on the screen int x = 0; int y = 0; Button(); Button(const Button& b); Button& operator=(const Button& other); virtual ~Button(); //Set the text to write on the button void setLabel(const std::string& text); //Set the action to run void setAction(void (*action2run)(void)); virtual void doAction(); //Run the callback function void setPopOnRun(bool popOnRun); bool isPopOnRun() const; //May hold any other information the callback might need int iGeneric1 = 0; }; class Menu : public sago::GameStateInterface { private: std::vector buttons; //Vector holder the buttons Button exit; //The exit button is special since it does not have a callback function bool isSubmenu = false; //True if the menu is a submenu int marked = 0; //The index of the marked button (for keyboard up/down) bool running = true; //The menu is running. The menu will terminate then this is false SDL_Renderer *screen = nullptr; //Pointer to the screen to draw to std::string title; void drawSelf(SDL_Renderer* target); //Private function to draw the screen void placeButtons(); //Rearanges the buttons to the correct place. bool bMouseUp = false; public: //numberOfItems is the expected numberOfItems for vector initialization //SubMenu is true by default Menu(SDL_Renderer *screen,bool isSubmenu); Menu(SDL_Renderer *screen); Menu(SDL_Renderer *screen, const std::string& title, bool isSubmenu); virtual ~Menu() {} //Add a button to the menu void addButton(Button *b); bool IsActive() override; void Draw(SDL_Renderer* target) override; void ProcessInput(const SDL_Event& event, bool &processed) override; void Update() override; }; class FileMenu { private: std::string pm_path; std::string pm_fileending; bool pm_hidden_files = false; public: FileMenu(const std::string& path, const std::string& fileending, bool hidden_files = false); std::string getFile(SDL_Surface **screen); }; bool isUpEvent(const SDL_Event& event); bool isDownEvent(const SDL_Event& event); bool isLeftEvent(const SDL_Event& event); bool isRightEvent(const SDL_Event& event); bool isEscapeEvent(const SDL_Event& event); bool isConfirmEvent(const SDL_Event& event); #endif /* _MENUSYSTEM_H */ blockattack-game-2.5.0/source/code/ReadKeyboard.cpp000066400000000000000000000061051347224572500221760ustar00rootroot00000000000000/* =========================================================================== blockattack - Block Attack - Rise of the Blocks Copyright (C) 2005-2018 Poul Sander 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 2 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 http://www.gnu.org/licenses/ Source information and contacts persons can be found at https://blockattack.net =========================================================================== */ #include "ReadKeyboard.h" #include "utf8.h" #include ReadKeyboard::ReadKeyboard(void) { maxLength = 16; position = text_string.begin(); } ReadKeyboard::~ReadKeyboard(void) { } int ReadKeyboard::CharsBeforeCursor() { return std::distance(text_string.begin(), position); } ReadKeyboard::ReadKeyboard(const char* oldName) : maxLength(16), text_string(oldName) { position = text_string.end(); } void ReadKeyboard::putchar(const std::string& thing) { if ( (int)text_string.length() < maxLength) { int oldPostition = utf8::distance(text_string.begin(), position); int lengthOfInsertString = utf8::distance(thing.begin(), thing.end()); text_string.insert(position, thing.begin(), thing.end()); position = text_string.begin(); //Inserting may destroy our old iterator utf8::advance(position, oldPostition + lengthOfInsertString, text_string.end()); } } void ReadKeyboard::removeChar() { if (position < text_string.end()) { std::string::iterator endChar= position; utf8::advance(endChar, 1, text_string.end()); text_string.erase(position, endChar); } } bool ReadKeyboard::ReadKey(const SDL_Event& key) { if (key.type == SDL_TEXTINPUT) { putchar(key.text.text); if (key.text.text[0] != 0) { return true; } } return ReadKey(key.key.keysym.sym); } bool ReadKeyboard::ReadKey(SDL_Keycode keyPressed) { if (keyPressed == SDLK_DELETE) { if ((text_string.length()>0)&& (positiontext_string.begin()) { utf8::prior(position, text_string.begin()); ReadKeyboard::removeChar(); return true; } return false; } if (keyPressed == SDLK_HOME) { position = text_string.begin(); return true; } if (keyPressed == SDLK_END) { position=text_string.end(); return true; } if ((keyPressed == SDLK_LEFT) && (position>text_string.begin())) { utf8::prior(position, text_string.begin()); return true; } if ((keyPressed == SDLK_RIGHT) && (position class ReadKeyboard { private: int maxLength = 0; std::string::iterator position; std::string text_string; void putchar(const std::string& ); void removeChar(); public: ReadKeyboard(void); ~ReadKeyboard(void); ReadKeyboard(const char*); int CharsBeforeCursor(); //Where should the cursor be placed? bool ReadKey(const SDL_Event&); bool ReadKey(SDL_Keycode); //true if key accepted const std::string& GetString(void) const; }; #endif //READKEYBOARD_HPPblockattack-game-2.5.0/source/code/ReplayPlayer.cpp000066400000000000000000000035151347224572500222550ustar00rootroot00000000000000/* =========================================================================== blockattack - Block Attack - Rise of the Blocks Copyright (C) 2005-2017 Poul Sander 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 2 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 http://www.gnu.org/licenses/ Source information and contacts persons can be found at http://www.blockattack.net =========================================================================== */ #include "ReplayPlayer.hpp" #include "global.hpp" #include "common.h" #include "MenuSystem.h" //#include "BlockGameSdl.inc" /*static void MoveBlockGameSdls( BlockGameSdl& game1, BlockGameSdl& game2 ) { game1.SetTopXY(globalData.xsize/2-416, globalData.ysize/2-284); game2.SetTopXY(globalData.xsize/2+40, globalData.ysize/2-284); }*/ ReplayPlayer::ReplayPlayer() { } ReplayPlayer::~ReplayPlayer() { } bool ReplayPlayer::IsActive() { return isActive; } void ReplayPlayer::Draw(SDL_Renderer* target) { DrawBackground(target); //MoveBlockGameSdls(theGame, theGame2); //DrawEverything(globalData.xsize, globalData.ysize, &theGame, &theGame2); } void ReplayPlayer::ProcessInput(const SDL_Event& event, bool& processed) { UpdateMouseCoordinates(event, globalData.mousex, globalData.mousey); if (isConfirmEvent(event) || isEscapeEvent(event)) { isActive = false; processed = true; } } void ReplayPlayer::Update() { } blockattack-game-2.5.0/source/code/ReplayPlayer.hpp000066400000000000000000000026121347224572500222570ustar00rootroot00000000000000/* =========================================================================== blockattack - Block Attack - Rise of the Blocks Copyright (C) 2005-2017 Poul Sander 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 2 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 http://www.gnu.org/licenses/ Source information and contacts persons can be found at http://www.blockattack.net =========================================================================== */ #ifndef REPLAYPLAYER_HPP #define REPLAYPLAYER_HPP #include "sago/GameStateInterface.hpp" class ReplayPlayer : public sago::GameStateInterface { public: ReplayPlayer(); ReplayPlayer(const ReplayPlayer& orig) = delete; virtual ~ReplayPlayer(); bool IsActive() override; void Draw(SDL_Renderer* target) override; void ProcessInput(const SDL_Event& event, bool &processed) override; void Update() override; private: bool isActive = true; }; #endif /* REPLAYPLAYER_HPP */ blockattack-game-2.5.0/source/code/ScoresDisplay.cpp000066400000000000000000000216101347224572500224240ustar00rootroot00000000000000/* =========================================================================== blockattack - Block Attack - Rise of the Blocks Copyright (C) 2005-2016 Poul Sander 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 2 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 http://www.gnu.org/licenses/ Source information and contacts persons can be found at http://www.blockattack.net =========================================================================== */ #include "ScoresDisplay.hpp" #include "global.hpp" #include "common.h" #include "stats.h" #include "MenuSystem.h" const int buttonOffsetX = 140; const int buttonOffsetY = 180; extern sago::SagoSprite bExit; static void setButtonFont(const sago::SagoDataHolder* holder, sago::SagoTextField& field, const char* text) { field.SetHolder(holder); field.SetFont("freeserif"); field.SetColor({255,255,255,255}); field.SetFontSize(24); field.SetOutline(1, {128,128,128,255}); field.SetText(text); } sago::SagoTextField* ScoresDisplay::getCachedText(const std::string& text) { std::shared_ptr ptr = fieldCache[text]; if (!ptr) { std::shared_ptr newText = std::make_shared(); sagoTextSetBlueFont(*newText.get()); newText->SetText(text); fieldCache[text] = newText; } return fieldCache[text].get(); } void ScoresDisplay::Write(SDL_Renderer* target, int x, int y, const char* text) { getCachedText(text)->Draw(target, x, y); } const int numberOfPages = 7; void ScoresDisplay::DrawBackgroundAndCalcPlacements() { DrawBackground(globalData.screen); nextX = globalData.xsize-buttonXsize-20; backY = globalData.ysize-buttonYsize-20; nextY = backY; } //Draws the highscores void ScoresDisplay::DrawHighscores(int x, int y, bool endless, int level = 0) { DrawBackgroundAndCalcPlacements(); if (endless) { std::string header; switch (level) { case 1: header = _("Endless (Fast):"); break; case 2: header = _("Endless (Faster):"); break; case 3: header = _("Endless (Even faster):"); break; case 4: header = _("Endless (Fastest):"); break; default: header = _("Endless:"); }; Write(globalData.screen, x+100,y+100, header.c_str() ); } else { Write(globalData.screen, x+100,y+100, _("Time Trial:") ); } for (int i =0; i<10; i++) { record r; if (endless) { switch(level) { case 1: r = theTopScoresEndless1.getScoreNumber(i); break; case 2: r = theTopScoresEndless2.getScoreNumber(i); break; case 3: r = theTopScoresEndless3.getScoreNumber(i); break; case 4: r = theTopScoresEndless4.getScoreNumber(i); break; default: r = theTopScoresEndless0.getScoreNumber(i); } } else { r = theTopScoresTimeTrial.getScoreNumber(i); } char playerScore[32]; char playerName[32]; snprintf(playerScore, sizeof(playerScore), "%i", r.score); snprintf(playerName, sizeof(playerName), "%s", r.name.c_str()); Write(globalData.screen, x+420,y+150+i*35, playerScore); Write(globalData.screen, x+60,y+150+i*35, playerName); } } void ScoresDisplay::DrawStats() { DrawBackgroundAndCalcPlacements(); int y = 5; const int y_spacing = 30; Write(globalData.screen, 10,y,_("Stats") ); y+=y_spacing*2; Write(globalData.screen, 10,y,_("Chains") ); for (int i=2; i<13; i++) { y+=y_spacing; Write(globalData.screen, 10,y,(std::to_string(i)+"X").c_str()); std::string numberAsString = std::to_string(Stats::getInstance()->getNumberOf("chainX"+std::to_string(i))); Write(globalData.screen, 300,y,numberAsString.c_str()); } y+=y_spacing*2; Write(globalData.screen, 10,y,_("Lines Pushed: ") ); std::string numberAsString = std::to_string(Stats::getInstance()->getNumberOf("linesPushed")); Write(globalData.screen, 300,y,numberAsString.c_str()); y+=y_spacing; Write(globalData.screen, 10,y, _("Puzzles solved: ") ); numberAsString = std::to_string(Stats::getInstance()->getNumberOf("puzzlesSolved")); Write(globalData.screen, 300,y,numberAsString.c_str()); y+=y_spacing*2; Write(globalData.screen, 10,y, _("Run time: ") ); commonTime ct = TimeHandler::peekTime("totalTime",TimeHandler::ms2ct(SDL_GetTicks())); y+=y_spacing; Write(globalData.screen, 10, y, SPrintCF( _("Days: %i"), ct.days) ); y+=y_spacing; Write(globalData.screen, 10, y, SPrintCF( _("Hours: %i"), ct.hours) ); y+=y_spacing; Write(globalData.screen, 10, y, SPrintCF( _("Minutes: %i"), ct.minutes) ); y+=y_spacing; Write(globalData.screen, 10, y, SPrintCF( _("Seconds: %i"), ct.seconds) ); y-=y_spacing*4; //Four rows back const int x_offset3 = globalData.xsize/3+10; //Ofset for three rows Write(globalData.screen, x_offset3,y, _("Play time: ") ); ct = TimeHandler::getTime("playTime"); y+=y_spacing; Write(globalData.screen, x_offset3, y, SPrintCF( _("Days: %i"), ct.days) ); y+=y_spacing; Write(globalData.screen, x_offset3, y, SPrintCF( _("Hours: %i"), ct.hours) ); y+=y_spacing; Write(globalData.screen, x_offset3, y, SPrintCF( _("Minutes: %i"), ct.minutes) ); y+=y_spacing; Write(globalData.screen, x_offset3, y, SPrintCF( _("Seconds: %i"), ct.seconds) ); const int x_offset = globalData.xsize/2+10; y = 5+y_spacing*2; Write(globalData.screen, x_offset,y, _("VS CPU (win/loss)") ); for (int i=0; i<7; i++) { y += y_spacing; Write(globalData.screen, x_offset,y,std::string("AI "+std::to_string(i+1)).c_str()); numberAsString = std::to_string(Stats::getInstance()->getNumberOf("defeatedAI"+std::to_string(i))); std::string numberAsString2 = std::to_string(Stats::getInstance()->getNumberOf("defeatedByAI"+std::to_string(i))); std::string toPrint = numberAsString + "/" + numberAsString2; Write(globalData.screen, x_offset+230,y,toPrint.c_str()); } } ScoresDisplay::ScoresDisplay() { } ScoresDisplay::~ScoresDisplay() { } bool ScoresDisplay::IsActive() { return isActive; } void ScoresDisplay::Draw(SDL_Renderer*) { switch (page) { case 0: case 1: case 2: case 3: case 4: //Highscores, endless DrawHighscores(100,100,true, page); break; case 5: //Highscores, Time Trial DrawHighscores(100,100,false); break; case 6: default: DrawStats(); }; const sago::SagoDataHolder* holder = &globalData.spriteHolder->GetDataHolder(); //Draw buttons: bExit.Draw(globalData.screen, SDL_GetTicks(), globalData.xsize-buttonOffsetX, globalData.ysize-buttonOffsetY); globalData.bBack.Draw(globalData.screen, 0, backX, backY); static sago::SagoTextField backLabel; setButtonFont(holder, backLabel, _("Back")); backLabel.Draw(globalData.screen, backX+60,backY+10, sago::SagoTextField::Alignment::center); globalData.bNext.Draw(globalData.screen, 0, nextX, nextY); static sago::SagoTextField nextLabel; setButtonFont(holder, nextLabel, _("Next")); nextLabel.Draw(globalData.screen, nextX+60, nextY+10, sago::SagoTextField::Alignment::center); //Draw page number std::string pageXofY = SPrintStringF(_("Page %i of %i"), page+1, numberOfPages); getCachedText(pageXofY)->Draw(globalData.screen, globalData.xsize/2, globalData.ysize-60, sago::SagoTextField::Alignment::center); } void ScoresDisplay::ProcessInput(const SDL_Event& event, bool& processed) { UpdateMouseCoordinates(event, globalData.mousex, globalData.mousey); if (isRightEvent(event)) { page++; if (page>=numberOfPages) { page = 0; } processed = true; } if (isLeftEvent(event)) { page--; if (page<0) { page = numberOfPages-1; } processed = true; } if (isConfirmEvent(event) || isEscapeEvent(event)) { isActive = false; processed = true; } } void ScoresDisplay::Update() { // If the mouse button is released, make bMouseUp equal true if ( !(SDL_GetMouseState(nullptr, nullptr)&SDL_BUTTON(1)) ) { bMouseUp=true; } if (SDL_GetMouseState(nullptr,nullptr)&SDL_BUTTON(1) && bMouseUp) { bMouseUp = false; //The Exit button: if ((globalData.mousex>globalData.xsize-buttonOffsetX) && (globalData.mousexglobalData.ysize-buttonOffsetY) && (globalData.mouseybackX) && (globalData.mousexbackY) && (globalData.mouseynextX) && (globalData.mousexnextY) && (globalData.mousey=numberOfPages) { page = 0; } } } }blockattack-game-2.5.0/source/code/ScoresDisplay.hpp000066400000000000000000000051261347224572500224350ustar00rootroot00000000000000/* =========================================================================== blockattack - Block Attack - Rise of the Blocks Copyright (C) 2005-2016 Poul Sander 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 2 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 http://www.gnu.org/licenses/ Source information and contacts persons can be found at http://www.blockattack.net =========================================================================== */ #ifndef SCORESDISPLAY_HPP #define SCORESDISPLAY_HPP #include "sago/GameStateInterface.hpp" #include "sago/SagoTextField.hpp" #include #include #include "highscore.h" class ScoresDisplay : public sago::GameStateInterface { public: ScoresDisplay(); ScoresDisplay(const ScoresDisplay& orig) = delete; virtual ~ScoresDisplay(); bool IsActive() override; void Draw(SDL_Renderer* target) override; void ProcessInput(const SDL_Event& event, bool &processed) override; void Update() override; int page = 0; //button coodinates: int scoreX = 0; int scoreY = 0; int buttonXsize = 0; int buttonYsize = 0; Highscore theTopScoresEndless0 = Highscore("endless", 0.5); //Stores highscores for endless Highscore theTopScoresEndless1 = Highscore("endless", 0.1); //Stores highscores for endless Highscore theTopScoresEndless2 = Highscore("endless", 0.07); //Stores highscores for endless Highscore theTopScoresEndless3 = Highscore("endless", 0.04); //Stores highscores for endless Highscore theTopScoresEndless4 = Highscore("endless", 0.015); //Stores highscores for endless Highscore theTopScoresTimeTrial = Highscore("timetrial", 0.5); //Stores highscores for timetrial private: void DrawHighscores(int x, int y, bool endless, int speedLevel); void DrawStats(); void DrawBackgroundAndCalcPlacements(); void Write(SDL_Renderer* target, int x, int y, const char* text); sago::SagoTextField* getCachedText(const std::string& text); std::map > fieldCache; bool isActive = true; bool bMouseUp = false; int backX = 20; int backY = 0; int nextX = 0; int nextY = 0; }; #endif /* SCORESDISPLAY_HPP */ blockattack-game-2.5.0/source/code/ShowFileState.cpp000066400000000000000000000072521347224572500223670ustar00rootroot00000000000000/* =========================================================================== blockattack - Block Attack - Rise of the Blocks Copyright (C) 2005-2018 Poul Sander 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 2 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 http://www.gnu.org/licenses/ Source information and contacts persons can be found at https://blockattack.net =========================================================================== */ #include "ShowFileState.hpp" #include "global.hpp" #include "common.h" #include "MenuSystem.h" const int buttonOffset = 160; extern sago::SagoSprite bExit; static void setHelpGamepadFont(const sago::SagoDataHolder* holder, sago::SagoTextField& field, const char* text) { field.SetHolder(holder); field.SetFont("freeserif"); field.SetColor({255,255,255,255}); field.SetFontSize(30); field.SetOutline(1, {128,128,128,255}); field.SetText(text); } static void setHelpGamepadFont(const sago::SagoDataHolder* holder, sago::SagoTextBox& field, const char* text) { field.SetHolder(holder); field.SetFont("freeserif"); field.SetColor({255,255,255,255}); field.SetColor({0,0,0,255}); field.SetFontSize(20); field.SetOutline(0, {0,0,0,255}); field.SetText(text); } ShowFileState::ShowFileState() { setHelpGamepadFont(&globalData.spriteHolder->GetDataHolder(), titleField, ""); setHelpGamepadFont(&globalData.spriteHolder->GetDataHolder(), infoBox, ""); setHelpGamepadFont(&globalData.spriteHolder->GetDataHolder(), filenameField, ""); } ShowFileState::~ShowFileState() { } bool ShowFileState::IsActive() { return isActive; } void ShowFileState::ProcessInput(const SDL_Event& event, bool& processed) { UpdateMouseCoordinates(event, globalData.mousex, globalData.mousey); if (isConfirmEvent(event) || isEscapeEvent(event)) { isActive = false; processed = true; } } extern void DrawRectYellow(SDL_Renderer* target, int topx, int topy, int height, int width); void ShowFileState::Draw(SDL_Renderer* target) { DrawBackground(target); titleField.Draw(target, 50, 50); DrawRectYellow(target, 40, 90, 600, 900); infoBox.SetMaxWidth(850); infoBox.Draw(target, 50, 100); DrawRectYellow(target, 40, 700, 50, 900); filenameField.Draw(target, 50, 715); bExit.Draw(globalData.screen, SDL_GetTicks(), globalData.xsize-buttonOffset, globalData.ysize-buttonOffset); #if DEBUG static sago::SagoTextField mousePos; mousePos.SetHolder(&globalData.spriteHolder->GetDataHolder()); mousePos.SetFontSize(16); mousePos.SetOutline(1, {128,128,128,255}); mousePos.SetText(std::string("Mouse position: ")+std::to_string(globalData.mousex)+std::string(", ")+std::to_string(globalData.mousey)); mousePos.Draw(target, 0,0); #endif } void ShowFileState::Update() { // If the mouse button is released, make bMouseUp equal true if ( !(SDL_GetMouseState(nullptr, nullptr)&SDL_BUTTON(1)) ) { bMouseUp=true; } if (SDL_GetMouseState(nullptr,nullptr)&SDL_BUTTON(1) && bMouseUp) { bMouseUp = false; //The Score button: if ((globalData.mousex>globalData.xsize-buttonOffset) && (globalData.mousexglobalData.ysize-buttonOffset) && (globalData.mousey #include "common.h" class ShowFileState : public sago::GameStateInterface { public: ShowFileState(); ShowFileState(const ShowFileState& orig) = delete; virtual ~ShowFileState(); bool IsActive() override; void Draw(SDL_Renderer* target) override; void ProcessInput(const SDL_Event& event, bool &processed) override; void Update() override; void SetData(const std::string& filename, const std::string& header) { titleField.SetText(header); infoBox.SetText(sago::GetFileContent(filename)); filenameField.SetText(SPrintStringF(_("Showing content of: %s"), filename.c_str())); } private: bool isActive = true; bool bMouseUp = true; sago::SagoTextField titleField; sago::SagoTextBox filenameField; sago::SagoTextBox infoBox; }; #endif /* SHOWFILESTATE_HPP */ blockattack-game-2.5.0/source/code/TextManager.hpp000066400000000000000000000045221347224572500220670ustar00rootroot00000000000000/* =========================================================================== blockattack - Block Attack - Rise of the Blocks Copyright (C) 2005-2017 Poul Sander 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 2 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 http://www.gnu.org/licenses/ Source information and contacts persons can be found at https://blockattack.net =========================================================================== */ #ifndef TEXTMANAGER_HPP #define TEXTMANAGER_HPP #include #include class TextMessage { private: int x = 0; int y = 0; unsigned int textt = 0; unsigned long int time = 0; unsigned long int placeTime = 0; //Then the text was placed public: bool inUse = false; TextMessage() { } //constructor: TextMessage(int X, int Y,unsigned int Text,unsigned int Time) { placeTime = SDL_GetTicks(); x = X; y = Y; textt = Text; time = Time; } //constructor //true if the text has expired bool removeMe() { return SDL_GetTicks()-placeTime>time; } int getX() { return x; } int getY() { return y; } unsigned int getText() { return textt; } }; //text popup class TextManager { static const int maxNumberOfTexts = 6*12*2*2; public: std::array textArray; TextManager() { } int addText(int x, int y, unsigned int Text, unsigned int Time) { size_t textNumber = 0; while (textNumber #include #include "os.hpp" #include "sago/SagoMiscSdl2.hpp" #include "sago/SagoMisc.hpp" #include bool strequals(const char* a, const char* b) { return strcmp(a,b) == 0; } void dieOnNullptr(bool ptr, const char* msg) { if (!ptr) { sago::SagoFatalError(msg); } } double str2double(const std::string& str2parse) { try { return std::stod(str2parse); } catch (...) { return 0.0; } } std::string SPrintStringF(const char* fmt, ...) { std::string ret; char buffer[1024]; va_list args; va_start(args, fmt); vsnprintf(buffer, sizeof(buffer), fmt, args); ret = buffer; va_end(args); return ret; } const char* SPrintCF(const char* fmt, ...) { static char buffer[1024]; va_list args; va_start(args, fmt); vsnprintf(buffer, sizeof(buffer), fmt, args); va_end(args); return buffer; } int str2int(const std::string& str2parse) { try { return std::stoi(str2parse); } catch (...) { return 0; } } /** * Takes a number of milliseconds and returns the value in commonTime format. */ commonTime TimeHandler::ms2ct(unsigned int milliseconds) { commonTime ct; ct.days = 0; unsigned int time = milliseconds; ct.hours = time/(1000*60*60); time = time % (1000*60*60); ct.minutes = time/(1000*60); time = time % (1000*60); ct.seconds = time/1000; return ct; } commonTime TimeHandler::getTime(const std::string& name) { commonTime ct; ct.days = Config::getInstance()->getInt(name+"Days"); ct.hours = Config::getInstance()->getInt(name+"Hours"); ct.minutes = Config::getInstance()->getInt(name+"Minutes"); ct.seconds = Config::getInstance()->getInt(name+"Seconds"); return ct; } /** * Returns the total runtime with toAdd added but without writing it to config file. * Used for stats */ commonTime TimeHandler::peekTime(const std::string& name, const commonTime& toAdd) { commonTime ct = getTime(name); ct.seconds +=toAdd.seconds; ct.minutes +=ct.seconds/60; ct.seconds = ct.seconds%60; ct.minutes += toAdd.minutes; ct.hours += ct.minutes/60; ct.minutes = ct.minutes%60; ct.hours += toAdd.hours; ct.days += ct.hours/24; ct.hours = ct.hours%24; ct.days += toAdd.days; return ct; } /** * Same as peekTotalTime but writes the time to the config file. * Should only be called only once! when the program shuts down */ commonTime TimeHandler::addTime(const std::string& name, const commonTime& toAdd) { commonTime ct = peekTime(name,toAdd); Config::getInstance()->setInt(name+"Days",ct.days); Config::getInstance()->setInt(name+"Hours",ct.hours); Config::getInstance()->setInt(name+"Minutes",ct.minutes); Config::getInstance()->setInt(name+"Seconds",ct.seconds); return ct; } Config* Config::instance = 0; Config::Config() { configMap.clear(); load(); shuttingDown = 0; // Not shutting down } void Config::load() { std::string filecontent = sago::GetFileContent("configFile"); std::stringstream inFile(filecontent); std::string key; std::string previuskey; if (inFile) { while (!inFile.eof()) { inFile >> key; if (key==previuskey) { //the last entry will be read 2 times if a linebreak is missing in the end continue; } previuskey = key; inFile.get(); //Read the space between the key and the content std::string value; std::getline(inFile, value); #if DEBUG std::cerr << "Config read: " << key << " with:\"" << value << "\"" << "\n"; #endif configMap[key] = value; } } } Config* Config::getInstance() { if (Config::instance==0) { Config::instance = new Config(); } return Config::instance; } void Config::save() { std::stringstream outFile; std::map::iterator iter; for (iter = configMap.begin(); iter != configMap.end(); ++iter) { outFile << iter->first << " " << iter->second << "\n"; } outFile << "\n"; //The last entry in the file will be read double if a linebreak is missing //This is checked on load too in case a user changes it himself. sago::WriteFileContent("configFile", outFile.str()); } bool Config::exists(const std::string& varName) const { //Using that find returns an iterator to the end of the map if not found return configMap.find(varName) != configMap.end(); } void Config::setDefault(const std::string& varName,const std::string& content) { if (exists(varName)) { return; //Already exists do not change } setString(varName,content); } void Config::setShuttingDown(long shuttingDown) { this->shuttingDown = shuttingDown; } long Config::isShuttingDown() const { return shuttingDown; } void Config::setString(const std::string& varName, const std::string& content) { configMap[varName] = content; } void Config::setInt(const std::string& varName, int content) { configMap[varName] = std::to_string(content); } void Config::setValue(const std::string& varName,double content) { configMap[varName] = std::to_string(content); } std::string Config::getString(const std::string& varName) { if (exists(varName)) { return configMap[varName]; } else { return ""; } } int Config::getInt(const std::string& varName) { if (exists(varName)) { return str2int(configMap[varName]); } else { return 0; } } double Config::getValue(const std::string& varName) { if (exists(varName)) { return str2double(configMap[varName]); } else { return 0.0; } } blockattack-game-2.5.0/source/code/common.h000066400000000000000000000141251347224572500206000ustar00rootroot00000000000000/* =========================================================================== blockattack - Block Attack - Rise of the Blocks Copyright (C) 2005-2012 Poul Sander 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 2 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 http://www.gnu.org/licenses/ Source information and contacts persons can be found at https://blockattack.net =========================================================================== */ /* *This is the common.h *It contains some basic functions that nearly all multi platform games are going *to need. */ #ifndef _COMMON_H #define _COMMON_H #include #include #include #include #include #include #define _(String) gettext (String) struct commonTime { unsigned int days = 0; unsigned int hours = 0; unsigned int minutes = 0; unsigned int seconds = 0; }; bool strequals(const char* a, const char* b); /** * str2int parses a string and returns an int with the value of the string. * if the string is not an int then 0 is returned instead of throwing an error * in that way this function will always return a usable value. */ int str2int(const std::string &str2parse) __attribute__((const)); void dieOnNullptr(bool, const char* msg); /** * str2double parses a string and returns a double with the value of the string. * if the string is not a double then 0.0 is returned instead of throwing an error * in that way this function will always return a usable value. */ double str2double(const std::string &str2parse) __attribute__((const)); /** * Does the equivalent to snprintf but returns a C++ string * @param fmt The format string * @param ... Additional parameters for the place holders * @return A string with the result */ std::string SPrintStringF(const char* fmt, ...) __attribute__ ((format (printf, 1, 2))); /** * Prints to an internal C-buffer * Because it uses an internal buffer the returned buffer is only valid until the next call * The String is cut at 1024 chars (including the 0 terminator) * @param fmt The format string * @param ... Additional parameters for the place holders * @return Pointer to an internal buffer */ const char* SPrintCF(const char* fmt, ...) __attribute__ ((format (printf, 1, 2))); class TimeHandler { public: static commonTime ms2ct(unsigned int milliseconds); static commonTime getTime(const std::string &name); static commonTime peekTime(const std::string &name, const commonTime &toAdd); static commonTime addTime(const std::string &name, const commonTime &toAdd); }; #define MAX_VAR_LENGTH 1024 /*This is the Config class it is a map to hold config variables. *It is inspired by Quake 3's CVAR system although a lot simpler. *All variables have keys "varName" that is used to access a variable. * *This class is a singleton */ class Config { private: std::map configMap; static Config *instance; void load(); /* tells if the user has requested a shutdown */ long shuttingDown = 0; Config(); public: /*Config is a singleton. *It is accessed like this: *Config::getInstance()->method2call(parameters); */ static Config* getInstance(); /*save() *forces the config to be written to disk. This will also happened if the *program terminates normally. */ void save(); /*getString(varName) *Looks in the config file and returns the string that matches the key "varName" *Returns an empty string if varName does not exist. */ std::string getString(const std::string &varName); /*getInt(varName) *Looks in the config file and returns the int that matches the key "varName" *Returns "0" if varName does not exist or cannot be parsed. */ int getInt(const std::string &varName); /*getValue(varName) *Looks in the config file and returns the double that matches the key "varName" *Returns "0.0" if varName does not exist or cannot be parsed. */ double getValue(const std::string &varName); /*setString(varName,content) *Sets the config variable with key "varName" to the value of "content" */ void setString(const std::string &varName, const std::string &content); /*setInt(varName,content) *Sets the config variable with key "varName" to the value of "content" */ void setInt(const std::string &varName, int content); /** * Sets a config variable to a given (double) value * @param varName Name of the variable to set * @param content Value to give the variable */ void setValue(const std::string &varName,double content); /** * returns true if the key varName exists. This is used the first time 1.4.0 * starts so that it can see that it has to import configs from an earlier * version. * @param varName Name of the variable * @return true if the variable exists */ bool exists(const std::string &varName) const; /*setDefault(varName,value) *if the variable "varName" does not exist it will be created with value "value" *if varName exists then this will have no effect */ /** * Set default value for a variable. If the variable "varName" does not exist it will be created with value "value" * if varName exists then this will have no effect * @param varName Name of the variable * @param content The default value */ void setDefault(const std::string &varName, const std::string &content); /** * Should be set if the user has requested the program to shutdown. * @param shuttingDown value of shutdown command. 5 = default = shutdown but allow saving */ void setShuttingDown(long shuttingDown = 5); /** * tells if the user wants to shutdown. This can be used if the exit button is pressed deeply in the program. * @return */ long isShuttingDown() const; }; #endif /* _COMMON_H */ blockattack-game-2.5.0/source/code/gamecontroller.cpp000066400000000000000000000202341347224572500226560ustar00rootroot00000000000000/* =========================================================================== blockattack - Block Attack - Rise of the Blocks Copyright (C) 2005-2016 Poul Sander 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 2 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 http://www.gnu.org/licenses/ Source information and contacts persons can be found at http://www.blockattack.net =========================================================================== */ #include "gamecontroller.h" #include "SDL_gamecontroller.h" #include "sago/platform_folders.h" #include "common.h" #include #include #include static bool verbose = false; struct ControllerStatus { std::map AxisInDeadZone; int player = 1; }; static std::map controllerStatusMap; static std::map gamecontrollers_assigned; static std::vector supportedControllers; void GameControllerSetVerbose(bool value) { verbose = value; } static const char* GameControllerGetName(SDL_GameController* gamecontroller) { const char* result = SDL_GameControllerName(gamecontroller); if (!result) { result = "Unnamed"; } return result; } static std::string GetGuidAsHex(const SDL_JoystickGUID& guid) { std::string ret; char buffer[3]; for (size_t j = 0; j < 16; j++) { snprintf(buffer, sizeof(buffer), "%02X", guid.data[j]); ret += buffer; } return ret; } static int GetNextPlayerByGui(const SDL_JoystickGUID& guid) { Config::getInstance()->setDefault("gc_AllToOnePlayer", "0"); int fixedPlayer = Config::getInstance()->getInt("gc_AllToOnePlayer"); if (fixedPlayer > 0 && fixedPlayer <= 2) { return fixedPlayer; } std::string guidAsHex= GetGuidAsHex(guid); std::string configName = "gc_assign_"+guidAsHex; Config::getInstance()->setDefault(configName, "1"); int player = Config::getInstance()->getInt(configName) + gamecontrollers_assigned[guidAsHex]; gamecontrollers_assigned[guidAsHex]++; //Next controller with same guid should be assigned to different player. if (player%2==0) { return 2; //Even number means player 2 } return 1; } void InitGameControllers() { std::string configFile = sago::getConfigHome()+"/blockattack/gamecontrollerdb.txt"; int errorCode = SDL_GameControllerAddMappingsFromFile(configFile.c_str()); if (errorCode == -1 && verbose) { std::cerr << "Could not load mapping file: " << configFile << "\n"; } if (verbose) { std::cout << "Number of Game controllers: " << SDL_NumJoysticks() << "\n"; } SDL_GameController* controller = nullptr; for (int i = 0; i < SDL_NumJoysticks(); ++i) { if (SDL_IsGameController(i)) { controller = SDL_GameControllerOpen(i); SDL_Joystick* j = SDL_GameControllerGetJoystick(controller); SDL_JoystickID instanceId = SDL_JoystickInstanceID(j); SDL_JoystickGUID guid = SDL_JoystickGetGUID(j); int assingToPlayer = GetNextPlayerByGui(guid); controllerStatusMap[instanceId].player = assingToPlayer; supportedControllers.push_back(GameControllerGetName(controller)); if (verbose) { std::cout << "Supported game controller detected: " << GameControllerGetName(controller) << ", mapping: " << SDL_GameControllerMapping(controller) << "\n"; std::cout << "Assigned to player: " << controllerStatusMap[instanceId].player << "\n"; } } } } const std::vector& GetSupportedControllerNames() { return supportedControllers; } void checkDeadZone(const SDL_Event& event) { if (event.type != SDL_CONTROLLERAXISMOTION) { return; //assert? } int value = event.caxis.value; if (value > -deadZoneLimit && value < deadZoneLimit) { controllerStatusMap[event.caxis.which].AxisInDeadZone[event.caxis.axis] = true; } } bool getDeadZone(SDL_JoystickID id, int axis) { return controllerStatusMap[id].AxisInDeadZone[axis]; } void setDeadZone(SDL_JoystickID id, int axis, bool value) { controllerStatusMap[id].AxisInDeadZone[axis] = value; } static bool skipThisPlayer(int playerNumber, const SDL_Event& event) { if (event.type == SDL_CONTROLLERBUTTONDOWN) { ControllerStatus& cs = controllerStatusMap[event.cbutton.which]; if (cs.player == playerNumber) { return false; } } if (event.type == SDL_CONTROLLERAXISMOTION ) { ControllerStatus& cs = controllerStatusMap[event.caxis.which]; if (cs.player == playerNumber) { return false; } } return true; } bool isPlayerDownEvent(int playerNumber, const SDL_Event& event) { if (skipThisPlayer(playerNumber, event)) { return false; } if (event.type == SDL_CONTROLLERBUTTONDOWN) { if (event.cbutton.button == SDL_CONTROLLER_BUTTON_DPAD_DOWN ) { return true; } } if (event.type == SDL_CONTROLLERAXISMOTION && event.caxis.axis == SDL_CONTROLLER_AXIS_LEFTY ) { const SDL_ControllerAxisEvent& a = event.caxis; checkDeadZone(event); if (getDeadZone(a.which, a.axis)) { if (event.caxis.value > deadZoneLimit) { setDeadZone(a.which,a.axis,false); return true; } } } return false; } bool isPlayerUpEvent(int playerNumber, const SDL_Event& event) { if (skipThisPlayer(playerNumber, event)) { return false; } if (event.type == SDL_CONTROLLERBUTTONDOWN) { if (event.cbutton.button == SDL_CONTROLLER_BUTTON_DPAD_UP ) { return true; } } if (event.type == SDL_CONTROLLERAXISMOTION && event.caxis.axis == SDL_CONTROLLER_AXIS_LEFTY ) { checkDeadZone(event); const SDL_ControllerAxisEvent& a = event.caxis; if (getDeadZone(a.which, a.axis)) { if (event.caxis.value < -deadZoneLimit) { setDeadZone(a.which,a.axis,false); return true; } } } return false; } bool isPlayerLeftEvent(int playerNumber, const SDL_Event& event) { if (skipThisPlayer(playerNumber, event)) { return false; } if (event.type == SDL_CONTROLLERBUTTONDOWN) { if (event.cbutton.button == SDL_CONTROLLER_BUTTON_DPAD_LEFT ) { return true; } } if (event.type == SDL_CONTROLLERAXISMOTION && event.caxis.axis == SDL_CONTROLLER_AXIS_LEFTX ) { checkDeadZone(event); const SDL_ControllerAxisEvent& a = event.caxis; if (getDeadZone(a.which, a.axis)) { if (event.caxis.value < -deadZoneLimit) { setDeadZone(a.which,a.axis,false); return true; } } } return false; } bool isPlayerRightEvent(int playerNumber, const SDL_Event& event) { if (skipThisPlayer(playerNumber, event)) { return false; } if (event.type == SDL_CONTROLLERBUTTONDOWN) { if (event.cbutton.button == SDL_CONTROLLER_BUTTON_DPAD_RIGHT ) { return true; } } if (event.type == SDL_CONTROLLERAXISMOTION && event.caxis.axis == SDL_CONTROLLER_AXIS_LEFTX ) { checkDeadZone(event); const SDL_ControllerAxisEvent& a = event.caxis; if (getDeadZone(a.which, a.axis)) { if (event.caxis.value > deadZoneLimit) { setDeadZone(a.which,a.axis,false); return true; } } } return false; } bool isPlayerSwitchEvent(int playerNumber, const SDL_Event& event) { if (skipThisPlayer(playerNumber, event)) { return false; } if (event.type == SDL_CONTROLLERBUTTONDOWN) { if (event.cbutton.button == SDL_CONTROLLER_BUTTON_A || event.cbutton.button == SDL_CONTROLLER_BUTTON_B ) { return true; } } return false; } bool isPlayerPushEvent(int playerNumber, const SDL_Event& event) { if (skipThisPlayer(playerNumber, event)) { return false; } if (event.type == SDL_CONTROLLERBUTTONDOWN) { if (event.cbutton.button == SDL_CONTROLLER_BUTTON_LEFTSHOULDER || event.cbutton.button == SDL_CONTROLLER_BUTTON_RIGHTSHOULDER ) { return true; } } if (event.type == SDL_CONTROLLERAXISMOTION && (event.caxis.axis == SDL_CONTROLLER_AXIS_TRIGGERLEFT || event.caxis.axis == SDL_CONTROLLER_AXIS_TRIGGERRIGHT ) ) { checkDeadZone(event); const SDL_ControllerAxisEvent& a = event.caxis; if (getDeadZone(a.which, a.axis)) { if (event.caxis.value > deadZoneLimit) { setDeadZone(a.which,a.axis,false); return true; } } } return false; } blockattack-game-2.5.0/source/code/gamecontroller.h000066400000000000000000000045771347224572500223370ustar00rootroot00000000000000/* =========================================================================== blockattack - Block Attack - Rise of the Blocks Copyright (C) 2005-2016 Poul Sander 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 2 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 http://www.gnu.org/licenses/ Source information and contacts persons can be found at http://www.blockattack.net =========================================================================== */ #ifndef GAMECONTROLLER_H #define GAMECONTROLLER_HPP #include "SDL.h" #include #include const int deadZoneLimit = 20000; void InitGameControllers(); bool isPlayerDownEvent(int playerNumber, const SDL_Event& event); bool isPlayerUpEvent(int playerNumber, const SDL_Event& event); bool isPlayerLeftEvent(int playerNumber, const SDL_Event& event); bool isPlayerRightEvent(int playerNumber, const SDL_Event& event); bool isPlayerSwitchEvent(int playerNumber, const SDL_Event& event); bool isPlayerPushEvent(int playerNumber, const SDL_Event& event); void GameControllerSetVerbose(bool value); const std::vector& GetSupportedControllerNames(); /** * Checks that the given event is in the dead zone. * If it is in the dead zone. Then the dead zone variable for that axis will be set to true; * Otherwise nothing is done * @param event An SDL */ void checkDeadZone(const SDL_Event& event); /** * Checks that the given axis on a given gamepad was in a dead zone last time checked. * @param id The gamepad * @param axis The axis on the gamepad * @return true if the axis has been in the dead zone */ bool getDeadZone(SDL_JoystickID id, int axis); /** * Sets dead zone status on a given axis on a given gamepad * @param id The gamepad * @param axis The axis on the gamepad * @param value Value to set. Should normally be false as true will be set by checkDeadZone */ void setDeadZone(SDL_JoystickID id, int axis, bool value); #endif //GAMECONTROLLER blockattack-game-2.5.0/source/code/global.hpp000066400000000000000000000062171347224572500211130ustar00rootroot00000000000000/* =========================================================================== blockattack - Block Attack - Rise of the Blocks Copyright (C) 2005-2017 Poul Sander 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 2 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 http://www.gnu.org/licenses/ Source information and contacts persons can be found at http://www.blockattack.net =========================================================================== */ #ifndef _GLOBAL_HPP #define _GLOBAL_HPP #include #include "sago/SagoSpriteHolder.hpp" #include "highscore.h" #include "sago/GameStateInterface.hpp" #include "TextManager.hpp" #include "ExplosionManager.hpp" #include "sago/SagoTextField.hpp" void MainMenu(); void SafeModeMenu(); void ResetFullscreen(); void RunGameState(sago::GameStateInterface& state ); enum class Gametype { SinglePlayerEndless=0, SinglePlayerTimeTrial=1, StageClear=2, Puzzle=3, SinglePlayerVs=4, TwoPlayerTimeTrial=10, TwoPlayerVs=11, Replay=100 }; int runGame(Gametype gametype,int level); bool OpenDialogbox(int x, int y, std::string& name, const std::string& header); void DrawBackground(SDL_Renderer* target); void UpdateMouseCoordinates(const SDL_Event& event, int& mousex, int& mousey); void DrawIMG(const sago::SagoSprite& sprite, SDL_Renderer* target, int x, int y); void DrawIMG_Bounded(const sago::SagoSprite& sprite, SDL_Renderer* target, int x, int y, int minx, int miny, int maxx, int maxy); void sagoTextSetHelpFont(sago::SagoTextField& field); void sagoTextSetBlueFont(sago::SagoTextField& field); const int SIXTEEN_NINE_WIDTH = 1364; const int FOUR_THREE_WIDTH = 1024; const int SCREEN_HIGHT = 768; struct GlobalData { sago::SagoSprite bHighScore; sago::SagoSprite bBack; sago::SagoSprite bNext; sago::SagoSprite iLevelCheck; //To the level select screen sago::SagoSprite iLevelCheckBox; sago::SagoSprite iLevelCheckBoxMarked; sago::SagoSprite iCheckBoxArea; bool MusicEnabled; //true if background music is enabled bool SoundEnabled; //true if sound effects is enabled bool bFullscreen; //true if game is running fullscreen std::string replayArgument; //Name of the replay to play (if given as a commandline argument) std::string player1name; std::string player2name; SDL_Renderer *screen = nullptr; //The whole screen; sago::SoundHandler typingChunk; sago::SagoSprite mouse; bool highPriority = false; bool NoSound = false; bool alwaysSixteenNine = false; int verboseLevel = 0; std::unique_ptr spriteHolder; TextManager theTextManager; int xsize = FOUR_THREE_WIDTH; int ysize = SCREEN_HIGHT; int mousex = 0; int mousey = 0; }; #include "BallManager.hpp" extern GlobalData globalData; #endif /* _GLOBAL_HPP */ blockattack-game-2.5.0/source/code/highscore.cpp000066400000000000000000000066511347224572500216230ustar00rootroot00000000000000/* =========================================================================== blockattack - Block Attack - Rise of the Blocks Copyright (C) 2005-2012 Poul Sander 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 2 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 http://www.gnu.org/licenses/ Source information and contacts persons can be found at https://blockattack.net =========================================================================== */ #include "highscore.h" #include "os.hpp" #include "cereal/cereal.hpp" #include "cereal/types/vector.hpp" #include "cereal/archives/json.hpp" #include "sago/SagoMisc.hpp" #include #include "common.h" namespace cereal { template void save(Archive& archive, record const& m) { archive( cereal::make_nvp("Name", m.name), cereal::make_nvp("Score", m.score) ); } template void load(Archive& archive, record& m) { archive( cereal::make_nvp("Name", m.name), cereal::make_nvp("Score", m.score) ); } } /* This sorts in reverse order. So the highest will be first */ bool record_sorter (const record& i,const record& j) { return (i.score > j.score); } Highscore::Highscore(const std::string& type, double speed) : filename(type+".json.dat"), type(type), speed(speed) { if (speed < 0.4) { std::string old_locale = setlocale (LC_NUMERIC, nullptr); setlocale (LC_NUMERIC, "C"); //Use special filenames for higher speeds (higher speed = lower number) filename = SPrintStringF("%s_%.4f.json.dat", type.c_str(), speed); setlocale(LC_NUMERIC, old_locale.c_str()); } std::string readFileContent = sago::GetFileContent(filename.c_str()); if (readFileContent.length() > 0) { try { std::stringstream ss(readFileContent); { cereal::JSONInputArchive archive(ss); archive(cereal::make_nvp("highscore", table)); } } catch (cereal::Exception& e) { std::cerr << "Failed to read highscore " << filename << " due to formatting errors. Resetting the file. Reason: " << e.what() << "\n"; table.clear(); } } if (table.size() < top) { for (int i = 0; itable.back().score) { return true; } return false; } void Highscore::addScore(const std::string& newName, int newScore) { record r; r.name = newName; r.score = newScore; table.push_back(r); std::stable_sort(table.begin(), table.end(), record_sorter); table.resize(top); Highscore::writeFile(); } record Highscore::getScoreNumber(int room) { record ret; if (room < static_cast(table.size()) ) { ret = table.at(room); } return ret; } blockattack-game-2.5.0/source/code/highscore.h000066400000000000000000000027511347224572500212650ustar00rootroot00000000000000/* =========================================================================== blockattack - Block Attack - Rise of the Blocks Copyright (C) 2005-2012 Poul Sander 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 2 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 http://www.gnu.org/licenses/ Source information and contacts persons can be found at http://blockattack.net =========================================================================== */ #include #include #include #include #include #ifndef HIGHSCORE_H #define HIGHSCORE_H const int top = 10; struct record { std::string name; int score = 0; }; class Highscore { private: std::vector table; std::string filename; std::string type; void writeFile(); double speed = 0.5; public: Highscore(const std::string& type, double speed); bool isHighScore(int); void addScore(const std::string& newName, int); record getScoreNumber(int); }; #endifblockattack-game-2.5.0/source/code/icon.cpp000066400000000000000000000031511347224572500205700ustar00rootroot00000000000000/* =========================================================================== blockattack - Block Attack - Rise of the Blocks Copyright (C) 2005-2015 Poul Sander 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 2 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 http://www.gnu.org/licenses/ Source information and contacts persons can be found at http://blockattack.net =========================================================================== */ #include "icon.hpp" #include "icon.inc" void SetSDLIcon(SDL_Window* window) { SDL_Surface* surface = SDL_CreateRGBSurfaceFrom( (void*)gimp_image.pixel_data, gimp_image.width, gimp_image.height, gimp_image.bytes_per_pixel * 8, gimp_image.bytes_per_pixel * gimp_image.width, #if SDL_BYTEORDER == SDL_BIG_ENDIAN 0xFF000000, 0x00FF0000, 0x0000FF00, 0x000000FF #else 0x000000FF, 0x0000FF00, 0x00FF0000, 0xFF000000 #endif ); SDL_SetWindowIcon(window, surface); SDL_FreeSurface(surface); } blockattack-game-2.5.0/source/code/icon.hpp000066400000000000000000000020271347224572500205760ustar00rootroot00000000000000/* =========================================================================== blockattack - Block Attack - Rise of the Blocks Copyright (C) 2005-2015 Poul Sander 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 2 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 http://www.gnu.org/licenses/ Source information and contacts persons can be found at http://blockattack.net =========================================================================== */ #ifndef ICON_HPP #define ICON_HPP #include "SDL.h" void SetSDLIcon(SDL_Window* window); #endif /* ICON_HPP */ blockattack-game-2.5.0/source/code/icon.inc000066400000000000000000000365071347224572500205720ustar00rootroot00000000000000/* =========================================================================== blockattack - Block Attack - Rise of the Blocks Copyright (C) 2005-2015 Poul Sander 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 2 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 http://www.gnu.org/licenses/ Source information and contacts persons can be found at http://blockattack.net =========================================================================== */ //This struct is constructed from icon.png using gimps export as C-file. const struct { unsigned int width; unsigned int height; unsigned int bytes_per_pixel; /* 2:RGB16, 3:RGB, 4:RGBA */ unsigned char pixel_data[32 * 32 * 4 + 1]; } gimp_image = { 32, 32, 4, "\0\0\0\0eF\0\377eF\0\377eF\0\377eF\0\377eF\0\377eF\0\377eF\0\377eF\0\377" "eF\0\377eF\0\377eF\0\377eF\0\377eF\0\377eF\0\377eF\0\377eF\0\377eF\0\377" "eF\0\377eF\0\377eF\0\377eF\0\377eF\0\377eF\0\377eF\0\377eF\0\377eF\0\377" "eF\0\377eF\0\377eF\0\377eF\0\377\0\0\0\0eF\0\377eF\0\377\221m\0\377\311\236" "\0\377\326\251\0\377\326\251\0\377\326\251\0\377\326\251\0\377\326\251\0" "\377\326\251\0\377\326\251\0\377\326\251\0\377\326\251\0\377\326\251\0\377" "\326\251\0\377\326\251\0\377\326\251\0\377\326\251\0\377\326\251\0\377\326" "\251\0\377\326\251\0\377\326\251\0\377\326\251\0\377\326\251\0\377\326\251" "\0\377\326\251\0\377\326\251\0\377\326\251\0\377\311\236\0\377\220l\0\377" "eF\0\377eF\0\377eF\0\377\221m\0\377\377\315\0\377\377\315\0\377\377\315\0" "\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377" "\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377" "\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315" "\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0" "\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377\220l\0\377e" "F\0\377eF\0\377\311\236\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377" "\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315" "\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0" "\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377" "\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377" "\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377\311\236\0\377eF\0\377" "eF\0\377\324\247\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315" "\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0" "\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377" "\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377" "\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315" "\0\377\377\315\0\377\377\315\0\377\377\315\0\377\324\247\0\377eF\0\377eF" "\0\377\324\247\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0" "\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377" "\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377" "\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315" "\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0" "\377\377\315\0\377\377\315\0\377\377\315\0\377\324\247\0\377eF\0\377eF\0" "\377\324\247\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377" "\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377" "\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377\376\330\0\377\376\330" "\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0" "\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377" "\377\315\0\377\377\315\0\377\377\315\0\377\324\247\0\377eF\0\377eF\0\377" "\324\247\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377" "\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315" "\0\377\377\315\0\377\377\315\0\377\376\322\0\377\371\372\0\377\371\372\0" "\377\376\322\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377" "\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377" "\315\0\377\377\315\0\377\377\315\0\377\324\247\0\377eF\0\377eF\0\377\324" "\247\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315" "\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0" "\377\377\315\0\377\377\315\0\377\373\353\0\377\370\376\0\377\370\376\0\377" "\373\353\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377" "\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315" "\0\377\377\315\0\377\377\315\0\377\324\247\0\377eF\0\377eF\0\377\324\247" "\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0" "\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377" "\377\315\0\377\376\330\0\377\370\376\0\377\370\376\0\377\370\376\0\377\370" "\376\0\377\376\330\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315" "\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0" "\377\377\315\0\377\377\315\0\377\324\247\0\377eF\0\377eF\0\377\324\247\0" "\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377" "\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377" "\315\0\377\371\365\0\377\370\376\0\377\370\376\0\377\370\376\0\377\370\376" "\0\377\371\365\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0" "\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377" "\377\315\0\377\377\315\0\377\324\247\0\377eF\0\377eF\0\377\324\247\0\377" "\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377" "\315\0\377\377\315\0\377\377\315\0\377\376\322\0\377\374\337\0\377\372\361" "\0\377\370\376\0\377\370\376\0\377\370\376\0\377\370\376\0\377\370\376\0" "\377\370\376\0\377\373\354\0\377\374\337\0\377\376\322\0\377\377\315\0\377" "\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377" "\315\0\377\377\315\0\377\324\247\0\377eF\0\377eF\0\377\324\247\0\377\377" "\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377\374\337" "\0\377\373\353\0\377\371\372\0\377\370\376\0\377\370\376\0\377\370\376\0" "\377\370\376\0\377\370\376\0\377\370\376\0\377\370\376\0\377\370\376\0\377" "\370\376\0\377\370\376\0\377\370\376\0\377\370\376\0\377\371\372\0\377\373" "\354\0\377\374\337\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315" "\0\377\377\315\0\377\324\247\0\377eF\0\377eF\0\377\324\247\0\377\377\315" "\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377\371\372\0" "\377\370\376\0\377\370\376\0\377\370\376\0\377\370\376\0\377\370\376\0\377" "\370\376\0\377\370\376\0\377\370\376\0\377\370\376\0\377\370\376\0\377\370" "\376\0\377\370\376\0\377\370\376\0\377\370\376\0\377\370\376\0\377\370\376" "\0\377\371\372\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0" "\377\377\315\0\377\324\247\0\377eF\0\377eF\0\377\324\247\0\377\377\315\0" "\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377\376\327\0\377" "\370\376\0\377\370\376\0\377\370\376\0\377\370\376\0\377\370\376\0\377\370" "\376\0\377\370\376\0\377\370\376\0\377\370\376\0\377\370\376\0\377\370\376" "\0\377\370\376\0\377\370\376\0\377\370\376\0\377\370\376\0\377\370\376\0" "\377\376\327\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377" "\377\315\0\377\324\247\0\377eF\0\377eF\0\377\324\247\0\377\377\315\0\377" "\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377\374" "\337\0\377\370\376\0\377\370\376\0\377\370\376\0\377\370\376\0\377\370\376" "\0\377\370\376\0\377\370\376\0\377\370\376\0\377\370\376\0\377\370\376\0" "\377\370\376\0\377\370\376\0\377\370\376\0\377\370\376\0\377\374\337\0\377" "\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377" "\315\0\377\324\247\0\377eF\0\377eF\0\377\324\247\0\377\377\315\0\377\377" "\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315" "\0\377\374\345\0\377\370\376\0\377\370\376\0\377\370\376\0\377\370\376\0" "\377\370\376\0\377\370\376\0\377\370\376\0\377\370\376\0\377\370\376\0\377" "\370\376\0\377\370\376\0\377\370\376\0\377\374\345\0\377\377\315\0\377\377" "\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315" "\0\377\326\251\0\377eF\0\377eF\0\377\324\247\0\377\377\315\0\377\377\315" "\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0" "\377\377\315\0\377\372\361\0\377\370\376\0\377\370\376\0\377\370\376\0\377" "\370\376\0\377\370\376\0\377\370\376\0\377\370\376\0\377\370\376\0\377\370" "\376\0\377\370\376\0\377\372\361\0\377\377\315\0\377\377\315\0\377\377\315" "\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0" "\377\324\247\0\377eF\0\377eF\0\377\324\247\0\377\377\315\0\377\377\315\0" "\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377" "\377\315\0\377\374\345\0\377\370\376\0\377\370\376\0\377\370\376\0\377\370" "\376\0\377\370\376\0\377\370\376\0\377\370\376\0\377\370\376\0\377\370\376" "\0\377\370\376\0\377\374\345\0\377\377\315\0\377\377\315\0\377\377\315\0" "\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377" "\324\247\0\377eF\0\377eF\0\377\324\247\0\377\377\315\0\377\377\315\0\377" "\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377" "\315\0\377\373\352\0\377\370\376\0\377\370\376\0\377\370\376\0\377\370\376" "\0\377\370\376\0\377\370\376\0\377\370\376\0\377\370\376\0\377\370\376\0" "\377\370\376\0\377\373\353\0\377\377\315\0\377\377\315\0\377\377\315\0\377" "\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377\324" "\247\0\377eF\0\377eF\0\377\324\247\0\377\377\315\0\377\377\315\0\377\377" "\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315" "\0\377\373\354\0\377\370\377\0\377\370\376\0\377\370\376\0\377\370\376\0" "\377\370\376\0\377\370\376\0\377\370\376\0\377\370\376\0\377\370\376\0\377" "\370\376\0\377\373\354\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377" "\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377\324\247" "\0\377eF\0\377eF\0\377\324\247\0\377\377\315\0\377\377\315\0\377\377\315" "\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0" "\377\372\361\0\377\370\377\0\377\370\376\0\377\370\376\0\377\370\376\0\377" "\370\376\0\377\370\376\0\377\370\376\0\377\370\376\0\377\370\376\0\377\370" "\376\0\377\372\361\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315" "\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377\324\247\0" "\377eF\0\377eF\0\377\324\247\0\377\377\315\0\377\377\315\0\377\377\315\0" "\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377" "\371\365\0\377\370\376\0\377\370\376\0\377\372\361\0\377\374\337\0\377\377" "\315\0\377\377\315\0\377\374\337\0\377\372\361\0\377\370\376\0\377\370\376" "\0\377\372\361\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0" "\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377\324\247\0\377" "eF\0\377eF\0\377\324\247\0\377\377\315\0\377\377\315\0\377\377\315\0\377" "\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377\373" "\353\0\377\373\347\0\377\376\322\0\377\377\315\0\377\376\314\0\377\377\315" "\0\377\377\315\0\377\377\315\0\377\377\315\0\377\376\322\0\377\373\353\0" "\377\373\353\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377" "\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377\324\247\0\377eF" "\0\377eF\0\377\324\247\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377" "\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315" "\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0" "\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377" "\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377" "\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377\324\247\0\377eF\0\377" "eF\0\377\324\247\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315" "\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0" "\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377" "\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377" "\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315" "\0\377\377\315\0\377\377\315\0\377\377\315\0\377\324\247\0\377eF\0\377eF" "\0\377\324\247\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0" "\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377" "\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377" "\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315" "\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0" "\377\377\315\0\377\377\315\0\377\377\315\0\377\324\247\0\377eF\0\377eF\0" "\377\324\247\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377" "\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377" "\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315" "\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0" "\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377" "\377\315\0\377\377\315\0\377\377\315\0\377\324\247\0\377eF\0\377eF\0\377" "\311\236\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377" "\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315" "\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0" "\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377" "\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377" "\315\0\377\377\315\0\377\377\315\0\377\311\235\0\377dF\0\377eF\0\377\220" "l\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0" "\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377" "\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377" "\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315" "\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0\377\377\315\0" "\377\377\315\0\377\377\315\0\377\220l\0\377eF\0\377eF\0\377eF\0\377\221m" "\0\377\311\236\0\377\326\251\0\377\326\251\0\377\326\251\0\377\326\251\0" "\377\326\251\0\377\326\251\0\377\326\251\0\377\326\251\0\377\326\251\0\377" "\326\251\0\377\326\251\0\377\326\251\0\377\326\251\0\377\326\251\0\377\326" "\251\0\377\326\251\0\377\326\251\0\377\326\251\0\377\326\251\0\377\326\251" "\0\377\326\251\0\377\326\251\0\377\326\251\0\377\326\251\0\377\311\236\0" "\377\221m\0\377eF\0\377eF\0\377\0\0\0\0eF\0\377eF\0\377eF\0\377eF\0\377e" "F\0\377eF\0\377eF\0\377eF\0\377eF\0\377eF\0\377eF\0\377eF\0\377eF\0\377e" "F\0\377eF\0\377eF\0\377eF\0\377eF\0\377eF\0\377eF\0\377eF\0\377eF\0\377e" "F\0\377eF\0\377eF\0\377eF\0\377eF\0\377eF\0\377eF\0\377eF\0\377\0\0\0\0", }; blockattack-game-2.5.0/source/code/levelselect.cpp000066400000000000000000000147241347224572500221570ustar00rootroot00000000000000/* =========================================================================== blockattack - Block Attack - Rise of the Blocks Copyright (C) 2005-2016 Poul Sander 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 2 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 http://www.gnu.org/licenses/ Source information and contacts persons can be found at https://blockattack.net =========================================================================== */ #include "levelselect.hpp" #include "SDL.h" #include "common.h" #include "global.hpp" #include "puzzlehandler.hpp" #include "stageclearhandler.hpp" #include "MenuSystem.h" static bool bMouseUp; //true if the mouse(1) is unpressed static std::map > fieldCache; static sago::SagoTextField* getCachedText(const std::string& text) { std::shared_ptr ptr = fieldCache[text]; if (!ptr) { std::shared_ptr newText = std::make_shared(); sagoTextSetBlueFont(*newText.get()); newText->SetText(text); fieldCache[text] = newText; } return fieldCache[text].get(); } static void Write(SDL_Renderer* target, int x, int y, const char* text) { getCachedText(text)->Draw(target, x, y); } //The function that allows the player to choose PuzzleLevel int PuzzleLevelSelect(int Type) { const int xplace = 200; const int yplace = 300; int levelNr = 0; int oldmousex = 0; int oldmousey = 0; bool levelSelected = false; int nrOfLevels = 0; Uint32 totalScore = 0; Uint32 totalTime = 0; int selected = 0; fieldCache.clear(); //Loads the levels, if they havn't been loaded: if (Type == 0) { LoadPuzzleStages(); } if (Type == 0) { nrOfLevels = PuzzleGetNumberOfPuzzles(); } if (Type == 1) { LoadStageClearStages(); totalScore = GetTotalScore(); totalTime = GetTotalTime(); nrOfLevels = GetNrOfLevels(); } while (!levelSelected) { SDL_Delay(1); auto ticks = SDL_GetTicks(); DrawBackground(globalData.screen); globalData.iCheckBoxArea.Draw(globalData.screen,ticks,xplace,yplace); if (Type == 0) { Write(globalData.screen, xplace+12,yplace+2,_("Select Puzzle") ); } if (Type == 1) { Write(globalData.screen, xplace+12,yplace+2, _("Stage Clear Level Select") ); } //Now drow the fields you click in (and a V if clicked): for (int i = 0; i < nrOfLevels; i++) { globalData.iLevelCheckBox.Draw(globalData.screen, ticks, xplace+10+(i%10)*50, yplace+60+(i/10)*50); if (i==selected) { globalData.iLevelCheckBoxMarked.Draw(globalData.screen, ticks, xplace+10+(i%10)*50, yplace+60+(i/10)*50); } if (Type == 0 && PuzzleIsCleared(i)) { globalData.iLevelCheck.Draw(globalData.screen,ticks, xplace+10+(i%10)*50, yplace+60+(i/10)*50); } if (Type == 1 && IsStageCleared(i)) { globalData.iLevelCheck.Draw(globalData.screen, ticks, xplace+10+(i%10)*50, yplace+60+(i/10)*50); } } SDL_Event event; while ( SDL_PollEvent(&event) ) { UpdateMouseCoordinates(event, globalData.mousex, globalData.mousey); if ( event.type == SDL_QUIT ) { Config::getInstance()->setShuttingDown(5); levelNr = -1; levelSelected = true; } if (isEscapeEvent(event)) { levelNr = -1; levelSelected = true; } if (isConfirmEvent(event)) { levelNr = selected; levelSelected = true; } if (isRightEvent(event)) { ++selected; if (selected >= nrOfLevels) { selected = 0; } } if (isLeftEvent(event)) { --selected; if (selected < 0) { selected = nrOfLevels-1; } } if (isDownEvent(event)) { selected+=10; if (selected >= nrOfLevels) { selected-=10; } } if (isUpEvent(event)) { selected-=10; if (selected < 0) { selected+=10; } } } SDL_GetKeyboardState(nullptr); if (globalData.mousex != oldmousex || globalData.mousey != oldmousey) { int tmpSelected = -1; int j; for (j = 0; (tmpSelected == -1) && ( (j0) { timeString = SPrintStringF(_("Time used: %d : %02d"), GetStageTime(selected)/1000/60, (GetStageTime(selected)/1000)%60); } Write(globalData.screen, 200,200,scoreString.c_str()); Write(globalData.screen, 200,250,timeString.c_str()); std::string totalString = SPrintStringF(_("Total score: %i in %i:%02i"), totalScore, totalTime/1000/60, ((totalTime/1000)%60) ); Write(globalData.screen, 200,600,totalString.c_str()); } globalData.mouse.Draw(globalData.screen, SDL_GetTicks(), globalData.mousex, globalData.mousey); SDL_RenderPresent(globalData.screen); //draws it all to the screen } DrawBackground(globalData.screen); return levelNr; }blockattack-game-2.5.0/source/code/levelselect.hpp000066400000000000000000000020321347224572500221510ustar00rootroot00000000000000/* =========================================================================== blockattack - Block Attack - Rise of the Blocks Copyright (C) 2005-2016 Poul Sander 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 2 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 http://www.gnu.org/licenses/ Source information and contacts persons can be found at http://www.blockattack.net =========================================================================== */ #ifndef LEVELSELECT_HPP #define LEVELSELECT_HPP int PuzzleLevelSelect(int Type); #endif /* LEVELSELECT_HPP */ blockattack-game-2.5.0/source/code/main.cpp000066400000000000000000001733061347224572500205760ustar00rootroot00000000000000/* =========================================================================== blockattack - Block Attack - Rise of the Blocks Copyright (C) 2005-2016 Poul Sander 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 2 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 http://www.gnu.org/licenses/ Source information and contacts persons can be found at https://blockattack.net =========================================================================== */ #include "common.h" #include "global.hpp" #include "scopeHelpers.hpp" #include "icon.hpp" #include "os.hpp" #include #include "version.h" #define WITH_SDL 1 #include "sago/SagoSpriteHolder.hpp" #include "sago/SagoTextBox.hpp" #include #include #include //Used for srand() #include //Still used by std::to_string2 #include #include "SDL.h" //The SDL libary, used for most things #include //Used for sound & music #include //To load PNG images! #include //Abstract file system. To use containers #include #include "MenuSystem.h" #include "puzzlehandler.hpp" #include "stageclearhandler.hpp" #include #include "ScoresDisplay.hpp" //if SHAREDIR is not used we look in current directory #ifndef SHAREDIR #define SHAREDIR "." #endif #ifndef LOCALEDIR #define LOCALEDIR SHAREDIR"/locale" #endif #ifndef PACKAGE #define PACKAGE "blockattack_roftb" #endif #include "highscore.h" //Stores highscores #include "ReadKeyboard.h" //Reads text from keyboard #include "stats.h" //Saves general stats #include "replayhandler.hpp" #include "common.h" #include "gamecontroller.h" #include #include #include "levelselect.hpp" /******************************************************************************* * All variables and constant has been moved to mainVars.inc for the overview. * *******************************************************************************/ #include "mainVars.inc" using std::string; using std::cerr; using std::cout; using std::exception; using std::vector; GlobalData globalData; static int InitImages(sago::SagoSpriteHolder& holder); static void FsSearchParthMainAppend(std::vector& paths) { paths.push_back((string)SHAREDIR+"/blockattack.data"); paths.push_back((string)PHYSFS_getBaseDir()+"/blockattack.data"); paths.push_back((string)PHYSFS_getBaseDir()+"/data"); } static void PhysFsSetSearchPath(const vector& paths, const string& savepath) { for (const string& path : paths) { PHYSFS_mount(path.c_str(), "/", 0); } PHYSFS_mount(savepath.c_str(), "/", 0); PHYSFS_setWriteDir(savepath.c_str()); } static void PhysFsCreateFolders() { //PHYSFS_mkdir("screenshots"); PHYSFS_mkdir("replays"); PHYSFS_mkdir("puzzles"); } static void setGameOverFont(const sago::SagoDataHolder* holder, sago::SagoTextBox& field, const char* text) { field.SetHolder(holder); field.SetFont("freeserif"); field.SetColor({0,0,255,255}); field.SetFontSize(60); field.SetOutline(3, {192,192,255,255}); field.SetMaxWidth(280); field.SetText(text); } //Load all image files to memory static int InitImages(sago::SagoSpriteHolder& holder) { bricks[0] = holder.GetSprite("block_blue"); bricks[1] = holder.GetSprite("block_green"); bricks[2] = holder.GetSprite("block_purple"); bricks[3] = holder.GetSprite("block_red"); bricks[4] = holder.GetSprite("block_turkish"); bricks[5] = holder.GetSprite("block_yellow"); bricks[6] = holder.GetSprite("block_grey"); bomb = holder.GetSprite("block_bomb"); backgroundImage = holder.GetSprite("background"); backgroundSixteenNineImage = holder.GetSprite("background_sixteen_nine"); globalData.bHighScore = holder.GetSprite("b_highscore"); globalData.bBack = holder.GetSprite("b_blank"); bForward = holder.GetSprite("b_forward"); blackLine = holder.GetSprite("black_line"); stageBobble = holder.GetSprite("i_stage_clear_limit"); crossover = holder.GetSprite("crossover"); balls[0] = holder.GetSprite("ball_blue"); balls[1] = holder.GetSprite("ball_green"); balls[2] = holder.GetSprite("ball_purple"); balls[3] = holder.GetSprite("ball_red"); balls[4] = holder.GetSprite("ball_turkish"); balls[5] = holder.GetSprite("ball_yellow"); balls[6] = holder.GetSprite("ball_gray"); cursor = holder.GetSprite("cursor"); ready = holder.GetSprite("block_ready"); explosion[0] = holder.GetSprite("explosion0"); explosion[1] = holder.GetSprite("explosion1"); explosion[2] = holder.GetSprite("explosion2"); explosion[3] = holder.GetSprite("explosion3"); counter[0] = holder.GetSprite("counter_1"); counter[1] = holder.GetSprite("counter_2"); counter[2] = holder.GetSprite("counter_3"); setGameOverFont(&holder.GetDataHolder(),tbGameOver, _("GAME OVER")); setGameOverFont(&holder.GetDataHolder(),tbWinner, _("WINNER")); setGameOverFont(&holder.GetDataHolder(),tbDraw, _("DRAW")); iChainFrame = holder.GetSprite("chain_frame"); globalData.iLevelCheck = holder.GetSprite("i_level_check"); globalData.iLevelCheckBox = holder.GetSprite("i_level_check_box"); globalData.iLevelCheckBoxMarked = holder.GetSprite("i_level_check_box_marked"); globalData.iCheckBoxArea = holder.GetSprite("i_check_box_area"); boardBackBack = holder.GetSprite("board_back_back"); garbageTL = holder.GetSprite("garbage_tl"); garbageT = holder.GetSprite("garbage_t"); garbageTR = holder.GetSprite("garbage_tr"); garbageR = holder.GetSprite("garbage_r"); garbageBR = holder.GetSprite("garbage_br"); garbageB = holder.GetSprite("garbage_b"); garbageBL = holder.GetSprite("garbage_bl"); garbageL = holder.GetSprite("garbage_l"); garbageFill = holder.GetSprite("garbage_fill"); garbageML = holder.GetSprite("garbage_ml"); garbageM = holder.GetSprite("garbage_m"); garbageMR = holder.GetSprite("garbage_mr"); garbageGM = holder.GetSprite("garbage_gm"); garbageGML = holder.GetSprite("garbage_gml"); garbageGMR = holder.GetSprite("garbage_gmr"); smiley[0] = holder.GetSprite("smileys0"); smiley[1] = holder.GetSprite("smileys1"); smiley[2] = holder.GetSprite("smileys2"); smiley[3] = holder.GetSprite("smileys3"); transCover = holder.GetSprite("trans_cover"); bExit = holder.GetSprite("b_exit"); bSkip = holder.GetSprite("b_blank"); globalData.bNext = holder.GetSprite("b_blank"); bRetry = holder.GetSprite("b_blank"); globalData.mouse = holder.GetSprite("mouse"); backBoard = holder.GetSprite("back_board"); sagoTextSetBlueFont(player1name); sagoTextSetBlueFont(player2name); sagoTextSetBlueFont(player1time); sagoTextSetBlueFont(player2time); sagoTextSetBlueFont(player1score); sagoTextSetBlueFont(player2score); sagoTextSetBlueFont(player1chain); sagoTextSetBlueFont(player2chain); sagoTextSetBlueFont(player1speed); sagoTextSetBlueFont(player2speed); //Loads the sound if sound present if (!globalData.NoSound) { //And here the music: bgMusic = holder.GetDataHolder().getMusicHandler("bgmusic"); highbeatMusic = holder.GetDataHolder().getMusicHandler("highbeat"); //the music... we just hope it exists, else the user won't hear anything //Same goes for the sounds boing = holder.GetDataHolder().getSoundHandler("pop"); applause = holder.GetDataHolder().getSoundHandler("applause"); photoClick = holder.GetDataHolder().getSoundHandler("cameraclick"); globalData.typingChunk = holder.GetDataHolder().getSoundHandler("typing"); counterChunk = holder.GetDataHolder().getSoundHandler("counter"); counterFinalChunk = holder.GetDataHolder().getSoundHandler("counter_final"); const int soundVolume = 84; //0-128 Mix_VolumeChunk(boing.get(), soundVolume); Mix_VolumeChunk(applause.get(), soundVolume); Mix_VolumeChunk(photoClick.get(), soundVolume); Mix_VolumeChunk(globalData.typingChunk.get(), soundVolume); Mix_VolumeChunk(counterChunk.get(), soundVolume); Mix_VolumeChunk(counterFinalChunk.get(), soundVolume); } //All sound has been loaded or not return 0; } //InitImages() /*Draws a image from on a given Surface. Takes source image, destination surface and coordinates*/ void DrawIMG(const sago::SagoSprite& sprite, SDL_Renderer* target, int x, int y) { sprite.Draw(target, SDL_GetTicks(),x,y); } void DrawIMG_Bounded(const sago::SagoSprite& sprite, SDL_Renderer* target, int x, int y, int minx, int miny, int maxx, int maxy) { SDL_Rect bounds; bounds.x = minx; bounds.y = miny; bounds.w = maxx-minx; bounds.h = maxy-miny; sprite.DrawBounded(target, SDL_GetTicks(),x,y,bounds); } SDL_Window* sdlWindow; sago::SagoDataHolder dataHolder; void ResetFullscreen() { Mix_HaltMusic(); //We need to reload all data in case the screen type changes. Music must be stopped before unload. if (globalData.bFullscreen) { SDL_DisplayMode dm; globalData.xsize = SIXTEEN_NINE_WIDTH; globalData.ysize = SCREEN_HIGHT; if (SDL_GetDesktopDisplayMode(0, &dm) == 0) { globalData.xsize = globalData.ysize*dm.w/(double)dm.h; } SDL_SetWindowFullscreen(sdlWindow, SDL_WINDOW_FULLSCREEN_DESKTOP); } else { globalData.xsize = FOUR_THREE_WIDTH; globalData.ysize = SCREEN_HIGHT; SDL_SetWindowFullscreen(sdlWindow, 0); } if (globalData.alwaysSixteenNine || globalData.xsize > SIXTEEN_NINE_WIDTH) { globalData.xsize = SIXTEEN_NINE_WIDTH; } if (globalData.xsize < FOUR_THREE_WIDTH) { globalData.xsize = FOUR_THREE_WIDTH; } SDL_RenderSetLogicalSize(globalData.screen, globalData.xsize, globalData.ysize); dataHolder.invalidateAll(globalData.screen); globalData.spriteHolder.reset(new sago::SagoSpriteHolder( dataHolder ) ); InitImages(*(globalData.spriteHolder.get()) ); SDL_ShowCursor(SDL_DISABLE); } static bool logicalRenderer = false; void DrawBackground(SDL_Renderer* target) { SDL_RenderClear(target); if ( (double)globalData.xsize/globalData.ysize > 1.5) { backgroundSixteenNineImage.DrawScaled(target, SDL_GetTicks(), 0, 0, globalData.xsize, globalData.ysize); } else { backgroundImage.DrawScaled(target, SDL_GetTicks(), 0, 0, globalData.xsize, globalData.ysize); } } /** * This function reads the mouse coordinates from a relevant event. * Unlike SDL_GetMouseState this works even if SDL_RenderSetLogicalSize is used * @param event * @param mousex * @param mousey */ void UpdateMouseCoordinates(const SDL_Event& event, int& mousex, int& mousey) { switch (event.type) { case SDL_MOUSEBUTTONDOWN: case SDL_MOUSEBUTTONUP: mousex = event.button.x; mousey = event.button.y; break; case SDL_MOUSEMOTION: mousex = event.motion.x; mousey = event.motion.y; break; default: break; } } static BallManager theBallManager; static ExplosionManager theExplosionManager; //Here comes the Block Game object #include "BlockGame.hpp" #include "os.hpp" #include "sago/SagoMiscSdl2.hpp" #include "ScoresDisplay.hpp" #include "BlockGameSdl.inc" #include "sago/SagoMisc.hpp" #include "ReplayPlayer.hpp" #include "sago/platform_folders.h" std::string pathToScreenShots() { Config::getInstance()->setDefault("screenshot_dir", _("Block Attack - Rise of the Blocks")); std::string screenshot_dir = Config::getInstance()->getString("screenshot_dir"); if (OsPathIsRelative(screenshot_dir)) { return sago::getPicturesFolder() + "/" + screenshot_dir; } return screenshot_dir; } //writeScreenShot saves the screen as a bmp file, it uses the time to get a unique filename void writeScreenShot() { if (globalData.verboseLevel) { cout << "Saving screenshot" << "\n"; } int rightNow = (int)time(nullptr); SDL_Surface* infoSurface = SDL_GetWindowSurface(sdlWindow); if (!infoSurface) { std::cerr << "Could not get infoSurface. No screenshot written. Be aware that the screenshot feature only works with software render\n"; return; } std::vector pixels(infoSurface->w * infoSurface->h * infoSurface->format->BytesPerPixel); int errorCode = SDL_RenderReadPixels(globalData.screen, &infoSurface->clip_rect, infoSurface->format->format, static_cast(pixels.data()), infoSurface->w * infoSurface->format->BytesPerPixel); if (errorCode) { SDL_FreeSurface(infoSurface); std::cerr << "Could not do SDL_RenderReadPixels. Error code: " << errorCode << ". No screenshot written\n"; return; } SDL_Surface* sreenshotSurface = SDL_CreateRGBSurfaceFrom(static_cast(pixels.data()), infoSurface->w, infoSurface->h, infoSurface->format->BitsPerPixel, infoSurface->w * infoSurface->format->BytesPerPixel, infoSurface->format->Rmask, infoSurface->format->Gmask, infoSurface->format->Bmask, infoSurface->format->Amask); SDL_FreeSurface(infoSurface); if (!sreenshotSurface) { std::cerr << "Could not get sreenshotSurface. No screenshot written\n"; return; } OsCreateFolder(pathToScreenShots()); std::string buf = pathToScreenShots() + "/screenshot"+std::to_string(rightNow)+".bmp"; SDL_SaveBMP(sreenshotSurface, buf.c_str()); SDL_FreeSurface(sreenshotSurface); if (!globalData.NoSound) { if (globalData.SoundEnabled) { Mix_PlayChannel(1, photoClick.get(), 0); } } } //Function to return the name of a key, to be displayed... string getKeyName(SDL_Keycode key); void RunGameState(sago::GameStateInterface& state ) { bool done = false; //We are done! while (!done && !Config::getInstance()->isShuttingDown()) { state.Draw(globalData.screen); SDL_Delay(1); SDL_Event event; bool mustWriteScreenshot = false; while ( SDL_PollEvent(&event) ) { UpdateMouseCoordinates(event, globalData.mousex, globalData.mousey); if ( event.type == SDL_QUIT ) { Config::getInstance()->setShuttingDown(5); done = true; } if ( event.key.keysym.sym == SDLK_F9 ) { mustWriteScreenshot = true; } bool processed = false; state.ProcessInput(event, processed); } state.Update(); globalData.mouse.Draw(globalData.screen, SDL_GetTicks(), globalData.mousex, globalData.mousey); SDL_RenderPresent(globalData.screen); if (mustWriteScreenshot) { writeScreenShot(); } if (!state.IsActive()) { done = true; } } } void OpenScoresDisplay() { ScoresDisplay d; d.scoreX = buttonXsize*2; d.scoreY = 0; d.buttonXsize = buttonXsize; d.buttonYsize = buttonYsize; RunGameState(d); } static sago::SagoTextField* getSmallInt(size_t number) { static std::vector > smallFontCache; if (smallFontCache.size() < number+1) { smallFontCache.resize(number+1); } if (!smallFontCache[number]) { std::shared_ptr newNumber = std::make_shared(); newNumber->SetHolder(&globalData.spriteHolder->GetDataHolder()); newNumber->SetFont("freeserif"); newNumber->SetFontSize(16); newNumber->SetColor({255,0,0,255}); newNumber->SetText(std::to_string(number)); smallFontCache[number] = newNumber; } return smallFontCache[number].get(); } //Draws the balls and explosions static void DrawBalls() { for (size_t i = 0; i< theBallManager.ballArray.size(); i++) { if (theBallManager.ballArray[i].inUse) { DrawIMG(balls[theBallManager.ballArray[i].getColor()],globalData.screen,theBallManager.ballArray[i].getX(),theBallManager.ballArray[i].getY()); } //if used } for (size_t i = 0; i< theExplosionManager.explosionArray.size(); i++) { if (theExplosionManager.explosionArray[i].inUse) { DrawIMG(explosion[theExplosionManager.explosionArray[i].getFrame()],globalData.screen,theExplosionManager.explosionArray[i].getX(),theExplosionManager.explosionArray[i].getY()); } } //for for (size_t i = 0; i < globalData.theTextManager.textArray.size(); ++i) { if (globalData.theTextManager.textArray[i].inUse) { int x = globalData.theTextManager.textArray[i].getX()-12; int y = globalData.theTextManager.textArray[i].getY()-12; DrawIMG(iChainFrame,globalData.screen,x,y); getSmallInt(globalData.theTextManager.textArray[i].getText())->Draw(globalData.screen, x+12, y+7, sago::SagoTextField::Alignment::center); } } } //DrawBalls template void sagoTextSetHelpFont(T& field) { field.SetHolder(&globalData.spriteHolder->GetDataHolder()); field.SetFont("freeserif"); field.SetFontSize(30); field.SetOutline(1, {128,128,128,255}); } void sagoTextSetHelpFont(sago::SagoTextField& gametypeNameField) { sagoTextSetHelpFont(gametypeNameField); } void sagoTextSetBlueFont(sago::SagoTextField& field) { field.SetHolder(&globalData.spriteHolder->GetDataHolder()); field.SetFont("freeserif"); field.SetFontSize(30); field.SetColor({0,0,255,255}); field.SetOutline(1, {128,128,255,255}); } //draws everything void DrawEverything(int xsize, int ysize,BlockGameSdl* theGame, BlockGameSdl* theGame2) { SDL_ShowCursor(SDL_DISABLE); DrawBackground(globalData.screen); theGame->DoPaintJob(); theGame2->DoPaintJob(); string strHolder; strHolder = std::to_string(theGame->GetScore()+theGame->GetHandicap()); player1score.SetText(strHolder); player1score.Draw(globalData.screen, theGame->GetTopX()+310,theGame->GetTopY()+100); if (theGame->GetAIenabled()) { player1name.SetText(_("AI")); } else if (singlePuzzle) { player1name.SetText(_("Playing field")); } else { player1name.SetText(globalData.player1name); } player1name.Draw(globalData.screen, theGame->GetTopX()+10,theGame->GetTopY()-34); if (theGame->isTimeTrial()) { int tid = (int)SDL_GetTicks()-theGame->GetGameStartedAt(); int minutes; int seconds; if (tid>=0) { minutes = (2*60*1000-(abs((int)SDL_GetTicks()-(int)theGame->GetGameStartedAt())))/60/1000; seconds = ((2*60*1000-(abs((int)SDL_GetTicks()-(int)theGame->GetGameStartedAt())))%(60*1000))/1000; } else { minutes = ((abs((int)SDL_GetTicks()-(int)theGame->GetGameStartedAt())))/60/1000; seconds = (((abs((int)SDL_GetTicks()-(int)theGame->GetGameStartedAt())))%(60*1000))/1000; } if (theGame->isGameOver()) { minutes=0; } if (theGame->isGameOver()) { seconds=0; } if (seconds>9) { strHolder = std::to_string(minutes)+":"+std::to_string(seconds); } else { strHolder = std::to_string(minutes)+":0"+std::to_string(seconds); } player1time.SetText(strHolder); } else { int minutes = ((abs((int)SDL_GetTicks()-(int)theGame->GetGameStartedAt())))/60/1000; int seconds = (((abs((int)SDL_GetTicks()-(int)theGame->GetGameStartedAt())))%(60*1000))/1000; if (theGame->isGameOver()) { minutes=(theGame->GetGameEndedAt()/1000/60)%100; } if (theGame->isGameOver()) { seconds=(theGame->GetGameEndedAt()/1000)%60; } if (seconds>9) { strHolder = std::to_string(minutes)+":"+std::to_string(seconds); } else { strHolder = std::to_string(minutes)+":0"+std::to_string(seconds); } player1time.SetText(strHolder); } player1time.Draw(globalData.screen, theGame->GetTopX()+310,theGame->GetTopY()+150); strHolder = std::to_string(theGame->GetChains()); player1chain.SetText(strHolder); player1chain.Draw(globalData.screen, theGame->GetTopX()+310,theGame->GetTopY()+200); //drawspeedLevel: strHolder = std::to_string(theGame->GetSpeedLevel()); player1speed.SetText(strHolder); player1speed.Draw(globalData.screen, theGame->GetTopX()+310,theGame->GetTopY()+250); if ((theGame->isStageClear()) &&(theGame->GetTopY()+700+50*(theGame->GetStageClearLimit()-theGame->GetLinesCleared())-theGame->GetPixels()-1<600+theGame->GetTopY())) { oldBubleX = theGame->GetTopX()+280; oldBubleY = theGame->GetTopY()+650+50*(theGame->GetStageClearLimit()-theGame->GetLinesCleared())-theGame->GetPixels()-1; DrawIMG(stageBobble,globalData.screen,theGame->GetTopX()+280,theGame->GetTopY()+650+50*(theGame->GetStageClearLimit()-theGame->GetLinesCleared())-theGame->GetPixels()-1); } //player1 finnish, player2 start if (true ) { /* *If single player mode (and not VS) */ if (!twoPlayers && !theGame->isGameOver()) { //Blank player2's board: DrawIMG(backBoard,globalData.screen,theGame2->GetTopX(),theGame2->GetTopY()); //Write a description: string gametypeName; string infostring; if (theGame->isTimeTrial()) { gametypeName = _("Time Trial"); infostring = _("Score as much as possible in 2 minutes"); } else if (theGame->isStageClear()) { gametypeName = _("Stage Clear"); infostring = _("You must clear a number of lines. Speed is rapidly increased."); } else if (theGame->isPuzzleMode()) { gametypeName = _("Puzzle"); infostring = _("Clear the entire board with a limited number of moves."); } else { gametypeName = _("Endless"); infostring = _("Score as much as possible. No time limit."); } if (infostring.length() > 0) { static sago::SagoTextBox infoBox; static sago::SagoTextField objectiveField; static sago::SagoTextField gametypeNameField; sagoTextSetHelpFont(infoBox); infoBox.SetMaxWidth(290); infoBox.SetText(infostring); sagoTextSetHelpFont(objectiveField); objectiveField.SetText(_("Objective:")); sagoTextSetHelpFont(gametypeNameField); gametypeNameField.SetText(gametypeName); gametypeNameField.Draw(globalData.screen, theGame2->GetTopX()+7,theGame2->GetTopY()+10); objectiveField.Draw(globalData.screen, theGame2->GetTopX()+7, theGame2->GetTopY()+160); infoBox.Draw(globalData.screen, theGame2->GetTopX()+7, theGame2->GetTopY()+160+32); } //Write the keys that are in use int y = theGame2->GetTopY()+400; std::string controldBoxText = std::string(_("Movement keys:"))+"\n"+getKeyName(keySettings[0].left)+", "+getKeyName(keySettings[0].right)+",\n" + getKeyName(keySettings[0].up)+", "+getKeyName(keySettings[0].down)+"\n" + _("Switch: ") + getKeyName(keySettings[0].change); if (theGame->isPuzzleMode()) { controldBoxText += std::string("\n") + _("Restart: ")+getKeyName(keySettings[0].push); } else { controldBoxText += std::string("\n") + _("Push line: ")+getKeyName(keySettings[0].push); } static sago::SagoTextBox controldBox; controldBox.SetHolder(&globalData.spriteHolder->GetDataHolder()); sagoTextSetHelpFont(controldBox); controldBox.SetMaxWidth(290); controldBox.SetText(controldBoxText); controldBox.Draw(globalData.screen, theGame2->GetTopX()+7,y); } strHolder = std::to_string(theGame2->GetScore()+theGame2->GetHandicap()); player2score.SetText(strHolder); player2score.Draw(globalData.screen, theGame2->GetTopX()+310, theGame2->GetTopY()+100); if (theGame2->GetAIenabled()) { player2name.SetText(_("AI")); } else { player2name.SetText(theGame2->name); } player2name.Draw(globalData.screen, theGame2->GetTopX()+10,theGame2->GetTopY()-34); if (theGame2->isTimeTrial()) { int tid = (int)SDL_GetTicks()-theGame2->GetGameStartedAt(); int minutes; int seconds; if (tid>=0) { minutes = (2*60*1000-(abs((int)SDL_GetTicks()-(int)theGame2->GetGameStartedAt())))/60/1000; seconds = ((2*60*1000-(abs((int)SDL_GetTicks()-(int)theGame2->GetGameStartedAt())))%(60*1000))/1000; } else { minutes = ((abs((int)SDL_GetTicks()-(int)theGame2->GetGameStartedAt())))/60/1000; seconds = (((abs((int)SDL_GetTicks()-(int)theGame2->GetGameStartedAt())))%(60*1000))/1000; } if (theGame2->isGameOver()) { minutes=0; } if (theGame2->isGameOver()) { seconds=0; } if (seconds>9) { strHolder = std::to_string(minutes)+":"+std::to_string(seconds); } else { strHolder = std::to_string(minutes)+":0"+std::to_string(seconds); } } else { int minutes = (abs((int)SDL_GetTicks()-(int)theGame2->GetGameStartedAt()))/60/1000; int seconds = (abs((int)SDL_GetTicks()-(int)theGame2->GetGameStartedAt())%(60*1000))/1000; if (theGame2->isGameOver()) { minutes=(theGame2->GetGameEndedAt()/1000/60)%100; } if (theGame2->isGameOver()) { seconds=(theGame2->GetGameEndedAt()/1000)%60; } if (seconds>9) { strHolder = std::to_string(minutes)+":"+std::to_string(seconds); } else { strHolder = std::to_string(minutes)+":0"+std::to_string(seconds); } } player2time.SetText(strHolder); player2time.Draw(globalData.screen, theGame2->GetTopX()+310,theGame2->GetTopY()+150); strHolder = std::to_string(theGame2->GetChains()); player2chain.SetText(strHolder); player2chain.Draw(globalData.screen, theGame2->GetTopX()+310,theGame2->GetTopY()+200); strHolder = std::to_string(theGame2->GetSpeedLevel()); player2speed.SetText(strHolder); player2speed.Draw(globalData.screen, theGame2->GetTopX()+310,theGame2->GetTopY()+250); } //player2 finnish //draw exit bExit.Draw(globalData.screen,SDL_GetTicks(), xsize-bExitOffset, ysize-bExitOffset); DrawBalls(); #if DEBUG static sago::SagoTextField fpsField; sagoTextSetBlueFont(fpsField); Frames++; if (SDL_GetTicks() >= Ticks + 1000) { if (Frames > 999) { Frames=999; } snprintf(FPS, sizeof(FPS), "%lu fps", Frames); Frames = 0; Ticks = SDL_GetTicks(); } fpsField.SetText(FPS); fpsField.Draw(globalData.screen, 800, 4); #endif } static BlockGameSdl* player1; static BlockGameSdl* player2; static bool registerEndlessHighscore = false; static bool registerTTHighscorePlayer1 = false; static bool registerTTHighscorePlayer2 = false; static bool saveReplay = false; /** * startSpeed is a value from 0 to 4 * */ static void StartSinglePlayerEndless(int startSpeed) { //1 player - endless BlockGameStartInfo startInfo; startInfo.ticks = SDL_GetTicks(); startInfo.startBlocks = startInfo.ticks; startInfo.gameSpeed = startSpeed; player1->NewGame(startInfo); twoPlayers =false; BlockGameAction a; a.action = BlockGameAction::Action::SET_GAME_OVER; a.tick = startInfo.ticks; player2->DoAction(a); player1->name = globalData.player1name; player2->name = globalData.player2name; registerEndlessHighscore = true; } static void StartSinglePlayerTimeTrial() { BlockGameStartInfo startInfo; startInfo.ticks = SDL_GetTicks(); startInfo.timeTrial = true; player1->NewGame(startInfo); twoPlayers =false; BlockGameAction a; a.action = BlockGameAction::Action::SET_GAME_OVER; a.tick = startInfo.ticks; player2->DoAction(a); //vsMode = false; player1->name = globalData.player1name; player2->name = globalData.player2name; registerTTHighscorePlayer1 = true; saveReplay = true; } static int StartSinglePlayerPuzzle() { BlockGameStartInfo startInfo; startInfo.ticks = SDL_GetTicks(); startInfo.puzzleMode = true; startInfo.level = PuzzleLevelSelect(0); if (startInfo.level == -1) { return 1; } player1->NewGame(startInfo); DrawBackground(globalData.screen); twoPlayers = false; BlockGameAction a; a.action = BlockGameAction::Action::SET_GAME_OVER; a.tick = startInfo.ticks; player2->DoAction(a); player1->name = globalData.player1name; player2->name = globalData.player2name; return 0; } static void StarTwoPlayerTimeTrial() { BlockGameStartInfo startInfo; startInfo.ticks = SDL_GetTicks(); startInfo.timeTrial = true; BlockGameStartInfo startInfo2 = startInfo; registerTTHighscorePlayer1 = true; registerTTHighscorePlayer2 = true; if (player1AI) { startInfo.AI = true; startInfo.level = player1AIlevel; registerTTHighscorePlayer1 = false; } if (player2AI) { startInfo2.AI = true; startInfo2.level = player2AIlevel; registerTTHighscorePlayer2 = false; } startInfo.gameSpeed = player1Speed; startInfo2.gameSpeed = player2Speed; startInfo.handicap = player1handicap; startInfo2.handicap = player2handicap; player1->NewGame(startInfo); player2->NewGame(startInfo2); twoPlayers = true; player1->name = globalData.player1name; player2->name = globalData.player2name; } static void StartTwoPlayerVs() { //2 player - VsMode BlockGameStartInfo startInfo; startInfo.ticks = SDL_GetTicks(); startInfo.vsMode = true; startInfo.startBlocks = startInfo.ticks; BlockGameStartInfo startInfo2 = startInfo; if (player1AI) { startInfo.AI = true; startInfo.level = player1AIlevel; } if (player2AI) { startInfo2.AI = true; startInfo2.level = player2AIlevel; } startInfo.gameSpeed = player1Speed; startInfo2.gameSpeed = player2Speed; startInfo.handicap = player1handicap; startInfo2.handicap = player2handicap; player1->NewGame(startInfo); player2->NewGame(startInfo2); twoPlayers = true; player1->name = globalData.player1name; player2->name = globalData.player2name; } static void MoveBlockGameSdls( BlockGameSdl& game1, BlockGameSdl& game2 ) { game1.SetTopXY(globalData.xsize/2-440, globalData.ysize/2-284); game2.SetTopXY(globalData.xsize/2+40, globalData.ysize/2-284); } struct globalConfig { string savepath; vector search_paths; string puzzleName; bool allowResize = true; bool autoScale = true; bool softwareRenderer = false; }; static void ParseArguments(int argc, char* argv[], globalConfig& conf) { int consoleWidth = boost::program_options::options_description::m_default_line_length; const char* columnsEnv = getenv("COLUMNS"); // Allows using "COLUMNS=300 help2man" for generating the man page without bad line breaks. if (columnsEnv) { consoleWidth = sago::StrToLong(columnsEnv); } const char* commandname = "blockattack"; if (argv[0]) { //NULL on Windows commandname = argv[0]; } boost::program_options::options_description desc("Options", consoleWidth); desc.add_options() ("help,h", "Displays this message") ("version", "Display the version information") ("config,c", boost::program_options::value >(), "Read a config file with the values. Can be given multiple times") ("nosound", "Disables the sound. Can be used if sound errors prevents you from starting") ("priority", "Causes the game to not sleep between frames.") ("software-renderer", "Asks SDL2 to use software renderer") ("verbose-basic", "Enables basic verbose messages") ("verbose-game-controller", "Enables verbose messages regarding controllers") ("print-search-path", "Prints the search path and quits") ("no-auto-scale", "Do not automatically auto scale") ("always-sixteen-nine", "Use 16:9 format even in Window mode") ("puzzle-level-file", boost::program_options::value(), "Sets the default puzzle file to load") ("puzzle-single-level", boost::program_options::value(), "Start the specific puzzle level directly") #ifdef REPLAY_IMPLEMENTED ("play-replay", boost::program_options::value(), "Start a replay") #endif ("bind-text-domain", boost::program_options::value(), SPrintStringF("Overwrites the bind text domain used for finding translations. " "Default: \"%s\"", LOCALEDIR).c_str()) ("homepath", boost::program_options::value(), SPrintStringF("Set the home folder where settings are saved. The directory will be created if it does not exist." " Default: \"%s\"", getPathToSaveFiles().c_str()).c_str()) ; boost::program_options::variables_map vm; try { boost::program_options::store(boost::program_options::parse_command_line(argc, argv, desc), vm); boost::program_options::notify(vm); } catch (exception& e) { cerr << e.what() << "\n"; cerr << desc << "\n"; throw; } if (vm.count("config")) { vector config_filenames = vm["config"].as >(); for ( const string& s : config_filenames) { std::ifstream config_file(s); store(parse_config_file(config_file, desc), vm); notify(vm); } } if (vm.count("bind-text-domain")) { string s = vm["bind-text-domain"].as(); bindtextdomain (PACKAGE, s.c_str()); } if (vm.count("homepath")) { string s = vm["homepath"].as(); setPathToSaveFiles(s); conf.savepath = getPathToSaveFiles(); } if (vm.count("help")) { cout << SPrintStringF("Block Attack - Rise of the blocks %s\n\n" "Block Attack - Rise of the Blocks is a puzzle/blockfall game inspired by Tetris Attack for the SNES.\n\n" "%s\n\n", VERSION_NUMBER, "www.blockattack.net"); cout << "Usage: "<< commandname << " [OPTION]..." << "\n"; cout << desc << "\n"; cout << "Examples:" << "\n"; cout << "\tblockattack \tStart the game normally" << "\n"; cout << "\tblockattack --nosound\tStart the game without sound. Can be used if sound problems prevents the game from starting" << "\n"; cout << "\tblockattack --puzzle-level-file puzzle.levels --puzzle-single-level 3\tStart the game with the default puzzles in level 3" << "\n"; cout << "\tblockattack --bind-text-domain /dev/null\t Disables translations" << "\n"; cout << "\n"; cout << "Report bugs to the issue tracker here: " << "\n"; exit(0); } if (vm.count("version")) { cout << "blockattack " << VERSION_NUMBER << "\n"; cout << "\n"; cout << "Copyright (C) 2005-2016 Poul Sander" << "\n"; cout << "License GPLv2+: GNU GPL version 2 or later " << "\n"; cout << "This is free software: you are free to change and redistribute it." << "\n"; cout << "There is NO WARRANTY, to the extent permitted by law." << "\n"; exit(0); } if (vm.count("nosound")) { globalData.NoSound = true; } if (vm.count("priority")) { globalData.highPriority = true; } if (vm.count("software-renderer")) { conf.softwareRenderer = true; } if (vm.count("verbose-basic")) { globalData.verboseLevel++; } if (vm.count("verbose-game-controller")) { GameControllerSetVerbose(true); } if (vm.count("print-search-path")) { for (const string& s : conf.search_paths) { cout << s << "\n"; } cout << conf.savepath << "\n"; exit(0); } if (vm.count("puzzle-single-level")) { singlePuzzle = true; singlePuzzleNr = vm["puzzle-single-level"].as(); } if (vm.count("no-auto-scale")) { conf.autoScale = false; } if (vm.count("always-sixteen-nine")) { globalData.alwaysSixteenNine = true; } if (vm.count("puzzle-level-file")) { conf.puzzleName = vm["puzzle-level-file"].as(); } if (vm.count("play-replay")) { globalData.replayArgument = vm["play-replay"].as(); } } //Warning: the arguments to main must be "int argc, char* argv[]" NO CONST! or SDL_main will fail to find it int main(int argc, char* argv[]) { try { //Init the file system abstraction layer PHYSFS_init(argv[0]); globalConfig config; config.puzzleName = "puzzle.levels"; FsSearchParthMainAppend(config.search_paths); config.savepath = getPathToSaveFiles(); globalData.highPriority = false; //if true the game will take most resources, but increase framerate. globalData.bFullscreen = false; //Set default Config variables: setlocale (LC_ALL, ""); bindtextdomain (PACKAGE, LOCALEDIR); bind_textdomain_codeset(PACKAGE, "utf-8"); textdomain (PACKAGE); ParseArguments(argc, argv, config); OsCreateSaveFolder(); PhysFsSetSearchPath(config.search_paths, config.savepath); //Os create folders must be after the parameters because they can change the home folder PhysFsCreateFolders(); bool gameShutdownProperly = true; if (sago::FileExists("gameRunning")) { gameShutdownProperly = false; } sago::WriteFileContent("gameRunning", "Started"); globalData.SoundEnabled = true; globalData.MusicEnabled = true; twoPlayers = false; //true if two players splitscreen drawBalls = true; puzzleLoaded = false; theBallManager = BallManager(); theExplosionManager = ExplosionManager(); PuzzleSetName(config.puzzleName); //Init SDL if ( SDL_Init(SDL_INIT_VIDEO) < 0 ) { sago::SagoFatalErrorF("Unable to init SDL: %s", SDL_GetError()); } if (SDL_InitSubSystem(SDL_INIT_GAMECONTROLLER ) != 0) { cerr << "Warning: Game controller failed to initialize. Reason: " << SDL_GetError() << "\n"; } InitGameControllers(); TTF_Init(); atexit(SDL_Quit); //quits SDL when the game stops for some reason (like you hit exit or Esc) globalData.theTextManager = TextManager(); //Open Audio if (!globalData.NoSound) { //If sound has not been disabled, then load the sound system if (Mix_OpenAudio(44100, AUDIO_S16SYS, 2, 2048) < 0) { cerr << "Warning: Couldn't set 44100 Hz 16-bit audio - Reason: " << SDL_GetError() << "\n" << "Sound will be disabled!" << "\n"; globalData.NoSound = true; //Tries to stop all sound from playing/loading } } if (globalData.verboseLevel) { //Copyright notice: cout << "Block Attack - Rise of the Blocks (" << VERSION_NUMBER << ")" << "\n" << "http://www.blockattack.net" << "\n" << "Copyright 2004-2016 Poul Sander" << "\n" << "A SDL2 based game (see www.libsdl.org)" << "\n" << "The game is available under the GPL, see COPYING for details." << "\n"; cout << "-------------------------------------------" << "\n"; } keySettings[player1keys].up= SDLK_UP; keySettings[player1keys].down = SDLK_DOWN; keySettings[player1keys].left = SDLK_LEFT; keySettings[player1keys].right = SDLK_RIGHT; keySettings[player1keys].change = SDLK_RCTRL; keySettings[player1keys].push = SDLK_RSHIFT; keySettings[player2keys].up= SDLK_w; keySettings[player2keys].down = SDLK_s; keySettings[player2keys].left = SDLK_a; keySettings[player2keys].right = SDLK_d; keySettings[player2keys].change = SDLK_LCTRL; keySettings[player2keys].push = SDLK_LSHIFT; globalData.player1name = defaultPlayerName(); globalData.player2name = _("Player 2"); Config* configSettings = Config::getInstance(); //configSettings->setString("aNumber"," A string"); //configSettings->save(); int screenHeight = 768; if (configSettings->exists("fullscreen")) { //Test if an configFile exists globalData.bFullscreen = (bool)configSettings->getInt("fullscreen"); globalData.MusicEnabled = (bool)configSettings->getInt("musicenabled"); globalData.SoundEnabled = (bool)configSettings->getInt("soundenabled"); if (configSettings->exists("sdl2_player1keyup")) { keySettings[0].up = (SDL_Keycode)configSettings->getInt("sdl2_player1keyup"); } if (configSettings->exists("sdl2_player1keydown")) { keySettings[0].down = (SDL_Keycode)configSettings->getInt("sdl2_player1keydown"); } if (configSettings->exists("sdl2_player1keyleft")) { keySettings[0].left = (SDL_Keycode)configSettings->getInt("sdl2_player1keyleft"); } if (configSettings->exists("sdl2_player1keyright")) { keySettings[0].right = (SDL_Keycode)configSettings->getInt("sdl2_player1keyright"); } if (configSettings->exists("sdl2_player1keychange")) { keySettings[0].change = (SDL_Keycode)configSettings->getInt("sdl2_player1keychange"); } if (configSettings->exists("sdl2_player1keypush")) { keySettings[0].push = (SDL_Keycode)configSettings->getInt("sdl2_player1keypush"); } if (configSettings->exists("sdl2_player2keyup")) { keySettings[2].up = (SDL_Keycode)configSettings->getInt("sdl2_player2keyup"); } if (configSettings->exists("sdl2_player2keydown")) { keySettings[2].down = (SDL_Keycode)configSettings->getInt("sdl2_player2keydown"); } if (configSettings->exists("sdl2_player2keyleft")) { keySettings[2].left = (SDL_Keycode)configSettings->getInt("sdl2_player2keyleft"); } if (configSettings->exists("sdl2_player2keyright")) { keySettings[2].right = (SDL_Keycode)configSettings->getInt("sdl2_player2keyright"); } if (configSettings->exists("sdl2_player2keychange")) { keySettings[2].change = (SDL_Keycode)configSettings->getInt("sdl2_player2keychange"); } if (configSettings->exists("sdl2_player2keypush")) { keySettings[2].push = (SDL_Keycode)configSettings->getInt("sdl2_player2keypush"); } if (configSettings->exists("player1name")) { globalData.player1name = configSettings->getString("player1name"); } if (configSettings->exists("player2name")) { globalData.player2name = configSettings->getString("player2name"); } if (configSettings->exists("xsize")) { globalData.xsize = configSettings->getInt("xsize"); } if (configSettings->exists("ysize")) { globalData.ysize = configSettings->getInt("ysize"); } if (configSettings->exists("screenHeight")) { screenHeight = configSettings->getInt("screenHeight"); } if (globalData.verboseLevel) { cout << "Data loaded from config file" << "\n"; } } else { if (globalData.verboseLevel) { cout << "Unable to load options file, using default values" << "\n"; } } if (configSettings->getInt("always-software")) { config.softwareRenderer = true; } if (!gameShutdownProperly) { std::cerr << "Game not shotdown. Using software renderer.\n"; config.softwareRenderer = true; } // "Block Attack - Rise of the Blocks" SDL_SetHint(SDL_HINT_RENDER_SCALE_QUALITY, "2"); //Open video int createWindowParams = 0; if (config.allowResize) { createWindowParams |= SDL_WINDOW_RESIZABLE; } globalData.xsize = FOUR_THREE_WIDTH; if (globalData.alwaysSixteenNine) { globalData.xsize = SIXTEEN_NINE_WIDTH; } globalData.ysize = SCREEN_HIGHT; sdlWindow = SDL_CreateWindow("Block Attack - Rise of the Blocks " VERSION_NUMBER, SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, (screenHeight)*globalData.xsize/globalData.ysize, screenHeight, createWindowParams ); dieOnNullptr(sdlWindow, "Unable to create window"); int rendererFlags = 0; if (config.softwareRenderer) { rendererFlags |= SDL_RENDERER_SOFTWARE; } SDL_Renderer* renderer = SDL_CreateRenderer(sdlWindow, -1, rendererFlags); dieOnNullptr(renderer, "Unable to create render"); if (config.autoScale) { SDL_RenderSetLogicalSize(renderer, globalData.xsize, globalData.ysize); logicalRenderer = true; } if (globalData.verboseLevel) { SDL_RendererInfo info; SDL_GetRendererInfo(renderer, &info); cout << "Renderer: " << info.name << "\n"; } globalData.screen = renderer; ResetFullscreen(); SetSDLIcon(sdlWindow); if (globalData.verboseLevel) { cout << "Images loaded" << "\n"; } BlockGameSdl theGame = BlockGameSdl(globalData.xsize/2-426, 100, &globalData.spriteHolder->GetDataHolder()); //creates game objects BlockGameSdl theGame2 = BlockGameSdl(globalData.xsize/2+40, 100, &globalData.spriteHolder->GetDataHolder()); player1 = &theGame; player2 = &theGame2; BlockGameAction a; a.action = BlockGameAction::Action::SET_GAME_OVER; theGame.DoAction(a); theGame2.DoAction(a); //Takes names from file instead theGame.name = globalData.player1name; theGame2.name = globalData.player2name; if (singlePuzzle) { LoadPuzzleStages(); BlockGameStartInfo s; s.puzzleMode = true; s.level = singlePuzzleNr; s.singlePuzzle = true; theGame.NewGame(s); } DrawBackground(globalData.screen); MoveBlockGameSdls(theGame, theGame2); DrawEverything(globalData.xsize, globalData.ysize, &theGame, &theGame2); SDL_RenderPresent(globalData.screen); if (singlePuzzle) { runGame(Gametype::Puzzle, singlePuzzleNr); } else if (globalData.replayArgument.length()) { ReplayPlayer rp; RunGameState(rp); } else { if (!gameShutdownProperly) { SafeModeMenu(); } //game loop MainMenu(); } //Saves options if (true) { configSettings->setInt("fullscreen",(int)globalData.bFullscreen); configSettings->setInt("musicenabled",(int)globalData.MusicEnabled); configSettings->setInt("soundenabled",(int)globalData.SoundEnabled); configSettings->setInt("sdl2_player1keyup",(int)keySettings[0].up); configSettings->setInt("sdl2_player1keydown",(int)keySettings[0].down); configSettings->setInt("sdl2_player1keyleft",(int)keySettings[0].left); configSettings->setInt("sdl2_player1keyright",(int)keySettings[0].right); configSettings->setInt("sdl2_player1keychange",(int)keySettings[0].change); configSettings->setInt("sdl2_player1keypush",(int)keySettings[0].push); configSettings->setInt("sdl2_player2keyup",(int)keySettings[2].up); configSettings->setInt("sdl2_player2keydown",(int)keySettings[2].down); configSettings->setInt("sdl2_player2keyleft",(int)keySettings[2].left); configSettings->setInt("sdl2_player2keyright",(int)keySettings[2].right); configSettings->setInt("sdl2_player2keychange",(int)keySettings[2].change); configSettings->setInt("sdl2_player2keypush",(int)keySettings[2].push); configSettings->setString("player1name", globalData.player1name); configSettings->setString("player2name", globalData.player2name); if (!globalData.bFullscreen){ //Store physical height of window int height = 0; SDL_GetWindowSize(sdlWindow, nullptr, &height); configSettings->setInt("screenHeight", height); } configSettings->save(); } //calculate uptime: //int hours, mins, secs, commonTime ct = TimeHandler::ms2ct(SDL_GetTicks()); if (globalData.verboseLevel) { cout << SPrintStringF("Block Attack - Rise of the Blocks ran for: %i hours %i mins and %i secs", ct.hours, ct.minutes, ct.seconds) << "\n"; } ct = TimeHandler::addTime("totalTime",ct); if (globalData.verboseLevel) { cout << "Total run time is now: " << ct.days << " days " << ct.hours << " hours " << ct.minutes << " mins and " << ct.seconds << " secs" << "\n"; } Stats::getInstance()->save(); Config::getInstance()->save(); } catch (exception& e) { sago::SagoFatalError(e.what()); } PHYSFS_delete("gameRunning"); //Close file system Apstraction layer! PHYSFS_deinit(); return 0; } int runGame(Gametype gametype, int level) { Highscore theTopScoresTimeTrial = Highscore("timetrial", 0.5); drawBalls = true; puzzleLoaded = false; bool bNearDeath = false; //Play music faster or louder while tru theBallManager = BallManager(); theExplosionManager = ExplosionManager(); BlockGameSdl theGame = BlockGameSdl(globalData.xsize/2-426, 100, &globalData.spriteHolder->GetDataHolder()); //creates game objects BlockGameSdl theGame2 = BlockGameSdl(globalData.xsize/2+4, 100, &globalData.spriteHolder->GetDataHolder()); player1 = &theGame; player2 = &theGame2; theGame.DoPaintJob(); //Makes sure what there is something to paint theGame2.DoPaintJob(); BlockGameAction a; a.action = BlockGameAction::Action::SET_GAME_OVER; theGame.DoAction(a); theGame2.DoAction(a); //Takes names from file instead theGame.name = globalData.player1name; theGame2.name = globalData.player2name; bool mustsetupgame = true; if (singlePuzzle) { LoadPuzzleStages(); BlockGameStartInfo s; s.puzzleMode = true; s.level = singlePuzzleNr; s.singlePuzzle = true; theGame.NewGame(s); mustsetupgame = false; } //game loop int done = 0; if (globalData.verboseLevel) { cout << "Starting game loop" << "\n"; } while (done == 0) { if (mustsetupgame) { registerEndlessHighscore = false; registerTTHighscorePlayer1 = false; registerTTHighscorePlayer2 = false; switch (gametype) { case Gametype::SinglePlayerTimeTrial: StartSinglePlayerTimeTrial(); break; case Gametype::StageClear: { int myLevel = PuzzleLevelSelect(1); if (myLevel == -1) { return 1; } BlockGameStartInfo s; s.ticks = SDL_GetTicks(); s.stageClear = true; s.level = myLevel; theGame.NewGame(s); DrawBackground(globalData.screen); twoPlayers =false; BlockGameAction a; a.action = BlockGameAction::Action::SET_GAME_OVER; theGame2.DoAction(a); theGame.name = globalData.player1name; theGame2.name = globalData.player2name; } break; case Gametype::Puzzle: if (StartSinglePlayerPuzzle()) { return 1; } break; case Gametype::SinglePlayerVs: { //1 player - Vs mode int theAIlevel = level; //startSingleVs(); BlockGameStartInfo startInfo; startInfo.ticks = SDL_GetTicks(); startInfo.vsMode = true; startInfo.vsAI = true; startInfo.level = theAIlevel; theGame.NewGame(startInfo); startInfo.AI = true; theGame2.NewGame(startInfo); DrawBackground(globalData.screen); twoPlayers = true; //Single player, but AI plays theGame.name = globalData.player1name; theGame2.name = globalData.player2name; } break; case Gametype::TwoPlayerTimeTrial: StarTwoPlayerTimeTrial(); break; case Gametype::TwoPlayerVs: StartTwoPlayerVs(); break; case Gametype::SinglePlayerEndless: default: StartSinglePlayerEndless(level); }; mustsetupgame = false; DrawBackground(globalData.screen); MoveBlockGameSdls(theGame, theGame2); DrawEverything(globalData.xsize, globalData.ysize, &theGame, &theGame2); SDL_RenderPresent(globalData.screen); } if (!(globalData.highPriority)) { SDL_Delay(1); } DrawBackground(globalData.screen); //updates the balls and explosions:g theBallManager.update(); theExplosionManager.update(); globalData.theTextManager.update(); bool mustWriteScreenshot = false; BlockGameAction a; a.action = BlockGameAction::Action::NONE; a.tick = SDL_GetTicks(); if (true) { SDL_Event event; while ( SDL_PollEvent(&event) ) { UpdateMouseCoordinates(event, globalData.mousex, globalData.mousey); if ( event.type == SDL_QUIT ) { Config::getInstance()->setShuttingDown(5); done = 1; } if (theGame.isGameOver() && isEscapeEvent(event)) { done = 1; } if (event.type == SDL_CONTROLLERBUTTONDOWN) { if ( event.cbutton.button == SDL_CONTROLLER_BUTTON_BACK ) { done=1; DrawBackground(globalData.screen); } } if ( event.type == SDL_KEYDOWN ) { if ( event.key.keysym.sym == SDLK_ESCAPE || ( event.key.keysym.sym == SDLK_RETURN && theGame.isGameOver() ) ) { done=1; DrawBackground(globalData.screen); } if (!theGame.GetAIenabled()) { //player1: if ( event.key.keysym.sym == keySettings[player1keys].up ) { a.action = BlockGameAction::Action::MOVE; a.way = 'N'; theGame.DoAction(a); } if ( event.key.keysym.sym == keySettings[player1keys].down ) { a.action = BlockGameAction::Action::MOVE; a.way = 'S'; theGame.DoAction(a); } if ( (event.key.keysym.sym == keySettings[player1keys].left) ) { a.action = BlockGameAction::Action::MOVE; a.way = 'W'; theGame.DoAction(a); } if ( (event.key.keysym.sym == keySettings[player1keys].right) ) { a.action = BlockGameAction::Action::MOVE; a.way = 'E'; theGame.DoAction(a); } if ( event.key.keysym.sym == keySettings[player1keys].push ) { a.action = BlockGameAction::Action::PUSH; theGame.DoAction(a); } if ( event.key.keysym.sym == keySettings[player1keys].change ) { a.action = BlockGameAction::Action::SWITCH; theGame.DoAction(a); } } if (!theGame2.GetAIenabled()) { //player2: if ( event.key.keysym.sym == keySettings[player2keys].up ) { a.action = BlockGameAction::Action::MOVE; a.way = 'N'; theGame2.DoAction(a); } if ( event.key.keysym.sym == keySettings[player2keys].down ) { a.action = BlockGameAction::Action::MOVE; a.way = 'S'; theGame2.DoAction(a); } if ( (event.key.keysym.sym == keySettings[player2keys].left) ) { a.action = BlockGameAction::Action::MOVE; a.way = 'W'; theGame2.DoAction(a); } if ( (event.key.keysym.sym == keySettings[player2keys].right) ) { a.action = BlockGameAction::Action::MOVE; a.way = 'E'; theGame2.DoAction(a); } if ( event.key.keysym.sym == keySettings[player2keys].push ) { a.action = BlockGameAction::Action::PUSH; theGame2.DoAction(a); } if ( event.key.keysym.sym == keySettings[player2keys].change ) { a.action = BlockGameAction::Action::SWITCH; theGame2.DoAction(a); } } //common: if (!singlePuzzle) { if ( event.key.keysym.sym == SDLK_F2 ) { /*#if NETWORK if ((!showOptions)&&(!networkActive)){ #else if ((!showOptions)){ #endif StartSinglePlayerEndless(); } */ mustsetupgame = true; } if ( event.key.keysym.sym == SDLK_F10 ) { //StartReplay("/home/poul/.gamesaves/blockattack/quicksave"); } if ( event.key.keysym.sym == SDLK_F9 ) { mustWriteScreenshot = true; } if ( event.key.keysym.sym == SDLK_F5 ) { } if ( event.key.keysym.sym == SDLK_F11 ) { } //F11 } if ( event.key.keysym.sym == SDLK_F12 ) { done=1; } } if (isPlayerUpEvent(1, event)) { a.action = BlockGameAction::Action::MOVE; a.way = 'N'; theGame.DoAction(a); } if (isPlayerDownEvent(1, event)) { a.action = BlockGameAction::Action::MOVE; a.way = 'S'; theGame.DoAction(a); } if (isPlayerLeftEvent(1, event)) { a.action = BlockGameAction::Action::MOVE; a.way = 'W'; theGame.DoAction(a); } if (isPlayerRightEvent (1, event)) { a.action = BlockGameAction::Action::MOVE; a.way = 'E'; theGame.DoAction(a); } if (isPlayerSwitchEvent(1, event)) { a.action = BlockGameAction::Action::SWITCH; theGame.DoAction(a); } if (isPlayerPushEvent(1, event)) { a.action = BlockGameAction::Action::PUSH; theGame.DoAction(a); } if (isPlayerUpEvent(2, event)) { a.action = BlockGameAction::Action::MOVE; a.way = 'N'; theGame2.DoAction(a); } if (isPlayerDownEvent(2, event)) { a.action = BlockGameAction::Action::MOVE; a.way = 'S'; theGame2.DoAction(a); } if (isPlayerLeftEvent(2, event)) { a.action = BlockGameAction::Action::MOVE; a.way = 'W'; theGame2.DoAction(a); } if (isPlayerRightEvent (2, event)) { a.action = BlockGameAction::Action::MOVE; a.way = 'E'; theGame2.DoAction(a); } if (isPlayerSwitchEvent(2, event)) { a.action = BlockGameAction::Action::SWITCH; theGame2.DoAction(a); } if (isPlayerPushEvent(2, event)) { a.action = BlockGameAction::Action::PUSH; theGame2.DoAction(a); } static int mouseDownX = 0; static int mouseDownY = 0; if (event.type == SDL_MOUSEBUTTONDOWN) { if (event.button.button == SDL_BUTTON_LEFT) { bool pressed = false; int x = 0; int y = 0; theGame.GetBrickCoordinateFromMouse(pressed, event.button.x, event.button.y, x, y); if (pressed) { a.action = BlockGameAction::Action::MOUSE_DOWN; a.x = x; a.y = y; theGame.DoAction(a); } theGame2.GetBrickCoordinateFromMouse(pressed, event.button.x, event.button.y, x, y); if (pressed) { a.action = BlockGameAction::Action::MOUSE_DOWN; a.x = x; a.y = y; theGame2.DoAction(a); } mouseDownX = event.button.x; mouseDownY = event.button.y; } if (event.button.button == SDL_BUTTON_RIGHT) { bool pressed = false; int x = 0; int y = 0; theGame.GetBrickCoordinateFromMouse(pressed, event.button.x, event.button.y, x, y); if (pressed) { a.action = BlockGameAction::Action::PUSH; theGame.DoAction(a); } theGame2.GetBrickCoordinateFromMouse(pressed, event.button.x, event.button.y, x, y); if (pressed) { a.action = BlockGameAction::Action::PUSH; theGame2.DoAction(a); } } } if (event.type == SDL_MOUSEBUTTONUP) { if (event.button.button == SDL_BUTTON_LEFT) { int x = event.button.x; int y = event.button.y; a.action = BlockGameAction::Action::MOUSE_UP; theGame.DoAction(a); theGame2.DoAction(a); if (theGame.IsInTheBoard(x,y) && theGame.IsUnderTheBoard(mouseDownX, mouseDownY)) { a.action = BlockGameAction::Action::PUSH; theGame.DoAction(a); } if (theGame2.IsInTheBoard(x,y) && theGame2.IsUnderTheBoard(mouseDownX, mouseDownY)) { a.action = BlockGameAction::Action::PUSH; theGame2.DoAction(a); } } } if (event.type == SDL_MOUSEMOTION) { //cout << "Moved" << "\n"; bool pressed = false; int x = 0; int y = 0; theGame.GetMouseCursor(pressed, x, y); if (pressed) { int mx = 0; int my = 0; theGame.GetBrickCoordinateFromMouse(pressed, event.motion.x, event.motion.y, mx, my); if (pressed) { if (mx != x) { a.action = BlockGameAction::Action::MOUSE_MOVE; a.x = mx; theGame.DoAction(a); } } } theGame2.GetMouseCursor(pressed, x, y); if (pressed) { int mx = 0; int my = 0; theGame2.GetBrickCoordinateFromMouse(pressed, event.motion.x, event.motion.y, mx, my); if (pressed) { if (mx != x) { a.action = BlockGameAction::Action::MOUSE_MOVE; a.x = mx; theGame2.DoAction(a); } } } } } //while event PollEvent - read keys // If the mouse button is released, make bMouseUp equal true if (! (SDL_GetMouseState(nullptr, nullptr)&SDL_BUTTON(1)) ) { bMouseUp=true; } // If the mouse button 2 is released, make bMouseUp2 equal true if ((SDL_GetMouseState(nullptr, nullptr)&SDL_BUTTON(3))!=SDL_BUTTON(3)) { bMouseUp2=true; } if (true ) { //read mouse events if (SDL_GetMouseState(nullptr,nullptr)&SDL_BUTTON(1) && bMouseUp) { //This is the mouse events bMouseUp = false; DrawBackground(globalData.screen); if (stageButtonStatus != SBdontShow && (globalData.mousex > theGame.GetTopX()+cordNextButton.x) && (globalData.mousex < theGame.GetTopX()+cordNextButton.x+cordNextButton.xsize) && (globalData.mousey > theGame.GetTopY()+cordNextButton.y) && (globalData.mousey < theGame.GetTopY()+cordNextButton.y+cordNextButton.ysize)) { //Clicked the next button after a stage clear or puzzle nextLevel(theGame, SDL_GetTicks()); } if (stageButtonStatus != SBdontShow && (globalData.mousex > theGame.GetTopX()+cordRetryButton .x) &&(globalData.mousex < theGame.GetTopX()+cordRetryButton.x+cordRetryButton.xsize) &&(globalData.mousey > theGame.GetTopY()+cordRetryButton.y) &&(globalData.mousey < theGame.GetTopY()+cordRetryButton.y+cordRetryButton.ysize)) { //Clicked the retry button retryLevel(theGame, SDL_GetTicks()); } if (globalData.mousex > globalData.xsize-bExitOffset && globalData.mousex < globalData.xsize-bExitOffset+bExitSize && globalData.mousey > globalData.ysize-bExitOffset && globalData.mousey < globalData.ysize-bExitOffset+bExitSize) { done = 1; } } //Mouse button 2: if ((SDL_GetMouseState(nullptr,nullptr)&SDL_BUTTON(3))==SDL_BUTTON(3) && bMouseUp2) { bMouseUp2=false; //The button is pressed } } } //if !bScreenBocked; //Sees if music is stopped and if music is enabled if ((!globalData.NoSound)&&(!Mix_PlayingMusic())&&(globalData.MusicEnabled)&&(!bNearDeath)) { // then starts playing it. Mix_PlayMusic(bgMusic.get(), -1); //music loop Mix_VolumeMusic((MIX_MAX_VOLUME*3)/10); } if (bNearDeath!=bNearDeathPrev) { if (bNearDeath) { if (!globalData.NoSound &&(globalData.MusicEnabled)) { Mix_PlayMusic(highbeatMusic.get(), 1); Mix_VolumeMusic((MIX_MAX_VOLUME*5)/10); } } else { if (!globalData.NoSound &&(globalData.MusicEnabled)) { Mix_PlayMusic(bgMusic.get(), -1); Mix_VolumeMusic((MIX_MAX_VOLUME*3)/10); } } } bNearDeathPrev = bNearDeath; //set bNearDeath to false theGame*.Update() will change to true as needed bNearDeath = theGame.IsNearDeath() || theGame2.IsNearDeath(); //Updates the objects a.action = BlockGameAction::Action::UPDATE; theGame.DoAction(a); theGame2.DoAction(a); //see if anyone has won (two players only) #if NETWORK if (!networkPlay) #endif if (twoPlayers) { if (theGame.isGameOver() && theGame2.isGameOver() && !theGame.GetIsWinner() && !theGame2.GetIsWinner() ) { if (theGame.GetScore()+theGame.GetHandicap()>theGame2.GetScore()+theGame2.GetHandicap()) { BlockGameAction a; a.action = BlockGameAction::Action::SET_WON; theGame.DoAction(a); } else if (theGame.GetScore()+theGame.GetHandicap() gs; theGame.PopSendGarbage(gs); for (const GarbageStruct& g : gs ) { BlockGameAction a; a.action = BlockGameAction::Action::PUSH_GARBAGE; a.garbage.push_back(g); theGame2.DoAction(a); } gs.clear(); theGame2.PopSendGarbage(gs); for (const GarbageStruct& g : gs ) { BlockGameAction a; a.action = BlockGameAction::Action::PUSH_GARBAGE; a.garbage.push_back(g); theGame.DoAction(a); } } if (theGame.isGameOver() && registerTTHighscorePlayer1) { registerTTHighscorePlayer1 = false; theTopScoresTimeTrial.addScore(theGame.name, theGame.GetScore()); } if (theGame2.isGameOver() && registerTTHighscorePlayer2) { registerTTHighscorePlayer2 = false; theTopScoresTimeTrial.addScore(theGame2.name, theGame2.GetScore()); } if (theGame.isGameOver() && registerEndlessHighscore) { Highscore theTopScoresEndless = Highscore("endless", theGame.GetBaseSpeed()); registerEndlessHighscore = false; theTopScoresEndless.addScore(theGame.name, theGame.GetScore()); theGame.EndlessHighscoreEvent(); } #ifdef REPLAY_IMPLEMENTED if (theGame.isGameOver() && saveReplay) { if (twoPlayers && theGame2.isGameOver()) { saveReplay = false; SaveReplay(theGame.GetBlockGameInfo(), theGame2.GetBlockGameInfo()); } if (!twoPlayers) { saveReplay = false; SaveReplay(theGame.GetBlockGameInfo()); } } #endif //Once evrything has been checked, update graphics MoveBlockGameSdls(theGame, theGame2); DrawEverything(globalData.xsize, globalData.ysize, &theGame, &theGame2); //Draw the mouse: globalData.mouse.Draw(globalData.screen, SDL_GetTicks(), globalData.mousex, globalData.mousey); SDL_RenderPresent(globalData.screen); if (mustWriteScreenshot) { writeScreenShot(); } } //game loop return 0; } blockattack-game-2.5.0/source/code/mainVars.inc000066400000000000000000000152711347224572500214150ustar00rootroot00000000000000/* =========================================================================== blockattack - Block Attack - Rise of the Blocks Copyright (C) 2005-2012 Poul Sander 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 2 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 http://www.gnu.org/licenses/ Source information and contacts persons can be found at http://blockattack.net =========================================================================== */ //Make sure it is only included once #ifndef _MAINVARS_HPP #define _MAINVARS_HPP #include "sago/SagoSprite.hpp" #include "BlockGame.hpp" #include "sago/SagoTextField.hpp" #include "sago/SagoTextBox.hpp" //main variables and constants //Animation lengths: #define READYTIME 500 #define BOMBTIME 200 #define CURSORTIME 200 #ifndef SHAREDIR #define SHAREDIR "." #endif const char sharedir[] = SHAREDIR; //All graphic in the game: sago::SagoSprite backgroundImage; //Stores the background image sago::SagoSprite backgroundSixteenNineImage; // For 16:9 format sago::SagoSprite bExit; static sago::SagoSprite backBoard; //Stores the background to the board static sago::SagoSprite bForward; //The "forward" button #if NETWORK //static sago::SagoSprite bNetwork; //static sago::SagoSprite bConnect; //static sago::SagoSprite bHost; #endif static sago::SagoSprite blackLine; //The seperator in stage clear static sago::SagoSprite stageBobble; //The bobble instage clear SDL_Renderer *screen; //The whole screen; static sago::SagoTextBox tbGameOver; static sago::SagoTextBox tbWinner; static sago::SagoTextBox tbDraw; static sago::SagoSprite iChainFrame; //Animations: static sago::SagoSprite cursor; //The animated cursor static sago::SagoSprite bomb; static sago::SagoSprite ready; //Before the blocks fall static sago::SagoSprite explosion[4]; //Then a block explodes //Animations end static sago::SagoSprite counter[3]; //Counts down from 3 sago::SagoSprite bricks[7]; //The bricks, saved in an array of pointers static sago::SagoSprite crossover; //Cross the bricks that will be cleared soon static sago::SagoSprite balls[7]; //The balls (the small ones that jump around) static sago::SagoSprite boardBackBack; static sago::SagoSprite garbageTL; //the Garbage Blocks static sago::SagoSprite garbageT; static sago::SagoSprite garbageTR; static sago::SagoSprite garbageR; static sago::SagoSprite garbageBR; static sago::SagoSprite garbageB; static sago::SagoSprite garbageBL; static sago::SagoSprite garbageL; static sago::SagoSprite garbageFill; static sago::SagoSprite garbageM; static sago::SagoSprite garbageML; static sago::SagoSprite garbageMR; static sago::SagoSprite smiley[4]; static sago::SagoSprite garbageGM; static sago::SagoSprite garbageGML; static sago::SagoSprite garbageGMR; static sago::SagoSprite transCover; //The transperant block, covers the upcomming static sago::SagoSprite bSkip; static sago::SagoSprite bRetry; const int bExitSize = 100; //height and width of the exit button const int bExitOffset = 140; //pixels from the buttom right corner to the top left of the exit button static sago::MusicHandler bgMusic; //backgroundMusic static sago::MusicHandler highbeatMusic; //Background music with higher beat static sago::SoundHandler boing; //boing sound when clearing static sago::SoundHandler applause; //Applause, then the player is good static sago::SoundHandler photoClick; //clickSound static sago::SoundHandler counterChunk; //When counting down static sago::SoundHandler counterFinalChunk; static bool bMouseUp; //true if the mouse(1) is unpressed static bool bMouseUp2; //true if the mouse(2) is unpressed #if NETWORK static bool bNetworkOpen; //Show the network menu #endif static bool bNearDeathPrev; //Near death status last time checked. static bool puzzleLoaded; //true if the puzzle levels have been loaded static bool drawBalls; //if true balls are drawed to the screen, this might lower framerate too much //global settings (reset everytime the game starts) static Uint8 player1Speed=0; static Uint8 player2Speed=0; static bool player1AI=false; //Is AI enabled? static bool player2AI=false; //Is AI enabled for player 2 (opponent in single player) static Uint8 player1AIlevel=3; //What level is AI? 0 min, 6 max static Uint8 player2AIlevel=3; static const Uint8 AIlevels=7; //7 possible levels: 0..6 static Uint8 player1handicap=0; static Uint8 player2handicap=0; unsigned long int currentTime; //contains the current time, so we don't call SDL_GetTickets() too often... bool twoPlayers; //True if two players are playing //Old Stage Clear Buble static int oldBubleX, oldBubleY; //Allows starting the game with just a single puzzle. Mainly to be able to open a puzzle directly from the level editor static bool singlePuzzle = false; static int singlePuzzleNr = 0; static std::string singlePuzzleFile; #if DEBUG //frame counter (fps) unsigned long int Frames, Ticks; char FPS[10]; #endif //keySetup const int player1keys = 0; const int player2keys = 2; //Stores the controls struct control { SDL_Keycode up; SDL_Keycode down; SDL_Keycode left; SDL_Keycode right; SDL_Keycode change; SDL_Keycode push; }; control keySettings[3]; //array to hold the controls (default and two custom) #define KEYMENU_MAXWITH 4 #define KEYMENU_MAXDEPTH 7 static const int buttonXsize = 120; static const int buttonYsize = 40; struct ButtonCords { int x; int y; int xsize; int ysize; }; ButtonCords cordNextButton = { cordNextButton.x = 3*bsize+(3*bsize-buttonXsize)/2, cordNextButton.y = 10*bsize, cordNextButton.xsize = buttonXsize, cordNextButton.ysize = buttonYsize }; ButtonCords cordRetryButton = { cordRetryButton.x = (3*bsize-buttonXsize)/2, cordRetryButton.y = 10*bsize, cordRetryButton.xsize = buttonXsize, cordRetryButton.ysize = buttonYsize }; static sago::SagoTextField player1name; static sago::SagoTextField player2name; static sago::SagoTextField player1time; static sago::SagoTextField player2time; static sago::SagoTextField player1score; static sago::SagoTextField player2score; static sago::SagoTextField player1chain; static sago::SagoTextField player2chain; static sago::SagoTextField player1speed; static sago::SagoTextField player2speed; #endif blockattack-game-2.5.0/source/code/menudef.cpp000066400000000000000000000301671347224572500212720ustar00rootroot00000000000000/* =========================================================================== blockattack - Block Attack - Rise of the Blocks Copyright (C) 2005-2013 Poul Sander 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 2 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 http://www.gnu.org/licenses/ Source information and contacts persons can be found at http://blockattack.net =========================================================================== */ #include "global.hpp" #include #include #include "MenuSystem.h" #include "common.h" #include "HelpHowtoState.hpp" #include "HelpGamepadState.hpp" #include "HelpAboutState.hpp" #include "ShowFileState.hpp" using std::string; using std::cerr; using std::cout; using std::vector; #if 0 //Menu static void PrintHi(Button* b) { cout << "Hi" <<"\n"; } #endif //Stores the controls struct control { SDL_Keycode up; SDL_Keycode down; SDL_Keycode left; SDL_Keycode right; SDL_Keycode change; SDL_Keycode push; }; void OpenScoresDisplay(); extern control keySettings[3]; //Function to return the name of a key, to be displayed... string getKeyName(SDL_Keycode key) { string keyname(SDL_GetKeyName(key)); if (key == SDLK_UP) { keyname = _("Up arrow"); } if (key == SDLK_DOWN) { keyname = _("Down arrow"); } if (key == SDLK_LEFT) { keyname = _("Left arrow"); } if (key == SDLK_RIGHT) { keyname = _("Right arrow"); } if (key == SDLK_RCTRL) { keyname = _("Right Ctrl"); } if (key == SDLK_LCTRL) { keyname = _("Left Ctrl"); } if (key == SDLK_RSHIFT) { keyname = _("Right shift"); } if (key == SDLK_LSHIFT) { keyname = _("Left shift"); } if (key == SDLK_RALT) { keyname = _("Right alt"); } if (key == SDLK_LALT) { keyname = _("Left alt"); } if (key == SDLK_RETURN) { keyname = _("Return"); } if (key == SDLK_SPACE) { keyname = _("Space"); } if (globalData.verboseLevel) { cout << key << " translated to " << keyname << "\n"; } return keyname; } class Button_changekey : public Button { private: SDL_Keycode* m_key2change; string m_keyname; public: Button_changekey(SDL_Keycode* key, string keyname); void doAction(); }; Button_changekey::Button_changekey(SDL_Keycode* key, string keyname) { m_key2change = key; m_keyname = keyname; setLabel(m_keyname+" : "+getKeyName(*m_key2change)); } void Button_changekey::doAction() { SDL_Event event; bool finnish = false; while (!finnish) { SDL_Delay(10); while ( SDL_PollEvent(&event) ) { if (event.type == SDL_KEYDOWN) { if (event.key.keysym.sym != SDLK_ESCAPE) { *m_key2change = event.key.keysym.sym; } finnish = true; } } } setLabel(m_keyname+" : "+getKeyName(*m_key2change)); } void InitMenues() { standardButton.setSurfaces(); } static void runSinglePlayerEndless0() { runGame(Gametype::SinglePlayerEndless, 0); } static void runSinglePlayerEndless1() { runGame(Gametype::SinglePlayerEndless, 1); } static void runSinglePlayerEndless2() { runGame(Gametype::SinglePlayerEndless, 2); } static void runSinglePlayerEndless3() { runGame(Gametype::SinglePlayerEndless, 3); } static void runSinglePlayerEndless4() { runGame(Gametype::SinglePlayerEndless, 4); } static void runSinglePlayerEndless() { Menu sp(globalData.screen,_("Single Player Endless"),true); Button d0,d1,d2,d3,d4; d0.setPopOnRun(true); d1.setPopOnRun(true); d2.setPopOnRun(true); d3.setPopOnRun(true); d4.setPopOnRun(true); d0.setLabel(_("Slow")); d1.setLabel(_("Fast")); d2.setLabel(_("Faster")); d3.setLabel(_("Even faster")); d4.setLabel(_("Fastest")); d0.setAction(runSinglePlayerEndless0); d1.setAction(runSinglePlayerEndless1); d2.setAction(runSinglePlayerEndless2); d3.setAction(runSinglePlayerEndless3); d4.setAction(runSinglePlayerEndless4); sp.addButton(&d0); sp.addButton(&d1); sp.addButton(&d2); sp.addButton(&d3); sp.addButton(&d4); RunGameState(sp); } static void runSinglePlayerTimeTrial() { runGame(Gametype::SinglePlayerTimeTrial, 0); } static void runStageClear() { runGame(Gametype::StageClear, 0); } static void runSinglePlayerPuzzle() { runGame(Gametype::Puzzle, 0); } class RunSinglePlayerVsButton : public Button { virtual void doAction() override { runGame(Gametype::SinglePlayerVs, iGeneric1); } }; static void runTwoPlayerTimeTrial() { runGame(Gametype::TwoPlayerTimeTrial, 0); } static void runTwoPlayerVs() { runGame(Gametype::TwoPlayerVs, 0); } static void SetAlwaysSoftwareLabel(Button* b) { b->setLabel(Config::getInstance()->getInt("always-software")? _("Always use software render: On") : _("Always use software render: Off")); } static void SetMusicLabel (Button* b) { b->setLabel(globalData.MusicEnabled? _("Music: On") : _("Music: Off") ); } static void SetSoundLabel (Button* b) { b->setLabel(globalData.SoundEnabled? _("Sound: On") : _("Sound: Off") ); } static void SetFullscreenLabel (Button* b) { b->setLabel(globalData.bFullscreen? _("Fullscreen: On") : _("Fullscreen: Off") ); } class AlwaysSoftwareRenderButton : public Button { virtual void doAction() override { Config::getInstance()->setInt("always-software", !Config::getInstance()->getInt("always-software")); SetAlwaysSoftwareLabel(this); } }; class MusicButton : public Button { virtual void doAction() override { globalData.MusicEnabled = !globalData.MusicEnabled; SetMusicLabel(this); } }; class SoundButton : public Button { virtual void doAction() override { globalData.SoundEnabled = !globalData.SoundEnabled; SetSoundLabel(this); } }; class FullscreenButton : public Button { virtual void doAction() override { globalData.bFullscreen = !globalData.bFullscreen; SetFullscreenLabel(this); ResetFullscreen(); } }; static void buttonActionPlayer1Name() { if ( OpenDialogbox(200, 100, globalData.player1name, _("Enter player 1 name:")) ) { return; //must save if true } } static void buttonActionPlayer2Name() { if ( OpenDialogbox(200, 100, globalData.player2name, _("Enter player 2 name:")) ) { return; //must save if true } } static void buttonActionHighscores() { OpenScoresDisplay(); } static void ChangeKeysMenu(long playernumber) { Menu km(globalData.screen,_("Change key bindings"),true); Button_changekey bLeft(&keySettings[playernumber].left,_("Left") ); Button_changekey bRight(&keySettings[playernumber].right,_("Right") ); Button_changekey bUp(&keySettings[playernumber].up,_("Up") ); Button_changekey bDown(&keySettings[playernumber].down,_("Down") ); Button_changekey bPush(&keySettings[playernumber].push,_("Push") ); Button_changekey bSwitch(&keySettings[playernumber].change,_("Change") ); km.addButton(&bLeft); km.addButton(&bRight); km.addButton(&bUp); km.addButton(&bDown); km.addButton(&bPush); km.addButton(&bSwitch); RunGameState(km); } static void ChangeKeysMenu1() { ChangeKeysMenu(0); } static void ChangeKeysMenu2() { ChangeKeysMenu(2); } static void ConfigureMenu() { Menu cm(globalData.screen,_("Configuration"),true); Button bPlayer1Name,bPlayer2Name; Button bPlayer1Keys, bPlayer2Keys; AlwaysSoftwareRenderButton bSoftware; MusicButton bMusic; SoundButton bSound; FullscreenButton buttonFullscreen; SetAlwaysSoftwareLabel(&bSoftware); SetMusicLabel(&bMusic); SetSoundLabel(&bSound); SetFullscreenLabel(&buttonFullscreen); bPlayer1Name.setAction(buttonActionPlayer1Name); bPlayer1Name.setLabel(_("Change player 1's name") ); bPlayer2Name.setAction(buttonActionPlayer2Name); bPlayer2Name.setLabel(_("Change player 2's name") ); bPlayer1Keys.setAction(ChangeKeysMenu1); bPlayer1Keys.setLabel(_("Change player 1's keys") ); bPlayer2Keys.setAction(ChangeKeysMenu2); bPlayer2Keys.setLabel(_("Change player 2's keys") ); cm.addButton(&bMusic); cm.addButton(&bSound); cm.addButton(&bSoftware); cm.addButton(&buttonFullscreen); cm.addButton(&bPlayer1Name); cm.addButton(&bPlayer2Name); cm.addButton(&bPlayer1Keys); cm.addButton(&bPlayer2Keys); RunGameState(cm); } static void SinglePlayerVsMenu() { Menu spvs(globalData.screen,_("Single player VS"),true); RunSinglePlayerVsButton d1,d2,d3,d4,d5,d6,d7; d1.setPopOnRun(true); d2.setPopOnRun(true); d3.setPopOnRun(true); d4.setPopOnRun(true); d5.setPopOnRun(true); d6.setPopOnRun(true); d7.setPopOnRun(true); d1.iGeneric1 = 0; d2.iGeneric1 = 1; d3.iGeneric1 = 2; d4.iGeneric1 = 3; d5.iGeneric1 = 4; d6.iGeneric1 = 5; d7.iGeneric1 = 6; d1.setLabel(_("Very easy")); d2.setLabel(_("Easy")); d3.setLabel(_("Below normal")); d4.setLabel(_("Normal")); d5.setLabel(_("Above normal")); d6.setLabel(_("Hard")); d7.setLabel(_("Hardest")); spvs.addButton(&d1); spvs.addButton(&d2); spvs.addButton(&d3); spvs.addButton(&d4); spvs.addButton(&d5); spvs.addButton(&d6); spvs.addButton(&d7); RunGameState(spvs); } static void MultiplayerMenu() { Menu mm(globalData.screen,_("Multiplayer"),true); Button bTT, bVs; bTT.setLabel(_("Two player - time trial")); bTT.setAction(runTwoPlayerTimeTrial); bVs.setLabel(_("Two player - vs")); bVs.setAction(runTwoPlayerVs); mm.addButton(&bTT); mm.addButton(&bVs); RunGameState(mm); } static void runHowto() { HelpHowtoState howto; RunGameState(howto); } static void runHelpGamepad() { HelpGamepadState helpGamepad; RunGameState(helpGamepad); } static void runHelpAbout() { HelpAboutState helpAbout; RunGameState(helpAbout); } static void runCredits() { ShowFileState creditsFile; creditsFile.SetData("misc/AUTHORS", _("Credits")); RunGameState(creditsFile); } static void HelpMenu() { Menu m(globalData.screen, _("Help"), true); Button bHowto; bHowto.setLabel(_("How to")); bHowto.setAction(runHowto); m.addButton(&bHowto); Button bGamepad; bGamepad.setLabel(_("Gamepad")); bGamepad.setAction(runHelpGamepad); m.addButton(&bGamepad); Button bCredits; bCredits.setLabel(_("Credits")); bCredits.setAction(runCredits); m.addButton(&bCredits); Button bAbout; bAbout.setLabel(_("About")); bAbout.setAction(runHelpAbout); m.addButton(&bAbout); RunGameState(m); } static void SinglePlayerMenu() { Menu m(globalData.screen, _("Single player"), true); Button bHi,bTimetrial1, bStageClear, bPuzzle, bVs1; bHi.setLabel(_("Single player - endless") ); bHi.setAction(runSinglePlayerEndless); bTimetrial1.setLabel(_("Single player - time trial") ); bTimetrial1.setAction(runSinglePlayerTimeTrial); bStageClear.setLabel(_("Single player - stage clear") ); bStageClear.setAction(runStageClear); bPuzzle.setLabel(_("Single player - puzzle mode") ); bPuzzle.setAction(runSinglePlayerPuzzle); bVs1.setLabel(_("Single player - vs") ); bVs1.setAction(SinglePlayerVsMenu); m.addButton(&bHi); m.addButton(&bTimetrial1); m.addButton(&bStageClear); m.addButton(&bPuzzle); m.addButton(&bVs1); RunGameState(m); } void SafeModeMenu() { if (Config::getInstance()->getInt("always-software")) { return; } InitMenues(); Menu safeMode(globalData.screen, _("Game did not shutdown as it should"), true); Button bOnce; Button bAlways; bOnce.setLabel(_("Use software renderer this time")); bAlways.setLabel(_("Always use software renderer")); bOnce.setPopOnRun(true); bAlways.setAction([]() {Config::getInstance()->setInt("always-software", 1); }); bAlways.setPopOnRun(true); safeMode.addButton(&bOnce); safeMode.addButton(&bAlways); RunGameState(safeMode); } void MainMenu() { InitMenues(); Menu m(globalData.screen,_("Block Attack - Rise of the blocks"),false); Button bHi, bMulti, bConfigure, bHighscore, bHelp; bHi.setLabel(_("Single player") ); bHi.setAction(SinglePlayerMenu); bMulti.setLabel(_("Multi player") ); bMulti.setAction(MultiplayerMenu); bConfigure.setLabel(_("Configure") ); bConfigure.setAction(ConfigureMenu); bHighscore.setLabel(_("Highscores") ); bHighscore.setAction(buttonActionHighscores); bHelp.setLabel(_("Help")); bHelp.setAction(HelpMenu); m.addButton(&bHi); m.addButton(&bMulti); m.addButton(&bConfigure); m.addButton(&bHighscore); m.addButton(&bHelp); RunGameState(m); } blockattack-game-2.5.0/source/code/os.cpp000066400000000000000000000075421347224572500202710ustar00rootroot00000000000000/* =========================================================================== blockattack - Block Attack - Rise of the Blocks Copyright (C) 2005-2015 Poul Sander 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 2 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 http://www.gnu.org/licenses/ Source information and contacts persons can be found at https://blockattack.net =========================================================================== */ #include "os.hpp" #include #include #include "sago/platform_folders.h" #include "version.h" #include "common.h" #if defined(__unix__) #include #include #endif static sago::PlatformFolders pf; static std::string overrideSavePath = ""; /** * Returns the path to where all settings must be saved. * On unix-like systems this is the home-folder under: ~/.local/share/GAMENAME * In Windows it is My Documents/My Games * Consider changing this for Vista that has a special save games folder */ std::string getPathToSaveFiles() { if (overrideSavePath.length() > 0) { return overrideSavePath; } return pf.getSaveGamesFolder1()+"/"+GAMENAME; } void setPathToSaveFiles(const std::string& path) { overrideSavePath = path; } #if defined(_WIN32) #include "shlwapi.h" static std::wstring win32_utf8_to_utf16(const char* str) { std::wstring res; // If the 6th parameter is 0 then WideCharToMultiByte returns the number of bytes needed to store the result. int actualSize = MultiByteToWideChar(CP_UTF8, 0, str, -1, nullptr, 0); if (actualSize > 0) { //If the converted UTF-8 string could not be in the initial buffer. Allocate one that can hold it. std::vector buffer(actualSize); actualSize = MultiByteToWideChar(CP_UTF8, 0, str, -1, &buffer[0], buffer.size()); res = buffer.data(); } if (actualSize == 0) { // WideCharToMultiByte return 0 for errors. const std::string errorMsg = "UTF8 to UTF16 failed with error code: " + GetLastError(); throw std::runtime_error(errorMsg.c_str()); } return res; } #endif std::string defaultPlayerName() { std::string ret; #if defined(_WIN32) wchar_t win_buffer[50]; DWORD win_buffer_size = sizeof(win_buffer); bool success = GetUserNameW(win_buffer, &win_buffer_size); if (success) { ret = sago::internal::win32_utf16_to_utf8(win_buffer); } #endif #if defined(__unix__) int uid = getuid(); struct passwd* pw = getpwuid(uid); if (pw && pw->pw_gecos) { ret = pw->pw_gecos; ret = ret.substr(0, ret.find_first_of(',',0)); } if (pw && pw->pw_name && ret.empty()) { ret = pw->pw_name; } #endif if (ret.empty()) { ret = _("Player 1"); } return ret; } bool OsPathIsRelative(const std::string& path) { #if defined(_WIN32) return PathIsRelativeW(win32_utf8_to_utf16(path.c_str()).c_str()); #else return path[0] != '/'; #endif } void OsCreateFolder(const std::string& path) { #if defined(__unix__) std::string cmd = "mkdir -p '"+path+"/'"; int retcode = system(cmd.c_str()); if (retcode != 0) { std::cerr << "Failed to create: " << path+"/" << "\n"; } #elif defined(_WIN32) //Now for Windows NT/2k/xp/2k3 etc. CreateDirectoryW(win32_utf8_to_utf16(pf.getSaveGamesFolder1().c_str()).c_str(), nullptr); std::string tempA = path; CreateDirectoryW(win32_utf8_to_utf16(tempA.c_str()).c_str(), nullptr); #else std::cerr << "Failed to create: \"" << path << "\"\n"; #endif } void OsCreateSaveFolder() { std::string path = getPathToSaveFiles(); OsCreateFolder(path); } blockattack-game-2.5.0/source/code/os.hpp000066400000000000000000000024561347224572500202750ustar00rootroot00000000000000/* =========================================================================== blockattack - Block Attack - Rise of the Blocks Copyright (C) 2005-2015 Poul Sander 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 2 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 http://www.gnu.org/licenses/ Source information and contacts persons can be found at https://blockattack.net =========================================================================== */ #if defined(_WIN32) #include "windows.h" #include "shlobj.h" #endif #include std::string getPathToSaveFiles(); #if defined(_WIN32) std::string getMyDocumentsPath(); #endif std::string defaultPlayerName(); void setPathToSaveFiles(const std::string& path); void OsCreateSaveFolder(); bool OsPathIsRelative(const std::string& path); void OsCreateFolder(const std::string& path); blockattack-game-2.5.0/source/code/puzzlehandler.cpp000066400000000000000000000075171347224572500225410ustar00rootroot00000000000000/* =========================================================================== blockattack - Block Attack - Rise of the Blocks Copyright (C) 2005-2015 Poul Sander 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 2 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 http://www.gnu.org/licenses/ Source information and contacts persons can be found at http://blockattack.net =========================================================================== */ #include "puzzlehandler.hpp" #include #include #include "stats.h" #include //Abstract file system. To use containers #include "cereal/cereal.hpp" #include "cereal/types/vector.hpp" #include "cereal/archives/json.hpp" #include "sago/SagoMisc.hpp" using std::string; using std::cerr; using std::vector; const int maxNrOfPuzzleStages = 50; //Maximum number of puzzle stages static std::string puzzleSavePath; static std::string puzzleName; //The filename of static std::vector puzzleCleared(maxNrOfPuzzleStages); //vector that tells if puzzle cleared static std::vector nrOfMovesAllowed(maxNrOfPuzzleStages); //Moves to clear static int puzzleLevels[maxNrOfPuzzleStages][6][12]; //Contains board layout; static int nrOfPuzzles; //How many are there actually? int PuzzleNumberOfMovesAllowed(int level) { return nrOfMovesAllowed.at(level); } int PuzzleGetBrick(int level, int x, int y) { return puzzleLevels[level][x][y]; } int PuzzleGetNumberOfPuzzles() { return nrOfPuzzles; } bool PuzzleIsCleared(int level) { return puzzleCleared.at(level); } const std::string& PuzzleGetName() { return puzzleName; } void PuzzleSetName(const std::string& name) { puzzleName = name; puzzleSavePath = name + ".json.save"; } void LoadClearData() { std::string readFileContent = sago::GetFileContent(puzzleSavePath.c_str()); if (readFileContent.length() > 0) { std::stringstream ss(readFileContent); { try { cereal::JSONInputArchive archive(ss); archive(cereal::make_nvp("cleared", puzzleCleared)); } catch (cereal::Exception& e) { std::cerr << "Failed to read \"" << puzzleSavePath << "\". File will be regenerated. Reason: " << e.what() << "\n"; puzzleCleared.clear(); } } } else { puzzleCleared.clear(); } puzzleCleared.resize(nrOfPuzzles); } void SaveClearData() { std::stringstream ss; { cereal::JSONOutputArchive archive(ss); archive(cereal::make_nvp("cleared", puzzleCleared)); } sago::WriteFileContent(puzzleSavePath.c_str(), ss.str()); } void PuzzleSetClear(int Level) { if (puzzleCleared[Level]==false) { Stats::getInstance()->addOne("puzzlesSolved"); } puzzleCleared[Level] = true; SaveClearData(); } /*Loads all the puzzle levels*/ int LoadPuzzleStages( ) { if (!PHYSFS_exists(((std::string)("puzzles/"+puzzleName)).c_str())) { std::cerr << "Warning: File not in blockattack.data: " << ("puzzles/"+puzzleName) << "\n"; return -1; //file doesn't exist } std::string fileContent = sago::GetFileContent(((std::string)("puzzles/"+puzzleName)).c_str()); std::stringstream inFile(fileContent); inFile >> nrOfPuzzles; if (nrOfPuzzles>maxNrOfPuzzleStages) { nrOfPuzzles=maxNrOfPuzzleStages; } if (nrOfPuzzles < 0) { nrOfPuzzles = 0; } for (int k=0; k> nrOfMovesAllowed.at(k); for (int i=11; i>=0; i--) for (int j=0; j<6; j++) { inFile >> puzzleLevels[k][j][i]; } } LoadClearData(); return 0; } blockattack-game-2.5.0/source/code/puzzlehandler.hpp000066400000000000000000000024651347224572500225430ustar00rootroot00000000000000/* =========================================================================== blockattack - Block Attack - Rise of the Blocks Copyright (C) 2005-2015 Poul Sander 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 2 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 http://www.gnu.org/licenses/ Source information and contacts persons can be found at http://www.blockattack.net =========================================================================== */ #ifndef PUZZLEHANDLER_HPP #define PUZZLEHANDLER_HPP #include int PuzzleNumberOfMovesAllowed(int level); int PuzzleGetBrick(int level, int x, int y); bool PuzzleIsCleared(int level); int LoadPuzzleStages(); int PuzzleGetNumberOfPuzzles(); void PuzzleSetClear(int level); const std::string& PuzzleGetName(); void PuzzleSetName(const std::string& name); #endif /* PUZZLEHANDLER_HPP */ blockattack-game-2.5.0/source/code/replayhandler.cpp000066400000000000000000000055001347224572500224720ustar00rootroot00000000000000/* =========================================================================== blockattack - Block Attack - Rise of the Blocks Copyright (C) 2005-2016 Poul Sander 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 2 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 http://www.gnu.org/licenses/ Source information and contacts persons can be found at http://www.blockattack.net =========================================================================== */ #include "replayhandler.hpp" #include #include "cereal/archives/json.hpp" #include "sago/SagoMisc.hpp" static std::tm GetLocalTime() { std::time_t t = std::time(nullptr); std::tm ret = *std::localtime(&t); return ret; } static std::string CreateFileName(const std::tm& t ) { char buffer[200]; snprintf(buffer, sizeof(buffer), "replays/blockattack_game_%i-%02i-%02iT%02i_%02i_%02i_AUTO.replay", t.tm_year+1900, t.tm_mon+1, t.tm_mday, t.tm_hour, t.tm_min, t.tm_sec); std::string ret = buffer; return ret; } static void SaveReplayToFile(const SavedReplayStruct& sr, const std::string& filename) { std::stringstream ss; { cereal::JSONOutputArchive archive(ss,cereal::JSONOutputArchive::Options::NoIndent()); archive(cereal::make_nvp("savedReplay", sr)); } sago::WriteFileContent(filename.c_str(), ss.str()); } static void LoadReplayFromPhysFile(SavedReplayStruct& sr, const std::string& filename) { std::string filecontent = sago::GetFileContent(filename.c_str()); std::stringstream ss(filecontent); { cereal::JSONInputArchive archive(ss); archive(cereal::make_nvp("savedReplay", sr)); } } void LoadReplay(const std::string& filename, BlockGameInfo& game1, BlockGameInfo& game2) { SavedReplayStruct sr; LoadReplayFromPhysFile(sr, filename); if (sr.playerInfo.size() > 0) { game1 = sr.playerInfo.at(0); } if (sr.playerInfo.size() > 1) { game2 = sr.playerInfo.at(1); } } void SaveReplay(const BlockGameInfo& game1) { SavedReplayStruct sr; sr.numberOfPlayers = 1; sr.playerInfo.push_back(game1); std::tm t = GetLocalTime(); std::string filename = CreateFileName(t); SaveReplayToFile(sr, filename); } void SaveReplay(const BlockGameInfo& game1, const BlockGameInfo& game2) { SavedReplayStruct sr; sr.numberOfPlayers = 2; sr.playerInfo.push_back(game1); sr.playerInfo.push_back(game2); std::tm t = GetLocalTime(); std::string filename = CreateFileName(t); SaveReplayToFile(sr, filename); }blockattack-game-2.5.0/source/code/replayhandler.hpp000066400000000000000000000024721347224572500225040ustar00rootroot00000000000000/* =========================================================================== blockattack - Block Attack - Rise of the Blocks Copyright (C) 2005-2016 Poul Sander 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 2 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 http://www.gnu.org/licenses/ Source information and contacts persons can be found at http://www.blockattack.net =========================================================================== */ #include "BlockGame.hpp" #include "cereal/types/vector.hpp" struct SavedReplayStruct { int numberOfPlayers = 0; std::vector playerInfo; template void serialize( Archive & ar ) { ar( CEREAL_NVP(numberOfPlayers), CEREAL_NVP(playerInfo) ); } }; void SaveReplay(const BlockGameInfo& game1); void SaveReplay(const BlockGameInfo& game1, const BlockGameInfo& game2);blockattack-game-2.5.0/source/code/sago/000077500000000000000000000000001347224572500200655ustar00rootroot00000000000000blockattack-game-2.5.0/source/code/sago/GameStateInterface.hpp000066400000000000000000000032431347224572500242730ustar00rootroot00000000000000/* Copyright (c) 2016 Poul Sander Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ #ifndef GAMESTATEINTERFACE_HPP #define GAMESTATEINTERFACE_HPP #include "SDL.h" namespace sago { class GameStateInterface { public: /** * Is the state active. If this returns false then the State-manager will pop the state object * @return true if active */ virtual bool IsActive() = 0; /** * Tells the state to draw itself to target * @param target The RenderWindow to draw to */ virtual void Draw(SDL_Renderer* target) = 0; virtual void ProcessInput(const SDL_Event& event, bool &processed) = 0; virtual void Update() {} virtual ~GameStateInterface() {} }; } //sago #endif /* GAMESTATEINTERFACE_HPP */ blockattack-game-2.5.0/source/code/sago/LICENSE000066400000000000000000000020671347224572500210770ustar00rootroot00000000000000The MIT License (MIT) Copyright (c) 2015 Poul Sander Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. blockattack-game-2.5.0/source/code/sago/Makefile.sago000066400000000000000000000001721347224572500224550ustar00rootroot00000000000000 SAGO_BASE_LIBS+= -lphysfs SAGO_O_FILES+= sago/SagoDataHolder.o sago/SagoSprite.o sago/SagoSpriteHolder.o sago/SagoMisc.oblockattack-game-2.5.0/source/code/sago/SagoDataHolder.cpp000066400000000000000000000223731347224572500234210ustar00rootroot00000000000000/* Copyright (c) 2015 Poul Sander Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ #include "SagoDataHolder.hpp" #include #include #include #include #include #include #include #include "SagoMiscSdl2.hpp" #if PHYSFS_VER_MAJOR < 3 #define PHYSFS_readBytes(X,Y,Z) PHYSFS_read(X,Y,1,Z) #define PHYSFS_writeBytes(X,Y,Z) PHYSFS_write(X,Y,1,Z) #endif namespace sago { struct SagoDataHolder::SagoDataHolderData { std::map textures; std::map > fonts; //font, ptsize std::map music; std::map sounds; std::vector rwOpsToFree; std::vector> dataToFree; bool verbose = false; Uint64 version = 1; SDL_Renderer* renderer = nullptr; }; static void printFileWeLoad(const std::string& value) { std::cout << "Loading " << value << "\n"; } SagoDataHolder::SagoDataHolder() { data = new SagoDataHolderData(); } SagoDataHolder::SagoDataHolder(SDL_Renderer* renderer) { data = new SagoDataHolderData(); data->renderer = renderer; } void SagoDataHolder::invalidateAll(SDL_Renderer* renderer) { invalidateAll(); data->renderer = renderer; } void SagoDataHolder::invalidateAll() { data->version++; for (auto& item : data->textures) { SDL_DestroyTexture(item.second); } data->textures.clear(); for (auto& item : data->music) { Mix_FreeMusic(item.second); } data->music.clear(); for (auto& item : data->sounds) { Mix_FreeChunk(item.second); } data->sounds.clear(); for (auto& item : data->fonts) { for (auto& item2 : item.second) { TTF_CloseFont(item2.second); } } data->fonts.clear(); for (auto& item : data->rwOpsToFree) { SDL_FreeRW(item); } data->rwOpsToFree.clear(); } SagoDataHolder::~SagoDataHolder() { invalidateAll(); delete data; } SDL_Texture* SagoDataHolder::getTexturePtr(const std::string& textureName) const { if (!data->renderer) { throw std::runtime_error("SagoDataHolder used before setting the renderer"); } SDL_Texture* ret = data->textures[textureName]; if (ret) { return ret; } std::string path = "textures/"+textureName+".png"; if (data->verbose) { printFileWeLoad(path); } if (!PHYSFS_exists(path.c_str())) { sago::SagoFatalErrorF("getTextureFailed - Texture does not exist: %s", path.c_str()); } PHYSFS_file* myfile = PHYSFS_openRead(path.c_str()); unsigned int m_size = PHYSFS_fileLength(myfile); std::unique_ptr m_data(new char[m_size]); int length_read = PHYSFS_readBytes (myfile, m_data.get(), m_size); if (length_read != (int)m_size) { PHYSFS_close(myfile); std::cerr << "Error: Corrupt data file: " << path << "\n"; return ret; } PHYSFS_close(myfile); SDL_RWops* rw = SDL_RWFromMem (m_data.get(), m_size); //The above might fail an return null. if (!rw) { PHYSFS_close(myfile); std::cerr << "Error. Corrupt data file!\n"; return NULL; } SDL_Surface* surface = IMG_Load_RW(rw,true); ret = SDL_CreateTextureFromSurface(data->renderer, surface); if (!ret) { std::cerr << "getTextureFailed to load " << path << "\n"; } SDL_FreeSurface(surface); data->textures[textureName] = ret; return ret; } TTF_Font* SagoDataHolder::getFontPtr(const std::string& fontName, int ptsize) const { TTF_Font* ret = data->fonts[fontName][ptsize]; if (ret) { return ret; } std::string path = "fonts/"+fontName+".ttf"; if (data->verbose) { printFileWeLoad(path); } if (!PHYSFS_exists(path.c_str())) { std::cerr << "getFontPtr - Font does not exists: " << path << "\n"; return ret; } PHYSFS_file* myfile = PHYSFS_openRead(path.c_str()); unsigned int m_size = PHYSFS_fileLength(myfile); std::unique_ptr m_data(new char[m_size]); int length_read = PHYSFS_readBytes (myfile, m_data.get(), m_size); if (length_read != (int)m_size) { PHYSFS_close(myfile); std::cerr << "Error: Corrupt data file: " << path << "\n"; return ret; } PHYSFS_close(myfile); SDL_RWops* rw = SDL_RWFromMem (m_data.get(), m_size); //The above might fail an return null. if (!rw) { PHYSFS_close(myfile); std::cerr << "Error: Corrupt data file!\n"; return ret; } ret = TTF_OpenFontRW(rw, SDL_FALSE, ptsize); if (!ret) { std::cerr << "Error openening font: " << fontName << " because: " << TTF_GetError() << "\n"; } data->fonts[fontName][ptsize] = ret; data->dataToFree.push_back(std::move(m_data)); data->rwOpsToFree.push_back(rw); return ret; } Mix_Music* SagoDataHolder::getMusicPtr(const std::string& musicName) const { Mix_Music* ret = data->music[musicName]; if (ret) { return ret; } std::string path = "music/"+musicName+".ogg"; if (data->verbose) { printFileWeLoad(path); } if (!PHYSFS_exists(path.c_str())) { std::cerr << "getMusicPtr - Music file does not exists: " << path << "\n"; return ret; } PHYSFS_file* myfile = PHYSFS_openRead(path.c_str()); unsigned int m_size = PHYSFS_fileLength(myfile); std::unique_ptr m_data(new char[m_size]); int length_read = PHYSFS_readBytes (myfile, m_data.get(), m_size); if (length_read != (int)m_size) { PHYSFS_close(myfile); std::cerr << "Error: Corrupt data file: " << path << "\n"; return ret; } PHYSFS_close(myfile); SDL_RWops* rw = SDL_RWFromMem (m_data.get(), m_size); //The above might fail an return null. if (!rw) { PHYSFS_close(myfile); std::cerr << "Error. Corrupt data file!\n"; return NULL; } ret = Mix_LoadMUS_RW(rw, SDL_TRUE); //SDL_TRUE causes rw to be freed if (!ret) { std::cerr << "getMusicPtr to load " << path << " because: " << Mix_GetError() << "\n"; } data->music[musicName] = ret; data->dataToFree.push_back(std::move(m_data)); return ret; } Mix_Chunk* SagoDataHolder::getSoundPtr(const std::string& soundName) const { Mix_Chunk* ret = data->sounds[soundName]; if (ret) { return ret; } std::string path = "sounds/"+soundName+".ogg"; if (data->verbose) { printFileWeLoad(path); } if (!PHYSFS_exists(path.c_str())) { std::cerr << "getSoundPtr - Sound file does not exists: " << path << "\n"; return ret; } PHYSFS_file* myfile = PHYSFS_openRead(path.c_str()); unsigned int m_size = PHYSFS_fileLength(myfile); std::unique_ptr m_data(new char[m_size]); int length_read = PHYSFS_readBytes (myfile, m_data.get(), m_size); if (length_read != (int)m_size) { PHYSFS_close(myfile); std::cerr << "Error: Corrupt data file: " << path << "\n"; return ret; } PHYSFS_close(myfile); SDL_RWops* rw = SDL_RWFromMem (m_data.get(), m_size); //The above might fail an return null. if (!rw) { PHYSFS_close(myfile); std::cerr << "Error. Corrupt data file!\n"; return NULL; } ret = Mix_LoadWAV_RW(rw, SDL_TRUE); data->sounds[soundName] = ret; data->dataToFree.push_back(std::move(m_data)); return ret; } void SagoDataHolder::setVerbose(bool value) { data->verbose = value; } Uint64 SagoDataHolder::getVersion() const { return data->version; } TextureHandler::TextureHandler(const SagoDataHolder* holder, const std::string &textureName) { this->holder = holder; this->version = 0; this->textureName = textureName; this->data = nullptr; } SDL_Texture* TextureHandler::get() { if (version != holder->getVersion()) { //The holder has been invalidated this->data = this->holder->getTexturePtr(textureName); } return data; } MusicHandler::MusicHandler(const SagoDataHolder* holder, const std::string& musicName) { this->holder = holder; this->version = 0; this->musicName = musicName; this->data = nullptr; } Mix_Music* MusicHandler::get() { if (version != holder->getVersion()) { //The holder has been invalidated this->data = this->holder->getMusicPtr(musicName); } return data; } SoundHandler::SoundHandler(const SagoDataHolder* holder, const std::string& soundName) { this->holder = holder; this->version = 0; this->soundName = soundName; this->data = nullptr; } Mix_Chunk* SoundHandler::get() { if (version != holder->getVersion()) { //The holder has been invalidated this->data = this->holder->getSoundPtr(soundName); } return data; } TextureHandler SagoDataHolder::getTextureHandler(const std::string &textureName) const { return TextureHandler(this, textureName); } MusicHandler SagoDataHolder::getMusicHandler(const std::string &musicName) const { return MusicHandler(this, musicName); } SoundHandler SagoDataHolder::getSoundHandler(const std::string &soundName) const { return SoundHandler(this, soundName); } } //name space sago blockattack-game-2.5.0/source/code/sago/SagoDataHolder.hpp000066400000000000000000000100051347224572500234130ustar00rootroot00000000000000/* Copyright (c) 2015 Poul Sander Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ #include "SDL.h" #include //Used for sound & music #include //To load PNG images! #include #include //Abstract file system. To use containers #include #ifndef TEXTUREHOLDER_HPP #define TEXTUREHOLDER_HPP namespace sago { class SagoDataHolder; class TextureHandler { public: TextureHandler() {}; TextureHandler(const SagoDataHolder* holder, const std::string &textureName); SDL_Texture* get(); private: std::string textureName; const SagoDataHolder* holder = nullptr; SDL_Texture* data = nullptr; Uint64 version = 0; }; class MusicHandler final { public: MusicHandler() {}; MusicHandler(const SagoDataHolder* holder, const std::string &musicName); Mix_Music* get(); private: std::string musicName; const SagoDataHolder* holder = nullptr; Mix_Music* data = nullptr; Uint64 version = 0; }; class SoundHandler final { public: SoundHandler() {}; SoundHandler(const SagoDataHolder* holder, const std::string &soundName); Mix_Chunk* get(); private: std::string soundName; const SagoDataHolder* holder = nullptr; Mix_Chunk* data = nullptr; Uint64 version = 0; }; class SagoDataHolder final { public: /** * The renderer must be set before requesting a texture. * If the constructor without elements is used then invalidateAll(SDL_Renderer*) must be called before getTexturePtr */ SagoDataHolder(); explicit SagoDataHolder(SDL_Renderer* renderer); /** * Return a pointer to the given texture. The pointer is valid for the lifetime of SagoDataHolder object it was taken from or until invalidateAll is called. * @param textureName Name of the texture * @return Pointer to the loaded texture */ SDL_Texture* getTexturePtr(const std::string &textureName) const; TextureHandler getTextureHandler(const std::string &textureName) const; TTF_Font* getFontPtr(const std::string &fontName, int ptsize) const; Mix_Music* getMusicPtr(const std::string &musicName) const; MusicHandler getMusicHandler(const std::string &musicName) const; Mix_Chunk* getSoundPtr(const std::string &soundName) const; SoundHandler getSoundHandler(const std::string &soundName) const; void setVerbose(bool value); /** * Invalidates all pointers returned by any of the get variables */ void invalidateAll(); /** * Invalidates all pointers returned by any of the get variables. * Also sets a new renderer. * * Setting a new renderer might cause all old textures to no longer match the renderer format. */ void invalidateAll(SDL_Renderer* renderer); /** * The version number. Changes everytime the pointers are invalidated. * Can be used to determen if it is neccecary to get a new pointer. * @return A globally unique number. */ Uint64 getVersion() const; ~SagoDataHolder(); private: SagoDataHolder(const SagoDataHolder& base) = delete; SagoDataHolder& operator=(const SagoDataHolder& base) = delete; struct SagoDataHolderData; mutable SagoDataHolderData *data; }; } //namespace sago #endif /* TEXTUREHOLDER_HPP */ blockattack-game-2.5.0/source/code/sago/SagoMisc.cpp000066400000000000000000000063261347224572500223050ustar00rootroot00000000000000/* Copyright (c) 2015 Poul Sander Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ #include "SagoMisc.hpp" #include #include #include #include #include #if PHYSFS_VER_MAJOR < 3 #define PHYSFS_readBytes(X,Y,Z) PHYSFS_read(X,Y,1,Z) #define PHYSFS_writeBytes(X,Y,Z) PHYSFS_write(X,Y,1,Z) #endif using std::string; using std::cerr; using std::vector; namespace sago { std::vector GetFileList(const char* dir) { vector ret; char** rc = PHYSFS_enumerateFiles(dir); for (char** i = rc; *i != NULL; i++) { ret.push_back(*i); } PHYSFS_freeList(rc); return ret; } bool FileExists(const char* filename) { return PHYSFS_exists(filename); } std::string GetFileContent(const char* filename) { string ret; if (!PHYSFS_exists(filename)) { cerr << "GetFileContent - File does not exists: " << filename << "\n"; return ret; } PHYSFS_file* myfile = PHYSFS_openRead(filename); unsigned int m_size = PHYSFS_fileLength(myfile); std::unique_ptr m_data(new char[m_size]); int length_read = PHYSFS_readBytes (myfile, m_data.get(), m_size); if (length_read != (int)m_size) { PHYSFS_close(myfile); cerr << "Error: Curropt data file: " << filename << "\n"; return ret; } PHYSFS_close(myfile); //Now create a std::string ret = string(m_data.get(), m_data.get()+m_size); return ret; } static void CreatePathToFile(const std::string& path) { size_t end_of_path = path.find_last_of("/"); if (end_of_path == std::string::npos) { //No path return; } std::string path2dir = path.substr(0, end_of_path); PHYSFS_mkdir(path2dir.c_str()); } void WriteFileContent(const char* filename, const std::string& content) { CreatePathToFile(filename); PHYSFS_file* myfile = PHYSFS_openWrite(filename); if (!myfile) { #if PHYSFS_VER_MAJOR > 2 PHYSFS_ErrorCode code = PHYSFS_getLastErrorCode(); std::cerr << "Failed to open file for writing, " << PHYSFS_getErrorByCode(code) << " (" << code << ")\n"; #else std::cerr << "Failed to open file for writing, " << PHYSFS_getLastError() << "\n"; #endif return; } PHYSFS_writeBytes(myfile, content.c_str(), sizeof(char)*content.length()); PHYSFS_close(myfile); } long int StrToLong(const char* c_string) { auto ret = strtol(c_string, nullptr, 10); return ret; } } blockattack-game-2.5.0/source/code/sago/SagoMisc.hpp000066400000000000000000000050761347224572500223130ustar00rootroot00000000000000/* Copyright (c) 2015 Poul Sander Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ #ifndef SAGOMISC_HPP #define SAGOMISC_HPP #include #include namespace sago { /** * Returns a vector with all filenames in a given directory. * PHYSFS must be setup before hand. The directory is relative to the PHYSFS base * @param dir The directory to list * @return A vector with the filenames in the given directory. If empty the directory was empty or did not exist */ std::vector GetFileList(const char* dir); /** * Reads an entire file into memory. * PHYSFS must be setup before hand * @param filename The file to read * @return The content of the file. If empty either the file was empty, did not exist or could not be opened */ std::string GetFileContent(const char* filename); /** * Reads an entire file into memory. * PHYSFS must be setup before hand * @param filename The file to read * @return The content of the file. If empty either the file was empty, did not exist or could not be opened */ inline std::string GetFileContent(const std::string& filename) { return GetFileContent(filename.c_str()); }; bool FileExists(const char* filename); void WriteFileContent(const char* filename, const std::string& content); /** * This functions converts a string on a best effort basis * Unlike atol this does NOT cause undefined behavior if out of range * @param c_string A string that may contain a number * @return A number between LONG_MIN and LONG_MAX (both inclusive) */ long int StrToLong(const char* c_string); } //namespace sago #endif /* SAGOMISC_HPP */ blockattack-game-2.5.0/source/code/sago/SagoMiscSdl2.cpp000066400000000000000000000034241347224572500230260ustar00rootroot00000000000000/* Copyright (c) 2016 Poul Sander Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ #include "SagoMiscSdl2.hpp" #include "SDL.h" void sago::SagoFatalError(const char* errorMsg) { const SDL_MessageBoxButtonData buttons[] = { { SDL_MESSAGEBOX_BUTTON_RETURNKEY_DEFAULT, 0, "Ok" }, }; const SDL_MessageBoxData messageboxdata = { SDL_MESSAGEBOX_INFORMATION, /* .flags */ nullptr, /* .window */ "Fatal error", /* .title */ errorMsg, /* .message */ SDL_arraysize(buttons), /* .numbuttons */ buttons, /* .buttons */ nullptr /* .colorScheme */ }; int buttonid; SDL_ShowMessageBox(&messageboxdata, &buttonid); abort(); } void sago::SagoFatalErrorF(const char* fmt, ...) { char buffer[1024]; va_list args; va_start(args, fmt); vsnprintf(buffer, sizeof(buffer), fmt, args); SagoFatalError(buffer); va_end(args); } blockattack-game-2.5.0/source/code/sago/SagoMiscSdl2.hpp000066400000000000000000000031131347224572500230260ustar00rootroot00000000000000/* Copyright (c) 2016 Poul Sander Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ #ifndef SAGOMISCSDL2_HPP #define SAGOMISCSDL2_HPP namespace sago { /** * Writes an error message to the screen and aborts the program * @param errorMsg The message displayed in a pop-up box to the user. */ void SagoFatalError(const char* errorMsg); /** * Writes an error message to the screen and aborts the program * @param fmt A printf-style format string * @param ... Parameters to the format string */ void SagoFatalErrorF(const char* fmt, ...) __attribute__ ((format (printf, 1, 2))); } #endif /* SAGOMISCSDL2_HPP */ blockattack-game-2.5.0/source/code/sago/SagoSprite.cpp000066400000000000000000000106311347224572500226520ustar00rootroot00000000000000/* Copyright (c) 2015 Poul Sander Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ #include "SagoSprite.hpp" #include namespace sago { struct SagoSprite::SagoSpriteData { TextureHandler tex; SDL_Rect imgCord = {}; SDL_Rect origin = {}; int aniFrames = 0; int aniFrameTime = 0; }; SagoSprite::SagoSprite() { data = new SagoSpriteData(); } SagoSprite::SagoSprite(const SagoDataHolder& texHolder, const std::string& texture,const SDL_Rect& initImage,const int animationFrames, const int animationFrameLength) { data = new SagoSpriteData(); data->tex = texHolder.getTextureHandler(texture); data->imgCord = initImage; data->aniFrames = animationFrames; data->aniFrameTime = animationFrameLength; } SagoSprite::SagoSprite(const SagoSprite& base) : data(new SagoSpriteData(*base.data)) { } SagoSprite& SagoSprite::operator=(const SagoSprite& base) { *data = *base.data; return *this; } SagoSprite::~SagoSprite() { delete data; } void SagoSprite::Draw(SDL_Renderer* target, Sint32 frameTime, int x, int y) const { DrawScaled(target, frameTime, x, y, data->imgCord.w, data->imgCord.h); } void SagoSprite::DrawScaled(SDL_Renderer* target, Sint32 frameTime, int x, int y, int w, int h) const { if (!data->tex.get()) { std::cerr << "Texture is null!\n"; } SDL_Rect rect = data->imgCord; rect.x+=rect.w*((frameTime/data->aniFrameTime)%data->aniFrames); SDL_Rect pos = rect; pos.x = x - this->data->origin.x; pos.y = y - this->data->origin.y; if (w > 0) { pos.w = w; } if (h > 0) { pos.h = h; } SDL_RenderCopy(target, data->tex.get(), &rect, &pos); } void SagoSprite::Draw(SDL_Renderer* target, Sint32 frameTime, int x, int y, const SDL_Rect& part) const { SDL_Rect rect = data->imgCord; rect.x+=rect.w*((frameTime/data->aniFrameTime)%data->aniFrames); rect.x += part.x; rect.y += part.y; rect.w = part.w; rect.h = part.h; SDL_Rect pos = rect; pos.x = x - this->data->origin.x; pos.y = y - this->data->origin.y; SDL_RenderCopy(target, data->tex.get(), &rect, &pos); } void SagoSprite::DrawProgressive(SDL_Renderer* target, float progress, int x, int y) const { Sint32 frameNumber = progress*data->aniFrames; Sint32 frameTime = frameNumber*data->aniFrameTime; Draw(target, frameTime, x, y); } void SagoSprite::DrawBounded(SDL_Renderer* target, Sint32 frameTime, int x, int y, const SDL_Rect& bounds) const { SDL_Rect rect = data->imgCord; rect.x+=rect.w*((frameTime/data->aniFrameTime)%data->aniFrames); SDL_Rect pos = rect; pos.x = x; pos.y = y; if (pos.x > bounds.x+bounds.w) { return; } if (pos.y > bounds.y+bounds.h) { return; } if (pos.x+pos.w < bounds.x) { return; } if (pos.y+pos.h < bounds.y) { return; } if (pos.x < bounds.x) { Sint16 absDiff = bounds.x-pos.x; pos.x+=absDiff; rect.x+=absDiff; pos.w-=absDiff; rect.w-=absDiff; } if (pos.y < bounds.y) { Sint16 absDiff = bounds.y-pos.y; pos.y+=absDiff; rect.y+=absDiff; pos.h-=absDiff; rect.h-=absDiff; } if (pos.x+pos.w > bounds.x+bounds.w) { Sint16 absDiff = pos.x+pos.w-(bounds.x+bounds.w); pos.w -= absDiff; rect.w -= absDiff; } if (pos.y+pos.h > bounds.y+bounds.h) { Sint16 absDiff = pos.y+pos.h-(bounds.y+bounds.h); pos.h -= absDiff; rect.h -= absDiff; } SDL_RenderCopy(target, data->tex.get(), &rect, &pos); } void SagoSprite::SetOrigin(const SDL_Rect& newOrigin) { data->origin = newOrigin; } int SagoSprite::GetWidth() const { return data->imgCord.w; } int SagoSprite::GetHeight() const { return data->imgCord.h; } } //namespace sagoblockattack-game-2.5.0/source/code/sago/SagoSprite.hpp000066400000000000000000000071311347224572500226600ustar00rootroot00000000000000/* Copyright (c) 2015 Poul Sander Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ #ifndef SAGOSPRITE_HPP #define SAGOSPRITE_HPP #include "SagoDataHolder.hpp" namespace sago { class SagoSprite final { public: SagoSprite(); SagoSprite(const SagoDataHolder &texHolder, const std::string &texture,const SDL_Rect& initImage,const int animationFrames, const int animationFrameLength); /** * Draws the sprite to a given render window * @param target The render window to draw on * @param frameTime The time in milliseonds since gamestart. Used to determen the place in the animation * @param x Place to draw the sprite * @param y Place to draw the sprite */ void Draw(SDL_Renderer* target, Sint32 frameTime, int x, int y) const; /** * Draws part of the sprite to a given render window * @param target The render window to draw on * @param frameTime The time in milliseonds since gamestart. Used to determen the place in the animation * @param x Place to draw the sprite * @param y Place to draw the sprite * @param part the part of the sprite that should be drawn. */ void Draw(SDL_Renderer* target, Sint32 frameTime, int x, int y, const SDL_Rect& part) const; /** * Draws the wprite to the given renderer but makes sure to not draw outside th bounds given * @param target The render window to draw on * @param frameTime The time in milliseonds since gamestart. Used to determen the place in the animation * @param x Place to draw the sprite * @param y Place to draw the sprite * @param bounds A recagular area that we must not draw outside. */ void DrawBounded(SDL_Renderer* target, Sint32 frameTime, int x, int y, const SDL_Rect& bounds) const;/** * Draws the sprite to a given render window * @param target The render window to draw on * @param progress A float with value from 0.0f to 1.0f. Tells how far in the animation that we got * @param x Place to draw the sprite * @param y Place to draw the sprite */ void DrawProgressive(SDL_Renderer* target, float progress, int x, int y) const; void DrawScaled(SDL_Renderer* target, Sint32 frameTime, int x, int y, int w, int h) const; /** * Set a different origin. Normally it is the top left cornor. But in some cases you might want to center the origin or tranform it for other reasons * @param newOrigin the coordinates that should be the new origin. Call with {0,0} to reset to default */ void SetOrigin(const SDL_Rect& newOrigin); SagoSprite(const SagoSprite& base); SagoSprite& operator=(const SagoSprite& base); int GetWidth() const; int GetHeight() const; ~SagoSprite(); private: struct SagoSpriteData; SagoSpriteData *data; }; } #endif /* SAGOSPRITE_HPP */ blockattack-game-2.5.0/source/code/sago/SagoSpriteHolder.cpp000066400000000000000000000112261347224572500240110ustar00rootroot00000000000000/* Copyright (c) 2015 Poul Sander Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ #include "SagoSpriteHolder.hpp" #include "SagoMisc.hpp" #include #include #include "rapidjson/document.h" #include #include #include using std::string; using std::cerr; using std::cout; using std::vector; namespace sago { struct SagoSpriteHolder::SagoSpriteHolderData { const sago::SagoDataHolder* tex; std::unordered_map> sprites; const sago::SagoSprite* defaultSprite; bool verbose = false; }; SagoSpriteHolder::SagoSpriteHolder(const SagoDataHolder& texHolder) { data = new SagoSpriteHolderData(); try { data->tex = &texHolder; ReadSprites(); data->defaultSprite = new sago::SagoSprite(texHolder,"fallback", {0,0,64,64},1,100); } catch (...) { delete data; } } SagoSpriteHolder::~SagoSpriteHolder() { delete data; } static int getDefaultValue(const rapidjson::Value& value, const char* name, int defaultValue) { assert(value.IsObject()); const auto& t = value.GetObject().FindMember(name); if (t != value.MemberEnd() && t->value.IsInt()) { return t->value.GetInt(); } return defaultValue; } static std::string getDefaultValue(const rapidjson::Value& value, const char* name, std::string defaultValue) { assert(value.IsObject()); const auto& t = value.GetObject().FindMember(name); if (t != value.MemberEnd() && t->value.IsString()) { defaultValue = t->value.GetString(); } return defaultValue; } void SagoSpriteHolder::ReadSpriteFile(const std::string& filename) { string fullfile = "sprites/"+filename; string content = sago::GetFileContent(fullfile.c_str()); rapidjson::Document document; document.Parse(content.c_str()); if ( !document.IsObject() ) { cerr << "Failed to parse: " << fullfile << "\n"; return; } for (auto& m : document.GetObject()) { const std::string& spriteName = m.name.GetString(); if (!m.value.IsObject()) { if (spriteName[0] != '_') { std::cerr << "Invalid sprite: " << spriteName << "\n"; } continue; } string textureName = getDefaultValue(m.value, "texture", "fallback"); int topx = getDefaultValue(m.value, "topx", 0); int topy = getDefaultValue(m.value, "topy",0); int height = getDefaultValue(m.value, "height",0); int width = getDefaultValue(m.value, "width",0); int number_of_frames = getDefaultValue(m.value, "number_of_frames",1); int frame_time = getDefaultValue(m.value, "frame_time",1); SDL_Rect origin = {}; origin.x = getDefaultValue(m.value, "originx",0); origin.y = getDefaultValue(m.value, "originy",0); if (number_of_frames < 1) { number_of_frames = 1; } if (frame_time < 1) { frame_time = 1; } std::shared_ptr ptr(new SagoSprite(*(data->tex),textureName, {topx,topy,width,height},number_of_frames,frame_time)); ptr->SetOrigin(origin); this->data->sprites[std::string(spriteName)] = ptr; } } void SagoSpriteHolder::ReadSprites() { std::vector spritefiles = GetFileList("sprites"); for (std::string& item : spritefiles ) { if (boost::algorithm::ends_with(item,".sprite")) { if (data->verbose) { cout << "Found " << item << "\n"; } ReadSpriteFile(item); } else { if (data->verbose) { cout << "Ignoreing " << item << "\n"; } } } } const sago::SagoSprite& SagoSpriteHolder::GetSprite(const std::string& spritename) const { std::unordered_map>::const_iterator got = data->sprites.find (spritename); if ( got == data->sprites.end() ) { return *data->defaultSprite; } else { return *(got->second); } } const SagoDataHolder& SagoSpriteHolder::GetDataHolder() const { return *data->tex; } } blockattack-game-2.5.0/source/code/sago/SagoSpriteHolder.hpp000066400000000000000000000033221347224572500240140ustar00rootroot00000000000000/* Copyright (c) 2015 Poul Sander Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ #ifndef SAGOSPRITEHOLDER_HPP #define SAGOSPRITEHOLDER_HPP #include "SagoDataHolder.hpp" #include "SagoSprite.hpp" namespace sago { class SagoSpriteHolder final { public: explicit SagoSpriteHolder(const SagoDataHolder &texHolder); ~SagoSpriteHolder(); void ReadSprites(); const sago::SagoSprite& GetSprite(const std::string &spritename) const; const SagoDataHolder& GetDataHolder() const; private: SagoSpriteHolder(const SagoSpriteHolder& base) = delete; SagoSpriteHolder& operator=(const SagoSpriteHolder& base) = delete; void ReadSpriteFile(const std::string &filename); struct SagoSpriteHolderData; SagoSpriteHolderData *data; }; } #endif /* SAGOSPRITEHOLDER_HPP */ blockattack-game-2.5.0/source/code/sago/SagoTextBox.cpp000066400000000000000000000127261347224572500230100ustar00rootroot00000000000000/* Copyright (c) 2018 Poul Sander Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ #include "SagoTextBox.hpp" #include "SagoTextField.hpp" #include #include #include "utf8.h" #include namespace sago { struct SagoTextBox::SagoTextBoxData { const sago::SagoDataHolder* tex = nullptr; std::string fontName = "freeserif"; SDL_Color color = { 255, 255, 255, 0 }; SDL_Color outlineColor = { 255, 255, 0, 0 }; int fontSize = 16; int outline = 0; std::string text = ""; std::string renderedText = ""; std::vector lines; int maxWidth = 0; }; SagoTextBox::SagoTextBox() { data = new SagoTextBoxData(); } SagoTextBox::~SagoTextBox() { delete data; } void SagoTextBox::SetHolder(const SagoDataHolder* holder) { data->tex = holder; } void SagoTextBox::SetText(const char* text) { data->text = text; } void SagoTextBox::SetText(const std::string& text) { data->text = text; } void SagoTextBox::SetColor(const SDL_Color& color) { data->color = color; } void SagoTextBox::SetFont(const char* fontName) { data->fontName = fontName; } void SagoTextBox::SetFontSize(int fontSize) { data->fontSize = fontSize; } void SagoTextBox::SetOutline(int outlineSize, const SDL_Color& color) { data->outline = outlineSize; data->outlineColor = color; } void SagoTextBox::SetMaxWidth(int width) { data->maxWidth = width; } const std::string& SagoTextBox::GetText() const { return data->text; } void SagoTextBox::AppendLineToCache(const std::string& text) { data->lines.resize(data->lines.size()+1); SagoTextField& tf = data->lines.back(); tf.SetHolder(data->tex); tf.SetFont(data->fontName.c_str()); tf.SetFontSize(data->fontSize); tf.SetColor(data->color); tf.SetOutline(data->outline, data->outlineColor); tf.SetText(text); } void SagoTextBox::SplitAndAppendLineToCache(TTF_Font* font, const std::string& text) { int width = data->maxWidth; TTF_SizeUTF8(font, text.c_str(),&width, nullptr); if (data->maxWidth <= 0 || width <= data->maxWidth || text.length() == 1) { AppendLineToCache(text); return; } std::string::const_iterator splitLocation = text.begin()+1; bool splitDone = false; while (!splitDone) { std::string::const_iterator nextSearchStart = splitLocation+1; if (nextSearchStart == text.end()) { splitDone = true; continue; } std::string::const_iterator nextSpace = std::find(nextSearchStart, text.end(), ' '); std::string attemptSubString(text.begin(), nextSpace); TTF_SizeUTF8(font, attemptSubString.c_str(),&width, nullptr); if (width <= data->maxWidth && nextSpace != text.end()) { splitLocation = nextSpace; } else { splitDone = true; } } if (splitLocation == text.begin()+1) { splitLocation = text.begin(); utf8::advance(splitLocation, 1, text.end()); splitDone = false; while (!splitDone && splitLocation != text.end()) { std::string::const_iterator nextSplit = splitLocation; utf8::advance(nextSplit, 1, text.end()); std::string attemptSubString(text.begin(), nextSplit); TTF_SizeUTF8(font, attemptSubString.c_str(), &width, nullptr); if (width <= data->maxWidth) { splitLocation = nextSplit; } else { splitDone = true; } } } std::string firstPart(text.begin(), splitLocation); AppendLineToCache(firstPart); while (splitLocation != text.end() && *splitLocation == ' ') { //Trim spaces after an automatic line break. ++splitLocation; } if (splitLocation == text.end()) { return; } std::string secondPart(splitLocation, text.end()); SplitAndAppendLineToCache(font, secondPart); } void SagoTextBox::UpdateCache() { if (!data->tex) { std::cerr << "FATAL: SagoTextBox::UpdateCache - DataHolder not set!\n"; abort(); } TTF_Font *font = data->tex->getFontPtr(data->fontName, data->fontSize); const char delim = '\n'; const std::string& s = data->text; auto start = 0U; auto end = s.find(delim); data->lines.clear(); while (end != std::string::npos) { const std::string& theSubString = s.substr(start, end - start); SplitAndAppendLineToCache(font, theSubString); start = end + 1; end = s.find(delim, start); } SplitAndAppendLineToCache(font, s.substr(start, end)); data->renderedText = data->text; } void SagoTextBox::Draw(SDL_Renderer* target, int x, int y, SagoTextField::Alignment alignment ) { if (data->text != data->renderedText) { UpdateCache(); } TTF_Font *font = data->tex->getFontPtr(data->fontName, data->fontSize); int lineSkip = TTF_FontLineSkip(font); for (size_t i = 0; i < data->lines.size(); ++i) { data->lines[i].Draw(target, x, y+i*lineSkip, alignment); } } } //namespace sagoblockattack-game-2.5.0/source/code/sago/SagoTextBox.hpp000066400000000000000000000053321347224572500230100ustar00rootroot00000000000000/* Copyright (c) 2018 Poul Sander Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ #ifndef SAGOTEXTBOX_HPP #define SAGOTEXTBOX_HPP #include "SagoDataHolder.hpp" #include "SagoTextField.hpp" namespace sago { class SagoTextBox final { public: SagoTextBox(); ~SagoTextBox(); void SetHolder(const SagoDataHolder* holder); void SetText(const char* text); void SetText(const std::string& text); void SetColor(const SDL_Color& color); /** * Set the name of the font. Must be known to the data holder. * The name could for instance be "freeserif". * @param fontName Name of the font as required by SagoDataHolder */ void SetFont(const char* fontName); void SetFontSize(int fontSize); void SetOutline(int outlineSize, const SDL_Color& color); /** * Sets the max width to generate. SagoTextBox will insert line breaks to keep the width below this number. * Outline is not included in the width: If you have a 2 pixels outline the rendere may go 2 pixels beyond. * You will always need to generate at least one char per line. If max width is too low one char will be drawn per line even if it goes above max width. * Setting this to 0 will disable the feature. * @param width The maximum width before forcing a line break */ void SetMaxWidth(int width); const std::string& GetText() const; void Draw(SDL_Renderer* target, int x, int y, SagoTextField::Alignment alignment = SagoTextField::Alignment::left); void UpdateCache(); private: void AppendLineToCache(const std::string& text); void SplitAndAppendLineToCache(TTF_Font* font, const std::string& text); SagoTextBox(const SagoTextBox& orig) = delete; SagoTextBox& operator=(const SagoTextBox& base) = delete; struct SagoTextBoxData; SagoTextBoxData *data; }; } //namespace sago #endif /* SAGOTEXTBOX_HPP */ blockattack-game-2.5.0/source/code/sago/SagoTextField.cpp000066400000000000000000000142611347224572500232770ustar00rootroot00000000000000/* Copyright (c) 2018 Poul Sander Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ #include "SagoTextField.hpp" #include #include namespace sago { class OutlineHandler { TTF_Font* font; int originalOutline = 0; int targetOutline; bool doChange = false; public: OutlineHandler(TTF_Font* font, int outline) : font{font}, targetOutline{outline} { originalOutline = TTF_GetFontOutline(font); if (originalOutline == targetOutline) { return; } doChange = true; TTF_SetFontOutline(font, targetOutline); }; void reset() { if (doChange) { TTF_SetFontOutline(font,originalOutline); doChange = false; } } ~OutlineHandler() { reset(); } private: OutlineHandler(const OutlineHandler& orig) = delete; OutlineHandler& operator=(const OutlineHandler& base) = delete; }; struct SagoTextField::SagoTextFieldData { const sago::SagoDataHolder* tex = nullptr; SDL_Surface* textSurface = nullptr; SDL_Texture* texture = nullptr; SDL_Surface* outlineTextSurface = nullptr; SDL_Texture* outlineTexture = nullptr; std::string fontName = "freeserif"; SDL_Color color = { 255, 255, 255, 0 }; SDL_Color outlineColor = { 255, 255, 0, 0 }; int fontSize = 16; int outline = 0; std::string text = ""; std::string renderedText = ""; Uint64 renderedVersion = 0; }; SagoTextField::SagoTextField() { data = new SagoTextFieldData(); } SagoTextField::SagoTextField(SagoTextField&& o) noexcept { data = o.data; o.data = nullptr; } SagoTextField& SagoTextField::CopyFrom(const SagoTextField& base) { ClearCache(); try { *data = *(base.data); //Copy all data but do not reuse the cache as it would result in a double free data->outlineTextSurface = nullptr; data->outlineTexture = nullptr; data->textSurface = nullptr; data->texture = nullptr; return *this; } catch (...) { delete data; throw; } } SagoTextField::~SagoTextField() { if(!data) { return; } ClearCache(); delete data; } void SagoTextField::SetHolder(const SagoDataHolder* holder) { data->tex = holder; } void SagoTextField::SetText(const char* text) { data->text = text; } void SagoTextField::SetText(const std::string& text) { data->text = text; } void SagoTextField::SetColor(const SDL_Color& color) { data->color = color; } void SagoTextField::SetFont(const char* fontName) { data->fontName = fontName; } void SagoTextField::SetFontSize(int fontSize) { data->fontSize = fontSize; } void SagoTextField::SetOutline(int outlineSize, const SDL_Color& color) { data->outline = outlineSize; data->outlineColor = color; } const std::string& SagoTextField::GetText() const { return data->text; } void SagoTextField::ClearCache() { if (data->texture) { SDL_DestroyTexture(data->texture); data->texture = nullptr; } if (data->textSurface) { SDL_FreeSurface(data->textSurface); data->textSurface = nullptr; } if (data->outlineTexture) { SDL_DestroyTexture(data->outlineTexture); data->outlineTexture = nullptr; } if (data->outlineTextSurface) { SDL_FreeSurface(data->outlineTextSurface); data->outlineTextSurface = nullptr; } } void SagoTextField::UpdateCache(SDL_Renderer* target) { if (!data->tex) { std::cerr << "FATAL: DataHolder not set!\n"; abort(); } ClearCache(); TTF_Font *font = data->tex->getFontPtr(data->fontName, data->fontSize); data->textSurface = TTF_RenderUTF8_Blended (font, data->text.c_str(), data->color); data->texture = SDL_CreateTextureFromSurface(target, data->textSurface); if (data->outline > 0) { OutlineHandler oh(font, data->outline); data->outlineTextSurface = TTF_RenderUTF8_Blended (font, data->text.c_str(), data->outlineColor); data->outlineTexture = SDL_CreateTextureFromSurface(target, data->outlineTextSurface); oh.reset(); } data->renderedText = data->text; data->renderedVersion = data->tex->getVersion(); } void SagoTextField::GetRenderedSize(const char* text, int* w, int* h) { TTF_Font *font = data->tex->getFontPtr(data->fontName, data->fontSize); int ret = TTF_SizeUTF8(font, text, w, h); if (ret) { if (w) { *w = 0; } if (h) { *h = 0; } std::cerr << "GetRenderedSize failed to find size of " << text << ". Error code: " << ret << "\n"; } } void SagoTextField::Draw(SDL_Renderer* target, int x, int y, Alignment alignment, VerticalAlignment verticalAlignment) { if (data->text.empty()) { return; } if (data->text != data->renderedText || data->renderedVersion != data->tex->getVersion()) { UpdateCache(target); } if (!data->texture) { return; } int texW = 0; int texH = 0; SDL_QueryTexture(data->texture, NULL, NULL, &texW, &texH); if (alignment == Alignment::center) { x -= texW/2; } if (alignment == Alignment::right) { x -= texW; } if (verticalAlignment == VerticalAlignment::center) { y -= texH/2; } if (verticalAlignment == VerticalAlignment::bottom) { y -= texH; } SDL_Rect dstrect = { x, y, texW, texH }; if (data->outlineTexture) { int outlineTexW = 0; int outlineTexH = 0; SDL_QueryTexture(data->outlineTexture, NULL, NULL, &outlineTexW, &outlineTexH); SDL_Rect dstrectOutline = { x-(data->outline), y-(data->outline), outlineTexW, outlineTexH }; SDL_RenderCopy(target, data->outlineTexture, NULL, &dstrectOutline); } SDL_RenderCopy(target, data->texture, NULL, &dstrect); } } //namespace sagoblockattack-game-2.5.0/source/code/sago/SagoTextField.hpp000066400000000000000000000111511347224572500232770ustar00rootroot00000000000000/* Copyright (c) 2018 Poul Sander Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ #ifndef SAGOTEXTFIELD_HPP #define SAGOTEXTFIELD_HPP #include "SagoDataHolder.hpp" namespace sago { /** * This is a text field. * It represents a line of text to be drawn on screen. It is not possible to have line breaks. * If line breaks are needed use SagoTextBox instead. * * This object renderes to a texture and cahces the texture. The texture will be automatically refreshed if the text changes, the SagoDataHolder is invalidated or ClearCache is called. * Normally all values will be set at the beginning before text is drawn. * SetHolder MUST be called before the field is drawn! */ class SagoTextField final { public: SagoTextField(); SagoTextField(SagoTextField&& o) noexcept; SagoTextField& operator=(const SagoTextField&& base) = delete; SagoTextField& operator=(const SagoTextField& base) = delete; ~SagoTextField(); /** * This method creates a copy of a given font. * The cache will not be copied. * This is ALMOST like the "= operator" but given its own name to prevent implicit calling. * @param base The object to copy from * @return A reference to this object. */ SagoTextField& CopyFrom(const SagoTextField& base); /** * Sets the data holder. This is MANDATORY * @param holder The data holder to fetch the fonts from */ void SetHolder(const SagoDataHolder* holder); /** * Set the text to display. * @param text The actual UTF-8 encoded text */ void SetText(const char* text); /** * Set the text to display. * @param text The actual UTF-8 encoded text */ void SetText(const std::string& text); void SetColor(const SDL_Color& color); /** * Set the name of the font. Must be known to the data holder. * The name could for instance be "freeserif". * @param fontName Name of the font as required by SagoDataHolder */ void SetFont(const char* fontName); void SetFontSize(int fontSize); /** * Enable outline against the font. * @param outlineSize Number of pixels of outline. * @param color The color of the outline. */ void SetOutline(int outlineSize, const SDL_Color& color); /** * Get the text we are currently drawing * @return The text */ const std::string& GetText() const; /** * A Shorthand for calling TTF_SizeUTF8 on the right font * The size is measuered WITHOUT the outline! * Will fail silently on error (except writing to stderr) and set w and h to 0 if they are not null. * @param text The text to check the rendered size for * @param w Pointer to an int where the width of the text will be stored. Maybe null. * @param h Pointer to an int where the hight of the text will be stored. Maybe null. */ void GetRenderedSize(const char* text, int* w = nullptr, int* h = nullptr); enum class Alignment { left = 0, right=1, center = 2 }; enum class VerticalAlignment { top = 0, center = 1, bottom = 2}; void Draw(SDL_Renderer* target, int x, int y, Alignment alignment = Alignment::left, VerticalAlignment verticalAlignment = VerticalAlignment::top); /** * Updates the cache. * You normally do not want to call this from the outside as it is done just in time. * Unless you want to precache of course.... * @param target Target the the text will eventually be rendered to */ void UpdateCache(SDL_Renderer* target); /** * Clears the cache and forces the SagoTextField to render it again the next time it is drawn. * Can be used if you have changed font, color or sizes. * Changing the text implices a cache clear. */ void ClearCache(); private: SagoTextField(const SagoTextField& orig) = delete; struct SagoTextFieldData; SagoTextFieldData *data; }; } //namespace sago #endif /* SAGOTEXTFIELD_HPP */ blockattack-game-2.5.0/source/code/sago/platform_folders.cpp000066400000000000000000000316261347224572500241430ustar00rootroot00000000000000/* Its is under the MIT license, to encourage reuse by cut-and-paste. The original files are hosted here: https://github.com/sago007/PlatformFolders Copyright (c) 2015-2016 Poul Sander Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ #include "platform_folders.h" #include #include #include #include #ifndef _WIN32 #include #include /** * Retrives the effective user's home dir. * If the user is running as root we ignore the HOME environment. It works badly with sudo. * Writing to $HOME as root implies security concerns that a multiplatform program cannot be assumed to handle. * @return The home directory. HOME environment is respected for non-root users if it exists. */ static std::string getHome() { std::string res; int uid = getuid(); const char* homeEnv = std::getenv("HOME"); if ( uid != 0 && homeEnv) { //We only acknowlegde HOME if not root. res = homeEnv; return res; } struct passwd* pw = nullptr; struct passwd pwd; long bufsize = sysconf(_SC_GETPW_R_SIZE_MAX); if (bufsize < 0) { bufsize = 16384; } std::vector buffer; buffer.resize(bufsize); int error_code = getpwuid_r(uid, &pwd, buffer.data(), buffer.size(), &pw); if (error_code) { throw std::runtime_error("Unable to get passwd struct."); } const char* tempRes = pw->pw_dir; if (!tempRes) { throw std::runtime_error("User has no home directory"); } res = tempRes; return res; } #endif #ifdef _WIN32 // Make sure we don't bring in all the extra junk with windows.h #ifndef WIN32_LEAN_AND_MEAN #define WIN32_LEAN_AND_MEAN #endif // stringapiset.h depends on this #include // For SUCCEEDED macro #include // For WideCharToMultiByte #include // For SHGetFolderPathW and various CSIDL "magic numbers" #include namespace sago { namespace internal { std::string win32_utf16_to_utf8(const wchar_t* wstr) { std::string res; // If the 6th parameter is 0 then WideCharToMultiByte returns the number of bytes needed to store the result. int actualSize = WideCharToMultiByte(CP_UTF8, 0, wstr, -1, nullptr, 0, nullptr, nullptr); if (actualSize > 0) { //If the converted UTF-8 string could not be in the initial buffer. Allocate one that can hold it. std::vector buffer(actualSize); actualSize = WideCharToMultiByte(CP_UTF8, 0, wstr, -1, &buffer[0], static_cast(buffer.size()), nullptr, nullptr); res = buffer.data(); } if (actualSize == 0) { // WideCharToMultiByte return 0 for errors. const std::string errorMsg = "UTF16 to UTF8 failed with error code: " + GetLastError(); throw std::runtime_error(errorMsg.c_str()); } return res; } } // namesapce internal } // namespace sago class FreeCoTaskMemory { LPWSTR pointer = NULL; public: explicit FreeCoTaskMemory(LPWSTR pointer) : pointer(pointer) {}; ~FreeCoTaskMemory() { CoTaskMemFree(pointer); } }; static std::string GetKnownWindowsFolder(REFKNOWNFOLDERID folderId, const char* errorMsg) { LPWSTR wszPath = NULL; HRESULT hr; hr = SHGetKnownFolderPath(folderId, KF_FLAG_CREATE, NULL, &wszPath); FreeCoTaskMemory scopeBoundMemory(wszPath); if (!SUCCEEDED(hr)) { throw std::runtime_error(errorMsg); } return sago::internal::win32_utf16_to_utf8(wszPath); } static std::string GetAppData() { return GetKnownWindowsFolder(FOLDERID_RoamingAppData, "RoamingAppData could not be found"); } static std::string GetAppDataCommon() { return GetKnownWindowsFolder(FOLDERID_ProgramData, "ProgramData could not be found"); } static std::string GetAppDataLocal() { return GetKnownWindowsFolder(FOLDERID_LocalAppData, "LocalAppData could not be found"); } #elif defined(__APPLE__) #else #include #include #include // For strlen and strtok #include #include //Typically Linux. For easy reading the comments will just say Linux but should work with most *nixes static void throwOnRelative(const char* envName, const char* envValue) { if (envValue[0] != '/') { char buffer[200]; std::snprintf(buffer, sizeof(buffer), "Environment \"%s\" does not start with an '/'. XDG specifies that the value must be absolute. The current value is: \"%s\"", envName, envValue); throw std::runtime_error(buffer); } } static std::string getLinuxFolderDefault(const char* envName, const char* defaultRelativePath) { std::string res; const char* tempRes = std::getenv(envName); if (tempRes) { throwOnRelative(envName, tempRes); res = tempRes; return res; } res = getHome() + "/" + defaultRelativePath; return res; } static void appendExtraFolders(const char* envName, const char* defaultValue, std::vector& folders) { const char* envValue = std::getenv(envName); if (!envValue) { envValue = defaultValue; } sago::internal::appendExtraFoldersTokenizer(envName, envValue, folders); } #endif namespace sago { #if !defined(_WIN32) && !defined(__APPLE__) namespace internal { void appendExtraFoldersTokenizer(const char* envName, const char* envValue, std::vector& folders) { std::stringstream ss(envValue); std::string value; while (std::getline(ss, value, ':')) { if (value[0] == '/') { folders.push_back(value); } else { //Unless the system is wrongly configured this should never happen... But of course some systems will be incorectly configured. //The XDG documentation indicates that the folder should be ignored but that the program should continue. std::cerr << "Skipping path \"" << value << "\" in \"" << envName << "\" because it does not start with a \"/\"\n"; } } } } #endif std::string getDataHome() { #ifdef _WIN32 return GetAppData(); #elif defined(__APPLE__) return getHome()+"/Library/Application Support"; #else return getLinuxFolderDefault("XDG_DATA_HOME", ".local/share"); #endif } std::string getConfigHome() { #ifdef _WIN32 return GetAppData(); #elif defined(__APPLE__) return getHome()+"/Library/Application Support"; #else return getLinuxFolderDefault("XDG_CONFIG_HOME", ".config"); #endif } std::string getCacheDir() { #ifdef _WIN32 return GetAppDataLocal(); #elif defined(__APPLE__) return getHome()+"/Library/Caches"; #else return getLinuxFolderDefault("XDG_CACHE_HOME", ".cache"); #endif } void appendAdditionalDataDirectories(std::vector& homes) { #ifdef _WIN32 homes.push_back(GetAppDataCommon()); #elif !defined(__APPLE__) appendExtraFolders("XDG_DATA_DIRS", "/usr/local/share/:/usr/share/", homes); #endif } void appendAdditionalConfigDirectories(std::vector& homes) { #ifdef _WIN32 homes.push_back(GetAppDataCommon()); #elif !defined(__APPLE__) appendExtraFolders("XDG_CONFIG_DIRS", "/etc/xdg", homes); #endif } #if !defined(_WIN32) && !defined(__APPLE__) struct PlatformFolders::PlatformFoldersData { std::map folders; }; static void PlatformFoldersAddFromFile(const std::string& filename, std::map& folders) { std::ifstream infile(filename.c_str()); std::string line; while (std::getline(infile, line)) { if (line.length() == 0 || line.at(0) == '#' || line.substr(0, 4) != "XDG_" || line.find("_DIR") == std::string::npos) { continue; } try { std::size_t splitPos = line.find('='); std::string key = line.substr(0, splitPos); std::size_t valueStart = line.find('"', splitPos); std::size_t valueEnd = line.find('"', valueStart+1); std::string value = line.substr(valueStart+1, valueEnd - valueStart - 1); folders[key] = value; } catch (std::exception& e) { std::cerr << "WARNING: Failed to process \"" << line << "\" from \"" << filename << "\". Error: "<< e.what() << "\n"; continue; } } } static void PlatformFoldersFillData(std::map& folders) { folders["XDG_DOCUMENTS_DIR"] = "$HOME/Documents"; folders["XDG_DESKTOP_DIR"] = "$HOME/Desktop"; folders["XDG_DOWNLOAD_DIR"] = "$HOME/Downloads"; folders["XDG_MUSIC_DIR"] = "$HOME/Music"; folders["XDG_PICTURES_DIR"] = "$HOME/Pictures"; folders["XDG_PUBLICSHARE_DIR"] = "$HOME/Public"; folders["XDG_TEMPLATES_DIR"] = "$HOME/.Templates"; folders["XDG_VIDEOS_DIR"] = "$HOME/Videos"; PlatformFoldersAddFromFile( getConfigHome()+"/user-dirs.dirs", folders); for (std::map::iterator itr = folders.begin() ; itr != folders.end() ; ++itr ) { std::string& value = itr->second; if (value.compare(0, 5, "$HOME") == 0) { value = getHome() + value.substr(5, std::string::npos); } } } #endif PlatformFolders::PlatformFolders() { #if !defined(_WIN32) && !defined(__APPLE__) this->data = new PlatformFolders::PlatformFoldersData(); try { PlatformFoldersFillData(data->folders); } catch (...) { delete this->data; throw; } #endif } PlatformFolders::~PlatformFolders() { #if !defined(_WIN32) && !defined(__APPLE__) delete this->data; #endif } std::string PlatformFolders::getDocumentsFolder() const { #ifdef _WIN32 return GetKnownWindowsFolder(FOLDERID_Documents, "Failed to find My Documents folder"); #elif defined(__APPLE__) return getHome()+"/Documents"; #else return data->folders["XDG_DOCUMENTS_DIR"]; #endif } std::string PlatformFolders::getDesktopFolder() const { #ifdef _WIN32 return GetKnownWindowsFolder(FOLDERID_Desktop, "Failed to find Desktop folder"); #elif defined(__APPLE__) return getHome()+"/Desktop"; #else return data->folders["XDG_DESKTOP_DIR"]; #endif } std::string PlatformFolders::getPicturesFolder() const { #ifdef _WIN32 return GetKnownWindowsFolder(FOLDERID_Pictures, "Failed to find My Pictures folder"); #elif defined(__APPLE__) return getHome()+"/Pictures"; #else return data->folders["XDG_PICTURES_DIR"]; #endif } std::string PlatformFolders::getPublicFolder() const { #ifdef _WIN32 return GetKnownWindowsFolder(FOLDERID_Public, "Failed to find the Public folder"); #elif defined(__APPLE__) return getHome()+"/Public"; #else return data->folders["XDG_PUBLICSHARE_DIR"]; #endif } std::string PlatformFolders::getDownloadFolder1() const { #ifdef _WIN32 return GetKnownWindowsFolder(FOLDERID_Downloads, "Failed to find My Downloads folder"); #elif defined(__APPLE__) return getHome()+"/Downloads"; #else return data->folders["XDG_DOWNLOAD_DIR"]; #endif } std::string PlatformFolders::getMusicFolder() const { #ifdef _WIN32 return GetKnownWindowsFolder(FOLDERID_Music, "Failed to find My Music folder"); #elif defined(__APPLE__) return getHome()+"/Music"; #else return data->folders["XDG_MUSIC_DIR"]; #endif } std::string PlatformFolders::getVideoFolder() const { #ifdef _WIN32 return GetKnownWindowsFolder(FOLDERID_Videos, "Failed to find My Video folder"); #elif defined(__APPLE__) return getHome()+"/Movies"; #else return data->folders["XDG_VIDEOS_DIR"]; #endif } std::string PlatformFolders::getSaveGamesFolder1() const { #ifdef _WIN32 //A dedicated Save Games folder was not introduced until Vista. For XP and older save games are most often saved in a normal folder named "My Games". //Data that should not be user accessible should be placed under GetDataHome() instead return GetKnownWindowsFolder(FOLDERID_Documents, "Failed to find My Documents folder")+"\\My Games"; #elif defined(__APPLE__) return getHome()+"/Library/Application Support"; #else return getDataHome(); #endif } std::string getDesktopFolder() { return PlatformFolders().getDesktopFolder(); } std::string getDocumentsFolder() { return PlatformFolders().getDocumentsFolder(); } std::string getDownloadFolder() { return PlatformFolders().getDownloadFolder1(); } std::string getDownloadFolder1() { return getDownloadFolder(); } std::string getPicturesFolder() { return PlatformFolders().getPicturesFolder(); } std::string getPublicFolder() { return PlatformFolders().getPublicFolder(); } std::string getMusicFolder() { return PlatformFolders().getMusicFolder(); } std::string getVideoFolder() { return PlatformFolders().getVideoFolder(); } std::string getSaveGamesFolder1() { return PlatformFolders().getSaveGamesFolder1(); } std::string getSaveGamesFolder2() { #ifdef _WIN32 return GetKnownWindowsFolder(FOLDERID_SavedGames, "Failed to find Saved Games folder"); #else return PlatformFolders().getSaveGamesFolder1(); #endif } } //namespace sago blockattack-game-2.5.0/source/code/sago/platform_folders.h000066400000000000000000000222231347224572500236010ustar00rootroot00000000000000/* Its is under the MIT license, to encourage reuse by cut-and-paste. The original files are hosted here: https://github.com/sago007/PlatformFolders Copyright (c) 2015 Poul Sander Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ #ifndef SAGO_PLATFORM_FOLDERS_H #define SAGO_PLATFORM_FOLDERS_H #include #include /** * The namespace I use for common function. Nothing special about it. */ namespace sago { #ifndef DOXYGEN_SHOULD_SKIP_THIS namespace internal { #if !defined(_WIN32) && !defined(__APPLE__) void appendExtraFoldersTokenizer(const char* envName, const char* envValue, std::vector& folders); #endif #ifdef _WIN32 std::string win32_utf16_to_utf8(const wchar_t* wstr); #endif } #endif //DOXYGEN_SHOULD_SKIP_THIS /** * Retrives the base folder for storing data files. * You must add the program name yourself like this: * @code{.cpp} * string data_home = getDataHome()+"/My Program Name/"; * @endcode * On Windows this defaults to %APPDATA% (Roaming profile) * On Linux this defaults to ~/.local/share but can be configured * @return The base folder for storing program data. */ std::string getDataHome(); /** * Retrives the base folder for storing config files. * You must add the program name yourself like this: * @code{.cpp} * string data_home = getConfigHome()+"/My Program Name/"; * @endcode * On Windows this defaults to %APPDATA% (Roaming profile) * On Linux this defaults to ~/.config but can be configured * @return The base folder for storing config data. */ std::string getConfigHome(); /** * Retrives the base folder for storing cache files. * You must add the program name yourself like this: * @code{.cpp} * string data_home = getCacheDir()+"/My Program Name/"; * @endcode * On Windows this defaults to %APPDATALOCAL% * On Linux this defaults to ~/.cache but can be configured * @return The base folder for storing data that do not need to be backed up. */ std::string getCacheDir(); /** * This will append extra folders that your program should be looking for data files in. * This does not normally include the path returned by GetDataHome(). * If you want all the folders you should do something like: * @code{.cpp} * vector folders; * folders.push_back(getDataHome()); * appendAdditionalDataDirectories(folders); * for (string s& : folders) { * s+="/My Program Name/"; * } * @endcode * You must apply "/My Program Name/" to all the strings. * The string at the lowest index has the highest priority. * @param homes A vector that extra folders will be appended to. */ void appendAdditionalDataDirectories(std::vector& homes); /** * This will append extra folders that your program should be looking for config files in. * This does not normally include the path returned by GetConfigHome(). * If you want all the folders you should do something like: * @code{.cpp} * std::vector folders; * folders.push_back(sago::getConfigHome()); * sago::appendAdditionalConfigDirectories(folders); * for (std::string s& : folders) { * s+="/My Program Name/"; * } * @endcode * You must apply "/My Program Name/" to all the strings. * The string at the lowest index has the highest priority. * @param homes A vector that extra folders will be appended to. */ void appendAdditionalConfigDirectories(std::vector& homes); /** * The folder that represents the desktop. * Normally you should try not to use this folder. * @return Absolute path to the user's desktop */ std::string getDesktopFolder(); /** * The folder to store user documents to * @return Absolute path to the "Documents" folder */ std::string getDocumentsFolder(); /** * The folder where files are downloaded. * @return Absolute path to the folder where files are downloaded to. */ std::string getDownloadFolder(); /** * The folder where files are downloaded. * @note This is provided for backward compatibility. Use getDownloadFolder instead. * @return Absolute path to the folder where files are downloaded to. */ std::string getDownloadFolder1(); /** * The folder for storing the user's pictures. * @return Absolute path to the "Picture" folder */ std::string getPicturesFolder(); /** * This returns the folder that can be used for sharing files with other users on the same system. * @return Absolute path to the "Public" folder */ std::string getPublicFolder(); /** * The folder where music is stored * @return Absolute path to the music folder */ std::string getMusicFolder(); /** * The folder where video is stored * @return Absolute path to the video folder */ std::string getVideoFolder(); /** * A base folder for storing saved games. * You must add the program name to it like this: * @code{.cpp} * string saved_games_folder = sago::getSaveGamesFolder1()+"/My Program Name/"; * @endcode * @note Windows: This is an XP compatible version and returns the path to "My Games" in Documents. Vista and later has an official folder. * @note Linux: XDF does not define a folder for saved games. This will just return the same as GetDataHome() * @return The folder base folder for storing save games. */ std::string getSaveGamesFolder1(); /** * A base folder for storing saved games. * You must add the program name to it like this: * @code{.cpp} * string saved_games_folder = sago::getSaveGamesFolder2()+"/My Program Name/"; * @endcode * @note PlatformFolders provide different folders to for saved games as not all operating systems has support for Saved Games yet. * It is recommended to pick the highest number (currently getSaveGamesFolder2) at the time your product enters production and stick with it * @note Windows: This returns the "Saved Games" folder. This folder exist in Vista and later * @note Linux: XDF does not define a folder for saved games. This will just return the same as GetDataHome() * @return The folder base folder for storing save games. */ std::string getSaveGamesFolder2(); #ifndef DOXYGEN_SHOULD_SKIP_THIS /** * This class contains methods for finding the system depended special folders. * For Windows these folders are either by convention or given by CSIDL. * For Linux XDG convention is used. * The Linux version has very little error checking and assumes that the config is correct */ class PlatformFolders { public: PlatformFolders(); ~PlatformFolders(); /** * The folder that represents the desktop. * Normally you should try not to use this folder. * @return Absolute path to the user's desktop */ std::string getDesktopFolder() const; /** * The folder to store user documents to * @return Absolute path to the "Documents" folder */ std::string getDocumentsFolder() const; /** * The folder for storing the user's pictures. * @return Absolute path to the "Picture" folder */ std::string getPicturesFolder() const; /** * Use sago::getPublicFolder() instead! */ std::string getPublicFolder() const; /** * The folder where files are downloaded. * @note Windows: This version is XP compatible and returns the Desktop. Vista and later has a dedicated folder. * @return Absolute path to the folder where files are downloaded to. */ std::string getDownloadFolder1() const; /** * The folder where music is stored * @return Absolute path to the music folder */ std::string getMusicFolder() const; /** * The folder where video is stored * @return Absolute path to the video folder */ std::string getVideoFolder() const; /** * The base folder for storing saved games. * You must add the program name to it like this: * @code{.cpp} * PlatformFolders pf; * string saved_games_folder = pf.getSaveGamesFolder1()+"/My Program Name/"; * @endcode * @note Windows: This is an XP compatible version and returns the path to "My Games" in Documents. Vista and later has an official folder. * @note Linux: XDF does not define a folder for saved games. This will just return the same as GetDataHome() * @return The folder base folder for storing save games. */ std::string getSaveGamesFolder1() const; private: PlatformFolders(const PlatformFolders&); PlatformFolders& operator=(const PlatformFolders&); #if !defined(_WIN32) && !defined(__APPLE__) struct PlatformFoldersData; PlatformFoldersData* data; #endif }; #endif // skip doxygen } //namespace sago #endif /* PLATFORM_FOLDERS_H */ blockattack-game-2.5.0/source/code/scopeHelpers.hpp000066400000000000000000000025701347224572500223050ustar00rootroot00000000000000/* =========================================================================== blockattack - Block Attack - Rise of the Blocks Copyright (C) 2005-2015 Poul Sander 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 2 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 http://www.gnu.org/licenses/ Source information and contacts persons can be found at https://blockattack.net =========================================================================== */ #ifndef SCOPEHELPERS_HPP #define SCOPEHELPERS_HPP #include "common.h" class SDL_RendererHolder { SDL_Renderer* ptr; public: explicit SDL_RendererHolder(SDL_Renderer* input) { dieOnNullptr(input, "Failed to get render"); ptr = input; } ~SDL_RendererHolder() { SDL_DestroyRenderer(ptr); } }; class SDL_TextInput { public: SDL_TextInput() { SDL_StartTextInput(); } ~SDL_TextInput() { SDL_StopTextInput(); } }; #endif /* SCOPEHELPERS_HPP */ blockattack-game-2.5.0/source/code/stageclearhandler.cpp000066400000000000000000000065011347224572500233120ustar00rootroot00000000000000/* =========================================================================== blockattack - Block Attack - Rise of the Blocks Copyright (C) 2005-2015 Poul Sander 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 2 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 http://www.gnu.org/licenses/ Source information and contacts persons can be found at http://www.blockattack.net =========================================================================== */ #include "stageclearhandler.hpp" #include "SDL.h" #include #include #include #include "cereal/cereal.hpp" #include "cereal/types/vector.hpp" #include "cereal/archives/json.hpp" #include "sago/SagoMisc.hpp" //paths const char* const stageClearSaveName = "stageClear.json.SCsave"; struct StageClearElement { bool cleared = false; int time = 0; int score = 0; template void serialize(Archive& archive) { archive( cereal::make_nvp("cleared", cleared), cereal::make_nvp("time", time), cereal::make_nvp("score", score) ); } }; std::vector stages(nrOfStageLevels); std::vector stageCleared(nrOfStageLevels); //vector that tells if a stage is cleared std::vector stageTimes(nrOfStageLevels); //For statistical puposes std::vector stageScores(nrOfStageLevels); //--||-- Sint32 totalScore = 0; Sint32 totalTime = 0; using std::string; using std::cerr; using std::vector; static void SaveStageClearStages() { std::stringstream ss; { cereal::JSONOutputArchive archive(ss); archive(cereal::make_nvp("stages", stages)); } sago::WriteFileContent(stageClearSaveName, ss.str()); } void StageClearSetClear(int Level, int score, int time) { stages.at(Level).cleared = true; int gameEndedAfter = time; if (stages.at(Level).score 0) { std::stringstream ss(readFileContent); { try { cereal::JSONInputArchive archive(ss); archive(cereal::make_nvp("stages", stages)); } catch (cereal::Exception& e) { std::cerr << "Failed to load file \"" << stageClearSaveName << "\". Reason: " << e.what() << "\n"; stages.clear(); } } } else { stages.clear(); } stages.resize(nrOfStageLevels); totalScore = 0; totalTime = 0; for (const StageClearElement& s : stages) { totalScore += s.score; totalTime += s.time; } } int GetTotalScore() { return totalScore; } int GetTotalTime() { return totalTime; } int GetNrOfLevels() { return nrOfStageLevels; } bool IsStageCleared(int level) { return stages.at(level).cleared; } int GetStageScores(int level) { return stages.at(level).score; } int GetStageTime(int level) { return stages.at(level).time; } blockattack-game-2.5.0/source/code/stageclearhandler.hpp000066400000000000000000000026631347224572500233240ustar00rootroot00000000000000/* =========================================================================== blockattack - Block Attack - Rise of the Blocks Copyright (C) 2005-2015 Poul Sander 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 2 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 http://www.gnu.org/licenses/ Source information and contacts persons can be found at http://blockattack.net =========================================================================== */ /* * File: stageclearhandler.hpp * Author: poul * * Created on 29. december 2015, 12:56 */ #ifndef STAGECLEARHANDLER_HPP #define STAGECLEARHANDLER_HPP #include void StageClearSetClear(int level, int score, int time); void LoadStageClearStages(); int GetTotalScore(); int GetTotalTime(); int GetNrOfLevels(); bool IsStageCleared(int level); int GetStageScores(int level); int GetStageTime(int level); const int nrOfStageLevels = 50; //number of stages in stage Clear #endif /* STAGECLEARHANDLER_HPP */ blockattack-game-2.5.0/source/code/stats.cpp000066400000000000000000000047641347224572500210110ustar00rootroot00000000000000/* =========================================================================== blockattack - Block Attack - Rise of the Blocks Copyright (C) 2005-2016 Poul Sander 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 2 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 http://www.gnu.org/licenses/ Source information and contacts persons can be found at http://www.blockattack.net =========================================================================== */ #include "stats.h" #include "common.h" #include "os.hpp" #include "sago/SagoMisc.hpp" #include using std::string; using std::stringstream; using std::cerr; using std::map; using std::vector; Stats* Stats::instance = nullptr; const char* const statsFileName = "statsFile"; Stats::Stats() { statMap.clear(); load(); } void Stats::load() { string fileContent = sago::GetFileContent(statsFileName); stringstream inFile(fileContent); string key; string value; if (inFile) { while (!inFile.eof()) { inFile >> key; // The key is first on line inFile.get(); //Take the space getline(inFile, value); //The rest of the line is the value. statMap[key] = str2int(value); } } } Stats* Stats::getInstance() { if (!Stats::instance) { Stats::instance = new Stats(); } return Stats::instance; } void Stats::save() { std::stringstream outFile; map::iterator iter; for (iter = statMap.begin(); iter != statMap.end(); ++iter) { outFile << iter->first << " " << iter->second << "\n"; } sago::WriteFileContent(statsFileName, outFile.str()); } unsigned int Stats::getNumberOf(const string& statName) { if (exists(statName)) { return statMap[statName]; } else { return 0; } } void Stats::addOne(const string& statName) { map::iterator iter = statMap.find(statName); if (iter == statMap.end()) { statMap[statName] = 1; } else { iter->second++; } } bool Stats::exists(const string& statName) { //Using that 'find' returns an iterator to the end of the map if not found return statMap.find(statName) != statMap.end(); } blockattack-game-2.5.0/source/code/stats.h000066400000000000000000000025071347224572500204470ustar00rootroot00000000000000/* =========================================================================== blockattack - Block Attack - Rise of the Blocks Copyright (C) 2005-2012 Poul Sander 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 2 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 http://www.gnu.org/licenses/ Source information and contacts persons can be found at http://www.blockattack.net =========================================================================== */ #ifndef _STATS_H #define _STATS_H #include #include class Stats { public: static Stats* getInstance(); void save(); unsigned int getNumberOf(const std::string &statName); void addOne(const std::string &statName); bool exists(const std::string &statName); private: std::map statMap; static Stats *instance; void load(); Stats(); }; #endif /* _STATS_H */ blockattack-game-2.5.0/source/code/version.h000066400000000000000000000021671347224572500210000ustar00rootroot00000000000000/* =========================================================================== blockattack - Block Attack - Rise of the Blocks Copyright (C) 2005-2016 Poul Sander 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 2 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 http://www.gnu.org/licenses/ Source information and contacts persons can be found at https://blockattack.net =========================================================================== */ /* *Files will be saved in: * HOME/.local/share/"+GAMENAME (unix) *or DOCUMENTS/My Games/GAMENAME (Windows) */ #define GAMENAME "blockattack" #ifndef VERSION_NUMBER #define VERSION_NUMBER "2.5.0" #endif blockattack-game-2.5.0/source/code/winicon.rc000066400000000000000000000000511347224572500211240ustar00rootroot00000000000000101 ICON "../misc/icons/blockattack.ico" blockattack-game-2.5.0/source/misc/000077500000000000000000000000001347224572500171555ustar00rootroot00000000000000blockattack-game-2.5.0/source/misc/astyle/000077500000000000000000000000001347224572500204565ustar00rootroot00000000000000blockattack-game-2.5.0/source/misc/astyle/runAstyle.sh000077500000000000000000000001131347224572500227760ustar00rootroot00000000000000#! /bin/bash astyle -t -j -y -c -k1 -z2 -A2 --pad-header ../../code/*.cpp blockattack-game-2.5.0/source/misc/blockattack.desktop000066400000000000000000000006371347224572500230400ustar00rootroot00000000000000[Desktop Entry] Version=1.0 Name=Block Attack - Rise of the Blocks Comment=Switch blocks so they match Comment[ro_RO]=Ridicarea blocurilor Comment[da]=Byt blokke så de passer sammen Comment[fr_FR]=Empilez les blocks Comment[de]=Staple zusammenpassende Spielsteine GenericName=Block Attack Exec=blockattack Icon=blockattack Terminal=false Type=Application Categories=Game;ArcadeGame; Keywords=blocks;attack;tetris; blockattack-game-2.5.0/source/misc/cmake/000077500000000000000000000000001347224572500202355ustar00rootroot00000000000000blockattack-game-2.5.0/source/misc/cmake/FindSDL2.cmake000066400000000000000000000025451347224572500225520ustar00rootroot00000000000000# - Try to find SDL2 # Once done, this will define # # SDL2_FOUND - system has SDL2 # SDL2_INCLUDE_DIRS - the SDL2 include directories # SDL2_LIBRARIES - link these to use SDL2 # SDL2_SDL_LIBRARY - only libSDL2 # SDL2_SDLmain_LIBRARY - only libSDL2main # SDL2_SOURCES - add this in the source file list of your target (hack for OSX) # # See documentation on how to write CMake scripts at # http://www.cmake.org/Wiki/CMake:How_To_Find_Libraries include(LibFindMacros) libfind_pkg_detect(SDL2 sdl2 FIND_PATH SDL.h PATH_SUFFIXES SDL2 FIND_LIBRARY SDL2) # Process others than OSX with native SDL normally if(NOT "${SDL2_SDL_LIBRARY}" MATCHES "framework") if(MINGW) set(MINGW32_LIBRARY mingw32) set(SDL2_PROCESS_LIBS ${SDL2_PROCESS_LIBS} MINGW32_LIBRARY) endif() find_library(SDL2_SDLmain_LIBRARY NAMES libSDL2main.a SDL2main HINTS ${SDL2_PKGCONF_LIBRARY_DIRS} ) if (SDL2_SDLmain_LIBRARY) set(SDL2_PROCESS_LIBS ${SDL2_PROCESS_LIBS} SDL2_SDLmain_LIBRARY) endif() set(SDL2_PROCESS_LIBS ${SDL2_PROCESS_LIBS} SDL2_SDL_LIBRARY) endif() libfind_process(SDL2) # Special processing for OSX native SDL if("${SDL2_SDL_LIBRARY}" MATCHES "SDL.framework") set(SDL2_SOURCES "osx/SDLmain.m") set(SDL2_LIBRARIES "-framework SDL2") endif() # All OSX versions need Cocoa if(APPLE) set(SDL2_LIBRARIES ${SDL2_LIBRARIES} "-framework Cocoa") endif(APPLE) blockattack-game-2.5.0/source/misc/cmake/LibFindMacros.cmake000066400000000000000000000247201347224572500237200ustar00rootroot00000000000000# Version 2.2 # Public Domain, originally written by Lasse Kärkkäinen # Maintained at https://github.com/Tronic/cmake-modules # Please send your improvements as pull requests on Github. # Find another package and make it a dependency of the current package. # This also automatically forwards the "REQUIRED" argument. # Usage: libfind_package( [extra args to find_package]) macro (libfind_package PREFIX PKG) set(${PREFIX}_args ${PKG} ${ARGN}) if (${PREFIX}_FIND_REQUIRED) set(${PREFIX}_args ${${PREFIX}_args} REQUIRED) endif() find_package(${${PREFIX}_args}) set(${PREFIX}_DEPENDENCIES ${${PREFIX}_DEPENDENCIES};${PKG}) unset(${PREFIX}_args) endmacro() # A simple wrapper to make pkg-config searches a bit easier. # Works the same as CMake's internal pkg_check_modules but is always quiet. macro (libfind_pkg_check_modules) find_package(PkgConfig QUIET) if (PKG_CONFIG_FOUND) pkg_check_modules(${ARGN} QUIET) endif() endmacro() # Avoid useless copy&pasta by doing what most simple libraries do anyway: # pkg-config, find headers, find library. # Usage: libfind_pkg_detect( FIND_PATH [other args] FIND_LIBRARY [other args]) # E.g. libfind_pkg_detect(SDL2 sdl2 FIND_PATH SDL.h PATH_SUFFIXES SDL2 FIND_LIBRARY SDL2) function (libfind_pkg_detect PREFIX) # Parse arguments set(argname pkgargs) foreach (i ${ARGN}) if ("${i}" STREQUAL "FIND_PATH") set(argname pathargs) elseif ("${i}" STREQUAL "FIND_LIBRARY") set(argname libraryargs) else() set(${argname} ${${argname}} ${i}) endif() endforeach() if (NOT pkgargs) message(FATAL_ERROR "libfind_pkg_detect requires at least a pkg_config package name to be passed.") endif() # Find library libfind_pkg_check_modules(${PREFIX}_PKGCONF ${pkgargs}) if (pathargs) find_path(${PREFIX}_INCLUDE_DIR NAMES ${pathargs} HINTS ${${PREFIX}_PKGCONF_INCLUDE_DIRS}) endif() if (libraryargs) find_library(${PREFIX}_LIBRARY NAMES ${libraryargs} HINTS ${${PREFIX}_PKGCONF_LIBRARY_DIRS}) endif() endfunction() # Extracts a version #define from a version.h file, output stored to _VERSION. # Usage: libfind_version_header(Foobar foobar/version.h FOOBAR_VERSION_STR) # Fourth argument "QUIET" may be used for silently testing different define names. # This function does nothing if the version variable is already defined. function (libfind_version_header PREFIX VERSION_H DEFINE_NAME) # Skip processing if we already have a version or if the include dir was not found if (${PREFIX}_VERSION OR NOT ${PREFIX}_INCLUDE_DIR) return() endif() set(quiet ${${PREFIX}_FIND_QUIETLY}) # Process optional arguments foreach(arg ${ARGN}) if (arg STREQUAL "QUIET") set(quiet TRUE) else() message(AUTHOR_WARNING "Unknown argument ${arg} to libfind_version_header ignored.") endif() endforeach() # Read the header and parse for version number set(filename "${${PREFIX}_INCLUDE_DIR}/${VERSION_H}") if (NOT EXISTS ${filename}) if (NOT quiet) message(AUTHOR_WARNING "Unable to find ${${PREFIX}_INCLUDE_DIR}/${VERSION_H}") endif() return() endif() file(READ "${filename}" header) string(REGEX REPLACE ".*#[ \t]*define[ \t]*${DEFINE_NAME}[ \t]*\"([^\n]*)\".*" "\\1" match "${header}") # No regex match? if (match STREQUAL header) if (NOT quiet) message(AUTHOR_WARNING "Unable to find \#define ${DEFINE_NAME} \"\" from ${${PREFIX}_INCLUDE_DIR}/${VERSION_H}") endif() return() endif() # Export the version string set(${PREFIX}_VERSION "${match}" PARENT_SCOPE) endfunction() # Do the final processing once the paths have been detected. # If include dirs are needed, ${PREFIX}_PROCESS_INCLUDES should be set to contain # all the variables, each of which contain one include directory. # Ditto for ${PREFIX}_PROCESS_LIBS and library files. # Will set ${PREFIX}_FOUND, ${PREFIX}_INCLUDE_DIRS and ${PREFIX}_LIBRARIES. # Also handles errors in case library detection was required, etc. function (libfind_process PREFIX) # Skip processing if already processed during this configuration run if (${PREFIX}_FOUND) return() endif() set(found TRUE) # Start with the assumption that the package was found # Did we find any files? Did we miss includes? These are for formatting better error messages. set(some_files FALSE) set(missing_headers FALSE) # Shorthands for some variables that we need often set(quiet ${${PREFIX}_FIND_QUIETLY}) set(required ${${PREFIX}_FIND_REQUIRED}) set(exactver ${${PREFIX}_FIND_VERSION_EXACT}) set(findver "${${PREFIX}_FIND_VERSION}") set(version "${${PREFIX}_VERSION}") # Lists of config option names (all, includes, libs) unset(configopts) set(includeopts ${${PREFIX}_PROCESS_INCLUDES}) set(libraryopts ${${PREFIX}_PROCESS_LIBS}) # Process deps to add to foreach (i ${PREFIX} ${${PREFIX}_DEPENDENCIES}) if (DEFINED ${i}_INCLUDE_OPTS OR DEFINED ${i}_LIBRARY_OPTS) # The package seems to export option lists that we can use, woohoo! list(APPEND includeopts ${${i}_INCLUDE_OPTS}) list(APPEND libraryopts ${${i}_LIBRARY_OPTS}) else() # If plural forms don't exist or they equal singular forms if ((NOT DEFINED ${i}_INCLUDE_DIRS AND NOT DEFINED ${i}_LIBRARIES) OR ({i}_INCLUDE_DIR STREQUAL ${i}_INCLUDE_DIRS AND ${i}_LIBRARY STREQUAL ${i}_LIBRARIES)) # Singular forms can be used if (DEFINED ${i}_INCLUDE_DIR) list(APPEND includeopts ${i}_INCLUDE_DIR) endif() if (DEFINED ${i}_LIBRARY) list(APPEND libraryopts ${i}_LIBRARY) endif() else() # Oh no, we don't know the option names message(FATAL_ERROR "We couldn't determine config variable names for ${i} includes and libs. Aieeh!") endif() endif() endforeach() if (includeopts) list(REMOVE_DUPLICATES includeopts) endif() if (libraryopts) list(REMOVE_DUPLICATES libraryopts) endif() string(REGEX REPLACE ".*[ ;]([^ ;]*(_INCLUDE_DIRS|_LIBRARIES))" "\\1" tmp "${includeopts} ${libraryopts}") if (NOT tmp STREQUAL "${includeopts} ${libraryopts}") message(AUTHOR_WARNING "Plural form ${tmp} found in config options of ${PREFIX}. This works as before but is now deprecated. Please only use singular forms INCLUDE_DIR and LIBRARY, and update your find scripts for LibFindMacros > 2.0 automatic dependency system (most often you can simply remove the PROCESS variables entirely).") endif() # Include/library names separated by spaces (notice: not CMake lists) unset(includes) unset(libs) # Process all includes and set found false if any are missing foreach (i ${includeopts}) list(APPEND configopts ${i}) if (NOT "${${i}}" STREQUAL "${i}-NOTFOUND") list(APPEND includes "${${i}}") else() set(found FALSE) set(missing_headers TRUE) endif() endforeach() # Process all libraries and set found false if any are missing foreach (i ${libraryopts}) list(APPEND configopts ${i}) if (NOT "${${i}}" STREQUAL "${i}-NOTFOUND") list(APPEND libs "${${i}}") else() set (found FALSE) endif() endforeach() # Version checks if (found AND findver) if (NOT version) message(WARNING "The find module for ${PREFIX} does not provide version information, so we'll just assume that it is OK. Please fix the module or remove package version requirements to get rid of this warning.") elseif (version VERSION_LESS findver OR (exactver AND NOT version VERSION_EQUAL findver)) set(found FALSE) set(version_unsuitable TRUE) endif() endif() # If all-OK, hide all config options, export variables, print status and exit if (found) foreach (i ${configopts}) mark_as_advanced(${i}) endforeach() if (NOT quiet) message(STATUS "Found ${PREFIX} ${${PREFIX}_VERSION}") if (LIBFIND_DEBUG) message(STATUS " ${PREFIX}_DEPENDENCIES=${${PREFIX}_DEPENDENCIES}") message(STATUS " ${PREFIX}_INCLUDE_OPTS=${includeopts}") message(STATUS " ${PREFIX}_INCLUDE_DIRS=${includes}") message(STATUS " ${PREFIX}_LIBRARY_OPTS=${libraryopts}") message(STATUS " ${PREFIX}_LIBRARIES=${libs}") endif() set (${PREFIX}_INCLUDE_OPTS ${includeopts} PARENT_SCOPE) set (${PREFIX}_LIBRARY_OPTS ${libraryopts} PARENT_SCOPE) set (${PREFIX}_INCLUDE_DIRS ${includes} PARENT_SCOPE) set (${PREFIX}_LIBRARIES ${libs} PARENT_SCOPE) set (${PREFIX}_FOUND TRUE PARENT_SCOPE) endif() return() endif() # Format messages for debug info and the type of error set(vars "Relevant CMake configuration variables:\n") foreach (i ${configopts}) mark_as_advanced(CLEAR ${i}) set(val ${${i}}) if ("${val}" STREQUAL "${i}-NOTFOUND") set (val "") elseif (val AND NOT EXISTS ${val}) set (val "${val} (does not exist)") else() set(some_files TRUE) endif() set(vars "${vars} ${i}=${val}\n") endforeach() set(vars "${vars}You may use CMake GUI, cmake -D or ccmake to modify the values. Delete CMakeCache.txt to discard all values and force full re-detection if necessary.\n") if (version_unsuitable) set(msg "${PREFIX} ${${PREFIX}_VERSION} was found but") if (exactver) set(msg "${msg} only version ${findver} is acceptable.") else() set(msg "${msg} version ${findver} is the minimum requirement.") endif() else() if (missing_headers) set(msg "We could not find development headers for ${PREFIX}. Do you have the necessary dev package installed?") elseif (some_files) set(msg "We only found some files of ${PREFIX}, not all of them. Perhaps your installation is incomplete or maybe we just didn't look in the right place?") if(findver) set(msg "${msg} This could also be caused by incompatible version (if it helps, at least ${PREFIX} ${findver} should work).") endif() else() set(msg "We were unable to find package ${PREFIX}.") endif() endif() # Fatal error out if REQUIRED if (required) set(msg "REQUIRED PACKAGE NOT FOUND\n${msg} This package is REQUIRED and you need to install it or adjust CMake configuration in order to continue building ${CMAKE_PROJECT_NAME}.") message(FATAL_ERROR "${msg}\n${vars}") endif() # Otherwise just print a nasty warning if (NOT quiet) message(WARNING "WARNING: MISSING PACKAGE\n${msg} This package is NOT REQUIRED and you may ignore this warning but by doing so you may miss some functionality of ${CMAKE_PROJECT_NAME}. \n${vars}") endif() endfunction() blockattack-game-2.5.0/source/misc/docker/000077500000000000000000000000001347224572500204245ustar00rootroot00000000000000blockattack-game-2.5.0/source/misc/docker/Dockerfile.Fedora25build000066400000000000000000000005461347224572500250110ustar00rootroot00000000000000FROM fedora:25 RUN dnf -y install cmake \ make \ gcc-c++ \ SDL2-devel \ boost-devel \ physfs-devel \ SDL2_image-devel SDL2_ttf-devel SDL2_mixer-devel \ utf8cpp-devel \ findutils \ gettext \ zip \ && dnf -y clean all COPY . /staging/blockattack-game ENV BLOCKATTACK_VERSION 2.5.0 RUN cd /staging/blockattack-game && \ ./packdata.sh && \ cmake . && \ make blockattack-game-2.5.0/source/misc/docker/Dockerfile.Fedora29build000066400000000000000000000005461347224572500250150ustar00rootroot00000000000000FROM fedora:29 RUN dnf -y install cmake \ make \ gcc-c++ \ SDL2-devel \ boost-devel \ physfs-devel \ SDL2_image-devel SDL2_ttf-devel SDL2_mixer-devel \ utf8cpp-devel \ findutils \ gettext \ zip \ && dnf -y clean all COPY . /staging/blockattack-game ENV BLOCKATTACK_VERSION 2.5.0 RUN cd /staging/blockattack-game && \ ./packdata.sh && \ cmake . && \ make blockattack-game-2.5.0/source/misc/docker/Dockerfile.Ubuntu12.04build_Standalone000066400000000000000000000021341347224572500274540ustar00rootroot00000000000000FROM ubuntu:12.04 RUN apt-get update && apt-get install -y build-essential cmake pkg-config libfreetype6-dev libvorbis-dev libgl1-mesa-dev libpulse-dev libpng12-dev zip gettext RUN apt-get update && apt-get install -y python-software-properties && \ add-apt-repository ppa:ubuntu-toolchain-r/test && \ apt-get update && \ apt-get install -y gcc-4.8 g++-4.8 && \ update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 50 && \ update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.8 50 COPY source/misc/standalone/compile_requirements.sh / RUN /compile_requirements.sh COPY . /staging/blockattack-game ENV BLOCKATTACK_VERSION 2.5.0 RUN cd /staging/blockattack-game && \ ./packdata.sh && \ cp source/misc/travis_help/utf8_v2_3_4/source/utf8.h source/code/ && \ cp source/misc/travis_help/utf8_v2_3_4/source/utf8.h source/code/sago/ && \ cp -r source/misc/travis_help/utf8_v2_3_4/source/utf8 source/code/ && \ cp -r source/misc/travis_help/utf8_v2_3_4/source/utf8 source/code/sago/ && \ cmake -D Boost_USE_STATIC_LIBS=ON -D INSTALL_DATA_DIR=. -D CMAKE_INSTALL_PREFIX=. -D STANDALONE=1 . && make blockattack-game-2.5.0/source/misc/docker/Dockerfile.Ubuntu14.04build000066400000000000000000000006321347224572500253070ustar00rootroot00000000000000FROM ubuntu:14.04 RUN apt-get update && apt-get install -yy build-essential libphysfs-dev libboost-dev cmake libsdl2-dev libsdl2-image-dev libsdl2-mixer-dev libsdl2-ttf-dev libboost-program-options-dev libutfcpp-dev zip gettext RUN mkdir -p /staging/blockattack-game COPY . /staging/blockattack-game ENV BLOCKATTACK_VERSION 2.5.0 RUN cd /staging/blockattack-game && \ ./packdata.sh && \ cmake . && \ make blockattack-game-2.5.0/source/misc/docker/Dockerfile.Ubuntu14.04build_Standalone000066400000000000000000000010301347224572500274500ustar00rootroot00000000000000FROM ubuntu:14.04 RUN apt-get update && apt-get install -y build-essential libboost-dev cmake pkg-config libboost-program-options-dev libfreetype6-dev libvorbis-dev libgl1-mesa-dev libpulse-dev libutfcpp-dev zip gettext COPY source/misc/standalone/compile_requirements.sh / RUN /compile_requirements.sh COPY . /staging/blockattack-game ENV BLOCKATTACK_VERSION 2.5.0 RUN cd /staging/blockattack-game && \ ./packdata.sh && \ cmake -D Boost_USE_STATIC_LIBS=ON -D INSTALL_DATA_DIR=. -D CMAKE_INSTALL_PREFIX=. -D STANDALONE=1 . && make blockattack-game-2.5.0/source/misc/docker/Dockerfile.Ubuntu14.04build_Standalone32000066400000000000000000000010421347224572500276200ustar00rootroot00000000000000FROM ioft/i386-ubuntu:14.04 RUN apt-get update && apt-get install -y build-essential libboost-dev cmake pkg-config libboost-program-options-dev libfreetype6-dev libvorbis-dev libgl1-mesa-dev libpulse-dev libutfcpp-dev zip gettext COPY source/misc/standalone/compile_requirements.sh / RUN /compile_requirements.sh COPY . /staging/blockattack-game ENV BLOCKATTACK_VERSION 2.5.0 RUN cd /staging/blockattack-game && \ ./packdata.sh && \ cmake -D Boost_USE_STATIC_LIBS=ON -D INSTALL_DATA_DIR=. -D CMAKE_INSTALL_PREFIX=. -D STANDALONE=1 . && make blockattack-game-2.5.0/source/misc/docker/Dockerfile.Ubuntu16.04build000066400000000000000000000006321347224572500253110ustar00rootroot00000000000000FROM ubuntu:16.04 RUN apt-get update && apt-get install -yy build-essential libphysfs-dev libboost-dev cmake libsdl2-dev libsdl2-image-dev libsdl2-mixer-dev libsdl2-ttf-dev libboost-program-options-dev libutfcpp-dev zip gettext RUN mkdir -p /staging/blockattack-game COPY . /staging/blockattack-game ENV BLOCKATTACK_VERSION 2.5.0 RUN cd /staging/blockattack-game && \ ./packdata.sh && \ cmake . && \ make blockattack-game-2.5.0/source/misc/docker/Dockerfile.WindoesBuild000066400000000000000000000024541347224572500250120ustar00rootroot00000000000000FROM sago007/docker_blockattack RUN mkdir -p /staging/blockattack-game RUN mkdir -p /staging/package/ RUN mkdir -p /output COPY . /staging/blockattack-game ENV BLOCKATTACK_VERSION 2.5.0 RUN cd /staging/blockattack-game && \ ./packdata.sh && \ cp source/misc/travis_help/utf8_v2_3_4/source/utf8.h source/code/Libs/include/ && \ cp -r source/misc/travis_help/utf8_v2_3_4/source/utf8 source/code/Libs/include/ && \ i686-w64-mingw32.static-cmake . && \ make && \ cd windows\ installer/ && \ makensis install_script.nsi && \ mv Setup.exe /output/blockattack-installer-${BLOCKATTACK_VERSION}.exe && \ mkdir /staging/package/blockattack-${BLOCKATTACK_VERSION} && \ cd /staging/package/blockattack-${BLOCKATTACK_VERSION} && \ cp /staging/blockattack-game/Game/blockattack.data ./ && \ cp /staging/blockattack-game/Game/blockattack.exe ./ && \ cp /staging/blockattack-game/COPYING ./COPYING.txt && \ cp -r /staging/blockattack-game/source/misc/translation/locale ./ && \ echo "[InternetShortcut]" > "Block Attack - Rise Of the Blocks.url" && \ echo "URL=http://www.blockattack.net" >> "Block Attack - Rise Of the Blocks.url" && \ cd /staging/package/ && \ zip -r /output/blockattack-${BLOCKATTACK_VERSION}-windows-no-installer.zip "blockattack-${BLOCKATTACK_VERSION}" && \ cd /output && chown nobody * && chmod 666 * && ls -lh blockattack-game-2.5.0/source/misc/icons/000077500000000000000000000000001347224572500202705ustar00rootroot00000000000000blockattack-game-2.5.0/source/misc/icons/blockattack.ico000066400000000000000000000764461347224572500232670ustar00rootroot00000000000000@@ (BF00 %nB  h hx(@ @FFFeGeFeZFeFeFeFeFeFeFeFeFeFeFeFeFeFeFeFeFeFeFeFeFeFeFeFeFeFeFeFeFeFeFeFeFeFeFeFeFeFeFeFeFeFeFeFeFeFeFeFeFeFeFeFeFeFeFeFeFeFeFeZFeFeFeFeyFeFeFeEdDcDcDcDcDcDcDcDcDcDcDcDcDcDcDcDcDcDcDcDcDcDcDcDcDcDcDcDcDcDcDcDcDcDcDcDcDcDcDcDcDcDcDcDcDcDcDcDcDcDcDcDcEdFeFeFeFeyFeFe[FeFeFeEdUvqqTuEdFeFeFeFeZFeFeFeGgwwGgFeFeFeFeFeEdvvEdFeFeFeEdUvTuEdFeFeDcqqDcFeFeDcDcFeFeDcDcFeFeDcDcFeFeDcDcFeFeDcDcFeFeDcDcFeFeDcDcFeFeDcDcFeFeDcDcFeFeDcDcFeFeDcDcFeFeDcDcFeFeDcDcFeFeDcDcFeFeDcDcFeFeDcDcFeFeDcDcFeFeDcDcFeFeDcDcFeFeDcDcFeFeDcDcFeFeDcDcFeFeDcDcFeFeDcDcFeFeDcDcFeFeDcDcFeFeDcDcFeFeDcDcFeFeDcDcFeFeDcDcFeFeDcDcFeFeDcDcFeFeDcDcFeFeDcDcFeFeDcDcFeFeDcDcFeFeDcDcFeFeDcDcFeFeDcDcFeFeDcDcFeFeDcDcFeFeDcDcFeFeDcDcFeFeDcDcFeFeDcDcFeFeDcDcFeFeDcDcFeFeDcDcFeFeDcDcFeFeDcDcFeFeDcqqDcFeFeEdUvUvEdFeFeFeEdwwEdFeFeFeFeFeHgwwHgFeFeFeFe[FeFeFeEdUvqqUvEdFeFeFeFe[FdFeyFeFeFeEdDcDcDcDcDcDcDcDcDcDcDcDcDcDcDcDcDcDcDcDcDcDcDcDcDcDcDcDcDcDcDcDcDcDcDcDcDcDcDcDcDcDcDcDcDcDcDcDcDcDcDcDcEdFeFeFeFezFeFeFeFe[FeFeFeFeFeFeFeFeFeFeFeFeFeFeFeFeFeFeFeFeFeFeFeFeFeFeFeFeFeFeFeFeFeFeFeFeFeFeFeFeFeFeFeFeFeFeFeFeFeFeFeFeFeFeFeFeFeFeFe[FeFe(0` $FFGeFeMFeFeEdEcDcDcDcDcDcDcDcDcDcDcDcDcDcDcDcDcDcDcDcDcDcDcDcDcDcDcDcDcDcDcDcDcDcDcDcDcEcEdFeFeFeLFfFeMFeFeEdNoZ|\\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\Z|NnEdFeFeFeLFeFeHgwvHgFeFeFeEdwvEdFeEdNoNoEdDc[|[|DcDc]]DcDc]]DcDc]]DcDc]]DcDc]]DcDc]]DcDc]]DcDc]]DcDc]]DcDc]]DcDc]]DcDc]]DcDc]]DcDc]]DcDc]]DcDc]]DcDc]]DcDc]]DcDc]]DcDc]]DcDc]]DcDc]]DcDc]]DcDc]]DcDc]]DcDc]]DcDc]]DcDc]]DcDc]]DcDc]]DcDc]]DcDc]]DcDc]]DcDc]]DcDc]]DcDc]]DcDc[|[|DcEdNoNoEdFeEdwwEdFeFeFeHgwwHgFeFeFeMFeFeEdNo[|\\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\[|NoEdFeFeFeMGdFeMFeFeEdEcDcDcDcDcDcDcDcDcDcDcDcDcDcDcDcDcDcDcDcDcDcDcDcDcDcDcDcDcDcDcDcDcDcDcDcDcEcEdFeFeFeMFe( @ FFFe:FeDcGfHhHhHhHhHhHhHhHhHhHhHhHhHhHhHhHhHhHhHhHhHhHhHhHhGfDcFeFe:FeIhttIhFeDcttDcGfGfHhHhHhHhHhHhHhHhHhHhHhHhHhHhHhHhHhHhHhHhHhHhHhHhHhHhHhHhHhHhHhHhHhHhHhHhHhHhHhHhHhHhHhHhHhHhHhHhGfGfDcttDcFeIhttIhFeFe:FeDcGfHhHhHhHhHhHhHhHhHhHhHhHhHhHhHhHhHhHhHhHhHhHhHhHhGfDcFeFe:(  FFLlppLlppppLlppLlblockattack-game-2.5.0/source/misc/icons/blockattack128.xpm000066400000000000000000001043241347224572500235370ustar00rootroot00000000000000/* XPM */ static char *blockattack128[] = { /* columns rows colors chars-per-pixel */ "128 128 102 2 ", " c #654500", ". c #644600", "X c #654600", "o c #654700", "O c #664600", "+ c #664700", "@ c #735200", "# c #745300", "$ c #755400", "% c #765500", "& c #775500", "* c #775600", "= c #876400", "- c #886500", "; c #896500", ": c #896600", "> c #8C6700", ", c #8B6800", "< c #A57E00", "1 c #A67F00", "2 c #A78000", "3 c #A88100", "4 c #C19600", "5 c #C19700", "6 c #C29800", "7 c #C39800", "8 c #C49900", "9 c #CDA200", "0 c #CEA200", "q c #CFA300", "w c #DEB100", "e c #DFB100", "r c #E0B100", "t c #E0B200", "y c #EABB00", "u c #EBBB00", "i c #ECBC00", "p c #ECBD00", "a c #F1C100", "s c #F2C100", "d c #F2C200", "f c #F3C200", "g c #FAC900", "h c #FBC900", "j c #FDCB00", "k c #FDCC00", "l c #FFCD00", "z c #FFCE00", "x c #FFCF00", "c c #FFD000", "v c #FED100", "b c #FFD100", "n c #FED200", "m c #FED300", "M c #FED400", "N c #FED500", "B c #FED600", "V c #FED700", "C c #FDD900", "Z c #FDDA00", "A c #FDDB00", "S c #FDDC00", "D c #FDDD00", "F c #FDDE00", "G c #FCDF00", "H c #FDDF00", "J c #FCE000", "K c #FCE100", "L c #FCE200", "P c #FCE300", "I c #FBE600", "U c #FBE700", "Y c #FCE400", "T c #FCE500", "R c #FCE600", "E c #FBE800", "W c #FBEA00", "Q c #FBEB00", "! c #FBEC00", "~ c #FAED00", "^ c #FBED00", "/ c #FAEE00", "( c #FAEF00", ") c #FAF000", "_ c #FAF100", "` c #FAF200", "' c #FAF300", "] c #F9F400", "[ c #F9F500", "{ c #FAF400", "} c #F9F600", "| c #F9F700", " . c #F9F800", ".. c #F9F900", "X. c #F9FA00", "o. c #F8FB00", "O. c #F9FB00", "+. c #F8FC00", "@. c #F8FD00", "#. c #F8FE00", "$. c #F8FF00", "%. c None", /* pixels */ "%.%.%.%.%.%.%.X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X %.%.%.%.%.%.%.", "%.%.%.%.%.X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X %.%.%.%.%.", "%.%.%.%.X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X %.%.%.%.", "%.%.%.X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X %.%.%.", "%.%.X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X %.%.", "%.X X X X X X X X X X % 2 q e y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y e q 2 % X X X X X X X X X X %.", "%.X X X X X X X X # 5 l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l 6 % X X X X X X X X %.", "X X X X X X X X : a l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l a > X X X X X X X X ", "X X X X X X X : g l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l g : X X X X X X X ", "X X X X X X % a l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l a # X X X X X X ", "X X X X X X 8 l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l 5 X X X X X X ", "X X X X X % l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l % X X X X X ", "X X X X X 3 l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l 1 X X X X X ", "X X X X X q l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l q X X X X X ", "X X X X X r l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l e X X X X X ", "X X X X X i l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l y X X X X X ", "X X X X X p l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l p X X X X X ", "X X X X X p l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l p X X X X X ", "X X X X X p l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l p X X X X X ", "X X X X X p l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l p X X X X X ", "X X X X X p l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l p X X X X X ", "X X X X X p l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l p X X X X X ", "X X X X X p l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l p X X X X X ", "X X X X X p l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l p X X X X X ", "X X X X X p l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l p X X X X X ", "X X X X X p l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l N N l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l p X X X X X ", "X X X X X p l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l Z #.#.Z l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l p X X X X X ", "X X X X X p l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l N #.#.#.#.N l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l p X X X X X ", "X X X X X p l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l } #.#.#.#.} l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l p X X X X X ", "X X X X X p l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l E #.#.#.#.#.#.E l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l p X X X X X ", "X X X X X p l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l Z #.#.#.#.#.#.#.#.Z l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l p X X X X X ", "X X X X X p l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l } #.#.#.#.#.#.#.#.} l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l p X X X X X ", "X X X X X p l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l R #.#.#.#.#.$.$.$.$.$.P l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l p X X X X X ", "X X X X X p l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l m #.#.#.#.#.#.$.$.$.$.$.$.m l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l p X X X X X ", "X X X X X p l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l ' #.#.#.#.#.#.$.$.$.$.$.$./ l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l p X X X X X ", "X X X X X p l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l Z #.#.#.#.#.#.#.$.$.$.$.$.$.$.Z l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l p X X X X X ", "X X X X X p l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l } #.#.#.#.#.#.#.$.$.$.$.$.$.$.} l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l p X X X X X ", "X X X X X p l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l P #.#.#.#.#.#.#.#.$.$.$.$.$.$.$.$.I l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l p X X X X X ", "X X X X X p l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l m #.#.#.#.#.#.#.#.#.$.$.$.$.$.$.$.$.O.m l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l p X X X X X ", "X X X X X p l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l / #.#.#.#.#.#.#.#.#.$.$.$.$.$.$.$.$.$./ l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l p X X X X X ", "X X X X X p l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l Z #.#.#.#.#.#.#.#.#.#.$.$.$.$.$.$.$.$.$.$.Z l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l p X X X X X ", "X X X X X p l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l } #.#.#.#.#.#.#.#.#.#.$.$.$.$.$.$.$.$.$.$.} l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l p X X X X X ", "X X X X X p l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l R #.#.#.#.#.#.#.#.#.#.#.$.$.$.$.$.$.$.$.$.$.$.P l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l p X X X X X ", "X X X X X p l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l N #.#.#.#.#.#.#.#.#.#.#.#.$.$.$.$.$.$.$.$.$.$.$.$.N l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l p X X X X X ", "X X X X X p l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l } #.#.#.#.#.#.#.#.#.#.#.#.$.$.$.$.$.$.$.$.$.$.$.$.} l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l p X X X X X ", "X X X X X p l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l Z ' #.#.#.#.#.#.#.#.#.#.#.#.#.$.$.$.$.$.$.$.$.$.$.$.$.$.' Z l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l p X X X X X ", "X X X X X p l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l N P / #.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.O./ P N l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l p X X X X X ", "X X X X X p l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l Z P / #.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.O.' I Z m l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l p X X X X X ", "X X X X X p l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l m H E } #.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.#.#.#.#.#.#.#.#.} E P m l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l p X X X X X ", "X X X X X p l l l l l l l l l l l l l l l l l l l l l l l l l l m H / O.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.#.#.#.#.#.#.#.#.#.#.#.#.O.^ H l l l l l l l l l l l l l l l l l l l l l l l l l l l p X X X X X ", "X X X X X p l l l l l l l l l l l l l l l l l l l l l l l m P } #.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.' P m l l l l l l l l l l l l l l l l l l l l l l l p X X X X X ", "X X X X X p l l l l l l l l l l l l l l l l l l l l l m / #.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.$.$.#./ m l l l l l l l l l l l l l l l l l l l l l p X X X X X ", "X X X X X p l l l l l l l l l l l l l l l l l l l l l R #.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.$.$.$.$.R l l l l l l l l l l l l l l l l l l l l l p X X X X X ", "X X X X X p l l l l l l l l l l l l l l l l l l l l l N #.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.$.$.$.$.m l l l l l l l l l l l l l l l l l l l l l p X X X X X ", "X X X X X p l l l l l l l l l l l l l l l l l l l l l l R #.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.$.$.$.P l l l l l l l l l l l l l l l l l l l l l l p X X X X X ", "X X X X X p l l l l l l l l l l l l l l l l l l l l l l l } #.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.$.$.} l l l l l l l l l l l l l l l l l l l l l l l p X X X X X ", "X X X X X p l l l l l l l l l l l l l l l l l l l l l l l m O.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.$.O.m l l l l l l l l l l l l l l l l l l l l l l l p X X X X X ", "X X X X X p l l l l l l l l l l l l l l l l l l l l l l l l Z #.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.$.Z l l l l l l l l l l l l l l l l l l l l l l l l p X X X X X ", "X X X X X p l l l l l l l l l l l l l l l l l l l l l l l l l P #.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.P l l l l l l l l l l l l l l l l l l l l l l l l l p X X X X X ", "X X X X X p l l l l l l l l l l l l l l l l l l l l l l l l l l E #.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.E l l l l l l l l l l l l l l l l l l l l l l l l l l p X X X X X ", "X X X X X p l l l l l l l l l l l l l l l l l l l l l l l l l l m / #.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.#.#.#.#.#.#.#.#.#.#.#.#.$.$./ l l l l l l l l l l l l l l l l l l l l l l l l l l l p X X X X X ", "X X X X X p l l l l l l l l l l l l l l l l l l l l l l l l l l l m } #.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.#.#.#.#.#.#.#.#.#.#.#.#.$.} m l l l l l l l l l l l l l l l l l l l l l l l l l l l p X X X X X ", "X X X X X p l l l l l l l l l l l l l l l l l l l l l l l l l l l l m O.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.#.#.#.#.#.#.#.#.#.#.#.#.O.m l l l l l l l l l l l l l l l l l l l l l l l l l l l l p X X X X X ", "X X X X X p l l l l l l l l l l l l l l l l l l l l l l l l l l l l l m #.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.#.#.#.#.#.#.#.#.#.#.#.#.N l l l l l l l l l l l l l l l l l l l l l l l l l l l l l p X X X X X ", "X X X X X p l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l Z #.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.#.#.#.#.#.#.#.#.#.#.#.H l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l p X X X X X ", "X X X X X p l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l P #.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.#.#.#.#.#.#.#.#.#.#.H l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l p X X X X X ", "X X X X X p l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l I #.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.#.#.#.#.#.#.#.#.#.R l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l p X X X X X ", "X X X X X p l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l / #.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.#.#.#.#.#.#.#.#./ l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l p X X X X X ", "X X X X X p l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l } #.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.#.#.#.#.#.#.#.} l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l p X X X X X ", "X X X X X p l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l m O.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.#.#.#.#.#.#.O.m l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l p X X X X X ", "X X X X X p l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l H #.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.#.#.#.#.#.#.Z l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l p X X X X X ", "X X X X X p l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l O.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.#.#.#.#.#.O.l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l p X X X X X ", "X X X X X p l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l } #.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.#.#.#.#.#.} l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l p X X X X X ", "X X X X X p l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l O.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.#.#.#.#.#.O.l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l p X X X X X ", "X X X X X p l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l #.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.#.#.#.#.#.O.l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l p X X X X X ", "X X X X X p l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l #.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.#.#.#.#.#.#.l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l p X X X X X ", "X X X X X p l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l m #.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.#.#.#.#.#.#.m l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l p X X X X X ", "X X X X X p l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l N #.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.#.#.#.#.#.#.m l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l p X X X X X ", "X X X X X p l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l Z #.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.#.#.#.#.#.#.N l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l p X X X X X ", "X X X X X p l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l H #.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.#.#.#.#.#.#.H l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l p X X X X X ", "X X X X X p l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l P #.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.P l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l p X X X X X ", "X X X X X p l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l I #.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.I l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l p X X X X X ", "X X X X X p l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l / #.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.E l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l p X X X X X ", "X X X X X p l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l / #.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$./ l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l p X X X X X ", "X X X X X p l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l ' #.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.#.#.#.#.$.$.} l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l p X X X X X ", "X X X X X p l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l O.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.#.#.#.#.$.$.} l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l p X X X X X ", "X X X X X p l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l #.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.#.#.#.#.#.#.#.l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l p X X X X X ", "X X X X X p l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l #.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.} P N N P ' $.$.$.$.$.$.$.$.$.$.$.$.$.#.#.#.#.#.#.#.l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l p X X X X X ", "X X X X X p l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l m #.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.$./ N l l l l l l N E $.$.$.$.$.$.$.$.$.$.$.#.#.#.#.#.#.#.m l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l p X X X X X ", "X X X X X p l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l m #.#.#.#.#.#.#.#.#.#.#.#.#.#.#.O.I l l l l l l l l l l l m G } $.$.$.$.$.$.$.$.#.#.#.#.#.#.#.m l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l p X X X X X ", "X X X X X p l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l N #.#.#.#.#.#.#.#.#.#.#.#.#.' H l l l l l l l l l l l l l l l l Z ' $.$.$.$.$.$.#.#.#.#.#.#.#.N l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l p X X X X X ", "X X X X X p l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l N #.#.#.#.#.#.#.#.#.#.O./ N l l l l l l l l l l l l l l l l l l l l N E $.$.$.$.#.#.#.#.#.#.#.N l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l p X X X X X ", "X X X X X p l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l m $.$.$.#.#.#.#.#.} R m l l l l l l l l l l l l l l l l l l l l l l l l m H } $.#.#.#.#.#.#.#.m l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l p X X X X X ", "X X X X X p l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l m $.$.$.#.#.#.^ Z l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l Z / #.#.#.#.#.#.l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l p X X X X X ", "X X X X X p l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l } #.O./ P l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l m H / #.#.O.l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l p X X X X X ", "X X X X X p l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l m N l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l N m l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l p X X X X X ", "X X X X X p l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l p X X X X X ", "X X X X X p l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l p X X X X X ", "X X X X X p l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l p X X X X X ", "X X X X X p l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l p X X X X X ", "X X X X X p l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l p X X X X X ", "X X X X X p l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l p X X X X X ", "X X X X X p l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l p X X X X X ", "X X X X X p l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l p X X X X X ", "X X X X X p l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l p X X X X X ", "X X X X X p l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l p X X X X X ", "X X X X X p l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l p X X X X X ", "X X X X X p l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l p X X X X X ", "X X X X X p l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l p X X X X X ", "X X X X X p l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l p X X X X X ", "X X X X X p l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l p X X X X X ", "X X X X X p l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l p X X X X X ", "X X X X X i l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l y o X X ", "X X X X X r l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l e . X X ", "X X X X X q l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l q X X X X ", "X X X X X 1 l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l 1 X X X X ", "X X X X X & l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l % X X X X X ", "X X X X X X 7 l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l 5 X X X X X X ", "X X X X X X # a l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l a @ X X X X X o ", "X X X X X X X = g l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l g = X X X X X X ", "X X X X X X X X = a l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l f , X X X X X X ", "%.X X X X X X X X # 5 l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l 5 # X o . X X X X X %.", "%.X X X X X X X X X X % 1 q w y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y e q 1 % X X X X X X X X X X %.", "%.%.X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X %.%.", "%.%.%.X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X . . o X X X X X X X X X %.%.%.", "%.%.%.%.X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X %.%.%.%.", "%.%.%.%.%.X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X %.%.%.%.%.", "%.%.%.%.%.%.%.X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X o X X %.%.%.%.%.%.%." }; blockattack-game-2.5.0/source/misc/icons/blockattack16.xpm000066400000000000000000000013201347224572500234430ustar00rootroot00000000000000/* XPM */ static char *blockattack16[] = { /* columns rows colors chars-per-pixel */ "16 16 19 1 ", " c #644600", ". c #664600", "X c #886500", "o c #896600", "O c #987300", "+ c #9D7700", "@ c #FFCD00", "# c #FFD000", "$ c #FED400", "% c #FDDB00", "& c #FDDC00", "* c #FCE500", "= c #FBED00", "- c #FAF000", "; c #F9F700", ": c #F9F900", "> c #F9FA00", ", c #F8FE00", "< c #F8FF00", /* pixels */ ".oOOOOOOOOOOOOo.", "o@@@@@@@@@@@@@@o", "+@@@@@@@@@@@@@@+", "+@@@@@@&%@@@@@@+", "+@@@@@#>>#@@@@@+", "+@@@@$=<<=@@@@@+", "+@@&><<<<<<>%@@+", "+@@@;<<<<<<>@@@+", "+@@@#>,,<>>#@@@+", "+@@@@>,,,,>@@@@+", "+@@@@;,,,,>@@@@+", "+@@@@-*#@*-@@@@+", "+@@@@@@@@@@@@@@+", "+@@@@@@@@@@@@@@+", "X@@@@@@@@@@@@@@X", " XOOOOOOOOOOOOX " }; blockattack-game-2.5.0/source/misc/icons/blockattack256.xpm000066400000000000000000004060241347224572500235430ustar00rootroot00000000000000/* XPM */ static char *blockattack256[] = { /* columns rows colors chars-per-pixel */ "256 256 122 2 ", " c #654500", ". c #644600", "X c #654600", "o c #644700", "O c #654700", "+ c #664600", "@ c #664700", "# c #704F00", "$ c #705000", "% c #715100", "& c #725100", "* c #725200", "= c #735200", "- c #745300", "; c #785600", ": c #785700", "> c #795800", ", c #7A5800", "< c #7B5900", "1 c #957000", "2 c #977100", "3 c #A47D00", "4 c #A57E00", "5 c #A67F00", "6 c #A78000", "7 c #A88100", "8 c #A98100", "9 c #A98200", "0 c #AF8700", "q c #B08800", "w c #B18800", "e c #BA9000", "r c #BB9100", "t c #BB9200", "y c #BD9300", "u c #C69B00", "i c #C79C00", "p c #CFA300", "a c #D0A300", "s c #D0A400", "d c #D1A500", "f c #D2A600", "g c #D3A600", "h c #D6A900", "j c #D8AC00", "k c #DAAD00", "l c #DEB000", "z c #DEB100", "x c #E0B100", "c c #E0B200", "v c #E7B900", "b c #E8B800", "n c #E9B900", "m c #EABB00", "M c #EEBE00", "N c #EFBE00", "B c #EFBF00", "V c #F5C400", "C c #F6C500", "Z c #F8C700", "A c #F9C800", "S c #FAC800", "D c #FECC00", "F c #FFCD00", "G c #FFCE00", "H c #FFCF00", "J c #FFD000", "K c #FED100", "L c #FFD100", "P c #FED200", "I c #FED300", "U c #FED400", "Y c #FED500", "T c #FED600", "R c #FED700", "E c #FDD800", "W c #FDD900", "Q c #FED800", "! c #FDDA00", "~ c #FDDB00", "^ c #FDDC00", "/ c #FDDD00", "( c #FDDE00", ") c #FCDF00", "_ c #FDDF00", "` c #FCE000", "' c #FCE100", "] c #FCE200", "[ c #FCE300", "{ c #FBE600", "} c #FBE700", "| c #FCE400", " . c #FCE500", ".. c #FCE600", "X. c #FBE800", "o. c #FBE900", "O. c #FBEA00", "+. c #FBEB00", "@. c #FBEC00", "#. c #FAED00", "$. c #FBED00", "%. c #FAEE00", "&. c #FAEF00", "*. c #FAF000", "=. c #FAF100", "-. c #FAF200", ";. c #FAF300", ":. c #F9F400", ">. c #F9F500", ",. c #FAF400", "<. c #F9F600", "1. c #F9F700", "2. c #F9F800", "3. c #F9F900", "4. c #F9FA00", "5. c #F8FB00", "6. c #F9FB00", "7. c #F8FC00", "8. c #F8FD00", "9. c #F8FE00", "0. c #F8FF00", "q. c None", /* pixels */ "q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.X O X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X O O q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.", "q.q.q.q.q.q.q.q.q.q.q.q.q.X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X O q.q.q.q.q.q.q.q.q.q.q.q.q.", "q.q.q.q.q.q.q.q.q.q.q.X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X q.q.q.q.q.q.q.q.q.q.q.", "q.q.q.q.q.q.q.q.q.X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X q.q.q.q.q.q.q.q.q.", "q.q.q.q.q.q.q.q.X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X q.q.q.q.q.q.q.q.", "q.q.q.q.q.q.q.X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X q.q.q.q.q.q.", "q.q.q.q.q.q.X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X q.q.q.q.q.q.", "q.q.q.q.q.X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X q.q.q.q.q.", "q.q.q.q.X X X X X X X X X X X X X X X X X X X X X X X O X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X O X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X O X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X O X X X X X X X X X X X X X X X X X X X X X X X q.q.q.q.", "q.q.q.X X X X X X X X X X X X X X X X X X X X X X X X O X X X X X X X X X X X X X X X X X O X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X O X X X X X O X X X X X X X O X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X O X X X X X X X O X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X O X X X X X O X X X X X X X O X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X O O X X X X X X X X X X X X X X X X X X X X X X X q.q.q.", "q.q.q.X X X X X X X X X X X X X X X X X X X X @ X $ 2 w i s h h h h h h j h h h h j h h h h h h h h h h h h j h h h h h h j h h j h h j h h h h h h h h h h h h h j h h h h h h h j h h h h h h h h h h h h j h h h h h h j h h j h h j h h h h h h h h h h h h h j h h h h h h h j h h h h h h h h h h h h j h h h h h h j h h j h h j h h h h h h h h h h h h h j h h h h h h h j h h h h h h h h h h h h j h h h h h h j h h j h h j h h h h h h h h h h h h h h s i w 2 $ X X O X X X X X X X X X X X X X X X X X X X q.q.q.", "q.q.X X X X X X X X X X X X X X X X X X X X $ 7 c D D D J D J D D D D D D D D J D D D D D J D D D D J D D D D D D D D J D D D D D D D D D D D J D D J D D D D D D D D D D J D D D D D D D J D D D D J D D D D D D D D J D D D D D D D D D D D J D D J D D D J D D D D D D J D D D D D D D J D D D D J D D D D D D D D J D D D D D D D D D D D J D D J D D D D D D D D D D J D D D D D D D J D D D D J D D D D D D D D J D D D D D D D D D D D J D D J D D D J D D J D D D D D c 7 $ X X X X X X X X X X X X X X X X X X X X q.q.", "q.q.X X X X X X X X X X X X X X X X X X - y S D D D D D D D D D J D D D J D D D D D J D D D J D D D D J J D D D J D J D D D D D D D D D D J D J D D D J D J D J D D J D D D J D D D J D D D J D D D D J J D D D J D J D D D D D D D D D D J D J D D D J D D D D D D J D D D J D D D J D D D J D D D D J J D D D J D J D D D D D D D D D D J D J D D D J D J D J D D J D D D J D D D J D D D J D D D D J J D D D J D J D D D D D D D D D D J D J D D D J D D D D D D J D D D J D D S y - O X X X X X X X X X X X X X X X X X q.q.", "q.X X X X X X X X X X X X X X X O O O 7 C D J D D J D J J D J D D D D J D D D J D J D D D J D D J D D D D D D J D D D D D J D J J D J D D D D D J D D D D D D D D J D D D J D D D J D D D J D D J D D D D D D J D D D D D J D J J D J D D D D D J D D D J D J D D J D D D J D D D J D D D J D D J D D D D D D J D D D D D J D J J D J D D D D D J D D D D D D D D J D D D J D D D J D D D J D D J D D D D D D J D D D D D J D J J D J D D D D D J D D D J D J D D J D D D J D D D D D Z 6 O O O X X X X X X X X X X X X X X X q.", "q.X X X X X X X X X X X X X X X O $ h D D D J D J D D D D D D J J D J D J D J D D D D D D D D D D J D J J D J D D D J D J D D D D D D J D J D D D J D J D J D D D D D D D D D D D D D D D D D D D J D J J D J D D D J D J D D D D D D J D J D D D J D J D D D J D D D D D D D D D D D D D D D D D J D J J D J D D D J D J D D D D D D J D J D D D J D J D J D D D D D D D D D D D D D D D D D D D J D J J D J D D D J D J D D D D D D J D J D D D J D J D D D J D D D D D D D D J D J D D g $ O X X X X X X X X X X X X X X X q.", "q.X X X X X X X X X X X X X X X - m D D D J D D D D D J J D D D D D D D D D D D D J D J D J D J D D D D D D D D D J D D D D D J J D D D D D J D D D D D D D J D D J D J D J D J D J D J D J D J D D D D D D D D D J D D D D D J J D D D D D J D D D D D J D D D D J D J D J D J D J D J D J D J D D D D D D D D D J D D D D D J J D D D D D J D D D D D D D J D D J D J D J D J D J D J D J D J D D D D D D D D D J D D D D D J J D D D D D J D D D D D J D D D D J D J D J D J D D D D D D m , X X X X X X X X X X X X X X X q.", "O X X X X X X X X X X X X X O , V D D D D D D J D D D D D J D D D J D J D J D J D J D J D J D J D D D J D D D D D J D D D D D J D J D J D D D J D J D D D J D J D D D D D D D D D D D D D D D D D J D D D D D J D D D D D J D D D J D D D D D J D D D D D J D D D J D J D J D J D J D J D J D J D D D J D D D D D J D D D D D J D J D J D D D J D J D D D J D J D D D D D D D D D D D D D D D D D J D D D D D J D D D D D J D D D J D D D D D J D D D D D J D D D J D J D J D J D J D J D D D V , X X X X X X X X X X X X X X X ", "X X X X X X X X X X X X X X $ m D D J D J D D D J D J D D D J D D D D D D D D D D D D D D D D D J D D D J D J D D D J D J D D D D D D D J D D D D D J D D D D D J D J D J D J D J D J D J D J D D D J D J D D D J D J D D D J D D D J D J D D D J D J D D D J D D D D D D D D D D D D D D D D D J D D D J D J D D D J D J D D D D D D D J D D D D D J D D D D D J D J D J D J D J D J D J D J D D D J D J D D D J D J D D D J D D D J D J D D D J D J D D D J D D D D D D D D D D D D D D D D D v $ X X X X X X X X X X X X X X ", "X X X X X X X X X X X X X O s D D D D D D J D J D D D J D D D D D J D D D J D D D J D D D J D D D J D J D D D J D D D D D J D J D J D D D J D J D D D D D J D D D D D J D D D J D D D J D D D J D D D D D J D J D D D J D D D D D D D D D J D J D D D J D D D D D J D D D J D D D J D D D J D D D J D J D D D J D D D D D J D J D J D D D J D J D D D D D J D D D D D J D D D J D D D J D D D J D D D D D J D J D D D J D D D D D D D D D J D J D D D J D D D D D J D D D J D D D J D D D J J D D s X X X X X X X X X X X X X X ", "X X X X X X X X X X X X X 6 D D D D J D D D D D J D D D J D J D D D J D D D J D D D J D D D J D D D D D J D D D J D J D D D D D D D J D D D D D J D J D D D J D J D D D J D D D J D D D J D D D J D J D D D D D J D D D J D J D J D J D D D D D J D D D J D J D D D J D D D J D D D J D D D J D D D D D J D D D J D J D D D D D D D J D D D D D J D J D D D J D J D D D J D D D J D D D J D D D J D J D D D D D J D D D J D J D J D J D D D D D J D D D J D J D D D J D D D J D D D J D D D D D D D 4 X X X X X X X X X X X X X ", "X X X X X X X X X X X X - C D D D J D J D D D J D D D D D J D J D D D J D D D D D D D J D D D D D J D D D J D D D J D J D D D J D J D J D D D D D D D J D D D J D J D D D J D J D J D D D J D J D J D J D D D J D D D D D J D J D J D J D D D J D D D D D J D J D D D J D D D D D D D J D D D D D J D D D J D D D J D J D D D J D J D J D D D D D D D J D D D J D J D D D J D J D J D D D J D J D J D J D D D J D D D D D J D J D J D J D D D J D D D D D J D J D D D J D D D D D D D J J D D D J D C - X X X X X X X X X X X X ", "X X X X X X X X X X X X y J D J D D D D J D D D J D J D D D D D J D D D J D J D J D D D J D J D D D J D D D J D D D D D J D D D D D D D J D J D J D D D J D D D D D J D D D D D D D J D D D D D D D D D J D D D J D J D D D D D D D D D J D D D J D J D D D D D J D D D J D J D J D D D J D J D D D J D D D J D D D D D J D D D D D D D J D J D J D D D J D D D D D J D D D D D D D J D D D D D D D D D J D D D J D J D D D D D D D D D J D D D J D J D D D D D J D D D J D J D J D D D D D D J D D D t X X X X X X X X X X X X ", "X X X X X X X X X X O - S D D D D J D D D J D J D D D J D J D D D J D J D D D J D J D J D D D J D D D D D D D D D J D D D J D J D J D D D D D J D J D J D J D J D D D D D J D D D D D D D J D D D J D D D J D J D D D J D J D D D J D D D J D J D D D J D J D D D J D J D D D J D J D J D D D J D D D D D D D D D J D D D J D J D J D D D D D J D J D J D J D J D D D D D J D D D D D D D J D D D J D D D J D J D D D J D J D D D J D D D J D J D D D J D J D D D J D J D D D J D J D J J D J D J D J S $ X X X X X X X X X X X ", "X X X X X X X X X X X 9 D D D J D D J D D D D D J D D D D D J D D D D D J D D D D D D D J D D D J D J D J D J D D D J D D D D D D D J D J D D D D D D D D D D D J D J D D D J D J D J D D D J D D D J D D D D D J D D D D D J D D D J D D D D D J D D D D D J D D D D D J D D D D D D D J D D D J D J D J D J D D D J D D D D D D D J D J D D D D D D D D D D D J D J D D D J D J D J D D D J D D D J D D D D D J D D D D D J D D D J D D D D D J D D D D D J D D D D D J D D D D D D D D D D D D D D D 6 O X X X X X X X X X X ", "X X X X X X X X X X X c D D J D D D D J D D D D D D D J D D D D D J D D D D D J D D D D D J D D D J D J D J D J D J D D D D D J D J D J D D D J D D D D D D D D D D D J D J D D D J D J D D D J D D D J D D D D D D D J D D D D D D D J D D D D D D D J D D D D D J D D D D D J D D D D D J D D D J D J D J D J D J D D D D D J D J D J D D D J D D D D D D D D D D D J D J D D D J D J D D D J D D D J D D D D D D D J D D D D D D D J D D D D D D D J D D D D D J D D D D D J J D D D D D J D J D J D z O X X X X X X X X X X ", "X X X X X X X X X X $ D D J D D J D D D J D J D J D D D J D J D D D J D J D D D J D J D D D J D D D D D D D D D D D J D J D D D D D D D J D D D J D J D J D J D J D D D D D J D D D D D J D D D J D D D J D J D J D D D J D J D J D D D J D J D J D D D J D J D D D J D J D D D J D J D D D J D D D D D D D D D D D J D J D D D D D D D J D D D J D J D J D J D J D D D D D J D D D D D J D D D J D D D J D J D J D D D J D J D J D D D J D J D J D D D J D J D D D J D J D D D D D D J D J D D D D D D D $ X X X X X X X X X X ", "X X X X X X X X X X 2 D D D D D D J D J D D D J D J D J D D D J D D D D D J D J D D D J D D D D D J D D D J D D D D D D D J D J D J D D D J D J D D D J D D D J D J D J D D D D D J D D D J D J D J D J D D D J D J D J D D D J D J D J D D D J D J D J D D D J D D D D D J D J D D D J D D D D D J D D D J D D D D D D D J D J D J D D D J D J D D D J D D D J D J D J D D D D D J D D D J D J D J D J D D D J D J D J D D D J D J D J D D D J D J D J D D D J D D D D D J D J J D J D D D D D D D J D D 2 X X X X X X X X X X ", "X X X X X X X X X O w D D J D J D D D D J D D D D D D D J D D D J D J D D D D D J D D D J D J D D D J D D D J D J D J D D D D D D D J D D D D D J D D D J D D D D D D D J D J D D D J D D D D D D D D D J D D D D D D D J D D D D D D D J D D D D D D D J D D D J D J D D D D D J D D D J D J D D D J D D D J D J D J D D D D D D D J D D D D D J D D D J D D D D D D D J D J D D D J D D D D D D D D D J D D D D D D D J D D D D D D D J D D D D D D D J D D D J D J D D D D D D D D D D J D J D J D D D 0 X X X X X X X X X X ", "X X X X X X X X X X i D J D D D D J D D D J D D D J D D D J D D D J D J D D D J D D D D D J D J D D D J D D D D D J D J D D D J D J D J D D D D D J D D D J D J D D D D D J D D D J D J D D D D D J D D D J D D D J D D D J D D D J D D D J D D D J D D D J D D D J D J D D D J D D D D D J D J D D D J D D D D D J D J D D D J D J D J D D D D D J D D D J D J D D D D D J D D D J D J D D D D D J D D D J D D D J D D D J D D D J D D D J D D D J D D D J D D D J D J D D D J J D D D J D J D D D D D D i O X X X X X X X X X ", "X X X X X X X X X X g D D D D J D D J D D D J D D D J D D D J D D D D D J D D D J D J D D D D D J D D D J D J D D D D D J D D D D D D D J D J D D D J D D D D D J D J D D D J D D D D D J D J D D D J D D D J D D D J D D D J D D D J D D D J D D D J D D D J D D D D D J D D D J D J D D D D D J D D D J D J D D D D D J D D D D D D D J D J D D D J D D D D D J D J D D D J D D D D D J D J D D D J D D D J D D D J D D D J D D D J D D D J D D D J D D D J D D D D D J D D D D D D J D D D D D J D J D s O X X X X X X X X X ", "X X X X X X X X X X k D J D J D D D D D D D D D D D D D D D D D D J D D D J D J D D D J D J D D D J D J D D D J D J D D D J D J D J D D D D D J D D D D D J D D D D D J D D D D D J D D D D D J D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D J D D D J D J D D D J D J D D D J D J D D D J D J D D D J D J D J D D D D D J D D D D D J D D D D D J D D D D D J D D D D D J D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D J D D D J D J J D J D D D J D J D D D D k X X X X X X X X X X ", "X X X X X X X X X X k D D D D D J D J D J D J D J D J D J D J D D D J D D D D D J D D D D D J D D D D D J D D D D D J D D D D D D D J D J D D D J D J D D D J D J D D D J D J D D D J D J D D D J D J D J D J D J D J D J D J D J D J D J D J D J D J D J D J D D D J D D D D D J D D D D D J D D D D D J D D D D D J D D D D D D D J D J D D D J D J D D D J D J D D D J D J D D D J D J D D D J D J D J D J D J D J D J D J D J D J D J D J D J D J D J D J D D D J D D D D D D D D D D J D D D D D J D k X X X X X X X X X X ", "X X X X X X X X X X l D D J D J D J D J D J D J D J D J D J D J D J D D D D D J D D D D D J D D D D D J D D D D D J D D D D D J D J D J D D D J D J D D D J D J D D D J D J D D D J D J D D D J D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D J D D D D D J D D D D D J D J D J D D D J D J D D D J D J D J D D D J D J D D D J D J D D D J D J D D D J D J D D D J D J J D J D J D J D J D J D J D J D J D J D J D J D J D J D J D J D D J D D D D D J D D D D D J D D D D D J D l X X X X X X X X X X ", "X X X X X X X X X o k D D D D D D D D D D D D D D D D D D D D D D D J D J D D D J D J D D D J D J D D D J D J D D D J D J D D D D D D D J D D D D D J D D D D D J D D D D D J D D D D D J D D D J D J D J D J D J D J D J D J D J D J D J D J D J D J D J D J D J D D D J D J D D D J D J D D D D D D D J D D D D D J D D D D D D D J D D D D D J D D D D D J D D D D D J D D D D D J D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D J D J D D D J D J D D D J D J D D D D k X X X X X X X X X X ", "X X X X X X X X X X k D D J D D D J D D D J D D D J D D D J D D D D D D D J D J D D D J D D D D D J D J D D D J D D D D D J D J D J D D D J D J D D D D D J D D D J D J D D D D D J D D D J D J D D D J D D D J D D D J D D D J D D D J D D D J D D D J D D D J D J D J D D D J D D D D D J D J D J D D D J D J D D D D D J D D D D D D D J D D D J D J D D D D D J D D D J D J D D D D D J D D D D J D D D J D D D J D D D J D D D J D D D J D D D J D D D J D D D D D D J D J D D D J D D D D D J D J D k X X X X X X X X X X ", "X X X X X X X X X X l D D D J D D D J D D D J D D D J D D D J D J D J D D D D D J D D D J D J D D D D D J D D D J D J D D D D D D D J D D D D D J D J D D D J D D D D D J D J D D D J D D D D D J D D D J D D D J D D D J D D D J D D D J D D D J D D D J D D D D D D D J D D D J D J D D D D D D D J D D D D D J D J D D D J D J D J D D D J D D D D D J D J D D D J D D D D D J D J D D D J D D J D D D J D D D J D D D J D D D J D D D J D D D J D D D J D D J D J D D D D D J D D D J D J D D D D D D k X X X X X X X X X X ", "X X X X X X X X X X k D D D D D D D D J D D D D D D D J D D D D D J D J D D D J D D D D D J D J D J D D D J D D D J D J D D D J D J D J D D D D D D D J D D D J D D D D D J D D D J D J D D D D D J D D D J D J D J D D D J D J D J D D D J D J D J D D D J D J D J D D D J D D D J D J D D D J D J D J D D D D D D D J D D D J D D D J D D D J D D D D D J D D D J D J D D D D D D D J D D D J D D D D J D D D D D D D J D D D D D D D J D D D D D D D J D D D D J D J D D D J D D D D D J D J D J D D D l X X X X X X X X X X ", "X X X X X X X X X X k D J D J D J D D D J D J D J D D D J D J D D D D D J D D D J D J D D D D D D D J D D D J D D D D D J D D D D D D D J D J D J D D D J D D D J D J D D D J D D D D D J D J D D D J D D D D D D D J D D D D D D D J D D D D D D D J D D D D D D D J D D D J D D D D D J D D D D D D D J D J D J D D D J D D D J D D D J D D D J D J D D D J D D D D D J D J D J D D D J D D D D J D J D D D J D J D J D D D J D J D J D D D J D J D J D D D J D D D D J D D D J D J D D D D D D D J D D k X X X X X X X X X X ", "X X X X X X X X X X k D D D D J D J D J D D D J D J D J D D D J D J D D D J D J D D D J D J D D D D D D D D D D D J D D D J D J D J D D D D D J D J D J D J D J D D D J D D D D D J D D D D D J D D D D D J D D D D D D D J D D D D D D D J D D D D D D D J D D D D D D D D D D D J D D D J D J D J D D D D D J D J D J D J D J D J D J D J D J D D D J D D D D D J D D D D D J D J D J D J D J J D D D J D J D J D D D J D J D J D D D J D J D J D D D J D J D D J D D D J D J D D D J D J D D D D D D D k o X X X X X X X X X ", "X X X X X X X X X X l D J D D D D D D D J D D D D D D D J D D D D D J D D D D D J D D D D D J D J D J D J D J D D D J D D D D D D D J D J D D D D D D D D D D D J D D D J D J D D D J D J D D D J D J D D D J D J D J D D D J D J D J D D D J D J D J D D D J D J D J D J D J D D D J D D D D D D D J D J D D D D D D D D D D D D D D D D D D D J D D D J D J D D D J D J D D D D D D D D D D D D D D J D D D D D D D J D D D D D D D J D D D D D D D J D D D D D D J D D D D D J D D D D D J D J D J D D l X X X X X X X X X X ", "X X X X X X X X X X k D D J D D D J D D D D D J D D D D D J D D D D D J D D D D D D D J D D D D D J D J D J D J D J D D D D D J D J D J D D D J D D D D D D D D D J D D D J D J D J D D D J D J D D D J D J D D D J D J D D D J D D D J D J D D D J D J D D D J D J D J D J D J D J D D D D D J D J D J D D D J D D D D D D D D D D D D D D D D D D D J D J D D D J D J D D D J D D D D D D D D D D J D D D D D J D D D D D J D D D J D D D D D J D D D D D J D D D D J D D D D D D D J D D D D J D J D D k X X X X X X X X X X ", "X X X X X X X X X X k D D D J D D D J D J D D D J D J D D D J D J D D D J D J D J D D D J D J D D D D D D D D D D D J D J D D D D D D D J D D D J D J D J D J D D D J D D D D D D D J D D D D D J D D D D D J D D D D D J D D D J D D D D D J D D D D D J D D D D D D D D D D D D D J D J D D D D D D D J D D D J D J D J D J D J D J D J D J D J D D D D D J D D D D D J D D D J D J D J D J D D J D D D J D J D D D J D J D D D J D D D J D J D D D J D J D D J D D D J D J D J D D D J D J D D D D D D k X X X X X X X X X X ", "X X X X X X X X X X k J D D D D D D D D D J D J D D D J D D D D D J D J D D D J D J D J D D D J D J D D D J D D D D D D D J D J D J D D D J D J D D D J D D D J D D D D D J D D D D D D D J D D D J D J D D D D D J D D D J D J D J D J D D D D D J D D D J D J D J D D D J D D D D D D D J D J D J D D D J D J D D D J D D D J D D D J D D D J D J D J D D D D D J D D D J D J D D D J D D D J D D D D J D D D J D J D D D D D D D D D J D D D J D J D D D D D D J D J D D D J D J D J D D D J D D J D D l X X X X X X X X X X ", "X X X X X X X X X X k D J D J D J D J D D D D D J D D D J D J D D D D D J D D D D D D D J D D D D D J D D D J D J D J D D D D D D D J D D D D D J D D D J D D D J D J D D D J D J D J D D D J D D D D D J D J D D D J D D D D D D D D D J D J D D D J D D D D D D D J D D D J D J D J D D D D D D D J D D D D D J D D D J D D D J D D D J D D D D D D D J D J D D D J D D D D D J D D D J D D D D J D J D D D J D D D D D J D J D J D J D D D J D D D D D J D J D D D D J D D D D D D D J D D D D J D D D k X X X X X X X X X X ", "X X X X X X X X X X k D D J D J D J D J D D D J D D D D D J D J D J D D D J D D D J D D D J D D D D D J D D D D D J D J D D D J D J D J D D D D D J D D D J D J D D D J D D D J D D D J D D D J D D D D D J D D D J D J D D D D D D D D D J D D D J D J D D D D D D D J D D D D D J D J D D D J D J D J D D D D D J D D D J D J D J D D D J D J D D D D D J D D D J D J D D D D D J D D D J D J J D J D D D D D J D D D J D J D J D J D D D D D J D D D J D J D D J D D D J D D D J D D D J D D D D D D J k X X X X X X X X X X ", "X X X X X X X X X X k D D D D D D D D D J D D D J D J D D D D D D D J D D D J D D D J D D D J D J D D D J D J D D D D D J D D D D D D D J D J D D D J D D D D D J D D D J D D D J D D D J D D D J D J D D D J D D D D D J D J D J D J D D D J D D D D D J D J D J D D D J D J D D D D D J D D D D D D D J D J D D D J D D D D D D D J D D D D D J D J D D D J D D D D D J D J D D D J D D D D D D D D D D J D J D D D J D D D D D D D D D J D J D D D J D D D D D D J D D D J D D D J D D D J D D J D J D k X X X X X X X X X X ", "X X X X X X X X X X k J D J D D D J D D D J D J D D D J D J D D D D D D D D D D D D D D D D D D D J D J D D D J D J D D D J D J D J D D D D D J D D D D D J D D D J D J D J D J D J D J D J D J D D D J D D D D D J D D D D D J D D D J D D D D D J D D D D D J D J D J D D D J D J D D D J D J D J D D D D D J D D D D D J D D D D D D D J D D D D D J D D D D D J D D D D D J D D D D D J D D D D J D J D D D J D J D D D J D D D J D J D D D J D J D D D J D D D D D D D D D D D D D D D D D J D D D D k X X X X X X X X X X ", "X X X X X X X X X X k D D D J D D D J D D D D D J D D D D D J D J D J D J D J D J D J D J D J D D D D D J D D D D D J D D D D D D D J D J D D D J D J D D D J D D D D D D D D D D D D D D D D D J D D D J D J D D D J D J D D D J D D D J D J D D D J D J D D D D D D D J D D D D D J D D D D D D D J D J D D D J D J D D D J D J D J D D D J D J D D D J D J D D D J D J D D D J D J D D D J D D J D D D D D J D D D D D J D D D J D D D D D J D D D D D J D D J D J D J D J D J D J D J D J D D D D J D k X X X X X X X X X X ", "X X X X X X X X X X k D D D D D D D D D D J D D D D D J D D D D D J D J D J D J D J D J D J D J D D D J D D D D D J D D D D D J D J D J D D D J D J D D D J D J D D D D D D D D D D D D D D D D D J D D D J D J D D D J D J D D D D J D J D D D J D J D D J D J D J D D J D J D D J D J D D D J D D D J D J D D D J D J D D D J D D D J D J D D D J D J D D D J D D D J D J D D D J D J D D D J D D D D J D D D D D J D D D D D J D D D D D J D D D D D J D D D J D J D J D J D J D J D J D J D D D D D J k X X X X X X X X X X ", "X X X X X X X X X X l D D J D J J D J D D D J D J D D D J D J D D D D D D D D D D D D D D D D D J D D D J D J D D D J D J D D D D D D D J D D D D D J D D D D D J D J D J D J D J D J D J D J D D D J D D D D D J D D D D D J D D J D D D D D J D D D D D D D D D D D J D D D D D D D D J D D D J D D D D D J D D D D D J D D D J D D D D D J D D D D D J D D D J D D D D D J D D D D D J D D D D J D J D D D J D J D D D J D J D D D J D J D D D J D J D D D J D D D D D D D D D D D D D D D D D J D J D k X X X X X X X X X X ", "X X X X X X X X X X k D J D D D D D D J D D D D D J D J D D D J D J D D D J D D D J D D D J D D D J D J D D D J D D D D D J D J D J D D D J D J D D D D D J D D D D D J D D D J D D D J D D D J D D D D D J D D D J D J D D D D D D D D J D J D D D J D D J D D D D J D D D J D D J D D D J D J D J D J D D D D D J D D D J D J D J D J D D D D D J D D D J D J D J D J D D D D D J D D D J D J J D D D J D J D D D D D J D D D J D J D D D D D J D D D J D J D D D J D D D J D D D J D D D J D J D D D D k X X X X X X X X X X ", "X X X X X X X X X X k D D D D J J D D D J D J D D D D D J D D D D D J D D D J D D D J D D D J D D D D D J D D D J D J D D D D D D D J D D D D D J D J D D D J D J D D D J D D D J D D D J D D D J D J D D D J D D D D D J D J D D J D J D D D D D J D D D D J &.=.J D D D J D D D D J D D D D D D D D D J D J D D D J D D D D D D D D D J D J D D D J D D D D D D D D D J D J D D D J D D D D D D D D J D D D D D J D J D D D J D D D D D J D J D D D J D D D D D J D D D J D D D J D D D J D D D D D J D k X X X X X X X X X X ", "X X X X X X X X X X k D D D D D D D D D D J D J D J D D D J D D D D D J D D D D D D D J D D D D D J D D D J D D D J D J D D D J D J D J D D D D D D D J D D D J D J D D D J D J D J D D D J D J D D D J D D D J D D D D D J D D D D J D D D D D J D D D J T 3.0.0.3.T D J D J D D J D J D D D D D D D D D J D D D J D J D D D D D D D D D J D D D J D J D D D D D D D D D J D D D J D J D D D D D D J D D D J D J D J D D D D D J D D D J D J D D D J D D D J D D D D D J D D D D D D D J D D D D D J D D k X X X X X X X X X X ", "X X X X X X X X X O k J D J D J J D J D D D D D D D J D D D J D J D D D J D J D J D D D J D J D D D J D D D J D D D D D J D D D D D D D J D J D J D D D J D D D D D J D D D D D D D J D D D D D J D D D J D D D J D J D D D J D D J D D D J D J D D D D T 3.0.0.0.0.3.J D D D D D D D D J D J D J D J D D D J D D D D D J D J D J D J D D D J D D D D D J D J D J D J D D D J D D D D D J D J D D J D D D J D D D D D D D J D J D D D J D D D D D J D D D J D D D J D J D D D J D J D J D D D J D J D D D k X X X X X X X X X X ", "X X X X X X X X X X k D J D D D D D D J D J D D D D D D D D D D D J D J D D D J D J D J D D D J D D D D D D D D D J D D D J D J D J D D D D D J D J D J D J D J D D D D D J D D D D D D D J D D D J D J D J D J D D D J D D D D D D D D J D D D J D J J 1.0.0.0.0.0.0.1.J D J D D J D D D D D J D D D J D D D D D J D D D D D J D D D J D D D D D J D D D D D J D D D J D D D D D J D D D D D J D D D D D D D D D D J D J D D D J D J D D D J D D D D D D D D D J D D D J D J D J D D D J D J D D D D D J k O X X X X X X X X X ", "X X X X X X X X X X k D D D D J J D D D D D J D J D J D J D J D D D D D J D D D D D D D J D D D J D J D J D J D D D J D D D D D D D J D J D D D D D D D D D D D J D J D D D J D J D J D D D J D D D D D D D D D J D D D J D J D D J D J D D D J D D D $.0.0.0.0.0.0.0.0.&.J D D D D J D J D D D J D D D J D J D D D J D J D D D J D D D J D J D D D J D J D D D J D D D J D J D D D J D J D D D D J D J D J D J D J D D D D D J D D D D D J D D D J D J D J D J D D D J D D D D D D D J D D D D D J D J D k X X X X X X X X X X ", "X X X X X X X X X X k D D D D D D D D D D J D D D J D J D J D J D J D D D D D J D D D D D J D D D J D J D J D J D J D D D D D J D J D J D D D J D D D D D D D D D D D J D J D D D J D J D D D J D D D D D D D D D D D J D J D D D D J D J D D D D D / 0.0.0.0.0.0.0.0.0.0./ D D D J D D D J D J D J D D D J D J D J D D D J D J D J D D D J D J D J D D D J D J D J D D D J D J D J D D D J D J J D J D J D J D D D J D D D D D J D D D D D J D J D J D J D J D D D J D D D D D J D D D D D J D J D J D D k X X X X X X X X X X ", "X X X X X X X X X X l D D J D J J D J D D D J D D D D D D D D D D D J D J D D D J D J D D D J D D D D D D D D D D D J D J D D D D D D D J D D D J D J D J D J D J D D D D D J D D D D D J D D D J D J D J D J D J D D D D D J D D J D D D D D J D J 0.0.0.0.0.0.0.0.0.0.0.3.T D D D J D D D D D D D J D D D D D D D J D D D D D D D J D D D D D D D J D D D D D D D J D D D D D D D J D D D D D D D D D D D D D D J D D D J D J D D D J D J D D D D D D D D D D D J D D D J D J D D D J D J D D D D D D D k X X X X X X X X X X ", "X X X X X X X X X X k D J D D D D D D J D D D D D J D D D J D D D D D D D J D J D D D J D D D D D J D D D J D D D D D D D J D J D J D D D J D J D D D J D D D J D J D J D D D D D J D D D J D J D D D J D D D J D J D J D D D D D D D D J D J D D =.0.0.0.0.0.0.0.0.0.0.0.0.=.D D D D D D J D D D D D D D J D D D D D D D J D D D D D D D J D D D D D D D J D D D D D D D J D D D D D D D J D D D D J D D D J D D D D D J D D D J D J D D D D D D D J D D D J D D D D D J D D D J D J D D D D D D D J D D l X X X X X X X X X X ", "X X X X X X X X X X k D D D D J J D D D J D J D D D J D D D J D J D J D D D D D J D D D J D J D D D J D D D J D J D J D D D D D D D J D D D D D J D D D J D D D D D D D J D J D D D J D D D D D J D D D J D D D D D D D J D J D D J D J D D D D ` 0.0.0.0.0.0.0.0.0.0.0.0.0.0./ J D J D D D J D J D J D D D J D J D J D D D J D J D J D D D J D J D J D D D J D J D J D D D J D J D J D D D J D D J D D D J D D D J D J D D D J D D D D D J D J D J D D D J D D D J D J D D D J D D D D D J D J D J D D D k X X X X X X X X X X ", "X X X X X X X X X X k D D D D D D D D D D J D J D D D J D D D D D J D J D D D J D D D D D J D J D D D J D D D D D J D J D D D J D J D J D D D D D J D D D J D J D D D D D J D D D J D J D D D D D J D D D J D J D D D D D J D D D D J D J D D J 0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.J D D J D D D J D D D J D D D J D D D J D D D J D D D J D D D J D D D J D D D J D D D J D D D J D D D J D D D J D D D D J D D D J D J D D D D D J D D D J D J D D D D D J D D D J D J D D D D D J D D D J D J D D D D D J k X X X X X X X X X X ", "X X X X X X X X X O k J D J D J J D J D D D D D J D D D J D J D D D D D J D D D J D J D D D D D J D D D J D J D D D D D J D D D D D D D J D J D D D J D D D D D J D J D D D J D D D D D J D J D D D J D D D D D J D J D D D J D D J D D D D D =.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.=.J D D J D D D J D D D J D D D J D D D J D D D J D D D J D D D J D D D J D D D J D D D J D D D J D D D J D D D D J D J D D D J D D D D D J D J D D D J D D D D D J D J D D D J D D D D D J D J D D D J D D D D D J D J D k X X X X X X X X X X ", "X X X X X X X X X X k D J D D D D D D J D J D D D J D J D D D J D J D D D J D J D D D J D J D D D J D J D D D J D J D D D J D J D J D D D D D J D D D D D J D D D D D J D D D D D J D D D D D J D D D D D J D D D D D J D D D D D D D D D D / 0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0./ D J D J D J D J D J D J D J D J D J D J D J D J D J D J D J D J D J D J D J D J D J D J D J D J D J D J D J J D D D J D J D D D J D J D D D J D J D D D J D J D D D J D J D D D J D J D D D J D J D D D J D J D D D D k X X X X X X X X X X ", "X X X X X X X X X X k D D D D J J D D D D D J D D D D D J D D D D D J D D D D D J D D D D D J D D D D D J D D D D D J D D D D D D D J D J D D D J D J D D D J D J D D D J D J D D D J D J D D D J D J D D D J D J D D D J D J D D J D D D T 3.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.3.J D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D J D D D D D J D D D D D J D D D D D J D D D D D J D D D D D J D D D D D J D D D D D J D D D D D J D k X X X X X X X X X X ", "X X X X X X X X X X k D D J D D D D D J D D D D D J D D D D D J D J D J D D D J D J D D D J D J D D D J D J D D D J D J D D D J D D D J D J D D D J D J D D D J D J D D D J D J D D D J D J D D D D D D D J D D D D D J D D D D D J D D J X.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.X.D J D J D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D J D D D D D J D D D D D J D D D D D J D D D D D J D D D D D J D D D D D J D D D D D J D D D D D J k X X X X X X X X X X ", "X X X X X X X X X X k D D D J D J D D D J D J D D D J D J D D D D D D D J D D D D D J D D D D D J D D D D D J D D D D D J D D D J D D D D D J D D D D D J D D D D D J D D D D D J D D D D D J D J D J D D D J D J D D D J D J D D D D D ! 0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.T D D D D J D J D J D J D J D J D J D J D D J D J D J D J D J D J D J D J D J D J D J D J D J D J D J D J D J D J D D D J D J D D D J D J D D D J D J D D D J D J D D D J D J D D D J D J D D D J D J D D D J D J D k X X X X X X X X X X ", "X X X X X X X X X X k J D D D D D J D J D D D J D D D D D J D J D J D D D J D J D D D D D J D D D J D J D D D D D J D D D J D J D J D J D D D D D J D D D J D J D D D D D J D D D J D J D D D D D D D J D D D D D J D J D D D J D D D D 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.1.J D J D D D D J D D D J D D D J D D D J J D D D J D D D J D D D J D D D J D D D J D D D J D D D J D D D J D D D J D J D D D D D J D D D J D J D D D D D J D D D J D J D D D D D J D D D J D J D D D D D J D D D D k X X X X X X X X X X ", "X X X X X X X X X X k D J D J D D D D D J D D D J D J D D D D D D D J D D D D D J D J D D D J D D D D D J D J D D D J D D D D D D D D D J D J D D D J D D D D D J D J D D D J D D D D D J D J D J D D D J D J D D D D D J D D D J D J ..0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0...D D D J D D D J D D D J D D D J D D D D D D J D D D J D D D J D D D J D D D J D D D J D D D J D D D J D D D J D D D D D J D J D D D J D D D D D J D J D D D J D D D D D J D J D D D J D D D D D J D J D D D J D k X X X X X X X X X X ", "X X X X X X X X X X k D J D J D D J D D D J D D D J D J D D D J D J D J D D D D D D D J D D D J D D D D D J D D D J D J D D D D D D D D D J D D D J D J D D D D D D D J D D D J D D D D D J D D D D D D D J D J D J D D D J D D D D J 3.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.J D D D J D D D J D J D J D D D J D J J D J D D D J D J D J D D D J D J D J D D D J D J D J D D D J D D D J D D D J D J D J D D D D D J D D D J D J D D D J D D D J D J D J D D D D D J D D D J D J D D D J D D k X X X X X X X X X X ", "X X X X X X X X X X k D D D D D D D J D D D J D D D D D J D D D D D D D J D J D J D D D J D D D J D J D D D J D D D D D J D J D J D J D D D J D D D D D J D J D J D D D J D D D J D J D D D J D J D J D D D D D D D J D D D J D D D &.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.$.D D D D J D D D D D D D J D D D D D D D D D D J D D D D D D D J D D D D D D D J D D D D D D D J D D D J D D D J D D D D D D D J D J D D D J D D D D D J D D D J D D D D D D D J D J D D D J D D D D D J D D D k X X X X X X X X X X ", "X X X X X X X X X X l D D D J D D D D D D D D D D J D D D J D J D J D D D D D J D J D J D J D J D D D J D D D D D J D D D D D J D D D J D D D D D J D D D D D J D J D J D J D J D D D J D D D D D D D J D J D D D D D D D D D D J ! 0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.! D D D D D D J D D D D D D D J D D D D J D D D D D D D J D D D D D D D J D D D D D D D J D D D D D D D D D D D D D D D J D J D D D J D J D D D J D D D D D D D D D D D J D J D D D J D J D D D J D D D D D J k O X X X X X X X X X ", "X X X X X X X X X X k D D J D D J D J D J D J D D D J D D D D D D D J D J D D D D D D D D D D D J D D D J D J D D D J D J D D D J D D D J D J D D D J D J D D D D D D D D D D D J D D D J D J D J D D D D D J D J D J D J D J D D 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.3.D J D J D D D J D J D J D D D J D D J D D D J D J D J D D D J D J D J D D D J D J D J D D D J D J D J D J D J D J D J D D D D D J D D D D D J D D D J D J D J D J D J D D D D D J D D D D D J D D D J D J D k X X X X X X X X X X ", "X X X X X X X X X X k D J D D D D J D J D J D J D J D D D D D J D J D J D D D J D D D D D D D D D J D D D J D J D J D D D J D J D J D D D J D J D J D D D J D J D D D D D D D D D D D J D J D D D D D D D J D D D J D J D J D D ..0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.` D D J D D D D D D J D J D D D J J D D D J D J D D D J D J D D D J D D D J D J D D D J D J D D D J D J D J D J D D D J D D D D D J D D D D D J D J D J D J D J D D D D D J D D D D D D D J D D D J D J D D k X X X X X X X X X X ", "X X X X X X X X X X k D D D D J D D D D D D D D D D J D J D D D D D D D J D D D J D J D J D J D D D J D D D D D D D J D D D D D D D J D D D D D D D J D D D D D J D J D J D J D J D D D D D J D J D J D D D J D D D D D D D D J 3.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.T D D D D J D J D D D D J D D D D D D J D D D D D J D D D D D J D D D J D D D D D J D D D D D J D D D D D D D D D J D D D J D J D D D J D J D D D D D D D D D D D J D J D D D J D J D J D D D J D D D D D k X X X X X X X X X X ", "X X X X X X X X X X k D J D J D D J D D D J D D D D D D D J D J D J D D D J D J D D D J D D D J D D D D D J D D D D D D D J D D D D D D D J D D D D D D D J D D D D D J D D D J D J D J D D D D D D D J D D D D D J D D D J D $.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.$.D D D J D D D D J D D D J D J J D J D D D J D D D D D J D J D J D J D D D J D D D D D J D J D D D J D D D J D D D D D J D D D J D J D D D D D D D J D D D J D J D D D J D J D J D D D J D J D D D J D D l X X X X X X X X X X ", "X X X X X X X X X X k J D D D D D D J D D D J D J D J D D D D D D D J D D D D D J D D D J D D D J D J D D D J D J D J D D D J D J D J D D D J D J D J D D D J D J D D D J D D D D D D D J D J D J D D D J D J D D D J D D D ! 0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.! D D D D D J D D J D D D D D D D D D D J D D D J D J D D D D D D D D D J D D D J D J D D D D D J D D D J D D D J D J D D D J D D D D D J D J D J D D D J D D D D D J D D D D D D D J D D D D D J D D D k X X X X X X X X X X ", "X X X X X X X X X X k D D D J D D D D J D D D D D J D J D D D J D J D J D D D D D J D D D J D J D D D J D D D J D D D J D D D J D D D J D D D J D D D J D D D J D J D D D J D J D D D D D J D D D D D D D J D J D D D J D D 3.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.1.J D D D D D D J D J D D D D D D D D J D J D D D J D D D D D D D D D J D J D D D J D D D D D D D D D J D D D J D J D D D D D J D D D J D J D D D D D J D D D D D J D D D J D D D J D D D J D D D D D J k X X X X X X X X X X ", "X X X X X X X X X X l D D J D D J D D D J D J D D D D D J D D D D D D D J D J D D D J D D D D D J D D D J D D D J D D D J D D D J D D D J D D D J D D D J D D D D D J D D D D D J D J D D D J D J D J D D D D D J D D D D ` 0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.` D D J D J D D D D J D J D D J D J D D D D D J D D D J D J D J D J D D D D D J D D D J D J D J D J D D D J D D D D D J D J D D D J D D D D D J D J D D D J D J D D D J D D D J D D D J D D D J D J D k X X X X X X X X X X ", "X X X X X X X X X X k D D D D D D J D J D D D J D J D D D J D J D J D D D D D J D D D D D J D D D J D J D J D J D J D J D J D J D J D J D J D J D J D J D J D J D D D D D J D D D D D J D D D D D D D J D J D D D J D J J 0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.3.J J D D D D J D D D D D J J D D D D D J D D D D D J D D D J D D D D D J D D D D D J D D D J D D D J D J D D D J D J D D D J D J D D D J D J D D D J D J D D D D D D D D D D D D D D D D D J D D D D k X X X X X X X X X X ", "X X X X X X X X X X k D D J D J D D D D J D D D D D J D D D D D D D J D J D D D J D J D D D J D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D J D J D D D J D J D D D J D J D J D D D D D J D D D D D X.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.$.D D D J D D J D J D D D D D D J D J D D D J D J D D D J D D D J D J D D D J D J D D D J D D D J D D D D D J D D D D D J D D D D D J D D D D D J D D D D D J D J D J D J D J D J D J D J D D D J D k X X X X X X X X X X ", "X X X X X X X X X X l D D J D J D D D J D D D D D J D D D D D J D J D J D D D J D J D D D J D J D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D J D D D J D J D D D J D J D D J D D D D D J D D D D ! 0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.T D D J D J D D D J D J J D J D D D J D J D D D J D J D D D J D J D D D J D J D D D J D D D J D D D D D J D D D D D J D D D J D D D D D J D D D D D J D J D J D J D J D J D J D J D J D D D D D J k X X X X X X X X X X ", "X X X X X X X X X o k D D D D D J D D D J D J D D D J D J D D D D D D D J D D D D D J D D D D D J D J D J D J D J D J D J D J D D J D J D J D J D J D J D J D J D D J D D D D D J D D D D D J D D D D J D J D D D J D 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.1.D D D D D J D D D D D D D D D D J D D D D D J D D D D D J D D D D D J D D D D D J D D D J D D D J D J D D D J D J D D D J D D D J D J D D D J D J D D D D D D D D D D D D D D D D D D D J D J D k X X X X X X X X X X ", "X X X X X X X X X X k D D J D D D J D J D D D J D D D D D J D J D J D D D J D J D D D D D J D D D D D J D D D J D D D J D D D J J D D D J D D D J D D D J D D D D D D D D J D D D J D J D D D D J D J D D D D D D D ` 0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.` D J D D D D D J D D D D J D D D D D J D J D D D J D D D D D J D J D D D J D D D D D D D D D J D D D J D J D D D D D D D D D J D D D J D J D D D D D D D J D D D J D D D J D D D J D J D D D D k X X X X X X X X X X ", "X X X X X X X X X X l D D D J D D D D D J D D D J D J D D D D D D D J D D D D D J D J D D D J D J D D D J D D D J D D D J D D D D D D J D D D J D D D J D D D J J D J D D D J D D D D D J D J D D D D D D J D J J J 3.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.3.J D J D J D D D J D D J D D D J D J D D D D D J D D D J D J D D D D D J D D D J D J D J D J D D D J D D D D D J D J D J D J D D D J D D D D D J D J D J D D D J D D D J D D D J D D D D D J D k X X X X X X X X X X ", "X X X X X X X X X X k D D D D D D J D D D J D D D J D J D D D J D J D J D D D D D D D J D D D J D J D D D J D J D J D D D J D J J D J D D D J D J D J D D D J D D D D J D D D J D D D D D J D D J D D D J D J D D $.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.$.D D D D J D D D J J D D D J D D D D D D D J D J D D D J D D D D D J D D D J D D D J D J D D D D D J D D D J D J D J D J D D D D D J D D D J D J D D D D D J D D D D D D D J D D D D D J D D k X X X X X X X X X X ", "X X X X X X X X X X k D J D J D D D J D D D J D D D D D J D D D D D D D J D J D J D D D J D D D D D J D D D D D D D J D D D D D D D D D D J D D D D D D D J D D J D D D J D D D J D J D D D J D D D D J D D D D ! 0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.! J D D D J D D D D D D J D D D J D J D J D D D D D J D D D J D J D D D J D D D J D D D D D J D J D D D J D D D D D D D D D J D J D D D J D D D D D J D J D D D J D J D J D D D J D J D D D k X X X X X X X X X X ", "X X X X X X X X X X k D D D D J D D D D D D D D D J D D D J D J D J D D D D D J D J D J D J D J D D D D D J D D D D D D D J D D D D J D D D D D D D J D D D D D D J D J D J D J D D D J D D D D J D J D D D D D 3.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.3.J D D J D J D J J D J D J D J D J D D D D D J D D D D D J D D D J D J D J D J D D D J D J D D D J D J D D D J D D D J D J D D D J D J D D D J D J D D D J D J D J D D D J D J D D D D D J k O X X X X X X X X X ", "X X X X X X X X X X l D J D D D J D J D J D J D D D J D D D D D D D J D J D D D D D D D D D D D J D J D D D J D J D J D D D J D D J D D D J D J D J D D D J D J D D D D D D D D J D D D J D J D D D D D D J D o.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.o.D D D D D D D D D D D D D D D D D D J D J D D D J D J D D D J D D D D D D D D D J D D D D D J D D D D D J D D D J D D D D D J D D D D D J D D D D D J D D D D D D D J D D D D D J D J D k X X X X X X X X X X ", "X X X X X X X X X X k D D J D D D J D J D J D J D J D D D D D J D J D J D D D J D D D D D D D D D D D J D J D D D J D J D D D J J D D D J D J D D D J D J D D D D D D D D D D D D D D J D J D D D J D J D D ! 0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.! D D D J D J D D D D D D D D J D D D J D J D D D J D J D D D D D D D D D D D D D D D J D D D D D D D J D D D D D D D J D D D D D D D J D D D D D J D D D D D J D D D D D J D J D J D D k X X X X X X X X X X ", "X X X X X X X X X X k D D D J D D D D D D D D D D D J D J D D D D D D D J D D D J D J D J D J D J D D D D D J D D D D D J D D D D D D J D D D D D J D D D D D J D J D J D J D J J D D D D D J D D D D D J J 3.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.3.T D D D D D D J D J D J D J D D D J D D D D D J D D D D D J D J D J D J D J D J D J D D D J D J D J D D D J D J D J D D D J D J D J D D D J D J D D D J D J D D D J D J D D D D D D D k X X X X X X X X X X ", "X X X X X X X X X X k J D D D D D J D D D J D D D D D D D J D J D J D D D J D J D D D J D D D J D J D J D D D D D J D D D J D J J D J D D D J D D D D D J D J D J D D D J D D D D J D J D D D D D J D D J 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.=.J D J D D J D D D J D D D J D J D D D J D D D D D J D J D J D D D J D D D J D D D J D J D J D D D J D J D J D D D J D J D J D D D J D J D D D D D J D D D J D J D D D D D D D J D D l X X X X X X X X X X ", "X X X X X X X X X X k D J D J D D D J D D D J D J D J D D D D D D D J D D D D D J D D D J D D D D D D D J D J D D D J D D D D D D D D D D J D D D J D J D D D D D D D J D D D J D D D D J D J D D D ! &.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.&./ D D D D D J D D D J D D D D D J D D D J D J D D D D D D D J D D D J D D D J D D D D D D D J D D D D D D D J D D D D D D D J D D D D D J D J D D D J D D D D D J D J D J D D D k X X X X X X X X X X ", "X X X X X X X X X X k D D J D J D D D J D D D D D J D J D D D J D J D J D D D D D J D D D J D J D D D D D J D D D J D J D D D D D D D D J D J D D D J D D D D D J D J D D D J D D D D D D D T ` &.3.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.=...! D D D D D D D D D D J D J D D D J D D D D D J D J D D D J D D D J D D D J D D D J D D D J D D D J D D D J D D D J D D D J D J D J D D D D D J D D D J D J D D D D D J k X X X X X X X X X X ", "X X X X X X X X X X k D D D D D J D D D J D J D D D D D J D D D D D D D J D J D D D J D D D D D J D J D D D J D D D D D J D J D D J D J D D D D D J D D D J D J D D D D D D D D J D ! ` =.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.3.=.` T J D J D J D D D D D D J D D D J D J D D D D D J D D D J D D D J D D D J D D D J D D D J D D D J D D D J D D D J D D D D D D D J D J D D D J D D D D D J D J D k X X X X X X X X X X ", "X X X X X X X X X X k J D J D D D J D J D D D J D J D D D J D J D J D D D D D J D D D D D J D D D D D J D D D D D J D D D D D J J D D D D D J D D D D D J D D D D D J D D J ! { =.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.1.o./ J D D D J D D D D D J D D D D D J D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D J D J D D D J D J D D D J D J D D D D k X X X X X X X X X X ", "X X X X X X X X X X k D D D J D D D D D J D D D D D J D D D D D D D J D J D D D J D J D D D J D J D D D J D J D D D J D J D D D D D D J D J D D D J D J D D D D D T ` $.1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.3.&...! D D J D J D D D J D J D D D J D J D J D J D J D J D J D J D J D J D J D J D J D J D J D J D J D J D J D D D D D J D D D D D J D D D D D J D k X X X X X X X X X X ", "X X X X X X X X X X k D D D D D D D D D D J D D D D D J D D D D D D D J D D D D D J D D D D D J D D D D D J D D D D D J D J D J J D J D D D D D D J D D J ! ..=.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.3.=...! J D D D D D D D D J D D D D J D J D J D J D D D D D D D D J D J D J D J D J D J D J D J D D D J D D D D D J D D D D D J D D D D D J k X X X X X X X X X X ", "X X X X X X X X X X l D D J D J J D J D D D J D J D D D J D J D J D D D J D J D D D J D J D D D J D J D D D J D J D D D D D D D D D D D D D J D J / o.=.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.3.X.` T D D D D D D D D D D D D D D D D J D J D J D J D D D D D D D D D D D D D D D D D D J D D D J D J D D D J D J D D D J D J D k X X X X X X X X X X ", "X X X X X X X X X X k D J D D D D D D J D D D D D J D J D D D J D J D J D D D J D D D D D J D J D D D J D D D D D J D J D J D D D D J D J ` &.1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.1.&.` J J D D D D J D D D J D D D D D J D D D J D D J D D D J D D D J D D D J D D D D D J D D D J D J D D D D D J D D D D k X X X X X X X X X X ", "X X X X X X X X X X k D D D D J J D D D J D J D D D D D J D D D D D D D J D D D J D J D D D D D J D D D J D J D D D D D D D D D J ! X.1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.3.&./ J D D J D D D J D J D D D J D D D D J D D D J D D D J D D D J D D D J D J D D D J D D D D D J D J D D D J D k X X X X X X X X X X ", "X X X X X X X X X X k D D D D D D D D D D J D J D J D D D J D D D J D D D J D D D J D J D D D J D D D D D J D J D J D D D T ..=.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.1...J D D D D D D J D D D J D J D D D D J D D D D D D D J D D D J D J D D D D D J D D D J D J D D D J D D k X X X X X X X X X X ", "X X X X X X X X X O k J D J D J J D J D D D D D D D J D D D J D D D J D D D J D D D D D J D D D J D J D D D D D D D J ` 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.1...J D D D D J D D D D D D J D J D D D J D J D J D D D J D D D D D J D J D D D J D D D D D J D D D k X X X X X X X X X X ", "X X X X X X X X X X k D J D D D D D D J D J D D D D D D D D D D D D D D D D D D D J D D D J D J D D D J D J D D T &.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.X.T D D D D D J D D J D D D J D J D J D D D J D J D D D J D J D D D J D J D D D J D D D D D J k O X X X X X X X X X ", "X X X X X X X X X X k D D D D J J D D D D D J D J D J D J D J D J D J D J D J D D D J D D D D D J D D D D D D ` 0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0...D J D D D J D D D D J D D D D D D D J D D D D D J D D D D D J D D D D D J D D D J D J D k X X X X X X X X X X ", "X X X X X X X X X X k D D D D D D D D D D J D D D J D J D J D J D J D J D J D J D J D D D D D J J D D D D D J 0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.D D J D D D J D D J D D D D D J D D D D D J D D D D D J D D D D D D D J D D D J D J D D k X X X X X X X X X X ", "X X X X X X X X X X l D D J D J J D J D D D J D D D D D D D D D D D D D D D D D D D J D J D D D D D D J D J D 0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.D D D J D D D D J D D D J D J D D D J D J D D D J D J D D D J D J D J D D D J D D D D D k X X X X X X X X X X ", "X X X X X X X X X X k D J D D D D D D J D D D D D J D D D J D D D J D D D J D D D D D D D J D J J D J D D D D X.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0...D J D D J D J D D D D J D D D J D J D D D D D J D D D J D J D J D D D J D J D D D J D D l X X X X X X X X X X ", "X X X X X X X X X X k D D D D J J D D D J D J D D D J D D D J D D D J D D D J D J D J D D D D D D D D D D J D J 3.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.3.J D D D D D D D D J D J D D D J D D D D D J D J D D D J D D D D D D D J D D D D D J D D D k X X X X X X X X X X ", "X X X X X X X X X X k D D D D D D D D D D J D J D D D J D D D D D D D J D D D D D J D J D D D J J D D D J D J D ` 0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0./ J D D D J D J D J D J D D D D D J D D D J D J D D D J D D D J D D D J D D D J D D D D D J k X X X X X X X X X X ", "X X X X X X X X X O k J D J D J J D J D D D D D J D D D J D J D J D D D J D J D D D D D J D D D D D D J D D D D D =.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.=.D D D D J D D D D D D D D D J D J D D D J D D D D D J D D D J D D D J D D D J D D D J D J D k X X X X X X X X X X ", "X X X X X X X X X X k D J D D D D D D J D J D D D J D J D D D J D J D J D D D J D J D D D J D J J D J D D D J D D J 3.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.J D J D J D D D J D D D J D J D D D J D J D D D J D D D D D D D D D D D D D D D D D J D D D D k X X X X X X X X X X ", "X X X X X X X X X X k D D D D J J D D D D D J D D D D D J D D D D D D D J D D D D D J D D D D D D D D D D J D D D D / 0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0./ D J D D D D D J D D D J D D D D D J D D D D D J D D D J D J D J D J D J D J D J D J D D D J D k X X X X X X X X X X ", "X X X X X X X X X X k D D J D D D J D D D D D J D D D D D J D D D J D D D D D J D D D D D J D D D J D D D D D J D D J X.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0...D D J D D D J D J D D J D D D D D J D D D D D J D D D J D J D J D J D J D J D J D J D D D D D J k X X X X X X X X X X ", "X X X X X X X X X X k D D D J D D D J D J D D D J D J D D D J D D D J D J D D D J D J D D D J D D D J D J D D D D J D D &.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.&.J D D D J D D D D D J D D D D J D J D D D J D J D D D J D D D D D D D D D D D D D D D D D J D J D k X X X X X X X X X X ", "X X X X X X X X X X k J D D D D D D D D D J D J D D D J D D D D D D D D D J D J D D D J D D D D D D D D D J D J D D D D J 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.1.D D D D J D J D J D D D D J D J D D D D D J D D D J D J D D D J D D D J D D D J D D D J D J D D D D k X X X X X X X X X X ", "X X X X X X X X X X k D J D J D J D J D D D D D J D D D J D J D J D J D D D D D J D D D J D J D J D J D D D D D D J D J D T 0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.T D J D D D D D D D J D J D D D D D D J D J D D D J D D D D D J D D D J D D D J D D D J D D D D D J D k X X X X X X X X X X ", "X X X X X X X X X X k D J D J D D J D J D D D J D D D D D J D J D J D J D D D J D D D D D J D J D J D J D D D J D D J D D D / 0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.! D D D J D D D D D D D J D D J D D D J D J D D D J D D D J D D D D D J D D D D D D D J D D D D D J D D k X X X X X X X X X X ", "X X X X X X X X X X k D D D D D D D D D J D D D J D J D D D D D D D D D J D D D J D J D D D D D D D D D J D D D D J D D D D D ..0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0...D J D D D J D J D J D D D J D D D D J D D D D D J D D D J D D D J D J D D D J D J D J D D D J D J D D D k X X X X X X X X X X ", "X X X X X X X X X X l D D D J D D J D D D J D J D D D J D J D D D J D D D J D J D D D J D J D D D J D D D J D J D D D D J D D D o.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.&.D D D D D D D D D D D J D D D D J D J D D D J D D D D D D D D D J D D D J D J D J D D D J D J D D D D D J k O X X X X X X X X X ", "X X X X X X X X X X k D D J D D D D J D D D D D J D D D D D J D D D J D D D D D J D D D D D J D D D J D D D D D D J D J D D J D D =.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.=.J D D J D J D J D J D D D J D J D D D D D D J D D D J D J D J D J D D D J D D D D D D D J D D D D D J D J D k X X X X X X X X X X ", "X X X X X X X X X X k D J D D D D D D J D D D D D D D J D D D D D D D J D D D D D D D J D D D D D D D J D D D D D D D J D D D D D J 3.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.1.J D D D D D D D D D D D D J D J D D J D D D D D J D J D J D J D J D D D J D D D D D J D D D D D J D J D J D D k X X X X X X X X X X ", "X X X X X X X X X X k D D D D J J D D D J D J D J D D D J D J D J D D D J D J D J D D D J D J D J D D D J D J D J D D D J D J D J D J 3.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.3.T D J J D J D J D J D J D D D D D J D D D D J D J D D D D D D D D D D D J D D D J D J D D D J D J D D D D D D D k X X X X X X X X X X ", "X X X X X X X X X X k D J D J D D J D J D D D J D J D J D D D J D J D J D D D J D J D J D D D J D J D J D D D J D J D J D D D J D J D ! 0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.! D D D D D D J D D D J D J D J D D D D J D J D D D D D D D J D D D J D D D D D J D D D J D J D D D D D D D J D D l X X X X X X X X X X ", "X X X X X X X X X X k J D D D D D D D D J D D D D D D D J D D D D D D D J D D D D D D D J D D D D D D D J D D D D D D D J D D D D D D D / 0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0./ D D D D J D D D J D D D D D D D J D J D D D D D D J D J D J D D D J D D D J D J D D D J D D D D D J D J D J D D D k X X X X X X X X X X ", "X X X X X X X X X X k D D D J D D J D D D J D D D J D D D J D D D J D D D J D D D J D D D J D D D J D D D J D D D J D D D J D D D J D D D ..0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.` J D D D D D J D D D J D J D D D D D J D D J D D D J D J D D D D D J D D D J D J D D D D D J D D D J D J D D D D D J k X X X X X X X X X X ", "X X X X X X X X X X l D D J D D D D J D D D J D D D J D D D J D D D J D D D J D D D J D D D J D D D J D D D J D D D J D D D J D D D J D D D o.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.$.D D J D J D D D J D D D D D J D J D D D J D D D D J D D D D D J D J D D D J D D D D D J D J D D D J D D D D D J D J D k X X X X X X X X X X ", "X X X X X X X X X X k D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D J D J =.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.=.D D D D D D J D D D D D J D D D D D J D D D D J D J D D D J D J D D D J D J D D D J D J D D D J D J D D D J D J D D D D k X X X X X X X X X X ", "X X X X X X X X X X k D D J D J J D J D J D J D J D J D J D J D J D J D J D J D J D J D J D J D J D J D J D J D J D J D J D J D J D J D D D D J =.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.1.J D J D J D D D J D J D D D J D J D D D J D J D D D D D D J D D D D D J D D D D D J D D D D D J D D D D D J D D D D D J D k X X X X X X X X X X ", "X X X X X X X X X X l D D J D J J D J D J D J D J D J D J D J D J D J D J D J D J D J D J D J D J D J D J D J D J D J D J D J D D J D J D J D J J 3.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.1.J D D J D J D D D J D J D D D J D J D D D J D J D D D J D J D D D J D J D D D J D J D D D J D J D D D J D J D D D J D J D J k X X X X X X X X X X ", "X X X X X X X X X o k D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D J 3.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.3.T D D J D D D D D J D D D D D J D D D D D J D D D D D J D D D D D J D D D D D J D D D D D J D D D D D J D D D D D J D D D D D k X X X X X X X X X X ", "X X X X X X X X X X k D D J D D D D J D D D J D D D J D D D J D D D J D D D J D D D J D D D J D D D J D D D J D D D J D D D J D D J D D D J D D D J ! 0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.! D D D D D D J D J D D D J D D D D D J D J D D D J D D D D D J D J D D D J D D D D D J D J D D D J D D D D D J D J D D D J D D k X X X X X X X X X X ", "X X X X X X X X X X l D D D J D D J D D D J D D D J D D D J D D D J D D D J D D D J D D D J D D D J D D D J D D D J D D D J D D D D J D D D J D D D D ! 0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0./ D D D D J D J D D D D D J D D D J D J D D D D D J D D D J D J D D D D D J D D D J D J D D D D D J D D D J D J D D D D D J D D D k X X X X X X X X X X ", "X X X X X X X X X X k D D D D D D D D D J D D D D D D D J D D D D D D D J D D D D D D D J D D D D D D D J D D D D D D D J D D D D D D J D D D D D D D J ` 0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0...D D J D D D J D D D D D J D D D J D D D D D D D J D J D D D J D D D D D J D D D J D D D D D D D J D J D D D J D D D D D J D D D J k X X X X X X X X X X ", "X X X X X X X X X X k D J D J D D J D J D D D J D J D J D D D J D J D J D D D J D J D J D D D J D J D J D D D J D J D J D D D J J D D D J D J D J D D D J X.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.{ J D D D D D J D D D J D J D D D J D D D J D J D J D D D D D J D D D J D J D D D J D D D J D J D J D D D D D J D D D J D J D D D J D k X X X X X X X X X X ", "X X X X X X X X X X k D D D D J J D D D J D J D J D D D J D J D J D D D J D J D J D D D J D J D J D D D J D J D J D D D J D J D D J D J D D D J D J D J D D &.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.&.D D D D J D D D D D J D D D J D J D J D J D J D D D D D J D D D D D J D D D J D J D J D J D J D D D D D J D D D D D J D D D J D J D D k X X X X X X X X X X ", "X X X X X X X X X X l D J D D D D D D J D D D D D D D J D D D D D D D J D D D D D D D J D D D D D D D J D D D D D D D J D D D D D D D D J D D D D D D D D D D 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.1.D D J D J D D D J D J D D D J D D D D D D D D D D D J D J D D D J D J D D D J D D D D D D D D D D D J D J D D D J D J D D D J D D D D D l X X X X X X X X X X ", "X X X X X X X X X X k D D J D D D D J D D D D D J D D D D D J D D D J D D D D D J D D D D D J D D D J D D D D D J D D D D D J D D J D D D D D J D D J D J D D T 3.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.3.J D J D D D J D J D J D D D J D D D D D D D D D J D D D J D J D D D J D J D D D D D D D D D D D J D J D D D J D J D J D D D J D J D J D D k X X X X X X X X X X ", "X X X X X X X X X X k D D D J D D J D D D J D J D D D J D J D D D J D D D J D J D D D J D J D D D J D D D J D J D D D J D J D D D D J D J D D D D J D D D D D J ! 0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.! D D D D D J D D D D D D D J D D D J D J D J D J D D D J D D D D D J D D D D D J D J D J D J D J D D D D D J D D D D D D D J D D D D D D D k X X X X X X X X X X ", "X X X X X X X X X X k J D D D D D D D D J D D D J D J D D D D D D D D D J D D D J D J D D D D D D D D D J D D D J D J D D D D D D D D D D J D J D D D D J D J D D / 0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.` D D D J D D D D D D D J D D D D D J D D D J D D D J D J D D D J D D D D D J D J D J D D D J D D D D D J D D D D D D D J D D D D D D D J D D l X X X X X X X X X X ", "X X X X X X X X X X k D J D J D D J D J D D D J D D D D D J D J D J D J D D D J D D D D D J D J D J D J D D D J D D D D D J D J J D J D D D D D D J D J D D D D D D o.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.X.D J D J D D D J D J D J D D D J D J D D D J D D D J D D D D D J D D D J D J D D D D D D D J D D D J D J D D D J D J D J D D D J D J D J D D D k X X X X X X X X X X ", "X X X X X X X X X X k D J D J D J D J D D D D D J D D D J D J D J D J D D D D D J D D D J D J D J D J D D D D D J D D D J D J D D J D J D D D J D D J D D D D D D D D 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.1.D D D J D D D J D D D J D D D J D D D J D J D D D J D D D D D J D J D D D J D D D D D J D J D D D J D J D D D J D D D J D D D J D D D D D D D J k X X X X X X X X X X ", "X X X X X X X X X X k D D D D D D D D D D J D J D D D J D D D D D D D D D J D J D D D J D D D D D D D D D J D J D D D J D D D D D D D D J D D D D J D D D J D J D D D ! 0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.! J D D D D D J D D D J D D D J D D D J D D D D D J D D D J D J D D D D D J D D D J D J D D D D D J D D D D D J D D D J D D D J D D D J D J D J D k X X X X X X X X X X ", "X X X X X X X X X X l D D D J D D D J D J D D D J D J D D D J D D D J D J D D D J D J D D D J D D D J D J D D D J D J D D D J D D J D D D J D J D D D D J D D D J D D D 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.1.D D D D J D J D J D J D J D J D J D J D D D J D D D D D J D D D D D J D D D D D J D D D D D J D D D D D J D J D J D J D J D J D J D J D J D D D D k X X X X X X X X X X ", "X X X X X X X X X X k D D J D D D J D D D D D J D D D D D J D D D J D D D D D J D D D D D J D D D J D D D D D J D D D D D J D D D D J D D D D D D J D J D D D J D D D D &.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.&.D J D J D D D D D D D D D D D D D D D D D J D D D J D J D D D J D J D D D J D J D D D J D J D D D J D J D D D D D D D D D D D D D D D D D D D J D k X X X X X X X X X X ", "X X X X X X X X X X k D D D D D J D D D D D J D D D D D J D D D D D D D J D D D D D J D D D D D J D D D D D J D D D D D J D D D D D D J D D D D D J D D D D D J J D D D $.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.$.D D J D D J D J D J D J D J D J D J D J J D D D J D J D D D J D J D D D J D D D J D J D D D J D J D D D J D J D J D J D J D J D J D J D D D D D J k X X X X X X X X X X ", "X X X X X X X X X X l D D J D J D D D J D J D D D J D J D D D J D J D J D D D J D J D D D J D J D D D J D J D D D J D J D D D J J D D D J D J D D D J D J D D D D D D J $.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.X.D J D D D D D D D D D D D D D D D D D D D D D J D D D D D J D D D D D J D D D J D D D D D J D D D D D J D D D D D D D D D D D D D D D D D J D J D k X X X X X X X X X X ", "X X X X X X X X X X k D J D D D J D J D D D D D J D D D J D J D J D D D J D J D D D D D J D D D J D J D D D D D J D D D J D J D D J D J D D D J D D D D D J D J J D J D &.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.&.D D D D D J D D D J D D D J D D D J D D J D J D D D J D D D D D J D J D J D J D D D J D D D D D J D J D D D J D D D J D D D J D D D J D J D D D D k X X X X X X X X X X ", "X X X X X X X X X X k D D D D J D D D D D J D J D D D J D D D D D D D J D D D D D J D J D D D J D D D D D J D J D D D J D D D D D D D D J D D D J D J D D D D D D D D D =.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.=.D J D J D D J D D D J D D D J D D D J D D D D D D J D D D J D J D D D D D D D D D J D D D J D J D D D D D J D D D J D D D J D D D J D D D D D J D k X X X X X X X X X X ", "X X X X X X X X X X k D D D D D J D D D J D J D D D J D D D J D D D J D D D J D J D J D D D D D J D D D J D J D D D J D D D J D D J D D D J D D D J D J D D D J J D D D 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.=.D D D D D D D J D D D D D D D J D D D D D D D D J D J D D D J D D D D D D D D D J D J D D D J D D D D D D D D D J D D D D D D D J D D D D D J D D k X X X X X X X X X X ", "X X X X X X X X X O k J D J D J D D D J D D D D D J D D D J D D D J D D D J D D D D D D D J D J D D D J D D D D D J D D D J D D D D J D D D J D D D D D J D D D D D D J 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.1.D D D J J D D D J D J D J D D D J D J D D J D J D D D D D J D D D J D J D J D J D D D D D J D D D J D J D J D J D D D J D J D J D D D J D J D D D k X X X X X X X X X X ", "X X X X X X X X X X k D J D D D J D J D D D J D D D D D D D D D D D D D D D D D D D J D J D D D J D J D D D J D D D D D D D D D D D D D D D D D D J D D D J D J J D D D 3.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.3.J D J D D J D J D D D J D J D J D D D J J D D D D D J D D D D D J D D D J D D D D D J D D D D D J D D D J D D D J D J D J D D D J D J D D D D D J k O X X X X X X X X X ", "X X X X X X X X X X k D D D D J D D D D D J D D D J D J D J D J D J D J D J D J D J D D D D D J D D D D D J D D D J D J D J D J J D J D J D J D D D J D D D D D D D D D 0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.D D D D D D D D J D D D D D D D J D D D D D D J D J D D D J D J D D D J D D D J D J D D D J D J D D D J D D D J D D D D D D D J D D D D D J D J D k X X X X X X X X X X ", "X X X X X X X X X X k D D D D D J D D D D D J D J D J D J D J D J D J D J D J D D D J D D D D D J D D D D D J D J D J D J D J D D J D J D J D J D J D D D D D J D D D J 0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.J D D D D J D D D D D J D D D D D J D D J D J D D D J D J D J D D D J D J D J D D D J D J D J D D D J D D D J D D D D D J D D D D D J D J D J D D k X X X X X X X X X X ", "X X X X X X X X X X l D D J D J D D D J D J D D D D D D D D D D D D D D D D D D D J D D D J D J D D D J D J D D D D D D D D D D D D D D D D D D D D J D J D D D J D J T 0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.T D J D D D J D J D D D J D J D D D J D D D D D D J D D D D D D D J D D D D D D D J D D D D D D D J D D D J D D D J D J D D D J D J D D D D D D D k X X X X X X X X X X ", "X X X X X X X X X X k D J D D D J D J D D D D D D D J D D D J D D D J D D D J D D D D D J D D D J D J D D D D D D D J D D D J D D J D D D J D D D D D D D J D J D D D ! 0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.! D D J D D D D D J D J D D D J D D D D D D J D D D D D D D J D D D D D D D J D D D D D D D J D D D D D D D D D J D D D J D J D D D D D D D J D D l X X X X X X X X X X ", "X X X X X X X X X X k D D D D J D D D D D J D J D J D D D J D D D J D D D J D D D J D J D D D J D D D D D J D J D J D D D J D D D D J D D D J D J D J D D D D D J D D / 0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.` D D D J D J D D D D D J D D D J D J D D J D D D J D J D J D D D J D J D J D D D J D J D J D D D J D J D J D J D D D J D D D D D J D J D J D D D k X X X X X X X X X X ", "X X X X X X X X X X k D D D D D J D D D J D J D D D D D J D D D D D D D J D D D J D J D D D D D J D D D J D J D D D D D J D D D D D D J D D D D D J D J D D D J D D J ..0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0...D D J D J D J D D D J D D D D D J D J J D D D J D D D J D D D J D D D J D D D J D D D J D D D J D D D J D J D D D D D J D D D J D J D D D D D J k X X X X X X X X X X ", "X X X X X X X X X O k J D J D J D D D J D D D D D J D J D D D J D J D J D D D J D D D D D J D J D D D J D D D D D J D J D D D J J D D D J D J D D D D D J D D D D J D X.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.X.D D D D D D D J D D D J D J D D D D D D D D J D D D J D D D J D D D J D D D J D D D J D D D J D D D J D D D D D J D J D D D J D D D D D J D J D k X X X X X X X X X X ", "X X X X X X X X X X k D J D D D J D J D D D J D J D D D J D J D J D D D J D J D D D J D J D D D J D J D D D J D J D D D J D J D D J D J D D D J D J D D D J D J D D D $.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.$.D D J D J D D D J D J D D D J D J D D J D J D J D J D J D J D J D J D J D J D J D J D J D J D J D J D D D J D J D D D J D J D D D J D J D D D D k X X X X X X X X X X ", "X X X X X X X X X X k D D D D J D D D D D J D D D D D J D D D D D D D J D D D D D J D D D D D J D D D D D J D D D D D J D D D D D D D D J D D D D D J D D D D D D D D =.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.=.D D D D D J D D D D D J D D D D D J D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D J D D D D D J D D D D D J D D D D D J D k X X X X X X X X X X ", "X X X X X X X X X X k D D J D D D D D J D D D D D J D D D D D J J D D D D D J D D D D D J D D D D D J D D D D D J D D D D D J D D J D D D D D J D D D D D J D D D D D 3.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.=.D D D D D D D D J D D D D D J D D D D J D J D J D J D J D J D J D J D J D J D J D J D J D J D J D J D D D J D D D D D J D D D D D J D D D D D J k X X X X X X X X X X ", "X X X X X X X X X X k D D D J D J D D D J D J D D D J D J D D D D D D J D J D D D J D J D D D J D J D D D J D J D D D J D J D D D D J D J D D D J D J D D D J D J D D 3.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.3.D D J J D J D D D J D J D D D J D J D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D J D D D J D J D D D J D J D D D J D J D k X X X X X X X X X X ", "X X X X X X X X X X k J D D D D D J D J D D D J D D D D D J D J J D J D D D D D J D D D J D J D D D D D J D D D J D J D D D D D D D D D D J D J D D D J D D D D D D D 0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.D D D D D D J D D D D D J D J D D D J D D J D D D J D D D J D D D J D D D J D D D J D D D J D D D J D D D D D J D D D J D J D D D D D J D D D D k X X X X X X X X X X ", "X X X X X X X X X X k D J D J D D D D D J D D D J D J D D D D D D D D D D J D J D D D J D D D D D J D J D D D J D D D D D J D J J D J D D D D D J D D D J D J D J D J 0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.J D J J D D D J D J D D D D D J D D D D J D D D J D D D J D D D J D D D J D D D J D D D J D D D J D D D J D J D D D J D D D D D J D J D D D J D k X X X X X X X X X X ", "X X X X X X X X X X k D J D J D D J D D D J D D D J D J D D D J J D D D J D J D D D J D D D J D J D J D D D D D J D D D J D J D D J D J D D D J D D D D D J D J D D T 0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.T D D D D D D D J D J D J D D D J D D D D D D J D D D D D D D J D D D D D D D J D D D D D D D J D D D J D J D D D D D J D D D J D J D D D J D D k X X X X X X X X X X ", "X X X X X X X X X X k D D D D D D D J D D D J D D D D D J D D D D D D J D D D D D J D D D J D D D D D D D J D J D D D J D D D D D D D D J D D D J D J D D D D D J D ! 0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.! D D J D J D D D D D D D J D D D J D D J D J D D D J D J D J D D D J D J D J D D D J D J D J D D D J D D D D D J D J D D D J D D D D D J D D D k X X X X X X X X X X ", "X X X X X X X X X X l D D D J D D D D D D D D D D J D D D J D J J D J D D D J D D D D D D D D D D D J D J D D D J D J D D D J D D J D D D J D J D D D J D J D D D J ` 0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0./ D D D D D J D J D D D D D D D D D D J D D D J D J D J D D D J D J D J D D D J D J D J D D D J D J D D D J D J D D D J D J D D D J D D D D D J k O X X X X X X X X X ", "X X X X X X X X X X k D D J D D J D J D J D J D D D J D D D D D D D D D D J D D D J D J D J D J D J D D D D D J D D D D D J D D D D J D D D D D J D D D D D J D D D ..0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0...D J J D D D D D J D J D J D J D J D D D D J D D D D D D D J D D D D D D D J D D D D D D D J D D D D D J D D D D D J D D D D D J D D D J D J D k X X X X X X X X X X ", "X X X X X X X X X X k D J D D D D J D J D J D J D J D D D D D J J D D D D D J D J D J D J D J D D D D D J D D D D D D D J D D D D D D J D D D D D D D J D D D D D D { 0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.X.D D D D D D D J D D D J D J D J D J D D J D D D D D J D D D D D J D D D J D D D D D J D D D D D J D D D D D J D D D D D D D J D D D J D J D D k X X X X X X X X X X ", "X X X X X X X X X X k D D D D J D D D D D D D D D D J D J D D D D D D J D J D D D D D D D D D D D J D J D D D J D J D J D D D J J D D D J D J D J D D D J D J D D D &.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.X.J D J D J D D D J D D D D D D D D D D J D D D J D J D D D J D J D D D J D D D J D J D D D J D J D D D J D J D D D J D J D J D D D J D D D D D k X X X X X X X X X X ", "X X X X X X X X X X k D J D J D D J D D D J D D D D D D D J D J J D J D D D D D D D J D D D J D J D D D J D J D J D D D J D J D D J D J D D D J D J D J D D D J D D =.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.&.D D D D D J D D D D D J D D D J D D D D D D J D D D J D J D D D D D D D D D J D D D J D J D D D D D J D D D J D J D J D D D J D J D D D J D D l X X X X X X X X X X ", "X X X X X X X X X X k J D D D D D D J D D D J D J D J D D D D D D D D D D J D J D J D D D J D D D D D J D D D D D D D J D D D D D D D D J D D D D D D D J D D D D D =.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.1.J D J D D D J D J D D D J D D D J D D J D J D D D J D D D D D J D J D J D J D D D J D D D D D J D J D D D J D D D D D D D J D D D D D J D D D k X X X X X X X X X X ", "X X X X X X X X X X k D D D J D D D D J D D D D D J D J D D D J J D D D J D J D D D D D J D D D D D J D D D J D D D J D D D J D D J D D D J D D D J D D D J D D J D 3.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.1.D D D D D D D J D J D D D J D D D D J D J D D D D D J D D D J D J D J D J D D D D D J D D D J D J D D D J D D D J D D D J D D D J D D D D D J k X X X X X X X X X X ", "X X X X X X X X X X l D D J D D J D D D J D J D D D D D J D D D D D D J D D D D D J D J D D D J D J D D D J D D D J D D D J D D D D J D D D J D D D J D D D J D D D 0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.3.D D J D J D D D D D J D D D J D J D D D D D D J D J D D D J D D D D D D D D D J D J D D D J D D D D D J D D D J D D D J D D D J D D D J D J D k X X X X X X X X X X ", "X X X X X X X X X X k D D D D D D J D J D D D J D J D D D J D J J D J D D D J D J D D D J D J D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D 0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.&./ T T ` &.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.D J D D D J D J D D D J D J D D D J D D J D J D D D J D J D D D J D D D J D J D D D J D J D D D J D D D D D D D D D D D D D D D D D J D D D D k X X X X X X X X X X ", "X X X X X X X X X X k D D J D J D D D D J D D D D D J D D D D D D D D D D J D D D D D J D D D D D J D J D J D J D J D J D J D J J D J D J D J D J D J D J D J D D J 0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.1.` J D D D D D D D ` =.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.J D J D D D D D J D D D D D J D D D D J D D D D D J D D D D D J D D D J D D D D D J D D D D D J D D D J D J D J D J D J D J D J D J D D D J D k X X X X X X X X X X ", "X X X X X X X X X X l D D J D J D D D J D D D D D J D D D D D J J D D D D D J D D D D D J D D D J D J D J D J D J D J D J D J D J D J D J D J D J D J D J D J D D J 0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.$.! D J D J D J D D J D D D T X.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.J D D J D D D D D J D D D D D J D D D D D D J D D D D D J D D D D D J D D D D D J D D D D D J D D D J D J D J D J D J D J D J D J D D D D D J k X X X X X X X X X X ", "X X X X X X X X X o k D D D D D J D D D J D J D D D J D J D D D D D D J D J D D D J D J D D D J D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D ! 0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.3.` J D D D D D D D D D J D D D J D D D ` 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.T D D D J D J D D D J D J D D D J D D J D J D D D J D J D D D J D J D D D J D J D D D J D J D D D J D D D D D D D D D D D D D D D D D J D J D k X X X X X X X X X X ", "X X X X X X X X X X k D D J D D D J D J D D D J D D D D D J D J J D J D D D D D J D D D J D J D D D J D D D J D D D J D D D J D D D J D D D J D D D J D D D J D D ! 0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.=.! D D D D D D D D J D D D D D D D J D J J D D ! &.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.T D D D D D D J D J D D D J D D D D J D D D J D J D D D D D J D D D J D J D D D D D J D D D J D J D D D J D D D J D D D J D D D J D J D D D D k X X X X X X X X X X ", "X X X X X X X X X X l D D D J D D D D D J D D D J D J D D D D D D D D D D J D J D D D J D D D D D J D D D J D D D J D D D J D D D J D D D J D D D J D D D J D D D ! 0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.X.T D D D D J D D J D D D J D D J D J D D D D D D D J D J ..3.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.! D J D J D D D D D J D D D J D J D D D D J D D D D D J D J D D D J D D D D D J D J D D D J D D D D D J D D D J D D D J D D D J D D D D D J D k X X X X X X X X X X ", "X X X X X X X X X X k D D D D D D J D D D J D D D J D J D D D J J D D D J D J D D D J D D D J D D D D D J D D D D D D D J D D D D D D D J D D D D D D D J D D D D / 0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.3...D D D D D D J D J D J D D D D D D J D J D D D J D D J D D D D J / 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0./ D D J D J D D D J D D D D D J D J D D J D D D J D J D J D D D D D J D D D J D J D D D J D D D J D D D D D J D D D D D D D J D D D D D J D D k X X X X X X X X X X ", "X X X X X X X X X X k D J D J D D D J D D D J D D D D D J D D D D D D J D D D D D J D D D J D D D J D J D D D J D J D J D D D J D J D J D D D J D J D J D D D J D / 0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.=.! D J D D D J D J D D D D D D J D J D D D D D J D D D D J D D D J D D D D ! =.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0./ D D D D D J D D D J D J D D D D D D J D D D J D D D D D D D J D J D D D J D D D D D J D D D J D D D J D J D D D J D J D J D D D J D J D D D k X X X X X X X X X X ", "X X X X X X X X X X k D D D D J D D D D D D D D D J D D D J D J J D J D D D J D D D D D D D D D J D D D J D J D J D D D J D J D J D D D J D J D J D D D J D J D D ` 0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.{ T D D J D J D D D D D D D D D J D D D D J D J D D D J D J D D D D J D D D D D D D J o.3.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.` D D J D D D J D J D D D J D J D D D D D D D D D D D D J D J D D D J D J D D D J D D D D D D D D D J D D D J D J D J D D D J D J D D D D D J k O X X X X X X X X X ", "X X X X X X X X X X l D J D D D J D J D J D J D D D J D D D D D D D D D D J D D D J D J D J D J D D D J D D D D D D D J D D D D D D D J D D D D D D D J D D D D D ` 0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.3.` J D D D D D D D D D J D J D J D J D D J D D D D D J D D D D D D J D J D D J D J D D J D D J ` 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0./ D D D J D D D D D J D D D D D J D D J D J D J D J D J D D D D D J D D D D D J D D D J D J D J D J D D D J D D D D D D D J D D D D D J D J D k X X X X X X X X X X ", "X X X X X X X X X X k D D J D D D J D J D J D J D J D D D D D J J D D D D D J D J D J D J D J D D D J D D D D D J D D D D D J D D D J D D D D D J D D D D D J D D ` 0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.&.! D J D J D J D J D D D J D D D D D D D D D D J D D D D D J D D D D D D D J D D D D D J D D D J D J D ! $.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0./ D D D D J D D D D D D D J D D D D J D J D J D J D D D J D D D D D J D D D D D J D J D J D J D J D D D J D D D D D J D D D D D J D J D J D D k X X X X X X X X X X ", "X X X X X X X X X X k D D D J D D D D D D D D D D D J D J D D D D D D J D J D D D D D D D D D D D J D D D J D J D D D J D J D D D J D D D J D J D D D J D J D D D ! 0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.3...J D J D D D D D D D D D D J D D D J D J J D J D D D J D J D D D J D J D J D D D J D J D D D J D D D D D D D D J ..0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0./ D J D D D J D J D J D D D J D J D D D D D D D D D D J D D D J D J D D D J D J D D D D D D D D D D D J D D D J D J D D D J D J D D D D D D D k X X X X X X X X X X ", "X X X X X X X X X X k J D D D D D J D D D J D D D D D D D J D J J D J D D D D D D D J D D D J D D D D D J D D D J D J D D D D D D D D D J D D D J D J D D D D D D ! 0.0.0.0.0.0.0.0.0.0.0.0.0.0.=./ J D D D D D D D J D D D J D D D D D J D D D D D D J D D D D D J D J D D D J D J D J D D D J D D D D D J D D D D D D D J / =.0.0.0.0.0.0.0.0.0.0.0.0.0.0.! D D J D J D D D J D J D J D D D J D D J D D D J D D D D D J D D D J D J D D D D D D D J D D D J D D D D D J D D D J D J D D D D D D D J D D l X X X X X X X X X X ", "X X X X X X X X X X k D J D J D D D J D D D J D J D J D D D D D D D D D D J D J D J D D D J D D D J D J D D D J D D D D D J D J D J D J D D D J D D D D D J D J D T 0.0.0.0.0.0.0.0.0.0.0.3.` J J D D D D D J D D J D D D J D D D J D J D D D J J D D D J D J D D D D D J D D D D D D D J D D D J D J D D D J D D J D D D D D J J ` 1.0.0.0.0.0.0.0.0.0.0.0.J D D D D D J D D D D D D D J D D D D J D D D J D D D J D J D D D J D D D D D J D J D J D D D J D D D J D J D D D J D D D D D J D J D J D D D k X X X X X X X X X X ", "X X X X X X X X X X k D D J D J D D D J D D D D D J D J D D D J J D D D J D J D D D D D J D D D J D J D D D D D J D D D J D J D J D J D D D D D J D D D J D J D D D 0.0.0.0.0.0.0.0.0.$.T D D J J D D D J D J D D D D D J D D D J D J D D D D D D D D D D J D J D J D D D J D D D J D D D J D D D D D J D D D J J D D D J D D D D D D ! X.0.0.0.0.0.0.0.0.3.J D D J D D D J D D D J D D D J D D D D D D J D D D J D J D D D D D J D D D J D J D D D D D J D D D J D J D D D D D J D D D J D J D D D D D J k X X X X X X X X X X ", "X X X X X X X X X X k D D D D D J D D D J D J D D D D D J D D D D D D J D D D D D J D J D D D J D D D D D J D J D D D J D D D D D D D D D J D J D D D J D D D D D D X.0.0.0.0.1...! D D D D D D D D D J D D D D D J D J D D D J D D D D D J D J J D J D D D D D D D J D D D J D D D J D D D J D J D D D J D D D D D D J D D D J J D D D D D ! X.1.0.0.0.0.X.D D D D J D D D J D D D J D D D J D D J D J D D D J D D D D D J D J D D D J D D D D D J D J D D D J D D D D D J D J D D D J D D D D D J D J D k X X X X X X X X X X ", "X X X X X X X X X X k J D J D D D J D J D D D J D J D D D J D J J D J D D D J D J D D D J D J D D D J D J D D D J D J D D D J D D D J D J D D D J D J D D D J D J D D ` ` ! J D D D D D D J D J J D J D D D J D J D D D J D J D D D J D J D D D D D D J D J D D D D D D D D D D D D D D D D D D D J D J D J D J J D J D J D J D D J D J D D D D D J ! ` / J D D D D D D D D D D D D D D D D D D J D D D J D J D D D J D J D D D J D J D D D J D J D D D J D J D D D J D J D D D J D J D D D J D J D D D D k X X X X X X X X X X ", "X X X X X X X X X X k D D D J D D D D D J D D D D D J D D D D D D D D D D J D D D D D J D D D D D J D D D D D J D D D D D J D D D J D D D D D J D D D D D J D D D D D D J D D J D D J D D D D D D D D D D J D D D D D J D D D D D J D D D D D J J D D D D D J D J D J D J D J D J D J D J D J D D D D D D D D D D D D D D D D D D D D D D J D J D D D D D D D J J D J D J D J D J D J D J D J D D D D J D D D D D J D D D D D J D D D D D J D D D D D J D D D D D J D D D D D J D D D D D J D D D D D J D k X X X X X X X X X X ", "X X X X X X X X X X k D D D D D D D D D D J D D D D D J D D D D D J D D D D D J D D D D D J D D D D D J D D D D D J D D D D D J D D D D D J D D D D D J D D D D D J D D D D D J D D D D D J D D D D D J D D D D D J D D D D D J D D D D D J D D D D D J D D D D D J D J D J D J D J D J D J D J D J D J D J D J D J D J D J D J D J D J D J D J D J D J D J D J D J D J D J D J D J D J D J D J D D D D J D D D D D J D D D D D J D D D D D J D D D D D J D D D D D J D D D D D J D D D D D J D D D D D J k X X X X X X X X X X ", "X X X X X X X X X X l D D J D J J D J D D D J D J D D D J D J D D D J D J D D D J D J D D D J D J D D D J D J D D D J D J D D D J D J D D D J D J D D D J D J D D D J D J D D D J D J D D D J D J D D D J D J D D D J D J D D D J D J D D D J D J D D D J D J D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D J D J D D D J D J D D D J D J D D D J D J D D D J D J D D D J D J D D D J D J D D D J D J D D D J D J D k X X X X X X X X X X ", "X X X X X X X X X X k D J D D D D D D J D D D D D J D J D D D J D D D D D J D J D D D J D D D D D J D J D D D J D D D D D J D J D D D J D D D D D J D J D D D J D D D D D J D J D D D J D D D D D J D J D D D J D D D D D J D J D D D J D D D D D J D J D D D J D J D D D J D D D J D D D J D D D J D D D J D D D J D D D J D D D J D D D J D D D J D D D J D D D J D D D J D D D J D D D J D D J D D D J D J D D D D D J D D D J D J D D D D D J D D D J D J D D D D D J D D D J D J D D D D D J D D D D k X X X X X X X X X X ", "X X X X X X X X X X k D D D D J J D D D J D J D D D D D J D D D J D J D D D D D J D D D J D J D D D D D J D D D J D J D D D D D J D D D J D J D D D D D J D D D J D J D D D D D J D D D J D J D D D D D J D D D J D J D D D D D J D D D J D J D D D D D J D D D D D J D D D J D D D J D D D J D D D J D D D J D D D J D D D J D D D J D D D J D D D J D D D J D D D J D D D J D D D J D D D J D D D D J D D D D D J D J D D D J D D D D D J D J D D D J D D D D D J D J D D D J D D D D D J D J D D D J D k X X X X X X X X X X ", "X X X X X X X X X X k D D D D D D D D D D J D J D J D D D J D D D J D J D D D J D D D D D J D J D J D D D J D D D J D J D D D J D D D D D J D J D J D D D J D D D J D J D D D J D D D D D J D J D J D D D J D D D J D J D D D J D D D D D J D J D J D D D J D D D D D J D D D D D D D J D D D D D D D J D D D D D D D J D D D D D D D J D D D D D D D J D D D D D D D J D D D D D D D J D D D D D D J D D D J D J D J D D D D D J D D D J D J D D D J D D D J D J D J D D D D D J D D D J D J D D D J D D k X X X X X X X X X X ", "X X X X X X X X X O k J D J D J J D J D D D D D D D J D D D J D D D D D J D D D J D J D D D D D D D J D D D J D D D D D J D D D J D J D D D D D D D J D D D J D D D D D J D D D J D J D D D D D D D J D D D J D D D D D J D D D J D J D D D D D D D J D D D J D J D D D J D J D J D D D J D J D J D D D J D J D J D D D J D J D J D D D J D J D J D D D J D J D J D D D J D J D J D D D J D J D D J D D D J D D D D D D D J D J D D D J D D D D D J D D D J D D D D D D D J D J D D D J D D D D D J D D D k X X X X X X X X X X ", "X X X X X X X X X X k D J D D D D D D J D J D D D D D D D D D D D J D D D J D J D D D J D J D D D D D D D D D D D J D D D J D J D D D J D J D D D D D D D D D D D J D D D J D J D D D J D J D D D D D D D D D D D J D D D J D J D D D J D J D D D D D D D D D D D J D J D D D J D J D J D D D J D J D J D D D J D J D J D D D J D J D J D D D J D J D J D D D J D J D J D D D J D J D J D D D J D D D D D D D D D D J D J D D D J D J D D D J D D D D D D D D D D D J D J D D D J D J D D D J D D D D D J k O X X X X X X X X X ", "X X X X X X X X X X k D D D D J J D D D D D J D J D J D J D J D D D J D D D D D J D D D D D J D J D J D J D J D D D J D D D D D J D D D D D J D J D J D J D J D D D J D D D D D J D D D D D J D J D J D J D J D D D J D D D D D J D D D D D J D J D J D J D J D D D D D J D D D D D D D J D D D D D D D J D D D D D D D J D D D D D D D J D D D D D D D J D D D D D D D J D D D D D D D J D D D D J D J D J D J D J D D D D D J D D D D D J D D D J D J D J D J D J D D D D D J D D D D D J D D D J D J D k X X X X X X X X X X ", "X X X X X X X X X X k D D D D D D D D D D J D D D J D J D J D J D D D J D D D D D D D J D D D D D J D J D J D J D J D D D D D J D D D D D J D D D J D J D J D J D D D J D D D D D D D J D D D D D J D J D J D J D J D D D D D J D D D D D J D D D J D J D J D J D J D D D D D J D D D D D J D D D J D D D D D J D D D D D J D D D J D D D D D J D D D D D J D D D J D D D D D J D D D D D J D D J D J D J D J D D D J D D D D D J D D D D D J D J D J D J D J D D D D D J D D D D D D D J D D D J D J D D k X X X X X X X X X X ", "X X X X X X X X X X l D D J D J J D J D D D J D D D D D D D D D J D D D J D J D J D D D J D J D D D D D D D D D D D J D J D D D J D J D D D J D D D D D D D D D J D D D J D J D J D D D J D J D D D D D D D D D D D J D J D D D J D J D D D J D D D D D D D D D D D J D J D D D J D J D D D J D D D J D J D D D J D J D D D J D D D J D J D D D J D J D D D J D D D J D J D D D J D J D D D J D D D D D D D D D D J D D D J D J D D D J D J D D D D D D D D D D D J D J D D D J D J D J D D D J D D D D D k X X X X X X X X X X ", "X X X X X X X X X X k D J D D D D D D J D D D D D J D D D J D D D J D J D D D J D J D J D D D J D J D D D J D D D D D D D J D J D D D J D D D D D J D D D J D D D J D J D D D J D J D J D D D J D J D D D J D D D D D D D J D J D D D J D D D D D J D D D J D D D D D D D J D J D D D J D D D D D D D D D J D J D D D J D D D D D D D D D J D J D D D J D D D D D D D D D J D J D D D J D D D D D D J D D D J D D D D D J D D D J D J D D D D D D D J D D D J D J D D D J D J D J D D D J D J D D D J D D l X X X X X X X X X X ", "X X X X X X X X X X k D D D D J J D D D J D J D D D J D D D J D D D D D J D D D D D D D J D D D D D J D D D J D J D J D D D D D J D D D J D J D D D J D D D J D D D D D J D D D D D D D J D D D D D J D D D J D J D J D D D D D J D D D J D J D D D J D D D J D J D J D D D D D J D D D J D J D J D J D D D D D J D D D J D J D J D J D D D D D J D D D J D J D J D J D D D D D J D D D J D J D D J D D D J D D D J D J D D D J D D D D D J D J D J D D D J D D D D D J D D D D D D D J D D D D D J D D D k X X X X X X X X X X ", "X X X X X X X X X X k D D D D D D D D D D J D J D D D J D D D D D J D D D J D D D J D D D J D D D D D J D D D D D J D J D D D J D D D D D J D J D D D J D D D D D J D D D J D D D J D D D J D D D D D J D D D D D J D J D D D J D D D D D J D J D D D J D D D D D J D J D D D J D D D D D J D J D J D J D D D J D D D D D J D J D J D J D D D J D D D D D J D J D J D J D D D J D D D D D J D J D D D D J D D D J D J D D D D D J D D D J D J D D D D D J D D D D D J D D D J D D D J D D D J D D D D D J k X X X X X X X X X X ", "X X X X X X X X X O k J D J D J J D J D D D D D J D D D J D J D D D J D D D J D D D J D D D J D J D D D J D J D D D D D J D D D J D J D D D D D J D D D J D J D D D J D D D J D D D J D D D J D J D D D J D J D D D D D J D D D J D J D D D D D J D D D J D J D D D D D J D D D J D J D D D D D D D D D J D D D J D J D D D D D D D D D J D D D J D J D D D D D D D D D J D D D J D J D D D D D D J D J D D D J D D D D D J D J D D D J D D D D D J D J D D D J D J D D D J D D D J D D D J D D D J D J D k X X X X X X X X X X ", "X X X X X X X X X X k D J D D D D D D J D J D D D J D J D D D J D D D D D D D D D D D D D D D D D J D J D D D J D J D D D J D J D D D J D J D D D J D J D D D J D D D D D D D D D D D D D D D D D J D J D D D J D J D D D J D J D D D J D J D D D J D J D D D J D J D D D J D J D D D J D J D D D J D D D J D J D D D J D J D D D J D D D J D J D D D J D J D D D J D D D J D J D D D J D J D D J D D D J D J D D D J D J D D D J D J D D D J D J D D D J D J D D D D D D D D D D D D D D D D D J D D D D k X X X X X X X X X X ", "X X X X X X X X X X k D D D D J J D D D D D J D D D D D J D D D J D J D J D J D J D J D J D J D D D D D J D D D D D J D D D D D J D D D D D J D D D D D J D D D J D J D J D J D J D J D J D J D D D D D J D D D D D J D D D D D J D D D D D J D D D D D J D D D D D J D D D D D J D D D D D J D D D J D D D D D J D D D D D J D D D J D D D D D J D D D D D J D D D J D D D D D J D D D D D J D D D D J D D D D D J D D D D D J D D D D D J D D D D D J D D D D D J D J D J D J D J D J D J D J D D D J D k X X X X X X X X X X ", "X X X X X X X X X X k D D J D D D J D D D D D J D D D D D J D D D J D J D J D J D J D J D J D J D D D J D D D D D J D D D D D J D D D D D J D D D D D J D D D D D J D J D J D J D J D J D J D J D J D D D D D J D D D D D J D D D J D D D D D J D D D D D J D D D D D J D D D D D J D D D D D J D D D D D J D D D D D J D D D D D D D J D D D D D J D D D D D J D D D D D J D D D D D J D D D D D D J D D D D D J D D D D D J D D D J D D D D D J D D D D D J D J D J D J D J D J D J D J D J D D D D D J k X X X X X X X X X X ", "X X X X X X X X X X k D D D J D D D J D J D D D J D J D D D J D D D D D D D D D D D D D D D D D J D D D J D J D D D J D J D D D J D J D D D J D J D D D J D J D D D D D D D D D D D D D D D D D D D J D J D D D J D J D D D J D D D J D J D D D J D J D D D J D J D D D J D J D D D J D J D D D J D J D D D J D J D D D J D J D J D D D J D J D D D J D J D D D J D J D D D J D J D D D J D J D D J D D D J D J D D D J D J D D D J D D D J D J D D D J D J D D D D D D D D D D D D D D D D D D D J D J D k X X X X X X X X X X ", "X X X X X X X X X X k J D D D D D D D D D J D J D D D J D D D D D J D D D J D D D J D D D J D D D J D J D D D J D D D D D J D J D D D J D D D D D J D J D D D J D J D D D J D D D J D D D J D D D D D D D J D J D D D J D D D D D D D D D J D J D D D J D D D D D J D J D D D J D D D D D J D J D D D J D D D D D J D J D D D J D J D J D D D J D D D D D J D J D D D J D D D D D J D J D D D J D D D D J D D D J D J D D D D D D D D D J D D D J D J D D D D D D D J D D D J D D D J D D D J D J D D D D k X X X X X X X X X X ", "X X X X X X X X X X k D J D J D J D J D D D D D J D D D J D J D D D J D D D J D D D J D D D J D D D D D J D D D J D J D D D D D J D D D J D J D D D D D J D D D D D J D D D J D D D J D D D J D J D J D D D D D J D D D J D J D J D J D D D D D J D D D J D J D D D D D J D D D J D J D D D D D J D D D J D J D D D D D J D D D D D D D J D D D J D J D D D D D J D D D J D J D D D D D J D D D D J D J D D D J D D D D D J D J D J D J D D D J D D D D D J D J D J D D D J D D D J D D D J D D D D D J D k X X X X X X X X X X ", "X X X X X X X X X X k D J D J D D J D J D D D J D D D D D J D J D D D J D D D D D D D J D D D D D J D D D J D D D J D J D D D J D D D D D J D J D J D D D J D D D D D J D D D D D D D J D D D D D J D J D D D J D D D D D J D J D J D J D D D J D D D D D J D J D J D D D J D D D J D J D D D J D D D D D J D J D J D D D J D D D J D D D J D D D J D J D D D J D D D D D J D J D J D D D J D D J D J D D D D D J D D D J D J D J D J D D D D D J D D D J D J D D D D D J D D D D D D D J D D D D D J D D k X X X X X X X X X X ", "X X X X X X X X X X k D D D D D D D D D J D D D J D J D D D D D J D D D J D J D J D D D J D J D D D J D D D J D D D D D J D D D J D J D D D D D D D J D D D J D J D D D J D J D J D D D J D J D D D D D J D D D J D J D D D D D D D D D J D D D J D J D D D D D D D J D D D J D D D D D J D D D J D J D D D D D D D J D D D J D D D J D D D J D D D D D J D D D J D J D D D D D D D J D D D J D D D D D D J D J D D D J D D D D D D D D D J D J D D D J D D D D D J D J D D D J D J D J D D D J D J D D D k X X X X X X X X X X ", "X X X X X X X X X X l D D D J D D J D D D J D J D D D J D J D D D J D J D D D J D J D J D D D J D D D D D D D D D J D D D J D J D D D J D J D D D D D D D D D D D J D J D D D J D J D J D D D J D J D D D J D J D D D J D J D D D J D D D J D J D D D J D J D D D D D D D D D D D J D D D J D J D D D J D J D D D D D D D D D D D D D D D D D D D J D D D J D J D D D J D J D D D D D D D D D D D D J D J D D D J D J D D D J D D D J D J D D D J D J D D D J D J D D D J D J D J D D D J D J D D D D D J k O X X X X X X X X X ", "X X X X X X X X X X k D D J D D D D J D D D D D J D D D D D J D D D D D J D D D D D D D J D D D J D J D J D J D D D J D D D D D J D D D D D J D J D J D J D J D D D D D J D D D D D D D J D D D D D J D D D D D J D D D D D J D D D J D D D D D J D D D D D J D J D J D J D J D D D J D D D D D J D D D D D J D J D J D J D J D J D J D J D J D D D J D D D D D J D D D D D J D J D J D J D J D D J D D D D D J D D D D D J D D D J D D D D D J D D D D D J D D D D D J D D D D D D D J D D D D D J D J D k X X X X X X X X X X ", "X X X X X X X X X X k D J D D D D D D J D D D D D D D J D D D D D J D D D D D J D D D D D J D D D J D J D J D J D J D D D D D J D D D D D J D D D J D J D J D J D J D D D D D J D D D D D J D D D D D J D D D D D D D J D D D D D D D J D D D D D D D J D D D D D J D J D J D J D J D D D D D J D D D D D J D D D J D J D J D J D J D J D J D J D J D D D D D J D D D D D J D D D J D J D J D J D D D D J D D D D D D D J D D D D D D D J D D D D D D D J D D D D D J D D D D D J D D D D D J D J D J D D k X X X X X X X X X X ", "X X X X X X X X X X k D D D D J J D D D J D J D J D D D J D J D D D J D J D D D J D J D D D J D D D D D D D D D D D J D J D D D J D J D D D J D D D D D D D D D D D J D J D D D J D J D D D J D J D D D J D J D J D D D J D J D J D D D J D J D J D D D J D J D D D D D D D D D D D J D J D D D J D J D D D J D D D D D D D D D D D D D D D D D D D J D J D D D J D J D D D J D D D D D D D D D D J D J D D D J D J D J D D D J D J D J D D D J D J D J D D D J D J D D D J D J D D D J D J D D D D D D D k X X X X X X X X X X ", "X X X X X X X X X X k D J D J D D J D J D D D J D J D J D D D J D D D D D J D J D D D J D D D D D J D D D J D D D D D D D J D J D D D J D D D D D J D D D J D D D D D D D J D J D D D J D D D D D J D J D D D J D J D J D D D J D J D J D D D J D J D J D D D J D J D D D J D D D D D D D J D J D D D J D D D D D J D D D J D D D J D D D J D D D D D D D J D J D D D J D D D D D J D D D J D D J D D D J D J D J D D D J D J D J D D D J D J D J D D D J D J D D D D D J D D D J D J D D D D D D D J D D l X X X X X X X X X X ", "X X X X X X X X X X k J D D D D D D D D J D D D D D D D J D D D J D J D D D D D J D D D J D J D D D J D D D J D J D J D D D D D J D D D J D J D D D J D D D J D J D J D D D D D J D D D J D J D D D D D J D D D D D D D J D D D D D D D J D D D D D D D J D D D D D J D D D J D J D J D D D D D J D D D J D J D D D J D D D J D D D J D D D J D J D J D D D D D J D D D J D J D D D J D D D J D D D D J D D D D D D D J D D D D D D D J D D D D D D D J D D D D D J D J D D D J D D D D D J D J D J D D D k X X X X X X X X X X ", "X X X X X X X X X X k D D D J D D J D D D J D D D J D D D J D D D J D J D D D J D D D D D J D J D D D J D D D D D J D J D D D J D D D D D J D J D D D J D D D D D J D J D D D J D D D D D J D J D J D D D J D D D J D D D J D D D J D D D J D D D J D D D J D D D D D J D D D D D J D J D D D J D D D D D J D J D D D J D D D D D D D J D D D D D J D J D D D J D D D D D J D J D D D J D D D D D D J D D D J D D D J D D D J D D D J D D D J D D D J D D D J D J D J D D D D D J D D D J D J D D D D D J k X X X X X X X X X X ", "X X X X X X X X X X l D D J D D D D J D D D J D D D J D D D J D D D D D J D D D J D J D D D D D J D D D J D J D D D D D J D D D J D J D D D D D J D D D J D J D D D D D J D D D J D J D D D D D D D J D D D J D D D J D D D J D D D J D D D J D D D J D D D J D J D D D J D J D D D D D J D D D J D J D D D D D J D D D J D J D J D D D J D J D D D D D J D D D J D J D D D D D J D D D J D J D D J D D D J D D D J D D D J D D D J D D D J D D D J D D D J D D D D D D D J D J D D D J D D D D D J D J D k X X X X X X X X X X ", "X X X X X X X X X X k D D D D D D D D D D D D D D D D D D D D D D J D D D J D J D D D J D J D D D J D J D D D J D J D D D J D J D D D J D J D D D J D J D D D J D J D D D J D J D D D J D J D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D J D J D D D J D J D D D J D J D D D J D J D D D J D J D D D J D J D J D D D J D J D D D J D J D D D J D J D D D J D J D D D J D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D J D J D D D J D J D D D J D J D D D D k X X X X X X X X X X ", "X X X X X X X X X X k D D J D J J D J D J D J D J D J D J D J D D D J D D D D D J D D D D D J D D D D D J D D D D D J D D D D D J D D D D D J D D D D D J D D D D D J D D D D D J D D D D D J D J D J D J D J D J D J D J D J D J D J D J D J D J D J D J D J D D D D D J D D D D D J D D D D D J D D D D D J D D D D D J D D D D D D D J D D D D D J D D D D D J D D D D D J D D D D D J D D D D J D J D J D J D J D J D J D J D J D J D J D J D J D J D J D J D J D D D D D J D D D D D J D D D D D J D k X X X X X X X X X X ", "X X X X X X X X X X k D D D D D D J D J D J D J D J D J D J D J D J D D D D D J D D D D D J D D D D D J D D D D D J D D D D D J D D D D D J D D D D D J D D D D D J D D D D D J D D D D D J D D D J D J D J D J D J D J D J D J D J D J D J D J D J D J D J D J D J D D D D D J D D D D D J D D D D D J D D D D D J D D D D D J D D D D D J D D D D D J D D D D D J D D D D D J D D D D D J D D D J D J D J D J D J D J D J D J D J D J D J D J D J D J D J D J D D J D D D D D D D D D D J D D D D D J D l o X X X X X X X X X ", "X X X X X X X X X X k J D J D J D D D D D D D D D D D D D D D D D D J D J D D D J D J D D D J D J D D D J D J D D D J D J D D D J D J D D D J D J D D D J D J D D D J D J D D D J D J D D D J D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D J D J D D D J D J D D D J D J D D D J D J D D D J D J D D D J D J D D D J D J D D D J D J D D D J D J D D D J D J D D D J D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D J D D D J D J J D J D D D J D J D D D D k X X X X X X X X X X ", "X X X X X X X X X X s D J D D D D J D D D J D D D J D D D J D D D D D D D J D J D D D J D D D D D J D J D D D J D D D D D J D J D D D J D D D D D J D J D D D J D D D D D J D J D D D J D D D D D J D D D J D D D J D D D J D D D J D D D J D D D J D D D J D D D D D D D J D J D D D J D D D D D J D J D D D J D D D D D J D J D D D J D D D D D J D J D D D J D D D D D J D J D D D J D D D D D J D D D J D D D J D D D J D D D J D D D J D D D J D D D J D D D D D D J D D D D D D J D D D D D J D J D s X X X X X X X X X X ", "X X X X X X X X X X i J D D D J D D J D D D J D D D J D D D J D J D J D D D D D J D D D J D J D D D D D J D D D J D J D D D D D J D D D J D J D D D D D J D D D J D J D D D D D J D D D J D J D D D J D D D J D D D J D D D J D D D J D D D J D D D J D D D J D J D J D D D D D J D D D J D J D D D D D J D D D J D J D D D D D J D D D J D J D D D D D J D D D J D J D D D D D J D D D J D J D D D J D D D J D D D J D D D J D D D J D D D J D D D J D D D J D D J D J D D D J J D D D J D J D D D D D D i X X X X X X X X X X ", "X X X X X X X X X X w D D D J D D D D J D D D D D D D J D D D D D J D J D D D J D D D D D J D J D J D D D J D D D J D J D D D J D D D D D J D J D J D D D J D D D J D J D D D J D D D D D J D J D D D J D D D D D D D J D D D D D D D J D D D D D D D J D D D D D J D J D D D J D D D D D J D J D J D D D J D D D J D J D D D J D D D D D J D J D J D D D J D D D J D J D D D J D D D D D J D J D D D J D D D D D D D J D D D D D D D J D D D D D D D J D D D D J D J D D D D D D D D D D J D J D J D D D w X X X X X X X X X X ", "X X X X X X X X X X 2 D D J D D J D D D J D J D J D D D J D J D D D D D J D D D J D J D D D D D D D J D D D J D D D D D J D D D J D J D D D D D D D J D D D J D D D D D J D D D J D J D D D D D J D D D J D J D J D D D J D J D J D D D J D J D J D D D J D J D D D D D J D D D J D J D D D D D D D J D D D J D D D D D J D D D J D J D D D D D D D J D D D J D D D D D J D D D J D J D D D D D J D D D J D J D J D D D J D J D J D D D J D J D J D D D J D J D D D D D D J D J J D J D D D D D D D J D D 2 X X X X X X X X X X ", "X X X X X X X X X X $ D D D D D D J D J D D D J D J D J D D D J D J D D D J D J D D D J D J D D D D D D D D D D D J D D D J D J D D D J D J D D D D D D D D D D D J D D D J D J D D D J D J D D D J D J D D D J D J D J D D D J D J D J D D D J D J D J D D D J D J D D D J D J D D D J D J D D D D D D D D D D D J D D D J D J D D D J D J D D D D D D D D D D D J D D D J D J D D D J D J D D D J D J D D D J D J D J D D D J D J D J D D D J D J D J D D D J D D J D J D D D D D D J D J D D D D D D D $ O X X X X X X X X X ", "X X X X X X X X X X O c D J D J D D D D J D D D D D D D J D D D D D J D D D D D J D D D D D J D J D J D J D J D D D J D D D D D J D D D D D J D J D J D J D J D D D J D D D D D J D D D D D J D D D D D J D D D D D D D J D D D D D D D J D D D D D D D J D D D D D J D D D D D J D D D D D J D J D J D J D J D D D J D D D D D J D D D D D J D J D J D J D J D D D J D D D D D J D D D D D J D D D D D J D D D D D D D J D D D D D D D J D D D D D D D J D D D D J D D D D D J J D D D D D J D J D J D z X X X X X X X X X X X ", "X X X X X X X X X X X 7 D D D D D J D D D D D J D D D D D J D D D D D J D D D D D D D J D D D D D J D J D J D J D J D D D D D J D D D D D J D D D J D J D J D J D D D J D D D D D D D J D D D D D J D D D D D J D D D D D J D D D J D D D D D J D D D D D J D D D D D J D D D D D D D J D D D D D J D J D J D J D J D D D D D J D D D D D J D D D J D J D J D J D D D J D D D D D D D J D D D D D J D D D D D J D D D D D J D D D J D D D D D J D D D D D J D D D D D D J D D D D D D D D D D D J D D D 6 X X X X X X X X X X X ", "X X X X X X X X X X X $ S D D J D D J D J D D D J D J D D D J D J D D D J D J D J D D D J D J D D D D D D D D D D D J D J D D D J D J D D D J D D D D D D D D D J D D D J D J D J D D D J D J D D D J D J D D D J D J D D D J D D D J D J D D D J D J D D D J D J D D D J D J D J D D D J D J D D D D D D D D D D D J D J D D D J D J D D D J D D D D D D D D D J D D D J D J D J D D D J D J D D D J D J D D D J D J D D D J D D D J D J D D D J D J D D D J D D J D J D D D J D J D J J D J D D D D Z $ X X X X X X X X X X X ", "X X X X X X X X X X X X y D J D D D D D D J D J D D D J D D D D D J D J D D D J D J D J D D D J D J D D D J D D D D D D D J D J D D D J D D D D D J D D D J D D D J D J D D D J D J D J D D D J D D D D D J D J D D D J D D D D D D D D D J D J D D D J D D D D D J D J D D D J D J D J D D D J D J D D D J D D D D D D D J D J D D D J D D D D D J D D D J D D D J D J D D D J D J D J D D D J D D D D D J D J D D D J D D D D D D D D D J D J D D D J D D D D J D D D J D J D J D D D D D D J D D D t X X X X X X X X X X X X ", "X X X X X X X X X X X X - C D D J D J D D D D D J D D D J D J D D D D D J D D D D D D D J D D D D D J D D D J D J D J D D D D D J D D D J D J D D D J D D D J D D D D D J D D D D D D D J D D D J D J D D D D D J D D D J D J D J D J D D D D D J D D D J D J D D D D D J D D D D D D D J D D D D D J D D D J D J D J D D D D D J D D D J D J D D D J D D D J D D D D D J D D D D D D D J D D D J D J D D D D D J D D D J D J D J D J D D D D D J D D D J D J D D D D J D D D D D D D J J D D D D J C $ X X X X X X X X X X X X ", "X X X X X X X X X X X X X 6 D D D J D J D D D J D D D D D J D J D J D D D J D D D J D D D J D D D D D J D D D D D J D J D D D J D D D D D J D J D D D J D D D D D J D D D J D D D J D D D J D D D J D J D D D J D D D D D J D J D J D J D D D J D D D D D J D J D J D D D J D D D J D D D J D D D D D J D D D D D J D J D D D J D D D D D J D J D D D J D D D D D J D D D J D D D J D D D J D D D J D J D D D J D D D D D J D J D J D J D D D J D D D D D J D J D D J D D D J D D D J D D D D D D J 4 X X X X X X X X X X X X X ", "X X X X X X X X X X X X X X p D D D D D J D D D J D J D D D D D D D J D D D J D D D J D D D J D J D D D J D J D D D D D J D D D J D J D D D D D J D D D J D J D D D J D D D J D D D J D D D J D D D D D J D D D J D J D D D D D D D D D J D D D J D J D D D D D D D J D D D J D D D J D D D J D J D D D J D J D D D D D J D D D J D J D D D D D J D D D J D J D D D J D D D J D D D J D D D J D D D D D J D D D J D J D D D D D D D D D J D D D J D J D D D D D D J D D D J D D D J D D D J D D D g X X X X X X X X X X X X X X ", "X X X X X X X X X X X X X X $ m D J D D D J D J D D D J D J D D D D D D D D D D D D D D D D D D D J D J D D D J D J D D D J D J D D D J D J D D D J D J D D D J D D D D D D D D D D D D D D D D D J D D D J D J D D D J D J D D D J D D D J D J D D D J D J D D D D D D D D D D D D D D D D D D D J D J D D D J D J D D D J D J D D D J D J D D D J D J D D D J D D D D D D D D D D D D D D D D D J D D D J D J D D D J D J D D D J D D D J D J D D D J D J D D D D D D D D D D D D D D D D D D v $ X X X X X X X X X X X X X o ", "O X X X X X X X X X X X X X X - V D J D D D D D J D D D D D J D J D J D J D J D J D J D J D J D D D D D J D D D D D J D D D D D J D D D D D J D D D D D J D D D J D J D J D J D J D J D J D J D D D J D D D D D J D D D D D J D D D J D D D D D J D D D D D J D J D J D J D J D J D J D J D J D D D D D J D D D D D J D D D D D J D D D D D J D D D D D J D D D J D J D J D J D J D J D J D J D D D J D D D D D J D D D D D J D D D J D D D D D J D D D D D J D D J D J D J D J D J D J D J D V ; X X X X X X X X X X X X X X X ", "q.X X X X X X X X X X X X X X X , v D J D D D J D J D D D D D D J D J D J D J D J D J D J D J D D D D J D D D D D J D D D D D J J D D D D D J D D D D D D D D D J D J D J D J D J D J D J D J D D D D J D D D D D J D D D D D J J D D D D D J D D D D D D D D D J D J D J D J D J D J D J D J D D D D J D D D D D J D D D D D J J D D D D D J D D D D D D D D D J D J D J D J D J D J D J D J D D D D J D D D D D J D D D D D J J D D D D D J D D D D D D D D D D D D D D D D D D D D D D D m < X X X X X X X X X X X X X X X q.", "q.X X X X X X X X X X X X X X X X $ s D J D D D D D J D J D J D D D D D D D D D D D D D D D D D J D D D J D J D D D J D J D D D D D D J D J D D D J D J J D J D D D D D D D D D D D D D D D D D J D D D J D J D D D J D J D D D D D D J D J D D D J D J J D J D D D D D D D D D D D D D D D D D J D D D J D J D D D J D J D D D D D D J D J D D D J D J J D J D D D D D D D D D D D D D D D D D J D D D J D J D D D J D J D D D D D D J D J D D D J D J J D J D J D J D J D J D J D J D D s # X X X X X X X X X X X X X X X X q.", "q.O X X X X X X X X X X X X X X X X O 4 C D D J D D D D D D D J D D J D D D J D D D J D D D J D D J D J D D D J D D D D D J D J J D J D D D D D J D D D D D D J D D J D D D J D D D J D D D J D D J D J D D D J D D D D D J D J J D J D D D D D J D D D D D D J D D J D D D J D D D J D D D J D D J D J D D D J D D D D D J D J J D J D D D D D J D D D D D D J D D J D D D J D D D J D D D J D D J D J D D D J D D D D D J D J J D J D D D D D J D D D D D D J D D D J D D D J D D D C 4 O X X X X X X X X X X X X X X X X X q.", "q.q.X X X X X X X X X X X X X X X X X X $ y S D J D J D J D D D D J D D D J D D D J D D D J D D D D D D J D D D J D J D D D D D D D D D D J D J D D D J J D D D D J D D D J D D D J D D D J D D D D D D J D D D J D J D D D D D D D D D D J D J D D D J J D D D D J D D D J D D D J D D D J D D D D D D J D D D J D J D D D D D D D D D D J D J D D D J J D D D D J D D D J D D D J D D D J D D D D D D J D D D J D J D D D D D D D D D D J D J D D D J J D D D J D D D J D D D D S y $ X X X X X X X X X X X X X X X X X X q.q.", "q.q.X X X X X X X X X X X X X X X X X X X X $ 7 z D D D D D D D D D J D D D D D D D J D D D D D D J D D D J D D J D D D D D D D D D D D J D D D D D D D D J D D D D J D D D D D D D J D D D D D D J D D D J D D J D D D D D D D D D D D J D D D D D D D D J D D D D J D D D D D D D J D D D D D D J D D D J D D J D D D D D D D D D D D D D D D D D D D D J D D D D J D D D J D D D J D D D D D D J D D D J D D J D D D D D D D D D D D D D D D D D D D D J D D D D D J D D D z 6 $ X X X X X X X X X X X X X X X X X X X X q.q.", "q.q.q.X X X X X X X X X X X X X X X X X X X X X X $ 2 0 i s h h h h h h h h j h h h h h h h j h h h h h h h h h h h h h j h h j h h j h h h h h h j h h h h h h h h h h h h j h h h h h h h j h h h h h h h h h h h h h j h h j h h j h h h h h h j h h h h h h h h h h h h j h h h h h h h j h h h h h h h h h h h h h j h h j h h j h h h j h h j h h h h h h h h h h h h h h h h h h h h j h h h h h h h h h h h h h j h h j h h j h j h h h h j h h h h h h h h s i 0 2 $ X O X X X X X X X X X X X X X X X X X X X X q.q.q.", "q.q.q.X X X X X X X X X X X X X X X X X X X X X X X X X O X X X X X O X X X X X X X O X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X O X X X X X X X O X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X O X X X X X X X O X X X X X X X X X X X X X X X X X X X X X X X X X O X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X q.q.q.", "q.q.q.q.X X X X X X X X X X X X X X X X X X X X X X X X O X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X q.q.q.q.", "q.q.q.q.q.X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X q.q.q.q.q.", "q.q.q.q.q.q.X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X q.q.q.q.q.q.", "q.q.q.q.q.q.q.X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X q.q.q.q.q.q.", "q.q.q.q.q.q.q.q.X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X q.q.q.q.q.q.q.q.", "q.q.q.q.q.q.q.q.q.X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X q.q.q.q.q.q.q.q.q.", "q.q.q.q.q.q.q.q.q.q.q.X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X q.q.q.q.q.q.q.q.q.q.q.", "q.q.q.q.q.q.q.q.q.q.q.q.q.X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X q.q.q.q.q.q.q.q.q.q.q.q.q.", "q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X q.q.q.q.q.q.q.q.q.q.q.q.q.q.q.q." }; blockattack-game-2.5.0/source/misc/icons/blockattack32.xpm000066400000000000000000000036421347224572500234520ustar00rootroot00000000000000/* XPM */ static char *blockattack32[] = { /* columns rows colors chars-per-pixel */ "32 32 46 1 ", " c #644600", ". c #654600", "X c #906C00", "o c #916D00", "O c #C99D00", "+ c #C99E00", "@ c #D4A700", "# c #D6A900", "$ c #FECC00", "% c #FFCD00", "& c #FFCE00", "* c #FFCF00", "= c #FFD000", "- c #FED200", "; c #FED400", ": c #FED700", "> c #FDD800", ", c #FED800", "< c #FDDC00", "1 c #FDDD00", "2 c #FDDE00", "3 c #FCDF00", "4 c #FBE700", "5 c #FCE500", "6 c #FCE600", "7 c #FBE800", "8 c #FBE900", "9 c #FBEA00", "0 c #FBEB00", "q c #FBEC00", "w c #FAED00", "e c #FBED00", "r c #FAF000", "t c #FAF100", "y c #FAF200", "u c #F9F400", "i c #F9F500", "p c #FAF400", "a c #F9F800", "s c #F9F900", "d c #F9FA00", "f c #F9FB00", "g c #F8FD00", "h c #F8FE00", "j c #F8FF00", "k c None", /* pixels */ "k..............................k", "..o+########################+X..", ".o%%%%%%%%%%%%%%%%%%%%%%%%%%%%X.", ".+%%%%%%%%%%%%%%%%%%%%%%%%%%%%+.", ".@%%%%%%%%%%%%%%%%%%%%%%%%%%%%@.", ".@%%%%%%%%%%%%%%%%%%%%%%%%%%%%@.", ".@%%%%%%%%%%%%%,,%%%%%%%%%%%%%@.", ".@%%%%%%%%%%%%-dd-%%%%%%%%%%%%@.", ".@%%%%%%%%%%%%0hh0%%%%%%%%%%%%@.", ".@%%%%%%%%%%%,hhhh,%%%%%%%%%%%@.", ".@%%%%%%%%%%%ihhhhi%%%%%%%%%%%@.", ".@%%%%%%%%-3thhhhhhq3-%%%%%%%%@.", ".@%%%%%30dhhhhhhhhhhhhdq3%%%%%@.", ".@%%%%%dhhhhhhhhhhhhhhhhd%%%%%@.", ".@%%%%%:hhhhhhhhhhhhhhhh:%%%%%@.", ".@%%%%%%3hhhhhhhhhhhhhh3%%%%%%@.", ".@%%%%%%%5hhhhhhhhhhhh5%%%%%%%#.", ".@%%%%%%%%thhhhhhhhhht%%%%%%%%@.", ".@%%%%%%%%5hhhhhhhhhh5%%%%%%%%@.", ".@%%%%%%%%9hhhhhhhhhh0%%%%%%%%@.", ".@%%%%%%%%qjhhhhhhhhhq%%%%%%%%@.", ".@%%%%%%%%tjhhhhhhhhht%%%%%%%%@.", ".@%%%%%%%%ihht3%%3thht%%%%%%%%@.", ".@%%%%%%%%04-%$%%%%-00%%%%%%%%@.", ".@%%%%%%%%%%%%%%%%%%%%%%%%%%%%@.", ".@%%%%%%%%%%%%%%%%%%%%%%%%%%%%@.", ".@%%%%%%%%%%%%%%%%%%%%%%%%%%%%@.", ".@%%%%%%%%%%%%%%%%%%%%%%%%%%%%@.", ".+%%%%%%%%%%%%%%%%%%%%%%%%%%%%O ", ".X%%%%%%%%%%%%%%%%%%%%%%%%%%%%X.", "..o+########################+o..", "k..............................k" }; blockattack-game-2.5.0/source/misc/icons/blockattack48.xpm000066400000000000000000000065321347224572500234620ustar00rootroot00000000000000/* XPM */ static char *blockattack48[] = { /* columns rows colors chars-per-pixel */ "48 48 54 1 ", " c #654600", ". c #654700", "X c #6C4C00", "o c #6D4C00", "O c #6C4D00", "+ c #6F4F00", "@ c #715100", "# c #8D6A00", "$ c #8E6A00", "% c #8F6A00", "& c #8F6B00", "* c #E5B600", "= c #E6B700", "- c #E7B800", "; c #FECC00", ": c #FFCD00", "> c #FFCE00", ", c #FFCF00", "< c #FFD000", "1 c #FED100", "2 c #FED200", "3 c #FED300", "4 c #FED400", "5 c #FED500", "6 c #FDD800", "7 c #FDD900", "8 c #FED800", "9 c #FDDA00", "0 c #FDDC00", "q c #FDDE00", "w c #FDDF00", "e c #FCE000", "r c #FCE200", "t c #FCE300", "y c #FBE600", "u c #FBE700", "i c #FCE400", "p c #FCE600", "a c #FBE800", "s c #FBE900", "d c #FBEA00", "f c #FBEB00", "g c #FAEE00", "h c #FAEF00", "j c #FAF000", "k c #FAF100", "l c #F9F500", "z c #FAF400", "x c #F9F600", "c c #F9F800", "v c #F8FC00", "b c #F8FE00", "n c #F8FF00", "m c None", /* pixels */ "mm mm", "m O@O++++++++++++++++++++++++++++++++++O m", " &-<;;;<;;;<;<;;;;;<;;;<;<;;;;;<;;;<;<;<;-& ", " &;;;;;;;<;;;;;<;<;;;<;;;;;<;<;;;<;;;;;;;;;;& ", " -;;;;;;<;<;;;;;;;<;;;<;;;;;<;;;<;<;;;;;<;;;- ", " O<;;<;<;;;;<;<;<;;;<;;;<;<;;;<;;;;;<;<;;;<;<;O ", " @<;<;;;;<;;;;;<;<;<;<;<;;;<;;;;;<;;;;;<;;;;;<@ ", " @;;;;;<;;<;<;;;;;;;;;;;<;;;<;<;;;<;<;;;<;<;;;@ ", " @;;;<;<;<;;;<;<;<;<;<;;;;;;;;;<;<;<;;;<;;;;;;@ ", " @;;;;;;;;<;;;;;;;;;;;;55;<;<;;;;;;;<;;;<;<;<;@ ", ".@<;;<;;;;;;;<;;;<;;;<;cc<;;;<;<;<;;;<;<;;;<;;@ ", ".@;;;;<;<;<;;;<;;;<;;;fnnf;;;;;;;;<;;;;;<;;;<;@ ", ".@;<;;;<;;;<;;;<;;;<;9nnnn9;;;;<;<;<;;;;;<;;;<@ ", " @;;<;;;<;;;<;;;<;;;;xnnnnx;<;;;;;;;<;<;;;<;;;@ ", " @;<;<;<;<;<;<;<;;; c #EFBE00", ", c #EFBF00", "< c #F0C000", "1 c #FECC00", "2 c #FFCD00", "3 c #FFCE00", "4 c #FFCF00", "5 c #FFD000", "6 c #FED100", "7 c #FED200", "8 c #FED300", "9 c #FED400", "0 c #FED600", "q c #FED700", "w c #FDD800", "e c #FDD900", "r c #FDDA00", "t c #FDDB00", "y c #FDDC00", "u c #FDDD00", "i c #FDDE00", "p c #FCE100", "a c #FCE200", "s c #FCE300", "d c #FBE600", "f c #FBE700", "g c #FCE400", "h c #FCE500", "j c #FCE600", "k c #FBE800", "l c #FBE900", "z c #FBEA00", "x c #FBEB00", "c c #FAEF00", "v c #FAF000", "b c #FAF100", "n c #FAF200", "m c #F9F400", "M c #F9F500", "N c #FAF400", "B c #F9F600", "V c #F9F700", "C c #F9F900", "Z c #F9FA00", "A c #F8FD00", "S c #F8FE00", "D c #F8FF00", "F c None", /* pixels */ "FFF...XXXX...XXX...XXX...XXX...XXX...XXX...XXX...XXX...XXXXXXFFF", "FF....XXXX..XXXX..XXXX..XXXX..XXXX..XXXX..XXXX..XXXX..XXXXX.XXFF", "FX...O#=::::::::::::::::::::::::::::::::::::::::::::::::;#O.XXXF", ".XX.&<2222222222222222222222222222222222222222222222222222,$XXXX", "XX.&22222222222222222222222222222222222222222222222222222221&..X", "XXO<22222222222222222222222222222222222222222222222222222222,OXX", "XX#2222222222222222222222222222222222222222222222222222222221#XX", "XX=2222222222222222222222222222222222222222222222222222222222=XX", "..;2222222222222222222222222222222222222222222222222222222222;..", "..;2222222222222222222222222222222222222222222222222222222222;..", ".X;2222222222222222222222222222222222222222222222222222222222;.X", "XX;2222222222222222222222222222222222222222222222222222222222;XX", "XX;2222222222222222222222222222272222222222222222222222222222;..", "XX;2222222222222222222222222222MM2222222222222222222222222222;..", "..;222222222222222222222222222kDDk222222222222222222222222222;.X", "..;22222222222222222222222222tDDDDt22222222222222222222222222;XX", ".X;22222222222222222222222227MDDDDM22222222222222222222222222;..", "XX;2222222222222222222222222gDDDDDDg2222222222222222222222222;..", "XX;2222222222222222222222229DDDDDDDD7222222222222222222222222;.X", "XX;222222222222222222222222xDDDDDDDDx222222222222222222222222;XX", "..;22222222222222222222222tDDDDDDDDDDt22222222222222222222222;..", "..;22222222222222222222227CDDDDDDDDDDC72222222222222222222222;..", ".X;2222222222222222222227xDDDDDDDDDDDDx7222222222222222222222;.X", "XX;222222222222222227ykMDDDDDDDDDDDDDDDDMky722222222222222222;XX", "XX;22222222222227yxCDDDDDDDDDDDDDDDDDDDDDDDDMxy72222222222222;..", "XX;22222222222gMDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDMs22222222222;..", "..;22222222229DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD72222222222;.X", "..;22222222222zDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDk22222222222;XX", ".X;222222222222MDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDM222222222222;..", "XX;2222222222227CDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDC7222222222222;..", "XX;22222222222229DDDDDDDDDDDDDDDDDDDDDDDDDDDDDD92222222222222;.X", "XX;22222222222222yDDDDDDDDDDDDDDDDDDDDDDDDDDDDy22222222222222;XX", "..;222222222222222aDDDDDDDDDDDDDDDDDDDDDDDDDDa222222222222222;..", "..;2222222222222222kDDDDDDDDDDDDDDDDDDDDDDDDg2222222222222222-..", "..;22222222222222222xDDDDDDDDDDDDDDDDDDDDDDb22222222222222222;..", "..;222222222222222227DDDDDDDDDDDDDDDDDDDDDD722222222222222222;.O", "O.;222222222222222222DDDDDDDDDDDDDDDDDDDDDD222222222222222222;..", "..;222222222222222221DDDDDDDDDDDDDDDDDDDDDD122222222222222222;..", "..;222222222222222227DDDDDDDDDDDDDDDDDDDDDD722222222222222222;.X", "..;222222222222222229DDDDDDDDDDDDDDDDDDDDDD922222222222222222;XX", ".X;22222222222222222tDDDDDDDDDDDDDDDDDDDDDDt22222222222222222;..", "XX;22222222222222222yDDDDDDDDDDDDDDDDDDDDDDy22222222222222222;..", "XX;22222222222222222aDDDDDDDDDDDDDDDDDDDDDDa22222222222222222;.X", "XX;22222222222222222aDDDDDDDDDDxxDDDDDDDDDDa22222222222222222;XX", "..;22222222222222222gDDDDDDDMs2227aCDDDDDDDg22222222222222222;..", "..;22222222222222222kDDDDDxy22222222yxDDDDDk22222222222222222;..", ".X;22222222222222222kDDCg92222222222227gCDDg22222222222222222;.X", "XX;222222222222222229gt222222222222222222tgt22222222222222222;XX", "XX;2222222222222222222222222222222222222222222222222222222222;..", "XX;2222222222222222222222222222222222222222222222222222222222;..", "..;2222222222222222222222222222222222222222222222222222222222;.X", "..;2222222222222222222222222222222222222222222222222222222222;XX", ".X;2222222222222222222222222222222222222222222222222222222222;..", "XX;2222222222222222222222222222222222222222222222222222222222;..", "XX;2222222222222222222222222222222222222222222222222222222222;.X", "XX;2222222222222222222222222222222222222222222222222222222222;XX", "..=2222222222222222222222222222222222222222222222222222222222=..", "..#2222222222222222222222222222222222222222222222222222222222+..", "XXO,22222222222222222222222222222222222222222222222222222222,O..", "XX.$12222222222222222222222222222222222222222222222222222222$XX.", "XXXX&,2222222222222222222222222222222222222222222222222211,$.XXX", "FXXX.O#=::::::::::::::::::::::::::::::::::::::::::::::::=#OXXXXF", "FFXXXXXX..XXXX..XXXX..XXXX..XXXX..XXXX..XXXX..XXXX..XXXX..XXXXFF", "FFFXXXX...XXX...XXX...XXX...XXX...XXX...XXX...XXX...XXXXXXXXXFFF" }; blockattack-game-2.5.0/source/misc/lint/000077500000000000000000000000001347224572500201235ustar00rootroot00000000000000blockattack-game-2.5.0/source/misc/lint/runLint.sh000066400000000000000000000013751347224572500221200ustar00rootroot00000000000000#! /bin/bash set -euo pipefail TMPFILE=$(mktemp /tmp/sago-lint.XXXXXX) find ./source/code/ -name "*.cpp" -not -path "./source/code/Libs/*" | xargs --no-run-if-empty grep --with-filename --line-number "^ " >> ${TMPFILE} || true find ./source/code/ -name "*.h*" -not -path "./source/code/Libs/*" | xargs --no-run-if-empty grep --with-filename --line-number "^ " >> ${TMPFILE} || true if [ -s "$TMPFILE" ] then echo "In the following places the lines are indended with spaces. This project uses tabs for indentation." echo "The rule applies to comments too although the check can be bypassed by using either C++ style comments or \" *\" to start a line (Doxygen comments)" cat "$TMPFILE" echo "" echo "Validation failed" rm "$TMPFILE" exit 1 fi rm "$TMPFILE" blockattack-game-2.5.0/source/misc/net.blockattack.game.metainfo.xml000066400000000000000000000043241347224572500254620ustar00rootroot00000000000000 net.blockattack.game MIT GPL-2.0+ Block Attack - Rise of the Blocks A fast paced match-3/blockfall game

This a puzzle/blockfall game inspired by Nintendo’s Tetris Attack (or “Panel de Pon”) for the Super Nintendo. It might seem like any other match-3 style game but it is generally much faster. The game requires fast decisions compared to other puzzle games. While you can setup the perfect chain it is much more likely that you will construct chains while blocks are still dropping around you.

In addition to traditional game types like endless, time trial and stage clear the game does also feature a VS-mode. The VS mode is a dual like you rarely see in a puzzle game.

The game can be played with keyboard, gamepad or mouse. Keyboard or gamepad are strongly recommended.

The game allows two players to compete on the same machine.

Game ArcadeGame https://files.poulsander.com/~poul19/public_files/blockattack/v2.5.0/blockattack_2.5.0_vs1.png A VS game https://files.poulsander.com/~poul19/public_files/blockattack/v2.5.0/blockattack_2.5.0_1.png A time trial game https://files.poulsander.com/~poul19/public_files/blockattack/v2.5.0/blockattack_2.5.0_vs2.png A VS game with more action blockattack.desktop blockattack https://blockattack.net https://github.com/blockattack/blockattack-game/issues https://blockattack.net/instructions/ blockattack_AT_poulsander.com blockattack_roftb
blockattack-game-2.5.0/source/misc/screenshots/000077500000000000000000000000001347224572500215155ustar00rootroot00000000000000blockattack-game-2.5.0/source/misc/screenshots/screen_shot_2016_01_19.png000066400000000000000000004145501347224572500260310ustar00rootroot00000000000000PNG  IHDRsBIT|d IDATxwŕ5yw6eiPH䜌m cqƾqp>g؀Gp  #ijĮ{zfg6J3^JN    '՝Js/aAAAax  ij@kP @6:D&2Ld"D&2Ld"P3{ l}D@ ֚ hO^d"D&2Ld"D&2,ֺOLL@@TdAAB^d"D&2Ld"D&2 LPddjCKeҤMM"Ld"D&2Ld"NX$dv.+v 1P0tJ^OL dcVyzNe]D&2Ld"D&2Dھ1kΪ́ ~p4Ns[|~)K.abbK4hzy2M#J)Oy`J.+CR1"D&29cݦfV0y"h5ɇ5F!̞W1 ,ni,rZ*l y19MǺ-쌕1n_HWpP.yz_CԼH]PB6S&11JHd"D6d/@is' ~uDc'j$fǶp7i6g|d Ml(H(|wNf''Cd"D&2,U-Gw[ļ2hO?c  ΋qjxwO??"z udVu\L;>5ksmS*VLTD7U=1Mg, 88{3WWB^10E{b3bq1i"bj5|vz Slcyϵ<%wm/I|94g~L/ǛN RF}l)&ֺu3[x`gm)ϢwĘsBRP<_%i:c1IN7^; &y={}|4]y`ge^Lߩ);eux|@k3N|^sVּbCo Ld"JLVh5KOmJdɌqy?yqCX0-ɴl ^r;/Iz:/?@Ld"N<3YU[8ϴ#ٗyLNvavy Tpa ltG"tuFi:&+*0wV[3 {a(ԏga4P[!z!bFθ}~\y:tT&Alx-ѤԔMvzI+(;s`KbI ]{x`D43YZbQåW e@7,:h?¦@_cG άLAA)ܰ7A8/Yxi;u#4K^/NN%&2Ld"+=Y흯+PAa!gΟº݇_׳naΜ?w\4'fr}e )L&H_ԉx= }B% GLLd"2 *S6DLn,A|ΚSγ3 ]7':$sW$+yp8K3x>=zD4SC4laOx3=ZQP5| rq\[]AK:.cOt$*mcW'm}j}./n\hw{"U4P6ĄC.:ψlje^__`Y5;.uqy ǹyH GOvP/ᬓ1M05^Ww~E&2Ld%tc;M s,{|Z6fO8{NO@ͮ2KLDWb;7}x ؾS)ΟW"Нc^KMd"DVR2~whH ("8= i+ {݀&sh* `HTJV(eo?}L|Ih8Gd"D&2X3 >XZʣMMB=a"@E@/J ᢗ}x/|Tn=/Ed~<~̝w0"y̏&? tnWWY\^`MXť'+wy8ivaN"Ь)ޓMk\|.m^`k@zy^5oXĥsfq՚! n=zjB!IHH(?\y6Ak a]?ސ|5}m m^a@;TbHۛNuic]q Dcˬ^5k}c%&2Ld"+%#s-ӳڮOcph&_? 0cb ~Vo;}lCW/`NR )}) &ʩw45};[@+׍3SLd"D(eu\u/t+u\|=0R+g3"l?ë y5S9=\~ q{V,^]LE@oUna ~m/uOɹCw(cٝz_է:LcPVUͷ~]F~;u2ߩu l*-m3砄~E&2Ld#Ӊ˾bio)x]|Sʖ:g2l>/Go(ʆ݇N. )E(!DAs۷o=rX;D&2,-% &)@ǡhjWng1/N`[ˣ-qta~睬mpΝ⦣;~p;az˦0]ikѤ}qlsT 0{DU(\Y28eOĨ_,U<7m{i'kM6Ӓ'36Nt1:gME Nuu!s#}[xϊi\i6V~i,f&?GƳlɲ6os+Ug$z>e׹ Ba^Sٝ}^vN4pt~D&2Ld%#+}!Vn9=T{\ >dzaޣr ۆ$jMw@ Ar@NOE5l2uLd"D&2Ld"Nt*}> TN7E U[G^%Y6TNY֧=ew6L_Lp֠ gYC}D&2Ld"D&2Ld";dO_5bǁ6&7T{]qC/6Ӻ{ALil"uLd"D&2Ld"NtY Yw]@i*ن&Q.:L,LE&2Ld"D&2Ld";1eЃC Eh_dj@f\}NH2 :(F@D&2Ld"D&2Ld"YS@Nvh ȆBD&2Ld"D&2Ld"YtQP[sBhGrdCCd"D&2Ld"D&2 ,P;ZT[/CAAF_$M7$OPDzGm$'(Fi#Na$vȼH@:}}S:2 PqTzl/SMNgXm }=uHtjn^m4Uj|L̮e~g Ogȍ7 ]m!p!U10F3CCkw?`NAAD@YAjLgh  09ʤ+}-9ȼLD {JpeYkmvi`՘;}t: ;AAF{Zzٱkځ]GڡM5$jOƁVy2[擻 Pteq8* mJo܏)H`eEZev(@t[qjtf>Xbvx!XALj=VJʯߊa"!Bv  M?`:k%ڌ} }kف6;$S1H4V%av)BnKfN世tK,)lN,i Y$o\&zۈҌwWM  0?7 j   cN|N^hcr3γv;ulo^e'#KۓNZ_@;HS㸶t48.]>t.Mzψexȏ9PGۂ.|g@!W+)  RlA\lNl`.%:#mtҎzz{~&K?}eIL_"] _Nt%m2$8;Y2\`} Mp|h;VΝz5i1x)30_惜b7Uu }iSqß=S0g3wW{#}|kxveKv/nխ|'WNeqx! nF7ޓ]EБ&  %aϑ^]U9Tz`@& u_y֝{Im60OQ{;@; $mJsjF;fȐ'] e3H͏yzMM?=o~2\n#\{k صm y-׽FeU k&m%p-?g#<[qve *:ٶ,_%ME8!PvUi=\*   U? u W`^Ow57NdLd bݩ`hzoN0Ț[z M0ﻎm_Ir <wª87]|?o W}ᰇ|R&TN3/r }i٢xq5Ǹc+ !|+\xԢ9Sh[)_#H!H@@AA=*(hstj 8[^X%7LÚW\-Y1m=`̊}2 +[W Y'9.]oVMeV~OׁK߰)z9;F_]w*<\6DaO\U++L*]ї H:;~ZPaPVJ>兲秃RSBw$  r#n(jo0S:'}tI8JwSv{2 'a6ámu>HoUSq{ ~=Nضy<_C9rZ"PY"lW-P? &ZZCGWiOZ:{$4   Gy m/W^28 ?^~Jr%ĝC' wLb-MAuAA4`AASrow]L0!R+fvɞKӵxŷriB4kQ0|.9|E]a~:U`8V;t[3Yuuݟ:j/A(evɚ~|K t<h<{po.z~^>LZdMq{W|pՀ>AAY޶ncZ6ڔ״i=^SnAO':U?@V?r @CLzR { ܧN͕M!>sq@⸻ SYߺ ] IDAT:29t?Jā^ʌz=1*VX)myܙ<S? Ӻd댣nIȼv3M!Xc'h0{9`I?W0uJW<׽>>pWTVxᙓ/búI o߸ضOΧ?|}%V/ؚ}1mJ&{yMO9v_?cשpc ]]}RZZ2q}G P4DBB'Op聯{ ,Rho;vxBv  c|\+Nd2֟ɕ|K~Z)`͹WAdLd_K"%KH.vhk ^?qA >6֯~}; m7r.}.jvz׎yKFl0k|!왻=s7Kn埫x了 ng ;w5/m5Ƒu޲g0b3ʋrљ ;<^I]Ѷ\wsAAaP{@v*OSlAAJ&'ܼ?gZ?dJ!1nm`]`.dr14K˃kp{ >'3$|Op,c¤>?=J}'1}ޙ؁ߟ@=⫭(W"Xy+7.`U+C|+9+Fۂ.   DH pT/;zA6]Y ۥSLU"<*Li#B[dƶɔ'oNTT ='tR]c-❷;y`4,ʤ)_tް.~ף߿!(br9[F/j[加A:v|Cנ6_|hv=K9mDx   %r^iN^ W7w,)j="#,VsMAKœo)R4vi>[?@@@ q_#yR1ݾ2?˂" 5],\H:;=lхIp n^L/n?}H޼F)⻆d̒=Th[Q8ZpUmLAAa 䶭vX${>Ȫ!`ײ[ y=W?)[vD83kmrvR"G&OKǢtpQu~@wOG 5F+]dV+*ⴵ' 5P5{|j=GvĈ ܝ;Gۂq7E  آj3m?9̱W+険}-z mR>L:!e|=O~ʼn|U㮜QYYx}EV/ {MhPL0E[I:"vjf\ ys1]{>@q+ZkMx xQt   #OЂE })@B @@: iWNǴn-0X|ba7ِMP@f0@Y%hyz+.)S'5ov-'>Ϲ?kg])g H8/>4:f!D‹7QɿKo Y.o@<8++ Hш81JѶx(ŗ  0G`mW־NS+ R\5@w8+S5_u0`$}fz#{v8og^}}}('aͱ/ྛ~>H–p0:*ybjsn[^"xpeERTg/xPz8v;CUST   Mypͯ{ufkL1&,_ǂSMrF_I)e~+߼|e\xŗʢ|v>׭ @$PUζ_7rurݯ]LWgA@|o!_WrǾiHnSvosBk69-=?ޘU'HR"Xxix+BMOdQ\;+ny 7<5}ݽ͹CF{ AAA ]ΗT?k^OOt% JYiY) cS L{km°a d('2Ztn]R~Yrdvn]?-s4U|+߼/Σ^rY=}u*e/Wo.aPYkȀZqӝz7p-AA:Jͣt8:/wVSG%Uޛ*όDk#e?+ P _=֟Opd{Q:@xzEF)N F)#cNރ22 pbdAhT!a!;_;>/+_Ajʢ_|9;,m|qG1fNE d 9m϶ ]М"`5l:NH-;,j|-h/Y#׶_]ˮl`u!N>}!d<'<]<]Cj9o{`C"plOPSx2g' ]-2ӏSß_3`j|ɃcA04(ܭ)h0,=xo=֚|5Nj rNI$ &\ *ܚ AЭWTէ4CX4u^041qE!R0ό2|~72VpӂA)`Br:Êic8ηIG2)ؑYķ+&R 6+(|3R":tc֡G2ZFd\ttVr}wW\0I<R{RJxYJuS`;;΃}rMNc)(@&@9v*ho>FeZZ'~7{3W_>wz^q~xap)r,ߟb?V+JUn~ťR :<19{9lCuDyiS$;.䀁w£抃|؃ff:2~E}E7֧An:֐AkX~.} A/ue~6<2sS_Ԡ7‘(x P0}s)ߢִRoK98*sz€I+Ϙ' N`i9a 4,0F'JA'&Ug@kvOq+N0 'N!}yX햀 7en@!Q$/52̩/7b%Τr垡*fF%4{ E=.Ť*?,Ru1:hobC4 Pr\*xyyg;-iT0怩R)is eGRrx]h:4/]Ļ>s kKp/ƶC9DǞm&6 `xuC;-!&4bȀN(.͔Q xnꫫF~`ǘ_*{'U9C&Ӫ]WF܊I~NXɩ+( >v6>UN,NCQK k>27KvזG?rqWB;r(ţ\D>j)X8'V=DcLP;kQƀZ?+760AIwF{eͦAx]t #J|Zo_*HA[Xs,-|ߠ=z_ME 5p#^]aeS,iʽi7*' +98N`j{ SС}Ejvu Rjq7e+`vskzGܤ :^d`N#UPpȃcL(̈́uK`M$}b(NđEw0L*S+C0\JbZPÑ`izGoު5hm Fim+@kJo~+YU!pS^hNza)_q͙PǪ{ڎ4;]yO(N}F~Q0 :چ-Luk "imL@`W]J/sASk]L+`'PYF1R)La$Z0 6 "}}Fi{\*h.] B{1]g5rSp8Nytޯ(gY9)t{Cjw@q?>=ZBt Eve@j@&aHq+WW(q u<]Js։4I{K m  EAG/Ԑ`B"?[_iO;NE &LP:ݬ|dOpcϮ4ॸلjF&‹w 'a%m- C 3MOBnGE"pɦ Bg+|> 0&H/oǂyso ]7_nG:r;r'}tJOGU$e@KՌia5]~i@$ U^XRTF${\+ibc"8 zBj@r1v<4Nfi|Z}E !+\HP^lF9@ղC@n0Vl;1C P,v-oSV]#'c(F4 Boゔ{G)EAMTZ Wy;fy#NHkvv9޳y)!}Y_=m0 'Mcė--wARS̪Ȯ_ B@=G"#Wt8)H>#UAJspN!)?Y(DPT:H E(+8˗֍pg./C'a{`vei:I% S5x[^<")dRLROUe9Ue|wiN>'W}p>:z9xpVW>k8N}O􍜾B/k9+5g/9gWwb8w^;fS\pg̘)ߌʡ,yCϴ2k+WǓ|o0Q;;Vz}OhAA?uLRO'FN_!Y#梬6Ĥ3)e4UmT֝/en~XL8?r#7 c@{;-uA*(/}O5}.hlͶB3^<̫OsV>'FG_7c'qtk3UU,[\Q:uP"}L(~*QHo>'D X'[W0zxo\W06}O>l%\\su.v[.&:(V_=.(}GgYE}Oeuu4n'MV}i^=@O>7h?* 8BF/湕34%; W}?e5 A?9 }O􉾱ϥhcm68>}O>N b;8e/#׍pۦsNcoޟB!19ňM>X}O􉾱/78dq\1[·o;mMLb|נn0: ̛3_.U>'N`} lN% p| Y'D+ }NTYw#a@d-Ow  ̞5(◫wYE}׷pX sV>'JG9+5\*wtD^%~me}OQL sV>'JG9+H8эz"At}ќE~ ?Cn7bZ@_~'D $ p!Y'D+}#U~m6HI_>'Ƃ> sV>'JGƨ}O􉾱O}O'aQ[^:Z]{s/f(6UrШ#<隘q?hiZ{sc%i}#Oc9z*'jG $YϚO>'OX#!Ujji.u=~0v-H ;'YDeDv T%#3xx=\7S:EY{vOf>:#zr8ְP % uqjCG>:YU9i=,o'#)YG~ $]<~6}O>!pQYtczG'ۦzO'ՄX^{}OXcDSj݉jg_,IY]ÜVkY^?6/cY^q`PI_/ƴ>ts֩;E{T~&8^սN:c-54z{fרo&_~:+ckv}O> Sс)w5oLsmLiG}O9=g% F4 02P2v|'GNI݆ͼq.vƚ-#b_>}Vܽ H5t'{΁6.6zbn\(9RO'㏱aiT7nRpѤV:TOwû}}~2:P*n,>'Ʈ> cT@ ;y~jiH6Ujl̟3v82pZ+'}CoOWao6n=#n}o =;#ϩϭ4Y#}w׆tD=.ʾ\!D}ReDPG;M Z#]c?ND k { P;>'NpPjԳfw;w΄cx]VE۷qO# mR?'D'cQ9eԫ: ŬzJJkŖ:~an=U~?+x`ͱwre4 ~eC8>\'j\j5. fco#m.rے̬u5΅?cuOchmy˒ܸ w$绻wLbc[%q8k6坓|joΙ,''Ur݌C\ߙ5Gx-}|d+G+TÕsSJgwN,J{k~|ixUٗ/1Tlm;bQy 4I;iDl ]< m9 32 ݞ:њψ}"~Yp-wLzy_?s>_'D mFRIٻVnߙ.Kɻセ~o=@N < By[J۷[Bi -M=I-oVk6[+K#y?ȣ;:s9>> (/D+Yb]! qa >7x vټsAT݃LmG,<\!+A웄nMGv|ۻC0RT ߾u$(Ȫ*bF\垃Qri5(r{)Ѓ{3Tϋx{)C{ogzi3hM3೯m툋&?OOa<ބh3;p ԉ7?Ӄ={I {00a^1d!W%xd׻qMo?ۍ˔ |VoqUµaƹ;/؃x^ C|f<̹c!Pj%.5 EAP%sMx߸2x3vټnk9Y񭉽8;ߊ!\fOm_>GgI>ylLȿډ_)l^cu wi}r^`* /[>OG:i;Һ_mL퟈=]5,7lǼuMY,ti:^QTE{>7۷ER lb?ؙH}e#Zq%zKm #$c1Oέ/kaHD|yQ ~nAA\fûۏ[`xGIm\3φn=/\ym_?-8>%{Ev΅aOK yvq~zΆok=o0^ysk+G$-'d,(׻Fg:7gz01#%UC`doĢ)1^O 6)"a&aEBa3U'@G~I^RN{S;ߛځ'W\̇"Ykǿo!؃ކ2Ռ |caB7xX ;mެh%,FSdQҞdi,)_).dzW7veI^2 +u= WEX%"X\qD ESY,wqEKl-VxXp.k=xK烯]ۗ;͓}Zm]g1~9>9qlv#UOo6өe;[v {~Ql0 $Gdk{y((9xjEE:2?-o~ `CXc$(p B/[.Sf?N[hd$W.`Iߊ_?'m'W6a8!7ߎ^wtI o8ׇvuGVE<Ofӓ"UmSsk㝜H gn8 6I[3iʾbe1(O>xģQ y60[6+᫠bJxv|!ڳ//X1sm'ax!xv*_Rc W"#G:a0a0s\ &!w>V7Q-H@-YnAt\bZ@jBʷpԉlBX1&ȹ(lU{zM~ٍPE({i+peMo.nwNuc6íq4a) Ғ%,+,v)VRA'dU((šǗq|a<+%g5Gb1 h95"f+~o/1`x}Hrv#6L{ƻ9[ϧ~>S7WWGΠSD n)=ŀtIֽEUJO޸xBUc<ƫf<z;~m8OO+\s2ҖjCZȳ8*oӻiNK.X\'sYB[kۥgU|YmENjLg/>-%Yلvu{}|6WxlQ5]HIJ;-Dh#[{J*_6p2҆c(XtYر0n1Š:j"0^\/^fټP'㽵,-_Btx~xM-8m4+_<9!7NaMx+VjW'_c<#}UųtXJw 67iW/D‰WmTԂqB#"Ϥ{0ԉ-U>Y#RKMFMY9.XZR?+\{8"Pc,l^xk-8z:+^rɨ>;F OΦE¾,|B\8:<.hj/܀̜vDĜ}h~uxVݑ!t"Ҏ.<ތ͕# ?GA2FcxjԻϵ݉uk[7o\ߙs] |>)|r$޳-YW,:$>k1|{R<,;9otfIɊg<9qU“sMxf vd;޹΋cŌ8c,bAmȣ~xA{mLAZZ@~ oC0nO< cs>Jw/O#̷—1sCUbtԄGWDic+SsM8#xۃfIZ݃NNbjn9 Aٌ, #0K'x\@_ݓ7ՆZȳ&\Im'Xm KrMj/L, }<;mǦ(*mWxW D9. x*8ߕ3G|PasLa":1|D?݋WC]Fex)ЋmIŚ'w=<.kļC!+q^jWwq\w"0|.wM-gp$ߍ^= ^LTMk_ނ’S1#^jǚv w Aq2ҎYي=x7b=0 {woꛄ 82@\10*%WWR܉Qmk\H;Ft٢h5/֓o3lvв0*_MYTpWqȑ<6vpgxA=1U.GP-- xx׈!P%edfqө_=`՞vt8,y215b@}&]nԺ- 11^-|/ ,11y(7x}xڛ7 5bbSj,̳DD1R#W{c] x3B FDZE_(>6CY_ww֝5 3T )E_Ǧ94͡cu񈪡yVOsP$Sp,kh[j "ʏt)g뇗|-[^сv%Kڔb^G)^DT<+C`_3K!ZԬ SK!U,hDDX)>R<+ Xql2_"}FxU`Ù}q-=3'/t#`L?TE Ѝ3-~Z=ߍOZx{cf#T Q#>CtnX) '$<i+c0Nwԋ;q۟–Tu3}8V Ym^x3*;cy_Ǥk p]l.Z[Rc<+䢟:KwΥ MmO<Ng@E_[8VdLYG(ͱykз,Q{XsuDCV(h ezɳG@Ԁ5 B9f5@w)ĊO*j": &ٴd~ҍD̈ɋ]%g_ޖsߞ-&kK2XpSPTEб~y{wJBb =Y4cQʰθ@6yhjc* BDToX<[:UMOn$yɇz [pݘ8ۋ{ObSUbjYvP]+RMڲlW 6ٕEM6Xr܎POTEđ'g`m/ !AřvThDyA}"p:c)D5q!Chub:7Z,lQ*RD}Jyve2O^BߎU,;0~ѻ\DTQʳ_jDzbGm ]IЖB4Vv%, 5+\r`-]Sv%GߜC 8CW+W2:?{԰gg$(0.e/ؒ[Q!BDT;R#td&km=^L{0xx#Y7dxԄg\./V<`,]@QtJm*g *uﳆyFN-4)ڭ \7"gmEd+>Q y66oJ=Nd蟏")>f~9ΜO~FPQm{6xdƛc~uJK:S y6s`ߏ^~z μSC]&WؓW@k.;jdkǮ}۠U5ovu8Ҏ(t"ᵟވS/"kWؽz Yt`Z>fYB"fD)w< qez9xR`G)ut^;Ng1u-]Sѱ~gmG"jk_\C\ 9ŝk,^ rVU>5"@9e*!Q.*uRr GMP Pg% &$xݘp5K]6UWTs/~~3 pҕ?R[f֓-O̳#' mGl #iBsVmhm13ASZU,$Q骕g׊*:#!/]"fM\(ẽ8w+?j k$"5lIDj|]4/h,vnBV^"v/8ry`[UXDDU{8m̳DD" s Q~hPb%"OyV`UYU L/b("+DԨJjph7-0<+CP?\m xzۜވxeC_)5Y"g9B :E~24Q)+>M!σQ'r7F1j`yyDKETKc%S(־Lf,mvʆ Q-ST=h` .]nX@n}7V2*0Ҿ@hkmUT2"@$C DjN2g%5VO0Qlnz̳҆8;b~ =n5XɤLD: @l\6{U]W7{ WBь1ҠmnYRca%j̳+<+n[Wo%UCJ&o^J4FKs0'*|@-rV"՚=R$hW5싾يT,4@Z8nD~كkMbQ}`-,lm<+(eSmVWEK|sTRGn+jz8b1pi26Bc٘ *|<dc$B1R&UKyְ+%@Zcq ϛ$mb%Ai6)0xz@<5D+PjB<[~̳yj%Jb?c9hTer7V(du#(LVfg$QL*Y Elh$q91" -R 5b Y*ȳf8#mjU[Qԅ # Z%xI}(mw" b sT%{UMe,^nh9/~^V&*hn1,,K-YiwB"fdcEU[ފ DJ)5y2(XPbbSj,̳R̳(ʝgX)#]wlN̳DD3U,%5G"lIJBD;,Q~̳aaeR!m/Q!P9 ^G"j4 ]s JHBv[`}bEJa%"ʯy;cll6[m3hsb p6]P[}eW0ޔHR"BAĿwLW7W3 y& PqLI@eO]?7Z<""*ڌGUIN P=Ba5dmj.e-{}xO/ʅy6QTCHyr!2@1 ^ M=.w}xO/ʅy6QyTCADTȉ<_{#z^׍IDOaJ8]ӞC1cgs&O`+!>;_r<7.JW+gcgY(D_s"h|+{=Ը 24mkO?qVƿ^NuH,pL̟>ѤI߄B'f*޳mބ8@ ҏo,Q~̳1Rn`c(|_0X8W'|?C1?5.ZAӰYmpݽ-7B008Mu=8| coi(=?=u Kw0}?e'/ׁ}kVy30G%*x3RY"gscm:džnqF Z olE@ܮ@ SlW!L˖o~$櫺u0w5!xdsU{= Y"gs{<*#=Yf;DDdHbXGbIo$B ߏ.~=g!5u$qzܽ  +<}[`Ԃ:Ȑ><ފߟe~}Dzc~6Ø{qhvXw}Rz=."ra͍y1}-;a$DDe?(? ۾v;.3TYM`n8ïMa^E{֡=ԗb yNL>5MlOy~8.8=.<4OrȇSy~j\f@Q{y ~Q`_f>|88z\DD<lG^~Zg DԨ2o/qF};_/2ljO=3T~3?W?8<ʅy67%v%e>s 5啹>eKz\DDR/yd.Ty@R`Vt|Sg򫕼hj%?C"#cDD{oxz&|t`Y|l >pwb׊IyLrO"iX؂+S Y >/T挭Y.~+Fx߇ |}ow&CYaL`c%W|tv𱭃 qϭÿzwcu 7: EyLh *;*2`.N "IPﶞ)|p0Ob+xG%.~+F|f?h U?K-m; H*/w|TEDT._B_?Bok= UHK?FK{<*9|jQ,<9A ZI!W< ݄a7$A?f|%\+$A7_ )w|TEDT.ёvs7w,v5sјOͭ1ǣU[U)xrQ*:ٖPs xxgIld7;p;GOɹ]rO^\><| h1in# qsƫo Xf$F@6McxG `QiX iLhF0ot+c%"/_%,5Z%g&aEaZczG+$ -FBD_婪7c1?x+&M.J_wzNEڲʗo$!cHȂ-}+q厧̳DDfcs"s븇VNؕij TVǼG3_=d{ڿw$ow6>)zG{dŰxn{־Ni6_ Y"9(y?q/#-NMx fme+DDĀU. ~aIq`*nMmK ]썽K-|5 Y" }_cYJQwCRۯryX[;1$P\tXh6%r{W &W#Pb龋}p[\E'S\pׇ#"̜mxqdzL7i"G]˖/RfW0[xzQEDT.N LcMʦۍ1F77^=1kt] D9V'Q!N&Kb7Gam_vps074Kx>зldc `c]CpcPʹ+nLW/yL!Ӈ枴Xe(OA<9[I7rnWL}_I^~AD^}.`ŠnK l>&j,_0xSƊ^0W3K >C솜$g ZczGā8L Pɓ.,Q `Q~ Uĉv>Jg/84]я)""WB~kyys\*7*uGmϪzv& x}yuXP`%"ʯMx}4EK>>:wzGD@L AQr_^ZN ~>P DX¢ORP1i'~>O;10L~pc,>txύB߄]#Q&Rf%,]+qgFQχ9s܉μ 4_QP䙵0Ĭ}sV(6^06YDA7n8/ be[oyྎEK{{F%UH;b.BplbTC EOޢ'[iK&BB\x ـōNj ֆ?R&jr?g9)zMDZZ}f}Pq;,b4֚}p$\˝?O/guyH Q>zO5`dJŵa|U4I%==^eH_`+M]Ԓ9\KFߗwQ-bp8\%dz \Yxz<[!̳٘gS5xDɝ==^]2!8+Z'Gو/6>% +nd~|L%y7Z<81RHMq("TTuP  e%-XUX)tネʑ̖C(CnxzQUv̳ʴuF:-B̊@'pZprr꾱 顆Or DHJJeOEWɘgk,U@䝆'BUOS"F .@ Pc=Fw*ҷyI*QUaV!ش/XvUjg7Tc GܴZɊÜō؈NeOEW^̳yʤ^NEp(cb+<]Ⱥn074GFLՎ 5zIV0RaJix*!tc H_0Akp("*وeTnW$F̳D%`mH̳VWE:4ld6L(Ֆ~ 6bjJ-,^0 lݪhhU얁oXnf F%sQV ?qZoꅡłDMasmEC΅k1xz?TDG&GbH?gy3YR ȹ~-TUsYk΀Ig$YB{t쩣C_og[Eu t}}?,ûK\IZ> g3_2v׳  gB'( E@o@ (&1Y#ʒ>ѺE_rߓZ+'ZHM(lO%Lzp_Gbz5_{ ߼3ew0%~Nzz;{u5A !9Slt0Ni;3?:+ M@Yk7_|fN >1DM6f$o'˧5f{*#P$ܫEN#y,vo\T5p7c:'5(ϮB#(_&pisdROx9fAO  ?@vLc֓;4r5]2nF}#蚎nzk:Z ӓk]!P\T޽)3Ք͵/]~V 2#lUO0i*9|#UO  ؿEF,}֨RečJ'SNzzI=5 @ݯQ!xv/]Rbbg 3Zcw=}>Uynٸ5#;k1$Obt^GuE-Q ͍x۫)[n;9{XkRj>EY%LPݨ;J]@P(z&\n[ai=a*j 2SmO-NH!֖F67og8 61v/Ke/Aonƞ H#/:MM|"/\H#ݟ#|BK  ] Qi5j SwQwz `sB):+`=!!ѵ~T.jP?;?!(0,mīRNe$52E @[SΊ@ Xl lO޵مRm@ R; M/))0z7znYh= "(]jzg 3,4d\ZƸ T]x!%gN pGe2< IDATE$@Pڞ zvAY@ LW"3"|;]n`LZIwd]])v^L.?+) 3 x~v񿺶ӮFT][U=_m?Ѵzrvv֧Wֳhg 3LkG^1ņLzO;[hu;ًM\VZk[~6 ڦx~~?ܻ /BzQ¯}#cRptw9=Z#lGw˦ڱ`5;>F"IC4J>~1[ҟw{͈Jn?+)Ckxbp +y^r`rWz[?gSPθT8)8N&p2n Ů).pslbeYkYu?cl罭Y|g[˯oSX+5Um;97?ʗn=ߦ3$霜{Uk~&ud]tV KK  \YqlmֳWʵ~QL2"R~J t`:`08PW](tJ@ (5/|TB&J"D2iW].IMY~L{M݀SVX@4dt֕eϱ2S.,ʹ{VdPB1W~6Y;>˒n][_^2:>^ꗌ Ii #:SJ71$mf\ZN@j L%h8\PQG@,_| Aڿ fGQyk3 ֗VlO/}})zQn{tFR%_\.rLFwA]uúڛRG.@ (sg_kKNϷ//j X/+/5vfWY!lH7LHIx@Ǒ33)(E OG!Pc߉T;4:'-/S3qƴd{zkUe}Gdw$NCtu5\|ygj%ȨF)\TQK  lǗXj ?aG=ƵjqSP]Ҫ@F?Tkk(9 3PIƲifSs?¿mFJ 7{ޭ(˦W(wdNc EZmD{"= @ dX~6kJZu&}nj2hF":{ rfN"b$d )PBz̓jW8>=O;Ѿ*y1#}* Afg2rsyWzEz ˄̜j_;sܚ"=@ /AgK3?O70`"@UMg/(<ґȬw)Xw2º3>w/oY'/IZ̹2Q,=0vVO"UL"zk݌vǦHP>rʋŮ@0)5k;,aIzE^S3c{~va3I $W>@ ( dJ*#IF =xAեONlk:/ G98Aֳe縝qǖCtfdkoJ.FN$#HT=6\TDZ"AOmDN/'rfp5mG) W0C*833֚m^OhN~1:sg2WLS@2_QdcwΊ@ b+iH?M(W–zyFhrN3=57<>/ft>ww5w3^WtV >Qv ׌38Vx=L ^kwI_%AO!o)\D]5=\͡`.YF_Zl֖&F+UEYA&Y!1ۿwܱGlOzCPcJ^4S--orxAu98%zPϵnzvkۇF+QZHN z^KABonCcA.XE "~)Ԟ&\_޵U UMXsg/'T1) dlv&lvtWWr]Vtz.`UD@ڿFo(֡0'baiB)i\i}PIZij:/,;sa&F.΅{k9C;Q/Ǐ7 Ԟ,N\YqFn:Q>֯P#_\ՠAn6cE/ @|dRTjOw7 9#(+:qm;HsS^"'V ~kVGW ր.#r jzݱJסv7(+:qn8O8YK^m {J ug4zGנ,P//"r=(Wbތ>p nxϿslZKw3E;jo_9kvozv2yOozո|t8ꐯh~q̜#@ L6T>U.,,؅f~oE3T#c!\c,d#ju.WjS^\j7^ۀס\a';Y’{eqo^ C #&dB]Է>NxFV"g >w+0xID: W NVF( 7,ǵrb]73/C}+x?dlg=L~ShC_qe$ECr\X0C,#&L#^ߎ>8\EYGhNBwڽ G`k1ZBw4&fۛ ȱUY !nE:jW5Z~],;Kx>G (w?S?.X9!P@ r睉f^.sWK)ϻy,DVq.`w+EY_G@Yv) Y6#]}1(K B.A\7Oj諳cy[~wbf#\1cy.\s;%r H7F1,WI[ - ,}Mxp:U^ksgX{R{{瓟$H%vfdtzK|:\ZLJ+x^pRow cħ\gxFne"+G͓KR7,A/a!~½ȅlϹQcgϚK`^/91k%vw.Q?vXJpx-ϓtvc4v7HGw9?N\yn¹dB0@GY҃zi1z $E%wkr>.6!eV.9_vFs#؁b#[k`{Dtsg-8φ?"ʵw~VV4X["fo,zGsƱ)j} |BVdw;$9RRŏSr܊F7q*4s*mlٶs!g9gMd (K**_eziz-Y^c)KMσ>皳G濡\3cYcd jB6t+ͤH:mo@`gc LNW?sO614eg]turmor歟5b9O*hΊ@ ؘ\_:$W/{BfJ^?z Lov:He~BuGOYv b})kƬE5[On$gȹ}[y'W\;9ށp>*!>u;=̨3!ؔbY}ْ>nU*!n>bYsLQv(N@ Rq M.]R(9N֥m걼,'r,J^jdPT}*sZLwr`6Pv#7޿1n3ܓL)wLHHD(0' XQ,@PjRg.G{wz1seI+Wb*jKbT%!s{'CŵXϯv79ey'REbrǙS (EJ,4kBVR2J0}so0@ (y9Swmzvr={עH/:-o-*] ᪗Rf=Vesc $1?zێI;RTB+aQ}69&l lO޵مn0cm]Q]/rx>\!VZJܘ8sazG=RNezMpn=jYn&JR; BO D$(@r'L rvVggq A('#LBx6Ɓ}!|l5mo"׌f?X A)O՞&>փ`*wڳ=D,cчpz, A4k@CTr0. [h%_KցYhzY@ҵK!P0' 䜅r:DUie{l ѳ vJ%|5A7_M Ʉ"S^yY$WRS*ݨF]-v;eߌtȩDNDOڃކC(Cı1Ʊ t+7ܳb ~r5orjFw4 >/@kߵm8VOI&x!02U w^^ĂH^tlm;X)coAO  ?٫û]V{P]JwP.C${r bDۂ>Ycé+j#uT/z N?;?H ,M@nA9be9rݯ2QA@PdJEH޿8^&GƩg X;9ǻTlF)w2v&|;e[գ Ч< O"/eφ\=` D9#Ռ"WϬ e oejo=z\9iLw(vj߃\=\7=1~{hW\E}cFn_{$LJ_Xu_wJ~ulSHDH.S6dN0@ (ٿ^#z~p2ua??{͍hHFdsmTj&<޾m|ӳ vrr I`&&Ky:") 걄}9wQ =`<)7Y#^?;?Hzž8>@l`P0@ (ϻz=Qol˓9Q/f#8*]T|m~?T:J]EUS/zg`E A6&tUg1x)@ c ZOՉz瑷z\ #o^Fk)JsQT5 6XuXEF_.q>i- Y0(Z@o=, "VD_jXa𻧩R|F!ti#rr:p4dOK%+x#_D]g+.](v兪0DE[\hC8VtuGyBbOs< 5 /{AwV #(5.IӦ`ĵ ~#H.XT LC`O+ooVd`䱋ZjYů39;/Ʈwq[y4#evFb{مRmW(*Rz_BZ6\χ)v ~IR@{&[ f $S MEA60 Dz>_ u"qmuVjnõ޿=:Dr+TF2 HOq+.*4&\gdo2mƒK˩pp?~\\|aٲȉ!3sqbWK g3~6eHS.霔- $^ <aF9d2IO OtRq{3UB IDAT>—aԉZ B?kb8Wp-D=2zvAH0q`@~6ygcɘ9Lrte-Ց_._9 fB67b':/rVV!9d"Ȟ==%t6~|ާΠ"4q+__[cQYy9 +eg|(ծknowV@gO~<0O:@lПO S  r 7`0'@ F&iBS,zKWuw Sڕ'9 s/ ws9#Os1pT9k4U'ζlT)ۺs! ;?4alAN`)`=hPBzsC`lTup).e|d9\wcQ-̈́Fȕss#L YK|hopg3>8 @7x(&cvAY@ Ȍ?+% HYojP71pM)L'gRk8pP=̚2ۄ{be2ra*\c2jdƱ GtFI$hʖUYR+YR@yG #cTB7yHj2Fԋh5 tm2͉AaІm/v56BYk懟y[=AmVr|L'9( @0wYB/uSx& K8~WSΌeٿ2SK?J/eo$A/5ƅ/c_B0/v"GX'`{g,7|o_zL3uv7}7;hY\ۛyQ\l.]"6B@AAʧpt\(nW 4;Y[?}],v6BYklgɳEm1h? R5c& &SmmY09 Dcc4l&8#_=y2#o\N)S<\̂](v?5ȋ2JU%"[ ޅz$^W 5rUg^i|@o-@/P \F"\7&/[30:a`vYBo,PI5;fPFEkf\{88^Z-=zצgծG ”=c1NJN˻ wk2*XZ.mȱ9;Swmzv ^/!CEq{%y@'?t$HٖX29O*hxc9t@[b'@0;DsV̸p[{sSwmzvaۥ t7}!Yuh" l@֛N6 9@a,ţƀ<%ADlhEJ?/9 ,N@ =YR*M: | 92m9NJN$E'YTB3Ǧ2g2 _/C2X0)h0ɒ>]S vtu<]Uv7xXu޲lٯAJסv7(+:qn8ubQmᵨ=M~7rƓ58\vݯOܳ8K9El%|t.#rH8uO2J퇑Ӟo#|d z("7 "׌"7XMS^"V9ӎ#OW mjw9Fj!R׎C(.%膏NvRiıȬVN2v9E#Vلzi1z؁׍3AnYhz ["`,y o?-106?-]p|y ?Ȳ*Aitۗ7I}:{߱brH dZEl;[ގwTK*+/hAx@ D>Dζ׏^yQ/L8V]DJ9/ _ =qzGE"':V%WPrzwDN@}~J[ @3GL< ٌrף6>dXL_iODl BiDYDh.V |Mu#ȵL=W'ʍt79сs1c<ٹ|.!5uUJ0p)1 :3 )yJ|L3$f%o8O^ßOVJ\+c J|ʕ=-}.u=;>~Vrȉr"‡#UL4 c?$7`z:ts/D՝o} {"yH0JsKG=" `S"׎A MA*,}ȋѺZ}c?_@3?BiEnı<=[s:S^(zЍ?G5f1U%Se8ןN8O'pv오8:.^hCi@iϩr$M'@r3x?>˧Wu7@ {NsKf6Bҳ v({ ʉgx9~$ax2E_ Ɠ)ƥq%=hefB@pz7ESY܋z#z}GlINJN}hunއ~ w)#9AJ\2=yݑJ޼.(V aqj 1QjtڙMibFK칮?r: X}3aL0c2ٿ/_ş[/ut{'?foRcv3OX0[ >7ʘRĦ' c Lѹ&LNhS` [`i)Չv.Ƴ|ѵ'vJ$J_C+JaFS{VKWq?|iUӻ/? M.إ]J{7=B{vڷ%6@T/-f_QB]±ᔥg ZsM[F']Yܛv`qЛb4vLrKaPbMQm t0ϚLleP\:ʒu}k,0!$Qޭ8V]@^ZϢ?1>mj9yzxhcs6L 3r RyR{$nu}"3=δv__e/.ѾͬpKUWV=+gS'Hbzh9s4 'Th1OLH- iΊ@ TxX*W쳵; qX?Ùfw~ /]w&ܧ6BU^\)]Nz{gzv.!wsJ2H~gr sKuȾ1ܷYtp.UY;OA cuiE%|peGDžx;B&$gGJP^Nx== KNJN$ga[õ]\Er\av|D@b0ל= рI͐ bM-+.'O񵞝|PٍCe~̮zAw:|ANAsҒ<7\Lu+꼤9dg0@0eU,Y*vpݧд,Z L5(;yu*P2fwBӳ vj\;O>SwONuO'6u[O087=iY:Trڐ=FRfdpQoEM !f"8ן±tlyC2R$H&zs#kR$grO%%-@`=S:[Swzjq(_끞P%..߅r7=H*Ч2 I0L m3ƜH&*N@`ʫl,Vʫ #:C#}l07-ci_Bӳ vkszExb)ݟ9iU ZlHlz_z>Y׹YdB^7> P8;J$e|<_04@ʌ@|g%xϞfQ̞KT8eJMOdM_2ISr$!HNC I'.!`JY_gE 8,a-x+\OptRLO%^g}x[9g]'EXƱSuJcyBrn%o n[|h9:pK9\KOg0|F&eNw9 \P A&Z;ju,K,ЀLjV|58M~.oZɑ t/tQ=MM9뙏>/=`?cL~xTDw38Vta?7.|{v"UL߃vQZORTy ?6\M}S"QZs%ipUN9ȉA7'#mȾ12Jkq,DTs1rkϢ^X@!O9AxG֍zЍӈRi{G(KnzmxTi8773AS- 9-PϷ W>d׎Cȍ3'T}̘ t:]B0|>Va[;G6'OSP%JÏ]/$%/EקǾhp)aMEL;df*OӧNL{٤] M,Gitۗ7xFД]9Klx|:BSze^~mt0ssֲh[%X:Ùm~’g+≲?Q7g6 pqtxJ5vpҾ̆}.u=qʖ:Ʈ~Vr-+'mmA_\;JUyG]~#\i .A>c͹k{87DP"|p=@- ىc L06܁684"WV"WM &s= vDH;s y,ڳ}=FiEiLzzPu|r3hS+Ю4Ov|vW|9jg+=; Z m({ |#x\F*#-{*vOyQGbS!9ܨh><ܟxݯj_;dLnpn=s:Ygߙ0?#Q= yRcvӑ쀔)3 YѲDgӳ/n6A!2m@7υg-%E @;+s>q/_Ŕźޙٱ30B1ە>_hIOH:{%"({gv|a~ C`tZQN#\vRJT2H8*R9%=1 ,F##OolW\ጰ,v1{E%=>N^>.@@R臚n(AEP䠀UA{!v֚V0Cd%v b5] " A> |Zt\gzz M.jPDr#,=SF­uRcvӑ$%Ц r<9y`4idՌ|Tz9I ͉ F}V;$'1ԓm9_f4 E Ί@ t IDAT 2\`n\g~–.}^hzvT%{[|WCL.rWL3e oIe^)1c HzlKAcp,' x@OT' $ )xn äBޯ,QY`jBx\q@ݩ:M.jP|h$>g80lY杉!XyIR1M?AʀW@3~꺜 aj4 [ 9X`0.0 tqրu$ ;a kV67rp@]5 'TO ,.]= @ d&s+]g+-D?Ãe?fw=3Ƨy|ymا gX H d X RVA+kE9'N8FoA:!{KTfǻdI#Eզl.YLsg,^d!0M蕼'ڟ?w@z Ÿj_L'k;ɓ1\qGyWȼZD]E]K2͉}hjeA`]" ysoMbӱ` K!|ۦ:+AL]^+x]뀋{W7(uWl&z#M^T =KOo Q;ʘ6y\cr& gK-C/; lw;y=~kX޶ UZc迳=AiC\# hR̗1;tCNP̗C)ʻEN}(θQ/ϥ o:_|Π\X 5B!4mY[ύN;%1o8#NE`sEXnb_rXGVF1ȇcy.+߶~ ZX!L\6!0q1kg(:ZI[Q|6@ϧ y+6|l 7C@7;|/G|z=s)$TS^,~݋ґE6k.#y7\hj{ύN;"϶S86`OgxmNGQ`tXa3ˍˁ(@MvЋp)&f0GIK P5tbRxOI^}B>W((dy PjK1e`=y\*Vyze_J;쟕X|x[S~nDtyyq[m e.pH6bA1Tз4[eV6gn9cfZދޚf0}>?Tr4X ?%yɋ \ q `X߂-T< l,AZ6 i,S(|}-yg=t?I j`J{+UB{ѻ~ qNץв- |,3fw:]gFb>n my.9H"_ח腭[r$-0 *r RU7 ss;. U;]^@z6X xn!4`Ek/!C&RZF?ZA]kz৭nJ.zro9&;N& Z|" n[f`YqʹAٰ=gAS  #F Kv:f·"+԰S-/*%ډ+!lƑ|S[p[\ Rm8 C; ,;Зp\mm,Cƒ}mBn#!ADsoNapw9Zt8¢Z'%eN o+)00?y s?nHmgWM@Z4QKk9Xcdu rzl?ꥻҳ)ϊ`ίW0ym޾vBM_^5ͼ,𺟞YNjk-!@ AQ`qןE`IdY$If`PTU*P| f X/6o܎`~'(/bp6u!Z|S_9ygDcDIbC۠N.Cs)^ٵeqoi{ɍ:=;ϥyk/!vݛzSNm@k K'ZJ'^+P:x 竮WVڵP,!o=MooS]N.i7Ғ=_AUPW Pڿ 7_@b`B2}W/EHk4G||7rq:9)ElYn:5֓C7z#ϭtp?Ր'y\klm`/ @9V ( rn-r^rvJ^Grk⓷-He$||3 ?nEr w;Pz:!webG^~~_%hyЃkP:x AP[Qx-+סԞ(O3pMQ>WC됼q$nHTQNG[YpixR :A@I(@9=fmR}}82'oG8P;Q:ePέAͭ@C{\[Z^|t+z|&)-~QnEbyi -Pzi1ǝ/bNC/&dLIt>-{T*ꐞmNg9ĸ^L;P|n܋qxu'Q*^hxE 5ҠjWO'lBu? #E';>_>5+jF3/ȞFy<Y゜Yih=@@'w!GGQ|&bo=_2XOΐQx(>s o6xҪ ,~#(-8|Ƹ@ې|dz\ @H]SyEy|Em 22ҿ0IC27ߏ_u*Cge̞vP|~|7b|C>y=ưzyx.7ޏޗ~$ (ybWmu \O^w +ryʇ~n8w?H*|/1l/ ?PwG /~#P m8ŶɁ/+dⷿf:x(>{PL@DW\?ZGҳo_#䉼<H17Yf뵗@wQ(]H۵γ~ΆJvL"eNS : ;AkF2 H@rU(>ѿ;P7mZs\ͯBP>7.9 > g4w< @ eZml!Oe-ɟ,Z@'Ӓ ײqMOOO'^ۮq2Cl X&{$6lI-vSgf`\L7:Jkd1Dʖr (`N3`Wcѳ{2f_ eXџq .$2U@ fsOo_O^̞(po^凎Ǩ8t>js @Z1庾|:ЖԹgVg~W =[|=zqsSd'sPbPDB_  iQBn#g1`!2[sIV〚Ԅ8:8go_sYz30YK쿪q0f r-g637$lѩ(y/@9!@I5'٠48ihԠmpz,^ϥm!q `"Xd[ 5![]QN}@x)."!d;]Ķ6`ƥIΐ;qɻGqLb<ܘ"fޭ:v'//UyH]]$3[ osel~|,5% }X?D}Hd,|UKĨ x Az֝(Yd|\`Zyـenuv݁XpuXh~pY`ߞ^w9@TRd+ѕ0`E@.ZZk7(o{7|#Ⱦ!f6\?ueeLʓ }l+ 2#v9DZ8 _w> `kX+1GP<;o^9~$pCNʐ2XLd~<ˋ Q}.yxBB'*4<uj<IE$(}7J(>wJo\仞2BZ>,U(Ϭȶl7p ֮(Pxt/ Hǭn wTSJE =г5ʙwղ^'GD}/Y /"_ߋҫoE_Cg gxP<WGu'j8!v̺-=@*㢑POF`M27s]utX1" :ZB ˀ2܇FD!5~a+6bi_Ru}<@v8N|̽zs^Ǧߺ~y3z(]fzZk_#\񊙣a սX7(38KD\C`GX\B,2_©bE͸Wƺ)bױvwMH^3^>]~\1s^k0`oSV:YE_1w;^'S׶@g*>Wg2.Lx^KT`[w:4)+PꯣH}o-NJee-Euzs1϶3ЖӈgmV^a{m(p: N8Ю%uE[@ cpK6&9e @8x ( 4]".@*r2ϙIjU21+ \{Čg1{7+aGw̟pх7'$/1s vBr[Sbc\NGN!#@J73UjMO0,z%D.L6XF Iej"tc%ANkgbZ?ƒEs{5 yy37Ƕ R!u]]0Kx2kNnO'6KΉHˊV=N\cD=!(g!v5՗:m{^L|F?7-l ҳ\$i=#7L 6V1I`5d'$` Dsԅ28 *Ί@b= C]INc8y|zNuaB>#<"x,t?5@+tq=| #t Rsg1e+g-X%eHi\#k2#Gw#'p?(0[E j‰9}-kz klYKUnyJ"g5꜈mԜdyĐk: 9: VF_Q*rZ>,Ƕ T 3}˪3\[#{ %i+ph =ˆƍ^}oYurPNϋ,E$~(w5!Bz֝vҳbɀuf=@( \ys,gF4?gE3eogɱk(h0I39F-`fdfS5lMQ @l9+K@" " i 52AeП֌_?Ucf1oK8#KoI%d!{x3Y e,Ր3qc@ƕ߁/n/TEʼnzꢂOmC){nyd_ԵP>E w >kχ;1xjL?}W~vl] "q꟎,6 ƪn$JaDypbQV{^'AEHYY=JEw=PF7 Z2|W. C9ޤL}WD!P\>8ra8UnK GI6bGlۙZp#H{`}XoWeٴ%TslLa.V. Uv%^D,y@[r}B v(7A9i/' 6 vhPQHϺ>zLc?I>Iղa5GU@pJX%!ؖu04& nBUoM{S^G4̄ j)Üvh lC+9@#Gd Y|MRo*#s:ݐQΕ0/be]QZPp 8Jg03Lq La }r8}2O2ű}) IDAT?wbI@y"N~i$(O0/c۰7,b+ӐEc5y֜}^?’"g гC;zyܘ(z-K(=w{UlW>|Oٲ@]m?eȫQnbP$)FVnGgmAΐ!ٔ(7B ޠjS>k{!H"ԉ!.DqnBޫ wiMZ7})hŔVI×NrAVUFa߇àTe}Y!p9i,tb,(@^weF|7ju,W hv}-$qm -!PXf[i{@i@0m=\K+^h-fۓ -_5X$PΈIe"{)A/'9Zb|6quzE ?|;urD_> y8 I(c#7Vl%XkyknurYYoN?LƖ'@9[#q狕եa3_[Q>rx!CmQ[jϣGHBk8`MTL_ B V|/spRtN>6p̦g93ќzy5bZ9h>ciB ,iZIϧb>(~ .cBW H*{ih8 nFa߇ :ҋw##~S( {o𯟄44un|f9b_Dߴ( /ϑrn3 ҳD]ϊ~L Zb?n }p;>$p8 GY8&[Vs {ۄWL%!di#bX|iA<{kN k~ K#q3HG^! $H v-Z+ 5Zy2\efGu7/y ro}~C zVCϿ: ?{ vbo>yY2Gk&zi?7B^Ci.6"ǖ\^9CQ>tq "ڣ]u~! [WXl\zৈ8akzy/F)t`'P(]b~1_LCYL/ yHr pDYa 6U%,~#:ޗPz $l"uj~;^C+!F^sX2agӛPz(rQ4xPB{lk,g!~.(zy;FV$0Jn7? >A (>hſ<<{Q{"w: m/ {N@ /"v+(䃐֜C|s|p@߇rzOe ɿBa߇Pz>᜘@π L#/#'#id }o8x)ҋw#bF2 }͐!UFy#qAЯ\3n/_pqhGXdXlc8id:n pku}x[nGL/q7^%r&5Pt+L XDon=#YQűo?{q5}\Oڟyx M.Ϫztae=7; o>3ˡ\^CZ=j1g P.n_LCAHU^La|GxeHÓFNzgP'`f! dV D9 |RX"ЦtsP.K ?mP! Mx+&,@ZsQC<)3-F8 5@9i#@odFmOyVskĀN#? 硿l2kmaFq=U+" ?Gzk"t2Ã5Eff(ʀ$=f('m+haBa-g3` U-,p>`rK}U[^Od \8-E^yQ!*' ݪg{A|#1g{F|M0ib*<:2.HϺ23e*~@[ۿo@y㉪Ŭ;7/vǙ,4  ~#B(,5?nz3O>: ,wnMh{`u= L!-_eT0yAI-ˀ.B SCm`Y;sD&ne7pvB8gB`e]c1(Ij1eB?,qH϶x_V)/|5=E^1O#e)I]gCzhsHFS ,3`f>k@A8 N]&i@{mp8iC`n|kgf "g$-bSVT:VhԎW;Fyw(5=bol>uADXxOmx  #TK(K6>=H,hͷFOIGpyf/r;ONBDQEsH@/H'g7bQ?{IKH*n: ­3sx~4}8-ͅ1#$s|OkzgpX'!~CP)mz]dsXWhr*rkz"6| 0؟EN}. dKwAuiqܶvNˠ߸fsh[xkv]`D(Xe/\!qcD A-^Ĺֵ 0Τpxq4pc%?X@)ɫO^T"N;.O W@8`uF ho#`I@,[iβ"t44;2Vh=j?SeRm7\,b? weS#-590,A?wMMr ܑqA`ů$0ku#b)HI0 3KAv pDhR"_?_Hfd0< 0ryWΰ+{!M?\ yˋ g mpHLK98\?l `/gvyzV3 QNHșy:zCeZ`TQE7MpM My5yR5 ?qs3?𓙭՘SP9?ZyQ,A?wM^1;c[g+'ۭI\"l\Lg({Gp'SpF$/}#ۺˀD(lJv|s=P! aՋ*+EFF ݰVon6GMpb{O P-ʀUT@9y-"\/53O"Tpz\#3[Kv-Y j$0< z,.uFr⏣"Y:lGA#eegΌs)YkWI.Xdvv_Ta A1@8:I"R@hA O!- l5z̖S8nyaEҳADǢ.oۮOwXFAsɁ(In.3)`˼^TqZ!өFAтǁNCqW+/v) oC0X!!I[:{?tl9>+n: ¢SN g88 k=@#rb[V6ד MhzUyVwr@ AioȅlY ߣc8U[gP_zthkHA.zYr lV's#w%@l[~{s9YPݠRX "~2g'k_h 4./7vAȮjf7oogϏ/o:Uaϝ$/*%g)_Nq*u<; 8-K(88D98ׅbY bxl-+u3sˡj2$q%Yq8pt!ADyi@YI!3 ? e./ [ƐI[&_?QUv!@z ŸZcJKbUdyQcQgCrD>nY|o;" 4I- wFe* TF .*h tFӖ BD4{0$p#ƕ]Pnw6Y*o*6/$@EҳA/76zɦ xǚIlX7_ ,z=z, cbmDpI]c֑^eH߯'te+i9׶ Aܳ9} 'A"W_GV¡ad$z"˸} GO}A?yNn D]^T =KOogvLxÃ;&A(7'J`+D*W#ٮA;XFӓ BD!|a«/`d`yQS ",:EtyQS ",:EtgG>LwL9Ð8,w8 m0Ӕn$"B+4#Xο|E<-A׬V{I^f8ͅ,A?wMS:^3.F4U[kL8 < Ƹ 4`-Ȍ ";>Y(#p8% YECH^cιҳA6yzrum WJy9 `cТ~yXVC@UrݚB(N "B3!FX ?%y)lyWN =KOnWgS殹<.Ϸ;`<NP1(z˽Ta ADЮʻ;~ tr_̈́,A?wMS i3I`A>G5Y5c@2 hG-&̹ (9ҳAh'm|͐P$Ʒ>pEm++B/O+`~lA2V i' fǧqzl cs q{6mg 6yz6!!ڠV p=k$&6~va;`k[-*'lCо2yA AJM6 J\IA`&WD\<"@MDz ŸnDϦ~zH*&|26psh'| L+nSʥHR`~yX!p'O_& ;A\ɳ ߲j0 =Kوɳu "~1wۚ嘜 IDATI`9(d9 {Tl~D<-wd4f@[Q٥ X!B$.!{ĵY HF/_;M=8 @wYzLh?.2V9v ew[QN /,2IHۗCf9bmuYd@z ҳчe|meQQIV*넫(Qa5:n4!nr4҅\HZݢ`CIa~z|0P{  -,A?g}zI)Al{[K<0MjN f\?NKE־;U/wyަ- c g19_zKtfEdCIk(4c%[b鐞%mlMⴿ&:\VDp펆*N\5GV,}U05:jNxvq645@ wc&g/|-R,wZF&!Y BϲK:> kqln2!Kk@kٞ-k wDӓ BD,{o}Ƒ.Zݤ@iL XHzkBtg i/=kIhf6jAlzq"@LG6A΃fӒ]Cf(KB9%g[a 5CDǀ `rHI[cFn(1A?mg5ޟ=`^m4:BVҦԐCP@.ԳAHgYʁtp0vn?3YS[UsV+yp<^6yv PENSa+4-Zc JDs^mkcY 6+,[ʀv hh໦i8H:jMY2vN yQG; ZHTsúHMK,ADzk@n,' =w@ 4*` bC 320Ev|"G.Gtg !=$P~/Gd Be͎=hU\AJ=rcdO,A?g49 j^:~˅:?8B҄20c C cҳAb9NG!mߏl;dW2AS  ~ OC=@oH"0d kS ]DFADҳAhn>{hFO#ƍcޙW3`|DNVk^&-80J 06 \j~dr=KqH@ ;$?,6߼l;Ef83 Wn3JR'A-ga-qF\unX+d4_.Zg ҳK9[zU`}ٟ!vlBZ!xkg0ֶ`1G+I:d >F0 oujp ~o*Oz6xh+cA=އ,AiCh!-ˣ7Ga6(6s[$+@ZFKe=wbb1M.#cbk`aYg`B; _;D,BDGcfII@Ɗ>E &$0YCtAKw\Xfb }9a+Dwh=!~E AMa"D4@iw&=KiF+=)OoG<^Djak1HQZRx2|`e()l\<+D=S18Ktk hOr;Zu)Yh=3<Yxk?'~ $F;[m| YbI2leQ[ 4>slyWO_ر زslb)RVqDm= D΁4=P f!DҳD7 mFm;+ $q#RsP 0rܽ-+ɘh^/#cs X93$a:t'AmTp,A@? 3{Oj%PHCD! | ãaX.Zgۓ2̵:g D׳֙,A4mGRQavqY!Mf:G0Hr. `]@X!R!=Kt#lgBz *iQJwRҎ<0VtE7` AD b͡A^a(cc_vgÄ, uBz 4=F!:~m eg9tC& $LĢ5+DW@zѐ%Z =K&-N38܃uW`OLcf™8(0ׄ9! : 1A!!u[ҪmC)Lʘ51 c8>6P &]lCzhԳ Y]NJFO&aqj,qGM: Xq3Ik\ʕqۚ>L8>oc`y:mRJ˜@`iBC;,G{v,AXd'fdiHúvz2 \{Z\8=Ǧ ˜эvC%a`\jLʘʕ1t#@Cj2VDwu=KX!=ytHN]q1cw mGKd-X-h1 ~A  A^(7s[9>migX#zFX ؟ET,H϶ҳ YiC€W-ګt_׽e-.iRSaj`7Z: p\-0Яb9Ti{NQ:Ku x9DX!cHYg8ďlUnr8' -!r;8888?ZڑpPtb'nq,Y$mvf~4+lK/vgyv3yJH}M⬘Y1_$!PTgcEj;ޯ( -k멪 N2i ' g(|׺-#wP&k|R2X#i'\[fm]x}@Wg?i?gE98+&BV~a͵T8`b} h-/5!N:eɀjtv 5!j&J]G{ R4K`2k¬bd>-O gY/BVb͵T3@˃գ>,f˗ xB/_‚e՞)O.l>-O gHb!0ҭ&6́z]Ė,][7OEUVmn"i>Kx##$; J1 !D)8+xTз ,^U[2`kLr&K` #ezM+b6J) !D)8+Ĩ-SNp!oh\oh Z-s QLë Lgm=Y-]8?S1BBR&qVG-vc2 @1)ooOғnV&-i(vBR'qV"&`r3T2mnZ۶I% "& WcEv3 !D98+滢& =cɀ|ܞOi BBWI1=C{{xB0d@2) RBQj$ 1( R7t2C+w'H'3/p!Juں0 :ZIn1gIQeKu8Ve !:Гt$ &#1gI >\tEstӴ}ER^GcT/gIYPCeQ",}}߽@+bvJ! !D)8+櫂$HO"$%O+O9Y!(&B-azmy:|M(ʱm,!DГȰ7I$NdN fW+[H/|mybn(8+"qV K=x&{<ݖ`RQ*D2)h*:۲L۲1M ˴I  R =b޹i"x%օN θ\nsC9Y!(&BLTfЦ=3r#vo4]rB^%+10^Tg$ 1^AccE!S>y"xcL4VHBIbT}cE!rq3YĀ7+b~8+S8+hV7Rc@@!<|*B15B1!="jHnqB15b+jBXS+ByucE֏9HBIYOc%̗*rE5*v 7:KcĔ$bjg|UۃVJʱBUkokIO+O1BBVT%oy4s0M<~!Dnn: )T*ԙ1akX_ gI" (Tc{\~fd?~!DnZt8i֟GK{`ʩ͏:ufgC+b6$) S8+Dz!wzGvn/ͻ$ubGamgŮ%-s0m];](EhA==.vA!B3BWI1V.xçvUduçvp'#^,vu(ij$:>})St:Ntuj`zqC~Y!(wgH IDATU#qAAC3b)AD~sV7_a-8@)Wu{ 4ܷi"HTktu iSn 1gIQXzĿ~&vhmFX̎/4cK@ /I̎@%,yw1]VȀɲg,ڝO4M4VlHR@!&qV"&`Rz.;4VRMa9PzŬȟ =Iݳ\욉9hfU԰YRTflbHlZqV!b>+>\4@Lbdž/pSɀSg|!<62gV/dXABl| #s^)dXAũ3'@ry>qV!"b*HB˃ucMJK9YE,-v 9D`*4V柢Y!(#gȭ .WS):TsL%WKu΀LVg/֤2% !D8+Dn2P\K9cy,3} !nsYQz'(v5< qV :iK%d@B ܞO:雤Zf )vq*#bTl0z=VjG9tU-$q) *KS0[O"pŮ g('_eƊB~7VVvm-['mVN̚35IZL;#*fO jWifyJncF>wD! efh-~% IR@QEYvʌU)pK) p؆?+BUeMmzr/G"AHP zKN^7VR aj!m֐4HfaqYi=pqV]<1[7`k0}+V2+ po%P쾅(Gzix~TK)+ Qj7VRV:cCbΩ jS;'l4"֛,b&* @@˽MDHjv p4Vrhj]M L}1`X2$2  $3:l{ p %vQTUe]=KV%~==Xv> +!0zXX {^~˫|Z,u@p`(q fp"m6`Uyy+jUlOf؃X1}--wM6;f6?ʻCu$omͣŮ36W35@P2Femw~፮9 XYRjا> f"ӌW`ɪZꛣPObi-4a}3Ak+.ϧJ&z t;74dY}N7p-Ϲ= }߻MۯK'pO$!P2!7 w1үGgeڄdԼWƊ_s>KԱdMs2ȉg-^ZB: i kPuyWd2JUDG] S0A L-vV-b&F: shν`IoG|vĭ7b?፤0ڢ='=e1BQ@?w3g?ޫx}ٿWa.zj}9+0 hv.܃Њp︲t]!|=ׂ(b&Z@qAQ7>.'B5֝LMctFWTՅl'+ZZm2`DSj'G@$*Ҥب2$1= N<0,xRK;0}7$!u!ֱeο9}!R|/W|?캐]@'tɍ_ҝM$nX:.<$~%2;^C=> ɗz;d0}73g8>LfYT2!RwSַau;%D{mniY~}[VQu.o6V 0uD51ACW\[7nj=;UePBctoz'$qQ&t|%g>չ/?8XF?q3 uHD{߸S|᫉іNU'I脄w`<|5I r<~D$ [6!pʷ.I QX5!oYH(2iGjtv /<}`Cꣳ&0ZJnNXqG]UayeL;4~xq&Rf=]zK=/3y\rM?x=pG*|!/gKvvRة B}yQ7xo1j Z݅^M{)qױىS~:Rw'Q<|ĭ7y2߻ ۩ }W HiT|Ȼ=TGc }h@^uZ(O0_ao%|w?yp ގz;mT=/vGz&2ό!x-dvF%XPlZ|Oizҿ |mNg+?ud=O"Jxhq6_%b>S >sGvq_ @7V-XV͊wC^B/_]8_|3VC_bvHctiJ@;IQHeH$F&FM$zVR(86rx5_qXGa9˹ҩh_^ڲ!Eq79xS"/VUx5 3FHׄXvmَᄀJudW}Ju'-wnz}i"ye`-Øw4/NB YEFmMƄ^\ܷ5յKүI3 ^NL7<*Bow& s=81v*JMх$ΊBSԆ_>sԅ'ܶ2j!ѲkpTUa&!ּU&0!W,~5VhloОی$ & F7e{t^RM\F_BMmO.3]`+hvN|]Hޟ}Mm8䬄dz=\z d }:sl[->q1JG8~e4E㶟qSv01.0R_qcdt }[?z3C]c MK(d?'@߇މ^0mX'Oj8|jQHg\/5W+xRn!F-^U[2`kLˋk|)v}6!>6VDэM 9q5N.8,8-ہqg":KxzBW+,_g26㲊2QQڢ!oh(ohXs T PϘCO_μǘ߶)-8$g7{+KnD `sJ1.8cv.yL:q\N`إs?AgNz/G[Jvy`cRS yp ̔3knq8t.F=o ~'޹g4WI|(gE)8MѧP/_\͜Q65~Ex "&`rqWBBV*g1;^l&t7)SWcEzS\Ul|/g0|*U 8M_pƀgC?(ƣos~oY?XTpypK^uK)i&50C8"npㆍcT|U.zvs 񽛜IEY8+-cIln6/ z3g.4kFcd'\EM:K"!14yWM% ? 8\}n Tka +'lxu\򭜹SllK*$wIxypIR@̽WTyySq]4RuNWmOuUƍNE&Kv`l{7vz$hFtj }1Om1 DSO.;Fk1ۚ6:)dÞoY2sl*SS9~9ʭ:Fڏba.!q7rsƟyg&pĚ=E&c$) zX],fǟύ8}z}RjqrEOZ1u%2@̟9˰-:1-u3{>LאA o8idi؃ey+㔿L7kBaxn=G)켔̎W{NVa:m#hXGc/$OYYᅑVM얏UWq8mXSwMgjC] [vJlK%(O13#MNg!mBd_s>-O gWag;^ߜ}-E 6K3OFuzz۪I;/A[xJz& 3іyVEQI$5f*DT@pmڃ#ٻvI θ ? &[s6==q6)ڏֵ&:Lp*X!qV@~J'JML=?$KWDN"z'@';ET Sx >.iQx$C5WxR^oޤ'e4ygֳ4VBTŮ(Q ~"?<P&*f .O+C6TLzڦ Y6U exSϛdxRqVQ4a6zF3oFlLM̱?cc^7"qv4%=|a?|WB?CUdrU!%X9lúKB@`RQ*D2)h*:ǔmXm٘e$ b)R7Ұ~ 2Μ^ƊBϨ6L"1ȠIt0C(naOB:F*4:fuKDb kD]Ν2Jt+3'~SO)D IDAT,5p`1Lgi1&B{6V{%gyL f `h$|χjڨM 5͆ *J}|y {z[s=*IP  ~Z6$H|RilhDo SQ,G"AHPI"ĦkxķƊJ& !r DLٻ RSцP"HS5eSWHf{h+5U: :FdAyY68B޹}OPdnG~+*% 'f2E.*ž[ҭ[FY!9ʹ19fP}̠ rel*2TW ^1@c gU@W8 ѳ? 5% _ g4V(0Ib'2C؉ 5+ CfCŠ9fPٟ)eÆIt ӛ`!@CFwڃ!~~`L'JY0|p)P$!H[TwgFIAuQ*ȫ|qGe!lP$ \q6;~26ui:F'%NTj@C r~ЋWD")jB 9qƊel;4LQ3Wằ|:_I>ՙ;I )BxCliq&]4Yx0 8 78 *t=!>5V2CW̺n*v DLS4IQiZ&qRsgps K!Wk,ald+':H-Ire=nstydc3TӦˠkf="%) 櫂$j=;\'bmP}%KA5%N#M )-eyVVsǵZ'3jX61~]%q/ÚgYcަ GW\}Vp! 8+JO%  $T-4r (U%6ݹ(ȐIÑ4):h_ہa;U)#M<8T, jҶSg븞^'Ei؆EV2GYX%q6ˆ4ui?plQ+"[8^!8+JW1`CkA=x&9k褭o9stdGVL3F=EEw3Ӛ՝ˉVgKKv@Av F?|P͠cANʰ0hp4dLgtF,l3)Nd'9PU NHRd*梚6m)RAΥ!"'̶XNNEQ6nC N*uf7tp[˰VoxKqVbY!J]AɠM{p]*i$#>ZަE[a o5.<%!tbWCjA ^Jx8nsanyo1 F?._[3Hoa-9cC2TVt/j;ubQlgCIR/UiIx*mNof t3ء!lwFEś.Q\ ]vuL50CN[/Ѿ{ X1mNM*Ұf!(έ]EW%)PFSYt+˛ne>,Y5. q4^} {@[$C_;ք眂$G?~'@_>޴slSG:֓JA(bTQVr ɀL^Oۀ]@wdSPlJP$d'W*"îw/Rm]^ۿp?'gT*'y˯knw1=ћ;!7Vʴ r̖]M@y;NgiO%7J`ͳFAn!¹=6E{\OG?'[R{E_IλatY?&ꯒ-'NG __NςNφ hv-Ik:WϪ,?3ΊgmA+J_^bW@%,yw1K`N9fPCIB i k֚s Z4yF奘I6p`2̟_<&=ox}Ã7_܂ Txc'p[7~@8ĕ?O]0߿IH3!I!v1g`۩d@5e7iZ ky?jb{34d$]S|*w*|ԧgC+.Χd*4_BjڷJRgq7>{dBDz05f1ٶPnD[wmvv;Uyp/\|B& =\@3$J~Y(;4uϰP/%K~bKˠSJc/oX$)iܶ^>w+.ϧcFBQ@y:E7lOdL@gaE!s[nL]2=P @e9YQ>B'Ɗ25d{IOb-Wu%Ɗ мi)hѤ!R=ݲ%)P%)0B7l[S4h/L%( z;ڲX7b 8:=nx/Q9Iz#30on-ڃ~ej]Z0mIWbܔWsL<_h&M9òtkStB >( ňľI9+Pb } 3uuӽ9ۋAzۻ!UޔlmvG]gm}g+dv^Bs$\1Ў<=k$=:ď`/˾V{ 3;FNLB?Kz"tz<*^|g g('20W+b vq؞B˸$K*Tcy2u3Ga=o d7}ضF۾s,{!+6y$c:$ b :`; ] NxR{(f~&-?u8Ƀe;ǿ}˯1y;eN-h%c(٧Lzۻ1mIEtK(4I 1QA"WBIΌui '+e2 [$J\; epXvKO PEO^9{&EK[ !#pگP\,up: tw1jK9P p4Qb4cO/ g('Tp.5V+5(˜PՓA5nj\C QP5V|&I0iU3UIұwfAﲏ ?aͰieoKSk 0P 8q"zj}+0Y?|V 's@ɿ[ȼ\ӑ8+JQY!PUʵNmS5u륯k;cd ziītlǏ & j 2(L^K?RzS9,Q§gȆ6Ʉ7ʥ[$)P5ΎJu%͙kIiSߑ#}.P]" DLU<|֑X7\Y-Eo![( (5mW.AO$ΊVqVmrjTՅYhh6-">s]zYM7l:u6^L]!V$buN`FV¿;Cu!Ȫs8!@)n}'puW P`U!II r3j,;Hh&e?agovY% W%d ^Y|7ȼp6v:; 2{ tטE 2hM!RqV/-!MXQUu,YY~:3p>` elj jF'tXp^g.P^PٗN 7%g[.sG=Ldi3lVh⑜/}ndX}ޝn|g~M[d^B@i(8K,Mʢ_ljAo8| } uqg$R|;U!̶BOgO~ PpvsE*8+WugJRQbD*#U7Gٻ¯]f1MaF'Vj"F:e׫@؄!p"7 M*M{ TxZ7|Ygm%`9غ{ip|t,)i|ax|J+.ϧ*[)I*8K<kThjʄ@<=Wv|qV?w/YVIkD?Ff\gmjޗVwPKQj~OFBqU MgTI9\^(zBJ5u,YST9%KޢIմ1ɽ**J2o̤"jAS_’%ʪaf3l@NY~P}kcE@I(8;]mLs}~j+oT{;v UL>cV9ufOuxIC˚;ePјo}sNS͌˾ydg`'+I|D?zJd e+$<ڪ'+8q @U_U;'=0~BrBVAUM\~6VƺSiв0{$6S(Mx1P=v6ڠIET! [KUU緥: K}^ƒj٨cF3}k&iP$@f/gApEO>X:)XSSgMg߲8UZEN Smk<ô4 wh /:{|y]c$ҋL>1;6iy莝ESCzdeUm[Ġ:166\˳`$`u@WYqؚ9.&{,j8lи8{#lP~Nsg9t,;0ם= w)rb6 #)PQb"Jjtv /<}(C6!P&7Dd=E{9텫SWjɓI NَW{0(zO*饄D Ɵr2{0yb|KDC/4HN6}%-i yںW>N$NeOQ͡cpk Iw̙k-P$)R/u]Kk[9;g݇?5cdwSxTTp'-;V-N?~]M{e7?P-&s>-*}O/Hudgy3ξ:pzNs}tCy {ٰ?ǽP0~r&{9tcgJ\~{Hehi9 j~I?SKDl[~ocG%:82f2xV4M7s:v^O" kl{OY\ߥ^qV(#i.K%dghY[ҵu3~TTUa&!3IX%0hb@%$r|Z*$)bMVWۺ(6|@D p(U\DwrⲝG4tO:Ѵ!j;{r :yɛJb.{AXF.1kUA`;[VӪ ^abZal[ô s2v'N[u+naE-9w)Wz"_Tз ,^U[2`kLreD~L`!Sv~0GZ-Q8Ɗ$UJq+ 9i {8+~[=0ZCeOmųSn;w)殹gGQVnEךXW %ZbSdՅ\]j}2 );k-?R3GFN W9\s:faŮʔw)v[U1)@+Rms= VQPƊe~bSP.Ɯ}zcE*vKMl򆅐H/oT,;DgESn4/~ T;G|b~qV7 >d`Z][O>R m(YܶmRI-G#S"%KWFR#U8;j ]+`tB.*BJ=˒_n6tmUPrb{9[Vނֱ\K18+t< j%B.+Cu<>q|`6JI A)O9kE3E@P$WWJ^wý"ޮ``1<R@E(G)Y@ (E%g 2C MS"`yhƻa'H`Oc؀y}69Y26 1đjxXJQ*rV JRRT}-E4ը0 A}45EʄcOݱs9Ŝ5M;6EsгAX'+ gYJrVR2YEB0-jҘ vrr4?6ˠHj+fI/ƼXJP l"8.R(93~F\ۦĠʶ}is{{ʀ|BIRy/>Q?4 82Q܁U3j=uZz 5[pX`9*y>AO( 8rֹpRQkI~C^ぜ%)lɧ*cc]z@TJYLagƿ?h!ݣQf<j:urMC4T<̐\P{i#QH(Ro=3VjdeHbU_ r6$yL޺ܻ֓צ 0Σ9 7{W'_ Iײ2O*B)LIY){k&Df[V[B*vt}lgkoyiB (&B "ja1Qpyt $WQ-2dP $< ʪ mo*vc!gY1Kx(YSG5cQ z"Vy-",uT H`JT,69]; E*9 @^c +EtXłA2^ b &+1R`R@(R82|5w GTY_d}&[K0\H7>#rz%T۞+b'ipцYl>-d4J!gBMi"z"6bԍ9)3X Ss\m5wS^gv?Vֵ|#vWau82|5p ZnQʹ}@yvor. ODK?M,"~V7~ 5➞ˌy67~!# H~$<h & 0aZ 'VnATidcBPmK?eTiXC@LǿLӥN\)`0']߇ghH*KAZM+e;F4TU*'a$އ"UcS9 qVtsW;?Ϙ=OkͯLs< @y+SB8,vNYuMB{F\gg~rVp,ί׋WI1YIgW6]3d84'绎gXۘz!&+!,F `3Ky~}M͉4}nsR{:0@8+~>-$m5 kI$4T ޱ}ݘ TZ_JQ_ǁVb<4^_%eňc(rٹ2tgTR"_u>p>. .mZo?6@ \br,)!gKnj D}kT&Oc8NˌG$DZSc#Ĉk36CArx_h;˖hba!Ӕ A)#@DlNB:*z?RV |aU+9{_d|NG,JA}z`YcL%紽 [O^yMޕ69mz/|[+> )g3gYv3V!׹DDaЍ;\Iǎ="²|V6>bR B):ӝzEѡ(Ztg^;i?\1;>k]T^ LnXL H^;wP7 QB*_Pt_ʺⰼ΀|]0z9??*Bّ }dE(Ynw}<}:jLy8y jJ7s!<;$PVGg}?/.:tZ7fCP3]#';.qKŁA2w*9;b_0957O(s/( қA RA%gK5\9V| [fJ{qנg?F˩=;FwbLA*B ]&)ʌ:f8^[e"/ B0T{ݬSn 'ޥ /! 0Ϩ@C^ڝ9Ψv oh##ZȤSmb]6 fca?<!r"iT Úa7g?uQK57aZ~Ŀm Ѧm~kw-|xj<;G}trpZ ,c:kž>vܵw;^􌾟z#]l*F=nz4<juOQ)+`Yͽ{OBACeH8'L 8ʹ*d_V '}}7 f:;g+B *Ebdg0Dqٟ/&G%rۿ;DNU߳؉Y ;ɺ#3~Nh,1/scG-m9q~·]a~sn']U[&|'9{z EV0=Zj,u-7aS#9r ^=sN^ymB\GoҺW˜k ۏla֚{vmus @ W8=AD .KO X9+8)!\w\N&+# לƢ7qnFX[+aψņޥ.ZT0ވȈۨR!08|[V&&czˆ1kj+A[ 8: T{B.FSv~{;18N  Ԁ]2aĮiLxx*P9f9Pf6"a*FZ>NE r?֌һ܏d\ u~ʩ!o8S:{ގ%@SIjF &+A(ɇRĶ%[ 6tZ/(ײ6H!6.k߁Nn5CǨ'ja6ݙ;QMUŠĶ9~ٗq80G8ɼ IdB\jv|u+_>R#,&d&mqsex*ȎESrV B ej!'x9{g;w RHU5P"|ivQsgJu־e.vdT뀩@3X\`)uK"Y@ X,9+8V)@.5nmG/^iJG{iNa&eGnqj,,NRYTJr;a6K}xl)PrV J!gD!ΕJ|p6+Ls.+MW~Pen~hve3nzX <㟘RU R@Y 5!Pʓt;{--2;h$Ձ`iT`X )~.&+ʼnL TT'+vab!EBm s )FZ@ "b8J@ X9+$S(Lv⋅L  ˪e X,"+(~Ɋ KJ@ XJ9+LRqyOG{E拄BX،/zKU2/1+XQ RCY@( (JX '}: cP G¹n翔Q?ŁP DY u LRKvQv׿`q&+´hR@ B updeB+ Ex-Fc>;%d%gKmyN+%9@uIQ F0G+ {Y?_ޯpwRm{6M6;>3[k̩l;S&|EkIb3cY}4VDerH `3ob5(XKQ;gp|+zc={tt^/8?e埦Լ9+L d%,tȧJ14v>Qc\haW$webbH(tt.b@zG/l;'t\J@ðl~`yQs"1q潬Tl\D/ $sםIyَUꏼr.G?$EXVݎN)FK Q5Y?ZkZMC; IDATk~Mgg njޟ\#,Wst*&r'~K!gI OVrAY"!<] c.zAˠ/vXVcS?dEP\4z5$bU dK{ߋI?WW8'v6@!ecM-NL1k: wUX^*?;бF \yB!`5 #GVUWPxU]4T۞,yR$@[h5+jPOs{_L9+-젽&ó9Å9"s,q\BfB_#Y,A sE%y_㩠ĕFG| Qv\@yIʀ8$8,sZv:tZOkofM39=_iMqzoLuL(Z^9x'p u\*U?0fC!c@>~!g"* ֹ2g@YGyuzL fUin:Qc+2@#,~dEx/y(VT͚F"k -T{ [\Rrz%ڟ,Pe[USeK9B uf:@鋄f&F=wUk1Scs's?ج1TP\ ~| rV$%^k&8n_sbVLIKW'=v%DG"(D%uJ^Q@(娉+xb#Gx ˻E)/۞{*]!U 5mf=̷/189Op&xL]X \LVY)j8qa5swPQfe#)~͘ pá^F>\@QKh'W7BDo8?A ZATaw"kc~j3 p-/5#bi6$̨4UyFf_ŘT"Q enj~$i sN$j ?¤V? G*X9=T?3W*Y1>K:P 6>Zk~s$28V 9jaʺ#G-q)µ({Vށ9g=U DQm{u?sZP cCf k :NlErt*/",ۨHG(Gw#}@__˲hu>"rVpRkșΕkl1@FαcBX t;Kny A qοVj9deqK@SvD3ao+Ap!2&5?`< 3+ndˠO1~Cw,h| uc^ѐQO^B@o5MGqz7h0:ڧS9z;4q~qBh6%b:–? IEG \ǨL/-7h_9yZk24qеlh"+n4@ۏ~v֟6cZv|}}7ixGf䨙*닌d{ '#GgsdZN︄jsINWMINln1ϩOǽeVG>Ǝ[XQ3N\$"_̓;'-!E* a_ FAݼ`-XETu,6܁ԗ?=yfFB²eP`cSYV}$sE#a rV HMA|d|6gS#lϓnߨ?–>[sl?}N]u ?b:˺u7#?M:o7SW];O+X+mf3Sz]nۿw5/Z|[X^{'͕埌-%vt}4Ru* lЍU!4bB nM[i}{}9eF#Cַ܈x2ce_K*g2"5 2<=}_4g{n@hzS+>5`̳ V۞h5fC{Ïio1dklgCK*BT1yOa h5>,#9WhJiR*@Y`6 T&+k8tf[0*h0Q(e@o(s  e-~.&+&KU)a./q#7T$?lIq_reaөf|x>8?w&t4_eꯍ5(QSNzOaw(=k`H( =?ؔ2_9jK cUu?MDcpOnNl-_`!-5rwP:-_KR"T j>$[Xq=.P3o!F=~s5yn`R9TH!me;)V7}/PJtd=WX^Teu?9wYc6$'lTç2 !gԇ@pb5d8FFDB3mX [aY -8.dhՀ@ce暥ҎGȗ/sm֝'K\(%9 bz6 /ȊiyUtXm9ݞrJ$=kc=s~/W'':[ǿP:NJD%(;MbYAtcݼw"RdB3ʔ$嵿\PSx;9j$qpD\&T$4RgpI`3_MY^{Gn[*+QFRCLR[t3%㚿 @m+ !!Seۚ7"HĭNDXD1zkR˖smF#Ed+N ƬşjXf+3t򯝗~cVqf!^UsB Iܩ`LV*:.p0.* uAR_6#TTbIv+p_B<-FkJ; i0X'SwuɈc_ 樂[eFB {.Ǡqc4AN)vz併O1L~.' %q\B Ub> H&sp2myQ#;o9g[Lͣ_KDd+Sm{h#Q&CT1¾euwz3կ|烩{D<~=CD¯:L(p9+8)BӶ @iO/m{61`{R@9OV2OtJL)k{˜̏'9Bm'>C0ZNB:}q΄zoyy;=W`ucd\8tQв}묿5mo`ea*fM ƈ1TDD;vWh!Sv 6²j7Esg} E_ޱa.pQ ecgf)3jl&u_ǰΌfCAQt)#?Q׾3{kPP#ئ dk!\w@{y0kߵ|+ҧ]Ȯ>5ϾSTD,uɝ i%a S'ZyI3ALVMJ-]R?։9v'ͦck03l5]~?ͦ ։3^Z&R_dގ.{O"a刈0M?pG;n87>z67>z6;n8ES3O%׋51YYZS RΦáSMݑf'ݗ#ώ}ދJ!.&ef(4I`u,ݟ1inhxuX}F 7W}/.O@T׸?˭G^]ɲb-7%ʜ0S0Vw)IiaCȍll5~"Nq#Z4Ի$*}CGO'5~zǒ.lw׎Ԯgx}LZعby>ak0ƢkyrDFmx[>ۿ_ _ Coa_玗:;ZPWٖ׬h Sӻ=_w}|Db | O8+EMǦC'9Vr)Bapx|r5 Wx[3~\ Ns׸"R:kk=3㽔IǸ>Oaqv\^p~jn.@s*o\w_'WUt#MsNh5?HP+{lvGx}Mš"g8q Po|Y&0RmOb8>qMV Lp.,n8O&^:*,eYS?SW~=qpDd+H5H5&C?Z#1A7ItTX^%"x}TZ^FVL8YV}/oloMLgص_}}_dY}h5A|@+X*/'}ӊc5dg%/VZpʫy= Eij 1{ vvNnI|$If̳MUgA˔D;l^ szۮfߐ7W6㢪/~|;+~~Ѝk'ǻlƿLkϿq$'ޟq]^ #2|kl*+gۿCwcvCD+0Hꌯg? `ӥ>5ZGaWVyFX)c0xZvEJu]TT 'i422!`7A܉_c;lǤV'" Ыl>-8,s+(#ț{+P3n:yWnjvMpāw"aʌGS>ULx7mXG"j:lŀVQVB IDAT6]2 kLr׷KU 'aS+Sxڶ;xq*~'oI=-{yn1O[g0o?G#am0ō0T T0HX`Ÿ@WPX=5/; 1׽fV{GXp sU])Z\-|w?Cрf"TiS2!= w՛5ДAjҨi$vlю<3vhPS82-˯JG#iy~.QB( :f:kĂN0LY SQuIԹ$?T9=CDic*mT PViHXOGYHq~g\n%`N@+lb3 P5͓mӫ{OMoe֓2χ~Ӹ@q& )2.\Dž| +`hN" (l.{S$02kwHx#0ꑒ؅up^A߹/0 ˼nN7N-6a|Ƈ8-Tǣ!B|pLXmX\QVQTTFҷ.L"B1bW+#,VSmUMѴ8<XȳfrSTjzFodI! 4 T~@N[@ҫZ4K,8T|jOށkPm-QW)bDòq.aL'Ni{G2Sԋ+Wt@lQ2Qe=: I1Q\e_/yuKw+?qpr:篾k.UsC~ǣmx{Imdox Ӟ2 /&: \G%(A?-]3:C19(g? y"JB%Sq + A*ژ\nP$uy0iY!@0 {=xo5sokWHF$IF FXŸ&m_PZ0pD]q wFpǼzno@ժo"kj]£jYv2}Bs1C;Kގ\:H4(B$'gq0$,Q k$5_e$bxNW agT4[ynE @egQ.`@@.q_cj΂Z? 8gk.[ 5!+R@ f T!o?蓜/JDxl˛̌c .*ul V1sz4, %xz8C|2(jUjSsGdgP(9x  meGV~PXd3,H)"[0D@ FY AoǛj /Og>QVihc[:cNG`,CUkH0ƆvF1Ces tg={8W>q[@Sv= ̐b'N#\BߓQڏPhiHl !j0ơget !V3A8 7 t<̭TY\Ă%!Vէ,Tb0``& 84zi^ZfQ1M%JP ܏y2 HF r? TРEMᄃ#rSÊNQp N?3Y?s_\mJ=L,? ݘ rfe[G+S<^w Ė3v K+^ZK{#@4BJEPpfh@.ZG;: qe6Q$].蜡-768 ܒ4?'?+t~/S@ Ue*$1  )AFl\ndt-o,*ALHF dѳaSih9N7hA,˘L&MM455b g _!p90\ n?`Y̝t@sVdSܢ@  *pJq+ ިcm4X/I˛p4H-Nz@:Ɉ{G:XY{AwR?Re/9D& >%Il6t8hoo NO(3:J_cDIJpS_aAw&[t@^V?9jptc ܣ^@ T agT!Pꋫ+G؁IlzZ=ݯUl Az.L,o4t \ŭ*3_-"Ɉ I<*|rXNpINZZDQBN&166VX~%! ~sft V? ZȀtYNRܢ@ TagT,-/yd;UcVd zZh_d1-%dѳ1D"[@lNMf.lQ3}ǗG?C'O|,'%-?nr|~ReXՅnh4*fY&t8FdI#Q8M1/ޏ;: z4rGR"`Yv(O`vPv.gkסߜY\58,qSЏ{Ӗ$#6N$[s^'P47T.f"մˬ0oydžnJŸb8z4>,4Lq E5`2YUrjAn A%{RL\\Z἖W<8$@[pmKW*yxvv>,8NtFk; EVHyc쓜MNn=_wͭ &.V 5Ace U:M,Z\L,Zٌi*yǷ@I.-ܰznz=B*:-I6& z=,W‘C O (~ϕoy| iJA8g)zz?-mgW85߰Gc?wqa5RCwާ_v'8o-LKŖ89˝/h|zV,IV'M}ӜIáSK!aNq@82e;;oX|4N1I:LOr>-Ɲ*{ʹuAm;X%ZR:ޑPIfLPom_m_gÛ 2QFez=pEQPh,f=e+wo-яY>Ƈyd/ D٬D1<pB:`#bUU â2~QKa:Lq1˗>g!=:\xX̄Zu Ĕɑ3V;}d$C( ~_vOܨu`ܑ"~Iܼ;Z]%G| ٪e8@a?O+mNaNpʛkx mCyu?\A:LQ~q ,S [_ϡe?^oæ(|Af*C@ڜʮu ǯUF!Inf7l/? g@K8?F8&w x-GŶtdCUE(g!3 Oy&UO0;U;jy~O$2XuCjXuCsޜUw0r,/x:O56>iٓFxoG箕elj.Yl[WՌ(EgXd~&,rYh1 oO3 pNNu?z'g/-#8/Xi[>3>pxj7N,;0=>ph.iH(/DO4@L5cG2M,< okq8]#ܖkܢ|z NnHlQxKJ1o; )p7ZǯV^|-cf뇜M\8X#65]?W#@%ŇJ +xJ΀T:^\RX(g^Y*gDcrFqMsy+1mkSÊ`&ԢD\5v`2"G#j 5" wncPSPԒ \Ωt923ײw9+҆j.AQȴiIP 'o`*(g6]LriN0x?SVpRl^z ՠb9RKksvB7wz{G-4g@:E/-]3`˝hERݔm𻞻P2'Rg8XZ]auY$V|dK6dc%ߥB3!aFnd)Ԓ4C.a-hl~Jcf6+C?R$%8#Sx'c+$wN<:赼Da/Khұ{S4CͨMXn3Ե1ҐrF$`Khv h DP+g)?7 {{L H})5J@V%ebGYy'YװY `/,yĀ~e$h{Po./ϱ Tzؿηr.ȥzf5*([B$]DI.(_-"q8q1#^_YRۮQǷ+Cf,Q<4IIJCiM L/9)_0!I  a, q(tf27` ǂg ) TdVʋ\N;{ w@r[r>Tpl3#/4w$=>F$%H*[-oT<]rN$ ٧E?4Am@1OhC;>}ڢbaábIyñ[{W݉:5J٩{gѰH̘ozw#Ȱ.z{=A?Ξm@xZfw%cWzfLYrcJb@:g|v}b >{-ib]q%~zh7GBCH;9|%n ǭ?o5%`*rTH>L#N (6'vzMwN8:i.b]DIRS6l%Njyl?&*(U.]#u8): xW/2:F ]ڗ RpkL(l`G,maOB3I()\XDAvLմ]wq$w\P5;;u㵐\QϻG^eeDByl&#Ǧi/D%CUd+BI.p#ۗGVDɃȈbKe-ٱߥfÊ͇7=Y pF m~ȱyi;ƁٓX({S}H$SI2u 7˜eˬk`X@d-O|vI}<_淽O3rF͓ߣw>)Ke_= gg{?p>m5RS@0[utC5\ o}0/_ځf "SMܳz `bv}=h$Hhp F< LjEbQ7duosl,>a*ǵY`-Ccϸc FB1z9oY8)+Gi`?4}b|ieF5}zYc,+uRD?֍?S`/|ı"0HG8JDh(h5B]D"FD6=~{($]"!1x˳ Ѿg<E,oFs/YqXy nYuS/2$Ht,Cq>B.?rC{yA< h7y|}i6Ω7YyTj()M-z7SQs>9n^~ 6"Hkt=| )X GaY 'Dm dQYNm MU2%5 WU/ڑJ[m;Bt'511ڍo]qQj[t:,_%:~Zǯj{q\˹-f-i~~6|S~vnߝ os{ FVVh1̚~>4blSgs, 5:L%Z.炖|^弖e1]Qb؎Q|1c|bGj܊Y~< oOJ('7@d aI`ʉrq?gDd)ʙMdFNo(ˣ?0si i 54~NO8篛e{XC9Vd|!EϋCKmkU,z^.pY@1;482g\7.il=Xo`4@y~- tX ~f P OHs{nکD?r3x9Ld Oym3H(+{BʪnC`&u+D=Lt},}ӎgr?[uw0 P*iڌ[ؚQh_潒f.Mo\ס?wf. }b=,PZZc MA`]8)Wmw\gDI%=oyЊ~dЈ7\~Qd 5V>߉ejW;[mfS`WM:z-Mv !} k_ՅCwX ]=W_h4HSq{6h"Z5X(g 3wY-acөf?j a*܍(;KD/E,+<}IVz&!tN%ϗ9|7Q?@cC&!Os]Ob2Hb9685j?/cc0k&e*I.P ]1,1E1sK~~U|LGp qi [E2oSx~V?jՍW0f,WDH7[YfW r05s\vH&ZOd T.YҖ-7ub R j"4OuNl9UuW_+=Wvom۰۷_CK *+BW `K,`T𩉼:IYG^; $ FFY(y'r3`XRH`2Y#2c$%_R0#*y놕`$.c,)[c|DC8L|L\Q؀d֋nVV^vê:{U7GЏs}9"ztjPX6C r:>IdQxUҁujjzr' -y<XtìoQ9RjGd?HC]@_P5*2"МͅCFd]byu6|a^& b O>u% Qlɴ -& B~T)ǷnDDU'{ P,|ԥr1>3q am,;W_jg׃J~+;ϰ-m~|Ʈ{GFϲY~[▧T9n{?T=7M^_߫R16nb a[+Ϸ^A\ )T;Hp< 2_'xvѺrQ d u X]- 5A}#@ji˕K]6ns 57|R6m?JAە\m|U0_Znƽ~9r\s.bO-ͪէq?\[_5 O4%( E<wt?atP΀HL%@#2VCảX2{L҃L@P;+T)B w8\`$ :#dYa^耍}[ V%glԠNn|Mxcg\\5Fklrcct|r?pm5+)1Ϝ/Ύ-;d/lO~ >Z7YsADìO4~*@UT#T@[4}8ۺc8eo_N4sqkrFwzRg)]尳HH{[x&9x͎vV0שC;m+J2,=1wj]v?13U{PIsǎ6kz-)g@Zpο_IDATσHb{e 3ڃ}￴ՁDY}RÊb=@T3Uc[wc&<5̦cL \>/Ɔ'(7 ܳ9>'^z utC5\ oѱ/HlA?̑@h|zBON99˧F; A7jZ8@SS¨%D23Wb(f+zqFΖWӨk}BO қdgU;/a;`v]BO =Wz!IDF'>Fġ8mI8H FeAy@™ ;+z'z=zBOՃpdG6iKl~;ZsLc-lG ;+z'zc6 XzBOMC8DcN&+92E DQvV ='jGO8FM8/~'Ы=ȍW M$$ =Q0E b\ zBO AQ3_ ='AO8rc;02&󷝑#c/cQcQz ='^ ިCaU ='梞pFDFymJ1N3`-agzBvC@PoT!ШKb|.yDzBO Z H^Cqu(dq,.6+^= @~ v#ރ#Ľͩa LP"q vFgaQ嶳BO ='􊴳! *]o/?=ì}cKB3KR 7zk,d lj k"&j}BOumC 3$ DN z^wRdhIN9lBO ='4M! \߹w8{:yLMϨL:G/OdʖU=h;Ƹ΃*5镺}BO K.y&3$^R82F ،Φ#zB@;+:jŚHW14+n&g36sl،Y+h;a<9[wW zm-GPNVDEKn S@ƹ1eg3W ='^r! 7/$#ڢ1[nNҳl=ͫ[GLV}BO vJhȟ]R_䂐!J Go1`lHR.; 'zpꀪ;`⒴_/mRt@67'l_JAkAz.~7fR#KґFP(,޵_'fph`30v`dұF3;%=O$ Q尳zBO zAQ_zny8#穓  ЛFsXtj1 bg<\ =' vdHX`"o,H t!S΢ DygkRBm}ozB^C@PoԌC]/-Əι'(yMu}3=c܁QFP?L0T ='&Q3]84 Izo9Ts q,%**ndcg>/ ='^M! *XvTnj//_#4f,I2J@^ZԋN5b䬟 ȴ%nzBoވOoDȏf{pUH$  LPc :٨#pd=Cl=JD$;JagV ='EoAPQce%۸{(\zSI詒= gl *,SkzBz܌}τC ?,GN:~‘x)J 8{MpO ;fjgR ['ЫivV8u@;^J4xY0 G'/V-Iңed3ݾH1N$uS"}zBOM)!Y[BŞҙQ3(H3ϥc2#thvO=:a#0s;t='^vV ewAm-NlV+0qjH25J`^.i\ӫfqgzS =Wzy Ldǟ ;N:s!CND4;d^!0eQbMVF o.0f`fv6BO =' Y~v;+T;< @,g~G#Pzndj@^LM/.G:s֙)O =Pc+;SC@)% QT_ظ֛ЩV/5EŘ{T&dݎsi3a ]jPv=Į?.Aav3v{z|6n_ >w(ݛI=)RS܅^ɽ5VPkzsYOQUzBR8g| CC`30v`dұ&3Yj"qb#5ӭ4e6Ќ}U4!ql^xvBO =W/zY97UeA(C`~~cUU-:9kG_;%u3w=Ua,+bmzsI/`z֛Sk*s! uG ZM{zc  2,msJ#8¥X8aM:":5Ӵf-6RY]ׁzBOKOm* "NMgQOΡg^[Pu$$Vba1XX VX s`+j4",˅?{"NkyU'1I<e(tX9__T L. 6;V&EIY@ ˅ngjq}wߡ_tHpg˯ z:AeQQ19Лl^R$^F)c/6p#'t&=6V;6H(@ T9Ά/neDž'uH,?/dp[# AqX[BtӺZvX JpGh0I07Y0%Fg m@PQ!ZWi]fŇp-vVP!0ku{@0Q;Fϰ0IwhX؂PEUTBB>>%[ l-6d}[ @  E`~JG֧< /b)3j*l>S+^Rv󑬨N泪ٚ5{G?0 YɠtXv*$_' 0A׻u}ޭHY [lfF=rC[z ;FZ^XٚαLX`v8+a鰪J*ΪpAWWN[Ok5;މ|uaS!  uZC )U^A;fJʊ.)vvG:ޠzE @%q2LC Ut[y{/ɿU~Wu虤ko;-Z0`3tXTH^h0EKbL/XR铜*Rů蝞⃬*O -vo  NHHؒA ` xQ;`c0)W/RBBͬOˮk{GZ#;5tH?9΀1sk%0FmK_ I2{I Қń 5s?C3$+n`m"v5F'RnUe~W?du55Q<˻w !f0F/k%0B+r~7<ܪ\q7%%MgeBv^eoeԭUh $dc4L;`ZZӿwIίߑJI57w̷~* N7BkQW#>(tg[VW^܉ל`Lm%p &r (,eˍW>N<#0o ac, ?zGbB*%TN hAe2.ߘX#199-@{ SLWn_?OE/IENDB`blockattack-game-2.5.0/source/misc/scripts/000077500000000000000000000000001347224572500206445ustar00rootroot00000000000000blockattack-game-2.5.0/source/misc/scripts/update_version.sh000077500000000000000000000023221347224572500242310ustar00rootroot00000000000000#! /bin/bash set -e set +H if [ "$#" -lt 3 ]; then echo "Must be called with $0 [>TAG>]" echo "Like: $0 2 2 10 SNAPSHOT" exit 1 fi MAJOR=$1 MINOR=$2 PATCH=$3 TAG=$4 FULLVERSION=$MAJOR.$MINOR.$PATCH if [ "$#" -gt 3 ]; then FULLVERSION="$FULLVERSION-$TAG" fi sed -i "/SET(CPACK_PACKAGE_VERSION /c\\SET(CPACK_PACKAGE_VERSION \"$FULLVERSION\")" CMakeLists.txt sed -i "/SET(CPACK_PACKAGE_VERSION_MAJOR /c\\SET(CPACK_PACKAGE_VERSION_MAJOR \"$MAJOR\")" CMakeLists.txt sed -i "/SET(CPACK_PACKAGE_VERSION_MINOR /c\\SET(CPACK_PACKAGE_VERSION_MINOR \"$MINOR\")" CMakeLists.txt sed -i "/SET(CPACK_PACKAGE_VERSION_PATCH /c\\SET(CPACK_PACKAGE_VERSION_PATCH \"$PATCH\")" CMakeLists.txt sed -i -E "s/#define VERSION_NUMBER.*$/#define VERSION_NUMBER \"$FULLVERSION\"/" source/code/version.h sed -i -E "s/!define PRODUCT_VERSION .*$/!define PRODUCT_VERSION \"$FULLVERSION\"/" "windows installer/install_script.nsi" sed -i -E "s/#ENV BLOCKATTACK_VERSION .*$/#ENV BLOCKATTACK_VERSION $FULLVERSION/" source/misc/docker/Dockerfile.WindoesBuild make pushd man COLUMNS=300 help2man --no-info --section=6 --name="a puzzle game inspired by Tetris Attack" ../Game/blockattack | sed 's@'"$HOME"'@$HOME@g' > blockattack.man popd blockattack-game-2.5.0/source/misc/standalone/000077500000000000000000000000001347224572500213055ustar00rootroot00000000000000blockattack-game-2.5.0/source/misc/standalone/.gitignore000066400000000000000000000000101347224572500232640ustar00rootroot00000000000000staging blockattack-game-2.5.0/source/misc/standalone/README.txt000066400000000000000000000006061347224572500230050ustar00rootroot00000000000000Block Attack - Rise of the Blocks - Linux build This is the standalone version. It is precompiled and includes the necessary libraries to run. Both a 32 bit and 64 bit version is provided. It has been tested on Ubuntu 14.04 and Fedora 22 Some systems might require the game to be launched from the command line. PulseAudio is required for sound. Check www.blockattack.net for more info. blockattack-game-2.5.0/source/misc/standalone/blockattack_standalone_launcher000066400000000000000000000007251347224572500276070ustar00rootroot00000000000000#!/bin/bash # This file is based on the guide from https://itch.io/docs/itch/integrating/platforms/linux.html # Move to script's directory cd "`dirname "$0"`" # Get the kernel/architecture information ARCH=`uname -m` # Set the libpath and pick the proper binary if [ "$ARCH" == "x86_64" ]; then export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:./x86_64/ ./x86_64/blockattack "$@" else export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:./x86/ ./x86/blockattack "$@" fi blockattack-game-2.5.0/source/misc/standalone/build_standalone.sh000077500000000000000000000100001347224572500251420ustar00rootroot00000000000000#! /bin/bash set -e if [ "$#" -ne 1 ]; then echo "Must be called with $0 " exit 1 fi ARCHIVENAME=$1 rm -rf staging mkdir -p staging/$ARCHIVENAME/x86_64 mkdir -p staging/$ARCHIVENAME/x86 mkdir -p staging/$ARCHIVENAME/docs cp blockattack_standalone_launcher staging/$ARCHIVENAME/blockattack cp README.txt staging/$ARCHIVENAME/README chmod +x staging/$ARCHIVENAME/blockattack cd ../../.. docker build -f source/misc/docker/Dockerfile.Ubuntu12.04build_Standalone . -t blockattack_test echo Copying to: $(pwd)/source/misc/standalone/staging/$ARCHIVENAME docker run -it --rm -v $(pwd)/source/misc/standalone/staging/$ARCHIVENAME/:/output blockattack_test /bin/bash -c "cp /staging/blockattack-game/Game/blockattack /output/x86_64/ && \ cp /usr/local/lib/libSDL2-2.0.so.0 /output/x86_64/ && \ cp /usr/local/lib/libphysfs.so.1 /output/x86_64/ && \ cp /usr/local/lib/libSDL2_mixer-2.0.so.0 /output/x86_64/ && \ cp /usr/local/lib/libSDL2_ttf-2.0.so.0 /output/x86_64/ && \ cp /usr/lib/x86_64-linux-gnu/libfreetype.so.6 /output/x86_64/ && \ cp /lib/x86_64-linux-gnu/libpng12.so.0 /output/x86_64/ && \ cp /usr/local/lib/libSDL2_image-2.0.so.0 /output/x86_64/" docker run -it --rm -v $(pwd)/source/misc/standalone/staging/$ARCHIVENAME/:/output blockattack_test /bin/bash -c "cp -r /staging/blockattack-game/source/misc/translation/locale /output/ && \ cp /staging/blockattack-game/Game/blockattack.data /output/ && \ cp -r /staging/blockattack-game/source/misc/icons /output/ && \ cp /staging/blockattack-game/COPYING /output/ && \ cp /staging/blockattack-game/man/blockattack.man /output/docs/ && \ cp /staging/blockattack-game/README.md /output/docs/README_ORG.md && \ chown -R 1000 /output" scp source/misc/standalone/compile_requirements.sh blockattack_build:/ scp source/misc/standalone/install_requirements.sh blockattack_build:/ ssh blockattack_build /install_requirements.sh ssh blockattack_build /compile_requirements.sh ssh blockattack_build rm -rf /staging/blockattack-game scp -r . blockattack_build:/staging/blockattack-game ssh blockattack_build rm -f /staging/blockattack-game/CMakeCache.txt ssh blockattack_build "BLOCKATTACK_VERSION=2.2.0-SNAPSHOT && cd /staging/blockattack-game && \ ./packdata.sh && \ cp source/misc/travis_help/utf8_v2_3_4/source/utf8.h source/code/ && \ cp source/misc/travis_help/utf8_v2_3_4/source/utf8.h source/code/sago/ && \ cp -r source/misc/travis_help/utf8_v2_3_4/source/utf8 source/code/ && \ cp -r source/misc/travis_help/utf8_v2_3_4/source/utf8 source/code/sago/ && \ cmake -D Boost_USE_STATIC_LIBS=ON -D INSTALL_DATA_DIR=. -D CMAKE_INSTALL_PREFIX=. -D STANDALONE=1 . && make clean && make" OUTPUT=$(pwd)/source/misc/standalone/staging/$ARCHIVENAME/ scp blockattack_build:/staging/blockattack-game/Game/blockattack $OUTPUT/x86/ && \ scp blockattack_build:/usr/local/lib/libSDL2-2.0.so.0 $OUTPUT/x86/ && \ scp blockattack_build:/usr/local/lib/libphysfs.so.1 $OUTPUT/x86/ && \ scp blockattack_build:/usr/local/lib/libSDL2_mixer-2.0.so.0 $OUTPUT/x86/ && \ scp blockattack_build:/usr/local/lib/libSDL2_ttf-2.0.so.0 $OUTPUT/x86/ && \ scp blockattack_build:/usr/lib/i386-linux-gnu/libfreetype.so.6 $OUTPUT/x86/ && \ scp blockattack_build:/lib/i386-linux-gnu/libpng12.so.0 $OUTPUT/x86/ && \ scp blockattack_build:/usr/local/lib/libSDL2_image-2.0.so.0 $OUTPUT/x86/ exit 0 docker build -f source/misc/docker/Dockerfile.Ubuntu12.04build_Standalone32 . -t blockattack_test docker run -it --rm -v $(pwd)/source/misc/standalone/staging/$ARCHIVENAME/:/output blockattack_test /bin/bash -c "cp /staging/blockattack-game/Game/blockattack /output/x86/ && \ cp /usr/local/lib/libSDL2-2.0.so.0 /output/x86/ && \ cp /usr/local/lib/libphysfs.so.1 /output/x86/ && \ cp /usr/local/lib/libSDL2_mixer-2.0.so.0 /output/x86/ && \ cp /usr/local/lib/libSDL2_ttf-2.0.so.0 /output/x86/ && \ cp /usr/lib/i386-linux-gnu/libfreetype.so.6 /output/x86/ && \ cp /lib/i386-linux-gnu/libpng12.so.0 /output/x86/ && \ cp /usr/local/lib/libSDL2_image-2.0.so.0 /output/x86/" cd source/misc/standalone/staging/ tar -cvjSf "$ARCHIVENAME.tar.bz2" "$ARCHIVENAME" blockattack-game-2.5.0/source/misc/standalone/compile_requirements.sh000077500000000000000000000034371347224572500261060ustar00rootroot00000000000000#! /bin/bash set -e set -x mkdir -p /staging/deps && cd /staging/deps && curl https://libsdl.org/release/SDL2-2.0.9.tar.gz | tar -zx && cd SDL2-2.0.9 && ls -lrt cd /staging/deps/SDL2-2.0.9 && ./configure --enable-shared --enable-static && make && make install #https://www.libsdl.org/projects/SDL_image/release/SDL2_image-2.0.4.tar.gz mkdir -p /staging/deps && cd /staging/deps && curl https://www.libsdl.org/projects/SDL_image/release/SDL2_image-2.0.4.tar.gz | tar -zx && cd SDL2_image-2.0.4 && ls -lrt cd /staging/deps/SDL2_image-2.0.4 && ./configure --enable-shared --enable-static && make && make install #https://www.libsdl.org/projects/SDL_mixer/release/SDL2_mixer-2.0.4.tar.gz mkdir -p /staging/deps && cd /staging/deps && curl https://www.libsdl.org/projects/SDL_mixer/release/SDL2_mixer-2.0.4.tar.gz | tar -zx && cd SDL2_mixer-2.0.4 && ls -lrt cd /staging/deps/SDL2_mixer-2.0.4 && ./configure --enable-shared --enable-static && make && make install #https://www.libsdl.org/projects/SDL_ttf/release/SDL2_ttf-2.0.14.tar.gz mkdir -p /staging/deps && cd /staging/deps && curl https://www.libsdl.org/projects/SDL_ttf/release/SDL2_ttf-2.0.14.tar.gz | tar -zx && cd SDL2_ttf-2.0.14 && ls -lrt cd /staging/deps/SDL2_ttf-2.0.14 && ./configure --enable-shared --enable-static && make && make install mkdir -p /staging/blockattack-game mkdir -p /staging/deps && cd /staging/deps && curl http://icculus.org/physfs/downloads/physfs-2.0.3.tar.bz2 | tar -jx && cd physfs-2.0.3 && ls -lrt cd /staging/deps/physfs-2.0.3 && cmake . && make && make install # boost cd ~ mkdir -p Downloads cd Downloads curl https://files.poulsander.com/~poul19/public_files/boost_1_65_1.tar.bz2 -O tar xvfj boost_1_65_1.tar.bz2 pushd boost_1_65_1 ./bootstrap.sh --with-libraries=program_options ./b2 install -j 2 --prefix=/usr link=static popd blockattack-game-2.5.0/source/misc/standalone/install_requirements.sh000077500000000000000000000007271347224572500261230ustar00rootroot00000000000000#! /bin/bash set -e apt-get update && apt-get install -y build-essential cmake pkg-config libfreetype6-dev libvorbis-dev libgl1-mesa-dev libpulse-dev libpng12-dev zip gettext apt-get update && apt-get install -y python-software-properties add-apt-repository ppa:ubuntu-toolchain-r/test apt-get update apt-get install -y gcc-4.8 g++-4.8 update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 50 update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.8 50 blockattack-game-2.5.0/source/misc/translation/000077500000000000000000000000001347224572500215135ustar00rootroot00000000000000blockattack-game-2.5.0/source/misc/translation/build_mo_all.sh000077500000000000000000000001061347224572500244710ustar00rootroot00000000000000#! /bin/bash set -e ls po/*.po | xargs -n1 ./build_mo_single_file.sh blockattack-game-2.5.0/source/misc/translation/build_mo_single_file.sh000077500000000000000000000003521347224572500262040ustar00rootroot00000000000000#! /bin/bash set -e test $1 POFILE=$1 LANGUAGE=${POFILE##*/} LANGUAGE=${LANGUAGE%%.*} mkdir -p locale/$LANGUAGE/LC_MESSAGES echo "Building $LANGUAGE from $POFILE" msgfmt -o locale/$LANGUAGE/LC_MESSAGES/blockattack_roftb.mo $POFILE blockattack-game-2.5.0/source/misc/translation/extractTexts.sh000077500000000000000000000002071347224572500245530ustar00rootroot00000000000000#! /bin/bash mkdir -p template xgettext -k_ ../../code/*.cpp ../../code/*.inc ../../code/*.hpp --output=template/blockattack_roftb.pot blockattack-game-2.5.0/source/misc/translation/po/000077500000000000000000000000001347224572500221315ustar00rootroot00000000000000blockattack-game-2.5.0/source/misc/translation/po/da.po000066400000000000000000000322411347224572500230570ustar00rootroot00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # Poul Sander , 2019. #zanata msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-05-02 19:35+0200\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "PO-Revision-Date: 2019-05-02 05:39+0000\n" "Last-Translator: Poul Sander \n" "Language-Team: \n" "Language: da\n" "X-Generator: Zanata 4.6.2\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: ../../code/DialogBox.cpp:92 msgid "Enter to accept" msgstr "Bekræft med Enter" #: ../../code/DialogBox.cpp:93 msgid "Esc to cancel" msgstr "Annuller med Esc" #: ../../code/HelpAboutState.cpp:68 msgid "No audio driver" msgstr "Ingen lyd driver" #: ../../code/HelpAboutState.cpp:71 msgid "Name:" msgstr "Navn:" #: ../../code/HelpAboutState.cpp:71 msgid "Block Attack - Rise of the Blocks" msgstr "Block Attack - Blokkenes opstand" #: ../../code/HelpAboutState.cpp:72 msgid "Original name:" msgstr "Originalt navn:" #: ../../code/HelpAboutState.cpp:73 msgid "Version:" msgstr "Version:" #: ../../code/HelpAboutState.cpp:74 msgid "Homepage:" msgstr "Hjemmeside:" #: ../../code/HelpAboutState.cpp:75 msgid "Github page:" msgstr "Github side:" #: ../../code/HelpAboutState.cpp:76 msgid "SDL render:" msgstr "SDL render:" #: ../../code/HelpAboutState.cpp:77 msgid "SDL audio driver:" msgstr "SDL lyd driver:" #: ../../code/HelpAboutState.cpp:78 msgid "SDL compiled version:" msgstr "SDL kompileret version:" #: ../../code/HelpAboutState.cpp:79 msgid "SDL linked version:" msgstr "SDL lænket version:" #: ../../code/HelpAboutState.cpp:80 msgid "Save folder:" msgstr "Mappe til gemte spil:" #: ../../code/HelpAboutState.cpp:81 msgid "Locale:" msgstr "Lokalitet:" #: ../../code/HelpAboutState.cpp:82 ../../code/menudef.cpp:414 msgid "About" msgstr "Om" #: ../../code/HelpGamepadState.cpp:52 msgid "Move cursor" msgstr "Flyt markøren" #: ../../code/HelpGamepadState.cpp:53 msgid "Push line" msgstr "Skub linje" #: ../../code/HelpGamepadState.cpp:54 msgid "Back (Menu)" msgstr "Tilbage (Menu)" #: ../../code/HelpGamepadState.cpp:55 msgid "Switch" msgstr "Skift" #: ../../code/HelpGamepadState.cpp:56 msgid "Confirm" msgstr "Bekræft" #: ../../code/HelpGamepadState.cpp:57 msgid "" "Only SDL2 compatible controllers are supported!\n" "Supported controllers: " msgstr "" "Kun SDL2 kompatible kontrollere er understøttet!\n" "Understøttede kontrollere: " #: ../../code/HelpHowtoState.cpp:125 msgid "Switch block horizontally" msgstr "Skift blokke horisontalt" #: ../../code/HelpHowtoState.cpp:126 msgid "Match 3 to clear" msgstr "Sammensæt 3 for at fjerne" #: ../../code/HelpHowtoState.cpp:127 msgid "Create combos!" msgstr "Sammensæt mange!" #: ../../code/HelpHowtoState.cpp:128 msgid "Drop blocks!" msgstr "Lad blokke falde!" #: ../../code/HelpHowtoState.cpp:129 msgid "Create a chain effect" msgstr "Lav en kæde effekt" #: ../../code/levelselect.cpp:86 msgid "Select Puzzle" msgstr "Vælg gåde" #: ../../code/levelselect.cpp:89 msgid "Stage Clear Level Select" msgstr "Vælg Stage Clear-bane" #: ../../code/levelselect.cpp:195 #, c-format msgid "Best score: %i" msgstr "Bedste resultat: %i" #: ../../code/levelselect.cpp:196 #, c-format msgid "Time used: %s" msgstr "Tid brugt: %s" #: ../../code/levelselect.cpp:199 #, c-format msgid "Time used: %d : %02d" msgstr "Tid brugt: %d : %02d" #: ../../code/levelselect.cpp:204 #, c-format msgid "Total score: %i in %i:%02i" msgstr "Sammenlagt: %i på %i:%02i" #: ../../code/main.cpp:158 msgid "GAME OVER" msgstr "SPILLET ER SLUT" #: ../../code/main.cpp:159 msgid "WINNER" msgstr "VINDER" #: ../../code/main.cpp:160 msgid "DRAW" msgstr "UAFGJORT" #: ../../code/main.cpp:487 ../../code/main.cpp:618 msgid "AI" msgstr "Computer" #: ../../code/main.cpp:490 msgid "Playing field" msgstr "Spilleflade" #: ../../code/main.cpp:564 msgid "Time Trial" msgstr "På tid" #: ../../code/main.cpp:565 msgid "Score as much as possible in 2 minutes" msgstr "Se hvor mange point du kan opnå på 2 minutter" #: ../../code/main.cpp:569 msgid "Stage Clear" msgstr "Stage Clear" #: ../../code/main.cpp:570 msgid "You must clear a number of lines. Speed is rapidly increased." msgstr "Fjern et specifik antal linjer. Hastigheden stiger hurtigt." #: ../../code/main.cpp:573 msgid "Puzzle" msgstr "Gåde" #: ../../code/main.cpp:574 msgid "Clear the entire board with a limited number of moves." msgstr "Fjern alle blokke med et begrænset antal flyt." #: ../../code/main.cpp:577 msgid "Endless" msgstr "Evighed" #: ../../code/main.cpp:578 msgid "Score as much as possible. No time limit." msgstr "Opnå så mange point som muligt. Ingen tidsbegrænsning." #: ../../code/main.cpp:588 msgid "Objective:" msgstr "Formål:" #: ../../code/main.cpp:598 msgid "Movement keys:" msgstr "Bevægelsestaster:" #: ../../code/main.cpp:600 msgid "Switch: " msgstr "Skift: " #: ../../code/main.cpp:602 msgid "Restart: " msgstr "Genstart: " #: ../../code/main.cpp:605 msgid "Push line: " msgstr "Skub linje: " #: ../../code/main.cpp:1040 msgid "Player 2" msgstr "Spiller 2" #: ../../code/menudef.cpp:62 msgid "Up arrow" msgstr "Pil op" #: ../../code/menudef.cpp:65 msgid "Down arrow" msgstr "Pil ned" #: ../../code/menudef.cpp:68 msgid "Left arrow" msgstr "Pil venstre" #: ../../code/menudef.cpp:71 msgid "Right arrow" msgstr "Pil højre" #: ../../code/menudef.cpp:74 msgid "Right Ctrl" msgstr "Højre Ctrl" #: ../../code/menudef.cpp:77 msgid "Left Ctrl" msgstr "Venstre Ctrl" #: ../../code/menudef.cpp:80 msgid "Right shift" msgstr "Højre skift" #: ../../code/menudef.cpp:83 msgid "Left shift" msgstr "Venstre skift" #: ../../code/menudef.cpp:86 msgid "Right alt" msgstr "AltGr" #: ../../code/menudef.cpp:89 msgid "Left alt" msgstr "Alt" #: ../../code/menudef.cpp:92 msgid "Return" msgstr "Enter" #: ../../code/menudef.cpp:95 msgid "Space" msgstr "Mellemrum" #: ../../code/menudef.cpp:162 msgid "Single Player Endless" msgstr "En spiller - Evighed" #: ../../code/menudef.cpp:169 msgid "Slow" msgstr "Langsom" #: ../../code/menudef.cpp:170 msgid "Fast" msgstr "Hurtig" #: ../../code/menudef.cpp:171 msgid "Faster" msgstr "Hurtigere" #: ../../code/menudef.cpp:172 msgid "Even faster" msgstr "Endnu hurtigere" #: ../../code/menudef.cpp:173 msgid "Fastest" msgstr "Hurtigst" #: ../../code/menudef.cpp:215 msgid "Always use software render: On" msgstr "Brug altid software tilstand: Til" #: ../../code/menudef.cpp:216 msgid "Always use software render: Off" msgstr "Brug altid software tilstand: Fra" #: ../../code/menudef.cpp:220 msgid "Music: On" msgstr "Musik: Til" #: ../../code/menudef.cpp:220 msgid "Music: Off" msgstr "Musik: Fra" #: ../../code/menudef.cpp:224 msgid "Sound: On" msgstr "Lyd: Til" #: ../../code/menudef.cpp:224 msgid "Sound: Off" msgstr "Lyd: Fra" #: ../../code/menudef.cpp:228 msgid "Fullscreen: On" msgstr "Fuldskærm: Til" #: ../../code/menudef.cpp:228 msgid "Fullscreen: Off" msgstr "Fuldskærm: Fra" #: ../../code/menudef.cpp:261 msgid "Enter player 1 name:" msgstr "Indtast navnet på spiller 1:" #: ../../code/menudef.cpp:267 msgid "Enter player 2 name:" msgstr "Indtast navnet på spiller 2:" #: ../../code/menudef.cpp:277 msgid "Change key bindings" msgstr "Skift taster" #: ../../code/menudef.cpp:278 msgid "Left" msgstr "Venstre" #: ../../code/menudef.cpp:279 msgid "Right" msgstr "Højre" #: ../../code/menudef.cpp:280 msgid "Up" msgstr "Op" #: ../../code/menudef.cpp:281 msgid "Down" msgstr "Ned" #: ../../code/menudef.cpp:282 msgid "Push" msgstr "Skub" #: ../../code/menudef.cpp:283 msgid "Change" msgstr "Skift" #: ../../code/menudef.cpp:302 msgid "Configuration" msgstr "Konfiguration" #: ../../code/menudef.cpp:314 msgid "Change player 1's name" msgstr "Skift navn på spiller 1" #: ../../code/menudef.cpp:316 msgid "Change player 2's name" msgstr "Skift navn på spiller 2" #: ../../code/menudef.cpp:318 msgid "Change player 1's keys" msgstr "Tildel taster til spiller 1" #: ../../code/menudef.cpp:320 msgid "Change player 2's keys" msgstr "Tildel taster til spiller 2" #: ../../code/menudef.cpp:333 msgid "Single player VS" msgstr "En spiller - VS" #: ../../code/menudef.cpp:349 msgid "Very easy" msgstr "Meget let" #: ../../code/menudef.cpp:350 msgid "Easy" msgstr "Let" #: ../../code/menudef.cpp:351 msgid "Below normal" msgstr "Under normal" #: ../../code/menudef.cpp:352 msgid "Normal" msgstr "Normal" #: ../../code/menudef.cpp:353 msgid "Above normal" msgstr "Over normal" #: ../../code/menudef.cpp:354 msgid "Hard" msgstr "Svær" #: ../../code/menudef.cpp:355 msgid "Hardest" msgstr "Meget svær" #: ../../code/menudef.cpp:367 msgid "Multiplayer" msgstr "Flerspiller" #: ../../code/menudef.cpp:369 msgid "Two player - time trial" msgstr "To spillere - På tid" #: ../../code/menudef.cpp:371 msgid "Two player - vs" msgstr "To spillere - VS" #: ../../code/menudef.cpp:395 ../../code/menudef.cpp:410 msgid "Credits" msgstr "Bidragydere" #: ../../code/menudef.cpp:400 ../../code/menudef.cpp:471 msgid "Help" msgstr "Hjælp" #: ../../code/menudef.cpp:402 msgid "How to" msgstr "Guide" #: ../../code/menudef.cpp:406 msgid "Gamepad" msgstr "Spilkontroller" #: ../../code/menudef.cpp:421 ../../code/menudef.cpp:463 msgid "Single player" msgstr "Enkeltspiller" #: ../../code/menudef.cpp:423 msgid "Single player - endless" msgstr "En spiller - Evighed" #: ../../code/menudef.cpp:425 msgid "Single player - time trial" msgstr "En spiller - På tid" #: ../../code/menudef.cpp:427 msgid "Single player - stage clear" msgstr "En spiller - Stage Clear" #: ../../code/menudef.cpp:429 msgid "Single player - puzzle mode" msgstr "En spiller - Gåde" #: ../../code/menudef.cpp:431 msgid "Single player - vs" msgstr "En spiller - VS" #: ../../code/menudef.cpp:446 msgid "Game did not shutdown as it should" msgstr "Spillet blev ikke afsluttet korrekt" #: ../../code/menudef.cpp:449 msgid "Use software renderer this time" msgstr "Brug software tilstand denne gang" #: ../../code/menudef.cpp:450 msgid "Always use software renderer" msgstr "Start altid i software tilstand" #: ../../code/menudef.cpp:461 msgid "Block Attack - Rise of the blocks" msgstr "Block Attack - Blokkenes opstand" #: ../../code/menudef.cpp:465 msgid "Multi player" msgstr "Flere spillere" #: ../../code/menudef.cpp:467 msgid "Configure" msgstr "Instillinger" #: ../../code/menudef.cpp:469 msgid "Highscores" msgstr "Bedste resultater" #: ../../code/MenuSystem.cpp:159 ../../code/MenuSystem.cpp:167 #: ../../code/MenuSystem.cpp:179 ../../code/ScoresDisplay.cpp:216 msgid "Back" msgstr "Tilbage" #: ../../code/MenuSystem.cpp:170 ../../code/MenuSystem.cpp:182 msgid "Exit" msgstr "Afslut" #: ../../code/os.cpp:99 msgid "Player 1" msgstr "Spiller 1" #: ../../code/ScoresDisplay.cpp:70 msgid "Endless (Fast):" msgstr "Evighed (Hurtig):" #: ../../code/ScoresDisplay.cpp:73 msgid "Endless (Faster):" msgstr "Evighed (Hurtigere):" #: ../../code/ScoresDisplay.cpp:76 msgid "Endless (Even faster):" msgstr "Evighed (Endnu hurtigere):" #: ../../code/ScoresDisplay.cpp:79 msgid "Endless (Fastest):" msgstr "Evighed (Hurtigst):" #: ../../code/ScoresDisplay.cpp:82 msgid "Endless:" msgstr "Evighed:" #: ../../code/ScoresDisplay.cpp:87 msgid "Time Trial:" msgstr "På tid:" #: ../../code/ScoresDisplay.cpp:125 msgid "Stats" msgstr "Statistik" #: ../../code/ScoresDisplay.cpp:127 msgid "Chains" msgstr "Kæder" #: ../../code/ScoresDisplay.cpp:135 msgid "Lines Pushed: " msgstr "Linjer skubbet: " #: ../../code/ScoresDisplay.cpp:140 msgid "Puzzles solved: " msgstr "Gåder løst: " #: ../../code/ScoresDisplay.cpp:145 msgid "Run time: " msgstr "Kørselstid: " #: ../../code/ScoresDisplay.cpp:148 ../../code/ScoresDisplay.cpp:161 #, c-format msgid "Days: %i" msgstr "Dage: %i" #: ../../code/ScoresDisplay.cpp:150 ../../code/ScoresDisplay.cpp:163 #, c-format msgid "Hours: %i" msgstr "Timer: %i" #: ../../code/ScoresDisplay.cpp:152 ../../code/ScoresDisplay.cpp:165 #, c-format msgid "Minutes: %i" msgstr "Minutter: %i" #: ../../code/ScoresDisplay.cpp:154 ../../code/ScoresDisplay.cpp:167 #, c-format msgid "Seconds: %i" msgstr "Sekunder: %i" #: ../../code/ScoresDisplay.cpp:158 msgid "Play time: " msgstr "Spilletid: " #: ../../code/ScoresDisplay.cpp:171 msgid "VS CPU (win/loss)" msgstr "Mod computeren (vundet/tabt)" #: ../../code/ScoresDisplay.cpp:220 ../../code/BlockGameSdl.inc:55 msgid "Next" msgstr "Næste" #: ../../code/ScoresDisplay.cpp:224 #, c-format msgid "Page %i of %i" msgstr "Side %i af %i" #: ../../code/BlockGameSdl.inc:51 msgid "Score:" msgstr "Resultat:" #: ../../code/BlockGameSdl.inc:52 msgid "Time:" msgstr "Tid:" #: ../../code/BlockGameSdl.inc:53 msgid "Chain:" msgstr "Kæde:" #: ../../code/BlockGameSdl.inc:54 msgid "Speed:" msgstr "Hastighed:" #: ../../code/BlockGameSdl.inc:56 msgid "Retry" msgstr "Prøv igen" #: ../../code/BlockGameSdl.inc:57 msgid "Skip" msgstr "Spring over" #: ../../code/BlockGameSdl.inc:328 msgid "Moves left: " msgstr "Træk tilbage: " #: ../../code/BlockGameSdl.inc:351 msgid "Last puzzle" msgstr "Sidste gåde" #: ../../code/BlockGameSdl.inc:371 msgid "Last stage" msgstr "Sidste bane" #: ../../code/ShowFileState.hpp:45 #, c-format msgid "Showing content of: %s" msgstr "Viser indhold af: %s" blockattack-game-2.5.0/source/misc/translation/template/000077500000000000000000000000001347224572500233265ustar00rootroot00000000000000blockattack-game-2.5.0/source/misc/translation/template/blockattack_roftb.pot000066400000000000000000000255241347224572500275400ustar00rootroot00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-05-02 19:35+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" #: ../../code/DialogBox.cpp:92 msgid "Enter to accept" msgstr "" #: ../../code/DialogBox.cpp:93 msgid "Esc to cancel" msgstr "" #: ../../code/HelpAboutState.cpp:68 msgid "No audio driver" msgstr "" #: ../../code/HelpAboutState.cpp:71 msgid "Name:" msgstr "" #: ../../code/HelpAboutState.cpp:71 msgid "Block Attack - Rise of the Blocks" msgstr "" #: ../../code/HelpAboutState.cpp:72 msgid "Original name:" msgstr "" #: ../../code/HelpAboutState.cpp:73 msgid "Version:" msgstr "" #: ../../code/HelpAboutState.cpp:74 msgid "Homepage:" msgstr "" #: ../../code/HelpAboutState.cpp:75 msgid "Github page:" msgstr "" #: ../../code/HelpAboutState.cpp:76 msgid "SDL render:" msgstr "" #: ../../code/HelpAboutState.cpp:77 msgid "SDL audio driver:" msgstr "" #: ../../code/HelpAboutState.cpp:78 msgid "SDL compiled version:" msgstr "" #: ../../code/HelpAboutState.cpp:79 msgid "SDL linked version:" msgstr "" #: ../../code/HelpAboutState.cpp:80 msgid "Save folder:" msgstr "" #: ../../code/HelpAboutState.cpp:81 msgid "Locale:" msgstr "" #: ../../code/HelpAboutState.cpp:82 ../../code/menudef.cpp:414 msgid "About" msgstr "" #: ../../code/HelpGamepadState.cpp:52 msgid "Move cursor" msgstr "" #: ../../code/HelpGamepadState.cpp:53 msgid "Push line" msgstr "" #: ../../code/HelpGamepadState.cpp:54 msgid "Back (Menu)" msgstr "" #: ../../code/HelpGamepadState.cpp:55 msgid "Switch" msgstr "" #: ../../code/HelpGamepadState.cpp:56 msgid "Confirm" msgstr "" #: ../../code/HelpGamepadState.cpp:57 msgid "" "Only SDL2 compatible controllers are supported!\n" "Supported controllers: " msgstr "" #: ../../code/HelpHowtoState.cpp:125 msgid "Switch block horizontally" msgstr "" #: ../../code/HelpHowtoState.cpp:126 msgid "Match 3 to clear" msgstr "" #: ../../code/HelpHowtoState.cpp:127 msgid "Create combos!" msgstr "" #: ../../code/HelpHowtoState.cpp:128 msgid "Drop blocks!" msgstr "" #: ../../code/HelpHowtoState.cpp:129 msgid "Create a chain effect" msgstr "" #: ../../code/levelselect.cpp:86 msgid "Select Puzzle" msgstr "" #: ../../code/levelselect.cpp:89 msgid "Stage Clear Level Select" msgstr "" #: ../../code/levelselect.cpp:195 #, c-format msgid "Best score: %i" msgstr "" #: ../../code/levelselect.cpp:196 #, c-format msgid "Time used: %s" msgstr "" #: ../../code/levelselect.cpp:199 #, c-format msgid "Time used: %d : %02d" msgstr "" #: ../../code/levelselect.cpp:204 #, c-format msgid "Total score: %i in %i:%02i" msgstr "" #: ../../code/main.cpp:158 msgid "GAME OVER" msgstr "" #: ../../code/main.cpp:159 msgid "WINNER" msgstr "" #: ../../code/main.cpp:160 msgid "DRAW" msgstr "" #: ../../code/main.cpp:487 ../../code/main.cpp:618 msgid "AI" msgstr "" #: ../../code/main.cpp:490 msgid "Playing field" msgstr "" #: ../../code/main.cpp:564 msgid "Time Trial" msgstr "" #: ../../code/main.cpp:565 msgid "Score as much as possible in 2 minutes" msgstr "" #: ../../code/main.cpp:569 msgid "Stage Clear" msgstr "" #: ../../code/main.cpp:570 msgid "You must clear a number of lines. Speed is rapidly increased." msgstr "" #: ../../code/main.cpp:573 msgid "Puzzle" msgstr "" #: ../../code/main.cpp:574 msgid "Clear the entire board with a limited number of moves." msgstr "" #: ../../code/main.cpp:577 msgid "Endless" msgstr "" #: ../../code/main.cpp:578 msgid "Score as much as possible. No time limit." msgstr "" #: ../../code/main.cpp:588 msgid "Objective:" msgstr "" #: ../../code/main.cpp:598 msgid "Movement keys:" msgstr "" #: ../../code/main.cpp:600 msgid "Switch: " msgstr "" #: ../../code/main.cpp:602 msgid "Restart: " msgstr "" #: ../../code/main.cpp:605 msgid "Push line: " msgstr "" #: ../../code/main.cpp:1040 msgid "Player 2" msgstr "" #: ../../code/menudef.cpp:62 msgid "Up arrow" msgstr "" #: ../../code/menudef.cpp:65 msgid "Down arrow" msgstr "" #: ../../code/menudef.cpp:68 msgid "Left arrow" msgstr "" #: ../../code/menudef.cpp:71 msgid "Right arrow" msgstr "" #: ../../code/menudef.cpp:74 msgid "Right Ctrl" msgstr "" #: ../../code/menudef.cpp:77 msgid "Left Ctrl" msgstr "" #: ../../code/menudef.cpp:80 msgid "Right shift" msgstr "" #: ../../code/menudef.cpp:83 msgid "Left shift" msgstr "" #: ../../code/menudef.cpp:86 msgid "Right alt" msgstr "" #: ../../code/menudef.cpp:89 msgid "Left alt" msgstr "" #: ../../code/menudef.cpp:92 msgid "Return" msgstr "" #: ../../code/menudef.cpp:95 msgid "Space" msgstr "" #: ../../code/menudef.cpp:162 msgid "Single Player Endless" msgstr "" #: ../../code/menudef.cpp:169 msgid "Slow" msgstr "" #: ../../code/menudef.cpp:170 msgid "Fast" msgstr "" #: ../../code/menudef.cpp:171 msgid "Faster" msgstr "" #: ../../code/menudef.cpp:172 msgid "Even faster" msgstr "" #: ../../code/menudef.cpp:173 msgid "Fastest" msgstr "" #: ../../code/menudef.cpp:215 msgid "Always use software render: On" msgstr "" #: ../../code/menudef.cpp:216 msgid "Always use software render: Off" msgstr "" #: ../../code/menudef.cpp:220 msgid "Music: On" msgstr "" #: ../../code/menudef.cpp:220 msgid "Music: Off" msgstr "" #: ../../code/menudef.cpp:224 msgid "Sound: On" msgstr "" #: ../../code/menudef.cpp:224 msgid "Sound: Off" msgstr "" #: ../../code/menudef.cpp:228 msgid "Fullscreen: On" msgstr "" #: ../../code/menudef.cpp:228 msgid "Fullscreen: Off" msgstr "" #: ../../code/menudef.cpp:261 msgid "Enter player 1 name:" msgstr "" #: ../../code/menudef.cpp:267 msgid "Enter player 2 name:" msgstr "" #: ../../code/menudef.cpp:277 msgid "Change key bindings" msgstr "" #: ../../code/menudef.cpp:278 msgid "Left" msgstr "" #: ../../code/menudef.cpp:279 msgid "Right" msgstr "" #: ../../code/menudef.cpp:280 msgid "Up" msgstr "" #: ../../code/menudef.cpp:281 msgid "Down" msgstr "" #: ../../code/menudef.cpp:282 msgid "Push" msgstr "" #: ../../code/menudef.cpp:283 msgid "Change" msgstr "" #: ../../code/menudef.cpp:302 msgid "Configuration" msgstr "" #: ../../code/menudef.cpp:314 msgid "Change player 1's name" msgstr "" #: ../../code/menudef.cpp:316 msgid "Change player 2's name" msgstr "" #: ../../code/menudef.cpp:318 msgid "Change player 1's keys" msgstr "" #: ../../code/menudef.cpp:320 msgid "Change player 2's keys" msgstr "" #: ../../code/menudef.cpp:333 msgid "Single player VS" msgstr "" #: ../../code/menudef.cpp:349 msgid "Very easy" msgstr "" #: ../../code/menudef.cpp:350 msgid "Easy" msgstr "" #: ../../code/menudef.cpp:351 msgid "Below normal" msgstr "" #: ../../code/menudef.cpp:352 msgid "Normal" msgstr "" #: ../../code/menudef.cpp:353 msgid "Above normal" msgstr "" #: ../../code/menudef.cpp:354 msgid "Hard" msgstr "" #: ../../code/menudef.cpp:355 msgid "Hardest" msgstr "" #: ../../code/menudef.cpp:367 msgid "Multiplayer" msgstr "" #: ../../code/menudef.cpp:369 msgid "Two player - time trial" msgstr "" #: ../../code/menudef.cpp:371 msgid "Two player - vs" msgstr "" #: ../../code/menudef.cpp:395 ../../code/menudef.cpp:410 msgid "Credits" msgstr "" #: ../../code/menudef.cpp:400 ../../code/menudef.cpp:471 msgid "Help" msgstr "" #: ../../code/menudef.cpp:402 msgid "How to" msgstr "" #: ../../code/menudef.cpp:406 msgid "Gamepad" msgstr "" #: ../../code/menudef.cpp:421 ../../code/menudef.cpp:463 msgid "Single player" msgstr "" #: ../../code/menudef.cpp:423 msgid "Single player - endless" msgstr "" #: ../../code/menudef.cpp:425 msgid "Single player - time trial" msgstr "" #: ../../code/menudef.cpp:427 msgid "Single player - stage clear" msgstr "" #: ../../code/menudef.cpp:429 msgid "Single player - puzzle mode" msgstr "" #: ../../code/menudef.cpp:431 msgid "Single player - vs" msgstr "" #: ../../code/menudef.cpp:446 msgid "Game did not shutdown as it should" msgstr "" #: ../../code/menudef.cpp:449 msgid "Use software renderer this time" msgstr "" #: ../../code/menudef.cpp:450 msgid "Always use software renderer" msgstr "" #: ../../code/menudef.cpp:461 msgid "Block Attack - Rise of the blocks" msgstr "" #: ../../code/menudef.cpp:465 msgid "Multi player" msgstr "" #: ../../code/menudef.cpp:467 msgid "Configure" msgstr "" #: ../../code/menudef.cpp:469 msgid "Highscores" msgstr "" #: ../../code/MenuSystem.cpp:159 ../../code/MenuSystem.cpp:167 #: ../../code/MenuSystem.cpp:179 ../../code/ScoresDisplay.cpp:216 msgid "Back" msgstr "" #: ../../code/MenuSystem.cpp:170 ../../code/MenuSystem.cpp:182 msgid "Exit" msgstr "" #: ../../code/os.cpp:99 msgid "Player 1" msgstr "" #: ../../code/ScoresDisplay.cpp:70 msgid "Endless (Fast):" msgstr "" #: ../../code/ScoresDisplay.cpp:73 msgid "Endless (Faster):" msgstr "" #: ../../code/ScoresDisplay.cpp:76 msgid "Endless (Even faster):" msgstr "" #: ../../code/ScoresDisplay.cpp:79 msgid "Endless (Fastest):" msgstr "" #: ../../code/ScoresDisplay.cpp:82 msgid "Endless:" msgstr "" #: ../../code/ScoresDisplay.cpp:87 msgid "Time Trial:" msgstr "" #: ../../code/ScoresDisplay.cpp:125 msgid "Stats" msgstr "" #: ../../code/ScoresDisplay.cpp:127 msgid "Chains" msgstr "" #: ../../code/ScoresDisplay.cpp:135 msgid "Lines Pushed: " msgstr "" #: ../../code/ScoresDisplay.cpp:140 msgid "Puzzles solved: " msgstr "" #: ../../code/ScoresDisplay.cpp:145 msgid "Run time: " msgstr "" #: ../../code/ScoresDisplay.cpp:148 ../../code/ScoresDisplay.cpp:161 #, c-format msgid "Days: %i" msgstr "" #: ../../code/ScoresDisplay.cpp:150 ../../code/ScoresDisplay.cpp:163 #, c-format msgid "Hours: %i" msgstr "" #: ../../code/ScoresDisplay.cpp:152 ../../code/ScoresDisplay.cpp:165 #, c-format msgid "Minutes: %i" msgstr "" #: ../../code/ScoresDisplay.cpp:154 ../../code/ScoresDisplay.cpp:167 #, c-format msgid "Seconds: %i" msgstr "" #: ../../code/ScoresDisplay.cpp:158 msgid "Play time: " msgstr "" #: ../../code/ScoresDisplay.cpp:171 msgid "VS CPU (win/loss)" msgstr "" #: ../../code/ScoresDisplay.cpp:220 ../../code/BlockGameSdl.inc:55 msgid "Next" msgstr "" #: ../../code/ScoresDisplay.cpp:224 #, c-format msgid "Page %i of %i" msgstr "" #: ../../code/BlockGameSdl.inc:51 msgid "Score:" msgstr "" #: ../../code/BlockGameSdl.inc:52 msgid "Time:" msgstr "" #: ../../code/BlockGameSdl.inc:53 msgid "Chain:" msgstr "" #: ../../code/BlockGameSdl.inc:54 msgid "Speed:" msgstr "" #: ../../code/BlockGameSdl.inc:56 msgid "Retry" msgstr "" #: ../../code/BlockGameSdl.inc:57 msgid "Skip" msgstr "" #: ../../code/BlockGameSdl.inc:328 msgid "Moves left: " msgstr "" #: ../../code/BlockGameSdl.inc:351 msgid "Last puzzle" msgstr "" #: ../../code/BlockGameSdl.inc:371 msgid "Last stage" msgstr "" #: ../../code/ShowFileState.hpp:45 #, c-format msgid "Showing content of: %s" msgstr "" blockattack-game-2.5.0/source/misc/travis_help/000077500000000000000000000000001347224572500214755ustar00rootroot00000000000000blockattack-game-2.5.0/source/misc/travis_help/utf8_v2_3_4/000077500000000000000000000000001347224572500234375ustar00rootroot00000000000000blockattack-game-2.5.0/source/misc/travis_help/utf8_v2_3_4/doc/000077500000000000000000000000001347224572500242045ustar00rootroot00000000000000blockattack-game-2.5.0/source/misc/travis_help/utf8_v2_3_4/doc/ReleaseNotes000066400000000000000000000006601347224572500265220ustar00rootroot00000000000000utf8 cpp library Release 2.3.4 A minor bug fix release. Thanks to all who reported bugs. Note: Version 2.3.3 contained a regression, and therefore was removed. Changes from version 2.3.2 - Bug fix [39]: checked.h Line 273 and unchecked.h Line 182 have an extra ';' - Bug fix [36]: replace_invalid() only works with back_inserter Files included in the release: utf8.h, core.h, checked.h, unchecked.h, utf8cpp.html, ReleaseNotes blockattack-game-2.5.0/source/misc/travis_help/utf8_v2_3_4/doc/utf8cpp.html000066400000000000000000002151341347224572500264710ustar00rootroot00000000000000 UTF8-CPP: UTF-8 with C++ in a Portable Way

UTF8-CPP: UTF-8 with C++ in a Portable Way

The Sourceforge project page

Introduction

Many C++ developers miss an easy and portable way of handling Unicode encoded strings. The original C++ Standard (known as C++98 or C++03) is Unicode agnostic. C++11 provides some support for Unicode on core language and library level: u8, u, and U character and string literals, char16_t and char32_t character types, u16string and u32string library classes, and codecvt support for conversions between Unicode encoding forms. In the meantime, developers use third party libraries like ICU, OS specific capabilities, or simply roll out their own solutions.

In order to easily handle UTF-8 encoded Unicode strings, I came up with a small generic library. For anybody used to work with STL algorithms and iterators, it should be easy and natural to use. The code is freely available for any purpose - check out the license at the beginning of the utf8.h file. If you run into bugs or performance issues, please let me know and I'll do my best to address them.

The purpose of this article is not to offer an introduction to Unicode in general, and UTF-8 in particular. If you are not familiar with Unicode, be sure to check out Unicode Home Page or some other source of information for Unicode. Also, it is not my aim to advocate the use of UTF-8 encoded strings in C++ programs; if you want to handle UTF-8 encoded strings from C++, I am sure you have good reasons for it.

Examples of use

Introductionary Sample

To illustrate the use of the library, let's start with a small but complete program that opens a file containing UTF-8 encoded text, reads it line by line, checks each line for invalid UTF-8 byte sequences, and converts it to UTF-16 encoding and back to UTF-8:

#include <fstream>
#include <iostream>
#include <string>
#include <vector>
#include "utf8.h"
using namespace std;
int main(int argc, char** argv)
{
    if (argc != 2) {
        cout << "\nUsage: docsample filename\n";
        return 0;
    }

    const char* test_file_path = argv[1];
    // Open the test file (contains UTF-8 encoded text)
    ifstream fs8(test_file_path);
    if (!fs8.is_open()) {
    cout << "Could not open " << test_file_path << endl;
    return 0;
    }

    unsigned line_count = 1;
    string line;
    // Play with all the lines in the file
    while (getline(fs8, line)) {
       // check for invalid utf-8 (for a simple yes/no check, there is also utf8::is_valid function)
        string::iterator end_it = utf8::find_invalid(line.begin(), line.end());
        if (end_it != line.end()) {
            cout << "Invalid UTF-8 encoding detected at line " << line_count << "\n";
            cout << "This part is fine: " << string(line.begin(), end_it) << "\n";
        }

        // Get the line length (at least for the valid part)
        int length = utf8::distance(line.begin(), end_it);
        cout << "Length of line " << line_count << " is " << length <<  "\n";

        // Convert it to utf-16
        vector<unsigned short> utf16line;
        utf8::utf8to16(line.begin(), end_it, back_inserter(utf16line));

        // And back to utf-8
        string utf8line; 
        utf8::utf16to8(utf16line.begin(), utf16line.end(), back_inserter(utf8line));

        // Confirm that the conversion went OK:
        if (utf8line != string(line.begin(), end_it))
            cout << "Error in UTF-16 conversion at line: " << line_count << "\n";        

        line_count++;
    }
    return 0;
}

In the previous code sample, for each line we performed a detection of invalid UTF-8 sequences with find_invalid; the number of characters (more precisely - the number of Unicode code points, including the end of line and even BOM if there is one) in each line was determined with a use of utf8::distance; finally, we have converted each line to UTF-16 encoding with utf8to16 and back to UTF-8 with utf16to8.

Checking if a file contains valid UTF-8 text

Here is a function that checks whether the content of a file is valid UTF-8 encoded text without reading the content into the memory:

    
bool valid_utf8_file(iconst char* file_name)
{
    ifstream ifs(file_name);
    if (!ifs)
        return false; // even better, throw here

    istreambuf_iterator<char> it(ifs.rdbuf());
    istreambuf_iterator<char> eos;

    return utf8::is_valid(it, eos);
}

Because the function utf8::is_valid() works with input iterators, we were able to pass an istreambuf_iterator to it and read the content of the file directly without loading it to the memory first.

Note that other functions that take input iterator arguments can be used in a similar way. For instance, to read the content of a UTF-8 encoded text file and convert the text to UTF-16, just do something like:

    utf8::utf8to16(it, eos, back_inserter(u16string));

Ensure that a string contains valid UTF-8 text

If we have some text that "probably" contains UTF-8 encoded text and we want to replace any invalid UTF-8 sequence with a replacement character, something like the following function may be used:

void fix_utf8_string(std::string& str)
{
    std::string temp;
    utf8::replace_invalid(str.begin(), str.end(), back_inserter(temp));
    str = temp;
}

The function will replace any invalid UTF-8 sequence with a Unicode replacement character. There is an overloaded function that enables the caller to supply their own replacement character.

Reference

Functions From utf8 Namespace

utf8::append

Available in version 1.0 and later.

Encodes a 32 bit code point as a UTF-8 sequence of octets and appends the sequence to a UTF-8 string.

template <typename octet_iterator>
octet_iterator append(uint32_t cp, octet_iterator result);
   

octet_iterator: an output iterator.
cp: a 32 bit integer representing a code point to append to the sequence.
result: an output iterator to the place in the sequence where to append the code point.
Return value: an iterator pointing to the place after the newly appended sequence.

Example of use:

unsigned char u[5] = {0,0,0,0,0};
unsigned char* end = append(0x0448, u);
assert (u[0] == 0xd1 && u[1] == 0x88 && u[2] == 0 && u[3] == 0 && u[4] == 0);

Note that append does not allocate any memory - it is the burden of the caller to make sure there is enough memory allocated for the operation. To make things more interesting, append can add anywhere between 1 and 4 octets to the sequence. In practice, you would most often want to use std::back_inserter to ensure that the necessary memory is allocated.

In case of an invalid code point, a utf8::invalid_code_point exception is thrown.

utf8::next

Available in version 1.0 and later.

Given the iterator to the beginning of the UTF-8 sequence, it returns the code point and moves the iterator to the next position.

template <typename octet_iterator> 
uint32_t next(octet_iterator& it, octet_iterator end);
   

octet_iterator: an input iterator.
it: a reference to an iterator pointing to the beginning of an UTF-8 encoded code point. After the function returns, it is incremented to point to the beginning of the next code point.
end: end of the UTF-8 sequence to be processed. If it gets equal to end during the extraction of a code point, an utf8::not_enough_room exception is thrown.
Return value: the 32 bit representation of the processed UTF-8 code point.

Example of use:

char* twochars = "\xe6\x97\xa5\xd1\x88";
char* w = twochars;
int cp = next(w, twochars + 6);
assert (cp == 0x65e5);
assert (w == twochars + 3);

This function is typically used to iterate through a UTF-8 encoded string.

In case of an invalid UTF-8 seqence, a utf8::invalid_utf8 exception is thrown.

utf8::peek_next

Available in version 2.1 and later.

Given the iterator to the beginning of the UTF-8 sequence, it returns the code point for the following sequence without changing the value of the iterator.

template <typename octet_iterator> 
uint32_t peek_next(octet_iterator it, octet_iterator end);
   

octet_iterator: an input iterator.
it: an iterator pointing to the beginning of an UTF-8 encoded code point.
end: end of the UTF-8 sequence to be processed. If it gets equal to end during the extraction of a code point, an utf8::not_enough_room exception is thrown.
Return value: the 32 bit representation of the processed UTF-8 code point.

Example of use:

char* twochars = "\xe6\x97\xa5\xd1\x88";
char* w = twochars;
int cp = peek_next(w, twochars + 6);
assert (cp == 0x65e5);
assert (w == twochars);

In case of an invalid UTF-8 seqence, a utf8::invalid_utf8 exception is thrown.

utf8::prior

Available in version 1.02 and later.

Given a reference to an iterator pointing to an octet in a UTF-8 sequence, it decreases the iterator until it hits the beginning of the previous UTF-8 encoded code point and returns the 32 bits representation of the code point.

template <typename octet_iterator> 
uint32_t prior(octet_iterator& it, octet_iterator start);
   

octet_iterator: a bidirectional iterator.
it: a reference pointing to an octet within a UTF-8 encoded string. After the function returns, it is decremented to point to the beginning of the previous code point.
start: an iterator to the beginning of the sequence where the search for the beginning of a code point is performed. It is a safety measure to prevent passing the beginning of the string in the search for a UTF-8 lead octet.
Return value: the 32 bit representation of the previous code point.

Example of use:

char* twochars = "\xe6\x97\xa5\xd1\x88";
unsigned char* w = twochars + 3;
int cp = prior (w, twochars);
assert (cp == 0x65e5);
assert (w == twochars);

This function has two purposes: one is two iterate backwards through a UTF-8 encoded string. Note that it is usually a better idea to iterate forward instead, since utf8::next is faster. The second purpose is to find a beginning of a UTF-8 sequence if we have a random position within a string. Note that in that case utf8::prior may not detect an invalid UTF-8 sequence in some scenarios: for instance if there are superfluous trail octets, it will just skip them.

it will typically point to the beginning of a code point, and start will point to the beginning of the string to ensure we don't go backwards too far. it is decreased until it points to a lead UTF-8 octet, and then the UTF-8 sequence beginning with that octet is decoded to a 32 bit representation and returned.

In case start is reached before a UTF-8 lead octet is hit, or if an invalid UTF-8 sequence is started by the lead octet, an invalid_utf8 exception is thrown.

In case start equals it, a not_enough_room exception is thrown.

utf8::previous

Deprecated in version 1.02 and later.

Given a reference to an iterator pointing to an octet in a UTF-8 seqence, it decreases the iterator until it hits the beginning of the previous UTF-8 encoded code point and returns the 32 bits representation of the code point.

template <typename octet_iterator> 
uint32_t previous(octet_iterator& it, octet_iterator pass_start);
   

octet_iterator: a random access iterator.
it: a reference pointing to an octet within a UTF-8 encoded string. After the function returns, it is decremented to point to the beginning of the previous code point.
pass_start: an iterator to the point in the sequence where the search for the beginning of a code point is aborted if no result was reached. It is a safety measure to prevent passing the beginning of the string in the search for a UTF-8 lead octet.
Return value: the 32 bit representation of the previous code point.

Example of use:

char* twochars = "\xe6\x97\xa5\xd1\x88";
unsigned char* w = twochars + 3;
int cp = previous (w, twochars - 1);
assert (cp == 0x65e5);
assert (w == twochars);

utf8::previous is deprecated, and utf8::prior should be used instead, although the existing code can continue using this function. The problem is the parameter pass_start that points to the position just before the beginning of the sequence. Standard containers don't have the concept of "pass start" and the function can not be used with their iterators.

it will typically point to the beginning of a code point, and pass_start will point to the octet just before the beginning of the string to ensure we don't go backwards too far. it is decreased until it points to a lead UTF-8 octet, and then the UTF-8 sequence beginning with that octet is decoded to a 32 bit representation and returned.

In case pass_start is reached before a UTF-8 lead octet is hit, or if an invalid UTF-8 sequence is started by the lead octet, an invalid_utf8 exception is thrown

utf8::advance

Available in version 1.0 and later.

Advances an iterator by the specified number of code points within an UTF-8 sequence.

template <typename octet_iterator, typename distance_type> 
void advance (octet_iterator& it, distance_type n, octet_iterator end);
   

octet_iterator: an input iterator.
distance_type: an integral type convertible to octet_iterator's difference type.
it: a reference to an iterator pointing to the beginning of an UTF-8 encoded code point. After the function returns, it is incremented to point to the nth following code point.
n: a positive integer that shows how many code points we want to advance.
end: end of the UTF-8 sequence to be processed. If it gets equal to end during the extraction of a code point, an utf8::not_enough_room exception is thrown.

Example of use:

char* twochars = "\xe6\x97\xa5\xd1\x88";
unsigned char* w = twochars;
advance (w, 2, twochars + 6);
assert (w == twochars + 5);

This function works only "forward". In case of a negative n, there is no effect.

In case of an invalid code point, a utf8::invalid_code_point exception is thrown.

utf8::distance

Available in version 1.0 and later.

Given the iterators to two UTF-8 encoded code points in a seqence, returns the number of code points between them.

template <typename octet_iterator> 
typename std::iterator_traits<octet_iterator>::difference_type distance (octet_iterator first, octet_iterator last);
   

octet_iterator: an input iterator.
first: an iterator to a beginning of a UTF-8 encoded code point.
last: an iterator to a "post-end" of the last UTF-8 encoded code point in the sequence we are trying to determine the length. It can be the beginning of a new code point, or not.
Return value the distance between the iterators, in code points.

Example of use:

char* twochars = "\xe6\x97\xa5\xd1\x88";
size_t dist = utf8::distance(twochars, twochars + 5);
assert (dist == 2);

This function is used to find the length (in code points) of a UTF-8 encoded string. The reason it is called distance, rather than, say, length is mainly because developers are used that length is an O(1) function. Computing the length of an UTF-8 string is a linear operation, and it looked better to model it after std::distance algorithm.

In case of an invalid UTF-8 seqence, a utf8::invalid_utf8 exception is thrown. If last does not point to the past-of-end of a UTF-8 seqence, a utf8::not_enough_room exception is thrown.

utf8::utf16to8

Available in version 1.0 and later.

Converts a UTF-16 encoded string to UTF-8.

template <typename u16bit_iterator, typename octet_iterator>
octet_iterator utf16to8 (u16bit_iterator start, u16bit_iterator end, octet_iterator result);
   

u16bit_iterator: an input iterator.
octet_iterator: an output iterator.
start: an iterator pointing to the beginning of the UTF-16 encoded string to convert.
end: an iterator pointing to pass-the-end of the UTF-16 encoded string to convert.
result: an output iterator to the place in the UTF-8 string where to append the result of conversion.
Return value: An iterator pointing to the place after the appended UTF-8 string.

Example of use:

unsigned short utf16string[] = {0x41, 0x0448, 0x65e5, 0xd834, 0xdd1e};
vector<unsigned char> utf8result;
utf16to8(utf16string, utf16string + 5, back_inserter(utf8result));
assert (utf8result.size() == 10);    

In case of invalid UTF-16 sequence, a utf8::invalid_utf16 exception is thrown.

utf8::utf8to16

Available in version 1.0 and later.

Converts an UTF-8 encoded string to UTF-16

template <typename u16bit_iterator, typename octet_iterator>
u16bit_iterator utf8to16 (octet_iterator start, octet_iterator end, u16bit_iterator result);
   

octet_iterator: an input iterator.
u16bit_iterator: an output iterator.
start: an iterator pointing to the beginning of the UTF-8 encoded string to convert. < br /> end: an iterator pointing to pass-the-end of the UTF-8 encoded string to convert.
result: an output iterator to the place in the UTF-16 string where to append the result of conversion.
Return value: An iterator pointing to the place after the appended UTF-16 string.

Example of use:

char utf8_with_surrogates[] = "\xe6\x97\xa5\xd1\x88\xf0\x9d\x84\x9e";
vector <unsigned short> utf16result;
utf8to16(utf8_with_surrogates, utf8_with_surrogates + 9, back_inserter(utf16result));
assert (utf16result.size() == 4);
assert (utf16result[2] == 0xd834);
assert (utf16result[3] == 0xdd1e);

In case of an invalid UTF-8 seqence, a utf8::invalid_utf8 exception is thrown. If end does not point to the past-of-end of a UTF-8 seqence, a utf8::not_enough_room exception is thrown.

utf8::utf32to8

Available in version 1.0 and later.

Converts a UTF-32 encoded string to UTF-8.

template <typename octet_iterator, typename u32bit_iterator>
octet_iterator utf32to8 (u32bit_iterator start, u32bit_iterator end, octet_iterator result);
   

octet_iterator: an output iterator.
u32bit_iterator: an input iterator.
start: an iterator pointing to the beginning of the UTF-32 encoded string to convert.
end: an iterator pointing to pass-the-end of the UTF-32 encoded string to convert.
result: an output iterator to the place in the UTF-8 string where to append the result of conversion.
Return value: An iterator pointing to the place after the appended UTF-8 string.

Example of use:

int utf32string[] = {0x448, 0x65E5, 0x10346, 0};
vector<unsigned char> utf8result;
utf32to8(utf32string, utf32string + 3, back_inserter(utf8result));
assert (utf8result.size() == 9);

In case of invalid UTF-32 string, a utf8::invalid_code_point exception is thrown.

utf8::utf8to32

Available in version 1.0 and later.

Converts a UTF-8 encoded string to UTF-32.

template <typename octet_iterator, typename u32bit_iterator>
u32bit_iterator utf8to32 (octet_iterator start, octet_iterator end, u32bit_iterator result);
   

octet_iterator: an input iterator.
u32bit_iterator: an output iterator.
start: an iterator pointing to the beginning of the UTF-8 encoded string to convert.
end: an iterator pointing to pass-the-end of the UTF-8 encoded string to convert.
result: an output iterator to the place in the UTF-32 string where to append the result of conversion.
Return value: An iterator pointing to the place after the appended UTF-32 string.

Example of use:

char* twochars = "\xe6\x97\xa5\xd1\x88";
vector<int> utf32result;
utf8to32(twochars, twochars + 5, back_inserter(utf32result));
assert (utf32result.size() == 2);

In case of an invalid UTF-8 seqence, a utf8::invalid_utf8 exception is thrown. If end does not point to the past-of-end of a UTF-8 seqence, a utf8::not_enough_room exception is thrown.

utf8::find_invalid

Available in version 1.0 and later.

Detects an invalid sequence within a UTF-8 string.

template <typename octet_iterator> 
octet_iterator find_invalid(octet_iterator start, octet_iterator end);

octet_iterator: an input iterator.
start: an iterator pointing to the beginning of the UTF-8 string to test for validity.
end: an iterator pointing to pass-the-end of the UTF-8 string to test for validity.
Return value: an iterator pointing to the first invalid octet in the UTF-8 string. In case none were found, equals end.

Example of use:

char utf_invalid[] = "\xe6\x97\xa5\xd1\x88\xfa";
char* invalid = find_invalid(utf_invalid, utf_invalid + 6);
assert (invalid == utf_invalid + 5);

This function is typically used to make sure a UTF-8 string is valid before processing it with other functions. It is especially important to call it if before doing any of the unchecked operations on it.

utf8::is_valid

Available in version 1.0 and later.

Checks whether a sequence of octets is a valid UTF-8 string.

template <typename octet_iterator> 
bool is_valid(octet_iterator start, octet_iterator end);
   

octet_iterator: an input iterator.
start: an iterator pointing to the beginning of the UTF-8 string to test for validity.
end: an iterator pointing to pass-the-end of the UTF-8 string to test for validity.
Return value: true if the sequence is a valid UTF-8 string; false if not.

Example of use:
char utf_invalid[] = "\xe6\x97\xa5\xd1\x88\xfa";
bool bvalid = is_valid(utf_invalid, utf_invalid + 6);
assert (bvalid == false);

is_valid is a shorthand for find_invalid(start, end) == end;. You may want to use it to make sure that a byte seqence is a valid UTF-8 string without the need to know where it fails if it is not valid.

utf8::replace_invalid

Available in version 2.0 and later.

Replaces all invalid UTF-8 sequences within a string with a replacement marker.

template <typename octet_iterator, typename output_iterator>
output_iterator replace_invalid(octet_iterator start, octet_iterator end, output_iterator out, uint32_t replacement);
template <typename octet_iterator, typename output_iterator>
output_iterator replace_invalid(octet_iterator start, octet_iterator end, output_iterator out);
   

octet_iterator: an input iterator.
output_iterator: an output iterator.
start: an iterator pointing to the beginning of the UTF-8 string to look for invalid UTF-8 sequences.
end: an iterator pointing to pass-the-end of the UTF-8 string to look for invalid UTF-8 sequences.
out: An output iterator to the range where the result of replacement is stored.
replacement: A Unicode code point for the replacement marker. The version without this parameter assumes the value 0xfffd
Return value: An iterator pointing to the place after the UTF-8 string with replaced invalid sequences.

Example of use:

char invalid_sequence[] = "a\x80\xe0\xa0\xc0\xaf\xed\xa0\x80z";
vector<char> replace_invalid_result;
replace_invalid (invalid_sequence, invalid_sequence + sizeof(invalid_sequence), back_inserter(replace_invalid_result), '?');
bvalid = is_valid(replace_invalid_result.begin(), replace_invalid_result.end());
assert (bvalid);
char* fixed_invalid_sequence = "a????z";
assert (std::equal(replace_invalid_result.begin(), replace_invalid_result.end(), fixed_invalid_sequence));

replace_invalid does not perform in-place replacement of invalid sequences. Rather, it produces a copy of the original string with the invalid sequences replaced with a replacement marker. Therefore, out must not be in the [start, end] range.

If end does not point to the past-of-end of a UTF-8 sequence, a utf8::not_enough_room exception is thrown.

utf8::starts_with_bom

Available in version 2.3 and later. Relaces deprecated is_bom() function.

Checks whether an octet sequence starts with a UTF-8 byte order mark (BOM)

template <typename octet_iterator> 
bool starts_with_bom (octet_iterator it, octet_iterator end);

octet_iterator: an input iterator.
it: beginning of the octet sequence to check
end: pass-end of the sequence to check
Return value: true if the sequence starts with a UTF-8 byte order mark; false if not.

Example of use:

unsigned char byte_order_mark[] = {0xef, 0xbb, 0xbf};
bool bbom = starts_with_bom(byte_order_mark, byte_order_mark + sizeof(byte_order_mark));
assert (bbom == true);

The typical use of this function is to check the first three bytes of a file. If they form the UTF-8 BOM, we want to skip them before processing the actual UTF-8 encoded text.

utf8::is_bom

Available in version 1.0 and later. Deprecated in version 2.3. starts_with_bom() should be used instead.

Checks whether a sequence of three octets is a UTF-8 byte order mark (BOM)

template <typename octet_iterator> 
bool is_bom (octet_iterator it);  // Deprecated

octet_iterator: an input iterator.
it: beginning of the 3-octet sequence to check
Return value: true if the sequence is UTF-8 byte order mark; false if not.

Example of use:

unsigned char byte_order_mark[] = {0xef, 0xbb, 0xbf};
bool bbom = is_bom(byte_order_mark);
assert (bbom == true);

The typical use of this function is to check the first three bytes of a file. If they form the UTF-8 BOM, we want to skip them before processing the actual UTF-8 encoded text.

If a sequence is shorter than three bytes, an invalid iterator will be dereferenced. Therefore, this function is deprecated in favor of starts_with_bom()that takes the end of sequence as an argument.

Types From utf8 Namespace

utf8::exception

Available in version 2.3 and later.

Base class for the exceptions thrown by UTF CPP library functions.

class exception : public std::exception {};

Example of use:

try {
  code_that_uses_utf_cpp_library();
}
catch(const utf8::exception& utfcpp_ex) {
  cerr << utfcpp_ex.what();
}

utf8::invalid_code_point

Available in version 1.0 and later.

Thrown by UTF8 CPP functions such as advance and next if an UTF-8 sequence represents and invalid code point.

class invalid_code_point : public exception {
public: 
    uint32_t code_point() const;
};

Member function code_point() can be used to determine the invalid code point that caused the exception to be thrown.

utf8::invalid_utf8

Available in version 1.0 and later.

Thrown by UTF8 CPP functions such as next and prior if an invalid UTF-8 sequence is detected during decoding.

class invalid_utf8 : public exception {
public: 
    uint8_t utf8_octet() const;
};

Member function utf8_octet() can be used to determine the beginning of the byte sequence that caused the exception to be thrown.

utf8::invalid_utf16

Available in version 1.0 and later.

Thrown by UTF8 CPP function utf16to8 if an invalid UTF-16 sequence is detected during decoding.

class invalid_utf16 : public exception {
public: 
    uint16_t utf16_word() const;
};

Member function utf16_word() can be used to determine the UTF-16 code unit that caused the exception to be thrown.

utf8::not_enough_room

Available in version 1.0 and later.

Thrown by UTF8 CPP functions such as next if the end of the decoded UTF-8 sequence was reached before the code point was decoded.

class not_enough_room : public exception {};

utf8::iterator

Available in version 2.0 and later.

Adapts the underlying octet iterator to iterate over the sequence of code points, rather than raw octets.

template <typename octet_iterator>
class iterator;
Member functions
iterator();
the deafult constructor; the underlying octet_iterator is constructed with its default constructor.
explicit iterator (const octet_iterator& octet_it, const octet_iterator& range_start, const octet_iterator& range_end);
a constructor that initializes the underlying octet_iterator with octet_it and sets the range in which the iterator is considered valid.
octet_iterator base () const;
returns the underlying octet_iterator.
uint32_t operator * () const;
decodes the utf-8 sequence the underlying octet_iterator is pointing to and returns the code point.
bool operator == (const iterator& rhs) const;
returns true if the two underlaying iterators are equal.
bool operator != (const iterator& rhs) const;
returns true if the two underlaying iterators are not equal.
iterator& operator ++ ();
the prefix increment - moves the iterator to the next UTF-8 encoded code point.
iterator operator ++ (int);
the postfix increment - moves the iterator to the next UTF-8 encoded code point and returns the current one.
iterator& operator -- ();
the prefix decrement - moves the iterator to the previous UTF-8 encoded code point.
iterator operator -- (int);
the postfix decrement - moves the iterator to the previous UTF-8 encoded code point and returns the current one.

Example of use:

char* threechars = "\xf0\x90\x8d\x86\xe6\x97\xa5\xd1\x88";
utf8::iterator<char*> it(threechars, threechars, threechars + 9);
utf8::iterator<char*> it2 = it;
assert (it2 == it);
assert (*it == 0x10346);
assert (*(++it) == 0x65e5);
assert ((*it++) == 0x65e5);
assert (*it == 0x0448);
assert (it != it2);
utf8::iterator<char*> endit (threechars + 9, threechars, threechars + 9);  
assert (++it == endit);
assert (*(--it) == 0x0448);
assert ((*it--) == 0x0448);
assert (*it == 0x65e5);
assert (--it == utf8::iterator<char*>(threechars, threechars, threechars + 9));
assert (*it == 0x10346);

The purpose of utf8::iterator adapter is to enable easy iteration as well as the use of STL algorithms with UTF-8 encoded strings. Increment and decrement operators are implemented in terms of utf8::next() and utf8::prior() functions.

Note that utf8::iterator adapter is a checked iterator. It operates on the range specified in the constructor; any attempt to go out of that range will result in an exception. Even the comparison operators require both iterator object to be constructed against the same range - otherwise an exception is thrown. Typically, the range will be determined by sequence container functions begin and end, i.e.:

std::string s = "example";
utf8::iterator i (s.begin(), s.begin(), s.end());

Functions From utf8::unchecked Namespace

utf8::unchecked::append

Available in version 1.0 and later.

Encodes a 32 bit code point as a UTF-8 sequence of octets and appends the sequence to a UTF-8 string.

template <typename octet_iterator>
octet_iterator append(uint32_t cp, octet_iterator result);
   

cp: A 32 bit integer representing a code point to append to the sequence.
result: An output iterator to the place in the sequence where to append the code point.
Return value: An iterator pointing to the place after the newly appended sequence.

Example of use:

unsigned char u[5] = {0,0,0,0,0};
unsigned char* end = unchecked::append(0x0448, u);
assert (u[0] == 0xd1 && u[1] == 0x88 && u[2] == 0 && u[3] == 0 && u[4] == 0);

This is a faster but less safe version of utf8::append. It does not check for validity of the supplied code point, and may produce an invalid UTF-8 sequence.

utf8::unchecked::next

Available in version 1.0 and later.

Given the iterator to the beginning of a UTF-8 sequence, it returns the code point and moves the iterator to the next position.

template <typename octet_iterator>
uint32_t next(octet_iterator& it);
   

it: a reference to an iterator pointing to the beginning of an UTF-8 encoded code point. After the function returns, it is incremented to point to the beginning of the next code point.
Return value: the 32 bit representation of the processed UTF-8 code point.

Example of use:

char* twochars = "\xe6\x97\xa5\xd1\x88";
char* w = twochars;
int cp = unchecked::next(w);
assert (cp == 0x65e5);
assert (w == twochars + 3);

This is a faster but less safe version of utf8::next. It does not check for validity of the supplied UTF-8 sequence.

utf8::unchecked::peek_next

Available in version 2.1 and later.

Given the iterator to the beginning of a UTF-8 sequence, it returns the code point.

template <typename octet_iterator>
uint32_t peek_next(octet_iterator it);
   

it: an iterator pointing to the beginning of an UTF-8 encoded code point.
Return value: the 32 bit representation of the processed UTF-8 code point.

Example of use:

char* twochars = "\xe6\x97\xa5\xd1\x88";
char* w = twochars;
int cp = unchecked::peek_next(w);
assert (cp == 0x65e5);
assert (w == twochars);

This is a faster but less safe version of utf8::peek_next. It does not check for validity of the supplied UTF-8 sequence.

utf8::unchecked::prior

Available in version 1.02 and later.

Given a reference to an iterator pointing to an octet in a UTF-8 seqence, it decreases the iterator until it hits the beginning of the previous UTF-8 encoded code point and returns the 32 bits representation of the code point.

template <typename octet_iterator>
uint32_t prior(octet_iterator& it);
   

it: a reference pointing to an octet within a UTF-8 encoded string. After the function returns, it is decremented to point to the beginning of the previous code point.
Return value: the 32 bit representation of the previous code point.

Example of use:

char* twochars = "\xe6\x97\xa5\xd1\x88";
char* w = twochars + 3;
int cp = unchecked::prior (w);
assert (cp == 0x65e5);
assert (w == twochars);

This is a faster but less safe version of utf8::prior. It does not check for validity of the supplied UTF-8 sequence and offers no boundary checking.

utf8::unchecked::previous (deprecated, see utf8::unchecked::prior)

Deprecated in version 1.02 and later.

Given a reference to an iterator pointing to an octet in a UTF-8 seqence, it decreases the iterator until it hits the beginning of the previous UTF-8 encoded code point and returns the 32 bits representation of the code point.

template <typename octet_iterator>
uint32_t previous(octet_iterator& it);
   

it: a reference pointing to an octet within a UTF-8 encoded string. After the function returns, it is decremented to point to the beginning of the previous code point.
Return value: the 32 bit representation of the previous code point.

Example of use:

char* twochars = "\xe6\x97\xa5\xd1\x88";
char* w = twochars + 3;
int cp = unchecked::previous (w);
assert (cp == 0x65e5);
assert (w == twochars);

The reason this function is deprecated is just the consistency with the "checked" versions, where prior should be used instead of previous. In fact, unchecked::previous behaves exactly the same as unchecked::prior

This is a faster but less safe version of utf8::previous. It does not check for validity of the supplied UTF-8 sequence and offers no boundary checking.

utf8::unchecked::advance

Available in version 1.0 and later.

Advances an iterator by the specified number of code points within an UTF-8 sequence.

template <typename octet_iterator, typename distance_type>
void advance (octet_iterator& it, distance_type n);
   

it: a reference to an iterator pointing to the beginning of an UTF-8 encoded code point. After the function returns, it is incremented to point to the nth following code point.
n: a positive integer that shows how many code points we want to advance.

Example of use:

char* twochars = "\xe6\x97\xa5\xd1\x88";
char* w = twochars;
unchecked::advance (w, 2);
assert (w == twochars + 5);

This function works only "forward". In case of a negative n, there is no effect.

This is a faster but less safe version of utf8::advance. It does not check for validity of the supplied UTF-8 sequence and offers no boundary checking.

utf8::unchecked::distance

Available in version 1.0 and later.

Given the iterators to two UTF-8 encoded code points in a seqence, returns the number of code points between them.

template <typename octet_iterator>
typename std::iterator_traits<octet_iterator>::difference_type distance (octet_iterator first, octet_iterator last);

first: an iterator to a beginning of a UTF-8 encoded code point.
last: an iterator to a "post-end" of the last UTF-8 encoded code point in the sequence we are trying to determine the length. It can be the beginning of a new code point, or not.
Return value the distance between the iterators, in code points.

Example of use:

char* twochars = "\xe6\x97\xa5\xd1\x88";
size_t dist = utf8::unchecked::distance(twochars, twochars + 5);
assert (dist == 2);

This is a faster but less safe version of utf8::distance. It does not check for validity of the supplied UTF-8 sequence.

utf8::unchecked::utf16to8

Available in version 1.0 and later.

Converts a UTF-16 encoded string to UTF-8.

template <typename u16bit_iterator, typename octet_iterator>
octet_iterator utf16to8 (u16bit_iterator start, u16bit_iterator end, octet_iterator result);
   

start: an iterator pointing to the beginning of the UTF-16 encoded string to convert.
end: an iterator pointing to pass-the-end of the UTF-16 encoded string to convert.
result: an output iterator to the place in the UTF-8 string where to append the result of conversion.
Return value: An iterator pointing to the place after the appended UTF-8 string.

Example of use:

unsigned short utf16string[] = {0x41, 0x0448, 0x65e5, 0xd834, 0xdd1e};
vector<unsigned char> utf8result;
unchecked::utf16to8(utf16string, utf16string + 5, back_inserter(utf8result));
assert (utf8result.size() == 10);    

This is a faster but less safe version of utf8::utf16to8. It does not check for validity of the supplied UTF-16 sequence.

utf8::unchecked::utf8to16

Available in version 1.0 and later.

Converts an UTF-8 encoded string to UTF-16

template <typename u16bit_iterator, typename octet_iterator>
u16bit_iterator utf8to16 (octet_iterator start, octet_iterator end, u16bit_iterator result);
   

start: an iterator pointing to the beginning of the UTF-8 encoded string to convert. < br /> end: an iterator pointing to pass-the-end of the UTF-8 encoded string to convert.
result: an output iterator to the place in the UTF-16 string where to append the result of conversion.
Return value: An iterator pointing to the place after the appended UTF-16 string.

Example of use:

char utf8_with_surrogates[] = "\xe6\x97\xa5\xd1\x88\xf0\x9d\x84\x9e";
vector <unsigned short> utf16result;
unchecked::utf8to16(utf8_with_surrogates, utf8_with_surrogates + 9, back_inserter(utf16result));
assert (utf16result.size() == 4);
assert (utf16result[2] == 0xd834);
assert (utf16result[3] == 0xdd1e);

This is a faster but less safe version of utf8::utf8to16. It does not check for validity of the supplied UTF-8 sequence.

utf8::unchecked::utf32to8

Available in version 1.0 and later.

Converts a UTF-32 encoded string to UTF-8.

template <typename octet_iterator, typename u32bit_iterator>
octet_iterator utf32to8 (u32bit_iterator start, u32bit_iterator end, octet_iterator result);
   

start: an iterator pointing to the beginning of the UTF-32 encoded string to convert.
end: an iterator pointing to pass-the-end of the UTF-32 encoded string to convert.
result: an output iterator to the place in the UTF-8 string where to append the result of conversion.
Return value: An iterator pointing to the place after the appended UTF-8 string.

Example of use:

int utf32string[] = {0x448, 0x65e5, 0x10346, 0};
vector<unsigned char> utf8result;
utf32to8(utf32string, utf32string + 3, back_inserter(utf8result));
assert (utf8result.size() == 9);

This is a faster but less safe version of utf8::utf32to8. It does not check for validity of the supplied UTF-32 sequence.

utf8::unchecked::utf8to32

Available in version 1.0 and later.

Converts a UTF-8 encoded string to UTF-32.

template <typename octet_iterator, typename u32bit_iterator>
u32bit_iterator utf8to32 (octet_iterator start, octet_iterator end, u32bit_iterator result);
   

start: an iterator pointing to the beginning of the UTF-8 encoded string to convert.
end: an iterator pointing to pass-the-end of the UTF-8 encoded string to convert.
result: an output iterator to the place in the UTF-32 string where to append the result of conversion.
Return value: An iterator pointing to the place after the appended UTF-32 string.

Example of use:

char* twochars = "\xe6\x97\xa5\xd1\x88";
vector<int> utf32result;
unchecked::utf8to32(twochars, twochars + 5, back_inserter(utf32result));
assert (utf32result.size() == 2);

This is a faster but less safe version of utf8::utf8to32. It does not check for validity of the supplied UTF-8 sequence.

Types From utf8::unchecked Namespace

utf8::iterator

Available in version 2.0 and later.

Adapts the underlying octet iterator to iterate over the sequence of code points, rather than raw octets.

template <typename octet_iterator>
class iterator;
Member functions
iterator();
the deafult constructor; the underlying octet_iterator is constructed with its default constructor.
explicit iterator (const octet_iterator& octet_it);
a constructor that initializes the underlying octet_iterator with octet_it
octet_iterator base () const;
returns the underlying octet_iterator.
uint32_t operator * () const;
decodes the utf-8 sequence the underlying octet_iterator is pointing to and returns the code point.
bool operator == (const iterator& rhs) const;
returns true if the two underlaying iterators are equal.
bool operator != (const iterator& rhs) const;
returns true if the two underlaying iterators are not equal.
iterator& operator ++ ();
the prefix increment - moves the iterator to the next UTF-8 encoded code point.
iterator operator ++ (int);
the postfix increment - moves the iterator to the next UTF-8 encoded code point and returns the current one.
iterator& operator -- ();
the prefix decrement - moves the iterator to the previous UTF-8 encoded code point.
iterator operator -- (int);
the postfix decrement - moves the iterator to the previous UTF-8 encoded code point and returns the current one.

Example of use:

char* threechars = "\xf0\x90\x8d\x86\xe6\x97\xa5\xd1\x88";
utf8::unchecked::iterator<char*> un_it(threechars);
utf8::unchecked::iterator<char*> un_it2 = un_it;
assert (un_it2 == un_it);
assert (*un_it == 0x10346);
assert (*(++un_it) == 0x65e5);
assert ((*un_it++) == 0x65e5);
assert (*un_it == 0x0448);
assert (un_it != un_it2);
utf8::::unchecked::iterator<char*> un_endit (threechars + 9);  
assert (++un_it == un_endit);
assert (*(--un_it) == 0x0448);
assert ((*un_it--) == 0x0448);
assert (*un_it == 0x65e5);
assert (--un_it == utf8::unchecked::iterator<char*>(threechars));
assert (*un_it == 0x10346);

This is an unchecked version of utf8::iterator. It is faster in many cases, but offers no validity or range checks.

Points of interest

Design goals and decisions

The library was designed to be:

  1. Generic: for better or worse, there are many C++ string classes out there, and the library should work with as many of them as possible.
  2. Portable: the library should be portable both accross different platforms and compilers. The only non-portable code is a small section that declares unsigned integers of different sizes: three typedefs. They can be changed by the users of the library if they don't match their platform. The default setting should work for Windows (both 32 and 64 bit), and most 32 bit and 64 bit Unix derivatives.
  3. Lightweight: follow the "pay only for what you use" guideline.
  4. Unintrusive: avoid forcing any particular design or even programming style on the user. This is a library, not a framework.

Alternatives

In case you want to look into other means of working with UTF-8 strings from C++, here is the list of solutions I am aware of:

  1. ICU Library. It is very powerful, complete, feature-rich, mature, and widely used. Also big, intrusive, non-generic, and doesn't play well with the Standard Library. I definitelly recommend looking at ICU even if you don't plan to use it.
  2. C++11 language and library features. Still far from complete, and not widely supported by compiler vendors.
  3. Glib::ustring. A class specifically made to work with UTF-8 strings, and also feel like std::string. If you prefer to have yet another string class in your code, it may be worth a look. Be aware of the licensing issues, though.
  4. Platform dependent solutions: Windows and POSIX have functions to convert strings from one encoding to another. That is only a subset of what my library offers, but if that is all you need it may be good enough.
  1. The Unicode Consortium.
  2. ICU Library.
  3. UTF-8 at Wikipedia
  4. UTF-8 and Unicode FAQ for Unix/Linux
blockattack-game-2.5.0/source/misc/travis_help/utf8_v2_3_4/source/000077500000000000000000000000001347224572500247375ustar00rootroot00000000000000blockattack-game-2.5.0/source/misc/travis_help/utf8_v2_3_4/source/utf8.h000066400000000000000000000030231347224572500257740ustar00rootroot00000000000000// Copyright 2006 Nemanja Trifunovic /* Permission is hereby granted, free of charge, to any person or organization obtaining a copy of the software and accompanying documentation covered by this license (the "Software") to use, reproduce, display, distribute, execute, and transmit the Software, and to prepare derivative works of the Software, and to permit third-parties to whom the Software is furnished to do so, all subject to the following: The copyright notices in the Software and this entire statement, including the above license grant, this restriction and the following disclaimer, must be included in all copies of the Software, in whole or in part, and all derivative works of the Software, unless such copies or derivative works are solely in the form of machine-executable object code generated by a source language processor. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ #ifndef UTF8_FOR_CPP_2675DCD0_9480_4c0c_B92A_CC14C027B731 #define UTF8_FOR_CPP_2675DCD0_9480_4c0c_B92A_CC14C027B731 #include "utf8/checked.h" #include "utf8/unchecked.h" #endif // header guard blockattack-game-2.5.0/source/misc/travis_help/utf8_v2_3_4/source/utf8/000077500000000000000000000000001347224572500256255ustar00rootroot00000000000000blockattack-game-2.5.0/source/misc/travis_help/utf8_v2_3_4/source/utf8/checked.h000066400000000000000000000276141347224572500273760ustar00rootroot00000000000000// Copyright 2006 Nemanja Trifunovic /* Permission is hereby granted, free of charge, to any person or organization obtaining a copy of the software and accompanying documentation covered by this license (the "Software") to use, reproduce, display, distribute, execute, and transmit the Software, and to prepare derivative works of the Software, and to permit third-parties to whom the Software is furnished to do so, all subject to the following: The copyright notices in the Software and this entire statement, including the above license grant, this restriction and the following disclaimer, must be included in all copies of the Software, in whole or in part, and all derivative works of the Software, unless such copies or derivative works are solely in the form of machine-executable object code generated by a source language processor. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ #ifndef UTF8_FOR_CPP_CHECKED_H_2675DCD0_9480_4c0c_B92A_CC14C027B731 #define UTF8_FOR_CPP_CHECKED_H_2675DCD0_9480_4c0c_B92A_CC14C027B731 #include "core.h" #include namespace utf8 { // Base for the exceptions that may be thrown from the library class exception : public ::std::exception { }; // Exceptions that may be thrown from the library functions. class invalid_code_point : public exception { uint32_t cp; public: invalid_code_point(uint32_t cp) : cp(cp) {} virtual const char* what() const throw() { return "Invalid code point"; } uint32_t code_point() const {return cp;} }; class invalid_utf8 : public exception { uint8_t u8; public: invalid_utf8 (uint8_t u) : u8(u) {} virtual const char* what() const throw() { return "Invalid UTF-8"; } uint8_t utf8_octet() const {return u8;} }; class invalid_utf16 : public exception { uint16_t u16; public: invalid_utf16 (uint16_t u) : u16(u) {} virtual const char* what() const throw() { return "Invalid UTF-16"; } uint16_t utf16_word() const {return u16;} }; class not_enough_room : public exception { public: virtual const char* what() const throw() { return "Not enough space"; } }; /// The library API - functions intended to be called by the users template octet_iterator append(uint32_t cp, octet_iterator result) { if (!utf8::internal::is_code_point_valid(cp)) throw invalid_code_point(cp); if (cp < 0x80) // one octet *(result++) = static_cast(cp); else if (cp < 0x800) { // two octets *(result++) = static_cast((cp >> 6) | 0xc0); *(result++) = static_cast((cp & 0x3f) | 0x80); } else if (cp < 0x10000) { // three octets *(result++) = static_cast((cp >> 12) | 0xe0); *(result++) = static_cast(((cp >> 6) & 0x3f) | 0x80); *(result++) = static_cast((cp & 0x3f) | 0x80); } else { // four octets *(result++) = static_cast((cp >> 18) | 0xf0); *(result++) = static_cast(((cp >> 12) & 0x3f) | 0x80); *(result++) = static_cast(((cp >> 6) & 0x3f) | 0x80); *(result++) = static_cast((cp & 0x3f) | 0x80); } return result; } template output_iterator replace_invalid(octet_iterator start, octet_iterator end, output_iterator out, uint32_t replacement) { while (start != end) { octet_iterator sequence_start = start; internal::utf_error err_code = utf8::internal::validate_next(start, end); switch (err_code) { case internal::UTF8_OK : for (octet_iterator it = sequence_start; it != start; ++it) *out++ = *it; break; case internal::NOT_ENOUGH_ROOM: throw not_enough_room(); case internal::INVALID_LEAD: out = utf8::append (replacement, out); ++start; break; case internal::INCOMPLETE_SEQUENCE: case internal::OVERLONG_SEQUENCE: case internal::INVALID_CODE_POINT: out = utf8::append (replacement, out); ++start; // just one replacement mark for the sequence while (start != end && utf8::internal::is_trail(*start)) ++start; break; } } return out; } template inline output_iterator replace_invalid(octet_iterator start, octet_iterator end, output_iterator out) { static const uint32_t replacement_marker = utf8::internal::mask16(0xfffd); return utf8::replace_invalid(start, end, out, replacement_marker); } template uint32_t next(octet_iterator& it, octet_iterator end) { uint32_t cp = 0; internal::utf_error err_code = utf8::internal::validate_next(it, end, cp); switch (err_code) { case internal::UTF8_OK : break; case internal::NOT_ENOUGH_ROOM : throw not_enough_room(); case internal::INVALID_LEAD : case internal::INCOMPLETE_SEQUENCE : case internal::OVERLONG_SEQUENCE : throw invalid_utf8(*it); case internal::INVALID_CODE_POINT : throw invalid_code_point(cp); } return cp; } template uint32_t peek_next(octet_iterator it, octet_iterator end) { return utf8::next(it, end); } template uint32_t prior(octet_iterator& it, octet_iterator start) { // can't do much if it == start if (it == start) throw not_enough_room(); octet_iterator end = it; // Go back until we hit either a lead octet or start while (utf8::internal::is_trail(*(--it))) if (it == start) throw invalid_utf8(*it); // error - no lead byte in the sequence return utf8::peek_next(it, end); } /// Deprecated in versions that include "prior" template uint32_t previous(octet_iterator& it, octet_iterator pass_start) { octet_iterator end = it; while (utf8::internal::is_trail(*(--it))) if (it == pass_start) throw invalid_utf8(*it); // error - no lead byte in the sequence octet_iterator temp = it; return utf8::next(temp, end); } template void advance (octet_iterator& it, distance_type n, octet_iterator end) { for (distance_type i = 0; i < n; ++i) utf8::next(it, end); } template typename std::iterator_traits::difference_type distance (octet_iterator first, octet_iterator last) { typename std::iterator_traits::difference_type dist; for (dist = 0; first < last; ++dist) utf8::next(first, last); return dist; } template octet_iterator utf16to8 (u16bit_iterator start, u16bit_iterator end, octet_iterator result) { while (start != end) { uint32_t cp = utf8::internal::mask16(*start++); // Take care of surrogate pairs first if (utf8::internal::is_lead_surrogate(cp)) { if (start != end) { uint32_t trail_surrogate = utf8::internal::mask16(*start++); if (utf8::internal::is_trail_surrogate(trail_surrogate)) cp = (cp << 10) + trail_surrogate + internal::SURROGATE_OFFSET; else throw invalid_utf16(static_cast(trail_surrogate)); } else throw invalid_utf16(static_cast(cp)); } // Lone trail surrogate else if (utf8::internal::is_trail_surrogate(cp)) throw invalid_utf16(static_cast(cp)); result = utf8::append(cp, result); } return result; } template u16bit_iterator utf8to16 (octet_iterator start, octet_iterator end, u16bit_iterator result) { while (start != end) { uint32_t cp = utf8::next(start, end); if (cp > 0xffff) { //make a surrogate pair *result++ = static_cast((cp >> 10) + internal::LEAD_OFFSET); *result++ = static_cast((cp & 0x3ff) + internal::TRAIL_SURROGATE_MIN); } else *result++ = static_cast(cp); } return result; } template octet_iterator utf32to8 (u32bit_iterator start, u32bit_iterator end, octet_iterator result) { while (start != end) result = utf8::append(*(start++), result); return result; } template u32bit_iterator utf8to32 (octet_iterator start, octet_iterator end, u32bit_iterator result) { while (start != end) (*result++) = utf8::next(start, end); return result; } // The iterator class template class iterator : public std::iterator { octet_iterator it; octet_iterator range_start; octet_iterator range_end; public: iterator () {} explicit iterator (const octet_iterator& octet_it, const octet_iterator& range_start, const octet_iterator& range_end) : it(octet_it), range_start(range_start), range_end(range_end) { if (it < range_start || it > range_end) throw std::out_of_range("Invalid utf-8 iterator position"); } // the default "big three" are OK octet_iterator base () const { return it; } uint32_t operator * () const { octet_iterator temp = it; return utf8::next(temp, range_end); } bool operator == (const iterator& rhs) const { if (range_start != rhs.range_start || range_end != rhs.range_end) throw std::logic_error("Comparing utf-8 iterators defined with different ranges"); return (it == rhs.it); } bool operator != (const iterator& rhs) const { return !(operator == (rhs)); } iterator& operator ++ () { utf8::next(it, range_end); return *this; } iterator operator ++ (int) { iterator temp = *this; utf8::next(it, range_end); return temp; } iterator& operator -- () { utf8::prior(it, range_start); return *this; } iterator operator -- (int) { iterator temp = *this; utf8::prior(it, range_start); return temp; } }; // class iterator } // namespace utf8 #endif //header guard blockattack-game-2.5.0/source/misc/travis_help/utf8_v2_3_4/source/utf8/core.h000066400000000000000000000247111347224572500267330ustar00rootroot00000000000000// Copyright 2006 Nemanja Trifunovic /* Permission is hereby granted, free of charge, to any person or organization obtaining a copy of the software and accompanying documentation covered by this license (the "Software") to use, reproduce, display, distribute, execute, and transmit the Software, and to prepare derivative works of the Software, and to permit third-parties to whom the Software is furnished to do so, all subject to the following: The copyright notices in the Software and this entire statement, including the above license grant, this restriction and the following disclaimer, must be included in all copies of the Software, in whole or in part, and all derivative works of the Software, unless such copies or derivative works are solely in the form of machine-executable object code generated by a source language processor. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ #ifndef UTF8_FOR_CPP_CORE_H_2675DCD0_9480_4c0c_B92A_CC14C027B731 #define UTF8_FOR_CPP_CORE_H_2675DCD0_9480_4c0c_B92A_CC14C027B731 #include namespace utf8 { // The typedefs for 8-bit, 16-bit and 32-bit unsigned integers // You may need to change them to match your system. // These typedefs have the same names as ones from cstdint, or boost/cstdint typedef unsigned char uint8_t; typedef unsigned short uint16_t; typedef unsigned int uint32_t; // Helper code - not intended to be directly called by the library users. May be changed at any time namespace internal { // Unicode constants // Leading (high) surrogates: 0xd800 - 0xdbff // Trailing (low) surrogates: 0xdc00 - 0xdfff const uint16_t LEAD_SURROGATE_MIN = 0xd800u; const uint16_t LEAD_SURROGATE_MAX = 0xdbffu; const uint16_t TRAIL_SURROGATE_MIN = 0xdc00u; const uint16_t TRAIL_SURROGATE_MAX = 0xdfffu; const uint16_t LEAD_OFFSET = LEAD_SURROGATE_MIN - (0x10000 >> 10); const uint32_t SURROGATE_OFFSET = 0x10000u - (LEAD_SURROGATE_MIN << 10) - TRAIL_SURROGATE_MIN; // Maximum valid value for a Unicode code point const uint32_t CODE_POINT_MAX = 0x0010ffffu; template inline uint8_t mask8(octet_type oc) { return static_cast(0xff & oc); } template inline uint16_t mask16(u16_type oc) { return static_cast(0xffff & oc); } template inline bool is_trail(octet_type oc) { return ((utf8::internal::mask8(oc) >> 6) == 0x2); } template inline bool is_lead_surrogate(u16 cp) { return (cp >= LEAD_SURROGATE_MIN && cp <= LEAD_SURROGATE_MAX); } template inline bool is_trail_surrogate(u16 cp) { return (cp >= TRAIL_SURROGATE_MIN && cp <= TRAIL_SURROGATE_MAX); } template inline bool is_surrogate(u16 cp) { return (cp >= LEAD_SURROGATE_MIN && cp <= TRAIL_SURROGATE_MAX); } template inline bool is_code_point_valid(u32 cp) { return (cp <= CODE_POINT_MAX && !utf8::internal::is_surrogate(cp)); } template inline typename std::iterator_traits::difference_type sequence_length(octet_iterator lead_it) { uint8_t lead = utf8::internal::mask8(*lead_it); if (lead < 0x80) return 1; else if ((lead >> 5) == 0x6) return 2; else if ((lead >> 4) == 0xe) return 3; else if ((lead >> 3) == 0x1e) return 4; else return 0; } template inline bool is_overlong_sequence(uint32_t cp, octet_difference_type length) { if (cp < 0x80) { if (length != 1) return true; } else if (cp < 0x800) { if (length != 2) return true; } else if (cp < 0x10000) { if (length != 3) return true; } return false; } enum utf_error {UTF8_OK, NOT_ENOUGH_ROOM, INVALID_LEAD, INCOMPLETE_SEQUENCE, OVERLONG_SEQUENCE, INVALID_CODE_POINT}; /// Helper for get_sequence_x template utf_error increase_safely(octet_iterator& it, octet_iterator end) { if (++it == end) return NOT_ENOUGH_ROOM; if (!utf8::internal::is_trail(*it)) return INCOMPLETE_SEQUENCE; return UTF8_OK; } #define UTF8_CPP_INCREASE_AND_RETURN_ON_ERROR(IT, END) {utf_error ret = increase_safely(IT, END); if (ret != UTF8_OK) return ret;} /// get_sequence_x functions decode utf-8 sequences of the length x template utf_error get_sequence_1(octet_iterator& it, octet_iterator end, uint32_t& code_point) { if (it == end) return NOT_ENOUGH_ROOM; code_point = utf8::internal::mask8(*it); return UTF8_OK; } template utf_error get_sequence_2(octet_iterator& it, octet_iterator end, uint32_t& code_point) { if (it == end) return NOT_ENOUGH_ROOM; code_point = utf8::internal::mask8(*it); UTF8_CPP_INCREASE_AND_RETURN_ON_ERROR(it, end) code_point = ((code_point << 6) & 0x7ff) + ((*it) & 0x3f); return UTF8_OK; } template utf_error get_sequence_3(octet_iterator& it, octet_iterator end, uint32_t& code_point) { if (it == end) return NOT_ENOUGH_ROOM; code_point = utf8::internal::mask8(*it); UTF8_CPP_INCREASE_AND_RETURN_ON_ERROR(it, end) code_point = ((code_point << 12) & 0xffff) + ((utf8::internal::mask8(*it) << 6) & 0xfff); UTF8_CPP_INCREASE_AND_RETURN_ON_ERROR(it, end) code_point += (*it) & 0x3f; return UTF8_OK; } template utf_error get_sequence_4(octet_iterator& it, octet_iterator end, uint32_t& code_point) { if (it == end) return NOT_ENOUGH_ROOM; code_point = utf8::internal::mask8(*it); UTF8_CPP_INCREASE_AND_RETURN_ON_ERROR(it, end) code_point = ((code_point << 18) & 0x1fffff) + ((utf8::internal::mask8(*it) << 12) & 0x3ffff); UTF8_CPP_INCREASE_AND_RETURN_ON_ERROR(it, end) code_point += (utf8::internal::mask8(*it) << 6) & 0xfff; UTF8_CPP_INCREASE_AND_RETURN_ON_ERROR(it, end) code_point += (*it) & 0x3f; return UTF8_OK; } #undef UTF8_CPP_INCREASE_AND_RETURN_ON_ERROR template utf_error validate_next(octet_iterator& it, octet_iterator end, uint32_t& code_point) { // Save the original value of it so we can go back in case of failure // Of course, it does not make much sense with i.e. stream iterators octet_iterator original_it = it; uint32_t cp = 0; // Determine the sequence length based on the lead octet typedef typename std::iterator_traits::difference_type octet_difference_type; const octet_difference_type length = utf8::internal::sequence_length(it); // Get trail octets and calculate the code point utf_error err = UTF8_OK; switch (length) { case 0: return INVALID_LEAD; case 1: err = utf8::internal::get_sequence_1(it, end, cp); break; case 2: err = utf8::internal::get_sequence_2(it, end, cp); break; case 3: err = utf8::internal::get_sequence_3(it, end, cp); break; case 4: err = utf8::internal::get_sequence_4(it, end, cp); break; } if (err == UTF8_OK) { // Decoding succeeded. Now, security checks... if (utf8::internal::is_code_point_valid(cp)) { if (!utf8::internal::is_overlong_sequence(cp, length)){ // Passed! Return here. code_point = cp; ++it; return UTF8_OK; } else err = OVERLONG_SEQUENCE; } else err = INVALID_CODE_POINT; } // Failure branch - restore the original value of the iterator it = original_it; return err; } template inline utf_error validate_next(octet_iterator& it, octet_iterator end) { uint32_t ignored; return utf8::internal::validate_next(it, end, ignored); } } // namespace internal /// The library API - functions intended to be called by the users // Byte order mark const uint8_t bom[] = {0xef, 0xbb, 0xbf}; template octet_iterator find_invalid(octet_iterator start, octet_iterator end) { octet_iterator result = start; while (result != end) { utf8::internal::utf_error err_code = utf8::internal::validate_next(result, end); if (err_code != internal::UTF8_OK) return result; } return result; } template inline bool is_valid(octet_iterator start, octet_iterator end) { return (utf8::find_invalid(start, end) == end); } template inline bool starts_with_bom (octet_iterator it, octet_iterator end) { return ( ((it != end) && (utf8::internal::mask8(*it++)) == bom[0]) && ((it != end) && (utf8::internal::mask8(*it++)) == bom[1]) && ((it != end) && (utf8::internal::mask8(*it)) == bom[2]) ); } //Deprecated in release 2.3 template inline bool is_bom (octet_iterator it) { return ( (utf8::internal::mask8(*it++)) == bom[0] && (utf8::internal::mask8(*it++)) == bom[1] && (utf8::internal::mask8(*it)) == bom[2] ); } } // namespace utf8 #endif // header guard blockattack-game-2.5.0/source/misc/travis_help/utf8_v2_3_4/source/utf8/unchecked.h000066400000000000000000000213131347224572500277270ustar00rootroot00000000000000// Copyright 2006 Nemanja Trifunovic /* Permission is hereby granted, free of charge, to any person or organization obtaining a copy of the software and accompanying documentation covered by this license (the "Software") to use, reproduce, display, distribute, execute, and transmit the Software, and to prepare derivative works of the Software, and to permit third-parties to whom the Software is furnished to do so, all subject to the following: The copyright notices in the Software and this entire statement, including the above license grant, this restriction and the following disclaimer, must be included in all copies of the Software, in whole or in part, and all derivative works of the Software, unless such copies or derivative works are solely in the form of machine-executable object code generated by a source language processor. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ #ifndef UTF8_FOR_CPP_UNCHECKED_H_2675DCD0_9480_4c0c_B92A_CC14C027B731 #define UTF8_FOR_CPP_UNCHECKED_H_2675DCD0_9480_4c0c_B92A_CC14C027B731 #include "core.h" namespace utf8 { namespace unchecked { template octet_iterator append(uint32_t cp, octet_iterator result) { if (cp < 0x80) // one octet *(result++) = static_cast(cp); else if (cp < 0x800) { // two octets *(result++) = static_cast((cp >> 6) | 0xc0); *(result++) = static_cast((cp & 0x3f) | 0x80); } else if (cp < 0x10000) { // three octets *(result++) = static_cast((cp >> 12) | 0xe0); *(result++) = static_cast(((cp >> 6) & 0x3f) | 0x80); *(result++) = static_cast((cp & 0x3f) | 0x80); } else { // four octets *(result++) = static_cast((cp >> 18) | 0xf0); *(result++) = static_cast(((cp >> 12) & 0x3f)| 0x80); *(result++) = static_cast(((cp >> 6) & 0x3f) | 0x80); *(result++) = static_cast((cp & 0x3f) | 0x80); } return result; } template uint32_t next(octet_iterator& it) { uint32_t cp = utf8::internal::mask8(*it); typename std::iterator_traits::difference_type length = utf8::internal::sequence_length(it); switch (length) { case 1: break; case 2: it++; cp = ((cp << 6) & 0x7ff) + ((*it) & 0x3f); break; case 3: ++it; cp = ((cp << 12) & 0xffff) + ((utf8::internal::mask8(*it) << 6) & 0xfff); ++it; cp += (*it) & 0x3f; break; case 4: ++it; cp = ((cp << 18) & 0x1fffff) + ((utf8::internal::mask8(*it) << 12) & 0x3ffff); ++it; cp += (utf8::internal::mask8(*it) << 6) & 0xfff; ++it; cp += (*it) & 0x3f; break; } ++it; return cp; } template uint32_t peek_next(octet_iterator it) { return utf8::unchecked::next(it); } template uint32_t prior(octet_iterator& it) { while (utf8::internal::is_trail(*(--it))) ; octet_iterator temp = it; return utf8::unchecked::next(temp); } // Deprecated in versions that include prior, but only for the sake of consistency (see utf8::previous) template inline uint32_t previous(octet_iterator& it) { return utf8::unchecked::prior(it); } template void advance (octet_iterator& it, distance_type n) { for (distance_type i = 0; i < n; ++i) utf8::unchecked::next(it); } template typename std::iterator_traits::difference_type distance (octet_iterator first, octet_iterator last) { typename std::iterator_traits::difference_type dist; for (dist = 0; first < last; ++dist) utf8::unchecked::next(first); return dist; } template octet_iterator utf16to8 (u16bit_iterator start, u16bit_iterator end, octet_iterator result) { while (start != end) { uint32_t cp = utf8::internal::mask16(*start++); // Take care of surrogate pairs first if (utf8::internal::is_lead_surrogate(cp)) { uint32_t trail_surrogate = utf8::internal::mask16(*start++); cp = (cp << 10) + trail_surrogate + internal::SURROGATE_OFFSET; } result = utf8::unchecked::append(cp, result); } return result; } template u16bit_iterator utf8to16 (octet_iterator start, octet_iterator end, u16bit_iterator result) { while (start < end) { uint32_t cp = utf8::unchecked::next(start); if (cp > 0xffff) { //make a surrogate pair *result++ = static_cast((cp >> 10) + internal::LEAD_OFFSET); *result++ = static_cast((cp & 0x3ff) + internal::TRAIL_SURROGATE_MIN); } else *result++ = static_cast(cp); } return result; } template octet_iterator utf32to8 (u32bit_iterator start, u32bit_iterator end, octet_iterator result) { while (start != end) result = utf8::unchecked::append(*(start++), result); return result; } template u32bit_iterator utf8to32 (octet_iterator start, octet_iterator end, u32bit_iterator result) { while (start < end) (*result++) = utf8::unchecked::next(start); return result; } // The iterator class template class iterator : public std::iterator { octet_iterator it; public: iterator () {} explicit iterator (const octet_iterator& octet_it): it(octet_it) {} // the default "big three" are OK octet_iterator base () const { return it; } uint32_t operator * () const { octet_iterator temp = it; return utf8::unchecked::next(temp); } bool operator == (const iterator& rhs) const { return (it == rhs.it); } bool operator != (const iterator& rhs) const { return !(operator == (rhs)); } iterator& operator ++ () { ::std::advance(it, utf8::internal::sequence_length(it)); return *this; } iterator operator ++ (int) { iterator temp = *this; ::std::advance(it, utf8::internal::sequence_length(it)); return temp; } iterator& operator -- () { utf8::unchecked::prior(it); return *this; } iterator operator -- (int) { iterator temp = *this; utf8::unchecked::prior(it); return temp; } }; // class iterator } // namespace utf8::unchecked } // namespace utf8 #endif // header guard blockattack-game-2.5.0/travis_build.script000077500000000000000000000005241347224572500206430ustar00rootroot00000000000000#! /bin/bash set -e # First check for formatting errors bash source/misc/lint/runLint.sh docker build -f source/misc/docker/Dockerfile.Fedora25build . -t blockattack_test #docker build -f source/misc/docker/Dockerfile.Ubuntu14.04build . -t blockattack_test docker build -f source/misc/docker/Dockerfile.WindoesBuild . -t blockattack_test blockattack-game-2.5.0/windows installer/000077500000000000000000000000001347224572500203725ustar00rootroot00000000000000blockattack-game-2.5.0/windows installer/install_script.nsi000066400000000000000000000254241347224572500241460ustar00rootroot00000000000000; Script generated by the HM NIS Edit Script Wizard. ; HM NIS Edit Wizard helper defines !define PRODUCT_NAME "Block Attack - Rise Of the Blocks" !define PRODUCT_VERSION "2.5.0" !define PRODUCT_PUBLISHER "Poul Sander" !define PRODUCT_WEB_SITE "http://www.blockattack.net" !define PRODUCT_DIR_REGKEY "Software\Microsoft\Windows\CurrentVersion\App Paths\blockattack.exe" !define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}" !define PRODUCT_UNINST_ROOT_KEY "HKLM" !define PRODUCT_STARTMENU_REGVAL "NSIS:StartMenuDir" ; MUI 1.67 compatible ------ !include "MUI.nsh" ; MUI Settings !define MUI_ABORTWARNING !define MUI_ICON "../source/misc/icons/blockattack.ico" !define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\modern-uninstall.ico" ; Welcome page !insertmacro MUI_PAGE_WELCOME ; License page ;!insertmacro MUI_PAGE_LICENSE "..\Game\COPYING.TXT" ; Components page !insertmacro MUI_PAGE_COMPONENTS ; Directory page !insertmacro MUI_PAGE_DIRECTORY ; Start menu page var ICONS_GROUP !define MUI_STARTMENUPAGE_NODISABLE !define MUI_STARTMENUPAGE_DEFAULTFOLDER "Block Attack - Rise Of the Blocks" !define MUI_STARTMENUPAGE_REGISTRY_ROOT "${PRODUCT_UNINST_ROOT_KEY}" !define MUI_STARTMENUPAGE_REGISTRY_KEY "${PRODUCT_UNINST_KEY}" !define MUI_STARTMENUPAGE_REGISTRY_VALUENAME "${PRODUCT_STARTMENU_REGVAL}" !insertmacro MUI_PAGE_STARTMENU Application $ICONS_GROUP ; Instfiles page !insertmacro MUI_PAGE_INSTFILES ; Finish page !define MUI_FINISHPAGE_RUN "$INSTDIR\blockattack.exe" !insertmacro MUI_PAGE_FINISH ; Uninstaller pages !insertmacro MUI_UNPAGE_INSTFILES ; Language files !insertmacro MUI_LANGUAGE "English" ; MUI end ------ Name "${PRODUCT_NAME} ${PRODUCT_VERSION}" OutFile "Setup.exe" InstallDir "$PROGRAMFILES\Block Attack - Rise Of the Blocks" InstallDirRegKey HKLM "${PRODUCT_DIR_REGKEY}" "" ShowInstDetails show ShowUnInstDetails show Section "Game Files" SEC01 SetOutPath "$INSTDIR" SetOverwrite try File "..\Game\blockattack.exe" File "..\Game\blockattack.data" SetOutPath "$INSTDIR" File "..\Game\COPYING.TXT" SetOutPath "$INSTDIR\locale\da\LC_MESSAGES" File "../source/misc/translation/locale/da/LC_MESSAGES/blockattack_roftb.mo" SetOutPath "$INSTDIR" ; Shortcuts !insertmacro MUI_STARTMENU_WRITE_BEGIN Application CreateDirectory "$SMPROGRAMS\$ICONS_GROUP" CreateShortCut "$SMPROGRAMS\$ICONS_GROUP\Block Attack - Rise Of the Blocks.lnk" "$INSTDIR\blockattack.exe" CreateShortCut "$DESKTOP\Block Attack - Rise Of the Blocks.lnk" "$INSTDIR\blockattack.exe" !insertmacro MUI_STARTMENU_WRITE_END SectionEnd Section -AdditionalIcons SetOutPath $INSTDIR !insertmacro MUI_STARTMENU_WRITE_BEGIN Application WriteIniStr "$INSTDIR\${PRODUCT_NAME}.url" "InternetShortcut" "URL" "${PRODUCT_WEB_SITE}" CreateShortCut "$SMPROGRAMS\$ICONS_GROUP\Website.lnk" "$INSTDIR\${PRODUCT_NAME}.url" CreateShortCut "$SMPROGRAMS\$ICONS_GROUP\Uninstall.lnk" "$INSTDIR\uninst.exe" !insertmacro MUI_STARTMENU_WRITE_END SectionEnd Section -Post WriteUninstaller "$INSTDIR\uninst.exe" WriteRegStr HKLM "${PRODUCT_DIR_REGKEY}" "" "$INSTDIR\blockattack.exe" WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)" WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$INSTDIR\uninst.exe" WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayIcon" "$INSTDIR\blockattack.exe" WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}" WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "URLInfoAbout" "${PRODUCT_WEB_SITE}" WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "Publisher" "${PRODUCT_PUBLISHER}" SectionEnd ; Section descriptions !insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN !insertmacro MUI_DESCRIPTION_TEXT ${SEC01} "The Game files, must be installed!" !insertmacro MUI_FUNCTION_DESCRIPTION_END Function un.onUninstSuccess HideWindow MessageBox MB_ICONINFORMATION|MB_OK "$(^Name) was successfully removed from your computer." FunctionEnd Function un.onInit MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 "Are you sure you want to completely remove $(^Name) and all of its components?" IDYES +2 Abort FunctionEnd Section Uninstall !insertmacro MUI_STARTMENU_GETFOLDER "Application" $ICONS_GROUP Delete "$INSTDIR\blockattack.data" Delete "$INSTDIR\${PRODUCT_NAME}.url" Delete "$INSTDIR\uninst.exe" Delete "$INSTDIR\docs\block_attack_manual.pdf" Delete "$INSTDIR\COPYING.TXT" Delete "$INSTDIR\gfx\counter\1.png" Delete "$INSTDIR\gfx\counter\2.png" Delete "$INSTDIR\gfx\counter\3.png" Delete "$INSTDIR\gfx\smileys\0.png" Delete "$INSTDIR\gfx\smileys\1.png" Delete "$INSTDIR\gfx\smileys\2.png" Delete "$INSTDIR\gfx\smileys\3.png" Delete "$INSTDIR\gfx\animations\cursor\2.png" Delete "$INSTDIR\gfx\animations\cursor\1.png" Delete "$INSTDIR\gfx\animations\bomb\bomb_1.png" Delete "$INSTDIR\gfx\animations\bomb\bomb_2.png" Delete "$INSTDIR\gfx\animations\explosion\0.png" Delete "$INSTDIR\gfx\animations\explosion\1.png" Delete "$INSTDIR\gfx\animations\explosion\2.png" Delete "$INSTDIR\gfx\animations\explosion\3.png" Delete "$INSTDIR\gfx\animations\ready\ready_1.png" Delete "$INSTDIR\gfx\animations\ready\ready_2.png" Delete "$INSTDIR\gfx\garbage\garbageMR.png" Delete "$INSTDIR\gfx\garbage\garbageML.png" Delete "$INSTDIR\gfx\garbage\garbageTL.png" Delete "$INSTDIR\gfx\garbage\garbageT.png" Delete "$INSTDIR\gfx\garbage\garbageR.png" Delete "$INSTDIR\gfx\garbage\garbageM.png" Delete "$INSTDIR\gfx\garbage\garbageL.png" Delete "$INSTDIR\gfx\garbage\garbageFill.png" Delete "$INSTDIR\gfx\garbage\garbageBR.png" Delete "$INSTDIR\gfx\garbage\garbageBL.png" Delete "$INSTDIR\gfx\garbage\garbageB.png" Delete "$INSTDIR\gfx\garbage\garbageTR.png" Delete "$INSTDIR\gfx\garbage\garbageGMR.png" Delete "$INSTDIR\gfx\garbage\garbageGML.png" Delete "$INSTDIR\gfx\garbage\garbageGM.png" Delete "$INSTDIR\gfx\balls\ballYellow.png" Delete "$INSTDIR\gfx\balls\ballTurkish.png" Delete "$INSTDIR\gfx\balls\ballPurple.png" Delete "$INSTDIR\gfx\balls\ballGreen.png" Delete "$INSTDIR\gfx\balls\ballGray.png" Delete "$INSTDIR\gfx\balls\ballRed.png" Delete "$INSTDIR\gfx\balls\ballBlue.png" Delete "$INSTDIR\gfx\bTheme.png" Delete "$INSTDIR\gfx\bRetry.png" Delete "$INSTDIR\gfx\bNext.png" Delete "$INSTDIR\gfx\bSkip.png" Delete "$INSTDIR\gfx\chainFrame.png" Delete "$INSTDIR\gfx\fileDialogbox.png" Delete "$INSTDIR\gfx\iGameOver.png" Delete "$INSTDIR\gfx\background.png" Delete "$INSTDIR\gfx\blackBackGround.png" Delete "$INSTDIR\gfx\bricks\green.png" Delete "$INSTDIR\gfx\bricks\blue.png" Delete "$INSTDIR\gfx\bricks\yellow.png" Delete "$INSTDIR\gfx\transCover.png" Delete "$INSTDIR\gfx\bricks\turkish.png" Delete "$INSTDIR\gfx\bricks\red.png" Delete "$INSTDIR\gfx\bricks\purple.png" Delete "$INSTDIR\gfx\bricks\grey.png" Delete "$INSTDIR\gfx\blockAttack.ico" Delete "$INSTDIR\gfx\background.jpg" Delete "$INSTDIR\gfx\14P_Arial_Angle_Red.png" Delete "$INSTDIR\gfx\24P_Arial_Blue.png" Delete "$INSTDIR\gfx\bVsGame.png" Delete "$INSTDIR\gfx\bVsGameConfig.png" Delete "$INSTDIR\gfx\iLoser.png" Delete "$INSTDIR\gfx\bTwoPlayers.png" Delete "$INSTDIR\gfx\bTimeTrial.png" Delete "$INSTDIR\gfx\bStageClear.png" Delete "$INSTDIR\gfx\bPuzzle.png" Delete "$INSTDIR\gfx\boardBackBack.png" Delete "$INSTDIR\gfx\bOnePlayer.png" Delete "$INSTDIR\gfx\dialogbox.png" Delete "$INSTDIR\gfx\iLevelCheck.png" Delete "$INSTDIR\gfx\iLevelCheckBox.png" Delete "$INSTDIR\gfx\bOn.png" Delete "$INSTDIR\gfx\bNewGame.png" Delete "$INSTDIR\gfx\bNetwork.png" Delete "$INSTDIR\gfx\iWinner.png" Delete "$INSTDIR\gfx\iStageClearLimit.png" Delete "$INSTDIR\gfx\bInternet.png" Delete "$INSTDIR\gfx\options.png" Delete "$INSTDIR\gfx\BackBoard.png" Delete "$INSTDIR\gfx\bSelectPuzzle.png" Delete "$INSTDIR\gfx\bHighScore.png" Delete "$INSTDIR\gfx\bForward.png" Delete "$INSTDIR\gfx\bReplays.png" Delete "$INSTDIR\gfx\bSave.png" Delete "$INSTDIR\gfx\bLoad.png" Delete "$INSTDIR\gfx\bNetwork.png" Delete "$INSTDIR\gfx\bHost.png" Delete "$INSTDIR\gfx\bConnect.png" Delete "$INSTDIR\gfx\bExit.png" Delete "$INSTDIR\gfx\bEndless.png" Delete "$INSTDIR\gfx\bConnect.png" Delete "$INSTDIR\gfx\bConfigure.png" Delete "$INSTDIR\gfx\bBack.png" Delete "$INSTDIR\gfx\icon.png" Delete "$INSTDIR\gfx\bChange.png" Delete "$INSTDIR\gfx\bHost.png" Delete "$INSTDIR\gfx\iCheckBoxArea.png" Delete "$INSTDIR\gfx\blackLine.png" Delete "$INSTDIR\gfx\b1024.png" Delete "$INSTDIR\gfx\bOptions.png" Delete "$INSTDIR\gfx\changeButtonsBack.png" Delete "$INSTDIR\gfx\crossover.png" Delete "$INSTDIR\gfx\iDraw.png" Delete "$INSTDIR\gfx\bOff.png" Delete "$INSTDIR\gfx\mouse.png" Delete "$INSTDIR\music\bgMusic.ogg" Delete "$INSTDIR\music\highbeat.ogg" Delete "$INSTDIR\res\puzzle.levels" Delete "$INSTDIR\res\copy" Delete "$INSTDIR\res\testPuzzles" Delete "$INSTDIR\puzzles\puzzle.levels" Delete "$INSTDIR\puzzles\copy" Delete "$INSTDIR\puzzles\testPuzzles" Delete "$INSTDIR\sound\counter.ogg" Delete "$INSTDIR\sound\counterFinal.ogg" Delete "$INSTDIR\sound\typing.ogg" Delete "$INSTDIR\sound\cameraclick.ogg" Delete "$INSTDIR\sound\pop.ogg" Delete "$INSTDIR\zlib.dll" Delete "$INSTDIR\zlib1.dll" Delete "$INSTDIR\jpeg.dll" Delete "$INSTDIR\SDL.dll" Delete "$INSTDIR\SDL_mixer.dll" Delete "$INSTDIR\SDL_image.dll" Delete "$INSTDIR\libpng1.dll" Delete "$INSTDIR\block_attack.exe" Delete "$INSTDIR\blockattack.exe" Delete "$INSTDIR\gmon.out" Delete "$INSTDIR\stderr.txt" Delete "$INSTDIR\stdout.txt" Delete "$SMPROGRAMS\$ICONS_GROUP\Uninstall.lnk" Delete "$SMPROGRAMS\$ICONS_GROUP\Website.lnk" Delete "$DESKTOP\Block Attack - Rise Of the Blocks.lnk" Delete "$SMPROGRAMS\$ICONS_GROUP\Block Attack - Rise Of the Blocks.lnk" Delete "$SMPROGRAMS\$ICONS_GROUP\Manual.lnk" RMDir "$SMPROGRAMS\$ICONS_GROUP" RMDir "$INSTDIR\sound" RMDir "$INSTDIR\res" RMDir "$INSTDIR\puzzles" RMDir "$INSTDIR\music" RMDir "$INSTDIR\gfx\garbage" RMDir "$INSTDIR\gfx\counter" RMDir "$INSTDIR\gfx\smileys" RMDir "$INSTDIR\gfx\bricks" RMDir "$INSTDIR\gfx\balls" RMDir "$INSTDIR\gfx\animations\cursor" RMDir "$INSTDIR\gfx\animations\bomb" RMDir "$INSTDIR\gfx\animations\explosion" RMDir "$INSTDIR\gfx\animations\ready" RMDir "$INSTDIR\gfx\animations" RMDir "$INSTDIR\gfx" RMDir "$INSTDIR\docs" RMDir /r "$INSTDIR\locale" RMDir "$INSTDIR" DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" DeleteRegKey HKLM "${PRODUCT_DIR_REGKEY}" SetAutoClose true SectionEnd

`iܶ#ysf9!KΓ %]]~Pqgx D~O0-ڴ=Q'W'uR8NیCgqUJT#1ղt~);Jٚ=O\ckW0x<>OzEC_'yMNİlU Ն0;F %}{e_1_v`> hqd ۱SddVӛ#%3{qxb3Dmyߥo\HtwǮکttoި|}-?Eζ7nz.a-X`ps0=텝#g=~9ϡ}r}5By:忚f!f.ٗv;;a0La Z 9B!Ep=d H{(H^xӇHoMx3IRlkAuw}Z!Esˡ{>pw9=}W?d.D7-FAUJ}EIDvN%.ŞWǦ<[W.N" I"@~P ?_I 镊_Ŝ(ZXQ6]/{*tdP1cY|v `&.s*,dHjW Ő1^vޥkw-ne]so6J ,׊22@w$݉/d= lی):%hză]gz_ڱ۬=:LˈS}:IyMمnB3-c7H7'X+7J=eV*Vh nnw:?8OQYfwaOgndzjlsq7 <ʫ]hv "K":ll,T("U2b#2T!)m)*(rShMQ茓+vYpT'Z(7`%'an2:8\Oe!2\ 49 iŮjh9i`LT~ӳzpYB,~[jbҌ([rj-(Cp7UKTUe콷 \b8y~tE'CPQM%%*ʪ(gD+I3jN49ܸ`\#yQ>=]JucKKruP-P4zƆVrRq`,>'Ȋ\#Me~&*xi/Ld&%gIa 7r2"?; 0iqZlg⬉k<7^wP. gzB PN%Q+)'{_x7bxffԘ)%(]oo:Il1: 9b'VzM^R'?OZv/7C\-WXJ\lc$+96C<>?,$(1E@1+:?E>:,=:vFΩ* = (L'p ,XۗD!:\Rx+!M,3C9"̘Wj2V`@>q: 3GYKqZ yq]8Y>\CŢtӦ*z ," ffflBeENH9B}+w>3Q711mDCG5btdQ؋HTbdj+Rt1DFFYgF:␦"#32Y(n d2q(FBf#)R.0JIr$m-X(eVnpHx X@l92$pY]%!j lG() *H͖0BHVUdWpM(_$JWIOdwuqa(:[HT ˛r+!2'Z^͌XBUE^95N΄ʑq9ՉDG`d_in< Gqh(T09zQjJ. h3l3\ӹoN~T\~eb0st`0hn< HL:$ܐ (&*gS~BҊC6 ym]~nnMWwk5s\l1%.I*c@*B1RSMr^lOkwXonoƵz:-Y:$Ƥ hK0$ q)DIJ))[@v WOm9)Ϊf&e7I e߀ of=4S `w3z[k6)np@*VLN#8l("t@M**s Zf )2\ccDϗ7vC ziDtj%/+R]b"nO\Gܷ 1T=uL'_UDž"<Ϩ:Nn`Z<3Un1~X3noPn`yeTO[-_5nɍHE5M9We9g)+m؎=iB\ agq13yQS3V#:w&)kB9wߚ>{l .|il됣{#zfgE^.۝hy}ogC+avkodLfڬ0uW.>M]c֖_)G?n蝵ӭ6nj{y][scR^9ϼyj眃{5qh 4;Gcz܃mflwSbf7pFq@ZN^9:3֘ˍhB~,^ -e|1rAӮg^b+$3RU\#&Ujz6|qymWn:^ej81LПDF{Fw #DT]wߵ?q=WJ!ٝ4U=g3Еexֿʋ\*nu6u= c۝7i}ݜryuh7sʹk2B^C%fܼ8\SS kOP릥]WqEtQ:u]cT26lk1Н5|OggS#I6 ˳'EA4396@DF.:77<@:@FB5"(7;Bal 0]ct6bM[(#ϑ>]/&8fJ٫RB?) k<z/:L+˾.aNXjޔd]mg:#:3iCcNyK5*@vAPJMe^Wb`bX\^ JȂjd1+H(-(G9 ]P^nDI6nI g$Nu G.d6\@p\ $l gS& ,>o=fͤ00[k9M z9c  +Ih$)yͶǍ/&2Sf*nWӳ&O}sB>tTx ŸʰJT˻+.\*(!\rA̠*%BF#[V3)")SfD!3v%B*VTQ*dqE9X!Hx7 # zJ-]6M- 3!` F2 RC23!C%@?8 ܜKP9p`^ƭ1XDԌ553c0u`_< IM|^PVOg=?כă7SLɿ}+.{w?6JաgWylF]? .b[Ɵo*q.b( br܊Ri d.o)(YHn"b0E)L\ h)en 2%Ui{Kq$T7!* xtLBݬ0bֱlҁ*JnAql$!fwD u7U%GZML, gf6oV؆$ v>JdD#MX%%ubH5fY,! #n[u qMoXEsTڨbB E-FݓQR%u"HY͸T+ݜMgn\@j%"5& p}N; (ERW̢㾥6fi2So$ BjԇhI7N%"85ݺbYL{/u{bK=}o`L-5"nhl;L伈X Ӗi f->h|3l ^:'VsrЦg籎" RZ,5kI4`MRj}Mg q7MI*XR֙}q5"N䳟;MuNb`&ce H%GF[Ȏby2jtlWFUQ(L@F6@ #"+rgd;Qe)2!dȨDg)d`+¶tE$v tȸn 1 & r +Wmt0Y˳Eutˡ:!"ȫAu@{g{$^ IfXz`K&aZaM%F+"%bVr ,*3c-KRnM5)2LAay5 ׊@BdC<~.%p( ]TR}ܼۤ|)hA]DT$M$ 2>׻SfTQ"2Ȼd̦[;\+4DT.:|jtزֲܴowڨ1NJҪ(Lm%D!bwʗaX0GcK +HY8QPD416M11R (-TsJp+"HRf")%%Y- SHn@(ɧ@ND,xX9&eA>Rx%Ӊ^%:pXAW*})Ƭ'elEk{z7y8v7e>[14)AvI# YP&pXUT9QD7ogMkN'R33j)_kVͮkŪgjIq!(?L~۫^$S@vɆ'=;ʱDɌŤr1դJ墤() R@Q,2lPLERB% Fʀ,.r0*L΍(ʛ) r L JgXD#xTx6&[ 4963\@0mm `x@Vf$crx*rqͼΛ7DFĚ$l->-H ;hf?(5rU"e1SuBvgoUۡGpu zT3S2} CЭXqYYYQHOZĒxp7c<>u7L?.(<?;WP[4HjV"ɅzՏ?o{Yt=*;Z=OggSȜ#I7[3'?A@8'""-B>')89;7:86?@2>6:BB<<) &RPPbf Q,g'D .o앾okw1m$b$i"`mϾ( 0nX2JlÇ\ {ٞqZ 5 B޲z/D7&N #EI<("Bƺ? 4R^R3ieWL\?{^۫>Uhu.i24|Tq$L"h&CvT2^"WoHz}뒴;0P4;6 TTP{XYH1 Ŏ4iTȀQ)GN!RL 2q)ΘPjfFpQT!rDFSͬTܬCFulllAq0P,ngdEFUfFOEZ]ёky (XU+ДbFZQKge˹P]:P0,`i,2xGGze͗`&@DHy ֧ߡD 33SjDLY]j9{pCJ=SR)E-22K!fR EX(RFYL2 N "((eQ$VMJ77THd#.0@54\!d|h l_V u%\``4wd$6wm2O4|K=qJYLs:L~bx!.!A%~BEJ:yz\=hRCqYrA[Ѥբ2*9&B@dWTEA@$Sa:r!C2I@BJAG*e !%%)|dR1X"@-eȔN22{YrdE\P S0)B$#]Xq.oIr,a݀>܀/@4hLdU$rbX0P6ͭ5D273+'9R1$޹j9[E[: AR̡w?. 0n(fGsފ3wٵ =wetA }@ `g]o&Re6&,Eo<^:$ynJdc2P8r:&]l\t,d Խr@d!MFBIo.X kӣ\д0-p&gm7+m!b1 =mt;w gJB*>GđW(ryɔR+P,3K%Om6UNϲ~?U eIդ[\h'+S`ͩ񆖰) k ҈[t"/{vG+K-$Z h]P~P]Œ4T Ci ̋9͢0;V# E-oT!ݎ"I Tqzhp}WR5Ѿ g+&eYx7wKڤmyk[,VOU5H* 6ˢ"aK=T\|[SﵽI5-ZUe+7Z"* ,Z(s{zD@7S,oU>;;)?Β5xqs\ǞWEI/5m) =nEU@w䔊R']i0SjrpnYzK2I}b{Lt|oZttv^kN^/u]ɗ:T:+&;zWn^sc)^l~%îbri *Ne?R}#w͌uih Fb5KpVn|nSA[6ؑWD O$ Hj_ZCC!?<ͽqt5U|Gkڍ7 (,z^9iQŜp2+}{޸h5O$2#޼SW6]cQ9==fuviwm_r/}:guyZЕJVU)u@\~k4r|maO"zw;DWS멯zzhWYgƸge- I?9ņ۹5fz1hu;Ѓg<@DeЊwH&Q;WP+䃢m24^hLG94B1%m>0&`&UH8D)l>KiO'BU}NIX?oDQ(R(b( .m{v{jʚ&AqwIssԮhl,A==DdN^bh RcD>)ʫSK53EФ]OFQ{DDī^N+uOggS#I8,~*7ABHJ,+;8886B@C@299:<=;BJ5&<:;@ttT27q. fI_("(EK^/M t"c5n$v )FL?bc5 "Tomnw3K'm3zrM'!mlb ,?3T))&-}*o??_Oλ7Jnji:&5(dJ)RtΕZ5OvBNe %ߩJFP({oVw{ゥ* Ta9.T_1uN=Cl{ F$YMԞa8,]/Ȗylﯹ7Ծښ-c za,UDk$"B48!҇ ɛRYh7=^;T$ox8*kHv 7Ѩa1ڷbuYڱQ?-.EmJf,gDjH&n5CY<iNpa^ň!l3  {3 x˸ -g-VUD"xH)QUZYXfmSq$O11ؘNF~D^Ur8b8PZbD!БPe3Q-B(cZdĴbCr%s(  2" UtrL PhdIϧ 1MZr/AZ(a+2lUgT#tQM!#mCghfZkM,&-Z5X 5@{̙jۻfcPiȣ;g Iڶ}mC-03O=<޾>O̞J\rX>Kgkk޳v\He|\%(9ܻfMnzUt4zUYh(^f'=Naa0ܛQl@5Ճs p^}VDž áj d&]$9e*btBa] ?{cRkJ%Br(rN]{[m{ZaV6\gZ#ʨY^(:4y _NH*LPLV 9B9g;y: l2Kbh;E˩ W^{uWWyS. fX[֟.YYg'yox>O5b-RVZG(&RT,1YNX٨FBFF:j@5bL2Ԋ(Q: i3*$Cr-\S(Gg= 6dN"H rĥv.4!mBthT%SD@*>!dFG "S-pon ޑ6Z{`6^]  Ҧ:^D5Z"遐9QᢤRiTt9wfr)0Ue^p^92R(()2<V}x6ͼyhrk4T %,YB5T e-^T`WrfL馫bڦuXWITC˾uV[PZ_tڽa;1fdW\f͍1lHL'D5f0YO>^+ߺvҶ(RgB5-o2쭒/mOd-X @}#?oHBw7m0ٶЩ Eq)Y˔=M1 U :!6?„X}OkDLs +6w[y{Jssesgڔ@L\2٢ԇKԃt7 1㌫):UԮҲh<-?m<ךZf{Cg8`|t%46 4^EZu]3ceyk߯@r민й=˩{ҍw>my#;=]]yՈrD E%ϢV`d@]Q '*E1H0:dERqE2s#JB&P'<2jUDdFWqX 4%E8ltR"ph :D}"BphyZBl~9=‘Ǹ~D7+>w,C:^m0gP![}(5RJoe{J:z߂BхYg p!A .(JN_ &d2h)Ȉrш@,MQ`c 2R< "W.e!]N$wp*g\642Hr)% j:+0{k pf&BڵVyYX 8$nx6J\"3ύk"*}m۶ $(3SJq]r-3jZelrHnyf?sIm9/5QU,e]S()Ij#AR1Q aBd*LGa/cs/T Y+f$&!s )r66 )IJI -s4D+6x|)H%!_AN\ylbFHr3PbP,T#HRT'RÈ)$6Ph2w i,F"3[J"RqCNdban(\+.9)|OpcnD\u WrLH8< _(ʂY&?DKRdC Wx)qn>4a*ܵjzљ!C\c]^X_3/P89/ -(%`{?ۗ>k"R9Ph NFmh{Ml]:BQn*CuE ڮ/@+fbX Ub ww{߼駭Y-s^[67lB#Sj^K&UM g~iWaړ0TBd1"ż,V_mә7ﷲۑAE 7N`}p/x hjF)e#/˲WTS\̴R7Gȿ6NOv{OD7,QtURJ *1J,754!<\)(J1 $,2M X$QYސFDfCM !nBtqDFtq II":8` Rt]p1f)_ W" ,;/@X혹syf4C Zs&d,o! zYCDcZ@8E<UO=^paF"+)3;B1+knuͷZj9]Swvm1 (p A%bD mȮ(MAu)jeqefB 0e|JDA@H b\5eDTzALXDV(Q 2Xa asMѵCAc'%yxТ˩%ƒ זA'ڟ޾vvZZ_!XK4TE~HfDO%2)[^$[|Vٙ1M֙^7=U5flOHvխۣ΋/M@* OdI5- Wb"EK6qő1@#QT qY^G6Ix"3!s [.#!a x7,^<Ѧ-q\Dw=xٽ:J@@q#HM F^`gR]A08דmh#? q1aiګ+SdTF> A،)e^_|~Wgz9TNF;zMx:ƞoBOY@nuB*4a; V!6.rU YRS"%2,FFH)!!#CO>#HxRfFio]Tqʡ@dx'&1dR nHK(DZnQvi 9@Cۗb`7{'gyl+}w%p<0{NaQFYBuT![?x8WQ[a甝rۯRP(T>;mZV1|ָEqE'uXhB[QlE5 rP"26mRzbD-aSlp>Cpo2N޻hP)EM՘ @|ٳ>Md}7%˴LAMa'Sәl7H4'/5DCLF2VF )h-U-kmGDS x'bG,R$.>qVեbu\(DN!r#2/3s2vDž,o Ōp)(H&bRC(Ja6<kdOggS@_#I:3)2 ,:7?G8777:<;?AG5,7A@>?C*LCzMQ;^O+UD,v\`]aN+@|BCܫ+Kb$Vp+R0HPxL2 WڇQ;r`B~s({>jbWBV#He*y{ۅ-Ue[T Bjd(dNSP'ʔ2:NQђ"E (S@tj6Dd1? Hd(  cلAxx`HTHtST.H1fD75d W(ia=Z=}w.ҾÌNSӁ]1^yp߅GD> /҉d(J%Ǽ0$,{_agWɃ ګ T3#K#3.+ePT@y4%vMeveGլj1(MR$ٕP(50DFRQDp%K2Cd% լd&HX@f!& M8QJ],/wiq/Eb} 21X00K, 3[p쫭L Ō?(RHmb:wz-@dSGRu(efV}?/u~lmݷېw1z~8x#i'f+ōj\DKa޽ ,FUVT+HQ=@E2W! PXE d2 l"J8b֨&+_^) @fg"6..PֽhT1>ZL&kԒRxfScB;(ffjLe Ĭ`Zܔ<үBmbɭZRIfIMbPqHvę,f IDb1,*@ ]B8Q(n5Sn-̬ns>]IFN )Hl{/6$LS€L. gZ(3-u8;P}=%)#cr sXy`qq FEмLmڡ-i36@IC"fj$P(^ L˦h]x3o3S_Cv>tغ{f|5MeUέTW\?{s¤si2VŠ,:%m#D\F5Y(Fuu丌,EJb@5)bT]MI#/evC1) 2܄@` Heȁ@}"A@ݐU3c8MnΦH+0 Pj4[h=QIwvÚ͝I=/EzϜYC0 DEjPMɄ0 j Mbj0K̑P8&"~3/e})3j;%T6&4A&I9.d(*PT+TBd\JjaY@f5\0U!c"ʨ+|I*h>RfT Eٙ[ʸ{ϯӁg/wHA/۳vD># \τ(<b728F(!Pdl teA KajL/ê\VP*3BiBJ;WZLP~mY*`(U.dȁp;{;O IRjjx؍(D!"QUu[NΩid4WӁoL`Jt6)zbl\TO)wފ+fͮZ (UsM!-N[؇+ N|*OeH C*=d-$ Ծ|ϻ{6^[jgFUVzi8bzl!UQnmў"PiGc{s)e)[([IVIfSԆ+=A6ϳKkXyd9TxEe(r<kU!NS5õ+w$ 7&*vİ E Df ^&PR(#WQW#B)!ID7X9"|%oeg ,@cqH8 [TJX%g,X0af^[fc5" ?x ^{씚0MndP:1Sخy/23SW4Qi )A%_3/~%U "hLYlƔ"bWe X,YA($B* ѧRȠd5 1C5,UEd$,rBXCBZC h(Ɔ.X[褚X+Wp(i|GlɀX0,鍄dX86 + C( QUX,-p . l 0 tMx[FֆD3snP0Y+AZc'Q*twGcy_(JcffFRoi?mw55Re/:5ֲJmӐ=F6-W֙n\WdQRXTn(U3X3HK9Sgb1ldADEJ1$6((H%X#pcDA Б E"C(`\Q {9)A92RK,ڡ ]LF)DJ@gu(c: m k*#A+|Z{TQo vg7tCyܔf5ۀoDD.Af^]ecPWL{19zUH(T"Cn\Qr/WbKqwt%2*PmuR*L\VrcYmf<3rY @3Y?ӟ1-$6KM4odtlM[W>WW6y6<) rQbT %haGoM>m^zzVM l"9|]#_S ӑ5R[N9"׊a][pTFBV2R#8@ =yġ‘F.)\enzvvގ͊j{ zڴj?SZ"P(W'HƔRU5/o5ݴU|N&Sgnҹiݝ;k{XmȠ驩u2 R^d,d dJYHQ(++rHAr KGun,`8ܙ§r ".R,ʤ:uLlk8Ʈ'_IdfFNDPp:gS7drY.)ZbU$A1KK@C7Wc) b|zwt?nP!/Kn OggS#I; 6.!C; 37758328445,1/5448.BD67CFFL8kFvP:!H$>.IfJR&SËXy~߂j;}SM8?ݱ(RTډ)ܾȈl Q* hA(ȈD,IDFrd!s(ED!EDx`΋BP[=lS̋!͹%\\8Ds[(&AI)Z\Aaٓk)n ͔S H&nH|y9_΃["K\XFDd?lq(w! XQQDTȆ6bW!2#P2jrL)g:I  L2BWs*!EA,tSA$nVch&cU]ftu# Ynp+ xw7{sȽQ` l7` ^ؠ 7-xpA{c-'9y,dDJD5.\fj1IA9m{*/Ny4䔠!]p. jEA%b:Dy"P,ŨNdHB1"b38D "B! 0HHbD \ J9MbvWB&# )$ 3+rt1:/:ҖBF. Rp'tDQh8W ln j@1Ck N.Ճ3]`\L*sg `ݳ)j,;(-)id DLTUWshYGmxh*# hC(-[BN BDT$ eɐd1&QH2(Y)"E Ag Y, Ȣ'#* 0B@@&(F 9+S#Y8DFf$|95U&dfJ@ %(㉜U6lFUThhx #x c>0ښS؎l] @I8* W Uis nPHޫQɔoW #o* Iy{4rMrNzzuWmj,Wfԙ!o"CNT+\!NqmAUD]#If2m)S!&k%H!!@S*FO&IL)Ev]HU&AEA@RrXS8"C*Y8'fiUnNGPMgT+""2%S ! 9\3y: 67-ݸHi+ cf1Fĺ 0n P d%\oBb!hn4bXZMbȟn$+guc(a+u=~¶^mbʬ蝣l5@ .RZi䕙2,Wi}']_eA*w1sb_EP@K'њk]52N!-:'≓]<:ƙU^/ZSkI|bwN%,C CRZT@QbN2 4<iG etdQ͝^(J&"dÜ㗌[km9g?jV h~p*!wEحKVVY`R(ʐal֯cVJ'SS2EO 4R,!x8|Nw<;(^lN%̌<H0)fHY`1,齧3Zw",YCE @aL~# N!f-H ,MkpPFv(^>+#-uշGo\R'NCiONe.ُK⾂J:6; nݜCBN%"TZzv03h)<\ihjZ2z~ V',!Heh!b0`$J1XdS,c׿--ͷi_4։^ԣXD)CUU@ٛ˦=OE2x,,;͔<׃ʛM`U(sNIBN9of_ JMdNu*j@;Uiֺv֨?'Ob?^ &3&3x3XҍdP, k6ވKӞ`̑mv_훘'.`FDT8b.n Vz8^,N%,CSп @8]ۻ C+Y!U*U lhYi$=6Eff{S7ew6L6u\j=\3*La3҇l#Z7j1!r-JJ֭m_6=\ED qsPGHIP,4RMp!2+Tv3[P6V>ꄣK`tu0'PCxI|j.ʇڊPqNgtmΖiKztvd!41'Y ;>|S d1XQ YH0%&O5nMYK)^YW(ҭiN_ٝ'*@:ϷNo-uj{ۮjm'ɚ.+8qc:=s'[8S#3,=gӹ f#!&g WH%HBJY@ʈjDDQ&"CB!R4 )M%C!yl\Rjה22 RdHsJ40T CO7_ק=&1\bΈ@fnL~#5A(tlY!#y VtCLϞl5 ڀ wTΡی0`OggS#I<ڵ)3:977:C=9NO%c2qVTs4-p |꼫}ʯ7㵺;iY%55O~~WW>;qS)ձnd56{ѾS_Vv6 ԝþ߻5u.=] f }Bxk\9^YKzȩj=mGǿE׾O|<5U\ㅏ:廒vB)PȬWs=mlycl∌{Xdb"IrlC4,X,\b&ޭe۽ӻ&4(B¥*چ:"BP ,hM{JqW?sETo?7}googFMlE3}iA޲ŢWUedriY{ JEJHʞ%3SS%I䭕9 NWQQQ{R2cxh~ͬ]SKx"y; [|^c6λ9'C1rTBD3\!tV Q* yqLA i _r2Ŕ*,n܊fH&Xv)23.7 NL2@%$Wcm\]3#HT$ +kZ`=a&fk4iwƦqsu<뛜)aV/> >a+v$>Nu"QցW)(e̪2_޿#[bX^q'MP&e6"2*Efbz3KJNdIDWQ]Y쬐p"[@wJJFqEK D&1ɃL+K&*`X+P #H#HG V!?/𘾳00ƶ`Ok-ЊaGvc9{g,Q#W=I?(Ut4tk/EfԌ23佗+pKpd|qgw^+GDgʷz} a !;IDu@GgLd1jfndd!H 5Ud锶@14Dt+J]t2HqRrn"#J)'{of2,ʄ &퐌?2xXІ!+z:@B/.7אf`<2-*ac}M 2ѴelC.gmpHn<ʰ^Թ9%*h&ۍJ5{b\ ׸,-䍶ƛ셆5w J\:Ł2e.u} 0!FC+֕EWJdDf1ݤgv>L$Ld aY H_{ى(pm,46 G{eޮl. V7u<:fC'ùvu)dZ댶-aCj$" bdDT@UƆd!YIQ,`:CHrS)Ei#Y!%22"X<:z"%i2 NGՔY!0DGZC*9f||}*R}aƑ tA3\ULfKDf5x׳OggS@#I= !3%-CA+-7:I==%27BB1֬a-Ms3qf`]H\&kFV)!@a~mLe 4RR8iT0gR3.$*SLSi,4HD(K.d!#KF) *Ÿ8rXqMⲓƣATTPXv+Trf HQD޻zR$ȤVb )4 [7v!E!:Q>L&@qC$)B FS]劳oo#,5mPVjX $k]9ڗ7î0nF͔g ~l #>'Ujkgnh}H" w(3yY6[dऽqunZFڋXYMB3)00b(4˙[PB9d<6]ThH6[!uJQ3 @O(Ƭ,N8”pB! #K*A%nNPij L&$ySK? ^ܨO`niA6t'tG=l%R=bV ( WQ#ׇP%BܵF&0j PJ j1VWBE(HʷRxz:s#BӨf){"#;C̉HebbRR])c@܌BgV)I!js0!ap+GJ+K)%asX* P/20Ԩ9&2z̘ΐdb&PpW^0nɵCgs3N(ETI*IڧDmJGU(7bw>>1E$o[j) Q!1**nS B!:h!AiP2"9"@ftJSJ.rBM  B.HTpl&ґP)=(5xTd!N)HoHE֖`φ]%/3'g7YgprPNVꬍأO5mPD}k.'ma& 05eecٴCsb:%*ek,̟2TqtjG e8 ( 6Ƿw3Y}@%SJѹb)Du5-CjFF…-ɍ tdC4IFBLQAfAD2.'!&!}RD~0Ȃv؛Um%HGS0YV鋑qr)+IaAbeIMOrYj.0']CrIrͧXn_)|e0in:6;VR$JKa52U}p@'U B!R\ɜ{KW]L8}B:F!DJ &YMUQF޹{|{U]+aJ7Bhۻ@Sm4ThkތMIL]h2m'sxuӛy95|)#5'<$S" W*sQh 'IqulF9:$p 0"AQJ*!Bɐ2"(TdS>%Rqe&Y^!$@ȉp尨lVp\+,0!q+DB!'2DEH$P&{c۴E1K/2cz]NRdoK> IJ)R53jFD/C/UF4rJ1)b+m8>׫ɼRf-9FY jA(*)3uqn ZE12zEVQȌcZB)&VFV 0e$DDJ8!LE#LW-.nFF,dJdV:8°Puneӓؔ1hP`$x\^x0X?vךj˞pQS!00\L9wJeCgʈ P74re5i"#t _DrbH4Mȯ+!R$G|9 I΁ۚ㥐ɽ=f<G]]h=#|:JQD9b\Vgݻw^kݻ5Zֻwi@QrS[j ;ג2w.ow{Um].e3K=֚zdUJAҖ$εVTy)TMGuD6{5gJ?355p/eKt?=*ӵ 3dBfܧ/ݳuzr[wn=s1=^GҥK cy=/HV]j+'COt_30C&?4'GC*ME#;z_tiwﲖwLT&`f*1%1 17o}]ZݷJ66k'3|NuުȺd.u5Du:gE-k\e(4Ѷ[=QjtQVn6os^o NjepK]i<̻ /&|Sn֜WeXφ 2[t^O;f64L͛{n|u'L!f0C`6pAwT#uĈ㣝PΩRk;Pבȟy{6s>$@.Kهn >o9v$arYzֱ5]6Ue k-TwWz փ ڭ8zt=|r. P-HB!Ҋ{Ǜ"g x;Ze_bD/}`zjq"4P mLELM՘ ߿_@=K2&vW뽤+@<󩔻[}HY̌Y)dBnddQI 2#ST bʤ,剐Bnr& ,:â=nz2DgnsW-&&Q PV{+Eƺn[ 7׿j6L77>M H) +76CL(9956;6:@GI7'99BB>D.<\{^oH `x;PТ>,눛,J=BVE ޑ9Ɣ2%/޿+*m[ * !y.FqSԢՊj( }4\#oQ02i`Rۦ2+ 2 W)Bb Pp.S(Ȍ,HI b- @dd%9D""$M:NVLd)"B\Y#b 0E$ZB3؞)]0`0KXP4 `1-03!780tsMq ^ = ZA+oeHdAN *a:*xGbu(3SztDA7|1v{ᶽrT/\һ..0"Vm9j[ ud#Q )3UBDB53B1O4@!Bb-)ы\8rh"b^2m@փC$X},alطLI%f`{ fm5{3 l>l,Puj).No%!~TL23eefJe jLMţabV]{}=+kf C H:ȪlE@@r7PQ$y0e*sYz'-}E~r>8-pUDnM%%VG+=W޽r6Be*FHsDs )2Q F(FVT6 L>/1>3+DIqlT!ɬ$@PY.n\<A("t6ܸ4 Y$i4BtHn͐n '4J4TH{66:- b v0fg嗹iY. L&uhsdĦpl+"HpeK($vNRDf!hUF&[o)ZL1# Bޑban`-"3w YsUEm)maoo϶ $2Tt+XHEwS5GD@(®9 &X #P*9bT+ }ۧ~ֶ6-{{އ;°*Ncu&eg $!ISP0ScS"n\y:-e337 Na[([ ,H0EQE*ܢV9)&V, 6WR QdC2, b'd""H,N#Kッ !E( I`)[J)!,gBtBu2l$-X &+YvmܤOs9MA[P8`trpȌz (}0 @S(eBaȉ.  A}k 8-CeݘeA Ea-]bfdoՊ>3:H[! Ј520RJK)T)TADJ57Gc9&U)D" OThJF|(%xgWYEDusJ{ۑVEH '\V=3Vq˟tHb 쿫 P?cr$RR*riٺbtln~͛]3TçE6E"JJ{s&PGQo8Lm©jn~6 C azڂ$T Yq?_*}7V"2%׼o^llKux4f0  Dw==?4}." pY-lo=xۣyfKuW۰d,iyw mcϧM*T UQؙvv4=e2Mhy{V$+ bl7y 恢EC)L)JaF}ln ^z꬯^W49")E(7EKy[/B.zhe 0ߦ sK)jj遴7җ^dK28m;VOi&{hULvo @1$3{:* U[-GF )CHa"9]&z˅ʲ B@6?7dM/ܔlbL%Beً:bW2zМsPb(1slbjjCLU6RTU72' 9U% BD4Y pqBdJ(FQʍ@ $ǣA HqX܄r#@ aҩ4jZ&!rYрt~i; ifY-6fY֢5 %xz+=0sv@1r8+`q$jaǰsk,]0_{O>}BjffR^dj[۹lc>:P6T6W*&AFq5#;LR]^AfltWwM"(,rHō@4*)cbe"s I++Ged3pd(1^jLDdP7i"Y4BY<" XI28Ҭc"K@dNUAzf6Vr6QD{?v%cY7@D><1B@gM"u$",pՔ%ȞG9&w[jnJ[*8\uȨVwG8 QTKGlډݤϘ,])締ͪI"v@g 򟽁܇G$[t[ۦ6gkkeo:T"!ƛU#K>veDqvFXBq Q,PkNfmaumM<~NJiuM' x@niY$GmEYLY̩RWwwyv.|\FϹ)1| 1CAyl<0Զve-mm碐Iiɋ IFPEBY@JJE03JL*6ZXeRs5$ckw&T6vi56GC6#fDT$],*eEq T,HRvIDFF! ""92 22!SFDD@DDPF LƋw#/d|ISɌm !3G{'b,pF̑F23ErdDRr%JDN92AHt'JGyCy؄r;cݬ3Y@EMUl Ubj_E"yH 2!H9ZqTM( wĞjFbwz7UeY Xdk*m0T-u.d% ̦*CFD\*r "#xRa;ŭt+2"(D%!d(D`FRA@QE\Rm"m.Z,FȰ#$RƕV/FD(;"ot&=b^kOggSV#I?Eg)(8;4555:48?=@78BD?O79Z6>DP{ۂr-!M )M Rj(e&o߿*VClFC/[T77x cA~Ӗ豈x#0t@h.P.h%(GfR9R$i]VI%EWPdvuBFE*3GlR%* qXYób(JLajqmXL߹Y $ӂ-,fXZhp4,ڙh_<Hd:{߶B 0oW7$?iHT~Jrӧ~ܕ#z0L.dQ$5NV k.C a BΈ WbFDurwAE)H%J+EaLJdD*V@'NH1U `|hSRr@B ,7V +'"Uefn̏,o0LX5p}ü+LMI0] 2_q ,D4GG:f2noq޸OUZzyKk341טyߦd_ 9 ߝHѻ`=(w[m3+&ٰS x;8D4 Ջ@vqovWHy3J)Ss<|ڿK_'2s4tz5d<˯tߦ\.O}S~fvM|.g}IYdvdXų~mvjzcy?< ׌Ӧh{]nֳ~oIE_CSm^WνwaE/PyƓr3P?ZHx% =v] ׫ j/~mO}n^^;/7|}DŽ̊)}41/U߽rp(904P X(MP)3LJ$_Ң=Zwq^&76u2 Luv+<~ cP?kbݐa wFV.sk-֖d͊0ț(UURk [ab-^DN}]tYnY :HEqp&s" )|-}RA ZiTby Yyo|o 홋}m 5C"uAW oD5.hTLXJ*s3l\qsX9] 9O.I)wXǕb)H_[nƦRlBj )PR24꓋LN=_́S!1aA#TXL2+{]DߓA6T1+IҮW.pc@N0n{IUJcTRFv/Q.] z,a^ϢVwzc#RF{P5 "PM3`{@2j^,ZE[9ٓdR JX7:Wz$N~I-CUfHU{mҙd by8!B" Ecq(d"rA*BRQBÎM\UBL}\H8JqV..QE8I&,"Q8bddn*YV)"dv"n0F"H Lvn`ъmnYOO gv4gl}SrB{:N@k3[P٫+w[ Y (@tHԡThG+@>^tMrzYާ-n /WKТ]UuEy,$3dBDB(B5&D-P 0RbLXȌ,0b!#@1Q.mBXxiAFNT&!@$ؖ#( D2z @ٳBOggS#I@Hlw)+7756A26D'::<:=9D?D3$784?AC@6+`iu{6=-X 4Lu䁩mvݍb ^93O &;5@9/JǒQ2(T&#`C<RiV, )@=eBFPLiny6-*`^ <Зh'9 @(;RGd%#6f<(G^, :-+Y`Q Cj<`SfE.q9<_:.w^ ~լ{t)-ݪRvr @dCEYԣ1^b&n{.{N%L( O"A@Š@@@~TE*GqcFb*nhO" i@.u*16-pn=Hۃ-*]0qu`,2Ŗ 9Cz(tXbq.fVW!ޑ-459u; ^R* pnF!p8 ͏ H WO;&)Jlfꙅy=mnWIwPe@2f{ݽsn}[uy^fo6s,Gwqr bh] oSL5yƫ217z獙 FaX̚fwwẬs2'jM+]UM'v.f{ _Jg/:0* LA ZiL%O5`SFa#e~mr^t.5͔{1NaϲޏAW揌h9 FfDy eݙdb< ;@*Cfl<&(04H*RnܸdߛF(F1%)v2=O/U|APRm\jpc7 *NHy?']K-t)Wblfd B$Cf &.UD5XQqkJF,$dgHv>ҟT2f}J RJ0(--B2/, 7R0\4@N KS! '+wt!\{^rp^Ѽ&&~l==Љ }(7Ɛ*b @<.K,U߫Sro*mK'KC[x} co- /WJ(M$36b"#:7J~IGs> 9J&1B8^w<ѰL #<kK 756*g=Dz7˛Ylo2duf wl}~ F#'3ir(|zJ"f*64m JiPB"Q@9Wb!EYHR BFR^L#+:#TpԚ)WDBEWA.aSLᅐ˳!'JZڑf:"at.U՟.ٙ=4aJOQ ƚ׉ݟ3y;?Y״9Պ _1~|" 6 \R[NrˆS3 q۸sήׯkӪ *!JX(ER_1[6 ],d )W9:3Ո) ba,H"T wk )$8Ȥԇve&YAnT]▊k 1$!Ui[)&1nAB<}T2p g4<T$I.P;,`Z읽M3L 8{`|텇@9X/5Ǡɏ ތ+yY?F8uSMs֟ g)]`+*:7E`B)G)+VEupQ0\.FNw)(eVs.YqCNjdѡQړW@(*DCQl!nBcdeyE9n0[2rKbZHOJR*^y[.؈N}eDC96+" FTkR  l1=56PMOggSž#IAP'' <7;;<<9C? 7B0FY0cLB܃ `8~ #qԹ.s."Ł'o5oJIIʲUm@P~T J zg:w%rrq5B䚰d%6(Li CKK[lnddd\BG1$B 7ۋT4QQrSPT3q:x)aAfXDP3m-pu<h17 a)%2,@QE(Z@2(ELZ/٬ 0lfY쭩֟:3M:WV$EΥ |nV9UxsPJ+׽[9˧q+Hל~kit]? W.u\#P-MUPPаwaQL%'pT #ҔG,7MYr 6:3 1QF(CW cPEOsw L2% /S&]"ܥt\KKɍ!J!@G- 8\NY"UDMNp4f.52f7stϻmt%b D\]WReGK*ᒿ쪺Q`GJ{fw.f <\c.VLAx \j" YHR&4lig| l.%U*-Ss;dfrf!ZfD̺=l1gm'ܲzԔ2!$>9&o,O9 Q*})V6Q4쭍zҰͫ  RtA擨5& (H(ҾbTLմjm3ԽSڔ v ncrC-km^z6WVGFTC$gՖv\&8b*d.XIE.DfF1=KZt, Z"2\I^ >Z- "D!댠 :RKHrhIZ%  J& F(R&$$-Do0Dylfs>Ҽ-O/؂7 )9#р3Q*ƅRd.[\p@@p͌DȿWLs7ȟѝI.3R>M6[FŎaZ>E')P)'x b]\OJn\dӰ#Fk/a6SC6|VŌ\U].Q)0~nux[~[޽[Wnzmջ`!<kwEȭʛE|]٧' M *'JzU]h޼ny ky@Ef \N l8~+57pRS!Uxr9F,R+iBX—Ԯ,]\}Ξog)Ldƍԩ3Uca/Q([d(98{4Wi uqFzG[q̱JճL6u'<[-cha͵(+vs`1k]XH, ,vl``K4h0Q'Xp*2q4gUZ) @VնeS_ 4t^uŪ?=~AӃnd!s͋0V*oIJfT]R]emW+-xޕW 2J&yy;mYr RZ,d\XಞzXŘ8EvNeyMm6\ gby qiBdLrDbfz{S$ݩ[ќK9n(Ǭ@۞dFRL)00g8 \FNL)B9b z7A$RR/y&lױեli!DmB@SS?r:[M1#.W+~ lԋBŁ N{9@CVMͨ2 ,<'1㡩JW}38SB&GWB̔Ė2Ҋ\MB@%HbQ*g! Ѯ2VNA&oTHZ D }:!,\DFFV"erdȐ` %6PLAɇ$A6Q^IV&44nHp ʑ?S e -dZ5XZ֤e.Y\zς4W ޹cHEq ŁF{煀q# ;Y@WLV+j/<#0)rJD[v1h,G4TTATl6eb `w ajႽ(+g),KrO(#B (S` 2R..uEt4b̨."ct~%4]Ki;R^lEj@5Iʅ0O Xt" l1r-!``뮻̌=n S'yo**Aa oJg_=` 8- xw@BYpq$nj23ieԐFyLԯ߇zcXlF4zӚ 9wwl$U'S7]qră({ |Py3UfLe߯@%_t.:~[T2`Fvn&b *jy#2i,Ȉ#)Q),V3sBDxbDDb(A;9P d1$iWLZ L\y7x  l +pڌ4 |"=}M &A_1IBw5%M1Bݻ`HEOggS@#IBӑ4)1::5BF7969?77B@I04<8BB?>5^6ucgNzT\6jI !U35e$P$P*sQ̛S@(KarPKN+w\>gǶSG8 ?J9f<4$g>χjNuK3(E]mUPAajtfX0r!{"Eʂ ZE*yEX h .y{HÐ%&y dâRi7:܀/L4q9Ʀ`׻Lf=-۹ӻo:ۛY x;U J1T&U+-!BXfYOۂԴ! 'ʲgۡ̆_QiT.9 t`J3W۩DJi/# X2ʱ;=ȴg\֤\Pq5X@ed!DF Wa[nݎ[¼3 <ҤF!jA#(vֲ?yzjp*7S-SjY2$z{b*٨b۳65$.e@^uD.+;!SPH'BPbQ& "fcz kx.Zܵ|;?*4;5 ,+$I"Di@2Ǩ)3%1Nr;WYxEqi0qonrSF 6ԇc_mT )cM`h Q FfLJbJ2"7B*G3T,#$#{r!C<"x8TYqin lQ1XM7 0>-hw)}32\CXRgvg뼧;{ze?d8& R>[D*-1,˃C7 kh^Vk Y݋V#pGnY,!JB +hޭD=R ʠP;[J YNyn;"lbxt c~WnM.&á  DTJ0M慙2Q7vR7CiDNqC洗\l/^ J\Ǚ3@,V[pí'bU̾9!3y:oEz\̉9,*]Ji & yi* .ī٬:r䖪6,Z5|jIt +jR=Z?n6d]?Ra'3#jh譶y6^zj;-m\N_ (#G6 IgUb1ȍětU{fEX.mFOPJy🿓wբ"fiDl(YH߭ٲ56^ڳVGXA(gǓN/!JoF)LWT2lz L'׍x[Ɵ}q1qq$}%˲ ((F)#DDdf2مEH-:"d2drtEHxק r !"s.+Pa#)8gR@ \?Ȳi( J(o1Vb-˥Nl:)+ HcΌcJ  3  0JWV/1P=KT#>AUa!H2 5LY2Je/)c`u75~^[/iژSШ%/1S16"L&lEZ 8AT+/(#cRP)颈f I2B-@ 1MoRJ^N {W8B[mTˉlILB ,l/H+\"}Vp!.JwcE?3t4EݸT?O*N7sdcj~ekѢ&4qV)vgq0ѵ)nZ$Z <10sLq9F6ˤAK^ۣ]Q)1,[\Z0®(BbdJ)!BB ((" 4&QTBDb b#**X@\ s%"E kǍD7bWnDFN2 BU'WՕQH](.H9HJ/"d $YbximT+"Z*f;zOggS&#IC 2!9686:79=> 9;6775476)./@?;54CDC?A89<::EA3}s1ܩ ݃c`51ub8tMT*Ap3P _RZŶH9Ctt13+l;\eKTx`r#ή :)SQNĶnoyq65l"HCȢT$~+k`0"ըB1,d,8~o&?s1B>PZ u  iTM\)SIf*Ĭ,\jY@^en›  F R*kϜ(l*@&&d1ȌbZPDD)GƛڮEK[2=tq) \"4߁uV_mQ*୒m)BoVؚeMH0)< (T)Gop3\' ]ޛcԑX,8'\uFޏ{Kڬ? _}K ETq 0fFU[@5ot5Q]Vbzpb?mI]Ek]*KOEVP\\*өK]P(g2d^9RŐ&#ȔiRY1RD5egnA!YH9Ie,\ʍ`ؽGXV+ W5t:0rJr&7Uj0G$=A,Lpzi6@^=n̋[OMu ܸs6^pj HXcp @zĸH^@<ɔRL[X:Q!eH)Z9unݷq>)ve8Xϖ ^jjwtDBT,vfd$1 PрVr{b"Hbe)VHB HdL@ )1ٍ XDR" CZ@Xy|aY "&飄0GਙdcCa nnX f8{ blP`634phO !_/>U?>rGlD*glQdكfYW]76BBijXq#Xd `FFe2bvDw< XLf둨*f,c5?wE*oq:d7Dn (HL> CyGcQEƑ}d5Z3}\ 1 y I0딗QhaRɠ|+͘}c=l̜b[`{+;0 pzQ օWQUw1^WܚdRw<;1e;N lV=GO6Fhٶܞ'k  t%CђJTtxI MSlfe4huљc55l3qM=lQptc|Pl>YJܜH}}b ,U7'JӗjBdbr1 JD1`TDû~Vz3Hۚ”6fLS"Zankaϋ$/DnT3\";_0i'R3Mr31պΣwsf\J.p 9 (+ ܀[L&i m۶<+4J+3TYjM"Vff:4cbHn#)b*0MJY+##gs&ufEPةԃpJ[Eu -CŜ !8/u{Z !/֎U˸rok0΄a֠=dŚ@n%?E2sFwzRg'"Oi0c,Xros}kb~?lˬ$(X2fDMx4```9zp|RtP> f1# )u0d1Ç0 {HrSl+5NE'|')9$0T؀eֵ7!LNE VbYJO%o8E/Uy&<2EBd1WRlֵ7eS|%ƪ4tW@#\H6h> Io _DIjEfW綶۾6uMY{ ]E|K5-tSS)DS$33fwN(PeƥezƎb3S lP !F#T mA_ZfqJf0SbS cZ 4ݥl|ī`l&ږh^ )1WC J9Qז}-wwkltEАWY2ﴊ`St;YGQN,D퇿uorg{͊ݞ+UiD^uYe4"^).XP$V'Ҫ0)df8Dl.w-Ow*eNR1T} "ivNԎh!X`F͔:TWT1тk^bgoXNɼCYjIy߼Bte1li7՘)1$|X :"ݻtvvh9cJS5^8ᴝ']6Kg9\j:~=}qM.יR H+B(3z,Q9RDYj!C1s)0 =pL`S[Q D * b$Nb1- B9R],dvfPu[bx/c,},P-ܵ֒TCYf%!%D2ޒz^Fsǂ{/F@z-k"Ѳ6]05k7{o`@{]Pִ8HҢ)pm L3~VC0Y*U)c%e譹4T`ª0!Qþ~%#6Ĩâ Rj2j=jo#9uD[،@dJXwŸ9YY%PŁ-zSaRb\['Ym"\h\fn6~Zy+F3S<@NR=Ġ)\eꢖMf']]c< u3ʑ4 o!5Z`0B\]̖G*]FZMٲ٥725 rIJ8WցX)%e*k {d Yݮ}QAbwp5ٽlQɖȃEqCӠ y3ί^m31L{O\ͧ/ HhÜbe` offUY ` l7+7zjvp_Rkݝνk={x:g4;ͮ]tztGO3_/'w,Fc$Χ}7UVfI(׻jmzgQkrcL:ؿGFnYS>ϽvƢʞČ+ؒ!}tT]ŬWku!g4 )`COggSW#IDn)'*D?38;;:7ICDD9 6;>A4@B02aĒ䙷!,^A CԌ*3I.Xh{jz%T2v%;s^6ŹəQ]!zLE!ڶgMxg g~kwc"Re_]iNyqfIfe1vߨ痩jQC15qzZZٟy!nkG~zcd˩vT[vUzotl_n^^[5ڦM9T$.v7H)iwr{S"13#y6VjBLOK٢5~~ZO>27VT;JFP.{r) .]lTjJ{)S 3%'(D`dV!" "2Ri5u2( ¥$]  .WT72qp MF/!~x$ ]#G &(,kw=<}ؖ'(ʾT0^ ̩{WUu{Lg䔵M(ieRތ)e6o}É)B+ߚ>kpS*6"\! qi@P,eCn(*V.cRșM$:KB$0LzJ/IJ!nKFFFՀY*V.F. K& QP׍fHh%`"DZ긑`D2(m'AP flD{zZ["(9LFl-a9,F[zA]*.z_E9?%~~ȑΛ8ެCll@J%33SfL{k߿µww_O|wswP{2t7?{YXQ _"F|PY83GfB(J'!#M 4 9Q6#. zl:3td٧< ẻ8e>˅xD~x(k1j!q3R v ىKaLc)i9<")͆d -1:~ļ scfCFAϣ \_+ P-Cm0M"}D@~!?ď+ 1jT+=qX-2{x 4u[HZgAao?ۜ(FB 9 BDg۲m9ΫYm%[T-Z(  ?4TUdJW,v"QT"Jo5wxrm抇x,_p[셎$gPhKAm*Bt:ň(( )TU蟟MhZ(RFDE!R"Da ,/ZaL;͔EjCTd"J w%:6/T 7E)0WɌQP.]`BHe $r;bq(dY"YUYQoɄkn.w   $XÆ)\8 DXHbL!5)Dv}Y8:!L9 Y @X Ӂx=Ahc‚)G{{ycC)am2~톃UAWUmOXV=p? _C"*QQqI26,{ZIS fg<:%ZU(a_erHŌyPCiYIuTDUiX,чY'" 2㥸nwsZfBNNP% k8 @" Qk2lxSO܃Rʅ%zTR "s[:e dl`(2zkv?C ] 60ZlK2\mG\> q@^)./C^${҈@H %q8j$Se{:ptrtu1irPPkGmbssE";.%lneM SJP`T7 9qΠ)f0@pnns{[-0TԠ&Gd!CPY'eTTpP.$˽+7WYi0LՌ RR,fY](ࠄO]5@nB&k0j02 51(̱wn+l,v&Koi r抸V* ze.x0R'&mu=^<#!@wh`D&w-7qЅ謊!RHnDE1ka,eS41)Z12T#T !eT$KA !EBRH*YtRِ2tQ斊D2 <0v-$]$0x >Ȧ<$JHkȊҥ] R$kIAkeOggS#IEO&)6;885868DC( ۵e_ Pëݢ#vǹ/^sђL@ TR|ڰ q z IW`vХEFR~榸XhmKkM%D(POR8B5,^ = v%Đn5g[Y==\Nʩ 9PrtױDT$geU>M*Hd.289mʻ[3lv9&`5Hwe5!l1msu)(|: (#ZzCxYW9 PtF51!KY^D AګL5b.:+P=*U3ni]NQu"q$XZy YJۻCbƕ3JEY2bhzLMg=d(+U1$b&+rCE}D~Mvmi_ Y o]cU&mi8Db8@vÚdMZ䟟R‡4 XԳ*ff&̶Nߦ앫-9[,F+'ݦ VpS#u yTT?\5Ou*B+##a}9B{oft:_*1> ڭ\21.+BۚE=i/Dld?/F^ſy{J=˲;eM˻; Hx:'NR/GUt= _mMnëmZd]Ԙ}S9PyCnh(fFK)Aa7$z$"!䍚2e* /"}e&t.97㽇ʾA\ߖL{}E_L|5;otKJ) }hy)zOLǯѥ~cNf[3%ޏ3MG+; 8;SfS}.>Ms5w.nHKދ'3k~]d V߯`OέI\e dĨ%}sj=Y M+E81w%9hN+6^|/O }1Q[YT75sR?fG*: 4bbk374h~[s7" ]GK';^Ds ב}o>QPhδމWݸ/`^S.\̹*I];BtKG7y{t)˃(k>*: lΙ 餔 _^u˳Q(L9p{o]{oUJĬm$ dp` m*?Zvt,`>zJlRj"kE{칫 {cYzz<C-KQ %iQfƦl̔߯E/ h!-4oD^i9m-ΌTƉ6|y]ܾ 2ٺA|W( V|V`.r,n1J`tnb>LmӅ1zCB8u ,[mڮ1{13)(nEU."DLQ)]iέv>HX# A %9M)&d2Q.ipUL&)HQbѤ^T̑! ·=IAJT,̸RسDx7"x@1HBpі. :KL)p[¬aMXpӲ n*2I6BNӾؑs88 ZʺAYgܔRbd$,+ nЈeCܙB0(elk,xՁY$Pۙ + o<}4j:x ToiPfQL[Y":TtSx]i/8DW$ݙTF^doO5YH9w[612@5y)be NQȥUb`+VR)% EHLp@ʕ9oH^H6֑u @NyvͪW(@k~ X kin'SҚZ9> .Y N@Hzz P(53UUf̷Zlo0* 3-OӺ9ŌgoZ"U t[n`,%f% JAU\D4Ʀ B]Y4J!"qLŹ؈JE! $T3F d $ ȸFظ 2A!t&< v%(ܰp3ЙE .mDlm7=5q{٪f=3Vrl@ud n'- nV~@!6*FʈTapX]q2 eh̫W)03%o\gʣZ˿䱑c 6/Yz\y;/&uͣ]i.N#64(n{箌pS< b҂ ­,{*!* b DCSĮm5QIUl(Bł܄Dn*G֕0[i _ d:#HQJH`^I/鸃3l66(@+ :ڱLfݟz]!]ݻ{/?`_3`bPL YVX$T YE qb/b!S(zLo1`|{>D.uѶwО8|Z5e1M;1$lB]ee47G( "SBD  h%#77 +DF"EI bh{)T31aDjlT(L 0!2j۫TV]{~(JEҀB& =?zX1n(QmF]F[y7K>_ n*Dce$ n=$[X>!sL{Kl9s2 d:)E]bIB@&LK#HSȈF92Tv߽nwO4E|zRCJI|·hDQ\Ɖ,7zޓw9lfxT"clpUFz!Yi{뽪RjL2eYhhֹəHD J=gm7Ӌqbi~mu- <>.P,r#P=5c0Y @$ݓزJnkh^mVkF Xd %MM\p< ؠ +FVZV$-*u s42"P]2:]9*2BW:S$ [MJv.`u)P b\{ >` V4`M1`1!=0$lm0 bXM@^쒆v_ V Ԕ2 U@Q)Y75̔en%l @Lݱ<=O%PsyOu[D"Xa4fn2f1 $#=kHFD`b(Gb(C H<]SRIB(Q2RĊ3%~UR0q4^J dDqN@5 `W!jRN8; 3V`EkFb8Kp7Y*NZUOޥBu>C}}7# y&IfFR?pn\$]NbzOgrFQVl<;DM'Oe̠i"!cUӑPjWd6mJ]ND28 y^DVF!g\(ĹT!rUPͬHhE82SP WLxof2=,ʄ_Y⋟SYe%"AXfj%17gA@6KT:  eIu ΎE&'-4 ǥN֛rh,4%Și(-T[/~itxc*Z1(4I{l2[np Rdb@ h'Z(a%CF5 a q)V K2lL(/8kՈv v¿k}R! yal*e0g宽)&MRuL&1b8(`kysjBF0\E L`fVm6Ks+ip]L_:ȃ FMd-y3>TJ2PjzDSA+n6>۶H]ک ifL R"X#EhB" QTD[c>-ˡ`7#:r ,M7]u0[NYVyoGQjFQ4:# +m3C&2Sb\4]b1&!U[D"^`C ӉՈ AEܔA@ G_I EVdq S(@%UR&I Eˮ""/Zj"JV\f SI-4Y.#FYks MKfQsc?CHH[`PRgMoL8LC[hJrq\վcX+N.6_jr]I)")S(e{oӐa iYs)>pL@JC+E@Id!/ ҕꚂMr 64J^ h Q(,2C$DȈX2lVLBJ .s7\1":#97xCŲ>OR,It :8ڐ@T›045*Aj`?<0f7Ŷa{3K(Qf' KIg*(8@@ zŵs(,p)N .eAE B-̌J3m'}a}yvgD8`܌,LDDS@9r3rȎrXPC9IaiJT@TIIRBFʨ2Dq@,E\ (fnĦǀBW#K՜B H*9$HP,%% ̎D H41K аq= ]}« ,z0{90w6g5Pz9] o! Ǡ8AA_N J `fޔ2eY_amâv0Q>i#E&XLTuLFF1PQPE2fU"s3#RX(P@'(N h)D "R HDC"oN,:A"d1Ĕ2\HV(+G^FjȱK] 7 L!ʅU: kn5 lē ˯Ѐi/b(,ӋԾ{m 6~gQ*޻DF"!!yIiQ-`FbUz(5:;GndȉH=L[rDX`K %DDFF2Bd"edFdɂ>dEbLy A ʌ R&  I (>1:E1q!eĚКG\+9fkT:»5 m9i'Ȭ#9xy%x=%2pΠSgX}BnLsDzRrJp]R UM'3&.aH)5, |eOmzZykmqӒʡ`Y r ZP3 (+Q APM6is(DŽ'f(YhJ (V!Uk+eX$|9 i.#'dIdACJ.iNN=U']`J"Cl&&uy[rEC 0škru^ =PDz$&0˅-~*;.Ο`:7csOggS#IG[+$7?@<199BC:68CFH53;9796@@916.//8~dwP#z/DPk<f5ų3e{ٿ_+,ac^؎cZr )_^ܨaCP{;i$"2sN&w AUl)L11y!##3H6V$R& |"+s;Q,+dRUF"'[jȜB'(RG]"cȈ@ 'LJW!Ѕ/ @̵H+ih#$6ngX{rY!ÂL[{yKsaNzKpS  (gxۓu8CfԔ*e6[+8_}nx<؇E?;_/Q#VF hb%DY m@RqRR1r茌QdP. d#$DIbDQ.!$iB\$zL"HQrq\:hyG2vJYہ`3Ƃgpȅ.V,Z ^ "k*f3= ozG pVrR& Il4[2ii MagM\LRɕ$TYE c#ۜvtZHvXcr]sZ3-vv3ʃy\R՛wWTTBWIxx؎U IW&e 8J>[U[ =@E%a W*+L}@"fLn,\X.>@fqp+J:t2d$@۹]͸1\dv(05c)T3p]v  4^9x/97oxG!|!])̺Ŗ}`e?}EHbJb쐫{soa@,IT0qcD O9>t'a"Mߕ̼FJ=V^ zYRnkUNnZv+Us|odgO|Pz&qE.u)%6s5iN:dR~%" iHb$*fRc,߾Vƫg2>9}lp7S{̍TY]N3FwuQ=]UmW,y34]M]k#_]z?Sͯ?"ӽY=Q-\i=iYYvoyg;sYfT_k}Zw]nŠ&=ڝ~=pbm1$83 Go2զ;65O *0 Hc\uȶdu_sleiTbJ)JTM۳"+3 q_^d2leH)먳'Et9tzK.m}FnɊK9=颛ISSݮLBmje\F_N9kIo&h> Ǯ7iޢ񜖭vucva3ǛgTcj̎{@f} 1qHQu< tG DcfԖ3ö%4֧W`[Lŵg3[]UCiEm @ Φ)X)%2h b}Ҵ姞x.S鐳,_J^4Q_x[MiI<%Z!ν>(b*]w7e{obZ+ૹi5o?y$UZx e_R\޽ޯ_;oZsλ(D@qiM"`)GfFQ5ݝ\<Ǜv[hO9O0t8sSF0ssx 2tiĔ.!|$~K&Q ȔdTJa݋VI9ud V 3[ӡE#:3#S1RJ״׼geZa >!Hi3IY} (8KmvoWok߷쩚K{]6u.,|JShjK̉N @1S!% 鱪B_qkgo׾QS+oZ-:y @/\rQs:Be~ᯙyIssFmڭXXÖc 1|7MIjvJ{Y{ܾ0[,EՆbe3"zJ&c||FAbJD$IDUD2]BP*PD-;Bd&Ir81Q #GZ "`ǜG8;LtL.^_0Uf nEf, :\zi5xK w[XN`b@ W7unc07Nƙz,̧[}~rn Uތ~~H(+Id )u(e+IмY n客|1p:壃wt5  '+UJNJVe*kB 9dX("eH-ʁ,d!IjH + HcK54)DId'BA8(F獘x]!PhOD2) }ȕ˛pJ8`ܑ5gs(G8?;pLf5Kvq OZl! Zv0t\řl˥VfQX>Eڢe x0} c%Q B!"2̟t#VdIL{3Ju eR^l(B"jĒ4cB{+GF-P5mj  \2BUT.#J՘K(0Q4 KjU(3.dhM @Xs @ zagpWn+Vg9zWò=Δ*PQ'VВ[`])@VğM,ݟSIm DRӦaue}Xj dNao})9ljL%zR]>cQѦw/kz7 kY[/Osr͏cfw8EN we*@&մ!FZqRwXJhF;lNEn2IOXHw`7s28'NN!c>#Œ.`eo, oaf6)ҍ<#l@g^>"Q^D5OggS%#IH+<)4BD-787=?9H=@1 ;7BA@D-188EHAA)9lB'Ne2'&VO0^,)!kզ[s{Vl2ntg|BķXX !\\,S .LR(7նޛlZU콷6]lЛ^S`NA,tQBB1 YHSTy g VX9ø~mSVx\nFL. *$tBexA&BA32+T) M2PJJ9dq!f‘D#%EUDd$b\pFbx.y QtH SQ\\GdE."d(,VR]Vei ex[[m`pϨ&@^CLV:k,͹{"7 !)lYߎ;q$V5̲k4>v] ЫP g9^H)BMs[N8)Den{FE:K ZpjUw`< S{͔3 %"eRimpq2|A , I謂"w[-㼏֪*[N9Q%'|ʽ% =l昃W0tz2>ou^" yٙuTe)]omGIV!|c1zxe%C5^.(E}Us: RYob5 mI 2{A^zٔ0:|}=jUn%)uwVŷMwW^vu窱lo{[X;Mb,t=g8f;4B2vUQ(sc[,iz7k.EIR8˓*hQRFBn,dT3mV-}Z3jmULWoUPgt+1v%٫ivv$HTEH%H6qR/mۗp|ә\N!1o#>c?F*M*Y g=RN5OժAQ).U4*ZTP(:L63ÀD\!cU_ȫ00.)R!#eޔ?Fa "s:3{0adTD !(UjXx̀ k߶ @y} sk}k`^N)&} mU+udFYMV~#V`nEf(ڛW8k·AJhJ*eܥ2)iPnP-%Q"AXJVɔ ҂&D!)# ٗ!hTr"z"r*M\9  vcw !,@ڭ1L7qD\xn۪P !N ii‡r-# eֶH1 ZeP3}\s0=%=G8]CeIH Lx/̌23SJ׊}@"&4J$b 3 s:B]ΌNb{78fPȮTYaJCᅨCMQXx"՚K"#3<AخPHJ\\u޲"0sTl \RQPз3adsp f#xY1pU y\N"cYnIC llGMVVkUje}XDWC, (VP1>Wls JX\NX_pbf4xa "d<˵uͿ+Jy~iO_Z-샼+  sAH}Djb #͎+n\`] T e%3}V *->6TTT$'$(@VE|$-'&E&'mD:U.dqqn>E`!R,.C1\HKF5+G ̊ Ǎ[ S%i l saY4 *hBKBB=7@ ǜq"fxj2+ En@2 .@ R.% SZ`K@7R QDD)sa=٦7pr = -Et @ŕa>N2#ujj ; $vms#[J ZP 5VY.,weo;82L[&VjٷM ώ|mHB|s1G.+{j{Uku몺9$ m Q#dd/riW!lʰbZƨ6Wzy3\vC Nb~r'2d}݇Ԍin5`A^%3P?tcٛgϾǯ\|Bۋ ]͝tZM`;XMqc2e^!MLT Yn+mT7;+;EcQ+B*2R^ 8&QQ+ChlY3AlFNX܄\|J'+@Fߕ+qqdZ9,܀@2[`8R(}MW-Fڴ~[H]o0iAHp5v@N0 |Q.nϹ7%/mpD ><%ycɔUheޯD 1u$9몓!pήReA2BT:Q .dk if"Sf)eacd!BF17C>ȒUA@p@TFj Z ,-䊜JpddLLh2!"C$nQL)Q KRW[1I$ %!%m0EkE\a[7MnS`Ȓ|Ms 負ٍfȼ&U{ʬSpC<RE&GFP$$$@5 R);8: -EAc-HA^ i~XJ Y69*];B|{M?o."!trcYP9%^76 ԴBDHgutu\1 +f4coٳwn]]USj =/? 1/bVXb9EI! x{Z潱m۶9:: \kH"NL_H HD R4M^(F2S& Q-{+dQqb={|+ӘFv&20gLګrg&{LA8 {#\]UcJbHy؇sK;*鷙qrjgGW5ƴ %A٨qTg, &AK6B 1QuBdC)tNƄT},udqRDds>DL䥔$݄B( $sj! g!kʶEq2`RZ߀J tB#.L @wQ۩ך)]1F.NNd͵w`_[i~ڑ^G}3UfvJ`&Y* oQ1KX m,U"2V[FH1ILnjgo9L+="E枸2w"72+)fX$L'ue%u1MU6$`bl 㭀hR)[Y3X _@5)e ``@SYplǪ4?0E I$Iě"W'8ŢSt*3̐L6M[#B$ަiֱij#P(*!`2byRH؈p,.b ː'*dZ~RT)a3cQV29.2p/4YwJ,ed$Jp_ ѡz p휢@Lj[(=ԭ1XX{/UzVr* e bwhNԣ)B @ 0\HYS-`btb͗6≭i—* o]*WXPff]7V:׶mֶ$&KR> " fރ ?nL uHbc?1s{'eI_f!{?)(d\H2l Ur-؍ pJA-쾕!㱌BTEjO(9ٴc>`5C (k0^{kĦ@}Q1eSSSxJrӧNim'ΊO)" ?9kQR,Dd57a~bwN+%pDEYS=+~k hEތ2SZ$ ^1Л.OvH~4~sf1t<67"-]iKY)u#Jb!uLH,;2R (eddBgHY$Jk/@rȌb%RP >+"P#a 0Y)\V.#W$mxQ#2R."vn|JBL’ vPhmA7ӐϖMn_nMs\XAޛ9ʼn[Η2{O7:pm=@v oUf6ʜCCnBcFFLUon}u1,T@9BT P.LOSEjh""v$QJ)cF"AŌΙȜBv(6^EaDf1D1.5ʡVdDv"z/T l/I̊Ub`H]M%A'vl2H$iATvJa 71JZ˹G=ԗkeϓ O u9vaP >nc.Bd b}$wBx︦F5爈JDx )e0o\RJQ1g-4c Wm72 dP yM P@-( Y&2e\# tb1)c\!Hp΅x z)Ȋ TD5r"qjO- :,̺iE{= efqG ZP*M*`J[b+SV/]_*>uҐ\aTwXIHAxqը67p3'_"ȫtVA U#ahlN᛻cE "*L⤌&r#fFA8VJ\YcPȠ2Rߣg Y*}oL22 fBS BL;:oPh~_ ş`v"CBX.<}3o5m= d]MP1KThlut'GQ" *L5+(m=QgMK~3!\?;@d-kE&д;@$ "ٴP 3$%n}b@-C} p9(0pePI|^Y^Tڨst3%ʱTD"ThQ (M+QU-M(nF1E + KVi"#A$$FXSԐIP]IYnCB"2$d&Ha 4:cY1RL 8)a#\@HpvrJOggS#IJ}='!796;:6A@C;/598B@@A)>A%MCwfk/s v `碴 g$XA$2k-1o6ZHJY$XA@gt*ʮvIJ)Jśvi 7x4vd1n 8H*p̚D{6cCTu;ΪeP%[]/k;LhNE0ߦ @|1w-*Qi"S WܠHt%C;171 |*굆éщemQ%drNg(OV\UxSӲL'7֘ˆL΄F`E$A&o@1i)ͩ\YFH:S]ɌM3;(4^E9cWB]3 |:"jbDT^g۳by5<DA3/Q$aYel;TRbd'vtӴ6ooVjoS|Bִ,C:hҒ{ 'hŮz1ˀYBմNnl5-mmlƢ_W@C&Gn D] T;UcLW$ua]^.]4zۮd2:xzqܒiQ-FByh Ś$3ecH[ ;"*+r(3$WdzhwcV`L  %ōPލLDVGNq;#6E9n0An)N;WVm3tXuS`9f)0ۚ1`пe;] Zmf1lݰ0d\GZT@~{-ڥjv}|EP 0BPSeffxUyUݺ:5BT`asqsc˰Vȸ.٫-&zT.K"J)1LMEhIgr)3ʥ.JR5Hf!rBtFgbY$hXJLJ,.@#) H8!$P7D\j~4Ҕ $lB-9-Ί`&kY-Z ^F3M8M @pVY+ˉuV4fdzUQ{y]3޷AbQ̔[?p$P@ ӌ+F9Y/~ ǨJ-MlhT aaje)!DdY5(fVEKUPA :DQ(ȌSaEY r"3CL8wW&]]S!yN5NefJ9YfBb.b+\2@"Nna 5˃ѬHZ_mo@ ih BM661:'z*};a<2D: 5/M.BD)Wq)j` ;1jϝ,ƨ^(s)YDEHcԸ,f.D53W,3Mz.2Of Jsa2PLX @ryOIj*(TS.t0jcֵLd!d-jn@|;CP["{ CrXb=^{3f3m d ObBX L$bL5?kht.Sf5Kb"69WbtX4mw&|F8W``q@&tcv@S*I,%526+{Om[y+ۛ1&؛˶ B"aBPVr󝽆QfjdZFk]3Ow_lwk>95%&fuBt)!"VEJ(Nn 2 ݕL DD!Z"IBF Qr!"QȚQ "L'n=I| HH2 &"T\̑nT&YdL!#"/JJ$YEDgrŜRTW.Q(!'lpU(Nq-ȭ.gfzLk+ئJmo%ܬ5cʜ19ko{Ez2\!u$)5>PP]5UVɿ){9R05TrRz4cbNg!b%d0W "v162BQ% hIֱ2BFF |ȄH! &R "(DL/cD I\vxLYiVL*Y(\R,+$#G3i933xF<:iO~ zHx < X|vt]7bB;k緀QَB7@ } *DEs u @g3@aE6 «v{&yz[Sܜ! R(Q3Q,#\`%OzX'o\1\EbnI @@+H1PQJD:1h`EDT$2# )DC4B x@DfJbtC*dH\ zFL(9vqB^Җ8!B}Yq,x)B,+ ݴ.Eif_{ҸوI 0kK t.fwYvcfsM=J@XVn*`٭8)FI W3Sf&_55fFՎ'81%-UI_䴂i"="H(2 ͐(.DD#D4>@B& Fe\<*x lB8F1r33'2!N\N"­U( tY9rM[8f$dE.TRTgENvND5nU{mm֚Ľk=wm톑L/z/g1vz΁\ it@uTnh&CL,"*v8n;KxA򦔩Q,|~L5&:m'_1ǰ{Iu}0/]8i,)ZI,(E(`Y5(YM'y(YQPD$,(I 'OD3RKcϐDWܹRr F)I9dT& >ê&2rSHfEAHAfGJSa.eK$ 4hvWVd)w-Y8Cm;.@JClۧ[S!v{c/wiJrJ,JgkEߛ]ut %Hz_hN35E@n-:23,E/S=43>37zڬm:{GɅtivvƵ5„03Ɍ2e{ٿW&[F] v|fטވyrt?I9eR2{?c yENBF17]B\t1)(rd)Jbɤ)rILJ$TEьLPTT(:2E!)*$t)+8gg(aHK,}U]4 oFucIDGi6%rh [YgrBuM0`aVfeKq(AJz]0F֚Ғ"j "<{of LnXSkKXercþ{rOGKI^.vƾ~5^]}#4zUܞ-Έњtd[RF rLdNf\2*ŸY!oBfUQ!(vQDFtb"C`RЉ&2,˰`.@DCݐpI JJn%iRm۶mfF2ecDwM e]i5MSak>W!b aȜGaD"SD܈)d" CiqS4mpt=!Bdaɼ#I?#pq!R@0)=1D{Ȓ9[֓}]lW nJk̨Od1zLHnp.X]k,X8?[b'tT_qEHi&:, [Fsnl(t6_9L_ț9 ҫVCjfVX,ff涽{۶mmެda WKV-[ełƤFl0«ǒR1+=ZNN^{KQ l8͑mB-0ͳ ޝ! fBgcRW77֢Ѡ`%4BE@K>_GSu)ĄtO5Y'8sZAUvķA4taQ5M*jF!~os~so{[̼'CZ18iFMCZ3v^jBː8**:p Rn11q;6WXqyŘ.XP͟Hj&Қjuru}1͸k|U34e[V2~j|gd$/D`pζs7:heQTV۶,l6X9D0+{91;I !^JъGyE7Et*S6<|IP˩f;}ƽYWI&vMBeJ_cE'7 Xʎ l% K}IS |og~UwmkCVݦSMRY`b32F9׋Fs?{{M~_]^zk])@k>/X> 䳿e)h#U`f&Iʔ2оW5 èڎYHE}v(eP ϸqdҥngQϥ_WM؛/Ҕok/qa}셭)UV]ohmcfw:=JC~_,7f5cczV޹c#Sۉ{x[t]Xi։MY'z3>ziX,5ȼn̄92wKO`&nCߗ}R7^<ܻ 0#VKyk*ސv)g1ziu+~jUR }bf|wwjuWgQi'<~,X3vϖ3I-6a kA۫n˵p3 aƬx܋>q_6o 9v|j{F-Sx|:8 3s}3C6%gɛ;n͘侔ddLZL%Ī}Tc$2uPꦎ{e?!7j5MU,cSm{oSUwZ6Z L>ٳayV TbR!L +HUhv稭-kݝzK DW NC[ٓڌ*T6M#TȦ@̌M)5B'eަteɝ6锹,oSVvT2B%m^D9IHUv2ȑ)Q, Y"D#r32T#ĪNEW+YQ)F59d$HMF((rsgr`"KI%_9 dr՜(n"K)eL!+4x(|Y"(e&n j#j9)ϳc!Y) !3zR>(~ D4}ds&neE8 n%#vWiR5E!7 Eb$鰈uh~ԱV;mNTȕY]g @&^+H dPI< x!v%#MY$xfij|OggS#ILR&:;=8A@7+;79<<;?,!$B?#,9Ld*[a j@E/1+DE66 WLʑessu k˧tEe)J4H5EÝz@ϔ[bjMrd䚘0sS%cUknF: hHZNҶP)@ @n͛*huvꊾR6w˴=;b@eҡC)\BzX?T ЙD$3Ϛ=)۱]̌gJʁ h ] |PM( J"!J少@aň -%HtF12 Q $hS<&$ if\9 cEcd< H TFp]3arlሩz`L$!Zۚ6X vd,{e v+ƨV4JjUtGsHY$`v|9 u/((QfLW`vi.6OpMյoHk7}=Q{:6iVS_!s#A*7MPrf*sDPjY()G DVR  2[TLC]TL d,#%ZD[H]u=BJ2n)ʺV&65$G(8 a 8 qű`v7.c.$cHZY c :'ʎUiذU/mfD\8u|IM ~>`$jĽĹt$ߤɅB7q\P56D^x`f<FQR¦ @[WۥW]̊Q9!ƺMbFu2> Tg!^6c9~?=rubDdBj|n΃Q4,*#"`V,n ~$Gk$e!52"ԥJPᵬͱuD&1" ^#%7y)2 *1hexg}?yu/̡-WovtN\B`_UXVBI,bRB9#L arX8<1:;EbU|\V@8 b|.d0bF9F t0F%&3jƦJ^2iC Zښ3b`pMի7DeAڸH]]U}+mYm͈N]HIdI5|S)bJ(f2f f.3s(+'7#@Hqd*b EhԢwDw$TZ i:8"VE ESTGJٖ tc m9t6QiQ.GOm豐PkP i3Ký[;`t+dT/{<` z@,-\:[}NeH'[28 $3EDWWE螶 t t5iF=8d<).SȘmcTʶ7&VFrr *qrmY c"KB֊)9J&`IE%hfTPRtz)eV C(2& =^jVwpRJn8X/l۽tZ1H%rh)3tFI"804hB(U zKN:[vD{ nțXkS`m)[TZ52*1"> m  2E2&l{,[}YOggS&#IMC5E(=I>EG!547<;7BBDR{uEsK9n*-Ɩ3uܷNoO=7?sS/o;:aS[:]"_dzɏdBu"A$<ɛwMDi.|~O4Z7pR*Fg}~Mt\,m|kwbI!bJ+"f78]m|Zo1qǣ7Cw+NWv3նt/rtͩK5sG/'|zw}SRh{KbfS)Y#˳."y@-ji T`_ JYEzs3 1ʤpg\kA ޫmAsi| JǘB *ySs&V2Cz4 rjRoDEI}\h'(l^u !ZDC(w(Ą씑!2AfȂ4,\!C%/ .d-HRJ (YK2͊!@%*cFoRQGR$qVՍD PO@anUJ t*V2Yɰ4K@S¬Az;Xk #5H,zg":4Ef4`k,>EwІQ`GqHɐyϔ2ʲʢh Ȳ¥]PP!lwt؋\ S d' J/ォ{RIAD:PT 4ȲBYd$RIXNr傞RN,c-(q \GWd1Jp+GddʊGQ 0.l#ރe#l[Z , Ϛ,\  e{ϼ; ^\=nSb5hyzCt:Lkeg:V˥wEXo LEB4(Gk\$0}s(@lDd0jy*R3:6"Rj0H>d 5݊]U4r.na/7 )7 UR&#SIT,RF=R3 tȑN4M0 2:f 0Fo$\Zlbަ|? ǤlfJĝT Բlw ̌G6€޻49%#S/W["TPr5UTڽ_+A;39RjTQHR}(Ic:hՂ̉B #nl˝&m)C1''ODfDTBj Q(P "b #,jуP *' PHƥ`&L K(I "Ɯ]ψGx#@9p3U 3J07B,#HBn]șV =6f<$̉gJ}Wp;iM1vy,ωS 3< @\-D30eJe+VŒbYۭq˭ՔRjSK}蔕`T@5Wa`;E)vKfbQMqUYrን\Ad!"Db.W%J>2hEfFJE!h GM$" ݉ 8,2+M qQ))6Hm%@66 j1#DlNI>0$FKV Mgj/+Zs*w`DH$uVҒPdcX aTT<]'YHg rrj]_5 g>GL>.4)IE 3 |$(EʈXd2.{cdI ӹ\"J(22;`^kTVa)ڶTP,uU9", /_lb֮v {ی,> a\,`3l5̇ԌJլx&5Djy+# RT˶[{iO.t+,OC\*4嬄ޱsL.! vXR>sefSG*Ǿg3%g^B:-xЖg"Z mzAHR`fƦĄڭ@MyJ0FL;M:)[NWVfIbݚLjMWKj* U ŒȻRR,J"qe%r(V0{dAO);TRJ.(DʂbĝX,)6vP FVrqUnpwȑ8\đq&W0͂WRFaE\y&@\QވI{s$u/l47Б?`mCfˮޚ>cVX A^p,Unz"46%YJr:M0O6o6, J$i@@Y=]^Gc(2d &QLѰrs7l⨫dEԂ B5&mm,*RPDowQ{SKJTL&yJ)'獃PZ Wl gS27z)f/wN_8 'r:`vB 22AVo)]_&Hȓwr\L[tV2osWE]yB˓eT+7nq7mnM:*\ z?YL.u'# Yb3[:\{7=y-]m|hѥ)\&:u 2aP2҄*ZP)T-[kv˽7kEn & b=?J3 ֈ\ԟK2T*q9#C%"bI7qu{gog[OggSZ#IN.&-'69@?CC+ (DC!%3;>8878DꫧA +A介(iJM5h_oQJDeʲu>?#`sn[誯svvjmW}Z*!EÁbb&R0z(($L=`ɥ"Z&EJ<=@@%YX@ JLW,f:+Q^Mqr%72-  Ig]ZU+iX=nr y2  pҞH<6uNdD^쒚PM}Ȍv*NꔪioH`33e~_+fe"^%iobwx$oaC֡T@&22J*e댐2ӕo#DRkq.TcWZEj7"JVs$`KNRfa@0"cB\ZFz>)H-MA $X2) H3J0I֒x OZHGULP-ADŽ0 0`,(UmK@bdͩH7 (l69+AX'q,{W9KVo=\P33)q] Pu$uڷvۗġ7r:N} NR#{J.NI~/齃nՖQ MJPjKDZZ(4kݖ{ej6fcu9ًCIEj "QP.P@!*"jZo sѐ "q\8عtݳ$Imnj}Œm.7f1QB!TYFdPJI$'(UP͈sD_*""NHljnPdDRV{)Ծ[h,$i#E@nPsib#BDz(ӲR&3a Mhh4"EFtAIh<&| a b h_z` o7;Lz}+P( V$P'E!\BKL?h#<({2]1-fRx@ q*,gcC(GYHYH0P aIdIRESEQ4! ,GYH J jYן'6E "%Q5G H>FXT놄YKu T "p PlqKc)NM&۲me/Flv6]caN^*K]q͙w9F+PT`^MIL~o~y?g:Yf"502E 8]iV慄%J!&22Dvd;P" xFE:HRF3 a $T"#Id"SDQ&R^BpQ\0@@J`O@JU \ dnii@FsD" 8D8K)R"hM{2).\=#i88"X 7Į{8=z`-hl :D4l (!R$eДta!cvfi̭iҦ)$2be))nC!CF2&bHhbL (*Ȅ" P,tʅL 0 ɐ$tAb%B/²)8oJ9Yh\q $oa#&,!Nƭ AY2%a#? [dj3!iz)rO>&2>y=K>W!IZB ̌T SihYIZ(l\rg*β D"!6d (DJEeebQ2#2tCF"K)ʌ"R!e\8uECPs1\\H)d BFN :QD:bP2M|At6 '"+ò4(c֬< =֢MLZO֍_ğzư HSD'i@]p9U@'`X50 6u PTCdi}iHޫ1USB_+~gmuߌy55%KYvJ$i, ,M)|ݥjd1lAj1iс<*2D:IUQiTLBHfE 7%|QfhdQ \FR bcVGgʊ)e GNd T6n"RCt퉬\NLRpꪾ7aRRXaef.Kڟn?DL qQGR3ť ͠ ~qG4p#..M)c" nyC2Q!Z5H]Y&%Tyَݵn ִPe(3.@6vN Զ E [ꢦvP ,dr֧sL@ˈ:dz0m{ai~ ER8uw{3oTɿ8+ '^lDɾao'g~?=M<-BB^>-c!)eY}t 2.j"](E)RTQPQ,2ZH.Kg22j )jQ(IFr YȔ&QʐrF0 \I4\QFV2h_*m –c)PtFNXso•$YHW#x @P0 t963}e@a7%v'|@@3r EDޑuĹMfT ֿ_WmjR*{0nYsO~ŧ]l_#"(bt4>VR!zWu yqr3qtPT zJr%2Ҋ$SqSjL)"C$Rr:"8 Q&:Zu"g`P,(HGu#Ձ!Ttt(س n\ƚ`K=|i\8];A `|2:1cxGDЧJβtirYE[ Fm JHJfH G\BT\; 5,]OBR J~җ0aJkUzi= ֫S-5Rl%]0XNvFo(gȈjɍ2N蹢: iQ IhR:R"dB-?y~ esjV9 kl( Vʴڤ=% ryRF!$hhvBR%BUWs HrV9TJ:'iܧ?C2~4S}ϻڽ[K ֻZ)OggS#IO1=7,8:BC86BCDI7:;986:>./965*601AE.;=:=9AlJ˟CުQժVZmeY.ܬFA:$ C&dAʬ;Ju{VD$P$1+|j\~ӝ]7pȞٸ93=H,|Un$ڒG{+ڰ=*RO5j+-MtuKu=$B#6|/,Z}ʿzn{‰F:j`-{ٚvZ*ZOڗ!]f6V3:LSR&qJ!13^%J썧}1+vccP e[cL|ZOn#4,Gvs=` C4D*$BiJAlӱFr)BB 0o)+Y*ۗHگ!Iꦗl5lSYri{x+={;:KS!;̜axH\zL96Uwfݢ-mÍpׂ!j۾IA#te̱i}wsCeܳ}}hԼuq.Xo*,؄Gcu|s3/88cd#Z3c  ^)wGp(#FYQA@UD1 YÇf>y}o)⺬ K ?(6mHP~ZI)[|4Ҽ>hk{̹-zQXV e@|ml1IXJbJHq""{Mwb{ۊ~ \WE@?޶#R0 _&z2V2S 3V-j Tx+Om ]"BIC G ~2;+ 2"Dq]D\6{ fyV(4VA@QAwQY@+ZJ!6Qf.+Ej{"l%c`fۑ8m,QlO}";rS-pUԈi;[~OlmnՌDN]mkrԎ *j_>(OmSj2me^A4I>(+bEפJF-@Sr=tifl#buUUޛ*{o|d-K. /tНm)(j rYA*6d0kt;ekHT{C0uc8߱Hg7M1@\Ren"ODQ33PPOÙOM9o}FUoo r#ANY)D޹k<ψt ^ň<]-Sم2$ ŐQP$ %[RT7(3䠘B;! 2 ֵI-Z\SȽrED٬VPA GQ_p=56EYŽChdìAn}nn <(\&5ș P&!\]9gѓ= v{ 5k u.^ᘻ%uQ$''ްfFVUCMhe׼Oē̘1&>=ͭiŒdP f=>\lC6":Z"VC >e{7dd!3RNI, R,d!3 RfE tB122D1^I`1&V V]`eiKgA)űcL,eB6:S*ZΗ0{mf֢fowe3E!xnsl^xthXH՚e$kM=Lr!#]5Hn |ŵ0}FpO(T ;ݺ3Ėmq+pQ9nDac&7 3)l.jE&6DWGT-eQjvg^)aYDEOv&: p8лw'ݻieZM fwNaҭ!q# l²&΁jw؜ʾ١I9 @3 Vn̹GbY*#i959-Q.L\M;yL$/cs e;Ar]:gl+ ?ƹj*\dl pc7G ;XXs|vݺqh |^'2B{ŰY_HPXO&((JdNt6mojecIZ'4Зf' `p&ochQ)ЌˏO q/NV5mN"P@iJ2,OV@4Wd (cZ+mٶmZ\0;fEX(V.]T###CEF92tlaBOdWJ\,tuo e]hXP@E,2Ol+aVK[>.X* ]p׭+cI08@/ڙ ((.Vf @0*@Z`'E I$I"AWcsA,S8fnV`υ/;,*""Dl*+盋,]lT5XzA#?VsT"C Rnh)LOEˏȠ3;#?f2.Za[M~bү1 RXwمkgYLnpo0(T6@U T8v)-Z+@͸(aVȚgѿX+"N,J;JXyLy5V Dgݻa 7(n'kӢ}%)5p$Vt pbWJ[q[%/d;Pe43?RBT{o.uwA6eg^]"rCУ7@vDOܣ _cC5 1DJAUnA'umw2Kmey@ "v@uvW]{Ż*fڭ@ nnSl>^=l>vX/UZJlv)ՒNCEە)(UIrRF8i )##ʼn 2C*Df56S7PM"7V@VBFPuH9].dtRX WDmnE"b텧ǃ\[mEls 3d*7NeC:' rk;9XQk`oѸe5/^>r .&th)60-jX=AJ"S+NYw9y fGfoLsĂp 6@&Xvl! \.Y)zFPu>k{|ElU ts}; e;:@Ot=Qqw')k~;E,v&ST @qZxT%PЕ =!J^s,ݝe)6F*S71=RɅ)E!%Oʶ,N!$!wV!amddBDJ #^k7 V rJRn!E.ٍG6gblSą['1,=by Q (kFoګ&V6U{[- pZfdzTzokf;y&+P6rU;w3^OggS#IP ts$H<+68BACBA-$-EA%)<;G?2tRu.tR5M`n@F((~o.0-J3Kz^ -}z,]zV!:OA޲vJJf߬0]Gb7E%,d٫k /qcu>blqE";{ .E.>Q )DfVYroD1RR$d04*X*8 fe\9)"(EG)PBFAhiGL\IWDn)؂F?ׄ#).\ h[t@X[A<(qk`Na ɣp)Rpޛ-U hm?81#>/7׼Ref&?eW]eepgNk>0c4 ׼#ʪ(+yMTfdRCNx4VDq QȽ)!iiUP(DŽUPhʱdKY!BHdӺM! 0l,$c@7?$p ` fgxJ9 Q`{kҒMZ0 fNr +oTfCV} -R k_۶mmWR33̔@ xt!E$fkuY\fxzuewϲ(ז[1K҈6(V40ʙmRf_)|9FDR"+BbEj%UsjmͮVJ-w܈*dDd8r"+[ʘJ(Eg&\ )dd"w†M%bo7]%Yb!LTamoFĮ*!jб͛ GR>#Jr)B:ˆ|JXj|oG7\u7F5NQ L҂&aQTt2 Eo(S"k- /^[˛PFEN>"-HSl;n#VULlYaSBU.5+a:œ7경Mݙ6ݠDdFU+i۔Z3ぅ(ECd 12}ڌ0c͝=CXYg\vv.p|m[Hy{\D׾)\3O&*Ue6=<ħD#LkAuNqP\޽0uJYUDf舾T]RFn1Tz@*SES@-MЩ(eVɣ &e@%R$!o{:OHD\1"7JEp8H(\2 v24c &͑6$)BDN7ʡ36iJڧ[\D.3ֆ)O^ܢM?S?1@laYf@Viz a~@HF"STD <^#Tag5׎P*sg<Q!(AgXvWV2*]+2U2g'ZR ei.ItD$je 2Bxː.DDH ')7"hAA`Y6ODm8\\VVDܖD[)]X 0#ٻ, m>6'8V`25 |jfT c]`Qj,v\ \☌ rllhn@vq3>VeE_m]]  02J"]veaZ!iFтPx:w%B+j'6gl1ۥiOو\؜h54Ѭy Uxݮh>߿.QKFP,ee^l5{v{ݭTNdŒi3( i^ЏQ`TYB9 \R9cnv٢bFT6~'Ed^O%LXBbP&rF L֐"ok&Bd OggS#IQs|& I?5 +<3@@2776;9::G@M@? ĶAJTi⨑OFxbQ* iH*,įPoaS+23rOY>ͫ3Lz2 [mD)bT@ZܔbdLJFWr^-+( qۗsKngصkXAG4`VR[<0NǤ#Km aި> sY.k@5F2X}9,2([9 0As ~+Kb:BrJeH TDf>8@׼x@| qf '"{ֈ(N6HAkz3B5Ջˋwf/$+@d0B 7]vU&AHR15~Nu;篙l?`٢f1S8v5t4E;z),$0 u 6*ͯ9>@#f!im۶mQ23; ~|r#9íe3ɒ$:$3o~G󬖬YG{Fב3rZDD$!"J&2$Pȿ(D^_sZێ:FVTru^)]׭vENQOe2zJ'>nC<ͫzOMhe_˛Yrw7C $EɅ}Elvڡ\|Ib^1==JkoRH)ʥ`"2R1"bd Ol))3Dr/RxS@l BX X NPJACB(D@K.17+dD#!pbNYֆ.Fۣ\u% A@I nz74-ZZPӆIK^? n,%^OP&><7AZ}N+C(q)_pt=Sd12$Qu7B)rFRv\ $ eBD( Y[.Cg% Ռa$ KOH@.GNw1䔤i $:It|GbJkCkO!z  Q9p+4Z5 \86Bk( &1 v^s9u#u|,S4"t|uzm1URf*ʲ_돸^2 H|$\3(,훉NSc*r$\(W*{%>I7{S2Rc`%,HƋL%2B5v@Ag9{u#n26f7#$ $3Zl+=ڬiA HzȪ͘@pܐx7ڀ䩲$﷿V{[0Mm:7Nk_d:쎥n k3 -^w 9[ZbQ{HQd2:$FF 'e("V@Ui%E*Y2' ED5f( k_XnB Wb-&:4j);H7 &+c|d@0lZ=Q F"SP8Sh46 ҈݊4f7rg^5Zd]t?בgLc#F\U Lcu)U!me $&񿾠t˲y]jS%Dv*x/=̍:{TָNc(KǬpQհHpxWt;f:eօdT8eT$ R6@RQnלN4)V0mRU͞GbML6 *(,%b*_ZU%B1,("DTKŽI-U[;!]I-?FnOˡD\7AjPH cՌTڭ@4sM|ד3;ALKe$ReZ5,3G DĊ ){F'dP0G|jUDRBd)#;eeo fb***Ҷp JA @DJ)u| "`XȌNDW&.P8I 8dr#\.LB'K@4&BM0JM Nt5efFo(J=zC0?`Cr{l\T"^ּA.)#TYg 8 "/ '+٩s*997l2cJo E"qRú@;, /L.d)[t)ۈ# cРEy< 9=BiHѤ+Ir 1LvȷGaIT4G+*,# "sl"5+ X?!*,P)|Nu( @t얰ƔR(AT 5kC xN<8R?1[B3+֌vu싴`j.Ċ֠)QF\-@L&& 3 1v@X仙3MޠM[W+lxbdyf$YzC1,٨*wwW{{{mR:UiյVdiѥ@&!ʇX'o?0Mvi`X PCzKFыoyf^šh/wքK x=sY,*P#0D ҵ-32%%ߢu Ko!k"ʫ̪Q`Ҷ0!p"6j¼MyR p{JITBdUu$Fkj[Ey{ߋ's8k6biCε )FgZEe؄MqMH51ifTuqjg(sdJ2y?$T5?3 *KKdď~.%rj$E }N#3]6nu5 b\fs˕fdV"DDP)N(4 BVRqˑBȲ(8 GM|2Zng4~H+xR{DVMٙG`3.U#. (% )X_Ű­n`wiδn-OggS*#IR^2-%#98?CCD1  "651/4>B7X+lh2ܽq;&9+N9Z)V IGɚB}"xW_Q@(̌2y \W} Ll~8s[,D E' SAQتOAc!բ KRTEZL-GN;ճR]o\?0rMԯBM=ytmӕbg`@Q!kߕIVf{l; |B%5Qd_wND=ۗ?!AbVoۭ2X;soT!eAbl d" d$ I z{6XK`sޑkq٦L@~LƇ]SQ(rÃH!nʠy#yE)C*nFB!: fHTT YQ)df@ %Dڹ"%OJ+U JH)R0^.|ŵWMq}%(Rq'Y!BN#@)I&>Ԙ.CtfyJ8 љY3NeQEb g?s2%;e8fc5Yu_lS O~|%'QD.H ^PT}bphp=ҊP`^%F2 ~H/s/5w;Ho?ܸد][yQSWЁkgQ)'bTFxB\ĭ+DFf)8&)HI* .2bNA`(`hpU!IN-\$,"(c)nQP@_ $sMP+H2=zI_1+lg `6qG$x@4{Md-$2s,ݜEa0zEE)# cw$.7AZ3©  47O(3֐ݙO{^pN)󙝾Ha,nWPPB0g##ٕ≡()i7 hY@ET⦠D ,P]$6P :3D9&"DQWJ- EJl$\Ui9R]qMO)GYbH•#rwlL Nn R))@"A' ,DZ%EV#.BKd܌ Mrb!3Fd!C4%Z\\Fy Ndܸ4$U@_:w ͌V)sdbm `;ƌ86S0UqgS*s>%EwdHs4pZ,@( fj2zP{Vƥ5Dw4((F8}HQr"C$2DbTG( !2D2 xơXB&Kd E(C"R(+@qMM0(FQ\#r$H.L!.q[ Fcgf+$ǃFu@J2T4dnL㮌a~{ua;@Pi`nll$Hۦ$iaD B`敲Qf k7tvYot~ ՜93TTfnD.+ Qr ")d.Q '""WliQEUT#[FU{B &!;J+EzIz<>H62ĊᡐhAx)dŸN23]9EH ,d+b  H֜y3U$r+pftel=*rLFIy`d)t *ٯ)+tCv( 4++33ye}=Ԭ͵ۋ<UjYǨAC8).8YPU(d JE! E1ҠDhPĎYBDYL 2 "`!F:)(BV8ԍx&y\ KAj!{}XT2 C'$0 `]03hDvg7 ƫh s*k#zS1~6Hzo_,4RH7P^ofԘ_@K2r_N9_[.}+ŧ P9*mn4Ar`jbT+)^$ANʂBu]]v[2S$M%{GFn7Q e! !Q,"tȉShLD65&RV:\9WɨJE",7 _x=@c.q8Π3"2R8^LPǽ0$`61d, ![[0wyY^@e2@h*Rim۶mL̕Uf֑ sO]NDL88utSonށkǬa*]˥S)]Rj`/pW1ͬ57f"*Fd(( BarAvD7ww\HqlN!;:Q f%"Ӕ`"zOwr^F2,KrD= .P434bĥYN.ƺ2R5-#hZhyۚ]K726 PfLO`OվIv2@6 `-dy+UP˦rMe aOkm'Z'J!ӟ^N!Ӹ 0|s>0Z{ l%Bش9(2rI']@̚s;^%X#GVh 20/T$4M4MSo$ʔa&N?@]u\>uzB4SA'gaRG&e O@2)!.2 刌˘,T#2dDnL(Lj،ܺMײrcT"NbĢn\WBKǛvPXl~*f'kJGSGW` vBQ>*b;Y^~Kѹ g6ͧݙwц(Ԛgp “ H$I(5fv[E-f \Uj$Q4ĶV0@_73d2LFW+ 3y+(:/[(9A5" s3SsDX Q̪?toL]+wwdu217/Km@Y ٣ EbEd_ H T .C P8qXbwRѭ)B"& 2@=/ - t .K4&E Fi1W`Eo8HeF!^Y~.ԢM.In%8o2JŰE5Ŭ,a" '&ˌzmxФ݁`gXX !W4tc'gmg@6m!lؑn.z]y8S'"{サR`&`J3.Q[]6Z\ t:g[̨ӒqajE!>ERy>PBtgb R 'rMnF)ty63G%CNEDMJ .ABJDFT EX(F"b%7*#386]33!ŕ!GP0Ab% { 7KJ@Zi謸prGyK%^ Xknv  lplL. t0,N52;/L #&EFG)3ʊB$MaA`}nE8lV Y)R {Qn< )`KȤZL"l^o WT/rZF΋ "W Hj Cm!JTS!}oMw./t=3sS}{*(Jk((|+[pݽŶ3dfg 4,.CzVh̪&o [~i 3Je"#R 6R1azb42A}buh-u'Y p%¡U+c-?u{}[sӴWf((:뷰9a2@ofRSVfW fw"*Qmٶec[wԶƹSroڨ^zcPD^m*Õ _fvc擳ߓuL3;;mbĂ{6fFȖ&@%Y6t]F\cf15f32e@rYq7W:~B o'T|Ck*:3333? 8֙ݭVS*5W| u׺ an&{rfJwD%LYa;C\ebd6=ӻul󳗻;.«գ]Jͺ6dݴ{^͜&=}.]|}ak,j]pږ*YHX4XtOf~u&_a]\!^w5ζ>$5?ܹfT2p=&Cgq@gscWD!T^ U XR ]3LYur+>-鷝hv?%NyI}EƻoidxxswWM鄮&}/s-c"4OIݤĉUErLvD]Fug)eoڼP󺘍ӷnhOݿ5+ʵα>ܬkkN>0iBk3sYV7.(uDL|IjHj7J`9rZ'w1Cn!`3kr0 @1byq K5-K%I3.ql(*/J~Lt.c* /hDd*l wR5ǮbUܵq&']nREH䱦RE@E"j$3J)UBOpFs`Ul]?4z70O-?cmOYInDj ̞}2F(RU.dF`b*! >JI#+J5U[ٽB(;2ҌJ9sl,҂)b$qB&/^8_3pS(2nխRD@Ť(o8IwORy# E**ŹR'p+!Zd u ^3?5= 4ބUE^}Ǿ}1̮l> heT k.DD (T4ѡP.6ׁ޶r#5nmoW-u| 1-J3!;Ӯyi'I<# p jǓe j4Xʬ"fd lYOu&a +ТB E &|fd(1vO+\zl Z ő26~ qFU)bfV,9j*k-7(" u*ͱa( ,"C|I}T0~>j i2P͌3{9%C^fw-SE%8R[?nMbH%tS%ʭ(vդ3E*zei+-t@lQPD]I9?`ph0K 1+d=ԏwumkZwE*6\ &yt6i u͌2+5 п?Pbmz希ܥom\\kWe&kzddfL玫VnQ/#0W9N0\(I aTbN0i70SD 0Mv  2Q( HB" ) & ٸCmC p !ҥTˡM$7M:ǶhM:Ѿvfe190t? 3`^v&S3=ҐzM9 Sl F2Ƭ*e2FjhAL2>ѼQ%Q!PBBHFI1}Q;+&TPgrF9"3iA!;# 4nDЕ.Q!r HdH)poz@%Sq)`UI7$_W{GAFu;eA7*#Ecf`p-A7.M06imWk l Xs6`*V+Q#\+X6_f""iڧ:_](lTzoS&ϚL[kvҾemV_5, F`[s]yňBfR=YM.VC%0cV8&;SpdHW.$bH2"SH2iA+&H/P WB\Ed }UN2)o^t:&a HRppVpfCRГlr+Ɓ4vbJŲh)ZE*SPom0D2#j@str-n= sJT`D.C5hȡ*_X*NWZTf(uENfm!o;wVOggS#ITƎ%:6<>@?3' 2?C/+8;I;$;du j9I~c ؇8nZ^X0&#)ST-*ҢPQRQAD2 BEБGs /@9(dT"eH I2 T.eM±+(tZn!KYˍ:'s8Ҥ0qE!R'5c"n*D#E-[jƎ̥gu-qɲa l+ AOi-as7RZs#9~9q^E_l!d p32()& T vƴiE S1K 'j$^*5q (T";Vq1bBŁA 6XED$7B҄ )"eƵ ܬRDFu"Lss8y$lrLq*!7"gV߶x-em[w̒3ߣX34рtCxc.\p^\ j6Fv,!D xz#Qc*Se^i8i2meHQWM'}!D]-IXnv5.{tqTfD"sL!y#Jwh$P,ߊ%Z!$]rs* 1k2˲<"Dv7{9JAPvņj.R\A2&xFZ+3"bJH`V r^{6A.oŒ)ĨOXCP0;h<JBD FTheH&:PһZF*33 h](@DX-Ŋf4 2鴮T9EAcMA28X^*\] 9RRH ˅ RFuJ 2 Պ6> #@Z̸  "1(tVN$-@l(@ޮj'ـ.ڭ/@='6!S[ܔ~bШ;٬.3V)-kG˭7֟1<k+}zaf=UPLJ)"D2+y"" Ceb7+dϳh8[[p"T5F(}ի.2&T3`dd() Q&YBLj# PU88zKIe,o)%b#nB\I(VBU-dmh6 S 2˱$I)6**YJ@*6r!f &ݳeffL[hv=qC[-ܷ?ca 86tB'$*k[0(!N@_PDd$?towT(Y x5ʎneY1{A91I*eVSsnbvd L/*ZwjfTHEe$\'|,f3HŭHW)qE,TMދE-'#bJLq(!+`)1%$o8mIV(8 OЅVi9" lwF+?s!є73yu4:7e;7MLJ]Vuu@>P E?,)Ly&}_=6tMzOrݙ|&%"h'@w<HJIp*N[B5 ZCdu'zd{[1zV}U=A%G@4XJD36&)evY~ x{źo*W?e6;-Я糌V3HC=+W(0)Vh$]EY36"@Q$R%עj$ȂH! . Ld6qEY@vWf"JBJ- o3kM@"k[KkB.HdSFQ2D-xnnXzdCŻ=ܱFcBg;l -SƁ@[Cy΂[: Kҳ +@ EܛD]8EQjިUeVYYZVN%(l/sR&㱸]ғJ 8\ is(b:]1rNRy$$#҅J9'c2fU)APH!IA] EA$2DuahʚBl+Bd H\3}4@IG$fmf q.t<"rT] mE @=Y``sW奍]p[slyǏ0p UZW8S8T1֡%j FT톩$QB7̶ZƃO^6,V "i];TE>dD8E+a΀gDIkjSsu-Cl- J u%H^mm0?IV,+Juk޽hѻ׽^s4ä+̹IW4z\> q]y]U+*ڰ̤:3c0#3AN UTuoI2 þ5Ďp'B]s3U'~M+յvW09Y:3M[-,BgmS+e! __'=7/&>"G;>e ".L۬Խ9ҬBb޽stjG}I}n_|\6}#r+&Ys9{`}|\C08V³I1Qu5] ־Z檼(#3106K071 PDg܄KJQRiWIzꘗJB+&Mvr14M$={mH# 5 kbS5Fp*l]{ke' WrF&qAahy<޴mEI~4Ti,;ܳCHw1@jڇV?-syfvJU'}%Z(5[ewFmk~è渶ZQhG;05 %LkqkԐܘU-C4@X[2 FmXL փCx(5@vs}oH M]fLY?Gǧ'M` 7c7ӏ1SU6DGlz*ˮۈr\]wtq !dyo^=OGL߯zO_"R]VMs"NP {7rYwA-3:`Nl[g~$}~p>C?%ь`P??avގnJo!Bg,ssSyM-ӨjE`9ahߝRW(7@Pb`7HQ}?QXɩ%fsz{޶=/w#MWJ 9n_s݀jdZ?e_^=|-I^5%{Ҧys4lB-YB[5`( #$)~;ֺ]EM)OggS#IURck)- %:6B=8<68?98BAF6):6>=ABFj`xE=zHN.?A0T PgU5fB @EV\jԘ)%rYR!=tYicǂV <=RNyJq*rtII `!R:QVI4M쩊%YVCRd!$'JRA2"St+ftq"+Ỏ*q9 tRlP脛%3G‚;,f!# )H5lS鬊@DH_p mp2m^wXM¼1o|b=ep;nĤIII l~/M;6rudD!B̫:z`ga.(5&,dKYIY (!D4Ԑ"9dDqfA\&[HDpdb+rsωT!#JqhW[ @9%GtBAR⛊hTȦg 9,zžXY@Ktʌ&F- ]T\H 0Ycw3Mg؍YZШ=hk`^e̴̛6:6f>,-ļpn!4ڻDWWrfF2L5< (0$+*6*Z@K#((SDee9[lZ[\ SHTs!TQ^1Vt1ied!+I9bJb=Ѡ #R(*@,& pH=EQF:Ȕ <,dTTYX$,\DFꢨ"pIF9HP@G+ p۵LVVQ[p; ::@^cZ9cBZcjmZ.PH! xsQRf*ZNI֐k0HFHߣS`* W(C`,h%Qҝ5j[08okeڙ¾.15Abz3nLKu-CYdC h+M4]L j+Df>,cee:T ev:Ƀq40E @*(4;UɈ, L7RױtofDt tf0v!JyI2=f*me}[]mo۰hlL*'L˼d h['@!j͘&!Pڳ>Oޣ5]\;l°*K(myv+&Dːi6=P Irsfe̔*yu}5oiuy#:nc~/ϟعچ?:L9-*d YWg%ehw!P,#3D@T]ddAd B(@2yj"A=>A`J)SB8m"XZH[J`FT S G)  [!DfDqc)XQrBBe^{'[\-l[_uGY MR0G8ZYp-9+%gD(ڙJ5tb1]Řq=;!SrM"nzjUSP*b[4ȍYMdG3=^3]c ̻x5Hb0OB5eW@%vS* BQP1dlhL/]<"M YI۹:X"(V"rJOeEhBZUzwV}3utXMĜVk^)`ˁp9ߠO;%H ̇u.[^Y 22f: d2ҌCOF_R#>ߵнEՉȣB⤂fc+kͽa<ڄ)Hd1 Z?l$])2X.J.|"@g( ):QeH m3{ڼwAQz옂#⽲, 7V(PE9wl"R3~?\R1QJ)LYӟCxI)9>طl]62Bǻ V!$èJ. bb=v1r#TDf)%U K.#2'CDRlD\Ѱz!pC@!nHj&turۙ E(DJɤcΆ,:U/*ME$4B\0wA]5kj0Dk p[7<%*`MzI ~p^K)]٩mOlBu 85 pQ+ef佗_fitwafZ y@A$CYȉ=+zWɮHJ4'"B)D!h5$1 D2qG䖔RRb7Q JP|Pj&VE CH)R2jTS('d B:LxdF X@Ƶ B:r_VuaDA"0ײ`=zgYD1qc2 Elpgp"Ӻ߫.Hbϐ>^yUS P̘)%_JZǵ&t<rNYv2pLֹ}MzHDDڈJ@>B]vOR- AhH\*ZKE%b*)'tg*GRfTr!ʐLL9 !dJոj\s+܌,$f7f\dLFa 7+Wj[8HG;\c=نɲl#+ P+)p`DJ#lL!e_f@ӧKpJA "2J ٳuƞrCvIsbDb.t5h"bSTh!.RU׫!gb4\P-*!hrC/Kzk q^T*(Z\xml-c[T֊. (1V@?/z<53!*#̼M,!fj-=_ں{!D>:=sц'M$-T bNu%o{ޛY>[]a{[:0lJ0,6:؇\ӹ ^NLfHYX0yCz 잣=Jl^+$E(EF,P6H (xjLUL+6s_רg&VR=`,ZB|h%%xfKb3Ȉ25QQ`\-T""$It#")Q:"DSN49dfNFx7 u&૒bHQgڃȩ˔[- BWURQ%T;\"TFJظjuDđʟ G [&[*q*WMl8{gCOggS#IVJc)25::3481=@'">>9=7CD?89?BBLycAb3dV'F5zqS '~7fI0/UH3A>HgL>HJ@Qx3$L~_#G%i+ VTnq2uj]bfN!QEf(b_H. E[E42DTX¹)XZLpP$9R$/]K/Bƻ.!F (( 3Z#@L)SAd4TMQW^2!8NxHI"Bdek' XepmgObsP\LQvMf:pG+94Ȃ syh:l#h7T2qO$6lI̊.Usrf9NFh#D)E1*fDSz"C!C"Yd)iP27)b dcV(]#UܐQ q*p!S I%ac8$6"Q3RrMBDI ҄[DEQERaXQ v9)%r$RӠAd=7`h̲W`I0\k `k@gf[8༽QzCeg_£`(ɿQNBsB y3Uy++>=*ķ hS q􈨡t-dD% ""@@!c(1 SP AHխNDȐ2ʑN1\rDEQLT( !p%MP ]'jbE48U'Hq$?s%@phT3JC"je $^#,<1P/`܋*> m@m)w慫J˒mjDGZdIIO7KU5L+>EfySMe,56Ah QNȴRf^9R)Dr"'RfP 2:S1Jq,J-4V-\J)8-3e7K@,PJ 4.ʱf#|?$lTi`"!0$0b-Y`t/XB16j&I1F`ZBOF/cKTkR& ne 90MfzL]W4"mjMN(?j?36d jOoUtS !ōRV.wsSM*Y(ڋ<jJvڈ˵b7AQKFF Z$cQAPPd,.n @`)HLS+>x:8+bASH U:'#7*MwaqۂUۭG3̙Lqm 9&8uZ`Ycgh&OտURo{n%9+M[+#ޏ^[[YkڪS8<`B )02 斆 + ߩ֧?{m^m[=mRm zX;P{p[rh0  vC.R" (#ka9w>zqnFbo^_9Xcnf hS;窘Ag-U g+Le޹9ׯ%5&I̫K3W·4\0N&z`V|}r ࠛcs8n'mg~̨rj,$39|zbrV8y3ˬ:ݩM3m4:o߫k8ϖb.> sM&Wܜbn4)alhՑeQ)`v3Z\PmF HP%mcrW"%yKRf0U4dum]u3o+UuNNOn [ԞK<6WJD~ﻅ.uN)51ZAۙ5s6"$HQ3;ဣѓӫNs;Չwm:R|5Vv[]_7ٶ[:o҉ݯlC̸;rVN3E3ݞ[(Ѽ\]g\y`zC("P͞lua7ݹpg8394*(8F̲ D⃔*6ecǫ֕6kXǎu('=ydJv]p6W)o §\}\T,nl]u.]YyѶ6J1`Y.,+fj>vxrߕRe< mׯݟuYUl9c3$J(K.A='R]RQU,$1m,2dNlUzE$ r9zH9#ܩlD!+qIj6̈"#K""tw[ckL~ojވUTpPg: XclB(R(elaXDJnBƨ0ףJZC.>-yc96@UqZq֙H){C0zS0SZoZܲ{V[s&*w f8wXD}fi0)ٙ<խ=*ňS]WɎ+XP&QQ,VZ$ %:!#7,W *"7ᄈ, iA V(bDv 龍cbiPq. "%bÐ /H7r(v3gMOggS"#IWv-60:796D4<=47,4;6=D#79:C4!8:B@@F>8]L;EcRsZ47 1lW77810\f78J{5ɜ3 AqQDD wP%9B+EO)ZIG4 g`ͧKOz@PD=H Y2hjJ垾fd(2dg.6L##QQS@3F4*) bDL[KBɐ+c22& /8WCVAEI]H޷$gV@XgT#2F? Fn3##Zk3M40kZ,wn^aL7A.x1.LTa(cillKٴldN/tPA,VXMFa^-0ڗ B7UC үs)@.leVi"PKĊu]ɚ|2+ ã0${QЎ\DZ,,dYQ1398Va/2wEuAVz2ت`2`![)oT'զnNʲtZaWckJTԖ5q| @MCPһNBʙ-kzzF;\VO2J*áExxGP܊=CF}k\6͓y7#3m>SJSf?ZnSMtP*vEpޚl۶UzZ ͏ۣJ) s6?fF!D"M#MӀR3OU=}k6fS2^Y6²)۲M-9*2rXHmat){J]ȝUYվ(222s~GD0Id,¥" v4NnSfdTG1e_֓N3RVJu*!n)uh5͈H]2 1zwGy{ d<ʑJ#'Hz Iy8?A.He;x@)kP ð3!STH`D6n{dH)Q1;IֵĮ[s""D* \QPͅ,X,Ba:A8c <Il.`eIj. >mBy7fJwu+j]f3-hl' b:T)]  ’oU:LUmT)WWZ'bTZ_hv*F 6Iq @ TTڒX{=/g5wIbN%̌GIX)-k(`@AQ{`ň'NZ JDEMfelAƮަV4NwMâ"^sVHz7fOV#}jfnW\w6UT3.ZI= ʻȉk2ٿMV8l^ŭ'TWu%,e(R^yߋjf}j浦l}l6 Xө"وk_ wVDUh;Vԑ*Ffsmy_7n:R;#b=>Җg鱙1 9ǥcӦg#7^$4cX)%1vlK֞//׶wu뎧\%)Tܥ!vjVʐR$Qmb%3"AP,e@ed*YFotQ2Hu+* @Bf,dd #9(+;!rR$ˑ,T'H&0(-ê=FS^eir8j MDjԕ[J e\㐎|f@Xj~69ZitT`.ളȸ s qSayMe%P0\p ,*,`R7\RGFT!Fs[/N*hEiȂ9PC8 -ѿg)T+}H"g#m6ŢakR֥B6CA7SD$_ @IyWy"Ed%Lo{VfmȎyByo|,lQx}B) ^glybK)#ά`m2 d֨' J R6 2|wKT%L]ÖY# <#K|/,l +iPa薿]#I^rb~u/*W䪚ܦ#3{s m!w@qZ=`-`4PKNGmj*Y7mvڦ ೬܏|mE!\-@p|kg5Xv[ 5A Uj7f7 ljPm>+M5!㐈j)ֽv|o˞vu|1ޒF^ @>HXs5/M.X51R~m6Ѿo(9.3WCl18[T|-FG Q1 }Td%ʹzr tewqT)7MM=i겋FBjPQr9P3ҩjfp8@ҹdQV+Vpacnb0dMĕWȾRfuLFyd   0Bw` mo[ 6ѿ-('Ԭk$O+ /t3o'Q!S䜟TxURcVoW|<O}K'tYCs9.#M)dOd<6ĻIPTXbR7E+Ff,\Fu)+|WFq"#KԉQH S9d$.`]F` qX`CҳdAFnWF} p[[)A2MivkU/c~fĪs LV 1BfiQi[!(5̔߯D,K~j[1je%kImӞV_~>aQ}m!9V gwcubSRbRb9̘[!IT,JrR,hATS$)C8H$73GI.;Y&I8*Q -2Tyr3s.n.I,!HYV@! @G&8fA†h \*w,_S9:j]6k-f{Yι{TI)[2  d:\2߁m׈KB 2r YťԝlZ{9*vݬ\@ |9b+u83U Иҍ$ݺ  ֦Qs[{DBu DP (iɇ?S:!\B3LPb\P}GT{,]b?;O\)@R!&خAлD ^  Q,(D ;x?lmrmSe{#lnB)j$Il>.mҪ&=NA L sS6^x[ҳ EgҊ,LFCvt@߸v,@9㏌U,ٲ].M^Lm7fOLu+ۓV1XfYD /5ճ$Y=12 ETT,T#2\ٯflvCq[i :$!$gE4{JkGMM͔ W;mYyC՘G]~DۦnO*rNWsvZcQ5y @uU aTFYQ. "!#73ld+@%MDq\D',ZWL/Cq5n(o"P QQZY^'~okvhS?r j[.Z.UB d@LD$T4hY ym*ؤ)#Wϋ2@DEQbIȔ: }#29,'+ XINᲐ2l&ՉD\Q"RqS r*qK5^½a  +/ m zI:.әm1&Ѐ^fJs[$R_cCEJ_sG`5e)˲_>sq-ףnZtVH{@SMh)!\㲫JBҙJY .*FR 2$u9'۸CMh8D\DlC"Mb9r*Gbd-Wܕ3l)EV!sX2)m7˂x6*7 .WAz`by' m@@yz` z(3Ypla.:mu7Q%KH'9B aZE%e!.K)L2Y) A40bR5G W"@܌$hH*k$Z *8\q3dHdl3wH lD=SS]LxkK3Y OkаE(.~_.0s;@8Vk[1:a.ȉJUhѝ y.)TڑIQ|سA4UoЬYMQqM⺎UoL(w^BD+fDRxcb(dwv-dЈ$, !D@A1 m"~$ E.pLH @6)=$kdl<)I!%yJ~/DlTaPnbowME5#ygG|2L͞䟯XGd |0wbT DR$, MW% v%jJ'5Wmmi֘ }w tp5˰?Ё˕ǵjDG^ߕ,HF2:Z)VDS1'1ۍfV)r?U8?ac (*M~_t1&1mx}R)KJ#:}d /r50m`%oI % ( uVQ #aJPWW0`bUU-vMҩL7ބK v 4$+4-޼$8R5q \wmyLnF;3d(D7DFj?e_,TCeg92e*丵K}ɼ-2G4O(f$Ra?|w-zE"uĐq2mP|.D d%p cV CY^w& wR )QSʫneSGyoQxb :JOR!Ք8 XD("RLMIL$;wg;a3ʭ*fYrp_Z]4ߏv_v%Etuxs"3E`@,bTJk y2 l ED"+)B#QRMY P.PJJ) @b!rBBx('.vݾjWPjtGRISQ1m$RP(ۭ)Е(FL2$2PR*b%:#d űȔ(HC BS )#W@Bl !/[IMYfnl-IBY\CB"Uˑ!j7cZ(eg__dW'+Rxx{bg)CdPK.WRs}q%+~y[6sE6"֤[ο ]_[jӸFQ2A=iuNߊuN( jӏ e,(51\Tp8tA,T"jуȩz'a:,k$?_uzB6,*+Xyv{h{LaҕF|dN U(v`2X4?{n]9_jLО;jOm]ѵ {ޤF㈒%pꭣ"Z,HN]'YQD(xolLUhR>WqO^imiu|8hHVf,δX[%PGZnDT( jEwRAQ!dF(f (E"r%I~oUf&"du*B\fDLdv]ŌHQ!d,DPͅBz M;d(fvl\NR7[*5)А sM/z*Ui|:Y낒- "c @> D'Z5 A!i޼PUeZy+~sW>")nWxȻ ֑)D@z~n3|R\jjkWȨYDd KʩEtQ2 "HAF(aXQ!H{A^Ed- WQ$"`(CAJ:BF."o3Cٳf jr;#+fɜW kcܜgHEf*ZC !k9h){^)(PG^ u o{P`2SB&pWVr"Y%@8f4c?U(TPU!e+V !7cCF1t!GH#3DTب)!#3W3(HA?(1x0TKK9JA1 ^w.z)6C2xu$U,xzq+S$i1MKabʝՐʎ$&s(DUB Y4:ZTJ 8^;9$*D4\ MG&$\  6F"@U@z,7G9p!R>+l$dtՁ0b2]iyd7_\I2WUf2kϏd}>*=F Hyyoo֬[ul#`$q&LLpE]zZ0JĥPTjJD!†+,&9(!te1\Di@FX*+I-&cpU+maJ^őpLVf}fOJHP(dj4]U+ebnh!tJ B`Fp.Խ{Ҹ5<ܭdZ&{,YҢvM VʬN aU' ef"%E5k+r0 \8CDRrCєB&E)mSHzD,T 2۽UELs,P[|(} c{Q B*#YbB& Ŝ 0}}FI5ZhD.^K&"JA ºO }iKt2/>mv`?>=F".>{3SF5Dឮ[@(]ԩ%iISyK%踔XMpň,L1R H(A:f!@͈L]f$D!)df/Us RJKDWsd C4k`>.?_"v_[[ @=[=B[7Hu0f03G`P^2ΩpmF;5uoH;)`MW(3SVWξM3b<|->[v8r)b5UiP@b*g[!dN ++U@$-҄LTZ(f&C` HR"AJL@pk%ѱd 2#(_?Adp3pR4"Ze8̄$V{k!c &b537 {Lydd 4P-@kuET+ZlzU_1ڐJJFkγ5mGj8vj+VGα̋;mA̷)f*Jd-%Bn[۶/t5J{{*4ˀ6ExMrq «gUfڼ\g3np裏r2}Zw4-tJ!{gl|fm(Ui !惊bAT$Z9IR-jHEB&CFѤ! ݂O)KXq3!HY\DNDn%rI">aRTJz)2S&SISLr9E#6"dө;7;BBD4377;;5C>FSp~+ hA)\ҠC! D)exU#/{W<]tk7w:CEk|eJb1U#JF22D3#DUŭF̆b e)3% "72BNȌɉ,RHD\LN+$R1lrbG1.E5( nRGidf\$]%3M!M@yQ-&X)Sg)'ņΊMdl_8b86h'z52 di:̺gxmIt*c"49HsjE $I՘R J_?^4Ӻ֯^jzXox?ls{Kn%;N>쇴td}/1Fn*ըWDAUDVT(B!(Jg""dXB2Ţв\ͫ=ٛ! e-#.fbg$Ha|9 :exO,nBB!S $@$q2mD8B1QYۉ_ ,țbGSsJ?p1f_.1 ð'W3 mP~m FS IŊ:[O%߳2YdŰSm6d.NŧV%$VEBd'x6R _jCBn;K5k ;v&jڬ @zwk6ק8EAQ@< J^13{a~nshT,uȵүk|@mEt6*UV5GBs&,RPV{TDr GÔrGɔȦ-dAsʩP(DH.#nW+ XL("hҮQf"!r&%DՅ ^Qm>Qn%OR!#*!!ȫQd߹ Alz1ƴ潣wJִg)sx,nDsg06ly@ڥ&崤6TtP7כ*+3+;z!EEYm טNﯷޟN}\r4U8DUnU'#F5TK9)T%ᩧA1®BRMH"T#l葑H`#TAnrS"r M L4LQ5A!TdUWgy b ˆ T`43,[Cbxn#͎8Z]ܓOɅҴ 4@h ? , Mp^5H϶bCAɛ-ežu4T騙Ei/hČ"Ӽ= dvUWJ'DXЦս\fCiUЍRbRƦ~hXZ\S({ fr-BM'5lj+22'89ChUNAeӿ$WlB CȂNyr+!eRZ@ϟa20"L)F o\&3,2DuRA$BgA_,n-*$ нHXH7rY|cE3Ѩ'7EZ}gXJ S 2sC@,݋R5OPk5y訸f|Zɓ*P O/Uh 7p=_枴`JL=^ 0ӕV't$ PM0XFVŲHk lJ! T"2V E RSՌ y̩Hi&O&iD[q>u*a'.W bAUÕvܡ(LyrFkM+M{~`f 0^'z@MRFcpD7 ^',hV|Y, 4V9@S@0 1/7K+3N[ y`0x[-ޢddN 27{).L@VB԰S7Ɍϕ8\vw/dR\«*w͈s.DUt!9̈1Y&4]M65ft03FmR!,`Ā`c;|8ltmR3`w*Qbra@& ಹ`ɧ,2KRewn:ӳ2}"#I=G%갩Qe{f0Ni,4vE%u[j{$".HMEVL&+BD%==Rfo8؈cw9)@"B-U2rS1BKmTrrHjOL9C,};K{xz<@iPXSa<Xۣ(Xƃ3*Q,CB@@0 ^w*Ra!`h@TswLJA_j(UQZF:[Nf( jvu[wW攮3)* kaSB*<[1N7pS4FbDv5ozv'g+%{M{&y>\# v4 9Tc/k$KJ!j,u)P,x)ݤﭑ|X,W<XLO-˂"U:* "##3Lܲ?kߚbf9%(ݚ'JV xy\T$ ,WJEEfWU*Z6 kc3knE,uPyȬn ? P=Z9{F&1s3/V$شZ^^Zޭ״)RU7Zg>Eb)@>(B P(,Lz{džLUvVS׷\ \90uPC 6*+7hDi1j(B5VZSEVn3ͦGZE_4J $-"D}EtFafZ/_>Q,*jT K(K$QJOc,9Q`ŕŌB"ޙ2D(@\cx\/  $i#Ԕl njdA;0ma0l`9©Q^.3gEgN {$ 4)]Tr& Evwwwxt y͈҄l yHv`'EaӦX:O,V)+SY}Te2P7 ШŎS5[( Yʴ>f7j^ڢW4 D x"+ !-'\ r_(OVM՜x#}h"- <>sYHyh9 :K@f筣1?6֬mz7z7wz7^h42S)H,mRq1@V:d3<4Lq{*]nJ5y˗, 3V %/(i&IfFRLjpb5w.s=eۖg{t2g,q5MV*TU>o쎸&.ty[صdpPS ^wY37n]:6cUsST"?U'pjcNfx.vLs/Vygr0}~yp6cBs8jif?Se[OggS@#I[5((kWAӺ;+^6=+f]W尲))$ 71ݱVW'mtycgֲy3l %drS mwWT<޻Xw_:JݶsbOu8K,{UPw0ݘ\I!L(d"u̚Kf1@yZx $ 4B&[ oLYMYY X;.Np74Z;yWO:M1?8Mjd\%T1+Mg?]W-N'cs#މHQ.Jgb]SGŊ̣M0O]쟾^F7rglֿ_lnѪ7toi.ݱne8QuT,Y?fvZr-7G[ 像vqFx5{weMCnHR}^+>kdRvba6fg1B1oĬ1՘1 x}gU # bQŌB!\θkVYsm,ۦTd>X3ՠН _/ b'(ZDxnQ{ˊ^V:c,B4"Y` ""4@̼g5JbB'd8iةhtrL;ˆ|X+E2fF@&]U!D2BP##]2"r32TWH *  $QLQ NA\~V0Gfuս>"RKv26}Fm2r7Q^.JA DWhoS$dt͹@!0lz/:80!f〹5_fw mlaƆhЉk 3F@KDoHJfJ&&2~fyܚc647-EТū x WPhnV9eWbәb֎dgQL]lقC^MHJւJ$\w$ZTJBXcErY8\I,0֐wee(s%ZФLQE}MP{_,XpKԿ7[ .'>%7 c;9%ZȸeAgXQo-Ӝa|CNi=r( 8 x 8SF0.=oŐ̄=VːZv³31T;TDLS(@YW.5L]?ևcYӴejlU3V ҂~ZoILgObE4wBAj1XUDZy_ҫ^cMxz-I]7w^3qX&NΞޗCh(2ەc6' b®:tPTQÐİ2J DUg1-%( n*P6}ތ<7ظw@fh"'%̄uQ/hn:%B_qB#W @evwYv ]%xX:s [`v` M^RױkyBoF$MZ&A qjdLY)v~I IiF8m~2/HDm0"tʪg/ULs{1 2ΩJh`Q1}Ia檪t)CdXPQIb$'+YȨ2+qPc ("#j&`YKs \ ^IJTph"vF ^v6 vݴ 4v=ܲcu@ +dNVS)fpףa9*;R,+y~d"(efJEkCf2Qzk/akN 緭xs PDʺ i' ͌R2Jh(UsX36DRX YE$26C%RK'V2UEL(XQ8"hU(L(G-|̑rqtR xT,^/G@'{UB6ì\ڸfG,l4*W@0ၪKG c<`nܣtO?gpE <68BCDhKι@*hYPo z_؍JYtyª0 ^hAvcwU(dDN%#gyیG ;sQ%2B"},$j'm1LsTҴ D-V{ota`Ƴ3eTjt&DPk ֮ۏn*Cwys%-fb T ld˾]dĂfbi3,]D&TӢd,1lg Ոt1RLdV)$( W-Y%HE!A\ dTGQfU]͸2. @sHZ E"Hg)D.%6p8!LEzE @Gda蜨WS@B8Y{%lEgh2V-b;Wzͬnր>bBږ8EN $$LjB+_G6a: Duc4yRY$)*ZcJ! EE^ W,&ڊ(R RD J!VQTTZ$3Df!7 P+jZa g3Rt4H'߈ZǢ E5hpѢ[*!tFgA3.ɨd;rdQ&$r W5 UqIC0s x= y7 b&r༹8}n7G88`^SUW%R:^x>`SD (hz3*Se+^=p*n 0|eYhJ j&":\%ڒ5h:6t[9] w{tq#YSd,앵լ3żj(]2@+S)4Hb""!P)b :Q$JND0 WE0(^ 9SIpd\5j͡Ðf9=P= @Ӽۭ q.$YE2\?8/0(ދ$2Ţq P׼j$cB+)фtJcW}.722s3 Ia5qy[=))C8ѩ;CA20>E@+ 3ػ|`2Kts8@)tHinÁBh~v(AvaCV4)[ʼW&81z#L[vq* rjX|"~,R:"+*+1"FR'< \_S\JuШTȁq)! C.zȬ!)d⍅ tnĎ  Θt(Is HVQ9ٙR#lr%\䭕?+ |2A'زDGKɼN#(tYnQd dd[r  uc:2w B236cJWxk+b9O+ñ$Д ,|+(*DEF)eACDUT&Y^!# br!Z(o!]$ 2)dYpYg 9ڊTxOHmh*)RلܜP$iRoɕUI!!TйE [fDmH\5 <ă2XS@FzFj-10JaƆ{iDnc%uQ\PL܎"LV(Fc ekM¥L4OĞ uDJu0߲\1~ݚJA*UӤKES.&Yk߿FҴş-&K g̘#*њ #mQS)fսDQOV\$M'I^`~_?ޞ7W3W+ooy|Տx 2==m5~E1kD׭V i+|wȌ41jwnr|>>M5W{٫=)V73)5'+3y.Lg΂ 3 hX0?tZ ~dp.,k`Uy !^2J_R|>Z=NmRUeHHe^٣9y| f,fOnUo٭Wo?rQms"Zw;:n8@Dl]/J.9X٩^36vn~_~1su\I/vWM%Z6M>77w̚%ܫ]_xOo;JR/Kif@l\M\uii}??E tyˬG*O?M Ju YTwZl=&b6 T=t˯wd+[AƖf~#wٓXuB1 9n~iɿǑ[d9v51637v,吙u@`+N5$)ɻS^fLr*{ҶWw~d[Z $Yw07-$ ρ } <rg:-Ѯ}{\bzrmcOKF#9J|.¤q z`x"D@xiTP 2SZoi*pnq}wi6+ۻUѹwMuDo,Gg|)ey Q}&Jb6#) IAr62aR(J1 <$p̲LYD9Q '\YWdnA)+6}-V&^%<x8D@V1c+2+rAnt<r 9[I+pꢶu6.y7Gml ;]/~3Ps\S><Е1tlU3Dhk:lBkOm'i[MTOШzQ>Io2>DgtT\ݮ,Kb[1esa;K5 UA tdTeD#OQ,(DB.N! H!gS8!I'T6P$ %7cHesТr%"7 )yYM$J bGrO!KS n*2N8"SӾ^džfMCxM\_r0 f8>y-5loS7]ƇAa PMY@QL[4iCP?QjgۨhM# ^Ud!3T VtCFqu%GJ 9h}J(' itFBrtH. qdxYˑq +e0D9pR6H2EjH:5)fKŸD,m[!vh 刵14"7L'9Q6D%M>kOO"6P:c@)9$ULeZY.'Tc)Ep,3?rS."i,mfl5%iXbˡT~9LrXW2P5bqM>p˂EΑȔr*Mq#2c(J DFXBDJ0RYDHHE& x}]C@]I)$$KVj5݄Fީ2@Yr?&Hmfp7Q0l-dMM/@xP03SeTWxk̲w^r6VW,eqU-<aq2'/tr&sd(T̪. HLltw)MBȬfN1b$":ch9Y i!߬ X)_y@oɪ ;#(UTWkzǵꚷk5o qI@4=|4bld-W:+Y+Voܴy{_a=6{9ll&#dž- A?51LSmTj\(k=c+,n]VLzgV 6q"O . ƎHUeC@+>-IPr]C"3}ǔmc=lbZU-2tFM627)ʞ%!;=LDeVh hsɓ=*J"j l;K v$skpy`Ί"ڤlz@MzVvHuW2%P* v.сs*Df(3YJM( \*Jઈ#)" 2'Ws2.'p!(\ٸ$x+Sg:j1^"t XqXb=hy)֖ 0k(ܬo*ƼWr@>&=V]C Pu|qUx/Qf,/_węUK -~b\3tf\'”F횸g$#]&ShydTFQDԮDYђ;12(\Q\A9aldjJOYq܅9!\* KVka. J*d ~k2[;v(X,rr pD` y+A:T7e?j*_(z;wQ̌2yW. e"iZo>O' y*Z4DJYS蘕\̠j\s9X&c\2226 2KRb,QK3#dR(DfFI+KŔ"3Rr"#J)~_7#Yb33Li!Yn!c}ٮ"AB{ =o`;XZjgVdl9ALhg#7}<ƨazмM 9 d@QG2fBFFdd7d&d&QLM=c*,"!OaȔȊj9ȈȈS( ї$y2 YIM N& 3+,#'".ud98DDSQ2#:IlerQ 6*xp<&8p X+ůd6mF $U\rf _rJQP(I)SjfL^/|z Ό~ K0u$RWt4a$.VɱgFRJM1.mFDj#B\P T+h"ePE 'EJITe%"tL!|J?g2 Ĥ "s"BfE)Z<*MDJP( r[HbBnˡ@eZFFBCJ 7a]L"pk#3$ha`ж&̦fu60 daC؇Ɩf;7kpj}ddn"*c*u^M @;ffLonk,7ܶk#ON/f8 IY jOTHtRFFFJQ>fk!d<dM1ܔĪ-&. "8*-7Y^BhCs @IDƁ%#dT,rdEF:3d%ȭ8!uJֲg)RJ1׊xwUvI N ``mgw@xp =:z`7WHܛ![iR@QB))&){߿" =#0ӦĆdқfP3G3dR(V2d&v}HIJBP 8$D$Pa Dr/,Ȥ)(ntRuPh,:A*\9n஬B) RtnHJ VV2!n*۸hXVzɽ!֬ygM-AnL4,{7ɆL=lP.ƟS; ^:EPЃY%!y*(@ *ejJ ']!^TY̹ۃVuOtjE1* B13BdHȔQ قb!DMBFnXBuH8F )p 7"A""bl\^frqgrPJTȊ ՄE""/pD2C7`yP팔k?<,;/z7z998zw;7/ J 8C)"uA[b=IE몦ѓDP^)S63&/Zkr #^l-|6׶E7H 2pYɭRsqZ5DYʢaj*&@ʂ(B@A eHlF1^7 B!2Bd}I&2zB1PJR\D yCt;սd :#n UQeehkQݔ{rOX8A:l8RJ`*IShbh--rdq3re(c*(=6 OggS#I^$'#7CA=977F?;89?CC0-79<;6=/H?~٤S9[2(eVwܳ۳Nsuj#c^y&gy=qNO]ߏBj۷Uk\׿_2t(|uL}SEv=YSW{S8blUɭ.kܝ4a_75y lwpzpֳDw@%eO a F/;l;kg [Jr ̛Iʔ|x*%?rn"L?+Sr :KQYb+=E}] wb8 7`8=ɫ3>j}uVsҕ;)GhJnsF?3۞˝WlRqW$9߻_wiw9aIiL"w4%qp3Ɯ=RѡCD[O+}Swii+9^RY? [_Y0磊mHw].-p}[?4[2ܦ ʱ QϻE|& Og&NV{2-4 Wt*# 3N}oվ[omlfT%sX4e_H?d$5cu\,gRP(D{7uwwWm۶cڶm&N\|&S *}3v"}N80H2k]3k=fl6{ >qjKBٓ.aҡSc1m +jU!()u=˴cJvVNHJpS/z+""sꈺ/ q! m)ymVԌ;t(@*9{FF5oc"p.߯Yu^L,6d;+7Qr+3T-{u J$7Q|Rt5vOfZ޻{5nf.#T^`JO_. ]ٷ4RYLM]Me{ۘ1KaXLŖLrAo\ß>Js lj)z5>奱Cs[yŘe2Vԍ*ꪲB˙E((nJS`&\~EO7 #Ms)%:ik6HykSוрe J ' R_]Tr(Uʁi}ӟیRR!#+Y(I(Τpq+QD[Ab!Jlt E8Ht9Fؓ$d Fq,M* Cn.(7}iH"KX++s)G3j%8{Ҽ%C`햅I֋V(-9wqI Sn{]GJeMg>#/TpeD+dH%xj/-Ez$\ u$/Xѱ2g&޵RQ%bE*X ŸVL'u 6'T)SEhAUu7ۗ*rS`>)JGj )i lLCETVZ&SF1 F@K˪ b f+e٭Z"Vc®:ò.k#=*P%fԪBV =\V͖#;[-6{ڶ}Fp` |Ŧ5m {;;JN!?s&Ɲ}g{-w{zְhӚFB!"L5a!" $SlRq[~|0z {G0pһ׉h['&2i(6`ll.@%hkiM]hVcS9^|]yybewt \\,wuo*O. :J=Y(&P$jh G= !D>dG ̧FZĝC .F"Ցi˿;]+ 0LgM_Lr%F`@ 7o-n'z/s׀QH.'mF)e,+y\$`y9.u~""3ʙ=tA"(Z&K=OJ/?!PbX~ssqYpYYVsA߶9.t"Ia;B"c^eV`4wm[8nPp*p`v ͏r=4Tin@Ԋa6SjT=.ۆoe$sSXf<:~}GjΉ,\k6xyߙ#Eh'|nAT %kyVpl/n*e݈⼯1D|kv *U=_jb9Xug v#'R:D8׼"h.)w<6)e8t: |8d0*" W0P.p*V1~JZ~[j(]eP44RP(^\6'HP0sudA% ؤ-?]wgFڷ%bOggSĤ#I_a%(8979::DDB';6AB@>9($ .C@Kɔ`(N."wC4Rɼ2F$Kf|[,7y٧ݓwJ?SVDQE5:ѱfU5TBD-"i}P4%+e0.*tބ(dA,)ȌjY&rd\(,馔a+.eQ],d Y L1);,MR%f5XYҮ)+/i C iPl'MpŵUANߧժc@M.'[][jokoNRC=S%-k$ŎHY 'Y2,:G9(p YCz0/eP2Q{RJ+nnFԴc0(t֨X:U^%SC&Gi7bqp2b$MӼ=>l樃'Rij1HfhYknXQb_$Dt+#3du047#MuYME*6.[TxqhI'6P("Y3Ycri XF(lE$Xy,6=@-zN!ZUf1EATmbO4< ԅx2׺pϏVGUae\~ieX.(J}ot {R56K +D NYaW${³u;ޥ$lagZ!cz7O{/k2YkLV\j˨j\:U.oX~3)ncQ4EQ)tDL{O+yiw EWY`/ "6p$fYT"o0u?k^Ѯ^<q2ڑv-jTꡰ]?jY!TU'3("DxY- "@%$8Q˜Jljj aD)#e@ rv}Ǧ z GHStQƑ&z.fd.H7De P.5fnc zsPڵ0Yo뛳Ϗۏs[K]V$'}Q;|bs-GzkvqRJUenzג^b-nAgtyb1K^5 TLɳJBAf2!̌\q(BIEE\$́RD,U##D1N&)E@ c<! 2'}/uYK nHd+7%GRr,pqNgQed4 ~5nZ f:vES8 L8֪J"vh+Zf Cz "}ffF)%s]91hUʮ 9UrPǿ8/WrswKAEu-yfJt(f̰*RB wY 4" R9bDdF*t$wȉ Nd&IdSrPʼ`yYKddh=XIm3 f~:(Q,33s Bl"2RfRGd72#d\8:%D!8%Di#)(ndf2\&$RJұSRH1<l|g [2 xk⭗ۡevX8e MaΉ>3ܑ(P س%CO(EuA x@ϙz ׌,TYY_1>S|,v(j=ݭ=mWA"z@+}FɒLJdo";vNxhQkDqݻ}~udl%I$2R@FA1D?4*yBRH).kH @mgA  }q}#xta ҥ^Ydjkg=˟٪s{o81uV?1r!HDUV/CWXTw|"Jc2 MD FTJym{6|'йUk .| Ѳb4IbIQqD1&r Л^kʬ6 ;&;i#H.R/@OABR3S$L.nmw!T%jSהsnue7h?c>VvDA*688:>-rEoZ37^.c 9eTn\z+ P 1H޻ӝ ؔI+:_B[ҴM4 ]6dWnz @TEEx}o("M,#L:(qbPfK2N QM&Ŋ,REp) 6*"H&ݭrBy n*˔;r@iRȺJWƘbͶ-OkoXAFfbp7(mBip+س"f2}"0,^$؇.OIp7ef& lWq0KFb14T\A4JpIFVNˀ-vSRRq,ȔP Bf!Mb1%#Aq6#T&Vx m-̀!KG'(Q rt)A++0pD&wY%k@,ԂpHXAqK}\\m0՞1 L8F怩XxF1(+r:qזրb^.U*{sL7JʴV ӯlMC|oIbHn CclRʃte>YLDflٙ=y1ۅ@LAj$f a"32.e( EF6 !ВNHC2$骃 7"#TXeŐ*W$aSAIHex|jq.FDgtlbR f1׊ @8 Q@<.{wOrךpkTrҀI] yyxTU)ׁ5e}djC {'}?緗i\VwZwfrRVѵ))*AA)U1LƖJͲbQF!) AJH $8,&W "Rn, P&S(]G, `qڰ$:M.ET!  C/3J$I㬳H~۹zqc/.@Q5 JFyw"?5;gzQĢ(pnܸ $OL#.W4Ջbq}q:w]֘#}ڞM7Ρ¯=q幍BL)ZUE"K̔[Ȑ=4ž"Nb)Hdb*bp+ R*) rn$RfVZE\`-)C$L[]E6N +lTIH[.Cȕdʩ5l{ÅkX8̐i]zZ ltdܗC[}#v YD\*bP?r &Z_ du|Zl]n \@3SKaeOD`xS)f%L۝xfd!+r.5W?<&KJ+CfGA+ZG ="@/*0Z*#W lQFپmmۓ}d踪w@d& Җ9 [IݯCUvB H6F``$KBXިmz[:"XɒҖ*5'.HIMlFIJnj6U8_Ca#v:mo8{!\نEyJ@p^O4HIBY# Z!#EE Y BX25lL;.#+*)p D PWj ٢93#DdrX2!ld!rQHW+0Y)# 4A)ĕDq- B:%HMt.JXAݾ_&On@hN,q7GBoY<-8 mCfx3T( J>L %%1+d$5uWӥr\fryjdl:?^6^3 "%Dš+S [{"ݥse2:ߘyx1m,|ֈ^(#DX\T<,Զ6Bzʉjm꬙F-LdOtY|j4-&c߹ Ux̽jU*(ݭ5cƛL}*çё:ҌM(LzP,vZmPQעOggS0#Ia}-%7BBJFE<97A>D4(>>%64>|K΄jԒ!u @knG4YbNFdt\uɈ鵺) k,?X<=*!#Dj-FKP~i.u'k~lD ($s{/t?_P +7^ԹF*r) ]2֫[z3uzݲ tXX Ar= ݁$Pvi}mafmȬV`zp]P<tFt cAM6`˳|UCȍ H gCi"3'B :˭=Kv6Wf=zAX5 ^R"UܞtRҼH^(${$AeYh h\rUڊggwڜ'w%m N QQqWM۱5KU+ZܛfwGtd ͌M(,nDZ#VAH˄le\B 7d\FKJR!cSTW-]Ji+_ $[MBsp=H_fbTE W\f? ]*Q *PhjmPjSN=R"Nd%3j@pI,Drbx"]FdE"$Q<'NtF* m.j+6qPF%HulL)H*8m_epT1QOPx(8t(I+q0:&y^nF/~z5}]7 f13S^WCU=G\t?]yWWdb5 d <B,b{ ݻQJBՄ0:C{q黧MEllb`V0$ Ǖ4iѢ Y˔elg :AG[W$4dH+#T{Ql8mKtsgSյ~nv`#?H,(*.2)-dT.C+2 IFQݪ "4(YAFE")*8 Y8"DCT'",8"2aYriAb4TʸZ8YA2f‰3Q Tcr+'I5 ;$-H޽ol&? `4=@{ -:sS <V! v4 i $*D03%1UU5S l麓7g.ZEuT(e:#2r22PΌ@ȈJqr(pb7eeV2e"ՕrCR EH!uxlPn!*"+ĐMq#!2XR$A N8Fel)‡܈YPMZk% ҅%1+qi9mT7md\KHU{ъ'N=w ZH!fs 870JC3v9AA6z,A@GmaCh-RB҂ ^jL(e@R U z5P uT{Iޝ<OuiY|D>kI: 5 Ar!3)*V Š!"dTedQdVJFHN" )D&q4aU ;wCCod 2Q2keSP*S-3N#ʑD2@&0RJI U$itŋef402 {e?8!G!l3(`dR\T;C"+g=?|浪0䝴51S n5G.*+Q]Fl6:Ȁ̫@7!%:n])T'Q)vֶ{=If;Zʬ})-h"jhDKk23e{+WmTQ3:6m>؍#nGWg. c8 +:5VZ*M(i2exj*1.`:AdB3b"T iȌdFEB& )N"D Ү23WȨ\$ 6Nd*u$+q$WG[.p֎'#{a}12>ÍIcȥ&l7 3- lk@T~A ED0l۶m[/wfFU@ HMg"SoJ@  O0B7Ft6۬fVfmuZ&p+@63 NY>T%[Ή$TjܷKګZnw͸m ͯijpBk[ӐF"H̳1SӆW^˨Wѱc?j5y 9'u]ᖣ5jemD) ](}t)cCw&Ue)BX{&5TUS"2"%ke4bw+Lee)Y49 \[MQπ]b( k7iY5{`.hhb0 @wd€>U&p IK#fF<􉒴H $I&TV_+)sk1L3a˲\qC%!5 3yW| Q{۶MuZkU7ؠ L5-Y. R@ЃNP`Fc,+Q,G1 y]mLA{;zj_ӴβEi(I9i)X{|}!: oԼRz@97_Q:S.{2ZݾYcgzr_co{7Q㬧]6nLkܰRT7c/);Bt%̎,EƄ# !#Tb6Y`bш(#RA$ɍb9MR Q2L1L![rHleR, D1feS,Q2 l6 %:)76n`mNӷƬvf0vQw4 5MdF1&el3Ngy)q6{AatIh17 >p5E@R(jivf6m-pJzvoS!l2 0-֣SP^.+uoViFQ*PB1-j ddF)F'l[ Ba#uFJ@V$oe>IU P0,6)% RIeB'2nzJIǰꆘR!6nL,dJ9rS,}o&4ƴn- Q-5Z/pv XHjT(|h"N.wqe؎ь[aM-"GU IZxJ @>F b0x|R7bիwk^Z뭶ׂ`$/"P My)3 }yu,WI9i4ivM+IY S܅FONlu|e4v:j!vs1\lﬞWR2@J=J*SzmN{T;1HGmîy{L-N٩gw7mI|4 #o>wyH<`<}vwh30z0UE=xSO Ѿ} FfgcV ʷ8kx# T;cAƐ qXӹw1B& cY1]r% dQeez˯/isgn3m5njQh1d٧7^w噫N%{6'c?Ϛۯwѭܜ{rumeE:de|=wS.=?׽zcnC|YwO2v2zAeou'sQeR9XRTiUt~aK-~΅^w)37ԝS=~rqdoϾXkԥxM ޯRjkihQtjkV*bL"&{7@bwh؛]KݣzE,%Iw=zos[\!-Gڙ=J|`dusA-9a@=e l A$*8P5['4m+D;_DDP( 2bXTUuwUuUlSwwWl+\N"8{8tg sDA;'$ e#^6No '_*2KH$=iU;@) )4D5æf*y}0o͹V\mX` 6y:S& Ӊf+ĘoKo~S\%:#YlTeU( 2" JB2@H5qYv1Y b)<b9p9q2Ag9{&7&ɍ%Ѥ-)qeB(\J$ =x'Qpk`Vk;1O `mq#S/0% k /pHDH a簠0e]q>Quq$r%aˤ â[ya^ +$3j, uRđOBV*=V]i{Θ55YDc RQ۳(/ޯE\!b!'7STdXTCª-jcNBK2hYR*W2"#*c|/+{LZ H{ (C'b$tgj@Z?_@QtkZ.,dߕҵ𭽬` OggS#Ic"z'5@E467<9AA==1985>79r,5]KCg]CEJOTrG^2+5|,JHB*xVY 3@CՅYҥh\)ENv}:mºW; JV2d5f+ X m;NVDIJfn9\v]V'L,'Ҡ`M#,VskN HPBJҚ%Y|U] gf`I)5+L&@]t?|yDrKǰaSb1ȹ̳Zzwezf,`H@D|\"ý&J[Ƞnؚ͍NԷ;Z)f1 T kŊB&`ZԥVO{jyY2*J%q"K\x8ĤPV[⧰Q7LkhLbնflMٕx?l3jK/kjglX^tiZ;)>\%VO^f%j+Ɣ,\}Nq`cjJI=XmZ94ڷ+ {I9d.hA/%(ja[*7 3X3TW-"E\ V ވ!؀"m*4*b!DflxS*:Ϻ@RNŘ5v7sgj3cq% v2͒tqYGH*9}=b&P$0;B|"\ۏS%5)mu5gZm8ܒUߓ.sj; rAsP@a0/"6ɩFh"/60^^hٛ2.b2Pda >!&ǎ`IjVRFL12WK 0Q Xi"$vASN@N3*ED#B"D-GuyˍN_;9VqP#ҹ8,ڊY K [[PN(- I4jQwVotWUJڶM1Pb&/bH)(y40Å(5@ n ` QB!(Ns3އڴ+Z 幸T#U"Bhۻ4MS@!%ofTIJz@Tq~n>%Vl۲Ӄl+^K՚bPFMj#TՐeH2T(NNXV܄,DV DPP2#YYI a7B!2E(V(ʉ& Pʨ.e#DKre-)3rMT1؈C( E<4E:ތ ܥPTLUWG0) [pfc9`f;׃ϧGaT#*R@Vكzd9s2bGGm%P"4$LS*$5S5$&kEݴpm$Cc=_dI-JDžHYC DUt!@TEm7F2̑dtu2^% B&"E&BF:EBP@t% SFB(8yŽNI-љ&2AadtJ b(* G/t 1jA;tϋH[QH4n8]NOggSå#Id{)%:7D;A5.-GD$ *77@CC&7:9;85CEX!г<W`u}$զ=9̮Vin,TCVhͽF[^Zz0R(EOSCK%eUFRW<ާ7ޚiUM fVe r  Uξ=}٭鮑{Mz{gƹ\ĕT<&T! {P[].DC D՘) m ݟ·ͻ1f^CPU3V=nfkU:TE*-v{;޵}F*7G/:Ɂܠ6cF0c.!z ,:q׸{EjUBa1wUx,i2:H©( 1rX9Vww۶X+ffUUW]Ff\~xt#{-G#3N!JE7$;fb=++z Z˥Z.K/G6?($I+4J D)2e,~@k5o%v^@Q{2ulg%A: KMCWbortQaeqFI(j"3"X09:$)(h!3M%!@S9YT!S4QJްLƋXnp DƟeg9"H1k"H!kk! ke@ J y[*!?.R]}xo6 UD,u )78R3,܄˭ZOe=4i z(Z 4y䪢.=yT*卵S]LBi<~fx:1A+!#㊑tdDQ,QrIJFF> Q!U(pbZ  N"*0>.B*$]V22⽝8 0]jeX6VQP $cc i- j-j^ލv@ܞ~7VMc2Mi] f8P>f7qI ڄ?:oB EwK4G2$\͌)3%QYHc Bmش\U%1zEYT##ґQ+唒bcVP MO-gTPH2) E x @)3IpbCfH+2B-j tBp +YȨfd& X |:26'2Ns.dcHG %KlJ"$KP^o 6r,7潛e9 tZ׽*@@^k,*xrA匟6b!a:(@h5#PJʴVONC. @]"Ibt 7rJ)>=@ЁJl\e3hD0#vwUU1uȳ>Kd#͉bnҙw''f/I9nװPBVDV " -E ؄ bGY͜Ktr"* 1InV)qz=2ndjRџI RX@M.%9 DNY$}11NCF`;\{7,CYY ye)v,HNtFH(Psi؅x3OJe\zW (,>r~>Fj8*|f={.3#/sVmʨVJrːQK)#EU*QR 7 ڦPsH 1}qEq[ t[Hg"bQA@@iJ1]W'ĚRءCʑq##kcs5VU7'sHcVacź7Hg p4fv9ZD*U S_#b:żo\LUaBF9(4g,gnGvh6ۂ=f#1T2u\ҡO΁jh)GUĺd̬&%]-kzc0*T(4HD#W%nwVP8zhكm #3D۶ c-ݻ <> NgÛDK'C=1ݚQSeTR(Ym~ Y{{IHtc&rd)Kx/9 x>qAt!8QA* ޖΙol m4,+:bX/BJ[Z #=IE42 ̳W։ĤLfD"l2IJ5~kJ6UNѶF[6=gТ(2G"P-dȓfd%zKW4jbEiMȀ2h( #J"*F a.I);+rt.-]% ;(e&dRQ rCD.Tۉpo![˵Qd&Kft6*[zfKxsO;Pk_ u `TT{K=FWAp!N4}LWJ[rpsSq[bwIK 0aѧɓvvR1N,xb+g7;CR0wdް(_#ȫDJA+;L /Itϑ\ q I_N`Iv` !(c3e9ch%%Uw~1CP-%N <9I5w/JgW ʕ-fA'؄οݰ>p|&R4(P\T ZdW)gW\(RP-EgT nm ("̑Jz?Rä܏n:XbY]w]ڳ޳)u;lRlx\)a!hqJ" pwO2&T,T7 igq8~ /OggS#Ie&%BB.8t2ӻ:~l0An@ʸdB6 8AJ^U#5S` ERvy+$] U-! ,\jV :M:oS r*&N.QK)Ie{Z"*&D#8`iaS;G`^?: mΠn֍у 9=$0^T69:!٩i"Mk!Hx3efL{+pդ%7R-mFNF1xz}߆q7| PjfHkRVFS%mEUDX57E"WVJTP ̈bDPBD##P redFBOlI$x O,@/#r(<x)/%ӉV<,L4$ l4 03 k9 ifD1bqo(86I+NYUvq &p7$_}܍\(ԫzy7[:\SL)yŵf۰U  IIO)MNdyvptjN]F^=Q3yUJEQNa4P@ Cb Sظb [&fUT)rX )3#sBti6s3sH!<44=p7]##5@- K#tu6HHLGB1%O=H_Q͍"ٿ pr9O04ʀC8DF&% y6KF]\*ݯ"#L.R^ƛ1kZZ  Xo9h҂t G8{eZU >Cj&c־8]2:uvztZ}D-4UFDs eX\lmk{淼w[<T)@E"XD OiCe2+# ŜJAfq Q7|~ue\rz{3$~4/1 5Q'*xi1,YLiUqC8{貽ÛF)cɼmh4pqȏ& KB ;Dؖ *dɭJ0_=iSmcλszK&A@Z< 2P(D%@ FR53/[ Y!'OZ\4.mCL'i_!`je2ʼnJ]y1HUB!RLXIrbҠ*m3ʐ!e2Yd|ʜx+E`+\&D9E)=+o%2)7=) LFc")H,IS 'Ș(K"2Q'#Q5B1YH! e(b$Q$2dIdFU)S:8] )e @B2).(ng}%dғPr!%G\ Չt Y Esq.(ꂸTDhBn\z4\P4GLc,ZDr+ if^[fDl^ n61'@V^ /rS^JYv5x3OQ >ڢegIQx"D =iE$hT)SQ6$#wN֞Ė< daxǔ^q ]Pbʨ"# d Ȉ,\d!P. %bd,<"#'"E "R("}!JG")Ht){űQC>"c8 3.]fQb @X^)<2)0˄K72NBTRmeZ(ceFv!s|. 6(3EJVY@q:e{;vdyo)5,+~fz\NVf֦[o'w݁-Mw25^%">5' t%g)%.Q$# (l!Dȱ+f!3R ER{2Y.Hzm$s@ @H%LN?d#btH62B7VdLM!+`/Y)Lf&v$ 6*껷dꦒih 6e@\  Hf7pF$޸+˨Lڈ<&Z=0 i D+0r "f.\pO޺6lYytWc)c@0 @P9ij.U- ō-tn!wZ^ooN+߁{k M:dz@zg HHwm].ff٘5>õ/d5OGzrCf|>ی^]2lq vw0D bHWƚ57!4BP̢Ҥ"Q!dH2–' S1b$)(3q#E1 Q8E љQ(%mQ0LB@ fKP ZD htO)QVn@v:IdjAD,Koɿ=`M^Ix4Ȭ47`olL L=NV=Io%t@EOۮ ޒ )Ul­W`d| z {C]gq7azkdrAJ׆>3P#2z攦mo./1ETFd\ $@f*28BG^"F&#Di9"3$PCF*22' /xxxrM)e.2$O/"%ԋoAx$d4lhʅ[2b`ilj=aQd:$KgLra 1hP hSp(b1DAȈTvdktB=$ )QYu bcPK8mx:=z,A+=7<ߟN@7gu.?3gr\]Ϻi]r,EݴC6H~,$a2 y XѦk7Ɣj$×dy֓7N=R+[M;<6պ[chе.gór|g:>Ze\ƞXiFQŀH*k}$}2ĈF dDlaz̼͠Ew%.٘2e!{?4[G6.iIRo|ʜdv0Ǖ:enoJmWWe=Z9/ CĮI9ޣ/7kd+oI_dTս&f Dty#^[{==K~NH{=Oug mc_F̟:Τ2/s8TW6vfv=vHFSέstɑS=$ CfO2tKBc d7;`G=3 px>_sZ3Vlb@Q&E $>p %V宐mi_uv\~SlJyy7 &/崌,]yʎRjKu8$]"/ %S O nDjtKQ,=2մSdM n8-T#m r$߭w7n}ުSU{V6Ҏ|n 8aJJ*a)ɄWcmR2fJY-VODUuWmキQ7ml._Lu#U^U*Azt;pI:Yf,AZH1ںbE9rgi]Mfmw|j -fM:\6m@5*SS3z׊o2֚k XOGq?4{rFFwk \246J座.?7l|Ru3; RBs("2Cq*F[I%3rb,FDOE!RdH(p Z!$.!`dfŠS]dC&Qe(\Bl40@B/ 30I-"֙Fĕ CH;35k,W9 ˙$'[=l:sbq-;0wqbaQj7C"#(9!jW kY(FFnobL B1L% sv[bddXȠAdLDq7/HcQDU$#AB~HZtA'"+F  $HUJ3F+R撑1pPAL!f͞f) A_x>[ZAT r6p^)dDAPg&R`RLs[!,/!= *l^TyÞs>|V@9U1~ ְ[V\NY`Xx<"z3u8u -D0U[U%lh؎t @z,lvvR\12q {dQM(TiW]zs @Ng  +B^R"d.m!]k#j ZIsOi=wp[ ଧKYyη,{[vS) ئ4ý |*׬ViUaq}X p[;͖MV&|Yջi7wjipLNkf-)2ʾ\4RN 7"Vn+D6E[5И& ʈtZի΁Ө^Qrp1MgGY @ SJo5[{tVwI%aq*n@IiAYЎiO'EӪ;J0ҔH̯#t'nRb@Di<,23 ŀ~7o\`afHQGbnY&80VAvN (R Mωҥ!sy{*[|du.k;^f}\}bE"bd[؈(Ȝx9(cS0|mV,^t֦J[   +%eiCAT@&ݬ9[xr H̸; ;jF;e@n  (zMVO<;$fУ]o%I=eq ec&]{[HVDƒ 4F Ib.9.fYRV;#͖KY;skdZwҝJoRwN%,<@vPU4`Z̢^$[bmTg>tZ'2^'eB…-n' Jb5052[EZ Tɩ<(mK@FP`d O+SE7x2 I_E!p@&gLBwj[>򊾓TJs@pT(@Ai7Q[}m^&-Yj,Aw敁s lv Vz7bf(14m!l+ NUSQ] `S/P)4@;16:['WFh |.#jJR&P(CհfߑWv{!}Q,ZMEP"dq7ݕM[ju(lVGTL 毷_V0 DֲeVͼEcu?FRKc=Z.BRMW^]\]i4`fM[>otۃ<$cGn|rqڏ.Lܨ掟͆ rn ,ؐqlFqU2.29]g@VrrrSrUMq sq.#3䕣XnRU❈M.6T:l$deNS0>dQ RZ[Ȑk7Dqi V=B@k5(޲ֽfkn. )xw'.eNC&tM%`Q,.I Wf Jr憦fb{vё iaBx$'w %VFjy 1Y)u(Nl?l;.wvOggST#Ig[:%;>% :A]iYw@~.sZX/hi{(i4XUDZ 2uNrGǐŊ2 k;i{'8̟"s'!6 Jgc0cͮQȀbWD%r+s d-,S*E$)@ *匜΢Y0QDA1": TqC!4bCG/`f lC-{5 x&W8ߛ4,z56n dqX˜Z+M2U ZjRL%~@NnxǛQ,skpgTXЁ{9N.кȇ.":TZge+D*HiԒ-tQ@)rEQp-*i.G#)]7& |*a6BId˕-e Ld(I$?vp-ଡ଼k$CӾ&!L1p !8 5lv>KMkX142kepov=8WQR6{䠑HH k,++!.3 I&)efJ@VC[cBI73S}suf~8ۭbKFQIBuvuT3 % ODtm QDdAtV+)Z)9E\p)ĥBK QfV.U xNΆ E)/fWL؀RED\6E€f'8 X44%d.qSFqJdgw5S'Vd6ZjnF_=6s\L>)9$ 5I6&k4l;"(k|\s+5SQNE2I"zln5vb q!,th ]iR+Ĩ-m+8$/\[:ը[YQSky!mbTΈިE:Rخ/}vGŕ Q(<̪mr۶XD M0a"˾?sڕˉ\*#I^BR!C)lz֚9 岢21>@] ɋ`pxxC#A,QS36mC?<)GBǷ7SOO.xȓ7UVӘW5F0x%TS#C0G)HK0q7]Ȉh Y^HPq <73dʲT*# %͜DHƑQqTՍj.l 6kUu R\ p2eRM.@%2df)W 鎾lvgHkǙ5I?'1cL}tY¬X 84 gp,nuƒV𵧔Jc,DI DLfԘ{oG=snjԼHr7!D.r\ohS!!/07W Yu8F!cBadD(*b32'$QVӤDmq db%&BAt)6|`%#uFFUdTEB&JDwInAd\!ٮf4Lb"{}"$-9aWxwQ3e{^ O:.aIyŬo{.8uQDXjycJ&d4!Jf,TtPH̎1rq'6friCL2i*1:-XUB 1)9S&ѵUQ,G @QP7SeJIP}5䊌PePlBZ2rD YD-ikkUϞضبDLQtA N>Y엔~[N6]AZQxaoDJBY8 ߐFu yso9%Qx13bT 6PҸlh"f;EtפUJ )R222Y.@Q%DsK#)/h 1E+g,AMErAbdnH"$/FiꀰG@#+F.ٰ#kA8s=dzy رMY 10`zP> .n2C#ݐ[!\3%RSfpO_&rXpuqg{9.@>v* j r9leAEq+hw")G(}XDሌ-UZDBf%*n CJ . %Ͼ贬zIљ _g]Gn2oa3Oge(+IJm.8JE 5NJ օUa[F"xKIR4E te,x zX7A*e$|:PA&M7]p\D;w^%h*VIvaTlfм2-,Ke#Q.j1jjnY)~7owuwǠhk]re *dJ!iَq[.սcedm(,a \OU=ͭ9}zƮ*iMRc V=Z#c4מw,4Ta2)['f~ߙ/y]Nx',ntj;Ptӟz#뭸mt5NŊOv M-SȠS(V&/;9OfEl` *E$@$ST<"dPAI6Y <+!,ᗛ9- )tP8IGP$DIKDZ嚲4,vSG FQ3rWMhYv ^To!A#psIZ:,fm Bà(R@m]8+HDz36ʔ2%V] :SX\y6t[ahƆ̏u2xћ>z]FWE]VKpXRWERDUT:V@(JJG(b҈R EBJ SMBe qR@@r$r(CmXKbፇEYD=$v$[!>6@"lFhQNJR,*.c PؽךMTv7j)08OggS#Ih+(?:G--@?8 '68HG87;7:97A@FtB1Hҡ4j~X.Yav,*VSXpwcNcg jӦ_q9IHU o,{:L PJٸĝ 77}t :p财/Ωy|l0 [utTT+WJzh{{70{N+)ͩ~⌐P$y XE#II ͗^ %U8B|J㋈ #ii,L@~6?}s]8 8⦜ӭf=b1RWQcb)#IES5a/DFBn5Mʾo!c”va Y@jW!|XUME2vk-BׯH0a6y4mzbNoM/.0( G,qfQmjq (Ǽpp~+Os-?7v劤.QDRz0 +alb,:,H@6dvՔ=+RFTRQ$#cqʝ:wTGX Y @TO65W2fZܣph(@ڭ1PVG1P0)҇0ps# *~!zt[t!PH,@$I^H왅EZ81m9Huy~q 9m`nD%bKji#Juݞ9vL^GT2Y^QҩVbw:-H0+Vs+mۦ:+l_^{4T&MZJ 9&'WVjD\~ΤIN4F"Y*s ظ+MV t*` 7jt)i~\P9 &)nC W8`P\RY<4=lm"6#y|tܶ8xQF"۶Z_2*yqqհ ts?U'QjDYD5-EZ oklnֽ{Gq z.?(֢",$EjHDFPfjTBWx{Nv8 -Gs~io'[JO VWՈҌTs u+vl#2n:T8[VYAG@9CQee2;I!h e;PȬ(d.KRHũ0ʰ"27ȭt&9H' JaÚd.Ry!g13;QEBgy&[(}aG3[Vz=d&W!u]q: .V[d4u, mBuqXv"U$Fhy ف@Pj*3ʲX]gTz }i5HMߺ=ƫ*\U+\墀T g7حQ33mW,TGI(R뜀=qQ+Ŕbnl_U|'{,cCxٕDX b*F(Dm1 64J @A&`Z"#2B8 0Γ5f[.d!:9+D Hl'78LOK*+oK|Y%c!)dD7pS!\ b `1Q@Z eB3/qk[k TǪhPw0HJ)SVdDw85Q% ĵ \C4vb|?n']bvŸ^傌JF>"W&I(DF *l!,eiK z`@0Z1!JP[s)3K QQ .v=r/F;BӹQ@6]x[cפ̘ m`ܲflz `2! wے/tשn!+2Soq̏JUz"m]ݴ &mIM*N$&.0U@d$̲DTdfR.f uj^V ѝYlJ恾"F5ydpQ\@udJB5{K(D]80#=}VX@AZ R’ʌt‰d9Bn `^:c%nf)*ffacP*!z3fcƓT$+EAV ݧK 2,U=ZŮʅR"P1.wUJ͞gtˆg4:/JkR!CuWV;PUUXbf1I9r:g ޏkϼz]m/;U?*C[ƪ$ҳ,B@$I$s)U~Db@oI1nc#Iluڣa%Y"z i-8IDLӰAQ F(FQ@ѢH"ٲT4m#Rj! Q4\EErH%'(2+r)E`)TJfD)T!@\Nt5 g3=E H!2`]Fl8L-訶Pnc, @tP!EfcK B]KoV ׵b2Q)NlPN\쎈 Jtu#sdoY[VAȀ!¨d`Q-$= s;Yxx0royd4v]  GM+ cYЎr%2BrGVr3ld1) o߬'>ͪLuEPxL'PֈH|/W]&wYv^tW|ax5Es*b+V*̃Ɨb骅ΐ!HF:3fFW \I5!T3+ߕ,f/^M raU„! ' PzW YЏuTDD2Bfy{$4cln}QS/#cj}V<(7t(V9"˶Ѕdgڬ\uW{^D!7 @e8=#C$ HnλY^,ۋ}#{xREb;"p:rA盶v4 P=//ٴ1d˔V*GRz޺£wٽf$z^hYTQܶJHBp_M1J)%QPBW"qe1jjv)}Bnz's%)1$PAANgdPQ\oX`M[-FEi \F\+4DrB!e̸RuF'!] 6!Z8 \P)d@uƻʉEPfFvPed.TrI1T]%wiW@OggS#Iiv ,A)78@DCB<'$7766758GA((7487468;17YhQ-=4؞zTM-]_AY7(+J9%\(^{hIXQUQR"휚``1(3S&VLG|M+WYۿ \LSm(2*%".2"I*!&v (3**F!ZT6A:JƘFx.JEX) UvV(cMxVDFW32+8jXNp&@Fo€`CVrc Ɠ@F,\&!bKvI$m2T[dxZ>fYTޘff8FꅗՌ3A}f)p0*Р̼WmwPS.g!E❻@&5cfL/{ԫIћ a>fu檍} MW# d+D(-Y,WtTЮZ(]v>BSf@T1H8 .CAf ""-!(fVZ<RkF +h(Mnd<x 9 6ҥ 7 ȺʳviU:ULUByLkfeu?, 8pi"QfFV*N+2(FGM{qZfn6(dYUv_ϫ_ZU5?׊Y,+dy bfrc7mݯ}~֞ц]޵>|JWC9z;J=L[,jFAYn%3|\xfQUWR:~|2O.(ta'C~ P_vT 6w44T".۽k^=mŲn4ԢKA'J,@ &0̾f( ЦoFRU3/sY+Bmw~onV۹8#f'rWYSai5l+o8ϙMT!$ ڰY ̌R@53LMgQd4DrD 2,ffA@e2(Ll2)*!"HxU{PʬΔSrB/3z *BљJ8̠TD)'"u.4Y2DI9!)/]fJ `V](4)Dl'n9n֕KzQ'Ej2\Z@^pL&Cڹ Ջۇ7fj*Q|.4S=.6sx~JaG2W)DN11EQ 1TqWTh=EN(Ȉ"B W@.LSDd@FE (BF&r+AH7EQEɒ$sSdRZIZ e(Bxf-Yq"dK ''62[}?p?AyoF֎ `(16* xV)x@d19WgshE|>֖9@f@[ 6 w̌ɘG57l{KON׭K"mkL"q1LiE+rbrd"(B@*EMDDTs$(^dy1T' (Ȑr82S2,A1 !PBq[`7NqS9!H,vhiJPHPNS OaIKAB XgE-sɻ~A32no7@* ,y (1{ϥ(M7GkeHDSʃd @)̫Q/ieٿEv8x7dvE{Qi"B d+#(+H2B,(FFJQܮF"j', Y!#Lb%H "H 2O9r*ʕU/#IXP\K0 Ү8o U"C9Ҁ Shڨ2  3U9 ~BVno#+ e쭷V=NL8PS{a{;>wq=v*+U|RFP#\DN"Ĝ")UQfRz?R -SepLwu|oom"$#evxLSs@VE"SȭHa23 l,"$ 'c\F'*E $> BBb( R(e"e@ H9v1:l4!+ UVBVrP .DTWȨB1-~EX~6.WuJ\.iHRJ63v7whfh;wοpL])q:y(Dz$-R0 #% J"t%@+RPb1,[S-95fXsm JHגCL| YPRD+ENbY)x亰޶qR+XajPj5J^P*`a&.bf {fwGn@\yP*U)+l ){x,ltQMq]vuBFLDRų)60]D %2[ d)(Dޜ.ҧXsl3ˌTdSHy2XT@OuSDFʡ36.6V& Qc۬sd޸t+("?IZ fTҢ%jf\l-{bsnޔ SPSIlר EwSK(rVQ(;h*kC_oywәkZgvv G!J/vM%Da!t 2_[},*Y茐 휷VV{řfoRڬӌ>W}l`tD@SU}Q3UfL~/0ڑp >%xd^n{ݳ= $.h*G6RJRr3fSEDy[VHRQP.AD9TbRc(B\HYtF A82x-2JDl07(Qd:a8|6Y!57ԌpcIs% How;4YcXXn[m<4az3^qF%lkIAYnKVj?o0D$I̊-ཙ) J͑˫*MRTUkY1tw%b5B]ͪnK.z)ڤz,Ck˂)0!Kib;љRR.]0%HS$R Q\IˌT '4)U# ;rC$.ǎd@nT6j'hrE ]- '@bo;fʻWBLvPv-k7c]bw[dWld,PeDZ-?{ʦ26 βj3㢘 -`kݕ3 M"=aX>V{dx+ \@QnK/̮D˲_*^ F^sj?AHlVU"2te;ECm{\$RMzZ0j P|2h ٽuY2Qf7ڭbfχ!;:Mȷ`}\JEMD iU7"B(-k2fbt<*pDd@Qujujzjt +5kإ.Gݧ=kj L /LZ_Y -hS Ux(Lؽ[iuy;,Fb\ ^wN%"L=M\H6Kխ~cm;[ѻ̐ftK SEMrmpL}Of_fRlR+ U$C"Rd8p)Bq#1Bd^Mmt][MOggS#Ij3{\*.<@@:9BCDN:?8:77>>0%7@B(88;>9E?DRw\JHJ;t)# `xC @, 6&8h/5`4Z4߄ ?9XVjgYi!cT[U{M+/P ݻYEfNM1HZ ֕G "7DڊxfJffeUZ,#g? Ig$^ݸPO wa2MG"\ΚTP ' ہ̌ JDDfB "Q("&Ȉ X̐"2"@4@%ظD9ldtI2ۑ  TeL`)r7 38nl6~50n }AcCBZ46L3IФAmP i9MVHx 1V_j!p8ap{`q圅~,2f+.>Cvw*/;0R*SB+{:sΧ;Д醚u]p^lMg _n?N `NY tfVFp]F?װQ6C ngYѢ|rH"J1:3:P,b%{d@%`˲X.J # GF$bQ9v8RFRTHEdj&2M68K n.0Gc_)rrA"@*(ѫ%^ %4ڽb {ڵ ;i/F8L2kb%%-5ofY#7m&&aq_1uVkwD<^vCi/YLrGT665Je"TSe;:'5=]?.RUhYn]y?KmP/}:EV^J_*uf6#10]438'=8,?@;6r3]-q޼>{A&&AD=h}fPj u%35&[Aqg :Ϧ)ĮNouT1yHʝAET$aw<+4O2/R6t__pߪB{&Y[w_=S˧[>uF%+X騈L]~~5eKwub쌥}4BNZs13>4y k>e͋~-u`罖mvתmWgua);\Gμe DO rQfUBp@(@94N8 7D,`gᾹmj$1Pq}\z[-rRgu&ݶGt*] 7㝴HFv}a j"X qu#U 2wS]ۦ`c+smܤ\r'LEP@i rw$/l@Ns "Y,EehzGW]Do&}Kʈ#y!8.BUUY UJ~t܍NUuS~%&~ Ru:b>wwL)X#CHm5(cDUIl# WsQh%Ad,`(,nT+ER52!UI" 2$2"s\BH:Җd%Z\QP ^J:Β!Jn+-he*#!(Hq.S6qWrkeW4!+{̎K[ab]tor9&%¤0(A:g\{>SP0nY(TC\9KQK5?{C!$HW.U+'bhJ<^F=׶ ԅ 8,g/u~-l$(sִ愽U0R:]VܴkӴ`Edyc*|&Y,K7qr3J!T4`["s`tQb mmv{ veӰqv z EWY[PيEUղv+ i&f#ʡQ󞒌*[+{?Pj]X` /UXWlfin\I8GÖ|4IdOd2n ]V\O]O_s0eLk+ZD4NFd)7NL(')2e٬ȧBIfe%#v7RhdJFpB?I''4899457?A&7<:G<9QZAػN l{[+j=0Mv q64N4~-ºK&9)0)5aTI_4LW$Ԙ++4*R J"fotfoʼawF""dU,E&=eN XVPWUMM12,\FDJrRFE4( d!22es&$32\%KƥrR IedT igp4"+7!H<\$:1I߳)‰:mjۻ^ ?ae{wV,QMTJb#t&7Ub/(u#f23W`IY& -O|Mϓoךj"fN;"'ѨԺRݝ,W"Q2B IFfRJ %d)E%9*r¥ݩ&NeYMdELCnAbPI҉heW)of(J]0%^ Z e6']Mbfd*1Z&iLdF>Ȉ{(~\D޽4$(1T)żOycg{{cc-L@βPe/1qH1']w٬Lwፎ;wVvnw1JT'tn"T<A9 X @;AzCe5Y7p U y3ScJل{hxnA[ g>+LզG~掹8h]6M#c6t55QF%e\Y ͦсACʸ,).JpyR䅣ID!ôK.G.`!ɽLGrdRtt F*B.=HQ9O.\P+GA$ ȆjH 6r^p0Lɸ#m4솧ܡRdkTno$)0ݼhe8P4 oX8(z'[{ ȈYxK">6kF[(X/N KwMEG\{~yکynf[_I9sDVU@%BDZ>EC?$ $<5AA#5;78::7BCC2=k/ e5I3u2 ak]tr*[3GsCJG< #֓I"i(̻FH H̬[JD8j*Vmɪeh$FWK~Eܧ~}^E6KKwZn=^=ggxH3%=a~!7>{gn׼ɜ%uoFd3;oYñ>H֑1;7voPzvߧK|Q8u=[>W=iz6ϲs{edQ9re˴hЧ[kmS@ > bijx%0H[:SJfKoM/?jcer~#|om (0#FXTF * y3;YWS{=Z.& c7EC. ( eV_٪ռr3m#A nbuL"?zH|:c}~߶ܾԬm5=՛RK87aXȒΣ0ƔZI|t]EG}Q9nvm5鵶mI$F ")v9-W .iuDW]\#C;weӝ]Q6Pf!KnE54] _5q̌j.fEF{gm|gC탖yʅz`蘓 }^d$' IjPTjUxT 0O"5r:߸b,OrFk>Es+?N e p帛 bL,CiNc>ʬKn$M `jf!R$V*L]> pf V) 9j(p5;#[F:htuT Wjd L.ETd$P(BKHAtt1 A*f&TS*%/t D9RGQܾ S9m08G@՛ł 8(Hq C Ѕ,XH&K 3[n{̬y{e:X@CE3^=.b>!,M+)i (#Pf2`: % ŋ3?biMuD9oBvS.ul6卲B!257T]T lfd!E*DVƥFGT$b(*vEKBR8NH"9P3d{,fS\bU $Ccp&-V$wJ F|o.1ԯI6 &j`FvfepQ^ lNANVԔ A)&yUVc"[`Id6M++e c0Z<~}cllg.R%<6öjye4+D:aNQixX,ojfUHLռ 1$#+ f "Z|J$Y9eH)-BJg34jJM$$E|├ȈN]\jA{X* Y/2CAe-Q ѥj2p7Hbxrdm03cY`VpXUD *`dP@03%Ii"rϯ)_Ɏso#ߜIH|'#U(͞r2fnT#3P,(G+W"2WbAfQL]RGMy)-R5(Ȩp A&k2.6`=!AN< m& FQvIJJ u)&iWX tqaveR waÝyu6Uݼ{BY)ʥA(Z D5uV[pQ19XPu `Vfk%*Ey]5(mSlGhj \(*#1j [:Enۋ,*-VHڞv2K-4"I q\7DUC!ͫP2Jڪf۸ujfLKL\V巀YMrDw*76LjJ&i0lӠVAZ2J)=Xd,d; Jf䕒9 NCdd, :d!\C :bV$H)%2:%`\r°&ȈդI\ *n^z1h.48A2$3S)URxE\q4~-Aaݢ0?0ofzޟrOa{.n*k^&2 @ ;o J1[^FI DS% RtHF'\6%tBg}xߎH~y7dW8u,/ VE%jpxL㒒(6Wѓ/Qb{QL\O!!]4] tT%J]ʛ%Ymxc=[|H2(%h3*b/8GLD%~?n{a* 2tҁmB#g^8*FSȷ3H50YY5U(PƧE^V$y꓋"vm昮O Hp-6 ӿБtRR̉-uY7xmYzXH=zxt,$ "5!IfnTٝ7՗7aS=ݵdx8pO,5УnɴXF1E#1GMXI].Mw{fcz,5J1DYa<{QH@ q-_() >ڜ)T~{T®}}u/^klMCQU RTB$}D6k䨫nSHU .z/Cw+$*S@ҿ7- %DLĊ1zssڎe{0U{_=Yj1J-":hWHt9seAD( YP2.Gt#*+%Pֲ"'"DDqRp,tJH_!2!ȩD(p> oZZv'ZVwj02; zfO]ϵ~ 0fP{Е>)m0̑s^K(EKA̦GIYjIH0M23e[Wm7 T4dv53CYͰ?eDVۭJԶ &Pin ^QVɐK]u4z۠wUdTJ5Cᦐ[e5J"y|:9[,\S:( rJݑxr<fY@O|EAb%$! ˈsrDw2`6#C[_`NeXkOggS@#ImP ,'78<=@@3 #5558866@ma:Z ￳wkKSu꺖>;µYn]P܌BYɸwf4B)/';d9u vO5 Db34U"`BgYnh(3dPHIR8d(!"CHz=f6< dE;Lk~g] 6Vpmͥ4ɘYD._eNMˍ?Z:WoPD&0S(VsD̢BFARE34^mm67D>RH;p-hr?h~o$|Fic% !.]]+ubuaw-\Bt.1A}A ZoQ !T rF( SܯiF(kY+鋔dFjl,(BYPm(hj ੑR3,b;u^eUP?E+ƟLlKt;#!޶L%ՂHN4IPMvJ AȈLH7G92C%@Dd1BAFDt5Ċ$B.7Ȧ*IWC=xQ{H幬 "l9( +)$:s "Zq3JTj!3ɉRP,gQ:&n7Ryb L2SjD"O~0`[ lQ 0T( X18|q279X4`zX*$_4jzbHɠ@3UD@ 0LY(e8}'s8,wicrt*)u HQ0B"ؑag7tmfϊCn\*rDF ED`ɫ^x\d+0x ΁>;99p`I'm]A!_ &M )+-RPw3̨H_e۸'~9e+2Q<˳R(  U%>(JZaUH%@dp)7CP 2Egd+FQD%SZ"(1 ܠJH (t(\N)EjVuŽii8 ŹNnJIw9l"uq3HJ9=+v93Gc.i=#X!k6PkP@38ӹ8z`;<HOLRדޜm;(i @%@Tl6Ù-پy"M_;bJJ"dFIQF!OdbX*"2 Y$#2WYDB!2E$He"ˑ^I4I*7ᲐD\Tx%`C(TC҅B5`T.6RɢrȵqYV2"1T9eyFbFvX 0Z\ffwΞ L xs!D\2hZC!CzܷmJ*S;vMv4M7ڊlܿc[׹IEqzp[]l kDf=n֢ءcIJu ) eZWaCfJCJUȉ1'~ "Cal B mHƿDW ]4 ^ Vy]}#܆ yiTk=,@_ן{fVP{ /܏L[Ku *љ78#zz/4hW(udQR "b(guAXȸs-g]\l{.KZؤ@z L)P$&U3Gv{GZvCLʗ5|̍1ck މ` q꾑רU.r!C!c-vp,Sff62J\2 D(ĥPIQ8Y,\ H2. 6)BaY8W\!$7(-z #' TkF! RҬ2^qeE@y(8^pc,iқ[kXDs֠Ž6)nDvǤc8",IAj̻75J_`ߟyTqI'G-%_η:oˢ^U!=+#"?zt*BJfsƮ]F$!%"|^ X pn6CfIA+)"eD$#ĢqQ͈ȈH`6X]!D(Rd0p==C`s[$l,khDA黎) L&ݲa7W'GZ=]B#et%@ԉPI%Nջ̢"6 38mo/ $ 4=' b$)AJ8ADR͓dmB%y*cT+8T>\!QOsP. 6s gTA!|=J(cnp\ERcsT qӪl\5CcK# إTa]гi⊥ A8g_goBM b:8@tsb$=M&Nο$zLh%IɾQg7b+ 5W"J :j,#Q,X2{ڥed$AW3)i 1E}$'wһiLq VqLsIw(uWk ث.(]|scAoyn"m?GՈP=٘ϼ<*u}/oe쵵l^mDITiݧ׸$(1і=@lDzJ#*3Bd^23 _leu9ϙNqWspKvF-[qʖ7v꾢Kzk.)q=*uvֺ>(Kx7R&t{iݽ/{>g8'y8aPf{N/R>g޳?;7!>qET94L{KQJs#+^ uanaq::y,ضҀ`27;=89CA=H46799769?=;979;7EBF:luUj+t?juiU}}Gaev<Ò0MmDLO\tl] p̎;-K/}l^i)uן.9ڛmzNj 5*n!q._ @DQO%m?yRقز>S̘^:Ps"m$ . 6bJg2:RrY!8[מu!n|ݦÄ ,K$5:y?̍=[`HWަ]ۏi&6Ǡ 樊I#IJdCf `3 o CP(tqslٱ^ԳJ+$P-Z<@@w*"BedQ37rbu-mC ,z4Md!@W$S,$(1[V !"#ɱbhfnv ՍH.UV$4R G ~fuP5FV#2{eՒvw ^X/c w ž!Y* ='[VgC^}n穿Vz5k3oi|2aKK- Pg^:8%wRc2Be۵2ﯮ1ݥGg^GMkĀ:Cʼn[՜.ʛgPeZ_1S+2~cᅫ}H7'm”XlIyw^:]3,=ͷ2ť' QCV [(le9)"W QU "d9!2I0g/Br3.++T-oN%Fi愸b9%"s;=D'b\f g( pq vvk53.kV 69&vfnv_/j|Bț!j,$YzqIE~HO^mn fFU0 wx2Fj'nK#wu7'׃H'9ދ3N$=2(Hө:s}: ٶ'Z.wPɱYJ%ƺ8r8Yd(S܈P2ȣH8Ɛ% q 0Dnbd!e$Gq'B0m[E4+ݗt+mjլ2浚g˾]HK%T7(uڴh-wݙۤR5oDg}&$*}.)wpD%TM6ö99;ȊrWTH `ԳeVWhl_˝dAO!5f)O#O'>\6N~w.&;D$v[w-#͍ς^_W~u>n~uݸ٧bm]ץjj+g{C3tsi\9N6RmꩻO{KW6|Sw}:Z2ߜ>jcqUW;S̜؊~e:f%5ڵIXxk}^[[FGҮ3Tv3 pSC) F5d蓶p 0o*QJ)%uȾ5KEO`s>R+4Ryz݁ot?!4:@^uywZ:Cyg Z?=3j3U }*{n̖_q2_wxԖ:f+.M}׿ˬ׽}XHT,nt$((XN,UIR()l}^hmFv?#&KN/X 3l+wQUߺ庂ԫ=2b~,u@0"LJFXKLGLޕJ~j-r[Iz3D()uih~lT;r"~xkuSgw}E*|oy{hngL?Ha`ms,K:M QS0*o:n#WSŢBd$]{۷Mylʟ6uulBcn":/=nQEZS " ͞z{_: 52?:Y%-ȣA˒h3 IA"76e$&ntnT1bb, 3ԁs Z*fKbb%IʛN-oXH); . (Q$HĕJ!FfET# Q a UjuVrH"{V\Y RbȐ"#7;l"2eIz],\d2ۺxkKnv;k Ԛ{=LNևP p}4 E(§#'#[CÈ UJ#[}i:#cvflZlU5V Ҝ_t6bߗHN{̬y Hredʷ\I Y\C"c "DQȈP8*NV +D DP(Fn%LOt NȌ\ L!؎^V3xif$2nJ xRjFqNȡ"i/n&YKOf(iew]vOggS#Ioo\')-7:B>5F=*47;;9=@14B?!)787G?@;6+NXcqÆHŰ{8(<;+ffF)3SJ}q]mmljUCR[{I鋳tf>NI.5N/{ƾYUI:GUFjuF,f5 FdQD+$Q MPEaeH;[&R*n!%D@@UI2v"7*d2s3sH fxޫ3r9.QYdHBHH+3ķQ %4a6u@ }>j"\qKTs[m4Y7qDJ1N"6mT*͸*QJ)donoS"?[24"M/ZdtM:_%tz!*]l{mjw 58HD94X`X1*f1RT43{}SmY۪m6T`JבPïLAԚ l9QPMFOsVF8lC ujf_Jk$o3 IXPHyNY3>)"Ӎk[(fLN}avW@q-VV{ MӦXS# tC1"r\|}\ZHduˈ2X dZePP@ ^y`轺7ӳwfdH-S*{qr\Z7*HD)䍍M)+ 5blRg]#{r}i?O2Hӆڃ##Y쒱i]LtFȋfYDKZRUd# DVDt@ or $"D ʀH!!v2{e"RftF9 E^LH"ܐlI=Hb{TAN LHbWǠ2SQf4ƃ3ܺ\e?"`c uܹ\Lq٢;̬;?Q́qԮE&&.(Tjh[XQ`S+LB$oq'ƹ{ Vr!i@ 5/~Y_:wܤy@)pL5'/cޖ\pnpڕ*V Fh c2ZbЄjk U|B5JU90ńԓ/ [+RuȨdݶ5=o\3*-RsR!+TThfNKlB03jJb_Lelx@ptuhHv=g͟yhZsw1XR bF+E5˙)DSʉNf[ %BofF1#nDtBtWDbCfȈ32HPxdg lQY$.ԋH\C^#CjL00\"7}R23bRho&Ћ 8e@ 6Σ8ڣtSݦ6P. u}P݅))`ƞ2%1% 4J}=#FqzngkjZFjG;:0 p&ϋj5NS(J}n(.DV'& ,+9:#YH9Iv))HH}FR*")# zBR(K NXIHqmlK]--xeW%$ƈ+COXA-9vvsz~r峢 fJA 4zcp7R( 5F"Es KŠi[]=NL)EtCug" gQ_iThtdd+hmۇ4-Z\Cː6d 'XuJR jg:]icv%ebEfךы'xRLyzBqY&V@6O$T.w :ߞx{M[zٗ%n< `=B,1=[>LUǦM I|nZ++oXY yj]WZsN$8XOeސ44wE.E_%A7J?ЃT:_ٯ{z̊չ,TV:P`Z[{n*JױMzΝQ)HD机>g{3&^(\TzxX^ΞCl;O9^O<\i^OJ~nIceI?G3R]%ܗM5Y xL%ƔY~r4[wj{qvXh#`q㝗W= #[C_*eW11\Lȭti2Qxr>Nvzrtrj>Ⱦ{~:V79e=SCUG[gU#=9Q֘V[R>~TYuݐ"[w3ßVXngOggS@#Ip'#.@@0 !4385FD9;8:9:4@AC7'suke1+ I ֒dVͤ D Z}YMP̛ILUQGC;/szZEXYZ]¯5`Vl mwL9X]T::0 >4>׊z#:-|6lnBwn5bx۽vqU;\ߚRev{}3)שߢֻl1bk=ԹՙR+jf9'ĦRKsuEۣgF9@EXcL)Ę-`hD-WR*.MU8 Ъ+)%nCQ{{WmlkN^~ ,jPR:jP?WdLN᯲囊qsWJթl\mo!{b :1 V)%Pf `!,G IHHQH{US6fBkEQ+ld 7Nk!#摉4rMWJuwHq][vJt1͈Н*@TED:x墂beO|JeB1AIIt)ED3@ĥCPLFj]H]!6+UsY@&p+bBA_i y78l'BFi7>O@i& ۴n\Sun* 7+>37K>.$cgRnn@>BŁ N-Qh]3`޼$ʲ_AL3kSOhd(U챭VYo%KO5~+"JQzDr[@rIc:Ґ)ň" )C&)2p" ,n"&A1e qDPHqqBKW3nͽ\d賱}JaV!.kм6sd Hgť]Z{EJO kch1 ,;dEќPbA?(c"|Z6`<>A"C資-D#E.҉ຎ1f$V޿R1@@TĶ2iQ10QQ`_@LEE Zn"1ReT>p15pJb@T4-Rtr)AVu,%Ɗpg"2BF5 wq`$©R &]M] bB^hפ(q|2+=U` 65(W g8wc`L`Izx\ p<$/^lnxXQ.{NrQ к@J%n975L+wPѣ}Ț>@ R"q# !#C+ U5E˲eweQ2%єL`jg$g8G xuR$i] hC khfv{}Ύw2EM( 0_ N !y!㼪RDqQ V@DvXD5Ey(F%"A;VAْRcT …|9 0O>JsEqo iC(ήnj_ػ.i@^ @#Z6 Z۝ nLnoZ-Diav7 ` [Ƀ G^e/Ɗ9&({un 5%3ffRŗ) I_;6RifkDCY2E;Ljj ywN5܊ڠR!ZjK Q%qq[ vjEJdA!* QM 2Cq\+ddb% BJEX\_\IJ.p`Y8JHpW.6>a/תn^W"9@J|^k5`= Zkbu3+JĪqqlHEjUt['H{{pE#IefJ{oy5Eezəmu<[l;ʏdk\++e<6b/3TK̾M§]Q-EDCJdT "+Z2QsDE)pZZEȈ$sS-G ɕW11Vj՗ )3Se_#zL̄I" ۍc aac*621OggSQ#Iq,)378?;B&&">?#-88=67;8>C<;8@E0ޏ`{&Jgǚ yM)b/("h\K%#C`7,K)ÔN3]+O)3[iHJb*2(&r3\BZ`4{I2ʑi %L"])k" Qw)^'73aQJ .3"d1"Z#1 @$!.WU̬K9,fӹH"U/qV즓htf1l7uj]2ܛ9M%@?x 0Zm4 QsCv9oFڨxiN!&s$ @UD (ÔDMeڭܧt>e2{57;Y0#);B\fgHȘ(RzŮDi:m 2#GLĪ-& D"rBFIIʸE} b'u-JdW9RF.&hp 8oDTP,)DJh 9%.3B-2+R A$^50$ U%5Th`l"Xh-7Uwg 0Q~zŎ4ŭӒ:F@7waM !ycjDIeoX6}vJފnm6F@FؤbY{)#QNDv@ ! Y)8 6EqaHT3NANV"> I1PpQ\+$DrbT At8"c h p 2>6s+a(LX'@jEK`[{kٷAkyЀ v VcofK.~CЪx%C(|PYd8:h#() -55ԫ2 뵃Z,d)}x%Hne2|,԰QO8*VA4NRH(R22dDrW!EB"AI!7Hp!d <Ӧ]1D)&∎dX]XQ )3&QP!"9SH|bn lf# ̎$1>ܡGg2^=6W/3D=Zb]]8f삭8v 0Œ` V8S`kY44'_b)&^Wb_ y5ʔR^ڻ\5izщL[r"W#Vۃs2G7 dZ-26R$z"Pʈ&j K!2( x)@ ܆BBzjFd$!MJ&H$"x@X)|1UH2&Ȋ4DvbPF1ZF5nOEYȐKb11H$9,/trti.mE +.; $QdƵr ?f !Z!7;%)*XC~/sDqی4FN++YHG\R`e_)=I9FcR!g]ivN63:ؤQ@zwZeD&}C2(Sq]۷Xr{R,`[ommeh,>K&چ-ɳi1 9ձ $@@Q(eV[ZqaU]{ʎ"L톞)d ~ x.C+?p .vrgJGy#=o,}36ﲒ|'n׌PQϓ6}H3 s~tRSw%2qh μvy]=K{ر59 u޳>cfXso3m(*v۴ᆆ鍾;A¼+zvt}eLfnl{c5JdֺdZT8fRS;WAV3c(hzJixP}D{c i̬ l%=?fk5oSÖc*"d]v*wmruٞJN>ч2ߎejmD<ҭTYOi\a]naΊwzJlO8m=gNbV06?(whX{QkNM9O}4j̔[6n~v27.anPϷզw֚wZk kײx $]?rq@v9#(Un[+\IjiyWf 羞JMeoݵeo*{eoTiQ}NDrCD5ow* DBDJe1#6m{m߶;oRd G^uEqTX@Y(UqECdU&HF͘:Bŷ4[G[2vvP9)_Wʌ:t}dp;\|{~F XMsbSgX WDaؠ%QB%""+ D#RL p)EQ9HfRD2ʉD!C:Rx̐Ȅ$R%E#?#{+=zq^qdGl,ƥ˭; T6bR2P6 -UBطvzR[3* y,UTBe ^r.nפ򑿮i[ιVi)t9զlo>a4>ZF1fn4MEk( !sD MȐj RhnXj0 lMB1BWfBF9Br,/8N9:s~-'  s9=0`Cd%dV")%@V:@kCo6zeh&7I -j]~a7 =`Za ]e^⢣I g*:4@@^T.H.H3GIzZ[2.?E#+<6X @"6+@Tkݴ*6(亳֬Hgj8 1KQĀET7$mS=ODDR22Af9yl.b8 13uT!q=scj Y鴦id!7̍uǩnKj@J1ɹ9\>,␣X$DKb D \%YDD1l4|\b<[RxmJFA}MofyۑnW꼡e%iوW}}s"{yʫ?FyjI[QuWrM h>rw[N/rhuԮ3xZӼn,7wv1zĀa`98cf5s $~:kL̏QIdEf%aDg%s'+ uEPL]5,ܾD@w>ƻ1&O|TzuG 55du[uOݗqOt1 pmz{z֎xx3}φZFLז8^ ^bǷ"D"׭T([w<L\<+OZZ6aO[wn\S84lFTK1jx~?Ϻff5}ֺ9HI)6Gof7ȹ][Ј2wN{!tq%T 6U?m׫PPM밸JBb(DO3Eeo{*M]ٯl>K bqbg-0ߤꕢ-B;e " Un݊#y檋ܢ^ J'p^2:h=@h4U$ꍍRjN ˡN:Q1ƶ1I}+ p:v5Zs)$jb5jI*ydbD0HUmuWQ׍ 2dHI\1"YA}Mg1Q]9qD6aѻ6 <' ~dJeÕ+X{ґta"h]t6\ 4n<0boF@k}sTX{M7sAa% 4Ha )ATALz3R}ԖM̛81@#VaAд<-\ uTΨƕZ(gRn^'۞HOdNNDt-A!w`O15V*d;8Z,$ 2ܤYCJtj >sdp'bYTP6+ThY||p}S,HqL.{5ݎ3 J:yj8ZGl0eDPmc =EUٓtZ~gքMA uj,z/ }Wݕ,K?^DjL\F%ǡM ͮ@H7 =9-VY,Y|۶.nNٳ=o63\#s ۚ$ c{0"yvf)ӻ-4?ZzZ`D9 ]^G!91KբJY1 Qfzoζ;gwK٥f軯drlU*Krei@!;ffԘR qsJƚi{zOWj9ݿ7dUؘѤjP-x{KVuɘސŴQ.781 CW.'SDN}5ȊTJH̜,*e&Qh\Z)QC׋1 B%$+2BFo3d9Z8s q: W&$QʹLt41VZ[BºA&mߛ4sm>8Nzƃm͆9 ^Vav&>nH3Mbĩi2P*{#9( 38 !D.@Qv[I}%3SLLMd7VBؙQY"dbbf[\"Av+#\pr*Mt1 @4'i$P@drFi qNȍKZC[kmӋ!h5 /0+Fc@ݒ(XH0o)I23cf*S J]źk_ }[ZU.nimW|i\$a(Q#'&VwM)qTb}r\Dń+ABq"EY1EɈЗL! Q@t&I4L%!:TxIa(İ_A4l10GdrrF\ 6Ana񘈷trs*qנ#Ϻ|ZScZ,ܘ7gڴAy݈]NSVL4OggS#Is3!%8:AA/" %89FA '3;D>D@$;EBL2m;`S14*motP.Wc2t(|8_4ukʚ[Ь"H FGhKm~QJ *2ߡ1A#7um5ߜ5$ bmF]suVpofU,m5M<0w` ,~<TRuR"}CH$ @H`QfT*S7j`!~y!S?bi.ЦRĦ܈j!sDCQ/j݌!PR#3I`*dQ&=bHT7R tp[b輜-t b.. ]$HIY )RdkW#vBٔhRՠ3sv 0X4'bYd-imʭM'YҎ gV<T; 0$ekYx1xN:6[JGi@,Gnb0:"6Dɔ͌9N$rAdJ$"#mq "3R$YR $$tY6 RDʉJRV.qhJPx , +SK{"$ <^^ljfw) 5Ҥ,h"}<>ֻ]8dT6ڣp̓YR ID"TRqfBkș^ q; 9 s0=;;ߵX/ν&F+ "@:<.a2'O)@ I2ݹ-QZ CmpI1"E@p@fhEDfft"6%!RD¥#$ʍ4Q-GF]ҍ$E#ڕaA:G@y Rn`$|%<"^(QOߔnx#,3v Kb8Ev{WP0 F qE7~z|MDbݻ)G}K uve>r_ԵkGLS4OStؾyfknn7ˆnqgƝ}͛h6F_9dzˏU}0Pm:.wd9(` 5jx BpKU)3eo0{f6#Č[9h 94eg|=9^B71xҕj UQrO>J9"\T3'=ޣB(}iEnߩsn1H۱g쬞xujpF?S >?~fH=}r۫:rQ͑ӱ57lN\:%sb,HN1/ vcC2Rr 0@Ol]CY M`ޫKը "._jnt2}Ic8nVLv6PȳwwqVg\uv|ӺbA?˥Oa1k]4n8BH͠R! ޳)3Uֿ_YVʳ`:mjkrf% vZo0%\Lu1+U )cS&]L&DP.JRˌ) 2r˺q"3smJAd*d2x7I va۶9q9Bn7) a Nf !FTa׋ ˭UseZqbbq 6ssd(?XMdM ~iκ,ՕẸ=(m@HnDŁvv6ZQ8myɼÎ2ZAۉI(% 273e(!^c]W%2M˲ۉ,mHG +5YՄ*@F DFL*2NQ(q(hdJSH3A>6 '+Ǧ&y̚ѥ4G䑄)I r'*Q-Gi!‚EZ".g Ƙe M{+?7Oj`G>,%`!ٞlE*~?dzɛ7T(޿?PY `Jewa `IFBPD\#kDER*R.I4ȠኢYQ v%DEQRT2@ $C " 2Rb4ЎJ"e`oBF5+yIqL$ȅx%@A&Ȋ 'wXE:d* Us%gVGzkڧZ0 t࠙ߕ;>]Wco8HaMU)e2,'T;:n2wO$b 3v_t9OكѡZ XnYznD0 5ELjvBSJ%(1`DU2 , j҅c1 A'Q9BEdtXH%Tj^D#Vd+ -ogk XRayl}2[-ߟc6 [Ԋ!3ai!J\UVc2־?pL2A](bf}ɰ?lƸdyco 3J<&w c˝6oqmKu:*BVlDTD* ۅJD! lQYdj@"B%[nU* 'WBH &BJ 2{$0ADHJ4A*~62V>\qQ%~a1sSWFe`Nx8jX+8ή]1jXS4I@-pmН#UhfMaʔ{o}뭲ek[gKDZoWke1N7ȅv󲼖%2k* Zהn;JٳBnEDjt!2Dj!XR"cGIYAKRݤQ4I2. IKء  zHX@ ԥ[LAS a[ND:X!@R28dcQ% 1k 0{cFy]Zjf[{25m[+l Zq+ Lu}MӖD1'.WK1,0>\"P >ڎ-6=D*u`a~n)9VP `>BaЕ!"*jٞgfblXd s2!`-(U0Y\@ncU`㥏Lޚ>sÜJ˄d," zDGNEotZE>n*c:VM[C|cJI@fH>. hU"tELSĴD(\X>zm>#&oQi5y:bHAvYҁhS$2cY BH`fF)UBֿٓY 9N4Mw/NIdLK)iQ)dOWHY(vY:b%Et9"7oD(wJ,d 2rlHM ($j(Vrb\jQHW+IQJ`D)RB+.B$RtiX"DeF{n1n )#5#VChlso['&$T OY@lE{xǸfYC +I* "=~o.isb*! 8heCRPH.0hDXr_DLEr#bF7"Dd5U8b@,|3g JQDQ"oM3 SJt8MsT_`/Tt˧J{K 4nkckژԧbԠG@*!Φ וN!|EmF<^F- áRhHs4Ȇ94 HtA[d-eWҌeץk{}M2ą 8$/t3Ϯ1J@?Fb= W+G]rMe^\6tΐF*#"-Bd~=;Jq烡X,G!KyQ.v{/kN77ej $\˫MzpU-wyDA={uR#@", e.^ ֟oi:ӹŰ}b"( 8zr1TnśB D&t)yCElH ;"YB@NT9Yd$+c-Q]VIP 27! (""ĊWT2_*#s\@j2en!ZPT] T E"-Ϋ=dlt3H,ں ;\(ہkz0jK ^ 씆4QU ȄvJN餪mƢo0y*e,/ofFiAph~Vco`,چE("DJQ!U*0GlA9QK,VsUрHqgv)aɵrJ|jdB"$2(v+HPȐK@'YTL[v NdA%IRF GX% l${d "ֲT77`ݔ< &ضe5݂j{!}veucw V+a'+I?*٪2!"iڧ ܐR333̔k8eƮƮIC-cҾm_{xA.߷Kӿ ~jtd,em:]J3̘.B!ɐ\LuF1$HY#.ɴTW"h$ MhIAHUI_-eD R)Qu82F$%0$'rR: #.HF]2Dl-Yl ]mY ໪Ps,tք\K="'oD8DR.1TVdĥ.4Lxi*W߬tJE).ka}Y,t\, *{J#ⰰ];a5;Bu#&WP& q-dȃ ފTsne [\d&Ru#+3-$= nlr LA9#M7GCE%bIet rDdɛtG}wmo}WʀA[1C(DJZf2SU3ieI|L*@ ~f:pӒ%e%ess]c,='鼍\r"YnȼsmTT DU!،,G7YJ"3#bE!4B@fL\Nd! LȐ1\ '֜P$Y nM ! dD8)5+f0-S̤Ee2:'P'yf*m#RD_'LyRF2%-\.u)GOggS#Iu$)5 BA&25=59<7D?-@49KC89?CGFt &<`U54yε Ϣg_'`8zX3"$] k՚\3互VGVRS'|Ffɻ1ľE*ʗJ;r ؕXV5F  #)5P! bFnRbd0!  U@;řBAʸY2rAA( ebFMp-@`TlT,*n &*8pNXl"y ,4ӛL^`X*,.ȋ{9 X\(Pg6{9pA $ҋ` ~1kޜj8Ih"C35JQ+a_bIؚۉemɳFK&TH1Qr1@e)2 ŐD1@D cdRQf+d"Id*dDd9 (*U3l 2OMH .B5#!\nTJ(QJEG#rDmT[{ v՞1LYJuO)Yqc=9l*ox72&n+gKl{$dѢS=[u^:CU'f) !<^}P! fj$T++?JMzʭ{sy`1Nf2@L rtEED2!Sd"qHA SȈ22 Ŕ eO2DEh9񰨪EB!1>DEHљ91#f @@VHrV2f@B{ a$ ^cRQz7ŠrAx&]Yf 9TR8X"&)Q6(3*!5b5D(&i7{ݒ ׫S63mwmzSw՝H>񎩺ղ\ϓ,3la#̥i]kt@c\LST EAZ-Ȑ 0N B!:#êLFR(J!MN] d`25AnxPyr#d&NAgFcJ!,722lIg!#2$+V8]PN!K.O#:]YӠK2Z1c:/͹ ? qL` ݁,`@p$K4.L*k?!̑Ve暝"[/$ )gPO/LmSU=+W,6!Xen'A3JwwĒw.ړNf"wǶ3g{>\:ؤ3@zwώ2(ʺ}x3FY^pٶ]2mM?Zyp1Ngn+àk[kqaH!tl&7|7-nY*!x9-S8rdtA!#'deR 2s $Y\32儖R'VVZ#hXٴL=-eި*%5($JȍC'"lmHJAȸ.sy6 ˚U ~u]7Xfb#Xd7_) z1b2ݲp/XcQh.(:BFր365: O1 ¿#;LܡҐ8C-f23,䊺pSP^bXLշ#T7ƹ@F29͵$\4;2%lF)[}$I]eПRjWb}3e/ lNm9(rTrjc@2 WRShBDD뮦'^6A*eB\)lWh^ K7ۺ '2X+26MJbGi<0 馗<& %3PbRhq8YؘGnw f")D~$B.Z ӻ2e%*Q)${cý{7p4E1i F*=]|~ 3>ݾji^bZ5 kڽe[`ܫ5'`ЧTK@1Ap<Ϗ]kg3Œ_V3]gmȢ5mm:$[D!$AY/dԛ6/"$eefDC~vXH?N*\]~sQTx~gm:W=2~ٿ؛)MWjJM}~P…~}g7nOy{r3o~_`kuwĻ̹9n9:lz̷8ê@׫sOx erzs1_^ީW>D=<'o j={ޡ@g;<"uf0`0:c"yg8C)hez,CZgT/"2!i˸-1yI%$ff=R7 #Ͽd9\jmQ7iљ|rС~יϧ'x"5?]UD}cJ;˱H=e 7{;"ɷg7}twݭThRȝz8<'T̷OmlC5^A OYq ,ғ)b^{(ts*8%aBgy%_ X4>iK{m%+µz#ö'^qoձڟ z<)f.Xh 31r3^x]qTYZ" ?#\P/c<0W #?zMBS$[)={TfFUl-Ͷ3[L&T> /!MDt"m$/Y:rzXt>BP( BP(D]f{m۶m{s۶m"WC-yȦ-oQcruuL1]r!EEټF7y-=Y&1o -ݢЩ;>܈8Է@MD##""%$O{6txk> يEp !+Vu %+ȨȌLzDE*GLRZs@j"Y$2MQ DCBWM:L9L!)XaP% lBXp&ka/3^EI+#h#'=::7G8@&BJC'77<:;8?>>? ҵC =d^pn]a; ZT_GTZj._jxkiHA(%} 5XNtwdŋVwgCH:Tل~qẝ<4NFtyƼ;L*b[w*iugɀj~3'{D Q)xDE4R rXHdd6PB"F`;Hn) Jgg)NBzٱ^q!b5 k`#3(Fnlafx&+hvcRd2.dMȃG3=ཤRC`aZnMk-K%{ i;v9Z/FI&@Zu׉4ޡ/lS(kB&ujJV겗nDj0 ec ;fkDرVt,f @ d돶ōbJYGފ#du1B,A t\+lq<1F/f?acvoO[)>S'Kq6ؓz+3J=ϵ13wϴڠfE:ݱ?N](Vt=*ggon 8dMT{={٨oEy$nK+ 9qff`)!@I!` @K3YPT ]PS#٬3IK+vwWǞ1@(eī0 o27=>X{fe1V6QGQp~~tt۱~v{b+yW~eTwh+~Wy2J'|cx`w[{3cYFB7nYs:[ }]qa17={:9۬;YVem M ѹntF׽[Y ˤ 7d; ،Uwfc[17-A|1nBR( T*JDP(UU{oSe{mt:H<߰HSNoAIFlQB2pm)ѮK>jaKj V!v'!@4hȦBy6U$#n* [7# XcJTzdϛ7s)rÚ+I9mJj8܅B,!B'lRJ6r0Wg(]d< Yq!lqo&#b S(.:vn3Fbfetd!2 ]\.Bi9FEKSiQdbB%RQ8LZoiCAhpWKFZu64Ƶ{.S:q:PH#ͫЎމ?#RF+Js[0lm|!Z ۡ뱮 $T@`2/WT1zM)P" 6fyn L:oBBOWRN_c"z*ͽyR*⤙y;7Ƕދ8|lY+i@`5M@2{@oħ]@+v%r  " 625]g4c¡R, 5`]eB)|6C\^=ʼnͼOnŴ9(OD-: %DZt.ݕɪb1ΞרfGbvIv@iy?/W09}(\R7]Tm$-l&d4@TXl|ZWQ^!te({yGfX/^vF@!y p36(*i%9nue7)eXbMZkA^l[3W vCQت槪.k6@]= ļQTEHs.qlUTz[3ice?JvJHwwLH*K=rb]hvdIDr 4a ,T(D]$X r W)T e %8$Rd"u TԹYI!/{:ZvFqK$B tj9t ۅvw z :ڭM+s-7ag3`37k MFRx{d PRC_:B$M@wo6b>5֠ڙ!e8fU lfW~<:mw /53J)efJe?]@N'MN4e2W~Yvrc#lzhӇ!DDڈJXfDHѥrQn QȋdQ,$!)d<`NdfNeYXҋY*m&yʑq \'21l${@&i6$ R•q̍↜uXpǐ Rߞq` I-dy "[B}%D:+N@X=Na @3 ӥ9-(JtFmjcF]&-Qp"q(hK;8:Ȅ:NVfhccWଝú 4"\d@ZsY9PKzV he\ B"*Q(U]xo`fV]T֊k(qL,iD@䩙 dD QjVhKΖZN8T7YLԶQ1EcRbU+Z;mV̚9GLo:ul3*kj ڣR-uy n5Mv{OkDnӄݭ#U!3 ka_QU0vӟ4aj˷r+]Q}]{kZ5MZ:*'}aU :=8AG=0;@C=$4qhXU' FuBξ" Bar}aG5#RR- ) ljJ6iC_>!}0s))0νLÐT0aP^=,dfۘ٘v9GySf c0``^lL{>0| Q(CJ6W`af hFRʲ~/F ߼VY)] g&Gos6WkV@ [)1W&+&M%䎫a(fADq#+=z$.M.pF )6X(@J!%E6NTgO65H@)a@5 {fV^mS3t\bn{NcDJ&u0tR]lt:\^# xvzUl:eAW`D'm<7t ]92!B1< B%~DoId&ptvfv1hC'бGO}ݐѯr2f)\gT2L7ڢ/t)(IT-@3D*|B9:n>yJn+cx3" X)t)rv_];(ϩr=TosLxMm7oje=l@Y FP~ ;&NJ(.Y~/riw鹍TB}㰮UГ:HNTD9<zobLb36Jb ^bgm~ZlfZVC;#m&7$}|[ɳR\꽿}{r6SpHrY&#łjeYp戾5:+>fLWۮ2$NTΌHADIԮ=jDJ') P.ZmhG!ܳG.ϒ.h$L*֫t*螀UH6qf99swzlěz/HsC)B U9 EuVpzC$qwElMR6/| ;8Spِd+}?Nw_Knk4Ntfm[]gf-519+kK(QMgvd܈|}cnL|)jzL:HiZT26ʛ.:.,kS `JUg#;1&%ұb-HdŪ21\,Q9H xa=K`Ą&{8!p3U\EO)*hQ8,M1$I1? 笌w6~ÞƯI'֖U32-R7Y6)t\e)./ w)H}RʫndIj]r,вֻj`~wc5۔fy $r =>I 554%!`a}' w]mĖ}Q>8$N>'*xr"i 1] W  B<% UVh Cz늻ɾqf"lgjCS\ANge'Gcϟe]pN7 #F t +T){= D]ib4 _"}NW&`Aj̪* vNO8`"%臨1{QW#Øh6ݼx+{Q Df* ++hq(7kF!P_ߏwzў>̓ij֥SCc_*'oERZ^~X߳7V3Y==3Ri01)&pX,6,`82v ;D"uf?XHcjD"M'& nBLf2ROf|frmr Nqc<(> Z3yB$4D u,nc5Ήb5/ [V Hc/9;3\5r{oa}`^{iUW7ea^z-2~zi9 F7uG9׽ӾG@{LM3M;T"faIi4! e_pB믇U*v~1&qnfLۛ*{om-o|ꊆJ>#@ql:äFIgFD"͌azlnV-ڃɬҦd ɨtE9EjPlVWZ.d˝Ѳw1m<-k.r^W:F E^-Y a.侺ǵԍXͫfTֿ2^}=Ζ,K/}лu6r5?.b|?KK0OEpzJrM䕲lj-}Y)M;vr tG⹛VWz'fU?80-ֳ)݊BEPtV|\HFn+}$s1b:ekcV6Gxō /2"/OggS#Ix{&M392)?=DCL<<99E=@BCFI(<:>DCCIʍy*O%Zg@) % "s7e nw۩ԲdTp=U41Mj>}8>!t KX%+BDLd[`/ $S* ݿ$Nlpz'2LstFc^+T| \~-Ŵ#7ҩO|NvjC R}׽_{E~BO8$eOS^ٔ9Y ]gtD~:ݚHG0ܴ;7 ^$;ϥ\S֘ij Hj\{fM HS8ѳTC" ТUowE֚u޽13ĺ L@=1Q޶i9f"50>l !e݋2 Ahi9{dږgIrdRT,{e{Hu3\e5^%ߑWϾԗJ)byhJثQ6S2߽]i*;P5^6W&\v ]Lgy;8:W?׼;  7/ҷNTn̈HՐL82;uH{mը 8KV%\CDsY1GӍP\ܺ!"W{P;G{FL=l3Co׀n@fl 0#'^S#Db@V$Ff y'`\7^2oꍙL~V<9qZ;~Hnםޘ4#*J7(b|6t}˙ҧZzPĔmm ^l=_cD^JC~ruJwD]*m3oe-?GƫHeǕۉ{Ί.hZl%rr#Pdѭ2@؃殐*n<s-_kJDGuu*tU?o媇1tf⸨P>U]zSLJ*<;&eAGwHH5`qҊ K2m/B)K?lc`Y%DH2@!]vn1_I'}(9T33%/??{O8ಛ:&u_CyS53^u:^^tMtɎ×mMcݺ<ܥoٛ){}>>]33sn+Gw`>lmZ?=UʦǾm(6?fCȤÁ ^t`ݓ{(FmsUEIbǰ~GHBj0@5q ̺QX*^wsA 6v0]X$sg^Yb 9 lf4SeLљM%uæ0wU6oZ^W˶aV֧4FcR21^>ͿlIMiT~wOﮍնxn9fgl.ˍeU9gN#h&e߮#(ަkw Rަ+WuY>67@:Ofv$iR PJI*}m{8 6f)q\|+'ոīK zT֕muꢝ>a/687渹KW: zCCIcPiQ+ \]0RQ)1rG٩snZ ur]2"OjcC-pwB5hVf!a€c8ؒyY{^8 X [}[-jcȡLJztزƦK)]5ORj~UCy=b;gd^#k~0y..[2RO0hrD*&7-]DžM7+ovI|*L]B,Cj !=A~˧.m%}abU2Rsr:Z$%P oDB?Dߩ~UG[2MsFqX?b<Пs.t&.p65j]eoo(7[W+{m;e[oTW8OO,D͛6o9R+S >_*Vt B1vf7{[kK/lִOR*U*9O.hw徭S\mg[u*}tmmj6zIPо ɑ P !Bh@ nN_`u  Q (xs-9i遹3C8Cl8b]g^%o9\3#nNT"<ߤ"( 槉=m;XsɸPuv-ɱ887rͺƼz:ɐ2AT)1[Qtz[7ZAj 3+wqbDn؈q@~nN"f .=ĽSj.-DJUWn А?lj[H{JiFjO¸kf  [΍Z)~kZcUB7 /YA#1$M QSUFxX7cf2_qt>||7vE[J!v?NWۉT7RR6U =h|fwI;9w*π ù|۪ՅwQ;.Bf#d1nGZ JG}9'3Ct9Ћ;q -ƄXebǢoJh gshES X `fߧX#Zy7>UY@8ӏ{G!-:c 6H)hhCs5䚋`oRL+N9g}FjzUӁ]iSjCsTfi+`'߰B(tKQQ<Y*?h8t%k ;nTY>e8zE8؂ldte QV؄gvB/#/GJ溛;S{lk\{ L?l,#@ HoZaK%L/hSQf6jͶZlndf>R [ͮUP[t L/^)1M#`m\~uoHz7?եm]47OggSܩ#IyM;GMWJHDP-/'5>@:FDD@Ztx ʳ aEB޾ܵ׃3ejTW.yArbo|~\okx6cD6ջu۟G) fz;l^Ǵ׺2;b>ݏCi 6r.lnnHҲJ)q<{oSOHý%~ʙ=BoPZ.Ti*n#6F4KmtoEOTOgrz#n9͖:ؾ DLHQbLwQWNX⪣%MT4g~06fܵOseo3N CVHl#̒{\Io^|kdL !FbviOcvǾ]z1X<LM!u0t|f#5xUfɺ/ݯVuv[PozW"<|)@hzfg:x*V2,MS)%,PRƴ735Ip sRuH4ʕ-:DWQƖIc9g,{2L_F<\Kw_5jq&348^]z3&?}ڒ ]wzME <Wb}g^0 \e!*6H)o HMRy vX\ޛy3){E}7mtO3ۃiNw(p~fFo^:<Le_i}mոa`.2kҲ, sНTK]yO&z#QYzLj b.(–-}?LxȊ,q3״)};:2[̤~Wf/ZO?Cغ\Tİ]h xWagШ6Mhn& kAU= kpuCP59( ch/"MPB\0I"og82z73˔e ߩm)q~);i~.uҿdWεE".\TE>r#CB׵DqKݽrwWgJ7߽ȘΈoDٖxA^D..E1Y1'Gu9íj\w_xc:Lrb6\_O{+ʽhz)gJ=ve]bQ}ͫ]&;V_gSŶhڶv-dAi֬L3L/fjll{yܺ.l3΀sZdu:QAKEXR;1,̌3ڭV띻oMFӺI󔟏ۭ{|7revZc2KkfF7C}~mf\}sSsܧ3Mv빬EoUnq嶽5ϩ*֗O}0gvqŷ|wʭғϵ^i9àdkX3%w%]YWOOg:FIgs*-3f]XoWxκq:',%m dΔh6fƘY%-s.Qc |tD]W=ϒ2c8k9C+*"잎_lmnIfsmm]]e6U6*+rkG ҡriQ$IH-vr\~1]}+osI=&:TY h(蕥U(. ">wΑn'Ք*e˲ \b5:in:Z-+_^SL53^rNJjpߚM|D.agstF 2{yiպtsh겍ږChcGYՊgWK6;b d^墪kV4Mޘ,Us7fkUteΪyxz\eFs}uةj@\!xX-gxa k[vm+z$zĸISӪ<LfMf4QBL)I_> 4,盰<<`)5fj­p's2l|,Aeƴ^^eGD`^ݘ[mޡ4}ęJGk)!M ?60BLVN[Iuc{.vJƾm\F^;oJ7LXFWdwԎLlϨ': ]t y P7aJz7fմirAת :6pSޱ1hACw7 o jfJ#9Y 20iNzr ,d&($jB_vH ْ>v|q?-@zH>E9$d@k- AZ IyeqWAhU}61؛p@f~W tՕjS.i] {|^Tbؾ.0<im*]OӋD0b"_4@&^ >?x l\r&@&z# q`w't6Z݈S i_y %^;M{]k #b7Q@B~ʵ0o2񮙙~hLd mѝۇ8lgS1m+=4y*rWB-\cpɷmrE#le7\wTVT.5.s=qwWfU>1xZHI[rp7Ƃ^c>rƶYu+[)D:japC׬R V7v/NԶ07r$̎/5| *s  R*@@pElkY?N",Xx̦*? X_`="ӏzxv9;7"Z舘Xm @#RկpaIIwTK|e]u ~w{:"Zk8qL퓱ؽțUNEn!#[F0UrUv°C4T ~Jh0_'gteV0Ct.#ؒX&bduj^͍6Pd^Fqup /Oim%8 2*/cX$ƿu ^StS*D[ oܘG56KHQ9h;X +Z)+P?o>7}c4iH;pnM-h3Ll~2212-u߯JWcɊFs;iD$ȠJ~9v MLbew놌6wW-WmTx*SFw{oJmZ"O]U@nev`hoEKζI(! Bavm[s̲D%`W͛JP'G]./>fs& Z^tǼծۼK V-?(.'ϑ*H7eokI5bK:W͵{޶ռsOggS@#Izո'A@BNG3'(P9=;?<8@E@>>>>9=;ACFB2~ +HlWPS @z^DxBόb=غ~mwmjzkscڦV ߒ7ڣRQyח5M2JGb(/9ZklfV[6 Ix&}VOPt[gxUu从,&!*JG!U*{ۺUwUe{Mg#h9=iJpl*7 RJa\̦;1=_|^6W׶ά a=;4j je CB,EB2 _("O^8ͼ*uX k4VMmSO2sә1`GI:Z.w8lK5*Nq=SX쯾n_rsJ?9Je)tEN Q="so#Q(t:!#eHKZf r3 6.d r++x2\t:sa" Ǎ76q9cPHk-$`+С{a+3$JJ_w-K[9jR1~rmi#bY}ٌguFȸrwH5+`Epr+`xZQ]DV PJ?_Fr@g!y){ޕ_UyLcSmjPGf QXBl63$6A)!j ) .GbzX1 h Zف ײtЬ9-o3  cxlˤEHnkBBZI||˶`/1{3zk%Ϫ[ryx }Sx_O`vw*ܾ5*uXB7} n@u8vM-:)g &]v ~IE3%L3q=Ⲧ2cj6˛q=֦5[=+;_d:uQZ̊&Q1'hA9dܔ\.,-`^ڮU]^`D&ZCt므S$%Sw|j'=ڋłwsyS3ͨ+^鎑LqGg|lkqxE*Ei/'nBauWN.cwRNGsřD@tى)) }b@.%S`\@oD^|]VI)J)]ugXG]838c`{{|$΂f˵N*8w ca)j50Sr)3 R`fJɑpAf9TA_uyKfL~u '):M=lwo۵̎j%Ѽ迳_RS2f:rz\@j-U<}r =SMɽ?\J89]f޸ZvKW8]Bw}wc݅U*S*sG>vCԹAe'nl޸ :w!wQO >;{_z MkSg#O6)w+i gLEqS,#V4gg}ԗqNamz1̿;sn:Q/dg>@Fo +t\f`4N* ?m*4EgrJQ&Qº\L 6؅ vPIl0S}XĿC_I )w5Jg+]om_X- tJK`9xeX23i[jS{w͓휐Vmd6jdZ H3ߺ(FEQd4QD1瑀>׷Y.$6rwtf݉enf"Tĉ\.UY EzqG̽J `B.F 4}.`v# Mtgn7淾[; `5h^kt4@@ܪ@jk \LffT451mG][󶅒fRa½egzb~ޟ[gU0W\QWUOLꢋ͇J|\Vһ=,/;u#JFSOqOLs[yznݞ2\tջ}nu_N7i#92hDQlW>WS۰"!=Ljklf ~6_Qzl&x7izfx3V r b.P y_!Q)%sV{6GպKҪ$K$"̴yffnj4ghxvM|YDrQh\|ꞋPJo_~r\is,W]7>8Z~:Lܔ/mv5%;.)B (<>=lp٘(M <{z^0<%(EkQSo!KTnlгCOggS@7#I{?x'@9=:S"6߹]W{Ve&mޔ \u@YHwuRtSCsF`, nm[V-cM"ۢׄa=!rg= ߺufqdodYjn?}il]*.<8s7lo˅&'%`u*t7YZNfVvWכy5M뒅z.CM%%ӛ,qs;"E1S#Go mS5x ~[VoQvo[;ح܇ƕ_5[*>71zJ>R͸1D'#Jwc,u)TȸjX @KziS{} +s1Hf@c%TO[5.LHq ñJAjm۾qݼ1`P:ͶɬLg<$]:;brs ک`OeR.t a(ZV[Ef2SƋgw<ޡdrӣ,WeGpKQPk>an :Vd\W;}nD+lQo:bY&ZB89rU:Bˬ(W]j=zGz6MavC*!1 JMy`gGx6Ճ ~M@QZ-RM"Uʽ*ܓ穷x5&u@y70%e|y(\qV?k';}~+ܮg럺fm `SIQH;^]=Jxɥ!o+ {;*WT{:N̮bQ|3DJDO!TPA.JE`aqB \hferN6 lqr{N82#P7!k\.YUtJcVH >m+!`$#2+y?{|?=|}ku>=eT"/"zQ:_ݧ rfƺ:*&Dݨ6;O+B]}n)8A^ͽHW)_LqݑP\ƾbvh Ž &Vwrv9r#AՍe#&e p[8 ` ou#(ZO<_M E t E0nbllmA=z${<;q8'4Ʉ*ux{(z "ô= VRoJn{wZC}K/%14zwwDb|ZĞi(AQR1s{^Y}_z eB^*M2uC!"qР?-ޏhXX15S&jv}c9)1jmL]?}cK >w0Zp!}qjquZKT\T{tFerdt:gtL9!Ǝslg\v^pLN!{{) |m㐁=nINRcrUs"e *HʐZ@`^y.I0'RQTkLjvŌ$`k~݀E( ދM̮~;gcϥľ۹s0"d9OӐR t0HEp׼ĪLL" W;wX3^4):dkTzJ0v{3D'@6΁T*|%zNWw7K\6㞋wmoYڭ;z1I .3nF;md諷F%MJjI xXˡ!UOYj (:B}@#PJЈȋ82;BU`(@9`$[ɫL;T*~_5ؽ)f-A/]RHp`\"$6:Wf _xJDŻg.; 1rI?[5+r$+UA|Ye]:1ǎD㵩=~=^f.gnq3zSP%%_MR'9`V8#j0oSy)Jyo^}Yc״v^kZ 4^až-Ϊo,֠R8w.V2T^RGn϶faLM_Jan ҩL@%"@&[sݜ&t/.`7To_w׻|:~퓛}r0{J7!ٯ;]/SNC>]띶:L@@lZNtR7p%9~6=[F{OLwK791?4#~^nkww\v(!3>;HWDv)rU`"0c@35RkDaޑQ~/`Nt|spPxGwol"*3Կ4>+Mc0/YH٧;HON)1yCl03}N'&kz.df]2wľ$-Eg9oW]sB]JeV_OI`(%nxMMvz*¹l}lENy &4| 5gYzCŽ6޻ Qrm2f%ެ] " @ƾ'9HH  luZJUnROi'$a"' Q@1S(rq~;azHR3F`OggSc#I|z =*/9ADBCCB2$"=A;<:CBrtJԂ#.!Q!Ɍ!IPv#.jܮcB "3AÁbR?JHnH[6Rq劣D ݃i+0]kz֘{ڼe\賷0kb^K0%>l"jq<rajEF D3huY,|516Ly69ϝgq픽.c]vs{kr@;hyKP2>/7tCdM̥qx(p7zvW(Mtgo ۻg Dġܐ}B\j*e3W7 Z)u9qql^jYl1X%yU²gq)[mlmZy2ff/eerw)6 @~[ &@^nT~!Ooޏ XzLR̔]?z(Žᇺ,I&K[G?-=bo}fgeZgn[{Uo=;]gvkv_u5)G"ܴ Lՙ0cyǥ!l[J<&(*Er$Q5,(Lnp1l*z.n)';bQ^ex`}:2~13x,yq@ cŨO{.{2R."tShV/T|kW>j"]^+_]X44|>_d'LOkDύ;^F]g.Tjiv{o2)Ow4xe}J1ZՉdFFˋXj:J $.wME թCfOoܬJ9q) 2? lQ|ҮYƻ@fM7nF!><Rx7*=^]$]-ny2Rag0q&hFJh= K6Lx"írQc6$~ ].jm]tss s Fu P/\}z DNvտ}Qpudv~&tR ZR FVOĿ.Ih#Ъdt$=1GxfP͂D "I" +[LfDU %4wLm\37JI9 Ҝ,]W'+i3i]f˨&F>iKWgFȩߖ̆hyucvf5ԁXoyk4s630 ƍ?G30+Bp ^+_U/`EA{kન&YkKk0&ịNaF[(]ӱWRѺ띊F0ǓR\w ңB$U/C˸^R2̄y(kX ыu%YXW\uD.h1R \{O Xw@zI;^O2Cڐ[zs }>#KuT3D,V f T|vCˮk"/ 3Xܟ,"lj$*OI"&+$TG|qؕޕJd/w ʡ5i(w@ODsty{v5\S)d3o&\섻h]UL@4RK8;eO("wf{D{_`$>XWU咗~v=<^L>6=X?Y(Wy; yek8/eP^Ue[1{oldR?`8Htx4}MbAM7AFmJ$>}DOu}uk}n< {5mmL ֶ}W[ً#G,xL?"@>[w{0A&QL ֍ivn:͎ongvfc~6|륕Qo(_}7[ s4i7M9baϧ#)w/bڼg_[{(ܗq@̪Rl]^7͔ ݽ}v/Y5{We>[uJd15tioY?cp/9=͐|9^]:)RE.-OکXrG+Lisk=3>U¶*t ٷwf2*Y-BD^5Q"4ʵT:SxӔ:sbqYh9J%ݧmřs.o3-Ɋ31MHVs5I뜡2(Ɵ?ٗkArލ}0wKp p@`Ypp57 \/5Ml1oStJu<O=_Q6t󆔣&D1Iޝyw]?KvG;nJul_٘&RTS}Kԩ9n.(3ʅ2v˲sw;{;{8SR 2?bk{I{VUȳsKsܝa S~S΢k+v4nl lx1C/`;, <=` >rS#xE@iN2]0VE\3fTeWznsju>sϔ,Qns$X`vu\ܧzc?]Qr;ݘttl;8̘݃+7u;Nz/r6I;JY]loݍ׷LldfKh8޺tۑZY}v^Y7˾pk)OeFO%ʎ[uc4_ugdc{w}whŤ5Ƽ^3 ڴLE4ˌ <3a :.ğtZ9 ܲrxn,PD)3v68ߢ"?czڝ?>r)&} ũ.cMtOJS=Y::.wpW>Y_1ѥܬ2'n;Hm)^c_D9tUn%<4an})J]\ a9?0۸,u::SaFOd,5d[~2̺Rd?7GaӘ|cHm-N2R;s F7?5 T{汙MeNۗTnl @BD-ժ*8>5M5ST^^:B6g>NaIT.PCUa]Iq⦼Vދ˨OF{J|vv~P}hsݚzv΄Os*:'GÛOtPzggʘFD;S㙩\i٤g)8gBfhZv pluG+镳sRklN؜y[GȮ]ƣjdԿ}͊]G?1ALϛ4(7Cn]6c^9e"V7 *rҟVꊽ2w~ A͌Rf%WGffky(jC|;'NZ-/aKjń˔.Ϛ)}ʦن|N}Wo θh3y" :e;2Qz^u5r+s_]7:nj&g;d1uة>|Au}ղ,Sdjݭ&U tļl9432-EQyVyX=~7pVQ}p1Q#uRAr(10oX#knb݃1sԞϦy"em )6'aKKt9ldz33シWy$fΎO_$hP~nGս \o)ηrϝ|4k*^OZOZv_^qkp۞ɻ-q Q(-DvOg]t7Jl0se՝lgU2K&lͤOggSĪ#I~&;-B<78=>DD@C>AGGF*,B7797CBBCH?;:@ALG=^}e 1Y\؝c{(07[mȐl7ud\Hq΅-881˒ϋͳ@- C|+DPvbeyRmιٟy5A&U4> 8MVgF`g*YK]F]X$>&"m =&n]+Vv=$̵̻97 졦ko/io* lGS›; ުlhmtl[*$bVPLV AnR`2fھ^| r[u1W͙Zuޥ(1֤)(U\:e̿;<~u(Ş﹣Tmʺe(>#3??&{oDeHuƑ˰W.x[ ͶK[n֍6,<N(h^wfܭڼ8gx6 TWZ[RM]麟s̘ECN+{{8{<Qȶ:}WS5ˏg{&'čaD ;\-Y`;F2>ibY!]F,5{Bnd-h59%5@{؃f]fP;,i$}(JRMjB$Izf6O6?Lw_fӜ-wڴ)վzF.x3m)~U^旫 j崋*)&.t&S|2y}q\lt;4Pto/h[iR8jOq`9 t>(L:`SXKZ@y< ` >^ ˳ge)֚h1[\,pq9eh Wu]@>dd+~HcX4y"Fty3f(q(t;z_CkD\U*Tȶkwk/-+RdI"bѲ)$e'd%?9)fl7.W߄}%رuFtG2#P—O"z|6TZ2,ܱղvN)7,;v;nW-–WzRI}L`{pikY'[A4!}l+8<0Ĺ=ދC\ZlܽswES* T-PD l3oIzxX6FͨR%c&ͥWܔ;^Nߘ{;ռ٦xȸ>d:iAe?A$_ԯωjeZI'g˵Kg]]w]B}ǜkyUJ |Mwnɽiwtv̋ sʫ_ե)=ٸNO-[n`Q:7뛻:$s5hE_ֿ"vqN|;jO C]]kK^iXDH{Pա̀0`0̍tY$. V@Ki4he(v/OzO{u:ܛ&{U|J#;Rlt ; IV.4Q]rv64v3ދ^O 0JL$U- U]JU/jdP25kuӱMUk6r9$TۈެSulgs׎YN[|F JjrU] 2LS}2 'qZzVS6ٺkj^w{jSf|~ZHaQJ.!ND @*"j'f BTo%o6l]zoj6^&3T^WTuDjWFȿ㱟'ރQ- b]Zޯ˫Yv/wiM52K$z%Ǘ:L ?^R]_]T2|u&ܾ.̄j^ln,dT&2+dUЕݳK A\4ldh9%0Z̒pa·)eh׺0M[Pgm5+|?N8m4{x "5$@)D)1p%hv/o03)UwPvs2m<8 D FgF"]IƖq8r::0|(=n#9cܚ]Z D ] c-D Aǡ-I/Tai8e~:VBY6v$ ں$5B2[Sd-y%JIۭ+LaH ,Yt08&bR%]F!4,w91"Фaމ6æ$|~±]y)զcrٶmՁZGG lrCq|c!)UT^d{:gC-v$fꝽU I1`@>Aڔ^1{~ %fR*\VSog"iL4DBX DrS| =4YIUǖKYQ뵩;JL |fGhysX"`A9 'o>4oo#|3y1 ?z=o}moJ*(ТUSlBM[U!$, %b.zzofLY)%o@ZZ#.N͟K*i>:m zzGX?2mD@_\ foQ.$t8)=MN#`mvIFXk.N5U nT*[iq1K۳vVHY[.U%y 2F IVx„D;dmxqLqQaOggS#IQZ">%B;9@?O(,5$<82::B?GЁj{24x- v{56l< JΊ(`P셋ҳTq[aYZU $qWQF~k'wpa֟i}645rQM}DgϤ7dh%lyQʅ w_?~}[<'aw5Ө^C]TiG2L{lNp7ݽv=O;Uumug6^VQfWS#=$+H B1 } :ru(:Rfη*͜I¥ttun✞͈.`RفMkm7ee0ΚXy`KWЙVkHH 9'Y=1QgꋅG M15[f(s['iZe7nUD1E)l.g2}7wAGJƃYi=m6~Hgx:ssh#9|֤)}""3UhuA4C"{O|7+˙Wf׶NNoa4bdB#, ]FRt)W:)f31ءal4M+5\Fĺ̟˽J3ZJ qp͛lӅ폌mދbdN$Nd) ?tQD)ԩFr1m&c4Wm$ymv] e&e KcLM6%D"P7cw[/S\ޔJfjTT xs}c_7_~^Oi]ҧè;+GU/8u˷~ڧ&r_$NNRd-TSUU)7l22LDO{BpTq6mHTK`b'ltF(jT)"3WMr+Wtu+NiFFH.-k+TlEd+}6Vƞa2kvDLdA%.!r_`vĔk'IןX) 4rBHk;4y`>*>{0^JqP+"o^Rؘ{Lok]n.ݽ#Mrtz\qCkm\y?R_!?'T&Zi6K܅JNi4]^քgӏ< su\Т1&3* 4UVJ*R]`Uf2tq##C5L˅+F26iUiS +)Hrtl\|AMM37b)dx#=*gs25[J^y@Tafͺ7a.r 3)bCԹd ' L=}PכF@Ռ(+yc|2~gC#R"ymv(!?wm qˏ_z;I Ty4K9عٮ_橨Wd_ضlkqڂt( ŭ±+mԙw&ҘR4DRjeRaD23edkqJDI+44 sD$x*EȸrH1CV8-&[f=kY֖]lH qN7x7=7`! Gw_ -{&TO&檤@!=]}z{`E@13%9B+?e~=˚ZA~M\mq^/Kݞ ϗ˶jiD1}>b.*6z pl殫vQNTPƕajhvdPH4z"B ^z6@\U#+]@rqخ@d%Z{{+ @j3U ғ%.Px 6㜵QsXݠ@s,e@8{+ŃܛMaVNe& (> ؑ^$*?H͕ȵ,c==rz:O޽t՛bݕ=ܕFҒbKԲOȹhйb:;{=ʗ{պU[}+,i#Cfxz#YF YgX@t+v( Dy$=BBʵ.CdeHYB,Bf &|Wn؀5ؤFdf݈(&A5|3QqrF'Kg_:` uz&"W=!g0'Q.k\6G% pL\WSVvh#NmHS^qADi^OZ BHMO~ṣ3ZOuͧԮZS ^wW/:3>.2R N.r'K9e954: Pn h@.>Ȉ!H,Ҁ[ ohA3FZB:) 5 5gB͸rCOr730rLƊ̍ըPDX (ѻ46JWDk qwY]MV5隟c T\zT[\<Y6G}SVGfһ>|Nu&&FVͺJt /~3z"tS9~~}T9ltmtmMi4Ԡw9! 9M"*+.(WⲌ,PQ*[(Z#IؙV"S˾@fۭ̌">W?59e{z>GMǫi>'_;kNF?7;5划Sxƻ啥ܼ^(ǔ6uLiO^鮸-#QŠYrWsQup y19s3F(Ԑ"Cb+O\Y:z+Jx AW9JE6dW!X1W2y3 |uQl -/쑹s {.s9y3@6JsQ}rN|F 1>ED/Mf>.r Y02%1|eupNο*_^0EMtK#-{tyN|9fbu1󚎔!D|G[-]wfh5T|v>/1눸nF.q&sVHzRt4ʸ81炖î$ &ƥz'6\-\q|\De!.<ګ4hY iԸ }e [d{l0P( "16ԺLQLӖӤ=QF=torXZO-/[t(&1~'Ib9˲RNbŢ&T$aQF+y/(w^s5y%.Gh`te2:Nns[='_&O$. %37 b6Oxݻwe{b ^={\B5ʭS B /t0)COS|WK7 ۻVgu*㗲Gbܗh!R'M3wL W3ǘħ8qg*#z_6m̬%oR j! LvUQvfP_T6P s0|j0: ހSub1'S3ϫe2RbLէAԧk @}d@ےܯh[A>~Han6ou5 2STOFx ye£`OggS@(#I%% 19?C@3324I;=GHD;::;?:?DDE`_DŽs,p߇Yyl19~M9o=AX'ТNZCce<??~H'N6s͢y'hS{h \*ٳ#:WK=S.oƕ#ѽs鈦B'rYiΦ-%DRdziH==U_泾)l߉k~ęt x^d=ȳ7= ,$RlB ¦fqU ibw2;$y4{c26&)0:6˼666ed lz50I  6K"_Mb[[zx{&[3ug_-;leoW-?61%cLE("?H-MfyE]U~* FOn_Yyos}Sʙ}ϘvBnl٣=t0s[͌!$ǧ:FOjoޜNnEd(aj3'N~y1fEX ai$#%-B7 0P1n .{kI#32n׻ OMwA͂NiREE2ަj킐[&KRf~_Ws&w[޴N]Ӥ#hxMa7EocnM;ホEݘM]LCx+@ Q.:Hwٮo3#+-Veg>q4we={|0=1B> P;jX,9&M{rxk\H#lx 4dBƋfJƆm`nn t~7 $33S Zs g!@ p>{;*<Ou \ ”9sw\s7"L23S̔or@/o7޻55i]qKտ=٭~D12oY{mR^\NBl%펌k1QUe9*3\;O;:{:v[qy/er1+Όj7ICyD!\q3N,g|Cm326;bdN20_-8}rsew"&ԾwJ Z-a08#%g$alFO֙$t#PQr"J-q/URו@22UJJ|,{Ÿϯ\lO]< %}*BS釆H"䚧rq%B*QyNri{փPcYJJ)nY%9In?\^YHާ!%O?lkQ۩百IdoݣQZױڔɡ:ZFVfle{8̹͊\H=%WxaZ4b8>ގo=LaR ZՍ۴%;2:s4m> w|P(5T*L+Tb疱$3ުS:ʳv<ɲy|Ͻ3=L DT*: ?XK0ټށʎַQweywY<=n|bO p4aD\ 0'?T7!ta(>I\yv?.kmfo5'%DK]$apq,ZO_x$"!vXb*>rwvlښm8-f˻r;U'PU$H[Heֳp}x uleޫgL)IEk>˳p/&$TZ_K,0k,ľp[ r NɁOmz< 9.􊟥o\J(EJL3vVĚT+ "!`\-?&Q y>>oƊZn)Em{ ibA2GS(UτpM h ?lhBRm#KM- y̻?3.+'*=~K"HPcxӮQ4!$CӔcgi OZf 1eg"NAcnB$UtxW~`-9ϢhQ?zFuZtfJsolԀ͚Q6&ɮAM1}+tXߏq՟TB+fN\tWy/gm;M۞7|\7.n.\ݷE[b(j׽{keE۞Z+ N :AzæZTk94R.@$(U&Qvz?Pwȏ70<wۘz_2toL7Ϋ:2/> fnZf=:~]Yn]~J];cbde,ƈMQܫTY|@"Q7Z9Q*'#@UIʉ8*]{$0䖬9&`]ePQ}Bg A$@oˋ .CRf= WPC&pg]OggS@[#I23:;:;8M/3;7*#Kʨ*{@YyZHLIxZc-c %.!1eff[vixFR}Wt??ZÿC ~' 9M J#;Eۨɘ4;]q˼UOOc]==K2v\XWM6cRbuL] Clye{.tM6ݰE]q IRi1rk!z$Dr*1cSrom٨_T,[ =b:RA.!/SLVD^,'=. N( 2&LOg6}}'E"EX:1\ӫJuJ HO *7D5r&!\{ Rw̬w~g-78Jۻ͵gtlKn,2hA -?uTJ5yyuDVU<&^T>5AL'تm{m]|_%!C2d+3ot?4cc4TbD]5n*_倥TPbn2yQ}#fs[:logTbpAP),&hJTRRN)|x\\'*>Yf#fE?8|"i!g)]S*V7vXf]̴"eenMo]pἺ]9\_JPiIU?!f!F]*_oVꠝIκն7k1ѶEkTAFV -w6XYHIf,_Q<mE_n|~j{dipJgv"Wj 7be3y7n?}{{FJ9WyWv1aM)_sNк ]<1Q^o~v≨MI (!r#;Sa7:I/֪s33nٖt_nkHO#Jw] +\DPL3s-MMoZ-f&μµ qsI%q,$Y+ cZPs"^f8HýQhĢ!H9#^;1L̕LYdTez;4nR6>RF-)k/^c״ђʱeg2~JOo6fO_PwfEzr/nWvsPΏ](L_01N72ɫP+[x]I)0'GG!3ݯY&"y[qT;*Ny%W,sN-@m6#kJ]FtyؖuB\eC{ϐڜ ;&G$odT0Vc57d9C rТgHtd$jve1pmp%oƔd̽}?2펚HàR;e]}miKKhwM%hgLݹܿpj8J~~"l7;睟f|mWk!'µ\{%佝[Fd9"`A 䎧BڳgE##zBtkPR/UnnwTh}xݞVl8 [[6-Zxnր&L{G.we[VݻcoqF2X 8\pـ>#YPHKcm#$z9ms#26T7{$seʲ}nOwSo٣Xh$} IE5{xֱ\~t4f] c;+,:OD*[Հl iR(Nez8 "د5Ħ!=}68Plr9/8m~`R/Ƴ *͛q>u)vJKu?֘i3 7*Q@GۀjM1|IS]٬>bn0Xhh[Y01e vs{ΌLvqoONAzP+#1w:E ${-klJ15EWܟn; RcvV;Zwܽz(?:]|lVŨnӞ~'1Rj CSwfNKYIPۼ9̊ig͇{̡ʼnQ/6+ߧ+Qب=wY![DGlʲI\nv~R뷛l9qӟkA%ؾw%LpAdsIYKxcjh6S{[#Ƹ!w)En?'9<`]r3PON%Z`/qʗ[oLuKm=ZNQI˫UjY}s]-SQbW!Ceg02K͍ݘ+SG_)nsWl7 C9筏 Z?YYBjVo#8'Mbf>̦؏q<>ԙt,arAr ~t@r^5׼[⑐D4V. `&e$YmX2q;Դ^,:yK$<->n[QGcYi&;]J)&77;ՙqilJ;*}ͣ޴{+*_t纣<߫f2 Lp|ETӦd3̹{8񩍼GXʦw`wk&^eF稙Wچ^ir{㍥EwuG5&-^K ,ŴMm[-d2dt3۱$8Ȟ ¢zݫF@"]lV@'d15V­%9EndOzۮ;;O,}jw߿ܜgöfMRtTpP)wW9ΡYup x39{ݕ(϶פv77&.)؏)2,2qΞBo=C6HqI>͝ξ5QWmXLpɕ =rM=gݳEryaq 3`-hmv}oP>>L Ҙ!H 5":[G0`ޛ7*y,=0w νs?a]k㫷o!+W /Ѹwp;Ci,;(^Po2k8Ʉr)bVlTFQK?D'8dne$93W^``r  C1k҆~K-/!e+Fj5".}Y@r%3TH_ Ę {ny9XU5-a/JoRKghq]xC@~D8 8>ODLB'S]iOKwZ\gkdRuZiD9:K Bhj7Ű*vNh0ZvG{Rvgqp+MV:cA|sZ00 ^ bz o7Q[A  ʡ/կ Hv^d7{ ͌ԄZIgdl4}I7ۿRqED2 <9$v͍B<ԑq:sĠFuP8^ML3ETٓo;Y'3FAtVDRoci_U.&;mw!ZL]Q՜ƢgrlO8ȹSy -jE$_9h=(B2JV_諤OggS#I}Oz3;:8=999BECA>BDO<9=>;6<>24:<987<9D?DEB;:>?ADCGוgݴz~:O3m;,Hysܭ3]}뿁9MlTnLg^;B(+dFBipEZɍނjO{Za|>u/` ɝA.L8TCE;ffWCߓ2 5ǽD'2:YZu?ȤlU DH>ګE<1yЗ7sM? *iKz]*# ɤSD˧]fWiP">IlM8'}Fts ֋8ᦉidJL#Z8 E_sN/1sq3w b&y3fuWU3MtUP:v 2`䏵=;Zv[[n굥5Ǎ| ѨvL zLh2\t'ɎlFw)'uۥvRx7^W뱛zzz\y!pʝXAV!U5AW 撛d ]չZ{]fg̵ZtbKI0)lN.;F+YdDVTvc/FӴֻazgśmoZ{|Fco3,:E_{zNYe7^]eoko{eڭֶjz|KDl]^N mDZƔ[_f{Jw^j u uUvɠ}nbm =@N3GBue] i _Q^{yg*tLUqqɎjaѢ Ȣӛ)UN8X8oLl"dYj% U5, wX}XHa"dHRqnnޔmo t;j Vm9A@QgR5t}6cn g˙:A ֙J3|PArF%Zw6op!`r䘱 1Ԫw7`Aڜ̢N.lw3סaP,P\ߛ5$5A#]\#'eO)nQRILjىTū^}ʹ[/ ոj94Bݸfyf{Ft{ xs>h ꘣B!KR+$ $d$+s[ )o^Ƹ zLa`5kY86w1tZM1S6 q92N:؎ Y|J dk%|3dSiZ_ʍ[ G49DTMIp5ź ׼Ẍ!WQӼlīgFz-^g7eoL(\)'$|/k"(5Z-"K3܂Jiͫlg-ɰEVoaej0 lYJ@QRv'k"¨hCQe4{u4'I,V+z+W@ghC 3zD῔=ֽƻU{mnn2-"Z 28[&VOO>WoUKjVz])E@37 SsOSq%1em_+H|PFZcߵڦo/$wXd9/1%טҿKwqs-G)AuFoDTq陗='7WSaAkww]Cve4UA:N[|JSn ntΗ5Ή.{q彧,vEH8l':@a{/an_S īWM ?6kpu6oZ*vuOc)o'g:fSv`(<+J!9)E-"7t$9H~:>1`^ LDMɿ+d+i+.+,1x^鯏4?埑$ĺrMbV>;r%I5˕w|[Ugh]O} lnn'E}Vp Nzc9=q{s#T0 Tq;9}6:+w ֿmC4e'C`0~vհYêfeͷ*oZ#Y MfM(4RjX;U6` dR *m,YB: \uSpD] _14˴m۔VGJ섭y] P `"wk~^Ll,LY+}{5SՕVfϚJŝ1ڄb$`,ǦO#,}zG؜}GWیҶa,)t &WlFZ&yGwgv[|j:?qC=zlV3d.c*܌yȠʇ՟ͫ>CY;76k6ugQ[INbTheЕ;O>刻G}ą\`.bdfP*tIN@_Ԗv:#61ժco|VJB^kf6-dfT3dN.Ɇb'?\4$d6<55b\6{U{ɞ{k.lR}% } a*qbC6Ollyw~9M{2^]B_l4I%JC4U^ϕϦ5Fbg3Jin|5$RRitl ]}Hwu7(J.yEDyc`[mZ=n+ԢW`;d=0| ;|N! 6 4 M)(3W N/>eW(J%_DIkTz.^ ӏWe߼?V,VJ҆'{)K姉L*v篒~;xjX]p#Z=]ywNgkO> .KuD)יLp'h fD@]GQ7}q G܇^i.OggS#I(0/=:9:;B@BEH:*6<@<99>:CD379@;A?X+@f[vᄋ%uo4 65Y nt&0z!Viұs] sL.HN6@L23JULWޯ >6yu~rxg}+|]zOWK9OgE򔈍t뺴?'+G\Uro%.gMnTG;ϭ&PdFZiA:!(nRdF2u yÿ;)Y~=5Co/mKδ}ܷ'eϮeUtfFTQ ,y[-D X-I9nB]tCwu)y~P~P}mzfλnE{IϦKuV9XzNܾ'Mfo$gsCn؀6' `.j $Xݸ܎-7#Qi9 ]:Cݵ$T=Āf@fK&Ж${`p^O. dZcCTvfX8m[UtZ' 1m]i \LT'SeVى.PSUuɛL{mۙ2M #J]HTb t{+zȲlf*t`S.kzw2=m|3[|69`R8]`X =1Wv+󴆠ו}~َ)^.dWW:xHdjR:+ӻ+37RSnG槹O/Wc|u+?UIff<ηf:$=dqtNX-""6u1?O?iНmV܋w:i-NMߔ2^IvފW 1AEimE7*6{Z4>m" {^^饍衫@\?/;<{,  ;2Ԙ&-ᔯ2q[%?iM wu.U;׬Σt5%yڂaGy(ÿhVbL%O|QF=6}_بuj[#]7Z@WB#ڣXDZe, s(2yu@\iwY+x]m.SQnm`VҕtCĉN!BBD.R`92Vq:TuF_`M҈ WSXQ,gw@"vʐG֛ ;>)P=JyCl}XHT " 2j[ `e8(?_ae[\8Y==<%,ǚ06wIڳjP~Eu.j274qu;כb's`r([^S>7O8ur"7O l "s\{O1 ,ɏ7 22zc 6E>v#!d)#]No.Mt:o-AQp#*0/%aOCoY&Mnܰ\d}d" bqGyxdPf;T~V^ܶ'-ˇ e&AkV>^EbWS.(Zl7E_.ao q C\]־tf%خdTeC%9m~b}[4u^sH,jA>1,*->FI49:8:>:8BGK)#v#iFy 7.BNϯ>x1SSem+Wz;vi2Z茙&g/i}beJ4=Q1Si/mU!ǜ;HTcw pQWV4e\o_AVQP( sirf~=Q ⼺3)2kSYq z4܉o 㞩=lmsjs.{+f4)\*Di! 7`tR:SU͔yQ#*moյm*oK*1r5^}%?"DMlJd&UYJך^cez{b2zD΀r"<]1z=C镇5M$Yޛ.ssUxNcroʅSP:"RRΊx-@mKoEVQ35fjB+߻5gcnmy|>;]x;{kɭdW3ՠH_]?X 1׀`\:+ԃ1=rت,ZO,͑3>7'n"+-Q޻46<ܶNYIOjV.gVWqĨN+7.Oky&FȆSbTܨnd$tDYj5UW)tĖnwEy~>fxDT)rzʹtytI%>(:/wؾcJmTB1:?{"6>0qRA!|H;$q% 4ʵ'!nYW{f6^L_7w+MN#[ig0nFlkB0 hJf)U!Ur~OeYk/6r2MIRfL+߿;?C@憒=M$ /*K/pg &bJGO>W>gĨT˟PiX׳[]Ft@e#؛r%9h0ε40ɬR\s8 unsR!Rx ϼyAiz @I<tAh {/o7kAm1Mr2wo5"DA`1~{ @̀ e6Z)Oiom/<0s$SLep wmwUϮx3cI (gx Io{y<{fN(Gձ\)nqok>]w7W}Ku{8rk~Sڴggecrv*¨\ NFy8P7*}$ *R7ΩDMQhCE}"wS@+0bfɫ=L6p3u,!rD$V^ fcۖJӮ^=Q̷͔? e; NV֛`eM>Tm9%!V}/_ He-h]}l|2uSav^HzRZ\=,Ewly|k|ZV4+}1նzZu9 ٕ1ҭqIFLVS]t=u7nSɕ Vtq:>6W;0MfJeFzZ}E)I6)mn LfcpQM }$M½9$?&ڕ9 ̀iBBgA6Z, jTƎVsjj<*Ŝ)ֹV֫jr?\#2}2Rs4p'RgZBM=BQsKW Q}Y%j#Q6o;U4ͰYY 4]NE@\Yo^$'9J2>`㨚\.o371,qov6MNY6Vn+͓7}dzW2\5˟sQތjfRq3{[撚)Urtl68MYjEFΡ3d&zM HW*$ Hkl4HZGq]Jؒ4 )Pd:Nؠ0'ahƖ[|='}0 b&zowCk.&QKt dxkB=T+.?q"k25GnrC _a@Kp{ 6#Eu+ĵS㌍zWE3!"jeLa<< 4E%MǨWGFFi͋ o/Fs +bZb7s4wJa}0=rجQG޶-m~n4NJԂbG ~((* ݧ>sc[Ye%&=ӍqtA$c'?=v&if7Fvj1#];o[6V֝m:{uM#BJ ٢L;ÿϩM/[庮Ib͇͖bݲ^ woc"ͽ:!ȂTel.z1ܑ 5W7@xEPe|*Sx[*/W6lkZLh1H:Zuhob6M R`ޫ7J)XVhW ~6>wTq'd$r}d}:9 ӻVW" PTQї5ud{*ZљIzI9Fy'=U{p;7*ZֆY\}3<@BE^U 92SX]i"p)TI .s|I/^MtT;) OggS@#I YR#N-8<awuDo5tB&6jÞTɝ-\fufi W~Z~.>꬙S>;iX6礂@(rmc.gJQ윪 I4#3676* $>+9\-` /S(6=\d 7p<o5`|qB/{U†> _ 4/=QEZKoZC5a^Y'@BzBCT(b^ӋȯŚ)f̘R~k߿ӟ;)zLOׅr7z~{R ~M|}..amVxvju+S鳗%{=]ގB׿ƌ{V:q.v2{᳅HԞk7DvlJ}YQb̜T. tM' OĒ9Q aJ؈#$ /lnEZ,`!w[w0:Y*BLsDi7q6 56B%>KSQQ,H+wiUߗ>۪R#U6V-3c!PTaLKsɿJfI=Ӷژ$ R@U*2; Q&]a;"rgzi,NLJy3b;\Mײʸ,N([} 㲥b*ٝb[ju(tz;J6֞V6}uN} iޝ~k=yx]gdd1.V٩7G٘Tޘ݊YϩN[Gۉ{_N3%ss̐[ˉ܈k:g'UwƜxW{2OOOcs+&Te}6o_,?1^y'T(Vz&ۜ)6MsZ{dMf>T(V WK3]q&_'CzXrX1+ǛaY=Id[zHAF䡶`)YM{ޡvTJFY~Ο=zqᰚ^Nӻ~t=n>;{*m]sD>d*^'WV$OOv &ӽB3nl;Y&+$69:ƶbQ;J!䕵]ԏjhҠd?nacL;m{eVJ' C4Ɏ֧P=WF%;Zs$ʬ *Q[{%iZSc-> wfDjT2B(0  |G>Q7^̰&sR*^sro{ZYssm[Ǜ3TG\I۽ ]nxUѮ\_]VQݣfPBNC  %~A$qFQ|ʕF 頴UACTڵ"4Sw<  N| NŰ^}t]UZsWv2:";ZZ>8*Z<@mFٶdm_'DsU=^"𠳞o\dKe62USf1`z41t. '==+ w|nޛD*{+d?Y8R?cm{}}\yzfzJ9աs;לҝӡxg~-댶ʾ;[dZCvv?M;–KO S}Z4Džj2>c)MN%u]b.眛dwdAķ'xzJېiy#:٫)?=יpOw]3u˽˹C*Bт-;k3 n!Hvk@ ndUj9{̾&>2& V)s"dHy(/y3ͼR#/_qm'L5sͩع/{V\Ydx,Im"މT=ٝݺ-^Um{|ӷ'mbO+rCmd7loYWlE!h~nu0c'kOަo;<̎rhCf{s1c"umqh_ήgkS݃Х˸%]@1%zO +w̾gww5;?7-ctdGOxP>1|tV-5+٬Һ3ʬt19QS2%P'VM!@DN(@7ڛ(p7Ч`YsO3jQ̔?ag;MXk:G3-4ަ2@d 9, zRawgc|*"b˰iզoPo/4:,rN@=~o%y~vsy-~rjyUZMI4ڦ.Hc}h/n46ɬnd-.eʬQo5R.m֬OqyDV[ULN)V vӣy'yD gNGj}ۭV_54ʲK +^wJ0zmxԱ֟kֺѳy]g4:WX*{lpL 3ݲou}%7靎+͒Z߶i=! .ϘPBScEbzn5>8si*a W= fdztUެ5jښ\%DbM:(2d'Yh'5@_<R+ou}[{7_"D\oYu: Ǎ1ld E;=+u`)0o&*e{{ ~ׇ$#=k߷6}6}/2LOzN~h|'r^ʮv޶~NW\^UO^}|LVGºCm_$R_EU(*o(C7%Hen֞yFTzY8cΙʂiӪ woT$g}S9ur6]5O|S\w(F݉`op}Z;6x#9g30[-ogR;b?~N7F>Kب"6?>5 ٘wL" `r=Rff8dɸ2n?ͶCfJ~o1?uC y0@8T{ D*~ 1~sv^na.'+h@C;za"7i-ȫLD3,e1љ+ RǵlUu,RkFWt8^xi@oZ,%P6 {Q`QT5H5ݳw1b7<-޸V]ޕuMt5k~e<(tF 2GIܮ dxå,1@̌MY~ `ʻXi_[O4sߓkW1bќwwJ{W&Нk8n{|枬;Vp]QQ(|dxn[qUz2iy'0mCWݏa&m{@鬁lzpMfOggSL#IiH9,+'8;=:=B?C>@IEB+(;87799;B?FE:>:=>ʼnyU.2QfM1Ezm,9Wv ȄCܩIE@y&&W.Y^ɩ:]6+XٛwiY9Ldbgu:mK]uAm6vF[Zv-zO=kV utKt-itouy_f5jMq}߽Mkϊͤ4&C$8I@̧DpqF\SͫSO7dnim2,B]됪?2U$DmuĒ,TfEyMi]6KZ$oEU7 Nt^D$՜6C7u|](lTulcJ.-e\^@HrG@?]IH{<#7 wâ}YgU[l綱~6lNKDuQ [%~_7f,NFS9\^ykֲֻ5|@)u+nbz~H*dC7fޡ\l-G5z=@Оom{>nKu{kd?%ѡlŵGSA?nZBJY(?WT1>^7}spyUdN_wa|8qYV_?1wofr{yf}OY]*.w[b_r+/e="TE/F0ް9M-ݸ̉Z@" Y 2c2 C4 lm`sIud~(u5n\s ,3C72@Aޛ+Ni!2X)m-D@R ^SSS36dXS!y|r}l게c*NwKrQ&/"TzТN5LXQBdgN5l=Y+ KF-2C~aw)"y2 7fBW"TmrIy턪Eq2Bݟa.^ 2HBO y>'sԖ /j>=J(UE*+MM_蝹I7@2(wvr˹[bDo zbӓe'y ++O]C~=o-~,C 7}\@c}h6x6kٝgopư&45Ty){e(Ib@`vBl cިR5S6+D&)1R>VBW׿Dz7uCv)8%a'EHa)"M.GצDQ{>殽6.yh p($Wl"þF#ӏj9ۭl8vT!'gs,N=071Qgy|BrplRT's+mrc[S~;3{X pVgk}2 S(\q͋@ZEH|_ e1Mf*5LYo096I}_CR'w۟ynuz'w9:t`wyy:"|,flW'(?ټKꗭAڕ|U]rXq.άMN0Uݫaq<(;σ7n$J:g5Q5Z'tqbZi<f]w9wfT C>H!n}-z+*ǣX[/mwFe{ViU%Qm`%+\#Ø]مiM|[|\6m0cOeA{]7vElLX"XM'ҳqi'dV6u 333IUDZo5Y;Yac\7Бqi V}VgM\_^O oxQVs[ueDULXxwv =w}_Yg+h} ])oU*iUrrj&mhUqn;J -0N @a-}H٣rgw<΀kV3V/Bh#פ?[ ˨9`LZ7 -oc7K?܇0GHf3>\l+FˬoH ,voD)Cɿom`)=zB&x7R+uu5Gi;/툗t{-ʥjw1gF\ֽ_{+sOD뚿t@7It5q>8,;|XiUȸ+ټv30Jh>/l=k4uo-ZCԋUcd$ o68#2P״;Za8g6 njg_/qrvT?@eAOHmS d@o.` F<-kZJ۔VK#n].Rbdv?|Ӳ ]X)De3EQ\o]VĮg̜EaYEYJM"A򐴈)?'lo}h!aޫ)env(olo\;2Z\ i}; tڍUdr`FZQ,q 5O2Q.̆j_(b珱Ta#7!SɧbP] \Tq8M)JWH$MA3+R "Gnq=AN OC\76R2}ޝoe%!Jn{v6I?\v ެpVp Ԗ8rc'BmU2_63m-n%϶vwl[?kM+sY˸e"fd$BH{~ ~4/! M\dfTVUn}2 e6'|}rw 50 NkcJԊx~lCft֮xU x1 SD(SOYi|*jIv,ܾl;Lêuu` u9n.R`#d'tr !ѹq Ek3T25-b*r9XT7`v$l~֬ܮm䝽Hf `3횏ؼk6Ӛ.5IFh*h>LbcyHی~y'y4&@xPl`0$SMلV?4N#f[O2>49]]L+YJGtJEW%#+u)OGi*!BRe 3}3]Nmfw(C!b7T|z2۴al_{OkM5ejbRTJYdF!N TagmIMP"TBT]JTšle=C e2V  %3@ e ֪s%Mrl`%W fpWl̨:'T1yUW;:i2\H=row8q}To(;w٩^JkzOu!Q\e}nT'ې:z$D<ڔϸrn3GEq!a䞉0E5=C i)2B3\ف6 5$+SB MgrNhޫfCNN€=)ٍf u-s-)=Oww7뱇S Q\& r,H0TFR/*aݘG)w,f6MF*ƿ|"N%["Tu7_:|bZ* 4u%=y; *w񚳺_;3S'&# ~ots8TW^u~qmoS/?aڐ7yΰb ܥԈT&J\{* 1/g+תMo Qʍf4tӛ4>$JWPRA$`vm49ƚLθƔ{/6X߻7xϮ7FzBn&X~iNZQ5_#T?9~^F9Kl[{o;5w{thoZT]ZKv1, ڡUP=E`xϻO>,EAśQS&o@KU_Ͷ %km2I32}-gUe2v$"Ƕ+ӏ!"4.U<߂|g{N>{Q7fce);يa\qr29Z%G66bI]- IU".DQ:hC[ LtLmVtmC T< )#ō0/$ĚR9pfo*3e\M*_F G1 ߉3g۳kq:qWhiokyY h#1Юń1Ĕ_+Rr۾9Xj:}=>/i_ֲyZ Dyޯ͝Q9U}PCl'^Fuwׅ-c'frno;|[!ʪbW|~XvB%2#d$==!#W#90d;GSH|! ~6# WzQPY Dc Tc$OggS#I,l'47CBC13'/A:;GC7:9;;<<@beٞ:X?nZ7rwsg`P|f5E9ȠTQTx"9ka`F \>~}gE4WU=,~}){auj5izX[HVƿzr\uӜuK*׍ltƋ2%+QgTOm37]TIZbUiԮqmm[m'^14}ϱvR0AJe5͚U8/&GSV}LuRWͪ]J=gNk (yp' r{@ L23Ue,z@3ϤI3^3}YITr5흯CۑII/+r~֔:R n3szU=EZ@)c~5bbBjTs]Z1xmm&XqwFݰ!">m[bskw/)t}:օ2 EUdg. OigAd5;n&u8?6^;Mπ Hy+DU)+!UDШPU5Ufe {HIId$_ZǼ=f.?QA2zw 8hJ-&,U;.SQuܴ^ >v]wvlYfk֨8`W<ĕҤT5}ߞ3:v~bf&)-|~ˮG?;m]H{l,lʘ.n&/a&.dب0.flֲKtխۺ޴$e6Ɣf zEZcND+)" >eg60'( w1SZBbPIH+k3K97yf~ti~ƶIܤ~m2?ưGCuC^*v3VڼƖÞ&$nJ ӻL(̸Yrxpн{'rNDK[͝%]]Jn–#gwEV\uJn:щNM^݂O$GM!.D^Q7jHqNքB!JBE̿(͞m`L>?d;? b;0q;CDJ0Ğd@N:{7Wح1;r'C%Y[fѿźӘ$VM^ Ϥ#R J3)7Ufz*Oٕs͕J4:\(̽+ϓ|-m~iekL`WVvl=n6(llYe%qSJg2.0k}<=ױJ7Z}]պ} 2nQ"Ps;ؓڭuRT(ڟӯryA;uGCtniTp}tyu%$67`m;rBdt墺v9f 23bhIAݍe#qi_%#F 5#֠a1E@`Ԧ籠A3K# gl?F&+El<[XN{HŽR=1&Ƃ0o(3i9N'}\{$&j?Њ%}[ݳS z!@ob%vYszl>P\oSDc4[n P ("˭I;%rL4*D.6íJZM2YpA"Gm isD (ؕM1Vl E!*YH0L^K*DsS(0RE!!U n{$23ֿ_r\ײ^6|J3ﰴ&.$7dkvuW}+ChdRgwT(vThZUvZ*yfzngVv#z|7_ȹkYw=̶f#b({kfi숔k<ҟhqk`i; \{5C kTfhnZ`y\#h }ۓIQ܍s F6nȶ­1H{i9 z=cfd=eYaHR4C"({X• 3,ULo?p կ82?Ovy{\*Wݳ#1;j,?qY5wiXWTLn]B D*7]DTvfvz}(пcit[k~n8FQs]cuwu &k"5][]:lJ)S\CVhn.UjJaUSz+fCbI=I^R;57*27+Dؒif{eJ}ƽ:GsW7ao|Noߒ$u;>VKDx1. B4}/硾Zer꽐ӯŽOyddWNF9R.Cn%M I-Gn w@aX G8Fu,mĦ鞦,f:$&R pG$[MY)US Xfm;H@ޜF Л\.pXn(@}6]-\ eGAgR% u Gwe9vd85]T7cT919Uxڹ7=՟*1)Ȅ^$5:ӞՈu1Ln>=ymm3Y\f)i(zwA9 [G̭HwBYލzWܗ,"%[X٣}I4N'LjceJwwhYέ>C^I1>WS|'ﱙkreA|WDUn !c-F: m/Oo&M}e覆3\(r&@YWHB}N:l.R:7&_lMNH*0#OggSݬ#Ij7!ABLB= 29;??BBPACN564-i¡X,1?xmJQ%LpX oqoJ|nYfOeU/YɅ#Y wivrO\60od"R-oَR7ws`i[=68Ņ5:-x!(h@'@kq y}].R}g-o:f^kJ౎Eb( E,/$]A:X_[:h˻o<̦ItPJJhQZNyf`>޼ %oޘLY fZo5ݳmxM-ŭ: (@) "۩ !+7tCˁ89"%ʑrm={ix;`lqdzDf6ȵL"sUB4 `? `^0w짲ktZDXp14'B)^LF1 "&e@2LWX`efJ{?tAEۛ9UB4SNYpa@:>E F 4 HJI"ME ~^[Ho..f/](tk[3\{p42>k< `>كk$ˍ*7?]+*mfB.bF \ %uX- `q%fQPMbGĞ$yeXj{;{۟^,^J̡rbSB?'")qXXcYd9~/k[lO{+{GxMYȲWNSғ:iݛE{BTIDTUpʖ:{:ǍlizdPд݌ [^_\䷙4V2;=7+;lCE@%zpl%;E9wýuRҷ=_֌{UZT}mO'}yoT,>}2F=-R3ua5䮽G|݆|(QN7~#·hX:S`:U[aw6ro=t~}RkW]tӨ~Eĭf]z8[h:#Ejʐ u:103@ۼ 1X: Y+ b)plN{yQ /Iq$d=jbW$fJ)5\{+9_vqRe5gMϗ5lnQJ[bcFzFbݯ:'>_oy/軼:d]_<9#SЊ]fZr68' EbBe 976pr]ͽqJAC3y2GtL[UQ;il[(3d'SO,o.Nuݹƃ.UUӽkeC߾O6(nmXln F Й޽@2{r'[R;csSp~]t %җC+\9F ̘RJZ ML<jq|7;hz;>Rt;RkTBt>O(ev5?d?{l7$-$y]^^yUm=3ri_du7-BscP3y,JI2=5:,jk?{94;u=koͥ\Z]l{o=Gh>aG IM(G?;C\Rj,5i[i8M`:Ľ !w.`,6ac8Ӡ3jvlP$ٺN${\\3F;*Vl>97²)7N5{]/9ԔH]!:$ )>ؘyGcr|R oUŕV4iLor%+m}.:DUJQ5Iޮrw'O]owZzzO΄9[(I2ͪ>(֚ok)KNϓP|{ꊓژ읎9{"J RrZ+=ҲfIf`Mlϑc ν jz_fՆr9> F]C;T @]#s7$fcLV:ϮNm;M*%tiI{E}F2+EW;\grOo9\U6THW;lVA #Dש&ҟ*d]6HȵQOY)(}b[锻Qiy܆܋ٶv]:궛EpaU/+otĈ"ǀSpZq<ٙLm͗GO^Vv9W;qu\q]N"5[e7]ܵ6Clvbo$͑s,O!ֈKc4tyoZjqѣ헅uʑ&hv#vq1cOoy&-l8~nZOHihxɇ> a: ^k Fe vH'Ԇ$ýmа TtWKfl,Wyؗo|tu^lO4v=P E\- ϕ3YM4wChʍ~a)z&o+*Qy߸:T@8l o gh];6^ W~0jOiJPtG~^|Q*|DFO!=$z˩={q50LsMOggS#IQ-2#::>=<@D=AAACJ<<87=<8BC8G7:>;7:>CQ c~@ly`ZBd.[n5KRo{)S{sm[u)+]1Z}B |&N&R&@B~+1ʽM[{rj`ok_6BeHBڧUsQR.)b:ڰ_z7`xQ03 E[7Ӈqž~գ[%C.KjȲ{Շ\s~\MI5e}w> Scĥ+5[ھٴVRL*[eT,"HEif Qh xPCA"JR\*!0lPF4=,@'XA!NI#~)@r)$Ɠ+cz fKs)& +a 7eZ_ʁ7'x{}LA58{@ꄱ)"l HHz,3gN.3I"9fj­cr1O=&vάeΛ;O 4-N|h% 3LV6ROO^z.ݕs{s`nK=Dm{7.!y#]0E BAz:Vx\AsB!!2R+3O<zD2.Rap2>@d`PqgR=YD.+"]ƤJX.Vd0{scZ;fv1j6 xt%-z0L芭*иKӣWfTKn[55*61b0l*s~ⲲJH’Wl=!yh*j\ 1gn6qd)萌3 'kW#"jRxywoS ڶky2cё\rUܰ-yX65d+%lwKJS7) =歉8|F M rBmJ"nGqO'fR.vnd)n$,%6Ce(qb;e1ڐtZXX\+ =pϔ8o~SfHvIՙ L)YF! "~vF-0o&*U·~K*sO?IF7kmop=~/WqYz7z37͇M32F,.QT޿:O{"n"--9uD,-diM͊XyFYz{(Dө߸Nʻ qT 2 Ȁ^7ϩ}n˝?xx(&c6̢3qXoͶݞ@a"9icB ٔu >y}:^ ` @įmk r]?kOl:&i,[UrJCU‚z$MoxA|LY[o ٹ̪=2]ȭ,\J#: h5a^+Ym/^+*U^S3l6[dn̾r7L&dpy]lY?8D)VͿnVnC.k<Y yS3`sSfkwz*S>?MYÈ_w^WlM. lNuoТ]"X ķ~EĔ>:6}WFqJݑi]Z@tV9i3D6XRз :yr"٤i'sp RWn[WmLRKJ)@RGp)ȴXFJ{~T+A2`ALTFU͵m TWY.v5J<|u`6ge>Q(dWk;jVk nͶm-V\mNc<@wĭEې1: ћ]htj]fUaZ2KS "5s4}!Ij̔V~w8_k_8?5I2W?nS,=IjdgYk#7<&h[WEZmT܈ŷݖWBL:mnRY'##cltTKB5t%KW&216qMe'j|Ҳrխi" F4/a"HgtfrEuaʱڭf>sIQ<:wnV6QUC>'<{8k疚c:pA sИ * (,B17©L '?b%᛺*WhRɧJ[ʵ ۿOggS:#IHd):<9=;ACEC*<9<;;DBIH324G:96;;A;HIrթ:Qi0pd@(n"gF+W+<.g{mxY/%f;64 (Pll:*;=$?AR)3C/wUD&[&Yy7qMDʠF[j&:T;9,E{4v˳9{US^coe8_`9=9 rc]Ѫ˵yT٣^V:fSQ ֤)Ab&`SwEK!QS{QkkZ1ӫ46sf3̖ÍR2aO@~2ĖJsɟna fbu7.1-9wxRWD==N_c HwnGYܷz7%E:>[V7Z9ֲڽF!@I6|&FYc@gR]K5Tؽ^q*Q{^ޠ7fOַ+ϼZZ PE( ;(f t.`f<ǃ {p(ɌUDZy+_\__vf0/M_CѷnATb?0u5O<-"dQc7r= '~EW6)8O/ޯ٣o*az%P1ʌ^0;Č`هUk@&bo<;O}T63(OkSW~+T"H-yhMk vMo7熙3K32_+i"aVv7 "Htl&[ L̬J~k~R:gw?5zwzԝ:)/[UHY]:J.zT"ҔuDGf4n7{y{a?vOVM,Wm)ܯE2̌O=ݸō(CRk嘭K?-G%'md 'eаYB7fR3ٯH&vyw #Ic|O-U-¸r2`a[y[xmTJSA [wLzyRG{vڕ{FwSM+Dq`,Cr B)lVcA `2K0\~|~o&Aw79lﶺ0 Z_kϭϵD:o鴩U`jNR,;a XmΨ"> {-lEQ+{J;3DJCyՅW(ݚMxcr^J|sGԅ:XX3l{Y}$r)XT`U$w< aTډww9JzgzlolZղV!dꢂ"l2)M&K9G о0ڦ˺㪿*eKu#6j9~6 ˅mKu~GܓzǻZ$^n:;e*0,bSb2ȢE+'o+v%ĝʛ7LM (!Eօe=>.8e9%|:EQsJcȞuaLGQ S5dP]twJN :%z2+2v{R ۆ6P Nw!?ͪf>lPn6i@Vp\)Ua*9#43c,Ynݍ%2)n5n22;5t{H:1 >5_<(!ȽG+9PEd q;^w+I$c3eV'k^Z-L/CN}}阳`<]fgHL@l]lnjcNNDq;[}S{T*ǭ-V}l4ӕ!2E$GQr]iJrDy;HUz;B DFQ Kd#DYqD1!.ʕRT'dH@Ntntla pԐsϔmQ=vl2 I!p<1&c.SNCK֧7VpȲc=(ѽa^R,{+0&?_,ڧ5Wa=]E?wc9Cժޒ˯˱:s{rT^>ފ9,]+N}}wGyx7Fo^t,Tr VY%sE!x}92BpY nK 9[G, h5Ǜz: 0^3pY& ڽ-a{.X!m%ɷoaICy@O}Nwx"`ϰ@X011U~+6|z:ngN-s|?H|:j qPNS)쓗y}^n ;woO'u-*-=+yʲsKtUoFFF{u c+Q3d2.]|©vpT!0@[+wPWL2@T3eaaǝ ޞj9ȸ ( p{U͍kn&d[3E %-δ/}0-agp;5"Sդ󐐺 @ #(L?jl7|?"?k>kw7"^6ӟ덵q[}sipLA+}ahOhH| wYt8Rh~:|{tĜ{*6CL}?{Kmޥn*JZ޲>RߔH(NФ(Tߕ( D[1e@6kH F: 9|T`&a%83l^:F^t? XشcCz%2ぺLdAR ȀR"Ӑ\;MDt1琻)>-vf< - .zp +Y]/DhGgLw9u-N3,FZ%\ [H%SOăX[zl)wj&[/$R9QԦH` !,b0]8'ZzsC:EMB)W*d@ @ ;>IS`MFhokZ`O`ϴ^bm}(*CgP7D*D-lvZ: ;<h/mz` zf:ʄ#eçVzEXY~d=qLILg}h%;i.t7E`NA:}̯~pX3\SlufG1K力I].aJ+Kedxәz<Ո,f#?tnO6Szd縘6ը]&-E$7BF&eD±B#Rp'I{F=!#3 jGX@J9zX$H ^OggSn#I׋M#169=J?,7A@@EC.+#1F9AH8@+ut;.*JmK~+!̛Boul;60Dr~  &y5oT)SWL =粫&ni񼶗G2ȧ1cv-]&K/:rpȃݭ(^54n]˶69377d.xo[R|;0R󿧟V DuWt47~3b; )蓣җ[йRYʐ;$Ū21"MP(%ҙ|#,7]3 ߝ1[W쵦nK@``:\ `?SLƊęFUN >hdKlK%sX eySo&-l(E3`|4W?9'(1_U"V?l,5gG#`T0V'nׯS7)^x /:o$;~uVZ/V5CZwۛ4Blg`jUUU/މ"(ModJW ]\J\e١ %KЁP_Aº$OMR̢:)n^.6R$ՠN5Nʙ,x\%ƿ_<7櫼{TK[]#\VS ) ;SUrVcv] MW7o\hʤӰQ+-TnR߹8rق |i sT#@$Gdi)=%!U3'fp90x` vVԱ[Ҝ?}(Ǿm0̛*S~@rݞ.<>ҽvO{[mo Qұlߝ!s9Sag*}{%W -V.]\ўq2rVbˮmjDa>j>rP^b 6JQ-t $~ޤuιWvX`>T?\t6E6|\57-l|(@og*j_@ T Fq󬘩mʄ vD2D&_%mHc9w\N)̤B-mOT$BDӦhuQ9#NzEiP+쮈Gʽ{|tϕosc,֪ĕ˯.4NJcxUw+y25G\/ʾȲ!na &2V67nYݧM5?2K'O9Tvd`Y1m%,l*djrYHS=Z$on*(ȓo˹o2ki|7l63KeS q=YS#QoJ.f]Xk[_jyʿlb& .H 䂾 ~ C=4(T:B~~\⼩mlK 3v?ZvhӉgeݚBj5b9X|ހQ۪*stGj^cK,ٹ?<ï+cLKoc@ Dݳ[JݺֻWRk3 ;P@> ['W$頒؝⠼djFz~ϿUϜ-Նi83sґ=89[]Ah&1zd[<% KE.t9{ ^LdCbC )d\LUŹܳ:{ LU‰ozv/C 'ϳW1!teFT'R9k CF3iRU (n6M¡M.H,q2+(+  | L8a. 0s70-dM췙hdʦg5gP4!ޮ<B?H>>V;h񞙙Mh˟nٛ,)_\Wׇiws>_-uE|3wY۽G2=eBW|ryO\ zŽ*E9q[?OP99EQxH%f+h **i&[UGW^8Vk62ϚtED,n.̎2$At,"^p: ĒmtqىBreY`v]2êwk8bͻȚ;ˑte@ YkVsyҳS`^| EDQ C_-F*"||wl{P'SfJʲ_ɧyY)~xwqwwf*_ۗԻNmD ELj6O)ƅ-~(+g!7 vte0 ZǞ7':p5 mCgHdۂKUZ ՕwFƍr8X8 m+OU> !h^m%cAge`* @l p=)W1Z d~P)3e^kG^ X}aeQLeZ_!ô_=;N˴ZX2e<RݤN=3~3nXSٌ*"fcO[^5@%~Þ 5hܼlZ]2J_͎=\*ҕǐ۾UzIBr7.]T 9&"QaGY@AnAʽR6]zPK 0Ksm^ @3PmK $WjE^@ށrIώl c*3SoUOt\/Gf,ZCfRQ[{׻?=8Zni s-JB9qוg"7I?J.;Q,we7WY͈rTdꯏ{kSݻ:T]="#|ee.M/MUo=੨+}Z~'@+ X[RBHAzPwsiPh%Ol, X>+VLKnP´MdUuI S^<`[DMھa4,pp\6uP;e{ Bڲg=o%Ր'.7/^D4Ntwp\sCNsvFrSݪ^:;sŨe_{g\gnm8<د[ZKOd؆ijh͢Ө+NT l]z^DvFҒщ4E_݈͆B!T)3蒣 vv"*}XbY~kmh,92na;f0eŚO;GsnaS86ր҂@P*8D@ tZ pﺔOTc"(U{K(w.S݂}l:h#8*[}@C޵ՐLT/=evQ4_۲H 5E{Jr7SCe SGp'å)2jT,Yt.ˁG吂nWSj*yu}K6ǝIpRh3:_ƨjT~{{n!7g۪PBvE6brf_<^\\qZR+*p E 콦UP6Br&bL( wO[kOWS}Bl75 \W%; rͮuVS ` >W+ap%"XӻojE00.EB2zw[uS0ja,~ܻ̿)OggS@#I\#=:>:?@FBFG%/<98EFJR88@O;1%!Ny((QIL"4wû2-:]]y &-8ҩ)O,$6&M5T7Q(z]^3fG-Cepc-RCiRXuNZIpj3~;3"3:9'm펣3cHJ2!RեL \dSG$z7QJk;4fwu c Cd%JŔm1g?`l_#hjګW2nϾ(5P.n30+ d ;waъ~Y:bΙnܛjKn0ę+m!ajK@.μ}!!7G ?۲yej.ZCmvu[=ȄLne2 Uԣ.@zu $-HG!)>V޶n׏udmmn8b 6zT C |o'U&ax/ b?uܥ$?wRv![G/=4wUOÖ۸zjulUlVMD UN0vp߷9oSeiez;Ak'N.S&uOӘij}\wGwZSEGQQ@8Z>{&j]jdEӹ*p_rabŻ[}[ZUU"qN]JV)b'JTH/ k= 6beM&6^EfXcw3^F/{WDdOֻie _a|c%rq:疒 !R0wz`«hn 9mall8p^10R5m r2ee|po%̔߿=@Vڳ1/OXy쯗ԙ:.{ʽ3y,]]owE3Jזo7:;"5CIfG.!q>isw;@Gy얈ך8a;Zrէ#m#:|igj@3D5`/v6ke@Z X&4@{m4n p\Jk^+|S\8k"Z[;xy޽0Y}P0|.翖~95jf23bx~Oќ}^JlP*Vw:6WZ* TR\XDժn:XJF @?}_vKRCZ!;%bb܊{iVWkٶbdV{{˵I ,FL}`'j0p@0{w?l6)aS3j[ Mɜrfž Nnfu~0]޾2Y=bvi2uW¶]G U2T$M.9j.]r17ڍq!ey9"bm8樎 911#3:U㲣G%ZnZvl}ujZNę y-Gswr ma tD,c/Dl4eloku[& kǸYWOŰo Av_fy.=|w^Eq'Ji :OR]Yj/ODQ\0*53GgRmr۞J';b*!&(d^ƃsUqJޭYYDb^2ݎBtN1m%H].j)UP^.w';yˌڤ2Q=gD"*r{+ ]l\:Ul%F [ fRUu˟ك" yŸe=2 ~9> }DⲌ,u&@ ԭ}x;q㘣JTڽ6a^.7>&kuNz_2O}œݗ_Yj)Оkʋ{;:ifա6Ivo!sT\f&7ZCmw3UrۥG*Xk|{L7 ܻ Ӏؒ\u6NJDZG,"r(}"R)EPK )oUȥOCtX!TLnbLseɧ/gzkkجU/mO w[soSVycO<>׭~i؏i ݕܲ*WGћ[S؞rnYS! WG[mo|TvM3,ٿ0Y/s"tR>BޞovL+S&']X%m֯YH f4֞nkoȌ8+OLMJoR7o)x~2T NDoh",l 0yc??+ձ[r DjL3eVVD"J~f>].Nq%]hyWsX׽KNYNLcs[GɈvݛwW5ѭrU#̌ \Kx^եfqUjg pk3 {V>tEL8lGrn֥7AKd2_93g+g >.&ȏ֎ZiW+fvJ]no"͏Elb7m{`a  ڈfOggSέ#I '<,*H98??ˏ;e_vN{.x"]M|^sKPߙ]~L~U_7FoObwW{>2 JC7\XJ.oGi T)ƅ;hSp^^##r=ߨkӃտ6Cx{ ,M6p)}6v Z۪pM!t 'S>m3|H1lވtrSIkY6^ɎQ yojJYOn|wz,ZWq7exKoZw;Q 3O\ݽ*@h̭t&ę5n7I Ta!cu8w|}f8`{:N@R.UM!ΠtWKӀ#! .+k{} j-X(PQ{6;5@|xH!;7eOqG.O*Y3RE(rR=c[{MGTLbFMBms> n?p7rM6Ssj~w(-CƑleу5!Jӏަ+|IoPzQ+"Τ+"63d +o.KO]\ƷX\\EzޢsUݻ Nz4a%ѼNd碹wkk)md3t]V 4md˔2M3${ ={ض\}F;!鯻 =dl.nA|aMmV߆a 2E^bI,z o.pշ3I6Ec3[n{7Wcn" ^(*9dbRo 8YB%el{>LP6SM;Y wO- I.$l7:``֧]aӹl4`woֶ*ulVS8$N]h65@ތɾ[JX{w~VKCZTBvkޭu:t4wt=1̳ ʱ!%є4sUuϋn|3wV[ҶN.J:kTʾY91&۔҅'9~u H;WE{˲zm/Vz?|'B5B[y..&UDQd>t4wM.uL%w[}kkf{:2ׅ0=+ c=2ws2IDZ΅H\.NՖFm]g*4zRى) }3GޯD:x6=3R9H5gz7жvrm۶mmJW.ESPA ;7NJրpJuPQʟR}_Y*tFK޶ۤzذzE1"X*׭i)@ܹӘbyyە=A/njDKEd~>DBKm'`$tS}Eg'w[b٩fS&~s|R@+.l',?lγБ$SoUfNÛ5ҡNLT ̽eƧ)k]ؐOYn*g+.ʤ).<1>!~5~b˼ #+h̡4a P>g}< smvlOދ+Jve ED2K))SB-8x繁0 %+ϓfFcߑ^tc_ٺw(): DI8?[<)>,p+CIG) Hvc; qN̢ZI"#߳'?se)Ge⶧Q(L䚽Ok5 tثH@f50BYQ T>&NXjk"#E5Ng qlF+(8 ^{NӬŽ0[kA@³˾{ai slZp˔8,^Y+@~{ U2`[1Lv FGڐ}Y׽1֮R(]3 _UGqcu7 a xb X"vX`OqoKMΝͅQ_,l^'/㶺ɽO>י=w~ɿkoAi9y98ͦOTLv $h6]e˱@5@ރ'ˬ^riΰ'RZY,隙Re~5;2$+ͼu1*qrwW:_ ߌxT"¡*h{d]ʧ](M4|lUgϹ:' [JuO'&1RƝrxJgW4-Wu@xk&3rn.rR)43ĕReZ~g}~G;5O}AGdCmޤ۝h`}"6p'`XY03VOdq *_U^|]ի޳8Hಘ6@̌R5?Z5lV>-vH]-S<51vPkjDZ}깐wՖ?23uQc}dyj_cb6r)م>Vڦ!jje~&niǔήQ>߼f&uq6u~}Ue.GvuUrJnJxTs1hg[|#WiT^|/~}ب[>l0sg fO\/yp3w`r0 pM*(f5fb>I-c;N-AT/پWZn2cl߿x-#xKfuw`7{` hQK*.\jRxڪOm[ ^1E R l$PҪymgrz;"8:9=?BCHE453%?t e6ayVA lzY^&h"|NۋS^wva0ܶKu6kfDN=wn6V y]Hfw'W@TEpH4;{;f޼QJIJ@C>'G^wgJKڝ~!{_~`yx޴EAOظ!cK3Uԕ5Q.dt\I+|qr5M1+5qF2W1};7񤨎98[6*̬"եzlOVn"ô [ٳz{4Z}+a-Q)t'̚ Ƃb\JluT\e>Σ{>yjxr#%ϻq0sS޸e1W%&lӺY+CZ)sWutY佮gN شePY.`30J=i|I:`4Eh=%QH6u?by%|F=HF*aRpfMJ{6o_ѷJ?Yj2(N1*Z"bВ\CX]ekjg+rfbϟ=Q T'c.HjCy)pQFf®2BB!iuﭼ; s׻q'0Z< Ȩ-)HLYN9 s5,@: VXMƼ;5`R醐B*Qʶ+\nqB ҤC T+#lu}M@^o /"}s*2Ļ\I&Slt;Z2.eĈVMJ_;~ʕ}+ܭu6; Zr3|$*@ lRe-6خ?#QOʯ~ma7)%*W:sNog~d֊2&%"jo"I2<ߗ7:lPхՙ\Z͖}jڮ~k\רMr0զ5~{/] )[O&w;Iw+)ٷMgZy(w0Y+wL23jJY ^v}wUMSo<[[]'Wa ȶr_*pJ=*(G6bEunмt_6K-r۞qI#qS喘]꽕t\)n!M9s;F :K.YȉT; ؈HC g4gC57,M)T2aR31lX/md( +f vf%#{/ 2R̈##*$*T1q>É⋀p<_N, LX $jFUh^K\qTxw:SyOܢee eY'B4NV)7zqNR{.:KϝvomԢrH|fF@I8fmQ$}qSr7']u٘H++*n Rr# ս\լt9F ;13[ R9.ǰbj-]ND 5,SF@!Zˡ,yj4k#L{al7i͉@@~L:rR]HK_DJZ䄢쵝j/Tq1*+yYT>:vyTer7somquNUxjYUW\f?Չzx6yUiD)V\-龌wY 8FCO|"d&LfQsDVS2ǓET;@TD*pTK+nH{ ̲)˓C-RAl$Ufܨl `5kt&6H~Kf#V9OBl쁫VuIA'"<ˢPN9}WK0WI,pá)]x4'9^_$ѰFշb5ZY}SUӴWߺn5ҙuS2lwt7oO "j "lD\CV#.cѠ1Xȋs@C4-47.(KU `r (ШXB"e4tB?6RqPdD{@Efw+ymn/1Hƒ2@ﮯftj˼?g \- GK@'Hc}hwF8LMX<)3c;'^'kuS^BDlWr&7ùB(-=1\D(ehoT-EXH{ۡ'N_F3pʹQF̳Yeo舓r+IBnDu 7I t5/+ *#邲 մ*,a\L^ T^6Uسx76GY&J ؛ 3's\/cb`( `t|L I[_N (s~ "]얂7IRefGh8W}m[HL~nW+׷=['>{sUZPU^*ݑ%VAGrUOgEmmJ7N^usaJ {ϺKK‰4B ǡ2+yN[3#k&EqG'J8Oixj`ee#z6 ,VVf=>T=(BStL Nic)3m[غmyU4nxˁOggS1#I#F>56:=@B'1;BEEB&)".49CG<"k@fU 4TyG/GR)[V&1wb^Ef9{.6:Q9tMVѾ)T06:n~rrM9*owp;`v-Dv*`*zjL@~HUXwM$ p͔2)[ t/vzyCԊ9n:ƔOYc5󮬶=uv"e\8QFXT}[l+fJ^.8UQJGi׌[һdjrNg\DdBF)7Iyp /l9=nI89,&8(itc DA0D,<#q[5ּ[1'TKَۣ14.@)z7ќZu: t*D,E;7l{ZxoʦLL"_a]Fk]qivRNF}ݿ/W$;Z|VfRkZO%#(Aݛr "?WJ ١ƳW[jfy^6@j) @t5&pu5_e+I NvE^%Wo^IbXf}\t65]R&,%[a.OyRP*JW랝}/} =up5 V$м9UyS#],'+gmi@kb/{oLf {FmMRee@kd~1%_̉_?cw.n[ Bz:C1ITSQwذݹ;/c̔W&)>@2,Ƙ]15tKϮ\g##nSCEwBF+vOTKŀ#Z&f Ļ.|Q@/JpMc׬ujȑ}B>;N;ʲ:E0Ƿ.nf4xB+Sl^qj;T֛S[,,jDE.$_O[,nk[サ6]3cF\NHv3E)sBwo>"ȅl ^pYXyǼ1eB+oĘy5Ξ5kZ?7,}ؾE ^K T(J].T:8V.yX׫xے.Ѧ[}rPpb[(qp nIxvxZ٩r0q4"( 1g0>C^xuq%Xf+|J Y .FL7o, @Lg`MB;ݤ 0ts9hp+rةiȊG^>X&9G/r7 y5FLߟ~ZYw$k}a㢉YZvg@ʔzLQo\W l:ecu '*Tig'+g7R9fLe'u~5wt]ɒ?՛$.q߳r]UfgZ')]knG;hrWR<6|<뺚w(Uپ{CNl=zGkM hj,Oҹv0M>ѣ&G ƻ;CڄZfmY'h-֬)Ȧ14Q+x-4] `4g>XQpj7KScK Iu :ȀNN&#,4F ]v1Oda@o橲23%WK]O-6*q]4yg9x#MnދMߚMER}94Wk5d$}U7D{\`PgxcR"8t MwL0f0WΛ+u~Kn!e  l.%aoxn) .f<.vJ"LDGy6LeE](kV6Y_|$E<2' {,{n, dAWi>]EM{5zξi[F-+d>5`+2\8]UzX }-cFGT̫~0 7ټ"c屵g~oV-"{ۛ®OggS@[#Ik#::9<9>;mtMӰI٫L^zr+rwR,ه3[tj8ۭk~ޢQ$]bT.>ΞiV?һT-\+wB.F4S6Ԑ/fbLFfXH!f hE ǧ0T+MZZE%NSܦ`ke<>!ċJOp .Cʱgy$>'Xq bT*Vm,)(BXqf`vs87eHNgءnכ>ܕf@gnT"nZ I v]󼯺ߙju(N38>MkA"WJ\_T0+YQGSU:$36=9qoʠG \B@ID311:8OYϻ0e^Ɣh}*8v#HP+(j`,vPsto>JSɨyVe3l3L5 L ZX*`W2Aԁ&\+ eǻv*71Ոkrm=J}ʬנ\hRI8(+Qh~oWSt ╕݌X*x}k气T`(۬ h1d˽7=(+)yyӳ^"9] 5&M$5EUaDUkiڶKCr޿O!Uū[wm{~m;ּކ|.=$K+=?Oۻ$B뷥Gyh2۸s~z~,zQ ʓ"y"Сpfpij8ɗ3n7I%*?KW Voo7v+|R]M<7Ikl H8>Put&coL.,UmqFUKo޷} O]׻Djcx| !SI#k ,Rܟٻۥ/oY`uՌ2ʔ~wլaqa|@o_9L9v f1=ֲw az8yfvk^ BQ9cS0J)HO/tM  y5J2y_ѫ֥=[;f7x$~Rqs<*~[k򔛎Ԁ?3颼|sRnM9&.T΅:[{5;JF1:t1nV%7#z:+AIQJrJeEy)Jג)g+l! Bʱbj]W:p,:'2SB CSrwn g5^|x1VXٔ` a: ?0U7 ""Lb(TA{?ustPe_51#ב)QΕ[կ b9 ^d4s)HqV]  0lT V~oaX47#ٶm+vSRm=Kfz7<$̖iv'|vckM{ b$fWuo~ֵ\towit:'@Ue-|;+oDFK[L(Aoڶy/\{XtJ%7 r@v^מҙp2<5՜VK_/{ڦfRgfT|!,0kVpRB {c_{Oioxā̌Ref&~3p}ᐚC{1oyyݨƶ_r]=˥-Eʁ\ɠUR [>*lF5c:^d5sK3z;jL]ǘp!wf=9N}2..mIJfmY^- 6-KՖIUic]=t] k]40E YQ5R2*{\ak -ض pI^#@{qz{B4: X)L5\cUl }ޛ)Sj$2+ݿS];[RӴyٙR2:R0),M PzqBYzY|"vWBau7{m:[m_aV5gDc_Ubne#2̥RݱU5[%U/@Mf2_g~?H֔hR·'gs) sS9뢨AuJ4]v%o63p69#5t40 ǜ^LaʹvJ{sž.[9>q]ӻV(@թ9|NIj_skzOW\uFZ(:/kl+;CfN+,1ȍgRt\]S h9Hfo*[Nm'9OR*a,:*,27r %}FU+ssW6)f_sm%OggS#IP&IIB?0)*?6>;9?B0FCl?Kҩ:`~pgwj%ו 3D߆ڟҳ_ۻ1j"p5J}u0^MmҗXC^.wyL־8.wzR">VcW cEp}T|wk?F:M )sdsUh-~]^ͽu*^);WyFʽɂZ嚰XR9di85Amkn9,s5ۇ~vt]j CMj3w.N'CLL7Յ屯š 0ܔw1Y[;48̔x{ލak[kL({р6)vU84ͩ=)so됇g$T*3 ckՏNZnh@;rUoRޑ̌{~[=}{.}%څ^ɭIr}_db")飽 ר6\v63=dM^9[L@+ Tp(=o<ZoY^OLoJS)>` l)X7+ b`WZc۰r$ҜlŽ1cgǧiofޥ̔Hk%Bv;ϓ;ݽ3w|.ӽQ+lbvݨ}L+>Kn3uy@*^G9uqOG%rz,RUO՜9n嘭%Dhg:^׳@ؒ!&pz ##@8x\B y}>P\u[nrwm8#@V /nt0U ܽv =)?0(B1x3m3Kx:j E yXsZƓ~(8PW2ɛ7fg~I {FOl=S?9󺓴59]{k=tĨĢ#n᮶<$Ti@Wex p^*qD[qڮ۟{Do4T:b{1a#*jHY|+fTvfj c#!Y1JˇsuOdF9}9L襹Rqztt;Ԣ6!l"i{yY/}g6Ligfq`^(_;\bƸXpZBIe+Y5`0ˌ l^%:OVF5Eko{[xjMjMBeԅ+ %~G>@$rN[Ƞ\=ޝ\3ݩeߏ{E lVDf [K}YZM\l1]cUE3v<&کm(u^Tc•dƖXҺ  QYB].zKb0J{sߵm+tw1jۀm*t8չq"\Fmn=~xZ׳<73ʏԼ7dkwڷ^w_7z [2 XQ}: fy?u],HGy.[r]7w!7Vw: mo ߙ|JHʚ*P,L |qiTnuz֮~+ ljh Xe+#"Evj]#rzuz߬wbvs㵶%VKmj㐆T-lz> Z ñ֬V.w1nC^o*ղQffEN)/#x_ݞBwQD7ON+ЕmemMe<W,.R dv'1y\c CsˮQК8}Z%λɎy_6\ɕ1y~(Zt#ԥY!_(R@^=s#k f:T{@j%7=h4myk?]I[ 5Us Evڟ|OLg_G?֫H~gJ:c?5ؗ˙aEq#_qS6:@HwOQ%t/ytuq*]o0׹EgT#ZȈ@E:'{2"P@!xB]BdঔL&c~Fd!Ă&iYJ=f25X5t{Ӣ ] :{pSt 7`J1Q,0\?.HX&іpe2Ʈ_%kCd.;V s+v&A]),+Xv,U&4ٗnIĕcʑ 3f[g<%2P-- WF>S}Qo+њ攨tjer Y!)@_ PZ^ w=)>ZC僧CKtnjbۓ7= OŽ,)pTiyXsi6ZZ]j%zk\^UVgaDyEqLJFFp.!nRyk϶)vm6hlZ)EieR!I*J~;(xRfosT!5..CW{jM'Vx̪4~]poX\KCo7D(KNŰ,.8^QwDn)L&P>a'J K]ȊjFF^i  pX[^5/SMuȥμ'5+"0`:,j}'x8YGh.>QŢY +5={hua{ 3 |.N 8pôL HFK8 }[N[' `\o)E\N;ZɎpov!nbr̿Dkg|T2_'[n!Jx(SG[Ȼ zN9h=6slvtS- IVnLp+C~HB!4sM)+µ w Ռj#3XlwՍᢺ6Y yzs{rR|!7ljկƖxlLc:"RZ`3;j~$5f0FK};i=͜1OggS#I,xf*;::9:;:B?BE@>=>;A;DEC=D?<:9:ED<952dZc,oD6;JOd{]O2m=[3uH5;dRAS;'%aXZ)g*}!iu_My.lW7edB/)џn8/ `PϟieX^՜hROh$=\n 9RrA $CVthw3׆ 7Qp㎿^.Lf>!S+y2 c&RGJɰjO>2f2oKRue]3ژpTfK" JTXxK/\[zڣ<=W鏋-(?2*oڬK TB]4STcYSy="Jfoޚ?rl2ucR/b*Nv5I ?~}OqsI.3V-]2۶m۶Z+(173V]{:FX-,({Owm^27yRd>'9y(ęҍluM4sc5ye*{z-Z뽷Y6zuD\'iԖ.#tOA[M0)F^wW{ٵSz;UHH8@o(j|ȼɻ6Xm1X <|F~ <}rժfsr[cyru?kjZ'-njRQ\e?)c|昜f5])t) JY&vޔLf\񔊱j(AcDJx GYtz=udXZNx zvEtV:3Ӟ쩬=TƂ9a+%m`y>g_Ziʞб|퓓CWڳ@Wa=dh1bL@Xfb5ffmhL-ܢt.Gud0OqjX QqƷO9vWu_To7Od1PYJxQdgٳ&[ӌrv2 f@EQ$҈RS!~kp\_ '`IF͔e~و"1C%c|!eH8j$5FIZhA:.uYun"ߗ0=bߝTqg;j u,R6/,4):*z.[dv|Ν~l`%3~y׻&7w>99@2G rBUWڳ()z̟/XJxlDwYu`tfpP.'{Czl鵈bsf1zggL @,V"T(4Ó/=pMfTbql|K:)^!Y'üW욗<6Cn`z?*(JDnЩeA ]a(lpKrikQ_~od|e:ln]ލ;;vf>\4J]"(gC$6B(/Cj.'p"K*&oIǥ|db_z(k7}T*6eunJ[ ufJ˺dMՙ:nMI񲆰/t^K, 0~\@R+~3Wۯ纆\軫mmhޛb˶TO((rx*;̜R_F9.9S sCZ( ڻjmV5m Ż!Y||$:%XTTEɹ*۸JR䩙)U6ֿCҹ_]+;0çg*Y2^"k`Hj#%:eV8ncƙi[ntAaԘI9ۉ #&sm+dEToB߆ &d\rꢐ+S!3Rx(\x/3lM%BKxg/ 55.+oLF@pdd, U 9߉%#͸AMHm60i cmĢxs""RRδlTSvҾݵҰYib`&DQnzvn8b>迺{ڴAyÂnɍ8i"? Gd/Rڜ.]Ox+LTD=$6QeWkBv aټuΥȾ!Jȸ\qlG1ro (*>)#AUR%Se]H }´΍Ytu;d%2q %:UeFU-[ L 7c*φa݋8NöVStvg1mڲ;] 17l PLM&ycIc9IdlO|]F"Qf,{=9(y$z{1?]3E>Bn*M+6YH~tAy쟻 7M\8RM^װdW"'b*yΆjT)js'oi7Ws)*!e"Gk2˲5RSye).?T =μN8:>6HipP"dic->x1cŸ5l6rd T99FSy壹`)dĞr4$D,pLD)pa$MrڍDD$z}Go{imۛ.뭲7a&t$%L.ݖ 7!x'|ɷLW.Nw(귫esCU>wkzЭ~z6%"A^{Fe(xɨ)3) RsTj8R·4XO_o>[7sL&1bװ] *FOIU۽rEbVN=Ӥ .g{zgTdnܞCHU׏in#$(=!l2L\o a"H gd $\ HFA3 Q ґ^&(DWK+[gB|WP{0Gê=7Ct[B FH͂8" J(%u#wb]5u)I__1q.q߻W*ܹLep:.*Gb[kMvB\e7Tk۹7d91m%(h{ZZ2^EٓJp =]P3HW"6rUNub* ˑ:AgG "$A#Lf:@O݂WZn[` pE$ ` \%G S @w.*23 #+7{=/L t?,S,f0" $_o2~ёggΚM <*v$6 QC`CpISujQ0ɲ飯i59yۚ963&jg;s͵q n[MggOS031 U6y[x!P{l½޲q4dIR*0x<5Loݮۻ{I̵bs|LqG޼uˎRiGѪ"TyN+׹r -7)JlΫi6_STA(rQy7;԰6`ϴN9{s%iZpFTz6nیl(QȭV@/ηK0)Ӯ$lIf{ܘEj!  eHP Q^ Mɛ8@ PiN 0*y35S2I2z:}ƨu~9YDWIFTBK>uy˻bcӭ\8Ni"f.Pjs伞ޘ*(LPզ=VfF2hQ^ 'l_(u(r~6&0UWZ%}Ir;3Mt"`i@[嘾X v= 'SIFy8C4mG޴Ҳ9t`h-{x;0S6L_+п:vHiܯҧvgy߻߾MG}x?=ӓS,(t *zӖ̖&wkDl±xv.>ҚT ߬a]'mm;23V;HQ%˩kt4z \q)GP\VK$/R- "c-KÜ(H4.cZP6wfٞͽɮy wJZrinRs;KE|""L-6XF%ϲIdTxO;q71G\nz6k ?t i@klZ''%8ऊ_պe}TaTmm Zk=4ˌ鄃Gvi,=_M(h83ڮ׵Mm۶m:QL!D5& c2;p'- ƞq)E)S!wzf{kK;VkJ #*2!5Z&69Ƈ o_qȌ)!.+NRDhS('R+bj]c>::>N`zi$}')Vۊc^T}9rlÖsPa ]g:ǩBTXü%f-IC2oyec&R?N7{X.{1lvY5xM joQQWI/2NP KbBPKrlK宖3,]׭tS7kӳ=41g)7YL@4ΐEW#NcDV+,SlbE3$Dj8p•{ J%`)VAldgܔr"28ֆRJNpMfy XE6 2h}VXX1ʼ]B .c˓gtXg rFuJAzKޛ-r!/y3sTY _-G{ש?mW_O*~=eVty Yr}?@iM%]vn7{]p͍>t޻Z$=yE%|z"{`+@b/#4R3OGP0+K WeB;[ 1~y%/ !Y`yY|0dK2(ŲH$3P15oL…hACػy n|foL&e3Px8\iP )-8. 9;&l‚t#)k^R(S2{}M$OR?W̳,_};= hbSdվnfvZ#DQItr9nO*޹UDrW!1LEjy֖bM {r624:W% Un)AslM  QxR.H0d(Albm# oطa@[f`A,zwA%sz0ZcYJ ڨrR}[RAV• f*QG2Sv:Nc\_̫ԟi^Z4٧`L>y=K@Ojq՟k?ua+{frsBE}S>S[9Lŕ<&=q]̙Yz@Zb!-OUsoD% PNK@.F+B.QO]K'2Z)` 2N,[L,vxeĺAswlO@ hPOggS@#IX*@9:<<_H ~#\frTnv5jXnn@dn *r a#d1UJE닥JOv7sLmydJ1Հ|#r(s0(E.K_|j/"^^n+orm؞|* 4@@7?oac2U{n~kNvpn73V52uZ,K U:#º6e75!\Kռs)n;"S;uhWk܂ <\%zm"ʑ+B Pd9'ȣVn4z U0{\ieR%DRq'R2n )delD-Nfef  g+phuBSΥE `^PF85lB\}o|ޔ(AfK ^P@Fksl<ޫ߾drubݍtg]G1ޚ PT)─6*SC8Y zi6^sjX-f9"*BPWmoKեɌ{m\ؑpOnҭXa?SݾP&dǬ^~m5ZɞH2*F/v;s,v,ƽXRQ ҮU$~g K@Z'^.th S|?=6ɲ; zRP }ЧdCCE$tOJ)%@2eYhps;lΜ6R ,0:̼0r}(+vze@]4l2޻5Cҗ+Sqߋr]ےor*}*MUr ښW)t*"0 ¥S 8B*X)ܺLh`6p)r*X jZ]1;(>`/l~J{{0J`Tk `_}me$g&D78{VWMuzڹ@;xuD; EHs<7둯LM՘_s>ܪΎ%>L~=+gT!=~hh`Vk5;ߕ i릞_l+Wij?aj#ώ.˟jp:wNf:`՜xVR6ΏMXdbz \*Yr=k`.bC 7_Q]%a9KV6K" i3&NzMƫYす}ʄ[@py 7;-*oZ֚ck@^{3}woa9#L 3(Gƙ+qLnp33eyux';I۝jIea?Xn,Sʟvco/dݛmϏZPa`uri2PUA$;eVJUt}[(c}.WLrHU+1fTl0}]H;s6$2RVJ fRfػ`VIgCX0J=$dkJ +K4v›컭N=}3ɬ"rP$e񕒛K N$6;‚gb-VhKJJuӇNNF(|66\ɬ<Ί"q$NBY${GV:5/ mygc׊[d 9.b 6PjdV{ *kzbT:3Mmlve+sL,Xx?S"vFl3rTJq7^}뽫^=-W "%pQp*,˼ܤ IvgmnsOw[f{Be{*׸NSc\Ԕ ioߺi~~u*۶t[{ C6@ (1(Vztzu oRJMh}y}0«7wOyfl$70S/G1yQf,"8ңԀl{5yB$#bP-w1(a:by9؍μwʃJdSL!)iMqmgEȑOɎ{Ddl(,OCx#}0g~_9WCHUW ˙ՙAT+{R+fq-nuP0Z X[zsi@ei~{}2&$4@nHݏkǼ]xM6$3ejfo~yyeM~v~ 1[KߨS赐w?‘mjL%uPϕe{\\Iu&WSC:qׅSVMyprQR)wo\n_QƢ(Hz@5!:b%HۗUtd)rv?g~MhY|*QIsS#rZ{S(%LRFb5MDoB{oczZ:Cz`}CFFS6hnV(0^DF̸/Ҿ35F1^ %?kZ9wxLJg]fvHޛ)5כɴv[6O+ֿld^}83.J}E},;CDitUwc_)D7A_ZUn4BABKmGSQ{utvn{7VemV VFg[ S{78@DgPo du(LT%%L=]Bl;f..]57O4Ӝ-0y N3hЁkC,9_G7 '!>{Ci!l3}W\ B`Rfe{+yüvN[l㺟a7pUWX3]ROߧ=U`cqtqYWljLOg%rUwW 5-ek8$Һ1ɱW% =\|BFM7\AN}}{"|.&N4]E*·á̧6#OggSJ#I#AS?54)'@:?*cd8 xjaٻ5>ff2e_ÐU7s{e~5ϧc[U&WcZ6zolMznzoF匉ngUnõa];mVWx>RQo7XdMCp0zvnblY-r7 fj3~dt\,+7笖_H}.1˸.= 35ɘU[/scɟoFRQqsf?䊖+MtwSu]Fd%t'l~mϴ(k2ԶYRFWG\L}Oof.QrS{2Ss;5<S!1E61{y{GխZwຽvyNصݙ7Ja&W83;tR2J Wn,ɸABlBbR9m쒭mm-T4 9L>ĺRmUt uH=Hnܟ3w@f&yJ͹ ;6VOm˾NjO)oe:ꭷR|S)GF.ʎ*My0k{sysѡWrb:UV2JQHF[AN J} UI'/3'ZU|* B. zrMKE5vVH]h0J]ČUӚXBP@'bgNfzQ݋z.XiXzݚ?|o6uke[ \8 ޙ§zjSr@ 핳l`6tخ7ͼ;\}pt'#]?~M};?>mMAd viSͶN9`8 OTO@Vݕ){+laSN'R b`+SjSO? )|un+*fЯt%bO`mzm`Nπ=20p06!a%~+w>{|!>2(03|05{6\]l#z̀Y5cNЛ Pv1bZYʁAyW>Tڹ;*>Jp⎽`dRU,?pu^~~˾[kg88fu9~A1CU7+$){Rf"R@Q1pF^?8Þ[e]&btV>k\ZRqRДzjפv ѩUr>:ezbAii`Q`yO_[(#Fa^սnh%n`mfCf 4f0RLsViѮ %+EZdhBCY1=-ff2 M>y3lC}o 6'uc:<ߎ~*.Dd,>܆P{mR+ғ|+ ]~*Y]\G=q~60dX|M落muZ[3TzqsOLҾ{'ߠ]@m}BTuÇS.cd}~ʫl`8Wkt1rF^ۦYָc<]ݰcE<ƂTn(Hk=c*{_x#R7B.AĚQBVɒݾ%mHtI|6ҞUu?D,J##"U> N{*){ZR!;n+Ȗ"齱,.#!7Ie1-74uZ{h~pM4yқU+Pκ ͫWF(1$V#Z=mF[Iw]8̣[ꍾz[׻{wٗ,b@MbuC7 OӏGTBy>YR~gÚmz?!$#`N4 oﰇv%mlwFbZ;v9mwk[7{[60<]:91I2?=| wmI"lKclN]ˎshnjRޥQ&Φc yoUX@׼ "rN;S.˺tR!\Wm;W˥玞Eod>Q؏ Cs]Qe3+C.IɷeՉk.;o\i*zӻ|r,.)ksgH ;x]<1)B9.-^7ՠwKMT_NѾR C 4}Hw7i%A$gJ֙u*+^YR}lzWLLf+vƌ.=&w0ECVB*-ʑFS)]6-k)5 |'Y8FE_@R]^nϸzPsyصaƶz"]"Ԯg,"@"7o͊jLިLU({4$/m$Ir;0Kxtoo?7>9f"LR~-x&! #cgȲBtjiz)U[T.bئrl?Ҍ=u["'"e~n>]zCھ4>hN؞=7/fwڥ\72Z~~^mB nMhȑţT=I;a/ۻR1=)6F@vQl-lY$m=ad9Sw\&V&+&2c!+`0F)iuY2 +˞cJ3 i>M23ǘp/$tinZ+ǔsQӬ/ql=tHmWʫMjTlv2g,G.H JJo3q{Rd!'ZKBigw`[g˕V@B lt~n3Dvs5ΘbJ lthqz>'R|9iz>7j :Rn>Du{]逮' [XFkZ3x6ӡq27[`Zi7 vp,i ;x $!̨1ij~R?MoTdZ:ȞmŞV^ޟ >KgSϔb;eqmH6D!RN0=k Zܿ(a2em[Μ+ɽ=lm)S6i"ͻ[=imFdYv:`ōfok x} ~Ѷgwm^Y="XdՀٲE`j`0=Rri+)M[ z%λ( R%VQa\o5eV0QF6;ߦ>ӏ<%^jjWgJ*K471_RQ*ִE%BE|؈=c5l)άqiLsхDfv`l4R;( s>em/fDDj!"# 7[}eh&gZjKVLl41I?w~O< y5OggSz#I՛*889599E@DEA?=>@>C=F7&<:9:B?CFA*1S}pN9ûq/R<́,]|e@Z.1EA @~!̨25ʔHy*:5{[^b10c^% oRv^U2+S~?}['23Wܲ=3ԟl-zRFKll5j|M)wZvj#}ͽ۟"ѐ> K;rt!WrOa͌ݎT'|Ƒ5#\Mg(uۦ:o0lkf=Md{3H_^af L Jdf@x2lB]*$iXC$gf]TEUnT}U0վʹڳyZ޵|Vw+lVZ2cf XW@ %RZ5 7۳᪥^1;IFtX" D*I;,jo{fqO/wiLVl:#M(55I9Ri1>[|~rc*B^ҮbYѴ;M,&,(OLĘJ#Z/D<j|vklV5xs.$ntjco%t4i\BV-I0Qo1~vzrm[{3Y\ ^Vo<_tŢ v"Y.F"j5xykM}wo5^un#r L˄Nfڊ$9r3׶'7JJnJnaXեi{ob6e[~ڨ& >9dx|pǸWKeg]͐0!]o5ϫj|?.votn֛rRK-wN5HR-@}>v 2y3efS&{?Dcֶ\>i WYw,g7{sIk}Gi^֣29[,RFU4YRлe;ڗۙ{FhyuR%C-r# H`ﲒY)Ќv&Knw%YfnvU@.̴ٚFn@UTUY9F';i)MOk_Io Kj`y`Facx|mΘ8smרHenB0,]xDl`HN.^&RfM3#}63f||o.k[KuvokmQBRR|?VѲT1kk>0 bt?Y+W,[VOj(bA :0* ~|B1oL/We6e窻6^^nScCSըy d1YYU!Sd"3ݮʎѧ 8$F)5UDZ_䜜ZK²Vgvl9Kfr/mSro}_RIir*uYA]^űVƖ5"ͫڷ]9D/ *.'L'{6 T,`iko 3.@, q{ٵZ(s{ d)n3PH`V4=/,t)oQ:%/A"վ>FhB&13[q'׭\7HRIW];7ոʙ$Y֎)Z5Kc@]33;%N%)1bK9ԓw،S+'r]Mw4,I!* Y**se׷:<"km;tjW1' 㨻8@ @μ=V.vbJՉŨY.fV}׶6ԅmwU{"iou Lk W(RQ0 [\|KP%Kn֊-Ez^[+E*8J::.{_yi,NW5j$c3f{R\5'lhLӓzM31Ns%Ǘ+=ɻqaF5T^SLߟLD2-|Ξ'YɊ]]IϞ~M{64FubI껸wfP$ʕH.Hp21$W(wfq)(0mAAiD:GS>dJf* v~ojz~xBlGmpYu&?fjkЃ.q#o;f"PV4)rsz~|DaJJ.Sַ8* eլ¶Y%zy#ۙƭTh-5]b"'͌rt9$@X!p4q ]NPʑAg XP] d (5 c2Y; AۈB'>ks DL 򚤲neiǞvO8$怢f*L%leY~ȏ]>{j;k_շ`\;_zg(J󏥣(`xjUbbEqnJO|ޢ߱kmT9w0T"xW1(h#VU| q3zh4i7zJ2pWOG3BGs-$wfsrR S¯76G{=s מ3{ i.-$E8؈ ]~,큃uxW68>QfLTF2P^@}~zr.t8jQa^jlw|EwώaCz*u!kW}>lv3WZKmf/{]-M"F1|0,s_QIm$=[ޟϳϴ3MGJ/չoRKY1;f(tO )ܜtS9'+Jq 2q+>] )& dPu3{C< L7PAş  ae1x3pOPFX{菝32P‘: 7j:j.H]D)|kaT /X"Wwx͝k[uX!sj>=I7Yq]K&c.-lT|+˄d"܃jUȏRܥ3c_Yۻ QSG#383bߎk#3S(0%Q4:ۄ$=Mܓ(Zt1=^C++eyXT5!@@^TLKr8{RƩ .xrdBbAlKw'rUsQCmCt(eE(ti1c$zUj2'6uiw'ޘ޺z[T4NK$pC" $5x!:*UAs]Ћ/3.A1\.!pu9IEw*_;]HlGVO]֮n-wӲ{Xv^$f킏l"ۗ^,g E@8.˪I^ { dj3{{v窒M~ч'KpCMS83!o! ۂyv\nvlSRsɝ̊@}wc+zoOT;;9<'b)K_}>aLfgVH|i9 φv G{px*[-l`X^IeFvZq\P7RBf a4MkzA@k,-pt71cu a.L +^\EۋZ,͇%iareЙ=0X\TLQtKʙ\=-6Wk`ܧ ;9Z*z>1.T f%Üw3zUL@Euou {է'28W*qf3rKwij8D; @D|3>P9L.֮SGY{* 습7ܚv[KDcұ;Z8~3+(࠶_HhFz "Ggk֚3r٨YfA u0ȁPTxDhPlzC3z w6z޼T)3Sǜu>x2\Kj߱u*=sW҇UCg nhFwySsc E!&rgdUZ{/[@$l _n=4p|3[k.V/g:0`'jC{At)|Om50(`ZiZ%z6ڟle-cp߭0ĝ @;QqKY1 Ԉx.5 Q)'U qڽsZ;w2tzk[hW}Ֆ'bu,ƳTW*E|z˼k۾4S뎱K9!JejwwmwC}}i7Vū$bfX|˒1V~2Hp&^&E)ӻGc Le1HAZkY`U*rf>OggS#Ih+'+;>v2c?n`$z3@@b @LOhP5sêr~&`CGxlʜ7{O-H1|Ԟޤқ0'ۏ\_97^Ui'ka[Ua0Jʼn3|zꭊyőǑgQfim Y즩yMֈbkjk%jSnA%HΌ4A aK.bS`ma(;n;t\4m5/va",ɘgTy-^-w(yͷ3_dO\Yё4Pz5 l]5]тiѪl p@3 5+]RΖ?՘Twj{>7ݷ 4E*2,FK <46$'~ U jʳp ߍF̺s 2jC/dR`P[H/@6 wyĭxjNx4>+Yh{uUT YArC;ZՐToz)]}= Y[{= b \K]:HHkL E|d7@¿v cEN`lD~P6= Nu}ɲKݸKU7R<2h+D@u Zz<2$%o^(e;;=u, =-x(1~ 4C~iG?dk]?|7|f^c݉m1[>Շ:z)1c%]py&xr[7:a|(jo/퍬*l835'fvneeT 9ru5+K(lbxƗfݥbæƟ>W4q Kdf9]F4A:Zr)+H[ kD8iP@i/~@ @綡A׼^`>ip :LĊWWp{Җ0 KIןgɈLzk{!Znwv-f.I{W\>w)CYn/ -E5!]sn^1SII+kbCOuWͲp,%<6qPr+؁% m~k#t mٻ$kFfh}wOVep vDK ]%dTD!|"&ö0AYN~ WUJuʬ]~->v[׋]ddr)m "Z׺-9?ABbne텏[GFEw]V]UU{Y.vtB 5g E@[2znM^I<3Kjf&WT64|Vﱾ6~qC Zon'6tVMQ?w7>\ָ>Px9dzQw|߽Syg}Oo|JnYRn$^ލo6arKfWE:9s"fۢTy>!՛:n=-dWNAY_r( ٘ǏN[M24lJҭ;qޫ%XԿ>ŒR,Ƨ`IQR>7~̛9J%*L5ȭ3m~eSJ^;_wCe^|Q?JOt~3YJR=9{؊irwr̴(0uż4jI^{#J fwhFASͬ([}y/hT)m5ޟ0.rd(Xu,1͗ԤgLnc ƻ3^ibJxoN+ܖiBA7`Z`ּhز(p03ޛz3P MHR"vcXo.;L2I2/Sev0 u:&Zҟ?$d?}h/:ٞ[鈠cwK=v' Ump Dx B"1x'!yd ٪ݭ90W9}$7.Ju*y6:c̫B>W^}Cb+ܺ>'"_I'x-^ fiPk7@{ 6-^"mYִ7j ?DFC;+1HWj\ܳޥ6YVJܖU {6Qindi$"ezƀsn9ne\QVJD|@ J]D`ؽ֮-&-PL25f&o_Xxwq–MR9OC۟t|K ~W{13W}O\uɷh{cx]u~霨'reœ]xظ͹rfݞJh[::byb{5jLo^=SuPkz3}m.ص@hȜխjͻ̏JA#uYӛ~[]ܵe^}uScGi"X]!mSfn?.m.~Z놬 ۧ3T\~ g8uXj(yO2]=O w7>#̣ڮidrJ_lTި 8w5èWt&@1u?|ӝ(oHr# fUI|>s1ޚT{k_:m"蝭Q^%8[DQ󮾹%^8LofR&>7ujngI.Sewzk p)d=j 2t%FsC*s"_+_QLWĩ?wό`*;O:#7N~*1I>Tt&w!ݮ+⟃Fٿ7gR*\B]`,ˏom+8uѻvְ 7.#=Y}f_/ CDz[/1Je؍h1O֛ڊZ["o5>˝3C4~?}`zíՑ`+:$!Ž?ٳ\sƀcuq~mS%>c{Z1nFw2>!poI=}ݮKZgRq"qݾxDt^GjT7y _\;e[ۏÜo3Z K[ #nk+h &~ޡ{WtsS~ڷ2`^nalՊۉi7nZw] bڽށ!r bo0QG6[ {@mQp[0Ñ0: \z7>+"u_vOwL٨̴/ٶ?B{*pk˛Y9!h VjP89w*#qRe<>eu{9`kt}з?>92=cmy];iٕ#oݺ7֊8YDpj7?ai$|W"}7=O5񦢎8}Eܗ&m $:Oh+w@/3h}21k\)y2]tz#/=[ҵ f!+مN["ʴJX,fUfX_dsީתmu*7ۭ<b$(ByHV!A`>߲"jVKRvQ|nuzU-z2c )<5OMdw2TWV"ӌFW+7^nkК{썷ޭ[vfn|ҫ;NAx;W%"_c!]I8bđ#n۵+yv-mjmrvKMQ8D]OF@//=;$~$^m['~UQZS8>0uʉp@JE۟~x7X-%3S03 +]Ol7Rrks[KVs8[bLdm唫 냋JZySBnQ$p\jv~3fGnΓ};UeIn!.ݙO&9lZJul"s/ bNezSt)NJPI4#P"Äjvڀs,Z }p^א[ $gE8}ܔn\Qma>[ɂ h];,R6C&[P`mewUy( m,7ˎF:D9~ê1g`+x,ǣEBDUwY;h|&J$'lB+]#{Dx=;M1Hq|^ oko@WSJ؉`KhUgCŹʳΘ2{U*0"cǷNn4vt7 0$\b\B4hZ"Mȉ MoGf!CFڣf5FƍfV vÍb-Zk"^s 2v5n QXpHzk7)&p Is̺ޛqN\LSDPt~֧eLO~[#6 zI6䍹DF؊'x.ݬ+-ܿT=nŠJo{7J?tr橣~vmH}U {'2"g"}kW)p"q{Q]w65r衴@5JU`ѷQ P:{<\J{]`b @K `W. D4p<4Q)["|;xM{|É{'w߄n*gX kxٙ-9D\1UWڽ9 6ѦmŰTݷIOd ?\#^foMfJvӖ[UH*! c^_oJL)5Z>;8;瞛}#cjjmmj:-~ \6Hn[Pgp|{7fS̗V?Fnk'@#'2247w'2Y!KՒw!=Rqt.lddUWA1iʅȸV2֍eWwHgDf~.zK#L;fYI,Fn߹w>SV6zp ,/nl@u>-[P=Z6AIP-}VX )8kVaޅoTV{nxJfnK#L}o +A.DyoK mfJWg3bɮoySnٙ1'S9R0&O |鉖CsUp';WQރLV |"DV/-^#eTP/;Lm!gC<%O8aVPomc&0Sl *U @'opƬX 8!Tץ썎+|6W s]{6ލhyhZ-d"&p&hQ$V8_g=GAPq'Faݻxsv+kR7:gc~q[9j-o{B`XE ڄt>d`q>5ϯ XdFT$V0/uMfZ N8gc;b|]Cn[wZ³9#ևș\q] iU,_ +j Z@[.wSݴ3foJJ*`K- lyYo9rS5tvgq f,WF*%$˦P\cP])!EPqL%G_t)^xRW [ Y*2'<'x̌RcVio7"p]xױdP8W\މpLXhXh覵:oOd7nG먤[z4ZRyMή.ϯ|?fg)l)﮽ .ڹ9ӟΧsLm6m܉{Y21nF^%}1MްfUSxj}4Y J2vZΦ٫Ef]S;ۻ$["n־4ҽCkn.rQf9YE-ϻ%"j( b-F#P"`mOŭ K2IR3Vۣ<8_&YGVeJ '9>9+֧2a'(̕'[z)݅ktѕI.^wBl1ʡr£g7U:vå|tw6fL) IS֟{Bow\$yMz(Fa30r癪Y"Gm6vÂG,iڽ(6WO\TSHŀ0_F0@3ۏ7L\^KnnjHd6ĺY0:Ȗ73hvuኞ3rnpCkMdް;D?.@j=X E){>#r<7grRu۞rM|$ru2~oM`o*3g$qf#`֤ |u'5c^Ghs{Rl%=n#^c2Q{E~3uTV:cFӚk=3J.W~_a۱29je=7idZbOuY`"jΟkJd ϘFkW(DeKúeo۶RZ ez 'e8/[JBLIsڼ{SPBo^MM{a\Xk#g^LsgkI;!oȜj6`83c4".2" {T5o꩹zUnRACZ) @z2SUַ(ew<Xs*؞v묮ڬt62da7+\y2ZۀJ%B̒ZgVzVB85+fsWaݔDgLM[U$D[@<Lǚu7YPp >5OP8z?"tT };ȋx$Th:B$O*^Mi6h4Ky5d;(ϭptkF1B_.EOjeYuR龒>7 ΅*}nusJReEbo(k(OM8#$r2hf>e2D . q(U]P͂YYC[d$bWpeVHqi-9TJ.S - B 9 YjLO[Z{ǛFϡ5X䎉sЭqQ|mF'cnN|tR%0di9YM$IC@ce{eo}X ux/A|lNQry}YI|Q ދ-%SoJEx;b"=w ⾅J5PQeb(e "afzlHڹ߶mnSC}k3!gy]]G:U;lCUD}=F_lV+jEsyiZMԦzOz2J.Z]W[P>k E!+7nVr]BTEzM6 2V2OIJU`M n*5"'& 0OggS@u#IYq?D"0JCC5::>:C@$.:CAAHL2+7^jKyݷ BH6L˳i:;P t"5eD2^NU"ADꮶc^.|YѕroT6}f+koޛfr*l.9FӃM.F ' *JtJ%$vJKv,',n= I7A&hJ,jR 㒅kH w=Q?ݕ^RvjVһZTVva=vgƒ90T^M+Kj=;uuM\jkeޚ̻1QVӚz!𾻭T"%v]eG\LLY-;)rP,$EM4w;$~x;lڜ^2qM{&zWJ'rzZMJ T#;Pm\g.8bʑҏ2)=F˧NDt9rjٳh2f5sT.>zopE@@-4tQz/M+ \Zun =@`E wHA>`rqӹ{w֡,|T*M~( Z%ڽ.@Tc?ƫDEK'K733Uf,W_vg ˥urz_}ӡ:{L1zr173J:#N7df% өofSώJydrl_@ɣn'>ioyN6 ]za MupՒ8ZտIy!",wPKXfK9enyxG]$Tڐ]^Qo?t]ߩ=.pyGvo2ھ>=<7+HufzFjV+)Wbe-F|)eqttOϊh&ՔӢcu9m2iŵreO\6eܒԲV ]ۑgGƶ֍rYDtފA8:K n$v!ʁܔXA7 kvj* 72J7j 0"Y*sv?Wm-b@|BQXt eِܤo@?ǹ/ qTz#J<}yj0KT. 4]#n2# ӊtVֆ|^ߟmV~T]'zi͞k6)0#\n'R&wUW [EQ_t0$J{Wk&wk>{>O]N)uOO/YDw};]y*߭*̊ա%]Teo<Q(=}K)Y@xIp${dW60V3:hZ%Ҍ8z E <f$qB*<﮹w@^jK+V!5~Жzew3r8sLTgqtj,2h]*9?y5y bFycef+pt.~ۯ#Osg1.Rr,s$Dʅu]ON>yuBʵc[|~+<};5ShC[(V*nw.W7" 'Y!؊ 0.Gw.mri1HpHS -=^H$s:񆤁SI+\)#g9OggS#IGp%/8AC189:;=<-s32f~m^6{9ex*+iԸ(Ulizo~w!邘986#V&"yMbYWTky$lv=#\ý$ȹUq`3M*5= .uTfY3즌K\Dm:&f֍..r;@\% meVi`@e@EV͘+7^ W2cSeJRB}g u_,@ȍ<üIu `XYTXv"0B5*'dýl}8{ *$ "H,j@0 ǎ?BR^ oYo8#6+bN+P/JK! % RnAn?&7XJW@?_#'! h}ѣȩ#\JLK%D)S)yovw!z:[M`V1)-OoDQt5 *re>?DścQjLbe_&5)f_nXtozOlvF(Z[E ]&cz\Y/]]DV{}u[ʾ&3:[*.&ݲ#9{Y#?w J%19љ]"Q\ ^w7 LdN8aĬo]rUAK--o ®ޭ֮q(P_5Z3c+03)5[r IM]5BaA' Y!o2؛J޼Rff&_ +k~˝mg.A!V|,M.urxm9繙Snj}>Vze˖ky IOj%nELF݊XBzslTOw#CS:ŅM Js4fcdX:dzDl 4z); ~7 dz)H{7f(DCnD\nw sq&u H^$Z5f+]_ ^"Qsg.dNa*1_q*z_pw~svjv9.ՔМ3ھy{J,TKu//-961P֪Ftrf T{LeZꙩLC57U.:aL7id#4 #GDXM 8K2 Qo8d%t/Gvu%7K`yS`27c;͆&Պ@9G [J6 cNHhB[+j.e|{1gfM;,cB7":hX<تlm`kDj(K匛V.or}Mkզלj+JȅU QsHCo(tE]ż*wm$b+e >H3L\cC b0mĘs=JԪN~ӳ7[ZnY$sEx O T<qs^9Oi ]z⬌p3Һ_ұgMU)*6B:?Ҧ秾@WO]][*{Qjd1'U+\TX*:1[g@Ss]s%*\T.;-r*=(GѸ-Rs}%1 cݠ#4a&c03+ XXdf2 E9("Xcw)4`SlS"p,ϻw >&p9J$3[lWw9moCSBxnwMy=JA gsy)ۮԯB{=}1uq>3OƚuJ0^-nUBUBavO[;n2([נ~:0%J}UnߞGPnd>!ޞ׾UE|{TkU{7ȅUSOa|rVVb4{o`V/y~0K 8 Mʾ{@.*z3 eJsD#3k ly3\Lxg"Z%[_SO+O|e{!Їk#hX~gq;, ɵlJ7ٳ[];LJRNީ RGxQ_:Kfn=wV3ӛo:!.KWOggS@ذ#IJ>~#?LDFL>23B<;=??>EGBBFO$&^FggM=_M6 YҬ73{fng>FcSz=(N@6X C]"ԒSX bQLեJM[ OaβoC5v0KbUa}TOzy=~>kE%&}"Tf?dsccՋ.kvN!U buJʾmgNzmgʻKs}g>;DMJbWVj2DDdD47y)n}nM=?0SY\9rQa{k.DZg{R8~udX#xkh2iWn+i`40bȶމ?ѷO7_!T:Of /}Czţce<ˤ|J6eᙲNr2/y,2b,wX ùtVMq )]_"M) =[צԮғ9?u:en>7Q/[E[JٝvK4Cuc"*d[J6g?imE}ɡ͚*B3zZ%صbw̾FYbۤv~tYe>3bxk͞߼1l-Y'nجX2mm־M~t1D2*N&ZΫ˻W6g;96v]xD0#7ԓ}i8J]Ηq׳wei>1$N]0]MQ轵53Zghf9/{[nϜ kα;.i$4>y4RM-EBzRP~[eJsl07,{o %0YĵQ ,$ (s`~G޻Ĕ2W'a_WřӼs>yW)ͫ;w{kL]ƚUWAORd TɬND@ 4>Og.~qut\WX4Ks2֒j) SoH$uܧ }>ψVez̞NMK"v@Β*NeZ)m\^۶K{:6gid JR0:1Pf%O>ǜ*ͨM~6wSdqɬw7aSe>ɚ௶pꔌ (&#_y@O*>}!ͅW~w[v1;6;ąOe*7ÀWq?@ p4mJ!Φ[3*mUۚ6W;zlN&@.alU" ѕY5,^6O}{޵jv?|J׉\+Ca/d#?O(H\YV)\us*gmo\{Vk i^ Z +4vh ?戙J lɢ5۔q\/~ֶmzu٪ZU8Hzᆰ=%lflToq61 oƫdΒiT#ɤ~צv!s]=~\/7 =Zk$r.xq=R}/my)ՕxgVwĒc5A|հquێ3ݨSz%g޽[.k>l"n|)WJC2F{wihlJ=NFoWm+E|&OggS#I*<997;9D?DHA>>;>=@ACBJC7=C@7GM@0-$jgCN]gܰJoVCLƵfˊ6`vG{fukk/WrdF#Q3шl =IPYT˦_.wk/dm+7Atbcf`: f`XWВ=gC"i2ވbŊp3/ B;0OF(NI>D}}Qw%lF)n5.lNcђ ]IIK,\Xj(J)~.tV?֗utammd%ZlJfjRbbQ.<}ymrѱSzvߧm4[ڊ-MT_D8TV"I& gwU$[s5D7$ɫB! %պڅZw.]t uwˬm|#yHzc  nnP7bLUC-Z2c/˻uozkϿZ%tZu{E>Δ WïnIhCs{=FG*J9WWW֦J{ZK:LTbI=(Q~6Q5@'JQ\嫪~/ZŴ춖<:Ŧ\ylzh@Lm>6N8{0zF)=~}qwdzR\e*['n0|ob9B\{&FguJ's6 \TAl]% A)H/"٨j9t=ƌEXiEOF4u4( gZfʁY´{_I`x2uk<ݗÛVsRKAiKLn50Y<@KQLZULe*;7} ?uSTC=+qKavyEf;j63 /}Un#{YgʵgRwm.{V\kmril+|3U NT+*MFj0KI\ѓ*IߴS6D 4Hɶ)€Q-kmZ`3e{`fa7ȾBz)eZ t@m*-%533L)yǾ6ٛKt3m~E>/E%/oa zRܣ=J;3J8c՞\fmeebWow'_Ҽ21>ψsڨgSBI?RIbUvy_b]%g ۯa8(]A\cntoyE)';޼ux<3[][֕mol̆=mM^ %,re@j5RR6t wҤ@ӘA4ħt߬޵߶m~qgMkں:!TFLR)No;ϻd]@HfjԔ2S*N[Ԟ?+Aʓľ3ܱU$L~tBoiR\jVqqOgT mQn{qnz6CPIQIHU2pEۋbYH 2:nq[ r 2nU'ҍb8R:EFr*)u@61jS2!tn2IYDddY3V8?u597n7kG2@1q5ˉq>A,7'R@_enhu3I=K*L_{~[̩lW^Iۯ:rUoj8,S}ʞgomz|&uR\]EsUB2eX ^ݚ J*SH2_~ g V[PZ׊2ZqHdȸjS,Ur:1QH&REBղi{lE1UlfƃP} fM^읽͞ŘMG2HތsRm8| %Korr{#` 5jF˲bQǽΖ^JE|~T>rȎE,}gJjCyT6{g5gTT(?WcT‘դ~*[fB`C FS. a7B-֍MI$B3! teRfLZ(HBR Bh^øٰ('t# .>T/3` c{ ?^F`4;i-@ 3j)2j`>q@EW&:9E"-QԄ{1OCp~&:td:uS9FDJ.{8Re}or&^r[|7OD`lJ=!\1#C\4qSJEI(呩YAB~A Q!,T@̶#cի{AMGe["]nkaƸ^@lܼ0pOggS@9#IL2&,99;:;<>EF2891_]w>9Ols^!q[3r}{ ))ՍR7ҕ= $k.HP@8r W( !BpE[_!pNQK`I%E^Lg1 ^k1qjݏ,808ea]mL쁺X180:PAd6%`uFJ|t2 ZsA@Л^;L!3vQ}t>fvC6ڛE1zZe{`r|.hfUPKmky3>H M2S3S&V(?B/dqlPGx.)nn@k[,vSPh:P%iK>*ޑb3'<%Km!(!*bՔ}N6qw"mʼn=E'*Ց4km6,IF"RDIHqCN)ݘ5B5a{,kXn.m䬘F2ݨc8RQpC:fjzJ6zOV{cL宕r|.E5lUXp͌QȿW<;ɥO]Zi񎖿oؿKqG-ޫ_Ν㮋qr-5 &f(܆6QEaM(RrۃUy)0DV.!NutE,t SY Wʁ eAeAAt `R/Logx)x7usѳ?\D #6M8شF|2RSƅ6w5 SɞhWrʟ\޽fz{z!n|bi]P,ò CXII Ix.WGF,ۺˍ 4bPnvw Hu)!_]oszlo?v?:u)94 )K7L IHU`u}?]g\l<n1W@MWnQ TH]앛8lvMHa"qEQB%ÍIT(kC4JR9 "oͤSra Q<u+o^: r87q ~ M{X$F<`UɓP RkbUVff2OʌՄI\]ǃ@sC`q [,U7B :jB%gnb:gW)%fs1ۚn0+zHޘ{Sw}w8ux~]p:ݺر'"ޫn`w^ l&5)>t"`]+㻘($^G\l߉mU޶Qyۦt\yTaHňT [G#`-CS8TEWNmuX|wYfmں:Z&Oq#RVJ #Pd`,v j*5|n74Z!J0u~n mͫƻ7'ݗM@엚c#kޒ[wM@2i{(Z{WDcei¾/ u}x}vgu+8cX]gKr r]v=U܈Y&KٟR $r"n.+aX35vlz!]|!#uѲqY&4~8X9lM&5p=ωƹ-sn| H쫩 kq`Ixk]38,n ̼gǘnEurQv$I5z9]㑌7=<" !nT+um J7瓱iqʽ“Vm]z"k1^neEr{VF?$*GUteth>>÷xc/RQœjPA;PzScn:qQ7kA lJĔ04s,\jR'P1.J{{b ki70j FV^; 5\Ӳ^Z#H# lJ-{HdScJ^۞oqy<}':rol5;bݚ+bynHa%CrfFS."Tg+?u}b`G68(0߳g Xj4(D1Q \#U|*bHU|꭮1$* ; fY"$U.8-G宅$1K36$5s3pg0~7D$':*ŴH):J t@ `\T)3[oZ!CN_V8Dctj5ڹI\eQFSguE_}R-S"\.5v9&y*W[3+m(dvQz>.񊑖vO!Vw ^uUgT3sڧew?BWH}wY ̒Afv_2NZWDtI_V{{kGOggS@k#I'7J:;CH:5=9;=:BBEHA:9>:BFAO2.<w?0J>5g;_]qITԳĀ i=F )mp;mY? Qy# >,b0o$@ o55JoI#z>ˎýQ[*ݺk{I4WvuEwc8jW1>cѻ+b1j5xR*;=yٛrշwA;qh\/Av-WƷMbRB4cPJCfJ%˟5ֶ)䭙mI~BVΧ-D[H. i=-܍= -cM6")s5T0dM".wPQO'.Ksqr-$8@ \&5B5xyՔl,VPL8g|Xme.<z/:{Ngu,l VCRԒ,U+2H;VUr.sM/3?`;=6LVcJbmW2ԁwy(avkͯaH3YK]7}g &]n4RND䂚N_@ٱLM8](*iTC噩WkoXB쥢ªm-:;! V!vЦgc}c,Kd+ dlJ\vyEV,xre_9 |x\N׭3;z ѿdXx 姟3}]5]W͉µ:+J/:2(Nw2 >MD n;+}r*l7KȌo,.5e%dlno^7 ].T$`1 Q%3|TT-pU23mk#5#ٻ5} 1Xξ0'DlP,b+-W͓ 79ڳ4+țU5Ij xŧbs_!rsY17ްzbq-:vJ)}y@ d@,FߞvѐyM2SɷZ !+ZBtuDtD,v,@+=/$JR5UsC9ח[еLy/R[c["o; $QIj!*9N5@f%QD*'D.tO%6mj.#g}錩A0֧ BPyﻠ]K\]|bq1j6qWo |1T;4 JI,[GVE_xf+I$8J߱B7m^r[؞2!0Iv _Q?ՒZM'N_GI'ɠōr8/Oog56oz> [{B[͵nLDLcg%J#, Y/xt 5~\}yfnT^jfMnS>1 &+*Bn,9{jA (2&)վ7u{ چϷ\o3-O}pt Cd0'ygaJHspPUcL"e48ϋskgfd[vlH-S J,}1<_*2dN&>NDw *˳ Sb}̇ n!*.8/[ȍӇЮ+َz_k+:20t_qʮ;/\ "#b+(G [o@#lD xFdzp*}vE%@붔D܂=tzx@kW֫`'Y7ITm`kLrWU8hčFM* RfLHyQcpS6cfֿ /xcAf*;|1.)QTAYpjF0Zk#r+Y(xLb %4X@&Qj̔{o> <`ok9B}7Ɵ_׉$efr>մ?b_4jy51fkjw]ZKїp[O4˕,rẺKC%kV~֢̅ұTʑSb)dʌ_^QԻc03*T@TpEBP :4kzG),Xdw!8Eۛ9X;oet_Hg\$mP)׷u T\Rt:UPQT$-<,uշZYq0Jm w tlt$A'gl% f@/7gRz_NuK{Tvfޒuꇅmk?Fdt Ę cKNEP4y1ɬΧMT޸s.b_)#.YJbH|s&KbHwkXfڶ9ףuNlɱ O4YMOk$I|ށ%]J~C6gߛ璽um(kO]XZOc%A:t)hO^i$V<rն ) !-Mk.͎ޱʵ0J4 R]@@p"U. ndfJXAڧ_q*fp|sǻZӫW<{iiBe|_xY GE*{9wSSyeį}we_$?1^źMR4zy%n4:W^f}ۯLQe}J-Q2seFPdJܘP,SY;v(';Y]+f^9Di}*S*ٙvOȂa+K:&sc y}3q:?b;̢# M 68xiC\eP ޛ9)ˉ@"TE堲 <ҕUݷs"tgLMU3?ܧw ]҃'n:ϕo5ʕ-Jt!+IuZbD\FV;d)06=+-&C;;:>CE8@A@EH;>;@:?8AB+cϢDGbPȃ@C.}ګ@Lɔhߒ i23q빲o4;k8گ/:?3L"\yҽOqEwi'O7}GQ ݊)OSVv9ڻ*;YM2fg3Pva}I2GS,s+];ntyz26Km}n1nM?8S éJmI[k~^7rзu=D+>]ʊ>=qX+6l^M,̚{,ʰ41\I`87qP΃.ׄ g2K#UziyPnҜ imm9c$fToU:rki{kc^4TgƅأU@w]>u\f~&˕j4yDr6C!;LGe鐺Nթ]j@ΤRdy%.Rw>K27pca6r0tdJGO욶<ܮP4!ͧMDWHm|#lvuԘӳr\ygH of:z0*Ìdkϝ~A;ߘIrsc16sCHeԝ Π\bmOQ@\(\ Im߹׮ ܻyo)2^%XYOz{j{~bN`?p")'&S݈F&Kd)g.࡫S{'K[ً{Nb*_u )rʟ>T*!q!6̹U<mַFRl]3^R5P>+vJf]}+N}\ ta@8fU/!"x5`5]ƛjZۙ.۴Ʀ  $<4!}@"*@@2%ݬtHneef[Vi.RqJ%d31[6)7F9va(i%fȒ:w;wonp1ܾ]mQՕ#檿rO3 gxf"pd n\@gO<+. b* RKrcG1,vNJ#w;z@n~6xJ=cw+f&> tn'jk$Qzf .Vwi)[aڱr zsPWAvh 3Nнw!n!slL5I^;:0x v22@)&/ ._jҷV7lT~ ->/&RLK~\e90QqnU 8-ngtno-Nތ3&pJJHNۼUL9]խb+T*y=ŖĴAH'z5놾m[#ʽ!nm&8gۣ޾5#_Sd񮚫e{1Q`']EGS[{#=0 E,f. y0P EnvO N%)!}WշR%׬/%'MlTڸrBO,'1nO$_XNwPis >\D1.JϚ:;3Zr67:,$ xNa%{t$'|;JJI&O"^3ZtSu.]^b\+/oKeu Jc-]ۼKDZ쨙cjnL-Fޥڶڵzۖ݊ѸZw|ҊB աc=jSQ{ZIXڜ|Q뙪}ovl[}5$Oob* b VY NP $c[AֺSWvMVVz[ֶd.GduRWӸH4pfO˞Me۶MWl{}5[8Ֆ;! @w<ꇮb@mAFMG~c=UUẌ́/޾6Փ!ZxHH3N _(hwMJJoM*߿BÛnw}GJPa3$57~[^Z9q]9Zm)K$]Z2iEWi/&Ε wg'ɪŭ7&O2 ;?7zG)qg{tad=bӥlo 6}C.%AqH+ޯ/盕8e8$3v4&35靕S;tmf9%)I=4IcIoĶJQ(Lםrf|tT?%,=Be{/U_ޑVGkddϱWju%zƈj%lE\%(]׆64iApQ)]jУALJK =XbO,@g, (Fnl i0{%0nhvk,O"{Bd>e`ʮ\؅5z)rQzF{ Ey>]%^+'+O'+b^$ 5&Ъ#Su%cSd.IR-w-zS{FsSY6l/e2f~j\.c q3;EXMbG:9 lepƴ?ϭT,׳&v`^ ?n(eSbZj={zoݳ6kYR[+:flFevLfymz Y_BBj_dI+l𺢌k^{ۦmfKV+ ډE@}æ#}pH]D ӟڿN.`/JjƔoPh"Z_{5i=i<j6]%Y}:.{Բ{9+]^f?aA]f ۲ &XՆs"fKٻ Kt#a+iN^i(s֫Jo;]%jV,Lnu~d *wa2溯"L- L/j %Bkys}XZd%lF5g&6ө7 æ% lbJ:⽋d%d_z:w_4q-UF T*K6TrSZfQC,&@5$}?W2ܳ.-oVjTY,N|:Jv`ɜVqp`@+ku*´W "6Tڶ%. rdZua7nVD*XpUOQʅgSk:>olj{d3嵡dƨnK No:^PзH?OII0 3GbHٱ޻< ~vLVcdUgu3XAu@*\H䷝֕m`X.¶{]WwwU6m;)f] T }`)U^}B X Y)k.޵zaR՚[zcbt1Ԥτ8|;zI 3gv|W }r3͝3D)9Wӭm7kr;ɐЖ}ArfnW*kf.SfJbvp}w_Z/9`\d/1/>lwfRTQRʝez`,Y5ߩV2uRnVCٻ{*PdOEh }5JN.F[fE4hU5Dqx+òGQ3@ʲRc&<9:Iýwۓδ@ʾS{xlQAW`ٷmtv1͎b%-H`` ܔ!+/6'7)&% F;#z#~#VIMTNwt~+LUҭּɞ7x&ix~sRI`HBx+n{܎rݕɽ[=[ىkyi[Xӹ4%TJ@fY#hw91J~;QFŕ1 ֶg5:BkPIp =6`],dsJ}];[b+c{v^\(&V vF:tlT‘)De~)Wg:(Ӟ}3y{,kcOف=m0KQ$ X |axh̷lVb^[%ѳ;nMAZƆksD 3|X("98IҤ`>Ovl7m`A%e5)ޕ+$wT*t&>-ҺVY}uR(-h{嘋,wS~Ŕ){^rɠmllk*r]~z#?g랛2 .zU.eˈN@-++V@y e ᅷl68r&=r*knRYZN(C'L[W@n(? qܙDx{UVc3t:e IPuDE$ɼQf>x9uIuq&bOݪTi~˴ sV<[z)i5˿SŝTQɽw>4#/i&ͩKPs/SEmw߻TQ q R^5S3Su|/ F]m*0w{-)|!4*IXPnUAӲՉhNu u@ c@zJfݰ>a\1 ywh^ 4ŀpt25sS.̄: j@~9pZ׋龋"JٽղbJΊy#.LΊL/@ޚ=72$3U]Uj_2d̼7Rد\4cHs R|LK<ځ[ R+ݷUSP*\]׼ͶͶmZY{L2 bւPR Qz$_tGtu`#yR)Iطm׮jDkݳf6|ЄV0XD-n3;Pt83g:}4:&[j\gf "U" TdHxГ6Oܩɼ)5fSn?"鼦TYJx?z~~8w`:O}h=pjְX=+sS*W"wMT4tNM=vgfjߊ۩mjE:[K7:;稠r12;<;=BF/4>:F@%.:>@HFJ3+~Ъ}+TpcT ];YX&˄({5ɔdB޿^q~<1ek巡9@3Fv'FZNz.f߯heC _91Ďzʥ2MޞW TW?{FC5ktMVmJD`Dfʨn+mN}ĭM,Q(Zrl &n9ےhu:)[(eb:g;1d%.7*.xjd'| p&) ɭIc9bf pfΌ)rc_;5W<_) `fUfV?!/!mݻ͟pJn e۾4l\::_)iRt$5}vF-%$s+S ZeO~uYGW${%/O6HmrTЭ%Q*+-1SFSBUQ(^$]MǺQ었7FbIO@S%:eJR+B2͎nmu/kE2=GmϦ%x͉ki\Bz@  NH[ũ[J)VwW~Ū2[*u!Ѣ|iOS{)o5tLZ* lzb5ץV?*2Uyݬ;*h{ug6sQV5¹^J2!UrqM_CB5f~ OgrQ!Zk3hiK4R&8> `Ϝ0DP=g,l*-j Ǧ/n*:6*] mm+HLF^*F"6&dqR~EHcHȊvt ApI{cyi欙 [T\ʐy2]@sx ӵ{R;Z!W̼sr')\c} ="!sSE"4%Ifuk'{a/{w6Qޗ]u֍ FuBfl8'gBw{;}ٞ%Ꚃ~[E<zOѝ?:&BDo2=EfVfS3S$Lnu=.:CY_} wO_`^><_YoliɽOD%AԮqӕw\J"A~Q,UXOiGgE]}M*#O=ʡn6)]~γVcv#S2qHծ2WH`H2T< j ,~ґAY1;"ičP^`$de(ݛ-yۤxS뷞`j3R3EܾC8Cp )5b1J)|ݟ^wؗa@53VVJb#X{Gz?{ٌ&.;VϧMCWE"Yl]!5C6Aky~j#ѷW8%ZW! ny α!ɗ⣄(o`ܒsr#WmQ.-&a7 @ Yq(Ĩ%1 K^]B/;ALxkmbIL@DJJHsT`z-/8 2wkrJu'-Q{m~F7[*&d.J]պ{h%?Ž*C2Tj_Z1dk541= dڜ mXY \"mȼ u>5΃UE[[;Z LV nvyj]ž~[򝺱"Ϗ@sטGlFb[*W|eoнv0n,Z)d𮂀4g:Yo v?,_ k73e, ?{suM;FdSnS5' QQ"wKvTfcvsqh NHgS|fdwf̖|t==.WtB}mІ}kƁ~u=1e5]+UrX,hhUR d*)փ >P& P )vD2r.1cޘ5| ֧i6m-NK:Ko%̢D;<[>c1?\#0KǪԸ^㤥A3BRo hUۻ %I*k휼iQ x١V팺}=u̕Lm䣪`e&2ύ9ft!qʏJr+6g{-[RF[|kBJl}$Ԛ=uDɑccqp$p嗀PX/LED.H #q܎7!I0D}r[>@$ULI'+GHuc1s^f}_:x`r#͉yz5h73R?ٗBlLd*5*et9գً!REJmÔ}1)ҋ(Mι6׹)'DΩ k^WGpp7i"X` TĪ1'=S*K=5W7Ъ˚Ҝ%Iϋ]1r5̹l%8`8pJJJe AtBa>Xd6LwE#?U.F_Sg5fO`Jt*{lI ?k=2bŭ&#+czЙOi^6ZwWgUը$re 5'@?=l,NUYV~Vmwl{v ljKJxH OwISJy N\`[D)0wn^# JPVѓݕ[gVde|j'h,_H>bNOQjs0LaK|X6nZkw/k[[]+( LzG.?9yE`%olʺ oF2SZoBAϼ@+ w%o{ம#/w}ɒn:D},U΍$:3G2m4+lS8SV[V:KĻ/]54nOggS'#I:57&)&/8@HE<:;;<;:FBLB(4:9;?BET> ʪiDJ#5O `<p5  "OfH$~Ȑ 6?|/q[Kfq(eJ[/ûy:;?Qc}1M\&.M$.uם{uux]f lW ,-sY=g,_}VtUNiW{k?OZ/S:U;d!p:M%rfJ*&~8tx0a]$H @*(NFjlo. 丞983{Zte@]P$ o"nNF$5Xf]dD03oT@鿝jOl=o~;ߓ$.lؾB|'ޫ5ޱueulo].Sغػ]n_[-)FfVOӯjfOɸ鱙GRu#_GʊK1 !7q-wCd p$k]̽HZ1 KDw1 KNE}¤7 hn.w<+kF*TI3/ycf6T EP AE~#o ҺIԌ*3S+qsjz4}iSde7ܿ11jny,kOl[''HjޥuG_~=s'y{U)̊y^=VO>BehNisDUG9ͣq;y=Qf%a[-ܮKJ5!)"ې ud"Sx 9*uLLHMU X)*0( +e8PS{ ͳrw婸ab\4 e 2FclUدn̛{eYQ\fon\U ^jo{yւg.<"&; O|P= _ţTd<5o[W*bW4ޯm{sgl8+ݽ?tԖ(R0ts]Jood'q7:'%E\}O E,DER!GZֶA3:- h+jW &v9Q ܱ[Arex(x3eJ)UBֿ6뿤uβ^=.X~/'l#򽣪5WsRm~UF~mǙ _~͈IqSz R.WIJ yozRr8bM~YRj?vPN[BOsa䭠#@bs1>]r:wB]K$R@ljJ&)vi ̥ńAOH1x|?o瑧I]RQ(N͎k㴧}lͭ~15j9r²=,a7}2i$iP M\zZmWs.ctԄ}DͻVw**ICN%REr"0OW5(ɘDeʲ~$#? Mfֹ =z>}m~~$Ge!?gDom\%>o:M8 0<3?ʃv/f秔w0:!ȏZcz7B~& B@?poڹ٢l+FT^~ u0^" B.tWs@@RX%fxki"W Gq`/fXxNq4iv$[^H]3 (7;LE`Ҕ̀/wR3^lS.y/)3SOq;9wn-0 8tt3Zi[nWOv*Tzɣkv'ZBlWUea_PӷlOS/]*^[bwZȘemo#2Tꔝ.H~&yaZ#^p82Bvb+VX8m*GlB-S{"ZzY/pl{3ޛboOA`*Gp>CL]d]&3S&~;i>׭~ U΁Jʹ$trӗ}RϒUF5.j)nZq#s:COye6Ҵh9] [K{6re&#NrJەa;. j6rE؈( Q‰reNs)3M\(n& ū a ## Va( ]%_Mzt~z_e>n^,cr8DNP Ɇ >9B2)njl 2735VG)Fne#&"Vl8u\-FQ f>`=h.f+fV⦯n\yiծ; s7LtRPpڰj>꿯} vtܧyOtu:IC{1v~&$ΊeC%t3¾w]QY8r)Q(b^ujߩl@Y,"?PjpD"4KF5׋Y渧HjmҮXes<t_Uݺq]\ε߬:O8 Vvv_oMjfDNT Rt"(|]]7&^CިQ35_1 uC5T[pxo2d},^kbB+5F t߮%fJFYo?[%yvOo8݋vN4ϟwX*__GWT&v"W>u=(9#SG~q/f-)"\VH7>T'+2 g'. )@ j}Ӯ+[@R5mH SۮQݩ;rvč6J3FmmIv<Ӗ0Wq>5,W.gL*uuLOou@2M7"F b>}4fAW}bC5`(NVg/2"RFpaBur#nnŕhc6onnJ?t"SOggS@Z#IS#?B>JCDD7)'E9<AEHL0-z{A+PДذH2O@Z`m.:C zZ`Q"U .Ckv('#隬A ڨxo(532e{M_-eCepN/q1W:e$9ݽɏ#,L_] pְNtOR}[5[;zz>4JDRȮ AUf2]U\d/c{.4~o== kE:|~1 =Tz]ݝ:Z˧p纊JvGg6{J g1ҾaB̐^&3ZiQ-,^5@lzr~*lӪq )P pC, x3ͫux󦒙Qu2m.t)ƾ1(& lˏg[W}GR*unn+_)2mmYn~ߵ{=]s2zĺJyAn^L}cԙqQuZ9drHc^/;ܚ~5UMl6*tv3KkmlyyږNI3vQk`횞>5maXƲx`3]:(4Vi A*McWuk5ʢ1qQT12㼎ʵڶmM~/[< @' }ƖZ |[vS3$OJ_nOvȌL\zzl[;f;4tжw֥@Y@iO@o@{9j߾J|>[WQhhlxrt8R]?o8/E^L~~^;n\rʫϪ`&b ”ew:+]U料}=!uW|iQ^#CMW}={)oj ybrOnYomKnKsF7"K=]5U Q1̧y5-necJw8⹺vXBTifaܥ&5x?)L/Vð6<1ɔH "2@4q L۝㿗]03J)5o}e/r"KKI:~㞱s곻z?m}utDq~b+jvtIĔwTRV،gRwnXmC9 ʬnn]9\̙memrm|di 4KK޻y83f*v-5Mj~Z0֞z>?EcӬO@3D1UHN]IƘt {;(.4hK޽p?̆] k?e i+H][9yA/l&F̻S*{p7}K$K?~]!ry9 ʹiLI~'k'fgHzd5b4aQRԼ8@~Tv\[B1W/>@;PsjiDɪVz X[slh'k \b{Ǹ`;w/_Z4&=2rlL~Bc3/ RM Tⴗ5\o$R}lm<~֟o&~qƉ={!-g$:[bɚ]q{T߿*uD y'9t\f0ٙRJjtaݖ+|s6=.J_\\Wٛ湠]#N%Pf^?y{` N"=u EmˆId;PbG;o>N%bnZ,-|{fݑ-W @::^ #HGV-}߽ϧ~MF㭮Rw禙z]2' WaA=&-\?;J\t.;S\3Mm=O1^4 =xl ;]=7qlD.P0Lfu}-޶mSW۶ض_'{cWG.uaf!Rs2nkzUպв[RMֵ̞=$HPGu}5 Dßr.HN^bRbx9=ܑ =TN:,ȓ!i1+۶\ 7bLτSA5}& Nf[4R}/2%m,Rdk̓uը7=+[ ڊſRc\N侻3r_U733z5vtvF|/;|}'}8OrڞtZLve_v/޾-ZO|lbrzkv:R:d7mcc':m(=Z!z޻S Ro.΍{|O447Sodd~Dy\@(zC:`Fs84Z/M3dKWv# `7 7<Ėy@m3BmI~bM2toc(+\aCB̯zB[ I C 8yIMhy8LF69w1cTKl \~U~sM%b'Eͼlr,qCᄇe%qK(F}\u61Oܯ|7{ӓFnn1Q]{qqw Nց7z;g}_2|azm` ݻOggS#I +"5:97<:E>7(B;6>B@IDDF:v ~Zk6l\{,&ݷ8ڕ!O Qk$`7ٌ_ b$[JH)Vv>ُ89Kx.3 6HdO4ezMTPO.6NwRIfx ՞ϋ [ }+nҌN?+:ض ԣ@Mܝa ś_pi6:ND(m o`|BNi@sÖ2>f0\Pg_25qiDC0`"`y{́lp )86 s+" 'Zr.`i2+J]v76,|N*_\9hn)u6ZGX)/ǿIO6>ogRYv1pq"J-n=Tu2C:I53ND]&d݅aaŝ`8oio*۳{ƢN 7Y0г*/m#MƳqT6`w|u,#},4JfTs۬ϝ/`G;Y*Y?t0P .]v;`Rncf梼\wVtf1QblI_/wPF-ch9ZNjSm؂{~|j )e90,Jr"G UKYESmf Lպl=\QdozCCYBClL'eR`7bl^c2W&8X9(ȻDgTg-o7W~VK{4U1\bK:ZVy秷/ K?re󑸖9Lpsj[L3Ķm4rwל"j-o8*"i5(BBeglmt[ۓZ5\'Lfe:@-~D@躺1|/<|>iY]ٶ쭵l{o: )kٰr)p ~P][Qlȧg9m_⼻L };r~iʅ RKVZ݊E}T @{m&I D͘R[}+ŇѩXӭt8 [k=Wf<#KcpR}fD8:MtB=*zJȘL#+F\Lde"Ƅ&  Q ]Y蜻r=bD=u%KscSH*m[fGi9GWBl,-x z:M ^MMtI\c{0*>E 49102 > iZ`FfhPos罙>'6"#&++F2FYDM=d~tב-ֆb1~1')o(]Zu\ ڤmTK[#wI3 ug5uz F{mΩ qSWQ# dY|-@;Gifll(T< .Zτ ,u}( X& /D)U6~o tnzZpYٱg[%z.G/y4Am=FS)ĥur"GW~GfU⽢or[q\l|+=1[9|vA]ߏEaDwY6#oo}TSw]*7hd%Z 5{K{SPPBJDOtRwVԇpjikzzU/1)QSE7 V:,GCI,-p$- @KꑊyKdffF[*ǜ'j5i6j|iٍc}wƯ;M'x>İnz&c3<}jPUI񍬋vΔ*Maz긱iF-[M&_-27뫐PZUYKS |O:Q5Ji݆? E-)Wd18t Fbk]=$s!}_EvNe2̂c|H3r4 <& ȜN".oxbvTQ+JW‡\W{uz_+Z 7h4\]@bl. 6 ?[K$(_uz.]益6[3]%V4Φ*!aѸbLџ}! #!Jr.-D2dmM~澑~Rodvp^|X̮)i# ߯X/;2Yh_<%7RtRضjY+EPY.uW(*B;N\X& `A̡T~q;7ղѡcߒgyi.qsh=}W1r9q߿c)ǦIry-,česRQ&|dYJT";#Fe)e$FƔ \)F sq{T 7&p2ՁcfT7[UUDG JGnGD2&F5Il'H8*\\+7v=tu;LX5ҥYgf3#+CjL7s6U',7|oz |&iUs2 uD3R[ơl9{\D-Hf^ITp﷿rUj)Uv;JqznMN&+*u5|U%z*}Wxljl^G>z}2d''ndıV'#7*ϭΉ~G:B)ͧ{$DR\&$BW@T$kd̀P!s & Dcc8LWNnK&.7(o0 d E," jM&Daޱj0b"liafo cEK_a&IAO]+ wcXUҜ y.';A)%1PeNocO5!r^tNn.}}l?R~~~]ezJp\`{ВZfSwGԁo2* teU.!7^V]TSt_zꀣŎHiU:˥4GdiyI^!%1c(P7#h8OggS@#I&<89;>:8:<@= 3DCCC+3J_xcS{I^nIz? ̠mnjF> 줫DUa6 >Cv?֦)ncm\sDe_yzvxJ6Sm;'}%~fz'dwjɍyogm7ɯJcnh巫6LN7ʸ9;\n C #]]0VNw%=SKZF&3Og:#rW%(-` 3Hq 3mC*j뾣(] E3|AZ5ckps;/8S`o^fn]t@V T`G13 AE1u偃zP5UfDz!O6ҦM}uz0o)ˢ&[<f5=VtM=$C/D$#뙛SR)r[N`8DZeMFIsJnz͑ &7GZUir .,}Re8idv17ܾDJ=pH âŒbCJ"D{fWÀ @ǑÖXiޅRyaޚg 0sHcs@ ꨆ3"MiiJBKDl"TO1)Y1וrikgϼމ1ܔ*㺭aU!@P0ėsxuo2]xZMH5Y)\|^u #>@% aG%/WI6k9j`.9a`S F o.T0Oc~GSj[inŶ iT5>wJ:ǦKţ?>XA} *ڰS#(vOw]R%/jz~82Fn0:$` Нp?TD4@ 8cj dw%Y?MC:D l'Z5{Ґ<ͲK>hPfƽ%7q˴!昤TIJ?lc_νX_p5vwxN/^h'7}ۺ^uk8\W"=uaE};>Fm+]wVGJvKQ~(\sx)1݌yOҧMㆸEH 38'/dE$ʐ 6HA`Ndn"% 7ht`CoF{BS1oY-4Ӏf62pGUz8H7NRm"-,ffl$&^+R8^N' :_4|J.: 9ҫQ=o;<9I<\xRrFKia$pRtͧ_帙s9;9bOp)y"'BNiglc fowK-t3b\WU 2!0I'0(%3nhp9N)@ eW i oItaS,ADa `c0 \:zRͫ-OL=bF 5K s/47r l8&IR[5@kv0J]yMog8O}iVF7Lb d%V]|j׀UT`O `x'$U [pP}D\ط¤%btĊح+!==2)Ah4R1incRۭMݻZ=nMh֪eyjWsj?<)Bg.z׭zm[Z:SV Ur U ξ$R'&9,k]+E-d,/[7ù^>cN>cv%Hk#ށ$Rw?(?]HT,/71YFd*rB{QkFqKrxM%ևn/f55=[bCnJf{97uty {/w} sQEy YX_"s) ^=]CF]Ru{Nw;hj @+͘j*h[rdȰd67L%0S+/|Dvm*;]u@G54gE QEnw|ō¾Z~">ۛύ8RfC#{$Wf.td{錛-&dS6Zխ-qLKfQQ  fd-nZ(DҗL9+GU Ǵ7k*\2RSpP:MS 2vQDHY$͒5$,h`Q5V憜s9b}cn{%R2Zd.Tq^!51l+M~+TxQVqKd쁩TS`d\e[BN|c{ۏBتp'|6ՒmgۘqMܝqjqսl=Fgi'5TnnyfY_)7ձq_6wV}}?6T߫$h5&B.c7.&Jd('ՠ"]'e2qﳯc=ߝH9C}[jPܪY1IXbs̓z#c7oqrrѥ[2Vf_QHHm5DgYޝD%qM/jXN-%:b|ڛr3?lI&0Q00x#OggS#I&+08:ECC<=98>;=ICK=&B:DG?FETM~KuKZ@o H|0hyI=eʔqw&YEy6{F>8uLt~sg Ӂlڍx.5ptT Zn٨m"ZS-X luNx Z~J-'G$G{UO7|q8~^b4Uj-LDXlrpˌF[^$"%9#eexͭ;U0(_y% HB@ҠۅM9PLcAg˂ʬ],f _!r}Ǔu_q;mXd$4:#K|"F{d;ݏX={3T۷[xEym[^wg[잧5?oL&c*V\Ue=iuuzo}%$%mC ~8DӚNj~BiCf;ZPJegDB, yCE(q}dMsOtLMRyi}/Jzl TKzjWqo25T5nUWG=߸xrBMOOE\dbMD\x2ao&mo-4]-)*Ol-][ke/WQ*D>H֠]Frr\9Jմ`$}2Dn@H@S}^v5[2`p0럗})M3Uj\l7Mڽxu̾yf`&J6G- .<8>Xx@X"uwf]-gJxvWph>Zu<274bj!"irI}tÛȓ fڑcWo~-bLb_zYDT Q+K2D$Eݓxʧp5ҵec~kYtޜXRHؼ`w~3)7Kvz00Z4n<7mcƺ[aosd)&eq?~ eO;.̸~aCKl=窌͌{R6 bT Nuk@ HUsI,㾾 [1mO#Dtβ;ֵ[=m*YTƨ<=;Ĕ,&@x33ef^~8Y3P;,=ɹ|}o g^~E}l?ncj70)0JI%rs.3R< 'J;F=rMUm sUk]꼻e2=Afb"rEˢyevo,fgf35 keT#!$rΚ\3yDUqMu\KUN%zJW+|*[1.a].䄋([܅Gb+wa '{5%Ig-mio`j3=> of+5y\~qT6 9dhuv?ݷ/{l0aL̥f?4LSiv`8l2oܡODzyOV`םy;5O5ʻO)Wp[ b=*7Oq.)GSSW{g˚Ru٬f~l&'mOf?T5"<&ֈFc{:rTnJ7{1 =呆]d0aؿƫH*Wxq}#+8ĴKwrk!0 ~Qk"& 9,{vC˺Yޞ/[Lx\J!6;rwgF0!Sc[%9AT@s$ &*xSGs1p ̛QQ%v(c#kx_7}>Wdj<ϳd"5.v Q=.OV*${kj^gW%Ig;Cf./wQjevoonMwǘ)?loj*WANOr^i*Ai+vF_4Oj*sNLz4T$*yo]d{n^b2UV<꥖aʞOggS!#I+#EEDB@BDMCE@Ԙr;˵YMSXO:Gnkb#^Ը}OֽM\8NVFf%fkmsewJ*PWþL6[2񮧻g˿nR 'n(ӹY1}E5U6mYf+&[4F=ܕK%S dO'M̾S̑PL vĢ4@=mi)vvM]LAffԘUhvޫ=O+Վ΁?~~ jNGjЧ;rcqԒwY\ֻϼ$qOyZѮROIk.W<{Yޛ4tꓩ v]Χti5{ަU[9it*69FjLjfdj McAEtC\o=u="꟞Hr9P։îN56VZF_xlM^zM%f135 VwMmgOWi/LbZeqejRHvk -w*ƈN3E,Uni۝>2|,`'ƃ;b];Sή{ϳm]Ϯ+û`l{:TPЖw+D@ܤH(yc=7cϔ%~{mȚk-p oqѪϟ[[[\&_z=֗2;9D0¼xI^_/ =/m6&9uIha]%ׯ׾ d͉y$kf_.BFѪקu&mǗ1u`}N޳BnLgӬ$/Om']3'~G͕n}rOkPszS&I-=f7Kx$l\¬Qo5ދ a[d>ڋK3rݰS\_DPX(W}}b#T>Q5V_9Р]" Z%0Ë4@.G^~FgIUܵ.3ZCt\zs 01z@)6G8Mf  ɟ)wAkө/XwvJق-UV{쟥 (E5MY :[Vw0Ǯ"0♙c-_>W[yurCzVݙrɒז:;ov~DW~ٍmzpSz]R}˟rc~Twpi9s\C;wbI6ic\?4`͛Drv~vJidMogRtFf[VʕntQ?/w#ra=[!r^=9>pLcχ,f̦.PS(k _tA~b)]u[b}f2 N 3]֥T, 3j`fE4Œ3u~#(Vi Y^:iMfǴ2Ir RX / `G،',U}i9]ۙLf*l%BxB#푷=`Ǎt.usTVu罭mʶ7]զZn1`#$Jt/ċ?9=!MFv=stgZSv=ݓIS{Y~cuo C >NӺTe@G0#"\%Kengm\kon^$)b`}) ɾKҌS,m`^{{{_㽫996ݶoz"drP85S#%;{D]<1;^ݣCڍeskMRQ<ɺ˅ '] %'Ӧ2>6o\]Fٺi*ײt-nqjN( Bq=:?VˌT瓚=Oz!IU]lۛ7]PT1 (9s>Jp7Iy:NPfQ:_t#):K6ߵĤlv/ܟy:EړBxj5@EH[D>q/ؗ.xoJfV~zY;m%XM|^W~rfflWpk?;Z]g.:}n[܏xk9dN3/imXbfa]ᛵI9+5ݫn닜g:z;:(.|oug[a2{{2.@ םQ j%DFcysWq(Nt {@D2Td.$):WRqP7kg)uF9-iz"ӦˡaT)g +WR4UW ` Zkb,[a`e *g(ô 8{=(p-@%QYY8x j%5ٰ/)x[Ϙt&%i\bT;E,t OggS@K#IB%`,-C?7C?,C<::<:;;BAAEA?@;<>EAFC6&7;;=;HCDl:#`E;8 pGwz ! CX{9?OmJR %t#Ǫ$_[E*=Z/&ݛVEIE;J@M'`鸛7>UMM)e*dd+ U:b{wx|1ݼm\q*^[!ʦQҙVo:T\QNc BU9m q+Ż]N? Dw qSm\nff 3;do#?/fu{O0MZ{uԡtVD55NiXh*u6ri> L z~,Ӄ{/S0`f¹{TyLnD%@كe/A"?yBxE Ǚ} g\F/5̔+ &sK*<_u&LQFq9ftmnaً5kUN\.r5Q_Dvc6_ݳlg;kWNu6v3:}7@=YfV(a྇iD4K\jAv31?@d@-|&,:ɠblj :&Bxww3IdUgR3io:?tq|4aq -%5 0QjG]ReetJW#-X݃;DJ#vbXb$&Kiڑ~7[?%>o5ՒuV!2<>˕JABe?𗟽h FVxBӮsJ}#ZMͶd|2ݔ骱]2 ym:Nk鳿,V:fz];=뜴ZySO/DFK *Mp, _[BLͤjbI39^[{uZT:#o*،U@ߣh2< SLulR_ ij&mʚ,l7[Vl-tǫ+ D(^|W.-קRxM۶I]mjUlފXY(8ŒRA5 D}w^35B!D,7{utxoLw7F*(6DC_w:Peή!՘JUܲ^KڶCeE&\ˈ"t31-V{QnvVXo$+Y.SӲaKQ CWeD"\?#.yРxoJ)I[k;/5mw#Hm"렍s-oKa{ʗ3k+{:TS^4?o{a>< )?ߩV2\@"\G.ܤrZ8dW#o;oR i3(F9]*ǹӞ+mm6 *g'Z){RO}HLnv:]Ϡoˆw/Ш9i6&Mڢβ^u0a6P'5_HPhȞNStD/Țh~wjfeh4Z  ¶s (1%Sds%A)⛟iIy57>+OON=35nY{ &trZD.B#V\Ņgk@lWgRf oH9PWjtP 24a5e/պ˷s30yhmO{B) 8Ґsՠ.|,oNJ:YytrT+ODSۚna5F]t\֑` hMSrbDxV OT_k5-&7kJ 8%M^zVm?A~ FD^>_z^򽫼ޥ ikfRh Q~yr=??|wzەwg0t.[my[2Mm2[ftB"B :olX9_ 7u :9gvI ?d/nV}~^zɶ۸eˊmv\J@rXF`4Ħo>=հwP=BC{+hޮmk6z"`S{ y1{g׺(*䭕W"_C 5bdn OoGJ|iOؗ)2|B%?ꍹ49eN>oQ՘^Ȱ@}]W ܹoMI_t򦹳q. v)9wh "zsJrY\k`3y>g_!byǭJ DWq@;B4o˕:q@cSj zPY5ښu2Xyb @]֥vW @:gr)\n*l* RgBXkͨ1R/hM7[o(7xfݕp=w7;#)p7]kO^{zTfrLmϳKDy\_Zoi7+6Mh:κ$?wΐtaթKYm%"K=fݢUͰelyKF_7tH袱^rlm`V1)eŢoFJֺ!-9Ov q7f75( &'cuvB5aE , z"\mi1ɣ7qU LfVlUx"/6MNH^ZQh|R+V:3l[6TbN5r*17 lPڥwL]:(;;N6.c7 *| j$219XKqMk-{yEeH 3-T>f\rױ*G&.Mho<W(,ڧ\S5HrQ_MwkMUtgSF6DO$vLD)<>j:E5%h:NubXƮzZkFk4Zk6*e*<WRRME'ԀKZޛQ*9T C[{bkXaaCtyG?3CZzt 6V3.XkJҦ=S\H}# YSHq lDP.ͰŸhr0t~.KIU F6}bYY3f2tBglMnXI"Uk*%匚jм$|6 TDuT:QM!\zVb&jժč vƕcVrmY47;m72d0=Bʜuqr07ìP8dOggS|#I8"159/@GD9A9U,()SwޝIݢnh]ճ}"B]Jh%KS)ۥ:nW_ϕ7&\-uq>2mÜO\ܸ9{!Έv*CfԝPEhGѽ0nW+eZr;*XpB:&{G_D@# Z٢,,.APA$ V'Y ;g&X[k23y{kntpPYzwgppwZe!^QX&!Wa0mݐ^>$ `@TUh_Eb^.Sj0j~cM|+`$5%cIqn2Gj#gKyYC2T^mEܻ4mUy8t C8AQgtYoӍrtfI _#=}q3Z8'⒡UZ+ND`ܢxFդ"c>,s#'NC?s;fQ7ͿL<vٽ&3 o @vzJCB[PER`l8YmR/魻vd`YX xjɍGJq[m]XOB% 0Nb AF*X]},@ pqPŒL9LjNFd484``Ql򊊝PƩ_>H k[!Sf@x=UwE{sUvu F۵ zÿq#1컝x<Ւn^"SCkxނݼڪ#3`KOX󀶼,<kDr9xS35%)ev+ڳ[^ƛ\ :_ѭ: k֙v%?T[%t>%CHfO'x#-hdU*ĕKՉ,e)wj2S20 Ą^pq=-qD'r-U0[¦^dP)RuM&#'r@+ 8(8&H\^!+馐 %RU:1tY-f99 脡"S/t5݁6xN(Q.0q}`CXI|U E|".ɼQ5I_1#]ah S}]Ӕr}z /[{S#lQFDTd_fefrBU[q{i@ZJtv6xYdr-yڬh*IknuF^}+\/U]iHHX;%QI @+{:!Xh@EB@|t!@`!:.; C4=^k-{N8{$`)t2Q 83MPĤ_ujt$FgmEq d0*@ Zwh  qț0dxO3/>cL"A]Gܿd1 1  _λ,T'sw;ϧ>׶[T{Zkv_Pd&ix:(UHW}o so!{K7?{%ۣyUnc\Ouz%CgŇmL%P> m rŮFIUNޠwfSbe{,&^bSs Rdb K? }?+gTݸcwSDg^Bo2AY,o(՘W&X2+GȖ7]ء6IBJ?2K}@H '0_1 g~k^ x1ξwu+*婒VesIA^oW98ED捚Wff*Ot c xb:48b+CLs{[Vڴ@7TON544+{ J;c٪5͙m^T j!ExI3f*}!ư)b{(*WW$s%]Fg\\"9qzvOggS#I!&4--.AGC<<:87?A;ADOI09;:8DFEE@fn;s/n_je8H ,4:7 v}4;J`((k3p$"6Y$ݫF U yr~OOwLѡ̼fL)SV'cwcoVNis{o+9%!VG'boVps73o8g39 Ax IY&71S/wɋ [Vg>u>V#{3.M& {4e{}}ܧTWTnUqv6um5΋}R%I+z/.'ۊ@bVRX86 "&LL} K o mH[W5nApH 2@F@Wer8Jd|+۶fffLe+v6fr1_iL /k;mfzN2O]%.*::zÕ7jw|%/T"Y7vUcPٛH%wL*^<>=_w]ֹf\BP[ƛ!=gE"+9iVgaq7H;ܻSaLW`RӨBjExdT wEDs`5ܦltڄ؎i.qU򖁹sOY]sd  -W0S\E8'Ĺb˦SA47 DWfO; q8c_p#SNሹnž\Ss+I׫gm[SMo7K!VcoգzWi@5GǩD~{V|i5KJn·B #ED]s܆! =fwʶ ՍkJ/ryl柾Z)DEVW!NiOPD p 2yXX&n's܆b9tf8UY7Y219\̌99+\t'Z+ K0"AĐ?}6 ۯ9Q"tƼ$|])3{jo2uׁmû=LBĒr`s Ը0U|[* ,:iUdj2c{d[,r٦']A;lB<;$f4v9Y*һ)~z]utSx̔[> zk2v+q-SʹO{-W vvej-{{7wdX@+ 9ѩ.M'CX*}>ߍ VpZŽz \a)@JJJQ2 ;p 6:A1x6=śnO.F#ЧJ( ]O0P?CܥTʏ戙z+&J\:T Qd `aGU&@q71-ö=}x} \¨^3lwufFAW7BMZ Y5YL9ZUj:wtYJA1piff|gg kRhˬ↬: t4*ٝGU*M12(ݶM.3v K2nkgF5E Ys|j#oS(|/'tI\1a M@' ׀PC/_^)IPF꿉Jad=rx{o3[C ~d4וe1l *ʰ꒩o9ZJ9(rߋKG&; RBFfZ2qa8(Oo} 1ANWW{1e^ZԚoK؈kn^zs8|Ո;!Lhb VӌGNw5ӥ&\uRcA`͑/|o;^_/#qO-.8]\yWOG~) PI)z:UpL/7z;6Л8u9/e?^ԩ wHPyEP{9 4!׋gr$h̍,D*'}"y< .R])ȎBKFHJ]Z] >%H$@RuHtqi\vf͹nMI\Ȝho|Ho@-{LpPuȸm0c#Q@Mǚc[8w$X`1Scff~Wwmة)'?]*ph|Wы/>vzGww.J|Ot|dT[_ܭ~˗wUQn+ی;J)a(-V}OD,Ӕ4S<D=ȹQv=S_*˥'F[-Ev*M&Vv5RztWBv[_C_'g"&BFW#G|UyyI`**$YG$D"ڈ/G\,Ȩή 0kN=i[HASׄy(1ݶC+)Pl(4<9a\e̦~7=)sl4z"9[)nm[Qx#1r4 -UT^Qy~i@++ Wwӡj]B\32^{Y<4W1]Q* ICh\ƒ{ԩ쯹[Xr!o͵jf^?uc Ӣ4Aʘ{{we/IpySe63/у$czc7gOoڋ_?xƋ4f=.NY3OŬTX ʥ Èܾ*m|_<)ENdCD/12wbqJ&5~6 W3ld+reΥ.EoVU3"lss¾s"kj7\CX2Ƶ OggS@#I W#64HH3;/3!B99<;:EEDAC>IFO&i3޽>^Zqp1C NƗ@ܦ7Lp@0`Ԙ drPty`)EîwF)|[=.M>p9ɵ_mMFb &=7Toƚ#Bw2]]kW9@ UO(c!QVH_6{{q43hDABr9wg\%'p0>9[h0ԵsSD!"jU,<+ld86JEC}6!q=LJNÌΜ&Zû?/N]C,8gdxT 4c6rbs~C{SxOC1$4Xw}?&D {3f$SW|:++o2-H2/u;[fv*PЫɭTOS_Aes .ΙzٸȬEy]~ kCFNƆ%c(Xk7*9*Pާg]COٹ(o.<. Tpk4[ZHAytڽbY4 -l`dfwf(f|ބf T (kӲ!DQYct9 E5L_gIY{ ufs4;{SfԬU mko~{=`lѻfGeAH Y % }킁VNE7jFz/{p>.Gx/>]?a>}ftw ]oIq7-P؞w!?UYM#PEyJpAgm&. Pj rp<>'Kj zVZ˔"p;>t%=Q7Nw3 ܖ =MZǓ3@&Цnʃ>-}B l̮emroX$k`鍅ݻ^7ͥlFD"_ z 'Cb/uw8=KfԘY+d\z2ocs:}۸7ԛ=>OuvW:'\܃Cr@-~]8rC~?/1uXWn %EuKo7c/KzP(m0g.,h5 _@ MecAS2;6JK`ZؕA4nJk `B0`_`no`:v½Btj EؙߚcٹZ+ $3ƬFM`WXˈImO:kKd9,֊:r2 ˾f|G{aRnZv5ؼETeuwum&]m\Zt69 ulR)#aX?aל]H`K6>HߕV5o֫1\]3koD֘9BTEDh[Cx:KcOv,lDjuzö]\riwck.Yl^0GKŬj||TEJaS㔪YtBeAN家mU6+*vѶtrO< 6o#_/QTNw0Tm+iŻgg˶n5O{6 b09@`٣ ?@D#rZU.}ADS{KS&z2)2] k)wdWq]nʜ2a1a6X CTm>%\=4 g~k;AyԦfq%d'D2z4\g |AC@!Fì5t4-bwiߦ|Z(˧zEᦎTSizKvVRN]vҵ ̌LY({VueeB޴7؊uv<+qLOnyt]96b4W=mp6cb&]*Mts:sl=- U7Fۡ/:GDސQϞIHIBH8+@996A>DFI,la{lbKkֲ (Sj޽̽ޅ7\ޅ{Vf9XD+/ D "l`#IffjLE[uHJRywO6x$|fxRd꟟HR !T2xYk_cX^3<#Zzn#efaʱ{܉-(w@O6N_>wrrUפVoo׽-:6M߲&^~uPiN4x6au6νjL)z9p\zkAj1k]֬2Mn "`fkͼz0ohbLFWVLXY2@J=J̫Qf6+^$ݶ>xwuhoמ3;R滙1W<pU A=r w3$HRq(^{sdSRcɍm.y帉j@H0a\)UE(vyitU"30rNcyջش>MR f$,Qʞ^ȡ]-޴>^,6"8rR3 . s\ -[H;YtU osO_xoRL_wn.OgdTs_wזf;6tl^(NFpmW'RHk osmEf؋:#b*D\)k[]Q] DrN:E;M5ݴ;;`d{+LÖnNu9DJ4%G͊uamOŧ/=qf|brMu_7kzӰ- -ZЇz 9)~ׅpŨ=+mۦ7]{eoݵ7]'' |#),> 5?"\Zb *!֍PZib2s6fcv ۂqHy /ͻyD^iX9&5dLW[~g{V^]min[a{t2KH`2Ԟfdd.rcg-NT% ե{0wđQӶti~1y;Uf.^-SXbTD{/qI*.xf5cɿ̋㊽vqp=Vk<{n%n]w#3eNuwp6vs M.KE].ƴjG]')=oRRT.1eqjk( f`=㶺[Fy!4hwDZq̌.Vggx!C6=}6:Ŧ *t(νvz96rroG-3b4 ̆`5%%el(^#;?)U坼ެ7Z-}bҶq :k?ŰP ⧪JJEF}|n\KfFD"oR}6t7Y\#=8{k2tz}S?Xeϼ]18)+N7G+=*wʶ.띆j^!rgպB*5hʹkoT'Wcu9o¶f$6)^ ঔzʼ"m5)DΌlOD1aݬ|\Xt a\@,y anX>6ѿn1L* ̃!F`%XTw Q<[n]HJYV~{w8*noUF=noʹ{em-=䳇n|V^)ֶZ⍘hx͘RLe?.7U.H|CFQrEgFBNyu Q1ˆc՛K &mndd .0+t"EJZ'-PP}ʻP fo`療$zK7aYklLXmw9ovc"Qu.*5^M.l8(6$)W3}׺f6qiz Wg g^{ O黏۽N#W7ZDToF>ڸZn\hw㲚;}].=zxPmKൊc}Ĉ'44cSQPhc+w:_anYh`B-! NV"vkS!wdST/hژ\2y+]0"G(ڄe ׯX@RrSug k]HSP>2Ȧbs2șȊ}r}iKkᢞފVme  Pɖe'DHUzkkg65T/ԔpW\lXuGGw>7ջ-}wrvЯtr7k|+ ^Xldz;RRa52.ʑc^sȤK3Mō:#n6ХIhH#cJeVFQ\&>l(`ݤJVcNV\57̥F sdprEHlⰜS!cfɎ̥guY0#l\be[!_q\q IB\VK+ iNt5Y;^ff s%nۯRi{Ms{ o/$c,Q{F]Ed+ٓҕZ{/~az4y=]霳X)/(M}9>iQ=+4bZ\V U[\XT{'ϋc߾${TVRcB9rIu^qpDb%Vb@dtR.ndTrlɧLOggS@A#IN&G<8KA9'F=;;FD057==@=&(6A@DIDJtD5 6k/ UefL`hTnk%'2fj^07u:fԒ 5wAnx 3OBIn!O{a] A%=nyЙ&^^6t~̆wiaK EKQndJ԰![If _ eŽ`-oÆ=|78T˟ϖd{&ٽ{fmW.DKBZrܱW%T~s)x.']Kis/S[]\uV{ e<$(&[46\V?Ni%j^ v-E7^?uPQW+d# Dƨ̍ =Quqe!& Z8^BJd߶6`a5@#'rkő(d%@GGV"#T 4,6+8? 7 [LPɳ~4ig Vhfn [NsS4:?+0 ^졫U#܈P]VIq@Rdz *23M^2I)ʲ~B3CN.qk1zoWo7uz=:MBF#ْg~sþUQh!wxs\~. BTzVCYXU3.t fJ-^ +ӈ;l+JDτ fMD.2NB]$)pAq6+M)R$L+A,P`=^TMC뒰@8-嚆 vՎljay _!5EVkUr&'M"k<~'+ʂ%kcIX} s=o|{̵ȱwGvr|HĒ}uFeJ+ Q=J2<{ӺON~z#|7VLc9Q.OLܵ]g7J 'ECh>iLnod6;ΰ/IJ/@$Rŀe)3-B8§?u۝BD=e^lϘs 2MK$~w~l%ecZ%r9xxg~$EPfS:e:2o|_4t£3.#|4TUFU=PkۆS`FWg "@NfUxRS&oejgn0kIfڳM,Lyz:8)|S3J 'Jih[^i*|ܫpWw=vf//Ӂ(n `*`.i ܈UeyIP\nqe1pC8Q%g "!$B,+/aDq#*UPx%%Cj{ crpLahoa+!HDr.:S ^ΛHMSE@o(Bx7_E XI$&"oY6yi^pʪL߇yϷs)u7y8ro;k\}ihE1E ǎfv53[yՆ$<"~ep{,T空J_+Ms–.U+$LI]+ϑ)#eȮN Q2AO)epA()Q>X Q;j c:PvFg.Eq ƅe721B4r~;Mkƶ6ؑӀ^@lMP$&.@N1] ^/oQftHJM<ԺPY e UP֤qlv5a< \eeُhP1B F1d)W{'C!"*^{7>=nպo$IQf,Y l3OzO&SnOC{!|hf>/U3հ{XV[)Mkb QB}t=LZ&n, -kɟoJdԿʅgH7fmLin(CDBj=[dj܁p".˹E[r/`=8) ;`%yQB09ۼg@j 3 :M:8$*e{uRg}FnLU+5F٣HC\wn΋޲UӄO[HG.=czֿ,繂m~뛞 vF\^a.*USȼY} f!g}/g7'J! jiBӞ9메rW\ynJYIlZ Yb~ڴJn6VV/5ʥ1bΌ{b6fL.< Í逹+ 'fYXZa YVh 03*0dsE[,S)ER}\$5ER&ago;˦5;6Vnj콷.2 :PL) }m" /=&k*BVBuk[[~wuJm=I|ΦGT|:OEͤ5]Lʼjhj1^" q8rVzfJĺ=om u=px"L?tĪ IVtYo7M6{M.՘WoT ~ν^砅lo4==77'~_~mqJÃ􎙘&uOC%(V[[gsmu97'r1["nܶVSj!Ǵ#*C*S9KW>S̜w9۹>!ҙ؂̍HlR*\?D.2 Ļf%Q89AF ,,Ah|"?) zGgrT6T!iDTj@/xeb3Cw'cGVd!'{oThe/']O2m.q53n=ߛCG9{\6xz}}{f{*r(ݰEr](7~MWsҍ4OsMpPY"S 7r$4,>DDFIiIDT v;kƒ@+SO4xV#H$O0i NJE]\ hkOggS@r#I"O&*)*GBFG;==:9>>;CE<(B:BBd{DHvkNL]^0nf @>kB"`IzZT</(H^ʔ{Cqw||Sd]&$id$S#ɘ%ʎ6Ӣ"ص mήf/vH> ;~yJ}%cs`qҹSfz5PFj૕dz,d,*Y9Q%#гOxa A '$ ȀD,e(xV4\.7gZ i9H3 J` \޻ {`T F5*ix]8ץ^~`l qCݞ柟6ЩoՉ3L[  spQ-'uXLվUˊf5ת^:fP-2 kw#m߼Rp l1{-l"Qx>–Er]تa̓IuD֠:FAxY ۍO4 Uli4 5/)ުD@7 uqP?PTVdAvp26BLe H:ק zsJL%_nvgM׶_T빎At]ٽY:wVLlc濸Sߙ7ʴ1(!}%9}=[hVb;,JP{xo86TnNdة7"2F=bVmɬaް աe#KXT^'hgV1^~09F}+hFع0ͷ ;ǖ-5'GF8N421E#sɽCJ/kϹ|ӗ#_fwi{syOisZHq2bÙڵ'E˼vGKJO]Y[ݿNS?7ܲfk*f\#h+xN,$vcB #l'jl-h YL6w0G"]Qb ) ZHMWe9Gq@gɹLV5&x@d:ng.I۽ם[[ιK@EL+Xݥ\ P Nh ߢc9j%ϖOO,adZoNZ)t9!Kud B -/wr(apڏd,j1z5gyO7z{=+~}|"MMԒ J۴?$&a75Klo6)=uk7R[@;!]v-):+p@J;su[`^2cJ)eֿrp?xiOGOYr!+;?,ujI]e=_4RrZ+Ř~Lگj=[bMZf#KWGOS{:lÄx-ܸO!- \VPSɍLwД.e:er(KDSʻ j6EMd(|Tfnʂ4Pk׻ǭ767f0wcKl}=qr@o%fzSb-ȁ+Y=,x!ûOTW{rVնnb !\OR?:uG3ӌ/|ciu|qJ>tqA/'Pkbcrն*qߛHNnvڲe^{ʡpt  ?b!ywT'Xjӵ7Vyx4[Tmo]Y\rKJX^o!Hn]O'c &,ĻkZw2vD[z m nA<lZmH{ nE^j\!x(2 eV~s䣮u[=a?g#gɶ~;1_7tU͌i MxHԞ}QO=w D6hI8;rbE@,u䟌뺧/odaB$8ڠ--SL "N=YTګ!c7jE!vѮB:z)-i#" ]}鰷4(=qE+Xخ@jԞn[8o@t?wu3J][L9ErPE秈:u|W,x(3e~/6ӣqWSrЩI(FSR)}Ygشgqr3Ot\(ƵJ77gT>[^ m~wյjL@udDQBh*u[;)DN;UB9RZ'a![e+;CUJH:KIF4D8,OB~,#=B0drØ mbG$jNE^!4 5-yy7-*2b`^J@k t"IF*Lh {=ՙpE.xzoFɿ+VqNsKI4⼥MjN~niQcP[ucW'wpmJ=S.qMTKT&?z&j7tKatIRqRUuFNAedgP0܈S,wfdި~i]$fNe U%( =@d#(LV,] q{K Y IM.X{_77@Z*m MH(D6u*)tQVYEc|Pj1Sx}=u \M=X Zߎ3<8w#)b$'uFK=6.IueDn N=L\H#L(uJ)S0nv**zoa| nz<~cmvm< P@a4&nʲGMcdx~|.Ք \5f*yVEwO1-_.O|[3lܼ"ܸvei$ڍ̓WczU\~}kkMf鮾Ljz3F9Lr?M^Y7 &Vgg)U%D}YF笳g#3k 7i=#-5)6"G޻]cZUND:yM)J%Py,T PFnY7{.EkoVfd(2llSo 3y 7l{ٸXHd.}?ss+Lȡ5faiQ\L.~h6h+Hi3̝eكk753(OP᳧jv0=Kl5pmk*o^s+߈~Q_~u2Z[MSg9%w4<(uvwhU]of&:|o[N>!Wu3k[2Sa1٠ߍ=t2ĹܡUd>ϬmD/dҏ&JyJˣd{2"0 :mi2lXQTOggS#IW#@4@DBFE<+-==:=ACD?vɕן˟IdN?:?7WMeA<00l^?8`08 %=84..Rn BmE>|<`Xo.fP3JM}1Xk}1*i-1{499O` >w4MP#]ihmyG;3*_D0#nY*mՙ ȉWe/NZpFGk8TS:OD[J;{ zǀ=]U1b-(.jO™qnk}oJhY~`Y]z@}-wf -KsXca@6bJޢEEȏ's~b oe:R7jX "v~":VB+oymBV쭩NiHCi-tU,KJGgs݈kg)IC[ze|=]]M5V^~Gzn`Ƨ\Up]gтKksn^9ݾL}o *ޥt6}{w 3 ^`Z+ޙx$2r h1z V-؈ RS++ȎqLI AvJ~V o`ތ25I˔rp|f^["{!Jq{LKaGNrLD=]w^W77uh;tZ~^lˣ9o^'^hvvO=WhoC7kD._3cmB…2wRc#"Bg^l\L|%/\R>Uy07`?i/}4#KczĦ\Xm(92qK)+( Btt GOgluCrV%o(ۅzхo8CךmKYڰ]R4X@ b @ŸrZR+CYSSus7r?흗ڻ:]5{7UbS0Bei"زNWB~/ě3+eo@1\Z5dK%%!qm:RN䖩Hjb1gA?-_rBzKzsW-+W% Ę~ʻ0Q]J;ps&tHYq7[{8]Rg*{=b/µHŻi=uѕO|HMk;U*|H_tNBFEh̵G i|eV?NܙilV٠]1 ~#Y[_X{ZhLVx`[~[= 7?H{F%b mdLšN6!җvL/u^ـ 33oTZFs}v)}\O 1:>!K!#OSJ)cw]" ϖf喻>S^z'dU=qdU%*Ra}nBwTY`׀|`ԙ[?˳ Mq`$̆.-uw@M oXj=pE#E O@:I91ozR2d9H'qoIٽq+ zCΒo|]wz8/w'X&w]j|וfӬ9mk˽9M^m,C Jb3oRyDkAuхz5Qrk?wE6J'ftԦր-h\JPwQsP;z >OԹmaHuL.@ EV*_HWbi:ZH_.")kL_pɕ$FUMU^+P_:*Ϯ to-__3Hys~tqbp\>/:Nؼ SeTΠ$'c'oT5 M&b8E} 4|1=ueELfb;S:bڭʪ.y仫!{KZc~uZ"n3NoF=dpJ<;6-fL4tNv- Oq]NƿWP}| le!&t@8f @465557@T @b&?Kϭ42T\i\moi{j3v]&ct'ӥ.E)H:wr:_՝ξTtk49+ r 1T YMݢ 7e{jkeQͪu͖?O|RųԬ2a@\WgnIUF̅yוOZܛwnSSu~hv+ެAN @ʬ`ț!Pv('?> ݜáfL͵^Uon./2VIR^ҮK)G|K]\]MM:Vl=L&b:2g')`0S 59Yb"\ܨw6ZgUܫjʡ63 Ъ:DS9\Z[ DFT;4ۮe+ny;% ^^ DU.XݖY:5@>?=R\ 6Wa{ږ{E"l.Hʋh@hP,Ł۬hsi]۶lzm6rs7v^ԩB `ӬmSQriYBFG[Me^V{LCzjeSP:@O<A&t(p<{yMU ffJffe"2DKwwފ97XdWza{7޴oл;nPt]rO ةgG]|v"[ھ6D7(ZYDUeOٜ@RLMS}".(aL0MCDVLDq:K[DGҊ &U=6/$#Ⱦ6glXe3[AD苢")ih3de ,G*[P(L uE^k3ƽ9C*pl`  !"_]hf"5o8L͡&$}A$S{X1uo%z5(uc ^Q@1v;9va|WՑyX =[ӥ'3߽s꧙)?"+3u#KJo.zB˾jdJ5r2d##SL)0>Y !S\ -]@pjff咋MA!`ʤ8OggSӴ#I30A;9<=8@B+B86;:;>7><@><=@<:;BBC?4B=<<5A@IE3d$Dy7ҭD.]c*f%\,Ya;b_jR%ߺ];YG7m46©m\"@R7a؂IJ>2Rt,|jRG lM{fFnDbudRRk>} _RF .!?PQ>=9W[LBXF֤FzUvt>'Ҧ}3tkn%sK7MlisҪ{I)̻'Co"$e1`j~fߌY)[Vn鵖eѻeo\f kiՉـG~BriPmWOQʟW9l֓mնU[+z{3y@@ZAE(B @Wig>:' -@)ޓ3 wTnoŸ=[z:NhUd^ΫzrڥOH|ԛrf&p DTFf9'`L(AN-|NvE5y.5qc3luyM~qpzJ7#'2;jZZA(fGTgKM0*.cp',,*,b1U2t 2GvM7-6P\v?L.zkfH45 ?'aw}T*}P}O\_~hl0TJfN%υ$gԎ^|t=u94{?1:^̞d>g`q- qN GRR>S{g?^[4͒ <:]Ϻؚbo]$W1N*%Z4~]M|϶ng:3{$BY缵:X$MLhp"RrߋOzP ӪT;c1m\NVC.^NG8QYS Q^蕩sߪ6m6ll\G(:Z_@[!%G ŜE|n|Aj.c%1SF ;2Xu[mOKS.W̞߬zްԪey5>R;mi^A$@P7 fq8Dm3IjT)S&o>^mUKI]W{=Rf}t-Vwfnڗ3o~YhFw*VW=%#duYOl5r,rAd$ӝKd\!Ui˅֒J:p5B,}cjݭEF?uiQ\/iELl0Sb'ҭxt F&FRJJi2l Rݸӓm,\בiY&.F`fgR [,7uf6iYmtnQ2=:q" IpfKrMV?);S,FFs˫ ` o$@Psh%u=]O5izRͽ lZT p()*pz'p(K֕^BsӕynE*uz屣 T&%Egϡ2.]Xղ_m̦_d߰6komRΘCNPhPhhK%i3^Չ4T{coh{ MP8D썿'diZs4,VshnoHm ib[Z^WAAg/{}'|_K|~]Bi6:ث˶-K1Y UɅF $nϟ/{w;<=ѕ1([/[[5cZhn5l0GЂLfV@MB9٤"En ym+kc|6kg;Shzz3WpHA'* 0@n/ZɈuWֱ勍c9{}*Oo"kUUW篢}zx{qwKgNŬȜuDRC YApz̊_ 莹pqPgҋ㾃utmU])7N4UC¢, sihs3Ϥgy0ڤ~Z4]$ܒMց}ha+@Ss~wwa;Y|*z`&$OU*~$v6g/ ul5M3;ΝԸ 37iPEKF59f'.c3}'7H L=ފ. ~ ϒ>]ܻsHyͽq)$.^M5 if@%8ǽ5~wGj>T"r%;w-8\e By 익s{B V9BzƠGY͑/)ïl}^kqT.|Nz˻nb*bkalN1%"C+A{I6/k|6 J1w㶵 7g|z㪔^I DEzұiNWf\#$35efZq/m}}9}dYO;4XNONNx T~ L7q/C{0мI8s21V?ٵ:D{͍(8^>OLT'Xcݲv.bŅm3OIލIBXDv*ʍΨ9 HzXXMdH]X(A QG,inbAFOggS#ICI&?<8==CBE00ELE9B<>DC%(8@@>>F Q pw5Qf<Xml609FRaɰf˺1ka;V,`P:E xY KoMV6rcz{2Z#(riL9 M8]G:@`lwxK فucʓފ4y5c۞KGoM^c6S"ذ(l},Pn 4Ocohu=Rs̺K /:9EbYZϺ~X](ܻ\ᦺ./7FL0'8u uIMwJNxWU~DQJXMrms Wh P=Q}.-Œ2RF/(d)Wń.ܶ½ʕD &n3# Eg6, wKa4M{ƒ^֎v3$[Onp @N @p~PjjF}ҬOLLz'.7F`巑L>۸:FO$kOU}a_'PR;27u4ѧX)ojT M}K^д9mD]Ռ:rMokZU!.l D:V }R0b6P*_0 KjqmdK "$DbҖ۶x,DhC{sO i(iӞ3bklNI%VIzZસ }-lqKᚗ$STYv#Yͼ^Ӯq_owc$[83_o6Sw,5qC/WA5뉾˩0{;t9/t5fy](Gx \|ێ;f=J+fQe״Y7&s>tfgQҬN7cӆ4r- H8 ̾B$dij": b8p\FT"Mjڱ1FtiܰlZ>?6cLMtfd8c9p\?| R:!f Y&e@P֯xImW<$2L1#xp#߯Vπ+<:=on{]Yv*ЌSxʇ| irrIuF7rOM~6o-[̖7h M_^G+;]}t#$ѣb7 HϿ+9SȨ̞0(9b ]۪|_Sޛ^m&26z-b%ڥɬq񀶵$|޻Ȳcގc*\3D@235Jbڼj`ܶo[jnn9:2 籬\' 3i!7<ӗDFhɻNgtL8廉ҥt=T'\ڔWn.OLF_۫YBUE앇HZXk͉8!EBT*5N`]GgJ`E$Yn^t%)w08FYe.[hmx48 QU~nn͍v-V{SE*L]#C5zko{gśw;V76܇y3VeJ˲W8|Wc\Öuxo;XYj{1h1}xDtOW&WvsWSRqJ}cE-./Z6F[j\}7KgNs:x"+\/dሗHveprUZy+܀G`UJ dqRڐdK(.rbHqaKYr~w5zTk%mv.AƁqEDj#$5råOЅi,C& iw6F3^v#wja>t:Jµ0s! PfRUz^ rhh3oiAWhoUԬK&8_Vqm ?oS>SBw޵^6g~;LjiNu%!vH/G(pO;Tkz4-ʪzc}6`ϤX "hW䘤TvlWNi'JoWÚynޝߔVIˌ vW<PYAt$v8@/R՝vM `vBqɏ;Pܽ{TbMk7IiHUOQB{?/]+}r7MAIR}(&̾f &](Jz'v,\%&衤No9<xA) O339gޭksy!ͷ~vTc ԩ駭'ǁu҅FxSB$@23cef:3܇ݺlY>s3KsD]'R*بƆ ͘SvxJ;y)WTI>{ FʭSw*uu}w|wN|vve1arhwnJɸrA_љѷD0.sZջVF2Ka& jW bLbj'sh.* zQ`+Yp)80p7CktϩxٝTgbl;6Y7z$'"H,!>Hp=\प4P0ٔ23e@p/GP-7/7^~wwzڞY:ӑMHJw'](Յ$+qIShZ^q5]f6,͍8R=¸I蒳ye&n&PڋrU\ #tڥetx[. gi" Fg5ɤ0}?|cHOggS5#I%%E2.%/CGA?7;9><<DH7"!#RBM)|a(*3^ؕrM ͵Ii5 ?4xPKu7F^ЮZ'dbokeb:{/w̔ل߿u?ole?֡qe(דS9=\2pu K j+4}HDfkL%.É]]iEJ:D9RD>晃\vI; L& $,{vAɌh%<0LcL^ MuXFG/u.mTW% }/D7 9{O;F{m,\ %(LeZ >j=cT_ vrSZ;cyۓGCEje۠8] e tћ)Ii:Rҕ;phzCן8VJz-_1YJeQPU޿ "+9Qk`UT Y\G!ZdtX4@ddE' +noT.d93q$)|N^Gf>Ϟz ﷛n"Aj**oT_]W?cf%;IFǛuhhxJt|r{)pWaq!DhvܬI>$=k[H _4zX99oD~ ȝ@ڂ.<@4MኄFT~O99 yss3q1*shxwu &/`[lV%T:5vEkQa&d쮅.ZLkZIޛL̷_+ܸ|Z}8yɥ|Թ/?OnH-8W]?.=6[v9|ˑFe'kC!78b萾O̮Ugzc{]ʼnn8kyov!FS]PU#%˚LA$J%(wS!!TfY46T/(RH}d<*id"0@ܮsƞM޹cxbmCψ5󄂻Ó., ] *D f.GQL%Ɍ,jսer4 K 2heKۘqSG[%3sef`ceB1h3ݎQ7\v)W%qhevݪ$G_v˘S3(ɑ n{Spޔٵ#|"#*ȧTV U0kVS@ni\Kcu2i5Vq\5D¬C> [ ^|W4aI6*;\y\^gr=xlN[Ƅ n }Zbœ^G-6͆ҩNdT7CO5qoڲEcC6@ꔎ֔N6Be3U `FP9ZKqߞ(R.z>Aٶ6N E5ȟ2."a< Tԣ+ LfX\ lj~lLt XԫVZ(}C2 57}潩Rf,/kEo>cUøyI:o= nOd=zЋ =.MqV{.AoN򋣻@T+D5F}tܿs\O֫*eT3_xJ>}tN&YȂ@ДD_lj8Ugj켄/GuXtH 0ڈ9!:tm 4 h`n%bw h# 6VÏwK`,cMA< 6Y7V@? }Y~k+>{üM̘)%_X6.5Ns*Lҷ{lZ![>23w22. ;w[R$gWA;OܩdL qAVM@\ :Bqʺ3ETEN7\ = J8B+LD|"&@FH R#x."` v决$c@-l d3L116XțB6zӐ-/`?}?c2Me0ʬY[ f ~ SZb?]WM>aaꆚ$bI & 4)@._hlE~,빍qp-b'ǥ, Z hJ_?ww$,9уtr8ڶGuwW\tZO ?"lxtNȅ' ~ՄzM>fF){kꦙ[Y;ol]JYVEV"Z[r鄪}+Wbnr|p؛ǶzڶkB%UΖmk,Zh:i 𝤧ק`(x󔕚ZQ-^> \|j-CZ_R'zJlWK7?ݬam}S٘rYQֿl^箨+br|(ݔMhE, 1DEfU: oܼ*Y{R &jXs3#lmL?g#z>3{bUR_rw2鮎K/LN)R/bm舮^ՙ'+cʩqOggSg#I8#J9KQ=<657)9:9:>{et"4@ X^k엺)IfJZ.v~~oy2.~=blAud>B7c+U%˽먖]mw-LT+{^VnsuHidgVșf!y,JY9K5U-t8``T"d~6'.ƚ \K7Puݢ)%ъ%D&u:)ȨskSLz-{s.KmL jS+.`,2k]X6SY+9>[(d”5 Bι~X~&qϋCazML2yyt~-ɟy]}'/&Yuyş.'.V!̅Gҭ ̔gL^pk^Mxwc?6y9-䱷9>S6,j{LX} SlodϻǑ񡎖cDK,t=JEtF8 { zB].@4BoT*Zg@HrЈE޽|wb@;s\{xS&zLqkBLR`$ovsD9yOyIL޿_!G6ROgHX]GhW*+[:D/8Χ_¥fשjk"-ԻU(%(ERY'f*XL4Kr;2`m+#?tNOq *,> )z G徨}h$_*jp=eY "q2@4RgNrlu鳬$ͅ{1.Ϭ0`[y7v1A[HLao;,d>wh=*CB̘@KPcWE`^Ք)5{@ӵ%t>ߖ?eourԕ-R>ス"^]{8\6Rތ25ei8%r8nC6+#qns;_7ڃGʫA{O;8R:JEm8K Y E#kehf+t)ʳ{S2%3ȋT =>-.g5Ei&Rz7rg wٓ`.-Qn{dur>B6skVe(UO$G0ɸgn|ٍ%SwF3 8si`6& aM42 50ʹ91 #PP~dS&;B/ }ia^Jv3~w, 0UfUf{YO?,1Ȯm`m̏H$hwvHKzb rwOGR\$3Ct9J~zygwˋj's"^S}mj"];o%";y TaE^ОSe>RljcآhQMhn-*sxf^7y:۰:;+ܚlDj>jڭ]B*7z7榎-;06o eZj]Z41_\1g hY۔)UqF[0 M$iÞYw,0ӌJR}ng}9˽{_=εy}zS?nfjet=.t%Sgf~ODf"z)ĆU\\)펌ˀxn!?vl힅[A8ۺLhMN5GJ4؅}zt l@O½7zFk7t]=2KQTkfv @XXk;ƻ5˝x1\Wg,y 8t>A!(K]MZ1gU{o}z}ea&Ӡrn2R=RΓ{w:LK$OM>isxD]s{yfGVB2}< k M~}^۶6A%Wdiy s(OB⢑gʀ& $:X g!jlH^2SJYœa]gNtDZ,OX%Sʻ .yOv5'HxފR &e07>naa<;ItPfn]z@K=>T#.`Y {w=,4M^J{7e;̭h[̾cH`nmV|@uP"傱 2! 5FY٨ z׵fȶ[S풢W KʦQi UQ#4l蟗_?]7d*3iyGGn6j+!*s'j}KQm4܌"jvuM6jsſ|+L}24qo߅)cXcf6ny`QQߌ('3{bjd:UZ1ʯ~G=+spl;KI,Ἳ66`$98 d@An27Bew71N "*Nb KxU]TdQrg\3gfm]w,֕4V 69_wH#J$ gdfVЖI[e436$J5cS6)uQn=#tM-rxnonY;nd[74B#BflĖ<,X4[ Qq{}>j]7+]=n&v&(9H$EyIrq^U%cS䢞o>>j7;VN>I 3ᶤ!›yDc8*z֐d}5EdvֺjYGovtw :uϳ8 /띣H&WzN;`lzޯkה]fۼgC,K < hxEKw)&@q~.-z6v.0j)Sm;hr9W ~TE_J(lSԲ_0rxh{{۶k]e뽹iוJda>k)cUBxaQKƁJ&7n[wzk<2k.}fU81Jg c@r:r$~Q-OVV9i{^X6'0i%SE}NwG4k'_Bv,f$ߞjkϬWeۺ?d~BjVGo'K XDDFy" |ckj=)[{{of6J}+/ڪşV| kH] y?ݷ#;ݐWp̨*~_ɵ#r雽663s[}sy?dM"1j-d%i*b &+#XFn&OggS#Iaj*N:'?99858;EBL4>;::<>HDGM&>>8DBABBX14Q"I$!5РmMC4.n5ş6lVr"ucm V[FWϜ57ޫ+^ U?jk)2I .f=Iuل!F:>u54yZ[=o\2W-܇kEP@hTOB]К=5'+])wKm٠o>9JK7ʼnkA^M9tX4}Aˉcq26T-? >@V2KhwQB/ ޳;}9؏a0wnx ƭAjrQ,p'9po V-|tNű*/yV έ~3xl<5LƯ΀tUirs{Ii[7j9X?a(g{`WNGneST-/.#וwT+;̖k2v4xTe%jyYmm]ggtl|neLiFW}կy]+twϽ ;EinJ9U#q3x(EQ@I>^z\W>LMR|n6TտY{s6Vgzs;ojo'Vy@<6 tu nL$Ĉ Nx_tJfvח%^ tJu;NgM5 -՚I\-FDfG >,ums=7M b9]*lb nn.8P*Ӹ6l!dtQ,x1S5g_zX$BZ] @1 *AȫH-K 1ΛzyLߞq bu`{YX208$TLǰ'_]K_[l&b73v)+tt9sxf*pʇɘ鲏zI6εlssfY]kmt+uq2d%ɭ)rF$LҙSPȞ=JXGV RB(CTK* &2V \D , Y>asmmn,qUT,t7]E<.X S"(Z6,־~ t4Wv=w\j5 Qb%Q%Ɵ}` I?BQY_USִ$ͺmv4 ޘ@L-d?yVoO1yj[̫oU+xy3۶m"df8+2?0a(wX|^*Ud\IGB;:9[FS7mnik=zZqRdC1Т4T^Uemc{:מmHn}5jꬮTbܳ4(Ue@ʢ {0rǛP ̌df$IV$:ȬYy߾`L4j< 79 w;3Qhl&٨gc3A+1by})ig/m_)"ڼtbCuf@69OkP' +@.܋ sخOph*ag- `e0jn 8s T(lld<,!.U8 Y%`;5jfLY] nĈz{;n_ H4M@{[s: o QT TSgٔJeږͩ:?u!g3Te'sirڈztQ[7(Im3[t9-nJWn mkSe#lP Rs2r^&=aM6 ;+6b]At.fY}a @7u{DLk֚^eDe9/-p?54*>tXcu$Y:cveɇu@R33cVJU ]ssޙr8[_/WLy:z=UZJ?)qrUC꽽mWmmZeڦَu)lw?J_RaJT8h8vFU8RRxlL[Yin4w5t]*R LJ=Z ϭGy?v\ݦg5+OggSȵ#I[$&C47*5<9888=>C@:39@D=<""E@A:KAW:/ >ԎRA j^p4)5&WNꡧw.RP'#oK3G 黟4}fy7Wc{E>Ô\轸'<@}xUlB+2<u]c+7=*#z͞%mt.^]]܌]5w{oȠAFq,e܌jP7a=#n3(u E)C\\ց%7kR픙êRwVfZff,jYB4Gm͕>-KIsݸ k 7qz(90W~mġbg#${l]X$QIFTh=-2gb>%ev_?/|y}_/:Bg'Ds-u}\$Chqyo{< F%!} )NA"E"V 2͉DnY ntV"e9rйqISP@7Cs$,`9@ Be;@ Xdz˰oDLMy88M ]Fd`oh IUTDC4Sx=7/2Nn<$t_Vz_]DrJzdKuIBz\V% r  .ۮ$+>K"MRHlHZeqaU"wYQrM XH{ #(`EzcCnʛ:izjM-{mrϑm~  ^Lz C"H,7WHt~Q1 *nzM@/LI&׉lۗ{im-#]~TޙȮTKC!rt3ö~w g™z> o *i؎tos5-'|t52aGC ;ؔ.D֯G6W8\92c U]` ᥞ$/$@"8(hQ.:ꤔ2"nBD,-4ibk\gfLGc׵hvN2?0%d8P*56ci,$ePx32T*3["^t6޺0fuOYKBv\ݦ>MW1<9;}&7շ Z}:#阪{ݮvVT=+e紑G\FL5\asn }7[T-·h$rJ|8갅jr#B}'tugו1vJpLGHO4x  Oy*0 z?dfgh` fv /#]eUBC Tt  n9kQFw'QW̭w]3` .l$v SP% e=Yfh 2s͉8=Rv˭5EJ.w"Ag2܏Wf7"tskv/LvÍm|f<-UЁz)K(nŝxwͧ8[ at=OYߖ&(r&9P `>AjGJy] UP⊝af:}KOXдހiE^ 2r '@wޑTQW()_,n;km܋ƨ ."% ]I7%a2E]L՞+O^N̐1ޙ< |\A'RԙQ< ywGag5aO=\z,?r9[o2sEѶm-ot6]%`IլAn7?S+}JhO{wu1}eZulC % ,GL cqS&W>`LIL(gfn/זlrse_m%N[;0%c~ҲSj{FC>Js u:CCDvH*y»_@:kK\"\lXzn1m4ӽ{h"m$qrG%2N0Yi1{n&! )BYI[["M"NJxwM7cH!+r}$|Ӄ<Mwu7rxLl[m*oN+Xabs 0uo7vʒu)8 EQ`{cJȿW#>zqIW~\ַMƔT%O $}|ŨW(O:VIlUνշ݅3puWȰbYɦ8*qde̤L9/I>U.p1tJWG9:P~͜ajZ1)I(+Q͵!-,  u"6y.j9Ƅ"%ܔis;x_5޷Fkm˻w{`ޑ ՆNKD@|t+u ; A:qj.sVfp#|4"X URqHVUtba>3)FS|ίR5kw[nBgLv̈́7맽zd:54,CDEbx6u;~j, e41I{J]Uʿoo 1 ݻvdDl5t^:vKLX'x'6mJg H%Z ]=ڞmͬ*RoSidASz"\.jIK_" ;56^-"rI<(U)6@RIU/"yZB0ݓlć(a2J/p64Ǘo?]:S71?f>j7q]]%P#Jx0'NM7&^47Uz< u[ʥkQrLsEU:vT/Z)`ew~m纓{B6N3YVm;BFuhk5ꏠ(`s2Uѷpu] Sme`Ժ*=Cq D\iFbhuxXWSeVHZދOS%){Vs(9Yր Ѕ%y}ۧ.6o\)$FC;Q+=Q+@]T_iskowYzR~;^[t=2,L)`;Kpw`h*[$UPpX/}o/5р:pR$nt!Ʈc!= E '*u; u~B7HP"+xu=jLƵWSi ͛o*e|ueu3 Δ|0ȥަ6d{x-jMY-Zʥ:"R6o#Q;pEœM՘ l}" qտWrukwn:ftɠ?ywes6n>2{g3it9]TAե*}nbtG=MG)2ިLB(nxީ.|oYId*QI!cwrWJw#ܴ!S䶞!<д 좀W&yWjEOggS#IfG'J330/8<:DG;7>9==>DAE>$<;=Le8_b+ݬ¤N91e77wXلVrt~մV0Y<+3\5i_⍛Y.}:͓eu% :>o/׫2՝:7*=wSK=֢Jxgyz̞M"{^ە;ѥ䁒zEoQH`7QkԞIyhaTWl41ܰCӑ.6KC«$pۅj 5S,b `гE=e?νni&s$@%ݩ}>jD| 3"=:[QOL~'ٰ4 M]o1R%ۗWLwǫe׋ĝ4 ~f+AWkpܷxAhť|n*ޖ7\q.3׾q>k6|{h-qt(>{C2w\Um^Li.mK"+騆mHxɾՊKUkSGUQ%u Iѧ>qlƄvò]AE phu luѼY30O T|@0ăbNAve}1)a=ux~%bx׻$5J)yy Ŧ&~dk~yc]}Lۅ8Np@1yjf?F`T X$:|xhիnzX rJ[A.I&K3Z' Aj/nE+=U̮7aέ+hVzh 4=*"#f7 }{lZ@l5\9 SPj)بPyL16j|&p0T)~_QCl(x8}Ӹ~~Y7Uͳ'ЂmŗnԢh q94|"e5\sXz\EapHy~K5OIvZ}  kX zBsv/$,.B`); CJzT5 [o' /(6J2~Ss֝*iD؇F4c蚳քO4*<;xqæmoϑqIK?yW?'sVBx}#d>#*6vʦ1k vHVh~Ƌh¡ږf%*6 vGQP/>s0Qk6h3GgN(*ˌEs4 f%Y2S b ؛{7}@H6T l V E4EʤÙ.=/7u:iwgљ~ZP@8@ l@.c?23%٩ނ3?͘F햮kyV&s0lc8 \ B( nIœ#;߈zMo-> mW=H# \.'4'L9 0Y-@?,@JIqTҧ!'sK_.umu6l*#ǔ\f]VmZdɦQ(#x 22j%tM6oޚU9;5-д9iaЮ"H8Efrs%cSL:P[yC6YJ=y߱Vfj\}2LjsZa&Wӕ㮞,o%:7E j޹KwmEdd.rqt wneVY[!!ܲs>xTIdeʅ %:CFy^M.}".O &5e/5 j]e((z04.CعD|6eT645wi 3r4v^F׍u*t3z )#SYJ:ORS@|EUzoq[V ]"rA`07sTң,͵MY "%Qn)wooh5.5 Ld~yr@9 ӒW.  VHUI{A2x ؍+ OӮ{: 5d{FIJg',$KG\u`64W8$mxbؓ(PRC<{.e&3J׻_Շrasu!oG tWҌ 5jcd0bM>ԣδ:-ԠRXU'[] e8Kk8l?OH:k^w=ej^rK{ֆ12l.\gC ɥ$r7k5B5#gyg9jud8D.$%XN@Bd?o޲d3:6ΟU:*'3ʥZY*^bz4Up;T1f*9!r"@ka w1:QjL2e+{_(6r/nAݫX7]+gLc:ɱ+dIumu6x<=MOL:T_=MLe{u=JB("JOiIPf)U:-ʑ8$teNoB @V(MvD`dp 'ͨDuoh 'p715̔o$~ Z~'̙~1 fO9yTYNhEjl X{{Rp(`<5L)Zq߲mu'麫e>rհG em8k]u \3" {7-~{\k!Ihb4<3TOZ]tuܹ*)D&J26d(l(C9EB {ѮX'C C:*k7, a.!5HϱZ 1l a.pHpdc ^yM`w̬mmAcʚ&fXl:7X f74,mQܜ(F] %#Fel&½+C!1*:vLV~~lźtU[ m;Y2f#^Tղ{Mہt,R9{zJ77-[qǘɳwCv2y` +U=+7m~843è,cqI{aM2Is7|R-hɼ5c%v*&RoZ6s]F6m[c Ikվ=ڗg:.uū )״͠y9]>wi}Ԝej ove7i_OHkP8UӰ̂q' ;fF1rq[_YcQ".Go5a$JRq 56= y"Y!EfZ Z†S[޽TS[/8Jm8z15 K#u}H$9YH$ L"wd͆ӛ<&͔R3ɼL{+X2|Lן.{(<] ϐ[uխ{TT_Ro ).^j~Lν`ޝe҉!rFH[r[Ґ ,I/S)v` 0zMkv^Fڴ.^.o̚Fyﲲ=_*H{z"(흑{1SI}ZF#Zd+RK-Hja`~cپfږm1pSS9N[ڡIw9Le[Y}lKmE3+I/mTNzqDzYSM-4mFm[klFu9ř#zJPdnb p`܃ P=pR5B8Z>oҬ'>xL̼ejqz=ps#I6֏M?t+&iVIr}0{jOFu2~9VO~~]LcbZ@ވ^]N䨚+ŹrӧZf7͕}UϘ܃Фcln͞ZW9  Nߢx3ϽYɹgimGץfݖ;U>J<{2Ӓw1ea\8Fk<{:ԑu:lzCY>>4ж,WFT–*'J*^dO޻^Q&ȸkn;rW>~O:=1K>6?17gsL7K$mn%+KD5xMFt%+%c:Vu礯#syˌf^C"KUn꾻ݔyd\!Hqs}wd%&;c]g;n~~S>>hW2H3Gczɢ) jUl&1{";HQQnfkpKɐkki̍cR`i@DZCjҗ41Z }FyJRq4w:'ɻ{mӋB;d1}o*zI R6 zX8naKKhc`9{s˻Ϧ.^{ $/z'΂ADI^p8 .{F//@q/{~vYfĴ;|cӴL!k +9HGIzOqq;T"e6P6ϐˋdY.lh ," 2.4fo#6p[;7[=4.Gm ]zmȀ>{Ռ9M(NW-u0nO 8.b1iQvqWn~s_.Fd Kc A>J{je=}7Im>canϦXo),+77bi2_/nj ?VRb(S>_G ZteU~V6maHo!`\וүD']}fDN=wuʮYɶdt3{Zzo$ԓ#UhQ*N`p5N+hճ:\*l7F#(Uҝyi/nvknz`Y8a`017>F2c*jW-.g=ǫ썓^f|"INzײec98u}lzߥ c{mV"ji%zv<\|#?QQ6RΦx㣭Sizx۸-ڼ7d̵6A%=uP:E؟3h_qUW07Fm޶m۶mmlp  o7*v#R-ү.k^Ŏ(7L[~X{Px(5@\ p)]IA[,W]bJ*ipRme^g%!J=៣s%Za (Y^ۺm/ݫ١mkdb% v[2~Qٮ~]rjZ]d񕓹S&+Q]J뭵ݢl%Zc Ukȍ=@\tƬS91731G%.;HrʅLݺy6v-ֶZontJWhSmѨJ;l a]m#eWO^>"|˯]MUm5gZUU|욽|(@\q\;N*C Lh28GrbW.v{Ķߗz_O̴ eP^ }(V )"@}nl+/QYh_f¡9zDM9\fonFUUIOOoVn.y"ɸ۾{彉ا>1<#:u%Nz7nrl76Us0sYLiդѢ3ٌJe3/JDd%7r/+6$9Q!pYýgM` Wzv=!SnjJq fOggS]#IY*E4-/>9:<<>;@BHPA<9=<:AH:/A?=<<:CFF"abNMKBk{!q%lVY(U{W-@.!϶R 6EX}lfkc2Y0" 3<@\ts}CBkX =쭄n7Qxxfw*Ĭh$5eWL 98̓MYo.t3΀ 1*eSB?6F}̹>YYb8xt\U>(Q,"Uƌ(R샪GD9帹EY|r/N9:4}em_豝%7&55셕.n52>!z4[T7M\TQ[Q6*uزFEυ,$ `^Z5M k3UZXh5xKDQpOz?N8 $&;ZX`飠kZi'W"<a,y-x]\3VScV*mNGc)n^0˔_vC h\.c쮑H>}HZЭʟJ՛tӛ}:Cm.&JTK(kپ6/CIr۳1O\yĉ>g$M?#:r:|/j۷%e,e|9l_s۝Np\%ư;D77eK/yawn: #v#xnldïnٗ13}bp *9,#g.cdgnu ;Z5[$> 0ϤN:8Ȣ7c#wD5^ޞL:pc6gչ&ölBk_tF`f jɘ Mx҅LA9ӻwtk&3SJ~^fruw|VE&|>\Tf1{Fg}Y%Ԙ$?M#vW.IVYV(nue7YQmi-<ɀ>cX!rX OVTn.'t<8͆mٴ\ie7r]68NenŌU1G|Kzd,lwNvv鞕Vmzj6IɱLJJUV j [6}Xa'1mW+ yQRUUޛF?dަkгt5? (Ȥ&5$dDQ)vf;mbk۶mZS|nLB#u (s+*X^U%j77ګ~k;vmҾ^ݤMZK=#h{z {Vޛ.\lP䭵}w%+1|Tj;xs\vzz7>Mo2Wcp=xVbqe}J>Q ;dJUqv2ʱY\'#c2\+Yr0ɒ.eJSd); mDS(E^dv$֠1hX)M\vܬțlhݯy Ye/6GGYE%z*mV!E?SR^뗦UFb4Q}6j~N3,7wS ? 5TN}.]>K|[򨯲n2:u54j\< hmkeR&QVmbjw{wkl߾Y? VA]{@'yKyQ}in Wvo6bnk˝q EV&lL,ߦQ)u!byawF]^lyĦ%{I0yT$ ;b=V:)ƖkjO9~}"S{*]sY[8A}rʐt`ٮ1DNIp-)y޻0Lz1\s'̊*CnJ lw?k}ĎuyZw mjGJթ= ・lNqw.lb')dPwxn7hTƣ5W3./M6C~mY,'X[-0_y XHk~@d\8z*䭕D]N]JŌnM8w }!#C5iuf'ݓNξ$W?gLEw^],OMC}?3}_s@g*U4n.xO)1jt7aHRI=R]`hf3Vn(blno5`KE,~zfqR%cBʢE`z֊ `8ͦ0  zyVW` T9 -$&1~ךVƸrϻ <̽f\Ak\\|ʯmb~tglN]5]3"tbL:r!Ed)g ſwhZ~w?wW(oVTh:;D1/!ԥfVV_&nEmz#l*8"gokR =Ɠ:M({) ̊]q3&:KPD;âJ5|=.5ԼZ< y׉$mf tIt7UP u.K=t,zpQ5*w][}ד5A?JsOz҈uc Rf4&,l /Gx8ڻvI{|;W^g/S[qYnրkUPL.KS\1~ȳ!.g6p;BJ&[;6WTI t"JN3 ͤ@o&&K _blr;MJ7o}fS)?QǶWkbdJ.`$s|;,aޫެ]_fzLO I0@3o|hHt}ѷRRDmLiWW\躺V5ʶmlmDUKHWtxu7(N5K0en vziiQ| EA;Q:.?̌JUI :=+1OiO Ee{:9E״OggS#I&:928;;9;:>;ugn ܇ +~OPZ*^@TI)do{y7OJMz_G:nu=Yx6~p!4WyeΕN`WWEu4וRqV)O?u*R骑jДi3Gh.:@ƫhTg9&t/nPJe0*Ӹ4|ClV:㕄$ ʕ0ѷ =l*2 nk*3wj+یnu̞X ŋuo.I.~-UH7l0Yr%o!F"QV,k{^i^sӆ]&ZH?!YCh0w۝ x]Dor8vYD}vWQXμʥq߼|vTvSѶymD]Uj˜]RZ5A~"!JZ)+kыD+dDh, -! #spYK-L d6]TGdG7 VtvQPm =_:T/uqK8[w~ 8Ɇ=i .bP,tYDu ,RS /E6vdW?J]Nϰ@J@P Fvę71=ɌcFnuC" EJJLFd[ܟXIʱ6=:65!ާ+8lRqS@%SeYY%\y,<Ռ𨳷3உwV'KN%DŅQ&hlZb1o7JjNVZjY\lo%r3R%ҦV :m7@ UHCFŨբ\dWͧYZg39y]׼F)nsg:\!|ozFm0UF hFNXҡSSW0+}BmO 6S\rNcf (((Sc#ʬ[Ȏnmm" T=:--j)fd1't|*]KJfpj GdB@oxJaQ-)3-+~vfuw5F]Ԓ+[כj8Dڌ˹E-$>zn*%S*K^e@~0D y3jJRmR'ᏬӡjpS b[[OG'Ϟ<8PLɘK2C$aIQ&ҎFBF1nW_2j[g!KNN^O%dŜO06Oe+2AP7Ȁ U'[3bCȈQs"Rj LM()HNSQI&+^v? ȅh, eF.gR=w7E i꩖(R4{gc)Mx[nJ#}s{t&! x!XY}LmyfLe ,w3/ͱ#uYaq=.9&2=~b Pᄑy&Tw6;hyCzZc*szߵj5juWZsGGZ]!7"ܕĉ 8:P6YP!#; YQ H d} }ÊFW'q|zfLYV$ngƿ{=vYċ2A<Hd/Oy1b#۾xo;}9iB>Aѭ5K}NA [fo,ca;w # EOw9\9w[> 0;3QLgv9J7 [I \x :&u>< pQbWs@eэ6@XoA'LG.g M!S3DU-iN1ܜcf̢o>g:}y"->BQM}Tuj t4jBiJB:ݗ}ۗB 0b lb;^F}Ɖ¼ttfM~y1?{$(edĸEkT|5,ɰW7) P5[@9ў/®{5Q)Q&XZmO){= ٣&#=jp"9sKnql7s8\/4<@2>֯~$U5cfʢQ[hs兌.] {TUyCQ^gK%}+U ^ۖL~Yުl֊CdSu~>^#KQ#X >R٫[EU[W[vFT:Yw&KBT|!˴UHntj5#4Xrڶ.*U{#[d^K|U\D ]Sl_WL!0۽V3yzQxiJkm^Rά޶OggS#I{_(C)%&9:><<;GD=FE<<;:<;;=B@K?(@8<ښ!HiX9šP`Js5oƪLUh߯ϭw׮sj8m1 Ͻ]jDef)KzL_лmF81EwX)^嶽DњG/CJON~UT.Vo޳ҫwuY?j p䤸'3Ld Br <'jS<9)0]$a{ ôKh9GYL؎/Y#:Eu#3nҹ],4 RȞ aخ2zdFG&f6o>1iL‚C D˵k5u!wV?}ҭ!y3全 +dg' Fkt}^D+o$xsF<1w3rLLmzߞ-u=l͔O))^}qOjvv#,.n:72ֻmDn /rOvA!lQڢu q94=_K.2+trq -NDxb.t1CJG9B`"dd\\F pV׃XegFҷ;b첷wn̸U)c D8| ơsWڅpNip\s1)y_?}Z/ǯc~Lvgvnȯ;-}ړo^Kt{Si\nf!/CFԇV#I .P-'D~&%MYNUd 5ZH5CB5].LOaIJ@ݨXo43dv @3L}}Ńp^ԇ0׫m#QI<0FZ76{I̔ʴǼr`w4'ǺhL~Y7.yޮe{sD{|7ol&;8Lg}ˏ5|iݬ݋[oS H=Fu{K_jL7:\TUAk0=Jq[Lf+`LTc  @e!&! r0\A(&̉{kX3K9Aa&ޥlo[P`p6Z(@\ (+jB&23|߿cRo3}!YٷN~x^ ou4eٔW8llM[reWRqnMqd8Sػ)={w͎e)>뮴ճYV;ˈ(f&YLf;$]lvjge2+$G-2,1t֘Z >MM4Y &,ox(0"z.Lnix݀d"21ǚ?y7#czSV Qq@ 2{ @{eFG)Xg̽q;s9ַmۛ3q'TqSt2H]g2,dsMqDB鿧mYMLFo廝fxՙ\"*2TDI jLIZ?8D3">7t 7۽KMFmxK}wIyPTVu怬Vӫ4vPrP,Vl韴jԅT q+[ `ifl95*+)I@k?rqƢb|}JC9u=[^SD&L. WXmN~ 1突NWrޛJѭLMfC9*4` Ew'#byTD,v\F hV e.Hr*% $f*^XAΉ/r1Xwk߳[@ճ `_#u37vSkƞv5o0FVY|Ry\T!MݥG+e]hwE^/o+ )I KX&ow[H6D|QL=Nܼj 3EI. }ohN&QiMB=>h> ޽z}2W/ꞒUnӛ<,3E .-iF{0e)Bsw5=߯T`j1#GlDQΕ0T`ކ cvYa84bZQHQqh,e 0skj΀h`eSQЕZ?:R0r7/ez' ; \搋-R dCxf9piD,Tk=#My8UKܐb= @~}TLGڳQ9T.Yު W7䲵9`tl0OC ~;Db{$/>0@qmvknMeݬfEP7U2ʔW@r3lwb˳i>tu8>b`Y qHE/yѵŬr9*{w,2%ǓbuwG9b?Y)tn4fMwk'J;DDU?7yudy9!44V_p>h 'I>5JEI()s*VjR9D0L)DnW m5i9cګPV?ǷJfB7\=~ی~U2 ~jP6UY)BM& b5C a̛23e_qvcY-4]Z+uugͫ粎?R~S9[.Ʒ=w=sVU:n;T'"㲢[`{_3*ɩ6qJ6B5IBra:S(4/"XJP{l !;8u%<@}4;U'/"a-oy kn2p{טYLӲRbdS}sbVI[IY0L1 )\5B+8XY]QfXNuh\sL͘RoW.zOm[,~J~*{7NfqӘ:um^2&#s&|w8 ۗo}cntZQQK3;sNY pj*jbcZ5Mu#DVG댍sfV%lV&2nz(E_+iyIf#Wܧ`W@&4$CR'PtJ'1X^#&r %mQ5  t[ʵW {?6p?/&yVz1L@4&ydD _=TLH9}uլfJQ*WlGm_4iM1,cT"d_2Qu>}pKjc1o؟'MWrVo7㬆jf=g>R馞P=%Ld{uؾJ,G>́WyT&a~}&v\[ggGR/17a˺~og*̵wߪɇy\&*RD8 -xJ#Ͱʶe;:{ߏmVChȽv/HfZ3 q8;.}o˽[=.> в#&a'px2\v1z^73635)_J~.|/؆[+5"nBew]DVr/mN]QI6a'̋v]~a v"7z=ƶ(-GOҭKT_vAӑ7(ufvopyRn(~_/kr䧙ʶE=>L/vmT7yLv)MΛΝJnr"owm 6Vښ.ݻ2_crh0R14Ns>sq0zVH pLmRSXx@ {r oQf%o+unmtj7u uU?ޚO%NR)i-);{/~?*sSw/(DkgUJNf7þޓu|Bn)VE>Pz;Inrodv@*:FLT*u-w]tf OrnI.;Jl݇űg'=kn?yR)@H ? n6ݸ=`H^Y_s%1Ӹ):\Wc:q^oӻŎƻW+?_:>NoH is%BႪsSv[+ ̪?x.՟(WAmJ v4Ax3l).?Z3z"m\>٩.Og[qSԺYifYd[-=k[٠{m&4`a@tHd,Ê a2)CE^>{*+QSfExLy/isDz[ miVwEzmz! 9= iAQOAp߲|L@Lj ϰ|d6EYcn {{kji{_4:ޥjqی- psۍ\k̷ H7Ph[ )!`?As!gK׷3hՊO@v}t.@n?;0dK%`Pmq : !1 "Vx^c?ב5..6܀djX EEͯ3>,gEzq2V21F{_~l>+{qfKO)Oy{8 Pi1S)ݹy_]zeO5#D~"'9u\Ŋjh*sbW(oa۔t~S9"?wW+XD'X D LaiKfM ݃Ҽp;%u`#>-6F=/+y] eITs)Ab s`0P:I \Lb9?DeX-+ތ} [8njrg){ԲSN\̽N9Qؿ~9Dۣg;?'_=f\Z-wfߋ1 &Lfղl4~lܤBrNRiyOiDa6cz?ԍmjcM~jıtũu 75ٽZ-/3OE-^q Be?w6M_d{o[1OggS@#I)ECB>@BHC(''>6:7==DED=8:<;A=:AE:4~u"?$j[ټ Ay3\#qzhվ4ҳ}Sў *@-VҰ2uT21윾5}J]} ѝǭR[Iۣ~²rd^xЄPLGŤ}`BQ/w"G[cæEZVRVkoM`LjPA& Oh0UN!mM3%t5^ѓרM}ɽKIB:WPYt pƬrQy[6qkTbnӶo6V"ǮRritTV7} K̑2 bDc%kk6iゥWTO$I^ȼ ;o} "\>S{yoLtUJvvʳP{tMZſv)[RX"P}-+ɼ)Szh峍s;Rɲ>Xf24^}o{yy/IJoűpfC#LW$kd]ˤHr^^_ƍxNE|UcO\%:VlF1{:&nuXGv؛P4T=.VtN(ldYo;$C $qNv\"gdjZi6lvvCoIflP+RLf5ʈTyT:cSs!JxþᲛy8 U ky@(Uc6?&̓mCM:" _Tgwcqv3bd|(sKSP*OQD]=dp%2r!t4Ĕ# F*"@ϫ3djdqq^ٹu8v{Ĺgftu/+|`LElS&YCVlKX_LAc:1K:rւiXzh{M˴l(ܽPLf\a % [-@~98iER  IfSɔM}" O̵<ۏ-gO6OC Il+X*=Y<74/1sw-Vb*mBJ-vc 6\ r( g/D<\ hR>Ry!%Z2:{,8Ḙvw/5Wq@#kܵ4Q|;-rk@nNv`t͞} b`}?rmq5iW40zi3590hڵ,{ Vy!DaeʃF:`FwX 2lkJtm%u'?#v7?U~& B^sq}}6g|Y.纒˪ gKNw}icJ71kUg9KQ݋)U6>3Fդd· .Kw٥[EmXgz6K:͡*4OPbs@Aס/1nG߼2z>Zn=益U`j`:wr{vaݭy*Gp@ 6ʄa+4V]Q Qܘ76jJULDtTsس0|~\\cNe_?~Kz vr ^QWDfRD]!J8k'd6]wb$“챡fUn~ѥօŘҞRn5xr깨gS խ~*nq۳!tx7LFҪ驄ٶic hRqk6;;Ah7}'w#u6 fCC&=XCs&P1r%dN]R<TC$IGgK`4bVR7\5/k֯4e}\fbtОkÂ"/&eӐDUlJF*g5s[i^fufI(-PXwjFnzrrUc?n)?sDJKlتtNHm,gZK?M 5hג6>̨Ecޚ\kD:d4ίI,2@#*GfёDƊhX\ثdh߰ڽ^k[+}Y˽|K8k0-Hy_ ڸK3 M98><1~1c]e{7lmゥ֪?r;f.Kh*L*>Lǵ]dK=#6U3SJZ5[z0ƒ>=dx:ǹz,e#JD${\{6mGM 3=aDU NQ.TNnlJ$Id6+&+JnJ.3^`uvÎ&KCUN~C.CZk!Y] VhW{|cJyi{4ʣ67Z%nT†l7E5'/4 &n[M39oe~@9#[Q⬆W@ +H[W贙@NW{K)T'ڢkdpb+H)33 ,;g󔑄{x)^_/2טklʝ6JAhHsNn`U3#|M,鑈ȜzQN?iz3t 2]JoZ'Rz*eTu~'JQVo:l ӳ;yOk*j]U4W1JF<7Yׁڵ-6pXf(Ӧͨh6F i@e NJR y})]{ζ+V@Ryx;}ʇ"%q6/坈|Et/abgD RT@= @3\"GK>`Dltl3[gLg[gOF[yS\t;KQWW <_u }MC2Hȋzj5$kڴ}?|;hi Rkl6cAG}Xժj 90 s&z]k&*[++ |u?z=pۥu|gs]?`Z{rH@Ƈ.&ǝ잽cp8̭۝$-(#N(rUq'ڽe'22[%K2fJe\cU8QQ4=QFέ91 {aJrݩ`U1@+=-@ 1H o2vAC=P*3-M٫\WΊ;x`4P[LNë,!fV0Qn@Xa#`k)kjƦJɿ?q Ϝ߿~Mw:|gr3tSɋRN5bh%pZٞSS}߼wRGw7t+{_oˉemy:ZcTn*XՑ]6mHF)q`ʊbY4`h05 :5 =6RwHLvu8' kN2t*Gh;Mha2b/k@!KbmvZɱIOzZ/%nږݖ$3zGs5336fcL|ݸkYWYpsG)w|yde=}.;.f]qNX$Q. ݙ7U>uyeT-#霠 1plUNϩ)eǎ+/sMvO;*m96mJ,;O, julAd;3uqRrUOggSJ#Ic#F8:9ADBI4*0/'EM9A!fH\1DϥO;vImSy(-`!Q$6QO U@wοMIsoPUsOt]k.|>L ˚li/ϫiĨ3.͜U,^ļ=^ϨK1 !*lY=WlBx,%SRI?vVrI hi"@-\p1d#g)7:!) ȣ3/|6ũY\5cX3bmbشtoiD==nܤ( S D_ZuVorUV~Nzy 6EgBasbHMr"6Tl9'+2$2"LfXɺ\e(5 EP܂H\H RRNs)fKr%a^y޳vlko =x\P;Ts#f)IsIh3C^EqHk?LReV~r:S3ęW~<p݇U&J|DP-azg%IhE)Rt6,G^.n:ÒS(&\G Ҡp 9  =^B2^ h"M%H R Mk YoýTсYd9Xuz\=t~lL{U$߽&H,RΏuBiCD(&c*ox^I~ʦCOgXʷ^|NcISNv%B.F|[6s919+6si>⏞^}ܔ_ՐLl;}cƥ4Pȩ AŲ,0fƅjURM슔2P,.BETQʶ6=^ $:I^d& KeB!۰E s=Y`&Y[m6ZMl/6ۛi&rdqG2Ab,M 42Z ݡt*ۨ@"}BN9-pKY/͔Uh?맸^9Gﲠ٨RqMZN34~B'~~.Z9xҔ'CZY=zAjSC"\k~)o55#)ev+$O=y73NV;UP"WFȥe"LUm=,ݺ.(^f,z?)wJFHKȎ^qqM'?GJ\WݒmҬZ1b6x)\OvF "Sy{rW!%q 0 fb]5DOSJz+ʄ+9n Qބ(K,IdKnu>a7…~qi~d_Lo(S:b`EGZK4ED8w}i? WVcIBZ ,(ƚpn)ߝq`c"ic(՚57wA5|/ֆP)HDk\Jk*SZ.-ط)]7llF٤tÅfPY,pI1&f E2҅&R^jR$f@N1$3"[KQEi$7 A6 H0iatOO:M:[p`CnzMRl(09(Jot:} bDK6T'%.z'&vp7,g_86jpS9+я$)J󾒯`DBii݂6uMbtٸk\w>|T^0u"TJ|sflBBlJ>Z.Z(TL nnE4 UQ6h7S]| lh`wE`Ke46 '^S7+Hf9cllߏV"5HN !l_t,DZL_`将}8Ș g(a(^+M̷{IY /~"2i `cd#US~bz!\rILxo[*CKftf{0$w )ĨALx}꨻&k9.%WnJ9HmR'X^;SJ}~{29J'$w]ƮSroth@3ęz:w*ENp fЧk=fw6'=3؂c;p"D\1  }eɉt>(RW] U(|f̪?T*6wlY7]Z:mRb`g̎i e`@)kpZ0=R~xJF< ` xQI xʅT0gEIWZط؍_Qω ^ۉlNcbjCj}!{ [=Gv:(ݩ+r4 9ه'Q4iݝ1uX1CW}KcfbLUhgC^9j#IJo^291SwJzDq4IKarQМb%-WD%Mv].%mwpJ}1Jvk#'G0Yº=(aefZ_1v:fy|_'CzKsW~PDC>U\> "Zt2ZW7R^O}ՎS~DynxU7֫32m~N=9q=O[U;T13U:𰛢E@ F 0;1wg$̫gkOcf 6#Mn ދ󏑜NF&:RIg285ٟ @H`WOo2iq\WoK^wke$-=Ȣzۇ}nw9&ޔs8tَbnQ t9%$j~24h@F6\d]~79}ez|K7c\~Yv;XYSp n6Ն+w%en_Tk$)ON,P V.7ӳ,_1sO *ifa`d9l11 '2X@aQҌ#y^.Iq_ e3oԫ3%ֿ_+Sl}t)K2y^=ށhUe5ړyQ#Q1wS}oǕKST.*Oovgs>{h=H3|c j<{vG}E*q)'fiy7вB}h"LvIr[89Zqkk|h}{qePe0:M,PpW[uʅ ';5u,lC3cYMk]2Q3nne%dK( i# Pa =? lK&X63Lo_q)m/v_mdmO'r"wF%L,9RmRޞ!Kt,dPdbu0T]~wwA#1Z~1缾(CZ͊3ou]'s3d3lۯo4Vg{S*~tBnvzhs#wt^$"rУT q@W ԯPEZ)8TvAꜝ_Yg]c-t#s|uV9Ѳ.ebTG" "T~'3 HQ1ARV߯@9-ی?ڹa,ۿ r5}SDZoY'RzwQdMT?GK:^21foO٬nݜ>//NPs~Z"[]ZdlbDߴ,2W#2\& s]dGJP`]ZuakoJ-nfP5ݻMn3`g0 gXy$ak-i`^LŒ+U`{G\jAVntݤ F%|!;@ٌ)O_1n ߾mפ.dt0ZtR!O\@y=.vqD[3[Е^ӥHڽfl[;W>J 죊"2)8k[Lr\PF¡]Tٖ9A(ҭ +5HGcx4Ei$.eVhe ϕ;~ ܎5fDx5uls4~F0spIÈ`VA)@e5cC44y_ l݀\3L)y?pyigrz8əoP_던E?ݏ˖lfܥ8b:?74EHS3GAP74-!=99<;;"㪳&X" d]g o̹9孴DZF8oK`n5u(BD2]I Q@@[_88Rڨӻ:"SA1#%]ֵ\ŠPFxX=B(yŸ%>[.Uq2#d*or =mg ?x<ڊBOZdJ{=KeZΩ'EڶY9 e;$[t2q8A`.z|ǃ}v+v;Js)̉!ڒ7ZgVRj݇t8NX%Tyc@X¶Q6~e7^̌ኡv:@c$ܢi'ߧeYui,fFY?Pu{vvW*;[0t ~b WS|eL^OzjDfAU'5MLʸݪgZ5ٯ %Be۝={b:#*xx|WOQ ycBŭXJf3.6ډoϚg1>=3՜(TWwFs] 837A\y!֨L4feolŽ&֍W.M[@V,]օX+[#|n΢Cʔq3f`ѣ7g C^, P76 AJİMp"١\^ͨd&zod9n5chgNxlכo+tseۤ(fxS+vPZI$=x5ϴ2DCݍ?pU_IZ'.""IEtkfݞmtjnNO+ .nƌY'ݔr:@~ݯ(u{ QSޘj-nfI۽on`Pb # 4q^X|0$؝ѶI?$e('Iە`̆ RS3/RY1"uiӅ_s+cY`yNy[ߞ`:JɏW<:LZT=;זv{/UA\ڹ>N-Q'˥a3"K#V0de4g/Ngd1~}d~%=/?~N)MZj}ˊmwaקZ3.!onh<|{x;~tS]v94x"Z6 ,ơi4SkWX篦1ZF}wZzL3{_@KI"!b!IfXEdOpM25Jf2e ?c[ ^K=ͣwKXljr|7:p&lVM֊ۻ2{zBūvwEy]9췣k޼i^FTJ.WNJTa15{W'ߒ+zsΆ}]?ZDdoϨlo[B5̲W'Bw3gt]lTG'=(&oXf&bz[yng3B~D5i=&ff(?+gB챭q3#wvHX'j&MHיwY&8uY>TS%kn]3Oujxmdĝ,]3u4}-wm4g^,vÃZ] P00? 0(6vIk[^48Cvq=Xk5+ w'G΢/ŚZi-MHzHIEV=\/Q*Z_afqrF>3_?+(yxOZky)+aK3 M4B=%Q}>ne//#ч)MgLuTn|IJ-gx6ՊS/Ԓ=7mg:DjЎ: ɸE# PJҨL'+U#0mydAO &{Ffa{tvwZ4hziqޫ ~a@:Im+Ank76cf&ِ))ͰKzkO5.7fy"D<ߊ|ss%s:ębo @=!S[.2xr.c ї]jH Nї#boHmǰwznJSbmv]k"pSrs(%1ٿ DQVHw fvSZ& ީ1{y"m5 c. ES}0 vA0ƒNă[`QsRfa[5Tt?;ϭqzʘRtua|s޹VcPqqUwo.ۛ[aǺ5wz[z9n9*I w:ګlP~μD uвubOgQ]-E EuZj:+g#{ ޕ" U,94/c'9Gx/ncmjM\x&i#;K=L lRiV}f:\q\Θp{i^?٫Y~ԣxU-f2#&Vp"3=QݞVYU,tG)C*OArϓS5#E\fvzFkd&-FQ C BtT-!DⷻtRP?I{jrfTVa'`3("gz~_޾F͸5o(b[Lbw s P 04oEf_Diq|VOIEOggSٷ#I~a*/DEGA=CFM7@:;69B?0ce|{r{8%m4˗"Ik\ױ連2L54q:Jߞʕ3zkWU3ޜJfcufFNAqb!OA#Ω0EurUв,FT9-6U(uBB0bsȓ.&.:##*1\0KBb7|:2, K `&o}A"-LޒKY5Cc\[f3?duaPfpޛz ȁPE u:5 $U$R8f+g.(I^N L ,hvٗP3xOs_m1ie[ gG>ޟ]/Ci'z$]TbܻNSq=%}gB#5e}75<ݦATĮJyۛbΖ SDމl:{C 0\6JGKpȦtc,[.V;HS ag1+ڽ{ak Zxp@v Ge2' `)`L0b2U)RF.{ٙ3QW&&yon(FZS6 |Iu(X,e WG%}_nheʴblډ:TkwAz#~+WjFYn޹o2mk`ijٿ龛ۆ?RhmӺt$sox/賳Z~9:͵Uzh"qUwљ='ƕ@dg+O` $\C@yfw M+KMGD.w9D_;rD $l [r'޿rDm= CB݈8\Bp0ߦ?,]i׀n/c<[L0/!}ƀ0,r @@M3|)Er;CI~pQSf&lIum_3<}1gu=Oa WWVmۣ*lol&ƕ"NqEiB5 ??j)Y]% IaZB`S{Om2yOVS5{OGB# J0zԘV4y$!ƙŲb'lG%JΒj{7v5jʺoOM6Jk`uȵwS9sL\c4Ӽϕ׺nt/y;/no'Bif2K7:9h{ DH S;vl]xքIflֿi+TnMtdӹlΘH3T vsYaj(\\MmnWOO1Yg"Re.-ΰQ҅TF\n^Sb˯R)Sr_ jd "5 u fQ@vmgE,cY8n|iݴ57r<,_}崠<с\@GO`VVUkFݒdgf10291K@P о9J Jҧ Y8v" BS٢y^=_kQYٱc7]6J0lvAdªR3%}A< @7*LRR0Vnsk^Jl c ͎UB]tLm5\ưf4.maeoM3F0<(TS[ Y*,3v ʸɹRٗ-2[c2O1 \OQm:95,Ԡnd;3A%Cq쟏2M户^\g Pj"$?h!;{|>o-[ +}[sxnվT۶ A^s|A6t~{Yړ4ɚ?2łYeF\-lyz;8MM&:2⤊\! ѥuՑ>o?gm$$`_P)?狽qs]l׫eNok,ם^@41rftҌBDg@P',Of2;G1.1m֙  ۛս]۟֌T30Hhjm՟JwR%ykec5.K.q|[pz7 fqq֊O_H)܆^:tֆ@>1grr^SOEBћ;Wvm1Y89͞SM`}/EwwsZcKպQrIl(t^\F,@rdUJ+spD#!c; U x9p)}? zh\ǁɿ- VnQ$F525,;.YԱ (`e̪24ky~\<y?6nPX)2(kq:6J3?R.حE h^Fru7_uձW3 '|j5m>!穝#gq&p^ُQXUē[i3%CQfOɜ9Z+ fuƘ\6 6(td+ U0FOggS #I5 P")@>;8;CFF@37)9CK33B:A>qaz2;Yf1kz{6%lHkl^s89EpLB G,O)&E^_bJ>`$*7|׭\:IݹOV:3n7Tk>D<C_ҼCiCSv|*5I +zD[xm}Tuurn sݑ:>]/Ģd{"vnolڝ,N_\ݖSޝhRn&hik}fb 1Z9%b^XsS,A<3Q4A&/@ tB]#t\3M'v>\ȳxTYN}145c0;p P4xdTTK~̛3*DBT˺/j-U"RmƒO)M!`5Qf&u(ZuwVwTZD|b)Թ 7f:`HjY\dc `j)`a`VJD۴*HCN1 bNρkU͌Th"S9us$|ɫZv̽[X噟2PYiTL}ٽT+խWT;T&K}3D#Sۋ+oSrAp,byrb5NtЉRgNw2,*rtq9qz HbK ˸Vr-\ܬpFۂPވ$hHqDt$ cFjʎоODh+sm:bi;4zxRONָ8{quj4 4^-y5.8$tULRD9ˢ(nR7߈<BJKs {n4qrf$Uf!æcZq*n ,s1: En$+8eaX 4Zo8t0 1cLZ'A=wIVL-n<_n͕ʥ漚?.O 8 |ϰ@2ڿ|Aj!1ӺiVl!7!NMR)U?.#u Ϸ{bKŊmf{jzmZC 3\ .жϝqnpWxS3S%1evWcM}SG^i9QYߔncdq\zֳiY "JMJC޶dJz5rc[RucY*ה&U=Tә<9q!7i"7274t"8ZIusn8䞞X֖:HA8(GF狯lҐ( tWgF c P5$WLxH2,Ihv̳(– q(oZ?6hJ Ҡ\Q BɃ|alI"mi5S3^׊nOM+~$e0aq}﬷Clqq$u=1Ks֧!O.N8+M&рCB:Dn/nbef~szTT[+₎a5T & RykU$#+*(&kBtI䚃j;`*5)+ =faq )RS@p uk3@̎lt44Al/&{˻sɺ "с' FbWjn[ߣQ:&ڝώܘgwJ]s74E=oYm_du@i,h ,J$k̊IjDTf_^a읍ps\2f4,eCT &AoЙmI&>r"U؉V;b,kֻw6Z^e{lVq 5Cc*7Y+l:z";X!UX;ތF|1!d{y34HʢH-(w<$x240>{ӗ8OS2} <)Iø61&w)4fI ی#TlMZ-¶;OF5Co?-oPӥ⾫4}@KJ})qg2=pQ6d囪O>s@eL̖p ҈h  *[- v Ew׮z7 L jP5EGyẄs>. a/ !So9UN[[⣊HBy33Vf*NCOܟ_ke<[4yyߺܒ̷DB0?6bʖfb;c S}LdZ *PPj*=ǚ%w=#J؜dv{g#sqG;==9{;WEs/ r<*I0`SXVKme)lS(h1SvT Q52I 3 - 6X2ֺOggS@<#IEH% 66BF@AH., 4>DE;=99=>=9ACJ>q#rHOzZz}98W{6*a#ҕGRAj ,6/}QU.܅3=7(xhtBtUZʕ캍|.e$*D4yȸn6dίsS +ݷ//D_owt1YSa&bBWmyQnFd3 U]=8>Ψ']JTYhZjpd:'NN63fzW5 k,c\Fe \R$z'\K޸( Vh*qןȡƙ,kdygpt!%ГU' ,z /9]7iE6gDwӡg[R]{K]{7e fֺ/dV#bQ,A\ <[|?cdJ,pa#G~]~޶-=]ڶm۶ӭV|vK\,UX~8@c9U`(VuLeT m{+y-k}}Dƀn9JEy-SGc6Zu 1.ߟ~ݱޛ4jE@eߗjH @}oa~E6ٛ*3U?S#  >pA43<ȝy'כTVf"6Xen=lT* 7={WovYNiz^e}Ǭӷoo c:sq`G{\wڪaVMtn"ci[Lʻg 3 [ b`9^ & 3%I,d cDbs5'U6%Y)A6lMnڠ޶? 7sز6Mh8M2-nce`231*x|w]<+?ԃiNfkL.`LrT En97W??~g[#_) :Lܷv4].9[5v2mtFZ2OS.޽9YRo՟6;^ڕ˞+fԻs{IΈz8R8xf$@ȨD`l%ns8,T7IiQ -'DI !ub]i,VK/ܔȠpDNXv[&PfVǾ{yֆI5ZKIX4tJ:6K|kB5Hjd7ͲcY'  ffޘ2S;_uzml/y}"WǼAv:&_j4P oj1+ennr_7q,U^_*u9}3>+7n}s&\*rs-Bk Q6l.b5VtOS $gX8*鷋g8 ~òԆC o–\r ۽(ԶKS,vv~5LW}gױ @3o 5A 0^} VOf^͆UH:z&]=Ro8=ߙ/hbiB7DҝovDϠc&/"ϖ*p3TmbV@S*"{}x!hx8b)p z$f_XLj%4,Lc `*Q[ cw;黸 on^Ho 06r`&6(1Nh7>tG33UVf2`'쿹:~:Y^?)@+ε[OwrƳS4-'Z7}M(U3 ,Uzqוlj[u#˽+6˅2ڞԝAw>ڮ">]ѻIcVd( MqE;Ĉ$s 81m23SmV͜m@} "@(MZHW8g}D5ah`ɟC:ttٰ&#kwUjtf-ntk-!w0P6*5SE`UwF;+H䚪2e&n+feϨ?uwl>곍vn8g\Wl%+ 7qL y jk旟LvZK^ɹJOӯ3]V'9qXGR9҃pI/1'-v꬛ɌoyIv63'5ĺ5czZai6^@K\0SLs] E ,W-`b<}Qe*r97(N3Y F4:CROO&,k􇗔RIB~.윉Mll3ʦ+]*[9<"K*Ie(_| ^'H$eH"Rh9弔S|Ͼ{ZV,7Z#Ur;Up0K[Vy4v;Y{c_ZHs1`Ʀ2yy5uĦz %'_.,Gb1o{NUuL>:׋bJ'I55oxm\{KXIo՝ʼn[2WVo "LUr=n6{NwYmg_gWhJFmZNEӹ >ź-UZ0@Ƙtcz1ıtJC F(TTB! ]iHy@*LjSX90j40w2fSy˝ޥ6s9L- {.Sw BRf3)ƿXkOvE25ꏿd;:; ѰaRJѧ*5_DH#;%Zy*{TbJ'o 0s|b5@, ‡))Ra_ꘪHIy.VEJq.=*sՍ\Υ*,Zl<qF<#֡:LLZW(̱DOQ;ǔWlڽ3Nm^o]-Uم ؼV3Vorڬإb(w jP1=>V)uVW!${MޣU~ޔDX}2T;r݋jBЙJKf c#*2t(-\ġ!6Z-o"$R1GbC7WjnV^Ui`fC.J0k޲["XO1h{@6lgU9s ~N'E+9[,5)j Jf]}6\0P5cf+zS;lN~(h?ݯ}7fOM{ķ>&l+}T}Oou8OUx6/bUvfJ1#JrrΜ.3D^qT/nfvnp,H*-+r".nl0-=B&P  w+ +kՍ(kKb, uXwAB`f7j!cCHa gI6[C} =8qKXwI$G"$ThK]9m)xt?WESȫf6l<JiFB!cѷcIhC}]#" ٩Ѱz.^Ÿ J" QS{F)Kf)d^k!eJbTT'xI:$Nu7/<OqӗFeI"ɍIywv ; b 5^~O™%hykd-^YU~}Lg,N>j?Ka7HR"5GOx 9h J%QصUO+BvaObOks:"b]Y/7Vf>n z^]~=ѕ*qQ?^]jG9{6gtWTquPjCN%W5Ddwŝtp18+V&֬E+59Xgx\K):@t@ tNbPEHƚs'l{ƾx y3U3R&o?o|diAb'{ 6>NfjE9TWD^V(?WّgȻߪ_(}@ξ3/2ncjqsNu* u|wJ*=.eȈ݉FyŻ>P)[`F3UψY})/zQ zv:njY:0ЖF5S{霊N+[7Xgq2Y?!(Iz)݀5nyץ3?wVXRa"p"h3GLW(qNzlR H)OcrB- Q]^:=E\֜;~_MFZ|s ~(7Nȕ:q[).7"K7oS+`H4yZ!{)4R6!&3gy%EyMƘq+e{'ieáj/V=|bVGeL=˪L|% JGߗuTRL42f#LwȻxMֺyY`DdފcbDBi4a {.>L?zyW3O2*ʲ?qv 27%m},!?+Kվ}Ӈ^s ;]fwGݑ;_Tcl^Qmdu}QE0ȒRlÅPjbdLLOG.$}%LfZkUݮy}~~~SM(t>꙼ͽ:t)}钐~eek9=;+{y߸'N1W] fQ6dzbQV!ָ7ht0jFMaflܞp0*rӢ6s9XRٱޥDX `7cjwm;NOYw5SckǝhuX r,穏U=3JF54 9 rc&[\iagHjoUt=gd'c7͢^!K#WN;bEbm7v/ToZf2wu:zsȉd_ƻfoWFu׹fU;7}ޫŎ靌՝[y;JNY7Ef5f^Nn]Ǟ"; 2FnbJq`RM^j(XV@@ZN僚06="G0](Scfn0>˕L"m< m^Ï~2鼊rTR#?P</ն #%>u\'ۜ%Mw,Uܾ\Ovqܝ.+꜓Yzounjze*;̟NmrڙX XkyZ74b`5gnζfA56+#~5@_05fJ 0|[9O?yW{H OSڪ3.ץ2˹M[ {%U}^1{xUC}d@5tz;c>״}7L۝2d8W+tjTn%1;gԾFZxj=48]ud- RO{P{,juV5̖RV1lUaoGCB}PGYA1n0iކau-M*L&g \鄣Ѳ-@D(( LF\{퓽)o#73c] ͘7jNύ~Ēbvo}NKqTу0hmLa-<3ZlnJ+ 1b^ˤwza\;sj03~˻$)D3&1URE^@Br}:_'gͼ̈*H͛$ /RΔnb-M6R⦍/RzaXp˻}yGř]5l(/?3jOy`6T{g5&jzS*}bڞGb r٥l04W@RbsGib0yN.G|u(7A5%ˈ.FNEԒVf") \p7Rƶlm1t.2O'=醕]嗣P 8ڜ"3Ujڳ\I Q5JY8K\vd@=hbYckFv\s#o"ܧ^δч gH7`< Yx"o~)H&2]1V2ʻk\t~%KGҔv53QiС \zFdWlπ~d;p۠hھl;eKaO Kaf*'f;j644Eu_R+ 0 Q;|blsffƔ߿Og?hϲm'żټcUtu Z.!$|ph&h`(Wt=2ҭ-TCvQV/vw~=vbo{wW5;alY b`|^_Fb,x„R=a02lfJփ=tv"N w2߻4gJUnyS>]zrSSdZy~1ML4]"9OggS@#IS-;:9=;9IECBD>FIE&3A8869?C@FG:==<==BBICROAEa#_}DŽfN})gK=]ܶHKد9$H,j%g]_lvWxBTkz2m6njd-M&y@brM#nvUV3Iz_g f۟ym2cN6A|ޥ%$&}ٲRi3gxW2)oߣxuWaƌ V l:yjX+ap0s>\|WHntSLQ5ohmU &!!vlUPPέDuLD\=;[&]-yk ֦+uuGbz4~ oQ$,vK^׽n6T]{$R8Дn ypsC&8ޭ<ñV{1,լu5=Vre"Ϥ)I/T)W ϫPT57(վvc/uD%X.N8]mC{{. c\r_$Mo5u颪oz@ I#-nj:[MݖVSJ{{sfn''N -Sn>D~* +tz;P^V*PÈZl{{/GO?67L\}mDJOd@XYڰr`>z3Cn !cF#ޤ *\XS+IJ!ČcI5 XDD޼73Iل0si%=Ðw;۟n^ 塚ߍV]Le؋lwMHVKd yoF߭ZTŴG5/NesY@t,OڤTm:#۲2=ӣ4`/n]BAEvknKbM&m-Lu:fáY&vB=g++mN< ˻4k}ݻvZx5} n8n}/`r2z8,],C)@F腻b[ J\ʤ1DRL4 7y1 evኤ͔X;^^9ޏ{y/#}'\{㦻94.ҖP qp,}vPI3+WVfY絍Z/Z _U{Wy`:w<WRۃ|tq{uAM\r[Φ#:|Ν܋t.'K{a6xmu0Upk-7`{vV .5Mw)sE)h ,ԃ0+OOM61c ȝzdƊCvllEh,V2 gLnp`Ly8Hlb#f ۝ȩW30"7;5c˩2EZS(2@4baFalw7<灋Ѭu*FKKmZЫ\1=" R }2ەO"kCb9 ؛gUf Vtj]7`74:5  o% RJ]'/r]fbY۲Nz>HIy=%Əm: "yEuYfM7*jīˣ6TZc"kv.+%- _{t1cUyU^Y)dѱ{mVk?|\@\1镳E(1&Bf(V2}xnѻw^Xcr)ա'ώxwQ!~mцjv3;-vܷ7zo{ah:qYt;?KU(ލ2R]~UʠCqsY-2#1,0 » Q}o7u7uhaf`f1$%owMv>t-c#]9ce{U޷Ծy mĄ{UF;+jcxf9l \##+i ڮPE80WnZo%V @w=) e2kh<O_Gx}kI17l갢? ,4?i}1L2kjicoQQ~=Jֽ趷*dSdR, O%h{]jcIFU5j䭕#|0߻iyځ35ڲ_2sxS>:oYTY w{[,^6;ޚD)v:>KZ̖3m9]79ڿ-M2@x Т\)oNo'&NIj*&`<~댋Om=TcǁzEUP7tY1‰;h1vZu_:{n*Y\S9֒I6AڴA :1hWB&@yHy|V4OggSθ#IA()999:>BCEH28/8:;9;;=:@B007=;B; 7Ept&'' ('<$I2J̭oĊ{<)I>%3Y׫+7tsu<~JAM׬:++)Vjt9G{oV#]փ@/Ղ$~F(S\B5r6IIrDV^^Yl)Rr{qӨN MۯٳOF9,fB'ձznUWHl7 k`D&Ykgp>1*dhvZe@SE*KpPū87of̔{o rke*F{cny^WbM$f㳴b0q_i9o_4B PVS^+n'Wʚ}Cu Q)pOe6|Fuv&J+ iCk`&g7u?I|wTNDywu#EB9޵fǑ81 /~ Ge9Oie!]m7MѮbzE_mo#zX$4"}ϽOEΓ-}nLl:N)²ʅbʺVetce_*W*O; e# y2ʶ1t(ucb!Jb1ZIs(LV/ufϷnј 8DIF@;\Mw0l֖gEW"ޅ謫z.$3 4 #H@_? L*1}-#?͘j^q_lf5 dnב N@f/Q%DJd\jf0ǭIHdz\YK{^;i֬ zK3)Xb)#Q @t*d|?+065ڶT;)Oz)  E@z. Gܸi6ݎ /~7[[V^5Sebz S1rAbl}X P`GSomkXQSjje!~' w_k)]/]#ɦ~ fTvK~7uw!Ǡ\;sL/jC4nV밦鸹?#tqu%wߑQryF&eR(hm&I:qY6 ^tpKG"+Er wQuΨV 9p-p .7\yCJ(5 }n(.)%JѳRKY1(%}zA%RPFQ0zaUz1&c&, e,5@Gm"d| o(V5ȢPZe^FJzy0A|? z֋r\8{3u3eLOخh;R}Ӎ<=57s*>O:`=H94JgdH aPZQ٧1.$$ȕ*Wdȉ>[.$Cƍ> dO_ .W1u73c's0a-E;8hML۾}4BCwfM4Nر)6Ͷ/gap7 \LM7ٽA̼fԘ,/l.)輽 7G?~o󴺦WqIk^EsdW#(dO<m98|/Gۙ3]Cym ]H5k* $Ėk,NĤw!F*2sEg9vseE%*1;fXDu-B*QM*hZו!3ȣ3 %m^$|"‚65-^Nz( {xn}V19g`MFFb0'M@I87Zc)>`} zA@`cԘlz :k?Ě|>|z87e=%oXEzci4x :Q[gXl+wA [5lہ5o``^zc;B 9[O!K wc b(;>z&ʅ96VJ(>HGrP[ۦF_L֕3Di( F"*[i+/FXۂ!--1b26P37/$@0vPUs)TfEJD\XcI{E Hf*nÏX>6o;Sl{Kb_ ]H:6jgqz}LTt4c@Rޕ;[5rycbKS_W\<;7n\a>sCwY}C3'xdͳݨ 5Q7eW&Bp2P`bmW;S囑\ٙ Y$Wsq" SJӆ@xD3 Ro&NЛ#z%~RcsѢ;~㜣r] ` RlNtT•ظ3Tu[yɴ4mCr ۨiRX.aЊ~|Ve* W~hȨʼtDjgrIz.pVYEfJS  Zӫe%$|Ov~EWeczo6݃lFfUz"Lr#$^T+Kͤ&yH/}~emܴb쬵Yl9b* :}x$?PUmd;;UTG鬂=5Mf;31d$N)aA^?pqՎHD?w;\5#}܍=FxmjrhEI*k}t{([WtYKMQ-agM"gߡ;j%X[0#ys=zm ^IPO.ꉱW^eOQ(6ɥ-Fߵ+*n{EQv+3ҹmURn9uJdvRmĽɺVlBH$H ҡBƇB9NT1ifa5lvP⇯j(KZlt}MڶpXo4aݟ N9CbYU6Ψ@˥(aG:mO7<ǻ{77d; ^Y6 Af4Z+źMg*E Q>tSѥx[wʹW^[^ֲݻqfUiL mƂ*-M/V}>&dm?&>n)OzJѐo{w?eEO~}R5J̔bhw.1#Tbއot90~*7g>I5J~u[n < p/5ڈ#u1[cVQUw=FqJ96_ձȿäcDcтOu4ϰx*-2bFhfnn)e}Õ:!2<0)5 R,h Su۟WSBDBrOggS@#In&@AAGF=7+)<:ED8;9>8A=:@DK/8poLoMCV;pko#y[P  j$f,:ilYNmu_WL.d>ʼnQЂ9NR=v_:`?(Vb[*)F퇉]|QΗúuJ:ꋋ{$;wj|}C2l©U+Kj}zuCՀ?h43]6.K1NYB@tL0>huK­3#ZW-`FVJ|#`7Lҩjɋ5hh3kL2eDƹVcxz(R΍=嶚{JkbzWHN˨$IFkR5)`LKP%ٮTQ8k."Jov۷@/rb.^y/w>6cG_<⹛-֯OllNWemȌowFiO4NI'.cfѪj@.1q&K\:Kv~{7A3lŚp=_a9Ft^iUlFB=SYT #C` DoUɉR0M/ۦgM5OJ8#7CB~某pQPvosvBwգkoޔ͎ Tְu`M)`jt/E `\᷻h)duK]_޳mk*1SdN>/lHd0NVP&- g>V _6{D5ru'Զmz%qx/}NaF%"x=fj.ffT/+ ";mO9?/fMOdzJO=7Dzs=Zzu927屓HSͷNrE9D4=Ԇ”tIU}Ray}t;#ٹO;|ٺ'CrOW"P br#':) <+BtE!x$`oͻo1!A嚐KBȈ]]Bxf Qn![g-̥8(L %F[ÁtI/M"Zx{wc쾱IfSGMhe"d8.Ч¸[䑬Eqt2[|B6?]ߥ1sȣ8y|KJwŧ ájS,ag#߽+^/ݾ֘Ww/V]t];@ꭜ1A+`lTTrO@4Yh ?'](\gҗׁo\q}SDab ] 3ۣTH=jˍ\2  f4v/p5y 4͔^;avR>-p>,ωE$`?ki%S:6X6AT@Re"N'Y؇2~Cs("gZԡJ9;'Xs>{vC5šbY+NMWeCWA@]^A/dM%_ '-8$y]V{?7m9Z \[['9n2=%H.1>wn&7HZ'Yge$#swwA U`È"k Uː[A)Yn!Dzb?y\0`wԡT)){.}~zXEx?[YY}U;eJBgRW{L{O5ūiդ=뺭Mjxu6RʽDDu޾. n"gJwuϞ<)W߮{û*moR2;靖jI=ݴs1v>uPJWژ]Z5bAb7(uNGcV0`E$jpݵ35 09d7l2NqiSr>z=-5;$ `Q߮[<6^yo*u"˞dws>=M͹}&w·~y T j,ϋےap3Vv3Yb!{P،sO}O)%3b6M^KdofSz߱K{{J QeB yח.H5ơ).1+8_y#Y $<$@Yz24^0&. 7ZЌSh4CA&u3Sf5dKr}˟uVk_tJ, 42dXz pQET4W ]zE:^fuyس8 d%+#YՇz{v;1 #?̞3A7m syM7˖mX%+<"K)WD>%bz = ?N)30%P /KҀ {fTۭ \Sy/٫SN+iչq{b~ᇙܙ$\lZ$ǯk]= $joVu Zeۈ)Ѕrۑ-~wOu/[j^8;ޕRrC㒨Fj4!/9?7w!{pӢZj utWj ͰKEoVuPL $!2YG qQ\=p#b^L" t@_vf[Ci\K}0pPོ4[ eGR>HƺpZ'2nR5Ri'ONpSq)sPe$*/)[.ntB8!EvP')^^h3ҹ fA6OggS0#I'$/<>DDBY=vs4<픓rCqpr}(oBVſZGX.ˑyu9.oLAqq3J+)JLؗ4-) ߯3] T6o6NNET3#$]% ̈́pחe.](Uv9.*lOr0btd&H!%XghH_Rc Z Qp`ޯYLoY)k] ,=+D3Ԡ`A]0 sH=n& T"K^\ĘYuPaeߣw,&;lUbf"ɐQ.m:2a2tl+ls&(x9P>CrU+cJWr:>gSc2SoT qX,d@]?wa%ծ^S᮰"nooo.֕ԦzDN($+,Kt%lN%\\2P![{{{;cI]jndr?PԀ4w*`%4f C1/meNV^Wm[{on[޿u5*yA @PHw{h9:r5f^Wt/vScz[n)sDlTk"i3#U{b];i!F﹙.G=љ=zBUڰIa"c![(r7}}qiÔHɗgvFT2sgn7?[ZںuH_M;ҹ2(]߉LU-T8jUuQQv/}>'zu~,wz֬7s\i9oap[];+n2譀2!RwA)5|a6ikIffQ#/ݜ8xCx>agI\З#.ۚܫS)Ou^nעX˔+Tn^#F02uJ뉽=GٶB['^ݨػZ^3hqԁDA̾^wq\ ^9byMk58#.龸nfoQj9-rd亯i-Q'$=9DuDnOxa,p=4$Zjt9ެ3l'?לufqotb8fv0.57uA `쥧sx0DJcUm3@r+ɻ{o@f73UJ%J}Û'\]Tz?㷵VuR뢈SFBUvQ4*WV#ȳY򐫓S{ՊM2;O)8]3 rProj1);\?qDM:kh>S1_5M<ᮡwvHyғq/qS=m>yb /av-([޽p (V_fZ,"O(@1(ޛ#}U"G1)~ zհ6$3LRW,ۗ2^:m-m=So*};um[لRQ\>}=?hڥHجiϯO]w[AcRH^բU3.9urmg{7O֙ߴ]N駮c+;&k͌b%ܔj/>'!RZS<ע{#_ ޿&v;?Lxeu̓e0d4`6}4C0Kbeh 0f1-;{SpcttXM[g=!Q$33jf2+嘧w7ugv՛kwȢ*Ӕ-퀐mcF}t.挹ʸsQYOKA3"(~ף^9q||cӓjzv:V9bf+us7ɸ^zr5RlTVz瞉0GUy&.=u<9خv}h6 MF箣t*:ҥNǡqt9Rzd\TM6*jvһm=m &3]fxz0'cP [#X:BVu^a #Ezݗ כe3fmkEn~dJf ΛN6'g`~Y$;kꅹ8Zfv)o|8㱼^}4z]VJuJeє['*7E5DS3..vy\xw sCX+ԛ:^:~ݕd1mk'z$Z}zLN;QoϹ1pi- |Z<^p79>FۥIDZV@3ub~W3(hVV031L ӧn]dd~E όmʑZqj/5XcQ f{껷l5fmNuJ,Zt@^ z 5g|}HjYVk䵑mT.`@Uo3^?ཙʬɿ[9bjKXxRf,;p?_mԹoNΟk]] EY۸nsft͋$<2A2 -Yag{)PC,̰mQ&0KjU@jpr ֘HZ~@ w$TMɿ]VŶ]d~g_seQ j.HZSkscR ZZIBિ] k kMF|cN05piN u 3K76O)[4#K9Hg||1ݾ͙ߋX0*@,c. My{ }sWv~yr(߲)m1PZx4u^Fc_֯ͺ-e˗ܨy$zϔz2z'R=#!V%ǧF6װ[ܕuӳ{@7 qն-/d֛!>XM  ǦᎪO|p`<<5B?K5?8:=<7BA0:<=:7:=8B;F9>;;<;>ECUfށr#.&]`@@uO'Yoқ/noxE= `"U3SX L;iVyŝŌtILl}[m-ݽά[s=+|Z44QӝEu\|®j"7m~]?ɪݎÇ}ܬnU*f}ֈBH*TV=[ Ty^:3؂p3>X~XdW&R-f6^vvۼ~ |$ź:TFaJ8c]RAci4ݩtz0Zt%ˍmw=\ (MY@uv B!"&\|=}v3)tJ]f(z̞b5Bʱ~ixB{-g=ϸ,t_P9BGBH3[`36ȌBI+ѢS˅iӐSI]ܞRY-t* "$ TH!S#g A}=3Z*݀_(~Ԁn83de`Mar+t%3N&uÁ9*xQu7Z!J iqڧojʔUhe WmWt$ӵe3}kXJewmwD~>]S6|QOW * q]sJ)zoV![))n5*zoԻݥVC> DNIO548ar/;bqfdd @[bFd)C9JOo]20o+%n̊T(/ _v#VϨVNhuZ+v[3aiв^EVҫf\czOpLq/$.0b@ڠz_DWf핶U[6swzvCjH@H]rq׉[4 ۻ2e*;rO}SdLqv1;VɺpOo&{&yeoyžwPo97{Ϯ+o#( =H WqӪNL\ŐnˡIc*wC|Vt)Z_:&FwR!S/(2M6g^Tz湉O_'V)8&#,Qx47;^`f2 21G}ewV `7E/ɃyOH שE`@:E$} xJM wF}KUd`.枆VHU~VOtc .c=ooYnLhAd{vT^ʵv7_-rqe\oʇVQWyvxO+dK+Z~e%']F9>_;6J];>wxڙPF.څԙZM,ܛؗfvw幛arc} l\hjFLa V޸nWUTRLEo~fp dFC`1:" aBP"IgZ)u' Jd}U^l'1|BJnD>J9] Y`,V.J []Y[oy4mƙg)lB5gCEv"@[Ŀp 'B𿥨OEJo2<׆͵r7_jz/ΫV晛frYktjJBkי¢RnӧcJDo~tGЮn|6{*kymY\2u2dXaLt3[^)m*ylֺ!r|BuU;܄Mo)T_Vˍ|dB\A؜BfM5Ȋk Z PJՉ!j%n6ޯ*!\]PJ!Ő\Deҵڶ'Aqmۓ ʋ4 VlK3T.vCMc QUۮgd X{|jKmnݾu8A$ʹ.Odyn݌'[Vi 8*nZ >2K#d@[Y\4 "-fbIHf̔*yk~Ggmʘ}u,f< ^;8յ+m4\VY4\YH _]ۘ(Gp@n,U [#7B"#ݶܚwRïCɕʕWk32N(G7AٮJ+Յp|F%< m \;ώ4.rBayez+e ˄Vuyh/P^kwk2u/h5ѲiDf3]n/c* Ug$q&1aj"祒QBɷ0tec?lxrQ|M)\7h(tZBAY~S;%YBQ \@ЏOGX`ߛbi#P-ovVvQnfS[[ZZ 7G(pX{IA]6 IQXD[+uol}t{ov2 c`tx3?WA?=%PNDeޭҧ.O4Y뛱Uw;uf=?BB:Z±G_]/t &=fS~fcO7Y`V_Egtsqi(rHŢv"~ti\ R7-0!/ꀰ bLڻe[/5׌S$/ Kt270< ZJzB _ yL5JY̗txwz+I_ϻo~Ӯj=)ϫVk49n!rvT~[yxs#Ntol)X&Ϳ㪔-JB! rC*'lgr~-' g]7[,bT V] s(߱UnJ"iIpw0TemJhK`njgI0x70)DBP"70x+RuCA'6d*3eoM{c%Rɲ^Izzڞ8S&C3W?}f_uMh$k7b*gKPeOk@X:BQ{ʻ\SU+\yl1Q\SsN$wHg3M1ݬCx|7k8eeds|Vc9NQp+.n{娩$Z4 ۈ4 "iW1amϘ . qi5^5ev]=VCgW[DetPܛ&qX[lDi*:s܈ )tC~dqGb(q'XPhjR;jdeℓ^ CkZ}s\ͽdUYL |Uc'OJJ*RU# {[cvR3Z/H\]ֻIfW?]eK5;]3[-ЋW]vrT2blWcZ:xVsey:#;}drOf)ftygNdd8r)HJnKou6W^NMLaJ2AsK(V RXA YRffRe)eT"Ռ>}Yi).pۗcrCq6$q³c!ԴѴca;K)=ca_B3gL(LסX \M: v.UqM $rsl/o* l׼eYN9N/%mʭ׬uѝWyk.z}ʗYFؽ0L=/@3fHh[Z[K06⁾2hdzt:M&JmS8 ` 0#II*e@ɱ/ςG5]<ÛODh|\ꘚ{򒥂t̄^Uo;lU./42se c?G섈-*2hQ>nپִF@܇NGشjpBkITkHF+H!PnQ8jϠ͘SJPDf6qR # =y3 ga,9 . z[DlO|H²ZF˾W2j2~qoگg{W5?F<xjԮT: gTOڒUʍX:"AږFʽ'J[jP9겿uYxѳRQ}mLܱ1U(ƶ0c:t*xP.7_1=P+9U6Sha!D_x`MU䈗CJ܌XJ^/CN P 2z© d- @Ez[KFQeGh߿?у6^'cM;NwۓZw'F ɕjj6G_8T5[g$]uV2Yޜw_/V̒݅W]eK :V<5m+g+s<Ntކ}6!|]+]h+A\0bWWq}CfVRVaє^ :<s].[Y4w\H[1eՂּ~ _U:ilFX݋$Ji: /b"6O5OXk"UvqVԏ蹠4p{_.NB9|,s6Wu36,iCO$(l)lj 2ҕ +Rhf"tATؑAsim.Q:[2!Q])]c(O(p8α{f<_5azK=4vkm8إ(S0PdZ9h: 2ņ$y@NyGj;y9%^ߝUb-퍻f{db'T ;L1~'+\QBMOW^{6EƺTnk,#F3oچ)OggSù#IƝ&JA&7ACGAD9.*(#CCN6=<:?<:A?LN%,r@{fcX&x f^RWA:.{{n7ޱnev_,ldFe 7ZeÈlzkgR KNݾŜ1C-gkԲMˠ*e?H{IXੂiQ mx@C٘*,-^ی7|n=Χ#<"?o/۬.űd*)QRFDt0Xs8jq[u(v&$5͛;HͤR_'-D]q#/ ]{3z3^قJhb÷(c@Dn%zztcH/B[.0epxAR@ey 6&7P 挈3 09^t^@;"cߜ-9= +3@LMUY tC헶DhƒU%7{sh/^)L$e@# 2mVwsKS?G,+t G̨mGT2rșbf7} 2lQGxH^cuhD-C G[ ~JUj] ^7x쌉pQ=^)s]qwG|фv>9P@Qr ay$Ҹ"vSHHn0Xs/0ި_0T2SJWpӼnwU]8=.#+ֿ|ȊdQC7V$x~gJ.#p=&.)Wll9ش#\SqrVKF&ˮ:}tgJfZ(lsrd ' ̩Se.gC;ZjkWoYBб-W1Z9f 2E LI)c3P ƹ +Sm|RQM(m-u$!5rL`[z?צ( 1a\V4K[Y npfĕEH ߿"&, `8˭彬ֵwK>L&ixj"x409WH[g#nC&ҺlU*׶[)Lz UW30J@C XlMQժV if|TC\mmMwP]mŬ+TOI2S97eVeD*ii$Zkw[c[kmn- $6N,3-haj)s3oR;f5 z&_ ¤w4(Y]S1 szU*b<0{eMVR5 CQt;Xk$,Q!T>CI߅б* ^2ޔIBuxq89,q|ls cL~s(B>WTWέTjazeɧݛfU2=ՍW=|n4ydSa[*fDٜ- pE|ual:{#wQ̨/PT2@*0i6~慰\N%>nxΛF (JDHGP  ub3I`Y<04<{S44CLsysfC!3nxw>󎑰Z) ;ZH g;WH捍2IPtF6>fz8?KxRn s٦Y嫴ޔ)ECN)b!~eWT(D#_Tݬss.8 $|?Y /ٳ=IN oͣ1ܣ η#+Wr8_)Qצ5 7:U+&",+G),^֒įPL3X@^? w@<7ݛ!pRwGS); {s j 5q@S>Cl A7ɔ)$zٿ!odp铱?1;O~gmPO[)Ż0čwsT~:튎 =?*E$|7t~w|_ry{ڽO[Kh[.eF_o*̦S$A0 3D~ ɭ"27mE*S9䦵EFlۻ@'2b;^R{daٳ6rR>ҀKkvn# nfZ!<@M23Sef*W@H8}q)}":&W.S֦F?HK߰u)o1^ѻ{TfUv.Mi;ғ׸ȫ(F^Gc݆商JklQ.nFiX9K.IAl_޲֍:>C7$ w:Ƈ/JEi%7b\XH t“xbFQf./9Fo8ڪ 빙Y N#?{%&gwB/ߜKJ\fv'^nx⥌I:|&3]*"RPxLOM$엽G[,mFVSUh-cwv'37`' snݗjco*ΚbfT9l6gv}M#ˠG?*eM mw%J)mlg5-aE H\bd@_?\#iLnohJou&J^lWYNE0: T,U5Y{iӞ[OggS#IEJA$7<:CEJI<6JO995B*J$Nzlҡ@bե ^hXE+Y2Q{-e򨍖_ea]:BER7Ghe9qzqY Lc3.TnP-}/˾Z+=ݳw2z b+JjuNBsa_3B7;$*Se+Py+^ Οe5mfCQy60vj{mSr*gg(VKRwܱ32:L)z+kӞfWFDD/ycfϽg￶7wRrO9?wJ͉lُ}ɪHQ;>f:V<[{;/rTmotmr6|ۮJ^[m5yZ=SRuTŶt"^gT鑦i"Ǝ'Bg):Ypg@Ikyff~-%bܯ4r \#J9mnEZ,V zf3Vy `!7icX c:g "t 4#]i]X:BH!,O{˟'O9bE1]w#/tC5g ,t]b¢Az`D?W&%Juݱb>afx`6z1oS 1   Ddw*qZR{ӗyo=k]LL$2?/Ѩ&,voаSbs-3b7[rw'ϛZd%WEDd>OA <%:WUEbOsuώ){{m˼MSj5m G Hi:@9 @}?,HfQ6SSS֙\ oiul)~y&l#xn4M{MHH%ZRsةne'36`uw]]7nvCkIL)ߴGww63# y7s4iu\+=**}>Y>WY+Ltt.̭XbRvg³ݫ$f{ ˙Y$CMx`~P]'(?khЀl0 M57Z6l0p~Eu!U\RH#Tg5|ғe=p͛)*+$+wuN~\Jߟϝtv~xJn_(Mua?ͭnOFWb'qY"JIӡ*髀ӝbZCT %)4F@TaU=*lF7 vWO6W[-˻0.D\Hr޽rj{̚0SD䶔neW·b2`=cw3]M֜\>2?}&(lFWg;`0(`~[Eb32YKcJ^WO겍ekȎ\x+f{ƻ\g_Ӄe_:V_ZG]׷ض{tBAּr<ݜ}ٱ$(*S5m}w2M} ߤʵA2tv̔?* Do: ]9 Z˻'w|p3 ]wfRPfzz@*nVE S4}Y8\Jylv݊yPJa t Rs@T0[޽٧5VAe631@Oz"U805aIp_f(@(5ʔe~$C84pzuV_nu ,-3G_fx};3_j|GlE:j.Fj{ ٥k;CTg֫ՄRmdkSʵ{wItJ |7.7jbpOi^֞#.Ui.nWb E1G"5TlJWO w?'چAur;\uٱF&hLn ն `֔?vp4 iٍ qO >KjsDCJΘ^ $yKֱky^5o&15sdz_c\gϫc͸? cS>4vsji^܋ȩtu՟Skl }HzsUr7ILWNyJ!Eުbb :D˒$-S m_ކkwg9+6]W쫴FM^O|p]^>>A!3m;";-Omwo_+cD9R{\\V[V&jukf Ә-z;9x 9FK20I~}q eH.Pwa%cfWkQ6cf׊qYtΜFz5:j(__=띹w:ĵ{N*'kh{txʑJQqQq~pBmLV+WYq{&!u{WN|+Nt([toG9_\LǴD4ZɤBT=m3\yۖ&grK٧;mj̧\g<=̴yK1*% W&CUXA i黼#ALZcdpnSFaA\0~"d1^P1HlwADﳷy;o/!\3GMX)[yL:Ït1tb;Tq{~~8$ΚaET={.*Tr%唺;ilnojTuSQzQU02nU?"2͸iׯ$WZ7D¯'liV[qڮZ#F6VGE1 ۚ.lo$5NUܴ&31n^GJaFugQ$J$}CV ڽhxy#5c~Ji밉e[^ FńbM:fG޹S)_r;O{q~ueo&WVfVjN9 1ۜ_o;9ϾwO}jlLu>9i[y4ӿTz3{Qlܘu9W^:iJt?Sݍ,O~34_l$gL"  "rw;zv6'SpV8&{.4ʇϳ:кGMͬlrx12႖,T23{ t^swC[fV [Ғb`ϟa[=X_:ީBhׄ`tcf0bԌEVL\ i6$75Zd\;l҇MsqLwi}/rVw̘HJp-*3hwxkw6zI4_<1̅hլTtT:$7ʩ~ya'2]c7p/1%! ow\\·q]VVʍ-f|.a܍าPkXmT{B+4OggS##I*8.8;88<>CFBDDEDFG<(%F9988bX2|_AM 2>_k162 w$zWbUfZ1|c;ښ'KXNWO;]&_~P,|g&+W?wv~7{,6}əQP!RP}F쇛*(p~maSP-jW`)aͽbÅ0;L.#_Pܔ_ km0/4ܟ +c a Պ*zٔw k{ w pfE֥S̪#"BOlIP]Qd{ϔ)_Vh;ǝ74-mrn_w燿m2a,c>qgZ?Utm?Y~{0_nJ+n8,dܫMǕ<#;+ }T+ UD\U.cxb<#&ZaS^9=T] ,6ZS:19=1T檪e!ˇдoTΗw)7$%"2uL S 6;{WmS417ǭE278f `@&mj;4&K.ZZ@WNvAk-o=qJv[ u,2t k34w-_ `9Y-ـmhQ6Y%Rmo_3yѥ0k,Ɣ  V.P-\%O{rS˒5[L3C+A׼s2/:, .Qx 7ߝֽUP:mԬպ&K }| wG^)mZ:v@k߾/2l0)tjZtIޢٶmu*mk=׭,s S_z{ Ns?e+f;ZoGLGmm#Ұ _CnQkrEM*Zvt.ddZm-mSZn~3HBkYfWU|TPBXވ+grbmNgڭ\n֬7f6dV6 *QwA {,\]x}ֻVsMm6/>)~'t4c#6 =:}?3^2"FYMw3V=/Uޮ)kunwn&#Yֱ WkUCJu7fj;{6 sەrmm{޴u{* Tw8[5Ӹ&$t+C'AGyakYUAEWsku {wfg~EѦԱR[$ zCR^lN+KwL:B+Զ 5fqLL,VͶr:i:ds[礷t3}q"ϬTsۅ~J=n7Yp"K-޼qSؾO#^NZgE2+J5)Z/-xkrwklxgE0.e߽ !Q/d>e^+,۴t:6WN,H HNF >*Dіsw/OHq}qGG|&#wqohei@x'N}8. ʡtq[og6w1R>.o;Ri{}odq7-sWToQPq[GiXݜl4^`w{1pw0=θq v[킋gLw7s!P[88~Ę4V )3H0fv1`pԌR6lY0$#K+^ I5%~|=SHjFȻ*.EtAuV OM)FG1\kn{JS X]+pic1X6U@TDpSJc{d+ 2]Qf\NUlF+LĔ?sG2ۄVU6v#Loz4%Uwyi|M)gء@:!̖qk_m90Ì)tBfE8{0@ڄf}e@.0Vm (R @v1%ʹ`Sf)_$s;Nrteh~*Γ9gٔ뻞ѝKLsl40R:.Zz_1vF⻥s+cn3o_JdG;}%+jߨͪ׶J<)>}>roCO{Nn3>撨y97#M茷&ls+hRLԮgg;/I$gǫﯾ̧g{6dz^ڇj&`πAl:0 f)I#AJU3@# X(ԜVӱmтדn};NuR` $@Q&_dJn6"72&:mֳӵ~ R36ۘ DA$U?+e,ܞ-dl=ۓp\ 3kP%h 5SUpu[OzkԮ4B4²RZ$l&%7h5'{=woT뭴.kϔTZ'HFRT0fXGJB'"M+y>2,V/z]]wue{キr Tj* 5 +όRw1KY.dQBjlݢYy7߷fݖk[LK\a i ?|?mVt|0oC#*qлڮ^kjY6ˆ 3{28NY kZ6t{t~HR5ۘbik}{kvo҉+oGT?d%2q\Rޔ%v~bV+n3l$׺\fF5%]ls]{r798WӴOZLjtLvKdqm)' NIlD)!= -w$-QuR@H՛w^c8F+ W[M.>- /W2X5kaຐ{.MgJP6-`3S v= f7̆bAw ktI7 cTx* Mn[mxw{!iwy氦5"8m˲N<w '>\>:Җdl=K7j/jOggS@P#I#@>>ADK>(@<9BGCEL78.(6DA5 dp< _[0M=\6#Iһ99|Q.n73jni=LΌg հn|?])gXфa5۫\Kk;;tuwMf)+U1R(UG%\V{XN@wӻRӐܭGw{XۙeOYI .mAвD(?p*;yjlRT qW-I]moUa HYS,W7^$9N/ <3EVTݴmǪvhl%c*G=U7wagSt:f} F$xn;zzY+00qd640̶0Zg:d@vX+kNe}a75̔ԎfcZ:G\4}~2FK# ͦyIU>ssN?2UF}NZr,mMVl2b#|7k_{BqmthZ=tsڒk9+5O,L&h"+='luׁH!Dl0GP4'`e9.X,qŀhTY\oʹ crGIcm4 T7&-Ҹ#>vY@Afz8p YMŗ|T2ikKVON*V{rd\6JERX%u5@໳N7Ԣw~2mrǙx|4JXV_d7a)!p^Et̠7wʸks&G#.<l\YY4ĶM@w;ͺT(2F.ٟRzܯ;o ݼΞddWv' rrb_6mwtE5YVfNat@~nc$ٚ[^-k5ݶ4![tbL9r ) @x`tC{"a Pˮ:{>C5j,Pudb*>|%^]P5jjar 7fۮ9򴵎c 9O:mm6mIrI{h1&;f(.x\F5*$#Ƙ5\gJw=E9J=n'>ehDWܭ{6e.RlBgcv5 r 'BnKrSYɽbhҞ> qvW$"I>kJHO cFE bn*cf σ2Kߎ"˦d0 f [ezЛ_[ud]a.;91ca>>̭́ XzS uX] s{\$cSZ/[2Zm>gIr;K6ɩ@dfI':UIe=㽶zRnbBOݛR~.7#(f:'} @PcPR d6\vNl敍#QAƂ (h*$܄`KWeEľ(}j b" !eE$6f݄] 2YQ8VLYۍzzieFFjcLߥ1 \Is0!\_XH9@2؍:y8AR*+yYtJ~Oý7/b\-ȞoZuԌtҠ:YkJnk=tդ4X=S '0L '.$~dumav&u ρ=0yeYM"OȨ> 0rJZHtNLpOsBF/0>1ikz` + `޳ @Cj$Tv]- 1Fތ=ne5%y02-"TA~eaolF L5%!SlnWs8Tx+wPӖcEvd1cv_Ei\91wr[J=lNx_ܺ} f"r͇>8EKTFʕ.FU.}KRzWxs:#7@tX-[*Y,!R5EB"F^Fk6[@3R^ޱ^\ q<7 worAl 8p> 햆 evbк*#1rtqM_X8F*UeVv/·[R!?j'syȗ=Ǿi"PB:{{8T^W~J}MZYo)u]nZ+ DƷ>\Mt5vޔ IWJ#bkd%RA1(|W2pQT$E$a*[btG,` Gb'ې[%&c_J4rI!=V=/>lmb,lL,ۛAFZ}(f[RI @Qek+nHT!o+ƻ}9սmsr.R6;QV~>Qخ۟by循TТ:3;Of7zX=(]\n%K9)|Z(*nz\ZCu;OvDM}(f[ h͸rt8\U #8fCH:\ΒȊKOTtWv,!W>zQ]IJ# jGnPAV&qoN>\Ug l@L&h`M2*!R@.@~s%)H9pa0{lrJr/YYF)#ܸ3n9dEq;z{ڼ.FYJ^z[b[ڴE;f,8"Uϯ\zQc$Ln6yݚ3cWy7{,{lZLͿQgȮomT;L{ëČJ<3|6良vr}es$3fUED [ 2 _tB&iȎz+Y!JA.r A%iHA &\l4]΄^+WA'fd}@2s1;›N7ޚ@ H(\ 7q `23Luf V~GZu1H?lv]/&d7Fy }J,q<ӿ!nfe]jdekTɞ-1@ <=֑R^:!U*yO=nk1sLꨮ+nƄ%FjFNt.F"Heaıq&ȂJ9$QaDEʊT"e8rA T(\# OggS#Ixݼ&69:A?"-;B@>I.-..@=:CF?9;;<;6weZ6ҟ x2`kMpdifhgup|bҹ(ArY [ x@TQ+Nx3Qa׳E0 2AJE|Y@ʅ+JܷgRDLG{r1INq"R$2T+_Kpt/S,S뵎4Sk3Ζx` ڋlfnZ2 va qjDMcN6FrO5W:f׬6j2V~e)u{Wƒt((Bm] (z/Rs)YbuCdSF2u=7v"ۮ]&[#T@uHMM :Nz\*W7 jgW^z TMv]*mSi(hR9}{ łZnҞὓwW]eutŀ3άtUw7^;[l?Z_؀c M @A09 + pOi'wiu A4Hc.`i dʔU j|v.v7.\V,:ީy"ty=>qO4GZePnՓ]oݽHXB༟9՛jyv˹sfeS<8ܯ}brdHR}6Q~^|2Ok% Iu{nw[3j g=ӛj<8bP9{ú4zЬx`f#_ZJ;G <`QVJM#yԋHENOէLUMoݐ{foDfњs:]x봝ř49>{9]n }$HOX,{R==a?aR+˼MCh<*W_;=zFb]M_q)1ݵ?Y9cBN 'z0ǵu`72 D\GƦD_va~)VFÊ@4#ml ˻sױ<71i)6TfĈ&yg_X>;ԅ)z^S QlnـJYm@~|'eY1*Lkzk۶U{ob)4 PJEv8_VzًO$Eإį~m˩ߣ# 4lrVׄ݁OSdcU=!+_o[mf]{cV z")xodSE"N tnǤi'8WS3fB{V$鿘?|>yhsnח=ݖm(3dzkNS?.߫b\ѰtGUGSu *ג.$ v&$G+R t',?Tޘ]~q{E5ҴՈ]OgТ/V.wV31.]):UNҥň@縲eK9c;밢XN;$«̄.$d;9ŌJu suJF !-e͛tL[&ceе!#M8<YbqUV6k@NƖAـf-DD.0QleYODy5}'⧡~ieeS{3VcZMlّQpF~+oW$@ mݽ꼷ҧ~V6&rs\͕s]TRN!4[( -f&#"oE#–! #E-rM=,d$'kh ^ܡ2^BkLa\MRHSaŮ b=0,25k7cfteUh88dًp#xKH#el^Oj1P`9Ɣ$"y~¼Ǽnr5uYlsχƿd/E똿qtAt)OJ=+ W.T:=x1q7i9գ"J3r7uFӎCmWu՝\#]& Ab쮞8br@ƑjT7i.(c U`G< w4ZLQ8&-e/YhzPrٝɶݤSR 6x~3bH$Fpe%:Ciٻ`/.nB^/9fLem:v}|-mz2eퟛF'\Tݤb7qb]?u-(_Dv^JNJ9ZⰓW#U-]:ESQ[(<@{\AùƩ+L] cu5z j `+Iq3edꑣ(dk$sײ2y S_ \"mEhl^5Lξ$1/cG- 4[S~"~ӂզƿJĕSyct dܵTCRȋ!ЊRy雹,Bx}jCPY1P/[%@c f9ˆ`vL@o]qGT K2HDv%Nڻ_ j}5Ye7@ Nڔ(>B9q(N9^}IZ6\3OUJ~ٯesVs=~,GmvKO>e;Zrz򙞒[o.~><"] $X>p&*nWЛ֛Qڧ}7 X䵩۵2Fs4"w 2vJ޴ǥngNK6dZy77RP`_ +[dƠl~RAWA-acBPKXRZYQ#T0sI<3X#g:sV1KQ ^ 0_\DbgXdӕ uyLRJX%ծWj؞~6gufۛФ 2+_d\ bXBa^?`gGT?[&*x٪\ q&3 e{<:'Id6+6P"y]kwO|oO~?6Zom8|ؔ$gH4rP:(jbQnИv;rcb^e׏SW/A{y ;U;myNRa@#Jd~H-I^(Iۭ@,s'n̷m N6roZgCcSt׷} qy3=ꔰl"Wp8_T#،6't2z;BdLuEz&-.Ph]}^ŴrT0C)g]kѡ.Ú+b%ԧ\QsJ;3t/(^Ai D:F" Ҍ9 (2KY DB:}I i9zJ&lisS^*7IJ" D"JDH%'c[xy}dvn<[cZ57ի3(Dk ZT &[|ޡO&~[Z4 -"ǖlOggS#Iz2 .׿MWu_)JV_vg/\{US2QJ2g22nϟ{1E/x/m\P5JWͪ^`Or`Xl($F?cæD@?W Dыũo{a1K JsdTzB呥LȹRȳ׵7s }il6DrQJ ([ ;? 7:n۱lJK^wotkh+@1( ,*7.BMF<͹+QU ٓo=rO5hsˍmm[aR/Tl<+*ߪ,g ltdeV [k)* )( #z"$.g&NBDW/V75@GgF0H,\Zٵ=Mhn,llsRO `;Y`%& LɑU\,(ږU$kܻg/$e+%Scf2{"ZuXYc4TNK2Vi_j ?xEvf=k8sei|nvjwV:SVaZ v*QVȪMa:,RWVb+IDEj-ˡY$p.O[8Fjc6DT+q+`A$ !{3.23إ/sު*06(  *ސϊ M-@,5fLW`?hnk+Tvj>\uZs"ډe(twJL6 ]yQ~?('8Wގ fw3)uP{{wa:Rژ 2ٔGONN0%[e7 .KqۮZe./.F&e fodˆl "=dYFH aAs0ߵ?k 15M&}6l7\˦ H: [ 5~ls.j\6.92Zik@[خR:&TTݭyxW2bW[{ 7b,\"EZ#- TB M_:Ͼq%tAc_!xzˍ-65\|$su@gCDQ&|eFCq)T٭]Wc(\\dd P-*n7~lחHMQ##I`/\ =޺ۻvm+NvPl: grF`E?@SҚ1UۤnVp䪺Zfm91foiٿ \R_r @?MjI2Xq5=s<網Ĉt͋mƩyߑnͶ+|Pju:H }ܼ0eEpLeWTv7|%>yکl5ϗXla;H5IqĚCt^5:qʹz$'ʿu-oc[kRr| [}}CZD }[^N07vc)eO2%Al?)S,DZhhݙLWg_w9AƧnҘ.J{MYܬ#u}_D%׍j݇JkSm3Ɗ]`tbofa+_M p'+Lzz:Hs|g22"$-.mIh(HI^.CL01ԌR) ޲khrit:L.O޹>:UA+]im/E.ar꧎B_^.ET'{=]7n3*W+H]&M׭oM>%# {VB%C&qMgK.TmpYqi|R{_%=3t\RKiyH MY0͈p㘥9"wW };&NH L |ӛ\0LtwʾoH<3@|Źcp>%J. u Iè)gO٘p1JLV=;O%kzow-*n\C둜80lEuIzݵJA_'C(TJtVT]= 5fLvnVjj}e"*Բ\,y=nuj$LǬfE#ƹ:- [ bgٴkE5Si1ou7mgu+dQ.M&ZӞ iEF4-LeL&@0'E. A#PePR83k12aCcx̘J^2){,;ݳלq2OƷZdGܘmuVAE{Ȕ~l)vQqw,(}+ul)\Y]p,z%2J=Qk wnXxi*n\s%Fj2'bo {4K|?IyP -:NPZL1}.V~G3O9k`F8eOϬtlykdɌO9SЬ6-zӚcXZʳ&4T]5Rx]b @?s*a(l^Eq"-=ӸNN{w5ה7B_ߓX#j{:Ԝ}/uuդCب9lrQ]}ПQjN)Jϸz'բNR[ڨnzuznm9MY7m@aeҎ|N+쌱FT1Lے˺Z9&LtmTxm.m ;ޑU.u7uׂ?[f#u=(|eNg6Z6+=Wl5L }{g\(SԆbz7WUbs>8 ~"ԹX"ReMђ]{|79cFM$jVWMbɷ}%=vu޷r:E%mՆ=jnֵٿۍy,n<ᨧ1Q69ŕ2d\|ӲlM͚FFwQw pmuS-"{*٧^͍u i)[UMz:}Z>fu U-j=lm?W sZovLĂ-bmDeHgY70XyLct&zc]ɽu3+ 6W =;:9@C1E<<9:7;:ABBH˲{56H;dW2= x0$3Ƭ?*2t`[y?ٟQV׼~^|Z_(Kܿ#ͩ4꧳7wq-)ӏ)ꙭq}"ݸ*doe|ӫ-~Ƽ f! 㾸$djykca9v#x33e_A]}޺דux~s]y)|,)fg6ا(`0Ķ<*~ݍrvޟu7WϺ˧d:Sg<8}p.:R5˃ҳqO[a$ 7 wz'{ZY*s _g-t=%5ԝ('9^ݓ" h&'(q9B^e}flkXL_^7 v0d%M2)@ pV*SmvhJ" yh i.(9ҕn@lLE?1}!h?ܲ>N7Cq>l-O#r]&4|;n=*6~n*֝Fs3R.ݢJygs{g/RznR=Mo'[Prt9q1; fB6?ݩ}ϜU{>7uYo9ޣqwm{mmmXa\'@"7dZW^&Pf;t@w<vVԝ1^M|Tӽ5\,* =s,)&Zl2D l8E uzΪL3UXLfLfB˿\ npaS޵l/e mv:NS>ydly,g]&?ývQl)Ezr>?ň:$:o|vsY ŌP)sIF!Q:[l!E1puSv"BDL%#rSqyتH>(ZX F{wԂ$-fgDʍ Jf""KxS-@LP-axZA518h9 50w9j\>P!26#rJDN)44 F*""۳d]6x3Tr( k~QVZ̾mv[$Yc헱}7^wƱ34s$ qޕ"+eޝT'\F~wϕKS{w+NB(7ۼަFj4edZ #; Ȍn|DgD2N0ƹ)H)i~H6\YLXP7քWy4+!L(D+@|- 4fiv/t߽ ZԜP`ej62 |@Y¬0B@+g5٪Wn^)U:U.ܬ$ >B޾\0u+ =Tb`VKr"~eBel/VgT_RJvҘq'l.10mB]o-S ^l _T % _>/YF+ 聓4 0Tr`;t*EX `\{^cEliJua<]m՛˘ɧ:v\pW`eϱ@xD~`Jxͣy`b V۾e'í߿vobMLfeع:" R,O6ғMO_ը˻\GMJ{em٣5bAGz$hC%U` !zCQPϲy{ `Xb3TE+ ]{6}Ʊ ݮMz~vao>wIk1mօtOfQŰ+iT28Hz_{% J'.u?ٜ"EWK&H.iǵLbfgvϱcM|'`"w9mŖ0 pβmUvcXfDsWKt~n`BRMˌse\O`:n9_vDA R="m"̧("rgum 47Lɿ y>< }ݽmu4~xl8ó?*]NɳѱMSUs Y D荧_,}cw6lrexFKNy Ik\z⦧ronlef.eX}kr{|GGr#^fm}]ݫ|6rvr63Zn҂Ԅ*q5Θ\̩-zCmނfYrC`|gZϜN̊&8757.OCR/=LJYJ:m3MRb~mLa^wtOǷ6-o7ؚ ŧBiV L,FV S I0lrD*VbduT*cvwg0A?91)lJl6MiPbhI Y$%3݌m;FI۫TJ D6K]K>ZB`^kܐh*VeF {Mś..{lmwHL:aч@@gpS:7I#" Ȃ}M뵶~ZmЪ* f ,8$񓟬y:jNڄ*AQgT)ͻ*cvquE':$޻JL r;UlB^.뭎Sz7T+$%o \pRCos-vdA=6/yݰHnROʝ֮2,g#:.kN^ٝWo_ \))Vnȸr%'%926rf2#;ʥR, W,w2,y.NT']?5dsR+\}(Tr0v,CC.vg-=U:OggS#IL4*B<@;;=:;:;>FBR NǺHEتQT:Z_z; lr!h(v/zӸDf(@L`eP|4t̝PLc G/ݼ&%b4ˣIyœt>x#~c V+ |j ) f,.935C %815s?S&2uuUrZآfhf9KPԨU k&(YY\ UE)Ϸ}ף]y kɭVa昃&Θ@[̺P)oЧN++U>ݼ+V|lۨ\ԫ֕cZVA=)g-j MnݴCkBQڽZt2J v y2>8'kI&Qceyk[}>7;{zװCSrzl`8Y;ޣ=UG8}!U=sluq[Ͷ.&]gz@NCT&c$`49UC55up;wF]Woq}t\=}"M5W3ruv1?`Bm<.j D]H:: `X%ϟMjF`FE^AccNa vq4[ͦ@C9ߋ9]7̌zS&s+x݌om7"1%b+bҥN*>>O]=Ϗʹˉ.Ϩ,黵x坄lP90qY#@.wv-֥)N=]mdћ;M`oJN@.cro8tB-+ZvN=/xV? )6qr]儍֢74Pu0qk+ h_1BћLkgz#mm֬ rJ-neuo \XV=;401qe >qoSsk&WfǸs]Y-k X,3u]{쩱eэ\}vC`T;*Z#w*1n ۷&\4.Cgnz׃Mf)ݺkk"U͡ÝwյN Ұ#LE5.oiwgKO<9PVeZoȲꮊX‡tlҗ^P>|5s3,G=cTn԰Ƃ"778\Jc#sæTW̠Q-~qJTs5<{fjv[7d$ !6N@Aߏ/ If5ֺb),| ,]CpE\';\4p$JdD,Ȣb" xP*faīzveWv elO{8\XH*Y{ |osZհp#1,V&G<oUݲKMϬ-d@T(҃@4,\\ol3 &53,Ȼ<4-neN]Uwh{9~{;߶7iS$b!5{b޺\1"+Y ao{&S?0!7K޷Ũc/n?{#ܞ=H e:ٳ=1aKn:7t.\kWmnFd.ʩ^˘]7tA酛DW3z;AVZA`!-8  ;2!LP0.,+g.8ٖ߯8,Dɂgh|WN<[yo3wܱ3 pV^ABbb飵jR.]a煵QofIz"~=}\#ٮn8Tk~Ғ,g9A~ 1>1'm.ۙ ߈F};'k:3uի\  q/ }6UNیi'#HỢV$ݧ ( ]èMI)4"TDTT#A0=]DžD'Ս +KQ]qtp3S4̾CVu.g}"Oc/iZeݜg \\M$}riݺ؎4\򠱁$[kg~x 뽊 `5j,+fOe:̍V>`*wz[xV液UN:dIPSA6+곜jizk"BБBx F]z|]gŷg"sx s=#l3s<^YC:JGdeyen]@*(zVNRUѓ$S*TaCz{  7nCj[oֻZ0ơ-prG<'g68_P`~LMA<BZkR)q%{3#ɘ:B+_nɷMܯoK^h5LcGBuduh@-&C!L<{;HuuQ^[u)n/ZF=~0*9^^s*Pd)sdKD5pusp[H*p; e(]܋Q"`ȬPV/XBs0i ʢ$`btM۲= @άmXɻSɩZ\٣i6S{>@B*8$":XƌloTIJn_-G<1uhd ƽ{zv{L0}{;Zх؋;s뛉!Mh!9J6S-G*ήL(WC=Z_W>KN>gV6-sL٪no.Wp 枺hP#*qU-HqaEj9s'cNdSE$KljUH62J]V ok*v y/̭ p3Cϑg8W&I0l*BRX򔠰U?w?Jk2f2wzJ)SsaÉlߴl4)# tTNkQcDkHRŽmewjoc:n0ޮ|^])̆$,M ɖjLt |0fQ8?uOQ"5.{UL7}GwYkEXSj 7urA@_ռBrh:]u,@Rݫ)6/{s 'Nt8rqPfXUM;h).y]Q.o>~TcsiA_ T&9.k l ÿY |:ǣU/{9oڛmmCqV)5tj#2?<^S]M*#2wa3x]\9}fK/yFg ;9OggSC#I%27:=CC#5:?C@CEA8--A=8;>;<9*%sUЋ>\&G~HPv|߷.ҤL`of22yO`oakܣg7=|^ohmc|1#J Q_AyNnިYNvoKʖMy:T\ʦ۳׷U3JFdӾթFՎODuή"NtJ%co+'HAfxJLRfd爟@\+r5ʕ|#LԬg) 㦐ZW$H+Af99s9(a6Rik{~\Q@(/Ÿ!gֹs 6zN;]$ |NW&536cJņ;{w\bP9gOľb#lwh7i}5}$MG;)i^0GJy;rD;EBԷg}ꌛBVg:=5"n U%622;8qf;7? =.0}6QLEXJPŭxXMYȄv3B3NLx06Ѡ Pؽg52,0PpH칁tuWmj@RpEx<"P}~S!)cUԵbrv{'t/l^c"UY!4YAd_4 4u_UG+OLz: ~dkc&e$7ēNjDUVzmG ql3^^2hwTbY5$̫M`?|Lg7s]wrcZ+rV[wym?ZNx;AH(VS? EH瞫q+l/T6vkͳm'?ث: ڷ(mɈh,npݕq2qQGlyKS~,>}59 P2ܗy6lԳ3G6Cy%S8Z.G"yJK )U2ىP@$N ʘR[s(&E&ȉrLn`Ifia r0> Mʛfv)k? ͉ I@74%p5jTW$e\O4ϓ3i|=0F2J , )%R Y)t]w^RNNyk-FYa2gj|k(ʹ =Wi;q 4ly'.br" Z=2 7WjRچ"IշcmdZclu:7M0y f*#>q 1`ڱ$d.vxhhD Hcu`R$QҷX8MifԘR*_ ݮ8髝wQ98kݙRkSV~~PrFΫRUD)ҚR⨳wc}#sIvߡ/o"9:B`Ռ[άYֻa]9$*' 3ԨFO5>k*xmIWt-2:tԌY{߾tϬ\d^ Xw|/RY'6gJU.g;♞UUW5{otZ,.9B1yU8ÿf שQ1Qj: )o>4)֞eL|K%ұ3LXBZ)@Q D!'r1#0\F"Fڶ{<{mY7d2װ`-'$iraO[_p5E7YiѰk]7\wiXgik?K2!]9tN?1Ǣ*i-TtR-羜תg}m/t{Pl܊-c)r(AW9˚Y 6\:+r ojfl_g<v O>]/9 v3Qm7rc5Rڮ sdJYI(gV;l={^F?>un^1)K-<V+YC\)嚵6.'Ƨu>YQ)r" c9$H'D ǻKM%ձ@L.SzK@4"KѦ ,QjVۑE@ s77xH40(0~[Kf nl쬊gHZ^k:<5) C3ɾ[m]Muy&޸}v+fJ9Yf=*R>pqO:߼ʃRۜ>^]鼽"zfqkua/Q`Zgxkxl&FٙvSHtdJ\JMִv~y>,/Mblq8W8:AM3q%81he? `#6ol&{ٻ{F.57u&VaqckK!4hfD(C䬟wLx ED$v)ei}MYw,1>R7ީ߷i~$wNW6+*)7ͭ:T vdz=9@&*fu-6 Sɂ}h@/owa)/>ծڒ)tբRFպ0h@ pXÍ:.RE"n5z@JJ(oxӳRNiXK{Y%3;[}?,2a͞915\k;у&~[3|9kw7([H77SV_blM3GRLk-ۭXO>~۫{V7;1#ݻ5u6Z~0x|sN\-3u«,ysO{V|_ na[aTiWpZz ]Y `IDV(>niqP݄IB/Z_oev4 %x+!S 77.iͳ}Cdݜ\s`0bd]ޟ8R=E(XȓxT+aCHn<$[d*[ٍ( fF=+e2߾pof_FT?z~Z18&٬}*ױ޴,<'&KT&ʹ'){6rwU>z.Qy)gͮBѫ͠UgÙI"TKLIx-HFFk=VS +{Ć)xY/ˑ0k,d@d0\ ]Z;7uM4O=8M6d&3K1M68V-~\Ͼ퉧jug٦v׽v|G!\7|88RWԾyihܔDЦtf lV18@N)20YglJ$8r܉]egӕ)63|W'O6'l e1;ݖo;U1ݽ:?[-mSsJL&]tfg%GjA8BmT=yWWaUGge4wcҮtuؐrN缉T=tP)$9 Ql\R-W!U!i]&3kh OggSn#I+Gd%BLE;;98<>:ECM=.8;9D=LCFBBVSd$%j `'Ϭ e')I|l@zKMy̽$=9o\2u,S)aSm 1kӣP7, qL,3/}zLGgj"dm?W2f{9 +^!t)}=W0J@Ef{f9vɍbTͼ*$V}qϟ%ezRyw:YW=NIP O_92  E!=5(2f?3G}o.r,TK̔#g˥^zQti̧rWۯsmR1qK{4 @Buŝ0MdNP87\"\ "2eumHtf`ujtuYS1'pJ44ax1 H5[β $.{7BoXJ Îk˩% Ȳ,{2-@Jŗߟxb9ӗs+bW[B % E*#R.֧$lSCc>o1__ dXKtNǖb*_dnF^;5o)'ee49ۿ/y&w2%rϕ_q-8TpBH\rȶ+U,6A g1Ȕ"Ad,ͦRNŊ$ J fU /e \3X ۻmIe87K{o+ @v9C~&py&iX`sAzbQ3efJ' 0Muv[_=u/)5wJΪnq(nW{CK}Ѻ#HZP- "I+%QU$ ;W3Y*>=3CqmCEHޑ'L_j#Og]:%U7R1Q9.sD]0łgL`7.,DH`8['($gm81lM3 gnM#nX(woڄ*Σ.O-=ys } D6qaAeYčº?FUUIՔ;qҥcFsXֲ2Klt'V5JLA:hu.*)*nӻ5~ImD>\P"!L'M$5?޶A}i.P%iKܶofCmnL2RN @?ט*Z-$]D3 ~̞弽Rwc;|z :۪\Z'TtEKz$9u__WN rŴަ=6v;mItJϤT)(1踤Պ7%Ը~{=1rL],?[|Y[RrUd6ƺ)] Hl,R )E4b''P%ޙk9 6` /̥ (~Euẘ\|4)Ǿ}ƐEv}<\xffLɿhjm]O+y~ޮzyGOV7ޫӣܚ^r_nQfTwV9zw҅qqѣ4|*]49Wۋ-Z_nrlGw5q ޼ĹR}匫V5%نT[{*!J@0nnQ8E]}MܗQ 3хըȷ)AB[kepZL{D;=tBFk_7ᵍI<FhQa ]lIcVCZ[2llbcb@W_}ipܨb^kТyD9SL!l:g?xf8$ y/Q3Jݾ[.}޺JjQR~z܍9֑n 2 {;E- :n]1W=4OxOqWNRv%qiGFNQ6g߽-gR/5_k|}j:w3T.3wp?'>IuuY +rs=pkݷ V5D5s\7 &.*iN]ʬ\?_VM[Uv=o]h1;p=u~s;7s2+gZɗ{@~)o%?ՠ+5Q!sU74ݝMTasT\\mg-cvV msBdb2byv& M ֚f;HZ^*bT ،I'@y=f߾z1k|8 ׼yf7){[:)uMh׳g kנB/[>g:>mΦ|w7:.dsɉ˼~mrd.۸wt|e| khcizI˶׈d>s|66P̸uƭHU2] {no/ƴԭ#TuszM'1koPꒉ31y<敼[z՝{H鉶v{Ҵm[l)k.[5mgEC9Lp`02`!`qXeSNvG=t%iוJ͔Yp.ݻz~wUMl?=Ӝܳ?ٲcٿw/ǿw7[|.h64}8h]lPRj$J:oSRhQBwM͉[f"]&0'3],%np ]RaP5R=rn 'RQЧCβ܋B>>hG\KOYת?7OggS#I&%\k$MDDM+*(8<>CFGF{JOuNv鸭t20q˛OޥʋǘӦTs߳ķL}aD>4AŮolf]G|'+g=oSuC -Tx [InUGae^Onժs=ҭwNzxKN5DBnLY'IwVOۛy뉧1n˷tnɊcV3~\VŠ*L[6)'}YoIPLxLfK2]*FDK(V( ̬Ix{Ox=rfffL) _vYvujL0y<zݫ?/5b~/b]K1zj,4MMs&#WmnRڸ*rb]،'wvo=b100eq]wndzlW㌻kwv_j ƖpuKL|TiA4CS\q䛌=IN{HfUM >|?=37iJlܦ\-nHx0^#SxnotߩG=݉lnWя] .n.XA Qɪ*"m?OҀJD3gfv~ND3wM)YgmRֲݦp֙mZ gD'$spj ݔn F,R#D/Ka=|rL_COXŴ߻[,$:u(x:y>0_u2|Wo[ m뽨wW,j m"ۅѵmBj Kd:wd^RyYuojֹmW7e^r,*{`(,ZݛuG[\/E h">^v:YLm u=ݵ޺6]mm۪m'D\I%X8HA wΊ}*JRԚA̯V)Dڥ=O1K{;޲Y,]&DnK0mj,[QU%*LY *cγm{˽/5l^͠$ ࿆t,DLX2P6x=VZPmt,N`/q#{.V sJ]ƕfk]n[^ӚizX j'*hFH n׆f2v%K⊤Yu V+bچΙ|^'AY!Tzn,{K(.s&V"$g*;MoTw]QU]lTپgc/i3A+fJnC`ȢJ^BIF I(3 ]#=0mnY{$Zc$DmT9-[e^gi،H$ PiŘg73{”-gn"T Ks-GͰ:}{͠+Tz&X@ʰb9Z|۾YSýMT +(LrdEA ruz@aomnXk‚ve * }NavEP] a.vٻ!`;,4;@jiͻx JʐPl(ppc`aꍚRV,NbkIJ,Z?W;ݶDnrΝ2M_JQDݷ)X~ý#,]=r)ᙿ@h<#447 cq{}1XqK:BH7skV~.r4 Q@E}|]͞zr8H6Đ{9Uu$, l.F.vAm . +)6#f1l)JAIDSY [ffFe#d΁$ZG gX*}!y7A*ִ]p!n'JFswܞRmV3|Jݨsu>r.:/+C*e9(R%-7J9GjcbS-?\wg,Amig=jtp gPf+,  ö?ݻa x3`;QX'SpQx6Ko^qD^ 4 LŝIUʔ8{\9L-3_gkNIR*ӷ[ڿj߇({Y)+_)=|"3|tr5f#+C+Ê;nhT)qLN;vtUW5ęwaEVT.sg Ҕs=*{n4s9+b:֐]mnۍ,>lBm86Nv]5w!9÷L4}*^>V1_{fm8adN#%ʰo> h#$5~73ڟ{gft.l*cMIoAQlU)Ořok?YFܵ9OggSͻ#I.o(:89B?E@<=>==>;CF=%F;8:@DEEEA$4$nżbzuxށ9ȹDJa;i20쫸+ٶe7Ml,SEl\йܒ5IWE+yo%>$܉z/w[nT: J"2.’*3cx Q*Gr3sjlKnM:j,^T֧,p( k4l֊/'wUNdod벟m˶my: ސK=.p[bVRFFakƪ%7j\Wٟgٽ%n1kKl>e,"5ޭtI G k5˝=)1bһ-^UԶmޛQ~%U: ALzP?. HCYak[bu:Kxm~-=}y^'rKXɂ[Tx!}uo+GNJJlLSLRZ>ۙL #wbVzr7,u%>*s~h|q3.tcYe~3ksD&j.dܣy7[PJ^.dTJ!)smS^y2G2wJ$u) s ~d:#?(;jR^N{e1횫mZka_w괅5Zcx) E/z5"k8ET6s"R+ 5jV!o_w<~:Kw{ t\>6|Y͹xusFs'me: JWPMyrΥ7Tn39޷jg_ێRF=ۻo9D/e׳wvb6epUjn_RmpS~F.c<뎃{hǺsW O}z.@XK۫1 Z[8bڜi@j })Fv g@@_3zY 7>\lku,nʅUFn8 m`p]ɨQSfUvv<-֓cSTT&D ׫e.g|Bώt;P^Njcv-hD\zQv- Ap]gr7R%7>*g'Ow}wyJZ^^=ks\j':dr1,vv!vsu<#BS(Z\e71ad0\ 0UىyzZ37-±yonLly66fKJY PtETwH| $o^21yU`O>UC15^#qI]O5Xϟ!^ =j;3?~Q~L7u-u "Ήhs-q.>#3V]staju䔤g.7vRTrܺX39utT!K,ejsM6UI]2,L^J'Rj)ڥwl3k3 0frb8`n[ǫF= <9̑?)0!>v8za+H@,/ 1A' jc˿̓ޒz-TV9"P4"{%ͥG^;X%"Mm):)(")# LcͥBE}/,)λ:+JXj<\'PqH+q4?477˿* U{uxv%oCf Q͐_48 ە`ao٭.hjz+UCOX9K;wk_^=JK` r B6tEȬŊ؊Jr*J]J>ɽJ]{o뽷m{omM\Flc ش =gW%J =e&crs#i)˅j}vX9ײ-M 6&ƬDb]t!wNOUQD2hPsOuW]Jp];loZ+Et6%*p뮼kE\\Kͨ)55oCOxH2{ԓ\,JtYqj^#O:!/9.D5\TVR?>Yoܽ.-@h%1nOc,`ٰ J'eVq#hE)GgfL,j(ƤٛyN`E^ HRFN]Yi9ѲVD,rQhWޣtq`*P:ajD.ۄe"r"^;#^wonv.yOA UF``3.SRb č 0gmm" i‘t:{_NڈuD=%SS^H_k9Vlwc)t7Dԋcחs }݉*ν 퓶lDe6ʑmNZH]|Ur4a;4vZ)#Tq 0U[.eѷt8BP 44j!n">Rѕ+ C0C>(O1+SݝJ)R'r@D˩ eG<$h, (܋]D`+='gogFFP^f p\MI2d{V5dl^wzCzyN >˷N~:UZ\QtEˏu>bUVZ2nrZe:ԺG_z޺hTC@B6,&&lQ]DY 6smJȵq\8&9,P%q'HS&=FTa |)'PJiOggS#I6#c&9:=<;:<;FCD?,9EEA-426ΥS`JE0г#GM4$9Op9M;G`8H\xDuB eEDE)"okmIi^R:얣GuKvۤbaɔM69bժ o%A$`]&o$yǷir;(^z5ߛh85EДԆ$!ğq &a/s[?|lqUݸmaL'ӽ."͚)@0"&A įpJJ1 1UQ|d.WքN]`li db!E `ɓiHXVPܕݜ]((eT?wuȺLdh2mx}'utSM s0G.t(cZtk'luwfVk4S<tJu%֤QV9]r916W}uK(`ٶYmޣi{zd&u!d)6Hs z<즖X&2ʷ=&fW|7l6C_i{7Zqzw:ZegbHviv.Ie D@EX'f|L^|\S3U&)evPNwj_l}A3 i39jiztV'םV8Α}xzxhmSX<-/f|~Jq[:wNӋJ'y1IY&gdvfV7YVZVl09Oџl\n Hã¦d!=VDȨ.@ތrII{"F^XY_7F{Œ Aǒuz4PtGFbh%zl`Ui?Ӏ|d-jԝ7-^1%D/{kE.ox?ߔg+ꕾwOo\.زᵛadw|L9D4Cc,2 ZЏc֎2B({!2d|yomתm-whh~-^T-J,  'vS( -=۟s꧿+.S[v :\V  XҩYi$*R@?Ɯw,^r3eW"5lsK}3FzwdCRN F#g~HKL6vS+'#MʉzI$iU-VFM9i]WO nsU}uF '?C8E0KEP~n8x+{*p9S}ۏtP&s ,hu0[:@M{*n)3("i'0d"%uL2WH-OvcXhh5F8'xWfl}u$TjsFuzq&+H'箖܆,Y\zs?Y޻sqzy]7{st^]8}ڟ+SkўR'_ܭV(Nf/Vs٠Ö~<8YKᷠCg񰬆9e AE3wdLf05 axs6`n e(mnΗIyBRc4$Uhqz{]x{̢RfmδjSYT;|Ky1W<Lc!1 w ^Ko]dAɞj!N]wu;*Z>tMlżEfp]G^֐]߻^R??K^z_S93奱mm^h>z."J )yd#.ʉ#ipon+ܷT0+UfB5wӼ6ΐOϹq3/6y|~ I[A^ |wHRiBBub#e)sW22t#%SJFعABf'm9'N߅)i闽3QNnkw&Zi_L+w#<[rFȞ$f\@ Is&֓B~eqp*NqiM"aMǦ!G}썉r?k ZDzs֕~}u?Bp 8> $hiB()gO\ʪ^hߛ;mL*[0iur֌>;&&nvaw !x"n I;G\ƶj\R^ko&|֝pfkBJilSiTZvXi\lS.yt U:񓳧WAZq4+Ul|"Ւ޸{G${qlvw_Qe\'[K.=.: ~y@ 0Ѯm+PU.csGno;fq p0ppvΥ(M= 㪽|yRO5ٯ$fxfH`Uąn\-4I9ud`;jZMh]6QAw[YOI- l7-R48(Kƈ8QWsKxT)T^va-91G՘){ZPq6̧dS&</|82sþدr UgJtRMutx̪":|Z.=;YOz>Ҵ,Lky02kܫ$;t!WkM}b[ zZ~C)˞RZКֱn~ae87Ӎ&u/a3YyOƣ1Abc*~nOs{ِўa^(ЗvM@ؠ]a­1 3fN 3a]f#HC'2  lwH5"07sgc&{o_'k8.M"QC^dkQG=^%+>:.dEs]|eFJʍI8M66iZMJu"EQECRG}{"PJ7!Y4/yd0u3e#\HeFs9l~fi}0f5Q2nX(61HA[J5g/2#AM]rST}=Q\E[̛]MrrM 3?^ Sa7cSdֵ:5)L3d򺌽NeplpLs= GײK< ]Y_1ua[DwS\|LQ"]5dt@m1B]Љ@pJ`' 2#k XC\Yx.)jN4LECTTWޔևLIt.h R,!^ w'ucSZpK]|vu\6(Fީ.]x+%& ecm@A3M`fj𲸚2˹ ici;T3X!HsYwAg,`(3SJi?3_g]-Yz73iuzNƓajg*Ӊz1j'T<3]>؃'̼,5IٗU*g;HC~;5NmyqQ¦!gRVH+lU+z:reL0s9Xrj&0",e(<a+52BBGC` a[NX 6W肋! L \MѾ3"A!}\2%Ҹ@KHuc) i{~l|*&|adtO54g'И׳_~0UR>/O*FG416-x1IfT\#E(.v֒'xjh_;Ao¤7oZvEǙm3 d@ :w*)?>V;yۇby?ܳiw}g{4_қxm VQ O,k0"$CFnH;1j^SR_%~=;kU*Lak2:W3} RS|O8e7%H?׸>fu6U~nzmyyuPQnFj 0Ń>&$=չ@x{wH}'..x3JJF ~w=9v7 9\v^)p2_2|݋#-xKi)M9}O2.yn"ȗ[*6x5Kz~ww5QwfWĬؘ(scgl+rnd;󚄛~ܑE=Wεlj9];\L|QBq#Ҍ+wٷ*ѡKK%4^^w٤<}DkW&={[9ZDs9P#ve|d=[P;QR9.ts$L̒1Ljm ͧ74 6,_HŶi"2}98L5vx {Fz&!/izZZlJV'SV6ֵ&)S3*\,W?=V;,g7O1:wcjQey@og}kMftY{(]NG{ڕrS073ʝ-s[=+b֮,*c<4K`zO2/PUOfDEE1LTKxgn=>tY<6}WY ?o\L5x,'ues[c LR dVFc0EYL`A kSe6"f;:'%h(|(Kek1&h`͔dT{b8}8|U.Q>1_m?݈JǠg:<#]{mN^~S6OoLǻM&ޟAE-@! `k~@/ϵz:R5"}$m{6Xk2MMRfV_Dՙ]28#[Eu_cvZҩ3Jb3vMY;[)R(C6Uqw܏fc)t[|L: HtTC8qbo'B0o)SLo~𻟫))q$j.wsEw_V<پ`7CN~?DgWUXQE x7V_Q_m\~jguS=Vlgi"_U妞yz,ʃAu}! AαVS߽LY݉ yj-=ͩ>{npwc$"^jI(%*hZr\*LZfY@kz0SwørLeA;` ~ KS*;pW94'*ֆ^h-wԘU:nl6_Oj3+M׏Qȉ tFRv^~'.|J6,]#tuKtKѕC)EU\b.}[]̍^@ =MP{20?:F%9o$?ܺ ,9 \]mǔm_vO0x)ltrL,ؠr`Lig$\rBU iB}CKkZ/IfF٘Y[ ^eh>ҩ]*K+  ]D! 5oR[P;f fԕr֯^G\#fR~vPv$Gݤ+r.3b*51|vMW_ 8,% qhM㱀ٹЄJ -Lmmwye,c fNFxr_iG go0Ԙ̀f{mV 8 3cH!OOTD _Q ܰOx35ʔ@Cݬ|FER3&G9nm6tGOS CҞz.X]Т>zb]@6\] @4my\? ܀pg:gj 9gq\FԉZ!] SneF I?0`}RQ^%E_%:mͪUvن7f$Q.}iW+`_*DW?k@%rsKQU8ڭZhqkDl(QK+p`rz]=~de?-+<պRjWY{=*N0btI-*m3!d 'm ħtfEĹwt:ΐYxXY%?[>OU>*W]4mc[M($hH r4#mT\Cwe'0{Zw޲ݦ*.۪DbP :X8Cҡ =Jm7X OV+}-mvmLg08e8jy ʿOI Ko{dvA]3lFo=nk96l޻pۈvgWa& (*\n٦ N2 XU4JL֮tmO*YM״yiVQPt~)sV"/m!R1+)ݷ}]=-nٽbnɚizEj"=oSˬ[Fn?5 ѹW˶r+ޭJR vsRB)( ]q`k$FQGveȶutQmu{(T $EH.HC =8N'ݞ:P`(vMRWRgap.ٱܻۘg0zQ V%#H[oC` ̔:B Qẇ\W ޜMVvոpt/k/ma^ŏz9q>-U*"Zr9j=م1·~<Q3\gBU"qWAu'C%.S;{PT)DΨ@:#M;D Y1 aTG(dDcÍ0EPT!وu$MaTF %̟Z:.G0՚M`34[7 ?jԳ]J ^#9Yk0\  #iS{]I@\0 {ެp!NV׋ywc>jZNV/<&/~>l{ A꼔C3BѼR-f<=[J2 %CT;ޅrŽZu }o<: 1T:foR }"&ND .ru4x@Ã_bGv"olV2d!]8"#`ך 6zk{yZkYn̮}xG ^8)41k, LjbR7j6?H;YI6{cy4pw%33c~@ٲZg+=[.dZM&֟ Bw(Ư-D/˖ɥl]5r$QHƻ7TH>o(`֛ʁ-Ђ5kz10ðkZ؛ݪZ ;foРQZ`~ V(GڽX%S#$O3w:m1&eR_jm/5o1pۙ_zS&Du|-U^."Xpb4#(r#|ж\Ϸt}t=oKu;C%5P3zԐ?(9VR\Mv~قxu޸FFvyU*k׈:?+MQP6涮ۛ }:Y?CiWf#e6ةD[MlIp4R]t?Hpztts{+pE$3JMUMۮ~G a\8>nqp:TndM7q׹dڙ|w[]\(Lᄋ1'W\-7&MƄ;EFF=;>:?JDE>29=::::EDD65.`\7siwl#>Jvөzm֘)y:%"n6O47Rf`ug_i 9")4ETt@⵲HpK}uy22~Q[^l\a QnBn?r.H?UWV2v;e{lFfvCdž&/èP F鴬)6r[:lB]eBd`uBECЎaqQ$=ptu5 H>"oKyUcW,zv =@tWFm2nf+l Ľ7 .HWg aa@w`Ťt"CYag=gKs9rx\;mfPAW ̦d#/gx>1%~zvMbZ,%lkR9GB@ӪM릣ȲƤҲVܷ?3~2m7j.6n %&%[tZL@ 0Y3FÊ|ўԾ9Gf7ɐr0bBg5n[J}zRh@m=WXeYXQQ/},M鶹>+T @9Ɉɟ^=~ ܀xLrLPdULq~6~WٶXzMk 585㥔= W4K"ӇR˥]7Oii5gޛM- @pj%IO\Ա}`̋$#3+~.x=l=Mv6qr7{ӰMnF*+ 9r>\*E;۔q_ٙ JflTU)":mþ'ѳ9Z>{w㎧_ 3se3)1CUO?nW6JE=;p%ؗϾ+ <2:{{YRZpqjЗ~lZ`ޜEQ._hhaSWqb섬w( hLm;70p;7+pPzeaw+*lX3# iy) 6R#dC 8n@; NTN}-=kt4@Vtݤw܄fFN̨)+Vk&SZ8δژb񿣉Jb[0O{r.[o\NOvs`IeCri=OQ>d()E{|#;wL]|{o;W93tOM+'+-gos6+Q1FITMfq@н~,)@M 謴V&X ?8p$ZeĈen0\6#dh"V4}a]gc.k\-f$3̔s;/Naz5vJplxXzwݡJaNרዩWǦ BaM;.7Tro9n+Gv8tƧo{cMC鞳:c7legCGE.ȪvVuo&sy7_zf-MI;s /tAZaြŌÁJD&ddic`鞓+]'}n),PT.]946I0})Io]+1 Ŗ]y~'39iFQĈ 8gHɜ_ocM${7)'3pD0,2F2(|7%0aW,3'Q~ϨlYQ]3^*Դ#l"G\KTR/gGY=n)^}.X=]6uedǻZ\"Ei2& `ޏU1\ &=UyέRy$&gڙɞdnW!;%*)_׉Iӕ+KaF-Rb(kemLmm:s9lrD!Re,YEIDʹF%en#f #ڪurӻYS+e2RiɪRyםKNWffԔRB.k̾vzy8t&i(rskЫ/MsE1-?o\ګ3,#|i5(nJmvRSzjP*mӕ9avysqm;MɭH*n\}ٛ)*'6r/cj"QH"[Kr++l y'Nj/UQ$VxA}'6;g1 ]g?72Lm1=5bqOݹ{+> 1of@n@LIJn*lHwⶤX`CnL,udL{o>8-L2s+\LJ`w}\ˈ;W;X3 p?CH=m$ng\Wzo ӷ3J.YqcT \L[Ktp}~!sDIN!;N"rlVrI2cھ!RdEN@a%R! ,.)8P1\-$iXH4$6y0 ڬQp6L<@ ,]*H$&]{>Wcf*yY9矷Nߨ\n}fČVv *KwѓTdvݫ*n~ž==&Ļ7ܻw% 5Kh~h.6>]n}mʛʐ"t#CfV:r2ʥ*h@ n )Dd*負Xrn Kz Դ)jSYϱZ wmY`[ҌF[ M9$zima7xMAb ڂ)k Ql|~rYPIQܵf\HxW4(Q_c5>$җPgɣK){WfnuEYz++3#6r oe9φvFtu!{"`+˪FS04 D粢ӖPƧ.^Agm`۴h] IBͩXr|AqH&I P{VGa~ L}8Q( 3:zA{<` $rUIgQ\iuM vaozo,:TUY"fbne`9䲧\'=&8w ʙoof_^"JiK3xNuj.br)ߣńz&|'`5Bm2S!EI֡&BpbXV"g"T\%ή,"yOggSǼ#I蘀{#-EEJ95>=F=#*:D@>C@*7++Y2ks/3c[1ܚ/@!qYqNp6jQ4eEsˉ30 oF)+;B\䢿jJO[oRc˗|qjnWvcݫ[]Lj\w%)υIXA.VJR't;W5RץVb?~N-7]\uC*y U8Ȋhl5&!ynÆ e7!:ʼnX}DZY`eW4 1PzӧUANpP{ߜ,շFxMs53܎DWyc"AJ:7lB#Kvg8~YPaFtfPq5Ulpc|ue޶-+uug.f$l&YJ'v %DnC t'8_Y* X'#^ڥdkD+u㴋;oy5:k  u~X!M(@۰Wzx,tdKffl$Ln{ԺMf;Y>8z \]/cONb|:›djP4\Yt-#YʅczM60wwu̷몮3W{g-\f^̝( [BZBtSOEJDZV:32*KBB_J"6tH8 ̬njvFF@_f=g  .WjF 2xN K/:!m2,M &X11 :%@9_#9!b: )@Pdϩj5nr1l׊8F2N*H?1#5V'0X=!v*Yv%OHV5AN ڥ=rf^~nx햜&;Loٚ?ʥ c%yFfˆP) TddEUb5 eAJHM-vuB $$91qt61\42@Ԇ`qwSSegz6ռ{뙭fF/ fdE`> `|.1W*몢 |`NY8#Uy=*yO5ziu?-v)l^%M,XeR&Kܕ5$^G"Z**}VƖEkl ;St"Ą̏T5LT;&*1s]=r(Ʃ++ֵݻw ` l&e*O0nvu _?={+HLWjS;[Y̻m-d6i_1 $0:z5E_޲} Ӕ,+~UFMl+/LGw#,j6ܕrf8w^,CƑ^}ЦCt4ZEƋ=-fGg`>xeW^jP;M6pӼ(CQ~45u5K姲-ٓQ\Fх"Ua@ꡜ{ea1M4ХܫV@1T@z Š^p C&N?i:% Szo ޏ{M[rC#&[fiɿhn:IU#Q}3(xfyLt]FkkrwUNqDówc=RŴ&F&MVd@Fnra=(]/e]S$KzX&gS7`0aHqA:34̈́jL^!uAABڗRL6p_@?X$ajk/n^463jT)&߱g߷bLU{tK1ifޏhZT6%сފYdž(7mr;Nۙe=~uk[g}cOǔ<}sFL+ B)c'lf^ۊ.v-jt:F.T@9RӈLP`Ns"gU #1~p4uNX@rpP3,PofPNs^S?a06UD G˚0K߸ɀ+Īq弬Ln,\=՘BVQp!B4W)E*<@:mN{Xx/"d*3_mlefٽcrtptV|U9NMSϔ{[Dvy:V| dXŹ(]"ʯrϒq[MTuNn# Z9QW"{ \4VB@ ʛ!Y"5̌E1jpx 2Dǘ,!ش ƒ&dtub " "}콹ƴ݋mr=:7N (%FX{ !(fPb|f. 3O[l Kf0jIG?no~ZݏWӜ:~K/1k6F?{yroCV=uz{r'RQ;ۉkt,E3i(.mwY:jy9d!+=50FFN2hDFu32 25 jm%J2kO.8h2Hٱ rmZ06Ʊhڙ0ʑLgl@n\UXd`ދK9ٌ$bUn:l4㰖_jRfJoӓ|Cnw_M|dǥ#ַWޕ w^oYW賶63Mk\MW޸Su0^9V_qVGzr˸LA׹(5f. zz*p0Oy\8*Fi#^]5&zHP]2͢\)T(0m7s@)FohmvgMHn(uvc~ ϴkὕu=WM2LeW͆:6GťpnxyIek!:x',sǹDNYY)E֥rRYK+IhF~E{R!?d~hDHa}31\UvJc3)2&G"4Yٸ<[-c ,%t`ihP`-z}À-t)IVȄkSSf]p1GtwϽ?84PbhICYl'"J[O,6E$9͆{fyMPk>, @@6B0'fW>t!ǜ\a4OggS#IO%I:FN@>:9A;;ABDB+9:;@EDDO:8KXsŋZdfgP 6YU^1Him;Y ޖ/ Nme8p:5)d8G+q@>k%`|I7LQ_ɪgJ٫>~ Ua\K\ɒ茉q4}F;| ^P>䛞ÐX_WZ}o:֞=WHt %t,*0;5?+ 8Pj!B͸dF(Eq7=JqWofK7HHMM+k#p " Knz;86`fMR't>yWM^D%q\ڋs=jىs\]٭kKez*Ytܸ_=ײTN+(1^i'+J)j[Qdza[K$׊4%?uI`hDM*Jbr9(Ffܘ.Οh4Y%B4S8Ji"T-Fr0DT.7.g**[ J(TMlD'^Яsv1sw6vwPG2gpoP.K.Ldæ",lj`ЙܯHW/%ԅ}yNJU9pى a-` 'vD'~ȬPRʅVx<^\tK{ubj@K:*C^ Q4sM1O{CuNNҌ.9L]$BBL`l.G]N8 /iSU2hڿ0\; l&jIJ1˵|Sƶ}i@PDB%: |F0Z [x߸QB\_ߺR{Ro ;f,T4t hQ4P\T +GZr^8B5Ӯ=]ths{TocS 8rP Ṛ [M]$zKZ-3{bGEU3%Q(<2"kE ʥb=Eu~>}G?{6\UmniԆޘ4"i|>XX949EbX#~3x]ym"]ܶUw{rǺjM6tJ_ ͪ$!ϢgC?srȷO\ C˰[P;} ظ_kͦ1l=wLzӲ 12qE(8}wF^oFR35kݸKݽ7~_]^qt8zrʼnn[89/v+̳۫p{, s=lO3OgQ/"\Y!wmz^v)˳$ќ~vfJvzol,2o\x[h!"(Is/r;2tWl'iyէa(L6tdq{'s*Ҭw=S~9( }eV9sjc-NHigQb֢pf8?92+L Ɩa~ O35|;   t&An,N[KH9']]kL͌}<}/ ?oy`=P#vZ[D?+վO\#u7I.(3m2B12n}*ڋn|ʟM({ BZmf#˓[ $FrZkJKȹ:)Gjeo:gMgψ+f*Yt8$Ǭ\n$@FWGo` Oih |-.QEG\LwڷbФ71}  1 |1<^MYKٮ<Yf"`7o̳ozߞsg7/yn%u>b!ZVxv8CBy۽Έޭg#;C22;} I jVġ@+v -;كghvE B-Ga*{{D7eLa?uN~`ݨr!IIV:3I![Z+4hmrMYch.Sj@j?S@a:Z@ (^.*p.ia'z4\g!^M^V]53%93xXirZ-7wj}_,_|D.hgTRB*%]GABK܏K@|[ >7LC*Uɽ&+}+AO򒽓Ug>q2n݇\OUw¯'q+imu_?S?H#!+JGjf:C۝s?Cېf$t8T|Ivt%->_zkmXJ#zL6UK`Fh  {o6(sفnr( z>>󲉷l'̌D$5)[_}{ywmN 6N7ظ:_[d>S^?GG\>nET:?Qbyf۾dҿf"s?dʪR#ڳ]sQ^q멚8[Ղ΋)fQ 9en|\dͦHzFke6~ 7(v\{tչowO'{ߛo7]0L}%:9:Y\lweEwL-{/ƪ1TmәM[6!vBuVM!'POggS&#I՞.:'<<=98;;BAF2-#J:<;FDECHE>BM+-,N]@jMD~uICVܥl7#~ojy4cǽ=D&zM.S碠4{{,Q-zW0Cj۰ծKv$"9ȀC TsAIlӞEIN0S?7u9]@e녉$DHnrSn饱E"QrKz=]o DR3$(| ImeƖ*{n­V[zR;,t&u H24ںGp|*\fnZ{mj]TXjmh)oH4֦ dp*5̌;>ղB)w*'s]lle4)NQlS?5nd<>tk)s_m鼻:ժUkas-"LƦ" UΪ zA**i3(-#On2f֮,U t3W=Џ̓<fffʬey{}3ᛧdt|Aǿ')e|+Y\/'5{s2LU}^vP)gHrh"s ߸'2eޔ.i]m{qݒtl*<#zR6[jы{xuW*oErh%ns֮᮰9@ϫFYob] ;bTMcz$ϝnZ,}:{^:@Doo5{y-E+^C٦2k۽xe;Ѫɔ<z#`4RoZJHofՕ_Lk1IoHt9|MMVYmrΟ%]<̻Se%Mg >"Aޟ)}w72K, yJT|17L9FMNxԝ|f]${9]‘7Q.LDbjbPڠu}S{%kѦ;&nb58TtkBVL}>ύB '/rZp^yh៸4a-/f:17ϛݣ^" }&H!])lzK[OX6L2UM/jXҢyN-z򹬿:>ҩ-}_;U&esuR Eta'+ 18SޒrI/썘=8:BQTrՑ_7ⷐ6S]8V82eq4в՚RMKD{S^}i=JQ/fk³>ܼ'@~Dzut`lkOw5A5i#{y#M* |jZ D)_H]v ;*{`f*e?N#c=?.ۮN/݇&qkAOb;Nխ+:-e]24s)D˹_MҞwdƮʳOv6fb=Wq(vඬ}jϩ*G+56=|* tƔ6n&k&XqO{cfen w`s?Mi$f9Ā-GR БKjB@xeuHwp̌yV<ž_t6gy9뱺Ͽt:vr/hH鐝3n _~{D+苜J\9r%O< 㺿uvuC~ҕI*Rz/FlSz{;*Yisyi̭7}^;-!d6'֨v$d#Ǽ݈QֽzרD+TKsr.qI9bPZ6q7WO`pIn70y7_6n_0 vN(Ff:aUn9t.Or՝ql˲̋ein 0+C&JGWQ(ٻ_\4וxbFWgV*;n͸qd$%bXv,/5Eu=cn2qm"mF# 0t>Npw'}aޚRA(hd o$wYk›?+c?@*g@B`# CJC`!̌]5JE[_ޯÎ(s[zǁA.t =T(n/3v.m|@9C].(toKJ 2FQgSvEmr?rI(ѻlc虮.HiCq;?5A}?%zrhzٍo5soBw=Q?׃\{X>8knKkDb@ 2ZYr129цJX`xS333U*+ lfύ?bJĽ:{2}vXG57W4D.bI!P-.$]Z_Ou7&\*ԕjJ[XY ;^ژ2y"*lGIk|J$2Bs(Hlsӛ㦞R[tփc)u4T=R:=01u.⎮nRnڂ\upk6N 8@`: s$o +o@Ow BETCĜg,Ue6_Щ ^;m5$'kN{]_]]C4lgr[(t~Ͻ3:Wq ]w_idG={g*{tuKC]>6鮍jߋoPι{ju=c rf^6El"ƚ8.:MNՃ%{5[BcjoY c{>1aVuL\7OggS@W#I7+06569>@@CF=?:;B;=F@HB-@9;B?@@FE#55&rV{%%T/- %͐qڭl@Pl&c*cYZ@'ϚU*>sw?9^l+]-s&(f !HMQ#jsSn(=Z[R EfL6M yk~  ͮ vevhլdz͞q_-1bQ#MUga&V~(T+ J&^mdn]$׳m\Rc6bMd]> RUFNZM%V'Wn[m{ӝoxOt)RJ Au2 ^X-f"tw:{SUm[YT("2 a!E& @>_}*z(\LKeTKrlbws'y^5vZdv6S ITh#w58)t5+^޼Q{zeM=={l:`KeuFG=cor[/f$͞juזfWdn6o:Bmin"YwA 1{YI{ >}{w4 yTjN`aͷ>$Y:8.]z8.} { Owo<Ĺ =ߥOѬUv!."'NjtK)0p#oܖ)={f+:Էڑl%;#Ҕ!'"@]쫀ilmfٍ2Jy&keSKkI%děќPg=Y)U ͆R՜݋#--"z6y975V,7sڛr36jlx3T($q>.S\2֕GN;$Oz6cSx l3+9&PØ#Ԙ-^zavG"`aɾ&GQKjO3U=]}ݩ@ y`̟UrԸV4(ދIZfr_ɨN^d 0mdUf䷲8Jg$˫_>Ŧ5Oy]OP>(}O[V#Ip߱*J0={ۨW]\ch3%x MT[OA_yTqEanr+ח:ZV]mT]@R4݈>j5F^5lVeܒYnt@e)`}-2G| ]o á7hA^A 3 wٞ_HV39WA@R\3VZn*Ubb%S ~ A孙C=Z ,VJ; ]FH xBWm8{aY;>ùWfG[Ṱ[hyQ[Ҭmܾ9 >;S@oz՜D1~w1e;c7|(\4R("BU) Rz4 )?I/EDGSvԹњ1d煃D2\`$LRDDv?+j,^tڮm~˫bo[oIod+62 \" YT@e/+BtSs ]F^jel>.]xrTv1 d֣7a+{LW֘:{gQňbd!VԶny9Yݬm*Ңi o,8Ҧk?NTE m7וmJ͛¦*VcS`3 $|tՔuaifJݼ$owho{f6fnf^$e:gH"PWLMI+ɋ`}^x̛yj5Vq~is=د5|^gigOL{R$Yϋ7xsn]EVț}rSM[qD%Dq5t{+ =E9k;ḙNag.K,.\Ch@t \]ףYNQMb:r qՌV,QL*qR7D%[%-)eXɰI8󖑱YesL66g PLj~V3ĥ7V2(_8p&>nw#lR\R!e*Q u_K3k#+T|DZYiq D7RTgae% '"mVEy݊w8n@űܻzh4P@EWAm?.79zo{7 Q55J˲WD~)՛8$߱z)B,DSEJDr 7=kg~/07ccy4(o]cT4v1cţTy*Dʜ]5Uq= ~"JѭJUaoOVi*-WfVLNJH[2Ǔ=5JP–rT4"7n6,*X%BAepM_zcn0E7 `MoI,yjHVmn0S^t!oAS~<  n>:XPΊ(䍣,X LSWJ2%z5Fcr`w/hgfw>,ǑYn-uXt{gn{;f}F.^LkR h _ޙLT/0^=tep)͍4.L$I d!#wcJ),WDKEmu" ˨$I(ǵ7Յ~)ۓl {l;hVVYf 3J:DMs[zseL? xMه P]ൻ[ϯGwgBAXH*y>g9a/iۑ]o8˶0Tq#y[pRBJF1lq *pzno(&:nRK3/S=Mzx;As톿GǖøJMOVͻ{띍Y 4 #^@ {h=W7;WLU}ܔ?=uw/ J#oּ.kқwtF%h`8%2H =`^&JBx_MBEl2^VwVb޼mzJg9hk4v-ڭXI\ "L2}e AM jws/o&_dfz;28`,\\{)St3!,T#٫zVMp9NivLaoRpsL ѯYJw%4FL5rƨXi%tp`7W`sF<rhEmLDsSC="RO DT"!qY]WIrt2XPQkyg9XnDK2lG39lfθp6jc`]bbAH{jJOBo*"Rqv"Hkj$F~/+y]` %tocݷ?;防[=a\h~QiTp)$ ҟ!U?uOy'Rg\S()범&,scr0g($er_)H'+)Wt!Z$ 0KI26JR@h25dP \i=a"HSqn%RE(<^i_5I4z{-<(@ax®g`1L&6.!<jZnQ.j23MdGۼBR*Л)`S6fALF|=9PソU,7mu eiBHQ/R) DE.NFG8zg9nSx:ϙ=try7 hhgs9U=y1*&n/69rә* #WP_;]}SFw ђ gHp][c~0as@Plb5] `S+:2faLo~na6֫1afm>۰lujwG \ -( :%ۀ( p+pZ@s`ZNah1 LT"A%/6frfW>O|e}2J 7X8y`ڽO),jۮl[U+\ʋ#}!ǒQT̲=ú^UE5\|n! O3hz"]UUw,4x&&WlRE/@ c!z*Kk$\rr{7ܞͶjn&jZEj2+*+]b#"KnuJ׎6MՔW |P_o9o:n>6SߗҟϷiqkʳ?_6i NujB9uYrL.+c wQ~0SK +v獵yr Μvz 췃$rSٮN,d6*@1#V22K>iTr%J/PEfL)p1ğ4^-M6|XɅ9h@$r{s)|rmv+v-)Sn^Zgl9~nNiOpYC7@:$Ƅq&atHG,`!+$CAxbvURۓ܌soOT7r47gKcT+j87 "CF*V.&@0Ғ%; mLk9iسgvѱ:/ݮp^j`s|!"ⵊh2~Ti7\kll0#?Q!(&y*$O|YɅ|\ww*;?ӻNCWk_Th F6->$jo(]حOf纊)^՛B//\~qކDv~@AJ]-4h,]EiX4u2j2dC!6GVGN\ hν;EHd6 W %Y Fz6Y.30^b$ޏ*c΀``ad+$= 8ދ\j 6S)oRTx, DN @5O{Jʴl)"I#[̓#\W6S(f?^5TRҍܞtA8i/684ln&9A˟"fuji,t5mm ΍p&~થLg}Vg!S/lugMP(םk>[* 0PUE`^WKJp a0=,$U7@-tވ@f7ޥ `:`F  5:$~7Tɀ}(**!D)1f|UefT)WH~Vy)?қ[QKtWG 8iY$AWDWr*wovi/n[ҳ]٥vo]WVO%vyfܬ=jvӲZ1*Q.m_/k"0 -Tz??>;CDF;4/8=;GDX?.Fֹ$s IY@(P'I~_Q90eJ[QރrG5|%z=꾽$0_+÷MzMtgkO泻J^ 3O_TKV!g:KY2=K`λ)Kgwwt<~1}wKelrLH2ԆjtfeB$(4BQ\17\ /MêUP0&].,r1X<]0#|TwXҽo'`qr7yܻOZ nFg &Ѻll}a4 `Ŀ򫭦KAe짺Yzl35՞dt I&3TYs!% mOI{QZWF2d+{0ٮnt T&#VΈjb$Q O۲"Aĩc߅]zk-^(эzK]ӵ6kT'(Ri:茐r.+z8|jZE Hb~*͜)RoK=fkr;UpH!)UhGBx^w} I`Qf)[@w1ۓ߻vNjJw|+*R^T+r/Sdǹ-ƽ{[eJ9]LUg5u͠[pe?ג&RqS22d!$wRnj^ƻYݫWM6&)lj.92$Y'B0.R0(r@)!+.۽gmK3`K6DΎ a/Pf!P [͞7ȕ EЃH@%x"h>lg&z^unm?yƣUsOd.2&ˁ?Ȳ~qSpw{z"Bnv+ק{#)"kK Բ"_^#cI_lͨ+M&m<-,ʒ9PK0)u"({,-Jl9mTaRg2۰/޺fX@`Fk$0g.M_|biDźrjrt%qogs0+ I!,[̷oTJǨS~,0PGdV^3V/zk31(|ְPL" 2n81~Ŏn}h6rgKWuȬn6aVybā 4^O ?Q tIzlׯedLMTB5kϵui)'  =ɄA׋EP~|y+f)6K»wެx֐vj~>1rdHfnUǦGXl6Mjo>quyp|]Y-%pv:Kkyegou_x$rJc\GsNN4%p+UX^KM0Z5Dc" [2){ -Oc3Iٰm')0hSh+LШc9+H! ]B!H3S&,f{7wJ\:} _MDF Ø-GΜ,:U=U}پo[`2@,J|٫[["2tE&8"c+\/*o`Ϛ KS+17KUSDddWalcݏ =DD,sMHHB4͌]ҊKi*l x+7a!Ϳ[ `l޻4& 6HX`p5+S<7sPVyt &,d\Srڲ~ exsTR~k߯v 3kO]7yrx]pu0ÎۜxhX1ruݱPA%]wchWZ ֺXg&UP+a+uoDb?2UpմǡR9a(` \lTT,2Q2m2/E~e/k/l2,iEz0G1C2 T:-8c ).7wֱkgu$c!-h<(mɬP7b5Dg͗uQuJ"ͥRX 3`^9m OrKte"2nanyc{WvgM.|.u\}hAˀ ${N&U0wgRԙOC6]fTdͣ.GH| Kxz\7K6E[=-b@j4"SVLRC3RUHo5Oҧ˟+IZ,ZTfe=f޼atϥ@Z[C T9 !1zF5wή{f5g+k۶Ͷmp{=.{6*X ]@s"J^~G'XrDSf33-oV2xn |':odnjw:KSNO^}D%e' mJ&WݛjTrfu+nYvT.>olf [i ئ 6fXBVmjPƴ9{2HS@^"l@ $s/jL;-L]Uc(`OqSfz 㟘o1}I5J2OS5w'KדWVzWJ5UDw.\f]N ,D]DO 4*!nә$(ZMi+UR_"PeTZg/~[gDW؛PÖb[hYJ7 q3ZCʆeJ nl=?|NeMڈ0ƏYlG01޻E4zep4B-@$͐ uL(53&:69si֣v?}-F-_^Y&=U<_︭љ=(\[}Bp=)e+_.{obUuS@-;eJ&~RvFː[ *=F&>apˈ }Q ӴtLjO]aU!`o:L҆UEn`Ӎ0H:fZf,@cww!0Hoo)0q(W>XBދـd;p(̊O%@f(532eY?78`p;^2>E;7zX?svNq.\sڬg3̘۲F.TwdE ս( i"M`.1RVwSeVoobMww׬ ƳJR^s{eӘSQEO7\b(Вw{2mewl^ `kW fnc0`Nxy<,*3c33<+ߢ@|\X$ICmkl?u/Lolɔ^Cm}v7N;i\&F384$w9WwE^crP{6v^WoU;181f.|gIUݷގ㪡iw2?2c7D/y^/biԾlB…2>ds?vf6v)K۾p7}ni۽r w=)+1罺s2vOggS@#IM'FI@E@','9=:IHDZUv~ cj..y}I駯!0t!]zOW.q(^Q;:z:go"GUu;T37jyR7'5M2 e׆l~56rg wvKjo؜oM^YdgSM\odݻKKX[ODWpdk+I{jL^fL o1WDGq@ޤt'93eP٢P֥RwRaR]{f}ҪڕJ%.;qraXR,[a&eH$r`?juqFRR{7u=z]Zoc3sQUK $,"[D׊5ǀ} dY)[^go)wh=qjF/<m^*_'$?kON aJƿO9=i-]R>G+C>[ -b#MW>?2q"6ѕAwS.MRsT\e#"2GCTz9{Dlcc(MR{.r;:aͪyutѕ_h[Y]ͧyU[t5@wA2{bf87r /LN6Z7.8.kWJRf%^ Tg:}۴l,w~ͫSBw,F1(毽R:\eeVО'Z5:h7[d}2eeIέV++3z8̃)D?7<{3uVPNps)ۘ@ՄgȈ+OC1QQ̪.C|UȚl&m 8 vOhez } 1X+26`eڠ^s=;M<v 1x I%/۫guA]wKfޥJY( J?=R5la^f PkYꪐp%9.K(Ƿ߫ط^|:g?qZxՋnn2UFBl鲳Vˆy{\ХTRp#Gܚϩ+JQZLURcJѠUez*U]>M;Mw]D=H p{Zl>\L#kWlC 4hvr*B4dQ$BH{j$;t ƠR56W)λ]mf7hkZe _:;rz#!YY{)j+ښڭ'0_ioT]K|ܫ~~6CŊhGDz Ge^B%'[Iz1I_ JK[zLܹM(o1'jMȓKc&5fwP9;u1zw!4yYi<lT=hUm^=1@ tȜn/EPdq՛8dIgѣdzdž\ ?i̿.6ݹRn'RجRy峊ئ wָPq[}UT-DNvO|5X̴uK_|@ro_SWgCjg-L5|l6UͩSCyV{P/ofu#bׅBT_:Ĺ.۬-QoݮYjv%o"5P^H"]y S!Tv&FF@%:T+lwֳocl/J~TZ'V(rSÞ|7sE')Dm!Cͪ]1M<\f=Ovv]ZkYۻw 2,Z ῤlmPϯb°Iy.T90Um[˶.jommtU.RS>ӊ9_sFr^j~Ǝ$?2Jej[m\:5pޤ1Z}ҞR^)@)I|J6Tlf 15jafZ7l_X6G=jlSpLzMc}_Wǘb|Ғ!1C $ٰJa,+'W>ʀ!dL2b0d{]ɃgH\eT6k18C޸ @86CmalAHHU$Q^G;7I\9ل/4Iv-׶n`ٲI3c#ǘkƵsZ~AQx9grE(TT5+"]f[nKg$3דCBþjh~2^ =Frf c6&rdh)E+%L^)#mo0)l2>H ldc ECCk94no6:5 nMk-`_ s%pxjoB{pꍄ*77 ?|͜Z7:t"caql鰩x$b_ Y\f3Z0>)1+=k\ 9g͎峓 \ Cr_e;}l+S5g5翙>WK dRK!*JqV~ }|2UşԺّ=rvG6"~P;vlD'yaӸJ,}Z YeMM"=#P.tzfEQhlJs:$P\OlV2=SO9#5#A`JH}۶[nlMjklj5e.2v's=] p j+~R_VԳ_wնW45OsVfiP@ߘENN^ױsdP@ &U36efTr7{@Y3'Ōi}VÆ2#đ]rZ~I6;5*jO{dO#"ʑv;.DL[[oDuQrTȷj is_2=*;Y;ft[&gBhWY G4g"DnvoaJtlnj!`0(ݸa ?7,7ÇkHr}vӢCc]6A `5\~`n*.G@R6eB tOggS@#I:+9>9;77;8@;C;;>:8=>@AB64::;=?AAFD/4iu$4|S>kLɿW`w.t{Wskt۳M'u+bl=LI_X.45~kbgNwdy-Gɡ:A,5JYk541̽d\@DgWlYWNw+n:&Ņj.n΄ Bb_n}ٝh0.BͣwUJ3PvvMHo/k@Fmآm h:O 8)2AdJY Y.l>.I x"_2WIn/U'UQS}-y6VnL&(,c0&4׬SIA(Iӥ]hyS(kj_oLi6t&PͮNCR p,H(?J9g꛻|6QzX4D\)gCi3FS"}u|{v!%1] !lJ^U1jI[eBT&~{#2sBlٻ/Ҍ*W$[+a֍L^]6U1a36U$Pr| `?,ʝo-93)5$U`@[u$JBQ\VKX91n쥴ifLP\2c鰩,bO0[x#?]RUI܅Jo(oj?MwwU订4F )uW t ?2 jLm8XMȬ*(F(V{1X֠55 rbj,LXigYc$2nv:%9cG9KVlwս$W[r;埆)"lQ3(~p PEgeJV~>"lͿufdIΜt5y`?*VܤR}`l7f$*!5sfrݮv61JFeTT+;ڜV\eZ-rT[^daz|Xj']]tunSZQb[W:M9mX,,;=/op/[4$qouYz'a9jWXXּo)9D1RXz@L 亊՛ɽA(FJt4*PrTXȺrU\W/9k7\ϗ{= S Pn /;6dU^y ~qYPWv8vIϊrV,Wdk7{,ޭI[Y;4AP5`VbП _:= `7;5YP%1=Z/߶PZgmc5zd-60]e傮J7*SsB27$J2cV*VW@3f[ZL'n޿8 j7_#>rɋV&{m- T;w@NJJX]dOe{.fԷ vS~6.atS C&7qJb%<:(guN$3p.JwU9ND"QΪNkf@S}Yu[4ȭ+&ڬ6(,t2߄ַ!-0|Z`5``a蚳N5V.CFIZ=_ `'QUV&oMɅ\߻|_e?s{k;YXxs ` jiMmF=f*ZԭHJⴽ͸mLGuWnN掝wjJQgl9Vwdž|^~F?~z@Mòب9ҕޅ{fdtHq3 TD ~uQ>'yb]K=whtk~9C2.{ָE ĺ{K&3ci "6# ؔBiQ8ŧ#?A|~$KF͌)c{U 9$v7WFΫm?b6tFeq,cX`ܷReYtP%?ϵYΑHGݡȽ-_mfFCcD B2J[GbWVg5N˟ )u0(y;q(gn^/c7Tnw?ʸ#/ax,X ӬQւ\)HͶe`F=o 7 bm4liXVY 80 f_l@dBKI6VθVz@31a6ӮꉏK5~ty.\fb,\tMQ ;oRZJ>`n3KSWוˆܺ[طfd#ia1D\R+eU[97M&;O*a]Н90[ɺ\d(ɲLJEF%D>@숿?#D鶫VC}WbPIznYنV: dR̺VPC jnv>u|+̺Y[[ڶͶm 0IU<4Oc^RϝwzuO#BVZy:16Sy^.1|{9E]76*;N;҂Ep$T\[rGb 3Hp2lq,t2 HQG UFOggSI#IX^S'31<;:;?<9AH:4;AD@ %':?=s_Q7'nɄ!%![ˢ(ەnK!ncT.xYf;qSMhsv*A۫h*{Cv枤|i7t؄(!3q-^]gFӂ4FaHL"vq;SzqF- $Y TpepycRߛN=O[1`sT '[U*gقic!B"v"֧Bt?lp.L1%~=:3VmTٺRvَilǾZcdb*moe tuijt$W1lwddo̾ܔ^w1۳6\2U.<|eIXUk4|8"#7uA,tdBk,€d9 IFgfjWQM`/tG&41*lqN.hlض3z,)do^ᵆc޻˜ʋ; TVc%52$ |6TU"FR_W+(dEq{llvT Yd#w'Nցx2j,ExVԩLqoE۶ۨL^#4caeTtkkN "kcov$kwNdAv$>YmXݻ4z-ښd^tjSyv=A_ō߰(隀 տJv7n[/2Z)a 𮂀tCdEa%v|삔dތRB+@g9yy`1NȳYZFoHVIQi-z=giW4^:1:jS S)g- ц>V(_~(!z>xh4 q 9KksX ժ"q[\z <ȍ0 1Ju@fL)@F] t<9`'y_$` 9]wiZ~:<HOj;=Vx H@M2SLEo_gYO;`zڈ1:-} (-SL'<ԫGo̭=+]FNV0tޑ)nb}QɽH'C κYQLdF>gFN=::wbv}js(,͉I9rbLJU΄Z+0[߁y,M٫nlb3{۾X`MNך@*0JgM4|]3[ | VdrABC2$/:W??ۿU)33 ߾"ZR 3 SPgvND|ooEdO|ܟÖmH{+},ii"UsSN]It|.G-Me2 I11\k"DL[ -{M2s~W>ˋojD_.n [(n=< XΈ4%ِl"z$qxWuO;5B0jnJW~= șOqoB`m=_9kgyR7@RYCS)jvÊe~}&\>)w>:fՂ9uw\fiT7y@pߎ- 5(${]XKojJ'VPru's4q٪1dߣOQc޳mlclN Rpq%zJ()}hui4Fk=Kg2ZGzjf]Uͦ˰ntzXXWCu4jz$w 6CT/BdskE2r&%{}֪mڽ{X0-J@ʂd{L)Y4A!ÿᶶ.&`٦ĞJTbgv]f:oEzz.h@©S(@[dٹٚ"8SQ3UfjB{V\/Ò,_y|Xܘ=IG7=a.iN1x]>$wL)+Uv=DNYdV9kJ2Wܸu:-Z%B߷\DUF#lSVN$#uY{)n"u՞15e'E\V.#A#" (MؐK:$q͸k"7tdp3`Z\: 2ndfS o.Ha :%,JgE!v-{o&`;l½B`4725]w> ysߟe^~ÙA*TB5m\wp{u4B-\?wWh_o WW옃H[^ptRI!c:)p +XJĝ#ɂA(Vn6֚O?dKp{ 7( KBD^~Zrco=uf 1Z{t]xo>`|ܸPf0ik n$ m3R5Y?ٱcoX ~X5GR3)y+{hspSX~k'铕LSoB,vM|  ~ &󾤕FEխtICFגF|F;_WT >V&Gq>P#DO_qd\{1AkJ"mgWl}ʬ\tq˒!˰ XVRnS.M"X@[Qn۵V= =Zh^8 S0ij Xm"LSk 1ج;Q SX0MHIJ)3%o}?2J٦àq>Sh"x$8{Ab%D+Ie :jOggS@z#I=\%+'BFC599;<>=J@FF7%>::AEEW?5@ŲWh܆ر38u;W(s. ht‪Agg bKk )`X|׊ҳq~v>XVש6N'aeD w9O,K>|DSGꞭ!r8ÌX %r|hȝ•d"*sF#ZVUfXU_l@ccN0n*opo%xX՛] Jԉc5,;T$IdڋWe~rV+a]iw…Ѹg<^f&1\qQۡJ! @ PvBDܼV)b.\Q:91In=殕&&~xHB%MY#6o ࢛ 5TXE5iU趬tcQ +zKC*̛P)gLX""j>)FHՌ2u;cRfވ-Jީ&r q@cU!=]xuXixN[mn[^~;Yٷln[Y!@iY1d?DDin3Fd(T謔k\ʊ[Ďʀ4=z7~R~Vx{H?=ޭ^/i'=K[R=4[6rAVi1-uݖT?~gj}|o~z}zҞ{к*OhCD"VK!?Yx=> ;95@ZxfʔLY߯"~p}g?&q埲MFc4/kyvr{z9} -e1a߰`Y'Djd];x^aveK)NN4fQ D-@G.*W%H(BSx y-H_ػ^pr#P }zX abK+[n!~ ܸ ,Hl M2p~;L]U=@Uw$/~xׁr<滋3S& ~O'co!N~}uYrzٚv1K~WwK-uhxCa 8G>+JEէ/k}'kwƉꜴvCDQʻS&εΔ2zQu+LHDFufOHEX I_ ۹%рMnV5qJar8WDn -Pm6 ջ#=p5vnso|@Nv Cr "M-IHy}JaDa&IfL+4U_x\kk.ů*)iKz:p+ĀV=nMn_? )K=YMt:Usӥsa$"qy몈\l!b$^l1q4Ք4VPjR{QG9`s~I w'҃Aa ЉsPjuXXD lp>ې 2 v08Mma sksel0 :*{X aZW1J#ڧ.V3`hxlX2f|޸*JY"$i I@#~b(O<׷Z[t!O&?b$@2nVC^E1JKY8w[BaI *[;:mV9ն$ZCC~Z'G8y r""bz5}R*tAz{}z޸ZecfDZ?#.}DDHsW˛w)&;m5]mo̸մYt@"R"RgR#:&q#uSM4\sLTv1YN?#PyƵ}o}~8.nu_;a=9]-K6}fi{vc$bm>5))3Jg5_z>IU!2P]JsH9[:չn/Z%(Ō MIGd5s3ѽ&*Ag3o*svd֊orOC]m̚L]7s9}L˸}),« pZWf,tc)> N:2ŀ\gjFJ3MQP^l"]| N{V`h@Xz2uI &djfFY/Am:{w:'#=?me:]ȵ#qo]L环CR 27W>uS[Xۛޜ̽Rd^~t\(mfdgnSUاPuB颤ڹwr2)ff c3 L2vkO8鐩ӹ(:c0sqץ\/)l2kN9Vi~-S\Ὢ |喴h챤m aTY6c/ m˪=M@D1q>kcD%)PISc8.z@xZ۰cyL9:J)5j[~h딓\?]Y[7V:: z\*߭;ݥcV_qSikv%1-"~}J\Be/\^4d**Z)YHNd+KG.=_B4Ǎ ~{#Ug+՞i ʫ(|+c+)l*wV}6#{:ѽޚ̓{s]GÒ9T;ŀ<!<,ΐo }P:e| Imr}|XemH^)f$V߿b߽L#=myZ9mpio0 qtje̮P5WGyy>Sԫǹ"<Ћ!"~RI}Rb]HMQʧ vbgP5ULWi:LKP]y7yMtI؛XU{BbCuwNO@C3UIa6SQ뽩*j=Z:<OggS#I*k#HU9*/7%A<78@>CEADBAIEL+,tE8_tM-;1eXI FCy4nh , /g 4 ()*q!\Ƭ߇]NIq d`þwljẤmL'^}cNWhPoO1.MwV]pye/u(=s# ^O@)X|N*ի]^ݽ=Sjq7e\*Č{6Gxi~Wfy{Ua{q| R< _hm̃LkL>\ Cp)!c߂56p^hsK! =-o%uu;fm@ 0S3eVe&ֿW}sҴ1]CΩ&ZM$ 9=FSVz缟])}3bk6d%ӧ>lw]VFmۑ;KiML߮:23g"[9e]v>r4"L2>,UOkft'5mծUܚlmS ,.Y~*{mV`ƼޠRQ1m^&u3sem-qsXDV?rtc(ǭ 0A(S /@^)3+SِLޞ?f#|vǵJ藗^'DƄkcU+wwv1PCZ]C9'Z9yJlPץIeRz/j@ jt"SӤa*eJוWhu7-RMlqw?Ȧ\>njwMV5h *z8TB-j1ӛ{i~wtZQˌәml =iܞͮK<ƀZs8aM<=IE=篈HJa" 2@}|,`OdfU~W*eZ&GY%7:Y\o~,Z~U\/#ۧc~87H@F٦40vb--p&ȫs[pO:VUW=ߢuhJfUW%Z}mȀף/OuRI9 %7屇)~5U˺9`M| J׳pkY6c74{EF0 #d$a M rT[a4Pb# 8A(>{avZp%SuH*qùeN+x/3yUOFv]KѰ?U]w4\{+=j~JBxxąf\d뷄Y}UgG :r(\;\w>n{܍ݞϯ (D YLv> b-@p.tv p&ae%UC뜂ݿg+`;K xspo_`3í@!w-g B> c$C$m) T ~sl{εv=RLUb?IUϜ,lݯ1g߮ϻxܠG/NFPW;ũ J7LsmilP@q}-uGITV]|V鼑+BU|}Ok?U.8e Jƻ>dp8*hv.=c})5cv$d}(q6aV.pb.5 |UwmW,Zq0kV_:aL&̜`@5}H(Z<>#{tOϖv2q՞6[S^M` &HU,]y s;TBngz S q1kڳ^Y͢ӻj N?.Dc^ GZ<[ jỌfoYsG٤g}tF5bX?FK ψ3#O>>wy_xdnloXA*#FgqkE[t>nTYFB^%U[a͚~r2n$>5G}$U(I |-G^bKfmmmUUw]ͺ޶UU&bh ?i92"3u3Ż.ʮ<3h;Ϊ~+ǶU ,N]]aϲ0[Vt@fS+?} ]#dV䘵_mfmok=^ᕥLH@eauiЬPDNZq1|PFgS⽶V$[mbӮ}|r׭:#:/\` @l=ZT}{KZq {Z}[+v޴굮 &WwN>PE#o/S'ur>6w+rC|t=Z,ZڬR|*W:pr#*BkBe@[ ??= %cZWIJ4/P_km+۶7Zl۶AtK@#A:Vg/UǡNP5iB[lW맯{DjNfm}ZşV UV$ H7bErH9̔\Me27Ǭ(uXfwPj]uZdBȝ'!ƫJ9=ŹO!-.WMRb&Z~_&*Wn!cU"CQ[Y#*շ&omyzg崮oQgo-Fg"Ќh<1[Z(^l6eYK†t 63AfdGNdw=ǺO1G ˃Ixg]qMAd;H &g*C a< }7+1.L; R1R((H8IjH:DjB|&b*ícy9j?GTߔ.[%/"z-鐕P*Edqb:; ּ8nML[DERAN&;hD>rWDSPoe\.ǧ9tS0sz*#5=z 6 5`SXMfve*^NJ P0`++]*VbC@Ia:)ԌM QI #%nx#<>}N|}]Z#.#" sUhOЮ޶=OW-ٛOY ΉܒT`;SՍP(H M7}> űTfSm%(rb.W1uHXZ6;؃x]* Z/TD+eM<$R p&RMerkk+OggSݾ#I,@-#4<9788C>AJ>=<7=;HDBDB-A:;BBAJCEK8EDB |WÁ\6{ȁa0/066g_V [b6^@{}~؉wl&ULGNwR_zAYm'x;N>oU Ar p{h?zHW+UGnVS؛藹0+VٹY=ʅWhh3'),oNF\zX̘ї^P;T90Y=y#Uk445n6jVY%Z;w_UlUaۆ ިK[Yps9 rtXSUE =!oloOֵۛM)V%X$I m~(z%# h#(W{Yc׽f߷ֶmZ+Ykbihr5G )#5P9^.1{Ra>);vwִ҄^]{{FK%rH-nR5KHzAk|lz/&K@'7jlT)5JZ+_ )s#>v)S[kuw|v\߳Yc21}/ 2]+V#)Fn{J&''+hNu M$$"g\UuqJh6n΍wk5R(ID6E}]5d 9deW F1rܬr7oXzTZ5M YmҴ[xڽw`ʲ U0csnf-  S Щ*bu}WEJIԯ~JgJB>ue^f4) nHEH8/3@+p e Cѭ{49{yglv[@&1{cc-ʈkT6LYeo+.9v8SQ FQFֺh to}L㪒$#Sʮ:RiCͬ݌0燴DJJ:ts C9`{΁z>4WiƢ]S8x. h*PAb43J, Z e]-,ΫKiv{> z*ŖV/`3MVW}|X)TJr6Uެ4c9a{j(\S&9" @E)!>l뚜-q07va>G2kMݴFL);o`1& ԟ[;$GBathUoU4qZf ?$Nxm/kTEicZ `&IixG=ib22 jϥv-xܟM{dyN؟'G￶[*+鏵Ws[d1,Oe]tH$i.t傠\EO7f:Kjg&6=c{iQ~o%oJ}Hߗ"ZUu4FB]ɵ2#BR P@hM<7& 3¢p#[D0 naL:oD?Ĭy\f3 l6N](W84Y  ,2 ]ReT˿5""铐"8qlr_c2C}xO&lr-jzQ{u.ݡy`*kϡ[`.T[r߯I}n;@;XtL9]~٦rt1좣rj=Wۛŧ߁6gU6JWXH kܧbߩ+Iu6lh$RhM]c{kk{:{^R޹q]!- N~Eu2r%/2׭K̓oTڜF J%1t{-,#U4MYaJ.JT>f7;=k+2d!`]bc v%Qu|"S0zkN~۪ܕY5]ժZZjK`=Ft.N[:E(Aa$kۘDRؼR87JQIG^v[k~n !r*Q ;? )L H:mN[WxW`_DӶRT},]-[2<o& "5?skFԔ?v2mh߷u?yl~>}}>7R.o_nQoN0>#4vIxi)ٓ9(]èwϕ&b:eIvH.R_t5O Q}7K䅒.h`tEUVJE Aj%0Ze2AWuI6.E'\ڣO%9acA!itt waܴ=ck柚 (Kfj3ѷ5|wyH`k\v˭ Sp 4T @$&:(pIf^ W{u/{l6]5wugN 4N=83wS\o׭LkBd h;粦٠dv4Yeў@aaͷO51[4`p0܊-`" 7T`?&FZwƓPV;{['ZrXZ]͂!{i>LX%5wˎ!%Tحn e^([{YF.ȚX[g̔ ? |^wbNŹ8^VKK QuUUnvҤt>:  9>F"s55+n:6!hz; Xt'v $"\H3 |ʶ2e'^r" $jLR_QMxo6mhOsMySp~ORϯM祢Jlt)U^} "כ1׏TRB/B|*]-\ES]mnkc2]UkV!F@ hvȬ[Ug+iNuoCd$Vq*)-E+U))(FuU聪\~d<2OggS #IE:>=CG0;<9H8 !5?DED08v r7p胟 dL3]&Lp^67J/7w 4n`5PuFp@־mClf 琴WUOXpR-($UjB`ҫt}Zkyuy{ZZ am>|cݑ=g_S̫~G󃻞X:b.(*'Is2%QkK9]JIgnR:(.3c}nZE6q }NJ3wՍl!$#)U48EʬJcO`#3ThZsTt9ʉI Yk(lLCY&.3́A 5(61PJ)S]|E?r췬fl΅9TUM!oE5Їv^uZ*;- N|#y3<ټVd,;Cɛ.ޯ$N>=i%.6m_+4{T7۟8Qdy@SнEʵXP/7n;8률3+4gJuT o\zx9 P]llub_@"crD%;_kx*#ɔۗJlfma3Q2s[r߶6E2HlV) s*C0E 02(>XE>T&?[O Nc&L8wsrzoj&Ҷp}!(,/V/z]yd |"Hb{BFVLlAeE,&C)ScPv ȁPWvfi1BB ߐ4kߌeX 9 X1e3Vy4k-['̞T TZ5D#rdӭ2#/&чMcگRnroVK;q e$A">&Y|v=)0>ت慬B[u e20Nd((ODljf.7FmOL;s=+(FuQy7ietc]]ff77瓫7t"J>u'm!P.@"ӫgJz. ~'$i}Ðpʙ9SΌS=b!XɭY lz~ @,JMAHJ{RAZ@0Ԍ2ePzW%OI#>?NvwL͏Iӧy*!Zu+wJ·>Q۽*qoSzu~OODNn#žy}.GߨW4. Ww񝊙ھ{Ϳ,ńcnJ~_,^6׉aB&4W(%M#9EU5^;G0xc&d 0G2@@(r;VjGU `,hvMc.OS;_bn3v6 QujRYK*uC=#%SLBN߅3Vegڛk;6*w⣯}*'2=Վ!pMNFgogW:31jntS>+ EE)ҟ=ǍjCT8ZFWia ,~{LypkndYІtIjjp=&@BpwqǁD@;;*a-\Aeؖm[{^2Gx`ylBk?oJe~+_17_c>_ZR;*הڜ)(fl3]^K>ȮJM_ymj-:??(VV`*ժ67ߙ 73vФMzZ喓*'6onTuA^$R3cϨMZ I.!ՅYȥ  Q{r;I"P/((˦ւp SaFvwEO^h=R^jʣW l3(% VX^Rй){ ebq XMF2iW,nszy|7Vwތi oN_hP8kJvdhДL.IཻntoWu<7)& 2GQ@mɧ}T\8o{};f"+[Fv%vqJWZrv3ޮ@ z82:*ӭSr 8Kz6V4)BFBVi$-`ģ#Lh{&%݇ 0lN8#p\~3 Wg 1' F4孏lYJ p{S5cT/SOzlkKոV _׸Y$f~D0!TTr3ǞM_wkO1!o R:\(^ܮ O:)T*h /oks=%<ʭ_ij3;\'6t7ɕ~N܂/jD.6sMi"|R"At~zzQK*|ٲ OggS@?#I"&)0J:BDD=<>:9;;4'@U-U)†)5 5'$SU̔[~*'sDq^G$v9ɸM#*Sf_Yw[IQ7sv0\ݒ)EPeHg#%nvZW;>ۤ=1YJ\7*qsM!7kuĶKc]6TRTobVwCYjݻ9$ WMD~mOVr ښ1hupBj7&1}:gfX 7  H78y䵒 @.(=c]$,l.=3V;븙حE^xeN剛z%3>h{WaObs>̐kBoRgJnSc;h.w8:a9Dlel\ȴ5ʸ\D}y.bP= }|ah cHͣ1g3@ ׁMkk#$j.AN <"PlY 鼦$sOs"XnUKdO <޸b \y(,3Gti@fj,.Q'TW~Xm=L{S<"NՖrBF{?F' p:5_x _>C:kyy6-cm +UPe+ĪL}n"pwfr=SJI,ֿjo{YwZRS}]hwIZsI>J"zb4$[W!VvGո=Sȿj[Ҩs] 1Ӧ.tD>7jt.|ȤM˼"Rk|!+RkF:6\[# +a*piQWr#rKY7!XԮ"#9K"LBiG:xc =8>c=ogϭ>Y\aO(0F$7Q@e*akn{^OEn?U 2f<!z'|P9; c[P\2j*]DXdKEDʵYXd1ק:-)r8zhk:vaJ͵0ddky>(~6EVvo9Wav lxLx ۢP $ ]wXbĄѴPӒ'j6wn3`(  UJs9@˜bJjtnxu\j[yM,iR $Sh TY^(n͙>`]A\φVVVflu̍O6C DcKݔ*z M˪dp2lW;n=F^Uh֮=8۝W{?_>iDA"űYvMRK nVؽ.e/V } tH=ƲNBH J]dV=pcJA'84 irH͗'4񳹦CYcuzt$((_eAOb(*H介'3o쩞E]y%52ʴ@tv{ 7n}9:xL/emhRzhFe$&Zmqn9@y_fTx##iӽ_yJٟLe{:qYq>VJ.J;7 zkb:D}\r+JJF$q+XH%vZb=tn# ,9`-DܖkPM>P{Fg'N4;LddT=1NE 4 }@S/i{.כ23LoeY>mGoh֋mI Q\/# h#K@ FMB-MgI^aseq$>KZ_ߛ V0-L쥥~3 h?`4fyHDfVB?NuGtYNurŨR ?UЕ.Ϯ UKQTaldO5FT"J(I٨']QʍdF.`H /!TO( =yGeAe (HzJHB0l=Y#6p@7s}h QQuuˇ[z;3+?.tcR /Qaӷ ?u["mTc+Bi@AKyZ㲽y~dN0U BEƪߎ)j$&-$5]Ͼt0\ҴV6{Uv;VmlZclNkn"^?yi &;M(d4.R+mJoԪUݶu D0Bps@Zr3/)Zt7aL+WC>w뜇q3eI6%|>n>~\ך~2'snBt2:| > J=;fʥʾwʹ|2l|ժ=VYP`/ם6]:fْ<#f.QuQbUF;nkρP<ͤ!5&zmVy0*Be^GSl[o*u0!fJw8QRy5c[qQQ)]Z{f5[mչl۬TmctfcpUz L: _LΛ^l0V5+*).T`I@_24~,Xx׼yT%_֞?Gdo~owVi #ua~]Z+WYS̘* DqQYU^e&q鶼Zr[!u}Y9'粺**ޗO)ħOf &> ttwSlIT3J%_eS4SwЊ'N*ǧP;0q.uQYvEY}\Q^=Su"ػwz?b2@*0ŲӜX+|_G38bW*Viw1 h`+brB,r 9;w]a=&̛R3J~ۘQGgw66踟*J]&DKtQ~  v]bGPt}}Se"c7=Oӯr˯G7tvwL<<=CDEBCBFJBB;9C08"xFפ$ k;rlvx3SJH抖{!dp]{mbw/WS]{׈R1\Ш{K{O^eV<#{om clIu嶅ˎOcMhτ ܗW aXv=#-ҽq%R׸y0tuWGx&(Z<]]'J}7X[]fڶw+gf1ש;h`PX֘,ݛ95c+#38O): DkN$3l›[)ٺw5?{z^̫:cqKNLw5PG~* ϱg;&gǣ(* %+_͜Tkf{3mFuOo܄t=c4}>1.W_ĝO4qثW^sRY^G_`&٭ƕNSPtϼuW̶fkNϬ0PeGK;>9O׫6YW ieK6^콋-uzX ތM@V }!>qA+pY)R$o=w4k0M՛ʴoWɐsآЌfPLxR>iڿԴZɒ:̌EOt֗W#}ѳp~;cdؿB*%c]\>Y8=OߝhQ]#qwYoWG/ -J[ɦkOt8ZĕYPRbcwώbHi;7BoZ=ċؼOn9_eќv*8} WOJ1dG4ֽ[[Fl؀ZΘ%n;ȡL1(X)eQ~s@BKh&[ɃK1#@g׻BM8y&5z\V)u|]}w_u3mmhZ|>9Zzv"$lu.@wZ{ۚ@ƀ]Þ ƻUS2R۶66Y8ʔk& =3u $l-- עoᾸL%ffe&,We~˕22܋ϙεuduMۏK=6=_ c~5˩}ymObN]ɻrΏΈ}(J;?rbk%qߑI3'1:cVJZ #-kKg^Kk;ޡn4[$/vr寱OS[-ҡzWSנٕq?Y Up;[z2{]pad)gK^3<}f{c5r+zw|Mʆ|Fr8 ͰE0JRHa܍GN6+H3Pr s{Q; kw4ThTj錛[9vЂFޝ"t9t?w*1RugC?X-`bMi,K8QZO(FMH3,Nǔ2{,'7S؞l_4b¬pAGj4ێ:~tv˽{X`~T+ҽq=Un 9lϼo&y،YvoZck>;`.JKKԔҎ޽SJ\'G5͒ec/J$y? UcFx%S=Kf;%SƾC{_c)ĽPps67ǂ^c>GPֹ|avocL5rTjGUXWhm5e8OΉ@Zo@ `rM0S_hEضY*sl3bGeUk }!h޵>G{lW7e̢m3:o56޻SZ??sϿ'{zF L].pq^RSMBh*Y1vTێ[ !⶷ܱO'BFviq4jΓitr7b|o[m62M cXR4´ֽ#RuGBde]tGS6DŞ2rbo̎a}Afzc`W,wUNΝkTv.8t&t )σɫOǫ6ueϝ*:bS* վʋ̐}{-]~RVys%eVO5K6Ugpc(;a(TʫO{7CGr-ZUiZ WJe [YU v_VݽLN/6wRq(W潷mmm6U1+Y;5B g{ m-s&}cqDZ]m:F)&yۍfe:jbLtBs Ubuj4{,ffa*~0Oސܜ6r*΋UO 5s.w;Z6:/Zx:q3[_yt!r.-N\\}^QPlP)"X!RvS)ĕc@rWD |+DAKSj-C IbnB'I;GLMMH n#\NFLaDOG? ڠ^[˜ ̯%' 3 w@Y30a+㙞Nsg{z2w0eCe7!a-!RdPdm9}ġD$SSlB+a搿 3ay*˾ћCVۓ筿}y<ҿ׷{V()\c mnUE2S-[kps鋱={&SLM]k~ {a SAF}Qۧ\Vʑq9%SKҎr2!E#Ӭ19C.G@$ VA-VS=LVYbaJRq <㮠8 ne4K#,Z/,{h5MʹlfAEEC;;;=9BC;+39?;:;HCBB\ZyR2!29U `|K\5S;O+_{崭"X}ewִG8tF5APƳ(p 1|^׺U6Y֊Ƕ$YXPidBqH^Dyi>#Fc@fTM)e*|VHƚJu? S$oCWvXz0OmI619'Za F0d&D7U1յb UvD dqϊMv5Q}kzcF ;)b7KSbBE*g/`͐F}@ }WYafL޽vywF_eZ.896ZjIͳ&MmԦ~26RUDn!7#έ5Wf 8BR0wG)Q*^v]ﭜ2V͌y<\Rcow4|rxXGP%g6דʏ_g1OM{7O;'LFcf!nj="O`(ĥ~~|Ov%9YQ<7lR / 'uI>w Loc/O}s_=[RV\ńQ{lJ$vs[I ,M<Օ$xg+)y=yhmk\"c %x$~?E5Aryfn8R۬hӶׅݛo|bufcuKј( ;2P !RWJQID)Yޢvusmm*6fL@]4`GfBL74,]6bp9ަ*uyMUV>3kRcL4ױ2bHZ4L%QҔ^ݴIU+fmn>R%4V]8:L3ˀc7FArDuΫZd{{߆N{rm;rKHP!@[٭S8j@"ܻf|{3}ɛՌ%U\3>:[5&quNIi]Ӄ? Ht1I ,{u&e09+a߹EY"LT 7EF1 ]l2\bzڛQD](:R-m@`GWKL^vm:kr+`Ds X݇#qW`3`vSl=ԣ/ |ӳq{> >h=k.&Kj:EY31o-8p&^S\lpeO,.pOĿKVE[=[V^WfivQ63&z8^:GV#,4dL{ D1y6Be!Uܽʛ%.6h{:JƼ<@ݩlmɼONyY & {|@av \]m;Ij(4=t?uxN2:.y3UȚ?ySlbKRB(34=,~͏IZ ͛K)I NΧ+$^юe ʄ&N"5I/ƵG1^߫[PSL9ޖkPYa=jQ[x|byC>gwmMٶʦ;?|u S\*DP>P^:u%&y! rU(o{ڽoߑ1l:{4;Up'.9S)<*L0i|MK=yaTRk|_ Ry 1ֶT3T qvcVHn`numGȏ,U:j6l`3t\"kLX* 3pzH+Y'yR<]mtfkVnE<̓Qnlڤi2&T'\-@8Ota_Y]TlSًk=ؾL&'-@]L⟵U2)?ʯR)U^:M䉖i_+v-Mtb'S:`/Ȋ#.~Ow f7jqWųmӽm6u퍊mf̤zH塿>!*C:#*)20U-W{_ޝ[Xl.י0!yFF5 0JQ#[x>w])O~ͫ{wek]:d&I:aU*T/iY< O;YȨcr@ޛQSBk@q7ܗ]~ yAgdzy,vO/[#$wYݯs]=D= d S$ OD]wF*_% Gulu3һIit5wY0t)51̞{T]%-ezHl'B_de;N*r%@ō=+[-9Q( d$8\R]ԌR!A&d@ߘq0LlKtfb|cLԝPvXOggSɿ#I҉4&4:9H:;;9;= *\ёv݉e(,dٛ^Q٦Gr'DoT t+`:UH26DW)6X{oX@*"Nw֒P_FV7!k` Dl  @3 x!sMO04F&S`d rQ 0~L$|Bڦ^JHga9\j,0O]2uV\&ތ>VA!p8Dge" P@jyr-0:!.FK! :?ek{Yx,@g6F@1ih(Xgn)rQw,ą(. ݟ/FLRJԊz鿻BRLuH5^e1| Xu}LK~ogNƨ%G>՛Rzb5VStO|sJnLeէ;goJoxoU/$[J :MMŻpX{C))oi=e,VțS,scB_:ҵ8VwpOǔY #6S:gxez4+^5e]ƅew0sv1FEDفO*>oF#c_{|cK?}骫L˜3'S<`M|uBFu"Tcx$s 'Īm&Pjݟtvv^ٍ^%ӨTpdJX W4:V+ߘ޲Syoǔ0Uv1.%AҚ El֤-Q_w.ZtY.l}jxs#n4҈D%YMކPWܯXIRM Q\}JQڣ <+2KfJF<#!Ir-;|\Mu6Q]/g͚l\3]t0EeѥňzNͱDh|j-M]*|6vvV"yϬ2DʦoW*+8 W>Z*A37joå>$k՟yleTwڦru% ؒW"@ˣDe_D50d%qor_~3ַ3 %S=s )yh[HPƚwQd0S3eJbVl{_hņ,Me6sziNl)=hةb\xuf!ՉK1\*謤;ܔ1Dt@od(77uz:Sɕ3#+9RXn6XW]& T $ ݴ5`7KzP lWK!W{H4&&`"g%̘pOnGH2?:։ClvVltUI"Q=?}qsb/yfL)S kVkWޑ^,, JK`= X~*/LS\NujF ]}\+JYjmT+YPOLծD4[3]ɸuD=Ndmi;{Ҵ=QP$&:#+]3 DIXJCҞ슩B*W27nnD V=$X^"@2R7HHRP1AN -xUX[fU) Z554+2!dS/>hK@}W_?U{cK8#'&7tFevc,#k%E4;jP $ 2OV|^}m}+]VF4^jfld+K!J@e+?T$Ciwf6w?{uEV~M{V-k߭U{LF:Jeg {z7 ^[έ\&߫~JYq'{|1o{륵ٔ\v&8iF J\pTT@Ɗ}^k''M ̼g+֎:.yz/&V7W()?"~ ۛ>SRvm b9)WT}LG9 /#]eV>'[z ݜ)g.wŸܛ5OTEr2dei}n/!,XS @2EܕŌPc,G vւ-v_nr<  -xq:(d|5ʌ ]ʾxF@ZugxvxY{z敕EHNcz.=ImPl~߮=O5N[u=Lf (:McAZ:;a#rn)!ef_=Ցm6G' !uO}Lh"⥣ܽ Wbs"6:^~\15:k]]TLⱋLtn^I/1Z/d;N1f02c.p჋ @+&7c*7ojVnRNgFi&R]C(3Tw=pmQ?G8빓e_&rSqKb |Yt ]fJ2uߔ"bHi"0HJ:˱wapyQjUPV򰟔DrOUY=o6qo9D:$4ff/UL)JPOoz7T%fO|?Sʘd6Z) SáGd,i5 D#-n^l)d)E>˦?7Òo1tJ~{<_=W.p:>uB5 }}zutLXyy$nIȌZ?)\ '/J'G<ʕ?5- Z^}py^-vc*=3Do $yJEظEOoZUshtH_]x6q+TyĂԲBTTtd@f ؤR]=An6 VDͮpf`Y, ` jSӰZ (֬BH's<^g}z3j2%o<~_zp Kqm`ލ[bsdF0MWm-RfWl\S:8)ݷ =1TwW}!D'yj3N[製!J2 @c?q\ Ղ6Q.v֓:!7-[􄩩VsIFy*T[o/(6k\ S#;D\vmKPFX\duD&0&7Su\gLx7,^ 4:5 U؇"6#"LMILyfb35h[\~)eeLnMdZ)̢L0) jH pI;ʩX0^swYO+r[ri2\$-G)H_|8D=;Qo}ɨ,}tq[F'd1tRͬE'F7c$]V+=e^YMk5n4%d 9t$Th+=0nRXfLF9ɯJ+f=Lw1s @l)ҥh}Ptrc¿H]BmwLʼn~{fg7ki:\tXXrCctҐ׈@f_ QBj̞N@_It(e%}B5}YUxGUnCce]Q/ ɚfz}9ڥm{ ͸4> N6MT&^_pJд;pQyVHx1";mERYY!o[QuGi+,CЦw8 C;,@=xZpH*cTlL]g]9_QNJru>Yǥ jT _Yu~=2R.癋rb_>T5vW*j1<-E(eErz .J7'roֲcjj@nVd2sgGtWz(d,}{ f?(RBWGB WM^(`\%]ef':JR0 "`nG„{̤'2fѓ4l>H, ;dP`\k-L/]rTFԢvDh{ywr.kB'>D5\,z$ Cܬ|,}m4ܸ Ɠ0bBL6ene*w%"*w{[g{emLc0l0KP&YxI $zs(c"1m/yM-5w&H$NGpU(TkB*<_\#Z8 [Cbt5?=lb3k<-9ά'Rqz%FHK&Ht+օ3AP$]Ε h -b! ^-U|tg\RO6^Ij&+wޚ4zMj'1X@ @s| Y4piꪻNwl^oXEY7(S$lcB]«H ݽ֣O6Z;l|v+ޅv}NX}Mr|j?J4cFvUdWsJW: itW0&ʗ=%ݲdeȍRt˒9 6J̚;Qc%xTzbaDTBAEkHѹ a)v&r*q"flVP`qgnM#n:97m̀wnj(4 9CPlB̺*Ж<G Ug|ܮCtR]y4ۑ7}haڲv{OggS+#I/ O89CDECID+.$I:;=AFA?K9FeAD&2$!@}c.vxT)5Uco?|l{?7>/l<{6,ӳ}/>3~S08L&v5]3MCSgLEmw˥J<+P=.N=O2GRJ''̾K],t+&dǐU/)jIɉ EettnLܼ8[y"ͻshS)uw,[Vx cs ݧϘO3L"djfJM#˟̍ k=< c2&]1nmNeӍ7ng2'f|ϖ':?޳?O|S_}A~y+B̑]IbOJ]UNY4br֖y~L=fw­wJ;/c &_l$1~6F}oU+=:ϚUst}j^:.˱iƔt.;ʌz{1g3vv+lZqԴfظ\0˛9(p6 3X@m0rI$) - },j1UZ<8:.Č x!VlcŽ„/ˠVJ}{.9c|<a火>_2y`Ƚپ41T&2 i/+帨hvVFsLݴ0t܈ݎ~:dv6Qh0!ͮʖO,;[>a{x.B_~asn,٦tV-!V!M=m=k٦o-+МkS'95w̭m({Pf騻!uYnѻ!(\bK#MZ Sd_ ~m"ƌP=Jk4#Y{kFN[2]ߦ\SDbhPQI]q&/ |wVCq n=LwZko;[՘)rJ/ O z-Gr 1@gBStC &)3;䗭y.Niٝ˗+u:G?'F": \k>#Aw-ʿ rSLp]g^F^!_aqSHu5WRjnպXz+6ZU.廒jQjpCk /5d=w;>7ׄ-gquآ;#F=? Y;M޲-=Q z c20d]"~$ XGD+Dl&283HI10_\&y̬J}e Om:]寷w|J>qԥwGS~w4Ѡ~ZJrTNy3}16NaF7(/!"kh~sljΘ(RȩGI(swq'䓞1?VYe#D/FaXؚ"{P!< qhebd-gYkʭ=T{v75{,L6l+-3(£B)B8&+"җ5qwSXWXkU~j4/7x8x6{R8Ht]6]|m=jLqȽ2j#ޗ<ކ:rK].]|+/6T O /VoJ[0+Y\JAq8@o*f'zJ =ܘ,i8w(n^Sgg`VY@S6GNW#oz{~޿iac[@{#Ѳj!l[ }@^PBљe|o DbթMe1fs%3F՘EښV ;<=On忞V?>hٜ-q%s8TO|GY;7^4x )e&ۑߜ|יMNt튍>^P$/M{橇f(=F}=+-g4@FFtӷ}ۘ(*0u,ܻTmqy&óG}d 諪i-r7s`)^q #.01 vC= 1g,"_g}+xko[̼15e/Ƙ|^mY$7ox?Wl+vX. ~XHcOoەgJ\ېtx-MGIg\=.̙Z}6vtj43dpm̲Hy졁dnիx8 : ʌq9B5k2`fmŝvLbtR9;É ۙ‚ p30+Ou\u܉:K.j5}s8+T^%f麧 6L׽kQ(A7:ϴˉcc[ky, I#orBM?.O=t(.gn4[MgNxk\)$\@`QPZ_vԞ wK>M/vLO{ݵ{lM6FbG:E2LnK.|Ӈ(^=b7WCt4 iy{z5N/y썡ڢ2vd"*5 ed6(kZi[@{Cu}SB<{b |7T^""A.c? p??w4iU#itIX\{kUn/iz4>Jt K”\cy?gX ŚptZBBDt׬6/ڻ{25OggSS#I0&@EJT18&K8=89CA?HD?=9?==HCCD>/4v?1sHl.tT\_+m+eͶ۲uii/$b?(й\ J_9biQ90st[W;-w(wwٶ.twwU,_ X oD FgQMy2쯱.7#ĬֶHI-즍lEڨ"ԇ\PFM._~:}vwo)3UѲWL.S?3c ]ϗC97R˲in> QUrlPe\m]LLyVշn)y"jtd95&ʼnܐp[uW_['/c3?!~Zo9M-t=uZ {?2GT/:ϋqIZTFS*6ut硹iF)H)7rWFF2($(i405 fZfami-l2!,d8S7m]2:#(񍜩AHӾ4 t iX@nӥ=]:JETԚ~eյu(n$%(& Q; ectoͱgxf&ɰw\H@TR8d>%5Bթb#U-,Rlr4Y mmg5! K5Ōw `v^1SJE^Q~S0jgtB?04l4fy g 0Wث [!G?R/n4͗8?{˶YucD2U]> PVE;t Hnys !!)@juu u 6[G:WTNX:YFvqiW*1COuV ѥ˿9Cϼn h$~[= nyk,sk7!0`wk5@B`f-1[v zk@f,XKa$߈ P[ HzHNnfjjf,+@qK#p>ӹ'v~ig0ׇm3K~%Ѐt$ͻZ$HOȜxOYi1uQ_q#fvwsó@hCrDo|]yw !)nzLH-Yyqߡ9ݹY/?slOozi+/Q{{)ө/86R7ؗ޻sfPw{dcޝ f .@VlE$6:]ToPX.B08~Ëo;R)۷k>_ﰤojĔ bp9b:>Vzͦ!2P_7v kzG^3g%Gy?^Yy J=[qcT+IE⡂*;ܸznVٹ) 6grR^m~lѯIms^֩\q9{!r1~۶"UUgřV@z T墷UM_`lvRY,\yf(@LOwnmͥf.v/:0BF}@Lf`4:Iٯ0s+7Ǭ}gnV:~󲲶r'lFcVP4vI_:'(#znͨriWU鶙E;7VsoL[z-XOnׂY={˯Q(*Qbީ[[m{6R6bi\ SPn/&=zFVIJ1:hz^i'OLI0V(Fc1PrYή),طJl_SyJ43Y*reEh@ZE2!UVCM̺:B{ tcv˻ٟRĽm5w4ʵ}{[o E)  c_K[q{cӋM>ĸByJ[{Ӗi[Lח{ZC I6_Yl.A>.gk+*kJG {65 (4+ro`VfpP0GPeL3@@=Жh-xynYU`i#وЫJ`K,G@ZE^>~!`f+3e~+F ܓg۰Loһc4E1X1ޝ!cL~ퟖ?ލW/DmULTYnOT*3w{;f~u{cD]*dU||vk?@IWuB{M_oaL涝>v߸ٹF) uًBjwm{.v0Cj-Ha=J\<,1BOggS#Izj¬%B9[yvwo{pmM]M &4 YǾڟ\׽E2Ô2=+y;׃3=e:4s)b1{YeO<pb  ~ ~Ñ}7]Vfzai%nGL`˂Ixjl䭕ԉ:yO^^שX|J?կK1<دxWuY$rm++|z4/AFx͔ի%]kRA26 nn_@e9鵗}!:V q/^*5ۃN`K}46nr\!\_Oc]E>Keu@ nǡn{]Mѫ!>֨)Y&b`hXVCc1ڰMVF/ؗqy/f祅íN;M3Q>Ln.\SADtYܣKIq&R3v$+35j/`pwg߿6ӆ7bYub)P3j]l24=#uhZ.DUQqb&V^#c 3p {]Yj1{)ސ_vc.z~v{*;FVߓ+Yve/店]nci>էꇕ\r\9puS} ݞ?4Ą$ !֬#c\1-> `T V5HZ(LkE䘱1+ K}Jo7&w }|Ӵ%{[GQ][HI(դs} b]x4ZPJ"Sٜ8s\U;}+Z(d\{( 2[nWZyR~Uw>wEXVrZ Nb&̉՟mO1zOmD_'ݿJy V&[wY,;W0+ԇ7)̰0͹M97=G'L9vu%޼\.t9wP>lf"ZG; Wkp{ H#~7q_GT\'u$5G2SWp馗[s>2\0lҿ8 S2^OvK[yJS镘q^DE9l9RBb?#?ZǺZ] ݖrݴ"mL|+.Ha/vޱ 57w jU:'7G<.LUiV(bݖv^o _[-=-U} 7^r\XXr_\L .=cfٸ_S(9) ޜlD]"[Į_ޱ;Vi"I+4.: *> Ħl*׊U6d ~>;?"ѮBE͆D/VKk|uz0J\\RS/BPٍjO^Rvf}Y )t"8(s DfpD)Z6zw2B^ ~mRxddn@}yLG,2m,csM¼(]װ8^VY.\gryb99Nw3r*4'&fȸXO g (~<"P(3^ n WC7B6 {5SffO6oWҾ\?'{LSi_To5 5χknyJ#ʈeR[YpUQ"`uCJlTn7 xT,E~fX:Ř^XN{EFS]yeZ#(0'dX:IzU  9\.nJQ!O.}GPؙI7HTu 9 Q k œˆp00~,eifDHq1r!XLכkQ#kNF*lG,~>*i#+w t.;k]236{ HVj^dl&&prW#Ejerz i>bYᙆd(H7ͺx=;YJ/#MhUJ2!q.FG8*K]aֹz {԰C|oosl%Z ۪ (lm31gQ^ &)=yfDRdyUeV.zdrϖ_n܋#`*%X7XMP9\^Ϗ+ʗN s3:2 Tc248I qYF:t3*C ZveG;`*ܒlghIˮ雹 / t6qL%Df{L$\Lb(Ӊ5W;5{ro=JVJUcL9oldu_dܤLJW>g",j@G2vJR%2'^D9U$>_zROggS@#I&;=::8H>HCGP39L>EFCCEA.=GDA>6 FFLN6 Ŀ=\"VJdȩ艿~RCN/|J ]"10 $DlGMSeY<9v9휜^~n]vٲQfNRQex*Je-OL"󢛯ي럄7\YL1nH|*[nTDE|0^Z:/1vdِ϶ص,TɑOJ ̫'Ğ'Tm|4mew~f&"4Tn%Q =W@d@`Օhm:{l핔fztn[Z}mS{mU|JBu4:K305Hv%j(t\5g{uZW-E[mښ*ԘMGԪ|$@-BTLS \ϛ7Gb,\k.Ld<Ubk٦8nv}PK&1F{mCF:%C>$FF"1D󐑝sPܸvy*wCYIPWE}]70V}>w5Y'URX:!ޯwzV/g cַY_jڧp*ȏFl6 ZپUW-wW3!d*OP> ~j`4L麺Q[-)DUhWp,>WcDYB=+0|_P,X/MMUb{{ڵ^'Qtfy1+njtDjJb^7Ag$$]_W_V+U^[z7i޾y2Sz (.fbXt qwU*~MY6azU8ȟ8YO3ة-:W#rL3۫6T8vzOU_ݲ.ݾ<]sb,%Y Wףk?j3MnrZ7]&n {ho麫 /[l@+ÙyM]5(}9fmE]E'6sKw7L5[/l՝<`ꉌx37'%П]9/SȰf~t=D.۽ 6x bdB,g_dM̮X.)7MKث :ޘR%) kLOcbNFӅ)nK%Hߖ<` EucEz*TJ16UgBZpRhv!ۼzdS ۸wL߯Du۱һe%uN5FC/5}l:&rרuY3ݯwdӹՏ4vO%`"g]x=#wcD!!,f7 2>S`@Im:Uʟ(y*49H$-IlM<9*2S~xJ:[s6J}Xr^;Mq߇u_>M*B/[YfmZs\ʬE+GY> S>,={PkEX{=Z*QoOw9^S{*"Ε.2M5#Kjg#nw vTygYO?۱yŠJm1o*Q=wWݧM3lܐr7F̽G\ _/u5{EnDQ`f"6 (yS#26{ዼGzAOӏm}DX1Ue&/]A*ej;Ig"DxQ;{Mr|L7Q3gmU'Of|V1=udD /3~*ȣن>$Vzʎ 2y<~mwMjld-ϴ$&$\)B W6tkaL oms ~~W~uzb-4Jc ͊bC#e!n}ä*LO/|öϝ}Wͩ۽:nU۶j\dȘ:-$+owi2kJnb?$Mjve=wnztE 13}!!"3ُnX̨2 DLgXB:Irsw] eJn.3o↉m%+pp ,VX"9ȀF b?i}wب,ՇϏ|sH4Wr4|"x0GMtww"v7Uu*sW膤4&6PO%I59y|(Mp?r6e#s0&&I0@^򁬕A9(Y+DUy 캕]OggS#I" 8;:<<9=EF<>77XI;Ɩh}z-c,UE#E1;`a8 \R H`X{p̌N֪T=Tt[nڞe:<>KԱ(+=q.EUd;ς q`N:r]p!Tb##Kڪ$24{]_yrIʬF7 D ȞJ4z$BAw'[D/TqQ*EG5֋j4l,2{@!52AcY/="%ի_*b":wZPLɼ+4COLz#3YHgi/k\ϕtൗ3r޳Pw?Μu-6gaΉ2?c%-fG~r5DĄmH. Vd2J-U*KեmueZX:j1~[+Tp{G^۩@`A~m;S˪UUԯwZ'l3۳2Y @GZS `ExSƶ?}|w[\hkLMDoP]{}春&[̫lO3#v6Zxߍx-n%umZM˼.i5k$s==wmTKpJ|f<I朩ܨ7vN9Lٙievص zvS7L` $"VE)$>uc٠!oW\Gdψ.[JLHeMdsޫvgi9o]Ԅf[\^sІ&35ez\Zvȴau`+E:H!e ؇=>,'O#I xjf*?Nlܸ:ղ;9o#sqN{@]ARJ|;}=SGѬ!^S)dsk&Y)o-MVǕ#?q]EeUCaoߋ .F*2:eWO,\Yy&v)/͡2tp~fn3>&J'B@0M - :͒":Evٗm-?'L:j-* ,Ę=gl-+u.u/,d?Tf@ W;+2A:{(\ 2u޵o]dc,$/yjlbOetX۟/~ˊ#J4eUc ,[wi^(x_@vw?&bfokn’Y* 2TWVt<9{;])3-v_ɸʆ=pUF7}Vt؅$] f<۷].`uGm 54]aLAO3 nK [Ѻo̖^Ud"ŀx:`~9@ .K/ȥ>E*RpGH:3hJs/wv]5VjT_1w|΋d#^6tѝC<9wNGs(LF0Cl:S>6AvOEKH4#ѭ0Z wX7jhds" Tbl\ݽ7'm5M%{JqK* bHJ*9?hls /DP:`i]6 __/{5SPrpb1백17U6@|iLA9I^™g"3S36WMeH0q%J/&UWUx&w[SsQrvsT8q>[ōrfٮxQ\4ӾݚOGTc#.z{ژ}d=Iχ>Fpy-ՏUՃ+&]J3 D0SR ל}ȼNEhKOh'%eD+̫TƼ[tVZ{6V˕j]RoscϫGoeL>#JFب)ݤˌsV66S -6RD̋6i֊w3;}3g`KgP:t l2Ֆ0w0j!+7-ܶ#" Ep[т ACQsĿz\ϝ"@^ 6>pY2vO_玵m{1(l#W}X`g:%XwGs;qFk\*=3wT*?9=g/S5}gffW~o{߳Nƾt8rӠѹ6V/Cu/ze{]Yƻ5OKdP;D˟D?D29c6;N+vjDgtp&*lRAـ4Ƙ؟k:.̓RjTx29_Uff{k;ürsY)j 5w]zug:unŻӣG'~;m,G1S%vRjX-hvNuJW3S-aQUG ˉ_y( '(DaJz9V5ʽnlzz!ӯI. CzxR45~Cn_SμLSff`$#lèY>QJ;th FA')Wo5Ǎb/\wQɛ*|8ۍy}Ziu;>~qs=dGt4J^])Q fC>^YZayNh@#J.=Xj[QyUճ'N9n l>[77,%.ӣ.x>v6 Xl]/3GnH;bNWwm=}c,RcY0Fא >tKJjf͍oq"Uj207N} t nw$w80 d!Čʄ*Ygf[83*/L꼬[fyv\k}0]%\JZg ]n߻q'uR8ok^:<=|>KNDPYqRś:`M:$#-J7ɎyK'nĻCkl#M0brR-չ-3u:kסRӝ qɋsǿxr2XK̵ǯƴ柴l}m׫lΏꙋ7NZR͓R بguٶN8`oH &uqx:À2p0BFaUGHlR@bP -Wx-)5jT~eˏW,&|pOǴvHLcc#ѐ_gW<6QgFq\@#jĔkfOo% %蘒2Nfj'׽\D*]%ѳtL@%sSzMC}&\+;/Oy4Bsݧo)++{GgKg.ɾŚ,ME=yQ6ɄuK=So;PJ,qwX6  ̆=9[`P L ݈JPI`[o{-1^/T gT {aK.s1CdOggS@#I$* @>8=?=AGcI@4JIC{3Zu;oq@x5kvfmp߭vuI}nOwys~_טL:m.jctnɌvmC{ʯS?|uDi3F<fmsUSG;vw4+Y_?Q|% kt}Wݏ~_ܹܱO! JT˝t>%[Rӷ\={Fd.nbqfDnA0ʒ@Q J6٣wj혆uA y7{%9qJ0Sw0ܳG >:K(]1y D;vy^>-`NP ~~g{ʼ#ϜLt?5!ӸaxɇQB7oi{ Swa9>Wr\ۺW;+3f˦)M/#F=~; ]G~t|.Sz=-tg׭ӾmW`{b1]٦) d]nAOֻ}N#`ov㪝ٻM=]z1k1yco B'zCa pl OB롸 1I.٧ƗCy @p pMX{bSNtͳqneu~QvG=OST1m(Q(ݐ_n+]6H~}P &3ҷߍ_iK]˞e=iw'Jʋ^6YI#uu-)mx9}O+*8wS[R>ϳ45j!vֵA(u`w/7ɖ \g B;"4;) #`"l6dUAȁc?Ԧt$Eծ볻oX-YξԍfORnBSJtPP%GKᠺ;p=s0+͎BmWרm]lú 2 F6'De|.kN=<˓k%6ɱ|s~s^lߨSu޼w,j+syR|D殧+d-@E )=ZDc[y35Ƣ{7w ̎8>mn^4zַx<9W$!|nCZGtrye 2&U㞐^1sJfeԟB|Ot{V>1s1EV)=ZwUڮ[J FfG2Ir jQa*ۄhU?}2[K46ZٽӹcO/KwB_;z۶9t4la"Ǩ>p܎pbc;337gQDs9W zd- !͓Ȁphc===ֱvH_]< Ij&?Z/C*yL85~rd譧cƯ\ϕNpJUGy2cs:?]+̼)l -u.bi}Hk|lxp#CΌǥI)e#o.#uo_Q{lv]i+rįJw:=1@|KU*oױ_w/o)ӝy枻n|bȟM |궳`9]G~_Osy:{͢Ox~~ac(' Vtmw|B:b t};l7+=}ycwz+S-eńz˻Z率T_4=wp?6|.2uXz=nuf0}]t뺪lœz諯Tw*Nܬ{g֞Z+BΚɅW&Ϭ(g_{'ӮȻ䬾y4ްkĽB>OggS@H#IĖ&[?;==A6DDGEI34N;;?:;Ƹ 2g{Sn٢ҏ̴GJ@1| 4)P,:'| %~2kO 3z;͚nֹDr iAM$Z@/hcӽ^зH<''Xw/.7wc$L&.'Wdʈ@O-I0&ϻ[ʛ[mƴ 9mM2<>H %˒P"VPoᯰ(^˺m&^j{i U)d25JEKV h2jMrIV^K}2MuK?g71n\}d%A=,}eihtL9E7TᵙJS-B|J454p33DK9 Z> 4`ZPI,+M3dlIef8_9]Ҳzz7nn<-Mz1HnX. @#F~j}8{w{OwumQ{t2ĖKL-3حOe9|z'|n 2hҙJTW/[Vw[Zkf}lj#w)Ml<8/R6/BS={wdlPRjlZv{^ܳ$ bبT,NHQ| >0gN\{P+fzcʬ,Oo.sz<]-'}B*HlW,GKaJe;* w婖Vɦ7깧^kx9XJ.cH6Oͫk6x\%x{g+B95R*X}ra| !vj9hSuCfIlhm}rNQ[YDy!!pq`4Z1vkg*#so Vie01@7@~}nœ;i ~)FU2ru:1N=ܸ]`&1UL~kal~tzwk{.H]E(sg7X~nl~;.n+ύw ArcqE R"!J: qSY"KGLۏh8o!BniW[ A촞ܞW^aPߙ(ePLV_s&.wN4g.C%klNgs` CC,`Jy$>bؔM3wg{y3\O;ZཤFbVV'Sr-p3u?]?SQ;ZN?6A=J#+WTټLShByfs.l#+G}nHn6ì˥7ܷu{#)nޖB6M'TSC]4E2 ^@X֥tJi ఔPfa۳aȀy8p(ȼ#Pxi ZlX39}XY+oB{g Ұy`5!D6j3 ūD^)/dHu%h/TNQ 0"㞴Yu6=_W *qnW}~ʚ9kZi-Xn/k{4RhM# B]= ;!߭t) ׾=g/nZoz6j4>4' JgI]L5*m?W{|f"JT QJT TM_k]@ٶ ~')`,M|0SD@GL0WTEe4KM+mm;Kim4:Z4U;TLOhvRD@AyJR'45o捙UU{^j'յWlw${,i:efz\s3Xc~ïE>MK̳XgJR5L,PN +G9jVnI\D`\#96;9fJ*njn-z9r2Qzv/R6O֌nZ6P`5 %:T1.bh1bLҘe ۥʥd9L5E{{̽\gw6 '{ dss5iw1[߳ac<8 D@D:T7Lc`WKM'K?jnwY<P3vMYYU ~yz74f뻶_~0[8ǐV^߾+''n~?fow7Wپ;C~+\gkS~Gdkc4n؃rac5'ny3מܸ5l聏R(p<&%؀i\JuհDkv}^׾bMy!^ՕZ~뽽?L^&̢75jrea-kTmr7ޜ)q@r*0aNWxyKͲ&01fBԌ yr>ק{E{Cp7G~u\-]o2κrLt-گN ]ұIpTT6]V*|fco92<]jYe98f9{8LLfo<ލzmn2'ۼ-7f~ގw/ 7ܞB}elئ#@cȼAt}MF90Vz3J嫔S s^/] Hm(QSV*|0lSdYݱGwIڜuxzwszRzJ%=cdD}`QQډvR1s-m(x-0Ud)>|OS7msstO+e^pBst ZJ5Qb^ޑvժz\E4ެ-[9js~Zw2=m^kk{o唤Esײad0wze'cY 㒼p2Wo2?G׮˴\i̛ef{_Ћ)?>:-ʖG˜s tσAy\ hӯ.Y^nt/Vz?fwԥwOmu_Nt,myvQDLrƔ չbWRH͍bLdxT:D,R2R4©'E4kvwR1ٕ8t̝LߛCpWkhOQC;ny<-*h=TCv+ΐw$v2uw˟hW?uv`6IQ4{9PH0a|7P ޻T跢PLu3U}Hg3VMela0353,z'UH=A?Үyn"/Q'/Y'ㆲ'Co4W,h׫ Q-UȈrJsqrS6`T=#oP{ne5w+]*Q;1wn*2̅4W ƿ,]u=5tp29TαyPrklFkelh\kwU7dFyhH=L琙1N +4s9UftkKO 􄼫=\9x(\c*S6oI~G˿}lSor(tnVRf6ە뚙,=d=kd$AA %ؙ^3Ů~ xRTM4=G{1 'Gp Zп=FT9!S!@VܹJ .k*}m|6KW^3.g}>CI5SB;kE ]mJ눾,``=j *!8;}Ųnވ `Y $VWLZtZ)N27xU99{8ijֶm۶m{ス۶\ϱ$պR 7ʿG>X7+w~jW̝-γumw5˞m-ʶGzu1Nk17ggǕV|O "W3Uffo_2Y|=~g͓ (;zv#2eG&^bmvxnO|rk~vv ZCϟc)NHrqY&hG8[[ۘT'"Dd@rOd1;սщ OP{t{MrҎጡVHTphFT\nV9$q72l`E܃Nk%-01kdӂaYӐa3>{E5aXK!!.up*dE\^+qڰ9^_@5SDoݩa_l嵳jn*QSllZ {}1ոh\6FlaT2IW\fQUݴ=b*ns| QޏV]iNDkڪloQ۳VSOY^̓3,uyͲ[~u)g݄nJG<1۞齬l[+5mBa ҂rr0iC-bU5\L;~+7g}Llە;G} P8S+;(8'whRR$$͸csg d&yJUoVf.Wv8'cJΓ{Go+Y4v."99;GV^.(fg96įV1vQyGQ|}ĉZ}v?r.Ys|womsKֻ`+qor͘8smfFl+t#3A{!6 NX/Z^ s*͉Vn 1S+0V佥rgb sNys<0kK +%{Le%K^*;C͙ UH#m>;>}9 &o%ʦ^]>6uJ'Pum{:i_ozNȺ ;˛7pw|ff{'8ܦw]TK 6֕YFo˂ g"af[νsk4/vsx"^cys}]~oD(y]2Dfb ]c6hN;{86wM7Տy/6fe߷Lmz4^Ed0AĞq-f zOmL~ 8~䧲E a&@qr>.ޕی &IffjMeOv:^NI6nΛ\YMF)CI$]b[؏/r3UәS،n͔;>Ԏ4RoR~:|ݾmNL꽏#*<(U7+_Wݻoئ@%\דyn7)kEz]B)mN#%kgp 1%Ϳӭunn!)W=6z&uE18z[ec5&Բ5dF3ab=tna12ޘ9n pxA`:qd6B;@9IY'Ovo-&$)^2QT|)IrD4Gxrs:G!Fo):60S$SV.(2^=SzL)thP8Yzϩxt R@Ɏ[eݗt-*YޘJx 3+&jes{)]zFvլpWpt609Li K5D# [x"o˾Obqid?HN6;w9K$ڜs5M4QS ='nE#0#GPZWRf)8?3O?mvq5cj*Tz䳇WO6}Qy׷eIׇ{Ym8I~.k}NG9[U愪x" 1!|[Ҿw_M"UelztU>SU͎Mfj]՝.7ܪ}x6ˣzjnJa][5V_^Ɇ~FV΅ʬ7H{cS6ޮZos~bcbff|lM6K܁\&&kvxNo:%ފ3!CJ;3PP( ߷Hv11q{ɛ2eY?o+}0x?~*k{w]XMu_J}r[x6VZu}I N󼞹Jݜe20)=6Y:mDHYyNnڻJܱ[>d]YlGnL'ۭT%HF}1UߢEPX\-5m=iL8Zi375\mpirؖv6H]G*@0M(@D*`MM)]‚56@ʼ;^vFQ_:. yF%UU~FXo~1wteo/t-~ʐsfu7ͱFNۍ-f‹ MS5Y{b|+is#OO# QY!Z3*g1uss#c:Mzm`ظȁm}=:L8!&ͷ͙B/q%9x( {ӈɬiw̭vjmj6ϔ;(ñ #OȌsppN>d;v!M.c(RmRng;[~Ҹ83橚*329xo:8zwȒgw9U M-tM~{w5|J9[+u n3n'ݺ/ns'ﭼ]΃tI޴sta&6[p+Wl̝OyGnZ7JoEGe\Kknۃүy9Ц9{nM}nPmT/m;mH>n4OBp&YYKZUB171o(-Wa8 [0:3N:MaJLqw"D:q1tVG}7)Hoߑgmvza̔R&Fܓ4|ʧ1JUWdzusdn*_BZcal>ՋoT|9=y X;ZNԫ@nkο+ɐVzn lpL.w{#1}{e/6{ ^nX|48pqsCvu]պ,Oš/t1 rڊZ89gM,Hip%'NO~17 EQ@4 `@:HTX!C51BF`;|}y^EoO\XTؘw?|M,SsڿD߇*xN5vwyos=?mSQ^{ʌ_}Jw{mG7ڋJ+}c!.uu~{˳诩ׇ[4߿i)kԚl+#'J٬6ކ]qک-+렟|7fjw^@Zþ`{NԌ;߰.gNCjIʙ I*kͥ됛;ٗGuZ<̉͒A^tP @kqU%"Q)l |.Q ]ڭj{z|{[9k\OggS#I)GU=5+:MDBI@<@_8?<;<@FJd*.%V% _s+ҧ4l.B[-s_w[˱]o[+ڹrŌ=:Ԉ/QVLX-:wյ{Wg|5ɫkv=[o/u{xc̶ˡ'p\l&}{xyڋ~47S rer.VRoG9'8ťcFC;ώ87kSt``oP36.ۆ:TC\dSTG]83r$RמލhW3݅* zTM|>##y qEr6Н9\uy$㞚}֝e嚞6qaxڅa1QXBZ.[0f{Y-ne 1:LY+NUBzv︳}~'noXGr3ǘcə8 1؝sL( v/ 0E&;70.7W$խL&4m+^^ͨ2OߺRul\V0ɾw{bk%)CCgGnK{-ۙW9G?ިpHC3W>Kw[)W\yJw=6Qu{3KDSD7|b_MX\v޷JimEW_T(wL׼w{ mO| Y ⤵׏Љn3՚"01Y/\?3^,@A JGTD7"HٶTϻ_&@ܠFrQV,oٔ9; >ov[6fJyhYܟ7tcZ]U+O8ZzgǬݞ)G'{s-ݣFWӜu{*Lpbssgʦyn,~P~z^71fZcƾ,tWzam5~6jтUNqU#a?.s윁Bȿ)J t& ;őS! 1>i8 8QU[N*;v_'^rLIjRVfupVm[I2l\,Tڗ=]iOF%I =㣿ȭb{Qkц]gTTPSݥr'wL۝O^iSgƌҖޥkb|~/SFF^\ũE1Wާ@L1|WifDNo޸Ʊ/w] j6+6.#F89; @ sQ=8y,3 hHtMuT)U)'.%.9hBsX87Ηrqf~:Oƻ'铹˝$'s(,>:lɆ$]nbH6|mw{V eNWWAa+mo|ىyQܬP{73ޫ;?!3N:(!^d4!{6&{]{m]xtsJז;f5NMRffTRgd`Y- 9 j090!1WJT arTJKZBGVJ:=leLG~"–UVyZW}b5f{9.3! [v Sݚc&cGۯ1#nk[ koV]͊Oy zJ4he >}ⵃuX)3Ld=yK׎Suڟ#σN{gVW~oNn_y󪆼!ޢL]+K?rǽ~>ϕ.ȍwnWZPJ]#^NTL x7ӽ,٪ ]s]rk89yǭ'{TĔry֛5䕹.|Iѓ4Rhn]?z8bw.PWuI"A\hS]SQ-{E `fN ~D:47h ļ]L'c Pv%3jLR~7O>˴~)y{o{yXǛ[sYz!D= v=J塀QiU3OnrO_Vkoosu+UeӿnU{NW<_E½UOdOޞWspѯ1?O?"lKXurAo}xe?z{WuZl^y5Q7ݛ};p{ӓgt ]N ޟu J_._KT%'3mGy;fѾM6[fX6WىcxWM"cm砳' 74{'΍#\ 7vyd0@ $$fсOg~^l`\wMOoO%^INL"vlȺouKo1Xz\Co?/·t"K)ddGsݒ?/<44N _n)ŧTw,ҕ[qMF]w/t>ykUUsŝG=n]4OE}!+^Omz1ƒ_\v+}jr*F|7m7mHs0 $rԎyoq/U;jacazjٻӷnT sm$0 OA@˖a&-6544>'v< z[?eQ{Ma?{zY6MHOkja- |[g&/%|iOW VoD+Kr]N UQ-o۶rz)DT$ M7ITG5΍R#ߟzq?VDjՔGOFzrS`)\ @ M5{*}ysQJY~?-ׯf|}׸o% 6F{W-'˼3(BN G52uj! ](Hdc$D dc'A) A$X Q$fV`@2HQ.%i";nRIIHQ s|#X)HH,tF=sB1pζ./)-^ C]{el/Ea@ػG~jt,b8zNA] @O dz= PcVU&/S"lvzvBc*)Bp=p:!Kz~ ]@4Y@EAV"?]ى>n;Q.:9-I`*"Rm|*XhuKfAEOݤ3Z@?cz3Q>,l /qj(m"|1QDd{:L hYk-p J`of{o)Cw1 :h!`iH0ފLDfW!B1Cw@.6 08B(@pLUUUP^Ft)3:Mř]nyj( g?U m܁dMM %6DLzz)Gò Lku,!hH 7W n{e9L~jEO549,my;ImnOUFTMd};}R:{gϙ̎5!4%6%جOhLbj ,f͋րŌ/1ꭚy#G$KE|fUg ȥeƖFrRW=75 es>89Rא=}ƪtzb#t+4Hx( Wa~.>w_*@}\d75'Z2cbxܤC$#ԙUޫ4Bb5g9*u+<=\[v2=escAn>DO'ӿZzqw2bQέ9CLLZy 19iV Jkopv}x' 삫UUEO%Ia\6NvO}GE>kJ\em64v`2," A5({лuY :#9ѭ%4Z$ 05dS qTIuCޕZ/٣7{*W@7V5v1QyPcHΎf(/j#٩؞3jftq.>;]|3t=hVN3Z"Kt:f‰<o7.X B@P5sTY 혶C? ?[]Em|.Ε46sאvs%!A=RNZ@e4PVnQ-m<ޞt6B))`,]}ӝsVth"$5ZDBHW4,MStV,R6yS.dY87/nw5yt0mxAƍ) b?ǹYC{pc0f'c>c*9LBڡM[?U!!4dY71^0zpIT BB :TnNI!Ô#Q:M[_qrQoZl Q( đ 6 h4ڣ=Sy68@~Gobہu/0E+.!\=G=l{a{^#lOG#uq89fQYs5z4F42jGb"+ Jm10Y5$lQ{OָE~%(HLT/t E Yx;Lpؘv@Wp_;$2$ObZ<5o|(<6**h2s&8{$&!UDm@Dގ@P{M~&hQb7٨;1HClG Z }oiTSX;(AQNhW1..:?:c}g<ߊ:[[0/ܼ쵨Vh,̫m_g+P6ꄾ{b}ald;`~Or"٘^lqbp|w'{Loq0lBf 00`aż`zEߘ4/a].^ɞb^eU['-9oJ>_vQj({m?UٶmVk9 VʰIu|j*=b^} 4jeyjqƂVȷjԪ,03FH>$ٻn6{e6F^ɽHe9zw)r H>KIT3(TLGbp <$ H@Ԍf+$9T3^ͽE5n<@3-(C G ɆzTh@ZNINXQ^W7P'_kw/7nf2Fͽ&#Oy2W]>[LQnof&r.f".ҵ%# rG hg$?`4uu p(4-\`*ϧƐ=[EK, V'  (65fVfR[ama7ո2.EWa̝}Ue/*Ast~vWKbHF i! 4U@p+#Pux;ݻ8 ŬfۼP-,L/R<*)S{[$B1&pr,& 7,ΗlgyZ4dNi/Ltlu/3Vܹ6jb=.zzۨ necEЕ=ªsGynW=~vuOz.8xU]]:p:/ùՕk3wy1ԠTj4lɻz`p&ΟW H%?F6H x8gqNB`g5SeVf8W緍)5 yIj#ߪBL=aJO4߲e-e'w}Vg{;eIfn)ngMʍA]wz4a0NGG{Nt)YTVɈdGG4&޺Fs.Q,~>W(HEDdkTS \ @ 0 WejUJ~Z}!y\Ç/g2ӔFky>r/ӽ}Ky|t֠wfjRDWWi(*#ɚQQ (BTKv8Nt_gh\T˅Vq,뺡Rʜ~=Yɮ<ijXbvm5zӤx/ohj[Quuܺ}3-WoύwfK7vWv|aԘTg>eu۹l43_kh;_V^qv3* oHJ.85qEXԨ*fjs|M$V j75S[ >YD sPUA(={ 6H ҽO4|L57hV&$^}9Cw?jg*~əjy_=f8jEASu&bt>9u;i'eTcF7H=snYb&[yXtH֝[Vqjv˹qΉa.LɐE1f)ԍN⢻ Ė?5@ >0<9ǙJev렪uw٦mZ]d~ς4@y]p{lpgފF {劳j1s˯צo7e&^Z\n0@@ Q.A.eJYYt/{;6fsG0ԴRVJgL[n%ߘ$W?E{թ2ҮQьP(".2wn#tC{db,2jH[c#E(Zf. !d8^#aIIDIF )$$ %j@_am"% UB($<>Y,eKx .qfM H{-K7!)S3hp(pqAJED*H@\s& f.$ N DXX_2;8~fRhdFjˊDW?Mo h ӢPD.L̕f%#DQ%VD,/##d1QL QKa8k'P؉2x$gDUfdB1" RЈJ),AB*T]  j&5Hq%)y|KbRH%[]ۮ1{!܏--&I:1}5} phw_(.9֎±D~DP:\3cMiOԻ,5 w?;# K_ː̀:^R[`AKH?vdx`1+Sfv_ma?9cRt) ,D14O+-h/G 7CMFî}#:""d KWX|  +H(JY@$Y1 e"{J]H@)k(c!ؠ)O'Btʒ0I# -hIJ^']@܁8wICΝ.\7iKM{n00Wf BL6 a`  ޺A "qp2 H8q6N> *ICc y8'PAȹda_$UdSbj3xb!LE2ΒQ@.Pci(!HPYRl9e@[Ǧ ҫf6;(F(si|ʮ`2R|0UD@F@eޅd56xIP;" (;DvbPNbq*ZsP]~j8Ir*UFGA E2cMS6@m*Q `|%)23FC ]ɗMa0=Y?Aˏ񍹵&vB nl7`*R+"Tbsr\~M3v0E_I """*3 1;aS7qooe&)IP2-!FDD'y(SёYH.*s  dt$=9;$Tͪ, Ō}֐QѰ ~M'_TT:F!'l?*V g7  92e&?3c7qZ*qMogqKtY-n0q Q-*#E%: PBBA4MT"]wI-VD+Z9 Y2# @V$* AF]Owr 1H|\} z3+6%\"hHKnI6ApQ P82ܛ(7 Gd]F MᛯpTI:g_wHGQg88[纩V*ORf߷OM]*xy/BA"^uU@gn6{K%#[ÛB|"q)<$t_{Ih:dBA݁h+Ge&CnDfʘtF5##SJ7\EkYnped|% _tF11t!SpFqx)*<6 ft`dL0P0@ MRV2U&pE{j$L6&6x5VfVebo}Li+ndz4rg/mΛgYϣ{6K"n,PM8s!ݠ@ 4 ⩈SU6`~{Z(N40~s@*@Vfsݳ&Z.C9e2H [ܢNi!ZFv>I$PEt;d1T0WiEe "';`1qaE6U%ZRn03w\Cd9۶1ld>t)btC 5Rvd-ͥ$7jSUXT>4W ͑L߻3lsf;q^6bg`Ojnb[ lx}$j`䋑R[|4hMc+^*MCȏAEH هWB눣.$XwoD' (SffYK673j9n7v~ \yJʍ)MCSzN*cb7^O_ mC[$j\i !;\1o뾱%>>@m[=:P\7,562slIGq"2  &(-u[ C#ipn,Q1X t@t5+9 p|&) cI,2I2dHiT$/#K1)R2 ZJTQca2t/ZЍFvAeQMZ2gp^knB4@r#ED\ 3<_qk.Uzϫ.p?(3)ܮ+k6y''x]( 6ff?.eS>9YeNTctgSTg Ԣ1|ynz>] $Fz 7 P.p:kY[Uzs^'![-4҄$ب9Iu"ktcæ_sBCm`лO̝;0duo bOU"d GKm+(~#CQHS=FI}l8>&ccU)+@q鑾ʹ8a!~KZi+go*j>@[w#P^pCxDƉnbA8./ ,U~_L_j (Q E\Q 0byM*5OggS@#I "#1%$*(H:=>89 i=rF&mjxm޳u r WJ J5ςn(m_ ªlިuD]4 0ĎC(4M:|`L7!~F#a3Ef!g'R7Z]U1~mt}x4Aq)빫t:SkؑM&ˊ0xE7{;FOwٜ*NfXҁvPH/t!#BVM&`ci*qr_` ;o35feW@6-c!bӽóZi֮ҏ[A@@}4#P L_7"NAyvċا.2TPo @7<.2j!5Y/۹a=y +6[ޱSRRNoIr*:2듾/W0lj8 rJRJ\yXCuTwg/ W29[ hH?|#-gdyd~t7"+(ػ|=<W؂utqMCt8\;|yEqi;,D[gN[;-JV Sjo`vJ^p|a:+- _.ݶo 4ꭻssIc8I@`ʢ#zn`8/~!WZQu+Uί%NJ$Mm^!Թ Sاg/WW DON"pm(3d:9=̜he^.'nc~@(A/Nc Zap*e(y5J=8#uUS^%.bCwomZ+e:<ݗ~~Djh0w=>߿^#sSi3dZUrFwO6Y >w1O{9fqǦfݽd͗q30(y$پlU:{OZ2N/lQ\Tܓz ҇]hz5ͳݒ/ > [`z Z߹ Ku3)Q~x5g6cuwâN.2w>c'GhԄSv%t\W2[ծljj1h;m T1#90,~OsL ɮQoYST~ҫn1jj[-%:*`j̕`.Wp-a>Ewv.=6Fu(t>qMɰXbJ |uJ#\u%jջo UsPY]MeMm+ն3| aPjþVx~ICQ='C€< .1ϞNjvꙖZ"Z#%RFWZh*D")l?oD)3Se&P='`.sk/N-w¾\SoG[ (+KQRtD=1,Wm%56ȨFV@)q9 1'-**M)e 2z"#KBF ,>$tA XqXp Y 1 %,,0HG0ڭX{{b 0LO{g60vs2DLn]p8~;#NLXEJ(g|ŗDzcpJ,`"̬8j)I3VK*AjtJucݓvtR~[ U>2g߫ ˢ`QF,fG8wzOy~$'}KZAuFe&+箔~]ko퉰!"8 kˢa\F8>{d\M:  5-Nzz\6BnxQ*1'~D]3ܛNHOl{mk\ 7%̩c>Fрmc\t3'11 ?JܙDx^ {LnJhO&S'sg$XD`I`Ǩ:$kon׿E]yZSGnx势UwXAV@W(ַi-h # QH#CxxliNFfkW8W3|mus;y夸mgW>*@ё\t~O"ۼuA\Fn=$uTN-;^Ƅʄlӡosqϧ29+)[I:+L\CL__}(:!X&@,]bOV2pn}&:Qފ&ܚiٻg2zӳ4D/j=vtF Z>QuAdfJsV߸(tG^oz:h[[/kyo'W ֆXlOggS#I+"%#(*.*IDE."3849?><9>GKFo'Y\?A ݧ6lL3P> #$bBbmIO7`'(xrhBXR5n }t搲$`Y6J ߾WIP@s?d3\Kgޓ+8@b q{nE&(tSO(ΞAVاZ)BěF^nA ( $׍qoOiQ۴[Fj5^j?JU0{kts:%]:kdMÐg| n@lUmh,a䔈cؽXFϢ7XOV 2Yek y,ۃe1)h f~%ЀYNQ eh#,&;ʮaT-ҶOծɺo궀wh9_{c;zuQwj*դ{913wkWV?ꥡ̜>^́H ' Kgν/i4ߺad6^{dfI)!2 J2uy.)9~ {pRp" Bkc3jFUpS~)7ꉳCۊtr)zot4d _"fCA~ |6HAҗ@.@)UY`YiS7ҪK#RzX-Ⱥu~|V}Lpzv~4^ 9^^o&L:WmFf2wnzbzg@ͼƟu㮢:z&׮,}k`s۬xq G9nƘq;玮^Sx GlGEH~ k_Ԃ4g >ef~\ .e6TȒ?ZýٳI [#!H6l^.PUb˃Dt M{WaؤdѰ[>hOln/&jmxqIgLU}nkQF-W>b_rݟ ~`B jtZk9eɨ%7X@َm_ϟ8 8c `RpW~ckg x66L>YC~Z"ܹEHD+`-P8@j̠Y̡I>@?Fo@Sx@731,ol)KCÙ8]/oUAfk$E;0=9'RSiFzxwdTC` ЈpTB:x[C]j ґ1l=|)ٮm̄TdX.ɺT]Sä;KїVtu;Y`: mq}N%c(z=slF5XKWp{UQ 0L̑(iyPYJ "XcBǢ[q#/x%.`:Bb.Oeʵ6[޸?#1TNyٶFjV4\M o^ukI|ib~gZuƃiVmqH ldhFB%cy@ i2=pOV'rʧyKWee9T6eI%d[ H+T݈J{?&gA=|D֞fTF+mm'raXG_(Ux7cum_f{^nm՚fm+1lj~u34Ae; p߻vpڧ.WTxbZfݷUUW^5[Fݶ FwA:᧓Ә(i|;"0y\XYUYW2ѳ8鐩m-/&ݟӿ#33瞆vzԡ%$bF 55L<ҮP*OrHm+D&%i7؎qGGѡnl)F}.VݺwT eudSXv^\Nj4/K_S+Z<@q;)*OggS&#I]>}'.=EIO7?GJDF;;9C= 4421794IBAlҡ. WAuAcq2񿬜8f2{Syjt!qTڷ O^>az?.D:b"Зھ«Ḭ{!a7s73TϘOE;בA骂ɜ |9&f!"UΏhWs{چOUC61'ʝF.#~ڭ⻿,b[YY![~< >b힟\=ѵXs/`0 ]c=_*igƴKWjYJuT:9ܧYGrl=u_|?W]O?*G~ϿQMK|?Ac(ҫwl~į{D)uTIY*յ^k^#U^MU2CKTqgGܪ&-j $Io PLM)ǦcMOxS{yIXer0]|PT4 wLq\ϷBĤ:K|~?O?^OS,e֩wR.;݄D fF⻷Y"ҧԴPOzzVmt{۞m_{O[; s]zǝ IVg[sf[_5VDך9ac'~"77nwΙ8cǍm9P P(Ѣ% F* k o"%yMbSLÏDZm칪J A}6U7׭@b$&۞Z?-=nS.eWQyS,oCn 0K?ّ$0Žn3xŝ:|kZіmsIZLZM9Ԡ[YQ%5`` }ЬfG]'i;ZMj3z|.h 1+{Ϝ$ϻ-ـ+ ""}Fjyl<qUk7'Z_il>u5zZwӞٝSM\؎z-]G̓!V\A ?DBU!`Rx;ݷBpm۳Vͦa:+s+%K!嗀d@/r$G(QG֞SՇ_yJ%ڤ[L&Ou3}Tj3Fnc8lgp*"vCD01U}龋m¶7w]aTOpEfxa Y002 ȶ11l ST*BDQ!F|JVr 94+ Cm(8":ME"Zm(( xFYhL 'ݮo2Wd5MW6mYg 15Z@DQCADmRH%!DfbY("$'Y"lHP )d!DF!# bd2R!%RȔ!yOI b<"HB | H2BH HI$3D |H3 fm gVJezsbA-cvgoaEE8;3FQI,$hU A%7dl-4 lU,߿VPcY0.ef&"*)QQR ("b!IBȤQ2#BdDQ$)#IH dR1R]A!dd$) %/A3BFBFF 228Nx )#%A#IdR,AFIA&)EJB@cu|}=7V?3j# B{*s0\<IE<4@Ox@ q6Ƥ@рPި1+3'{7h811k3; C5C dU(v Q D,(@&DQC-!%TH2DFJHe HBjDD2RJ2"#2Ad @$ >A!bdX H/ y R'qc/}JBHX Hx 7[_ܢyš?Caf{Z$187v >3v9G#L,$W?RAh*h"`=ef,gkRwZ)o`:E r$PT I@LP .EFQDU2q2Qd RLŭB@A`Z)#bZT),DcO(RR"^$L D)lޗbb }"$$ȐAI"'`D C@$ tbܚvҒ:?{q[9 vz8uvS!v(A9ʈH ^3T Q0H^%SfT8r}imS.ٚT\bXj;SDmmS%m@b0j-ATR$"HiEDĊ T!!EI(2 {RDRD( 2XPȐAq!d @  H)R,H "⑈,Ig Mg :Sʅ#h{{:F+25{ʊ +b@}@KXUL}P Yffnv1WR<(t^! b:A`}d)B^q2MC D )8SPʂt '_ ͍HDQ# G%С '{`wٝlqrX50 dvY{r؝<>4=FR  u(rR" )HD ( T) Ąt7o)ҁxxx#|v\sӊ]ˍ,եa4ef}o13{4f6a g`|CFg7kMM&fhqUT\C",kW_,+T=T`-zXPljQ0ǏTQr/[d2PlSӻ-5q5K gXphkgy@8QQLAQJ'!$3lM_h=<Ɗ+`&o|&5*)/о1Rm6[lpg'4Rj??[ĕE`7Ee[e?96AY6:ٜ@ #EQ:S=f_ܕoJՄV2dg)2ߜyt-]k4X&,2eD1pݽtEC@BffK=۞6DwYfQ B'Z)LNf}1+9X$Qb9STaOZ.fmCuqUU7 Ve RTvsեf٢ QоK-=]i^+^}f RR6᠑4 723 ??WƯ_Dl l˲004$˲h Z)sJ-a-k).CV1!\s)lDcaQ茌L+edl1B^8d)8- LKȨ$, +Ҋbdbm^Fc-Rl@r=rQ=p )-JwW:e`={S`6bnὃaj]LܑL-Kp[یR8|LK3u5RjZ(jo)%5TMWƊU1L-&"'Kq: E"\DN*b(Hq#+lGT!95 (N9䐦9]ޕ!u T>fC甗:ɫDOGfL;סrBar쐌@2[,g 7p2'bV\w~7ag9229āS(wr@( zF,|' w(U*zfm!fjh$6Ԑ;DRr !jpl!\v#bw,s?aEJSܕS F&y.bB-]wAQL5B%H1vd5J%1Br1vGܫ"F2hebѭ@}6q 㻏1\5m@)3TZ~R[;K}Ñ\婺$-sDarURFcCQ0jlʔVȍ4&ߗj%y90.&ȅ 5>vGdCpڂ,,mLt'Ey9Q2c"( ".t#%2Q="BY) 'X׉JN^ڝn«knL+T.{&p4)!YیzY֝CUVȥie 1c5uFǷ'匡B>WRړT|U22=2nߞa7DM\ǷUKECўHR3s3#9 r"Qʊ )b6Zio&\}'"OXtZ%4Eid߅YeV- 5 fFdeWEJҏ3hk85H̆ Dȥ38n:M)۳U5CyɺQ$!@(5fff: m$̨-{PiD-IPH.3QdxG>MarWFBrJ1{jNI-ظR;s9&jJ)ʢSEIPR5JPa=ԒL94= ,J{J~=9NvS]~,Kan-+U(ƨe!Qt4hGM+n<%߉`a/1& bon1+1_gnkA@ީ(ʝ$lDKe< ЪP'(@rzVfUWtӶ#IZHӪ|窒8\ Ri3SQp)-V< NDWpTh7Q2^TowQMtsQRIHDYZ%fvjJ]5XM2F7y^Mjz^7>mvS[77]s#x$^bFDwSңLe8܍Q׳gg6hkc+g0`̵OdTyO7zڪ8I3@CM)U5 ,m#iG!=WE'4APXh@0$H`\Y1TU AU/3ܰsSΘ攘 |ZUvy|7`NV@<8z*rj{-^eeSNw+>giK[ PSYKpJEILvܰ;1!s]fiȠ#@2.ss02B`ԸdJlfBg5[@&1cotV.ofo*ՓߍW\.u*UDh;SdsWGċu<};B%Q%7S{W_46<^sÂANo>ݾͫ1mr]-G%ӯU-~B=Fm:VG`3d \ROggS#I3R!"??&'/++&44*+) 3 @9 ~;*yڃU% eʐD!  PʬLjػᔷiӢ"3-._u"1Qa5 j)@L@ l]/] A@% H)I3Aq]6k6<;֊CefLi(rMҏ|OU>7c/fg^־zMT{j:;1Ok,OӬƨof-bY'_Ff`I/Wc1/r|`NFJ-#8K7P0Q ׌*3 rC1H '3&vb*fN TTɍ֟yQgUMs@ۈH>DpV sR)RvW(↌ f[ LpecBb09W.}DЎֳRQ3yLLͭW8pPpeOn2FgzzY.Xު[!֞7ۜ2z̋I"/u&+:3Tcszƕnܯ]f! MȆC[%`̌*[D B SI ['ڹ斡 9okeN]Af(ITz>tiiW|iZ]I Sm7{Ц1UUQB5]9'.tV+1H/1EҢt}BÝ FʞT֮щ(ތ.GҹTc2錑>wu޾Ƃ]4=%\^nOS%/@KLZ$<(Anf{@LɠA0”H5Jq@?R@J@ ƪUn?*j# ]ցwnVk .x5\}׼7 'Hw%ލmQ%6'8%V(G:)r*YFԮ^ q.ucnm2tE]+-M3b,,v2TooEihZ'ѭ[bfJg0=6D-Umf8u~ʽ9*fK\4i K\z}Øe h^LDbzTb:54uJq2He wAr j^U ڐcu8 arǙ{JZ}58س@rJm7ҢJhePU]" j]׽utap\0=4ibVvn}w8qZtYa48x 8LmGף.BPȽf~%6qJ^oolO hA:xDfFZ# R (y*Ր~x蜳V'y¹*=vh{6UξRq^9cG;*NsRzM 4YزǴCu?UJ^_;'FS=xۈz F# z00 ewxQny|i^M]p#>*4iTڪxn -I RH @P(h;:L/_d-(EWqٯ! IdSjkÍsxPv PF=23( "8hj/H@u,7#>Sz8>OOz;Xcެo9EX4W!C=lOW1 ,hcK&aJս=ֳkh riYDe񌜗]tqtl9.LowȹΞt' s^ 'xT!Q0bMPГY 2bs :H vH^[ fm{/rMm35${F?Vkcw"f)h|kSh ~3%x+Hw6)%LQhFCtw x>#ƪu`/WD|}[w\;7<'G_KK H\T=*,vOO33'޾L8e+QHJ%T6guLkmC^FVq ($W` ps ͕q7lGAJXv!^<,|U)Kayyy#JMJN6H "4$*Wf/_!Wg~adk0Һ[;Xxpd(4PḠƣ5/C@x (tRTvm r&NB>􀠕ByĞM=TDQ,fh>Afv7#Wl ^l fJ2cqWߘ{6b5\u×[OgM}qdOæm Ok #ax35l B4I8.zPzfo7 OzZw 2a.leF)@$jOO̒ϿO6*Me~ Hny9SAD 9u& @d ux>J$ *f@ByuX;glo)laZlZNf%Q:L׍5$ĸзyq'|mgNjG~lAWm EL$$O@tL}2(mviuqCXfF;@My{*D-^`^<OܞBnļ#)11' x)$ 7(³Remn?J[&~DƹXe(Zx+3gS$vhpTUbFw,wgޟv)rpˡsGN&xA VRzv\(JLV@@9%3G"NW4RݗjvS-qs>7_8{{/gixY3+b.tZeVc^h{z w%G-9/+*3S3߬d[rLjA=HE?s*5i /7>g7+O"5SVfuUs0{Pj;&3`L=Zø6${ bPiP7 nPqV@5if/sBK<`pIU[]:e WpΨ'qT˽ܥۊwny@Nu x"1dt~UXrMm,v2QOggS#I$><7@=#7257,00N?:>;<<@ED>\],?e겎= Fi L= 0\\K8pwd ipVE:qT唶\wF6=3owrz*4\rg2wh%PysJlXV4t9igLeu߸O Lb5 .\ vk=!Z}Dm kK%zvtV[g^DVMLe;˓NwqQ'MBdةh"A;ˢ]jsf]z*"WxrUzE:H#*dGq*G  P@T٘+on%y_pNuB+*n(--;KS@&g`I~a/nfh@m$|\ @u(IH4P˽bR%R-ٔn Cn:ɘp2dDE1l4ꥮ"XI\df"6mWOffdw4D=Ȟ=gAU { ػ.็޳!2~+ORg#Ŀ17)ߣ(2?@) RXoLfb@ 2|*U|'搣֎#{bz%$ M Y&""'@4!rw,DbF%OޞrcK:3<6WïloY TE *Np9HKt[T+T\!)w FJᛖϭaBo"͢Q} O*@ރ`S"EQc,D*6^s?l$1EI?^0rQ`  HTU eYs9۫uzO5z:dٮhrBYYP\ ǿx9qmoױA R!!MDn@d/) g9K# %|޵OT*sA⡤^.. 5CU×]n(tx7>}tyʂļN'2f--qCG͚2…L+Loܴ7Ss~"VrHy pO9Lc/ָd ; pT 'jXYɲaZorgR3E4jOis ZfQ4:t ›P7PWwchv{Cc׸r {|tܷcNK>&j3!mt VEH3|neXT_]Zcs$@u{h');>;Zf2C X#'4yϧHr8nHgi3ޓĝA0:Ny/UzjU F!yc^/@2|DP"$ @ఱCYhmI.W8>du3K }_uNԋ"(q@0M>!="Et݉kDw{.P@7] |~w7U;:ݒܧ;^fzZsBg2<@^\W L% ".8_Z֝ZsY=onHJZ턵>wm\ Y@ }eM׾o.˜\qۻ--2Nbw7p#p?9= .DH DR%1ef'NަR~IG#5{l6@ѭ5P*`h/Ph45Q W4-_4L)D'RR:S>YI"K˫/e_뗥zp۾z.:JջјpA(ŽMa=>T0J!ԛSol뻋u?߸[ Ɛ9  >8 A0N l&i25dxر ` (P5lJoW@ sGKgj(n/JEns.r(p$4 Q-CJtҗ_iߴEى xu@RqeĜT+} E`;wK1R=O)MeZ^9Kߛ[6>EU[g۲` bṪ>B8_q0ܞ*g룠>7.M>,sJrvӬ\yy03Kʸ+@F1rC:&G|m)qQRFoafBܵBJ1jb^OcqWDP @aJٔY9/o>^-INp%h $=Au0< ~!$ F @~toDyAqi`9ju`,*hn0E3mb6Xwb,}]`~-¾:vÝM]a?V`s(()s7%"tDb'B ~urAx>Z$߹)bTm?tϱ.wk⪥tl+YZ) 4rBZϕ5}yœC6{Be7BLۏ~d lP!;3sky4FޙL-%h0CE*͉/s[mڗq.K?"y<=kf pLY?VM'uoz;utac?V/V$ֶYb=mz&L^[07w|/SlMbtTUGcV'SDjf$ZVҝM^^fj"DVΖ7Ln?#<*#7Sfs稿ٮA].KS k~5[U7oK-:oVQuT47*d KZ+/?R\z'Hgǚ(4oʍ(b/,UĿ֔O)\WT}m~fnwLM* _GKgY(D⽹ %|J2STST'LyYf-ZMƑ<#\5蓨L_D[43XuWsj9m(wk՚姪&\\.]/BVn|Fw0Q `ؾIq͇lVkd4:o}շd&uwЭRCe}`+LJ%qfɶݼD \dJ\+SlJETnX~o:I?gCJ!2Z^io=eSsm=e+t dFWV#Ba]~n5"Yz)V +ZRw6{0wsVwxO{)OggS#IetfD $* c,e-`9r NFcyE PJDNTnFxEouٚlz:4ӋJo "VLk,P4e] DfLYYGMl=P7gca=l$yʏ1!+ӤEckHAPQh"kE l5,"/A(TLQ*E2Ĕ"I )RHA$HS(%dH"M(ed60#o$ %$A&^0rX@(X} nAFFrTÁf 0.zUm;ؘj6y6f;p:Tڤ- (D6Jw$SSJYhVR0[~_gotg,}vJMQAXDP/BSb <2E"]96N(%.IUK#AZRȧEE ) 4)SYv0yfa"r#AѴ.nzH"Pɲ LL6V$ײ*rVHqYڌA (b3'}y}V'\k}L(*yNn&šWeS`Zh%J~fDswBߐ25`z @@l)3u5=W=b# dx|&h'B'hrH|<H #ɃW@ԔB3BW,l:qR2),FvFD +ܧdE)F ]4ȁD12$( +沢1bDPag K.=Bt,-j.Û!o0 %Y΀80=F@ c3AӸV$>+W 1c1iQh$PeUcʢ^M\+AWr,yrҀ+?x ( .P9Rm z H1EPs`Eԛ@*J:"lcy2gJFfĐLfI'UMtP!YkI'yT6τhGVf P|c8:g 3pQ88*͂-A- Pi7 iR)/lK@H`ff 6͘뵨P<+yP6 ʈH+om*\EhFA8=<]eT4HX;ʪ0gOQFggȋ2 d )#9F,E(#PFH[p%)، /;4? b&BA.=r A^Z|- Ohn6\ l/ _4AlA_< V=胤*p֦wB7GA N}:36 G @YRfڗqb9hl:ȿ5XsR7S^  GT^@ AZA/` cao?PKHPd@"D(bl*$##Pe: )dHʑH)ZVK9 Ѭ)]wiK"+܄#A񙳒@) o. `.0}+[gbó#0)Ǎz§zv@De>8) DX ʔY{)=P]V+8ᕮ[02>Yh RIM+ pO";Y@' 1 D}%\" +PE ،5G_jF$#3&ԀM# !DdDNEOŠ51\U#$fW`Lt5gnŹryV݁fs^=3V1 ͂2^S&3o.F2adk|؋7a}:>=3!X$. )3 ?gqT36O:q3槰-"ft\5✜ڠK/"AT"ȬF$$3SC)#7E! 6D\x"[nBIR+E]:hRpOn&\\vWF'jksme-0{/j dT!Ks+͢'#iN3&?rCG&Dc*l."P*UX/eE8UkeytD a5)/  ܶƢH`SnWJIj P /) d$Y)NBJb!ˀcO2"#' 80X5dEZ\Del𗀝W@elR`e)0di [Kĥ^}#rt^>{ #zB=7E.lNUH { ֘a, Y  O2+eĩ8EYmH_> J9=؊dGKI@zE?J] Dao+ns&`DDfvSboFt!7G[WWyZ~Fg7ntDv5|ҵptt`:X)>`hPƋ$LxX1-fm1Qy I55c]A)Q`0 > =\}K|zgg,w!e2D'pail6 Y@Ȃ,81mZqvZQ*we? &Dx >Haz<(=}P*;| 4vT#xձSs]7G|Fw-Ҁ\4BB$+\X5Ч׀ $ lu[ ezT jRʢΉV5medlZsB)kY TތT>{Qa1|zW\ޏsQ|I ~ $X8 ]4@Sf6V ؔ='ӽ`1"}u1{giEA@i 8MH<P_ ա.Y[^<Ft^~,I]-.]F.)_gAi)m2) z鎩/x3X'>wW$n"X3ܴ6O8 F' L)ftʴs@2da&]p߃uQȄ(+({}%(e>qs=3$M XdH p eJU?ew'zry i0GCُA,PGx Nl5-o@e;jk]hT *㷁RŕMOr Kspfli8zg!Y}iGF)څ@G%z͒>TU׎Ze5䡡HMәQ1Ɉny B2">۱xw#DI20tɧ@+$$ gff,j70Kދ(b>6 i;T ];FUGt>PzM0lXAk Dy3/n-=v-~٤Xߔup*<9|в)l0:B>ϪQE-gupfF+1ͳ+!ܷp*3g lEf)6}0rwGƿ$ G@a-qȋzg.2I-' @p`RS*:v&?H]CF](ķv >MιQ^`tNkP# 0Ѻ+A@u ! 6:i1Oٱ LV3:.G?.e=+gm@/]q*qpڧO7<]ZdqD 0Uu^]ҸvqVټaSZ;Iz %ygȬFH BH`=QF'VscνVQgZ}GaoxqDiNT][[DDr)=(Ic+#~ԶF6vɄS։'L%5L ~W;%{wf~TwWmUUٶm]UV|bFC ?YgEqTD%'WU,lLQFDWݮ/=mQ颷S3 6z*L,8E6"@0N>?֏M`Px\Qʎп+oa'mbRKwmYf}?Q)`N UV5V}z`%yڧjA:J2ϖ?8}LljD hȯ dq(D}݃{:{`e MHV] "<V A."iQmO5%1}[wY&+ƲP`oӕt"` TFǢ-r/Ki## eHsRg)>!5\2#w,ZF;l aBKkd @0p0̣(c9 +;QH^)4@oN ' mêhWSH$씑 շk>G t6 t2BH/a£^uȫG ЇzzD{&8{r@"JGt֨+3th5JQVR !*+\ݗJrRiNJ,q9 r"Ifֲ.H., B/jLMYU6Pn{dX_춻bg@ro4nMN .Q Vzn[xqMk ݟrIFw=9D+w0͔38mp[+\n\GL6 zv谗'24E+e#m 5b/J36'.5Íp.F(pr͞0Nέ|s^;݅o1WmɪEI#g7 Hv|]0 $`fƦ a!n&ǫ+ibbe|$2_x]Tꄆ }C:L HAWA7e'ܠ@OF5փq:yIO9{WwnD5ḻh\ codl ɕP[jP8`(4y!P˝+O($qF{ƳQ91oP֎,w#3R  3s_R>":T||i0. ER(UYXF4bA<0 8azxڇRw9C=C+.KQˋKv/㭒P_xWo,)7;gw o1`<  -> 0Ԝٱ=ʯL[;m*Nq++zJ?#7P@nɳܱ')Ө7@-NzST)@,Zvho; q?xغcr0 M@ִ@x}5u0~h*Yv/C_n@@E Q 68ҪP@47|Lj aXwV/#6˼f$"KkU^Z$v{Bz M25{ۤNyE1LLJ)+z'1WU_yşĺܯO9R&:@+"K@ 7@nRccYa\1{m:W/.|^}jz4 'O&A= ߉\o!|u:Pe![$b4@XF #׎-9MYSA=s[_9Z- ]{GM|~uZa8C WQu6I%8j秘9TRvN9?; }ϙ'Zl L pr{HE^EQr \`2 @Z2Fa;<}@mܿB6ҾZlwg4oZRF@Ǝ5;{=30ct<3_5tR8EǗ稺gm2Nڵ*dn6,ߺ^^aZصs`/K[NQv0[5:5H#LQlc{5]cn[.:}:˸;%;Eќ&7 ǤRn>svumQJ? b,. ,QcJpkC.ɪ|V%*Oވ[褡iH4\JP<#Ca{hx '0CoՈ( Z_ j)Jp8Ժwl]W9W5EwI8+sg "^w=7dϣeשM߮\.Z< 67{xZkwvk? ſ}q**֙bsK2-;iKȬsY+y 5qs oG$) on:YEV#h4ٌXĤg{j ; >m0ڌwLGf߯L`L]]d%KsQ24AF& Nui*{#Qek8Я){ ,&K =I`&^{ ]v+$rf2r \z2-!,((Vw\਱ Djޝ$e_DBtyBp7%|M/+&blAb!+Lo*(:Xf˴<6iH:P@vCss!$n{'1&'n2L\eYٹ)Z)da]Uќ+Y?7΁NY"c~Ŝzq/#O&"D6fFYzvٶtp4!Dݮޜ)=3^b[=޽ Xc =u^I2cU`δ8"=&M'Hyh3@w)ԍx9j*|TZ̕$~w|ݾ w^u &D|;$ҍ?zJ]~tQ/xꌐ8?:1!nKh4EoO}Jw;ei; 0|-h2tM8^8ۦz_ؙSZWnQsyԫ&кZ rcG0"}8 KUuj~2enΞ{2cj(+`cB[#irlHnϑ@:,Ygt &n@  WUUE@7dz鲳#Yu{KP> ڹC4W x}O#8 SkBݐUW8NFy<j~ݬE5{w5T\\e? G51QʩбHM L^D>+fYZMK+ֳ/ݭUkT|o"3Q܈ӻϙޟ'bA,nQ5fwﭑ %?5Z=fD1HIOggS#Ij8&*!6FF䏼;3Ш dd4 .n ;M Wx_?INϮP8(;*B Veop;7+?CiKl7}^Ch5XZlF[, ŰqfI]]<*w;KcC6۱5EE <' 49*D=6j 8i!^UHDYkƧ=-t'62\̄xTlRQ_# L#1*{8VH.7W%s}L9vf9gWNն.,Կvu}~R d03X1xY"\ǜm%^ ݷ J;:hs!JDaȓ | KljBVs# }pd cA*j߻p r)rbH#(r],jj0%JȈO( #DD.b͒6Wݽw6D uAz<~^XgFr}ɞs"ܯ 3SkE ѳfᙹy꧱+*OURCGjݕ2;[=ċMro6IZJۏ%ȖalP8֝VӬ$sIlll̢JȔG>@9Zr~ *@W-b*Օʨ\QbYRc τDߊEXDP,@PϴHO/a;5وȩF2211R~!;)o?5 unM5d?GjmD?agW(fGWf܈|ZB| xՕxчQ]{9{r3wͺwcFkf~ $ E"%)^"} $dDIJF8[77Kt͙0ݴ0sI[*UΙCIJ 6(p;O i5i ޼WLYN2W3o;2^ѕRO)BVΜmjBa* t@Hd93#2P$$DQQ+!dBa;Bd)ə"BFF"'!K) K%/R$$XDh2xIJ>Q)#A\%@JKK3@/cڜw/GLg4ePƒ@9~#kA$Ĩ2u7jՠڒFAQ'plD-jtKA&M|9M\D D(rAHrB"+ňɐ7 3a)3d%e!22"( !^Hb%AV1UUQ"A!eFAJH/qB"%qJ$ED$yOB'bM#{Ic,dR$x<͌$-ݻgܚݔ]y7{osSwkL.IN3^)[Q}x`LA 2¤Ǔ(3S(>WEr4i`,iv *D̐ -L!qM %PHBqbB@PA!#$|P2 i !tD }2I D+$*BB & CwkRc22#K$I RJzјc\tfo4ͻp@n;_.w΅S`ksf8u3`QuS0>$G `A8`I=m{Seco'^STj6R7L0T0l3 F؍j 6@ɤ; ̙Tmڀ hf+/##,BB!EHqܼ@,# x/EIFQb$A!1If$7I1HY@OqC@@u3u.D6 ngx=@6ઞ a6  V$ j@r@AM)3eV&]_۽2Vy;b#[m/j) d&h* HhDu,Z&Sx"2[D! ) Rz!]dm/ !+CAKB@D2CC2X^> $v [<$ ςi ;Lnz 83S`}ۤm1tN#9:22`t!B d^!1QЈF͌YY_":&?7]){fy =Hv'xC4@h@5 NC EHR#'2HL"UBVQ$l@D$#ꞈ 6#EBH1)'dB x$W Dȼ!8$,ZHBH4ң@  Hb ̠G0''(\jmg9T3ww_󜗏''6TU7m-"Nۤ`Iή T(ojLY^_QtlǦStRCmv ڴfR6@\vqi jqA Z".̈rGt,P.-3C I!R@&$# djL {/A)y$b# Q̌ $D2:LI ޓD5U0MYR)S"c8C%E=fT 0mKFV5ĜOggS#InßL H@&"%%#"E'̀Pu3U2NlgGjlEXmPQaCM2 _26V2R\BZ}Xj ` "#d"XZEU)Xb CD$ɔ$@U08h">]$>EIF&P,E!B( B#qQ= HV)cAH22rV\'dD !$DGT E%c0Mgk%6̫3 3{θ)@Q^5<2F  Y UD)B_PVf"+#|T-"K wT|7ڀMGQ͹\ޱZCw sw^&ӄ{9m)m 7ݻ䟁<"Sz8S. l;;B '1eVv̓ ĴvRCVi&*n/JQ"XR Ȗe "H*:R"ȐR^3b*+zDbHJX9$eHz&Lܥ"%Ih4+ (@5RA#d!CJ,n=A!I אW.zgv5w~/9A/ azTs6ɸW~"fy"'< v=:[X!I9=Pyf6̔ y/kƭ['L6_2: 6*bXbN|՟b. (ABe{)VPӀ(N}"B$!Rt>U|x'$d)"23CQb"Cʒq`fFa b`|vcG=dCn%[Ȗ2c@3fvFe^XV{SWeMٛˬBF.ӘFPt6Ш&>)]j$v#"e)7^SUVo5 z x8mPTYR*=4d^U#ss6k-1~c#toI*pdIF(yFed$c -adOor*WɋBܭ!hnTul,dF;S8P *Z-aDdLS-dHYH,NDHFp c%Td tCJ!KC*βgAP"20$`r:v㈗{b7 qLsr@8(m!k 6em|V6P9Hd)\s͡ʪ*?q,IB0SInNoڮ&Nþ0ͣbm y"j3/Cۮz_r4)ѨsQ!8=!XhYۋlTN4,DFĮf`+y f)E1֢w]_g# +c P.HꝨS6%U 4=JE\A@gr';.뻑{&0 ޞ]l SC#'J>y-1FL 1è{lA r):"x \3sXYMU[n?"$N 3;-OLM6^Tư9!ynHw ͫظ)wffP5S>z]ʝ~پ$-Һ+]3PV5ADVH61Tˇ򶃟#6+9Y6ҍlꩻkkM_wq/aFw%ޔ r;=n@YYomǸ7KfPEôѦ)YhP7BOƪ85Sc>EQuWRz/X &&hؙ kR6UU p%-ϟFVwqڌ.*?$M7 T+PtKr6r _TZ 7ܾո)WnJl[=IpQz0iՍo9L_%0 2SC'1vs3*Wًy,l9vc"[MR|'3rR;zخk٭8bC;ւ F`N`>v8]^k!ܴjM4nVuGqH7J{+SW@:6R-f0%H%S7YC$kRrthX8M2f -C=3YȟyidT@ e* v$ GTvcuks}˭|.;EY5JtU7u^2Sgxu%͛T9p.cהG1-6j,^qL:{dIGŘysHsP3fohƤeihYAwpD> 7dڝ@xZϾ&*lU{8/Ҋ:@ 옲 'fI:-1jTI~(7ٖIӻv #:7rh̚Rc0QhdP_|ofrfdrǢFs/(+702,os{GFnU{"WCR=$z26uݖrSQCkzQtȗeL/-&EgG=0p | Jɢ@%< zS3c+vF 1MiBȨrU D@†3sJU=6"F rؤ1*yaB-(2RKP)c:*4Fvg!{ tAUlXFn̶kk{ኣ͑\ۖR@өSwLQNRögFv8Xٔ\qzZ,j`$I Y9;bȾtYrvkhQ@z8T`(yߍv޹cOg&]Un:D0lP9̫ i)6Ak5(𭤝D\q7ux R[z&lwF&#PBCPO qsDz+guPpS0+ʵ[U>\T:EFӺT߽C,Wil 7>b\1Zc*W};xwWcݢr;lw v ĶMYTB,g[c3sKo/͹i+>|sjf, ԇp1Aۺ9OMruzP䛸'vJs}b2 A+SSUL3$'cƘY`plHhnb1M(dr`D! FDm*YfƜlŭ0Y-QaJ j$RU>2*¯)bw>S$V٘O5鴹rW9Yͻn>-Шٵmh}ߝgouˮ˒,>0E< z 5ʺ+|sgMWb*,娂Ĝ+< JWJJ뺦TX4%wϷ?정e0jqŋ+Kf+O5tG@0RF@B@\QL pGu(,GDfbKSd˚%5n0Q̜=sƭҊ{fj<\)5iŸRj[a>k*I׮[.v?wd܃n;۳?:^vsT0XyW-p<ŔC ${7= , ">yˬQBx ӎS%Sl( ,@H ߾}2[|qv0dONF'TA#䱫1j $mڳbxF Ŵ&!4]qZ$B2Тm;F,|aR@(ok·Qɑ4͹B{*tޤQ=Q(hg1>|6t[?5v fXGWot= z|]qYr=K$b{V XOggS*#I/ ;<7(!.3-+30?Qa(ͬ 7 ʋzǺٶ31) H#UҊ*y&З)ɜ,O!DD*tw&vɎ.Q1+!gKn^GV9)/=&i>ΓtσCmu՜9gK9Kd .a7;l=d;<#~sqz&˨}Y=?j7} [EVA=5`߁l'V`5B_eBȬ(B7lި/-ۦ#BP jmRbE)E5Rd @<▝ZZ^j6` :/H*M FJP\23 P|1Gns?#)\gt%-m/bf47L7,I?zZ(6lQdd aQiC1PBV$a(J@pBR| mFFFFF l) "251(bb0%^YegǼQ`wدEbZ0=foͼg{fpW^+.\8M>$N8D @JHJgPLj4i}Fu38^q" ,'z,'Y%L&DmlԵF7p @ťHTT0CW >8Υ:~""Pͫz1S]KO6 wn4}`i7f6n6'ҙwq*ϨTBd⊁ # :ozTOfi $JoCC-UHh <hSA7@PolPnT5SZ ))KİoqZ[bx =c,UĐzw2*)b"yq0 @5cj$Ԅvxd1w^LZl᳹ӷoz\Dhiu{CŚTI{H(pJrnZX@9 (@)8'BCys^N;-#j3Gq]j3a KV_#?dǚ:B[$&y9V.]}e T.1>FMYԊ\6.37:5Sp7/K[+)_7Y .L4t*; (Ȕ`ԔR9ys!\hE3*57|4"+/TN8ABa:$ ]]M{#Ž٭:e:(^ӽVmcl^u)3Mw׻9BlS11ց_fɍIUSνw:h*zoHumh-Y8h-85f$vk,sĺrLQ5-[JcfKQ+>;%C*s1a>*Vs.䍡 N|z@jPRM٘se0U.W8r/<.TOdE -Lr*ݭ Zӝ@ M]*ku9޻ԥ]/wǐ iW]3z{Hh+rk_;#On3:r+_{OZ2-2BK±f,Vd]Uv=8_PeaI5| `Ǹۢh0&0q܌500aZh~Z;â7iYc*k2ȏ W=50 orp@ cjL ;Si*OZgL7?DRU>z%OfR7f9d(gK^(@+Vjx潴0+D~zrOL1WZQr {qu"b{{9gλ.}5<˹@*@Ir=jq읜08qW]>\N@Y^I(P9Uu`8d̡)0+r` 3fR;cMU +Jqu"v;cṞv}7%F`-$ zej+5'ybvĎ3K.)npa>2 JƖ<(БkAk@A<#&Fw [JGmE5f  XUFe,Av~ڈ1ا+kUۓ;vmKܥ ZUt?tw۫)[ǿCb">Ag8u?|#rҢ8 ,'9&ʼĊU$0Lq(.q[Ed&k`&Hӳx EB4j2tmsZj"?Ւ5j㘀x@]dO6k`IaJJ*%zElSw,RvN[ 5.<\Ύh{k >l={<(g|u_}Zn믆m]˾@,UPٚh7Чt͟AM~hlnwp_LLVCѳV4s9 ֨7CxM]U̻O'4cQ|Y*퟈k ܧI_>OHW)?u]yX2; =Spc>=E1U}}VZR1 J%L't V_4K(BUװބ/?'|0nb'|3NBlR{"덂rqls˯FLj<ԈzkcinSOoJ&:F ZXMhHRq7rzO>6ѼUvY~es{];=/#X{+x ~1~΁$NQwYORKQ$dj4;R1Ziqb:!%TDJłLcJHZ JbŢ4jlrd!Hl@]EhR*8x4Y)e`٠ؗzQ~Q ڌL1ĽiZfvoz[;ŐlyS/{hy/sbot  ^JLBF& +9(:k1҂ @UYU(߰z#Ɇ6k(54hR)}L!"zћ*iZǑЀ}PLiB!tHy;GS:Rd#cvFDJZ*'7+ӷD2T'NNڟ Sb'45hf)c8(;8{,g2uh>Xv⩲xcAeFz 550[6 1͛Cyup4 PL &n 84)0ԝl<1clw(Nq y@PauXEܓ6=vOnI>˙"zMy(`wSFDѦC@Dg2E U'БTQaN\;Y9\ fl('AٖDc/I\17=;FA x4Utbpi"+m[2zZ+߭s;槜7gRjkqL=86S^FZs@J.,1~]w (X8:ic˽]ș'F={YrI醴 q ~ DY84H|2fK,x~a=F#" @Pj+@o_3 F^#ix(OۼB vg ިT^ӄ0};+M.jM(D om''7UzSFڹ3:{1 ̷sDf$֖h"dd~^U6/YM`bv˨^+sƘvӺ6O pKwPV9Č'Fn `gAd=*'Segar[Q Jg= QY n@ Μg^3(贕 SR vcj P)6d9cZ-mz{˖ɮJ|Sx43(5R{Rs){k\jm·{gnնFnZx!2COOgm vy=@X6C3㜝)xK6-i0bֻ_%4?:!^Lp;ŕP)QL(ͰᘸVb)pn, :MAoS7,s] m~c&@~6*G9\DHBI_AF&P8؝r0SCKNUWhrx>^nNWo]FEZ +T:Tnǚ7Y#oLFva-tIYu]"ܡzk_ے P=R(!g> cN72oryJ+UpyGF ҹ6qaHwyMf >@$y^R_AYo>+ B|*8I mu]Y/ƕA.?eaᖍS6 -6.8pָ}e\Lb*t+خ [ƕ>FC "즹G;alC:Z*M=)=ܴ.$X wT-U dyocTL%qL%F~0LX63om#ꜜ4کsxm!?ò)({8nzN?e{]x޽>r sM)MEU=Ӻujfv^T2 RwTg ( 7Hk8t vy[Tрūĭ3zE<pXx$($ (!L+Svo~ I;<.C9+E==g’,Ce6%rZgP84P[UA  mc-]C6HN1;CNo=#qӞSz[^Ol:bβW?zޏH9vX>3˦55103ûa3npfTmrW6bEk=S=S0q:I53ep`lF LSFkԳf7-unZ$7FR* BDfSwWWUZ l>욒SQW|݅@Pul`5SV~P-E^ٙ~FW6<#O|olmcWee 0CL(8b/l#tQUnW14'mjrU0:9PUW:-HSY1Mf&䥀`fj̪̎p?2۟:Əwb|:V022Ggi9\).]U1 #BD!"CQ, [Ȍ(7ȳ( rURFF2"b0)”Ȍ<ŹbA$B 1tk! / 9"Df jız)(K ! G,ȬkbC < ,@<0*꩑XnII*YOggS#I e :/ +:@kLvkoyh } 1=S[ 0 9%*aaCV+ v=1 FnkTl6zI[̭sL)/ ^EP4"@p  (rD12BE"ʥHb P & iGPT 2 $dY Ȥ$ |( 7ӽg%@c{oFL8X)dX 2ddd8$B$qXཛྷ ^" [DX&`Rpq(SpqIP8~7j< Z$ţy2r;?aBN@a=3++ 6O?:O+:fg_]>6!]ψtfDQP f&RQD2PJHl+bbdQr'wB5Q!0AE-*d . 45ҧ"2C4OBЁX43HQ Dn_޻d6ꨴ.̞if`|Gvo  :QܮD@$OZ 1BSD}A, dfjfJ%*3 B$Y(nfF Co2»$) &agCNj T&KH 'ɰGˬ"#Uk&'dPT8g|9Fh]pfv|8dc3pp8;8J0蛊4!٘o%'X`6 &.Cp.@ƛܢFdɾS܎,.'{6)@$$ŘVER$[+q*YI08΀e D5RHY` ur^Q Y6&ՎP?xDgv,U,+2R$ Elv˫vE&~S (KޘvcrB1ZyxYٹ$-nx);Zw:T) ""@*̣dc9a\ >`l*.{ }\MvXOٴ*3<[}C2WJe Pz @A)] 2u*$YIĥbRv(^Ddң% &A®CF!A\'*8q2\Q<v%&m”pl1:8*%K[]@"_{Rs/驞c&ڐBX%pWþkqyn:0KbxKM*psL{1YPF@(1e*eoW$a$2l<$0mTȡT"H$7rK*A%[m۶1UrCgXbiKB੢_ %}?$ħ82ux P!(̔ ~æUaZgg[F߬.iYٷ{m"(⭕=D$Z@ھ͑BV7p[dȣ#PO.2)D(LJ2I)liBz<ȤE(\3'WX<ɤnRF>F̮FdɱJKAlbMBi( 3Nfcx{k=o.ez\5p>ͤnԣ001l^!`\1pԌY$4gCC#y8f^JX'[7z_" BzL^7(4@[ *$QI7S09HMLuT"/HrD \Rt R1+^>>THduES3QAt} dE)",CKіd*Mb Q8Lfq$[n2 KQpGsu^̢Vp(\/q=;H2~E-̟D/ D@<2U a9D‡\TǑ$@͂RO$" DI՛$ 6~6oPڔ1iDm$Ք͈xI\>/D$o!n"S1Rʘ2B(R"Mؐ ɰ2 f$ AHT@@8-@#e"%*Uʓhʎ-p;sۼQL# SK@3Qd@2^KodBj0ZA3^ .[]Ḭ[7qN D޽g/@)Ufff[_%尼uftnzs UQ;ͯ|=HPSzW plK38*=N1؄O" E5$TBꑁ q%$1r" bH) نHbNB`6|%n" T0dCO!(#KfW\CZNf*WR{Z]C0`lKOT|ԮA݄N_No)7:]¤,b]DYФx`C n 223e_s}s7Łdw_oN|RU\1Mm`),/$bNX{^J "ӕkA@1>BT95adfb#*n l;o3w.!{P]Rf O?43VJQʯ4Uq;g + jY1M[Z%hJc0ɖA\ɵ=6"*:vNqW]wfВ/DW0,A&@Z QHGC* YȊ "@EܬHH![( R 7+ @56,l{ .g] =S&=A Ի)$ +UKMWйVZC;*'" _њLYYDb`{v22}sP3.ʭ #A 70\@t@CFQR%~ @ R J8. %0Ld@^R_Ruc2ŘbGf$č,Dz 6HNI z^+QUs {i{!*?td!|ns 0 wz\+ iҕe-||GaԱt p1{fD-;_h=aa $*!p10HXZ(DSh"$= 0J @i'" Ȑ@J&7)W麔!E5RHܰ MMJSg /},#WdL]= zq@ (F@B3+3o_>z8Cp0} s V3P(9XrښDĞD@.^ZU4&bfhʛ]BDcf`v7qR2+ :3'e%Dq.K)|t u_KĖkIapMu;Qkj)m6AM<6ŌL9kcpG3OggS#I B +,'&:GB%271(F*b􌕝2ܵn 8 V3Hѻat0iּ{>a8N A'3 E2zdwrW)N"bvDy@ * 孴Sݻ%H`1<@W].8u |1$qLYw!̊p߭LVj3ުPs$J{ˆB2}n=>_jKj\0V~n?'pc|99L9pZ @`|)T;T9p8R󓵽EZ|0^/Wjl:jzf2VQbxz C)NΜ ZJgi*rZm`d3K PS$ (KfhaP*&&'.ȵ[.ضz\_h-ͪ^iA6Q,b4q0.dir^}zɗ'ZaJ;,rn΍AswnywxեH$A T`  hxCI(UJB9$OͶc1 1 rXDPp(5fVf7$Nvu8@YVXët-sZxVOduz9S'Cʄn$tjXâŀDvx߱> 6 ;n⏶֔ +3Tڋ՚XZ9عQ`KϏ/u`V&nuU1I 34'-β(%s<~f d<:.y"@KLY d寧>3}B9-o_$: j_ V u]74 ;/ =@tn6pU'ZۤSϗ&N<3!O7ZlVZlWO mƉr076҄b[O~9#Z;Vbw|9O,SWKݳQwFws3W=Q$b~`e1-XsP=j^;Ni*ݘen JJVv4/eJkdRTsZ|W'kL'H0PGOT6v7s:ۯï-.Nj9?YGZ+"_WF٠hb!%wqzhK_ "6 ;Nx$ZAX+]d%Y;R Rv)eg)E9dQ,Dy =lY*vӉ TڵUTdRMŒӛ BG@ b7/>ӼjJݢnF1 0:5<L8^9T=8fYIՊ?RNڰlo-`EƼxƦ*[+JbpR2NMO$+Ax?4bDHо9%BPp7ivP[ Jlջ"\'G8{7)]e\=`h1rt"rh{ls{h:dW.:u٭sj?%|j4֒4QwRtYc˞?7HnjkFӌٰc{QcpIo9V,܆q5U8N'U3UiQ4J6T6*^Ƒo rp^Dhp o@qPZVinَOɼm2Otvѓyaq;{5].\%ʽ6f`ָKF0 ơfߍڒy_cSiWsWc#׽b ߞRD |lnĹ`,Ѹj MUm1!=@/L95QORFNaz&c{Փ[͙;;U{eQ\ӾUNJ++;;D| 7/[fUbĤ =7&N.{g =X"\7\a\tRvYUtp:{M':*GVĕXzG:#:K6[,Q ]j>kkBU@WB!#H%a߲[s 2V 053H K3SU nv^ vÏ%(p7]}mM[H'ǝ_*l(tͨ_MCis[LYu| ?Ń 32 44 h@.5$KT(83U{֕*cb_)_cֹ{Ysȏ9qEgz+9d]-lƅ{\_R?LXP!Jj^D5g&i-թcxOggS@ #I $!#+;8GC8 "'gvpCZ o[!C͝1Á!> ͽLXF4]$Apکc|yY*qH7(8p*UU>j0כyB$r'|uWyECn@b̍[*nsVP&|ij$"Mh6/)Ƶ.a^Z-SNmpwdSh5+m-N\K'fO5JSc΃'̒|l/Mr\$FT>{sjm7[xid~=0Q9#1 Jv>͍t-w8wKhqz@G n-߷͌\T[Z0@}hn~%QLdȃ\8720n9k.BCMy=Mcy=_K\TY9u9@/sm$HȐC> ~!\nW_ծ(8$ǠH&  SʦUXTö} 듍(bbAd m.F^c;JT x<5moD:4:natAd ҦJ065jsو^XzDNuJ}DFm2> ~]9^ aϸ<̔,\5LN'@E7T~pO춺3_9 +T9 LiBTp"$ľ-jg"mV=E"NV,tJ\ffg]b}tof~Z L¶VʅYp]Rb %ҳqwS]a:?}?ټ4@NMHBwE"*bT;a"BA RjʬjӽmxuRp{mWb8ÃܭNGeS{!e27}rz~:jK:U9 5Mq 2`d.@+h9뙮.SfyϿ鴶'l:_27kd =I\ae$Fb;Vb{m]UmYk2[Q^379-@0хBw\*\g1FBgYW8~(]fʌIP1Tc$%B)قR(9$eSf{YSy@ Z7>}穎G*Iשޤg:;+9|uag5].nZG5"{TZG8HDµRd!]DN!2I:ACL9 dLD ^ƒ|̭ Hyy@UBf$=2KA$$r:$ 1:0FLcA5何)M ,ۡ lw `n2b7ӀiejLAAT0;M L*0D! GfPR,f~z秸.nݑ~\ڏ UhS߽hWr49h*=s@\(V1%RȂq4m,ɔ2 م^DID4l15QB'$(($"!AP @U:ɵ)CBtfe\RQ9&ȻM꾃)G: #ss 2*`(lw`x6Ze;s#w:(O\L~10{,);= è7gefq]LzmkPnkU1{=!|f"3AeEp-UiFؤM e)1r_i( 2aY$i4 .{Kwr#@-b5(dlico'@*Hɧ]] wz#8 *v b7[QS%^*5@6ݳЛ Al=0ㅵ b6`svavo0sΛ!X1[.bٷ(sa"wXU=Yok:]D@u5~EzJ t »]Hա`0? p[e1aHRvln)]Ǝ+j`*m-Jy YUI-HV+Gބ~. J}鯆Vsywy:lJ-hQw9F}Ʊw'#gւao}\/ F*EZe %$ejފWOρAXx潧&[Վc/NUj*!ۊ\a#$ ߻#)y C&@^X[ڞd%z:>Nٍjn ZB[qwzSݍymh@M)SRe@ X)e4t_jntn\ (#Ճ8Yi"!eC5Տn-BLG,(A.c`/=\}YLw.fstbKX( 1s~̙kpTmC@Xf! V=.dǧ{?a @7!@TٔE[W@p=ηH7|xg+ 7lne4VbK7 T>RtТ!hTT+vЖ -9z/c&{c:L\3g{NG^`J2@!n`j ^9YR٪D~/for@cvX4kc{p@OggSG#I !)%ACF@0   5܈ \&[nn{.%[ N ͕Zw{1%ՙ{]J>ƎP)BS￿D tZL*п{髳NѲRpq}]8r2Pd%TVfRk\EP[&=7a22=h0W{̌N4eڔR;}=pvo`@AMzPM3:CIO;oM3TBwfICoc"hu73$.$ TuS1)O?[c~FCz3|ȶA~OmT)۝ =v MYbUY?2wql뽆sz= 0`f  >s?_aבتց˼PB24|{|93Y8m;NSg-t{Y*޿'n8CVA 䴌L֋y =' 2.2)ptDvlPn>T!Vϟ[O<8^1z djE>DcQCbN׹`mM|o$^سoP+xtݷz Jh-p/s sg +ZwܞZ5a|3{p=[fټ$u + q y/uN{FMU 鮂0Ǘ->|aacMje߆7:Mj(쓻Z!w#.Z̤Rc9sC^_{Tm{$ȎlL9 Qqg>}Snݵ_ӫDɱl:㝢rT>O2M-7G2S'&-35EM+ۿtz [iM[եI׾Z3y5>iI m ۨ5FLLv #a_,: ?ܢr I-ڏlk{n U U}'1rӌ}B(f_[\󦳷ZYSՖ\jbJv{ K%q60 E#9^ڕ̬T1Flm{{;Hwz3EI @P'&=Fv3LQb$G$casRkƞW.ڹFryCWZH4C]I x­?(ogѶh`-LWnO$5*dt4f;R:ׂ,HoŖ ȈRQ, TP5T6x/!DRFf( "K$).fdJQPQP!+2CH2/2)T,&"BD5A) o)I"%b"H)}P H>H$!qeRUwp#e]R{.YԬf%2[0'ޒTq2P!JQ:U1 F{j{gQ*eԄtwiӶ aZ&" ئ U D@UDE-* *L2#2"0e!RF)@VR*G" DH,p2dJQ !H)G@/DFX!^$IHQ R@FJ"Y$)I$*P%[)19}ǻhw#3 6yiS ^HƑMQ `ߒ)@]*;VJl)YC$ͨgfeeD"Wf:6|1ֹFw`ߓh(j&A1 D$-C D)RȈ3d,DFFdiEO RD$(bТPIŌ B@z<$)ArH)"%iaP@ 'd!)Aq^JG_ޓp]}揿["A]}u=s; S8c+p6V=S̕ U--b ORe6_!"TO 4lQfɀbZ!>AUTLLK@1##`R(F1Te#| (8Kd ($dJ(D"22,rB"$> 酏@2DJx$A"2 M"#1x&2CAd'!2)%jݍa`u֟\A8;bfS{gYhMfel4gL( :-1OOeC'U eaʊe=e>$C v( eJ)ZqE~egK:lLR&j\@$B9BF)ЧXdd"ʤbdkP2FA8":MR8YEAd MMH($ ݓ!8CW Rv ;- )$ xDeA$H|$@Ĉ" $Y:0pd{FoN]80%Tal THZ]Ȕ'|2eay`4@P hecfn`N6S΍m*'>%;̫4c"jvh@ PN T bH E,+,+@}CdňjBtD^( d u2IQL B)"$Űt)- K "VHGRn@*q܅=y#q<В~TFͅt f({-e|b4Ki<@urW3jB1 m<+Pw-c~۴WWי*VF^TG=b E +6BIE2%RF.UABYkd6@J)hG D$!IEaI""#=ȇHIEHlX,)3  da.0K #H@,dT2܌ c"YޞY;Wsx?gLaU4Q 2<ɓ zR.12`G]Gl 4D@23 y 0fqr&9JC:GO<=V.w6ٵvC "(!.x_}5! <׼S 2%2HYDdDD#Ƀ '&RDĕ.@ʑ$&%+E)@~'wT'at )G$N!w@Of Quh}O{Y,#9@a#U M8~,-%sf?u-%/l^~ @XNefJY?7i]3u=^a;.YmHNNF&zVt숂vŖALd(D( ]a n.ʪ->o*~\=IWzGjжm{k4#|H$E ^Y 8 "BHA7@t@{a/bܛj{9Xt{ދ)"(i^+㞌.R7þŁM `jf2+S-eM޶1 l!c$\*(r9DqO QMd E,n漏R+\ޠ9lrO!&K\X!D2rR( $d?I%#F#02l`@-Ix">yJ@3CP̑b BUcX/$e~N3)C7pP@{$w4UחY[} $F4pCJQnW=0De:St@3maRǟf{-GfJqU "Va9%5DL{yѕ\)u[QʎEn,X%T6[ʽ@R>פB OH^(Q2ܓ'.\i:#-JEl5ץ KՈdzi,e9뤿@ ܝ-i:p|"` ~ +z䪺 8ET΀  J( =~];qJ*1"_u GvlG٢I;i̳\sq!Rijgl1E(3>[Tƒ|T?w_3x-wUSJYO`7!z=O/.]r̿s} U9 <)h]rͧmISsӶJē-QNZ$Mp0dh};2h4)@NANO҆rVQ;@.DMVIũG~Eb&&L[;PSUװ*#Ļh؋z,+X1|313qnT_ +c>ۏJeړGU'$O"{q!+*W42ZN syf&t⣳AO(aF4=S F2WKxjo]Oo(l^;H+W!"49SoG>)UΥ,(;/+WX7ѕ1b#SZ", =0C0P7Fj49RBc* oUfJp,؊a䒤ѹLYk* 3@2E*!t$8pFT[L%stZ`,TNlˀN)%[WU"Kt )KW.XU)0169Tr3ViRDV2@֋.`V-UUom%XvD[ٛ ^,M8.Cӌn8KSӧwK {z73!MgL8̧-V~z?yeb $O- @{/I133 ~+`aXW2[MLUQc{;yhオJ13L "jĦ4 Ӣr7isd!&8YʈBhKB\wq]AGKE9it", )#xִ$v-lIe}xR/%&N,3lcUԖzQI~*3MnL\Km*qsͽT$LMb 6 4:7aӬY>;/>fl],8YxC \涻Q H1Uhw<ɔ͘2 WS RFDb$Dujl= S,n*Ǖ)fjNn\3J=*DCUyqRj%!g vKSнtU2b]ٱ1{!~b&?_Ywķ;v[jF=N=ӵs}ӄOMީ"2\f.CY-0SM﫡7+F-T#P08|tAml3` |r(`IyZ& r 3FBqOxM xRZ@ QS,\i`hjv Cv[{ȥAL5@J$]8bM BɐD{] )+O OOlL!2W$&&uVieduWMٟ{Rg};ޏ,J,Tb1i"PBZw7w=25;鴳ɻO^t^s/udKPf;͏Ɣ1bP0fH&9EǡSa`(̲VI3q5,v%ZI7Hf&Rf5ıw#pA/.ϩ`ȒU#b!%#AUcoJ?@1hqKAP )D-)u>1Й蝙QqJB9iJk7ncj`0ķlGԆKbaNfs8{l)tjW7գ,[g^=:Ӡrwdf~,[Cf" M"{*sWM ;e(0~YQ S aܗ7 3t ["BkF)%b8;\f3w m${n* Y K-MNJRp*+@vZG c4݅b dibzlϬjDZ=2J*9+*&n'XY_f=OZݸݽ6f𵥞m[X%o j]J] i6@2cplȌOaWAp٠ *ps3b jSrx|%:n(q0fj)#7T'jOØe!lԧ/Arâ ar&FgpTB9 "A{6@SlP)eӨ\Φ Ԏe?rP\#Ǵ+fݿN}޹Z_'qrdkwc+7Xv“GvD˩q6MaZuqu8tKi76v;)[ abOggS@#I'#$)238703,65p2 (Ɍ -<·xOB4H [{/2$eL Y3}7zLi!_ifm Rx[h0dQj!PaeU&iF٢'$n[ a zeuۿHC=[|nWm>O/Cwlj}*s*t:w}1>7 u;uWW N6>Bڛ}yή!=_gJ02H*=b#C*@cFA]̄ ވg39"(BK 3IiymϬ,28Y0/n?޺&"Ȑ<MU DyEY]O ;H1 YLo SĉYE.f9b8vf+j(@]F+y-S~XY~M:{Vig}m έF䞻>M8ﻕ>WWZ4(z%$oqxl[3ahr;"L:+ĹĄBnu =>y;TCr? !$I0?؁' ( pQfLlp"|{Jo䮸Ѿn* ".R .x𙕏ǐ۴%ȼBEʋ.,Vu>/)^￯C';^m̰sZ89&.ִ9#;JU]k?Uvn.7V,F|q= ʣ(`Ԡ L\n-xN8wO=ǐ ټ’6g<1)k\޹$mҒ}΃$nlJXonmfe~odO,jN9Ofye@zsӛaBz ]=(P ͢ʾ( د %8qJh-_l3m;O:Ήcϖ['fǯ/c)3۫OuﮭQ̭P޿izTnbN eV0]L DN!P>y/Ey1{cjR޹M"GȠ}MiߠI WvF(3euv>ͬ!㮤mtubOMjb w;ФJ ,ڗ  `v`5!97~zsO~pNNQw-}A\~\kjTlB=7in~=} cؙ1[(?dn19Nn6ޘL`/@({ <]^I;I[%ģvLSzO d$0;4 ByF#g!;p]h2ꁊSit%j~jj >fۥ*]3aO ;AXAtsg{.ˬ>w\N0a>p(:Iz?"CN;+7`2ز;``P y;P괘O3whW@bl$_Ӂ>Dr@ BD CQfD"/yǁklg Q*9u)%mh) B^T>)X7(=_= rNIBCAnX@Rl72سE(M閮}y{b>{iU =M\%癹|FΖg:_̒ZM}Mkژ ήY?;4І/?x!1[MP&)53,C1cz%̇Z yKO[giZ .g& *baO @H2eʬLIf=6y jrhhnovxP4P'JȞamƈ{@}ko;wfmn]ݶL֝Ovn$@*l'U(HMx@ 8nS.{lEd#v3WHf-xE>{S.r[oh5^=ۢRzDV ^k'/5,5{8e\7]]u=<%GK2F 0c LW,u3`^ (> 0W; R@u U܍HrnF*}o7w>\eh O]k(xR+Q<i:f=S`)А(^P =-d-[Ҩq\4ջuL^yn۳Cc^h_R?W1 UEE> TՔo_9u?3|)LK ӗ;}*SnRV%x7f:Sw;5yfNn;3B,/opk @yN77V+hj-UR&:UՐi#2@H.@eVeJ~?fN;ü̏l#V[93VQ)"I (6ZR=t)uig;ߜg#:(ӄ&ɱB{`tЧ_뻼93jc:{<}?΋'(r'i$`{L%VdOggS@#I9<46;9@DCAB;AA`~\sc%u +E<,w- 6 uks(8η?᧡fYtntq3)f #Zg1v[l!- BpQP~'F's#}'?/|)^=ZthyyJP&kBw0Ix^I &Ԯӡ&h(,!&f]. )[^߬6Dɰro[?绍eX/a:R c ?Ϳ^C;-Qb. ynr:e[4*͎3,ZbQ2+`r ``#581L04 zAQ˧ˁ~d thrO G[kc,XTb PfAMD6z}l;,y}D ,+ ?Wxy;|Eq) {;A_"c@0宒iZm3;vv64ڍhu_OlFo^Bwl@mFWtvPB0~Βw x+<{nOjF6ˬZņn3 ]0( zt'ǘcIBU;w%NԝѤ't $e@*C@ e?MR{Tu\. x!TÃh~@+}iИ <7ݹ >"%s1~Zvrj2g43wݎB4|϶{MxN_a=jӯh'"_qp}3P)S̝OiCIZtt6golBT66w0n$jqhC0P>FNI(@g Kg!@Ġf߅1\I1%}H.S3JRoG^wsOwOߜhosf~FVbp3O6B q0 ({x<*RwRT\Bњ (knRvõ:՟ʎV\>ӟt\>/_[;w5kӡjW_+u]xλ/9F:?zs_썚Sg.nm4Ywv͠y՞g2D%zHm1{V`+SЀat.>"+*i5 #i"#mm3֛w0 @] pRSUnam7EN1Ç{:>s|T9SFЀd9hxD"KP_|#bppx8pi? Ժw>PwR[ 6keʛKt i<>O5@1@ʼMӔ>(CWTt,$qm$1ёu'ztx$X`7 ( QdØ0Gnf~5i;7v{~DWV=/#;>ʼ̈́ Y'4ICh:&wbR&CuM?94-01r\gSeSP Uݸu6~gdt59B{T ϊ;E,Ш@ \ہysZ mS2~M" I?:>˝|u[ml`Zڼ|쯞ֻƮ϶l\6:9sjN;nWGIc(vt:ociQAİ3'-6 62d xBYMY tܞ/Ww=:9t4'vgOxALw+7aut 7W|O/+<)qZ9ձ̙eʗ VY=}9^jQ8է빯r9<|<ޟBw/u}sOnS׭ɞI}gwWY-9w. Pٷ,;%- Eǥ T{fubz0$L^$c>iBQ-p$&5pY*$0 @c` gj*o@eXuzve밣)l=[=']3D^KӋ'?X@░=+ :L# e \}7a#. (SJG{5olF-Sy|.l5*ZٯW4|=={ o>wW^r3a>M?}czb91[,w[1E!}3M:l 2+;;)X9a >z LYOĨ+DI OɆ`1@0 lj·kI+zOԹcv7CB 8e^%·.|9+$4ӄ=cM!)40{o/h!"Y1V2lTJ"&<]{MmBz>>|ʗNk~ʝ_5q9V ]OSlXmT1d[|T۵3N7A6PX΍cd~@>nP]vs&_O[$|6!e0 LYL$`o@LX@6=.45"y8'z;ي9_kLR5Aί.#enYf)@Q K# |IC7ɕ#Py{￧S5;+2v]ҝD~@9s>S}kս QqZcs5m. ؛LlWb5ߴxvQV&Ei̝I{Mޘlfqw{un3ssox?As^b-IHZ)+n&i".,,a\\Qj,/@!6 ܍]_8C'mZWN#xz\%QjBqc }' @U<)@ŜrlF` @5"I/9-gUpm÷yf|.nMBV3_i+ܿ;X~MG#唝C){0ϞV=iGѡS|zkmEIRf /s3t,hbkVF=׋v]q:8 S{\m)"i)o zoDɢȮ!޵lY(`B H*Se \v!k>3$w _{K[>>QQ^{SrLU(M! vqMm7p Ҁ]J|j4YY4^lgFe^_k> EG9},Fl󦞧]\\zOG|up_iOggS@$#I8D>4C:-,00D7B1)5{2a+IUe7] ̬3m;c`6C,f*^~if/=Wḱ`F^ˑ>4aju0d>/"8o"yȥLԕ&elporl 0560),?ӲTwSJ<ۢDOZ 5k pboCPGXyrWroĥ 8P"άm󤀖6Wљ7 SC?&f+xܺ%ߍ kS/y>_΢sv[44w?Loo0It? 5P>꼳b2ohrN?K|0 c`@ @.b<2UjJUk}7]TROẄK@r` W )Hv s{˒pڒ]/B wU}Zk5>]ĖV>0_'ݷkجahV<}}oں9ە3O(u|<Ul58=ϵcV:"i~;s\n?o}tÒ̰~[(9ړp ^ˮ,+32JjmwC\Ą{S#i$K @ @Q9iO6H6T!ib}tPp(S@CrA?x' $+p}mZ@̅N6i@ ͼY8wŪ;{yxVV}=#^׫s !nvv0e4#)GYƿZ~gu83~SjߺC]֊k$f+3q:>w`1H@>pڼ+=B EH2"^x @ -H@(23 @St%#__gC[ӣy)MQ |x|sGA*e ??Xt Xfm`'hᣣ@>y{nVwRjw fV ]:˲VKk E=IYݣɩO- v6K GŮ#~PZk=n=Qʙ[ϓNz3rXMf/9n=Ps7# 30q_d$}U1̤L 23WZ{ PI6 )p٘YY:>r5S#@|u#t%{o>:H'/7|7'G"P~",@8 w\{~ {ջ>efoVU_ΨgZ+[]4h&Ζ(Y>/رj]ݯêv?TP{ iCb2[w2wcM^L8 {=K eB$$O +/^d?n@³RUe(Tgz0><~'O#HdsIX48|<@xHP_I v e!;ꀂC`Tהgs4̗Fmm`|νʝmk7zzMmw99W˛f--c 媃5漾Z%X^Ыspj[A9;1 @TޟkƋs;Zk1"r773@{>G,G&e _HbّI ސ?,*Y@ )3pk߾X}tw^l(:$Lwe[)[d M~CE;+{az-ywiy)vJdlb՚3w63ƻKzFM+^ڼ#O\O;Ҧ^~ʒT #L?}lPE_6HN~&1ږӨKKwLnCI\L-f:y~@T,DÄ+-9A>Cs'*LdD X.*5X}nG3:H @l,`xh)p4xZ-i^H ZInw"2f<@65C`a ?M@Db. LT{Pd%]Hoۖ 糡&vh{b[8+;|>7<Nuۏd/`2yzR0v2bR|dwbv;\`*?֌ k,SQgΰAaڼ+R[=ZUu~Zg:f`~r^ Lm陟X=Ex.ڟYaCa<c~# ~*BM֌ˀv*) @\lh/ .lԡ,k^~9 sR4M[6A)t@imD=vVL~hSjTiXݮx;tǛ:#NnP-.E+s7ϱ?G8&k[}לnyw&`1 *zಪQcxJ·<4⦑4v BwS.Vfӣ>D`(@&D(uG@{ PX2@6=sbާ{cca62cv K-ص}8;aUг/e9tFۨFW5tdPV%.nfvQqv f( V]Qw>]{zq.3k͐ONM~+6i_[$}d2aa`'n/M]a@@-l Zx7teT'虺׶}N] "y7SfxO^;7cؼ4eu\N.`Xix#Z" ˚o*Dl>Bcb?]4onvpax6Ӊ_vGփZ]Tylw05/OiOggS@\#I L8D5?42-*,/8:65iW? cS#/#;6,!<;IV+@3X,4<[|#15ڼG>G@|$$?}UPsYIN21`ٍox[b pPT2/t;ctlܾXh{s2#Wg4;3HL?@5t- TO尖C/ t μiM6:'<36>73x)GOLL]?;G[[>rzͣ#sgSuNLLj*'puk3}Ƨ=?,o?Z>e;w:D lsT̼Զ/^~`4l3nL'{ʜKf!e9:PN|\ 7oZ!I@,lp[ (PL0)WwCy܍P|["yN )&+, ?%DE y;18U 8 6[s<@[_p(ޯ}&A7 `yM >RCNz1Rikę8q=7|뮻8Jv=?`?iR m-|@H@P'A'|~ lމ\a)> oygSĨu ݮLoq!R4_ezKtzuao:A߾m yݎ_㿺a/z-h`ДhRh'F1GA ݨrc@[VFTj0R|Ţ' qrSv00 Bw_>KwTY~1^$LUIZf:љHW=ݶك={rPGbsmRBs&7ڦ!'ir p  !BRV3 "Ldziy[[RxOC$ @< Z@ُ765b@r*4Kô}3Z=Qy,Rp(0|Ioޑj;qR<js| 8PuM }9m(/Px>ik=oͮafYYprF>,׶(cΩj_B$= 70`PKڪ[!ڱNVw4i$U`~3 ,xk\dPͰeƆ&o-:~ڼ+V(1Gw6&e_&,ډ䉎\k $y`  pW5c*Wںfg̵U?=psA9DTKQ@6f}RH3m@CB P5Ѵ@XM*ݞnvw}üv{Ei9ԛc;w7v{i=~c}?x>e^iG濸h#3=`) ϳcxz'Pnpc@8w藐ٶ|{?S95L؎]=לfk?ݣ DžsV_QO}ӎx3\?EV^z? ZL[>CtW~Yiԭ;# Z[ F,d?3+7y#L7 +s)Swc2]Fas}`bo~lp0jOI2l+y7Kd;tMCǾmhʾmPRiƱ:`@ aM@!s(`~܄=| la\*v"mܙw:YzNt:s}I!zNЈQZ9Us?:ZWީRQNV64mOg?(cƦ56MO(fKc˺l|eۻPs^ +Csr%y*"eRB,G0=?.|ԟa.  @@bjUW%7RSr6{, ɏ\PU3(|Db@7-P K5P x (44|)S}Mܭۉ:景*;m\옵>>sgrBdzԹPn{O_͙Q.zF*9=:X>jWe0`!fr0qxn,(sN&  UڼGF[yh ^[7S->y` OApGp An⎞LKMWUZ#'JRYv}G[sԵ[Ӎy%r =B}u{=nU3\6*~g3~aĨzcoOggS@#IG19-/('$/%.17#|dӘq-/hX usf6b3wߝ03(^30qTΉT<ո+Dʄ])Xgݐ@ qU `T٘v 64f3be}='_cn00t@|}}"TPUS("Un:KB?&;ec6k>;> fۿ%EZɊNi٠NZ>̒7N&lv]ݾZMu׬2w&2wUJl%W6vս)k⒅]TMgzwfe]Zs+2R4QλRPO(R&2x0?A6-6@  -*33U~Nb>&N2Y +KPR^>w+߾@oaz `M=f(]PՄ&7s>_nˤoo2-Y#0Ez~q6'eV¡|y3P6Hz<0k2QQn&1gFԫ~؜Caf͌}s4pY+$ob3يa'F e-&u,Gƹ$cyWP 21+]9{a@%L (R?ס3;'$"q1ASRMK…q;swڅM* whur#pR ZwZۺ &o6Ь͟Qn-pmSƌ[;5UQ,TsBffY6 $j]ЧnmxsPx%d (G^~٣?BSh><1ܳ}9-F$}zO՘p u|Gce'`8.K1i%^߬&>/QʣJ<.) P<`gB}M;L0UzG, Tr3Ξ}՝1BT2`׬W'u]5U-X8pɮNr;P]u, >ʻl:ܠQlF#;,r@h66oL#'|&+~{@rP:nwR& d  0ŕ[.2p lw.0y)쟩f<0v~-Ei ؿꍇ܅XI7)[#|in|kʵ~F2W|T{E1ɜzGUMB轨ib8_n7z>^+YeɺZA6tp*vܘN :z^lֶٯGa?xƬegH2`NUYsygn,i#&c%rvbmD /, R߰Qd2~{8q+n.RN8 URk UK\@kod:XP`|jDخ^Df=um'CtFw)M=s[uό:ix{O噸ޠ|ӻ= ½n۳' ʊFӖcVR} z0]2lb9'8ɪ]лr:f!hoJ`~+1hE"(.g8\&܏DsCHtN`8IqB>l@j*?^95e7MGs3!p_^^ׂPx~v+^p^xwi`uȾ9A$O#"0}7X}1N֨B#tm'UVG3:n7Ӆew4ʹekFks twoVwkonVao'p-k1zsm.3 B`' m"ů (Sg ~+yoh2Xɱ H6ǢOp~񒬰p@ ! Jb6U~t,Ύb V&v7;Zq՗ h ejghq4{߂(B<_e;d[mF2mUf\iXB2*?^ui1T[~Ϛmfv:v3OmV+n9iS`몶)3l[fzȵbForŚe^4^yZUKRg>X-B:L ݪ|il KRfUJbΏs+/p>lJ9{,%* qx m_SHn'ґ愂Ph$KtՎ\jP)e̥Yo 27YqU>먋Ysud|w>ٜ Px_񫒹S +AJU>}wW;k̫aЛ=uީ3M"i)_+,Ut/}{7^=6ݪB^gT-'tyXO#Epp͹ g]٨V-Q>3ڔ׶&cR I/T8NqM-׎=J2z{y ;09NGnB cQY*[p31% $˻Q䢔zƒ2Q-'i?-+Ya@@؀(US5c~r0#y˸j0͂@{@M:#`rx:ziyI wu)u*@fuy' ϝju-ޗ;4+Oi^O|K>wWkmsvbFF P}Sk?1k־0k7Wuq_Wѹ ]xܩYɚKMT!,s9ib`!o8>zW`CDy LSoFx*GB 15To_+@b}{YD'7Rn $4[MxRz= /Og Y;Be><0vxOܭU=T}gfgwt;}YZ-<9լ]8>S`6|Tpm-L[_zpui@ǘamf¸IJl0ia [l25Ge6 #׭xk;Awr)F A\F~u-٧xIc`7)Uw\eDjIz7w}d=I^H =0Mh Ne U¹>`"E:T6&Z\uO}W+ sqt-F M 7f93yY匉.?S{8J FjZNUs棂 [Ad <~fKX0Jd!9d#g1y,#yb@5NqB ^$UfpY:1;4*|6zknKA#[=  (*nC wCD+ęj0dBݻ/^íZոN=;;d/]̖>ꞤtEQ񽝫z{iЃϊg&>BA>ݧs^]O4BOggS@#Ixp'/-"*@%.%#-%"б0Qf.lF3S:t>BKQ@F xIR.I=M3Y"'Oyl)N%멲T 8}zgz#12,\wdZ(>:WtR{s٧hf&M"4UPX0ܓʋ-LJ45aw_tk\>rPմDR knN0NLt_EDze@$I!f4((&8 fm{k]?⺒k2*@zNrS6r;i=<>F'3gLDdJBKS%#*33,B F(@5l)(ULsBiQڬٸ(72 ύ$npBi>soӪZ;%t }+WDŽx_)}ޚi߮;MO[/3,G<] 9 mEЙ!afH;s[R1Ja%3vM7gr$Nz~gRdY) S!\Hs>VuY]2{hJR4!ip/uFJwZB̜٫dtU@{>xRV`6KU6?渓FPQһ:gèr|,ZϺX+jGG5<}'V߮<53uF*54u Qq)8dd;`Ԅa~i<̻='c2Nn Ԣ7ˌ]ސd97fXl2Vwn+RʪB[n1%wxLqR{Z]r& uv_2Oh;tmD8uϬwF.ã<ºn^x9WO`3]/hp'mOU]]~=SumX} / q=쁻XIyvc;oSۏu}q{(y k<"uxنmmBy02fi{+Lç4}d0bDVCT[Xp ^9;sL3}?ټ>/ &m7is&Ɣ2 oD_?̋c&gsHuy#$$pn$.y>W-, b]9N88{g>z}wA{kT?F0}-O^Dq̮rGW E󳾘ڰ̐_Ym{};E]/|fuFuZj8bʔ1I \f.s̍;gA >iF)2E|RvI=z{&^rQJhƣ|볅uoVv{# o9~q u&xF^mno4B_oy ~E7 8vH+;vzh[gU_'a-<8'ms\{¼Ts@_FoTaELMt[{l |2Fyu-N"9/ɗqXsg*w ",%j(D!1g yC 3$Wko tHFXjړ3߇q~l*lv׍wwk}l,S [WO=+"uij~@Q__sSIn3mXڕ~,~ڮÑ͘^ ݶ>;sf3rK~}QLkgɥdrNTw$j?\/}x6c7Lmh +rP›)@00 q4`@87\e:]y̚C\ؼxf/Z7 &55Y F{H-/{Sް%fO:M5_mt*g]TM==iQ҄_|ԯE՚J-cX;8(_ϳk?4ӭ?jԆ QQ<6 g kp:Ԍ5Z;Nʗc.y|񧕞-Y'@176Rт &#[@cX}?+nt?Lg7 PaX\U})̏a]DdvxHfTVfNs\} #Jۗ:sg>g^z,s*Oˮtt>9>޷xlѳ ˜scª}s6ӽ),[֬_KRSWS !Tt^]c7 6=g`(0ZCHWUOax,*.xٽ {160}@Z(rŧ$wyWEdUNLs7«}vfEFi&s@ 5a7\ E2Bj5[ç hTHmihN _dX::U+c)WWX}rLϸUu<&{nO?1VYxDr0cZ+迩s'nsY7N154m&3YKL\^2})gUo WBeT~e)U*RFϳ:Uʔ>̺UpKLM6/C!braz;T](Y\")pm/}.[wlU,k1}8ߌH5=;s63)׬gV:8^ ʆ|[l:UdĶ9I6P-2czj᭯0iN٣jaۃgmW7wgtg10;blockattack-game-2.5.0/Game/data/music/highbeat.ogg000066400000000000000000017753551347224572500221240ustar00rootroot00000000000000OggSѮQ7svorbisDOggSѮQ7r-vorbisXiph.Org libVorbis I 20070622vorbis%BCV@$s*FsBPBkBL2L[%s!B[(АU@AxA!%=X'=!9xiA!B!B!E9h'A08 8E9X'A B9!$5HP9,(05(0ԃ BI5gAxiA!$AHAFAX9A*9 4d((  @Qqɑɱ  YHHH$Y%Y%Y扪,˲,˲,2 HPQ Eq Yd8Xh爎4CSR,1\wD3$ R1s9R9sBT1ƜsB!1sB!RJƜsB!RsB!J)sB!B)B!J(B!BB!RB(!R!B)%R !RBRJ)BRJ)J %R))J!RJJ)TJ J)%RJ!J)8A'Ua BCVdR)-E"KFsPZr RͩR $1T2B BuL)-BrKsA3stG DfDBpxP S@bB.TX\]\@.!!A,pox N)*u \adhlptx||$%@DD4s !"#$ OggS4ѮQ7hhh!B;  @@@4B?<4B;;=\i1Yu@M8HhZ-{ƶQW\B8$v;v^}B!oMj|L_,o2T>@3 IUjhӶə++v99nE<ղ6Jm;x <~QfiR1+\AHun4^k3l,dR=8vЎWhaM܈P3Y4U85 08eL BdadϵjHU&*8yB]8!s$΢ӹ/xz7-ꨴl 'XNah*89-( [ǡO#=J 82@"vL E4[e\Y1 K=6ت):* i*LA0iBVTk" D@h%$R A%SQO@XQq@7eT5tdKX1q2)a[@lTtCET*թ t1ŨVE{dTQEX;ud]‘+ <6jUv*_8?贈}sS{J"H?3_ =X "^0 X1zEr7:ɠP* Xu*ֈWI96[2u(I6a@l5YM%R('qIUQ}aض bEU읋J~N-$3+Ȋ䚔9~-a#( ,zϕDԵR\`b]yS ^ ޤr$Dsb3,(Pr%1f$YLːzL˜0,RٳYQ4ij0]"VU[e @&0fY# FW0T_ԀZ =BHǧUsO/ί?.m-W4O:G`[NL'R [RkRf>cd0ŀV!dkޣu_CtCjp jA;ZYPl7WWi"*M1@`W{96fgf=ĊbU׌0r9$!ƱVQEbZiFZ-I)Lal,TWV$+#E)ɑ mc thcj`a İ$ {/Qө:UM 61`504m<IۡWCa&zR[ӑe(nBȁj ,v74qG*ܭ.%hmgLdW48ƶVAwƷǢh?|ބx h6߮V`(`OlYs1W%ApD0 ܘ$XzM\VT5M.ia9 l ֖CmSHOYBdRB \8'bOCDWJC3F $BjWՎdbn!3kۏ,J0-By^Æ`+} ?x0EؒϦgWMCS`B?jYl- @:$ mU,ބb5vLP Y-zZ%G&sc\s5Z =ɔV""T3=mTz=ѵ 0eTJ\Cd,mc,3kz_8g>m `@ ѴI<ȲXȕ9YcH+ݴJK!ū/ -usW L^-eɯPSZjҘM)"%}Bݞsd7aɈ[;Boui?z/R_M<ޔaśs9<cPD.Ȓ5*~ָEkjiUê0kTWJhS,Z,bF`*SJ Jk7F7u(.+b+ (e,+TT\Ve 5K, `Ao2GfSQ1t QzlTi t2y#k 3yH"EV++i3@'l+}}SLԙhZy=+ǎ_ѱOGPRmA6뽭:wD=d,*DZ$eIY(*UӍ bmYɨ!t$TUP+ AVӉh5[ύ*٩خ~źJ֪`.ȴXrHjI8ήne]}i n[EZ@da-ϲV 9q]SLDnGg\vIԕzZZzvEMP KE^'aDwI&.#r7|41\U bMF74CzH|J9A ҍ)NZB ^Jb;{p#O.cM@`qB6 *lJ-0oHPE֓-f6ܝdS/xjOѿzrfeTs4H^@NW>%ҭQee;Ee=0`Y61+1bTL=!3=Yc6aҔPTy\ +V&ÊZKVX%UF5:iTB ov]}yф1BK v"DXv!;lXtgW1Ac tZa :С#2AqA> fQ3hQ7G\c}OϹy۸0p+0HnJi*mNum.Iwfqq pA.Y2{0˲b$:A+E!B]QX"i!rtUSuE`r9Ś j# P1#lTS)l9@ "-P(0Q)~̥;(aх04D oJ71 @Do*¤_'D Fj[{C;9Ksȱcr6vwSܣMz?B565E@;!!823331D9A~-LrZmE x@Nn.PlFQX*&.QoHcKzSQ.؄,2|I^OBeLsg\Ԫ,͢!ҋ ,pmdcPEi~ ]H=7l{ȗC1o:198N\gpp,HJ~~" =V\vQpoZ%B 64M1M62&BX%DATիPQ=ҖNRs "+\V}RH q,+X"Ke "K%="8 )6~S`ul9p4&6 BeJ3NCe|Jg#)mW( {D+e񝟢_(_X!t*U*]w |&(EDMFE̅#ŘM J" VJ \2("өNUe?J%l@aYp|R4,6XaJT e,1 eD-Bae XӋ1Z8`:牅{= a"hqׅTdQՏ[N?E`, X*QTUQbU$܂^bOӊZGyjvo悉 ȣJQ=jTuD U4W@iJ?av&JUu*͕UBM.+HjGR+=zVJU9 ,S%|XJhcf @5[qXWK+Z)km3VWS*SZ 4WU @bA* 'P'"`G/8| 0\HDW5U%(QH)pllJU$qх H]Q~ӌ\8S7 j3 KPqV4zϽel"ڶզ\6!TԤqB6* lN ~%OP +xz,ՁD ,% 9X6#ֈ ɀ`iӣ&}.kp "-gnWwۯm_2UNYF5ݑEIIJEVͬ7~ۭY]~z3D:}molʕ,1UU7װ+gb9)1F:dؑ 8]?f*/'5qN6lu͸8't;_Ŧ @b_ C#BD=;Xl.`ui>i4Mm# ^| \ ?(HȂ&\bڪBRJB_珞,mԢ "FTmEհ\^1^v8%2z^]%菓VUMz!fɅy!˧BpM< VyF={,LLYM GVBI B YT;V R ؊HsNO0{)])l.sz WVMf2A{gfN,+V,o9\[UߕU:CG\qYTz췪:l)BZp!bJ!br zzVUҀc;PJ3(jƤӔQtzP?2aL؎ "?*6c .b?\.סT]Fj%Gxtp;-"[,܇hlޝ9mJ:M:i/eӴ]|]}]ڑ" (+ivۛe:hYP z2쩝#mt\E$dW3rUq[N@jXkv;f&A:P 4mCM~F7P=sT >vudkj (h.R1 9GVjJ۶}悁&eY%Y<7R"]ɮ&jf]vaMk`f)SJ4N71&]MU*Zn# BHNFޔIeY"P9|5LDb )D1o~am8DEJ=S?o9]ި[-R 9#aJ[жmӣQ^KE^BDZ ZD-yn(THs̒\jb&n&f " h\8:݁cD24a;X" 2(^ {U{qFu %$V. ]jQi҉RߕR1Ix&OGD}_MoTu+T$Q|HVI䘁/Ԗ-5?mj\C-vqc!@eiȫNGkaW9>WyzuH$V)׭zH)GF;k[QV^993 }w;QuAM!#"]GK 1;ՑĂ^9nv*#K3 X ǝdfPXl"i դ)#q=R0}"\uKo-8V-%d;c˦^;<P2 KB 0L # A,JxZR$6C(9" ȁc,BĔfb F7#BزEI?R W[mBnC*~Gmz=lZMBY}. J%H6颩Ƴ 9m)%4X!(MUMpTaBUpz8Tp3|H3ɥӦnRǥf,a/Ѻ󤞌wv-Sd uK)a vDY(T\T "'2MjDbһx'=Rdp& RDoJz(DGψӊ &<_=\M SNn|ma|$w17^Űq9Y_nEҠV^ S:.nN,QrUYndjlȎn|lSJc䢤{bH6Ztn^? u]sz]s^lZ8S ܹdJ4ո<]XΙa&ɜ c(P*Ӥ$JL5s\nosrTdV Of F|uzد: 's<> 0&Sf_`? c} gvj꿓?Ҏ p#]y0 y+D %XQvJffUBBUe(jM 7[_Xf}g%z^<^~Y$2#ͻ^kjɕe-UMϸbiRa0%UM<#ou*q.=:=mBoiC\Ec(讓Tѣ%.(UE'k͋$֥<QGݡ^+*2"i\Ťb#$Q`0s4?\u*uɥ9gr,@pU; <;w~$:zBq 顖<;{GPU,>|lLia{J^V&3jlW#V`kѹRp1(ÜDa l۰]y8tգrqdJ9c'JRe> e`[7c39w8᠓3Υ?dGuG3gQ$xZ}W<ѭ Wz%2B1)A!#`ȒX1fHSN\C$u}F9\kHվsv/v?S,gqnަcuG>0J\YvOO%d,Xr Z3=c1nzȈXz 042=s<3ۮ<|Lb&8f)U*\TRQQ&)]HHnDnxz+XCMh85^sK]mxKޡ)lfedRX!gFu9v@a I3L*fb^B:UjUpWs.K`46GKy nb}N+ 8,1MBalo# &աiZ(6&qP3FS^H4ȆZmE#hqtvWcu9pP#K0Q~ixOZ$.lhTۧL#l6cX;S6/OVwOk  ]Fp89M,wLʪbZ9X98y8*SUZ6Zle-4GfFҺ׋.sV+XPTI3Ґ:0&Nׄ;*/Kj`P {Zx 6h(R`qd^sNajPjm$f<7DUEj +jbEVj9O [: K lwbh̏]l#1N2q0buH%S`CbMźJXՒ݈ISXc+H S* ([ђLJA۝!VFsj\ƩqQiUkDX+1GJb̰UJˆq6)y z,t'2`q&Pg n5!˪ؑRŤumzĤf0M\H e2}iX숿$C*fB_;;ip1c} Ò E [#QqA[>dš8or1V,8QbqA0q;Vregӝ#9;uGEPAvO#RGՋf\T]bI XF,%aVU"(ɣ`+kJpi'V3v0QoE+WKJ%3 yQAV}eEDf F~LiJo`{aКOggSѮQ7fu#  5 ,R?H**FD&T73Agʊ1bU%QM$>JnN86ZiG-nyZڨ0f }6l̲ J+!BRYP@rj 9 ¶6(YlSRDB ^@liuC2,!6osݫhx^^A/ˡH'}R! -P;EҀX54HH*R6Y2i cި I6Cyaq*lvlFh4 f`@do7] V3E675>!:u~*7 hh8>V 9TңhddYVUUKԡWvFMb{|o-=a>EJؔLfO z-\fg,ޮEv,jmlhs@dTHT:sJjza@=DS2` 얭"qk 0Ev<* YU5q'ZK=5]-ax@#s+ i*ٙ_&kgX5fiur嚩34QhsqmBciõ7rxQ6$\)6A+xM|r }DMY̪Bes-]Z$ :GTYDfnߡMC6cO.Zoj΍ur.R{JMKm[cr(эZ @ 'RK-0Ucafه]kJ, .k@n ̀s9c?NB&Gd>sv7qoRF0UEOW dgF~vfb@+U1:y?6P)j+mY$$Rյ\aJ& :Yբ.. %ufZ=lg"!,EMV&avEYCg~uZʝjoQ2G:daJz&w枥$f1ZcV)t<vJjulalv 8;Ԧd8n5c4Z?ߢE%PR?ZjU|[6ߖnmdժc&MNڇMWvvTfIJ*WdY1Gfd Y Y뫭\a/N5J^T$6⸠3zkF1.ϵfc. @^D&4`msrU 4 #ȀfFVj!.H=WČ|3Oh=(z'mS4mXTN2mlY!(m@`g^Ĺ!AUZWFbh;DʇwǴܷfYM@k8+ LBo:r1h\tMxݾ`X[ itzF[n>Le2A3 eqL=, oQ#(Oa2+nrYUUy٨b@TqP]11"@X[( \TnaQqDg z:'+d~Y[Miii*EomJiBHWC_/-.95C5^p[oPٹ;4V_uF \SZ><9DJodz'͋ꊤ~Eml5Lz) 9E-@ rے=LsrUU@Ac֘rTbX9y*,R\X\.2 %M- mu+X-d 9iQص4Yc Ƅ$" YF&@fgĩtUޚ@~rfj<^ҡi뜖ͱf,Gxj2Bj]25*]mc:i&ޫS.Qw)\&&9F̨,bӌl1$Tu$+(cq$=L]t?o\zve5=NTB7QbO2 ,ʋK 6` b6ye,.IE&0 @2V\S,/Rb 5^,+n%wD$ 8:{T7DiC5k0 痁$=f퉐ucwh:hF pWChYiZR6jHn~F)9V\C,gffb1ƜU@FI6RK:n bMYrq\K^'l\>`h:.׹d2rr=JB1fҩ4`JFrdBhQ ` 0(&0` `aB@;S!2J/L"[Cb22v@!0 G*AFc!ȓE7eaݻSKn5vY M&oM0q}&dd<I9zԸZ@Ǥ#+a!r}zOggS@!ѮQ7^x! 558CDC-Wuu 'k r.L(v`,QS1ƪ&EVC-E"mUت+WUĦR%YiuDoum,f)aY(a p]* u -\p.vgh!A4H S}6REW*/M.jY0), H+u>%3s_~ΑkaK ">*xbJwxX-&^3qv ]8]hW)R$ +Q@xZq2Em N##: !fUWѰR$50rb t܃V/Xk_ͪJ 8 Rщ<sˀ#YYdLMl"'^?{"@BW QX 4FnP)˒i@Vܡ-⥀5XVb04ӻF5 z s>OI1ng3,:eN[s& %xm]'> 穠O 磄u+pnBfN.'8Vbf+dfypްڋV^iUbB9Z;)ծ~Ӧfsl0@Cb,!rlkJRR )qܚhuձoOd-#8rd`(Y7aP2,z;],FVUj $%gFrYeXY/1_J _Q<Щtlh"=BIaJZ墰W- wR/TY" dYԍ(ÚE옼l9=cVe q-bwpnZcs&O;UDJ3J7"NB@TkT@8 AR[SsY+5VQf=wINЄ=#Ȍ}?~y2~_ɍlsyxzc-Ԭ&eY)/FN[,P2*I$yB.}Mj3)fuOU]]@Dpfl:; L\ɂKH^!r"!n۶ڶ-L] QŒ/hmJ]AJ LhR4T[*b?P)`rUizYKgJ(Bkچxh+Jn\c<KCS.L}M 5IX vS^q3V$U:ךjFE:$mhd]h^]ɽ^<p~Ó(Zri_wig(CNjE$MHf dcqYX:U",Cf&Cj~ I%I\4/$FQ%~il: v.8y aj>ތ"jA0dJT*ulrj}{a⨑XSPenqM{%vba\v_('tϯџ@݋H1u, tuI% )CaUs>9<10m 'k@1s$!`lpdWWiw몪TD5,T%-DOL6UIJśt)$!iFΑcfA?[w>,Z3 -Έ6tN\MA6 \f!㡂f+{38U١JJJ2|Bz=_;{}+}!]^[vy^Qg>'dNrteI08+eMS*e*+pjWkwߘ^86bqHՂ 9`X,"r("Bփ>&"'p26h ⁶Y.k H/.[[kx:uqAr%| ;{F)*-$pUIܭ`4 ɑo W\U@&Ud7npZ RSGѠĴPc=Z5B~z1Ӭc,A&EbRKv4zU3uR74s5}h Qyh}f"IT@RHt`d}j%Ed~YPU  wMa[Pӫ.>NKxfoet.A@ 1@ӿ&@PHD4TL^> ތep1 r1g( s+V VXUY}+쪯Nz]C*iVz i}hϥyʛrj1KU]7$\[0TDNcFPej(j%"rc T˫j%NWl4gjYE%U BX$`HKFս8y!.SI+!!Ta{-#i;# X& fuV@hz+)޻KK1 ze @Nm0 UU X QB$bI*%GFNNVw˹̷zb^]^ lWE>5R8E\ZKlIK0d":Ω)1a )Wd0 N7dhjQ- u_ & [6HDe/Sz;߃vߪ1N zY~.BUK65q=O-mi;F^$NC.sR q[j\MMQdff/j@0H h* EJ& eV1Auz-WE] FD q0 $lHۡ2{X!mY,JȂ Z[TJw #:>Jɲۀ&vBR뎓VOi\m%DrT-+TTeE,|T}WuW{IКbN09X Jk ՕJi-'4RZE0#Ȃ YoZ; > 4 WꁤϷv Ag%T\fIH]Jf$ v$dzE~g 7{װdn(*L77O* /XY !4m0]eȕY HLj,pQ0Uyat#pіH}+xSx3"OZck#0H,zM$(G|e^oyQ2;j'fB 06CgMJU7m xݎ3ЉrDŽ!,f*V 6'"1$GELGo0'5CS==t̪*ԠK5v=^gQ͇d6"Wf4o3AeSPX҃%fA ΅􂥰)t*pTLE.yCckgK"Ob_hpYS =wk.JI^: s 5h1[#z3gL̹dkejN9`JVHȦcB,aXk`=rH+ A'LE%Ԩ6W.@nR)lXFk Rܯ֪2SKˤ @]k(%WPଌU +di0Ȧ@QTL'  ˲, $_`04LX gGRϞ*'@ɼYq[\hZüS?A Yz1тYoH1"/wd:W[ҔߝF* aQGkÊPOhFwY(P n&t2F9O: VeѴ wgMTY А2A]FݎxQuײq I4QoTjbUTj ɯ/Y#WV1uK0 ႙KD(n0,7@OggS[ѮQ7=(0@CF:CBE6BB>02/.436F?bp-ZL|S:A|_Щ,Scx CLB)ݑڵUV C}YmFWxd?#$çia\t,kz^94\o+u~!S <[mr B(Ϙ量J'%!լ6 4HJ鶝cCb!>DQOL!p x>|H۱ `*TRg4LL$-mEBeۻ 4[pL@l?@5Ln+&H(H=ol!%eU/n1.F@2z$P!xeF)ؐ\U9,6lf>PKFHUފӇI:jzq4,VFUQhF0E_}bUl"k#!@" qQ%c-8zn 窚6PFqNyV2FL}*䃈R8I k y=j-aO]nTKՉg"IAkOP_[8{Qz6kJgK6/gV;+ũ~^Hqz>jTJbGzu+U(Z iŪ{:42 K(mfo[e*@xh$ƀ/^ -Dƍk zR5:茾Pr8WcW ƊNv׋s:ZI& xi3D^ ]VFI-P?of%swM#DO2^,!(⢡W ggF#&3+sU%9WxJJQ% [-AM! Nܐ1@::mzì+Eea֚"J+MQ e1GW$J8a&!J*0˦Є`TAl,S%̩܆,e 2@0ՔVPux"{.f?G~R|eqT;`Mro: 18RL7">EFi7 X9gT̡$\9sPB#89x1$ơRYp#ZT*HjR[/sFHYJ̔lKc":CA HiJSa( d\1O~ sQ&Ay'M[W녯˝zo-TUŦ>rTl)!.s ۭMCIC}*S,q{jHoZގJQgW@$U.`Tj2BpӃ(; MEΥvkacU +UA"M1$#mk)ً# KTfHDq(l'`L`T#2X{c]ba"hҀb1Aȑe0?}p]=_FN,DXĎ+5E j F~*pX d?Ai5lERgnS2*pޞ=caĘK11VU@%6$z7cwr[ի%rXz"aE|1I-N]V (fa5,Ӻ!d=$]Ruj#`qɄPzNd pd 9*@X!ʁI)IFeoh*~noK*=] {ntmS.uN?@@mFv.׽ovknLMZs?9 Зvw,tosUX jGfLkmh)f-¨>a}zcBzpW=|tAӲ\hB#!#bx˱H1{w95L4E A+L(B$#!%PaPһʺX@lU=*j\NG-5!FŻ|MV:nyN4j%@flul'z~-Gpu5'-l;ԭp^x T?JP ߮k|c7l;R)seW7mʜ浬Jؚdv\b׺ا @ `e5Z8G a̼.6\\A(#:l搎psH'{R@ XUt(~lt&_li?ymi?}TV Ҫ^F&҃EvO,1kI"4MGPdc?(M YJ>@+$DBj.paDm%%TgIVeI P4 N^ڷa^8Vg 4\g%f*E +挡/QeKtVm*ITnXGתZոֳl]teuJ}>* IҲ^&#IjWk7~"J[4Mu*ݬZ;6 7v'"#`O#劓Qt/*e )u"r*ֹɉ9QCXQ\XaaHzVu"Vtw Zh ;kC!\ ^fOu[{ #{Y69*fspĬY$^8jsd6Y MoU"գm}Ⱥq33uORs׮d9} !I:X=8(ʄ^Ԏlp2aLѲe HTv(3M.Pu ZOTMV9_呆K 5P U 6F pp\(1h4Q`K}M"sF\Eh`LQ=#BVe_ZOggS@ѮQ7M! /58B>?0/D>;^- VWBxͶ )S|ݓtҕVYeahqobP) iڐ >0ڨi'+R[TE,D4V!Y$$),V,ͨ:ȅ5AhU>6 YPDVܞO"sS L38 !!b;@%,"*CSu;/c `N %ű-ػW@!W'0AD ~*:PNQA1ӁRZuD aTidq{e:I̭,<@ E`bZdm "Ʊ ["FXaCvJL%*' kTrY$h^>B$=d&7rYDzӵ&f"ĻXb V-.uZ214a/B-2 l;'BQ)H (ӁC۞I @Z-V\MBيR-fFWQ-ی"ѶUSGb|k]ȯMvKRJQpmg,kϒHDz4~CjuC\Z/9h7sڛnߑ@t r!>%xGX<ݶ? sf\cU Ƃ j'=BmT뉕/FJ1/X;pP`f: Ŗs!X@֚8 j- NL BRa4ϬVEpvjbJNT]$0Ş2ua4 <cxrH%j*QɆ|`g8 +¢*U &a5*r(8cKn[ ̽u+mә`%(XXU9$%6aɚ!0՚&H *r:l1*ݐKoPdTӍ`-FdNj$'KA,%@Yq2^֒] ݕG r\2@86fhTS"XP!>B~@%Ŝ+"WeqbXQ$q ylQ\tz4CtN.y7pZυXj<~%2eޣCj~`I(AvsХ<cU$htL>+*Pb2-\qI+]eFq.8K! s_R;V"+Ga "@PQ* DȂԫMAG:3JK^R|)M` G1Yr1jz~͓WyO?00ATJ"e˽Wm2 *dQ}ygM4",yu-dդ:$ILAҖ4>UV]ML@)vqxTT썒Ur<@ @ ѰO>zUQHQ-$% *ED\m8ha*i+T %BQ p,MUڄ4AUMwTQe c dY#Z+msv( JP%PL7PXI'VC2= ,XBVڴMWkۧz$E57lFɫgsO_B𖋒*zJap牒*HMب|>P-JGWbj[[m-zUZU*#sZ$&#Qz32 !XyY5.WERJ1hZ].JTeXTWD* Zse\VnۓKlVPZK~241WsDSij1@2V WC}Ҏfܝ.Ze$Y\edfx}^$T۽6 'Pc^j4Y6%QDU*IGj^|[~[n6#> ָXHuS3{OӨ:>FtiAˆB \Wq{UqUSr2h5=4jJө.QNG7!Qx0:]n76i +Բ 9*YԜ" c9c*Џ%;w2qJ%kZBT)S|l5vVnA**覚zQ, ayR,IfY8F2+D 3&@!IR]Hiv) ʔ[QܿVΗZN{7Bkfޡ`DNFy=7 TX=L#aNی.!hyj: U>[EN %gȋE$,PK!p tvVjlvY _aJrиj!e'DIPQvۤHVZq,24DK4EBѤTQdd da!bI$kdJ+Ƞ̊d֪ T"Y & 0>{q7/)#ӛ ĚJP~B\wЊ—N.vjOd*:-`uۯ(ZELYjZl NXj "fA陙Lf,ƪ1dŰ6 >VbQlDkAslIUFNJ&BGwE!`ZV*baҴvm'f-{LBGĞ $ J@a!8qPke0nFb;InA?}E.#5yj7FB(Ђo{,\$& b?0b~֡i+0db^%L=ԒQBtPK>,h!M&C9\jPSlb"a**}L0Q9rO"թKۯYlk;v6 Pb ƘP")DlD L 2ZYC@JgTZ[E21o_O|mf}^+=T@QW .x)3 }?WxXe*\jC(zj&v+TUj4j~JH9t4M#ȱW$Xl(+gP5L͂dSiD,FP}%XdWӳ?{I6 X%(ibr2S*ݦҤ@E2 ,0X"N U`$^UJ-!8'xYhiH)5[Dm|ܳ;~hd-Dc%"׹;nТ%[`|+c۵J %}B/8:e+xS, @eL$ĄFf3lUU@T NfR<})IFw%yxy^]_\.Muƌ Pe@+ePh(I0 M c(J dFBdɂ&!cEp1YBwoD!xFB\XEvXhDJ)"U4zQan,J5%^]Y1,4^d:$h1Ŭ;OggSѮQ7 r2!@><(!24223@B: 41/^: e< ǕNr rܕ PFPd&QR[ŪMH*4b6"*_G##){B]Ԯ:XتDJ,B9!96k X`Z,fx/# Wzecb[/^<~!~d T`F,fU*bܨQI]5R3uUEKl+n #u2Bl]HuN) 2ج UF&ec VF1 ]YrС R}4B)G/Z>*<RX1P' ޚP3&!7͕Wi`HԓߡF'dC>J]Iظ`TJݵNxQI !YlĶ.Xk5`&jQY%[mOH%(UG?~$כ}:v TG 3ǕT8&rl.KT;g*F7{jD `#y*%Ji/u]]nU2&I(LlW+jJ/oJqBvzf ŧvYyɓ;eH= Q`Hr}sfD$_^X9QP[-FfNúzfsU*v[1?qI]քUV#&E&QPKcӔAQC~b)ԒLU֙Ь+Pcah  $:2U*ˡ.Wh2P @_4Nm:oLy}vEv{LD UȱZS- JUUZgҶU@d (Q`0hBʚr8t&i۪-4S=Si|'Dm U|z-Ԡ?|y&K~j{4r`(ҨNQ[ue*`H& |eIQޒ'ǽEu,we44)ng33WP=yڦ{pOo^_WS$ʖ1^ֈ\=I x^H4Q'0$ϦיW {/(4Ʈ;琊/t4ѧ>MBiSծ4.>.Ejȑm!+?.hG%KfUD a`>v:խBQߵ@S@AjoE'WX䶸eZm*KrC-, *0-WZ}|ykcsV_s!(ݕM̒ӓğ@̴=qԓ3 i$"IP.4Q U ٶ B;ƕ窀'uEaUw %.Oou?4WtG2ę:iMk㪧K7~L^'5dqFq&PF,beʊH+v*{]z쉡i ^WAؒ`:ǜIV 5ozLz{L̋!dL]3wL:fRWw)r{%tvqCT8WenL5ĭVĒ1k_ef@ _YTw_ "W"X$-'=ѐ`Zy|HI+TЭ8b2hK^xPlյ-*!K;=}xJUCS҅j+mk.cJC#[L\e, kfK9HKL:YVUen̯_.C'5uGrj1;DbK4{m1.=vseZl0j .u_v1wإMM̀!J3KZe f N̰ViCbgk`ɷ:\""29b1KMU 6WͼB1/T>}W&L< *,/Ʉ|׿ i<v[ V>w8%"5W%Jpd]j\/LK =F44X1nl YȀUL1 LioHm(TUUk2S&0*mV[%EFa$; U* f rR|@ԻQR:$͡0) ZYQ62evI[*b " D %Ł]3B=uHwboD>xwlޅc"^jh<$UbGnU4ճMeMd /k2 [ #" v,f粬jQkhEO$ :BZ"1&a5c+vMv˄-ҩD쳻eJ*ǥ-J8VvE#,cB&Tm Jۤ$^]Wmz?W _7T|"FLTnd|Lf~2 Ab>.B/ALAKH;`:ٟDSW*6~ $h 9&0X!g6!.Dp2w XUkQڈ0 ъas@dh0&U mp,`zSJ +A$2 A chXA8L.l ZRU*WFN8xGHG7Fg_!#FEpO0ԫ䊶GR$hbfI0YEnEcssh]u* F\+xNJɕDxXlagffX.eYHœ$XXBCPZU$,t~!-[p0(IGGa1VbAM3^a C\m!bd`A, .Nla@-œ2ilb€(FC%Ҕ<=-짹dk .[T;/D`bY BSTf9_x|mmO{2Վ?*P=JK(4Id[b"DP$Aq"=&A*TuU! j<[y`RMݍ֔Uz'u0ѰvOCOggS ѮQ7 #03<< ,( !71E>>"T[p:m`8 `9@ #1e!TPrd[Xe[nY7"L>E$&@+]n%:!(\Y*n=AfDihvIƄ0L 1"^V -BN'mV7t[n[ݩ(!;$mz mJZtm8':mSV:R:U !ԫP/2n%УL: Xf@=Jbfk͛ mBܩM AkyT5ϻ>?N1A]2\M'l2KxCP&I*28M p 0FfD <`uY@X"'X#ӣmu> ]{NoW! Q[Pl__z*4XxU (y.qvt{Pv$Wׁ+TWY >Ŏ&:ft@9 dҳgfCXYXZV*aƪrP4G^ Xl L"o'[h)HAV,GQbƤGiX (ҫTZ1dAC TBCt l#0!I.BȚͻ*1[+v-϶].aEr!|['HQa{< BA1?4a#6RE BRu%cEVѱ[Y.hC"2L:3b*n}V)SŔ*U0$4W5JEvjuoJH=lYVJ0V2 k5:aAm HA;EeX#3B@ Ƒ(BQж2% UWv[o$4c⍔|SE@İ>OxРxDBg R~8պj4HN<+UDp+xQxdYC #KfR(XU Ub&9DL귩c`pmE+w*7޷]v-=G/Ԟ129iPrhilSVĩvչb"BNQҜ%R2MY \L9*WӔ$TMLQ#8cRERZ S("4"l DiгJ J;é#5zg?ykztjWo6R!(d3d^N19gS*˷Ol9[(l1¯T5.Q Z-DYEB l=gvZLlU d;-󝧸w|xj~NQ)..ZU; 9//uaBXh-Ц=ϧl髆O:e]Dݔ4bR+Q4WiA_IV})"e -VB`I,^x؋ dH ^ v쩢*QbٝWtjGsfZ2e]Ɯ#G+Z6ߤTW\\7ҪU6Z% $ CΤD3|HrrHt/}$*VU-:$$ fM`pQm]E%tJ#tE3RBXcqU0aqPY[ IZ~&^q•#7.=kr%J@UWs$gI,]*rSjcTt 0A6ButdJ58u`+$~wyq^o'hT ]?4rv;EkYю,^dѮ>ueY \!'ͬ5lr_%At!&*dA+K:'vժEZ6,unVg<(.c* l+UU+B6i:VLJ&&i/YX9g.Qֵ:L>vƥ LOyUVJ!X*ݰHɕ`cjYR-MRA%"i?T&Fr8ˁq /O}zDAmdjrQCsqq_v~|y,Jp=mŋ,M.Mc L( 1,f9E㜝Q2(JjO+~,K)LK] SD$d4?*4*nxAQequ%t4MH 8f J)3SxBK5K9 vT=dzP㸛T&*D.(6sf7T?Ł;IJScbYiP2bpHY&H#$TzozwppH+0ʻ<緿h 7q<% VMXZSflUX joPX5: +T@n;`72P`. 65b2ཧyͫhD;r=bZ?Σ{ծ*o/vD® 3 ѩI5WQQL 4Fj4!fiu0iQ!%H< ^:eQGp<:ߒ%GI*YNsH64V:]˖UFrI1´su#**RALhE`Ę1wúc3 WPE)X xT L@e752-Χ);M1tq4; T5SWQT.(7Tlh;&aFXE-/cJ TQKˊH@F0-yNu%m,|- \~1F(c`u+xg2\sYVbGhը&]q%[NO"C::5V'VCrr($\@tJJ6e9Xzh G3nC-O`pmR[ f,ҵbNu*N W+s8I o8VjgAmx/W]>;9Oc5|qbxFz@9>'N߃tQ -K8I'F)IӤjN&(bQ 33(\\)zJ%赭z'ҺbHj@i}ҵqȥT{yU+F.c2.8ΖrX%! v9Rʅ,'bf2"Tv4"0ƋrvhjFR-$meW0%ʸUR8KAXHfd$LMBJ1.?ųS#ՎleHD_i=ʾ*%j9O3!b l?7*}1 37j+^DvJY /Ef5ӝtbY.cRŖ ^՗Ֆ.Um%bR?RA}z;c} /7,M+x2qt?fpEge!Zɇ<{bEfQnvcdGz(=Q#5f|1 V;R69d9Yʎj׉X-Fp*p&$0)C% Κ?lG&±@`D|) "&->D@ ^P6aCA\YUYrb ژ,zYM,QT"55uJ]>8m 9iu:َsOo WMkZ4`J` C.Y.9CXQٓ3871Xn `[cu\6 #hE  *iW+wI̓a_*Xȯ`$7 }7,'J]!֝ ŠcLXn[`SYFע$5 n^ |BGa`Q-!Ivfr*%P3HAXeUdz.IPQ7jUKWҮkA.!\PwKD*Hg޽m; 0}C *vҊ*hdVh*.gڀ,ݪ;;$LFMr?3(ZRU m7̣xUXaAlch*Z~c}1a8Թݧbi#mϷlZwۙ4<_=C fO]PTb,ґL2:jYjEj92edow$ j1I`YՊH]-G'*XMut1Ħ.U.+]m;qBaXi>Uղjz!EE;Cꖒ*0dX,k)ik㼕g<"sl/^xUVX6Y(t|~C%s#$6ࢋYC!n^T ߠb枎ʼHG o$"Io]F`LmR*Q S%xUYb FCit\c"t3V^Bj%P߭JRN aQ .]X\c* 23 txE.ww5FiYA >7Etc0߅wԩd,,*;,֌'zsM]VE-F;TZݖcNTcΠg,R2֎AcֵHUe^]#VʎX6mkda~e0ߪĬ`aJJ[ᥜA[I-_xT^99C\UIj] es1$ v#v.z=rU< Z HumģAowj3m :MR-C3]j&+i;,:melr5\ !Ug r!Q ee$+$,0E gv90+.HD-HXUY*QZ/it$zEwC4Wҽ@c&#"gcaVY[ԡwҶUU)tlF>,$L҈zCaM$!#LkQr&@P N9Wr|u$`U%FXRg e54" 8΢]v+hXgYD&YSئ&,#A0DUF ;1l@X x"0*PZrjC+w} _I@|檸/Gâ.Zôa# y~Ꚙu=fKĊg8ڜ QM NӉRmuUl*9zNDr-: F%aXXUCl%A㈳AMPHy^3VfpCPdFҍT쮔j(*%^HMӶPhB*Ք*:WUW2@ݤKle j0ТlN.Α  zG uU*[$fNoF|!Xή]'o̝Ñx}º`.EzBttS) [p.Mv*IIuI r/O:`|.LB6z&($fbUeYآPDҬbC)=[9UJc[M=qN: C rȫc"vd>!axC3)4ae2,kϰЁT뉣D33Y1\ʲ: zHp]fj:ꨂzl8xm^viU:u82Cy h&d#qM#ZBr, ӌ,UM9Xk'dQe(c,'`O1B?iahY& )E#zSfbK =0/^oZ= ֢Necc_% 6O/RzځM 3!03}!RjwO.8].SpIn g=;5!W\YP{Rh*@b[V*Uzܔ\}&FGԨzuxW;irKE*HKt㑭HXZT1짛`{r=L*Zs9 Rzی9OaJ2+Å.0YKTӛJ$aT&H]+Bv`qX)5Jʸo^u*&/-õ.w`f}]*/fa$: i=Rm/*ZBKvʕYBp5/C@٧33,uVB(3겘ˑrPFV1dA==~DED:QTR6*S hjU(^ҖkDZHw_e(K" ( ČU\@ִ.銕K覝$X!Gq^V)Fq]gEL4*zȗTGEJ!纜w:X#cCf$DsL şW#b` *$TG<49i }#M^?+OUD\"׸ZnMF pg֗mŽbX)Ex%F9fzcRլVj`X$R)LJ9BncD-YՃTGK,<˝e$ԍg2oT.N q&aIZPk/6  -5a`:dmBl,NE xc n`GIG,g \x@XksCсA7Z,֩eGX?H[R}qu/zWnvN=ҮseT:FSEXbxٙTUeL3V( e *bd[U VI;NcH)lִ̤Uf"+H GXU7}=s- @}4#q֨U9!wFpEUjC$^,nVT,^fb<$$EeYGvl!8 <ԹTcG2La>mwrjaT*ZO$*Ho̜sߞp`zBǹe-<*!JrdLvtmY);QhE=Df8O޸؁uJJ*~5y];n2]ݒ'aAJO25P wW.2a]зץl~Kg4x7ϧ9 WYHTAV-ݕ";Xa4^|[.9 i.U ً5&Sj 9cV29N7 HMz\[Tjs:`ADݭK3=/:V.JTڰhvu3籟8sy(%][#G!s\Hb Zw9?qyjBl^ aY3|-^V饈ht(URAxZi,/G/mJLa:=t!w+A36"k "팎RZ(u:T?1Z_M./"4Ѩv~+N:+M&:t&뉌@=K/,U @,ڬXKԆ8NY194ne8-54c6mjSVEkKtRŌ"p#XX @JaJc;Ŝx4 #y DdEt,28՗ݗp(%,\@`$U*[*)r)$x*}sþ㌖H,Z&aZF # )U%v?!n*Tr^!Q q镝U2١iTsׅ+4Yb%cg5"J-z&v 6B @ڸ%cΙ썍ʑ{]QNU-k=9 idBu? b t+VaJwEGU.JdwJ 0Mu:gAg ,ۘpV=!B*P<˃TtrJJNx2{OTS/o>Jxr*L`i JLBՁ<ڬ%9WUq+00*TatUڽn wrp֪D;Օ~N6(+ysI*T,>j;e(tb*r_.^0Se-UdDh dDer  0¥U*PhX!lhjrRٖ%I) <,~(H`nڏ§LEFTx2.L{QuB8<&%MJ,U @) Hj'lM\sQKIVU*B_$C~OggSѮQ7 #j*B@B@D?A9@?@0,7;/3@@90./4@; Daq(d P-rD`Xe|S%A։1pʡI*-=(X TWgd]ea6.B$.,|S\\JotuX^?  czV-:ѳLcied6RØ7ҥs53@,0˶Ve/eV=홲RBDU`Gw'2qJwGuBꦩQMaHV#'tʊhHT 4]6&K#۟d.DS9: Miv߯cmoooIB[tRm&M-L\LD65e ҴۆAeADMt"j\E^ETnEYv+ MTS/kJfHDNnشWGL,{E8T/亪Fj۫ w(ueHu:\]Z1W> EՔtt)*5+UW,6WjF* Un4YtIKI P{)莙e1ƬV^OT&WMK|[Y_}I *a!cdDaX #=ݶT^Xlee%s` `hתOJQ lmV*JT26ESճhlĎ {vg 09߳٦ÁG( IQ˱rU1JI `wCM4ZBp%&ܨX8G4ؕnڦ]P \By #k푯OqG,*hKm!UXG8kPM M5Ҋ@!B7Q:'JWRej3}H+dT@%iHajȳ 6Z[I<.Bq"%a`HTR/.>&zp|\d#`#3d=Έs+N[AʊGǜ ZJWt*I4"A" )W6DRE`9#$ U)AGZ2XH۳V\`i BDŽ(h%`yRJ- YdopeF*^8h n:0g0C/ՙ!QЍ@\bTSn*]!=WYL>N!G,@3>mZ`={Q*V1Ӵ j Y`"b V(ݦmK۰H_[qͱ;:"W%x}iM V,b8 v`Ԣj- eN-Rdx?M[ W ^XbYv?]s &FcMy ~M7b휾{&L6@OBQL޷5.Gd!8n&c$TفMfF@rUF]k5, ztbE++`Z `uݦgo,R*B"BW D84"Ulk$[R)MJK /ED.S1j)J5EzeѾvtRaGz(:3­Ӧ}Dp5#1pj G dD>f2YR =Hg Xslʃ$Ib9$&'!L1ATo+*8Dr]\xB 颺 UR Pv  AJO@z;U&@@@D`H,p`4֥VF2@DaHzQRIS(i;qUlĂPס8A՚&RuUJ)җAH+d؃A=n$d ZN'`f ~L^N`\x=Dַ%J0\Y : 5 [qPb 0A(aqAD7P=0tz ƖqABu ۑ200FWC)6aewr#((Zb{ w$@:1e`wIX6]-]r+iNWyna8T,`z|B&'ŁJ.$:S NڭPN" <>/"xsK㌀663,+W,f xh$HD " (1"!?#a0Q!:|qUݶVBˈݍCFϴMm>`B$"B#BjZ0,Z" hL"|ֽ|IܯBdٲd0+^\]LkRFք !TeXBpgJ5~?޵7W-MAB?˅^,>/: dVFćOÛR̄<98sr688bՉ#b"B[ RFBP BEC  4 /;HMuEiT6ZPBơhH۲$ ,y*X(m q r_ =f*m. TխKNIJ;gm5!h x.^ |a!&5˘H*׭%,/@L`3K؃r媕@u.JB-95(f4 Ji1Ѹ7W(MR:` m)ՖDYC Zta80@`)Y TF,hN@ĴfJQDg/`):B|z[.Dv+TRl_a{^;\\:xxc)"J O \a>}qT s*%ʊ_ѸH`Ţde~㳲W[OP!kbϓ}B׉K/r-W4ӘW3)}՚@pHiVXp(BN5jH .RJ]{4W٦ʒ" J@MҦW4QQI[݌Bu( .Nަ$Oag'?@- @U ^4,KtӶݴ6szLU"`*UG=5d$a XQ:T%>5= Uq\_: `LyNDe;&+2 l[AN-t4N࿺խMhR L]ۨڽ$!0a[ָMɓj6z^3T3-2<|}(s[LJ2L6V@6u0G VUiTGdTUJlU=`X!E4J"ԖGTNRX;vEiJWDaSBZh{Z~Pc\G-iզ9lcxG6F!I`8E Q:Y6beJ |:MH>BW>cF!|iRtkk2MQ`ըTnS1rdBpz[et5tKٴ:ۭ"ЀnpA4(Vj:uu ![+tҤ\51d.-i $Άi8$ =F\JO"!B$68PH XH e2JQ5kְiLCKDUXCC( )D`̚v]t ȚG`hA2h t*{k)|eXi*@E0dei(gREJګeRmo+|7[޹ V$=%rYbhIObjZL69FA2n!Q쮾3Ȑ5m\imW[T--\#B(Z& Q-`];6,K3dVۜfU\di [Zh* -І@gB)cdD\ Y - ( `r"m.p7ڪNdZ]Ԥ>hlDJuq1j2O67f߄/FE xOggS@ѮQ7~$  031434@<>51>?ӹO+۽A +~;µ nQr9U6֭fS8HDc"$$M-+SVW[&* vICM٣bٰvb _j+AYJQ-EBwXl,F.2U.5Ncx&<^xA|#B)=dsxDE/ -1U'|-;& MB%~qgos4׮ !6N۽ {,̀%ˆX:76Q3U Kl*WLlbbM: Bb=m*Q$Lb% @B"4A) )!6AaZ!iFo8r\EB"0ԴP#tV#&=+Rc MJQ#qZNj˞".lL/L=Zsvg:\a䟑4I*JUmoiaB89w{H& 9eTC$dL]:bIM5e bdՇ I*SiIKrLZO zp͢ $ `B-CV $&{q,bB9`PqhpXvHp)f4H:=m҄3/R5TR,;nϥ^Xn-Ǹ|~0^Bd ǯrzU*]I7F#jBsIiRjK\mxJ_|C!Gx `w^",K1MѪ`65Hl+Xq%QmN%m5P-4ئCDl)0-=Pϕ9C0$|bu. U]֝\M^(߮S b qɘ,bbu*M$X$7A$،*Xp6r/$t4]VPϝ  "XjXU\ބOpA$jCue( r#3Ŭ*L cT`A Q")ճhG ; $00Ł-,BaԑZOpz9Uhj݉"ь`0*D!pU€.\ ]Xt-!h]U">TGV@Bu^3HTHQ&C2PCR:ަj\CЏDTBPhM\(%D,} ^L~D>6jǛfdeD(J`2%,,t TF $N: pK!# % BH$A8 \I*ٌcFE IgC&Γ˺j.s%aŁA8rtH‡{TmF"51b4N/PM7PYu^PEͭ)gJB*sGyN鄎0t$ ]N^_v;MVw/`NIGbŪlT% 4բ9,j7lpzaB͈ąDH$ mNӃge#`B%ꖢQF6>>x+,@Fx*%@6 i@'[a!K fq4BERESZ+,ݕDi.Z]Ⱦ%DK8p",^Bױ,gyV(j٦M+ L[մU.]`CBUEDGBGgydh5Z\:Xb* mqkw+t ,K'~]I aT"?T__}œH(HJQШtRp @IҤSn$&Tc0WU&{ )T+@ ^L5AmBľMTU$TUq%SD$@QkC1@zgm0njDY,DG=u3I 5b*FTj]2bV[i[E%4J%Yʙ# p4/3X!xG{CsA5h$VŶg<,6Pi dB lgm5 "ס2iHUu+ڴڧxO}}LYM,ʔ@5AZ+̤J֭e6:U: ZjUspLa80 \dj@昅ٶxSJ^J;f\EDU*UiQש@j[ {lS m)e3榒JTUm$jYf$`/g:FIt:ém/%blݝ4M?ihmtY3pnA)r2qm3hm驥::nCRu(M+Kjh^*lKƢ )MIFÂ!*VUz_wtFaQD*Ut+;5!K BTniuGdTUڶ&)ȒWm|?CJ0!Mdp#GB/]D^Tu,1[elE 2m(*_nv A9El{OWQON'(VH-wކ'@7Oj !Rtw:q") 4O>3H2 ~զHl5 GiK0`YbU@d'_/$;a9EJ%lZnrzŊ֯~ZTPg @N0-$ usȱJz:Ƹi C?t&3z;a+R qpTњTMbKރC.ޑ" 2҂JD mK %|ҟiYqq֘NCXn2c^[`FO" 'XdF*$Gtr9c j,JFl""Èaȸ©TT^m" P _՛tKuU"TNɁ2F G (B %m eWf2,P!t0w蛩!ae6?yP?s2,pb9F1e#OggS/ѮQ7CRH$ :G;4%# )442163A?C-34?>=V<4zYhL,˪rYp`$=c Qzl –,!գ$&CwZr 2إȆ  6)4]C( ٥ 3@&0La+=pW*]l" _dyؙ\J싥%F7V%&F0짇I]͏E(H+zH+G i^}:e:E: ,Ԩb)&a0[aauk5b]rtZ̄sŊe#1D N/!,1FvEe2e{ ,z eŒU2rshD\$3ֺ'TU}RI!9D*&`H♗ *A<.DC' %J*WHEUu*D+d5Ӽ@\+Q*T3Mz9L1qb^'Zjl=L,m85af0h8PLN^"M ɆiPuLI"p$itդ#j-6HVS""$ДCеgRI+@,t:$Uui[4fo>lj}UȤhJH$֐&*^]D$i\"o#p)ư"ހ5Zx"=:MIĪ_@ *`W[$w/M|jnE۶-LWXztD%pY~ +YK4F$,(n$S:0^82 I`]`tߺoY_j3ĬDHE,fNVStYQUsDUaLBS"Ȕ*sl40Nru(,+N"NzEŲՖuj5t*zK6Uqjɮ F ~[we& (eV|_oMu7[K3&%Y>}1#N˷NlGlToչa\ۏz|?nyS5fZZJ\$Zj'բyt4'=¿eQ^驓PYud@ugV"*] o [2!T\wU^XFvzLE ёưbGkГXGhͅ5# ݃flgam`d2 0 Q%EbPUMG~l.>2<8"F<,& ͤPL!*Ɠ`d[Vbg=Q6UOJ^a$4m]8hl)Ȍ:QZJ/ꅤ)"ϹExy9{wJMEWXmLt C'ɄtչcߓLJSKĈ!;.ؗP"Vg^qjsa -f*A 2ТWP̷O._Pr?G}\׾ 6*~A@dB!V%R^\n2䀎J(*HDi2($8XU@0CLAtY2UYalvqZoJ-1^{Lݟruw8150 ra]I*TՋ1Ʃ=>̷ޱx}*?{̸[3:BY]TQww KK+TkʩвvY " [E`Tw߀Kz֥r7BjaUL٦2HUMJ ) "^A*.@e3y[ihEFʋwx2zb;=X\@؝b,@^e%Z4ຂUTBA Ƶs_2%-cG]b0 "bATB! Kd\]Āaƴ I ju-U;& 04SQIk9z860k({Z XH=F/{ 0Q|Ԟ#(!8$i*r>rYIyo(=5#9ͩKtw;S*S$ YdH m1122**4D#4z6.%Ąc[9Xq{<x\59 P9$8qʎsSs=Zޜje/+EWQR䭭jJ]U^_hUdم䛗ׯbIA;펗fg kBzwkAb&hKB8CƽibӔTm IT LW!MWTQuE`^] q)Dj :2gB\tXJD}dJ$R)1 h5+cY/aW!o_w[ y.LY`!ZkDFMkUDlZdYBreQo5SA#&kh]I"QV%Ier la GmahQ[SeDM4ځ 5Tm+!"JuT_fl\%r @V 8UibK M'>fcG=\__}zdix+-67޽lo(9݂JM uDC#zt]}]TɻglECkۮ~ 8j\ 5$UJz4ih WTWJO|eb8OLtv̵~iogR4]?)R'Bz*j4Hϖ@qa `J"[QftAN-J"# lKЇmcl,Vz$GQl4fzE52Tp%X m@ƄB+0\4E sv(SR2 7(BJi"A(gb;Ywѐ2p+vt,t|A`ඓ }gM?8MQI(_-0Z(փ76p[' ՠb>;%HIPKN #R+Ԓ&0eb1\yEMqNxT@&rl88HMh:jI(50|+KL]CBmR(b9xdjQWRA:ˍ<1ᗆ==.zثe(6P,[h~݈d@o}E[O:Zs"]:Z$,e@N:jZ6,f )hʲ\y00 8XDLAuZűj=H#ゆ zVR)9+BZJ (IF:d}o0HWI!KhWlP( Rݠ`%$Hs3"rd u j oy=Qr.-%uAPpQGyhv"z\,j>w]ixwv2CBҦW9U )e em)̚މW$dfhY5jOVS 6&E)lVX(D"EO5J"(pd1`D@4qd5BVBB8@֢9l@[~o4yXVSUK2+> 砌%2DׁĨpEOK7Sn=OsAzo LWp-dQ^ Tr'8 P̪ؽ$=I.wFajEm^Z:`G7m,× *NvnAɡYrH3ci3{.Ũ(F.s(*OHhM^8=wc :8g3uqkYh"2)1k:dY-Ͳ%rdPs£U›U8U9?u& ,w57jZN_Wnj3-N"歞^5 Fk2TvT`gfҙDq@n1㢆)Ck^5vZ=zqqʫ7ɒ>qzsU5wN| Jzҝ#V=2$32L'"u1x|=a7r lͼ$nr$.e OR1dl?wӤ2BYZ4O-l%[g|dm&3ddcԟѝ<y$zq8G5.cGc#޳S}mZ/39!jR#e5%p >L(`Z $S r#A&zKIFޫ*@&ģQOg)pktߨ/.71R\ewR<.:@zvخqKqNM{ЗQ!|dQUuKfU~?ǼᘡoaXS4z*:ws-5zoMtR֘qv@hQU@*z"ԺJ%?&n\+K^1j-^M^[v K2*o-6= HIXPZ v>ETrQ(s" wϒ`U$T/q'>cyx8:2<$)}TmJ3jղLXIl"$5j`)/WӾg8vJiEHPG5. JqǜZT^_,EFƽ-Pdcv@ I~X-$T'O$#މsIV'L:Н2/a"Npc7C #A`QURMŪ坏"L(>--Vdșjf E$ˈtFQUU `cR&xmzڧc# p0EPZZw"j,@P$FGXT0FSǮep8Y{mr"H)}$!Ƃ! rj4w>]Lȕ*$)I_RiSIw PSו2v]up.~{jJTsՏ[ O# B_iKUɋ+mCփɷp~(9OE0\-TwF8VCPjx[vS@ȠkC.jUԆ%ƽ׸'*0VG] #b6B%Q%fUec&1)!*BaQ߂ZzMӡȴkKk,qA[:PGCX@1*i8Fݿ*zH4,oEc|3q_C: pA:3{tF6Ycb dX^V4[#Feu_SOŅH+Bz7\i1>T?v; `,,?zR0nר٦_eCp\I.D&qr@wFa !!XbHG.qyF,  +EI% D0 ӠU CYB L~3y Yzk\{} m²Y1Jev<ʹ"OX2:U59\O0` 9vT4 ʹsm冚.g;>S;D kADHQbu$%5"Ea( 8\^qr.H܌+QDH7R13YZx,%Aq600,Iٯ=dYȫxY"$B|:$H*j|rt#s;m,5TCT]&47QlsE8wkomso84?EOggSѮQ7U9' 3.37@FB6655FR @XARI֜.)kmJie.kR Iy;(e[ G쬼;qe{gEhkV>#_:C@RxvۭPUPZJhޛ\ |6faxw Mtzխ(ZO\ccqA{6tf&MH* Zh*q)fǣb*,Ah6 6BڲztŜugϹsuN#aRJ R:eWEV51E.a(J 3C1؎]ce"iI Z 3 +"^@dך Zd ⦌[oUmUf$ $UݪX+ i6 u:n}wU%Z˝H[30GXptcӶQu:'aU* `s=ٓBUc5 UyzD*kdƋ]c3كE]&Fdjd7vE]yujip9nYmtP ĸjH2 ?]p,&*lR 1ceYU,N:^#zAj|Y +>ЇOi2$ΥtZ_rYVX&fRr LtcA/0L;I֮^8:V4c!%1QgH D3ұH{)FY۞g\"~ylTiY%F8U b**tXBM]4Տ|-,p 9ZZt4 )&0/RmIɌ'E-c]jC4~Ew>eE H=}KYJ0\Uk$ hDK~bUt|EZ eip`:XiFVPFΜb'%*%ƒj&)d0D2cL'{9˓q1U Er3tr\sQnic0V,5t)"y L\pPOy€0a\$ ;t-Yc13 9ezѮ`JB"H ~4&JNQE=\:;2&c"TVe0Ytզ\jJ$E͋b/ ߦd'$m4zͬ+u;[ʞTDSUdE:DS4`fi(B@]q,yZ)enHi{6yu?T/H)t4]m(d]:T_DtgWn#$ plOm|g[gMu4M UO*J'u^tcg[;=g8! /%(o' PդJ[[~LeDڟʄj6`U',h]/4sw#X-mRErjVLceagc&}4Z~ԏE8p.5"~ZJ]de*qa4L zl(:b :SZ3}2G0#WN4U*Yd[NfbFv7=&Dg8PfJaQM;GIXCuC^Ni*U4t!JE+Q\Zk&b eӬ%p@ `/B ;s,f p%7d#ɉi5lFmV#9P$cFyk_/KsbjԥIϴX% r0 $mFbơ'AY !% -H;!3<--(i 4$6 ރڣJؕ43*n(٣7UԎ[Z6McUj` ~s\@[ihY` JMU>L-irah1<:@&%csŪ*QU[aDfkX\ "UăI&fyjFй;g\H6h䒈AȂ Ĕ? jW<4Ȅ28JRlRVjn@wMK}YVc#deAo?aˇxB(Tuw|  B oNԻ}o+i[ fѧ(r/M>A.I?(b  `M›Y.4{8*ڋdi^ZmU\,,w}H$1FC@`d$0XdX-# 4-ؕJuB*BZd˱Tj;._ ;T%V<qKeP};mkl~O5{m4-؀c2$Y+vS͘д>fT[7gT/ 5ͧL5% 9zAҳl*b6JcBqT"Bű]ez-aa8m\nݦm*@knD"%S ,TKu tҪ   )EU dHBq[# (Py:nqg`VFmR6V\9vrRy>I=܂'s݈ gH '/2C@x'c$Fxk%bU9 wQ23A#1Tb+kGQ#U[ .baaRiC663OEEݕ=g!>H;$ B>{]&YZ4*@c!V)e`c´._ӟH#2V=J>$|]};Bjp C &-lq]`x;jvs{B9%.OggSѮQ7y) 24.1114ACA5BD*+$ ?@@59K C \+8N/@E L:`\$ǘ@fY$ƹS{a{Rx"{Ip# S72NQ*wXMR8`AL z^PQ݁쨣HF-GnZ4`VVPEșXɘ EP2]0]K 5T* VtWK*T,G .;*(ջĊ`d?IWͲ`F+v/u'!/I;SL >|Q (zT]L[ln =&/(2KCr+3XD X΅+j \a;3dU^O[P @c?,@2E5N䪄Rzi_ODFDgH"EL `Kv.A$Ȕm2&.LJ*¬zD0-JV"i,f*`oDYO֦옾` _Ȉ&1,>W" +_4׸ٰ窃U&pG۠E "r L93ж6EoNY'T|@3"_ey82:x皼+"VtA?6pO2M *ï7me7e%!`JɌ*V FW e) b ..K:SאBTXa8SU9ul;{gJ(0Z**cYtt=N !@8d)FY2Ʊg6 qx˓„ăjoVzðŹzK}J\ّé,jb:FЬ)to˼!V0;~HE+ZTN-5Ͻܶ.XY23YU>ۜPI]bU`8W9Re=@-F^5JZw8L[J JzV d-N@L2~;g ǰ1w%O)"*3A AC-q0YF1+ ݲM( &|<_V9,C5#+ú?0.G9ghnp=f_ Ifh(סԿ, .Ln%E%-N LX@.xe+zяH^:3 s*ppNpvB(fVWL\M iA ziAZjvzL/geE mӨp,)Ko"53ڀP$B])=̨JaԮvUj],s ^;"QZ P̚"²KTRIuw?SOE'  9,P.̝x32TAjT-|ҵs-,ω<vMsٜvlTPF{pmY(UeGUYȔsqʈ-mOM džQȮd3R,PR4~ o2TZ2A8CA*e(HX/gi: $I~yۜbߊYd-M:MZLjXBA$ @UT1U &}IdD@SpDbV4mꦬ^V!rUpK2ws=@tj{+} *l|i!UŒ*֌~h(gTf?I%sE*7㰼QIR\oZ uw$i餹S,Ytz8 2!%Hc,ZDg}j, TlyK_ B;ޕtSm^֮8#D[|lL,5_NLAEK"m,A-X_MVGU 12.3756AC \qaS]^bFqH <WMnNX7"#I쏻mnf,Ӥs gճD̵QFIg,3I0`Σ7RfjEӿX׽QbmByu\ګNST(G}( 6;`ᦲi.oǑ%EBY^$Y E4-T;O ~N,SŴf+,2 tthT&Ekw:)9p`UVTjԯ5ATlfghd01VU1 w.Lj_5Z\w ǚ#)J892B4Smmb8SF,c@4 ey,GaDR˶R)w%/b $NxL.Hn T$UFȂ%\!C_TjUv!W)K ҺCʦn_t?l`!B Y׬Zqs sV/9H|)M[i|d="U>@.nؽQX+ X V9Z@EQ4pp-!-6Ɋ.n0mu\4WV5 { ۔JJ* .9H_U-&vхT,1@L@,E`!TɨXJZ(jUS5I"7q>7128^z v&Fr9W "'8X5bHu{b {H@T+"}Ǣ1c"gMcBA;r/4>Ni̒{n;se=vP OX+*T uմ*ۛhǥ]VTZY*ւZT̵M CM?81`4ķ]7P^Pa" J7>Hh8=-*?@G?N``,WUU@M:RA&P0$!1Z5^{Dr"EiinSeBy$ DVy鎪Mph;T-X`܂2U&mB@H:au %)"ͅu*˙9j餦j9d&V" 6Q2#w x(cU#r}%yi|+:b;`,K{LS dhީMH?I8\ ,^8 uTùYX%\Y@CCnz) G K4M u4tuU_u+jQGe'2)BJ%  r#"qD;XW&eGQZdP`bbC#PjB,"R) ~~:zF6Gimez{׫Os㊶|o1yl *8Yx(tV4Eq6n̦/ ,Y Xq'D#9gr+ $-xቄUwSW֪H j }Wt;άL VO`HAjFMR#1DX! p) qAP!..TUEx  B!!Th!d I{[p4_N*- tǍ~Yvz65?؀nw<"D ~c{"YYx'9oM W4cVM~FDp%Jr1W+ !F+aئnDX$:Xqd>mP Rq֍naBaTO,]NAݖRAAdd^:p^=8z3cU(I M8J$rU.*f8]{֤F-bFFP#.&!"1۳ g4Z@!'@(% %ջd*g2@AxPh@SnpB3,`%۲AY%N"9 ݴV*X,bp-Wř9íHC3~)YĞh{-Ss7~{q=y=}bg)4]zP̪ hV`iLY,;-o2cNݹQlvnO:{̱Kny,B.B# 4"2d\" 2+0 ($.j.."(QIGR#$)y RP M>;,~FezJl/v7޾abxdPɋљ'-/M]hBAI0[^k>Ȭt끟uk֭)e);bXMX !ky%E(qudayND!6;w\D"I Y'ȎnWi,N,\i/vGWZ/$S$_8URmW˦b dᑐ2׸HP|dL[C*/C5X},tU8 )\idfi?v/XH58k:AU]IA „`h_@\\lJM1B\ E%hReZ˙v:nnUv"1 w6;l]uՕ9$H2AE^ZjRU^"x00Nt5m4rTϦ}aZKd,vg  Оԟ={,\PeE E~8I4cɓ$ }I}ٻBDc[L U%ni,˄Neɰ1QBVMuF«%a[ zuֶvvU 0XV6ŀA:YE:TrȺ)4{mj(/6`#TPRɆ:/}&^g>c`A[I%9c--.{D;?8GM!7;Ők wUu&b׻N|[{ =.\rl $Q3T+5ՌWOKypHۤFzskV Fӌً1$,,pWMZd :$e{Kbuew  ؜V@*W*:Oa'ewjIl1:4.@k( iNT'DBZ]tL<Q;0DXeS^ ~.$ZlmDH v+Ye9 I&RG2(n] ¨c6‹F1AҐkZJ k0)aVK0RˈYdT5A8Dh$ZA1,3EkZ,0qJvγZ}}MW~%nq0bvױU.T\MS]S y \[EGl:dٳg/&hUVDR4uȹAMM f4jaث!mz\e^ i)HKg Ӛ@tEn0EeY"r f43! /924MLffhU"kƅPg# ctCRꃉ#DU8?e,Rri/]烙2yW.4?+,lR:H9e.bnizqEvHQ{FhOggS@NѮQ7xz! 132D?;43DA@pРB}>Շ`0h rf% 0b\1r<qbD"&ěj$%fCCd1:LŔzh%ZK1]#" RH#å\XYsJ)X˨I[E#t#V(,c}$\[zZ!t.r$-Ye!E  'q*F"blm)QPmo !0$0.)Աr"Jxd-:`R>88MKNi2eBKD*vf;mABK3,yyücLVz!4oGeVuZw{UHlP=+xLbw~`(Sbcc5v+=ֆ*Eܻ۝ndVmh特z\ȠEL( ŘƆiQT((.3u#rqKv8p赑:b1K)(qYE)ip* _ a}ON<)$@?˷M_V,(&uv #{H6T%}ն=lşO'iV=^nned݃31ŊU1EC) j5Y-E b%9F8$Մ]gTڥS03<,8e0TGEaY!%,3j cTH0ltKӫ]גQ6X B`XYHKA$f?,xM1i,Z_2Pek/Tϔq+mZ~6)w;{kT2Я?yZpc r㗛\u_LI)s4$<_zSe1<$JwV=NcJi>1fYS,(2,4:JU.V<1jU1Xc-jQQ2Ah6Pzt&Rrll_$iS`@k dk*5̒LN]2HYb9(8r9"z5Ig8qɑ儼@HثJ5I+tzF*Ht]/2 "9r|^,@zy)p7D{^|;#筧)rIT*II5BiWTTUϼJՃ[)kHR l +)f3՝+N/m޾iDUQQO%)E0*ƊT3rD5p]u|nmQ[Xm4SA<)OX|HsP ŲέCZ 8ݪMtM0-)">~{=k$̠X,筬[UgH/WU@iUP+DBEL7gj <A8Hd+CjO/oKm,iVw&mik<$60ɬ1gdD)fx8M]wIkG)TR-uyw^?DU"&Qw:c(k棰 H+U@'.VLSj0"UZQ"-Iwcv8Dx4UZV[FTY&7UUzQIsj'{;wtj{Ӂ*G4qCm+i|[1keJ>Ȧ5!J@B=/J:iUPW~Dr%aM s  \WF*cLɊCC~1j!殶fŠۭfMUQWՖdGTY 0%:* ϣ,sAzO}(jR%9a[Xh0gJ!1@E[`j:3M[|fζj7҅ 5CZL#KBJz3TY*K6iEB(͈z]Ѐ؀F-H0"?QU%O1ދyBi*x;']%]Hn A] "@ d|v%4/h,- چ|DJG*WUWW/i>[ER,V !R Y4tY*fJح` ĤH5!! `UԜ^O\*B1C2WAAI@@S-c m6F # q7YV`VP`ȨדOr70ܑ:|#0)*!cQʶv̄ĵm!"' F?)95[b<~nMhsFJ%2 jT*IE% cv8e;;,bU2RGa- S-+u5$kHaW\ªWU&-  փ"4TYJef]S%H3bF;\OO"B@3DG2"RlqY@fdstZ9Bނ C7iǐ7êbX]q-^D_AxSe/#jlɽfwൻU(֭A&_Dx^UTUJ*%0MKj(Y2z%@QT. :j!'N)dCZ83i1\&juLAD;T4daNaciJJn*R:Iٚn,!d + ZO0$d X`LиUЊl btv0 Rn75X+ 'm^4$H̔)HdVJTjCmO0KHU8fDb l[UhW[ VZM%@t)+xS L 9 ( 68鈳VU1 .6g3VRhcZU}u#mF۾{Ż&Q(eJ\~#8͜er uB[W_5f$y8n$` 0ӍD$0awWږ"DN u'WJ:tIm>Ԗ^]}BW4Q @ fND1;_WO%[Y-lE( ^| ^:-$aYL @aNj\VU&Z =M%m@T2 +"s$9b],Q`L$5`R@@! J"[ S*$r\ )cl`Ymllˊ8M<2,EvuتRvTRD؞}n[hr Nu\Wzգ0)w8TVDaV^CpY[g#~)Bf:ـ>jݥN`Yt&iQ"a 媜 ´"X-Ud&ǜmn´նwի^[$c60ZB+p2̀.abFɌԪB[r3@&Y(@2NZ beY7XFELTE?5bl@`[* tYJ傮]s(5<̴wugk\tA{z^"Du7Yj: vJBaـ4 9Q5e,zV1$6T<h bOлORRFZSDb‚h ;ѥEo%e/;2sKC AC$lIlMhu7g#z5Eiqbc<:˕\>SWyNq>mxÍ^R>I7IXD4 ^+ F NbAmVGЖQUUUmMGC U!J'@mO,H@Ҭ6Mj۶[ Mh]4Sqq$X|4?Lx _?.r/v lN_::as,KnX& DiтesՋ-r?9%h?+ɥTwѤ]kZiiR:Uq1B$MMz}4cZ#}&GTխZW; XI[ME !]Ӷm75PM4O613]+n+|2KʻݏxYr XD?_U>MmK*LW NF`f"ބKFbb\SmDc`w%tjORsz{|1Ojj=Uub^RsΞif/^Ϗ)u[5CdjKlެP1 {MSW6\?-m6sM 1j9{YB >DiEQB]U-R lWe< c%GfȭrV,gPT% ׮lԁ< vQUׅ(bkL4S;ad9Xf달.f+YbɁB6y"q㩉UL7>朗9z10؊A[= ݨfB:MVNp|딙a~GB$.(QB=~0=؏>޽zKMhC#IL!ĚhT&նTu O֨Qw@n":Di\S 5erH+VS5xUiAQrPβZ3vC&cVa*w ;μj"V5/Vr9UQRTY.jBJ `h}œl+k"l/Hz)7r3Ie\NJarg;e>`ȸE@ `  " ,'$f/= e]˔#Fv.\T~ A$u A]ZGo,6FܢD/;6S L̎ 9ΐdyUGtW 1za#!ѬOe{3q8RYKBDFxYa``u :2Q*0wW9Ɣpp(qI!L]of9sQlCmN7mvIUEaNFS<R|ix1[^=`)%gK_-zS)T! H=o1U~-"ug$ "A$ bCёitZ{G3;Mz3X,Oc]:4 H`CQ"&P`ZI%xB[C$)'*1,# lWkZ/Y جZPZlv`Hv~eJKJu%>sZA݈^eݸl!v =C kQPFD]Ԩ9,Z_T BNn"#,`![Iw:bU5ъd9Qk1z=zW ʚEc5A+jv[(_1X}s)X+$R L8B 9 BH9z1^~E肰 KV%sIUT!jDkU"!3)G/]c!R ¼gS^Hj8^W:n: 5h`F&kd_MBf&xe4t~*WR{0mHQD []9ꇐY)vϒt)C C`#wpykFUwb+{ױڼCh3Ҵ!Fe e@-"+d@ݔkU*;ʒ4cTbu) LQT 馍*1KW3" ]B W$HaQ/Y`=6f] вFSa6\ ;[q>W-S<-աN9GPTJĤcV' #iFrXEmo?M$J<TXu? TS4"*(wO538Q QX^9%hr̦\u@~:S2f jaA֘ O˩٦VUF4E6ByicKض^%mbWᴶ.Qqt9s$n!B7_͝{6vB3| r^[kܣcKQ&H.ȉR³$M֊`bfYU!_9?>?9~0jA֎*9Ѻ[g7g(/:笳:=MZQy4NŶP8V޺ؘ9-ى'DM,k} Y멟}sv;yl\b%jWdrP!?oJB|[K0Ħ8}jXcsppm ^vpVD*ՐkzE YL+r2BZ33q 媒JOlxnlօ/swIrb^=^i;;i~+.;H0xK9u-=!s e6gQ-&ZZ hsKnEsZf>bT%RTg%ygZs|`,mw1bk'!'mdLL_#۸.`,U1b5OFR".-mȶp-? $aW% T a~8D'))UMPjzR^Z%c!( X ' "f,=%%3{%TUeJl/buR>zzRnU@}+sy(Ǣ.ϖy3sqVů u{P`XVS@jN.n%sQ;s䛞ŔKk.Ѐ|Cߩa@.-՛bNBPMjERRԗMU cv [6`,k鍠]z&;m2eq[ŝ>]I.n+|=>NsrQ9w4C Nz杇ԳH^ZNS &r(FO=Dۆ G^xSUđH,0ВfO#wxg*-VsVU79ig2t.fZ1i(`<#&trt#*mxmYX:OPS@E(>Žbr; "keP: ɶTRXX窐V.&>[sﴶ}uuվd;v* .#\#\҆(6WFդrBmT>ZEEE9,C$"줳)WUH sE~a36g,z\{:*rt+uUU6 Lxڝ'^' 6,-z=]YZ=tN͹s7p AzSub)APhtKYȁE [e $ho*\y_昇-pKq9t7&Z$XkrJfN3tݠ^}wA~k~: pA:M 8eʔagϑY+WU6{{{W7Z,uVwTw[&d42P) <1NS 4ZlBhvQ]SR{d>mЂ]L(M裫JD/({9T4Hjr1hNi"e!-? ~[u$AvYr}QX!?$d,5+,+*Cݔ=2i>B$'c*WH7uѪjUl]h~fv[^\a *ˏr52%5hLJ!C46kHQaqj #@dCKV%[a퐩Vn2j$3+ 4隞&1]$QNƔ.QRrh/A?ƶP,fNWib +%|Mػf=g8pRݺA h.;V}J5#c+(Nnڠm%J9V9VeVssȚ;R'=Gl)ަ t=~]%14UD6?s9.AL7"%[5 /0lhm@ҔAJCV/0RGVKTPR4 iWAf0Н9I$hYK [Ȗߋ3IWK%Otlw;/'vmpyXB Oz`!RQȦ^`VakhY C@tP!V^ve Z . % -҉ϑ$zBe6}rdhHZZ 2K0=V%pta_=G qO;BvَmgbhOD#$t7B-8VafxԛZ JIӣj[*> Y,BJZ=#gID>~[|}ӎ{k_FnWZ[xX]?9Ƹ,󹽒\o}; Λ^ߡ+#PеC.U=sj9kIglWE"GTK*rFZHRѕLJN>T*BmRa@p@Iҍ"پ%Ҍd5H%QU)ȝ4Q "}khDi̟ƒOggS@ѮQ7;A%!5BAA/163:A;32H@D zll|\bm2p8{ [r+8^F?.\×&AT@0ӝ%3K`*WW:K?>shA]jç?lUUSZÔ+VHe%{uyQ%yb;V2qjXyʈLL85GMG+JQ f} zE<%LO`וp-Td*:Qv R55 Vf$Mf`ƶH`REU"Y?, >7_=EmvNG?:|MXYPwi,x3 !հŁܹLSom݄)A۪n)~R9}W.. pQ" 1U1 3,q\z+ވ?LHHt\*TY*U8ԮՋ\mI6QS[( BFa&qTwBԺHD!5CUeA kB !kAKl7rBH~IY"|` f0B8)w%pK?GbQn Yi߆(2Xa3Y&DFw` mRCP^Ýt{bbU1 I&^ =.s2s$1ՙys 48!TVZ R4wed P 'u^ڡ-ÓJ2B['* nŖ/}OGXRdK!<(O 5$FE  tmqqūZ{:33{-E7d@@.'˛ZI03(t!JRUIv8 F*muEQdc\6$VDV:=]ӻEo۹}i%ڱUK4vOle4?@rE kкߗa"ѹ)JVhrBҤRmU:_gta۷twLɐ!j˹] =r?mkGmUuU4Zd[j.2rV2 RnĔz#e'eoMUlcVm b1{@J(H/u V;ѰgtS;K@*dch ]c*{/@DL+ْ~D^.C%F[ _H@J"tcA3$#Ai#3rYl%)FHl?htk|a)쾰r5n&3fdR`C%paF[i\n[ZUYcpEyGY73d@ݖ݌DޫGh/U+i+Pttq$AD(eɅeی=deUH7ɾtRy*m-e)*xɎ?jt r /DրX5p P $]. vqmvk`̢U3t(ѠԨ`RƴUtfJFЕ qH`Q qZ,8Ldc\[qd-4` vUi4n3@U*ƋG4 X"Bl[f1̤FWxhdb^YsfcqR n6:̭K BOtv(U*RڬV*@lZځ,EЀra]ȨJ$$fy0,1ƪl Pƨڒ-Y"EQdV{Ϝ[(,/ FQoJğh2}u[|U2aJ< iUq82@%Ksߌ^.&L個ޭR-Qo۔|I&* S9oGFɤѴ&TIPOi* z5EDGO[${h ,Df5$3gȲ\UԔQ7AB TՎ!UOL|MMV.4ak`$J+%.B0HU*RKT[ lMyLlt V[5na^\2W/B|oh(NwMCJY(|լ^ڼsM#$"I`$ޚ=Ĥ [hK wy(,BTzU&m%5K'+_:M`|{0'ˈ`ŲcVJ0LkPkȀq-&lVY>$YgmJb}sSYR!#cmE ؔ@q M,&ّK5sjSWJd e +l'/!f4xba}1w LxSҺp M`:iJ/Z髓V_r&n!HczHdC[B*UtPJve} FIx@DTVk&!LN+bgˊ9W|6ј?3vP5!)F4d`O^-;y<=J$Sg2a_E.nDEaR՘_b){䲬~uBvUS$:DHePHbX'6v9> KD):s7;?H[ e&kP3QoGv5v4H5r`@ҥ l[*YsՖ8 LJ ç5fY @Fy/uDWL[sUIDS׶Ha@|R l_;HvӒ/Wl{/i.wG7rċcNroƊ*+TJZmi0 leec& ` 31E#Q0l:4]{*=Vڗkmu*j\cVt1f,)29.u5yۻیE]a<"tU%KY66M'Ujˍe Xn,8I$~E55((d V3Sc.fb,=7R^nu{",Ca9bv*a{2ƺiljnsz36au|.Vn+V% LXYVHaHdg٘6*9"5ұHvv[M.8)~kG#J`U1fZkBr&Tnf1 eUTbaYV8Kˍ{`pqeDIN"BVZYY=v@B#JB icg@3,%U|Xڹ>Rk{ؗjׯ~Γ$kNg{-)JOggS6ѮQ7QnT */3112CE6AA.FF$  &3C>@63E>˛忱./DπI ߬)BW;fm85bnk {ߦN-ι:dYgY 'jm0f1VdY1;eǡZsv)R 2VCk KY+*OD2u"yus+9ącJ2EO#3!eH `ly%v53Abۙ#WU_r LLX; dY4RՖUFY@9Awl(\0)QrL+'1iӛZWlC5ve/_{WXW[~?;p2]o3怂eYs00g삙wYdg_ qeq9Jqv^,J,2X2kw{-fEl:}Hط(qԅi)*V0#e XȴBwcIj ng2{@ΪU a1Z+%a'U"%B*-ի]ː4$M;oHm(.B 3HeyaruUesєj1*$MeM%P'&%⸓'^z\tj)Pt9;BU-h[D UͥvBF<I5X/4ijE ܏M{^t"tp`6tXt`d20n(5r4i@^V9f]FJ"S֒e Mbbh rwdAP.XPa Ku}ETgAw(R 5W뭛[vKy&X_'; R-J"TJcEff M+$A r s- Txmh_Ze#@&MgRI̹bVE$ٍbk\ጸ֨$!(֏ʰuR2(C-^BlNPQ ' qaM:5rGi<+"E8eQ1ƶA. g06Qp&Q}$qzؔ"4I|~E[v<_wp}p?U[$\ٻ9w-d<qն`#뺵n궥4UvƏ=HFN󏁼[Y'xdfVUbTsyTuT C H!JĔx{@A:4&F IRcB6\)*I5gF"%Š@Aie*@(;;1"B烲0(Ȁpd4Zr(+ETTFTlˠ_;b=#r<^ֱ 7@YC/ "h< °\H1|νƭv>\V7#Ӣ#(oʢ Šg/br{f2dEc8#C[znSi&3M'Hz\HFQrd)8"e -bc$be,#Y2!ҲlZ6Y$B2ĆAFqcAͲd);+sy;[V<-X NynL fGH׀08~p}B8b#yg_(+L^R@'#丙|^S|فM7yUUUlLPT0I  ]فMN)ӱմq醤l!@k=[tJAlkƀE% 8^C 'rPTI"$ ZT:$֤ڔN ƐUh dպNQMWE yuԇ) ! l,ɤ6@$&;)(U-)5:+,L|TLt[YlPc@ʄޡ}~sFPپcܰ"@\tq|D L/.<[yas*9Z7 kq(j (ALBƘhLh "УT۳I-4HV /ı E\,BN׎m T&0T!B5J'I0 UGҫpONf20BrHnϕ u q|-}^Y5@.( y^Ò0i՛*⋷0kЗ-Km~,>&rِe<&o/2n=]F%cU !`;XC8&FHTlTS6  qI.T(2B&RA:!AI-cV?f2H V *ATfjbL~:_KA@`y/ +X!#zƏ๦NG񶄃_Ƴg.<.G9x\ɞSkY';5f&uʍ{Xn>)Qby\zw/['`pP 0]$Etkd?tKYtSp=JRU*UmjU"0u~*: uraC qw}#ӏZ䈮 $mIjt =Nn ` '?A.gY`1+˲, &J\D 6j+1bBXbQlSjUm ! & ǨPP6$XP4 XX,$؄` &2Bch碷TQe@8@Tlg+:(9.[SSݢ EkRCm,1p&[g6^ql  $gS3re(=dOޕ`/>Å.̣gF\b> 9ajҤYճݶMX^PгA6MچPcR*U"JmTQ3aFiT*IuYFi^m95"h=.Ix(`KQ2Y,aK2@}8lg\ǰ]9cȬ6@Ȣ*<"ex_-o<{- o^Ū+H(2O~-aϼ:Z/1e ꈨ<` 3Z zz+uEy`L&PaRs,v:K]N 4Jǎ܆W6=2FĢ(ne`(/69J)E*P(d&UiIm-qڋYgYOod !1nitK+*,@T* H 22a3m/TGbי5L{(V@ͅ##1|YY9q }cpB>4A=:1B;9<\qX0m'q i KqjJa_kחZH:A]&A1k^W.0fOuWAqTT*ueRdfJrY̹Xe'elZۈ'ٓv!&Iv%B ؔ0$%B#lfhO7L'272## @U$ Q >RBA i]M ēB$A;^ d.:62Q։Hz:ۖE]zJBm ӆ^i?48b&&W2.qFvؕ^~\\AC1[fjoD̞ImpY\Ÿ oV0"WVgEcT84(/Un<ƁQ !B,@Մ [%T]iZ&- Ah2.XP ) cq%xy62rޯT%EqL't[e2j8iQfj뎲p|#OKWXt<tKiAY-) (u 7z ړٖͥ)!VԲ(,~DxůK.<%+Ɯ1f^,6@ b8TMՕD#qr Hc d$@ F Dq0 V%8W(t/r%*)g; M Fa3sQ,֍288詞#/P-S3*FJL` ޙs3_=,nyqE.&+|-ni:p =@mD,BDN%F++ҦLdUo0V11hLBF+IEʶ v)EUu@EItmhc0fdi$## L5&q iAi@H!2W2B7b`as@+,{Op#ծЯ L[\|˔Gv!i^"TeQ)hw@Bw|\TaZ $e Ih[ъEmtV; #GSYzOj) mTMVLcHUc5`%Zb],cF9L/mkeq^/MTW5ƸI4S$pd ws.^WUMmiDjɸ~B7k53&M L[*O5}S `jƚUHTaѫJ[y4KR[ mv&,VRm^[׸m MU7_kO4hGDQ?X8JԤ <$u) Mh2J2EA2FJ!H\c<ԤfҭTWUߨ &N)@&z~Mvx~Q-Xn.Wf_(Ta :7)Ѫ txz4*BH5 U~s5''s$\'j|q|YT!AhmY U .MoJڶIbY0 ѯ7_򟨔 lY}HoWIS2r`zF|tN~j,!1F鶡NW&5]'dzQwnҁ,>v  K򐋹\Vlv#ET Mw&y)hP[jZWKZ%p(V2:aQID ,g`C3Ҁrd eݠ$.Ȉ*ƘbΕ@omiAKbMART]1lۑZYVʔ$2U ddp80R6 q\!BJ!8 ,~ו`# Ȑ'Ҁ$p7u0[V3U )25!ۛ xL E5o $7H#{ƨdleW/CR\%}ݷ D %,2SB̷ D%arYbUYպPOŦoR3}OO\v pV2AtŔRI֯AeV(A(8FP( Yf( e&Q(JEw{9z"ƐqȲEr2SPF@,HNO 7`~{2LOZE_5LK'{\) W]_UFؽetB/U D;}mHKtt޺]vYpo$di 0eŜ,({T dKzEꃥ!\`v$GDZ1@,$ڀe F,#`EdpA fVzp~tjKu۶,StdD-<X< -zRؖz7m4*BDKT]JӴ[4WĶ- e(4?wozNg9s;yd1x!4tHҮZMUj}:o<}ul>YveiI-Ck\Q ?;Zt_⹭+;wgf&,ypӰY?$QiCZO5+dY)+J{J%+ %=ҩJVp]\_l"TE@QV-o1ՙ?S}yn,{7iQDJ%j(:kIQBЃ۲k0F})&b@l[Lwvh;6h;,=PX]VY_z>s2wqUMx4[+=0rIa5ZMF}x0P5Gc/'aez{X|VTlOoD !.YY)ǡh 6-畒ۑSTjqc:9ѶxFV}ŜL^ 5xɻf6[8u erx\Վ+l@nQ,rϞ[:ΔSWvB9.zC'zA;N]kXq3[ÛcyXJ!eBd**y*e7bXǛZ d"T(ꩆ^ay8X뽢bh1vOP5K@quQDnVNI^|n Ld2!&/ sPK,X.˪\ 2BYgT _{6vRMą1tb`tXe_8=;sYPǵ[b:/Zǥʰr3mNO9Q+eXiyZ ڙKω..{<{0Sc1ȅ%wҞJ|><' PJ8IaL`Yr>۫^;8j5=f-}8:Үs~VVJ ) ?be\XbR~zy*ς`Eph!$*,Ui}Uw+6cKЀ ]r)!'H:3؝FJ J"Y_'޹)15{4=2Pۻj -|0l@ӜUc]Qub(eL*A>nǑLD(YR7t2MEh HQbKcDe_bJl Ai v}\JstaOG 0bk9yz{zvqՕ.;I(̊Q)ڿ:G9e*K(O+ DrIU}$1O^W9M"H͸ #Q{{UǴՍ$րbs0ڨw4t]uޭ+$Q#Y^4{4YY@CB}&[UJeFۮRW'tWtmWLl: nb,QnԵj%*YNe5rCKuXz 9\6. pYdm22T&c6ygpYʶd'1Ig*l 65sd¸Lo-#N)nb;HJk,m:m!,T^8ClHgOiHDJHtH _֚K$EW П  X>[=oiH|`&Fux{۵p =Y/8B .UMG5Z4!^;- 9~&D+"&4YX*I,Fw #Ć=YY=ڴQ#ъ h; m!7g0 (D:ChGml-`CQ 1P(!@7>@?1Œf_wD!.w_h1HOi=1Ӫe4ShXC'L9VmO:FXj)4"PކŅI,)9VUY@f7E԰zҪz|XO:T tSJhJw+O)|#*f2@?$+6&f~/A84R~-$бe+ \2I;x-:#;q_^:DvAjUa}J(d@=,M`\o%݅ RQe!^f89 9嵈Kc%[ xS^iUC֖YVQ^w)' %JD Y1Vr6XkELQruf$j4MsL֞Zm$J @ dFQ`@B &ckK6!BUR[fv-W:TiҴ't '1\Hl@;v9 s>gK_ɿ?Fh)Cos\uwf*^Ձcj}U^TS ,OH [`{ha`%F:':ǴQz'LKzOK~NR$8$\Z6*4qh$O_:y6NND(%Hdc S5]zCmMҾIWo]_K)9L&wRd$)KXWUEd-A2PSӐ=`կQgz*|]賻YI3Eyh4齌NgY&+mJzQJ/ U(V3l[xe[]Ue$\`h M**A|Dj1A:ur]]C[yNUd,J2L`E4S3lCCns)U>N8qv)j Yն}VPn%ԉ(RUQ\kX=t^'6iKt_zZ.KMa;/,@g# "G4* fe55H1DaֳT? r}a :ǥRY4e6Qb*]289^Z.WUՄN( WڒC d!SZe, ˀBlP1.X`f:z:<_ħ5acNtt֬ہh% ؽV9OϬ[94.08^EG5^e+rէ.8oo%3{rbCcJlW}g/:~8o }5vthZ9Wr_:>;eDCfdO69:Q{R)ϤU/EN{}qDx@l'p4CWL8cs `uZxOfkƶ,0"й9B8FL$KB<32K1糎g`wD?{X =je!|pi'Ac{5 E'j\R/ pa32Kv:DXUEI;x*kSᮄ駴Yvm3h_;;}dn0Q2aILJ ۳:1.{a0ВwVVjrQLn"^*<(TpT]Bqۼou"q=[^7nT1~[\~ ">pؒcɶ֛dsZ̫twdec9-0(-Ch#-p;NJqJΌ{;0Eǀc6~wm\_684Cƞ5rGF>$5 Z**=N#B;^D*VUU}Z$%^)N}萦S9%劃HZ_ `pm1L:CxV 9LB@oҙUU9`jDE#/gsC5%YvV-~F+"b2CaSmMٜe8qkxi/IpyI `}Jsn[sgpъV\: ސK.jRU2ءI$$c b!v<'[,q䂫6[&HNՀ3nb @6f;Z) 6 Mݜ>ADYoV")aBɱ;e\E =>ɺR Ww+(H /.~,F)H :XI+%r֦'6n+Ц,.*0*Ƞ4X@Ep`J@W` D.CdEDb lQK)D#WTP-ѻ<-56#vT^h}Cr!@ָd|INȄn}ZJUGI4OS`y& \2Ra`7}NnŘ%pd!q%4U̹mB,}r. "6! (*}c% V,U~\GDQdVkEbZ{rҤʺfgvޮiuj۶۶48㰭d uGDU4w2d`fClN_tZVЮY4}D.*Oo6MZzEÍ^QÂK5/@2z>dc9sL;:HJvohd'/;`.څ/~`EkGꎥT!\ay24ɨٶsօ-hY4rܕ82փ;gw5udhu&f̝aHh^zȵ $<8{Zפj"Iu(ij W2@؉RE#E]gUXW׋ѐCz7c~&/:mv 3 %(.vC\ɆCUiDZݶYe }yp(k- r\nt.` Y2\VrdUL4&8*05p4>rJs0fWU_ު\V_~yz֠O4(jTg-UAժU::X3bњ d$h[JHf!eJ8p"F`Y ˋ0:? %p t.Z*&QY O{syL"@ruLTG :5`u.Pބ`vfQ88YrqfIɢі0@\⑕Iw*H%fxȵi/eWX;g J zH5"L+n5`q,eth7sTV4U8)2"aQ8݂2T9!%{ _-EJ[HE2JBZ'uڴÖ|y2LH9P>=ef魛'0ͮ+߼z蔾y h.{BQ*JUO> Ǯ>}< iY,9Ag!UmP9VQID&T\BЯEb066 "]ׯ>N CIrhM(F9! 0@ E$ctGBܼ5& e-t DtZL!3!bpa&윂YV&AoANXd2ET ˲IOihZS(tލ()Q'ƼE);[{_B1y%s=. ,W zڔtJb/ZS X!}%\fI,*\%v7!ZMLR2;v YAN8$SDЕj\kHJ$+DQdZn (6!؂*< !7J[ cd ̮1R%xq/҃6`i0";䱵 L4-{2Us:-<ܫ^yL+~ 8_[@#./[A Yɬ!$ jVvĽ[Mty')S+⥽tJZ N\.9^VҾ?fSݴBbv5D ŲԋaXSCy(_[ z\au!=;simFթ 1Z*Cwq 1 3Z;t&uޗ-ێ# ו*clz)FwψQ2"XVU1i w繓5{R\̏J;U!:kߎjղ҄W tDZHh2WI'[ 2(iEݥUd1Lnc\jǚH^<@$"q -/w _^-R)eB_4\Tr53<:ʺx 8ʈۆ`ͽ0띱' q-6ٴ|l0 9jdS \!G隩(^fdBI{=K$rjIo+m/9,^8u&mUi=sHR6 B ZAMa ۦwp2djT` @o33xY_p6)Y\S-Lv] >D!GC[^_:zs3!YcM~Ͷ14O“MVsۣ"% MKg$zVzDg 0YRo޶X`/o7UKT-w{ ob (hitA%᫭w/YW/}(Xb!uƹp$"Ź.ÊjSs.ף]%BaiWVTA(N$LQ*\(ƷfQ4\c85Fp1dqV6RuAʞLiSJ4tVSMjdg)K@B R ds aDA$"V-jʕJTeUc;}̔h8p(SP,oztDIQHvy\Kr^!vU4ըѥPAhk&Mlϳeҥ< .hA3,f\U%+dD)RCR1$[͊ʹ:ZMŴi`iHM֣U#?+@EiҦSjJsIRj& Ab BK al0 6W HUPU VIz XDpr39{ë {>vBKt㣶˲]^ wSZvl$OUD]jZ{R%T80$  -Nl> vf4Z~;dKFXsvku;APJTt 0fT@9) -׾{s;!_W"oxA%5sI. i;{doLފO e3DQ:szBҬJ]rm65@{g VfU@2⎪vM ʭzmG+*Uj+(jpZkvƳKݿXf恅ĭ8"JkB#Ht/$ÈVX:*1>d*3Hmj! flCO$UC'TYi޿umb)VׯYm/p {4JU 96Ȫ%Bں"H8VrM$Mp :"E64;nEɟO g@y~)iJ-馷vա]k8N.3K&5 1U, " wrRQkA"'\2ua$" V@҈DgQaݴ0Lf ΂HE;^a(ōj{a2jRkJsC%ΎNȑ$Tk'5qTFPҰb,KH SKˀ-ôG>T,OZ~aV\Krޯ_g:v|fQD͑6_6DklQg$܄j9^@t!L#pl[~bkB1(4jtgض9FDsgwZID_՞L`2.VGاR':8 _ZNt]jDߐ站M8|OP l,G{"wU OggSѮQ7:B+3061A@C8JC0$@>@38DC>77>?wteV$bDېj6@q I aqX1DՀO57) @YJH$ME݁-U14ؾKM&VQKgfI gפ`<"n[LD[ {ha SQ/nUwict#wj[iŢ'ceߙ4NVS\[IbrmqbL"+)t;"_RfTzD_MJA +\_<'wjfIhr4ѤtS:&Fw[Tq`rZF:V'TMVVDaEal?@İ Wԕɵf7D@3)TO'EHT]I5N]Iܛ4aa__kd\.[݅f4mnVFhkjFzt dck,)D ݔH(Ž?5#n:L:R6'rTi4=WU : xo,܂ x@ 2o9l*KvX9j e" nP}@8Z H?~IĐִڻ˽&Yp*+(I&C{a\6kp>nKIAJ" H45v!*"7*Uc#E^8@QZ4J.-X&0 1Dn=0ʙ>pSAkј )2J1yq,rDﳍ5['"\TZҫDhYdM[<')\||.}+Vh.lHןFXaH]8!Rծ Z %WݍJTiV Ns `Dh<-1F FojjqaA.X,n] ؘʹ[le(Hr+,y;%URbӜf0H% ڽ1d[SLUZɮvosޗ剾b1{LFTbc?IIiUs8dW!t̓4pH2JU!,ZDھWG[[ňxDAЄHTJ2܅CO :sV`_&_e娢4UM-2#i6 mЁ^p9d <İK&gbUqh|ZQ>rt11iaz`1*(vGH˩nd~~aV$0BvݢdDdc`rk7&A<‰pԜ@UJm9[vNd {"Z* IuK}Y/v5*ǨŃ6jr5jh}`$w+-\5ڢE[4Zۭz@ywt1{f2*+b*gk "h}mlWxNu+ 'Hr.bWW4s'׌TeLbC)@u%J;UtCcZd9wQN-G* s*XMa91wNTi, iՎI_z/[bz~rJ<$gƣcz$e .v/i GJVD O,FUX.*V,0R4x0՜e[Y5J+>RKoᜌnJnuU3\4c60k5e %Ȳ D!^]`1}k2#pY_2w *;+K  -@Dq@I \Tt :QHJI*yⲷ m KI>Y9@WX~Z K;Y>vMcﶯCzS[M@NKX$W"L& %Bl0RT+TC|K$˘I1k 0qPd erDr,zY(+^Fc}մU0!i]LbZyI(\%<*,Xi V2 Q)&tS&V/)PGRvRUeRO&RyI+soifTJ5NڪR@O>($^lZuM!]b R4Ws[\("k`\gqu|GHüq\YSlt@@a!aR,W@&W@Ci&`L0R)3Z؝^*jn8NI>\D[qe!E@j^A``yoF'tKiBHzI@u!0+u,QE ; @̳@A[͹cY"zZKA0 `r4 ,W`h1Y}0^. :DG{)9ɼ+Y"YkhatJh8Lq:3BXU~VzhĜRZ$Qۑ^wv^j,M%e|<ۀd{ӿ4Kh\s*RզJO\Qݴ*=Ҡf[L]~G=BX륫hi@J5*+?oRQA$SYd* 2HҼI#QM 0 W{E8j}4UafZ3P`^.s޻cMA1*v*X4W3{][$&4JfIӣiRUfŚZ"M[ї6Q=sel荚d_۾5AnOa:}VlvJSR,:)~(hzڥrPu;f{Ŵ(ܱ8bl B|SS[)P( n,YYUU&8q'Zƛ$6l9V,{d[z^s^L[*/֪5p` \q/r,R)'h 0+u1'"N!HirJ B`1X``K%Ji [B Kݕ޹B_E˚z^&(3u/ЂxLu(;GOggS@ѮQ7c! 14/0767CBA T;YlPtAm>nb bb ,>R*Vh7-QXpD9fݫӃ<B>.jWmLQAe ["P3X1HJpUM]=f6AwN*A ,jE^+ X#0tH68dsq^@Ò6,F~"ѕ! X vF*{('rʥ40B1҉37 PדިTb_,NBMQ ^sк)6 \Q'U.A04;Ou&aWb&bp6t D}>Y 8Qc$jU Pk TJRUhdhZC:٥Ael[MrSm# `$ DRr#q9 *bZ"mȄ('pHUZƱ{OB&@B Y:9.TKr7@\NcIVZn=(syR#7L m{lMG&ܠИbOa I؇Lе'~, &A%5) gg# 16 GT7\ ]a<Юێq6P8:Ѹ=I$lJXkS9i%<GRemNa8 ҎAȔ"_OS6!dږZ,i.j(h٬.1ATP4Oez~YB~BU*ݦV]sދ$ ,6j'e3GG[LKjf5\KM,CcY4F 3k֩9ܞ}J/b3ǡ*WU:I K'Ҹn44jT㏚5]Sˑ=. )[2M1k+5D0A|ЊY_hf24~2R4m1@ Xi!mдQ4VBLɂ\/^i} ,~-OCy?p'jNBQ0rH8 L_+]M_+\ (fy>w@ɋP:hA)Bu'QX'y֪͞,!ѳrXڿlI OJ-&P$7@d`*C]ʹGC*=rYl@Hk8 Vr*-IU&9o; #`Ϸc?:2j`ϿoFgw:*2@->' FEFk6]]ItG jkaLݴS4) 2t i@cB$#00nMlH8FoLΛ `fV%Rb$L YT,lN@HʭՄ& HҤ<;V {$k)ҊPi C c VX#2Ř K8߮O_fEB3untS\݇] ow"+"I{dG.b<8˱\c4l6VWzZCTV%+peHL-2}v$9u-1:5.%yM[YbuqEU۔,ä*+@$HZ3%dDQ1K~-9.D28E% RV䮠J-;>6hDR *դRBGaz8![@K(kV%2%:y[dPU .4j⾰>7MoA5nHЊuTB>ruA@:'粬9,y%5JquTN'Lt(Q=2gTږ1Fa Xf a5\e\J['v81ʚR #AD+4^qL8F3hb ȍL:5yزW<#^:+TS}Ŵܻ`;!g=Y~йaZ!Bu[:}l jHxXE%K#/ڗ[q%$R<%7 Q::w tmQ{d,y6;8Tȁ>dm)!#36JP5JDIVB1A6,RnzKUTRԑӷXdbHR5cr⚪U2Qj;^q@! Y0 `ijd@20ST=UJ{C9W/gh-Iej$6@%`mkۈ5b!zv1Z@"yҗ%aCT~_+1adDe*Mh#gWmtccu"Dfu)ʄ 4̈c1+g0RkS+XM{:Sj`zLr\_k~]4T c50l F 4]9j!Itmj1q9 r *P^+f%!)ƶl@0m W$]n|vЯא՚Ʒcinz/-Cx0|n-U׆;G>a9u OggS@ѮQ7 |#  44AB=02D:BB*A0 "^=>T=N+PNYc1˕{iZj Zkm{\h-v %#xƃ{ TexYHIV쯚OӋꜬ.:[FB$C^1<~}h.;p݇Qs5rJ1*ePj Vb@`L!jb:jOLRQhSqb F@ƉEaa\QKB~MC)L(#)UD%TV.:B92,GHa*IsytMW*3 6=&x,ŎSQEY%QVQFDLŪj.[ Xc+#`UTZk@ B%%"= !$!Щֻ 6@; eq4IBFXP`넞),ЪY84 Y Ƥc虺2V]ev:PMոZܩV~>D麲6fu-Q BF+F Z|q6y_H(K .UUU %fЫ6=P|&HU'mDaHTTW JoXeLj94k bYF+Z5ppIcϊҫ0t\9h:={Gij 9h5:HbDRVYS  YYV |zG_ jO;LA[)T٦mvFI5Sfb[%N~JhZf RYdbCQ0,]єZ$H+H!Q1T0TKڵZp * 4B6fezӦTR%Slh"*̌khN T\-:gonbQ) A:A}GSLfO*Z zSö"R4ZRX ,r}4:n%a$l)5!JVU"FJElZJPH0c"f 0UU"эF[Tݛxq4pO9z%^mV9jrԐ@BX`Lh)ceJJ^jv 4ٲc2 m&㮶L\Xje(l%:C aݒV-$c 7!#34YR~B!A2.y>%HY,PˆFy*PS2$\VU,&+xVcA0yrU'F\DYH`# -3֐a2ui{痉 ;4C&R*[(T"*ERIL dP:fBNRFHY!~ YXe3hڒT+b,W֦h0 ɾmeOwD$]!6¶i[a`U.Pguvn݋.d Y9M(\<' %c!&@V(Eh RK6 7^WI %AFl4 O2" 1|b0ʴGC[Ip %{0BSÖc͡ X|tzoʀ+}UVyk9cr)\:X Vd>TK)2QFQ9Kʕh\|K#7Kpy(Q85U(HR:I2( )X  8c), Z,+*bqv00Auϥ$/HNVdr ؊ӃPĎ4BRhXrcPFcَUm8`!ܶo[ڰ~gCDEsyٞil$#:l.IJ^:MrXQ.;x@"c:).123\b 2r\Z δ|uVVxp1XxNȡqڬҐh+%J`lr)Xӡ`@.^Qe!22$>X<Ϊ$haףJڦMX iꊿϒHwtI~)=FJ`.uQXb/Z񁔨MuEI-D 4߂ F2JHlsUe ݰWth,RRT 6F4=QƂQ8=@pɣP%!0!l CKPdPdY2f @م$|rGȐb+W(vpZH|WYu* RI栥L>mPz۴)YF1_.Ǿ~9``xLSJndZ&ӒS4S-CЯ J]Ρp)`zыX0> AgdŜY@ZT1j4rvB%מhô`G-L)xNQEAPH\֕$"| ,+( 2 b"V4BH9(RYn$,!s./7 CdP"jC<3^;ԋN:8":jE{]JzCGdDȝ0;kba={ &"?NdD\QJJ76ꈤv=JSqݣAdB>Qu3Lr{vQ,+;1@U޺q<֨j -d3Y,AQbd#n6gӤ,4"-XW86*zD^m #{ ;r익B+sDdVsQO_*9 6OiK ۰/Ğ u WCUD!mZ/Bʧ%Evε&I}<MX/:OggS@?ѮQ7!c&EDG4)1335B>C 3132C?ӶR}[/n|kQ5XϭR.##gs=gvsQX3 sJkIDL ejH3hD{=A|sr4ƬFna Yk4JkVH!1;OcqlM@Wn5e:vh~^UI eIEJjJXILaf\%0j~P.1ZKKU9@BtTtRicL)}@Qj,gu64e;K+U)\a&BPMUI_JnU5C۲lBx&{[QU8:U]d_fаK{pR @J%U ) <6,ȠڶL+@U [\_3>@Df*kꐗռdXO-x2]W.tMp Chz|_Iw_I_3)3P8-"u|J]2VNS%ZN)}G,U륪툶4*J&d_!'}n,#ɨ>uԲfv.ɲbEw!V5n'Fr|!=iUz (39kK+bsM\r#r%YUp4+Q5ٖ\YEGVxëJ(M|Ů=\d=ϮU f?(HALX#*UVOhj$@B HBAdH[,%sUk}U s!wL{;ńFE% mq1Gb>fE.;(?Nz`X<@Nca?.qVGpŨ^WnUh4JR\mUA"=7A)LbŲ,j1DP#tl!AcTOB\0P$8jXg  6!Tȃ6Ւ2~ChXI\J/s0v R8\ AvI2ҍ  $RcyDQhep{29xH$![sȺ4krb-NO^7aMN>eNFSꂜ,f9釤$cF̘s*W0VUQI"bl&iZ2!LLb ´ :HSsYvXtFmJTZdȄ0Y# ? "Q0pXqMc$=d A#˂B:5T+@Ou%4b7|E*PHh-)AVڹ+-Bbɏ#'2v ϧ`LDϿpk%=Yr1 d. `YHґ/bG}G)AjuN)]V/W(;fJ~hkܕ rO.BfA09Aq%0%YbZV2 U%<'j3ZeA,x #Y-JWG-rjآATsg.GAu#}_=Ԏ۟-tu4?{h 7CayzÂFǷ>Gyuug\]6Ѭ>@R"Uz+s]}j%dpH )r\R)8G=_-[lE`0b=?EtT[ e- cLx˨}Hg^]~{Уӑl[Κm[<E,DJB BZ Jgo!4%t LY&dSm:̔Iي֛`W*W{]%@j*גU^SJմ!|YԸeQclkԐ%$4jb\CRJfehuݎt*KouZ r!\FéϿ1rG(g9ǪH3 qKlOIT'"Vv5%!IڢM;{tQMJ_U3э4AZe pYVT+aY_:U.Y FCH93wVL@`Icdv6UL%Fh(WjTSU+,ibbp `M緱`-96P`?gpĤr L7$GY\7O犒FQMi+R=&Rzi7b{*ǡU bQlj"Xq "a Qɑ!*EWM{uM5kˮ1e06XYD]ˌ9G*@ZLunИyKG DIz%0Mj #@{)I% J N_ߝʘ5_Z0b5_o":-lJ P ͍ RH#lN_ k(Yth N*jުEitXI_8ID 31 ON\\Uݨ7RQ-incW4ٸb܂dm \k%SVi7("ذlޘjM[H&˰(:cU5/6UIEjalQ ', *dVۉrA,lN]D.ʽU; WQ"- M`ݏ8wxaRx3!%z15x'<OggSyѮQ7"/! '!+563CA" tIF 9kV&O 2k {dt)$TŪ,@PLi2jc h" tI=9\t/ >lM>Fr]1L, 6 gɸ" @@bD@I Nƒ!CX%с*]BmIjNUcuUJAUjHx*I  4k<@#ʝک䤦i-@H' &ZC󱝳gt|:Q,~D~ZǦXi:XO%3bsCU5PhьW l)M:hGj }EB \7J~hwuw26qR[u%3ӳ >~\5=xXt-!d0T!KVM)v!L@6N,ޚY;$6pjJ)qn+ #GP.h!":֣zלԣcm ^˞0= |oJix|]sC{LeW(g+ X Px"j^GЀr֬s,2` bzrVp,3G%XML=;ln,Sȕ)ܱ?,Y1w\hb)5dR!sO&09{J 1jsޠ+{Ɠ t%d8#[}J{V]uNxUuT9p//R--_ֱރ :Bh*ו;AɳlsF3H>9ѣ/C9K"_!j+2yU `7z%ւ䂜MrlJ̨AkU 5æB=^[PKhVꖇa[w53oٟj\ffVGeL5P9qG1!}(eZ~ "3+oFEW$U].?6q|fG@mf<<.ם^O{E.rmS%[.NQDաWCrڏpnUV?#J>jU(YirZ;g+6'^J!̪X,WhHB㓰%? <ũ1jyLks3r㎨u$µ ujfĨ\f5<4K%ңΩdzW&rAo")eZX"΄ wÙmyR{# >M$yPhh r(`$8 ebޓӡOX48_~A.o\, Ns{|y]ߜKP]@ 2/CZ%LG4x>ACN&ɺ`l\YaϴY-*‘v-z-;%-Lӻ~ldfO֦HRM!t@M ,n:MgV,++^0$D it r~nd0 â0J`{$%WIT$C$d:ASgyt.NMKuڎ'5t";ӯ5 bg kfc%Tm=1窩#ǪW6Y L@v*\LxX~ '3{l*WU1@7d<XO,j۪BDO!o!NޝHhq$"c1vjUh}~KUJnvc1g N~|8ysj\Df{eh:ʬvtNIf-X/A ([ a ͬG8W =t*Y@bex0qndV"qh g]Rs*7GzwMҦH#?[ߕ4a ޛg)0(4~':ji3NnyC?`w~V2(-3 <c `v`gϤ{f0s.xilH6I#2DAz:ի2kF#+t ~f퐵G#X3+PH8#^2套PRƲ* (+U%NQE16:HDKUeNPJrdi T dVy nR \:H$‘EFKUW)To],i吾4 <u'.B'd@h@As0~[֗$Vj":5E \ԏd܍/8YLfUV@8/ʂO|M#O;VO&aAuSoeKb`䀳/u ^ X&g]ݨSs-i -ζqN ^ʓA 0,67#]/x2MQ(vTmd@a!bK`#ЊEBB , D e> L|pjKQ8}iѦ  DC^C.L TCidv>]l͝e;ܱ;T0+::e]&`ϥS9@.ȱo)g".gyw9V¯㊪}F ] iU M>m=H\a[mK}UBba]ص/asysge4IkqVݪ 2Z+@*76u^DՈZ4ɒ rsK2s%Y.\:C-Az2IV$.]T=䤘Ѵc Yc %Vj G8;,Q*peJwɄ2*cJ\2 40U6}Zτ+ـ%pƲ_a i؀Ѯcd±PaƏ^tcŔTtF)l˚{U 4:Іa;N$P:+f95F%BOggSѮQ7#' 4308E@D52549A@< @B}9ZN .p1TM퐷V\qz~đK \P 2qQ@qA-t[, Y $* L0 k٣aFwWLߓZeW .so Mڵݭke]a2:LVQRFi+Ψ4x*zZ.Uk*. mXMT`ClyLx^=J8ѐN{L.&F4 )"'_Zib2{j2|WxxF˲`,ڗׅ#v6dbjFYԋՖSz0/NqVn>T |@-:q8`,cb2F#~!K}Uv<,'NZ =i"FKKd€,WFFؖ#FeA%Nsnz?̜g9T bpEk%S R0'`l߹b9FJ0ihYg, X`P \ 1 jfMӕNZOv=M FtwԿ4N8Kph]{SWlg }5|Î6TR# rd(h9C5թ㘩l mIG=;\YŪr5^nbr2C !:\dz"1ݵHHiVPN*DYC,0=q)K HL9(/H#pj]Eވ^{vNVϴyj#T = qT6bvv Me eބM}:#M;Uj@e"0`R'"`>?[sh8/B0~q*넮B/W ^w1GDӘ94}g208 @4&*,OTI4QLsYD+/ڳ,fPiPR~l)>eL03m VP>E)yg3 SGHn n&ڝެV2\c^d5hMg`iW]^1u_1v'mc7zۢmݪ&M |gp;Kw:A #9$3xϕc2[ k;DW2MU\t6RM7 .daIWeH*Sr[?߭5%v$-ׯKz}KT7M)MO+d[nޕ ;f*h 4|WƩbZԢ-teew|x\a(WI  t JX¦e}X^@J| dcP1}0[v4s"^h^;d:WS lcq[d (]5nLaC=V'+bbRRtaW &3uveiÈvD3=CXkڦC`pM[4NAW5*~IF3rtWTMX!GQ.Gid%Xm@"&4d q [ *%[9 Vr?Hҩ]RWYRql(4K*VUʨ1b)CP% beh6q5T }bT׭+j/8}yA6B>j_&h1׹j >6Cۗ\IL(ER](y0/rI(iME۴3K#]M: 'F?qadc*Tj`Nύ.zԑJ19nô~)YeYlJUBvW Ft 11$I!!CcA!ŁQ ȑeB #ˆ&d*,]A]LtfI CU.ZGA,ֆ`nڴQssl\c M=֌2sQkQvB*Bfp3#DT@"#2`mL0FH+U 4ZٕYh-Ji9;]ȍxkbPI6-=fq)W/wy&t״LJXTRIob^3~΋ZPC3%63LtbV_ EuRuY%Vq], I_V_,^^5cTF|4B7YَW'ET,Xj(D37ַEƊ=+VOj`#0XFmJ~%! Y`75Z.wVgW!kr`gmN~heV+ .Ԑ>vטTI ELl{_XYJ{# HZ#Tj*8{^4T\7\ e<ٌmhK" 1V9o^sn%Ͳ499NIo+Z^U$S ")H^@AWx:5oM$aJ4ԛTsĭz5/QڕeOggS@ѮQ7$I(<%B4BB   477E=C76A?d]d]yi`e Z[(ugpX`ըu!eϋj lU Tg |a/,x|& ^qjcSY\H}Te8:;B__deH#meA{F@iHFn *Yrp8ӬtfkGUNHG[|k|j4ט e <|`.dya48ҰXgk%Vu]3e ]v :N\~Kნ `R[\-vSt;3{FXesk7f8r_n1 ^,y0Ѽ_{62G*Ҍ8][`"uKĔk:)=U">-aeؙ2b.3gnDR]jyԋ$IRw'r- ՍFv%^#T9"$wuagL.t`q n‰26Z,ra:r!O 6w!p>b>Ѫ|FyZ'|(T@> FVe!.Vȑn0{PK%%1:aʍ75, U6[9+,%8rs5*k^ݾzg1g$rDT:@]76y Q5UU;""0p:.⇯Uj]Ir,/EW*y@&e[ Zx)1FT"ޡ"5dX&ӫƴ%ebah0.ޘ!a܈h';qSkҁDҬY*]$5J*U$Ut;Nˢq$`f^BC|hWpZ(R(JɝC}1%J𒚪sӀ {^+v$=YӀwͱ< ek5 1~5jdW44qEn{ ,Q/xM`=>TjEi\tɌ"RP6@2~񤔳K'2Kef4#ꞥ61FҒXRn .j(ZKHY)!,+g҂(Іr .0 JZB "vR‡ֈ9L2t DNa\#Ydumo<c]kC.O7 C&"͑5ȃM_l r)MJJT{ڈNX6}4~+ 5yOⴳ#Oo:ED޳X.V5 h/O20ZF Ro^$_ouC hjc3ۡtJYc 딥vrM0"kmd_w6Dn'C. T9 1PKPEd:tPON  V [}L e-nED ]xH/K-57Z#;X_fu}9O tB~+ >1܆̂Aс7YoB={f&*W,`j"V̭`((CMaqn#l I{MP I1SY@DsøZYfea!C&J: r-Yɉ 4΢ kE!{z0€KT9DGBn#DŽWtO~1uO-ȼYuWnϊ\ܫ"ӟśImOL_/4PK 5 (p%7<>I*D*x$;EG riFew+O (ʞqb^Ryj񀁜3ݻ꺷}jݥV U6nĝ w" -d6;2 jLSX i*= LoM^Hy֧ګc.IoLaq202&K,bV[䭈JJu:mg'P_js$WGɕ A'0俫U3i1B}l~G, \mT[3l`d T&Q25YNC޶L۶MVi L[>P-k t2+{%KܞqE5J՚ī1G%t640H3=Q$3vPrv.{I!D",7}Q~P4͵ԩL]jlUDDÐV䍡k~e-@ XkPzUt`}|dZүʺ"z]+"}IۣҲQ zfG :,p{X  seP2u M hR.E4ZvX&R]5jFHz^)d`&Hڦ]mW/̴ŋe$SDZB*"M,P,e, @@ӴD$%̨/Rm\cYi 6`dAXMc*|{~=) pŬ3xz}m=-鴛@l\] tM1U\EQi*ތ:8Sp6%3{9g9"jKG;>=>R7a@QW&  0 RJJ,Y @(rG% #VB,Va{d}Dll*͢V{A#%3(j:@x@*D㽲S䀘ԁo-C &p'#>U)^˛`DYļ@2zUYI"?ubF'|c_zOggS)ѮQ7%./.3/3D@>\g5#<&.p, 36˜="Ƙ @^AJ+.֑H|B'!Aat6V;dV T4k%c B6YP``CE#"(dhBQq(%*%*FnIS1.MJ|V_x G4kݼ"$J<a%Vބ[ELD3r0:-,L>n5\_k lZeш8cisEUfH *LaGӓnۭ2U* Rbe"a:5R{hO~ UWBB2*PsʌT cBPT`wGåzBq,Tϧ&"{b<ϐ<΍+(1K #61 ff'){p4a(2\tvv!s_ݷ>dP81>fNd(H >j")ظ`X "i*J婴  Դ^t**& ңHRM$c0{ ۂ-$mi*ITұ/T@@V4QfLDx2t(v褚>iҡ$J! N)6$6gE߀J Fvpx|~vG\l vhb ({/\rK؉vNDL>.:eqq>-l)Zcs,f&aUԔ b CM(i@@:iN -D|jcI'&J8\ Haed,6WE&AhRHY60R„U6({ xpInJY $p!E jY6/-UY̠与Sy8Ү*sG7"4g u%NJnV9ytl1N<>2eQfccUmVqf&rU#tGGr jrhzvjݣiF)jĈZ՞W՛D D>!ƀ SձZPt+ y mc/Nh@^NNb6>q}K,Wzz;m {{d}7?i!az'nT@Fo$ȗB qbv:,wJdab{(e|˚DA[u $, `ITo&(uôa4"N L4*;jItiHT:T1UjC% -(R)'( քI0hB5"@@?f!=sW! ݂[>BB3%:kotPBp9ʆ -G+5j`>J(Ȉb 6x̀,!V, `ZX6PG`ZcJ9CP=z6"*TTG:t#N2WR ׮PHUp ,Z9'UUJw3X[ d $*,L B,{YdIbi S[{!ٻ5WDM_T_{_"} ЫZ4Za Ѽe܉ BfT!ec\eHjB)J۩TUu/sCh@F Vh maV6NAiK&޶C m ́Cja!N~j~vXc̹[CGkC(#0ebpZMt,ТN~,|:cuWjCuR*( 1,檸 JhhTnX]6[EuFzhR-R\%J]J;8rEڠ0t&aAH)Yi;@`նLD#Hg)JΎCȥrZ[IH@sմExU*W0$.< l i+OT^ 5RѪN03}hZ#ԐA>MZaeOggSfѮQ7&" 0A<3B?>BFC,ޔL1`ůK1`mzvϒ%C\&xjS#A,T 1Ibj! ;mQˆ\U*f5dH0X`#!B@FvTIY֊HJ9l$J0i;EQ2`РaF@x8RV +}w/9FeqbW^:_q;xTX.ma%G\gFLj3z3R ݅xe j7TJu -=&`V{g`Y":XVU@(2XҪ2(f-fXOg+oyka%j+*z"TJ&ȴB*/!`[0-GSdvZȒJ;5m @9)'F T]"XDv\*W^|SdGזyFmf|ٹPQ$yH[累9{8+S t[(وUR7 D=ѸL_o% A *R($,zx)(EEd!ߘX0UyTe58WxlO)r2RU3Cx~tO$zE[$ru*i4 i#z LWɠb4]%ѭ)A3ޠbSVhBȱ)H0$a IzX8uT[NrS- Fm+&B3K(Qe6W&  $ONɉSd `Jb{rd(n(azZS-%nnJWJ4Lg E3E+C@IhjsYƮ3N :N꣼&Ӧ}TjLwLn !nu9۵*{ h:'5iP;DaYjYLab2LP[F):Y,8d]HzV[u/GIҭG,UW_UU5UճGS ={I qFFJ esWѦ#Ͽ`/FBOÊbXT E: X%OQ56VIBBeƼ#dG4^:7av7ӪTHIR`\X2xe$Ȗ$0u^ίC It*J *Eɽ2Y4N Aڒ*%mq] P]˜4xa!Nt/7W59-r!Yx;F-Fj+IThtV^˅Q&2""C2 9op :Ke`rx``dZYĆq-گ{CF_ Nd%'p fźMQm+VvX1ݯV\Paܰ!,H2%j-BH12,[KFFM/BVxdH)DQ"JJ;jgBI0Xu\W3Pc~.:\kae&rsv;ЍjY?d߿czUB"+'j]-&ŚVCV-"n O*IV[L7c9a(zUJlbRνj~dv}y[9AކUl*c"[XƵjR Ucwق/YhQ\GP(PPGQ~3%a$ۥDN,8%pHBRM[$Dfx>5D\fJ<;fUK1| Gaz!cŶ-L!U~}6gc}[h GH0qMW9Dt%~5݄BZգ 䨏LF\s$E\Ru5<`  4=NUH5v1`Del\R&L݈hT3A%!N+6 L0`\YĈ*Y43iE;0q"c dB"!0J4d;H7BlDZZ"B21]v1z=˵s<'! ZJo}}HTmLɦ3r\mYtB6`1=L$dN )p.VeYPR#bqNeq>m+rxօVA9T62Q9g 9ƪ ky,1 ͘],|uQnU&C%$QyږzlC )V.@2F`I)! EQjP'mf)B^23QAhF I+y "tM*Hz_"jp"M HHD'!#$#P&( ?Kbպv|6sis=~]WDi,*0v$. J/b (sUkpKv XF(J )vd*=w^UV* 4MJ$m5M]uK:KI`Od_Ѳ p@s\C0ktC]l{QĊ<ڽU畍?ˎ݊*TX?u^z_/<{: 4{'R\zx1bEUNaAD[03Dd"C9ϱ5s6_1b{?IMTUM#աmңSL>AL^Nbfmu3 dT,JbcDZ\1PB:ěsF\ Gz]6,H?:Lx}†iaə,FܗEB.CjrA5oj VƫkE#=@ZUEFۈJHRN6Vk69491K ;eF 8媜WhQF;1[zq\ /]^V>)~1,.c}\KnEUt naJ%pƹ-霒fh#aQ# \]e][g(4+2c(L0"N I\q˕JتLӻkS:WP#S(G\JGnb]R7jU/\LMH2qY AaPiIB8)ejf57.OW3x񷰬`,/@5RfV]mkDhm![Y;d"-JRu!;E4%R* TW.WN}9#3I@w5 H%[b VI'LW]D`\V2"4SmCN6cRhUz3-[V12T|Sei},(5ʼn|vﮠR-ꊳX&p'tZt*Q\Ur}UYխM!C\qibu$KiuݰBde Y: e$Ho53privbx2gos,Vȭ_gg\IѶ׫ٲzV<_d5$2PJ Ib\\sUMMWφK-] mJө4D:Lc{)L?@PjJ i$;.ڝ{X8A*0,AT]WT|ZըZU&*t]2uY-˔Ipcɳ9yWW;^0 BEEgtiݞmt:)l[l1eخa(%+L 8Stڲ~ QǯsK0PӂZU2@fcHZ@x1GV*j,d,fMh` u q̲j৴DӜb4ߤ∳ T6TDJ襁i\@U.iTi"TL(cZRHUB-JT[ I-R!`JwT8tUdڠ -x2oH%iX>cPm&DԸ+7]B+,մ&ݞҶU@^KQj"/L-v.(YBL01+ƪ8Z 4'H.5e' z(H4fC{r )%K!#m+\ 81Ch ,*- ڢ4]#%†@9z'iмM_ T;ڤ|^6aS?O% Џ?4!i[^=~ѲhZj28~qvAe2WEG$E;nAGo:% _"#B"m\0{0s(ǜU6G7pFf' (1q1D*$ 5VNk.MV Um [ )JD+!MHUMքhw.X!#qA y-wI~Y vA \biۏBm8@>EX=6CLzBXkO[o\G2؄jTWQe9drͩ%dtR>d23ZTrr260b9NJd4IP,1̈́&I'ҷH1=ꤚE3.Ix]CdY饤T1bq*[j%<+H6`J+@r7) o@ZTҩ^+ieRO8½WGVu@V&E-0\g2]tjv*Dϣe6 H$Tt*&Ռ뺾) ,QHT&JZ!9$A\bA ߋLKl`ZrS(jL`hBM#giv/ HUV%LQ.lz"ӵ^H(Z&Nyby H1*\ $0#} g\qq%Mfwk:YP[xIӃ&4ڶjEV|[]v[۲E3gQhTr[*8mw)MUmU=o1?mYU5{q6ݤl[F٭c[dH 3,YEX,޳gGi}.*4tz%`|%K+E"k-ə;d 1c̹58AB4~0>l'YTL֕KKm52.B$;1##Hw([ X!QJ8۬ў5Hn Y!$hFBr@ƦFư8$}j)QuM0`QK`k$_-yζ!w'K0jZIz5y4]ȳ<ځFMx#9PKk3ԮU:>kņ%0Ոo M+tg(;] ŪYD ALHL؃pbq HGw.W\;^ MVvΊYYj^,jR l/ `"U#(WR1"wtjmUiFC$ 2*Aɲ[#K*hÎ2 ٦J-[JH踉m,]SXW ـ GyM2-yGKKkfhzT;n˳`~ w&IޱAY}F@>[&ptPVq=gRrUUYd$Hl4'aJ%mdaj€Ytɪa0@1T9?fd"$*RL! VD-g$j@(D2P~Y5@ؑq "&ze d[v ftuBX*JJyK+*Nuk}Nza}nu] _ v$*YĄ:SI9 ]dFy-g\f>;e6;B;{DYXm Q91cXUrWK GzHw$rVZ=7T9ECe@n!xH)0Ze$cQR c5P1aiP"@$Fe`G,PuL1BVؓ  kɱ`RqߪWgU+i#i30Z(<VokeoݲiJ_A6Y2$bߦܶW(?esJE %9nM!;K&WXjibQ|0HTD yJ@2b"UڝjJ ٤x$@SC bL7F3j(LeVUF9lTͮTJŢT׳,"B ԰\Y B(Qi*ɲHU&%zv'(1=MفXXlNk'>-}ɹ%=iFαW0OggS@ѮQ7(7ps #%'  "/¥ѧ0(A.i#pqܠ[vIG=˜`+V H4ruKrLU"[7oOh4g~E枏~\^SpSO"g(PH.]3l JJJ *)j&'N]i02Mdw:3XX8`Z3}k¶eŊV1BɭHmsZm$]՛@/˭Re#J(*䐱( FxAs팫PLZo$9,3 sD`4K9sdm"G)UȖ !ZL(Cyk5~ώ{lQgUldlӋ` ͌]ܱv -ipw&EPQ~zQȺ[f5jjeM9j*IDТ=KfIXr ^lz<1x"agAMVN*"';뵤Vf'r;oYR9Z(Ϫ^rh!kA0\k\43{_;Nقv`ָ" D: ~J]5Ӎh tl8~_j$UDe#J$U[u hmj{Hu !O08kY;"m9Igl {Ra9^4{%#aU!źN&'&vvQTrs9зPs@OOHڰþ" G,a1M."``-HpXNƒQ F!"bliZZ^B-v J#R` G A{aI&H&6j3/v #3y>p^s% XM͔&lV [iwkE\ L~J0 4Hq]NZi:A zn 7^[M p[3P}42+bztHX)= 1a-9b)m{h@UlBM(&5׮qN;vZ\P&c@9ոqɴ3~J1ri0gfL8 $eX-+vGU!(B}Td[MT:EJw WJ1>2E` AR%>?ra DspAe 8ĴmH;EY9bULj!/X_V J>2҃ևV@]2H?#ځir7P(-!\k\&5.shDE]mJa5ѝ3 GJlE Q#$^bFQ'4ٳSdHҁ"a^G8lC{l\v9"+fm̺X5&|w 5EI9hzȌ,JmGrQZKO>*̬讐pb+rj_ni+묓uV2:5AɠTrIN ؔ 1L U&=D$*8dlқ@Kd) {IL-,0x%KCV*xɀe0\z γeSd6~xQE+Oq=twT;omż-cO .iy.ԫܸf~6k xciAD,6} eD'JLtMTT`'ZͥahZ֣֭{]ҥwSrjĚZiYXFf;Lh Q59YXF MG V̍ zqW@* HG*RRmד\6=ӑD؀W:MVǂZ~!`IR%Nե@\B|-L<֥@ 'vЩI[P+h6:`D:udf 1*04d^o8~+}d@bM0>ّyoݗ[J0Wc_ʦf6Ĥ,CϤjq}YyjyhFzt~?+IևJJbrf@ؓʱ$aNv f3."!hv3gy_(%Xa3] -_O` "M@nI|!1F%4ȣk^7*ՅNRVEK8*%nB-z;,QSC9Vqb#+ŭ F7,=O==1T eW*\j{ݞR!҄^Io&G" S d%cNu2\ז7ת(h4L%F<6IbX^JY Jłi'v* Eh4Y*)׭J|D2hk FӮH E ,cC~ 8: +ۢ # g0&C_ӘH[im*Sd P\6u3`Z\QĒc.b$wz$,ju_eJ[^RIG`n{LsǢ?^թcWjYɚ o,؜ȼR+e?:M=ξlVv{֞ R=ZQI::&L d@5CHg 0q,& O$RjU4:C|r܅c<"5tuHq >A ,x עa::vOO`>^D_`? }⪃O9=dB,rUr*[AD*M:6ʄ M X#bitMeTۦ($NIH0&J"0ehL Yː 0*'UEd͢X}(AS SJX!zbi27O@3YDFzH62؎ ;9asO\p̧S=f{IjQlQBw*.<( S_G/0;v )ة)HROggS ѮQ7)he,A@F566524B? /402213;A65D??7 DTt@ -693ʜj$OZtfŕ+fj%qdfФMawV&HF)ɢ͊$$4K6;@TVVoWIAq.21D2\; k\ Cc80x1D"ĮF:&tmKQffhDD9#CAb265 `E*/{D^Vq R;&2+/޺!ޯmsI N t|;3̼_UEN4Gd59kA GτNYHjiGGa]6|Zi$r:VW:6IDOyjY+Yy2`i\FuVύ6};VDV[M*mJNz ڞmW*DWVdZrf5 -m^m引>y?}i{D⣚hKH+AJkUn[Sgd[D=TY Ll||l]>YWHDF:fQKZ'WڣաiDOu2m%]iiRz;Mzk1{ϵfS/`7eyŘeY) JyaYp=2$puW5'&njpDBEHMJnӤRmt&]m?XerNRnkզ3X) P"] UNC\6un\ GlʍU#3Y,PsFSڝѫTa{]+FX";/oƣ!Ŷ {TӤURm%RV~L-QBtL-QBt6EeJUU5Z{,FVh"!r:5$T#A08%gb$%=S%dUNJǗ٥%OFC3(UEIK$yK̉;5U媍JhMh;"E@>A bkby/:ڻ8}hG;$OMR44 8\n5Uԗq 'h9s/XTD1$d%Y@jE ⋡fXrRDbTWTS.mPd@աqlz52{~"waV NeMUJuPv*Ċo~G &3xC{=z~]4I4Bf6:v9S`PMԕ"_KTGOM5DI9V +XHbdWUUl<3 i.AwݡuG_ݚ0KU a \q W ^ @0rbB mEϢJAX`xFKX%mY%+$~ZʝJUA)ΈB@:i8Du[ !h/f^Y~Fi1ũN _J6W:mEhRHTcsrc(=Ns1UQCFjoBb^/ӧs}cg7R /2AZT7@>Q56Ů\dqժiŹ*ni6QJ"nJ EX41)Wd]Ara$rUQ=Vk [A RZ_ɄtY_Nybs>!4Xh6@<8]t-Rf􏵟 ce3AZw=#t۶V>FD96-AqAIbrU1@GM͊#+G4 *m Ud`^@xj4oNB;Et,\&`稭 20 UL$,V[(hju5DN4RVV<!!2t.xHc]ޡo1\aZ";4d,vbU#ʐ7􀪩. F6"Z`V5t)TUل5"= e}n\Y͋jRa=/U~f;6'D_J2T\(9pwwV214Rccoщ$.ܕccD7̵4Yn͓M{D"$ZQڄ tCnu$9m 4۸|V;P@e/DPcAhj.NEHw"\ C$fqeΈYd8IJvtjAy65Aq Hk\@, GL(crg\ ;1_ب] ˱{@x#2b*w \F+"ˁ_ Cz*QX;7P`3k5ԫP&'xTuBW_6$E&|,*A*vtW]-V׺ݡu>O]mF"VV GbC V`R*ro;'aѦƋe]MQsD-V'ՊJnOG$A?,٢DrٶGİ wD<_I7%+Da|q0]mI&VBE+MwYY(1eK@˕9n 1`C%)pRm']/zs pC>װ xLdtJ`;0tuUmmUU[yA8@$IVA],EEQe`k J2MsIY:zjI2ZJ!O.J[^p_ 4ɠQ _[Q0kIno/^C8\oǕϪVT:tm z)U "m5fhf\q3Z#sb~ccf 32Kf *{m w96b8/D(T]ٻm"FY=EO Mߡi,(tLZJ˲,RPv]0ÀM!) X"x&1U:mΊR@23S^ð{Z^"B r-_uTRM ,-H2ZBp(Mn+/c5S@$-NƮUYWGc^:ߟM e9cur;6)a~^]-jN-U)ދu@NŶLN2n1\Y* -[^XM>9LJ=<V=}3YmWݫj0gb]\ޗm=ή MtVkWPtDz&̀˲,q֎uk t7׮bL`z'w`yQkбVMX'˥^zmlINrKHtϕy8ZLXǽn+  7ಡfjjiOggSM ѮQ7*N3"!!  @DBE=@ʄ^F eK? dI*r*TcPG!hXe*0 A}W*zXq,khzR`^;q(T4A*BLT(Ȫ̰SDnVY+3]&5wR(@%YEAeH*>$= \DPݤv{rbyȪ$Yc@9]!y 驴Y-5WhJʊ i7k0S.1$gfD= 5hj#$,h)Ӊ!c 57X=ǞaDG aD@,Ǚrۓ36U p*aOB(\4Zr31HW-~u< a"@ ѠSjАi6.L&m\HC_/lmMTұm-މ$ `PK]IA Lbgff7`U* =)Ӧ1 U HEEΐ*sךK?y cp*⫈$c14qfS}Za+٘ADP A Tf`N+"2&kY2F6e\]ia&0 5alWU h\B,ȟBl+[vR\M.g \E>ѲVc@хȩ6a-4–ᡕ^~h BzCԢF $.0#3 H9VX$a4ь %-Ε0}b*s .pvګv=UgۗSmiYc!ՔZ2wS29<M,bIP/߻1 ¥"EՀ"؀z}1I/IK^M)X@Xտd7֫o).6Pr\R+.;$=p -Cuf́l3X6eX LfMD%Q>>33l"@ØRY[(gtb`uEjY|R*ކ8b;R {$^p!X9 VKZ^mM'D7COɪѪ*^?+rUve͹bPSWa+ , )([,,Q7eShiJV TuZWw-sŨJuI@ڨ#M7<{vkQ IUiUDSmTb>(H6}<G)]7w>/޵kJj5wjݤe<b8kQ`xѴ轓sSfB^$6Y@[t=IENʶYV>zV/ [EjѪEqfj8ZV*{5b|Z]C` Q]'HWzo,Ō\ː{pfQ@5sx+֤^!YtKYn+M_W#zTz6mGOƨHz6V&Har,YgKb+t*46mU+&it~NzEpT;=q<2~vecmgv3uRi'z5q= , _6@2=u=-y"9B+^UsgWs}USդ]P̫+Zj4*5\S6L)hjу ֧i^)!A :qYH4*n zqd[.`Gc`@ jMAnw橬3AjzI)׮"P  Fk @"+-1#_/@;Ao3FU,@f2%~R:ߊce*i-R,-#aVz8ASMiR<(Ӏ*-ˁ@V-NS& 2MX bT W0y,+;5]z f̊[]Z-p?4,keU(/A)RF\ Ozkct0ДoKB[Y%#+IpnŅN#/63|f^Tu ۝,XtH.mdϤlreY`RlXłY6⨣Nt!+BTXC=hPmXeI쨅$MNiBY$6†jbjT&$(p hsδGL`9w_kDX6(A  )D:V|Me_AˣMUEn7_Gރ%"J825e8UB@* TO G?@m'1}@Ri҇h >"֌.,2l枝J+V1 8[ǒLL'h$ 0LTmچoVdIESUJ58#)gdxbaGR6SUE*`0@dz7n2c(FJX!94,$?$VC)l맭J92teeURTevsfS3Wea6>n}jB.--k0]lY}l!xdGUU,ALE LŰDF'XQ (&%6E& ;,#B5w*aB*d liˀl\cAJUН cd(EHeJ>D,4K4lW1Vl @O)vob,&&R:CH8EU"0N1}*dB ` 6YHam[hMVŀ=ջB禦!3PV43JEU'jk6JIV$SHzZ"D %z&&s>? _[_b>T<4By4-mU+OggS ѮQ7+ɇs+,:;< 2225415C@=>31CB+00.<<@ ^N)ߤ9w\ʵYebH2SAW]$$,4rԏAT =ݦTZ.&'۽=ק;̼Mh%-HV QG?W\xUi>Ñ&,A zV pfg=vDG:>;j m8K]v \nR F/u.+Dzb&XY, *Vk8Vq$dhL4&a:H7>jd)dG%\]+RA$`Y3 5"Rku-0HBJ\)YhӛT< pt#yXᘨp>@@5Xk֝M}D8[SKDYh9 >!Hcv)vX"lc"HPTUW"DN[ d`1"ǻe,\f(t2&硜Uez5l.V"STQ*"& MzTED(rYm*RJ@ѥR mKl$Fip`T WMf )44 j=,p&T xXT(T-F$<v@#!BLo'mUT+Va b,Daqde'[v "qH QIVS4t#$`I(+5Y`,%P9XV4VέS,a!2B@0$ҀЌզv[=閦ڊTT *(pT_(a,EfpdE0ņ0*Yj 㜆`c PqŲ#Mɖ;B Z4*Jl"IoPDRE(P哲|4KXQ˸qfCDa' s:[7abS B ȹ(πԎu*m)MQH WJ)IDYQ*(0QMKmWVꪶJ7$=$Mj$::_<1(H@IA~Gq)eUrI$33f'[bSʋqYՁа}n"?CCATq?/e03 )aKЦ;G.l ki"*nYM$h f>(b5&✳ugƼ #yhᡯ4Rݧ"†{a򷬉$$%EweT5!YHq~l/,t3 dWN ϰ5R#/ z9XwU >m:3,C-V]6Zg׷$$iQ+hJi4Wմr 2l<ҹ w֯ E ^*V 5B==JV~RZ-44Cu dcn|6ffJ2p!Hٸ=XSMX ,Z nDaz\W4@N<ӖhmZb r/kdaWTZV)Hr ?xUEg'E&MU'sgch׺:T]Tc*ύL5y/@(9:e7 b@aiwϞɭu+jJ9#UM::x - 6Q֭dER)cEO8#G`Yr+ؾ>-p<=$HU B7:d(ͩZү{lc6:,RLְ2DHj!zdiE:ɀ%"y9*:q$$ŀ'˼RZ m F0ܲdJNwe yJ\S]'JבXd_U~ڌcNB:6]!!9eUڊN4()-**, Xa8`ޛ=*WXTM1LhbZI04 ccQ3ā]"$WҦ#MYXFLK5XTfIB,&Q@ag`B ZMX[XhXHj, Ė#JvO:t;ˇsS7b@gb]酁s,+ 4W&:KIv%,-jdr'Q UWIH_E-{EQ`؅Xl`YsU9ԀG*vUqT #  ˥n:"#OFTWƒ id IE\Yr<PxRBzHjtTuղF&$BKtU;\i)^݅b #/N]]o1on3PP؜RKK`dlY·zkFW<X1(*Q[[dADT1pܙ,rU&h1RኝS0hJX%Q8#Gk 02@-MQcӵGj JځP@F ] )&*ҩhC^)s?:CKP5:AjuVYr_*]`d]hM=dw$|3hI kD[$~^ y{;$jU 4YcdJ`!EJ^=&F/= $Ml -a'f:赺wh8P~oHt,O!umV:--^6T*pKQUe5WuT YSIMM)8fCB TE@,˹مݞG6HP'e2L^ZofY]l-- ٓ?ҴmKi:=DQEJIjHO@JuVX"hI,{FBEݩZթjT_/ =fP4 SQ_]vnMZ#"Lx^V6!Zȥ1^K]J "Z|x@z؝QF&3oʹbbij"$dtU'fȀ1x ņaDdTTWCIJRvD n1 R)X*5zTLl8)0"h#d Q T*J? , Q>B1($a"F`%06o-~MR^X.mRIӐ{g Ax me?̒%GmÏ&VzNRAt*iE9l5:J rؾQzb.H.`XQux@ Q4a ݳՖ陶ڞMPv-X`P:TKa=G.b `TOC(z̋!T⌑KЯPfR dFX Jt>vP[Qd#ݣdZ1 X)˲fFATxiTC vǸ}94  D5p'OggS ѮQ7,n#w%>B# *>>B> 6,3322@BC:*4P tjtڂ@.A"T2sbUXM-` D# ,FCGb2ժ PdDB) ڎj2g⑕2l.mFIX6 `RqI*HIDKNRRm:)ZrRHT$>hA,FWB<%4Kyo.kE.-5WXlz$'tB\ԢN}HE ͥZ*՚zd8ȝ\ #;CRX5ZZ2:0C*UU9ii Bؿc_L b)%8M&8r :`_ȯ6o c9ZMVn5UiLIYG$ds5e&x VWV&䶭4˦߬mw"^7Izs-Z tm/ ״ڐh)TYʾޥ]N%_T4]C.lnɪεgX-ZUr`8Vţ >2֩ɢ,HK{I-e*V1;XBtR#r4j y;G$$YLQKOկRMɲ,G^V8 Riv.A%X%)0q2!S ˲VRTX5e/Ƥ]vh9i65)m>UZaJ-?^!pu'S<&nO @uJ1KzB/XG3\UźMMM5VERii޻O`|8 0fv3 ,7TWM"q&jr%*1WKӓfi꒢sHϽ85ZLPK,;dP5r=Ͱ K/cTE4@Fp #COkʊ  $X= )G0SoEg◌C.w܉<0~H?GyyUOW#p[k;z:~Dժ5Yv|G ^]2a촥\ ={ 1bebQl1fF㊢@D,ה jVtWEs @1hE! $0@n 5n}!lͺn]pPYVbr:… ~REuˆ+fXUZиX<*j!AB¡=|A6* ,aWO}$ŃEjPRIлQn-NE ~CBCz :@փy,Um-kCFزƸ9F7p[ dQ#XUXQՎ jȦ9ax1,R' 8 q?XY`@<5vٲr42F!(b!6Tzj@8| sTTe*$.kR)t4m RA\JR,K8LX^;\r͗ yG' UZeqRC[`L]@D_Me{Ud6Ζ}@ 4Vs}XT+f3{*/@D,'`pU79 !l:۬JN*VkHEv #v\7 4K4Q&# @@řFMTKߐ6,R +%M)Tyq]Zsa,E=d*L_/*30/4HVr.RmwDɸRմVR|&ҦJS6C2Rd],? rͿ:A Il[=q.J^j2KO%YM 10ᨦ -jgtZx(-2je,^Gf .YrqrWTqѮXh3-C8tlj4mӡ4m4EJT:s.+ǰ@0p`6XB< TC)՘إ"P%# I8 nPi1nHE#-kVaj5J. rk OEc#)@,K܉Mrs#M4D{-Ȁ1ٯB6,4|VUH$UvCK.J4 0t-R@0ތ%*=b\1&YL%^UbXl4Zhl]Ĥ'eŐPqQW)*ZIt)*JU*%e[ؔ1ƑPjs^./kWFdg4q `Dcn"4(Bd,2 RF\V Nj$Vkq FGັ} A?L6p8Jzqqw17͔kJmrT+X*m'*1X!'Jۖ+-UwuF3ڔŪ\Y556ED4u0))PaLh'+B%"5LA84 Lh#H0~ܭ&#+LHYӱu8= Bl'M ´*;B ƒ+FALuY* 7ֹV8?n :6jn)I7"\'-K);됀M_a9'*E=.PHH8Y ]kr*;0 eDR$jPja=!(aą@*! `J(dPu wA "[ ]$}NoiV @ ci$4XײHt)wgn`@Q-]^p.-r%11]{ΣH13M".Z`4dJcԋД*4R4O{MZ8 >>H/ڄjS%5Rֶ$T'8 ,Ih%I);u+eAlIϨyMh%zmd349@]colzLgm$;[]! F*cFضƪ'iUAwḲ`iHT2QUՀF8D_Iʪ=I# u0I'(:,z)jo+ ^}_(( }2O7$>@hnX'MޝQ՜ݹX8'_[*.as% GUv{(1B\ۊogI [oò<?~-o>X'r~?zZmcOJi lY /EmÈ=fК>MꖶYttϠH!6=j;=MP+W*d]!6g:040whb Zzj"E.U=SJ(: f [< 珬SoQFd;K֒!rb+I Vo4finVPn%jCCWX\/45`byYeieMc-5 Q}c gm w$&Eh%WiRMrT,IZ@ 4X/ Q{`8RYs.iAJ4qb4LR+{ ܢ 6"vqOggS ѮQ7-6mb(/.-3.*17C8224207DA=3/^hn b>,`xi^M5ԎYY4 3tp1LpЃ0q1DU-L  !@28 ʁcY[hr:|4C(ȱRo]8'ϘԒ3T*ai@-4\N1"f9D E;b@"|/Sw[ ]48UK;@T|@!ƉqM A|_c}e\\,6{b:*!> qGcPh A8B|4ab Rmz(i[mlsV"ĪB+GDxYэP:)nQE7{V:2,.JGjXB I&BhTVx^uY{Q1}{qHKg e-Wm^lIaaڎ"y?KTuq8 K#<(Ϭ_-%[x [h5i {%jI\h>Tm4Xrl$OS h&U/RTyYmiS+ݚN@44kidwOk#a&8*mMUoFtUtKjê>FmtSoVUm EFPǑhuzD Lp؅B\ޚJsF+R^/o&_<3&e\g5_Sao~Mg` ,E9Bw%-l5U,o-RwiYWVW\[eʲZ@d-POiգa"ݽ*i6M s*Ka6j[*d]I=mEwg)L&3޵tM$C NSsΪ&INV;ImqMF4zez% 丏"Ze,63Kd 1+Ǫ ݙ {eiqM9x@0^U g˄_Yd dP`1 8p!*=Ij̡\mxҙc`à!Lib (sѻPm2VhʈFU6JDB{JgpS\63JXE@!O9 .$VC'm n'I91-BB:>K/JH9t\$vft,ʱ\YL{$%H"1Hq#G{T]ћ!mK`a3 1) 661XF87h29gU!dL$G)6EjЫT DDYX,gŌ@8XCWKxv굸Rf\3:`(yQgxL_׈!Ta :>žD7鋥('Í&\*'(9T%redd+*ra]D U9X [4tHR*PKX226B )"GKT5ʬ#e" ȗq($=1M.$J%R $HE-{`e7X,2 0A҇4Qw:-UV+\WW3 R"^ 08ʚ/.P1 Z \R_i;NFVȡQ$V%r'*EMd08RJ%sUbE,Ib[jb8$ƥR Lzfuk+X`nڂ1؇ 3W+PSJN̪Z d9h:5G5 ުp/5q@C-ZJTJ?lRjE=ȞqnfqWݷMI_[`CP{wѢle&fƷI!= 'IhH UXVUU4Qol)H R% Fڵ 0LV&U ,KhIJ6LV2$8 f &V)9& HB_zmR 2ɋhz%ph:J$I掋OVtpu2ƤQ*r͈v @#UlT"OZCŃ^B[!fI65-qSR_J=u>H3$>@TP@E.WX*s {|f:H!t*tJ@K1*ĭ{+bEZNҿI:3ۖ-J{mBϢTgVN'lYpUY(]ZtM1(l F$2OTBh2I6imtd]yzmY[###9K$ \Jq[IJ5WtS)TH4: { :=tfl0cr,T$ kLIRLkb#{ aJfՌ=gIuZTKST8^VYeYʋey#abzE0H,+\V,q28łJ!r ҍp` E^Fk0BZVS#Սnx@N3ZO ae/g- b1gf&]1 1fGRt }e7z@ݯzDr˫۝N4x1<`Iprd* UY` UTp`Vz b0>D L0{$!V X`M)EӯZ6FH Vl(P)QZ1H`80!LhpdPBF"-lhrݣG~oFc1FO\须.r| /gc 1Ͱ _f2Oi^v+#o5|q>&+xW\0Mgv,1VZPbc$J12RI+:()Bd"dZMEm\V/(2I ]" #[l6@XBM5V`0 C۲,6P U(0r:@ XҪpYV)$CTH1{違 /JXx]Cy6Pz9Hۘ],^٧ps˙]?y#Mek2b|Emݬ)3)iəM&UU1fdu[qXSҚlQ#*5-V5FT 8q3xI(:1BBL-b9DPtep "% 64m` X\vEP e#}>r"_Mo.cLs@pLEK.ͳ;\ʮ<EDEbkp://L_O禯'{LJP^g 1VKg,T>ĕ'|;|:4ݜ r7%bgЪzb* f JE܏ 5OggS@/ ѮQ7.0*,401/?=<>A=5015022@B; >B=<2iqN `2T+=9|q~\WBL__M__ f@J qR8W0-\+~@z!D) k#G"R9{Qնŋ4Y,Q[l_p6J4oX*DY'jJ ZKޖMUGd[Dȿ@0a2VFQv#U ԕm4qU̔ZyTC T] АM"իWowu,vuRM֐JxBIs}>K/JG9t-429Lb#j0W)Y:0ku488!AISE*WJUD+TYJJ[TJ!߲[(e’ BH"Y8!ґ!0#tvN BSK5@0C KZI ?ÈYrJ,,=/WS%\ww lYS[ʶ} \9d\$mH z1x(N0HkN6A+, d]l3/bƹ{v*## -nО+ˑMUX %{V,źeG0 rebf X/Ћ= ̝\*M2",$kP, jiҤN([IWx)BL4. ZMYd"զK.W6ݔR/ ʀeˁ5AXc'2^e_>jc~KiM5OwݦX3^m˲q06)p33YV6dV,fY4-"I(APA$_1C'v*ꊕE\qU?*4h+锶J*ImBB! dHX 3f$`ƫ]8l9I M<2J8=PIeTO/2@z{W\5G-Iƈj%de+v X BP q#]&Kzdd"p=䄂V2WfXMaq$DRvLrTRD1& GaGmv+ݦ.A20dR&z L2 D\3`,BUweѿJsp|}! 4mӑ@g\n9s ɠZ_To%B&ٗL^RT*iZ*Չr ݝsoF.iik sZ yͱɳ5R,?\/\A Z#fMcU!= , r '.s UIU @(+D&bu2n]옦)VpS@HX|̉blCh*,fK|U%Q  aPtY,X«LU颩B0Xt5r%O۫QT r=E#lb A@ ыRT@BSk?K+;e/"U)p$MM4O5Oz*L O^qJhQ*E49UצUTW~~uSMiq1Pan@vNY&RmaG:Xǡ8d_٘˾{dQ& m=THP PP!^Ju/G荫%iT7jju'DWw GTQ:VZ;,!r` .XuFQ8&욖ⰎF9 9.:mtjkPX;BPY, q[A, @!*gd\f $LP״1ƀxq(B`H HUdYAYZSmXCFJ-Thy5jD,ߕv6HL`:?)\rA6{h i7{ P ^*[ξ6T'H^K]J rfP&˻i, nV,u`"G=*p0M.+WF!c^%U뒪E^%1E3WB4@B.d3C+eKbb(=MF\v؋ZbU#*W!PPKQѤbqDT+4"50(DSxӹ7},Ё-΅?44 |~.90KTOggSl ѮQ7/6)0643711AE>+@DwđnRQ~mH955N> 9"ca3y0ڋVV*y=֝YI]Ia\$ n % lE ].WjF1Vuӊ"L-ɼ,fjTrz0V'm5ZJMWEz/H~T(w)lb[@EֲH3'4KQNVjErǣXT R*BvWUb٤QP([,O o'M0Xߙ(@!&Y cL&VQ BD1Ȳc[[[f&1 Kԭ1CȞ֫_Awub( ?>βO\zN ܳEٺMU}m_%婹4>~Q3c\ wZWzg딵"y>jI*˩a]~'\WF|*E~?$j(YvE[u1߾EGRśiiٶ6MtTMl]c0mM/2L\ TiM. aάs]Ju;ꔶSN[J$6. Fc%R FTe~c\d @ Ӗz m-JeP=B"ը*>fUՆz-a#S^EѦ]^^˺e a ŁA(kq F0 eYȀ ,af!|vHz3:mTrԅ#k2{^UB_ nYVjX%/_} HhR#Ƅb-?ޣJ%ڏtf Um>Mm4GT9D@3,窊Y G.UO`݅b=d TJP9`00BBn؉Q R蓐In*uv A^6)R,\$Iw+2n]r!!ЖUFHc0E Dr\9WV~6sH)y#03hޥ{8)v|vE.c.T ix=_JMwH<k]DhǛm Wܹr j&B BH`;6O ˆtRM V2EhPʵ,lVnt$ G*WXBaJH@."W FB%B(d#JSTGdt"$òb~ @ŒqxbxȺXJyUn utu3% Y^s.-NeY'9IbrX91jlukq[ 6E0Ab EhLؓiM5mM9@VA8C9@+~" 1v- ZbU 07`%'jP0 Z%TeT): bk 7hJ} f% >e78_Ø=VdXw3XO)EW(->KoʄL 9l:=)#4, s0sA7XV61,k1$q$1͐HKd=3lUkv w PCzu:F?1Ce,+4q6,딐%M VS6=Sid ta(!C(KR.cӯiq՚1MFd?&LgK@0PAY-h.bp!@-(cFhHp?J*sHfKG-;.A V*mH9TZw>9-c"(tgX+rbI4bj"nWSP01"$b1ңV7n#!R d2t*MRBR)c7fɄW# Ufu&# B@eN<&wDe*fT,l2 ZmU*tj: k@%8JJ : aK+yWQ>ks AŒfhl \lu53{?W6V ; QY!̈́QX!Gh43KW*fY0``3-I6I$>̘?.nnIg?~rRVYRh{&zdՆUmYj 8X}e֋:YG W[hpȻ^]]yo鑶Vu2 OggS ѮQ70A->=B DAA L[UmNg`8z1e1V(IUGM:U$/T ǮX K r Ă`$hEog(3$U`1dјX3-aXژ"")cmqħ9RTGz͊Ųiنae]B2 eYPȑEԀCPb0.+0p7Ȋ Ubp9XeIzU-1.a'veyAsw]/ݰP]ػp@M)> zH0} 2Nр1 B(XVtI$ԣ_ƕU ؎n޻O8 ɒ ΊqmZVjh&0AhƆ* 9C{:E@,g')$H")CK $J7 *8&4r` AF^B `x Cz'@%L0@O$zSPiҙ='3쪇jUSRwX!x d=ʦ1f~Al X:.5uvt!DU" X|I\ ܃{YeYbXQjiDcØP8"  A(;=hjS!R1[JҪJjgz Ԥ\*%cƘvi+\,@,V Tucy]clNM|`RԤ^pBUA2y<ACĘMq R2Ć^5Ԑy ˱J_1-K X\lY\<mfM&rlel:]Ī"Vh1PąuN&3Em 0=~'K$T5ֲ(UPݖOA 0$UJ*r*!MPNjv5h^iVۊv1T/~_5` =ț BwBWD?\q~aL}Fy"vu>銪2Q* F,ڨVc x(w OEebc=0HUIUЍZG$ IԬm:6C00qbAGaP0(Fo|+*q{ DZ0F @$`!aĘPec@*li' bBy&R)BRtK jj i]`o5)?nFz(@m??\%TlBQ|aee(8ҏ9Xu'd=⽊b$ڔdY f]Y [QZ\# \Qrjir$IDJ'GDKS!LvPNJNi"YIDNI@V$iԄvmmDS̢)n36SdwuQЬ%e'MRm0ȿ>wmV\aԙΡIh4jf]F].,{ + ziLjYAJn\'aX~z;ĂV~W.H#jʢJ%(l3s0`bVΕKrėj360EIMj[,K_ZմM)., ci-lrdm҈F!"`E4"&&V)uW,b;zW^4XL@+T`VzEɈ̯yhQtD-Q&w~`M$aV-MgU5+q:p \b6q7L=W]"KJ Xt[PM ,i ,Y @ƜɎLQkȊS;գJ%wF4MM6UP%,0ePbi@`Fj +WlD Rڅ@ylcUIL#;WY0r`2cp $cL/ 7-s=@X@Wtg,JHo_+qy9{fHq@*]Tv&|-E^g m"FƥBN^-h 9pɠd`\9g媒,XNl`0`j% q#bwezTFUlBTDcQȌ(+ )S/KlP#|J(#tIaՙ],@"e(%{*QhZJJHiXIxE%YX3k*=߻@Fl,=ԯS>Q*,hB"F-&Z{)"V.+ 1gѠۉ&ioEFUeEZŢ%VZ4DAQLV@\o̓= q,| UdteIUaq0hT C*a^U[bܡ*acXn\䕑exBErhA#bB%1YN@hOq3@s`ϺpFCrrCaSZ^+,/\{J L>x ,CF-bad L*bT8A(:b#٭MtFUvm*]Lb8G㛛gh[ Xi!XzX aniq!qH!2 㱺BNIviNdP#Л6Wъu OjN%wZeۇEm+o,B`ˠŎ*-+$Dh.0.W 6s @U+%U~v)8ɣrU L$8)]P4~iin86.6F0HĎ cHM$_K˄`1$ msZDt3}Qj<$2hH.2m$Yjũ980܀dnQ6 @)!U0خ\;:TbhaL)6Wz@r2|Ƴm|i& a߉[;8w{8U OggS ѮQ71JO//-/,.11BB /.)26@B?  56/-/0E=BBA?HCTTYe@Th4BTuU4!̸mh{֯daȻ5Q63 f[*_ #;2ɪS0$Tx7Fw{ z 2ڃWm2 P`$~v|IO|y!<|})ˋ?RjKE(K*Jc j⦾,Ln׸,eT^SUm(b#R'۝g=A LcnLc2ntJIjJ^HEF]hYusGl_+ϾVLՏBr8jRC)\wk΋^IR(dl\r/@*[j2@eQUF#wwEZ%ح&Qr} WUj laIY&%/0TRt*&жiIhQRHEӭ6UMϞ:ZNI{k)ў'^` Yo5U,JHv0\sYc170^]"Hİ8bISdb0 >bs*mڶS4H ^"4A0f$4bdtP-B #0%zQL8BnIJ+mB[UHmdƈ.o*|^ꢮ"&_=ʯ9蟉W#;c* }bFZl;nVZն:)T6mtvѦ^]&cc,. 0q)c e&rVUG1MMX-0 pL"H4.DžkRZٜ&g\B`1T [`K0J$DR$~BP 1Ɩ4J!0d"S2)H$tr`q2nt*X# -Wf ]2jτi=iq+Vc6RF= LK;pU.S %FRTSXi>W`V<>V.tg\kX``7b0lal (-YÖ&1 O)TWR~i4 ’} ˖*2D zͧHJDp NJ~݇OJg+zޖ(vYN_L4r:ܢ䳔D qKr{x2rKYJao`erm-‰ծYjõXL2gf!VŜUb Քa連G:z]&(& H4 Ssœ9v H 0XLl@bf2b``ZUb;:p`)D D2B; ARL3c"VH8`$&F  1Hd>r8 $}#TWֆv埅WmXv*NÎw4 dRXi[zkg0W ?n0-TJ't]G>r`:*0*zt\FhUۚnuA4R5-5TMDгңmPJSDa  q!cYjlj}U-шj8#\ü~52jfq*°8X2Zp" `[f.G<{n,JQ#JR*/PiS\4F[MS7Y Z)`<̦Q,D4Vw!i}YUj@Sd>lS@uԲBj r[,9"JV'r\`7Ŧ6Lf0 @aqrD :Aq "<WUϮ(TIp!+}*"T!q&KQHVJP:%LCkC*Ums ( LB˸-JuX $R" OggS ѮQ72x! %22H<;@  :>BGEFd*WըV+*>}5; g.nRӀrۆٳD-V*R9g!bq\HDU$l+=$u%tG-ҍijK*) ĺ2MyYA Q,2+8K'r9M #H=,G%>w[+1GQt):á8ƺ.xk Ե^MQc/$6O3=E%;T[* %,.BwJ W* hڔN}7>YlJ/"5Mb$v3G&IE*LulfXC0QDK U(찂 BTm:I&&"Q luYHcf`) 2%0UT_g2KCn&N uq( qS&1HᐲmP ¤"JRJ)&'f8Ѻ3BD+@ogVn0ۄ[ |\,֖$a=ۦtT$7#P@ 0 !]HET2L`e\#%%2Ḅ5KtE/.\bLn1t ATlZa lLo}OO5L[ іRL΄LT\TVM읽T{.zһAʊQi yƋ~J11l]&u t$jLf:j ECU 5mۊ|]3z3jC2@eDթjNJ֬S⦰$nRRcMwtje \Ws]]xQ߉9 @Lڹ(gF[5>UK|mGG4mxkZ Fcx1|(jV,EFdCg2S, `m4lF,U ZU$2a)Z)\.:/ff)\8i %jKkqYܯ m1Ʉr\mD+ķIdf,+ǪŴ&!F*)ך`MP۹z}*V VDV$iתНl$쥰HuV4!$aTAX0H I"% B;{vWXi0@d e,5al)vc~TL"頻}ZD5Dswoغ nWJ`-@Nw۱ adT,\Uf!)C*P*$USDaNH̰pHbd Aep68e RT/1XL:)d 92RAرBLCX\ ,7=3- yIi Bjq5l њNᏚ5DWAJ qS]i1ʲ&>8eTG bMCg\mFbN(*D,u R= %0rn+w\QpA 3˪j Hxt>W0r%U)zb ~ZO(BS[VA,L(H1Bª,8mz3S,^łIF'5NSה=^SbHaQۢ^'*밖PSI \N>e%@Op D+`]]^҅c$~ml$"eF%gRVvi; VQ[k^z_nCKkbkqkRŝrYe V$ƹzҬ&MgpG?{l@NjMiU۪mQWmi@@s,y2y{_a;|zق@L-,SՖ]o8"0 sԁ-E5,=OggSM ѮQ73̰%+HCI37;98HI7&754867DB@@?-01??<'di`џIy2ߠEGk^{w6Wv1J^QD(U)+iW6ݶIOi 0yG5)2-`άZ.-gCT:pYmnYV&݂:#iRVYkH`2I.Lqe|WM;/cvh^"]JqT]!Aժg@x@ИS&ؽ J;{U).HΫPd]&D^X2ia0WeDh֝͟9A%_F 5RMo۴le7s4!a`M~ԇexOAE%@Yu9Ju4Utg(3@LӒh8k̉/g tY~V]}XnYtcV(Y*h ХuA]|܏Qˇs6?4 -rGX;|itiIqa\`8YU ]R;$_s˜q{ťG&T$ҳR[i#U |i/-.zXr({iP/zvk4ϯyk{w[m[M\IU4OU Vl{ kIT+px )Qf5 <|rfKdl h(ɥOlVNXIez勤q.7=urF9 ȍ˵vر'`ki̦}j!6sǵzX컓.ꉨttalMfam2kJƔg`0 aFmb`=t+JB;Pjy'+MuCpx>;6.o Q[v-:CcX+_Wm@C Hb5\NS <,qw+oBM$ؙ)gV* j:Ƒ|VA$-Gajv%& 9܊@9(( lV:{!Dc(D2Z@ gM\`In;auOy$i|̙Kjq:!,7)]^rkS톦J(ladyTɲ0XR,4Wsu"yĨ=#,˒#(5 Tr:x&TR Kpk so.JތP]ucZ~e+6pIh _0X'2Ȟ̊UUGRYL\A-ԉĭ5jN1GhVޭRf ֦`ڊz iZ!(HQ%DcR%B.#5;mJj*&^ԢT>wNֵu 'EsG&+{,kLVTӜv˜Q瀈܀PRS,P=PիXTx)cZwEXzKxn:"9\LMjmY1 zVJ$U"V{0V]Daiv # u_i:ƊP0dɵD=UO. $ۡ:4/oJ{DY}jڲy"h7ٙAhЖ$X@gTd]ĤM;F @pML*`BѠ0&wU-#U4˦ m,W\qI>9P sƁn'nM2!h;[J!Zq)8{UuU TtU"i{Ռ$ os'K\L"N*TyoՎ%DT]jTaĹ1Jyw8DjeCґ^ح%ҕ@6Uulaޔz]X){&#ȩ[*6qә=.{ou5ګVSՅvz-DmAl_:Pf 9+S!ڪ mkɨ,4U,TDUWC\W*X+֭-2rϱEeih-,J/af4u둷_ XSd[L˶0zkU3ȶu#FtV=mo[m,P/!KU,MUS=۪w_f"v)%=;NR{]Jbv@P_[Iۣi-:ˋJ+H4A0ZPxY,j&fYMLc"9ў[cBMbE2s\J.=*H[ W &M9@H q**tEtmGJ*uBUmA2#c#YU Xh'DhӠea .BE&;yZ+gs4C$h|6|EZ Cu&.S MHT(̣pX*>EFDa 9,i ߒ qA `bUࠆh+Rwt[RF܅ˆ 1C2DunA5<4H*Dĝ@snU_(d'-QT["b@ x )G<e<9>m2cۅiyoZ{Mw-VBKv3Üu/it- INMSM>KQFҐVfx" XSbXU`0b(D"G 61l j$pR>;TGġ0`! -* ~T*Ǹ9"N&J"J5+Y  S d&u +-@+UAQyٵCC0 ?:nYi8 2kO(6](/ʖ2sXFḞpŖPTz#mSѴM)Uav9,. Of̌m06N儬XQ$RnjQ=fuOʡoIʫȁstKu4U)H-&>û)%zP%HIDH@61Bھ~U5Ә!`ۂ H,A@D `2R81ڌLB4˳_DĢH <]5R(v2ᥘGfx=lNS!OQ>Q&m ,I)$JsXiA;-vR]n( o>j:LM,~TN% f& vEGALD"[]Qm4A?֛VEq*1u%Ȑ IK}eLy2ZFD$uk@@9ݬ=tg9钕cU:8(Q%%I$:$q4&R0EM^= HH1,:mqKG:I*,   rCx}n,vCH6:4Hm!.Hb2;ldB +DaBhK(N*ƕa:cR k[ C2#C̏ݐK Tӥ~Whu=@Q[#~[[JřXJ)T@Ґt 7^Ke @7KeƭhE`F33 p1 XĭnTC\H ,eTMz;Lg6SsuOS6 mXdnbEXB#H5e AeP.% -cĊ2Y3GB%r.h`>eN~i*)RUBBKPۯrHR#u4Ѡ=Uևdm#U ڏ֧3Ǝ:#mO1s6M:/"OggS@ ѮQ74}$"'"#64?FG89@GZ^$H,C[8X G,^J)tU# *ɣJ Նw *FF S_|u5g}c1+kNعbb,dؖvm\(aՊ&yyW1v1&ꅅYn0SɜGSZI*b !KEBp(eD-@?J+9]Psm<9H]x*5zw(!B9_.=̦u ,)w۳c>@ӾYݛm!J*Ү@۴:5FsWR@~`g,!岪,bDT\gKTK4=SA$jM-QUv &#AK4xx 1MD[ !D+ Jb(/ePl%*tDA:6 .GvX1RYW86\H*X=a#M-׌j\Dk4u;tGO渍lq]$[͸R̴RI/8?M@i:u'x@N; g*jc,HVr%YҔIۮƝ hP j {}49㪧W</_©Q}ɜ{cakҤcB@r[ ==%Ū`F(js mxX *.['7{N^L,F.5f{v~yf^J KeQF rW"] `;e{j%XJVJ2(J%Gm?Lݻڱ|׏ 'ex^xxz̞ 5œ .a)S5]=c0KcQV-b=y>Gsh9M6Eiezu״Swb]y<Ӄ)KUJsףk,+YY4x&j.\.r8hM(7\%y>:8hEj~Jie1K[kC/LʬJe^FR^B:N2'-^|ďdX]291*cDa`M.h5 UFS1<9}h5(MuѹXwN?Tljձs`dLYCª\ S`/L - urqXǦgLzIwdJz. euyrLg3=,*WcB  B cRea$j0{6XOI0 ӎ}=bzveK$D$\_|"K/94`9'#}EUM:2:Hkw:3{ pUU565i&;d2oZIcF@=M6E?Uoj9VR@@&',=VL*hw ,CX+j0KB\/B@.Ȍ[:9;^*Z50! 6ڡѶ|u:UU)T%: ;IWj a)e멈!9'~ȑh3Н cF~t+Wҿ[=4jZQe$YzXj 5bd;{9!8T2ZkH\}^z B4EW$kUi*9iwFI/. +cdtEXF5bkjeZmG~K 4(  $T,Hfs2r8rTLC\CXv6m+Bu_uZR^'mJ5qUi }eWͭ[$f/*cߜ;Tg{umev V#mCz-լ* +. 0Q*ci$p1\  NϞQ*9ƪ[ R@Xe'VKzP[]A˖TS` kd^yk)5m92Te1!Cv)p!HVM1Nhrp UE&siP,i6UԢa`B#-`\Lh՘rK.V$*URy'3*lLS]̄AaGt׵Yn: +Yݘ8g-zI1MV:=m)*5$DA o$!RD0ɎJ,[`qL*ACf@5jzBbL hs <^ZԢ\:@BS MgVUyFFFR{ٛEA :8F/ýBE!Rܐe4K./: Ӛp i%-eUrTڦWR]A_%b6ͣ#uRVSJ*mm]_M9^xCr[1U #8zDZ5/eY㮁:gq2`VGn[Ze(tY΢NXU,q3E*SYd~jf ^Rh56ڗr..b d;^̂%!{1& @D߻ Q8ȊRJ%n+c"I%US TB:Mk'ЦJEʍ y-3yHFBcyՎ mvg\ >_9-ALhQ 4bhRץR.ӧ5rJju^pjj'+ط)dIXYU<ИBC 44s<^҃*_>uQw4A#5oR (K/#^KUi B63H ٨DZM0q"A^ƥˬ!A0%lKf ;g\(R0)*F8gL Uה~'9ɵҢ~٬”gq<8% ZX\' #fE*JK՘E 9+T 9c6=G2⦜\C"͚ۛAlR$-HlʨBp2Q\qX.I.o7x}/I-QE^&{Bxi(2aXǢn.a45l5QYFtb\TSzF%^p-HF tVhbd+-V;D2=Ǭ?vzHT"MYM[A/t ųM® f! )5cOggS@ ѮQ75gA!4360049BAD ˖ˮ;Ğ K%CNJOSE9 S{Re+ǪXY 5ydʰRB亊*+'e'wo$S ;TkCV?bδҟT2-SA(h H, oe@ExVN F͘騯r椅(,6+ `Թ)X.I&6]U jdi/$ަY&ojRRkM:_Ddu0mNٛ*L:I=H<+pXIjFz#H4"1Fd3`Tj7mzZ͆ZwltHaż9" GSL=%)NdYD)ly5pNr}S{dviMĮF2L.@ 2FSrƂΠ4n5myu+ D5׊(=.| dk>}\\p%_oxO`iͬkУ,;Dj }Z)%hbJf9%8ءc?NmYRD,ވ=թbOa@G-Z99`IHOՌPz;65UUc]ɮ,,*Pp#n@f K JvWQO450h4PӹZ(MA0X0kb^SMDQ V%dNZ!a;7kr1]icq,j~Fb($?֧"M_ּ%QB"nV+i$GZ )5W @"5I33dP(!%:WYmmVj[; 4MɣC,N%h@ZN eRT5`g""\cU Tڀ6KT7pUL:Ǫz ۭRXaث򐁤@Lb$)`vlDžIR @jzf}@KN5 ؞7j$q7H$m;R(o--SIıJJJ1a ˌoHbjՕDζ:2 g Ly}pɰ_d ɻ-ՈV넽V\HuK[mZٳjI4KMhr \vɧ"xXɾƄ1,}`gI9+705ۚL1lfHiQUGI uaaLDm%Wcɖ!(;C90 V \QjS@pmu)"A*,q eRz2 j) G&a*7W$BKދV$)kR҇D< EAα=Y_MbӺE?=Ji4ZJ-U tȵ >Lɤ3Mqi6ȉ(k\XP!rZ3b$֦u7R4Ri0+(1r<4F3wjb islM"6m&!iX݂3O"a[& D`AY]4: K0T$2šQx6U;P7a(/dKyХ1VIFDav]Zi9du!Nv*Bo]T5+4o5IdVI&L 9m ŪYPgke԰4RIHTX$oG[e^\'2-TJtK2 BS 4 YL!o2 x06XXjy6b+QeM"Ķ(<-"!ɒiDGSӢwi:*Zp(k[l8$ߝ/}7]UJ1~C X ѓYUmh\bWEcp0PyXbs[g+8pHd# !=AzU`f(|I !6 @@bJo_UPHHN%*"Q$ /`+'a0ifFdPi, ?_auӀF&"?\ԕN [Ti:6\~irMG0}D!]mOM rnG@pْ8%3欪re@C]-Y .qDF+ !uG{튋pp#F)*GE @ YF& -&[X1ASo6e&h hE7$&3YI}:ZbSęP[$W:k1BtHo)#[g9[9]v 6HV#EG߰f|Fnth(1ދ-'w&ѬbKBNd9#{ɤ;̘+WUGoT!C6XV.N4m^"Sz#S$O\ H!u5,XbV;v#ޥfH7T8RɻZzdh)RC i: bAt$O\& nt:#YX4Mg(Q:*VV(,c!XUɞeWiSY 8a Ϝ;L!"!4Ȇ g!!*!ߛ'9)zqRiڀ#ia{*-D%BBeJ aW`I0O rG ^ N߂D}U (/2QzGKH){ ¥w^9OfHv%`vGÕ#B-b/gvm4S~K ,|Vp.,tf&`UՐ"w~q87dbdHl-J'KZP1=>{m.cݦfu Lb2͢8jMc@Q^ -trmKH/~Z@ 脌fh*Wa !߃LQm: e$XeiG=]WRCR4Y]bb2{]T.^~B .D{d, a^lz ,2t`r'\lAcIBܝF"B M\ր=sʪ\ `؜m@Q 52 ̺NmR),z }Il^j]L95Lu,(H1Jɀ**ykgjd@a\EX 3Lfvڞ *ae+=g]3h$-Z\z*[qnHBH @^CXsRkek_Բ} #*8> $dqK\‚w0OggS@ ѮQ76>q,$ &45@EAB={OwP}$2&Mt:MN`c<O`cM.f.nbU\,PkM;F0-9>4,pێzjǯ ٪G4e<̫vYi>s9}1ZD(e@,X0fR†(Sv,Ҝ- 2Y p8;a@ L"s%mJoX]‹\[Ҏ[*zR)UT n+L rwպiSlYX\ f>TV5m&DvMur ; Vh@o&g>/+ @ɑoݳi|\1lRwZ,PD9H>r:(W8~Rt>lE@im|Rk/9QT ò+fX,iH'EiV'&s?TR(9:Ҟ_WYZ^i0D*2A `ɠW\6g@*PHw3A|Si٧R:y*:iNӊmDL[h+ `1g{JU4ш#*5zU :ܣ D6XM~b<ٗl ۏj}6l4YUvH-5.!UJw7ɫ,٤e.ڵIpa}wLZH[Uh*U(J{V R4NDS[ơg`@CEeeFYmE{+V/i!%N DW>*8WHO " O*F fXttrCXӤ۳t_.beoq. ){qDh878kUlRj_r]g̶@\nS1@K/h:CqQuSF85BaW@KV_kN#ŋ*ޞ.0 8^L$"%\EԔ=JO,W+~b(l>ODlC"G"\Oݪy}nPW3L1K! 0YۄM:ԩPj+EHAKZjDefck0PLKd)H'u^+466lHuHhU125 Ѫ/\~M9\K&xvpy>J&t7i8p[NJ_+>oD 䈳hyA.o};UU j`c<D8R@ k{\s[?ȐDe4X,W\ ՐHyqGVoۛHJjX%a5c¡RNQYEҔadlY}wn B QbZ^j8rh{+:QI9q`Vh@r&1FUT[oLo#XV5|WAyvXb89@.b(VRZKɑl)B L8 Vb]`Z%jV\zbw4$R'XHXEa؃"1ce^@N846hz\V `KanRi0,,H>#ѝlsDe^?.4'XyB5lb#Bb۶)_d&`x*Z+RO.$lCy*Y2v4-IV[n0KnSO H֙),ٙѣfbU p3^lF|N*fڐ\sL&>4riXQ1-٫yՔ1s F\BXF#V)#@@6+CYH2 +% UUʺ_'!2!,Z\*F FSVDT*;@ VEB:rNgԂδA[^[kPv;Hnq -sꖰ19.dL-"7̨ ^+U|:bK&jNx\HyC8= & @QY9tUQ:zo@aG%h*= \ҹ\_:$YgJOcBMzot *ęj-im>\fUli@mi [WoM v?[=$Pd^EMێI UH@PR=k2$d4D["6t'F@M4JPѧu rǗ"U++`+RХ'LeFĪr0T,H}Mw\{MaNS`'P+[kM#٭L_鋁rTŅdCji=t3>fMZ G:lCBTUiڬz lg鰃,gQi٣U\1!VGt Q #mTn+}*WV-eiXvWW dasחsw8ZJIwkySs (E-}巣/J׋U7M:THxF`#6K&fbvZ4tskz`'h6.:bA< D_=P$ ]lDH*Z{Y}-WZWiub T}X\LTYU njPh FتHҭ*]𼤭&=i!vU\aLMj/ NJ5պt*9UM};Ȱit4=;:b:u" 9l5:>;begB=(,Mc9hfpݬN W>)a~xĚ6+%0,:NTVSIJ e(<8hwԺvIuTpI۴YLo.-&@K*/{ř骤@ C"Xg:Q+*ڋy ijL᪨FUU'1yK1`QkD"`*b8wl`͝\RPm@ M[-g`6[`9m0F%e'eUe A4^Yh,rˆCHLI0D:Az"C<96t'-}4`b! Ui:Lecĩ0ș+ʐ2, i`x@`DhsY_ڋMbDByQ,JXW(^W\ ц?Zb-|FFLn'-״@-P GC}J`SKM bD;օ4(&wU T9)l(̢u>RS8JZP)T.FuvsrC"2.mlxX\( 4224G?<0 QjY (C+Ap#Ybhrvp^7rZ)2^E#rᬺхoр H2/(@U,"BCB}&>\@t&\)K4d[&N8'İbcqLah=UӃ0^KhjF $x"{sj*C{KdDYeXVDdP{Hve1KmMJ& 0T,êLjc[нf VREw EM[]( b|teWJBu**@*`C(*n+ ҕ |SJ1ɔxT[(RBQ[,{ot:U"(C6c(*"8.0pLAUzbMAjr) j%j& ٸMڎ= ,n%#E dN$3Z Zd,@@YkR9PW6%%mRI7J Pq̧hAd)2䖕,ܦYU謬mEMWgJTim7bjU/0Ԫ%t/0I5;{!dY11PlĹsʲZBl$\Y"MHWU)R)Yt.m%N;M$aER){9N"3$@r`X E @D$lc9-#ǢE% XZr̡#葿"z.4y0ki#./79}Q3g״eH7˼Z% k Taj a=2{dYβbUoj4M "{AH&/ %>VWrW^ hJҷUEm+3H 00FG)듢%X0HSc0AF Rj{W?. bYLOZqtU4EUטd6 o@]fc :lbH(tr @ƮP84~%d6 2V%'!!F+ԒHQ!2L=̈e`oA\m4 KjkIq7*vm]!vՔJGI mBP1ȍC a kGִx l 0U,BYQ;.5XHX{+7$~ei`^ j7;r0yN[3Z^ MY6ZnU@lcoZc}W+TQfzWGQARIegbR]U.e zpK^x<5止4O@Z?MLgEALHZief7dץӘ@ -}ni\OzVSTS]2Ƴ,S f&s[$M@s 8-0T5 n 2'xWJQKSVmo^T*8 6bjkϫW,AQIzz>:] 4`t2rD7;4:N+", b1#8V6U4r2XcB#SS&(B2P 8HB['RK$\WD R|ldjbQX0*4Rh 8?{'"5 B*"@F:wa/c":,4Jqzhb|-þleV =AxAi:"AܿFb]]OggS@ ѮQ79c>$E>=F2"26D=? 2142@<:8-&WsiD4*q}* 3MZ$&cP*LRف Il2m6i:[\URy`8kbit>KPMmJEV@@av7#KG`QAv܂тIU)8|?Oł~XПX,@=q>Z/aUzB\p׶p0|r H4M\k*H ׺TWoogg5ViUmj$A)4ь &M4j;T55PmHG+_jKm4ڕm-MV6T4KjwtMT-avjK w/_#o:jhKRմaet].E"sV#HÐU5Xս$[T$=7^;t[˦GѣiteO@]KX8EX\n5myկjVFmiTv&&j#z\#+F]P,` 6b#&5DY=vҳgS6%Ue @9wU^7ן+uM^S2,.QU YOאģ9v]vC{z1iM4Kִ"f-f*@ѫ'gj=ν\,s!L.  %xA;WcJM"M t" Yڲ,2m Oq;CL #uJV@T_4r:# ^Ca1n='$IґM CqF6`!J<^vH@v@ۃ P7.c2*tvUcpIژhVyF3=9~t`nۖb5Dc.4zKyqJ}cR $[Y ^` `u3R(*b\PRk$-%z!IQrL@<`zٹkNvH8)T1 Dr 7&@ȁXVV9h`3h<h P %XvLcJdIq=}"zfQ6a+C@8Xp' |d[y`B0Pw@u=Rվj Ev'v((_T|j10 چխ\VGڅF NT(#`OI3Ŭ*BIu5#5PK AM.E B;+^hc*3 04 UQXP2HZWi6ԌE "S>. C,HRjA;LI[+iC 33e]݅+3*j8P'UinlpY~Ly`20W9 1nj6*RTWBkLu 9FvfeP\Tb; Y,tR[F|RUULߌ/7%ɑᢚf-9WXeIO;gmyT]=NuVF'q{fj<1ޓs9GfGrNZKjUEPȲ)L񘠏[M!3R,K/ ݟ1a)RmנfaV7S p^p ňi= U}Zn%VW\(zB7{NfV9`QČIsh9hVF!i|b͎~ *(]Q*^U4S1rۋI6g1cQVѬKNO u(NL(ǔ|LUf4U&Ufꂾg.JUNSijJW*R+_uԔ@줯ݤF_vXRQCp]\pFA(`cNatw1= GsίBgNq.QkQm4K 9-agct3UU:$Q\WTZ!-,9{ӐMzgM&j.d`G%.qL-Y PEOe$3.ku Pɕb8)w'A{xzmƆ8ƥ[ˤʗdSUED5) R "d 2"w+iVUR/NYRg=Vo1HX3\x߂Q"86y^vb.=W[+/v9D rM ȉ~06;鞝+!SA'% QKv?4^s9MCحHm /.%Uj 32&YCRĝsWw6腴V"+4*m2w*"'P`݋?jb&6iR> Z[BMY(Gd H@e*[ "f {Gg$v?2a\ 0!wo=x$G zMBmMjsMvOHvݩQF,$,USDR-& e @M ÀEPQg!0^ffK*:B;],Kt!MB THxb4AYRo>Dι6N2e/$GYMXQ|ꥳHz[m4rRpE!4te2rDK[GM4}k$ .B;>--#+HW%.XIv_TLQi3S$ @=WOavjTE4FTLS`{̜ybkMkJ,i*Vۈ UBmVQ* ݏ\W̘weܝ!Sd2s*bWw6vWseԹt,+*jJz6UIWle&3Z eC/ocXuͼGO:yz(pjW۫0*HeH[MDk;%k.;5>(T+eQ(ݛ#vȤc*@ErKhmj[j营Bi^W7@hX,;(nL#8q>3I;ƺC-WLS4c PL 0e`)Ɗ1Dd(a قҔ2!hN Z$խZFnsB5 5nUtPޅX1kt.T$N8#e/DE^_X/,_%(uEՊ6TCO&i*> @`]^5  Nfff˕W6l`'uآ56ѳrvNn Ql#.9U ADTtۥX,BlVhma168@EcYQ!Ȃ0҇ VIp=T㬈aI,z0L'$#T "GS),.UzgK>%YNXq[ hWMU@! ߪ=;ճT,zؕ^RMn KM„ ZʼnF%TY%9` lniQs@cQ *RhNNCRm@;@BD7#2jz/K$sԥ\z?8U(Ɓ\a2 }uYo ˥J"7ਲbzf:.ʱ B5m5͕X ;1^_ݴr{-AkPA⁑M_d|z?["^ „ TJʴ,6GK+ Vzj%hEIVdQ@ gֿ).` WNgTV*"dUUU׆%4 =ֹ KadOڐ>w^B 6)QFt\R2v,rX 0ùW)(.G eXEC^QH& 2gc_F0UtWU4c;Yp=?~д{]Kb#SE"kufw{WIY S)42g@Rm~^y@ \ebN"_ bi4\+k*$$wl}!чt*ZJxIhڜ^- FXwde`QTM ,4B"`Uѭ,pNŮs[mIl& =ڥTJ;gjr2RV[׺UU)H.Z^ojYc0we$T$h-aJ_ACa6BOggS ѮQ7;.@:#DFD:4623I@A  \݌-miv* jXBN ԢsbsYFfcb#~$q,MT *S-EZZ죻c^z|<^iErќt{$Vo][wSݨAjr>ݰ6ׄ]@; QfuK0v4],2%B<[u H Ւl"' B 5k[Wz9oydw][֭.^` lIܻpi6yGoL!Dǎ!њs\J :K4PKJR L9˹Z*0- -VqZVm<0H%9#=Z8G U,x 7ȓ7Ϥf"M ,zAWt-kϊ&&k5iwQ%::Ŭs6 c*1`&XV$LJRڈVcÍԾ&,\ɲj9HSoH}Ի1 ׆9RL[7n؎IpVkA$U6ZTV:eB:Hk R ?gDw7IYU9fJ4ؤRZhZ'3VݸEX@}gZ&*@MD @VVDg?1rx<ஷz-Y$܀z*V:պ;FN^>w_ qK6Vvdck HVNhr.Ď(j$ݪuAG4N5F5\T\]/rҔ;/P1WyZzO?/չsvC\F{8~"mUS+lap[) @"+V}q1Wsf-LmtĒt4Irta4Pq* @{)93j "sf9!ݹ&UV|aynQI f[]k ^2 &>#U݊mݶJ&]V,udG֜"R:.1[^p &vhQR&5yRoҶTuTU뤚 ]wvL$ Y'@&&u{u^+tc<2=R@I@E)iE0: *}qV_=q-a2t[:)&iۤ$ڡ[m|_H}aJ` ݺGӜ+Mԕ\ukV:1D{+TJ* GĊT[ JoKk#qƲ=[)jj5i/mTZ⮮ߊHSvt H*%:+& &^Ü%2Dc mjALffBʱ&@Jƽu8p{̞DB\ōU{\zAoгv Ui,UF.(9Sqj;!%dK_T=%&M "$'`H$P6 1-yyq`ڡWOhTaU_ֶM<{1)=bv:>BġUIs,kc? p<ءw%ehVmEAx^^, ;0.zȹoЙbb%$Z vJq°2=vQVMoCF##(N!MB  `F X"@+@@#aBa,Ȭ +1zw~)>$mN.nlI~6̈́b"ͦnΤLZ2k;@< WZ03^\W>-3GD 9n[*'Cթ=l,cUT,n "8zɩxUՆְV6vK1&UULآ9i*ޡ:J9ZW0y xƒ jMU }e72NKPHxT&TUٲ\SXG{i?vn8sR4T&^^*Gjrc,sŢv,m!7IfFqOtSTmCUGIw8X ʱ*V14T3$јj #A|LpH\1 +Gl^a- HF.+3 T3!.) ˈr=FoƢoTT5z d!`b&` QJ)trՐ"v 穝uSTJHb,*Wa'@ rygcԚ5JݬI3ux:p)U5eziEf_ i j[V)DY"!VPBU<\vݑ`T++"XXD;wViQ^ ҝLi圈 痨/8BY]01Dq"\P1Xa! A2PFĖKsF]9,R$'a^@&3^@Bj+Y`&HDI]d9~9nPkzhwd֨)@t5U:iKSV> D+n8\ԇ es,W@bQAӚiFKL X$Gv5wҮ֝N9(Q-䊰 h1%`N,#Bv%E9lͨ"KX@BIb:Tv5Ɗ) 2\">HB,,Vɢ iՋiqL=~==ᾖsoPzG<(;E+Fp-7 %g~? _ #),{/Rԯ6E ]ceOXt:錺e9b 9 TC  P/z|.Z[0[ tJ4! qD#eb 1raI*HkRu $RPhTU@Kq^BR(‘&P.rSu(rW @/E U++[2D}߳; T.=/`G%1ܑ=BETq;^. omhKj m1`vct X[#.JbbmND `8T){!ڐf<0QܺTi3EYɼHU3e5řkĄ U.ɒK{ #\ҶP2p@e% ,["HЃC A^D6Q<KB^LJYhkdRۖe@:8E|bHUB!B ^Z\Oe " ,t*UBJOggSG ѮQ7< - 5636952J<@:.)5335473C@+"985397B=5@сUI%p𡶈JTF2#dg&UU1q\N&Z`AfEG Us nvrVmr *ǺYL ]n,f$irE͠a^ ˃ iDET-"mdpˎn!dB"@RUCS3ؤHU{$&B_?-$%17Aŵ/kb-֋k99tWWWkmt)*ITW0S fv Dv b[TKCv @T nj\T\l]f $[!I4f5,2}fo\ƖGJ.}m*2tbny0LWBi,]J JkuQ%'VudehVl>@ `(kD3ø9*xe#_X€BD$diFvzi<D9HU.%u$ESRZ3dk"`X4N\a:¼uhI zȵ+AG״GEݧay4ZSdeVd+ d`}.+L|`aC>>ZhWz¼ d]5 En')$-^j{nuT;D0Lg)\Wl$-#P4~k[NTu%/AkDaMLT  9\Grb""g% ٪`:b7͘ةM Njӑ0eӇٳq*wogTyj{u6ci*t2Wb85]Nn:6晱^ ̴4rΌ`܅C8ob8P5VjOHe/ɜO,9p3gu͜jT=\d%d" $n 7'; BAӦ> fރ̯{U %_F@]MLbw)݄ک 4^ъV6ma <{Cxۦe((Y@14^Yq EIJB%nLXkI+tkV+*צF349}h#-K8MMUgmg=9W]r^NXś1o;^0kg}{qF<J}\pFRԃTH^N%Ue|Rp,b!(p?n9 Zk*.hܑ(xI^<̘h&pggL S`ž %tl O\V,c N<=d8&* Ɉx |6È1X컩Lr*v,_)-ȧ䢒Ҥ`dtҒ'm Ɗ!' 8`QHpaX$bJS|;j UZVSz@$E5f3..͹,*-5%K)o˟U+GG[jYT"T%?/DWiن)>0]Q@J52(NY3QBzC QHR,Wl3TkFd586Mj#(M-~ V0+,זJDNƽS*.8% -d ]s )#TYE#3['IR"y a[Cv:Ģ\]2n O 1ƉZ*MT؄k@/S_7Tdaot6!`-\tS)\} 1;_x\$uR`SSd"tkt**PuI1BӪ*Jlh0ȞM ),o<6deB/{/eljrnKWy`.@5 i0wrdQ}ܥCɵKzqUk(Xit\[PkuRH Wju,WY=iR3|tnKN\L` ZT#cxI)+cYG9c2S2H[u4ues)aنJ"v=_z6ҞˋN:N{be4'ijR*Ȍ!4a+Za4,CO XUS H@1~8,Adb9戜RUg*Ԥ(ń~ /#޽ۡ"TUuO U6^}zTpұȥ#lQshUb Ty?ycr~Z$gg7:eaNTU7m~&3S{뭞=~PRIg&,0IJ@$fG"%#!I~-R3Vl]N.FkXuxWTiA`C$r{^ Y`$CXhN/9 fNwS0όi# ͐QZdcpز1xz<#|bgE"w?h92<`:,C+lQ(7HH3u5Jfiѩi]G2rcA' r2[?降bMTrY U%%r ,nQ\Fz\TV1 5AE]˹ԢͼVfŃ ed04 @wHˈ<j;NuyݷiVV8".@E\Icj$L#jĜL%KMHT ]d,gaʡ p-n(wX T <()ciC,Rn)۴@ \n봩A@ W21kE@33*N\4EL}' = YzI{?dJhb)/ 'Q!=r{:]x˲QRPB" 5i]!̔;PVU5vN `C$W@Tȫ*]ieT^oً$eij 8 %Jh4< erB;gKH\C##EC(6u$ PHq| VDWSDU0J*suL`]*)h!KtM=[Շ 1@Td4)8DHH{QX${pUp0Ӏ+h\c fuZ5:=# [JX DU* ! ~VhsjIEvdET]B_7D_qx0?`BJ@hfY};7ڜfakЁ}I,T] L]+ܩC_94M (UtYܹ\]݊tDWn*=z"5H7hd0qZK+'J]MRQ.h: T_9w/@ՑT# r ܽ}{;8\Wmd]&Ue( 8TSD3Z1JMDN۟wT DXu4C*TFW*=OggSw ѮQ7=k*C5BFAA459DC 0=?3///3>@<4.24CAC L t&3)S0+eU.mW0LpD~{mdUu }&~nuBD[2fXRH& ɶh4U i˓T#z+X\Mot]6n23S4<d>h%MӬ6A >Yj;U"5 N" 4uߏ#|a(Pa7hfrEtee6g jr Zmj모@QhVR80,>g}ϙT#E"gƲP1ue c&ؕ?g^?/}տ7m"V%MiOߥ*=zw@L'+Wp GT""J""vc$KGcb1 QV`-9uzA|RW-Az9ffwÙ)P+@Di=gϺկsfۢ P!=-f/ A,a Xe䥔@L44 %pT**Ju).s!'Q>!VnrjD0[CK<5L#*s.@̯# 0JX͝VhtiSQ (MN %*tJ<'eacHﳌac.f\rX%9j,B0X1JqTHAD%ѳZ+TU` *"SMm؁@@W *J@a9dO6IUtv(T"T4mQmQ$=B~ k3 wcDW5r~w|8> \;|إi9 k|cra'ʷʊ)u MtJ+װ^k@qx},dx,dMex!vMg t`>TR20ۛMe4c@1AS6Ƣb8MfH$.JbcBCl)JHl±d5pɴMM96ζ:I pSHL"ȖAY4JبZDf$ItFN z~F&Џ-e >: WzsU!& A`FB@sS?hUAH6DL^wG wU T][U][s\M2r0 մU}vV j8Ԉ*U \(u e(hlj 5Y rL:W)cZ#ieS^jla*(E0Q:}hFEJ*i D #!j)KՃF(A̠bZI0pLgn-,K!%eY1W rhlhstlPjdKa) MMA$F1Q76ImPx^\&J'-nkLREIX>HgCoa!R&Y\׋(!K=ZVU bΓIj6xS54{ft &T z4ξs{͋TUTJ*[T'J>]:MX w.|, ,er,@QŴh(VKŬUBM$Z( #bn괪Iڀ!qhh{T%aTꦂ$ Я>ƀ {ӆBQ^` d1=s'-SpepI#W@N|.^wH\u"$|)3k"}Wr.)3D8+^]o( ޿=тO=*/J s 3;BQlm+2=;RVRry6pUC.iAO5a&4tV`aаLVl,Ecwզʔ-8v:b3Zx7;ƪ:.H)밃 BNHR!`IG#IRʤh߃ȅjٲ06-t{ !!IjR)DMg:PCCERݼPQZ0 80n9^l-vxN;/HiSbkYDx)|H=VJ%[h1eR`TM-߬T$Z]WɴVO=BBfp Uu(ukRR!UDQʡ(J49* 0$VcJPXR!ےxV:gd@ N㥶:Mr*HRRyADħGhJDԖ2Q4v)3QE_,esvP/֋%>\y"[T 4UY sJek;4RdzH$ ؇J\UZQRVN(`D Xga)EX|YY:d[n:ڢ㣦nfL)*Tib6@.Ցmy^m:Q?1C}+Tܬru7ZQ"$l_kJ5l_޾( "P<F+zOt۬ en5I]U*iA$W:RUH ME u @9GպբZejohfV+U1'1XZ*X-6)XbwtգV\5Mt+v dcl +Yu\JʥhQ(BЬh#;4 !󜴥y^YA drȊRvĪ6mf4luT*q8B`,?u*Qդ!0at38?9PMQ9#4fN !v\Z1UVHO޻"z{!?2ˤ;Ū @Pa|CZb;C;1!)ZZ -`,jQ 8\BKnRfMU)NVr=5iyZ+X r $me,G &1)U&Ʀ#b`1}f.332./D?:@31463EA584324B8aM5c#HS޸~2 (ꡌ"cvfTB2Ή  ,.GVee`a6AJl*KYNx`M#@$B*#|"3Th f.˻%N^rRF 4pUv`;Nvk&0yGREċ) k;&H=k]\WJV!# UX7M<cHP}^WץѴ'\_b G="@Y:/E( \G|IUmͷLRݶ LSTCT uufB7SXR9ZJa1n{i!a^:U ZZ&MөEt\F XB޶WK.0@aiU|_sݗ@r(L Y`XcZth6\-)RUUToz:^N2.A@`2# Sj0gChT:^qՄVOA( ޭtk^|>\@Zk!ͺVUi :GS~V /WU7PfPVdg&`,;"РZLj:QQkԙ%ҝcu\e۫ptO:ߨJ$5r O{[UOe[L~BJMV b69^z[7fu¡2<< `hip՘L3E?oCӦ nB+{8 ?Jo\zjdcLaoQ9WMUE$_KdZB6ն-iiƴ2[Ӫ2]UuSs7U7m3GU{h*eR.jYku;i5ޜ֔LKЍ5tp x8U DRiW{$҄J۩޴ Kދe㥪ir\ g&3{&5+*W."HkZ$hr7ϤjywL6Q\w6ԔD.g[fQZkF9 f5NHR,aj"PZ l'"mAD JB0eӮq| l H[6DѦ(tLQHsbA*Ui|WGӺnlcj5=J<6;MrhۡMEiK(I颈vrjCG^<~5%;Ёc&w+;ܑ1Mo9K/YN9W\^WBaFc$#a0(P i5sl.[lШXep(V'x8 \Te,)RU2T>Q$JRTݡv5W(,"00@WC`T8;eiVU%%59K>#-Afeiom !8xjyz&Ss՞\|)mx8/Ltmtڽ5>A&EK@QSRNwj[ubeZ% d-M5V"\5饚Vm۔vt,Xk0\E"l-JUU ݱa2E:HM) ̺{"(̚j*ڦ" dEKd"Fb4uTphĂP&VSeKypj. d[vt|(jx}3kAi^&Kާxp,##PFg Td,pׁ$WM\aH/~:JPfhq+aT$ATw2plc5(U[oqRx(=L7SjYi^J F׊XDMA'q4YDN7Y*?A( @QI-qb_$@Av'>:+@ņoAڳ+TYOWG=E"qVe*յ( J8:eXl*У4QA>IOT{ $`U#.XEFoԻLRp-3DM:8&JQ"rTaRԯH DŽ%mmweV54RP% dW!c:$>,mVIniZW҆Qj)>D ĉW4zE%I K&_[EYF,"#93,r@xҢ7kVcT=ٵ̴ٚѰ`") MiZTo/Fb2ȀV I)$D4B  I6RPF­ &]YMpBUR:656QHyzXndNN|h U$z8/j;))%IUDA9oV@N&!q9`1s\m6bM%ج1JL^鶒hL4SCQK'alXxoϴ 7>ZmU*MϨ Q0Nրwf~JЩT5aL>hUuGԑuɢ5ψ5sxnezZq<80DOj!؅A/)f]fJ.6hT}IU[.h(ˋ^F'jD2 9oc&,Y\U02EKR*LI&hZ"V\FWTO Uc]nb M !#R,_E* )e #FV#=R(d!,UH7\f鮃(~.8,`tD.ԧ?&J D%mP*Ru#ͷ5{j7f[p/^F)S.Z {S^l ~uMGSVIkrtQJ"AlF̲ @ ^j!.Nni]$li)6}"u܂jh_T3s jjByvH V Aa7 2@d*YM€16BEWziK DcBbID䵑PW,1 M+ s#껜+/k= C5f]ǂL^Y 9V'091}dd) XI,\zт 4 Ӟ6֜҉M ғqDX9e@M4 B<b!0'%Tq#R`Jo1GX!j 0GhJÜ)O{@) G%56 圌(UU%ɳ<>IpcFQ;i'L#D10qZdh0֐*I4$%/MdZOggS ѮQ7?@' ?>>DIKHJIHM979JI3#0A=}>merYl7\FO,6-F2=XXӰ9H*!MADSgI]QMuRF5UVhc,4eBSUQһ5GBƒ+> ѐ,@в:wfag8PQ둎X)0Tw;N(Y6!Ǹs'$c;1VѨ$ \@5T5SȔrrOv 4)iLU9 !RAr-4ӷX+YQ:ܡE( rGpANa.#y0gY.W,PP{i5FFBbiR=ê}(`Y,A@ 93qԂ8#ڦ mf$H(-~ƑAtd(6,j*GKq$#c˖mՔ^pqZ1 K. #/8Շrx* &QY׭:7e(a&RztPI:%z @z@Nڊ] .|9Mܐ6s$ĘsVeU</vP&4*XHH4x DPh CX`LHEIQd.e [&0YfF1zq(fP٠Y4ݰ®DL 80>3 Ew<+"3sUEQz4%3vnֳ_ zF7viNWIMMBRVdd[6W1c]"H6VlM[ z~BՋWD*VЄFDz]-6M,9; eY@_".!dfƠe\| %dŴpZG+Ga*fdL5DžIANADPV*R!! FZ$E\$NIJv)y50htRmRhf^m+91yo@`:452UBi0:cWkbx1!㣖$/21 \*l .[r4  T,Wѫ =zPJ¨(V]\aVCҜNڔ|qsRSmۉAv4Ff:u`]hO u :Fu:U*$WՂh8 T l=)%`[/5vu:*Ӣ꭪塐|??/f!Qxӑ\e>W*9H@]qVfW2Vբg+ͻ>u+iUCB Ng/ ô tZ ੯{<~5['Fnz+ٸy)Ⲳm4I:]XidcP;2sg5WZ6v>Ս"ң*ni[mUAD|i4&SgRF0_s}ҿ>}h#m۪HZ*mgX G:tg`mi$FX8FLJȴ1z׷y[X ޞ_/,/\PYji͑tJi;Մ tg Gp{Lx9q}Mos_֦$"ʵ4MQ'Ċj6JzmE50l(dc$:p h8?0/b2y:ʼ=gObI_<5+=+Ih&n(TeL *HR7Jlޜ*h&nZt0J(o-\e5Q ba%x[ҾWxh\A5~kD|9|Kx.[iGt_"4}>"2; i<R{uY4R騮yMzlg0ѓ.uԑ ӶT(i;[?:/Zۯz|;PJ)˒X0gզSYAPqwE[i^&ۥEw` ;`<=}xx銶ݝ꒴Yk?S)W h{T#zK01ܒK'?rgLF{ b̝GtT8bV9Wr ðghl,OH'k5ۣAJk=ofuƛ} -~:T[LU̺y\攳3U[K%ckABŀn+WMnmIe2W"sN8ŢWĤs:\el%i]*zݵ lҢNV^5g}H^C.1f# eΧRniv4O1:RՠSi]J]kګT[Nr<Ǒ oBZ dQT+Wa$6\%.֔殮9A}xw6j[N%h1B6]yH&pgWwf.ӌ[ i;'hB0$墐DM(Sm -Ϡֈk5LYxPنڦI-1+ט&NCm$J \)g0pCY04SS5sKm`j&b=שŅL[Tʼϕ81Y{MMȲSj@K:w9MAkWJ;.OTRJ@ޔj+Ab#,QŪ5bɪ nvHr'%Ԭa%UCXcnʖ:G# 1$`ZkAl 5P(McDK[*GVT#,Ɱ;vV5^UGAS;_/==b 2/ޤYhد<=vk@/u!Z9 @{/_HQI-ÓLN`^ E<]d8Ͽӊ`]o@BgHYEL`Zkl, :m3rdkŷqhZ.HhfFLAT0W3eh{}5לˮ#jYWǘvG0%tQKЄ}zSU롸9N:ue#)E+4EE Ł*vFOq#p(ȪgzUUwJ2v*ƻk@, qyWùجc-511ݤS R MB<:UX\WfzdjdBB!tcQhc62aUdUeE'Wd]u8eVDuXIsljv;w۶WDʸ0\E/en󢟌ćt_β`M ߳s\iG6EutelD7TmiiT&ZU FbjU #kQdQfM)Cp }!3 dyŪcEͺC(ZcV %Jȉ vLGpb6Ӄ06V9 XV5M4D"90V!Tr8-JY`JܠVy1 iRHXʭ=C; +D5kj@U6E3iHUmnO RB~dCb/j -G ,iZ ⯍-s!B %mGU[ڎEiTۭ&ѤIS >%I%k@Dja(̜Mαr,cU:*L1BIT%>\uxLMn83dJ\(`PpF(~H|" eE$BeFۣPMH Š2%OkQoUϾ݀HD'E| mU]mmi-gmbKL}FiIN1`fٺQe9%OggS"ѮQ7@""DDBDDyyt>xMw` &Q:5!I+pQhSzS ^:EN`)Àr[%%ʹ$iImi5#'$Reʎ 34W'"(3ߕJs Z8bh| ,,u+H\JYB!"AX@c_f, F"Xe-]X֘o⮗gFjv.i7V.ȸڞqt,5b7YvsnܳTh4Wi+*uF9U&,:JڠY*WeJf ;;5؊&aUCVY%X*KIB`'AE#0K0PNVEEF5 X7?b5-/Sn KJ(22&XfD 2b؊/Ɇrݿ_$]&.vEu>&q@)ApI>r"9Q|l`s<"-@Jut_JXx@J(#]=Z,-,Q/cbVΕd ĉRKm9Y@r["yk_^||]Wo,.3ukߩ)~<3vx"늂T'Û*0MJ綅t{} [9=uHƮ5c.1A ĝ#UWyǑ*A6 g!K+[i(瓂P篌Tijq knL *|8&, j̞pn ТXc̛S;dGRҢ>k%+؁2鞜 X, %9Z[kbUrL>Yzvozyqḟbբ?WdFh3v gi,DxP?9,TO l=\4|:ٮ NvsYyz_jNY]PkȲ-d\D XX«,cޟ[86|nW+7c=?rČn1hmGItފWpX:t1d0ҝ"CPtF+mR J^9_+UFBMwK6…dfMP8"b*KEl*XO2^@F/ٳZUXp 6!XZU!T`aꉉV(jXnD(M)EQF\‚NgfNJ0*"oگ3q{Ϗ$ s[[iPPK\XΥj+zi2\`(wTAL:PlcXݔK rj2LSVބI06M"VHj;©`!\[AeSB&B::JEq%gG xXt\Dj9LR!{$т]wv?6f!^kWniHZKhV;TUDO/ $%aTb^ݝ֮n.{~6leE5ҹx2JE= DU=2/2P1s쨔 Y.f+9J"f``EC1khz=[%aTF7s޺ =L/J/6@)1,fXe(OiEҌi BHƐ8eJa` ЀV QR3q2V(`((*Uĺ$I^kHچ RF&Fr,_++Q .3`@CɜfُѦ6RTbRcСz5ńj*Xrwȼ qzQSU+c.[_2`T^=>=6|Җ zW4+Gˈ:$+!2MeLZQMr53^drn ůM k1@!srG8WgLHLw!'9uVsUܑ9uz֫ΰVb`H\rl_ SrFE3Tl1lV+D hH PQնE5:%@Tc2;$權j @8BZ}[JHܪiHk{k]}_/vո {ڶG_\^nKfd4.m${0<Сciؙ]4 *Uyt%Io}x,0ܴף\ݝ(*w* OAhȿ<"\\:ՎLsU@JՎL5r[ =1gY N6WCJP ;p-JJ sG߶}O6*bV39mWy[WGY ΀UԔX\].9hBNFVG*g*aeۃz~U3SfmX8ġnG i6OWebvꇥ)Z,?D M?l((0Jk}ttIJ¯ %JWJ6OY^+5F@9ٙUʹZ8h|gEZ$ړ=ZŊj+@Z%OGZV\fD-%vdR[Q)*nX*0b1"f~I!M^[kЪ# )ZdB۴4*e0)~U*@B /Wb6kuy7^Ԭ¹w`1H@g4Tn/m9uw Qn%k*&5 igZvPe'):B AA9ȭv(ɲulOzȇs4\ HC%UiSm\R((q4dh4OC4yN5@U1^%۱oJ[mSR*)$MaCX +j?@$HH!IzVKGA㚼l 0BiJ ,Et EpLъK+0 *ܓύYNy}@ծj(;T ,MQMqN`9C:[Wۚ[jeV:5b4M[ݪ''*nj{1a,$*4MN۩Z]I*z+F/cmjtAR[&+jΰdFWrF@HtɪƤQA,qSm69pPPhHq9'@RH" vv ph9 Ɇ[JC՝t:]laC")A"iUH 'r~߿w$ cRA/_`Ƈ\~,|ć`wW|mn5iXC[=m#UL6IEq&h pt&c,* @ 4"AC'к{lOZ8a0 *lY3ڧXt"pHH˳L-GV!8P`('T &+T1BDBłkZYp8b_%LW%K\aٺäd;z;cvqö 84,ː@.zq.h4CoRZmt4EnNӭ$tmM~L6MGX '.&j"hL,3QV*P,Id0ƘcU5qmBDlD h$ EĘEB B9B^%a!e+6|!ΒĶM kh6HXWr C7%Җ*Un LՄN*AlhPDA&:W hs_%slYݢ1 IcK$B {i҃+ysv_?iZ7uRJJITtSm2"> v^4 ra& 9c#41r1h4%"VQU0QբVD}i\zSֵn XM+,ۖ#ڀ W2j`d! lcm#$ehx-#)UZ0YV^(M&9j ^ef+Z4&pA~@Y;\UVPDMCjS)Ɉ59ujn.:4i O2FٯJ-AR",9BjBC"T(C`$PUNHJ\`A+ҍN-ƂˊTqh UBuK )Jlj޿i%p;k-v7gsvu%띛[ ;mu\υ*ʈBlSqIRRhF+OggS@ѮQ7B!F ! !ޫ-pAN׫-BNҙIDXrD ޑ!0'j*S=j=;rm]jV[-=79$(T#ITADɈI%76+RJJ fqYcii# ²@eœӇ12%2 (GUI!xj(H|;] g5蒨s/أiߊHhU>/MjҦ;h17/79PRm JB-epMŒ̤KIYb j5ԴhT"OxM$4~mWv6G_nZvڋXr5H2 YfiY{T[T `KU -+X`ZJ s122W3 nC(ɻeF@ds>RDHX %;Sg^ǢՆr}!sChÝoV(#,F Azp!Mu}%ݱP;DQJG<*p>AB5XE <"Yn$kdf)&e݌WVDnyk^1 A2jZ_uT5wqͦn͎*Mڜ0+bڱlɔ hJ IX9R ے " FNAM$"` t7֑[22_ˑӊԲRpxqj .uOמ,+ӕw}{g}N'|ӴeoKn_<4-jRTQ@g%J7K`U]k[w2_1WK&I  0Tqq&(a7=3Fibs7tBYJ iU6%6LO aQrdH&KT[Lv.f/58,2c8 73R$ UEn1{jHeF9k0P> IFuU۶%'F0Z@3LL :MCU:*VRk/wc.PWۉoq04z[E[,0)o5D3H[0=4OƐk%OȄw%"̹,; BA#5ePr9)3t*=X,U1g1 ^pDKZ*ɽEe%1L׆ ]`P%mEխӵn|_ׯu6^̹p"Qqy2Պk$u@bµOd4wI&33 JϚ) %g^ K}]!j%ϸ֫hd Zj$]5/dmjCJ˅_zZ*:nBze1!7.=v& aH/p$VBlE%| +%;Mf+9~# (`vFTACλM.잙*;X@Q0jbN"<ʵ2k.v;ANjyRcsG{wKg/%#EL=@)&Q5@&!-bhU6L7MU ܾΕAd"8; rX#IsJSJҋHyw;-L֩3%[isDtm Kwq5,Ŝ99uK܄?P<ϝ5*"Pv*_ g)= cl3rԛݽYb*b&5F\K)J)Wd*j2g+WjƖu. #Hyv-ȵJTX\úqΨꄾN#g͝2huc ,.%U!sڋ1Q)BíqoNi^rfB4"t,֪**AR I#_Unx\:*UM-ɰ;z20,:.+r‰:`aw'¾~dͻ;P8Q %85eEJmURBCuP>eRtMgBkZ܍@Qp[4sf/l@b4*@ӂc#"ZW/-V.Ve*efnO_:[$RLe}B̌Lu/4(-Rf/ƞ0OTZe!{  2&P A; YJcWޓ 4?P%dk.kJ/_Fc΋(c6Wnߴ@1_T]F+1 e7[hKtcv*VUјnPĔFqiG]`^.]ўWqeSeJ{$Tq{0g!P@J_d{;{Iց1DʬuoY8;3mfl1 Qe#J,G1`1Q(D!^2)Wyq)73>9pL$f ELп,6`!?{Nuwƕri?sjY{ՊF;ɗ%JKˠQw{po8=^ة5P%LͰL1!U^aHd@$V]'-hյhrN:h2Ღ&ZAFnZ+(\[lDie2R@`M5Y#0LSyY֎8`Ho  pj,RUM).1GO)Kv-U;hmLW5E5SȕH‹<(-l6>HJ7mtkE۳SiRx`y8zOggSѮQ7C&0"29DG@A>=6271??:52220/8D0-=@C8GHBV,5MDkh*Ey_)v94SЙ:Y!̪\A;~\eKϖk⧬Hj#[&;BUnP4 ؗd^%#,[0ʪ4A%nArLJJk [`*xQ%ێCOU\bxfY&,3`p([\I`*aN !rL8 !D/@qZ֤{/Z^S?c {C烛8;Mz$MHDQqY`E%C$ࢢ1jk%zJo%ޫR+Ҿ~nk<]% X?[yLP316V!f,5GbN[-Lf*Ei;%ZA/ITutjz+di˅ir @Hh: ASVLzV9JyJ%U$:s$L+5ӟLX;m] ,nvQ!J\7:f'Wem#m &T#AeR^Ǟ^sY J-˕r+"Q |kOI[LDT(k8 Cy|CyylA nCobz ֩)& bEw:_y^UO:ϥԾJJ\ԵCz|·P+t B\v<,YVVRj;9罿ߏWZ|lvmЌ0he~U[Kv"4*oVeIeJ8: 8V/|\vsUVr"#Bbu)azQmKW=̣*ZZV!p1a99ŤjqWDT8ہs$ HRk\fw)1d%h*g@)2M! 2ceeN9Lgup2hjۦJaYmP"lGXRx cteuҟ,kblj$+=  0oxn c4Seb'1{*ތ^oA6ȐQhVg ߢ ).b"̨DYpkg֌vrYb9WUD"UZ ^N 4N&b\_uiFo:+& βV+/R:pzUNRz8BDn,(.%icЗi=²2d8&ZCy%VDZZ>i܇ c@̊S1c)CH 9ja-'^F6Pd \mTv'%P n6 Q2d&ry4Ġq]:&-XM {-F{uܵm*|lүhMr|{1bPN1"-aRS6j@u^^Fxx.F/x|\DcU8PJx jcܨK 1; "ӕa+Y4 $&8'\_FIt/խ~IR,5Bz'AQV$#X6D B6$|)#lk*ZTi(ampb/W\2(\ocg]:\7EKrazL%9h- [*NroҪyYr$ꌫY>0E t"\1F}.>IxSL(prd˖FslIZSնYk- $^iJo ;mV[i &nEmHm2BHS D*1f"*R¸*E6 U V.tP#Cd2)^`Jvj,U]=S ~l2g82e?AŠuJZnݿvhX_OjJSjөVt d< pH 9@Z:{fhF sNJ.6\׮UۢNYmL](`n4E3hP\miTRQNRTbE"`'}kL"V(-8Lh0.:R=XUJ#;8,%" pwխ}M:"LaVNDP*`2}*`],)e\'eѬ/Lde8Ͽg!!}C uxe& RPV`͊jX[VӨ&JMg\c1'[o$Crz.]t>pI]m*nItNEOggSѮQ7Dm{ DCA= C;5B-1#蛴2;nBctEr%}-gnw{Zub W> \r{ҝc!Uqu$˞`Dj,9-W]9%HQKT[-~qQ(Ƙ ZQUv 3ye p(2ڔUP`G)XkEM 2"[ & / 3@EmK,G$^: I|2z괤 <ZTSUUzuF#IիO0$evd/ԶTUaM(U":mA{(iR_JI"v?9ʎM Tf5IW>S}Q*xY :HmN)PBD`T͢"j5S5 1-mFf_=FVҤn3!TFAV : G0v8!#& fK"nKj0C{$)0/Fwi8;VUr"l@jV L|*J U1 |In~\I4qR@T۽=K4T ,S1*\$SWtZK_7"筍:>Ujwg4nڞMQVTj:$jd_̙ɾ1rqOG*)DNj5m_F`x)_Um'Q0L2][. Iϻ4q@(ɬNj#CdYXcr.9AdU3XM%RE6GS;bBDTZUgC.;Ŧ݋T*ꗔDj˃%Ykޯ,(J" J;@ :TV1MBbfpf s#RbKґBUݲIsEX_)!d,k{= Lr jr?FPzTE4Mpմ3HV焖.fIɲIFِ$@g;5mlGL\E)Jo!ys+4q®Ya_;ZN bNxkՐ6n*DSv(_upx&!e1Uzҟ;ehtj(+Ds U]DQGͧ 2&ϴ8ɱ҃Nz>M% jHv:\)AYzStS*GuuڊtWtEUQ" Q&h[mϞEN+ҬUo(*PUKCX]lWLUV䖆 󗿵VM1vMuҦmGz4M6jUƸZU 2YT+5Arq6efcG$GL,<:rjM1: 4Iit;JUZ ]4lH"5ˉCjRi{G9[$7%ecY,kqg@`e<'lޮjY$v^0d~8<i@~[MY@Xy]ZuZaa2!rOUeN.C[^[Z@?Vm&!.9B₄(JrYdQJ ԰#ybUC9W1%>6m\^YM#eQRiN""BE2r)E5ݢ*2ct82K!YF6 RMU"?X+ET]Mwq#wj0IT$"`mڭ4&He(ioeN]sf~уGo Boi#7(MuIK' 9~,IH 9|6(ىY+W9 1MN\R%G*ҫGM_]H%CFvY6ǨrZ:^RTa#BUbSYJ!vZu*"Jg10FK#뉾ZZTlI%U%Vb X!j}U R" L;Z(C9DGQ@E@@+,!4EDF;8딫0jTQfQ=[HbHuUJ8%-X!OG<:TELO%l.-)Yz^Uv\;k54NM'2n}|Ti TQzTq h[yݤn"qHĢ;R[QIԪ-RMY V,"&p aկ{GMzS"eȀ4a:⮞MZ]L($ŋSJ*S"@e =r.RKPEhohXLU{~پ٥eZe7)L`{ BUw 7dӺ/t/V9B4C^E(W9M©Z%cɪ6 SYD$A6M" gYAmL-L&ˬ10AҴ4mE(X i) 0Pۢ̑RBT b#kVblڛmgrj6)H0B@R amVeDH-ڣ@iDp c,af D*$ivu:IE0B.YцiY7ھw^oi[ȼ{b}3v4.JL nw`K6\vXk1;.3`Q\y9Uݕ~ک\^Ϻfg!30':餲=l6CAjzŒ=͏3^Μ=NS{-tƀw 8shXQr# E^d[gdНV6GWNo}MTIT">).o/p9_un1c>`r\NPn~:V-EЈRT80"$Txjd R&ѭ$\^!q5\M:]2 =J(r,wZQbty+Bm/WNp*UG2YU#Y8Шl.9i$t%)Q(DPdgz`QE +DN={綋N$M:C~l[US[ĝԸ⢶ 6-ƲXbIлSjXwU;οTj'da~8ItXY#x# ЏF[|:5 +ƏxF)zESLR)IgS[Ns L<: eNFSU9I d_asvPdq UTȪU ;m]mN]T!UNkDb'Nq KE 9.: q 9g'Y%HkܴMS/Ad\, A뺒#ݴUi** R(dٞmh)vY484nDÞZLe^ӄv&J~Zf!*tU=b!բ5$K D6"Z vJ.&`JV%2Atr^UV1˲r" 4:-MԴ$!Ԍ"X5+Kefq2M XaY h*e P vE_Q*(5Uri U@-Sݘ "H =(:3 `fd+C , lECٖ^,-"1RMzJyPjlCȑu֖iU 9f P[+TNnǨ"劏^La]l-)]J5tTI/cҊrVUZ-ckMV*la^"EFnm=)ѠZZœ6y}\KqǵtزR햦R?!6)mi:Րq#\]bhIK`MҪDzլkyƩ~bNa*Բ`IKFqn\],4`?@Zj ̔E.~k05 [ MgA:i7zu1 (DŪbn0 )ji4=h1$$ a%$0B9 & %ȈؔMT*H? jhjT:"d5B (E($`nbzЏ0yXCLi衯0fn;*nNvݛ:Spu~R_݆_0 Z4.TnOggSwѮQ7F Ԅ) 512C@?<1+BE1 311382?@C> F(9{ LQr/.KB3Ό9UJHq̘5дQCNNQT,HT7I)%hծkVlp",@e80/C{ "( H;U@Vц"$!2ħmm"QsĹ9* M[)EItRmU&"W 2Ƚ@F% F [(.aXjTAĮLmG`d!]k 5S9X$4NXـAGVEٞ"wL4M[(%6uE6BR%@ 3|&Bt: ?X@}.S1yMUǛ`zF%EgR=T]ԙ)$a%Yᫍҁm)oR:ҕAR[jTuST]T]|Zʄ&H]]!kVcc*xL.{!6L[DY6P+E&.0Q%)d!#wuY5;z]j4[.MAzfh0bD):\S[WuqJR$jUtK6$TG\[2Bn=uRi<%EOmXmUTMsJ:I\ե!mƩԊ*zl_m_nmD`%KV=r䪚FRH<\t+UuDWG:J<2kDdJf8FlH"A42tpUNM;'>MUntҤZ( Ac(C y0_v.Q0+&&X P̱Ƹnw Ct.]ܽ7_m?WG$YsBŁ̂',G5mz~ՎF3az5ǭ3Vȩ7Zݳ'M%XU9f9,juUbUHDSQŧ0HDXCRj)E:+cEfrD11iyYK"1"/VU.g@[8a1 چ@ G%Smu ( (F Bc61Sn"%`A)y[wA$#GaAYY[Iٴ1~351D<ZE\bz"e|Uȟ>Iƙ X!G"vX$Ngc cŪ,@b,HrPnVlJY}{֍Yii=Z[;wc$ q؈"VsA@cҝ&h@92f bZ饅0=FʦBW U{#%KqU%(rTs5C]B+@Jۈ&tCASˤPV"(~vmKµ6tuaTC5(U˄S-^{4y7uu!֬r#(|`O[L #Ͽ#Ӳ,=+*V%JnāSΖ$ꔪ5OP#A]aK\RV;%"Gk0l>BZ@X2  S( -!V9ڪQ#3B׎2!VZ#*BM\O[ҞjѩDRɻhS63J(ݠRr=IZ:E8f:f6}f&f] LnhPùr T+ةPK FD[M0"N[9ڎ7pڮ"IlA8jH_ʉVTYĥhec[WoQ!,XU`߻'<ELUVh&F?@EEHtWH+Bʄ8|gW{ګnUU٪VUe5U4OdMZ@V Ug۪lWN:Z塉 'CgG,=NagfF=,f $EH8n^wx G:[Gzd#hzcYg^]|\c'+ҸI5F()%'MQK$(fDuN{冔̋)b]L)f!qSC'=M-]!l蓃=FUE- e)^"Y,aq+ѫF_xؾ =<%B+OiQ" wVWG[4,fTa7Ewo(RuI'Q*RMYH[tXUK@B7K5BX!{3H,3VbTRoM<ر3ɬP䶞.4BSxR=|/:b-أ^z āLw`@i&kQqPs\`j b(lqa(:S邡lFݹFs.[hRݠ+HȖHr{n$YdKqd9 | [au}հO<|C`Smr"΅yA̅nnuvTC{eS[e^'P@9_lGH H={#8CYbRLbHjZ#\Vtx"my9W{cR>R1s_F͵c^_H3I ё؈8 di5Fƒ"f$\ՠiwvcaW@L.?xz,y_^v mˆ_i.YUr+b 1<~̌z6lI#ܽ' -ECKKfEV/uK:z?\'Qm%KK"S8#7rE,t] 1V$qbBj,;q:eK 41tVT(ݭU)oYKʑdb*:/2deF\U~򞏞p"X 29{sX"EҺ Q _BrlB.BxV>[HsZ6LOI=Qmy|cĤ m$ &e3'O着JA"vG4D4] 73jMDD³RLHm2*Vs6w?𶮽sR4MiyRH m bߊ佼T8htNW {X\4Ee`Q:˹+bCa!ش!Hjwh M$O&d1 @|ׅ yQLDZۧDZ$Kˊj{p KzWY,ILZ7I٦E9N%w Yݽ3ҝ43@@LQ);X;Ve ={C)*MEvcuSTOTJk#Bm@^pUz߿I}>7YF;X-+Eod[aj 0kcp+!bbGq.ڪrMSWՌEzzNޚ2t tedl+s#`(.LEUjg̦z,0cQ8^dHx_ꔉzs잙QNUmUɥ&JQB"#u;ӶahhDNYT^63%KjVZE  &ȸ'l@8\Cw@QuL45*A1-@H-U1p k`P 褉\uurMKo#va  SA<1E#+U]!*Clӟ7ԧ A U}ǗE3>@+ɽ_jTZHj EF > +pPGbZQư Kfuʕs亗+Zoݙ2%Y9,X'JIӹ\)vݴ-=, riВ/Y, r\b rBR#h0 +LG4I@M> 8d6L /elqAm5;{,hK oE|Q,I. Wɑcqz A$?\Zˍ2 %ͤDP8jߍ^ 㿪[$Il4|kq2YH0)|u_EȦ9>WˋlkkD_c A)?-Ǩ$`4kFV@xujc2}]M4KҸ4C?@%hoQhGѾһѸ <̖98EJiuNTUhoGHK4@o<6oNΗ{GVӶq7)h8d)Ok#t ByQCI9ZL8Չ"df\, uB_G}=x[|r^չZg|{Gq֧Y qP;1,vìɩAvу0^eE1U;o&UK#)yXqf"1"&p[-aat:mak(Y`.jl!'ݪ{-]-V+ҥIb:+{wL6BMú"\nZY޾3#4m6*I/$\C4A,kI{L줳GuRUH!\{kl]s$MZ&czR총4{ mQtV Fk`͔UR0EH\s4Rmպ$^v11j7MZvzǥk`;ݦ6- YX8mX<0Gt/ D*YD)t ýTa&i V y$SТl2G 0G,;N,(>"#DSYDS$8T##!"^5!|puRZ@)TQ("GT'0FqFM;~V4 aHda@s:))Nuz5dafar eH4R5 MZW=lLmJr-@%XR4vWO;.v(c=f3V۴ N\Xlc,x!.zgL9U,yٺ:CIvzfJ\ҩHt[n*z4ңd_+zL'zfc@uVxݵ^ڶ7FM6:TB\_Yc,ր{Bi:n7oN-3+-}r\4E[jU&taX^5Dtu(9b_V[o,jfk"mv~? ־QizZha:Ej ȃYV3h7y>8[rϬ)A=veHS %ZI]5%M˕`|[P0eY# @֔l`jW/.Fy% -}MZE1H6T;AW̲^#do:fmy.t_t|[ 2˜+FX^9 9hf7'ۄUaÈ3|\kZ>6תiNV֐NcrPݖDW*ISnJmVs]&L[)O[)T`(\ӃH1RIShuiNUĒ"&޶'C[=9z: & "@c2 y1ȌK%$KU 4@,(\ka4&9iccH)qiiuzqCYpHvt#RieUWK",I4 0n$1r[ TP JFQ$UIHՀ94 \JMeXA%4: Dj%vդ*R =2/248CBC/& jh@ f]GD QDQOY GY9VUmP589捈UupX&*M5„!"RɕT{NU[cA0^FK ',L`#?d 㮐z)0>DD\ Cqxђ` :oq;w)AdN_/Pu)9- mr+`|ɧnkl$AV`wLaU :$b(M۩m:Z Vz%S <^9i`zd(Ђ(!ܓcΛXU65jm`+{T5{U 7iјp .zJ5j@IeQIf'N I,405카 C+-&F hណP B0&n@fP < KS{X:E ^HoEҁ{wCdhqV%&Ej1X{̞I79+WYP3UVzmJmi6(;Erp!6 * VZPaɰg\= &D8v`IٹK5c ĸPlH8-KD.5Hh `DeلFB @e 6rhč@U0MQߤt-eROGsPDO醋J.üI䥭D2da,TK启< EKD]ucM *H @rJryP,b!jke 4O}I7QmY^C!yhg0go,rsE8M;=;dH0e@#7jDa` +?U W|#$}t\_ΦKHZ wzcQM9'Y!p7zajNUTA;dliw֝dL(pKr 2#p\@>Wvj۪34VdfP Z>Z z[M FqbQj+9 =Z =ɠ$2",_wF" ⮮laس-\hs* jOQI획%KUYJJQGS6:dgqCl̿ML~i`WMIǘme3&N%Kys}g۴z6v:%9w6,+ P+ob(Y*s%D1}w>Vb̉~-2e=д\rw7mo{uH\N:j\. %,*Pg0W&65#YGNasww-AGD8T'1vL3$AS$ 8lpW[BA Xn"HpXAR]iu+9H_s84h-t/Z}+0ZMw)ڪBRUݒFiI= >,v-ɹqZ$jdֆvf)Q.nU1o+/ ckגaHwd8;7Jv,;4~{_mmT9XcK,`a Hp=ޏOrvfA2S g5M)cǯJмDJκ)ӭf\:UJNuc9p]=9[&j4ʉ;w^t$*DŲ[|Sb "pBui7vQB7 &DH*%MJ!UHuI+>' {F3>=CN-' r.W,is8Xcfkjo\sLڮyl2>ڊdRcoVB[vYzOsǮ\{ȎҝJ˜q}E38{ uԡrx+YY)ҠԚFa1-]K駦VV( \T61hmЛ=4i’d,y]H]7mѶ/"%CZ;5Q% 0s)KہDo{{se=Y)w >_FTjۍ g]NGMVUgŵf,Dxyubv=d!/W= lW/_h Z璇-Jw\D %!+Hp!Q\J&ajTkָ Zhh̬4qS^,քDQIJ{ԺRSA8: EUԛIu&[h a"tN畴OdvIE : z?CbȁAri舍MC@+8 mo$Bqv hpdfVX#X FK >G-Uv@h֐h-$y*ec"-*@Xm2@= 0aKv.VgvZjnc7W{8sdQdbpke5dH g}N.PȒZftxAwchTz4mשPwTV;ӬתvSc0 m~ D2fkְnj$I:tI{uOggSѮQ7I`~," 331135.AF8DA@,n$4r`Y:. xE}\zf=!fcbr%#4n5ClJ-IlU/K+v?$Iww),IB(jM!WDxDXMo Qa z4gWfi͔@+{%*U+Xⴖ,uϢ$%'& /}mh{B෣>~/`1#;8q+4v;otn*ENҶ-해\~%@;p10M(`;؏XQXb1 &j# lU Q،GzLc T>jY깣ڮ,4B(,% $496"ry0% {%/l00~H@rTw}3SAEaКhTC)~L*Z6*vws'<ڝ4|iX\VI}H40>KQ9 h˸@r5Q⦚V(VI߀mM&BI.N.0[h33#:Yb`XҪюZԢ(YyWh|Z2~JMΊ$S+:AF0@TbA 17Ȧ% 1tRFZ)P2bymXj3^8Έ}- Y@" BX@ơdLR3+";**AJy]~ R%[{˗03[,P+>8׋/2=ۥvUPD)-mBz6T4IUD%4Si\'ߍ__^3^€PUeYH̚Ed&IIFFI(YQVJM5RđY%(!`d:UitBS HѸqFv@ޭvvi"D\"F&ak00 lKרxImT*mڨ jOR.RERxe,pK;)~#<@ZL(H##+\kv)"tTgvL)ocv(DrM?ؐE-"n޾z2!B'؁F~qD[^`1w p!3A'0zwI-"bT_ȳ+3 ([* h(VKvnWіT'C5^l48gh\a 4fgE\Z1άJ_P Q=;PIVlZXDvTՊҕhZDSK$8ҢLek]2%%UeSU$zX|Ϟ- _|T_L  nXro-]^ QTfɰdrPb(DN]9*TT%HyJPeMS=ӳZJuL]n.'=8p&U^Yzxf^G](ms\(L7Uf =gyUՙRY+(A{U44톴 & dc>"QP|7p^n[tgWjH]%UUH5UbUtEħcE+UNteCHwgC~s;Z3S Kc6WmsL2j闶JK%u5J,:J,S8|e&F4Ld@@35֊Pn5=*4:V";WiX=阏[KSzmQKzk6MfKR!5Pk6Uf+Cc0+sF,b̃s"j# IQPSd69ğwaL1oV)gaIC+8 J۴M7 Ԙ+TA]wV@,k#vՌcIힴOJ!< Y \o ^{6cHέù٣KZ$5B9>j-XITL}oKtүMA)#?^}X6I5j6~g@+؁&Hx3%ʰ$粒X8QjѴih5\4$ 0Hێtj{6֢jMh rdC(Gƀ! YNYOt@T"ɔJ# 18;bA((pѲ@THie[eK N(,K_-vHzҾ[HH4JO.\ov? $j)D&ZLpNr%Xm 6s1?@`=  '#jODDA 6{hX* ϹPs`qPP #uX)***LC"VhJM;*%thn %q%YfeA{!4`,$/hX(V٠Lq*jֆI%B4UȲ%U0ĄVqδC:MZ쪁sB51xl2L;awnI dh]`" V]Iu \IBt^VLTGRq.C]#cw|1L4JغsE%IDeOWAׯQG&dS E@sAyJL:cN۶0 '0iKAYV^'pAN.N(x@N&5# Yj "Mb4 5o C$0&xQdhOvt[2/iFuK;Scq(ZlK tUy!@32719>C  514/.16BEA=DFBH95^v!.GewQrtx>z*Ve1%AUHl 0>q 2|  HgtA&*At';~.K}Zj $-]=e@NE'b'B )đ`Q~w be teȹl^IH*1sn6́(:3[ sjM'R\UzUU:u"M.25"jIUG ^JR.ЭJ9ZD$iQl] ]vRfJ9 jb= U6lBb]GӴ:LULU~aH[J@ڄBiMiqbC2;C7 j& \cf4N@?fէ_YjӏjIWVc9-QkQ=۞Rjl_$z4N>@[~ v+RnӾ֢Ό^ijRmR-tУdEzӭ*M .@@9Gڢ,2ˢ[ridBVUŜ$NjU,bĵ9Դ&fjbb t` "JY`q%PXhܡ=0t`ZRTR3XPQad lU ؝T=2r"Ev.,$~WNi޶JQkJۉjW[uY:?Ժ>Xz츷AS[;sEܱ_ {%yr{}xKӛJIV޻"";w;-|pT(%8v˹ F#BO c0^ݴױnh{vV֐!E ,1Mʙ[7UlC` e:TjoOU)[ *\)مY7N]XY( ,c!([.a>=z7M[,kp<8[E4>hHky*m*Gc.l4 #i̿e͞bQ^6hQ j)c2 TBseؽu%v[{ MJ;UV9: 5`8DjCѠ`H< A'8P݋\Y @0Di -/ mQRF*5M@CtELVIͮl1P@VKK-PBAcSP+ *ch_t9y퟾ 2,YK\&5Jh{tSkzH մ+Wo hZ ^u~`ȕ4dl)VC1 @(%   'fi`1 Lm MBk1B(\SAV5p(4t%w }ͧ7դKi*VE^3j%ډ0q[C<}hSaЖFjNє7rGԳUs_+R "RmQ|`^I:8 @AdX[MSVHE! (3^8wP[BZ=;\WC$JZ[f& AV74@qNozuRf VEیT_֒՗<VP ]s$bnB4`d9;mjREwKIDST|93HdcBeU+0y vemS`4OLdd@Lp.IQ#U[\Ց0 ViSdI۴zSU˥^PtmQipƐPjcf6, Fވ8*VRȺ:Mv?Zjy2BVFnwOn{ZiܘV&U[T#A`pPK],=5DƪS*=QH$Ijteiٓ,z{+u~55N|kuUr82N:U SVUoiVZD I#M\M|i/v&3aVHoڧj&Msг*>ī'Yѡi|gY=Ϊf?@;ukj %kRcQWYԶ۬xSMӄnoRUIZF- zu3aK^Id1d(YfAv2O(#B,KɑI\䬜+gXozæqh %:嘌WA\E)TH"ݦU4mh#@`uPLadFKgY*"jfZ XPCeh%$xĺ~k]jjb/CD竫f3]z Q\WMK5K62rX/@*v=n?  *0-><265?L_RM_$}\-H+ G%ꐀJ$Ѿ7joJ uT5-4YV,V@S (d|]svoLL 22Zd4Q3xբHsW.NwXv@=:N) DФ[U({=w^=DUjD4宑Ѱ$5SGqK$E 6ۑVNt~BV&tD_z<}h&pci$~uWyI-C%R\}VzIN |]|].'s&0. ^D]]Imh-m[i5vݎ #hB 8 0=tU&T)ުƫ&Òa;4 0u]'} ݦTҽ#PiqBjҤ:I϶: & (7 & (!)k)J)X65IdŬXUXS6{+8XαXk0cQԋjVC*Ӧ|+F0b,|Pr0Hyj!@H2V?q)ZKnHk"ͼк É5feoC~isPpyYaԬF{= 0tpGwɔBQizRE' !2"ͲSpnB^2̲!U& @U,VXrE Vs~*YAMCZV\Pm\5ʩ$qUj HbR,{;(ˋB9Euڢʨ1!  PXZ}[YeJZUhRn"-KCN@A,dXJ+"K#JU*. W<ˎhAN7Y͆HF)wwT^[ZT"*W1f5 T^0^՚%b"nd$C6.ٳ4eY1beYT9z^lTcH( Tؚv%\^w^Ekq)NEo*Bi# @8i+ 0DV؄DS!  Ve쒦vΝ̪Xqܸ2#@ӤXY@8MaF* ti(G64!jn0B枢6T&ʬL D|=Rc+^i 9iVV+TkPA;3cɎ zKoWd5XTJq۱bd2J MhU} @`Be!"AAY!@Z&  , Zsi9Â4>dVR:J(IPK 9JPk&\j1sv7+/TJNзsl_/g؝ SGאZ@u 2ZflhFBU[ 2>Ϯs^ 9}ut\6n6-Fp޳61X,$ bZ,p*U¸rbqjtzvlJӥҒL珄B vmR1e1֢`2h;0c.uvzi&65aXMU!YHN  SsRx;,Rpij(iBoxo>d&[T6uEChÀt:6Za)# M*4$REjܡʝ4a5'n&x14`bU @1'譂8*#ce@$3$PJT*0+TM; K Ht !3pVB 0,ưCB{hcCinj1qcq5m*6R%vaiAQs!VQSQ[)74Z$_>M]]W%TH"s]>= 8= \ <Mj #V -JVѲ0&A$${*HPR:LiI5),KY&*djADiSFF4F!dȱa@ )7XPf?Û8 j zEJBǔ+B0 /H'{wk$Y7ډ=}X8R69KWtS)W!@]v=p x8X\ =S#XEsHꨎ`8XLS!buCT5IrEB#ijVXGHJ(JQ%X`U1ZX p"ȐX2 jHwA)5tQ XUF+@<;T3eq. F,sZ!U~ #FGK} \|"001_=vru^SU4c0OB@ep>Lݶa %HC26a0clUBSwqsD_y*t嬊ܞ`HY ࿖xxiX>^D[rTAK"qDUF~4~dLAR'd1\3ɿ>9q—@3L4#k~>\5*g\U'JTR3/ >Uip6!.>@(( 믦 ůOVo{;ה,V%Ko;WxNVn7iSiV?\_lhLvx3)Is̾$692II14?=2/21>=#\c`]_cxe(@`40'zY>#L E, ]lE^^U KtgS}.5O9X3ۧ>LVϜ?[# $q+#|i i8_'cI12A:>Dը<9 4)GiNh di"@UFprʑe0n}]o;/&Sk9Mt%V:mbBPKir ~=warrFTrlozo/ܾ^\^JdSJIn2UeO[v* V)x%\?Yd3dʘ-rRĒD%3rŪH{_8hm|{n{[bV- ;hkQc$HuN,"C}EnvԘhƀPV:"PpYRep$d)KOU}74FcTo˘8HrFˢ3'/VU RmIUZJ=;Ndi&< TDfFrfJf]/1TOԩh-uf5TX1y0WJ4c&fiL4#-cϴkaub <Gm{ǶSttBrfdF=P'5mLfq^\RF.5|YOs7Er(KZ$ ȲEly}/YtӁ9$,IV(XATCA:-1W_o"(_Lw<2 he0"KZJq~;ZRDjΙJjr Y*TbB4#\0(n \0V, 9JsmZ7r:;4ߟZmҭ!V\Ufl2u飜9 3lrj]-B|٪D^C;]MU2L]۩}AT%H*jtZƑMm{iQt*UimݳH "F._ 2nIYj *YI;%F}PX+RAvK8Lԣۭ0WS 9G(J*2eӌUٵFc98s:FVKRFac\)ؗT>~!,`p@RdI` .X%% 6!!0^1ZIF~y%G b_p>b|սX%[vm ]`<"h[ĽPNú ts {~\B* 鑴g@F~^ bB/h1Qްa.Lh,39r@-vTLGCcL |\bd!".ղ]^.N]+$Ua(fJpӜ[*BM!JC 0}łY @W90$0  ۟~,f/$О􊈿% 8_dI>d8k++g-vAvIubK_*hg3,fuQ]c Qɜ*3~J$Z )c"nNe-m pa $SX@@fɕ̚}"z<H[Yh+&UPM:E;5X֞sYNHU6MJmG~T;6!@FOn@R3p1H1F =D*m.nn5R' eY}!+O- ݣAjF0]ag=BET ٺvqA.H4f'+B>F$ҿ90r^T"X>,BRٳ " DIblR4uXbw2Ttjy ј~-+Hi ]Wl  T ,k-G++]D¶@C;\rԢk*\dOC\6oq%2/$5b`P4_ 05 '`D[5v[KF,PKRYPK3KFbULc" Wb+WʴHDU$F0Uͺӻ55Tm .cQ\XwSG+R@+F`K+AYU )Cd X&I@"͈ 6ʌ2.DTUTQJL~|siE#bwv#в򇣬tuJzS]T*Ig* 1Ga<(>F >5T`K^[Q(9*Ȣz{$Q9V bM%٨asLHtXt#R*}8`GP4>7}}Z=.EJ)-8{1Q*"XH@=R,ELQؔEb:`XW& Df:-\ $q K3jAv)&0+2WTF$(W-I+{M| y:O*;Q #,YRj.}r;6/k(nмQ^X(Uh#WzvJZv)%HJ X!GWJ #B 9 {LbI'-\*HD@XhdN;k jSnl(wnt:扶a~5֒mYmd$lYƵ4dQ#cih1O;e2.֤A$$bn tB)UDl.*%[}EEs}A65@E ޅI+!Tn4OCy }gQ6*Nms9NSh1*˗A/ :[4O>͓mFL %(pO\1|Bk2־=X}uZI~(IS͈HLfn5t?ݒ5®⪪JyAϱF6Y^UGkh)ofu-QQ8&UmȪժ,JڻP!G3lU* Fbs, zH>MF9DB\0HDʽ@0quV i3j!)2%40tȎ X\UGȊ[grp (՗@[w) 4)T(#RP)ʒC=,W*` m63azF ޜ*CŨum֣ڦzuDnkmP5겉ޭE`Ŗj/@v-eX@/7e!mNYgk/Y >.FٻX.MM ?2( "Tɲq`;D,m%,KT%?c\)$|߿72d*[j0}hvaS"__;$$IDqȢiJOٸZ5 <@l%ZɺjQ#A(Yt 65eQմ/5DW]z!8Ll`ݝ*vN5!HBA -4yI&$U*"@f@u^!I"!/h3[s ݊Umt+k=P;LWhF>@300C֑Ľ>ݪ{:T}iˬUmv~o[iHeʊ64QtkVjCkf%˥=N堨+#)Q*nRJi˦DSdOKA}94ѯ|rhy|σf #bjr-JGm#Jo\U*LKPweJMmG!h4LS<*-tBпR.TWtVS*}gkPiUYLٻd[>^2Ҟv]2M[ZW8t[6d$"9yvF}w0L[L f̺?D?Y/+M'T DE\c1.[, }al&VY >I=k/Tz{Goۨ4 rĜTգlN+[V0`sQp1Q;3U.4 H FLvy>!aLrd;Ui N㰺S n#V_Os=<#bH0DȃQKN%&B)Dq*FZR=RRJ ,&:!PpXVr-pke W աSµ[7V%qiB$7:ELr<ʭdgwQC*նkP9³EZLSJFB[-v;n`c /+ X>NN3 4䎲gF*VU6k2JT&*4{?>61&K}5VX_UFaA9J qVL(/H=" bDT9qj~1ƬE#kUT.Cih&5w62LR1e9(0iu5VUTU" jTQ<-)DȂ=Aon6W$WW09n9Vu頤W}2y Ӓ79F$X@_JٛhW۩*;M %GC:-ˀ0`&`Odp'X;pN$@ 筹':\L,>2Btw*G<4(Z{+l+.HKReD*`ޯ1j}jRC6+IF[R%u˳<dE|+"t8FfM9)B8M4t|&gilor *x{OM.p& *>[*+:\,kL:`T+`UD U'n+dDTW@^׶Qt]3/Ws.v:pS, RxUY˵YM' "L4+m7ZiE ITZ9XDW˪8qA 9n^27HJ^2\kVT|h_W)L֢HWFƝYNzLXu[43 KՐ,U%Fzn&Ȩ'۬%,5jV4{5Jk#rh굣J{[&\-rJG& U(TAɵ7Mѿ,r՜鼚J͞o`޸εC.#T)$חN\vdG|@ımn,"K$>j Β9={ҥjSr,AHL46+&k-U#aDb+"Q.﹚o]Wo=s[qe'c>{'wfuԈ.=Hpu3Dd })Q3 Ż.dzxXW"LF@%1zIVHSTȢj?NX[D,xt6ly5o0&wqerO)$h֐Lyx"%طZ+@|J%AýV&ӊ@Xß z`Ū9|I4[bt YVOt"W]MS1yOs.{G}"fkX#)C2\+VA&2bYVNVV5 4Nvr)cRXGT&bĘ]N#b Xe0JFJLga @Zg:zHڤN#='ūAmn8T 1j:0(OggS%ѮQ7N@ &4313443CDB 114C@9? _O2{'0yG{59A&5sTZaa^ΡD){H={&]$s+ @HZn]a5"&S۝->e[Uҹ4v[\VYgVA;ƴ MTG:xL~πm&ĤJ0 jiPe0MZ~ C4Vd*T]jJ2P_ϖ*Q=!.RMѝ]1KK%csD 9QNO y:6/:f؁2n^9U)Lp3e@")=K2U9W< )fB>m@ZRRRmX4[ZxHmkN'-MUwtT"NFL33 !QƩUjĐӥq){uԘ0ZLs8zi4=Uj=*sL4uCUB.U&lYĠRm]vz6aR\ oi ȯb0 pD* m`Cv"c,846C /B3jeF*c85f=Lz*ݯ\^hϷ{K4KCR |N G-:/  *U D .1ђޒTS%*F,nFUB*WmW1D>\b!'&ddhQVjPڃD61˹+W@V2+DB):pZJ4b  %(CJ*k-"0dC,Ӗ0RTu*hbAXA#v6 ؤE4 Yt#uׄ?gi(ۻR}rkOD4]V"|{B3>lZ]}tw^M+/~ ^U'l.Q1ɔM %9mv fC cU5jXX º<9NꕪXV\Y5hחU ^vU#R,X2P`A0p(Kn5*XȒv7&V`}V=^fdGLkT*;Y,`,~+u>x䜆O?hZlh!y!]V>!ᡡs>F'l.YL\o`dpd9UxptV{v51ns8׈$Z{쫥*RXN4M-#d&P@0A; 4% Ba !(0F-( L̊c "Ae#QU !` G+.lb`OORmz@eY9b;=&tN˞kYv_RBЖtVMe]m* 91Dȑ%e9˕dQ*G3GDbJaY4:kߤ_Nc6 @\LLPl j̈8Kt` sP$h%cLTʈ(1xb&E}Q.2*tv#PM-Ci'ܘy0ttt  -r41ǘ;SvIUmIߜ'~' "C9}-$Dr "̰eY*fsě(bN]1{"V`Ёl"ŮaUpAi8+^8̮Ȥd`0M ĔLvl*1Q)$a 21bS$3 16e2PL5t'-.@@HeIIViK@W@Q2lDF?bT[ :dEJmf:L>-xͨ nd}M,~0*#>,L"OH؝Y2{re9VƐRL/ZZ*۹y+z,~4^aDRdTNe™i`$#Tm:eWMe!Ѕ 4ǜ!DvLjI)mء@Y5v\A益X 5S#w6B FP`yvpr"v8)K&ԈtJV`Y94Ehx:ut)it;>]z \)7c.񜑅3Ub*fU&6 ZUU$&>UG[H@iCD@ZގxVTjWe?1we`DVc&2d,%]D.5Hg說Mo&rq%X ĺK i8,[Qx1{2d uCewj& .\^g^_Ms7KHx.ڋFq@^u& ʍ=%كE!JQ楈" a~2 #bUq&ڴN(O2kX !Acv8`4Pj w ت l@TA, *UeS)Ɛ B c^JL0EYJU] p"|LDl|sʕb\u]xňAu@DJz4A "IPCvg?uIF"D_9}$h:;2Y+γ:2Nڷe d[:$CU[VZI 4:SP>; nU[!VVlc4 gX2۴;tD} []"dqJш\]&suy0ZTٔ"v9^^UNdfAJS.T$駨n3 Yd_,`vV)f(&+%~STJNӥl#F*֪6+TYv-: 6-Xb}rG֍V[w(*;o;MIU̕tq;3 ч!]EùȪ{j0-4aK[߭%&ЄzFDzN)y -\0-jFÂ~&4%MTV۬&T"jd P ndz:gEQƝUTRBRq$ CJ-!TyG:N^zURm\+U;eˉ^14ꭇ3$^tK38 - }qwn**p2,S*FTgp@oD>N AX猞=I1V06މiiRQ5jTLVHRzW +pݩrz7ʨzCv'r_aԜBsDRj-!=U!>>=ҧP/s=D>nEJWiԵL .Ce&X=ʄR@ĥ顉yդR+WTȶ,߲)2"JWx#vŠÂDIsG~7%@P(i'j\Vk;nv&ì/\?4_^;UI%AbIWkcĒjLTu)Y{Yw:meݵS1HTi# BWnSU)[d5bFܖK^UT,H m*V֫YM\4Z`d@f1 "ʝLIk,V+#Mx+e"XZjȀ#z6T;eV<UMJDS`p<0-  Hrn!7mInqbC0XF#4&08#VZ1Q 0!"͵,O0J+z%0Qed|(N>J8wQ--%$&C3<[0l!{`&]TNz0~;g^{;iM'PE#!j[inH2Xŝv#JpO 9ha;$r̽~fmF\'c j9"mcƪMf)T[*g @BHcKLk @ Fk(c g۩#Qzk\JV1e0fFh]{0 ȠAɀՄcD(Mf| yO3; n䨺ÅIތoA&ȐqlV ?dp&k#CvD\UXl,ea$]s V[%3$’_ RM33֫hԠ%S=rUa@ Mŕh4Mm"a?4i*Uj-/'̸ @*`ݦ*Jt"ymeV_H4S*K3ۥMcehH5f\ 4w 1Jt 0f;ٳN$OggSѮQ7Pq/ 3200/.AB -//296AGAC7B?F 414141<>k.kQY{CAV/dgɒ.XUUR$B9&D>ָ*J)S"UxNm>ԪDka[^Ֆ&)V8#0d,VQ](i<`@ Prbi BҴ#lTTBA wyF"(*ajT,m+򬙓SZ}({OHV;ltO\f6$b+7#n^u5]>LiH} |5&%rGRP5׌1 qVץT:u\]Uf,ۜ'z\hdl,{Qj7hE6 RFcX@ WL22!dxְz4ɇv0i!DդB~7֥[۲PBuUDUI;iVӤeF%:(0J%JY VH,  "!ƎeGN^'׋X1zu/(V&fN)daabUe+XZ  lpfkшh UtPR"@a0ȣYPGHV IL JU:8F :ta}b؏ULIXKMjC%iQ(=^>Db(X7E %l@X Y 15⭨$iQԧ4z+%PaXl.Ysac0E]%DueB2HHeV/֕m[ r1|.J{ln2U;BC#a&u흊iL(Ƴmrb%K}(\)dp 0bbX,Xd\T`k[4HLTsU'R%"T5 Ӕt`&z$  Yd8  4tK :RĐ$qcDt; blbɊrd/~H( @?* <Bk[i>49u_x:u9"!'嵛TR[9ܿ@L祐,X tXY&ru9R'sS4"T|I4 : ~U=RWhÌm׬XЏtQ1mY#z%/U/2#}N7ljfs5Tq) TWTUV iTE•զ T])K-@ެP(6ƪX`lb(Bs Rjm5 ThT{Ha&.ry#OG1Rp |RE[]]z!Yz\\cѦTq?.@Q>j\ZjĥtSQı٤VmZWLc0kr?5 \47WEsVlIs4:=m$QիtIU;۶M*VңdeAX= I2+ R*IX~w!r35+#[o"6iёTWowFWWrrqMoӦMJcT9Ul0ߕ2^0xBUiwvWZmsYwӦKUs\J; _S" *RR2^V ,AeBZoM!}+ì)ob^r%:'d_k2OPIkM/Q>wTW5,-ؿybQ]XA_QG#!(,Vz0Ef9A,nW *u19z|A( ,lXrKعgalɑ:С>9p _95<>J>Vrs\SG_0M4ĵ`jiy7K^2j(Y K.@Xj(om{kUU:FР}$*S+"XVaey@V,լGrTU\9ٵs@ɦT%ZIUM7'gǀ@{aDI@ېY.YjpiPT@1P5E8B5LBZ ~ڪ*Y2;!TYu*gZz۬>]5wBʬuMju*$&$4_l6NU抪* 0WR)T6jI$ߨU\A}(Tj""2(GNp}г4KbS0Ɗq"~j\>5 4TcLq8^6>SBo 33#2.!!4 4P"h *8Bj*UQz8OHp%tɆP zTAJt0a >p AՅ$/Y 0 $-m0yE%TV*}K7vjHCM)?*mD}p(~QZ!0m+P([ mq)PD_ĹlGuȦ2QB !E¦'jv%_*5-cA`tvfnoxWP;ΐ!CU&-Wd[ -"1wVLMѣӰI mηeҭ?EOukOggSѮQ7Q0j.@601:2B?AACE:|c" oLLrN=!ѯ8lѠiŢ0B+ KKU=Td5HDWWME a(K%AC[_r/dv珬TjFB@ndfi.b*`AbIGX[,ZqQjٮ[KZ{RP@8BD\@ ,k B 4EԪŎRa-HB4@XebA' dgGx;>&=]i8q:T&ui$ujw'1jC^qiꯪ=cdub?㲒HFQѭ&騞7'+; X 'oI͓ܳ3 fe9Xŕ VHF+Gcqk1 P3.:Ez%^jV jPPS1,HNaXjAk1vhS/B+#X܃@-4 @l/V(wjZLyTAh){0q/UC^Eu< uQ!оSۚ o$TCcSn<@ 郒hvqLX{W}y+˄x]eªϏXiaFm0*W1D UF%55EEhD̺id뱹A` CIL,& ĈTVktIb5Y$JwR!3 p1GиׄPnkۿPt\ҔM2+2q+EK H2aOaR %B{ZFfJ=tfjBpEֺcUzm1]`VsEWAWeDuTT%~5Z45 1˴jy&=d&eY*ck%͸R + "4b+zaP1Q2*%t? CXV&;LJ0:h8@2DԁD)YX ´VD `a pd+!02$ن!IXZf~eL jxtM;M1*Nj\HJĤ^r[*v*A[F= z$P^ZLa4!Vci`DV!JHF283d16%bQSMDJ[Fiw{Vb\ׁde C,H(tfNS(B(l* 0@J]ĊDdHB% ̔lcL]AZ,g-8.MyC\H }Lp*I<|V]WׯZ1A-ZK0BNf̤l "4RQxe"b$:q@)WN:mGhUF5"2aZ@S @,dy8uaŶAؑY Wa(U`7RM&BD p+*5YwON*(0lNRtR m^BّN+Ʋ6򣸳+aMC܊Th Q m,FVBN B#Qb,1gUAoj8Vv'$:eEU0BZaC iԳ F}֡RN+MMjn AJ:榩Лlg-`FACeY@d", Ozy?D߄rW+.|'*Cd,_cl]bZ9*'#u8BQ~3˖nԯpyVpۢ^z vO \ = a (!CY33HIO),jQhLl&DL5-34.^h4L֣WWЪx/9 PfX[5%BȊU 2YޖAe`rՂs'/eDyudt) zED]5C؅7_Oj.:6W+FjZm )@J`h S[ X%M3iV9VUe$1UkAšELBbEXM% A)ѝ[en´ {ͩ͢}w %1bFE^MtoeRUn5HktW])-kd([cʺݕD].*iƬɅM)4&ɋ4$Bip &S'okdQNqbY5.zѦmF*=Ƽ|T"؁ң:\#8mV#EMSW^udTzSXU 1r% K FҕPkޒ8,ab!*MtC{e Zč6v˸3^ 6^fҳscM5 05Gi"FC)MݸD@.GsR1ڪWl-B [1$Kw+ FNP. qH#c3T ,PŸ6+}c&5ڀ\TXj1)̔h>!J#q7θ4% %!b*| _mT9]6 e'^2Cݨ_(*pԂ&L`VYb:I;^xfmJ lʹ:̑UZjQ^9մ:@ՊFN􇀠FX YE~+$Bn m=d+#n= U˜g3 1Ak2"0LfiH qs0"iyk[9CDݪ*MPT7m4Alu4ZM@NE'P9ݍ0;Y+VU 9٢\{iLp9 ((H-VΪXL$"xD/ i| BdYX$9 * # ;# *4Z$[J.q!0mH&}i۵9 k5/7s=4E'M;IeZ/ښRD:(QFډDR  0BkXoeʹXU2*hp;7Yelu5-z#3R_p9`9v1$-@UbVBda1r˘ AR`C -Obń ؈@).<4rDrI>|؇)v^ ! MsN]~R'i׶)V,흔Dhآlp m Qԍ $ DQ MK #YS=+RiWaWT]8T] <~B @5a meBC𧕇F6}]yD[f$ڊe{EKOr eYuI A`AtKo&5TYB2$B%mJc@K;Gr՛e-,ePl[JG-11S"yxy AЋ&&līAZ]\TGt_u_cLgfv8_4VfsaPg4!ͻUMjDBښ"{zzV_˞ڼs{`7^ JzUMѶVUz%2),0?8F(==3f:Z"HHRJL WR2L5f5cթև]ŨZ+60hX + *ZuAǖ# jF*v9 DB P![l9 e@6!4EL)}IB21D !P\E6b)oA93ILy4dw xrgokØ C,>>(Mn5] X-%޻u&lzȩZp:z9F{pO \9rmU0 5# JFD0RMkaNJێQk6k_) E`W [d?zY8 3 B)lcX[6LhY@gA&ApW'q66RertޕeuaXu1 Tɯq qs "-x} <%\-(B=Ǩ@R%HJUu$) VD~9xB4`|-G@嘫Z@MIKS0 T^aDjj"¶i-r_+mQ NHIp44WZզN+U\K-^ -c,Ҵs I-Vch:>Jj m)DT\m]J BH\ցKtᙧg VWaZzYFxD Цw2Mg yB*OggS@<ѮQ7S /P" -%#'96>@BE?B$UQX-eQX䨱ZY [E$IZUrA6$%LH FBVI 2+G::ۇv7NgM\ -KˑOB\)%ӫU-"\$oSV92I)d0L bGn@B@Ρ7SQ"eǨPzZWa Z/`jK7JJ*d] R:IB"p-:e`WJV5NG x~#y`>=j :V^GĴ<3}]g:7\NAMeUO^X&1VȹXX Ldb=bf1k@G+wM_E)Nr„C֯ז_>*;Y^Mb/myGet1nV$5sYELK<wՒ g,gAG*Ȭ[ 2dN)1yj_Nw-JLP*4j`#YŲ1 )Y[g2.fW/!&yN3Px#?&4t|1hWcXopLkcUwv-nƻ&Mh`qu^eQu\fr^U^XF %3JZYbF Ntֵ5êa~}[4mGN͇ݴ*Ј%b%et.eL./T*z1O b'er볩ɘ}qc @Sbm>p$mJ)11ls߳mipƿ}CenTk8꒡ F떄=MXthTRi, 9Utr)i| Xh2뭡gY2hBC㳼ŅX8DKhNQ̎j%Rb{t` = $BŋRqV!CЄ0J9ܥU:RbY9qh(.3 "MϘecb?6\g_2*F9 gʊ#Lҕ-zR*o- *v_Ŕ &,?+BFR0*-rblg6/Fsg$&⬱6Dкrmb4՚*Q..0_5k`p)t{νb1=Ǧ.j VIW :4OI4Qԥq6"![ĘbsD.j0g 8//Ӕi*FKc h2PK)s|#Z\hh59hKt;#&JDǞ&U44GM29t 6&.Zsk:jhW qPt*!jTjK5ի&DOT>OMzv˩GO9u_y zսαЬ&~|4kUILShrtr/XLw6ߟsYcF^=H~M꺢(z:=HdW.SivE[}y fRfV]WLg+#m%nU!]:t4lc]ߍ}>J/&muŕB'IRU=ԡ?_DPXx8QtV|N++ UO\՚"*u2R%iF\r8@r7ac{/f}< [uotzhi@a0X)AKһ S̪ )g쩶=ޝȤ L"CҨb4 g{XF`҅!\IEʊbHQYeALRzU*jfkZjV]i9d&Piz'(5`N7M1E'( Rw-MؤQ3j;2IY -~[Qix4]MURR/=Z"t8α̤Rq4JG>V.6ZEJq@ꇃ7>KF(ª_Km Ŋs@{(J@ V TĂXM'6Q2A$HjSbbdȨt]7Fh[J',5>RD~n蠶TqiB%%grOqAL)]fBHi4XQ1 H0Bq5@=s4bU #68݁%[ 22%$*DOSt#'=Yf~nWc’R;zCH(37'JzJ7i* XPL,FWӤmdQBO"4*:Lٽl:M6@%ӫsY9=%M#Jq\Gj0&SV]WE)ARAW#Dj$}2k-툫,f;iJ vjM]J1 *wCE!syȘ*/95cׅT&vO?FJ}#M1JS}2~8U% ObHQNLaȅ︢c% `U:tڶA!MAT$ 4Ml*!>@5IDIgZUV6PaK [>ܰi18PZ9L *yˏwImrBVr( -d{*G!b<"N/daXqyww`p i;*,P%Mv HSP!.QP.]X"PVmU]j[cLNlMãXFiBf L6TnDi"!^d ^ $D*9%KBP,gL:Jb9Xe^"k[M$+6|*/4қa//0BӼּխgӵAv!ձhTzIG{z5>/ cW91PnQNm!iWHnE jK;~kSOa Fmm@\DWD Twm=^|4AAOggSyѮQ7T_.H@F   v(6H.^huU7%-: …jשVV9gdLV˕8@QИC4";GPrp{A-/a.sdkg-50S er9VT]C,!\`i$-,ϱ稄aV&Vk2c4FI"'g ܂aSlc T&3F3@`ph!,l%*EuPiM@z7Fmzه YuR6w8myy52fiuV|Mgy^{ oT媩:-NC0P= džXc,au9e\%cT4=릷ǼN6S.k_v3]Uvf&D CSr̨iPZS`3},mY9$8Xm̡?YhfV4հ$3]Cڨ*uM,qp+*z&njV[q5jX~)#*Y>L6,D+DE+@Phx$&:w;2/p/]]_vE@ˆl<)PC ^:EDCAk=CW:ŎŃ,MLJN%8xÚXEb{fQ i+R)v舵Z *K0hYƹf)S8amf/-5M٘ZC9QiID"kreZ (iH+FL!SZ:I0 *!cNM\iD#@@|ر(pbƁ BX -m"7xNlJ Br&`  ]LfRBWvjI5Ce.@Kާ,˙Ӫ)" h̨ٝT*Ɗ'@s{=VS퀹P5śCjxz!)GHs}cm^suj9;Q^Bvk@LK(&X`c- $2, J-W)}K$0BѴO]HSQծ%;*'q;$d8HTCv3p Iwĝo еA F76R@*bzV|qG2pϝVDʵdjMKVm :|9MJ:UژH)mj{letc+% Bw$bqbӉvެ5Tj*]䏉VVKn[TaOa%@ `ҷwNzOX+:5qmoU5GUuRQRR$Z RDrr-kLZȩnQ-(3bRgЙaTXIBU&K+kptLHbqc6A0>J5 yH+jD4̦?ۻXM~^4@BHHqllC;`XH Kiڕ.. ^JjUY\"pw| =>)W(22%[$5P{iʊ'6L[UZ\ #M%UFhk<80hA%&A.MS< 쀏Ŧ ho`3dr5L::Dl0rHwXE@S1B d/RKUAضbep7qJE?TTe)Arn֌LH*mH5$+#aX`l!d٠E @BCxwR=w_WD ~THSJAtV-Ḙ&Df5i J9ni#aPmO6\$Uh+}V t DB}mXK|-roDDa6$ (7ʕkZf5MhL"igݒ6rHXmXa Ku&N3c8W9\+0X`JAh^&nm e7DbJ!#  ,H(lրB"fB3Lv/XMϐosVT,"%0 xׅ?M*VIoѹjV.}*sr>I!}نܧ(TIܓVsCdezK-iK^@BM^XcȂ.H^` odVd̞:PabNR)Ez/{Nr!B2>;}yC`@1,N-#A t"E9>PX#>m%FVb`M)Ԑ d2Mcs9 XĠefe9UĨppHk0j9nL ȾJTWlP(w12ځJYPqcWH?OdB"ʜIYX˭W/W,;A_ZLץ~.6Bbv)!ވN<9W_cVWQKuq|47+ X q&CFQ\b @}u(:SUPwyTD)V;UPC1*I\vj;Q(#R9d1Sƶ’*ө$幕enլ+L4HF qBÐ 6qXgE`$,pK$ګnm- ?(_Dn~hU?2~?ͪZDOggSѮQ7UĘ*BE)' (CI# #83566I>=4>A@?@6:?Hﵼ.xj{mUUUտ\[tI_[tIqCpk]mWWd-څFveMIEmX E@Ԋl_|]Yt6`ar0.2TtڑdB?;mRGvԛH/kmIgĐ@ K6 fA'ZSɪl){ݣQ&+f`5;e|+?sny5JvG/;㣛=[^61Y_cuu=[>1ER*r-tv' 4F`Wd>ogOn4Lj/R"}⁸(CUmgN f,V[culnU9~bDOM䆨Hr7ZS گ\FeCw=R UmVh:iDPm".pȰ@2 AY=2+ 9}3 hbj N#ŵ i0ؘ̩2֋ w\:Y=RqTw^^R1h`bu7p&3dBΝOeL%>=33 d'  ^9n]"³Є%5MVjڠTw C=ͮ;2`2’E*]Prg`mBѽs4- 85+_C B,UHEIJtOy>ܭ Apa4`0 1:{5bs$Z[f'9|Gvkg=k\^.W+*x{GDlJ"ɔ T*gwhey\_NޘdYc=ZFk1&3&+ WAVtH5EJm:$~ᕳo"Y$\D6IC?GltB\VOO\ 4=Z]`> CM_+^ 65{=x9 XíՂٝN:*W,9[nT6pB80dz``ҫ;iK.C笸dg @' LeְH)D2THa0H7R)R2& ڴB?e~Gc * !CYwBT L%YVRHI\ڢ)zkyqZ% H"kn9.s`NNt= 9/OWQϕvKk+6f)ouMHK̤1W*l@Y 46RzeH[̲$)isR䎡5:=Q)*p}p -mPZRQbD%e:K(!+!A颯"ՔI. WTGpb"LbHuHMdC(Yr]URIүT$U*ik(Q31=Sݖ5{a4 PVfRIEZq́IA8BhRORͻq(m5JJjJT].iH!JQ.ݻ8 |MiD+kZkܳdck;_h"L_nWzmi\ck 'tYI#Pc\_{hG%zeUקx 3@ZmnGQ= : -H1^0?2Y:F&#GT2!˱X@RF&%f3eO 3=|}5{ןjTUYY `*h ,Vnʁ\0]i 7) u&*m;πBw+b.%@q. b3."uruKJ$B[~eݪ+vIM..DЊu̞`/g02w`⾇#Mr@l t( mR5WUU*67dq!-`9Xn\` h' "jU 쌭2\Qr2YwP8t$sWvk\0a rLe$3F)x130j50)20Bؔ\oLU @֪d@6@u⅁UĩT鶴Z*VWԀGMF:ZCٻSI*J掄p\@]9XĦ 2B|ĔZX*:?;AM6mv8ԫ? ~1zN#d v8íQFN*hI]T55PÑLU'L +PR4hH)xFw̚96Q(|!w& `AE2*&o, XgFRA5Q:bnU! bA*=B|iiqiRL=X9e~]ۧ49/{4ttzNڕ.mO6BC N\DrVj+xZDOP;Ld;Fffr*fDN$sL8meŜw5ZsS11GLo0o{wz*=S[F.mdjw}@X,cN1'BS0$M("˂,/Lg:+azdh/ aZ]$Q|u(S`4rO@&sdI'h,lw4 E+&<km7@Ts\f RpERRԲ&Ø0[ L(MӄJ]S,aN0'$lXpZ @$!mh7+W&m*u ŅFtL[q̴9jd.`+ ЫH\:-{,u>FN\]D^[b|\qm;Cr}w `%@,R }w*=\aȧSܝua`@ןkF`VuS m6&$@JoXW$諮W[,j&׫_3%A ir%CL4L "y&&f8 DՌ60}Z1L%rKr;^l.ԢvT$H4U8n)״ _ _=;'$CIF2*ӦnofT./c:BoJn#i&6agm)Z3 2IZbfj]4WiݪV]- {[JYVU'44:6ta]9ƨsBI? 4XD*?cJZuI( ٭%TcEF+2F>@m3uT@GkHjMmt8 #ySV}-iM$T inHDd] ѽ)NծYxDh$l0FJ@mғ .Qde̐R1D;@4j]ϸs^"⭥>*,SU#s̥Xg%(ʲBK{Vo{t#^{{:č"/J/'I+itr"s/)Ƅr"8Z%5Ŵ7Z/Mz:W#XQˋ JԙM;'K"Ƹ;3$cDyjM=D*mw:SYbq``ږm^jhi3d}{*#^vc}FoCiBWƨYpܩqIzҎ:= \jkXJB[iSam:♴8L kPr20XVmR(Fqgy`((e;: ;E2440--B)QUtJ7VMiWX@;}e,`ؑ/+Ub"*j``:0 j 깺GWc,,=.v ii(6 2J\QQլCl!6M&&uUP.62` bT)Œ0@ؒf@xXJ ۥe,qLYj[ #סj/U*sCR~@Vr|ByZ/WHM> {:K&/Ri.˝)>wh;& :5dz*9CP+Ŵ(Fc"F"0 h(sF(L-$RH@^GA a DU4)]>,ܫ= cV|맙TEQjpyL};K[s.GEw/0vz*}MKs-8Ex1|9SDmd\e3\V!m5A(0-#p&R \ɀ$BcZTiFQQnzN˃&:FbmfCuT냹&Ӣ{vN®µ!6W&wa.Ospxu|`x:-g.fII\5(K8BLĄD u(F8b#azvFG'BPvw2A(1eWi%Ӧ"P14qU"AUmTؑ 0 }5x"&]4 vzsY\oRno*]Cr΁$4xTCw/h{M ΂0?)U6u z:sajY4S ZRt'@T iOV(#UHV;UtN$T\`LW6 GQ )Q_U+RY2ź;KOw\[/Xvqmы$\ ,d~Pq K ؁[Uv[L&=MCx@)A_AUJuթʾN(18|&<+]dj:Vdc!-'%N&zvA: zS+)DR2ӏ*=nl_ T/UNMτ}r3j1J մ+̽ud \Qa(qMG5tbmH( b:-U . @9GenQ-Vʢd7Yf eF̀rVUe1!o m6Lj88HuU PLmvj*FhT$Gb"M".tjHp5P "B@A+"{FIEB):’4D_e"JP!$ zY% 9_җrm[x ?saqG;Ol@B=z2c.zƤ! Q⊫s,mAAUE b*"&L18-tbB A &)Ȗ0m\c-%v^:Q!8vd08l+QF&]NB%QM V{*U0mN偌"ڤވc)ͤ;~K2T^X#_4a&p\M uFaHK40]D7_r@z{22c!UJNb00D (!cD$8pL Ӵ-ڢvJCcH@ Vr۴tAU[E[i#MRDb(nhA,"c. KB([84e Yj122rV\1%ZM(FR^/p?晆V /V,2\B|@|*ZUi;p Tp`BS.PVUٍ \T LO]Y3G +YePI D(iGU,j3sMX0LA ظDAhlDN@l:tET;Ċ+|OR:FvQRbԐɌb05VD`(4ܩVRDyZRutj5K,0^y~uϾ9޾:\>v+JF1I\ %(}=V=.Ñ\Y+K5e2f۳uTAI6JO G\h`nD 25"^a;EFB|ա2LU`]JAF]d¡IؠVX vH4JjZ$Qi$` P`Qup| k#^m7[4Qt30{PE"FUy1ZI1|J5M~DShJ5{+uC 0F0MJob"ɰܒk-uOggS@$ѮQ7Wn$CA?33.42EDE3G@B DYTEYC&`L H$b7V3sv۪wnjHN"U=J l-CKQ SNJ6Z.,F_i1_J+Du kGJ d?飑^*P8@U2ȯ%zkTjߡ2i.G:>|g0oD$yUf/RFΐ歼O.^MgIwj313m3Fł[-*HHYWs;{hl߄Lٮ (!Ae%*V4, (^EEխL9xtg^͖đ{)%iL-@ գti DUD'|ЊHZ|i/M=[S7 Ϙ3 ~*VNs)eQ/Y)+*cuq<#F֭-f,0fWڪZ=mk]ƪEoVUNUH:-V0\u7ihF\dj mhdѶ Gf5?rw$QCq@2~!GQ'2L8F$ M&7eiMͳ/bjS+[=+JMQ{ia K^#&hu5S/yOjN<}Rujbd(c,WXVEC&L0jmSu!-atj(pi 9Ud`k @Yji\Ug/ئdlly,KMJ 0B[H* g$g<1PHHRMk7n {T &:Wb,՗˷-[Ձ]Jsx4}\mS\i[?;Q,m>B]jZiBڤDhZZ ,ޔatd A98V;y~5;0'Z:\X V5Z%"A 񑈣$cGRQwhi,lBHLvzD$2i!bYlJ)/H  27Sn 6p#+ɚ ۡ:m5/5CdrYT@I!`vmrCA\(Yg'S4^=K+-Ð) <ӑ?Zڼt* [-IRR)T}u"-& ]izXJQ&v`IgVXN%bɍ}9 5Lhe`XG[niQULD"Хτ@b*()@# d`M`Dv:iD+.puV4$ 3+7 E5 jvz&\0RYiZ'T4 c8?@A3C-f K>a Yd]hTp0Сz]#X;(̀]m{|d:2cs.7RTDP'e(zv^ĜsUqW5k jkM6wU.\oFMXvDQ Hql ,ۋdCy20(ql2b[&TUUam~þB εl` %IڶTأ5_=҆c][%y/L>򅰳`߻ qڸf5`<9j\K,փ"]Cj46v$TU5*"ePz#qd( "wĘ)._׆V<_ 2AG{GPֶ&:F Zi_-K%3 ;kMѓY6#nJbgބɓ/oo6?aMK͉tht~({ {>H挢`rU%%ʱd'մZD0 MBaIO:}p0liRUI)ڦ%p .(p}ҎjJ:ut B B=jh0p#Cl: B0\2  +),J k{*){9Nv>20xoqk .8MF"lݳ(4$NtiMI^{= rl`6m{ X1*QÉTbg #qј0&A(E┮(aStb1¶ `d12\@۽d$60ƪ&a0@h-T!;"Nzq6E5^.Cd0;:pXHص幍D m 7 `xKUz,GR5FTGX >b(xY一a.Fd@ΒIbXUUUZI =h8,F4WJ$ pT8;@6B# Ɉc)ABdʣ|XXb]0tab ~PC !Y!PI)G:G}"i "C%Vl:,}e V5 сjew J-Ʀ(Q-ȋ#&/Hvա*i/ ^Ѻ@* >#d/ea6{D^` MLŘMx 1jb``  @l& cH2z4h@Wj*AXun K- @&(Je(, ,c<{E<@LP47K !hED4گGifib2U-HBFiJU PEW8٠-$PhG),^{KB:Jee#TM ڽEkt)! nhdNXr@E(AZ|**Ŏ)I1qQuT bH@ST P+rOKXȩrm DvV+ T(9PybK#=G\" z^~9d䮿,{H&ZO>j0V悧vg SUٵEN#,wߦrakFg$jVOggSVѮQ7X"߯)@;BDFDGHFF:6655580>;=241;=6=<+. CPQ(G" IYN#O|(jjKʲHYTYb ufDxȕm"WXQ*V b nbuDMG#fjN[U&!Wa0hѤ峄 U{C$wS !!/bu jb-@Bi~]N #@Z~W%*[m(קf0V ^$&Nk{  #|>?QbPcޯv*J>DSۋ*}6PzsSU굶(PWMabilm<ӂlgZ:BFD!Q$q]Yn͑nU [.LU#iZwޢnptWVLN㼝o>ne8tzsWYP}-;RUZTe.Wc.)p-AjԘiIQwUvj/*j0oRԕjHXj;գ[e;xS#h/Ԯ{9cvYUiS%Y]TzH5*B+ iVU1w^|`</1Ԇ}_.ǗZ~ڈ Ba!|iz]WP-wĪn=\קδ줣M#Y~*tP\QitbP v^o*XT]i4ܗ>LG8L LWը۞M{9W\\)TA\Ѳ W-Mۮ4Mi0-JFլc+|޴^?uH N;pڲھަ]j5RcU$+[g 3%cn=Lq+s79bx>ocfZ-\xUui4z fA4tKv/c/90./ν d,E,feF f?q䓍/(DEYKeLH ^㶭?ҧb͢Ö✷a(nrNI!QI5z%[ cPLcW;'Ƴִh "h&̊0B KDRUzY$aՂDu&#v(*e/5.ݫEYFOBE7#x="r|URJҢ튴iVV^L+Du$ˀr7YZR,\^1UKQM)vmUԸSv_Ӄd|\jQ4FyTMUX>cݿRz 4Kׄ/5_9֯R꦳w FTEsݕ 75)%&O"tQ2" kADT'ҴqX1Ol,Źcۏ'y$F{g# 1uǺ)@ &YH_~iM Z?3'F^`FJTEV'V,N,B7&h$TP[R $و UU,hdԢ*a0V{BcvZkab\_QZꀁTܑlbG't@!Ls`O;` KZ•2]SA5`eӟ9a8Rkl2 Fߞ!<@0!r*jI0"0c7ZV- Q:T*Ic{i45ncZ4>| c24kluݾY~%+S,$WY`p1p  %wҙt\\UV5@DQ F5̵5jLt$wmdHգ9C!V<znڭ1VP "Gd*D2mړTTb %i9ӑ$LAz} UӭFĚr9q-Ȥ(W1VXfx$KZsA\DY*Uώuki;Ò xWM ,_Lq*@-#"r&ITԲ9w**DY'54D40EONQL+okai$k4:4LY~S+@IB `[s"!(AhT7«(iW7DW;X:EȄ \-sgVH_82|nh:4\]"Vk3ъp OeN+GE[U)=:T]а \P ]$ #y)@V$RXL0H1G7taծ :92443tˋvEt$᪚KMWTUکFocHT sKi=*Yʉ~Ki{y~u|:T[MkP{C  f  PX]'zGwR,ӴMZt]t|Jލ8tZҤgSm]s5qI)q|ܟT4խTo- lWlUXmfB0NհuZm5nOC\=(*FVF U XU pARFEQ[dQla/X&TbyP䦎IUc[u-%i:g[!Y&m*Uh1dhxXT$j: ״8>n)Q*^D=r6)J,l#:7Js?<q)QM$:M.y;X09 p$G=mAg0=Q&;9_/Wn#~N! -8j& !e@aY qUr)Ɋj8ZT%^kJQU0Qۺ:JWU(p JKw'nK>5ɑ*՗SUXHEtH@TQ]A؎z&}tT Ml=l֥Nz<õ<$ۮWBA'`3@IO {zZ6غ)sDU_i;C-:Fj[ :JI۔T Iq"1Es݈{>U$8YA9U1%  ^I5H210HuV)]mu-T-| [!#ٳ:Mcm $H7*mOtˊ 7xz!- =.D%M7M`av k@t4׷$p*mDkgϑN:㖕fhn6ĭy9U4 =Sň`Cɬ-* "M?|U, 9;c\d b&IZ6a#LӺ QPWZ!ARi#-t+ZL#(&FD%sBN,Ba9u^ht3#6M53c  %hi ~'M?)mJ/ W9=哄$0%+~|^ppPE"URJTзV೪JI4Q@B U@$@ff`.իY|,w-BCk]YG^/>Vn4T{I ' F_1g-5DG}Xb"V @R1TeB2^\xVu+dUd˪tΎ^Jӑ F-^M[UɥBӑ*ݪ6: \[V +j zY2PuQL\5PVV5~XeV&Nj}Z%!\D qTD?T"Sݙ )ȝ92G\sSZ H'lYcFJD.NkgEң1u=6e|\9=gq5@xk=OggS@ѮQ7Ym'"43?E@>42256C>?8EBG1v,BJS@UY"MuIt!>kI,F|V$iX!%YଜUU`8[c[E´p"%ͲUef1vN[{+M$Qc!4YL+A)@d ]Bn+% uE"cD-y+V$Q!/luŬFU(w^˼a|_!Fo |gM>=Ң$<Z _; V5euB<c5ZCDs>|X^KF$cB9}-x1媪d9I(!Fx&H Y : lӤF3wfkT$@A '-{ Dxb50yH';K2`䞉9@TNY-0荑j+! ,ȲξeoӬXkobz徤 /_\ G! (5&܋2igLt*WRn^[Չ%drXmU Xq7= taȊŊ bMljn L[UMiXQm ۮSݞ ՚=2cEMF^B2 $i#g%$9`#L(?;+"8p` d /Y^# x#bHK8B@C#Q ?` x =%3@ݱ/h%vk"k.ZyfA^pv4 ;L:u, ꤥIiV) `\)U( Pb =hr1r ɂ[TxNetzvUdXpA2&gmn}f&M!ǧ~C .0Uh\*ځeq^K5ۋUl[ սQT)Fګ,궯ʉއY=jMTUѭ6"zFшMu4tG]"Ju1bv#]F"Ԗ"9Zerf1|۝n\kT"H,O@oDz&w,!子g`\ !T>,CDl8i]&wtfrUUq&ohƼpMwx7p]yV{~`p0~p&%.,.=ȲJA@( l #%(PNJI`4(!ΜBa{!hJe`01e(fej=ه#S9j%N5I,HkjV\7(|x+ ={ viN<**ԩ%Eo;:?sSMFFTRmUVT "U!9dY++V-#Sr8^NR5z^ìM׉pe.] W>oO?hT&覣sg>,gV0`` oTF"A{Rr\%Ul&4kAV^U?YqT.H*{򥑥TLB[%lӘVs>'4Tb͵:\*TADd{!5X+C Iܙ'ZĭHpn'"Ku*Njm-Y!aRBFYTS&*+0~!3V ӂ~ڄtuJX y0I!cS=F5)2KQn"1d> @l|o?["`(jdo-=KFQ:UUvID nMWX4Hs!(H7Kr@Vz+1ֹ<\5)`Jɤ-bdLb2h!4(awh*kDx5fx{,ԗT2EV٥&9XӎHۃ4J5EʺRp%wpFhAAH¡"D,j㕺.pg -{۩Mo@@9+HqhضZ.*jQRα ވ {rx zylYD)~ݱKȥK6+iicRqbKЬ;muh2buT$E [YtⰑ r!1Q9Iҩ\ʢ?&2vɬtSa)-0'^uWD"1k(F;p46"Ib5;J M!ԯV)~'J^!C %F\R=P=DgKurWjj`ҪZPs9B28(*`UKSȵZadbBB"X ߯Ϋ~S*o`\YyW{g-..ȃ1'2:1xG\e+/,^VT P zGi7 [¤LZ   sfdʞ wH{-[v$a[VZ2^fCMW>hWa5ri` &TR04II)-tPxZrąrW*3dz#PbKwvff.UbŒ,>LH#ؘB$|hR2=VTLL<;K;*V|wl;g}`s JRQŦR(4,fPvjW;4%8U/tjoO}LdDѫT!4)&酅6:ې\Vs\<_l@먕-:eN\( %)s"30X؝̽gTNs L`hs15 #Bc )UTNf+20-M&(Mӭ عL 'SlrUvGDALXY r2U$jRMjZԲEq=j׵ϓC.T$o&k_)hbC7[jQj %ʨ6*S%*&L ^2Ĭ,VUxb:  k 5zj<D W=iWFj;i- m4bcwQ0  T͘zh$ul6i#Y{Sa#bȘXPQ,/dPiV FGX'M1d? \X3]W.0O6i* OIqjhHR@o1OggSѮQ7[RV='% 4345558BA?BD?@ Fr]p%CP D&`dD4X,WWDXk=8[d]a$lFTz ף4]361.v:4ǒ\4$a!F{EDTƱkv3cX/<1 U[E}#P[uBȜ>w^%6m2#nK( 6%SzEI\nvZPN\.=JL@ˇA.#vFT(޻MG(!'ΝAtz42# *sUU+G#JpKM** 愍ғAU)evSʸ<^ys.bXWQsQfT,F(E,TeCEe"m@VP1Q9` hH^K51^@rǫm"IQUU7:C>lm"H>^H [AX[ux0 íp7<` EUmG>m %V{o;Bn1"?%¬jHKι 윚uV[+nr;,wkZ_aݯuH.9pO2,햋"+-2A>;8]MOgVm1S/h_JVۨUp ډEl@\=E5ZǬjo2! 5a9q.!n*';iցCvJHIUFre֟B> @fmc LF V,LhIڶ%wO[p|Rm$K`#6RA wHAqMZڸ|(7R]E*]3-c 2%͹ kC0,4Fn rZ/ CQ QFduR,0\.X`jڭUXfq_Q,Qmݽ]:]EZ 4&44UU# +(t72UJA#4ts2ED=26%Z88DBɒ켋-ӉUWG׹khhF.M}(AN!\jn2?h>d++&dtJL4{$+)_QN{$J@҃1L ꐍ\frKX.6YŖkM-4QsV)Nh`RKVeԕ޾Fmڑtuծcr%:aEt) `zY9d`ȴ0A%w[X6lWD6T0[H1SQ; Ju Xj wKJAU-RV0JEU:*5?pibhChLUݽ00fd*1+4$Jk嚱^w}  *.@.-JeVbe*B*:oEZZcǩGNz6Ɲc{BMH0%&m[]e*`m]|62Rl0CHV}qJDDP ÞJ]ZUi]oBא(<=xp Ȁir=PXfY}iJƅ8ipӉK/*.a:LÜ2cL2vG5j`KA B@ O90{W2tXrFe#<_v~igg2pӌIV몚:aqWi'-xWݑh&:8 00,ˆq4IT$0 T .D]tuL#@2@E0Ї9m ?7X<]=]l.TJ K/r֠2+ڬdQ馊G-$O$H%O>bJ0䤠 ^eT֋xu,Ey,]$=tpPڀM̄qŅ tPbLM"4m4WQ͕J~p XM,qfײ*D:/l^Xq00/1-1A@E0:>B37FB>CD?D(k5$!aP-3cNh#*rىeŃMHVUHDjފ_դk5OdkMѭt@(<|k p/dUNٵg]lGTeQXE+Uj6MBDm|ms|d QJ(J@=yl^ۯNp!yC猿Klc{xjG`  ^(aRZi>z/Imn)-F-Y6m:tm+A8AԎ}Z89wo]L4N^E5ltm/W=I~i/NٚscN1}tdRbY!掚H*XT3ػ+9? =uІBv&I]Ui|io,y@)暴Wz꿻BuR'UG6?VeU@*"\m=]޵?@ q&v/ L'ْ2ϻgC{Ow{jݫȻ{[ ڛnOB4 @;2"9z bUU,(HnspՒDBL#2KuPx$,.EAYFI{iڜjp n)02xVXś.HKf+cU5]ň(jNhSBv5CjHzĵ|X܋R 2)0I cl2ł €lMA201)Ն12!K7DoC (v#Gn`X]_%eCiEc!WT1?;VUTD+Jșyqib4( Hd_ .Kk.k9'F@T/̱,,U R$)ӌ ⬑ښPmsƪѪq[Cn-p2/5YӞ%LYF UjS WcR@Ik&t6 <';ݲ4ea`m1a9"Mle=Ȁ,AUa`Tf-TS!:W?o:Vd,کC$B[ziSn> `xHEAS݌[KŔu. \Pk#p̔'`cLAjg7Id9y+GUnHZwe\e[qWٖkȤL(EU]$4hjKsp9T_;y׎b( 4$罤Nk2e Vdc%RDrw+TX`B$jܖM /䘴--J"˲VuT_mu}W?DXkI@sN=ğ-Hd ]6d(ҕ%KEXRѤvM|݉DPJJٞt2j6Y'R)蜭r-A%MVCׯ&Qխtjt\c@ h`$L#*ꃈEڦm\Nb5?%$R(MtBJA%le%l̋h Z2En T򵍓"5ƸJw7A/ ;B(4\Ҵ\I'ZN 8xEwxxًٙA-!'XUZA icZ9 ;?+c[ainR^E(!I Wj)PAt(;CCɶl)t NH)vڸXydN?\6Y)eYN! ufdeQ@QBruDiՎ8ӽmz[{zc45wdz>x Cwr>Xۼ_qCT0m99# >&W j"|"dm` &7C1XUbpr-`4%[çjتw5+!ʽd/~ńXM^W cB h%0 +"C 9%X/Qw+ཌsĢB/Up{NI|#e?r9OVTO.XI:1{B[ !Pm1YW?0SmeVWFM5(eZ2To A~>@2r&H[dQsr,!@|d5+ӣU洝b\b0AS-C] Uc[*`R ɑBU#,eED ,9NQm=lJQPvw<lҗ թ*Y@I%Uq}G譱Dv# Ep@/Нz {!TB뢀}\-\-I[P oO $ܼ>}r*q{ͣ(K~d:*u\֭LJLJ+I "Mt 5$MG|W84%|Vsn Lg `Ny! #CS鶑QH•&Ut=D(MP0@iH j4^] ]tH0ju6M)&7;HhTc֦j `1h/!ZUkӵ#C! L}5g:ZI4FY]de\ 9%eg(+CX[AnRJTAG WjQ_'\_+HdMv.#UMTwUb~\h۶m[ͲvnVfU mWVshleRʂw뭤 ;%xpzn[[^mKH~DJ[% 4 D[{QV;H @M IcZΪ83]OV'}|Zg)&<_ć㧫d49- РM[)cCM3MS׵\)JSUTnE&NSU \]*\Xh Et 魥4Z*=Tǡ=/4>G*4t\]Lp' FM iM'ME-] myqkVx M+mNTG,]~>ݸLv@/,eBjQ8B,J"k*l/ _WV#RhB 7@LՑ B+C$.`#+F#"̑DXl嘬,Q7ql͏l (i2`[$/v:"ZvBqrĴJ 4, YDV8VCJ5m۴6մ;T&&B`7gGtS)tSTMCEpw}&oǜ} z y^(!Ji^H++UIOggSlѮQ7]T1& 5384341E>A  %3A= xJ5 5Vi(bfo}!f4,X\8h&!9MKqtC,1ѝiaP9\=lDF:O֚IE 'P)$0YTW⁅I 4㲩6ns*>$Ket-I*3Md f +M2I2j(L&"V0,2QLٱwev#xc2TAxE,HuJD@lWhU6j@ d֤7j5"P#2IQREFdD̖VIUTjPr ak0z~$1-#IHw 22Jqج{=ƥ1˹uZnU a#J6u0I2S!kF[e1AM[j4s.-*VA0y\B $V 2]p4ܝPA\MKV5+p x A (ꮼZi8rٱ\C{n׻neOLai7 ]$l|췷L`5Ƚ*UںDS 2D-& |@,H% B,ٹs]ݚ%d(mMD[4z7Mhjn{A2G􀄴3Gf&r@8ZlAZŞ v#+j=U B퐮&UAFd& &&x:\\"S!wQ+zM*4,9@,,@c9ȽB1 KMa1HF+-WbD2 H0Mhٖ$የ}ULu75-4QeU[MRSmvzHgw1?thwץfw2% 5{o}w߅Q\t.j;mA ;5'3}q{wVh`Y&5= `*1)KM:%+E #s.juVh*f`2##沪YĔ,OIJH>2pEOe8:q3u*3$qƲUBeIEHU&GG\Ӥ,%@bA='l9F¸( [?*mA1G {M$%JFSK#āedNZ12H@28^8^%7KTZ(m1YaJB2Ҧ{fD&BS+|1QDEjQ51DE!h":(#*ޡ  RY6S u1P@QdX8% #(J4ফ RcHZKn&DR!7s Y@$BZyHSX(ٲ}ZpgL:؟ nhPB6;[Fh&BUIYJrNja =t;G\ ]Y.R@eUY(@'/]ML\z'l4AE{w޹R4$8jvl*4i:\$DŦ%SE+H"@r۴_.be* pXyHs d*ZbL4i]\V#kGC{ߝq\5`  B|Ů lGv̕~q}"8w>KG񸪼 䫭vi)TQJz!٣)0 y#Zw oc[EBB?.lmIn ;ˮ#Dz,&YldT6bR3AIA6]LNUz7X%8PTP#%!r.yVKB,#V2R[9*:NE`0&IBTJ8 !`/ujU?U#ddWJ M*RiVz¡EZ*q(p#TT)ݨDxFB[=Br\Pwj@8 na|/$M{ú[Xu@vY z(E .6KeelU0Jj|O&wa5BbXVHL#h Gy`X3 ,/]zޣIeVL"Ӻ[Md*ZfB VH F"R"cJ׆bXd$SUqY fnWS?9F~b t 'c2;QŠ" ] JQM3/_~*E14wQ O/!b.Xenf fh|vZA.?<%krժSrY?lHR(3괸+WlÈfnq6LSJʂa6N겢-NZ6MEHWogY΍uF&`c mHBEZ,ccH/0ֶT)jO Tӄx"eV s.^: ;^XER svaU~^b۹Jz`6]4-ʵiRZ39$[ ]xћI 9@!/&AereHM@ 4b״'ױZY[$ dS`؍љldFHcv %}S"qm= H6oe1f'irP$,2dm %A6v] B[oo1@4C"%Rn[ 0BLP~?Njݢzק((%K .r>39nrJN1SHD NܕQbM|krKdpQj./h5f|ojJz_vY,je&co5/9CL*i&u.?IS.{GU]eB_ VIكՒeɒUAXDvN$mHSr*4ȁ>zۡY'۔kkuOH9TI!ueZTIrb9`mZ lyX +  <`(Bpa.Am,9^: 1?aW՚7Lada d:|<]Z22B`"]ř{&Ejt5LY!S| &T8 Z(If&foFqU.$t]*mV3QHnqKr$bcbKD@ JՊ+~l[ne)J'Q5H i*TRL a+Ji8s^wDJ:jm[t]Im[c74L BVl*gYiDGj'N=:TU ƐU $cdfS`7U<f[X!ףu4)G'[kD[vvOW-p(a [XTR9,!] ҶCwkVp\#+Ĥll ;ޢj!VD.ίҜ<'׷q؋qBŞ93l}Q0|:G6PJiKND+ D eEa XLE0bD{BM"7,7YerŜ%5&*1vnJGUS)6A4DInRV*6lP aD>ob dt[$G#k.J2Yz")15 e?aԏ]d=t72Z2}7ME&մcdÙ])BmsOFqX1d8|)WmJu~ ^Q!g~i4;RV(dp`􎹜eU;y Dj)C59Vx%%Pa( Dנnפ@(O`eP+lJ돴EҥJ)duQDN7frU)(v]JSYAˋapʩ" *SrY^=?0չ:2@ev3㳉&!y:v3$٬Hib&ѐ[r=)]FҢm:-*v QV c81d6*bĴ Jɒ=+XUY#TMf]GrǧRKh+A5OX-UU!  .P 3Kb]-K !pY%fV*ˬ*LVLZ/ȌɰŐNu(Z. #dBb @ 8#(~ EzϦUdvp҉]Ȱq= b7e~MG::moP+l{JH|﨨jգZiul] E'[BI[S! K޴jJ#Xp(GZ>e5OggSѮQ7_U-2640<::A FC1"%"432952BAB84ECBBEED]$ڲpDB h0.cJkDk@DC禕V9<]c0D ESd ,hťO)mӤD9*Mz(DYS~g@ K!8iNR$Y6rYJ][ey;JțdYJ+˞0$Q(# Kh Rvz٫vBl]m]TɻfP:=htB&ډMsSwpնj-նjY$l]y[hn3edRinF*6_J:srQtҤӳlUDޮ0anbش]id}IUYt_t[ qm[Մ=l]DHw]ny`^O,HsԳj Va#5~ o#>=0w5ãng-F@>c6QQTz: Q$(N9{WkK F{2%@*80kX-L)H#Z VH}(ל *EL.dTeH`HC3R$O84,V(C/Z PuJ*26@(e, Q{5 OCO+CUIUefRKm(T ǵvkꡔ_€l liAP'*+]^'dG܊6EjImnS)M*ޚ52VȉbDv8tV#r7B MGQ\UU Z,(2La0#{HL_yz3,d`EzշK=rE:nVm;%"e$UFZX0"Hd͘Y0[a+dqX`Gq [qՃ^ CvUФ)}{ShfiӄeӰLEsйZrg#$xWR\fYıq8nKBm&YV***B'xB-cx(@TإY˪e$)o`qaJv7IJ0Xi*jTϊ9J54QwRqP,\RJʽIVWJGof8% Bd(\l"2A,*3PLd* %GjI&8ДdLZ$%ZHFǬ:;b8i  9We^>Y,WkS{ڲwwj2k3j.$8Se0,eF {c8Jg䋫X {U(Ks:0$Txr1mmc;-O~K_Mߦ:$!6iIWY*.)'NbZ=q7al=3A7}%BvE+ ^W]-MRtE)^Fȸ`Lf3\z̞XBrupTbkōIɠzw+mng[Rj[Z) Εb:5&UWxGۼ!I8RXMӰ<_)5 E(kV9U>{y;q@#[eZfuБ]:4WCŻ4MlT訧QAAdrx x!)KOr%9',9 2HĊLyjQl\A~]Mzy WvJ:MgBo)-jhG"2lym9jGDTp4 J+1Hkr*A!h!9!C +iڗdlH rKuʒ 1ee bT[4Qd@NWG6ۖ@~FL pA\ƾ՛G1y}\jM5vEU' 3.-jrowb!Ge&\$gIhĠTfRLvSY吡;6d3+V-tnɕM*pUN:*l h E"J)Y3cy :s-fI5 Ae*fvP0q6U2S24HGI.2CZ@8g/6C#;t0>!VW(TSݞ |UΡӏ}x}65/nJEHW D[Te^ĉA?P+pOSlgefsXUpcի׃SqpveͰD;z49PAM{ 9MWҶ3k5e)1x"eqUۏ4ʂNɜ_1q`*q2p eJ&=V 01@kC P*[R ;pZ:CNzZFpt! I.Bry[s0|FZB)MY]J 3]nI2n] @u6C\IQS1YT"Ȕe@M"/XifVqFoӊ"Wl/v4\#to׀'@$8P*Z*ԅc?G_(4Sd` ffHFoq)r:Fi;Ul_$dneY˜^f{vů nyc@/) m g^*R|ztvnMMQ[ _I:h+J%J`pm j~դide.]eHCg0x/eTߪzζ€XJBGIy)K:Hh:P:NT_A/+r`!)% 040Cz,Z8IrzJUWmy?ՌתMt]f]W񎬛)SH2$SA·ZGb!9]Krtaعӽf̾cMq r?߆% )Ѯ%j-7v'Bla0#tD$ [;BvKo:ιKt[вLP։@}+FH ("2H AQK\NuQMzUTQUTHZI K)wj#L/DAo"ȮĴ^wREs6/^?t[޲Z3"S*2_qـeBZkO+C^|a.̾t}NWADdn[\/ǖbAWIIQ,$ $+. ңVW=[I}]EF2Fh4ѩkv}U+VӻTջ\j` $k "AkjQTk",vmX, l1: Tc+DSA A(DH5-)=TzFS:&V#Eg^aĭLH -R&Y| `@& DiBJ`%$;t_kgcE/vzei}5^\q$ W*ε1+$AqgT,G`v9>B7\<WAuڶӔֳIAopo'Fd5M  P()9˲XU0V=*&n3`14.8.6ZwEBPd( 4?LcJJiA8Y!-e{@JD]Ӹ%dVl9lZz8B [G;C~F x@8):G4Λs Hڡ9UH utKK.u*EU~-Ml9Mb@> Gf9bU,j QN 9`Ad *cbRhRPul ZĮ-TPظJ"p`òbЪ\Vr ae]WC#TDHAQdR l2"[Ge l淯i' MӼ%'`TJ7EVh@ w/d8ʲfu:]TOggSFѮQ7aW)3.81AFA" 20163CA@(#( 454ECzEN@NKFǍyY)Q[[Qe!e 1zώ9fqbc,صۻ M ))`KF㇭Dh΍ʜ H%:5NJEQ +JR%%p*(e]"`BB 72BRj˘v9*a`{0( o g2VzЖ.L* ޭ 9Gs?&Ons1Pd_ >J4j":B.zFQI\_6`ח-E$fTF|4{NtP@pz+oDYnQiT" <T5spŰi~ TxȠWe0gYz)tR2: !64UuSBXLZ}5j Ud}4[65[t f[7)QDv|Z5윀"IokjHNJ]ʪUm DW*4iKL'S_M֗^UCӄ(/I3i#]V} s"-vUSW+ *5&`OMj"'x;$2DNUYZ|w'ӼIH-P蠬H^ae"ŬŊ}rɺҍYJj``"nqґ] KPJ+o }겶f$1[ڻi#9hQ j(0,T[ud,B8[ #; )^ng{%jW]o1vz]^(ӣ#lϸ ʞtvݎe.\<[W-y@HR</@26!K&XYPR& 6&@@C4vMɱT*UF),dXeB3-c,GtpF\.! 6P`0e@]tEP"CW)0B $@ĢUYB(Cq{t:_. WϊIkːz+$T i;$Di֙Dc/j?d P;nڢWɱ3Uq(WM2yLSR"Ԧt{j*YMGtPؼ#EDSx$)+  G׷aϪ2jzR~nmkla:,maΝ5u,wv|u7RNzNI(lsՉdL &W9 L:?I(+jL˦9xV'TRTC%_|FuF& PShj.uZJ::` 0BR[m6idE|i@ΒC0Nͬ>ڎ*(lZ(r*!bo}}7mh{-V >P= dei|a*/$I9VJZgR_uWwKq2$$-izڤv djwq$2z/#P"޶쒥eZUv jmߴ,{mwad Hrk.bj,FId Juhlɴfݭ@Ռ]:3Ycesm=$*;bA.} f :QF XC7A0k4F  Mg+cQ v~.6GVmqӼ ?3Yu{b-"A隐@WHNM'="->,< C$Ƅr9řUUqm@}D^W D|֥hGƋ }X/s=Wk?:耖.U%Kiۍ]GI@k/w%husN:*ojS8h$u;]eZ^D],߽N*EG H=0Qh$0ʇVRu2vLTN\R'LW$3;UeXP 4D4šj%N-<~!/\m(ęդ%^oG#Yr(`B`8`HG㜖Yx4sz0pZgEຶc^!TSjWS=STZQ ^J#u[PBNU&'3(J%#f"dو)reUFǭesD66YFclXZs_Ek=hԫjN?XW  U(LT֣v&YfA Ry+AUÈrLt1F=basLϢ |LinecJ42D>TZ;:!>GfF }6k0bx?=@ MB%kS gPk1cuUn[$q/&U2 d0V ä `(r[[_<5 {>B?B;,Mj\aĸpyR ̬ԋ@)5);y_QJWSmjdgNY9{zƀ PrŮ!2Zg8[Y^O<_dL_SJ2vCzݩҳkXGMlJWJYY6dI$M=z$iڤ\a4z]9/d0-ڵ]T$4.vHnv!rHbPL aZuP |1~p#Khlq&0zϤ#4bbMR4i=!x/˚3"ov0 0jXpnJ5ʾ v!M-sKCoܻ`XTI2%8. CE4݉dw. q9D].dVgׂҮ|M$U}1JcdLp3TTDDzJt ۆlcqnnb e$b4 j"Г"wcOggSѮQ7b(! 71@??CA@66BA>0223.0?@BjVĠcki=ވ۶`+*M[I5Ĝ#m)Gvv=4%@vnӝMVBU TCn!VSU qM﹖aAeG\4Є,d]o˪~Yh^F,!2YJ7e Y+lc9& ve )S_.S)@, F@fɎˇ)1Q%6ExH[*T QJh2>p-@|.h!l7;sci@Lg.#m03QI\DTKRUE<SQ%՘vIk1NF& jqG.)F,T"yu!1 pp;;aH#TIrneyƢ9VA` pXG!D\^TɦgYbV49㲋RVϮ&vPQ f*KJY"uAՖ, e@xrsm^Ȗ^(nAx[~ $,~٩`d B5mW5Ӹ 5@`V"䲥 zmы4lDSh=\Q˔sROzU$SJENj>Ƞt^Vվ|cBJo̔*[oYL m"먫n۞q0'X>UDv*X& LQ%DH:6 8(v96vAR#dvvCa8tBW|im8Қ4 (iJ[btku-,v]kqkkvU#x1]hM  Sȴd 33!fc17E5hTb`q0]#JcQfF B bcRA9rr˨5!jbm馠6di JmHba4l  'A(­*E0Td!&SRim**VN/W+eYp^Ey^`Ȩwy $ 6]-+mQJH*i*)* ^]G'01@``dC9b5jIj7$4k,۸Z-.Y76%/)bԮV;(RP:A5mQAhRxI`ZUzwGkYjI RGݩFVe};1V +/1B-L'(,G8_;RQJT4̱&Ewe{p\ߏ˸I+&m,{iIڂt<>& +x^[[,.3 \+Xl5i: 6ƅbTU8D۬HHڦȋ-@B1n*؆$)D4 a=&0 LZ@:Y@.3B PB ۤ!}ux _n1!q/Uo`73'PԳHH{VI3ʼɽ% h;=WRT vKbn)rDR/s;hdb1Y a`8Z Ri;s-ab)+ƄR UUgTSV FVcdA2X_8d`k N:mP$ R(ZH@J4NI*B 3L!dU7'F QY-G 0m>-329 ;Jы F( ;բYۡy& Xn 9,%*D_dE_y{f@"< XPu y.I3؍nUaTarV䮰̹2e \5ZId`Z cd!꾀nXԘ?dd\W9^Ǟ [ZjTi퓢Gd˦bRm*%T6dd]RhTh*uN{j FfvkEiGu$C G d`ly'@C)X~zP5R^$]@#s>b|zѶTTA(tz4\c*ASI2 -AjFEUN5A Zh4J{YMU YZe 0&z HoБSx1~e=Q̈2Io2F%dY@9F>OiG^sBD6Z}v jˢ)ڔYQ I EK Pݶ9#*,UER⓬IН9XACiA[(BVi Wٽ-Jsɟy[16Hez^!Z`֛b&Έ.eTpuRx\QymR;4iޤj$^7ۈ>]F%01{N6V,afRʱ8B,nXԎ -PTh 06qh$ 2hSMS/Cv2Ai; HY6ʈ4W\>K( lB`j:m * F$9}!1wAD`EgF/ +2@Sescx& A*a^ى([Q)b6aOo6˲,e+kA4eLkj\n*p08SMe0g C{5-;ˏD~# wwȥyw{!uzIY!r! d Z2R|UaP" ("'B%i/Jhhfޔ9kXzn,sΛpd[sWgJ )DYOggSѮQ7c!Y,,/014D=46310.A??B@GFIE 048?><ה5ezL ABF̳[!EX̙%ZLӐʡiQJf8(UjX`8ՑQݚchNa$qN**9A"IB#&{BT@SN]ٲFf@ tK/1L"C Hr MQFQ$*^źpe"DDlzJ:hDK[i }5U=(Ȕ2 YNGuVx潼B/LMv5%]v|ˎp v8 أAQy8USblb@Ў1v46 0FAЁ"EbmCEiK*!nВn0$X%ѡ-Z *iBNVEm 6P"/E1,mjRRmR%RTaP ajeVi(*Z=V74ݠhX-LWhJr^S 4*5lG"']vo$/ZZ*_oƲRvHvDS YhJFSE krv'Jj>DQ*]&zF>RP&P1jP(N Yz׶] +_Dabc>* \ /h"&Ⱥr J{T"j.ҏ5P]2Id[*鶥Q}A &,*4jiۊ*Rgm$P(d[`.˂[DM)XL +ݠhNU@iZA=JT U[մ%V#4զIeA+fLe"'8VLI.UUk+#~6a`ĞfWʠl ip0-u$jF?V RH@09.RG{u\UT*ttC 0Ji1Nó'#vr;Hfʲۋ_]';!%tq*jbQ!Uj;`1a5;!N۳i5Ä7U&CLf76:MyQj]͸2N;=֩}45UWҖN #<0Vugimʲv:FB:hkWs[*I&{q | ڡ%ƊkUK}mϫUG|gwVJIrKz&bqv3.8ٮ~]E4-L?8R.woD';^:#&!xw%L,ᣬYSQFFkGI,ƊejiuԚ![5ԉDZjÈ _L*&JCUPM Q 0GT*tֿp`VLʬ9"[n<i{"2 Ba--rF: IRСd(KՔDvG )G4x\6ۖFSꐃxI?GLeVh6>vzrJP+!dȴ4ω)E:lm}5{^x> ~jv&M Ό%N1*'IpllbTc D"tQ(AEqHDQM MA[#BMcI2iXfp8+wlsfjBY ڊ1#"mjBi"`%UE*iX,.+U!*prN25YwdK aae=FQr=Gd ,n*dcPa6/%ڔ6(i;mK_: =QID$Rջo7uT2E"u^ZB-UTN*|rn:i Ad5 Xմdaq 4ZeYj)m%:J$laA,C,ZJ L{ wƴJ&%0c]Lldt9hwsRȺ:WMiוnf`.:lЇtJӳUe9٦c@Sa)<ܦ:@Py7+4ĶF(T ^1f% HT+9."]G"I_sW>rQbPA=~"JEʬY0,L7LRXPIֈUgMLы`FP aDnj[E%xrRHBRQHDd@沀YUUtNg,{Czmq56c;8 [Ke;v \/0@noV[LƆV"h; ȸMrKQ 0<Շ1r}'bNB{4znT)Tc<1 :? zVa1"mÈ~wfSTU JWUu*E0J /P*Vl˴ :NnL]&*5uJTd 9+{RFIBH1UMhl]!u̖- gi2UcX]ԩ AIU[tn8BUIdY!E+PRnLL,ͪbM x5xUMSz FccȘ)jeQF#X,撘c6bHdKt4$beXOH]&ݴcr]gw\0!v!/ip5 Re ^WD(nNx%)5܁nqFzEEv} ED__N%篓44p l-}UJ@"Shq$OޛODZI͓փnSi6݀C0ҩhROggSѮQ7d! 6>EGCCECE:7:83HHK0^%zk(!#k#\'2Q%0sbU"ֈ5W>1ނMl4 FZL qd"/P1"^RZA yOn" I*Av JD+c GIaGznH C^X )$ғHG/ˆԝC=e#⿤zaŃ> h Q*hDoj2H u=`7_Q\Y+M~eN%\SoTr9&-l0gHY1W `Q$O-HĆ;WdHVNU薪Ҧݓ*)_Db9P][B7{p(K.;DRJ*Tm*Vr G4."S jH+].JS&'D;V @e$Ҝ\R'zo&޻f.,A RUt56tzPݤRhuwGJ 䤷 p#.CrU &6QPWoe ==H5<en&թrU.+6mHA blTAhcH-#E/Bo:Wh)dEF0Ql 5vT~S&0(fX?.L^^oaG @sJ!  ]tڪ]bWljNW Oh>{Rt-ZTA[ԼeN~i^ `V'H9͒\V0[0drj@Уai2 M7(…Ķ2otRHiêj*, `@HZ :Q"LYna(|([ <Iz2tKŀض=i L0X:kC6zXs`Dɑp&Rd|g?OK_H' >{m`>Z5 9mS$;73bpX.V<8^'`bOpUGbRp $@ ms%D#5(d/RJTV HaVh1B@!ƄS88R!=7BUD{IӴ0oX5B_O"Rb?~_Y.ZDs~ bJgF5z:4ȅ -I:pVp` K]C-tJ[FM7^W":jQtp0ٚȓf>e_ ?}o~֊XK]mTߴ]mi;Dk,E8Sh @5C)C^=^|d^pLڕݶEښ5s>$4ѕtN g̛2ܺbʼXFrT(I˹V*mm$j^>=:&bAZUKgA`&LfsI1NحZ?^9.{4.|rHF Lw#鑦*] lenel?s2OD%:'T:4p{*{?k^ժ]\aMFeD($\v@ TѕSH^ 5Qyr3;{.OشOߺixN9֔n^xZ';{“^؝ekg% Åg%Qc`E0.VYe̾jګԙZj]8݉Tfac_|iNfܗEWa)5=rŴH}‹*6ӲF\}J$zG鯥+B_DaLoA&ЛxogF%^j_}gqx騢_,n-!z3@ s.1Չ +ը[v< su x M AdfXeq HBf Ζ`=% nPsk6].:6PTm_ @6p<N+z1?u/)\CUH(Բ4)R\T;#`QtA7"P^eN reb34˅4j^+R!H+^զ>4zT,GМB񽠬 UP x45K0 \-rtNA+2de"ѯ3&}1VU}ehڰL<%@C Y X_=, eXܞXUz*u(16"}^ev}g(%:kH%\EcO2C| f%USi*m;.FdE"<܎[)4H$dU嘫+9cMn)ѮތAsKR};k5[j;(垚{8Xv :LiE .) fEu_RN LS(Ri`tw:r b`dX=vJ+)d5ZDzJY'-ZĤ,Lo~5;G4A(q]t(^̅OggS&ѮQ7e;6Ѿ#E;;113CAB> XU#YW(-V fFFxHJ±8c~=3ʈ&$ YUq (# eK7bFxbLcI%#eV&I!947"bi.M*핷Qjg\zϨYd,L#6MXh<- Y:L=W@ H%H#@BC$b﹘N@BRZ/$0qg!I4QUU-~@ڟ#Є$tmpcz"n\l!&VrϵD\[U[G@R1X*c8H͚ѕVڍۮhDq{mhRt]u]mD!8-Mhh b+PKPWZde%*mУt |WtWȬM8,Bt;jM۬G29 ps*RRt"*j?Mڱi-ƟLwY-&U%6gBPI "~~ʙ>aT[=GQmKU@J ~^' -D+Ԓ7 {a<,Y*WYGRӰj$%Ī1"z%1&>HR,+:ceZT N(WVуnB0fԞ ef|*0@`` ­`m*&hbAC]B3th4FmTC WYwJ#_QB .bY:ǟKm>Dxs5:Z!cuH$F9#6ƅy*iV^9r `GiwnIB0 Wi4Ũ0L/MoH6,B4,ا7㐤݌l3r`Jn5Xƪ\Uc\ҒፗȀu3AT2 ,XX,jبmQ..yO!J\j* K [f`./kO)-AsJ";jWa!^Se4Q 9U8`osV>u2 (ܳGŪ@DHSk(Cf]d(frnJĉ^XITQd,Uh8hݴQ ( Ɩ3HdXHS+2**Z1ЃUP` ۥ5NKSMf0"[2,2&k2mFl6PuZ9Bij$ӦTm_ޖN Ǭ7 Sݥ(!4\j )樽65$jW~^UءCWj{ϢBpMhkAPb@7k!P-|!ޣ̨g* iVC`8JZlL4a S se7=;mlKjW)i`EdZ" e[l2 L6,;alkU@D$hCK~*CDXqZ+± Gp%ЛJ= 9OrƼ؈:CD\<}fg2{%#\&r,2G ]\Q%Ut9 @w>KeFQ&,RQklX ǻY=2*ɲ\17GMAmb#ccǥJ=U)@kjzZ{.Vj׳΅Vc.ؽ* #*60B"0NQȩ2)m`Vť3#gVȴY,c%@`g)֘U&0ʵl! TPk `-oB@qg]6H΅[FRe%ԣAZ}'2XRMM5IҨB`Gṳ6RbhJZeNrtlUxb P0s9*fIUEմ:q9TU.xOa h[LXAi ͸ݧsqĭ@y7I/mVdYp6A@q6,E۝f3@|:y^AFgKK$%!*5 %AgaG)V/MAy-$-\ #K6_O:۴mJ gNW54-,frf>Փa JIM**uEX ǵJ 丛gfMU5!v Z{c!W $5X#ܣi9L24TSڴːќ4ZS6 )e U2^0"C:ʰ/ƒ)bJ)Ƃ @+AႼeڈMd l,)%JE!ת/x͜Jod?Nu˴CL;S q%FL#e={zbǵjWCG`v9vGt2^omnj JPC?T '~Ь=Hgf/bU,J`"Q-+0m53dsc~{uQ̯?YU'緫zܛɜ3\bƦNr\l^Z&67A)WM8kR]@tbBʬ ]]zɨ'b* AbTjzTڪ7W. uvTv]/4,97sM 5yǎζg3թ:WLAvK&09GW) T%LJfS4:ոB)އLbůYuD,qWde 2jJR>tz6-c #i@y/Yo-uDF(#$-)ToܮwNGMX[?OuOC^>KI&`dPKR]i(Բd{f!bu{,sF{mSWo\acױK'^-.Weƞg1X!7nDz` U;c)˔F)P w7Gzza&x 5rN$nb,֣jaQ +48A-իl`"9 c;pr7/_^#λ9$3twJ c6%[z"t+'aQ\Lsyẇ8s) AC)\MQI .fF=7X[8c˄f:J)Wnu4GS$&)ra)@ % ֨&Tm#XeA*^v5K㙜].)d~[BP ФUZMTS$IMUXߙ' b<SpjE[;cQ"b5+cDd[E0bDUh"6~ 3d2*I֢Ӟ.?EFνOl*WR6TtDSt%S1^d 8 yi=,vکtZs?3\mF]UoL9fnv LO&BHI,UULUL4S gic^&4:/w}y.B%*u%P&yfhK쾼Ҥ/cKqC'zp7 aq ;YNWQ͔|+Ju5_y"~+-$Ar zidIjMVrјD" TڐRr * qk ^bМTU[vhjsL,C lm2O!Q)R ;qDL1#'L"=OtmV( BW R(q28d;yA42"l5'7 5MV* [IA{ =f .6IS騨XUxl95!I,&xK0HKjbT KƔ&ЯCoG)0r)WDH$;,YbMX*f@a-) /KWD$D۞f$ `%*VYvYWjQ.e txbb *:b7@C7eedwM4nnJFrU7To@F@"S'mɇu"씑17?m+3=Wh5{ 9Nj]TYH+=du pV&}NXETT%]jKE'-Ke(Vk*0 վagq&\&MM,EӴdUUQja2T@wN8ɏNj.^kT7E@LuPFKCCf:J }: A;=U)s^ Cg#ap=݊fXhc$IbPe7(9W_D1XeM)eU,xMۡ;FrJB=q-°`1KĒ*k qU^ ZH PV Ӆ.%Q̬rVIzt\s\4HKCpbz9˗7stkOYHvuEGLbeDjXRMKL53\=s6v)eJkK+F!ʁh@P"B I)L6d!jUB2AHg*+ 2Zls%F i63eL>mEm5EW}@D$̇zԝd$u&^ 9Z&@ISZ rGD*WŲ5]Qb`՛TDI(J+JAT&jNuׇf=y4cSoBIXmTLO V`"ruӳR~e0AQ;",W%Zӫ HRL@D i%SU$t@q8`XRכ j:F,^?\լl>۱RH0Wg^g!l{s^pe^H.0Wi_*~:1ZQK g`ʔFe V5КѠ%e)4]/,NgV, +)bDZ]1J"SJTͶxBZ;\N*'ͱ'spI=(apCD 7FsX3xIH@Tl/FHPIK: ˃)Gda.Y4B@jY֔Jd tJf{ĵr1V`#cǞ76M'88.hK|?媇 [}Q-Ah"IhQY]7JmebƢ1,KЀb10N:Zܞ {8G `*3q [feĵtF`+ 18{٣TEO9L߆t#`"wnFeXC!S({tn:#"LK@dB ^Xٳ6n;\ .iDAzP+x01DQJOggSѮQ7goU  $J@_ɤt( CڹXI 8\91j!C$;ꀑhjiB-!fJ6 bYMƼvXQ W&0( Q4EFIFt[dQHbŁ%\E0D¡ L",a/n;&T:B^/ ñwsh=D‘\hzY"MvomI<C;t#1[\Fut%@6ѭnm#mWU^LŧѪIɦtQJ!'}j ̲scJoH)F{ bQ$r$L(DlaUjMIE"TM%(X6,A 6JD"c4D?,mco>-c)> +>INU |&"Y0B 9"?mAOPVD\uu#5nC7l|cY`.:uw7-Tu*WC >U&HX '{] =VIo`l,˕s]ӂ2LJlR1Ae+FiSڦ!c Ϊ/@~BumAR~rpW>8TQmъghw|r]}B[^ʥeC WFgX D \ցX: Ml5ڋ5o&Z#| OײӦc}"T!i~^' 96+Nr͒rg evebUc)QX "PA4mH≨2N Unw9ҡ\WU2lÂH`ܫB EA)Z);ZpM(⦅1XXf1X%JTt(P$P;j{]H0I[F=$4v%௉JjFs='MpAN͖3b rC'3*bj*6OϐXDh@\SώAդ« a, a"D0Ncb;KbknN0E Д HK3Ib$ dJI1TVf>*eوdz(?Ƙ"gubmOo\ZgA( &n Z:dI}Rdj$vk5)&s97*N&rNwF2gvjrL`d!C!Hԓqx{]gszy[UM+؋`C&pE =fŠ*'^X݉tL&z]I6` BRC"eCKؕL(dX(#PG;+e>VF-d^x\~ ͽՀ# yhN/G" -GSz`B LC9VdK>ѤT抢$Պ,E8 LC7.j ^B\VUYp4\0bvt+##r40] Ռ% (ʩpZ$>+rGPwgp-VAE&$0;X LqFa]TBd+kFhY!ΒS°e{3&}O2Q"B=8ʡC ٩nsQiSJLn箊GrnՂVGZjG}w`r I5@$2s1@DBJHj!a83B`;J}Qs-@X)SJЗRBJh bƨMiqV#`2 " qNzLVa*m$\jCt1qeCw TqJe626&n#c9: AD+6&yc۾NS^KųoѯDr<&ɋiU:: ~5Ёlk&0=ބ@ 3餣PnULR5ch&0WM*GjFѠť@!RWMR\*5@BJL R 0UEFH@j@^%לb04,, RUߤ bm+"{1%-VUud =x$]/#$EO:M7|0;/!|"0`R35$)@VW4֩˭ ,P4G" 96vflfu( qv BMKc"qZ=`shC{l[tR*GEvY1RjQ4U( l: = M$Tƨ 49cR8`n[@mުAIjd54X ȌDUQ:K3eg12$%OQTWm[@x$-^3!Iզ v۪|.6;k3l@F=~_qv[C;Z%ھRVVkPgu<.u&@v`{f,,UX9Ph&J If7_)VWQjN K&"[c;֍lc}|k&+R$Âcg1R:j Bؤv)R(sIY3'=jVHxzZ5(YZ-R᪮R&ͭ:8I딵@LC*#Ҵ*zM)F_' vÎϬDYbtl悴#7zrahgGA!t9d7ڒVvn рՂ1& 1d{T.bU9 46K^KN}\9ևmUk2.#-yrY9/qe,WܭedUYlWBZ3s*adF0Slzu0'^ ӝP d50r P.UzSyR?H4x*k=J%%Ѫe-K ǎ2,,eR cZn?#:gj' H;:YX)"YJfV:٘MVou*'Wn;NJ߾ׇn޽zZ~NJ޳Gّq̥]Y]"\5DSrO5EƱaJK>צj(bzc|ɘ5dBEp!KMN)P50dGS eC]-ZdQ=3e%RETUR }D>^azzV@C<kɅd)7dY*ve$,Gb`f=dx E:j K L@;.:"B㭕 grX$19 _rRq@+HM[ץwjyJ/]a,z$9k\x=F3*cb1n!Z2D'- w:dj]nyá#{9g=+;B3w?s=ϙ㼘hc#h * p D6nkxF$Ţ('CT-kK ZUAf .WH 8H`M0@n횀HxW20 a&4 |Iۈ=84؄kKR/SVhq9$MI4Io,QS/UXUppI~3hҸk|mB$OggS@ѮQ7hOׄo& 9:A@BAG?9@+13513?>jWBޘ~QU=ӑeu""ײY` eIv̙Q0I,eP#)A ǐM0(HM9ٜ\"An-YWw6l[W B "*PB Qhj0IN 4YN` 265V̐d GPL)urWS]OJBZz(8P0$ 2@<>c~FgN' `_}5~#EEK%6zQrgĊZz _FkiP2{׆ҵq!pkȌ2c'˕HrUINnЀDRի٪XMuW;Ȫ:3tƜqV͗֬rRiաtǢXZe $0ƇcA"PXG+4V@vݖ(1 SZur eaPXve-Mg]35{Z-xY# ``pD!@ <,Ih8 LΠwMA+Pa^x"Rh(/E!9tN^;M.椮ͮ Ŵll'm{ =;[+Xe:E UCaZ5atQ PUN]J*k ^!Wӭ8TQYmSIIb dIS URe5%;"pJ*ž)!o9xKAq"u׃aChHx>⌹MBdB8 s'ssL)-98(n![Fa`  b0& !2RPt#U:mNV(cJxd=+C&*W/M_DB'I&Y%6D \J/~57V(.V1I;&na!-;lK2*+򴳦)@P҄#SJ5S%DPٚ Eǹp)jY-e.I "IahC8Hꪗ9}d9""q&ٖc!p&`fӍ"ZbLO7%F%=0&^!QB0EǬHuU,[, l>@i gx. 1c5S1S/v5@մU1RY&Q 0Z 4ƺF݋c'ЮRզO gMɄg~a@5iΠAltj9+DjX_z/{^{xmV*(z:_)D$T)Vq4/+.)U\WG1:_Tz[4C^1^9 (-kSdQK d̤117X.@V5 c- c77}=;桚Ozy:hdxkT5~R;^Y{}%+QϺ׫&ƹ**"&3TUj˲Kb hL3*8e(B̓?ҸjK0IEyI)rhGL$|ZmZ_yU:"WRZ`"!,Lzvt\ ,z|&@ƱY}u\2@.>zf,b)l$BVF\Dpca74UEdphl|$ bJ- il1΁$9B96&%Z[)˱\65ť5<'!WPLq@0c*RgR/qD H*v lU t[֢MZA`!z RoUzeG"y#{Ob_~p;D7JR}ݖ MkMXZ>] kZ}Q-9"8^Y[6SU#nhc0NsiZ4J,CJ`Շ\ºW]40*27u mYP{y$8@edQPGBqV1)zW6{V\4UJ&%\STR&q%,kϵU-Fqy[*[4g-MvUsPss뗮m!t1 6{Za6"z4<.d]Ym()z?"YVJYaczj&zQTuJۣTcH"@xsAjC ,oW\"]J4׊n,Xsr ahR3W7c@EB7X4D>56041B<>BCCDa[g~45h@J^8xvȬ \ppU K,`@c6"HcUѬACXۨj+L\W^BSj"$5@VswdK[:Z]}=G"C#^l9xPZWrT˳M'6iѓB/>E[UUMUCRUTL[D9hYHrP([6ZնՃٽ"UlDnЉ Rt{\cvWˡ/ @ETfB(hyu@(MWs8#UItՔUde:tZ{"j7 3Q0.i;,ozƧz,laʺ4X}h*P&}Uh0ZlL>@Th4 `ɗXZƺIϰơ +4VBIj{,;MT[u|4jdWL]ebr(Tc=2#وcz\USM5cApMJad_0ٗSF$z%n,{!" BӦi[&=\/IC"Ot]v[Hc2aidsl@alfԸN?o>?>F4<_V_]t0CαLA[׺]Oh4/TW[TגNTuM*s.uJj? PUCtYPMYd h62K3q(X1VVQumeLi;2]Wgg76dIihwL當m˞v\ɪ#9X^b1d& a ,Qq"vZjTӮ6 PX P.Ѷ5`-XȂB@"@4L,AqW7~JT#cp!"B_ Њ6歷hy& RՐ({DJ̄ iKm ځ͎#$Wr$XVHji9WUu#X;DJ% É31\ZmףJAZ,HVMcѧ¸` c$랸{;4@,Ɗ&TDlG(Zh bfU2VBi qn1nE,L(N*:% TE#+OCrU#%J [APC N%)E-KtW٧M#u1Wl`B"\xw%Ϳ^.<:GJ5b g, N ޜ 9=t:uY:l$Y!9 # ܊b]gmQ˼GiZd0M%k3 =^*մgu=3yrY¦  #BL"6K[n{TUb+pMqPJb[+ %ZEBMZ4I w MMӉ@L4~kPmq܁kU-.QK l6ZQFj~JM*EKK.PS@Xc`Jp1]vc*J'P Wi6:4JYFiGjǢN#9SYUVs=LE41F- r@ 0H!IAǖc%E;N&lO2J(Qu(kP:.[L7=(izinuڨDk߹!^h>]vy=]2Hh]}ȑ$tt2 m@0qJKD_HO_@,0 mSaȫE xTi]"DWI=UC:g U9 iyuO~ 5\<[&M|HkX@ZiEM>d ׅ]6t}UҪ:*]:6DD+oJVS}w~aNULU`v2Eooe4go]z_-y]7e HEʾ_LE"o6]4ta]i}uuE=%S2@҄aTPz;%jj|!WmTVv 4k[Lr\:OڢNmQ "{v33\cU1#X1ͮU;$9Ce7,u[+]EV% %]-*mҒ)B#SKb,P1V@, ˺@"H ),LZJe `ڲBơ"AMHeIɂ6tLt?urJ}.p3V%P>XTk`k{@V-Я.]x,ބ6 <&o-9@Ϥ{S^6Y T58GqDO4tJRAKbѢfۡ Bu rtbxZ:gWEPb~kiVٸFNՊ$@B0" @H ,ۖE0 cA=Q8$AaEYvQpy/ZwzG4\%iނ&dKoS@.}-?]H q&HXI-U)/"!CtUh: \; "}:5˄<~2OdOFm%m*NJ9oF0bCaaXk[$&`$ƣ; % +ك*룣6Pr"[WyJc9*VYȞ*7?WQi YVQŽ2 dFe Kf_m[j-:-CD5"ʲMy8܈RR2+ςV]*J虇ڶs =$e 7MK%V;!̫(ì@5V+v],A{]EQQ)#ʢF",QzmNUOv1uUcjbXш')%eSQQX(lAұ* P!JLEItg*0C P0M:d:¨X((Ji 35q"VPQ!jXY*ius z*lY%8J][ lnGAr.f2`7exqf A(hS'DMQ%&Z\Rp0,"(6B;͵nմk~u^Q|LWқ0jR" I )SV쫝<++e?q,yC'_LWC|d$YcD"#]LX>kũ4UQh"ug'NZ@m%H6'IqĠ,|MOMCY1vTTWbRU|z֩$b)e0& !a°LP67|}ETSpUTMUy|VjH$8XPC\Wz!T,  q[HӋ(^,K;֝*S0)z͡F,Fa}q%mTk4hS-mT٦bW*zʈ@3]QmG]Z*Io6m!\xLUN]4 `zg4Chl7Ͳ7yIVX YֲiWV*tZE%s&ZuuEm[LQN|enq >f1yu[]S{f[w7Q՛h6Z9nKN2+\Wʶ{V2ͼvT[:˲J^vlnu{\LOggS@DѮQ7j ;2C?BB8# t[tv[tv0%gAq KOdQ춧9<=9On5$(hDAGj0Tt0QUjkJeuo[Cfҕe19V-܂Mt:44CQMk/"aj8Y B[ lkH*KHtV^t`$ JBa2[%`c0SҫWF~'ֹRdD}!"d)ݲ0 r-b@ɵr"ޣ \*wG#v{ɱi'UI5(i_OygT6Z=III@ө>[ER e&短RIBcde,UG#8` XŦE!j1Q+ojh$BӞUZ UUt"UJʨN]iaX&PДsbbrJ”=M *#$da]MXnn+  o]:R-?k!>#07lzA4JM<:" <W,"?7%W]$JBYjZL%X E͜=3 Y̲X'ؒHЄ ]鴻UHEBGD}+2{vd"0a+@ h` d0! :cb0@\&0`c $JA^$ل b[0 aV+.ZG2 h̄~\HނBYOB_PvCuiQkhBy\‘}NJTt>% K j(4H=ԒK1XUb,zjfg'e_sH5G$ѡD<2 =5A8AšB:4(؀@QIDF$C`e$M~ހP@v]qrp ~k&6JӢ -h90@v >ceaD h=̹9!Xu;4G|TΕ~Ҋ;HV@qRQxy}U qүVW^ZZ@bIX } Y+$P֓@г N*g\*Z $ms/F$38+V$pA],,c2X2t!*~,JD@H)6rJTSa%-LG J^I" QgmtKfT;ȋֺmnEb(}M@WZDE?h<)hp2="!7v 9&P-Bu=j$1qUDr|K2a`ܣr^M9WXlv١>ҔMRO9R30^8FJӕjJΖC @PRD!Ƅȥ|oFwD#MHI!qnGq ~u9ƌ@ф )$\q"4t$?Z]^߮xSu08$!ꪢiiV;i!ڭR=W! zG*.XX@Bg`YVUe&xH"FUY9}٤2b zWv.ŗW5Go[ tҕ!XBavNO1LkAl'#fR&{[Vr|c٭7{x6^,~F ٓw7k3p(%Cf0@N:4(.қ\S *Lϡ7#Q~Ra=P}/ʯԛ61Im[vbx[(x5 3B/:K lO@\Xa|lA=u+ إ\dU\R)~kjrW*ר%^).vw9 oF{,ƥ,fE! xZǜ9U/ Ŭ8ZYskyIK]Vrn((ĔFd[iӂ3;]Oe\J!1 @FVduYȼsZ-F+bٓ;O%i'>J")a;b0MR յe%-:z{M^!L5քk^l<Y.`ev3{G#ԩrXRpĊV߬FDEB9Vb{L[;E\ [چK**Ds*ea˽,f^ם]d\=2洫%ݒ(qkZ)씪fzcUe7hFo{/۫U[l cc%P*w#C5䛎"vhUXjˋ< K͹L=-vL*XPMz, * p@6kmmwKEV;=&]V #FRqCE(JILILvգxڛRhtB5SSwͮVƢO\.>咮v0\TjMr1:bi 0EBΑ~rMF} &Ĩ]rliwe4`S{Mᆓd꼿vHīVb rNvC Aa*Y ?xڝɈ$OdOggS@~ѮQ7kAf!574>:1543-E= ")*@Fj~ )nQVmSU:I&]Th ]Ʉ]zmH V#6.W1O.*=S ikC  L誺:U$U$VBYʊK.s0Q)ı,8.6c&kuWړ-F6%$"ji;-N۴QMUGU%!1&.B6&2*Ɓ| mjtו0L`Dq*=B<]%nńWJKfODߩ$"%j8rMUsRUJ iC&_!\n39.'W;Aba/tЈߖ I\` `DNйn$ ` amb j)جVHA+8jH 1-]G#A+\0XX&0;B>}V nEi1WlXLNU5U:Ki`-ʮ)a3;SmQqN6xRV mѫ JYIV"*EU<ܰޏV({RWUY9;,5DQ-8աJ8N/.Vך֘Z,䦱^:_+Fr.QE)}K-Bg7ʪѨ BmVK*iT@4c H٫j( eV3 ] 5 ɒ¡=c;te<R_ZTDzv*J}1Ph鷮IRՍBSX)w 7u $F']^|@JE^tZTT0SuS!?@ @%DzN-dZf?XZZ%~T[\[6b` 0=;JA5rTwR%w|/ԧdaj-0& ,Fך " +C!oBM{TYBt|/KGQ\]U]b.lOi( -V]^wL\\Zs~QFrO_\KKCJm{EV6|]6S4X2m A:DSiNϔ"`!WȄaʳ5#K^V:% pxDʮcw"1f9WY] ]{Kc,1٭nʉGdWJaړnDoJHd9-WDc:XPVܮ!a r(%]!M7^dΰلP&4Jri 8%~!4i_#"%\LdߤQ@LQL>7MgW}Wt9 T:TUWmh5MޫuRVȹ[a`|vϞɹb%+` :A,HqTahJv"B^ӔpV[ZmfC)<4Fb6HHK&b<c&T_PY dm„) 2ED"هiYHIT/ŒKZ(((F$"ys%μ|+cVÅ땭jjUeZ[t:d;dPwN+#܄GBqvB[M#VA '%$@K$:h4EHck(*a)r$D{4%mvu*HKQȵhtQ?FԲR"5΁s&^UAbV;V4vqмC\ NR$@9]^Lu|MSU>H$~F'0-Hsm rڍdfc`jY3U$E*ȡ)''vXxz=}^_l$Iq,aݽK](`VMfVҙ!&⥫1<-IQ`&A8h9 rJt&;15:磪ٻF͋ԝČBviQm.ȒvpjJcq9eW#MRD`$!ҡIm uكC `[m5jõ# !p5*$j>%TiXIec, #ad&Ӝ n+N޸.5cg{֜{9jڥr}YzKǽOgoK#8 NVkqXh Z9kBtfI`03J]uzFs7J\47wk =sIaj[;豳  P@HtdI̓1b'#z߳ዜz^SȤN'іJAF jRY4B:NP@9ǙC;7Jf&WCUeDbCUL CJ9K++JvjWr]-JžJ 1g36={z#G- ""\gΪdY?\z):ouc)#UO]ZRGkIo($ʾ[7m9SNy*207pA2* <|!b"}xܽz~ND1v2i ,c+aWU4R9RnyNBaS@ m_/*ij%L`5"'}tz{A@*@ņ NhqW5!Ye#[O!d꼋C㡛گfU8j<-hH@&lw%hrتm'Rc- ^h/TOr+p`6c\$s\WV͚)M"%ɒR!زVKU4 ! Oa-͖r a䷼3[^ܬBOggSѮQ7l@ %(59@AB:A=' =>CwZ-T*RтW8 yzI/![@;@@+'VNjKLjycU@F0SGv7Wc/z64FxU-SzZ%P5YM$^Ŭn] s,Aj!d-B͊p,J4.nVnJ QY3ȽvJTҢ*1șz@)i Փ3PNF JwF#/ceD+kNX[?IMwQ]hcw Y,vZNd]&g> V*.HD#K-^̻Z!˶I,QaK0(sRb1YkKqACSzҤ4OH5OԙEYB\Zb4)q5MFftbD.>:ڶ"])4#6ޯ]E&20_Jxzz.粽uLӮjT ?朗hy-4Qt$O:)a0.:y`Hɻ>+ R /WFniK2nH骍`teDQ1-&L\$`mffZ UfL,˭R%TLUn(U,9^7y)4HU-\˲Ld4b%_l:mMVV;t<)ׅs[SHi 4YWVs}5V䫳F׫F °VWg)jkN3F~e ڢ&멫mR1QEk7GfsUD,+Idg 0ךfX{d6>%;pI7twg4%7;nast2W.RX8V@\٧vYZg5U͙,S08X=)Rq]dTQ$sd ; *@vT^paBB?pDcpMc_Z&Fb5qHw$ݵ%,c:>i4arlbK,J ݟƈ؀乊)`0dj=V1Fy}in3.5 ,`Lg7Ū$;m!+Ett+<wv"~ M'iќSNT)"P9%4A Sq/QZ4ưXV@vfj7+0L[Q o&r 1,c52jsE%+++*Zh.=L @U᣶Q3Kh#M!VM>YYkg1'RMӦ*%1jH 圞q*^O%&]}Gy11QC(@>P Ju۶Ju$=Wjjd j8QNSc,Ǔ*W%it@Ԋs\#OԇVf-sѺNw& ;J*uZ, ̧qi2m53r`X"V=G $qsybe ɸB Z%^RW ٨ /=f^t^fCaQk 1APN3^0fգ]9<=g (g@B?;*JVJu>z[g}JG"xHT^^@y\?K%N9HfOKMRUW{ZtjgH`JHXw9hCR&\YMk16ώŞв j„FdG/S 8{IXaX]&6+2`I@F4*Ur5.zPV:駩9K^at m鈮#_hU*P蘦0M݀J*u@+-$VS䎀jؙQD'͹Me9W@$E}^5&HFV]6+taKmC<_[$ H! k`CFHS%1'YH: #wDӵΊ M3+1ȧm,XvB@YWeK-H$ wlcb[szUQMqHZ L5tiD&JI簣IlۭhEY~$ @-uդŠpGXʶCJMPvgFYcn;[ ŤQ5f]CNFYi+ѱwCXVi̸e2ܹ0ic F}qUHHؤ*ZҟYOzkFhC+ $O <[eݏ%H;FQN]w?-I˗P,(8ܵvg¥:H8eu* ,P =#F\U55iR%eAZeٲS#ӵױv;P'K[,ED5]&+T+1~rZ*ZvR>ʊ;󚴟LemղT,}vffMŬI 69zb>N8 [p}(0(޺V(mkH^ a Bele aȶ[8&M4=&챟BXa3Ie*g7@IBq_2vuҦRZZ)9=yfH&+3R((u׾+0"- " gvk9&ه@\e UecŪhE$IgEt:w+u5@!`BiuF&)/ AV5hӶ; le|X}? I>v$˭_zˆbCkEG:!&=ta/}Fx~poyrFǶ>zeHL|o7_nMTZ: BF19nQQ-Rf>;#:brRY,W13؀mu[wT;ZU)`GA q  H nZ#Fg_U R+:4FN Zn[ uH@ xEW!!mGI\mX&$=  YJbߏpwꝷjHNb:V?sg틚8QD.`Im~+\H_y_]5 <XpvovE,Vec1F8UZ s"FwRM]%:մ4tCN@L|$X^"PJ#Ӛ"+GH[%‚1x!0 3XT[uY.MmI 4ձۖ3ɘJ iJqi޻Þ\H3 \d`5_i/چsN7iQN[UF:OggSѮQ7m  99636CFGAG3'"MЃpX4C;7N\G@r,* fͬMN[J5Sl0FPGa@ !d d{̅:jdy!V(&a:"ݴ UBŇTC*tj'wKflKs P0ۼxx"3uήI<%q)23DLExXk@ F9MOH{n. uEt&{])0v1c*:@,U5kB-S"Fe5ܩh890tZmӦ 8jTV݄X!1D\Mi;TSRE4+Wp.A4P臕=.BPmPJ$zŊ}m}{D6~H7 1kk^$u6~g;…F1N S'C%6U4fe:U:m>NXC˄M9F.,(̙t9* 8۬芩 jq4 k4.HS&1F ~ʼ˴P5@"&\[0(1ؼŤ(X&,ԡ`,6ȲP502`U)V2#FX0jƞRO_2Ȱ">(#kSJ- ZI>Gے/ Z!_Q8oȈV~ubQ 9Y23Nee\.W6OBʩ(SUN]GU A9Y"FCe HqS2 E ԔQ`hX @'D`J:06vD.\RP P q9 CBAo^r`Юt"8ov];?#U-( ZDR}ZU Z V@Q.+`']bR,*4- BNVX!=d63NrLbn5n"3;XKS(xC ծvUVۺWB1ẇT-HjL t+-q/XX`1X8evՖ PH,ap-XUPECBac) $cʈVKTL}FS3N^_Z-#U=ݟ4`a0#950C<mU9ɝ;%IVׇy6O$֗*|@޻힥<9F"䬷f̨YebeY!1n[Dj1HUN+A4Z$S \0uw_QUU\ VH 5+W1%ez-V4ZVNO2P+HkXuʖ@1vbZjO+~V9,T cgrx'qYRXĖ_K HsqV3#o?ZnEZ^wX:GP@y/)E0Qу\l`,LT\t%"ih=>$}jcR!UMEz#'\PL7Md!WC]J @zl$ .# fkZH#ͥH^,eĸ , T h$<0 L]2o;$ }Bp1%`ٍ_Zp ˧W'd y.a߅hvx*IB3?/$!T?ڍ֮O) |-U"yIzf4WY-n 1fz\:lfjИ9l͓9"ŘٿԙZ%\z邮MI!\qEiq;rX)t1'e 8eR,ad6RWP N/B[*ߧ,׼iIRUWUk ]Jg8[8 [Vuk4<!pT{i$ % S~Y=.-O+DSa*P (fU_){=9HҬld'Tnqգ*ϡt6mu$q t[BȪn2Vj*L~ YzԔ3B ^y{jm"97(zۤm0B u[m;' NDF@>T3UL*CfNo;%鈁,Uc`/ gc__mS"fzBT)UՊ65;ڮv=sٜd͢puY8se-ة"Q3qb,ʂ̴:Wsьs+V%T%uPt3p3/+I8tWFNUz"<'smTUJEd$1j7SPi+ < $u sHea]<4/4>*TJ%h*m p١|2g$I$@UUH ZQ񑩩E=E^qٝT[, }Yݯ9t\QMu\yDgj1Ř;{J0UZ4Of\ve ˾}:$׬E LOP^)R#gL5|{iյIϓXQJѭT* P>]U-Smg!gMUSW$/W/:RRT{8 ;*MTm;/OAi1=P /^ZW&R vJR=6g<~f̌2 5*V61 ms)ss  NjT+cJBO j;j+ٷ]4ץCENa!VWZ&)/NJtb^+%ْ̾mf XZ3q[j8V;z#KN卍bOmx;cG;)$MW GgZ񖗓)BB~vh} EB_\J:’cRj,Bրo {),Y_p]kHj7emAH{Sh+Q{+ŬfyFZr}Tj. -u%Ó33c1$zmkaIĆ`ȒSR*ǍNZq7In:Y0xԙ Uh'L iga{SAnJU[ 0VL%៟JCqKU:q-h7J\Lֶ%3vBOggS(ѮQ7n)#5:;7363ECADJAB>648JFH%::C "XAMdv(0+S]4+Nԥa$̷*i :6[Q6zNI AԘ`7lgmzR&3NN酒wT7c]8 E]LDD RJ(Ps,54 GR >ȩ0K.5J(%Qi if)JU !RF_ծiquZTp X1X!c7ߡ PIR䈏) #&o+>êD[J[= %t>-2@o( y @`3{a X1f,j4$b3 -`AJ&cqt|S=HwRbZ<߻dʬ$jzP(A^2X% q\Dh4ȍTvBjDILT0S3L˥LwX)**5DA "2#EBS#鷩NJn](J[*)VJu\:`Ǹ\{8(xvE5!M;`&_v (jRAĩmbRVtd۝ LQU0vPo`gQ .\btΦ%wbېdcU)ZHj/*mZp4a ˆiUQ"XaUM{g#HHKF*d2֧.*\CVBߊ1 k6HSM!Cm԰33Aa&F J&8xC ɝ0~~Mw?kD]ԢOtP)! \5UM],bgVudd3Z93;kT·P}7THtá2妌IBcp|$xMljjcapqݱvUdF@RJ /tARcTCjZZey/cYqDf:'g0VBCC. c'=9=kFB*:)ĝ!T:PVa,Qh6(H9uu,M|i[ ,r@!eUzV׵\5VҌ{pU @@iuI/PbĎ˵檈" IUDUN* }\.$AסұZ\*6 ]nVtJ_T AD $D_"}:%+ a\=Ma+Y6&B|vg"daZhjɸcTf:.LN XEG4Bm  cWm52\W&ķN)IѨԺ)E&PqM+\da5raFZ @$>ߴ rojH.S/bcVjϛ~qL`6 B21UWXn%+j]Wn[Rafq 6a}!>RU T:H[ŠbQj]F4MMgu9/!7ecfY{NTɨqdMe#Q({_]??+hTHoiܘûW,}Zs]xvDp /aiC]`U=7C˟Y W7FFtCT']4MT$<>,yy|2p+xe b 8f9˕c%C2Z݊M8 ^m*Jby*A7T:m+HBZd N,VTkK,DkUBgȜ'@S3(Bg.Ձ'l}fpiJ`\ef*36#aH2G Pi[IF@B;+_4F9m[vW6da@: @ə@Si4m5dqm^* z0ˊJzJZmm z.QxVFb?j=Q TVI+q9r!XbZ,XD8^J(JZI%x,@8ي8# hKah s\ 1J UH0^x|b @%`4O`$jVoYy eD{kL˧AMǣ刀JPY-Ma\_&}yAQ]!}Ңjp?UtHUjhTi{* ^]f$zz.NB]VTϷV.@gCʪhMXIPDմF)>a*! mڶM^*2XeblJ-jtP 0z%tF+!H&~=uHe iCO>i١^Pa,m :SWHWð8o^`_)?մSy/MG Ȟog?SmQm7h'(6OggS`ѮQ7o.$+3.234ABC3331@=1.1600?;D  45328bZSuQptxm v؃UsLAPbhhĎ=QJzlڮ*5&i_u\x uZTMJq " S=CT-P"Hlܕj0'[XRVh!U *9l +-(^3'Ԕ/${sg\ÌQ ̎,D*xɰ|ΡҡJ,MI/2ЃUG? ٣YNhU2 aAbQ Vd3Ӥ$Rj0њh #'&:p۴uV`aҬZm\REC'˚O !`,&QU\2% &9GQjRV6Z?x=30]2P< #YٞU TJs%kwj>h}@ν*6Y24\Wk2$MA=m*tkŒ"HV[ݪjn-PLЪihURC'dUcB$LjMB$˜xuN4SVK])[?HLc5դC4:RҢPc:$j ,U>* 01E ܥe}[~vCeɫ&=ZDpȉh9u)S(.X!-N5@T"`G.=m/MD_^]ō)I@0J!B4:ճi@ T5,+y7e?wfɊ<[ee<6P(9ʍ"CJi{o1j=TuLJiқ* I/JHhPiK@v@atzT4>T!@d40(UW׺{sI$M$I$+F&L7Ӕ監VFBĜIbHDsfIPW4t(%lJzB.]]]5VZ)锚1**#r,`G>!EPvp/٣b,+@oMH&#6 [DM( %%mT:UAj-B ͩ-ʶY,FBE4j{ 2F@,B6$H.;mY*QIյ;}t0| !N ]IBT4z\++dIt6`9FTI IAa' DiH}R<i*"楙R^jhB}]VUg˞z (3yeAb|**8Xl) bqV*QhTF!uUKT3M+XM$UA t }F7Eb )I`Ƌ FJ i!d4de,+uyn%`yF1| H [^L'v-v!/U藔LH /J* Hӣ  FϦ N L@jI i&JXb*h3caW)b*!$ƕlahQ,hIM0Ct#ՈeV)A'+EpOO:Z JҲ)bVp9k;M.3CH4=Etl 9BK ⊏wv5V+,2BF^ݓ qzR)%L ddU0 c)鴥<[$B N>@(`fb uF -jQ[S_ F+<_}1"e @ÀxZ"X} %R0\[xDW0ˉʛ#DR$S^% eo$k=ģLQ:GQՙSv2j+``ф3⪆0F ޷{) k ju.&)&.$ h( riipYmcJQbd80L6S+#5` ,X %]O֕ʵmV+#Ժc+NЯpXcYbPvlHT zwj/ąMOf s:G2ܜw|qCtIȫRr6z*im('JԩF$;sDj[u*e:eji1cbApLK$.6PP10bwѶéj() 0T09Ĵe1RhD^Cf byJj 5ZpatW Jņa@(XVnڌ^[1ӯKڭp 2`z8@e:ڈJu*m |L0Ɠ1(0#W" Bda2R5~] \U45Ԕ=lfu}Fk_٣۳Ig .=3LaTVa%~Uk:>IFԥ+2QSOŢSerfi|jTWG:A]z"'5VXmkwRg+quBDWQXr[VU @ZTd 8vw5K4,I^̟6I^ZE<xa0$?5+A ۾Z]ޞp\ڧkuToOggSѮQ7p(C=<>>?> 02.C<>275><@BGHCELG4UQqS62mz[gzYTb.JLaIUOC*:W[]U%Pm۳LY%ܓ){ZH jU@ZۭҩDӽZ>uhOTtU\TcaUc:u}bMI.rYvْͅtP%%:RUI*tzSLW֞f5\J h`1f[a9dEIu+VUVT2{M0T]b6UuIPАE[jH2v8YIlt*/8jM*blRpu[!(]`hݶ(ԒHIKů_'.y0:i4mn[|YTɄYdla$4MVC:ծm.nҴims=M6!1jZE%3 /0/L0ƏTOVVʜ=}-hId0+ 1/ߴb ;߸Slf#Ck_5L(΢q%jY:ڲu1XZV:4r1,2e,+ 7@ F`H۱0l,Pvp˰SG\,E nq7bTo{qϏ G!ooBFPT&W-7lۨզVSUitNhm%L< FpA%K)el#^{b(E}cUԮ`1^\oX+XݫBpƬ,,$k n Ld,B Ҕ  %:-J-T HD} )J-2+m/N5Q)Bڷ 2~{M(E6HYӭGy-bj췔K۹"tžve;R4I4w}B UsXC]_U)~՞jV='Q-=e;Xs\UeYzSVpRRUcC(;򞞮 СNtVi+g^i#s@* +I"t!${`NZl+%#Jo*v[ `/9'R iֳؚ@D&]QּLhLYJ>H*;Dm_0'-*w.5K# 䤻[?[@\!g}l ,;KJgƬ*<`qQ%$9y(1Ɛ4G6{VNjOH.¡@\D.ElL2JIteeIPRja X])-0눔\I.Uҍn,L7Zy[0X 릞AQhc%VbIfP+lN&rbܝC7mگj-_jcY(Bܽ|kVib,HKmM~Mn0![ Ioq%D9mv;:l̊U6@#g :&YPkhƧn*, ړzjqhw"HXWRjFXPIxຒj#m 3{?HaA½fD`!6Be-4a@A 5H1PClB s&, gMacw iT ß_]_caW '& U?ldjNDis_črk3|1qer#b,C} nb5$ h$>>aJVTHT}&nSuenHէ@IR*%F7O!(PbH.KV(  m@ڂ>%!2XHy'93;L1%RFY^i܄*EcH@(#y!V\FSX pPQ0@0h,UӘ@! #HMHtbYWo>!#?7e+~oļǹ,,hUxY# n`g7lSft1i6դTM ]LK&`  2ń1XISX6XU j !֔\Z]V`U`ub: I ,&TMtR;N1tD)U ʘ,B@TTNL',!Ah’p,Ś4LͷODBjYq$;#=〝QV*0 # jjN ^`KKelǾV& Iœ,$Ӈ?Df/]Xf%{,VMDReʾOw=VV2 \_?};F  `ɂp@\J9yW`4UQg\3 gMIjъjvMP2z?D:4[ycd‚Mf>)RI~5 aDAUۡħBܹWiV5FVSW$U=)OÈ @MoR#G^CRWS(jUR+qU]$FvQ,W50jb |Y(}XꄢHRڦ+h%#MGmZ !@ O˝?e\&5q,;trLgKZ[Ta;ieLWq;YGWl ɐI+QJ_EEXIw (@VX)$ӠhI4j}\TZhg\TFՔ~qU JM\_P)v&ШNָTMTMǡK]ʴ!‚ʦ*Im c XArc2zm}ݬP {eJQ'gEoTV㘈2gɓ2 H^^@"ܦtd9U vr5\87Z DYMi$ϒP^QV{gKs>)n'ҹ0FZ˃FR%-՛&쏣YVgEuMYi4Ʌi 3qB @5}>)|gqϼ9{\ٛ$%iqqr "L=y*epٰ yv9X))I2;eunۥ+^jwҪN*mg*r)WuzWgHɘ}3 E&WJ\vlus]^~wVT9\ %UګՆvUrM5e |ciحޝlp ZbdzXt+z4U-=* v<aTK6*ro˜B-Hc 39ЅY\\ PF &C!L}#I:R_:H[]/Μ\UBPHGk1 `:{e%Kfihվ¥=2ׇ]saY vr +ae敏؟ϗgV7&#Rbn*4EHD\2紉t}IRH(տw#/\OggSѮQ7qF"4!362351A>;/11=@ IFCBD^7dA}M JOk̈(3Th* DKaQ]Zӻ g {f,r\ (!gSUڝõQE9hb;GhuFRcΚݦSevudb 4b Ȉ7LXMۤIN24$ETQgbjqSفr"Ŝci?̂k@G5MR͜ DSi:EJ[xzTZ:ɲz⼖(ӣ ukCzjm{n_<ԃ!y;¤{{]M(u;BM\%;N L@"ЁǛĒeS*v&uJ'cL2WQKS".azQ; lp &,KeP)dU(C4v#P4t8X g$3h:q,Uub$K(Bсت*,gY bq6gj)UZz ΅_f:Cl&(.>eZreWaA7 S)u88X SCb s&MoR}RZJtR8Q谲F;+Q$T16eAbbrz7.ݦ20J3aX@hu6 ENW{A(CbB>YĞ׻C괕Tg\yafHzqDqA~֍3` #@'fNWjd]}}\W(( )Q•EB3E) {KQittTT2萪+wQZds`3ΜU [>"/zF$P1dWFd]n53H\ 9UDҵbC+@:U𩧖hmҭl]jBKVGmMF:{NAX xQsݾk: [vRЩ \_fl,Rv누&u=C:+?΄o V:DX m6n<[4BR ]~2uZ=^E^& 9-y Ԓd @p+W̪: 5E ]HpR[)UB\+U{D !\=j^Wd58Q*(mZM/?|S;'!M%ӹ\YMץODwIۇ;sx/wK08yG;Y^,_]UU)J۫TKeFӇEKh%_%HZky.l@I*WUq1JZL#ikDTFH&IݛE-.#a -r]#E```0@]jD\8QP"-Nb%P"X@RY mJA5) Xdö`?CMh%%i1Nf!Y#w9S's/IZu’L D%mS6K]9U 0,?sj @9'sFE5#^&$I@jSUcǹh/981kbbX IC+Zdj2xJ`l/VmuPȀhX Du-U dD+2+2XBp`(j:ikѪ42Y$Cn pqX݄}ܶXF%zT$nbO"\P3ud%_>W핓%7NLP$ :P-ˎ _~|Ĕ{ffb1n5 +bb/8&LLլ<tɊ&[X\bݙ5 MZhq HHaP,g&)*Ui B Rɀ(((p#CD&8U`h,w)0*FS*p%a5X{Ts!0SbOe=f CoX+r|g~b{pJC[;h.7Y^K'Vku 9M vgYU1WU2*6HvGTPa-Nа#TĔ!Q6Qhu:Cծ풊ًRܫ2F2@(C!F%T(fX c1)`0F4! ^Q16= b!2]`E 0" P%P;mӡ^M)>[eIj"'VeiA@N e,t2cXyDi[4a4 L8( *E/j+滆VTFTWSr SCJTA倎V֔@Bm*Td}:< 6nV()iIV X!\t-W)z@y~U J}GQޅv>EzʽNjo<ת-zyTNGku;-Gz it, X =zdfpXUY*MS+V^U,UOU@^)ASz wC7C>G86DD#%3481EE-/Zo  '`g,D\ZҧVӔN >ke `*ąϑlf,c,T(d- ]3tO'mO{~8Xֶ8맷]KY(h{ܬ)eF~2 n:8dcHޝW3jˋo4obg[]?9c ):?EKZ:Jڰڵ_"}#Ed.d"Hy A)F7"O)Tj5&){P\vF/R]~Q y[N˗Y:KӅpP$wDdX(:F$@9^Tx!'P%e%wϒs4*W,F(y},jrc^iayzl췚c6{/\mdJT☰NS3^]xM¾gJw5՚wNCG'@ݦilg=ʢeM>B ve ITw$*mrt y )w[R\{W"s|G@җ.ƆQ yNʹsG]iOHUs)UəRRxZ@EqN:33;b1VeHJ\ ?g#Nm~:ZC}tii+A*LFPY$ˋM-d q2 Ai}MJGiֲhA0㘂=v[k"B5qj:0Q -ɊEk1p֒^p>aU()WѤ f ;fH7<;N~աjXh-dm,kPqz>R hDTܮ͞5`'jqDrKLUDIOX0ud5]_[eZJ  [/$ eG xҠEqW|0V3SuUU+V4WmtLO8E'/D,/fvbŌ#j{] TTWD]V/0+ɕ}e{b-3>NֻwQSMVIV+Th:MtY9ڪ11q[k1,S-RYVԈ7g^~zq #+|c67ot,P J z,"2B"ZV;Ttp!"B1Ndat4x  \q;&IIC>N(jU\!S5gFd83LjmOEmۤT+W8Wuuѳczu}ފ~fdVY 0Ē'ֱ8ڶ3q@3McZxlQ5PSEJ)bu* e`$P(.HueB,Y.(6hKE6LTۜzrǔn=$zCj# _r[% 0'cO>*/6Z /7. ,]JN! &8[T#!l0]ժRRIV'A45NN>_UK` VWH:$K2PTf4RB.yoڷ:Ѯ#-^zoBQR侔W3Bk[v|IzLOP 0ܺLpDq}ጷ^U.Yќ[sYZ,KTkHLQZ]ݦVYJfX :)iJޢph"Dm5Y({C C@| eMy>I^W^9/dWߌ9oܮc^gFޑBq\,q iEeWs|>1_[V0Sv?R'{iaRU @UPI2Xƌ$ w .5!Vq4I( z;h?V&U@md 7mDdv"uX`>F۵3}$ 9(M JY;IJW Rm7J\L :LBC:eh=33U9bJrlF"B0#ͤZTU1w*29Lk.hiz53IXtTNta:NP\ҭ&fY0Q,2\f!rod\{Wo1z@YoĜA;/Bܔ*,MCdiB>ϐ~^UR,Uu' i:a E$O S J xЗ.+ȕQѼ$^կV`|w EbES2d&);eHmZp5Ζ˕%"µo I#*0$@AJM\"0b d)%$tR1C4Mdhpij(SrQ+jQꌢ~3ryմҶR,˯zH@ .h:\YjRey7`O`R%5/w{b٦T]J>VXM۩VӣJ]i/tc%P~W=J!'@?GsY?߾~Uƙ64YISִbE:Q%ۄ\e2@DIc MZ u ͉T {N0Jԫ \adؾD(r5_KS[RBe(>lb,cIUtڛ6M:M|e0r1$R)sxd LyB_ۀ.*:UI|_LȜ9 E&SqbԹVI72IUBtW\U6QUf@UN!E V%J nZpyj[ LUXޣ> &߮5!c {DҜP~ZUIt|_{:Ef^4Qm#In94=ZittF 9UU6HhLc)^%Kp=2ü^i51TjFjmTSG&-yxTVmӆc4KQ1a`c%K^z$XseŬ*w42"e ,VahXPG1A*!Ml['RªYjӅWϾTT*t(ۅZ ^|>b~(mC%9?YЩ4p̨r^W%ڪ[$u6 ĉ%` c2z E\uMMLE~]\*iSTZJmT5RMpeU*>Lդ(-&rⱮ&Ez9s DĘ*V @ )޵hDAѰ#VTiE*bKB4նIumz)!V)Mh"x)gxoe A6 ?FGaq=P1 Dr7RJTT墴L|@\u-H0Ljڊ- y}Wˆ޹r@OGN6&5wlFz3 Tmy :(t ޤr^v&9C#Гe&0g1ob*f ɎL` ku@ꢒԲ*ݶyuRM5m{\Rwo)S tֶ%0x19Z@F@ 7Zr 6;LjdrB D+9pvN) U؟/<†":oAXFכx:^[uWhG[FpӍ[[ݩ3iҥ߼>fSp|#ɤLfܫ5ɤdf63w"YX*Llbbhq,PZd=Gu4v4=[zOi.FjuRV묒 E"b )؄r m"SkJ[K2ĀaؑR4@#h|QJ؎ۮ6DvPzˋWՂq[}"}һQXmV\=ẜud̀󀋎iTq2O8O7m%ufaB-&D "ȑ91bU*UwGz`2Y -dUWw>mtveWӣGz+jolIZAt]JjIu9p;hQöDuV MU{k@ΥX0YW+vAb# T`YXT̙5mVt$.2"pUR1!tIώ%V0t[l0~Zck_rt ;}xփJQG,R;ْ@pv̒YU,{aȰ\\ORCz>lϵ5Pe!2Mk*rZ !YuKAf5R )uӰR0k[TWT"Z\4bY5 nEߒ&!#($RBpJBD# q8# X6ʯa'iQr4R43Br^Γ#}Xܴ||z C_7S' 9@ZZT<1%| E]  >Aczɔcul"蘸Q[=^%Uk@* i=Gs-3 Rb0eZF&CJ) 0u՚g"gSsbwX f0 r1(T(8[c@lz5/4Urz]J*rd5h6a~rLT#G.R neM&ee+Ѧt;m$R6ZtnM $ءѼT! >]&x<sG= :N椛rs F$&B9!jhQb"1\!.͔lۨ9NmjzMe+'a +EDdrDY͐*U2F  ĚtCa)`hD֘BR-wPUwEJ`A')M(^z;{_EBI&mmJ`ɆB@ KHw DdsgXOHV3¡ juCim2P80wrh F38jS12 -Tor >!]aZ5/[ j׶GB,j%5D5 0eU.l#- B6Z!z0 HMkiC2)@YqUEi^89RBͺ*rh~SWTEE1mqY;C֐=5)ɯA?`?҄c-g4ድlKSdN`|vkz.JU4UR@`POOggS@uѮQ7tg9'!  96EDB=E=; ]Y@Zɉ #e.Uo&g~2Hhg,!r@8*|+8-ZT)ٵB%E uH+= ɰi0 N:>(aHBgTkX+)O7 }M]&qu;ḣv'h/'dEbj}&g^j=KR%lEh7J نpa_HU}KBBnù uܗTg* 2z#eg u{$o& t;}ܭeiΕw6| ]^u- !GjKx`t={f`sLwHTO?N7u*jM qbtcrd2}e`ӈ`}ЮJ`Xԑ(:7uDw0k[@ B#2րHSic(H$BJSA),d=j$5+UE {Iգ}:>j F-aJQqܫwosT7ZwI,O$daݨ~C62jB 鵜tu6&4Z)`],CѿvteT\q`VָGMkļ6/@B/;6NbWw3{\ƻc- `eRW }gr5Lyv$]Q~I\Y Нj^c+aV rHEȅَ%@<#b娑dc$JIi\ \v"-?).ԉ$DrPy0Rc`[ٕ8 uiYs0+{aT  rq9gjcǖn2itDEQ"0ܤq0HqєvV3X L46EU=!PXӴt.UQQ媺Jg~;-b>!_x^5rCZ}s?Jma@/C szL;L%]׆tcca37zOMɎU,"0UlIiUڰFsm\G4n[~LPĄӌ4N).M*oT1T5Gm`@(,ʶ~7}%'~Rcׅ# i_.#1n(Mf E5vFWm%% 2:#HkX;f3TUɦBidج-b3-d7%FSZ+{f.YhhX'AP$rڲX`**z=#/NOfrZƍ^u6' @dŢ &jET,Y,D64`r=P#R**FL>SHGK*x"Mtۦ*4մi fjW#VCU "Kj^ .2F u`*;YI$y$14s SN+5liJ3+n]ZZT,:B DzH L1JWL0/)#$gG6ՖSd,pj۶vv!=Iv8mvWU-;T|*EQrƊr_.Ms#Yq8Ɣ4ߎ[Ke𚼵tdiy]q04v@Yޅ_{Itm*DDYϛ' #X`З%bD!4 5\ojDWiu8So i>]{a\OU*w z{GzeD$ TDѺcdD^?@00h+gx%+Y/ǽn;0 жyvew۴fnL(.HQ3DԤ ׫9RvBնБmg\udc ۘ9 ba̸Iy5.wW\i5y0{Bѳtma/_F!-I`x7A̱9FǼ}Gǹ Lv[Xn|o+>GJcb.Q5tjCx& 榷k:D:la ȚHB @AđE("-C="V W^8 ?Dif#d/z/*tВ\.U[ooyV] z:aH)Q]:Wgqy43Ko=[idsHV}-Xbq|\hå/'K/YY*LN2=ָtd~ќ`3Ŷkӱe[:ӆT3EUѱj͔rӭW& R3hbB {*RѯKJRLBaӿh,Ǣ$)ΊJBteI,)ZZP]U@ lP)%%  a|3Η;0W 3n uvUnJA::~/10JHVW_¨.…db$B9\U,ǤJEoDJzJ"]W/]R*Bj, DܪHQT ZaYN{]mDc{LK @TG>Lń*Uv(˪JMu&:^83 o|BKD P<4Qvth$( V{sq9Υ$s0wrh,dIbIhT`a*ѫFTUS|-ު`݀ ki$,7Ò#ug -l3Я @08P~G*`DPM CwB. Q6&毕Ө6ZXB~!ګi^d O ڶd]RԿLwm_Nc̳s&OggSѮQ7ub.0/,2,.=CD0-2432AD@86<;!1.862/3?=>dH9Po, \PA "PA%Gai+d"lPsqGI0$iD1XFFL Xv&aH+\]{%\B&baL- 0c\x*kS)0M0 `JӸ]~T 9NoU:J B!ȲTXzԛI`VZ\p"%I=\erV𪲦J`&>&)hbX4O쥮EՁ $[]ylu 0L:: 굠YMЭ>w۶X5m4uXa\_V&u}Y9@%>-Ǥ4h.bur%Ib͠#NSR]jV%ͪכTeʼ,9򋕨RsWu MAxy u5T%MJoVJjeu&x%S0zgW"x7ig6FvZ1V,6(JR]a"79#,QvqEzz5Mɱ1 Ħ.T9JoPIU"mUM9#BH"ڠ *U ,yP{2):?z!, dĔE)j "dXQ^N[MjMv' >[TΆ onCuttk=#>SA֕6_e!ᴪE_4T%@uB *n'>^ < \i=:*?v/G+Le5eT4~ʖ*[2!H 4KeTJzԲ.P%iAZ(!*FL1ƴK  #bl J "@޸Wvu8 IiR"z@/oNurnPe9![>d fh56)ŏrffA9R0^Kb;P7t+S>>QosMxs(`g K:d1V,̲#6Wjl-)⃺A|30сR[kiZ@5 ifP!1~EQJAd,KB<;F*/=H gF=c!BURABԴBހ2j(\A*K*T- e/Ht2`B`Q(=bDwW-שAq256[\̒454GBd*V# +V#7:Ǣפ L"feuz^Oa"4khE E&T``. QbMJ6V^< شQ2!#FYCb`"n9UCJ 7\ti9$NӼn'ǤPC*dO1ኢHoPu{Y\%tpU !L#D@?U *22ۼ9WMLc{hls=!}U\rM8$w\ܕ.'@fv$hjPUw-EY 3UCRA<TduTt0[T#P"jd58PU;/=]$W_$R\_!E6aBPzPtUDą~iYyk,h#F\e_j2/NH<RHYwr"r@Gg!Gta5@j`֖%"@MмGc#X ˨٭ЮJ,mֱ#qaaE$Bdgqj/+⪽O;@(*F +8MW#WzHB>VjJNԚnL[- q @T?nwU3]ٮVu J)=fE:*JT["6 b `E #ko!g:M(Z 7]SJ1T V:IT\]"Mkq"$gxjJӪOPw 3 s&m$ҘQ4l[dmAJ[L2%Вt)aI4 |N@0l_m_dwk RgKu1ڴRtIZyY,mJDP:5 UiWfΓk9GVLv$et`X.7Jx钒%k^-M55v 6jLnhB +fɥ6mSkk7Q(7ĚV2KpdYNWj61Z8UNM108_0`*&jqB{03tH  A`plq*_Ay-'I o4m@-BTGFU.ІD+mP{8gkyXZ(6=h))zl|zM@09n528)`6 tv*@ܢJhl$&>0$˕b#mAjaHkU~T[՝ [Ռ-:jFWdD,60^$])Wv:N3xL 1% "BBŒ$%ȍIgaYAږMjKڨjad[rT TVG4dzRU*"F&S Zɘإ_Ħr[xza`³ҭTu1=J@F&9j;gR1:+f)$(&TճV^*SOaS9ՂZa\j\ص/U[uvk7 NZƣ2S YشXDtf-IVFtToy:MR=IЬ8Ȣ@bB0.cAdz0a$"P=p"5@ݏp)svNz1E;4mi#6;DVb⍚&դ4U>Z f6* @F&m?)j*=tOjTU$!jqXmizZ={0f9b vyIm= M՟uSF0!A7 XϤ,! ;&b4#MsE{@c*08L&&nB 900D`]M5MRRh7\Fd0aL& 63ۇõ4M8شeƀ"$ *rTa";YEi2@ElUt3Io,i]}) o>z4UtI4UX<K@UBuV[5D2hIpP^q ή,YL'K *gr8wβY={\U.UPmMBX" DUFO1c*2\ޥ!X*K "gKֆ\EUpAqؕ@&Z 'V;0.&  EA`99aՂ?!@ZfA7xD7m\-$l^}<0P=mo詃#MY4}U!@11|ުnhzE\[L\[L~r9 HMjE4{w.6MJ\o5Uԕ}RU+;Qզ餓g\e̸w1coOy*DJѳ[ThWKܮ\z"VvR`7[.x%wF;`ϟ:*kR*3=i*cb TTI-kl&*;j4]n.msP6miS!Ӧ #dec Pv@@ Q2#,dY&je!D @ Q@Ppk8~iְ6ٟ0y_Wkt8nsԇȸ>A`/_ג62t[hDwH}9g[iɒ(nJOggSѮQ7v( 3G=> 1.0/125?A 24520 Rhp5q5~<6>xJߚeh>ӳ,f+VU&}%'WOMv:N  LXE+WW9 GaT>&8&X B5 >\UE@%0X*+TZ!FeX ^z b1*ݝ\1'^ܐk'&KB ̂PDJkП׺M ) vR0) AS*N[m}z%&ds8f^DUrh 7zOj MŪj u6G@썦th5cLv1A SKvURs Ntϒ\zTH\]B B(JS`Ad(XP'tYIBybv[uV``X8H7 $0C(_Wyf, -pa{IJ;~)nAO6= jUw$ @7=s8BJmNK! 2T kkrG%\bU e"=[JĨ52QdEިTVzMHmMZ6QĤk'UOF#.m{'Qje26 Dű!Kjh$,m^A [Ҽj dRR4DiN@tVls$L1n[B!`tdr dI =៿EE.>Ld%OsDO]8N2R HRV@kbRv~#xT(dU&*Ґem!ɉ`紦Rʕ+9-b$o}D\(ЩjZjVptt[t2rfVC@nȭP8uU$$wRHgVڈ l[Yo[Hߚ9@ ΢A|SME7\Y/ԁ`uTT*dCa *.zZ @`Ր,RIQE .A49˲XŁ9!uZcYm 9:BPa(J%U6Nx " (Ľj ,,B l V;4M HP^I&W|Ud:VЫޫG^W4DK*C"brN`EL $} 5݅O氫w?>-Z:h+(j;=TGS~[F$ Z eoЉ ZofWf6@`YYUeYDm61DZT 3=&L'&öDJ^U>s_P1V-ъwK[(9V)L6MT+V u_Γj *jPj+4x?:P)rfɈ~DE!m z=k`!T}l߇+{:Rs]-r@䮹FxXsPUZEXYd+0X|@d5e9+U&AWL `CQ3VyP0V^iU#uu}שˉ bԒZJVlpQ#( 14~``P9#mB,H_ƢDW0H!p)wp",HŽ!<_vVLL>h=Un`xo=[-pcbzNf M+V [,WF 0`Z[dEPJTdRJ),L,гi!U.j$*7)Ię $ڨX>i4FJ]89aUg9Ĩ 窑$ XFZ)/;IO(*V5` @;"Mg,E3Px XC Ь(_+rg9Y"KsFx"i]^3\tG;E'ϧ{F_֞Q^ E9?TBuJB.SBTߺ+a,`^ A~G6Yu/,O !5R%F4:բUBF X5IZYNEQ:TQҢz2@6J]d ee(rm-MHRg$E=I[m 6beT䔚-d)"C;!YT^ʞ=.MI*:,.A4 tZ鄈 c>%@l|1ܙQ&V, EI&BYX5*PZqRC!mM_4m4lP K dT4,Pa h#ZqP]I*ae#SLd$FإHm!z l%XtT$ڔJ{U*UVk)fՌW~[mUed$*=EbӂzHdim9#6W;> -}\H˵V9kQ$=)ME5iee'} :!^tb<8a3i%8;1+j kMkj61)ְTZV#4d5mtjRu.iPH#a ]eZȸ$)NqX@fږL"0kTFgT@<#ObG+B W:p8ͣ:7y~o;Jwz[X\cb%ժ KEX~i`sM%#TGEnZj= .j!H ]`$Ke1Wq&qPJ$^IXU">,Q^:(mO%)#PXczҩR4Ud)ĺ@TUժ̑KRRnB˨ ;cY@@ #cjzRTAt^ ^fb'Kt>)."xឹy1Ғkel*^F=Z0+[>S˥:f KCUi,v9Ζ\r:B- P 23{&g1UY,Pc F aբhFhUcS,RG)Ң*@1 0^c)iBj!2a`/hh il"#P5d2%a5CieRѕHO,t #~t6OggS@ѮQ7wX*&33C>9@%-@DA>;<2222D; PС!j)15@+ ;lSmʁҤT4931ܛ漅8ujQ ^* Y(ZhESKV(j !abcR^M fJ6{ *P{8j蓳ѽ4MuDnU5Cw YMdYCͲ3wkD.ԒZ1VmhvC=D7MEoUEF![zTOt8^W(ȠY]fNkmB٩N%Z:ȳz+3JMB(n"[v Xs/9`l<D_;\̤fԔ7bEh $$]l4<6;īgZY=ˋ$xoi} mr5j\9cfZf uj}\3/{_;EAǕmzJʮN|kI3ADvOdzqU.@-P()7OwR ЖjU)Je 2DES<&-D{1 = ]sΆ\9Lؓhr3Ehh|85KsL,|ޓeZM8%S˩IY7G{9z˭Mr'S3;Vò1c{gwHkf19(7^nwbz^t4 .~_٪ב%0"2x;t(y #e$p]|!#2XZ2Ō\O8+$ .+ !vm""0 @hJBaL W>\3 \ ^pyA\'.% EyU˲etV#\Z)[JQ/ʱEXW;Ĝ7 Yuʣ zXݬf6,$PMRֵyY`tg ~a]meQMWwj(ngmyc:~fr+8`(,J`&XHJ5K;fXT!6ƧO~WUeZUJv VWN[MS&L4TL]N]4@VKjN\41*DzX*kl0Xj9`˖)1TQLI[RD32VԵ]*6]jD_kZ@e/>JDa5$NZ )m!Z b֌RrF[D2/fzTe0(WoKreqjiTe]3OB&4Qio+~=WWR,a(I&h ƐQp@9*J(/H,˲,W.V.@PF >d\"״x* 3$*JHH(ZjnS\Fm.6Kt]! jA<šUY{@+@@ >[ǚ%՜FGҦUJ(^%1~f,A7LY"vbŪ `TV31a5Al'eTgS˜&J۫=эTAK-d YN01w =%d(Y'B90ػG&g^@lkN$HXfS-# ^^,ihֵɫTqe2}vb.O#ّRP{b#a`gjUUQTURv Q`ϧ`t$d<fΘˊ!#dU@RDkUSMVR!w !$0ӁiKKdBZ #ZIH( 2$ +€B'JK lҊ#5!B)1%}ݔ¶JJǮ_רI!dU]=G_-\ѷx|$FEw*Nvr-j=.55Q.yf0( f?`u!C%~c1_]x|Po81슱Z cnݓNնMSQN[Fnl ?%a7v-be@Z\N:F,"zAtݗr v')J=\Hc3o{8=KhV nܝr*͜1zEn';QF:k:Y3dJP @3q\8yQE9Eeru Jx v dl[2R"!ubA7(Qu8XllA.;mxxh䊘A. ~Y|̇kGO;]w [@9lDnahd`I6' /j]FKT赙\3qf{3@;h\KB˴}ָwzmjqV̄y.ܻ갟Uo'>R?{"3ŴW/v(V3_gҦ[PwYm%ײ8Xa͖J KhCP!pH i䬛Tu_t,dfrŪ`i o_rdxFFC̘anlْe%JZդ=_Y`b@0o#<4Ipzٝ$LzdUGhmc:w9-ЂHЧD|\}DQ^DӔWmD$;$襋,E܅b@Ҟ=bgMD՚\&r'n9`ӥ7\M@J@n)]<ٰ/zyϝҎz{ˀZZTz \S/A&Sd`EuȟbS:9YmudV- $.:0|_ȑ= !rI,xI (فS#W> U%B բr趫)*c\kT)|iV`K](aJ,&#PASY4"0A$*7ՐrH@  Flg e2"l>@t/CBM@i8WzUz,+It J[hm4մoi0IIr|2#Q_*WUR0*x1B`A(J5馥 k'` ,ԍVxћzZbg&R%bŁ E)97D6)Maߪ'IU?)tSq1^Ji7X~\Y0e| &MIݨ@1=qkq8;fwq2tkHeppY\]7*vyEl3KY[V^^n"UUH*SA UMSPע"FTc4u1\Z_QVU4qőwd,  IQ4t*iۣѦӤAI@uV(RTm3.4 yd27@9v#{f.[e\keO WUR`r`&(CuУ(Ww*~,"؍+%cfbj.y{; S-(LӜhJR d)RtV5trɆ ʞݎV5m9M*J'?IǼRJjz%jStgM!gUZ윷a s4[0cFPDUҩg'_?9o &rӧN\6J@E͑KF̝ i+CjTFFJe`,8kXc1GnVa8d܂{!vUe%^\Kb"s J, ݀qHJGE5 X@Zo \08˝NIt޴6aBǎ3hǐ ‚A[aAqC[s$ bP3HCEzCEEQB;x:$2=y`*&( QA 9&7B"+k#+̉R{GɈ":VfY$M$efui$8Zrw'؛QQ,x%$\{jA 年5 ;N;{ia ,g0 R'DL$Xi-9;=2`lT NV̑~Gn&n =Tӭڠ:@`A@;Q ,&u  LGOL2'7]@B?t1T.H* >)Iʠ(:گD0SMC%Ր*JzEOggSѮQ7y5/72646DJ(214C@@24F@A3A@.0716CDE?5A??$G GQ߬ )¸c^-c)kZE;{,.UҾj54GQkE1&%'Sf-[ ],sɡY*,MMӊ{_W#RH!acQRq B E6-"ęvCǢF-J;MƱ&,ELS{ q;ʰ3q#gbjWU닳- L(4Uq D\ $C]"3uZy,ntwڙvi$cU(RYPZiQi:Ui+mS,O&_h&/} PlQ*u~z:Z[AZMSo,nJaB"[-Zj-9H>b9TJa@k׉Oe&2ڐe%3*c_nbwoo7Nm.,Nѿ?+ Þ vZ7iڇwN[SǔSAgţ:1NoMc,i"DlLk#Kdʙ7U]U##L,)X0]aN*^46IBPu#VZ%IW2Q魉[UǕ 7bm#MҪqsz8c ^S=H|gzVƶ;Z*M4~ Ō+'~`rٙ*U $HWZTWkF+&:Pzh2Iezvma}i͖'ub hzSwf9I81]Iw<0N%z)qr*x; ː ϤQJIO tsYZ\KU\.j~.I4M*I[ruqt6S^.!tCe@{gfr7Os-t!*t$k)JFP˶Ri)4 Ԓ333*. CCnӰHT-%Z[LfNlޖMgw:Vu R[k(IAΰt-c-mMq *;-'HT`ztٷSdk{4Hjȑf:X](w?tH)YmY K,Fb!##B'z4qE -GO^w|j4-WY z^976* T@9Ј,nTʊ(T@S.|JT3+JQTb 9@DD>4MKV fXWKձ"q-gTq8 Q(TXr׈ȱn)4q9_@2d\٧wKkz98 GF WȬ\s Eh,TjRmRd/V^.m\9]tޯJ*~sϺaX :S:0/BQҶ##ҧ*ʕ%`hJH]DO}?O]1SEF@b8jrx1r!J;p~#1bɻu,j\: T+*RY,t 12ܓ|9:i\mrˁb}SwpJjM'%iRM MEF7Sâ8LN2+A 2*bV.\,w4c^!ɵX#sdڬ, X"źRĂ@a(bd)%ZXH!0I/QϲEJx2`BI"HZU[T,,6<]k;xDjUaG8Zݾ1MhV9n#tzd22rH\_uRtz%HX!^Ig8VaJYuRdirٛb,VrcňŊZO;8uE]g ԗK[}mRDReijLw@`*Mc۽IhM׏SH5My!5(H7nz˝w!Ot;O2N+3h-e҇^Y!d1)/OYO#W¾C>"- TkdYz-h,yB nۡEiLa㓨)F \[&$Y!ɑ R+۴:Y~ɜR6dfUDctQ+ @pU% _+E zТDHULYtVYH7U%@!$`SzqaT=(;~]ZVR4Ylt ؍0nкDFƾ;஬f-TYtTeb#:U$Йp;Bg\Z8^+WW4 TUu[Km,HDh \Y FV @/ SRGeHJÀUA^MpHGZ-&+նTi&=ћ \cj*kLMXI :YƆ̽hش{Q;ҦgG\#oB#AZtaFdsah E '#}`du]#RtH PDꑴ rX)]gEteX vF3LI 2#ULbD E )C#rlePt@ PqF_^N>8X[B66r<ʡ |iݗf@ I @M YzqU;k)xkm5zx?wtG |e ʀ0s̔&Yjϥ} 1Z_UmZ"Et OggSѮQ7zxO%%1.0-?@07?C1&(66:IC# \nO }=?>njVRY3dqcMHN55ya*ۂj89XXȥPlM\9 eՖjTU\UW ˭EP4.;%hpAzәQ0V1zSj,%AlPwD1H"YvUC%s/ԷhXiFVB@L}/LfɨDЄ=40c@3Ca3@7J ,cc9P/l 8Wz;+]+9Pj2Tc+XM֦@ /y't^Tfdn+oiI XB!N\vʥ TH5p !)ϲR!r(i*V9gPɮChvbm4̴Ta#ɌTV]WJ ny]v+kEetg,jH#BV#qԄP (C۸C@4U`L cP;|eP*րd@NX6^R~yO"Bd,k–Ĵj23VZ%SSn;)*nuJGnޑiG+pa~|Lu](N\a[s kG(g2kbR)V[_ 9|WZdh-WÍB𳟾9rVw uPj|d>c^Lcݳ?/Vh.X,~@nIUn" qT &S515#2F($6^lΪRgE=$TS=9ӓ)1i8YmL֣tڤ-OCSh:UU=KG*yda9b\Ƈ-sH`UW5tz?o=:M7jƪVtծ{p [lL.ݍ0Z Z}T*!$:T41ڞb8+\cla2$FK *@@2ZdF&4n@eU :h*TYkkq4(8NQBI+H~mkU׋eU-Mp]\a,6j3JS+Ju.?/._vhXeWؠRPjF]/$ wþ ^`ZMGFQd(}eGtUŁc-mF~°ImY)[$iIU{'zF;нdr.qQ$/'(uSlb/TuN&V IR:J],uBug3q @HbwO#rRV$UU[#]c^G5'g fɚs'vF AD1MAVҴRURZQ>m#XCN#ɸ SNiGfROŊN`H)җףoe_JN9XXzo:ٗh#sY3] C%ezExYCVuo3g6,} L%IZE@wHѰ$P(hϸ< \FɧdW$Y6Ȏq=>pCibĴ Z`q.~j{;[Ղh ˝csyiY\SCUezyyB0iSմiV 4WJĊ Eإ(H3Kf\'d *XI9 ؘTurėb>rjk w&I˴˳XPmsJ[ hB2ոMMH9='69D+FCrI*W;EզQG'"irCT*nzTnVE1b2 "(tKmUJIKBd,mf-6 aA X&1-A9 9 E]rvvO36 $*ڦ4GzjjRr@^N91/ȯִnX+IDYL_YQWӍTaTaMH?D*J"U:rFBƁr[YEo*deUBd I}v];,pґYiRD9"S\J)d4%TP[/ ׸g,~Z@zjzJ5ՔN顺MT_p0}AЃki Sbi\h,&EUY=]M#@[2&'àӳ Z vu" 0_ +Y&̨X,rδ@VeΗ+bcP&GT RFsugu^tzjE-^OJ̶W=" c (I.tBHx-V@ABrH,ϑqQTB=nƌךf_ 8giNsfdE.! 8a$T!7NvC h})UVco:*f:hjT."}+4鸜 > lq-m<m '0<c eÅ ɭ`C,X4%f*' ʱC*&p9&,[# k%91M2]}sYU9 40J*Z{jE֐MAt֚JFL¢4&F }j?]T\.ITiLH_N# d0(V]y~ŋ9'sDw%-IFuAs'䁝݇X~e&9|)XE$`^ 5Fd \`Lj6`-잙IM1 \0*(Ĭ . k5յZ")4fݥڞ *"@L,a6x B%YÀgb&Mdˤ iɒ]뎨 ,_.Zd SC++D<_#[z, .lPa晜'cEܱAvأZ盛'\-oT&W}!Y_\mlYzDxmv[uy#VgLWVdzjC(9kd*9Ez\Zۂ0ڝ4Q=+n^*mTcyha[壑 (THEOhS*:2ih/h96.jT .ꭦ1@k^T{*KV]z?F:mSMѦXmlj|e}tgKg )OEYDAlt@zb2XoqڞP=ҴJA\a2g9 ψ1 sHv5\PRISIqj[Ucڢ 'kݔ /0\s&G v[̞d0@,LQ3,Vǚ5IfT0R) DchL1f ;EPPrj>Z_Yh*YYrGԲU0BPZɴyImr Y=Y51 7ȋ2g^%P*JERyq @.RQ WaV4n.g'TJtoZ%ܮA$x BzNݪDAZh4;_4.0eǁ\`L`{2YY*YP1Iu 58wD##0&N^Ъ:U( %A21BUe}UZRUHE*ܔL).|zKHBD@[da0)- WGl@W0=r=k~S?lMz`}~If &1W!<꜃I.1z_MlnjT%<>.^VF2zt}fbYVUzbW; u+AFa4ڦgۣmuЦU1|Gݕ"imD`ˠ1MQJJT,*')2 @%WD ,^"H aY&CR=\M$X$2eD(Ir|Y3Fل?z w1!X.Q/{eBw*a1"$ WQ>Q S5 h)Ś #lfb"fq0iEDI*MLU55KIG[6-j1 `1ةI',!A6פB`ւ X12Y4URP XȬI5(LRdCL x议SPRJ8_¯{]v@Y7D:Xi$&$j*_ +mx䮄P!2}-V da;WN5#\ඪ"yBL{ ^:LP7>`TD=UZ5.ѭV 4S li+z;{`NJ `AXlPؑ@IjpRNuTe{yy5nPM ͽ~ P~ށ,T]sM_{]RLsB @63eJvj8ZQ֌2x1ކSb= 7^` emTd2'3(eb`jEôX&؀HQɍ4=TR2i.Oo\8$ ,jpI Gt"PHfPd@ %&4r*F@3)C ?nFσT9rt;ޱ831nAC%&t:3ۧ0vÕ+M4hsաwWI*M'- j* 6ˍV:Tc>~:˨iTL`L paM\ {$ 6E1(Fc!Pg7=y.As2])WJ ܪoVy[<<S̵H~H "MSA{feB"./OƌTzFhT*m5deN N~\$ T*,KrZrnS*׻ z"TYo UUKպn "FK!ցt̥-ѓe Def&o*Jޞ bIu_ `Uy! L*?S+!o.t+\a^0e/~TS I)`QU% t`{ډCi,M1*"IS @Va0m6-s77n֩&˴<<O i ),jH61E RA~K"#AѶ4]&vԛ.zE?@ʓThgLWTi:=zVpH3'gALQ²+UծebPYT /D3p h_kBcY٣gjwR_ !jmtblockattack-game-2.5.0/Game/data/puzzles/000077500000000000000000000000001347224572500202205ustar00rootroot00000000000000blockattack-game-2.5.0/Game/data/puzzles/copy000077500000000000000000000130341347224572500211210ustar00rootroot0000000000000026 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 1 1 -1 -1 -1 1 0 0 -1 0 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 -1 4 -1 -1 -1 3 4 2 -1 -1 -1 3 0 0 -1 -1 -1 0 2 2 -1 -1 -1 3 0 0 4 -1 2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 1 -1 -1 -1 -1 0 1 -1 -1 -1 -1 1 0 -1 -1 -1 -1 1 0 -1 -1 -1 -1 0 1 -1 -1 2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 1 -1 -1 -1 -1 -1 2 -1 -1 -1 -1 -1 2 -1 -1 0 -1 1 1 -1 -1 0 -1 0 2 -1 -1 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 1 -1 -1 -1 -1 -1 0 -1 -1 -1 -1 -1 0 -1 -1 -1 -1 -1 1 -1 -1 -1 -1 -1 0 1 1 -1 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 1 -1 -1 -1 -1 -1 0 1 -1 -1 -1 -1 1 0 0 -1 -1 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 4 4 -1 -1 -1 2 2 4 2 -1 2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 1 0 -1 -1 -1 -1 1 0 1 0 1 -1 -1 5 -1 -1 -1 5 5 3 -1 -1 -1 3 3 2 -1 -1 -1 2 2 0 -1 -1 -1 0 0 1 -1 -1 -1 1 1 5 -1 -1 -1 5 5 4 -1 -1 -1 4 4 3 -1 -1 -1 3 3 2 -1 -1 -1 2 2 0 -1 -1 -1 0 0 1 0 -1 -1 1 1 0 0 -1 -1 2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 -1 -1 -1 -1 -1 1 -1 -1 -1 -1 -1 1 -1 -1 -1 -1 -1 0 1 1 -1 -1 -1 0 1 0 -1 2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 1 3 -1 -1 -1 -1 3 1 -1 -1 1 -1 1 3 -1 3 3 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 2 -1 -1 -1 -1 -1 0 1 -1 -1 -1 1 1 0 -1 -1 1 2 2 0 1 2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 -1 -1 -1 -1 -1 1 -1 -1 -1 -1 -1 5 0 0 -1 -1 -1 0 1 1 -1 -1 -1 4 5 5 -1 -1 -1 3 4 4 -1 -1 -1 2 3 3 -1 -1 -1 0 2 2 -1 -1 -1 1 0 0 -1 -1 0 0 1 1 2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 5 -1 -1 -1 -1 -1 2 -1 -1 -1 -1 -1 5 -1 -1 -1 -1 -1 5 -1 -1 -1 -1 -1 2 -1 -1 -1 -1 2 5 -1 -1 -1 -1 2 5 2 2 3 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 1 -1 -1 -1 -1 1 0 1 0 -1 2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 -1 -1 -1 -1 -1 0 -1 -1 -1 -1 1 3 -1 -1 -1 -1 0 0 -1 -1 -1 -1 3 1 -1 -1 -1 1 3 1 -1 -1 2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 -1 -1 -1 -1 3 0 -1 -1 -1 3 3 1 -1 -1 -1 1 1 0 -1 -1 2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 2 2 -1 -1 -1 -1 1 0 0 -1 -1 -1 1 2 1 0 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 1 2 -1 -1 -1 3 4 5 -1 -1 -1 5 5 3 -1 -1 -1 3 4 2 -1 -1 -1 3 0 0 4 1 -1 1 4 1 1 0 -1 2 2 0 4 0 -1 2 2 3 4 3 -1 0 0 1 1 0 -1 3 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 2 -1 -1 -1 -1 -1 2 0 -1 -1 -1 -1 1 1 2 -1 -1 -1 0 1 0 -1 2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 2 -1 -1 -1 -1 -1 0 -1 -1 -1 -1 -1 0 -1 -1 -1 -1 -1 1 -1 -1 -1 -1 -1 1 -1 -1 -1 -1 -1 0 -1 -1 -1 -1 -1 1 -1 -1 -1 -1 -1 0 -1 -1 -1 2 2 0 2 2 3 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 3 3 -1 -1 -1 2 0 3 -1 -1 -1 2 1 2 -1 -1 1 1 0 0 -1 5 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 2 2 1 1 2 2 0 3 4 5 3 0 0 4 3 3 5 0 1 4 1 1 5 1 0 2 3 3 2 0 3 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 2 -1 2 -1 2 -1 0 -1 3 -1 0 -1 1 -1 3 -1 1 -1 0 -1 4 -1 0 -1 1 -1 4 -1 4 -1 0 2 3 2 0 -1 3 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 2 -1 -1 -1 -1 -1 3 -1 -1 -1 -1 3 1 -1 -1 -1 -1 0 0 -1 -1 -1 -1 1 2 3 -1 -1 -1 0 1 2 -1 -1 3 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 -1 1 1 0 1 1 0 0 2 2 0 2 1 blockattack-game-2.5.0/Game/data/puzzles/puzzle.levels000077500000000000000000000132731347224572500227760ustar00rootroot0000000000000027 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 1 1 -1 -1 -1 1 0 0 -1 0 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 -1 4 -1 -1 -1 3 4 2 -1 -1 -1 3 0 0 -1 -1 -1 0 2 2 -1 -1 -1 3 0 0 4 -1 2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 1 -1 -1 -1 -1 0 1 -1 -1 -1 -1 1 0 -1 -1 -1 -1 1 0 -1 -1 -1 -1 0 1 -1 -1 2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 1 -1 -1 -1 -1 -1 2 -1 -1 -1 -1 -1 2 -1 -1 0 -1 1 1 -1 -1 0 -1 0 2 -1 -1 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 1 -1 -1 -1 -1 -1 0 -1 -1 -1 -1 -1 0 -1 -1 -1 -1 -1 1 -1 -1 -1 -1 -1 0 1 1 -1 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 1 -1 -1 -1 -1 -1 0 1 -1 -1 -1 -1 1 0 0 -1 -1 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 4 4 -1 -1 -1 2 2 4 2 -1 2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 1 0 -1 -1 -1 -1 1 0 1 0 1 -1 -1 5 -1 -1 -1 5 5 3 -1 -1 -1 3 3 2 -1 -1 -1 2 2 0 -1 -1 -1 0 0 1 -1 -1 -1 1 1 5 -1 -1 -1 5 5 4 -1 -1 -1 4 4 3 -1 -1 -1 3 3 2 -1 -1 -1 2 2 0 -1 -1 -1 0 0 1 0 -1 -1 1 1 0 0 -1 -1 2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 -1 -1 -1 -1 -1 1 -1 -1 -1 -1 -1 1 -1 -1 -1 -1 -1 0 1 1 -1 -1 -1 0 1 0 -1 2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 1 3 -1 -1 -1 -1 3 1 -1 -1 1 -1 1 3 -1 3 3 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 2 -1 -1 -1 -1 -1 0 1 -1 -1 -1 1 1 0 -1 -1 1 2 2 0 1 2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 -1 -1 -1 -1 -1 1 -1 -1 -1 -1 -1 5 0 0 -1 -1 -1 0 1 1 -1 -1 -1 4 5 5 -1 -1 -1 3 4 4 -1 -1 -1 2 3 3 -1 -1 -1 0 2 2 -1 -1 -1 1 0 0 -1 -1 0 0 1 1 2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 5 -1 -1 -1 -1 -1 2 -1 -1 -1 -1 -1 5 -1 -1 -1 -1 -1 5 -1 -1 -1 -1 -1 2 -1 -1 -1 -1 2 5 -1 -1 -1 -1 2 5 2 2 3 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 1 -1 -1 -1 -1 1 0 1 0 -1 2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 -1 -1 -1 -1 -1 0 -1 -1 -1 -1 1 3 -1 -1 -1 -1 0 0 -1 -1 -1 -1 3 1 -1 -1 -1 1 3 1 -1 -1 2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 -1 -1 -1 -1 3 0 -1 -1 -1 3 3 1 -1 -1 -1 1 1 0 -1 -1 2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 2 2 -1 -1 -1 -1 1 0 0 -1 -1 -1 1 2 1 0 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 1 2 -1 -1 -1 3 4 5 -1 -1 -1 5 5 3 -1 -1 -1 3 4 2 -1 -1 -1 3 0 0 4 1 -1 1 4 1 1 0 -1 2 2 0 4 0 -1 2 2 3 4 3 -1 0 0 1 1 0 -1 3 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 2 -1 -1 -1 -1 -1 2 0 -1 -1 -1 -1 1 1 2 -1 -1 -1 0 1 0 -1 2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 2 -1 -1 -1 -1 -1 0 -1 -1 -1 -1 -1 0 -1 -1 -1 -1 -1 1 -1 -1 -1 -1 -1 1 -1 -1 -1 -1 -1 0 -1 -1 -1 -1 -1 1 -1 -1 -1 -1 -1 0 -1 -1 -1 2 2 0 2 2 3 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 3 3 -1 -1 -1 2 0 3 -1 -1 -1 2 1 2 -1 -1 1 1 0 0 -1 5 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 2 2 1 1 2 2 0 3 4 5 3 0 0 4 3 3 5 0 1 4 1 1 5 1 0 2 3 3 2 0 3 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 2 -1 2 -1 2 -1 0 -1 3 -1 0 -1 1 -1 3 -1 1 -1 0 -1 4 -1 0 -1 1 -1 4 -1 4 -1 0 2 3 2 0 -1 3 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 2 -1 -1 -1 -1 -1 3 -1 -1 -1 -1 3 1 -1 -1 -1 -1 0 0 -1 -1 -1 -1 1 2 3 -1 -1 -1 0 1 2 -1 -1 3 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 -1 1 1 0 1 1 0 0 2 2 0 2 1 1 0 2 4 3 1 5 0 2 4 3 1 5 3 5 1 2 0 4 3 5 1 2 0 4 2 4 0 5 3 1 1 1 2 1 2 2 2 4 0 5 3 1 2 4 0 5 3 1 3 5 1 2 0 4 3 5 1 2 0 4 0 2 4 3 1 5 0 2 4 3 1 5 blockattack-game-2.5.0/Game/data/puzzles/testPuzzles000066400000000000000000000026041347224572500225210ustar00rootroot000000000000007 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 0 3 4 0 0 0 0 3 4 0 0 3 3 4 3 4 4 0 0 3 4 0 0 0 0 3 4 0 0 2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 3 -1 -1 -1 -1 -1 0 -1 -1 -1 2 0 1 -1 -1 -1 3 3 0 -1 -1 -1 2 1 3 -1 -1 -1 2 3 1 -1 -1 2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 4 0 -1 -1 -1 -1 0 4 3 3 -1 -1 4 0 4 4 -1 -1 0 4 3 3 -1 -1 0 4 3 3 2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 5 -1 -1 -1 -1 -1 5 -1 -1 -1 -1 5 3 -1 -1 -1 -1 4 4 -1 -1 -1 -1 3 3 4 -1 3 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 2 -1 -1 -1 -1 -1 3 -1 -1 -1 -1 -1 2 0 2 -1 -1 -1 2 3 3 -1 -1 -1 0 1 0 -1 -1 -1 0 2 2 -1 -1 -1 3 1 1 -1 -1 -1 3 0 0 -1 -1 3 0 3 3 -1 -1 3 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 1 -1 -1 -1 -1 -1 1 4 -1 -1 -1 -1 3 3 1 -1 -1 -1 3 4 4 -1 -1 2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 3 -1 -1 -1 -1 -1 1 -1 -1 -1 -1 1 1 -1 -1 -1 -1 4 4 -1 -1 -1 4 0 0 -1 -1 -1 0 3 3 -1 -1 blockattack-game-2.5.0/Game/data/sounds/000077500000000000000000000000001347224572500200175ustar00rootroot00000000000000blockattack-game-2.5.0/Game/data/sounds/applause.ogg000066400000000000000000004111351347224572500223340ustar00rootroot00000000000000OggS8 wvorbisOggS8=vorbis-Xiph.Org libVorbis I 20101101 (Schaufenugget)vorbis%BCV@$s*FsBPBkBL2L[%s!B[(АU@AxA!%=X'=!9xiA!B!B!E9h'A08 8E9X'A B9!$5HP9,(05(0ԃ BI5gAxiA!$AHAFAX9A*9 4d((  @Qqɑɱ  YHHH$Y%Y%Y扪,˲,˲,2 HPQ Eq Yd8Xh爎4CSR,1\wD3$ R1s9R9sBT1ƜsB!1sB!RJƜsB!RsB!J)sB!B)B!J(B!BB!RB(!R!B)%R !RBRJ)BRJ)J %R))J!RJJ)TJ J)%RJ!J)8A'Ua BCVdR)-E"KFsPZr RͩR $1T2B BuL)-BrKsA3stG DfDBpxP S@bB.TX\]\@.!!A,pox N)*u \adhlptx||$%@DD4s !"#$ OggS385VX51 '-756/,/,0/,:==<>8--.97@-/-0=A<X h!4V+fy]kX8|;~||1͌*Ԕ|-|À1<Λ.;^ 4ޮ2ʤUsf$Af.2ۖvs97 D)4uk=|9 :fo`s`쁳Ϸu}6rs``]pXN#AVa&ǜIe335`SuB珃u\(rP@GԔ|-QԘ<@Pe:bT1UB@rqq4$~5t;龻:?)ۤsv7}w6>̥i0f;8>}clQu⇏?NNp6 3/6@}Iin=af{Vsx Ɲ Cn٥i k!MfcN"ԻG.F{> dSM}p 0{"AkYC (LBP8Bђ)笪I{NNNS}Nibfj1M}~W7gyy&S78 |frٰ8{=?- L0q3g9v{p?{:loli|?J&9i"&2!ZéHB-B}`pNtgף=v7̊"C^*:8Clg@MIײÀ5ŹGGϧJMr*4osb8,]8֗i7W37y7sms033O3L{Áp`:vqwԧ?:֏:7a >pWEA2G>&jv9|Z}X4Vm݇슽fL)fǠu&-{ë>0@$~> 5ŲǢ hd^BQD'UWGfX*rZz.v;w_;xkH[ߘϧ?ɹٙvϜ_g3л{򫣱=p ލ|wI|93ˑ!?FH_W״U5C׫BFkM4e7"ыYINtn`}&R#}~o^R1 [:6*14 5%3?虙8TUӱZ?wJ֪KOz)ܽx2ڗ>~veM_厝ad 7|Ƨl'|>T_WjfhNBb7|U;E;9fM&Wٻydm_pmzۄchaW,b~b#=Cu3Л: @Bc: }qQk5esNU!%~(-Sv8vD3,*jJ̻7eP$35"?z/kNj&74TUcoX:Z X{7WKRaP ֔s;X\r?e`&{1y;?cncC0p|wTݻ7#AO^_nwn >6&vѓ|S?'3_u?99IН3ݬW5cY\$ UJvj \juℸ1=%PEd~כҁPV8! p4TJXG> Ó`:Pk{ӋilFJTg?w;i>nse= =Vvfl۾24P>Iqi/{U9y{+4_~ LE/g2Lwzm CRh=⠖\tsT-uD7RA\*nŎʴ^ʙS(>#"BKXYf9Uk[fi̴Y8Mʹ'I!@j}Q5sȻ~XSrE_9/̘ѷ28zY8ô96pʹ_GuWؚ1НA 3~ޞtYPY|}˯RYQWUծoV KkCmL=X=26=j?oSʽ8uV{/V$Lm73Ӧ_lŒ:Wz[4kjGG _JٕTtɊcO_\[>C%\VY lTSqT*ݤ'!}#[+HCK}{YjHTVU5W]VIU^/@#UƖwc@mw˪t%m<i5Y%8ӣŀ+FT46b)ߵ\ռ_=eV+6@+uܽ>6|Fe6FYmjfl_P!TbdY*F!+)}Sc~Щu 74#T7ij?v_ߝȖ][Y{ ̦px~%2FUegcXy7𒮕coO%icB2ܯ{zhIT[sYD/c_R J/$ө,֥d v~zGv@ۓE鈍v.HO$֝<TZq<'}C|_a8baGTFY ,J~9S?4cSr;* O7us$m{߆=<=ZgWQOUEJ ݓ/_4MoHDlqy~vחu*JzU!:=LX/%"p:bKN %MQM^%AkĮ;/ ZA`Y~w;}-ːjdh:/R={^.Lyғ$UQDQP,2vbg!=Nt)vPg-Ҩ_BϹgN譪TU:, $u$^6Eenq{E;wyb&TvRRIOggS]8'<=0230.C@!#>FBCC>A??>;>/-96C>>A;10:<419B?=1.@ܵx۳ecJ\M5R=}4qڕ1Gwpu]/D #zSiFi2 GS4 YuLYBٹMS6xeJĵD:QשnFE83t%~"RG:)7qs%(O*m؆ ϑS*ǛsRu2:V*r+!_=z Q1sӮ~qq<'dizvi1mGwC#HPTcDf22IC{g7錧a`]׽h{J'WEToWaϱPvt(vhe}N%S맇sy2Go.3G&4TsTR mkLz1X-E72tN |]ǶvtEe@+rgfvMUUΖݙnõo󛕦so]_N {d X-;L%:."@xӠ%:33$P@ >^o+DbįrkҚAI7;x*K:թ UĊP^w"ѻˎj¹z8eL {*-ү6طjLTqo $a.ĎҎҎK f%'IPE1֧GYપHgS{ӯdϏ82Wz׋6[\ݶ8ɘ|㿱طKKupZRey"[2Yj [jYJ^4)'ȜI? Ne{aAc6ԩ^:$XM$IKPeyEMцTR)D*Q4gjXY~Ywd3١hkqO`H ;o".=!dxfkW/~՛?:Qw7x\둏EXM?HTZ 9&$4 z~02._W_n2-ڪMlmaORK_FrVO'#B70֌ڕ;__;{QFdVy* ̯Uy emo׍HdOzt\ƭ=j?}y}}IGeOKQ+$<>M/)h^X_N?/ۥ_R8vU*˦־۱J2P+lvv޺+dTVji~{XPrۃaUiJeō4bPKĮYz$I8w6mr⑕'̳3*dEi**Ts*QBpSOn2n^'|r,^\aHfJ .yjR\Q/d Sj[ʶ}o<=$ Z̯>2eyUO_S5VtKRq ^$SS:h` m /_kzۛ?[V#~J_)٪W+܏cCpW{I:kmXZfRt6eYmnTSԉ8$Wߐ"cEÉ 5:`z>ۇo-g弸ja#RFpyѬr!F0`q^nI lQi;ہk0;K/0"nL5\fT7xDSFۓi拆n$ӺHV3 fn1zKB+]k .)JmhNa/.멼]Ty{zٞ翔,{;׿+O6wl<])&W47d-O03aSjמ\!xZI,0nk m !aLMEӬuI"Ջc/߲a9LN ֬{M VEtJ'~+XHUovtTM>Y`lm__ݓdejjqx5߯ي U J4s?K,+vՕ>@lF.EsDJzSb5pGNBKg-KMEQK#JRbf}Yެ׾*u\-Ҕ/yK} )`:֍Eop^Cpm+;hvB㪚E;mg~{&)%3讓_gq=Ev>HVGIIū^پTHb8Mgk=cOTZ_1ōqvJxCs̐ ofgѯǹ8gS"+j5 ©fa :!'I C{9ly鯵KlDB»*43!ϩ&rz C3^B{sa)Ez϶{UmI깪MjPV$"Ke!Ձaz}Aa6)>s-see%-/Tsմz"ҖҶ@)c 9]V՚|wӟWck*-,媪*9ٟ4w6guk Mfo:ی/ 0c7ݫ9EPG02P-Br̜@*3M3%Ĩ +2Y95$+LVHzbjs<-3xыGyZERJ"DžX+?7ᾗ.c,18?S<[B( I$7b_@[C')&̍c;PA{պ_}m"Sg\,/˶VDUVG 4I]'L~Ӈo W-;OX1~MrK5cj\,9[# Y8LmM@å0|A@Q)-FAJ4;U~5cWZoNU.Uk!|gʯvcce枙Yi65T5{j$ߩ;cVgV}]"RVY&3[].WuSiT^MYg~ E֩e2$x6 fe=׿>vYŅkpn;3cFaH 3ʑdؿW|e|x8TUUġreG&텪P߬-DκTOAk&[֨e`G2NTd;qSDD t9 \όlNN]T"?A 2A(GJe꘥Z27MuW3<˩/g`j<+)ww G$OHZ+ :&ɬ̝{' kkeu)T Z[uZi}SqvL0͞SmʩAqdqsjtVϝF~Ծ[L!1" n IU8R<թc3s.}*)Y*v2É"aӮ1O(guLS1Kbs 8wJޮ~}ﳮꌇ3*WA8DU}lYz˧ .7j;Ɠ:]UCJ6h?-g` 9A׋{Dd|~뵛Ef3O\iyJJ́_P}nI <_vgڵOKH֞5vnpiQOkzY ˽;- KڀŒfbMC)w>n_?SO~L9޷iyW?3B⼯ҝUUofk}nmWQVGostUڶ餭])ee%j53jWzCReU˜*~w|{4|~n&M}>)ow[ C2f;+(E˱y ~t27 pv/UiN[_U*D^ jq<8F }c8Q{]]\a'1m ˖_ʸ&]=R|ok 5Y"jKFwTÔ nVK XcAuD_AOvff$il=rS"L۸(E?~c"RSaY$z$ޮĨA6 ŲbۓCDnbr;2Y@ԾF]3]ߙ bjNhسn|UMYSVպI'Qu+Vzwg4ձpe:Dvf(bHTkr͙zUqYnlk jzb)&,HӗP@}4jT5kgcڣ~i/jUv KW1}ݻ ӱ23:99EA.A@:21,0.:7=:8/?:B./2.<89>20/1>A@=.-0EC=?>aX9oChwW?\G=jIy28|H\e$)jNg-Qehyϥ4/:5,O8T5_yS$G`9z թmXs!RʈkOW爵\㰩7mU'޿SJSu%aq :Q$kK !mPΦ039?G/Zu]T)h^REbӱPOUuMI9/v 3U\z#de4ڹ=5mU^i*zHRKRzIԯAً`:|\Hɟz4%@vd#Kjhvjʩ?sjӉwdq<1h~L/,C5Ws衭PB#U?{X͡9 Ϯ n7DO#zo/y=>tr7*Ro ՉILPۿD$ͭ8(si,^zj+{Si" \[T[YYYg~Dn{^gVEvcEc3YAl0dXpv gyi#yW:%WΥLy3Iy{N@?(Vd!LQ*{e3^2R?7Ikgfe5^/+y7(œ=T:/.mEwnUz~ cvp,Nz ARYƊ .!z7YOoBU&X%;O,!!/>\7xtY!9kM6ɩ1QGGTkat؉GM&U{2C;MuKZQG%Z͙NkOZN--OFv}D$B&N+i Ik2V (LZihtȝQz.LbvFɰvM^NlsJw~Y %m>Je5j֧N[>C)⧷?/74zi-FJVSɹ"O-J pטx~"o]=}+,{LVUUέk$yqen1Yrc^q>+mH9ϋnR{c*yrYM.gaϘv"Yp(˻&+"&:ZHpIɄ0IOCY슊_cvy1q*ߑel-HqPzd#[׉Il^7 &gtz-zmb<or};/>Ù;orNZc-#\d5(t  2F3sMU `(&R F0]Ě#c?rh.9tBEմIntвL"~J7$;64Z r`}Ev 81{dv߮|vCWə21':sѐz7P`?p0bJ7$g$̬rIgaPU{:|4w񑖾FKU-W?$XBuhk3'y5~shIubQ6 2Ji:(ttJEw%TqGvi*1ffxפUw u<2ΙsB3lVD2+9\uAJUy]Gpӊ:S$¶ڝBmq ߇CG\g&/\e#Xgv݈P|ֺƸ6 veڱ|AW^;3ΐs.WU5'zhユq5NZ?ュª8Waq[Yc_J^!u 8pTԈִG09Sy C&H/C6mŎJwp׳Ni< 윷\4S *Klx}E߷%s\̏4 `S^Q"Jz-vD;R\zM ̩ڶAuY'ߌ8nI4B!"OO"K'OGV&=ihP/zf8gTOI^';u]^kNK;s-3mWpRAeI"2O106U\D7j?1a6yOfֽv͙bfm5OHeF"@LSEyf)}NyUJC@$HT*G]j#-N3-y`헻U3S;%U#sZܱq=_lRt28>mTmqG^KG׶o#(зtzPX8*z2ZɚZOI5 $Km 4q87o+o2J:Wr]U'20k~G~P K>;g/iqb͐C;^̌,7cҰ#217sM_J"N mqFVC2~sd/Cꄇ|6XxQJ]ymJ4:ݻy4ipq:.ᖖTS%,e^"Yx6>oo0ʼ, ^[Tw۽FjBIˊDsEQY Iuھo!$Pm"gJŲuTһZ?ӹjOYKHB,v iCz%9׮O9*J¨I YHT,z RDԜܲqU-3{柸huj7bi$ځx<ΨDPvaq*e1-Qz9MY* >@?!r~UI1JY,w8zke K'x)[$!ֿOimEf%cr㢕ަ$94PUGCpX*Lo.ʱBzy|ݩӗe5Mxz/^do KU,WJ`YsyX2drwZ]`O,<ƥKmiVӘ7%TQo4]eu&Yb9#ofb==~ϞgʇB'FuX&Sc\ї׉p#s"D89fp2f]i/׵<,S禭7g%mta5};Lױ*ɢe,|dNZ&.gǕ9 $AМH=`Yr.nmzq;OwG;* ǖEd7;O';ǬAfO|TuM+ a>=40.2@;D>E;=?49A<=>B12<;;//@;A A@?C <;;:><02?@:<>?_UE-~mϯ/HUMߛTr۲쉿 Y8QKb.,L SAi>͇>sto;?hS͕yW;DNE߿8W!u_>&J:#r7Jbnlٕ.і;nJ&jhCO_k!xr{[LČ-ZAc0)x1A뚕߸D_FGS@BTRw}qg#9~}Xr+"kQ˗?L O+%siO^{eﺟZzO3L>JT~qWu9t M״{ِLN{0іxI:T|jWMVVc(JU40<'6{e(En{nb^r>[?&+It~/ __Cw~&h܈Ugq":Xߩ/,5Ǘ!>=tYgUFt ӎrQOL\ϋW?2+_/ֿiʯpID/NMY&XJ,+d(kl9'Yx|j/I2,~զZe?a}WJlawU8.'??[8m"q0?&i7xUSJU I ^u?CaA?L޾7r+ݞ}풮#TҮr& K%U51}gwQ;۹c͆zUZxIT$;xX@*ݦMTTFݽyqğȾB}J&NmǷJڪ)¸H}aLC~Nc+oshhaգןFKQO7[M-1X,P;RYiZws)UORUꪮ_RXxڇOSfٚ銈#+M壊 }zNnЩ|r^9^F¥,dﺫܳ?6U}$UX]LN1ɏb@w FD nlN{_VgwYFIZVWi37TQB{W)T(C T2ݼ8)nwc=;N߰;qF# -#Rn+"~rgnc*tsLchql4(өzDb4$ _ɱβi+84MhkV[n78,_"5X/.mw0Z|KZT=_ZkQ=yx Q)S@u1F:޵^&! Ki~60HFz_2G-GJzKjAS{ HJޟPFA5x WNVǎ݊" iܯ U );eR֩+"Eko{3,T+"W".3K'=ކ0/o"CL!hoc/1~=j~>j{̇}U^7WdW5ٻ*֔h:Ь_݌k_z3f/G5yWYb|s[^1sE廡Z ]zj̰/-w|RymJˊ4"TН+ ٖgE] hAH?^u zb/C/0旗JTYeM!gNG!;L;*hQVgosEbߞVUj5mMM9UGhN?NPR`+^buyeIS3nw 8}:0=Nf Ub=^??njc~Էb\OX'=bg_ydhQԚqda5u֚ڈ#fw1XW<ٵf3c+,8I<=',[4$dU3_*$VI.jT#:!VܿezsdG0MraKChɦW@mD~pc͎n֌պj~]wqtf$\jpݴwqGf85wze4Z .9uekǕ#ys4a8]!0KaKgYY@:dUL YD|SԞNM#qq GIRbS㲫r8cw ~ίQoD) I /^:A/=!TzJ=jp}nEJSNYe/NMI\;A/;\yRJdٙ))%c5Iո<烈 U^H/ߡ {T" QUb 9$T$]͞ܨXH;N4WWM{G-E*;эQo^Qo"v$d%Est2IZ&`X4YUJU(R(y3tT Ma̋(P2'=i 2اEh^hVs{IJ76[{fʆgW? .6EΩrdn=v6񚴞Ar\SAGWuf<R}BlX:AXY{zѻ]UGЛLuϥ,U}S~=$1KxB3q]ky;T;^"0hJÃsj;UUZ[FGq(kb9QuSET{qeguҺ7b+tRS`ݏ즕_'k(ES뱗v^U+TUBeU>:R/T)hRsŻWeHݰWeq+ߎE' zO*G?o(Q)KRt,\ʾ λ~iPm{\rUnsu{{Vu73jB9@T2|Fv[}zHzstXꕔh~ NUܡVImH֭Pyڲ>=?TV=So$ HzU41 }>+wi5;稷s̭ڧZ>Woi 佬dFңLULTPN&Esm-<9oC)KT^_[JSE"IxA {˭~_7OOIbI 4Uʢ`8 ^z=1/y}qyϷ}{=KwiIe'ڦR)yIL;$ѡV::A7OUBi_[Zc}̾jRmozUR|,&:N5Aqs1dղ%lpUP|ؕb^ _ ͩE T6%'N>+ч܊tcϖ7N kS=zȋˍf6k˅xOggS8^RB.10GC9B??C.-1CAB1@912B>=-1/.-<>@.F><.lbA%ŗj@ ͩh ewn}CKeʼ}12tVg9PUV2qTDbw"RL}o3M8QO5(g/Z ۳n WUlj0ީjYf)O{Wr=m{y^xH~}Xm]ޒ~"S2y,۩nyZLm&vPw)w5_~~1uwyi`p䲑}>SɯWՃ<#&O5H:}[XZ\N:OsՋPSEWUQtUY"#2 q^ս=b5ͯŜ|isL&їjY,UZKDEwJq>n~|r-Tw0 *+x|x|yuQd\5՜F~~z^JY%/ơ.no]"4z7<ݦI[U\UtJgԍVE J%]l)K`/@?C8ӳG={E͓_>jaIrm v{˚#UܨR`8sbj_zz.c_]WyxyۈtsUU] ]n컵ߜ~Lf:xwӻR_դ)j?Q?JUːKEߧ~Dn5~3#fǣee/o\ѱp-!dfܰ,|Z;[CWݶ-DޚN{5Qz^s,P }Owj_*bh*YPOO*CO߀C#fbO79Əɯ<>_>dz- /%t=KMos`q,("w]rxȰV/N챪,C>1Nlq(1"IYm1K]YbX&_oTڭO>z/4nD ֻƓKuvv73.[tB,MUUVrB-_w9w{k~(hRY5Vu@[Mg #1rR.A4s@g ~pd剚z3>_?wTW^2H+UX(F-`ȮfSjgHOaƺ!G [;H4s{Y Yϻ%j(wķ2P\ʛaNcH,SV܉؉;q?.bbWRaso$\Y&QV[ !)7s1!4tsOO_li1/wS{*S)-~JIy( ӱ@K߶MF᩹Qt1ɮ?{;"LնQCjꩭQjR&1krV}z5S3NE|s^y}?'Lj1Yo3Y~)tdzfz%/&7wyfS,3eׂ&5X84)ECQde#¨OM-sg^#m'{{߮Nk.YU@}7+C3dNAuZ1I6J$4D~R#1Lplw_:TWrzx]zYu=s[#->˧5AKm){{׺,rܳU/u+xҍŊ f) OH(cd&OZ'C;:syyk_KZ.+j'(*|BY!)Sӣ;kCt\ǖlޑY^1ڱh@+p4$ՔpfSIʦY!wlToiHm"_kꧧˢO a_ͫyU6\m7՜͖HZXa%Z ϱ/U`mh#Ǩ4@|k)U6fn YMN1 j%t'M};h)#ΕJU8 7D8OFu\Uwe},{p~y葳 $O pAk1 =گۓUzXui{zn>k'yYk69{ $ s5i,u;)`{νz_j󃼾ߟzVYʥ<#Ÿ,BNjضݙ>mw*aXߪ|y\U;ĵ;:F%t[uȪ)CNwHv, L-~l8=$ѓ5hmkQӚ#V@1r9HBoKn3OggS)8?B@?;>E>00:??2B:A>$3E?=410/331=;=>AC>11 --~%oR 9?y)S(ϡHQh$PY8P<(Ny_㛳t-v=,]m!-y Y&"SNKb妱.*4M҄{{'/?$H|C.3ω>)^ݰ\ik_ǂɟ CNzG-R:Ao 2ݺJ1J`4"38YFo"R0,k<_P N3I1AS"{ΈU'zg\WǪɯy%Ck?[F6Fh0,%X]g_'2b$9IA4gˆ^י$53I6bl_N#*konp|jG\4G2q{~l Z3xٵ:3hB/F֗V+Fws鄾qih߫^U2`ja{#Y 3<ٞLo%LUSew]~~$m[nyL.$QꈪqEdiɭ\; 3]j>{|qvX.c+UUt<]O( Z#" HnWMå[s,Vo9{TnZRu~U^3 $ۢٶ7OQzm^hkq}ɇ+peý@Jnt#U?:\Y:{(/ ج0y{[I{e 0MAV+)hKQwov/5+5[m:x(I4* lb5ē1t/d1WKWZ&WL߽Bz K-K/S PȎzz]cME![d^(/UⰩi_ǧKUMrZ%z{z4m^[6@5Wwo^i#qũ7GU V3nR"%l8 6sU0RM0JG~H ^<+Mo˯d{-|y]|%+ɪRUL*_m!m$01%>VyAT^MOKz>ڜݦϽvۋ}̤!?p^\t \t|y.ʻ{{k+7zfflۋ&YX۹?kriOOFgY<ν~C K]iSнIK@ +V\1L|㼮U7Ij`h?֫ i'ϛ<}1UIIZ26w; rZ9RQD :sok'vR-Ȉ Fw;.(Re?V щxRÄ XֈӯOg\Wh6Z]f#wf&IPUYGevo;T],G%j1/7&tnzd,{o_z#b{fC*WU=zi~N!R=RitSKsb͚4u˰9]uW3bp=J+6".V*T]-k1CT2!3w|n#6_.ì3I<)_8_%aX_HkEmV.Q54"XѢzBINhĸCyX8n>-Us 6́42RBi8XAwj;{EOt%n?y b%ǠyT)ŴYb%A\1q屏m̧vW^SR*2WUT>Laܺt'Bvf wwf,V`\wU*y94/Ϲ2~Neu|XSt;GDH$ٌus>USysOW%mU$?Qd@?RU2u+Qݰ_?9{hjRLB'W ѩT*S.#mO/عTwfLNΤ%cv 1sB{%y]9;;$;uTz)L\lIvOeSJځD PVw1Zu̗( x1]-~E{؂CߜC}~yZtT,-\UÆu 1:2 Àr~mEZ5gm1-qC/W k105KGC=s(^|˹#jٻ} i& Xuț[ߐFN,lk7fHC7JܡzYVkf鞻9RViO.%idxc/2/BC=:?D=?7-/2-/>=B>>@1/0/0-=D>=8;==;3//344@@?<#:z/ "|ۜ~*E*4 Ya`#[*$ u20ڮX;?vG·¨~MU TQ=ω D˺l'󨳯5lTR-.iJ$JzzJOmk4PXdWO՟ӱ 9EM_zy,~}?cdEjK*ٔ*GF~/7$Ypש%ޓDjۂk7Ξz6?߼RAP1R1b*WZ$)y:Qt{v-><,-!Qb^C+z4E/oBjyc3{\_p~=vl/vL ى GuX\?1Ec(Mʯz<ܮjvjޮRRB}*,OGUB&Hztndu=<|ܭڧߞuZSU3>~IOBœ{&S;{┽9"J'/_̗"%֣z7dtH0Bl`s6SQ&ow](ԗLsobwӖl /K{Q0m8MkYV5ruG0^YT6kG %[cuI*=j[kzJdk)Zy11"rIMëCXI~u mP}H,Dd]bݴr;!;vK ncN)rtBdwv]GdaAn /ݢ$MEuVqSǝj=AZ^x$ؾtFB؄.ա#KU1]h17Q6Bpy\Ƒ)lEz-;775īJ[s3;);;(ͼ^t:P"hRfrvc\k;uLՊNl2~!D!ӻeZ^R]b:Xp{4Mxz}7xu 䛶[x?3<_ϊ$;KfuPko?{& HЃ|'{Riղѫug0vaa,$U!j/R+3lڛ[|cӛcQ J˾~'qS2CJKiGC7[jw;~?_49.*xj$/ K|-] k`؏tsc}Sk[7_{R}:O @D&[(uC8 21b*>2u-N(n()S90Kg² Yܲ NWUK*T%D$ _ʫ9f9"l8뻕7m:ө*]GDJݍ+3bz~ =\gZ )~_LR}f$1sunal 8ڏ"ӒUE<$ٱ*$oZnڴжPz}TY5ܕSSSX%,>.D: ԩ!5x" =/ dpk-u-\ӿwhS:{'5̷_T\2֣LjYKg*ϿCdBh=o]N:e=mKaC=DAH[ĚjrܸLM$4&X 6~ňxYvFوJbVUU]1>>]0zvamaqKR;q-]+}1z2Yպ{:cOR}K`<L+bPfufySGNB]Zq@BnUDGrH`ݩyc}U$;L5&%o;ڊšƦMGgv\ԾP7q0,E~CΩ!8t,ژy\8<,jΊ3 ڝ ,*YEE. J Rǚ*`Tj9 )5ygtdKL1 NkBOzvIl}zOϵYKdY^iFoyn) K~%>xNE;clW\\5?_z_^$I}z"+p nwq#zVԽwk[+z=5/zX8W}QU:WJ1?֫N/,߷lƩj+PXey:H[6.ח~-LrzDi ֣t6K%a;]BZ:6UYUgr)/ujBIo#YwΪLۣ{wj^ ø~jӤ}gNݶu\OUpTEqD^q[sNy\" 3}?},a@KzKf3YBf0jl[^>rUoy|8]զWǒ2'0a`}sn\`h:\,qW؎/;^V~,=bV.WUO[pFg{ X `[WOG'#=ݕ  *:*3D]>)NGQ4gVn9{9RyO,q.ng~չ]N>ߧ׳)4H_QBWyyzݖ'z7mw'iztVi<+% ?^bH58ܘ6kG-#خM0cU؂h)U8;qҵ[J`^rtSZy֙Ug̲, ЏlshԢ$U2%Z*# z4T3g?#O~+:̉?J8|7_:D9ޥwOFƩ͊jΏ,OS>4[j0n4/Evg3VUѽN;onKl8uJ9Fx`sZ_b쫚ӹ7jpR%_~) )X!$)%rM\g.ϽLo}gP4{wnѩGnD"J|&ycœuԼ_4m9,DU[Z;W$ OUJPc8轾eX"1:ͩud魾]ˀ畃8覛iSg*蹭oW"D%ainTH|[?.>fgwUI\TOuʖ~BwO 6q-EME)ojZNwQ;{+:%Ip[*OggS{8 ?:A3:=:AGC1ADC@:D /0>?A0/>CI-0.021?8>@3/=?;?BC<>ABϩxHK]`ф(rT͙+Q%{?$W4h"0ަ2i'+s;պs\jSjW [dߛfT}' Q1Q0.|&ؕaO,yU9+: ZUW9NP|`2;o|6~szo֢?N(Hȝ8ygܚȄQŲ2q;W,oΎ`Y0d:.s<1Qխ'3.dh\&%I,SE᪸#:I!v/xzPqhz?jEZߊWPﭙӖ6:XN eD0>e8E˫o>7[M_JѮ{G1[U:[i|+; .vluڏSϩo^ x~F'sCl ;dg+6N;{N7MeeVGD@jA,?WGNKAR_狍Ty)|fW٣i ࿧z\0,xT7_嗪Z-$F$v|NChpx+4>\^s^齾>AeTz+Oxձ:\}Uff$qb()m)={"խ`WdcB,Y \Onu)8}["ٹ0?zzkU*oci+Ul#MUh˝Rn Aָ[# 2ձ#⳻ӗLf,B&t6\xW+ srץK4ܐ1RAU4շv1I^ҹ´dn.j֬3aR YSZoϘA2i&)ɘ)_a whYHfk2r2RKf\6ɥ9Sbҿ;Pb0M^ۨXy S!R9^am҅KZJ305F87F[4Gj ˉ=tZ8Huaۅ[3 x?yg* ZZ #o0Nz?8~oMrl8~l WBZIz&9~ژ݅*O' qJ|\j>۹OߥiT%MtۺwRb}y?&$I{De?];:[~O'_䣚J?tr>qM}ul5g {7%O?RtJWjH=) K(yތ@>{V7н`v_M`ﺙ>J,OgFٔR\^O8w.8^W-sRX:F&trݑl]~b.~ ڵDI_"F 2hP?K'd[O}u2#Z=dyC?]!=CS7$K2 $U4핪D7K&KfU^W{/~fZ }W }iJ깪H=2^,Ѽ T6="UM -ERd Ʈg5H4lN )bE ROT&*D.R\Pm6 փ&!=v8=fn9졷tfTѲEOKEС:jk z}?1̔g |4ۉ*Bꐮ$J]>x~E|;M|$xcbHx":O ج:re"uO;U~G-oڳ2P+^:8I, h&+>FK{"-}z:jm*W5[jF&5d,e:겻&.9!)wF9M-: r8JE^ΪE4Y\Km)Y'lQN{9#Lw{:=w/W' 먦/mi4ԩ˓x Sݧ!Qy{[|yn4M龡qgkN3f& щ:FsUdl"R5-Zƍi5ymJ]z3kӱ*d9i/Oi1j'ߜDg)"!F(1"R*X#$v7>gy7xዴhǻ5tm4ĵߟ> }UJϝǭZ٪WyjMsY1nW2ao~MZ([Ң*D;%_꬛dcX82l'Ҋю̒YX媪ag7U纏Gڗ.)u]䭛gr>ˎA2#ge *GkVZT:eԮ,y*{uVOSTR,f9՟TVymNC45Mʂ"s.63SLGudOԣϸzw`= 4xF3;Zqi$sN"^^v`Lv mSQ)x8mSdy/gҟ9[82{Fu\%VU). O1QjN!Ut?£c"_ou-cuxJRJN 1" ,Ӽמ$Tzz:'Kw^cL˖+g6k]#M^:ꮭu.fGGc 33s ,vOh*]^ʲB:.ZL$QjBITKr&-ToeYA//d`Y(RIt7;@^J^N+ ģK7OggS8 <:<<>11-0=B=;,/C@G311,:@13,111=<>rwm;={!mDYqN Wddό*UWJ?9I6DshY_֯\lj&ʞd><~= =Ti"xzPY Y낣ˈPt]I;JQj6 i%RswP4F`jC/Q/R}]IlmL 6@Wݫ[>N.kYUzLj-"- w4r+15,Sb`tDËXoae|;?oH22nһXXܻy1zZ [ MUʐY غEbyvb{]}ݭ3zYzsRVrU} שճOaIzL{rRz SG*m{[_y>PG-5W!RmaipY;Oߨ׮y#ŸVM"e)WM뱽(#TU: # [[K3k9X8um.pbtK%-s;H,2XN%EPjä8dvsaAwa1Uc,!3[%1zክߍYJNi(<^hk,g]94MUd5i{Nޖ~z+<_z*L]`unx{GuϽFv[o{J"FzŷM AAG_(3Rs iFV.=\}~-UYZ:Ѯ]jt\ꪺ~ty]zS'>89VU?x|~p} OajƂRTRѥK nAUX9+mXpYwb;z>n.׶C6I(S՛˸G% &݄M \MrTi}8Cε33%TUU͓1 C K5ncnQ}͕dJOFғ`]wmjmA+)¤;+k$qWY23Ľ+dI\r(4qPY]i~Ot~pd{۟_^?Uג矾WTg{\_nիYV2z y a̋:AKe^RE˭]XI9/{;X7l{.d +EE噡QmF";|*htkW}Fhnh mYNnzG)G nWhG S.]1Mgo"!rIΟ0.j|VD>K4M|zJ(7Y$Oz EUEm,BSQS8xzg_\j;_૨R OUR5Tv}i3cZ˗oO5z~|Q-iME%-D(3D '68„!/i45 .?Ou~rwS)UM\ɅU'H9FXi;cuicD[ 7j#b*St{U!AIS ` 5$Oj*Hq<09S8s_vmyu徘{q&鐒TňJ_[uB$ݱf3Ua풻^!|qT9˗u9Ǫ:+$x5)W SeR#$@vkd rRwzIù4k>^v6_ gC&UCϻyj<4L"CDl.̋EFU8^,\sO]yDYc%nb<"wC(RoFyL/%8Z_kjsxGu^P9zORKCyN1{ FңakKa2]k Gy8yynY/qǗC `6Bx짲;7ZTMZe!;YI/U Ê@m:opK|{f8?0c\i4] [V魳VW/nj?4Sof0s~Ծrp. 8!۔K=| yk܈:" (e*xr~zӋ9b%3MbE.'zy]6oz$z-ߺ~vqEzImC{yEMH6xLcMlXҘDMeȅ XKfhgQݝ peL 2+]+c5MV^,DeKp`#Qk9]<&aӁBi1gDƮ±-\MaCXD?yf|b.MzY ͱɳZCJC˽5޷+hSx4'Z5vXX )h |'a~d) =7ѵ2o?|T"E>g ż$ձ⎆_>0Jn\}N+SX$6E>K)Tl.WϠj8^ejx2*t+I4WjJkR=v"oӗkG.Tf'5C\U:$Of3a:QԮuT/gKs61 7ʦď4σ&o w SڂpCtHd뵣3jͽoU=/}#k|UrHSslTG2 Me :hDՊ6gOCFW{ҢhX.h{ rgz Jmԩ*v] |~6mE ݈˰k>K =UվT_X5l]HOggS8 {ID03AD@<<<>=@=5200.@../1zMxN/63VFӶSы"U(X^u#.&1mFe]Ns =[,t*WUhwUR/?]b[a͹fB# Y7sQFjV RS6h2hYkQB hʈJYdsq=7K7w$?Y A R_ęOm:?|]]\!6OUd`ۈe:'w'%{|[l`KovI=NV#j[y"E7!9]ɲSneZ]P0}ױP%jN )Yo[рc5nM $I;Ab99RU*C׉E2޾&cs=c\fM+3vZ$-t7YEpM׶ꚓ{݈C据0ճ,RvUI YjYd,eiDB]rran*.#"L0TZ6Dն' ۱85V$s-v{m)C}qvW$,XٞKP o> '_rw1ʻ<~6lr:ﭽ2J~6F'N[tM_f/qE{Apm|&YGUu*]M*w+ $nX v'|gʫ nl3*,VU]ym{'N^mvj;s*-cb>$vϞ3=+k@ED1hMpyV#'M+\Ja~Իtd2C̀UpI{ TB$20;!6/,5y=xv&䣼8_CY&Q\MAuuc7hs(,*8Tq94uGVvgٗg9[x:FINxWSQeUzٴzT ש<X{U/ce[m{R8{g$OZK'um ϒ9y-s}8̼mu|JxZG/ y~w9*Ԧj%3PxSlz'9ٛԔzjk9n/y~#9-]}-q煋ǻD$O#q3U[3,w@ se/ϴ-'m® 1ݡWGCf[߁N6 kW&bޮg4j<#RWLC,+VF 6̱ؼbK4E]Koڪ-;"S .z|}ST=g5WZҊTx_mDոuAnDWJ RWx|>tRQM֢GS[Ԛx*4Y83j7B`R1Ǒ%m^kprZ?PUGt,o6== s{?ͺ8LQTi: Z]"_hI!iM~o-OggS8 l>m.?>?@;A.11>AB?>AB110@>*I/Eu6!ϴ*ulDP/tJjBeGA яs6T!zhcڣv#sK<~`+}oBαax%|#pg]Vi!,3W41ej$ˢb_ ).c^k/Tv Ҧd:?*_^c붺/˱#:d}y -$/M-e >1çb}~ڊ "U_)MeӋCaXj=[i~ෳu>~}Vq-*ewYT,^ C}h no|'M&uhl8S8 BEqWk|H67v^x we&PF+i3.G I)'oƒNfhn!Ӎwy^-*d@=j4K,]JNHH ^rLUX}'>2y_y~kuקjM7D=R񒿅{Y^txvp+y<o0fgwsNuM!)pZJN2Yּ}l)*#{+X9y~-V q}%00`@Oe'Mc`'sjMj- F@,&]H-Pz8ǿ=]F{ܬ{~lpAd}R/ǪZؿ%M1e,jJ@??X|]$L-G楼ܾ/IOLJ`D7fO+U Db B:ڗ}jJN.мKb,ϲu2AHH O@6n~>3bE[O0Af9G>K NZOߺפBrs5ڵc+.c;<̼/___Ueo7Qe1vWf?_iɧGOUvΟ?{NB}2R+IBيW"5NwA2_?ɹUY[mq{-&L*rilugky,^:-F8>Dl}HX4_y~^__jx\8.%ƁY%Zki:qO:O_nn%a'Ʒ/ʩA0P$hD7P1u|>T;HYkqvQ1O񑁶s4+;aݺyκz'Ǵ8ߦ|M*YdIyƫ;ԾDR݉ꕡvZk<~2Avz^}6p+V1>ށS_J]Io+6s/ ٱ9D}7"# x{z5?֢YRXwd5Mr/;DUU};, GYV-Kqk1*ms`aZ֮t_wC Fq+ݮA%bA@̺($9'at) wB]4 wޜ]=vΩ|F&&0Vpҁ0)KWmҍFU2),&{rRx-@QwfVn){&ۗ$Rn Ǣ(=f\φ}kpG щ:=־s{`x+h6a~f[Z+ͩLI%IMĚvo ;Rqfe|{T?ֶY_$Pzh6 E2?A&^w*T֩_MRS$2 3 RZ=˭`^{fnM'ȥdo֫ʶ dYu}ya&Eq5{g)SU 1-/A>C>14>>rESO#/ oLeRJ=r1Dg, 8$ DVwDCj -8"U$I0? .@flm+Ɋ` *ek7j^3ϥ7uJjS%yZTjQ1b̖Č(ϝn4R*U]# o<$Me&&Jk4ASC;uŢsv2DkTʊJV+}sk٬YI_Dkd2ϚAv)Uu Nsy[\RB ;VWOIkتW$Oihxβ$9ʆMGbJR׮KDtsypvh[Mn꾸=V7oq% DuJFwJ ձEa5d7oU˓RsIj2S,SWX D"cww˔Ҳo;ㅼ_;w$Um~LqzMB4'%azo&0EM3.Gn7/u:ffkvRմ mrS4U+5RUf}ʚSKe~=׳QUM]׃WIKj'm%MU,pC|)+VQD,ŹS)|s>um^? M1%ǡN"Ri&r&^h MktNlM$m0;+ ɵ+[ejq|K.(e3$Ѯ&cY;N cO'='uס< e7$$o_,c5s2SXߚ޿Ӝ;YkUZʹS($ӡA":8m)35E*f޲S^ưG,[*ɔ6fhk=67~yk~:|u[%_*MKSW!畞T$[Yu=><(νe+8.zOTo*ջUQo貧:MeN'8㤺ɬN\+9yy&y.Dt_؊`,![%D/e'pBI㫙E3FʌmΟC?[*!$˖m"նfaY2< Ct2Erm'? Q^,Qf⦅𚯌is>.ۭ^{νo?8X{0LB}xkLUj$vB7Q!0rl{k|ըQ+_RIɗ)?);6U&p4fbn_[3_x?{>OUT]LJEVVs,UOZmnۤZ2)ϣǝk^l̩!^3Պa"1_{S{)g%V{JȄ1nEIPUz16Im~ًFgw]R0 #q?W%O~)LnO$ah4/W;Y<;Gsjv"M{+,YP/Uoѻ_HiF{ ~ygшM(zJ4W"2'M3$jkƉ]לsTQJ ;B^G ϱYd=ݬ4 -3[oV¾>~;%IRe 8U˄ )6p!tq4?WUBS4QQyU$UELUV׻Ad&sȢ6ZjRX/Y>#f*O-4]Xɖ>H۶Y2pw}')fqU}kڦ*E+ODUeuzTUe_-sr6{if%5v!~&6JcŲ++ Qe+N,BCdU/G|v""xc"zUqmj,Oqc0,Mzzf~'eEu3Q)Ii:NJxb:Ǐ$buQ^;۴[ۡ:L*{XsYq2Zҋk9L( f|,WN$& M_4t~~gX˔EEoֆvp艁dGvFKdI%# Ē!N&[5zՈfJU%70A+ֻT]"cc2b|=*p6{#*l j 뙹U[C9-֜:۩kVMFKO~͡pOggSN8t>-/EAFH?@===;?-=A?=:<@//0@;C@=8D;: 0;;?/A=@-2A;A6<@=:>>?)1.1 UI[S_wuk;x_vqhS6u{_OU{ƾa<) d l$,_[3Y/qG%Ri4RL, ڽ2ɐmWA?U՟_竦pUi:=RIL ɲVϚ{y;,ѐxKa[sy׌u 5T;7c?^S_'tJҿ2^Uzy&6/C/\ebvysw+#R*76)L^Z, }u:?dh,]HEl9CAjKx 5UڶR0^$peT2S:SO'O/!W{5a7ԨG9H&8B,̤R2PR';MddQ5zzk.(-Vý*%$W,\‹|ެ{ !Qfhne[O\x<_@UJѶZT>7E ѡI-#puZ) Cg{[љu[wڼBݞ۵4UD,hRdd(dژszvqy\<;7/4,W*uʒvdFף Uӻk嬻=;2uuU"v ZU" sL\}Mj*nB8umOӻ;Y.ܖɧrtlFU(!JR5Me񤵩zdz9dagG)wwzG,;IuogLyψ[5M2hogB"I}. v-NozD>UohtrN7ܼN 2 S89/ϊwOjqoVE]2ij0U&mW.=xs1>qϮ5;bǽm߿uAVj͇1`.@*}QC"V =g8s,kcIOy}6B7r"ѸcVX/9{6?ChdJM}(y>Z Me1X OeJǧLD+L; {mѱ.V-Fׁnwai;Mqb(+"Ow_,f:zg[9?P*DN4Y`([N:<NJ GmFBvi$qVRj QWpZWfJa`) ձFfisՊXXpo]wI?~=x*Ki:2YJyʊڙ2ϩleZ:gCp{ 8ZF>!$x|qiAs)FՇ[hVɮEFUOW *ݒ0Y<}3LKjZyQHooԤ?Z[-I;;zz2SGT=+&C6!֦Evzp{ܧEUEz>C[ڔ) ұPBSXPD_f`.;e]~i5&[Ҥ\0fRuqT9V~@fފ!( /$FFdZYU.W"&yfROUA ~ wRN1S=ڌksn ɠGL-ӚU.9xvzCXKf v9 xg3jU2*z {ݥX"==i LVDYLS$\_D.L 1?H'icnger=Όc.r˘6d[-)~MM̉*ӷR!?K_^mTƞrG|SOo~9v̉@K5>B>\Z"({1u1=1J{*zTEG"חmQJOT*EeXo4>w)kk䇚?mϥnweӮaO O&4m_~wYf Ţ~e c?n*x> OJ9M&S[X y8rztumݼr8j<&$)jj1E2ɐY:M˜g[o|:QCeUVE%zuJ㽽*PRR$SU(D?x/W3yqG;d53Qmnhyx%,a6Y5_1!Ychz뇵T yTH^\~ R'ݸLuύ Xm}N\d/zcIvϝagQ̆:\UK/a1Rћ;R})x趗߽M79Sk#GVJ$.t,w vٗɢD=JN|gNdyv.*3]y*TJe$!cdaz7CqdYBiD\} ;<MgVŅxGH^(33 5Rt:&9Q)#9JG݂i,UC^ųVUw݀Ckv>ss⽮R^ZyvV$ZϚ'x| >9_(ZQñˏܲzF9OggSy8<1>.0>?B920@BD1-0/13>90.3@>3.AB8>B04/00><;-2/<>8EC>:8/=C@$aQe?ɵ=p/::vH\"r\kW\,WiTjDG_ ]٥ ʹ˩aE X-T$U#͕dRx0,SZΗ+.;oZt&MuRSwײTmxR[i*.X,zvV%%<1q9]g &y;3XUoV#H2$_HVme5Hcq]/6b7+u{y\~۫PJ^IOH7 azѳnaa,L꣖ z:鬶\ECT*mrU}u$Oe6%pDUv]q^"+ۋU#b1C&:'j A#m5{WNro!iX#b:KEBS/ۑ2um?q孪4MVM*ٍnOUa:[71'/ݮ>ַnj|e?^MI:=* ;%:YtsdK7y5=l/~[໣ݼܩTUkӽS6Ik ѩl;g7eԙ3srneIggAZWeSŘ_킧T嵧2ZW2"E)TUE-l@>4[.'ޮN*QqCZb8}fkqtdCF ωH?sVq}BuNle'X 8lhTv'N[jI>2޶ i.$LZ8[S<݈Ga=_63;~MSu|;Ł"cL]EjUxk̐~, jPhnFkfϫq֮JT)"鶥s4_os%ޕLl34 隲ril:m/g]r%#k+W/OzmA-5fjVf=#_6._gO\XiEd'sݰwNQQc&"yui⏷OZڇҳX?_^կ4TVM#V6KZ X,舷׮ʰw_>?U=yuʩ::|V, -gK$QX~صzH ۮka>Og%?mAXW;[uU{Ǐ)>I!CsHmI]uNUe٬̬X_SG?^pa[ ?>oM]vfu0v9 [Qcd 2KA&y!=-"Bǜt kc{:牮1LvM-WgG%qVMߩBTw^Cֲ8+zU;D1*;X`h8ZiS ٛ'u&`w7MPzkPDaL >RGWa:!<D^G'#ru8YMW}m7Y-7tԶ"eǩ^wsVZw3ӳ5f ,SLho˧=d 8r_k)uzn?$ˊzL==.l$*c$U=Cr Epϴx08\ۏ]̌PC$gaj}Z+_KD%*!MShtPfg5gngܯF;NH](1yVG=WJU8Twܾ L,d.`BL.U E=OH kyۯIbIfǼgu[2eR j1f1[I;sM>=SDXmu MZ-v<%U9 n3ږ 0*ŜMqGUNn)mĦA  Βr49Yn" 98u`.E@V7猓 ??Xeoq깗 q@UUug35ܕ{lwdm}2=+|rSzTwar}jlPN10hbzjeF:fuSGWC(^AlujgK*1/jv$QN9Tn/N.}>):X̽*+$( nSr3ҞAf;{w&R_eZHDP~ z<-&ѡUϜU274j+y{.ňh<]GP u$ϼNxp8HBbE{*)HhSФ/a*ɾ0~Ͼ>ބU~uh=J{n|Sn-*yjߙ,eߥLڕRm:7yk~}]%AH'V ӃG̣ ىMNh҅w_}ץHAY+Ka7UxF# ,SzpFtq{P.7ehisj7m+D_OBQY?]oZ:rCږsҤRâqFѓzhYŵ>ե׺2βd C* iҊ&FOz[ zg۹ LBHKgڳcwn>D^T/t_̓: I"F,koD ") 7s,GozlnM|kS_XJA婪޿7Do ,ղr<սU+My!~v'kquYTTRW|2 kB0)94X8~,?fc5=3XUUi[ 9XQ}ti)%Msxyڳgf׷sɟkɜ-g5yj[Uc}$YKs4ZG cJ-kC6'gf3gɒv(M^3o =)OGa|zTFJhcّl~eqxu 4}\Gڂ\% ]C&c+{fhvΙ,î)D$˴q;ЛoKeBgwjewRŏV.UVd= wʹ.  &8thy! y~;???202;@ 00CCD41->?B:=;=@:@.0.2/C;BA?>:?9>A?<;310=?>,Q_Bj\ Jtrzr֡9]AV{tm垵>ע̝T[' QeU 3LVT陫$cb]}ܖm\ޜhzRET2 (s?݈jMv\>eO-V 7>_$[dTzE=f+..nJ&/c뻞}鑪zWA\=UUkq$QlrH#s|ctֶñ^Wri._?hӤMd刐^6_ ٣N!eOw;Cx۫՝d5eD.* DQ$,sw6>,zcBqej4RA\&+ǁaSM;g z&Vgt1\9q?UtW`?n7|^R& ͘q[~CP9sZ'_FUU\ѿPNR>Se.mx>5mޤvyI=D^Sd//:+ I!~Z乿]>;G֞$ӰN*S|jG L֜WZ4{WN*}]qWͲRU,ynۂz=5(\4[EjM2qѩVryqֿ̱x~>mM)i^M{:mվ(ٶ )qJv?{]gh_7CCFURJ F⩔*IEQWEN }"jtVve(Ĩ= wfѩTe!:PI} ~-mb0*Q[^6S"i -;$Q 5OWkw"V'୵ܬO'[ɵwS"ѓ&XQ6CR5E!y|6ӷ< Vۏ֯oggeQ_4,4ʟ{f 8Ŵ띭*A;PZ÷VenM#'[mI*SoŲmJuL_Us/JUK$v}vвó&i,T!SU*=U :eA~ڙ;Bbc|xsU3Y#[MJwϏQڊŒ*tBhB!Un5>>cCYNCW߫$K: ٩Vc>IU6=C=Ny}عϓuh!Qkz,z`E84IhB"NezP;MDFj)9ОD\kSV#n'nI>JU,EDR)J9aye}kߩd5\SѰ,+FVQo䈡@r/1u;b4Z1$ o~{m4MElTV ο?+& E,:&LZ@g韺\~ŋ GzZ:rt1y)=׿z|}9.cKti_U_X{Wa O6:d%aO xKۯ΋ WXܪ/hFe(R\UfugtGbn[umXVԒj*Tg5g ϱ jJVW !뉿; Y=\rk}Rg];'*vx)1T_OӉ) Z̐Ua?g]U+Ji\T[jV4YoZ^i1~9N,kzuԮԜy2GN[%VYrUQ\zt|>֜Ӊ HOe15I NV#e.]O"ecZ:TYJĞ,S]az'ʓ{ղ:hI}~[̟ROUKK\== PxcTv~7QVduz4͏\ ʘө !}-"N?vrAdv^uUҤK6GVa:hO_%UǘgV^i&+xtںV,fmK$QohHUL ]|ias])z}ĺ钧7>,o4m^UkdQ |*!M_B*Ґ ǿ4lySux%jǹwj5gꞚ*\OggS8kJSF3/0/?A;./0:>G=?-0/1/-@@:9:=21-/C=./0/=?B;8-rk`s#ʘ,+2^UbEQKbUUUsu'!~3Tyg_^g>}hƢΗ#絬?o_]Rzk#N31gXq˸e{ȅli+jOyz^:վHˉpoUj0/-e{SɨBI4kjRbBK ͩgn@4f|륒czuR'HtN S:SSʈDhwj P'"銬]]W#:,صM pr+7Jf߿^ڇ~2VUiv̾6 $!E$;:ƞx̜Iڦ;M{+ޮ,|̵[52UI /VI>+;6))LU2-.qx{so^]YSϪxsJu_uBOB? )( /ֽA$"W-Zs~5Gto KeeGjw}ܙ"y;F0kczh&M GprE`UT@^+tM凟*~b35.-:sO]  3+I9#jٜKҎvN|'#|iԩ^^Mfs4'LMeZ}գx*I~9:pn-UyZQkUd="NF|SJRT;"0С9ŀn:{?^9_(EsF$W&Ts:A>ٴDJfS1ѓߘ 1SFY%W W00YV;3@QjI&wz?αz m[ EcuCJ͹Ps%lOzñqw,G"RƧ_+[/v 2$ϲdzQ-Z& nm&Kc esnϯV"!RZ}3GZK}(gӡ]yN濪RնJ}yW}%|Ge60GvJaWgq1bP_vo9?O ngy?*z9*B_n 1e:$ ZKP?:sy5Zmoloyt6?T>VKBw6"щHNT ACχCu.o\eW jRJڪ?c w/Y&3>.Bѭ˿\3ЪqvP/zc^|JS*һW/QW&*1Y>+[v lubMlv8f~OgxUiB WPRզ_zDn6 SA"66w!75ż)ƩLCZ?{AU1:Vع]]N͹`γJ؂tFZ!;OlCr*[l]n]j3TW˜&lޏDmΩ"ʸJB$7Ƹz5vikqϗVx|zmڪ%'"5j0_Z J׮6%Y5kmj' j8H#mۦ,FBrV ,]:=ޛl݃Bw2׵GV"))%l-<0TdGkӉҨ4iҵ "@_Υ꼗JJa. +CȵY TsV- x>1%Vi> Fk͈wx7bx@K=syKFdIZmvꙟ}R{}sbOC뤒4Mo)$U*Ϛ?SG/߹ &x7CD,8umuVE8 ɽ{xYiBϻJ5d-ױZbD@~;EJH5ݷck׷szmXrFRI+i6WS#rV?[ E A{@ e|fr q:]xD'> $ځ_Lw$իgBX>wͥ@W773:)2 *ACT;߮og FQJ3燫N=5Y&KSyV Nu1'+C̡D4P YtS-Sv-vZ/`^hVLD'Gʃ6qͩHEPJ,Sw >xUZuJ]A, Ie ?9?@j[g<_s޴u] [Q\,`>^Ty n/xԋv8I9{0ۑ(Qä&_[BXNgQvuM`@Ko { Kɴ֋SDP]WGk\ZqL'aciG.M Oco&")S%DYT7+#+H#zLU(?&K$kyշe4.;fM+\a'Bb1 !S H+f2Lg y>٦"wogRm He1SWo4+C"k=4i=~v^ϟ?}Nj9 GEN; IEpLU2d]PWz=1~xz(TJ}t2}KE|RU2vFfj`y];/uooK%KҤIruywO M‹*e䷳#BΎcrطx֦%v՞KzU{xM~GMDw Yo&$H[wK,B7gN7JϜ-z|d_ Oe1x &־&D"[D -L/+A{rT*24Fc`OggS@8{E1/0/FC@01B>:=?0?9;8?>?>B@00E?A/13:CB10021A>D??@/01/051A=C?AA/10;:<;K6=S-[V~q)D7[Cd;?wzYyI)[j])ru\#'Q[jr̀9F`͞Փ%3\ǭ :|sZ>w$ϸQ_["vzsةhed_nBwIjLc~aaz ^t@l}6mrs}psKdzb޷vu0 $U2cIq 9i|95T[9uZm}F}W 䩈FJYٗ2%RRK+2}3H׶ǷEx8|~{?f%>Y& Z)Ft6cUqckǨ;jv.2?zHzN_,bAP-waph]|tίmj6%߫G˴;6$ۡ_/U>}E;Pt[O/|],^Պ?zH=X.å?y,SON?{OmKs~^n?{f^9|zxRJ咶`N7 ˡrC?I "i%P-EgUWCPv:,[⎊&=W~s$ I9+u3{v;x/(mCoyhJoӱ%4=^"%ò>,azAmk<P/LX||)vo$_ι;zvu5@ )eJʩӿz ,UHj,mJ0Zcl[GvI3{\ vJ Ԭ),몒Sc1LTT³iB GN;K[>\/RmթѦFK+wNW~6a8Ɲ׉2ؤCKL֨^2̾I{j*w{ulϕ{}ٶP(@gCªrx( !?~~]#II,WqH;4|)У:A(mw{KCۏNc{w__6})~ҝtO__:˼Rlwh>۫h_P?٤򞗚vR_2OOYўѡyvpoM5DZ%β߶HgXZsi٥.E {_މS5qEZ=T[ډyNПۉh5KgVT8XMv|i IU_,3i UDwU5kFls}be{z?XոUX/St)oo"!䣷Ǒ6^/||7\sw+~K0Qxj+Ĝ(a wY%WyVjv{ka 8S_AA@RQT~&UU ncTZ*J,cjϵf' Dɕ0ֽ[W{y,r !yQb"9a͗jV܍IC88,S_s:fԬm(mc33Wgul XE%ߏ$Y*5jN-Ytږࡺ2頖4(Ӭb1.KSׅŢ~)UE*8M$U'={=d)n?9L+W%5senNA}frk󿼧i?e^n-sݶ8SeIt'#-!ucuX,$QK><I䏹X@}m{e->w㏫8#fu\Nv[W,aE1Ue`Wt~{en%Po^9K[~]U&-~i?Q$Y*5 +b!jڒTjfe`eɱ@.BO紇e3OUj)0jUAu1z*n)j/=D_0NVgJ)I=.QZzWy333y3.gTYu]0h\LYh*c2W7}Xuc1xlj.sZn4ա@GT)m~.t9ѥg/wyfi=Uj}t{?d)+Әk{]?X6i}tM/Y֕":Ytɻk bTױڲP~l::&&1U,=T'BjIwiJdg;NYWoy[ZY^m]_YmF#nC>v6~ٞВв^`v8U˗UrOVO\S,_LG<".H8֪ Ґ[_R^ƥ_; ¨hrmy9)J4jij7dX8{q|_^YR?,^wʲ7 {Xu|jaeې)A&kӕj̻cv|]kIޚ~P ת:N6%9>U.С>mos|_17n*YleUp$U͖g7+ 8VQ9`E59#V~ὓx;9g$Ѵʈݸ NSՐ6^v-=K=p^id= N $O&3lqE[>v|dd&ĭSI8eǐjIG#R ޛ[n5_nY,^]K{NFOgo۶m1>qj MU %ahjL~0u;{Mj.]W+bEoT*NRk^RK[Neһr"[4C9:dw5V}gq)(n*UyE|s͕Oj o,b^FH{.TFRmETuhY)V^TRڶH!@nrAb>+ۭ>yyCS3zf)\j0TmOʾ_MbDŽIkY+i1.~ߋ.>xy29Be-ypi5d7L5CS܂ 22$ay9K4K$3h]d5W.X@>hIO."V1е-_aQp`T阸l.w npE/ږnY|i_sїDW!bhOggS8eG:>>=:9?A98<>C@3000.197>@@? 2.;:zM|035+39g^]UcR-͕ a\}rO$ zL'Dϭ,2l==Y8hMյiZZ,4sX? ө=d*ugqgEH82%Xyr bp*/5b|L{{1.N-ʺ//Wtx/[#N+6xLWjC)Ohd ;RKEΒZt]gj^RZ +Ҫ__ZE9o4x% 9ײgky6Fۤ:h.J*Ue1*bJ6KD%.fj2W*$ wu_=*MZ $h^&Hh 'z6Қ2k+MdU"RS]ŵʘbX۔SwSEOYQ͚%\I21{j8M%U)Qs,@}5i2ʈi<{ƩeLW3Wo^2Q"F乚ӱ 4]5߽GHkץq9|-cLVSmI-KIS=S5GֿH/g I?I)Crߨ}':@ҫU~3/$Qjgs^pBqL_MmV )I\KNym: 12A3h"Nj4׬R"pIF%)Չ:NZ$جƻ^+ VU*:~V:]$Ѽ_?LdQ}i޼ZZj!) w$&d,QO3oaAZ"8WJ<ƿ-hfϭao)\]lRa)Yԯ-"!MEݕksWc_T|V4m(3P~ l;+ι*Rs}0L!^ڞzh(r+9PHM]5-$߱rj0] Yh>DG skN4z6j8)UCy)+Ւ+?kZf(sjyrQ9Yv W?$RWFZg U )CDgc&j;agˀ<e#╏ʵ7n`I1ˌSLѨz'$12bbK +nE n Ӊq=޻9O8NO.Nn̩xٽuy&ѩqr1.QfTI&4I9S-\swLB:$Ѳ n>RG{]GD?]JkB}E ӱAsyTNS~brAs&gnvMoO@)ThdȌqt擛4sz??>&3J$a 5y,)ey`Q頋WnL>MO/g O*ܪ;J]ZԶ#$a-ݩ5r|Χ+[C9v^+?oNq=NÒ⵾C؜>R(z։:>SK&8̞_A>|^Ҏloo.-_hm2~$.\J1ߣ)M^oxQtkڵXy74MlVR{w;[Y*{CT$\tIկPt~ڕ_}ϾZ^<Nۼ\Ų(UhտDҭݓZ7ݨ!:2=+q10#uv\<|wrSS~NkXYt"j>mT]6Jhu3O}uҘ|lyt1Y YA6ػH5r2*LlOԐ3X ȱU`Tny|;7*1b45x2Qy}^|ٳn_pw3btcSzg7J]qOJxDTI[XȄzv9pM Pog ^pn3?TGa/n prUen+矝;cW<\ǮN^j>i5UJ륽Tw=j٭sg+]$PzD:AAFB>0pMdycAavF: eИW;n\F)J*DJa`6!4ԸP HMv,.v/Eܦ ӮDZGGY]K^dAas L:3 ˪rUElٵ>`t~pZ~uE ImӺe˞H#|'vk!tk(CAL3#UD/_f*lYl՝90\q8ɢPutec#l7~&)몘L=%QǤ qk֦Fcy3 OS(H+-ր r/ xpt~x@o@=bTdE05:Ɔ𙏧U\/>*Ӣ]D=C̪궢f_Sx ??Ukx}ܵ˿;%ptoPv~[/G9T3}CNlmC('{u'L-z2M7(:bAV] z$5mw8c$;R*GUگa,c!H0>8ݴ"Obs`}CKgXjy?8:}p̂d!Q uMcYc2X薞 ˉbQ6Tk'|!xgPTL7\˲;Y#3Je\&CSVSo3v^>oc磅]b`zQUO WÓS$v I9e?8&[ywUωѱ"N KGӤVȽB<kםq;BRW Ϭw3AoQJ]ʇXw)H2 u7Vj-ƞ#?Z_ƕ>c-LO'Yec;λ,DiĺQ\[UWKIFW*,ݡ]1ײ})ܰqjyd_e"̗hW+)ա\wQj{<9F'Q#bfoyI~ N8ls!>!,Y =)1Ml)ӣWڃ[_^~^.uoVOZ&3*Lf )s4coIZ-pzRj[_ZD~JQ}Z[>V/Pb[qLD:֯,~>ocohi1Q)4eiCmh\5Z;яke?~7]kE]9FV$(. aME#a9>.j1G^Te,&ӿYU58^y$悧B&B_U(U uwXhu W1u2MwIA^g1Ѱ[2A88>/29AD@>=4535! ,jRH0܁GrŜy.Y߶~5z+-`ȡ~.cFEhJÕ˗Îh&T)8^".5&!3[@u/Q)6O+h]%UB]VfS'U'au("ŘQOΊZ3t0LQi/*Q>ԓ,.$e\%tŇؾj ị_ߕ5¡iWݜ7X8J|>mF'(́aJA`]5n4zɒ,VU;69>s{zU62:h_KX9ӻw뭿l/.jɤfmx]"Nۤ4G)U "iRb([EZM5J6pT29NZV>OƥڒeJ]wWPnE;^Tڳ+Ճ;p]SW)0B6ѷϺ";M5NfN?[4>מ3.oߏs&* dW9J /gCiE:1}X6oL- E5R,3e^I^^68Y#hVܨړf&KAoE5'ϥ?l Lzdp XUU5d?V<%Z?{gMF+.+uv5 |]},°@g.`rʹHI tCf5]qzL!;j fIRܺPbWے冄WmҨXȶv~?]1dhΠĊTBٗc'`1\J"Ӷ`z J<Ѹ¸m25+'!͉W{:VjyHG/1/bYl4gx&"&v MӬ%}2 8xE5_<0Z\•h`QFoo^]siRU eqkϗy{~咆 Rg w@$ac:VDS ~߼X?<},L;2F>]m%ͫDbo/a0UZFΨOK:_vo2QS[kJU>5_Pω' G}.A/g,muilU9g4H(40LG9=?~.jQXZU._RUJ%߱tUٺ !cfs>}iw]"~!{kiTŭY2 WJ[X^L3o34|kŢSӷITUW{UU*RO@6H/N"rMTAEodY4% KNL0$Wz ϩkZd}e>5ͦB<ˡMEj_fJӡ)無4k}%]oզ#%+*E=T/STB5l5OGCS'E:w%6Gy5iVhLtI6JՏlY?8h9XVِN"esbq?ѩhh8 Y*˳@eϚ1ߥBN!x /P͹Щ>^)49Vok~n zsܗo*sW$z{Nu/$[U<*yYiysOלjno$|iIeU3N/C ى  /{2Cj/_Fl8GݭTlr+R]%WwX R8{kF< :3FܺѺ+Fmt˝1 #ooKak~+/cul]g4äړA1 -ƈt"IYi Uo1RJ=WfF}E&F%*I-o8BS35cը UV/0YInsX *+ BY1(AU]8Sv k-bz)pox7ۿjgw׶3:d8z!`Yުv^#t ,s ѩTuJT׵w5[\fz?AǎDoRz"ϱ"%ah֎Uխ.侪tT=)xsdtTDe)N-Uk> 8:JXN}=$MvZ2¢"bBn,.<}ч;<Iu~'t_8ҘO(JKS2%exNv}Q}lcy=r79\ss$Qo_;I6UUjŧa/p43\ Ǫ ? ƳT5[ HǸEdYY$M\/a@fd&,з&xv}*xrUģZ^R!YJ:Nźʬ똡IRvpXR {x*2 *>fk|4Wx1s ޽z):cKxwa~t֯͗L'YsׇsgjgjrXTOZI3 )tVU;ϑ C۷Ͳze2/۶*cw<3_R~ygN )D١)qv6fι[6)Mz  WYGQ6iPzxaxEr͝8}&3՟͑?{vn*5-F[I5M5]}#e Qeez0T'tufl%2TOi.EZ]NhX[ϩ%^8ޭiDb WVϽf` Kwe^- K_ZQf'ߕsH^&[OV%zRo%!ϫ;6۝[NMo?X_7lsvUxu*Mi_ W~픕zeD>4o9{oX-/)UUeH-JWcS☪CA3,\4)i,kڹkJ[IUnIM3'G )U!S'Km'O@CӦ^?pXݗDžzVEWt4IoN8Q_I Sm%`{[p:>׉[jom7GoLy˥xZqs]xqO?Y:ѫ"a]n_vs :zi흳pW=XqrӗsC=vl\JOggSw8/>012/.?>;&/ ωOZ]u_ARūdky <귱35-OJNl־DX]$h牣~FaS| *$S:+2׎Ǎ/8Eq)H0x6FT-5EWSQ㕔-!uzlk}=yrJ*PP2j۶gB)E{.|[ed&/4Mi値zpǺǦYlF:_C'03:3Qq }zOVN_vFy*Gwur\ N{[LCwyqXb$/syGUQKR' 1#/1v/O>l݉`ɾ0θ`>ߍ}ZnkEunP'Md@)'^*URʄ?m6lv85aX?=_m86}ȹ3vW}c]EB*.0,1s9ٺۆB n3/K<->gMpzŗZqeͽỉQ/FUm5 mkY|IDұ%9Qd7#$ ϳCYOY,^^݋\wk.J%*/T3QگT Q_$֧~6"hIv9_Þe>kMJNSԻ(Ӕ3\+$MJ ;3LYؤJ cΨ-m}AL5dgٔʠۇ4NĢWFVse|_UIR^Njt1 ƿnY=6o&l YLA F=oW*Kɒbw:bjnOcN%DP>28X2^Ha1@p ,sdkvt$`UN'NX!=fǨɡ^;ߵFa<[YG x)C|ڕ^_{<omqUWx];Zx)=W34Q4UT'!viIgMS}kjޞw=Cr^_WUi]s$?3>|$K^-,˜'f~B$5[OxL5Na8\=ә ,U$ס)[ETMQH{IU9îLb$[4ոЫ%MĮAYhYն)^uzҾέJIU,4Hv+x}jPݓ!ה1$p z62PӚY&4ԻpU7?}U.3$6 Ω !1ūf }B%c;}^dwFZ\i:ZJ߮w[4Y Qee874-NW-ֺ{zhz=ִy'ĂGUq0,]a0>ܝ}gJ<;|;յ?4&m${S,S^ͭT$ v~^D;mx/~dM|OUi;D5=rVF !Vv{{޽_J^歌;_ijU,~~E}w/)U9˄5) @H5{ݱ\Z">oT[E$Vi뛣s>1fe\b7=fV:=ݼLj C%d9?ʮ"Q=ZuKj׋:@24&tev*>L^/&_~=vB3cUU=Գ3k_?9JddL$=z8jR=W4kwϗ+$ 3V2(49ăGMA]І8_;E?s⓳y/.%<޵,9ӓ3\;yk\bؘ+.w#+}vI0(_2rhLx˖cǭ׎+2al`﮵O:[}W30`$`snȭĦ?o]EXL$WUUAy%Y_S#Ļ>Z۱j_yyDb鬾wk_.5žSK2PS)jWEAh4cӑ0cZMMLKI ybWSz Ocq'4j_sd2h$+1b5սjUBfV̎Tӳɬ;0" 8ڤrס[ؐNQ:`E6J5jVm[w )L^+F 8+=բ9 tF׼HhqOggS8b;/<=/.6==??@?;>-2.-@D30>77.BE81/CD;A.11.01:=<0:>>-ƩbYgֱTbVư+e7g1-7vڢ MHT iaa/5]YV|[uN^;Ie\)>oNZs7b]{\ifu/{Yo2zKe忲@M_mDzz !`]89^_  '7Cxvs舠z5í\nϔdam_@ta5RQ өr,SkA Q_]Bv 9 =}w?[v<$QWՐ)i5 яr{Xox¤џ{YZ+I/ V}Ec4U_b]O;{01M}Opjs\ɷZTwbO2,J@¢&kF>1iW*ߝDCj= b:jĈz3ohzZz9VR#E,ܫ:gjUa\7TB#h:)wW%ͽk`z{49ZүŊ8Os)ULWd/4>q3_n /gajVF\*Y۟Xq,p%Vܖn`rsN ']GѮ`HA]_7_p\|)'*]7F5$t; Snu<]Fd!3=)k4o,?|6r35^bO^UOOWsPM\xHƩbWp;&ROV_^^ ^m.kwJ&&c`?ORK{]{?VqJڥ$ v]S$W2Eth6S (ۃA3M}ys?Kk%MV#2^P9Wjϱ{Ԫ ,"?IbQ|vn;RiÒŞ>-^TgUaI :QS^ i2YrbKVO_sƢ{TХ+I<6U).vӱꆆTst9per(Tlv 0wPopOO!:V|;XhQo֯*+WFee8]+1v1?j1$Ӵ?tjUR}1#gG*;s3Å:W*CCuJ qZ$GeVI뭭wK-Sx+0[6*JpMX߿w8SuzVHp'棩JMv4&c#,[&uҊn^ӄo&5n(is}{4 OPG#'oXvL `knq >㬈+ڏݙ\,WU=#<3=ܱg7Iw9a\㰩ʺӾ,)O.+TPs70eMeeXtke;9^o#:^*Y6Y߲'WFӿ18Ki:]T4ʴ4}DD{Y繴BD-Amp:u{N>TGu0G JY\kƞ?a3sY&SjѥUUՒL͉ cz闧3_=٣Kn"I^+/7Qeb<0= =2;1vgQEVA&$~^h:VTUVV_~N}߇TU9[uaI%U:<əim&j()jOw97Kifigڮ)Q֘8ٳ6 ?13fwQzMG̿<l,k^4ITQ)3y>,euN HEv@bԠi3G񼮶o 8ͼ3)Ohck.=T@p?f >ֶ@:Lmav*R2~{OڢQ<,.,WeUՐnlK<:ZpvUZgѣ`8/DO\鳄0O] rLvE- +QdMㅡ9Qt1nk6t$4t]=!YiGxMik2v;ק^s߫=k%7R軨 }a7+{.dǓͅ~Bݹ1X٣y͙X}) -mTUdF+/ʩ% ȩ% ?N<(Cu[0&z/b)T!YQ?so>XWJ{.Bʩ z;3Ǐp5Bӗ4l=Ìcy]#T0P錍w3+VR>$Y 5Y@b#SZ:Аեd\׮jy=5jc>X#}[H%cke^Yt;DBkGI?eYxɎgY}xk+cޅWzLMuCe`luκIRe/;LQYV4 OPSm[F)A*}ebX͏|T[M$RX7Oos=âBRۗl'^烜y_{-vׯJӄP_JniZ ,1$S+fSߐ֮>Q!&dЬkpbqmGiS+_\Jkw Q( (YtKT4'9z$]}g O0IcbTѱ֦n^C-{TJiY$1)ou Jiު.o+ی婑+Fh[JF߯4I4]M=;3w6xrޛs|+JBUSQgShp9Appckg^}s>{utQoUEi۟ -LY}ձaTgl>Ab ƾ7WϝzNIjVUDڧTzO& Q:ǽr6Xk,Cx5v[*l>:GY=)ц{H:?޽u;F:sX[kJrѮ Qߊ"8ZXku#ʋM?Gno뮳z_cӡ.r欪تT'i?>μUXytת2a6&Yթ ZګhK`K2߄YoͮM*5m8/q}7)e¶G.uV_o#.b=(ˡ)H隮 UCkdWnܭO{Zd۱N6*S|9OOB$=X<Սp!}2og.tBű퇩uK*EJ4܎zfz,M5oԝދ75EѪ_o?%V=ZO|W_бf' չQ3&i(y?Kq%V;(Љgyz~mN}$~eٳ/fD6$.T$8Ue٨Xu7o$f?[l6zH(T*^:K ٱ2J&t}wLFԷhΰ~z1 S擐Ok  ~脵Z!~ӂ%ѪY5_:Gd]WP9OggS867-0/+-A> --6--1A< /9E=25.-:5>=;:01>E?40B?./- !׿q*D$k6)e8WGјԾUH9ʩVrvE:>oY""@6V &U@| l$r:oM*qs;5T $ОG39HV=;mtFY8όg<'] ^/KnJIîуU0ChG`c⺉Evi!Qi9ӗ/e ɶ=I ~n ^Ӟ}Y.2d8!zϜGyEoSbgpL[_:@xꢃٲ%h<̖٩!rg&ݐs.fVU7.6kz&rLV[9}d鵁RzΙQr^&8*yyЬ㣵@ COc񺄍:RYBi#Zt)Ȃ8d(DaWobyv0t|ӱtc d :Cwg=cr j 0H thH;h X`!Mt8 @S8GїP1̡uHN܄p b˺0l40:̦XWԷ3L1VMi.1M[k1 =ݬ/My}.t,.gTyZ.D}&_ͼ=2+Q5 S*{Y'zJX/3kM!0P%Q4CN5R[yЌERGՓ7#2g?cț0+ٲI)QI>!n1VI Sbo H{VX[^. Wa%fqtY)h:; diyhQs @F}@)ɂ@ It UUUκҴGc(8:b{eO؋y}Wն(?kjf,&oQ h̒q%LjfD1kY#yzUa0>lL`FqC/ibx 2ў,U!%QU%`j!=4/d;J]dSL4d9\yĚ/k__{P&)*+Bo~Js z] X2GFI\UL:ͅOO޷¤Iڡ [WN~ޗ7}/YtJzO/j5v'F8d ]<^PN*/}Ф+sV:r"W3H`&H%_㷜V\w3C]-7DZ ~>s*헰 eK>{N7M[Y#H~T31a L~$؝ًrUUp27"E=f}}>y k;VgۇC *5j32Zb`75w .,QŘHY5b$5UC 8Fo싓P.c\E=2;c$bVUUql&˿RS[o+ޚ{ؽXC):ϩ'Wf[AC&gaeHUT=BxFkp~9ަ`o|<1b2;bKWYrY\V'Ŵ\=81mdZ݅Tr鶘#ÄsDҗlb{`8zi77| ɲ.E20u2d){&Hydg߿nZ%\[}ݝ+2gYT];?[p'!Zr2h׳Vw.A[fw4^v{- Y5U\2Ba*Zfn1 ˽ЏWkG)Zfp4>sOVwmR"W݋Uf4NUGRhzX.mR s2cayeRe^xsV[jKUJW Kw R:NUl斵 z\gHʏ&ȕΓcmVmsR? NWvgWn} ;\6EjxyO/EUU2GAd`8& FZYwrs<|,PIk(iXgV+wz24x ŋ͖z%ڷoƭ(Ț͐Q+IӏӢ˲cU4}z1t] /j3(+E^*i*m4١8MgRKEjbs?۶.NiWN].I\׵mK~; /JF~cBMOڴP~$i6y7_ً[LmN]Aል˗}=v9ȸ ٖKD``oH.pi|aۮz5 Ӗ3Ɍ  6ji-J=HZ`؀yp ĕplONe nq"IɃoIw'f!/Yݿ0rПty__FG}~6V4$C%UUwn9OH#5tVE29<;H~‡&hE|]̭>Cf D=gGcfʱȩcNU0eZ<,4&[zRqS1S1mW{FQk~_/nGEVxeٳh9 k9t%vbgC! -UlML Ӳb"VOggS8LTL24/:=80/-/1DA@2.<:=2/9A ..0<@90//,/;;9BԱe:T2UM<&Fzy>r~Ϸp SAS1UkdRm\WI\h2r44RBz|E$iV>.gG"i`Nt~tZ߮^Rz̰;< XI.Tai?vʱqؾHB%ݴK~:k+Hg.˶3W++ڬ5SY̏ez-;X]*Ydi.rg-}l$˩Eu²2jDVQ0 .@!rċ4b뭭Y%(pG:?7XKڧ,K[=jY`w^+X64Yp2-'9"*S˩NeȀ3q{tAS2fP/nk C)YWN)Bwu#!\hT%ǒeH=ټ]U>ثU|1E;[ ɡ$JK[-6ٶ.SC=6OKk5RJ8"%F0Cog!2DpTD&t1F:\# c裌fszmTTz}^"62HВS$-7jM:U:{SrCώ #bVL8ͺlswcBOolz#r80r=,=h)vz2?]j{&,qkf C֪ն3N?cʱT]@ 'Ꞹ|w^!dy]ͮtafVWq_C#O/oc,dHbJJTJvD.t ܜY{tg:9mﴣD8/iVCdۦ)=Kĩe3'x|Jt-W;q磪 <~0rnw޶xZ׼6G"ִ>giĻY}vZGe6Qբ0: ,b#_S1gq8\f<~G$D}}#SS߅T}CR7^"RDY[xep$iI/>;,[,MR֛ >'/z+dϟ$UJIo雬=d+ VOeDq® uk9xV_[Ϧ*sYmina+iSY2Љ,5D'2גJG06UԞ{pe>ʷTC,we\50Yhs蔒N[2Xz-je1+H[ʕCwW]ߚj$2mA*-i/Rգ|^UMU_{Ҧ#m 0b2r]90|*k6K3 hǑgףﶻѫ.:= - F?{3aЌ`*k,kejue3RpFmu@䮨 1=-lpW I@@kA~K)lFoLLf5=JtFj:~Yckە)$$,{*.7(j$\Ӑ(b&Y>LqZL]C=mfwX^覑fp<"p<1?R~58--3| N` 4$9VUp|R½SO}oΊ'/K *ư.TOVqaE?ǥPVS*f*"'',ӊ`SvikpDU5XdZnd0I$n hX"CMRɑU "+f.ODdꭔh ,nD*$W#\$W)J;۴_OlnxuL"crAwhd#*Z^ȕN̨5B<gRe<ɸ̮/-֓)Ǔ+L|ƞMz63]8}'椇R2OG빪zO5WLS@/tjIӫ&OϿZ$#d aKHݻ  !^ntªv-eT*?Lk Aw'0qbw׾k64}"֝r>'{^ ~<$`.\(f`z0:bgzD@6OW/~c~vn<ŮǯɏolN=_Uԭ1`ދIH Cu/g,nM2_ק_ +KH"چ.WASWAmsq>z͞+~a' MO*KJoCh݈Ti$CϾkr@*ˑAyn͡9a+3HcwF!hqUg嘉%$K_*#vРkgL- feR4/r䥀sk)s#̕V)Lx 9\}sW%Y5\K;:~>J ΍jو:~LC!g?۔sov*B'o3:!kզ_ M_L(4ϗc2-ūquogA?4?$WEEϷW:(YLeuwz.ORu{g8ݫ_~|o\=L|OggS685=>/.@<>-0==73<EB@aJ1mO^Rg;9 W/l)TSKW///EIG$Yh\!۱E7M˹)6m\K?o.Yn,jeJU\ұ]95: mSV'7ӝ)goe#*rvxi&3 Qo@PkD+6I]iW]E*=|`ޑ3P1K’IvbJ͉W. \|.ϕeRR_iq^WJ QP*G['ej)WƋh޾J Gw|ӤNO)1Af~e꫹w Y:&q^wΥˆ'o,Ӯ:ėq3.9;:HpH-N1Y3'ݖ\ۙ[])cRd훮<}M "Py^4}aIy9 OPH/Q$9^c{VZSH%<Ѳl+$Uς#7^JQ|hFTZK.V9g;cRi/>zӞVߕ٤ΪgYS~(ٱ:^DއD7 {Umj:LT\C7X4a]Mq4Dn#GWFmHRsmۑ{tܖ~]Zf9*.s]MUΜ[6dʎ !RYgD~Mlj~E,W|UMj떏Vexgtd<HhZ%*o Żl3L}V6sӌmџ~UIrZ.uηdX2Nۇ/=wLFNCVUU]rXe];᜻ +~f(_67֣dC^X2fa-Ig$nʹyM8{8ڜpyj wD̞&ni'Op1ry\a,s\t31JDex;k4"1 Gf vR>HyQGdP "ǜpk2YLͬ`>(9B@=L7 AQmP=H8A0|%KH`;V뷸Փ*njsM ul`-91h-N'Mg6UUUKl~}g|\|*:ftQ]Kz8vGgqǫx[aIN&dZΪF9(aGiQ3z섻]2|rm>KV4tw޻YsshOdJ`EE6 (?9SY!tii`Zt󟰭chWB>:Hi.N]I믻8:)`y@ ~#7>X)Cf[ڨB-k5Fff ڇt|s+՝*Ols>=Njz+s_5'nMxܲUg O-:;&x`G_s9o2— ͡h.`Y֚yiפߒ봐 |9d)JB'iHtKzƽZxi,/N3jY!6DoJm?nߞޑ! BS;e?szfk4nIc+'u_JO% glе!qPd`/?t먋*MBoS틫N ηԒx5d_i6һx>ŢoVꖺJZT/onϲ͒Jk;5]ٗ\ަr{{(6 5QWmJ%A&KDay^8ؖiFqUnuo5Oǿ3zj&+tzdcbXAʞCa+ ;aG=N1W*!lf <$xܥߖmuWn[w'P(yXTvr@ܒyH8pM߆inv̪؀ :ZcWg<V7}[]EmSeeY嬪`M>Tcr/C" ApܑRþx= frgqvfFW0d66V UB@1wl D駔+grm[wNXe來쭏}Ha6k8&U,Y"}~z,s1/ڤ_ )OggSi8um5;.0.-1-,=;0ACB  -24..7-DC=//.1.1>=ʡ)Q,vb̓-o}Ǹ׾w##m9]aJ2 <} yIѰzmY5=rszZ3&0!$FQ9qԼi 2RuœJ"ߘHڌIS;9=j;NiʱXj:XzZ) T{Rg/޾,vfb6ﯾ}6/'^>i]c S%VNB4%pX2}\K\&dD2GtZ@|5=jD6`"FtWjiodȺ B{j5Jr]C; ȉŽrDqEes&ˀS}J3KNՙ,ϊ˻2;j2 FsvV:?xy%"UcTiGK9ZEC{ic7a!ʱH om`;Auti팧fnl2cQxJNv$+\uN{K0LIn~a`zs9=+ piyIK4HvЃ[LI iu=cgz.?)ݪ**T :_QYj6J)!R5uoWv*`2u- .t JںL+({|X =՟nK?jǺۯ{xs{b5Q#/ұFyl҇arj3V^gv`_]ᨎwf*` 6_ʩ%T>C;ܷRrf(Ώ9\Niy3Tػ7vTZPkH[p_dGEKfΪ>Bfċ!RR9k.;;so_.V&_5"UzRJZK!"BEY *J d6TFi7ȔX5q99O8t%I re4Fs @&p;6{Z7yGXIcA*UѴJ**H2%uidV}7k:& nHu(E pR|QkclbE lU]h)}A)=juύn,X=8dt 28e_ mE:dUUUnv ;CZ ɇ]ylKYZ9?HU^N=wF2S`mn6xb;AMWN ތקK#ݥSu8݇>G99(d-nwR'+ 2 ba Z,H)j,x;]~(/\Uj|I#Y|%gp*J*/Kvkvja1pZѨ!ΙQr3 ޽$==Q[7y,fvTs.٦3,|:pPeM^FMyMmg4٬ eM{SMg>Gx jߢUPz/l}<ā a)-.#Xl+@6R:Ņ`A>uU`'qܐ"1TפC 60~`v&h, `Ū>lk2;q:Lo{n'_gR@0L04ͩ*yF=v" Hy Y9Ws[lx9Ӹ$ =+30+g.nJJ2SY#xԉ MeH{R1ƯDDjpxr񫆪9wZz&X9mƄ}ѯV#0 w5ԎD=  ?c;.6@]iT0 5|D;hGdj MUU>JvNV iV4VQ=:\V٩5 FIvkW*b"Z@?/\d%g)bŏ-YffDÆyWHRTsJTRi*WEzBρPlVAAw@As컠jur,rjB;s:+?77ya]9f"ۧ=TO~!Ζ~ˡJ+{ "<Jo¥we~WAd;߂'L ~~iEAvw:G|xul\Mջw5B3c<=0p.I'=ʳȱPbG*3}I"Wv L*.v wUM?x8ȱ7v~="sKU؋w3NF{ME102d ::ӗ ғɿx\5- y~dO{h+WWjc C '/s2k>DTw Y]!*&p_2U^b1rm̱- 3ڕų)v~7_quן׳7n=|XlMhB&><V(2^o*}_dDRqNLM߿U'XzBMW}LkՖU37Jнۼқ!W2D;7l\bԯr;c3B]Q1zebȢ&X 5~>Dzb8f䣏~9)4jsam J+}-+Qw^DNL3 yfbPhJ9EBJژܮ-uk9ٳ"W=X'o5R<He\ѥ{?e}k \$Sw{@s=+gݕ눶&mez뢘ȡF P#_>j{kc~` r:L:7*ۄ鈣;C" $<9Rqu0[pKP6ߵ;ڏ=&Uʕ W  Wax!5gOJ"lsf4N A-V| znsTﵫԥ{~%-e>Sj5ֵxkO6|er< `I;7^ֹ3櫕Wd\Q#:dUU7yޙ~4|v\k 7KAtѰX1>Y/"e"XnHC3YdSgL3U,4^$yS?h3]C%Vab6TrpNU܊$gدub0͛~;lǛI,ht`8uf~{nZ95Z\~ OggS8Q-10=A<0/=G:8@< ,,.,0*>>c}o:o{UVm|-W# 9T;H v#a,w~_.w7Y_yH9;ZFI,\\2uQq3/@0%ɱXUUEҥn%ԯĕZrȏk}v*W+^oԶ#AS=_ Q/|۰T iE1tB)H}f e׃Ep)gRβ(&"KWn{':݊3zXI]:ٰ6ɩ'Z+3l8c9֧') o A: p'A _Vu괯e毹uq H~)/'8b}%>~E{YA˟ѣXJJ^YéQ֩N;ulSwO)L$˾ fا{9( cvڦTELRXKܘpT?Xr=m[UD?#a\?e6z(3bVUU57? Zpdtj:_hje,pU=翓r@Ap1r+кCFXݫ㦺cٝHϏ_=b!L(rqӣ9@~ %6i-ʜJ[7B=LUUb^kSF\EPeYJO.!f?U]_y=(ξ,dծqY_gy*{hmU*dz"iwgk| -.*M'Vj^,7˚rһa)qbE<6BgeBg;mW uܻ0?\m/!Y.[nۆ>Xcl)iL-;+Z<(}1|%SYŪ.=4w_9u럏s|~j?>fY,z:fVR(4-$ SM-{ZnY9$ 09Ԣi(̗Y2uz[_lj@Yi)ɁsC|{ûýPE譜7"H1leݟCkc裪9qbLr(ڡuq:sLn5Sjg No{?:cj-2?(ۼ4O}2^?迷I b*$VN)s<VxZkUWTV[>o@f,u9XȉbW;_H[o(}^z>~JϦذ&ٛ_[R 9-|z߽/nߟ8=2sB-Q&檪wա } Kύ>;`&ˏSߎy\Vk,xuYX(ɺ* .{5*I }f~ X]`f`ke,{Ԧ^i9[+Ma``YXXc0ku`ززڞ'A-6vuHs {[i8Q+0V2 SI%lN̼4^Nmp>̞b,a!kV4u_{N̿.XjK^Y\5+SQy^!tPGeU]^qsJokrOկQNbsҝ]g eXGdPV ̲wW|{X!RM:"#\ekhiʆhTd}3TߪW]̴Rl'ղLVk(I^cwŊU,̉8]9Ů<[t@F&2;ՇKoYɜ:C=pNZ ~ʉHBsGJ ]'^9߭rO,3K;^?4i=W+>~ +̱zJZOVk0\v2 ~}ʓ=g>-_Ke˃#:z -+}C ]@"H~)Azmy^kJA'U7bʲzdo9}Hj+ԟT*CǤWϙ^g"Tv(Mpm&ZWjz~6M#.uJ\"V qcmLEeo^OD@Ҭ`{b?N5^H5BtOzՔaj" p aC@yd+n] %G\c!oL;XǬIt=U9Ԭ;< a*wNiY<'1`օ4:ھ'~'!q&@PC4+TT-mh8fp+A> lOOggS@8<*-,/8B8;B; ,9??2>4:-2//03@> oq p[fimpzSh(%3#I媪 גH0} ىMϯ|rsKwҾ{WKX}_c-}Uw AgQ dR"ь-t[B0]3 oWL4@AD=Q?-% ;0.C =aRJ~-!iUEU*ø//R%0/;AM|B_&{r\Z~e(?'ɕr!RtsjvEлY7reekexA]6 8`"|DUPY4=&"RZO(ҿ"4Oᤳ3 Hz[eٝUa?E/,n xmLcY#mr 63'%l$Q:.G#Z=߮5뫩Nm끅~[?{N*_䔪 j>ƥj6|;FԎ3 ^~ɵ0}ubE~69mӗ=d.c\KIRj\K=.'zTԺ еY=V84hŗ;8ftZ;'\,VU7覼n_mkv1]RK4Nx0̀;"nBfsnTX9==>Ƭ*"]C^xz}Y;RѪ~pU{*QV5!Ijnla4[5—.9[Cm}x35)()h0q_Bl?A[,*NZ!F hn.V6uX^) Ƶ,I & gfҜŪ8yw=C~Ď;o}^ydz27*Lˀ[ZYv(Wp&&%qiB;:3'* =Btt%654l6RZ?G`YQ2 oo$ÎIl鞉XWګ]LMu1]<#YMImX5jh$+΢ !@^Mt8/hZn1';{^8оT3DQɈrUUvSy r\j=dl x.yTΕeldMByEC)ħ 4h9,fKNZ crn \43)Vez.j~kLk'7׺=1$/NGe~gY]uO:ם1J|Ӈ*Uכu<L3;*c+PYzo<|_rqɅWhQ5T ;cw+F6 rw 9o'ceTZwXkYIܝg])tZr=ku 5Syʝj=3)FbKVcR}tO&eQ0wLZ룉1LP땾l{FM2ϗV8 'bc׺Z3ʩ YvQ^֊[5I`0VSbHKbskߖQŌ]Z-RX @b/ʩFNg?lA]=zj}25i\'ii[5J7O=f(t4Xkwu_9|^Կմʊb>xޞ)qdN (/2xxnwvnM7\ XjҾT̑vUe<9zA[]ӷ333\UU`l#Ħ6M=r+ߩɧ^]iAYˆq4L׈h4ƙ٨.$XtՕX ʭ>2h, $ FL[6jWΞOF8Jt1p#밃 }6h4Ͱss\o&c̄-.h[f)D@,#C̹nn??p.[9+Oېx`u6rΌpܾI3vꝦ1.1"\ft5ޫFUK,͹p ,݉QU%65j0s#iLfGW[Qd\z< (dV[=v_֏2ڛ{˖]9Y3.{n9ֿSk,$tzw& 5>ϖVfId02=TbUuKN0#s5!]bedag?;̴sN}vU9~ FkR0Mӄ<^%R,4+AŌz  :H_Rcgq@yM3bvlʘEl"SsMfddyS1*;xBєv +{Ӗ' nɍ4 dX} uwCo R_)5spH#\-.v+f8H`-a h@6M*@*@܅s;m LPY0ޅ{Q:};H \bY;cXr6YeiGro;@VcKYV ,v]l-t27j0jCvf1pqJڛjIqs6n k,1lP|}9FXv&D+\i H\N5.WFˋۙoY9ߌ{o0;5w*r@i P[lsX'Ӛ*&5 䏫s`n4T56}6G}5Ы;UIZ(%;ZQ4c~\,cSDf &NM<ЯY!\G6O  #B<`Bn--F/" S^ 39H j,[Z nHWbr{f\*R5X?awhCr<ۻFjkQaVuM}.s7q)ivJV_kHbǒTf1'0{# NPx $ jXMyb&QMuO(2j5d*3,ʄT~'=ӌah}*|`"[FJ#3cx^ު[ڳ87o۪.1s  iKg aOggS@8UL[&7A<-/2/09?<0=:BA  ^ 5 ҆e8C)ؘ\8.v6,rU_isX˿^OZt4^հTqa~TI_r9c1 l{0ff8׫%X!yT ZAdu*2`*r*qzǝJHPfNjOBIgSJJ HFPצ,[f]pmมzNY*NniVӯI%Q$vF'*pij^O..W&V=[n!L8 G&GJ'~qvF^;33S̹"9||+ng3rCzquk/Wk/xYۢ3KnargXlC&b4̭8j'S/@Ji-lxqTQLϙhL`fLdOGdU,gftpw? /m6//~п 9,V3JsXu>CnǪ* x>%GaS,@=^6uPO~ȏ坻#H\ ||Dzm/ZuzӛBybOLbeful[RTt7ts~SaR|XϫBWV@෩>ڶLF8F5 ηLtN&̶ B~.?jrA`Ϩ(E63߯ҩ9qiV:{b>[- CWz6v_\~*=@45vMw]loW@2YrPA 9at^j8~6-(DioX c` * ,2T)`݈ ]55.#^N׃<57eaʙnHSdV0e^,ɾ^*֞^6Nay2[֯{zn}{LeɉA鞌\L&ɜFI\r|]v I> lH]N}e:όyj\d%Y`E|wNBw)%M)x^q #1;Ne 6`n}VvVkaq{L7̨{Rsd7x 5 GIWUkfbIWr;yvnu/GۦӺKx64m1u[_h b(4DPdMVCݰ&^$knYu*q۽tڕ@Oy3RPFw׊wMekDREB%Udh ^-Ȃ龜\ow<"ϝxKm?EK[&!ЧOBOpq{MCt A)! 5&B2,I`q>E g&i|t뛗auӷt;e+T͟\鑲Ph7 ݏ:̹\kGQYTI21N!Ff)EEݤln((n0E)]9L93IN6-֦F3cD '9!,-jf=M=t&pI+ǎ9r|cU|8'ˡ6vnmEKl$.%05D@e`ɜ%RVUU5;bKv/Tjnkoʲծ^?EKCWZܰLO-'`e=WdE0Q4٭KA.RJب4rzXVJ iKPջf-zP͆ޠ\+xz{ǜ}Ӧ2镽KJ,cպ7 LvzpZ]^UltjΘ4Ķ-+ôp5 Dr- v˚^v1lpߝ.P ^TYD_M˖wZ D)VH:9$(ף^gQ\x1Gseg&|儹ڝ@3H~IEr1O}Ϊ{v?F=OcZߒ*"39?zgDmIF|L$~Ғs~(h&kM|MH l}%V錃 7j14Oɐ5$iIw fic2,n2 2wϞH7{gsp3u>4=+/:V}}Ş敿N qK`;α2Tͮ.r`R YP@ K2Cӊ"yF`gEf?}{W群(l?DuM̩zHt5fGv^UW!" 'F]?bRC\zwsM,GeVW9cn܆ *]OI>T} ܸk<5 )]BUDf<=բg6?Z|SDQtb6g]ܝ.py剦g`^]i+'I*()adLAt؊ޕ+= L'4a׾:g6{g󥆡Zw`ˁk}+J$xSXCEX -{zӹa;nds ;`)glw05kÖ9tIj4N|p9عdJOVYa_S} v{-+/ݪ?8%ꈐL\;(Xz^;X gLvIu"]KER&%$,Pp9oWșܲ:31ʤ03vG}8K's5pJ~T{%duԛW<mXl)d3Y:)>&4Qp@j\IB4\pk`TOv=/;pN71_T# jL– y,AԘ$e1bU;_|^cM꺾sE«[ƴo=j'`Ⱥ\sy4o`T<7\ 8@E9L DE:@>* JTԵµ`)FXMOA3z]"۾8MqȶQl[8nx%2:> SMd9X_% 4O  ܀~n?4OggSV8IHI  .-.0/B=>J(LISrjLnޝ 53RUUU ':;:w#l=i{}U??`^]Ui %书t!MwZIILϙz1Q(T%S% &ahrF=Xis׎Gnܿ^Kû+ 2ܪ}{_?/Vkqy-ػeuykmv?Yd|*es:5SlDdjjE0 txˠ:mAR6N'=Sd5]5LWYEL@{}nEuXhQkY1X'-gNA0vCwp(Эw8_>乥!hZf5Y3hx L$Gf3Hg[`I=dqKg(bc21Tm10N р96b@2`4av# j /80>0xR"˒^lەkvJr{m[=?a11굇\G+qX+RRjrZ\=2SogJ0`\ =a*$}qI0o86oNjW`R3tl&R!eo= ʘli%h4Zľ$qe*Wyp#gjmYDDFk릓[V-qp˚yhՊ%#.[+5ɸ\ͽö  }p#LъțNWgDb?i: +^zj̓uۗ׫s]t% Rc> tP}y3ZFiE\( Yّ3=hDO}\}5҄=[Z12H] j : ФkAkXKF&Mg,Ǫ['CU}MM kFvKyu8MM0*TZ9e)P1fC%dg)Tmi$8#5D$"rCt9g.W&V*o赋XZl(ݼ={7 a+v210>{ÿa ľ8)XPP6PPb3 ^$@*%U%TJEAgO1U> OJ52"蹥{XV /neG+l_=/.QMe_iW۳뫌ۮS!3)4RʱGj/rlmL0"11FkwO.kP-cVfͤ GfzTVq1 "N"{['}) G?5p`)-˖Y #G#S/U.oQɄ0_Ss0ѳ#꺻jb%myGBo0DW@%UyN}>޵$9Y8sŀJI81y` ;3{!ʪf3Ōhog]>9oH8 K /~NdOmjzwMD;DӦׂ!{ #$IZ~GouM cU]Bir!M-pqΨ{$Y SSw|?mgg9Ū$)E^WBˏPWwTJUUr앝̗B vz+a/"nKSRv Ms:Bu 6$)5+ŀ%[5@ UoyO4%ygF2E-tiq6fmjV2q.Mޗ3%[344(G`!Ғ3Hr,BeziV8-/^v62èƥq\83q0`eJͥQ=pq]H)_JEE+Kpqd6!A^b$_^ %;ch~Vg̔Zl0ڐ!Oϥ1{:I*pe(uþ<kDtwυ.v A]t6=˃*n3!35iwjeg6fzsdKT&TŪ0kN8ၣ1(1;MW;q-VT˯1Bz7_oI`1J ZgoNW `Yum';+ Xg ˳L.=8JܞDGѧ7Ayty||}<=ګ =NrslefsJ}~|ٿuOs[||z$(MΖi6i6!rR~vhtIgd(VUU͊w2ϱxBb;ī^l__zWk){?>ynӼ̷9Gɔj\u0ꥧvAɊ3Ӝ" 9e5ȫsN{̬ã!dܨ~!`MuBQI0hō1BxS{*l k ȁ_Fr\?7θ 8T:~乩[ubhP#Rld3B MsYz] /k_݋w'WEW*sԦ{wX<_qr; oqh{ 6sjaw{_@~aDľyVSI}Ch9I#嬪,^E]y46|qӣU<w_{S!9 qTX6 9&3={-=nPne(k}vŴvIqr*53ȏs[{~QoG20;?{k1]ݏ$ɶXDV !->t|hD`8S?{1Ԏ].t Eh6_By8C|hco%OggS8 J" v˺5&[K ֐ֈ̅D.({PUUK)L\´QdHdMԲښi{1 `4]h:*QJoB;OB,994_rqq3U=ynP=jLzug;}*`a\,rk+㖾v%6  a0b̝*AZGMO*%uEr F9 ɦu}ldD;jLʖ $3d"WU'%گ>5p"+<`ٓmVx]_\-5DatԸ]5ӵ6̭J^&Q cdo3zhk6<CĈST(ۍj௪:ǧ3ģn =u+2 [ /8xBԮ9ٱE7C(u2CcFM8k{w s~$w Ad^`PC A$lIcwFd>&QFitl >m/fSSbjohj~O2]{,k\$ME '(tvF3Y.gumZͣ!9UB3t3S ;aMН=K]qWЕ Ȋ,# Pׯ}1{_AvOY?k"=|PZ19lj2 hq$Ö/ S+ރyjaN*}\ӻɯK-*\;|kֶl4/Vڎ0ZO_wܨǙEI{' t9&rPj覒iN:=m,mȅOf&v3Zwu ˆz&taaQ(~+J>Nk1v vаp NRQ:npT'3״ ! 4\>@m8P> ƒXUU2Ɠo06WNh~`kӃ>x5嬕|+ǧyy}u6 3 sV?dܛ ;om(:p8 z؇ʓTIWs6sg9s;9ᮖ6x~JWWYop,*9pSlG$Z7U+kKfT.2\k+E F<(8&A޵Qbܡ 5ѩ*VUw_'7>/[MW7oܚ[s9}l8g8}_8$9'ag{68|=٧ٻ4kˢg^IxT#A#KSpP=w݆0BnLYA.l(qAY& ޵slbײ dY(<™%53 \UږdԾ'~}'|GO[O|_8cӗ643>u6ML=O~:`ه?|af?@`ӟ9 awΞC8Qp>սq7lc^JyQEaF Re`AV(/;,޵4}[? 5¡Tc:TUUA_x)tɼoā+<4<֟WnM7u|9ߛソ~llN89>8 q_`? Anv*gs(~9NN?xtmPCϤ|R5!BfةxT .=$jJhFq7 $ a|V  پ@ GŏBQ*VU\tAwrНwߧ-k9ekl ~gnM?ӟ癞o޼s&7q 4;;oc/wfsu$Oss6qoC:8́6pzᴚX&M1WHkͬ5?os[OBw0'ٯ'!h$' .t86AZk9 ԆC9^TȈ;ߧR{z}l[NZ:Ynݜ_|k*3_1M߾q8 9 ocw?O6?lCv>;9s ?uvt<:]Gӆa ]wri{Ltn̓tso{wp?`o9p6l |ャNߩ>pNN89{wl89mCo}Ϝ]4f_;~@n] S^W"x/ HE'ZhKȮ_E޵$Ak9n' IaѡZ^ ]t&`UUUp}W=Mľ5;k9{o0K:Sao9}s6_s6MavS;`{ b7߾=dǗ$߁ Лb>hD# v%\~GIƀ#+WnaƜ59&Mf-Fz!LN\܎0{jŰxT hP+ΏEP[y,(PJGp4:&.N-̭ycn6MĭijpM849p>pp6g }>s;p{7=uz ٻw~8}Y1"@zIOh|vGu#('-`L`4:*NQz39rJBɽcKӝL >Dk92(qP$i:iY*WНtw5tzzuzAvu2ܖ޻;߿s Ʒp lvm;g'Φaݟ>{gs_n6[57|=q'Nntt tVc2y>pS pe6.s{-*Cc},`9ru% \c03ao8(޵+ Ԇ]q޹ABx, 'cIUUUtӮklv;H:8y81az?`oM毘4ᗛo7p6oeqg! T\@,}K65eV{ C*## xqU ŕuh&0DmQ1D8?wUP8 QDsUUUWĵ_ݚj7oM?cijz?Md4siLϽ>>767lvTf bsw8??۟7ppgGvw'? ;"$2?P~ѴvM+ ŻVfsW@\mw!dCMՋ4is#IL:PPOggSw8!8޵^:{46Zn/=jCBT;(3UB}}u44g曷&o_yk*Ȕ_oޚao߿{i8߾>9>k8}v}veIjb}O>?C2TxJϫC~v/Ra3̭^sZ/BE{ m13xblockattack-game-2.5.0/Game/data/sounds/cameraclick.ogg000066400000000000000000000254621347224572500227640ustar00rootroot00000000000000OggS`SvorbisD8OggS`-f-vorbisXiph.Org libVorbis I 20070622vorbis"BCV@$s*FsBPBkBL2L[%s!B[(АU@AxA!%=X'=!9xiA!B!B!E9h'A08 8E9X'A B9!$5HP9,(05(0ԃ BI5gAxiA!$AHAFAX9A*9 4d((  @Qqɑɱ  YHHH$Y%Y%Y扪,˲,˲,2 HPQ Eq Yd8Xh爎4CS# G,]6MuC74ӴmUut]_uhPTU]WeUW}[}UUYՖa} Uum]X~2tu[h뺱̾L(CLABH)R9)sRB)RR9&%sNJ(PJKB)RZl՚Z5Z(PJ[k5FAȜ9'Z(9*:)Z,)X9'%J!JL%C*b,)ZlŘs(ŒJl%X[L9s9'%sNJ(RRksR:)eJ*)XJJ1sNJ!BJ%SJRb+)XJjŘsK1PR%KJ1snAh-c(%cC)b,)cŘs(%ƒJ%X[sNZkmsЩZSLsYsZ(PJZ[9Rb+)XJŘskPJ%XKJ5k5ZŘkjs1Sk5kNZsc&BCVQ!J1A141朔1 R1R2 RRR RkRRj4%(4d% `pA'@pBdH4,1$&(@Et.:B H 7<'RpFGHH!DD4OggSH` ۩E61-&(-202,*)01/013/(%(/4/+&)(-,-)+12--'&'(DTL?M} p5.KbD>]{g'r=ij5 U> JPsV^Cݛ_d=ZM$?UMC^\ `π"թJ9kś Y/eOln%9Ԭ?uwi # ];~eX]7'ּ%seHn'Zܨ~vkyDR(TXElg}&.&{Dd[`w3\.!AK&&/u??8^wËT]Su/-;ᓂkq}AZΟ^-g-&#m=>ҐVqr93ݢ2?4]SÄ"X>ٕ[Psrfz| C>$a) OX]ʖNjA`魣6c|,YKlA]@yWZF;FXMf$Y25 (KM. ׺givܚl+U4a.e4# e{&3pUt^oW;j|,]U46aC@:s&i9Ŭ6n:^VETvDY٫,BHH7/G=|8J<_>z"/Zq\]-~"%zfm#Ω]k=֦IbcLq\N?uH- #T*|Z:??&W5-*\2|,[;0Yq՟=ۓgr WK'c8 @8YisHA/j~m`9aNxot֙bvJ #m=<œʮ_yl7ĐlIՔ"M7 m(aכ rT@%lVGKztIcD\gxmZԢF4ۇ)+ Y򨗄e؍Z5Ă&69qS{TKYMOWgRT l>8 M^96+J"0mx &XZI$o >W d8-ZsFfV|]UFկ@Zͯk-,ECR̦CRi*1DD̤ ( Di:!2GU2߀Q+Ɏ0dhp(}|DQ>odܤ)ğek}BiYFB-y>uu:$a4oCJC]x[wҀ{ zrF39jg_Mo̴ȤYSztGoc=/MoHJ,[Wr*>:gq_d]YB$4[bt.[Hd)Smmψ}b/LUHK`rt&<-//ܕx%)eQ\ k홽y+EF,N` =O Rh3P߼eg0 /q* 3s:C$#?f*'.\>í-s}Ŵ,4?wCw{͂Xk2k5^lCj8³V /LB  9 *d0⩇cٍ]Zbwl*9m8Oc1)t-v].CFR Glrn-,2?b9os&9d߾!ּXfj SW&Uz4 ºHJѦ xvx%F7.? 2ɝI%3zw<^.9ͱJz߹᯾9Cn ƴTWe:}Y >@@zL=W[o̢'J_\_z/WXW(/]2:Mdz){*sT_UMy4tteؕJ/YʹT USt?ʙ8RD_t_ |WW@p9*rBL+$EW+ $x@X@`jqU~Gz2UUJKTaC( xva|l_8s_!ylcIL6KNIGgvoa*}<.\gSA)` )藱S5!ZG}>wLfL3 ʽRI$h c^ZGI<8˥`4Q. Ҵ 3Ẇ@D2;q*dx.̂JW6e1j4Fd!遱Z7A ѷ<D_m$Q4S({joq2wF7Q%_Ŏ˜|[bzg]mc(p!,җS=ܾ^<ߚUc>I 7g\]S`<څE(QϷ[ޝo$ G=ۣA(%ZLM X@K423Yjd.<&jN?rM/rR=fCa[n#&>H:f׬81JɇzM-=T0\9Z-m5+zj ȉD랗Xnme%>zs]j@Р3s`_Λ˽4ɥKKf~&~EDl3{@ F;cͤG;Zz&Mow *Q0sfN`s\N2k2ꊖ y2iLQC5[=_<2YScQDP'0x';}9.Vdg vB"C\?MWcA&(BPK bDu~sHYi[}Nzbt^\)-x.>%Z*`јW$EUpUωZZbm{E{`ዠj8/GQw]i-reLߤ(6%62~m҄ 刅23j"#X!BZ! GbK64rכ?ww Gx~;mbxݦsM o LXثux:zXH 05#5"\5f 98*疯4onn ]+jB^|G j26|T݆I),08} >{Zq"zJ{uӧmF8,$hص@@π†|ps2Tݤ!μ1,[{61@ 뚻v\GNTyQ֊OggS%`!dk $..0/-,11+01+-*ir~~$)" X:P|_ ީۨdy<Ϥѣ>,]RV*@h-3p_^ڏޤ 5!fӧLݮJU.E)@k;9u\=Bo-~{p,/L}1iw'=GܴyNLWp_A}Ls @?%SƷoۭM| D(-s @GP}cűa8e+)۟\T Hn_,Оc4F/p1 OE\e;fý5_wv{l?~m0e?H{3Ǖͣצ¬Gzi 5'wvEಙ|exbeIy^1|&CyڠEoMC;U_7YZmr|i>+{ m+қK2h8UngZ ?䧃e|i-rpA%JI]y֗+?Ac^ZQSziشC} \/ h32<*q+nSoM<4Z:vkI.;x+@:ւMk;29oP޿>5vYƳ5"pe۟h x5sE ot:t._Wev=[de낫nAƶ64ZP|-;FjGcTfݗκ00oJl͠9O[1+kGx y *9%ZgpMQnPMB")F;lK5#ڥ6ڜ7a0;{威CtȶhD "fg^EBB]:]Gd&`[ͦ[$( ^uފ6۵شIV@Pq@SMα_,K)ޗ ўZLt5aZ @ANj[ ,F/k&Wp#x#q|-.en+ ytYQn_H0lc2졪`G{mXy7+DַނT6Af/.5ePVfA9Dr,+zYX -V0OSؚ<}^ڻH,6jj,hIYG&͑fad3IUi~3J{5V:WM=H::y3Qo.^ҹ|PZu2D>=]Z [FՄl/:Upl aJ{:мޛx>^&qm+ 0G46 0C:PT`_u9U:"yDtw:aȮ+渆Itf܆Ox!~๜ sc=tKhWGM AšbסJgbQz@H[9Z5'kHNUfʞӄDfG8 mRf]`0dB"[]$ïc-̩O!+K[6sEf<*5#\ysoӃD?=3s!{(&JxMqWwH{1\43=֪ɻRu:>9E33ƍ;lQ(fAdm-G|XS}v7QºMnɖ4d %EP'ZD®9D,'a|_3Ú@YB2*^שHb@Я!W.!3<iK6+(,/QۘU]FJԣ<ɹDܵS("`E5{KZ)fHB&o0L;Z- TJ8a1K+5k}T*n%hrXԲ4#@ﯚ;XgҐQ`@/?5뺹˕m Kաx&Tj6e% ~aja+P⯾`B_=-Mj3 _lLⶭ\Eq&0_{D$W{ra =o ۴B*@ zD:jNy,c9QЏFPFB#5,iѹ-lo>/ύ}ʱ{uWFak< ll-rkARVU!Վ;D~d?}-#5fZW܃Em>}mt &̗/i1(wzx̅H&h& @@%hb ]=Omo5[3-OQi|`!5(m-ו5W;.%Ui"r # \[YVD/~YW3^@TNd2,;:{s :F֋4VΉH&E2+exYHEʥk!=ݧ޸}^..ޥN+@K(!"XSьeeۨHtc "u2O妐Hz)ӭ)섃rR0c&i 3G9WhmOjF5vgPDÎͅey3\$AV*vتWbgii~A?wUZ1wu$o ķ1lTP,D82n^=k=t>:Ҵ[}rr[0:̨S&w&bQ0rFלf% y;0_JԂeV*g(9ؚv3XK +w}6ٽ)u4갭Cf,55ڑ쫷ӫ\d<4CwK,z(O w;6ưR hCgw(]]᷷^l̷;eg/CMe8kZGW̱@S}Fhngblockattack-game-2.5.0/Game/data/sounds/counter.ogg000066400000000000000000000177501347224572500222060ustar00rootroot00000000000000OggSH<MvorbisD8OggSH<bG-vorbisXiph.Org libVorbis I 20070622vorbis"BCV@$s*FsBPBkBL2L[%s!B[(АU@AxA!%=X'=!9xiA!B!B!E9h'A08 8E9X'A B9!$5HP9,(05(0ԃ BI5gAxiA!$AHAFAX9A*9 4d((  @Qqɑɱ  YHHH$Y%Y%Y扪,˲,˲,2 HPQ Eq Yd8Xh爎4CS# G,]6MuC74ӴmUut]_uhPTU]WeUW}[}UUYՖa} Uum]X~2tu[h뺱̾L(CLABH)R9)sRB)RR9&%sNJ(PJKB)RZl՚Z5Z(PJ[k5FAȜ9'Z(9*:)Z,)X9'%J!JL%C*b,)ZlŘs(ŒJl%X[L9s9'%sNJ(RRksR:)eJ*)XJJ1sNJ!BJ%SJRb+)XJjŘsK1PR%KJ1snAh-c(%cC)b,)cŘs(%ƒJ%X[sNZkmsЩZSLsYsZ(PJZ[9Rb+)XJŘskPJ%XKJ5k5ZŘkjs1Sk5kNZsc&BCVQ!J1A141朔1 R1R2 RRR RkRRj4%(4d% `pA'@pBdH4,1$&(@Et.:B H 7<'RpFGHH!DD4OggSRH<yҗ*(ĶĴ|6aJ_+Q|MvF\li?ן|mevmV1VO;a*O0j;bFKkZʕδ^z|Ȯ:&>9fTU5g܂VPȈbdcԳl_.sL]ڙVB=ӫp~/Zmm oC}2`UlItj+LjEq+1&9KV{o|uD1_빽/1٧3hZ|r^e'ד`uJa%p-8iּ鷞8ar~h-aLA$RUp#M-QFkh^*j]F@iy}v=&TN 1ut2q}P}fB 6&M$_ 9^0P^YۜF^-х7P{Ϲdɳ<H,#0NY:Q`uGzZ{j8'è~-^| e|"ʒ`(=Mw ^;$}Y{UT[B[-=eqlf8PLhUs&`ɐ-V%Mai9:5Ih[pR#9BcM#DPM*{dGfrB- m>>rsU(F|, ^ jwS+lh\`묚L E?=V݆Aވ].WwT̂D=T۴]@3=;84 FZqcj^"PSzd2 ;êJ + y(!m9Zrz9^̇ PL^ |r /?zz4hK9|aZYw<b]4 Xdq+Jo-OwU ~Aa8gg~ f9*;#8sab[OsȞhfp{a H!^"?]S*eϚ $t\ `dVp&eLqY݆fߏ9ҥ#z0F6&3 ϚDg=KHm#0@ dA+ADŌW4'\Z>Hl?j3*V_Ʈ>WnyubPuv|r_$(Ȑ}`iDml2$b̗W0B˿:oVVu'Ch?Ω;A5p̔a*auCۖFi{Oc <&|vxڨI_5&l µzªCt(ۼ1Ͳ5M:\NXxva,=nMV# n9 $A pWڒ-Qљ X@=q-i{QAte4+c+GhLOp}H $vzWPHq#pՌϑ?j-{'_h޶6rGESZ#C:U")LD3je0iㇸ\iiǞj(fJm񫕒-nRS5*rUb"fdI+ذ4qRSR{<[RށT+sO[֮\"O˾^z^R#H*Ώ:fbk%_l7]ObL)MĹv[][kF˥;w>30w tLro*bdPPX*1ioɿ1ԟn{B„:@3ti@۱WVj@{ K})b!( ԙuΉfyΕӔ|x16gdl7Xg5p ϟε\/|smL~(e?Xa XbPXWʴ:Vn/V{zX?/6Zu^R_wwlօCLةY 5#KL7@Rf!-SKg+~RM?am-POu0kU<v{zۇ՞bt\NwtxLCh$3W@Je^'kd}FkCO4MRB,3l&&E۷=6d7{ǵ'ÿ~]6{5B%EVL1&B>\9/Pi޴XJjGr\]kLl@xnax{=^v:u>^wxI!~ ـ>mB(ӥr1>SmAȵ2pZ6'i=13Kk7Ӌ.-LHLL9:~)l p,p8rMI sVɺõ$>MuLn~d[fKNo6@ aeJQkA .t~w4LpY?Rِ1@LcP`oj,{̸e!Ƴj<4sk^rSlneB4)[94Rڹ͛ W/WrNu~ beGI%VQ 2΃%B yԴQ;A  y5ɔJ{Ϧ]<-OggS`H<W)xl~vn~MXߓnrd9hDJQ%uIm)M|;FވU^zYGlW he5CX#TF8wSܓȄIJ|1OUh43Y9pJoMALdy+6x4/rycYxxA0 >v Lc@4Gfwl/}:tsl`(Em޳^Hpm`ד#SQ) >~C4Jn"K ~4,e64}٦W~5mƌgJIv>-;y$'p҇+v<=O&̥&.@ 8Lm?:3ʱR7mV:8MNfNR3||5fqGxh u*P9Şb6'd/6a?2N4@e-PB7!\WKxc͠5$%fFF0>j&K1l'lKGmyLxe5uX@Ü 0' )ߗ7V3qT$[6yNp:blockattack-game-2.5.0/Game/data/sounds/counter_final.ogg000066400000000000000000000175761347224572500233650ustar00rootroot00000000000000OggSўS]SvorbisD8OggSў')-vorbisXiph.Org libVorbis I 20070622vorbis"BCV@$s*FsBPBkBL2L[%s!B[(АU@AxA!%=X'=!9xiA!B!B!E9h'A08 8E9X'A B9!$5HP9,(05(0ԃ BI5gAxiA!$AHAFAX9A*9 4d((  @Qqɑɱ  YHHH$Y%Y%Y扪,˲,˲,2 HPQ Eq Yd8Xh爎4CS# G,]6MuC74ӴmUut]_uhPTU]WeUW}[}UUYՖa} Uum]X~2tu[h뺱̾L(CLABH)R9)sRB)RR9&%sNJ(PJKB)RZl՚Z5Z(PJ[k5FAȜ9'Z(9*:)Z,)X9'%J!JL%C*b,)ZlŘs(ŒJl%X[L9s9'%sNJ(RRksR:)eJ*)XJJ1sNJ!BJ%SJRb+)XJjŘsK1PR%KJ1snAh-c(%cC)b,)cŘs(%ƒJ%X[sNZkmsЩZSLsYsZ(PJZ[9Rb+)XJŘskPJ%XKJ5k5ZŘkjs1Sk5kNZsc&BCVQ!J1A141朔1 R1R2 RRR RkRRj4%(4d% `pA'@pBdH4,1$&(@Et.:B H 7<'RpFGHH!DD4OggSRў+,ľ¿Tco _Zg~ 3b^Ow4c=^Qd}.>:T:JTJ:rrikO:ro(J|6=cvIb 8z.,ֽ,>ٹ;V~;]|?0]i޷z~^s_iz4Q;e?w^ ۥњS_ ~{`A,W?nۮNݺ+Cw{?>'ֽ \h g/Cwb,ފؗ$T@Ȟ+&MV I1P$⣋nGnۼ5W?Iz;?+$11#R5P;Zlj himA.>&l{#̸ѳʚ}Dݰo|!E.IHJ4bECO|U+R) j`}}Ep8B7)XeZ/J](v;s޶lL(`:0̔<_ԋf\ZY*9;}l)Ia^tK}OE0۵|;w;`n!м~/)1%zo#A)q<FnJABB#` p @hLL'^RQ%(WpW>vQj|W2tJuF'SGIK="}%cm'Q h32k7>`ڰ5/IA FF᪇'ZPcCA~#xwx3fl"83ΨU&XrX~|;'R Gz߫)I²gUr) 11%Q؜tGy"6ht]4V섕iE]2Ƿ D$+"O*#'u X]лp.2 EwU?CD5Rpnp4s[4)B8g=+CslHYkfX˿,j¨& SK,QDû>[,& %( iӹdpojrXX *~_⧕0eGd R_f50'k@>9*:SőWlKLXo7r `M PEV\d]I)!v5#}A}Wfk)o|}o >>3=)$$wzC{ +.B:g>fSj0gZ6d1 7?}6yd::A;#1a+0>Ae;0feekŰK@xvrn;vt2/~՜w1}u2r)yPߵ^T|BM,/tw7sۿg}ʆl*9Et,<#[!"*[LR)U1~La0.YA0aK"d9Mcɭܣ8xH_3т-v}m əօ2#?sz5!>դGt1mH1 f@B(cPbc`Hȵ[~\oDMڧi2#*|Q}D~h+":]C[YG*j\U$u4gtF)iTtx0hK`></z\!#rzD[{$,9ԊE}rm7.&'aKFDD;C[H讍K>. 1־S[0[G*8sqwNh1ЕYS`vg5,"qx,NQe Z>Eˋ/,s'"󩒖rذ騊'}'_Gc6Qk8=C\Aq88kM#_yٯ Z̛U;d3Tjh`rzBfjcdsA6= ZHhĶHk,#$E]5# 9 'Qcg@3T5X_ݼ^!8OGV 趧1ZEk*j,2"meVٙ4VGwn:`d;Ol}#jAB& bY۳sc9 $elA\ߩ $K%fk[R4ibr:)0=SijFӗǾj5!z'#ʤ:#}V;tKW vp'w&_5$P[vQ!|i I[v~v8Ը7Mb[7YoJuMCu.x[V( w!6Ǧ=PBhB6-&Z7˫bs+S1~By8D!(w&Y -ˈIҼ-[ɱ۝b-#,nD=D%pӭsw>2\2rNP3;[gvζdb/QG)ŧþiQ/uҗ]dQC!dWQ]dThԬ@D|Dqtw4@ҽLy](ӟVY E_ө6 ̇滍iy:Ɋ֘<=n$S1kV&RU/1p#ۏ__{Î ,5ƴubp0>{Jm޹a/]Gћ9_9/J)Sջ&AL"e𽜂bBJvF)eIڹ5OYVګW=t4U0Ay߿}\Q֞QY_ ,z^dVEBCx]EP\dRQEX}sG finY Dzs_%:E_DB(^xgA,80#G@'=C#EOeu_+9ծoI꒛ZMN7I\uDhG"uaG[ Z0agw4J6q$!aV$l<̻*PE,$mQ7$XZb<8{Lg%TdC^w$u.԰ gAgCag%T7am t MS6tp5:9ʱjF#$tnkeNlapF!'SmlY5DCC_58ӖG۵7Yk*vt#sm y<ò N?n 4gAMk] wl blD&C^X̀L-G7k4ICuwZ" eGi|qDMqpQ/ #Ubo]RY5X/%[bE}Nxe%|;IB` @P ش ŻhTch|o^1l1ڲkYOggS[ўSI4D~XtNwxa{X36JzC*wwS[,k81_W˵W$rF6~X/SjQO0mq/נVwPokK3m͍) q\`o7)j춛z%MZD2EW~|t6zn` 0rw@όH Cn%,ɷ,G>㕋Nh4Aud'e6čj^By8SHqح^Jõk6tcJ8gKp,0M!@Ŋ-M(-CEo.&ȃu1;xP{x*w)ѡ҆<^68#1`V}S0+?]2z~xWԟU.W ,ٴS` BFضcG ;=Q2)7Th䵛3Wz5P>~w [ƻgue֐5![8 ULH%aa67uYH&UA/BR#@ٶm[iEkK.@Nơ^jFJZiViUvGs[j ,e%K@!/NȜ\6H13\9ayᔊYxI7u{e5d>Z[@۔d6K7BPtN/ZlW2wp͹girཔK*X` A0w 1y+3"xQ(' T-i([;L>2=wj`%$,Um\Xtis0xQbtlbr]zg63xqǒIR?ؑaK8v`G,i? )i<,Qfo@R`^\"+0 ] v}/\j"Lds>a u댏i %+=P|Y|;h59|jWÔcnߓ ,R+u $:mqߋYk& ʬrW1Bvx,X8 Q4Ӈ(liD9+X5 ̶?0=W,Ǒϥ@[2}VY2k1!_ӗj'*jϯ)pcO "s UevVTtIs7d~+kՂ9ō'uICX7JG]2=($, %| G:j_ɄlICig}ʍ/KmUnqy{.H\ sYϭP_8zE˾BG4HK+X**b=_a7v!TJvv7ykM. ҦM55\EoyD~bolR!^\;8Aێ. ?` =LؚހiڕG"M Fw@kV1망)IC/W= HYeX$>3rѤ!l= DD~diR[B&~}R $jNMo4gj'aP:hOixOjNnL> nb~ ]sQz{30*EwkWSkʊ>^VYM 5N:>5=$qn,r9CX P޺O`ʱ$\`!8n_b֊-䓰a"J絊j`Ck%c PN%۪2| wX~y2^q@kfqo '?U@ Jc0':ȣAHBEbe,uBP%tY:&sr >TКg YMK):~䱢 ^,"ْc[F MYHSY I΋ǒs^RNz+{sŸqxlz[˹}}8OV(K̋X[o` k^od/X4L/TX dWw.h=Q9oa4h-Yt-ips6m~uc(+>jpGMrbTt~ng~% O` #<7;mtja0'ՅWFb-x2Ȼe7q Ogk>uqcvGeE\Ixi MkW *L $!.^ϧ*^Fԣ1V`~\*iPܧ!]KΒxQxct 'Y8x!L!yFB$Z[z/G4=]Cx:+ ͢y Cm*b"~2ȿ%h5(K㷜n>ɇX!YBΔnU*,2Ņ,d 9V)]$߁\9z'XBTbE]PMpĶ8ו[׌Nxӻ/QÆ~^FY՝JSF5SoC-+dۥF㥱al$|_m,0gӪuu; Wʮ>]D.w&e,fl/9M :ڣB W^ζ(t'~Z_Q_jJޮw0w.kU6r j V-4?3 {JLTͿ> 4gbwӛ'}KI71Ctx!wFD\=|,_,~rŅۨjLFԂ&:LZgIҜAš ;x& }y!_glbY}oLWpsCZ;+{cIR셳*/4X{V`>K ;#Mt bI7IÔs;,nNpC:lk^͟P|{e;f9H%SX0 "Ek%J@]iXXz.>a ^G}c #Du-zӊ<#.._|PD}6i_!IB#WJ7lQ+sn9h؜5QzgᙶǏy XKƻ_kA%0.[QMj>ikjnBBRì@h:D6ILښFbta6Kܵ =l`@T2f*R*W49K**?KHH=Iz.ZLG#7s(X <'- W̏לմʼn'XuKܙ@{ړc8 :ta`~LڈBȺ~G'_N~-w[F>1c%1d 9يaH$& C;QsnJKPp,@ ~L4BFTbZdN"z2^ڡi,CILA k]97 &-G0o \O*nܹy韃@_-O{4Hm`$+4<]tW lX2'i=HI^K:OvjQtbZ>{{QˣM6j!h8ajeMgzhEA)GZ),ode@T+Zo,nj;#O"QLc1;$jwʺjX%'q;gӧ%*Gb~SoDMoU4Aǥ?c\;FV*+z= )_^Wg nKZd1׏!7Rr>92nMt"ْXվuFqfOS{*;WS粊QvoQS6 sw!+TaHBk/--u>֓򱰂4b>*Z&C.õ,֋]FUV#'D/q,x>:z (A+ 2>Πqخ%NΌKXg7σ%(a9^G7*#Kpj:+:w\,9_whoo1MM@rBBG]iЪezV+܉/^,0 =냁1^Rߩ0qNqyF9*v%B57R&^Hsu &]:*2H(-mm~ ĸԥ+K&1Ҝ>KM#R9=+-29MVfy&b-I56v+Eaىk娧v"_ٛV$'W,k]‰ ^ʊkGhVBuoI)$,$8[\yIC-&TcQ%Zy("1Kub3)Nfi.N{2yےm,zYS_NJ4^Jک⼛"$}a-tk> e@53 m`g5TR~k\u9\v6ӯSvoa o%+-( 5VY:$Ձ m1ҚĶ)*o+ ET{T*cg]ϸu[YګB^\ \؃69I~g۹w麞-'J~|$z25Ӄ9w5Ѧi2"յɹyf-1u=`UMԪ^m2u,儢R(%p}5$|m$vIq/:H4jw_Gz0CӅ ?Bު_{}8K*z/99g^ȹ,}T'=]4c\d{?otwTg9J0L'f@ʇ0q#<9o͏$,P/i|\^Q?blockattack-game-2.5.0/Game/data/sounds/typing.ogg000066400000000000000000000102421347224572500220260ustar00rootroot00000000000000OggS$hDלvorbis"VOggS$h** -vorbisXiph.Org libVorbis I 20070622vorbis"BCV@B*c:!B)B!$C:5cGdBɁАU@WPrI-sWq s gq %s9r1sWr)-sGqsGqsm1r9s Rr5sgr %s gq s5r9s9s9s1s9sn1s9s9s9s 4d(( @qGK$  YHHXfi&z(*iʲ,˲. HPQp Yd`(8XYP GM$<<<<<<<  Y (dBCV@!CR\ BCBC)%cSA!|={АUa8$!b'Dq !$Xy$݃B{˹{ 4d B!B)RH)b)s1 2蠓N:ɤN:$Rk)SLc֜sA)c1c1c1# YdA!RH)r1BCVER$Gr$G$ɒ,I<˳<˳ Hb4:.XlI7Liy1%sBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<IDATxܽ 0@kPt|pťED(i6Mmp:%a9Ĕr~9%)"\`d4}12Ϻ^ȹ[bv:R;p30 g`8p30 g`8p30 g`8p30taDn1 G};u0udM#79?oixR=S&IENDB`blockattack-game-2.5.0/Game/data/textures/b_exit.png000077500000000000000000000056261347224572500223630ustar00rootroot00000000000000PNG  IHDRddpTsBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org< IDATx{PTǿ"@(*"f"?PA+%x:eeX9ctrbt0,FH"CA乻?`ݽ{e?=>{{]+^ @"Wȡ+aH"ERgğǾ8r!"̪݊LAQ!hh Q+m,Cd *N򔵷t/8ɿNFsW3cvBJb]:*+yHdf'dtT@7s8J Q?Qv&<|h>%GiaVBlll>vaY ]_6~KGIavB>ຣ0m i,^yT􃰷8qz:6rُ#f0։2fe 2?\Bm[-+H Hhhc"J!uuȫCjmJm\~ r9TUxH&%H+OÕ+@iSj%?6m6xlь!;;h- Jb2@MQXHkUBBRJSO9'jfNu'}Ep!*ռWPS3|q ^fs$<{OCTA_n"HZAfBЫM6.\>%L[Qa pqE4=R&'-8i#O\O[I,C}{=C 1H:X )na? nm[-N9A4ǥSCMSDHnu.ki>T4*y8Ie B/$nrBo4m460o8ga>)xCWi6nĆ,:Zn3hhCpf0*UQSj,}!z?O)+bշ.?nwb:w>G]44t4`wnSĊ-/mYV^٬S(k3u#xOFbƈwbX\r猜/`.dʰ)8Ct F1u֯::jm  ,2ePSjHun6dOK &L-K'['|S BГ>iy8ek$OIź҈a_q8}{LDF#75m5(-DCGm֞eD-$V|^>c:˕ J^@UK}tČԶղڏi0;RVj?GI,<ۭ Q mgwRiTةI8 ?VHK%(@RSqX#Z!/me,Twbו]$#B9&u]߇I ae\\@)m6$ѬK! Vqkn1tH~)f$$5tS쑳J,VG$Nf>J;t/\\/1i b '52G:.o#(&_e[cBwN^ s;cq+L2[ޢΕ+8qz%dL2|(lG{⹫vZ$]MbV16_X'hh]sC_'眤}1?krQ ΄- 9z5E k; W>!B˸t'BvO^zM+#0)ߡ&.DhKW3 ;k^)P?o+=L"##YYZv@! ֤ 1!B˸rP^Xo Ԓ4)Ajy*1BDH1gdgVjk`E ^1d!B(i,AXNŝozfi0& /2zEƬ YjJɌv~hmiEKkKm+P{OR,BD@O)yX+ lS=xIENDB`blockattack-game-2.5.0/Game/data/textures/b_highscore.png000077500000000000000000000060201347224572500233520ustar00rootroot00000000000000PNG  IHDRx(5>%sBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org< IDATxy|Tսw̒L1` V XAHR?UJPph}eZ`Ȣ>|TH יIflwL2I/C|s~s~9s'­'|V=VAv{.>D3\xqrCֶ@Tv-.w]$\D|U#8=vp NYW`8lY^`G QB#ԣIS'ZUqgyj۴ktLl} ~Y_i~kiksع,HX666L-q,K^T71A,bKzV$4G#_\[>/.F@'.&+-PccHThݵI!$νaC8wŌI~:ɪ(%+oOS;2ǢӮN4<S< t]6,v(w'V!YDǰ+zuI'Q溸`N&K=(AA:ͭۨp (\>W;9 &D!(ܔt}6Ya(wq3!?F&̢c0oseRaZ98[7uW_f9geSz gv"O% >f~CLԷK7Oo4&I!g~ϟFUINJ.7$7uUCxm;|]i,[۴鳞I1,HXğS+c9cB1+ j>֥lY4Ÿ=C^>*3/yj55)4y{m,3տc^c~Ń11fR@v>f商,^-3mW糉ǂ~ !v79d9淘{>&ᒟU3UTm`VgRBowλJi#9 $]ݺ{t6\YSBlnʡUW濌{͍9qbv7 K5ɺ|d|Anffsʦr /1x"~]>;ЏIlǃ-v͟}SJ:~%b_ 5&1/a]*^z^gTOhq~0$ >M#EF=8R,bmaƺ#Oaa6o7(K&SNq ? 3Տn-}ݺ{ɷ|D;U0eɁ< E+|NWdsh"D<>17M #C9"r~$ʓ8b$r6۴Rx ;x^c;c&d\X]#Է(eկbAXYYS_ʛp0T=CܬA¿sO1 'd8GmIj$@4^$}W)Cez467M[z/ib^RcrA V e> JZ[ha9-S(r; s̍>88ϲ_Hٚ%c!|<ʺe0o hdV9%I/waN؏RD[65Nj_y\lOÿlq\dyw9 3m$68q9j&p^H,#98ҚA/$\ty&~.䂜E뷏B{JAŊ5| ~zw.@%QF@(\z(fCR g*֣k% RxvjDž VLr-b3_GG,F%M'R*#zoj_H(pTZv m .Z,Tο; I4o=H`uv5}}KVk [Pq )Px\t@1_3vvs/̭*ht[WN&?$d,MâqDFp"#aur= VO0ydSVIENDB`blockattack-game-2.5.0/Game/data/textures/back_board.png000077500000000000000000000156201347224572500231530ustar00rootroot00000000000000PNG  IHDR,X&?sBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org< IDATxIrںo`Z)eq}v3э<[np\]f] Q.7 EUȟ|(,BAo?ho`0`0`0`0`0`0`0`0`0`0`0`0`0`0`0`0`0`0`0`0`0`0`0`0`0`0`0`0`0`0`0`0`0`0`0`0`0`0`0`0`0`0`0`0`0`0`0`0#~>~>^InN$]get874BJ "yu;JtIci)5,k .^8=RHI ^zt2 z{( ;uJ-e$jy΃M^qX{i?:gb~ЉU{ҎU&a^پt<"`etUǩ T^={f*+."II6;0aTtU/YU&]H&ZTzQI."X6#=>GUFIYxܜ./ l+?WzUX$)rP:;h]ۧ4nRxݛOVe(zXw)tI;K{:j=Zn#0ڙGBMb&-`-%]aq$arHø8:jST!BY)E?+0T?c'u`-rGv@IqڊҸޅ&nTIIX_[E5Zb͊簜a?ryH˽CQ|=RQR܌Di <|=p2G^ѽ3ҹajƱ v0ʥǰ(D+;0,̈́wg~gXUR[XHcqv0,|=n[~M˰4A}<saB&W8Sv4/|8),6Ke&b̅m.WջpԀ(]ی*RJ~Q[۟\h),X.NW߯%YMf}TvnC:>i^EWO9Ys'Xn^s ^sRn۝`= u Nf,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f$t\/Gz}GpKEW%R*CHҾB%J.RwI_%}<~Uxl_[{r@}UU5UsVIQ/)ױђ,3VIqOJM+(I}M美`/BӆL3<2X]"IyC]= */Zӽ {fzT+YK sP?FSRף64^b l@_Lkٍ5݅l֜JlfwV ?+εVF] s`z*SJwBaz}6Dug@Ӏ5[V=wi&zȩ/iufBkk[QؾDX+5aTfiCt_)RC.%vW=r]go-.4KS} ֬bD*0,64.y\t;h5kB6wiwku`efGcMUjvt]7o"%]PW~k<(] ݵ, mA/N!Zݨ Z^iYpݢb5˼lj|J䝥-AZ Ve<6N!abһ tޞmV,38G8xuw}=`t2߱45([Kn-_ _zfwW,H;HsoHLp0`0`0`0`0`0`0`0`0`0`0`0`0`0`0`0`0`0`0`0`0`0`0`0`0`0`0`0`0`0`0`0`0`0`0`0`0`0`0`0`0`0`0`0`0`0`0`0`0`0`0`0`0`0`0`0`0`0`0`0`0`0`0`0`0`0`0`0`0#YpR{%WWO׹ةJV$c'{8AUEeBJI^)ɽVJφLQA<]cƃ,`ER]!HuF.J F1+*z=/tR:4>HfCv0,W(w3j*4Wf4i94W3|t8MnFcb]&q(/'f x:SO?u^ +fpag}};yOɓp/_7a:{1rfxiGc0qu]JzYE\GsRFO^3nx}?򴧪0^g:3Tv9JM$?^%~v#;~߇%b{LuWBY cNw _K)Jugro 0 VK;}z׻_F#M6*uW?S9z{7>@~d4~솨N>?S/A0i.X>_8aUٻT?3%9]`]$b/0=唃`M&:K'3k7Mԟ]`0Ye9_'zK_pcQ?C}{Wd=qЛNӯ8-uu>>s^qON?'#{ȡ$z[7\$7Ϯ9Ro}D "#EO}}[x׶q^:^jxM4k?*)^au}ہ>ۛoɊKջ4DNAr}H8}}}}z;!dIug)`6:X]8}/o*=`Rpd}RVN{xӏW.N{>qR:S?RL Ekz 7_{պcas8UBvin"so"c6X$L+'&Lǟ nU'.N>:l:b88٩"/|+9 'n2x`Uty4Q+E+EQY\x ǕWJRRK}qdϛ;}GN0R64EFQKGM^B7FRqz Wy (-x]OÖ"eX>Ga]E!U4|WTN?><.ïRUǜ#"dQ5*;4 :                                                                D"/9I׏ mu7 K^KzZ#rkS`B=ȚT*ȫ2J'בTF^%vBp:GXy)RoakoB^6.Mqz V9)X7Kmntzt<S zKiPtYÀ$\;\;;E4$(X3/"+K$NN'pj͝ӭ Jc̈́5Ya*^0"XKyi; V Ԡxڵ{`3oXd +JJt*6qi6ʢ*J4o߻^alNVr\Dl)Prc^ـ?yyέ缻xf{\SLnTm(9R(i|ܜ:AT9?_ay0Ggb8[                                            G~,@IENDB`blockattack-game-2.5.0/Game/data/textures/background.png000077500000000000000000002205321347224572500232230ustar00rootroot00000000000000PNG  IHDR sBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org< IDATxy-]U;՚IHlc"M&0b` B$!! SVMw:c2uJC^sP˼g<)yG?ۧ.`G>\ ^|pd׫ l~e]l.0y0y' OaȄB! %0 B3hFHB@$1)sI} X,b!-U,"eWJH78q>A 2k:>6HrܸjؑϷ2W<| 2xt; 89 lgƛßf~ל&B!4ļ_ko~8_3-ŨKmNxO5ĻRk u e醂X OA ("VHeL^e ͘#4QLV(ǬS: ͷ(];6ˋr1T!B%;v.WNB17D+T0 sݲ>* us2GDɺEⲟ^bȮ?y"@k~{'V`ͣ#met֫:C`ۀћ|wq~mCB!_pWdgvULtU^̪E(,PjPDL!!!-s$Ѽ\/pyha i;̽'g[36$κs.wj4'U6ZB!9=W˜6`NŲ d_X< PΛbYuWwёK֓@ mF$``pOne?uU/&qq]t+s c뛁ڛo6C!BH7̛0/iҾAdR8榮[֐>>I맸;B#%/tO+D"dM5|A$NwOy~%mqV>\TCO>{;l&[x]\Ou p Sy-`uA} ڰF]f}aH\L'lg2=w)%\ǿ~3w׷"7}jr_`+U; K B!fx<¨s/S.yb=_[<s<8h B!Ԅ͋)Z?t/׼ T/ R/]/9~ͱ7BvE̫c y=&2<&{G]a/3wF>ޅYso臑9l~rCԴB!BÌ5/}܌k̮4jIa[@f3<LD4]Mc>5s CZvDd^$u,4q;wO${%$Z`x4@]3! BL75\9f<ݼ'߻@ַWY ?p] !B!v w$veJn:n PU7}2kнj(EIƚT#K{3JnpaG>d6qy){0οH|zW}c&`҅@!BڧI! U'cffg;کWi:_ѱ@|MC.1k͒d+8.6J-\VQi?U۔n?:WXJW-ԍB!/LQX1sꖎ|kc {2)}M|gsqm;H}eW@3ϣ YYp1v4O>~3xvg]V pݍB!c2րRlQ@W Cc !ȓ~K(@&_5f ex5@[>iE0h+'ؔճ7IiJ)S`WPx^B!2ai;o=W[v úeӞri#_(aq~+bވϔY̊ y?g&?O563OL*XⱰz,&[gc~# B!du(EBsgU|5bd'z\L1Pif&5nU5OBt?X=vwoܜ}/ u,+3]20x|]Z !B!sSZՠIyny]xiO*[q׌zz Jf$P=̱wއz? 1?m=<8_woW'lTgN/!BHLo6.3+Sl|4]w}_(afzZEc^j AS9\Y{*՛7B!Bj@sk{h#{H32ݙ꼚7@t>y /w5_3s|Ayۈoc;Ų~n)%Tg t'=ĝ3&^Ƌozpe <B!O6ŧ۲֛$}hw͍",dqτ'mtC Eb= ks1x5-"_]/'R~K vlkF|++[7;s5?~?(>̹g?ϟEi|W܃{6ZNEC!BH;,k L>\5iٽx(Uogɖ+kak7VY&oO7_fl|Tә$y_g~?*8Ռ4B!v(^ =@H8=ę6\ 7 ?=` c/xńBH Ea%_kJm]svĥqPXvK}f_7dJ1֔&p}ƚZ&LkW.ҧF|lT8%`q_E4pM| ?P*o^k¹Xj Y `ەH @ ><)ID=cq'#Й \ao#ʶb;Jz8~4ųxZa !^"h"P"?!9 ao'4o0]cs$4l+P}Kh~d\)Y_lțQx ބm6f0n@΀w42o/(?i4RJ|e/b`וq%D{U$p z}*Z\ 9{<=71-Oŏ Vvȩeo 趏+j1EР`ro:x{gB\,f<̜ev"V inߊ{|j Sg 4!rba&J$OLЯmqa]/c~f5_zayp?WG'*#}7 ^g?8&jG1:ܷc"dHܿE K7T3>)Xp~&9ȉ^]fؓ= 0ko`k`4p:؈!n\S/0#NBvKE jî#̖$ //qO$"g?_6-w.mIXh#qFI}ZAL8?V|wX.`c?_M'ip8,5J#>ؔx^n4SБx`3݁Î*/=YٻMWMgOב!j[37'c{9rw5, l '7~4ݱuB!ܫ]]tp''Pk7@U\|Ό+ܷ7[:W\ ȅ!3+;B!#+ C(Xi+ a}oK'kʾzhS!Ez<\̾1%Fk9?G)Iޓ'o~874|oů[q=ƎLkX6j _b࠲!upn("J>&:,xn3s'QۛM'fVT x LwakW^{wG31>{{ /X/*rz%SduM' ls\-gۍϔ2Mk\@Y4ׯ̭$L EXԽl[Dm"W]ŏ/?oõ[[xf#l{f6a`!`;\  U,?DE Mi F7J~b4'_v'7N&~ĺ?`!m1a<|v G8r!4J`}esk -i?*͸~37A<0.#/*5GWIZOb1_з_<ƿ1-ܻ yN&`M!{*1x/ޚ7{rSHc8KʆfM{`o O$?m\Q 0!~j]N)?/~`~yMBSYW)p {x׼ GEQD*M/ (L槊z:⠳#fZ(b%DܼM<=o8Ŀɦ <sϦJ IDATBJ}>+|'&Kghw !W@[+@(.te%>I)C]O2Wcό  L pj^-=?瀰]$8zdvxK)??9wȂ\ l7y6XΛI~au B2,^݆7Ƴv3;9 3O$FAE s,Ɗ2HV{/toy: 0@f{b(l޼a C/=|m>zKC kǍNc'*cK%SG q9rR޼9l uy5TXC`a| ~N9 d.3~=4 Ml-BHH +{sEbt8-s5 @5&ȜƼV! YPr,̼}؁ <oh6,mo$3`jIel&h|L dx2'Oߛ\2d.lu B!E,*>D|k"U7=D?^ki%s-!%2U ʼ]ofBr49_?7N=:L~ n/4Wrж'Fo@@U?|pn#\ǁlm 1[W=_lw_{wGx `IZ3#oՌ~N@ rvAXeԝ^1ifUH Zrse__k62Kz60^.#MY! ! !: 1y88|>nc<`vcV^A/BY {5~wKiI"l_%οp0$DOKaP/;vy׿]9ynz+a@**$CyyIEDA/[wq'̫U [C\آ!Jc;O< ti:Ku/ښ3h# 39RW afp1zd!~\v oyzq`:H)jH!3nc?)%N&3?dbuB!9̵Ӝa«Rlzܦz"3[@/ i(3D=dE ڣ~ o`Zz^H)l_w'p㧛#۪ u~;Kri{ju!dYn e6v-{\#Gvr7VjoNd [}񒥇 Տ}1^nr 8,;L)dwY pb/j X0+pvaX:W`ے x7j9,WuAo_kwb{f@,S}s?߈|=p~9Uh \X!IV! \wBYi,*gqUFL°>vX-%0Bs|J6E`@Rb/?,}-67+xx??Ư/Ϲ|tHX5p8rZ']<_z%tYܤ|Ax!rPs={qK 7?V+E/+]6G? L޵zJrpq0&Ykpz:Y! r=.ZV6N{a{s=EX\5]k TJXV#0Y+/? W?ࣟ)w /ypo}EɃU_~վw-Vq1  P38%\۠B!(}1 4Xt^۽6>g )IC'r_f`*:k%R*q܀l6Ӯڳ*#zbe<b"zuDRBJD{!@wsI-A!d5(9(7'k: 1;% h kN W  ~ J[t=c1h4`?O䒄Bj6혣dEI2JDH2)E㹬NzBB tJ^Uė}ESYO RJf>|\W}'q G#lnouB76]9xeU1$X C XrZ_5i Þe&1&166Gl;=_!WTI ^jsb҅=TzB+2adx-lnmv0&Ymq`||Nh Ӌ0^;Z@iN{V piƋu:DiFB!TH.)r)䨅 \nkFGt!$R#+"W 2[9 ;ԗ}J8{%4B!4BV `]ULVg<5:ôaBV|Rªf܅,2IsBCԿ=:?:}#&מC!!4B=<fh? Lk,uAo1f3Xz%XfMDB@%8%߉"i  OdvZԯ-t?|O1BY=rN s72ASs ABBh {q%֊? zKWFkox.w !N2ǖ̼)<с+>)$% h xX޽k_JO]J [Im}`͌$rzp8/4xXS'  $Ri<i4albRZN}pPNB! `{fYijMl猵9ҹg~0`!!4<{,$eǗw&\Uud _?}TnBW|0c!ޫ>t1%-mN $'H:s6zf: + DhCMJ//Nԅ9| l @z;{; 1nE!DF6_ZbDͤy^_t="B"h s1 OxYnFY) eZgyH|)3)*;.3t0pH_O|| Ko~4go/B@!d( y`gh4Q,`-* ?׊P׹Wpƨҳ}\ {E_S-/Wlv.v.5raHԇo1nAvlDS~Њ!tJ {Q!}\Yek&.,*,ȭ5O* D9џ+v.\YNtZ=̗ V !imq0eٌe鰲hPVý0'c{  h@:C40^#<1ro} .mK_;)?{P6_,j?ugj3ȉ_ꚍu-;v2TA 4B3w7TJoQ+qjc|߇_R _fB!sEqKy K̟R/a_z<_p],BzUC@zt di&>nMKWeCH8;t;p ,?>騌@!*3eJӎٹm_G2sԄ/OK|r_xI &Lu"#`E!p&JYHO`B!JL48o 9Ľ"<˛/xRҮ =D@/ rk*q{*qeSm[/8_.<e ;#Kո1 x O:Z!ZŵwQT~k؁L'9i/ZEm% =4D D-+C,`up>:B`o5<1L[cL(#!T.XOj/q\ H'! b`cjKa%̥/z?㄀ݮAH@#c.pa$p~C`/.,_!5pq\LKB`oX妑AG3| fBoc8V  >g יI:iV9h̽nkCH±H\=: D`gP>q:?0||a RDHCPz'-eM_y}fWV ;G$pq\cYGcm<̰H$}l=3rL٫|#GT pZ/"M!di]n\ HG$6F'/S oG5;n#z'!+9<,pU*XO&N݃BN sU 3GU2en^{kE6\ SFY3HT9ﯥf&@HT 9.[* dM Jb _u7A!BhmY뿤Le 3ݶhҒ~U+|cȩgY+g*l;paWL ]0 !4!$1gK#reέ#Z599]HvͅמgPU-AXF SN Z\2W8-Y(qi K!6Heψbw{|m2J藪}U@R]T %( E+=ѿLt@8-!x}t}`HgtTO`qտA!Ru,H'X(U̬ii >"e$ +WI% L VbzkRm )D,qsŇù+@: I[OsBH7TqyRxf̢t& \D :p.e0= 1t¦>f-% \q~y5BŲ}m"Z$F !ڮ)Ez<1 ]{U&~Z{ۊN xXHABYomB[g וsdj8@GxbپyyׁOCĖ :W| }ʡtB}͜z95aOBVe]Kͩr=Aa\Og k"dh"lkPx^D]*!3b[WlNn<Ov\ x|Bܥ.ٵV[ZXkHF@5 o&K֏i "FkR&|eȫNڧME.8&hv fAK>^-ֳ :UIl=~!d-(_ ,E%cT3]RPMΫn 괪@4/.Ȕ$ٸx-@붕1&,(lXC_;Ƹk;]k>Oa IDAT&ܔZ4% +4Nѯ.N`lmX 8XBYIO{"͎j&58O뉗 <Q3a$֧(eD[fž9`!V`Dcqu#]/K"g9%=|҄uC鄱>#u)MNpgmBe?BYmrvMQ˥h:IȧDܵi2Rq? 4 uay^Q 2=52ǗDg؅- pdbB| ה҄ M4&\H'ܙX4^ׅ -]Oܞ r_;X4 `v5pWާY(pP (B_( j؃+PBgZOXi%`[F/-p>XFt,=j_˶@J $T)pOWBȒHK [c-XRMHw#Ci9e> JM +K#SO)rv&Ts \ }mHgܞby 6*'CLgJ 8'Nk!,@eW6KEXz".W*M!EoB(nʘR1hs/Z V;L_{0^�e&!CmcyoFTC\wFis҄tGNK0i-~'/r8u KTL܋Bz.Lzu^k#b3"8;AN UIk%`O+!<6]obH֘мμc<+, pC7?hXx\)M%D=>y@:gK\; pjxL@GIc:0p]~y^ |n"QBjS \}.2k$Nn[+]} i]o*2'W ׯ\ZÑAYr2k8(ͪEJrӊH8S KRKDf?x@`wԽIpFyg⭉WNB`8`|A4I'pm*0᳒BփemLe"U4םOݸBK Z%x~'mUpd?7P 71{l4vb2V{2fBO x^p҄҄}{+MHg<m_/< -l N2 t?$NJ6Տ}/{qbCA /i  `@!TuPۙF2aȯ`CΪB:xr xsf|׀ d6("UC2@< {Ghy `Yߜ/0@K| !W4--dzXa%wh |=з~68"4 0pR/O^J,~8U?q8)e PދxWA^KLsBH.{z\sWYM ƮZ ڮxtVQBQ[i4JƢ4qs-nx!82sɇO1䡃I4H/M(.p.R+ƾ^#/<+ $0ž> pVA׭WS>nҿBHUv!Յ_5;Ĩ_fg]Ь&S GM{{Ȥ!;eoȎ=WS{1%_KGH.SRE?[`S4ޱ?]s;wu>+xǫά'H[v.=_o*r /|H ŋS5bt]xT >M^=_YbÅo&I 6ͿL8dyH  xzX >ęwVdm{Ҙq{*qw&qIx?B9,tb;вGH%w/5yZd'`Es ~>&ܔZAO/>ml9rՁp$~!i}"ji4LIM5RQV1*~[̥y5`^# -}?_F*?2\i@Q #'@;ӠޯyhC!NĽO0!]Rza878?r`6CO4̔[%>ݏ>#|rz5B!kL۾ڰb΀J0cȅ?0i?P%˿ 2SFe?Y _! 0c*q8#D+h +ɉ/qr"C87t `褯0 :ؗ3 0[B$OxxR;g}B )dncpdڄ&D,cVW@Q?I8~%L=~ZbCCu#ji W@_Ey3T (`-X3'r7,5"JV3 /ޠw?[@!dY(`d=hgKyRL`1` 922 a@\]94f(cA-  ӵ)e̐xaתޣ"dP: Jpp$D0ts&ľ׫@wIH!댂Z~tDF̻u'}cϯ!sH+&Db Г /'LT`"2ۗ(96x9ęb}h d~*3p@FB! uܒH3b\w϶јHR@"5Wu& p݈ima3WcL5 aM3y̰<^sbB!kqp{_ؾ6y!+\ZZl\{]*mle1U!併/]}tRfvХ gbO{rmQ@^~Uia^@ڇB֔#Ocw=|bq N WO'RD ω\ѩXP;[S<+]]}E'PxN,GhT7@52J5R56Xv\%PڛͿ6@I YsnO%nO=\pvX-N ܜx8`?B!X"j: dxOD;2:$1*s_(!__$kJS% >zS#A: &SRR:&(hμ-T ⟓Q񰅱My9+>0>@)$ImW†bOnM%LPB21Q9cRooF(Z҉y簔ԯfS(}@(Ω\SnbHZF$FP)H{𷍐SƱ/q|,q88?tF0tב#IiLYz0؟ɶB!mg܉ |,> H HF)dXWFi@q"c`'^ݒĈ`ܶ0B^mH<]Lcs8LHZI !BHXJ)2f~@#T:%uV&cǞ"I{5_Є/Q(M;yU#Z~K?@_*^ۚGh9x0 = @ʜ9jd867P¹^=h B!1DbFܾ4Ey؇*E+^WLacb_ft0yH@!BIE~8ζv0]064<ژŷ!5h.N}4fhPS( [4XVwМ {=4B!a<ɅE!<,@y@7 v( RY 3x!Dmw0or 0wMό0^cq\hfzvB!tGg-. @~M;تX@}ο WB@5\(c@Y- @( HN)E~kh&s8566!*4B!Wi">^:2o$ˈXHK̶'bY86-@0PwPe<YA0FTY6̉Skdl3*3 5#B!C ~V.D(Esm y/_ǔG`&9 Їj0-Ps%/FC  C!B/e(ʼyN6b!Џ'9-k0A H 5 @aqA.!s`3 o H܏}9H@!BzRydt{e{;/zNyQJj8blH* aGBн>ڥ*B.3 646m"/s jA4@ZB!1s%iL]춟x=QB7"0AF5 7Y[@2r%3 h$xvjWpk!Bj:7PŭmT/̎.6 1FNifW,i۾Z JxIsIh ]Fv^>md\Bbh B!&+-NѫrhDʌHWǗ|XC PwӶzt> 0QCd_.r û naux P<[ i!BȊcq7)f,&ygjT,g4_S^鎽05I/ 0z6 @}{ 0&B|?>?T0ԁ+@B!= N`M ֍z9@^˗0vXS; , P?+R1Ji2@[@ģY1 4 B!{k8Zڣ4?ٹ$K=R~΄7< F8\@*-vUᱠ^~/3pqKqWOaKAN4B!CP^3[qIfGxqo7@ũp5wչnxƀXЋTܧIŽy`YU3F$dAuWi 0a b?^GA+!>\h B!Ǻluɇ&PVP[wKmG?ya0DP$coI)X'(05! X&`Z@%fY~B!&;a3?9nM2;\?So4pW<qA8Ҿ!/ yv+0.k. ùd~h B!=DV cjл ?YaP= Hľ!s!\Nt]Je@KDr"6/V&^la1@B!dw q*2m5 Й0ԥ_{o Hb[ @PA%&HJ$ Ѕ&EIlvXrH!XْAwgkr\Uw/ϩU^N4(p~WBS.a7c8CV `)W7>Q1@qu$!BW&>:$Rދ〶s$ GA}rtnpT>[:.pe'Art/Hj|d.Kx~zMEB!x<S-a ưesJ0 i40v!VxhV I|i3Dq流)؎3sOwḹZJFB!x< Vb%8gޯQ@ω4 k;:KAv:]D75]gP;`i¿O2/o\^b!@!B2\e;4VJ_3Ov}t=u}ncm9n.ج[ C<8U pФ9| ~fO٫?Z_BHB!6-7X}%B 6Ǻ@{0 !}t#N?kLt IDAT`=7\go LpL'r!@!B<2]=# ^{4ؾ/s # *޻ vD6e :.88't.M@ mŇx~j=WKHB!ܽ4[ =K>Axg'oAS{@&=] y-R+S8ؿ }3_^`%^o$!B'X8M@ucU4fY ?Dܤ4>@ _w˯rSPX~MOé\#mޤd>?\1Y ݨ-e.9t{Tgߒ @ B!iv}xps`@1tf75 ]yVAZF() <+ \t].{LxOGWk L& B!ip$0^w;A0j9o׮o1olR۠0E vjGQ޷__/ n!B89{j`?vzt( d r4| =YD[+`] M1 GA yr{5AasgK'Wx B!''ڟkNb@;1q|DZA@ i ]{3]c}jP?k!Bt㹽!@!B<^: `œ^s}t~ɫ|::.ol^Vkмi%`zhk d-oEz.']ţw`m%Ow1>~$^$!BEVU:q@`pO@|u t}jx;.`(],l+չ].S>;O׊薂~/)? =i C޸"xlkq}\, Vpϩ3<;~F$^$!B],{iq~_ +U }U ;/G>`[sD? {}z9vu`A޳::x͑ B!}0ԯ> c ?~ho }=?9LPP >{xl?_Uӗ^o}t!BsN@c-} ֛6{c\ &!aЈq=) 1Y(C 9?o?J=C+@#@!Bb4#m@f[;Z?`|{WWk D;Aook qϱӎ^spП.^Tq7 vqO΁OY?w?{ăb%!B'©gd&_KzAy-k{ {>gA.׵သnEcD {ϵV]<=tߑT o?߻U1 B!p b} >b/o{Dw+H[]Eop)k\.Ca!Nu. kzv/*]p} ?ߺU>oik@f B!U G£4w.[ cA`6Vi%BZV3\;lXk0OuUwm܃ R[}_J#OW$!B*P&qln~bK@n/s~Ɩ]|W M@nVr9k@KsNX;;M6>EOw}V} |O?F.:W- x}AA |nl|c#}x_(XB!OQa;`d7֖!"tjrx @-紅ݸ_K6N|ႀTM1 0~0} 1}<8**2}UB!x 3V.UΖuw ro(EX,8 9@n]- ^&Y '[;TޥqW(-[q??̗HB!UOM\}v[66\΁-1kp@S.@'fн>-b7 ǻ>MŒq>?:r7g B!`#;Y p-r_tG W. 0^gnqCD31WTQ]{=O9|&<" Hxݸ!Bq"ѹV[m+Klkmb@f~<1JXΨ0p8лy&DЈ V>S涀tむh\sm;}Gyޭ7WxϿ]B!x8N᳷>jJrpߎ T q4 s# .xggC- \u~?JSģ>/w>V B!rq1[v}u,"S V&nv3\_+ttC3M(E}ֶMl ET: }w1SOg鿑 B!?}tG.Q[[B8`ACh(}ş]~܉eЌŻyB7_4,j6T~5`>{]*~` _<^l!BdN\:gK@vo *0[.>iq#9WYT9[gM3޸owaeăKB!.]}\ [uǹ@|uЪ@kȀ `麮7%^Xo mW=4!84bp<ǘG^>޺/}rő7?}n-HB!.W)Hl ػr;.k0p `BjYX-)6apj[@[+ "DAf ']R+{~hJ\sG}óqaG$!B'շsD. 9.pLH } \q [Db+vt^-Hn៚*0Tݭ7mǷzo?G­y.iǰKB!6G┓.rUbt6w]wE>_0e"`p.~';RH3 jo% e<3싷gKJ^^id⾸ݏ0s B!^m%)@#X{ܱv6XP>~erW'@7~yο 昪nN]Xs<^ߺH_uq7}Vf[c <M{B!>;8PsZ1(׻lb-F.0lۮ+m#`<~ +z ോ*3guz`"G:x ؙoQB!xp 7t)]y@e߬җ"uen;j> pd[("M@xk߈ 9l0}*@ҿ!:v $-Sb_oߺK/ƿy zx B!^cLaڀg9кh\ގ߽XS<~6@-PsdῩ:g `>aT*@QZ=րvX`E!v~d'7>ϖ%Agg?/(@!B< Q @D&vw\wmV{,"D0]E2Ǟ}T ` F@TA =M*@> q=#^-]U>f|!B4~{vˏ2}`U vp*ǫ߈m;ajckf]h΁7[P0z"@Պ{|`_wW~%_>PqGx߼8B!d\f6/ǕW;ayƠ^>fU rE;s3rڗĵ3q 3n{ 9a6~{^}k.}!Xα:GV}y,Dy8ͽC~Pz+qf8ռa?_K^71z}Lvٕ#B!amfl(c>VrF>q5hʸM<K}zmC`9.F׎{FY`G9M_BH#^C^V-%ŀfCgeME,S%4t9PWxZ,DŽC"~&|rNo71<&^瀌Weܺ!B16 dcύ6_d>^4y/€Y\_eD 7dEPær"dj*>0Lp/}*A~u,ݒ =FwDA}=2fK8;x5$X4:=2>oWw L_~gLx&K}x L_GW!B9qWFQNL_7ҦO՝l5>m|I ?ХDz: غRv~XwR & ŔA*@ijO1}4JPh{NXp) 9^7?Tza&7>Ƴ_^[9B!V Юֲ  t.X_ 7Y:qw %2}Ff;76?20[,Jm(Smcq %[ަy4Xu#pIJqq1}Z؛7ѝW@!B<=s/pP<`&,+u_W*S?s] u@`q Dr]Xu,Q33]uNW!kRg Z_LNKGgx)[{ }37M~%n?W_^}B!]}\7&;UDh{цUH\*\R: i? v;˽1yEOATHg78g>efsyJSĀ 'x~n>}%JB!Oz G5V.v*rz|ϭoKp]N ,Vz}5 68xAB}Vȇ"߹&߽x3x^*aa/% /8T@!BYݨ EL`x࿬~~3eGB0ȁ8h^9-bXY [qO帣>= ~oH޳_?=ION !Bjc^oow ms ^u҇Mg78e5ߦF~}f>cݦ:}!r,ucg`4@8,?7B Ch^x ??[xz8B$!B'Υݿ rbg2`uf>)ћ9Bg`>{57ŔT3%g#C;ZWhxs^!`&U B!BG]u,H̖Qny yտ_K0߭hԖ&X S bq븖>\q]PQϮϦ g:"0t< ?w=qB!k@n9"P<@qP:j@Ztt IDATjPbuHHX=Ojo. ȫ8 E?+qO*4K_>N c y8x}~`x롇# @!Bٵ G}4. ݡ8@m۰`Z$P}t6R@Ԏa#Zqmۋ)9v=}']& %x"oߙi#x!B׃C's#x_A?} qTWTT5xT\u研(cz1y@[ُ7Kvp:"@@) ^hpG,8/ӟCŇ@B!x=8l`6kjԕg5p?@Ѷ/اDm)8^ڍTخ \`} Z $D|,D0~"#,|{C;xO=pD!Bpp%.s frEvʫTZnR"DJpsun%Ʀ%+m-cq,cn:UgA==z[Wg?OB!@k\ `@+pԬ][F{=PU&wT} t*@\s&r/ݿXɶ_sw -r~QPCdPO"s8=`W ?_ǟM? |#@!B^\\ uobE @mNv('R".ݟ]WBܬMe~Nla kn8\o߱=Ǿ!VDZ}^I y߾N?B!Bٮ 2TscOx9ۅ`` z\:K# `^Zܖ00xla.B\z6xЗ1M:Nj2eOnw2ѯ##4< ",/E\D:1=20zH0ؙ=$/{%i??-CI"B!x= |y]pys# Q*JHv{`UֶO}GnAy|ǔcˢ9F;?h~zsf̹wJ8ȹ+} =~9z.XR* }> ޵qCzRؿ?yud!!B!;l{a8P,#qO7*vbZ=Ͱț07e}0\x9r<*Jub^k(s0-6e?dzpX:-suso4N[=7Y_};\^j0>gm|K@,(@!B4\LT5]P߃T8kpVexa{X*M5?t2\vvU@99W'x"nZ4 "E)k}j3r^4ӹHތDu ^Ŕ`3kwxfm6>sC{% B!^sX7=Wsg}.R]9696KLY~6;F`;!m=sO?Üg."|}Ęl#`-pZ{:l$PM`Ep+x77&onCA)B!B\Q*RjA;dZzmJH~Ͳ}̛ϋaGZ630Oײj_>T&%a26¾Dz?\4=5^oМ- 9`np:@<\7%Uu0x˿m|ڿ"F B!m\}9ԮcjܷUQ*@\\{YɍSwps*]Wي\Ήquž_v`K|u)%xO8A0`^#b MUcw #]N[v$ApQ!h}z;ߜs޷_eL ?gx?~=J$!Bq[MSP+ژr#[%KKѰ7ҏjEOUIH%E<)w2R?ESY"D'\}Uo|^ﹼʵFxwkxǾgxo-Oq[≡!B!cPAwM8.KJ}{mUG~O~Cz0B!\F1*&\S?,> B!B$ǬԛKo,YRr%-}O5 "ā%zEx*P,%` ~ogtgun_ Љ1U@ 7*qoM?G<FěxϾg!@!B :9FT{@n~] s#׎=  m=mKPO)FP;9nצq 9 ghG- =>xH齰ouxtE»UA=?ħ| B!Dk `sN .lT(N"C/9ced9(;xD~_vHcCixƞAY@3o1b[zlqԕvr7DVĎc ƋyGpA)D  Љ1ӣà` \ 6B@o{׊ >;xw,]HB!bűi vaDShSsr 7 l7 - X `u+@sP-vZs r3^I$}PNB oV}l ^/yO}^-@P`xpAB!#bUk<m; vHq]=J@YY^\/>S!Y@A+R1VvУ@i D!gǶG/)m ϭ ߻Fz:3c|2# Lϥ6HB!bʿ((N/y]mT_KK!!-妗x7(nB!qsX';rssKvSEgϠ;X'Ǣ8i_gp*B!Xb XkNk1YF'jA1 G{3e ~9|LP"?p{ ~kE2V>3fg<繹#gϢ ] ~tAV0jX@8W B!BGXXC5.76o#xsj m mп^gTv:VЬ ^6-4h`S (w";X 'hNb.bI{+,+%8Uz~򟁱0Zy=WձQ~w++?5n"#0i#DVhw9_EK XCnI X+!"@!BC hƩbl XvtA_B|@6A-a5ps(7W灧~Jw@ =V)- s}9N: ԍ{cKp:7׹l%ڔrmW{7p~ !.EBCB!Wf3`S?HX~Izi[0rƟxja>(GY'K7BDj'qtJa1jEU]gbmz w,:EZP qHB!0g0ØIh,ryNѮ*4W[96ʼJv#"V PZW RZs|nZE`+%މfmŦx,AB!簷XͶMT\l}4w"8m_E2Ov8=`#![RJqkʹ3:AJ$ 369EBS L/ @>#2B B!Bf**WU$^TS\ǁ>;ۢ9|)EP @]qY" ]:@/DpVMB)$.8Rv-Љy 'S(%aк68?i̩ !ྑ B!ٜb ] ?^5`,X(eu( P쇶 zݓ:&p+%c!p>Z] "F`Dqͺ!sfA9n=*xB B!B\mSV5}^V\A&G_^oyX]N]@1=֩([Ab%4@݁`[0 +R\B r:y,GPz"@!BKF*(8ĵrDGS1|@qPQfؚM"(' ]]Wǫ#`"m]MtZpGdҿuSjV]~nwR'ޅ{~n߭"w C6C)& ]!B!. `s8c`@v rnEn?W3Ds@"@@50vd?lO Ѯ<&'+qY/ϘRz 7@n!B!.@[?Z8-s>* -Vs"@\z"0'@'32mrHc!x7wZѯg+%`I ka jAWp7= \#= -1b$!Bq+][z%\DZ3~ky*"1.)D`Mׯ"/ĵ-V}jB$mzBsvX`!S8]E9 @z@`  PzG+DJ8 B!Bܚ3Da.85;\)bw9YfE-+m QhQ ]4>#"3V;i $ct#SYwfZw3_B=b N"@!Bf+6ZP+4yqQ;lo_jkb0=89p*)"@N p \IkD޻Ԋu O'[Gҡ'܅+ &1@ B!B\3\AۻWy! xז8E!8gg} .북L+["<vVEf/ D>/i$.u=ŌU bK;t"]#i/]Kh:{+ "A!B!"F*@KwAb { ΍Usۈ8Sv&dBcp!  B\DJ@SQOt?nϰqbAL`]t!`wBwb@(e@B!Bɶ"yW0*ǀ 8@o"qv'3E ;'Y3sf{G2gN}딀 <hNϤs9ہ{M B!59#P q{^ufQ@^ P^cGtK@]4`釶[>+aGgO 3X26mw^xHp(@!B;o_Ǐ8R0~gp IDAT?7ExkW}VzSN 5P- ס loRХ*H5b8/jXlbNꫲ3- ^fǀn5Itz,wAh;]"@!BV2- %:) "q @3hX9r sj`X-y,hQ;! tjs[ v} kWG[B ]#! '`#?)t}})u^SQ@B!wə";SQ7 @|oP- 02p2^U@BB.:&Du:y-kjst #BӏѸ/؋bZ1MՍB!s (RVXӶ8o2}+(!%:K~دEZ@q 8>|AbA{dPo};˞`Pr:+SwP hqA._ B!.֕wD& A#ؖЮ@ǵj f:IVmPӺ%`>n rտѦI r0Vj r)HPr8hwjQcihZ@ ڏ }zJ@yߺT55>u JvB![Mm5`dO.lHZ97>G_~}s˞+Q?-y)ml6TwX -r&pC@LaY_.V~,;DmS4//Z\䵰[v_d,a|^+Z9cFϼ:0-`́E;<I}$Ѧ7fٙd7;KpE$!Bq_dc|o.jVY*~X\o-A"] E+j0^\|ۼٷ*h vpæ=g(d;cjAgZ+c"!.JÁAvc޹ۈ6hםN(0B!W!J~2ZE Y"@7 F=;C9r}ʕ`_W1ypZnEJ?ALDX8 VUbhr!(>ez7 #+7` W0tC;$PnCȿp'b@sG% ^ $!Bq9jЋVW3&Ai㎦+۳H(G{82(9ˊ~/G<"vmQ"H g ~-a-ʾYu Yz+EVu.&o}o?иbB1ƎC=)t}HB!97E6xoj \((xъtglL Z7_P ~qV㞲.@P惔*z5@"Xz^N9;A !⻷Xz+oTy(xqsp hqOBA`T-ā~8#@!B`~CMi HyK_.P@^X& fs_JArzO):,W-ZZ`ISXad R,RjOg :?d Ϯ:B@>@ $9|c*sVج vq~}X8s?߶P(?F80@'o YB!ƙ"DT \(x?G"@96ίD*P0V)=K?! #J?Km?hv gq Vͺ`MxE X,Mx'Gطqx.OwC1$H q#1w%#@!B"|uVGEz__+(8 bB~8.2s = V7vZ@5 ѓT"qy?; 9d`)N59r];IBB!͙El$nE^@GDe>/c e;N&p {T7/M0Ի8bfAEhmc՜,:gc> D^IVPn VGUޥS:/_'|O HtȶgMհXފ^^B!DV+ޑ`~`"XQuh<6S/ GAXQ>%K0_o\^ U bB} uP@ga9NB@C@# -4mF)oqH |Yh!$ 'liB!x4)\uE-:}B{!F~`x\j0gUJ ]_Ǎ ƫ1OSȪuU[@m[}g̻;W&Og:q8X? F3|wā!B!k~)u/]N Q8 求,J?{;rTN+׹jK WA=b?α\"eTeu}]( F@G8 >8 } wox k>nq\LjBN!B!0F[%U@2! D.h]]ye5~W["q Nue#7@Si <9D8P9|T(pGm ! h mB9 oF+ \ߧ ]3Tk6@B!k!@+Vpua~ĚuoVAqXQ/1r_ `F! Fy 77;,@t}м j=sc8.dj@5 _j@iyxK 1oG+񫂀}T6E=@iw B!x"NN"@M&>O"`6!`8 P}/WoRb!` "r^'Da,jPvP>=<3޹blwC1 z~TDю拾QF3/$!B9_@m1_]C@Y,)(@Y}O { f@  "]56#+> 8腀l3 xL x^(_$K9 h۵ wBȾWlDãۣB!x PjdVmwDR"mn@; 6}J@V[7@]OwBn&jP5}|}V'!{B@,ӷZPk'ŀz|]$pKҨqp^}dvHB!13 ic"|[.V"@.!ϰ/.mX. >7n87xW7>fFB|G#1ڎPT y+ ᥱ{}\ʸ{v$PH٤jL'ާB!x\3`-D^oDk$de}kkw^VWh`~@P .H@F, ZmZ mI8z`s'dP\֎;u~Mخ3 [۝vVG@=;=Roi㾐 B!+"^:;M\, ~:]߬5GuI X"vQw 8+a6J:͠m`PVhx"Z! .ϩC+ =a2,e_?A+Ԛ[*XrPMQ`Ma=wݯo @!BW E9;"8:0""h̕:-9'zs]e>{R?SQ_Vc%8 2p"[iP201p3kfz@LjY` AХ ijsmr\V~\[&&ܯ!B!^).p+" @]y cE?SjA@N H vA Wi kaq ^.M@n#!ktkU ?zAcg[ #sb|6N F~Jg{u; B!Br<mDT(v{/'F7"EY5怛S" ŲʎswRh:] "\gw`X fnWGv lSPߵ_~#GG@0BB$N@0tV ^*bVGvi _pV a@B!"'b)'D^@/ #* @"b (=(PB>*j̫s1C0TuǺ`6{b@y/b @W~S_}4 ̮q{LB!>LPdnM oDdij2AlǪv-WZ'Z!?v ߲ZJ #u4uұgP{" p45B@kM ]Mܤr@"p@~z( =@pR$wĕp)JB!)1E\~VqIy;𭎋nXd_g@ 7w|4OKZmQ-. s7B״]!Rb'X\'lp; (t`8( h70jCd~M!`PPB!O(Њmw;!5QFdxN]/@9vq!P0SL1$:ڴQfo5ޞ(sukX L{"\ PH€C! T,K%/rKWW@ 1])4b1wX~셈xv5ЈDs@{O |}:B!x}+ ޟDX]O_#x{G8PEocurEF"@za,G0'{i aM (B@p:woǀ^N3=W6jlޮ l`3 D.hgDo:VAߚwv=v @!Bp~]W2Wo.HFM\O_|u.XC7"@CI ?,jZǵJ@B@ug ZقVwuU 5V]ڹ] W(O|7?F!kOݮtp0]@B!Oa_UrY~.@ < )dJ( n!h`r)PE&L (sxpQA~Lg~#ZW@+43O94ROOKWt9Ծ) ǜnyb wm~or!B!:WNmADXoT7@M)ǖֵXHd~9joc@ ;5B+,`ȵ1R{/tbL<]beV\ZMX m)V{;p t|6iw>v?^ [{v}Ш| B!"@h38dq%Ѭ j딀n~ KZ#nW A+0J 7,:B@6z}Fx r0>N( R@+~:\\(wg15@ wpDSvmF^Ņ%8EB! @ GJXˡy{(% hi;rQKj vi,ߪ> is(B@}ЇQΉiKmsG&M!=1dGzg* c@# Pѥ{1r 4M-(vϓ B!]>3jE_*0.Eqg{Pj{nZ/s! 4rYNsy e}@}x{pz@m2,ZS8QP x{}CA ~V6@.hz|x?*⣀|%.C!B!^;UfQ Ȉ+]w./*XjĂ 7@?ۄ :rkUr 'SB@Ke tB# W{,rT/`P<`'@{lZ7 H77:! WԹ>@Qa IDAT{T?0w CIO3+훮 C]|N%=׮/GXW)Js^vb˸M?tlN l!B!^Wo@nqu{co^nΖ@3W׭+"^ld m:'Vfțp1e kd}1`N=˹Y6Hxwɧtbn0۱ߑ+VB!x'l]NJ_8/%5ڕ ¹ O^[:D2-npDG}e! WM@w@ (7$󚒁 Es6>޷,x$60ú)/!B!+5b]qrWl?0]se7Kֹ:BfSɪwbCa1_%opވ @uC jK"H |58)s]O 4 B!B}!W׻8%`@`܇jX/liVUyK( g!`kW/3HV߸VAtߞлbf}6c!PS@4@RSB+ 8gzOPSK)@!Bq`4vzs4%)u˱:ʹ2 Z),;B*7N`P 9EfsCJbW_Cc%ЬO> yhSĻm̭n3X+HB!B(X?͡[)V(n&*ػ2<(WBi}}BA!`#5ArӾ+N`1`UY e֪C-B@3VhhvFj g?4?+K>]u%$!B!BJuֽ`  U}N1B<p$ICgFjQYfzDtFp14A ^ ͅ-7%Ww €:~@뜁|2:e? |Ρ0@1A^;'TSX/̑6 h{FXk3] U Ć ́w>: /xbL9!1 B^S?i^`RE$c`][M ~_{!Wwŭ<0 0}~Ͻku~ʂw휳sw S W3U H` P1`t~Gpݹ9oH@:PƉ?"c< h) o0zTVଝC#nh@/z @e2 N.y'S.ph7p6:X8Ь 1s[smF|ܠ_ *HR`=ΩP@`Pc~^X9.o<;8,c"0X`)Tğj U=XF  +L|Y`SڃR`+ 0n/"hw 㼧/Ž*?hR #BJtދYXᚿO/Eҝs*;!0f`tp}O k50A@&Nw%n7Eo`9at@ɿQZ+@x@:^qg۲ۋ{AN:.<.JSA $u0Vg. Pj^wVc[}1OM><"0I`EAkt*̊;U{1{_Um< Zg> d hUW?My%A<2>P~0_z{At~W&]dثB3-ۯftAc@,WE݌kyw[?VU@'>G+ Ǚ0: yEo0`~gwH[bQOi:tݸ߅ЁA EȃH<Ք^'W] { @Ux 2vL o?> >€ !`~q1_a\/x^ބ5~&DCNXm<@h05](}@_ZCѶΐ2Nh+g~^*^=u<op5@[1 O& AW`[HK?)I{`i1} T $, _+)Ph:Mm77`WЛa@`~}N~?aYDpEs w{OȬ9x;[ƎVU0z5-}z̷t&Tym J 0e{Y @$TwCgJ\Y~g5g?!l}qTA5@i;oN S`T][k}^8.*9}?nvI힅aTȏ8&| O5ڃx#X bvl0x?&I#0&V Zݦ>@A_g y>Pt;Ia@t S.h_ ]`xmXhu2NPx!@?0SE s)7j)pviu.0~Xwc ʍA|FU@8 xf&?Ȩ*0?|G;*r>|L* \fOaG'T?pX_qw>T$=>p=% 0~ )O|zZf~ G UX}@@,h>CyaFɵ" bk)1H9M\E`.1au>bLU@{zs:" wsƬ))H )E ]C#4>p~iG:8" nP:/; ̖QU5-GЀqTA@wOU`߱xژ0SI`So;%띰.0:9y>?@* ̢j+ u'٥.v3R`=fE\ύHs/蝷W`ww)* o&`V&\#\0Kn7C;}Rp]"  13\$lD3u}ymS0A@` U]m&`/0+wŸ(2 "s5Y3&0F5xtwA@`> w-f@ya@}+k+ p}7?2e\C>#\T)w͊ε͊\E)Ą6q#?ܳ&4-@  H\0ǻd1fzh@bPཏpu+%Д@ )P% JG`,p cc߄q}"=;u7oHcש2J޻\˂}{T$cNFx;}^bnuƼp ࿇nwe#\<2P1ox iS" s$u~,q0Ԁlo޼sVpSk) l sV'1\s_ ޫfB +xcd\|Wqo'v ӄq9 I54 az@ ۥ*}llUm/V<]@ wJc`\O@xf0=Xm$/f? FgxA`ApZ4 %:1wc=|nnpY)3<0O#)1-& I9ȩ;"f5HN)c Y6boT'w8P )b@ Z_Θ"`wƆ[7)2A@sP{$TDNLVU 2/ H)f _D~'cz>/aG7…A\U)b+z~ona@~?>CcLp 𾌛 *#r_{'=T z OE@{g?U l5_?n@.1}@wßR jv+= H0ڃ;3E#%qfS$u' l5 gu-@@<6xdi1^cw{o:WAOݹN/ ~$ "vE"9=@Wke] BG1` lMjue%q Cwc(OdY04 l}T^sʀ0Γvyl\ >Gb@X3`t :1R@S 8=?07U[`^31ޓ1O3s!`?hH:]z)uBw@|0M0WxÀqI+YC8Y87}5^i;  'AF#eޏ^`a@tymq &E 0&G.eM"O *E .J*%Ɔ`}n@EYqY IDATΗpɴXvߪi)}$`^;}V{)i q@޹"'vF xͻ//(*W_\{e@lV'03o MHyޤ nU}ڇk"IÂOeʀ0 ҇`?rk&[%U xI a$ L|DWH>Ag+ ңB <>=Bo^@{^wуw们chg߉S}&M*`"a@< b}!$`?e>4_I0eT0t`~BSܾCT ğK0`t5p~a4SU4h`^:<|@ o}vN3^ ;[&Y2R@@ 7Ix*@^``scUt(Á@>iP_qw 2I ZW JT/,*{žG80u_ܡX.07Ec>~ꀻ_I~l@CFVybv!y1}|W 5߫]oqZG)]]w\(`lׂ}݄.)Iqt$ t `L0 FH=nphts"iaw CKv&[ I( 1\t7%/@T F H? 4}|uit^4Hɋ-{~YQ<n$/-Fܷ!FXyV 5eߍO@V W{JBS@2Bi `J~B0+n āJe`Sl6lIN0`>t+' ,^ g4( wY|`J6? @ `X, @ `X, @ `X, @ `X, @ `X, @ `X, @ `X, @ `X, @ `X,lVC*۪)cהne[ YjʲԔ_mˑԔ%o~uZ_Vu\>ʖriN[mnffzm1ۚnNWi95ݜ$+՟CYj*cVMUUƪɶ[m^moo[6o?f[QV;ȅ|{{=gl7ڛ` vYTF*L+b[5k2WrW-sk7Fo}qeZL檎YRYRm}E0Z3ĶFƠ}6clm~ cLBlghc nIuZSV_qȶgUȜ9Q!{bT̙S2g./\+cU20!vEY"d8n 6۶^K#fgOUȴ`92'g$iw[L|lAYUYWYSYS۹S̹,6<7UsTu[_Ά~ۺjNYuIY*e=T)w쁊5gEzyo,וF$Ƽv ̫lRHK ?wHfTq 6;cmkr =3a]Q) ͯZW$$XU-;coKurP5&aAc]fy@>W~Y~.~){|2.r\*TY{t9ji ^},`VCKw*^k93o[m5T̞ﱋfI5gMΆn[?VucK&L̹ʹ*ߨru){ r& d튲vEK՛˪66UilltT` iкnm sUοJǕ8[`RY`P@>s,e%Zn^TM6ulX ^bw7f[5-vPEpzPm˕=Ll>srUhF˹w̜}\J+Um6* ̅ [{0^։G7N0n~PilPKVϵYZůYpeЭJ}[Ǝn۪4_wtl0Vw,~W(~}؇1B3 X+9o[w ?ʶ]!` %luAHZνf֠:VH`Upj]Be"fe9*eT% vAA{.056j6J_k2Vu@j n Κ bX[ůQZ[ůRY_.$$|RkZQkYVa*}!C1+ ZaAzG J1{uӭ*ox@ [ƔkͧUj9{򙋴;k䪘=Q1{";+8[ mUbBzsyrͶ*_+iwm`T4u "cj-s%BHk#AFͪlƬGy]u6t)E\j-֊?~rDVO X(,՜!mcKe`f+[rTοZ᧩ZoRbԛ``SUgCƦn ՜u ` Xjj)w` ߨ{2giwoj R)l궱 ZAAi;+iwf^־i_.ʶiwoL@k}#h:gC 5y,"fU)wrM25k`[ G}97;U5gM.O=0vE˹*_uZνQƪݽDr݌Zz gCNvw,]Q){RPKvzRHK!Xf)0 8˕vwL9K SԷֶ}v7+~m7$* ju՚+;+5˪;e՛+9+7Wh&.LJƪ큽7/fe[Q;qL; (,vs2@ l|\̩J =og&ƀ ܉e9*dΆxֶzsIug%&8(_[^YdY 33*d;3ʷgZd훴 %rP`Tx0\3W5ԟ+Da7z#XUeU5*⮛ T:\V-ih_Eö77e?Vul=ܩL-`oV}vW`,i1~~4K~(Vjo+^[,OYj2rVp4oӹ*互*S'cՔFHfPqrݬnNM7_ݬ\7Mf{:nv{ָFk+Xrd[uV![mP&ݮF1ej7${CN`B,QnM@߁j_7YUު"`nrMU+5{< `.iw0yn"v_X)iT\2h&K,yMs9'fY>~L.{`q*s5ꑶu, V&# t/VHmmdY@3+q#miNⱄ\c;)4lK;{=A0`^߿SElFDK[+}`yŔuBRg#!L 9V] 5^]FrK}ToOf ̑U]z.i+-irw!!9Vuj"mK+lfd#-07s7H |Hmf\nz3ҶlWfXUt <ڣ`χV6L75MW{ڗ#M\F{?QiBͿ{O瑶l1O)_.99V.!!V/x{i˗| = ̀EMz.m*˦гdChƋs\yY-iDz2yr`¦_IR͕n['ҶhKۿy ˲RYLw6_Ƴz5B~qx+n`eYVlԳ+þ(dgmቖWShU4Ҕgug*-б"HL^2Җ+3 )l<&o yS_Ri+cL =//8TZ!$~b06e-,uVha!IV̶Q=cԧOΠ\x+{Y}6 5ϪM=V\·e/iB.r[w_s:_msבnv,>Bi!!k[_۔(HspZnֵ͉Cqۆ8G:AL4BפLHAť*Fr#';Z{B-_Ikm]ϤۓP(f6]o`jߝwy-i*ﭧү%矽UF*[ЏI` A! DWH_GmK;>RiIѷoT9e 9rd;5f5cڻwH Ld1@{ݭ-np|_zY 2y*CJd9?w>UBAp5U fXx@] =u|RJ-V\[wCgVs4)x&4m!Au3fiOxX10Pfӯvuï^ɩ7"m۫YBM8Z8 ƍ)yz`:u)Ƴ]>JWgL  %DBp;wB (ܠw͙wYvN>l,K[]wE|RfFp#|͝s`0?IdG*/ЫDs%s:0? #qr> 9u>erY~Xr17B0fA,Xp== j:M}J7l){=QKgޣCxcs.ZC_R6Җ/cer3ϰ!%YwL5kؽCQLK?`0ꕚ|F5{iı)|߮ S{o`^Ǡ[hd@~JF|oM[/Y,3;i` @65.\rgU=ӝz!@PxjTWg:U=S  ߿yJc[iF:C,BxĕNg/"Mv6ݏhi{%B(6]~ZWgL!OB/B i6|BH[nO*THg!@պ?{E%VX]'O-REBm?{zi[Zѽ?<& I=#YB0*`Xx7:򥚍fm6?KWB,˷':\ 6X~}_kƆ,* N~:ll[zI q]W߿6;ѽQNg$Bh,iWe9 +#1"!0zC_P:Җ/3eKz4EA`!4nkjW}T|6aE@`ծ*HΪv?z,;_; `UNK9u'ҶpKۿ}(˲R!g~-iF6~qOMWv`^K篎o% l,Kۿ}Շ) #s}8l3v?zzYC 6]}ZN#m|V>yr =ì\C`.4|H['ϔ_.3̺3ϩֵ U/n"m>}l1B0/< 07U7H[i{?ͤ3B0̬ō?!ZֵDzlYƿ̤: 'Ҷd[[/Y)t s*3ݩy-,iW{ZNǰ0,"0S^v˶#m+,"B0k?Hjik%aYB`NS_Y-[i*bƏ SYwtDm IDATKUN"m>}R!v_F`j5nzsU/+ڒ>~L>Bπ(;GTgը"mK۫,aiƿL۳k|BNi[yʲzFr}tï^4#mv{)  !Fś:\ l,KۿyG[) @`*tӟ#ۭ?Z εHToI-j*m,3`4 Wt}|ib =FLpj |Bgב|O*[̧3`<@L\RgU6Serz!H^Vs5HvXV0@ZW6\j6Hڣ-mdY) ,Bqo^m_zL;y?Bc˶CBπC&5|e-Tާϔ[.3`zq#0Rj]=Wi+Se zL?B0NFv]gU"mK[+zB0.FF_Q 0iWl1OR9]"7/T9嗋r| =! }iִsծn#me2l = !jW\zmygU=`R0;*W⥜i[}>eY) Xl1!DW:\i=m^ sB7_JnYP7S!u0豖wVS$|nѷu4Җgu*/3^H G_e-Wkgʗ) @@7Tno"m>yl1B $!\_~S6˺ٹL =0N!` zq_QGֵGlfQ+xB|XP7/uK5Nm~}_z`TX@NukM7Ҷ֟+@<9{q#-iF 0N@"qftOBL! 4uk]Eڲ>yR =0I,6`5|U-Tާϔ[*3i `qsq[׻ϟzYזSez M,&`Nծns5*Hv?z";Ig!Cg:⅜Z#ҶrC;>e[) 4!`s\_RiF֟jz`Z89r潎{+u <ڣt:`9qӁN>l2vHݵz`V0纮{'L.QNgf !aMï^"}/&+7rj |Bg׉~Zx4Hb2GB 0lFK;\WWgz~C5'@BGnU{];hVoȲ z}£)Ь;:o恖Y\B̉FǺ:OwR7G^7\6Dsz?{L}U=ܷg*&3 `p[^u]z;LZ~&y1&tusHݼٷ_zʕA[Z+UܶaI[:,1oh+RAX}|t= ຺zy:$5?Q&ϣ@ WWt{W*凫''ۿZq 7@{F`l\'὚u뾖miVmf&C$!hq]fϒ_*Rog†$)9fq^A!0vͺ?'=hg3Z{l_9- UwÏUT$!X#忘'qq 4Өuݱ^OړmwH )pnZzsl˒YrBz:,W#U/{[*hَJ+<MWՓ_}3G_juy/> VOs!IEzrsjIvUXA鴙q]ۿY3]ۺ6嫺~U<墥/WUuVP~*n \þĖ6xӼo~1'~W^OUݲv]JWuݑz˻kZ{l!7-yxooyg*l `L|kmiom_9Ӕ[} xXEO*β'w; `|;&˶M=_~_o$56]]9ћ_m7%S̪fK~:_ΉnZR㦮V(|r|7t 9Nfe,U~.qUH^m=rQxv]8s<²t.#}1R1oW{o*?^IfR?}]ti%vߛK ūpnyw}]>?U!*.,ɩ6TWe&#LɯtOT97BjW|Re?UL0:i`>{) WTO*^[5t[wt{xu O?2J*UYcOA`&vU\îkUZY]e{g+l+U8Ւhsux"ws4n]Zj6lKRk̜FL[~+zq?˩&_]Ru=V&_nξ9ZXU*W*ݛmu T9 )Ȗr*.[Vq{~ƀymi*?^O'}GuuTWZ}Շ[GYnt*_Yi @{QsWOñٱћ;-<2E.KV q)|QIc~XP;EVee-_NQ =zj.>S9Mt* Z]ag*ƒ_X\p `3r{%;u_}:+9^|ik&'{{7[*|uz$?y\s> CKu$;P/geXT';9u~hh=>: Պ*Ue~7J'_)2WAf5kːrE :~RYS٣zGfW{[*VxK۾ q}[弩53~q֣Gvlm疫;ywZ䖳k;W&D8R:14mSel0oM IM7N߿z!ibنe~cʫ̎W>J#%:O:~ՖRÊwJqsDԑD/3O}Cѷ;J[)z'-F{W`Igk* v|v<;uiklp+yY#(HJ_ܳt$iJ_l=ڱ펣݊efƒ_X\jqVl؎:h(n>yگ+W{U7~?&Dv-?ĖߐܒwKJ K5zjawq_S&-|*H8zb>rm@^uzth \ޛڏAP-W](MFDQ#T\__!oۗ7˟)܌l&$Uc[Mݒ+I@:ICEPI8\9lߑW2?lBh#u*]pܰLl,ӺMIo}S|S:Warij 'pC`<ǖG-Rqܽ-W4 nt4Q)js]ǘ2kjN^%+ k4'j?с؞^UAxZ 5BEGARtI-g/4CklL}~#MTaƒm $Y?Ԡ-<03lsڼW d`%`:O:~ՖnAXq=x8"'ȫmA:IzC^gK~uk,׾#ꊛ̐ܒr-E~6X^gɱ~XB @7]51:0m'3Ej$MG?yz`$wNu7m%NIGDNν`(N1l?"0\lkIDAT`l6 @ `lCeh*IENDB`blockattack-game-2.5.0/Game/data/textures/background_cloud.png000066400000000000000000000376211347224572500244130ustar00rootroot00000000000000PNG  IHDR-isBIT|d pHYs%%tEXtSoftwarewww.inkscape.org< IDATxyWyszf4f4m-/!r!7.KBB\M!@ p!la_ 0xd˲>U#[5,U}륗twzs,1#jt<ܧ g;8SG@Ÿ!` QeJ;E[;E$cLN$tcʨ;KQ6çH끯Z#E3<1&+up F]*8]J2 iU!ʁǟ:r3OR~V+]fER=#}\!+P{}S/qFL8[aʎ TaGn@A_u&OT/pyIScSD4t cY7A}:/*\ ݪgv>ov+cϊw؎FTy)ǟ]T:K{iC;;?'o߾5gU]C1ʬJυT_ح|;_F ъJ7BR5~H$Bm 8#Ϲf<טݼyLĝkTu # \k/ xs2d F7LIvȻ((ʝ;O]JYwlu"U5kzL;r(!lRrBFAս*r՛HO_n"R4T8 e0"00)w*UN"vMͶ1erޞ5}oAxY,u]9ٴ鎣xwW}!-eup#b/QbA dq쥑;ޣWWE߯fHTDpzOk3iE@m7?q,|jY:ۉ7ZfI?vƏ$ ;tJ{pE?*^l8jՁ8o (kT{2' DOMKSS~Eg+<2>D?TuC{U75=i(?δBS_VCsR߹Q}tb=m]qx(L)[cyqjLO?Sy Ŧ^SKT>4ӆNs2TI/WѢ/ѽ")ʵ"|9>YЁdߜеCW%"6#^eH-"y '&>`)e9;3RU7 Yh]'3uoq) :T{Hw9y B(?4* $t2g`M)I>_N3&fƍz{Ux>~^>N=tղo{:Gf`ӔxAAZm"sy==;UNݓ#S QuV1l+D2ܹTJҨ&I(EUy}=H_+"|"^Mdw0eoa:'Qm1PxWxETV 88]I[WC]Z4u綪oKDxWku*Ν=ʘ8ND ߕe=5Q ^d]$2"#!9HIUMQ:hڥ388'X=n;vYnRNATF*F*{<3tfd ;MSσs\2:83|"m(>|Z 8XKvfpK^T6~*naj6]Ll6t*)">CC{^ Vu{yjA#}{+r9#tQ/"񡡶n2{=Ɠ~pM;Uy|jdR=cpS{U{ntw84:FiJRG:CZM)iU{j,^I'~ 'o|]ÃϢ7wn. ^eNH&in @DJyd VXwŮ PyyN8{DCC+^L}Fp;)qu`NՆP̵kjjIz- o'cddr9.B^¦+iI6DYcN[Dl[{˰.E?=SSضmI7PU΁nC~h-kl@^{ ND@Qpgl^;_UݞRyJnA_{ 7g__OO{%:RPH3x)5Zp=ccO=>}E>:E;_웜W3Tլ͆2QUs6p|~mU]co0t2R􉩸޽z08.twټfAjKG^iԅџ$vPb:I'~KVcp5WS[ĵ.bRTsSkreھ}lSqW[ϟDg 2 ,Fy=>\d}]p@  f=GUҴ MMzYʭÜugU[w5W[؜:>c]'&T!R[aIO6D?wmgO*R[_evWpyjiurT׀uY,_S?kUX/AUiZwcc jʬ69>Jg YӬugW5MM[|{ȺTWh&߾}k\~ؑGJbUi6=/[W]UU /+\Zwy4m_ Ǫ/q.&&7B{~ԋ*Jbx̓jV)Xyr'9^nMv7o$ k*O'e-&EWz * L فSTFv)(/}9VTUUvdJoՙmP&Q}k\.V"‘U@p /֭kN&m6k]c;{Y7̳K]=̈́zvONG>侖(rD;GEZvaPn]sRqw7qYe}u9Add߸˞3}YQ4fBÊ-VVx- Q"j]qLWe~A& M,8G1Ink$'3ʮ \4ic:T)'%!o?|BANޜ0U枿rw㷁]5t4MυfJ*cj=c۵q,/۱_\ EZwz ԛ 3{xzkQoVƉƎS?>>3drՑPn}"IꙘ㞱Iv߬]8ؿ 18&oEX5.;G}+Zf5?Vz:9`PO*N?Ӛ#Ί~ֺ"{=uE{~xpſ68&WJ|rjW3-2?L!x.ec@.-M9v $}=Yɀ/U/.z^_oWnr\0 82Q塞g?k==xfL.H)N Rku삥j.L6_*VcN?y@܎D&QX6x9L CN@׾L&=ɻ[_r*$!s3ɟ޶D&qѺw|}Yk?F y+/fҘԤHB aNa:KDx#{Lߥ 2Y)F+OYk 0ԔR=?XD&aea^'7>Ԕ){ j`+ .j-k #_ɚEy‘:h򗧆Id/Z,&kjKpG2ncs4od ``P.r0ݦ[۲craſTsu>☼".qɃڠ91qLnF i|_ o`%GML\ drӕ}A$:CfUV_zy\<&?H=~k 4kʲ 6B1Zg/@n L.M i4]I,,cEcJ˥lw g/9k\9l활cJ[[Wٔ, ;-VĴO mXP;KcZ;B0Sܲ8Ҿ3|lk0:iZr~d <R;TN ô K' Na\X˿´ߚ8":V\4Kۉbſw؉Nd-5+퀑)LcE"@wԪZ 7v@&(XmR7s6دc;t V-fDw4oſqc.",K__Ji tbbR kϪx0xUTπE8o@{ߊ9)4RWDY/|⽒zŷcjkCF:"fE۰KWFJNӥ'Muu1Lw ըuuᖱi?Y( `M0&Զ{X5պo$MK l4h62C\.i֊ShZ1{NE⽒$)i;f!4fm]tmӈB9tZZRmwvJUIS%MRٟ#sӳtuwCT;A9Fc`:i٤T&CMݶmCV~3)W~T||ӳZw@ A99L{%4:avTF#anIY`I3azrq!WL: )ၖ=ç)3Sݻ hǨ^ʨ{[*Wb['WfBt ̬.AtALT$t S-霡f3ei{m07; f3tNt ĊԽXn?V{|f3jN|29>YnpcrH̃X$I|=g- M sU-5b'`BZIavKIs󡣔B@1yKlJ9y,{ R[()Ufg+"~ 6KÃf x]$n~{ ^39>Y n| _&lymN5 N'l&4M/4I'i8*PMe2h1'2A[fNz#io I291I^\$,EWf B+ &ib/N2=9ͼ <1Ƿ(}f_掦MW23ELw_ m)_t*6p 8QFs3e1DB/?pT?c L,lo-07;Ǭ]C=4/""|L~fټ*s)g|ţp̦ lozjkzҊMT @媇?Kᵟ&da/B 6=N5;=C#,1vG\ymmjJSԚFbv*/SǧE/wiO~FZfJb;2=9Uͥo<Sw |זP&s o2*?/ʭ3=9YڣC~ H&ku6}ǾB޴u*&MRffBhzt)Mx?1edjv{JUiaEu"a[LLd-UMmIjs+nff4[>9aYDv@ uJ'N}',g[yЫe!L ̧\o4LgH;dGQ^/"'&/WIBiKϮM}в?T>C)L'doVk~v,Uϋ۹D]v]6XcMl=S4 LSB_۸ǬVzRtpԚ.0Ǜlr<%^9xU5KE8f)̤ "E Eu Aiݫu0ZSs+jg,[tJm&ĵ8ts˙`n~x}jcG~uMUs}>UR%p. N芈|*7lLWw7cϟVsUUUvO;3V{,L/F8UOʠ99j=q>W$ٰVɎ0nqQ|kkωȪ/NDonׁXGv.ϫpV;H~sru0K ݑFö5ׯkS9E 4xv]; v=g0Jk5>+l@cَbILxQ->|wy7ndNc ޒkxekbuϿ{|9\7"|EWM[ ]ƥlN~\Z7%*2D)*خSŹW*";d+ő2:e;UH4WYԺXt{WL#rozsRkˀe]ze/+>-0vBo휛IBj @@ /[=/:&_oW*U?b8xN /,7L)u?{gzzAc_x 3M,H?2>X7! ݳPbk%U[E6tL?ڞ޹+e8vqLGK|F3f͚gD|\DJnᝊ{" ӖXW:M@jntza+`Z#g2#;b,rk69>|z 48>_>5'4UH05#s~&f̅*PC&ծɇƦ49m$x5' DQ}7A ]'bQv4Xvw*Z+%֬p8r5jwDSua˂!&.oB0Ss[A,O,@!zWkw-Z9M@*P eybо9L~lfba߄So-N9L"?؍P=3VӁsՉ>2Y@egC`ڣfUk ~'Q,>PktTaC e]FݑjФ ! . 9T5X׽\uZ,IDlԟ BUn! > :i 6yĮuL%ȍdt"_HZ$^:C*H5*Sʢ;#"vGNSIn" dLLÄcX$~Z L*tT#D`²bE4oII!+gCG0a|/Dd-6M"+\: 6YLs霳~L{|1t,U}x&<*v|eiaqCgR*+pc:N:D*١3b(Wk ;7yS΍CR>5"CG0P t6K?:A*WN ?VMc碂:h:\YbX (~ ;ZlF>cdd2tU+l hQ+.y"ڟG$POLq q-H@ȺMƄܴaWCC:`(tSe/xY;h/aDl4t)]ݡ3SD4Kb_wyTz:)F9RDo2uyԧ$r%lrSV..#"gVIUtMׇΑJè;m`Ze[dZVF h:DZl߬|#׆NJƺu3Qkw-ֽ0˦~X)fC0Cu8MvǰUkP#r[7~+t"tH ϡs6Alű(1\vަ[$*]"rvnYYʠ̡;r&_ 4S{0ڠha[ $ m]K$eQU &_f/&W愜sԺjU>I/pCg){;/elB0S`&I{Y;dTFDT*[wnyVf@ # ȥM,Iu¿2_r(\:Ɏ3Ft@$ښl_44fUu' 6 v(od+j$RAEnXRR43VW޹r7'aVOm%EԬH3IH4tNK=M SXA$wVv<[ZՅ8xAÓ< ?:YаyKqzgC)3'BWZ[wjvI/:o?`a:OcMS"UyoNmvsB3M𩭠BwڝG>$"Zqu94¿y]~9R[su9r+cREgiZ'p':Y:ENR~ A?*"~.MO= FbUW%MRo1ߓ͛ * ]>^a[,fif*? ?>Uuǧar'MSxVϊI<:"e*Tt39-`7si>SxiU%IRTJkO6/+hKpԟ9T仵!RWUwq#r9Η[|1|whwM^U:8VO@*uO>[ĦSf Trxs\:9Q$;W?8A.5]EJuŨ9E[fO]T4'UiJzs(p Ѧ6?-[d`nXRY1"\vKfUk=۹D<ﴨòg^%UW?<<=iZʁMjD?KSFdϊ2?=5Y f=_D8xp*gt +(pc"oݻ߯3kL{H:zz®p T/##L7M>!_zBg< I^R5wb]>LU6߀⸆V֣MÍATGQQETt*{/:x(c%vO ˫ޣ ݷ n^&֝_NVWÓPYJ]gxIMiCD"kk Յŀ͝q+Mi++tԯ |Lwhwwxz/ B0 1=zopkq:ȩ<Zϟ#s:Y%V1noߙJM>߰1޳_l}vOa錡֙J<>7U7={v"jބI5y\V3pH@.9K^rκ._w9t^ cgC0⟑stè# +t*C0mF*ˊ_,Bg.}9#_v}e=yC0⟱"^tPxОYLÃ.9L~$:ɟm&Nxt,%1s$tP{ޜf`8tà Z9:k~9 /̢FZ/(B0yYk-cY EO ,ͮExN&K_6+mշC ug kSsb{J:D"^tաM^Ki W5q^8kୡ36/uls}aˊ@6M#E*,,|ͥug_Q>nRY̲r_|ڵB1aX/G''<  g _}H#t [&'GT ,2/O~fſS 447K`JQF?uЁL힘8C} -+g ~*tQUy|BeO8&}D»L}svosS@{ƦWRQD_ch[O?G@N nTAg۶M28@{g. CQ`iX@ש'&mF#xt\uq22El`?)3? /?sxeY7dn#q|:Kť>cL.LNSpz,5 ;?:)oO"}BgCT+f1V19gpp{2R!7 ucb Uy'PnT׹`]s2V1mԓU-;:tSV1mkjj顳tQnS~cPBg1a1mc`C}l<%w1SVrY̭#ᩡ*3:)'+ƘvE l ꈼglmV1p}}D't!w ĔcL,l(KQ^waSHFvx,*y9u}_t+ƘB5>~h2Uωc:cL)잚^(@Γ ;/C1ϊ1TT힘TABgZ ֭bko)ww*p:I$o$wO@c:M]O/@:p7RWdcLGW[8Qv='p7 rM鮲ֽ)"+ƘʸZW^in4U6 ##(ݴ]x,P<00ʨ!Edo~o{d,q IENDB`blockattack-game-2.5.0/Game/data/textures/background_ground.png000066400000000000000000000307401347224572500245760ustar00rootroot00000000000000PNG  IHDRsBIT|d pHYs^tEXtSoftwarewww.inkscape.org< IDATx]wTם>%0!88L2 $C$Ы}7U [_+gVnzMU#$=%R! >jN2~ߧq.ɵ7zf- dSޛx2߭%)%9*_ s$}ҕՓIξ9dOzd_zc&OK֣aOn AR&nqM?zǏ j%$a=jգW\0Se Z{sy\ޫ̝Y;tJ2ͨ\tI9USOt)g { z&{y<$(ZMVKsԧ% Ij'RIMRR֔qMy YKk%ys8ǥٻU0V N%.;5z&߫zJr-ɩ# ug$ f3^*)k5yk$ϲ5%]n-ɣ9?ԧ5uKtɓdniV%O>,p!C6j.Y(Y[HBIYoO\O) IPR,To[q(۶-^Jʓ$YO/g.mN2wK5II]Kو[铥)Osa) aק|t IwOʹלOҖ 9uӵᷜqGe$}sݣtO:o{X|>}AP< O3ˉJAR7 }qVoi&q,qyGيe9)G%a/'sIRRgA,כ 멗'QN0G6nOjJ-uKI6[ꓥrN)_p{iڿ/N㋃I|\ԧ\,?Kr&$0YCoyVSܥ.g~8w?K_Ogry0GnMwK.oNv)jr9's?8O>y||5Cc?XKwi>QbI8㭕/&(;?l$?yK]rn=A5g_.q9V .Y9[S/%rI6'u?Mr~kFr:,)6}ݟ%97앢 exii IԚr'dN|RSZROk򓌧t?8~L 6?&$wz'ɽr&wJrޭ JV|R ͩݵ]]z$W7&v&Y8MdاnK]aI?-5:zɜYIYR>O#GۏIvM5v^nk)}wKY/fE>jq^N]OnY/v0xwﯓ8q QI7؂zKfnQ:p o|>O Wr&W2޶J^#ޓ$%و0,)8~4_| `vMƉ9]]8^Or-iOܟ~$ä(h[snkwUs'eY AG2o^^S/5+I^/^(8oFtW8^Oʵ2ɹYf%0ɨ$>uT Kh=uX2u9P\BZ6|쩜U?Ք__5E \V)x xW^+.כ }V'k5.ZM'txSKٸ6qMFI&I?R],_ gHg[xd zMjM~;Z~]RF}2,G]N sKY/`//d>kדZRfA\ 6+I%&'#q](_.z/w dǤLygi0GH [u{CU{F>k^$w~\aL$8t~I|2%ՔŕlnֳA5ICfE7}EⲘoDbw](%Iʬnnݮ9{2Q~Fr~]0{FP\"޵ZoSߘn&zm G˞x5s ^F%yok; `hJaQI52 ׫}FYOSFS^Q%87%Y$^R,&A8_|koS yr}=Jʍ$Irrkk iqxIۥBe\zQI8u0&[5uo,täӍj[Jrm ^O.gZR3I.zmǕ Kٚ$5eTaҏa](_.zz%=t`XI2[N.' -YFIq:r0pZ{jk.6Ηg6 WOOʰ~ݧJaI2|*/^(uz7'z7Bؾv'&e|'%풲] z_'ZI~I~dakc`dTaMF㭧˨O%ˉ|)˵Y/nk[6_O$f4)YxxX(ՔQII?2&ÏrRi}֋ݨ{pe.9'zOxy10ᴏb(8J6ytWjIZL27hG(^>Bzsdpy-Wz-yy`a%0OtÒ:ZO F}գY/[7ի5zm"*YM`B%eT_tw.V~RJ@jY2EMEI~QSCLu%令j;%uTjr$;s}ii֋}<)WJI~J_nu`޶Ia;I]SF%[R5 iN>._0mU??}&IԻ5廒|קޝK<{Mr~~Tv"sOL&esI, q$ݒܮɝz[;]{5ݽ>w]ޞ7gr$?$?Mq4ϒ4h"Ξ&-7nÚ2R,ԥ.uGYkKjO5.RMI.z*FMroV{e5ݒzܫլ[G3^3}|5Iߜ}˄cMZI2L2ƤqM]J'g3]1M_k[8K}咲}j7,dwxKpOK5&KqO6ngg\ pLs|ҝn:dy=9p`ץ) $ r>I|\x]l^Sy2P'Ӥa}TrNM27'7=Քew=r2xzzK=θKSSOt)oRKr"I+c7_=D즅%9 k{tv/]|27T}sy>u7ݬ!4Bh 0@#`F!4Bh 0@#`F!4Bh 0@#`F!4Bh 0@#`F!4Bh 0@#`F!4Bh 0@#`F!4Bh 0@#fvWySRˁ/8`xv zOR;?WKxnﶆ:fϷy^le]s?eZWp߸:x]]~k#]^=^_^kx_%03ۢTp/~逹׹_{Mc,w pHW`\m_>'{+n1'd,qs%st_Mlr&<剩Dhv> o 1t'#L7[ ;?͚o!7[<[_3y>qm?00[?ܝ 5;ON>[~!3pGl]Vϛay*(oMDɰ5{!N[o>sN]m )oM/wۧ718O~L]ؑ 3mRn%y^_ΑӵpP~$o9@ONo SMHSb&{;M8]'_''`l?м6ؓ!y0wfqLp-NMþ0>8Gvl6Bd8@ta`^4K&b_~xH[?weΓqy20pG}^ ӱ/lOOE٩IZMmg7r%(О׏]cw Ǯo 4>SnFTzݶ/&8:}nLoM<l>-''<~MHZ"NӲ[u꺲^, {L%u|mi׉]eקI;1!Ɠ[U M pLO=&fKtz/Fr{_0}oiõdMgX8k$ﺝv՛;[YC c @*zYpȼiDz{cp(̌8 ϛ=cxYU>HՉ֤ܶ席ϯ켵x<O ǴLx jx s=u\`WTguv]9^eKCĝ ێn8̛F~ԉhPncZݶW#m]z=W%gAzgZ.9Vhu8pmg_bGqkh7*X{/_]G{$:Kns:ɽ:^eRsqX[gѩ^h6 ;o{:0U!z45:iBOu'AQ0wh6@?M8\G}dG#@(:{>rfs!ܚ۽&Pe2Q; !;z;kqyٳ֖Unon7BhYhr#^N-[:}oSzٟv˱qol$n)\% gt+O352Ϧ̽Fa$.+`wKwf8-i`wl[q^^hʶ- އ+ώͽP|k[=~ "ڤZ܅`7\M5sp@{Nۖ"BE3?:b~;\&U-t0GT\o m`r<^sS罴jʶu}irlly5l^VKkkL?7:ы2;N8DY>ٱݾ0 bTK_e<:]Bl=mN{zKhϏ;>nCx/JϢ6h?+"i;v~y~_n k`osFyvl5[_σ$%}{ڟq[ϕw@mjgN/6`+럚=]^j}m =m|uG.D\8x\/iiq7 B!B!`0@ B!B!`0@ B!B!`0@ B!B!`0@ B!B!`0@ B!B!`0@ B!B!`0@ B!B!`0@ B!B!`0@ B!B!`0@ B!B!`0@ B!B!`0@ B!B!`0@ B!B!`0@ B!B!`0@ B!B!`0@ B!fGW(BIENDB`blockattack-game-2.5.0/Game/data/textures/background_sixteen_nine.png000066400000000000000000002503611347224572500257730ustar00rootroot00000000000000PNG  IHDRV><sBIT|d pHYs+tEXtSoftwarewww.inkscape.org< IDATxy$}e=.vv ,H#dMEP &DmѦLGд%!bd#!iHC.9|?udfeVeyTXLUVW==SYߓ_zↂD|/{ф& @!?F6U@ | Cqjs7xD" ?4?8F} ?fpnH8DQl0w 9!~o?;:86rqI$d>^eڹ5sqsDٳ( ;9 t> N/lQ˹'pHUzXpNQ F_l_O{>wWG~@,9ZD?ҿ }bsWE? EZ::_ڃB#CZLݖ>[ljvbqͫVky-B@ǿ >Ř\JDDDDDDDś7T{Ank(ӿkTTĎc! Ά*.hP:8v?$㒿A;x:sN<󆝩9l@' Q_98=`㻁\H p6t<TMiJmJ$K"HjCo/2VP2`ki ↬} bY$:XUK|Lhn镔J:@y½Rnhae Pﯚ @­ QP',Nժ`,ojl*055,Xn5 `v`G,l9C^v(cɡ*|џ4O?v}rSUfPh$X1U""""""ujkjUI^$W g|3_5W U[ UFKB5`06ej0 !3 66lժ|~4{//={o~׿<Q]RZaҙ3A;EN*J\f\x:4_uѠTb!5<(ؕcg q?`_u+{s̱ EUn8)dqG~S7}̣͟xGo, gq_ \,F{~8U""""""Ur2UjP 'WM}PmjƏWj8(?amB_Cչ&+ @+K ''|>coT>չYReO"Fֻ~4U""""""56RrP1U5j$M:6~ |6JxÓj,WM`%IA鄟l5}>?܇~ /6RX kiBaILn\5~_8lj6JxWMGn˳=/9X-ϣˀUp*{ٹpDDDDDDDlҲ|sR6-?D*VCAf5xՠJU{f~^_P51S瓱 R&hM^`Y&Ӈ2ϕfٳ~s U a̧qq"Wih㪡kr5p 4{hU*诺oˉ>C=N?z_w2Es_S f7C-U""""""5U w.DŽb}J =AkճѪW5A@_O:aAdK局حٽ^L{˞{2`hU?l\% %j W W ;•__5F'jUIrwj}v즣b2UP]e`v8 """"""",]1%cUn\M߸U젂UkʌT kU ka}قy٭M?'R$ilٳs Y#SDDDDDDD´k~ XUfn\H<*AVqU#wCW;$KZP6BSHf-;S}Xc3;Es)N"uth1<ks3D~߸JBWIU(Lڸ*~à7^1jW%Y3ƿς5VM/(2Dz Vvp̔?-Jf~%^G?u_yݞbsCo_w܍Ga! `oL=*t6B=GcWޟtW!XwS6AH #TjeӪ$y>ڠLu9Q%!MY}y#?o?L!`ùΡfw]œ_3vѱ>s }~»޹^\l$[*[R7 0E4l۸*1PMX>6qUBehUPLqUWilkƍUַ&& 'xqg·{ۛ>4Ϩ5|׍tXO{$qGW|w,e IFQIJ&n\#BK5pƎ 1~?SLn2ɰ n^vfA5pNh{G=7Oz8tbT1N<&^Y9<4zA?c-sn\$UOظjZʏ~ٳ⸘ l{5ͧ MUK@S])ᤵz=~B`JDDDUbE5petMYA':;#{[ j.n@ =tA=ʸ2Ba렧 h;}wi@6)h Xͫ"I7pTd)jSǚu3ބ貪  .-߳/JއU+K7џG?~#!XN`قU`BQ\nZl:VS8-6ॶCZ"8MWWNRk:n] ZA\ _||hoq)nwLfFkPs \#p *|hG]G=ÎÎ"u2DDLIj$Xugq1ԏJq6RA?[Ռ'3@UٸXjհd?c_O~^^t_7H(7w;ÅX I?q7nuz*eq Vhn #bTŽ.&< <}sM1#6\l7;\i߬lV}zknpp5ճm׏{v^DDLrׯ$nZ5:e7TD ;L%6yLfRN8ඩ2N>8. ގ/-XG_aoN{8y_^nz6~>_V构*eQ3o.L&,ikʆz4 xc, NWsmܕ5 5\بs~ \?ɶ*QŹ\jIKgCpWKb["{YnF*Muڕ UT j&Z :Fǧzz.{U';1 NiK!p̨T"_"_u+Q+MuuWd_5M 8N WF?\?6Hh#0/6T!{&T{|8ݗ=[bh✓tSn_?(jzX"'{gD?ۘA5L6""bSXSnx2Y߇Ci^VpӌלmLnٗםgmA0Dj IDAT #`cկ2v_R'0> UWEcC ܸ*G]l2_76CU-ܲ1U3Ϭ՞Y:~"7Q+j6""*V<Rg*uө`sEFhA" Zk<47: t68Gg*QlU3lkB+/Z WۦkV "Mؼ)|Tb͜BWM:ml7˖DDaєJ9~$V*e7xjt"csױ~Ҧ_4oƋh5?y=3FY>bJDDTU^]~1@D|u$NN'=vM<Hp, bWۨg DD+m>;w,t5}Szӄ jЀ)}c(sèQӊ_gw]uWΟbQI6+Jl,j &KEgSOau4\fMyt7J{=ZӘh`GݲBDD ܫtIWR32?龁OkYhE ^3~+&/e{I~VSk~w}fS ":}4Xb>fJ^L9INTN/ZUB[*]Ք#o!_w%'s`o\w:bj1뛡=Nҍ\}'|eVm7oU4˫Gg+~Xh$M5'm<5 "'+p'i}͵kIw[K^o>y?{Bc2X%""*ؙ`-dWb.hx)MM ys.'؇5kvƍ7?ǢoVŮ'0KR1TJ]#aZo "*TLAMM51l" O| s6 Oϫ"B*-Ŀ?>U5x澭c3X%""*ж+Y)&9)IyvV.nj(?%6䔉Ulz>ye{T p$)Gu9Sk`+ZPya~O 3>B_/=fU""]Xz, @8ٗ9% n178>0) 7kbKx]:V2H~~o?<ۦSΟmmοr%錳L` "jz@ Wpi V -?%DD Ӫ5Gf}F y*$9M$0-2L.Nʞ i6~>;ηz|ny5_}32bJ,6٘:h ~Ysn6W[?jl7tߺtr1[Iҿެڢh3,O5ٿ}Ws[C2o~^| O3/n ߿w<+88%{|fJDDT]0ǙUwJ V%]veJDTxp7)L* ' :JgHRs靺" eOM3x#?W{g9狩""5A&--ըZW6CDD3cT4=ɕiI}K)ջPrdo97ڿ >0X%""*tʞZ^79X1FUT)TYQmYVG 2N7YLJR˞;qg!WҚ= &U""ԝsUՌ5olyrKSk*s|X~z c/Idgy16T Vq8U9fpU E`ksuq.Ud5zƩJ?V2,|Tof8} TIk+T‘*L֊""_yFpȊ.+]S3X%"_(eN}M;S#넞ѓO{,b?+VbpxakNO:;+QX /Y_22q,.{he3`J0X%""*&WxX?ꬵªBBUnN%,j#:Ŗk 6[:UH^cyD.hz(ٱAhܛ,NڝRBհN7o)wg$"-!1ڭS[d?) VDDD]eeVݮnWj8:-g`*5ujiʯiDU""B(͎zv}6 k/q,TN9Kt:8}k  H/2#X%`0{e`>umaUVNWxh9+_\{㣷=ѺY4fƗb*Q*QAV1X .,*pR Bʴ}h_ ""SN+p` =]wlj <v.z`hը0N"F]m)9zUM>>Yŗo.nDD2'N˘%bJ""<{8ZNҝj0βZwfۅ\Qt棋B/ZDU,_R1X% eO贲 <~h5g ܊mjthQ"fPXUxVnUVǦkryyMɗ}r^9YDD+HE 9%s[:K`EOT[/ VX%""'xhɧjv-Zq*ھ[Ԍ`OWhIWsz*zVKQ=A(zf6QdO ` ܗ|r 7߫ղVUʍ.[N9~jؠEu$h :rEŸYWW|;yr:6""Z_Ex'5kx?>5z]VԔėZS DDDs)>yfwyi*wIF w 435S񊒼xՓG_<6CU"XtM[brN[?%Mzl6yWmGXK$ DDDY؅W"/`5pUvk63\_?_8qVYK`}T#K@ iqi}]5uP8繠 ^nXY%Ȼ,"""Jt |s' o lRUi-WVrUvlf\֏V_|xzقԒVL 7>4>ǵIN߿ Բ*7"""<_g/+.5[FFEUQH h9|o &qEUUiٔmu8b*zQ2l"6^7Rϫj G.8y}KԫM(VړhN["" VZuSⒶc_4%9'"U$Z 02b ^ XR`*K"RAmt}UDDDk|c/(]#Kh0}fe9!Lܹ~ 位>"MJ xK<-*w~xxD wX'4F! 9\a.K>d?7:U_RAq7gԈeVy Lzl_*U V&SICشUPMoy+qPqp:lW8fYmtmxl*}l*h9U""0RHj |Nk|HDtJM ;g^0| PHB(M_azcӗ <X+TJ=[% qGw]a. l=C=p*PL+*خO犠X钏X1&U)f/3"gZۧakZs -T5|6MU&?E`)S])aqQ-g`_uyx dB9C.yStGsaJDD6 LB刁TDDAz ^'Vja{Kѩ1UhA˱.vP'̂ -|W8a6rуCڠ•(*mkn8ج9h}U='=t~h4(Xu \Z_ c7{ϗhm͹,?5 :5h{PT ^48dPձ}DR:cb^RKS'iXIBs&#>]mPgÏO#DKbE5pC/*ɞt-p?uGpNh_L\ll\{/ใz%MD7U/%ƜWW,XgQA9L: 2orY-$]=T&WpG;/ۤt.j(>XEQ@qa Ej gd]mz`J#ح[>їuG{5GmГL8Fpߙ&^Ӏ3gQ3x`W6A_ن_b_"Z s.WN[E" *'2xE;b0nBPqX dn6~ToK}*.[}Ve|JKsMZ n%`.׋ U98,mmS h9>ͮImt&r*!:>nhU1X]M[e:.|sVѵ%":&EDW)&WFIG xUf+9/AXȵkH *KJi!Ef}[WU g/|ř+=[]y Lmom5xmgIUÌ1p'I% VVRpsҫS+NjJt M *j ZC섧GuRre-/jGaC_,vz~=dG}[d\!m=߿e]ރfQslfٝV޿DÕ %i: '>ⱏNJYjE:l5Ъ-/vF 6jxAOzK(OKlEmC׿·Fz Y/"HEyN m#q`0g!mx,Ms8V@d3 IDATi鳈*CXk8lPrp:M簁bZ xrT(œAs>sٯz ڵ`hf88U^l+rjx vuB5gw09T7k߬N3xNRzھb_ЛK<1j><xGhe-ٟjJЙq[Y5GT DSPoT MjPݚ}BI5` @Շk }Ck0c /IH-.f6>Fld#;Ѿ g`Y@:/ VR pwI*=@GӁf\n9xntl;Ľͅ7ۜV#wϿrmIepF+ VcGkZWpUV\M2{TPM; \%|L#AHөF^P86hѦYB]3͠@h)ղQ!'=ZI@ur:8 \Z M *[/]~/`VFAc&بh$MNp飬Uzz1n^ꪦBY野ìpIU;dp5TfVP 9O@G86%ST\,Im`bеgս* ӣVҴsbwY ~aJ%v`TNHI Ak(l,N*IDjnڕՕζj̵#b*UHWt^VXUCf\874::J[XS'-ci""*V` V+:#V9h:.%H'j? ~hcGZ+eqeHP1m rЖshhjKZeQ61sn~J`*RKp)SԬo]WۊN4_\( 5ZmK`}^ro7k-a} _t |yO8eOhFҲv+I^)2x}U*JdѪ dM{ш#x>b 0T5<ľH֭ ¨ŁBA;=V|}Pm`Uz3d!OVF! 9Z \!(*U WZK-u ~lj ^l+?VWu7aQL}:ʅ^FƩ^P$J}D[CU:\=NXJD6,:eI/cjȜcKP c$9 k{ ->D"6h1A[AsRMQOwT|HXTK]A]o?XK V˦z [QW 6n=o%pz]h2XRxͶ`V^Pۂs ŝ^7;Ơ +W-Spu(Kw12/xh{5_;o Wd "[C$<=/s :CVF~jdspΔ6f9v5?^c\D;r>D@,yrɃl;|Eka)Ju`K"r X qFMfua:_?.{*tfժ O0 i#UcOv[!"e뇓i8g-):t% W'Ro0 Z _CuKm: JU'a- . }-Zf`G}[dS!=K> *\+YU*:жJWw+43`ؿpZꍲꮝzZQ9]wCCNbmZFGVKx12Aݩvj8/+6k@` Xࠧ8X_՗;c=9}+pu N#"eXd2[nbaUib;( ]P5P0D87U4 Xo`5[=@i\¦-(XݱQV?׿M9cC}F1 V0{uk*UĦCyy.2Ajďhm/**۩hg'=}z0l8 AΌ/=pߋ?=E(7"0n PkYoYSxMDDgPDSBp Uze u2T*z-9#' X[$Jt f2{Np1G8l+v5*zi/riZ90meJh:AOʭ+d j?` :z]8n?Ope͖T<~;nzZC{/o.n "ӯU X<ڠ*sV/oj@ AD5h`BBEՐЛFն#8R""Jy3x8=Vv_KAN?LB``#Cm`٪^|{ kC ]젎|ꓳzTmkdww V)we檣"_,z>:]h?,g#q`fHHbiq-VܵQ&VY88/|鎏;QUhZЧ|XD6\Z ]o.mp5TR =fpAmqvVV祑yMJg5 9+k19~eUQ+ȞsOM`?iWbŸ_= <|ܘ `m5͚ IiкV+vfW(ͭn+vKo +?SZ sWju?YBb!X2 L>z1 Fl` TXEOa1 qC{p 7\AR7GGr7rc@-f pMi%PV݆\.i'X"DVѵ=8@jZ:658&HNMo8MdyGfeUuuwvc!&A,AD3ÙD3d1OHYDr(nh A]UgFwpXcWȣ݅bߟȏ1G~vfuQ^T]]JŻ%~pVEUxW^%?kY[BB!HG_`$o4Y@ʋ|\`J2IqRa,`Su{q$cCݭSoXqe^E;</@89 (VZx4 e+[PdjCSAjՈ͇LtRG7+JǵÛ OK<۵ŵP?؏BY3~v"0ǔ.Pcv&k".TeNegkz*AQ;S'tzY2Ǽ a'7j}m`1̖X:#bUwbǫAH'WK{5N HpRA!@ᾭT 7]ꬬq{ VPYo4bw“ׄBft{Ycn]Jc4;~XT7)V $LeϻXZv6IC=z-\/xY]1&VX%#voD#c0Yr8ZAr'dTMU;I i8£n}?U?f?B.[hj+$o.`% ڲmlj .`e;`BՉ|+EMLƩ9XpK-*[ggUvҞ,v/`,>_qd; ΋G~e-Jhg*p ##xtow"!)k{Nu YIJ!d blQ4['\%YM{XE`[ 7e{VÜ6`Ck?XCNvw6rw3l[5^T]tVVS]&BZe50OvJB96OeVy鱼8^JbϪ> m5l$zV;Nf՜r9X .u0-*<dpU͓b f?Riڻʃc~%d_?VBQ*~~UNK!eVH{M'ǔiHNͥ$"I6U\$NF6?)6j[aզ1.Ǽ5&d|OE<QETc?BO.*L6pӱoU=YBȶDoE'J[b1)\(8mC^zV 6K{Vp!=5ΒW_K_*+/k;vlpNp/mUyx_*&?##A9UbTw}Jc0!$C|tS'8o&qj\V;B^f=q+Iae=Vg5;4k0=®j [ᓅDܺVu/iQ 4lc酺g_䵙V 8k#|m0oUQޟdX%=F8OP՞{%bFMG|Opyxr[ɸFɵ!,J&)vLRBASqBTR6OYIh;&p="z {>]vX < VY6\TϧWeg88М3xEa}8V+5 $cliFņ#+ n-ߔk X89<4~Ol]'Q5K%IBD&BUwJv.eIUD9 s6y֛q!_Dd* dPF{.U=FJUT0WQ|WޠI`Brܔ-,pE!eJrmT jLΡlmy$I-=ZS[n>n`%onF@ V!YOy \`_PW6|D6>!M(VɠDG\~F])jUhPS_DDbƈ%fOɄB!n`S0u? dplY=S&4Y Qr 4cVoeX>RBNͯa^gA^PBKUv<BU֨zO>NB`<.quuNq||ӋB!2 N׶՜Uql&Qhg5xg%Q@^ guZqRNLao7UKSX"n"zqWqk_+kO'CxUīkx<-Ʒ%T֊x˳ < 3!B!d#RM@'Sv5*dH8NzjuPi=G.<@i۹i۶ywbCo!W:rBJ{ +`j-]5no'\rתۛ[>{s:Y%B!J$m.sxi"4MucT=ҾQ$θJ*1qy.^fcďM57S\A=wmG^ۘ k|awÇb JY-؋pIejo׿|1Ξukq9!BfN>"Oj*-ILml̈́i8.]:}JRm `ՏQ+hܳdp!Z%S ,MnO2Pm5[1] ֗Z5/Ἧ' *}Mz 7[e[[-&X'j{B!N*5۞n6?NEkMm$Iy5܆cڠjR9_uV28fZL#uT8^#<{@Je\Fؾb<.1OvvgCY:ޛ*plc j}zaB!қ9=hpqV{-=iBQfH/Zu9V_5hOW!wWeAdp&wr\LZ:ֺKko%*!B>YQ}HHyNuU$i0$jHEl*_4c󭎯ImP V|1b*lM]ůPCJGx2/6>5CUNP5 gդ U !BȆXWەzVg54JL佫9جhREִ@AZZ M^оz]UkH5\d-|rGqV5TƓj;UQMJ\]^m_߮mlB!BX8q =BPIiy}_$.LnĮTjӭ @Lsl: uE: VLj1䝵]|wBJy8ۓ_zc?/EY0Y50xs}TB!@i9PY$cg5P5uAJZYS|@9Ź$K&x:]*\`SS8|⫬ b_\;gk_OĞ:pg߅H4!BY]b1yI"˚"vE5t1*43gj۔ VOאZWjwM?4dm#zלWٸZd29:h%@2J!B{VzV&Ր x̩:Y@>ΥjcuFb# `"VQ4.b|;{2>(VZE5auŸv3Zwۛa[u"B!;{VǙQ 4u}:A6ܾ_P1h6V5ޕE6E#<736!+@JU|Õy.&BLW(k=ZōB!H =i$P!?!y+:Ɋ('(0n[Mب!.bE˃)j/d/X%kk0iՔEZQUǨV\\B!۳:C-lhΣ=85RuvӴ Jƚ_`S>["yo[6U>ů>\ĊUvj~p^AǤjpR<( 0/=:'Vm랷Oss|j[<_D !BȖ=XjeJ5CNkVP M)̨բE Ek:FzV7%Wou\g|yyx!~t[^!!(ՠ"`dF FFpl N/‘:V \Nj[ 0#ev6ߎK|V-E!B Գ@ˍǐlP9H@STM{us!A륮R,"VJnOyo0Jblgŏ.t+7+ԠVa h}8*pT`dGNjųqI6ZUݭ;.kkG!Bȝ%@ԮDjHIt:>Zd.*X%YuzC&B5;P@a]("u۠C;YƘXX%ɭ' TjPΜa)D(p4:eg.5Uw$깽/VZ=FB!dYg ZКLee>7M- l\>k!XsjbEV{mT~ NO(~U2,dsTȠص?_nrXqz̄B!d?T@\h 4h:ر._Sd ,MY)9EE澇9KM~"GW|vX%[)V^UF#ٍ,ʑtTAa`/wSVeO&_j !B`ǘgxlrCKTNlz(uՐZ$:]"V~}j5_*=4,ZKm7 7ݪ#c?98}VkE7h]jFp${\ <SqwTU.NkU LyM!BȞ1P|;]Y@ Y^57PpE+ D%`1k)]Cމs_x+U|}T'y,X%{M||٥] q0(vlzKj$&I!Bw >fybr[:أjdJSai6(FUtdobdI; ;6[w5j !B9t$muvFYxi:|WjZ$?V=U:n EehSݗL -ZŦ+^ħ냌U3,PcѾiU[ 0gWp޿=;@!Br,.AnQ$jKLRdD: fkZ Rt"VΩ"Vv;ZmIUS U8Jd^շdoxYNsQm@TvoB!cђ uM=OnHJ/b Ԧt+MZc+RyjTLVg>`j5{Z'*g9g7 ua,?q4u u6E1d]G Edx9[زEMYJ!B42uyf^D2acY*1/bUU1}SiW`k< +˧V[iV\p&_^yyTc\0#rנX%{+e{%I(掊[&V !B!1O|m`Fj5uSXEHjYJ[R'B#קVUkznA.Z]kA۠~| c8߾Rߐ7TNqo)9$"MF!zW,Y%B!.$Txj(ocկU%oPAq8k֋ S?PqQmB!BϪuQFsӢTk06z,bگ&c"EдTMijڨ hY2'ٵԪ&-x߸RjuÕW˯<]C^d%ݲ$d99 ZlP0iSbux6[K!B.ry&ʸZmשEھU"Y{-bVþu"V1њ ٮjC,'ܚZERoj5C|} 3VXqWwMdXvE]D6]@Bژ-Ryw>!B!͔P[M.b6$Rr"VQ`6[*9~U#:UHFin7ZԪ&נBkj)}gVu Ym@';ÕF1_(Q|v9CXrP`ucZU0\@Pܑ곒5B!Yu_aE#JRQԪ_Ī)LIZ'Zju&ݩJJ&qw4^C^a%0$`X]{QGj?H!B.],.b2PT\K4U׵*jVR][og͕Ɛ*@3"VR:?mTQK[V(ǓFB!ŀuV&ԪHOIP$6RiShRY"ujޥVCY7J"^5U-n]թq‡yjut UɗW1o9$̛5*/(V_5с'UEJ!Bs+r"V˩EjHTgH6ҹh'KIԪOM9ZMp8ܞHSmtI^;7|WJc@3"yUgևcVuC?I֑XlתAnRo!BY޶tm"VhH4|2ZMN؊K j UKj*}!V 0'X"ڵNo7MV']CGvy8@~b7Yt3"a%с-dޭtVWY*])GISVێH&3Všյj/ٜ$Vc%j +U,to+.j,2oV8W}M/UWM(VeݕGEYW_n{B!(R UWj5C#S^f.ZUU*ռ5OkqlPZ Rw0q՜yagBI+zY}|ib<YJ1>Z;uւ#!B,UU/ Ҵc4PMib"5j#Dj5>S~Z"ɹhv-ZS҅dbJ;۷ U<6\}߽pVd8X%{ʧ/dv#WKcuMLѕ_H !B9HR}'P#?QSVbVnڍkO&jCZx4,S$ⶥBVa^ Ydu}p7|wc~ߡ\_DJ'X-zS]M-m-`_NB!KULKJLHfTqX!Qj=Zuu V}j*^cjJ`jvt*AޭslٕOwH_ޠxIz|)VqU*.xJucPmp<:yzY?ֻ=OB!B60>dU:o$AxvVZZuZ"7/VRsKR^0BVs*z>~ppP&]A0OQ;mY)I "{#}5D۞ !B!;u-bS T7M6R-biKj5R\)S(lQN^ OB!NmXj.VH&s<dzL"ujgתj:\bj5;.dU!,dՔ\szJn:d6MbFOad)~m yX%{ex|8rLz3 I)pY\?P<(mq&p4ܷ|"B!B2f}Xs^UoMV.xԪxKZ@bnj5JԶԪݕn}"ȳzk5n#Iu._ݕn1 ҃t*k޿pR \Wŏ._)'cpttS)tӥOnWSB!fX5Sy2rnjoʟNj.,oZ5Ib+>oOv/dL Yз3tj.sX~ż]?_ÐoB^v+?t!38)xюw&qO _ P,T`R[a{UW0nz';t;BuQJ¹TM [&!B!ߨEūisa#;ldI(U@ ;5ܯ n##5Dv1E!a<)n/n! P{`wʩ:9yA5!RR}nbd9!*9_{qcV8-86 "@\B/kŸEyK/YmjZ[YjlJ/ IDATN?QܨJ%B!d@h]cb5n3 ?X ϵUx QDuKI"(`ωP+bNҊd*T+PCCq5d\^9UumU J%Vׯ\*WuWnњO߫Uջǘ]˓(V#w^40[U8l6|}^)pky ~zQÛݸB!ԜL~۾tSA:jv)VRL`l\AH#^Yr5VݸCVUih oFZi}'2MM Y;z4!|RN+;*~pZT}jw,KB!&z,2޵kp,s;յw.ߵ"ߵwv&fÎb'}&0]/dQ[ZUs1,:T+~* S[m^NUGgv1^/a,Yiy½|[ yџ\fCs!d#\w&[]T|t2md?,ݚB!Wm(a!j^E$ҋDByR3m6f(/UVJ\m[.< k!+\^&@e.U.~iN]_K{$W+CC\/6Hqop?]@^!#/(0͐b7i7G7Vv z:]Xl'B!dX1g6:7 jܯ=jfFSaDܚU ՐVI^ɵMS!l;^Wv%͗p&_Yy,s,Ɇ5hX%I {WwZbыR]֨w5~vw/V+ 'B! G:eS~2ujSVpT+X%e-&VydN3*l'dkUtU?/^kJ칶$n-W= ʷT~+_(F3/ zD1*9hJŻ%~pVEUxjޫgv?B!;Ruo NJ}ZE3RNU'Y%`jĥM صjӪV~6ҥs=Oά+\bgQ,hBzr8w.ǒk8 k:$ 9>BȊ<(^9686}׊OoWS@x4>(WxrKJ!Bycy~-۶=fWwi.KDQ[ݾqTxseǑ:ɟC"=1Bb+jy1xnnp!l T|k@](tj.XW;=S좓]0xo/p X V&<uU`_䪴F`7K)5P_@?*WCS3O /,QB`^> Z*rz` !B9X-> &a\j4MzSԪW 0+?nTHzm^:yU ^kӯmN ´=r~`0v`FՏr00kϭh*!$}/>( R7AA!BnC;Z TH+rQꅥ4y9$ $hm()1U ۫טru!oce|5߃>cM@o0_(1-̗& KJIy42 /lV5>Q!B!;_&Z5~=^v,d_j!+M+*{{VvuǐzkjHv ΔKV rUPG?^A?9a6۷WX%L!<1#~t%SB!,K;ZMij5TVCuJXВZus@i%jڷ*Z%IF,Vzo*c^5 ܬXc ů0_kN o޾_doDqj\V6D!B#:0:”DJKbfu> XyS~<ؕZ \Y%_t5oC9lX.Q \-~cAF6:4Haެa>;BiS7)V !xq$xKXURƓqr>!B!d]lk5<>' 8էT1{[հMc!+8g!+H ٕ~.I%zEV_̪uލ*<ҟU$zjP8>.P\@?6Л=¼VAިa~YVmL6X%,HH/{`$cJJו&O%B!dYgj5n7󱐺ZIt'XZ͒ijUk@L^ `ANvH*zΓ_jŬ+Wp7/qϷ=+[?. s=5sl3eyXCՐ ؍tV9SLoX۾nR0\عU C D8fo}^+Ebx<;kn{|aT+RXjVZm58J7OdHY$^&6t)a;j딿#\jܵmk}S*xM'ɶSR yi B!B =TQO kLS@JPU&$<>%Oa&+LLc5 d>nL^X 9ƂIjdisϹ kKek\c;i|j @[yjUB!B!)'`&ܦ]EM>LmH%>d{/bu _8 /(x)blZVp89kǒZ:y a-y!nr5{)3rEf"WU8/}󧸒=B!B}ӌݴ9MZE.M\8qfL&R/<ĄaNVD?gOpSi|50\mWF}j(WW .*l{:d(V !B! =ӡ79BY,SA2-ޟVDڼJڧ[ɷqn$Ԅ Y;B@v~r@< v;*@:0y;<^O{PB!B!dqZ1nHo@f:5;xH">\BVI5> "w@+T!jv5!e:oIܶUmS͓UBuj߯M(LͿŅC@J!B!bSǧwU$P ~l?J$IzUL&|ECZ HK}oݷzZ5l$W4+uǜ$Wy%m|(|f!PB!B!dq.bվsL쓥?}l }M" J1Nt4ܲ_ 6$J(Rmjn[B[XJRr5~1icruѯp#c|"bB!B!ѧ`MjKJZUX TN+@%\Bo ӐMDkt^/fU{Z4jW?F䪶l?B͟S&jo{BAJ!B!)Z5|>UNzCy%@yTDgyϯVw,1 Kk;V4m;[X*=j"WwtQ+ONNm{JwUB!B!,O4U?l4ST|Z dkW%@#Uh"-%X}tf%@o5MԪ',lnRŬF\MV. Yr/WrHs:X%B!Bl$*-5J.&O%+lѓLf) O7o^oէiӋYYj1uUndAv518w:5YB!BYR%]wjsR4~!^b6>ijw7Ovs'cq9o5Ŭ$Z; yU_u$H<߻+;X7*!B!BVcF]OwVYȪ)2ѨV ()(5D"[8A酨y/ҷhbŬl6mlNQjc،\m=BTrkxO;|" m{J*!B!BVg*ZoU?/|LS {OAjV}qtѾU׳V5Y E}bVv8/Ky Ŭ9Kǟz=H|ubp!_n궧tPB!B!du6ZܭU•[ `VH+?M>׷ħU/eŬuHd1+@Ŭ4UiU4j*7S |"w\S5@Dp%oCWT2!B!r xvfmuKu~ aJ@mUE`smVhtP) :9 bB@č hħs+cxR0* h'@V3cAl`MKHqQF ^&$5Su}5١m7-[mn*n̫0~8ٶPB!B!dou95-۲D1+A^^!WAQG"xNN'%&J55Nlzq瓬eT1P9*Ǝ';&JWIJ\s0AQ.!Wӫ9\gbiڶOԽC| o8/\{ Sﵾd>B!B!d8ZMRn޿ut%e*Zij[4]6VľI&NV[ʪ7ɜ9bV"R(smTxjkӱa/ɖ*>Vmx"S6mOi?ѧ !B!S Ha0qk<&1v46+R87Vңu8x~U?|Z\u3s~cn{:;*!B!BD?.jOp S Q6*-_*bkjAZJ8n{(G\5rՋR7GrkyZ!6֍rպS/J7#Wӂupjw-XW2{ས x>>xSB!BY;Zh T]Ɣ(*`p۷5DU/c]J5MF[\}icƛ]u3: =}!ݱ^VUB!B!}d)*0T/X³Nm .fEbVAvvFd3uU$$Ѧ*jvzIOqOp8Ƴ\B!B!C+:?FpW`T% nuz@K~#0Tf @c="O;mu[ S1 ajƅf-f%Z?7nAjy{]UZXPc UJ ]=WŬ5 CׂV B\nnQ+jSZM_ {ȂSW6m9)N)N1`bB!B!kfRaMYdT`VrՉPI۷oI׶UMnݟZ*UHޤjHL¶.\M%W6EmhQ+ZӫwEv8K) G81H.*!B!BLAjk3C+W0L:{?LL.Qp3sGz.1+'wUB!B!SR+fgV B%zk%@* B%s*Npz ;nwBRZ@ &o2ԦA]jDEqVv!ik4EOV(/\u)4 @ jr C*\ hL"WM^_l9Dڻ L}tWUӫ;2T8A@^u V/Z (F'vy =6P)7jlő{@c8F%ǨܣX%B!BȆZJ%wyP];ާQ"QŢ:PdY|qd֐di]7@/\ur4/I[q+L:T4O}9rXNӫ@V@1j9cߴ={Ss[.B!B!# V4{my~s/ 69eG}!I)ҥK|MO@p[g=cq 4|nq`ܱܘnޅS&foGD?1cP~E:%UCՙm1Ӈdk ֎!k 73x( IDATB!B đv"MLnQ:U/ׂ<v…2Moob3ӸNEDtj.U3*=/WvJJ\uQdjmo_$s"XOmAJ!B!ҷjJh}]-o~}2$Z3>%/MH[)P\O&T}JU INDES}.UNZj r5bq$??p]6%\^Ui"YI*>@J!B!ͲJaUX*0O".n쐴t3Kg66k'Nj/c\M@SZigHHXr5\j*W!Cz5^}v0Y%JPB!B!d,Z]-NT%@x@'mr_erQ$ Lk>t )P`٪Qn:]&Wk9rUj|ct8V:7?AJ!B!3OV&mR `j}[j"j\s1\(g5a1$M!WՏ䪝K̪:cj\mI_*>em ?QWzw UB!B!l5WɧR%20ΣW84Adq$rV}Ǫq2cW Д>;%WCzv9Ғ\T 7'6nڬ#n3\5RU,oLRnUB!B!l5Vtm7SU?:jM`bV^0jjU\[hruZ8\U m1@5BMWꪂՍC(V !B!=JCUtLet1+do&Q"Yd)T'݂Tz(W%8/W\5j&4%gjN/ƺ`&Ze:~WuWζ`O(V !B!eA+WHc-N-f7շ2)WbVI23V 5!j$M+|UbV\Ūr媗UMEEVzUΡkbB!B!gc!ۓYU} } 8UHŴTMorwJޯҮMjTtծJEVZ*=./#,UIKj|ZiAj3f\\\Z%_ ?fBJ!B!ݠgjumҷTEOdDMS3 W媆sjO_׻EՆ\k^ c^rV%Xq)YbB!B!Amh"W[]l1i^*C݂P U'h3*U?Ԧ\_DZԪ#Zpak~5Ŝz VJ֝bB!B!Ú+vXjL1\J5M+ڻ{uU`uTS.*!B!Bv5W$iyr5}bV@BL%`*WNmaA+`Jjr5A%.%o6\M:S2\ejQ+ۻZLfWY_)bB!B!ź*[,fՔI0Jc\jjHAԬOZrՎQK2'o&WqEl5 ]mVSV 7zMz^5HyxJњAJ!B!cJzXog1TN%W%Ր!WӅNd+--kcQ+{\gF5@.e^ _ոݰ[MmX\.b]duSZ(V !B!,(W1Xߪ}|bVjL]&UmUQ_ǜ:IĬAA1bRmAHvJVҫ?{c˕Yww>W 9$spP~;we+p(b#;sr `$˒#KdA43> 9yxnݻV^KUv޻{3O]V=[n?DZ`wjմ1]4~p5֞p5Υ'\5f|V*Sc*5/ZjUR Ey4Y`Z^تywI(z Fw|qp6U'*pvz^VUN%~U\{; Wj; AjTiV WjJZquf dQ괻UW籤5@-eLuzS%ߞx6X{:Ak'l='`MZsr7N?iB99 Wmg;˫/CW}ž.>j /Gք ߯:V sM,US9OyQYBRks XqUFkw3V:#Y,LV ,F2@;V2N#l;4sw_qo_j*U$᪱.5\تJƕmddcjwuL @V&\'T.~La*|Xu__f>>gօƷ0Zd܇K;k-!\5fûcsMxeQ%U8aKm2ij ce;d5=cz-/A vitrqfiI~|uǹ+֙.L5.U W垁ܳ23Ԛ${wF&&"Aɘ/nQ e5LR6իXs߲ɤ⇪?Z62u#nVlߪ}0k|/L! _oV,,t-ㅯ~ mjwiZ \/';UJ@טVRU|˜VCWWkWm bv] \g `'ou᪒pUMأUV7&\m*VU: W6jvUӄ~ѫiZcpJ<78cl\i-le[*y$WUo:`UzNWO*M YbȚg9l]*8;z+Q*<*;.\MKU;cVUp5XaGl,je/j%:قYaΡzUx?X,lծ^MQV=B`w.p嶍[juRET^M*[c*5|e5@z~z5W^j\{n#`=uD5k Z5jjU `۞J]jQdk uRWk$㶅w#,ٹ,djYYl%k a_71\2>4cdBT2AdzVRwdE3UQYn&~2Z4=%[Z>_@K0_rߎW癬u}M݂VV2.v*aJfj>ևFyKKʘE d9U6NU%jI?gP<7ْYv?K90!]UpMZURbVnm~Ӈ*25L9V&T:T/U ܕ # [ UuzJvm2C$O+`b]S棓e*Y}VrՂVw校SC׉> vL;p&FɬpUXFU@ާIp,V-Ymz]5f5 ժ.uJ5,Z,^WeWcນk iRڌv* T6mCtQ+^jJդ5}ell!q!kzU6zu(`~Q-d՚$, X4]Vv"9g|4PZ/oIC eK Η.f5UPZ\MF8[* W$HF}`+IRCGjVլ5q aSfa+; s2~z.|Uktod&-]jj\6 \gm[Xߣi}CmX^nUl5kiECN]'@ Ο-f%,Dm^jzBf>\PT&yuqQ謹-5Wj/lelP^m˪WdM56/?`1 ]*! ^FTfz5 D Ω WG.fZj4j;{6Ugq)cWKZ磌${c@UYkJzޫ 6'իc 5]*a}RMXjBbarZ5;bJAk{qk~6+MnJAhpZ᪖\DQC婉U UEBU%Z!\Y*2q|jMc+[ XIj-V)XҸm+j^h_8FolZk.@ZRqZ<1eoU BޱpU!\UtU>mR+Ug>ElJIڙPk [ɇkij4ի:ŭBgRU/`|0[[PSo `Lh S]xTƅP5Z'`MBҥlx݀uMbEi5h5pckW5Z֒I W- ^Goj;Z|< W[;j1}Wg>telT&(]w5Tbk]ծWYjd* gRŭz֤ם~*5ը>WM@^۽X5-du{UYvnLgsvVc~;\sޙ}jp5{J5@j& 0.p4Դ :CS)[jt_<˄SZܪ/`5M,Bi|3zpZ#c *_ʶU&[!k+Z-}>V{cWc76`EF^`<^p5fuU@WrU$F5TZe֒^u[ [%իaaի_j8y{BV)k5,b*V?#c YsSYAko'ljl`<~VXjU׿s WxF 5YF@U6!@LU6Dž6歹үg$l|> ,leNJիpR*J_]*TTp5VˎZ Xv*V̒mFT* Xtf -[R *Vc솫. Wm᪤Z>}0j]U5$5c*T*>,UhX^JoXk V߮`$u{&eym_źRj˕͔Ñ=z|s;D-Wvؽ`<{Tbș0ϐ)m PT][Zga+,l5Xj1|q*4Yk P}e봀 YӀ5<_*]* Ai5|ޒ`|JV<0^A;huÌ [Km1*\g6-ڜZ͖C oi3_p5<$5qUr 9 0TL !\]^B%~'YՒf~ ʴ! ׇZ+&X XBWut* q94煗af a|R:Gaג#%a섩wfF o+,f%qPm'\ 56tQf .jƐ1i `|BBյd_ ˏ.lej.^ a :%6իVu;kX+«ͻLV%s`XCl* CV᳡լi1 IDAT6' Z,c * WdpJf4\VzVΚ[HK UCWMXʏ3URJW#I3w+՘M%i ]w ȪXs^}ڼ[SYCEq] PjAJ>_Rتζ%pJL5v`!X^ўnPCfc7T'p5FËZ#!S`nkjl 0baXZ=VU# VFcghRW5|I~^Ś&o/v%V%!kO?K!kL ZabAҟ. ^UƪFjizh)oh@Z*jӥ}WMÿBk6Vի ?vD uUkazս:y>իr UN X}8uokOjv ]ImjO'dua5jOZ%Y;O#\2ujˁ*u˂׮QJŒVR넫!jy_y$\IjwU }W̦zuvkWIVzշ ի*6'i*V6AjՅ Vեu3{-*V5ìUϲ2Y;ժa**m#Q,\5~ ;S@ ж=Ws WC6f{[wU2> [oa+.TW{5.zUקJsIn{;`*mljz*̻UMڮb O7bMB*EROX;T͚|69IkekV%1f=Ws W͒p5[$իp5@~Np^#c F_/UMW㓐k e/Z^j$}XykxB*Vǚ*W*,\HBU۽YbޙM^戰5{k86Vz]'zx*@$PRU)ު+CEP黺5@^mBdZ9X_e Z,nUl ]Y5}Lcۀ&`uծ0U|b_JSXYV* i?rȚ,|ݖTU ZeB>rpnmg) \ɇϚys~[+vu YE &[^jĆ&VHpX 7hlRB>IB;zXn( m X3W{l,-UlPbU2~Zɺj3V~̬UqCA~5~X|e(p /7︓E 0ƉRzup]j{Q0諸LbyXP*"֭WdI8 ?25&ށ7+tiMyMwC'!I6W$mH_BO+[㇧u൹ᤧDŽֶNj Vx*Wnke@>}WÕUCjL+}c jC&[:kH^U~q+hV*j+`MT [,dUsWwHRu@w>7}݆C+pMw7yLj~ZZj&uqM̜^|W5Im,uU9`IW`ri*¸!|OV1%9uYӠ5yE{U>hjMVUn|I~|u` ʇR*Tg0\bX:wz56W*᪶9gl Z%իֱzIUũZk%}*فNEܳ_I/ 5Yk̩N]džRwO Zj&,Ta \\ԹV +* W{+Rz5Ww5c[q9VPW&ŭ}fWCu: XM)`fBr ? ڞmAz0dFWcm/<|5>5^놟;3KZ@ Zïx@[K[4kIUl+`Tիޫc_7yTe*~{`rښcƛ%3&@|B/VjU֏5ؕWFR_j7԰5^#h-V߻k2`iD C 1'JՓ6KZy!Va *_:Lu!/i0=`p\Maŀ1 Xݽ*MUSZ*nOeYݞUIak7p c&hWiZ$u5pUjy궔Wm~ޒ6WmJ{8.:ŭrW' ^ZfU*Wg P~L2=NCˀՍ:(b֟R)luÔWڟR{a4UM|z\m~Qf.k]uIիMi2͔K[5YJ&dO:`uҀߵ U`/b%!k .|_me3_K [5=/#kz=[8ߔB:ϛw5ٕHV҈0|]J$k5Yʮkau:UJ[źUyC{Tլ2YT =Jnm,k{xF'|: ƳKV"X8Q+ZVڞ}|Vf [IWլroXհU=@YȆ`҆^U!Pb?b XMsU@^YU|Mc'+@u?&hM?',lM?w6sk4$-+_7 X8qF I\U&U&U^uc-nH6Xi,p`W XLo{&VӇO2_[ŮilzVai+sdVդ"UVMV) [ە&_ON섫8y.l%K{WnyUbա5,pUjзȕ_5 YʄqUM%i7d|ſ/d A{?M ߃Q왚VԪfM>Q9t?~76a`ഭJ>*ہo}իzJ!+TjqK&a言5V!0MVwBWV26*V>&hUŐ v]Ꟊ*gcMiC8N)hUSiekխ'pp _irTw``Sm5;z5ݱij~ AB8i<`܇Vw3UY8&TŪ56 sBV*Y}CY&0>lE>,]ޡ*XSIXm՜өbڭl.v?_*NլVɘukUak \ØIڼ$x q>ycSߍc'b U[=\ugSBkuWC^^p>\9`j X{k+`ukU3V ְ= !kjVI4MZKak{+bf!tMMV,@3 `Gi폳cYh *n0V*NスUzt6 6bsWcrHIBW~*V# HCV^CVw!RmAm@+DMz [gn1\m>6TzaC! lCI +YjCӨ^݀uzUyKbV߻&jcWo+ű{XZXe ^$dMԬ5{Rmқt6`qfMūߒjak#ځk3(ٖ~;ln]x QlUpgD$[J*dhNcõL`mJY%_UxIWVƐUVROڮdm/|e¸}լAzpiP[߹\V/|ފkzN=Bx Sk+x X5 S5_ޝU7+ev\{:I]p,4=`ua>~X(U?6i?Vn1d$ӖݤլӺBgZʁknڜ~v~P;MŊGvU_A``g#@TvU ͆WcV=Q\dip+|+WEVaU<'`?6b1d !h5Km**Zϸ5ݖU*:~/*YFUI]JNj:S XsJB8ͷ]誯M@Z*VI $duso{succVYMZ{խ!pusOU\,Jе'|mm?hK pl5.lxJ>`]5֘5 XӖ>k}XPܧu1[m#CV&|+jd&oVUlm~е=5<C@z*Qj9q*Ynk V. 3FjC*k_V6UioVtn[gU܄{xZI|B'bR5n c SIS\" `Scn4w })Ś᪴UIp bMMZ6s \& D{6[+lͭN=`bUi*@Z&O(d![W6QBWͤ:%׈ɶlw )/*ytիRozX};+ X Yo[ 4dMS'hUZA:2hϰu筰5^<b[ISQݵZ_o{/G p^V_ŸUiqM*5VfC!d4 ieI?6m+ak2~2rίVk6c(]G1t{^u# jЌqkUZ& U'=u"TudKoj VMTJI:. sW\kz,bU_ȚOrYOC0URm@Z{*Z[T*wv߾gZ4*'dMH!I/޾8m=UJak2tqx&톮oUcPo5$` XٛbmnھޖSVwվVIdBUVՏRn:{gsV0.n|`)k9VRڏ5Mq+!k2 qBUkzwak2V'pM¶,-ޫp?m#չ`5aSfi}XUy?VbLК %gϭF ^bΜWo$өMv;WHr V _ǛVΘɰc[f-S՚不@j5Bj:Ajt#\}^sj$U3򛇾*ߪh iRZz@b6<: X[ծJsLP:Fؼ]X㧴 (^7dl6RК 9Ċ k]Ou)d-\;s89;JQZ`n;ΪY;_1hm% [;C'mϣj]ow VpN2`NMe|k95]Rn.3"hFnNZfUF*L'兹uZ5@r.*N ɷ pg-b^-dugvQլi:k]4akgk@9xɍO*N_z7hk00]7d-1=h]Ak+YK [ e}\Im34%Xm * ;giۀ8߾5Ƈ@* ~m[Vd ?VvM49|!k{7B=_:@k/$p~h]=h*vˆVAS6+Y6 U UnX)k)\r{` h5 VN:ruy%է:ce- [Uꆮ˦yi 3#\2%=o~;_~AW0*U3ӗ?ۿ|;ӟX*x#X;%~y[Y?UE ݯ_u]uM^yNl7g *xO;~Q{Gow]y溞zc0W*ؚoozf}O~ꖮۙjD <^VV<Ưo2(nJO}[W*8eV|:Sgt驫[W*85UP/܏ξ\_}^^,y*87=ٷw;_~A.laf'p8V?^/|0E _D]?׻_/}R|U|"X'?k_nO W`lܝ^PU?w럽'_mYomU!X^ߒq̌n}Y]fW`l }>_f'uxf{W`mxWC=y\=v*pWo{w@w.oafp8V.<^ڇw|[A M`%}S}/v]|n9Sc Uɞk_:xfgߕgKSg LrW4?ooKf ;W`/~m7}BמjK3;?W``UߓuTn.ݺ?#X}/|? ?ξLwI>yi 3;wtypV@Y}O_/Qg¾n/_pZ/}o[F ׾o{wPwIoafU`7뵯%]ξ O^/>| 3{<`d~W~^w5z9U3'i#\v DOwzsAr9IBQ &ܫ>$I{~CS)ka/Ŀ?Z\?/j;%ׇ5sKbl՚ڙ#jv`]ztgu™6U`V\H>|:<~uW9Ҭzyq?yGGگʘG,VQcUn^uwS=W[騾c{݅W+yv_z_Gv?݋-.}esnUCD?:fsz9_&ebEs^׼sX{=}{u?;ss_o8*sItN:G%Y;Q}*os\_^pևzT_֢=Т1Tn}k~g}zyhqA#j^aڛv>}L +]E >3lfjfw_}ڛȇIPZcͪ53G۞>|\kN j]X{IGyi/^_7:.޸^Le03p8];"T#}Hj;g⍏H}bS*7!=Q}|Y~%-.'*-}G/~k:'t;rK"\N ̱gj@u0{_?@t0P{_?gɨ:"-_"\$`k]:/먾UƆ8ݾF;^/v=M]{^C Ցg`>]:?7Ճdj0*Y~w YcG/ܟGPI<^\ۏKHϼ?2э;O8G*U=z: wt0{Of {ڴz_{TmOب}vU`Gؕ{ZU1p]яd'cLetML;p8Y2X#ث`.[[=ՄfTkz_mePt fD 3U;jϊZ:IVvlu]+i&m \NpMJӋ{oį_ Zʡ}>|]=x^N =B~Zuoҁnf;_8%ګ߿K7u0WMۚW`%GtPG:_͗u>~uU?y] O\/WO koTzi]qtً6pU. WT{Fnv(>pUoW2ǺC]=O;ūkԣ?}ttpppTG_{Tn >qy YC*۫>֕ ueu=qmUH0*pNEaglۯx㊞zj0]/KfvGX^uWЕד>:*pFƏd-:<4!g0g}?RP.߾/>IVt:A,kX~S$U :z#KԵ矚<Ԁp8y?{#~٧ 70`u.c-잎WpqMO{Uuz.Iׇ۞2cϨŽtiǺh7`8c{z/ߔ:F7^˷W 5W WxC_vctwti~EY WX=/.먾BE, է{?ՕuujVuג8 V3LvSs:|cL3× IDAT0koTzi]qu :V9T&Wcޛw'ύdw࿾±;@\d02\d]lM9u}kC!s̘e$UJRmJ*3# nA \@ߏY/2?O޶!M`ho~[/ r7v WFDؿ;k:BI`ލJwفAK p8?o-M] LDDDӮюU I{+D~oӤ4݄4 ݏNMUoB&0`v><,`zubp͓c6aRdQQ$@9"*<U)&:>_/{XP4u$5*Z/^Z$M\t1\>^X'px $P&=l"""< KjGhgG$cJ4 ]u0>[nݶQ Wn'h>EPs'#>ۀrƇ`n6IElO g畲 DDDH["jGD#B'k1X%Bq^O[4UHh`epfjv!k=G5H2CՇ`._N%..O&\?=ĹDјJ 4OBn ֤8Mﰅ/!ޒZ'ŨD,SH?Y60\q6$|= f]D'=l""!!@Hv+NIi- Sٞ0U)~S/AezC҃=C Wswhk, j0X?4jkƶ :^ ns隱k?X""9AW0c2 vC-PkG%Rm4]M E+Re,h&PU]뀄+-p& "!V/,OpZ)G1~\jFOD" Z:zɱRBHA V|vs\VdYx00\%|RD珥,!lo'pfQ7nGINgljhhr묺4R02Bj± t>1X% މWUo@cC Wi o~]iUbc:Z Wi.Y e NA d,є& ZFX9FH CW0r|UU nWzw:rnB oͰq Wi!yk{{! w7 U g=u8 r}^~|=9jY"I]CW)5J! ]i@Wjg!M!&=dq V&@=X/{wuL "m/^z,u(:`0\%zXk[Dξ~,Fn !>ن.7+ 4ԡ'VЕ:tiYPs`}Eqd,}\ "ԝ6Ì"lA'aJ4|wZ +"gճalnFODD=+ 4]nBU hr{{]i@%o'U1KmXAtز+q Wi6_#{FsI,=]$1X}X W_ 4x'!/ ~Ac0V.4 |aT!6lC-gY[V{,(]h^0X%o {%3Hme'0s?\Vjc!n_K#d>ScJD'u OgB?Y??aBG B'}5xAP$ԁ4!KUiAlȒMq}Ung҂D`h Ur+$!2+'00\y~S/AKkIGK `u<4qPa64x"|r+TxAN i/4B>B/.Ȓ E@]R,T$Ƀ*!I>Tق҂Mn4=.[PnH CPeA(1X%z`Χ%( ٷNO a-CɁ"9'aCw8 F}>ܻ)>DEؿ$k r6J'0&00\%ϵ~wF*:0 U""""7\d!x UUC{[SNIϛ0.o$`APUU,* Y&B?!C&70"""";bJ4bfO a-hvU%hvM X` zԘȈU""""' VF(hht~f$Xy y$bJ@X[=mX+lA q ~Ѽ`J4"AOԜH&u*/`J,:h6rt ?*`JDDDD)xG-~ ay=m4o?$r 4bm#h=mew!RGU Wh1!'o='i37H 0g4MܽZ?߁=m ;0\%"""Y`eX~ qIy l~0\i~]E:$ U""""U VI恫9,#d6$u>)/ EB:+ h~0\%"""Y`D Ӧ Vp*:ͷoC7=!Qk],?p:6'DDDD4k݆{p4nj l1 W`U-O}}*UC{[%}HDpf Um{ia|ZX UzhfO a-h^D* D74~ i3RQ, ES'0pJtBHF:CcJDDDD*A ow4h.;^JpF-t6Z-#|kh\Ѵ'Dk-nȼI&02j R?t3\[htg^$%h4Doj~$ dFɇntGNvuhbѴbJԇ?@qI}{ ԄFF0\r^a5_% !Ȉko9d0X%Hؿ=&YU{wLbam(t˙j(l N4Mp&* Η6EW&D#iZ0\@^MTt##a4aJ@8>m{ڴnj n*] >W׺jX~:ѴcJDDDDӂ*--.2o!kh0\%"""qcJAsK=M`c CIV@$hU"""" 4<~UiRCV{P"4/~}jOX~wF"28ɚpƂ*5h~MHh#Ib:hNMX` z̘Ȉh80X4]v~fQEW'02 W燰ޅh.k$i#i"2ryS9 OULNpttA]k=GGd^D4\-v< W@{ iණլHۍA ox;C"?C[.'""Ie !-ﰅ/!O4O[\2p*H_N1B{N[6t:<-/ IXz{\<h [5/ jH_Oɗ +Vi`!Di(Cb}ii'k\5nx ׺Er33QѴTz!$Di1`H&B+.CO˗ѧυ>DD4p^a>ksIdF3p^T`DF2b+۠pUwYDjfȥ`W|b|_ }?v"4DD*8dw!l&0*5 W_":,d #ND1\%ys1ҸO{Z{^ d._wϾ*'"74D `W6EW{ =jL`d4N)!ܯ=M lD.; W݃ph.l`7A 'k p/ lGD*./@4{TCP }Yw]*1#=2OѭȚeDDs4g{"WA܋a?_y|q!.4fh{>ރ_{B0C{ؽ7$!_V/\Z] .4pJ5z]`O)}dz'ki] ;O Ci-'tg[Zҭ0`lP`z7膡^ @FGucq F|m G=0_x+_mM43&zF5?0\oPyhw^9WUoB4vN!XuTlYJ jM{tDDD4/.A; .]U'7^ VY9(Cͫ't>;;ϕ.;{=mZ$M!^գƀN'!Z*;%wm_I]6anfW =*QWO8{*٫K!',L< ?̔\ 3/ ;qrN+͋w6c׿)ģki7 U"""ɻӒ\1{`uP8h̾}nOgOz[i5 {d:B\O pum՝"RWs39yn*lYamV:G`,zo'[izYJ_zrs3ffZ< lpmTv}X, 3:ѸqޣbJDDD.V^e%r~8(*ߧXĖI k!1` îP.iCf1Ѹpޣ`JDDDDTwzK S' puX:*ExvyWE2 P } #y* Vi">B3_iUbc0Z Wg|"|ǿ$I.07P)ݚnU""""bJc%hWz6TCrnB l0#1j}7ӻH%ז\_c!=/DDDD*x(|w=C=F:m6k0< )|hX"YU\O#$3`%h-.4 vE:d$1`x8 WgqQ;.]"TCKM$iL#Gph11X4(|zڢ$Bb1q ZTwKJ}Hf ÔiyF*aJʮP|]0F2Lu*0`xx Wg_FeN7#8Pմw{NF@̤3u-`Z>slIGK €a<BUn3aF~ -68 8>R 풅v>D7ŸU WUz2{Kfb0`sBb |wK$ M"siy8uvvBl -(z4DDDD*(G$+2]N``4 b:?/8s/_~?|j5CÍwa0\%"""/ VNr/^ݠ%Aj+;Q}s0K9XuT!)+ IDATDHmexƷ`yޫ]w7Ϋl?ؼIU""" Bt[C\ U%EB:CU5l"d^*&70I[IDj+ Yr,@׿"vCE8|L>vm*|tk Y.̕P_>@0|;""""_ hoh.4ɚw6a>Y.Ԅ6a IYKSV РG<$ Dd8BS0$X{ƥ#^|}M9`r^I6͑v :D2:{wסGC}ۉhzb@>G6аB F4j\]"ڟ9tP.߾Ube YA֔K>|S:wWV;6RktO0l_.??FsreU"""YUV(| {k aPyY_5XXdUAd)H*³݁}χUj]iA34npu>Irc*aQu4KJZjx U[]YnϲCI_ӱk !""".4qQli3QdCe uZziCUj0݄]m]Ӵum?݅aFA1ls$;8[:}{ph[G?~']Sn]l"9pMXGK](P2A8m:Ѵ;6mul{Z$G5H2CUqa 3=U]g;?yH&Vb:u Ɉ5զ-;~Ei.U.`困-IhC$C(l2LaJ=j }w~7DpuqE2 h嫨;TG s3 EW0Q}Q8^?ޑrWWVZ|W@bW* 3H:ÌBVy}2tu\Gw10s3ff"S W$I͙h_q(@VK\q֓~QkGZ8r`Zh,؅f$IRDDDDs*iQ~`A$,=]C4kU f3IX Bmq_%4*H_Ks*™(ٱUSVVv_[j:j s<tE |nc7: 3SDDDD**{KuS ~uRpuɪVUc4Kv*K-5]It=y)X<ձ]l9V~QDd9>uKVZ&Bk/'nB%MXJDDDX$w'I3O*{]AM~@Xv˂07$!*ZTwKJUZ$s3HfDXyO͖ڮ_u WU#D&&|NłuD;߀g:iUj++V?vӦ:r744c*"!dz:5k`_keJ8RIYKS9;$X_xQg{V*"{p.Z蔭TF1q6‘Ѭb|G]8mxw֡h  WP"îP~AQџaQX q4n`>`>??_km8hn Um:7޽Χ:"B$.ADDDDW09[@ |v4UVd(C푥ǨxvhU*V_]Br= YU:\zx % 𩎟{}\ZZu67c[zT|G f a3ªT""""5n^@&_C4o,O`T4-iy hQ{]Fxhe)H>J#ۍyqmC#n\ZU#7!ɷ/So:j/V4dUDDDD4|7 /!~j$\F|%5ȱr5,k)TwKhUOGeAfes)p&v|\RƓo [UEksv+߄]l!pS*A`'khD.~ bqIykn&ADp*Z"R}`_pe|͘э`~>`Z]OBT yT]aFI`Q.iADDDD<o84ɪ;0u $"醫(v*EtdfW5k`_keOr|adMT O4x]jWG8]j]`l%!0N1!DDDDD#5V&"""Ɗ9x> /SyEtoB iM)\1(Vq"<{pfW[8+DH=ueD7=G>J)xڕwU%YB(tUDDDD4-PlN{ƈU1 d/WQ)w)TG qƷ CpA[+*2qnZSަwUb"=J$* #A]x82o?$s+\oo]$\nKen,#Frci&n^y1_.`oj*x4BnOR#8TUDDDD4 fbeKOW]ԌE U P]A \* s3؊i~YyϷ=oK_٧)0M8oEhvbu5*(:B2b+fϢWn-"V}86*Eоz<, 3:=ҿt߷]| TDBHR%@0fUDDDD4WΰnRqI:FEbbJeW[l4iQGcGw{5t%9ME(aU*=3I#4՞YS{P" h$R[96[bJ"1j+!%YB|m ɍ%vyBd.4[\OB(a1X΁h 4Q/#T)KHYEB72 UQ/qp \vCV$ӈ! Xm@l]6/paQTl7Ѵc:Gm?.A 6oU5㢶w]\\K-|yNRBv5}u$YB(tUDDDDD1Xa㡺[Bg) s3؊ (AC@pk9aCj "ăg= t*&<˽NRGV-LDDDD4΁}Panf*ͦY a1\ҩQ)S %Hm-#|2 |NIUj$C8zDDDDD`utmT-j, IFr?PxJ@p]m*7I|GS:T;߀o{:jcc%#$޹BDDDD4 V]m]Ӵ5(ROrУ\GmMk@p:*xK s3EWS3 ۰͑Tʚ#t*b:>CvR,Tct@4[&`pǨx}%EB|u 4dUsNr;:V*sZG f a3ªT""""1a:h嫨J8J - Vi4ЪMYS|F|-}M: A;߄uԀS~WuME(aU*1X]"8(w+2ki$7 +xQ0X>]C4Mht|CuQoUԐFeEC{~ǃ]l7a[TJУ!Z0T""""b`|CuzESxs%tS Wi\AuTW 0gpT yT]aFI`{-{@DDDDD`uAm՝}PU fog V6ҸumT_`׬}C0'9Q{^ˁ]j]` P8 RccXh1X]pNNv5 #aF027t[ Wij W8ՠE2h0@S.ZhpC6B5tfa3#߾g'Y#(F=G7{pj Whv1X4ۨ~[] 0Hi7e5Xu[-t';.R{̐7@H;^d^w Wh1X-T^ആWfo~H/tnܿЃ\/T^!]0,cJ#븎v=$R,TC<Ǩ( l]=|=֐$~U+u VaJDDDDDD*M|՝|׻$I.0ghF9Xmth}=g¿|p^UmdXN ,w!zX$!£￉V2RQ *E* i1)p&z |CU?:'-&\+(}}VawDDDDDDDIDd8BS0$Iܟ\jB0q__%}S﬜WR{-Ms$'㣝oQNn z4ԷhRx/5MES"b[DPw=Thk0ga/ώ}wS )aZ0T.8uvvBlAܴLr """""ŠUZ G$q*5Ю7yX$ ©gtUhվUbVv*o˰K<n%J8v""""""qb*M==򻛰-T pN0(R[91c`_Z<$;K~Vvp66JBw7a5.wh*BftΗ+"""""".J30XX:*Ex3]mWdHmeYJP: -m<_אȨYZm|pW_2X;b V غ­IhC$C(l2M14s"KqUTwaU}@tل+c)M膉 | 3Zh/x*:$Hm޿*UWaQD1f듈fUI$!B4gqp1; !;_6j5hUp6bs$UHv7 'e~y4uMss]O"@1jeޠ]GUW\OCV[ fAtDE{I>|#}U^AsF^;:V*3$@0fUDDDDDDDC0XLXd\ {Wu]m{k^w9"AB"Ajߔx`e%4$_Ksc9[OETѾxU־*"(Iwqߞ31D}JFN6wp̑?#dˁS-lkIK90 \@S"iRËqr؉q4t8?S|j*LL:*6&c;`c{/Wg{ݎcTMb[qz/Dmmo>˗ QYFk\<$GSh|gc?F{͍ho5:TjŹRWjբ4_7/wID [c_ai)/=c1zwH\埯ܟ,[|}8I7v^?³z+{"_;a5"<Zr'#ɟ.`!xR!jk(׫GKZ#;I`^9V،NsⱥJ,<_\zWvڍfGV~?w&A':>=IνZXGQnDkwyVDiCHEq0>ߊnctdk7z\,>_BiiU(╆Տ .j,0.􎊼&vdӼ0Q?:m\$K 0N>l4ُϷw2bADs0Z;GQ][g+%v+1S+CO 2R!<*ϞOb6TjZjIT*m[}om# ܴ?~1?GX 2qj7ܙf죥`y)o$;W__Q- 飙z!SL%$Ji뵨F!5 ֨@waۆM^<r~TO?=)Buj-ZHrxMN env=69s# nsB,~Vg V4=yl;/Xx ^)/Rm+B|?䒈BLZ!)Roo:UY|S2pG=}ux#[aܾq!M~8yq۰Qtر{&V bV-VbY= {?miקOfGHKSDQעROMG={;K6/ɰM ߿=o;;0 W݈qr0y]B5Fz;.F /ڻsK(-OFd*2*^?)fy{Ծ{Y}biD΋V4_oL'޿T/s̨W{㾏da;}]&r=a٠7W;qr''!\cra>Vho7݌qM?Zorw¤WYowq*>Lܻ̟Ű8*ܐI/~G_Ġ?.W㥘}If} :hm5qGeP-Fy4ʫn6| 7:/w/By&/Gmmڿ{Tjs8ڛ{$Di)J=5 Iv+';bJ+sv=w1z58ZGmNutƦGXۊ7ӜxliEirqWI6Ռns|4ZTf\ D{Ǧ+s3=- ۛN6NuBZ(-䬮d'm2h~w{ٜcIDum!DXoMXDu|%SbM*k/Og -4 N܍ioI>ُcR ~V{ntvO9^gy$8Wrzj**b^n7ڙ8K1hntau0N6(NS._*Di9~*u}6%SV赻8z?b0KP*-D$ԼtՈq'qJ(Ε\EVb%P*pUCNObh>xL ꑮ]WVW2ZW#]E^/{0-a~+_lF{9l%Fyn|4mD{f7ɒ$JBj-婮 * pbRӠj,>_b4\VAtvjFk0NN2}Ej1+ըQ^E}X ]7h~w{oE1!l&\,>_Bi] gSho6&Tk(-QR;EX{bDb;zc$B,<[L!"FAof4Gk(өl*5]Ey5$g*{Ug~ڍ/w&qb{VmX==:amN7OF^lҙp pO:8j/^Ơ7>担~4^7Z[Ũ"]Ei)$Lu>FX{<;q^5}7F\%Ux NZb+ۍODQעROM L{{/6䠝BRg#_2 <\*+繉g \.Pn\.KGI@$ p\.Bn\.k>g 7\.k͈rEGf|MGs>g4<;rv߼\.F:{_~}WӶ9p3r6\.WGCg\n\{n\.W?rS[_sr;yEGl}ۼޙ 7\.rп=ou} ֣GY /p\&*i1ٮ[<ޯ!pp3*nr\.kWGޟC{!;2oB\.+6{ ulx\=BD𼆀.˕ߴ\.'3A͉Z) :dl8j p\.VGp\]ug3Gx3>.7\.zB?:<ޣxV|nwTK\.o\\.sp?P}s}#vycp3rGp\W(~&űh8%.7(.u(?ԏq7\. 7!.:D( hu#E[~2ѣ&B-f\7. G5!Z[qn{-Q Y f.rrR[A__z?T|E`<@ٯvEn\.Ǹp\]V?yg3B}+Q&%'K㘍, `G:}Zho3\.]'hc%[^]Pb ̂&@A>-ˍ7\.׎zh{v= =aFALͱfA 6{Nn\t r?%k`@[~o01 ͌GrP~3r6zށE~~#s\,016&l G=VcSߢFz = Uh} [񓿝zF,6 &K "`k8Z3+˵NrCr(#Eo!~KoM*jd f@kѳs[h7\.WGrkwo[9} $Ud vQk^++Wp\7.ƽ[,k!G[-0d459}M۷cW:tEn\Ѓh\tr" D~0o_huKo2 klb m >+\ U]$K秀_ o| ]KjBy`~\9Pm h!f@>O:p\&hѾ-S35nRSsFA?( %7U@@d T394r ˥҉%ڿv6U :%QVfG;9 -L K Οc7\.F}rzњmܶV@>]})~+:XMSVfLY͂^j3\.A"D#w{i[?+@_=y+~)b6ǰ9dd r/m/1g غ:d"p\.+I#{G(/ Akü'L Bgl<V@9Pe z[Qce(h=2vhFJiGKoߘ/F a_͗@_} ZxǸ>%5rI3̀m%%8j vNܒ64r!= ۃǃl/~f\ꗂ~p^2~*~%0iXq(Иs31[V @#n\.4))_@> 1Ke2wLq d\F@KS*heس2t7\._=AϦas9@^@s\J>rQ ș1ֆSF@n\O3G;B! ~[@_ktcV jf ́1!;`{3p\=M"s5D-!?K s^k| A]2ZRe =:MNcp3r5.׃jh?K!ͿsL dҴ[K!?m5Y n>3 Z1`1 ù3rvch\O|WEϙja 9VoC:_}[WHL5k .fglir=pDMWC?-`R~خ{̧@^?臨*&Aa gKj8! ;+UycÍ:Y_!Oo Q~i_)S}-k?cx*[:uUH"Ɔ8JcAeF ș13,d\zP*N5J~F\BrXG 7L+_]_ZB~-k~@AoB1 &cp )@e h3R*3oFg\Ao$\.WNFm/C?d_KSɥ " _| @o[Z61rA c*%К,V@ nFR7.x{ c5 ڔ~ T~ :} K@R@z>Z4wP̱Ys11Y@Qv@g3lX\" p#*/ pN'7\hSز?_P sk_{MdkA >ZZ,{cJ"_mHfA`1g Hd HC g࿤T 1, Fp\pq:1K]I#ϥ[fO=^,h҆ C!kHFgX=M`!PkJiAIٖF\n"\.։ێ7COӦ}9פ5p,ѷB>3? 7wxG+N}f @?s<( 9 h)XrʀHK p#<:pEKu~k|)?5%OSn|%@=y[wx?4"@Q Ks Ke *T@!2;`3 h[f X̽s #Mr:6;wk6ʏKdt_ƟB;2T>  pz-̗@zzJhЃY I쓚l1)5Ze6/[4\Fg\O@\qZ±-J#~.Apz#:ktțaPbP1We LE@!!";:3y`QVme 7\\7.׃j6s kS;B?گk?}^i&?} s}Oci7 /I kHǡx9Ph L }z RvT*`dlP"Ц<G6L/ pHn\;j3"!oyK跤W5o} kIpUބ]RSH5 },tPfS&K@0f@viA -+7\n"\ѦQ௙ kki3-8v5k@_ FQ@ޏVYDs)& 9{ki dz X );R* "+ZkYX- n\\\ӦP,G ~u5V/}E`]򥰿I`|>(&AA-1 @! dԚP/ +4LFgz6rPikMºZצkD~-~p_ 5rf5 *2 S@hadP̀~Ly@>-Zle o*\i ޗ?7 _ԯG?d_ KR_lWbt1짠_Vx?K@I^Fs@X-Mt@* e@i ̀Yα[0?p: 6Ow(K)@ڥk%π~8͐ kuLomaPڱ`T)@f 6Tdp̀~Yy&Wn\?g8_şKSM,,sQJBd|RWgm,lcc%h{a(h96bƀh HRl@c03` (.}V|NF.שAO?Scmߴ"_Z5AM~i}-Q}sf|9w|^;=a+??ssl3e(_PB5C@l* --23 pY7<z"r5ց{?C?O6k_RۯKDdQ~++"ׂ)3@O}$/ûz?ei ^Ϛĸ Ț5th ej5%E+P K>&u:r5>O=/Sg:~_7C?DP_Kx |b㕀,->^ 9g`];ooϙy4H0I0g0,l0rR:5LG+k5~Sz~c-*(?MO}H>s/K1-AB`3 0L@ZJ ,! hWg`EmV@6;F &˕׹n*\lO~Mh?_(1ү~u>8~ZOSt3Kymv?ئ5 (1٠!K k(b ȕP Fm7$MGppĨ_~;&s~Οh?a_~mdg̓Ox@꣈~sO>q~N/Vo[E1 d>eP(0r;i(R --h-0d@IyF?kP95YlK.˱_R/5/SA~5v/~ ط_sϘ  kd)ofMbxM X>d *Kd!`0 j̀YH-@ IDATW  ﱌ7\.RǾpvI?7n^;gy~nR:_Nk_5|xair׋CjDy@l#MA[YK@j L"Sb>{h1o&3@2T%_ۨt8ƀ4^2g.צr?OפKu_O?_ݯg=Ɓ}ڻ +\bq:zWK dz;m9#=_m)@Y*CZi et2EVTPc 3FF@;yF]n\Q/6Kj F/Ki~C VKe~yx}H}+ _)ԴX]o?C@ Tþt[jpF Xc@(6 cR1O,-( duV@< 5 lbg/*#`FP6˜EMvrm-K-hA_oH__ZLZ:~Ct_ٗ_xsp3+>%Ս36c.Sڗ3 (`_x% QgD1쓏T P5)YCAyOi B# 2 u\];.7\r:yvV|JfkIGcs@4.;)z 5$`*5f`D"+@S ЮP3Y }~KY,r#ꢳT\Mt0~K2^.uʈ+q>_&/.GD[C?WE7} 觐Es`ol =wJ#9i3RqfzNj@H^Ș,C   64Z+(jt1ܶyn\ igV0_Y6,|Pg#Ծf~B>} H-p/ +ѭJ@uc-z <Vc` ,dTPex~̀tZp$ +l@4mQ@^25c 20!0kI?5B`iy@A@i ^~s %.Wp=/msvY?K7)A8Z~HdZ?W6Ok`ȧLr`yv9Aj.źh9>7,՝cj@ݤ 9 S`U\`L0cG ?}\g0+\=@sYgk&a@1tN ~ǡ_W ͿU?8Kd~2]`_}+_xa> Vȿ2i}_}kF"?oh)Bv@;@k&@t h4Zh(,%s0+uvS7[~9z\׀?{"o~U~Kz&_姀k`_[A?ND9OWSXMYWbEHO`i#XAI~@3C@ X̀o k̀ao5K6 iؾ GR7O44hkڟ6w~U?~aL-B> xam7;`]t $\ 6wdS gDQ8+` sf&:Vk3@S"(H <`#@Z>P2Z? 5Fho z:?e?gk,E8ޯIf4U双H?~[Z?jo ?s`O)`Lo GDɹ@f-F6́f 0U2( fdԖh42KF(P* F@Яs,s rruZu= m_UlKu?-~b7!/53p2*#9aCEHspρڞ~fXMe4HWgQ@1$s \&S!0NBdPV3LP" 6,(F@%#k] rDnN/ߔ wW6 hB(?o~Mt?Z^F~ Vȧߔ¼vV~;&2 ,w 2 0,!)zԚ+:y P (-ll8,}jX-ْZa rl7.Q_9:gM^%lS[q0E;?YoL_ )-_lp^Ge SQ觐n|YW|oX#WV"F$ 5$c+%КiShPf0zΖ TkV<`/# (4,dh+@;\HnN.1qu?~% pih?JC:oO8姚I)~ /4LǷ½jx?۵Z--a Dف`0jLiX~Dv@o@cJ^RVO@@,ڲdlcpu2<.7J?snL󟍃h??/W_sR-WӴ}5(> "!&~܊-5˭Hycadh@k 2 iLfc@Н o gjU5FZO6@-nN#7\ M];?OuFCkP砿1( =고/+!|3zlbGU{/a@SHJ (c@5@k`$;@azXK< 1pFQ,@m6@Ϲ1i<2MS סu|N_:}6ߨɟݿI?WO5+K g& XNd XL@@UvcuV4P* @W#`(#uY@&bY zZ:G'&5=_׫g':b K3?b\__qiL ~[Al0E9F`c  W6@cXadd9C n,6 *# Wfg 05lmtj) >m6{&:M5_F~sT?_r 04m}Ou/?G~͠}.Okg}2Ml ^gNg$q}:Qn25p@j0 dd6p]X1@.#4EY@ᒁ_6tHgp=Kt? t&;Au?[ϤֺQp<- O=}*|eW\sKSs*) Pe sX:9f%y)T&;0%r5|KYWY>l7oС?Tji6@ `ll_&IP:k>˸%oh$XO-ǁ?+yu_iJOE K<'z{!}ѹWf>3z o2q P۵@_yC C@ {4Xb]R@Y(319pFR9#`K6Z7 4 `~uNCV.W~3z&cc[/ 'U,M4:,7Dɥ>dO3Q~3y2Q?@|bL{ -Ӎ6S@2c&zLeZ@_ pr.Ӡ$>[MRs@0@m 3T a>c"]A`yF@]Bj@6 w%l aB)kbi/ J!k7kn-9kP,杻kM1\?+I?Q2?줓?Џu}?GOEK#o,k!{31E~kw7yD0?m,(4\mvU* Дf x23,+(X7@r:MIt/ڨIt\?ᘨ0yx= >~ ګc$i}~򺗡z~KSUD4~ @wD -~9`4DS i?U@c-c쀨'@S3 FJ\?`s ̀y(@6@K6mmlM׃7 +9?h?OWs+9m/)}Q~'k@,g[t0xMRuw}FVQ9cX@Pd$c` Жd,xO@e >T+lwFb@FS@.nxU>O?} צzb<π?@iZ_I?'_=h?_OEKڰ/Υs+b #je8xg_L¾Ip8¦TDeV)Y 2,Я棱g}dk@<в,kX8rll_p^n6S7׃?@9[7NQ.MJ cौ&ocpƌ)ܒ}%пJGcdVX"lt_Я|5P_G~ۿգvnlFyPQ@`m2X 3 )`;]0wIVkύqj<4 iyCA >F,I`( pt׃Ij(7) N7Ds?2&ej?y`^/U*_]o@7~e?zi_3"+/<>z/½J L,`#I7jPsU0&m2@!T@cpK N(aWʍKF|`jYF@B6@$homh :~3zKfsqF_ck&p? .'?9a:6IJP - ^"L;"'ۑұmjs@c XL@4Fۥ D$+@4/j)#eՀ85&#@b@(uY@e6R@ p栾44ruR*shW?sKťk4(?)i?6A?QV_F/~A7stOKѓ$[0l bp5}V@it' \F 8+?+cfjl &pun_j}5Ӏ=oy3krLm_Ju?y D?_o6اk3_ W?q-5&W*2̝7 1Pi ( K9S5LO01@(( ȕjZ` PF>v@SY e@m6Re\ r WV3 եQ?G?!8ݟ^OKu"/P/D}eR_~{KQ}x(>9疃gǪ|{La3 nk i3RvU*D۲McH>W" Ȯ '` #`>dF5e(@[O_US 7f\.7\'r"忠QK?ap ^ H?t؏(1D} k̀_UQAڎ>D{U:5jU!@푻2kL9?6 *k@ X&|7`X10  r rTy]34'dI04h?Cy]oiM+A| s,o'ڭWJo IDAT"?:8¨dh́14"L1L2Y6;@2 fd0f^2+`׍  XpUa@M* &iyNoS7ht\/{T my[zrA=\?0'=WUt?[ ?t~ ܵW֑y2R'Ѷd߸s~21V@>Tvd2f@A@IV@<@m'b~0~Q cW ,X? 5̖HS2&|~4p5&$wH4Ꟃ?ϥ'Kjaz]K󇩾uTSM,[k~Q} K ?OA(HeiΆhX~/RyK14@SjTglcd)_Poa?ӊ8?m( ̀M6DKdt/ ( ml3 :pUnW65cH}W,'5Ku8?m6l~K?OE >/DϓЅ?٧Rso}s^L窸kJuA,W j_ T)X(0,Uπ a4+`+}:p?OQ@* j0 0D*M rJ]@_ P]k DWMפc+:$1 ]yGύ?44ڏ#d#hj~,Ep_9З ?L滆,?0@)#'f5,%n(HJs2(S d Y Qge1ZL6scty^= !yY1 J`,2@ 0, @no^'/Io Tj!ʟ6[}>t~MtyJjTiU3,Dڋ|]0)LQf p*C`y X7bPp2F@xN A9z]{F@ *# -kLM5+`a7(6lR` MpJn@?6?tdQK4 ICuTgFe_&?|_1)F~ЯO? 2 `\;\~}1pOe&p2J@Ri3)s`}2Y@>;`g3@ gpMgd2+#^" Sl\ к$R%ЯƵru2x\-̥t- (=L>0t։~?pi5~~osi~Ǹ>Ǡ| kn~z>gV.'s u(S`6S`B3.̀U$ߘDc0G|X)?@Z]-`lm%K r)7o7T_ğj"ߠ_ñt GǍ2~q}?"?Ou_ lK~- _ a^gԪ6^Ax1e 6rYbـC|C5Yߗ <eQlXe1=G`qFj!. xFx'hj(izr:&k&kgµ7!@^kG6?u/__uǁ~\Ǐkk_J>y^[J &e_UqD.9c-0I@!P71 !$L\y@@8l/g(, ]- C6T- 5t~SG"6Et?\T/_O-iDu}@_y91&#=\adsvlg$ssø[F=lF * {@u6@h$He ڒ.}6mh1j-rpehmz.E)8c@_}Jq"^sa9rtoh>?`bD5l?=k!\x)s3jL.K 5bC`ގ .;z902F@80pFpo\Q"# 2Qk~9诲 J}pУhdoQ=]Ϛ_ScgQ77 ` ЏЏҟ¹6_  M3I f^G2rC+*3 [2f@IVa0ļ'`s# ɭ@^6+ 3`lpK_mI2B6>&@xn"7\7o3zE? W+o|lOEsa6W,K-\H/7? F~;@{Dť̒}h(-S}-W 0WS[Ka/L*K!`ho6cVb(. Ve0MߗlB@mI\- Иj&PrE_35.N\OK#i??LD ^%—shz~ )c A9 ke wj 3O:s^)!(3Je,<,tlҌ|k*MqYo, dPe&( 4 , PJ@RS_Y!Ma7.I_OaU_hgM@YO6}ͩ'=kWoS/E~ S?S@u._qM@~ ܷK~"Qz~ؘ8mW6I J̀(+=fXm9o Fe&\6@_ РA "V lPB.҃`Z៛_/,(*?*⯉+aEtøPvêKiOПs59`_Zڏ̵OVoG~7 {Lz;g p,'=4 go1Ja32mdMq##@4R?ͥiYd5r{HKUY12&-rQGp@ǦNL_f) kRFDĿ8?CE#cDwTD:KzE{h#KRs]-A:\xƀf h nT ]2대y6F@#`~J,2Fݲq@M6ZR6 gI@˥&i7D-_[.?_/1?,pM7ðHORuz= ܋R׃h?l~.?g4~I_׀ [\_~nqU1CcH@)@Ce @\@P5t6P' :V##`7 D@- 4 d* 6.%q6J@R3Jscxn"7\t W= [ezT?gMFo8͝WQtE?qg6"2j[?zWaX/ΟiQ Tj5KlyFlFڨ{J^GOw(2  `șrfFji`6T+p\KY{KFA iXQУ/Xp.p/kyiH@TM1lLorIF@뒀ݚ&>zv`xRFUelfzA۔TEE﯅+t\??Ȃ?5Nh&ſI?tR(s_ GUm l@!@.9 3D kw5F qQY@(Pd3l`$ަgM_9`sZw0'f:fpkT(!oOs^&&QfDmi|~%ȷX/-9Fo~ nqi68s-PpN\ --H#qYx,-0PaDR#`znhXT_ihF 01r%yIs(O%xq?/i/=S-KGFFyy4ꯩM^.SHGǐ!O}[E%ϥA9 HE!kQ[0LSo㶖 ̀VYiy@}%Fm=VF@f e&%Vr0lI?rM__}i]!MEn tWG=)m [OE?(_L-F8sQM3uU~13 f8;@o 93 KYaL'`P8q;Td0e RKJQIase?I_(yy΍Imw}7\&=Sr2R&z ߰xe"W\1?|Hq`g.e\}?j]T~`@XxI$B9ML@G34+ ]A`L`+iXdץhNQ  E@c6@+:q_S뒀aLM 怚eSȗ||C#4?)}C2C|353%h?6.FQp_@gUKm\}&Ϳ$zC)/|gF_z-p ՂX(=n?) heh f@`i<0ӰNϕej)pӿUH /Wp z ? ep fza$:'QSrC&`Y`P}1h0/*ͿU?ZinAo2ne7N>*طV3z) >zOWYMG@w$, P9沀4 2e ʕ P GŒAX* >⒀ `Y!Lf ?8 [- ࿢wF{u_KiøN׎N:##ѿО~;"¯~5z5s SU&ebC@PBmf@ k О6 \1`i!%?m8o#e8kș|I 3/&)7VpPS{B\ As-W_lYzi?\U)K5ܨ?@tKkņ~+XMWzVxk G8(264̀lπE {pƺe0Mdci`H` ĒaY*P @K6@9 BL`+ }?O?p1z JaAzn{#]/蹢ٟ_ZsQXuqOQaLtǦTkGF[: [I`6yEfs!+@*=]=F4l @-( 5 "@^2pM|p Pe 󒒀e9Ai@/@"怚eXM!Ay gfLz*9.ע@ FToq2rQBl/jm54MG6~_ V{Tl IDAT~ *W b se(*̀:R!? ?HϬ`\d`a6H^;_JoHI}+ &@<ÚHfeQ3&m"Gc_")",¹d4iG ϿC#s௪o7RxG4(5L @ (IF@ʠ0i?@?W0d@ .8k p\`uIuLU_o`jLo\&0MHL7J~ rG2Nf#:t"ꏻ8u_y_KF_U?ڮ|\q9UςGsףΰ۪IPb 453QV@<`W#M0оRkY@I`tU6:f%ᵩl pk 5X&MYnMh<>S _oOaa'!)`su?l7IoR}{C[ s9 ` s)P7ǔ@.1+ 0_jh5 #`~ml yWQ_-`7d @JhL\_T6@Us@ja@ < }'H'&k֑n`\ ZvKh}R]_i6??^KΡ8sn4)OBk&[flnk)෷79\t?&?'bP 0`İO, d4l 0L6e <?pԿe-&7H75 pv=MCi| OǸzΖjO-oiQK]a DgQ܏k}h?uz9+A?$:V@!oS2 !Wc) F0+X.ș/`-Y*`P4Lv@ aH-17}}o}7\~crfcm〆6?h/DSqe;ZsQ:`R0(O+ {so}F@x[1;gVe a$`h 0fMfh>n dWP,MLIMO8m~cݶ.-i{h?.`iWk' 2~K/5:G qߑO!:o뷎OpJۘ(6%s.Ÿn# s[~&l- Ü"*`lT`~xxýATZ! 0&w.4~Sdnk6?$Xo~ ~ݚuǯ9&P?='>cG@ $l>@1[!h+ H;~}}YvxHA`6, @ aathLMLǺqre?4s_BFUQw4KAI/nh?tΑ0 ]v46) H&lq-K&@b4Y&m3 D:Mœj_]?e4Crhn!sT~# @r gkOAu>-`_A}/If&A;SxM6Ъ<F. UY@w3dD)DLaOa^Sz  {s[xA& 怔 ~A^!`6 0 pvL4oȪ*9FP0.k?1"~(?D׍%Q? H3 3ϋ_Fj;Oا ᾭ(90Cct1e+d<<+ cl r+J}^.z w 6k:Sϴnx"Mʁ5:7x\Nc__mSQoGL(?O?9]q.g Aw?2MG6̫$:Q6,@$eP7d 0 G- HM  fg0`y_ ::$ih~)x7 x?st,k)-Y=+o˯E?}s1Pgjm#d^z.d@] q67mn<3" K7`OǯG6XQWqs4{_@+wП{JV!`د 0g40G HM,`l%㭋 0Ca&&>[4 n<6͘ǏpG)aa1xE?TJG d?_ss2QKwP\ݣ6ط,w3R8nt3 Q?qFt2lc;$^[@ݖS HM6&312vgpAu웠'x~=i8mc)7Hx~~_tugZn >5ெβkL-9e$hm ZFp֣1iŀl l m zhL ?`Nn|0  -_-_: '? F +;_Q04_uȔK8OcQ 6 QQ$(#`yx '7Gk57-| -6 |HnGݽ1;4 (HzC'Їwjm8f# |oFp761a:?4{>t8f^_7|0z۞p ǽim{]rI1㼡n0]}0jt sZ}:m9pGO/Ŀӟ;̙^zϳrk_i|+r n ^q:0~| ` q ?]F63~;6O{>ϿmM__9L&~cǜ1ͶvMèLox9x_$ .~+$%?,^s QCx?!,Y T9.cGHLpXzH<9#_37a~?cN=5{x^9R~Fsw/^-c2vޗ|lr9i;^1_ppxGק0Ct͸EKk_87/ܯ-y^vrm\ e_y \kROKt1{"uL4D#c|/#1Rdo!1mc׻' 5]t~?taBU?ֈ/z2v Sz͘ kEAg wx_qXض/h)vq.,h6g#.p@,p)+Iy@<ֵ4`(/ؠ$W}/* x-}%ſn$_ Fz3d^?k2,{8+2"QQg\Y oÝ}ReV \z_?[?wG&@?M% X@8z1w14=_ @/CT์t0p4FcRYXò=d7:vl*0%Q0K$d^e zpIM0M/8`'$ͱ)19__sxE 'M9)P_^{ X]XZ*~ߔ=:ayp`:F0 B@{{XJIJߏ9eMڟ{*p@iy?ֲ%w;|=~l=|O hfӹܵcN&%h#kTp{G%a) 7_/撀pMZ]o(|Ls%=ňJ=:^v/{ādgdM*^ʯw^ ]?iNz[-L5߮ WT??". ) Dp.X.J 5{x4e u#/q$c_nb`oĨF wKO>#E`?^d(d6( sB@d 08 ,/>=AC? &x^[ 5~B1Q=8DmG-: q_)ܟ[+G2 zdOoyl| .`~5|CA5Y8 zN/yd9`|2/SG2A0Vw~y@7\dCuZjvlڿK 2si GsӔ:_Gin?5?ڟJg?Nsۨ9D /r?c0,i?r?LgO.N}Ƥٟ6)FfW/i?〷8Nti?[jGϩ>K@RUB6,ys?aT-7DPP0g% 3뒀[6`^.e; 3.7x/SFm&@X` {6 dDfyzOfǸ9ܘfgL~C2&?3rf^+ĩ8 +/7 AUfz @e?CT돣˱k?WY>O.>b 0[H IDAT^-XmUIp 0>֒| 4iz[3pLaqeM0~\M =Fz80W&LFq&)ÊxveLMot68Vo=V%J` '` it+[R궅sK$"FM%ߣ 8) 8f:dFsaW 甘h|sFxLl&Q i<C]R=wZ,I/s]w?[2+ ۽n6 > ,;ERL_S@Ol\¿X?@Q0\]ϫTTMQ{ F#P+@V{ǏdžaXx?x}@GTۧ/w'1WwpVl+p0>Ntc\{>t_zxyiz\`~-~SϨ3);y{cMc=밺;׷෥v>=E`;jx_RZ/ M8X+oOlV.7?Nc΀# b:`iR:dzZ *?^V!D+a,<#uY@ln4qI@y_E +7]&@ 0u}m&@eo/d-s±~$2,a/L&&/EsϹ16/8u?51f? ÙC{?vrz"`|{4Uwğj)ty?@2Wb}SCߧ;_׌0Uߵ~)i H -N74lU C1fޫOP+ThL/D$w)=e4BοCbB3^Wo5FS}ڏ/8N&pLɩ{ 0sJ޺kBO6-!m)J4d:"={:BkT+4]eH}tPRf 0Y@n^rJ*0f8=nUrWk &@=*)WEV󠽆IiOU?Ϳ T̀}2hO=W:DΜo_ys%=U;g!;(Frl.H$5RflN: m1O9ݦ0naey.@VxB |/"]eoeDlN; J*L(sqc>8a.>{ s=:2\.w|4<3\rޔiy}>2sRFgA?˥ 3P`T!pڴ^mW.P#Qrk. 8֜rX [ as0_ZCG H.'}9AyH6rJmnƉaOIcTYP{d/@^DtDbr@ߚ]E;t!&8~ϓZLK)yN}x{\ٷEx>9p/A~hGgo 1ܧv0m.{iq@  =Q%\xL fk *o+JQ۞ ƴv+:VEe@0( .ږjiA3Q?p_WDSX?Pk5WPvPDNHJG)v:Pk)L9@R%_:(ƒGsc'Nq c[>%q]wk}m9\]i,Pcuۖ L6.sк=h_( !4ʎ^*8By@lLT@yI=]= ^]p{?1\ 0Nh0vq8P,'o1+?_81Ec! ?ViU~ޘq\ۊfNY>$іz1`\@q<|cؘ.@g\2 L"RJPZ+`aM-Q Vply%pz%(8C){4*]ѿ̕v]Mqk:PG'W0ο2b:#€co'ưT?ݿRo,d `Nq cwpsu(P);iyp[]k3Hu - ͂ @ A1p(`pyz8( Qw)o?y$?}r?Gyc_7!'LB矅nw۽e1 22߿ '(rߠүcU8*WV . La b_c#Kʹ tce<| t 0â8cL0b@q=_ 5#<\;)B7'h2.!@m< ,'dyX8xzҞl#J*IPt rƊ:y@B"KO*˫}8=o\G㉊igOx'qk:8SF<_ǜ)1S1  Κ0!+% 9q8ywxcAi#, Wy @-KJ[Dn/ I^m9ABgD( (Ơ%`4J`fYرCVo,S 7߾+>Q*t/"8/uz;@p؟3VX5d?_~?;/(^\B ia3A1NFU0r6p:G xmiIv l[}g p0L f( 5%(1^wyFI!Irο$`EiUm&qӹ:Z+er>BF9)Rac:O #oQIGu ƊA! Hy"=_{@;}r \L y8L'.ju2O> /0q&@dž3{2s]=,QL(,|@$6'x05TS*{uA81GgBl k,8C_8@TsGy=xۇ"{?+/((8u\fZ@9"O @\@^[ ' c-6Yfd;4b|[- K|~3Oe( <ܒKxl N3 QP9>o s:$ڇ\_LaFlO*'WńNXs}V]:ٖǜw߳p٘Ʒ%/i\؎sܔH{9Smp0(AAAq1iy )+DyY!+~ߛ:NLd9-n $K8DZ0^QdN @%@aĵAAE \>`@gc(A~pI4=cyOy/r`[(+#:?Odip<ʿi:.;>2c/~u1/~?E8c;- ?|0I@Η=)B < @hw-TՓ @m](&f (HKz뱿_oo%ޫP~S1?}J9Lѿ/0rJj'E]gg>k%sC} Vwb{T?⯽\U\_C$IsKz:.@@O4'M x6 H x fwobQ@)Rp=6 kh_XQX(Lw?6msɿ'@;EC꿬qQ/k5,Us FOLdZYObZ㉪A?/  Try?d$vޞ/0dwwYSY71 YmDza d1+LD Ў`L_"ڙf2Fդ6 hCnA@r|?2ǨeDEk3D>>[SK~7dض M3f~J`im|d}V? aؿm+~/)2Xv: έwM ݼVv`}kUA(3vPwwwg`cGfϕE}X4;/L{_- 'o2 틽k׷o%Y:rby 8j IDATG1:>?M PhUMcy@obc=奔jDH2w%}mzucƜFu{8ԥ 8?ƯkC3{9^pT70ѷdg53 fyF~tAh=# jchHֆŃ!y)~f*1Me1[:h3uAND*AZg|NwD{EKVS 5fO mҀv(E*@-횈pc-Z+("4o/ɨ5 xj Ф^~$ Px +C{5Ѝ9cm״3_/o}QxN+Y͍ٝ )MƶީZn6A7@Msj5A+;+F[k}ˈ]mCcoO`j#o>kF pd{=?oCo_GKF*桖+tдvy*m=ݱvtqa^SS)olL'm178ܪq/;LP?6S?1Lt>>̍4+̭=D}-J=,;C1/`O#(wua:2N?:wƘv\ =snĂd:e9RX,а!|bvB"Հ9/}ZvU{v#D8|mC@bw4z,'}s½ X w }}}c`LqwS|$ 0,r)goO(Z9KPL/kq\*/LKWsJ98]籔pH!8ozg9=?y?6nCz3AF@W_@]}P0u1`^D@Z'RVoZ~^gv|p}ҒG+\y>ڃtnS05>stծM~L_tݼk6SmjAsAM-ߐnt `+2X~hVIPxf5E*'MxmS4e* Tש}}SFR(^?Q%$)y:uQ%d%EX(r#oM:9s~`~?p#>ϓ|g"j MH`~K1K|ZBu"Rh,X :+`ێ=8EW  AP͠]75 `W h7h?K&}`&eT@{Tn:]|$ƥ>iTf_,a*H S(@n#/lz׷4RI(^yW1}!?+2s;y/iegZ~?CX-J>)W*:\o q[;ޕ‚s-si/k I϶_5ԻOQWTBW̟RC-`|Z1ސڞž<)8 0X1&;">9& @>V 1ڿ *4kP>+`' cEk <3â6wjE#@0YX6%K+ d}7&[L(9}=Rky-0wzCT EBXܟcK.Z}t=ww?xI?DzO~8 +Z,`7obo#PpT2-` 8RJUpU.!ۦIA6)L_װU`!4q=vuϥ?]d*`c(uj_%0 J 㰷\?R?Y8pyo޿W9 [?2mw'+ʦqc3t8OVʪAd 32P^_(Ø;2o@[kV@?`y)p2-`l|N9^JnF+=‮ H1Ц74>`g5W:f6w u`UhP2Bcӭ'Gj*tl,Q@ @ 0  \*u0 /R>A"7~O*@m}~WcpC]G[_S*/_?A* jX,,2O}QWC p'О(`Pk2X,Kٴ+Xc8ƍ;O(` .4 l,uY~ @P|@SM|C@ = ' 8m03~/С%Vcy? :q@LAѿmP3N'&3ZQ`ccο`:{<矎#t˪@To_~:WOQ] ] IxR=Xwn^*₳W/ ]} v2$t쾳`*o:cjEM! (vkqLӵ:COg_\@F?juT?Ԏ/(8$s}E`q{ssߍ)%'"sq$ NhqfۥBжsݭ=P:NطH}![ xդ{~Cm_ӞMV5A [9 ڨEEJT! QzF0R֚pd*i%S9qǎO9\ױW_{RU*oWüJ7! X<-S)5)j%_?9s;S翬-k)hSZ-oYQ/bqNo 4=L~ &@Gc0d&V7ld=]FT SlHp>ҀTT+ߢ&qR c@&$Β! Ȏ9POYq}RX8g:5o?.>_V d;JOh~"SnvxųPl)})JvVѮ>I&@3^ 2uW U Vj= A!ɽSAYZC?yοT9Ԝe,@Fzc5gJx?odଜLB?)HネjM=Oyv)(8 dvݟY˻j785-% շ?% ow{1m0S:@0. d,Re)Q@K-/ x 1kr ԆZQ@㾷6l}  jRvn *}ӟE7l5vER4Ipw@"nx cI_0g ]{NQ_ˡ*'hbom:{&Q.X.rטöFbe$ S7]z)(8 iq_bbs9kKJψ L &DXD&)Q}s:A@K77m"d 3J4ce,Ӥ- Bqz*o_#!?vQ:pgC;Y኿[ݷvw"UyD'Ex9Ўju]=_sN LqS+j_AF{~y7ѩl 8͝C}|mc 9Gv󬛋H{8qۘ1=[NeYi66/vF}k8iɴNgUulRgÅGv۳U_Pckdc`yA[9kc [|a>6sXhOO җM+._Dd_m8)x2Q9A1ovx/Cs  ;Wɾ:v¨dΝoھslB >6tv8ou@_e9lD/dJmw 2Pow?Q}.)118s1M0wM_ >$p> fx=V@ g<(P[{Lf@|mEm@d6m_pTz*L0 mRcM[}uA)amzg<ƫu8_! D [q_:&5NzBMy{?ܛtNۗ}UsZuaP+ `LhsڿF_:VدOo!Qѿ\ZVߝ!iοV_|<^kԀ`"s:W_$~v?) 6auS_Yig]!pmiZ ڦI 0Kj, h)c+\ ?m\UN0ڱa^v.@Z+vdZYSX PV=N*ıRrhS~'?G}r}`/?(UP#:'; x'D$àK'_IzoCQsnǴys?+AD,mBBZ¡cScQsg|{n&dLXR'&A}ERL$l~SԲ5t8Nhvg `v`3$".U6DF*m*;2zR0g*@x\},,,,<7y}c۱Zc WZIPM؇̨hF[ʮ/w `be^6~q/?'gѿZL ?ɮ8sWI<7sAFhgF?>`X=]S*0@S `L , nCQ@' qXk9`S VAi@A54`m撚om #DCA4 Y0!Ҁ,=08Op 3^OuI +s#)?4iUO hY_ 6wA/uGܟ,ot}=?'V4 zhnܡZ> =+2U͵ G.OPm +R@SbU&)Q@#J]CˎSGDzB8: ٱ/lZggMVjY~6+mxbf//  .(cȰ0#PXRqtrn؏%~\Ri=?$Ҝ@q@KZ4T?{X 5J~Dv'#Tܪv/W6ߛhT_ wۿ͛@0f9|TAAl0fI/?Rҩ/,pʔq8"(öJ:G KƢ[0m2ZqMjٷ S*MSl*/+Z-#Iҩ6LtOU7xI":"h'uxkTkU:vߍ{7:K T-nN?x?s? W%b졼/kkr:0rYG@  sv؆Jy?To?Po'!/(8sy zx3mtr.6Ɇ3rAq"6R2 ߿o:&hv]m[,Pr|nX nuam: ,l^`{P*\̣֗U5c'aU,}aT{`vȵ:0]O0J@O(d?2BPsg Ɂ>WEԓB IDAT_NCZ\VpTͤi9p8Z]qgw @k~sڼ)맾./i?zS_IΏYiA8"f1C6 4 o;UhAq)Q@-ՙmYBوU0-qڦvWՋҀ^*cb*&'Op}cj{ a4Tp;/?{bϟ)e-JXK9|$5J#X\WWNy?'{P(PWiH_>d@W/y#Zg`߫ m}A|~-NwO]ޢ w=acvRgCw }㰩zSLTi/0:vZWVj;~LDB? סە6 p~xb)!QX?k4w󯑦֟Z ;cQ #/US_p XquȾtt't܁If=A(}n[;@TP4q_Xؾ2ᖒ^ !!ö=fz*^Ex?(' ϗ&#F< <sȱa?_ض؄9r8rBܟ (ϛsN44Vyߝ6ଜ:sf<͉\t)?֯rNS\wA_"@KiD`9a@pnW~mcM$T|E^uوe[9 pɘw?wv8}%da޿=&3w1#f<ο7r@`G E_0~?IÇ|:%(]+_Ѽ3-&OY6?P?y]OM#< 2խz|Z5 .(x S}TogWSƋFpE[ZQ=z1ghX<ٰA*_+ćLi{4 }j| F? {;cc8츪 "497t΃o+d } xѻP[h`(Rʦ{PoV?Elka.i}yo߼P{+NPm1t~<󟃹Iz|Zp킂Q T?͛TK,N}AGngy S*D @ )hs9EX@.SPcq0 ' f;' }hH Ɨ҂'͜e2õ*0W0ϙA!>4 )F8_^vv"y(_\T?ي62ԹO/ 'U=|>{T啂cߥG}xjm܃k+V`#AhMkҶT}DiڕKLBlz`A@ 0$+dlL}+ZW8A:N ŨP/J? }pIPSO>SyPG=Xq9\οD6`矩p1rbʝvOO3~K<~!~>|DAAӅU}:s< + 0( P`KWm94 - бE;8X@ @o* Wл?؞~TNyqeZWV~9 8K?/6Rt$Fn^><Ho_?|>w3DȾtg)7q"翭0OSM??=\t%l\m5i"oق}woLU `OQsuDҶ!A@(Q}2`TU- x6 H[=f?gNJ vR# ɵ 5NW!^^9ࢁQBS ݗ C\꿗Fn,_s0B/~ȍ㾯3sRc&F<(}mڼ{oj .G{1كț mCeeE,dX&d'}mڗ W} ͞K`T] J`RP`~Al+dJլ!ԁ퓩})x'u%yCuS^{ M^ KAA,pr9ucK$@T}F28 e\KU c&})G+rw G'Kse& >L-'w/j!^?o@SS}jFd3 jFy꺲Acs}#ƨ Zf{$oWE~nHgυ'l}eƳQͩP0sGy)돑}&6n/#[&ӎOm{@-=9qh\R 2 "5hnLJRͱ6X, \6R5Xdfsx(uӾjdPQӶ`%]ݴkmK7 ~}w3;h\[6kF|i}`/̀?K'oռW^*?o;:oP[tlչ{σT ș,'+`!_Ўi?`khV@ ȵKοsc茦y@_;՗S7(AA1@z ھ6d)S <. lXiֈ0Wr*ݗtI` [-p2Tx>iSȅN*@Pпv\*ݮLk'MtljFR`0,` ay~Op`R_/|0Spe LOF T/Nfl?̟xy0âL8فtڼ10100OHx90K.;0`{ -CEyN*pi@w> lS*.9A@>77  T=}S b{3C"<\-'ꈺeQAEJaRGv00 ldCW?Goei?w~'ѿ{ʜݿVo~ʩ CןjE ̕Lb]iԱ1%D\k׆\vLVpMrsY\{s[ k\{jf? sZߦypm `eYEsr]/+WŴnrE>t_ŔһOQKv\ ֯AKanqm+8)Q@DE6S:3/Yai@س Y U5 @nI Yc[è Ж R; `*0MpnmxS/pFss ?Hnj[O : ~8DV:@mHIWZDٿ-y\֡{L4<w廉LW |$}?=t'ysھղ.6 nO xK=p6x>=ֶ S>=?_b+ ޣW*Nm7 +p*dn{e9, ^n^d\Cz~wY?k,'Es*%?x?؞w0Y/O۶ox? ~^ {(낂nW 9M  m^L@(z| )=iz@'RT01@WlRX.y\,%8XRYOiP`Zܛ_t.R@ qD/Ittn)"JִQ0j}=C꿋˼9+tE$n"zEz r(>z|ڼ)S_LAAAA6Lūf[ ׵z+lE}y3H-[TGRбc+y=[[;Q V }M+ O0) RY4:,{=t.je\߃y:R_7{g_#UȽąb$}0:x`ؠ_&˷ZkEO1p?Oڐs$?y@⿀|]@u^\06O>~a8 @z -,lcQ@IzEx!T{1v, ( gmh*_y-fOg FXRP.2BA@", Y0lƩL0yo?䜲}[~/Ðv{Rd꿏V]"οOk%VCyrRO{@zߠG=_^͏<oIىcyq @(`fX]m0ǔ iE~*@-FcS69-@o xزI@,`͹N4 '(nK܃}woѿBՏ_/Z vRf)gS0) (DŽҀwHmη%StMk\%۞1PGPسI@(8Tಀ 0tab\TjW_d Wò'WLPĄ}`$zaKɾ\C&hidg]Fd\w=m*?b}]bQg}qMev,=vQX-\8 u<1#@ڦTv'D`[Z2& J_P|L؇ҙ \pY_8,=l?,Y/& 0@"%WR.p<0ZI<8Pb}kO}-'/zƩ/eF;W<s^,ȕv)p]=-Ʀ{5k,v屄 D ؅4O_녿0 1{Y2X/ ԸCH,'iPoѾv! /JO9v Ym `.ߣ?_ܗGヌ)BYzR晳rSzEczqOpecKiI`gL"޵6t~Zm mq6<i@,`6 @.hF|8۾s~S] "׻DUwū\9eWY p#A 5_Z<6Nw?s2Jߗ;܎-w S֯JwN}-ߢ3 1`L n"m=zzx_^is1No $SL`ò (U[8[0S}p*@6( > 2 ]Møa\yٯ1E՞F;+6B [o! _EE, (a_}Sb䟌ho^ۜNylTSZt=VPPPDA=B먈rLQ@ \07, : =_3Ǥ~ :۶,A@`P}o, 첀r,/dWS1;m~SY&c蘜1oH/]<hCۙ-?F'hkjxpJF8XG u(Վ%u*Ar꿤{LzR#t@щ/8ݻOAgؼ;{wlcW`"Lv1IgaD Kp ~ ;Ly]㺩6v3 eƞZp;PY,` !3ަ(x ,Lƹ/H_d@ ,'\`@q['VD/_(ǟ(VͿ@F#tW IDATz rX#v;ր۱/H{}w{ѿ;1K!  {j?ѽ\)]KSҖsESہLvLJLsS r#N@Wڳq :6 ز7@ . >}8:v\+f|VmwHٿ?;,tlCvYw9f<?7YwA,Wǜ,4׾1צL84\7?G6?zz&"&( b->@""#rdT2x0 ~|l(WC;|)yZ.0&&>eV~>?ny_>kS,c:Syay/+']}6?']}]jm]f(Qj]OS{nוj"hZZR]Z\[꿤@<=wXϞѿA3|C(((((8~4WIP0sEc)VwkjmcľeЏ h_Z~J_6{ͱ LsG<6@y\QJ\趏}@ڔk4hզx Ѩ`AM?Cж]s) Զ^r;C$QfO ̣)>hӾ, ^,}h4l4_GCC}܁qo`X41xٿ֑[N3@ y9:w|)_IslwADgv?Ƿ?*AAA)aOTp%Wϩ2@]b+iT^K}!bY^Ih#tAX^Y@ g_;[;R0d, R,HY@Yi\N\o,nYP?/h^cu*x0R'頻Q5FB ݋!:xYp8ȾgMw?dSBe개K`oQ@Y @L84  لf$S룎 MZPV$gS- l 002B ܽװ"@ǐCz+* xvI8LTع"bסVGG/Y}.Z \?)gӉd/ߗc~+<}tvy~\v> 0vRo/|EힽmeLjUW m-$HMڙ|\-RA +.Ce% >,1y0 ([yC FV,maoW聖^d*%Ftn1V:RuV Df3ݿ;7?1u.0% =R<[AQ@kWYUPaFܑch,ȷe1pA>R;~ lhߡ0$๥UJ3FY0Ciebeg`qpOPg z}Co~S}RPPPP:6o~DFj'%pɩnT<//@` o-+k44XiQ]3d( l,ahO@_93cW` 2 }9_1sq !oǭKKOC>?ڀf /* | '9v%:Dػ\A6?!]'-zG  E(v=/D4N$lH϶D }IWq,YNڳBے)Y{XY i\ `v g8"?DNkUj_Bt)1[##jd?>Op?W$ud=~̾N\Lp3\A}Adzb׾9t*,(m Gl3/ :e؃,` mq6{/ @ , [z-p6E޸NOF 8-} nU%3~ٿl?ڈjZ/t?DA?n6?Ǧ.iOaǧ@FL?#]8\{fJ1d*[ @[I FXzzJKUmY,E:#X|nvhмNz5"pBn$[w"ˈ}YN䳳6ZK6DDf "0n!ˠ@t_"%y\d\/JW'0V z?۟)]}W2 ק8 )_)S!K %DC/ ,YъDXm  3,w56~R9qbfgPn޸}E?4%Wg߂W`-ģ}rTdZʖQ5>#<^4.36G,{AB9D']}_ZAAAA%Bbs/JqѢQtѩ޶X9{`k~Ww,Yh!$0&!F`Mc.P+!"q%v\)+3A K 1i@\MW3{GZwݽ9:ݽzuJMK-h璖Ѷmڶ\ X_AY(ltpv,gIX &iKvy_d)fV%,QPñ*#B?GXFnylǢNkL`.Mt䑨SpO7S_K ŝl}~剠oQh>D)7dmvD-z0Td#`,- 涯%u4 `~`Ё`GcwU%λN `oSDz#d琳+g+'od݇#(o7rlX=?vFPED8߯.n tKt?"&2ZuZ(AV*p_ad#⌒@m>ǎe(> ٥@`l-a=v`&߀`_6 uN ^[,>|2-'eA_IF3IzdumCj.G֨w {Y^gmgooDDDU>T;0#`RmKM at)ȃyPtu[@U2ZUX7alXkw -5i`@o8<ّ5sYPK@ր M`؃M_-FIdy"#pdZi*d}y@cZ%Yvyy(6m'ejB!:}Oykt#""" tv.nUe0v\ @34%A@D?mݶe2Xm X sG 1,&^(pm[RS1bB3*eH9i'djk*L3)+#dUm~Q#=vL"]>=|zjFDDDD\vCuqmjߺ6 mks"!&0 ?&n 2&휔X<3e2 †gv'-zaX_9cAa>އ_T*&OAfE}Sy5Q7eu{}`El$bPR-t{Ųl"IeU*ZE+SoS~ R @zPk+ZX_n Hc,c[[f,J@>ivd)wv5YK>g@ZBYfE&-!qdmYM}nQ-Z / ?97c6CP?jG?ɲU؛j` YGWuZ}[t#""""Jcu~Nկ;!L^R`%lyA@MM 5aX16,cYf i,2wPb<Ǝ. J$[Y~x8yuN.*jYR;wNPy77*%ZDǪK?;BgeEDDDD5?*K4l @zR Am-s =g`qp@o@l-,7 j- % %*SsB) &4)jYO RBգ `DhK}^.<.meF~ޤqJ޼eݶ n/ο}np#GR?^9rF1n{{y$󺱧 v,90 fm) %$pP8m~XsaswEfL*Y%` :K,~[q `QxHTF׶i78.Aa[V"owBc2=dw^cۿ֯` >:;B~󈈈SŝW=V:Йч EK@!tv iyks%NV  $($&+ȖsBMH,)vegtoOiB N?69qg7tݞj+CLq[f!dCmxiǏ,A+9juX/_<<"""""*]TN_8{&_ _l@tV< g?p&v`BnGn!_ ƢTzH}91)(,A)F IDAT)IW=VLAA@Bm2`KPP(؉-f,86y c;6 (YZY`rk-E_ [z%&[[?lw]w` `&~[ E?ԵTر0Yj{3ji>4yL[*}9MLD/R$zs]]y3tŠ3\yKmNW*idԗ4l Y\;jXڌ XbN,Um_6 "l `K@6-h q|m.V( )$ sAr|xpu^{ч-Xy7CG Q8@WdߢtvPD0F)ϊ @m)@K֖۫sBYFmGױp۵ d۱ c5+vcܖB[$tCg+X`g9jǡU)W+O&2Er2mS_`,[oN?o<:mHNp~ƞIDDDD%Sl/J`h0@83xP`_@K0 `0~Z6뻘xL.ay":Pcu۶mB!7-գ]R@6Z(f ߶ߢM(Ed!A/R-(yxyDDDDD\#=؋RX- PpĺYUZ|x,&f])|2aͰlK%kCnX@/-QE}~ <քUu'Yz-FjNn1/=6?S6NF,i_vv6Y>)k?ߜǞGDDDDfjmR%_͵% -chN]ק _W0N_e(uXb1%`w|.#m?; 44,o)vf`FdS)_Pi{J+3.s gH;GBk&?Y>٫ƞGDDDDՄZZm{o|s#b-̿J,2,KGTж#glf/YǑI@/3<0BK`p>2PtG?L'S%(dz 'Pbc!%hd5Y>1Hf"u\W˻o%FDDDDZISg!Kb>} ]8,L,Av5A)ѐ %R2xMAb i.4c7i HX̼% `K@{n(M@oX6~rl)ZOBE?J{."z|H"'O<&9d?}Hb<)o,/4c'm\twQs߉>P߬=F `G@Ď ,lHm!LPBddL08U,_s-Qq\DfbɈk/H`H&r׾L?*lWlG\WZ!-`T rEH|/e=ǻh˫l.^z쿷}D;oNDDDD4Ʊc`shl3 6%(,jknXM`$ @jĺ%].pĞgĿlY1bݢ%` &%y(b3R.ܶ% \5h  =aKCŔ%x6+$`ZQ?ˏr!o"f<2u yWY{~lm(&.'ο5\rJ-Q63 l[ *Ʃml*8R `A@js'd C)j hQRVЛ`'`#-`K?) V%Bꩩ2bd"rGn@-/!_WO[eɜؼ0^@'Η#EDDDDLZ{#(ۭ9uZ9 ڥ.YܦX$6{aN[ N#p~_f.V Ph m:}6z:kN `$? :} F8UR6k=d +ws|<VX?=6 :@jd""""""v&{0F) {m[@P5CZj1,34; [IalNcl Ub\ . `[1@`]}``z7quF9w#?Rjn@73MZ,)i9?P}z&_г S1 7J67;dĞ8jsllV/{^XmCvr6HF9RԆ,&Z@BiV Pִ%` eKqm[wZ6D Pb4$ };i.>c;(Z,5ou@('7eBstfKpjWam+I ̾"O{nǞGDDDDDDrĥg @Y6czsUAUgJy-/j Hb#`01@%9 @=F/p|;w{K'+? gOPqK̃H4#HKQ̃6VQe[e[d/N~݈ B녾=] @0*n) XXK٩ 喀S\yoysZ l Ϸ y(u,]Nj~[K!tUA߹r"c6`Hfusy뿪.CLQ1p3W[)FR.&5H^,}pyDDDDDDl$vׂ>$;ʶ*`[j{: ?nd- 'om7<>WkkS1@QMe ]^lr@aBWFlXuZ_}'RCeP?쿡 5jG fR'O4!F fEDnm#W@OmEc#"""""/Q#cOC =:n̶@pfͼvL+ئؙ&wX@іfZ1LUV +f ' Т+>hx̉t&{WѲ6b@;lT㎿0?w'# `TCUp8A$giG\d]AGjy#Z}қ@6cBVd(|X=f6,<pT9v5yPC<.?Kb7`,K@QBb sH4e_UtN3sT4.{+Ta+R˻!l; l,nZ?Oy+jmXvGnKZ:ԮON[7-i0`Aއ"+rN @NkD>XUt0zw lYP?v4NJJKX(J# P%k)$qZ%P>,C}v쿉{_I6ӧHFDDDDDtAyLΞ?4jM)@q}}1 Ac /dƤlbU@uK@2P1@* fyiu-@Vڬ?=o'AI(/bTGA2CH56{+:^?' {&>)(gOYUb"!TOm^9<""""""ڜJecc0tal9ngULP d 6b6.¥B?\܆ж%`+1—h**OcABbgG P ,/*LoѐԔ@ `4GCnd ?{J⁒m쿉Vf+"DqY\- So xeX5q,2 KrU?`j?ZU o0w3)?(e!1@%ekڣO_Rަm7tz[S&쿐rvpeӎ@*}/IpxF/ʈry\/m?r"Z+K+&_%;Gf!_嫭=_*]==]BmοTǞG%m e.*9C*[+[fB,IX}-Z(%MK@P`Jew3IJnZ.?[,2r2$}@w6v Gx4BD#[+K9rIOpأPҌRQHj"JT 3-BBkI+&:)'>ψޑM)@W d;g|D4-ϲVLm%`JqzLV p"|*1@[ i1t-@  @BzzwTz{oO2uFq ui sFF*:Am}:WLۜ$/Ξ6<""""""FKgkSHɢ}2F\SK@GVO1@F )K6 *SfT`.e0s2=phrWK'SS E1' e/2zsF4BY^W}6+7C3AO1YTb}gUǞGDDDDDĨؗRN_Z$d$@- ب[J nsHakX}:z--K ȅfb[Lm[*(0-bxa_&moWa^eNI ?̦0r:)C17$c j%gǥyff8~`>UUPY-pMyOJ0ӶPG@r?0{:(~'^ 0@{b(S:lޗm-RC2v"SUoBԧ ŸoO@ȷny* Ѧ6ǠZdWo߆~A*/"9 p ߊgHɊשB:Sio`H1RVHU>K47E"i^+[oO+#6[` ?!t)n߃iv4y99A>6OǁǀGe'g'{*AfmW)@n Pu(䞉y( 3۰7 Y΋W-(L'6- a_NO+d H($+FBnls.Dm~6)3a@atR̆0tQ{<7v^(0 @Ŝ3es@z 3p=q*ܘ#OmnVBUO5S iOl*nM]ǝ]Q<BPu F3 {qse8©6IP 3쿡9XRl XUT~{bY?Ŗ:\Ҷ*[=Mhv X8<x~z l>,? l{˒џeSY.LDS8a(&0&s{*#Bf~mg9&D#$ ~,Ҁ&[ڳ|eP&g*wgZsd>q׉ҟ(5tnhbܩ݁y)` )?$?6Odyivvb/ ZAJAz[|6*H!_`!,_oWE!$:Ӏ.oj+G㯔VL{8:gy뿵 o_1Yw}ho{>R߄_{qI`uu8zƞHCrPPA\^ijkA5Xfq) >|˱M`Y=Ȗe$*A{0(9,>ϔe' 8X+V0ǶPy`s4zL{˙Qb[>~/O) e͇ClֹK}[?+Ȗ  x Ӛ/OδlU~L/f񅶎S~K\:{t*l u 8&$n<\6/`DDDDD\Iqѱ;XPt,Nw~JfٝҾ%QHŦs3CXRg j̧ i+elW)Px00e}2[ x,@\P@q*W|ZJ?Yʔʔcݬkr t=o^oUO-9&1OyPۖFzpہ $/ǀXsw߈@byUcϢc\mٴ%e~\ъޅՉ@d:˹0s~{0żeEu΋ whKuFSdge N. ? EQ(x,謸igxK? }Ie]?յs{rhonh%Np?Itp}E$$7^?"""""FJWͲi_l4fI-탎x}K[|cXΠodT96-ѭ3mwo=<^`XfE,>SCW*S8;ʓ0yK|l~}Fmā6z>v5IYs o5Ar;HHu /azoGy&?cSA([SB~_%t׎=F=/ ƞ ~DDDDDս/CCn)!# )%)6 PP;Ubd9 Om=Mـc˛u.~ \` |o;e{;&/(gxmŘew\ezO`CAlޯ^\GPPO @JlSA12 ͉nkDuxJ{򠃰^;Z`g3w%"""""^M7u,;eTY/;dRZ#g{2侂1XPa U UYH6|=-zngK=)`^fsROw>MO?ÊpDQQ!A.yE L:Ǹc񿫖_} Q4,#װ5d}6qV]ϐl)r[dqMЀ~m^ 3W(p _^%2ge6ٲ @jh x?B؝WF` gr6c7H]vyU*3"*ט_7+C[b܏}Xq?'Yկ_wwum7zǞG%mƣ/4,"""""v+ҳ!MRFK@1@vbY)0jcNta3&[̀ e.XkPlS>S@eaݭ7A}x@?͔sPJxA@'?3- AQAh=f9;{19aCW:= veoC[9"mF6w2g x!LIxL[pZ8bxvG:v'sOܓK:?uʢwm-ߍ5ܣݥ}4$BYy"H.[?KjQ=k""""".6/UzSA۰ Р6leg͈8$߈vY+W۠ylPμa]dD/0l@ Tӭc{9BXE Җ]VOG'?q/Qj@)|QPNݪ0[uuW(y#0W=AAec#]6۷laL %LX܎@w瞗uж vP]@])nPl 5<ϚܭsC?[ׄ6c v\K?;焿/DVj7mnt|N8Fa9""""+6l3v0C(j  M )la%sjs{̻2,seIJ*X([``,)*vu;߿;!D QE2ig wwMO/t'O؟SɋVת?L^) 8'?_,+ԤY],7-V)5 ۸;Jteg9pmh)0eY*0CeF;RtI܁>0ڠ3F߹aN,H/?L@b%߄qlh6;JW [?syTb2?{DzJn۷ `Gb et @_ԗ,pPQN}Y|T/|DNtG[j]Ov(hG)!Hd?ԾE^ cʌy"YyQKWNW_APC7Kbquno~'3M+ǞC-6 Yyc"""""bPW=JctjlEؠh6H @d5efTkeVD ͡ae^2i @;(Xe/0Se<{ɚmP0^;@- _ܛ:`?/ X5."Ω:o΅sN+P#_|Ҽ:bUn@R I#<<<*1{ X<Y Mҋ=JzI sK۞Ծ3nW(0](Щ @uY TP}!!jJ P 3=q:Gj)&灋]Y-XM Јokg*9䛹718QFy%lʇXIodLƞEDDDD.:odm  Ge!1@l2oN={c)2\ @ia<|%pElh>Ql`fk;vheq@2o?^M8α<01zLXm⡹dsQ u,^=,v8xؓ%-.{~751@\z>vj`ge]4Ze YC!B|X7ca`Z䟝?C&52jW~׆WJ Ih"dŶCF Ͼt)br@I?ؗ_6 """""vwfLF PVFe-VUS}P20YB,g3qhyapG_48W)JdǠv˰?ôm֦gsW 7IN6' s-H3U{jnc0:Cp3lAwdN)tCW&0`2z+Z4{[c@VhP=kǞ0{=H|DBGٗǁi9kES (~ ȞyCR#z~鱧D[& Pv̵<#o씴I) mu`_@nsJ+hyX)$Ѕm [_Lc(Z @Bp zff>Yq7ZatÜj, 딝+p`)S@R~V .ePΎ\h.1^g͑ҍs|ZFDE-Dm?(UOmG"G w6V8j9:A/Zi[|J#8IAm@OOFF-H񿆳 ?1d10س-^ 4 f^ogkDD>AO_6@Q NRHv3mԁfy 8֎uDF+d6b54q-.L+̔m~-8f[)Zx+2Jst,q.c^(Cxo;/xs~W]B ?@?iE?M A] N-;4o ??TCʜZ ?ժ?a[}+''ef~z?xt/jQeeƞE: ~%lٶ;y8oq?"g<Ӎ NҶ`(uJ<(dB]d|fmDd.+YB.UpH2\^=T> &N"87aC 0|k'Q?q?OgAiZp{Ϋo k+BR7J.o{ݸoΦ]ohx3=f}c"0߾1p}? ,^{dZu-jv]m' uFnFt@n–/N̐@@t΃'Р oΙH;mm V&צKZO[ET#QRJLyVk?f쀤\WlGߛ?JEPJض{p'av#~\@KZODZ,Vrib8p\2ǀ1qtP#bT{I 6mhwJT8l=n;9`SpJ|۟8K/kƷDM;@gd_ U]Wup:0)߸>cB~ RAm?xL D6 Gqj?& {a/Y_>y=}YE 8Z[Gvtڿ]XINn͠9*cpic(WcBGO ' קxαE_0R?*9LI@@ &d} HJOot#DkAv6Mʹ {agp5!{ p׾DDDmSicϣ}FÖ|_kX`ѱ NH2?YX` h;@?%>M r?h~+=.L JV1btm*y?d?@ca["D?qKǞCc̞9 !@u'":chϟ=Lr񽀒T""".3|,>1Z[`ڕ ]p\:\ >A(}ƙ+ZmãZ´NP"""zGŴUp,H[-YSGڻJeRԵ3OX#9BG_<[1ƹ`B%h+#|v?)߶7}-. 477L3Zo#o@IIʩL %jg=pN{Ŭg c1rcNa|A#aT19(~f`$3,k'kh_b0} _I-TW۝T@Bbj&'u/\&iBi?SoA)Yiw6`q? G7GbD\PAyl?3ܘ*2s̟|F')=JVj`u)8[p+*gp΁f[ v$Mm~At6¹mheosZ@tx;vG[jw TѡE^+ޠm)}}d=DFuH+GDZ`I'I3O^9 IDATB:_;G*p#xjps~R;4Vsr{A8;ufDM5& \Rse?;+GٱX`-u{Tߴ(zr\g &lyq w ݟ^Co_4C ?C>Ng?'o.w<ׯ"9Лu#MǞvOgǞIDDPN6ml,hURZs >mG H#cIr?Yk?QFk>.CL+T 9C8E1u?Cf1WXڝV80|3e~KOkMOox:Ih@M/TQ9Xԋ5$ Z B [(#<  8WrgVe'TY=*_?x۷*~瞨u9>o~ӽͫߵo{C:ODUF>zeIeۣ.$,W@,h3o˜GcI$#!H&N=YGb ^r_z78nMNxuhˆR{e6D?}e4ig;o_Q؆?{> 7`nO;}{?~7;E:q4J_9,"""voy+G{mn [6q E;@G໦GS,! V%$_T4vIl~ݐWm ="JZ%U}YUKnw*m2G0UUfN[FCL9g=Nok`~}Xc/{d>--tzy~Pl1y7f+6ѶohpG::>J|Ϸ̀b1T(y V*^pR+J>Yԡ \.?Y*pߤŹkQ(pns[ >@?ێa$T|?l5qmϰ|6&>TOwo|wއj`&@du 8OǞEPKx\.4fX_|±9gnqRl gyskv|>R;Pq;gH 3 ͷw2? 9,N~K|}KnP uP_ gsm\JNe? bG;?u&N.];}w|}' '3*&UXOUxDDP=M|@]/P[*ЦԶt#dJ,9Pp#:p0IƞQO<nTSï1ض2~~t=#9:,7=fD[h2 jDQ@b KP@`֡}op,CptuktF \KZ[LH'/`Z,CC:TK"~ ^:P]漨Q5K+"[?utOG;?>ѝFp%puG/ǞEDDL\ط2oYo5+tB87[& !:^KP>.:Uu<П;;H!P/I4Zsشꈼuw/PhiU[KBW:;Dz {GL5?L)^?UBrpg'c ""b`tLѬZ{5el*UPoPܪgҹ:q8t$ֱTJ $XBoYw'k\rM W+@"77y?u"guT@"txQVy/Z\] z@kHuv//9 5h[uſ8W^!ykˌD/ge 0)jvr|W|rJ ? T,Ey)MA@CY>E! dEV &N)kv;slSOG?9((kjnvC9fs] o}n4OG@_1$vï{C#P6omg+H{2{mH@\:nqC ܀k>=Uo||-Zs}\&`C5!`FO\9 p^ծ[F^oи߈&i`lڟNTPLj_ 4'O_׀>o%W zqՐt}ju>E?fkGh]O5s->0~/uږo}P)@k / Ր&< .bQP(07 zA\O?q_wf c =[rp'14[Fڭ@qjt8:ct V:kIRPX :u>\3 r/`N^3 xZQ?BաTbW߉%B\R\QzgIٮ]?_6w6(gHח8bU>1_w?~k`Hk"^? """,Z$CUH:5hh:G<4 `˷8.{:(Y! 1uy 3fV0ądB}TeQTIL.R+b(C\$^- ԹoyE(UJ_!׼_fG+@? :;_s;?O 8*̓  y`00{tYDDD }ƞŠfc'O*ra[S+mJ:|uNSz;Q0Fp|'xKvRkpuBKa8 (kDZs)*S"Ժ H;v'%p?oa"!\?6ˑ Ԯ'~tj_͞i5%{5c ""b`ty9U;@ ܸ%`3hؾϘo`ˆ Hv18>TuOǓoHh|e6 f,0IX,W @/V"@Z - 8WO#;Q&HS N;8W ]_l@ ]3='?Eܾ۾tWɃYcb\,^; """Fzt =;pÁ=b :T(AN%_n ͤgsLDϕhQG/?k$6 j"(ՂPDbjV۶Ԕgcn&pWsf>`J T`!M9x&耬ߛM>4On?Uoh==4,"""Lm{Aa35vd_vtr'@?> w&Q1x쁹ˌ6}!&>`s V]@3J\jL Y:ߥd+c95amSelw0x>k%Ax3/{Cc|å6 *TokEMuR]&~}Ur "'"iq%_'X(`?3bYPQ՚4}N%|'EӴTgR}?@7XKeVu'zR-sL~kǞ40Kl*qv5ctwu:=tB /# :S+!@>ߌ*|MDPR_ĚڏQ@XB=UAyӋ\T!̍cZoa*Dx߲k( :COgc|Ыןy4O~l6DԵ/e|,DDD8P؜_ѓ}i%JtHK̫B/C1>@ ! p;Rx+v)Fp71 TސZ3 ]}(b?.oŨhߔ7ϡ7@?'O|b6g"W 1_"lkP iU0 ZP:`y@&l=)AX FBR .DP˜s?PǥQ7G  :"L8H1aGMX8=bnz l>df5 PzХ(R3Pږ 4:L$l7\!$n}|BsjC\՗Cp~v*R[fTJ)~č k\+Bz@U G?~u~p"p6`6i̦+= f=0nM:@EK SР M{(|G~_jl XVol?ɷ.6LK z"`\o8YzD#ʨ$w[ūl!f{bg@gYƫmW j(1 ""*]MCIq՚ڴ tꡄ$J`HHBu !@B_󻼯jsmٴ+5 HqTs@{T ˤV3a%>@Eڰpkt@[ 'xs Sהn.dz]qt9׎g+Ik`{N`$1q%V:Qu: ꓁ c65L=L}CPC,ABy&y>[^4%E*{f]B"Ut эj4hl%))DMj:=01\skGu_ c>w2WI{H"DD\ $m`6i]ykkF6uh_X!E6BRB- iL[$hyP$:S%pz 2GHE& :+2s|<KDDPf$uZ UIU9 E1_BjK." RNSi'N'@ |O(P^$+ ]~eO 76c0. 3PےCrDbb|*__hLdY1#Kdnbkoq=3Mڴiwx#S >/~ ۟>|wz|M} |tA)4{C#[? PۨLRWh^ swƆVW2>++]$tC>P'vBa;_3vA!@~)`ֹeI *h>'-"mB@yV12TUΪ8q#_} z h[|Vju]BR^ 2@m.Vy{տh>Sx3Io~s´,ߍo;hʧo?o=9/}ދ/2y8^ꡱDgvID2 61etjTP}sBF[ fD+p)Q U'BW7G.VR3zv(:P*UG@Er6UK, Nbv~I6$V"0oKz,[ʗLӹy՗^f2WjkO?q=w;|նZk_:ߋ'>sQ.Wղ CdmkB;*ɛ s+ IɶBZem=sTvPN' >NGm:0¹ ;~} zO iA;v^ߍuwe`X EyS|rfµ~Can@oEnhJ)m`b^@3侭6g8Ϳ_'Ͽ3oe{>X[C_1M(6Дm*PgUkXu}PN|'? 7B DD\-lFؑ}٦5ZYfY;¾Þ J_v8 SoFX}M}-d*'A0É.-NU0b貀\:\:sXFDCm V6aJW=Ѡ~TJvZ7}m }ODW(@zO~_qcG:Zl#\f{ʹ(]eMf٫3&fۏP @ X^'m\4߷+ۛQv ;9UۯOFvL@ΐwMN81 LK,-Mq2.^>YAD>Nc'G/v5""Ay;=8g6,ml&!@ʅͫ\n ':,k du'L43V bՄ^ -;pUGZݶWcP@rH:ϓaI.{ZYM}L!HЖ+T W`;/] MvN!Q\QF޷Z #Zfϖ%=+P7&jP": 輘2*O#?猺 Hp(~7gTos#8: θȵ'?쌛g+;-xc1 ! $hs2x[jJ1%ǣȍch ۅ8!eڄhQAҒ%*Q ?H H# ia`Kr)(BGH ߏ> WB%v˛_o>Hp5ȟ?G_A7 # itKLxVy}cJqʿ*-U)Fǖ*-*آW6C4j.j T*XR`#)R@G1 @@;IØHHH^@o{ Ƒo|ql> ;ux?+o_s;:G0"Dru~weU *!@}U';wNq]Zҡ@wJ e׹*?TV 1.Q}HTnhkF-fMK-쿶qyY@oGHgf _Jƪ>ZG[J69Z]F&?|w^گ[J_~(gpy~pwu?n$790A!3t4|oOH#Rc{%YY@ake6KYaਖִ&TNЏTi{:+sCRrL*V׋V@܊ BGX"%{n\ߍ_~Y]fAw'9pg ~w⣿!u_a\2VhcRKa4)6v&߸m23%nm9:aI}1FYhX5af @<*4|+C[@U@kuT@ߋY+$/!9p:~b1oz?EwWpYoh?sQGɟ{zӉa4y(Y]l'B ˘f<jY z`zbV (U VP32K: EK_6] pR,Qj q~TޮGujY ]JLLȳO?ko0c~,ViZ3 +Uw^įfx3Ëa!7ԍ 7fmKT0K۸R6QafSaE_e["h&ҿ:Q m @u^%]20 YJd`F3>~*8^|a )t`qME]O\Os)4=:쏾 ݬ %p+R{/E$i?9r}K?tG.tFau\cuƘ `jB4դR.!g,U"sۉ>å}hn<5àVe1xZ$@R) e7RMQ 5X/;/7/k3|J} :_/@w>.c?fq.in-HN4en-@QlW% g𥾟^ aV FDhKP U@ݬkMr*C͇S%5mkH yp^LGW≷6E}z7ob-:VL8"-~/#S:#0!L9Bxc>Ƭ)UVۇ؜VU JEļpęm1l&פj1J.zf+<9H?Q'ߣi @,l%CDڎ*AC{-.@)ʛi(lQ@?#GCuZie/"MH;1Hտֿw?og9<,x[n=:z.i-Ke) #?VA -l!U>Më?χy*ȼU>u#uR=KL7[U5mJGiR@CP%˺rq'8bؘ"xg$ _w~7o+o~%|?x+\\$ <[pGG>ׁߨC Lz?=PZO܃~^{[7o6ߓ;k5}.uRC1JK/EQ>%!֓bY7Kf0G U.$!Bv`yPmDby)W0"]/g'Ame`oO U3g=l}bdfZdcOݍC7uc]3KQ=faKHHȼ8ae#tv1MJ}w.D̪ԻpIT| `m P7O۾ PPΪf Kp`\'׺%{!J1)W"wmym+$40jti@M:o9>%(g PuWȄ}#ρg? lVY< $f0< \ZdK?wo[:-aA[Y-:uciBd!ddfm}ng["7(W- [6R tIOWc\H\!dXi 50f.Q3PZV &șE_U-oY^RΡ TZ[qM ax,J (CwtAG*%R \Q%!;;)X9PKBG0ddfP88>(9y 4@eG^>A`ӖnoC_YKRZz_RN64[lq$&ul k7RzE93xEqEWk%%!/1`HO|u|QֽhtƧNO/?B2e@iY5r}1 32!Ecv?Ƣ #kP:ؤREcD1m 4-^w@}k\˦03uP3%ΗBW(C̅^m*M֮%;<[W*wY[+#6q ӊXNckEaFGlI-H1 3uҫcwbg8NJmĺ˘nSYR^DD RwfZ/m&_hw,aikPV巩~yjAﺋv^'Ay,THA+\ e} 8jhRq0'3F#0DK c8Q[(cɴڏ}KFO;9Jy\(MtP_iWMlW_{xATԨSLg-G,}U­FZ0W e_^#_t_ 0&1`xN7r 1}ԣY#JP__lVt/*AD[}zMqlś0yt\ 6R+%]TE(m {DL[0crR,op~YcY`G0"eccdsl>{NO›z>/|}O1 8&ܱϘl!@XS-Fcsv_z5iqj8xd^f=CB[ϘkP"c@Q:>>L_:!ƴBy ƚ \e$|BW9)J̵4#tD!(KTnGG`4?׿6O^!y1 \Fv$O.AlM1zb҆0SKǬ(hoՍvl>6M2B!;'rz0d0 ُ| אwA ZpkaD>c1'ڎ#`;o+MνT; ey'ʖ,l֖6o}fuS)?R\ypO.eр~mthO+@3Ä<Ǎq*l >',Q H^@/ad?Ƅsft{6hj,>}P"AP%'L0 Y?]=I͹:m;o6*wgΑMXvH˙aBa%~#ځ8=1@^g? U?cicfTǴm c?]C: }JtvRTlcpsܣk?^Xk ٺvgD < Pin-hW&/g. ?5f]m89~꯸ٱc@l/b@ ЕJk[&e;҂m:%z^pRVc"wz[pT qa_v!|t$b}˓*֌ ?o{'589?ేy]Sgeac05jL= @_mr`-w8L>F5gO IDATxr}mx/y:iJeG+.d 09?M_ҟ8׿6~'8Gz0 !^[GcбHs1k> m3OH]ug0;v ^g*D9+âTfne3ھl/Gی*EHɤ K3A#-n|wS4'ߎ#:v տ0Lyc6c m}c=J@iͮlƑ ОF8ͽCȵzWoJDzMc4Kǩ?RriwG 8 4 L \W?7#c7 M j~c.ʫkı7םmom|Oҗka@X#Leb}sIHDQARuMU*05XVR`i<@ןp+g|[<+C* #7/I P]t(n'{uݺl72/e ?^/":zU_n-7տD/)a&Oц0s60ӍS`& HM6RIf;G91yLjS$ \HD-sm?^]]^ˆOSVofPFǵ!l80W᛽8-褽+ρdn2 x! q%2ZO t6uP9~P6 8Cdb9΅qb[nY 0NH >b@g3_TԃRc !7ߵR%)0!"7` ̾1?Wͧ'&a$O6BR6j|Sg;% =WH-%1 mFءSsa0T^ܯӠRdG; ^V1b D7q`l p1a)5zaN`.X 4;:Tg5Xw\3 Hhc-t,a뺲I 8%If%N=k}͌a븆E_ 39 HVca%6)kW#sO=EHڄp$  ~ )qpF4{p!?‾aɓ !0[MĨJm4uĶ2%0Jʳ 0 쀄4vxLONJ.pSfuL;v~Su_`BL8$aao([bkFU4jOYR6P| 4uGTڱ/(/4r<a QaD5*H4}bCOph)(ːR_JE~ZU@f 0 0@1Z1bqp!今_iԻdIakr϶ ΘizM!}^b32faf;n,f\7 "~m7f]:¼`K08( f-~3 0 C>ciA1![xN*ײeO"&ONxІ(nhT$k0 0 Lx1&MY|> 0 Ly̱j=ö^;cć$plEW/0 0;`#1#l&ݳk1%P3.D,8yaaAeҮL4mdK'eg뱲neA. }Ő/ƟT10 0; 1G#B){";`\QX';- Is~Hcȗ )˘aaᑂ'&fkm}q$LË7KۗTB! 0 ?B<swqK;l[ `afxAh86^;;\$`6n]* jnR,0 0;n,f\ (@>͹;pTgERXڌaPt5#v7bL2Q Z'y;Ӫrodu76uu/|_d5˙Pikh=vab5|A6Aņ iq dd?=V0t aagcv%fԄfg.@$T_5 R_$fo<0 0##sxu1=9_k8']a{gt?dO.7~ӹ.˴vFLA!3A. 0 0̐$FXzMzQ||;>ox"E`W5 =a><!27}ێ =+zn`ӝV_ZuX>$ڒ+Vixz\HqJwTDB|wT@U`9y 0 A5Cu1M rƔz_ȀCgh@7\kl? M}ӆR n4]o)}ꡣ^^]Cjgmq 5za!GXA1v;Ӟho3e5pHh[ߤH0POޝ]4;D?:ў Waaё30a2mf{høBm6ܶʗDPv3nGꦯ^f%|<|RmYsjTBS0 0̐Dm8ر}ۑ^cF}&1DٶЯKM4i{j1GMBp lfnn}y偩6߲,~"> 0 /"Ǝl1V &nY@w"Ra@E>`?oIRrSȎvIϣ=r45/!HJ*aa+<߉ƸX[x7˺9QMfzOkyfw#t\h?^X\y):jRA"V펞2?Y!DL2 0 tBh!V;Uo3"ÆulZd$ [m00d5C8¹`> (5D+w8Te`o_VX;/ΐE#_ 0 ÌGpXcr_cZ˶܋S"T7tʶ:fMSƲq"К]jpԸ!"li "h˛$]ԤC{iKyaaFdOƄ`_ۭwkA5B݊-?ʻv4p| ϛ}bX{9\;Z'JX7i|j^>ÿ"waa"hi>c1[ێS`뜰M6c 4|)[nr@eVday[ۘzNtI s#g*_^գyfS%:s> Ҏ5YaaC15~&m 3?1ز9iSd-`){nSxls^sƞoBmS~  ț?M`9)}cꢅQ_ 0 􎜺 1^?}k\^$H#}Zu<|lP ~\Zha&2*")DdCm*"c"$%2[oc7FS͑|l ĭ# ĭaaz` {G6MC]IN(G‰S԰uҦEf [@ࣩFV=YBТ*SXLpHe 9$fRH|LX^Dkq0)0_ITМ@ t ϩ8 Ȭ+!?lQIMQP=f HZ1cS ?#cmB"z8D^Y 0 ôG]ü*}>.!ne.j_-ر*u3-j\H@fIZz/};dtG޸;u)$D]ڕKVODŽs4U{T4 uHHVGE~+F4M2LOԥQ] 3"ѣُ@<@HbaFij{~RS:;' U/C>ƹIj,~ȫ5sK6ӅGGiG'AJ+TR8}Fȷ"2dXx&|)FR4}0 0ѬY㑥cP@LE#'@WᕹC -ed8dbaOpP%dmr=}|P"2Sh+|TW3$3P]:T@LBB1# lRDD@RBP 6D(!1&T^~)G<\[+0 0_;V dnvhߴ]R 04R9%3o2˯-[ՒcKך60<,Eւ6+)d΁> 0 3mT\bx1YcUzSci:j\l[? [j0 (e#maj+ԅ׬wق\oh' u\: [ySJ(T9d#C[9/˗^8ތl0IDH7rJo > 0 Ӑ8fd$›F -KUfT]Sfm+{;piGM*5"ܲ-`HvRU|6@urA25C㣙D#?gD5n(J!,R4!0 sH6vu["b Tj_5Xǖ 7ڀ24n l1"tce`grucY,@L*̫ ,kմEyQ*!kհ9ȩ&9>B#D<9o<^"gPN!XHDz*౴7a^m7}!J;P'**?&cWҁiC῎32ʖt,GOwP.eߥV;n$pﺇq~ì̙Wďn1@*%N$KL7I=[Vf{r]ie?| Q_T^RVa !WgwE jp܈+<)1 #?@L<,0 d4;v4o˻s @;| @f!T>rY^g#_|̦1>@l&r+dƱ6`̉-#qG5릣㬺t2צpHesKx8_P_*GaLM lnѷpTmK' ͍hXIyh!G;ٗui)IbŲM+p;a&|ROPBx9dXp&i8aPas&_9t 3HBPK?Y"=v{z oUtaa앱6/>LԒb6:-εb/9T;Q! ]cRUm@^r;çps&q&O_h, syd{ly "DdeG;w_(=T[-I5_3/f ȜrohP|KJ n 0 ÌN.oVJJטɻRMڞ)d*0継|זVN͹4s4(/0<|-Oۛ33=f畸$'.D|])btY=,?_{T| .D+ }i/S`ޥ Jrt3 0SFWF^Ѓ.K{WȆPe鷊p~SJog mJ:b mFY  m"޶xo^~M~ +._X4 W4`Kjd)@'TX9 R@4ޥ/>Gwvj YL!҄ 0L;f}qvCooՈ(2RYMoxnE PYn*dXat  `CoOz @wnٖW_Gl__փfnV8򜵇Q p-*z6((EvLW)@wF}$ :{!E| 6`:** %ĭdBXq2a&E4el_s ;iS:3_ t6 ΉW-SN1 ѿ`p`Vpp<zPMp l0͟38_v>.ϰ/@,~GX:'y>t|&T:˗QJq~)ES9*ԕi?}!;H&{^ `4R|5*Jۙ@B a24v&hݶ%f>(̎SA;y*= e2_kWf/̙c TCU֧R".1@P69f%f'DKHcwÛ㠝{<g33+H"z8x$w< zK2 ,lBC, zMߪ`Q(s@hմ]Tjdf wϪ} C:LñGw.mpcG9XE@."uR6gk.+,XV"%kJB2>zINA<,.ҧgӚS ă@v?/a%8 BٍҗSRt%>ɲ3i MB( m&/ڱЉ$4H.n9L `ָvP\aK q0H&be Kƞ^ʹ4)c-_KTu \x9 ;&RFB !ҧqm|_I:ziBP0 b#%~z"tRxXFMs/uʽ+4,G @3 e3JɒR$^6'*(f44ִ35JW\PGeFױ>Qq\!_@I~Q`f1hnǖ&M!@8 yjU+h̒G^ב0k#R E ϏK8JkgR@Feݑc{%0C1sԐ w#ӆK4I}T0 3/y[`ThPJ*5&wN?Ro 8f]%D9ܸ7K8JkfCPPr&E^ PH\ATPRn$k`I/(קٲgN+Qа`@zx*PKV zB_Vo^p ~B&D9 z4xtN a/݅NT @'@T*g[WDKfĀvQhNs7XG$Z +|f)@+]JFw)ejzz/E]@B-^U;#IjU2 B )-YpiBa#e` ~*8 'ZUec%a%6(hBl  1YgT)@M ,XgQH?+G~#^ɍ6UNL J.*BfyC  QO\KEE<8v_j٬|CE"gPN!XHDz*tyaFCFRUS+z@ mã-_|( 큉Ф:+8J2F f^0/%,Nɮ_edu1[W P;Pc9*X pڵpUzؾq^&DlPGZ˭\Pm W+T4mB(ċѧmH|!БFH^OZJJ J=piBa*Ep֧"6ji>Kۮ @RSXPD6˂-hR[ 6'RSJ :a<rA+ \_Z M.`@"(AtT: t/o7uB#Et9Fj0)Mx+x$8;afgdQ-| :NoQƽK@TRrD*[ y86?#R@ eo~@|fT @%\[&EYnJk:~NY-fX@ω 8oi[ '9scwaDжRbл D*U: r 9KF뛁L va.((` J%NJY @S"YF JQ}̏1~zݨ-fLK>z2 L;8RyͲ~[sY]X&* zVB VQg!AŤ%,P%){TDlʼEd۰uGJ|Yl9rzp` g%^)=D¨I%x HSQ{(!KǙSM]]lHӏLh .M0đ_V: t]_Fu jh&f(AR @c(J{+H-2Yh7C[%Rsdǫe|U[%7*' ~"j ^{!ayUBV (Nʬ!PWV >z1f{0ޚT J*( K q*T;W0vK%~J[@?& _=v?7$ؽ`~gl|f}/$)pS ⹱0(uuMǪ ¹@!hJ{U3 joTѸ@_ٞHM̿Jka*pi8DuPڧkda3j_0W)EX&I!(Yߺt|JDHkBDL^qc(MAU} Et;xlq؁a}BDݰ3,pw'[{c*2T>,x-_L6 U(ui4R@Q0 SжFzT%1k0HmmZ x%62_'!PP7)K,J6D* k%pgbsƱB., yLC7w-RȒ^@_׊n0ⵄPcB^,ǧV% Ϣg)`Jf W6>I%l_JOIe{ڥۯ2^@C_@ K"*Mh1 ;Dc8tP!hmc(ցfB0OP0M+di.gK1i8?{pwZ J0QB,;Bl7yh~\xR@?o\:G"=dcĆ8M!)C.TiB Bf[ iPaFDF0.x)RF7p~cwhTll.eEC:J06H6"֌Ĥ;#4ޠJ@iSFc* O(F`gIJW $RxQ R Z B%ٞ"MTG@|Dm'E;>gS ݿ"GqA!@ hċgCvY| y& x^.ML!n"K2A+o1sBe=%XIU0d0^j׭"oi gIQ v;P*.T0F7mTЅKlp 7 W>4/GYZ6t̘+ZùN/w@'l: x( Ì\EϠB06\ae^E?s&hީۙ "x)?Tl *u`NIh]HܶV0ZV(2D|O4J2b@!@|J!m_!@UJ y IԮmmԮ MK㾇>I]hcc0̎Y3ylSTi1Xq'sRWcwJ0!6JJ( Z4?1e]pOg@mV ,!8C\NjY~![τU-)V4Ѝ={E%Jc,# JP>Hc!@En"HӨD..uz R>'*\ߦ$4=-vp)@[iB+B0DƋ&SDu|7=!yE9֘ Ȓ#``rI*`?[G*Џ`ۖ c|fն)H wp{/V$%l%,^J:*DWmzt[LVtLTS]g2 Pox񩱻@=i 3iXaFG_0U?940'3jAͼS1t dck*tׯW?쓒 heϩvں|N RHRPiQK45'}87'%x3d!'u6ׄZW`I0tJQ +IoCN2 o[]RL oWڀ_Xg"zx\˲&~,Xő߻7vc3W:>(0RDOu0#f\gӘIfge-_r8l!̿Wl(Yemu6 CNR|.6_s0>p ֲTIUO.V@I/"[QACR%*"^p TF[z9[}0%/0v0"g'NhE]cM{_Eim,ڏZVM͉ˍ{/fJs7lYQ ȩTDz*RP܎ХS F^.?CQZCȗ|X\h\B\ 1txu-M.NJ]iX}\T ZP/U`(`p~_BcT߀,C4GA⻏<!}uIuG˚1:k|t-F9TPԥ*dt.l.^$6Lfʳ'H/nz,wT^P8##c"ǞE}fKjMp5S8?JgYi.El}O> FoC城wߎc'E ;1@ T[ $N#{Q߀|v_#7r`at>9mAcl2yd>Z ߕYBgd| 3Ri{oSnЧ~+\ߺt>~נ723# #|So /|JLL ԢT_^Rw]ltaqˠ@Wݍ. `e: ם2232 +ǞG+k+%,B-ɥ(UofQl#sY-\hW$%Q-zJ}*k uphNEAuC>/5y͗.d'kJ/2u E2`euK{{r #cQ B/Uk̖F?Ƙ5vrlgA9, vv9Xw$۷Um)+`S%87wcF$Y:kIQ)/fpR_GV#{z:vPc>ྕ̜L\$Eq2 f(V{yh,`VFFAk$ V HUޑlx]< DQfW1H%u\M-I` mop`㴴 T"熞‹T2qUL(7Bw9=E ȘE*'}R'?q4).~?˗پl{.}[AXGbgs^bC_}uFڏ4:!X:cxݿ: jxŶGhV1 @4m@36}/w2;Ǟnddd `FX9!#-1` mf!?k߿|3F)t?г)f }7/* GPpq݈  h;@^<\0@D-{DO^@YUq$g|{1wȘ|*N^=4Z1KۦlSmљX~PçAU3縥ΡPT ƺw{Kp:)!2@*!ܳҹ{NҶC2se"TW@e},1s Ǟȗs #cVg~9bMӖ&0%Z.#£l^yl|n-վT_g>_]мmx^^:8y3uX.קEDH D:~^P1x;@ge2 \,$؅e7 o{nJȸ ש|hE_fl=_/0^_2۵=L/[>iuvYx43Kꛖ0@#';:ljJ82qx<ljµ/qW@#(d5KGDezOjDbw@Yq]CȘ{H6^4jۚZ-˾g;0N1?d.d]\߮F5&q O7Pr"\C9iav| }g2!e/2TK-te-q|1@V'ߠ7edd1匌PU=O#x|bjQ>Ms6pԶmYC﫥E iEh1*U?VR4}uBhڒ)LK;a>gƶR`_:A e pti0sV>{)/nsI@-6co  ?doNIܹi5NC ] *$sCV[K]Lyf))@%vt@b;@vsjp;У3/Y0zq?s_#~ٽfh^1]c < {`FlE32GQ~Rj7__mOni۵8:&Bϩ_nl[^BCx0ͷ?SmpKƣ˿3;WdH:;ׂL%5:-e:A@܆u`ezԋpV@ä_ fAA?;ˮ`NFFl522F쿏6]BzFo o+ARy֒i_.0ܧY7DzJRtt0i;2f"N`}_Aҍv9 ^@HY!;2"wkT}ibl{>; J#HkMn zW .??2=IkX 1ǥ0^*`7>R5 `{(eXQ8 )peመzx絽f:ZE 2X §]s p{2 #c #cLTT}ؓhA{E2lpZZS6FКmw]k4{z%[VB߽&9\?{ /^[IEU{%|OL/<0v@?*Ð/}vvn$ 2IztuUA o;@k` fZP9r7Y"fd*_bF w-؆(S^_y 7}5;?xndݒP Mgj.c◦_kCj "2EZe kI %& jxcX F<׋W`e1K@K2CZ̯u?zCi3.ՃC8q_K22FAb ǞGmze\Es|tIAq>Oju?gL?6 N7–BL%4F{OD /_t[DSkV`ZXxeB E5ƨk" SPOܥt#xMv)TAeX$6ސɢk[^s}1?Pd0Mp IDAT]:],m6 O Q?2t /0C[2MAٔ=D>YRT P/l^'U:`D`bZBz22fyI:<8^&L1+RR&?d1)zFS-m 0B/x0?{` J>cl ?5EEieP_2aX^:v )Ż%M8jvXBhurD;u@FX~ 580`/?M\00Kf-?ϒ3_@.4i6~Ga]sp Q )hk,PT֡.,cye.vۏUl{% n "Bɲc_1=YS:c]Ș@F~:cOHSwvsl-mfףJ]2v~욑v~TKX ru~>֎?AF_2_!8܏XO_yM90 t@d 0e$*T4 @Sx pǼb #Xlg &h`ܞaW<#E7d##cFűgh'Ey6^ĶμDn LX&Ǯ.%߷asNߗ@g _;SN  V c}2^#)8wekI^A Y2z ' 豌`ύ|*wVo$9?T *(T-g *oXgY 0#c6ȸ(_bcO8T?w٘ !u5פ<%ŞkG]уo }K围xz wjp}aq 8! :/\e'20Nbq2]:K(c;Q<ѯ"NK"pP1@[=hsj XTSb=e*#cӈ[8_,8!kX;+gR.?)fL0 tvÖا`t9s'po @!O1&~ \pU~tbݸ,Y\c}c\[m322&a(O_Z%.Dƞ&LY^F4bdjZy}}{R& ".:b*, EZ4eL*`csT+'Z? l>sf/A7Of1C !Sӈbh_w ?~gjOgZu),#];r|[a8C?CG[^e# ր)" hC P9Soc1VO/hq$' 11@oɏ趢}}| `hKi"c>1.\?;51I1{t0֙OŖheI ڨm8XnsL`ڇ˪;_Goz!gV^/ 5-_XD(|_NBe /pG7ڨ ,:zh쾢Pk L8) Q^2 `ȵ8yW~aI(~~1'32Lre*oh?gT\ȔڃھY6- PLes}aآaE,n4]?ǃoX#0pN-e_ @PrEq }EIԏ\ ,TLqԧ+s2eά%`dG {ŏ=!^Z&>m۲_mzFv5\{Z?\]"k6x|7W6㛹 އg8A/P*cHۭpb_|AЗU_@uR/HbکLf^(rVpGY$ Z~grKcA=e֧:kῩ!ۨWscAݥl\l[bݶ>#(WPZOw1IvITG4 Lv"q=be;*&*|' XhJ01@NEjfo?Cbb`ϑ$ZSā}=ZPA(y?} jFFb*οziLɳA۬vbۮdIU%\?b[[#>;vLXp8> ģ g*[Qot{Ex#c0G98v0LR"`e'K-e焢(bSPeb]4,N!tػhG,@H>4Z16csvص·˹;b-xTV}N! U?<s>%p}+ @<1 e%(O^x?QMNA^D@D мG w3'U8?F.3-? ؁,S>A| /^ߍPgFҐi(E Đg?kf?^+[?nWj'GNlSJ1nsWM#o–l@C'*1WI_n,{g|#̋`^aG."F}q^@?j sc4 _+{\wqh@1@3.2ݦ@|`z]-B-_;X| iisף."h;-jkvt ۶!ױsK?(:lC:*X&v? }WT,heA1@Fye7WGڶ`  vC Pޢ&4'_%^R[VޘߟKd7^`h`,*VoRqYEfddc}{jS o$ҲB4_ɭ \Fǐ%s=^j2(YulEM+q?gSB7k\,_QxenK؂ E'W)_[;Q}Jm-)P[v>䖀w@'_%z2d@FaE32Z Ap\"0+tf./t~9o־_) YMk%ݔ>fL?3"!l?Ndwv ep(Rm㨣 `(0VDlK`o눶 XE U ԄcJrymO9`#[SufDE-oߡx9w8N8*< %ǖOb/gψչEg [nǻ6^: N5`6?i͇r#>`u9TEcǧ22.h&AE,̶~m@et /BR/=T>-@@ڋv^#%XVK@bv> >Z3P~]_C^1#Bz 8<<o{Go |mᶸhl]WQ\O;9!L[ LkE!fTwbo8|?pF.cq}~`2-h %Y$nÞ@kؑM bH[ EŢK j xm,KuPdr-?˞m+[x\^!N8 d:m@!`.uSK^XtWw$?(so~m%%_N[ 4fG'e/'ǤS0+F)y/{B `e'L2N?q=Hb-M[s߁ZPZU-gF^ aqPu'82 #Æ>='߅Yf]Al_Z85aN# j߃s3/eJ3F1}9G ׹CeQd<`k@F eMčSoܑ) (v R3Zu?(u^ ,';`fddL ;led 3TuP,B?vkg9mtF-oذظld:fL?K>V@Ϯ ρ?c^`'p2(uʳ nidb<}my)QP\ P>]Yv0nek'86h Wp8ǒ\)mdd0\Zġ>Z7cfCc.)p?mwvPL'Mg@ Kga2/:9o}|fY`Xe )Z½OBQ0F!) :Y`sO5uCehED{-$L}HK@+P!V@$pGKS1OXH.m~ Bt͌Pa.q328N~سH>ن-ۢ*C WeK=gfvge!?u.y+(,> |shø'єvo8>d~C4F4v)QWRC1e!((_ڕ #: '2I8m,9i鈤%ا% [&y,@]` ,Y\j#ރIdd+9@yIrgS m|[+Kچ fCݩȻn[E{C?8N%.1r>b!YJ濅WOȧ>>芄Ŀ9?P͹/ /hgi!TXb|Ldj?& %Ⱦ`P,Qgu-І}YKrŃ\L/_K222xW@_Pщ}=w5ƭ\}etB s*g#&&=cJp:k7zS|3*UDlG)j CY))*LQ0G[vK@r^s\e 0e`(eX `BryCoߡMd-:9±)K|m~ndG7mj׌z!1L27ۇjo=HmTz1_0 ;vOE.Q W21@2Q[KJ;mbZ_D/h% lFbw0_@G~H| `Э݇/fABbѰCKsl-?ԧ O",M-M/84N /7w? &QЍ0| SI$̅TGR bԯR-HP(Fo:YX U Bq'-,bslX]<ք `Fƨx&#c"$W^,1? 'v@Wm9 (v.0bc- *GEO?w<>& ,wY*H>)ɢ<`RJa4|0e&b,W PE֒m xHe6z|P'5?(l,l>F,눫n|1z:y ~Z+,D'-"@|/L~5At>gdIqM뇟Bh1߷uI6@  e2kK16u1z>wL͌-jg  3bVGB>D_c bhُOAxݩ#21@ cl8zط% V7QБ%LipC8d Dy? 򟾀|ԗȸӐ9q?A<#2De=jCI}~W?3Rl\65/]5Z0? (ocA'Ǣ!?M?S\k{9g1=`eȒwO)H[8+Bm heE9 |>^V`gvj.k e܇RU*OT `j+edYFN?[K1Qio7Gm- W0{e7Vo*̴m#>O\'F2 `"_q$w_ @;EbH&p:( IDATe=5]t"i԰< Ȋ/t[K9^K@LDR/fVDbx"o@2 @yw"c ġ%h/ W;u _XF'#cOW TFǶHv:J$d9Ju_45I2s;VnY3[WV?x=،{.#-ϙ8@`ae` ``!,TqsмN-l (Z" fY|I7”,`1,ǟ,=u|\ 1Ifd#8}cO#R'K^ϥwe9Ylg#Dzv<Zz=7hkd|9 S;U{ )" aAv%hO;%55h"%lJq)7 @P$S:c.$@Bhի7E|,xN}H,߇% )3e_;cmּoY% ?UbnXCCO_}pC@ mSW] 0*A-Cޔt*2Y9=YL`V\_;$:T[XR)\]䢀qK22zA-(AyG(|lWs<ῖqs1Y've6~1Cޒ*ƴޟx0xi!?A"h/?&3m̐(p2L8)0S @#(7@gK@\?$ X,=~,AQ@,AZ,Oz\:@ i=j[Wۗ.x?C Ʈ9SP&t/ߠ'7fddcX32VʓW=d?_9nsqg  ګd< 7 2-ou {P뿠Q @L |̔̕0 ]ETb>: ݖ xXZ:YpATBFj vGvYV`X׊m0#h=)Z _<|GH|2{.F}k/3VK6`:6BKg>3  ˲D Y Э@: ȭfr` `@,_ @y7&H~sC|wdq?T=4eSt$ lKRl@_@܆5dͶXgqzԀu8ſ߆Hh7+c >V_NGbfZn%v(#cP: :HAX[zFv,))B(XV.' ݇x\a???✑Dl -:y4ͨDo ,~jmL r쿶Yf߳ u0y,zh! >֤coc%C": mP?>9}&,gW8nLP%~& Ps-p|=`X%/ gAoc%( cXE~< pJg_/x\ak@1U22}9q@i`vXVk]}v# x_gyd90Jsʶ76u,j'?o0k<p C5bY<יJi -[֗Sz,AA%CCY)Z|g#pk0z&`ϓ8>OJxgT:5vX}(wR8b2|6?yHX?#lB!ȳ[>@_*OynlQjC[_n_ Zކeh.{7 MU0TZ:5AK( 0-,.zƲ"=Y2Ћ[ T `(cɧH~k/ߠIdd,E̸K(_G腩~i=w;o_dCz K\m}m$Ue-qH, K_ p %/@OK@!J]f@v-Ys[^IrxvFWe,C9`_,/G8y ūS^k37{s nUHo@B,y\\:熲 mx r ge_77%${Oae-_.:Ci>sOތj0n@*vЂll@ |SY؅#, bX#*_ lA@w;RQr [:y."/]x92nD32 !a*R 7׍3Mȳv -$넲zNlѪwaGòo?O;C[Y3kBJ1Ǟ $A g$,h4z).Lp@-q?0f$ x`m,Ρ3N| ; IX}9dθg(ޟ_A^铏,%rVtRP;\s5d(Γ۰l;q{}[f7cg?_?˧ڻ_; G 7o2zsx3q_O;~,?plb(-9b,3dDYOdp ~;}>KAMdYH1^bs$nP0XB`AÏA =^@|ǞEF@qM'?FEy}0?i}CQ?n#Ǟi<IM2g^eη?I_ e-#P_wEhg l J(.vЭHfN@- 0 {\ C2 P'| @N|Q=W7/s9@ƝG#X(ɓ,Ӈ S;bsI&D?_g}O #m"7~+;Zi?owvMxxq[%j1ոGQm)(%[YgNČGNBQ7F BGnc(h^<ڴ'"],E:E Hap0o]?->g 3?>}cAXzk,ɣb}aQhθ︅|gfd,O3hnDz@^daM[5%cBVpmm~nOB[IJQ*]ڶG3Q p"յm  ~?ELK,["-LQQuVY4C Ȏcnapcxs ED\ bm:}I5P+,q錌6(7 $[f_v{LFl6? ̡eGv oRjuex K%=Ŏeӫf `FwTP>`-0 `,sw/ ؗ _1Y"s`#Tv+0t-}qwڪX gx rRE(H1HoG& (?E7#c_?2LZ;@_Az>]5šۮ7غȲV!V:4> '^_:ќо!(1H70?7FX/,/ QrY:B`ȧ^H) }7 ȱ `!+9` @ #yQ~ֿqdd, B%cIq?\-?к(|Gl?vy rDRelX_GMl{G̹G?VfN>߽ _@cv9O>o:B),Yu0(C;Z`YsSڴ,\HcYbyCʭI `#(~+#^A`ý` @o,{3֋jgs% kX yŶs?qQʲad5}.d^)&,fܦ$) #۰P?Y DS/uY, e#Ja]X-{6Y u܎g h1~G0& lA@-zNG+AdyAOD1iHTaoA~VPXwPXX| O>\Ya}Aik!dc$ 1#."mf56Wi 6r[n"oN ,opG33 ,%`qc ZXNX,dPf+x Uy)4"2GvPB] WZ9c  bΟ|֔'o^LXVjFCFF daŤ1o4-~mI ߾Mo8ڱgv5$6ζn]L9ll;쿶ox_7Fd@ +ufCH;a.%`$ggآ Q+^bb航QwYNߊNnntXRRPO4i- @* `,, Q7'VV|fd ͬ(^%!a[hu}m}yݥY̆ttd#쿛76W~oei `ʖf_c`r }|1|CfyƧFCLj7SPM]"QX Y+AQ_B=IK0Ku;-~҈4xVs0)KJ,/u*8pO'OrS_vS_*#c)Iedd:m^}2;Rcp?yrg<Ὲ mXf7B] v;Uh eM,/ϓ}Zxo1Z(R!NE`Lȱ%ٜ\]gFOE(܅IJ`_b쿅?j 8-SptD+2 i/cBL&#>\E! IDATN]8ך@Т,?P PYi{N,8$Qm|g1.mgZV+A~LϘ7VB뇟;DaU~M%N'R;/wmLK >GG@gAA,s{~w 00COK@{aۗ1 Hfloɰ~`" gk9:Y- r Yc<ϣ죔xAxmAhuZ?8=sϰzQ TXe1qKH볿>Ta.$꿻ĜDԄqG̓ۊ{iV>;uMݴCc+1.e 矶C7?S|; 1aTqXmc۶1̝,X5wֱEFx[@E ڎrTPcn)@(?8LG$V_bb}߾) X%ă\1Wk<Nq \d$% |߃5bΕmn;N8 {۪}NVoپo^wc9C?0D,v3֏Gc|YG,ܶERE0m-S§8_HPlU & 4^n4F`[99X gO~|__>8Y( _x{.Aɘ)D:}Xq œ{ے0 Qs EuLqڎl.-1~ն:2^뽈44GoP3 1Hf0E$r(y5p'p `HZ$݂,9ծRc慖RP@#p =A8#Y,T|}Vw iT9cPc$## :}I.)G qVo9!CS-Ęt.u|VIJ/7F?nc%_*+Oe:f`v|C0%h}CY Jb Z,`lob<@ s@H d -  Y/l!@lOp` (3PT$n?Dҡ)6uy}I|_eT\>r5Qc8SSg?gXe' iz>!.$Y}5&^Z[iuf!foΘm`"DmS칻-r,.AG QwEИ %he-G{瀳8 ~ F½{@Q@sA(PyZ}a߳_]`ߵ`*E, UX wf?c N6fJMXT2ѿyckCv꿱?Pg5M߼f|5*dퟕ\pM}B?O0m2 Ck4*EOmgaN?}l0~0|?5Pw=6ǸC%{\q X':RYa5mfq E#ط- K/7 ] @ւߏ8p)@ůŶ7OJ#dQިktA@#7o60# (,2fY|Ξo{*{ac-*Sk1-ߥ{ ?n<֪lQ~m-yxm['jۭ`'?;;T+3OΪzU% sP(6Rߩ PǯJ߭z*ꁳ U~ߤƂzI$SW )N`+Hj|`STWcUV1#j^Kmy:`c{d!-~ 4 ƨQE@%ck ATw1OϮt2c"GV1SOeSSHXtQ]f(0J8 qʢMe]Kʴ+RULjS+D8Y5חU_K_L3 *oHs|s̽%5#߶y]̚a%, &q=`_pZuDq{jBmWM)^Up,;sO͓Od矏GSB >jW@o}FC|ƨ@)X32`6nnVl ޵vs6? u<ʹ;A-{V!d\l,wy^>pX$ nXY$[Xu־1d4jJnZ`df@@l q+6h5}Ǫq_n^sUeSX/.^\~Wc}l;,{[gY ^uQ+~ӎY!FsKKMnb$EE %:)DLY1OT٬ퟕcD-GFTrkLAHyfF ULhǰrK2  6-Gָ((9RYb@,<-~;ߩaHʸlX)YB88 G:XljU[6c[ͼ_0n3c$&B~! N__x]Xwd?cv][PsPhz\` gLO~"+_S' r?}ӟkk?nTH WsgK[>?K 3;[}#mq0OU[ao ZP^hwCf'^^m{ Z|A@T Nd-% ZD$4ր b^5*}3/ xGD|q񣸽Qq-QUWʌ E-Kݢ+9yV_<=u]zUBu?4zs3 sa ;A6>/U9{BV@ o]j_P}=˜$e|f?ca6?I=QqvwٖN?goQ2?YI>VT!~)8_4b0&-嶡#+.-רВe۝c$c֩t_X04 muֿG[@D,~[LYswDd!8ZO?v!Ps+,$P`'PIiZ̿`lP?L0ss`խ팿z@?cef&?  BP/3ݺ9}GzYML IoAo!߽Z q$drx?dig #@[O'@Tz*F'Ȣtj~E(:c 3e}2 ڞ ghUUk bp%!V7ZgV?Pj%5LD6Ylέu85C[z|4 @( <'BX\ /Yvo;\K7%W Ы%od w ߱x;Gw$:#d-|C;@<w{8fQ:(_;U 2m(YBQu^PY=Jg fj3MT+z+eeAcAiKRgMWe&,0!a'=u~| + wD gm{ٱ30$UfVU׽^o.:rǣz֠7c^ڭy n*=Z/yqM=Jk/Grn!曪O0تc}f LR!~;? =G^wM%@*ha侈V_]= 3?v\~JYn嵴]zuLQl"(,Q+pR&[@+eHV]k:_zE +[ j f Вe%~?h#zϢЭSUuKesz8LG37tɶ_ZUV-27ծO1 l9eBW"'Ѹje?3WmɯѰ !`pPm<-7 ƪ/ IDATv8+aDi=pE{ګIN}~/p3z!׉_VNqދM'7;uߧSksCQϝ#/[S^@_H'xq 6,*s6~L?s=iSy`J_/{ZO~,g+7(Qz|&L`X$,uݤ}*;L]D!ģknoC:d;DNS0P7,?G__\WG&NgOzUXS{YWsb[n,yJP??2o1sq 0/T`]w_7@%:5ޯm& X2w P?s4ή}:sERo9{UJ Tw*-~;~N@ipz @mnU,ᐬ-%l`ݨn{%voAWNYB OoTm%ʴYzX~ΥtfH'@`L@  ֱ~]&@:s%#n7߱/gzj.Ԛ͏\qI??R_q”@Q}~J0 E[4>ffWgV/gY֥.xMW-EdqPphMv+i8r<,If B (^5L ж"pMsI wL0[')E jU6_쒁' 3$-ANw׈dۿ3W L־xg;j~qVośڛ7R#thZṕ_H0Oc9vl̴/z4_>Xs╟+W[1_l_V/$ocy[}CCd*'onqC7{ 1A@~LC~< ` `"P_cD3?@8S2 c@JNe″W/~j=_)jX@jՖ0-ַfb˖Lsan!Q?cgYѿkM@MΓ=U?|ΝU}$HOwz)s\3 ǀpS_+zؽ1U\ &UZ<+8oa+-yZUG% \^?'dTD <Nv(/v!N%8 };XmW2PUV l~7ݼzϒWicTעazv0'$רz _Aѩgjٴ F}oT"?)ﻞ#kMW{zMW\P{,LY -K/RPPȆJ<(jP2[ש#ଜ,GGпmAP2"3hzȞ0{>N0Oś?7ٹZjOLo޼6M#xu8 Y<ϯj&u%Yr=;9w<.$?,VUM"n vfZ?K'?N0mLȬ'J7e>sOr#Vɮ@Rs.]-ffZ@@! ~Rx&'\- '`O8Ou\? GnL?h#ټ_/P3s, Ü ٸ/e/5gS7g}T?ЁdW_g y[61S/kW8ʖc{&0ؑ4A@򍎅C־ﶣRuv߰>܉mJIz|'4rm@oKjAgbvu@4ȧV33=Vmѹ/mY? )pEz"5_s )ڣ>v Q[JƩ~1o+טR op̔x |aA@䂀RA@9@6@y6AP4+@ VOR#ЮWA'(`SNtfu9  k7o>m6gVZ,V//bhfQx РO'7-_wva܏v)kg}>0;ÁQN%HMLٔ)֮l58c_-JWZ>_˵_׷w=᳗l^[[` 7۷@/k>К~Ro&e1z4nh ZuL\6;^ j1 >X>?teƿwVջWkk`wGp,L~B>{~C>ၺM}OͺܟC[Z˙-i)_f}^F+ UV66NjWfL@&ݟjw⿎(CA@c?Գ[&Cփn? Yv~U-Zrƨ: 6h>uelX|PR@*Wh*_C+QpysPqW*shlFs?i @_P@ @n +ӫ0_ \?zzz x8@KʣDiV%Lrz\=\.$17ʷo~}=ժU;1~7>߾ C=g\g!jO~nq}4_Ov/sY`& D+:õc!bS'PL P:ʡ@#hP'NԆ2z. 0'C@u,bl677?Y;TV4_͛羜9o[$_QsDz N׫vuTdGk_Op῱sRr?5gWx,9ɏL6S1]PrNfȫJGɐ@.M?Hy!yVcS&=0`!9V@rt PfPl(_. <3]l~|L럞zU;޼r)\I907H "4KiiasΎ v;2l&_n9߽kve暓ViǮtRQ, `覙 L mBIu(EcYmNӠ_mQ {OI (+̀ jaZ\f 'xvSp+{gn6_g7o~fs_OjS8N/ /]Nq8@Nq493kk.M+ ?ߏG2o@7?RYZYHsQBnx2FB`.]D aԀ`?<=?П69Nc2H_ =o_  8Gp?B<ϕj՞5Oq Qy˔_Gn(_`[<1|Gs3o7C^{q8 _gn*?@!y/'١sծxbQ6(tӯ+meu =?11VJ05G$ۃz98=8lTQh2Cp Q3 ͋؛/~7o~fs_Ojfcܾ{y\#@C࿔kpѿtMdfR?&A/_.T]u?@r:?XNO} Mٞ4Ej=7=tO޻!AoǝvBrzMz$4$35 JͥNya:w>kEUVtfl~ķ.~oTϥW :K2!$_.eT?m:?k?07b'ϡ{+Qh!'Șߚ WͮyrpZ*C!A {peP1H(@P=dejFj@ %(?l @5^DP3%= =Lk\‡ /͛?~W7ɠZgeD;n }[͟YܗtvN/ӵIXogD_Ϸf ;ҜN|qj.ɘ)Vq^c?wR}Z>g?v@x};_#|w۟e{rВp^, ,,=/{AG5|=uM'5[k{[ի `rߚnw~]w帽d\& τ 0ˮPwLcqĪ!U^5j&=9g1 \pgX}d1C|R}Tf{=T3+|z/Sڵüys7Lvgba_-WJ-%t ^BY5 C֟S[06 qp],urh +{ʸo6ϭM4,wJOR_$l?ʧcŮpzqbMP }E\V{^@g((PߟE nE?o)Q@m>uz@V frO L g 2_ڗ-޼L5s@jY W/[뿨_)W+`-./ّ"/jf<,O-L]K}6?>>&Ws`PBb Gl?s2sڳpi'~kI=0 CB0i(gPZmF T":M9zL^%N3?7o~oeZjsEw~`o?]`Uj]r??$oPFuڲsdk&DmUSk5ύxe>#ax&'dC?Ნ X\1^:QY>٬ Y#[R}T޷M"r.̀(` е}#EUSt s%_g|wO_)fjժ1osW;?;5]BXV/?.dƹS?" J?S9_O_gzM yT/7?'S]Z -;x>Ppsjc'wf0uNyIA.+ߎ1`h@? {o|p Ad= hie֐l OݰU[zQ>&vDn 2f\5k$'x&\:؝\+ {r_۷d_սfV€i݄3n/1̓ 8`36^vNܾ=uUv.c2fy_+1OCV":&]K(_}͋guO-h@E47>|N_ oM9}H;E;8꿞^$)K? Q?dJSlo!| o(}SK*z?צ_e pˏ K5N? ք`^L.k@C֫7 - l>Fn!jQڃ|[mڿ"p\?{Ͼ96=@߷;\\ޖ.! 0݌~7羞jNndܬfs_ΓS)iV;H&?@:@{604[bm|!wj YןP76PUʿݾnQ/d?Ԧ_**325FKm#z,g@6B^لࣥ <1m^{Wǝ'1 $K+\طXyVL~n[.fch}~>zv[ߏg#x&3C1 IDAT 0(0X~`6 }׽~9L p`lfؼs޼=?Zo^oPTScFO ^{O?d>Ckl]uPAu`_V[`A|д<.f e }(JR)Gs8(Jc< @.E,1}Kxch@/ vo>nZFh`lagc u8V;Bk?T? o!}_-o[0>#&@R@V>ae#`>^ T63bn=}u_3ҪvUL?oy}wLf7~H`/ǂ# 9!?؞eHF':7}'g'}nK m6JV_O'ߟnmi<R0د_c_ݧ{7KeCu{'_ 0 9 8Ӆ h0C hAp+`ܷNC Zf -S r~N\jH*UIYf] _lXgjl_ #z:_B5z01,uz_eƆmP~OVG?P**@!1F~Z*Oi;m׽ xX<#Pb< a:x[ﹻUEDy?c~cB`GԉuNrh dnl' R8@K5B8`VT~\4<><pԀA p( u136>vk_A7YOm6_NFOLW-9ڿk{~!ݟ?uD_C9;{ !o c͋qg+bnwRfsk^DȪ 씫r؟*{ĕ?QEuU,Eb𯎝($p|>]sg057]>76R6D1VgZ쉳vlP~_BH M)5 S0* (;ʳ [@zƋU{+}gIL=)&['`|&LeW۷}U} \Ѫk4wL?e=U`_FOCQt F;%"'SDz+>bh9NT>/du#&k1FӲұSm*, I бV޷ԥ .p@" WŴ( r*ch٭jDQ?n^ʊ9yV}H2*v1b"f`OН| 42&rntI›Φ . ණ#D{4/͋7}/`[g܃V`q97(EeNm}{E)͵}M',D?Z((#Ac&d?1RVsu$V? e C0W>9g_ƯҞ$5 Z{zLX7*HQ=V%KhD zw`SLxL^] w]2bFv9sgpje_::s6oЬdv羰goOi?xwkyalT\Ā_m| "G=X?_LqiʿӅSPo%GRaKT῅N.X(9N-8[ СQ@)W@k И(?Wڱl9;D`xnA`X'@:@m#佐Hq@`y'PP vq ؾ<] K_V`7b}e C(%GCz`| ^j\(@ƶ;FdE" EpXUbǽCak0ƍ/NP 0`: <4`+fOK8aWP.8 1v׵QGPl@BD5,,7/~paW} x_` bw:#ځoA e5ftUĔ`JPzrem֑?(+u u?!&?"k|#o/)_/ iFIc{Sʏ {V'; `nlUsvPyMC>Xrp?! p( C;w3ԀV[6('%eɦ4@f-=tKv]?VS/u-. c"Go]M?Fon?pRi?8S=5%?eTvUV95ce+otRDpV$Q@Dw-9hl֮Hz@#wzNu _[ߚ^z \C~ۺTLuO~QiTG3& ͻbWh; a7lo/o]ӳh d y`O00dCiV{B& :V8{?9@/B%÷3hgu.,& SpODvǀoI'q%W(X2n (\yZV2e'@Z^%ݚ]j4=Ԁ@k!H ^ (k#vON(:>8&|a}23:8o  W9+J p '?v89'2N7=tlT䐀 ˁ' aTGՙeì~ en17@cnW`,y 15 "=e5LD5;0ك;Y챀ŭ''΍#}T kc5P~9$l_zϔb0IWId~R:dN suc9\(DPyMBUK! x(PBl-auCVN(pBr bcB߶GwMV :m8@" h0|(8'r8'a~8@r! PgY^ZDZFND)Jj{7NO4N@˵=^'|t`ilIےKԁp}{}MW/MR}"fr?Gq)Kqʆʫ 1*(L97X9?|_BP&hn{0.6oAQ?nTC[dx!jc76®xo@uV-nkG=+7Q=P@x@ A&3pr\Dmzޒ 6˂)*tX, C`h4U&NGk xpbu,e\Zjǚͧ 8pR̡?(G?7@ Y0wޒkP_ceS:*j4`w0??m_^OP~]2(NW+>]g40 d}$= 7eeU+βWO0k 'A.e 75U`/eK1'd԰jժ-i\_;)} ys_K8PL ڸ_b?}6ݟ`!iHF p_>B)b ;Niso3< {ox0^??DPbzh@Q_ě}]G@~yxpYYhെȢMn@\ `L*%$9}"98 ;7'8O'}^&7[ 0`OWZ1Vv蘱vyJHUO?[ΫG>Π<%/s2/J_>"'p(O~n|S`Ÿr?ms cTr{!?@4s('7H=h^+/x$ xڒw@=n Oɵ|INS NU  P[: d@Se"lsF'@{Ǒ@9' z][yR+ƜPժU;N ǭO&QchbV`y .s~Co͏rsDO8[)QcaH?:OT&y/b[uLӳ@Ҳn_Nr@Jmؕ[}>Ί@:Bܘng]Y0iŜENi dN=+'Ύ A3H'ڞ 0poy;9N7XUG@jզcfVmFqxa:EW+R&n@w{otySI{xk/k=Bܿ[S%Wnh{~lƭ:&ؙCfz{B(@$,"x0XL ph'xG@ P(9RQ 9` ` R7 g' 92(qNjx&PۤLeCl9arVZj;:sڥ}uƭ&0v sO:X:h` sl+a^噓_%}c r >!? 7CռXD8d݋GJW,{UXuL3,״[0P0Y@ĞNxf8R=Rf} `Ӂ+%(#N (dN=H '8dGHgPEh}t?yBf:p:UXQ$c4f< X 㬞gmF9x4@66={/aռ-&ΦKs1Dq/Cl跴 unZӭ%fex}:3g/%=h ~U?X2@exЙ$+p\f$;@LؿH6ՎК$'p"Y&VNVW4p2_(Kf%\^ՅT}%!oY2j˩?b- :O U{6vjUp:lwL?ۮ F؉?lʧ sBù[ H@}/ 7}8?(j,/sSG@r ʆʝ}V'}3h'g>T? 0\6)5 @N _[*-r=Gvصk G] 5a;eg` +ϊN^<8U`fJ\b"e`8@uTv&R?ی??(ş>njxYzeƆQ׍w=Q5{hʿ9uCeSԗVC۾m ZӶCCA‥62qMS˵x>$[pVɚdy\z~Oƙ"qNIri c2;: ;7Z<9Y 8!6#;Yi{~lٗ3Xu`Gh`Ώ[X M@O Q@+bu8T]@+0Xy/ y'yRCzt: #܏j;*lV~\tTuEc\Lscy2brCJv@ . "Ηiҿ$_9d? dS?܏X 8N%{ =uМuBr_y2  q r~d b]}<"@gB)Cte!LF)gE'@rOAla693Z˲wx_s3ӣg1ۏDgd_7︻G<׸PYWs8 !vy⿾? ?fgս*ѓ-[WR7N;_E[uhO `n}&~pLОq@ph=ЩPna)_l /@ j&@H )N=X](; ~@BNnyrMi6pH@f?(Ʀ<G@eTv4p?I8UX#ql? el.)*'B;A?%=RSmMUݨD7W>=Ztp_V#qtF`;ՍL /)N 8z 7Ng Kmr~N*M`.=d؋dعlhcܵh}&ĊQvEѳ+wDЏ3۫ȥ%Tt 0IeЌG%ժ==Vp>VO,E0!__Sm?Sucb>j{I! ?@/*9V e%q=ѿ. O@0 /MR?lpUFq,YǶ>H`@NJf- Q(5 fh5cC1d6/۩6 `Mn= GDtCL(1&$wdw܄1 KﹲU;tRLRND?,ϓ]ƹxOY- Ks_> .1Ȇۏcah#h's =tY\s=@N7~@٧ԲGr4X6Q42D:EHޢ<掠 &G@8'V@jKc*?B9B[cP(*ڿWbڿּ8 KāߛerC?p?ؒ.[WR7_R/$Gdu@=d{iMW6%=' <ف |2'@]? }@p2Dۉa o I#} ^c߮PU;;?w!?-௏QטپK@,g-yO>gYKToadU_zl_ {/SŬ:EB)?Ρ)q[0DQ@(ˌ(` &NdtS8d 5H'LXLVHlY01d M]oWӉ>`PCXqPժ82οO;&3̠ O)؍ZRO  N$'V|_(##د(ɽѿb?2eSbV 7q,6 x @Q' 0 0:n6[@tK ͇LN]HuTg>.LlE>"$ȚƼMp #@tȹ3Z5g@?e0?>_OǨk6)?8c =v@P$_aP}f:i+ǀ`(s2a/\>~ XҎeI&dǜiHFFL g P^:el<ఀo1xzPJ@14 V?U1?)G/ ]nz,@o^PW+YLPs_;,MDnNUk?=ѿo8yMK6&W&^Gzc_𛣭Α }ζ{}rK_Wn ~UKxo />nGo` 􂀏>|]{m k>քumۨl7`n*ojGhGҟ1%wٱ"9OM}P^acp{LٸWb]cru&i'ۛ|m$f2eC}+-ڵ2zz3U$ P3?8(;I'X ;"W6+UqvkxqTȪhuMQ?1S"sZi?YNh Oٞ_*RWW/qN8e NX_>w}'@/8hkI$NcksS🳀^w0'}'@@wѽ:tYtϪM8POq:] }`m?_>W!ֿWm_ :._DUbzu(g |%1?DܗG m ;ǫj NNd`Sj++8#@J9~OuܷW@ rM٨SYdKC&eP 0Pk{iߪM&olI_C9xAuo3?V@z=LJV3wnC* ?#/ 6)ˋ 00NtDuX;Aq Eǂvly49@&&CNDlM&# (~%1 e 0J SR mL "CO\KBK-bs"xM΀A?EA\asw\䏧+(ПH4W8M[ |?;zs 0 VsCsA/߰|987'(ǖogۧ;|/Qn>ybc< =^=ܷ݇Bz!B?vj8:!*;4ǭpó }SML$t% |Hj3Y@m/;'4v3< BBUjSRs8 e5_-Ls̍R:k.O/u{80r$_ę09?%G?Y;? S?nC+{ zW(PLx70H=؁~n0  Hsp)uݥ1"ou}MVB҉C.$a;I.$M@CJl8AݟzBU eĶ/gs6'5 Ll]}y\_`j?01*=dž{evi|JS'7/+xؚd\Dss0kmi?-1MwKm{z|~Ȧ;]vz!`JuceiȪ鱢:1= 3$=f `k o; 0 0"ngrLhR&@4ѹJ]R8&.6I8%KIcm-` Oϩr dh,K^׶J?08Ê}Uv: ˾^g ISq?g(fL\Wn1#gI2rRN!߃IK\ѿNt8~kӕ@^O Zk&8ܶUY8S@>$`um1CޑǧNR@z$;yX@Gn?=:rEᅫOƞ {x?g__eoSKBfmUW>%1\/bū1 oL^د0;:࿔oE:JmʦUĬNhxY KxN 9`k]Kv6o|_4X4]Fl/&~6v'` bsI+t˲3@[e \=5mIQS2tW.+jdsi?4JpRi,:̀K gY3.-fȢ{Jgȡϭy27?̞We3bs?hz?%c&Td a|m-6Y$/??gۣ_= Iܚ?0/@U`yUk<&`&HDX28 {bmX# \VZ=&En$?V_Ty-x?ZjݼEH'`UC#e1o? [grFc28~ ʿ^{a$?d1x_@^h}xqeڸ>h@/t_^gw~O)۹9eS* NlT7ʎuj'<s 8.ΚÝg'4vGCmfT tcѽhX?#w w"g>PՆ1?ЁCz??7~ZB~_g™o09@r7NŸŸƇՔ:r. IDAT:1` k Kp`&1 :8 #`lKY\m ~ H`m}㦜3c=; {xX`8n?(qgQy k3 SV}򪿜;Zwmrp mh8cűr_xAD+٪c* xLz aj-(ʃ> 9M`&x̟ d:m޺Wiqϧj+u 8Zȫ a!`83Jk>n$XK6fJL^-i ʤl>Ol)5(\D+`]<R7`\5P)&F~CϊqϨ[oWftU/KVK2V$mS2Dwcg)şg]v$Ǒm#"Ҩ~=l 23BE2#%Gp FR _.u&f/? Ft??FmR^{ͽv-' _2B_{,_L0Ԕ :ǖ?'v) 0}˖l־0ΎT9YQǜ%m?./5 |/ׯ/5KM/nFs3iʺ5%-w#A'b3#a|9 &N] kmu< "v<]tD00קm"Fz'f?ϰ'{.`) y˕4/U EH+n o?Zr~/!` L 0qO?i7E?=!8! w[  ZƽEᎤKJ2'.WF[чl%#~z8B{!Zglw{? @[?kcϭoob`Ux(>OWzL \E &O6sO<;}'\$?_//x o7r|Ox{ C=E<۵mV,=üym&5c^^VOxz?/\,_.яooal}~q)'?bS'()W!@|s6bAX?p<&@kъpAd3J0'ߦ I6 I&@2x /Q_sJph6@ZJ:Q?I yn uMnj}KV@i2ؚp,-z%4K7/gtY̤?;o=ED~kS{ߦ6iOŁPХ$mZ' #F??kl+>31 z}J+DoWZ໼o$Y|~p _2'p pyR_ }XA bl Jo$P >M@/YE!jĀGCwYwo;~9ֶ釻PդO̟.I@Ϩl"/l8U>Oo}N $"H`b|9)cEZ@ܗoUOmLtR2-or 0|,AsM}M2?! E7gIhB[' mrLhk?VQH.˱w/BDO#kCK%{ilĘp)3r7L)$"vT, XJn> 5 \hMosYDZ!`ۉɜwi<@Y˴Yϕ[6`gEJa?LaOI_^2Svug}yLMM]i/ A0>Wl9!V}*EQ5%!¾fN #@sK X= v@WEխ\̤*_vst-꿬k9Bሿٿٟ$ϗ7wKÜG [6~Ƈ4D+)9E+I5]"@XC^$Zf,v6<_f[KY<^BG %{l 4}=C 9p~#g/|dB&ױxWQzB񍠟)忉}eL=|s#_ӓgt_:|`5D:پ{E!,}(}{E٭?"В {qlaB|.m,;2wV ?JKKH?Kz]_%5{$SON˿@w  +>3> C./,|t=0:! P)|W\৘߈] dMHK \{_X  K.Ƭm}? qFq#?ɗh\'wg]?g6+=~o?+DenM7]&%/F)z]S!K# gNu`ޟ[ۖ":&ۅ0DoSou8!b?9 ӕ "3s'A 7\offulj` 1| x4߿!lþ$?`5CQۯ[c?9ww>[>꟦1ÿb𜗉RŮ՝?IjZ ّo'{/P'EH vpx,Ep45|"$l.)e p,֔ @^NPJKn!@//Ϩٳ}yt)%9!@ۣd{{p pŏ*C%:w[!/RG֭_>Ϟߙ8QnFpxss{:&As ;K "9B[)4dEp;&b9x)X fu+sy=;8j.\/"O=L$x{fr@ #x-oD4 _OIwHH'?|MrWLs䟧0͍qQqM8yS@!9ϽE?e?ܚD8}| mŎol^hg?@с yM H+l (QG*Adߵ~GGWh4_ }E~i_k/?7Jz(n?5fে!O/gKcW|f4\J$$GX.Ϟ". O6p%9CW> z.EX tU/ Gk6@9- !^C#~&c[G(Eh٧ {ޱЕCm_[;wG' _~ѳOFůGMϙFG \ޒf.AW?'i^3#`|0ytLC[ck#E-~.|B&oC_)J^g`)(e,BnR$]eB!US- 3Z1Y"[8D}(в_>>4E{|q7釶 |: yK=1^/L̟x< u8_orQ0ygHkQ su}^3Cǻ4DV JdDAXe,#$oxo%$0v9b o:,! ~N6V- 1xQe]q ه]?l C?"kQ`3$m8;|EM⿌ 7ϒ%?7 /?l#L` _H E.LK_V}~7֛ \3ߒ}lIer]h:1ආ-J\d6]eU F{[уԒKxw+ ⯥KiwYg$/ϭ\/{NWMG-[:t X ?9Kkl+H0>#L<qLlPx%L^7@-`uR S"T}km!tb\UVsMTڷgF+)) H ^Cg_JBQ:cy~#a Mzߨu.ϲ_D8w?ff|cBσ;Ǯ@M!h"U ϖ޾"@k6l.cL2 W"Q}  ųϬ&*Aun->[I^ {Z>4<(?H5Ęo@O|sW_ Tk/Oozb5 ?]54!0wE7"olP̯i ;OfEyUBt{J@(x^7f,cI6 D+tV-/י:&F fy@ij=AoF/}8^KB~յw&hjy=lE'r~!_>l%/F2ߓ׹Wj1W:Me1%%?ϯ#?`|@yZ>{l{uLh~ ׂ +"/w!撀eIi6@@D{pBD ۳ij[=ŀ0R @*"5ʾM|v'1OkБ#eL\dtXN|m):率޿߷ Be9B/<?`~xzc]  "EPbKY ] fG.V@XyzZu>PXb^(B@XmKn=xvuLh6l1:}7&Cld>f} ?C95W=!ޔ)zGB=l8/O {}艓֘,뮋"2"\Z"B*@'_>!I'Q/*~gXu`e.Gp{Vf{с1( 5'[Ϭ]˯6;@s(PxCwWX؅b>44+=b~oʏ1:FHW[MB]Fy֨?,urQgnY컺[_d,$rG :k?4ˑ/*?pwIq'{aS|,}4@ lM}xI$釥A s4QG&iY@i ;9'r ދ9aiZ DeVÜ=y4TN֎?4fLvr_ a {_sklpk@w fzcNr E?.GAEkf $j+y* x ~X毲\.jYm관LCEȜ U\Wd,[j\ Dh฿~ԇĶ}Dd 1fULW֫ ~/%;Ez^'B? _>o&^;tϑfoNƽ?< !Dc[7 9m;% f^,ceG! \XBmmaPVcڍ57D6*xtlTE6}hW̐~UۢK?}E!uK?dCw?mK_K5_>_cԿ7w_K|^?{yAS ?Јa"/@cg;i IDAT9`o |Sr?"ƃ0kb l"5Bm,- Xe2p[8!B@OOZ!V&ƒu-A R^‹ko~}h'}My_k_:tj?-:;Eo4m)W 9\h8D^*DX S{IO xss%P<.^ lڲpZ@zl?@X5%`B@\?:UYP_"Y3e{H~WA30=ͮ"㠉Kf?`^٧h|~Ix݉B=uU˳LkoCiW.j?nmSu̟x5\俖?0@>(`\л9R̙Akc6L_c&W_(ut` \-#v7YvY"ĀUVA$$`Yjأ$fYDBM$?Eai_zd_PSÓxe/j|f:/t1OLJ+dVt_>=Rzv# "k!v< |`6vs$ $@ 7ҾA`957³9º,@;-@xxL@fUl]bfj Xs> ~uS>><ANB!) ~A5[IjL&W&Go+8=t˜EC?j?i6]?ʔ_m?~7cqA?x %46̉̾KIqTY0ۛ-%|l1) X\l{Zui@ӄ?#P<=YD5^.!L_6d djs]#8pPCSh>x4}؇k&_זH:ϛ/h7⟊{jOCun'H{y8>肓|"u{?Oh lOX/  ȸ RҾijN x~^G871 =Np=J{vOz&[{M^vÿg)vᯉC;OKW}l{I9Vr [ ^!J{=%^s+Q}P:e&QFRʿvp#I?PU;twMatP."'@$@fJ:JF tx7`)0f,`N SS/!@ kJ{ŮjY(}NZ -8C/o@U?]DRJҟk _~__[|&$^Vl3?̵RxcV_onl9{iA:c4[OEwL }f*yT`U6@Jx{65jm 0-DQ`uB@xHH Āˡk=T*~YAߒHrD)b%Auf<<_nek~,iсΫ`br-^ۼ.b@r@+U. S>K@>@U>Lz ~fHbi'|)♷h6 MuPP7{FP?HCe??gxm]k54v ;N.Ʈ=Om}_I@XʗDJF@S6eʟ!=tOǚHxohlsLWĿMosktFW^}8/\Y_Mpx'0zcDK:Mf|K}M3@;2XJN I9l0P;Tp ȉaEM HǴRȗ ,I9kE[Bڷr ~uDA4(?d^DWc;fK}nGM罭:&F\gYk浫nG߷X-g/0<v?>[?`C/W5c֔QwgW//v[uLǺ=Dy?;?B?גACb;_^/ʺ9/@ 5 k~}VMk^%9MB@4K! Vp)Y>R] H}jJ@ꧭ ׇomo`oTy  {}@%=j:vHi!׍&PIkCB51-=~j/suצ/G/v%J?Xn b/0x"8OO |@ ,MKf@)&yjGBN N/xJXt"[" hejL&^.)E A oU"ڼbb@faO>"RKW_&+~COtd϶k7͵`GØ)#yc0x4:=EE tZ6A =`[&@ 0loYBۼ!7}Jl7$,QZ; OeJ~PhN<}mmOIK/盩 H3ID׬m/?oS,\9O_]k&߁?*FG1ȿCpc}hRG"ݚ%U6J𵒀0Au6@qDbY}(6 {+3^ Pm1`NN /fE` M@PzZ{OXi-_|3ŧ[!لk*4ʿ;lHX'DKa_x/\[kBڨxL_Pn>K9[b;anc@ՊkUז/֒@HKk6Ma"!@8ZxK 뢞fƒgI[;.'SA@DSϔC=A G8)q 'Okc9KߊkV~лvM?rvg_F=uK_*գR?\-QyߓOS!_>s4+#Ab"@qvG_;*pKI 쑁猀U#N ?~l+B@$Rt9^fA`s3KOH;YDF`- hYDEˈ\ͯ$k7g@Ddk9>JD?}ll^ĵ 2HՄyl?AyO _h?L{FKU_3VkٽW ?pg<}M ^BXgY@}Āp J4! =9<W{ŀ쑂/&$Y_xeO07"^N>[:; O! F.d_.@wCD}:[z:=s^gى9^ft&<{j JO})zlWcٽW ?pc9Rg6@[š 9z\º d  HRCx@>uY\uS-ooOʺo.4@| G=ľ&e?}_u[ѣbBYSR!XIi)O}r~oL,h|KO;K 30."@zMZIA -;2p_dFr^B򽹭 oUeXB-3*JL),bG:Y6kQ^R#Z 0 *uϐGJA8/ >$$_;6'EOh_;2GCa_ Qq"Q}z[^y~@WtOH\_P* 5`)5 ̖ךFap[ZdV%Ve=9g%(ʵJb@:)MYb(`e 5#RJ,cx2bĽtNHar>R嘋Cc j[ \Q~?Ok=~)jPM6Y/篈KW?=꟒~-Qr_cٽW|/AcD^6P@^wjfHڳn7b'|ĜeoGRQPPi3Y{0f4ח8p5[ޗ?TEac?q}zwACCX;DoIO mDlb6^,@\hGje91 DW&BɈt9)Vy@Sj .뻲>91`lcon* v״De乷D.%r/}4[{I_@ƝcU67ڟ#XCH._Nxx&.}Oس&Ϩs=7F.mwAC ,Xc?y u6R]yf6@p מ0'!vQ`Ih+]BOm}~2ރKWKR5d_3W!AõF -`}3bv"X al - p7 5v!odJެ@=AF X_*,EK9c Պ" ~X*@Y$0?Esd~51GC+s6}C#-> !jXHh/sE,O\'2x7yFPHg ?p0pN @ o31>%@^oz:N  J! ::pږJVϰYHl YaS"&6_oSjA2YZnC}k{|4 `ݐK=2>NUފc_O}+H$㭤?GKis4[敉bD=?C]aƣZdC?D`oPkq Dl5uגq#!ϑPU!@ܯH?XX* B@ -B@5U XHR"E R{@GA zɛ IDAT24-h=Tg]zz곎/CfO3렁?ZɳlU󞷔{ ⽊-I?ROg5BY=FN-[;~ | MFI@A`tݩ7@`SY܄w#dH!`lPNZO1_sp{_KnAXh=yCHֳֵLvAx$bA=wsMbo'3A9?_ ~b<ؔ5?ZKI] )϶X?[חq~1kQ]juGKAC8Xlzf5pr[_hj8_XB< ǘk%@t W`r d +Q@ֵ/E( %~B젙<>s"\%¿Z/&6~H_?eFn%{ghFٻVg3~ C v-{ؗ+Dqk9.& ^`P$ea͍B79V=Z@<>=` }r%~Kf~$2Cu[*e}kFN"(fr|(}u:՞9/ƕ(h TIk c |]d$ߩ &#tMMJsĿ)/g/yƯL b=AD9Dhݲ&65 H "(3@j@  MY0?c`/1bA@ ^ =C@H (k0`Z{i&g]?K xI!P b~./S#v嗾i|+H'=?jNgb'៩R#?eP?L"^Ùcx8ۇ?f{]q@l&p e[Z{KH Wx\M|%/Pj fD??畂$)0 JrQYU} Ǽ\Fs\ۼd? F Q~`vk7% 濲e:J%mZ_uF[m1 S `4~GI"t:)I༆Z8z s\zE櫲]"V*d? _GQ4a ZH]zrJu轛'{6Fsr<緎BS-?ܷD{rm5m{U&r1>!juMG rQ p g!zRVD?%ϥh3үzu {dFkEum!@_x:/?jד?iK)7iͪ6?_o"P:y^M?1߃{o$>2N @lVG"l/fi6!@- 5 VukYՑI{MELQ2e 9@@` d'ٌ/EL!#uM;}У}/[ d(?ԧ϶28H:C6_؂p=L|=u4ۚj\(v },{6М MMM'1B kJkP7@zs QPųhgO2PZ Q$hpP"\r5C*C%Ocz~m?)Z?Ŀ& ȿEQX?gKc5>#?0 0ID(%huU6 ץit;>5DgO}+Y+RiEA=K D{ 5oH' &"`6IAO_E ُ]?gR9֪'ѷ:C]S?pWq}$6wG׍G/ꟳ<7 ?0>T ,x E#x, wZo3|bB0}6+ o@X#AV|@Ⱦ% Z"nOQ禿h ђ1_, HI=5+ү|N!ꃏ짢J_#rhW ?0h6!& M<-m(+z<@ W<@Y jX) e=1̌0?Q#lbSI{7{vDP xM@[u}D1=H"1!G:z>#͟Lc?pWs?auY篦b}E>W (B_T/@?,hj(繄0 9JEQV@)Bkfufvl}Ҁ0a-l@>ç}`-c?'-bbE!O򃭊C1zF샟qAiM' `DOk?fٓroV{i3~g`$|j~-@", T5 ]0!K0_%0 \%pI xDP- Z.5rB+/ `#gphRF!iNYYY5}0~:O#h%MFu3}HMmXclxJVw"?ԣEa00D/ 4@[}Jhg**1 '-k`g $פXosIP"G'*IԖ B#)^[JS?/cV@+""+x̎'jt?ɥRZ?8R5?}^~+hxuCL|+M6[/Z+񟯏rX 0wDxB@ͽmp8Lf(ȹ^boا QN4Eٮ |Op CŞ9j{>I|nNJOJØ%"AC'c5d?A-/-_+/k[_K&5 {]b /hLD* yO י;1B< eOP^]bT&)t[Dpg A/3E "B_gB#=|̧~P` %Ha}r@3{Xevk!ʫ?|/G{w! k# 7ރV F ~B;+@jbF n~^AYP/ |j-8`%~d@m(U4?֐O"}8/|eO|M}Ꮾg_7(?_lc?~?vgw?`q 4aPsT <^6@z/@s@<1ޮrV~K5JeT@};lNAn_Ϝ GX@f?շ$ ֻN{Lylv>f %@Aմ/Y#C6-oCw}P+kEk7-g/\y~` CM3Xc[I<-  rO'( Y1Br7w NQ ]_؊+'EqCY_U. g bb/|e^l_t?7(\Pӟvdkԧ+kvC_r]<֏tֱ+>36b lpCE(,T{$Д3~=rP {v@ҽmP~6  XJjI:g#v\`;O아_(|~>'?]Qf Bv?6onKc5>7E/  10#>`ԖAz!sB@ pHV(%R E@kz(5^곤 Q!@F((Y aA'? |؃I< G쯞C!ֵBӴ`DssM_hd` !"zJ+~6\y~)]0Dث$WulevbU7W rVIĀt!06E{1ٴgJD#YNro%l4vT~lʵw~pG{Srd_UMޚۢ@aý[쥱?00aq2Ι jkytX ОJĵZNA`u%KM<@xŖf |gQ^;WeBG_2џ2Oޫ봎ք_~Z!ڃC>!j7~) Х&[m[j|n``<p2!`H~'3 L 71 >9]mH[!+k<m(Kx?kF80yrlM/$`ɐ{|@_F }C}2Bjm!А/9~ZG`Ss? "SO;b]1N'$T;`{JrZ-H!\ _(ڻJPY` RB3~֌gۭk<_ Os% t&rN8Oڴ~y` ׶gM4Ȧ4KAa:Vֱg10p7. K~5d߲w>1 na d ײJ`ĘT@;U@W_@zd0>n9 PUëF+JoUD^MI=& \l [H}_עN|)&ῩX[K9C^k۷ ?0 0 u"~FUu [SwG1rFQ WE%c@+BA@pW4z-ŵEtbMQ"b;5/RZIjMMڞ~'ZWiOɾe ?0p 00AE_XO۹ړ<<%m =}{r}t-;z2j p $>|_[~Qc>D2}pGo(6Ɗ5LhdBcp}v/{}n`p-@G0!FO@SV@+@Ք | i91"׿k) @0Pln1 c\˛b̸%((Úk~949*jݛ/HRץ~;È|g}ܰ'A2@  `; B^ ^O1@W_^! eSP焬0yq@]#{uy#w ܸFevTLޫh?'ۼ/}&gj>~1Ǖ/C_ߵ~8ߵ_ξe= EgƼFaD &)x@]V@$Y,D )~e& hc*g [ֈy+<G)Fʣq'5D̨>ԓe9?O[Jp_ziZ}?ww3:]`*<~^bv)+`uTdH@YHQ/e "8FA ,R_"˚-Qb/i̡<''X^[(Q/ZdOi_o+ᯮjүu)4[;^wŞQ`C~gS `WH !z{Td–=ZPI ZIDAT\ @2e O{!Zb-_$XȻѯ<$D"O/tZ#P򃫑'roi=ҘgsQe'Ab`>f6@n$t Ȋ;378|UȊǬlersłgDkҝ{p|XxWpEykW-?SH?ԧ/ik{own)o![IĿ8%00ЈCDB@`g dK`_1 JH\s=O@2\e,^"ϰ@7'@ T"`KtP=E5o>쯞+#~(CSj?8I?4CtJw%-vx{Ga 8!BD^GB@zVn*&1 P'1K ωP2T{X֮Yh|d7mVDD_7~z_~hOz_~Fh^%[m9{i3^wň b`\]" >=&dQP'뻉ڭ P3FL_Xbƀ/m_ڧϗw+$F[Xg ƫŀ$Dlz_d~#2uG=W귩_  t:a O!hC=`zb៌w&{H6@B4@o b@*z42; P%>oK0ՖH˯H۷ Ά,OQ;ч djCj?=!~'_84VSwň <~6@BTg@{y@Kؖ^oyg @V;[2@ smfl?3^߲'@MúzMPWa;OOsi!??;!p!u`!+pУ<M,N@2^%Q\˶EV/q{H>4}D!&٦}^nŸi{혾TJz#'o CQ6Bu{KM V C%;^Fa@[;<6X HIC>/iL؃NÚCч* 4~ȧMrlOҿϑ~ ~P߿-g2VSwÈ { ғgrB<Vi$,x=O#92/a 2$\DȾ3c5$?>_VwXO  |8 ``$QB"B@bӄ8iPrr/(s~ZG@3)X`g0΂"OQ,rkMC3_CC}t_yV¯k-?%Uu9n[m--c5>-W|0? ?0p<ևò`Ͷ,;@T|U.;ߕI)S ax. r,H BBw8+D /C!P݇m?ܷ~p#i+⟒~ثV[}XOGQb'aB1e^{ =%{eab z3phrr8"#Cܼ/Cʩ#K?pl-cC81* Pl%_''@UA_[Vm%@(72^*#gFFm<} H~oKd>PLlQ~x?5V{ő8900prLG-epP#)B_fˈOv`fh<T iԋ3yI~K)`i\"+.ztlr}~G=^N_81N!b``¡01+_S* Җ%*J( n'(z25!$`K[-uۛɢ-Ҙg{ÑF`0?Y- N͓T PW6 mL @[j BybiWs*@؃*Elه|ĿC[u\l-foW_ci/yƽ>[G@CxP !ye5%mU"(6Z#( @ ,i(k$#@k'mW! "/ {$~j)CKCR5[owo{}Z|o_x0<S8QBeO X*l)a4  {. 'DM?( Yf C їvod_}7K-[>gI-{ J?&?0N0wóF^> b4 j# t19^_`Aﲁt^|Cq-u?">E͕zDl(?ԓ~hLi2g9/  ``anB@n\bgf(~F@W$DF!Oq/ύm%p"I?lo5kbx6>./ ( H{l2\ P' gCp))|tCg ? awN{ix_#``#߇(@S~g Hͥ9Sv 5P/ @8`X~9@Js<֭EyϺڜZH>D!wGH^c5>5~WA>00ppN!{tbaߜ`#+ :[lal4El@#bˑ|CX Tb6̈́*$@3k | `` 5{ DS}2(:P/,{;Dhr<ȭAϐZ@S"&'P&Їg{~hN~7 ?00p001*rc}+K' X%q|,`+_=CÜ/!2ɇmDɾ݇:OE?dHקƯAP(쀌JU>,䄁\@G$X|+ K8Лj| ؃ÍăNO 7kKDOǸקƯ;e! y| v}h@i,C[Pe ( 9"/>GGSɇ6i`X-ᇪZ~hma;?\ t݄#k朡B?̘&>@0=5BAT8@JSȼا%r#%CGOv{G:AN! 8,zp^>Gɘ'; e <r_vo׮s/۰{ȼC!R#F_7А/o:Oo qI0,4#V@iu?; И%Q(e xۂK2Q PC%J=w6md~89ۻm 5; y^s iJOL @Jb"D[|׸93?wd"ylkؿ3hW) u/'@ =Rb ))u`q>W]쀟})g{m{~@w]D. *ֺ(bvSMQpF-&_)In_헌{y?t o|%cG*1 .WgVwa4_{;?ckim%?"@ /JƎ. |kHL  /뗎]e\ؖ9-ͼ/Li(.J,^}q) :wb怟 %cY:e?9YB0٧ (?(k4HJJ(8{yS6'!h!_'pb-+@_0v72 (xmHi%;'&vb_;b7 .M-ʀy{,@ gVLA@5*z)Fo:/ҦҮe@͜wG|dZoC>:z+jig5(09"u=hg*1ȴx-j'=5j5#q4 _R藸 $.BzRYͷ^'&>םUD:r ?_"m4sgкF2unuFU#wvg׳?,KY|W# ^/>ʬ_٣w.$e_:^A5G̷^Y~^#I +s(cmG:%؂ 0ky ρcy>Zθ8%7 H>?V5=36^Z7O;n?MzܕR=֌mQ`V.pa /z{]/#Z-"pb?=y;JX;zs]B?"ټ bny~\:#1^(%B?E pdB`7Ƭ9'|p\҈gڣG_?WV10j}P-E V)FOQ;.K~0`} (}}DY%K~耋wsDzw :vQa)@24a6= /+,  T y($,og7ގ9'Z0/@(8(s(G1'lgH>N甹@y?S>N_boXIR 7_GU  ;w)py2&GH;G~ lB@V \|:F¾Dp YHp}X'u`9\–+s1 TX:fՠ`ie uw `B~~llB8|iDQlW]%AW^''/^ eW>5ܟ;\<; d.'{}@% @3JrY` ,JwQ)(ӱ["E10(!Q`8B> 8 r>7rG~rKl`S|($xM8ET☷rIENDB`blockattack-game-2.5.0/Game/data/textures/ball_blue.png000077500000000000000000000004111347224572500230150ustar00rootroot00000000000000PNG  IHDRasBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<IDAT8ӡ@w@4 A@tB T JO4\`"2z!,^%z4(0m5g.'l+[>>JmFO+鄟G":s12FԸֹ7^IENDB`blockattack-game-2.5.0/Game/data/textures/ball_gray.png000077500000000000000000000004701347224572500230350ustar00rootroot00000000000000PNG  IHDRasBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<IDAT8 @ D(XGzJHa|H!%!#Yڳ,ni "KH 0'Kz6r?9m([(W-p^i "b{``f䫇8f`lIfH*Jf-«/v ןX:8|?ǚIENDB`blockattack-game-2.5.0/Game/data/textures/ball_green.png000077500000000000000000000004211347224572500231670ustar00rootroot00000000000000PNG  IHDRasBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<IDAT8@07FԠљ5(!> y/r9uuj:V>={tB3E4 ГH j6H=A-Bzԭ 鑅7(?, kc`X20#H6IENDB`blockattack-game-2.5.0/Game/data/textures/ball_purple.png000077500000000000000000000005501347224572500234010ustar00rootroot00000000000000PNG  IHDRasBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<IDAT81JQoٸl\ CEvBp Y4iFFVl2 _dQ2Sy=puMUai G[.k+ ǸA^p? >nP=B*/Zs!z<%&RfrP`Tl9p^9Ǵ' Q0â,  { IG;f+[ ^u;iӜ,-FT#IENDB`blockattack-game-2.5.0/Game/data/textures/ball_red.png000077500000000000000000000005071347224572500226460ustar00rootroot00000000000000PNG  IHDRasBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<IDAT8 0EݱHjPP%>KPVpC$,w@Hɓw&$ H:ܼ2c8 qb1_Äq!X=("̨I̵" 5%f R7 4ȗ⁋ٮT?X#/zY(WM>^!QAIENDB`blockattack-game-2.5.0/Game/data/textures/ball_turkish.png000077500000000000000000000006521347224572500235660ustar00rootroot00000000000000PNG  IHDRasBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<'IDAT8Mn0D]aҢd"ro8,U,Y$ *doIY X#m3ت`#)ު-v,1&XCL?G`g1%@nNwf i[EVIENDB`blockattack-game-2.5.0/Game/data/textures/ball_yellow.png000077500000000000000000000005721347224572500234110ustar00rootroot00000000000000PNG  IHDRasBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<IDAT8jBAE 6iRj io$MZ`*V~ͼq-\e]&/\sg:I8.'P<Ge-QR-L,M(`嚇&H21l$`0/ؘ(R38 p&ނ=LoG1}>6oQc\"-Gϗ\< <6$,'́ngtk-@wtY@Zxs:kT]s`4{ncێx ZK7ϵYM~~IENDB`blockattack-game-2.5.0/Game/data/textures/black_line.png000077500000000000000000000002071347224572500231620ustar00rootroot00000000000000PNG  IHDR,mvtIME1Q0b pHYsnu>gAMA aIDATxc``Q0 F2 MIENDB`blockattack-game-2.5.0/Game/data/textures/blue.png000077500000000000000000000011211347224572500220220ustar00rootroot00000000000000PNG  IHDR22?sBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<IDATh횿J@?SJ"t1ZG3tVg/X-T!h9,K4z-!wq-p&ǽiwVfhQoBITz؁rp3 !߇7PٻZp6aJbG08Od|dMHzɕhg.REL]Hev [)i3nJ-.IJxЏ!ڏ4W .`W@ˁmHSvNSiA5EZ 61 +bV4iXӰ"aELÊ1 +b"PS_ 5E1D軦&"TgNP}!i| f5Rᬡ$,0ƌ2"G*Q2?sG*/Q>8#xMp$xJPצɑh$l5Qr~iZvIENDB`blockattack-game-2.5.0/Game/data/textures/board_back_back.png000077500000000000000000000267371347224572500241460ustar00rootroot00000000000000PNG  IHDRX>sRGBbKGD pHYs B(xtIMEV# IDATx_]yufr$jFIsE E'?A :UM/*V}e/,z"6]j44EሢH‡4sfwY0̫>7̜R3+ y7R.⽔ҏKApzYJ)J)=I"__c.b7Op~Rg["|c&g6K+ig9ttΩig~ԿgyGҍn{ORJ_3ql^Կ/|ߤ+^}>^.]ǿWRJ)}r'gy6KWҕ+˻/}t{ORJ>yVp}J髫^^}rf^dgy#ۘޫ;K/}c[nJi{/M2 3|Iww+m7̥O_f'7ygy//屭~gv(/ 3ϼmf?Zm8ٗÇ^gy0G齕 n}/M/ 3ϼ wF7W?;&I7yg^t%gCpkn0< w;Sp(3<.fG no0<̛~v\/ 3ϼi n0<̛nv\/ 3ϼi zQgyM0Op; ygN(3<.pvEaywqzQgy]<;Mu\/ 3ϼg/Eay7<4^gy܎If7ygy+ϸI2my7<\/ 3ϼ n'yQgy]<$(3<.pvܯ|گG-nnyәgy晗5Op; ^Mgy<;Mu\/ 3ϼg/Eay7<4^gy܎z٦<3oyyp(3<'Eay7<$[^gy8Op; f0<̻yyg܎Eaywq4Yp(3<.f; ygzQgyM;Opw/杔f)]]vWn,;_ygDvozx6J碌7OwWӶ PipE@t7HM"@"?87^D.oyMrx'l@U \rR~sGm~y A/w='՛$;ykh0_zJ#. n]஽I ]\]@M"@"?87^D.趮wPr#@c宧v w']Oѥ]EpE@t: &~&koDס++IDhQ'7&]5vM2ϼIr{gˀ֢#FQ;M,+;: Ae*@c宧tzd}g6e֢}܎|;atD]k2஽I ]\]@ &[4c:/@K8t^t; ni*{şamZ/w=#_GOc>x͈.}w.++D1#6]{8t &\]@M"@"?87^D.oyM>[/w1ijg]a*{vP/w='՛$;.Cv ]ۖD׏wMbPȤ. Ͽ]5ߊnyZ2ơapE@t[WNS;,k07bt:zInFt+cD@t\]- ο ڛġ1u. "oZnIDhM'wy3o^2QNS;ʎvPٳ Xt)=$Yߙ 8tf:?#N]EpE@tڶ &~&ko{DG&WtDWp'}>VtWp?W~=w@-׿uzǮR?{?) w<-Fדn>RVJ?W^ysV\pE@t|J鿤$7RJNdtZn-=n]͊t>{Kŭtr_ʛ?ؼ/|;OO}RJ򕭵s,} T+_v/z=57]\^}1}󯦓NѽORJ Mp;86ftn'w㏊nJ)}r|&@LW_N=]|p#.-W$˛7)ݸAᣲ/^ .P-Qhl|(}p?+"Fh nw#Ze>|;]VpkgLm1OppδEϻti#ݛw{.YֿԼy.muV \Qk^ .RpEy7 .ZpEyUw>6^ Hmz^5h \Q+{^Uh \,wQ/ڑO$DL^4j#H5ooM:@;ZU m=tZ+j+6c]4{)WWtpǸh \Qg^h \Qc^]~ѳZ ĥ#dީ nJ1 .jpE!ϫ*Mp++nTqΖU8wP9>{5HV"/>ox Tu/z=5oؼbO vY?_켢Kh%V׼Íh \Qg^G^4Z 1~vKp;8ɶSϫ&QMpV+jeϫ*Mp++nQ/ڑO$W^ʻiԋ&@wɢyxTh#U5ӂxZ}>oj5p|Z=8~Z1.Y{wp4f2y7Ch5U܈&@rT*h ngK*W^;=tn$Qp^d7x,j^L:@;ZU=-hj 7~Z]?wj3zZžJpGc!NWMpS94XpV;(|^Uh \,w^q;Mer&@wDyCF yxAy/\'3y{ZX_?Ppϲ9$b}<^@+nE\Z=8> .ZpEyUw>[ Hmz^5h \Q+{^Uh \,w^q;Mooz]֎|"YܼRL^4j#H5 zFDyŞ4{WW|cPspEyş;{WWcBpEyUwEbCh%1 yΫ&),@ O>F\4ZH;vP9E\v;[VRAhw#Z<  .Pֿ֙Լa=-hCi ?gY>of/eZ]?7 .RpEyU@yh-VǼ*Ew-Z h$6N=F]4Z =F\4ZH;Fh .kG>,n^q{)nQ/ޑO$WSP|VռbO =tZ+j+xC9V׼=tڃ+j̫Ch!VǼ*gјGȼSUܔb \C'WUp#.-W$˝WNSY; .P-Qp^q{)gr|jDyE^}  w{L_zjްyŞ4֡4ܳyE7E2JpEyş}h)Vϼ*h \Qc^]ϻ-wp4mWMp.WʞWUp#.-W$˝WNS[^4j#H7w7ӨMpe'E+CrG>Qj^M:@}<\Qk^:@zUqX\Qc^]~ѳZ ĥ#dީ nJ1 .jpE!ϫ*Mp++nTqΖU8wP9>{5HV"/>ox Tu/z=5oؼbO vY?_켢Kh%V׼Íh \Qg^G^4Z 1~vKp;8ɶSϫ&QMpV+jeϫ*Mp++nQ/ڑO$W^ʻiԋ&@wɢyxTh#U5ӂxZ}>oj5p|Z=8~Z1.Y{wp4f2y7Ch5U܈&@rT*h ngK*.m{fr|jDy>N.+Tr<~~?noi^O˟wvGwɁ_?Ppϲ9$b=|(EztP|c\4{)WH7ywp/-Wʞww=W{G^4Z H7oN?jҿ-6n .bpG#ٶ1zރ';'ҍOҝOz\*&ۙ_M)tts/>='ߺnhۼ?SJRJ5L;i{jMwo$}F7g]O9ORJ1'zQJ){ι3 n{j2)RQJ鿽~E7&]5)wŇ{k`\pEΦ_+~ȿ8D*𗦢/@эERv1 ݛ ]?bܵ7ɡDPtWtDWpy.ТOt;nM"@k?4˛dyϖE7p˝GvY|WvtʞTƢ;p]O w&,sZnapLj." [@tm[]?bܵ7Bb#++>VtD+wCEh΋n]m]Q;Me>@宧v w']Oѥ]EpE@t: &~&koDס++IDhQ'7&]5vM2ϼIr{gˀ֢#FQ;M,+;: Ae*@c宧tzd}g6e֢}܎|;atD]k2஽I ]\]@ &[4c:/@K8t^t; ni*{şamZ/w=#_GOc>x͈.}w.++D1#6]{8t &\]@M"@"?87^D.oyM>[/w1ijg]a*{vP/w='՛$;.Cv ]ۖD׏wMbPȤ. Ͽ]5ߊnyZ2ơapE@t[WNS;,k07bt:zInFt+cD@t\]- ο ڛġ1u. "oZnIDhM'wy3o^2QNS;ʎvPٳ Xt)=$Yߙ 8tf:?#N]EpE@tڶ &~&ko{DG&WtDWp'}>Vt; ΋.В1+ۺvAe}Xۇ;d]OOt3K_#. nu-@LtMp$CWtDWp'y.ТOt;nM"@k?4˛dyϖE7p˝GvY|WvtʞTƢ;p]O w&lE7w.++D׶e1#6]{+ &>2) ;oEhMip8t^tqv\T*??> !_zjGp|] ]WtDWp obGl&q<@Lt:/ ;țDtEqpoZn]$̛$p" SIDAT} h-_t~nG>0. nѵm@LtMp$ L N [Z}v1]%c:/WtDuE4Os-Fwڑ'1tVtD+wCEh΋n]m]Q;Me>@宧v w']Oѥ]EpE@t: &~&koDס++IDhQ'7&]5vM2ϼIr{gˀ֢#FQ;M,+;: Ae*@c宧tzd}g6e֢}܎|;atD]k2஽I ]\]@ &[4c:/@K8t^t; ni*{şamZ/w=#_GOc>x͈.}w.++D1#6]{8t &\]@M"@"?87^D.oyM>[/w1ijg]a*{vP/w='՛$;.Cv ]ۖD׏wMbPȤ. Ͽ]5ߊnyZ2ơapE@t[WNS;,k07bt:zInFt+cD@t\]- ο ڛġ1u. "oZnIDhM'wy3o^2QNS;ʎvPٳ Xt)=$Yߙ 8tf:?#N]EpE@tڶ &~&ko{DG&WtDWp'}>Vt; ΋.В1+ۺvAe}Xۇ;d]OOt3K_#. nu-@LtMp$CWtDWp'y.ТOt;nM"@k?4˛dyϖE7p˝GvY|WvtʞTƢ;p]O w&lE7w.++D׶e1#6]{+ &>2) ;oEhMip8t^tqv\T*??> !_zjGp|] ]WtDWp obGl&q<@Lt:/ ;țDtEqpoZn]$̛$} h-_t~nG>0. nѵm@LtMp$ L N [Z}v1]%c:/WtDuE4Os-Fwڑ'1t}S>3ϼ ]r1͋/][WRk?gy>_OKy ^gyNEay7<87ѓ*3<3Op׋<3" zQgyM0Op; ygN(3<.pvEaywqzQgy]ܼܞEayw1~-^gyNEay7<8˛d|әgy'83<3Op׋<3oy?H?/ygqzO^gy0vJ)}w^Nۻ/x|yg^=z/Ӄ>yVp(ՔRp١gy{N÷Oyl+,G)ÇwzQgyM8ݓ>yVpoeJ{[(3y7_qJORJ;ѽܥϧ /23ϼy|0ݾsKBJym}=-dD$T 6bef/QG.L:(Z J]иf3SK{'Vgy@qNOM+ZW}I3l)_U `$1M/4io}YhX3~[X pHYsnu>zTXtauthorx /QNKI-%/ AIDATx[ig~fƷIH*mPU#ZZAG~ A P%UʡJ-mGP( dMb].k{7zb\~yod9 &I_U>bp&pb<ɸ.r8E  AγVF8 8"'$~ۅP::_ U엾/e]i iV!/wVc^a"Y>! 9(g[P+.xCJB4vvhϯ# GC)$9 Jb- -H'%ec%\Rry/t=*ϊr`p4o. ~ELJЍN$;AR@%%ʱ5>$m66_BO"O=*{1uwta"=,PJ=nL u>.J8pJ΋ѡDK:O9Y]Q}߲6wKos/x)] 5q!F(Y ~#hEJY!J_Sl(p S%p0f)'tU5!4q ` S |6B9No@V-꿡;%CE:> ?wn%PN"!D=^V'ozc=K(;Mm-7AMS%S"oBqQ-~Un -"fj8¶pJ5ᜯ9?k 4kzgmh:qD| Z$u߿ۄABۭ&„ $*1f1e&XIb{ZR ^IPSQ+H|Pז.Rp+E+RW] ť!˲p*@@=MV5'FG Gޅ% ,~zB&E<G$A"ajV~CxV͖駍9.AOOLYCAƑkW2U<[}GޤbppׯúQ ZEFBgG;|>/xCv"#M6Yo( ہpB_(2@zmyjqm7ى"wq!E.C"D:mIBD|pTCCR|>HAŢ)Q"Nà <|^Nj`Ob"@nKNA&"CQ 1_62ީ0:2a5J\N'd 3*s%uRAݵ Zة"%UɛA| t&$EGIT22$|Nva``kV녓1A{S2ZEjyUx}tpXG5vUYB>_H$/ J!}ck₾~5"T١8EȟEr,ՋH4Z 򸭚~ߪoAծY|zUr-Ņ`gN'(aU7x!̵$Jjʒ{x?6;$&'QtL ݗ BQ6r*Eq"r 2G̨`.L<ޮudwhjrlVKŒJS|΄([ăT8:78fcPs*ɰєy%k;s9Mȱ5QVntќfk"s0֥GYr?+͞emt&˵kD*J]${H%Y ۄȔC62jۄQ=mcܨAۀm6xc6e9l0x ;8 ,r9*h2٠gAMA aIDATxKkQ3IjVVl X^\K. "T(Pp)Uw.?AF$;6If7cНpg_ܙ?H3(tN6ANc{Wr*s֊+ uqNA˘H =,o!q]ɮd>fWb#.,M߳cұbwSy{BS5nQ1 6s,FX٨al2&⃸ݩ\ޡ# Õϳa.9aB#[+Ԇϝ%1) Y` _rf/nYܪvjЌ\}VOYt>N^pVn|VH9)! dQ2 BFA(! d|fmK9;2F>֍nnaXs>y lUjIcpP3]#BFA(! dQ2 BFA(! dQ2 BFA(! dQ2 BFA(! dQ2 BFA(! dQ2 BեƏۉKGٚ Aa?vsyq{i PvXfv sB>n4K/W__gAMA a IDATxǿ3;wpP@OB0J5R !?hK9@J&ZBj[ ((܁?{;79cg2_27nyߟg|˗/_tF(*ѓ }Y:.ҡt1ߪ<FPSA=0H/2Fˡu- /8o#%'^(#FƯʋs*i2ȊtBVM8!*&{~ btFpj~9u*,#RsMGey.y_ FV3?|&5OeIv+Av\Ts^TaêVS;Bʋm*e/Q΢} jupk*zwYĊN^]vf^ClŞj e|YN]6 r>@<_C船nsny%;FM}BSbF }iCZj|ƇR#|ytOAӷ=y q8zŹdBiƙ@ޣ5%n%kРb\Dp0 ̆ @qY|h{zF|c/yl:f'5|7%.>L%kiu^lP #yA4ӥwMlodlrc&r/F a'FSuaբ1hF{@P#ښ2rQb[8 qt*fY-y IGEEya}h9Y%7sod!iZ@|.0g(jz1cBzPՅT؍ܖ.EN,ACDZ&dM iYS3:-t/CR3@~6JY sZevTgUT-{a//xM;M;X)@@t5׊R=<[KPhR#|`ܴc'H'(s 5" R=@RLr BjOaZ$It -@6!7\QlxlaQ&f%oR] iy{Rd e箬7G ,􁔳9^ϑ 9r>A-%>ӑPIOV)u El=N]V)m e짘:^ϡOy3vL,rWc4e5^ҍ!Q$(+d8]z͎JB:f2 0Yݮ酒1!Ҹƭcf %Y{ Tw'{:UdX9ux8&W.n Hg\c!*P,j/w+qd,$, 1Z~GSCli聐z AJq!KHO7\$'&e0Tk W̩HarրtE-үOW:UMQ ס%A,kqPNVSt1Ąg _gG9J ^52P&(0[Taa/p\v$hQgvm{% bME>}|kZG1AkCZ/gbrb2r`'rk$u‚0& Z8"TE '4rim!AہW#OtId`;7{Bwè-b?Б2æ%n'׍XJ[Qe1 4,wx!0By^3z`|Õn ׀=Q*;uqܱM?.ORIivvfNʏVŶMkn&/fQLc/S' İ]/85kV> K,pUcu*$pX"dY*V([t a!{,*lechnmE\U,إptsN` fVVQ,kBw p6 bJJA4 _M!薁[eu`jlV:`n|Y:ԽRH )4o#~> g9]>1@<&| cxL>s]ӷ޼9fybuuFYę/_|˗/_6ˮ lIENDB`blockattack-game-2.5.0/Game/data/textures/counter_3.png000077500000000000000000000067651347224572500230170ustar00rootroot00000000000000PNG  IHDRddpT*tEXtCreation Times 6 mar 2005 10:10:05 +0100p=tIME qs pHYsnu>gAMA a NIDATx] zvvfg{ G,E#QA>RcXe$J $F2jDI@( J|$"<${Lﹽr;3G53;7=w7 @}|?@GTtIA'}OfZUv΁)A CXJP{eH=$2WН O MPO_ T)1"aM<xaQsIB"ߏ*!i]0` R03R%8= '4;v *9*MxU=Dt/_ !DH@ga%0ވa!9$T4D&hf?!bx; M1pGJ?7VeͽNJF÷˩.<@aWY QwoCi(E_DĄ& $SM@Y6)!@H:  Dʓn&-DQ"%¯$)V!Heca,Nw䌀\!ʔLFn$N(PqI~ N 5`Ӷ z *YQ.c*H$ GY!@Wc 鎿kd)ԫ4`8*_۲M;BIXma0sʳT`RkG'{vxQ}eyƁelk*E~ )RUXa_K % $d =$5{N3D;H2VPj$Q'wX缙 >!{ƟF&% Wa۪/关AR[xtj\ ]'}.QDŽN;sIk^B6PCޙ_W'$| [hb+rM0MRKn$!5u248[c.깯؜"тu B>3`ɘqCB~CN d Ou+ɂ!$$0[(to;(0cf0I}s "2#n%[0@5`}}H6ʹ=#(U"! 4m2f햪jE!e~v!Zj$2Ts;"!Oklv}ht[%W)nB@H{ ,T7RSx=B-mtX$qDb~MiqdEJ8DNW=ֹ2E_+ED@_}\rq@BZ. ӰQ68G[P{)5}1\YvpusٗiI q+ːd1*PYAjKI(: 2t?kCM^0ڸ|#.! $[A} PfOȍdBr94R{?ù&WXZI6*cN t]C%G &UH_!/}K\3d]+)#cNq8#S3(S enb&!  S Hʎ{RH95y/±|IM:!fٗZ9 XɶT4j&(5T0>%0^pi-ϼ6z{FCb=ĉH0Y'Z) Td1" O$ۥn4l$P P{ Zv񝄶}:BzmŁDPϥBD#PAO#D*Kq6Gk#ӭKDЯHYYws:rfIRt^%E(mG9l{7Яhʵ@Aq[[Tthq,ˉ~y %$e_^:<ě5yI$oZ|SNX  @ @٦zAIENDB`blockattack-game-2.5.0/Game/data/textures/crossover.png000077500000000000000000000044231347224572500231300ustar00rootroot00000000000000PNG  IHDR22?+tEXtCreation Timeti 10 maj 2005 21:17:12 +0100 QtIME *"A pHYsnu>gAMA akIDATx{lUnB-R| BD[ц(QA1>Ӡ ZyDԈbcA "TW#`4AQm׾n}u3sn]mls3wf=w/lڇ:/0G@c - t]]'j? 1 }j_e^N egj1@-k@Ǚ3*O(Yj{6 l&,=0KP~0Aiϵx1_=|8N0FF3RK?v  %Z0h/ <x'NH;*'#Q=prΛz a^ }ߒh9wn).ߑ#CEzvڣ0㏃j j@P=ƙ3g^ B& {³c,FșHv[5+ ]d39?%]zRYӬYLx &h_zJoo7=߮]Jm)NKA7/AHY \}ZVP>Zk2TafjjiS}R|5i8WϞѣ Mfi=5\.ne_뮃.}#,'CP9WN55>*454@C`0P{dy Ʒ?vks$za>a x++fHu#4JqDSi8.lBns ?tH)cưg>`ө&Xop3d20.[[8b Kk2Y~eoiiHޢX)Å =g6f-.VY֭/ȟ !Ӊ%7̩Z3룏ve;M}ٌ]e-YCH`3o䰨MRouM hr_q YRb>x0/s`:Uah~%0i ]|OlH"Q G?x*+di|, ?nA1N;Ի^lxwiB-/)67_8Am1'>{p?ATwO>.logM=+O74~/hR4ijy3s2dPRA"}F*+clgJOgis2f,`webS$Sb:UtM`8PFʂwasZ7m{JC7lu6Ą!fѲz5ؒ VhCvE{:U bu ,k`y(?XJJol2-=J &Wd2|x JQ+VCBB}wέg?O \)a\j2AKNi%Mu{3BgZ( IP\'U (M,Z<7% {_HUWZh+%-(CQ A<uYVz\O_J3GyD+ZoTFq UO,8Yh^cyy8yRBF2@zj;nOw@ZR*WZ}=P']y%=pYƍ)/=?g?iRTrcIy9i ;ƴ,E0jT+qUJ@W2C:~Gf^/ITNJ~UWZ'HZ*M$G0hb0}T֖K5ZtF:m6 qBRl~O=TU*fpt.|6b!@F`P_ #z]ݑuA*ƒQ[X \˖-/M1!"Y  \l{)J[&n~ - =fUioBVA9**DDhZTIENDB`blockattack-game-2.5.0/Game/data/textures/cursor.png000066400000000000000000000012431347224572500224120ustar00rootroot00000000000000PNG  IHDR:ҬdsRGB7MS pHYsnu>zTXtauthorx /QNKI-%/ A!IDATxan0`x`7;xӛxj AP}IcAkAV+`6A~ο_REn>nG|imǦK> L ?w^dvH;R֯Vƹ+IL}K*+yZwM=W%}}GJ+ah+at~oZ-"5rzVL%R^S-]%XARsN(a!v)#XlE'̄wnnZ۱irh&,`.5>ݧIENDB`blockattack-game-2.5.0/Game/data/textures/explosion0.png000077500000000000000000000042111347224572500231760ustar00rootroot00000000000000PNG  IHDR@@iqsRGBbKGD pHYs  tIMEJ4 IDATxiT{= ,, ƕHSD )R1V*+Ie!Ib 2Ġ(bEeda^_͇`U:3޽9{p\.r\.r㼞rWJظ-ĘS]`50"O;x,XiU^mSg%vuɶmɶO3#ƤH#"1j78hԐ/X?Т;+TTYuD3W*2R؞E]_XX[RX$SC8ӛF$oWVy%苟++ڬlɗ!ۭ__^r7ȔQ/JS̒٦R~zsf١Xcé,žshɘ-R1$҂#%(ϓxbf9fl=G>SQöRhAg s'j\K g8x/FuбL81tsؒЩ[xYŨo鲣G.zA7o\(7gm7-#eiF6/a`ǚxB?P08Đ*C#~ _HC%Lvڠi!ͳqv]cnw?kۓat)%10H칽ߞWGshXbʸC^.gadHay5m."VU ; \5 'a^@CY8`!V4!Xk GrhM>%ޚ7P" r΃mhŠia8"{ ݀AI"%tšr l -; .%~>-?8q&쿜4 Rlj!tvbuJv}0Hʀ5W6Nh٘#ES>x=r|~JߛW0:t &(\}fmztr`އg3<G zeoGnc`:81ǐaH9SksHa=Y%KhqηT?gH KP0\Lp߸UeE茤@X`QgAy@-R➥54LȳgyhDT$1=g#G613iәž]}'TiÖ `0aA9Szɕؿe )4O喚be@–{)冎Dk IS [ΚU9 9a͖xvUJD!)efv,݅uy4寷 `@t0&<9+%5%Hy~O/)0`'$I! d rT%!]])J]!1 1`mK>eٖuK#iA;奨;vZUu]]k`$&1ILbW|0߭HJi?ٻ@0Jc1@ \qKBU:Qb\c*r!PJ"@LzQ*5rJMB!YY(e+yP寰BH)m)eM/O} ώ* ( ZST06+*Uz9PG)6Xvĥ% B|RBQ" ^<0!$H)]Bip]D{xzCa-a<ӎM5)Y5)I,c})+ͮ?Qt##% j#3@:½/ߒ@B!$FѤ9BH߃97SnHGVٚ0U)lM[u`տ7jkWfBڕQX͍UA5b4u8Bz 5N)&Rv/P>@J]F[ K E[+|ꐺ:Q83ų -%ؕwL~Ø-V VXo]SǏ{s16We>}fD3i!Ĥ&!D ;lw;j~Pvm,[5-QDP5"YĹqR .T)mYa *l i^7 5_Uw΢;;y9q}C@@րUyW !~BeJR7))еc{4 Rt I0pt0δƠCs9Lp!9 u>Uƺg ΍kWJ9" !WQ+B@Ky`R:%2B#GB6ysLZs@Q\ paJPŋGؒ4cK|yF 7UJ=' %5'[?98fR &&11zb-UvDڠޖ -+EȕoHJӋ'BXѴZF/ C#btP2w~5i1,B7sl8;eDž^ERʌ2w1P HM'Ws i@.᡹Pk NJ@xBݽ#B$!F%z-' Thsl`Ɛ:8 }93䵕>kрhﰄ#D\qNJDNqЖe,QX28I]UĨD|e+R l7kZqtႍM>άI T n?=m4G%4ih)+OKICH`I)+,B["lUԵedGb{ƊXXB#gA[vv#9d]&Mtf,|$(W?^0SItm1j  Ά6&O7"Rfd/*!D,μؒ T1ώXS@Ã3bMz"E7KBa˞!I؟sp_cOBbU,ͬMXmG`RlacaQ t]!8\tJ)OJ).W(\ܻU+ҴƂSOlr4W¾ /mhρL s|HZ ?͠ѧgo=p"6 iEsHNJY ,qnĠbNDSg-CEi -`]p˒m9\LKPW};Lū"y*:4P*"f*b̈kek_Ł#h + Q?(X>;Yq4Ψ蠝dm1HR9H H)])娔r(Ct P#T?=o(0n} *xy_)$m&?5ԡADĜ{%X ~>@ {q2i1A&Չ(:~Jts~s2vѥA\A)@u9 Lb( a-*1QDv vfP~6GPP!vmĎA&.Z":PCzi+0-G#ZZOr$H!ĘrJ&@JYR"h҅VVU+ZSoo~w}[1ZrUtb36ju<(G]л<6e)i(:*u$SX1 ~`L`z1\@d~ŦGJ\诙"пL|y}gRs?=G_AUCME_g?z5f R%ʔ69G#xi0p[ 8f}Xndd0 sowޜ#Bt%O yd[A4Nj6nMP2,|0ZB ,N11(`~e3|}s.|S+ѥuj/0]9ܽah yjD+{Jy<B,*Ij M A>2;&8\"b6:8ޝgyh860]S ~ԙD֑ѱ'7g 0$@(a"*k<;`ػL.򍸗ݭ$BG)J)'@uBѮgQg8mrzԀ W 4MC= 8žI4|Jh? (Ac>/[3؝6%AsPÄ+\%y`.۳p% U%yn1F !y|Nal-U>c_EAH.`@I -)Gu;R&PBHREQ<ݗT;!EX_,`s[;1@9!Ĉ@@cKWojҧ#rH\DT[ӆ*}8>fmq)81a&0]+S8N-;h (OAFaq5h: &r@CB0 VՅ~vxs*xjT\եL'n 9cw2`HT("P|吸‡G7U84gdNഉi|Ҷ) {}"ޥxz{QJc\~᛾'uE58xt1Ecm*|dkB`UuO>p-ZJKT i ,\ `U;q m_Kڒ;wjɍ{ CJ//G}EO/+ $,R5}۽HԚD苷߿wU1S@D{Ж6ln:_ӊ!|c0ZH61f0jlGH;.!gt;ҙWLBKj)2/*)qT'W+G>R~w^ sQ ðFW0mV5too^׈AlYxuF S0-!| :ٲғj~~u_ YNflD eRqiQZ @̖#y[նEn[ߗ;wx冁өi޼pocp`gRe[ʁ0:*pb,A0^8ui#3|8VD~|tytыV:%J G8oU>dغ]{+?2}Ca"U ݾ:7ΞM=c~:]rR(.ڎ\SPנLwౌ3(6+SHϩw̏,{rKɒ;v-;щ^Ma50l_32G {&1,Pfg m=4bUd)e_Ng{MGR^r}oQ&w41J #3>4=/|sŔי1 ~|O{b׮AyΧT8r1rqW9ݗHQ BƅgR.~0o,ijm*}G~{H(߁?QI}sdruAJ9*ؿۮ4CF#i2!JR/·3w<LѢ},k~Ht[P(-y+]$Ykv|sޫ(J١Ƥ0 s橔TKYW$-y1߿7B @@;"RF( !8S[Mt]@DzK/hcf*<1}ڜY3 Tzk-]]X<ŚZx05 -̼爨N$[t&SYKR9_N)-rēBdiO$6:b=we>'ex udmwxBߴuOԂҴx:we}\gYTW`Rљw9"3wk^,"c*9uZk=OD=B DRJa戁 oHuk-֟2-vF0؍ﮇ}$bG^mM.<#n-f|4ͬb;3C]UX151c=3 fQK~(h.`Q")9D1zgzġf82ċm{]Z{lcBۼχufqhwVXXm 7SC^JY>0?섇B{{R] ! ̜pY)0 ieZĈŗ0K'щōb%z@PTn_3>F)b>j/{WYꔯr=Yk}#eJ)qu & U`Ks=iEj%ks^ۖ{ls;QsVgΊy/H)5YbM_s5QH<`fnX ugwgST$Q20L>%iQ',/yXbzcľz-icm;3^DZPĎCna76C{h.S-mh WgɃ/V,oݸ`Dd'%yʏZur$oiBi9iW#ݻge-E=tC;*~fN;f y-kVLa6P%4C4n]Պ+7v]]qfޱYÀ{HDJ,y>iN] Dx MC i4z=cc 6ua,co6PrQb` lpE"@Vh.d-6T `5k8\=4Ox1!N.9Qɓ*沄kh)3/<`HXB]J!`E3iCl9-1~aGf🇫Z&bԍql+6rlC"VX 9!؞3uzrn6gZ+&9Lj'=wBAID6YDt 4"G-moo 9P -Zk,[{nhm2>s <9@`"R1?I+kˡ 奔݆a qqf&"Z˒g|M *~KAXÕ|ͅg+N4fx`֗ 'f \ߓC_4]4C*UpW vBXB`K1!,%~pE ·JQJNxJL"k O剼WJ9HDZc ."E;,3v_9V#G˫Zky8;1Q?UGTB3Ąb 0x Y_›3 .hqmo h1*1#?b20Sa-D{֏J=d,:,qhpO"An43Ojɗfܴ)}e^ߑ$}sڏkouTaޏ+5 7B%p˪VlLے-9U?jAkµgS`[ZloFxlî]3 <׈pa).amƨ^{=Q 3I)WJ)W' `yǘ@JGk]Z/24ea=Z̗mZ2r1;`q™ տ|''.Kf\}F{ؔ5ÙY"l `K:m||tlB )jb/xT:k}-X11_ێ6BUS  -Zfe9O% 3+f`"i{)1/.nJvqيj{Sލ-鍞٭ӛiiCnǸE0nYہnP4h3n qicr [^"9 iwLb-K sCQ'53b<KbJ @`r)ffޣ~D5͸g: y[ !63S7uep@9K/+`{끼c=)5З1pvϺ:IU8' 4X)_0( dS~>vKKʬG}Uvb=OF~n1$2sHxv 3c0LwٔUП)-р'-1+ eMD1㢁ShZ؝ٵ9wҍEpnlj]3xcX֗`DA[X1aGg x*3[ 35C3]{Zا~A!R&`O\!!D* fZ~e:s}2P,"x32xz{^w۸5qu27<>cJE,K;3gZDd9:Trڏ݉88s0:( D#e&99 c =]wKJI7|)e)6ZpANB L=Ra'ƽȉba[&Gwo_̺c<ñS DTG<(Rf"@!M@-ZI{r5hpγSS ne /_}݊p [=/eCj FCuU)5̕gZS)@Q̵xZRSef~BЕX~kQ`"5X~u+f GVZC=Cmx61׶*cE֓EZk`(c!|z9=9}8=) %)euqI X1~2]YWX^5?uԋ8)C8E ':Emt߼k?m)XmGq~G6C[Vw簦7wM#a7'Ô9 wNPZp`diYa x5Lj{xݶO):鑆TS)らP UX>~ 2wY9?!+h "q/\pQD0 /7;(1{d7}w?F0V(X㨧Q "lm+:$]VdE0&?<O6BMɤ'7~`5jf|F/[뱞誷t|F'W=Bb1fL HcS΂-!3;}VfGw΅"|( ڸms'*KILV $6d 7yOUJMݚx_q͙y߂G֍S E~f^4Ms0qOf~!?U 1cGoҘ b dlT"~[$%%3<}x`0%֡6|"_010典ƣ;+> -7wpTߚvPVsnX)=aj0VxA1/5g/6u&t`Qk0)0nM[ְbxmGKi´;1;ČiL8!@ZRfPi0|p,R6DN3SJ=̵I*W@i@%铗~^B,CjRn"Z&<zC޼pu:gW҂kHh3v# 6 7|DNcF 45Йj 2m`q qMw!ABek7$*9I1" 7,u%K?oi0`i5RMJymU5Жڲ@ȚrB ܁t«')7D#Ru13 036LA1AQ74Fw@=iPtQb&3kwZ28]˗ )tS3m_ 9)|w+>sޙ?i\>Oi)(ĠQ7#=#10RPܖQ2 k `vP*ܱZ۲qwOT_7ےgQ'|+w?5{oSi` m;pSk0L4Pb||QPi'ualTJeuֺ.0^[Bį%tJ~m1rFW^gd/Z[z@S`/ַɔuOg\?؂ނ;X=4㨯0hQXÑQ73#kֺ $"?4Dd!zM'q &i>jPܨvW;eo_V؂洫ys7R{+V=5Ƭe㹪:Ͻ,;a\Ѫ;/:a' g|e=S fgzLz\`źtzNk~1(`x_$-悸2!4cc6z3'"9^=d}&=RZL[s9̡Q'( <5߼gӵ?> FxmWSu9?co妼hV_dUK"4u!UIPKR+(hBd=ޕ2ҳB̸q[kj }ujg-C]);ܓ \UwXYCNv{qh tPmJq|GTgj?g+A$,. 06!JZqϾTo.?I$S ̈́2 c T2mp?ĕr;B`-pΌsQQJ0s33D!ۧ++JTNM"[ ˲!{w/3ߗ(z֮]a=Z?ui[!굅l?Z8N}ѫœҕ!eDpǣDTfYfJF9Cu;R{{famCDR|:O8/ЖS^͆'mN\Ӊ]>NrrWjB]YZBj,S@'KAD(ĕN0KV"‰j4d0(j\$Y/(y/A!DWB֧!L 6N7eQ&٘~ O*9~Rb?cd !J'Ө% NЅ|"^"jIe͜>>g&$ Oɯ"3f\2ֳy"(@'Q8V.=^ &1 ߯߯~!v{IENDB`blockattack-game-2.5.0/Game/data/textures/explosion3.png000077500000000000000000000146131347224572500232100ustar00rootroot00000000000000PNG  IHDR@@iqsRGBbKGD pHYs  tIME&d$ IDATx{k]q73ks߼)!QhmZ߲a;uE:(H?Ѡ4hI"؎c٪m%ò$%㜳cC_Dɖ  q>5ko.QՅ>f7\0V"_USAD|Qqs63/3s$< $O\1rꞈX/EDl0z9S?o!'qEdQDEdNU7Ok$VDHN)&9uRbfoⷚjB.@#y-ƥF:? {)"t3FrWDbƍ^-"҈v3`o ^A^OUXq`m7ϙȸM"$".{U]񜈨GDH.opq5EDHY HEK""U\J)q yΊȢv3sD)Iu#m6|#ySf) f"ⲻI~WDiU+"^ZL<1$ `\X%a5u BUg+ < $ ([D [P\JC$WH>&";TI~0"TuG',EK);Dd:"ɛ#b]DfEd_gfvHD\ܷ1 zE57\WS"r$3[p~QUs]K) 8,1fUD,"0[#"b,"3l+i U5T|KW=k,^tuZ{{K5.فil=M/]D|+ nZu$""2kf9;In9".$_9JT[003 RBܻ8cCflU$_RJTO<_"߳y$Guc:9 `}ܬlpH" #b "qyY=qnI)"ڕRzT0 D: m)81l1*0! 393Aq՝fvܦ4܏{s$_I6.3$/lbJ鰈,V:af " j U$@`j9T{g< j43CJC$`L/?!y3"o<!9&bk3"ΔRfv'."9Ɉf}CA DPS /`" `>1%/f\J)=Qeͪz.<'k]&M1:`ڴl bg+ȾyHDNVһswv]5FN%"WR^ J,d#Tha>6L$S*kF`}/"GTS4WMN\#NDGķHgV38 ɭ~N[xPmęht;v^G* "eS-gqWGXzUMk8zL^[. ĸNݵ68V;W$HW lR#bHB\+=UN 8 8T!3f񙩩dɐS%wy%PZJ5C(;7pjuǪyݗj_jdOM #Q;DdBySZ fv{۶r/:c^QNaYоA2pEЌ JLa"X2h!@T&ȅmzfV csCy͊T5Ԫp rJU]Q%!/BdJU?gyw>Ou] ?rjry v?QW(*0cI=irJ\!5_88_cW"Z DsU(sIwowXpRUw6Τu`lVOkJ[Vz29c Ac R {BdФi*  snb_E֘3 4ǃ|eܕ|VP{lEdfg !Uſ"y̶&̚.<;.;r61j4ɐU9 BD!(ރژx(`ZSS3 ]$_T oH)ɦ(`m%x)وx?N\BZH_ݑ0U(LbDOeV !T jsOH̛E0.~"*]dWD= "2Ed*]Ed>k"Kfmw̘=E䁈Nլ R$Ԭgu>bHbĤyHCT{Sv*YJz\b /*9jy{ È5Aɚ{V6PWEp>4.LJm۞04͡J)OG[%9z]RJ9O/Vް(">UAߩ>UѧN+ܰZIpNҤzbIRVlm)0efS?(䥈X^o #U3| "9 8+"wT2Drsn^aanX0ŶToP-3$SA5h&2mBr/H^N)-iH~XUUDdb f@r)՜nVϨy߈SJ3;{QwRJs=E;Aİ+MB!d55.דyW },"N GTu)tADw|`\avLDDdjޒs*hj0cx:I,&99RVN^JP1NʮKc5MSMBDT1d'p_*w"x/Wk$2u3&ZV G/ xnGܗT̐L;s"2"g P@@R1 ~IU WDuZ!9ş,O˪zx̊G*ņS&u`NDvzZUdJn9 m m>~iKF{|QٵNeւݰST;|%ݙ,tzmQwƔ++G#btʑ҂nq4|Ju_U3?HI^XQ.>UK)"Ȗq}J=,l/R]sQDLU.|RRۈ{R{ň8GTuJUK)ޖX눱Fc(F:epuvdiqW{uOE|DGh:"zzɶgTuRdD|k mziʚǪߘΐ<_U4~g"T̈́fU]tZ#uq[ݥ #7َ;PgK)OQ_*6_>$"z c W J^=3$uїntV_UgSJwGDSsT R_<_Fٍ 9N ~HuQog :`O .3M(K78*?- :]\!29aiE=+t#㰩N͋H\|&bknc+7`^r Nl=67]4ZW]_Ǔ~(ʹnr|3p#2kC¯:4 0֣9WzonWH7P9yHvNPk4$6yMu߫?b:,VyuEkoh\͉5o.|[MÚ޴AgߢWk(RIENDB`blockattack-game-2.5.0/Game/data/textures/fallback.png000066400000000000000000000006071347224572500226370ustar00rootroot00000000000000PNG  IHDR@@% pHYs  tIME 0 tEXtCommentCreated with GIMPWIDATh;0 Dq4}(Vڎ];Ŀ0i(ofljh:1:PC8J9վj`՞"!XEcF>sw<:ъ Y`t ]o &?sH8I㊱qw!;&\MLڶЈT>Їj9ߤ$ߗ8R<1"$΢p@3 [,Uۨ$- ZY]b:IENDB`blockattack-game-2.5.0/Game/data/textures/garbage_b.png000077500000000000000000000020671347224572500227760ustar00rootroot00000000000000PNG  IHDR22?sBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<IDAThXێ =Ln"E+uO1>a+U+F0}p$@&RjKdI4u[efKBaq\̧Vl8.rKo}y8.r# QF%ǎ"g>rl"g>B0j66`-%9u86@RCˍ֣@B F]Gj ѽskἥU6[RCGaPڳ]`2m}?5]@}1w+)]}UD8Qjro܄۷UCTcCջ9YTd پɝ#w.)G˻@f9đcPYȁg!Eω4W)j2"M$΍qDJ9q"ԲlD@vw oiBrLݦz!gnS^jFPq:H-1tdQ%9Q,D$p2-fD .2 wU 1 f q(zS W1 Q(4/SbJa5VŠLav!rb=}:(/F!(yU1icX2E:bSSHUTlU`x 1qeoy*Hm&:t ܋~ۋnRl{mR&AS]}U)C&H1ŋ*"L{{[Rm0Nj*dIEljR\ϟ );jFJjO':9^P-]I9ҷU.)bxJ:操D\S , 2ޗt|A :]WGq%] )N,^]˽j䳍K?<3P$5D ~-H&;PuYT KcWhu@x!y KZдdOCZj7fMICOo$IǔB Ck[l;OkxCH|B\y=v8$<'אa⡠B,LvTuX0@~^7aÓŧ`Wlbh*/xvzҭi' Jld \ DBQ1|(u]Ɗh_E$FR*hb@ \*PJ**7*P&BP@Xr~<{I|garDd(a9{AzBFckIK 5 }R3Ilf:]t^VAq7&^\(qV%QbI汒u"/,XL} bW%NUXx񱋼T0.9\d @M]KXC'ǔB*6wŧB s11O߼fy,/"|EzKo` x:GH 9'Ii^|ދmh>Đ}PMM0NtPZƍ>)&A (d}* ٵ %k|Bͼ%{/fС -T*_>1{ Ԇ$D^w)%qsCه1Hl tg(kqG*87Ez\TQ ֐%Nrb Q?r ?$Gđ@i5Ā%BKJ)ԎFT[!^nHή aPߣC/MHnvv{']l|ZF(vvm5^~;jg&3, ٹ0L̆\; >|)L_;[{?Ah)U:$l^*U+Լv\+m R^~:SJ:X(|BY&EϹ G%RE)PIeL*0i<* I&K:l9ץ#C ˩^Mj~Vr{@x0]; I7`?Z*6OA|{B AGK>:|RRh#l bjj5I#F*;{;-^:[S}uhq.=#;[: phq.=#̻sn\z-Fcs-^b { RJ<)jY ~-٫Ź#qOosŖ0N[^h#2-]^Y |ܮKA" $p.,Kn-nץ y@bhmbMAn'>xHdxHd;+ $|v%IENDB`blockattack-game-2.5.0/Game/data/textures/garbage_gm.png000077500000000000000000000011071347224572500231520ustar00rootroot00000000000000PNG  IHDR22?sBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<IDAThYK } HYUs]af3'!(">u uReYA0~>k$MJޝf@3)2zoV RҲ❅ڙ {]kgTy7*aCB,w̚Gr#oΊ m!"cI!K)uHrw'3Foњ[qif=꜍V3 Ibzi';_U(쩵j/V9R+rem1fouv!NR@pv(lؒ \HaPLoUqvh;;&;wQyj>ؐ{bԲ pM;{)`Z]Rz'$XzyE={#oWbǶm0!7 !^>6'ftIENDB`blockattack-game-2.5.0/Game/data/textures/garbage_gml.png000077500000000000000000000013271347224572500233320ustar00rootroot00000000000000PNG  IHDR22?sBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<TIDAThn@?[kH U(-o_[pSLBT) -Ӌu?Qavw^$w:(NPJ1A oRl6p8/887 {T(+T>.2U2L_"ӴӇ4a[vNwm.m7"nL,ittQʳ?mӴڕ5UI&ukO%\MN޷Alme}kK5XG1S]M3"b[NqbDlS?;1m"%VČ:{_pv'fٻ+a'f]&"%>Ҷi$Ӯ$c%g' 8ZҎ٩uvKRڱiR#qQ5҆Si GmիB;`1wHk^;w.M]HO?:u6~Op}->hCW3ݛ,]ۚXv<=?STe%IrN'sɲl8f87oC/SBj/(bql&wg~{äހq,DG!_}l6A M{9$KSʢ#B%IѧD/\ӳ[6m$ĥLNMb]掎/#"9W&&> si⚞Mpo蹮#CLtNϹ9JKh G!EQ:ǬľZk'Kl_[:Wvמ v:Z'{թoڵEHN!DQmQl **ݶ(B4 yJe:M\:Ŷ zQ3AggKkeg`U}TB<+sW'!<繵ƓFSWUUt{PK]Cfvn~.ڸ ɠ$I"+I5Tv39 9*`hȝ\DpǥBAPA 'yWw(׷ߤ)Ź*Akqn࢚Hi-M\){e-I\TYK⶟hŝڿ|6=OH ipZ| o 9Vxn0T(ZɸZ|#ypaFbAd]\{{DpiSDjjq=i*"5S(AGTN2FZ o}[OBj s40TX5j%:EP7  '8øT*dޒHG)Q)cd }mDJLd_vK&JL7Bڳ]:a;\%+xpxk8}UQp@oW; zIENDB`blockattack-game-2.5.0/Game/data/textures/garbage_m.png000077500000000000000000000017441347224572500230120ustar00rootroot00000000000000PNG  IHDR22?sBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<aIDAThZn0+v"РS_7z!~E ˶,^YbK`k툜ᬒP@wS~}=L"w";[Ýȭ҄,WXnQy-L@yκ͠ظͥslY® 8$%P8R.]S gw"%c:ܐ:AZo&H%*H& Rݖi(4*W]p^bR1DnH÷ D&Ћ @TMN5]'vMߛi,WK`m 5p!T@j2O&rbSߨ:GJ[vH4-zAޞ%;sׇvU/g  Hu|?pƂk:iMdq@v,<57jEna BCK7V8 T~5g&4r ҈YNE5h;q?r#n FOgg~[7#kP m9K[!Ȏģ(m!q05$/0 *__hQAU[_9  b68$ʤ{N9*(CI։TNO:\2#Jo ݝ1xinjzLqIu}3s9׌T:Wa2 #3s9׌h}{087s v|~1x,)\Qb3AhxcR~Źh"\ph Y|8fD~˻}Np'rk5$׺1!1oS$yIENDB`blockattack-game-2.5.0/Game/data/textures/garbage_ml.png000077500000000000000000000022341347224572500231610ustar00rootroot00000000000000PNG  IHDR22?sBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<IDAThZˎD=+NgF`?7hc v$$4X `N\.WpΣ}ml"[u$ɫhoxwJA, ?{;_{" -.Sx,=|?\2D ˑ|o\|mmu !ه߽[|5 U*ۨw!BIENDB`blockattack-game-2.5.0/Game/data/textures/garbage_mr.png000077500000000000000000000021671347224572500231740ustar00rootroot00000000000000PNG  IHDR22?sBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<IDAThZˎ6=|Bi'I;ݴȢhk(@AP-iIt i5ޙH֠rpqf bꝩ"#PI;u(Щ_>].3xkV-T m4l/K|TgD`llفPJԾU*P`EϹ H @(zeD*R1퓳2'5==(p?&Cq"MzYG|L! l>hơ1BPA|."F/5Hrb7;g0XrRjha9@,v,zaH@,6E(ƹ6Xq'XlPsO#5Ut cn9%&iL/~;7G? 5:55ĦlvvpLhC xuno[xJM?l~D%C]ObpshmZ*Ex!vVv9LngSiFTqnQGĈ M/>cP%nUTxqx#!UL虢+F '܋ss/&%rOA<́#Rߥ^ eYŹQű#Fo^].>wbፇ(R[n5sn 9 g(n׍!=ZܮC-Y7J{)Ver={K[}FvⵑpA7! n|)C- bXj r!TӢIENDB`blockattack-game-2.5.0/Game/data/textures/garbage_tl.png000077500000000000000000000022151347224572500231670ustar00rootroot00000000000000PNG  IHDR22?sBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org< IDAThOn6?EV`3ݠjO6=4ER]TdrD6 R~Ɵy|}}zҟ ӗo~eۘkج$mOO3Ј#J 1p{"|iG2k>K=_CLY+(͇ҾN6.Xi-Y~, $azk[x+" WjڹB6E)%=]31ZU!*$1aB3楂=+1/ؕwB1RV 58l \i-RBBFɕP$U拊e:[g@ 0Fy2u%Kk cw7y'ȕQP&VGXF!Ld`ԥ(#1BbAw?o@H{(g]}PE)B[3:! ɢ{kEJc]#7tS;& E)b@lD1E ɮ5t?[c{w?9L^7#FbAcᰝl[d#j;N!{ɕj_C?ۙxT{\ uZJX7ۏJ[Q&2J|rVُ11J[ $ *IBc9;ˏ*ڞBj DpY|0[5FY͟_X{h5O Yڞ*."P7kH,Nm$!)NaIf)ĆsP01̟ũUZӅ̝ũpɡJ* :œY| _)}Dkxoq0. }I!J%1=J<>Ӫ} VjK^IZcP} ءX/jO~vP̻fW5uJ|i& bP+p@7<AėfkAė8h[ CIENDB`blockattack-game-2.5.0/Game/data/textures/garbage_tr.png000077500000000000000000000022371347224572500232010ustar00rootroot00000000000000PNG  IHDR22?sBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<IDAThYˎ6=")Xgd@WdUE~_u6H SL-SIua#)J5 C&5i//Շӟɹi %߼~"RVK?}8W{5Yq{9טHExvD;@QTlL5,gMoDo?zra`PY.[0a )iFUXآp ʅYUD/jc:M1))E&hdoj 9K%,%;AfP<'#eL %/;}ж.,v%xal !,D`pW" <%θ^©`o##;`iJ{Xm2Jlh:T <}#θ jm[m5-Vkv QD̲Uev $,ŋ*S$D %p{LLRmQi o=D&;KiSiL']sE] :YtWt!Ȃ 8; !F`]ceA ~P3IENDB`blockattack-game-2.5.0/Game/data/textures/green.png000077500000000000000000000011551347224572500222020ustar00rootroot00000000000000PNG  IHDR22?sBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<IDAThJPFt n}#-|  BwtSu15;,͹!M:Y#qh<qfܝe9@g Z;%0>>Α$ȳ,pz 3 lAh?DQy&E3aV!<a 629rݑY 4jHs*~ ?SpNd_}T|@u){=H;b R؂Tq*v UlÆ؀hk HJgRIIQ* 5b ꤁X> kAΉ bj@+@<߿xQ֯R7*@jjYHi(*RWʃԙbͼ/+Ht ]hUopLl*6HUϢY@Fdu vo%q7t2cN!NS`jUp[Wb^cYaiZEA80Xa0Pʬs*jd(f,kESհ,k U*Y__gmm ]Ð{&2a'c&FUU~뺄a[,5ωNCv:80(D4M à ̚;^sUlmm_c?( i+R _h4NxFz…EB8.$fV  …KߧiEw[0 z?18Ym 05N^&$- D8G...xxx~ ,<:'Њ7 _4nwtF.DƊ˸…XqWP6^䎁2&, Bde!Z2,Bd&lYLزx/üB Ydj?R Xt2|ޠS)dBde  ;n|Nޢiˣ8 \Qqyy &IQ FUo8Iy$I2_j_N$xi_;]&Q>P~|לm_{w;gPmW"IENDB`blockattack-game-2.5.0/Game/data/textures/gui_back_white.png000066400000000000000000000037171347224572500240510ustar00rootroot00000000000000PNG  IHDRRlsBIT|d pHYsNtEXtSoftwarewww.inkscape.org<LIDATxogyg]; BDTp!" AH\|E&!?@R@凉]Sֻph&ꀊz~NTaqqqBUD"rRD g= TDȆfvOUߚ롏=7o<"rQD8-UI{c~~~xqW 5UZq[f򅅅VBD'DQlqǍH}niZTUfffnf O~ZDE/3pK$yh4V^.^7oeHp͋/رcw`mmm-ݽ{ N_N "GR/GQ=]\\!Yr\tjzaf$_l'MӴK!8?'כҝ;wrK-y>53{zO>n'IfO,RL844tԩS=zsOfj ϝ;Ij&~4M6͓^a~}jjj{U}5Goxȱm7###=炙eSE lf 3b7 E_2lB7w "#488%_$?.MHl*J?mfőff\.s "!TӦqoAu g< 8Fp5k\#Fp5k\#Fp5k\#Fp5k\#Fp5k\#Fp5k\#Fp5k\#Fp5k\#Fp5k\#Fp5k\#Fp5k\#Fp5k\#Fp5k\#Fp5k\#Fp5k\#Fp5k\#Fp5k\#Fp5k\#Fp5k\#Fp5k\#FpZ4̬v} x/V6u:OzR߽nWsFǹ"b8bΤ;;;Cy#z6zrS6ꨪ v U$I@`f-?W*[]R? ,3ͮKj[4P#3ufv/U$""+++oZju21㗎?.f8Il'MTC"Tu0ϨW766VWW/Zȷ+Ri!3$IpZۭdk4MI}@uhټ/_lss/"^ Kz~MD_Ο?:::z:c8znaXYZZh4-\Osss慅V!N\*Jsv{Sg^*"?^PUD$VWfff?̍7^IuUUp4Eo^rexzMU_3)3;c"2""'ӳȆ|_{VEdu:{W^mпH-7pIENDB`blockattack-game-2.5.0/Game/data/textures/gui_back_yellow.png000066400000000000000000000036161347224572500242420ustar00rootroot00000000000000PNG  IHDRRlsBIT|d pHYsNtEXtSoftwarewww.inkscape.org< IDATxMo\WܙI2i/qmL&}Q]%ġm$vQ!HHQbDX fQBZܴHi jp^Lƞ؎E3;A1ow=X:yto}=DA$ Qֺ`I Ub;I3:|\si(I ئ a>FځU_l `tT:l{~\=䣣*v^$}c,$m&ZʊSҖ,I%:rBlL0vZ+;BqoOsπYܥZurZO܊4Hn'ҽQp==nցuW| Ò:2ӳTOxYDrj~lv}3;~(Iޫʼ;NObV(.UPDIiBiHQ]˕zeHfj>nbZ1O E-~z堤v :*ipBa_ck^Mu|F׷E~stA+#=KJ/e{ZQ't(;30;,*j~vXZwu=D73T.w]EUR9]&i9bW"1 !̪mUWPx9 >= ݉̂;-IDRzQWimn3;D155555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555DR|I!`]pIͫq{݅m~i-;iڑE4/Ɲbsuqw\-J\%!hzuGqQ (JcÅ;Tʬ(j,{OmzZC=C*,s+kpwv6}}eIԹ$9;W9۲(ЎcU?/~Rm|WǪ } zc$љb(X׊$Ĺ޾=6YxBR3 +J*4w!Im GiLf%$7t:Ji>Ltܱ/ `YX1jGc.FKq"IN)=@Q;vͩlvuot$~$x ҏO($ ]By{c{Mx{LmrZ2cxnIo?J<:buNQ\f%-a$JeŸS:/WQoSImp$2rBN~ϙu0MuRAu`NA?%~n/{@HtLQG$H RwݽKŠDgSyw'ٲ$EIENDB`blockattack-game-2.5.0/Game/data/textures/help_controller.png000066400000000000000000001273641347224572500243050ustar00rootroot00000000000000PNG  IHDR6 KsBIT|d pHYs  <|tEXtSoftwarewww.inkscape.org< IDATxw|M?9w'7;213$ ikJlRJPJmfѢfPcƠ̑s/&+q߯<ߛ{}wJ)TL!U, x~)Zzŵ+y}6a@gPJ@)U?fCCbS:nK$i1W\85<=(J=X6Ī|+&[B5jHU0sEaBy!², D   LόP($BH$bB![7², @ xzL(eٗ,Bh{iӦe>ІR3يAq!\h֬ȑ#(xױ7_-uy)z_\ <.\e˖'O)YfZ18V[)UZjÇ A^^s2226SJ[+!D ฟk\Y5H#%%5JHHHxuY18|+˃Ο?_/̙3R4mny-u/\P/#..S?[+bV@X(ٽ{1 5kĆ `*!bvblmm9sE*[ qa'DҁRvf-oA뎽_B?\_:YfeΜ9<ߎRzX1=~;lRbny?=f̘\J_&X)jCkX &ޑJy HXeeY}+١8NU֭[ B)~Ν Ŋ!lW^+W[ST*Qv#YYYA^^^ Bv ð,ˊp "/%%ET*:SJ3"CBq`fGW\r u;99=]ۢxEvsa|77HR8::1qqq5 U۷nݺeܹs!խX|M!:LX,r//YyUR>;;;GCUѣaPCae״LtuuU>|VȔRqo-JUeߪ{a-mmذ^z@ڰ 515jԨd,+dJ)}m㸢gVTx1vu"fª|M|!xX[(֎톼Ψ0 83Z:WFjlZZh75ntjhZtT+[φBXጬEaUG'Nhyr 3 c0X,&,0 SdYVS$YKa!lf !,YƳ,"ٵ y)BO=(Ca/e+LN\i3,2,>O BP(b1'JH$D"TT*tvv:88}rcyjGa0e0syyٳywfddiii$33STPPV׮]BtR2H$F.'[R% +JYD"HDD"ы3r_AA  >͛7>tʪ18##C8oG SZ@!u4ɩ+ˋ6mTZfMJؼ|BVTW?T*@T*uJS*\AAWPP@ JV<NBtڵkl~~>P(Rd(BC)<ψbU~~>uSNM CBBlkԨVZ nݳM_52VkZPMNNǎStIFF ''Gq\ݝsuukfr'''W0LL777@Flk?ے-[{ĉ׮]c !̦4V^!5"n@@ݻcǎ:ub1 !H$Hb)VS#==&$$x&!!'//?pf͚5 N'$mmmy4<<\ڲeKfbXiy5T n߾ݻw;veffr:.CԩcӠAg___'oooTESND̝;o߾}BC)}`fZ!5&J4h#Fz_e|IlAfNNnܸAϞ=seMjjnҥXh@"0@.88iPV5|5 !n׮]X .v=wgrUݺu;:4h@^V-T,-$55 H:zHTnn6! ! 7nv޽]E]1'iii~:rN>wH,k֬vIlgg5ժUR:LbX !,utt sqqȰqqqѶhB޹sgZj[ķ d~qmG&ҥ ]zHyǙ?֯_qIFswwWFDDO>v\ٔ#Vk\B<0f͚m۶0#$$hә3g";;Bd #G$s3rӧOݻw1''6tX)Ӛ0LO0qѭ &ZJUR1<B={M6U3j(Yl7o.9vXQؗr_b@3_Q8۝okk۳C܊+*ؼUiF5wA-'''BHM/^tR3g_^,0Xgืwٳg6l*rF:ubnY*(]8-_HR̛7͛u TagXo!p:((HyfѣG'YӶm[{-GCppuI.=|WV* s2`Ue2L"ޱcGC|@;BH%Buzf@!L`nYWWW߿éӟa斩'XWJUBD"YٳgWūC.3,Rպ#SQ:ujvi,#[UB=0۷o-QR%H$e`ȥR)ÊYrwxxx{sSް*ߒ ""B{Xg e!HE-J \_G`)oXo VZ+VZGe*sQPD"[nݺij899uZ@ BT(4hS5BŅukh԰5}:|ᇬ@ XE@?_HMlnAVkhԔRMfnAAA60,BHCgg|5`ǺlxTx6RA X`DŽ斧<`U@YU-oڴuC.;5Z'Vx6m*jӦ ]R{n5jXHNƍ8xٳꔔ'U(Jt:>^(zzzj___m(J֭[u_yyyb;;;AժU:H5jTLNm۶8pR0,BH#F,駟 B)ݻwqqÇ ℄QnnCݨQ#QݺuEϟ;wwwH%7UTxݸqCwiuFFH& +WִmV!āp-=55BBݘfҤIN'??7nTmٲE/KKKz!mݺ5WrMزpE޽_jF#xyy'} SL :uڵkWJsRQ ,FYPrssnݺXURRMjjAٽ{wi֭IÆ h2y ^nٲE)qqqVVM9x`iD֭[{ァB)6}(֭ծ][wєSR&>|Hg̘W^]ݸqcw:uj>ÊPGFFjJ;ѣG5zV\Y?|ܢ:o<njSp]ȒJk׮]{Ҋ`}͓ s?| j<<<4ǏnܸaJƙ3gh~ժUӵjJ믿[СCm7jby.d/\0 tر 4P:99i =s挹27nܠG漽͚5~&!:::amGK+f nnnϟRH{kѢ,*nݺԩBX\....aaa#G k֬ K"77_~bΝ2ܹs%Z2X&ҥK1J#sO-qҩ8yuA}}c4Sn|2 Uk7mڤ4R:Pu[̭]:::fٳ`K/mܸPU,^~'<3gN^չEg-cÆ [7lԩSs~Kwo>֕({k.q5 !/^Ddd&((HfEb!z6iDԈRzb faaa*^Nݻ+oܸ!<U`>}Zo>I~Aرc.\(}_rEp1Ez 1,qVbf`#1 U^^ڶmdt׮]TZ:-Z䧧7>4SM UFjZtEǭ̸3=zP?g`{Çs,NďbNcj4 [;cwk6ǎKRw(6n8TKhuʗRٳgf^բSN:'''޽[dIYxfpIB@n4:"Y1 J۷WbĉKhnX wи]*-ljvA(bΝڵkmjJ\nj3zBƂy/)*}wF;j]\\ڵkVB,c޽bBA;w,^˂yt])k.ߕ9? IDAT 6i E,j,nI{\RG۶mNKK+7h -JB8:ZN:!ofZ(,bϞ=⤤$ҩS}=r܁&^Gzz:$ۼߟHčoR]=k\ ayfL&c?\Vmڴԯ_@$>>CZh%bccU߬yJGo9)rrr`ooK\ǏKBCC5+V((0ڸY^B*Utʕ+6h%"%%ÇG `kk}!99˖-CPC*BRMVeĉq)$&&bРAAzs2kh>sUc\>|HDf̘afͯpR5c4\HRV5SSIx~e0 @ڵi޽ϲ,+cf!oUx `tHH.((H_~Q;w_"\ f̘Zj!-- /_ҥK,' WV8Jwww|'sy8{l7 `˖-;wL4;wj:$ޱcG(w\e%7u1|* Υi魫>Fi+k֬1_~^#F8~GY4S>RBNڵkyD[n5H2ZK,AZpA߿[nOjhpňƃ-Z>{,!pwwǟ)ڰaɓ'8,,Lӷ—Yfڵk;wnܪTC"Eg%Y0 ɠA`kkM6g[[[kN `}ФIl۶LPիWKgEINN_-_e&-ZG2%5x6 fmL:գvjcj`*%>}^k9FRу곟j nܸƍC,̙3SNJ|gJgƲeYfβвeK4i҄J͊2dHnݺuu-[4(VZ8!w/:v6 nݺё#G1999UV" !odRH4iRvqׅ111fqoؽ{7"""ХK޽`j [e⣏>ѣGtR|P*q}WڮZʪӧu/^YdI]VƵƊ4|+Cf͚ZS3k,իCk%6cƌ*M ɩpʗJ/GY2&L`.\(0uѳgO,Z} e20̷(!!!8w=zwy __<<<_-ZTӧ'Nd<<<-JKa| !^%wk)p1E5Jվ9dXp`ĉ ϿXBH. N ѣGtŊjBFMeaذaoc3xxxѣCFg6aԨQ$//>}zYxK9vѣG[D ϕb/?g.g#}RmN"##!u}]G_|E*Up- | ! ˲_|}U*/^,\lɗΝ]vٳhҤQ0IJ1fϑH$XnΝ;#3eY̛7Ok.Ynn[1cYj~ޒо}{#^Qk`&mP,]T|rQvԬY L#T(}U ~~~O>P_}Ih ^YfaǎVڱoQgϞM.)ݺuJ_5 8p.11޽E1666,L; *|q) ___iHᡎ.v;sjnnn@Of2*3R'aӦMDsuDEEaŊ 1j[*[iii;vQ/ٳ;wm᫯ԇ?96U4wq^R믿6I{o߿_v֭7n2SL$I0O!y͚5&LPsMiܸ)D<}:uرc29bƍ_ޫ|G .1yo{ǣw}'rJvUGe< ڑPq̙3Uӧ{9999BB6SPa/M4*UzU8uݜ9sL6jDpp0KY^fϩ^:6oތqѣ&i9_|dӦMBrw~²Ty,G=Ϗ~2o{"}4Q05gϖ]pSF2S!/!{Sw5eO>yyy^Bt2E*)͛7… ѣG<|d زeK3RX7oޤ>dao) :|:sol:2UIQ`Ԟ4L;`hѢ(M6xcҤIrySBHzBY@Om>}fK.Ů]cҗW*>1z.]PXc ׯ_o *Ϛj%\,Zs߯dtlY.璔`[:}!ÆcΝ&ӧK׮][{' Pbr| !r{{ŝcܾ}[ԥKSL6 +VI|@ (P(Lj…8?Iׯ}mYrZypi!Cʽ_>L0v½\ #+.'˶,X{aҥ駟Pc`G.]pQrrr;^* <*Q/A 4P5o޼ػr…pfsEѾ}{Wec.+0w\UVD"ܹӚ׀޽[˲jՒ'/kS, MDL =ļrr=l-F.~}J>:yhܸq1c^4i6mvE1\yR eM_|Hޜ.?? 6TܹsD4(nԦMmq6mڤn:u8{7cE.6^v[M0A2qD˲oʞ={ЫW/nܹdРAF_YdnÆ 6l(h4hйsg̓W~wr`\6U%E@ t12B^:Uh] S􆇻I$(Xu+dةp89e%^ݺFSܹM4ܹsg"1si 7oo7ҫW}Uuri޼99s)z-Q{{{ռys='55rz)Y~}={5VZ?۷~K5kF/^իW&.. Ovv6מ9sűCR\NvJW\ISSS'>>:::j>|&M_Ve7'_R:Eq_h)Y<<`CLK!)1NiՊ.RP_lVBtJ322"W>}ԃ {Qwww7jz S9bMHHFs1bc7F^5k? uJ*gϞXnڌY捙^ N'>|N9ñc0aK.HMMExx8.^@Ջ=z󫕑kעnݺ1ssszj 8'ODPP1g\~?G}č?>Mݸq]v5z@_7 A}po w!+mG|N:<0fFbG!64SR0.zdY0lk1C< _c5k0'D;K|:ydG}Ó'OlL0Ҩر;v4H]۷dž  RWYڵ+bccM^6m͛7߸dɒ"bbӦM۷/<<<v͛71o<4h_uhB`:uJݬY}'LΝ;cHHHE޽{F3f <5۷o1~bBBMVXX公/wχN@ "#L[S/_0;;a 1qGrbdlժ}:~W;l0888`$]vŎsk߾ԩSU0Z8q-D3g… 8v|||0|TR}~wdg{k`ذaCTCaРAR &O l۶ qqq;w."""MÇwx][u(f"#46넘,ܹxm,ld#h ޽{w^Ok֬JiQMHR&oߞ/{||800Ј"=K)))ܹ3ƏZjnB֬Y#G`ܹfwqqq&K7>#;vT*-\?t*U'`޽ww{bڴi(j,xEl۶={Q|||ꪌ~C6o<@˖-q5.++6G.+ʶ'9p-ce˖-[`|/`Re^zx&;;;DqRn/!f5">3'}yRSSѫh4ٳ`%ٳ1f!Jg?/Y ggg;& --퍳m۶bbbԩSկ("ѣGoHKKÜ9s@)Ŷmh۶m}[Z5W9q|޽M6/bСؼy3 g'ynB~_5_vy$$$ qcx:&y?=CaX$N IDATR R(LAd/adZʔd=eWWW&øydclhhYTRGg FQ:t666 5f3/<>~ /^ĺuY\]]yflݺ={=v֭[z!P<q8ZR|QT*Kkժ۷cرFFFF "ׯ_vԩ`|յĵk$ܺuڵ3Iw]v-,SJI㈽&44?)u\\өA-GA zK*ȎlAWIAoC٨^uWãG]RʕyK_קy<}]\  >>v" hԗ.]u3Ç (ʗbĉ%xر=޽{QV-1bLE$AVCPTrssP( .8l0lܸѤ"##K.aǎꫯrPJ_(`,˂eY, HD"p T*egg ^*UҥK2NӧO+AbOCkR XR~Q23qIDa2PfMaaazoV9!3(EZJʅ0~ 4(Q嬬,ҠA+G! aaaPh4/^󑕕{h4Ő尵}^.~4hL{UeUP(@yTC믿"99իW7Xޞ޼ynhڴ)6mZn, ???Lk׮i zss41d#%yKƍPNQd+Br(ņ4V1̿mo g#⯿Jt]Q¤W\)QЙ]|}}._<R7n",^BH4~Ȑ! yR~~~F_KJJBdd$g,D#ꊤ$(@ѹs4FBzsn%R*-h7bxK.yVkD[GG5K| 2ftc]VgeYtI|屄ER,`p_d@b ןd"gxzz"рQuDqYLe&T*n%bA%2ȷi1o@r 8*%[O)5f"vf|X 6J8HyNu<3x-->>>PT%3ƥf͚,G;*|'oߞfRT 6.RrFmě"O5DbECT2OCְ`3H ݫl5Aɽesp!T6sb1N:U띜T*K%ѨQ# `\7| !AիW7nKi/((`\NgU&Ĕ3_\Z *1C^^h)"Y<,ȷX#w4zEw/Hsqa23pZGz1^H+'NZ;;;TR'M\b0Fqaaa7 Jc+ߤ$+ǔ3_\NgωEQPP`P{EZR]KsL<+RZf\{Cefs&z߼99ޘ% R`ggWhY yEqu;,, M7 JQQ$6bZbOQ_5FXhbK4&FMD%җ0a]w=;wˋVS6aO3gάq( h4geh]DÇs2_S +0 ߘ[RR(jc}N>+d&N =Ϫs0h#5Pk-._} Gp[@l ֒meZ`oo]eر.ǏOfƓj+u%%%?.3''rz޺k D\S|큛5:WVUoA!Ӡk֪lMh5YҺ(BY ^^p~fXKRigTZ\w^j0HKKs\hѝ .Lv a t1 #ƌSk_L&cqnnU|9KsFjTS^^ZmԔ3???f6Y`JHO|*k eD<Wo5mj5_yh0 lkVå5ї׮V@ @=^1׽~R| RK_@HdMR'BU|k@qq1j57pFN?*TCwnrsō:l :wS<OW[iӦy !,a;W^6udkk D™ crrr8]ggg  5͝+ܺ꜔]p?AGf?jچZli `\] a[e&/jڴiu  jOY\ى:5ggg|_P#hd`_ƉH˨`צM|_êTM^*pM.J_bQwuI]0}tσ ![uȘwl-*)H$<sY"6"i`6|bp{o(*z ÿ?URySN5:Txzzƍg Ru"br|/EN~/-CK */P"5]v(%1uj0 _$0aBҋE(Bg?+ (//rn>y74H$T*}l$RRR0(ZSJ_FBig#2#0ۿ2zσ tBŸoj097s,Rb(B:ubLsgFlėaO_SX}3_qUY"񍈈Y:qy`݇X3bYfH 9﭂< ŠAWyy95?{HӚȘ ???eR)pyBRAV糿kZѱfTPP#//ះM붶DO?Z-=zɚjTD"qOpukܝY h޼9;c֭[_3,FAU*qtVR5Jbbb1+f#666n <~dd +jA@@~g\~BU ŕfcc\4^*޽{O{.233޽{W^O &5>۱c={7SQtZj5JC{ܹ٘Gq6^}ܹsbի P:ay|x#gkɉk.6{%ooobEyyQqXQdd.2<<(ݝP˖-ڵkSw)ݯL&P%Fdb3f͚U4kvٜTׯ~m|\ /RSSAD=z4N>m٨Rċ/s9.ڵ QQQ d|>8V\ \l\Cemӑ,ѣJb1ڶmqhK0hѢ:?TBaa!I$Jlt7JKKI Pff&cUEZZ}FޣcڐBlK.Qt Xh߾ҥKi4yd%=|>%&&ҢE5ev"H ^8߉&\.gͮbZz5]ՕN?#)F TJ>>>TTĊ,ХKt7"kCd, apႋ1|ƍmXYz.]`٬<ѢE <|(_:8x `ahܸ1lْ1n݊~AuV NKK8plq}\ W;v0J_cBzz:RRR8s޽xւ.]7|N눳zFS:(-M+ӧeurr2 dF8UaT###U;vd8}cǎXĴ 8{Q:}4ZjejKvv66oތÇs6T*Eyy(**!YfZ6]R)>NAh+̸>[nF gggDGGk `s0Nѣw͍P˗/Ç92|}}6+WL^^oѣڴi٘pssSr6f}B(SajS8-ln-ZKRɉ3s233Ƹ>ĉX9D| :u*;  $ о}{$%%dG_6&#7wAT 4gcp{`-Ϡ˖{լv3@PP' &%% BBB2 xT3ѱ(ZjE;vQ>ƍl0 PX+**`$jٳ1rHDDDp:O?ٳu >\}vNMɵbWdQ!4{dW?~xeU޽9 f;vTxse'^3f bȐ!._,y#0gNƫ ^_T#SoFFWb;hڴ);s2:Z|gΜ7x@Qwjh4kL}v1cLm+8w WzL4^s_Z4MݰֿG;qHq60LvСC=W Ohڴtݺu>xyyW_ŬYYt-?nݺ3gr>ʕ+1113cF_|9'kx]+Ě=Jppn#)}raŜ]KkjٲvZMPPS1d@ /0nnnM/.gϞLs6,Y|5 ̙yqM0a)))8 Fy˱}vC {/BٳgOk~;vp͚5@sW 7#l2eZZ^}U'׹3e]HHH#F[ͼ M¢"N/䄗_~ȢB.S5knٶrĉ.g#h?s挩M1*g\$Kd`AnY;r[\(**Baapܸq&@֭aaa ôjL.gZn3I&h޼rÆ +O??>'c8P(L|oݺcHLLdvZmTTijzC-dW֚c@k=yۇ%wxͯT`ٱk֬A||ʔ<TD|qpppk|Wӧ~[/Xƍk.,]7&2Bb?P }СC1~xǫ"|wĉE,o8:J^3c4:x~ gw@ɠP.F!o?h4Xj歷B4i 0p5Mk֬YEVL^1cǎ67r>vtt46n܈1cm0F/WcȐ!2}>22RګW/F#͛7 O?ޔtl/S<^mGM@ij(W-@r36l؀M);"""Ҹ+񝘜l67kΝճ`ܹHMMe-iF3_"믿7ni6*++uSL[k9{'okfHPBzIPZ||X`jʔ)6)4-3 IDATBljA/0^^^cǎ4*&L쌭[dٳg_~hݺ5=j%B54hoߎ]v˗/GFF*j-'"111-Z,YbjmZ#N P4uVxzzœ&fC q g&༮sqttD5oiGϲb ̝;=zuڷlE;gee!!!8}4&5h4L2EkN{* Vsپvw7; >\K|IנBCCq ڴi7nԩ?R ƚ|ML2?#f༆y̜9S3fu!f͚)gΜiUx Xvՠ$ڑyM}]o/D4h< g,vQh5?W^1YQDh֬6aM|гgO^ }Ŋ2سgЦM|jkW@P Ƙ^rIIIغu+?޽{.cpٳ_ y^-s݀ԁ6¸q/M,[k֬1 1bt؜v ><gӱcNJW^yr|>K.Ś5kxbDFF*"X[Ç1zhj 8uIE_VH(-[Ǘ1Bi?cq04ܽ /11QTCUOU%$%% CBB5Rtt͍!ҥKݺuo{)?#33&O6mP(v̷gFhh(***pe,[ ..&+/kO?p6!k֬q|צ6NDDD`dHO0ӎs2}s .X{L; 66 ck Vr Èݻ7 6L6n8 A `ɸu>}ʕ+՞T*2e T*-Z`?~–-[WPXXk̙7 +># m̢EG ì48F4lp ARW_լXLUL7_zftzl_:tP?SXX~fí[^xF$c Xt)°vZ_6#Fڷo2dUỳnݺ fOO FXr`ɓ'km۶̓ hڴ+O9lK͚5ә:x<6mdovejs'V\/a 85jӡP^1ŗkrW^{g^xAAA1o<\t }5ʸlb š5k:j*q^^|ro7 < 9B ш?2$ؾ}j®]p fŊfdOAV`8+{ٿvZrv3}l;fgjsNCFFӑ|/"Z-N8H$ܹs.\۱cdee[nHMME߾}Ѥ;{,z[fo߾f8vz]vLmN8~8G^zߊu_̞p* Wm۶Y <@֭v&߹?^ߵkWEII'Uo6wXPPЂs΅c!̜9b޽s "͍ʥK ŋ燖-[ ^^^;khÇC.C 99HJJ%!<<\T~z{ l(?"Kw<Ç Q^8YW4ȸ&L%K`kk9GF-[*5+W\֭[>}z}g~]} ۹sgSv!zݺuSFDD| >ġCCdgg?'ªh`ggOOOTTTDWWק(Ǜlס|Ç7hСCrwww],ǯ7o[o;w. %PAzO(ܖBPs .WUw&T*w E~;5fĉڛ7oj1ݚiӦ.^%c"2aիWOaaa;v)??Ο?O{#G۷IP4V8{,yzz"""d20`@A&MgϞ59FCR)55b1xzۓH$y{{ӄ æ6l߾5k-..6)u?$ww .dD4̗a3Ο?h^QF ooӦͱRCT* R)w^P(n&''/_˒#7x?p!"my>T*qQdee!//yyyD"D"AXXbccaN;Ԕ'ObȐ!t4k֬^| =6ZTrRSSd|Gek׮+@ƍ%ݻw/,))1eV ?,88Xa^'""FcbˬԆk׮D"|w2SbLf̘a2^-ՈaabRSSU@ˬY7N٣GMv7ζRcTbÆ ܹs߶K.?Ӵ5p޽رTT233Ç"$$DU0}ʰ]vMmKCdZij[ԝb V3ԶE6mLFLc>^FGGXR JMOrK.G z`;v0::vኋ/[bA,Zlʕ 6۶mZ~៝ T OOϧQ7uUsB.sΪDի-?9hт>7FF bƙoaÆYNYZ0zhՙ3gp!ͱHd2Μ9ϜTTTo)OO~uwk׮ݻw׬X^vMNØ1cJN8!8pQ~:v܉ÇÇAQQQuɟ9yyy!88{F޽a\S\\N:ZlIׯ"5={K|.8|H}.?vȑ#B___SdD!CTaϞ=uOz?~iQ7na4oOEID"#$=33HLLD~kNxdee!11QձcG?qqq9ϟI(a 5 pOheW޽{駟RBBx<@^^^4qDJOO/Raa*޽KG˗S׮]Ɔ;=vYY^OcƌQ  0аajy͛2kM͐JԲeK-[jtT*5I.7'Ν#76غu+yxxhGYz!(444@>wyhylKmڴ!a39FG&ѨQڟ~}1J|mllmf]z~~~-Nӧ?]7ԦMH$d:^OZRT*W.k޼&yE'X\hu.Q(4tP@C 7rرWXVʕ+O_%VWD޽[IHHPܾm٩RRR1,o XL3#GPk+ՠP(EҚ|eaĈ,+CO~~~N:O>mp׀>ER|x{zzeeeq6:/^,mٲ[zj2zFFRǎVC9x P .8dȐ[8+a#G_'rJ6RIڵ#X\QմzjQmV/X=:$Hx;}(:ji͚5m*TK,ћcjŃI&@=29Fe^uQxx|w޽K2Cݕk׮%4qD-㞼<%___39C.ҥKʸ8ŦMg*k!Iġ?~|WoԩK3|ݻwMm= !{{{MK`ܸq֯_oPYf)|_TYX8|oݺEB埜;wb1uԦ㇣y$&!!Aj*!Fbܸq9 A$cB?իK+[jklpB@[l1 lVm۶B%%%նW(Ծ}{g/nܸAM6DK/X,.Dŋ @Iqq1Z5k& ѥU9srL,}Ba)@|DFF>mV?Կk۷J$].]۶m Rٙu٘0 ͜9Ӡ/ٳ=p0aA3g0omQT@UTTжm())IkӦ+gk'+CﲔkGܻw~N:QQQ 322Xu͘11cF" "cڽ{7ݺu(K< HDC5Ֆ[H ѣmEʆ)..!3_~ТE8-2XP a_//Ov2<+GT[߻wWVVfW\\,,--266-Z#66x6m;1N/.]Bdddm&Mׯ#̎uɷnݪ矝jGDCQQnܸ\{wXx1^jkZܸq.\qE PXX(jܸ1<==Uꐐ}nmb1y&=zԂ >&J `LBB5Ljtuڸq|yM6ҨQK_}Н^J<^{55? ёWm]vQjjj.|;`ݻwW.==кu7 ILL$wwwɋ髯һٮ]}Gǎqafj1Ė&L05+%//.ڵ༂YfM, WӬP((22RVVfp5zFX!Q#F {{z@Mo ߵkEW-NtCc6S 0?$axbې!Cj4'b2x<t:gLL sӑ&Mi2`t:UDӞ}0lyqm\zՠu떒e 0o=zX,˗/+ -ݹs'"##̦YfOJJ d2+ eV8G*|@5x ١K.طo_mJ Z\.6ٳ]n%еkW;wIHx{{C*r`cѼys& @! AAA֧0 C. 4bÇWQ_vAE<߽{|||XFAaaam w= IDATJd<%J0pPMر]Mb z⛛ P77k&xPPPPe;ӧ92,qEW]8:: /\G"x|] V o߾x<^_CV+ ;ӥY"7jd2}nn.Yrxr-ޞGttիUE3.^(Vrss oFPQQWleňۅaj=|{V4+U|ΓkQݍ^( \x.::'";;۠Z=zĦIV*`M UV8G cg0t8884(U*|__jSw<==6X ;;jW`rRu u5 xX8beee6l "HR89UU-߿nhYYYU|#//+^G C%vUV|di4զcaxxxk>P*mɜpwwv=C"ga qe|2339[M91..Κ'` oܸaP^Ó{ip]U*STT>_¡Yf/)**MӦMz3g 00 /S}iXasMx땊/0H$֭#Hxwܩ>t/j%@Dؿk<233qdYeffV&11رcGV/rGrrA߿7@Frrmk9|#Tzd VT CXXX7Μ9ׯv[l)#̊olReb-zݻwCm˗B3* B` dڶmkY CJY1_|>6m-ZIJeT*Żヒj]k֬)+--#֬̚YS^&M?fϞ CΝ͛kӧSeK5~o zŵkmڴQھo߾@le6̟?ѣGlwa̠|oqj~Khƍնt֍\]]ԠڵSܼySϲYV8?/P@ڿpE'NЙV+,ѿ j{4yd2=yyydooOmTTTH23@dTTTQuNQLL JZ[2'h"gddP>},e?R1$$BaɊqm} =effi;v,j-[t m[l}޽̙S]SϏJADGGˎ;e4+&@RQhhC رc4 K6m2ȵE...fX~=SVNѐ_o23_F6o\m[KCQ޽I n9;vwܹ~~Qbb} ]1dȐ4 ܿ"##Zaٿ+|իtk5$ )!!Z7U+ \ww˗/֟P(u$5(f̘A/0V@Ν;.z̐!CO=pjnX6F*OԆ_x13fi<|<==׷ڠ2TJ8=<<I.?eggQAA|E0a,_\ݻwbͲb牯]iFF5ڮSRRB111jLf9F"߲h7r#XLΝ9sdoo͙3Ǡɓ'I$QH6Y,9v BرE&QxxΝ;{n=:[[RL|4-5VaǎdJ%k׎B!eddihZJKK3xҥK~@ twwwҥj-ҏOrez^O:EM4!*fΜYƢiV̄r+Є* #  :TpBs>rssϏD"}wl ԣG@ϯGp2a@GU{/kx<-+~ ;;;W|޲e˔ e=hݺu>TNԩe}ԉr9r`Wvv6jՊмyH ͛7)<<|>-^j⊄Ba2AC(+2gjԨI$:qA^0K|||9rDU~}X1 P%r٦5 ۷OX~=ϑK/8pٻ wruu%'''ڻwA >m2!ÇBI$̺ L&A5jT ܻwc_+FgVS%{lڴi#J=ztNPPPqEEE{wa,_}  k׮tŋ7If `~4nxŋ "ܹ3)SPQy%_8qZhA<>[QQAaaaŋכ 6m8GoɦMOc jݺݻԍm6'Z`f'OD@]t1&~[&xY@方~5 M<!ggg 7oޤjҤ ޽FzJHHΛ7ϚV@9qDrzV|H\]] .\`b󬘊/"""5=Էo_@_!͛O]nnngl=Z{uO8ۻ3"`&AMJMZ=m.TZZjki*Vjr1vKV1]%A2 10'V]gy̜a|>G"tw[VKs% ˗7 kΝL(4 (uO\z=tPĉM 9ĉ4|p@w۷RZEEōdǎiɒ%j x|`PMjjjۤ%''ӠA=cǎfowMK.Ν;T*ٳgSiiip87ۧM+E7W~B1PYYI#F(} u=UG#AϧǏS][ZUii)}SO?IR9sfOWٰaU.G`\.ٰaCwonڼy3ٓ?=S駟FDn7:u.\Hs 4f̘zBt3NG ֵ֬a~|MѣG R[FA  _ IAӦM3) pBq`ڴi ںrĉ`ER6l\lBG[;NRՔN ٳ)44T*Paaa,;;T*Gյ]<""DA6N2۷{L2fX^U(>3:=ɄÇ#11GAuu5$ BCCJJu砠 CѠ7~X,`ܸq7n AIcԨQ0 XÄ].7x:ϟGbb"?큁PTҥ PQQtO=ƍc"$$y`9stLOO֭[چI&ٳ'b.k֬o;s86lXs2h r<_[oujv;RSSqԩ_UFJR0cƌA߾}… xg z~jMlsb 8N.;dbAii)nX, RRJR_[ʕ+k><^AK/=m۶`mٳK>l""_#Gxe˖K$ =M~r|۰aÌyD|uu5]|/aXSSC+VO>WXam|;w f/ϯ\.709]v&LPP(rɗmmn7۷`xfԨQ5k, L&{gϞ*J7sLSjjj,((;S*r|- }<|o *֯_hcTN'̙3T*gϞ2E]r" 2#g\?K/;cq#FsbΜ9ZV+vVj|T]+GD:ujyzzz%|^ڒ999ɓ'n^TvzWAZYY)v& .%''K9"C$k#O1FDn{ʖ-[oJϻ %7ݖ?򚯏ߴij DfZ/ݴiI<\7.]ꘙ|? <;c̷7aʕ+k.yد;w :Q|l6۾Qұ[ڶm[ڵkh4%ba&":XVVڢE{CvUn2lDT$WYYY|*hYdSv1ۈhwii_,XHHHs|Dff-///(;;Yrrroa+--}>;cu 5Ϸ߿ t:\KDuM~%11k...>;cu!JJJ>y7,,?PV+(v|ƶHvm;wUVo$baNDZVol;t_fTn[/oU|wv6ol?KѬ&UbanDJVzלG+!Knnn?/U SnYc? 'ba DIIIɜXOrr2_mڴIgӈⷷj}~W^Z{Wj*hډDG<{ŗ]6իWy'(UwZ'%%juGkF#FeܿjBDi1֢]v];vlem-n*?vՍn} Hd?^W_8csUOLL1++,DxƘhA iĈCr#zO?aD}Ǐ}\(Ӷ1c賲Å1&6rhtZZڑʂ{챤uڝ /7;~0 ˗/78& ܹٞ}>yZ!^oh7dȐG?.ԩSVddd8f͚epB9Děgcm |ֿ6mcu;X***?,777D" :j;gϞq̘1֐ɴz^p^pOD4 /c""'WXaj}].&NX{^k7, ݡC׮]ӧ222LVu4];cAd|7n6pvp`Uc$5!I%";=7\0aBն7ʑ#GV;vlj1%10==}3h.x4-5-7f*#ݻ#Ç]lw]up\ؽ{w͛k V'c;^߿Λ7/_~v'lqqq@^ @5nG{c_CBBbh;wn6E,ݎ]*sss?p "j c5 A `]wiӦuoWWeeeXODW=!rСGQQQ]yunGNNΜ9cQ|&BxXXݽzӇ;w lrL&wUUK5Կ,:@=Rmwf6HQb< }ݞnݺ!((HR{PqqMV &Ij4JJJ.;$4~[bamh9ZPL"*'-c"B @w( ;R.ohXIENDB`blockattack-game-2.5.0/Game/data/textures/i_check_box_area.png000077500000000000000000000061761347224572500243370ustar00rootroot00000000000000PNG  IHDR,5AgAMA7tEXtSoftwareAdobe ImageReadyqe< IDATxϏuwfnRH<@Ԙz'<{$!1$`DB* FRKeK3;_vt;{?y>3g?]\iip:|pOnoZԏ/ggy7[u'/^\?\cǎ1t:uSMϯ̭N=pQ#-?V]KKPf9rootrkss~n=nm sc@^FΗeyo~Ћlz=-shpX^lo';"xOGeb׍e]/I|a5WhBOM ] b{o:X]V Q,tlXco:D ޱ > Xq̓y{)m2zo Qh|,tg@Qw:d=m 2,wi ] NCw;De@ȅ>wB/CipA @en@Q:Н1z>yWס@z)`m zBonN }NAo\Q9-tAAo딻1zgbB>&<Ơ7>mJ,tГB8AwWJQ/A/tpR\3b!wrBtȝ B22Sww;2 drw-s  NX5Г>{trXMwc^7I﹓ >5.[XAwcuY&A,t=>2zJC,b}!2 5KA/Ơ;)Kvgzmqk-x}OwA }j-tOM:AOa` @Ȑ:̧wA-ttg@ = :]pKg@ܐO  NEYA/,=C v z)Yw/wȀ BO  Fӌ;^&OHA-{,|;1:tY+3,O V@;,tBz!thBO:x}Y-r n-ttg@ YA-tO[tB u{~B,A/-ttס@ =YG-tסCްГ@O=^Z`- B $A S O]m\B zsPA j{ :X~= : K ,t%Apu [n@ucA ek9@Ȑ{|*dztt b|ϳ"^n A&zCb.4I TЧ>}@ .[ 1: ޙ&#.[ ;w\ pЛ?-n,_襠@>+跢D ס9D ޛ|S p-t;ŕQ9!xrA !Ԡ2Q"EIqBwRdt'@QwZN0AuB\t@ w!iAo.>~.[ @ȠrCn@:~qެ7}\o AhY7t"Fݝ ,tekB:  ;.[ =5-7KQhS Blg@訏-BH1 ,tס@:B;9:g56,d@Ш˽Lz:awckQ9)2Xn cn@Ԥߑ }T7ikk| }4غ6WEZWdRQtF }}0vieU?Ká_zJo}+^o~ҥz }K/ݣGv=4h2c)2<8W}tBf/;~k=s/7fJ?T'R:t {~F6)ZϟWN;nTAzT/c?yy?ofqhz?کӧ?xk~U;罿 K[_r'O]>֫ƹ}]W'{;OެOמ}ɹ/,?zQwoogu'UGkk/./={ ?kgן ׿1?PWV::u7׵守O v&1xWIENDB`blockattack-game-2.5.0/Game/data/textures/i_level_check.png000077500000000000000000000004301347224572500236510ustar00rootroot00000000000000PNG  IHDR;0tIME ^4)y pHYsnu>gAMA aIDATxA PiCtuvV`m!f͜t.5aܰ戦Ǻܶ,m;'~5(R-5K(kP̥BCִJ|м/8'&Ff=K7ͥi_-,h4uÑxծpPG&:q 4~aZ O;LuVIENDB`blockattack-game-2.5.0/Game/data/textures/i_level_check_box.png000077500000000000000000000002451347224572500245250ustar00rootroot00000000000000PNG  IHDRR9tIME a pHYsnu>gAMA a4IDATxc`BRn D;W=jѣF=jѣFCe4K3IENDB`blockattack-game-2.5.0/Game/data/textures/i_level_check_box_marked.png000077500000000000000000000002641347224572500260510ustar00rootroot00000000000000PNG  IHDRR9sRGBbKGD pHYsnu>tIME4IDATHc`BOMCYhQG5zQG5z2zh4{EIENDB`blockattack-game-2.5.0/Game/data/textures/i_stage_clear_limit.png000077500000000000000000000040251347224572500250600ustar00rootroot00000000000000PNG  IHDR23;tIME27, pHYsnu>gAMA aIDATx lT-CQdFPl `3 #|  )& NHX0d|F@!@%,l03HF֞{{}oko}﫷{9v#l"EAl!#"A'6Gx-FB0.`\"ʅvtel &c(2 nJzs|$݈ ;OA 3\9-AŧLC !a̲%r͵դ6>ELH/}lRTI؍/ $>ʒd23p0|N(@+8Tr}O12K=/yot"T(p& aP iY2TMld:~L{yU3q Imq:`ѵ siǽ3ʘ4S#0ں>'y8a}HwTq' KCPS4}tXƱJYCi>8z׆AN;fqL3[}is2c'"pk? 097_74xQh|zAingbٲKG7FZpZCV-vL}Ku){h? NO|6+sfljT䲷u[Q (UߡNSHwJ~!,M`m(0vvs/g:+a6bPxMjzNn00{qyB՜EKcxf‚^=[1SN1>΋NXBIzԡcK&wQ88,K#1:m@=iƝM~k\u}~Q T1rx|%5 ݰ4odLY<2nEBx2/ܨ^'Yq;wm9ωđ`)`)$v㠲= |] wlU; wlN cřZE iDœ \Vߺ8Ters]4 p]. m^0cNnpby`0h݁t72r6מo6Rsg40mvq14[9cm`': >n G̜03'Ef'LA 6rrakz -d~0A=a>#LGoϩԏ005WK_  RRU?b6>|L+ >^d MU` ^( t}ȴ$w'ڡكJk("a1+Xʫvn1a,_XϩV7aH22V#MI`F0AS9{@/c1%hY\Z,Vw˸ )`>G puld~@.AL w5AmaGF@U]H_G#jcbhYN0X _~7Tr9j@TմtoXp ڇS5GjX΄X(>c5ʽd%@e'@MD9F%oE~;H E>,1T j땩>V)fѦs2V5 zM77 dϽAt.DS)s.9 )@ ׿6}QD.. ZL)~'oJwiV@0`\M 0qEw .᮷{55-IύtcTX7ZYU ,ӢՇ|⢎]ʨP Rowa58 V H~ `ݢB]d2HgjV5nUy:O/j0 .4 0rYDự r'۠z?h8)QnGK.v h4mcM>;UQ+L `Wue KzXݺs\+ϢȜ^X,2`35)sqrͷ?t+ǑjIpU/v2HGIENDB`blockattack-game-2.5.0/Game/data/textures/menu_marked.png000066400000000000000000000032501347224572500233640ustar00rootroot00000000000000PNG  IHDRX<ĹsBIT|d pHYsB3ZtEXtSoftwarewww.inkscape.org<%IDATxOo\W3{4!i:ID2TbV*  2" `˂BHIE P'6N{ϏE6^7]=ɛ{9s1sN_23~O1lR[G%5vZ `%-KK=LZkΥfv-]][%-b/#G1dsiݎ'|bYWћ/8†?v9S/1bȊ,&f[b `?I\V ̋~];L[w/B_.( 8K/ub]vFWuƾhģ@{U^zK7,//KjUvSI~ ML{Zffv-F̎nO8FIa$:ݗz{,g6}s]7F4Yv믇':3f֬4{VV>_^]xJR{=e;+n4cuK~}ݘh$m 1o8lfc $2=;=^H,,/fQSJӒU\7/up鸤duKE; vvuZRv rhz䮱Ѥ?tK塦.zti̚Z|,Ȃ&MBҰLZ( Z>,q״Kg*hT~ERwbR$ieקxFW#Z5l$sO&m v^J^] {O%?' /HҖ^zfbbsL_4~߷ $bf_z݃;… g^q 7dܻ2綂x$iQ 2[p[|\n'^"#̹IENDB`blockattack-game-2.5.0/Game/data/textures/menu_unmarked.png000066400000000000000000000032641347224572500237340ustar00rootroot00000000000000PNG  IHDRX<ĹsBIT|d pHYsB3ZtEXtSoftwarewww.inkscape.org<1IDATxo\gsf$3& !$$T(`MHl*v.a R@,A⢦ThBXĮxlϜy߇T3FMN8~V^漻rL;yš ItM: i͙MI;p[ԽzEEsʵ 亠<]m3O6僖g2o˒['؝lro<gbǿo3( Y>,Y VQ}@,X5#jF`ԌP3 f@,X5#jF`ԌP3 f@,X5#jF`ԌP3 f@,X5#jF`ԌP3 f@,X5#jF`l``y2nw^;gP+IRH1-W ݪEQLJ}uzfqj\l%y\ vQo[X#Z,I3wt!f,֥<'MpvZW߱3# _k?qz2/nWS7c#L>efc^wngS,Om7}vײcC۷[?% ZOpX^0}N=boxg$sL;p9}A|= {!/F7f&I!2o$~7]Ke޸xܥjqmoiuI%}k] C#q5?.Sv;wi?\I[WokiY! 5L!gYxH2.(yLKJmnrMI`l t^JIɓ:wtH rFnsM&Lʃ~+ gI̋Ɠ~")Бtvjayx,o%{}\xgg?8clcɎ%yۤqL]<fR(٪.ټ˯[қg_ԯ3rS$,HIENDB`blockattack-game-2.5.0/Game/data/textures/mouse.png000077500000000000000000000006311347224572500222300ustar00rootroot00000000000000PNG  IHDR szztIME,л1 pHYsiTSgAMA a(IDATxK Ei80 \c' WArQk\&j93 a|wEIo5f| pX 7X pVLXCQ5Sb$@^7&ImwvJwKCR{K<”RJm6!ht] I@S͚5Q[HVWDyO 7OP(ήPDTs0ttKK;JO8. ,Fyt᧡gu14!.ߘD=t%9߳g0_ꍀ9vwIENDB`blockattack-game-2.5.0/Game/data/textures/purple.png000077500000000000000000000020001347224572500223770ustar00rootroot00000000000000PNG  IHDR22?sBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<}IDATh?oFRhQ(9ER U $Dd~||/dХS'@"iODF$O iޑ$Rw{_#5!'|P6b}[{%`MW2 `% @URdn>Fvb& h=@6w|O cJ=b'~蜌U΍  (摑:&&1YP\qa I {9+#,ů0Sѹd>z/uyr_A3mׯ{^uE`3 J+b j+_4yJ$AܧMq^B)ٓWFo-b]6kF4O23߫ێ$,yeXMIXk=%#W(aă+xWK+ɗ:t]X^`ƈ&WWb:4JRu<1SK7.IRe%̔1و{>"ӳ~! !ޱ(#d`?|וգl,)#jxp2R:B̈JT.4J i#mwH{4B!JMjdJ'8.7  8 ?H ΡjPT6ҬWJkec1h;-?~%6H$ s3HDG5􈆦z+pp:nvOOeOLeOxS> #g #giPb\HݩøfW6lM0/]N>[l+e m/Lg/mN-vxɯ<3'}Co+SN9@ʆX~Q'0FIENDB`blockattack-game-2.5.0/Game/data/textures/ready.png000066400000000000000000000072111347224572500222020ustar00rootroot00000000000000PNG  IHDRd25~miCCPiccxڕKa2r lBD NƆV,j ɥ憂B˦NVq_V*kSa! mhg0}/*=2vaQBwUU ?+Xn?3wBx|vY x qM 4zjqR .{t\1ɖ!bG pUxF 8Σ-pxLs}dhOd6g pHYsnu>zTXtauthorx /QNKI-%/ A IDATx[mlTU~Ι)T%uv%@)و?E" VC1 m*DPâY 1ACִ5 -J%#@ ˲:s>eޙiT[!{{=9ǹ/_/~_~"zQb\)佣@鐨Y áBQ6cNxqhl9+:=V ,̚:& s,j锸!Vlz#v58v)ixq1OSN*( -`gs^j0j84H yY]ھqrr662:0S,̒Z`lHQu ,h  7oU˅C;8BRv F2+1rč|:G8r5OTUVH>0(;~Ȝh&}U/D> HQc2;}jYQQ9M?:V(bk{x S[o ,⠠gKƴ|Tu" \K"Haxxuߛl (*g^A5ĒS%b-~B)Z#@PP]长])jl󱃪k -Q|64%ǩHk *UEt3SQv ~r3wU5 b^Rs_zBTf F"Ro71 : Ÿ8Icg"yᵫ%N#K0zF=:bKah0F}qP33Yu t~m~ò޷S]1v? t~t {ƷfD΀2 Gi? i2jRocm]m7fQW9mqW:IxU4X0suxvl׹Gmʳ8Rz7qVa{sѸݴOS6-p%MH=c /#l1.m7iGECcB_/~_PD|"pVUV!QH1P[k{Kttej BKѿ8FAx8t?6d h!d95j&Ky1iCQyKkW:#L&)wI|d1%rAx'VCTzF*IzE<Z'q%yg"sxmEׄ0N eMhávtPpotx1kQEE0Wh8'cjfSuc4E!B4D` ȑ6Dam<1Nb(IF6~ǿfqm',|C- ;N?@%f@yqD94I: 5܊1Ml!Q-C8x=O #0’h[Zgu'M D`2a.Y;3x#[I茍 ";9 Jrf&O&K%& zN#(vƿŽ{ ۍmb{[(l|VDj1KoDq3Wd(Vim@*5VUQp[r5ɱ8r58+f[g'JY*H-PA<$8x}ڼ9(AʺXx0ByYkn A.JabI |(s:͆ ٿܹ.1ԩ[kpLת"%WBJQa"\˾vei%Y_әJqxZ҂clw6D@!|Vbӵ0TQ[k)T VJXB…e>LGTKA-0_n<=T҆hԫ373Y8^;/3qTht y(2N|"~z*ӆ3z8&7[F34L O+BW;H⮃:ʚd%S|{6#@jZűBq%~]?09''KƆAĝzJ-k8SԆڑ]SNG̮X8n:8JC!,ڙBĺEzSzv7Wc@r@[C&[W&cCLgJ"8F=FjTW'BKCRS}w?+dQtt]P@ls/Im-QtGh ;y"IRkPJ XmȻ$:QOCD,qهd$vۼ,"9 ϶-e՞44J}&QCF(RFV <$bxםUO%&!B[28hvۼ,'q/9bB=ɸQcBP3Fy[_F^Gd#)RHRxy=[?e\+ߏv^(sDr -_F!N 9_(KtmO&<2`5KM 2SP\0FMpʗ8qVY;u ޜ+n^6Dt'8һ$zs>ৗ%!b6㢕$=.ۥ0|%x}_/~K?7wG0sIENDB`blockattack-game-2.5.0/Game/data/textures/red.png000077500000000000000000000014771347224572500216630ustar00rootroot00000000000000PNG  IHDR22?sBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<IDAThAN@;$REn*h=BOA#pNm]WݳRADI$Ԅ&t1 P 6,e1^cm!({`bT?2wP+QX%ڄ+Y䣺LЏǁT~(-2k4)/E|Ok„p4r·jnzre ̧ $) \dev';;$U Y]-#G/jy,˛}U/(D8S`|A|MgbK}X))R_ue<%ruHbVi5sQQ^-(Vk-ss;Eٲ,f^U$I% ?֋ٯ?@B|'ˮڷ,7"ȲWoHd^V3<-yoh$;˯`^ehy"IR eB(>x7aC l),clTu/#R$IPօzGw%QtDe5=뎫e9dʲ2Lz$~`*ʘR2+netH,f7&]j!"`p?|4qSon r3%[d=-cƌ hqPVf2p@)ٻG (Ty:xT>o >WV^?_Nj݁|01]N?^d4 E!|)7g?AUIS6ŗ%'ćen:U+ݲ{GǭdE U+9;1leyg*Ķdҷi1y&>GDDqt Uo .5O (Hڌ~կ,N<=|ne]wce\Tǔg=fɧ-d|ڲ&z3@,l[^(4n2һz\p?KO Ē#uIeweĻ=~=HzEB\^ ,Ƀtќ?,,uqLbt´.<@,qYZP]&#s B"#^84;<-$+2qjf;=7c􍉫LGtJiON*WG_tg ^U;H^yIؠ*ACq{',C\BQTY盦Ny-pL̢O|}Y_1d:jGUʙKMSBC8oyk'q_":^aB9@^ەCKx̲ Bٳmv<+42P\S8Xqbۀ8B[QX!-X+רXE!>9<;} +:iwfQf0q˾(uf.Q%lbgE7hnږx"kn1v[L}] q7}xJc̪Ϝ]YWF}]@ttG\L̺hh]pd~5gtjaڷO4'nd|˗3wI.%<8IZm݆7t%YN ]:ʣt̙[*8(=>\pZozwfÚ uֶm)z]‚ߵ޻,Âѻmwa4.,‡ s$YN]]9}B-X-PQZN(ǯG\DE)VUkZcǮrJJǧg&R~KaiJ,D "q*31=7kN1yVJýV&jZ 3UUY;.:/55S2m=¯@=q*nbՐeefC9fȺ&23uJ_{,Ăo)5?{{*()6l6$z&F1(9Af2k>w u5kWTmxnDdDQQDF{[b8 E˴q{vgn3~ͳ. ]+[1Jmm=cՔ1ϓz] .! G/ (+%u˵E=]^BJ 5eXQy<յrg>@)b=ږily%g'X.B[X%=M{K (K粥PYj[aKaSZ1C2=8qt^0_,H~`)A|MfO))R_$qfTs zB/WS!LbH2ٝ>wO+ˊs^1 , E^va*;PB(ݩ2һٝ^XW@2 ff֛prvb/H1GShh{uB\\(qP!͡ęCrΝRQMyyj,j-U_` '(kZBqK&P޸M+]5:|Z8c,> Uc< ٢h58TB1E9䲢̰M[6آ('pe-qR[)[h.(8$ԂBtYӶcm;/uҌhIENDB`blockattack-game-2.5.0/Game/data/textures/smileys1.png000077500000000000000000000113601347224572500226470ustar00rootroot00000000000000PNG  IHDRddpTsBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<mIDATxytU?tHtd   !D`0QGޙuFæg G&L [P%ȰDLC"}!N>}έ[uo}oU'ɲLkFP D|Pce? "IR; H>:q2,^*$#"$ OE9(eObH$0"*`78Y,H-dYh4FAkY?:>~k!$K.A]0G &l"ll&l""#ŕX*(,,RRA}l uZ],Ȳ\DO $I, 7oБ&&OGJRƎE``;]RSsdf_m)*p@!`>DqJ`Xsyt&9?)Iy(Ό$Z2ʳ} N dYzDI2F30_Vb嗲qS>V͚~#r]IbQTjy1١,YGxx{Kii5KWݓԸ|E),ֳ|]$ }@heI3hz[J-^9gqaj)Y?֫\]$,?7+3''O`~v*J`, ޖ $u֡a;10:{ ˫rZ={ x\嫾/eYM9^ "Iҽ(BE'MGG2Zee̚mղdYe<=Qèp~,Y[2b'kK2 Ǫe #v֞\{kOiۧwrzY,^'bc'.qL=s.KϿ˵k9_^o1~ʺv_ܦ }03-Q YT``;_u劊*ظ9xoWnoWZظ9_*鯍2uAvX;_t4١́:lq5?5,>+B:{K^Pѡ6Bq d8+jk>ɫuX0@(6(H^U%fܸQ7opFC:1!;. {zj.n/44NiNt(GjF:7bqV-$*z@g]= U 41lh7E$I-zԹD NUrR*PCWyEHpDŦ6vfSt$x|3O=vgz)>>(sP$IdI;o[gr٣Ч݉n:c=:řt G&Sw5yb?, 'j(<^,~?i:h47"I'~$USЗI~a5 (nN"Ius<ʭ?מT]PmF#\<%5**_ac>Wȣ ϣ1.=vWWwpqO3GGyuqt5# PN7MIށY>#KGQVVCrk۷e>}O_'$=#GQ#nth`|O`6Ht_jN"tl@ٚ>ͭDE QBAZmX,H[ =*6Vk!m".KІj!vFwH#"#N#f]ZeV bhh aavR=ukI(;iLoY=oקKܚEt!fXwbu#fX7**.yQZ(K-h1A~ٱUUEnqf r[t`dBb_fΈfcsBнQr+2su nkzf~o i=s~;5"^i"X=Y}α޻h>>GaxLwX(c~'4`% aat "<;1%>@ix-j 2k=S߳uSOp łmbdR-cBb_K5c%җq䨺h!dmM}[) *L~V@Ҕ,ed 3K_ʹ)y'[ϳFd {kn7|WS^藛ױ7@¿ZFz3ӧ~bbL2ӧ~[o&[fEEr4MqeYXz ^\W/gPRWwځ;1h401]JJ匜f(mG7LǣnZ?.G`}ჳH]> !>,.~d?O6*ZmEVSz!|;}Vs ݩtlNm5M9g*E@!17֟9oߎ&ѥKVD.Al0I"mbӜưM;on+CA->JbqfFSslT(!l.yS9-gIols-ͫPl4i-)fN*Du߸*4Sjq!9v2<<[ofNvZgY]]Ov{\Vjq!;; Cuf KW]{rΐ҃ #O┮;_"O4YbsvX5J{kVޒ~+tR1yJd55I{[_\־;~跊H{(B p:1} ``puݏg[Ab}B](["M-Șa x\^!^!,LA!2*U?-w dVVV  &nrX =},͉ӣG8dL[Iډ ,Ow+Ҿ`TdYNhA"豶{psYEvskw6p:(Զݭ9ZDM"@;ܚ;^)RIǺ֎RAl/O^l+ -LR]Auu=)ӲԜVj K |H$"@l"c9p1(E 9GQcR]]9Y&;Ei_0{vW&{˰-Zu`IQ\r]$ w {p+1rPm Nlw^ށT{E7%44y/0=5Z =\~)7jqw~@'Dŕ8ı=3IIIˆ!ˊsf/< E bt6(P#2HI1t[USsdf_m2K/|. %\=]n#88`4L9DلLd,KQZ*X*(۾Ϝ-gȲʚ@% 1 hZOZ#2(;:!2C Pl d9zĮJDq&)Eyv6Bo)Z MF G' 74pe-߸rqZ(OKeg |'rlM?+YIENDB`blockattack-game-2.5.0/Game/data/textures/smileys2.png000077500000000000000000000123041347224572500226470ustar00rootroot00000000000000PNG  IHDRddpTsBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<AIDATx{TW? ؀bhLԠ cT$>"h&srܘ8N]:1QsLvq6cFG'1#jDPkG2~ܪ[u(tdA0=1Yo7 3P"̿Z& ~ Hhe Hؤ}C"B`I@X%] d![6JWvD0 IDsd.u^$q2DQl\ئjQNi,֚Gc[OAb N  SD"ML "MAL"MAws-JKk(5lE;j} xX-b 3xb(R1a|/z?MR_Ťg4e` IlkUAAHV7&:~&cT Ahl p"22(PIo(m| D뀉3̟7gf?:V/)_ww`(ZCsAAC꩘0/',,P}6o<NS_rbREQ2}MY/l) 1zY,YzE^EZ wJLLͪw0pkKN)gᛇٳVoh5=+iD0?Ǔ0O7k8_8^fx×t|DHB'Mb':͛ ̜nEQ4DGQwZFo1t+7p9ILͤh3Q#%l(K!A=GX⻼&W+A5#1pDf](>Ww{F䤾Hfb;#p6o )5خuȕ oK{}Q@75E w4S&[!7<**dzR/Nn"8Rr%"MkO:=S)~w*A d^qoId R'ܦ9y]|Դ r]R m\l_A`g8XǛ ؖQX[Z,Όhԉ#ץlR ))u/Љ't <¹}Mج$*Qyg68G 8:e͐IteR^^5GIfpcMiL؇Ν1o1rFGN|<0Пf(3|QW׈3Og31w͛ =In`ʣ+AfN=;:D(n-3:;;v_L-rEqYA 8OL}?n N( wh.V3Fnpp!V[p0yv6|4E|8{rq5;;2RS3R~I,139(zJ\llfwM׀rzs4]v-5ke{Y|42g+O^ǵk2;>CC]ռR|AWvy竎WAm ej+{ض9-˦j(H]]#Eydg=s>$92Mj`!cp bTyj L=a"-5yʨxNaHqjMtK@`\>-LV;u1dpwAVT+HU#3<{VYR(duO+C'&~=%O#MY `|Jo_ {a08CڔoZe'hRyy;4obޏdY!cdD׮W5'S5v?itdf_&k P6Vj@03T%)X:m,|8(dF?phJB YCF?֓3Yl)|i2]xrXJs;c1sl9ԠPƑq i&$Duy}H,? !`:AR?sؽ298y*W7*`c=y|t֊( m H3Cw׼^GrR_|iB+4Y.CB%RCC\n;Gxx9 SDz,:$lݏOZqZ4ڇzae~ue˸AJKkMg3{mΝy~ ^C^MwZ)"Gv|,,Z% pKG(&KAܱ ^1YDSwX^O ˡ ܼ&:jQ(cmk_&aagZR*1n/x_C»wqbРA^?#KRaNxw =Y?P&VzⴍKӧOH9{jkrJt [ab rmm)^EzIL'k~x[C6;^|EW_w^0QVt+a$O6nqgv-v6޹st4~oucf=HHXlr˛fkbBo'B T?PPP@aa]N'01g)iV-ߝ /޽MpV?>*Dw;V-ٍtd Up*2uOMr.h!0'lV$gggSQlp CfOQYnfpz=lȲeT=#l2z=!'*+o.ٕ 84[ׯcHf<fp掷W]T6'X?8͕buX1 zN{` a_)N]JrF+>بob#2q}]dڵ;d=u(v]/ ,="RYۡ h>G08󜪝IM .h2&*J-x"Gl?Hϫt=}qf=~#{Jf@qpEXa3+w 7$$$PR4$+W=rb\F*c'dqZgW7 T4c)ҥK$&&vpEE\伟~J.:(2Pn;:;^ye&s`|ƎӲ/6ӌ;|g fɪwfv@7He+ VN^T2sܲ6ӻWWN%66K ,]Xrssх}-i"2sYNzsiJj'kEuDgtBCy뭷1bR\_8t#F୷rނahώ骷s/^zD#w'#c9flu 0^zٳgm_k6Owta7ꎔA{Wg-g]9z%QO2n8Fه[,Ν;ѣG9x ۶m޵ۥ~d#mjvܱ8%@\\C%44F#!!!TWWsuٳPSM@K~Ϣ7T^lSg58‘s=͈_2ok*]hj'g|qG_?/[y r+_βac׎/a4yn~PjD3~-p,̱2N, )]0rDqǙH}tCl86,9[NEEUUTVݦYeH@B ӽ{gN0MͳEw#>,ӦOk cB҈>M'$;"&Wbd!3| w8~t=>s{~R*MHC0z33b4u *dsʓ`BohAl[9VrD܏~7iUQ 3,( SЪprm*ĴQ&c^obb3|E5]FZjqI Z][BҹVs8 tDdH)HS&HSYNyy-[Pj|Rs;/%W\V+k(m D&ϲ~jy4uY qzL GDNfhꐌӁ G¶˄t~$$qPk*FVE%S \FK7\(t8AB4ЌT4BH)>f񘺎w IENDB`blockattack-game-2.5.0/Game/data/textures/smileys3.png000077500000000000000000000151571347224572500226610ustar00rootroot00000000000000PNG  IHDRddpTsBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<IDATxyUŝ?UtC#B &"n D5L 1.q˙s2(1FьfƸD@ "bbBDDQ_{ku޹[~R[%R$^ uWǼ'3ozj)(^\Z[| Btw߀).>5G5Tbh[y䱵5k;vh.RJ[i>*~I&%ߙv7^w< {: ֭/^JW"@*:}Hn1Vޠ>Vk馊(TD![֙'rC./O/m.繥ZہRݪT!T6 B]q>q8&6r4-\˯\ʺ7?w"JS BqOM2&ھs[S[:pRj}eR4EqcX0w U,;/CMݔD%iьIR}2|RyDp~G:,[ / 5<ɜ8vbD9uk{ׁ)Eb'qۗOAgS'Zsyuq}JWFLh;}y~9;Ӝ0|ܮw "zwwp|sǂ1QóDz੔o:l\gW[C̘0HY$)ֽ1/o|H]mFQ0xpuY^b#_=8GRHG@L%brSu)eES-o`Ǣ߼{s9CJ.#Hs~k~6~Ĭ\~` N{:=%$ d11Y/"X }?_^ʮ]]=;uwxݷD3%<1ﭫKrv%pUKΗ.=ݳb3r>uB3 N-y{%=S3ۗ.Չpsy鮟{dQXr]Ť3ף?=u3wK& olkܫk>}nkspMd]m,u:9;nWV:iΖ}J^^_^;\YRY.gAY-֤Fm,b&$̈ڮ{#Bk{Vx5<^h.#MqsqRNYRybT{jhCub> g:/@ccmQ)iNccf{=Cyr{ !+>fw<^AVq9m :AJz6>sta@rՔ+rbѩk>Nӆq<ˉE y/}6&7pW>.àA Yڶ2<gs~y׉b$Գ;y٧*sQڲe74O>Ghy{;u) /x~/?UJ]j}B*cÆ a{ )v F%e R }R]֋)X)EOUh (KQR,vr9<žƥvJG!9bx0lk*B{پ6reTl4^$#G^/ɮSSS8Q1@`끧Uxf/A891$lFژ@/M>C*lUB=-0xݐ%MB!/foXO$|Qل-HS, MMuB +BՔhKe*_H%H}EQ٢&8([ F-* Lw8x{ V}5U(p=߆2D8<)60դ-)K1٬)P/( `Ddk_-aڞ*CeU\AqUV,3 8Hr ()Pgl!e-Mexلn\ʑxFF@iy P*RCk 02><.i!ۘ*HHDR"U3&2 2:RYӄ|Tw'F>9lC˂8 :Ԡg" :@]H{ *`i-# *`Ðw*70uE:n7*iSd,g$$2))Jy 1YBH+0>^Kcc~ B@Z'[YȸvQ.^G&v<H$dIO!Hhe/!@Zs WkBa1QJk{Cud:\TGir} ȤDduȖﶅ Z8~G8n̛_V*kWlҿqvuk$tQ+aO=] R?%- J }x۝+2^2Md͙HECHR€@/}לB=VΑxZ:, eZy&3Jx8B8p8 1k1ڠ$:3 jwn͘.+il&(OP,-2 z͡8pP "؊wJi`TNha:%)SIy ۷ƇzAҩMkdSmZSL. U6u6I@%%*شiW[, ᳭mzVK, !k-Iuf=-%eV G D&T69#I<7+x* jh iˠ:3xiWWC]3-x #ߺ- R A&%^EtyȌN OE/{\򳼦IÌ=7άcX+ 2_P>TH`(훍C2^eH 5m{C0"^F^` Ƕ9rY~MHg'nszHcC$krskWw}E1xB)`X>#uWVOO۰7DEr)L:JJ4 TWgRlgx+@T"! 0+c_CVKHTBGYnS'@&G671zvhk뢦fkm|H_K::O9Pt8.]::4U"08$`\=2'@i`2t t:$T')]" ]WH]wŽۺX.CR[g;:2,mK6IJdN j&pjHs8IdMB D% {>Œ^7ې>Qڬܢ:ԋH+-ſmOoQJmѫ3,&Ƃ!r|FN]YB֥u|* %߃ )$\Bo)| `c3 Y0,+ixXk`@!e8N^^;4/ko6຺g%t!R"d< HӥI )&Dӭ͚/ $U:2? |q'>r?N8wpdOI1f&%av7 d$&S4 ΁1p]2g.:Y|C{ng&ajYѴtk1L[!Qqߌ% bk|٧r\)/mF6Z'NLG"SFN/vpo8ic~0 O)JlXlAheI5 d6USU$p̑BB7*^Y;lm_=W;aN`y;az qF2 Mjbo hvZcG:%'^`0Ȯ :75׳ tpGtQ6c$c&=YsPT -o` Z#HuuI^]u~x?g\G lsv(j8l]8ڟ ?t6ol5![6߈ղk2_0 pdWXT䆄s&(v8(]EkW|{1<}v蘲ҼF/=P'0`:Y 64^5nIvS@n!Sy|ki| P6m aSldpL-g+}Ug{eK'T;%vL3H(顒"8NhmHy a6@KT`#7s}*i<4NCDQ@TYgm[ dU0u­'+H˖];leBvvȶrV>TuX6/ }+s=X yyhޱ#͌џ⛠l ?R2ξ ='Rpو#kW`@nMK/-.~lP BѢ fؑ6vS>Qz;C瀟 a\2aFH8<!)܏ٌ!ȓf(ֽq(9.]ֿJ\NZ)n%w)q+I~>#Yfs21T/#JT[CD6 G!mh߸tN :D9M<_3D?9=޸MWXGXw;eՉih/G_WM*fO|"pT nyA,Sу"DOyǔHO@ E5-]҂luCsKe Xj>y_|u|rVhh)8A6G6|uK!ʥl٭qG MԿ{:{:E} /H۷wrK^ ]5s[ k.|1tKơ9J8缅V޺ݮ¬*S[JZȲ\})\q٘WRpec} ]u|+>o{t!RigXjqj`OOb }KC/ KJ[+#hĆ?}Ը㧋wKZ- oߺSsglWΝi&OۋV ]ʤ= [e7<*z6SmWO})8zc؆֌4,id0L _{ġ}}wNHĂ4`@KgeY կnr׬Uci࢞P\o*v 1['EzLΔӇsdU+cޓ7}܌8Z6^* fs[(5̠AL:mS&gqImm],^¼YhCڹ==JP\޽gpT]`}hl:r6oMk.6i.Z7Xb7y=gV1RO3݄?.0@V]mx3 Yf z!Dvf,AϵQW 1ϘgK>m|^%48)0(ZX/ZnwMy*^+ze7}so@IENDB`blockattack-game-2.5.0/Game/data/textures/touchcursor.png000066400000000000000000000016051347224572500234570ustar00rootroot00000000000000PNG  IHDR44PLTE" 4E($@IENDB`blockattack-game-2.5.0/Game/data/textures/turkish.png000077500000000000000000000015551347224572500225770ustar00rootroot00000000000000PNG  IHDR22?sBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<IDATh?o@Cm3R6 E %|>B?CVF>@ N CUa*Er,Y (q/$)}(:ٌλ7)0s!p חn:b7z;4׬I c8Oᶀi`޾`FMUVዄucb(jC!?u_kJ;Mˤx.yli2IH?wZ? Ihȋt<%+*':$Qכq;cȋ$ DT_MVtmy~ZoO_W_qo N&kvb 1o5+ļ'V m!xq ұl&v5k#␬0?rJ"&LΩ8)-v&0cDnbݢ|J^Tb( rPVTdda5E]m* 2UL٤b "kJ@*@|LYVT#2)hQ;:K}˦Qvj==+e~³ 1)Ot)|~0ל+mFԞfgWS;/ћIENDB`blockattack-game-2.5.0/Game/data/textures/yellow.png000077500000000000000000000015721347224572500224200ustar00rootroot00000000000000PNG  IHDR22?sBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<IDATh횿O`?o H A`LtwCf\]X  NDc @ri:<4;}rwOܵ}o[c5 ,2Ax<[Yjii`(vVWfD4 0;ᎊkJ[Gh_VK|ʥQx:m x26SqBѺfg:LjHV$5;͓F܍e3x8Ad90ɳ]\-7#m ړcypAI}# )IcF2u>=# &46k&8@߀pH}8DŢ.c@gΈXB-Gj&3c!৒a..E2}uޥmu*%uY8M@^uVRzԉ䕆t/@.TQ)d~U _C~7%MhjTk3z|䬬m`xCz yne]o_ DIENDB`blockattack-game-2.5.0/Game/themes/000077500000000000000000000000001347224572500170605ustar00rootroot00000000000000blockattack-game-2.5.0/Game/themes/default000066400000000000000000000002411347224572500204240ustar00rootroot00000000000000This is an empty file It needs to be here so the theme 'default' can be selected from the menu Custom themes should be placed as directories next to this file blockattack-game-2.5.0/README.md000066400000000000000000000101311347224572500161750ustar00rootroot00000000000000# blockattack-game [![Build Status](https://travis-ci.org/blockattack/blockattack-game.svg?branch=master)](https://travis-ci.org/blockattack/blockattack-game) [![Codacy Badge](https://api.codacy.com/project/badge/Grade/0dfba60f2ce9484a828bd7c112f50089)](https://www.codacy.com/app/github_43/blockattack-game?utm_source=github.com&utm_medium=referral&utm_content=blockattack/blockattack-game&utm_campaign=Badge_Grade) [![Coverity Status](https://scan.coverity.com/projects/8278/badge.svg)](https://scan.coverity.com/projects/8278) [![license](https://img.shields.io/github/license/blockattack/blockattack-game.svg)]() Block Attack - Rise of the Blocks - the game
A Tetris Attack Clone under the GPL. Homepage:
Source: ## Screen shot ![Block Attack - Rise of the Blocks](https://blockattack.github.io/images/screenshots/blockattack-2.3.0-3.png "Screen shot") ## Dependencies * A version of g++ with C++11 support. Tested on g++-4.9 * libSDL2 * libSDL2_image * libSDL2_mixer * libSDL2_ttf * libphysfs * libboost (only needed for compiling) * libboost-program-options * libutfcpp (only needed for compiling) ## Building The only supported build method is using the CMake
To build do: ``` ./packdata.sh cmake . # or # cmake -DCMAKE_BUILD_TYPE=Debug . # or # cmake -DCMAKE_BUILD_TYPE=Release . make ``` The result should be in the "Game"-folder. To run ``` ./Game/blockattack ``` You can also choose to install it with ``` sudo make install ``` Windows build uses MXE (mxe.cc) with these installed: ``` sdl2 sdl2_image sdl2_mixer sdl2_ttf physfs libtool gettext freetype zlib boost ``` and libutfcpp copied from "source/misc/travis_help/utf8_v2_3_4/source/" to "/path/to/mxe/usr/lib/gcc/i686-w64-mingw32.static/4.9.3/include" Compiled with: ``` i686-w64-mingw32.static-cmake -DCMAKE_BUILD_TYPE=Release . && make ``` ## Building using Docker As getting a C++ project with many dependencies to compile can be a daunting task then I have provided a couple of Docker images that can perform a build. Both for Windows and Linux. On a fresh checkout you can use: ``` docker build -f source/misc/docker/Dockerfile.Ubuntu16.04build . -t blockattack_test ``` and ``` docker build -f source/misc/docker/Dockerfile.WindoesBuild . -t blockattack_test ``` ## Source Structure This project is a bit unconversionel because I didn't know any better at the time. * Game - The output is placed here * man - The manual file and the script to generate it. May be moved to source/misc at some point * source/code/ - The source code * source/code/Libs - External libs that are compiled into the project because they are either header only (Cereal) or not designed for use as a shared library. * source/code/sago - Source code. Not designed to be specific to Block Attack - Rise of the Blocks * source/assets - Source for the assets if relevant. For instance svg source for the graphics. * source/misc - Misc stuff. Code related tool that are used for development but not part of the final product. * source/misc/astyle - Helper script that enforces code style using the "astyle"-program * source/misc/cmake - Files needed by CMake * source/misc/docker - Docker files used by Travis CI (but can just as well be used for local testing and release builds) * source/misc/icons - Icons for the installer * source/misc/screenshots - Screen shots like the one in this README file. * source/misc/translation - Translations and related tools and scripts * source/misc/travis_help - Helper files for Travis CI * windows installer - Information needed to Windows installer. May be moved to source/misc at some point ## Reporting bugs Please report bugs on github: If possible: Check if the bug is already fixed in master. But if you don't know how to check it then just report it. ## Contributions Contributions are welcome. Both the current graphics and the original sharedir support was provided by kind individuals. Patches can be attached to a github ticket or sent to poul@poulsander.com directly. You can also create pull requests on Github. blockattack-game-2.5.0/ReleaseNotes-2.5.0.txt000066400000000000000000000010051347224572500205100ustar00rootroot00000000000000This is Block Attack - Rise of the Blocks - version 2.5.0 Changes since 2.4.0: Added option to always use the software renderer Automatically start in software render the first time after a crash Fixed the search order in archives Added widescreen support. Only used in fullscreen by default. Added appstream metadata Screenshot feature no longer crashes in hardware acceleration. Still only works in software mode Feedback can be given on https://blockattack.net or https://github.com/blockattack/blockattack-game blockattack-game-2.5.0/man/000077500000000000000000000000001347224572500154755ustar00rootroot00000000000000blockattack-game-2.5.0/man/README000066400000000000000000000005671347224572500163650ustar00rootroot00000000000000to regenerate the manpage: gzip -9 -c blockattack.man > blockattack.6.gz #This is done by the package script This line will regenerate the source file. This should be committed as not all platforms can generate it. COLUMNS=300 help2man --no-info --section=6 --name="a puzzle game inspired by Tetris Attack" ../Game/blockattack | sed 's@'"$HOME"'@$HOME@g' > blockattack.man blockattack-game-2.5.0/man/blockattack.man000066400000000000000000000047201347224572500204570ustar00rootroot00000000000000.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.10. .TH BLOCKATTACK "6" "May 2019" "blockattack 2.5.0" "Games" .SH NAME blockattack \- a puzzle game inspired by Tetris Attack .SH SYNOPSIS .B blockattack [\fI\,OPTION\/\fR]... .SH DESCRIPTION Block Attack \- Rise of the blocks 2.5.0 .PP Block Attack \- Rise of the Blocks is a puzzle/blockfall game inspired by Tetris Attack for the SNES. .PP www.blockattack.net .SH OPTIONS .TP \fB\-h\fR [ \fB\-\-help\fR ] Displays this message .TP \fB\-\-version\fR Display the version information .TP \fB\-c\fR [ \fB\-\-config\fR ] arg Read a config file with the values. Can be given multiple times .TP \fB\-\-nosound\fR Disables the sound. Can be used if sound errors prevents you from starting .TP \fB\-\-priority\fR Causes the game to not sleep between frames. .TP \fB\-\-software\-renderer\fR Asks SDL2 to use software renderer .TP \fB\-\-verbose\-basic\fR Enables basic verbose messages .TP \fB\-\-verbose\-game\-controller\fR Enables verbose messages regarding controllers .TP \fB\-\-print\-search\-path\fR Prints the search path and quits .TP \fB\-\-no\-auto\-scale\fR Do not automatically auto scale .TP \fB\-\-always\-sixteen\-nine\fR Use 16:9 format even in Window mode .TP \fB\-\-puzzle\-level\-file\fR arg Sets the default puzzle file to load .TP \fB\-\-puzzle\-single\-level\fR arg Start the specific puzzle level directly .TP \fB\-\-bind\-text\-domain\fR arg Overwrites the bind text domain used for finding translations. Default: "/usr/local/share/blockattack/locale/" .TP \fB\-\-homepath\fR arg Set the home folder where settings are saved. The directory will be created if it does not exist. Default: "$HOME/.local/share/blockattack" .SH EXAMPLES .TP blockattack Start the game normally .TP blockattack \-\-nosound Start the game without sound. Can be used if sound problems prevents the game from starting .TP blockattack \-\-puzzle\-level\-file puzzle.levels \-\-puzzle\-single\-level 3 Start the game with the default puzzles in level 3 .TP blockattack \-\-bind\-text\-domain /dev/null Disables translations .SH "REPORTING BUGS" Report bugs to the issue tracker here: .SH COPYRIGHT Copyright \(co 2005\-2016 Poul Sander License GPLv2+: GNU GPL version 2 or later .br This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. blockattack-game-2.5.0/packdata.sh000077500000000000000000000003521347224572500170310ustar00rootroot00000000000000#!/bin/bash set -e zip -9rjX Game/blockattack.data source/AUTH cd Game/data zip -9rX ../blockattack.data * -x \*svn* cd ../../man gzip -9 -c blockattack.man > blockattack.6.gz cd ../source/misc/translation/ ./build_mo_all.sh exit 0 blockattack-game-2.5.0/source/000077500000000000000000000000001347224572500162225ustar00rootroot00000000000000blockattack-game-2.5.0/source/AUTH000066400000000000000000000100141347224572500167020ustar00rootroot00000000000000To ensure that all authers is known for each medie file. Only files that cannot include authers in the source are mentioned. Most graphics are by Iwan Gabovitch aka qubodup. All of qubodup's graphics are in the Public domain Data from the OpenArena team is under GPL v2 Data from the Dietrich Radel (originally part of Trackballs) is under GPL v2 Poul Sander's files are multi licensed under "GPL v2 or later" OR "CC-BY-SA any version" Misc: blockAttack.ico Poul Sander /fonts/ freeserif.ttf Free Software Foundation penguinattack.ttf Dustin Norlander - GPLv2 /textures/ back_board.png qubodup background.png qubodup background_sixteen_nine.png Poul Sander (based of qubodup's background.png) ball_blue.png qubodup ball_gray.png qubodup ball_green.png qubodup ball_purple.png qubodup ball_red.png qubodup ball_turkish.png qubodup ball_yellow.png qubodup b_blank.png Poul Sander b_exit.png qubodup b_highscore.png qubodup black_back_ground.png Poul Sander black_line.png Poul Sander blue.png qubodup board_back_back.png qubodup bomb.png Poul Sander chain_frame.png Poul Sander counter_1.png Poul Sander counter_2.png Poul Sander counter_3.png Poul Sander crossover.png Poul Sander cursor.png Poul Sander explosion0.png openarena-svn887:/textures/sfx/130boom explosion1.png openarena-svn887:/textures/sfx/130boom explosion2.png openarena-svn887:/textures/sfx/130boom explosion3.png openarena-svn887:/textures/sfx/130boom fallback.png Poul Sander garbage_bl.png qubodup garbage_b.png qubodup garbage_br.png qubodup garbage_fill.png qubodup garbage_gml.png qubodup garbage_gm.png qubodup garbage_gmr.png qubodup garbage_l.png qubodup garbage_ml.png qubodup garbage_m.png qubodup garbage_mr.png qubodup garbage_r.png qubodup garbage_tl.png qubodup garbage_t.png qubodup garbage_tr.png qubodup green.png qubodup grey.png qubodup gui_back_white.png Derived from UI pack by Kenney Vleugels (www.kenney.nl) (CC0 license) gui_back_yellow.png Derived from UI pack by Kenney Vleugels (www.kenney.nl) (CC0 license) help_controller.png nicefrog (https://opengameart.org/content/generic-gamepad-template) i_check_box_area.png Poul Sander icon.png Poul Sander i_draw.png Poul Sander i_game_over.png Poul Sander i_level_check_box_marked.png Poul Sander i_level_check_box.png Poul Sander i_level_check.png Poul Sander i_loser.png Poul Sander i_stage_clear_limit.png Poul Sander i_winner.png Poul Sander menu_marked.png Derived from UI pack by Kenney Vleugels (www.kenney.nl) (CC0 license) menu_unmarked.png Derived from UI pack by Kenney Vleugels (www.kenney.nl) (CC0 license) mouse.png Poul Sander purple.png qubodup ready.png Poul Sander red.png qubodup smileys0.png qubodup smileys1.png qubodup smileys2.png qubodup smileys3.png qubodup trans_cover.png Poul Sander turkish.png qubodup yellow.png qubodup /sound/ pop.ogg openarena-svn887:/sound/weapons/rocket/rockf1a.wav cameraclick.ogg openarean-svn887:/sound/misc/w_pkup.wav typing.ogg openarena-svn887:/sound/world/clack.wav counter.ogg openarena-svn900:/sound/feedback/hitlo.wav counter_final.ogg openarena-svn900:/sound/feedback/hit.wav applause.ogg (CC-BY 3.0) Blender Foundation - Cut by LeeZH (http://opengameart.org/content/applause) /music/ bgmusic.ogg "Life by Design", by Dietrich Radel (GPL) highbeat.ogg derived from "Genesis (In The Beginning)", by Dietrich Radel (GPL) blockattack-game-2.5.0/source/assets/000077500000000000000000000000001347224572500175245ustar00rootroot00000000000000blockattack-game-2.5.0/source/assets/gfx/000077500000000000000000000000001347224572500203105ustar00rootroot00000000000000blockattack-game-2.5.0/source/assets/gfx/UIpack_vector.svg000066400000000000000000005407731347224572500236070ustar00rootroot00000000000000 image/svg+xml blockattack-game-2.5.0/source/assets/gfx/backgrounds/000077500000000000000000000000001347224572500226125ustar00rootroot00000000000000blockattack-game-2.5.0/source/assets/gfx/backgrounds/back.svg000066400000000000000000000114471347224572500242420ustar00rootroot00000000000000 image/svg+xml blockattack-game-2.5.0/source/assets/gfx/backgrounds/background.svg000066400000000000000000000343731347224572500254640ustar00rootroot00000000000000 image/svg+xml blockattack-game-2.5.0/source/assets/gfx/backgrounds/background_cloud.svg000066400000000000000000000143311347224572500266420ustar00rootroot00000000000000 image/svg+xml blockattack-game-2.5.0/source/assets/gfx/backgrounds/background_ground.svg000066400000000000000000000120651347224572500270340ustar00rootroot00000000000000 image/svg+xml blockattack-game-2.5.0/source/assets/gfx/backgrounds/background_sixteen_nine.svg000066400000000000000000000460061347224572500302300ustar00rootroot00000000000000 image/svg+xml blockattack-game-2.5.0/source/assets/gfx/backgrounds/boardBack.svg000066400000000000000000000207551347224572500252140ustar00rootroot00000000000000 image/svg+xml blockattack-game-2.5.0/source/assets/gfx/backgrounds/sun.svg000066400000000000000000000122771347224572500241510ustar00rootroot00000000000000 image/svg+xml blockattack-game-2.5.0/source/assets/gfx/balls/000077500000000000000000000000001347224572500214055ustar00rootroot00000000000000blockattack-game-2.5.0/source/assets/gfx/balls/blue.svg000066400000000000000000000057121347224572500230620ustar00rootroot00000000000000 image/svg+xml blockattack-game-2.5.0/source/assets/gfx/balls/green.svg000066400000000000000000000046201347224572500232300ustar00rootroot00000000000000 image/svg+xml blockattack-game-2.5.0/source/assets/gfx/balls/grey.svg000066400000000000000000000131361347224572500231000ustar00rootroot00000000000000 image/svg+xml blockattack-game-2.5.0/source/assets/gfx/balls/purple.svg000066400000000000000000000105471347224572500234440ustar00rootroot00000000000000 image/svg+xml blockattack-game-2.5.0/source/assets/gfx/balls/red.svg000066400000000000000000000061701347224572500227040ustar00rootroot00000000000000 image/svg+xml blockattack-game-2.5.0/source/assets/gfx/balls/turkish.svg000066400000000000000000000073531347224572500236270ustar00rootroot00000000000000 image/svg+xml blockattack-game-2.5.0/source/assets/gfx/balls/yellow.svg000066400000000000000000000101061347224572500234370ustar00rootroot00000000000000 image/svg+xml blockattack-game-2.5.0/source/assets/gfx/bricks/000077500000000000000000000000001347224572500215655ustar00rootroot00000000000000blockattack-game-2.5.0/source/assets/gfx/bricks/blue.svg000066400000000000000000000064241347224572500232430ustar00rootroot00000000000000 image/svg+xml blockattack-game-2.5.0/source/assets/gfx/bricks/green.svg000066400000000000000000000057711347224572500234200ustar00rootroot00000000000000 image/svg+xml blockattack-game-2.5.0/source/assets/gfx/bricks/grey.svg000066400000000000000000000142711347224572500232610ustar00rootroot00000000000000 image/svg+xml blockattack-game-2.5.0/source/assets/gfx/bricks/purple.svg000066400000000000000000000116051347224572500236200ustar00rootroot00000000000000 image/svg+xml blockattack-game-2.5.0/source/assets/gfx/bricks/red.svg000066400000000000000000000072111347224572500230610ustar00rootroot00000000000000 image/svg+xml blockattack-game-2.5.0/source/assets/gfx/bricks/turkish.svg000066400000000000000000000103301347224572500237740ustar00rootroot00000000000000 image/svg+xml blockattack-game-2.5.0/source/assets/gfx/bricks/yellow.svg000066400000000000000000000111451347224572500236230ustar00rootroot00000000000000 image/svg+xml blockattack-game-2.5.0/source/assets/gfx/buttons/000077500000000000000000000000001347224572500220065ustar00rootroot00000000000000blockattack-game-2.5.0/source/assets/gfx/buttons/buttons.svg000066400000000000000000010160511347224572500242310ustar00rootroot00000000000000 image/svg+xml Options Play Alone Together Network Scores Time Trial Endless Stage Clear Puzzle Versus Host Connect Replays Save Load Puzzle File Configure Versus Theme blockattack-game-2.5.0/source/assets/gfx/buttons/exit.svg000066400000000000000000000162161347224572500235060ustar00rootroot00000000000000 image/svg+xml blockattack-game-2.5.0/source/assets/gfx/garbage/000077500000000000000000000000001347224572500217005ustar00rootroot00000000000000blockattack-game-2.5.0/source/assets/gfx/garbage/brown.svg000066400000000000000000000441321347224572500235540ustar00rootroot00000000000000 image/svg+xml blockattack-game-2.5.0/source/assets/gfx/garbage/grey.svg000066400000000000000000000325231347224572500233740ustar00rootroot00000000000000 image/svg+xml blockattack-game-2.5.0/source/assets/gfx/help/000077500000000000000000000000001347224572500212405ustar00rootroot00000000000000blockattack-game-2.5.0/source/assets/gfx/help/controller.svg000066400000000000000000000613421347224572500241520ustar00rootroot00000000000000 image/svg+xml A B X Y blockattack-game-2.5.0/source/assets/gfx/smileys/000077500000000000000000000000001347224572500217755ustar00rootroot00000000000000blockattack-game-2.5.0/source/assets/gfx/smileys/smileys.svg000066400000000000000000000346231347224572500242130ustar00rootroot00000000000000 image/svg+xml blockattack-game-2.5.0/source/code/000077500000000000000000000000001347224572500171345ustar00rootroot00000000000000blockattack-game-2.5.0/source/code/.editorconfig000066400000000000000000000005321347224572500216110ustar00rootroot00000000000000# Unix-style newlines with a newline ending every file [*] end_of_line = lf insert_final_newline = true charset = utf-8 #Block Attack uses tabs for all identation [*.{cpp,h,hpp}] indent_style = tab insert_final_newline = true #Trim trailing whitespace... because it is already done and let us keep it consistently trim_trailing_whitespace = trueblockattack-game-2.5.0/source/code/AUTHORS000066400000000000000000000007351347224572500202110ustar00rootroot00000000000000Block Attack - Rise of the Blocks by Poul Sander https://blockattack.net Gonéri Le Bouder Done some work for making it work with SHAREDIR and all Scons scripts A lot of the 1.4.0 graphics is by Iwan Gabovitch aka qubodup Also: Paul Wise, Jordà Polo, mstraube and scootergrisen for patches and bug reports This does not cover non-embedded libraries. Detailed auther information regarding media can be found in the blockattack.data zip-file blockattack-game-2.5.0/source/code/BallManager.hpp000066400000000000000000000065121347224572500220160ustar00rootroot00000000000000/* =========================================================================== blockattack - Block Attack - Rise of the Blocks Copyright (C) 2005-2017 Poul Sander 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 2 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 http://www.gnu.org/licenses/ Source information and contacts persons can be found at http://www.blockattack.net =========================================================================== */ #ifndef BALLMANAGER_HPP #define BALLMANAGER_HPP #include extern GlobalData globalData; //other ball constants: const double gravity = 200.8; //acceleration const double startVelocityY = 50.0; const double VelocityX = 50.0; const int ballSize = 16; const double minVelocity = 200.0; //The small things that are faaling when you clear something class ABall { private: double x = 0.0; double y = 0.0; double velocityY = 0.0; double velocityX = 0.0; int color = 0; unsigned long int lastTime = 0; public: bool inUse = false; ABall() { } //constructor: ABall(int X, int Y, bool right, int coulor) { double tal = 1.0+((double)rand()/((double)RAND_MAX)); velocityY = -tal*startVelocityY; lastTime = SDL_GetTicks(); x = (double)X; y = (double)Y; color = coulor; if (right) { velocityX = tal*VelocityX; } else { velocityX = -tal*VelocityX; } } //constructor void update() { double timePassed = (((double)(SDL_GetTicks()-lastTime))/1000.0); //time passed in seconds x = x+timePassed*velocityX; y = y+timePassed*velocityY; velocityY = velocityY + gravity*timePassed; if (y<1.0) { velocityY=10.0; } if ((velocityY>minVelocity) && (y>(globalData.ysize-ballSize)) && (y ballArray; BallManager() { } //Adds a ball to the screen at given coordiantes, traveling right or not with color int addBall(int x, int y,bool right,int color) { size_t ballNumber = 0; //Find a free ball while (ballNumberglobalData.ysize+100 || ballArray[i].getX()>globalData.xsize || ballArray[i].getX()<-ballSize) { ballArray[i].inUse = false; } } } } //update }; //theBallManager #endif /* BALLMANAGER_HPP */ blockattack-game-2.5.0/source/code/BlockGame.cpp000066400000000000000000001256301347224572500214730ustar00rootroot00000000000000/* =========================================================================== blockattack - Block Attack - Rise of the Blocks Copyright (C) 2005-2012 Poul Sander 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 2 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 http://www.gnu.org/licenses/ Source information and contacts persons can be found at http://blockattack.net =========================================================================== */ //Some definitions //The game is divided in frames. FALLTIME means the blocks will fall one block every FRAMELENGTH*FALLTIME millisecond #define FRAMELENGTH 50 #define HANGTIME 40 #define FALLTIME 20 //Don't change the following, they are fundamental and later some functions are hardcoded #define BLOCKFALL 10000 #define GARBAGE 1000000 #define CHAINPLACE 10000000 // The game uses a very special base-10 pack system // int 999999999999 // YYYYYGWBHTTC // YYYY = Chain // G = Garbage, 1= NORMAL, 2=GRAY // W = Waiting (A bomb is on it) // B = 1 if the block is falling // H = Block is hanging after garbage (Get Ready text on it) // TT = Time (in steps) until something happens // C = color static bool block_isFalling(int block) { return (block/BLOCKFALL)%10; } static void block_setFalling(int& block, bool value) { if (value) { if (!block_isFalling(block)) { block += BLOCKFALL; } } else { if (block_isFalling(block)) { block -= BLOCKFALL; } } } #include "BlockGame.hpp" #include "puzzlehandler.hpp" #include "stageclearhandler.hpp" #include #include using std::string; using std::stringstream; using std::cerr; using std::vector; //Function to convert numbers to string (2 diget) static string itoa2(int num) { char buffer[20]; snprintf(buffer, sizeof(buffer), "%02i", num); return buffer; } /** * This function tells how long the game may pause the rise of the blocks. * This decreases as the game progresses. * @param stops In out variable. If larger than the max allowed * @param ticks Ticks since the game was started * @param gameStartedAt Tick the game was started at. */ static void capMaxStops(int& stops, unsigned int ticks, unsigned int gameStartedAt) { if (ticks < gameStartedAt || stops == 0) { //Game not started or not stops, do nothing return; } unsigned int gameTime = gameStartedAt - ticks; int maxSeconds = 10-( (gameTime/1000) % 30 ); if (maxSeconds < 3) { maxSeconds = 1; } int cappedStops = maxSeconds * 1000; if (stops > cappedStops) { stops = cappedStops; } } stageButton stageButtonStatus; static std::stringstream ss; //Used for internal formatting //////////////////////////////////////////////////////////////////////////////// //The BloackGame class represents a board, score, time etc. for a single player/ //////////////////////////////////////////////////////////////////////////////// int BlockGame::rand2() { nextRandomNumber = nextRandomNumber*1103515245 + 12345; return ((int)(nextRandomNumber/65536)) % 32768; } int BlockGame::firstUnusedChain() { bool found=false; int i = 0; while (!found) { if (!chainUsed[++i]) { found=true; } if (i>NUMBEROFCHAINS-2) { found=true; } } return i; } //Constructor BlockGame::BlockGame() { AI_MoveSpeed=100; baseSpeed = 0.5; //All other speeds are relative to this speed = baseSpeed; speedLevel = 1; ticks = 0; gameStartedAt = ticks; gameEndedAfter = 0; pushedPixelAt = gameStartedAt; nextGarbageNumber = 10; handicap=0; for (int i=0; i<7; i++) { for (int j=0; j<30; j++) { board[i][j] = -1; } } lastCounter = -1; //To prevent the final chunk to be played when stating the program } //Constructor void BlockGame::setGameSpeed(int globalSpeedLevel) { switch (globalSpeedLevel) { case 0: baseSpeed=0.5; break; case 1: baseSpeed=0.1; break; case 2: baseSpeed=0.07; break; case 3: baseSpeed=0.04; break; case 4: baseSpeed=0.015; break; default: baseSpeed=0.005; break; }; } void BlockGame::setHandicap(int globalHandicap) { handicap=1000*((int)globalHandicap); } //Set the move speed of the AI based on the aiLevel parameter //Also enables AI void BlockGame::setAIlevel(int aiLevel) { AI_MoveSpeed=120-(20*(aiLevel-3)); }; int BlockGame::getAIlevel() const { return (120-AI_MoveSpeed)/20+3; } int BlockGame::GetScore() const { return score; } int BlockGame::GetHandicap() const { return handicap; } bool BlockGame::isGameOver() const { return bGameOver; } int BlockGame::GetGameStartedAt() const { return gameStartedAt; } int BlockGame::GetGameEndedAt() const { return gameEndedAfter; } bool BlockGame::isTimeTrial() const { return timetrial; } bool BlockGame::isStageClear() const { return stageClear; } bool BlockGame::isVsMode() const { return vsMode; } bool BlockGame::isPuzzleMode() const { return puzzleMode; } int BlockGame::GetLinesCleared() const { return linesCleared; } int BlockGame::GetStageClearLimit() const { return stageClearLimit; } int BlockGame::GetChains() const { return chain; } int BlockGame::GetPixels() const { return pixels; } int BlockGame::GetSpeedLevel() const { return speedLevel; } int BlockGame::GetTowerHeight() const { return TowerHeight; } int BlockGame::GetCursorX() const { return cursorx; } int BlockGame::GetCursorY() const { return cursory; } void BlockGame::MoveCursorTo(int x, int y) { cursorx = x; cursory = y; } bool BlockGame::GetIsWinner() const { return hasWonTheGame; } void BlockGame::NewGame(const BlockGameStartInfo& s) { replayInfo.startInfo = s; replayInfo.actions.clear(); this->recordStats = s.recordStats; if (s.AI) { recordStats = false; } NewGameInternal(s.ticks); if (s.timeTrial) { timetrial = true; putStartBlocks(); } if (s.stageClear) { if (s.level > -1) { stageClear = true; Level = s.level; Stats::getInstance()->addOne("PlayedStageLevel"+itoa2(s.level)); stageClearLimit = 30+(Level%6)*10; baseSpeed = 0.5/((double)(Level*0.5)+1.0); speed = baseSpeed; } } if (s.puzzleMode) { if (s.level>-1) { puzzleMode = true; Level = s.level; MovesLeft = PuzzleNumberOfMovesAllowed(Level); for (int i=0; i<6; i++) { for (int j=0; j<12; j++) { board[i][j+1] = PuzzleGetBrick(Level,i,j); } } baseSpeed = 100000; speed = 100000; //Now push the blines up for (int i=19; i>0; i--) { for (int j=0; j<6; j++) { board[j][i] = board[j][i-1]; } } for (int j=0; j<6; j++) { board[j][0] = 5; } } this->singlePuzzle = s.singlePuzzle; } if (s.vsMode) { vsMode = true; AI_Enabled = s.AI; if (recordStats) { Stats::getInstance()->addOne("VSgamesStarted"); } if (s.vsAI) { setAIlevel(s.level); vsAI = true; } if (AI_Enabled) { name = "CPU"; setAIlevel(s.level); } putStartBlocks(); } if (s.startBlocks >= 0) { putStartBlocks(s.startBlocks); } if (s.handicap > 0) { setHandicap(s.handicap); } if (s.gameSpeed > 0) { setGameSpeed(s.gameSpeed); speed = baseSpeed; } } //Instead of creating new object new game is called, to prevent memory leaks void BlockGame::NewGameInternal( unsigned int ticks) { this->ticks = ticks; stageButtonStatus = SBdontShow; nrFellDown = 0; nrPushedPixel = 0; nrStops = 0; cursorx = 2; cursory = 3; stop = 0; pixels = 0; score = 0; bGameOver = false; bDraw = false; timetrial = false; stageClear = false; linesCleared = 0; hasWonTheGame = false; vsMode = false; puzzleMode = false; combo=0; chain=0; AI_Enabled = false; baseSpeed= 0.5; speed = baseSpeed; speedLevel = 1; gameStartedAt = ticks+3000; pushedPixelAt = gameStartedAt; nextGarbageNumber = 10; handicap=0; for (int i=0; i<7; i++) { for (int j=0; j<30; j++) { board[i][j] = -1; } } for (int i=0; iaddOne("totalWins"); if (vsAI) { //We have defeated an AI Stats::getInstance()->addOne("defeatedAI"+std::to_string(getAIlevel())); } } if (AI_Enabled && vsAI) { //The AI have defeated a human player Stats::getInstance()->addOne("defeatedByAI"+std::to_string(getAIlevel())); } FinalizeBlockGameInfo(); } hasWonTheGame = true; } //Prints "draw" and ends the game void BlockGame::setDraw() { bGameOver = true; if (recordStats) { TimeHandler::addTime("playTime",TimeHandler::ms2ct(gameEndedAfter)); } hasWonTheGame = false; bDraw = true; DrawEvent(); if (recordStats) { Stats::getInstance()->addOne("totalDraws"); } FinalizeBlockGameInfo(); } //Test if LineNr is an empty line, returns false otherwise. bool BlockGame::LineEmpty(int lineNr) const { bool empty = true; for (int i = 0; i <7; i++) { if (board[i][lineNr] != -1) { empty = false; } } return empty; } //Test if the entire board is empty (used for Puzzles) bool BlockGame::BoardEmpty() const { bool empty = true; for (int i=0; i<6; i++) { for (int j=1; j<13; j++) { if (board[i][j] != -1) { empty = false; } } } return empty; } //Anything that the user can't move? In that case Game Over cannot occur bool BlockGame::hasStaticContent() const { for (int i=0; i<6; i++) { for (int j=1; j<13; j++) { if (board[i][j] >= 10000000) { //Higher than this means combos (garbage is static, but the stack is static but nothing to do about it) return true; //They are static } } } return false; //Return false if no static object found } void BlockGame::putStartBlocks() { putStartBlocks(time(0)); } void BlockGame::putStartBlocks(int n) { for (int i=0; i<7; i++) { for (int j=0; j<30; j++) { board[i][j] = -1; } } nextRandomNumber = n; int choice = rand2()%3; //Pick a random layout switch (choice) { case 0: //row 0: board[0][0]=1; board[1][0]=0; board[2][0]=4; board[3][0]=3; board[4][0]=3; board[5][0]=5; //row 1: board[0][1]=1; board[1][1]=4; board[2][1]=2; board[3][1]=0; board[4][1]=4; board[5][1]=5; //row 2: board[0][2]=2; board[1][2]=3; board[2][2]=0; board[3][2]=4; board[4][2]=1; board[5][2]=1; //row 3: board[0][3]=3; board[1][3]=2; board[2][3]=3; board[3][3]=1; board[4][3]=0; board[5][3]=4; //row 4: board[0][4]=2; board[1][4]=3; board[2][4]=3; board[3][4]=1; board[4][4]=4; board[5][4]=0; //row 5: board[0][5]=-1; board[1][5]=5; board[2][5]=5; board[3][5]=-1; board[4][5]=1; board[5][5]=-1; break; case 1: //row 0: board[0][0]=3; board[1][0]=5; board[2][0]=0; board[3][0]=0; board[4][0]=4; board[5][0]=2; //row 1: board[0][1]=3; board[1][1]=5; board[2][1]=-1; board[3][1]=5; board[4][1]=4; board[5][1]=2; //row 2: board[0][2]=2; board[1][2]=-1; board[2][2]=-1; board[3][2]=4; board[4][2]=0; board[5][2]=3; //row 3: board[0][3]=2; board[5][3]=3; break; default: //row 0: board[0][0]=4; board[1][0]=5; board[2][0]=2; board[3][0]=0; board[4][0]=1; board[5][0]=5; //row 1: board[0][1]=4; board[1][1]=5; board[2][1]=2; board[3][1]=1; board[4][1]=0; board[5][1]=2; //row 2: board[0][2]=2; board[1][2]=4; board[2][2]=-1; board[3][2]=0; board[4][2]=1; board[5][2]=5; //row 3: board[0][3]=4; board[1][3]=2; board[2][3]=-1; board[3][3]=1; board[4][3]=0; board[5][3]=2; //row 4: board[0][4]=4; board[1][4]=2; board[2][4]=-1; board[3][4]=0; board[4][4]=1; board[5][4]=-1; break; }; } //decreases hang for all hanging blocks and wait for waiting blocks void BlockGame::ReduceStuff() { int howMuchHang = (ticks - FRAMELENGTH*hangTicks)/FRAMELENGTH; if (howMuchHang>0) { for (int i=0; i<7; i++) { for (int j=0; j<30; j++) { if ((board[i][j]/BLOCKHANG)%10==1) { int hangNumber = (board[i][j]/10)%100; if (hangNumber<=howMuchHang) { board[i][j]-=BLOCKHANG; board[i][j]-=hangNumber*10; } else { board[i][j]-=10*howMuchHang; } } if ((board[i][j]/BLOCKWAIT)%10==1) { int hangNumber = (board[i][j]/10)%100; if (hangNumber<=howMuchHang) { //The blocks must be cleared board[i][j]-=hangNumber*10; } else { board[i][j]-=10*howMuchHang; } } } } } hangTicks+=howMuchHang; } //Creates garbage using a given wide and height bool BlockGame::CreateGarbage(int wide, int height) { { if (wide>6) { wide = 6; } if (height>12) { height = 12; } int startPosition = 12; while ( startPosition <= 29 && !LineEmpty(startPosition)) { startPosition++; } if (startPosition >= 29) { return false; //failed to place blocks } if (29-startPosition999999) { nextGarbageNumber = 10; } return true; } return false; } //Creates garbage using a given wide and height bool BlockGame::CreateGreyGarbage() { int startPosition = 12; while ( startPosition <= 29 && !LineEmpty(startPosition) ) { startPosition++; } if (startPosition >= 29) { return false; //failed to place blocks } int start = 0; int end = 6; for (int i = startPosition; i 999999) { nextGarbageNumber = 10; } return true; } //Clears garbage, must take one the lower left corner! int BlockGame::GarbageClearer(int x, int y, int number, bool aLineToClear, int chain) { if ((board[x][y])%1000000 != number) { return -1; } if (aLineToClear) { board[x][y] = this->rand2() % 6; board[x][y] += 10*HANGTIME+BLOCKHANG+CHAINPLACE*chain; } garbageToBeCleared[x][y] = false; GarbageClearer(x+1, y, number, aLineToClear, chain); GarbageClearer(x, y+1, number, false, chain); return 1; } //Marks garbage that must be cleared int BlockGame::GarbageMarker(int x, int y) { if ((x>6)||(x<0)||(y<0)||(y>29)) { return -1; } if (((board[x][y])/1000000 == 1)&&(garbageToBeCleared[x][y] == false)) { garbageToBeCleared[x][y] = true; //Float fill GarbageMarker(x-1, y); GarbageMarker(x+1, y); GarbageMarker(x, y-1); GarbageMarker(x, y+1); } return 1; } int BlockGame::FirstGarbageMarker(int x, int y) { if ((x>6)||(x<0)||(y<0)||(y>29)) { return -1; } if (((board[x][y])/1000000 == 2)&&(garbageToBeCleared[x][y] == false)) { for (int i=0; i<6; i++) { garbageToBeCleared[i][y] = true; } } else if (((board[x][y])/1000000 == 1)&&(garbageToBeCleared[x][y] == false)) { garbageToBeCleared[x][y] = true; //Float fill GarbageMarker(x-1, y); GarbageMarker(x+1, y); GarbageMarker(x, y-1); GarbageMarker(x, y+1); } return 1; } //Clear Blocks if 3 or more is alligned (naive implemented) void BlockGame::ClearBlocks() { bool toBeCleared[7][30]; //true if blok must be removed int previus=-1; //the last block checked int combo=0; for (int i=0; i<30; i++) for (int j=0; j<7; j++) { toBeCleared[j][i] = false; garbageToBeCleared[j][i] = false; } for (int i=0; i<7; i++) { bool faaling = false; for (int j=0; j<30; j++) { if ((faaling)&&(board[i][j]>-1)&&(board[i][j]%10000000<7)) { block_setFalling(board[i][j], true); } if ((!faaling)&&((board[i][j]/BLOCKFALL)%10==1)) { block_setFalling(board[i][j], false); } if (!((board[i][j]>-1)&&(board[i][j]%10000000<7))) { faaling=true; } if (((board[i][j]/1000000)%10==1)||((board[i][j]/1000000)%10==2)||((board[i][j]/BLOCKHANG)%10==1)||((board[i][j]/BLOCKWAIT)%10==1)) { faaling = false; } } } for (int j=0; j<7; j++) { previus = -1; combo=0; for (int i=1; i<30; i++) { if ((board[j][i]>-1)&&(board[j][i]%10000000<7)) { if (board[j][i]%10000000 == previus) { combo++; } else { if (combo>2) { for (int k = i-combo; k2) { for (int k = i-combo; k-1)&&(board[j][i]%10000000<7))) { if (board[j][i]%10000000 == previus) { combo++; } else { if (combo>2) { for (int k = j-combo; k2) { for (int k = j-combo; k2) && (board[j][i]%10000000==6)) { GarbageStruct s; s.setGarbage(6, 1, true); this->garbageSendQueue.push_back(s); } if ((board[j][i]>-1)&&(board[j][i]%10000000<7)) { board[j][i]+=BLOCKWAIT+10*FALLTIME; } if (chainSize[board[j][i]/10000000]>chainSize[chain]) { chain=board[j][i]/10000000; } combo++; stop+=140*combo; score +=10; if (combo>3) { score+=3*combo; //More points if more cleared simontanously } } } } score+=chainSize[chain]*100; if (chain==0) { chain=firstUnusedChain(); chainSize[chain]=0; chainUsed[chain]=true; } chainSize[chain]++; for (int i=0; i<30; i++) { for (int j=0; j<6; j++) { if (toBeCleared[j][i]) { board[j][i]=(board[j][i]%10000000)+chain*10000000; } } } { //This is here we add text to screen! bool dead = false; for (int i=29; i>=0; i--) { for (int j=0; j<6; j++) { if (toBeCleared[j][i]) { if (!dead) { dead=true; if (chainSize[chain]>1) { AddText(j, i, chainSize[chain], 1000); } } } } } } //This was there text was added if (vsMode) { GarbageStruct s; switch (combo) { case 0: case 1: case 2: case 3: break; case 4: s.setGarbage(3,1); break; case 5: s.setGarbage(4,1); break; case 6: s.setGarbage(5,1); break; case 7: s.setGarbage(6,1); break; case 8: s.setGarbage(4,1); s.setGarbage(4,1); break; case 9: s.setGarbage(5,1); s.setGarbage(4,1); break; case 10: s.setGarbage(5,1); s.setGarbage(5,1); break; case 11: s.setGarbage(6,1); s.setGarbage(5,1); break; case 12: s.setGarbage(6,1); s.setGarbage(6,1); break; case 13: s.setGarbage(5,1); s.setGarbage(5,1); s.setGarbage(4,1); break; default: s.setGarbage(5,1); s.setGarbage(5,1); s.setGarbage(4,1); break; } if (s.width > 0) { garbageSendQueue.push_back(s); } } for (int i=0; i<30; i++) { for (int j=0; j<6; j++) { if (garbageToBeCleared[j][i]) { GarbageClearer(j, i, board[j][i]%1000000, true, chain); //Clears the blocks and all blocks connected to it. } } } chain=0; //Break chains (if a block is stable it is resetted to (chain == 0)): for (int i=0; i<7; i++) { bool faaling = false; //In the beginning we are NOT falling for (int j=0; j<30; j++) { if ((faaling)&&(board[i][j]>-1)&&(board[i][j]<7)) { block_setFalling(board[i][j], true); } if (!faaling) { block_setFalling(board[i][j], false); } if ((!faaling)&&(board[i][j]>0)&&(board[i][j]/10000000!=0)&&((board[i][j]/BLOCKWAIT)%10!=1)&&((board[i][j]/BLOCKHANG)%10!=1)) { if (chainSize[board[i][j]/10000000]>chainSize[chain]) { chain=board[i][j]/10000000; } board[i][j]=board[i][j]%10000000; } if (!((board[i][j]>-1)&&(board[i][j]<7))) { faaling=true; } if (((board[i][j]/1000000)%10==1)||((board[i][j]/BLOCKHANG)%10==1)||((board[i][j]/BLOCKWAIT)%10==1)) { faaling = false; } } } //Calculate chain chain=0; for (int i=0; i<6; i++) { for (int j=0; j<30; j++) { if (chainSize[board[i][j]/10000000]>chain) { chain=chainSize[board[i][j]/10000000]; } } } //Make space in table for more things if (chain==0) { for (int i=0; i1)) { GarbageStruct s; s.setGarbage(6,chainSize[i]-1); this->garbageSendQueue.push_back(s); } if (chainSize[i]>4) { LongChainDoneEvent(); } if (chainSize[i]>1 && !puzzleMode && recordStats) { Stats::getInstance()->addOne((string)"chainX"+std::to_string(chainSize[i])); } chainUsed[i]=false; } } } } //ClearBlocks //prints "Game Over" and ends game void BlockGame::SetGameOver() { if (!bGameOver) { gameEndedAfter = ticks-gameStartedAt; //We game ends now! if (recordStats) { TimeHandler::addTime("playTime",TimeHandler::ms2ct(gameEndedAfter)); } FinalizeBlockGameInfo(); } bGameOver = true; if (stageClear) { stageButtonStatus = SBstageClear; } } bool BlockGame::GetAIenabled() const { return AI_Enabled; } //Moves all peaces a spot down if possible int BlockGame::FallBlock(int x, int y, int number) { if (y == 0) { return -1; } if (x>0) { if (board[x-1][y] == number) { return -1; } } int i=x; bool canFall = true; //checks a line of a garbage block and see if something is under it while ((board[i][y] == number)&&(canFall)&&(i<6)) { if (board[i][y-1] != -1) { canFall = false; } i++; } if (canFall) { //cout << "Now falling" << "\n"; for (int j = x; j12) ||(((pixels==bsize)||(pixels==0)) && (cursory<11)))) { cursory++; } if ((way == 'S') && (cursory>0)) { cursory--; } if ((way == 'W') && (cursorx>0)) { cursorx--; } if ((way == 'E') && (cursorx<4)) { cursorx++; } } } //switches the two blocks at the cursor position, unless game over void BlockGame::SwitchAtCursor() { if (bGameOver) { return; } ClearBlocks(); //Ensure that everything that floats are marked as floating if ((board[cursorx][cursory+1]<7) && (board[cursorx+1][cursory+1]<7) && ((!puzzleMode)||(MovesLeft>0)) && (gameStartedAt0)) { MovesLeft--; } } void BlockGame::PushLine() { PushLineInternal(); } //Generates a new line and moves the field one block up (restart puzzle mode) void BlockGame::PushLineInternal() { //If not game over, not high tower and not puzzle mode if ((!bGameOver) && TowerHeight<13 && (!puzzleMode) && (gameStartedAt0; i--) { for (int j=0; j<6; j++) { board[j][i] = board[j][i-1]; } } for (int j=0; j<6; j++) { board[j][0] = rand2() % 4; if (j > 0) { if (board[j][0] == board[j-1][0]) { board[j][0] = rand2() % 6; } } if (board[j][0] == board[j][1]) { board[j][0] = rand2() % 6; } if (board[j][0] == board[j][1]) { board[j][0] = rand2() % 6; } while ((j>0)&&(board[j][0]==board[j-1][0])) { board[j][0] = rand2() % 6; } } score+=1; MoveCursor('N'); //Workaround for this being done registred too if (vsMode) { if (rand2()%6==1) { board[rand2()%6][0]=6; } } pixels = 0; stop=0; pushedPixelAt = ticks; linesCleared++; AI_LineOffset++; nrPushedPixel=(int)((double)(pushedPixelAt-gameStartedAt)/(1000.0*speed)); if (recordStats) { Stats::getInstance()->addOne("linesPushed"); } } //if !bGameOver //Restart Puzzle mode if (puzzleMode && !bGameOver) { //Reloads level MovesLeft = PuzzleNumberOfMovesAllowed(Level); for (int i=0; i<6; i++) { for (int j=0; j<12; j++) { board[i][j+1] = PuzzleGetBrick(Level,i,j); } } score=0; bGameOver=false; } if ((TowerHeight>12) && (!puzzleMode)&&(!bGameOver)&&(chain==0)) { SetGameOver(); } }//PushLine //Pushes a single pixel, so it appears to scrool void BlockGame::PushPixels() { nrPushedPixel++; if ((pixels < bsize) && TowerHeight<13) { pixels++; } else { PushLineInternal(); } if (pixels>bsize) { pixels=0; } } //See how high the tower is, saved in integer TowerHeight void BlockGame::FindTowerHeight() { /* * Old implementation, used until I find the bug in the other. * This function has a bug in stage clear! if an empty line appears. */ prevTowerHeight = TowerHeight; bool found = false; TowerHeight = 0; while (!found) { found = true; for (int j=0; j<6; j++) if (board[j][TowerHeight] != -1) { found = false; } TowerHeight++; } TowerHeight--; } /////////////////////////////////////////////////////////////////////////// /////////////////////////// AI starts here! /////////////////////////////// /////////////////////////////////////////////////////////////////////////// //First the helpet functions: int BlockGame::nrOfType(int line, int type) { int counter = 0; for (int i=0; i<6; i++) if (board[i][line]==type) { counter++; } return counter; } //See if a combo can be made in this line int BlockGame::horiInLine(int line) { int nrOfType[7] = {0, 0, 0, 0, 0, 0, 0}; int max = 0; for (int i=0; i<6; i++) { int iTemp = board[i][line]; if ((iTemp>-1)&&(iTemp<7)) { nrOfType[iTemp]++; } } for (int j=0; j<7; j++) { if (nrOfType[j]>max) { max = nrOfType[j]; AIcolorToClear = j; } } return max; } bool BlockGame::horiClearPossible() { int i=13; bool solutionFound = false; do { if (horiInLine(i)>2) { AI_LineOffset = 0; AIlineToClear = i; solutionFound = true; } i--; } while ((!solutionFound)&&(i>0)); return solutionFound; } //the Line Has Unmoveable Objects witch might stall the AI bool BlockGame::lineHasGarbage(int line) { for (int i=0; i<6; i++) { if (board[i][line]>1000000) { return true; } } return false; } //Types 0..6 in line int BlockGame::nrOfRealTypes(int line) { int counter = 0; for (int i=0; i<6; i++) { if ((board[i][line]>-1)&&(board[i][line]<7)) { counter++; } } return counter; } //See if there is a tower bool BlockGame::ThereIsATower() { bool bThereIsATower = false; //Unless proven otherwise! bool topReached = false; //If we have reached the top int lineNumber = 0; bool emptySpacesFound = false; do { if ((emptySpacesFound) && (nrOfRealTypes(lineNumber)>0)&&(nrOfType(lineNumber, -1)>0)) { AIlineToClear = lineNumber; if (lineHasGarbage(lineNumber)) { return false; } else { bThereIsATower = true; } } else { emptySpacesFound=false; } if ((!emptySpacesFound)&&(nrOfType(lineNumber, -1)>0)) { emptySpacesFound = true; } if (lineNumber<12) { lineNumber++; } else { topReached = true; } } while ((!bThereIsATower)&&(!topReached)); return bThereIsATower; } double BlockGame::firstInLine1(int line) { if (line > 20 || line < 0) { cerr << "Warning: first in Line1: " << line << "\n"; return 3.0; } for (int i=0; i<6; i++) { if ((board[i][line]>-1)&&(board[i][line]<7)) { return (double)i; } } return 3.0; } //returns the first coordinate of the block of type double BlockGame::firstInLine(int line, int type) { if (line > 20 || line < 0) { cerr << "Warning: first in Line: " << line << "\n"; return 3.0; } for (int i=0; i<6; i++) { if (board[i][line]==type) { return (double)i; } } return 3.0; } //There in the line shall we move int BlockGame::closestTo(int line, int place) { if ((int)firstInLine1(line)>place) { return (int)firstInLine1(line)-1; } for (int i=place; i>=0; i--) { if ((board[i][line]>-1)&&(board[i][line]<7)) { return i; } } AIstatus=0; return place; } //The AI will remove a tower void BlockGame::AI_ClearTower() { int place = (int)firstInLine(AIlineToClear-1, -1); //Find an empty field to frop a brick into int xplace = closestTo(AIlineToClear, place); //Find the brick to drop in it if (cursory+1AIlineToClear) { MoveCursor('S'); } else if (cursorxxplace) { MoveCursor('W'); } else { SwitchAtCursor(); } if (!ThereIsATower()) { AIstatus = 0; } } //The AI will try to clear block horisontally void BlockGame::AI_ClearHori() { int lowestLine = AIlineToClear; for (int i=0; i<7; i++) { if (nrOfType(lowestLine, i)>2) { AIcolorToClear = i; } } if (cursory>lowestLine-1) { MoveCursor('S'); } else if (cursory2) { int left=0, right=0; if (board[0][lowestLine]==AIcolorToClear) { left++; } if (board[1][lowestLine]==AIcolorToClear) { left++; } if (board[2][lowestLine]==AIcolorToClear) { left++; } if (board[3][lowestLine]==AIcolorToClear) { right++; } if (board[4][lowestLine]==AIcolorToClear) { right++; } if (board[5][lowestLine]==AIcolorToClear) { right++; } int xplace = 0; if (leftxplace) { MoveCursor('W'); } else if (cursorx==xplace) { SwitchAtCursor(); } else { AIstatus = 0; } } else { AIstatus = 0; } } //Test if vertical clear is possible bool BlockGame::veriClearPossible() { bool found=false; int colors[7] = {0, 0, 0, 0, 0, 0, 0}; for (int i=12; (i>0)&&(!found); i--) { for (int j=0; j<7; j++) { if (nrOfType(i, j)==0) { colors[j]=0; } else if (++colors[j]>2) { AIcolorToClear = j; AIlineToClear = i; found=true; } } } return found; } //There in the line shall we move int BlockGame::closestTo(int line, int type, int place) { if ((int)firstInLine(line, type)>place) { return (int)firstInLine(line, type)-1; } for (int i=place; i>=0; i--) { if (board[i][line]==type) { return i; } } AIstatus=0; return place; } //The AI will try to clear blocks vertically void BlockGame::AI_ClearVertical() { //First we find the place there we will align the bricks int placeToCenter = (int)(firstInLine(AIlineToClear, AIcolorToClear)/3.0+firstInLine(AIlineToClear+1, AIcolorToClear)/3.0+firstInLine(AIlineToClear+2, AIcolorToClear)/3.0); int unlimitedLoop=0; if (AIlineToClear < 0 || AIlineToClear > 20) { cerr << "AIlineToClear out of range: " << AIlineToClear << "\n"; return; } if (placeToCenter<0 || placeToCenter > 5) { cerr << "placeToCenter out of range: " << placeToCenter << "\n"; return; } while (((board[placeToCenter][AIlineToClear]>1000000)||(board[placeToCenter][AIlineToClear+1]>1000000)||(board[placeToCenter][AIlineToClear+2]>1000000))&&(unlimitedLoop<10)) { unlimitedLoop++; placeToCenter++; if (placeToCenter>5) { placeToCenter=0; } } if (unlimitedLoop>9) { AIstatus = 0; return; } if (cursory+1>AIlineToClear+2) { MoveCursor('S'); } if (cursory+1closestTo(AIlineToClear, AIcolorToClear, placeToCenter)) { MoveCursor('W'); } else if (cursorxclosestTo(AIlineToClear+1, AIcolorToClear, placeToCenter)) { MoveCursor('W'); } else if (cursorxclosestTo(AIlineToClear+2, AIcolorToClear, placeToCenter)) { MoveCursor('W'); } else if (cursorxstageClearLimit) && (stageClear) && (!bGameOver)) { StageClearSetClear(Level, score, nowTime-gameStartedAt); setPlayerWon(); stageButtonStatus = SBstageClear; } if ((TowerHeight>12)&&(prevTowerHeight<13)&&(!puzzleMode)) { stop+=1000; } while ( nowTime> nrStops*40+gameStartedAt) { //Increase stops, till we reach nowTime if (stop>0) { stop = stop-20; if (stop<=0) { nrPushedPixel=(int)((nowTime-gameStartedAt)/(1000.0*speed)); } } if (stop<0) { stop = 0; } nrStops++; } //If we have static content, we don't raise at all! if (hasStaticContent()) { stop++; } if ((puzzleMode)&&(!bGameOver)&&BoardEmpty()) { if (!this->singlePuzzle) { PuzzleSetClear(Level); stageButtonStatus = SBpuzzleMode; } setPlayerWon(); } //increse speed: if ((nowTime>gameStartedAt+20000*speedLevel)&&(speedLevel <99)&&(!bGameOver)) { speed = (baseSpeed*0.9)/((double)speedLevel*0.8); speedLevel++; nrPushedPixel=(int)((double)(nowTime-gameStartedAt)/(1000.0*speed)); } //To prevent the stack from raising a lot then we stop a chain (doesn't work anymore) if (chain>0) { stop+=1; } //Raises the stack if ((nowTime>gameStartedAt+nrPushedPixel*1000*speed) && (!bGameOver)&&(!stop)) while ((nowTime>gameStartedAt+nrPushedPixel*1000*speed)&&(!(puzzleMode))) { PushPixels(); } if (!bGameOver) { ClearBlocks(); } /************************************************************* Ai stuff **************************************************************/ if (bGameOver) { AIstatus = 0; //Enusres that AI is resetted } else if (AI_Enabled) { if (lastAImove+AI_MoveSpeedgameStartedAt+nrFellDown*140) && (!bGameOver)) { FallDown(); } if ((nowTimegameStartedAt+2*60*1000)) { SetGameOver(); TimeTrialEndEvent(); } } } bool BlockGame::IsNearDeath() const { if ((TowerHeight>12)&&(!puzzleMode)&&(!bGameOver)) { return true; } else { return false; } } void BlockGame::UpdateInternal(unsigned int newtick) { while (newtick >= ticks+10) { ticks+=10; Update(); } } void BlockGame::DoAction (const BlockGameAction& action) { if (action.action == BlockGameAction::Action::UPDATE && action.tick < ticks+10) { return; //Ignore if this is an update and not high enough } if (action.action == BlockGameAction::Action::UPDATE && replayInfo.actions.size() > 0 && replayInfo.actions.back().action == action.action) { replayInfo.actions.back() = action; } else { replayInfo.actions.push_back(action); } if (action.action == BlockGameAction::Action::UPDATE) { UpdateInternal(action.tick); } if (action.action == BlockGameAction::Action::SET_DRAW) { setDraw(); } if (action.action == BlockGameAction::Action::SET_WON) { setPlayerWon(); } if (action.action == BlockGameAction::Action::SET_GAME_OVER) { SetGameOver(); } if (action.action == BlockGameAction::Action::PUSH) { PushLine(); } if (action.action == BlockGameAction::Action::MOVE) { char direction = action.way; MoveCursor(direction); } if (action.action == BlockGameAction::Action::SWITCH) { SwitchAtCursor(); } if (action.action == BlockGameAction::Action::PUSH_GARBAGE) { for (const GarbageStruct& i : action.garbage) { if (i.greyGarbage) { CreateGreyGarbage(); } else { CreateGarbage(i.width, i.height); } } } if (action.action == BlockGameAction::Action::MOUSE_DOWN) { MouseDown(action.x, action.y); } if (action.action == BlockGameAction::Action::MOUSE_UP) { MouseUp(); } if (action.action == BlockGameAction::Action::MOUSE_MOVE) { MouseMove(action.x); } } bool BlockGame::isSinglePuzzle() const { return singlePuzzle; } int BlockGame::getLevel() const { return Level; } void BlockGame::PopSendGarbage(std::vector& poppedData) { for (const GarbageStruct& g : this->garbageSendQueue) { poppedData.push_back(g); } this->garbageSendQueue.clear(); } void BlockGame::GetMouseCursor(bool& pressed, int& x, int& y) const { if (mouse_cursorx < 0 || mouse_cursory < 0 || mouse_cursorx >=6 || mouse_cursory > 13) { pressed = false; x = 0; y = 0; return; } pressed = true; x = mouse_cursorx; y = mouse_cursory; } void BlockGame::MouseDown(int x, int y) { if (AI_Enabled) { //AI may not use mouse move. It must use the controller return; } mouse_cursorx = x; mouse_cursory = y; } void BlockGame::MouseMove(int x) { if (AI_Enabled) { //AI may not use mouse move. It must use the controller return; } if (mouse_cursorx < 0) { return; } if (x < 0 || x >= 6) { return; } if (x > mouse_cursorx) { MoveCursorTo(mouse_cursorx, mouse_cursory); ++mouse_cursorx; SwitchAtCursor(); } if (x < mouse_cursorx) { --mouse_cursorx; MoveCursorTo(mouse_cursorx, mouse_cursory); SwitchAtCursor(); } } void BlockGame::MouseUp() { mouse_cursorx = -1; mouse_cursory = -1; } //Play the next level void nextLevel(BlockGame& g, unsigned int ticks) { BlockGameStartInfo s; s.ticks = ticks; s.level = g.getLevel()+1; if (g.isPuzzleMode()) { if (g.getLevel() #include "cereal/cereal.hpp" #include "cereal/types/deque.hpp" #include "cereal/types/string.hpp" #define NUMBEROFCHAINS 100 #define BLOCKWAIT 100000 #define BLOCKHANG 1000 enum stageButton {SBdontShow, SBstageClear, SBpuzzleMode}; extern stageButton stageButtonStatus; //This is the size of the blocks. They are always 50. The internal logic calculates it that way const int bsize = 50; /** * This struct defines the start conditions of the game */ struct BlockGameStartInfo { unsigned int ticks = 0; bool timeTrial = false; ///True means a stage clear game will be started. level must be set too. bool stageClear = false; ///True if puzzle mode. level must be set too. bool puzzleMode = false; ///Single puzzle is used for the editor only. bool singlePuzzle = false; int level = 0; bool AI = false; /** * True means that stats will be recorded. * If AI is true then this will be overruled to false */ bool recordStats = true; bool vsMode = false; /** * Set to true if we are fighting an AI. level should be the AI level we are fighting */ bool vsAI = false; int startBlocks = -1; int handicap = 0; int gameSpeed = 0; template void serialize( Archive & ar ) { ar( CEREAL_NVP(ticks), CEREAL_NVP(timeTrial), CEREAL_NVP(stageClear), CEREAL_NVP(puzzleMode), CEREAL_NVP(singlePuzzle), CEREAL_NVP(level), CEREAL_NVP(AI), CEREAL_NVP(recordStats), CEREAL_NVP(vsMode), CEREAL_NVP(vsAI), CEREAL_NVP(startBlocks), CEREAL_NVP(handicap), CEREAL_NVP(gameSpeed) ); } }; struct GarbageStruct { bool greyGarbage = false; int width = 0; int height = 0; void setGarbage(int w, int h, bool g = false) { greyGarbage = g; width = w; height = h; } template void serialize( Archive & ar ) { ar( CEREAL_NVP(greyGarbage), CEREAL_NVP(width), CEREAL_NVP(height) ); } }; struct BlockGameAction { enum class Action {NONE, UPDATE, SET_DRAW, SET_WON, SET_GAME_OVER, MOVE, SWITCH, PUSH, PUSH_GARBAGE, MOUSE_DOWN, MOUSE_UP, MOUSE_MOVE}; Action action = Action::NONE; unsigned int tick = 0; //< Used for update char way = '\0'; //< The direction to move the cursor: 'N', 'E', 'S' or 'W' int x = 0; int y = 0; std::vector garbage; template void serialize( Archive & ar ) { ar( CEREAL_NVP(action), CEREAL_NVP(tick), CEREAL_NVP(way), CEREAL_NVP(x), CEREAL_NVP(y), CEREAL_NVP(garbage) ); } }; struct BlockGameInfoExtra { std::string name; int score = 0; int seconds = 0; template void serialize( Archive & ar ) { ar( CEREAL_NVP(name), CEREAL_NVP(score), CEREAL_NVP(seconds) ); } }; struct BlockGameInfo { BlockGameStartInfo startInfo; std::deque actions; BlockGameInfoExtra extra; template void serialize( Archive & ar ) { ar( CEREAL_NVP(startInfo), CEREAL_NVP(actions), CEREAL_NVP(extra) ); } }; //////////////////////////////////////////////////////////////////////////////// //The BloackGame class represents a board, score, time etc. for a single player/ //////////////////////////////////////////////////////////////////////////////// class BlockGame { private: int prevTowerHeight = 0; bool bGarbageFallLeft = false; bool singlePuzzle = false; int nextGarbageNumber = 0; int pushedPixelAt = 0; int nrPushedPixel = 0; int nrFellDown = 0; unsigned int nrStops = 0; bool garbageToBeCleared[7][30] = {}; unsigned int lastAImove = 0; int AI_LineOffset = 0; //how many lines have changed since command int hangTicks = 0; //How many times have hang been decreased? //int the two following index 0 may NOT be used (what the fuck did I meen?) int chainSize[NUMBEROFCHAINS]{}; //Contains the chains bool chainUsed[NUMBEROFCHAINS]{}; //True if the chain is used unsigned int nextRandomNumber = 0; int Level = 0; //Only used in stageClear and puzzle (not implemented) BlockGameInfo replayInfo; int rand2(); int firstUnusedChain(); protected: int lastCounter = 0; std::string strHolder; bool bDraw = false; unsigned int ticks = 0; unsigned int gameStartedAt = 0; unsigned int gameEndedAfter = 0; //How long did the game last? int linesCleared = 0; int TowerHeight = 0; int board[7][30]; int stop = 0; int speedLevel = 0; int pixels = 0; int MovesLeft = 0; bool timetrial = false; bool stageClear = false; bool vsMode = false; bool puzzleMode = false; int stageClearLimit = 0; //stores number of lines user must clear to win int combo = 0; int chain = 0; int cursorx = 2; //stores cursor position int cursory = 3; // -||- int mouse_cursorx = -1; //Stores the mouse hold cursor. -1 if nothing is selected. int mouse_cursory = -1; double speed = 0.0; double baseSpeed = 0.0; //factor for speed. Lower value = faster gameplay int score = 0; bool bGameOver = false; bool hasWonTheGame = false; int AI_MoveSpeed = 0; //How often will the computer move? milliseconds bool AI_Enabled = false; bool recordStats = true; bool vsAI = false; //Set to true for single player vs int handicap = 0; std::vector garbageSendQueue; int AIlineToClear = 0; short AIstatus = 0; //Status flags: //0: nothing, 2: clear tower, 3: clear horisontal, 4: clear vertical //1: make more lines, 5: make 2 lines, 6: make 1 line public: std::string name; public: BlockGame(); virtual ~BlockGame() = default; int getAIlevel() const; virtual void AddText(int, int, unsigned int, int) const {} virtual void AddBall(int, int, bool, int) const {} virtual void AddExplosion(int, int) const {} virtual void PlayerWonEvent() const {} virtual void DrawEvent() const {} virtual void BlockPopEvent() const {} virtual void LongChainDoneEvent() const {} virtual void TimeTrialEndEvent() const {} virtual void EndlessHighscoreEvent() const {} void NewGame(const BlockGameStartInfo &s); void DoAction (const BlockGameAction& action); /** * This function returns all the garbage. * This is actual const in the way that it does not change the games state * Technically it is not const because it empties the queue that are stored inside the object even if not part of the game state. * @param poppedData */ void PopSendGarbage(std::vector& poppedData); int GetScore() const; int GetHandicap() const; bool isGameOver() const; int GetGameStartedAt() const; int GetGameEndedAt() const; bool isTimeTrial() const; bool isStageClear() const; bool isVsMode() const; bool isPuzzleMode() const; int GetLinesCleared() const; int GetStageClearLimit() const; int GetChains() const; int GetPixels() const; int GetSpeedLevel() const; int GetTowerHeight() const; int GetCursorX() const; int GetCursorY() const; void GetMouseCursor(bool& pressed, int& x, int&y) const; bool GetIsWinner() const; bool isSinglePuzzle() const; int getLevel() const; bool GetAIenabled() const; bool IsNearDeath() const; double GetBaseSpeed() const { return baseSpeed; } const BlockGameInfo& GetBlockGameInfo() { return replayInfo; } private: void NewGameInternal(unsigned int ticks); //Test if LineNr is an empty line, returns false otherwise. bool LineEmpty(int lineNr) const; //Test if the entire board is empty (used for Puzzles) bool BoardEmpty() const; //Anything that the user can't move? In that case Game Over cannot occur bool hasStaticContent() const; void putStartBlocks(); void putStartBlocks(int n); //decreases hang for all hanging blocks and wait for waiting blocks void ReduceStuff(); void setGameSpeed(int globalSpeedLevel); void setHandicap(int globalHandicap); //Clears garbage, must take one the lower left corner! int GarbageClearer(int x, int y, int number, bool aLineToClear, int chain); //Marks garbage that must be cleared int GarbageMarker(int x, int y); int FirstGarbageMarker(int x, int y); //Clear Blocks if 3 or more is alligned (naive implemented) void ClearBlocks(); //Moves all peaces a spot down if possible int FallBlock(int x, int y, int number); //Makes all Garbage fall one spot void GarbageFall(); //Makes the blocks fall (it doesn't test time, this must be done before hand) void FallDown(); //Pushes a single pixel, so it appears to scrool void PushPixels(); //See how high the tower is, saved in integer TowerHeight void FindTowerHeight(); //Generates a new line and moves the field one block up (restart puzzle mode) void PushLine(); //prints "Game Over" and ends game void SetGameOver(); //Moves the cursor, receaves N,S,E or W as a char an moves as desired void MoveCursor(char way); //switches the two blocks at the cursor position, unless game over void SwitchAtCursor(); //Creates garbage using a given wide and height bool CreateGarbage(int wide, int height); //Creates garbage using a given wide and height bool CreateGreyGarbage(); void MouseDown(int x, int y); //Send then the mouse is pressed void MouseMove(int x); //Send then the mouse moves void MouseUp(); //Send then the mouse goes up void MoveCursorTo(int x, int y); void FinalizeBlockGameInfo(); /////////////////////////////////////////////////////////////////////////// /////////////////////////// AI starts here! /////////////////////////////// /////////////////////////////////////////////////////////////////////////// //First the helpet functions: int nrOfType(int line, int type); int AIcolorToClear = 0; //See if a combo can be made in this line int horiInLine(int line); bool horiClearPossible(); //the Line Has Unmoveable Objects witch might stall the AI bool lineHasGarbage(int line); //Types 0..6 in line int nrOfRealTypes(int line); //See if there is a tower bool ThereIsATower(); double firstInLine1(int line); //returns the first coordinate of the block of type double firstInLine(int line, int type); //There in the line shall we move int closestTo(int line, int place); //The AI will remove a tower void AI_ClearTower(); //The AI will try to clear block horisontally void AI_ClearHori(); //Test if vertical clear is possible bool veriClearPossible(); //There in the line shall we move int closestTo(int line, int type, int place); //The AI will try to clear blocks vertically void AI_ClearVertical(); bool firstLineCreated = 0; void AI_Move(); ////////////////////////////////////////////////////////////////// ///////////////////////////// AI ends here! ////////////////////// ////////////////////////////////////////////////////////////////// //Set the move speed of the AI based on the aiLevel parameter void setAIlevel(int aiLevel); void PushLineInternal(); //Prints "winner" and ends game void setPlayerWon(); //Prints "draw" and ends the game void setDraw(); //Updates evrything, if not called nothing happends void Update(); void UpdateInternal(unsigned int newtick); }; //Play the next level void nextLevel(BlockGame& g, unsigned int ticks); //Replay the current level void retryLevel(BlockGame& g, unsigned int ticks); #endif blockattack-game-2.5.0/source/code/BlockGameSdl.inc000066400000000000000000000345211347224572500221230ustar00rootroot00000000000000/* =========================================================================== blockattack - Block Attack - Rise of the Blocks Copyright (C) 2005-2016 Poul Sander 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 2 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 http://www.gnu.org/licenses/ Source information and contacts persons can be found at https://blockattack.net =========================================================================== */ #include "BlockGame.hpp" #include "global.hpp" #include "sago/SagoTextField.hpp" #include "mainVars.inc" static void setScoreboardFont(const sago::SagoDataHolder* holder, sago::SagoTextField& field, const char* text){ field.SetHolder(holder); field.SetFont("penguinattack"); field.SetColor({255,255,255,255}); field.SetFontSize(20); field.SetText(text); } static void setButtonFont(const sago::SagoDataHolder* holder, sago::SagoTextField& field, const char* text){ field.SetHolder(holder); field.SetFont("freeserif"); field.SetColor({255,255,255,255}); field.SetFontSize(24); field.SetOutline(1, {64,64,64,255}); field.SetText(text); } class BlockGameSdl : public BlockGame { public: BlockGameSdl(int tx, int ty, const sago::SagoDataHolder* holder) { topx = tx; topy = ty; setScoreboardFont(holder, scoreLabel, _("Score:")); setScoreboardFont(holder, timeLabel, _("Time:")); setScoreboardFont(holder, chainLabel, _("Chain:")); setScoreboardFont(holder, speedLabel, _("Speed:")); setButtonFont(holder, buttonNext, _("Next")); setButtonFont(holder, buttonRetry, _("Retry")); setButtonFont(holder, buttonSkip, _("Skip")); setButtonFont(holder, stopIntField, ""); } void DrawImgBoard(const sago::SagoSprite& img, int x, int y) const { DrawIMG(img, globalData.screen, x+topx, y+topy); } void DrawImgBoardBounded(const sago::SagoSprite& img, int x, int y) const { DrawIMG_Bounded(img, globalData.screen, x+topx, y+topy, topx, topy, topx + backBoard.GetWidth(), topy + backBoard.GetHeight()); } void PrintTextCenteredBoard(int x, int y, sago::SagoTextField& field) { field.Draw(globalData.screen, x+topx+60, y+topy+20, sago::SagoTextField::Alignment::center, sago::SagoTextField::VerticalAlignment::center); } void SetTopXY(int tx, int ty) { topx = tx; topy = ty; } int GetTopX() const { return topx; } int GetTopY() const { return topy; } /** * Retrives the coordinate to a given brick based on mouse input. * @param match true if the coordinate are within borders * @param mousex mouse coordinate input * @param mousey mouse coordiante input * @param x brick x. Unchanged if outside border * @param y brick y. Unchanged if outside border */ void GetBrickCoordinateFromMouse(bool& match, int mousex, int mousey, int& x, int& y) const { if (!IsInTheBoard(mousex, mousey)) { match = false; return; } match = true; x = (mousex-topx) / 50; y = (50*12+topy-mousey-pixels) / 50; } bool IsInTheBoard(int mousex, int mousey) const { if (mousex < topx || mousex > topx+50*6 || mousey < topy || mousey > topy+50*12) { return false; } return true; } bool IsUnderTheBoard(int mousex, int mousey) const { if (mousex < topx || mousex > topx+50*6 || mousey < topy+50*12) { return false; } return true; } void AddText(int x, int y, unsigned int text, int time) const override { globalData.theTextManager.addText(topx-10+x*bsize, topy+12*bsize-y*bsize, text, time); } void AddBall(int x, int y, bool right, int color) const override { theBallManager.addBall(topx+40+x*bsize, topy+bsize*12-y*bsize, right, color); } void AddExplosion(int x, int y) const override { theExplosionManager.addExplosion(topx-10+x*bsize, topy+bsize*12-10-y*bsize); } void PlayerWonEvent() const override { if (!globalData.SoundEnabled) { return; } Mix_PlayChannel(1, applause.get(), 0); } void DrawEvent() const override { Mix_HaltChannel(1); } void BlockPopEvent() const override { if (!globalData.SoundEnabled) { return; } Mix_PlayChannel(0, boing.get(), 0); } void LongChainDoneEvent() const override { if (!globalData.SoundEnabled) { return; } Mix_PlayChannel(1, applause.get(), 0); } void TimeTrialEndEvent() const override { if (!globalData.NoSound && globalData.SoundEnabled) { Mix_PlayChannel(1,counterFinalChunk.get(),0); } } void EndlessHighscoreEvent() const override { if (!globalData.SoundEnabled) { return; } Mix_PlayChannel(1, applause.get(), 0); } private: //Draws all the bricks to the board (including garbage) void PaintBricks() const { for (int i=0; ((i<13)&&(i<30)); i++) { for (int j=0; j<6; j++) { int basicBrick = board[j][i]%10; //The basic brick, stored on the least significant digit if ((basicBrick > -1) && (basicBrick < 7) && ((board[j][i]/1000000)%10==0)) { DrawImgBoardBounded(bricks[basicBrick], j*bsize, bsize*12-i*bsize-pixels); if ((board[j][i]/BLOCKWAIT)%10==1) { DrawImgBoard(bomb, j*bsize, bsize*12-i*bsize-pixels); } if ((board[j][i]/BLOCKHANG)%10==1) { DrawImgBoardBounded(ready, j*bsize, bsize*12-i*bsize-pixels); } } if ((board[j][i]/1000000)%10==1) { int left, right, over, under; int number = board[j][i]; if (j<1) { left = -1; } else { left = board[j-1][i]; } if (j>=5) { right = -1; } else { right = board[j+1][i]; } if (i>28) { over = -1; } else { over = board[j][i+1]; } if (i<1) { under = -1; } else { under = board[j][i-1]; } if ((left == number)&&(right == number)&&(over == number)&&(under == number)) { DrawImgBoardBounded(garbageFill, j*bsize, bsize*12-i*bsize-pixels); } if ((left != number)&&(right == number)&&(over == number)&&(under == number)) { DrawImgBoardBounded(garbageL, j*bsize, bsize*12-i*bsize-pixels); } if ((left == number)&&(right != number)&&(over == number)&&(under == number)) { DrawImgBoardBounded(garbageR, j*bsize, bsize*12-i*bsize-pixels); } if ((left == number)&&(right == number)&&(over != number)&&(under == number)) { DrawImgBoardBounded(garbageT, j*bsize, bsize*12-i*bsize-pixels); } if ((left == number)&&(right == number)&&(over == number)&&(under != number)) { DrawImgBoardBounded(garbageB, j*bsize, bsize*12-i*bsize-pixels); } if ((left != number)&&(right == number)&&(over != number)&&(under == number)) { DrawImgBoardBounded(garbageTL, j*bsize, bsize*12-i*bsize-pixels); } if ((left != number)&&(right == number)&&(over == number)&&(under != number)) { DrawImgBoardBounded(garbageBL, j*bsize, bsize*12-i*bsize-pixels); } if ((left == number)&&(right != number)&&(over != number)&&(under == number)) { DrawImgBoardBounded(garbageTR, j*bsize, bsize*12-i*bsize-pixels); } if ((left == number)&&(right != number)&&(over == number)&&(under != number)) { DrawImgBoardBounded(garbageBR, j*bsize, bsize*12-i*bsize-pixels); } if ((left == number)&&(right != number)&&(over != number)&&(under != number)) { DrawImgBoardBounded(garbageMR, j*bsize, bsize*12-i*bsize-pixels); } if ((left == number)&&(right == number)&&(over != number)&&(under != number)) { DrawImgBoardBounded(garbageM, j*bsize, bsize*12-i*bsize-pixels); } if ((left != number)&&(right == number)&&(over != number)&&(under != number)) { DrawImgBoardBounded(garbageML, j*bsize, bsize*12-i*bsize-pixels); } } if ((board[j][i]/1000000)%10==2) { if (j==0) { DrawImgBoardBounded(garbageGML, j*bsize, bsize*12-i*bsize-pixels); } else if (j==5) { DrawImgBoardBounded(garbageGMR, j*bsize, bsize*12-i*bsize-pixels); } else { DrawImgBoardBounded(garbageGM, j*bsize, bsize*12-i*bsize-pixels); } } } } const int j = 0; int garbageSize=0; for (int i=0; i<20; i++) { if ((board[j][i]/1000000)%10==1) { int left, right, over, under; int number = board[j][i]; if (j<1) { left = -1; } else { left = board[j-1][i]; } if (j>5) { right = -1; } else { right = board[j+1][i]; } if (i>28) { over = -1; } else { over = board[j][i+1]; } if (i<1) { under = -1; } else { under = board[j][i-1]; } if (((left != number)&&(right == number)&&(over != number)&&(under == number))&&(garbageSize>0)) { DrawImgBoardBounded(smiley[board[j][i]%4], 2*bsize, 12*bsize-i*bsize-pixels+(bsize/2)*garbageSize); } if (!((left != number)&&(right == number)&&(over == number)&&(under == number))) { //not in garbage garbageSize=0; } else { garbageSize++; } } } for (int i=0; i<6; i++) { if (board[i][0]!=-1) { DrawImgBoardBounded(transCover, i*bsize, 12*bsize-pixels); //Make the appering blocks transperant } } } public: //Draws everything void DoPaintJob() { DrawIMG(boardBackBack,globalData.screen,this->GetTopX()-60,this->GetTopY()-68); this->scoreLabel.Draw(globalData.screen, this->GetTopX()+310,this->GetTopY()-68+148); this->timeLabel.Draw(globalData.screen, this->GetTopX()+310,this->GetTopY()-68+197); this->chainLabel.Draw(globalData.screen, this->GetTopX()+310,this->GetTopY()-68+246); this->speedLabel.Draw(globalData.screen, this->GetTopX()+310,this->GetTopY()-68+295); DrawImgBoard(backBoard, 0, 0); PaintBricks(); if (stageClear) { DrawImgBoard(blackLine, 0, bsize*(12+2)+bsize*(stageClearLimit-linesCleared)-pixels-1); } if (puzzleMode&&(!bGameOver)) { //We need to write nr. of moves left! strHolder = _("Moves left: ") + std::to_string(MovesLeft); static sago::SagoTextField movesPuzzleLabel; sagoTextSetHelpFont(movesPuzzleLabel); movesPuzzleLabel.SetText(strHolder); movesPuzzleLabel.Draw(globalData.screen, topx+5, topy+5); } if (puzzleMode && stageButtonStatus == SBpuzzleMode) { DrawImgBoard(bRetry, cordRetryButton.x, cordRetryButton.y); PrintTextCenteredBoard(cordRetryButton.x, cordRetryButton.y, buttonRetry); if (getLevel() 20) { stopIntField.SetText(std::to_string(stop/10)); stopIntField.Draw(globalData.screen, 240+topx, -40+topy); } #if DEBUG if (AI_Enabled&&(!bGameOver)) { sagoTextSetBlueFont(aiStatusField); strHolder = "AI_status: " + std::to_string(AIstatus)+ ", "+ std::to_string(AIlineToClear); aiStatusField.SetText(strHolder); aiStatusField.Draw(globalData.screen, topx+5, topy+5); } #endif if (!bGameOver) { bool touched = false; int mx = 0; int my = 0; this->GetMouseCursor(touched, mx, my); if (touched) { DrawImgBoard(globalData.spriteHolder->GetSprite("touchcursor"),mx*bsize, 11*bsize-my*bsize-pixels); } else { DrawImgBoard(cursor,cursorx*bsize,11*bsize-cursory*bsize-pixels); } } if (ticksgameStartedAt+10000)&&(!bGameOver)) { int currentCounter = (ticks-(int)gameStartedAt)/1000; if (currentCounter!=lastCounter) { if (currentCounter>115 && currentCounter<120) { Mix_PlayChannel(1, counterChunk.get(), 0); } } lastCounter = currentCounter; } else { if ( (0==lastCounter) && (globalData.SoundEnabled)&&(!globalData.NoSound)) { Mix_PlayChannel(1, counterFinalChunk.get(), 0); } lastCounter = -1; } } if (bGameOver) { if (hasWonTheGame) { tbWinner.Draw(globalData.screen, topx+150, topy+200, sago::SagoTextField::Alignment::center); } else { if (bDraw) { tbDraw.Draw(globalData.screen, topx+150, topy+200, sago::SagoTextField::Alignment::center); } else { tbGameOver.Draw(globalData.screen, topx+150, topy+200, sago::SagoTextField::Alignment::center); } } } } private: int topx, topy; sago::SagoTextField scoreLabel; sago::SagoTextField timeLabel; sago::SagoTextField chainLabel; sago::SagoTextField speedLabel; sago::SagoTextField buttonSkip; sago::SagoTextField buttonRetry; sago::SagoTextField buttonNext; sago::SagoTextField stopIntField; #if DEBUG sago::SagoTextField aiStatusField; #endif }; blockattack-game-2.5.0/source/code/DialogBox.cpp000066400000000000000000000134561347224572500215210ustar00rootroot00000000000000/* =========================================================================== blockattack - Block Attack - Rise of the Blocks Copyright (C) 2005-2016 Poul Sander 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 2 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 http://www.gnu.org/licenses/ Source information and contacts persons can be found at http://www.blockattack.net =========================================================================== */ #include "DialogBox.hpp" #include "global.hpp" #include "common.h" #include "ReadKeyboard.h" static void setButtonFont(const sago::SagoDataHolder* holder, sago::SagoTextField& field, const char* text) { field.SetHolder(holder); field.SetFont("freeserif"); field.SetColor({255,255,255,255}); field.SetFontSize(24); field.SetOutline(1, {0,0,0,255}); field.SetText(text); } static void DrawRect(SDL_Renderer* target, int topx, int topy, int height, int width, const std::string& name) { const int size = 32; SDL_Rect bounds_ns = {topx, topy+size, width, height-2*size}; //bounds for south SDL_Rect bounds_e = {topx, topy, width-size, height}; const sago::SagoSprite& n = globalData.spriteHolder->GetSprite(name+"n"); const sago::SagoSprite& s = globalData.spriteHolder->GetSprite(name+"s"); const sago::SagoSprite& e = globalData.spriteHolder->GetSprite(name+"e"); const sago::SagoSprite& w = globalData.spriteHolder->GetSprite(name+"w"); const sago::SagoSprite& fill = globalData.spriteHolder->GetSprite(name+"fill"); for (int i = 1; i < width/size; ++i) { n.DrawBounded(target, SDL_GetTicks(), topx+i*size, topy, bounds_e); for (int j = 1; j < height/size; ++j) { w.DrawBounded(target, SDL_GetTicks(), topx, topy+j*size, bounds_ns); fill.Draw(target, SDL_GetTicks(),topx+i*size, topy+j*size); e.DrawBounded(target, SDL_GetTicks(), topx+width-size, topy+j*size, bounds_ns); } s.DrawBounded(target, SDL_GetTicks(), topx+i*size, topy+height-size, bounds_e); } //Corners const sago::SagoSprite& nw = globalData.spriteHolder->GetSprite(name+"nw"); const sago::SagoSprite& ne = globalData.spriteHolder->GetSprite(name+"ne"); const sago::SagoSprite& se = globalData.spriteHolder->GetSprite(name+"se"); const sago::SagoSprite& sw = globalData.spriteHolder->GetSprite(name+"sw"); nw.Draw(target, SDL_GetTicks(), topx, topy); ne.Draw(target, SDL_GetTicks(), topx+width-size, topy); se.Draw(target, SDL_GetTicks(), topx+width-size, topy+height-size); sw.Draw(target, SDL_GetTicks(), topx, topy+height-size); } static void DrawRectWhite(SDL_Renderer* target, int topx, int topy, int height, int width) { std::string name = "ui_rect_white_"; DrawRect(target, topx, topy, height, width, name); } void DrawRectYellow(SDL_Renderer* target, int topx, int topy, int height, int width) { std::string name = "ui_rect_yellow_"; DrawRect(target, topx, topy, height, width, name); } bool OpenDialogbox(int x, int y, std::string& name, const std::string& header) { DialogBox d(x, y, name, header); RunGameState(d); if (d.IsUpdated()) { name = d.GetName(); return true; } return false; } DialogBox::DialogBox(int x, int y, const std::string& name, const std::string& header) : header(header) { this->x = x; this->y = y; SetName(name); setButtonFont(&globalData.spriteHolder->GetDataHolder(), headerLabel, header.c_str()); setButtonFont(&globalData.spriteHolder->GetDataHolder(), enterLabel, _("Enter to accept")); setButtonFont(&globalData.spriteHolder->GetDataHolder(), cancelLabel, _("Esc to cancel")); sagoTextSetBlueFont(textField); sagoTextSetBlueFont(cursorLabel); cursorLabel.SetText("|"); } DialogBox::~DialogBox() { } bool DialogBox::IsActive() { return isActive; } void DialogBox::Draw(SDL_Renderer* target) { DrawBackground(globalData.screen); this->x = globalData.xsize/2-300; this->y = globalData.ysize/2-100; DrawRectYellow(target, x, y, 200, 600); headerLabel.Draw(target, x+300, y+20, sago::SagoTextField::Alignment::center); enterLabel.Draw(target, x+150, y+140, sago::SagoTextField::Alignment::center); cancelLabel.Draw(target, x+450, y+140, sago::SagoTextField::Alignment::center); DrawRectWhite(target, x+26, y+64, 54, 600-2*26); textField.SetText(rk->GetString()); textField.Draw(target, x+40, y+76); std::string strHolder = rk->GetString(); strHolder.erase((int)rk->CharsBeforeCursor()); if (((SDL_GetTicks()/600)%2)==1) { int width = 0; textField.GetRenderedSize( strHolder.c_str(), &width); width -= 2; cursorLabel.Draw(target, x+40+width,y+76); } } void DialogBox::ProcessInput(const SDL_Event& event, bool& processed) { if (event.type == SDL_TEXTINPUT) { if ((rk->ReadKey(event))&&(globalData.SoundEnabled)&&(!globalData.NoSound)) { Mix_PlayChannel(1, globalData.typingChunk.get(), 0); } } if ( event.type == SDL_KEYDOWN ) { if ( (event.key.keysym.sym == SDLK_RETURN)||(event.key.keysym.sym == SDLK_KP_ENTER) ) { name = rk->GetString(); updated = true; isActive = false; } else if ( (event.key.keysym.sym == SDLK_ESCAPE) ) { isActive = false; } else { if ((rk->ReadKey(event))&&(globalData.SoundEnabled)&&(!globalData.NoSound)) { Mix_PlayChannel(1, globalData.typingChunk.get(), 0); } } } processed = true; } void DialogBox::SetName(const std::string& name) { this->name = name; rk = std::make_shared(name.c_str()); } std::string DialogBox::GetName() const { return name; } bool DialogBox::IsUpdated() const { return updated; } blockattack-game-2.5.0/source/code/DialogBox.hpp000066400000000000000000000037261347224572500215250ustar00rootroot00000000000000/* =========================================================================== blockattack - Block Attack - Rise of the Blocks Copyright (C) 2005-2016 Poul Sander 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 2 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 http://www.gnu.org/licenses/ Source information and contacts persons can be found at http://www.blockattack.net =========================================================================== */ #ifndef DIALOGBOX_HPP #define DIALOGBOX_HPP #include "sago/GameStateInterface.hpp" #include #include "ReadKeyboard.h" #include #include "scopeHelpers.hpp" #include "global.hpp" class DialogBox : public sago::GameStateInterface { public: DialogBox(int x, int y, const std::string& name, const std::string& header); DialogBox(const DialogBox& orig) = delete; DialogBox& operator=(const DialogBox& orig) = delete; virtual ~DialogBox(); bool IsActive() override; void Draw(SDL_Renderer* target) override; void ProcessInput(const SDL_Event& event, bool &processed) override; void SetName(const std::string& name); std::string GetName() const; bool IsUpdated() const; private: bool isActive = true; std::shared_ptr rk; int x; int y; std::string name; std::string header; bool updated = false; SDL_TextInput textInputScope; sago::SagoTextField headerLabel; sago::SagoTextField enterLabel; sago::SagoTextField cancelLabel; sago::SagoTextField textField; sago::SagoTextField cursorLabel; }; #endif /* DIALOGBOX_HPP */ blockattack-game-2.5.0/source/code/ExplosionManager.hpp000066400000000000000000000051311347224572500231200ustar00rootroot00000000000000/* =========================================================================== blockattack - Block Attack - Rise of the Blocks Copyright (C) 2005-2017 Poul Sander 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 2 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 http://www.gnu.org/licenses/ Source information and contacts persons can be found at http://www.blockattack.net =========================================================================== */ #ifndef EXPLOSIONMANAGER_HPP #define EXPLOSIONMANAGER_HPP #include //a explosions, non moving class AnExplosion { private: int x = 0; int y = 0; Uint8 frameNumber = 0; #define frameLength 80 //How long an image in an animation should be showed #define maxFrame 4 //How many images there are in the animation unsigned long int placeTime = 0; //Then the explosion occored public: bool inUse = false; AnExplosion() { } //constructor: AnExplosion(int X, int Y) { placeTime = SDL_GetTicks(); x = X; y = Y; frameNumber=0; } //constructor //true if animation has played and object should be removed from the screen bool removeMe() { frameNumber = (SDL_GetTicks()-placeTime)/frameLength; return (!(frameNumber explosionArray; ExplosionManager() { } int addExplosion(int x, int y) { size_t explosionNumber = 0; while ( explosionNumberGetDataHolder(), titleField, _("About")); setHelpGamepadFont(&globalData.spriteHolder->GetDataHolder(), infoBox, infoStream.str().c_str()); sago::WriteFileContent("about.txt", infoStream.str()); } HelpAboutState::~HelpAboutState() { } bool HelpAboutState::IsActive() { return isActive; } void HelpAboutState::ProcessInput(const SDL_Event& event, bool& processed) { UpdateMouseCoordinates(event, globalData.mousex, globalData.mousey); if (isConfirmEvent(event) || isEscapeEvent(event)) { isActive = false; processed = true; } } extern void DrawRectYellow(SDL_Renderer* target, int topx, int topy, int height, int width); void HelpAboutState::Draw(SDL_Renderer* target) { DrawBackground(target); titleField.Draw(target, 50, 50); DrawRectYellow(target, 40, 90, 600, 900); infoBox.SetMaxWidth(850); infoBox.Draw(target, 50, 100); bExit.Draw(globalData.screen, SDL_GetTicks(), globalData.xsize-buttonOffset, globalData.ysize-buttonOffset); #if DEBUG static sago::SagoTextField mousePos; mousePos.SetHolder(&globalData.spriteHolder->GetDataHolder()); mousePos.SetFontSize(16); mousePos.SetOutline(1, {128,128,128,255}); mousePos.SetText(std::string("Mouse position: ")+std::to_string(globalData.mousex)+std::string(", ")+std::to_string(globalData.mousey)); mousePos.Draw(target, 0,0); #endif } void HelpAboutState::Update() { // If the mouse button is released, make bMouseUp equal true if ( !(SDL_GetMouseState(nullptr, nullptr)&SDL_BUTTON(1)) ) { bMouseUp=true; } if (SDL_GetMouseState(nullptr,nullptr)&SDL_BUTTON(1) && bMouseUp) { bMouseUp = false; //The Score button: if ((globalData.mousex>globalData.xsize-buttonOffset) && (globalData.mousexglobalData.ysize-buttonOffset) && (globalData.mouseyGetDataHolder(), moveLabel, _("Move cursor")); setHelpGamepadFont(&globalData.spriteHolder->GetDataHolder(), pushLabel, _("Push line")); setHelpGamepadFont(&globalData.spriteHolder->GetDataHolder(), backLabel, _("Back (Menu)")); setHelpGamepadFont(&globalData.spriteHolder->GetDataHolder(), switchLabel, _("Switch")); setHelpGamepadFont(&globalData.spriteHolder->GetDataHolder(), confirmLabel, _("Confirm")); std::string s = _("Only SDL2 compatible controllers are supported!\nSupported controllers: "); for (size_t i = 0 ; iGetDataHolder(), supportedControllers, s.c_str()); supportedControllers.SetMaxWidth(740); } HelpGamepadState::~HelpGamepadState() { } bool HelpGamepadState::IsActive() { return isActive; } void HelpGamepadState::ProcessInput(const SDL_Event& event, bool& processed) { UpdateMouseCoordinates(event, globalData.mousex, globalData.mousey); if (isConfirmEvent(event) || isEscapeEvent(event)) { isActive = false; processed = true; } } extern sago::SagoSprite bExit; #define OFFSETX (-512+globalData.xsize/2) void HelpGamepadState::Draw(SDL_Renderer* target) { DrawBackground(target); const sago::SagoSprite& gamepad = globalData.spriteHolder->GetSprite("help_controller"); gamepad.Draw(target, SDL_GetTicks(), globalData.xsize/2-480/2, 100); SDL_RenderDrawLine(target, 100+OFFSETX, 210, globalData.xsize/2-480/2+130, 210); SDL_RenderDrawLine(target, 100+OFFSETX, 298, globalData.xsize/2-480/2+158, 298); SDL_RenderDrawLine(target, 100+OFFSETX, 210, 100+OFFSETX, 400); moveLabel.Draw(target, 100+OFFSETX, 404, sago::SagoTextField::Alignment::center); //Push lines SDL_RenderDrawLine(target, globalData.xsize/2-480/2+140, 90, globalData.xsize/2-480/2+140, 105); SDL_RenderDrawLine(target, globalData.xsize/2+480/2-140, 90, globalData.xsize/2+480/2-140, 105); SDL_RenderDrawLine(target, globalData.xsize/2-480/2+140-38, 90, globalData.xsize/2+480/2-140+38, 90); SDL_RenderDrawLine(target, globalData.xsize/2-480/2+140-38, 90, globalData.xsize/2-480/2+140-38, 110); SDL_RenderDrawLine(target, globalData.xsize/2+480/2-140+38, 90, globalData.xsize/2+480/2-140+38, 110); SDL_RenderDrawLine(target, globalData.xsize/2, 80, globalData.xsize/2, 90); pushLabel.Draw(target, globalData.xsize/2, 80, sago::SagoTextField::Alignment::center, sago::SagoTextField::VerticalAlignment::bottom); //Back lines SDL_RenderDrawLine(target, 625+OFFSETX, 168, 800+OFFSETX, 168); SDL_RenderDrawLine(target, 800+OFFSETX, 158, 800+OFFSETX, 195); SDL_RenderDrawLine(target, 490+OFFSETX, 195, 800+OFFSETX, 195); backLabel.Draw(target, 800+OFFSETX, 156, sago::SagoTextField::Alignment::center, sago::SagoTextField::VerticalAlignment::bottom); SDL_RenderDrawLine(target, 625+OFFSETX, 241, 900+OFFSETX, 241); SDL_RenderDrawLine(target, 663+OFFSETX, 207, 900+OFFSETX, 207); SDL_RenderDrawLine(target, 900+OFFSETX, 207, 900+OFFSETX, 400); switchLabel.Draw(target, 900+OFFSETX, 404, sago::SagoTextField::Alignment::center); confirmLabel.Draw(target, 900+OFFSETX, 404+30, sago::SagoTextField::Alignment::center); bExit.Draw(globalData.screen, SDL_GetTicks(), globalData.xsize-buttonOffset, globalData.ysize-buttonOffset); supportedControllers.Draw(target, 10, 600); #if DEBUG static sago::SagoTextField mousePos; mousePos.SetHolder(&globalData.spriteHolder->GetDataHolder()); mousePos.SetFontSize(16); mousePos.SetOutline(1, {128,128,128,255}); mousePos.SetText(std::string("Mouse position: ")+std::to_string(globalData.mousex)+std::string(", ")+std::to_string(globalData.mousey)); mousePos.Draw(target, 0,0); #endif } void HelpGamepadState::Update() { // If the mouse button is released, make bMouseUp equal true if ( !(SDL_GetMouseState(nullptr, nullptr)&SDL_BUTTON(1)) ) { bMouseUp=true; } if (SDL_GetMouseState(nullptr,nullptr)&SDL_BUTTON(1) && bMouseUp) { bMouseUp = false; //The Score button: if ((globalData.mousex>globalData.xsize-buttonOffset) && (globalData.mousexglobalData.ysize-buttonOffset) && (globalData.mousey const int buttonOffset = 160; extern sago::SagoSprite bExit; extern sago::SagoSprite bricks[7]; /** * Draws bricks with a string like: * "aab" for two identical one and another * "aaB" the third one will have a bomb * The any char not in 'a' to 'g' or 'A' to 'G' the behavior is undefined. * @param target Target to draw to * @param bricks description on what to draw as a string * @param x * @param y */ static void RenderRowOfBricks(SDL_Renderer* target, const std::string& brickStr, int x, int y) { Uint32 tick = SDL_GetTicks(); for (size_t i = 0; i < brickStr.size(); ++i) { bool bomb = false; char brickChar = brickStr[i]; if (brickChar >= 'A' && brickChar <= 'G') { bomb = true; brickChar = brickChar + 'a' - 'A'; } if (brickChar >= 'a' && brickChar <= 'g') { bricks[brickChar - 'a'].Draw(target, tick, x+i*50, y); if (bomb) { globalData.spriteHolder->GetSprite("block_bomb").Draw(target, tick, x+i*50, y); } } } } class HorizontalSwitchAnimation { public: std::string brickStr = "abc"; int cursorPos = 0; int state = 0; //0=move left, 1 = switch, 2 = move right, 3 = switch Uint32 lastTick = 0; Uint32 animationSpeed = 2000; void Update (Uint32 tick) { if (tick > lastTick + animationSpeed) { lastTick = tick; switch (state) { case 0: cursorPos = 1; break; case 1: //fallthough case 3: std::swap(brickStr[cursorPos], brickStr[cursorPos + 1]); break; case 2: cursorPos = 0; break; } ++state; if (state > 3) { state = 0; } } } }; class MultiLineBlocks { private: std::vector lines; public: MultiLineBlocks& addLine(const std::string& line) { lines.push_back(line); return *this; } void Render(SDL_Renderer* target, int x, int y) { for (size_t i = 0; i < lines.size(); ++i) { RenderRowOfBricks(target, lines[i], x, y+i*50); } } }; HorizontalSwitchAnimation switchAnimation; sago::SagoTextField switchAnimationField; sago::SagoTextField clearRowfield; sago::SagoTextField comboField; sago::SagoTextField dropField; sago::SagoTextField chainField; static void InitTextField(sago::SagoTextField& field, const char* text) { field.SetHolder(&globalData.spriteHolder->GetDataHolder()); field.SetFontSize(30); field.SetOutline(2, {0,0,0,255}); field.SetText(text); } HelpHowtoState::HelpHowtoState() { InitTextField(switchAnimationField, _("Switch block horizontally")); InitTextField(clearRowfield, _("Match 3 to clear")); InitTextField(comboField, _("Create combos!")); InitTextField(dropField, _("Drop blocks!")); InitTextField(chainField, _("Create a chain effect")); } HelpHowtoState::~HelpHowtoState() { } bool HelpHowtoState::IsActive() { return isActive; } void HelpHowtoState::ProcessInput(const SDL_Event& event, bool& processed) { UpdateMouseCoordinates(event, globalData.mousex, globalData.mousey); if (isConfirmEvent(event) || isEscapeEvent(event)) { isActive = false; processed = true; } } const double PI =3.141592653589793238463; static void DrawArrow(SDL_Renderer* target, int x1, int y1, int x2, int y2) { double dx = x1-x2; double dy = y1-y2; double distance = std::sqrt((dx*dx)+(dy*dy)); dx = dx * 10.0 / distance; dy = dy * 10.0 / distance; double angle= PI/4.0; double nx1 = dx * std::cos(angle) - dy * std::sin(angle) + x2; double ny1 = dx * std::sin(angle) + dy * std::cos(angle) + y2; SDL_RenderDrawLine(target, x1, y1, x2, y2); SDL_RenderDrawLine(target, nx1, ny1, x2, y2); nx1 = dx * std::cos(-angle) - dy * std::sin(-angle) + x2; ny1 = dx * std::sin(-angle) + dy * std::cos(-angle) + y2; SDL_RenderDrawLine(target, nx1, ny1, x2, y2); } void HelpHowtoState::Draw(SDL_Renderer* target) { DrawBackground(target); RenderRowOfBricks(target, switchAnimation.brickStr, 50, 50); globalData.spriteHolder->GetSprite("cursor").Draw(target, SDL_GetTicks(), 50+switchAnimation.cursorPos*50, 50); switchAnimationField.Draw(target, 50 +150+30, 50+25, sago::SagoTextField::Alignment::left, sago::SagoTextField::VerticalAlignment::center); RenderRowOfBricks(target, "adaa", 50, 150); globalData.spriteHolder->GetSprite("cursor").Draw(target, SDL_GetTicks(), 50, 150); RenderRowOfBricks(target, "dAAA", 50+300, 150); DrawArrow(target, 50+200+25, 150+25, 50+300-25, 150+25); clearRowfield.Draw(target, 600, 150+25, sago::SagoTextField::Alignment::left, sago::SagoTextField::VerticalAlignment::center); comboField.Draw(target, 50+175, 410, sago::SagoTextField::Alignment::center); MultiLineBlocks().addLine("ab").addLine("ba").addLine("ab").Render(target, 50, 250); globalData.spriteHolder->GetSprite("cursor").Draw(target, SDL_GetTicks(), 50, 250+50); MultiLineBlocks().addLine("AB").addLine("AB").addLine("AB").Render(target, 50+200, 250); DrawArrow(target, 175, 325, 225, 325); MultiLineBlocks().addLine("a").addLine("b").addLine("e").Render(target, 50+400, 250); globalData.spriteHolder->GetSprite("cursor").Draw(target, SDL_GetTicks(), 50+400, 250); MultiLineBlocks().addLine(" ").addLine("b").addLine("ea").Render(target, 50+400+200, 250); dropField.Draw(target, 50+400+150, 410, sago::SagoTextField::Alignment::center); DrawArrow(target, 575, 325, 625, 325); DrawArrow(target, 475, 275, 525, 275); DrawArrow(target, 525, 275, 525, 375); DrawArrow(target, 675, 275, 725, 275); DrawArrow(target, 725, 275, 725, 375); MultiLineBlocks().addLine(" d").addLine(" f").addLine(" f").addLine("fdd").Render(target, 50, 500); MultiLineBlocks().addLine(" d").addLine(" F").addLine(" F").addLine("dFd").Render(target, 50+200, 500); MultiLineBlocks().addLine(" d").addLine(" ").addLine(" ").addLine("d d").Render(target, 50+200*2, 500); MultiLineBlocks().addLine(" ").addLine(" ").addLine(" ").addLine("DDD").Render(target, 50+200*3, 500); globalData.spriteHolder->GetSprite("cursor").Draw(target, SDL_GetTicks(), 50, 650); DrawArrow(target, 200, 600, 250, 600); DrawArrow(target, 400, 600, 450, 600); DrawArrow(target, 600, 600, 650, 600); DrawArrow(target, 525, 525, 525, 675); chainField.Draw(target, 400, 710, sago::SagoTextField::Alignment::center); bExit.Draw(globalData.screen, SDL_GetTicks(), globalData.xsize-buttonOffset, globalData.ysize-buttonOffset); #if DEBUG static sago::SagoTextField mousePos; mousePos.SetHolder(&globalData.spriteHolder->GetDataHolder()); mousePos.SetFontSize(16); mousePos.SetOutline(1, {128,128,128,255}); mousePos.SetText(std::string("Mouse position: ")+std::to_string(globalData.mousex)+std::string(", ")+std::to_string(globalData.mousey)); mousePos.Draw(target, 0,0); #endif } void HelpHowtoState::Update() { // If the mouse button is released, make bMouseUp equal true if ( !(SDL_GetMouseState(nullptr, nullptr)&SDL_BUTTON(1)) ) { bMouseUp=true; } if (SDL_GetMouseState(nullptr,nullptr)&SDL_BUTTON(1) && bMouseUp) { bMouseUp = false; //The Score button: if ((globalData.mousex>globalData.xsize-buttonOffset) && (globalData.mousexglobalData.ysize-buttonOffset) && (globalData.mousey #include #include #include #include "cereal/macros.hpp" #include "cereal/details/helpers.hpp" namespace cereal { // ###################################################################### //! A class that allows cereal to load smart pointers to types that have no default constructor /*! If your class does not have a default constructor, cereal will not be able to load any smart pointers to it unless you overload LoadAndConstruct for your class, and provide an appropriate load_and_construct method. You can also choose to define a member static function instead of specializing this class. The specialization of LoadAndConstruct must be placed within the cereal namespace: @code{.cpp} struct MyType { MyType( int x ); // note: no default ctor int myX; // Define a serialize or load/save pair as you normally would template void serialize( Archive & ar ) { ar( myX ); } }; // Provide a specialization for LoadAndConstruct for your type namespace cereal { template <> struct LoadAndConstruct { // load_and_construct will be passed the archive that you will be loading // from as well as a construct object which you can use as if it were the // constructor for your type. cereal will handle all memory management for you. template static void load_and_construct( Archive & ar, cereal::construct & construct ) { int x; ar( x ); construct( x ); } // if you require versioning, simply add a const std::uint32_t as the final parameter, e.g.: // load_and_construct( Archive & ar, cereal::construct & construct, std::uint32_t const version ) }; } // end namespace cereal @endcode Please note that just as in using external serialization functions, you cannot get access to non-public members of your class by befriending cereal::access. If you have the ability to modify the class you wish to serialize, it is recommended that you use member serialize functions and a static member load_and_construct function. load_and_construct functions, regardless of whether they are static members of your class or whether you create one in the LoadAndConstruct specialization, have the following signature: @code{.cpp} // generally Archive will be templated, but it can be specific if desired template static void load_and_construct( Archive & ar, cereal::construct & construct ); // with an optional last parameter specifying the version: const std::uint32_t version @endcode Versioning behaves the same way as it does for standard serialization functions. @tparam T The type to specialize for @ingroup Access */ template struct LoadAndConstruct { }; // forward decl for construct //! @cond PRIVATE_NEVERDEFINED namespace memory_detail{ template struct LoadAndConstructLoadWrapper; } //! @endcond //! Used to construct types with no default constructor /*! When serializing a type that has no default constructor, cereal will attempt to call either the class static function load_and_construct or the appropriate template specialization of LoadAndConstruct. cereal will pass that function a reference to the archive as well as a reference to a construct object which should be used to perform the allocation once data has been appropriately loaded. @code{.cpp} struct MyType { // note the lack of default constructor MyType( int xx, int yy ); int x, y; double notInConstructor; template void serialize( Archive & ar ) { ar( x, y ); ar( notInConstructor ); } template static void load_and_construct( Archive & ar, cereal::construct & construct ) { int x, y; ar( x, y ); // use construct object to initialize with loaded data construct( x, y ); // access to member variables and functions via -> operator ar( construct->notInConstructor ); // could also do the above section by: double z; ar( z ); construct->notInConstructor = z; } }; @endcode @tparam T The class type being serialized */ template class construct { public: //! Construct and initialize the type T with the given arguments /*! This will forward all arguments to the underlying type T, calling an appropriate constructor. Calling this function more than once will result in an exception being thrown. @param args The arguments to the constructor for T @throw Exception If called more than once */ template void operator()( Args && ... args ); // implementation deferred due to reliance on cereal::access //! Get a reference to the initialized underlying object /*! This must be called after the object has been initialized. @return A reference to the initialized object @throw Exception If called before initialization */ T * operator->() { if( !itsValid ) throw Exception("Object must be initialized prior to accessing members"); return itsPtr; } //! Returns a raw pointer to the initialized underlying object /*! This is mainly intended for use with passing an instance of a constructed object to cereal::base_class. It is strongly recommended to avoid using this function in any other circumstance. @return A raw pointer to the initialized type */ T * ptr() { return operator->(); } private: template friend struct ::cereal::memory_detail::LoadAndConstructLoadWrapper; construct( T * p ) : itsPtr( p ), itsEnableSharedRestoreFunction( [](){} ), itsValid( false ) {} construct( T * p, std::function enableSharedFunc ) : // g++4.7 ice with default lambda to std func itsPtr( p ), itsEnableSharedRestoreFunction( enableSharedFunc ), itsValid( false ) {} construct( construct const & ) = delete; construct & operator=( construct const & ) = delete; T * itsPtr; std::function itsEnableSharedRestoreFunction; bool itsValid; }; // ###################################################################### //! A class that can be made a friend to give cereal access to non public functions /*! If you desire non-public serialization functions within a class, cereal can only access these if you declare cereal::access a friend. @code{.cpp} class MyClass { private: friend class cereal::access; // gives access to the private serialize template void serialize( Archive & ar ) { // some code } }; @endcode @ingroup Access */ class access { public: // ####### Standard Serialization ######################################## template inline static auto member_serialize(Archive & ar, T & t) -> decltype(t.CEREAL_SERIALIZE_FUNCTION_NAME(ar)) { return t.CEREAL_SERIALIZE_FUNCTION_NAME(ar); } template inline static auto member_save(Archive & ar, T const & t) -> decltype(t.CEREAL_SAVE_FUNCTION_NAME(ar)) { return t.CEREAL_SAVE_FUNCTION_NAME(ar); } template inline static auto member_save_non_const(Archive & ar, T & t) -> decltype(t.CEREAL_SAVE_FUNCTION_NAME(ar)) { return t.CEREAL_SAVE_FUNCTION_NAME(ar); } template inline static auto member_load(Archive & ar, T & t) -> decltype(t.CEREAL_LOAD_FUNCTION_NAME(ar)) { return t.CEREAL_LOAD_FUNCTION_NAME(ar); } template inline static auto member_save_minimal(Archive const & ar, T const & t) -> decltype(t.CEREAL_SAVE_MINIMAL_FUNCTION_NAME(ar)) { return t.CEREAL_SAVE_MINIMAL_FUNCTION_NAME(ar); } template inline static auto member_save_minimal_non_const(Archive const & ar, T & t) -> decltype(t.CEREAL_SAVE_MINIMAL_FUNCTION_NAME(ar)) { return t.CEREAL_SAVE_MINIMAL_FUNCTION_NAME(ar); } template inline static auto member_load_minimal(Archive const & ar, T & t, U && u) -> decltype(t.CEREAL_LOAD_MINIMAL_FUNCTION_NAME(ar, std::forward(u))) { return t.CEREAL_LOAD_MINIMAL_FUNCTION_NAME(ar, std::forward(u)); } // ####### Versioned Serialization ####################################### template inline static auto member_serialize(Archive & ar, T & t, const std::uint32_t version ) -> decltype(t.CEREAL_SERIALIZE_FUNCTION_NAME(ar, version)) { return t.CEREAL_SERIALIZE_FUNCTION_NAME(ar, version); } template inline static auto member_save(Archive & ar, T const & t, const std::uint32_t version ) -> decltype(t.CEREAL_SAVE_FUNCTION_NAME(ar, version)) { return t.CEREAL_SAVE_FUNCTION_NAME(ar, version); } template inline static auto member_save_non_const(Archive & ar, T & t, const std::uint32_t version ) -> decltype(t.CEREAL_SAVE_FUNCTION_NAME(ar, version)) { return t.CEREAL_SAVE_FUNCTION_NAME(ar, version); } template inline static auto member_load(Archive & ar, T & t, const std::uint32_t version ) -> decltype(t.CEREAL_LOAD_FUNCTION_NAME(ar, version)) { return t.CEREAL_LOAD_FUNCTION_NAME(ar, version); } template inline static auto member_save_minimal(Archive const & ar, T const & t, const std::uint32_t version) -> decltype(t.CEREAL_SAVE_MINIMAL_FUNCTION_NAME(ar, version)) { return t.CEREAL_SAVE_MINIMAL_FUNCTION_NAME(ar, version); } template inline static auto member_save_minimal_non_const(Archive const & ar, T & t, const std::uint32_t version) -> decltype(t.CEREAL_SAVE_MINIMAL_FUNCTION_NAME(ar, version)) { return t.CEREAL_SAVE_MINIMAL_FUNCTION_NAME(ar, version); } template inline static auto member_load_minimal(Archive const & ar, T & t, U && u, const std::uint32_t version) -> decltype(t.CEREAL_LOAD_MINIMAL_FUNCTION_NAME(ar, std::forward(u), version)) { return t.CEREAL_LOAD_MINIMAL_FUNCTION_NAME(ar, std::forward(u), version); } // ####### Other Functionality ########################################## // for detecting inheritance from enable_shared_from_this template inline static auto shared_from_this(T & t) -> decltype(t.shared_from_this()); // for placement new template inline static void construct( T *& ptr, Args && ... args ) { new (ptr) T( std::forward( args )... ); } // for non-placement new with a default constructor template inline static T * construct() { return new T(); } template inline static std::false_type load_and_construct(...) { return std::false_type(); } template inline static auto load_and_construct(Archive & ar, ::cereal::construct & construct) -> decltype(T::load_and_construct(ar, construct)) { T::load_and_construct( ar, construct ); } template inline static auto load_and_construct(Archive & ar, ::cereal::construct & construct, const std::uint32_t version) -> decltype(T::load_and_construct(ar, construct, version)) { T::load_and_construct( ar, construct, version ); } }; // end class access // ###################################################################### //! A specifier used in conjunction with cereal::specialize to disambiguate //! serialization in special cases /*! @relates specialize @ingroup Access */ enum class specialization { member_serialize, //!< Force the use of a member serialize function member_load_save, //!< Force the use of a member load/save pair member_load_save_minimal, //!< Force the use of a member minimal load/save pair non_member_serialize, //!< Force the use of a non-member serialize function non_member_load_save, //!< Force the use of a non-member load/save pair non_member_load_save_minimal //!< Force the use of a non-member minimal load/save pair }; //! A class used to disambiguate cases where cereal cannot detect a unique way of serializing a class /*! cereal attempts to figure out which method of serialization (member vs. non-member serialize or load/save pair) at compile time. If for some reason cereal cannot find a non-ambiguous way of serializing a type, it will produce a static assertion complaining about this. This can happen because you have both a serialize and load/save pair, or even because a base class has a serialize (public or private with friend access) and a derived class does not overwrite this due to choosing some other serialization type. Specializing this class will tell cereal to explicitly use the serialization type you specify and it will not complain about ambiguity in its compile time selection. However, if cereal detects an ambiguity in specializations, it will continue to issue a static assertion. @code{.cpp} class MyParent { friend class cereal::access; template void serialize( Archive & ar ) {} }; // Although serialize is private in MyParent, to cereal::access it will look public, // even through MyDerived class MyDerived : public MyParent { public: template void load( Archive & ar ) {} template void save( Archive & ar ) {} }; // The load/save pair in MyDerived is ambiguous because serialize in MyParent can // be accessed from cereal::access. This looks the same as making serialize public // in MyParent, making it seem as though MyDerived has both a serialize and a load/save pair. // cereal will complain about this at compile time unless we disambiguate: namespace cereal { // This struct specialization will tell cereal which is the right way to serialize the ambiguity template struct specialize {}; // If we only had a disambiguation for a specific archive type, it would look something like this template <> struct specialize {}; } @endcode You can also choose to use the macros CEREAL_SPECIALIZE_FOR_ALL_ARCHIVES or CEREAL_SPECIALIZE_FOR_ARCHIVE if you want to type a little bit less. @tparam T The type to specialize the serialization for @tparam S The specialization type to use for T @ingroup Access */ template struct specialize : public std::false_type {}; //! Convenient macro for performing specialization for all archive types /*! This performs specialization for the specific type for all types of archives. This macro should be placed at the global namespace. @code{cpp} struct MyType {}; CEREAL_SPECIALIZE_FOR_ALL_ARCHIVES( MyType, cereal::specialization::member_load_save ); @endcode @relates specialize @ingroup Access */ #define CEREAL_SPECIALIZE_FOR_ALL_ARCHIVES( Type, Specialization ) \ namespace cereal { template struct specialize {}; } //! Convenient macro for performing specialization for a single archive type /*! This performs specialization for the specific type for a single type of archive. This macro should be placed at the global namespace. @code{cpp} struct MyType {}; CEREAL_SPECIALIZE_FOR_ARCHIVE( cereal::XMLInputArchive, MyType, cereal::specialization::member_load_save ); @endcode @relates specialize @ingroup Access */ #define CEREAL_SPECIALIZE_FOR_ARCHIVE( Archive, Type, Specialization ) \ namespace cereal { template <> struct specialize {}; } // ###################################################################### // Deferred Implementation, see construct for more information template template inline void construct::operator()( Args && ... args ) { if( itsValid ) throw Exception("Attempting to construct an already initialized object"); ::cereal::access::construct( itsPtr, std::forward( args )... ); itsEnableSharedRestoreFunction(); itsValid = true; } } // namespace cereal #endif // CEREAL_ACCESS_HPP_ blockattack-game-2.5.0/source/code/Libs/include/cereal/archives/000077500000000000000000000000001347224572500245075ustar00rootroot00000000000000blockattack-game-2.5.0/source/code/Libs/include/cereal/archives/adapters.hpp000066400000000000000000000136221347224572500270270ustar00rootroot00000000000000/*! \file adapters.hpp \brief Archive adapters that provide additional functionality on top of an existing archive */ /* Copyright (c) 2014, Randolph Voorhies, Shane Grant All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * 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. * Neither the name of cereal nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "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 RANDOLPH VOORHIES OR SHANE GRANT 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. */ #ifndef CEREAL_ARCHIVES_ADAPTERS_HPP_ #define CEREAL_ARCHIVES_ADAPTERS_HPP_ #include "cereal/details/helpers.hpp" #include namespace cereal { #ifdef CEREAL_FUTURE_EXPERIMENTAL // Forward declaration for friend access template U & get_user_data( A & ); //! Wraps an archive and gives access to user data /*! This adapter is useful if you require access to either raw pointers or references within your serialization functions. While cereal does not directly support serialization raw pointers or references, it is sometimes the case that you may want to supply something such as a raw pointer or global reference to some constructor. In this situation this adapter would likely be used with the construct class to allow for non-default constructors. @note This feature is experimental and may be altered or removed in a future release. See issue #46. @code{.cpp} struct MyUserData { int * myRawPointer; std::reference_wrapper myReference; }; struct MyClass { // Note the raw pointer parameter MyClass( int xx, int * rawP ); int x; template void serialize( Archive & ar ) { ar( x ); } template static void load_and_construct( Archive & ar, cereal::construct & construct ) { int xx; ar( xx ); // note the need to use get_user_data to retrieve user data from the archive construct( xx, cereal::get_user_data( ar ).myRawPointer ); } }; int main() { { MyUserData md; md.myRawPointer = &something; md.myReference = someInstanceOfType; std::ifstream is( "data.xml" ); cereal::UserDataAdapter ar( md, is ); std::unique_ptr sc; ar( sc ); // use as normal } return 0; } @endcode @relates get_user_data @tparam UserData The type to give the archive access to @tparam Archive The archive to wrap */ template class UserDataAdapter : public Archive { public: //! Construct the archive with some user data struct /*! This will forward all arguments (other than the user data) to the wrapped archive type. The UserDataAdapter can then be used identically to the wrapped archive type @tparam Args The arguments to pass to the constructor of the archive. */ template UserDataAdapter( UserData & ud, Args && ... args ) : Archive( std::forward( args )... ), userdata( ud ) { } private: //! Overload the rtti function to enable dynamic_cast void rtti() {} friend UserData & get_user_data( Archive & ar ); UserData & userdata; //!< The actual user data }; //! Retrieves user data from an archive wrapped by UserDataAdapter /*! This will attempt to retrieve the user data associated with some archive wrapped by UserDataAdapter. If this is used on an archive that is not wrapped, a run-time exception will occur. @note This feature is experimental and may be altered or removed in a future release. See issue #46. @note The correct use of this function cannot be enforced at compile time. @relates UserDataAdapter @tparam UserData The data struct contained in the archive @tparam Archive The archive, which should be wrapped by UserDataAdapter @param ar The archive @throws Exception if the archive this is used upon is not wrapped with UserDataAdapter. */ template UserData & get_user_data( Archive & ar ) { try { return dynamic_cast &>( ar ).userdata; } catch( std::bad_cast const & ) { throw ::cereal::Exception("Attempting to get user data from archive not wrapped in UserDataAdapter"); } } #endif // CEREAL_FUTURE_EXPERIMENTAL } // namespace cereal #endif // CEREAL_ARCHIVES_ADAPTERS_HPP_ blockattack-game-2.5.0/source/code/Libs/include/cereal/archives/binary.hpp000066400000000000000000000152151347224572500265100ustar00rootroot00000000000000/*! \file binary.hpp \brief Binary input and output archives */ /* Copyright (c) 2014, Randolph Voorhies, Shane Grant All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * 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. * Neither the name of cereal nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "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 RANDOLPH VOORHIES OR SHANE GRANT 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. */ #ifndef CEREAL_ARCHIVES_BINARY_HPP_ #define CEREAL_ARCHIVES_BINARY_HPP_ #include "cereal/cereal.hpp" #include namespace cereal { // ###################################################################### //! An output archive designed to save data in a compact binary representation /*! This archive outputs data to a stream in an extremely compact binary representation with as little extra metadata as possible. This archive does nothing to ensure that the endianness of the saved and loaded data is the same. If you need to have portability over architectures with different endianness, use PortableBinaryOutputArchive. When using a binary archive and a file stream, you must use the std::ios::binary format flag to avoid having your data altered inadvertently. \ingroup Archives */ class BinaryOutputArchive : public OutputArchive { public: //! Construct, outputting to the provided stream /*! @param stream The stream to output to. Can be a stringstream, a file stream, or even cout! */ BinaryOutputArchive(std::ostream & stream) : OutputArchive(this), itsStream(stream) { } ~BinaryOutputArchive() CEREAL_NOEXCEPT = default; //! Writes size bytes of data to the output stream void saveBinary( const void * data, std::size_t size ) { auto const writtenSize = static_cast( itsStream.rdbuf()->sputn( reinterpret_cast( data ), size ) ); if(writtenSize != size) throw Exception("Failed to write " + std::to_string(size) + " bytes to output stream! Wrote " + std::to_string(writtenSize)); } private: std::ostream & itsStream; }; // ###################################################################### //! An input archive designed to load data saved using BinaryOutputArchive /* This archive does nothing to ensure that the endianness of the saved and loaded data is the same. If you need to have portability over architectures with different endianness, use PortableBinaryOutputArchive. When using a binary archive and a file stream, you must use the std::ios::binary format flag to avoid having your data altered inadvertently. \ingroup Archives */ class BinaryInputArchive : public InputArchive { public: //! Construct, loading from the provided stream BinaryInputArchive(std::istream & stream) : InputArchive(this), itsStream(stream) { } ~BinaryInputArchive() CEREAL_NOEXCEPT = default; //! Reads size bytes of data from the input stream void loadBinary( void * const data, std::size_t size ) { auto const readSize = static_cast( itsStream.rdbuf()->sgetn( reinterpret_cast( data ), size ) ); if(readSize != size) throw Exception("Failed to read " + std::to_string(size) + " bytes from input stream! Read " + std::to_string(readSize)); } private: std::istream & itsStream; }; // ###################################################################### // Common BinaryArchive serialization functions //! Saving for POD types to binary template inline typename std::enable_if::value, void>::type CEREAL_SAVE_FUNCTION_NAME(BinaryOutputArchive & ar, T const & t) { ar.saveBinary(std::addressof(t), sizeof(t)); } //! Loading for POD types from binary template inline typename std::enable_if::value, void>::type CEREAL_LOAD_FUNCTION_NAME(BinaryInputArchive & ar, T & t) { ar.loadBinary(std::addressof(t), sizeof(t)); } //! Serializing NVP types to binary template inline CEREAL_ARCHIVE_RESTRICT(BinaryInputArchive, BinaryOutputArchive) CEREAL_SERIALIZE_FUNCTION_NAME( Archive & ar, NameValuePair & t ) { ar( t.value ); } //! Serializing SizeTags to binary template inline CEREAL_ARCHIVE_RESTRICT(BinaryInputArchive, BinaryOutputArchive) CEREAL_SERIALIZE_FUNCTION_NAME( Archive & ar, SizeTag & t ) { ar( t.size ); } //! Saving binary data template inline void CEREAL_SAVE_FUNCTION_NAME(BinaryOutputArchive & ar, BinaryData const & bd) { ar.saveBinary( bd.data, static_cast( bd.size ) ); } //! Loading binary data template inline void CEREAL_LOAD_FUNCTION_NAME(BinaryInputArchive & ar, BinaryData & bd) { ar.loadBinary(bd.data, static_cast(bd.size)); } } // namespace cereal // register archives for polymorphic support CEREAL_REGISTER_ARCHIVE(cereal::BinaryOutputArchive) CEREAL_REGISTER_ARCHIVE(cereal::BinaryInputArchive) // tie input and output archives together CEREAL_SETUP_ARCHIVE_TRAITS(cereal::BinaryInputArchive, cereal::BinaryOutputArchive) #endif // CEREAL_ARCHIVES_BINARY_HPP_ blockattack-game-2.5.0/source/code/Libs/include/cereal/archives/json.hpp000066400000000000000000001227011347224572500261740ustar00rootroot00000000000000/*! \file json.hpp \brief JSON input and output archives */ /* Copyright (c) 2014, Randolph Voorhies, Shane Grant All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * 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. * Neither the name of cereal nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "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 RANDOLPH VOORHIES OR SHANE GRANT 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. */ #ifndef CEREAL_ARCHIVES_JSON_HPP_ #define CEREAL_ARCHIVES_JSON_HPP_ #include "cereal/cereal.hpp" #include "cereal/details/util.hpp" namespace cereal { //! An exception thrown when rapidjson fails an internal assertion /*! @ingroup Utility */ struct RapidJSONException : Exception { RapidJSONException( const char * what_ ) : Exception( what_ ) {} }; } // Override rapidjson assertions to throw exceptions by default #ifndef CEREAL_RAPIDJSON_ASSERT #define CEREAL_RAPIDJSON_ASSERT(x) if(!(x)){ \ throw ::cereal::RapidJSONException("rapidjson internal assertion failure: " #x); } #endif // RAPIDJSON_ASSERT // Enable support for parsing of nan, inf, -inf #define CEREAL_RAPIDJSON_WRITE_DEFAULT_FLAGS kWriteNanAndInfFlag #define CEREAL_RAPIDJSON_PARSE_DEFAULT_FLAGS kParseFullPrecisionFlag | kParseNanAndInfFlag #include "cereal/external/rapidjson/prettywriter.h" #include "cereal/external/rapidjson/ostreamwrapper.h" #include "cereal/external/rapidjson/istreamwrapper.h" #include "cereal/external/rapidjson/document.h" #include "cereal/external/base64.hpp" #include #include #include #include #include namespace cereal { // ###################################################################### //! An output archive designed to save data to JSON /*! This archive uses RapidJSON to build serialize data to JSON. JSON archives provides a human readable output but at decreased performance (both in time and space) compared to binary archives. JSON archives are only guaranteed to finish flushing their contents upon destruction and should thus be used in an RAII fashion. JSON benefits greatly from name-value pairs, which if present, will name the nodes in the output. If these are not present, each level of the output will be given an automatically generated delimited name. The precision of the output archive controls the number of decimals output for floating point numbers and should be sufficiently large (i.e. at least 20) if there is a desire to have binary equality between the numbers output and those read in. In general you should expect a loss of precision when going from floating point to text and back. JSON archives do not output the size information for any dynamically sized structure and instead infer it from the number of children for a node. This means that data can be hand edited for dynamic sized structures and will still be readable. This is accomplished through the cereal::SizeTag object, which will cause the archive to output the data as a JSON array (e.g. marked by [] instead of {}), which indicates that the container is variable sized and may be edited. \ingroup Archives */ class JSONOutputArchive : public OutputArchive, public traits::TextArchive { enum class NodeType { StartObject, InObject, StartArray, InArray }; using WriteStream = CEREAL_RAPIDJSON_NAMESPACE::OStreamWrapper; using JSONWriter = CEREAL_RAPIDJSON_NAMESPACE::PrettyWriter; public: /*! @name Common Functionality Common use cases for directly interacting with an JSONOutputArchive */ //! @{ //! A class containing various advanced options for the JSON archive class Options { public: //! Default options static Options Default(){ return Options(); } //! Default options with no indentation static Options NoIndent(){ return Options( JSONWriter::kDefaultMaxDecimalPlaces, IndentChar::space, 0 ); } //! The character to use for indenting enum class IndentChar : char { space = ' ', tab = '\t', newline = '\n', carriage_return = '\r' }; //! Specify specific options for the JSONOutputArchive /*! @param precision The precision used for floating point numbers @param indentChar The type of character to indent with @param indentLength The number of indentChar to use for indentation (0 corresponds to no indentation) */ explicit Options( int precision = JSONWriter::kDefaultMaxDecimalPlaces, IndentChar indentChar = IndentChar::space, unsigned int indentLength = 4 ) : itsPrecision( precision ), itsIndentChar( static_cast(indentChar) ), itsIndentLength( indentLength ) { } private: friend class JSONOutputArchive; int itsPrecision; char itsIndentChar; unsigned int itsIndentLength; }; //! Construct, outputting to the provided stream /*! @param stream The stream to output to. @param options The JSON specific options to use. See the Options struct for the values of default parameters */ JSONOutputArchive(std::ostream & stream, Options const & options = Options::Default() ) : OutputArchive(this), itsWriteStream(stream), itsWriter(itsWriteStream), itsNextName(nullptr) { itsWriter.SetMaxDecimalPlaces( options.itsPrecision ); itsWriter.SetIndent( options.itsIndentChar, options.itsIndentLength ); itsNameCounter.push(0); itsNodeStack.push(NodeType::StartObject); } //! Destructor, flushes the JSON ~JSONOutputArchive() CEREAL_NOEXCEPT { if (itsNodeStack.top() == NodeType::InObject) itsWriter.EndObject(); else if (itsNodeStack.top() == NodeType::InArray) itsWriter.EndArray(); } //! Saves some binary data, encoded as a base64 string, with an optional name /*! This will create a new node, optionally named, and insert a value that consists of the data encoded as a base64 string */ void saveBinaryValue( const void * data, size_t size, const char * name = nullptr ) { setNextName( name ); writeName(); auto base64string = base64::encode( reinterpret_cast( data ), size ); saveValue( base64string ); }; //! @} /*! @name Internal Functionality Functionality designed for use by those requiring control over the inner mechanisms of the JSONOutputArchive */ //! @{ //! Starts a new node in the JSON output /*! The node can optionally be given a name by calling setNextName prior to creating the node Nodes only need to be started for types that are themselves objects or arrays */ void startNode() { writeName(); itsNodeStack.push(NodeType::StartObject); itsNameCounter.push(0); } //! Designates the most recently added node as finished void finishNode() { // if we ended up serializing an empty object or array, writeName // will never have been called - so start and then immediately end // the object/array. // // We'll also end any object/arrays we happen to be in switch(itsNodeStack.top()) { case NodeType::StartArray: itsWriter.StartArray(); case NodeType::InArray: itsWriter.EndArray(); break; case NodeType::StartObject: itsWriter.StartObject(); case NodeType::InObject: itsWriter.EndObject(); break; } itsNodeStack.pop(); itsNameCounter.pop(); } //! Sets the name for the next node created with startNode void setNextName( const char * name ) { itsNextName = name; } //! Saves a bool to the current node void saveValue(bool b) { itsWriter.Bool(b); } //! Saves an int to the current node void saveValue(int i) { itsWriter.Int(i); } //! Saves a uint to the current node void saveValue(unsigned u) { itsWriter.Uint(u); } //! Saves an int64 to the current node void saveValue(int64_t i64) { itsWriter.Int64(i64); } //! Saves a uint64 to the current node void saveValue(uint64_t u64) { itsWriter.Uint64(u64); } //! Saves a double to the current node void saveValue(double d) { itsWriter.Double(d); } //! Saves a string to the current node void saveValue(std::string const & s) { itsWriter.String(s.c_str(), static_cast( s.size() )); } //! Saves a const char * to the current node void saveValue(char const * s) { itsWriter.String(s); } //! Saves a nullptr to the current node void saveValue(std::nullptr_t) { itsWriter.Null(); } private: // Some compilers/OS have difficulty disambiguating the above for various flavors of longs, so we provide // special overloads to handle these cases. //! 32 bit signed long saving to current node template ::value> = traits::sfinae> inline void saveLong(T l){ saveValue( static_cast( l ) ); } //! non 32 bit signed long saving to current node template ::value> = traits::sfinae> inline void saveLong(T l){ saveValue( static_cast( l ) ); } //! 32 bit unsigned long saving to current node template ::value> = traits::sfinae> inline void saveLong(T lu){ saveValue( static_cast( lu ) ); } //! non 32 bit unsigned long saving to current node template ::value> = traits::sfinae> inline void saveLong(T lu){ saveValue( static_cast( lu ) ); } public: #ifdef _MSC_VER //! MSVC only long overload to current node void saveValue( unsigned long lu ){ saveLong( lu ); }; #else // _MSC_VER //! Serialize a long if it would not be caught otherwise template ::value, !std::is_same::value, !std::is_same::value> = traits::sfinae> inline void saveValue( T t ){ saveLong( t ); } //! Serialize an unsigned long if it would not be caught otherwise template ::value, !std::is_same::value, !std::is_same::value> = traits::sfinae> inline void saveValue( T t ){ saveLong( t ); } #endif // _MSC_VER //! Save exotic arithmetic as strings to current node /*! Handles long long (if distinct from other types), unsigned long (if distinct), and long double */ template ::value, !std::is_same::value, !std::is_same::value, !std::is_same::value, !std::is_same::value, (sizeof(T) >= sizeof(long double) || sizeof(T) >= sizeof(long long))> = traits::sfinae> inline void saveValue(T const & t) { std::stringstream ss; ss.precision( std::numeric_limits::max_digits10 ); ss << t; saveValue( ss.str() ); } //! Write the name of the upcoming node and prepare object/array state /*! Since writeName is called for every value that is output, regardless of whether it has a name or not, it is the place where we will do a deferred check of our node state and decide whether we are in an array or an object. The general workflow of saving to the JSON archive is: 1. (optional) Set the name for the next node to be created, usually done by an NVP 2. Start the node 3. (if there is data to save) Write the name of the node (this function) 4. (if there is data to save) Save the data (with saveValue) 5. Finish the node */ void writeName() { NodeType const & nodeType = itsNodeStack.top(); // Start up either an object or an array, depending on state if(nodeType == NodeType::StartArray) { itsWriter.StartArray(); itsNodeStack.top() = NodeType::InArray; } else if(nodeType == NodeType::StartObject) { itsNodeStack.top() = NodeType::InObject; itsWriter.StartObject(); } // Array types do not output names if(nodeType == NodeType::InArray) return; if(itsNextName == nullptr) { std::string name = "value" + std::to_string( itsNameCounter.top()++ ) + "\0"; saveValue(name); } else { saveValue(itsNextName); itsNextName = nullptr; } } //! Designates that the current node should be output as an array, not an object void makeArray() { itsNodeStack.top() = NodeType::StartArray; } //! @} private: WriteStream itsWriteStream; //!< Rapidjson write stream JSONWriter itsWriter; //!< Rapidjson writer char const * itsNextName; //!< The next name std::stack itsNameCounter; //!< Counter for creating unique names for unnamed nodes std::stack itsNodeStack; }; // JSONOutputArchive // ###################################################################### //! An input archive designed to load data from JSON /*! This archive uses RapidJSON to read in a JSON archive. As with the output JSON archive, the preferred way to use this archive is in an RAII fashion, ensuring its destruction after all data has been read. Input JSON should have been produced by the JSONOutputArchive. Data can only be added to dynamically sized containers (marked by JSON arrays) - the input archive will determine their size by looking at the number of child nodes. Only JSON originating from a JSONOutputArchive is officially supported, but data from other sources may work if properly formatted. The JSONInputArchive does not require that nodes are loaded in the same order they were saved by JSONOutputArchive. Using name value pairs (NVPs), it is possible to load in an out of order fashion or otherwise skip/select specific nodes to load. The default behavior of the input archive is to read sequentially starting with the first node and exploring its children. When a given NVP does not match the read in name for a node, the archive will search for that node at the current level and load it if it exists. After loading an out of order node, the archive will then proceed back to loading sequentially from its new position. Consider this simple example where loading of some data is skipped: @code{cpp} // imagine the input file has someData(1-9) saved in order at the top level node ar( someData1, someData2, someData3 ); // XML loads in the order it sees in the file ar( cereal::make_nvp( "hello", someData6 ) ); // NVP given does not // match expected NVP name, so we search // for the given NVP and load that value ar( someData7, someData8, someData9 ); // with no NVP given, loading resumes at its // current location, proceeding sequentially @endcode \ingroup Archives */ class JSONInputArchive : public InputArchive, public traits::TextArchive { private: using ReadStream = CEREAL_RAPIDJSON_NAMESPACE::IStreamWrapper; typedef CEREAL_RAPIDJSON_NAMESPACE::GenericValue> JSONValue; typedef JSONValue::ConstMemberIterator MemberIterator; typedef JSONValue::ConstValueIterator ValueIterator; typedef CEREAL_RAPIDJSON_NAMESPACE::Document::GenericValue GenericValue; public: /*! @name Common Functionality Common use cases for directly interacting with an JSONInputArchive */ //! @{ //! Construct, reading from the provided stream /*! @param stream The stream to read from */ JSONInputArchive(std::istream & stream) : InputArchive(this), itsNextName( nullptr ), itsReadStream(stream) { itsDocument.ParseStream<>(itsReadStream); if (itsDocument.IsArray()) itsIteratorStack.emplace_back(itsDocument.Begin(), itsDocument.End()); else itsIteratorStack.emplace_back(itsDocument.MemberBegin(), itsDocument.MemberEnd()); } ~JSONInputArchive() CEREAL_NOEXCEPT = default; //! Loads some binary data, encoded as a base64 string /*! This will automatically start and finish a node to load the data, and can be called directly by users. Note that this follows the same ordering rules specified in the class description in regards to loading in/out of order */ void loadBinaryValue( void * data, size_t size, const char * name = nullptr ) { itsNextName = name; std::string encoded; loadValue( encoded ); auto decoded = base64::decode( encoded ); if( size != decoded.size() ) throw Exception("Decoded binary data size does not match specified size"); std::memcpy( data, decoded.data(), decoded.size() ); itsNextName = nullptr; }; private: //! @} /*! @name Internal Functionality Functionality designed for use by those requiring control over the inner mechanisms of the JSONInputArchive */ //! @{ //! An internal iterator that handles both array and object types /*! This class is a variant and holds both types of iterators that rapidJSON supports - one for arrays and one for objects. */ class Iterator { public: Iterator() : itsIndex( 0 ), itsType(Null_) {} Iterator(MemberIterator begin, MemberIterator end) : itsMemberItBegin(begin), itsMemberItEnd(end), itsIndex(0), itsType(Member) { if( std::distance( begin, end ) == 0 ) itsType = Null_; } Iterator(ValueIterator begin, ValueIterator end) : itsValueItBegin(begin), itsValueItEnd(end), itsIndex(0), itsType(Value) { if( std::distance( begin, end ) == 0 ) itsType = Null_; } //! Advance to the next node Iterator & operator++() { ++itsIndex; return *this; } //! Get the value of the current node GenericValue const & value() { switch(itsType) { case Value : return itsValueItBegin[itsIndex]; case Member: return itsMemberItBegin[itsIndex].value; default: throw cereal::Exception("JSONInputArchive internal error: null or empty iterator to object or array!"); } } //! Get the name of the current node, or nullptr if it has no name const char * name() const { if( itsType == Member && (itsMemberItBegin + itsIndex) != itsMemberItEnd ) return itsMemberItBegin[itsIndex].name.GetString(); else return nullptr; } //! Adjust our position such that we are at the node with the given name /*! @throws Exception if no such named node exists */ inline void search( const char * searchName ) { const auto len = std::strlen( searchName ); size_t index = 0; for( auto it = itsMemberItBegin; it != itsMemberItEnd; ++it, ++index ) { const auto currentName = it->name.GetString(); if( ( std::strncmp( searchName, currentName, len ) == 0 ) && ( std::strlen( currentName ) == len ) ) { itsIndex = index; return; } } throw Exception("JSON Parsing failed - provided NVP (" + std::string(searchName) + ") not found"); } private: MemberIterator itsMemberItBegin, itsMemberItEnd; //!< The member iterator (object) ValueIterator itsValueItBegin, itsValueItEnd; //!< The value iterator (array) size_t itsIndex; //!< The current index of this iterator enum Type {Value, Member, Null_} itsType; //!< Whether this holds values (array) or members (objects) or nothing }; //! Searches for the expectedName node if it doesn't match the actualName /*! This needs to be called before every load or node start occurs. This function will check to see if an NVP has been provided (with setNextName) and if so, see if that name matches the actual next name given. If the names do not match, it will search in the current level of the JSON for that name. If the name is not found, an exception will be thrown. Resets the NVP name after called. @throws Exception if an expectedName is given and not found */ inline void search() { // The name an NVP provided with setNextName() if( itsNextName ) { // The actual name of the current node auto const actualName = itsIteratorStack.back().name(); // Do a search if we don't see a name coming up, or if the names don't match if( !actualName || std::strcmp( itsNextName, actualName ) != 0 ) itsIteratorStack.back().search( itsNextName ); } itsNextName = nullptr; } public: //! Starts a new node, going into its proper iterator /*! This places an iterator for the next node to be parsed onto the iterator stack. If the next node is an array, this will be a value iterator, otherwise it will be a member iterator. By default our strategy is to start with the document root node and then recursively iterate through all children in the order they show up in the document. We don't need to know NVPs to do this; we'll just blindly load in the order things appear in. If we were given an NVP, we will search for it if it does not match our the name of the next node that would normally be loaded. This functionality is provided by search(). */ void startNode() { search(); if(itsIteratorStack.back().value().IsArray()) itsIteratorStack.emplace_back(itsIteratorStack.back().value().Begin(), itsIteratorStack.back().value().End()); else itsIteratorStack.emplace_back(itsIteratorStack.back().value().MemberBegin(), itsIteratorStack.back().value().MemberEnd()); } //! Finishes the most recently started node void finishNode() { itsIteratorStack.pop_back(); ++itsIteratorStack.back(); } //! Retrieves the current node name /*! @return nullptr if no name exists */ const char * getNodeName() const { return itsIteratorStack.back().name(); } //! Sets the name for the next node created with startNode void setNextName( const char * name ) { itsNextName = name; } //! Loads a value from the current node - small signed overload template ::value, sizeof(T) < sizeof(int64_t)> = traits::sfinae> inline void loadValue(T & val) { search(); val = static_cast( itsIteratorStack.back().value().GetInt() ); ++itsIteratorStack.back(); } //! Loads a value from the current node - small unsigned overload template ::value, sizeof(T) < sizeof(uint64_t), !std::is_same::value> = traits::sfinae> inline void loadValue(T & val) { search(); val = static_cast( itsIteratorStack.back().value().GetUint() ); ++itsIteratorStack.back(); } //! Loads a value from the current node - bool overload void loadValue(bool & val) { search(); val = itsIteratorStack.back().value().GetBool(); ++itsIteratorStack.back(); } //! Loads a value from the current node - int64 overload void loadValue(int64_t & val) { search(); val = itsIteratorStack.back().value().GetInt64(); ++itsIteratorStack.back(); } //! Loads a value from the current node - uint64 overload void loadValue(uint64_t & val) { search(); val = itsIteratorStack.back().value().GetUint64(); ++itsIteratorStack.back(); } //! Loads a value from the current node - float overload void loadValue(float & val) { search(); val = static_cast(itsIteratorStack.back().value().GetDouble()); ++itsIteratorStack.back(); } //! Loads a value from the current node - double overload void loadValue(double & val) { search(); val = itsIteratorStack.back().value().GetDouble(); ++itsIteratorStack.back(); } //! Loads a value from the current node - string overload void loadValue(std::string & val) { search(); val = itsIteratorStack.back().value().GetString(); ++itsIteratorStack.back(); } //! Loads a nullptr from the current node void loadValue(std::nullptr_t&) { search(); CEREAL_RAPIDJSON_ASSERT(itsIteratorStack.back().value().IsNull()); ++itsIteratorStack.back(); } // Special cases to handle various flavors of long, which tend to conflict with // the int32_t or int64_t on various compiler/OS combinations. MSVC doesn't need any of this. #ifndef _MSC_VER private: //! 32 bit signed long loading from current node template inline typename std::enable_if::value, void>::type loadLong(T & l){ loadValue( reinterpret_cast( l ) ); } //! non 32 bit signed long loading from current node template inline typename std::enable_if::value, void>::type loadLong(T & l){ loadValue( reinterpret_cast( l ) ); } //! 32 bit unsigned long loading from current node template inline typename std::enable_if::value, void>::type loadLong(T & lu){ loadValue( reinterpret_cast( lu ) ); } //! non 32 bit unsigned long loading from current node template inline typename std::enable_if::value, void>::type loadLong(T & lu){ loadValue( reinterpret_cast( lu ) ); } public: //! Serialize a long if it would not be caught otherwise template inline typename std::enable_if::value && sizeof(T) >= sizeof(std::int64_t) && !std::is_same::value, void>::type loadValue( T & t ){ loadLong(t); } //! Serialize an unsigned long if it would not be caught otherwise template inline typename std::enable_if::value && sizeof(T) >= sizeof(std::uint64_t) && !std::is_same::value, void>::type loadValue( T & t ){ loadLong(t); } #endif // _MSC_VER private: //! Convert a string to a long long void stringToNumber( std::string const & str, long long & val ) { val = std::stoll( str ); } //! Convert a string to an unsigned long long void stringToNumber( std::string const & str, unsigned long long & val ) { val = std::stoull( str ); } //! Convert a string to a long double void stringToNumber( std::string const & str, long double & val ) { val = std::stold( str ); } public: //! Loads a value from the current node - long double and long long overloads template ::value, !std::is_same::value, !std::is_same::value, !std::is_same::value, !std::is_same::value, (sizeof(T) >= sizeof(long double) || sizeof(T) >= sizeof(long long))> = traits::sfinae> inline void loadValue(T & val) { std::string encoded; loadValue( encoded ); stringToNumber( encoded, val ); } //! Loads the size for a SizeTag void loadSize(size_type & size) { if (itsIteratorStack.size() == 1) size = itsDocument.Size(); else size = (itsIteratorStack.rbegin() + 1)->value().Size(); } //! @} private: const char * itsNextName; //!< Next name set by NVP ReadStream itsReadStream; //!< Rapidjson write stream std::vector itsIteratorStack; //!< 'Stack' of rapidJSON iterators CEREAL_RAPIDJSON_NAMESPACE::Document itsDocument; //!< Rapidjson document }; // ###################################################################### // JSONArchive prologue and epilogue functions // ###################################################################### // ###################################################################### //! Prologue for NVPs for JSON archives /*! NVPs do not start or finish nodes - they just set up the names */ template inline void prologue( JSONOutputArchive &, NameValuePair const & ) { } //! Prologue for NVPs for JSON archives template inline void prologue( JSONInputArchive &, NameValuePair const & ) { } // ###################################################################### //! Epilogue for NVPs for JSON archives /*! NVPs do not start or finish nodes - they just set up the names */ template inline void epilogue( JSONOutputArchive &, NameValuePair const & ) { } //! Epilogue for NVPs for JSON archives /*! NVPs do not start or finish nodes - they just set up the names */ template inline void epilogue( JSONInputArchive &, NameValuePair const & ) { } // ###################################################################### //! Prologue for SizeTags for JSON archives /*! SizeTags are strictly ignored for JSON, they just indicate that the current node should be made into an array */ template inline void prologue( JSONOutputArchive & ar, SizeTag const & ) { ar.makeArray(); } //! Prologue for SizeTags for JSON archives template inline void prologue( JSONInputArchive &, SizeTag const & ) { } // ###################################################################### //! Epilogue for SizeTags for JSON archives /*! SizeTags are strictly ignored for JSON */ template inline void epilogue( JSONOutputArchive &, SizeTag const & ) { } //! Epilogue for SizeTags for JSON archives template inline void epilogue( JSONInputArchive &, SizeTag const & ) { } // ###################################################################### //! Prologue for all other types for JSON archives (except minimal types) /*! Starts a new node, named either automatically or by some NVP, that may be given data by the type about to be archived Minimal types do not start or finish nodes */ template ::value, !traits::has_minimal_base_class_serialization::value, !traits::has_minimal_output_serialization::value> = traits::sfinae> inline void prologue( JSONOutputArchive & ar, T const & ) { ar.startNode(); } //! Prologue for all other types for JSON archives template ::value, !traits::has_minimal_base_class_serialization::value, !traits::has_minimal_input_serialization::value> = traits::sfinae> inline void prologue( JSONInputArchive & ar, T const & ) { ar.startNode(); } // ###################################################################### //! Epilogue for all other types other for JSON archives (except minimal types) /*! Finishes the node created in the prologue Minimal types do not start or finish nodes */ template ::value, !traits::has_minimal_base_class_serialization::value, !traits::has_minimal_output_serialization::value> = traits::sfinae> inline void epilogue( JSONOutputArchive & ar, T const & ) { ar.finishNode(); } //! Epilogue for all other types other for JSON archives template ::value, !traits::has_minimal_base_class_serialization::value, !traits::has_minimal_input_serialization::value> = traits::sfinae> inline void epilogue( JSONInputArchive & ar, T const & ) { ar.finishNode(); } // ###################################################################### //! Prologue for arithmetic types for JSON archives inline void prologue( JSONOutputArchive & ar, std::nullptr_t const & ) { ar.writeName(); } //! Prologue for arithmetic types for JSON archives inline void prologue( JSONInputArchive &, std::nullptr_t const & ) { } // ###################################################################### //! Epilogue for arithmetic types for JSON archives inline void epilogue( JSONOutputArchive &, std::nullptr_t const & ) { } //! Epilogue for arithmetic types for JSON archives inline void epilogue( JSONInputArchive &, std::nullptr_t const & ) { } // ###################################################################### //! Prologue for arithmetic types for JSON archives template ::value> = traits::sfinae> inline void prologue( JSONOutputArchive & ar, T const & ) { ar.writeName(); } //! Prologue for arithmetic types for JSON archives template ::value> = traits::sfinae> inline void prologue( JSONInputArchive &, T const & ) { } // ###################################################################### //! Epilogue for arithmetic types for JSON archives template ::value> = traits::sfinae> inline void epilogue( JSONOutputArchive &, T const & ) { } //! Epilogue for arithmetic types for JSON archives template ::value> = traits::sfinae> inline void epilogue( JSONInputArchive &, T const & ) { } // ###################################################################### //! Prologue for strings for JSON archives template inline void prologue(JSONOutputArchive & ar, std::basic_string const &) { ar.writeName(); } //! Prologue for strings for JSON archives template inline void prologue(JSONInputArchive &, std::basic_string const &) { } // ###################################################################### //! Epilogue for strings for JSON archives template inline void epilogue(JSONOutputArchive &, std::basic_string const &) { } //! Epilogue for strings for JSON archives template inline void epilogue(JSONInputArchive &, std::basic_string const &) { } // ###################################################################### // Common JSONArchive serialization functions // ###################################################################### //! Serializing NVP types to JSON template inline void CEREAL_SAVE_FUNCTION_NAME( JSONOutputArchive & ar, NameValuePair const & t ) { ar.setNextName( t.name ); ar( t.value ); } template inline void CEREAL_LOAD_FUNCTION_NAME( JSONInputArchive & ar, NameValuePair & t ) { ar.setNextName( t.name ); ar( t.value ); } //! Saving for nullptr to JSON inline void CEREAL_SAVE_FUNCTION_NAME(JSONOutputArchive & ar, std::nullptr_t const & t) { ar.saveValue( t ); } //! Loading arithmetic from JSON inline void CEREAL_LOAD_FUNCTION_NAME(JSONInputArchive & ar, std::nullptr_t & t) { ar.loadValue( t ); } //! Saving for arithmetic to JSON template ::value> = traits::sfinae> inline void CEREAL_SAVE_FUNCTION_NAME(JSONOutputArchive & ar, T const & t) { ar.saveValue( t ); } //! Loading arithmetic from JSON template ::value> = traits::sfinae> inline void CEREAL_LOAD_FUNCTION_NAME(JSONInputArchive & ar, T & t) { ar.loadValue( t ); } //! saving string to JSON template inline void CEREAL_SAVE_FUNCTION_NAME(JSONOutputArchive & ar, std::basic_string const & str) { ar.saveValue( str ); } //! loading string from JSON template inline void CEREAL_LOAD_FUNCTION_NAME(JSONInputArchive & ar, std::basic_string & str) { ar.loadValue( str ); } // ###################################################################### //! Saving SizeTags to JSON template inline void CEREAL_SAVE_FUNCTION_NAME( JSONOutputArchive &, SizeTag const & ) { // nothing to do here, we don't explicitly save the size } //! Loading SizeTags from JSON template inline void CEREAL_LOAD_FUNCTION_NAME( JSONInputArchive & ar, SizeTag & st ) { ar.loadSize( st.size ); } } // namespace cereal // register archives for polymorphic support CEREAL_REGISTER_ARCHIVE(cereal::JSONInputArchive) CEREAL_REGISTER_ARCHIVE(cereal::JSONOutputArchive) // tie input and output archives together CEREAL_SETUP_ARCHIVE_TRAITS(cereal::JSONInputArchive, cereal::JSONOutputArchive) #endif // CEREAL_ARCHIVES_JSON_HPP_ blockattack-game-2.5.0/source/code/Libs/include/cereal/archives/portable_binary.hpp000066400000000000000000000347501347224572500304050ustar00rootroot00000000000000/*! \file binary.hpp \brief Binary input and output archives */ /* Copyright (c) 2014, Randolph Voorhies, Shane Grant All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * 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. * Neither the name of cereal nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "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 RANDOLPH VOORHIES OR SHANE GRANT 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. */ #ifndef CEREAL_ARCHIVES_PORTABLE_BINARY_HPP_ #define CEREAL_ARCHIVES_PORTABLE_BINARY_HPP_ #include "cereal/cereal.hpp" #include #include namespace cereal { namespace portable_binary_detail { //! Returns true if the current machine is little endian /*! @ingroup Internal */ inline std::uint8_t is_little_endian() { static std::int32_t test = 1; return *reinterpret_cast( &test ) == 1; } //! Swaps the order of bytes for some chunk of memory /*! @param data The data as a uint8_t pointer @tparam DataSize The true size of the data @ingroup Internal */ template inline void swap_bytes( std::uint8_t * data ) { for( std::size_t i = 0, end = DataSize / 2; i < end; ++i ) std::swap( data[i], data[DataSize - i - 1] ); } } // end namespace portable_binary_detail // ###################################################################### //! An output archive designed to save data in a compact binary representation portable over different architectures /*! This archive outputs data to a stream in an extremely compact binary representation with as little extra metadata as possible. This archive will record the endianness of the data as well as the desired in/out endianness and assuming that the user takes care of ensuring serialized types are the same size across machines, is portable over different architectures. When using a binary archive and a file stream, you must use the std::ios::binary format flag to avoid having your data altered inadvertently. \warning This archive has not been thoroughly tested across different architectures. Please report any issues, optimizations, or feature requests at
the project github. \ingroup Archives */ class PortableBinaryOutputArchive : public OutputArchive { public: //! A class containing various advanced options for the PortableBinaryOutput archive class Options { public: //! Represents desired endianness enum class Endianness : std::uint8_t { big, little }; //! Default options, preserve system endianness static Options Default(){ return Options(); } //! Save as little endian static Options LittleEndian(){ return Options( Endianness::little ); } //! Save as big endian static Options BigEndian(){ return Options( Endianness::big ); } //! Specify specific options for the PortableBinaryOutputArchive /*! @param outputEndian The desired endianness of saved (output) data */ explicit Options( Endianness outputEndian = getEndianness() ) : itsOutputEndianness( outputEndian ) { } private: //! Gets the endianness of the system inline static Endianness getEndianness() { return portable_binary_detail::is_little_endian() ? Endianness::little : Endianness::big; } //! Checks if Options is set for little endian inline std::uint8_t is_little_endian() const { return itsOutputEndianness == Endianness::little; } friend class PortableBinaryOutputArchive; Endianness itsOutputEndianness; }; //! Construct, outputting to the provided stream /*! @param stream The stream to output to. Should be opened with std::ios::binary flag. @param options The PortableBinary specific options to use. See the Options struct for the values of default parameters */ PortableBinaryOutputArchive(std::ostream & stream, Options const & options = Options::Default()) : OutputArchive(this), itsStream(stream), itsConvertEndianness( portable_binary_detail::is_little_endian() ^ options.is_little_endian() ) { this->operator()( options.is_little_endian() ); } ~PortableBinaryOutputArchive() CEREAL_NOEXCEPT = default; //! Writes size bytes of data to the output stream template inline void saveBinary( const void * data, std::size_t size ) { std::size_t writtenSize = 0; if( itsConvertEndianness ) { for( std::size_t i = 0; i < size; i += DataSize ) for( std::size_t j = 0; j < DataSize; ++j ) writtenSize += static_cast( itsStream.rdbuf()->sputn( reinterpret_cast( data ) + DataSize - j - 1 + i, 1 ) ); } else writtenSize = static_cast( itsStream.rdbuf()->sputn( reinterpret_cast( data ), size ) ); if(writtenSize != size) throw Exception("Failed to write " + std::to_string(size) + " bytes to output stream! Wrote " + std::to_string(writtenSize)); } private: std::ostream & itsStream; const uint8_t itsConvertEndianness; //!< If set to true, we will need to swap bytes upon saving }; // ###################################################################### //! An input archive designed to load data saved using PortableBinaryOutputArchive /*! This archive outputs data to a stream in an extremely compact binary representation with as little extra metadata as possible. This archive will load the endianness of the serialized data and if necessary transform it to match that of the local machine. This comes at a significant performance cost compared to non portable archives if the transformation is necessary, and also causes a small performance hit even if it is not necessary. It is recommended to use portable archives only if you know that you will be sending binary data to machines with different endianness. The archive will do nothing to ensure types are the same size - that is the responsibility of the user. When using a binary archive and a file stream, you must use the std::ios::binary format flag to avoid having your data altered inadvertently. \warning This archive has not been thoroughly tested across different architectures. Please report any issues, optimizations, or feature requests at the project github. \ingroup Archives */ class PortableBinaryInputArchive : public InputArchive { public: //! A class containing various advanced options for the PortableBinaryInput archive class Options { public: //! Represents desired endianness enum class Endianness : std::uint8_t { big, little }; //! Default options, preserve system endianness static Options Default(){ return Options(); } //! Load into little endian static Options LittleEndian(){ return Options( Endianness::little ); } //! Load into big endian static Options BigEndian(){ return Options( Endianness::big ); } //! Specify specific options for the PortableBinaryInputArchive /*! @param inputEndian The desired endianness of loaded (input) data */ explicit Options( Endianness inputEndian = getEndianness() ) : itsInputEndianness( inputEndian ) { } private: //! Gets the endianness of the system inline static Endianness getEndianness() { return portable_binary_detail::is_little_endian() ? Endianness::little : Endianness::big; } //! Checks if Options is set for little endian inline std::uint8_t is_little_endian() const { return itsInputEndianness == Endianness::little; } friend class PortableBinaryInputArchive; Endianness itsInputEndianness; }; //! Construct, loading from the provided stream /*! @param stream The stream to read from. Should be opened with std::ios::binary flag. @param options The PortableBinary specific options to use. See the Options struct for the values of default parameters */ PortableBinaryInputArchive(std::istream & stream, Options const & options = Options::Default()) : InputArchive(this), itsStream(stream), itsConvertEndianness( false ) { uint8_t streamLittleEndian; this->operator()( streamLittleEndian ); itsConvertEndianness = options.is_little_endian() ^ streamLittleEndian; } ~PortableBinaryInputArchive() CEREAL_NOEXCEPT = default; //! Reads size bytes of data from the input stream /*! @param data The data to save @param size The number of bytes in the data @tparam DataSize T The size of the actual type of the data elements being loaded */ template inline void loadBinary( void * const data, std::size_t size ) { // load data auto const readSize = static_cast( itsStream.rdbuf()->sgetn( reinterpret_cast( data ), size ) ); if(readSize != size) throw Exception("Failed to read " + std::to_string(size) + " bytes from input stream! Read " + std::to_string(readSize)); // flip bits if needed if( itsConvertEndianness ) { std::uint8_t * ptr = reinterpret_cast( data ); for( std::size_t i = 0; i < size; i += DataSize ) portable_binary_detail::swap_bytes( ptr + i ); } } private: std::istream & itsStream; uint8_t itsConvertEndianness; //!< If set to true, we will need to swap bytes upon loading }; // ###################################################################### // Common BinaryArchive serialization functions //! Saving for POD types to portable binary template inline typename std::enable_if::value, void>::type CEREAL_SAVE_FUNCTION_NAME(PortableBinaryOutputArchive & ar, T const & t) { static_assert( !std::is_floating_point::value || (std::is_floating_point::value && std::numeric_limits::is_iec559), "Portable binary only supports IEEE 754 standardized floating point" ); ar.template saveBinary(std::addressof(t), sizeof(t)); } //! Loading for POD types from portable binary template inline typename std::enable_if::value, void>::type CEREAL_LOAD_FUNCTION_NAME(PortableBinaryInputArchive & ar, T & t) { static_assert( !std::is_floating_point::value || (std::is_floating_point::value && std::numeric_limits::is_iec559), "Portable binary only supports IEEE 754 standardized floating point" ); ar.template loadBinary(std::addressof(t), sizeof(t)); } //! Serializing NVP types to portable binary template inline CEREAL_ARCHIVE_RESTRICT(PortableBinaryInputArchive, PortableBinaryOutputArchive) CEREAL_SERIALIZE_FUNCTION_NAME( Archive & ar, NameValuePair & t ) { ar( t.value ); } //! Serializing SizeTags to portable binary template inline CEREAL_ARCHIVE_RESTRICT(PortableBinaryInputArchive, PortableBinaryOutputArchive) CEREAL_SERIALIZE_FUNCTION_NAME( Archive & ar, SizeTag & t ) { ar( t.size ); } //! Saving binary data to portable binary template inline void CEREAL_SAVE_FUNCTION_NAME(PortableBinaryOutputArchive & ar, BinaryData const & bd) { typedef typename std::remove_pointer::type TT; static_assert( !std::is_floating_point::value || (std::is_floating_point::value && std::numeric_limits::is_iec559), "Portable binary only supports IEEE 754 standardized floating point" ); ar.template saveBinary( bd.data, static_cast( bd.size ) ); } //! Loading binary data from portable binary template inline void CEREAL_LOAD_FUNCTION_NAME(PortableBinaryInputArchive & ar, BinaryData & bd) { typedef typename std::remove_pointer::type TT; static_assert( !std::is_floating_point::value || (std::is_floating_point::value && std::numeric_limits::is_iec559), "Portable binary only supports IEEE 754 standardized floating point" ); ar.template loadBinary( bd.data, static_cast( bd.size ) ); } } // namespace cereal // register archives for polymorphic support CEREAL_REGISTER_ARCHIVE(cereal::PortableBinaryOutputArchive) CEREAL_REGISTER_ARCHIVE(cereal::PortableBinaryInputArchive) // tie input and output archives together CEREAL_SETUP_ARCHIVE_TRAITS(cereal::PortableBinaryInputArchive, cereal::PortableBinaryOutputArchive) #endif // CEREAL_ARCHIVES_PORTABLE_BINARY_HPP_ blockattack-game-2.5.0/source/code/Libs/include/cereal/archives/xml.hpp000066400000000000000000001072471347224572500260330ustar00rootroot00000000000000/*! \file xml.hpp \brief XML input and output archives */ /* Copyright (c) 2014, Randolph Voorhies, Shane Grant All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * 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. * Neither the name of cereal nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "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 RANDOLPH VOORHIES OR SHANE GRANT 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. */ #ifndef CEREAL_ARCHIVES_XML_HPP_ #define CEREAL_ARCHIVES_XML_HPP_ #include "cereal/cereal.hpp" #include "cereal/details/util.hpp" #include "cereal/external/rapidxml/rapidxml.hpp" #include "cereal/external/rapidxml/rapidxml_print.hpp" #include "cereal/external/base64.hpp" #include #include #include #include #include #include #include namespace cereal { namespace xml_detail { #ifndef CEREAL_XML_STRING_VALUE //! The default name for the root node in a cereal xml archive. /*! You can define CEREAL_XML_STRING_VALUE to be different assuming you do so before this file is included. */ #define CEREAL_XML_STRING_VALUE "cereal" #endif // CEREAL_XML_STRING_VALUE //! The name given to the root node in a cereal xml archive static const char * CEREAL_XML_STRING = CEREAL_XML_STRING_VALUE; //! Returns true if the character is whitespace inline bool isWhitespace( char c ) { return c == ' ' || c == '\t' || c == '\n' || c == '\r'; } } // ###################################################################### //! An output archive designed to save data to XML /*! This archive uses RapidXML to build an in memory XML tree of the data it serializes before outputting it to its stream upon destruction. This archive should be used in an RAII fashion, letting the automatic destruction of the object cause the flush to its stream. XML archives provides a human readable output but at decreased performance (both in time and space) compared to binary archives. XML benefits greatly from name-value pairs, which if present, will name the nodes in the output. If these are not present, each level of the output tree will be given an automatically generated delimited name. The precision of the output archive controls the number of decimals output for floating point numbers and should be sufficiently large (i.e. at least 20) if there is a desire to have binary equality between the numbers output and those read in. In general you should expect a loss of precision when going from floating point to text and back. XML archives can optionally print the type of everything they serialize, which adds an attribute to each node. XML archives do not output the size information for any dynamically sized structure and instead infer it from the number of children for a node. This means that data can be hand edited for dynamic sized structures and will still be readable. This is accomplished through the cereal::SizeTag object, which will also add an attribute to its parent field. \ingroup Archives */ class XMLOutputArchive : public OutputArchive, public traits::TextArchive { public: /*! @name Common Functionality Common use cases for directly interacting with an XMLOutputArchive */ //! @{ //! A class containing various advanced options for the XML archive class Options { public: //! Default options static Options Default(){ return Options(); } //! Default options with no indentation static Options NoIndent(){ return Options( std::numeric_limits::max_digits10, false ); } //! Specify specific options for the XMLOutputArchive /*! @param precision The precision used for floating point numbers @param indent Whether to indent each line of XML @param outputType Whether to output the type of each serialized object as an attribute */ explicit Options( int precision = std::numeric_limits::max_digits10, bool indent = true, bool outputType = false ) : itsPrecision( precision ), itsIndent( indent ), itsOutputType( outputType ) { } private: friend class XMLOutputArchive; int itsPrecision; bool itsIndent; bool itsOutputType; }; //! Construct, outputting to the provided stream upon destruction /*! @param stream The stream to output to. Note that XML is only guaranteed to flush its output to the stream upon destruction. @param options The XML specific options to use. See the Options struct for the values of default parameters */ XMLOutputArchive( std::ostream & stream, Options const & options = Options::Default() ) : OutputArchive(this), itsStream(stream), itsOutputType( options.itsOutputType ), itsIndent( options.itsIndent ) { // rapidxml will delete all allocations when xml_document is cleared auto node = itsXML.allocate_node( rapidxml::node_declaration ); node->append_attribute( itsXML.allocate_attribute( "version", "1.0" ) ); node->append_attribute( itsXML.allocate_attribute( "encoding", "utf-8" ) ); itsXML.append_node( node ); // allocate root node auto root = itsXML.allocate_node( rapidxml::node_element, xml_detail::CEREAL_XML_STRING ); itsXML.append_node( root ); itsNodes.emplace( root ); // set attributes on the streams itsStream << std::boolalpha; itsStream.precision( options.itsPrecision ); itsOS << std::boolalpha; itsOS.precision( options.itsPrecision ); } //! Destructor, flushes the XML ~XMLOutputArchive() CEREAL_NOEXCEPT { const int flags = itsIndent ? 0x0 : rapidxml::print_no_indenting; rapidxml::print( itsStream, itsXML, flags ); itsXML.clear(); } //! Saves some binary data, encoded as a base64 string, with an optional name /*! This can be called directly by users and it will automatically create a child node for the current XML node, populate it with a base64 encoded string, and optionally name it. The node will be finished after it has been populated. */ void saveBinaryValue( const void * data, size_t size, const char * name = nullptr ) { itsNodes.top().name = name; startNode(); auto base64string = base64::encode( reinterpret_cast( data ), size ); saveValue( base64string ); if( itsOutputType ) itsNodes.top().node->append_attribute( itsXML.allocate_attribute( "type", "cereal binary data" ) ); finishNode(); }; //! @} /*! @name Internal Functionality Functionality designed for use by those requiring control over the inner mechanisms of the XMLOutputArchive */ //! @{ //! Creates a new node that is a child of the node at the top of the stack /*! Nodes will be given a name that has either been pre-set by a name value pair, or generated based upon a counter unique to the parent node. If you want to give a node a specific name, use setNextName prior to calling startNode. The node will then be pushed onto the node stack. */ void startNode() { // generate a name for this new node const auto nameString = itsNodes.top().getValueName(); // allocate strings for all of the data in the XML object auto namePtr = itsXML.allocate_string( nameString.data(), nameString.length() + 1 ); // insert into the XML auto node = itsXML.allocate_node( rapidxml::node_element, namePtr, nullptr, nameString.size() ); itsNodes.top().node->append_node( node ); itsNodes.emplace( node ); } //! Designates the most recently added node as finished void finishNode() { itsNodes.pop(); } //! Sets the name for the next node created with startNode void setNextName( const char * name ) { itsNodes.top().name = name; } //! Saves some data, encoded as a string, into the current top level node /*! The data will be be named with the most recent name if one exists, otherwise it will be given some default delimited value that depends upon the parent node */ template inline void saveValue( T const & value ) { itsOS.clear(); itsOS.seekp( 0, std::ios::beg ); itsOS << value << std::ends; auto strValue = itsOS.str(); // itsOS.str() may contain data from previous calls after the first '\0' that was just inserted // and this data is counted in the length call. We make sure to remove that section so that the // whitespace validation is done properly strValue.resize(std::strlen(strValue.c_str())); // If the first or last character is a whitespace, add xml:space attribute const auto len = strValue.length(); if ( len > 0 && ( xml_detail::isWhitespace( strValue[0] ) || xml_detail::isWhitespace( strValue[len - 1] ) ) ) { itsNodes.top().node->append_attribute( itsXML.allocate_attribute( "xml:space", "preserve" ) ); } // allocate strings for all of the data in the XML object auto dataPtr = itsXML.allocate_string(strValue.c_str(), strValue.length() + 1 ); // insert into the XML itsNodes.top().node->append_node( itsXML.allocate_node( rapidxml::node_data, nullptr, dataPtr ) ); } //! Overload for uint8_t prevents them from being serialized as characters void saveValue( uint8_t const & value ) { saveValue( static_cast( value ) ); } //! Overload for int8_t prevents them from being serialized as characters void saveValue( int8_t const & value ) { saveValue( static_cast( value ) ); } //! Causes the type to be appended as an attribute to the most recently made node if output type is set to true template inline void insertType() { if( !itsOutputType ) return; // generate a name for this new node const auto nameString = util::demangledName(); // allocate strings for all of the data in the XML object auto namePtr = itsXML.allocate_string( nameString.data(), nameString.length() + 1 ); itsNodes.top().node->append_attribute( itsXML.allocate_attribute( "type", namePtr ) ); } //! Appends an attribute to the current top level node void appendAttribute( const char * name, const char * value ) { auto namePtr = itsXML.allocate_string( name ); auto valuePtr = itsXML.allocate_string( value ); itsNodes.top().node->append_attribute( itsXML.allocate_attribute( namePtr, valuePtr ) ); } protected: //! A struct that contains metadata about a node struct NodeInfo { NodeInfo( rapidxml::xml_node<> * n = nullptr, const char * nm = nullptr ) : node( n ), counter( 0 ), name( nm ) { } rapidxml::xml_node<> * node; //!< A pointer to this node size_t counter; //!< The counter for naming child nodes const char * name; //!< The name for the next child node //! Gets the name for the next child node created from this node /*! The name will be automatically generated using the counter if a name has not been previously set. If a name has been previously set, that name will be returned only once */ std::string getValueName() { if( name ) { auto n = name; name = nullptr; return {n}; } else return "value" + std::to_string( counter++ ) + "\0"; } }; // NodeInfo //! @} private: std::ostream & itsStream; //!< The output stream rapidxml::xml_document<> itsXML; //!< The XML document std::stack itsNodes; //!< A stack of nodes added to the document std::ostringstream itsOS; //!< Used to format strings internally bool itsOutputType; //!< Controls whether type information is printed bool itsIndent; //!< Controls whether indenting is used }; // XMLOutputArchive // ###################################################################### //! An output archive designed to load data from XML /*! This archive uses RapidXML to build an in memory XML tree of the data in the stream it is given before loading any types serialized. As with the output XML archive, the preferred way to use this archive is in an RAII fashion, ensuring its destruction after all data has been read. Input XML should have been produced by the XMLOutputArchive. Data can only be added to dynamically sized containers - the input archive will determine their size by looking at the number of child nodes. Data that did not originate from an XMLOutputArchive is not officially supported, but may be possible to use if properly formatted. The XMLInputArchive does not require that nodes are loaded in the same order they were saved by XMLOutputArchive. Using name value pairs (NVPs), it is possible to load in an out of order fashion or otherwise skip/select specific nodes to load. The default behavior of the input archive is to read sequentially starting with the first node and exploring its children. When a given NVP does not match the read in name for a node, the archive will search for that node at the current level and load it if it exists. After loading an out of order node, the archive will then proceed back to loading sequentially from its new position. Consider this simple example where loading of some data is skipped: @code{cpp} // imagine the input file has someData(1-9) saved in order at the top level node ar( someData1, someData2, someData3 ); // XML loads in the order it sees in the file ar( cereal::make_nvp( "hello", someData6 ) ); // NVP given does not // match expected NVP name, so we search // for the given NVP and load that value ar( someData7, someData8, someData9 ); // with no NVP given, loading resumes at its // current location, proceeding sequentially @endcode \ingroup Archives */ class XMLInputArchive : public InputArchive, public traits::TextArchive { public: /*! @name Common Functionality Common use cases for directly interacting with an XMLInputArchive */ //! @{ //! Construct, reading in from the provided stream /*! Reads in an entire XML document from some stream and parses it as soon as serialization starts @param stream The stream to read from. Can be a stringstream or a file. */ XMLInputArchive( std::istream & stream ) : InputArchive( this ), itsData( std::istreambuf_iterator( stream ), std::istreambuf_iterator() ) { try { itsData.push_back('\0'); // rapidxml will do terrible things without the data being null terminated itsXML.parse( reinterpret_cast( itsData.data() ) ); } catch( rapidxml::parse_error const & ) { //std::cerr << "-----Original-----" << std::endl; //stream.seekg(0); //std::cout << std::string( std::istreambuf_iterator( stream ), std::istreambuf_iterator() ) << std::endl; //std::cerr << "-----Error-----" << std::endl; //std::cerr << e.what() << std::endl; //std::cerr << e.where() << std::endl; throw Exception("XML Parsing failed - likely due to invalid characters or invalid naming"); } // Parse the root auto root = itsXML.first_node( xml_detail::CEREAL_XML_STRING ); if( root == nullptr ) throw Exception("Could not detect cereal root node - likely due to empty or invalid input"); else itsNodes.emplace( root ); } ~XMLInputArchive() CEREAL_NOEXCEPT = default; //! Loads some binary data, encoded as a base64 string, optionally specified by some name /*! This will automatically start and finish a node to load the data, and can be called directly by users. Note that this follows the same ordering rules specified in the class description in regards to loading in/out of order */ void loadBinaryValue( void * data, size_t size, const char * name = nullptr ) { setNextName( name ); startNode(); std::string encoded; loadValue( encoded ); auto decoded = base64::decode( encoded ); if( size != decoded.size() ) throw Exception("Decoded binary data size does not match specified size"); std::memcpy( data, decoded.data(), decoded.size() ); finishNode(); }; //! @} /*! @name Internal Functionality Functionality designed for use by those requiring control over the inner mechanisms of the XMLInputArchive */ //! @{ //! Prepares to start reading the next node /*! This places the next node to be parsed onto the nodes stack. By default our strategy is to start with the document root node and then recursively iterate through all children in the order they show up in the document. We don't need to know NVPs do to this; we'll just blindly load in the order things appear in. We check to see if the specified NVP matches what the next automatically loaded node is. If they match, we just continue as normal, going in order. If they don't match, we attempt to find a node named after the NVP that is being loaded. If that NVP does not exist, we throw an exception. */ void startNode() { auto next = itsNodes.top().child; // By default we would move to the next child node auto const expectedName = itsNodes.top().name; // this is the expected name from the NVP, if provided // If we were given an NVP name, look for it in the current level of the document. // We only need to do this if either we have exhausted the siblings of the current level or // the NVP name does not match the name of the node we would normally read next if( expectedName && ( next == nullptr || std::strcmp( next->name(), expectedName ) != 0 ) ) { next = itsNodes.top().search( expectedName ); if( next == nullptr ) throw Exception("XML Parsing failed - provided NVP (" + std::string(expectedName) + ") not found"); } itsNodes.emplace( next ); } //! Finishes reading the current node void finishNode() { // remove current itsNodes.pop(); // advance parent itsNodes.top().advance(); // Reset name itsNodes.top().name = nullptr; } //! Retrieves the current node name //! will return @c nullptr if the node does not have a name const char * getNodeName() const { return itsNodes.top().getChildName(); } //! Sets the name for the next node created with startNode void setNextName( const char * name ) { itsNodes.top().name = name; } //! Loads a bool from the current top node template ::value, std::is_same::value> = traits::sfinae> inline void loadValue( T & value ) { std::istringstream is( itsNodes.top().node->value() ); is.setf( std::ios::boolalpha ); is >> value; } //! Loads a char (signed or unsigned) from the current top node template ::value, !std::is_same::value, sizeof(T) == sizeof(char)> = traits::sfinae> inline void loadValue( T & value ) { value = *reinterpret_cast( itsNodes.top().node->value() ); } //! Load an int8_t from the current top node (ensures we parse entire number) void loadValue( int8_t & value ) { int32_t val; loadValue( val ); value = static_cast( val ); } //! Load a uint8_t from the current top node (ensures we parse entire number) void loadValue( uint8_t & value ) { uint32_t val; loadValue( val ); value = static_cast( val ); } //! Loads a type best represented as an unsigned long from the current top node template ::value, !std::is_same::value, !std::is_same::value, !std::is_same::value, sizeof(T) < sizeof(long long)> = traits::sfinae> inline void loadValue( T & value ) { value = static_cast( std::stoul( itsNodes.top().node->value() ) ); } //! Loads a type best represented as an unsigned long long from the current top node template ::value, !std::is_same::value, sizeof(T) >= sizeof(long long)> = traits::sfinae> inline void loadValue( T & value ) { value = static_cast( std::stoull( itsNodes.top().node->value() ) ); } //! Loads a type best represented as an int from the current top node template ::value, !std::is_same::value, sizeof(T) <= sizeof(int)> = traits::sfinae> inline void loadValue( T & value ) { value = static_cast( std::stoi( itsNodes.top().node->value() ) ); } //! Loads a type best represented as a long from the current top node template ::value, (sizeof(T) > sizeof(int)), sizeof(T) <= sizeof(long)> = traits::sfinae> inline void loadValue( T & value ) { value = static_cast( std::stol( itsNodes.top().node->value() ) ); } //! Loads a type best represented as a long long from the current top node template ::value, (sizeof(T) > sizeof(long)), sizeof(T) <= sizeof(long long)> = traits::sfinae> inline void loadValue( T & value ) { value = static_cast( std::stoll( itsNodes.top().node->value() ) ); } //! Loads a type best represented as a float from the current top node void loadValue( float & value ) { try { value = std::stof( itsNodes.top().node->value() ); } catch( std::out_of_range const & ) { // special case for denormalized values std::istringstream is( itsNodes.top().node->value() ); is >> value; if( std::fpclassify( value ) != FP_SUBNORMAL ) throw; } } //! Loads a type best represented as a double from the current top node void loadValue( double & value ) { try { value = std::stod( itsNodes.top().node->value() ); } catch( std::out_of_range const & ) { // special case for denormalized values std::istringstream is( itsNodes.top().node->value() ); is >> value; if( std::fpclassify( value ) != FP_SUBNORMAL ) throw; } } //! Loads a type best represented as a long double from the current top node void loadValue( long double & value ) { try { value = std::stold( itsNodes.top().node->value() ); } catch( std::out_of_range const & ) { // special case for denormalized values std::istringstream is( itsNodes.top().node->value() ); is >> value; if( std::fpclassify( value ) != FP_SUBNORMAL ) throw; } } //! Loads a string from the current node from the current top node template inline void loadValue( std::basic_string & str ) { std::basic_istringstream is( itsNodes.top().node->value() ); str.assign( std::istreambuf_iterator( is ), std::istreambuf_iterator() ); } //! Loads the size of the current top node template inline void loadSize( T & value ) { value = getNumChildren( itsNodes.top().node ); } protected: //! Gets the number of children (usually interpreted as size) for the specified node static size_t getNumChildren( rapidxml::xml_node<> * node ) { size_t size = 0; node = node->first_node(); // get first child while( node != nullptr ) { ++size; node = node->next_sibling(); } return size; } //! A struct that contains metadata about a node /*! Keeps track of some top level node, its number of remaining children, and the current active child node */ struct NodeInfo { NodeInfo( rapidxml::xml_node<> * n = nullptr ) : node( n ), child( n->first_node() ), size( XMLInputArchive::getNumChildren( n ) ), name( nullptr ) { } //! Advances to the next sibling node of the child /*! If this is the last sibling child will be null after calling */ void advance() { if( size > 0 ) { --size; child = child->next_sibling(); } } //! Searches for a child with the given name in this node /*! @param searchName The name to search for (must be null terminated) @return The node if found, nullptr otherwise */ rapidxml::xml_node<> * search( const char * searchName ) { if( searchName ) { size_t new_size = XMLInputArchive::getNumChildren( node ); const size_t name_size = rapidxml::internal::measure( searchName ); for( auto new_child = node->first_node(); new_child != nullptr; new_child = new_child->next_sibling() ) { if( rapidxml::internal::compare( new_child->name(), new_child->name_size(), searchName, name_size, true ) ) { size = new_size; child = new_child; return new_child; } --new_size; } } return nullptr; } //! Returns the actual name of the next child node, if it exists const char * getChildName() const { return child ? child->name() : nullptr; } rapidxml::xml_node<> * node; //!< A pointer to this node rapidxml::xml_node<> * child; //!< A pointer to its current child size_t size; //!< The remaining number of children for this node const char * name; //!< The NVP name for next child node }; // NodeInfo //! @} private: std::vector itsData; //!< The raw data loaded rapidxml::xml_document<> itsXML; //!< The XML document std::stack itsNodes; //!< A stack of nodes read from the document }; // ###################################################################### // XMLArchive prologue and epilogue functions // ###################################################################### // ###################################################################### //! Prologue for NVPs for XML output archives /*! NVPs do not start or finish nodes - they just set up the names */ template inline void prologue( XMLOutputArchive &, NameValuePair const & ) { } //! Prologue for NVPs for XML input archives template inline void prologue( XMLInputArchive &, NameValuePair const & ) { } // ###################################################################### //! Epilogue for NVPs for XML output archives /*! NVPs do not start or finish nodes - they just set up the names */ template inline void epilogue( XMLOutputArchive &, NameValuePair const & ) { } //! Epilogue for NVPs for XML input archives template inline void epilogue( XMLInputArchive &, NameValuePair const & ) { } // ###################################################################### //! Prologue for SizeTags for XML output archives /*! SizeTags do not start or finish nodes */ template inline void prologue( XMLOutputArchive & ar, SizeTag const & ) { ar.appendAttribute( "size", "dynamic" ); } template inline void prologue( XMLInputArchive &, SizeTag const & ) { } //! Epilogue for SizeTags for XML output archives /*! SizeTags do not start or finish nodes */ template inline void epilogue( XMLOutputArchive &, SizeTag const & ) { } template inline void epilogue( XMLInputArchive &, SizeTag const & ) { } // ###################################################################### //! Prologue for all other types for XML output archives (except minimal types) /*! Starts a new node, named either automatically or by some NVP, that may be given data by the type about to be archived Minimal types do not start or end nodes */ template ::value || traits::has_minimal_output_serialization::value> = traits::sfinae> inline void prologue( XMLOutputArchive & ar, T const & ) { ar.startNode(); ar.insertType(); } //! Prologue for all other types for XML input archives (except minimal types) template ::value || traits::has_minimal_input_serialization::value> = traits::sfinae> inline void prologue( XMLInputArchive & ar, T const & ) { ar.startNode(); } // ###################################################################### //! Epilogue for all other types other for XML output archives (except minimal types) /*! Finishes the node created in the prologue Minimal types do not start or end nodes */ template ::value || traits::has_minimal_output_serialization::value> = traits::sfinae> inline void epilogue( XMLOutputArchive & ar, T const & ) { ar.finishNode(); } //! Epilogue for all other types other for XML output archives (except minimal types) template ::value || traits::has_minimal_input_serialization::value> = traits::sfinae> inline void epilogue( XMLInputArchive & ar, T const & ) { ar.finishNode(); } // ###################################################################### // Common XMLArchive serialization functions // ###################################################################### //! Saving NVP types to XML template inline void CEREAL_SAVE_FUNCTION_NAME( XMLOutputArchive & ar, NameValuePair const & t ) { ar.setNextName( t.name ); ar( t.value ); } //! Loading NVP types from XML template inline void CEREAL_LOAD_FUNCTION_NAME( XMLInputArchive & ar, NameValuePair & t ) { ar.setNextName( t.name ); ar( t.value ); } // ###################################################################### //! Saving SizeTags to XML template inline void CEREAL_SAVE_FUNCTION_NAME( XMLOutputArchive &, SizeTag const & ) { } //! Loading SizeTags from XML template inline void CEREAL_LOAD_FUNCTION_NAME( XMLInputArchive & ar, SizeTag & st ) { ar.loadSize( st.size ); } // ###################################################################### //! Saving for POD types to xml template ::value> = traits::sfinae> inline void CEREAL_SAVE_FUNCTION_NAME(XMLOutputArchive & ar, T const & t) { ar.saveValue( t ); } //! Loading for POD types from xml template ::value> = traits::sfinae> inline void CEREAL_LOAD_FUNCTION_NAME(XMLInputArchive & ar, T & t) { ar.loadValue( t ); } // ###################################################################### //! saving string to xml template inline void CEREAL_SAVE_FUNCTION_NAME(XMLOutputArchive & ar, std::basic_string const & str) { ar.saveValue( str ); } //! loading string from xml template inline void CEREAL_LOAD_FUNCTION_NAME(XMLInputArchive & ar, std::basic_string & str) { ar.loadValue( str ); } } // namespace cereal // register archives for polymorphic support CEREAL_REGISTER_ARCHIVE(cereal::XMLOutputArchive) CEREAL_REGISTER_ARCHIVE(cereal::XMLInputArchive) // tie input and output archives together CEREAL_SETUP_ARCHIVE_TRAITS(cereal::XMLInputArchive, cereal::XMLOutputArchive) #endif // CEREAL_ARCHIVES_XML_HPP_ blockattack-game-2.5.0/source/code/Libs/include/cereal/cereal.hpp000066400000000000000000001221371347224572500246550ustar00rootroot00000000000000/*! \file cereal.hpp \brief Main cereal functionality */ /* Copyright (c) 2014, Randolph Voorhies, Shane Grant All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * 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. * Neither the name of cereal nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "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 RANDOLPH VOORHIES OR SHANE GRANT 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. */ #ifndef CEREAL_CEREAL_HPP_ #define CEREAL_CEREAL_HPP_ #include #include #include #include #include #include #include #include #include #include "cereal/macros.hpp" #include "cereal/details/traits.hpp" #include "cereal/details/helpers.hpp" #include "cereal/types/base_class.hpp" namespace cereal { // ###################################################################### //! Creates a name value pair /*! @relates NameValuePair @ingroup Utility */ template inline NameValuePair make_nvp( std::string const & name, T && value ) { return {name.c_str(), std::forward(value)}; } //! Creates a name value pair /*! @relates NameValuePair @ingroup Utility */ template inline NameValuePair make_nvp( const char * name, T && value ) { return {name, std::forward(value)}; } //! Creates a name value pair for the variable T with the same name as the variable /*! @relates NameValuePair @ingroup Utility */ #define CEREAL_NVP(T) ::cereal::make_nvp(#T, T) // ###################################################################### //! Convenience function to create binary data for both const and non const pointers /*! @param data Pointer to beginning of the data @param size The size in bytes of the data @relates BinaryData @ingroup Utility */ template inline BinaryData binary_data( T && data, size_t size ) { return {std::forward(data), size}; } // ###################################################################### //! Creates a size tag from some variable. /*! Will normally be used to serialize size (e.g. size()) information for variable size containers. If you have a variable sized container, the very first thing it serializes should be its size, wrapped in a SizeTag. @relates SizeTag @ingroup Utility */ template inline SizeTag make_size_tag( T && sz ) { return {std::forward(sz)}; } // ###################################################################### //! Called before a type is serialized to set up any special archive state //! for processing some type /*! If designing a serializer that needs to set up any kind of special state or output extra information for a type, specialize this function for the archive type and the types that require the extra information. @ingroup Internal */ template inline void prologue( Archive & /* archive */, T const & /* data */) { } //! Called after a type is serialized to tear down any special archive state //! for processing some type /*! @ingroup Internal */ template inline void epilogue( Archive & /* archive */, T const & /* data */) { } // ###################################################################### //! Special flags for archives /*! AllowEmptyClassElision This allows for empty classes to be serialized even if they do not provide a serialization function. Classes with no data members are considered to be empty. Be warned that if this is enabled and you attempt to serialize an empty class with improperly formed serialize or load/save functions, no static error will occur - the error will propogate silently and your intended serialization functions may not be called. You can manually ensure that your classes that have custom serialization are correct by using the traits is_output_serializable and is_input_serializable in cereal/details/traits.hpp. @ingroup Internal */ enum Flags { AllowEmptyClassElision = 1 }; // ###################################################################### //! Registers a specific Archive type with cereal /*! This registration should be done once per archive. A good place to put this is immediately following the definition of your archive. Archive registration is only strictly necessary if you wish to support pointers to polymorphic data types. All archives that come with cereal are already registered. @ingroup Internal */ #define CEREAL_REGISTER_ARCHIVE(Archive) \ namespace cereal { namespace detail { \ template \ typename polymorphic_serialization_support::type \ instantiate_polymorphic_binding( T*, Archive*, BindingTag, adl_tag ); \ } } /* end namespaces */ // ###################################################################### //! Defines a class version for some type /*! Versioning information is optional and adds some small amount of overhead to serialization. This overhead will occur both in terms of space in the archive (the version information for each class will be stored exactly once) as well as runtime (versioned serialization functions must check to see if they need to load or store version information). Versioning is useful if you plan on fundamentally changing the way some type is serialized in the future. Versioned serialization functions cannot be used to load non-versioned data. By default, all types have an assumed version value of zero. By using this macro, you may change the version number associated with some type. cereal will then use this value as a second parameter to your serialization functions. The interface for the serialization functions is nearly identical to non-versioned serialization with the addition of a second parameter, const std::uint32_t version, which will be supplied with the correct version number. Serializing the version number on a save happens automatically. Versioning cannot be mixed with non-versioned serialization functions. Having both types will result result in a compile time error. Data serialized without versioning cannot be loaded by a serialization function with added versioning support. Example interface for versioning on a non-member serialize function: @code{cpp} CEREAL_CLASS_VERSION( Mytype, 77 ); // register class version template void serialize( Archive & ar, Mytype & t, const std::uint32_t version ) { // When performing a load, the version associated with the class // is whatever it was when that data was originally serialized // // When we save, we'll use the version that is defined in the macro if( version >= some_number ) // do this else // do that } @endcode Interfaces for other forms of serialization functions is similar. This macro should be placed at global scope. @ingroup Utility */ #define CEREAL_CLASS_VERSION(TYPE, VERSION_NUMBER) \ namespace cereal { namespace detail { \ template <> struct Version \ { \ static const std::uint32_t version; \ static std::uint32_t registerVersion() \ { \ ::cereal::detail::StaticObject::getInstance().mapping.emplace( \ std::type_index(typeid(TYPE)).hash_code(), VERSION_NUMBER ); \ return VERSION_NUMBER; \ } \ static void unused() { (void)version; } \ }; /* end Version */ \ const std::uint32_t Version::version = \ Version::registerVersion(); \ } } // end namespaces // ###################################################################### //! The base output archive class /*! This is the base output archive for all output archives. If you create a custom archive class, it should derive from this, passing itself as a template parameter for the ArchiveType. The base class provides all of the functionality necessary to properly forward data to the correct serialization functions. Individual archives should use a combination of prologue and epilogue functions together with specializations of serialize, save, and load to alter the functionality of their serialization. @tparam ArchiveType The archive type that derives from OutputArchive @tparam Flags Flags to control advanced functionality. See the Flags enum for more information. @ingroup Internal */ template class OutputArchive : public detail::OutputArchiveBase { public: //! Construct the output archive /*! @param derived A pointer to the derived ArchiveType (pass this from the derived archive) */ OutputArchive(ArchiveType * const derived) : self(derived), itsCurrentPointerId(1), itsCurrentPolymorphicTypeId(1) { } OutputArchive & operator=( OutputArchive const & ) = delete; //! Serializes all passed in data /*! This is the primary interface for serializing data with an archive */ template inline ArchiveType & operator()( Types && ... args ) { self->process( std::forward( args )... ); return *self; } /*! @name Boost Transition Layer Functionality that mirrors the syntax for Boost. This is useful if you are transitioning a large project from Boost to cereal. The preferred interface for cereal is using operator(). */ //! @{ //! Indicates this archive is not intended for loading /*! This ensures compatibility with boost archive types. If you are transitioning from boost, you can check this value within a member or external serialize function (i.e., Archive::is_loading::value) to disable behavior specific to loading, until you can transition to split save/load or save_minimal/load_minimal functions */ using is_loading = std::false_type; //! Indicates this archive is intended for saving /*! This ensures compatibility with boost archive types. If you are transitioning from boost, you can check this value within a member or external serialize function (i.e., Archive::is_saving::value) to enable behavior specific to loading, until you can transition to split save/load or save_minimal/load_minimal functions */ using is_saving = std::true_type; //! Serializes passed in data /*! This is a boost compatability layer and is not the preferred way of using cereal. If you are transitioning from boost, use this until you can transition to the operator() overload */ template inline ArchiveType & operator&( T && arg ) { self->process( std::forward( arg ) ); return *self; } //! Serializes passed in data /*! This is a boost compatability layer and is not the preferred way of using cereal. If you are transitioning from boost, use this until you can transition to the operator() overload */ template inline ArchiveType & operator<<( T && arg ) { self->process( std::forward( arg ) ); return *self; } //! @} //! Registers a shared pointer with the archive /*! This function is used to track shared pointer targets to prevent unnecessary saves from taking place if multiple shared pointers point to the same data. @internal @param addr The address (see shared_ptr get()) pointed to by the shared pointer @return A key that uniquely identifies the pointer */ inline std::uint32_t registerSharedPointer( void const * addr ) { // Handle null pointers by just returning 0 if(addr == 0) return 0; auto id = itsSharedPointerMap.find( addr ); if( id == itsSharedPointerMap.end() ) { auto ptrId = itsCurrentPointerId++; itsSharedPointerMap.insert( {addr, ptrId} ); return ptrId | detail::msb_32bit; // mask MSB to be 1 } else return id->second; } //! Registers a polymorphic type name with the archive /*! This function is used to track polymorphic types to prevent unnecessary saves of identifying strings used by the polymorphic support functionality. @internal @param name The name to associate with a polymorphic type @return A key that uniquely identifies the polymorphic type name */ inline std::uint32_t registerPolymorphicType( char const * name ) { auto id = itsPolymorphicTypeMap.find( name ); if( id == itsPolymorphicTypeMap.end() ) { auto polyId = itsCurrentPolymorphicTypeId++; itsPolymorphicTypeMap.insert( {name, polyId} ); return polyId | detail::msb_32bit; // mask MSB to be 1 } else return id->second; } private: //! Serializes data after calling prologue, then calls epilogue template inline void process( T && head ) { prologue( *self, head ); self->processImpl( head ); epilogue( *self, head ); } //! Unwinds to process all data template inline void process( T && head, Other && ... tail ) { self->process( std::forward( head ) ); self->process( std::forward( tail )... ); } //! Serialization of a virtual_base_class wrapper /*! \sa virtual_base_class */ template inline ArchiveType & processImpl(virtual_base_class const & b) { traits::detail::base_class_id id(b.base_ptr); if(itsBaseClassSet.count(id) == 0) { itsBaseClassSet.insert(id); self->processImpl( *b.base_ptr ); } return *self; } //! Serialization of a base_class wrapper /*! \sa base_class */ template inline ArchiveType & processImpl(base_class const & b) { self->processImpl( *b.base_ptr ); return *self; } //! Helper macro that expands the requirements for activating an overload /*! Requirements: Has the requested serialization function Does not have version and unversioned at the same time Is output serializable AND is specialized for this type of function OR has no specialization at all */ #define PROCESS_IF(name) \ traits::EnableIf::value, \ !traits::has_invalid_output_versioning::value, \ (traits::is_output_serializable::value && \ (traits::is_specialized_##name::value || \ !traits::is_specialized::value))> = traits::sfinae //! Member serialization template inline ArchiveType & processImpl(T const & t) { access::member_serialize(*self, const_cast(t)); return *self; } //! Non member serialization template inline ArchiveType & processImpl(T const & t) { CEREAL_SERIALIZE_FUNCTION_NAME(*self, const_cast(t)); return *self; } //! Member split (save) template inline ArchiveType & processImpl(T const & t) { access::member_save(*self, t); return *self; } //! Non member split (save) template inline ArchiveType & processImpl(T const & t) { CEREAL_SAVE_FUNCTION_NAME(*self, t); return *self; } //! Member split (save_minimal) template inline ArchiveType & processImpl(T const & t) { self->process( access::member_save_minimal(*self, t) ); return *self; } //! Non member split (save_minimal) template inline ArchiveType & processImpl(T const & t) { self->process( CEREAL_SAVE_MINIMAL_FUNCTION_NAME(*self, t) ); return *self; } //! Empty class specialization template ::value, std::is_empty::value> = traits::sfinae> inline ArchiveType & processImpl(T const &) { return *self; } //! No matching serialization /*! Invalid if we have invalid output versioning or we are not output serializable, and either don't allow empty class ellision or allow it but are not serializing an empty class */ template ::value || (!traits::is_output_serializable::value && (!(Flags & AllowEmptyClassElision) || ((Flags & AllowEmptyClassElision) && !std::is_empty::value)))> = traits::sfinae> inline ArchiveType & processImpl(T const &) { static_assert(traits::detail::count_output_serializers::value != 0, "cereal could not find any output serialization functions for the provided type and archive combination. \n\n " "Types must either have a serialize function, load/save pair, or load_minimal/save_minimal pair (you may not mix these). \n " "Serialize functions generally have the following signature: \n\n " "template \n " " void serialize(Archive & ar) \n " " { \n " " ar( member1, member2, member3 ); \n " " } \n\n " ); static_assert(traits::detail::count_output_serializers::value < 2, "cereal found more than one compatible output serialization function for the provided type and archive combination. \n\n " "Types must either have a serialize function, load/save pair, or load_minimal/save_minimal pair (you may not mix these). \n " "Use specialization (see access.hpp) if you need to disambiguate between serialize vs load/save functions. \n " "Note that serialization functions can be inherited which may lead to the aforementioned ambiguities. \n " "In addition, you may not mix versioned with non-versioned serialization functions. \n\n "); return *self; } //! Registers a class version with the archive and serializes it if necessary /*! If this is the first time this class has been serialized, we will record its version number and serialize that. @tparam T The type of the class being serialized @param version The version number associated with it */ template inline std::uint32_t registerClassVersion() { static const auto hash = std::type_index(typeid(T)).hash_code(); const auto insertResult = itsVersionedTypes.insert( hash ); const auto lock = detail::StaticObject::lock(); const auto version = detail::StaticObject::getInstance().find( hash, detail::Version::version ); if( insertResult.second ) // insertion took place, serialize the version number process( make_nvp("cereal_class_version", version) ); return version; } //! Member serialization /*! Versioning implementation */ template inline ArchiveType & processImpl(T const & t) { access::member_serialize(*self, const_cast(t), registerClassVersion()); return *self; } //! Non member serialization /*! Versioning implementation */ template inline ArchiveType & processImpl(T const & t) { CEREAL_SERIALIZE_FUNCTION_NAME(*self, const_cast(t), registerClassVersion()); return *self; } //! Member split (save) /*! Versioning implementation */ template inline ArchiveType & processImpl(T const & t) { access::member_save(*self, t, registerClassVersion()); return *self; } //! Non member split (save) /*! Versioning implementation */ template inline ArchiveType & processImpl(T const & t) { CEREAL_SAVE_FUNCTION_NAME(*self, t, registerClassVersion()); return *self; } //! Member split (save_minimal) /*! Versioning implementation */ template inline ArchiveType & processImpl(T const & t) { self->process( access::member_save_minimal(*self, t, registerClassVersion()) ); return *self; } //! Non member split (save_minimal) /*! Versioning implementation */ template inline ArchiveType & processImpl(T const & t) { self->process( CEREAL_SAVE_MINIMAL_FUNCTION_NAME(*self, t, registerClassVersion()) ); return *self; } #undef PROCESS_IF private: ArchiveType * const self; //! A set of all base classes that have been serialized std::unordered_set itsBaseClassSet; //! Maps from addresses to pointer ids std::unordered_map itsSharedPointerMap; //! The id to be given to the next pointer std::uint32_t itsCurrentPointerId; //! Maps from polymorphic type name strings to ids std::unordered_map itsPolymorphicTypeMap; //! The id to be given to the next polymorphic type name std::uint32_t itsCurrentPolymorphicTypeId; //! Keeps track of classes that have versioning information associated with them std::unordered_set itsVersionedTypes; }; // class OutputArchive // ###################################################################### //! The base input archive class /*! This is the base input archive for all input archives. If you create a custom archive class, it should derive from this, passing itself as a template parameter for the ArchiveType. The base class provides all of the functionality necessary to properly forward data to the correct serialization functions. Individual archives should use a combination of prologue and epilogue functions together with specializations of serialize, save, and load to alter the functionality of their serialization. @tparam ArchiveType The archive type that derives from InputArchive @tparam Flags Flags to control advanced functionality. See the Flags enum for more information. @ingroup Internal */ template class InputArchive : public detail::InputArchiveBase { public: //! Construct the output archive /*! @param derived A pointer to the derived ArchiveType (pass this from the derived archive) */ InputArchive(ArchiveType * const derived) : self(derived), itsBaseClassSet(), itsSharedPointerMap(), itsPolymorphicTypeMap(), itsVersionedTypes() { } InputArchive & operator=( InputArchive const & ) = delete; //! Serializes all passed in data /*! This is the primary interface for serializing data with an archive */ template inline ArchiveType & operator()( Types && ... args ) { process( std::forward( args )... ); return *self; } /*! @name Boost Transition Layer Functionality that mirrors the syntax for Boost. This is useful if you are transitioning a large project from Boost to cereal. The preferred interface for cereal is using operator(). */ //! @{ //! Indicates this archive is intended for loading /*! This ensures compatibility with boost archive types. If you are transitioning from boost, you can check this value within a member or external serialize function (i.e., Archive::is_loading::value) to enable behavior specific to loading, until you can transition to split save/load or save_minimal/load_minimal functions */ using is_loading = std::true_type; //! Indicates this archive is not intended for saving /*! This ensures compatibility with boost archive types. If you are transitioning from boost, you can check this value within a member or external serialize function (i.e., Archive::is_saving::value) to disable behavior specific to loading, until you can transition to split save/load or save_minimal/load_minimal functions */ using is_saving = std::false_type; //! Serializes passed in data /*! This is a boost compatability layer and is not the preferred way of using cereal. If you are transitioning from boost, use this until you can transition to the operator() overload */ template inline ArchiveType & operator&( T && arg ) { self->process( std::forward( arg ) ); return *self; } //! Serializes passed in data /*! This is a boost compatability layer and is not the preferred way of using cereal. If you are transitioning from boost, use this until you can transition to the operator() overload */ template inline ArchiveType & operator>>( T && arg ) { self->process( std::forward( arg ) ); return *self; } //! @} //! Retrieves a shared pointer given a unique key for it /*! This is used to retrieve a previously registered shared_ptr which has already been loaded. @param id The unique id that was serialized for the pointer @return A shared pointer to the data @throw Exception if the id does not exist */ inline std::shared_ptr getSharedPointer(std::uint32_t const id) { if(id == 0) return std::shared_ptr(nullptr); auto iter = itsSharedPointerMap.find( id ); if(iter == itsSharedPointerMap.end()) throw Exception("Error while trying to deserialize a smart pointer. Could not find id " + std::to_string(id)); return iter->second; } //! Registers a shared pointer to its unique identifier /*! After a shared pointer has been allocated for the first time, it should be registered with its loaded id for future references to it. @param id The unique identifier for the shared pointer @param ptr The actual shared pointer */ inline void registerSharedPointer(std::uint32_t const id, std::shared_ptr ptr) { std::uint32_t const stripped_id = id & ~detail::msb_32bit; itsSharedPointerMap[stripped_id] = ptr; } //! Retrieves the string for a polymorphic type given a unique key for it /*! This is used to retrieve a string previously registered during a polymorphic load. @param id The unique id that was serialized for the polymorphic type @return The string identifier for the tyep */ inline std::string getPolymorphicName(std::uint32_t const id) { auto name = itsPolymorphicTypeMap.find( id ); if(name == itsPolymorphicTypeMap.end()) { throw Exception("Error while trying to deserialize a polymorphic pointer. Could not find type id " + std::to_string(id)); } return name->second; } //! Registers a polymorphic name string to its unique identifier /*! After a polymorphic type has been loaded for the first time, it should be registered with its loaded id for future references to it. @param id The unique identifier for the polymorphic type @param name The name associated with the tyep */ inline void registerPolymorphicName(std::uint32_t const id, std::string const & name) { std::uint32_t const stripped_id = id & ~detail::msb_32bit; itsPolymorphicTypeMap.insert( {stripped_id, name} ); } private: //! Serializes data after calling prologue, then calls epilogue template inline void process( T && head ) { prologue( *self, head ); self->processImpl( head ); epilogue( *self, head ); } //! Unwinds to process all data template inline void process( T && head, Other && ... tail ) { process( std::forward( head ) ); process( std::forward( tail )... ); } //! Serialization of a virtual_base_class wrapper /*! \sa virtual_base_class */ template inline ArchiveType & processImpl(virtual_base_class & b) { traits::detail::base_class_id id(b.base_ptr); if(itsBaseClassSet.count(id) == 0) { itsBaseClassSet.insert(id); self->processImpl( *b.base_ptr ); } return *self; } //! Serialization of a base_class wrapper /*! \sa base_class */ template inline ArchiveType & processImpl(base_class & b) { self->processImpl( *b.base_ptr ); return *self; } //! Helper macro that expands the requirements for activating an overload /*! Requirements: Has the requested serialization function Does not have version and unversioned at the same time Is input serializable AND is specialized for this type of function OR has no specialization at all */ #define PROCESS_IF(name) \ traits::EnableIf::value, \ !traits::has_invalid_input_versioning::value, \ (traits::is_input_serializable::value && \ (traits::is_specialized_##name::value || \ !traits::is_specialized::value))> = traits::sfinae //! Member serialization template inline ArchiveType & processImpl(T & t) { access::member_serialize(*self, t); return *self; } //! Non member serialization template inline ArchiveType & processImpl(T & t) { CEREAL_SERIALIZE_FUNCTION_NAME(*self, t); return *self; } //! Member split (load) template inline ArchiveType & processImpl(T & t) { access::member_load(*self, t); return *self; } //! Non member split (load) template inline ArchiveType & processImpl(T & t) { CEREAL_LOAD_FUNCTION_NAME(*self, t); return *self; } //! Member split (load_minimal) template inline ArchiveType & processImpl(T & t) { using OutArchiveType = typename traits::detail::get_output_from_input::type; typename traits::has_member_save_minimal::type value; self->process( value ); access::member_load_minimal(*self, t, value); return *self; } //! Non member split (load_minimal) template inline ArchiveType & processImpl(T & t) { using OutArchiveType = typename traits::detail::get_output_from_input::type; typename traits::has_non_member_save_minimal::type value; self->process( value ); CEREAL_LOAD_MINIMAL_FUNCTION_NAME(*self, t, value); return *self; } //! Empty class specialization template ::value, std::is_empty::value> = traits::sfinae> inline ArchiveType & processImpl(T const &) { return *self; } //! No matching serialization /*! Invalid if we have invalid input versioning or we are not input serializable, and either don't allow empty class ellision or allow it but are not serializing an empty class */ template ::value || (!traits::is_input_serializable::value && (!(Flags & AllowEmptyClassElision) || ((Flags & AllowEmptyClassElision) && !std::is_empty::value)))> = traits::sfinae> inline ArchiveType & processImpl(T const &) { static_assert(traits::detail::count_input_serializers::value != 0, "cereal could not find any input serialization functions for the provided type and archive combination. \n\n " "Types must either have a serialize function, load/save pair, or load_minimal/save_minimal pair (you may not mix these). \n " "Serialize functions generally have the following signature: \n\n " "template \n " " void serialize(Archive & ar) \n " " { \n " " ar( member1, member2, member3 ); \n " " } \n\n " ); static_assert(traits::detail::count_input_serializers::value < 2, "cereal found more than one compatible input serialization function for the provided type and archive combination. \n\n " "Types must either have a serialize function, load/save pair, or load_minimal/save_minimal pair (you may not mix these). \n " "Use specialization (see access.hpp) if you need to disambiguate between serialize vs load/save functions. \n " "Note that serialization functions can be inherited which may lead to the aforementioned ambiguities. \n " "In addition, you may not mix versioned with non-versioned serialization functions. \n\n "); return *self; } //! Befriend for versioning in load_and_construct template friend struct detail::Construct; //! Registers a class version with the archive and serializes it if necessary /*! If this is the first time this class has been serialized, we will record its version number and serialize that. @tparam T The type of the class being serialized @param version The version number associated with it */ template inline std::uint32_t loadClassVersion() { static const auto hash = std::type_index(typeid(T)).hash_code(); auto lookupResult = itsVersionedTypes.find( hash ); if( lookupResult != itsVersionedTypes.end() ) // already exists return lookupResult->second; else // need to load { std::uint32_t version; process( make_nvp("cereal_class_version", version) ); itsVersionedTypes.emplace_hint( lookupResult, hash, version ); return version; } } //! Member serialization /*! Versioning implementation */ template inline ArchiveType & processImpl(T & t) { const auto version = loadClassVersion(); access::member_serialize(*self, t, version); return *self; } //! Non member serialization /*! Versioning implementation */ template inline ArchiveType & processImpl(T & t) { const auto version = loadClassVersion(); CEREAL_SERIALIZE_FUNCTION_NAME(*self, t, version); return *self; } //! Member split (load) /*! Versioning implementation */ template inline ArchiveType & processImpl(T & t) { const auto version = loadClassVersion(); access::member_load(*self, t, version); return *self; } //! Non member split (load) /*! Versioning implementation */ template inline ArchiveType & processImpl(T & t) { const auto version = loadClassVersion(); CEREAL_LOAD_FUNCTION_NAME(*self, t, version); return *self; } //! Member split (load_minimal) /*! Versioning implementation */ template inline ArchiveType & processImpl(T & t) { using OutArchiveType = typename traits::detail::get_output_from_input::type; const auto version = loadClassVersion(); typename traits::has_member_versioned_save_minimal::type value; self->process(value); access::member_load_minimal(*self, t, value, version); return *self; } //! Non member split (load_minimal) /*! Versioning implementation */ template inline ArchiveType & processImpl(T & t) { using OutArchiveType = typename traits::detail::get_output_from_input::type; const auto version = loadClassVersion(); typename traits::has_non_member_versioned_save_minimal::type value; self->process(value); CEREAL_LOAD_MINIMAL_FUNCTION_NAME(*self, t, value, version); return *self; } #undef PROCESS_IF private: ArchiveType * const self; //! A set of all base classes that have been serialized std::unordered_set itsBaseClassSet; //! Maps from pointer ids to metadata std::unordered_map> itsSharedPointerMap; //! Maps from name ids to names std::unordered_map itsPolymorphicTypeMap; //! Maps from type hash codes to version numbers std::unordered_map itsVersionedTypes; }; // class InputArchive } // namespace cereal // This include needs to come after things such as binary_data, make_nvp, etc #include "cereal/types/common.hpp" #endif // CEREAL_CEREAL_HPP_ blockattack-game-2.5.0/source/code/Libs/include/cereal/details/000077500000000000000000000000001347224572500243305ustar00rootroot00000000000000blockattack-game-2.5.0/source/code/Libs/include/cereal/details/helpers.hpp000066400000000000000000000331331347224572500265060ustar00rootroot00000000000000/*! \file helpers.hpp \brief Internal helper functionality \ingroup Internal */ /* Copyright (c) 2014, Randolph Voorhies, Shane Grant All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * 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. * Neither the name of cereal nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "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 RANDOLPH VOORHIES OR SHANE GRANT 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. */ #ifndef CEREAL_DETAILS_HELPERS_HPP_ #define CEREAL_DETAILS_HELPERS_HPP_ #include #include #include #include #include #include #include "cereal/macros.hpp" #include "cereal/details/static_object.hpp" namespace cereal { // ###################################################################### //! An exception class thrown when things go wrong at runtime /*! @ingroup Utility */ struct Exception : public std::runtime_error { explicit Exception( const std::string & what_ ) : std::runtime_error(what_) {} explicit Exception( const char * what_ ) : std::runtime_error(what_) {} }; // ###################################################################### //! The size type used by cereal /*! To ensure compatability between 32, 64, etc bit machines, we need to use a fixed size type instead of size_t, which may vary from machine to machine. The default value for CEREAL_SIZE_TYPE is specified in cereal/macros.hpp */ using size_type = CEREAL_SIZE_TYPE; // forward decls class BinaryOutputArchive; class BinaryInputArchive; // ###################################################################### namespace detail { struct NameValuePairCore {}; //!< Traits struct for NVPs } //! For holding name value pairs /*! This pairs a name (some string) with some value such that an archive can potentially take advantage of the pairing. In serialization functions, NameValuePairs are usually created like so: @code{.cpp} struct MyStruct { int a, b, c, d, e; template void serialize(Archive & archive) { archive( CEREAL_NVP(a), CEREAL_NVP(b), CEREAL_NVP(c), CEREAL_NVP(d), CEREAL_NVP(e) ); } }; @endcode Alternatively, you can give you data members custom names like so: @code{.cpp} struct MyStruct { int a, b, my_embarrassing_variable_name, d, e; template void serialize(Archive & archive) { archive( CEREAL_NVP(a), CEREAL_NVP(b), cereal::make_nvp("var", my_embarrassing_variable_name) ); CEREAL_NVP(d), CEREAL_NVP(e) ); } }; @endcode There is a slight amount of overhead to creating NameValuePairs, so there is a third method which will elide the names when they are not used by the Archive: @code{.cpp} struct MyStruct { int a, b; template void serialize(Archive & archive) { archive( cereal::make_nvp(a), cereal::make_nvp(b) ); } }; @endcode This third method is generally only used when providing generic type support. Users writing their own serialize functions will normally explicitly control whether they want to use NVPs or not. @internal */ template class NameValuePair : detail::NameValuePairCore { private: // If we get passed an array, keep the type as is, otherwise store // a reference if we were passed an l value reference, else copy the value using Type = typename std::conditional::type>::value, typename std::remove_cv::type, typename std::conditional::value, T, typename std::decay::type>::type>::type; // prevent nested nvps static_assert( !std::is_base_of::value, "Cannot pair a name to a NameValuePair" ); NameValuePair & operator=( NameValuePair const & ) = delete; public: //! Constructs a new NameValuePair /*! @param n The name of the pair @param v The value to pair. Ideally this should be an l-value reference so that the value can be both loaded and saved to. If you pass an r-value reference, the NameValuePair will store a copy of it instead of a reference. Thus you should only pass r-values in cases where this makes sense, such as the result of some size() call. @internal */ NameValuePair( char const * n, T && v ) : name(n), value(std::forward(v)) {} char const * name; Type value; }; //! A specialization of make_nvp<> that simply forwards the value for binary archives /*! @relates NameValuePair @internal */ template inline typename std::enable_if::value || std::is_same::value, T && >::type make_nvp( const char *, T && value ) { return std::forward(value); } //! A specialization of make_nvp<> that actually creates an nvp for non-binary archives /*! @relates NameValuePair @internal */ template inline typename std::enable_if::value && !std::is_same::value, NameValuePair >::type make_nvp( const char * name, T && value) { return {name, std::forward(value)}; } //! Convenience for creating a templated NVP /*! For use in internal generic typing functions which have an Archive type declared @internal */ #define CEREAL_NVP_(name, value) ::cereal::make_nvp(name, value) // ###################################################################### //! A wrapper around data that can be serialized in a binary fashion /*! This class is used to demarcate data that can safely be serialized as a binary chunk of data. Individual archives can then choose how best represent this during serialization. @internal */ template struct BinaryData { //! Internally store the pointer as a void *, keeping const if created with //! a const pointer using PT = typename std::conditional::type>::value, const void *, void *>::type; BinaryData( T && d, uint64_t s ) : data(std::forward(d)), size(s) {} PT data; //!< pointer to beginning of data uint64_t size; //!< size in bytes }; // ###################################################################### namespace detail { // base classes for type checking /* The rtti virtual function only exists to enable an archive to be used in a polymorphic fashion, if necessary. See the archive adapters for an example of this */ class OutputArchiveBase { public: OutputArchiveBase() = default; OutputArchiveBase( OutputArchiveBase && ) CEREAL_NOEXCEPT {} OutputArchiveBase & operator=( OutputArchiveBase && ) CEREAL_NOEXCEPT { return *this; } virtual ~OutputArchiveBase() CEREAL_NOEXCEPT = default; private: virtual void rtti() {} }; class InputArchiveBase { public: InputArchiveBase() = default; InputArchiveBase( InputArchiveBase && ) CEREAL_NOEXCEPT {} InputArchiveBase & operator=( InputArchiveBase && ) CEREAL_NOEXCEPT { return *this; } virtual ~InputArchiveBase() CEREAL_NOEXCEPT = default; private: virtual void rtti() {} }; // forward decls for polymorphic support template struct polymorphic_serialization_support; struct adl_tag; // used during saving pointers static const int32_t msb_32bit = 0x80000000; static const int32_t msb2_32bit = 0x40000000; } // ###################################################################### //! A wrapper around size metadata /*! This class provides a way for archives to have more flexibility over how they choose to serialize size metadata for containers. For some archive types, the size may be implicitly encoded in the output (e.g. JSON) and not need an explicit entry. Specializing serialize or load/save for your archive and SizeTags allows you to choose what happens. @internal */ template class SizeTag { private: // Store a reference if passed an lvalue reference, otherwise // make a copy of the data using Type = typename std::conditional::value, T, typename std::decay::type>::type; SizeTag & operator=( SizeTag const & ) = delete; public: SizeTag( T && sz ) : size(std::forward(sz)) {} Type size; }; // ###################################################################### //! A wrapper around a key and value for serializing data into maps. /*! This class just provides a grouping of keys and values into a struct for human readable archives. For example, XML archives will use this wrapper to write maps like so: @code{.xml} MyFirstKey MyFirstValue MySecondKey MySecondValue @endcode \sa make_map_item @internal */ template struct MapItem { using KeyType = typename std::conditional< std::is_lvalue_reference::value, Key, typename std::decay::type>::type; using ValueType = typename std::conditional< std::is_lvalue_reference::value, Value, typename std::decay::type>::type; //! Construct a MapItem from a key and a value /*! @internal */ MapItem( Key && key_, Value && value_ ) : key(std::forward(key_)), value(std::forward(value_)) {} MapItem & operator=( MapItem const & ) = delete; KeyType key; ValueType value; //! Serialize the MapItem with the NVPs "key" and "value" template inline void CEREAL_SERIALIZE_FUNCTION_NAME(Archive & archive) { archive( make_nvp("key", key), make_nvp("value", value) ); } }; //! Create a MapItem so that human readable archives will group keys and values together /*! @internal @relates MapItem */ template inline MapItem make_map_item(KeyType && key, ValueType && value) { return {std::forward(key), std::forward(value)}; } namespace detail { //! Tag for Version, which due to its anonymous namespace, becomes a different //! type in each translation unit /*! This allows CEREAL_CLASS_VERSION to be safely called in a header file */ namespace{ struct version_binding_tag {}; } // ###################################################################### //! Version information class /*! This is the base case for classes that have not been explicitly registered */ template struct Version { static const std::uint32_t version = 0; // we don't need to explicitly register these types since they // always get a version number of 0 }; //! Holds all registered version information struct Versions { std::unordered_map mapping; std::uint32_t find( std::size_t hash, std::uint32_t version ) { const auto result = mapping.emplace( hash, version ); return result.first->second; } }; // struct Versions } // namespace detail } // namespace cereal #endif // CEREAL_DETAILS_HELPERS_HPP_ blockattack-game-2.5.0/source/code/Libs/include/cereal/details/polymorphic_impl.hpp000066400000000000000000001057051347224572500304370ustar00rootroot00000000000000/*! \file polymorphic_impl.hpp \brief Internal polymorphism support \ingroup Internal */ /* Copyright (c) 2014, Randolph Voorhies, Shane Grant All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * 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. * Neither the name of cereal nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "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 RANDOLPH VOORHIES OR SHANE GRANT 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. */ /* This code is heavily inspired by the boost serialization implementation by the following authors (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . Use, modification and distribution is subject to the Boost Software License, Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt) See http://www.boost.org for updates, documentation, and revision history. (C) Copyright 2006 David Abrahams - http://www.boost.org. See /boost/serialization/export.hpp, /boost/archive/detail/register_archive.hpp, and /boost/serialization/void_cast.hpp for their implementation. Additional details found in other files split across serialization and archive. */ #ifndef CEREAL_DETAILS_POLYMORPHIC_IMPL_HPP_ #define CEREAL_DETAILS_POLYMORPHIC_IMPL_HPP_ #include "cereal/details/polymorphic_impl_fwd.hpp" #include "cereal/details/static_object.hpp" #include "cereal/types/memory.hpp" #include "cereal/types/string.hpp" #include #include #include #include #include #include //! Binds a polymorhic type to all registered archives /*! This binds a polymorphic type to all compatible registered archives that have been registered with CEREAL_REGISTER_ARCHIVE. This must be called after all archives are registered (usually after the archives themselves have been included). */ #define CEREAL_BIND_TO_ARCHIVES(...) \ namespace cereal { \ namespace detail { \ template<> \ struct init_binding<__VA_ARGS__> { \ static bind_to_archives<__VA_ARGS__> const & b; \ static void unused() { (void)b; } \ }; \ bind_to_archives<__VA_ARGS__> const & init_binding<__VA_ARGS__>::b = \ ::cereal::detail::StaticObject< \ bind_to_archives<__VA_ARGS__> \ >::getInstance().bind(); \ }} /* end namespaces */ namespace cereal { /* Polymorphic casting support */ namespace detail { //! Base type for polymorphic void casting /*! Contains functions for casting between registered base and derived types. This is necessary so that cereal can properly cast between polymorphic types even though void pointers are used, which normally have no type information. Runtime type information is used instead to index a compile-time made mapping that can perform the proper cast. In the case of multiple levels of inheritance, cereal will attempt to find the shortest path by using registered relationships to perform the cast. This class will be allocated as a StaticObject and only referenced by pointer, allowing a templated derived version of it to define strongly typed functions that cast between registered base and derived types. */ struct PolymorphicCaster { PolymorphicCaster() = default; PolymorphicCaster( const PolymorphicCaster & ) = default; PolymorphicCaster & operator=( const PolymorphicCaster & ) = default; PolymorphicCaster( PolymorphicCaster && ) CEREAL_NOEXCEPT {} PolymorphicCaster & operator=( PolymorphicCaster && ) CEREAL_NOEXCEPT { return *this; } virtual ~PolymorphicCaster() CEREAL_NOEXCEPT = default; //! Downcasts to the proper derived type virtual void const * downcast( void const * const ptr ) const = 0; //! Upcast to proper base type virtual void * upcast( void * const ptr ) const = 0; //! Upcast to proper base type, shared_ptr version virtual std::shared_ptr upcast( std::shared_ptr const & ptr ) const = 0; }; //! Holds registered mappings between base and derived types for casting /*! This will be allocated as a StaticObject and holds a map containing all registered mappings between base and derived types. */ struct PolymorphicCasters { //! Maps from base type index to a map from derived type index to caster std::map>> map; std::multimap reverseMap; //! Error message used for unregistered polymorphic casts #define UNREGISTERED_POLYMORPHIC_CAST_EXCEPTION(LoadSave) \ throw cereal::Exception("Trying to " #LoadSave " a registered polymorphic type with an unregistered polymorphic cast.\n" \ "Could not find a path to a base class (" + util::demangle(baseInfo.name()) + ") for type: " + ::cereal::util::demangledName() + "\n" \ "Make sure you either serialize the base class at some point via cereal::base_class or cereal::virtual_base_class.\n" \ "Alternatively, manually register the association with CEREAL_REGISTER_POLYMORPHIC_RELATION."); //! Checks if the mapping object that can perform the upcast or downcast /*! Uses the type index from the base and derived class to find the matching registered caster. If no matching caster exists, returns false. */ static bool exists( std::type_index const & baseIndex, std::type_index const & derivedIndex ) { // First phase of lookup - match base type index auto const & baseMap = StaticObject::getInstance().map; auto baseIter = baseMap.find( baseIndex ); if (baseIter == baseMap.end()) return false; // Second phase - find a match from base to derived auto & derivedMap = baseIter->second; auto derivedIter = derivedMap.find( derivedIndex ); if (derivedIter == derivedMap.end()) return false; return true; } //! Gets the mapping object that can perform the upcast or downcast /*! Uses the type index from the base and derived class to find the matching registered caster. If no matching caster exists, calls the exception function. The returned PolymorphicCaster is capable of upcasting or downcasting between the two types. */ template inline static std::vector const & lookup( std::type_index const & baseIndex, std::type_index const & derivedIndex, F && exceptionFunc ) { // First phase of lookup - match base type index auto const & baseMap = StaticObject::getInstance().map; auto baseIter = baseMap.find( baseIndex ); if( baseIter == baseMap.end() ) exceptionFunc(); // Second phase - find a match from base to derived auto & derivedMap = baseIter->second; auto derivedIter = derivedMap.find( derivedIndex ); if( derivedIter == derivedMap.end() ) exceptionFunc(); return derivedIter->second; } //! Performs a downcast to the derived type using a registered mapping template inline static const Derived * downcast( const void * dptr, std::type_info const & baseInfo ) { auto const & mapping = lookup( baseInfo, typeid(Derived), [&](){ UNREGISTERED_POLYMORPHIC_CAST_EXCEPTION(save) } ); for( auto const * map : mapping ) dptr = map->downcast( dptr ); return static_cast( dptr ); } //! Performs an upcast to the registered base type using the given a derived type /*! The return is untyped because the final casting to the base type must happen in the polymorphic serialization function, where the type is known at compile time */ template inline static void * upcast( Derived * const dptr, std::type_info const & baseInfo ) { auto const & mapping = lookup( baseInfo, typeid(Derived), [&](){ UNREGISTERED_POLYMORPHIC_CAST_EXCEPTION(load) } ); void * uptr = dptr; for( auto mIter = mapping.rbegin(), mEnd = mapping.rend(); mIter != mEnd; ++mIter ) uptr = (*mIter)->upcast( uptr ); return uptr; } //! Upcasts for shared pointers template inline static std::shared_ptr upcast( std::shared_ptr const & dptr, std::type_info const & baseInfo ) { auto const & mapping = lookup( baseInfo, typeid(Derived), [&](){ UNREGISTERED_POLYMORPHIC_CAST_EXCEPTION(load) } ); std::shared_ptr uptr = dptr; for( auto mIter = mapping.rbegin(), mEnd = mapping.rend(); mIter != mEnd; ++mIter ) uptr = (*mIter)->upcast( uptr ); return uptr; } #undef UNREGISTERED_POLYMORPHIC_CAST_EXCEPTION }; //! Strongly typed derivation of PolymorphicCaster template struct PolymorphicVirtualCaster : PolymorphicCaster { //! Inserts an entry in the polymorphic casting map for this pairing /*! Creates an explicit mapping between Base and Derived in both upwards and downwards directions, allowing void pointers to either to be properly cast assuming dynamic type information is available */ PolymorphicVirtualCaster() { const auto baseKey = std::type_index(typeid(Base)); const auto derivedKey = std::type_index(typeid(Derived)); // First insert the relation Base->Derived const auto lock = StaticObject::lock(); auto & baseMap = StaticObject::getInstance().map; auto lb = baseMap.lower_bound(baseKey); { auto & derivedMap = baseMap.insert( lb, {baseKey, {}} )->second; auto lbd = derivedMap.lower_bound(derivedKey); auto & derivedVec = derivedMap.insert( lbd, { std::move(derivedKey), {}} )->second; derivedVec.push_back( this ); } // Insert reverse relation Derived->Base auto & reverseMap = StaticObject::getInstance().reverseMap; reverseMap.insert( {derivedKey, baseKey} ); // Find all chainable unregistered relations /* The strategy here is to process only the nodes in the class hierarchy graph that have been affected by the new insertion. The aglorithm iteratively processes a node an ensures that it is updated with all new shortest length paths. It then rocesses the parents of the active node, with the knowledge that all children have already been processed. Note that for the following, we'll use the nomenclature of parent and child to not confuse with the inserted base derived relationship */ { // Checks whether there is a path from parent->child and returns a pair // dist is set to MAX if the path does not exist auto checkRelation = [](std::type_index const & parentInfo, std::type_index const & childInfo) -> std::pair> { if( PolymorphicCasters::exists( parentInfo, childInfo ) ) { auto const & path = PolymorphicCasters::lookup( parentInfo, childInfo, [](){} ); return {path.size(), path}; } else return {std::numeric_limits::max(), {}}; }; std::stack parentStack; // Holds the parent nodes to be processed std::set dirtySet; // Marks child nodes that have been changed std::set processedParents; // Marks parent nodes that have been processed // Begin processing the base key and mark derived as dirty parentStack.push( baseKey ); dirtySet.insert( derivedKey ); while( !parentStack.empty() ) { using Relations = std::multimap>>; Relations unregisteredRelations; // Defer insertions until after main loop to prevent iterator invalidation const auto parent = parentStack.top(); parentStack.pop(); // Update paths to all children marked dirty for( auto const & childPair : baseMap[parent] ) { const auto child = childPair.first; if( dirtySet.count( child ) && baseMap.count( child ) ) { auto parentChildPath = checkRelation( parent, child ); // Search all paths from the child to its own children (finalChild), // looking for a shorter parth from parent to finalChild for( auto const & finalChildPair : baseMap[child] ) { const auto finalChild = finalChildPair.first; auto parentFinalChildPath = checkRelation( parent, finalChild ); auto childFinalChildPath = checkRelation( child, finalChild ); const size_t newLength = 1u + parentChildPath.first; if( newLength < parentFinalChildPath.first ) { std::vector path = parentChildPath.second; path.insert( path.end(), childFinalChildPath.second.begin(), childFinalChildPath.second.end() ); // Check to see if we have a previous uncommitted path in unregisteredRelations // that is shorter. If so, ignore this path auto hintRange = unregisteredRelations.equal_range( parent ); auto hint = hintRange.first; for( ; hint != hintRange.second; ++hint ) if( hint->second.first == finalChild ) break; const bool uncommittedExists = hint != unregisteredRelations.end(); if( uncommittedExists && (hint->second.second.size() <= newLength) ) continue; auto newPath = std::pair>{finalChild, std::move(path)}; // Insert the new path if it doesn't exist, otherwise this will just lookup where to do the // replacement #ifdef CEREAL_OLDER_GCC auto old = unregisteredRelations.insert( hint, std::make_pair(parent, newPath) ); #else // NOT CEREAL_OLDER_GCC auto old = unregisteredRelations.emplace_hint( hint, parent, newPath ); #endif // NOT CEREAL_OLDER_GCC // If there was an uncommitted path, we need to perform a replacement if( uncommittedExists ) old->second = newPath; } } // end loop over child's children } // end if dirty and child has children } // end loop over children // Insert chained relations for( auto const & it : unregisteredRelations ) { auto & derivedMap = baseMap.find( it.first )->second; derivedMap[it.second.first] = it.second.second; reverseMap.insert( {it.second.first, it.first} ); } // Mark current parent as modified dirtySet.insert( parent ); // Insert all parents of the current parent node that haven't yet been processed auto parentRange = reverseMap.equal_range( parent ); for( auto pIter = parentRange.first; pIter != parentRange.second; ++pIter ) { const auto pParent = pIter->second; if( !processedParents.count( pParent ) ) { parentStack.push( pParent ); processedParents.insert( pParent ); } } } // end loop over parent stack } // end chainable relations } // end PolymorphicVirtualCaster() //! Performs the proper downcast with the templated types void const * downcast( void const * const ptr ) const override { return dynamic_cast( static_cast( ptr ) ); } //! Performs the proper upcast with the templated types void * upcast( void * const ptr ) const override { return dynamic_cast( static_cast( ptr ) ); } //! Performs the proper upcast with the templated types (shared_ptr version) std::shared_ptr upcast( std::shared_ptr const & ptr ) const override { return std::dynamic_pointer_cast( std::static_pointer_cast( ptr ) ); } }; //! Registers a polymorphic casting relation between a Base and Derived type /*! Registering a relation allows cereal to properly cast between the two types given runtime type information and void pointers. Registration happens automatically via cereal::base_class and cereal::virtual_base_class instantiations. For cases where neither is called, see the CEREAL_REGISTER_POLYMORPHIC_RELATION macro */ template struct RegisterPolymorphicCaster { static PolymorphicCaster const * bind( std::true_type /* is_polymorphic */) { return &StaticObject>::getInstance(); } static PolymorphicCaster const * bind( std::false_type /* is_polymorphic */ ) { return nullptr; } //! Performs registration (binding) between Base and Derived /*! If the type is not polymorphic, nothing will happen */ static PolymorphicCaster const * bind() { return bind( typename std::is_polymorphic::type() ); } }; } /* General polymorphism support */ namespace detail { //! Binds a compile time type with a user defined string template struct binding_name {}; //! A structure holding a map from type_indices to output serializer functions /*! A static object of this map should be created for each registered archive type, containing entries for every registered type that describe how to properly cast the type to its real type in polymorphic scenarios for shared_ptr, weak_ptr, and unique_ptr. */ template struct OutputBindingMap { //! A serializer function /*! Serializer functions return nothing and take an archive as their first parameter (will be cast properly inside the function, a pointer to actual data (contents of smart_ptr's get() function) as their second parameter, and the type info of the owning smart_ptr as their final parameter */ typedef std::function Serializer; //! Struct containing the serializer functions for all pointer types struct Serializers { Serializer shared_ptr, //!< Serializer function for shared/weak pointers unique_ptr; //!< Serializer function for unique pointers }; //! A map of serializers for pointers of all registered types std::map map; }; //! An empty noop deleter template struct EmptyDeleter { void operator()(T *) const {} }; //! A structure holding a map from type name strings to input serializer functions /*! A static object of this map should be created for each registered archive type, containing entries for every registered type that describe how to properly cast the type to its real type in polymorphic scenarios for shared_ptr, weak_ptr, and unique_ptr. */ template struct InputBindingMap { //! Shared ptr serializer function /*! Serializer functions return nothing and take an archive as their first parameter (will be cast properly inside the function, a shared_ptr (or unique_ptr for the unique case) of any base type, and the type id of said base type as the third parameter. Internally it will properly be loaded and cast to the correct type. */ typedef std::function &, std::type_info const &)> SharedSerializer; //! Unique ptr serializer function typedef std::function> &, std::type_info const &)> UniqueSerializer; //! Struct containing the serializer functions for all pointer types struct Serializers { SharedSerializer shared_ptr; //!< Serializer function for shared/weak pointers UniqueSerializer unique_ptr; //!< Serializer function for unique pointers }; //! A map of serializers for pointers of all registered types std::map map; }; // forward decls for archives from cereal.hpp class InputArchiveBase; class OutputArchiveBase; //! Creates a binding (map entry) between an input archive type and a polymorphic type /*! Bindings are made when types are registered, assuming that at least one archive has already been registered. When this struct is created, it will insert (at run time) an entry into a map that properly handles casting for serializing polymorphic objects */ template struct InputBindingCreator { //! Initialize the binding InputBindingCreator() { auto & map = StaticObject>::getInstance().map; auto lock = StaticObject>::lock(); auto key = std::string(binding_name::name()); auto lb = map.lower_bound(key); if (lb != map.end() && lb->first == key) return; typename InputBindingMap::Serializers serializers; serializers.shared_ptr = [](void * arptr, std::shared_ptr & dptr, std::type_info const & baseInfo) { Archive & ar = *static_cast(arptr); std::shared_ptr ptr; ar( CEREAL_NVP_("ptr_wrapper", ::cereal::memory_detail::make_ptr_wrapper(ptr)) ); dptr = PolymorphicCasters::template upcast( ptr, baseInfo ); }; serializers.unique_ptr = [](void * arptr, std::unique_ptr> & dptr, std::type_info const & baseInfo) { Archive & ar = *static_cast(arptr); std::unique_ptr ptr; ar( CEREAL_NVP_("ptr_wrapper", ::cereal::memory_detail::make_ptr_wrapper(ptr)) ); dptr.reset( PolymorphicCasters::template upcast( ptr.release(), baseInfo )); }; map.insert( lb, { std::move(key), std::move(serializers) } ); } }; //! Creates a binding (map entry) between an output archive type and a polymorphic type /*! Bindings are made when types are registered, assuming that at least one archive has already been registered. When this struct is created, it will insert (at run time) an entry into a map that properly handles casting for serializing polymorphic objects */ template struct OutputBindingCreator { //! Writes appropriate metadata to the archive for this polymorphic type static void writeMetadata(Archive & ar) { // Register the polymorphic type name with the archive, and get the id char const * name = binding_name::name(); std::uint32_t id = ar.registerPolymorphicType(name); // Serialize the id ar( CEREAL_NVP_("polymorphic_id", id) ); // If the msb of the id is 1, then the type name is new, and we should serialize it if( id & detail::msb_32bit ) { std::string namestring(name); ar( CEREAL_NVP_("polymorphic_name", namestring) ); } } //! Holds a properly typed shared_ptr to the polymorphic type class PolymorphicSharedPointerWrapper { public: /*! Wrap a raw polymorphic pointer in a shared_ptr to its true type The wrapped pointer will not be responsible for ownership of the held pointer so it will not attempt to destroy it; instead the refcount of the wrapped pointer will be tied to a fake 'ownership pointer' that will do nothing when it ultimately goes out of scope. The main reason for doing this, other than not to destroy the true object with our wrapper pointer, is to avoid meddling with the internal reference count in a polymorphic type that inherits from std::enable_shared_from_this. @param dptr A void pointer to the contents of the shared_ptr to serialize */ PolymorphicSharedPointerWrapper( T const * dptr ) : refCount(), wrappedPtr( refCount, dptr ) { } //! Get the wrapped shared_ptr */ inline std::shared_ptr const & operator()() const { return wrappedPtr; } private: std::shared_ptr refCount; //!< The ownership pointer std::shared_ptr wrappedPtr; //!< The wrapped pointer }; //! Does the actual work of saving a polymorphic shared_ptr /*! This function will properly create a shared_ptr from the void * that is passed in before passing it to the archive for serialization. In addition, this will also preserve the state of any internal enable_shared_from_this mechanisms @param ar The archive to serialize to @param dptr Pointer to the actual data held by the shared_ptr */ static inline void savePolymorphicSharedPtr( Archive & ar, T const * dptr, std::true_type /* has_shared_from_this */ ) { ::cereal::memory_detail::EnableSharedStateHelper state( const_cast(dptr) ); PolymorphicSharedPointerWrapper psptr( dptr ); ar( CEREAL_NVP_("ptr_wrapper", memory_detail::make_ptr_wrapper( psptr() ) ) ); } //! Does the actual work of saving a polymorphic shared_ptr /*! This function will properly create a shared_ptr from the void * that is passed in before passing it to the archive for serialization. This version is for types that do not inherit from std::enable_shared_from_this. @param ar The archive to serialize to @param dptr Pointer to the actual data held by the shared_ptr */ static inline void savePolymorphicSharedPtr( Archive & ar, T const * dptr, std::false_type /* has_shared_from_this */ ) { PolymorphicSharedPointerWrapper psptr( dptr ); ar( CEREAL_NVP_("ptr_wrapper", memory_detail::make_ptr_wrapper( psptr() ) ) ); } //! Initialize the binding OutputBindingCreator() { auto & map = StaticObject>::getInstance().map; auto key = std::type_index(typeid(T)); auto lb = map.lower_bound(key); if (lb != map.end() && lb->first == key) return; typename OutputBindingMap::Serializers serializers; serializers.shared_ptr = [&](void * arptr, void const * dptr, std::type_info const & baseInfo) { Archive & ar = *static_cast(arptr); writeMetadata(ar); auto ptr = PolymorphicCasters::template downcast( dptr, baseInfo ); #ifdef _MSC_VER savePolymorphicSharedPtr( ar, ptr, ::cereal::traits::has_shared_from_this::type() ); // MSVC doesn't like typename here #else // not _MSC_VER savePolymorphicSharedPtr( ar, ptr, typename ::cereal::traits::has_shared_from_this::type() ); #endif // _MSC_VER }; serializers.unique_ptr = [&](void * arptr, void const * dptr, std::type_info const & baseInfo) { Archive & ar = *static_cast(arptr); writeMetadata(ar); std::unique_ptr> const ptr( PolymorphicCasters::template downcast( dptr, baseInfo ) ); ar( CEREAL_NVP_("ptr_wrapper", memory_detail::make_ptr_wrapper(ptr)) ); }; map.insert( { std::move(key), std::move(serializers) } ); } }; //! Used to help out argument dependent lookup for finding potential overloads //! of instantiate_polymorphic_binding struct adl_tag {}; //! Tag for init_binding, bind_to_archives and instantiate_polymorphic_binding. Due to the use of anonymous //! namespace it becomes a different type in each translation unit. namespace { struct polymorphic_binding_tag {}; } //! Causes the static object bindings between an archive type and a serializable type T template struct create_bindings { static const InputBindingCreator & load(std::true_type) { return cereal::detail::StaticObject>::getInstance(); } static const OutputBindingCreator & save(std::true_type) { return cereal::detail::StaticObject>::getInstance(); } inline static void load(std::false_type) {} inline static void save(std::false_type) {} }; //! When specialized, causes the compiler to instantiate its parameter template struct instantiate_function {}; /*! This struct is used as the return type of instantiate_polymorphic_binding for specific Archive types. When the compiler looks for overloads of instantiate_polymorphic_binding, it will be forced to instantiate this struct during overload resolution, even though it will not be part of a valid overload */ template struct polymorphic_serialization_support { #if defined(_MSC_VER) && !defined(__INTEL_COMPILER) //! Creates the appropriate bindings depending on whether the archive supports //! saving or loading virtual CEREAL_DLL_EXPORT void instantiate() CEREAL_USED; #else // NOT _MSC_VER //! Creates the appropriate bindings depending on whether the archive supports //! saving or loading static CEREAL_DLL_EXPORT void instantiate() CEREAL_USED; //! This typedef causes the compiler to instantiate this static function typedef instantiate_function unused; #endif // _MSC_VER }; // instantiate implementation template CEREAL_DLL_EXPORT void polymorphic_serialization_support::instantiate() { create_bindings::save( std::integral_constant::value && traits::is_output_serializable::value>{} ); create_bindings::load( std::integral_constant::value && traits::is_input_serializable::value>{} ); } //! Begins the binding process of a type to all registered archives /*! Archives need to be registered prior to this struct being instantiated via the CEREAL_REGISTER_ARCHIVE macro. Overload resolution will then force several static objects to be made that allow us to bind together all registered archive types with the parameter type T. */ template struct bind_to_archives { //! Binding for non abstract types void bind(std::false_type) const { instantiate_polymorphic_binding(static_cast(nullptr), 0, Tag{}, adl_tag{}); } //! Binding for abstract types void bind(std::true_type) const { } //! Binds the type T to all registered archives /*! If T is abstract, we will not serialize it and thus do not need to make a binding */ bind_to_archives const & bind() const { static_assert( std::is_polymorphic::value, "Attempting to register non polymorphic type" ); bind( std::is_abstract() ); return *this; } }; //! Used to hide the static object used to bind T to registered archives template struct init_binding; //! Base case overload for instantiation /*! This will end up always being the best overload due to the second parameter always being passed as an int. All other overloads will accept pointers to archive types and have lower precedence than int. Since the compiler needs to check all possible overloads, the other overloads created via CEREAL_REGISTER_ARCHIVE, which will have lower precedence due to requring a conversion from int to (Archive*), will cause their return types to be instantiated through the static object mechanisms even though they are never called. See the documentation for the other functions to try and understand this */ template void instantiate_polymorphic_binding( T*, int, BindingTag, adl_tag ) {} } // namespace detail } // namespace cereal #endif // CEREAL_DETAILS_POLYMORPHIC_IMPL_HPP_ blockattack-game-2.5.0/source/code/Libs/include/cereal/details/polymorphic_impl_fwd.hpp000066400000000000000000000055261347224572500312770ustar00rootroot00000000000000/*! \file polymorphic_impl_fwd.hpp \brief Internal polymorphism support forward declarations \ingroup Internal */ /* Copyright (c) 2014, Randolph Voorhies, Shane Grant All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * 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. * Neither the name of cereal nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "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 RANDOLPH VOORHIES OR SHANE GRANT 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. */ /* This code is heavily inspired by the boost serialization implementation by the following authors (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . Use, modification and distribution is subject to the Boost Software License, Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt) See http://www.boost.org for updates, documentation, and revision history. (C) Copyright 2006 David Abrahams - http://www.boost.org. See /boost/serialization/export.hpp and /boost/archive/detail/register_archive.hpp for their implementation. */ #ifndef CEREAL_DETAILS_POLYMORPHIC_IMPL_FWD_HPP_ #define CEREAL_DETAILS_POLYMORPHIC_IMPL_FWD_HPP_ namespace cereal { namespace detail { //! Forward declaration, see polymorphic_impl.hpp for more information template struct RegisterPolymorphicCaster; //! Forward declaration, see polymorphic_impl.hpp for more information struct PolymorphicCasters; //! Forward declaration, see polymorphic_impl.hpp for more information template struct PolymorphicRelation; } // namespace detail } // namespace cereal #endif // CEREAL_DETAILS_POLYMORPHIC_IMPL_FWD_HPP_ blockattack-game-2.5.0/source/code/Libs/include/cereal/details/static_object.hpp000066400000000000000000000113511347224572500276570ustar00rootroot00000000000000/*! \file static_object.hpp \brief Internal polymorphism static object support \ingroup Internal */ /* Copyright (c) 2014, Randolph Voorhies, Shane Grant All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * 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. * Neither the name of cereal nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "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 RANDOLPH VOORHIES OR SHANE GRANT 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. */ #ifndef CEREAL_DETAILS_STATIC_OBJECT_HPP_ #define CEREAL_DETAILS_STATIC_OBJECT_HPP_ #include "cereal/macros.hpp" #if CEREAL_THREAD_SAFE #include #endif //! Prevent link optimization from removing non-referenced static objects /*! Especially for polymorphic support, we create static objects which may not ever be explicitly referenced. Most linkers will detect this and remove the code causing various unpleasant runtime errors. These macros, adopted from Boost (see force_include.hpp) prevent this (C) Copyright 2002 Robert Ramey - http://www.rrsd.com . Use, modification and distribution is subject to the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) */ #ifdef _MSC_VER # define CEREAL_DLL_EXPORT __declspec(dllexport) # define CEREAL_USED #else // clang or gcc # define CEREAL_DLL_EXPORT # define CEREAL_USED __attribute__ ((__used__)) #endif namespace cereal { namespace detail { //! A static, pre-execution object /*! This class will create a single copy (singleton) of some type and ensures that merely referencing this type will cause it to be instantiated and initialized pre-execution. For example, this is used heavily in the polymorphic pointer serialization mechanisms to bind various archive types with different polymorphic classes */ template class CEREAL_DLL_EXPORT StaticObject { private: //! Forces instantiation at pre-execution time static void instantiate( T const & ) {} static T & create() { static T t; instantiate(instance); return t; } StaticObject( StaticObject const & /*other*/ ) {} public: static T & getInstance() { return create(); } //! A class that acts like std::lock_guard class LockGuard { #if CEREAL_THREAD_SAFE public: LockGuard(std::mutex & m) : lock(m) {} private: std::unique_lock lock; #else public: ~LockGuard() CEREAL_NOEXCEPT {} // prevents variable not used #endif }; //! Attempts to lock this static object for the current scope /*! @note This function is a no-op if cereal is not compiled with thread safety enabled (CEREAL_THREAD_SAFE = 1). This function returns an object that holds a lock for this StaticObject that will release its lock upon destruction. This call will block until the lock is available. */ static LockGuard lock() { #if CEREAL_THREAD_SAFE static std::mutex instanceMutex; return LockGuard{instanceMutex}; #else return LockGuard{}; #endif } private: static T & instance; }; template T & StaticObject::instance = StaticObject::create(); } // namespace detail } // namespace cereal #endif // CEREAL_DETAILS_STATIC_OBJECT_HPP_ blockattack-game-2.5.0/source/code/Libs/include/cereal/details/traits.hpp000066400000000000000000002730271347224572500263620ustar00rootroot00000000000000/*! \file traits.hpp \brief Internal type trait support \ingroup Internal */ /* Copyright (c) 2014, Randolph Voorhies, Shane Grant All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * 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. * Neither the name of cereal nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "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 RANDOLPH VOORHIES OR SHANE GRANT 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. */ #ifndef CEREAL_DETAILS_TRAITS_HPP_ #define CEREAL_DETAILS_TRAITS_HPP_ #ifndef __clang__ #if (__GNUC__ == 4 && __GNUC_MINOR__ <= 7) #define CEREAL_OLDER_GCC #endif // gcc 4.7 or earlier #endif // __clang__ #include #include #include "cereal/macros.hpp" #include "cereal/access.hpp" namespace cereal { namespace traits { using yes = std::true_type; using no = std::false_type; namespace detail { // ###################################################################### //! Used to delay a static_assert until template instantiation template struct delay_static_assert : std::false_type {}; // ###################################################################### // SFINAE Helpers #ifdef CEREAL_OLDER_GCC // when VS supports better SFINAE, we can use this as the default template struct Void { typedef void type; }; #endif // CEREAL_OLDER_GCC //! Return type for SFINAE Enablers enum class sfinae {}; // ###################################################################### // Helper functionality for boolean integral constants and Enable/DisableIf template struct meta_bool_and : std::integral_constant::value> {}; template struct meta_bool_and : std::integral_constant {}; template struct meta_bool_or : std::integral_constant::value> {}; template struct meta_bool_or : std::integral_constant {}; // workaround needed due to bug in MSVC 2013, see // http://connect.microsoft.com/VisualStudio/feedback/details/800231/c-11-alias-template-issue template struct EnableIfHelper : std::enable_if::value, sfinae> {}; template struct DisableIfHelper : std::enable_if::value, sfinae> {}; } // namespace detail //! Used as the default value for EnableIf and DisableIf template parameters /*! @relates EnableIf @relates DisableIf */ static const detail::sfinae sfinae = {}; // ###################################################################### //! Provides a way to enable a function if conditions are met /*! This is intended to be used in a near identical fashion to std::enable_if while being significantly easier to read at the cost of not allowing for as complicated of a condition. This will compile (allow the function) if every condition evaluates to true. at compile time. This should be used with SFINAE to ensure that at least one other candidate function works when one fails due to an EnableIf. This should be used as the las template parameter to a function as an unnamed parameter with a default value of cereal::traits::sfinae: @code{cpp} // using by making the last template argument variadic template ::value> = sfinae> void func(T t ); @endcode Note that this performs a logical AND of all conditions, so you will need to construct more complicated requirements with this fact in mind. @relates DisableIf @relates sfinae @tparam Conditions The conditions which will be logically ANDed to enable the function. */ template using EnableIf = typename detail::EnableIfHelper::type; // ###################################################################### //! Provides a way to disable a function if conditions are met /*! This is intended to be used in a near identical fashion to std::enable_if while being significantly easier to read at the cost of not allowing for as complicated of a condition. This will compile (allow the function) if every condition evaluates to false. This should be used with SFINAE to ensure that at least one other candidate function works when one fails due to a DisableIf. This should be used as the las template parameter to a function as an unnamed parameter with a default value of cereal::traits::sfinae: @code{cpp} // using by making the last template argument variadic template ::value> = sfinae> void func(T t ); @endcode This is often used in conjunction with EnableIf to form an enable/disable pair of overloads. Note that this performs a logical AND of all conditions, so you will need to construct more complicated requirements with this fact in mind. If all conditions hold, the function will be disabled. @relates EnableIf @relates sfinae @tparam Conditions The conditions which will be logically ANDed to disable the function. */ template using DisableIf = typename detail::DisableIfHelper::type; // ###################################################################### namespace detail { template struct get_output_from_input : no { static_assert( detail::delay_static_assert::value, "Could not find an associated output archive for input archive." ); }; template struct get_input_from_output : no { static_assert( detail::delay_static_assert::value, "Could not find an associated input archive for output archive." ); }; } //! Sets up traits that relate an input archive to an output archive #define CEREAL_SETUP_ARCHIVE_TRAITS(InputArchive, OutputArchive) \ namespace cereal { namespace traits { namespace detail { \ template <> struct get_output_from_input \ { using type = OutputArchive; }; \ template <> struct get_input_from_output \ { using type = InputArchive; }; } } } /* end namespaces */ // ###################################################################### //! Used to convert a MAKE_HAS_XXX macro into a versioned variant #define CEREAL_MAKE_VERSIONED_TEST ,0 // ###################################################################### //! Creates a test for whether a non const member function exists /*! This creates a class derived from std::integral_constant that will be true if the type has the proper member function for the given archive. @param name The name of the function to test for (e.g. serialize, load, save) @param test_name The name to give the test for the function being tested for (e.g. serialize, versioned_serialize) @param versioned Either blank or the macro CEREAL_MAKE_VERSIONED_TEST */ #ifdef CEREAL_OLDER_GCC #define CEREAL_MAKE_HAS_MEMBER_TEST(name, test_name, versioned) \ template \ struct has_member_##test_name : no {}; \ template \ struct has_member_##test_name(), std::declval() versioned ) ) >::type> : yes {} #else // NOT CEREAL_OLDER_GCC #define CEREAL_MAKE_HAS_MEMBER_TEST(name, test_name, versioned) \ namespace detail \ { \ template \ struct has_member_##name##_##versioned##_impl \ { \ template \ static auto test(int) -> decltype( cereal::access::member_##name( std::declval(), std::declval() versioned ), yes()); \ template \ static no test(...); \ static const bool value = std::is_same(0)), yes>::value; \ }; \ } /* end namespace detail */ \ template \ struct has_member_##test_name : std::integral_constant::value> {} #endif // NOT CEREAL_OLDER_GCC // ###################################################################### //! Creates a test for whether a non const non-member function exists /*! This creates a class derived from std::integral_constant that will be true if the type has the proper non-member function for the given archive. */ #define CEREAL_MAKE_HAS_NON_MEMBER_TEST(test_name, func, versioned) \ namespace detail \ { \ template \ struct has_non_member_##test_name##_impl \ { \ template \ static auto test(int) -> decltype( func( std::declval(), std::declval() versioned ), yes()); \ template \ static no test( ... ); \ static const bool value = std::is_same( 0 ) ), yes>::value; \ }; \ } /* end namespace detail */ \ template \ struct has_non_member_##test_name : std::integral_constant::value> {} // ###################################################################### // Member Serialize CEREAL_MAKE_HAS_MEMBER_TEST(serialize, serialize,); // ###################################################################### // Member Serialize (versioned) CEREAL_MAKE_HAS_MEMBER_TEST(serialize, versioned_serialize, CEREAL_MAKE_VERSIONED_TEST); // ###################################################################### // Non Member Serialize CEREAL_MAKE_HAS_NON_MEMBER_TEST(serialize, CEREAL_SERIALIZE_FUNCTION_NAME,); // ###################################################################### // Non Member Serialize (versioned) CEREAL_MAKE_HAS_NON_MEMBER_TEST(versioned_serialize, CEREAL_SERIALIZE_FUNCTION_NAME, CEREAL_MAKE_VERSIONED_TEST); // ###################################################################### // Member Load CEREAL_MAKE_HAS_MEMBER_TEST(load, load,); // ###################################################################### // Member Load (versioned) CEREAL_MAKE_HAS_MEMBER_TEST(load, versioned_load, CEREAL_MAKE_VERSIONED_TEST); // ###################################################################### // Non Member Load CEREAL_MAKE_HAS_NON_MEMBER_TEST(load, CEREAL_LOAD_FUNCTION_NAME,); // ###################################################################### // Non Member Load (versioned) CEREAL_MAKE_HAS_NON_MEMBER_TEST(versioned_load, CEREAL_LOAD_FUNCTION_NAME, CEREAL_MAKE_VERSIONED_TEST); // ###################################################################### #undef CEREAL_MAKE_HAS_NON_MEMBER_TEST #undef CEREAL_MAKE_HAS_MEMBER_TEST // ###################################################################### //! Creates a test for whether a member save function exists /*! This creates a class derived from std::integral_constant that will be true if the type has the proper member function for the given archive. @param test_name The name to give the test (e.g. save or versioned_save) @param versioned Either blank or the macro CEREAL_MAKE_VERSIONED_TEST */ #ifdef CEREAL_OLDER_GCC #define CEREAL_MAKE_HAS_MEMBER_SAVE_IMPL(test_name, versioned) \ namespace detail \ { \ template \ struct has_member_##test_name##_impl \ { \ template struct test : no {}; \ template \ struct test(), \ std::declval() versioned ) ) >::type> : yes {}; \ static const bool value = test(); \ \ template struct test2 : no {}; \ template \ struct test2(), \ std::declval::type&>() versioned ) ) >::type> : yes {}; \ static const bool not_const_type = test2(); \ }; \ } /* end namespace detail */ #else /* NOT CEREAL_OLDER_GCC =================================== */ #define CEREAL_MAKE_HAS_MEMBER_SAVE_IMPL(test_name, versioned) \ namespace detail \ { \ template \ struct has_member_##test_name##_impl \ { \ template \ static auto test(int) -> decltype( cereal::access::member_save( std::declval(), \ std::declval() versioned ), yes()); \ template static no test(...); \ static const bool value = std::is_same(0)), yes>::value; \ \ template \ static auto test2(int) -> decltype( cereal::access::member_save_non_const( \ std::declval(), \ std::declval::type&>() versioned ), yes()); \ template static no test2(...); \ static const bool not_const_type = std::is_same(0)), yes>::value; \ }; \ } /* end namespace detail */ #endif /* NOT CEREAL_OLDER_GCC */ // ###################################################################### // Member Save CEREAL_MAKE_HAS_MEMBER_SAVE_IMPL(save, ) template struct has_member_save : std::integral_constant::value> { typedef typename detail::has_member_save_impl check; static_assert( check::value || !check::not_const_type, "cereal detected a non-const save. \n " "save member functions must always be const" ); }; // ###################################################################### // Member Save (versioned) CEREAL_MAKE_HAS_MEMBER_SAVE_IMPL(versioned_save, CEREAL_MAKE_VERSIONED_TEST) template struct has_member_versioned_save : std::integral_constant::value> { typedef typename detail::has_member_versioned_save_impl check; static_assert( check::value || !check::not_const_type, "cereal detected a versioned non-const save. \n " "save member functions must always be const" ); }; // ###################################################################### #undef CEREAL_MAKE_HAS_MEMBER_SAVE_IMPL // ###################################################################### //! Creates a test for whether a non-member save function exists /*! This creates a class derived from std::integral_constant that will be true if the type has the proper non-member function for the given archive. @param test_name The name to give the test (e.g. save or versioned_save) @param versioned Either blank or the macro CEREAL_MAKE_VERSIONED_TEST */ #define CEREAL_MAKE_HAS_NON_MEMBER_SAVE_TEST(test_name, versioned) \ namespace detail \ { \ template \ struct has_non_member_##test_name##_impl \ { \ template \ static auto test(int) -> decltype( CEREAL_SAVE_FUNCTION_NAME( \ std::declval(), \ std::declval() versioned ), yes()); \ template static no test(...); \ static const bool value = std::is_same(0)), yes>::value; \ \ template \ static auto test2(int) -> decltype( CEREAL_SAVE_FUNCTION_NAME( \ std::declval(), \ std::declval::type&>() versioned ), yes()); \ template static no test2(...); \ static const bool not_const_type = std::is_same(0)), yes>::value; \ }; \ } /* end namespace detail */ \ \ template \ struct has_non_member_##test_name : std::integral_constant::value> \ { \ using check = typename detail::has_non_member_##test_name##_impl; \ static_assert( check::value || !check::not_const_type, \ "cereal detected a non-const type parameter in non-member " #test_name ". \n " \ #test_name " non-member functions must always pass their types as const" ); \ }; // ###################################################################### // Non Member Save CEREAL_MAKE_HAS_NON_MEMBER_SAVE_TEST(save, ) // ###################################################################### // Non Member Save (versioned) CEREAL_MAKE_HAS_NON_MEMBER_SAVE_TEST(versioned_save, CEREAL_MAKE_VERSIONED_TEST) // ###################################################################### #undef CEREAL_MAKE_HAS_NON_MEMBER_SAVE_TEST // ###################################################################### // Minimal Utilities namespace detail { // Determines if the provided type is an std::string template struct is_string : std::false_type {}; template struct is_string> : std::true_type {}; } // Determines if the type is valid for use with a minimal serialize function template struct is_minimal_type : std::integral_constant::value || std::is_arithmetic::value> {}; // ###################################################################### //! Creates implementation details for whether a member save_minimal function exists /*! This creates a class derived from std::integral_constant that will be true if the type has the proper member function for the given archive. @param test_name The name to give the test (e.g. save_minimal or versioned_save_minimal) @param versioned Either blank or the macro CEREAL_MAKE_VERSIONED_TEST */ #ifdef CEREAL_OLDER_GCC #define CEREAL_MAKE_HAS_MEMBER_SAVE_MINIMAL_IMPL(test_name, versioned) \ namespace detail \ { \ template \ struct has_member_##test_name##_impl \ { \ template struct test : no {}; \ template \ struct test(), \ std::declval() versioned ) ) >::type> : yes {}; \ \ static const bool value = test(); \ \ template struct test2 : no {}; \ template \ struct test2(), \ std::declval::type&>() versioned ) ) >::type> : yes {}; \ static const bool not_const_type = test2(); \ \ static const bool valid = value || !not_const_type; \ }; \ } /* end namespace detail */ #else /* NOT CEREAL_OLDER_GCC =================================== */ #define CEREAL_MAKE_HAS_MEMBER_SAVE_MINIMAL_IMPL(test_name, versioned) \ namespace detail \ { \ template \ struct has_member_##test_name##_impl \ { \ template \ static auto test(int) -> decltype( cereal::access::member_save_minimal( \ std::declval(), \ std::declval() versioned ), yes()); \ template static no test(...); \ static const bool value = std::is_same(0)), yes>::value; \ \ template \ static auto test2(int) -> decltype( cereal::access::member_save_minimal_non_const( \ std::declval(), \ std::declval::type&>() versioned ), yes()); \ template static no test2(...); \ static const bool not_const_type = std::is_same(0)), yes>::value; \ \ static const bool valid = value || !not_const_type; \ }; \ } /* end namespace detail */ #endif // NOT CEREAL_OLDER_GCC // ###################################################################### //! Creates helpers for minimal save functions /*! The get_member_*_type structs allow access to the return type of a save_minimal, assuming that the function actually exists. If the function does not exist, the type will be void. @param test_name The name to give the test (e.g. save_minimal or versioned_save_minimal) @param versioned Either blank or the macro CEREAL_MAKE_VERSIONED_TEST */ #define CEREAL_MAKE_HAS_MEMBER_SAVE_MINIMAL_HELPERS_IMPL(test_name, versioned) \ namespace detail \ { \ template \ struct get_member_##test_name##_type { using type = void; }; \ \ template \ struct get_member_##test_name##_type \ { \ using type = decltype( cereal::access::member_save_minimal( std::declval(), \ std::declval() versioned ) ); \ }; \ } /* end namespace detail */ // ###################################################################### //! Creates a test for whether a member save_minimal function exists /*! This creates a class derived from std::integral_constant that will be true if the type has the proper member function for the given archive. @param test_name The name to give the test (e.g. save_minimal or versioned_save_minimal) */ #define CEREAL_MAKE_HAS_MEMBER_SAVE_MINIMAL_TEST(test_name) \ template \ struct has_member_##test_name : std::integral_constant::value> \ { \ using check = typename detail::has_member_##test_name##_impl; \ static_assert( check::valid, \ "cereal detected a non-const member " #test_name ". \n " \ #test_name " member functions must always be const" ); \ \ using type = typename detail::get_member_##test_name##_type::type; \ static_assert( (check::value && is_minimal_type::value) || !check::value, \ "cereal detected a member " #test_name " with an invalid return type. \n " \ "return type must be arithmetic or string" ); \ }; // ###################################################################### // Member Save Minimal CEREAL_MAKE_HAS_MEMBER_SAVE_MINIMAL_IMPL(save_minimal, ) CEREAL_MAKE_HAS_MEMBER_SAVE_MINIMAL_HELPERS_IMPL(save_minimal, ) CEREAL_MAKE_HAS_MEMBER_SAVE_MINIMAL_TEST(save_minimal) // ###################################################################### // Member Save Minimal (versioned) CEREAL_MAKE_HAS_MEMBER_SAVE_MINIMAL_IMPL(versioned_save_minimal, CEREAL_MAKE_VERSIONED_TEST) CEREAL_MAKE_HAS_MEMBER_SAVE_MINIMAL_HELPERS_IMPL(versioned_save_minimal, CEREAL_MAKE_VERSIONED_TEST) CEREAL_MAKE_HAS_MEMBER_SAVE_MINIMAL_TEST(versioned_save_minimal) // ###################################################################### #undef CEREAL_MAKE_HAS_MEMBER_SAVE_MINIMAL_IMPL #undef CEREAL_MAKE_HAS_MEMBER_SAVE_MINIMAL_HELPERS_IMPL #undef CEREAL_MAKE_HAS_MEMBER_SAVE_MINIMAL_TEST // ###################################################################### //! Creates a test for whether a non-member save_minimal function exists /*! This creates a class derived from std::integral_constant that will be true if the type has the proper member function for the given archive. @param test_name The name to give the test (e.g. save_minimal or versioned_save_minimal) @param versioned Either blank or the macro CEREAL_MAKE_VERSIONED_TEST */ #define CEREAL_MAKE_HAS_NON_MEMBER_SAVE_MINIMAL_TEST(test_name, versioned) \ namespace detail \ { \ template \ struct has_non_member_##test_name##_impl \ { \ template \ static auto test(int) -> decltype( CEREAL_SAVE_MINIMAL_FUNCTION_NAME( \ std::declval(), \ std::declval() versioned ), yes()); \ template static no test(...); \ static const bool value = std::is_same(0)), yes>::value; \ \ template \ static auto test2(int) -> decltype( CEREAL_SAVE_MINIMAL_FUNCTION_NAME( \ std::declval(), \ std::declval::type&>() versioned ), yes()); \ template static no test2(...); \ static const bool not_const_type = std::is_same(0)), yes>::value; \ \ static const bool valid = value || !not_const_type; \ }; \ \ template \ struct get_non_member_##test_name##_type { using type = void; }; \ \ template \ struct get_non_member_##test_name##_type \ { \ using type = decltype( CEREAL_SAVE_MINIMAL_FUNCTION_NAME( std::declval(), \ std::declval() versioned ) ); \ }; \ } /* end namespace detail */ \ \ template \ struct has_non_member_##test_name : std::integral_constant::value> \ { \ using check = typename detail::has_non_member_##test_name##_impl; \ static_assert( check::valid, \ "cereal detected a non-const type parameter in non-member " #test_name ". \n " \ #test_name " non-member functions must always pass their types as const" ); \ \ using type = typename detail::get_non_member_##test_name##_type::type; \ static_assert( (check::value && is_minimal_type::value) || !check::value, \ "cereal detected a non-member " #test_name " with an invalid return type. \n " \ "return type must be arithmetic or string" ); \ }; // ###################################################################### // Non-Member Save Minimal CEREAL_MAKE_HAS_NON_MEMBER_SAVE_MINIMAL_TEST(save_minimal, ) // ###################################################################### // Non-Member Save Minimal (versioned) CEREAL_MAKE_HAS_NON_MEMBER_SAVE_MINIMAL_TEST(versioned_save_minimal, CEREAL_MAKE_VERSIONED_TEST) // ###################################################################### #undef CEREAL_MAKE_HAS_NON_MEMBER_SAVE_MINIMAL_TEST // ###################################################################### // Load Minimal Utilities namespace detail { //! Used to help strip away conversion wrappers /*! If someone writes a non-member load/save minimal function that accepts its parameter as some generic template type and needs to perform trait checks on that type, our NoConvert wrappers will interfere with this. Using the struct strip_minmal, users can strip away our wrappers to get to the underlying type, allowing traits to work properly */ struct NoConvertBase {}; //! A struct that prevents implicit conversion /*! Any type instantiated with this struct will be unable to implicitly convert to another type. Is designed to only allow conversion to Source const &. @tparam Source the type of the original source */ template struct NoConvertConstRef : NoConvertBase { using type = Source; //!< Used to get underlying type easily template ::value>::type> operator Dest () = delete; //! only allow conversion if the types are the same and we are converting into a const reference template ::value>::type> operator Dest const & (); }; //! A struct that prevents implicit conversion /*! Any type instantiated with this struct will be unable to implicitly convert to another type. Is designed to only allow conversion to Source &. @tparam Source the type of the original source */ template struct NoConvertRef : NoConvertBase { using type = Source; //!< Used to get underlying type easily template ::value>::type> operator Dest () = delete; #ifdef __clang__ template ::value>::type> operator Dest const & () = delete; #endif // __clang__ //! only allow conversion if the types are the same and we are converting into a const reference template ::value>::type> operator Dest & (); }; //! A type that can implicitly convert to anything else struct AnyConvert { template operator Dest & (); template operator Dest const & () const; }; } // namespace detail // ###################################################################### //! Creates a test for whether a member load_minimal function exists /*! This creates a class derived from std::integral_constant that will be true if the type has the proper member function for the given archive. Our strategy here is to first check if a function matching the signature more or less exists (allow anything like load_minimal(xxx) using AnyConvert, and then secondly enforce that it has the correct signature using NoConvertConstRef @param test_name The name to give the test (e.g. load_minimal or versioned_load_minimal) @param versioned Either blank or the macro CEREAL_MAKE_VERSIONED_TEST */ #ifdef CEREAL_OLDER_GCC #define CEREAL_MAKE_HAS_MEMBER_LOAD_MINIMAL_IMPL(test_name, versioned) \ namespace detail \ { \ template struct has_member_##test_name##_impl : no {}; \ template \ struct has_member_##test_name##_impl(), \ std::declval(), AnyConvert() versioned ) ) >::type> : yes {}; \ \ template struct has_member_##test_name##_type_impl : no {}; \ template \ struct has_member_##test_name##_type_impl(), \ std::declval(), NoConvertConstRef() versioned ) ) >::type> : yes {}; \ } /* end namespace detail */ #else /* NOT CEREAL_OLDER_GCC =================================== */ #define CEREAL_MAKE_HAS_MEMBER_LOAD_MINIMAL_IMPL(test_name, versioned) \ namespace detail \ { \ template \ struct has_member_##test_name##_impl \ { \ template \ static auto test(int) -> decltype( cereal::access::member_load_minimal( \ std::declval(), \ std::declval(), AnyConvert() versioned ), yes()); \ template static no test(...); \ static const bool value = std::is_same(0)), yes>::value; \ }; \ template \ struct has_member_##test_name##_type_impl \ { \ template \ static auto test(int) -> decltype( cereal::access::member_load_minimal( \ std::declval(), \ std::declval(), NoConvertConstRef() versioned ), yes()); \ template static no test(...); \ static const bool value = std::is_same(0)), yes>::value; \ \ }; \ } /* end namespace detail */ #endif // NOT CEREAL_OLDER_GCC // ###################################################################### //! Creates helpers for minimal load functions /*! The has_member_*_wrapper structs ensure that the load and save types for the requested function type match appropriately. @param load_test_name The name to give the test (e.g. load_minimal or versioned_load_minimal) @param save_test_name The name to give the test (e.g. save_minimal or versioned_save_minimal, should match the load name. @param save_test_prefix The name to give the test (e.g. save_minimal or versioned_save_minimal, should match the load name, without the trailing "_minimal" (e.g. save or versioned_save). Needed because the preprocessor is an abomination. @param versioned Either blank or the macro CEREAL_MAKE_VERSIONED_TEST */ #define CEREAL_MAKE_HAS_MEMBER_LOAD_MINIMAL_HELPERS_IMPL(load_test_name, save_test_name, save_test_prefix, versioned) \ namespace detail \ { \ template \ struct has_member_##load_test_name##_wrapper : std::false_type {}; \ \ template \ struct has_member_##load_test_name##_wrapper \ { \ using AOut = typename detail::get_output_from_input::type; \ \ static_assert( has_member_##save_test_prefix##_minimal::value, \ "cereal detected member " #load_test_name " but no valid member " #save_test_name ". \n " \ "cannot evaluate correctness of " #load_test_name " without valid " #save_test_name "." ); \ \ using SaveType = typename detail::get_member_##save_test_prefix##_minimal_type::type; \ const static bool value = has_member_##load_test_name##_impl::value; \ const static bool valid = has_member_##load_test_name##_type_impl::value; \ \ static_assert( valid || !value, "cereal detected different or invalid types in corresponding member " \ #load_test_name " and " #save_test_name " functions. \n " \ "the paramater to " #load_test_name " must be a constant reference to the type that " \ #save_test_name " returns." ); \ }; \ } /* end namespace detail */ // ###################################################################### //! Creates a test for whether a member load_minimal function exists /*! This creates a class derived from std::integral_constant that will be true if the type has the proper member function for the given archive. @param load_test_name The name to give the test (e.g. load_minimal or versioned_load_minimal) @param load_test_prefix The above parameter minus the trailing "_minimal" */ #define CEREAL_MAKE_HAS_MEMBER_LOAD_MINIMAL_TEST(load_test_name, load_test_prefix) \ template \ struct has_member_##load_test_prefix##_minimal : std::integral_constant::value>::value> {}; // ###################################################################### // Member Load Minimal CEREAL_MAKE_HAS_MEMBER_LOAD_MINIMAL_IMPL(load_minimal, ) CEREAL_MAKE_HAS_MEMBER_LOAD_MINIMAL_HELPERS_IMPL(load_minimal, save_minimal, save, ) CEREAL_MAKE_HAS_MEMBER_LOAD_MINIMAL_TEST(load_minimal, load) // ###################################################################### // Member Load Minimal (versioned) CEREAL_MAKE_HAS_MEMBER_LOAD_MINIMAL_IMPL(versioned_load_minimal, CEREAL_MAKE_VERSIONED_TEST) CEREAL_MAKE_HAS_MEMBER_LOAD_MINIMAL_HELPERS_IMPL(versioned_load_minimal, versioned_save_minimal, versioned_save, CEREAL_MAKE_VERSIONED_TEST) CEREAL_MAKE_HAS_MEMBER_LOAD_MINIMAL_TEST(versioned_load_minimal, versioned_load) // ###################################################################### #undef CEREAL_MAKE_HAS_MEMBER_LOAD_MINIMAL_IMPL #undef CEREAL_MAKE_HAS_MEMBER_LOAD_MINIMAL_HELPERS_IMPL #undef CEREAL_MAKE_HAS_MEMBER_LOAD_MINIMAL_TEST // ###################################################################### // Non-Member Load Minimal namespace detail { #ifdef CEREAL_OLDER_GCC void CEREAL_LOAD_MINIMAL_FUNCTION_NAME(); // prevents nonsense complaining about not finding this void CEREAL_SAVE_MINIMAL_FUNCTION_NAME(); #endif // CEREAL_OLDER_GCC } // namespace detail // ###################################################################### //! Creates a test for whether a non-member load_minimal function exists /*! This creates a class derived from std::integral_constant that will be true if the type has the proper member function for the given archive. See notes from member load_minimal implementation. @param test_name The name to give the test (e.g. load_minimal or versioned_load_minimal) @param save_name The corresponding name the save test would have (e.g. save_minimal or versioned_save_minimal) @param versioned Either blank or the macro CEREAL_MAKE_VERSIONED_TEST */ #define CEREAL_MAKE_HAS_NON_MEMBER_LOAD_MINIMAL_TEST(test_name, save_name, versioned) \ namespace detail \ { \ template \ struct has_non_member_##test_name##_impl \ { \ template \ static auto test(int) -> decltype( CEREAL_LOAD_MINIMAL_FUNCTION_NAME( \ std::declval(), std::declval(), AnyConvert() versioned ), yes() ); \ template static no test( ... ); \ static const bool exists = std::is_same( 0 ) ), yes>::value; \ \ template \ static auto test2(int) -> decltype( CEREAL_LOAD_MINIMAL_FUNCTION_NAME( \ std::declval(), std::declval(), NoConvertConstRef() versioned ), yes() ); \ template static no test2( ... ); \ static const bool valid = std::is_same( 0 ) ), yes>::value; \ \ template \ static auto test3(int) -> decltype( CEREAL_LOAD_MINIMAL_FUNCTION_NAME( \ std::declval(), NoConvertRef(), AnyConvert() versioned ), yes() ); \ template static no test3( ... ); \ static const bool const_valid = std::is_same( 0 ) ), yes>::value; \ }; \ \ template \ struct has_non_member_##test_name##_wrapper : std::false_type {}; \ \ template \ struct has_non_member_##test_name##_wrapper \ { \ using AOut = typename detail::get_output_from_input::type; \ \ static_assert( detail::has_non_member_##save_name##_impl::valid, \ "cereal detected non-member " #test_name " but no valid non-member " #save_name ". \n " \ "cannot evaluate correctness of " #test_name " without valid " #save_name "." ); \ \ using SaveType = typename detail::get_non_member_##save_name##_type::type; \ using check = has_non_member_##test_name##_impl; \ static const bool value = check::exists; \ \ static_assert( check::valid || !check::exists, "cereal detected different types in corresponding non-member " \ #test_name " and " #save_name " functions. \n " \ "the paramater to " #test_name " must be a constant reference to the type that " #save_name " returns." ); \ static_assert( check::const_valid || !check::exists, \ "cereal detected an invalid serialization type parameter in non-member " #test_name ". " \ #test_name " non-member functions must accept their serialization type by non-const reference" ); \ }; \ } /* namespace detail */ \ \ template \ struct has_non_member_##test_name : std::integral_constant::exists>::value> {}; // ###################################################################### // Non-Member Load Minimal CEREAL_MAKE_HAS_NON_MEMBER_LOAD_MINIMAL_TEST(load_minimal, save_minimal, ) // ###################################################################### // Non-Member Load Minimal (versioned) CEREAL_MAKE_HAS_NON_MEMBER_LOAD_MINIMAL_TEST(versioned_load_minimal, versioned_save_minimal, CEREAL_MAKE_VERSIONED_TEST) // ###################################################################### #undef CEREAL_MAKE_HAS_NON_MEMBER_LOAD_MINIMAL_TEST // ###################################################################### //! Member load and construct check template struct has_member_load_and_construct : std::integral_constant( std::declval(), std::declval< ::cereal::construct&>() ) ), void>::value> { }; // ###################################################################### //! Member load and construct check (versioned) template struct has_member_versioned_load_and_construct : std::integral_constant( std::declval(), std::declval< ::cereal::construct&>(), 0 ) ), void>::value> { }; // ###################################################################### //! Creates a test for whether a non-member load_and_construct specialization exists /*! This creates a class derived from std::integral_constant that will be true if the type has the proper non-member function for the given archive. */ #define CEREAL_MAKE_HAS_NON_MEMBER_LOAD_AND_CONSTRUCT_TEST(test_name, versioned) \ namespace detail \ { \ template \ struct has_non_member_##test_name##_impl \ { \ template \ static auto test(int) -> decltype( LoadAndConstruct::load_and_construct( \ std::declval(), std::declval< ::cereal::construct&>() versioned ), yes()); \ template \ static no test( ... ); \ static const bool value = std::is_same( 0 ) ), yes>::value; \ }; \ } /* end namespace detail */ \ template \ struct has_non_member_##test_name : std::integral_constant::value> {}; // ###################################################################### //! Non member load and construct check CEREAL_MAKE_HAS_NON_MEMBER_LOAD_AND_CONSTRUCT_TEST(load_and_construct, ) // ###################################################################### //! Non member load and construct check (versioned) CEREAL_MAKE_HAS_NON_MEMBER_LOAD_AND_CONSTRUCT_TEST(versioned_load_and_construct, CEREAL_MAKE_VERSIONED_TEST) // ###################################################################### //! Has either a member or non member load and construct template struct has_load_and_construct : std::integral_constant::value || has_non_member_load_and_construct::value || has_member_versioned_load_and_construct::value || has_non_member_versioned_load_and_construct::value> { }; // ###################################################################### #undef CEREAL_MAKE_HAS_NON_MEMBER_LOAD_AND_CONSTRUCT_TEST // ###################################################################### // End of serialization existence tests #undef CEREAL_MAKE_VERSIONED_TEST // ###################################################################### template struct has_member_split : std::integral_constant::value && has_member_save::value) || (has_member_versioned_load::value && has_member_versioned_save::value)> {}; // ###################################################################### template struct has_non_member_split : std::integral_constant::value && has_non_member_save::value) || (has_non_member_versioned_load::value && has_non_member_versioned_save::value)> {}; // ###################################################################### template struct has_invalid_output_versioning : std::integral_constant::value && has_member_save::value) || (has_non_member_versioned_save::value && has_non_member_save::value) || (has_member_versioned_serialize::value && has_member_serialize::value) || (has_non_member_versioned_serialize::value && has_non_member_serialize::value) || (has_member_versioned_save_minimal::value && has_member_save_minimal::value) || (has_non_member_versioned_save_minimal::value && has_non_member_save_minimal::value)> {}; // ###################################################################### template struct has_invalid_input_versioning : std::integral_constant::value && has_member_load::value) || (has_non_member_versioned_load::value && has_non_member_load::value) || (has_member_versioned_serialize::value && has_member_serialize::value) || (has_non_member_versioned_serialize::value && has_non_member_serialize::value) || (has_member_versioned_load_minimal::value && has_member_load_minimal::value) || (has_non_member_versioned_load_minimal::value && has_non_member_load_minimal::value)> {}; // ###################################################################### namespace detail { //! Create a test for a cereal::specialization entry #define CEREAL_MAKE_IS_SPECIALIZED_IMPL(name) \ template \ struct is_specialized_##name : std::integral_constant>::value> {} CEREAL_MAKE_IS_SPECIALIZED_IMPL(member_serialize); CEREAL_MAKE_IS_SPECIALIZED_IMPL(member_load_save); CEREAL_MAKE_IS_SPECIALIZED_IMPL(member_load_save_minimal); CEREAL_MAKE_IS_SPECIALIZED_IMPL(non_member_serialize); CEREAL_MAKE_IS_SPECIALIZED_IMPL(non_member_load_save); CEREAL_MAKE_IS_SPECIALIZED_IMPL(non_member_load_save_minimal); #undef CEREAL_MAKE_IS_SPECIALIZED_IMPL //! Number of specializations detected template struct count_specializations : std::integral_constant::value + is_specialized_member_load_save::value + is_specialized_member_load_save_minimal::value + is_specialized_non_member_serialize::value + is_specialized_non_member_load_save::value + is_specialized_non_member_load_save_minimal::value> {}; } // namespace detail //! Check if any specialization exists for a type template struct is_specialized : std::integral_constant::value || detail::is_specialized_member_load_save::value || detail::is_specialized_member_load_save_minimal::value || detail::is_specialized_non_member_serialize::value || detail::is_specialized_non_member_load_save::value || detail::is_specialized_non_member_load_save_minimal::value> { static_assert(detail::count_specializations::value <= 1, "More than one explicit specialization detected for type."); }; //! Create the static assertion for some specialization /*! This assertion will fail if the type is indeed specialized and does not have the appropriate type of serialization functions */ #define CEREAL_MAKE_IS_SPECIALIZED_ASSERT(name, versioned_name, print_name, spec_name) \ static_assert( (is_specialized::value && detail::is_specialized_##spec_name::value && \ (has_##name::value || has_##versioned_name::value)) \ || !(is_specialized::value && detail::is_specialized_##spec_name::value), \ "cereal detected " #print_name " specialization but no " #print_name " serialize function" ) //! Generates a test for specialization for versioned and unversioned functions /*! This creates checks that can be queried to see if a given type of serialization function has been specialized for this type */ #define CEREAL_MAKE_IS_SPECIALIZED(name, versioned_name, spec_name) \ template \ struct is_specialized_##name : std::integral_constant::value && detail::is_specialized_##spec_name::value> \ { CEREAL_MAKE_IS_SPECIALIZED_ASSERT(name, versioned_name, name, spec_name); }; \ template \ struct is_specialized_##versioned_name : std::integral_constant::value && detail::is_specialized_##spec_name::value> \ { CEREAL_MAKE_IS_SPECIALIZED_ASSERT(name, versioned_name, versioned_name, spec_name); } CEREAL_MAKE_IS_SPECIALIZED(member_serialize, member_versioned_serialize, member_serialize); CEREAL_MAKE_IS_SPECIALIZED(non_member_serialize, non_member_versioned_serialize, non_member_serialize); CEREAL_MAKE_IS_SPECIALIZED(member_save, member_versioned_save, member_load_save); CEREAL_MAKE_IS_SPECIALIZED(non_member_save, non_member_versioned_save, non_member_load_save); CEREAL_MAKE_IS_SPECIALIZED(member_load, member_versioned_load, member_load_save); CEREAL_MAKE_IS_SPECIALIZED(non_member_load, non_member_versioned_load, non_member_load_save); CEREAL_MAKE_IS_SPECIALIZED(member_save_minimal, member_versioned_save_minimal, member_load_save_minimal); CEREAL_MAKE_IS_SPECIALIZED(non_member_save_minimal, non_member_versioned_save_minimal, non_member_load_save_minimal); CEREAL_MAKE_IS_SPECIALIZED(member_load_minimal, member_versioned_load_minimal, member_load_save_minimal); CEREAL_MAKE_IS_SPECIALIZED(non_member_load_minimal, non_member_versioned_load_minimal, non_member_load_save_minimal); #undef CEREAL_MAKE_IS_SPECIALIZED_ASSERT #undef CEREAL_MAKE_IS_SPECIALIZED // ###################################################################### // detects if a type has any active minimal output serialization template struct has_minimal_output_serialization : std::integral_constant::value || ((has_member_save_minimal::value || has_non_member_save_minimal::value || has_member_versioned_save_minimal::value || has_non_member_versioned_save_minimal::value) && !(is_specialized_member_serialize::value || is_specialized_member_save::value))> {}; // ###################################################################### // detects if a type has any active minimal input serialization template struct has_minimal_input_serialization : std::integral_constant::value || ((has_member_load_minimal::value || has_non_member_load_minimal::value || has_member_versioned_load_minimal::value || has_non_member_versioned_load_minimal::value) && !(is_specialized_member_serialize::value || is_specialized_member_load::value))> {}; // ###################################################################### namespace detail { //! The number of output serialization functions available /*! If specialization is being used, we'll count only those; otherwise we'll count everything */ template struct count_output_serializers : std::integral_constant::value ? count_specializations::value : has_member_save::value + has_non_member_save::value + has_member_serialize::value + has_non_member_serialize::value + has_member_save_minimal::value + has_non_member_save_minimal::value + /*-versioned---------------------------------------------------------*/ has_member_versioned_save::value + has_non_member_versioned_save::value + has_member_versioned_serialize::value + has_non_member_versioned_serialize::value + has_member_versioned_save_minimal::value + has_non_member_versioned_save_minimal::value> {}; } template struct is_output_serializable : std::integral_constant::value == 1> {}; // ###################################################################### namespace detail { //! The number of input serialization functions available /*! If specialization is being used, we'll count only those; otherwise we'll count everything */ template struct count_input_serializers : std::integral_constant::value ? count_specializations::value : has_member_load::value + has_non_member_load::value + has_member_serialize::value + has_non_member_serialize::value + has_member_load_minimal::value + has_non_member_load_minimal::value + /*-versioned---------------------------------------------------------*/ has_member_versioned_load::value + has_non_member_versioned_load::value + has_member_versioned_serialize::value + has_non_member_versioned_serialize::value + has_member_versioned_load_minimal::value + has_non_member_versioned_load_minimal::value> {}; } template struct is_input_serializable : std::integral_constant::value == 1> {}; // ###################################################################### // Base Class Support namespace detail { struct base_class_id { template base_class_id(T const * const t) : type(typeid(T)), ptr(t), hash(std::hash()(typeid(T)) ^ (std::hash()(t) << 1)) { } bool operator==(base_class_id const & other) const { return (type == other.type) && (ptr == other.ptr); } std::type_index type; void const * ptr; size_t hash; }; struct base_class_id_hash { size_t operator()(base_class_id const & id) const { return id.hash; } }; } // namespace detail namespace detail { //! Common base type for base class casting struct BaseCastBase {}; template struct get_base_class; template class Cast, class Base> struct get_base_class> { using type = Base; }; //! Base class cast, behave as the test template class Test, class Archive, bool IsBaseCast = std::is_base_of::value> struct has_minimal_base_class_serialization_impl : Test::type, Archive> { }; //! Not a base class cast template class Test, class Archive> struct has_minimal_base_class_serialization_impl : std::false_type { }; } //! Checks to see if the base class used in a cast has a minimal serialization /*! @tparam Cast Either base_class or virtual_base_class wrapped type @tparam Test A has_minimal test (for either input or output) @tparam Archive The archive to use with the test */ template class Test, class Archive> struct has_minimal_base_class_serialization : detail::has_minimal_base_class_serialization_impl { }; // ###################################################################### namespace detail { struct shared_from_this_wrapper { template static auto (check)( U const & t ) -> decltype( ::cereal::access::shared_from_this(t), std::true_type() ); static auto (check)( ... ) -> decltype( std::false_type() ); template static auto get( U const & t ) -> decltype( t.shared_from_this() ); }; } //! Determine if T or any base class of T has inherited from std::enable_shared_from_this template struct has_shared_from_this : decltype((detail::shared_from_this_wrapper::check)(std::declval())) { }; //! Get the type of the base class of T which inherited from std::enable_shared_from_this template struct get_shared_from_this_base { private: using PtrType = decltype(detail::shared_from_this_wrapper::get(std::declval())); public: //! The type of the base of T that inherited from std::enable_shared_from_this using type = typename std::decay::type; }; // ###################################################################### //! Extracts the true type from something possibly wrapped in a cereal NoConvert /*! Internally cereal uses some wrapper classes to test the validity of non-member minimal load and save functions. This can interfere with user type traits on templated load and save minimal functions. To get to the correct underlying type, users should use strip_minimal when performing any enable_if type type trait checks. See the enum serialization in types/common.hpp for an example of using this */ template ::value> struct strip_minimal { using type = T; }; //! Specialization for types wrapped in a NoConvert template struct strip_minimal { using type = typename T::type; }; // ###################################################################### //! Determines whether the class T can be default constructed by cereal::access template struct is_default_constructible { #ifdef CEREAL_OLDER_GCC template struct test : no {}; template struct test() ) >::type> : yes {}; static const bool value = test(); #else // NOT CEREAL_OLDER_GCC ========================================= template static auto test(int) -> decltype( cereal::access::construct(), yes()); template static no test(...); static const bool value = std::is_same(0)), yes>::value; #endif // NOT CEREAL_OLDER_GCC }; // ###################################################################### namespace detail { //! Removes all qualifiers and minimal wrappers from an archive template using decay_archive = typename std::decay::type>::type; } //! Checks if the provided archive type is equal to some cereal archive type /*! This automatically does things such as std::decay and removing any other wrappers that may be on the Archive template parameter. Example use: @code{cpp} // example use to disable a serialization function template ::value> = sfinae> void save( Archive & ar, MyType const & mt ); @endcode */ template struct is_same_archive : std::integral_constant, CerealArchiveT>::value> { }; // ###################################################################### //! A macro to use to restrict which types of archives your function will work for. /*! This requires you to have a template class parameter named Archive and replaces the void return type for your function. INTYPE refers to the input archive type you wish to restrict on. OUTTYPE refers to the output archive type you wish to restrict on. For example, if we want to limit a serialize to only work with binary serialization: @code{.cpp} template CEREAL_ARCHIVE_RESTRICT(BinaryInputArchive, BinaryOutputArchive) serialize( Archive & ar, MyCoolType & m ) { ar & m; } @endcode If you need to do more restrictions in your enable_if, you will need to do this by hand. */ #define CEREAL_ARCHIVE_RESTRICT(INTYPE, OUTTYPE) \ typename std::enable_if::value || cereal::traits::is_same_archive::value, void>::type //! Type traits only struct used to mark an archive as human readable (text based) /*! Archives that wish to identify as text based/human readable should inherit from this struct */ struct TextArchive {}; //! Checks if an archive is a text archive (human readable) template struct is_text_archive : std::integral_constant>::value> { }; } // namespace traits // ###################################################################### namespace detail { template ::value, bool MemberVersioned = traits::has_member_versioned_load_and_construct::value, bool NonMember = traits::has_non_member_load_and_construct::value, bool NonMemberVersioned = traits::has_non_member_versioned_load_and_construct::value> struct Construct { static_assert( cereal::traits::detail::delay_static_assert::value, "cereal found more than one compatible load_and_construct function for the provided type and archive combination. \n\n " "Types must either have a member load_and_construct function or a non-member specialization of LoadAndConstruct (you may not mix these). \n " "In addition, you may not mix versioned with non-versioned load_and_construct functions. \n\n " ); static T * load_andor_construct( A & /*ar*/, construct & /*construct*/ ) { return nullptr; } }; // no load and construct case template struct Construct { static_assert( ::cereal::traits::is_default_constructible::value, "Trying to serialize a an object with no default constructor. \n\n " "Types must either be default constructible or define either a member or non member Construct function. \n " "Construct functions generally have the signature: \n\n " "template \n " "static void load_and_construct(Archive & ar, cereal::construct & construct) \n " "{ \n " " var a; \n " " ar( a ) \n " " construct( a ); \n " "} \n\n" ); static T * load_andor_construct() { return ::cereal::access::construct(); } }; // member non-versioned template struct Construct { static void load_andor_construct( A & ar, construct & construct ) { access::load_and_construct( ar, construct ); } }; // member versioned template struct Construct { static void load_andor_construct( A & ar, construct & construct ) { const auto version = ar.template loadClassVersion(); access::load_and_construct( ar, construct, version ); } }; // non-member non-versioned template struct Construct { static void load_andor_construct( A & ar, construct & construct ) { LoadAndConstruct::load_and_construct( ar, construct ); } }; // non-member versioned template struct Construct { static void load_andor_construct( A & ar, construct & construct ) { const auto version = ar.template loadClassVersion(); LoadAndConstruct::load_and_construct( ar, construct, version ); } }; } // namespace detail } // namespace cereal #endif // CEREAL_DETAILS_TRAITS_HPP_ blockattack-game-2.5.0/source/code/Libs/include/cereal/details/util.hpp000066400000000000000000000055631347224572500260270ustar00rootroot00000000000000/*! \file util.hpp \brief Internal misc utilities \ingroup Internal */ /* Copyright (c) 2014, Randolph Voorhies, Shane Grant All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * 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. * Neither the name of cereal nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "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 RANDOLPH VOORHIES OR SHANE GRANT 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. */ #ifndef CEREAL_DETAILS_UTIL_HPP_ #define CEREAL_DETAILS_UTIL_HPP_ #include #include #ifdef _MSC_VER namespace cereal { namespace util { //! Demangles the type encoded in a string /*! @internal */ inline std::string demangle( std::string const & name ) { return name; } //! Gets the demangled name of a type /*! @internal */ template inline std::string demangledName() { return typeid( T ).name(); } } // namespace util } // namespace cereal #else // clang or gcc #include #include namespace cereal { namespace util { //! Demangles the type encoded in a string /*! @internal */ inline std::string demangle(std::string mangledName) { int status = 0; char *demangledName = nullptr; std::size_t len; demangledName = abi::__cxa_demangle(mangledName.c_str(), 0, &len, &status); std::string retName(demangledName); free(demangledName); return retName; } //! Gets the demangled name of a type /*! @internal */ template inline std::string demangledName() { return demangle(typeid(T).name()); } } } // namespace cereal #endif // clang or gcc branch of _MSC_VER #endif // CEREAL_DETAILS_UTIL_HPP_ blockattack-game-2.5.0/source/code/Libs/include/cereal/external/000077500000000000000000000000001347224572500245255ustar00rootroot00000000000000blockattack-game-2.5.0/source/code/Libs/include/cereal/external/base64.hpp000066400000000000000000000103131347224572500263200ustar00rootroot00000000000000/* Copyright (C) 2004-2008 René Nyffenegger This source code is provided 'as-is', without any express or implied warranty. In no event will the author be held liable for any damages arising from the use of this software. Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: 1. The origin of this source code must not be misrepresented; you must not claim that you wrote the original source code. If you use this source code in a product, an acknowledgment in the product documentation would be appreciated but is not required. 2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original source code. 3. This notice may not be removed or altered from any source distribution. René Nyffenegger rene.nyffenegger@adp-gmbh.ch */ #ifndef CEREAL_EXTERNAL_BASE64_HPP_ #define CEREAL_EXTERNAL_BASE64_HPP_ #include namespace cereal { namespace base64 { static const std::string chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" "abcdefghijklmnopqrstuvwxyz" "0123456789+/"; static inline bool is_base64(unsigned char c) { return (isalnum(c) || (c == '+') || (c == '/')); } inline std::string encode(unsigned char const* bytes_to_encode, size_t in_len) { std::string ret; int i = 0; int j = 0; unsigned char char_array_3[3]; unsigned char char_array_4[4]; while (in_len--) { char_array_3[i++] = *(bytes_to_encode++); if (i == 3) { char_array_4[0] = static_cast((char_array_3[0] & 0xfc) >> 2); char_array_4[1] = static_cast( ( ( char_array_3[0] & 0x03 ) << 4 ) + ( ( char_array_3[1] & 0xf0 ) >> 4 ) ); char_array_4[2] = static_cast( ( ( char_array_3[1] & 0x0f ) << 2 ) + ( ( char_array_3[2] & 0xc0 ) >> 6 ) ); char_array_4[3] = static_cast( char_array_3[2] & 0x3f ); for(i = 0; (i <4) ; i++) ret += chars[char_array_4[i]]; i = 0; } } if (i) { for(j = i; j < 3; j++) char_array_3[j] = '\0'; char_array_4[0] = (char_array_3[0] & 0xfc) >> 2; char_array_4[1] = ((char_array_3[0] & 0x03) << 4) + ((char_array_3[1] & 0xf0) >> 4); char_array_4[2] = ((char_array_3[1] & 0x0f) << 2) + ((char_array_3[2] & 0xc0) >> 6); char_array_4[3] = char_array_3[2] & 0x3f; for (j = 0; (j < i + 1); j++) ret += chars[char_array_4[j]]; while((i++ < 3)) ret += '='; } return ret; } inline std::string decode(std::string const& encoded_string) { size_t in_len = encoded_string.size(); size_t i = 0; size_t j = 0; int in_ = 0; unsigned char char_array_4[4], char_array_3[3]; std::string ret; while (in_len-- && ( encoded_string[in_] != '=') && is_base64(encoded_string[in_])) { char_array_4[i++] = encoded_string[in_]; in_++; if (i ==4) { for (i = 0; i <4; i++) char_array_4[i] = static_cast(chars.find( char_array_4[i] )); char_array_3[0] = (char_array_4[0] << 2) + ((char_array_4[1] & 0x30) >> 4); char_array_3[1] = ((char_array_4[1] & 0xf) << 4) + ((char_array_4[2] & 0x3c) >> 2); char_array_3[2] = ((char_array_4[2] & 0x3) << 6) + char_array_4[3]; for (i = 0; (i < 3); i++) ret += char_array_3[i]; i = 0; } } if (i) { for (j = i; j <4; j++) char_array_4[j] = 0; for (j = 0; j <4; j++) char_array_4[j] = static_cast(chars.find( char_array_4[j] )); char_array_3[0] = (char_array_4[0] << 2) + ((char_array_4[1] & 0x30) >> 4); char_array_3[1] = ((char_array_4[1] & 0xf) << 4) + ((char_array_4[2] & 0x3c) >> 2); char_array_3[2] = ((char_array_4[2] & 0x3) << 6) + char_array_4[3]; for (j = 0; (j < i - 1); j++) ret += char_array_3[j]; } return ret; } } // namespace base64 } // namespace cereal #endif // CEREAL_EXTERNAL_BASE64_HPP_ blockattack-game-2.5.0/source/code/Libs/include/cereal/external/rapidjson/000077500000000000000000000000001347224572500265165ustar00rootroot00000000000000blockattack-game-2.5.0/source/code/Libs/include/cereal/external/rapidjson/allocators.h000066400000000000000000000242601347224572500310360ustar00rootroot00000000000000// Tencent is pleased to support the open source community by making RapidJSON available. // // Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. // // Licensed under the MIT License (the "License"); you may not use this file except // in compliance with the License. You may obtain a copy of the License at // // http://opensource.org/licenses/MIT // // Unless required by applicable law or agreed to in writing, software distributed // under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR // CONDITIONS OF ANY KIND, either express or implied. See the License for the // specific language governing permissions and limitations under the License. #ifndef CEREAL_RAPIDJSON_ALLOCATORS_H_ #define CEREAL_RAPIDJSON_ALLOCATORS_H_ #include "rapidjson.h" CEREAL_RAPIDJSON_NAMESPACE_BEGIN /////////////////////////////////////////////////////////////////////////////// // Allocator /*! \class rapidjson::Allocator \brief Concept for allocating, resizing and freeing memory block. Note that Malloc() and Realloc() are non-static but Free() is static. So if an allocator need to support Free(), it needs to put its pointer in the header of memory block. \code concept Allocator { static const bool kNeedFree; //!< Whether this allocator needs to call Free(). // Allocate a memory block. // \param size of the memory block in bytes. // \returns pointer to the memory block. void* Malloc(size_t size); // Resize a memory block. // \param originalPtr The pointer to current memory block. Null pointer is permitted. // \param originalSize The current size in bytes. (Design issue: since some allocator may not book-keep this, explicitly pass to it can save memory.) // \param newSize the new size in bytes. void* Realloc(void* originalPtr, size_t originalSize, size_t newSize); // Free a memory block. // \param pointer to the memory block. Null pointer is permitted. static void Free(void *ptr); }; \endcode */ /////////////////////////////////////////////////////////////////////////////// // CrtAllocator //! C-runtime library allocator. /*! This class is just wrapper for standard C library memory routines. \note implements Allocator concept */ class CrtAllocator { public: static const bool kNeedFree = true; void* Malloc(size_t size) { if (size) // behavior of malloc(0) is implementation defined. return std::malloc(size); else return NULL; // standardize to returning NULL. } void* Realloc(void* originalPtr, size_t originalSize, size_t newSize) { (void)originalSize; if (newSize == 0) { std::free(originalPtr); return NULL; } return std::realloc(originalPtr, newSize); } static void Free(void *ptr) { std::free(ptr); } }; /////////////////////////////////////////////////////////////////////////////// // MemoryPoolAllocator //! Default memory allocator used by the parser and DOM. /*! This allocator allocate memory blocks from pre-allocated memory chunks. It does not free memory blocks. And Realloc() only allocate new memory. The memory chunks are allocated by BaseAllocator, which is CrtAllocator by default. User may also supply a buffer as the first chunk. If the user-buffer is full then additional chunks are allocated by BaseAllocator. The user-buffer is not deallocated by this allocator. \tparam BaseAllocator the allocator type for allocating memory chunks. Default is CrtAllocator. \note implements Allocator concept */ template class MemoryPoolAllocator { public: static const bool kNeedFree = false; //!< Tell users that no need to call Free() with this allocator. (concept Allocator) //! Constructor with chunkSize. /*! \param chunkSize The size of memory chunk. The default is kDefaultChunkSize. \param baseAllocator The allocator for allocating memory chunks. */ MemoryPoolAllocator(size_t chunkSize = kDefaultChunkCapacity, BaseAllocator* baseAllocator = 0) : chunkHead_(0), chunk_capacity_(chunkSize), userBuffer_(0), baseAllocator_(baseAllocator), ownBaseAllocator_(0) { } //! Constructor with user-supplied buffer. /*! The user buffer will be used firstly. When it is full, memory pool allocates new chunk with chunk size. The user buffer will not be deallocated when this allocator is destructed. \param buffer User supplied buffer. \param size Size of the buffer in bytes. It must at least larger than sizeof(ChunkHeader). \param chunkSize The size of memory chunk. The default is kDefaultChunkSize. \param baseAllocator The allocator for allocating memory chunks. */ MemoryPoolAllocator(void *buffer, size_t size, size_t chunkSize = kDefaultChunkCapacity, BaseAllocator* baseAllocator = 0) : chunkHead_(0), chunk_capacity_(chunkSize), userBuffer_(buffer), baseAllocator_(baseAllocator), ownBaseAllocator_(0) { CEREAL_RAPIDJSON_ASSERT(buffer != 0); CEREAL_RAPIDJSON_ASSERT(size > sizeof(ChunkHeader)); chunkHead_ = reinterpret_cast(buffer); chunkHead_->capacity = size - sizeof(ChunkHeader); chunkHead_->size = 0; chunkHead_->next = 0; } //! Destructor. /*! This deallocates all memory chunks, excluding the user-supplied buffer. */ ~MemoryPoolAllocator() { Clear(); CEREAL_RAPIDJSON_DELETE(ownBaseAllocator_); } //! Deallocates all memory chunks, excluding the user-supplied buffer. void Clear() { while (chunkHead_ && chunkHead_ != userBuffer_) { ChunkHeader* next = chunkHead_->next; baseAllocator_->Free(chunkHead_); chunkHead_ = next; } if (chunkHead_ && chunkHead_ == userBuffer_) chunkHead_->size = 0; // Clear user buffer } //! Computes the total capacity of allocated memory chunks. /*! \return total capacity in bytes. */ size_t Capacity() const { size_t capacity = 0; for (ChunkHeader* c = chunkHead_; c != 0; c = c->next) capacity += c->capacity; return capacity; } //! Computes the memory blocks allocated. /*! \return total used bytes. */ size_t Size() const { size_t size = 0; for (ChunkHeader* c = chunkHead_; c != 0; c = c->next) size += c->size; return size; } //! Allocates a memory block. (concept Allocator) void* Malloc(size_t size) { if (!size) return NULL; size = CEREAL_RAPIDJSON_ALIGN(size); if (chunkHead_ == 0 || chunkHead_->size + size > chunkHead_->capacity) if (!AddChunk(chunk_capacity_ > size ? chunk_capacity_ : size)) return NULL; void *buffer = reinterpret_cast(chunkHead_) + CEREAL_RAPIDJSON_ALIGN(sizeof(ChunkHeader)) + chunkHead_->size; chunkHead_->size += size; return buffer; } //! Resizes a memory block (concept Allocator) void* Realloc(void* originalPtr, size_t originalSize, size_t newSize) { if (originalPtr == 0) return Malloc(newSize); if (newSize == 0) return NULL; originalSize = CEREAL_RAPIDJSON_ALIGN(originalSize); newSize = CEREAL_RAPIDJSON_ALIGN(newSize); // Do not shrink if new size is smaller than original if (originalSize >= newSize) return originalPtr; // Simply expand it if it is the last allocation and there is sufficient space if (originalPtr == reinterpret_cast(chunkHead_) + CEREAL_RAPIDJSON_ALIGN(sizeof(ChunkHeader)) + chunkHead_->size - originalSize) { size_t increment = static_cast(newSize - originalSize); if (chunkHead_->size + increment <= chunkHead_->capacity) { chunkHead_->size += increment; return originalPtr; } } // Realloc process: allocate and copy memory, do not free original buffer. if (void* newBuffer = Malloc(newSize)) { if (originalSize) std::memcpy(newBuffer, originalPtr, originalSize); return newBuffer; } else return NULL; } //! Frees a memory block (concept Allocator) static void Free(void *ptr) { (void)ptr; } // Do nothing private: //! Copy constructor is not permitted. MemoryPoolAllocator(const MemoryPoolAllocator& rhs) /* = delete */; //! Copy assignment operator is not permitted. MemoryPoolAllocator& operator=(const MemoryPoolAllocator& rhs) /* = delete */; //! Creates a new chunk. /*! \param capacity Capacity of the chunk in bytes. \return true if success. */ bool AddChunk(size_t capacity) { if (!baseAllocator_) ownBaseAllocator_ = baseAllocator_ = CEREAL_RAPIDJSON_NEW(BaseAllocator()); if (ChunkHeader* chunk = reinterpret_cast(baseAllocator_->Malloc(CEREAL_RAPIDJSON_ALIGN(sizeof(ChunkHeader)) + capacity))) { chunk->capacity = capacity; chunk->size = 0; chunk->next = chunkHead_; chunkHead_ = chunk; return true; } else return false; } static const int kDefaultChunkCapacity = 64 * 1024; //!< Default chunk capacity. //! Chunk header for perpending to each chunk. /*! Chunks are stored as a singly linked list. */ struct ChunkHeader { size_t capacity; //!< Capacity of the chunk in bytes (excluding the header itself). size_t size; //!< Current size of allocated memory in bytes. ChunkHeader *next; //!< Next chunk in the linked list. }; ChunkHeader *chunkHead_; //!< Head of the chunk linked-list. Only the head chunk serves allocation. size_t chunk_capacity_; //!< The minimum capacity of chunk when they are allocated. void *userBuffer_; //!< User supplied buffer. BaseAllocator* baseAllocator_; //!< base allocator for allocating memory chunks. BaseAllocator* ownBaseAllocator_; //!< base allocator created by this object. }; CEREAL_RAPIDJSON_NAMESPACE_END #endif // CEREAL_RAPIDJSON_ENCODINGS_H_ blockattack-game-2.5.0/source/code/Libs/include/cereal/external/rapidjson/document.h000066400000000000000000003410261347224572500305130ustar00rootroot00000000000000// Tencent is pleased to support the open source community by making RapidJSON available. // // Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. // // Licensed under the MIT License (the "License"); you may not use this file except // in compliance with the License. You may obtain a copy of the License at // // http://opensource.org/licenses/MIT // // Unless required by applicable law or agreed to in writing, software distributed // under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR // CONDITIONS OF ANY KIND, either express or implied. See the License for the // specific language governing permissions and limitations under the License. #ifndef CEREAL_RAPIDJSON_DOCUMENT_H_ #define CEREAL_RAPIDJSON_DOCUMENT_H_ /*! \file document.h */ #include "reader.h" #include "internal/meta.h" #include "internal/strfunc.h" #include "memorystream.h" #include "encodedstream.h" #include // placement new #include CEREAL_RAPIDJSON_DIAG_PUSH #ifdef _MSC_VER CEREAL_RAPIDJSON_DIAG_OFF(4127) // conditional expression is constant CEREAL_RAPIDJSON_DIAG_OFF(4244) // conversion from kXxxFlags to 'uint16_t', possible loss of data #endif #ifdef __clang__ CEREAL_RAPIDJSON_DIAG_OFF(padded) CEREAL_RAPIDJSON_DIAG_OFF(switch-enum) CEREAL_RAPIDJSON_DIAG_OFF(c++98-compat) #endif #ifdef __GNUC__ CEREAL_RAPIDJSON_DIAG_OFF(effc++) #if __GNUC__ >= 6 CEREAL_RAPIDJSON_DIAG_OFF(terminate) // ignore throwing CEREAL_RAPIDJSON_ASSERT in CEREAL_RAPIDJSON_NOEXCEPT functions #endif #endif // __GNUC__ #ifndef CEREAL_RAPIDJSON_NOMEMBERITERATORCLASS #include // std::iterator, std::random_access_iterator_tag #endif #if CEREAL_RAPIDJSON_HAS_CXX11_RVALUE_REFS #include // std::move #endif CEREAL_RAPIDJSON_NAMESPACE_BEGIN // Forward declaration. template class GenericValue; template class GenericDocument; //! Name-value pair in a JSON object value. /*! This class was internal to GenericValue. It used to be a inner struct. But a compiler (IBM XL C/C++ for AIX) have reported to have problem with that so it moved as a namespace scope struct. https://code.google.com/p/rapidjson/issues/detail?id=64 */ template struct GenericMember { GenericValue name; //!< name of member (must be a string) GenericValue value; //!< value of member. }; /////////////////////////////////////////////////////////////////////////////// // GenericMemberIterator #ifndef CEREAL_RAPIDJSON_NOMEMBERITERATORCLASS //! (Constant) member iterator for a JSON object value /*! \tparam Const Is this a constant iterator? \tparam Encoding Encoding of the value. (Even non-string values need to have the same encoding in a document) \tparam Allocator Allocator type for allocating memory of object, array and string. This class implements a Random Access Iterator for GenericMember elements of a GenericValue, see ISO/IEC 14882:2003(E) C++ standard, 24.1 [lib.iterator.requirements]. \note This iterator implementation is mainly intended to avoid implicit conversions from iterator values to \c NULL, e.g. from GenericValue::FindMember. \note Define \c CEREAL_RAPIDJSON_NOMEMBERITERATORCLASS to fall back to a pointer-based implementation, if your platform doesn't provide the C++ header. \see GenericMember, GenericValue::MemberIterator, GenericValue::ConstMemberIterator */ template class GenericMemberIterator : public std::iterator >::Type> { friend class GenericValue; template friend class GenericMemberIterator; typedef GenericMember PlainType; typedef typename internal::MaybeAddConst::Type ValueType; typedef std::iterator BaseType; public: //! Iterator type itself typedef GenericMemberIterator Iterator; //! Constant iterator type typedef GenericMemberIterator ConstIterator; //! Non-constant iterator type typedef GenericMemberIterator NonConstIterator; //! Pointer to (const) GenericMember typedef typename BaseType::pointer Pointer; //! Reference to (const) GenericMember typedef typename BaseType::reference Reference; //! Signed integer type (e.g. \c ptrdiff_t) typedef typename BaseType::difference_type DifferenceType; //! Default constructor (singular value) /*! Creates an iterator pointing to no element. \note All operations, except for comparisons, are undefined on such values. */ GenericMemberIterator() : ptr_() {} //! Iterator conversions to more const /*! \param it (Non-const) iterator to copy from Allows the creation of an iterator from another GenericMemberIterator that is "less const". Especially, creating a non-constant iterator from a constant iterator are disabled: \li const -> non-const (not ok) \li const -> const (ok) \li non-const -> const (ok) \li non-const -> non-const (ok) \note If the \c Const template parameter is already \c false, this constructor effectively defines a regular copy-constructor. Otherwise, the copy constructor is implicitly defined. */ GenericMemberIterator(const NonConstIterator & it) : ptr_(it.ptr_) {} Iterator& operator=(const NonConstIterator & it) { ptr_ = it.ptr_; return *this; } //! @name stepping //@{ Iterator& operator++(){ ++ptr_; return *this; } Iterator& operator--(){ --ptr_; return *this; } Iterator operator++(int){ Iterator old(*this); ++ptr_; return old; } Iterator operator--(int){ Iterator old(*this); --ptr_; return old; } //@} //! @name increment/decrement //@{ Iterator operator+(DifferenceType n) const { return Iterator(ptr_+n); } Iterator operator-(DifferenceType n) const { return Iterator(ptr_-n); } Iterator& operator+=(DifferenceType n) { ptr_+=n; return *this; } Iterator& operator-=(DifferenceType n) { ptr_-=n; return *this; } //@} //! @name relations //@{ bool operator==(ConstIterator that) const { return ptr_ == that.ptr_; } bool operator!=(ConstIterator that) const { return ptr_ != that.ptr_; } bool operator<=(ConstIterator that) const { return ptr_ <= that.ptr_; } bool operator>=(ConstIterator that) const { return ptr_ >= that.ptr_; } bool operator< (ConstIterator that) const { return ptr_ < that.ptr_; } bool operator> (ConstIterator that) const { return ptr_ > that.ptr_; } //@} //! @name dereference //@{ Reference operator*() const { return *ptr_; } Pointer operator->() const { return ptr_; } Reference operator[](DifferenceType n) const { return ptr_[n]; } //@} //! Distance DifferenceType operator-(ConstIterator that) const { return ptr_-that.ptr_; } private: //! Internal constructor from plain pointer explicit GenericMemberIterator(Pointer p) : ptr_(p) {} Pointer ptr_; //!< raw pointer }; #else // CEREAL_RAPIDJSON_NOMEMBERITERATORCLASS // class-based member iterator implementation disabled, use plain pointers template struct GenericMemberIterator; //! non-const GenericMemberIterator template struct GenericMemberIterator { //! use plain pointer as iterator type typedef GenericMember* Iterator; }; //! const GenericMemberIterator template struct GenericMemberIterator { //! use plain const pointer as iterator type typedef const GenericMember* Iterator; }; #endif // CEREAL_RAPIDJSON_NOMEMBERITERATORCLASS /////////////////////////////////////////////////////////////////////////////// // GenericStringRef //! Reference to a constant string (not taking a copy) /*! \tparam CharType character type of the string This helper class is used to automatically infer constant string references for string literals, especially from \c const \b (!) character arrays. The main use is for creating JSON string values without copying the source string via an \ref Allocator. This requires that the referenced string pointers have a sufficient lifetime, which exceeds the lifetime of the associated GenericValue. \b Example \code Value v("foo"); // ok, no need to copy & calculate length const char foo[] = "foo"; v.SetString(foo); // ok const char* bar = foo; // Value x(bar); // not ok, can't rely on bar's lifetime Value x(StringRef(bar)); // lifetime explicitly guaranteed by user Value y(StringRef(bar, 3)); // ok, explicitly pass length \endcode \see StringRef, GenericValue::SetString */ template struct GenericStringRef { typedef CharType Ch; //!< character type of the string //! Create string reference from \c const character array #ifndef __clang__ // -Wdocumentation /*! This constructor implicitly creates a constant string reference from a \c const character array. It has better performance than \ref StringRef(const CharType*) by inferring the string \ref length from the array length, and also supports strings containing null characters. \tparam N length of the string, automatically inferred \param str Constant character array, lifetime assumed to be longer than the use of the string in e.g. a GenericValue \post \ref s == str \note Constant complexity. \note There is a hidden, private overload to disallow references to non-const character arrays to be created via this constructor. By this, e.g. function-scope arrays used to be filled via \c snprintf are excluded from consideration. In such cases, the referenced string should be \b copied to the GenericValue instead. */ #endif template GenericStringRef(const CharType (&str)[N]) CEREAL_RAPIDJSON_NOEXCEPT : s(str), length(N-1) {} //! Explicitly create string reference from \c const character pointer #ifndef __clang__ // -Wdocumentation /*! This constructor can be used to \b explicitly create a reference to a constant string pointer. \see StringRef(const CharType*) \param str Constant character pointer, lifetime assumed to be longer than the use of the string in e.g. a GenericValue \post \ref s == str \note There is a hidden, private overload to disallow references to non-const character arrays to be created via this constructor. By this, e.g. function-scope arrays used to be filled via \c snprintf are excluded from consideration. In such cases, the referenced string should be \b copied to the GenericValue instead. */ #endif explicit GenericStringRef(const CharType* str) : s(str), length(internal::StrLen(str)){ CEREAL_RAPIDJSON_ASSERT(s != 0); } //! Create constant string reference from pointer and length #ifndef __clang__ // -Wdocumentation /*! \param str constant string, lifetime assumed to be longer than the use of the string in e.g. a GenericValue \param len length of the string, excluding the trailing NULL terminator \post \ref s == str && \ref length == len \note Constant complexity. */ #endif GenericStringRef(const CharType* str, SizeType len) : s(str), length(len) { CEREAL_RAPIDJSON_ASSERT(s != 0); } GenericStringRef(const GenericStringRef& rhs) : s(rhs.s), length(rhs.length) {} GenericStringRef& operator=(const GenericStringRef& rhs) { s = rhs.s; length = rhs.length; } //! implicit conversion to plain CharType pointer operator const Ch *() const { return s; } const Ch* const s; //!< plain CharType pointer const SizeType length; //!< length of the string (excluding the trailing NULL terminator) private: //! Disallow construction from non-const array template GenericStringRef(CharType (&str)[N]) /* = delete */; }; //! Mark a character pointer as constant string /*! Mark a plain character pointer as a "string literal". This function can be used to avoid copying a character string to be referenced as a value in a JSON GenericValue object, if the string's lifetime is known to be valid long enough. \tparam CharType Character type of the string \param str Constant string, lifetime assumed to be longer than the use of the string in e.g. a GenericValue \return GenericStringRef string reference object \relatesalso GenericStringRef \see GenericValue::GenericValue(StringRefType), GenericValue::operator=(StringRefType), GenericValue::SetString(StringRefType), GenericValue::PushBack(StringRefType, Allocator&), GenericValue::AddMember */ template inline GenericStringRef StringRef(const CharType* str) { return GenericStringRef(str, internal::StrLen(str)); } //! Mark a character pointer as constant string /*! Mark a plain character pointer as a "string literal". This function can be used to avoid copying a character string to be referenced as a value in a JSON GenericValue object, if the string's lifetime is known to be valid long enough. This version has better performance with supplied length, and also supports string containing null characters. \tparam CharType character type of the string \param str Constant string, lifetime assumed to be longer than the use of the string in e.g. a GenericValue \param length The length of source string. \return GenericStringRef string reference object \relatesalso GenericStringRef */ template inline GenericStringRef StringRef(const CharType* str, size_t length) { return GenericStringRef(str, SizeType(length)); } #if CEREAL_RAPIDJSON_HAS_STDSTRING //! Mark a string object as constant string /*! Mark a string object (e.g. \c std::string) as a "string literal". This function can be used to avoid copying a string to be referenced as a value in a JSON GenericValue object, if the string's lifetime is known to be valid long enough. \tparam CharType character type of the string \param str Constant string, lifetime assumed to be longer than the use of the string in e.g. a GenericValue \return GenericStringRef string reference object \relatesalso GenericStringRef \note Requires the definition of the preprocessor symbol \ref CEREAL_RAPIDJSON_HAS_STDSTRING. */ template inline GenericStringRef StringRef(const std::basic_string& str) { return GenericStringRef(str.data(), SizeType(str.size())); } #endif /////////////////////////////////////////////////////////////////////////////// // GenericValue type traits namespace internal { template struct IsGenericValueImpl : FalseType {}; // select candidates according to nested encoding and allocator types template struct IsGenericValueImpl::Type, typename Void::Type> : IsBaseOf, T>::Type {}; // helper to match arbitrary GenericValue instantiations, including derived classes template struct IsGenericValue : IsGenericValueImpl::Type {}; } // namespace internal /////////////////////////////////////////////////////////////////////////////// // TypeHelper namespace internal { template struct TypeHelper {}; template struct TypeHelper { static bool Is(const ValueType& v) { return v.IsBool(); } static bool Get(const ValueType& v) { return v.GetBool(); } static ValueType& Set(ValueType& v, bool data) { return v.SetBool(data); } static ValueType& Set(ValueType& v, bool data, typename ValueType::AllocatorType&) { return v.SetBool(data); } }; template struct TypeHelper { static bool Is(const ValueType& v) { return v.IsInt(); } static int Get(const ValueType& v) { return v.GetInt(); } static ValueType& Set(ValueType& v, int data) { return v.SetInt(data); } static ValueType& Set(ValueType& v, int data, typename ValueType::AllocatorType&) { return v.SetInt(data); } }; template struct TypeHelper { static bool Is(const ValueType& v) { return v.IsUint(); } static unsigned Get(const ValueType& v) { return v.GetUint(); } static ValueType& Set(ValueType& v, unsigned data) { return v.SetUint(data); } static ValueType& Set(ValueType& v, unsigned data, typename ValueType::AllocatorType&) { return v.SetUint(data); } }; template struct TypeHelper { static bool Is(const ValueType& v) { return v.IsInt64(); } static int64_t Get(const ValueType& v) { return v.GetInt64(); } static ValueType& Set(ValueType& v, int64_t data) { return v.SetInt64(data); } static ValueType& Set(ValueType& v, int64_t data, typename ValueType::AllocatorType&) { return v.SetInt64(data); } }; template struct TypeHelper { static bool Is(const ValueType& v) { return v.IsUint64(); } static uint64_t Get(const ValueType& v) { return v.GetUint64(); } static ValueType& Set(ValueType& v, uint64_t data) { return v.SetUint64(data); } static ValueType& Set(ValueType& v, uint64_t data, typename ValueType::AllocatorType&) { return v.SetUint64(data); } }; template struct TypeHelper { static bool Is(const ValueType& v) { return v.IsDouble(); } static double Get(const ValueType& v) { return v.GetDouble(); } static ValueType& Set(ValueType& v, double data) { return v.SetDouble(data); } static ValueType& Set(ValueType& v, double data, typename ValueType::AllocatorType&) { return v.SetDouble(data); } }; template struct TypeHelper { static bool Is(const ValueType& v) { return v.IsFloat(); } static float Get(const ValueType& v) { return v.GetFloat(); } static ValueType& Set(ValueType& v, float data) { return v.SetFloat(data); } static ValueType& Set(ValueType& v, float data, typename ValueType::AllocatorType&) { return v.SetFloat(data); } }; template struct TypeHelper { typedef const typename ValueType::Ch* StringType; static bool Is(const ValueType& v) { return v.IsString(); } static StringType Get(const ValueType& v) { return v.GetString(); } static ValueType& Set(ValueType& v, const StringType data) { return v.SetString(typename ValueType::StringRefType(data)); } static ValueType& Set(ValueType& v, const StringType data, typename ValueType::AllocatorType& a) { return v.SetString(data, a); } }; #if CEREAL_RAPIDJSON_HAS_STDSTRING template struct TypeHelper > { typedef std::basic_string StringType; static bool Is(const ValueType& v) { return v.IsString(); } static StringType Get(const ValueType& v) { return StringType(v.GetString(), v.GetStringLength()); } static ValueType& Set(ValueType& v, const StringType& data, typename ValueType::AllocatorType& a) { return v.SetString(data, a); } }; #endif template struct TypeHelper { typedef typename ValueType::Array ArrayType; static bool Is(const ValueType& v) { return v.IsArray(); } static ArrayType Get(ValueType& v) { return v.GetArray(); } static ValueType& Set(ValueType& v, ArrayType data) { return v = data; } static ValueType& Set(ValueType& v, ArrayType data, typename ValueType::AllocatorType&) { return v = data; } }; template struct TypeHelper { typedef typename ValueType::ConstArray ArrayType; static bool Is(const ValueType& v) { return v.IsArray(); } static ArrayType Get(const ValueType& v) { return v.GetArray(); } }; template struct TypeHelper { typedef typename ValueType::Object ObjectType; static bool Is(const ValueType& v) { return v.IsObject(); } static ObjectType Get(ValueType& v) { return v.GetObject(); } static ValueType& Set(ValueType& v, ObjectType data) { return v = data; } static ValueType& Set(ValueType& v, ObjectType data, typename ValueType::AllocatorType&) { v = data; } }; template struct TypeHelper { typedef typename ValueType::ConstObject ObjectType; static bool Is(const ValueType& v) { return v.IsObject(); } static ObjectType Get(const ValueType& v) { return v.GetObject(); } }; } // namespace internal // Forward declarations template class GenericArray; template class GenericObject; /////////////////////////////////////////////////////////////////////////////// // GenericValue //! Represents a JSON value. Use Value for UTF8 encoding and default allocator. /*! A JSON value can be one of 7 types. This class is a variant type supporting these types. Use the Value if UTF8 and default allocator \tparam Encoding Encoding of the value. (Even non-string values need to have the same encoding in a document) \tparam Allocator Allocator type for allocating memory of object, array and string. */ template > class GenericValue { public: //! Name-value pair in an object. typedef GenericMember Member; typedef Encoding EncodingType; //!< Encoding type from template parameter. typedef Allocator AllocatorType; //!< Allocator type from template parameter. typedef typename Encoding::Ch Ch; //!< Character type derived from Encoding. typedef GenericStringRef StringRefType; //!< Reference to a constant string typedef typename GenericMemberIterator::Iterator MemberIterator; //!< Member iterator for iterating in object. typedef typename GenericMemberIterator::Iterator ConstMemberIterator; //!< Constant member iterator for iterating in object. typedef GenericValue* ValueIterator; //!< Value iterator for iterating in array. typedef const GenericValue* ConstValueIterator; //!< Constant value iterator for iterating in array. typedef GenericValue ValueType; //!< Value type of itself. typedef GenericArray Array; typedef GenericArray ConstArray; typedef GenericObject Object; typedef GenericObject ConstObject; //!@name Constructors and destructor. //@{ //! Default constructor creates a null value. GenericValue() CEREAL_RAPIDJSON_NOEXCEPT : data_() { data_.f.flags = kNullFlag; } #if CEREAL_RAPIDJSON_HAS_CXX11_RVALUE_REFS //! Move constructor in C++11 GenericValue(GenericValue&& rhs) CEREAL_RAPIDJSON_NOEXCEPT : data_(rhs.data_) { rhs.data_.f.flags = kNullFlag; // give up contents } #endif private: //! Copy constructor is not permitted. GenericValue(const GenericValue& rhs); #if CEREAL_RAPIDJSON_HAS_CXX11_RVALUE_REFS //! Moving from a GenericDocument is not permitted. template GenericValue(GenericDocument&& rhs); //! Move assignment from a GenericDocument is not permitted. template GenericValue& operator=(GenericDocument&& rhs); #endif public: //! Constructor with JSON value type. /*! This creates a Value of specified type with default content. \param type Type of the value. \note Default content for number is zero. */ explicit GenericValue(Type type) CEREAL_RAPIDJSON_NOEXCEPT : data_() { static const uint16_t defaultFlags[7] = { kNullFlag, kFalseFlag, kTrueFlag, kObjectFlag, kArrayFlag, kShortStringFlag, kNumberAnyFlag }; CEREAL_RAPIDJSON_ASSERT(type <= kNumberType); data_.f.flags = defaultFlags[type]; // Use ShortString to store empty string. if (type == kStringType) data_.ss.SetLength(0); } //! Explicit copy constructor (with allocator) /*! Creates a copy of a Value by using the given Allocator \tparam SourceAllocator allocator of \c rhs \param rhs Value to copy from (read-only) \param allocator Allocator for allocating copied elements and buffers. Commonly use GenericDocument::GetAllocator(). \see CopyFrom() */ template< typename SourceAllocator > GenericValue(const GenericValue& rhs, Allocator & allocator); //! Constructor for boolean value. /*! \param b Boolean value \note This constructor is limited to \em real boolean values and rejects implicitly converted types like arbitrary pointers. Use an explicit cast to \c bool, if you want to construct a boolean JSON value in such cases. */ #ifndef CEREAL_RAPIDJSON_DOXYGEN_RUNNING // hide SFINAE from Doxygen template explicit GenericValue(T b, CEREAL_RAPIDJSON_ENABLEIF((internal::IsSame))) CEREAL_RAPIDJSON_NOEXCEPT // See #472 #else explicit GenericValue(bool b) CEREAL_RAPIDJSON_NOEXCEPT #endif : data_() { // safe-guard against failing SFINAE CEREAL_RAPIDJSON_STATIC_ASSERT((internal::IsSame::Value)); data_.f.flags = b ? kTrueFlag : kFalseFlag; } //! Constructor for int value. explicit GenericValue(int i) CEREAL_RAPIDJSON_NOEXCEPT : data_() { data_.n.i64 = i; data_.f.flags = (i >= 0) ? (kNumberIntFlag | kUintFlag | kUint64Flag) : kNumberIntFlag; } //! Constructor for unsigned value. explicit GenericValue(unsigned u) CEREAL_RAPIDJSON_NOEXCEPT : data_() { data_.n.u64 = u; data_.f.flags = (u & 0x80000000) ? kNumberUintFlag : (kNumberUintFlag | kIntFlag | kInt64Flag); } //! Constructor for int64_t value. explicit GenericValue(int64_t i64) CEREAL_RAPIDJSON_NOEXCEPT : data_() { data_.n.i64 = i64; data_.f.flags = kNumberInt64Flag; if (i64 >= 0) { data_.f.flags |= kNumberUint64Flag; if (!(static_cast(i64) & CEREAL_RAPIDJSON_UINT64_C2(0xFFFFFFFF, 0x00000000))) data_.f.flags |= kUintFlag; if (!(static_cast(i64) & CEREAL_RAPIDJSON_UINT64_C2(0xFFFFFFFF, 0x80000000))) data_.f.flags |= kIntFlag; } else if (i64 >= static_cast(CEREAL_RAPIDJSON_UINT64_C2(0xFFFFFFFF, 0x80000000))) data_.f.flags |= kIntFlag; } //! Constructor for uint64_t value. explicit GenericValue(uint64_t u64) CEREAL_RAPIDJSON_NOEXCEPT : data_() { data_.n.u64 = u64; data_.f.flags = kNumberUint64Flag; if (!(u64 & CEREAL_RAPIDJSON_UINT64_C2(0x80000000, 0x00000000))) data_.f.flags |= kInt64Flag; if (!(u64 & CEREAL_RAPIDJSON_UINT64_C2(0xFFFFFFFF, 0x00000000))) data_.f.flags |= kUintFlag; if (!(u64 & CEREAL_RAPIDJSON_UINT64_C2(0xFFFFFFFF, 0x80000000))) data_.f.flags |= kIntFlag; } //! Constructor for double value. explicit GenericValue(double d) CEREAL_RAPIDJSON_NOEXCEPT : data_() { data_.n.d = d; data_.f.flags = kNumberDoubleFlag; } //! Constructor for constant string (i.e. do not make a copy of string) GenericValue(const Ch* s, SizeType length) CEREAL_RAPIDJSON_NOEXCEPT : data_() { SetStringRaw(StringRef(s, length)); } //! Constructor for constant string (i.e. do not make a copy of string) explicit GenericValue(StringRefType s) CEREAL_RAPIDJSON_NOEXCEPT : data_() { SetStringRaw(s); } //! Constructor for copy-string (i.e. do make a copy of string) GenericValue(const Ch* s, SizeType length, Allocator& allocator) : data_() { SetStringRaw(StringRef(s, length), allocator); } //! Constructor for copy-string (i.e. do make a copy of string) GenericValue(const Ch*s, Allocator& allocator) : data_() { SetStringRaw(StringRef(s), allocator); } #if CEREAL_RAPIDJSON_HAS_STDSTRING //! Constructor for copy-string from a string object (i.e. do make a copy of string) /*! \note Requires the definition of the preprocessor symbol \ref CEREAL_RAPIDJSON_HAS_STDSTRING. */ GenericValue(const std::basic_string& s, Allocator& allocator) : data_() { SetStringRaw(StringRef(s), allocator); } #endif //! Constructor for Array. /*! \param a An array obtained by \c GetArray(). \note \c Array is always pass-by-value. \note the source array is moved into this value and the sourec array becomes empty. */ GenericValue(Array a) CEREAL_RAPIDJSON_NOEXCEPT : data_(a.value_.data_) { a.value_.data_ = Data(); a.value_.data_.f.flags = kArrayFlag; } //! Constructor for Object. /*! \param o An object obtained by \c GetObject(). \note \c Object is always pass-by-value. \note the source object is moved into this value and the sourec object becomes empty. */ GenericValue(Object o) CEREAL_RAPIDJSON_NOEXCEPT : data_(o.value_.data_) { o.value_.data_ = Data(); o.value_.data_.f.flags = kObjectFlag; } //! Destructor. /*! Need to destruct elements of array, members of object, or copy-string. */ ~GenericValue() { if (Allocator::kNeedFree) { // Shortcut by Allocator's trait switch(data_.f.flags) { case kArrayFlag: { GenericValue* e = GetElementsPointer(); for (GenericValue* v = e; v != e + data_.a.size; ++v) v->~GenericValue(); Allocator::Free(e); } break; case kObjectFlag: for (MemberIterator m = MemberBegin(); m != MemberEnd(); ++m) m->~Member(); Allocator::Free(GetMembersPointer()); break; case kCopyStringFlag: Allocator::Free(const_cast(GetStringPointer())); break; default: break; // Do nothing for other types. } } } //@} //!@name Assignment operators //@{ //! Assignment with move semantics. /*! \param rhs Source of the assignment. It will become a null value after assignment. */ GenericValue& operator=(GenericValue& rhs) CEREAL_RAPIDJSON_NOEXCEPT { CEREAL_RAPIDJSON_ASSERT(this != &rhs); this->~GenericValue(); RawAssign(rhs); return *this; } #if CEREAL_RAPIDJSON_HAS_CXX11_RVALUE_REFS //! Move assignment in C++11 GenericValue& operator=(GenericValue&& rhs) CEREAL_RAPIDJSON_NOEXCEPT { return *this = rhs.Move(); } #endif //! Assignment of constant string reference (no copy) /*! \param str Constant string reference to be assigned \note This overload is needed to avoid clashes with the generic primitive type assignment overload below. \see GenericStringRef, operator=(T) */ GenericValue& operator=(StringRefType str) CEREAL_RAPIDJSON_NOEXCEPT { GenericValue s(str); return *this = s; } //! Assignment with primitive types. /*! \tparam T Either \ref Type, \c int, \c unsigned, \c int64_t, \c uint64_t \param value The value to be assigned. \note The source type \c T explicitly disallows all pointer types, especially (\c const) \ref Ch*. This helps avoiding implicitly referencing character strings with insufficient lifetime, use \ref SetString(const Ch*, Allocator&) (for copying) or \ref StringRef() (to explicitly mark the pointer as constant) instead. All other pointer types would implicitly convert to \c bool, use \ref SetBool() instead. */ template CEREAL_RAPIDJSON_DISABLEIF_RETURN((internal::IsPointer), (GenericValue&)) operator=(T value) { GenericValue v(value); return *this = v; } //! Deep-copy assignment from Value /*! Assigns a \b copy of the Value to the current Value object \tparam SourceAllocator Allocator type of \c rhs \param rhs Value to copy from (read-only) \param allocator Allocator to use for copying */ template GenericValue& CopyFrom(const GenericValue& rhs, Allocator& allocator) { CEREAL_RAPIDJSON_ASSERT(static_cast(this) != static_cast(&rhs)); this->~GenericValue(); new (this) GenericValue(rhs, allocator); return *this; } //! Exchange the contents of this value with those of other. /*! \param other Another value. \note Constant complexity. */ GenericValue& Swap(GenericValue& other) CEREAL_RAPIDJSON_NOEXCEPT { GenericValue temp; temp.RawAssign(*this); RawAssign(other); other.RawAssign(temp); return *this; } //! free-standing swap function helper /*! Helper function to enable support for common swap implementation pattern based on \c std::swap: \code void swap(MyClass& a, MyClass& b) { using std::swap; swap(a.value, b.value); // ... } \endcode \see Swap() */ friend inline void swap(GenericValue& a, GenericValue& b) CEREAL_RAPIDJSON_NOEXCEPT { a.Swap(b); } //! Prepare Value for move semantics /*! \return *this */ GenericValue& Move() CEREAL_RAPIDJSON_NOEXCEPT { return *this; } //@} //!@name Equal-to and not-equal-to operators //@{ //! Equal-to operator /*! \note If an object contains duplicated named member, comparing equality with any object is always \c false. \note Linear time complexity (number of all values in the subtree and total lengths of all strings). */ template bool operator==(const GenericValue& rhs) const { typedef GenericValue RhsType; if (GetType() != rhs.GetType()) return false; switch (GetType()) { case kObjectType: // Warning: O(n^2) inner-loop if (data_.o.size != rhs.data_.o.size) return false; for (ConstMemberIterator lhsMemberItr = MemberBegin(); lhsMemberItr != MemberEnd(); ++lhsMemberItr) { typename RhsType::ConstMemberIterator rhsMemberItr = rhs.FindMember(lhsMemberItr->name); if (rhsMemberItr == rhs.MemberEnd() || lhsMemberItr->value != rhsMemberItr->value) return false; } return true; case kArrayType: if (data_.a.size != rhs.data_.a.size) return false; for (SizeType i = 0; i < data_.a.size; i++) if ((*this)[i] != rhs[i]) return false; return true; case kStringType: return StringEqual(rhs); case kNumberType: if (IsDouble() || rhs.IsDouble()) { double a = GetDouble(); // May convert from integer to double. double b = rhs.GetDouble(); // Ditto return a >= b && a <= b; // Prevent -Wfloat-equal } else return data_.n.u64 == rhs.data_.n.u64; default: return true; } } //! Equal-to operator with const C-string pointer bool operator==(const Ch* rhs) const { return *this == GenericValue(StringRef(rhs)); } #if CEREAL_RAPIDJSON_HAS_STDSTRING //! Equal-to operator with string object /*! \note Requires the definition of the preprocessor symbol \ref CEREAL_RAPIDJSON_HAS_STDSTRING. */ bool operator==(const std::basic_string& rhs) const { return *this == GenericValue(StringRef(rhs)); } #endif //! Equal-to operator with primitive types /*! \tparam T Either \ref Type, \c int, \c unsigned, \c int64_t, \c uint64_t, \c double, \c true, \c false */ template CEREAL_RAPIDJSON_DISABLEIF_RETURN((internal::OrExpr,internal::IsGenericValue >), (bool)) operator==(const T& rhs) const { return *this == GenericValue(rhs); } //! Not-equal-to operator /*! \return !(*this == rhs) */ template bool operator!=(const GenericValue& rhs) const { return !(*this == rhs); } //! Not-equal-to operator with const C-string pointer bool operator!=(const Ch* rhs) const { return !(*this == rhs); } //! Not-equal-to operator with arbitrary types /*! \return !(*this == rhs) */ template CEREAL_RAPIDJSON_DISABLEIF_RETURN((internal::IsGenericValue), (bool)) operator!=(const T& rhs) const { return !(*this == rhs); } //! Equal-to operator with arbitrary types (symmetric version) /*! \return (rhs == lhs) */ template friend CEREAL_RAPIDJSON_DISABLEIF_RETURN((internal::IsGenericValue), (bool)) operator==(const T& lhs, const GenericValue& rhs) { return rhs == lhs; } //! Not-Equal-to operator with arbitrary types (symmetric version) /*! \return !(rhs == lhs) */ template friend CEREAL_RAPIDJSON_DISABLEIF_RETURN((internal::IsGenericValue), (bool)) operator!=(const T& lhs, const GenericValue& rhs) { return !(rhs == lhs); } //@} //!@name Type //@{ Type GetType() const { return static_cast(data_.f.flags & kTypeMask); } bool IsNull() const { return data_.f.flags == kNullFlag; } bool IsFalse() const { return data_.f.flags == kFalseFlag; } bool IsTrue() const { return data_.f.flags == kTrueFlag; } bool IsBool() const { return (data_.f.flags & kBoolFlag) != 0; } bool IsObject() const { return data_.f.flags == kObjectFlag; } bool IsArray() const { return data_.f.flags == kArrayFlag; } bool IsNumber() const { return (data_.f.flags & kNumberFlag) != 0; } bool IsInt() const { return (data_.f.flags & kIntFlag) != 0; } bool IsUint() const { return (data_.f.flags & kUintFlag) != 0; } bool IsInt64() const { return (data_.f.flags & kInt64Flag) != 0; } bool IsUint64() const { return (data_.f.flags & kUint64Flag) != 0; } bool IsDouble() const { return (data_.f.flags & kDoubleFlag) != 0; } bool IsString() const { return (data_.f.flags & kStringFlag) != 0; } // Checks whether a number can be losslessly converted to a double. bool IsLosslessDouble() const { if (!IsNumber()) return false; if (IsUint64()) { uint64_t u = GetUint64(); volatile double d = static_cast(u); return (d >= 0.0) && (d < static_cast(std::numeric_limits::max())) && (u == static_cast(d)); } if (IsInt64()) { int64_t i = GetInt64(); volatile double d = static_cast(i); return (d >= static_cast(std::numeric_limits::min())) && (d < static_cast(std::numeric_limits::max())) && (i == static_cast(d)); } return true; // double, int, uint are always lossless } // Checks whether a number is a float (possible lossy). bool IsFloat() const { if ((data_.f.flags & kDoubleFlag) == 0) return false; double d = GetDouble(); return d >= -3.4028234e38 && d <= 3.4028234e38; } // Checks whether a number can be losslessly converted to a float. bool IsLosslessFloat() const { if (!IsNumber()) return false; double a = GetDouble(); if (a < static_cast(-std::numeric_limits::max()) || a > static_cast(std::numeric_limits::max())) return false; double b = static_cast(static_cast(a)); return a >= b && a <= b; // Prevent -Wfloat-equal } //@} //!@name Null //@{ GenericValue& SetNull() { this->~GenericValue(); new (this) GenericValue(); return *this; } //@} //!@name Bool //@{ bool GetBool() const { CEREAL_RAPIDJSON_ASSERT(IsBool()); return data_.f.flags == kTrueFlag; } //!< Set boolean value /*! \post IsBool() == true */ GenericValue& SetBool(bool b) { this->~GenericValue(); new (this) GenericValue(b); return *this; } //@} //!@name Object //@{ //! Set this value as an empty object. /*! \post IsObject() == true */ GenericValue& SetObject() { this->~GenericValue(); new (this) GenericValue(kObjectType); return *this; } //! Get the number of members in the object. SizeType MemberCount() const { CEREAL_RAPIDJSON_ASSERT(IsObject()); return data_.o.size; } //! Check whether the object is empty. bool ObjectEmpty() const { CEREAL_RAPIDJSON_ASSERT(IsObject()); return data_.o.size == 0; } //! Get a value from an object associated with the name. /*! \pre IsObject() == true \tparam T Either \c Ch or \c const \c Ch (template used for disambiguation with \ref operator[](SizeType)) \note In version 0.1x, if the member is not found, this function returns a null value. This makes issue 7. Since 0.2, if the name is not correct, it will assert. If user is unsure whether a member exists, user should use HasMember() first. A better approach is to use FindMember(). \note Linear time complexity. */ template CEREAL_RAPIDJSON_DISABLEIF_RETURN((internal::NotExpr::Type, Ch> >),(GenericValue&)) operator[](T* name) { GenericValue n(StringRef(name)); return (*this)[n]; } template CEREAL_RAPIDJSON_DISABLEIF_RETURN((internal::NotExpr::Type, Ch> >),(const GenericValue&)) operator[](T* name) const { return const_cast(*this)[name]; } //! Get a value from an object associated with the name. /*! \pre IsObject() == true \tparam SourceAllocator Allocator of the \c name value \note Compared to \ref operator[](T*), this version is faster because it does not need a StrLen(). And it can also handle strings with embedded null characters. \note Linear time complexity. */ template GenericValue& operator[](const GenericValue& name) { MemberIterator member = FindMember(name); if (member != MemberEnd()) return member->value; else { CEREAL_RAPIDJSON_ASSERT(false); // see above note // This will generate -Wexit-time-destructors in clang // static GenericValue NullValue; // return NullValue; // Use static buffer and placement-new to prevent destruction static char buffer[sizeof(GenericValue)]; return *new (buffer) GenericValue(); } } template const GenericValue& operator[](const GenericValue& name) const { return const_cast(*this)[name]; } #if CEREAL_RAPIDJSON_HAS_STDSTRING //! Get a value from an object associated with name (string object). GenericValue& operator[](const std::basic_string& name) { return (*this)[GenericValue(StringRef(name))]; } const GenericValue& operator[](const std::basic_string& name) const { return (*this)[GenericValue(StringRef(name))]; } #endif //! Const member iterator /*! \pre IsObject() == true */ ConstMemberIterator MemberBegin() const { CEREAL_RAPIDJSON_ASSERT(IsObject()); return ConstMemberIterator(GetMembersPointer()); } //! Const \em past-the-end member iterator /*! \pre IsObject() == true */ ConstMemberIterator MemberEnd() const { CEREAL_RAPIDJSON_ASSERT(IsObject()); return ConstMemberIterator(GetMembersPointer() + data_.o.size); } //! Member iterator /*! \pre IsObject() == true */ MemberIterator MemberBegin() { CEREAL_RAPIDJSON_ASSERT(IsObject()); return MemberIterator(GetMembersPointer()); } //! \em Past-the-end member iterator /*! \pre IsObject() == true */ MemberIterator MemberEnd() { CEREAL_RAPIDJSON_ASSERT(IsObject()); return MemberIterator(GetMembersPointer() + data_.o.size); } //! Check whether a member exists in the object. /*! \param name Member name to be searched. \pre IsObject() == true \return Whether a member with that name exists. \note It is better to use FindMember() directly if you need the obtain the value as well. \note Linear time complexity. */ bool HasMember(const Ch* name) const { return FindMember(name) != MemberEnd(); } #if CEREAL_RAPIDJSON_HAS_STDSTRING //! Check whether a member exists in the object with string object. /*! \param name Member name to be searched. \pre IsObject() == true \return Whether a member with that name exists. \note It is better to use FindMember() directly if you need the obtain the value as well. \note Linear time complexity. */ bool HasMember(const std::basic_string& name) const { return FindMember(name) != MemberEnd(); } #endif //! Check whether a member exists in the object with GenericValue name. /*! This version is faster because it does not need a StrLen(). It can also handle string with null character. \param name Member name to be searched. \pre IsObject() == true \return Whether a member with that name exists. \note It is better to use FindMember() directly if you need the obtain the value as well. \note Linear time complexity. */ template bool HasMember(const GenericValue& name) const { return FindMember(name) != MemberEnd(); } //! Find member by name. /*! \param name Member name to be searched. \pre IsObject() == true \return Iterator to member, if it exists. Otherwise returns \ref MemberEnd(). \note Earlier versions of Rapidjson returned a \c NULL pointer, in case the requested member doesn't exist. For consistency with e.g. \c std::map, this has been changed to MemberEnd() now. \note Linear time complexity. */ MemberIterator FindMember(const Ch* name) { GenericValue n(StringRef(name)); return FindMember(n); } ConstMemberIterator FindMember(const Ch* name) const { return const_cast(*this).FindMember(name); } //! Find member by name. /*! This version is faster because it does not need a StrLen(). It can also handle string with null character. \param name Member name to be searched. \pre IsObject() == true \return Iterator to member, if it exists. Otherwise returns \ref MemberEnd(). \note Earlier versions of Rapidjson returned a \c NULL pointer, in case the requested member doesn't exist. For consistency with e.g. \c std::map, this has been changed to MemberEnd() now. \note Linear time complexity. */ template MemberIterator FindMember(const GenericValue& name) { CEREAL_RAPIDJSON_ASSERT(IsObject()); CEREAL_RAPIDJSON_ASSERT(name.IsString()); MemberIterator member = MemberBegin(); for ( ; member != MemberEnd(); ++member) if (name.StringEqual(member->name)) break; return member; } template ConstMemberIterator FindMember(const GenericValue& name) const { return const_cast(*this).FindMember(name); } #if CEREAL_RAPIDJSON_HAS_STDSTRING //! Find member by string object name. /*! \param name Member name to be searched. \pre IsObject() == true \return Iterator to member, if it exists. Otherwise returns \ref MemberEnd(). */ MemberIterator FindMember(const std::basic_string& name) { return FindMember(GenericValue(StringRef(name))); } ConstMemberIterator FindMember(const std::basic_string& name) const { return FindMember(GenericValue(StringRef(name))); } #endif //! Add a member (name-value pair) to the object. /*! \param name A string value as name of member. \param value Value of any type. \param allocator Allocator for reallocating memory. It must be the same one as used before. Commonly use GenericDocument::GetAllocator(). \return The value itself for fluent API. \note The ownership of \c name and \c value will be transferred to this object on success. \pre IsObject() && name.IsString() \post name.IsNull() && value.IsNull() \note Amortized Constant time complexity. */ GenericValue& AddMember(GenericValue& name, GenericValue& value, Allocator& allocator) { CEREAL_RAPIDJSON_ASSERT(IsObject()); CEREAL_RAPIDJSON_ASSERT(name.IsString()); ObjectData& o = data_.o; if (o.size >= o.capacity) { if (o.capacity == 0) { o.capacity = kDefaultObjectCapacity; SetMembersPointer(reinterpret_cast(allocator.Malloc(o.capacity * sizeof(Member)))); } else { SizeType oldCapacity = o.capacity; o.capacity += (oldCapacity + 1) / 2; // grow by factor 1.5 SetMembersPointer(reinterpret_cast(allocator.Realloc(GetMembersPointer(), oldCapacity * sizeof(Member), o.capacity * sizeof(Member)))); } } Member* members = GetMembersPointer(); members[o.size].name.RawAssign(name); members[o.size].value.RawAssign(value); o.size++; return *this; } //! Add a constant string value as member (name-value pair) to the object. /*! \param name A string value as name of member. \param value constant string reference as value of member. \param allocator Allocator for reallocating memory. It must be the same one as used before. Commonly use GenericDocument::GetAllocator(). \return The value itself for fluent API. \pre IsObject() \note This overload is needed to avoid clashes with the generic primitive type AddMember(GenericValue&,T,Allocator&) overload below. \note Amortized Constant time complexity. */ GenericValue& AddMember(GenericValue& name, StringRefType value, Allocator& allocator) { GenericValue v(value); return AddMember(name, v, allocator); } #if CEREAL_RAPIDJSON_HAS_STDSTRING //! Add a string object as member (name-value pair) to the object. /*! \param name A string value as name of member. \param value constant string reference as value of member. \param allocator Allocator for reallocating memory. It must be the same one as used before. Commonly use GenericDocument::GetAllocator(). \return The value itself for fluent API. \pre IsObject() \note This overload is needed to avoid clashes with the generic primitive type AddMember(GenericValue&,T,Allocator&) overload below. \note Amortized Constant time complexity. */ GenericValue& AddMember(GenericValue& name, std::basic_string& value, Allocator& allocator) { GenericValue v(value, allocator); return AddMember(name, v, allocator); } #endif //! Add any primitive value as member (name-value pair) to the object. /*! \tparam T Either \ref Type, \c int, \c unsigned, \c int64_t, \c uint64_t \param name A string value as name of member. \param value Value of primitive type \c T as value of member \param allocator Allocator for reallocating memory. Commonly use GenericDocument::GetAllocator(). \return The value itself for fluent API. \pre IsObject() \note The source type \c T explicitly disallows all pointer types, especially (\c const) \ref Ch*. This helps avoiding implicitly referencing character strings with insufficient lifetime, use \ref AddMember(StringRefType, GenericValue&, Allocator&) or \ref AddMember(StringRefType, StringRefType, Allocator&). All other pointer types would implicitly convert to \c bool, use an explicit cast instead, if needed. \note Amortized Constant time complexity. */ template CEREAL_RAPIDJSON_DISABLEIF_RETURN((internal::OrExpr, internal::IsGenericValue >), (GenericValue&)) AddMember(GenericValue& name, T value, Allocator& allocator) { GenericValue v(value); return AddMember(name, v, allocator); } #if CEREAL_RAPIDJSON_HAS_CXX11_RVALUE_REFS GenericValue& AddMember(GenericValue&& name, GenericValue&& value, Allocator& allocator) { return AddMember(name, value, allocator); } GenericValue& AddMember(GenericValue&& name, GenericValue& value, Allocator& allocator) { return AddMember(name, value, allocator); } GenericValue& AddMember(GenericValue& name, GenericValue&& value, Allocator& allocator) { return AddMember(name, value, allocator); } GenericValue& AddMember(StringRefType name, GenericValue&& value, Allocator& allocator) { GenericValue n(name); return AddMember(n, value, allocator); } #endif // CEREAL_RAPIDJSON_HAS_CXX11_RVALUE_REFS //! Add a member (name-value pair) to the object. /*! \param name A constant string reference as name of member. \param value Value of any type. \param allocator Allocator for reallocating memory. It must be the same one as used before. Commonly use GenericDocument::GetAllocator(). \return The value itself for fluent API. \note The ownership of \c value will be transferred to this object on success. \pre IsObject() \post value.IsNull() \note Amortized Constant time complexity. */ GenericValue& AddMember(StringRefType name, GenericValue& value, Allocator& allocator) { GenericValue n(name); return AddMember(n, value, allocator); } //! Add a constant string value as member (name-value pair) to the object. /*! \param name A constant string reference as name of member. \param value constant string reference as value of member. \param allocator Allocator for reallocating memory. It must be the same one as used before. Commonly use GenericDocument::GetAllocator(). \return The value itself for fluent API. \pre IsObject() \note This overload is needed to avoid clashes with the generic primitive type AddMember(StringRefType,T,Allocator&) overload below. \note Amortized Constant time complexity. */ GenericValue& AddMember(StringRefType name, StringRefType value, Allocator& allocator) { GenericValue v(value); return AddMember(name, v, allocator); } //! Add any primitive value as member (name-value pair) to the object. /*! \tparam T Either \ref Type, \c int, \c unsigned, \c int64_t, \c uint64_t \param name A constant string reference as name of member. \param value Value of primitive type \c T as value of member \param allocator Allocator for reallocating memory. Commonly use GenericDocument::GetAllocator(). \return The value itself for fluent API. \pre IsObject() \note The source type \c T explicitly disallows all pointer types, especially (\c const) \ref Ch*. This helps avoiding implicitly referencing character strings with insufficient lifetime, use \ref AddMember(StringRefType, GenericValue&, Allocator&) or \ref AddMember(StringRefType, StringRefType, Allocator&). All other pointer types would implicitly convert to \c bool, use an explicit cast instead, if needed. \note Amortized Constant time complexity. */ template CEREAL_RAPIDJSON_DISABLEIF_RETURN((internal::OrExpr, internal::IsGenericValue >), (GenericValue&)) AddMember(StringRefType name, T value, Allocator& allocator) { GenericValue n(name); return AddMember(n, value, allocator); } //! Remove all members in the object. /*! This function do not deallocate memory in the object, i.e. the capacity is unchanged. \note Linear time complexity. */ void RemoveAllMembers() { CEREAL_RAPIDJSON_ASSERT(IsObject()); for (MemberIterator m = MemberBegin(); m != MemberEnd(); ++m) m->~Member(); data_.o.size = 0; } //! Remove a member in object by its name. /*! \param name Name of member to be removed. \return Whether the member existed. \note This function may reorder the object members. Use \ref EraseMember(ConstMemberIterator) if you need to preserve the relative order of the remaining members. \note Linear time complexity. */ bool RemoveMember(const Ch* name) { GenericValue n(StringRef(name)); return RemoveMember(n); } #if CEREAL_RAPIDJSON_HAS_STDSTRING bool RemoveMember(const std::basic_string& name) { return RemoveMember(GenericValue(StringRef(name))); } #endif template bool RemoveMember(const GenericValue& name) { MemberIterator m = FindMember(name); if (m != MemberEnd()) { RemoveMember(m); return true; } else return false; } //! Remove a member in object by iterator. /*! \param m member iterator (obtained by FindMember() or MemberBegin()). \return the new iterator after removal. \note This function may reorder the object members. Use \ref EraseMember(ConstMemberIterator) if you need to preserve the relative order of the remaining members. \note Constant time complexity. */ MemberIterator RemoveMember(MemberIterator m) { CEREAL_RAPIDJSON_ASSERT(IsObject()); CEREAL_RAPIDJSON_ASSERT(data_.o.size > 0); CEREAL_RAPIDJSON_ASSERT(GetMembersPointer() != 0); CEREAL_RAPIDJSON_ASSERT(m >= MemberBegin() && m < MemberEnd()); MemberIterator last(GetMembersPointer() + (data_.o.size - 1)); if (data_.o.size > 1 && m != last) *m = *last; // Move the last one to this place else m->~Member(); // Only one left, just destroy --data_.o.size; return m; } //! Remove a member from an object by iterator. /*! \param pos iterator to the member to remove \pre IsObject() == true && \ref MemberBegin() <= \c pos < \ref MemberEnd() \return Iterator following the removed element. If the iterator \c pos refers to the last element, the \ref MemberEnd() iterator is returned. \note This function preserves the relative order of the remaining object members. If you do not need this, use the more efficient \ref RemoveMember(MemberIterator). \note Linear time complexity. */ MemberIterator EraseMember(ConstMemberIterator pos) { return EraseMember(pos, pos +1); } //! Remove members in the range [first, last) from an object. /*! \param first iterator to the first member to remove \param last iterator following the last member to remove \pre IsObject() == true && \ref MemberBegin() <= \c first <= \c last <= \ref MemberEnd() \return Iterator following the last removed element. \note This function preserves the relative order of the remaining object members. \note Linear time complexity. */ MemberIterator EraseMember(ConstMemberIterator first, ConstMemberIterator last) { CEREAL_RAPIDJSON_ASSERT(IsObject()); CEREAL_RAPIDJSON_ASSERT(data_.o.size > 0); CEREAL_RAPIDJSON_ASSERT(GetMembersPointer() != 0); CEREAL_RAPIDJSON_ASSERT(first >= MemberBegin()); CEREAL_RAPIDJSON_ASSERT(first <= last); CEREAL_RAPIDJSON_ASSERT(last <= MemberEnd()); MemberIterator pos = MemberBegin() + (first - MemberBegin()); for (MemberIterator itr = pos; itr != last; ++itr) itr->~Member(); std::memmove(&*pos, &*last, static_cast(MemberEnd() - last) * sizeof(Member)); data_.o.size -= static_cast(last - first); return pos; } //! Erase a member in object by its name. /*! \param name Name of member to be removed. \return Whether the member existed. \note Linear time complexity. */ bool EraseMember(const Ch* name) { GenericValue n(StringRef(name)); return EraseMember(n); } #if CEREAL_RAPIDJSON_HAS_STDSTRING bool EraseMember(const std::basic_string& name) { return EraseMember(GenericValue(StringRef(name))); } #endif template bool EraseMember(const GenericValue& name) { MemberIterator m = FindMember(name); if (m != MemberEnd()) { EraseMember(m); return true; } else return false; } Object GetObject() { CEREAL_RAPIDJSON_ASSERT(IsObject()); return Object(*this); } ConstObject GetObject() const { CEREAL_RAPIDJSON_ASSERT(IsObject()); return ConstObject(*this); } //@} //!@name Array //@{ //! Set this value as an empty array. /*! \post IsArray == true */ GenericValue& SetArray() { this->~GenericValue(); new (this) GenericValue(kArrayType); return *this; } //! Get the number of elements in array. SizeType Size() const { CEREAL_RAPIDJSON_ASSERT(IsArray()); return data_.a.size; } //! Get the capacity of array. SizeType Capacity() const { CEREAL_RAPIDJSON_ASSERT(IsArray()); return data_.a.capacity; } //! Check whether the array is empty. bool Empty() const { CEREAL_RAPIDJSON_ASSERT(IsArray()); return data_.a.size == 0; } //! Remove all elements in the array. /*! This function do not deallocate memory in the array, i.e. the capacity is unchanged. \note Linear time complexity. */ void Clear() { CEREAL_RAPIDJSON_ASSERT(IsArray()); GenericValue* e = GetElementsPointer(); for (GenericValue* v = e; v != e + data_.a.size; ++v) v->~GenericValue(); data_.a.size = 0; } //! Get an element from array by index. /*! \pre IsArray() == true \param index Zero-based index of element. \see operator[](T*) */ GenericValue& operator[](SizeType index) { CEREAL_RAPIDJSON_ASSERT(IsArray()); CEREAL_RAPIDJSON_ASSERT(index < data_.a.size); return GetElementsPointer()[index]; } const GenericValue& operator[](SizeType index) const { return const_cast(*this)[index]; } //! Element iterator /*! \pre IsArray() == true */ ValueIterator Begin() { CEREAL_RAPIDJSON_ASSERT(IsArray()); return GetElementsPointer(); } //! \em Past-the-end element iterator /*! \pre IsArray() == true */ ValueIterator End() { CEREAL_RAPIDJSON_ASSERT(IsArray()); return GetElementsPointer() + data_.a.size; } //! Constant element iterator /*! \pre IsArray() == true */ ConstValueIterator Begin() const { return const_cast(*this).Begin(); } //! Constant \em past-the-end element iterator /*! \pre IsArray() == true */ ConstValueIterator End() const { return const_cast(*this).End(); } //! Request the array to have enough capacity to store elements. /*! \param newCapacity The capacity that the array at least need to have. \param allocator Allocator for reallocating memory. It must be the same one as used before. Commonly use GenericDocument::GetAllocator(). \return The value itself for fluent API. \note Linear time complexity. */ GenericValue& Reserve(SizeType newCapacity, Allocator &allocator) { CEREAL_RAPIDJSON_ASSERT(IsArray()); if (newCapacity > data_.a.capacity) { SetElementsPointer(reinterpret_cast(allocator.Realloc(GetElementsPointer(), data_.a.capacity * sizeof(GenericValue), newCapacity * sizeof(GenericValue)))); data_.a.capacity = newCapacity; } return *this; } //! Append a GenericValue at the end of the array. /*! \param value Value to be appended. \param allocator Allocator for reallocating memory. It must be the same one as used before. Commonly use GenericDocument::GetAllocator(). \pre IsArray() == true \post value.IsNull() == true \return The value itself for fluent API. \note The ownership of \c value will be transferred to this array on success. \note If the number of elements to be appended is known, calls Reserve() once first may be more efficient. \note Amortized constant time complexity. */ GenericValue& PushBack(GenericValue& value, Allocator& allocator) { CEREAL_RAPIDJSON_ASSERT(IsArray()); if (data_.a.size >= data_.a.capacity) Reserve(data_.a.capacity == 0 ? kDefaultArrayCapacity : (data_.a.capacity + (data_.a.capacity + 1) / 2), allocator); GetElementsPointer()[data_.a.size++].RawAssign(value); return *this; } #if CEREAL_RAPIDJSON_HAS_CXX11_RVALUE_REFS GenericValue& PushBack(GenericValue&& value, Allocator& allocator) { return PushBack(value, allocator); } #endif // CEREAL_RAPIDJSON_HAS_CXX11_RVALUE_REFS //! Append a constant string reference at the end of the array. /*! \param value Constant string reference to be appended. \param allocator Allocator for reallocating memory. It must be the same one used previously. Commonly use GenericDocument::GetAllocator(). \pre IsArray() == true \return The value itself for fluent API. \note If the number of elements to be appended is known, calls Reserve() once first may be more efficient. \note Amortized constant time complexity. \see GenericStringRef */ GenericValue& PushBack(StringRefType value, Allocator& allocator) { return (*this).template PushBack(value, allocator); } //! Append a primitive value at the end of the array. /*! \tparam T Either \ref Type, \c int, \c unsigned, \c int64_t, \c uint64_t \param value Value of primitive type T to be appended. \param allocator Allocator for reallocating memory. It must be the same one as used before. Commonly use GenericDocument::GetAllocator(). \pre IsArray() == true \return The value itself for fluent API. \note If the number of elements to be appended is known, calls Reserve() once first may be more efficient. \note The source type \c T explicitly disallows all pointer types, especially (\c const) \ref Ch*. This helps avoiding implicitly referencing character strings with insufficient lifetime, use \ref PushBack(GenericValue&, Allocator&) or \ref PushBack(StringRefType, Allocator&). All other pointer types would implicitly convert to \c bool, use an explicit cast instead, if needed. \note Amortized constant time complexity. */ template CEREAL_RAPIDJSON_DISABLEIF_RETURN((internal::OrExpr, internal::IsGenericValue >), (GenericValue&)) PushBack(T value, Allocator& allocator) { GenericValue v(value); return PushBack(v, allocator); } //! Remove the last element in the array. /*! \note Constant time complexity. */ GenericValue& PopBack() { CEREAL_RAPIDJSON_ASSERT(IsArray()); CEREAL_RAPIDJSON_ASSERT(!Empty()); GetElementsPointer()[--data_.a.size].~GenericValue(); return *this; } //! Remove an element of array by iterator. /*! \param pos iterator to the element to remove \pre IsArray() == true && \ref Begin() <= \c pos < \ref End() \return Iterator following the removed element. If the iterator pos refers to the last element, the End() iterator is returned. \note Linear time complexity. */ ValueIterator Erase(ConstValueIterator pos) { return Erase(pos, pos + 1); } //! Remove elements in the range [first, last) of the array. /*! \param first iterator to the first element to remove \param last iterator following the last element to remove \pre IsArray() == true && \ref Begin() <= \c first <= \c last <= \ref End() \return Iterator following the last removed element. \note Linear time complexity. */ ValueIterator Erase(ConstValueIterator first, ConstValueIterator last) { CEREAL_RAPIDJSON_ASSERT(IsArray()); CEREAL_RAPIDJSON_ASSERT(data_.a.size > 0); CEREAL_RAPIDJSON_ASSERT(GetElementsPointer() != 0); CEREAL_RAPIDJSON_ASSERT(first >= Begin()); CEREAL_RAPIDJSON_ASSERT(first <= last); CEREAL_RAPIDJSON_ASSERT(last <= End()); ValueIterator pos = Begin() + (first - Begin()); for (ValueIterator itr = pos; itr != last; ++itr) itr->~GenericValue(); std::memmove(pos, last, static_cast(End() - last) * sizeof(GenericValue)); data_.a.size -= static_cast(last - first); return pos; } Array GetArray() { CEREAL_RAPIDJSON_ASSERT(IsArray()); return Array(*this); } ConstArray GetArray() const { CEREAL_RAPIDJSON_ASSERT(IsArray()); return ConstArray(*this); } //@} //!@name Number //@{ int GetInt() const { CEREAL_RAPIDJSON_ASSERT(data_.f.flags & kIntFlag); return data_.n.i.i; } unsigned GetUint() const { CEREAL_RAPIDJSON_ASSERT(data_.f.flags & kUintFlag); return data_.n.u.u; } int64_t GetInt64() const { CEREAL_RAPIDJSON_ASSERT(data_.f.flags & kInt64Flag); return data_.n.i64; } uint64_t GetUint64() const { CEREAL_RAPIDJSON_ASSERT(data_.f.flags & kUint64Flag); return data_.n.u64; } //! Get the value as double type. /*! \note If the value is 64-bit integer type, it may lose precision. Use \c IsLosslessDouble() to check whether the converison is lossless. */ double GetDouble() const { CEREAL_RAPIDJSON_ASSERT(IsNumber()); if ((data_.f.flags & kDoubleFlag) != 0) return data_.n.d; // exact type, no conversion. if ((data_.f.flags & kIntFlag) != 0) return data_.n.i.i; // int -> double if ((data_.f.flags & kUintFlag) != 0) return data_.n.u.u; // unsigned -> double if ((data_.f.flags & kInt64Flag) != 0) return static_cast(data_.n.i64); // int64_t -> double (may lose precision) CEREAL_RAPIDJSON_ASSERT((data_.f.flags & kUint64Flag) != 0); return static_cast(data_.n.u64); // uint64_t -> double (may lose precision) } //! Get the value as float type. /*! \note If the value is 64-bit integer type, it may lose precision. Use \c IsLosslessFloat() to check whether the converison is lossless. */ float GetFloat() const { return static_cast(GetDouble()); } GenericValue& SetInt(int i) { this->~GenericValue(); new (this) GenericValue(i); return *this; } GenericValue& SetUint(unsigned u) { this->~GenericValue(); new (this) GenericValue(u); return *this; } GenericValue& SetInt64(int64_t i64) { this->~GenericValue(); new (this) GenericValue(i64); return *this; } GenericValue& SetUint64(uint64_t u64) { this->~GenericValue(); new (this) GenericValue(u64); return *this; } GenericValue& SetDouble(double d) { this->~GenericValue(); new (this) GenericValue(d); return *this; } GenericValue& SetFloat(float f) { this->~GenericValue(); new (this) GenericValue(f); return *this; } //@} //!@name String //@{ const Ch* GetString() const { CEREAL_RAPIDJSON_ASSERT(IsString()); return (data_.f.flags & kInlineStrFlag) ? data_.ss.str : GetStringPointer(); } //! Get the length of string. /*! Since rapidjson permits "\\u0000" in the json string, strlen(v.GetString()) may not equal to v.GetStringLength(). */ SizeType GetStringLength() const { CEREAL_RAPIDJSON_ASSERT(IsString()); return ((data_.f.flags & kInlineStrFlag) ? (data_.ss.GetLength()) : data_.s.length); } //! Set this value as a string without copying source string. /*! This version has better performance with supplied length, and also support string containing null character. \param s source string pointer. \param length The length of source string, excluding the trailing null terminator. \return The value itself for fluent API. \post IsString() == true && GetString() == s && GetStringLength() == length \see SetString(StringRefType) */ GenericValue& SetString(const Ch* s, SizeType length) { return SetString(StringRef(s, length)); } //! Set this value as a string without copying source string. /*! \param s source string reference \return The value itself for fluent API. \post IsString() == true && GetString() == s && GetStringLength() == s.length */ GenericValue& SetString(StringRefType s) { this->~GenericValue(); SetStringRaw(s); return *this; } //! Set this value as a string by copying from source string. /*! This version has better performance with supplied length, and also support string containing null character. \param s source string. \param length The length of source string, excluding the trailing null terminator. \param allocator Allocator for allocating copied buffer. Commonly use GenericDocument::GetAllocator(). \return The value itself for fluent API. \post IsString() == true && GetString() != s && strcmp(GetString(),s) == 0 && GetStringLength() == length */ GenericValue& SetString(const Ch* s, SizeType length, Allocator& allocator) { this->~GenericValue(); SetStringRaw(StringRef(s, length), allocator); return *this; } //! Set this value as a string by copying from source string. /*! \param s source string. \param allocator Allocator for allocating copied buffer. Commonly use GenericDocument::GetAllocator(). \return The value itself for fluent API. \post IsString() == true && GetString() != s && strcmp(GetString(),s) == 0 && GetStringLength() == length */ GenericValue& SetString(const Ch* s, Allocator& allocator) { return SetString(s, internal::StrLen(s), allocator); } #if CEREAL_RAPIDJSON_HAS_STDSTRING //! Set this value as a string by copying from source string. /*! \param s source string. \param allocator Allocator for allocating copied buffer. Commonly use GenericDocument::GetAllocator(). \return The value itself for fluent API. \post IsString() == true && GetString() != s.data() && strcmp(GetString(),s.data() == 0 && GetStringLength() == s.size() \note Requires the definition of the preprocessor symbol \ref CEREAL_RAPIDJSON_HAS_STDSTRING. */ GenericValue& SetString(const std::basic_string& s, Allocator& allocator) { return SetString(s.data(), SizeType(s.size()), allocator); } #endif //@} //!@name Array //@{ //! Templated version for checking whether this value is type T. /*! \tparam T Either \c bool, \c int, \c unsigned, \c int64_t, \c uint64_t, \c double, \c float, \c const \c char*, \c std::basic_string */ template bool Is() const { return internal::TypeHelper::Is(*this); } template T Get() const { return internal::TypeHelper::Get(*this); } template T Get() { return internal::TypeHelper::Get(*this); } template ValueType& Set(const T& data) { return internal::TypeHelper::Set(*this, data); } template ValueType& Set(const T& data, AllocatorType& allocator) { return internal::TypeHelper::Set(*this, data, allocator); } //@} //! Generate events of this value to a Handler. /*! This function adopts the GoF visitor pattern. Typical usage is to output this JSON value as JSON text via Writer, which is a Handler. It can also be used to deep clone this value via GenericDocument, which is also a Handler. \tparam Handler type of handler. \param handler An object implementing concept Handler. */ template bool Accept(Handler& handler) const { switch(GetType()) { case kNullType: return handler.Null(); case kFalseType: return handler.Bool(false); case kTrueType: return handler.Bool(true); case kObjectType: if (CEREAL_RAPIDJSON_UNLIKELY(!handler.StartObject())) return false; for (ConstMemberIterator m = MemberBegin(); m != MemberEnd(); ++m) { CEREAL_RAPIDJSON_ASSERT(m->name.IsString()); // User may change the type of name by MemberIterator. if (CEREAL_RAPIDJSON_UNLIKELY(!handler.Key(m->name.GetString(), m->name.GetStringLength(), (m->name.data_.f.flags & kCopyFlag) != 0))) return false; if (CEREAL_RAPIDJSON_UNLIKELY(!m->value.Accept(handler))) return false; } return handler.EndObject(data_.o.size); case kArrayType: if (CEREAL_RAPIDJSON_UNLIKELY(!handler.StartArray())) return false; for (const GenericValue* v = Begin(); v != End(); ++v) if (CEREAL_RAPIDJSON_UNLIKELY(!v->Accept(handler))) return false; return handler.EndArray(data_.a.size); case kStringType: return handler.String(GetString(), GetStringLength(), (data_.f.flags & kCopyFlag) != 0); default: CEREAL_RAPIDJSON_ASSERT(GetType() == kNumberType); if (IsDouble()) return handler.Double(data_.n.d); else if (IsInt()) return handler.Int(data_.n.i.i); else if (IsUint()) return handler.Uint(data_.n.u.u); else if (IsInt64()) return handler.Int64(data_.n.i64); else return handler.Uint64(data_.n.u64); } } private: template friend class GenericValue; template friend class GenericDocument; enum { kBoolFlag = 0x0008, kNumberFlag = 0x0010, kIntFlag = 0x0020, kUintFlag = 0x0040, kInt64Flag = 0x0080, kUint64Flag = 0x0100, kDoubleFlag = 0x0200, kStringFlag = 0x0400, kCopyFlag = 0x0800, kInlineStrFlag = 0x1000, // Initial flags of different types. kNullFlag = kNullType, kTrueFlag = kTrueType | kBoolFlag, kFalseFlag = kFalseType | kBoolFlag, kNumberIntFlag = kNumberType | kNumberFlag | kIntFlag | kInt64Flag, kNumberUintFlag = kNumberType | kNumberFlag | kUintFlag | kUint64Flag | kInt64Flag, kNumberInt64Flag = kNumberType | kNumberFlag | kInt64Flag, kNumberUint64Flag = kNumberType | kNumberFlag | kUint64Flag, kNumberDoubleFlag = kNumberType | kNumberFlag | kDoubleFlag, kNumberAnyFlag = kNumberType | kNumberFlag | kIntFlag | kInt64Flag | kUintFlag | kUint64Flag | kDoubleFlag, kConstStringFlag = kStringType | kStringFlag, kCopyStringFlag = kStringType | kStringFlag | kCopyFlag, kShortStringFlag = kStringType | kStringFlag | kCopyFlag | kInlineStrFlag, kObjectFlag = kObjectType, kArrayFlag = kArrayType, kTypeMask = 0x07 }; static const SizeType kDefaultArrayCapacity = 16; static const SizeType kDefaultObjectCapacity = 16; struct Flag { #if CEREAL_RAPIDJSON_48BITPOINTER_OPTIMIZATION char payload[sizeof(SizeType) * 2 + 6]; // 2 x SizeType + lower 48-bit pointer #elif CEREAL_RAPIDJSON_64BIT char payload[sizeof(SizeType) * 2 + sizeof(void*) + 6]; // 6 padding bytes #else char payload[sizeof(SizeType) * 2 + sizeof(void*) + 2]; // 2 padding bytes #endif uint16_t flags; }; struct String { SizeType length; SizeType hashcode; //!< reserved const Ch* str; }; // 12 bytes in 32-bit mode, 16 bytes in 64-bit mode // implementation detail: ShortString can represent zero-terminated strings up to MaxSize chars // (excluding the terminating zero) and store a value to determine the length of the contained // string in the last character str[LenPos] by storing "MaxSize - length" there. If the string // to store has the maximal length of MaxSize then str[LenPos] will be 0 and therefore act as // the string terminator as well. For getting the string length back from that value just use // "MaxSize - str[LenPos]". // This allows to store 13-chars strings in 32-bit mode, 21-chars strings in 64-bit mode, // 13-chars strings for CEREAL_RAPIDJSON_48BITPOINTER_OPTIMIZATION=1 inline (for `UTF8`-encoded strings). struct ShortString { enum { MaxChars = sizeof(static_cast(0)->payload) / sizeof(Ch), MaxSize = MaxChars - 1, LenPos = MaxSize }; Ch str[MaxChars]; inline static bool Usable(SizeType len) { return (MaxSize >= len); } inline void SetLength(SizeType len) { str[LenPos] = static_cast(MaxSize - len); } inline SizeType GetLength() const { return static_cast(MaxSize - str[LenPos]); } }; // at most as many bytes as "String" above => 12 bytes in 32-bit mode, 16 bytes in 64-bit mode // By using proper binary layout, retrieval of different integer types do not need conversions. union Number { #if CEREAL_RAPIDJSON_ENDIAN == CEREAL_RAPIDJSON_LITTLEENDIAN struct I { int i; char padding[4]; }i; struct U { unsigned u; char padding2[4]; }u; #else struct I { char padding[4]; int i; }i; struct U { char padding2[4]; unsigned u; }u; #endif int64_t i64; uint64_t u64; double d; }; // 8 bytes struct ObjectData { SizeType size; SizeType capacity; Member* members; }; // 12 bytes in 32-bit mode, 16 bytes in 64-bit mode struct ArrayData { SizeType size; SizeType capacity; GenericValue* elements; }; // 12 bytes in 32-bit mode, 16 bytes in 64-bit mode union Data { String s; ShortString ss; Number n; ObjectData o; ArrayData a; Flag f; }; // 16 bytes in 32-bit mode, 24 bytes in 64-bit mode, 16 bytes in 64-bit with CEREAL_RAPIDJSON_48BITPOINTER_OPTIMIZATION CEREAL_RAPIDJSON_FORCEINLINE const Ch* GetStringPointer() const { return CEREAL_RAPIDJSON_GETPOINTER(Ch, data_.s.str); } CEREAL_RAPIDJSON_FORCEINLINE const Ch* SetStringPointer(const Ch* str) { return CEREAL_RAPIDJSON_SETPOINTER(Ch, data_.s.str, str); } CEREAL_RAPIDJSON_FORCEINLINE GenericValue* GetElementsPointer() const { return CEREAL_RAPIDJSON_GETPOINTER(GenericValue, data_.a.elements); } CEREAL_RAPIDJSON_FORCEINLINE GenericValue* SetElementsPointer(GenericValue* elements) { return CEREAL_RAPIDJSON_SETPOINTER(GenericValue, data_.a.elements, elements); } CEREAL_RAPIDJSON_FORCEINLINE Member* GetMembersPointer() const { return CEREAL_RAPIDJSON_GETPOINTER(Member, data_.o.members); } CEREAL_RAPIDJSON_FORCEINLINE Member* SetMembersPointer(Member* members) { return CEREAL_RAPIDJSON_SETPOINTER(Member, data_.o.members, members); } // Initialize this value as array with initial data, without calling destructor. void SetArrayRaw(GenericValue* values, SizeType count, Allocator& allocator) { data_.f.flags = kArrayFlag; if (count) { GenericValue* e = static_cast(allocator.Malloc(count * sizeof(GenericValue))); SetElementsPointer(e); std::memcpy(e, values, count * sizeof(GenericValue)); } else SetElementsPointer(0); data_.a.size = data_.a.capacity = count; } //! Initialize this value as object with initial data, without calling destructor. void SetObjectRaw(Member* members, SizeType count, Allocator& allocator) { data_.f.flags = kObjectFlag; if (count) { Member* m = static_cast(allocator.Malloc(count * sizeof(Member))); SetMembersPointer(m); std::memcpy(m, members, count * sizeof(Member)); } else SetMembersPointer(0); data_.o.size = data_.o.capacity = count; } //! Initialize this value as constant string, without calling destructor. void SetStringRaw(StringRefType s) CEREAL_RAPIDJSON_NOEXCEPT { data_.f.flags = kConstStringFlag; SetStringPointer(s); data_.s.length = s.length; } //! Initialize this value as copy string with initial data, without calling destructor. void SetStringRaw(StringRefType s, Allocator& allocator) { Ch* str = 0; if (ShortString::Usable(s.length)) { data_.f.flags = kShortStringFlag; data_.ss.SetLength(s.length); str = data_.ss.str; } else { data_.f.flags = kCopyStringFlag; data_.s.length = s.length; str = static_cast(allocator.Malloc((s.length + 1) * sizeof(Ch))); SetStringPointer(str); } std::memcpy(str, s, s.length * sizeof(Ch)); str[s.length] = '\0'; } //! Assignment without calling destructor void RawAssign(GenericValue& rhs) CEREAL_RAPIDJSON_NOEXCEPT { data_ = rhs.data_; // data_.f.flags = rhs.data_.f.flags; rhs.data_.f.flags = kNullFlag; } template bool StringEqual(const GenericValue& rhs) const { CEREAL_RAPIDJSON_ASSERT(IsString()); CEREAL_RAPIDJSON_ASSERT(rhs.IsString()); const SizeType len1 = GetStringLength(); const SizeType len2 = rhs.GetStringLength(); if(len1 != len2) { return false; } const Ch* const str1 = GetString(); const Ch* const str2 = rhs.GetString(); if(str1 == str2) { return true; } // fast path for constant string return (std::memcmp(str1, str2, sizeof(Ch) * len1) == 0); } Data data_; }; //! GenericValue with UTF8 encoding typedef GenericValue > Value; /////////////////////////////////////////////////////////////////////////////// // GenericDocument //! A document for parsing JSON text as DOM. /*! \note implements Handler concept \tparam Encoding Encoding for both parsing and string storage. \tparam Allocator Allocator for allocating memory for the DOM \tparam StackAllocator Allocator for allocating memory for stack during parsing. \warning Although GenericDocument inherits from GenericValue, the API does \b not provide any virtual functions, especially no virtual destructor. To avoid memory leaks, do not \c delete a GenericDocument object via a pointer to a GenericValue. */ template , typename StackAllocator = CrtAllocator> class GenericDocument : public GenericValue { public: typedef typename Encoding::Ch Ch; //!< Character type derived from Encoding. typedef GenericValue ValueType; //!< Value type of the document. typedef Allocator AllocatorType; //!< Allocator type from template parameter. //! Constructor /*! Creates an empty document of specified type. \param type Mandatory type of object to create. \param allocator Optional allocator for allocating memory. \param stackCapacity Optional initial capacity of stack in bytes. \param stackAllocator Optional allocator for allocating memory for stack. */ explicit GenericDocument(Type type, Allocator* allocator = 0, size_t stackCapacity = kDefaultStackCapacity, StackAllocator* stackAllocator = 0) : GenericValue(type), allocator_(allocator), ownAllocator_(0), stack_(stackAllocator, stackCapacity), parseResult_() { if (!allocator_) ownAllocator_ = allocator_ = CEREAL_RAPIDJSON_NEW(Allocator()); } //! Constructor /*! Creates an empty document which type is Null. \param allocator Optional allocator for allocating memory. \param stackCapacity Optional initial capacity of stack in bytes. \param stackAllocator Optional allocator for allocating memory for stack. */ GenericDocument(Allocator* allocator = 0, size_t stackCapacity = kDefaultStackCapacity, StackAllocator* stackAllocator = 0) : allocator_(allocator), ownAllocator_(0), stack_(stackAllocator, stackCapacity), parseResult_() { if (!allocator_) ownAllocator_ = allocator_ = CEREAL_RAPIDJSON_NEW(Allocator()); } #if CEREAL_RAPIDJSON_HAS_CXX11_RVALUE_REFS //! Move constructor in C++11 GenericDocument(GenericDocument&& rhs) CEREAL_RAPIDJSON_NOEXCEPT : ValueType(std::forward(rhs)), // explicit cast to avoid prohibited move from Document allocator_(rhs.allocator_), ownAllocator_(rhs.ownAllocator_), stack_(std::move(rhs.stack_)), parseResult_(rhs.parseResult_) { rhs.allocator_ = 0; rhs.ownAllocator_ = 0; rhs.parseResult_ = ParseResult(); } #endif ~GenericDocument() { Destroy(); } #if CEREAL_RAPIDJSON_HAS_CXX11_RVALUE_REFS //! Move assignment in C++11 GenericDocument& operator=(GenericDocument&& rhs) CEREAL_RAPIDJSON_NOEXCEPT { // The cast to ValueType is necessary here, because otherwise it would // attempt to call GenericValue's templated assignment operator. ValueType::operator=(std::forward(rhs)); // Calling the destructor here would prematurely call stack_'s destructor Destroy(); allocator_ = rhs.allocator_; ownAllocator_ = rhs.ownAllocator_; stack_ = std::move(rhs.stack_); parseResult_ = rhs.parseResult_; rhs.allocator_ = 0; rhs.ownAllocator_ = 0; rhs.parseResult_ = ParseResult(); return *this; } #endif //! Exchange the contents of this document with those of another. /*! \param rhs Another document. \note Constant complexity. \see GenericValue::Swap */ GenericDocument& Swap(GenericDocument& rhs) CEREAL_RAPIDJSON_NOEXCEPT { ValueType::Swap(rhs); stack_.Swap(rhs.stack_); internal::Swap(allocator_, rhs.allocator_); internal::Swap(ownAllocator_, rhs.ownAllocator_); internal::Swap(parseResult_, rhs.parseResult_); return *this; } //! free-standing swap function helper /*! Helper function to enable support for common swap implementation pattern based on \c std::swap: \code void swap(MyClass& a, MyClass& b) { using std::swap; swap(a.doc, b.doc); // ... } \endcode \see Swap() */ friend inline void swap(GenericDocument& a, GenericDocument& b) CEREAL_RAPIDJSON_NOEXCEPT { a.Swap(b); } //! Populate this document by a generator which produces SAX events. /*! \tparam Generator A functor with bool f(Handler) prototype. \param g Generator functor which sends SAX events to the parameter. \return The document itself for fluent API. */ template GenericDocument& Populate(Generator& g) { ClearStackOnExit scope(*this); if (g(*this)) { CEREAL_RAPIDJSON_ASSERT(stack_.GetSize() == sizeof(ValueType)); // Got one and only one root object ValueType::operator=(*stack_.template Pop(1));// Move value from stack to document } return *this; } //!@name Parse from stream //!@{ //! Parse JSON text from an input stream (with Encoding conversion) /*! \tparam parseFlags Combination of \ref ParseFlag. \tparam SourceEncoding Encoding of input stream \tparam InputStream Type of input stream, implementing Stream concept \param is Input stream to be parsed. \return The document itself for fluent API. */ template GenericDocument& ParseStream(InputStream& is) { GenericReader reader( stack_.HasAllocator() ? &stack_.GetAllocator() : 0); ClearStackOnExit scope(*this); parseResult_ = reader.template Parse(is, *this); if (parseResult_) { CEREAL_RAPIDJSON_ASSERT(stack_.GetSize() == sizeof(ValueType)); // Got one and only one root object ValueType::operator=(*stack_.template Pop(1));// Move value from stack to document } return *this; } //! Parse JSON text from an input stream /*! \tparam parseFlags Combination of \ref ParseFlag. \tparam InputStream Type of input stream, implementing Stream concept \param is Input stream to be parsed. \return The document itself for fluent API. */ template GenericDocument& ParseStream(InputStream& is) { return ParseStream(is); } //! Parse JSON text from an input stream (with \ref kParseDefaultFlags) /*! \tparam InputStream Type of input stream, implementing Stream concept \param is Input stream to be parsed. \return The document itself for fluent API. */ template GenericDocument& ParseStream(InputStream& is) { return ParseStream(is); } //!@} //!@name Parse in-place from mutable string //!@{ //! Parse JSON text from a mutable string /*! \tparam parseFlags Combination of \ref ParseFlag. \param str Mutable zero-terminated string to be parsed. \return The document itself for fluent API. */ template GenericDocument& ParseInsitu(Ch* str) { GenericInsituStringStream s(str); return ParseStream(s); } //! Parse JSON text from a mutable string (with \ref kParseDefaultFlags) /*! \param str Mutable zero-terminated string to be parsed. \return The document itself for fluent API. */ GenericDocument& ParseInsitu(Ch* str) { return ParseInsitu(str); } //!@} //!@name Parse from read-only string //!@{ //! Parse JSON text from a read-only string (with Encoding conversion) /*! \tparam parseFlags Combination of \ref ParseFlag (must not contain \ref kParseInsituFlag). \tparam SourceEncoding Transcoding from input Encoding \param str Read-only zero-terminated string to be parsed. */ template GenericDocument& Parse(const typename SourceEncoding::Ch* str) { CEREAL_RAPIDJSON_ASSERT(!(parseFlags & kParseInsituFlag)); GenericStringStream s(str); return ParseStream(s); } //! Parse JSON text from a read-only string /*! \tparam parseFlags Combination of \ref ParseFlag (must not contain \ref kParseInsituFlag). \param str Read-only zero-terminated string to be parsed. */ template GenericDocument& Parse(const Ch* str) { return Parse(str); } //! Parse JSON text from a read-only string (with \ref kParseDefaultFlags) /*! \param str Read-only zero-terminated string to be parsed. */ GenericDocument& Parse(const Ch* str) { return Parse(str); } template GenericDocument& Parse(const typename SourceEncoding::Ch* str, size_t length) { CEREAL_RAPIDJSON_ASSERT(!(parseFlags & kParseInsituFlag)); MemoryStream ms(static_cast(str), length * sizeof(typename SourceEncoding::Ch)); EncodedInputStream is(ms); ParseStream(is); return *this; } template GenericDocument& Parse(const Ch* str, size_t length) { return Parse(str, length); } GenericDocument& Parse(const Ch* str, size_t length) { return Parse(str, length); } #if CEREAL_RAPIDJSON_HAS_STDSTRING template GenericDocument& Parse(const std::basic_string& str) { // c_str() is constant complexity according to standard. Should be faster than Parse(const char*, size_t) return Parse(str.c_str()); } template GenericDocument& Parse(const std::basic_string& str) { return Parse(str.c_str()); } GenericDocument& Parse(const std::basic_string& str) { return Parse(str); } #endif // CEREAL_RAPIDJSON_HAS_STDSTRING //!@} //!@name Handling parse errors //!@{ //! Whether a parse error has occured in the last parsing. bool HasParseError() const { return parseResult_.IsError(); } //! Get the \ref ParseErrorCode of last parsing. ParseErrorCode GetParseError() const { return parseResult_.Code(); } //! Get the position of last parsing error in input, 0 otherwise. size_t GetErrorOffset() const { return parseResult_.Offset(); } //! Implicit conversion to get the last parse result #ifndef __clang // -Wdocumentation /*! \return \ref ParseResult of the last parse operation \code Document doc; ParseResult ok = doc.Parse(json); if (!ok) printf( "JSON parse error: %s (%u)\n", GetParseError_En(ok.Code()), ok.Offset()); \endcode */ #endif operator ParseResult() const { return parseResult_; } //!@} //! Get the allocator of this document. Allocator& GetAllocator() { CEREAL_RAPIDJSON_ASSERT(allocator_); return *allocator_; } //! Get the capacity of stack in bytes. size_t GetStackCapacity() const { return stack_.GetCapacity(); } private: // clear stack on any exit from ParseStream, e.g. due to exception struct ClearStackOnExit { explicit ClearStackOnExit(GenericDocument& d) : d_(d) {} ~ClearStackOnExit() { d_.ClearStack(); } private: ClearStackOnExit(const ClearStackOnExit&); ClearStackOnExit& operator=(const ClearStackOnExit&); GenericDocument& d_; }; // callers of the following private Handler functions // template friend class GenericReader; // for parsing template friend class GenericValue; // for deep copying public: // Implementation of Handler bool Null() { new (stack_.template Push()) ValueType(); return true; } bool Bool(bool b) { new (stack_.template Push()) ValueType(b); return true; } bool Int(int i) { new (stack_.template Push()) ValueType(i); return true; } bool Uint(unsigned i) { new (stack_.template Push()) ValueType(i); return true; } bool Int64(int64_t i) { new (stack_.template Push()) ValueType(i); return true; } bool Uint64(uint64_t i) { new (stack_.template Push()) ValueType(i); return true; } bool Double(double d) { new (stack_.template Push()) ValueType(d); return true; } bool RawNumber(const Ch* str, SizeType length, bool copy) { if (copy) new (stack_.template Push()) ValueType(str, length, GetAllocator()); else new (stack_.template Push()) ValueType(str, length); return true; } bool String(const Ch* str, SizeType length, bool copy) { if (copy) new (stack_.template Push()) ValueType(str, length, GetAllocator()); else new (stack_.template Push()) ValueType(str, length); return true; } bool StartObject() { new (stack_.template Push()) ValueType(kObjectType); return true; } bool Key(const Ch* str, SizeType length, bool copy) { return String(str, length, copy); } bool EndObject(SizeType memberCount) { typename ValueType::Member* members = stack_.template Pop(memberCount); stack_.template Top()->SetObjectRaw(members, memberCount, GetAllocator()); return true; } bool StartArray() { new (stack_.template Push()) ValueType(kArrayType); return true; } bool EndArray(SizeType elementCount) { ValueType* elements = stack_.template Pop(elementCount); stack_.template Top()->SetArrayRaw(elements, elementCount, GetAllocator()); return true; } private: //! Prohibit copying GenericDocument(const GenericDocument&); //! Prohibit assignment GenericDocument& operator=(const GenericDocument&); void ClearStack() { if (Allocator::kNeedFree) while (stack_.GetSize() > 0) // Here assumes all elements in stack array are GenericValue (Member is actually 2 GenericValue objects) (stack_.template Pop(1))->~ValueType(); else stack_.Clear(); stack_.ShrinkToFit(); } void Destroy() { CEREAL_RAPIDJSON_DELETE(ownAllocator_); } static const size_t kDefaultStackCapacity = 1024; Allocator* allocator_; Allocator* ownAllocator_; internal::Stack stack_; ParseResult parseResult_; }; //! GenericDocument with UTF8 encoding typedef GenericDocument > Document; // defined here due to the dependency on GenericDocument template template inline GenericValue::GenericValue(const GenericValue& rhs, Allocator& allocator) { switch (rhs.GetType()) { case kObjectType: case kArrayType: { // perform deep copy via SAX Handler GenericDocument d(&allocator); rhs.Accept(d); RawAssign(*d.stack_.template Pop(1)); } break; case kStringType: if (rhs.data_.f.flags == kConstStringFlag) { data_.f.flags = rhs.data_.f.flags; data_ = *reinterpret_cast(&rhs.data_); } else { SetStringRaw(StringRef(rhs.GetString(), rhs.GetStringLength()), allocator); } break; default: data_.f.flags = rhs.data_.f.flags; data_ = *reinterpret_cast(&rhs.data_); break; } } //! Helper class for accessing Value of array type. /*! Instance of this helper class is obtained by \c GenericValue::GetArray(). In addition to all APIs for array type, it provides range-based for loop if \c CEREAL_RAPIDJSON_HAS_CXX11_RANGE_FOR=1. */ template class GenericArray { public: typedef GenericArray ConstArray; typedef GenericArray Array; typedef ValueT PlainType; typedef typename internal::MaybeAddConst::Type ValueType; typedef ValueType* ValueIterator; // This may be const or non-const iterator typedef const ValueT* ConstValueIterator; typedef typename ValueType::AllocatorType AllocatorType; typedef typename ValueType::StringRefType StringRefType; template friend class GenericValue; GenericArray(const GenericArray& rhs) : value_(rhs.value_) {} GenericArray& operator=(const GenericArray& rhs) { value_ = rhs.value_; return *this; } ~GenericArray() {} SizeType Size() const { return value_.Size(); } SizeType Capacity() const { return value_.Capacity(); } bool Empty() const { return value_.Empty(); } void Clear() const { value_.Clear(); } ValueType& operator[](SizeType index) const { return value_[index]; } ValueIterator Begin() const { return value_.Begin(); } ValueIterator End() const { return value_.End(); } GenericArray Reserve(SizeType newCapacity, AllocatorType &allocator) const { value_.Reserve(newCapacity, allocator); return *this; } GenericArray PushBack(ValueType& value, AllocatorType& allocator) const { value_.PushBack(value, allocator); return *this; } #if CEREAL_RAPIDJSON_HAS_CXX11_RVALUE_REFS GenericArray PushBack(ValueType&& value, AllocatorType& allocator) const { value_.PushBack(value, allocator); return *this; } #endif // CEREAL_RAPIDJSON_HAS_CXX11_RVALUE_REFS GenericArray PushBack(StringRefType value, AllocatorType& allocator) const { value_.PushBack(value, allocator); return *this; } template CEREAL_RAPIDJSON_DISABLEIF_RETURN((internal::OrExpr, internal::IsGenericValue >), (const GenericArray&)) PushBack(T value, AllocatorType& allocator) const { value_.PushBack(value, allocator); return *this; } GenericArray PopBack() const { value_.PopBack(); return *this; } ValueIterator Erase(ConstValueIterator pos) const { return value_.Erase(pos); } ValueIterator Erase(ConstValueIterator first, ConstValueIterator last) const { return value_.Erase(first, last); } #if CEREAL_RAPIDJSON_HAS_CXX11_RANGE_FOR ValueIterator begin() const { return value_.Begin(); } ValueIterator end() const { return value_.End(); } #endif private: GenericArray(); GenericArray(ValueType& value) : value_(value) {} ValueType& value_; }; //! Helper class for accessing Value of object type. /*! Instance of this helper class is obtained by \c GenericValue::GetObject(). In addition to all APIs for array type, it provides range-based for loop if \c CEREAL_RAPIDJSON_HAS_CXX11_RANGE_FOR=1. */ template class GenericObject { public: typedef GenericObject ConstObject; typedef GenericObject Object; typedef ValueT PlainType; typedef typename internal::MaybeAddConst::Type ValueType; typedef GenericMemberIterator MemberIterator; // This may be const or non-const iterator typedef GenericMemberIterator ConstMemberIterator; typedef typename ValueType::AllocatorType AllocatorType; typedef typename ValueType::StringRefType StringRefType; typedef typename ValueType::EncodingType EncodingType; typedef typename ValueType::Ch Ch; template friend class GenericValue; GenericObject(const GenericObject& rhs) : value_(rhs.value_) {} GenericObject& operator=(const GenericObject& rhs) { value_ = rhs.value_; return *this; } ~GenericObject() {} SizeType MemberCount() const { return value_.MemberCount(); } bool ObjectEmpty() const { return value_.ObjectEmpty(); } template ValueType& operator[](T* name) const { return value_[name]; } template ValueType& operator[](const GenericValue& name) const { return value_[name]; } #if CEREAL_RAPIDJSON_HAS_STDSTRING ValueType& operator[](const std::basic_string& name) const { return value_[name]; } #endif MemberIterator MemberBegin() const { return value_.MemberBegin(); } MemberIterator MemberEnd() const { return value_.MemberEnd(); } bool HasMember(const Ch* name) const { return value_.HasMember(name); } #if CEREAL_RAPIDJSON_HAS_STDSTRING bool HasMember(const std::basic_string& name) const { return value_.HasMember(name); } #endif template bool HasMember(const GenericValue& name) const { return value_.HasMember(name); } MemberIterator FindMember(const Ch* name) const { return value_.FindMember(name); } template MemberIterator FindMember(const GenericValue& name) const { return value_.FindMember(name); } #if CEREAL_RAPIDJSON_HAS_STDSTRING MemberIterator FindMember(const std::basic_string& name) const { return value_.FindMember(name); } #endif GenericObject AddMember(ValueType& name, ValueType& value, AllocatorType& allocator) const { value_.AddMember(name, value, allocator); return *this; } GenericObject AddMember(ValueType& name, StringRefType value, AllocatorType& allocator) const { value_.AddMember(name, value, allocator); return *this; } #if CEREAL_RAPIDJSON_HAS_STDSTRING GenericObject AddMember(ValueType& name, std::basic_string& value, AllocatorType& allocator) const { value_.AddMember(name, value, allocator); return *this; } #endif template CEREAL_RAPIDJSON_DISABLEIF_RETURN((internal::OrExpr, internal::IsGenericValue >), (ValueType&)) AddMember(ValueType& name, T value, AllocatorType& allocator) const { value_.AddMember(name, value, allocator); return *this; } #if CEREAL_RAPIDJSON_HAS_CXX11_RVALUE_REFS GenericObject AddMember(ValueType&& name, ValueType&& value, AllocatorType& allocator) const { value_.AddMember(name, value, allocator); return *this; } GenericObject AddMember(ValueType&& name, ValueType& value, AllocatorType& allocator) const { value_.AddMember(name, value, allocator); return *this; } GenericObject AddMember(ValueType& name, ValueType&& value, AllocatorType& allocator) const { value_.AddMember(name, value, allocator); return *this; } GenericObject AddMember(StringRefType name, ValueType&& value, AllocatorType& allocator) const { value_.AddMember(name, value, allocator); return *this; } #endif // CEREAL_RAPIDJSON_HAS_CXX11_RVALUE_REFS GenericObject AddMember(StringRefType name, ValueType& value, AllocatorType& allocator) const { value_.AddMember(name, value, allocator); return *this; } GenericObject AddMember(StringRefType name, StringRefType value, AllocatorType& allocator) const { value_.AddMember(name, value, allocator); return *this; } template CEREAL_RAPIDJSON_DISABLEIF_RETURN((internal::OrExpr, internal::IsGenericValue >), (GenericObject)) AddMember(StringRefType name, T value, AllocatorType& allocator) const { value_.AddMember(name, value, allocator); return *this; } void RemoveAllMembers() { return value_.RemoveAllMembers(); } bool RemoveMember(const Ch* name) const { return value_.RemoveMember(name); } #if CEREAL_RAPIDJSON_HAS_STDSTRING bool RemoveMember(const std::basic_string& name) const { return value_.RemoveMember(name); } #endif template bool RemoveMember(const GenericValue& name) const { return value_.RemoveMember(name); } MemberIterator RemoveMember(MemberIterator m) const { return value_.RemoveMember(m); } MemberIterator EraseMember(ConstMemberIterator pos) const { return value_.EraseMember(pos); } MemberIterator EraseMember(ConstMemberIterator first, ConstMemberIterator last) const { return value_.EraseMember(first, last); } bool EraseMember(const Ch* name) const { return value_.EraseMember(name); } #if CEREAL_RAPIDJSON_HAS_STDSTRING bool EraseMember(const std::basic_string& name) const { return EraseMember(ValueType(StringRef(name))); } #endif template bool EraseMember(const GenericValue& name) const { return value_.EraseMember(name); } #if CEREAL_RAPIDJSON_HAS_CXX11_RANGE_FOR MemberIterator begin() const { return value_.MemberBegin(); } MemberIterator end() const { return value_.MemberEnd(); } #endif private: GenericObject(); GenericObject(ValueType& value) : value_(value) {} ValueType& value_; }; CEREAL_RAPIDJSON_NAMESPACE_END CEREAL_RAPIDJSON_DIAG_POP #endif // CEREAL_RAPIDJSON_DOCUMENT_H_ blockattack-game-2.5.0/source/code/Libs/include/cereal/external/rapidjson/encodedstream.h000066400000000000000000000253621347224572500315140ustar00rootroot00000000000000// Tencent is pleased to support the open source community by making RapidJSON available. // // Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. // // Licensed under the MIT License (the "License"); you may not use this file except // in compliance with the License. You may obtain a copy of the License at // // http://opensource.org/licenses/MIT // // Unless required by applicable law or agreed to in writing, software distributed // under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR // CONDITIONS OF ANY KIND, either express or implied. See the License for the // specific language governing permissions and limitations under the License. #ifndef CEREAL_RAPIDJSON_ENCODEDSTREAM_H_ #define CEREAL_RAPIDJSON_ENCODEDSTREAM_H_ #include "stream.h" #include "memorystream.h" #ifdef __GNUC__ CEREAL_RAPIDJSON_DIAG_PUSH CEREAL_RAPIDJSON_DIAG_OFF(effc++) #endif #ifdef __clang__ CEREAL_RAPIDJSON_DIAG_PUSH CEREAL_RAPIDJSON_DIAG_OFF(padded) #endif CEREAL_RAPIDJSON_NAMESPACE_BEGIN //! Input byte stream wrapper with a statically bound encoding. /*! \tparam Encoding The interpretation of encoding of the stream. Either UTF8, UTF16LE, UTF16BE, UTF32LE, UTF32BE. \tparam InputByteStream Type of input byte stream. For example, FileReadStream. */ template class EncodedInputStream { CEREAL_RAPIDJSON_STATIC_ASSERT(sizeof(typename InputByteStream::Ch) == 1); public: typedef typename Encoding::Ch Ch; EncodedInputStream(InputByteStream& is) : is_(is) { current_ = Encoding::TakeBOM(is_); } Ch Peek() const { return current_; } Ch Take() { Ch c = current_; current_ = Encoding::Take(is_); return c; } size_t Tell() const { return is_.Tell(); } // Not implemented void Put(Ch) { CEREAL_RAPIDJSON_ASSERT(false); } void Flush() { CEREAL_RAPIDJSON_ASSERT(false); } Ch* PutBegin() { CEREAL_RAPIDJSON_ASSERT(false); return 0; } size_t PutEnd(Ch*) { CEREAL_RAPIDJSON_ASSERT(false); return 0; } private: EncodedInputStream(const EncodedInputStream&); EncodedInputStream& operator=(const EncodedInputStream&); InputByteStream& is_; Ch current_; }; //! Specialized for UTF8 MemoryStream. template <> class EncodedInputStream, MemoryStream> { public: typedef UTF8<>::Ch Ch; EncodedInputStream(MemoryStream& is) : is_(is) { if (static_cast(is_.Peek()) == 0xEFu) is_.Take(); if (static_cast(is_.Peek()) == 0xBBu) is_.Take(); if (static_cast(is_.Peek()) == 0xBFu) is_.Take(); } Ch Peek() const { return is_.Peek(); } Ch Take() { return is_.Take(); } size_t Tell() const { return is_.Tell(); } // Not implemented void Put(Ch) {} void Flush() {} Ch* PutBegin() { return 0; } size_t PutEnd(Ch*) { return 0; } MemoryStream& is_; private: EncodedInputStream(const EncodedInputStream&); EncodedInputStream& operator=(const EncodedInputStream&); }; //! Output byte stream wrapper with statically bound encoding. /*! \tparam Encoding The interpretation of encoding of the stream. Either UTF8, UTF16LE, UTF16BE, UTF32LE, UTF32BE. \tparam OutputByteStream Type of input byte stream. For example, FileWriteStream. */ template class EncodedOutputStream { CEREAL_RAPIDJSON_STATIC_ASSERT(sizeof(typename OutputByteStream::Ch) == 1); public: typedef typename Encoding::Ch Ch; EncodedOutputStream(OutputByteStream& os, bool putBOM = true) : os_(os) { if (putBOM) Encoding::PutBOM(os_); } void Put(Ch c) { Encoding::Put(os_, c); } void Flush() { os_.Flush(); } // Not implemented Ch Peek() const { CEREAL_RAPIDJSON_ASSERT(false); return 0;} Ch Take() { CEREAL_RAPIDJSON_ASSERT(false); return 0;} size_t Tell() const { CEREAL_RAPIDJSON_ASSERT(false); return 0; } Ch* PutBegin() { CEREAL_RAPIDJSON_ASSERT(false); return 0; } size_t PutEnd(Ch*) { CEREAL_RAPIDJSON_ASSERT(false); return 0; } private: EncodedOutputStream(const EncodedOutputStream&); EncodedOutputStream& operator=(const EncodedOutputStream&); OutputByteStream& os_; }; #define CEREAL_RAPIDJSON_ENCODINGS_FUNC(x) UTF8::x, UTF16LE::x, UTF16BE::x, UTF32LE::x, UTF32BE::x //! Input stream wrapper with dynamically bound encoding and automatic encoding detection. /*! \tparam CharType Type of character for reading. \tparam InputByteStream type of input byte stream to be wrapped. */ template class AutoUTFInputStream { CEREAL_RAPIDJSON_STATIC_ASSERT(sizeof(typename InputByteStream::Ch) == 1); public: typedef CharType Ch; //! Constructor. /*! \param is input stream to be wrapped. \param type UTF encoding type if it is not detected from the stream. */ AutoUTFInputStream(InputByteStream& is, UTFType type = kUTF8) : is_(&is), type_(type), hasBOM_(false) { CEREAL_RAPIDJSON_ASSERT(type >= kUTF8 && type <= kUTF32BE); DetectType(); static const TakeFunc f[] = { CEREAL_RAPIDJSON_ENCODINGS_FUNC(Take) }; takeFunc_ = f[type_]; current_ = takeFunc_(*is_); } UTFType GetType() const { return type_; } bool HasBOM() const { return hasBOM_; } Ch Peek() const { return current_; } Ch Take() { Ch c = current_; current_ = takeFunc_(*is_); return c; } size_t Tell() const { return is_->Tell(); } // Not implemented void Put(Ch) { CEREAL_RAPIDJSON_ASSERT(false); } void Flush() { CEREAL_RAPIDJSON_ASSERT(false); } Ch* PutBegin() { CEREAL_RAPIDJSON_ASSERT(false); return 0; } size_t PutEnd(Ch*) { CEREAL_RAPIDJSON_ASSERT(false); return 0; } private: AutoUTFInputStream(const AutoUTFInputStream&); AutoUTFInputStream& operator=(const AutoUTFInputStream&); // Detect encoding type with BOM or RFC 4627 void DetectType() { // BOM (Byte Order Mark): // 00 00 FE FF UTF-32BE // FF FE 00 00 UTF-32LE // FE FF UTF-16BE // FF FE UTF-16LE // EF BB BF UTF-8 const unsigned char* c = reinterpret_cast(is_->Peek4()); if (!c) return; unsigned bom = static_cast(c[0] | (c[1] << 8) | (c[2] << 16) | (c[3] << 24)); hasBOM_ = false; if (bom == 0xFFFE0000) { type_ = kUTF32BE; hasBOM_ = true; is_->Take(); is_->Take(); is_->Take(); is_->Take(); } else if (bom == 0x0000FEFF) { type_ = kUTF32LE; hasBOM_ = true; is_->Take(); is_->Take(); is_->Take(); is_->Take(); } else if ((bom & 0xFFFF) == 0xFFFE) { type_ = kUTF16BE; hasBOM_ = true; is_->Take(); is_->Take(); } else if ((bom & 0xFFFF) == 0xFEFF) { type_ = kUTF16LE; hasBOM_ = true; is_->Take(); is_->Take(); } else if ((bom & 0xFFFFFF) == 0xBFBBEF) { type_ = kUTF8; hasBOM_ = true; is_->Take(); is_->Take(); is_->Take(); } // RFC 4627: Section 3 // "Since the first two characters of a JSON text will always be ASCII // characters [RFC0020], it is possible to determine whether an octet // stream is UTF-8, UTF-16 (BE or LE), or UTF-32 (BE or LE) by looking // at the pattern of nulls in the first four octets." // 00 00 00 xx UTF-32BE // 00 xx 00 xx UTF-16BE // xx 00 00 00 UTF-32LE // xx 00 xx 00 UTF-16LE // xx xx xx xx UTF-8 if (!hasBOM_) { unsigned pattern = (c[0] ? 1 : 0) | (c[1] ? 2 : 0) | (c[2] ? 4 : 0) | (c[3] ? 8 : 0); switch (pattern) { case 0x08: type_ = kUTF32BE; break; case 0x0A: type_ = kUTF16BE; break; case 0x01: type_ = kUTF32LE; break; case 0x05: type_ = kUTF16LE; break; case 0x0F: type_ = kUTF8; break; default: break; // Use type defined by user. } } // Runtime check whether the size of character type is sufficient. It only perform checks with assertion. if (type_ == kUTF16LE || type_ == kUTF16BE) CEREAL_RAPIDJSON_ASSERT(sizeof(Ch) >= 2); if (type_ == kUTF32LE || type_ == kUTF32BE) CEREAL_RAPIDJSON_ASSERT(sizeof(Ch) >= 4); } typedef Ch (*TakeFunc)(InputByteStream& is); InputByteStream* is_; UTFType type_; Ch current_; TakeFunc takeFunc_; bool hasBOM_; }; //! Output stream wrapper with dynamically bound encoding and automatic encoding detection. /*! \tparam CharType Type of character for writing. \tparam OutputByteStream type of output byte stream to be wrapped. */ template class AutoUTFOutputStream { CEREAL_RAPIDJSON_STATIC_ASSERT(sizeof(typename OutputByteStream::Ch) == 1); public: typedef CharType Ch; //! Constructor. /*! \param os output stream to be wrapped. \param type UTF encoding type. \param putBOM Whether to write BOM at the beginning of the stream. */ AutoUTFOutputStream(OutputByteStream& os, UTFType type, bool putBOM) : os_(&os), type_(type) { CEREAL_RAPIDJSON_ASSERT(type >= kUTF8 && type <= kUTF32BE); // Runtime check whether the size of character type is sufficient. It only perform checks with assertion. if (type_ == kUTF16LE || type_ == kUTF16BE) CEREAL_RAPIDJSON_ASSERT(sizeof(Ch) >= 2); if (type_ == kUTF32LE || type_ == kUTF32BE) CEREAL_RAPIDJSON_ASSERT(sizeof(Ch) >= 4); static const PutFunc f[] = { CEREAL_RAPIDJSON_ENCODINGS_FUNC(Put) }; putFunc_ = f[type_]; if (putBOM) PutBOM(); } UTFType GetType() const { return type_; } void Put(Ch c) { putFunc_(*os_, c); } void Flush() { os_->Flush(); } // Not implemented Ch Peek() const { CEREAL_RAPIDJSON_ASSERT(false); return 0;} Ch Take() { CEREAL_RAPIDJSON_ASSERT(false); return 0;} size_t Tell() const { CEREAL_RAPIDJSON_ASSERT(false); return 0; } Ch* PutBegin() { CEREAL_RAPIDJSON_ASSERT(false); return 0; } size_t PutEnd(Ch*) { CEREAL_RAPIDJSON_ASSERT(false); return 0; } private: AutoUTFOutputStream(const AutoUTFOutputStream&); AutoUTFOutputStream& operator=(const AutoUTFOutputStream&); void PutBOM() { typedef void (*PutBOMFunc)(OutputByteStream&); static const PutBOMFunc f[] = { CEREAL_RAPIDJSON_ENCODINGS_FUNC(PutBOM) }; f[type_](*os_); } typedef void (*PutFunc)(OutputByteStream&, Ch); OutputByteStream* os_; UTFType type_; PutFunc putFunc_; }; #undef CEREAL_RAPIDJSON_ENCODINGS_FUNC CEREAL_RAPIDJSON_NAMESPACE_END #ifdef __clang__ CEREAL_RAPIDJSON_DIAG_POP #endif #ifdef __GNUC__ CEREAL_RAPIDJSON_DIAG_POP #endif #endif // CEREAL_RAPIDJSON_FILESTREAM_H_ blockattack-game-2.5.0/source/code/Libs/include/cereal/external/rapidjson/encodings.h000066400000000000000000000706101347224572500306440ustar00rootroot00000000000000// Tencent is pleased to support the open source community by making RapidJSON available. // // Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. // // Licensed under the MIT License (the "License"); you may not use this file except // in compliance with the License. You may obtain a copy of the License at // // http://opensource.org/licenses/MIT // // Unless required by applicable law or agreed to in writing, software distributed // under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR // CONDITIONS OF ANY KIND, either express or implied. See the License for the // specific language governing permissions and limitations under the License. #ifndef CEREAL_RAPIDJSON_ENCODINGS_H_ #define CEREAL_RAPIDJSON_ENCODINGS_H_ #include "rapidjson.h" #ifdef _MSC_VER CEREAL_RAPIDJSON_DIAG_PUSH CEREAL_RAPIDJSON_DIAG_OFF(4244) // conversion from 'type1' to 'type2', possible loss of data CEREAL_RAPIDJSON_DIAG_OFF(4702) // unreachable code #elif defined(__GNUC__) CEREAL_RAPIDJSON_DIAG_PUSH CEREAL_RAPIDJSON_DIAG_OFF(effc++) CEREAL_RAPIDJSON_DIAG_OFF(overflow) #endif CEREAL_RAPIDJSON_NAMESPACE_BEGIN /////////////////////////////////////////////////////////////////////////////// // Encoding /*! \class rapidjson::Encoding \brief Concept for encoding of Unicode characters. \code concept Encoding { typename Ch; //! Type of character. A "character" is actually a code unit in unicode's definition. enum { supportUnicode = 1 }; // or 0 if not supporting unicode //! \brief Encode a Unicode codepoint to an output stream. //! \param os Output stream. //! \param codepoint An unicode codepoint, ranging from 0x0 to 0x10FFFF inclusively. template static void Encode(OutputStream& os, unsigned codepoint); //! \brief Decode a Unicode codepoint from an input stream. //! \param is Input stream. //! \param codepoint Output of the unicode codepoint. //! \return true if a valid codepoint can be decoded from the stream. template static bool Decode(InputStream& is, unsigned* codepoint); //! \brief Validate one Unicode codepoint from an encoded stream. //! \param is Input stream to obtain codepoint. //! \param os Output for copying one codepoint. //! \return true if it is valid. //! \note This function just validating and copying the codepoint without actually decode it. template static bool Validate(InputStream& is, OutputStream& os); // The following functions are deal with byte streams. //! Take a character from input byte stream, skip BOM if exist. template static CharType TakeBOM(InputByteStream& is); //! Take a character from input byte stream. template static Ch Take(InputByteStream& is); //! Put BOM to output byte stream. template static void PutBOM(OutputByteStream& os); //! Put a character to output byte stream. template static void Put(OutputByteStream& os, Ch c); }; \endcode */ /////////////////////////////////////////////////////////////////////////////// // UTF8 //! UTF-8 encoding. /*! http://en.wikipedia.org/wiki/UTF-8 http://tools.ietf.org/html/rfc3629 \tparam CharType Code unit for storing 8-bit UTF-8 data. Default is char. \note implements Encoding concept */ template struct UTF8 { typedef CharType Ch; enum { supportUnicode = 1 }; template static void Encode(OutputStream& os, unsigned codepoint) { if (codepoint <= 0x7F) os.Put(static_cast(codepoint & 0xFF)); else if (codepoint <= 0x7FF) { os.Put(static_cast(0xC0 | ((codepoint >> 6) & 0xFF))); os.Put(static_cast(0x80 | ((codepoint & 0x3F)))); } else if (codepoint <= 0xFFFF) { os.Put(static_cast(0xE0 | ((codepoint >> 12) & 0xFF))); os.Put(static_cast(0x80 | ((codepoint >> 6) & 0x3F))); os.Put(static_cast(0x80 | (codepoint & 0x3F))); } else { CEREAL_RAPIDJSON_ASSERT(codepoint <= 0x10FFFF); os.Put(static_cast(0xF0 | ((codepoint >> 18) & 0xFF))); os.Put(static_cast(0x80 | ((codepoint >> 12) & 0x3F))); os.Put(static_cast(0x80 | ((codepoint >> 6) & 0x3F))); os.Put(static_cast(0x80 | (codepoint & 0x3F))); } } template static void EncodeUnsafe(OutputStream& os, unsigned codepoint) { if (codepoint <= 0x7F) PutUnsafe(os, static_cast(codepoint & 0xFF)); else if (codepoint <= 0x7FF) { PutUnsafe(os, static_cast(0xC0 | ((codepoint >> 6) & 0xFF))); PutUnsafe(os, static_cast(0x80 | ((codepoint & 0x3F)))); } else if (codepoint <= 0xFFFF) { PutUnsafe(os, static_cast(0xE0 | ((codepoint >> 12) & 0xFF))); PutUnsafe(os, static_cast(0x80 | ((codepoint >> 6) & 0x3F))); PutUnsafe(os, static_cast(0x80 | (codepoint & 0x3F))); } else { CEREAL_RAPIDJSON_ASSERT(codepoint <= 0x10FFFF); PutUnsafe(os, static_cast(0xF0 | ((codepoint >> 18) & 0xFF))); PutUnsafe(os, static_cast(0x80 | ((codepoint >> 12) & 0x3F))); PutUnsafe(os, static_cast(0x80 | ((codepoint >> 6) & 0x3F))); PutUnsafe(os, static_cast(0x80 | (codepoint & 0x3F))); } } template static bool Decode(InputStream& is, unsigned* codepoint) { #define COPY() c = is.Take(); *codepoint = (*codepoint << 6) | (static_cast(c) & 0x3Fu) #define TRANS(mask) result &= ((GetRange(static_cast(c)) & mask) != 0) #define TAIL() COPY(); TRANS(0x70) typename InputStream::Ch c = is.Take(); if (!(c & 0x80)) { *codepoint = static_cast(c); return true; } unsigned char type = GetRange(static_cast(c)); if (type >= 32) { *codepoint = 0; } else { *codepoint = (0xFF >> type) & static_cast(c); } bool result = true; switch (type) { case 2: TAIL(); return result; case 3: TAIL(); TAIL(); return result; case 4: COPY(); TRANS(0x50); TAIL(); return result; case 5: COPY(); TRANS(0x10); TAIL(); TAIL(); return result; case 6: TAIL(); TAIL(); TAIL(); return result; case 10: COPY(); TRANS(0x20); TAIL(); return result; case 11: COPY(); TRANS(0x60); TAIL(); TAIL(); return result; default: return false; } #undef COPY #undef TRANS #undef TAIL } template static bool Validate(InputStream& is, OutputStream& os) { #define COPY() os.Put(c = is.Take()) #define TRANS(mask) result &= ((GetRange(static_cast(c)) & mask) != 0) #define TAIL() COPY(); TRANS(0x70) Ch c; COPY(); if (!(c & 0x80)) return true; bool result = true; switch (GetRange(static_cast(c))) { case 2: TAIL(); return result; case 3: TAIL(); TAIL(); return result; case 4: COPY(); TRANS(0x50); TAIL(); return result; case 5: COPY(); TRANS(0x10); TAIL(); TAIL(); return result; case 6: TAIL(); TAIL(); TAIL(); return result; case 10: COPY(); TRANS(0x20); TAIL(); return result; case 11: COPY(); TRANS(0x60); TAIL(); TAIL(); return result; default: return false; } #undef COPY #undef TRANS #undef TAIL } static unsigned char GetRange(unsigned char c) { // Referring to DFA of http://bjoern.hoehrmann.de/utf-8/decoder/dfa/ // With new mapping 1 -> 0x10, 7 -> 0x20, 9 -> 0x40, such that AND operation can test multiple types. static const unsigned char type[] = { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10, 0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40, 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20, 8,8,2,2,2,2,2,2,2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, 10,3,3,3,3,3,3,3,3,3,3,3,3,4,3,3, 11,6,6,6,5,8,8,8,8,8,8,8,8,8,8,8, }; return type[c]; } template static CharType TakeBOM(InputByteStream& is) { CEREAL_RAPIDJSON_STATIC_ASSERT(sizeof(typename InputByteStream::Ch) == 1); typename InputByteStream::Ch c = Take(is); if (static_cast(c) != 0xEFu) return c; c = is.Take(); if (static_cast(c) != 0xBBu) return c; c = is.Take(); if (static_cast(c) != 0xBFu) return c; c = is.Take(); return c; } template static Ch Take(InputByteStream& is) { CEREAL_RAPIDJSON_STATIC_ASSERT(sizeof(typename InputByteStream::Ch) == 1); return static_cast(is.Take()); } template static void PutBOM(OutputByteStream& os) { CEREAL_RAPIDJSON_STATIC_ASSERT(sizeof(typename OutputByteStream::Ch) == 1); os.Put(static_cast(0xEFu)); os.Put(static_cast(0xBBu)); os.Put(static_cast(0xBFu)); } template static void Put(OutputByteStream& os, Ch c) { CEREAL_RAPIDJSON_STATIC_ASSERT(sizeof(typename OutputByteStream::Ch) == 1); os.Put(static_cast(c)); } }; /////////////////////////////////////////////////////////////////////////////// // UTF16 //! UTF-16 encoding. /*! http://en.wikipedia.org/wiki/UTF-16 http://tools.ietf.org/html/rfc2781 \tparam CharType Type for storing 16-bit UTF-16 data. Default is wchar_t. C++11 may use char16_t instead. \note implements Encoding concept \note For in-memory access, no need to concern endianness. The code units and code points are represented by CPU's endianness. For streaming, use UTF16LE and UTF16BE, which handle endianness. */ template struct UTF16 { typedef CharType Ch; CEREAL_RAPIDJSON_STATIC_ASSERT(sizeof(Ch) >= 2); enum { supportUnicode = 1 }; template static void Encode(OutputStream& os, unsigned codepoint) { CEREAL_RAPIDJSON_STATIC_ASSERT(sizeof(typename OutputStream::Ch) >= 2); if (codepoint <= 0xFFFF) { CEREAL_RAPIDJSON_ASSERT(codepoint < 0xD800 || codepoint > 0xDFFF); // Code point itself cannot be surrogate pair os.Put(static_cast(codepoint)); } else { CEREAL_RAPIDJSON_ASSERT(codepoint <= 0x10FFFF); unsigned v = codepoint - 0x10000; os.Put(static_cast((v >> 10) | 0xD800)); os.Put((v & 0x3FF) | 0xDC00); } } template static void EncodeUnsafe(OutputStream& os, unsigned codepoint) { CEREAL_RAPIDJSON_STATIC_ASSERT(sizeof(typename OutputStream::Ch) >= 2); if (codepoint <= 0xFFFF) { CEREAL_RAPIDJSON_ASSERT(codepoint < 0xD800 || codepoint > 0xDFFF); // Code point itself cannot be surrogate pair PutUnsafe(os, static_cast(codepoint)); } else { CEREAL_RAPIDJSON_ASSERT(codepoint <= 0x10FFFF); unsigned v = codepoint - 0x10000; PutUnsafe(os, static_cast((v >> 10) | 0xD800)); PutUnsafe(os, (v & 0x3FF) | 0xDC00); } } template static bool Decode(InputStream& is, unsigned* codepoint) { CEREAL_RAPIDJSON_STATIC_ASSERT(sizeof(typename InputStream::Ch) >= 2); typename InputStream::Ch c = is.Take(); if (c < 0xD800 || c > 0xDFFF) { *codepoint = static_cast(c); return true; } else if (c <= 0xDBFF) { *codepoint = (static_cast(c) & 0x3FF) << 10; c = is.Take(); *codepoint |= (static_cast(c) & 0x3FF); *codepoint += 0x10000; return c >= 0xDC00 && c <= 0xDFFF; } return false; } template static bool Validate(InputStream& is, OutputStream& os) { CEREAL_RAPIDJSON_STATIC_ASSERT(sizeof(typename InputStream::Ch) >= 2); CEREAL_RAPIDJSON_STATIC_ASSERT(sizeof(typename OutputStream::Ch) >= 2); typename InputStream::Ch c; os.Put(static_cast(c = is.Take())); if (c < 0xD800 || c > 0xDFFF) return true; else if (c <= 0xDBFF) { os.Put(c = is.Take()); return c >= 0xDC00 && c <= 0xDFFF; } return false; } }; //! UTF-16 little endian encoding. template struct UTF16LE : UTF16 { template static CharType TakeBOM(InputByteStream& is) { CEREAL_RAPIDJSON_STATIC_ASSERT(sizeof(typename InputByteStream::Ch) == 1); CharType c = Take(is); return static_cast(c) == 0xFEFFu ? Take(is) : c; } template static CharType Take(InputByteStream& is) { CEREAL_RAPIDJSON_STATIC_ASSERT(sizeof(typename InputByteStream::Ch) == 1); unsigned c = static_cast(is.Take()); c |= static_cast(static_cast(is.Take())) << 8; return static_cast(c); } template static void PutBOM(OutputByteStream& os) { CEREAL_RAPIDJSON_STATIC_ASSERT(sizeof(typename OutputByteStream::Ch) == 1); os.Put(static_cast(0xFFu)); os.Put(static_cast(0xFEu)); } template static void Put(OutputByteStream& os, CharType c) { CEREAL_RAPIDJSON_STATIC_ASSERT(sizeof(typename OutputByteStream::Ch) == 1); os.Put(static_cast(static_cast(c) & 0xFFu)); os.Put(static_cast((static_cast(c) >> 8) & 0xFFu)); } }; //! UTF-16 big endian encoding. template struct UTF16BE : UTF16 { template static CharType TakeBOM(InputByteStream& is) { CEREAL_RAPIDJSON_STATIC_ASSERT(sizeof(typename InputByteStream::Ch) == 1); CharType c = Take(is); return static_cast(c) == 0xFEFFu ? Take(is) : c; } template static CharType Take(InputByteStream& is) { CEREAL_RAPIDJSON_STATIC_ASSERT(sizeof(typename InputByteStream::Ch) == 1); unsigned c = static_cast(static_cast(is.Take())) << 8; c |= static_cast(is.Take()); return static_cast(c); } template static void PutBOM(OutputByteStream& os) { CEREAL_RAPIDJSON_STATIC_ASSERT(sizeof(typename OutputByteStream::Ch) == 1); os.Put(static_cast(0xFEu)); os.Put(static_cast(0xFFu)); } template static void Put(OutputByteStream& os, CharType c) { CEREAL_RAPIDJSON_STATIC_ASSERT(sizeof(typename OutputByteStream::Ch) == 1); os.Put(static_cast((static_cast(c) >> 8) & 0xFFu)); os.Put(static_cast(static_cast(c) & 0xFFu)); } }; /////////////////////////////////////////////////////////////////////////////// // UTF32 //! UTF-32 encoding. /*! http://en.wikipedia.org/wiki/UTF-32 \tparam CharType Type for storing 32-bit UTF-32 data. Default is unsigned. C++11 may use char32_t instead. \note implements Encoding concept \note For in-memory access, no need to concern endianness. The code units and code points are represented by CPU's endianness. For streaming, use UTF32LE and UTF32BE, which handle endianness. */ template struct UTF32 { typedef CharType Ch; CEREAL_RAPIDJSON_STATIC_ASSERT(sizeof(Ch) >= 4); enum { supportUnicode = 1 }; template static void Encode(OutputStream& os, unsigned codepoint) { CEREAL_RAPIDJSON_STATIC_ASSERT(sizeof(typename OutputStream::Ch) >= 4); CEREAL_RAPIDJSON_ASSERT(codepoint <= 0x10FFFF); os.Put(codepoint); } template static void EncodeUnsafe(OutputStream& os, unsigned codepoint) { CEREAL_RAPIDJSON_STATIC_ASSERT(sizeof(typename OutputStream::Ch) >= 4); CEREAL_RAPIDJSON_ASSERT(codepoint <= 0x10FFFF); PutUnsafe(os, codepoint); } template static bool Decode(InputStream& is, unsigned* codepoint) { CEREAL_RAPIDJSON_STATIC_ASSERT(sizeof(typename InputStream::Ch) >= 4); Ch c = is.Take(); *codepoint = c; return c <= 0x10FFFF; } template static bool Validate(InputStream& is, OutputStream& os) { CEREAL_RAPIDJSON_STATIC_ASSERT(sizeof(typename InputStream::Ch) >= 4); Ch c; os.Put(c = is.Take()); return c <= 0x10FFFF; } }; //! UTF-32 little endian enocoding. template struct UTF32LE : UTF32 { template static CharType TakeBOM(InputByteStream& is) { CEREAL_RAPIDJSON_STATIC_ASSERT(sizeof(typename InputByteStream::Ch) == 1); CharType c = Take(is); return static_cast(c) == 0x0000FEFFu ? Take(is) : c; } template static CharType Take(InputByteStream& is) { CEREAL_RAPIDJSON_STATIC_ASSERT(sizeof(typename InputByteStream::Ch) == 1); unsigned c = static_cast(is.Take()); c |= static_cast(static_cast(is.Take())) << 8; c |= static_cast(static_cast(is.Take())) << 16; c |= static_cast(static_cast(is.Take())) << 24; return static_cast(c); } template static void PutBOM(OutputByteStream& os) { CEREAL_RAPIDJSON_STATIC_ASSERT(sizeof(typename OutputByteStream::Ch) == 1); os.Put(static_cast(0xFFu)); os.Put(static_cast(0xFEu)); os.Put(static_cast(0x00u)); os.Put(static_cast(0x00u)); } template static void Put(OutputByteStream& os, CharType c) { CEREAL_RAPIDJSON_STATIC_ASSERT(sizeof(typename OutputByteStream::Ch) == 1); os.Put(static_cast(c & 0xFFu)); os.Put(static_cast((c >> 8) & 0xFFu)); os.Put(static_cast((c >> 16) & 0xFFu)); os.Put(static_cast((c >> 24) & 0xFFu)); } }; //! UTF-32 big endian encoding. template struct UTF32BE : UTF32 { template static CharType TakeBOM(InputByteStream& is) { CEREAL_RAPIDJSON_STATIC_ASSERT(sizeof(typename InputByteStream::Ch) == 1); CharType c = Take(is); return static_cast(c) == 0x0000FEFFu ? Take(is) : c; } template static CharType Take(InputByteStream& is) { CEREAL_RAPIDJSON_STATIC_ASSERT(sizeof(typename InputByteStream::Ch) == 1); unsigned c = static_cast(static_cast(is.Take())) << 24; c |= static_cast(static_cast(is.Take())) << 16; c |= static_cast(static_cast(is.Take())) << 8; c |= static_cast(static_cast(is.Take())); return static_cast(c); } template static void PutBOM(OutputByteStream& os) { CEREAL_RAPIDJSON_STATIC_ASSERT(sizeof(typename OutputByteStream::Ch) == 1); os.Put(static_cast(0x00u)); os.Put(static_cast(0x00u)); os.Put(static_cast(0xFEu)); os.Put(static_cast(0xFFu)); } template static void Put(OutputByteStream& os, CharType c) { CEREAL_RAPIDJSON_STATIC_ASSERT(sizeof(typename OutputByteStream::Ch) == 1); os.Put(static_cast((c >> 24) & 0xFFu)); os.Put(static_cast((c >> 16) & 0xFFu)); os.Put(static_cast((c >> 8) & 0xFFu)); os.Put(static_cast(c & 0xFFu)); } }; /////////////////////////////////////////////////////////////////////////////// // ASCII //! ASCII encoding. /*! http://en.wikipedia.org/wiki/ASCII \tparam CharType Code unit for storing 7-bit ASCII data. Default is char. \note implements Encoding concept */ template struct ASCII { typedef CharType Ch; enum { supportUnicode = 0 }; template static void Encode(OutputStream& os, unsigned codepoint) { CEREAL_RAPIDJSON_ASSERT(codepoint <= 0x7F); os.Put(static_cast(codepoint & 0xFF)); } template static void EncodeUnsafe(OutputStream& os, unsigned codepoint) { CEREAL_RAPIDJSON_ASSERT(codepoint <= 0x7F); PutUnsafe(os, static_cast(codepoint & 0xFF)); } template static bool Decode(InputStream& is, unsigned* codepoint) { uint8_t c = static_cast(is.Take()); *codepoint = c; return c <= 0X7F; } template static bool Validate(InputStream& is, OutputStream& os) { uint8_t c = static_cast(is.Take()); os.Put(static_cast(c)); return c <= 0x7F; } template static CharType TakeBOM(InputByteStream& is) { CEREAL_RAPIDJSON_STATIC_ASSERT(sizeof(typename InputByteStream::Ch) == 1); uint8_t c = static_cast(Take(is)); return static_cast(c); } template static Ch Take(InputByteStream& is) { CEREAL_RAPIDJSON_STATIC_ASSERT(sizeof(typename InputByteStream::Ch) == 1); return static_cast(is.Take()); } template static void PutBOM(OutputByteStream& os) { CEREAL_RAPIDJSON_STATIC_ASSERT(sizeof(typename OutputByteStream::Ch) == 1); (void)os; } template static void Put(OutputByteStream& os, Ch c) { CEREAL_RAPIDJSON_STATIC_ASSERT(sizeof(typename OutputByteStream::Ch) == 1); os.Put(static_cast(c)); } }; /////////////////////////////////////////////////////////////////////////////// // AutoUTF //! Runtime-specified UTF encoding type of a stream. enum UTFType { kUTF8 = 0, //!< UTF-8. kUTF16LE = 1, //!< UTF-16 little endian. kUTF16BE = 2, //!< UTF-16 big endian. kUTF32LE = 3, //!< UTF-32 little endian. kUTF32BE = 4 //!< UTF-32 big endian. }; //! Dynamically select encoding according to stream's runtime-specified UTF encoding type. /*! \note This class can be used with AutoUTFInputtStream and AutoUTFOutputStream, which provides GetType(). */ template struct AutoUTF { typedef CharType Ch; enum { supportUnicode = 1 }; #define CEREAL_RAPIDJSON_ENCODINGS_FUNC(x) UTF8::x, UTF16LE::x, UTF16BE::x, UTF32LE::x, UTF32BE::x template CEREAL_RAPIDJSON_FORCEINLINE static void Encode(OutputStream& os, unsigned codepoint) { typedef void (*EncodeFunc)(OutputStream&, unsigned); static const EncodeFunc f[] = { CEREAL_RAPIDJSON_ENCODINGS_FUNC(Encode) }; (*f[os.GetType()])(os, codepoint); } template CEREAL_RAPIDJSON_FORCEINLINE static void EncodeUnsafe(OutputStream& os, unsigned codepoint) { typedef void (*EncodeFunc)(OutputStream&, unsigned); static const EncodeFunc f[] = { CEREAL_RAPIDJSON_ENCODINGS_FUNC(EncodeUnsafe) }; (*f[os.GetType()])(os, codepoint); } template CEREAL_RAPIDJSON_FORCEINLINE static bool Decode(InputStream& is, unsigned* codepoint) { typedef bool (*DecodeFunc)(InputStream&, unsigned*); static const DecodeFunc f[] = { CEREAL_RAPIDJSON_ENCODINGS_FUNC(Decode) }; return (*f[is.GetType()])(is, codepoint); } template CEREAL_RAPIDJSON_FORCEINLINE static bool Validate(InputStream& is, OutputStream& os) { typedef bool (*ValidateFunc)(InputStream&, OutputStream&); static const ValidateFunc f[] = { CEREAL_RAPIDJSON_ENCODINGS_FUNC(Validate) }; return (*f[is.GetType()])(is, os); } #undef CEREAL_RAPIDJSON_ENCODINGS_FUNC }; /////////////////////////////////////////////////////////////////////////////// // Transcoder //! Encoding conversion. template struct Transcoder { //! Take one Unicode codepoint from source encoding, convert it to target encoding and put it to the output stream. template CEREAL_RAPIDJSON_FORCEINLINE static bool Transcode(InputStream& is, OutputStream& os) { unsigned codepoint; if (!SourceEncoding::Decode(is, &codepoint)) return false; TargetEncoding::Encode(os, codepoint); return true; } template CEREAL_RAPIDJSON_FORCEINLINE static bool TranscodeUnsafe(InputStream& is, OutputStream& os) { unsigned codepoint; if (!SourceEncoding::Decode(is, &codepoint)) return false; TargetEncoding::EncodeUnsafe(os, codepoint); return true; } //! Validate one Unicode codepoint from an encoded stream. template CEREAL_RAPIDJSON_FORCEINLINE static bool Validate(InputStream& is, OutputStream& os) { return Transcode(is, os); // Since source/target encoding is different, must transcode. } }; // Forward declaration. template inline void PutUnsafe(Stream& stream, typename Stream::Ch c); //! Specialization of Transcoder with same source and target encoding. template struct Transcoder { template CEREAL_RAPIDJSON_FORCEINLINE static bool Transcode(InputStream& is, OutputStream& os) { os.Put(is.Take()); // Just copy one code unit. This semantic is different from primary template class. return true; } template CEREAL_RAPIDJSON_FORCEINLINE static bool TranscodeUnsafe(InputStream& is, OutputStream& os) { PutUnsafe(os, is.Take()); // Just copy one code unit. This semantic is different from primary template class. return true; } template CEREAL_RAPIDJSON_FORCEINLINE static bool Validate(InputStream& is, OutputStream& os) { return Encoding::Validate(is, os); // source/target encoding are the same } }; CEREAL_RAPIDJSON_NAMESPACE_END #if defined(__GNUC__) || defined(_MSC_VER) CEREAL_RAPIDJSON_DIAG_POP #endif #endif // CEREAL_RAPIDJSON_ENCODINGS_H_ blockattack-game-2.5.0/source/code/Libs/include/cereal/external/rapidjson/error/000077500000000000000000000000001347224572500276475ustar00rootroot00000000000000blockattack-game-2.5.0/source/code/Libs/include/cereal/external/rapidjson/error/en.h000066400000000000000000000077601347224572500304340ustar00rootroot00000000000000// Tencent is pleased to support the open source community by making RapidJSON available. // // Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. // // Licensed under the MIT License (the "License"); you may not use this file except // in compliance with the License. You may obtain a copy of the License at // // http://opensource.org/licenses/MIT // // Unless required by applicable law or agreed to in writing, software distributed // under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR // CONDITIONS OF ANY KIND, either express or implied. See the License for the // specific language governing permissions and limitations under the License. #ifndef CEREAL_RAPIDJSON_ERROR_EN_H_ #define CEREAL_RAPIDJSON_ERROR_EN_H_ #include "error.h" #ifdef __clang__ CEREAL_RAPIDJSON_DIAG_PUSH CEREAL_RAPIDJSON_DIAG_OFF(switch-enum) CEREAL_RAPIDJSON_DIAG_OFF(covered-switch-default) #endif CEREAL_RAPIDJSON_NAMESPACE_BEGIN //! Maps error code of parsing into error message. /*! \ingroup CEREAL_RAPIDJSON_ERRORS \param parseErrorCode Error code obtained in parsing. \return the error message. \note User can make a copy of this function for localization. Using switch-case is safer for future modification of error codes. */ inline const CEREAL_RAPIDJSON_ERROR_CHARTYPE* GetParseError_En(ParseErrorCode parseErrorCode) { switch (parseErrorCode) { case kParseErrorNone: return CEREAL_RAPIDJSON_ERROR_STRING("No error."); case kParseErrorDocumentEmpty: return CEREAL_RAPIDJSON_ERROR_STRING("The document is empty."); case kParseErrorDocumentRootNotSingular: return CEREAL_RAPIDJSON_ERROR_STRING("The document root must not be followed by other values."); case kParseErrorValueInvalid: return CEREAL_RAPIDJSON_ERROR_STRING("Invalid value."); case kParseErrorObjectMissName: return CEREAL_RAPIDJSON_ERROR_STRING("Missing a name for object member."); case kParseErrorObjectMissColon: return CEREAL_RAPIDJSON_ERROR_STRING("Missing a colon after a name of object member."); case kParseErrorObjectMissCommaOrCurlyBracket: return CEREAL_RAPIDJSON_ERROR_STRING("Missing a comma or '}' after an object member."); case kParseErrorArrayMissCommaOrSquareBracket: return CEREAL_RAPIDJSON_ERROR_STRING("Missing a comma or ']' after an array element."); case kParseErrorStringUnicodeEscapeInvalidHex: return CEREAL_RAPIDJSON_ERROR_STRING("Incorrect hex digit after \\u escape in string."); case kParseErrorStringUnicodeSurrogateInvalid: return CEREAL_RAPIDJSON_ERROR_STRING("The surrogate pair in string is invalid."); case kParseErrorStringEscapeInvalid: return CEREAL_RAPIDJSON_ERROR_STRING("Invalid escape character in string."); case kParseErrorStringMissQuotationMark: return CEREAL_RAPIDJSON_ERROR_STRING("Missing a closing quotation mark in string."); case kParseErrorStringInvalidEncoding: return CEREAL_RAPIDJSON_ERROR_STRING("Invalid encoding in string."); case kParseErrorNumberTooBig: return CEREAL_RAPIDJSON_ERROR_STRING("Number too big to be stored in double."); case kParseErrorNumberMissFraction: return CEREAL_RAPIDJSON_ERROR_STRING("Miss fraction part in number."); case kParseErrorNumberMissExponent: return CEREAL_RAPIDJSON_ERROR_STRING("Miss exponent in number."); case kParseErrorTermination: return CEREAL_RAPIDJSON_ERROR_STRING("Terminate parsing due to Handler error."); case kParseErrorUnspecificSyntaxError: return CEREAL_RAPIDJSON_ERROR_STRING("Unspecific syntax error."); default: return CEREAL_RAPIDJSON_ERROR_STRING("Unknown error."); } } CEREAL_RAPIDJSON_NAMESPACE_END #ifdef __clang__ CEREAL_RAPIDJSON_DIAG_POP #endif #endif // CEREAL_RAPIDJSON_ERROR_EN_H_ blockattack-game-2.5.0/source/code/Libs/include/cereal/external/rapidjson/error/error.h000066400000000000000000000135411347224572500311550ustar00rootroot00000000000000// Tencent is pleased to support the open source community by making RapidJSON available. // // Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. // // Licensed under the MIT License (the "License"); you may not use this file except // in compliance with the License. You may obtain a copy of the License at // // http://opensource.org/licenses/MIT // // Unless required by applicable law or agreed to in writing, software distributed // under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR // CONDITIONS OF ANY KIND, either express or implied. See the License for the // specific language governing permissions and limitations under the License. #ifndef CEREAL_RAPIDJSON_ERROR_ERROR_H_ #define CEREAL_RAPIDJSON_ERROR_ERROR_H_ #include "../rapidjson.h" #ifdef __clang__ CEREAL_RAPIDJSON_DIAG_PUSH CEREAL_RAPIDJSON_DIAG_OFF(padded) #endif /*! \file error.h */ /*! \defgroup CEREAL_RAPIDJSON_ERRORS RapidJSON error handling */ /////////////////////////////////////////////////////////////////////////////// // CEREAL_RAPIDJSON_ERROR_CHARTYPE //! Character type of error messages. /*! \ingroup CEREAL_RAPIDJSON_ERRORS The default character type is \c char. On Windows, user can define this macro as \c TCHAR for supporting both unicode/non-unicode settings. */ #ifndef CEREAL_RAPIDJSON_ERROR_CHARTYPE #define CEREAL_RAPIDJSON_ERROR_CHARTYPE char #endif /////////////////////////////////////////////////////////////////////////////// // CEREAL_RAPIDJSON_ERROR_STRING //! Macro for converting string literial to \ref CEREAL_RAPIDJSON_ERROR_CHARTYPE[]. /*! \ingroup CEREAL_RAPIDJSON_ERRORS By default this conversion macro does nothing. On Windows, user can define this macro as \c _T(x) for supporting both unicode/non-unicode settings. */ #ifndef CEREAL_RAPIDJSON_ERROR_STRING #define CEREAL_RAPIDJSON_ERROR_STRING(x) x #endif CEREAL_RAPIDJSON_NAMESPACE_BEGIN /////////////////////////////////////////////////////////////////////////////// // ParseErrorCode //! Error code of parsing. /*! \ingroup CEREAL_RAPIDJSON_ERRORS \see GenericReader::Parse, GenericReader::GetParseErrorCode */ enum ParseErrorCode { kParseErrorNone = 0, //!< No error. kParseErrorDocumentEmpty, //!< The document is empty. kParseErrorDocumentRootNotSingular, //!< The document root must not follow by other values. kParseErrorValueInvalid, //!< Invalid value. kParseErrorObjectMissName, //!< Missing a name for object member. kParseErrorObjectMissColon, //!< Missing a colon after a name of object member. kParseErrorObjectMissCommaOrCurlyBracket, //!< Missing a comma or '}' after an object member. kParseErrorArrayMissCommaOrSquareBracket, //!< Missing a comma or ']' after an array element. kParseErrorStringUnicodeEscapeInvalidHex, //!< Incorrect hex digit after \\u escape in string. kParseErrorStringUnicodeSurrogateInvalid, //!< The surrogate pair in string is invalid. kParseErrorStringEscapeInvalid, //!< Invalid escape character in string. kParseErrorStringMissQuotationMark, //!< Missing a closing quotation mark in string. kParseErrorStringInvalidEncoding, //!< Invalid encoding in string. kParseErrorNumberTooBig, //!< Number too big to be stored in double. kParseErrorNumberMissFraction, //!< Miss fraction part in number. kParseErrorNumberMissExponent, //!< Miss exponent in number. kParseErrorTermination, //!< Parsing was terminated. kParseErrorUnspecificSyntaxError //!< Unspecific syntax error. }; //! Result of parsing (wraps ParseErrorCode) /*! \ingroup CEREAL_RAPIDJSON_ERRORS \code Document doc; ParseResult ok = doc.Parse("[42]"); if (!ok) { fprintf(stderr, "JSON parse error: %s (%u)", GetParseError_En(ok.Code()), ok.Offset()); exit(EXIT_FAILURE); } \endcode \see GenericReader::Parse, GenericDocument::Parse */ struct ParseResult { public: //! Default constructor, no error. ParseResult() : code_(kParseErrorNone), offset_(0) {} //! Constructor to set an error. ParseResult(ParseErrorCode code, size_t offset) : code_(code), offset_(offset) {} //! Get the error code. ParseErrorCode Code() const { return code_; } //! Get the error offset, if \ref IsError(), 0 otherwise. size_t Offset() const { return offset_; } //! Conversion to \c bool, returns \c true, iff !\ref IsError(). operator bool() const { return !IsError(); } //! Whether the result is an error. bool IsError() const { return code_ != kParseErrorNone; } bool operator==(const ParseResult& that) const { return code_ == that.code_; } bool operator==(ParseErrorCode code) const { return code_ == code; } friend bool operator==(ParseErrorCode code, const ParseResult & err) { return code == err.code_; } //! Reset error code. void Clear() { Set(kParseErrorNone); } //! Update error code and offset. void Set(ParseErrorCode code, size_t offset = 0) { code_ = code; offset_ = offset; } private: ParseErrorCode code_; size_t offset_; }; //! Function pointer type of GetParseError(). /*! \ingroup CEREAL_RAPIDJSON_ERRORS This is the prototype for \c GetParseError_X(), where \c X is a locale. User can dynamically change locale in runtime, e.g.: \code GetParseErrorFunc GetParseError = GetParseError_En; // or whatever const CEREAL_RAPIDJSON_ERROR_CHARTYPE* s = GetParseError(document.GetParseErrorCode()); \endcode */ typedef const CEREAL_RAPIDJSON_ERROR_CHARTYPE* (*GetParseErrorFunc)(ParseErrorCode); CEREAL_RAPIDJSON_NAMESPACE_END #ifdef __clang__ CEREAL_RAPIDJSON_DIAG_POP #endif #endif // CEREAL_RAPIDJSON_ERROR_ERROR_H_ blockattack-game-2.5.0/source/code/Libs/include/cereal/external/rapidjson/filereadstream.h000066400000000000000000000060341347224572500316610ustar00rootroot00000000000000// Tencent is pleased to support the open source community by making RapidJSON available. // // Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. // // Licensed under the MIT License (the "License"); you may not use this file except // in compliance with the License. You may obtain a copy of the License at // // http://opensource.org/licenses/MIT // // Unless required by applicable law or agreed to in writing, software distributed // under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR // CONDITIONS OF ANY KIND, either express or implied. See the License for the // specific language governing permissions and limitations under the License. #ifndef CEREAL_RAPIDJSON_FILEREADSTREAM_H_ #define CEREAL_RAPIDJSON_FILEREADSTREAM_H_ #include "stream.h" #include #ifdef __clang__ CEREAL_RAPIDJSON_DIAG_PUSH CEREAL_RAPIDJSON_DIAG_OFF(padded) CEREAL_RAPIDJSON_DIAG_OFF(unreachable-code) CEREAL_RAPIDJSON_DIAG_OFF(missing-noreturn) #endif CEREAL_RAPIDJSON_NAMESPACE_BEGIN //! File byte stream for input using fread(). /*! \note implements Stream concept */ class FileReadStream { public: typedef char Ch; //!< Character type (byte). //! Constructor. /*! \param fp File pointer opened for read. \param buffer user-supplied buffer. \param bufferSize size of buffer in bytes. Must >=4 bytes. */ FileReadStream(std::FILE* fp, char* buffer, size_t bufferSize) : fp_(fp), buffer_(buffer), bufferSize_(bufferSize), bufferLast_(0), current_(buffer_), readCount_(0), count_(0), eof_(false) { CEREAL_RAPIDJSON_ASSERT(fp_ != 0); CEREAL_RAPIDJSON_ASSERT(bufferSize >= 4); Read(); } Ch Peek() const { return *current_; } Ch Take() { Ch c = *current_; Read(); return c; } size_t Tell() const { return count_ + static_cast(current_ - buffer_); } // Not implemented void Put(Ch) { CEREAL_RAPIDJSON_ASSERT(false); } void Flush() { CEREAL_RAPIDJSON_ASSERT(false); } Ch* PutBegin() { CEREAL_RAPIDJSON_ASSERT(false); return 0; } size_t PutEnd(Ch*) { CEREAL_RAPIDJSON_ASSERT(false); return 0; } // For encoding detection only. const Ch* Peek4() const { return (current_ + 4 <= bufferLast_) ? current_ : 0; } private: void Read() { if (current_ < bufferLast_) ++current_; else if (!eof_) { count_ += readCount_; readCount_ = fread(buffer_, 1, bufferSize_, fp_); bufferLast_ = buffer_ + readCount_ - 1; current_ = buffer_; if (readCount_ < bufferSize_) { buffer_[readCount_] = '\0'; ++bufferLast_; eof_ = true; } } } std::FILE* fp_; Ch *buffer_; size_t bufferSize_; Ch *bufferLast_; Ch *current_; size_t readCount_; size_t count_; //!< Number of characters read bool eof_; }; CEREAL_RAPIDJSON_NAMESPACE_END #ifdef __clang__ CEREAL_RAPIDJSON_DIAG_POP #endif #endif // CEREAL_RAPIDJSON_FILESTREAM_H_ blockattack-game-2.5.0/source/code/Libs/include/cereal/external/rapidjson/filewritestream.h000066400000000000000000000062451347224572500321040ustar00rootroot00000000000000// Tencent is pleased to support the open source community by making RapidJSON available. // // Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. // // Licensed under the MIT License (the "License"); you may not use this file except // in compliance with the License. You may obtain a copy of the License at // // http://opensource.org/licenses/MIT // // Unless required by applicable law or agreed to in writing, software distributed // under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR // CONDITIONS OF ANY KIND, either express or implied. See the License for the // specific language governing permissions and limitations under the License. #ifndef CEREAL_RAPIDJSON_FILEWRITESTREAM_H_ #define CEREAL_RAPIDJSON_FILEWRITESTREAM_H_ #include "stream.h" #include #ifdef __clang__ CEREAL_RAPIDJSON_DIAG_PUSH CEREAL_RAPIDJSON_DIAG_OFF(unreachable-code) #endif CEREAL_RAPIDJSON_NAMESPACE_BEGIN //! Wrapper of C file stream for input using fread(). /*! \note implements Stream concept */ class FileWriteStream { public: typedef char Ch; //!< Character type. Only support char. FileWriteStream(std::FILE* fp, char* buffer, size_t bufferSize) : fp_(fp), buffer_(buffer), bufferEnd_(buffer + bufferSize), current_(buffer_) { CEREAL_RAPIDJSON_ASSERT(fp_ != 0); } void Put(char c) { if (current_ >= bufferEnd_) Flush(); *current_++ = c; } void PutN(char c, size_t n) { size_t avail = static_cast(bufferEnd_ - current_); while (n > avail) { std::memset(current_, c, avail); current_ += avail; Flush(); n -= avail; avail = static_cast(bufferEnd_ - current_); } if (n > 0) { std::memset(current_, c, n); current_ += n; } } void Flush() { if (current_ != buffer_) { size_t result = fwrite(buffer_, 1, static_cast(current_ - buffer_), fp_); if (result < static_cast(current_ - buffer_)) { // failure deliberately ignored at this time // added to avoid warn_unused_result build errors } current_ = buffer_; } } // Not implemented char Peek() const { CEREAL_RAPIDJSON_ASSERT(false); return 0; } char Take() { CEREAL_RAPIDJSON_ASSERT(false); return 0; } size_t Tell() const { CEREAL_RAPIDJSON_ASSERT(false); return 0; } char* PutBegin() { CEREAL_RAPIDJSON_ASSERT(false); return 0; } size_t PutEnd(char*) { CEREAL_RAPIDJSON_ASSERT(false); return 0; } private: // Prohibit copy constructor & assignment operator. FileWriteStream(const FileWriteStream&); FileWriteStream& operator=(const FileWriteStream&); std::FILE* fp_; char *buffer_; char *bufferEnd_; char *current_; }; //! Implement specialized version of PutN() with memset() for better performance. template<> inline void PutN(FileWriteStream& stream, char c, size_t n) { stream.PutN(c, n); } CEREAL_RAPIDJSON_NAMESPACE_END #ifdef __clang__ CEREAL_RAPIDJSON_DIAG_POP #endif #endif // CEREAL_RAPIDJSON_FILESTREAM_H_ blockattack-game-2.5.0/source/code/Libs/include/cereal/external/rapidjson/fwd.h000066400000000000000000000077461347224572500274650ustar00rootroot00000000000000// Tencent is pleased to support the open source community by making RapidJSON available. // // Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. // // Licensed under the MIT License (the "License"); you may not use this file except // in compliance with the License. You may obtain a copy of the License at // // http://opensource.org/licenses/MIT // // Unless required by applicable law or agreed to in writing, software distributed // under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR // CONDITIONS OF ANY KIND, either express or implied. See the License for the // specific language governing permissions and limitations under the License. #ifndef CEREAL_RAPIDJSON_FWD_H_ #define CEREAL_RAPIDJSON_FWD_H_ #include "rapidjson.h" CEREAL_RAPIDJSON_NAMESPACE_BEGIN // encodings.h template struct UTF8; template struct UTF16; template struct UTF16BE; template struct UTF16LE; template struct UTF32; template struct UTF32BE; template struct UTF32LE; template struct ASCII; template struct AutoUTF; template struct Transcoder; // allocators.h class CrtAllocator; template class MemoryPoolAllocator; // stream.h template struct GenericStringStream; typedef GenericStringStream > StringStream; template struct GenericInsituStringStream; typedef GenericInsituStringStream > InsituStringStream; // stringbuffer.h template class GenericStringBuffer; typedef GenericStringBuffer, CrtAllocator> StringBuffer; // filereadstream.h class FileReadStream; // filewritestream.h class FileWriteStream; // memorybuffer.h template struct GenericMemoryBuffer; typedef GenericMemoryBuffer MemoryBuffer; // memorystream.h struct MemoryStream; // reader.h template struct BaseReaderHandler; template class GenericReader; typedef GenericReader, UTF8, CrtAllocator> Reader; // writer.h template class Writer; // prettywriter.h template class PrettyWriter; // document.h template struct GenericMember; template class GenericMemberIterator; template struct GenericStringRef; template class GenericValue; typedef GenericValue, MemoryPoolAllocator > Value; template class GenericDocument; typedef GenericDocument, MemoryPoolAllocator, CrtAllocator> Document; // pointer.h template class GenericPointer; typedef GenericPointer Pointer; // schema.h template class IGenericRemoteSchemaDocumentProvider; template class GenericSchemaDocument; typedef GenericSchemaDocument SchemaDocument; typedef IGenericRemoteSchemaDocumentProvider IRemoteSchemaDocumentProvider; template < typename SchemaDocumentType, typename OutputHandler, typename StateAllocator> class GenericSchemaValidator; typedef GenericSchemaValidator, void>, CrtAllocator> SchemaValidator; CEREAL_RAPIDJSON_NAMESPACE_END #endif // CEREAL_RAPIDJSON_RAPIDJSONFWD_H_ blockattack-game-2.5.0/source/code/Libs/include/cereal/external/rapidjson/internal/000077500000000000000000000000001347224572500303325ustar00rootroot00000000000000blockattack-game-2.5.0/source/code/Libs/include/cereal/external/rapidjson/internal/biginteger.h000066400000000000000000000220071347224572500326230ustar00rootroot00000000000000// Tencent is pleased to support the open source community by making RapidJSON available. // // Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. // // Licensed under the MIT License (the "License"); you may not use this file except // in compliance with the License. You may obtain a copy of the License at // // http://opensource.org/licenses/MIT // // Unless required by applicable law or agreed to in writing, software distributed // under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR // CONDITIONS OF ANY KIND, either express or implied. See the License for the // specific language governing permissions and limitations under the License. #ifndef CEREAL_RAPIDJSON_BIGINTEGER_H_ #define CEREAL_RAPIDJSON_BIGINTEGER_H_ #include "../rapidjson.h" #if defined(_MSC_VER) && defined(_M_AMD64) #include // for _umul128 #pragma intrinsic(_umul128) #endif CEREAL_RAPIDJSON_NAMESPACE_BEGIN namespace internal { class BigInteger { public: typedef uint64_t Type; BigInteger(const BigInteger& rhs) : count_(rhs.count_) { std::memcpy(digits_, rhs.digits_, count_ * sizeof(Type)); } explicit BigInteger(uint64_t u) : count_(1) { digits_[0] = u; } BigInteger(const char* decimals, size_t length) : count_(1) { CEREAL_RAPIDJSON_ASSERT(length > 0); digits_[0] = 0; size_t i = 0; const size_t kMaxDigitPerIteration = 19; // 2^64 = 18446744073709551616 > 10^19 while (length >= kMaxDigitPerIteration) { AppendDecimal64(decimals + i, decimals + i + kMaxDigitPerIteration); length -= kMaxDigitPerIteration; i += kMaxDigitPerIteration; } if (length > 0) AppendDecimal64(decimals + i, decimals + i + length); } BigInteger& operator=(const BigInteger &rhs) { if (this != &rhs) { count_ = rhs.count_; std::memcpy(digits_, rhs.digits_, count_ * sizeof(Type)); } return *this; } BigInteger& operator=(uint64_t u) { digits_[0] = u; count_ = 1; return *this; } BigInteger& operator+=(uint64_t u) { Type backup = digits_[0]; digits_[0] += u; for (size_t i = 0; i < count_ - 1; i++) { if (digits_[i] >= backup) return *this; // no carry backup = digits_[i + 1]; digits_[i + 1] += 1; } // Last carry if (digits_[count_ - 1] < backup) PushBack(1); return *this; } BigInteger& operator*=(uint64_t u) { if (u == 0) return *this = 0; if (u == 1) return *this; if (*this == 1) return *this = u; uint64_t k = 0; for (size_t i = 0; i < count_; i++) { uint64_t hi; digits_[i] = MulAdd64(digits_[i], u, k, &hi); k = hi; } if (k > 0) PushBack(k); return *this; } BigInteger& operator*=(uint32_t u) { if (u == 0) return *this = 0; if (u == 1) return *this; if (*this == 1) return *this = u; uint64_t k = 0; for (size_t i = 0; i < count_; i++) { const uint64_t c = digits_[i] >> 32; const uint64_t d = digits_[i] & 0xFFFFFFFF; const uint64_t uc = u * c; const uint64_t ud = u * d; const uint64_t p0 = ud + k; const uint64_t p1 = uc + (p0 >> 32); digits_[i] = (p0 & 0xFFFFFFFF) | (p1 << 32); k = p1 >> 32; } if (k > 0) PushBack(k); return *this; } BigInteger& operator<<=(size_t shift) { if (IsZero() || shift == 0) return *this; size_t offset = shift / kTypeBit; size_t interShift = shift % kTypeBit; CEREAL_RAPIDJSON_ASSERT(count_ + offset <= kCapacity); if (interShift == 0) { std::memmove(&digits_[count_ - 1 + offset], &digits_[count_ - 1], count_ * sizeof(Type)); count_ += offset; } else { digits_[count_] = 0; for (size_t i = count_; i > 0; i--) digits_[i + offset] = (digits_[i] << interShift) | (digits_[i - 1] >> (kTypeBit - interShift)); digits_[offset] = digits_[0] << interShift; count_ += offset; if (digits_[count_]) count_++; } std::memset(digits_, 0, offset * sizeof(Type)); return *this; } bool operator==(const BigInteger& rhs) const { return count_ == rhs.count_ && std::memcmp(digits_, rhs.digits_, count_ * sizeof(Type)) == 0; } bool operator==(const Type rhs) const { return count_ == 1 && digits_[0] == rhs; } BigInteger& MultiplyPow5(unsigned exp) { static const uint32_t kPow5[12] = { 5, 5 * 5, 5 * 5 * 5, 5 * 5 * 5 * 5, 5 * 5 * 5 * 5 * 5, 5 * 5 * 5 * 5 * 5 * 5, 5 * 5 * 5 * 5 * 5 * 5 * 5, 5 * 5 * 5 * 5 * 5 * 5 * 5 * 5, 5 * 5 * 5 * 5 * 5 * 5 * 5 * 5 * 5, 5 * 5 * 5 * 5 * 5 * 5 * 5 * 5 * 5 * 5, 5 * 5 * 5 * 5 * 5 * 5 * 5 * 5 * 5 * 5 * 5, 5 * 5 * 5 * 5 * 5 * 5 * 5 * 5 * 5 * 5 * 5 * 5 }; if (exp == 0) return *this; for (; exp >= 27; exp -= 27) *this *= CEREAL_RAPIDJSON_UINT64_C2(0X6765C793, 0XFA10079D); // 5^27 for (; exp >= 13; exp -= 13) *this *= static_cast(1220703125u); // 5^13 if (exp > 0) *this *= kPow5[exp - 1]; return *this; } // Compute absolute difference of this and rhs. // Assume this != rhs bool Difference(const BigInteger& rhs, BigInteger* out) const { int cmp = Compare(rhs); CEREAL_RAPIDJSON_ASSERT(cmp != 0); const BigInteger *a, *b; // Makes a > b bool ret; if (cmp < 0) { a = &rhs; b = this; ret = true; } else { a = this; b = &rhs; ret = false; } Type borrow = 0; for (size_t i = 0; i < a->count_; i++) { Type d = a->digits_[i] - borrow; if (i < b->count_) d -= b->digits_[i]; borrow = (d > a->digits_[i]) ? 1 : 0; out->digits_[i] = d; if (d != 0) out->count_ = i + 1; } return ret; } int Compare(const BigInteger& rhs) const { if (count_ != rhs.count_) return count_ < rhs.count_ ? -1 : 1; for (size_t i = count_; i-- > 0;) if (digits_[i] != rhs.digits_[i]) return digits_[i] < rhs.digits_[i] ? -1 : 1; return 0; } size_t GetCount() const { return count_; } Type GetDigit(size_t index) const { CEREAL_RAPIDJSON_ASSERT(index < count_); return digits_[index]; } bool IsZero() const { return count_ == 1 && digits_[0] == 0; } private: void AppendDecimal64(const char* begin, const char* end) { uint64_t u = ParseUint64(begin, end); if (IsZero()) *this = u; else { unsigned exp = static_cast(end - begin); (MultiplyPow5(exp) <<= exp) += u; // *this = *this * 10^exp + u } } void PushBack(Type digit) { CEREAL_RAPIDJSON_ASSERT(count_ < kCapacity); digits_[count_++] = digit; } static uint64_t ParseUint64(const char* begin, const char* end) { uint64_t r = 0; for (const char* p = begin; p != end; ++p) { CEREAL_RAPIDJSON_ASSERT(*p >= '0' && *p <= '9'); r = r * 10u + static_cast(*p - '0'); } return r; } // Assume a * b + k < 2^128 static uint64_t MulAdd64(uint64_t a, uint64_t b, uint64_t k, uint64_t* outHigh) { #if defined(_MSC_VER) && defined(_M_AMD64) uint64_t low = _umul128(a, b, outHigh) + k; if (low < k) (*outHigh)++; return low; #elif (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)) && defined(__x86_64__) __extension__ typedef unsigned __int128 uint128; uint128 p = static_cast(a) * static_cast(b); p += k; *outHigh = static_cast(p >> 64); return static_cast(p); #else const uint64_t a0 = a & 0xFFFFFFFF, a1 = a >> 32, b0 = b & 0xFFFFFFFF, b1 = b >> 32; uint64_t x0 = a0 * b0, x1 = a0 * b1, x2 = a1 * b0, x3 = a1 * b1; x1 += (x0 >> 32); // can't give carry x1 += x2; if (x1 < x2) x3 += (static_cast(1) << 32); uint64_t lo = (x1 << 32) + (x0 & 0xFFFFFFFF); uint64_t hi = x3 + (x1 >> 32); lo += k; if (lo < k) hi++; *outHigh = hi; return lo; #endif } static const size_t kBitCount = 3328; // 64bit * 54 > 10^1000 static const size_t kCapacity = kBitCount / sizeof(Type); static const size_t kTypeBit = sizeof(Type) * 8; Type digits_[kCapacity]; size_t count_; }; } // namespace internal CEREAL_RAPIDJSON_NAMESPACE_END #endif // CEREAL_RAPIDJSON_BIGINTEGER_H_ blockattack-game-2.5.0/source/code/Libs/include/cereal/external/rapidjson/internal/diyfp.h000066400000000000000000000277021347224572500316260ustar00rootroot00000000000000// Tencent is pleased to support the open source community by making RapidJSON available. // // Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. // // Licensed under the MIT License (the "License"); you may not use this file except // in compliance with the License. You may obtain a copy of the License at // // http://opensource.org/licenses/MIT // // Unless required by applicable law or agreed to in writing, software distributed // under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR // CONDITIONS OF ANY KIND, either express or implied. See the License for the // specific language governing permissions and limitations under the License. // This is a C++ header-only implementation of Grisu2 algorithm from the publication: // Loitsch, Florian. "Printing floating-point numbers quickly and accurately with // integers." ACM Sigplan Notices 45.6 (2010): 233-243. #ifndef CEREAL_RAPIDJSON_DIYFP_H_ #define CEREAL_RAPIDJSON_DIYFP_H_ #include "../rapidjson.h" #if defined(_MSC_VER) && defined(_M_AMD64) #include #pragma intrinsic(_BitScanReverse64) #pragma intrinsic(_umul128) #endif CEREAL_RAPIDJSON_NAMESPACE_BEGIN namespace internal { #ifdef __GNUC__ CEREAL_RAPIDJSON_DIAG_PUSH CEREAL_RAPIDJSON_DIAG_OFF(effc++) #endif #ifdef __clang__ CEREAL_RAPIDJSON_DIAG_PUSH CEREAL_RAPIDJSON_DIAG_OFF(padded) #endif struct DiyFp { DiyFp() : f(), e() {} DiyFp(uint64_t fp, int exp) : f(fp), e(exp) {} explicit DiyFp(double d) { union { double d; uint64_t u64; } u = { d }; int biased_e = static_cast((u.u64 & kDpExponentMask) >> kDpSignificandSize); uint64_t significand = (u.u64 & kDpSignificandMask); if (biased_e != 0) { f = significand + kDpHiddenBit; e = biased_e - kDpExponentBias; } else { f = significand; e = kDpMinExponent + 1; } } DiyFp operator-(const DiyFp& rhs) const { return DiyFp(f - rhs.f, e); } DiyFp operator*(const DiyFp& rhs) const { #if defined(_MSC_VER) && defined(_M_AMD64) uint64_t h; uint64_t l = _umul128(f, rhs.f, &h); if (l & (uint64_t(1) << 63)) // rounding h++; return DiyFp(h, e + rhs.e + 64); #elif (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)) && defined(__x86_64__) __extension__ typedef unsigned __int128 uint128; uint128 p = static_cast(f) * static_cast(rhs.f); uint64_t h = static_cast(p >> 64); uint64_t l = static_cast(p); if (l & (uint64_t(1) << 63)) // rounding h++; return DiyFp(h, e + rhs.e + 64); #else const uint64_t M32 = 0xFFFFFFFF; const uint64_t a = f >> 32; const uint64_t b = f & M32; const uint64_t c = rhs.f >> 32; const uint64_t d = rhs.f & M32; const uint64_t ac = a * c; const uint64_t bc = b * c; const uint64_t ad = a * d; const uint64_t bd = b * d; uint64_t tmp = (bd >> 32) + (ad & M32) + (bc & M32); tmp += 1U << 31; /// mult_round return DiyFp(ac + (ad >> 32) + (bc >> 32) + (tmp >> 32), e + rhs.e + 64); #endif } DiyFp Normalize() const { #if defined(_MSC_VER) && defined(_M_AMD64) unsigned long index; _BitScanReverse64(&index, f); return DiyFp(f << (63 - index), e - (63 - index)); #elif defined(__GNUC__) && __GNUC__ >= 4 int s = __builtin_clzll(f); return DiyFp(f << s, e - s); #else DiyFp res = *this; while (!(res.f & (static_cast(1) << 63))) { res.f <<= 1; res.e--; } return res; #endif } DiyFp NormalizeBoundary() const { DiyFp res = *this; while (!(res.f & (kDpHiddenBit << 1))) { res.f <<= 1; res.e--; } res.f <<= (kDiySignificandSize - kDpSignificandSize - 2); res.e = res.e - (kDiySignificandSize - kDpSignificandSize - 2); return res; } void NormalizedBoundaries(DiyFp* minus, DiyFp* plus) const { DiyFp pl = DiyFp((f << 1) + 1, e - 1).NormalizeBoundary(); DiyFp mi = (f == kDpHiddenBit) ? DiyFp((f << 2) - 1, e - 2) : DiyFp((f << 1) - 1, e - 1); mi.f <<= mi.e - pl.e; mi.e = pl.e; *plus = pl; *minus = mi; } double ToDouble() const { union { double d; uint64_t u64; }u; const uint64_t be = (e == kDpDenormalExponent && (f & kDpHiddenBit) == 0) ? 0 : static_cast(e + kDpExponentBias); u.u64 = (f & kDpSignificandMask) | (be << kDpSignificandSize); return u.d; } static const int kDiySignificandSize = 64; static const int kDpSignificandSize = 52; static const int kDpExponentBias = 0x3FF + kDpSignificandSize; static const int kDpMaxExponent = 0x7FF - kDpExponentBias; static const int kDpMinExponent = -kDpExponentBias; static const int kDpDenormalExponent = -kDpExponentBias + 1; static const uint64_t kDpExponentMask = CEREAL_RAPIDJSON_UINT64_C2(0x7FF00000, 0x00000000); static const uint64_t kDpSignificandMask = CEREAL_RAPIDJSON_UINT64_C2(0x000FFFFF, 0xFFFFFFFF); static const uint64_t kDpHiddenBit = CEREAL_RAPIDJSON_UINT64_C2(0x00100000, 0x00000000); uint64_t f; int e; }; inline DiyFp GetCachedPowerByIndex(size_t index) { // 10^-348, 10^-340, ..., 10^340 static const uint64_t kCachedPowers_F[] = { CEREAL_RAPIDJSON_UINT64_C2(0xfa8fd5a0, 0x081c0288), CEREAL_RAPIDJSON_UINT64_C2(0xbaaee17f, 0xa23ebf76), CEREAL_RAPIDJSON_UINT64_C2(0x8b16fb20, 0x3055ac76), CEREAL_RAPIDJSON_UINT64_C2(0xcf42894a, 0x5dce35ea), CEREAL_RAPIDJSON_UINT64_C2(0x9a6bb0aa, 0x55653b2d), CEREAL_RAPIDJSON_UINT64_C2(0xe61acf03, 0x3d1a45df), CEREAL_RAPIDJSON_UINT64_C2(0xab70fe17, 0xc79ac6ca), CEREAL_RAPIDJSON_UINT64_C2(0xff77b1fc, 0xbebcdc4f), CEREAL_RAPIDJSON_UINT64_C2(0xbe5691ef, 0x416bd60c), CEREAL_RAPIDJSON_UINT64_C2(0x8dd01fad, 0x907ffc3c), CEREAL_RAPIDJSON_UINT64_C2(0xd3515c28, 0x31559a83), CEREAL_RAPIDJSON_UINT64_C2(0x9d71ac8f, 0xada6c9b5), CEREAL_RAPIDJSON_UINT64_C2(0xea9c2277, 0x23ee8bcb), CEREAL_RAPIDJSON_UINT64_C2(0xaecc4991, 0x4078536d), CEREAL_RAPIDJSON_UINT64_C2(0x823c1279, 0x5db6ce57), CEREAL_RAPIDJSON_UINT64_C2(0xc2109436, 0x4dfb5637), CEREAL_RAPIDJSON_UINT64_C2(0x9096ea6f, 0x3848984f), CEREAL_RAPIDJSON_UINT64_C2(0xd77485cb, 0x25823ac7), CEREAL_RAPIDJSON_UINT64_C2(0xa086cfcd, 0x97bf97f4), CEREAL_RAPIDJSON_UINT64_C2(0xef340a98, 0x172aace5), CEREAL_RAPIDJSON_UINT64_C2(0xb23867fb, 0x2a35b28e), CEREAL_RAPIDJSON_UINT64_C2(0x84c8d4df, 0xd2c63f3b), CEREAL_RAPIDJSON_UINT64_C2(0xc5dd4427, 0x1ad3cdba), CEREAL_RAPIDJSON_UINT64_C2(0x936b9fce, 0xbb25c996), CEREAL_RAPIDJSON_UINT64_C2(0xdbac6c24, 0x7d62a584), CEREAL_RAPIDJSON_UINT64_C2(0xa3ab6658, 0x0d5fdaf6), CEREAL_RAPIDJSON_UINT64_C2(0xf3e2f893, 0xdec3f126), CEREAL_RAPIDJSON_UINT64_C2(0xb5b5ada8, 0xaaff80b8), CEREAL_RAPIDJSON_UINT64_C2(0x87625f05, 0x6c7c4a8b), CEREAL_RAPIDJSON_UINT64_C2(0xc9bcff60, 0x34c13053), CEREAL_RAPIDJSON_UINT64_C2(0x964e858c, 0x91ba2655), CEREAL_RAPIDJSON_UINT64_C2(0xdff97724, 0x70297ebd), CEREAL_RAPIDJSON_UINT64_C2(0xa6dfbd9f, 0xb8e5b88f), CEREAL_RAPIDJSON_UINT64_C2(0xf8a95fcf, 0x88747d94), CEREAL_RAPIDJSON_UINT64_C2(0xb9447093, 0x8fa89bcf), CEREAL_RAPIDJSON_UINT64_C2(0x8a08f0f8, 0xbf0f156b), CEREAL_RAPIDJSON_UINT64_C2(0xcdb02555, 0x653131b6), CEREAL_RAPIDJSON_UINT64_C2(0x993fe2c6, 0xd07b7fac), CEREAL_RAPIDJSON_UINT64_C2(0xe45c10c4, 0x2a2b3b06), CEREAL_RAPIDJSON_UINT64_C2(0xaa242499, 0x697392d3), CEREAL_RAPIDJSON_UINT64_C2(0xfd87b5f2, 0x8300ca0e), CEREAL_RAPIDJSON_UINT64_C2(0xbce50864, 0x92111aeb), CEREAL_RAPIDJSON_UINT64_C2(0x8cbccc09, 0x6f5088cc), CEREAL_RAPIDJSON_UINT64_C2(0xd1b71758, 0xe219652c), CEREAL_RAPIDJSON_UINT64_C2(0x9c400000, 0x00000000), CEREAL_RAPIDJSON_UINT64_C2(0xe8d4a510, 0x00000000), CEREAL_RAPIDJSON_UINT64_C2(0xad78ebc5, 0xac620000), CEREAL_RAPIDJSON_UINT64_C2(0x813f3978, 0xf8940984), CEREAL_RAPIDJSON_UINT64_C2(0xc097ce7b, 0xc90715b3), CEREAL_RAPIDJSON_UINT64_C2(0x8f7e32ce, 0x7bea5c70), CEREAL_RAPIDJSON_UINT64_C2(0xd5d238a4, 0xabe98068), CEREAL_RAPIDJSON_UINT64_C2(0x9f4f2726, 0x179a2245), CEREAL_RAPIDJSON_UINT64_C2(0xed63a231, 0xd4c4fb27), CEREAL_RAPIDJSON_UINT64_C2(0xb0de6538, 0x8cc8ada8), CEREAL_RAPIDJSON_UINT64_C2(0x83c7088e, 0x1aab65db), CEREAL_RAPIDJSON_UINT64_C2(0xc45d1df9, 0x42711d9a), CEREAL_RAPIDJSON_UINT64_C2(0x924d692c, 0xa61be758), CEREAL_RAPIDJSON_UINT64_C2(0xda01ee64, 0x1a708dea), CEREAL_RAPIDJSON_UINT64_C2(0xa26da399, 0x9aef774a), CEREAL_RAPIDJSON_UINT64_C2(0xf209787b, 0xb47d6b85), CEREAL_RAPIDJSON_UINT64_C2(0xb454e4a1, 0x79dd1877), CEREAL_RAPIDJSON_UINT64_C2(0x865b8692, 0x5b9bc5c2), CEREAL_RAPIDJSON_UINT64_C2(0xc83553c5, 0xc8965d3d), CEREAL_RAPIDJSON_UINT64_C2(0x952ab45c, 0xfa97a0b3), CEREAL_RAPIDJSON_UINT64_C2(0xde469fbd, 0x99a05fe3), CEREAL_RAPIDJSON_UINT64_C2(0xa59bc234, 0xdb398c25), CEREAL_RAPIDJSON_UINT64_C2(0xf6c69a72, 0xa3989f5c), CEREAL_RAPIDJSON_UINT64_C2(0xb7dcbf53, 0x54e9bece), CEREAL_RAPIDJSON_UINT64_C2(0x88fcf317, 0xf22241e2), CEREAL_RAPIDJSON_UINT64_C2(0xcc20ce9b, 0xd35c78a5), CEREAL_RAPIDJSON_UINT64_C2(0x98165af3, 0x7b2153df), CEREAL_RAPIDJSON_UINT64_C2(0xe2a0b5dc, 0x971f303a), CEREAL_RAPIDJSON_UINT64_C2(0xa8d9d153, 0x5ce3b396), CEREAL_RAPIDJSON_UINT64_C2(0xfb9b7cd9, 0xa4a7443c), CEREAL_RAPIDJSON_UINT64_C2(0xbb764c4c, 0xa7a44410), CEREAL_RAPIDJSON_UINT64_C2(0x8bab8eef, 0xb6409c1a), CEREAL_RAPIDJSON_UINT64_C2(0xd01fef10, 0xa657842c), CEREAL_RAPIDJSON_UINT64_C2(0x9b10a4e5, 0xe9913129), CEREAL_RAPIDJSON_UINT64_C2(0xe7109bfb, 0xa19c0c9d), CEREAL_RAPIDJSON_UINT64_C2(0xac2820d9, 0x623bf429), CEREAL_RAPIDJSON_UINT64_C2(0x80444b5e, 0x7aa7cf85), CEREAL_RAPIDJSON_UINT64_C2(0xbf21e440, 0x03acdd2d), CEREAL_RAPIDJSON_UINT64_C2(0x8e679c2f, 0x5e44ff8f), CEREAL_RAPIDJSON_UINT64_C2(0xd433179d, 0x9c8cb841), CEREAL_RAPIDJSON_UINT64_C2(0x9e19db92, 0xb4e31ba9), CEREAL_RAPIDJSON_UINT64_C2(0xeb96bf6e, 0xbadf77d9), CEREAL_RAPIDJSON_UINT64_C2(0xaf87023b, 0x9bf0ee6b) }; static const int16_t kCachedPowers_E[] = { -1220, -1193, -1166, -1140, -1113, -1087, -1060, -1034, -1007, -980, -954, -927, -901, -874, -847, -821, -794, -768, -741, -715, -688, -661, -635, -608, -582, -555, -529, -502, -475, -449, -422, -396, -369, -343, -316, -289, -263, -236, -210, -183, -157, -130, -103, -77, -50, -24, 3, 30, 56, 83, 109, 136, 162, 189, 216, 242, 269, 295, 322, 348, 375, 402, 428, 455, 481, 508, 534, 561, 588, 614, 641, 667, 694, 720, 747, 774, 800, 827, 853, 880, 907, 933, 960, 986, 1013, 1039, 1066 }; return DiyFp(kCachedPowers_F[index], kCachedPowers_E[index]); } inline DiyFp GetCachedPower(int e, int* K) { //int k = static_cast(ceil((-61 - e) * 0.30102999566398114)) + 374; double dk = (-61 - e) * 0.30102999566398114 + 347; // dk must be positive, so can do ceiling in positive int k = static_cast(dk); if (dk - k > 0.0) k++; unsigned index = static_cast((k >> 3) + 1); *K = -(-348 + static_cast(index << 3)); // decimal exponent no need lookup table return GetCachedPowerByIndex(index); } inline DiyFp GetCachedPower10(int exp, int *outExp) { unsigned index = (static_cast(exp) + 348u) / 8u; *outExp = -348 + static_cast(index) * 8; return GetCachedPowerByIndex(index); } #ifdef __GNUC__ CEREAL_RAPIDJSON_DIAG_POP #endif #ifdef __clang__ CEREAL_RAPIDJSON_DIAG_POP CEREAL_RAPIDJSON_DIAG_OFF(padded) #endif } // namespace internal CEREAL_RAPIDJSON_NAMESPACE_END #endif // CEREAL_RAPIDJSON_DIYFP_H_ blockattack-game-2.5.0/source/code/Libs/include/cereal/external/rapidjson/internal/dtoa.h000066400000000000000000000200621347224572500314320ustar00rootroot00000000000000// Tencent is pleased to support the open source community by making RapidJSON available. // // Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. // // Licensed under the MIT License (the "License"); you may not use this file except // in compliance with the License. You may obtain a copy of the License at // // http://opensource.org/licenses/MIT // // Unless required by applicable law or agreed to in writing, software distributed // under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR // CONDITIONS OF ANY KIND, either express or implied. See the License for the // specific language governing permissions and limitations under the License. // This is a C++ header-only implementation of Grisu2 algorithm from the publication: // Loitsch, Florian. "Printing floating-point numbers quickly and accurately with // integers." ACM Sigplan Notices 45.6 (2010): 233-243. #ifndef CEREAL_RAPIDJSON_DTOA_ #define CEREAL_RAPIDJSON_DTOA_ #include "itoa.h" // GetDigitsLut() #include "diyfp.h" #include "ieee754.h" CEREAL_RAPIDJSON_NAMESPACE_BEGIN namespace internal { #ifdef __GNUC__ CEREAL_RAPIDJSON_DIAG_PUSH CEREAL_RAPIDJSON_DIAG_OFF(effc++) CEREAL_RAPIDJSON_DIAG_OFF(array-bounds) // some gcc versions generate wrong warnings https://gcc.gnu.org/bugzilla/show_bug.cgi?id=59124 #endif inline void GrisuRound(char* buffer, int len, uint64_t delta, uint64_t rest, uint64_t ten_kappa, uint64_t wp_w) { while (rest < wp_w && delta - rest >= ten_kappa && (rest + ten_kappa < wp_w || /// closer wp_w - rest > rest + ten_kappa - wp_w)) { buffer[len - 1]--; rest += ten_kappa; } } inline unsigned CountDecimalDigit32(uint32_t n) { // Simple pure C++ implementation was faster than __builtin_clz version in this situation. if (n < 10) return 1; if (n < 100) return 2; if (n < 1000) return 3; if (n < 10000) return 4; if (n < 100000) return 5; if (n < 1000000) return 6; if (n < 10000000) return 7; if (n < 100000000) return 8; // Will not reach 10 digits in DigitGen() //if (n < 1000000000) return 9; //return 10; return 9; } inline void DigitGen(const DiyFp& W, const DiyFp& Mp, uint64_t delta, char* buffer, int* len, int* K) { static const uint32_t kPow10[] = { 1, 10, 100, 1000, 10000, 100000, 1000000, 10000000, 100000000, 1000000000 }; const DiyFp one(uint64_t(1) << -Mp.e, Mp.e); const DiyFp wp_w = Mp - W; uint32_t p1 = static_cast(Mp.f >> -one.e); uint64_t p2 = Mp.f & (one.f - 1); unsigned kappa = CountDecimalDigit32(p1); // kappa in [0, 9] *len = 0; while (kappa > 0) { uint32_t d = 0; switch (kappa) { case 9: d = p1 / 100000000; p1 %= 100000000; break; case 8: d = p1 / 10000000; p1 %= 10000000; break; case 7: d = p1 / 1000000; p1 %= 1000000; break; case 6: d = p1 / 100000; p1 %= 100000; break; case 5: d = p1 / 10000; p1 %= 10000; break; case 4: d = p1 / 1000; p1 %= 1000; break; case 3: d = p1 / 100; p1 %= 100; break; case 2: d = p1 / 10; p1 %= 10; break; case 1: d = p1; p1 = 0; break; default:; } if (d || *len) buffer[(*len)++] = static_cast('0' + static_cast(d)); kappa--; uint64_t tmp = (static_cast(p1) << -one.e) + p2; if (tmp <= delta) { *K += kappa; GrisuRound(buffer, *len, delta, tmp, static_cast(kPow10[kappa]) << -one.e, wp_w.f); return; } } // kappa = 0 for (;;) { p2 *= 10; delta *= 10; char d = static_cast(p2 >> -one.e); if (d || *len) buffer[(*len)++] = static_cast('0' + d); p2 &= one.f - 1; kappa--; if (p2 < delta) { *K += kappa; int index = -static_cast(kappa); GrisuRound(buffer, *len, delta, p2, one.f, wp_w.f * (index < 9 ? kPow10[-static_cast(kappa)] : 0)); return; } } } inline void Grisu2(double value, char* buffer, int* length, int* K) { const DiyFp v(value); DiyFp w_m, w_p; v.NormalizedBoundaries(&w_m, &w_p); const DiyFp c_mk = GetCachedPower(w_p.e, K); const DiyFp W = v.Normalize() * c_mk; DiyFp Wp = w_p * c_mk; DiyFp Wm = w_m * c_mk; Wm.f++; Wp.f--; DigitGen(W, Wp, Wp.f - Wm.f, buffer, length, K); } inline char* WriteExponent(int K, char* buffer) { if (K < 0) { *buffer++ = '-'; K = -K; } if (K >= 100) { *buffer++ = static_cast('0' + static_cast(K / 100)); K %= 100; const char* d = GetDigitsLut() + K * 2; *buffer++ = d[0]; *buffer++ = d[1]; } else if (K >= 10) { const char* d = GetDigitsLut() + K * 2; *buffer++ = d[0]; *buffer++ = d[1]; } else *buffer++ = static_cast('0' + static_cast(K)); return buffer; } inline char* Prettify(char* buffer, int length, int k, int maxDecimalPlaces) { const int kk = length + k; // 10^(kk-1) <= v < 10^kk if (0 <= k && kk <= 21) { // 1234e7 -> 12340000000 for (int i = length; i < kk; i++) buffer[i] = '0'; buffer[kk] = '.'; buffer[kk + 1] = '0'; return &buffer[kk + 2]; } else if (0 < kk && kk <= 21) { // 1234e-2 -> 12.34 std::memmove(&buffer[kk + 1], &buffer[kk], static_cast(length - kk)); buffer[kk] = '.'; if (0 > k + maxDecimalPlaces) { // When maxDecimalPlaces = 2, 1.2345 -> 1.23, 1.102 -> 1.1 // Remove extra trailing zeros (at least one) after truncation. for (int i = kk + maxDecimalPlaces; i > kk + 1; i--) if (buffer[i] != '0') return &buffer[i + 1]; return &buffer[kk + 2]; // Reserve one zero } else return &buffer[length + 1]; } else if (-6 < kk && kk <= 0) { // 1234e-6 -> 0.001234 const int offset = 2 - kk; std::memmove(&buffer[offset], &buffer[0], static_cast(length)); buffer[0] = '0'; buffer[1] = '.'; for (int i = 2; i < offset; i++) buffer[i] = '0'; if (length - kk > maxDecimalPlaces) { // When maxDecimalPlaces = 2, 0.123 -> 0.12, 0.102 -> 0.1 // Remove extra trailing zeros (at least one) after truncation. for (int i = maxDecimalPlaces + 1; i > 2; i--) if (buffer[i] != '0') return &buffer[i + 1]; return &buffer[3]; // Reserve one zero } else return &buffer[length + offset]; } else if (kk < -maxDecimalPlaces) { // Truncate to zero buffer[0] = '0'; buffer[1] = '.'; buffer[2] = '0'; return &buffer[3]; } else if (length == 1) { // 1e30 buffer[1] = 'e'; return WriteExponent(kk - 1, &buffer[2]); } else { // 1234e30 -> 1.234e33 std::memmove(&buffer[2], &buffer[1], static_cast(length - 1)); buffer[1] = '.'; buffer[length + 1] = 'e'; return WriteExponent(kk - 1, &buffer[0 + length + 2]); } } inline char* dtoa(double value, char* buffer, int maxDecimalPlaces = 324) { CEREAL_RAPIDJSON_ASSERT(maxDecimalPlaces >= 1); Double d(value); if (d.IsZero()) { if (d.Sign()) *buffer++ = '-'; // -0.0, Issue #289 buffer[0] = '0'; buffer[1] = '.'; buffer[2] = '0'; return &buffer[3]; } else { if (value < 0) { *buffer++ = '-'; value = -value; } int length, K; Grisu2(value, buffer, &length, &K); return Prettify(buffer, length, K, maxDecimalPlaces); } } #ifdef __GNUC__ CEREAL_RAPIDJSON_DIAG_POP #endif } // namespace internal CEREAL_RAPIDJSON_NAMESPACE_END #endif // CEREAL_RAPIDJSON_DTOA_ blockattack-game-2.5.0/source/code/Libs/include/cereal/external/rapidjson/internal/ieee754.h000066400000000000000000000060241347224572500316540ustar00rootroot00000000000000// Tencent is pleased to support the open source community by making RapidJSON available. // // Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. // // Licensed under the MIT License (the "License"); you may not use this file except // in compliance with the License. You may obtain a copy of the License at // // http://opensource.org/licenses/MIT // // Unless required by applicable law or agreed to in writing, software distributed // under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR // CONDITIONS OF ANY KIND, either express or implied. See the License for the // specific language governing permissions and limitations under the License. #ifndef CEREAL_RAPIDJSON_IEEE754_ #define CEREAL_RAPIDJSON_IEEE754_ #include "../rapidjson.h" CEREAL_RAPIDJSON_NAMESPACE_BEGIN namespace internal { class Double { public: Double() {} Double(double d) : d_(d) {} Double(uint64_t u) : u_(u) {} double Value() const { return d_; } uint64_t Uint64Value() const { return u_; } double NextPositiveDouble() const { CEREAL_RAPIDJSON_ASSERT(!Sign()); return Double(u_ + 1).Value(); } bool Sign() const { return (u_ & kSignMask) != 0; } uint64_t Significand() const { return u_ & kSignificandMask; } int Exponent() const { return static_cast(((u_ & kExponentMask) >> kSignificandSize) - kExponentBias); } bool IsNan() const { return (u_ & kExponentMask) == kExponentMask && Significand() != 0; } bool IsInf() const { return (u_ & kExponentMask) == kExponentMask && Significand() == 0; } bool IsNanOrInf() const { return (u_ & kExponentMask) == kExponentMask; } bool IsNormal() const { return (u_ & kExponentMask) != 0 || Significand() == 0; } bool IsZero() const { return (u_ & (kExponentMask | kSignificandMask)) == 0; } uint64_t IntegerSignificand() const { return IsNormal() ? Significand() | kHiddenBit : Significand(); } int IntegerExponent() const { return (IsNormal() ? Exponent() : kDenormalExponent) - kSignificandSize; } uint64_t ToBias() const { return (u_ & kSignMask) ? ~u_ + 1 : u_ | kSignMask; } static unsigned EffectiveSignificandSize(int order) { if (order >= -1021) return 53; else if (order <= -1074) return 0; else return static_cast(order) + 1074; } private: static const int kSignificandSize = 52; static const int kExponentBias = 0x3FF; static const int kDenormalExponent = 1 - kExponentBias; static const uint64_t kSignMask = CEREAL_RAPIDJSON_UINT64_C2(0x80000000, 0x00000000); static const uint64_t kExponentMask = CEREAL_RAPIDJSON_UINT64_C2(0x7FF00000, 0x00000000); static const uint64_t kSignificandMask = CEREAL_RAPIDJSON_UINT64_C2(0x000FFFFF, 0xFFFFFFFF); static const uint64_t kHiddenBit = CEREAL_RAPIDJSON_UINT64_C2(0x00100000, 0x00000000); union { double d_; uint64_t u_; }; }; } // namespace internal CEREAL_RAPIDJSON_NAMESPACE_END #endif // CEREAL_RAPIDJSON_IEEE754_ blockattack-game-2.5.0/source/code/Libs/include/cereal/external/rapidjson/internal/itoa.h000066400000000000000000000241451347224572500314450ustar00rootroot00000000000000// Tencent is pleased to support the open source community by making RapidJSON available. // // Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. // // Licensed under the MIT License (the "License"); you may not use this file except // in compliance with the License. You may obtain a copy of the License at // // http://opensource.org/licenses/MIT // // Unless required by applicable law or agreed to in writing, software distributed // under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR // CONDITIONS OF ANY KIND, either express or implied. See the License for the // specific language governing permissions and limitations under the License. #ifndef CEREAL_RAPIDJSON_ITOA_ #define CEREAL_RAPIDJSON_ITOA_ #include "../rapidjson.h" CEREAL_RAPIDJSON_NAMESPACE_BEGIN namespace internal { inline const char* GetDigitsLut() { static const char cDigitsLut[200] = { '0','0','0','1','0','2','0','3','0','4','0','5','0','6','0','7','0','8','0','9', '1','0','1','1','1','2','1','3','1','4','1','5','1','6','1','7','1','8','1','9', '2','0','2','1','2','2','2','3','2','4','2','5','2','6','2','7','2','8','2','9', '3','0','3','1','3','2','3','3','3','4','3','5','3','6','3','7','3','8','3','9', '4','0','4','1','4','2','4','3','4','4','4','5','4','6','4','7','4','8','4','9', '5','0','5','1','5','2','5','3','5','4','5','5','5','6','5','7','5','8','5','9', '6','0','6','1','6','2','6','3','6','4','6','5','6','6','6','7','6','8','6','9', '7','0','7','1','7','2','7','3','7','4','7','5','7','6','7','7','7','8','7','9', '8','0','8','1','8','2','8','3','8','4','8','5','8','6','8','7','8','8','8','9', '9','0','9','1','9','2','9','3','9','4','9','5','9','6','9','7','9','8','9','9' }; return cDigitsLut; } inline char* u32toa(uint32_t value, char* buffer) { const char* cDigitsLut = GetDigitsLut(); if (value < 10000) { const uint32_t d1 = (value / 100) << 1; const uint32_t d2 = (value % 100) << 1; if (value >= 1000) *buffer++ = cDigitsLut[d1]; if (value >= 100) *buffer++ = cDigitsLut[d1 + 1]; if (value >= 10) *buffer++ = cDigitsLut[d2]; *buffer++ = cDigitsLut[d2 + 1]; } else if (value < 100000000) { // value = bbbbcccc const uint32_t b = value / 10000; const uint32_t c = value % 10000; const uint32_t d1 = (b / 100) << 1; const uint32_t d2 = (b % 100) << 1; const uint32_t d3 = (c / 100) << 1; const uint32_t d4 = (c % 100) << 1; if (value >= 10000000) *buffer++ = cDigitsLut[d1]; if (value >= 1000000) *buffer++ = cDigitsLut[d1 + 1]; if (value >= 100000) *buffer++ = cDigitsLut[d2]; *buffer++ = cDigitsLut[d2 + 1]; *buffer++ = cDigitsLut[d3]; *buffer++ = cDigitsLut[d3 + 1]; *buffer++ = cDigitsLut[d4]; *buffer++ = cDigitsLut[d4 + 1]; } else { // value = aabbbbcccc in decimal const uint32_t a = value / 100000000; // 1 to 42 value %= 100000000; if (a >= 10) { const unsigned i = a << 1; *buffer++ = cDigitsLut[i]; *buffer++ = cDigitsLut[i + 1]; } else *buffer++ = static_cast('0' + static_cast(a)); const uint32_t b = value / 10000; // 0 to 9999 const uint32_t c = value % 10000; // 0 to 9999 const uint32_t d1 = (b / 100) << 1; const uint32_t d2 = (b % 100) << 1; const uint32_t d3 = (c / 100) << 1; const uint32_t d4 = (c % 100) << 1; *buffer++ = cDigitsLut[d1]; *buffer++ = cDigitsLut[d1 + 1]; *buffer++ = cDigitsLut[d2]; *buffer++ = cDigitsLut[d2 + 1]; *buffer++ = cDigitsLut[d3]; *buffer++ = cDigitsLut[d3 + 1]; *buffer++ = cDigitsLut[d4]; *buffer++ = cDigitsLut[d4 + 1]; } return buffer; } inline char* i32toa(int32_t value, char* buffer) { uint32_t u = static_cast(value); if (value < 0) { *buffer++ = '-'; u = ~u + 1; } return u32toa(u, buffer); } inline char* u64toa(uint64_t value, char* buffer) { const char* cDigitsLut = GetDigitsLut(); const uint64_t kTen8 = 100000000; const uint64_t kTen9 = kTen8 * 10; const uint64_t kTen10 = kTen8 * 100; const uint64_t kTen11 = kTen8 * 1000; const uint64_t kTen12 = kTen8 * 10000; const uint64_t kTen13 = kTen8 * 100000; const uint64_t kTen14 = kTen8 * 1000000; const uint64_t kTen15 = kTen8 * 10000000; const uint64_t kTen16 = kTen8 * kTen8; if (value < kTen8) { uint32_t v = static_cast(value); if (v < 10000) { const uint32_t d1 = (v / 100) << 1; const uint32_t d2 = (v % 100) << 1; if (v >= 1000) *buffer++ = cDigitsLut[d1]; if (v >= 100) *buffer++ = cDigitsLut[d1 + 1]; if (v >= 10) *buffer++ = cDigitsLut[d2]; *buffer++ = cDigitsLut[d2 + 1]; } else { // value = bbbbcccc const uint32_t b = v / 10000; const uint32_t c = v % 10000; const uint32_t d1 = (b / 100) << 1; const uint32_t d2 = (b % 100) << 1; const uint32_t d3 = (c / 100) << 1; const uint32_t d4 = (c % 100) << 1; if (value >= 10000000) *buffer++ = cDigitsLut[d1]; if (value >= 1000000) *buffer++ = cDigitsLut[d1 + 1]; if (value >= 100000) *buffer++ = cDigitsLut[d2]; *buffer++ = cDigitsLut[d2 + 1]; *buffer++ = cDigitsLut[d3]; *buffer++ = cDigitsLut[d3 + 1]; *buffer++ = cDigitsLut[d4]; *buffer++ = cDigitsLut[d4 + 1]; } } else if (value < kTen16) { const uint32_t v0 = static_cast(value / kTen8); const uint32_t v1 = static_cast(value % kTen8); const uint32_t b0 = v0 / 10000; const uint32_t c0 = v0 % 10000; const uint32_t d1 = (b0 / 100) << 1; const uint32_t d2 = (b0 % 100) << 1; const uint32_t d3 = (c0 / 100) << 1; const uint32_t d4 = (c0 % 100) << 1; const uint32_t b1 = v1 / 10000; const uint32_t c1 = v1 % 10000; const uint32_t d5 = (b1 / 100) << 1; const uint32_t d6 = (b1 % 100) << 1; const uint32_t d7 = (c1 / 100) << 1; const uint32_t d8 = (c1 % 100) << 1; if (value >= kTen15) *buffer++ = cDigitsLut[d1]; if (value >= kTen14) *buffer++ = cDigitsLut[d1 + 1]; if (value >= kTen13) *buffer++ = cDigitsLut[d2]; if (value >= kTen12) *buffer++ = cDigitsLut[d2 + 1]; if (value >= kTen11) *buffer++ = cDigitsLut[d3]; if (value >= kTen10) *buffer++ = cDigitsLut[d3 + 1]; if (value >= kTen9) *buffer++ = cDigitsLut[d4]; if (value >= kTen8) *buffer++ = cDigitsLut[d4 + 1]; *buffer++ = cDigitsLut[d5]; *buffer++ = cDigitsLut[d5 + 1]; *buffer++ = cDigitsLut[d6]; *buffer++ = cDigitsLut[d6 + 1]; *buffer++ = cDigitsLut[d7]; *buffer++ = cDigitsLut[d7 + 1]; *buffer++ = cDigitsLut[d8]; *buffer++ = cDigitsLut[d8 + 1]; } else { const uint32_t a = static_cast(value / kTen16); // 1 to 1844 value %= kTen16; if (a < 10) *buffer++ = static_cast('0' + static_cast(a)); else if (a < 100) { const uint32_t i = a << 1; *buffer++ = cDigitsLut[i]; *buffer++ = cDigitsLut[i + 1]; } else if (a < 1000) { *buffer++ = static_cast('0' + static_cast(a / 100)); const uint32_t i = (a % 100) << 1; *buffer++ = cDigitsLut[i]; *buffer++ = cDigitsLut[i + 1]; } else { const uint32_t i = (a / 100) << 1; const uint32_t j = (a % 100) << 1; *buffer++ = cDigitsLut[i]; *buffer++ = cDigitsLut[i + 1]; *buffer++ = cDigitsLut[j]; *buffer++ = cDigitsLut[j + 1]; } const uint32_t v0 = static_cast(value / kTen8); const uint32_t v1 = static_cast(value % kTen8); const uint32_t b0 = v0 / 10000; const uint32_t c0 = v0 % 10000; const uint32_t d1 = (b0 / 100) << 1; const uint32_t d2 = (b0 % 100) << 1; const uint32_t d3 = (c0 / 100) << 1; const uint32_t d4 = (c0 % 100) << 1; const uint32_t b1 = v1 / 10000; const uint32_t c1 = v1 % 10000; const uint32_t d5 = (b1 / 100) << 1; const uint32_t d6 = (b1 % 100) << 1; const uint32_t d7 = (c1 / 100) << 1; const uint32_t d8 = (c1 % 100) << 1; *buffer++ = cDigitsLut[d1]; *buffer++ = cDigitsLut[d1 + 1]; *buffer++ = cDigitsLut[d2]; *buffer++ = cDigitsLut[d2 + 1]; *buffer++ = cDigitsLut[d3]; *buffer++ = cDigitsLut[d3 + 1]; *buffer++ = cDigitsLut[d4]; *buffer++ = cDigitsLut[d4 + 1]; *buffer++ = cDigitsLut[d5]; *buffer++ = cDigitsLut[d5 + 1]; *buffer++ = cDigitsLut[d6]; *buffer++ = cDigitsLut[d6 + 1]; *buffer++ = cDigitsLut[d7]; *buffer++ = cDigitsLut[d7 + 1]; *buffer++ = cDigitsLut[d8]; *buffer++ = cDigitsLut[d8 + 1]; } return buffer; } inline char* i64toa(int64_t value, char* buffer) { uint64_t u = static_cast(value); if (value < 0) { *buffer++ = '-'; u = ~u + 1; } return u64toa(u, buffer); } } // namespace internal CEREAL_RAPIDJSON_NAMESPACE_END #endif // CEREAL_RAPIDJSON_ITOA_ blockattack-game-2.5.0/source/code/Libs/include/cereal/external/rapidjson/internal/meta.h000066400000000000000000000152231347224572500314340ustar00rootroot00000000000000// Tencent is pleased to support the open source community by making RapidJSON available. // // Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. // // Licensed under the MIT License (the "License"); you may not use this file except // in compliance with the License. You may obtain a copy of the License at // // http://opensource.org/licenses/MIT // // Unless required by applicable law or agreed to in writing, software distributed // under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR // CONDITIONS OF ANY KIND, either express or implied. See the License for the // specific language governing permissions and limitations under the License. #ifndef CEREAL_RAPIDJSON_INTERNAL_META_H_ #define CEREAL_RAPIDJSON_INTERNAL_META_H_ #include "../rapidjson.h" #ifdef __GNUC__ CEREAL_RAPIDJSON_DIAG_PUSH CEREAL_RAPIDJSON_DIAG_OFF(effc++) #endif #if defined(_MSC_VER) CEREAL_RAPIDJSON_DIAG_PUSH CEREAL_RAPIDJSON_DIAG_OFF(6334) #endif #if CEREAL_RAPIDJSON_HAS_CXX11_TYPETRAITS #include #endif //@cond CEREAL_RAPIDJSON_INTERNAL CEREAL_RAPIDJSON_NAMESPACE_BEGIN namespace internal { // Helper to wrap/convert arbitrary types to void, useful for arbitrary type matching template struct Void { typedef void Type; }; /////////////////////////////////////////////////////////////////////////////// // BoolType, TrueType, FalseType // template struct BoolType { static const bool Value = Cond; typedef BoolType Type; }; typedef BoolType TrueType; typedef BoolType FalseType; /////////////////////////////////////////////////////////////////////////////// // SelectIf, BoolExpr, NotExpr, AndExpr, OrExpr // template struct SelectIfImpl { template struct Apply { typedef T1 Type; }; }; template <> struct SelectIfImpl { template struct Apply { typedef T2 Type; }; }; template struct SelectIfCond : SelectIfImpl::template Apply {}; template struct SelectIf : SelectIfCond {}; template struct AndExprCond : FalseType {}; template <> struct AndExprCond : TrueType {}; template struct OrExprCond : TrueType {}; template <> struct OrExprCond : FalseType {}; template struct BoolExpr : SelectIf::Type {}; template struct NotExpr : SelectIf::Type {}; template struct AndExpr : AndExprCond::Type {}; template struct OrExpr : OrExprCond::Type {}; /////////////////////////////////////////////////////////////////////////////// // AddConst, MaybeAddConst, RemoveConst template struct AddConst { typedef const T Type; }; template struct MaybeAddConst : SelectIfCond {}; template struct RemoveConst { typedef T Type; }; template struct RemoveConst { typedef T Type; }; /////////////////////////////////////////////////////////////////////////////// // IsSame, IsConst, IsMoreConst, IsPointer // template struct IsSame : FalseType {}; template struct IsSame : TrueType {}; template struct IsConst : FalseType {}; template struct IsConst : TrueType {}; template struct IsMoreConst : AndExpr::Type, typename RemoveConst::Type>, BoolType::Value >= IsConst::Value> >::Type {}; template struct IsPointer : FalseType {}; template struct IsPointer : TrueType {}; /////////////////////////////////////////////////////////////////////////////// // IsBaseOf // #if CEREAL_RAPIDJSON_HAS_CXX11_TYPETRAITS template struct IsBaseOf : BoolType< ::std::is_base_of::value> {}; #else // simplified version adopted from Boost template struct IsBaseOfImpl { CEREAL_RAPIDJSON_STATIC_ASSERT(sizeof(B) != 0); CEREAL_RAPIDJSON_STATIC_ASSERT(sizeof(D) != 0); typedef char (&Yes)[1]; typedef char (&No) [2]; template static Yes Check(const D*, T); static No Check(const B*, int); struct Host { operator const B*() const; operator const D*(); }; enum { Value = (sizeof(Check(Host(), 0)) == sizeof(Yes)) }; }; template struct IsBaseOf : OrExpr, BoolExpr > >::Type {}; #endif // CEREAL_RAPIDJSON_HAS_CXX11_TYPETRAITS ////////////////////////////////////////////////////////////////////////// // EnableIf / DisableIf // template struct EnableIfCond { typedef T Type; }; template struct EnableIfCond { /* empty */ }; template struct DisableIfCond { typedef T Type; }; template struct DisableIfCond { /* empty */ }; template struct EnableIf : EnableIfCond {}; template struct DisableIf : DisableIfCond {}; // SFINAE helpers struct SfinaeTag {}; template struct RemoveSfinaeTag; template struct RemoveSfinaeTag { typedef T Type; }; #define CEREAL_RAPIDJSON_REMOVEFPTR_(type) \ typename ::CEREAL_RAPIDJSON_NAMESPACE::internal::RemoveSfinaeTag \ < ::CEREAL_RAPIDJSON_NAMESPACE::internal::SfinaeTag&(*) type>::Type #define CEREAL_RAPIDJSON_ENABLEIF(cond) \ typename ::CEREAL_RAPIDJSON_NAMESPACE::internal::EnableIf \ ::Type * = NULL #define CEREAL_RAPIDJSON_DISABLEIF(cond) \ typename ::CEREAL_RAPIDJSON_NAMESPACE::internal::DisableIf \ ::Type * = NULL #define CEREAL_RAPIDJSON_ENABLEIF_RETURN(cond,returntype) \ typename ::CEREAL_RAPIDJSON_NAMESPACE::internal::EnableIf \ ::Type #define CEREAL_RAPIDJSON_DISABLEIF_RETURN(cond,returntype) \ typename ::CEREAL_RAPIDJSON_NAMESPACE::internal::DisableIf \ ::Type } // namespace internal CEREAL_RAPIDJSON_NAMESPACE_END //@endcond #if defined(__GNUC__) || defined(_MSC_VER) CEREAL_RAPIDJSON_DIAG_POP #endif #endif // CEREAL_RAPIDJSON_INTERNAL_META_H_ blockattack-game-2.5.0/source/code/Libs/include/cereal/external/rapidjson/internal/pow10.h000066400000000000000000000070651347224572500314610ustar00rootroot00000000000000// Tencent is pleased to support the open source community by making RapidJSON available. // // Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. // // Licensed under the MIT License (the "License"); you may not use this file except // in compliance with the License. You may obtain a copy of the License at // // http://opensource.org/licenses/MIT // // Unless required by applicable law or agreed to in writing, software distributed // under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR // CONDITIONS OF ANY KIND, either express or implied. See the License for the // specific language governing permissions and limitations under the License. #ifndef CEREAL_RAPIDJSON_POW10_ #define CEREAL_RAPIDJSON_POW10_ #include "../rapidjson.h" CEREAL_RAPIDJSON_NAMESPACE_BEGIN namespace internal { //! Computes integer powers of 10 in double (10.0^n). /*! This function uses lookup table for fast and accurate results. \param n non-negative exponent. Must <= 308. \return 10.0^n */ inline double Pow10(int n) { static const double e[] = { // 1e-0...1e308: 309 * 8 bytes = 2472 bytes 1e+0, 1e+1, 1e+2, 1e+3, 1e+4, 1e+5, 1e+6, 1e+7, 1e+8, 1e+9, 1e+10, 1e+11, 1e+12, 1e+13, 1e+14, 1e+15, 1e+16, 1e+17, 1e+18, 1e+19, 1e+20, 1e+21, 1e+22, 1e+23, 1e+24, 1e+25, 1e+26, 1e+27, 1e+28, 1e+29, 1e+30, 1e+31, 1e+32, 1e+33, 1e+34, 1e+35, 1e+36, 1e+37, 1e+38, 1e+39, 1e+40, 1e+41, 1e+42, 1e+43, 1e+44, 1e+45, 1e+46, 1e+47, 1e+48, 1e+49, 1e+50, 1e+51, 1e+52, 1e+53, 1e+54, 1e+55, 1e+56, 1e+57, 1e+58, 1e+59, 1e+60, 1e+61, 1e+62, 1e+63, 1e+64, 1e+65, 1e+66, 1e+67, 1e+68, 1e+69, 1e+70, 1e+71, 1e+72, 1e+73, 1e+74, 1e+75, 1e+76, 1e+77, 1e+78, 1e+79, 1e+80, 1e+81, 1e+82, 1e+83, 1e+84, 1e+85, 1e+86, 1e+87, 1e+88, 1e+89, 1e+90, 1e+91, 1e+92, 1e+93, 1e+94, 1e+95, 1e+96, 1e+97, 1e+98, 1e+99, 1e+100, 1e+101,1e+102,1e+103,1e+104,1e+105,1e+106,1e+107,1e+108,1e+109,1e+110,1e+111,1e+112,1e+113,1e+114,1e+115,1e+116,1e+117,1e+118,1e+119,1e+120, 1e+121,1e+122,1e+123,1e+124,1e+125,1e+126,1e+127,1e+128,1e+129,1e+130,1e+131,1e+132,1e+133,1e+134,1e+135,1e+136,1e+137,1e+138,1e+139,1e+140, 1e+141,1e+142,1e+143,1e+144,1e+145,1e+146,1e+147,1e+148,1e+149,1e+150,1e+151,1e+152,1e+153,1e+154,1e+155,1e+156,1e+157,1e+158,1e+159,1e+160, 1e+161,1e+162,1e+163,1e+164,1e+165,1e+166,1e+167,1e+168,1e+169,1e+170,1e+171,1e+172,1e+173,1e+174,1e+175,1e+176,1e+177,1e+178,1e+179,1e+180, 1e+181,1e+182,1e+183,1e+184,1e+185,1e+186,1e+187,1e+188,1e+189,1e+190,1e+191,1e+192,1e+193,1e+194,1e+195,1e+196,1e+197,1e+198,1e+199,1e+200, 1e+201,1e+202,1e+203,1e+204,1e+205,1e+206,1e+207,1e+208,1e+209,1e+210,1e+211,1e+212,1e+213,1e+214,1e+215,1e+216,1e+217,1e+218,1e+219,1e+220, 1e+221,1e+222,1e+223,1e+224,1e+225,1e+226,1e+227,1e+228,1e+229,1e+230,1e+231,1e+232,1e+233,1e+234,1e+235,1e+236,1e+237,1e+238,1e+239,1e+240, 1e+241,1e+242,1e+243,1e+244,1e+245,1e+246,1e+247,1e+248,1e+249,1e+250,1e+251,1e+252,1e+253,1e+254,1e+255,1e+256,1e+257,1e+258,1e+259,1e+260, 1e+261,1e+262,1e+263,1e+264,1e+265,1e+266,1e+267,1e+268,1e+269,1e+270,1e+271,1e+272,1e+273,1e+274,1e+275,1e+276,1e+277,1e+278,1e+279,1e+280, 1e+281,1e+282,1e+283,1e+284,1e+285,1e+286,1e+287,1e+288,1e+289,1e+290,1e+291,1e+292,1e+293,1e+294,1e+295,1e+296,1e+297,1e+298,1e+299,1e+300, 1e+301,1e+302,1e+303,1e+304,1e+305,1e+306,1e+307,1e+308 }; CEREAL_RAPIDJSON_ASSERT(n >= 0 && n <= 308); return e[n]; } } // namespace internal CEREAL_RAPIDJSON_NAMESPACE_END #endif // CEREAL_RAPIDJSON_POW10_ blockattack-game-2.5.0/source/code/Libs/include/cereal/external/rapidjson/internal/regex.h000066400000000000000000000607221347224572500316240ustar00rootroot00000000000000// Tencent is pleased to support the open source community by making RapidJSON available. // // Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. // // Licensed under the MIT License (the "License"); you may not use this file except // in compliance with the License. You may obtain a copy of the License at // // http://opensource.org/licenses/MIT // // Unless required by applicable law or agreed to in writing, software distributed // under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR // CONDITIONS OF ANY KIND, either express or implied. See the License for the // specific language governing permissions and limitations under the License. #ifndef CEREAL_RAPIDJSON_INTERNAL_REGEX_H_ #define CEREAL_RAPIDJSON_INTERNAL_REGEX_H_ #include "../allocators.h" #include "../stream.h" #include "stack.h" #ifdef __clang__ CEREAL_RAPIDJSON_DIAG_PUSH CEREAL_RAPIDJSON_DIAG_OFF(padded) CEREAL_RAPIDJSON_DIAG_OFF(switch-enum) CEREAL_RAPIDJSON_DIAG_OFF(implicit-fallthrough) #endif #ifdef __GNUC__ CEREAL_RAPIDJSON_DIAG_PUSH CEREAL_RAPIDJSON_DIAG_OFF(effc++) #endif #ifdef _MSC_VER CEREAL_RAPIDJSON_DIAG_PUSH CEREAL_RAPIDJSON_DIAG_OFF(4512) // assignment operator could not be generated #endif #ifndef CEREAL_RAPIDJSON_REGEX_VERBOSE #define CEREAL_RAPIDJSON_REGEX_VERBOSE 0 #endif CEREAL_RAPIDJSON_NAMESPACE_BEGIN namespace internal { /////////////////////////////////////////////////////////////////////////////// // GenericRegex static const SizeType kRegexInvalidState = ~SizeType(0); //!< Represents an invalid index in GenericRegex::State::out, out1 static const SizeType kRegexInvalidRange = ~SizeType(0); //! Regular expression engine with subset of ECMAscript grammar. /*! Supported regular expression syntax: - \c ab Concatenation - \c a|b Alternation - \c a? Zero or one - \c a* Zero or more - \c a+ One or more - \c a{3} Exactly 3 times - \c a{3,} At least 3 times - \c a{3,5} 3 to 5 times - \c (ab) Grouping - \c ^a At the beginning - \c a$ At the end - \c . Any character - \c [abc] Character classes - \c [a-c] Character class range - \c [a-z0-9_] Character class combination - \c [^abc] Negated character classes - \c [^a-c] Negated character class range - \c [\b] Backspace (U+0008) - \c \\| \\\\ ... Escape characters - \c \\f Form feed (U+000C) - \c \\n Line feed (U+000A) - \c \\r Carriage return (U+000D) - \c \\t Tab (U+0009) - \c \\v Vertical tab (U+000B) \note This is a Thompson NFA engine, implemented with reference to Cox, Russ. "Regular Expression Matching Can Be Simple And Fast (but is slow in Java, Perl, PHP, Python, Ruby,...).", https://swtch.com/~rsc/regexp/regexp1.html */ template class GenericRegex { public: typedef typename Encoding::Ch Ch; GenericRegex(const Ch* source, Allocator* allocator = 0) : states_(allocator, 256), ranges_(allocator, 256), root_(kRegexInvalidState), stateCount_(), rangeCount_(), stateSet_(), state0_(allocator, 0), state1_(allocator, 0), anchorBegin_(), anchorEnd_() { GenericStringStream ss(source); DecodedStream > ds(ss); Parse(ds); } ~GenericRegex() { Allocator::Free(stateSet_); } bool IsValid() const { return root_ != kRegexInvalidState; } template bool Match(InputStream& is) const { return SearchWithAnchoring(is, true, true); } bool Match(const Ch* s) const { GenericStringStream is(s); return Match(is); } template bool Search(InputStream& is) const { return SearchWithAnchoring(is, anchorBegin_, anchorEnd_); } bool Search(const Ch* s) const { GenericStringStream is(s); return Search(is); } private: enum Operator { kZeroOrOne, kZeroOrMore, kOneOrMore, kConcatenation, kAlternation, kLeftParenthesis }; static const unsigned kAnyCharacterClass = 0xFFFFFFFF; //!< For '.' static const unsigned kRangeCharacterClass = 0xFFFFFFFE; static const unsigned kRangeNegationFlag = 0x80000000; struct Range { unsigned start; // unsigned end; SizeType next; }; struct State { SizeType out; //!< Equals to kInvalid for matching state SizeType out1; //!< Equals to non-kInvalid for split SizeType rangeStart; unsigned codepoint; }; struct Frag { Frag(SizeType s, SizeType o, SizeType m) : start(s), out(o), minIndex(m) {} SizeType start; SizeType out; //!< link-list of all output states SizeType minIndex; }; template class DecodedStream { public: DecodedStream(SourceStream& ss) : ss_(ss), codepoint_() { Decode(); } unsigned Peek() { return codepoint_; } unsigned Take() { unsigned c = codepoint_; if (c) // No further decoding when '\0' Decode(); return c; } private: void Decode() { if (!Encoding::Decode(ss_, &codepoint_)) codepoint_ = 0; } SourceStream& ss_; unsigned codepoint_; }; State& GetState(SizeType index) { CEREAL_RAPIDJSON_ASSERT(index < stateCount_); return states_.template Bottom()[index]; } const State& GetState(SizeType index) const { CEREAL_RAPIDJSON_ASSERT(index < stateCount_); return states_.template Bottom()[index]; } Range& GetRange(SizeType index) { CEREAL_RAPIDJSON_ASSERT(index < rangeCount_); return ranges_.template Bottom()[index]; } const Range& GetRange(SizeType index) const { CEREAL_RAPIDJSON_ASSERT(index < rangeCount_); return ranges_.template Bottom()[index]; } template void Parse(DecodedStream& ds) { Allocator allocator; Stack operandStack(&allocator, 256); // Frag Stack operatorStack(&allocator, 256); // Operator Stack atomCountStack(&allocator, 256); // unsigned (Atom per parenthesis) *atomCountStack.template Push() = 0; unsigned codepoint; while (ds.Peek() != 0) { switch (codepoint = ds.Take()) { case '^': anchorBegin_ = true; break; case '$': anchorEnd_ = true; break; case '|': while (!operatorStack.Empty() && *operatorStack.template Top() < kAlternation) if (!Eval(operandStack, *operatorStack.template Pop(1))) return; *operatorStack.template Push() = kAlternation; *atomCountStack.template Top() = 0; break; case '(': *operatorStack.template Push() = kLeftParenthesis; *atomCountStack.template Push() = 0; break; case ')': while (!operatorStack.Empty() && *operatorStack.template Top() != kLeftParenthesis) if (!Eval(operandStack, *operatorStack.template Pop(1))) return; if (operatorStack.Empty()) return; operatorStack.template Pop(1); atomCountStack.template Pop(1); ImplicitConcatenation(atomCountStack, operatorStack); break; case '?': if (!Eval(operandStack, kZeroOrOne)) return; break; case '*': if (!Eval(operandStack, kZeroOrMore)) return; break; case '+': if (!Eval(operandStack, kOneOrMore)) return; break; case '{': { unsigned n, m; if (!ParseUnsigned(ds, &n)) return; if (ds.Peek() == ',') { ds.Take(); if (ds.Peek() == '}') m = kInfinityQuantifier; else if (!ParseUnsigned(ds, &m) || m < n) return; } else m = n; if (!EvalQuantifier(operandStack, n, m) || ds.Peek() != '}') return; ds.Take(); } break; case '.': PushOperand(operandStack, kAnyCharacterClass); ImplicitConcatenation(atomCountStack, operatorStack); break; case '[': { SizeType range; if (!ParseRange(ds, &range)) return; SizeType s = NewState(kRegexInvalidState, kRegexInvalidState, kRangeCharacterClass); GetState(s).rangeStart = range; *operandStack.template Push() = Frag(s, s, s); } ImplicitConcatenation(atomCountStack, operatorStack); break; case '\\': // Escape character if (!CharacterEscape(ds, &codepoint)) return; // Unsupported escape character // fall through to default default: // Pattern character PushOperand(operandStack, codepoint); ImplicitConcatenation(atomCountStack, operatorStack); } } while (!operatorStack.Empty()) if (!Eval(operandStack, *operatorStack.template Pop(1))) return; // Link the operand to matching state. if (operandStack.GetSize() == sizeof(Frag)) { Frag* e = operandStack.template Pop(1); Patch(e->out, NewState(kRegexInvalidState, kRegexInvalidState, 0)); root_ = e->start; #if CEREAL_RAPIDJSON_REGEX_VERBOSE printf("root: %d\n", root_); for (SizeType i = 0; i < stateCount_ ; i++) { State& s = GetState(i); printf("[%2d] out: %2d out1: %2d c: '%c'\n", i, s.out, s.out1, (char)s.codepoint); } printf("\n"); #endif } // Preallocate buffer for SearchWithAnchoring() CEREAL_RAPIDJSON_ASSERT(stateSet_ == 0); if (stateCount_ > 0) { stateSet_ = static_cast(states_.GetAllocator().Malloc(GetStateSetSize())); state0_.template Reserve(stateCount_); state1_.template Reserve(stateCount_); } } SizeType NewState(SizeType out, SizeType out1, unsigned codepoint) { State* s = states_.template Push(); s->out = out; s->out1 = out1; s->codepoint = codepoint; s->rangeStart = kRegexInvalidRange; return stateCount_++; } void PushOperand(Stack& operandStack, unsigned codepoint) { SizeType s = NewState(kRegexInvalidState, kRegexInvalidState, codepoint); *operandStack.template Push() = Frag(s, s, s); } void ImplicitConcatenation(Stack& atomCountStack, Stack& operatorStack) { if (*atomCountStack.template Top()) *operatorStack.template Push() = kConcatenation; (*atomCountStack.template Top())++; } SizeType Append(SizeType l1, SizeType l2) { SizeType old = l1; while (GetState(l1).out != kRegexInvalidState) l1 = GetState(l1).out; GetState(l1).out = l2; return old; } void Patch(SizeType l, SizeType s) { for (SizeType next; l != kRegexInvalidState; l = next) { next = GetState(l).out; GetState(l).out = s; } } bool Eval(Stack& operandStack, Operator op) { switch (op) { case kConcatenation: CEREAL_RAPIDJSON_ASSERT(operandStack.GetSize() >= sizeof(Frag) * 2); { Frag e2 = *operandStack.template Pop(1); Frag e1 = *operandStack.template Pop(1); Patch(e1.out, e2.start); *operandStack.template Push() = Frag(e1.start, e2.out, Min(e1.minIndex, e2.minIndex)); } return true; case kAlternation: if (operandStack.GetSize() >= sizeof(Frag) * 2) { Frag e2 = *operandStack.template Pop(1); Frag e1 = *operandStack.template Pop(1); SizeType s = NewState(e1.start, e2.start, 0); *operandStack.template Push() = Frag(s, Append(e1.out, e2.out), Min(e1.minIndex, e2.minIndex)); return true; } return false; case kZeroOrOne: if (operandStack.GetSize() >= sizeof(Frag)) { Frag e = *operandStack.template Pop(1); SizeType s = NewState(kRegexInvalidState, e.start, 0); *operandStack.template Push() = Frag(s, Append(e.out, s), e.minIndex); return true; } return false; case kZeroOrMore: if (operandStack.GetSize() >= sizeof(Frag)) { Frag e = *operandStack.template Pop(1); SizeType s = NewState(kRegexInvalidState, e.start, 0); Patch(e.out, s); *operandStack.template Push() = Frag(s, s, e.minIndex); return true; } return false; default: CEREAL_RAPIDJSON_ASSERT(op == kOneOrMore); if (operandStack.GetSize() >= sizeof(Frag)) { Frag e = *operandStack.template Pop(1); SizeType s = NewState(kRegexInvalidState, e.start, 0); Patch(e.out, s); *operandStack.template Push() = Frag(e.start, s, e.minIndex); return true; } return false; } } bool EvalQuantifier(Stack& operandStack, unsigned n, unsigned m) { CEREAL_RAPIDJSON_ASSERT(n <= m); CEREAL_RAPIDJSON_ASSERT(operandStack.GetSize() >= sizeof(Frag)); if (n == 0) { if (m == 0) // a{0} not support return false; else if (m == kInfinityQuantifier) Eval(operandStack, kZeroOrMore); // a{0,} -> a* else { Eval(operandStack, kZeroOrOne); // a{0,5} -> a? for (unsigned i = 0; i < m - 1; i++) CloneTopOperand(operandStack); // a{0,5} -> a? a? a? a? a? for (unsigned i = 0; i < m - 1; i++) Eval(operandStack, kConcatenation); // a{0,5} -> a?a?a?a?a? } return true; } for (unsigned i = 0; i < n - 1; i++) // a{3} -> a a a CloneTopOperand(operandStack); if (m == kInfinityQuantifier) Eval(operandStack, kOneOrMore); // a{3,} -> a a a+ else if (m > n) { CloneTopOperand(operandStack); // a{3,5} -> a a a a Eval(operandStack, kZeroOrOne); // a{3,5} -> a a a a? for (unsigned i = n; i < m - 1; i++) CloneTopOperand(operandStack); // a{3,5} -> a a a a? a? for (unsigned i = n; i < m; i++) Eval(operandStack, kConcatenation); // a{3,5} -> a a aa?a? } for (unsigned i = 0; i < n - 1; i++) Eval(operandStack, kConcatenation); // a{3} -> aaa, a{3,} -> aaa+, a{3.5} -> aaaa?a? return true; } static SizeType Min(SizeType a, SizeType b) { return a < b ? a : b; } void CloneTopOperand(Stack& operandStack) { const Frag src = *operandStack.template Top(); // Copy constructor to prevent invalidation SizeType count = stateCount_ - src.minIndex; // Assumes top operand contains states in [src->minIndex, stateCount_) State* s = states_.template Push(count); memcpy(s, &GetState(src.minIndex), count * sizeof(State)); for (SizeType j = 0; j < count; j++) { if (s[j].out != kRegexInvalidState) s[j].out += count; if (s[j].out1 != kRegexInvalidState) s[j].out1 += count; } *operandStack.template Push() = Frag(src.start + count, src.out + count, src.minIndex + count); stateCount_ += count; } template bool ParseUnsigned(DecodedStream& ds, unsigned* u) { unsigned r = 0; if (ds.Peek() < '0' || ds.Peek() > '9') return false; while (ds.Peek() >= '0' && ds.Peek() <= '9') { if (r >= 429496729 && ds.Peek() > '5') // 2^32 - 1 = 4294967295 return false; // overflow r = r * 10 + (ds.Take() - '0'); } *u = r; return true; } template bool ParseRange(DecodedStream& ds, SizeType* range) { bool isBegin = true; bool negate = false; int step = 0; SizeType start = kRegexInvalidRange; SizeType current = kRegexInvalidRange; unsigned codepoint; while ((codepoint = ds.Take()) != 0) { if (isBegin) { isBegin = false; if (codepoint == '^') { negate = true; continue; } } switch (codepoint) { case ']': if (start == kRegexInvalidRange) return false; // Error: nothing inside [] if (step == 2) { // Add trailing '-' SizeType r = NewRange('-'); CEREAL_RAPIDJSON_ASSERT(current != kRegexInvalidRange); GetRange(current).next = r; } if (negate) GetRange(start).start |= kRangeNegationFlag; *range = start; return true; case '\\': if (ds.Peek() == 'b') { ds.Take(); codepoint = 0x0008; // Escape backspace character } else if (!CharacterEscape(ds, &codepoint)) return false; // fall through to default default: switch (step) { case 1: if (codepoint == '-') { step++; break; } // fall through to step 0 for other characters case 0: { SizeType r = NewRange(codepoint); if (current != kRegexInvalidRange) GetRange(current).next = r; if (start == kRegexInvalidRange) start = r; current = r; } step = 1; break; default: CEREAL_RAPIDJSON_ASSERT(step == 2); GetRange(current).end = codepoint; step = 0; } } } return false; } SizeType NewRange(unsigned codepoint) { Range* r = ranges_.template Push(); r->start = r->end = codepoint; r->next = kRegexInvalidRange; return rangeCount_++; } template bool CharacterEscape(DecodedStream& ds, unsigned* escapedCodepoint) { unsigned codepoint; switch (codepoint = ds.Take()) { case '^': case '$': case '|': case '(': case ')': case '?': case '*': case '+': case '.': case '[': case ']': case '{': case '}': case '\\': *escapedCodepoint = codepoint; return true; case 'f': *escapedCodepoint = 0x000C; return true; case 'n': *escapedCodepoint = 0x000A; return true; case 'r': *escapedCodepoint = 0x000D; return true; case 't': *escapedCodepoint = 0x0009; return true; case 'v': *escapedCodepoint = 0x000B; return true; default: return false; // Unsupported escape character } } template bool SearchWithAnchoring(InputStream& is, bool anchorBegin, bool anchorEnd) const { CEREAL_RAPIDJSON_ASSERT(IsValid()); DecodedStream ds(is); state0_.Clear(); Stack *current = &state0_, *next = &state1_; const size_t stateSetSize = GetStateSetSize(); std::memset(stateSet_, 0, stateSetSize); bool matched = AddState(*current, root_); unsigned codepoint; while (!current->Empty() && (codepoint = ds.Take()) != 0) { std::memset(stateSet_, 0, stateSetSize); next->Clear(); matched = false; for (const SizeType* s = current->template Bottom(); s != current->template End(); ++s) { const State& sr = GetState(*s); if (sr.codepoint == codepoint || sr.codepoint == kAnyCharacterClass || (sr.codepoint == kRangeCharacterClass && MatchRange(sr.rangeStart, codepoint))) { matched = AddState(*next, sr.out) || matched; if (!anchorEnd && matched) return true; } if (!anchorBegin) AddState(*next, root_); } internal::Swap(current, next); } return matched; } size_t GetStateSetSize() const { return (stateCount_ + 31) / 32 * 4; } // Return whether the added states is a match state bool AddState(Stack& l, SizeType index) const { CEREAL_RAPIDJSON_ASSERT(index != kRegexInvalidState); const State& s = GetState(index); if (s.out1 != kRegexInvalidState) { // Split bool matched = AddState(l, s.out); return AddState(l, s.out1) || matched; } else if (!(stateSet_[index >> 5] & (1 << (index & 31)))) { stateSet_[index >> 5] |= (1 << (index & 31)); *l.template PushUnsafe() = index; } return s.out == kRegexInvalidState; // by using PushUnsafe() above, we can ensure s is not validated due to reallocation. } bool MatchRange(SizeType rangeIndex, unsigned codepoint) const { bool yes = (GetRange(rangeIndex).start & kRangeNegationFlag) == 0; while (rangeIndex != kRegexInvalidRange) { const Range& r = GetRange(rangeIndex); if (codepoint >= (r.start & ~kRangeNegationFlag) && codepoint <= r.end) return yes; rangeIndex = r.next; } return !yes; } Stack states_; Stack ranges_; SizeType root_; SizeType stateCount_; SizeType rangeCount_; static const unsigned kInfinityQuantifier = ~0u; // For SearchWithAnchoring() uint32_t* stateSet_; // allocated by states_.GetAllocator() mutable Stack state0_; mutable Stack state1_; bool anchorBegin_; bool anchorEnd_; }; typedef GenericRegex > Regex; } // namespace internal CEREAL_RAPIDJSON_NAMESPACE_END #ifdef __clang__ CEREAL_RAPIDJSON_DIAG_POP #endif #ifdef _MSC_VER CEREAL_RAPIDJSON_DIAG_POP #endif #endif // CEREAL_RAPIDJSON_INTERNAL_REGEX_H_ blockattack-game-2.5.0/source/code/Libs/include/cereal/external/rapidjson/internal/stack.h000066400000000000000000000160141347224572500316120ustar00rootroot00000000000000// Tencent is pleased to support the open source community by making RapidJSON available. // // Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. // // Licensed under the MIT License (the "License"); you may not use this file except // in compliance with the License. You may obtain a copy of the License at // // http://opensource.org/licenses/MIT // // Unless required by applicable law or agreed to in writing, software distributed // under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR // CONDITIONS OF ANY KIND, either express or implied. See the License for the // specific language governing permissions and limitations under the License. #ifndef CEREAL_RAPIDJSON_INTERNAL_STACK_H_ #define CEREAL_RAPIDJSON_INTERNAL_STACK_H_ #include "../allocators.h" #include "swap.h" #if defined(__clang__) CEREAL_RAPIDJSON_DIAG_PUSH CEREAL_RAPIDJSON_DIAG_OFF(c++98-compat) #endif CEREAL_RAPIDJSON_NAMESPACE_BEGIN namespace internal { /////////////////////////////////////////////////////////////////////////////// // Stack //! A type-unsafe stack for storing different types of data. /*! \tparam Allocator Allocator for allocating stack memory. */ template class Stack { public: // Optimization note: Do not allocate memory for stack_ in constructor. // Do it lazily when first Push() -> Expand() -> Resize(). Stack(Allocator* allocator, size_t stackCapacity) : allocator_(allocator), ownAllocator_(0), stack_(0), stackTop_(0), stackEnd_(0), initialCapacity_(stackCapacity) { } #if CEREAL_RAPIDJSON_HAS_CXX11_RVALUE_REFS Stack(Stack&& rhs) : allocator_(rhs.allocator_), ownAllocator_(rhs.ownAllocator_), stack_(rhs.stack_), stackTop_(rhs.stackTop_), stackEnd_(rhs.stackEnd_), initialCapacity_(rhs.initialCapacity_) { rhs.allocator_ = 0; rhs.ownAllocator_ = 0; rhs.stack_ = 0; rhs.stackTop_ = 0; rhs.stackEnd_ = 0; rhs.initialCapacity_ = 0; } #endif ~Stack() { Destroy(); } #if CEREAL_RAPIDJSON_HAS_CXX11_RVALUE_REFS Stack& operator=(Stack&& rhs) { if (&rhs != this) { Destroy(); allocator_ = rhs.allocator_; ownAllocator_ = rhs.ownAllocator_; stack_ = rhs.stack_; stackTop_ = rhs.stackTop_; stackEnd_ = rhs.stackEnd_; initialCapacity_ = rhs.initialCapacity_; rhs.allocator_ = 0; rhs.ownAllocator_ = 0; rhs.stack_ = 0; rhs.stackTop_ = 0; rhs.stackEnd_ = 0; rhs.initialCapacity_ = 0; } return *this; } #endif void Swap(Stack& rhs) CEREAL_RAPIDJSON_NOEXCEPT { internal::Swap(allocator_, rhs.allocator_); internal::Swap(ownAllocator_, rhs.ownAllocator_); internal::Swap(stack_, rhs.stack_); internal::Swap(stackTop_, rhs.stackTop_); internal::Swap(stackEnd_, rhs.stackEnd_); internal::Swap(initialCapacity_, rhs.initialCapacity_); } void Clear() { stackTop_ = stack_; } void ShrinkToFit() { if (Empty()) { // If the stack is empty, completely deallocate the memory. Allocator::Free(stack_); stack_ = 0; stackTop_ = 0; stackEnd_ = 0; } else Resize(GetSize()); } // Optimization note: try to minimize the size of this function for force inline. // Expansion is run very infrequently, so it is moved to another (probably non-inline) function. template CEREAL_RAPIDJSON_FORCEINLINE void Reserve(size_t count = 1) { // Expand the stack if needed if (CEREAL_RAPIDJSON_UNLIKELY(stackTop_ + sizeof(T) * count > stackEnd_)) Expand(count); } template CEREAL_RAPIDJSON_FORCEINLINE T* Push(size_t count = 1) { Reserve(count); return PushUnsafe(count); } template CEREAL_RAPIDJSON_FORCEINLINE T* PushUnsafe(size_t count = 1) { CEREAL_RAPIDJSON_ASSERT(stackTop_ + sizeof(T) * count <= stackEnd_); T* ret = reinterpret_cast(stackTop_); stackTop_ += sizeof(T) * count; return ret; } template T* Pop(size_t count) { CEREAL_RAPIDJSON_ASSERT(GetSize() >= count * sizeof(T)); stackTop_ -= count * sizeof(T); return reinterpret_cast(stackTop_); } template T* Top() { CEREAL_RAPIDJSON_ASSERT(GetSize() >= sizeof(T)); return reinterpret_cast(stackTop_ - sizeof(T)); } template const T* Top() const { CEREAL_RAPIDJSON_ASSERT(GetSize() >= sizeof(T)); return reinterpret_cast(stackTop_ - sizeof(T)); } template T* End() { return reinterpret_cast(stackTop_); } template const T* End() const { return reinterpret_cast(stackTop_); } template T* Bottom() { return reinterpret_cast(stack_); } template const T* Bottom() const { return reinterpret_cast(stack_); } bool HasAllocator() const { return allocator_ != 0; } Allocator& GetAllocator() { CEREAL_RAPIDJSON_ASSERT(allocator_); return *allocator_; } bool Empty() const { return stackTop_ == stack_; } size_t GetSize() const { return static_cast(stackTop_ - stack_); } size_t GetCapacity() const { return static_cast(stackEnd_ - stack_); } private: template void Expand(size_t count) { // Only expand the capacity if the current stack exists. Otherwise just create a stack with initial capacity. size_t newCapacity; if (stack_ == 0) { if (!allocator_) ownAllocator_ = allocator_ = CEREAL_RAPIDJSON_NEW(Allocator()); newCapacity = initialCapacity_; } else { newCapacity = GetCapacity(); newCapacity += (newCapacity + 1) / 2; } size_t newSize = GetSize() + sizeof(T) * count; if (newCapacity < newSize) newCapacity = newSize; Resize(newCapacity); } void Resize(size_t newCapacity) { const size_t size = GetSize(); // Backup the current size stack_ = static_cast(allocator_->Realloc(stack_, GetCapacity(), newCapacity)); stackTop_ = stack_ + size; stackEnd_ = stack_ + newCapacity; } void Destroy() { Allocator::Free(stack_); CEREAL_RAPIDJSON_DELETE(ownAllocator_); // Only delete if it is owned by the stack } // Prohibit copy constructor & assignment operator. Stack(const Stack&); Stack& operator=(const Stack&); Allocator* allocator_; Allocator* ownAllocator_; char *stack_; char *stackTop_; char *stackEnd_; size_t initialCapacity_; }; } // namespace internal CEREAL_RAPIDJSON_NAMESPACE_END #if defined(__clang__) CEREAL_RAPIDJSON_DIAG_POP #endif #endif // CEREAL_RAPIDJSON_STACK_H_ blockattack-game-2.5.0/source/code/Libs/include/cereal/external/rapidjson/internal/strfunc.h000066400000000000000000000036141347224572500321730ustar00rootroot00000000000000// Tencent is pleased to support the open source community by making RapidJSON available. // // Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. // // Licensed under the MIT License (the "License"); you may not use this file except // in compliance with the License. You may obtain a copy of the License at // // http://opensource.org/licenses/MIT // // Unless required by applicable law or agreed to in writing, software distributed // under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR // CONDITIONS OF ANY KIND, either express or implied. See the License for the // specific language governing permissions and limitations under the License. #ifndef CEREAL_RAPIDJSON_INTERNAL_STRFUNC_H_ #define CEREAL_RAPIDJSON_INTERNAL_STRFUNC_H_ #include "../stream.h" CEREAL_RAPIDJSON_NAMESPACE_BEGIN namespace internal { //! Custom strlen() which works on different character types. /*! \tparam Ch Character type (e.g. char, wchar_t, short) \param s Null-terminated input string. \return Number of characters in the string. \note This has the same semantics as strlen(), the return value is not number of Unicode codepoints. */ template inline SizeType StrLen(const Ch* s) { const Ch* p = s; while (*p) ++p; return SizeType(p - s); } //! Returns number of code points in a encoded string. template bool CountStringCodePoint(const typename Encoding::Ch* s, SizeType length, SizeType* outCount) { GenericStringStream is(s); const typename Encoding::Ch* end = s + length; SizeType count = 0; while (is.src_ < end) { unsigned codepoint; if (!Encoding::Decode(is, &codepoint)) return false; count++; } *outCount = count; return true; } } // namespace internal CEREAL_RAPIDJSON_NAMESPACE_END #endif // CEREAL_RAPIDJSON_INTERNAL_STRFUNC_H_ blockattack-game-2.5.0/source/code/Libs/include/cereal/external/rapidjson/internal/strtod.h000066400000000000000000000211271347224572500320250ustar00rootroot00000000000000// Tencent is pleased to support the open source community by making RapidJSON available. // // Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. // // Licensed under the MIT License (the "License"); you may not use this file except // in compliance with the License. You may obtain a copy of the License at // // http://opensource.org/licenses/MIT // // Unless required by applicable law or agreed to in writing, software distributed // under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR // CONDITIONS OF ANY KIND, either express or implied. See the License for the // specific language governing permissions and limitations under the License. #ifndef CEREAL_RAPIDJSON_STRTOD_ #define CEREAL_RAPIDJSON_STRTOD_ #include "ieee754.h" #include "biginteger.h" #include "diyfp.h" #include "pow10.h" CEREAL_RAPIDJSON_NAMESPACE_BEGIN namespace internal { inline double FastPath(double significand, int exp) { if (exp < -308) return 0.0; else if (exp >= 0) return significand * internal::Pow10(exp); else return significand / internal::Pow10(-exp); } inline double StrtodNormalPrecision(double d, int p) { if (p < -308) { // Prevent expSum < -308, making Pow10(p) = 0 d = FastPath(d, -308); d = FastPath(d, p + 308); } else d = FastPath(d, p); return d; } template inline T Min3(T a, T b, T c) { T m = a; if (m > b) m = b; if (m > c) m = c; return m; } inline int CheckWithinHalfULP(double b, const BigInteger& d, int dExp) { const Double db(b); const uint64_t bInt = db.IntegerSignificand(); const int bExp = db.IntegerExponent(); const int hExp = bExp - 1; int dS_Exp2 = 0, dS_Exp5 = 0, bS_Exp2 = 0, bS_Exp5 = 0, hS_Exp2 = 0, hS_Exp5 = 0; // Adjust for decimal exponent if (dExp >= 0) { dS_Exp2 += dExp; dS_Exp5 += dExp; } else { bS_Exp2 -= dExp; bS_Exp5 -= dExp; hS_Exp2 -= dExp; hS_Exp5 -= dExp; } // Adjust for binary exponent if (bExp >= 0) bS_Exp2 += bExp; else { dS_Exp2 -= bExp; hS_Exp2 -= bExp; } // Adjust for half ulp exponent if (hExp >= 0) hS_Exp2 += hExp; else { dS_Exp2 -= hExp; bS_Exp2 -= hExp; } // Remove common power of two factor from all three scaled values int common_Exp2 = Min3(dS_Exp2, bS_Exp2, hS_Exp2); dS_Exp2 -= common_Exp2; bS_Exp2 -= common_Exp2; hS_Exp2 -= common_Exp2; BigInteger dS = d; dS.MultiplyPow5(static_cast(dS_Exp5)) <<= static_cast(dS_Exp2); BigInteger bS(bInt); bS.MultiplyPow5(static_cast(bS_Exp5)) <<= static_cast(bS_Exp2); BigInteger hS(1); hS.MultiplyPow5(static_cast(hS_Exp5)) <<= static_cast(hS_Exp2); BigInteger delta(0); dS.Difference(bS, &delta); return delta.Compare(hS); } inline bool StrtodFast(double d, int p, double* result) { // Use fast path for string-to-double conversion if possible // see http://www.exploringbinary.com/fast-path-decimal-to-floating-point-conversion/ if (p > 22 && p < 22 + 16) { // Fast Path Cases In Disguise d *= internal::Pow10(p - 22); p = 22; } if (p >= -22 && p <= 22 && d <= 9007199254740991.0) { // 2^53 - 1 *result = FastPath(d, p); return true; } else return false; } // Compute an approximation and see if it is within 1/2 ULP inline bool StrtodDiyFp(const char* decimals, size_t length, size_t decimalPosition, int exp, double* result) { uint64_t significand = 0; size_t i = 0; // 2^64 - 1 = 18446744073709551615, 1844674407370955161 = 0x1999999999999999 for (; i < length; i++) { if (significand > CEREAL_RAPIDJSON_UINT64_C2(0x19999999, 0x99999999) || (significand == CEREAL_RAPIDJSON_UINT64_C2(0x19999999, 0x99999999) && decimals[i] > '5')) break; significand = significand * 10u + static_cast(decimals[i] - '0'); } if (i < length && decimals[i] >= '5') // Rounding significand++; size_t remaining = length - i; const unsigned kUlpShift = 3; const unsigned kUlp = 1 << kUlpShift; int64_t error = (remaining == 0) ? 0 : kUlp / 2; DiyFp v(significand, 0); v = v.Normalize(); error <<= -v.e; const int dExp = static_cast(decimalPosition) - static_cast(i) + exp; int actualExp; DiyFp cachedPower = GetCachedPower10(dExp, &actualExp); if (actualExp != dExp) { static const DiyFp kPow10[] = { DiyFp(CEREAL_RAPIDJSON_UINT64_C2(0xa0000000, 00000000), -60), // 10^1 DiyFp(CEREAL_RAPIDJSON_UINT64_C2(0xc8000000, 00000000), -57), // 10^2 DiyFp(CEREAL_RAPIDJSON_UINT64_C2(0xfa000000, 00000000), -54), // 10^3 DiyFp(CEREAL_RAPIDJSON_UINT64_C2(0x9c400000, 00000000), -50), // 10^4 DiyFp(CEREAL_RAPIDJSON_UINT64_C2(0xc3500000, 00000000), -47), // 10^5 DiyFp(CEREAL_RAPIDJSON_UINT64_C2(0xf4240000, 00000000), -44), // 10^6 DiyFp(CEREAL_RAPIDJSON_UINT64_C2(0x98968000, 00000000), -40) // 10^7 }; int adjustment = dExp - actualExp - 1; CEREAL_RAPIDJSON_ASSERT(adjustment >= 0 && adjustment < 7); v = v * kPow10[adjustment]; if (length + static_cast(adjustment)> 19u) // has more digits than decimal digits in 64-bit error += kUlp / 2; } v = v * cachedPower; error += kUlp + (error == 0 ? 0 : 1); const int oldExp = v.e; v = v.Normalize(); error <<= oldExp - v.e; const unsigned effectiveSignificandSize = Double::EffectiveSignificandSize(64 + v.e); unsigned precisionSize = 64 - effectiveSignificandSize; if (precisionSize + kUlpShift >= 64) { unsigned scaleExp = (precisionSize + kUlpShift) - 63; v.f >>= scaleExp; v.e += scaleExp; error = (error >> scaleExp) + 1 + static_cast(kUlp); precisionSize -= scaleExp; } DiyFp rounded(v.f >> precisionSize, v.e + static_cast(precisionSize)); const uint64_t precisionBits = (v.f & ((uint64_t(1) << precisionSize) - 1)) * kUlp; const uint64_t halfWay = (uint64_t(1) << (precisionSize - 1)) * kUlp; if (precisionBits >= halfWay + static_cast(error)) { rounded.f++; if (rounded.f & (DiyFp::kDpHiddenBit << 1)) { // rounding overflows mantissa (issue #340) rounded.f >>= 1; rounded.e++; } } *result = rounded.ToDouble(); return halfWay - static_cast(error) >= precisionBits || precisionBits >= halfWay + static_cast(error); } inline double StrtodBigInteger(double approx, const char* decimals, size_t length, size_t decimalPosition, int exp) { const BigInteger dInt(decimals, length); const int dExp = static_cast(decimalPosition) - static_cast(length) + exp; Double a(approx); int cmp = CheckWithinHalfULP(a.Value(), dInt, dExp); if (cmp < 0) return a.Value(); // within half ULP else if (cmp == 0) { // Round towards even if (a.Significand() & 1) return a.NextPositiveDouble(); else return a.Value(); } else // adjustment return a.NextPositiveDouble(); } inline double StrtodFullPrecision(double d, int p, const char* decimals, size_t length, size_t decimalPosition, int exp) { CEREAL_RAPIDJSON_ASSERT(d >= 0.0); CEREAL_RAPIDJSON_ASSERT(length >= 1); double result; if (StrtodFast(d, p, &result)) return result; // Trim leading zeros while (*decimals == '0' && length > 1) { length--; decimals++; decimalPosition--; } // Trim trailing zeros while (decimals[length - 1] == '0' && length > 1) { length--; decimalPosition--; exp++; } // Trim right-most digits const int kMaxDecimalDigit = 780; if (static_cast(length) > kMaxDecimalDigit) { int delta = (static_cast(length) - kMaxDecimalDigit); exp += delta; decimalPosition -= static_cast(delta); length = kMaxDecimalDigit; } // If too small, underflow to zero if (int(length) + exp < -324) return 0.0; if (StrtodDiyFp(decimals, length, decimalPosition, exp, &result)) return result; // Use approximation from StrtodDiyFp and make adjustment with BigInteger comparison return StrtodBigInteger(result, decimals, length, decimalPosition, exp); } } // namespace internal CEREAL_RAPIDJSON_NAMESPACE_END #endif // CEREAL_RAPIDJSON_STRTOD_ blockattack-game-2.5.0/source/code/Libs/include/cereal/external/rapidjson/internal/swap.h000066400000000000000000000027121347224572500314570ustar00rootroot00000000000000// Tencent is pleased to support the open source community by making RapidJSON available. // // Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. // // Licensed under the MIT License (the "License"); you may not use this file except // in compliance with the License. You may obtain a copy of the License at // // http://opensource.org/licenses/MIT // // Unless required by applicable law or agreed to in writing, software distributed // under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR // CONDITIONS OF ANY KIND, either express or implied. See the License for the // specific language governing permissions and limitations under the License. #ifndef CEREAL_RAPIDJSON_INTERNAL_SWAP_H_ #define CEREAL_RAPIDJSON_INTERNAL_SWAP_H_ #include "../rapidjson.h" #if defined(__clang__) CEREAL_RAPIDJSON_DIAG_PUSH CEREAL_RAPIDJSON_DIAG_OFF(c++98-compat) #endif CEREAL_RAPIDJSON_NAMESPACE_BEGIN namespace internal { //! Custom swap() to avoid dependency on C++ header /*! \tparam T Type of the arguments to swap, should be instantiated with primitive C++ types only. \note This has the same semantics as std::swap(). */ template inline void Swap(T& a, T& b) CEREAL_RAPIDJSON_NOEXCEPT { T tmp = a; a = b; b = tmp; } } // namespace internal CEREAL_RAPIDJSON_NAMESPACE_END #if defined(__clang__) CEREAL_RAPIDJSON_DIAG_POP #endif #endif // CEREAL_RAPIDJSON_INTERNAL_SWAP_H_ blockattack-game-2.5.0/source/code/Libs/include/cereal/external/rapidjson/istreamwrapper.h000066400000000000000000000072671347224572500317500ustar00rootroot00000000000000// Tencent is pleased to support the open source community by making RapidJSON available. // // Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. // // Licensed under the MIT License (the "License"); you may not use this file except // in compliance with the License. You may obtain a copy of the License at // // http://opensource.org/licenses/MIT // // Unless required by applicable law or agreed to in writing, software distributed // under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR // CONDITIONS OF ANY KIND, either express or implied. See the License for the // specific language governing permissions and limitations under the License. #ifndef CEREAL_RAPIDJSON_ISTREAMWRAPPER_H_ #define CEREAL_RAPIDJSON_ISTREAMWRAPPER_H_ #include "stream.h" #include #ifdef __clang__ CEREAL_RAPIDJSON_DIAG_PUSH CEREAL_RAPIDJSON_DIAG_OFF(padded) #endif #ifdef _MSC_VER CEREAL_RAPIDJSON_DIAG_PUSH CEREAL_RAPIDJSON_DIAG_OFF(4351) // new behavior: elements of array 'array' will be default initialized CEREAL_RAPIDJSON_DIAG_OFF(4127) // ignore assert(false) for triggering exception #endif CEREAL_RAPIDJSON_NAMESPACE_BEGIN //! Wrapper of \c std::basic_istream into RapidJSON's Stream concept. /*! The classes can be wrapped including but not limited to: - \c std::istringstream - \c std::stringstream - \c std::wistringstream - \c std::wstringstream - \c std::ifstream - \c std::fstream - \c std::wifstream - \c std::wfstream \tparam StreamType Class derived from \c std::basic_istream. */ template class BasicIStreamWrapper { public: typedef typename StreamType::char_type Ch; BasicIStreamWrapper(StreamType& stream) : stream_(stream), count_(), peekBuffer_() {} Ch Peek() const { typename StreamType::int_type c = stream_.peek(); return CEREAL_RAPIDJSON_LIKELY(c != StreamType::traits_type::eof()) ? static_cast(c) : '\0'; } Ch Take() { typename StreamType::int_type c = stream_.get(); if (CEREAL_RAPIDJSON_LIKELY(c != StreamType::traits_type::eof())) { count_++; return static_cast(c); } else return '\0'; } // tellg() may return -1 when failed. So we count by ourself. size_t Tell() const { return count_; } Ch* PutBegin() { CEREAL_RAPIDJSON_ASSERT(false); return 0; } void Put(Ch) { CEREAL_RAPIDJSON_ASSERT(false); } void Flush() { CEREAL_RAPIDJSON_ASSERT(false); } size_t PutEnd(Ch*) { CEREAL_RAPIDJSON_ASSERT(false); return 0; } // For encoding detection only. const Ch* Peek4() const { CEREAL_RAPIDJSON_ASSERT(sizeof(Ch) == 1); // Only usable for byte stream. int i; bool hasError = false; for (i = 0; i < 4; ++i) { typename StreamType::int_type c = stream_.get(); if (c == StreamType::traits_type::eof()) { hasError = true; stream_.clear(); break; } peekBuffer_[i] = static_cast(c); } for (--i; i >= 0; --i) stream_.putback(peekBuffer_[i]); return !hasError ? peekBuffer_ : 0; } private: BasicIStreamWrapper(const BasicIStreamWrapper&); BasicIStreamWrapper& operator=(const BasicIStreamWrapper&); StreamType& stream_; size_t count_; //!< Number of characters read. Note: mutable Ch peekBuffer_[4]; }; typedef BasicIStreamWrapper IStreamWrapper; typedef BasicIStreamWrapper WIStreamWrapper; #if defined(__clang__) || defined(_MSC_VER) CEREAL_RAPIDJSON_DIAG_POP #endif CEREAL_RAPIDJSON_NAMESPACE_END #endif // CEREAL_RAPIDJSON_ISTREAMWRAPPER_H_ blockattack-game-2.5.0/source/code/Libs/include/cereal/external/rapidjson/memorybuffer.h000066400000000000000000000050431347224572500313730ustar00rootroot00000000000000// Tencent is pleased to support the open source community by making RapidJSON available. // // Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. // // Licensed under the MIT License (the "License"); you may not use this file except // in compliance with the License. You may obtain a copy of the License at // // http://opensource.org/licenses/MIT // // Unless required by applicable law or agreed to in writing, software distributed // under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR // CONDITIONS OF ANY KIND, either express or implied. See the License for the // specific language governing permissions and limitations under the License. #ifndef CEREAL_RAPIDJSON_MEMORYBUFFER_H_ #define CEREAL_RAPIDJSON_MEMORYBUFFER_H_ #include "stream.h" #include "internal/stack.h" CEREAL_RAPIDJSON_NAMESPACE_BEGIN //! Represents an in-memory output byte stream. /*! This class is mainly for being wrapped by EncodedOutputStream or AutoUTFOutputStream. It is similar to FileWriteBuffer but the destination is an in-memory buffer instead of a file. Differences between MemoryBuffer and StringBuffer: 1. StringBuffer has Encoding but MemoryBuffer is only a byte buffer. 2. StringBuffer::GetString() returns a null-terminated string. MemoryBuffer::GetBuffer() returns a buffer without terminator. \tparam Allocator type for allocating memory buffer. \note implements Stream concept */ template struct GenericMemoryBuffer { typedef char Ch; // byte GenericMemoryBuffer(Allocator* allocator = 0, size_t capacity = kDefaultCapacity) : stack_(allocator, capacity) {} void Put(Ch c) { *stack_.template Push() = c; } void Flush() {} void Clear() { stack_.Clear(); } void ShrinkToFit() { stack_.ShrinkToFit(); } Ch* Push(size_t count) { return stack_.template Push(count); } void Pop(size_t count) { stack_.template Pop(count); } const Ch* GetBuffer() const { return stack_.template Bottom(); } size_t GetSize() const { return stack_.GetSize(); } static const size_t kDefaultCapacity = 256; mutable internal::Stack stack_; }; typedef GenericMemoryBuffer<> MemoryBuffer; //! Implement specialized version of PutN() with memset() for better performance. template<> inline void PutN(MemoryBuffer& memoryBuffer, char c, size_t n) { std::memset(memoryBuffer.stack_.Push(n), c, n * sizeof(c)); } CEREAL_RAPIDJSON_NAMESPACE_END #endif // CEREAL_RAPIDJSON_MEMORYBUFFER_H_ blockattack-game-2.5.0/source/code/Libs/include/cereal/external/rapidjson/memorystream.h000066400000000000000000000055611347224572500314220ustar00rootroot00000000000000// Tencent is pleased to support the open source community by making RapidJSON available. // // Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. // // Licensed under the MIT License (the "License"); you may not use this file except // in compliance with the License. You may obtain a copy of the License at // // http://opensource.org/licenses/MIT // // Unless required by applicable law or agreed to in writing, software distributed // under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR // CONDITIONS OF ANY KIND, either express or implied. See the License for the // specific language governing permissions and limitations under the License. #ifndef CEREAL_RAPIDJSON_MEMORYSTREAM_H_ #define CEREAL_RAPIDJSON_MEMORYSTREAM_H_ #include "stream.h" #ifdef __clang__ CEREAL_RAPIDJSON_DIAG_PUSH CEREAL_RAPIDJSON_DIAG_OFF(unreachable-code) CEREAL_RAPIDJSON_DIAG_OFF(missing-noreturn) #endif #ifdef _MSC_VER CEREAL_RAPIDJSON_DIAG_PUSH CEREAL_RAPIDJSON_DIAG_OFF( 4127 ) // ignore assert(false) for triggering exception #endif CEREAL_RAPIDJSON_NAMESPACE_BEGIN //! Represents an in-memory input byte stream. /*! This class is mainly for being wrapped by EncodedInputStream or AutoUTFInputStream. It is similar to FileReadBuffer but the source is an in-memory buffer instead of a file. Differences between MemoryStream and StringStream: 1. StringStream has encoding but MemoryStream is a byte stream. 2. MemoryStream needs size of the source buffer and the buffer don't need to be null terminated. StringStream assume null-terminated string as source. 3. MemoryStream supports Peek4() for encoding detection. StringStream is specified with an encoding so it should not have Peek4(). \note implements Stream concept */ struct MemoryStream { typedef char Ch; // byte MemoryStream(const Ch *src, size_t size) : src_(src), begin_(src), end_(src + size), size_(size) {} Ch Peek() const { return CEREAL_RAPIDJSON_UNLIKELY(src_ == end_) ? '\0' : *src_; } Ch Take() { return CEREAL_RAPIDJSON_UNLIKELY(src_ == end_) ? '\0' : *src_++; } size_t Tell() const { return static_cast(src_ - begin_); } Ch* PutBegin() { CEREAL_RAPIDJSON_ASSERT(false); return 0; } void Put(Ch) { CEREAL_RAPIDJSON_ASSERT(false); } void Flush() { CEREAL_RAPIDJSON_ASSERT(false); } size_t PutEnd(Ch*) { CEREAL_RAPIDJSON_ASSERT(false); return 0; } // For encoding detection only. const Ch* Peek4() const { return Tell() + 4 <= size_ ? src_ : 0; } const Ch* src_; //!< Current read position. const Ch* begin_; //!< Original head of the string. const Ch* end_; //!< End of stream. size_t size_; //!< Size of the stream. }; CEREAL_RAPIDJSON_NAMESPACE_END #if defined(__clang__) || defined(_MSC_VER) CEREAL_RAPIDJSON_DIAG_POP #endif #endif // CEREAL_RAPIDJSON_MEMORYBUFFER_H_ blockattack-game-2.5.0/source/code/Libs/include/cereal/external/rapidjson/msinttypes/000077500000000000000000000000001347224572500307355ustar00rootroot00000000000000blockattack-game-2.5.0/source/code/Libs/include/cereal/external/rapidjson/msinttypes/inttypes.h000066400000000000000000000202641347224572500327710ustar00rootroot00000000000000// ISO C9x compliant inttypes.h for Microsoft Visual Studio // Based on ISO/IEC 9899:TC2 Committee draft (May 6, 2005) WG14/N1124 // // Copyright (c) 2006-2013 Alexander Chemeris // // 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. Neither the name of the product nor the names of its contributors may // 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. // /////////////////////////////////////////////////////////////////////////////// // The above software in this distribution may have been modified by // THL A29 Limited ("Tencent Modifications"). // All Tencent Modifications are Copyright (C) 2015 THL A29 Limited. #ifndef _MSC_VER // [ #error "Use this header only with Microsoft Visual C++ compilers!" #endif // _MSC_VER ] #ifndef _MSC_INTTYPES_H_ // [ #define _MSC_INTTYPES_H_ #if _MSC_VER > 1000 #pragma once #endif #include "stdint.h" // miloyip: VC supports inttypes.h since VC2013 #if _MSC_VER >= 1800 #include #else // 7.8 Format conversion of integer types typedef struct { intmax_t quot; intmax_t rem; } imaxdiv_t; // 7.8.1 Macros for format specifiers #if !defined(__cplusplus) || defined(__STDC_FORMAT_MACROS) // [ See footnote 185 at page 198 // The fprintf macros for signed integers are: #define PRId8 "d" #define PRIi8 "i" #define PRIdLEAST8 "d" #define PRIiLEAST8 "i" #define PRIdFAST8 "d" #define PRIiFAST8 "i" #define PRId16 "hd" #define PRIi16 "hi" #define PRIdLEAST16 "hd" #define PRIiLEAST16 "hi" #define PRIdFAST16 "hd" #define PRIiFAST16 "hi" #define PRId32 "I32d" #define PRIi32 "I32i" #define PRIdLEAST32 "I32d" #define PRIiLEAST32 "I32i" #define PRIdFAST32 "I32d" #define PRIiFAST32 "I32i" #define PRId64 "I64d" #define PRIi64 "I64i" #define PRIdLEAST64 "I64d" #define PRIiLEAST64 "I64i" #define PRIdFAST64 "I64d" #define PRIiFAST64 "I64i" #define PRIdMAX "I64d" #define PRIiMAX "I64i" #define PRIdPTR "Id" #define PRIiPTR "Ii" // The fprintf macros for unsigned integers are: #define PRIo8 "o" #define PRIu8 "u" #define PRIx8 "x" #define PRIX8 "X" #define PRIoLEAST8 "o" #define PRIuLEAST8 "u" #define PRIxLEAST8 "x" #define PRIXLEAST8 "X" #define PRIoFAST8 "o" #define PRIuFAST8 "u" #define PRIxFAST8 "x" #define PRIXFAST8 "X" #define PRIo16 "ho" #define PRIu16 "hu" #define PRIx16 "hx" #define PRIX16 "hX" #define PRIoLEAST16 "ho" #define PRIuLEAST16 "hu" #define PRIxLEAST16 "hx" #define PRIXLEAST16 "hX" #define PRIoFAST16 "ho" #define PRIuFAST16 "hu" #define PRIxFAST16 "hx" #define PRIXFAST16 "hX" #define PRIo32 "I32o" #define PRIu32 "I32u" #define PRIx32 "I32x" #define PRIX32 "I32X" #define PRIoLEAST32 "I32o" #define PRIuLEAST32 "I32u" #define PRIxLEAST32 "I32x" #define PRIXLEAST32 "I32X" #define PRIoFAST32 "I32o" #define PRIuFAST32 "I32u" #define PRIxFAST32 "I32x" #define PRIXFAST32 "I32X" #define PRIo64 "I64o" #define PRIu64 "I64u" #define PRIx64 "I64x" #define PRIX64 "I64X" #define PRIoLEAST64 "I64o" #define PRIuLEAST64 "I64u" #define PRIxLEAST64 "I64x" #define PRIXLEAST64 "I64X" #define PRIoFAST64 "I64o" #define PRIuFAST64 "I64u" #define PRIxFAST64 "I64x" #define PRIXFAST64 "I64X" #define PRIoMAX "I64o" #define PRIuMAX "I64u" #define PRIxMAX "I64x" #define PRIXMAX "I64X" #define PRIoPTR "Io" #define PRIuPTR "Iu" #define PRIxPTR "Ix" #define PRIXPTR "IX" // The fscanf macros for signed integers are: #define SCNd8 "d" #define SCNi8 "i" #define SCNdLEAST8 "d" #define SCNiLEAST8 "i" #define SCNdFAST8 "d" #define SCNiFAST8 "i" #define SCNd16 "hd" #define SCNi16 "hi" #define SCNdLEAST16 "hd" #define SCNiLEAST16 "hi" #define SCNdFAST16 "hd" #define SCNiFAST16 "hi" #define SCNd32 "ld" #define SCNi32 "li" #define SCNdLEAST32 "ld" #define SCNiLEAST32 "li" #define SCNdFAST32 "ld" #define SCNiFAST32 "li" #define SCNd64 "I64d" #define SCNi64 "I64i" #define SCNdLEAST64 "I64d" #define SCNiLEAST64 "I64i" #define SCNdFAST64 "I64d" #define SCNiFAST64 "I64i" #define SCNdMAX "I64d" #define SCNiMAX "I64i" #ifdef _WIN64 // [ # define SCNdPTR "I64d" # define SCNiPTR "I64i" #else // _WIN64 ][ # define SCNdPTR "ld" # define SCNiPTR "li" #endif // _WIN64 ] // The fscanf macros for unsigned integers are: #define SCNo8 "o" #define SCNu8 "u" #define SCNx8 "x" #define SCNX8 "X" #define SCNoLEAST8 "o" #define SCNuLEAST8 "u" #define SCNxLEAST8 "x" #define SCNXLEAST8 "X" #define SCNoFAST8 "o" #define SCNuFAST8 "u" #define SCNxFAST8 "x" #define SCNXFAST8 "X" #define SCNo16 "ho" #define SCNu16 "hu" #define SCNx16 "hx" #define SCNX16 "hX" #define SCNoLEAST16 "ho" #define SCNuLEAST16 "hu" #define SCNxLEAST16 "hx" #define SCNXLEAST16 "hX" #define SCNoFAST16 "ho" #define SCNuFAST16 "hu" #define SCNxFAST16 "hx" #define SCNXFAST16 "hX" #define SCNo32 "lo" #define SCNu32 "lu" #define SCNx32 "lx" #define SCNX32 "lX" #define SCNoLEAST32 "lo" #define SCNuLEAST32 "lu" #define SCNxLEAST32 "lx" #define SCNXLEAST32 "lX" #define SCNoFAST32 "lo" #define SCNuFAST32 "lu" #define SCNxFAST32 "lx" #define SCNXFAST32 "lX" #define SCNo64 "I64o" #define SCNu64 "I64u" #define SCNx64 "I64x" #define SCNX64 "I64X" #define SCNoLEAST64 "I64o" #define SCNuLEAST64 "I64u" #define SCNxLEAST64 "I64x" #define SCNXLEAST64 "I64X" #define SCNoFAST64 "I64o" #define SCNuFAST64 "I64u" #define SCNxFAST64 "I64x" #define SCNXFAST64 "I64X" #define SCNoMAX "I64o" #define SCNuMAX "I64u" #define SCNxMAX "I64x" #define SCNXMAX "I64X" #ifdef _WIN64 // [ # define SCNoPTR "I64o" # define SCNuPTR "I64u" # define SCNxPTR "I64x" # define SCNXPTR "I64X" #else // _WIN64 ][ # define SCNoPTR "lo" # define SCNuPTR "lu" # define SCNxPTR "lx" # define SCNXPTR "lX" #endif // _WIN64 ] #endif // __STDC_FORMAT_MACROS ] // 7.8.2 Functions for greatest-width integer types // 7.8.2.1 The imaxabs function #define imaxabs _abs64 // 7.8.2.2 The imaxdiv function // This is modified version of div() function from Microsoft's div.c found // in %MSVC.NET%\crt\src\div.c #ifdef STATIC_IMAXDIV // [ static #else // STATIC_IMAXDIV ][ _inline #endif // STATIC_IMAXDIV ] imaxdiv_t __cdecl imaxdiv(intmax_t numer, intmax_t denom) { imaxdiv_t result; result.quot = numer / denom; result.rem = numer % denom; if (numer < 0 && result.rem > 0) { // did division wrong; must fix up ++result.quot; result.rem -= denom; } return result; } // 7.8.2.3 The strtoimax and strtoumax functions #define strtoimax _strtoi64 #define strtoumax _strtoui64 // 7.8.2.4 The wcstoimax and wcstoumax functions #define wcstoimax _wcstoi64 #define wcstoumax _wcstoui64 #endif // _MSC_VER >= 1800 #endif // _MSC_INTTYPES_H_ ] blockattack-game-2.5.0/source/code/Libs/include/cereal/external/rapidjson/msinttypes/stdint.h000066400000000000000000000222521347224572500324160ustar00rootroot00000000000000// ISO C9x compliant stdint.h for Microsoft Visual Studio // Based on ISO/IEC 9899:TC2 Committee draft (May 6, 2005) WG14/N1124 // // Copyright (c) 2006-2013 Alexander Chemeris // // 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. Neither the name of the product nor the names of its contributors may // 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. // /////////////////////////////////////////////////////////////////////////////// // The above software in this distribution may have been modified by // THL A29 Limited ("Tencent Modifications"). // All Tencent Modifications are Copyright (C) 2015 THL A29 Limited. #ifndef _MSC_VER // [ #error "Use this header only with Microsoft Visual C++ compilers!" #endif // _MSC_VER ] #ifndef _MSC_STDINT_H_ // [ #define _MSC_STDINT_H_ #if _MSC_VER > 1000 #pragma once #endif // miloyip: Originally Visual Studio 2010 uses its own stdint.h. However it generates warning with INT64_C(), so change to use this file for vs2010. #if _MSC_VER >= 1600 // [ #include #if !defined(__cplusplus) || defined(__STDC_CONSTANT_MACROS) // [ See footnote 224 at page 260 #undef INT8_C #undef INT16_C #undef INT32_C #undef INT64_C #undef UINT8_C #undef UINT16_C #undef UINT32_C #undef UINT64_C // 7.18.4.1 Macros for minimum-width integer constants #define INT8_C(val) val##i8 #define INT16_C(val) val##i16 #define INT32_C(val) val##i32 #define INT64_C(val) val##i64 #define UINT8_C(val) val##ui8 #define UINT16_C(val) val##ui16 #define UINT32_C(val) val##ui32 #define UINT64_C(val) val##ui64 // 7.18.4.2 Macros for greatest-width integer constants // These #ifndef's are needed to prevent collisions with . // Check out Issue 9 for the details. #ifndef INTMAX_C // [ # define INTMAX_C INT64_C #endif // INTMAX_C ] #ifndef UINTMAX_C // [ # define UINTMAX_C UINT64_C #endif // UINTMAX_C ] #endif // __STDC_CONSTANT_MACROS ] #else // ] _MSC_VER >= 1700 [ #include // For Visual Studio 6 in C++ mode and for many Visual Studio versions when // compiling for ARM we have to wrap include with 'extern "C++" {}' // or compiler would give many errors like this: // error C2733: second C linkage of overloaded function 'wmemchr' not allowed #if defined(__cplusplus) && !defined(_M_ARM) extern "C" { #endif # include #if defined(__cplusplus) && !defined(_M_ARM) } #endif // Define _W64 macros to mark types changing their size, like intptr_t. #ifndef _W64 # if !defined(__midl) && (defined(_X86_) || defined(_M_IX86)) && _MSC_VER >= 1300 # define _W64 __w64 # else # define _W64 # endif #endif // 7.18.1 Integer types // 7.18.1.1 Exact-width integer types // Visual Studio 6 and Embedded Visual C++ 4 doesn't // realize that, e.g. char has the same size as __int8 // so we give up on __intX for them. #if (_MSC_VER < 1300) typedef signed char int8_t; typedef signed short int16_t; typedef signed int int32_t; typedef unsigned char uint8_t; typedef unsigned short uint16_t; typedef unsigned int uint32_t; #else typedef signed __int8 int8_t; typedef signed __int16 int16_t; typedef signed __int32 int32_t; typedef unsigned __int8 uint8_t; typedef unsigned __int16 uint16_t; typedef unsigned __int32 uint32_t; #endif typedef signed __int64 int64_t; typedef unsigned __int64 uint64_t; // 7.18.1.2 Minimum-width integer types typedef int8_t int_least8_t; typedef int16_t int_least16_t; typedef int32_t int_least32_t; typedef int64_t int_least64_t; typedef uint8_t uint_least8_t; typedef uint16_t uint_least16_t; typedef uint32_t uint_least32_t; typedef uint64_t uint_least64_t; // 7.18.1.3 Fastest minimum-width integer types typedef int8_t int_fast8_t; typedef int16_t int_fast16_t; typedef int32_t int_fast32_t; typedef int64_t int_fast64_t; typedef uint8_t uint_fast8_t; typedef uint16_t uint_fast16_t; typedef uint32_t uint_fast32_t; typedef uint64_t uint_fast64_t; // 7.18.1.4 Integer types capable of holding object pointers #ifdef _WIN64 // [ typedef signed __int64 intptr_t; typedef unsigned __int64 uintptr_t; #else // _WIN64 ][ typedef _W64 signed int intptr_t; typedef _W64 unsigned int uintptr_t; #endif // _WIN64 ] // 7.18.1.5 Greatest-width integer types typedef int64_t intmax_t; typedef uint64_t uintmax_t; // 7.18.2 Limits of specified-width integer types #if !defined(__cplusplus) || defined(__STDC_LIMIT_MACROS) // [ See footnote 220 at page 257 and footnote 221 at page 259 // 7.18.2.1 Limits of exact-width integer types #define INT8_MIN ((int8_t)_I8_MIN) #define INT8_MAX _I8_MAX #define INT16_MIN ((int16_t)_I16_MIN) #define INT16_MAX _I16_MAX #define INT32_MIN ((int32_t)_I32_MIN) #define INT32_MAX _I32_MAX #define INT64_MIN ((int64_t)_I64_MIN) #define INT64_MAX _I64_MAX #define UINT8_MAX _UI8_MAX #define UINT16_MAX _UI16_MAX #define UINT32_MAX _UI32_MAX #define UINT64_MAX _UI64_MAX // 7.18.2.2 Limits of minimum-width integer types #define INT_LEAST8_MIN INT8_MIN #define INT_LEAST8_MAX INT8_MAX #define INT_LEAST16_MIN INT16_MIN #define INT_LEAST16_MAX INT16_MAX #define INT_LEAST32_MIN INT32_MIN #define INT_LEAST32_MAX INT32_MAX #define INT_LEAST64_MIN INT64_MIN #define INT_LEAST64_MAX INT64_MAX #define UINT_LEAST8_MAX UINT8_MAX #define UINT_LEAST16_MAX UINT16_MAX #define UINT_LEAST32_MAX UINT32_MAX #define UINT_LEAST64_MAX UINT64_MAX // 7.18.2.3 Limits of fastest minimum-width integer types #define INT_FAST8_MIN INT8_MIN #define INT_FAST8_MAX INT8_MAX #define INT_FAST16_MIN INT16_MIN #define INT_FAST16_MAX INT16_MAX #define INT_FAST32_MIN INT32_MIN #define INT_FAST32_MAX INT32_MAX #define INT_FAST64_MIN INT64_MIN #define INT_FAST64_MAX INT64_MAX #define UINT_FAST8_MAX UINT8_MAX #define UINT_FAST16_MAX UINT16_MAX #define UINT_FAST32_MAX UINT32_MAX #define UINT_FAST64_MAX UINT64_MAX // 7.18.2.4 Limits of integer types capable of holding object pointers #ifdef _WIN64 // [ # define INTPTR_MIN INT64_MIN # define INTPTR_MAX INT64_MAX # define UINTPTR_MAX UINT64_MAX #else // _WIN64 ][ # define INTPTR_MIN INT32_MIN # define INTPTR_MAX INT32_MAX # define UINTPTR_MAX UINT32_MAX #endif // _WIN64 ] // 7.18.2.5 Limits of greatest-width integer types #define INTMAX_MIN INT64_MIN #define INTMAX_MAX INT64_MAX #define UINTMAX_MAX UINT64_MAX // 7.18.3 Limits of other integer types #ifdef _WIN64 // [ # define PTRDIFF_MIN _I64_MIN # define PTRDIFF_MAX _I64_MAX #else // _WIN64 ][ # define PTRDIFF_MIN _I32_MIN # define PTRDIFF_MAX _I32_MAX #endif // _WIN64 ] #define SIG_ATOMIC_MIN INT_MIN #define SIG_ATOMIC_MAX INT_MAX #ifndef SIZE_MAX // [ # ifdef _WIN64 // [ # define SIZE_MAX _UI64_MAX # else // _WIN64 ][ # define SIZE_MAX _UI32_MAX # endif // _WIN64 ] #endif // SIZE_MAX ] // WCHAR_MIN and WCHAR_MAX are also defined in #ifndef WCHAR_MIN // [ # define WCHAR_MIN 0 #endif // WCHAR_MIN ] #ifndef WCHAR_MAX // [ # define WCHAR_MAX _UI16_MAX #endif // WCHAR_MAX ] #define WINT_MIN 0 #define WINT_MAX _UI16_MAX #endif // __STDC_LIMIT_MACROS ] // 7.18.4 Limits of other integer types #if !defined(__cplusplus) || defined(__STDC_CONSTANT_MACROS) // [ See footnote 224 at page 260 // 7.18.4.1 Macros for minimum-width integer constants #define INT8_C(val) val##i8 #define INT16_C(val) val##i16 #define INT32_C(val) val##i32 #define INT64_C(val) val##i64 #define UINT8_C(val) val##ui8 #define UINT16_C(val) val##ui16 #define UINT32_C(val) val##ui32 #define UINT64_C(val) val##ui64 // 7.18.4.2 Macros for greatest-width integer constants // These #ifndef's are needed to prevent collisions with . // Check out Issue 9 for the details. #ifndef INTMAX_C // [ # define INTMAX_C INT64_C #endif // INTMAX_C ] #ifndef UINTMAX_C // [ # define UINTMAX_C UINT64_C #endif // UINTMAX_C ] #endif // __STDC_CONSTANT_MACROS ] #endif // _MSC_VER >= 1600 ] #endif // _MSC_STDINT_H_ ] blockattack-game-2.5.0/source/code/Libs/include/cereal/external/rapidjson/ostreamwrapper.h000066400000000000000000000045661347224572500317550ustar00rootroot00000000000000// Tencent is pleased to support the open source community by making RapidJSON available. // // Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. // // Licensed under the MIT License (the "License"); you may not use this file except // in compliance with the License. You may obtain a copy of the License at // // http://opensource.org/licenses/MIT // // Unless required by applicable law or agreed to in writing, software distributed // under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR // CONDITIONS OF ANY KIND, either express or implied. See the License for the // specific language governing permissions and limitations under the License. #ifndef CEREAL_RAPIDJSON_OSTREAMWRAPPER_H_ #define CEREAL_RAPIDJSON_OSTREAMWRAPPER_H_ #include "stream.h" #include #ifdef __clang__ CEREAL_RAPIDJSON_DIAG_PUSH CEREAL_RAPIDJSON_DIAG_OFF(padded) #endif CEREAL_RAPIDJSON_NAMESPACE_BEGIN //! Wrapper of \c std::basic_ostream into RapidJSON's Stream concept. /*! The classes can be wrapped including but not limited to: - \c std::ostringstream - \c std::stringstream - \c std::wpstringstream - \c std::wstringstream - \c std::ifstream - \c std::fstream - \c std::wofstream - \c std::wfstream \tparam StreamType Class derived from \c std::basic_ostream. */ template class BasicOStreamWrapper { public: typedef typename StreamType::char_type Ch; BasicOStreamWrapper(StreamType& stream) : stream_(stream) {} void Put(Ch c) { stream_.put(c); } void Flush() { stream_.flush(); } // Not implemented char Peek() const { CEREAL_RAPIDJSON_ASSERT(false); return 0; } char Take() { CEREAL_RAPIDJSON_ASSERT(false); return 0; } size_t Tell() const { CEREAL_RAPIDJSON_ASSERT(false); return 0; } char* PutBegin() { CEREAL_RAPIDJSON_ASSERT(false); return 0; } size_t PutEnd(char*) { CEREAL_RAPIDJSON_ASSERT(false); return 0; } private: BasicOStreamWrapper(const BasicOStreamWrapper&); BasicOStreamWrapper& operator=(const BasicOStreamWrapper&); StreamType& stream_; }; typedef BasicOStreamWrapper OStreamWrapper; typedef BasicOStreamWrapper WOStreamWrapper; #ifdef __clang__ CEREAL_RAPIDJSON_DIAG_POP #endif CEREAL_RAPIDJSON_NAMESPACE_END #endif // CEREAL_RAPIDJSON_OSTREAMWRAPPER_H_ blockattack-game-2.5.0/source/code/Libs/include/cereal/external/rapidjson/pointer.h000066400000000000000000001627331347224572500303630ustar00rootroot00000000000000// Tencent is pleased to support the open source community by making RapidJSON available. // // Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. // // Licensed under the MIT License (the "License"); you may not use this file except // in compliance with the License. You may obtain a copy of the License at // // http://opensource.org/licenses/MIT // // Unless required by applicable law or agreed to in writing, software distributed // under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR // CONDITIONS OF ANY KIND, either express or implied. See the License for the // specific language governing permissions and limitations under the License. #ifndef CEREAL_RAPIDJSON_POINTER_H_ #define CEREAL_RAPIDJSON_POINTER_H_ #include "document.h" #include "internal/itoa.h" #ifdef __clang__ CEREAL_RAPIDJSON_DIAG_PUSH CEREAL_RAPIDJSON_DIAG_OFF(switch-enum) #endif #ifdef _MSC_VER CEREAL_RAPIDJSON_DIAG_PUSH CEREAL_RAPIDJSON_DIAG_OFF(4512) // assignment operator could not be generated #endif CEREAL_RAPIDJSON_NAMESPACE_BEGIN static const SizeType kPointerInvalidIndex = ~SizeType(0); //!< Represents an invalid index in GenericPointer::Token //! Error code of parsing. /*! \ingroup CEREAL_RAPIDJSON_ERRORS \see GenericPointer::GenericPointer, GenericPointer::GetParseErrorCode */ enum PointerParseErrorCode { kPointerParseErrorNone = 0, //!< The parse is successful kPointerParseErrorTokenMustBeginWithSolidus, //!< A token must begin with a '/' kPointerParseErrorInvalidEscape, //!< Invalid escape kPointerParseErrorInvalidPercentEncoding, //!< Invalid percent encoding in URI fragment kPointerParseErrorCharacterMustPercentEncode //!< A character must percent encoded in URI fragment }; /////////////////////////////////////////////////////////////////////////////// // GenericPointer //! Represents a JSON Pointer. Use Pointer for UTF8 encoding and default allocator. /*! This class implements RFC 6901 "JavaScript Object Notation (JSON) Pointer" (https://tools.ietf.org/html/rfc6901). A JSON pointer is for identifying a specific value in a JSON document (GenericDocument). It can simplify coding of DOM tree manipulation, because it can access multiple-level depth of DOM tree with single API call. After it parses a string representation (e.g. "/foo/0" or URI fragment representation (e.g. "#/foo/0") into its internal representation (tokens), it can be used to resolve a specific value in multiple documents, or sub-tree of documents. Contrary to GenericValue, Pointer can be copy constructed and copy assigned. Apart from assignment, a Pointer cannot be modified after construction. Although Pointer is very convenient, please aware that constructing Pointer involves parsing and dynamic memory allocation. A special constructor with user- supplied tokens eliminates these. GenericPointer depends on GenericDocument and GenericValue. \tparam ValueType The value type of the DOM tree. E.g. GenericValue > \tparam Allocator The allocator type for allocating memory for internal representation. \note GenericPointer uses same encoding of ValueType. However, Allocator of GenericPointer is independent of Allocator of Value. */ template class GenericPointer { public: typedef typename ValueType::EncodingType EncodingType; //!< Encoding type from Value typedef typename ValueType::Ch Ch; //!< Character type from Value //! A token is the basic units of internal representation. /*! A JSON pointer string representation "/foo/123" is parsed to two tokens: "foo" and 123. 123 will be represented in both numeric form and string form. They are resolved according to the actual value type (object or array). For token that are not numbers, or the numeric value is out of bound (greater than limits of SizeType), they are only treated as string form (i.e. the token's index will be equal to kPointerInvalidIndex). This struct is public so that user can create a Pointer without parsing and allocation, using a special constructor. */ struct Token { const Ch* name; //!< Name of the token. It has null character at the end but it can contain null character. SizeType length; //!< Length of the name. SizeType index; //!< A valid array index, if it is not equal to kPointerInvalidIndex. }; //!@name Constructors and destructor. //@{ //! Default constructor. GenericPointer(Allocator* allocator = 0) : allocator_(allocator), ownAllocator_(), nameBuffer_(), tokens_(), tokenCount_(), parseErrorOffset_(), parseErrorCode_(kPointerParseErrorNone) {} //! Constructor that parses a string or URI fragment representation. /*! \param source A null-terminated, string or URI fragment representation of JSON pointer. \param allocator User supplied allocator for this pointer. If no allocator is provided, it creates a self-owned one. */ explicit GenericPointer(const Ch* source, Allocator* allocator = 0) : allocator_(allocator), ownAllocator_(), nameBuffer_(), tokens_(), tokenCount_(), parseErrorOffset_(), parseErrorCode_(kPointerParseErrorNone) { Parse(source, internal::StrLen(source)); } #if CEREAL_RAPIDJSON_HAS_STDSTRING //! Constructor that parses a string or URI fragment representation. /*! \param source A string or URI fragment representation of JSON pointer. \param allocator User supplied allocator for this pointer. If no allocator is provided, it creates a self-owned one. \note Requires the definition of the preprocessor symbol \ref CEREAL_RAPIDJSON_HAS_STDSTRING. */ explicit GenericPointer(const std::basic_string& source, Allocator* allocator = 0) : allocator_(allocator), ownAllocator_(), nameBuffer_(), tokens_(), tokenCount_(), parseErrorOffset_(), parseErrorCode_(kPointerParseErrorNone) { Parse(source.c_str(), source.size()); } #endif //! Constructor that parses a string or URI fragment representation, with length of the source string. /*! \param source A string or URI fragment representation of JSON pointer. \param length Length of source. \param allocator User supplied allocator for this pointer. If no allocator is provided, it creates a self-owned one. \note Slightly faster than the overload without length. */ GenericPointer(const Ch* source, size_t length, Allocator* allocator = 0) : allocator_(allocator), ownAllocator_(), nameBuffer_(), tokens_(), tokenCount_(), parseErrorOffset_(), parseErrorCode_(kPointerParseErrorNone) { Parse(source, length); } //! Constructor with user-supplied tokens. /*! This constructor let user supplies const array of tokens. This prevents the parsing process and eliminates allocation. This is preferred for memory constrained environments. \param tokens An constant array of tokens representing the JSON pointer. \param tokenCount Number of tokens. \b Example \code #define NAME(s) { s, sizeof(s) / sizeof(s[0]) - 1, kPointerInvalidIndex } #define INDEX(i) { #i, sizeof(#i) - 1, i } static const Pointer::Token kTokens[] = { NAME("foo"), INDEX(123) }; static const Pointer p(kTokens, sizeof(kTokens) / sizeof(kTokens[0])); // Equivalent to static const Pointer p("/foo/123"); #undef NAME #undef INDEX \endcode */ GenericPointer(const Token* tokens, size_t tokenCount) : allocator_(), ownAllocator_(), nameBuffer_(), tokens_(const_cast(tokens)), tokenCount_(tokenCount), parseErrorOffset_(), parseErrorCode_(kPointerParseErrorNone) {} //! Copy constructor. GenericPointer(const GenericPointer& rhs, Allocator* allocator = 0) : allocator_(allocator), ownAllocator_(), nameBuffer_(), tokens_(), tokenCount_(), parseErrorOffset_(), parseErrorCode_(kPointerParseErrorNone) { *this = rhs; } //! Destructor. ~GenericPointer() { if (nameBuffer_) // If user-supplied tokens constructor is used, nameBuffer_ is nullptr and tokens_ are not deallocated. Allocator::Free(tokens_); CEREAL_RAPIDJSON_DELETE(ownAllocator_); } //! Assignment operator. GenericPointer& operator=(const GenericPointer& rhs) { if (this != &rhs) { // Do not delete ownAllcator if (nameBuffer_) Allocator::Free(tokens_); tokenCount_ = rhs.tokenCount_; parseErrorOffset_ = rhs.parseErrorOffset_; parseErrorCode_ = rhs.parseErrorCode_; if (rhs.nameBuffer_) CopyFromRaw(rhs); // Normally parsed tokens. else { tokens_ = rhs.tokens_; // User supplied const tokens. nameBuffer_ = 0; } } return *this; } //@} //!@name Append token //@{ //! Append a token and return a new Pointer /*! \param token Token to be appended. \param allocator Allocator for the newly return Pointer. \return A new Pointer with appended token. */ GenericPointer Append(const Token& token, Allocator* allocator = 0) const { GenericPointer r; r.allocator_ = allocator; Ch *p = r.CopyFromRaw(*this, 1, token.length + 1); std::memcpy(p, token.name, (token.length + 1) * sizeof(Ch)); r.tokens_[tokenCount_].name = p; r.tokens_[tokenCount_].length = token.length; r.tokens_[tokenCount_].index = token.index; return r; } //! Append a name token with length, and return a new Pointer /*! \param name Name to be appended. \param length Length of name. \param allocator Allocator for the newly return Pointer. \return A new Pointer with appended token. */ GenericPointer Append(const Ch* name, SizeType length, Allocator* allocator = 0) const { Token token = { name, length, kPointerInvalidIndex }; return Append(token, allocator); } //! Append a name token without length, and return a new Pointer /*! \param name Name (const Ch*) to be appended. \param allocator Allocator for the newly return Pointer. \return A new Pointer with appended token. */ template CEREAL_RAPIDJSON_DISABLEIF_RETURN((internal::NotExpr::Type, Ch> >), (GenericPointer)) Append(T* name, Allocator* allocator = 0) const { return Append(name, StrLen(name), allocator); } #if CEREAL_RAPIDJSON_HAS_STDSTRING //! Append a name token, and return a new Pointer /*! \param name Name to be appended. \param allocator Allocator for the newly return Pointer. \return A new Pointer with appended token. */ GenericPointer Append(const std::basic_string& name, Allocator* allocator = 0) const { return Append(name.c_str(), static_cast(name.size()), allocator); } #endif //! Append a index token, and return a new Pointer /*! \param index Index to be appended. \param allocator Allocator for the newly return Pointer. \return A new Pointer with appended token. */ GenericPointer Append(SizeType index, Allocator* allocator = 0) const { char buffer[21]; char* end = sizeof(SizeType) == 4 ? internal::u32toa(index, buffer) : internal::u64toa(index, buffer); SizeType length = static_cast(end - buffer); buffer[length] = '\0'; if (sizeof(Ch) == 1) { Token token = { reinterpret_cast(buffer), length, index }; return Append(token, allocator); } else { Ch name[21]; for (size_t i = 0; i <= length; i++) name[i] = buffer[i]; Token token = { name, length, index }; return Append(token, allocator); } } //! Append a token by value, and return a new Pointer /*! \param token token to be appended. \param allocator Allocator for the newly return Pointer. \return A new Pointer with appended token. */ GenericPointer Append(const ValueType& token, Allocator* allocator = 0) const { if (token.IsString()) return Append(token.GetString(), token.GetStringLength(), allocator); else { CEREAL_RAPIDJSON_ASSERT(token.IsUint64()); CEREAL_RAPIDJSON_ASSERT(token.GetUint64() <= SizeType(~0)); return Append(static_cast(token.GetUint64()), allocator); } } //!@name Handling Parse Error //@{ //! Check whether this is a valid pointer. bool IsValid() const { return parseErrorCode_ == kPointerParseErrorNone; } //! Get the parsing error offset in code unit. size_t GetParseErrorOffset() const { return parseErrorOffset_; } //! Get the parsing error code. PointerParseErrorCode GetParseErrorCode() const { return parseErrorCode_; } //@} //! Get the allocator of this pointer. Allocator& GetAllocator() { return *allocator_; } //!@name Tokens //@{ //! Get the token array (const version only). const Token* GetTokens() const { return tokens_; } //! Get the number of tokens. size_t GetTokenCount() const { return tokenCount_; } //@} //!@name Equality/inequality operators //@{ //! Equality operator. /*! \note When any pointers are invalid, always returns false. */ bool operator==(const GenericPointer& rhs) const { if (!IsValid() || !rhs.IsValid() || tokenCount_ != rhs.tokenCount_) return false; for (size_t i = 0; i < tokenCount_; i++) { if (tokens_[i].index != rhs.tokens_[i].index || tokens_[i].length != rhs.tokens_[i].length || (tokens_[i].length != 0 && std::memcmp(tokens_[i].name, rhs.tokens_[i].name, sizeof(Ch)* tokens_[i].length) != 0)) { return false; } } return true; } //! Inequality operator. /*! \note When any pointers are invalid, always returns true. */ bool operator!=(const GenericPointer& rhs) const { return !(*this == rhs); } //@} //!@name Stringify //@{ //! Stringify the pointer into string representation. /*! \tparam OutputStream Type of output stream. \param os The output stream. */ template bool Stringify(OutputStream& os) const { return Stringify(os); } //! Stringify the pointer into URI fragment representation. /*! \tparam OutputStream Type of output stream. \param os The output stream. */ template bool StringifyUriFragment(OutputStream& os) const { return Stringify(os); } //@} //!@name Create value //@{ //! Create a value in a subtree. /*! If the value is not exist, it creates all parent values and a JSON Null value. So it always succeed and return the newly created or existing value. Remind that it may change types of parents according to tokens, so it potentially removes previously stored values. For example, if a document was an array, and "/foo" is used to create a value, then the document will be changed to an object, and all existing array elements are lost. \param root Root value of a DOM subtree to be resolved. It can be any value other than document root. \param allocator Allocator for creating the values if the specified value or its parents are not exist. \param alreadyExist If non-null, it stores whether the resolved value is already exist. \return The resolved newly created (a JSON Null value), or already exists value. */ ValueType& Create(ValueType& root, typename ValueType::AllocatorType& allocator, bool* alreadyExist = 0) const { CEREAL_RAPIDJSON_ASSERT(IsValid()); ValueType* v = &root; bool exist = true; for (const Token *t = tokens_; t != tokens_ + tokenCount_; ++t) { if (v->IsArray() && t->name[0] == '-' && t->length == 1) { v->PushBack(ValueType().Move(), allocator); v = &((*v)[v->Size() - 1]); exist = false; } else { if (t->index == kPointerInvalidIndex) { // must be object name if (!v->IsObject()) v->SetObject(); // Change to Object } else { // object name or array index if (!v->IsArray() && !v->IsObject()) v->SetArray(); // Change to Array } if (v->IsArray()) { if (t->index >= v->Size()) { v->Reserve(t->index + 1, allocator); while (t->index >= v->Size()) v->PushBack(ValueType().Move(), allocator); exist = false; } v = &((*v)[t->index]); } else { typename ValueType::MemberIterator m = v->FindMember(GenericStringRef(t->name, t->length)); if (m == v->MemberEnd()) { v->AddMember(ValueType(t->name, t->length, allocator).Move(), ValueType().Move(), allocator); v = &(--v->MemberEnd())->value; // Assumes AddMember() appends at the end exist = false; } else v = &m->value; } } } if (alreadyExist) *alreadyExist = exist; return *v; } //! Creates a value in a document. /*! \param document A document to be resolved. \param alreadyExist If non-null, it stores whether the resolved value is already exist. \return The resolved newly created, or already exists value. */ template ValueType& Create(GenericDocument& document, bool* alreadyExist = 0) const { return Create(document, document.GetAllocator(), alreadyExist); } //@} //!@name Query value //@{ //! Query a value in a subtree. /*! \param root Root value of a DOM sub-tree to be resolved. It can be any value other than document root. \param unresolvedTokenIndex If the pointer cannot resolve a token in the pointer, this parameter can obtain the index of unresolved token. \return Pointer to the value if it can be resolved. Otherwise null. \note There are only 3 situations when a value cannot be resolved: 1. A value in the path is not an array nor object. 2. An object value does not contain the token. 3. A token is out of range of an array value. Use unresolvedTokenIndex to retrieve the token index. */ ValueType* Get(ValueType& root, size_t* unresolvedTokenIndex = 0) const { CEREAL_RAPIDJSON_ASSERT(IsValid()); ValueType* v = &root; for (const Token *t = tokens_; t != tokens_ + tokenCount_; ++t) { switch (v->GetType()) { case kObjectType: { typename ValueType::MemberIterator m = v->FindMember(GenericStringRef(t->name, t->length)); if (m == v->MemberEnd()) break; v = &m->value; } continue; case kArrayType: if (t->index == kPointerInvalidIndex || t->index >= v->Size()) break; v = &((*v)[t->index]); continue; default: break; } // Error: unresolved token if (unresolvedTokenIndex) *unresolvedTokenIndex = static_cast(t - tokens_); return 0; } return v; } //! Query a const value in a const subtree. /*! \param root Root value of a DOM sub-tree to be resolved. It can be any value other than document root. \return Pointer to the value if it can be resolved. Otherwise null. */ const ValueType* Get(const ValueType& root, size_t* unresolvedTokenIndex = 0) const { return Get(const_cast(root), unresolvedTokenIndex); } //@} //!@name Query a value with default //@{ //! Query a value in a subtree with default value. /*! Similar to Get(), but if the specified value do not exists, it creates all parents and clone the default value. So that this function always succeed. \param root Root value of a DOM sub-tree to be resolved. It can be any value other than document root. \param defaultValue Default value to be cloned if the value was not exists. \param allocator Allocator for creating the values if the specified value or its parents are not exist. \see Create() */ ValueType& GetWithDefault(ValueType& root, const ValueType& defaultValue, typename ValueType::AllocatorType& allocator) const { bool alreadyExist; Value& v = Create(root, allocator, &alreadyExist); return alreadyExist ? v : v.CopyFrom(defaultValue, allocator); } //! Query a value in a subtree with default null-terminated string. ValueType& GetWithDefault(ValueType& root, const Ch* defaultValue, typename ValueType::AllocatorType& allocator) const { bool alreadyExist; Value& v = Create(root, allocator, &alreadyExist); return alreadyExist ? v : v.SetString(defaultValue, allocator); } #if CEREAL_RAPIDJSON_HAS_STDSTRING //! Query a value in a subtree with default std::basic_string. ValueType& GetWithDefault(ValueType& root, const std::basic_string& defaultValue, typename ValueType::AllocatorType& allocator) const { bool alreadyExist; Value& v = Create(root, allocator, &alreadyExist); return alreadyExist ? v : v.SetString(defaultValue, allocator); } #endif //! Query a value in a subtree with default primitive value. /*! \tparam T Either \ref Type, \c int, \c unsigned, \c int64_t, \c uint64_t, \c bool */ template CEREAL_RAPIDJSON_DISABLEIF_RETURN((internal::OrExpr, internal::IsGenericValue >), (ValueType&)) GetWithDefault(ValueType& root, T defaultValue, typename ValueType::AllocatorType& allocator) const { return GetWithDefault(root, ValueType(defaultValue).Move(), allocator); } //! Query a value in a document with default value. template ValueType& GetWithDefault(GenericDocument& document, const ValueType& defaultValue) const { return GetWithDefault(document, defaultValue, document.GetAllocator()); } //! Query a value in a document with default null-terminated string. template ValueType& GetWithDefault(GenericDocument& document, const Ch* defaultValue) const { return GetWithDefault(document, defaultValue, document.GetAllocator()); } #if CEREAL_RAPIDJSON_HAS_STDSTRING //! Query a value in a document with default std::basic_string. template ValueType& GetWithDefault(GenericDocument& document, const std::basic_string& defaultValue) const { return GetWithDefault(document, defaultValue, document.GetAllocator()); } #endif //! Query a value in a document with default primitive value. /*! \tparam T Either \ref Type, \c int, \c unsigned, \c int64_t, \c uint64_t, \c bool */ template CEREAL_RAPIDJSON_DISABLEIF_RETURN((internal::OrExpr, internal::IsGenericValue >), (ValueType&)) GetWithDefault(GenericDocument& document, T defaultValue) const { return GetWithDefault(document, defaultValue, document.GetAllocator()); } //@} //!@name Set a value //@{ //! Set a value in a subtree, with move semantics. /*! It creates all parents if they are not exist or types are different to the tokens. So this function always succeeds but potentially remove existing values. \param root Root value of a DOM sub-tree to be resolved. It can be any value other than document root. \param value Value to be set. \param allocator Allocator for creating the values if the specified value or its parents are not exist. \see Create() */ ValueType& Set(ValueType& root, ValueType& value, typename ValueType::AllocatorType& allocator) const { return Create(root, allocator) = value; } //! Set a value in a subtree, with copy semantics. ValueType& Set(ValueType& root, const ValueType& value, typename ValueType::AllocatorType& allocator) const { return Create(root, allocator).CopyFrom(value, allocator); } //! Set a null-terminated string in a subtree. ValueType& Set(ValueType& root, const Ch* value, typename ValueType::AllocatorType& allocator) const { return Create(root, allocator) = ValueType(value, allocator).Move(); } #if CEREAL_RAPIDJSON_HAS_STDSTRING //! Set a std::basic_string in a subtree. ValueType& Set(ValueType& root, const std::basic_string& value, typename ValueType::AllocatorType& allocator) const { return Create(root, allocator) = ValueType(value, allocator).Move(); } #endif //! Set a primitive value in a subtree. /*! \tparam T Either \ref Type, \c int, \c unsigned, \c int64_t, \c uint64_t, \c bool */ template CEREAL_RAPIDJSON_DISABLEIF_RETURN((internal::OrExpr, internal::IsGenericValue >), (ValueType&)) Set(ValueType& root, T value, typename ValueType::AllocatorType& allocator) const { return Create(root, allocator) = ValueType(value).Move(); } //! Set a value in a document, with move semantics. template ValueType& Set(GenericDocument& document, ValueType& value) const { return Create(document) = value; } //! Set a value in a document, with copy semantics. template ValueType& Set(GenericDocument& document, const ValueType& value) const { return Create(document).CopyFrom(value, document.GetAllocator()); } //! Set a null-terminated string in a document. template ValueType& Set(GenericDocument& document, const Ch* value) const { return Create(document) = ValueType(value, document.GetAllocator()).Move(); } #if CEREAL_RAPIDJSON_HAS_STDSTRING //! Sets a std::basic_string in a document. template ValueType& Set(GenericDocument& document, const std::basic_string& value) const { return Create(document) = ValueType(value, document.GetAllocator()).Move(); } #endif //! Set a primitive value in a document. /*! \tparam T Either \ref Type, \c int, \c unsigned, \c int64_t, \c uint64_t, \c bool */ template CEREAL_RAPIDJSON_DISABLEIF_RETURN((internal::OrExpr, internal::IsGenericValue >), (ValueType&)) Set(GenericDocument& document, T value) const { return Create(document) = value; } //@} //!@name Swap a value //@{ //! Swap a value with a value in a subtree. /*! It creates all parents if they are not exist or types are different to the tokens. So this function always succeeds but potentially remove existing values. \param root Root value of a DOM sub-tree to be resolved. It can be any value other than document root. \param value Value to be swapped. \param allocator Allocator for creating the values if the specified value or its parents are not exist. \see Create() */ ValueType& Swap(ValueType& root, ValueType& value, typename ValueType::AllocatorType& allocator) const { return Create(root, allocator).Swap(value); } //! Swap a value with a value in a document. template ValueType& Swap(GenericDocument& document, ValueType& value) const { return Create(document).Swap(value); } //@} //! Erase a value in a subtree. /*! \param root Root value of a DOM sub-tree to be resolved. It can be any value other than document root. \return Whether the resolved value is found and erased. \note Erasing with an empty pointer \c Pointer(""), i.e. the root, always fail and return false. */ bool Erase(ValueType& root) const { CEREAL_RAPIDJSON_ASSERT(IsValid()); if (tokenCount_ == 0) // Cannot erase the root return false; ValueType* v = &root; const Token* last = tokens_ + (tokenCount_ - 1); for (const Token *t = tokens_; t != last; ++t) { switch (v->GetType()) { case kObjectType: { typename ValueType::MemberIterator m = v->FindMember(GenericStringRef(t->name, t->length)); if (m == v->MemberEnd()) return false; v = &m->value; } break; case kArrayType: if (t->index == kPointerInvalidIndex || t->index >= v->Size()) return false; v = &((*v)[t->index]); break; default: return false; } } switch (v->GetType()) { case kObjectType: return v->EraseMember(GenericStringRef(last->name, last->length)); case kArrayType: if (last->index == kPointerInvalidIndex || last->index >= v->Size()) return false; v->Erase(v->Begin() + last->index); return true; default: return false; } } private: //! Clone the content from rhs to this. /*! \param rhs Source pointer. \param extraToken Extra tokens to be allocated. \param extraNameBufferSize Extra name buffer size (in number of Ch) to be allocated. \return Start of non-occupied name buffer, for storing extra names. */ Ch* CopyFromRaw(const GenericPointer& rhs, size_t extraToken = 0, size_t extraNameBufferSize = 0) { if (!allocator_) // allocator is independently owned. ownAllocator_ = allocator_ = CEREAL_RAPIDJSON_NEW(Allocator()); size_t nameBufferSize = rhs.tokenCount_; // null terminators for tokens for (Token *t = rhs.tokens_; t != rhs.tokens_ + rhs.tokenCount_; ++t) nameBufferSize += t->length; tokenCount_ = rhs.tokenCount_ + extraToken; tokens_ = static_cast(allocator_->Malloc(tokenCount_ * sizeof(Token) + (nameBufferSize + extraNameBufferSize) * sizeof(Ch))); nameBuffer_ = reinterpret_cast(tokens_ + tokenCount_); if (rhs.tokenCount_ > 0) { std::memcpy(tokens_, rhs.tokens_, rhs.tokenCount_ * sizeof(Token)); } if (nameBufferSize > 0) { std::memcpy(nameBuffer_, rhs.nameBuffer_, nameBufferSize * sizeof(Ch)); } // Adjust pointers to name buffer std::ptrdiff_t diff = nameBuffer_ - rhs.nameBuffer_; for (Token *t = tokens_; t != tokens_ + rhs.tokenCount_; ++t) t->name += diff; return nameBuffer_ + nameBufferSize; } //! Check whether a character should be percent-encoded. /*! According to RFC 3986 2.3 Unreserved Characters. \param c The character (code unit) to be tested. */ bool NeedPercentEncode(Ch c) const { return !((c >= '0' && c <= '9') || (c >= 'A' && c <='Z') || (c >= 'a' && c <= 'z') || c == '-' || c == '.' || c == '_' || c =='~'); } //! Parse a JSON String or its URI fragment representation into tokens. #ifndef __clang__ // -Wdocumentation /*! \param source Either a JSON Pointer string, or its URI fragment representation. Not need to be null terminated. \param length Length of the source string. \note Source cannot be JSON String Representation of JSON Pointer, e.g. In "/\u0000", \u0000 will not be unescaped. */ #endif void Parse(const Ch* source, size_t length) { CEREAL_RAPIDJSON_ASSERT(source != NULL); CEREAL_RAPIDJSON_ASSERT(nameBuffer_ == 0); CEREAL_RAPIDJSON_ASSERT(tokens_ == 0); // Create own allocator if user did not supply. if (!allocator_) ownAllocator_ = allocator_ = CEREAL_RAPIDJSON_NEW(Allocator()); // Count number of '/' as tokenCount tokenCount_ = 0; for (const Ch* s = source; s != source + length; s++) if (*s == '/') tokenCount_++; Token* token = tokens_ = static_cast(allocator_->Malloc(tokenCount_ * sizeof(Token) + length * sizeof(Ch))); Ch* name = nameBuffer_ = reinterpret_cast(tokens_ + tokenCount_); size_t i = 0; // Detect if it is a URI fragment bool uriFragment = false; if (source[i] == '#') { uriFragment = true; i++; } if (i != length && source[i] != '/') { parseErrorCode_ = kPointerParseErrorTokenMustBeginWithSolidus; goto error; } while (i < length) { CEREAL_RAPIDJSON_ASSERT(source[i] == '/'); i++; // consumes '/' token->name = name; bool isNumber = true; while (i < length && source[i] != '/') { Ch c = source[i]; if (uriFragment) { // Decoding percent-encoding for URI fragment if (c == '%') { PercentDecodeStream is(&source[i], source + length); GenericInsituStringStream os(name); Ch* begin = os.PutBegin(); if (!Transcoder, EncodingType>().Validate(is, os) || !is.IsValid()) { parseErrorCode_ = kPointerParseErrorInvalidPercentEncoding; goto error; } size_t len = os.PutEnd(begin); i += is.Tell() - 1; if (len == 1) c = *name; else { name += len; isNumber = false; i++; continue; } } else if (NeedPercentEncode(c)) { parseErrorCode_ = kPointerParseErrorCharacterMustPercentEncode; goto error; } } i++; // Escaping "~0" -> '~', "~1" -> '/' if (c == '~') { if (i < length) { c = source[i]; if (c == '0') c = '~'; else if (c == '1') c = '/'; else { parseErrorCode_ = kPointerParseErrorInvalidEscape; goto error; } i++; } else { parseErrorCode_ = kPointerParseErrorInvalidEscape; goto error; } } // First check for index: all of characters are digit if (c < '0' || c > '9') isNumber = false; *name++ = c; } token->length = static_cast(name - token->name); if (token->length == 0) isNumber = false; *name++ = '\0'; // Null terminator // Second check for index: more than one digit cannot have leading zero if (isNumber && token->length > 1 && token->name[0] == '0') isNumber = false; // String to SizeType conversion SizeType n = 0; if (isNumber) { for (size_t j = 0; j < token->length; j++) { SizeType m = n * 10 + static_cast(token->name[j] - '0'); if (m < n) { // overflow detection isNumber = false; break; } n = m; } } token->index = isNumber ? n : kPointerInvalidIndex; token++; } CEREAL_RAPIDJSON_ASSERT(name <= nameBuffer_ + length); // Should not overflow buffer parseErrorCode_ = kPointerParseErrorNone; return; error: Allocator::Free(tokens_); nameBuffer_ = 0; tokens_ = 0; tokenCount_ = 0; parseErrorOffset_ = i; return; } //! Stringify to string or URI fragment representation. /*! \tparam uriFragment True for stringifying to URI fragment representation. False for string representation. \tparam OutputStream type of output stream. \param os The output stream. */ template bool Stringify(OutputStream& os) const { CEREAL_RAPIDJSON_ASSERT(IsValid()); if (uriFragment) os.Put('#'); for (Token *t = tokens_; t != tokens_ + tokenCount_; ++t) { os.Put('/'); for (size_t j = 0; j < t->length; j++) { Ch c = t->name[j]; if (c == '~') { os.Put('~'); os.Put('0'); } else if (c == '/') { os.Put('~'); os.Put('1'); } else if (uriFragment && NeedPercentEncode(c)) { // Transcode to UTF8 sequence GenericStringStream source(&t->name[j]); PercentEncodeStream target(os); if (!Transcoder >().Validate(source, target)) return false; j += source.Tell() - 1; } else os.Put(c); } } return true; } //! A helper stream for decoding a percent-encoded sequence into code unit. /*! This stream decodes %XY triplet into code unit (0-255). If it encounters invalid characters, it sets output code unit as 0 and mark invalid, and to be checked by IsValid(). */ class PercentDecodeStream { public: typedef typename ValueType::Ch Ch; //! Constructor /*! \param source Start of the stream \param end Past-the-end of the stream. */ PercentDecodeStream(const Ch* source, const Ch* end) : src_(source), head_(source), end_(end), valid_(true) {} Ch Take() { if (*src_ != '%' || src_ + 3 > end_) { // %XY triplet valid_ = false; return 0; } src_++; Ch c = 0; for (int j = 0; j < 2; j++) { c = static_cast(c << 4); Ch h = *src_; if (h >= '0' && h <= '9') c = static_cast(c + h - '0'); else if (h >= 'A' && h <= 'F') c = static_cast(c + h - 'A' + 10); else if (h >= 'a' && h <= 'f') c = static_cast(c + h - 'a' + 10); else { valid_ = false; return 0; } src_++; } return c; } size_t Tell() const { return static_cast(src_ - head_); } bool IsValid() const { return valid_; } private: const Ch* src_; //!< Current read position. const Ch* head_; //!< Original head of the string. const Ch* end_; //!< Past-the-end position. bool valid_; //!< Whether the parsing is valid. }; //! A helper stream to encode character (UTF-8 code unit) into percent-encoded sequence. template class PercentEncodeStream { public: PercentEncodeStream(OutputStream& os) : os_(os) {} void Put(char c) { // UTF-8 must be byte unsigned char u = static_cast(c); static const char hexDigits[16] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' }; os_.Put('%'); os_.Put(hexDigits[u >> 4]); os_.Put(hexDigits[u & 15]); } private: OutputStream& os_; }; Allocator* allocator_; //!< The current allocator. It is either user-supplied or equal to ownAllocator_. Allocator* ownAllocator_; //!< Allocator owned by this Pointer. Ch* nameBuffer_; //!< A buffer containing all names in tokens. Token* tokens_; //!< A list of tokens. size_t tokenCount_; //!< Number of tokens in tokens_. size_t parseErrorOffset_; //!< Offset in code unit when parsing fail. PointerParseErrorCode parseErrorCode_; //!< Parsing error code. }; //! GenericPointer for Value (UTF-8, default allocator). typedef GenericPointer Pointer; //!@name Helper functions for GenericPointer //@{ ////////////////////////////////////////////////////////////////////////////// template typename T::ValueType& CreateValueByPointer(T& root, const GenericPointer& pointer, typename T::AllocatorType& a) { return pointer.Create(root, a); } template typename T::ValueType& CreateValueByPointer(T& root, const CharType(&source)[N], typename T::AllocatorType& a) { return GenericPointer(source, N - 1).Create(root, a); } // No allocator parameter template typename DocumentType::ValueType& CreateValueByPointer(DocumentType& document, const GenericPointer& pointer) { return pointer.Create(document); } template typename DocumentType::ValueType& CreateValueByPointer(DocumentType& document, const CharType(&source)[N]) { return GenericPointer(source, N - 1).Create(document); } ////////////////////////////////////////////////////////////////////////////// template typename T::ValueType* GetValueByPointer(T& root, const GenericPointer& pointer, size_t* unresolvedTokenIndex = 0) { return pointer.Get(root, unresolvedTokenIndex); } template const typename T::ValueType* GetValueByPointer(const T& root, const GenericPointer& pointer, size_t* unresolvedTokenIndex = 0) { return pointer.Get(root, unresolvedTokenIndex); } template typename T::ValueType* GetValueByPointer(T& root, const CharType (&source)[N], size_t* unresolvedTokenIndex = 0) { return GenericPointer(source, N - 1).Get(root, unresolvedTokenIndex); } template const typename T::ValueType* GetValueByPointer(const T& root, const CharType(&source)[N], size_t* unresolvedTokenIndex = 0) { return GenericPointer(source, N - 1).Get(root, unresolvedTokenIndex); } ////////////////////////////////////////////////////////////////////////////// template typename T::ValueType& GetValueByPointerWithDefault(T& root, const GenericPointer& pointer, const typename T::ValueType& defaultValue, typename T::AllocatorType& a) { return pointer.GetWithDefault(root, defaultValue, a); } template typename T::ValueType& GetValueByPointerWithDefault(T& root, const GenericPointer& pointer, const typename T::Ch* defaultValue, typename T::AllocatorType& a) { return pointer.GetWithDefault(root, defaultValue, a); } #if CEREAL_RAPIDJSON_HAS_STDSTRING template typename T::ValueType& GetValueByPointerWithDefault(T& root, const GenericPointer& pointer, const std::basic_string& defaultValue, typename T::AllocatorType& a) { return pointer.GetWithDefault(root, defaultValue, a); } #endif template CEREAL_RAPIDJSON_DISABLEIF_RETURN((internal::OrExpr, internal::IsGenericValue >), (typename T::ValueType&)) GetValueByPointerWithDefault(T& root, const GenericPointer& pointer, T2 defaultValue, typename T::AllocatorType& a) { return pointer.GetWithDefault(root, defaultValue, a); } template typename T::ValueType& GetValueByPointerWithDefault(T& root, const CharType(&source)[N], const typename T::ValueType& defaultValue, typename T::AllocatorType& a) { return GenericPointer(source, N - 1).GetWithDefault(root, defaultValue, a); } template typename T::ValueType& GetValueByPointerWithDefault(T& root, const CharType(&source)[N], const typename T::Ch* defaultValue, typename T::AllocatorType& a) { return GenericPointer(source, N - 1).GetWithDefault(root, defaultValue, a); } #if CEREAL_RAPIDJSON_HAS_STDSTRING template typename T::ValueType& GetValueByPointerWithDefault(T& root, const CharType(&source)[N], const std::basic_string& defaultValue, typename T::AllocatorType& a) { return GenericPointer(source, N - 1).GetWithDefault(root, defaultValue, a); } #endif template CEREAL_RAPIDJSON_DISABLEIF_RETURN((internal::OrExpr, internal::IsGenericValue >), (typename T::ValueType&)) GetValueByPointerWithDefault(T& root, const CharType(&source)[N], T2 defaultValue, typename T::AllocatorType& a) { return GenericPointer(source, N - 1).GetWithDefault(root, defaultValue, a); } // No allocator parameter template typename DocumentType::ValueType& GetValueByPointerWithDefault(DocumentType& document, const GenericPointer& pointer, const typename DocumentType::ValueType& defaultValue) { return pointer.GetWithDefault(document, defaultValue); } template typename DocumentType::ValueType& GetValueByPointerWithDefault(DocumentType& document, const GenericPointer& pointer, const typename DocumentType::Ch* defaultValue) { return pointer.GetWithDefault(document, defaultValue); } #if CEREAL_RAPIDJSON_HAS_STDSTRING template typename DocumentType::ValueType& GetValueByPointerWithDefault(DocumentType& document, const GenericPointer& pointer, const std::basic_string& defaultValue) { return pointer.GetWithDefault(document, defaultValue); } #endif template CEREAL_RAPIDJSON_DISABLEIF_RETURN((internal::OrExpr, internal::IsGenericValue >), (typename DocumentType::ValueType&)) GetValueByPointerWithDefault(DocumentType& document, const GenericPointer& pointer, T2 defaultValue) { return pointer.GetWithDefault(document, defaultValue); } template typename DocumentType::ValueType& GetValueByPointerWithDefault(DocumentType& document, const CharType(&source)[N], const typename DocumentType::ValueType& defaultValue) { return GenericPointer(source, N - 1).GetWithDefault(document, defaultValue); } template typename DocumentType::ValueType& GetValueByPointerWithDefault(DocumentType& document, const CharType(&source)[N], const typename DocumentType::Ch* defaultValue) { return GenericPointer(source, N - 1).GetWithDefault(document, defaultValue); } #if CEREAL_RAPIDJSON_HAS_STDSTRING template typename DocumentType::ValueType& GetValueByPointerWithDefault(DocumentType& document, const CharType(&source)[N], const std::basic_string& defaultValue) { return GenericPointer(source, N - 1).GetWithDefault(document, defaultValue); } #endif template CEREAL_RAPIDJSON_DISABLEIF_RETURN((internal::OrExpr, internal::IsGenericValue >), (typename DocumentType::ValueType&)) GetValueByPointerWithDefault(DocumentType& document, const CharType(&source)[N], T2 defaultValue) { return GenericPointer(source, N - 1).GetWithDefault(document, defaultValue); } ////////////////////////////////////////////////////////////////////////////// template typename T::ValueType& SetValueByPointer(T& root, const GenericPointer& pointer, typename T::ValueType& value, typename T::AllocatorType& a) { return pointer.Set(root, value, a); } template typename T::ValueType& SetValueByPointer(T& root, const GenericPointer& pointer, const typename T::ValueType& value, typename T::AllocatorType& a) { return pointer.Set(root, value, a); } template typename T::ValueType& SetValueByPointer(T& root, const GenericPointer& pointer, const typename T::Ch* value, typename T::AllocatorType& a) { return pointer.Set(root, value, a); } #if CEREAL_RAPIDJSON_HAS_STDSTRING template typename T::ValueType& SetValueByPointer(T& root, const GenericPointer& pointer, const std::basic_string& value, typename T::AllocatorType& a) { return pointer.Set(root, value, a); } #endif template CEREAL_RAPIDJSON_DISABLEIF_RETURN((internal::OrExpr, internal::IsGenericValue >), (typename T::ValueType&)) SetValueByPointer(T& root, const GenericPointer& pointer, T2 value, typename T::AllocatorType& a) { return pointer.Set(root, value, a); } template typename T::ValueType& SetValueByPointer(T& root, const CharType(&source)[N], typename T::ValueType& value, typename T::AllocatorType& a) { return GenericPointer(source, N - 1).Set(root, value, a); } template typename T::ValueType& SetValueByPointer(T& root, const CharType(&source)[N], const typename T::ValueType& value, typename T::AllocatorType& a) { return GenericPointer(source, N - 1).Set(root, value, a); } template typename T::ValueType& SetValueByPointer(T& root, const CharType(&source)[N], const typename T::Ch* value, typename T::AllocatorType& a) { return GenericPointer(source, N - 1).Set(root, value, a); } #if CEREAL_RAPIDJSON_HAS_STDSTRING template typename T::ValueType& SetValueByPointer(T& root, const CharType(&source)[N], const std::basic_string& value, typename T::AllocatorType& a) { return GenericPointer(source, N - 1).Set(root, value, a); } #endif template CEREAL_RAPIDJSON_DISABLEIF_RETURN((internal::OrExpr, internal::IsGenericValue >), (typename T::ValueType&)) SetValueByPointer(T& root, const CharType(&source)[N], T2 value, typename T::AllocatorType& a) { return GenericPointer(source, N - 1).Set(root, value, a); } // No allocator parameter template typename DocumentType::ValueType& SetValueByPointer(DocumentType& document, const GenericPointer& pointer, typename DocumentType::ValueType& value) { return pointer.Set(document, value); } template typename DocumentType::ValueType& SetValueByPointer(DocumentType& document, const GenericPointer& pointer, const typename DocumentType::ValueType& value) { return pointer.Set(document, value); } template typename DocumentType::ValueType& SetValueByPointer(DocumentType& document, const GenericPointer& pointer, const typename DocumentType::Ch* value) { return pointer.Set(document, value); } #if CEREAL_RAPIDJSON_HAS_STDSTRING template typename DocumentType::ValueType& SetValueByPointer(DocumentType& document, const GenericPointer& pointer, const std::basic_string& value) { return pointer.Set(document, value); } #endif template CEREAL_RAPIDJSON_DISABLEIF_RETURN((internal::OrExpr, internal::IsGenericValue >), (typename DocumentType::ValueType&)) SetValueByPointer(DocumentType& document, const GenericPointer& pointer, T2 value) { return pointer.Set(document, value); } template typename DocumentType::ValueType& SetValueByPointer(DocumentType& document, const CharType(&source)[N], typename DocumentType::ValueType& value) { return GenericPointer(source, N - 1).Set(document, value); } template typename DocumentType::ValueType& SetValueByPointer(DocumentType& document, const CharType(&source)[N], const typename DocumentType::ValueType& value) { return GenericPointer(source, N - 1).Set(document, value); } template typename DocumentType::ValueType& SetValueByPointer(DocumentType& document, const CharType(&source)[N], const typename DocumentType::Ch* value) { return GenericPointer(source, N - 1).Set(document, value); } #if CEREAL_RAPIDJSON_HAS_STDSTRING template typename DocumentType::ValueType& SetValueByPointer(DocumentType& document, const CharType(&source)[N], const std::basic_string& value) { return GenericPointer(source, N - 1).Set(document, value); } #endif template CEREAL_RAPIDJSON_DISABLEIF_RETURN((internal::OrExpr, internal::IsGenericValue >), (typename DocumentType::ValueType&)) SetValueByPointer(DocumentType& document, const CharType(&source)[N], T2 value) { return GenericPointer(source, N - 1).Set(document, value); } ////////////////////////////////////////////////////////////////////////////// template typename T::ValueType& SwapValueByPointer(T& root, const GenericPointer& pointer, typename T::ValueType& value, typename T::AllocatorType& a) { return pointer.Swap(root, value, a); } template typename T::ValueType& SwapValueByPointer(T& root, const CharType(&source)[N], typename T::ValueType& value, typename T::AllocatorType& a) { return GenericPointer(source, N - 1).Swap(root, value, a); } template typename DocumentType::ValueType& SwapValueByPointer(DocumentType& document, const GenericPointer& pointer, typename DocumentType::ValueType& value) { return pointer.Swap(document, value); } template typename DocumentType::ValueType& SwapValueByPointer(DocumentType& document, const CharType(&source)[N], typename DocumentType::ValueType& value) { return GenericPointer(source, N - 1).Swap(document, value); } ////////////////////////////////////////////////////////////////////////////// template bool EraseValueByPointer(T& root, const GenericPointer& pointer) { return pointer.Erase(root); } template bool EraseValueByPointer(T& root, const CharType(&source)[N]) { return GenericPointer(source, N - 1).Erase(root); } //@} CEREAL_RAPIDJSON_NAMESPACE_END #ifdef __clang__ CEREAL_RAPIDJSON_DIAG_POP #endif #ifdef _MSC_VER CEREAL_RAPIDJSON_DIAG_POP #endif #endif // CEREAL_RAPIDJSON_POINTER_H_ blockattack-game-2.5.0/source/code/Libs/include/cereal/external/rapidjson/prettywriter.h000066400000000000000000000230151347224572500314540ustar00rootroot00000000000000// Tencent is pleased to support the open source community by making RapidJSON available. // // Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. // // Licensed under the MIT License (the "License"); you may not use this file except // in compliance with the License. You may obtain a copy of the License at // // http://opensource.org/licenses/MIT // // Unless required by applicable law or agreed to in writing, software distributed // under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR // CONDITIONS OF ANY KIND, either express or implied. See the License for the // specific language governing permissions and limitations under the License. #ifndef CEREAL_RAPIDJSON_PRETTYWRITER_H_ #define CEREAL_RAPIDJSON_PRETTYWRITER_H_ #include "writer.h" #ifdef __GNUC__ CEREAL_RAPIDJSON_DIAG_PUSH CEREAL_RAPIDJSON_DIAG_OFF(effc++) #endif CEREAL_RAPIDJSON_NAMESPACE_BEGIN //! Combination of PrettyWriter format flags. /*! \see PrettyWriter::SetFormatOptions */ enum PrettyFormatOptions { kFormatDefault = 0, //!< Default pretty formatting. kFormatSingleLineArray = 1 //!< Format arrays on a single line. }; //! Writer with indentation and spacing. /*! \tparam OutputStream Type of ouptut os. \tparam SourceEncoding Encoding of source string. \tparam TargetEncoding Encoding of output stream. \tparam StackAllocator Type of allocator for allocating memory of stack. */ template, typename TargetEncoding = UTF8<>, typename StackAllocator = CrtAllocator, unsigned writeFlags = kWriteDefaultFlags> class PrettyWriter : public Writer { public: typedef Writer Base; typedef typename Base::Ch Ch; //! Constructor /*! \param os Output stream. \param allocator User supplied allocator. If it is null, it will create a private one. \param levelDepth Initial capacity of stack. */ explicit PrettyWriter(OutputStream& os, StackAllocator* allocator = 0, size_t levelDepth = Base::kDefaultLevelDepth) : Base(os, allocator, levelDepth), indentChar_(' '), indentCharCount_(4), formatOptions_(kFormatDefault) {} explicit PrettyWriter(StackAllocator* allocator = 0, size_t levelDepth = Base::kDefaultLevelDepth) : Base(allocator, levelDepth), indentChar_(' '), indentCharCount_(4) {} //! Set custom indentation. /*! \param indentChar Character for indentation. Must be whitespace character (' ', '\\t', '\\n', '\\r'). \param indentCharCount Number of indent characters for each indentation level. \note The default indentation is 4 spaces. */ PrettyWriter& SetIndent(Ch indentChar, unsigned indentCharCount) { CEREAL_RAPIDJSON_ASSERT(indentChar == ' ' || indentChar == '\t' || indentChar == '\n' || indentChar == '\r'); indentChar_ = indentChar; indentCharCount_ = indentCharCount; return *this; } //! Set pretty writer formatting options. /*! \param options Formatting options. */ PrettyWriter& SetFormatOptions(PrettyFormatOptions options) { formatOptions_ = options; return *this; } /*! @name Implementation of Handler \see Handler */ //@{ bool Null() { PrettyPrefix(kNullType); return Base::WriteNull(); } bool Bool(bool b) { PrettyPrefix(b ? kTrueType : kFalseType); return Base::WriteBool(b); } bool Int(int i) { PrettyPrefix(kNumberType); return Base::WriteInt(i); } bool Uint(unsigned u) { PrettyPrefix(kNumberType); return Base::WriteUint(u); } bool Int64(int64_t i64) { PrettyPrefix(kNumberType); return Base::WriteInt64(i64); } bool Uint64(uint64_t u64) { PrettyPrefix(kNumberType); return Base::WriteUint64(u64); } bool Double(double d) { PrettyPrefix(kNumberType); return Base::WriteDouble(d); } bool RawNumber(const Ch* str, SizeType length, bool copy = false) { (void)copy; PrettyPrefix(kNumberType); return Base::WriteString(str, length); } bool String(const Ch* str, SizeType length, bool copy = false) { (void)copy; PrettyPrefix(kStringType); return Base::WriteString(str, length); } #if CEREAL_RAPIDJSON_HAS_STDSTRING bool String(const std::basic_string& str) { return String(str.data(), SizeType(str.size())); } #endif bool StartObject() { PrettyPrefix(kObjectType); new (Base::level_stack_.template Push()) typename Base::Level(false); return Base::WriteStartObject(); } bool Key(const Ch* str, SizeType length, bool copy = false) { return String(str, length, copy); } #if CEREAL_RAPIDJSON_HAS_STDSTRING bool Key(const std::basic_string& str) { return Key(str.data(), SizeType(str.size())); } #endif bool EndObject(SizeType memberCount = 0) { (void)memberCount; CEREAL_RAPIDJSON_ASSERT(Base::level_stack_.GetSize() >= sizeof(typename Base::Level)); CEREAL_RAPIDJSON_ASSERT(!Base::level_stack_.template Top()->inArray); bool empty = Base::level_stack_.template Pop(1)->valueCount == 0; if (!empty) { Base::os_->Put('\n'); WriteIndent(); } bool ret = Base::WriteEndObject(); (void)ret; CEREAL_RAPIDJSON_ASSERT(ret == true); if (Base::level_stack_.Empty()) // end of json text Base::os_->Flush(); return true; } bool StartArray() { PrettyPrefix(kArrayType); new (Base::level_stack_.template Push()) typename Base::Level(true); return Base::WriteStartArray(); } bool EndArray(SizeType memberCount = 0) { (void)memberCount; CEREAL_RAPIDJSON_ASSERT(Base::level_stack_.GetSize() >= sizeof(typename Base::Level)); CEREAL_RAPIDJSON_ASSERT(Base::level_stack_.template Top()->inArray); bool empty = Base::level_stack_.template Pop(1)->valueCount == 0; if (!empty && !(formatOptions_ & kFormatSingleLineArray)) { Base::os_->Put('\n'); WriteIndent(); } bool ret = Base::WriteEndArray(); (void)ret; CEREAL_RAPIDJSON_ASSERT(ret == true); if (Base::level_stack_.Empty()) // end of json text Base::os_->Flush(); return true; } //@} /*! @name Convenience extensions */ //@{ //! Simpler but slower overload. bool String(const Ch* str) { return String(str, internal::StrLen(str)); } bool Key(const Ch* str) { return Key(str, internal::StrLen(str)); } //@} //! Write a raw JSON value. /*! For user to write a stringified JSON as a value. \param json A well-formed JSON value. It should not contain null character within [0, length - 1] range. \param length Length of the json. \param type Type of the root of json. \note When using PrettyWriter::RawValue(), the result json may not be indented correctly. */ bool RawValue(const Ch* json, size_t length, Type type) { PrettyPrefix(type); return Base::WriteRawValue(json, length); } protected: void PrettyPrefix(Type type) { (void)type; if (Base::level_stack_.GetSize() != 0) { // this value is not at root typename Base::Level* level = Base::level_stack_.template Top(); if (level->inArray) { if (level->valueCount > 0) { Base::os_->Put(','); // add comma if it is not the first element in array if (formatOptions_ & kFormatSingleLineArray) Base::os_->Put(' '); } if (!(formatOptions_ & kFormatSingleLineArray)) { Base::os_->Put('\n'); WriteIndent(); } } else { // in object if (level->valueCount > 0) { if (level->valueCount % 2 == 0) { Base::os_->Put(','); Base::os_->Put('\n'); } else { Base::os_->Put(':'); Base::os_->Put(' '); } } else Base::os_->Put('\n'); if (level->valueCount % 2 == 0) WriteIndent(); } if (!level->inArray && level->valueCount % 2 == 0) CEREAL_RAPIDJSON_ASSERT(type == kStringType); // if it's in object, then even number should be a name level->valueCount++; } else { CEREAL_RAPIDJSON_ASSERT(!Base::hasRoot_); // Should only has one and only one root. Base::hasRoot_ = true; } } void WriteIndent() { size_t count = (Base::level_stack_.GetSize() / sizeof(typename Base::Level)) * indentCharCount_; PutN(*Base::os_, static_cast(indentChar_), count); } Ch indentChar_; unsigned indentCharCount_; PrettyFormatOptions formatOptions_; private: // Prohibit copy constructor & assignment operator. PrettyWriter(const PrettyWriter&); PrettyWriter& operator=(const PrettyWriter&); }; CEREAL_RAPIDJSON_NAMESPACE_END #ifdef __GNUC__ CEREAL_RAPIDJSON_DIAG_POP #endif #endif // CEREAL_RAPIDJSON_CEREAL_RAPIDJSON_H_ blockattack-game-2.5.0/source/code/Libs/include/cereal/external/rapidjson/rapidjson.h000066400000000000000000000555751347224572500307010ustar00rootroot00000000000000// Tencent is pleased to support the open source community by making RapidJSON available. // // Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. // // Licensed under the MIT License (the "License"); you may not use this file except // in compliance with the License. You may obtain a copy of the License at // // http://opensource.org/licenses/MIT // // Unless required by applicable law or agreed to in writing, software distributed // under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR // CONDITIONS OF ANY KIND, either express or implied. See the License for the // specific language governing permissions and limitations under the License. #ifndef CEREAL_RAPIDJSON_CEREAL_RAPIDJSON_H_ #define CEREAL_RAPIDJSON_CEREAL_RAPIDJSON_H_ /*!\file rapidjson.h \brief common definitions and configuration \see CEREAL_RAPIDJSON_CONFIG */ /*! \defgroup CEREAL_RAPIDJSON_CONFIG RapidJSON configuration \brief Configuration macros for library features Some RapidJSON features are configurable to adapt the library to a wide variety of platforms, environments and usage scenarios. Most of the features can be configured in terms of overriden or predefined preprocessor macros at compile-time. Some additional customization is available in the \ref CEREAL_RAPIDJSON_ERRORS APIs. \note These macros should be given on the compiler command-line (where applicable) to avoid inconsistent values when compiling different translation units of a single application. */ #include // malloc(), realloc(), free(), size_t #include // memset(), memcpy(), memmove(), memcmp() /////////////////////////////////////////////////////////////////////////////// // CEREAL_RAPIDJSON_VERSION_STRING // // ALWAYS synchronize the following 3 macros with corresponding variables in /CMakeLists.txt. // //!@cond CEREAL_RAPIDJSON_HIDDEN_FROM_DOXYGEN // token stringification #define CEREAL_RAPIDJSON_STRINGIFY(x) CEREAL_RAPIDJSON_DO_STRINGIFY(x) #define CEREAL_RAPIDJSON_DO_STRINGIFY(x) #x //!@endcond /*! \def CEREAL_RAPIDJSON_MAJOR_VERSION \ingroup CEREAL_RAPIDJSON_CONFIG \brief Major version of RapidJSON in integer. */ /*! \def CEREAL_RAPIDJSON_MINOR_VERSION \ingroup CEREAL_RAPIDJSON_CONFIG \brief Minor version of RapidJSON in integer. */ /*! \def CEREAL_RAPIDJSON_PATCH_VERSION \ingroup CEREAL_RAPIDJSON_CONFIG \brief Patch version of RapidJSON in integer. */ /*! \def CEREAL_RAPIDJSON_VERSION_STRING \ingroup CEREAL_RAPIDJSON_CONFIG \brief Version of RapidJSON in ".." string format. */ #define CEREAL_RAPIDJSON_MAJOR_VERSION 1 #define CEREAL_RAPIDJSON_MINOR_VERSION 0 #define CEREAL_RAPIDJSON_PATCH_VERSION 2 #define CEREAL_RAPIDJSON_VERSION_STRING \ CEREAL_RAPIDJSON_STRINGIFY(CEREAL_RAPIDJSON_MAJOR_VERSION.CEREAL_RAPIDJSON_MINOR_VERSION.CEREAL_RAPIDJSON_PATCH_VERSION) /////////////////////////////////////////////////////////////////////////////// // CEREAL_RAPIDJSON_NAMESPACE_(BEGIN|END) /*! \def CEREAL_RAPIDJSON_NAMESPACE \ingroup CEREAL_RAPIDJSON_CONFIG \brief provide custom rapidjson namespace In order to avoid symbol clashes and/or "One Definition Rule" errors between multiple inclusions of (different versions of) RapidJSON in a single binary, users can customize the name of the main RapidJSON namespace. In case of a single nesting level, defining \c CEREAL_RAPIDJSON_NAMESPACE to a custom name (e.g. \c MyRapidJSON) is sufficient. If multiple levels are needed, both \ref CEREAL_RAPIDJSON_NAMESPACE_BEGIN and \ref CEREAL_RAPIDJSON_NAMESPACE_END need to be defined as well: \code // in some .cpp file #define CEREAL_RAPIDJSON_NAMESPACE my::rapidjson #define CEREAL_RAPIDJSON_NAMESPACE_BEGIN namespace my { namespace rapidjson { #define CEREAL_RAPIDJSON_NAMESPACE_END } } #include "rapidjson/..." \endcode \see rapidjson */ /*! \def CEREAL_RAPIDJSON_NAMESPACE_BEGIN \ingroup CEREAL_RAPIDJSON_CONFIG \brief provide custom rapidjson namespace (opening expression) \see CEREAL_RAPIDJSON_NAMESPACE */ /*! \def CEREAL_RAPIDJSON_NAMESPACE_END \ingroup CEREAL_RAPIDJSON_CONFIG \brief provide custom rapidjson namespace (closing expression) \see CEREAL_RAPIDJSON_NAMESPACE */ #ifndef CEREAL_RAPIDJSON_NAMESPACE #define CEREAL_RAPIDJSON_NAMESPACE rapidjson #endif #ifndef CEREAL_RAPIDJSON_NAMESPACE_BEGIN #define CEREAL_RAPIDJSON_NAMESPACE_BEGIN namespace CEREAL_RAPIDJSON_NAMESPACE { #endif #ifndef CEREAL_RAPIDJSON_NAMESPACE_END #define CEREAL_RAPIDJSON_NAMESPACE_END } #endif /////////////////////////////////////////////////////////////////////////////// // CEREAL_RAPIDJSON_HAS_STDSTRING #ifndef CEREAL_RAPIDJSON_HAS_STDSTRING #ifdef CEREAL_RAPIDJSON_DOXYGEN_RUNNING #define CEREAL_RAPIDJSON_HAS_STDSTRING 1 // force generation of documentation #else #define CEREAL_RAPIDJSON_HAS_STDSTRING 0 // no std::string support by default #endif /*! \def CEREAL_RAPIDJSON_HAS_STDSTRING \ingroup CEREAL_RAPIDJSON_CONFIG \brief Enable RapidJSON support for \c std::string By defining this preprocessor symbol to \c 1, several convenience functions for using \ref rapidjson::GenericValue with \c std::string are enabled, especially for construction and comparison. \hideinitializer */ #endif // !defined(CEREAL_RAPIDJSON_HAS_STDSTRING) #if CEREAL_RAPIDJSON_HAS_STDSTRING #include #endif // CEREAL_RAPIDJSON_HAS_STDSTRING /////////////////////////////////////////////////////////////////////////////// // CEREAL_RAPIDJSON_NO_INT64DEFINE /*! \def CEREAL_RAPIDJSON_NO_INT64DEFINE \ingroup CEREAL_RAPIDJSON_CONFIG \brief Use external 64-bit integer types. RapidJSON requires the 64-bit integer types \c int64_t and \c uint64_t types to be available at global scope. If users have their own definition, define CEREAL_RAPIDJSON_NO_INT64DEFINE to prevent RapidJSON from defining its own types. */ #ifndef CEREAL_RAPIDJSON_NO_INT64DEFINE //!@cond CEREAL_RAPIDJSON_HIDDEN_FROM_DOXYGEN #if defined(_MSC_VER) && (_MSC_VER < 1800) // Visual Studio 2013 #include "msinttypes/stdint.h" #include "msinttypes/inttypes.h" #else // Other compilers should have this. #include #include #endif //!@endcond #ifdef CEREAL_RAPIDJSON_DOXYGEN_RUNNING #define CEREAL_RAPIDJSON_NO_INT64DEFINE #endif #endif // CEREAL_RAPIDJSON_NO_INT64TYPEDEF /////////////////////////////////////////////////////////////////////////////// // CEREAL_RAPIDJSON_FORCEINLINE #ifndef CEREAL_RAPIDJSON_FORCEINLINE //!@cond CEREAL_RAPIDJSON_HIDDEN_FROM_DOXYGEN #if defined(_MSC_VER) && defined(NDEBUG) #define CEREAL_RAPIDJSON_FORCEINLINE __forceinline #elif defined(__GNUC__) && __GNUC__ >= 4 && defined(NDEBUG) #define CEREAL_RAPIDJSON_FORCEINLINE __attribute__((always_inline)) #else #define CEREAL_RAPIDJSON_FORCEINLINE #endif //!@endcond #endif // CEREAL_RAPIDJSON_FORCEINLINE /////////////////////////////////////////////////////////////////////////////// // CEREAL_RAPIDJSON_ENDIAN #define CEREAL_RAPIDJSON_LITTLEENDIAN 0 //!< Little endian machine #define CEREAL_RAPIDJSON_BIGENDIAN 1 //!< Big endian machine //! Endianness of the machine. /*! \def CEREAL_RAPIDJSON_ENDIAN \ingroup CEREAL_RAPIDJSON_CONFIG GCC 4.6 provided macro for detecting endianness of the target machine. But other compilers may not have this. User can define CEREAL_RAPIDJSON_ENDIAN to either \ref CEREAL_RAPIDJSON_LITTLEENDIAN or \ref CEREAL_RAPIDJSON_BIGENDIAN. Default detection implemented with reference to \li https://gcc.gnu.org/onlinedocs/gcc-4.6.0/cpp/Common-Predefined-Macros.html \li http://www.boost.org/doc/libs/1_42_0/boost/detail/endian.hpp */ #ifndef CEREAL_RAPIDJSON_ENDIAN // Detect with GCC 4.6's macro # ifdef __BYTE_ORDER__ # if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ # define CEREAL_RAPIDJSON_ENDIAN CEREAL_RAPIDJSON_LITTLEENDIAN # elif __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__ # define CEREAL_RAPIDJSON_ENDIAN CEREAL_RAPIDJSON_BIGENDIAN # else # error Unknown machine endianess detected. User needs to define CEREAL_RAPIDJSON_ENDIAN. # endif // __BYTE_ORDER__ // Detect with GLIBC's endian.h # elif defined(__GLIBC__) # include # if (__BYTE_ORDER == __LITTLE_ENDIAN) # define CEREAL_RAPIDJSON_ENDIAN CEREAL_RAPIDJSON_LITTLEENDIAN # elif (__BYTE_ORDER == __BIG_ENDIAN) # define CEREAL_RAPIDJSON_ENDIAN CEREAL_RAPIDJSON_BIGENDIAN # else # error Unknown machine endianess detected. User needs to define CEREAL_RAPIDJSON_ENDIAN. # endif // __GLIBC__ // Detect with _LITTLE_ENDIAN and _BIG_ENDIAN macro # elif defined(_LITTLE_ENDIAN) && !defined(_BIG_ENDIAN) # define CEREAL_RAPIDJSON_ENDIAN CEREAL_RAPIDJSON_LITTLEENDIAN # elif defined(_BIG_ENDIAN) && !defined(_LITTLE_ENDIAN) # define CEREAL_RAPIDJSON_ENDIAN CEREAL_RAPIDJSON_BIGENDIAN // Detect with architecture macros # elif defined(__sparc) || defined(__sparc__) || defined(_POWER) || defined(__powerpc__) || defined(__ppc__) || defined(__hpux) || defined(__hppa) || defined(_MIPSEB) || defined(_POWER) || defined(__s390__) # define CEREAL_RAPIDJSON_ENDIAN CEREAL_RAPIDJSON_BIGENDIAN # elif defined(__i386__) || defined(__alpha__) || defined(__ia64) || defined(__ia64__) || defined(_M_IX86) || defined(_M_IA64) || defined(_M_ALPHA) || defined(__amd64) || defined(__amd64__) || defined(_M_AMD64) || defined(__x86_64) || defined(__x86_64__) || defined(_M_X64) || defined(__bfin__) # define CEREAL_RAPIDJSON_ENDIAN CEREAL_RAPIDJSON_LITTLEENDIAN # elif defined(_MSC_VER) && defined(_M_ARM) # define CEREAL_RAPIDJSON_ENDIAN CEREAL_RAPIDJSON_LITTLEENDIAN # elif defined(CEREAL_RAPIDJSON_DOXYGEN_RUNNING) # define CEREAL_RAPIDJSON_ENDIAN # else # error Unknown machine endianess detected. User needs to define CEREAL_RAPIDJSON_ENDIAN. # endif #endif // CEREAL_RAPIDJSON_ENDIAN /////////////////////////////////////////////////////////////////////////////// // CEREAL_RAPIDJSON_64BIT //! Whether using 64-bit architecture #ifndef CEREAL_RAPIDJSON_64BIT #if defined(__LP64__) || (defined(__x86_64__) && defined(__ILP32__)) || defined(_WIN64) || defined(__EMSCRIPTEN__) #define CEREAL_RAPIDJSON_64BIT 1 #else #define CEREAL_RAPIDJSON_64BIT 0 #endif #endif // CEREAL_RAPIDJSON_64BIT /////////////////////////////////////////////////////////////////////////////// // CEREAL_RAPIDJSON_ALIGN //! Data alignment of the machine. /*! \ingroup CEREAL_RAPIDJSON_CONFIG \param x pointer to align Some machines require strict data alignment. Currently the default uses 4 bytes alignment on 32-bit platforms and 8 bytes alignment for 64-bit platforms. User can customize by defining the CEREAL_RAPIDJSON_ALIGN function macro. */ #ifndef CEREAL_RAPIDJSON_ALIGN #if CEREAL_RAPIDJSON_64BIT == 1 #define CEREAL_RAPIDJSON_ALIGN(x) (((x) + static_cast(7u)) & ~static_cast(7u)) #else #define CEREAL_RAPIDJSON_ALIGN(x) (((x) + 3u) & ~3u) #endif #endif /////////////////////////////////////////////////////////////////////////////// // CEREAL_RAPIDJSON_UINT64_C2 //! Construct a 64-bit literal by a pair of 32-bit integer. /*! 64-bit literal with or without ULL suffix is prone to compiler warnings. UINT64_C() is C macro which cause compilation problems. Use this macro to define 64-bit constants by a pair of 32-bit integer. */ #ifndef CEREAL_RAPIDJSON_UINT64_C2 #define CEREAL_RAPIDJSON_UINT64_C2(high32, low32) ((static_cast(high32) << 32) | static_cast(low32)) #endif /////////////////////////////////////////////////////////////////////////////// // CEREAL_RAPIDJSON_48BITPOINTER_OPTIMIZATION //! Use only lower 48-bit address for some pointers. /*! \ingroup CEREAL_RAPIDJSON_CONFIG This optimization uses the fact that current X86-64 architecture only implement lower 48-bit virtual address. The higher 16-bit can be used for storing other data. \c GenericValue uses this optimization to reduce its size form 24 bytes to 16 bytes in 64-bit architecture. */ #ifndef CEREAL_RAPIDJSON_48BITPOINTER_OPTIMIZATION #if defined(__amd64__) || defined(__amd64) || defined(__x86_64__) || defined(__x86_64) || defined(_M_X64) || defined(_M_AMD64) #define CEREAL_RAPIDJSON_48BITPOINTER_OPTIMIZATION 1 #else #define CEREAL_RAPIDJSON_48BITPOINTER_OPTIMIZATION 0 #endif #endif // CEREAL_RAPIDJSON_48BITPOINTER_OPTIMIZATION #if CEREAL_RAPIDJSON_48BITPOINTER_OPTIMIZATION == 1 #if CEREAL_RAPIDJSON_64BIT != 1 #error CEREAL_RAPIDJSON_48BITPOINTER_OPTIMIZATION can only be set to 1 when CEREAL_RAPIDJSON_64BIT=1 #endif #define CEREAL_RAPIDJSON_SETPOINTER(type, p, x) (p = reinterpret_cast((reinterpret_cast(p) & static_cast(CEREAL_RAPIDJSON_UINT64_C2(0xFFFF0000, 0x00000000))) | reinterpret_cast(reinterpret_cast(x)))) #define CEREAL_RAPIDJSON_GETPOINTER(type, p) (reinterpret_cast(reinterpret_cast(p) & static_cast(CEREAL_RAPIDJSON_UINT64_C2(0x0000FFFF, 0xFFFFFFFF)))) #else #define CEREAL_RAPIDJSON_SETPOINTER(type, p, x) (p = (x)) #define CEREAL_RAPIDJSON_GETPOINTER(type, p) (p) #endif /////////////////////////////////////////////////////////////////////////////// // CEREAL_RAPIDJSON_SSE2/CEREAL_RAPIDJSON_SSE42/CEREAL_RAPIDJSON_SIMD /*! \def CEREAL_RAPIDJSON_SIMD \ingroup CEREAL_RAPIDJSON_CONFIG \brief Enable SSE2/SSE4.2 optimization. RapidJSON supports optimized implementations for some parsing operations based on the SSE2 or SSE4.2 SIMD extensions on modern Intel-compatible processors. To enable these optimizations, two different symbols can be defined; \code // Enable SSE2 optimization. #define CEREAL_RAPIDJSON_SSE2 // Enable SSE4.2 optimization. #define CEREAL_RAPIDJSON_SSE42 \endcode \c CEREAL_RAPIDJSON_SSE42 takes precedence, if both are defined. If any of these symbols is defined, RapidJSON defines the macro \c CEREAL_RAPIDJSON_SIMD to indicate the availability of the optimized code. */ #if defined(CEREAL_RAPIDJSON_SSE2) || defined(CEREAL_RAPIDJSON_SSE42) \ || defined(CEREAL_RAPIDJSON_DOXYGEN_RUNNING) #define CEREAL_RAPIDJSON_SIMD #endif /////////////////////////////////////////////////////////////////////////////// // CEREAL_RAPIDJSON_NO_SIZETYPEDEFINE #ifndef CEREAL_RAPIDJSON_NO_SIZETYPEDEFINE /*! \def CEREAL_RAPIDJSON_NO_SIZETYPEDEFINE \ingroup CEREAL_RAPIDJSON_CONFIG \brief User-provided \c SizeType definition. In order to avoid using 32-bit size types for indexing strings and arrays, define this preprocessor symbol and provide the type rapidjson::SizeType before including RapidJSON: \code #define CEREAL_RAPIDJSON_NO_SIZETYPEDEFINE namespace rapidjson { typedef ::std::size_t SizeType; } #include "rapidjson/..." \endcode \see rapidjson::SizeType */ #ifdef CEREAL_RAPIDJSON_DOXYGEN_RUNNING #define CEREAL_RAPIDJSON_NO_SIZETYPEDEFINE #endif CEREAL_RAPIDJSON_NAMESPACE_BEGIN //! Size type (for string lengths, array sizes, etc.) /*! RapidJSON uses 32-bit array/string indices even on 64-bit platforms, instead of using \c size_t. Users may override the SizeType by defining \ref CEREAL_RAPIDJSON_NO_SIZETYPEDEFINE. */ typedef unsigned SizeType; CEREAL_RAPIDJSON_NAMESPACE_END #endif // always import std::size_t to rapidjson namespace CEREAL_RAPIDJSON_NAMESPACE_BEGIN using std::size_t; CEREAL_RAPIDJSON_NAMESPACE_END /////////////////////////////////////////////////////////////////////////////// // CEREAL_RAPIDJSON_ASSERT //! Assertion. /*! \ingroup CEREAL_RAPIDJSON_CONFIG By default, rapidjson uses C \c assert() for internal assertions. User can override it by defining CEREAL_RAPIDJSON_ASSERT(x) macro. \note Parsing errors are handled and can be customized by the \ref CEREAL_RAPIDJSON_ERRORS APIs. */ #ifndef CEREAL_RAPIDJSON_ASSERT #include #define CEREAL_RAPIDJSON_ASSERT(x) assert(x) #endif // CEREAL_RAPIDJSON_ASSERT /////////////////////////////////////////////////////////////////////////////// // CEREAL_RAPIDJSON_STATIC_ASSERT // Adopt from boost #ifndef CEREAL_RAPIDJSON_STATIC_ASSERT #ifndef __clang__ //!@cond CEREAL_RAPIDJSON_HIDDEN_FROM_DOXYGEN #endif CEREAL_RAPIDJSON_NAMESPACE_BEGIN template struct STATIC_ASSERTION_FAILURE; template <> struct STATIC_ASSERTION_FAILURE { enum { value = 1 }; }; template struct StaticAssertTest {}; CEREAL_RAPIDJSON_NAMESPACE_END #define CEREAL_RAPIDJSON_JOIN(X, Y) CEREAL_RAPIDJSON_DO_JOIN(X, Y) #define CEREAL_RAPIDJSON_DO_JOIN(X, Y) CEREAL_RAPIDJSON_DO_JOIN2(X, Y) #define CEREAL_RAPIDJSON_DO_JOIN2(X, Y) X##Y #if defined(__GNUC__) #define CEREAL_RAPIDJSON_STATIC_ASSERT_UNUSED_ATTRIBUTE __attribute__((unused)) #else #define CEREAL_RAPIDJSON_STATIC_ASSERT_UNUSED_ATTRIBUTE #endif #ifndef __clang__ //!@endcond #endif /*! \def CEREAL_RAPIDJSON_STATIC_ASSERT \brief (Internal) macro to check for conditions at compile-time \param x compile-time condition \hideinitializer */ #define CEREAL_RAPIDJSON_STATIC_ASSERT(x) \ typedef ::CEREAL_RAPIDJSON_NAMESPACE::StaticAssertTest< \ sizeof(::CEREAL_RAPIDJSON_NAMESPACE::STATIC_ASSERTION_FAILURE)> \ CEREAL_RAPIDJSON_JOIN(StaticAssertTypedef, __LINE__) CEREAL_RAPIDJSON_STATIC_ASSERT_UNUSED_ATTRIBUTE #endif /////////////////////////////////////////////////////////////////////////////// // CEREAL_RAPIDJSON_LIKELY, CEREAL_RAPIDJSON_UNLIKELY //! Compiler branching hint for expression with high probability to be true. /*! \ingroup CEREAL_RAPIDJSON_CONFIG \param x Boolean expression likely to be true. */ #ifndef CEREAL_RAPIDJSON_LIKELY #if defined(__GNUC__) || defined(__clang__) #define CEREAL_RAPIDJSON_LIKELY(x) __builtin_expect(!!(x), 1) #else #define CEREAL_RAPIDJSON_LIKELY(x) (x) #endif #endif //! Compiler branching hint for expression with low probability to be true. /*! \ingroup CEREAL_RAPIDJSON_CONFIG \param x Boolean expression unlikely to be true. */ #ifndef CEREAL_RAPIDJSON_UNLIKELY #if defined(__GNUC__) || defined(__clang__) #define CEREAL_RAPIDJSON_UNLIKELY(x) __builtin_expect(!!(x), 0) #else #define CEREAL_RAPIDJSON_UNLIKELY(x) (x) #endif #endif /////////////////////////////////////////////////////////////////////////////// // Helpers //!@cond CEREAL_RAPIDJSON_HIDDEN_FROM_DOXYGEN #define CEREAL_RAPIDJSON_MULTILINEMACRO_BEGIN do { #define CEREAL_RAPIDJSON_MULTILINEMACRO_END \ } while((void)0, 0) // adopted from Boost #define CEREAL_RAPIDJSON_VERSION_CODE(x,y,z) \ (((x)*100000) + ((y)*100) + (z)) /////////////////////////////////////////////////////////////////////////////// // CEREAL_RAPIDJSON_DIAG_PUSH/POP, CEREAL_RAPIDJSON_DIAG_OFF #if defined(__GNUC__) #define CEREAL_RAPIDJSON_GNUC \ CEREAL_RAPIDJSON_VERSION_CODE(__GNUC__,__GNUC_MINOR__,__GNUC_PATCHLEVEL__) #endif #if defined(__clang__) || (defined(CEREAL_RAPIDJSON_GNUC) && CEREAL_RAPIDJSON_GNUC >= CEREAL_RAPIDJSON_VERSION_CODE(4,2,0)) #define CEREAL_RAPIDJSON_PRAGMA(x) _Pragma(CEREAL_RAPIDJSON_STRINGIFY(x)) #define CEREAL_RAPIDJSON_DIAG_PRAGMA(x) CEREAL_RAPIDJSON_PRAGMA(GCC diagnostic x) #define CEREAL_RAPIDJSON_DIAG_OFF(x) \ CEREAL_RAPIDJSON_DIAG_PRAGMA(ignored CEREAL_RAPIDJSON_STRINGIFY(CEREAL_RAPIDJSON_JOIN(-W,x))) // push/pop support in Clang and GCC>=4.6 #if defined(__clang__) || (defined(CEREAL_RAPIDJSON_GNUC) && CEREAL_RAPIDJSON_GNUC >= CEREAL_RAPIDJSON_VERSION_CODE(4,6,0)) #define CEREAL_RAPIDJSON_DIAG_PUSH CEREAL_RAPIDJSON_DIAG_PRAGMA(push) #define CEREAL_RAPIDJSON_DIAG_POP CEREAL_RAPIDJSON_DIAG_PRAGMA(pop) #else // GCC >= 4.2, < 4.6 #define CEREAL_RAPIDJSON_DIAG_PUSH /* ignored */ #define CEREAL_RAPIDJSON_DIAG_POP /* ignored */ #endif #elif defined(_MSC_VER) // pragma (MSVC specific) #define CEREAL_RAPIDJSON_PRAGMA(x) __pragma(x) #define CEREAL_RAPIDJSON_DIAG_PRAGMA(x) CEREAL_RAPIDJSON_PRAGMA(warning(x)) #define CEREAL_RAPIDJSON_DIAG_OFF(x) CEREAL_RAPIDJSON_DIAG_PRAGMA(disable: x) #define CEREAL_RAPIDJSON_DIAG_PUSH CEREAL_RAPIDJSON_DIAG_PRAGMA(push) #define CEREAL_RAPIDJSON_DIAG_POP CEREAL_RAPIDJSON_DIAG_PRAGMA(pop) #else #define CEREAL_RAPIDJSON_DIAG_OFF(x) /* ignored */ #define CEREAL_RAPIDJSON_DIAG_PUSH /* ignored */ #define CEREAL_RAPIDJSON_DIAG_POP /* ignored */ #endif // CEREAL_RAPIDJSON_DIAG_* /////////////////////////////////////////////////////////////////////////////// // C++11 features #ifndef CEREAL_RAPIDJSON_HAS_CXX11_RVALUE_REFS #if defined(__clang__) #if __has_feature(cxx_rvalue_references) && \ (defined(_LIBCPP_VERSION) || defined(__GLIBCXX__) && __GLIBCXX__ >= 20080306) #define CEREAL_RAPIDJSON_HAS_CXX11_RVALUE_REFS 1 #else #define CEREAL_RAPIDJSON_HAS_CXX11_RVALUE_REFS 0 #endif #elif (defined(CEREAL_RAPIDJSON_GNUC) && (CEREAL_RAPIDJSON_GNUC >= CEREAL_RAPIDJSON_VERSION_CODE(4,3,0)) && defined(__GXX_EXPERIMENTAL_CXX0X__)) || \ (defined(_MSC_VER) && _MSC_VER >= 1600) #define CEREAL_RAPIDJSON_HAS_CXX11_RVALUE_REFS 1 #else #define CEREAL_RAPIDJSON_HAS_CXX11_RVALUE_REFS 0 #endif #endif // CEREAL_RAPIDJSON_HAS_CXX11_RVALUE_REFS #ifndef CEREAL_RAPIDJSON_HAS_CXX11_NOEXCEPT #if defined(__clang__) #define CEREAL_RAPIDJSON_HAS_CXX11_NOEXCEPT __has_feature(cxx_noexcept) #elif (defined(CEREAL_RAPIDJSON_GNUC) && (CEREAL_RAPIDJSON_GNUC >= CEREAL_RAPIDJSON_VERSION_CODE(4,6,0)) && defined(__GXX_EXPERIMENTAL_CXX0X__)) // (defined(_MSC_VER) && _MSC_VER >= ????) // not yet supported #define CEREAL_RAPIDJSON_HAS_CXX11_NOEXCEPT 1 #else #define CEREAL_RAPIDJSON_HAS_CXX11_NOEXCEPT 0 #endif #endif #if CEREAL_RAPIDJSON_HAS_CXX11_NOEXCEPT #define CEREAL_RAPIDJSON_NOEXCEPT noexcept #else #define CEREAL_RAPIDJSON_NOEXCEPT /* noexcept */ #endif // CEREAL_RAPIDJSON_HAS_CXX11_NOEXCEPT // no automatic detection, yet #ifndef CEREAL_RAPIDJSON_HAS_CXX11_TYPETRAITS #define CEREAL_RAPIDJSON_HAS_CXX11_TYPETRAITS 0 #endif #ifndef CEREAL_RAPIDJSON_HAS_CXX11_RANGE_FOR #if defined(__clang__) #define CEREAL_RAPIDJSON_HAS_CXX11_RANGE_FOR __has_feature(cxx_range_for) #elif (defined(CEREAL_RAPIDJSON_GNUC) && (CEREAL_RAPIDJSON_GNUC >= CEREAL_RAPIDJSON_VERSION_CODE(4,3,0)) && defined(__GXX_EXPERIMENTAL_CXX0X__)) || \ (defined(_MSC_VER) && _MSC_VER >= 1700) #define CEREAL_RAPIDJSON_HAS_CXX11_RANGE_FOR 1 #else #define CEREAL_RAPIDJSON_HAS_CXX11_RANGE_FOR 0 #endif #endif // CEREAL_RAPIDJSON_HAS_CXX11_RANGE_FOR //!@endcond /////////////////////////////////////////////////////////////////////////////// // new/delete #ifndef CEREAL_RAPIDJSON_NEW ///! customization point for global \c new #define CEREAL_RAPIDJSON_NEW(x) new x #endif #ifndef CEREAL_RAPIDJSON_DELETE ///! customization point for global \c delete #define CEREAL_RAPIDJSON_DELETE(x) delete x #endif /////////////////////////////////////////////////////////////////////////////// // Type /*! \namespace rapidjson \brief main RapidJSON namespace \see CEREAL_RAPIDJSON_NAMESPACE */ CEREAL_RAPIDJSON_NAMESPACE_BEGIN //! Type of JSON value enum Type { kNullType = 0, //!< null kFalseType = 1, //!< false kTrueType = 2, //!< true kObjectType = 3, //!< object kArrayType = 4, //!< array kStringType = 5, //!< string kNumberType = 6 //!< number }; CEREAL_RAPIDJSON_NAMESPACE_END #endif // CEREAL_RAPIDJSON_CEREAL_RAPIDJSON_H_ blockattack-game-2.5.0/source/code/Libs/include/cereal/external/rapidjson/reader.h000066400000000000000000002371261347224572500301440ustar00rootroot00000000000000// Tencent is pleased to support the open source community by making RapidJSON available. // // Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. // // Licensed under the MIT License (the "License"); you may not use this file except // in compliance with the License. You may obtain a copy of the License at // // http://opensource.org/licenses/MIT // // Unless required by applicable law or agreed to in writing, software distributed // under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR // CONDITIONS OF ANY KIND, either express or implied. See the License for the // specific language governing permissions and limitations under the License. #ifndef CEREAL_RAPIDJSON_READER_H_ #define CEREAL_RAPIDJSON_READER_H_ /*! \file reader.h */ #include "allocators.h" #include "stream.h" #include "encodedstream.h" #include "internal/meta.h" #include "internal/stack.h" #include "internal/strtod.h" #include #if defined(CEREAL_RAPIDJSON_SIMD) && defined(_MSC_VER) #include #pragma intrinsic(_BitScanForward) #endif #ifdef CEREAL_RAPIDJSON_SSE42 #include #elif defined(CEREAL_RAPIDJSON_SSE2) #include #endif #ifdef _MSC_VER CEREAL_RAPIDJSON_DIAG_PUSH CEREAL_RAPIDJSON_DIAG_OFF(4127) // conditional expression is constant CEREAL_RAPIDJSON_DIAG_OFF(4702) // unreachable code #endif #ifdef __clang__ CEREAL_RAPIDJSON_DIAG_PUSH CEREAL_RAPIDJSON_DIAG_OFF(old-style-cast) CEREAL_RAPIDJSON_DIAG_OFF(padded) CEREAL_RAPIDJSON_DIAG_OFF(switch-enum) #endif #ifdef __GNUC__ CEREAL_RAPIDJSON_DIAG_PUSH CEREAL_RAPIDJSON_DIAG_OFF(effc++) #endif //!@cond CEREAL_RAPIDJSON_HIDDEN_FROM_DOXYGEN #define CEREAL_RAPIDJSON_NOTHING /* deliberately empty */ #ifndef CEREAL_RAPIDJSON_PARSE_ERROR_EARLY_RETURN #define CEREAL_RAPIDJSON_PARSE_ERROR_EARLY_RETURN(value) \ CEREAL_RAPIDJSON_MULTILINEMACRO_BEGIN \ if (CEREAL_RAPIDJSON_UNLIKELY(HasParseError())) { return value; } \ CEREAL_RAPIDJSON_MULTILINEMACRO_END #endif #define CEREAL_RAPIDJSON_PARSE_ERROR_EARLY_RETURN_VOID \ CEREAL_RAPIDJSON_PARSE_ERROR_EARLY_RETURN(CEREAL_RAPIDJSON_NOTHING) //!@endcond /*! \def CEREAL_RAPIDJSON_PARSE_ERROR_NORETURN \ingroup CEREAL_RAPIDJSON_ERRORS \brief Macro to indicate a parse error. \param parseErrorCode \ref rapidjson::ParseErrorCode of the error \param offset position of the error in JSON input (\c size_t) This macros can be used as a customization point for the internal error handling mechanism of RapidJSON. A common usage model is to throw an exception instead of requiring the caller to explicitly check the \ref rapidjson::GenericReader::Parse's return value: \code #define CEREAL_RAPIDJSON_PARSE_ERROR_NORETURN(parseErrorCode,offset) \ throw ParseException(parseErrorCode, #parseErrorCode, offset) #include // std::runtime_error #include "rapidjson/error/error.h" // rapidjson::ParseResult struct ParseException : std::runtime_error, rapidjson::ParseResult { ParseException(rapidjson::ParseErrorCode code, const char* msg, size_t offset) : std::runtime_error(msg), ParseResult(code, offset) {} }; #include "rapidjson/reader.h" \endcode \see CEREAL_RAPIDJSON_PARSE_ERROR, rapidjson::GenericReader::Parse */ #ifndef CEREAL_RAPIDJSON_PARSE_ERROR_NORETURN #define CEREAL_RAPIDJSON_PARSE_ERROR_NORETURN(parseErrorCode, offset) \ CEREAL_RAPIDJSON_MULTILINEMACRO_BEGIN \ CEREAL_RAPIDJSON_ASSERT(!HasParseError()); /* Error can only be assigned once */ \ SetParseError(parseErrorCode, offset); \ CEREAL_RAPIDJSON_MULTILINEMACRO_END #endif /*! \def CEREAL_RAPIDJSON_PARSE_ERROR \ingroup CEREAL_RAPIDJSON_ERRORS \brief (Internal) macro to indicate and handle a parse error. \param parseErrorCode \ref rapidjson::ParseErrorCode of the error \param offset position of the error in JSON input (\c size_t) Invokes CEREAL_RAPIDJSON_PARSE_ERROR_NORETURN and stops the parsing. \see CEREAL_RAPIDJSON_PARSE_ERROR_NORETURN \hideinitializer */ #ifndef CEREAL_RAPIDJSON_PARSE_ERROR #define CEREAL_RAPIDJSON_PARSE_ERROR(parseErrorCode, offset) \ CEREAL_RAPIDJSON_MULTILINEMACRO_BEGIN \ CEREAL_RAPIDJSON_PARSE_ERROR_NORETURN(parseErrorCode, offset); \ CEREAL_RAPIDJSON_PARSE_ERROR_EARLY_RETURN_VOID; \ CEREAL_RAPIDJSON_MULTILINEMACRO_END #endif #include "error/error.h" // ParseErrorCode, ParseResult CEREAL_RAPIDJSON_NAMESPACE_BEGIN /////////////////////////////////////////////////////////////////////////////// // ParseFlag /*! \def CEREAL_RAPIDJSON_PARSE_DEFAULT_FLAGS \ingroup CEREAL_RAPIDJSON_CONFIG \brief User-defined kParseDefaultFlags definition. User can define this as any \c ParseFlag combinations. */ #ifndef CEREAL_RAPIDJSON_PARSE_DEFAULT_FLAGS #define CEREAL_RAPIDJSON_PARSE_DEFAULT_FLAGS kParseNoFlags #endif //! Combination of parseFlags /*! \see Reader::Parse, Document::Parse, Document::ParseInsitu, Document::ParseStream */ enum ParseFlag { kParseNoFlags = 0, //!< No flags are set. kParseInsituFlag = 1, //!< In-situ(destructive) parsing. kParseValidateEncodingFlag = 2, //!< Validate encoding of JSON strings. kParseIterativeFlag = 4, //!< Iterative(constant complexity in terms of function call stack size) parsing. kParseStopWhenDoneFlag = 8, //!< After parsing a complete JSON root from stream, stop further processing the rest of stream. When this flag is used, parser will not generate kParseErrorDocumentRootNotSingular error. kParseFullPrecisionFlag = 16, //!< Parse number in full precision (but slower). kParseCommentsFlag = 32, //!< Allow one-line (//) and multi-line (/**/) comments. kParseNumbersAsStringsFlag = 64, //!< Parse all numbers (ints/doubles) as strings. kParseTrailingCommasFlag = 128, //!< Allow trailing commas at the end of objects and arrays. kParseNanAndInfFlag = 256, //!< Allow parsing NaN, Inf, Infinity, -Inf and -Infinity as doubles. kParseDefaultFlags = CEREAL_RAPIDJSON_PARSE_DEFAULT_FLAGS //!< Default parse flags. Can be customized by defining CEREAL_RAPIDJSON_PARSE_DEFAULT_FLAGS }; /////////////////////////////////////////////////////////////////////////////// // Handler /*! \class rapidjson::Handler \brief Concept for receiving events from GenericReader upon parsing. The functions return true if no error occurs. If they return false, the event publisher should terminate the process. \code concept Handler { typename Ch; bool Null(); bool Bool(bool b); bool Int(int i); bool Uint(unsigned i); bool Int64(int64_t i); bool Uint64(uint64_t i); bool Double(double d); /// enabled via kParseNumbersAsStringsFlag, string is not null-terminated (use length) bool RawNumber(const Ch* str, SizeType length, bool copy); bool String(const Ch* str, SizeType length, bool copy); bool StartObject(); bool Key(const Ch* str, SizeType length, bool copy); bool EndObject(SizeType memberCount); bool StartArray(); bool EndArray(SizeType elementCount); }; \endcode */ /////////////////////////////////////////////////////////////////////////////// // BaseReaderHandler //! Default implementation of Handler. /*! This can be used as base class of any reader handler. \note implements Handler concept */ template, typename Derived = void> struct BaseReaderHandler { typedef typename Encoding::Ch Ch; typedef typename internal::SelectIf, BaseReaderHandler, Derived>::Type Override; bool Default() { return true; } bool Null() { return static_cast(*this).Default(); } bool Bool(bool) { return static_cast(*this).Default(); } bool Int(int) { return static_cast(*this).Default(); } bool Uint(unsigned) { return static_cast(*this).Default(); } bool Int64(int64_t) { return static_cast(*this).Default(); } bool Uint64(uint64_t) { return static_cast(*this).Default(); } bool Double(double) { return static_cast(*this).Default(); } /// enabled via kParseNumbersAsStringsFlag, string is not null-terminated (use length) bool RawNumber(const Ch* str, SizeType len, bool copy) { return static_cast(*this).String(str, len, copy); } bool String(const Ch*, SizeType, bool) { return static_cast(*this).Default(); } bool StartObject() { return static_cast(*this).Default(); } bool Key(const Ch* str, SizeType len, bool copy) { return static_cast(*this).String(str, len, copy); } bool EndObject(SizeType) { return static_cast(*this).Default(); } bool StartArray() { return static_cast(*this).Default(); } bool EndArray(SizeType) { return static_cast(*this).Default(); } }; /////////////////////////////////////////////////////////////////////////////// // StreamLocalCopy namespace internal { template::copyOptimization> class StreamLocalCopy; //! Do copy optimization. template class StreamLocalCopy { public: StreamLocalCopy(Stream& original) : s(original), original_(original) {} ~StreamLocalCopy() { original_ = s; } Stream s; private: StreamLocalCopy& operator=(const StreamLocalCopy&) /* = delete */; Stream& original_; }; //! Keep reference. template class StreamLocalCopy { public: StreamLocalCopy(Stream& original) : s(original) {} Stream& s; private: StreamLocalCopy& operator=(const StreamLocalCopy&) /* = delete */; }; } // namespace internal /////////////////////////////////////////////////////////////////////////////// // SkipWhitespace //! Skip the JSON white spaces in a stream. /*! \param is A input stream for skipping white spaces. \note This function has SSE2/SSE4.2 specialization. */ template void SkipWhitespace(InputStream& is) { internal::StreamLocalCopy copy(is); InputStream& s(copy.s); typename InputStream::Ch c; while ((c = s.Peek()) == ' ' || c == '\n' || c == '\r' || c == '\t') s.Take(); } inline const char* SkipWhitespace(const char* p, const char* end) { while (p != end && (*p == ' ' || *p == '\n' || *p == '\r' || *p == '\t')) ++p; return p; } #ifdef CEREAL_RAPIDJSON_SSE42 //! Skip whitespace with SSE 4.2 pcmpistrm instruction, testing 16 8-byte characters at once. inline const char *SkipWhitespace_SIMD(const char* p) { // Fast return for single non-whitespace if (*p == ' ' || *p == '\n' || *p == '\r' || *p == '\t') ++p; else return p; // 16-byte align to the next boundary const char* nextAligned = reinterpret_cast((reinterpret_cast(p) + 15) & static_cast(~15)); while (p != nextAligned) if (*p == ' ' || *p == '\n' || *p == '\r' || *p == '\t') ++p; else return p; // The rest of string using SIMD static const char whitespace[16] = " \n\r\t"; const __m128i w = _mm_loadu_si128(reinterpret_cast(&whitespace[0])); for (;; p += 16) { const __m128i s = _mm_load_si128(reinterpret_cast(p)); const int r = _mm_cvtsi128_si32(_mm_cmpistrm(w, s, _SIDD_UBYTE_OPS | _SIDD_CMP_EQUAL_ANY | _SIDD_BIT_MASK | _SIDD_NEGATIVE_POLARITY)); if (r != 0) { // some of characters is non-whitespace #ifdef _MSC_VER // Find the index of first non-whitespace unsigned long offset; _BitScanForward(&offset, r); return p + offset; #else return p + __builtin_ffs(r) - 1; #endif } } } inline const char *SkipWhitespace_SIMD(const char* p, const char* end) { // Fast return for single non-whitespace if (p != end && (*p == ' ' || *p == '\n' || *p == '\r' || *p == '\t')) ++p; else return p; // The middle of string using SIMD static const char whitespace[16] = " \n\r\t"; const __m128i w = _mm_loadu_si128(reinterpret_cast(&whitespace[0])); for (; p <= end - 16; p += 16) { const __m128i s = _mm_loadu_si128(reinterpret_cast(p)); const int r = _mm_cvtsi128_si32(_mm_cmpistrm(w, s, _SIDD_UBYTE_OPS | _SIDD_CMP_EQUAL_ANY | _SIDD_BIT_MASK | _SIDD_NEGATIVE_POLARITY)); if (r != 0) { // some of characters is non-whitespace #ifdef _MSC_VER // Find the index of first non-whitespace unsigned long offset; _BitScanForward(&offset, r); return p + offset; #else return p + __builtin_ffs(r) - 1; #endif } } return SkipWhitespace(p, end); } #elif defined(CEREAL_RAPIDJSON_SSE2) //! Skip whitespace with SSE2 instructions, testing 16 8-byte characters at once. inline const char *SkipWhitespace_SIMD(const char* p) { // Fast return for single non-whitespace if (*p == ' ' || *p == '\n' || *p == '\r' || *p == '\t') ++p; else return p; // 16-byte align to the next boundary const char* nextAligned = reinterpret_cast((reinterpret_cast(p) + 15) & static_cast(~15)); while (p != nextAligned) if (*p == ' ' || *p == '\n' || *p == '\r' || *p == '\t') ++p; else return p; // The rest of string #define C16(c) { c, c, c, c, c, c, c, c, c, c, c, c, c, c, c, c } static const char whitespaces[4][16] = { C16(' '), C16('\n'), C16('\r'), C16('\t') }; #undef C16 const __m128i w0 = _mm_loadu_si128(reinterpret_cast(&whitespaces[0][0])); const __m128i w1 = _mm_loadu_si128(reinterpret_cast(&whitespaces[1][0])); const __m128i w2 = _mm_loadu_si128(reinterpret_cast(&whitespaces[2][0])); const __m128i w3 = _mm_loadu_si128(reinterpret_cast(&whitespaces[3][0])); for (;; p += 16) { const __m128i s = _mm_load_si128(reinterpret_cast(p)); __m128i x = _mm_cmpeq_epi8(s, w0); x = _mm_or_si128(x, _mm_cmpeq_epi8(s, w1)); x = _mm_or_si128(x, _mm_cmpeq_epi8(s, w2)); x = _mm_or_si128(x, _mm_cmpeq_epi8(s, w3)); unsigned short r = static_cast(~_mm_movemask_epi8(x)); if (r != 0) { // some of characters may be non-whitespace #ifdef _MSC_VER // Find the index of first non-whitespace unsigned long offset; _BitScanForward(&offset, r); return p + offset; #else return p + __builtin_ffs(r) - 1; #endif } } } inline const char *SkipWhitespace_SIMD(const char* p, const char* end) { // Fast return for single non-whitespace if (p != end && (*p == ' ' || *p == '\n' || *p == '\r' || *p == '\t')) ++p; else return p; // The rest of string #define C16(c) { c, c, c, c, c, c, c, c, c, c, c, c, c, c, c, c } static const char whitespaces[4][16] = { C16(' '), C16('\n'), C16('\r'), C16('\t') }; #undef C16 const __m128i w0 = _mm_loadu_si128(reinterpret_cast(&whitespaces[0][0])); const __m128i w1 = _mm_loadu_si128(reinterpret_cast(&whitespaces[1][0])); const __m128i w2 = _mm_loadu_si128(reinterpret_cast(&whitespaces[2][0])); const __m128i w3 = _mm_loadu_si128(reinterpret_cast(&whitespaces[3][0])); for (; p <= end - 16; p += 16) { const __m128i s = _mm_loadu_si128(reinterpret_cast(p)); __m128i x = _mm_cmpeq_epi8(s, w0); x = _mm_or_si128(x, _mm_cmpeq_epi8(s, w1)); x = _mm_or_si128(x, _mm_cmpeq_epi8(s, w2)); x = _mm_or_si128(x, _mm_cmpeq_epi8(s, w3)); unsigned short r = static_cast(~_mm_movemask_epi8(x)); if (r != 0) { // some of characters may be non-whitespace #ifdef _MSC_VER // Find the index of first non-whitespace unsigned long offset; _BitScanForward(&offset, r); return p + offset; #else return p + __builtin_ffs(r) - 1; #endif } } return SkipWhitespace(p, end); } #endif // CEREAL_RAPIDJSON_SSE2 #ifdef CEREAL_RAPIDJSON_SIMD //! Template function specialization for InsituStringStream template<> inline void SkipWhitespace(InsituStringStream& is) { is.src_ = const_cast(SkipWhitespace_SIMD(is.src_)); } //! Template function specialization for StringStream template<> inline void SkipWhitespace(StringStream& is) { is.src_ = SkipWhitespace_SIMD(is.src_); } template<> inline void SkipWhitespace(EncodedInputStream, MemoryStream>& is) { is.is_.src_ = SkipWhitespace_SIMD(is.is_.src_, is.is_.end_); } #endif // CEREAL_RAPIDJSON_SIMD /////////////////////////////////////////////////////////////////////////////// // GenericReader //! SAX-style JSON parser. Use \ref Reader for UTF8 encoding and default allocator. /*! GenericReader parses JSON text from a stream, and send events synchronously to an object implementing Handler concept. It needs to allocate a stack for storing a single decoded string during non-destructive parsing. For in-situ parsing, the decoded string is directly written to the source text string, no temporary buffer is required. A GenericReader object can be reused for parsing multiple JSON text. \tparam SourceEncoding Encoding of the input stream. \tparam TargetEncoding Encoding of the parse output. \tparam StackAllocator Allocator type for stack. */ template class GenericReader { public: typedef typename SourceEncoding::Ch Ch; //!< SourceEncoding character type //! Constructor. /*! \param stackAllocator Optional allocator for allocating stack memory. (Only use for non-destructive parsing) \param stackCapacity stack capacity in bytes for storing a single decoded string. (Only use for non-destructive parsing) */ GenericReader(StackAllocator* stackAllocator = 0, size_t stackCapacity = kDefaultStackCapacity) : stack_(stackAllocator, stackCapacity), parseResult_() {} //! Parse JSON text. /*! \tparam parseFlags Combination of \ref ParseFlag. \tparam InputStream Type of input stream, implementing Stream concept. \tparam Handler Type of handler, implementing Handler concept. \param is Input stream to be parsed. \param handler The handler to receive events. \return Whether the parsing is successful. */ template ParseResult Parse(InputStream& is, Handler& handler) { if (parseFlags & kParseIterativeFlag) return IterativeParse(is, handler); parseResult_.Clear(); ClearStackOnExit scope(*this); SkipWhitespaceAndComments(is); CEREAL_RAPIDJSON_PARSE_ERROR_EARLY_RETURN(parseResult_); if (CEREAL_RAPIDJSON_UNLIKELY(is.Peek() == '\0')) { CEREAL_RAPIDJSON_PARSE_ERROR_NORETURN(kParseErrorDocumentEmpty, is.Tell()); CEREAL_RAPIDJSON_PARSE_ERROR_EARLY_RETURN(parseResult_); } else { ParseValue(is, handler); CEREAL_RAPIDJSON_PARSE_ERROR_EARLY_RETURN(parseResult_); if (!(parseFlags & kParseStopWhenDoneFlag)) { SkipWhitespaceAndComments(is); CEREAL_RAPIDJSON_PARSE_ERROR_EARLY_RETURN(parseResult_); if (CEREAL_RAPIDJSON_UNLIKELY(is.Peek() != '\0')) { CEREAL_RAPIDJSON_PARSE_ERROR_NORETURN(kParseErrorDocumentRootNotSingular, is.Tell()); CEREAL_RAPIDJSON_PARSE_ERROR_EARLY_RETURN(parseResult_); } } } return parseResult_; } //! Parse JSON text (with \ref kParseDefaultFlags) /*! \tparam InputStream Type of input stream, implementing Stream concept \tparam Handler Type of handler, implementing Handler concept. \param is Input stream to be parsed. \param handler The handler to receive events. \return Whether the parsing is successful. */ template ParseResult Parse(InputStream& is, Handler& handler) { return Parse(is, handler); } //! Whether a parse error has occured in the last parsing. bool HasParseError() const { return parseResult_.IsError(); } //! Get the \ref ParseErrorCode of last parsing. ParseErrorCode GetParseErrorCode() const { return parseResult_.Code(); } //! Get the position of last parsing error in input, 0 otherwise. size_t GetErrorOffset() const { return parseResult_.Offset(); } protected: void SetParseError(ParseErrorCode code, size_t offset) { parseResult_.Set(code, offset); } private: // Prohibit copy constructor & assignment operator. GenericReader(const GenericReader&); GenericReader& operator=(const GenericReader&); void ClearStack() { stack_.Clear(); } // clear stack on any exit from ParseStream, e.g. due to exception struct ClearStackOnExit { explicit ClearStackOnExit(GenericReader& r) : r_(r) {} ~ClearStackOnExit() { r_.ClearStack(); } private: GenericReader& r_; ClearStackOnExit(const ClearStackOnExit&); ClearStackOnExit& operator=(const ClearStackOnExit&); }; template void SkipWhitespaceAndComments(InputStream& is) { SkipWhitespace(is); if (parseFlags & kParseCommentsFlag) { while (CEREAL_RAPIDJSON_UNLIKELY(Consume(is, '/'))) { if (Consume(is, '*')) { while (true) { if (CEREAL_RAPIDJSON_UNLIKELY(is.Peek() == '\0')) CEREAL_RAPIDJSON_PARSE_ERROR(kParseErrorUnspecificSyntaxError, is.Tell()); else if (Consume(is, '*')) { if (Consume(is, '/')) break; } else is.Take(); } } else if (CEREAL_RAPIDJSON_LIKELY(Consume(is, '/'))) while (is.Peek() != '\0' && is.Take() != '\n'); else CEREAL_RAPIDJSON_PARSE_ERROR(kParseErrorUnspecificSyntaxError, is.Tell()); SkipWhitespace(is); } } } // Parse object: { string : value, ... } template void ParseObject(InputStream& is, Handler& handler) { CEREAL_RAPIDJSON_ASSERT(is.Peek() == '{'); is.Take(); // Skip '{' if (CEREAL_RAPIDJSON_UNLIKELY(!handler.StartObject())) CEREAL_RAPIDJSON_PARSE_ERROR(kParseErrorTermination, is.Tell()); SkipWhitespaceAndComments(is); CEREAL_RAPIDJSON_PARSE_ERROR_EARLY_RETURN_VOID; if (Consume(is, '}')) { if (CEREAL_RAPIDJSON_UNLIKELY(!handler.EndObject(0))) // empty object CEREAL_RAPIDJSON_PARSE_ERROR(kParseErrorTermination, is.Tell()); return; } for (SizeType memberCount = 0;;) { if (CEREAL_RAPIDJSON_UNLIKELY(is.Peek() != '"')) CEREAL_RAPIDJSON_PARSE_ERROR(kParseErrorObjectMissName, is.Tell()); ParseString(is, handler, true); CEREAL_RAPIDJSON_PARSE_ERROR_EARLY_RETURN_VOID; SkipWhitespaceAndComments(is); CEREAL_RAPIDJSON_PARSE_ERROR_EARLY_RETURN_VOID; if (CEREAL_RAPIDJSON_UNLIKELY(!Consume(is, ':'))) CEREAL_RAPIDJSON_PARSE_ERROR(kParseErrorObjectMissColon, is.Tell()); SkipWhitespaceAndComments(is); CEREAL_RAPIDJSON_PARSE_ERROR_EARLY_RETURN_VOID; ParseValue(is, handler); CEREAL_RAPIDJSON_PARSE_ERROR_EARLY_RETURN_VOID; SkipWhitespaceAndComments(is); CEREAL_RAPIDJSON_PARSE_ERROR_EARLY_RETURN_VOID; ++memberCount; switch (is.Peek()) { case ',': is.Take(); SkipWhitespaceAndComments(is); CEREAL_RAPIDJSON_PARSE_ERROR_EARLY_RETURN_VOID; break; case '}': is.Take(); if (CEREAL_RAPIDJSON_UNLIKELY(!handler.EndObject(memberCount))) CEREAL_RAPIDJSON_PARSE_ERROR(kParseErrorTermination, is.Tell()); return; default: CEREAL_RAPIDJSON_PARSE_ERROR(kParseErrorObjectMissCommaOrCurlyBracket, is.Tell()); break; // This useless break is only for making warning and coverage happy } if (parseFlags & kParseTrailingCommasFlag) { if (is.Peek() == '}') { if (CEREAL_RAPIDJSON_UNLIKELY(!handler.EndObject(memberCount))) CEREAL_RAPIDJSON_PARSE_ERROR(kParseErrorTermination, is.Tell()); is.Take(); return; } } } } // Parse array: [ value, ... ] template void ParseArray(InputStream& is, Handler& handler) { CEREAL_RAPIDJSON_ASSERT(is.Peek() == '['); is.Take(); // Skip '[' if (CEREAL_RAPIDJSON_UNLIKELY(!handler.StartArray())) CEREAL_RAPIDJSON_PARSE_ERROR(kParseErrorTermination, is.Tell()); SkipWhitespaceAndComments(is); CEREAL_RAPIDJSON_PARSE_ERROR_EARLY_RETURN_VOID; if (Consume(is, ']')) { if (CEREAL_RAPIDJSON_UNLIKELY(!handler.EndArray(0))) // empty array CEREAL_RAPIDJSON_PARSE_ERROR(kParseErrorTermination, is.Tell()); return; } for (SizeType elementCount = 0;;) { ParseValue(is, handler); CEREAL_RAPIDJSON_PARSE_ERROR_EARLY_RETURN_VOID; ++elementCount; SkipWhitespaceAndComments(is); CEREAL_RAPIDJSON_PARSE_ERROR_EARLY_RETURN_VOID; if (Consume(is, ',')) { SkipWhitespaceAndComments(is); CEREAL_RAPIDJSON_PARSE_ERROR_EARLY_RETURN_VOID; } else if (Consume(is, ']')) { if (CEREAL_RAPIDJSON_UNLIKELY(!handler.EndArray(elementCount))) CEREAL_RAPIDJSON_PARSE_ERROR(kParseErrorTermination, is.Tell()); return; } else CEREAL_RAPIDJSON_PARSE_ERROR(kParseErrorArrayMissCommaOrSquareBracket, is.Tell()); if (parseFlags & kParseTrailingCommasFlag) { if (is.Peek() == ']') { if (CEREAL_RAPIDJSON_UNLIKELY(!handler.EndArray(elementCount))) CEREAL_RAPIDJSON_PARSE_ERROR(kParseErrorTermination, is.Tell()); is.Take(); return; } } } } template void ParseNull(InputStream& is, Handler& handler) { CEREAL_RAPIDJSON_ASSERT(is.Peek() == 'n'); is.Take(); if (CEREAL_RAPIDJSON_LIKELY(Consume(is, 'u') && Consume(is, 'l') && Consume(is, 'l'))) { if (CEREAL_RAPIDJSON_UNLIKELY(!handler.Null())) CEREAL_RAPIDJSON_PARSE_ERROR(kParseErrorTermination, is.Tell()); } else CEREAL_RAPIDJSON_PARSE_ERROR(kParseErrorValueInvalid, is.Tell()); } template void ParseTrue(InputStream& is, Handler& handler) { CEREAL_RAPIDJSON_ASSERT(is.Peek() == 't'); is.Take(); if (CEREAL_RAPIDJSON_LIKELY(Consume(is, 'r') && Consume(is, 'u') && Consume(is, 'e'))) { if (CEREAL_RAPIDJSON_UNLIKELY(!handler.Bool(true))) CEREAL_RAPIDJSON_PARSE_ERROR(kParseErrorTermination, is.Tell()); } else CEREAL_RAPIDJSON_PARSE_ERROR(kParseErrorValueInvalid, is.Tell()); } template void ParseFalse(InputStream& is, Handler& handler) { CEREAL_RAPIDJSON_ASSERT(is.Peek() == 'f'); is.Take(); if (CEREAL_RAPIDJSON_LIKELY(Consume(is, 'a') && Consume(is, 'l') && Consume(is, 's') && Consume(is, 'e'))) { if (CEREAL_RAPIDJSON_UNLIKELY(!handler.Bool(false))) CEREAL_RAPIDJSON_PARSE_ERROR(kParseErrorTermination, is.Tell()); } else CEREAL_RAPIDJSON_PARSE_ERROR(kParseErrorValueInvalid, is.Tell()); } template CEREAL_RAPIDJSON_FORCEINLINE static bool Consume(InputStream& is, typename InputStream::Ch expect) { if (CEREAL_RAPIDJSON_LIKELY(is.Peek() == expect)) { is.Take(); return true; } else return false; } // Helper function to parse four hexidecimal digits in \uXXXX in ParseString(). template unsigned ParseHex4(InputStream& is, size_t escapeOffset) { unsigned codepoint = 0; for (int i = 0; i < 4; i++) { Ch c = is.Peek(); codepoint <<= 4; codepoint += static_cast(c); if (c >= '0' && c <= '9') codepoint -= '0'; else if (c >= 'A' && c <= 'F') codepoint -= 'A' - 10; else if (c >= 'a' && c <= 'f') codepoint -= 'a' - 10; else { CEREAL_RAPIDJSON_PARSE_ERROR_NORETURN(kParseErrorStringUnicodeEscapeInvalidHex, escapeOffset); CEREAL_RAPIDJSON_PARSE_ERROR_EARLY_RETURN(0); } is.Take(); } return codepoint; } template class StackStream { public: typedef CharType Ch; StackStream(internal::Stack& stack) : stack_(stack), length_(0) {} CEREAL_RAPIDJSON_FORCEINLINE void Put(Ch c) { *stack_.template Push() = c; ++length_; } CEREAL_RAPIDJSON_FORCEINLINE void* Push(SizeType count) { length_ += count; return stack_.template Push(count); } size_t Length() const { return length_; } Ch* Pop() { return stack_.template Pop(length_); } private: StackStream(const StackStream&); StackStream& operator=(const StackStream&); internal::Stack& stack_; SizeType length_; }; // Parse string and generate String event. Different code paths for kParseInsituFlag. template void ParseString(InputStream& is, Handler& handler, bool isKey = false) { internal::StreamLocalCopy copy(is); InputStream& s(copy.s); CEREAL_RAPIDJSON_ASSERT(s.Peek() == '\"'); s.Take(); // Skip '\"' bool success = false; if (parseFlags & kParseInsituFlag) { typename InputStream::Ch *head = s.PutBegin(); ParseStringToStream(s, s); CEREAL_RAPIDJSON_PARSE_ERROR_EARLY_RETURN_VOID; size_t length = s.PutEnd(head) - 1; CEREAL_RAPIDJSON_ASSERT(length <= 0xFFFFFFFF); const typename TargetEncoding::Ch* const str = reinterpret_cast(head); success = (isKey ? handler.Key(str, SizeType(length), false) : handler.String(str, SizeType(length), false)); } else { StackStream stackStream(stack_); ParseStringToStream(s, stackStream); CEREAL_RAPIDJSON_PARSE_ERROR_EARLY_RETURN_VOID; SizeType length = static_cast(stackStream.Length()) - 1; const typename TargetEncoding::Ch* const str = stackStream.Pop(); success = (isKey ? handler.Key(str, length, true) : handler.String(str, length, true)); } if (CEREAL_RAPIDJSON_UNLIKELY(!success)) CEREAL_RAPIDJSON_PARSE_ERROR(kParseErrorTermination, s.Tell()); } // Parse string to an output is // This function handles the prefix/suffix double quotes, escaping, and optional encoding validation. template CEREAL_RAPIDJSON_FORCEINLINE void ParseStringToStream(InputStream& is, OutputStream& os) { //!@cond CEREAL_RAPIDJSON_HIDDEN_FROM_DOXYGEN #define Z16 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 static const char escape[256] = { Z16, Z16, 0, 0,'\"', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,'/', Z16, Z16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,'\\', 0, 0, 0, 0, 0,'\b', 0, 0, 0,'\f', 0, 0, 0, 0, 0, 0, 0,'\n', 0, 0, 0,'\r', 0,'\t', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, Z16, Z16, Z16, Z16, Z16, Z16, Z16, Z16 }; #undef Z16 //!@endcond for (;;) { // Scan and copy string before "\\\"" or < 0x20. This is an optional optimzation. if (!(parseFlags & kParseValidateEncodingFlag)) ScanCopyUnescapedString(is, os); Ch c = is.Peek(); if (CEREAL_RAPIDJSON_UNLIKELY(c == '\\')) { // Escape size_t escapeOffset = is.Tell(); // For invalid escaping, report the inital '\\' as error offset is.Take(); Ch e = is.Peek(); if ((sizeof(Ch) == 1 || unsigned(e) < 256) && CEREAL_RAPIDJSON_LIKELY(escape[static_cast(e)])) { is.Take(); os.Put(static_cast(escape[static_cast(e)])); } else if (CEREAL_RAPIDJSON_LIKELY(e == 'u')) { // Unicode is.Take(); unsigned codepoint = ParseHex4(is, escapeOffset); CEREAL_RAPIDJSON_PARSE_ERROR_EARLY_RETURN_VOID; if (CEREAL_RAPIDJSON_UNLIKELY(codepoint >= 0xD800 && codepoint <= 0xDBFF)) { // Handle UTF-16 surrogate pair if (CEREAL_RAPIDJSON_UNLIKELY(!Consume(is, '\\') || !Consume(is, 'u'))) CEREAL_RAPIDJSON_PARSE_ERROR(kParseErrorStringUnicodeSurrogateInvalid, escapeOffset); unsigned codepoint2 = ParseHex4(is, escapeOffset); CEREAL_RAPIDJSON_PARSE_ERROR_EARLY_RETURN_VOID; if (CEREAL_RAPIDJSON_UNLIKELY(codepoint2 < 0xDC00 || codepoint2 > 0xDFFF)) CEREAL_RAPIDJSON_PARSE_ERROR(kParseErrorStringUnicodeSurrogateInvalid, escapeOffset); codepoint = (((codepoint - 0xD800) << 10) | (codepoint2 - 0xDC00)) + 0x10000; } TEncoding::Encode(os, codepoint); } else CEREAL_RAPIDJSON_PARSE_ERROR(kParseErrorStringEscapeInvalid, escapeOffset); } else if (CEREAL_RAPIDJSON_UNLIKELY(c == '"')) { // Closing double quote is.Take(); os.Put('\0'); // null-terminate the string return; } else if (CEREAL_RAPIDJSON_UNLIKELY(static_cast(c) < 0x20)) { // RFC 4627: unescaped = %x20-21 / %x23-5B / %x5D-10FFFF if (c == '\0') CEREAL_RAPIDJSON_PARSE_ERROR(kParseErrorStringMissQuotationMark, is.Tell()); else CEREAL_RAPIDJSON_PARSE_ERROR(kParseErrorStringEscapeInvalid, is.Tell()); } else { size_t offset = is.Tell(); if (CEREAL_RAPIDJSON_UNLIKELY((parseFlags & kParseValidateEncodingFlag ? !Transcoder::Validate(is, os) : !Transcoder::Transcode(is, os)))) CEREAL_RAPIDJSON_PARSE_ERROR(kParseErrorStringInvalidEncoding, offset); } } } template static CEREAL_RAPIDJSON_FORCEINLINE void ScanCopyUnescapedString(InputStream&, OutputStream&) { // Do nothing for generic version } #if defined(CEREAL_RAPIDJSON_SSE2) || defined(CEREAL_RAPIDJSON_SSE42) // StringStream -> StackStream static CEREAL_RAPIDJSON_FORCEINLINE void ScanCopyUnescapedString(StringStream& is, StackStream& os) { const char* p = is.src_; // Scan one by one until alignment (unaligned load may cross page boundary and cause crash) const char* nextAligned = reinterpret_cast((reinterpret_cast(p) + 15) & static_cast(~15)); while (p != nextAligned) if (CEREAL_RAPIDJSON_UNLIKELY(*p == '\"') || CEREAL_RAPIDJSON_UNLIKELY(*p == '\\') || CEREAL_RAPIDJSON_UNLIKELY(static_cast(*p) < 0x20)) { is.src_ = p; return; } else os.Put(*p++); // The rest of string using SIMD static const char dquote[16] = { '\"', '\"', '\"', '\"', '\"', '\"', '\"', '\"', '\"', '\"', '\"', '\"', '\"', '\"', '\"', '\"' }; static const char bslash[16] = { '\\', '\\', '\\', '\\', '\\', '\\', '\\', '\\', '\\', '\\', '\\', '\\', '\\', '\\', '\\', '\\' }; static const char space[16] = { 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19 }; const __m128i dq = _mm_loadu_si128(reinterpret_cast(&dquote[0])); const __m128i bs = _mm_loadu_si128(reinterpret_cast(&bslash[0])); const __m128i sp = _mm_loadu_si128(reinterpret_cast(&space[0])); for (;; p += 16) { const __m128i s = _mm_load_si128(reinterpret_cast(p)); const __m128i t1 = _mm_cmpeq_epi8(s, dq); const __m128i t2 = _mm_cmpeq_epi8(s, bs); const __m128i t3 = _mm_cmpeq_epi8(_mm_max_epu8(s, sp), sp); // s < 0x20 <=> max(s, 0x19) == 0x19 const __m128i x = _mm_or_si128(_mm_or_si128(t1, t2), t3); unsigned short r = static_cast(_mm_movemask_epi8(x)); if (CEREAL_RAPIDJSON_UNLIKELY(r != 0)) { // some of characters is escaped SizeType length; #ifdef _MSC_VER // Find the index of first escaped unsigned long offset; _BitScanForward(&offset, r); length = offset; #else length = static_cast(__builtin_ffs(r) - 1); #endif char* q = reinterpret_cast(os.Push(length)); for (size_t i = 0; i < length; i++) q[i] = p[i]; p += length; break; } _mm_storeu_si128(reinterpret_cast<__m128i *>(os.Push(16)), s); } is.src_ = p; } // InsituStringStream -> InsituStringStream static CEREAL_RAPIDJSON_FORCEINLINE void ScanCopyUnescapedString(InsituStringStream& is, InsituStringStream& os) { CEREAL_RAPIDJSON_ASSERT(&is == &os); (void)os; if (is.src_ == is.dst_) { SkipUnescapedString(is); return; } char* p = is.src_; char *q = is.dst_; // Scan one by one until alignment (unaligned load may cross page boundary and cause crash) const char* nextAligned = reinterpret_cast((reinterpret_cast(p) + 15) & static_cast(~15)); while (p != nextAligned) if (CEREAL_RAPIDJSON_UNLIKELY(*p == '\"') || CEREAL_RAPIDJSON_UNLIKELY(*p == '\\') || CEREAL_RAPIDJSON_UNLIKELY(static_cast(*p) < 0x20)) { is.src_ = p; is.dst_ = q; return; } else *q++ = *p++; // The rest of string using SIMD static const char dquote[16] = { '\"', '\"', '\"', '\"', '\"', '\"', '\"', '\"', '\"', '\"', '\"', '\"', '\"', '\"', '\"', '\"' }; static const char bslash[16] = { '\\', '\\', '\\', '\\', '\\', '\\', '\\', '\\', '\\', '\\', '\\', '\\', '\\', '\\', '\\', '\\' }; static const char space[16] = { 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19 }; const __m128i dq = _mm_loadu_si128(reinterpret_cast(&dquote[0])); const __m128i bs = _mm_loadu_si128(reinterpret_cast(&bslash[0])); const __m128i sp = _mm_loadu_si128(reinterpret_cast(&space[0])); for (;; p += 16, q += 16) { const __m128i s = _mm_load_si128(reinterpret_cast(p)); const __m128i t1 = _mm_cmpeq_epi8(s, dq); const __m128i t2 = _mm_cmpeq_epi8(s, bs); const __m128i t3 = _mm_cmpeq_epi8(_mm_max_epu8(s, sp), sp); // s < 0x20 <=> max(s, 0x19) == 0x19 const __m128i x = _mm_or_si128(_mm_or_si128(t1, t2), t3); unsigned short r = static_cast(_mm_movemask_epi8(x)); if (CEREAL_RAPIDJSON_UNLIKELY(r != 0)) { // some of characters is escaped size_t length; #ifdef _MSC_VER // Find the index of first escaped unsigned long offset; _BitScanForward(&offset, r); length = offset; #else length = static_cast(__builtin_ffs(r) - 1); #endif for (const char* pend = p + length; p != pend; ) *q++ = *p++; break; } _mm_storeu_si128(reinterpret_cast<__m128i *>(q), s); } is.src_ = p; is.dst_ = q; } // When read/write pointers are the same for insitu stream, just skip unescaped characters static CEREAL_RAPIDJSON_FORCEINLINE void SkipUnescapedString(InsituStringStream& is) { CEREAL_RAPIDJSON_ASSERT(is.src_ == is.dst_); char* p = is.src_; // Scan one by one until alignment (unaligned load may cross page boundary and cause crash) const char* nextAligned = reinterpret_cast((reinterpret_cast(p) + 15) & static_cast(~15)); for (; p != nextAligned; p++) if (CEREAL_RAPIDJSON_UNLIKELY(*p == '\"') || CEREAL_RAPIDJSON_UNLIKELY(*p == '\\') || CEREAL_RAPIDJSON_UNLIKELY(static_cast(*p) < 0x20)) { is.src_ = is.dst_ = p; return; } // The rest of string using SIMD static const char dquote[16] = { '\"', '\"', '\"', '\"', '\"', '\"', '\"', '\"', '\"', '\"', '\"', '\"', '\"', '\"', '\"', '\"' }; static const char bslash[16] = { '\\', '\\', '\\', '\\', '\\', '\\', '\\', '\\', '\\', '\\', '\\', '\\', '\\', '\\', '\\', '\\' }; static const char space[16] = { 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19 }; const __m128i dq = _mm_loadu_si128(reinterpret_cast(&dquote[0])); const __m128i bs = _mm_loadu_si128(reinterpret_cast(&bslash[0])); const __m128i sp = _mm_loadu_si128(reinterpret_cast(&space[0])); for (;; p += 16) { const __m128i s = _mm_load_si128(reinterpret_cast(p)); const __m128i t1 = _mm_cmpeq_epi8(s, dq); const __m128i t2 = _mm_cmpeq_epi8(s, bs); const __m128i t3 = _mm_cmpeq_epi8(_mm_max_epu8(s, sp), sp); // s < 0x20 <=> max(s, 0x19) == 0x19 const __m128i x = _mm_or_si128(_mm_or_si128(t1, t2), t3); unsigned short r = static_cast(_mm_movemask_epi8(x)); if (CEREAL_RAPIDJSON_UNLIKELY(r != 0)) { // some of characters is escaped size_t length; #ifdef _MSC_VER // Find the index of first escaped unsigned long offset; _BitScanForward(&offset, r); length = offset; #else length = static_cast(__builtin_ffs(r) - 1); #endif p += length; break; } } is.src_ = is.dst_ = p; } #endif template class NumberStream; template class NumberStream { public: typedef typename InputStream::Ch Ch; NumberStream(GenericReader& reader, InputStream& s) : is(s) { (void)reader; } ~NumberStream() {} CEREAL_RAPIDJSON_FORCEINLINE Ch Peek() const { return is.Peek(); } CEREAL_RAPIDJSON_FORCEINLINE Ch TakePush() { return is.Take(); } CEREAL_RAPIDJSON_FORCEINLINE Ch Take() { return is.Take(); } CEREAL_RAPIDJSON_FORCEINLINE void Push(char) {} size_t Tell() { return is.Tell(); } size_t Length() { return 0; } const char* Pop() { return 0; } protected: NumberStream& operator=(const NumberStream&); InputStream& is; }; template class NumberStream : public NumberStream { typedef NumberStream Base; public: NumberStream(GenericReader& reader, InputStream& s) : Base(reader, s), stackStream(reader.stack_) {} ~NumberStream() {} CEREAL_RAPIDJSON_FORCEINLINE Ch TakePush() { stackStream.Put(static_cast(Base::is.Peek())); return Base::is.Take(); } CEREAL_RAPIDJSON_FORCEINLINE void Push(char c) { stackStream.Put(c); } size_t Length() { return stackStream.Length(); } const char* Pop() { stackStream.Put('\0'); return stackStream.Pop(); } private: StackStream stackStream; }; template class NumberStream : public NumberStream { typedef NumberStream Base; public: NumberStream(GenericReader& reader, InputStream& is) : Base(reader, is) {} ~NumberStream() {} CEREAL_RAPIDJSON_FORCEINLINE Ch Take() { return Base::TakePush(); } }; template void ParseNumber(InputStream& is, Handler& handler) { internal::StreamLocalCopy copy(is); NumberStream s(*this, copy.s); size_t startOffset = s.Tell(); double d = 0.0; bool useNanOrInf = false; // Parse minus bool minus = Consume(s, '-'); // Parse int: zero / ( digit1-9 *DIGIT ) unsigned i = 0; uint64_t i64 = 0; bool use64bit = false; int significandDigit = 0; if (CEREAL_RAPIDJSON_UNLIKELY(s.Peek() == '0')) { i = 0; s.TakePush(); } else if (CEREAL_RAPIDJSON_LIKELY(s.Peek() >= '1' && s.Peek() <= '9')) { i = static_cast(s.TakePush() - '0'); if (minus) while (CEREAL_RAPIDJSON_LIKELY(s.Peek() >= '0' && s.Peek() <= '9')) { if (CEREAL_RAPIDJSON_UNLIKELY(i >= 214748364)) { // 2^31 = 2147483648 if (CEREAL_RAPIDJSON_LIKELY(i != 214748364 || s.Peek() > '8')) { i64 = i; use64bit = true; break; } } i = i * 10 + static_cast(s.TakePush() - '0'); significandDigit++; } else while (CEREAL_RAPIDJSON_LIKELY(s.Peek() >= '0' && s.Peek() <= '9')) { if (CEREAL_RAPIDJSON_UNLIKELY(i >= 429496729)) { // 2^32 - 1 = 4294967295 if (CEREAL_RAPIDJSON_LIKELY(i != 429496729 || s.Peek() > '5')) { i64 = i; use64bit = true; break; } } i = i * 10 + static_cast(s.TakePush() - '0'); significandDigit++; } } // Parse NaN or Infinity here else if ((parseFlags & kParseNanAndInfFlag) && CEREAL_RAPIDJSON_LIKELY((s.Peek() == 'I' || s.Peek() == 'N'))) { useNanOrInf = true; if (CEREAL_RAPIDJSON_LIKELY(Consume(s, 'N') && Consume(s, 'a') && Consume(s, 'N'))) { d = std::numeric_limits::quiet_NaN(); } else if (CEREAL_RAPIDJSON_LIKELY(Consume(s, 'I') && Consume(s, 'n') && Consume(s, 'f'))) { d = (minus ? -std::numeric_limits::infinity() : std::numeric_limits::infinity()); if (CEREAL_RAPIDJSON_UNLIKELY(s.Peek() == 'i' && !(Consume(s, 'i') && Consume(s, 'n') && Consume(s, 'i') && Consume(s, 't') && Consume(s, 'y')))) CEREAL_RAPIDJSON_PARSE_ERROR(kParseErrorValueInvalid, s.Tell()); } else CEREAL_RAPIDJSON_PARSE_ERROR(kParseErrorValueInvalid, s.Tell()); } else CEREAL_RAPIDJSON_PARSE_ERROR(kParseErrorValueInvalid, s.Tell()); // Parse 64bit int bool useDouble = false; if (use64bit) { if (minus) while (CEREAL_RAPIDJSON_LIKELY(s.Peek() >= '0' && s.Peek() <= '9')) { if (CEREAL_RAPIDJSON_UNLIKELY(i64 >= CEREAL_RAPIDJSON_UINT64_C2(0x0CCCCCCC, 0xCCCCCCCC))) // 2^63 = 9223372036854775808 if (CEREAL_RAPIDJSON_LIKELY(i64 != CEREAL_RAPIDJSON_UINT64_C2(0x0CCCCCCC, 0xCCCCCCCC) || s.Peek() > '8')) { d = static_cast(i64); useDouble = true; break; } i64 = i64 * 10 + static_cast(s.TakePush() - '0'); significandDigit++; } else while (CEREAL_RAPIDJSON_LIKELY(s.Peek() >= '0' && s.Peek() <= '9')) { if (CEREAL_RAPIDJSON_UNLIKELY(i64 >= CEREAL_RAPIDJSON_UINT64_C2(0x19999999, 0x99999999))) // 2^64 - 1 = 18446744073709551615 if (CEREAL_RAPIDJSON_LIKELY(i64 != CEREAL_RAPIDJSON_UINT64_C2(0x19999999, 0x99999999) || s.Peek() > '5')) { d = static_cast(i64); useDouble = true; break; } i64 = i64 * 10 + static_cast(s.TakePush() - '0'); significandDigit++; } } // Force double for big integer if (useDouble) { while (CEREAL_RAPIDJSON_LIKELY(s.Peek() >= '0' && s.Peek() <= '9')) { if (CEREAL_RAPIDJSON_UNLIKELY(d >= 1.7976931348623157e307)) // DBL_MAX / 10.0 CEREAL_RAPIDJSON_PARSE_ERROR(kParseErrorNumberTooBig, startOffset); d = d * 10 + (s.TakePush() - '0'); } } // Parse frac = decimal-point 1*DIGIT int expFrac = 0; size_t decimalPosition; if (Consume(s, '.')) { decimalPosition = s.Length(); if (CEREAL_RAPIDJSON_UNLIKELY(!(s.Peek() >= '0' && s.Peek() <= '9'))) CEREAL_RAPIDJSON_PARSE_ERROR(kParseErrorNumberMissFraction, s.Tell()); if (!useDouble) { #if CEREAL_RAPIDJSON_64BIT // Use i64 to store significand in 64-bit architecture if (!use64bit) i64 = i; while (CEREAL_RAPIDJSON_LIKELY(s.Peek() >= '0' && s.Peek() <= '9')) { if (i64 > CEREAL_RAPIDJSON_UINT64_C2(0x1FFFFF, 0xFFFFFFFF)) // 2^53 - 1 for fast path break; else { i64 = i64 * 10 + static_cast(s.TakePush() - '0'); --expFrac; if (i64 != 0) significandDigit++; } } d = static_cast(i64); #else // Use double to store significand in 32-bit architecture d = static_cast(use64bit ? i64 : i); #endif useDouble = true; } while (CEREAL_RAPIDJSON_LIKELY(s.Peek() >= '0' && s.Peek() <= '9')) { if (significandDigit < 17) { d = d * 10.0 + (s.TakePush() - '0'); --expFrac; if (CEREAL_RAPIDJSON_LIKELY(d > 0.0)) significandDigit++; } else s.TakePush(); } } else decimalPosition = s.Length(); // decimal position at the end of integer. // Parse exp = e [ minus / plus ] 1*DIGIT int exp = 0; if (Consume(s, 'e') || Consume(s, 'E')) { if (!useDouble) { d = static_cast(use64bit ? i64 : i); useDouble = true; } bool expMinus = false; if (Consume(s, '+')) ; else if (Consume(s, '-')) expMinus = true; if (CEREAL_RAPIDJSON_LIKELY(s.Peek() >= '0' && s.Peek() <= '9')) { exp = static_cast(s.Take() - '0'); if (expMinus) { while (CEREAL_RAPIDJSON_LIKELY(s.Peek() >= '0' && s.Peek() <= '9')) { exp = exp * 10 + static_cast(s.Take() - '0'); if (exp >= 214748364) { // Issue #313: prevent overflow exponent while (CEREAL_RAPIDJSON_UNLIKELY(s.Peek() >= '0' && s.Peek() <= '9')) // Consume the rest of exponent s.Take(); } } } else { // positive exp int maxExp = 308 - expFrac; while (CEREAL_RAPIDJSON_LIKELY(s.Peek() >= '0' && s.Peek() <= '9')) { exp = exp * 10 + static_cast(s.Take() - '0'); if (CEREAL_RAPIDJSON_UNLIKELY(exp > maxExp)) CEREAL_RAPIDJSON_PARSE_ERROR(kParseErrorNumberTooBig, startOffset); } } } else CEREAL_RAPIDJSON_PARSE_ERROR(kParseErrorNumberMissExponent, s.Tell()); if (expMinus) exp = -exp; } // Finish parsing, call event according to the type of number. bool cont = true; if (parseFlags & kParseNumbersAsStringsFlag) { if (parseFlags & kParseInsituFlag) { s.Pop(); // Pop stack no matter if it will be used or not. typename InputStream::Ch* head = is.PutBegin(); const size_t length = s.Tell() - startOffset; CEREAL_RAPIDJSON_ASSERT(length <= 0xFFFFFFFF); // unable to insert the \0 character here, it will erase the comma after this number const typename TargetEncoding::Ch* const str = reinterpret_cast(head); cont = handler.RawNumber(str, SizeType(length), false); } else { SizeType numCharsToCopy = static_cast(s.Length()); StringStream srcStream(s.Pop()); StackStream dstStream(stack_); while (numCharsToCopy--) { Transcoder, TargetEncoding>::Transcode(srcStream, dstStream); } dstStream.Put('\0'); const typename TargetEncoding::Ch* str = dstStream.Pop(); const SizeType length = static_cast(dstStream.Length()) - 1; cont = handler.RawNumber(str, SizeType(length), true); } } else { size_t length = s.Length(); const char* decimal = s.Pop(); // Pop stack no matter if it will be used or not. if (useDouble) { int p = exp + expFrac; if (parseFlags & kParseFullPrecisionFlag) d = internal::StrtodFullPrecision(d, p, decimal, length, decimalPosition, exp); else d = internal::StrtodNormalPrecision(d, p); cont = handler.Double(minus ? -d : d); } else if (useNanOrInf) { cont = handler.Double(d); } else { if (use64bit) { if (minus) cont = handler.Int64(static_cast(~i64 + 1)); else cont = handler.Uint64(i64); } else { if (minus) cont = handler.Int(static_cast(~i + 1)); else cont = handler.Uint(i); } } } if (CEREAL_RAPIDJSON_UNLIKELY(!cont)) CEREAL_RAPIDJSON_PARSE_ERROR(kParseErrorTermination, startOffset); } // Parse any JSON value template void ParseValue(InputStream& is, Handler& handler) { switch (is.Peek()) { case 'n': ParseNull (is, handler); break; case 't': ParseTrue (is, handler); break; case 'f': ParseFalse (is, handler); break; case '"': ParseString(is, handler); break; case '{': ParseObject(is, handler); break; case '[': ParseArray (is, handler); break; default : ParseNumber(is, handler); break; } } // Iterative Parsing // States enum IterativeParsingState { IterativeParsingStartState = 0, IterativeParsingFinishState, IterativeParsingErrorState, // Object states IterativeParsingObjectInitialState, IterativeParsingMemberKeyState, IterativeParsingKeyValueDelimiterState, IterativeParsingMemberValueState, IterativeParsingMemberDelimiterState, IterativeParsingObjectFinishState, // Array states IterativeParsingArrayInitialState, IterativeParsingElementState, IterativeParsingElementDelimiterState, IterativeParsingArrayFinishState, // Single value state IterativeParsingValueState }; enum { cIterativeParsingStateCount = IterativeParsingValueState + 1 }; // Tokens enum Token { LeftBracketToken = 0, RightBracketToken, LeftCurlyBracketToken, RightCurlyBracketToken, CommaToken, ColonToken, StringToken, FalseToken, TrueToken, NullToken, NumberToken, kTokenCount }; CEREAL_RAPIDJSON_FORCEINLINE Token Tokenize(Ch c) { //!@cond CEREAL_RAPIDJSON_HIDDEN_FROM_DOXYGEN #define N NumberToken #define N16 N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N // Maps from ASCII to Token static const unsigned char tokenMap[256] = { N16, // 00~0F N16, // 10~1F N, N, StringToken, N, N, N, N, N, N, N, N, N, CommaToken, N, N, N, // 20~2F N, N, N, N, N, N, N, N, N, N, ColonToken, N, N, N, N, N, // 30~3F N16, // 40~4F N, N, N, N, N, N, N, N, N, N, N, LeftBracketToken, N, RightBracketToken, N, N, // 50~5F N, N, N, N, N, N, FalseToken, N, N, N, N, N, N, N, NullToken, N, // 60~6F N, N, N, N, TrueToken, N, N, N, N, N, N, LeftCurlyBracketToken, N, RightCurlyBracketToken, N, N, // 70~7F N16, N16, N16, N16, N16, N16, N16, N16 // 80~FF }; #undef N #undef N16 //!@endcond if (sizeof(Ch) == 1 || static_cast(c) < 256) return static_cast(tokenMap[static_cast(c)]); else return NumberToken; } CEREAL_RAPIDJSON_FORCEINLINE IterativeParsingState Predict(IterativeParsingState state, Token token) { // current state x one lookahead token -> new state static const char G[cIterativeParsingStateCount][kTokenCount] = { // Start { IterativeParsingArrayInitialState, // Left bracket IterativeParsingErrorState, // Right bracket IterativeParsingObjectInitialState, // Left curly bracket IterativeParsingErrorState, // Right curly bracket IterativeParsingErrorState, // Comma IterativeParsingErrorState, // Colon IterativeParsingValueState, // String IterativeParsingValueState, // False IterativeParsingValueState, // True IterativeParsingValueState, // Null IterativeParsingValueState // Number }, // Finish(sink state) { IterativeParsingErrorState, IterativeParsingErrorState, IterativeParsingErrorState, IterativeParsingErrorState, IterativeParsingErrorState, IterativeParsingErrorState, IterativeParsingErrorState, IterativeParsingErrorState, IterativeParsingErrorState, IterativeParsingErrorState, IterativeParsingErrorState }, // Error(sink state) { IterativeParsingErrorState, IterativeParsingErrorState, IterativeParsingErrorState, IterativeParsingErrorState, IterativeParsingErrorState, IterativeParsingErrorState, IterativeParsingErrorState, IterativeParsingErrorState, IterativeParsingErrorState, IterativeParsingErrorState, IterativeParsingErrorState }, // ObjectInitial { IterativeParsingErrorState, // Left bracket IterativeParsingErrorState, // Right bracket IterativeParsingErrorState, // Left curly bracket IterativeParsingObjectFinishState, // Right curly bracket IterativeParsingErrorState, // Comma IterativeParsingErrorState, // Colon IterativeParsingMemberKeyState, // String IterativeParsingErrorState, // False IterativeParsingErrorState, // True IterativeParsingErrorState, // Null IterativeParsingErrorState // Number }, // MemberKey { IterativeParsingErrorState, // Left bracket IterativeParsingErrorState, // Right bracket IterativeParsingErrorState, // Left curly bracket IterativeParsingErrorState, // Right curly bracket IterativeParsingErrorState, // Comma IterativeParsingKeyValueDelimiterState, // Colon IterativeParsingErrorState, // String IterativeParsingErrorState, // False IterativeParsingErrorState, // True IterativeParsingErrorState, // Null IterativeParsingErrorState // Number }, // KeyValueDelimiter { IterativeParsingArrayInitialState, // Left bracket(push MemberValue state) IterativeParsingErrorState, // Right bracket IterativeParsingObjectInitialState, // Left curly bracket(push MemberValue state) IterativeParsingErrorState, // Right curly bracket IterativeParsingErrorState, // Comma IterativeParsingErrorState, // Colon IterativeParsingMemberValueState, // String IterativeParsingMemberValueState, // False IterativeParsingMemberValueState, // True IterativeParsingMemberValueState, // Null IterativeParsingMemberValueState // Number }, // MemberValue { IterativeParsingErrorState, // Left bracket IterativeParsingErrorState, // Right bracket IterativeParsingErrorState, // Left curly bracket IterativeParsingObjectFinishState, // Right curly bracket IterativeParsingMemberDelimiterState, // Comma IterativeParsingErrorState, // Colon IterativeParsingErrorState, // String IterativeParsingErrorState, // False IterativeParsingErrorState, // True IterativeParsingErrorState, // Null IterativeParsingErrorState // Number }, // MemberDelimiter { IterativeParsingErrorState, // Left bracket IterativeParsingErrorState, // Right bracket IterativeParsingErrorState, // Left curly bracket IterativeParsingObjectFinishState, // Right curly bracket IterativeParsingErrorState, // Comma IterativeParsingErrorState, // Colon IterativeParsingMemberKeyState, // String IterativeParsingErrorState, // False IterativeParsingErrorState, // True IterativeParsingErrorState, // Null IterativeParsingErrorState // Number }, // ObjectFinish(sink state) { IterativeParsingErrorState, IterativeParsingErrorState, IterativeParsingErrorState, IterativeParsingErrorState, IterativeParsingErrorState, IterativeParsingErrorState, IterativeParsingErrorState, IterativeParsingErrorState, IterativeParsingErrorState, IterativeParsingErrorState, IterativeParsingErrorState }, // ArrayInitial { IterativeParsingArrayInitialState, // Left bracket(push Element state) IterativeParsingArrayFinishState, // Right bracket IterativeParsingObjectInitialState, // Left curly bracket(push Element state) IterativeParsingErrorState, // Right curly bracket IterativeParsingErrorState, // Comma IterativeParsingErrorState, // Colon IterativeParsingElementState, // String IterativeParsingElementState, // False IterativeParsingElementState, // True IterativeParsingElementState, // Null IterativeParsingElementState // Number }, // Element { IterativeParsingErrorState, // Left bracket IterativeParsingArrayFinishState, // Right bracket IterativeParsingErrorState, // Left curly bracket IterativeParsingErrorState, // Right curly bracket IterativeParsingElementDelimiterState, // Comma IterativeParsingErrorState, // Colon IterativeParsingErrorState, // String IterativeParsingErrorState, // False IterativeParsingErrorState, // True IterativeParsingErrorState, // Null IterativeParsingErrorState // Number }, // ElementDelimiter { IterativeParsingArrayInitialState, // Left bracket(push Element state) IterativeParsingArrayFinishState, // Right bracket IterativeParsingObjectInitialState, // Left curly bracket(push Element state) IterativeParsingErrorState, // Right curly bracket IterativeParsingErrorState, // Comma IterativeParsingErrorState, // Colon IterativeParsingElementState, // String IterativeParsingElementState, // False IterativeParsingElementState, // True IterativeParsingElementState, // Null IterativeParsingElementState // Number }, // ArrayFinish(sink state) { IterativeParsingErrorState, IterativeParsingErrorState, IterativeParsingErrorState, IterativeParsingErrorState, IterativeParsingErrorState, IterativeParsingErrorState, IterativeParsingErrorState, IterativeParsingErrorState, IterativeParsingErrorState, IterativeParsingErrorState, IterativeParsingErrorState }, // Single Value (sink state) { IterativeParsingErrorState, IterativeParsingErrorState, IterativeParsingErrorState, IterativeParsingErrorState, IterativeParsingErrorState, IterativeParsingErrorState, IterativeParsingErrorState, IterativeParsingErrorState, IterativeParsingErrorState, IterativeParsingErrorState, IterativeParsingErrorState } }; // End of G return static_cast(G[state][token]); } // Make an advance in the token stream and state based on the candidate destination state which was returned by Transit(). // May return a new state on state pop. template CEREAL_RAPIDJSON_FORCEINLINE IterativeParsingState Transit(IterativeParsingState src, Token token, IterativeParsingState dst, InputStream& is, Handler& handler) { (void)token; switch (dst) { case IterativeParsingErrorState: return dst; case IterativeParsingObjectInitialState: case IterativeParsingArrayInitialState: { // Push the state(Element or MemeberValue) if we are nested in another array or value of member. // In this way we can get the correct state on ObjectFinish or ArrayFinish by frame pop. IterativeParsingState n = src; if (src == IterativeParsingArrayInitialState || src == IterativeParsingElementDelimiterState) n = IterativeParsingElementState; else if (src == IterativeParsingKeyValueDelimiterState) n = IterativeParsingMemberValueState; // Push current state. *stack_.template Push(1) = n; // Initialize and push the member/element count. *stack_.template Push(1) = 0; // Call handler bool hr = (dst == IterativeParsingObjectInitialState) ? handler.StartObject() : handler.StartArray(); // On handler short circuits the parsing. if (!hr) { CEREAL_RAPIDJSON_PARSE_ERROR_NORETURN(kParseErrorTermination, is.Tell()); return IterativeParsingErrorState; } else { is.Take(); return dst; } } case IterativeParsingMemberKeyState: ParseString(is, handler, true); if (HasParseError()) return IterativeParsingErrorState; else return dst; case IterativeParsingKeyValueDelimiterState: CEREAL_RAPIDJSON_ASSERT(token == ColonToken); is.Take(); return dst; case IterativeParsingMemberValueState: // Must be non-compound value. Or it would be ObjectInitial or ArrayInitial state. ParseValue(is, handler); if (HasParseError()) { return IterativeParsingErrorState; } return dst; case IterativeParsingElementState: // Must be non-compound value. Or it would be ObjectInitial or ArrayInitial state. ParseValue(is, handler); if (HasParseError()) { return IterativeParsingErrorState; } return dst; case IterativeParsingMemberDelimiterState: case IterativeParsingElementDelimiterState: is.Take(); // Update member/element count. *stack_.template Top() = *stack_.template Top() + 1; return dst; case IterativeParsingObjectFinishState: { // Transit from delimiter is only allowed when trailing commas are enabled if (!(parseFlags & kParseTrailingCommasFlag) && src == IterativeParsingMemberDelimiterState) { CEREAL_RAPIDJSON_PARSE_ERROR_NORETURN(kParseErrorObjectMissName, is.Tell()); return IterativeParsingErrorState; } // Get member count. SizeType c = *stack_.template Pop(1); // If the object is not empty, count the last member. if (src == IterativeParsingMemberValueState) ++c; // Restore the state. IterativeParsingState n = static_cast(*stack_.template Pop(1)); // Transit to Finish state if this is the topmost scope. if (n == IterativeParsingStartState) n = IterativeParsingFinishState; // Call handler bool hr = handler.EndObject(c); // On handler short circuits the parsing. if (!hr) { CEREAL_RAPIDJSON_PARSE_ERROR_NORETURN(kParseErrorTermination, is.Tell()); return IterativeParsingErrorState; } else { is.Take(); return n; } } case IterativeParsingArrayFinishState: { // Transit from delimiter is only allowed when trailing commas are enabled if (!(parseFlags & kParseTrailingCommasFlag) && src == IterativeParsingElementDelimiterState) { CEREAL_RAPIDJSON_PARSE_ERROR_NORETURN(kParseErrorValueInvalid, is.Tell()); return IterativeParsingErrorState; } // Get element count. SizeType c = *stack_.template Pop(1); // If the array is not empty, count the last element. if (src == IterativeParsingElementState) ++c; // Restore the state. IterativeParsingState n = static_cast(*stack_.template Pop(1)); // Transit to Finish state if this is the topmost scope. if (n == IterativeParsingStartState) n = IterativeParsingFinishState; // Call handler bool hr = handler.EndArray(c); // On handler short circuits the parsing. if (!hr) { CEREAL_RAPIDJSON_PARSE_ERROR_NORETURN(kParseErrorTermination, is.Tell()); return IterativeParsingErrorState; } else { is.Take(); return n; } } default: // This branch is for IterativeParsingValueState actually. // Use `default:` rather than // `case IterativeParsingValueState:` is for code coverage. // The IterativeParsingStartState is not enumerated in this switch-case. // It is impossible for that case. And it can be caught by following assertion. // The IterativeParsingFinishState is not enumerated in this switch-case either. // It is a "derivative" state which cannot triggered from Predict() directly. // Therefore it cannot happen here. And it can be caught by following assertion. CEREAL_RAPIDJSON_ASSERT(dst == IterativeParsingValueState); // Must be non-compound value. Or it would be ObjectInitial or ArrayInitial state. ParseValue(is, handler); if (HasParseError()) { return IterativeParsingErrorState; } return IterativeParsingFinishState; } } template void HandleError(IterativeParsingState src, InputStream& is) { if (HasParseError()) { // Error flag has been set. return; } switch (src) { case IterativeParsingStartState: CEREAL_RAPIDJSON_PARSE_ERROR(kParseErrorDocumentEmpty, is.Tell()); return; case IterativeParsingFinishState: CEREAL_RAPIDJSON_PARSE_ERROR(kParseErrorDocumentRootNotSingular, is.Tell()); return; case IterativeParsingObjectInitialState: case IterativeParsingMemberDelimiterState: CEREAL_RAPIDJSON_PARSE_ERROR(kParseErrorObjectMissName, is.Tell()); return; case IterativeParsingMemberKeyState: CEREAL_RAPIDJSON_PARSE_ERROR(kParseErrorObjectMissColon, is.Tell()); return; case IterativeParsingMemberValueState: CEREAL_RAPIDJSON_PARSE_ERROR(kParseErrorObjectMissCommaOrCurlyBracket, is.Tell()); return; case IterativeParsingKeyValueDelimiterState: case IterativeParsingArrayInitialState: case IterativeParsingElementDelimiterState: CEREAL_RAPIDJSON_PARSE_ERROR(kParseErrorValueInvalid, is.Tell()); return; default: CEREAL_RAPIDJSON_ASSERT(src == IterativeParsingElementState); CEREAL_RAPIDJSON_PARSE_ERROR(kParseErrorArrayMissCommaOrSquareBracket, is.Tell()); return; } } template ParseResult IterativeParse(InputStream& is, Handler& handler) { parseResult_.Clear(); ClearStackOnExit scope(*this); IterativeParsingState state = IterativeParsingStartState; SkipWhitespaceAndComments(is); CEREAL_RAPIDJSON_PARSE_ERROR_EARLY_RETURN(parseResult_); while (is.Peek() != '\0') { Token t = Tokenize(is.Peek()); IterativeParsingState n = Predict(state, t); IterativeParsingState d = Transit(state, t, n, is, handler); if (d == IterativeParsingErrorState) { HandleError(state, is); break; } state = d; // Do not further consume streams if a root JSON has been parsed. if ((parseFlags & kParseStopWhenDoneFlag) && state == IterativeParsingFinishState) break; SkipWhitespaceAndComments(is); CEREAL_RAPIDJSON_PARSE_ERROR_EARLY_RETURN(parseResult_); } // Handle the end of file. if (state != IterativeParsingFinishState) HandleError(state, is); return parseResult_; } static const size_t kDefaultStackCapacity = 256; //!< Default stack capacity in bytes for storing a single decoded string. internal::Stack stack_; //!< A stack for storing decoded string temporarily during non-destructive parsing. ParseResult parseResult_; }; // class GenericReader //! Reader with UTF8 encoding and default allocator. typedef GenericReader, UTF8<> > Reader; CEREAL_RAPIDJSON_NAMESPACE_END #ifdef __clang__ CEREAL_RAPIDJSON_DIAG_POP #endif #ifdef __GNUC__ CEREAL_RAPIDJSON_DIAG_POP #endif #ifdef _MSC_VER CEREAL_RAPIDJSON_DIAG_POP #endif #endif // CEREAL_RAPIDJSON_READER_H_ blockattack-game-2.5.0/source/code/Libs/include/cereal/external/rapidjson/schema.h000066400000000000000000002365721347224572500301460ustar00rootroot00000000000000// Tencent is pleased to support the open source community by making RapidJSON available-> // // Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip-> All rights reserved-> // // Licensed under the MIT License (the "License"); you may not use this file except // in compliance with the License-> You may obtain a copy of the License at // // http://opensource->org/licenses/MIT // // Unless required by applicable law or agreed to in writing, software distributed // under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR // CONDITIONS OF ANY KIND, either express or implied-> See the License for the // specific language governing permissions and limitations under the License-> #ifndef CEREAL_RAPIDJSON_SCHEMA_H_ #define CEREAL_RAPIDJSON_SCHEMA_H_ #include "document.h" #include "pointer.h" #include // abs, floor #if !defined(CEREAL_RAPIDJSON_SCHEMA_USE_INTERNALREGEX) #define CEREAL_RAPIDJSON_SCHEMA_USE_INTERNALREGEX 1 #else #define CEREAL_RAPIDJSON_SCHEMA_USE_INTERNALREGEX 0 #endif #if !CEREAL_RAPIDJSON_SCHEMA_USE_INTERNALREGEX && !defined(CEREAL_RAPIDJSON_SCHEMA_USE_STDREGEX) && (__cplusplus >=201103L || (defined(_MSC_VER) && _MSC_VER >= 1800)) #define CEREAL_RAPIDJSON_SCHEMA_USE_STDREGEX 1 #else #define CEREAL_RAPIDJSON_SCHEMA_USE_STDREGEX 0 #endif #if CEREAL_RAPIDJSON_SCHEMA_USE_INTERNALREGEX #include "internal/regex.h" #elif CEREAL_RAPIDJSON_SCHEMA_USE_STDREGEX #include #endif #if CEREAL_RAPIDJSON_SCHEMA_USE_INTERNALREGEX || CEREAL_RAPIDJSON_SCHEMA_USE_STDREGEX #define CEREAL_RAPIDJSON_SCHEMA_HAS_REGEX 1 #else #define CEREAL_RAPIDJSON_SCHEMA_HAS_REGEX 0 #endif #ifndef CEREAL_RAPIDJSON_SCHEMA_VERBOSE #define CEREAL_RAPIDJSON_SCHEMA_VERBOSE 0 #endif #if CEREAL_RAPIDJSON_SCHEMA_VERBOSE #include "stringbuffer.h" #endif CEREAL_RAPIDJSON_DIAG_PUSH #if defined(__GNUC__) CEREAL_RAPIDJSON_DIAG_OFF(effc++) #endif #ifdef __clang__ CEREAL_RAPIDJSON_DIAG_OFF(weak-vtables) CEREAL_RAPIDJSON_DIAG_OFF(exit-time-destructors) CEREAL_RAPIDJSON_DIAG_OFF(c++98-compat-pedantic) CEREAL_RAPIDJSON_DIAG_OFF(variadic-macros) #endif #ifdef _MSC_VER CEREAL_RAPIDJSON_DIAG_OFF(4512) // assignment operator could not be generated #endif CEREAL_RAPIDJSON_NAMESPACE_BEGIN /////////////////////////////////////////////////////////////////////////////// // Verbose Utilities #if CEREAL_RAPIDJSON_SCHEMA_VERBOSE namespace internal { inline void PrintInvalidKeyword(const char* keyword) { printf("Fail keyword: %s\n", keyword); } inline void PrintInvalidKeyword(const wchar_t* keyword) { wprintf(L"Fail keyword: %ls\n", keyword); } inline void PrintInvalidDocument(const char* document) { printf("Fail document: %s\n\n", document); } inline void PrintInvalidDocument(const wchar_t* document) { wprintf(L"Fail document: %ls\n\n", document); } inline void PrintValidatorPointers(unsigned depth, const char* s, const char* d) { printf("S: %*s%s\nD: %*s%s\n\n", depth * 4, " ", s, depth * 4, " ", d); } inline void PrintValidatorPointers(unsigned depth, const wchar_t* s, const wchar_t* d) { wprintf(L"S: %*ls%ls\nD: %*ls%ls\n\n", depth * 4, L" ", s, depth * 4, L" ", d); } } // namespace internal #endif // CEREAL_RAPIDJSON_SCHEMA_VERBOSE /////////////////////////////////////////////////////////////////////////////// // CEREAL_RAPIDJSON_INVALID_KEYWORD_RETURN #if CEREAL_RAPIDJSON_SCHEMA_VERBOSE #define CEREAL_RAPIDJSON_INVALID_KEYWORD_VERBOSE(keyword) internal::PrintInvalidKeyword(keyword) #else #define CEREAL_RAPIDJSON_INVALID_KEYWORD_VERBOSE(keyword) #endif #define CEREAL_RAPIDJSON_INVALID_KEYWORD_RETURN(keyword)\ CEREAL_RAPIDJSON_MULTILINEMACRO_BEGIN\ context.invalidKeyword = keyword.GetString();\ CEREAL_RAPIDJSON_INVALID_KEYWORD_VERBOSE(keyword.GetString());\ return false;\ CEREAL_RAPIDJSON_MULTILINEMACRO_END /////////////////////////////////////////////////////////////////////////////// // Forward declarations template class GenericSchemaDocument; namespace internal { template class Schema; /////////////////////////////////////////////////////////////////////////////// // ISchemaValidator class ISchemaValidator { public: virtual ~ISchemaValidator() {} virtual bool IsValid() const = 0; }; /////////////////////////////////////////////////////////////////////////////// // ISchemaStateFactory template class ISchemaStateFactory { public: virtual ~ISchemaStateFactory() {} virtual ISchemaValidator* CreateSchemaValidator(const SchemaType&) = 0; virtual void DestroySchemaValidator(ISchemaValidator* validator) = 0; virtual void* CreateHasher() = 0; virtual uint64_t GetHashCode(void* hasher) = 0; virtual void DestroryHasher(void* hasher) = 0; virtual void* MallocState(size_t size) = 0; virtual void FreeState(void* p) = 0; }; /////////////////////////////////////////////////////////////////////////////// // Hasher // For comparison of compound value template class Hasher { public: typedef typename Encoding::Ch Ch; Hasher(Allocator* allocator = 0, size_t stackCapacity = kDefaultSize) : stack_(allocator, stackCapacity) {} bool Null() { return WriteType(kNullType); } bool Bool(bool b) { return WriteType(b ? kTrueType : kFalseType); } bool Int(int i) { Number n; n.u.i = i; n.d = static_cast(i); return WriteNumber(n); } bool Uint(unsigned u) { Number n; n.u.u = u; n.d = static_cast(u); return WriteNumber(n); } bool Int64(int64_t i) { Number n; n.u.i = i; n.d = static_cast(i); return WriteNumber(n); } bool Uint64(uint64_t u) { Number n; n.u.u = u; n.d = static_cast(u); return WriteNumber(n); } bool Double(double d) { Number n; if (d < 0) n.u.i = static_cast(d); else n.u.u = static_cast(d); n.d = d; return WriteNumber(n); } bool RawNumber(const Ch* str, SizeType len, bool) { WriteBuffer(kNumberType, str, len * sizeof(Ch)); return true; } bool String(const Ch* str, SizeType len, bool) { WriteBuffer(kStringType, str, len * sizeof(Ch)); return true; } bool StartObject() { return true; } bool Key(const Ch* str, SizeType len, bool copy) { return String(str, len, copy); } bool EndObject(SizeType memberCount) { uint64_t h = Hash(0, kObjectType); uint64_t* kv = stack_.template Pop(memberCount * 2); for (SizeType i = 0; i < memberCount; i++) h ^= Hash(kv[i * 2], kv[i * 2 + 1]); // Use xor to achieve member order insensitive *stack_.template Push() = h; return true; } bool StartArray() { return true; } bool EndArray(SizeType elementCount) { uint64_t h = Hash(0, kArrayType); uint64_t* e = stack_.template Pop(elementCount); for (SizeType i = 0; i < elementCount; i++) h = Hash(h, e[i]); // Use hash to achieve element order sensitive *stack_.template Push() = h; return true; } bool IsValid() const { return stack_.GetSize() == sizeof(uint64_t); } uint64_t GetHashCode() const { CEREAL_RAPIDJSON_ASSERT(IsValid()); return *stack_.template Top(); } private: static const size_t kDefaultSize = 256; struct Number { union U { uint64_t u; int64_t i; }u; double d; }; bool WriteType(Type type) { return WriteBuffer(type, 0, 0); } bool WriteNumber(const Number& n) { return WriteBuffer(kNumberType, &n, sizeof(n)); } bool WriteBuffer(Type type, const void* data, size_t len) { // FNV-1a from http://isthe.com/chongo/tech/comp/fnv/ uint64_t h = Hash(CEREAL_RAPIDJSON_UINT64_C2(0x84222325, 0xcbf29ce4), type); const unsigned char* d = static_cast(data); for (size_t i = 0; i < len; i++) h = Hash(h, d[i]); *stack_.template Push() = h; return true; } static uint64_t Hash(uint64_t h, uint64_t d) { static const uint64_t kPrime = CEREAL_RAPIDJSON_UINT64_C2(0x00000100, 0x000001b3); h ^= d; h *= kPrime; return h; } Stack stack_; }; /////////////////////////////////////////////////////////////////////////////// // SchemaValidationContext template struct SchemaValidationContext { typedef Schema SchemaType; typedef ISchemaStateFactory SchemaValidatorFactoryType; typedef typename SchemaType::ValueType ValueType; typedef typename ValueType::Ch Ch; enum PatternValidatorType { kPatternValidatorOnly, kPatternValidatorWithProperty, kPatternValidatorWithAdditionalProperty }; SchemaValidationContext(SchemaValidatorFactoryType& f, const SchemaType* s) : factory(f), schema(s), valueSchema(), invalidKeyword(), hasher(), arrayElementHashCodes(), validators(), validatorCount(), patternPropertiesValidators(), patternPropertiesValidatorCount(), patternPropertiesSchemas(), patternPropertiesSchemaCount(), valuePatternValidatorType(kPatternValidatorOnly), propertyExist(), inArray(false), valueUniqueness(false), arrayUniqueness(false) { } ~SchemaValidationContext() { if (hasher) factory.DestroryHasher(hasher); if (validators) { for (SizeType i = 0; i < validatorCount; i++) factory.DestroySchemaValidator(validators[i]); factory.FreeState(validators); } if (patternPropertiesValidators) { for (SizeType i = 0; i < patternPropertiesValidatorCount; i++) factory.DestroySchemaValidator(patternPropertiesValidators[i]); factory.FreeState(patternPropertiesValidators); } if (patternPropertiesSchemas) factory.FreeState(patternPropertiesSchemas); if (propertyExist) factory.FreeState(propertyExist); } SchemaValidatorFactoryType& factory; const SchemaType* schema; const SchemaType* valueSchema; const Ch* invalidKeyword; void* hasher; // Only validator access void* arrayElementHashCodes; // Only validator access this ISchemaValidator** validators; SizeType validatorCount; ISchemaValidator** patternPropertiesValidators; SizeType patternPropertiesValidatorCount; const SchemaType** patternPropertiesSchemas; SizeType patternPropertiesSchemaCount; PatternValidatorType valuePatternValidatorType; PatternValidatorType objectPatternValidatorType; SizeType arrayElementIndex; bool* propertyExist; bool inArray; bool valueUniqueness; bool arrayUniqueness; }; /////////////////////////////////////////////////////////////////////////////// // Schema template class Schema { public: typedef typename SchemaDocumentType::ValueType ValueType; typedef typename SchemaDocumentType::AllocatorType AllocatorType; typedef typename SchemaDocumentType::PointerType PointerType; typedef typename ValueType::EncodingType EncodingType; typedef typename EncodingType::Ch Ch; typedef SchemaValidationContext Context; typedef Schema SchemaType; typedef GenericValue SValue; friend class GenericSchemaDocument; Schema(SchemaDocumentType* schemaDocument, const PointerType& p, const ValueType& value, const ValueType& document, AllocatorType* allocator) : allocator_(allocator), enum_(), enumCount_(), not_(), type_((1 << kTotalSchemaType) - 1), // typeless validatorCount_(), properties_(), additionalPropertiesSchema_(), patternProperties_(), patternPropertyCount_(), propertyCount_(), minProperties_(), maxProperties_(SizeType(~0)), additionalProperties_(true), hasDependencies_(), hasRequired_(), hasSchemaDependencies_(), additionalItemsSchema_(), itemsList_(), itemsTuple_(), itemsTupleCount_(), minItems_(), maxItems_(SizeType(~0)), additionalItems_(true), uniqueItems_(false), pattern_(), minLength_(0), maxLength_(~SizeType(0)), exclusiveMinimum_(false), exclusiveMaximum_(false) { typedef typename SchemaDocumentType::ValueType ValueType; typedef typename ValueType::ConstValueIterator ConstValueIterator; typedef typename ValueType::ConstMemberIterator ConstMemberIterator; if (!value.IsObject()) return; if (const ValueType* v = GetMember(value, GetTypeString())) { type_ = 0; if (v->IsString()) AddType(*v); else if (v->IsArray()) for (ConstValueIterator itr = v->Begin(); itr != v->End(); ++itr) AddType(*itr); } if (const ValueType* v = GetMember(value, GetEnumString())) if (v->IsArray() && v->Size() > 0) { enum_ = static_cast(allocator_->Malloc(sizeof(uint64_t) * v->Size())); for (ConstValueIterator itr = v->Begin(); itr != v->End(); ++itr) { typedef Hasher > EnumHasherType; char buffer[256 + 24]; MemoryPoolAllocator<> hasherAllocator(buffer, sizeof(buffer)); EnumHasherType h(&hasherAllocator, 256); itr->Accept(h); enum_[enumCount_++] = h.GetHashCode(); } } if (schemaDocument) { AssignIfExist(allOf_, *schemaDocument, p, value, GetAllOfString(), document); AssignIfExist(anyOf_, *schemaDocument, p, value, GetAnyOfString(), document); AssignIfExist(oneOf_, *schemaDocument, p, value, GetOneOfString(), document); } if (const ValueType* v = GetMember(value, GetNotString())) { schemaDocument->CreateSchema(¬_, p.Append(GetNotString(), allocator_), *v, document); notValidatorIndex_ = validatorCount_; validatorCount_++; } // Object const ValueType* properties = GetMember(value, GetPropertiesString()); const ValueType* required = GetMember(value, GetRequiredString()); const ValueType* dependencies = GetMember(value, GetDependenciesString()); { // Gather properties from properties/required/dependencies SValue allProperties(kArrayType); if (properties && properties->IsObject()) for (ConstMemberIterator itr = properties->MemberBegin(); itr != properties->MemberEnd(); ++itr) AddUniqueElement(allProperties, itr->name); if (required && required->IsArray()) for (ConstValueIterator itr = required->Begin(); itr != required->End(); ++itr) if (itr->IsString()) AddUniqueElement(allProperties, *itr); if (dependencies && dependencies->IsObject()) for (ConstMemberIterator itr = dependencies->MemberBegin(); itr != dependencies->MemberEnd(); ++itr) { AddUniqueElement(allProperties, itr->name); if (itr->value.IsArray()) for (ConstValueIterator i = itr->value.Begin(); i != itr->value.End(); ++i) if (i->IsString()) AddUniqueElement(allProperties, *i); } if (allProperties.Size() > 0) { propertyCount_ = allProperties.Size(); properties_ = static_cast(allocator_->Malloc(sizeof(Property) * propertyCount_)); for (SizeType i = 0; i < propertyCount_; i++) { new (&properties_[i]) Property(); properties_[i].name = allProperties[i]; properties_[i].schema = GetTypeless(); } } } if (properties && properties->IsObject()) { PointerType q = p.Append(GetPropertiesString(), allocator_); for (ConstMemberIterator itr = properties->MemberBegin(); itr != properties->MemberEnd(); ++itr) { SizeType index; if (FindPropertyIndex(itr->name, &index)) schemaDocument->CreateSchema(&properties_[index].schema, q.Append(itr->name, allocator_), itr->value, document); } } if (const ValueType* v = GetMember(value, GetPatternPropertiesString())) { PointerType q = p.Append(GetPatternPropertiesString(), allocator_); patternProperties_ = static_cast(allocator_->Malloc(sizeof(PatternProperty) * v->MemberCount())); patternPropertyCount_ = 0; for (ConstMemberIterator itr = v->MemberBegin(); itr != v->MemberEnd(); ++itr) { new (&patternProperties_[patternPropertyCount_]) PatternProperty(); patternProperties_[patternPropertyCount_].pattern = CreatePattern(itr->name); schemaDocument->CreateSchema(&patternProperties_[patternPropertyCount_].schema, q.Append(itr->name, allocator_), itr->value, document); patternPropertyCount_++; } } if (required && required->IsArray()) for (ConstValueIterator itr = required->Begin(); itr != required->End(); ++itr) if (itr->IsString()) { SizeType index; if (FindPropertyIndex(*itr, &index)) { properties_[index].required = true; hasRequired_ = true; } } if (dependencies && dependencies->IsObject()) { PointerType q = p.Append(GetDependenciesString(), allocator_); hasDependencies_ = true; for (ConstMemberIterator itr = dependencies->MemberBegin(); itr != dependencies->MemberEnd(); ++itr) { SizeType sourceIndex; if (FindPropertyIndex(itr->name, &sourceIndex)) { if (itr->value.IsArray()) { properties_[sourceIndex].dependencies = static_cast(allocator_->Malloc(sizeof(bool) * propertyCount_)); std::memset(properties_[sourceIndex].dependencies, 0, sizeof(bool)* propertyCount_); for (ConstValueIterator targetItr = itr->value.Begin(); targetItr != itr->value.End(); ++targetItr) { SizeType targetIndex; if (FindPropertyIndex(*targetItr, &targetIndex)) properties_[sourceIndex].dependencies[targetIndex] = true; } } else if (itr->value.IsObject()) { hasSchemaDependencies_ = true; schemaDocument->CreateSchema(&properties_[sourceIndex].dependenciesSchema, q.Append(itr->name, allocator_), itr->value, document); properties_[sourceIndex].dependenciesValidatorIndex = validatorCount_; validatorCount_++; } } } } if (const ValueType* v = GetMember(value, GetAdditionalPropertiesString())) { if (v->IsBool()) additionalProperties_ = v->GetBool(); else if (v->IsObject()) schemaDocument->CreateSchema(&additionalPropertiesSchema_, p.Append(GetAdditionalPropertiesString(), allocator_), *v, document); } AssignIfExist(minProperties_, value, GetMinPropertiesString()); AssignIfExist(maxProperties_, value, GetMaxPropertiesString()); // Array if (const ValueType* v = GetMember(value, GetItemsString())) { PointerType q = p.Append(GetItemsString(), allocator_); if (v->IsObject()) // List validation schemaDocument->CreateSchema(&itemsList_, q, *v, document); else if (v->IsArray()) { // Tuple validation itemsTuple_ = static_cast(allocator_->Malloc(sizeof(const Schema*) * v->Size())); SizeType index = 0; for (ConstValueIterator itr = v->Begin(); itr != v->End(); ++itr, index++) schemaDocument->CreateSchema(&itemsTuple_[itemsTupleCount_++], q.Append(index, allocator_), *itr, document); } } AssignIfExist(minItems_, value, GetMinItemsString()); AssignIfExist(maxItems_, value, GetMaxItemsString()); if (const ValueType* v = GetMember(value, GetAdditionalItemsString())) { if (v->IsBool()) additionalItems_ = v->GetBool(); else if (v->IsObject()) schemaDocument->CreateSchema(&additionalItemsSchema_, p.Append(GetAdditionalItemsString(), allocator_), *v, document); } AssignIfExist(uniqueItems_, value, GetUniqueItemsString()); // String AssignIfExist(minLength_, value, GetMinLengthString()); AssignIfExist(maxLength_, value, GetMaxLengthString()); if (const ValueType* v = GetMember(value, GetPatternString())) pattern_ = CreatePattern(*v); // Number if (const ValueType* v = GetMember(value, GetMinimumString())) if (v->IsNumber()) minimum_.CopyFrom(*v, *allocator_); if (const ValueType* v = GetMember(value, GetMaximumString())) if (v->IsNumber()) maximum_.CopyFrom(*v, *allocator_); AssignIfExist(exclusiveMinimum_, value, GetExclusiveMinimumString()); AssignIfExist(exclusiveMaximum_, value, GetExclusiveMaximumString()); if (const ValueType* v = GetMember(value, GetMultipleOfString())) if (v->IsNumber() && v->GetDouble() > 0.0) multipleOf_.CopyFrom(*v, *allocator_); } ~Schema() { if (allocator_) { allocator_->Free(enum_); } if (properties_) { for (SizeType i = 0; i < propertyCount_; i++) properties_[i].~Property(); AllocatorType::Free(properties_); } if (patternProperties_) { for (SizeType i = 0; i < patternPropertyCount_; i++) patternProperties_[i].~PatternProperty(); AllocatorType::Free(patternProperties_); } AllocatorType::Free(itemsTuple_); #if CEREAL_RAPIDJSON_SCHEMA_HAS_REGEX if (pattern_) { pattern_->~RegexType(); allocator_->Free(pattern_); } #endif } bool BeginValue(Context& context) const { if (context.inArray) { if (uniqueItems_) context.valueUniqueness = true; if (itemsList_) context.valueSchema = itemsList_; else if (itemsTuple_) { if (context.arrayElementIndex < itemsTupleCount_) context.valueSchema = itemsTuple_[context.arrayElementIndex]; else if (additionalItemsSchema_) context.valueSchema = additionalItemsSchema_; else if (additionalItems_) context.valueSchema = GetTypeless(); else CEREAL_RAPIDJSON_INVALID_KEYWORD_RETURN(GetItemsString()); } else context.valueSchema = GetTypeless(); context.arrayElementIndex++; } return true; } CEREAL_RAPIDJSON_FORCEINLINE bool EndValue(Context& context) const { if (context.patternPropertiesValidatorCount > 0) { bool otherValid = false; SizeType count = context.patternPropertiesValidatorCount; if (context.objectPatternValidatorType != Context::kPatternValidatorOnly) otherValid = context.patternPropertiesValidators[--count]->IsValid(); bool patternValid = true; for (SizeType i = 0; i < count; i++) if (!context.patternPropertiesValidators[i]->IsValid()) { patternValid = false; break; } if (context.objectPatternValidatorType == Context::kPatternValidatorOnly) { if (!patternValid) CEREAL_RAPIDJSON_INVALID_KEYWORD_RETURN(GetPatternPropertiesString()); } else if (context.objectPatternValidatorType == Context::kPatternValidatorWithProperty) { if (!patternValid || !otherValid) CEREAL_RAPIDJSON_INVALID_KEYWORD_RETURN(GetPatternPropertiesString()); } else if (!patternValid && !otherValid) // kPatternValidatorWithAdditionalProperty) CEREAL_RAPIDJSON_INVALID_KEYWORD_RETURN(GetPatternPropertiesString()); } if (enum_) { const uint64_t h = context.factory.GetHashCode(context.hasher); for (SizeType i = 0; i < enumCount_; i++) if (enum_[i] == h) goto foundEnum; CEREAL_RAPIDJSON_INVALID_KEYWORD_RETURN(GetEnumString()); foundEnum:; } if (allOf_.schemas) for (SizeType i = allOf_.begin; i < allOf_.begin + allOf_.count; i++) if (!context.validators[i]->IsValid()) CEREAL_RAPIDJSON_INVALID_KEYWORD_RETURN(GetAllOfString()); if (anyOf_.schemas) { for (SizeType i = anyOf_.begin; i < anyOf_.begin + anyOf_.count; i++) if (context.validators[i]->IsValid()) goto foundAny; CEREAL_RAPIDJSON_INVALID_KEYWORD_RETURN(GetAnyOfString()); foundAny:; } if (oneOf_.schemas) { bool oneValid = false; for (SizeType i = oneOf_.begin; i < oneOf_.begin + oneOf_.count; i++) if (context.validators[i]->IsValid()) { if (oneValid) CEREAL_RAPIDJSON_INVALID_KEYWORD_RETURN(GetOneOfString()); else oneValid = true; } if (!oneValid) CEREAL_RAPIDJSON_INVALID_KEYWORD_RETURN(GetOneOfString()); } if (not_ && context.validators[notValidatorIndex_]->IsValid()) CEREAL_RAPIDJSON_INVALID_KEYWORD_RETURN(GetNotString()); return true; } bool Null(Context& context) const { if (!(type_ & (1 << kNullSchemaType))) CEREAL_RAPIDJSON_INVALID_KEYWORD_RETURN(GetTypeString()); return CreateParallelValidator(context); } bool Bool(Context& context, bool) const { if (!(type_ & (1 << kBooleanSchemaType))) CEREAL_RAPIDJSON_INVALID_KEYWORD_RETURN(GetTypeString()); return CreateParallelValidator(context); } bool Int(Context& context, int i) const { if (!CheckInt(context, i)) return false; return CreateParallelValidator(context); } bool Uint(Context& context, unsigned u) const { if (!CheckUint(context, u)) return false; return CreateParallelValidator(context); } bool Int64(Context& context, int64_t i) const { if (!CheckInt(context, i)) return false; return CreateParallelValidator(context); } bool Uint64(Context& context, uint64_t u) const { if (!CheckUint(context, u)) return false; return CreateParallelValidator(context); } bool Double(Context& context, double d) const { if (!(type_ & (1 << kNumberSchemaType))) CEREAL_RAPIDJSON_INVALID_KEYWORD_RETURN(GetTypeString()); if (!minimum_.IsNull() && !CheckDoubleMinimum(context, d)) return false; if (!maximum_.IsNull() && !CheckDoubleMaximum(context, d)) return false; if (!multipleOf_.IsNull() && !CheckDoubleMultipleOf(context, d)) return false; return CreateParallelValidator(context); } bool String(Context& context, const Ch* str, SizeType length, bool) const { if (!(type_ & (1 << kStringSchemaType))) CEREAL_RAPIDJSON_INVALID_KEYWORD_RETURN(GetTypeString()); if (minLength_ != 0 || maxLength_ != SizeType(~0)) { SizeType count; if (internal::CountStringCodePoint(str, length, &count)) { if (count < minLength_) CEREAL_RAPIDJSON_INVALID_KEYWORD_RETURN(GetMinLengthString()); if (count > maxLength_) CEREAL_RAPIDJSON_INVALID_KEYWORD_RETURN(GetMaxLengthString()); } } if (pattern_ && !IsPatternMatch(pattern_, str, length)) CEREAL_RAPIDJSON_INVALID_KEYWORD_RETURN(GetPatternString()); return CreateParallelValidator(context); } bool StartObject(Context& context) const { if (!(type_ & (1 << kObjectSchemaType))) CEREAL_RAPIDJSON_INVALID_KEYWORD_RETURN(GetTypeString()); if (hasDependencies_ || hasRequired_) { context.propertyExist = static_cast(context.factory.MallocState(sizeof(bool) * propertyCount_)); std::memset(context.propertyExist, 0, sizeof(bool) * propertyCount_); } if (patternProperties_) { // pre-allocate schema array SizeType count = patternPropertyCount_ + 1; // extra for valuePatternValidatorType context.patternPropertiesSchemas = static_cast(context.factory.MallocState(sizeof(const SchemaType*) * count)); context.patternPropertiesSchemaCount = 0; std::memset(context.patternPropertiesSchemas, 0, sizeof(SchemaType*) * count); } return CreateParallelValidator(context); } bool Key(Context& context, const Ch* str, SizeType len, bool) const { if (patternProperties_) { context.patternPropertiesSchemaCount = 0; for (SizeType i = 0; i < patternPropertyCount_; i++) if (patternProperties_[i].pattern && IsPatternMatch(patternProperties_[i].pattern, str, len)) context.patternPropertiesSchemas[context.patternPropertiesSchemaCount++] = patternProperties_[i].schema; } SizeType index; if (FindPropertyIndex(ValueType(str, len).Move(), &index)) { if (context.patternPropertiesSchemaCount > 0) { context.patternPropertiesSchemas[context.patternPropertiesSchemaCount++] = properties_[index].schema; context.valueSchema = GetTypeless(); context.valuePatternValidatorType = Context::kPatternValidatorWithProperty; } else context.valueSchema = properties_[index].schema; if (context.propertyExist) context.propertyExist[index] = true; return true; } if (additionalPropertiesSchema_) { if (additionalPropertiesSchema_ && context.patternPropertiesSchemaCount > 0) { context.patternPropertiesSchemas[context.patternPropertiesSchemaCount++] = additionalPropertiesSchema_; context.valueSchema = GetTypeless(); context.valuePatternValidatorType = Context::kPatternValidatorWithAdditionalProperty; } else context.valueSchema = additionalPropertiesSchema_; return true; } else if (additionalProperties_) { context.valueSchema = GetTypeless(); return true; } if (context.patternPropertiesSchemaCount == 0) // patternProperties are not additional properties CEREAL_RAPIDJSON_INVALID_KEYWORD_RETURN(GetAdditionalPropertiesString()); return true; } bool EndObject(Context& context, SizeType memberCount) const { if (hasRequired_) for (SizeType index = 0; index < propertyCount_; index++) if (properties_[index].required) if (!context.propertyExist[index]) CEREAL_RAPIDJSON_INVALID_KEYWORD_RETURN(GetRequiredString()); if (memberCount < minProperties_) CEREAL_RAPIDJSON_INVALID_KEYWORD_RETURN(GetMinPropertiesString()); if (memberCount > maxProperties_) CEREAL_RAPIDJSON_INVALID_KEYWORD_RETURN(GetMaxPropertiesString()); if (hasDependencies_) { for (SizeType sourceIndex = 0; sourceIndex < propertyCount_; sourceIndex++) if (context.propertyExist[sourceIndex]) { if (properties_[sourceIndex].dependencies) { for (SizeType targetIndex = 0; targetIndex < propertyCount_; targetIndex++) if (properties_[sourceIndex].dependencies[targetIndex] && !context.propertyExist[targetIndex]) CEREAL_RAPIDJSON_INVALID_KEYWORD_RETURN(GetDependenciesString()); } else if (properties_[sourceIndex].dependenciesSchema) if (!context.validators[properties_[sourceIndex].dependenciesValidatorIndex]->IsValid()) CEREAL_RAPIDJSON_INVALID_KEYWORD_RETURN(GetDependenciesString()); } } return true; } bool StartArray(Context& context) const { if (!(type_ & (1 << kArraySchemaType))) CEREAL_RAPIDJSON_INVALID_KEYWORD_RETURN(GetTypeString()); context.arrayElementIndex = 0; context.inArray = true; return CreateParallelValidator(context); } bool EndArray(Context& context, SizeType elementCount) const { context.inArray = false; if (elementCount < minItems_) CEREAL_RAPIDJSON_INVALID_KEYWORD_RETURN(GetMinItemsString()); if (elementCount > maxItems_) CEREAL_RAPIDJSON_INVALID_KEYWORD_RETURN(GetMaxItemsString()); return true; } // Generate functions for string literal according to Ch #define CEREAL_RAPIDJSON_STRING_(name, ...) \ static const ValueType& Get##name##String() {\ static const Ch s[] = { __VA_ARGS__, '\0' };\ static const ValueType v(s, sizeof(s) / sizeof(Ch) - 1);\ return v;\ } CEREAL_RAPIDJSON_STRING_(Null, 'n', 'u', 'l', 'l') CEREAL_RAPIDJSON_STRING_(Boolean, 'b', 'o', 'o', 'l', 'e', 'a', 'n') CEREAL_RAPIDJSON_STRING_(Object, 'o', 'b', 'j', 'e', 'c', 't') CEREAL_RAPIDJSON_STRING_(Array, 'a', 'r', 'r', 'a', 'y') CEREAL_RAPIDJSON_STRING_(String, 's', 't', 'r', 'i', 'n', 'g') CEREAL_RAPIDJSON_STRING_(Number, 'n', 'u', 'm', 'b', 'e', 'r') CEREAL_RAPIDJSON_STRING_(Integer, 'i', 'n', 't', 'e', 'g', 'e', 'r') CEREAL_RAPIDJSON_STRING_(Type, 't', 'y', 'p', 'e') CEREAL_RAPIDJSON_STRING_(Enum, 'e', 'n', 'u', 'm') CEREAL_RAPIDJSON_STRING_(AllOf, 'a', 'l', 'l', 'O', 'f') CEREAL_RAPIDJSON_STRING_(AnyOf, 'a', 'n', 'y', 'O', 'f') CEREAL_RAPIDJSON_STRING_(OneOf, 'o', 'n', 'e', 'O', 'f') CEREAL_RAPIDJSON_STRING_(Not, 'n', 'o', 't') CEREAL_RAPIDJSON_STRING_(Properties, 'p', 'r', 'o', 'p', 'e', 'r', 't', 'i', 'e', 's') CEREAL_RAPIDJSON_STRING_(Required, 'r', 'e', 'q', 'u', 'i', 'r', 'e', 'd') CEREAL_RAPIDJSON_STRING_(Dependencies, 'd', 'e', 'p', 'e', 'n', 'd', 'e', 'n', 'c', 'i', 'e', 's') CEREAL_RAPIDJSON_STRING_(PatternProperties, 'p', 'a', 't', 't', 'e', 'r', 'n', 'P', 'r', 'o', 'p', 'e', 'r', 't', 'i', 'e', 's') CEREAL_RAPIDJSON_STRING_(AdditionalProperties, 'a', 'd', 'd', 'i', 't', 'i', 'o', 'n', 'a', 'l', 'P', 'r', 'o', 'p', 'e', 'r', 't', 'i', 'e', 's') CEREAL_RAPIDJSON_STRING_(MinProperties, 'm', 'i', 'n', 'P', 'r', 'o', 'p', 'e', 'r', 't', 'i', 'e', 's') CEREAL_RAPIDJSON_STRING_(MaxProperties, 'm', 'a', 'x', 'P', 'r', 'o', 'p', 'e', 'r', 't', 'i', 'e', 's') CEREAL_RAPIDJSON_STRING_(Items, 'i', 't', 'e', 'm', 's') CEREAL_RAPIDJSON_STRING_(MinItems, 'm', 'i', 'n', 'I', 't', 'e', 'm', 's') CEREAL_RAPIDJSON_STRING_(MaxItems, 'm', 'a', 'x', 'I', 't', 'e', 'm', 's') CEREAL_RAPIDJSON_STRING_(AdditionalItems, 'a', 'd', 'd', 'i', 't', 'i', 'o', 'n', 'a', 'l', 'I', 't', 'e', 'm', 's') CEREAL_RAPIDJSON_STRING_(UniqueItems, 'u', 'n', 'i', 'q', 'u', 'e', 'I', 't', 'e', 'm', 's') CEREAL_RAPIDJSON_STRING_(MinLength, 'm', 'i', 'n', 'L', 'e', 'n', 'g', 't', 'h') CEREAL_RAPIDJSON_STRING_(MaxLength, 'm', 'a', 'x', 'L', 'e', 'n', 'g', 't', 'h') CEREAL_RAPIDJSON_STRING_(Pattern, 'p', 'a', 't', 't', 'e', 'r', 'n') CEREAL_RAPIDJSON_STRING_(Minimum, 'm', 'i', 'n', 'i', 'm', 'u', 'm') CEREAL_RAPIDJSON_STRING_(Maximum, 'm', 'a', 'x', 'i', 'm', 'u', 'm') CEREAL_RAPIDJSON_STRING_(ExclusiveMinimum, 'e', 'x', 'c', 'l', 'u', 's', 'i', 'v', 'e', 'M', 'i', 'n', 'i', 'm', 'u', 'm') CEREAL_RAPIDJSON_STRING_(ExclusiveMaximum, 'e', 'x', 'c', 'l', 'u', 's', 'i', 'v', 'e', 'M', 'a', 'x', 'i', 'm', 'u', 'm') CEREAL_RAPIDJSON_STRING_(MultipleOf, 'm', 'u', 'l', 't', 'i', 'p', 'l', 'e', 'O', 'f') #undef CEREAL_RAPIDJSON_STRING_ private: enum SchemaValueType { kNullSchemaType, kBooleanSchemaType, kObjectSchemaType, kArraySchemaType, kStringSchemaType, kNumberSchemaType, kIntegerSchemaType, kTotalSchemaType }; #if CEREAL_RAPIDJSON_SCHEMA_USE_INTERNALREGEX typedef internal::GenericRegex RegexType; #elif CEREAL_RAPIDJSON_SCHEMA_USE_STDREGEX typedef std::basic_regex RegexType; #else typedef char RegexType; #endif struct SchemaArray { SchemaArray() : schemas(), count() {} ~SchemaArray() { AllocatorType::Free(schemas); } const SchemaType** schemas; SizeType begin; // begin index of context.validators SizeType count; }; static const SchemaType* GetTypeless() { static SchemaType typeless(0, PointerType(), ValueType(kObjectType).Move(), ValueType(kObjectType).Move(), 0); return &typeless; } template void AddUniqueElement(V1& a, const V2& v) { for (typename V1::ConstValueIterator itr = a.Begin(); itr != a.End(); ++itr) if (*itr == v) return; V1 c(v, *allocator_); a.PushBack(c, *allocator_); } static const ValueType* GetMember(const ValueType& value, const ValueType& name) { typename ValueType::ConstMemberIterator itr = value.FindMember(name); return itr != value.MemberEnd() ? &(itr->value) : 0; } static void AssignIfExist(bool& out, const ValueType& value, const ValueType& name) { if (const ValueType* v = GetMember(value, name)) if (v->IsBool()) out = v->GetBool(); } static void AssignIfExist(SizeType& out, const ValueType& value, const ValueType& name) { if (const ValueType* v = GetMember(value, name)) if (v->IsUint64() && v->GetUint64() <= SizeType(~0)) out = static_cast(v->GetUint64()); } void AssignIfExist(SchemaArray& out, SchemaDocumentType& schemaDocument, const PointerType& p, const ValueType& value, const ValueType& name, const ValueType& document) { if (const ValueType* v = GetMember(value, name)) { if (v->IsArray() && v->Size() > 0) { PointerType q = p.Append(name, allocator_); out.count = v->Size(); out.schemas = static_cast(allocator_->Malloc(out.count * sizeof(const Schema*))); memset(out.schemas, 0, sizeof(Schema*)* out.count); for (SizeType i = 0; i < out.count; i++) schemaDocument.CreateSchema(&out.schemas[i], q.Append(i, allocator_), (*v)[i], document); out.begin = validatorCount_; validatorCount_ += out.count; } } } #if CEREAL_RAPIDJSON_SCHEMA_USE_INTERNALREGEX template RegexType* CreatePattern(const ValueType& value) { if (value.IsString()) { RegexType* r = new (allocator_->Malloc(sizeof(RegexType))) RegexType(value.GetString()); if (!r->IsValid()) { r->~RegexType(); AllocatorType::Free(r); r = 0; } return r; } return 0; } static bool IsPatternMatch(const RegexType* pattern, const Ch *str, SizeType) { return pattern->Search(str); } #elif CEREAL_RAPIDJSON_SCHEMA_USE_STDREGEX template RegexType* CreatePattern(const ValueType& value) { if (value.IsString()) try { return new (allocator_->Malloc(sizeof(RegexType))) RegexType(value.GetString(), std::size_t(value.GetStringLength()), std::regex_constants::ECMAScript); } catch (const std::regex_error&) { } return 0; } static bool IsPatternMatch(const RegexType* pattern, const Ch *str, SizeType length) { std::match_results r; return std::regex_search(str, str + length, r, *pattern); } #else template RegexType* CreatePattern(const ValueType&) { return 0; } static bool IsPatternMatch(const RegexType*, const Ch *, SizeType) { return true; } #endif // CEREAL_RAPIDJSON_SCHEMA_USE_STDREGEX void AddType(const ValueType& type) { if (type == GetNullString() ) type_ |= 1 << kNullSchemaType; else if (type == GetBooleanString()) type_ |= 1 << kBooleanSchemaType; else if (type == GetObjectString() ) type_ |= 1 << kObjectSchemaType; else if (type == GetArrayString() ) type_ |= 1 << kArraySchemaType; else if (type == GetStringString() ) type_ |= 1 << kStringSchemaType; else if (type == GetIntegerString()) type_ |= 1 << kIntegerSchemaType; else if (type == GetNumberString() ) type_ |= (1 << kNumberSchemaType) | (1 << kIntegerSchemaType); } bool CreateParallelValidator(Context& context) const { if (enum_ || context.arrayUniqueness) context.hasher = context.factory.CreateHasher(); if (validatorCount_) { CEREAL_RAPIDJSON_ASSERT(context.validators == 0); context.validators = static_cast(context.factory.MallocState(sizeof(ISchemaValidator*) * validatorCount_)); context.validatorCount = validatorCount_; if (allOf_.schemas) CreateSchemaValidators(context, allOf_); if (anyOf_.schemas) CreateSchemaValidators(context, anyOf_); if (oneOf_.schemas) CreateSchemaValidators(context, oneOf_); if (not_) context.validators[notValidatorIndex_] = context.factory.CreateSchemaValidator(*not_); if (hasSchemaDependencies_) { for (SizeType i = 0; i < propertyCount_; i++) if (properties_[i].dependenciesSchema) context.validators[properties_[i].dependenciesValidatorIndex] = context.factory.CreateSchemaValidator(*properties_[i].dependenciesSchema); } } return true; } void CreateSchemaValidators(Context& context, const SchemaArray& schemas) const { for (SizeType i = 0; i < schemas.count; i++) context.validators[schemas.begin + i] = context.factory.CreateSchemaValidator(*schemas.schemas[i]); } // O(n) bool FindPropertyIndex(const ValueType& name, SizeType* outIndex) const { SizeType len = name.GetStringLength(); const Ch* str = name.GetString(); for (SizeType index = 0; index < propertyCount_; index++) if (properties_[index].name.GetStringLength() == len && (std::memcmp(properties_[index].name.GetString(), str, sizeof(Ch) * len) == 0)) { *outIndex = index; return true; } return false; } bool CheckInt(Context& context, int64_t i) const { if (!(type_ & ((1 << kIntegerSchemaType) | (1 << kNumberSchemaType)))) CEREAL_RAPIDJSON_INVALID_KEYWORD_RETURN(GetTypeString()); if (!minimum_.IsNull()) { if (minimum_.IsInt64()) { if (exclusiveMinimum_ ? i <= minimum_.GetInt64() : i < minimum_.GetInt64()) CEREAL_RAPIDJSON_INVALID_KEYWORD_RETURN(GetMinimumString()); } else if (minimum_.IsUint64()) { CEREAL_RAPIDJSON_INVALID_KEYWORD_RETURN(GetMinimumString()); // i <= max(int64_t) < minimum.GetUint64() } else if (!CheckDoubleMinimum(context, static_cast(i))) return false; } if (!maximum_.IsNull()) { if (maximum_.IsInt64()) { if (exclusiveMaximum_ ? i >= maximum_.GetInt64() : i > maximum_.GetInt64()) CEREAL_RAPIDJSON_INVALID_KEYWORD_RETURN(GetMaximumString()); } else if (maximum_.IsUint64()) /* do nothing */; // i <= max(int64_t) < maximum_.GetUint64() else if (!CheckDoubleMaximum(context, static_cast(i))) return false; } if (!multipleOf_.IsNull()) { if (multipleOf_.IsUint64()) { if (static_cast(i >= 0 ? i : -i) % multipleOf_.GetUint64() != 0) CEREAL_RAPIDJSON_INVALID_KEYWORD_RETURN(GetMultipleOfString()); } else if (!CheckDoubleMultipleOf(context, static_cast(i))) return false; } return true; } bool CheckUint(Context& context, uint64_t i) const { if (!(type_ & ((1 << kIntegerSchemaType) | (1 << kNumberSchemaType)))) CEREAL_RAPIDJSON_INVALID_KEYWORD_RETURN(GetTypeString()); if (!minimum_.IsNull()) { if (minimum_.IsUint64()) { if (exclusiveMinimum_ ? i <= minimum_.GetUint64() : i < minimum_.GetUint64()) CEREAL_RAPIDJSON_INVALID_KEYWORD_RETURN(GetMinimumString()); } else if (minimum_.IsInt64()) /* do nothing */; // i >= 0 > minimum.Getint64() else if (!CheckDoubleMinimum(context, static_cast(i))) return false; } if (!maximum_.IsNull()) { if (maximum_.IsUint64()) { if (exclusiveMaximum_ ? i >= maximum_.GetUint64() : i > maximum_.GetUint64()) CEREAL_RAPIDJSON_INVALID_KEYWORD_RETURN(GetMaximumString()); } else if (maximum_.IsInt64()) CEREAL_RAPIDJSON_INVALID_KEYWORD_RETURN(GetMaximumString()); // i >= 0 > maximum_ else if (!CheckDoubleMaximum(context, static_cast(i))) return false; } if (!multipleOf_.IsNull()) { if (multipleOf_.IsUint64()) { if (i % multipleOf_.GetUint64() != 0) CEREAL_RAPIDJSON_INVALID_KEYWORD_RETURN(GetMultipleOfString()); } else if (!CheckDoubleMultipleOf(context, static_cast(i))) return false; } return true; } bool CheckDoubleMinimum(Context& context, double d) const { if (exclusiveMinimum_ ? d <= minimum_.GetDouble() : d < minimum_.GetDouble()) CEREAL_RAPIDJSON_INVALID_KEYWORD_RETURN(GetMinimumString()); return true; } bool CheckDoubleMaximum(Context& context, double d) const { if (exclusiveMaximum_ ? d >= maximum_.GetDouble() : d > maximum_.GetDouble()) CEREAL_RAPIDJSON_INVALID_KEYWORD_RETURN(GetMaximumString()); return true; } bool CheckDoubleMultipleOf(Context& context, double d) const { double a = std::abs(d), b = std::abs(multipleOf_.GetDouble()); double q = std::floor(a / b); double r = a - q * b; if (r > 0.0) CEREAL_RAPIDJSON_INVALID_KEYWORD_RETURN(GetMultipleOfString()); return true; } struct Property { Property() : schema(), dependenciesSchema(), dependenciesValidatorIndex(), dependencies(), required(false) {} ~Property() { AllocatorType::Free(dependencies); } SValue name; const SchemaType* schema; const SchemaType* dependenciesSchema; SizeType dependenciesValidatorIndex; bool* dependencies; bool required; }; struct PatternProperty { PatternProperty() : schema(), pattern() {} ~PatternProperty() { if (pattern) { pattern->~RegexType(); AllocatorType::Free(pattern); } } const SchemaType* schema; RegexType* pattern; }; AllocatorType* allocator_; uint64_t* enum_; SizeType enumCount_; SchemaArray allOf_; SchemaArray anyOf_; SchemaArray oneOf_; const SchemaType* not_; unsigned type_; // bitmask of kSchemaType SizeType validatorCount_; SizeType notValidatorIndex_; Property* properties_; const SchemaType* additionalPropertiesSchema_; PatternProperty* patternProperties_; SizeType patternPropertyCount_; SizeType propertyCount_; SizeType minProperties_; SizeType maxProperties_; bool additionalProperties_; bool hasDependencies_; bool hasRequired_; bool hasSchemaDependencies_; const SchemaType* additionalItemsSchema_; const SchemaType* itemsList_; const SchemaType** itemsTuple_; SizeType itemsTupleCount_; SizeType minItems_; SizeType maxItems_; bool additionalItems_; bool uniqueItems_; RegexType* pattern_; SizeType minLength_; SizeType maxLength_; SValue minimum_; SValue maximum_; SValue multipleOf_; bool exclusiveMinimum_; bool exclusiveMaximum_; }; template struct TokenHelper { CEREAL_RAPIDJSON_FORCEINLINE static void AppendIndexToken(Stack& documentStack, SizeType index) { *documentStack.template Push() = '/'; char buffer[21]; size_t length = static_cast((sizeof(SizeType) == 4 ? u32toa(index, buffer) : u64toa(index, buffer)) - buffer); for (size_t i = 0; i < length; i++) *documentStack.template Push() = buffer[i]; } }; // Partial specialized version for char to prevent buffer copying. template struct TokenHelper { CEREAL_RAPIDJSON_FORCEINLINE static void AppendIndexToken(Stack& documentStack, SizeType index) { if (sizeof(SizeType) == 4) { char *buffer = documentStack.template Push(1 + 10); // '/' + uint *buffer++ = '/'; const char* end = internal::u32toa(index, buffer); documentStack.template Pop(static_cast(10 - (end - buffer))); } else { char *buffer = documentStack.template Push(1 + 20); // '/' + uint64 *buffer++ = '/'; const char* end = internal::u64toa(index, buffer); documentStack.template Pop(static_cast(20 - (end - buffer))); } } }; } // namespace internal /////////////////////////////////////////////////////////////////////////////// // IGenericRemoteSchemaDocumentProvider template class IGenericRemoteSchemaDocumentProvider { public: typedef typename SchemaDocumentType::Ch Ch; virtual ~IGenericRemoteSchemaDocumentProvider() {} virtual const SchemaDocumentType* GetRemoteDocument(const Ch* uri, SizeType length) = 0; }; /////////////////////////////////////////////////////////////////////////////// // GenericSchemaDocument //! JSON schema document. /*! A JSON schema document is a compiled version of a JSON schema. It is basically a tree of internal::Schema. \note This is an immutable class (i.e. its instance cannot be modified after construction). \tparam ValueT Type of JSON value (e.g. \c Value ), which also determine the encoding. \tparam Allocator Allocator type for allocating memory of this document. */ template class GenericSchemaDocument { public: typedef ValueT ValueType; typedef IGenericRemoteSchemaDocumentProvider IRemoteSchemaDocumentProviderType; typedef Allocator AllocatorType; typedef typename ValueType::EncodingType EncodingType; typedef typename EncodingType::Ch Ch; typedef internal::Schema SchemaType; typedef GenericPointer PointerType; friend class internal::Schema; template friend class GenericSchemaValidator; //! Constructor. /*! Compile a JSON document into schema document. \param document A JSON document as source. \param remoteProvider An optional remote schema document provider for resolving remote reference. Can be null. \param allocator An optional allocator instance for allocating memory. Can be null. */ explicit GenericSchemaDocument(const ValueType& document, IRemoteSchemaDocumentProviderType* remoteProvider = 0, Allocator* allocator = 0) : remoteProvider_(remoteProvider), allocator_(allocator), ownAllocator_(), root_(), schemaMap_(allocator, kInitialSchemaMapSize), schemaRef_(allocator, kInitialSchemaRefSize) { if (!allocator_) ownAllocator_ = allocator_ = CEREAL_RAPIDJSON_NEW(Allocator()); // Generate root schema, it will call CreateSchema() to create sub-schemas, // And call AddRefSchema() if there are $ref. CreateSchemaRecursive(&root_, PointerType(), document, document); // Resolve $ref while (!schemaRef_.Empty()) { SchemaRefEntry* refEntry = schemaRef_.template Pop(1); if (const SchemaType* s = GetSchema(refEntry->target)) { if (refEntry->schema) *refEntry->schema = s; // Create entry in map if not exist if (!GetSchema(refEntry->source)) { new (schemaMap_.template Push()) SchemaEntry(refEntry->source, const_cast(s), false, allocator_); } } refEntry->~SchemaRefEntry(); } CEREAL_RAPIDJSON_ASSERT(root_ != 0); schemaRef_.ShrinkToFit(); // Deallocate all memory for ref } #if CEREAL_RAPIDJSON_HAS_CXX11_RVALUE_REFS //! Move constructor in C++11 GenericSchemaDocument(GenericSchemaDocument&& rhs) CEREAL_RAPIDJSON_NOEXCEPT : remoteProvider_(rhs.remoteProvider_), allocator_(rhs.allocator_), ownAllocator_(rhs.ownAllocator_), root_(rhs.root_), schemaMap_(std::move(rhs.schemaMap_)), schemaRef_(std::move(rhs.schemaRef_)) { rhs.remoteProvider_ = 0; rhs.allocator_ = 0; rhs.ownAllocator_ = 0; } #endif //! Destructor ~GenericSchemaDocument() { while (!schemaMap_.Empty()) schemaMap_.template Pop(1)->~SchemaEntry(); CEREAL_RAPIDJSON_DELETE(ownAllocator_); } //! Get the root schema. const SchemaType& GetRoot() const { return *root_; } private: //! Prohibit copying GenericSchemaDocument(const GenericSchemaDocument&); //! Prohibit assignment GenericSchemaDocument& operator=(const GenericSchemaDocument&); struct SchemaRefEntry { SchemaRefEntry(const PointerType& s, const PointerType& t, const SchemaType** outSchema, Allocator *allocator) : source(s, allocator), target(t, allocator), schema(outSchema) {} PointerType source; PointerType target; const SchemaType** schema; }; struct SchemaEntry { SchemaEntry(const PointerType& p, SchemaType* s, bool o, Allocator* allocator) : pointer(p, allocator), schema(s), owned(o) {} ~SchemaEntry() { if (owned) { schema->~SchemaType(); Allocator::Free(schema); } } PointerType pointer; SchemaType* schema; bool owned; }; void CreateSchemaRecursive(const SchemaType** schema, const PointerType& pointer, const ValueType& v, const ValueType& document) { if (schema) *schema = SchemaType::GetTypeless(); if (v.GetType() == kObjectType) { const SchemaType* s = GetSchema(pointer); if (!s) CreateSchema(schema, pointer, v, document); for (typename ValueType::ConstMemberIterator itr = v.MemberBegin(); itr != v.MemberEnd(); ++itr) CreateSchemaRecursive(0, pointer.Append(itr->name, allocator_), itr->value, document); } else if (v.GetType() == kArrayType) for (SizeType i = 0; i < v.Size(); i++) CreateSchemaRecursive(0, pointer.Append(i, allocator_), v[i], document); } void CreateSchema(const SchemaType** schema, const PointerType& pointer, const ValueType& v, const ValueType& document) { CEREAL_RAPIDJSON_ASSERT(pointer.IsValid()); if (v.IsObject()) { if (!HandleRefSchema(pointer, schema, v, document)) { SchemaType* s = new (allocator_->Malloc(sizeof(SchemaType))) SchemaType(this, pointer, v, document, allocator_); new (schemaMap_.template Push()) SchemaEntry(pointer, s, true, allocator_); if (schema) *schema = s; } } } bool HandleRefSchema(const PointerType& source, const SchemaType** schema, const ValueType& v, const ValueType& document) { static const Ch kRefString[] = { '$', 'r', 'e', 'f', '\0' }; static const ValueType kRefValue(kRefString, 4); typename ValueType::ConstMemberIterator itr = v.FindMember(kRefValue); if (itr == v.MemberEnd()) return false; if (itr->value.IsString()) { SizeType len = itr->value.GetStringLength(); if (len > 0) { const Ch* s = itr->value.GetString(); SizeType i = 0; while (i < len && s[i] != '#') // Find the first # i++; if (i > 0) { // Remote reference, resolve immediately if (remoteProvider_) { if (const GenericSchemaDocument* remoteDocument = remoteProvider_->GetRemoteDocument(s, i - 1)) { PointerType pointer(&s[i], len - i, allocator_); if (pointer.IsValid()) { if (const SchemaType* sc = remoteDocument->GetSchema(pointer)) { if (schema) *schema = sc; return true; } } } } } else if (s[i] == '#') { // Local reference, defer resolution PointerType pointer(&s[i], len - i, allocator_); if (pointer.IsValid()) { if (const ValueType* nv = pointer.Get(document)) if (HandleRefSchema(source, schema, *nv, document)) return true; new (schemaRef_.template Push()) SchemaRefEntry(source, pointer, schema, allocator_); return true; } } } } return false; } const SchemaType* GetSchema(const PointerType& pointer) const { for (const SchemaEntry* target = schemaMap_.template Bottom(); target != schemaMap_.template End(); ++target) if (pointer == target->pointer) return target->schema; return 0; } PointerType GetPointer(const SchemaType* schema) const { for (const SchemaEntry* target = schemaMap_.template Bottom(); target != schemaMap_.template End(); ++target) if (schema == target->schema) return target->pointer; return PointerType(); } static const size_t kInitialSchemaMapSize = 64; static const size_t kInitialSchemaRefSize = 64; IRemoteSchemaDocumentProviderType* remoteProvider_; Allocator *allocator_; Allocator *ownAllocator_; const SchemaType* root_; //!< Root schema. internal::Stack schemaMap_; // Stores created Pointer -> Schemas internal::Stack schemaRef_; // Stores Pointer from $ref and schema which holds the $ref }; //! GenericSchemaDocument using Value type. typedef GenericSchemaDocument SchemaDocument; //! IGenericRemoteSchemaDocumentProvider using SchemaDocument. typedef IGenericRemoteSchemaDocumentProvider IRemoteSchemaDocumentProvider; /////////////////////////////////////////////////////////////////////////////// // GenericSchemaValidator //! JSON Schema Validator. /*! A SAX style JSON schema validator. It uses a \c GenericSchemaDocument to validate SAX events. It delegates the incoming SAX events to an output handler. The default output handler does nothing. It can be reused multiple times by calling \c Reset(). \tparam SchemaDocumentType Type of schema document. \tparam OutputHandler Type of output handler. Default handler does nothing. \tparam StateAllocator Allocator for storing the internal validation states. */ template < typename SchemaDocumentType, typename OutputHandler = BaseReaderHandler, typename StateAllocator = CrtAllocator> class GenericSchemaValidator : public internal::ISchemaStateFactory, public internal::ISchemaValidator { public: typedef typename SchemaDocumentType::SchemaType SchemaType; typedef typename SchemaDocumentType::PointerType PointerType; typedef typename SchemaType::EncodingType EncodingType; typedef typename EncodingType::Ch Ch; //! Constructor without output handler. /*! \param schemaDocument The schema document to conform to. \param allocator Optional allocator for storing internal validation states. \param schemaStackCapacity Optional initial capacity of schema path stack. \param documentStackCapacity Optional initial capacity of document path stack. */ GenericSchemaValidator( const SchemaDocumentType& schemaDocument, StateAllocator* allocator = 0, size_t schemaStackCapacity = kDefaultSchemaStackCapacity, size_t documentStackCapacity = kDefaultDocumentStackCapacity) : schemaDocument_(&schemaDocument), root_(schemaDocument.GetRoot()), outputHandler_(GetNullHandler()), stateAllocator_(allocator), ownStateAllocator_(0), schemaStack_(allocator, schemaStackCapacity), documentStack_(allocator, documentStackCapacity), valid_(true) #if CEREAL_RAPIDJSON_SCHEMA_VERBOSE , depth_(0) #endif { } //! Constructor with output handler. /*! \param schemaDocument The schema document to conform to. \param allocator Optional allocator for storing internal validation states. \param schemaStackCapacity Optional initial capacity of schema path stack. \param documentStackCapacity Optional initial capacity of document path stack. */ GenericSchemaValidator( const SchemaDocumentType& schemaDocument, OutputHandler& outputHandler, StateAllocator* allocator = 0, size_t schemaStackCapacity = kDefaultSchemaStackCapacity, size_t documentStackCapacity = kDefaultDocumentStackCapacity) : schemaDocument_(&schemaDocument), root_(schemaDocument.GetRoot()), outputHandler_(outputHandler), stateAllocator_(allocator), ownStateAllocator_(0), schemaStack_(allocator, schemaStackCapacity), documentStack_(allocator, documentStackCapacity), valid_(true) #if CEREAL_RAPIDJSON_SCHEMA_VERBOSE , depth_(0) #endif { } //! Destructor. ~GenericSchemaValidator() { Reset(); CEREAL_RAPIDJSON_DELETE(ownStateAllocator_); } //! Reset the internal states. void Reset() { while (!schemaStack_.Empty()) PopSchema(); documentStack_.Clear(); valid_ = true; } //! Checks whether the current state is valid. // Implementation of ISchemaValidator virtual bool IsValid() const { return valid_; } //! Gets the JSON pointer pointed to the invalid schema. PointerType GetInvalidSchemaPointer() const { return schemaStack_.Empty() ? PointerType() : schemaDocument_->GetPointer(&CurrentSchema()); } //! Gets the keyword of invalid schema. const Ch* GetInvalidSchemaKeyword() const { return schemaStack_.Empty() ? 0 : CurrentContext().invalidKeyword; } //! Gets the JSON pointer pointed to the invalid value. PointerType GetInvalidDocumentPointer() const { return documentStack_.Empty() ? PointerType() : PointerType(documentStack_.template Bottom(), documentStack_.GetSize() / sizeof(Ch)); } #if CEREAL_RAPIDJSON_SCHEMA_VERBOSE #define CEREAL_RAPIDJSON_SCHEMA_HANDLE_BEGIN_VERBOSE_() \ CEREAL_RAPIDJSON_MULTILINEMACRO_BEGIN\ *documentStack_.template Push() = '\0';\ documentStack_.template Pop(1);\ internal::PrintInvalidDocument(documentStack_.template Bottom());\ CEREAL_RAPIDJSON_MULTILINEMACRO_END #else #define CEREAL_RAPIDJSON_SCHEMA_HANDLE_BEGIN_VERBOSE_() #endif #define CEREAL_RAPIDJSON_SCHEMA_HANDLE_BEGIN_(method, arg1)\ if (!valid_) return false; \ if (!BeginValue() || !CurrentSchema().method arg1) {\ CEREAL_RAPIDJSON_SCHEMA_HANDLE_BEGIN_VERBOSE_();\ return valid_ = false;\ } #define CEREAL_RAPIDJSON_SCHEMA_HANDLE_PARALLEL_(method, arg2)\ for (Context* context = schemaStack_.template Bottom(); context != schemaStack_.template End(); context++) {\ if (context->hasher)\ static_cast(context->hasher)->method arg2;\ if (context->validators)\ for (SizeType i_ = 0; i_ < context->validatorCount; i_++)\ static_cast(context->validators[i_])->method arg2;\ if (context->patternPropertiesValidators)\ for (SizeType i_ = 0; i_ < context->patternPropertiesValidatorCount; i_++)\ static_cast(context->patternPropertiesValidators[i_])->method arg2;\ } #define CEREAL_RAPIDJSON_SCHEMA_HANDLE_END_(method, arg2)\ return valid_ = EndValue() && outputHandler_.method arg2 #define CEREAL_RAPIDJSON_SCHEMA_HANDLE_VALUE_(method, arg1, arg2) \ CEREAL_RAPIDJSON_SCHEMA_HANDLE_BEGIN_ (method, arg1);\ CEREAL_RAPIDJSON_SCHEMA_HANDLE_PARALLEL_(method, arg2);\ CEREAL_RAPIDJSON_SCHEMA_HANDLE_END_ (method, arg2) bool Null() { CEREAL_RAPIDJSON_SCHEMA_HANDLE_VALUE_(Null, (CurrentContext() ), ( )); } bool Bool(bool b) { CEREAL_RAPIDJSON_SCHEMA_HANDLE_VALUE_(Bool, (CurrentContext(), b), (b)); } bool Int(int i) { CEREAL_RAPIDJSON_SCHEMA_HANDLE_VALUE_(Int, (CurrentContext(), i), (i)); } bool Uint(unsigned u) { CEREAL_RAPIDJSON_SCHEMA_HANDLE_VALUE_(Uint, (CurrentContext(), u), (u)); } bool Int64(int64_t i) { CEREAL_RAPIDJSON_SCHEMA_HANDLE_VALUE_(Int64, (CurrentContext(), i), (i)); } bool Uint64(uint64_t u) { CEREAL_RAPIDJSON_SCHEMA_HANDLE_VALUE_(Uint64, (CurrentContext(), u), (u)); } bool Double(double d) { CEREAL_RAPIDJSON_SCHEMA_HANDLE_VALUE_(Double, (CurrentContext(), d), (d)); } bool RawNumber(const Ch* str, SizeType length, bool copy) { CEREAL_RAPIDJSON_SCHEMA_HANDLE_VALUE_(String, (CurrentContext(), str, length, copy), (str, length, copy)); } bool String(const Ch* str, SizeType length, bool copy) { CEREAL_RAPIDJSON_SCHEMA_HANDLE_VALUE_(String, (CurrentContext(), str, length, copy), (str, length, copy)); } bool StartObject() { CEREAL_RAPIDJSON_SCHEMA_HANDLE_BEGIN_(StartObject, (CurrentContext())); CEREAL_RAPIDJSON_SCHEMA_HANDLE_PARALLEL_(StartObject, ()); return valid_ = outputHandler_.StartObject(); } bool Key(const Ch* str, SizeType len, bool copy) { if (!valid_) return false; AppendToken(str, len); if (!CurrentSchema().Key(CurrentContext(), str, len, copy)) return valid_ = false; CEREAL_RAPIDJSON_SCHEMA_HANDLE_PARALLEL_(Key, (str, len, copy)); return valid_ = outputHandler_.Key(str, len, copy); } bool EndObject(SizeType memberCount) { if (!valid_) return false; CEREAL_RAPIDJSON_SCHEMA_HANDLE_PARALLEL_(EndObject, (memberCount)); if (!CurrentSchema().EndObject(CurrentContext(), memberCount)) return valid_ = false; CEREAL_RAPIDJSON_SCHEMA_HANDLE_END_(EndObject, (memberCount)); } bool StartArray() { CEREAL_RAPIDJSON_SCHEMA_HANDLE_BEGIN_(StartArray, (CurrentContext())); CEREAL_RAPIDJSON_SCHEMA_HANDLE_PARALLEL_(StartArray, ()); return valid_ = outputHandler_.StartArray(); } bool EndArray(SizeType elementCount) { if (!valid_) return false; CEREAL_RAPIDJSON_SCHEMA_HANDLE_PARALLEL_(EndArray, (elementCount)); if (!CurrentSchema().EndArray(CurrentContext(), elementCount)) return valid_ = false; CEREAL_RAPIDJSON_SCHEMA_HANDLE_END_(EndArray, (elementCount)); } #undef CEREAL_RAPIDJSON_SCHEMA_HANDLE_BEGIN_VERBOSE_ #undef CEREAL_RAPIDJSON_SCHEMA_HANDLE_BEGIN_ #undef CEREAL_RAPIDJSON_SCHEMA_HANDLE_PARALLEL_ #undef CEREAL_RAPIDJSON_SCHEMA_HANDLE_VALUE_ // Implementation of ISchemaStateFactory virtual ISchemaValidator* CreateSchemaValidator(const SchemaType& root) { return new (GetStateAllocator().Malloc(sizeof(GenericSchemaValidator))) GenericSchemaValidator(*schemaDocument_, root, #if CEREAL_RAPIDJSON_SCHEMA_VERBOSE depth_ + 1, #endif &GetStateAllocator()); } virtual void DestroySchemaValidator(ISchemaValidator* validator) { GenericSchemaValidator* v = static_cast(validator); v->~GenericSchemaValidator(); StateAllocator::Free(v); } virtual void* CreateHasher() { return new (GetStateAllocator().Malloc(sizeof(HasherType))) HasherType(&GetStateAllocator()); } virtual uint64_t GetHashCode(void* hasher) { return static_cast(hasher)->GetHashCode(); } virtual void DestroryHasher(void* hasher) { HasherType* h = static_cast(hasher); h->~HasherType(); StateAllocator::Free(h); } virtual void* MallocState(size_t size) { return GetStateAllocator().Malloc(size); } virtual void FreeState(void* p) { return StateAllocator::Free(p); } private: typedef typename SchemaType::Context Context; typedef GenericValue, StateAllocator> HashCodeArray; typedef internal::Hasher HasherType; GenericSchemaValidator( const SchemaDocumentType& schemaDocument, const SchemaType& root, #if CEREAL_RAPIDJSON_SCHEMA_VERBOSE unsigned depth, #endif StateAllocator* allocator = 0, size_t schemaStackCapacity = kDefaultSchemaStackCapacity, size_t documentStackCapacity = kDefaultDocumentStackCapacity) : schemaDocument_(&schemaDocument), root_(root), outputHandler_(GetNullHandler()), stateAllocator_(allocator), ownStateAllocator_(0), schemaStack_(allocator, schemaStackCapacity), documentStack_(allocator, documentStackCapacity), valid_(true) #if CEREAL_RAPIDJSON_SCHEMA_VERBOSE , depth_(depth) #endif { } StateAllocator& GetStateAllocator() { if (!stateAllocator_) stateAllocator_ = ownStateAllocator_ = CEREAL_RAPIDJSON_NEW(StateAllocator()); return *stateAllocator_; } bool BeginValue() { if (schemaStack_.Empty()) PushSchema(root_); else { if (CurrentContext().inArray) internal::TokenHelper, Ch>::AppendIndexToken(documentStack_, CurrentContext().arrayElementIndex); if (!CurrentSchema().BeginValue(CurrentContext())) return false; SizeType count = CurrentContext().patternPropertiesSchemaCount; const SchemaType** sa = CurrentContext().patternPropertiesSchemas; typename Context::PatternValidatorType patternValidatorType = CurrentContext().valuePatternValidatorType; bool valueUniqueness = CurrentContext().valueUniqueness; if (CurrentContext().valueSchema) PushSchema(*CurrentContext().valueSchema); if (count > 0) { CurrentContext().objectPatternValidatorType = patternValidatorType; ISchemaValidator**& va = CurrentContext().patternPropertiesValidators; SizeType& validatorCount = CurrentContext().patternPropertiesValidatorCount; va = static_cast(MallocState(sizeof(ISchemaValidator*) * count)); for (SizeType i = 0; i < count; i++) va[validatorCount++] = CreateSchemaValidator(*sa[i]); } CurrentContext().arrayUniqueness = valueUniqueness; } return true; } bool EndValue() { if (!CurrentSchema().EndValue(CurrentContext())) return false; #if CEREAL_RAPIDJSON_SCHEMA_VERBOSE GenericStringBuffer sb; schemaDocument_->GetPointer(&CurrentSchema()).Stringify(sb); *documentStack_.template Push() = '\0'; documentStack_.template Pop(1); internal::PrintValidatorPointers(depth_, sb.GetString(), documentStack_.template Bottom()); #endif uint64_t h = CurrentContext().arrayUniqueness ? static_cast(CurrentContext().hasher)->GetHashCode() : 0; PopSchema(); if (!schemaStack_.Empty()) { Context& context = CurrentContext(); if (context.valueUniqueness) { HashCodeArray* a = static_cast(context.arrayElementHashCodes); if (!a) CurrentContext().arrayElementHashCodes = a = new (GetStateAllocator().Malloc(sizeof(HashCodeArray))) HashCodeArray(kArrayType); for (typename HashCodeArray::ConstValueIterator itr = a->Begin(); itr != a->End(); ++itr) if (itr->GetUint64() == h) CEREAL_RAPIDJSON_INVALID_KEYWORD_RETURN(SchemaType::GetUniqueItemsString()); a->PushBack(h, GetStateAllocator()); } } // Remove the last token of document pointer while (!documentStack_.Empty() && *documentStack_.template Pop(1) != '/') ; return true; } void AppendToken(const Ch* str, SizeType len) { documentStack_.template Reserve(1 + len * 2); // worst case all characters are escaped as two characters *documentStack_.template PushUnsafe() = '/'; for (SizeType i = 0; i < len; i++) { if (str[i] == '~') { *documentStack_.template PushUnsafe() = '~'; *documentStack_.template PushUnsafe() = '0'; } else if (str[i] == '/') { *documentStack_.template PushUnsafe() = '~'; *documentStack_.template PushUnsafe() = '1'; } else *documentStack_.template PushUnsafe() = str[i]; } } CEREAL_RAPIDJSON_FORCEINLINE void PushSchema(const SchemaType& schema) { new (schemaStack_.template Push()) Context(*this, &schema); } CEREAL_RAPIDJSON_FORCEINLINE void PopSchema() { Context* c = schemaStack_.template Pop(1); if (HashCodeArray* a = static_cast(c->arrayElementHashCodes)) { a->~HashCodeArray(); StateAllocator::Free(a); } c->~Context(); } const SchemaType& CurrentSchema() const { return *schemaStack_.template Top()->schema; } Context& CurrentContext() { return *schemaStack_.template Top(); } const Context& CurrentContext() const { return *schemaStack_.template Top(); } static OutputHandler& GetNullHandler() { static OutputHandler nullHandler; return nullHandler; } static const size_t kDefaultSchemaStackCapacity = 1024; static const size_t kDefaultDocumentStackCapacity = 256; const SchemaDocumentType* schemaDocument_; const SchemaType& root_; OutputHandler& outputHandler_; StateAllocator* stateAllocator_; StateAllocator* ownStateAllocator_; internal::Stack schemaStack_; //!< stack to store the current path of schema (BaseSchemaType *) internal::Stack documentStack_; //!< stack to store the current path of validating document (Ch) bool valid_; #if CEREAL_RAPIDJSON_SCHEMA_VERBOSE unsigned depth_; #endif }; typedef GenericSchemaValidator SchemaValidator; /////////////////////////////////////////////////////////////////////////////// // SchemaValidatingReader //! A helper class for parsing with validation. /*! This helper class is a functor, designed as a parameter of \ref GenericDocument::Populate(). \tparam parseFlags Combination of \ref ParseFlag. \tparam InputStream Type of input stream, implementing Stream concept. \tparam SourceEncoding Encoding of the input stream. \tparam SchemaDocumentType Type of schema document. \tparam StackAllocator Allocator type for stack. */ template < unsigned parseFlags, typename InputStream, typename SourceEncoding, typename SchemaDocumentType = SchemaDocument, typename StackAllocator = CrtAllocator> class SchemaValidatingReader { public: typedef typename SchemaDocumentType::PointerType PointerType; typedef typename InputStream::Ch Ch; //! Constructor /*! \param is Input stream. \param sd Schema document. */ SchemaValidatingReader(InputStream& is, const SchemaDocumentType& sd) : is_(is), sd_(sd), invalidSchemaKeyword_(), isValid_(true) {} template bool operator()(Handler& handler) { GenericReader reader; GenericSchemaValidator validator(sd_, handler); parseResult_ = reader.template Parse(is_, validator); isValid_ = validator.IsValid(); if (isValid_) { invalidSchemaPointer_ = PointerType(); invalidSchemaKeyword_ = 0; invalidDocumentPointer_ = PointerType(); } else { invalidSchemaPointer_ = validator.GetInvalidSchemaPointer(); invalidSchemaKeyword_ = validator.GetInvalidSchemaKeyword(); invalidDocumentPointer_ = validator.GetInvalidDocumentPointer(); } return parseResult_; } const ParseResult& GetParseResult() const { return parseResult_; } bool IsValid() const { return isValid_; } const PointerType& GetInvalidSchemaPointer() const { return invalidSchemaPointer_; } const Ch* GetInvalidSchemaKeyword() const { return invalidSchemaKeyword_; } const PointerType& GetInvalidDocumentPointer() const { return invalidDocumentPointer_; } private: InputStream& is_; const SchemaDocumentType& sd_; ParseResult parseResult_; PointerType invalidSchemaPointer_; const Ch* invalidSchemaKeyword_; PointerType invalidDocumentPointer_; bool isValid_; }; CEREAL_RAPIDJSON_NAMESPACE_END CEREAL_RAPIDJSON_DIAG_POP #endif // CEREAL_RAPIDJSON_SCHEMA_H_ blockattack-game-2.5.0/source/code/Libs/include/cereal/external/rapidjson/stream.h000066400000000000000000000126401347224572500301650ustar00rootroot00000000000000// Tencent is pleased to support the open source community by making RapidJSON available. // // Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. // // Licensed under the MIT License (the "License"); you may not use this file except // in compliance with the License. You may obtain a copy of the License at // // http://opensource.org/licenses/MIT // // Unless required by applicable law or agreed to in writing, software distributed // under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR // CONDITIONS OF ANY KIND, either express or implied. See the License for the // specific language governing permissions and limitations under the License. #include "rapidjson.h" #ifndef CEREAL_RAPIDJSON_STREAM_H_ #define CEREAL_RAPIDJSON_STREAM_H_ #include "encodings.h" CEREAL_RAPIDJSON_NAMESPACE_BEGIN /////////////////////////////////////////////////////////////////////////////// // Stream /*! \class rapidjson::Stream \brief Concept for reading and writing characters. For read-only stream, no need to implement PutBegin(), Put(), Flush() and PutEnd(). For write-only stream, only need to implement Put() and Flush(). \code concept Stream { typename Ch; //!< Character type of the stream. //! Read the current character from stream without moving the read cursor. Ch Peek() const; //! Read the current character from stream and moving the read cursor to next character. Ch Take(); //! Get the current read cursor. //! \return Number of characters read from start. size_t Tell(); //! Begin writing operation at the current read pointer. //! \return The begin writer pointer. Ch* PutBegin(); //! Write a character. void Put(Ch c); //! Flush the buffer. void Flush(); //! End the writing operation. //! \param begin The begin write pointer returned by PutBegin(). //! \return Number of characters written. size_t PutEnd(Ch* begin); } \endcode */ //! Provides additional information for stream. /*! By using traits pattern, this type provides a default configuration for stream. For custom stream, this type can be specialized for other configuration. See TEST(Reader, CustomStringStream) in readertest.cpp for example. */ template struct StreamTraits { //! Whether to make local copy of stream for optimization during parsing. /*! By default, for safety, streams do not use local copy optimization. Stream that can be copied fast should specialize this, like StreamTraits. */ enum { copyOptimization = 0 }; }; //! Reserve n characters for writing to a stream. template inline void PutReserve(Stream& stream, size_t count) { (void)stream; (void)count; } //! Write character to a stream, presuming buffer is reserved. template inline void PutUnsafe(Stream& stream, typename Stream::Ch c) { stream.Put(c); } //! Put N copies of a character to a stream. template inline void PutN(Stream& stream, Ch c, size_t n) { PutReserve(stream, n); for (size_t i = 0; i < n; i++) PutUnsafe(stream, c); } /////////////////////////////////////////////////////////////////////////////// // StringStream //! Read-only string stream. /*! \note implements Stream concept */ template struct GenericStringStream { typedef typename Encoding::Ch Ch; GenericStringStream(const Ch *src) : src_(src), head_(src) {} Ch Peek() const { return *src_; } Ch Take() { return *src_++; } size_t Tell() const { return static_cast(src_ - head_); } Ch* PutBegin() { CEREAL_RAPIDJSON_ASSERT(false); return 0; } void Put(Ch) { CEREAL_RAPIDJSON_ASSERT(false); } void Flush() { CEREAL_RAPIDJSON_ASSERT(false); } size_t PutEnd(Ch*) { CEREAL_RAPIDJSON_ASSERT(false); return 0; } const Ch* src_; //!< Current read position. const Ch* head_; //!< Original head of the string. }; template struct StreamTraits > { enum { copyOptimization = 1 }; }; //! String stream with UTF8 encoding. typedef GenericStringStream > StringStream; /////////////////////////////////////////////////////////////////////////////// // InsituStringStream //! A read-write string stream. /*! This string stream is particularly designed for in-situ parsing. \note implements Stream concept */ template struct GenericInsituStringStream { typedef typename Encoding::Ch Ch; GenericInsituStringStream(Ch *src) : src_(src), dst_(0), head_(src) {} // Read Ch Peek() { return *src_; } Ch Take() { return *src_++; } size_t Tell() { return static_cast(src_ - head_); } // Write void Put(Ch c) { CEREAL_RAPIDJSON_ASSERT(dst_ != 0); *dst_++ = c; } Ch* PutBegin() { return dst_ = src_; } size_t PutEnd(Ch* begin) { return static_cast(dst_ - begin); } void Flush() {} Ch* Push(size_t count) { Ch* begin = dst_; dst_ += count; return begin; } void Pop(size_t count) { dst_ -= count; } Ch* src_; Ch* dst_; Ch* head_; }; template struct StreamTraits > { enum { copyOptimization = 1 }; }; //! Insitu string stream with UTF8 encoding. typedef GenericInsituStringStream > InsituStringStream; CEREAL_RAPIDJSON_NAMESPACE_END #endif // CEREAL_RAPIDJSON_STREAM_H_ blockattack-game-2.5.0/source/code/Libs/include/cereal/external/rapidjson/stringbuffer.h000066400000000000000000000074341347224572500313770ustar00rootroot00000000000000// Tencent is pleased to support the open source community by making RapidJSON available. // // Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. // // Licensed under the MIT License (the "License"); you may not use this file except // in compliance with the License. You may obtain a copy of the License at // // http://opensource.org/licenses/MIT // // Unless required by applicable law or agreed to in writing, software distributed // under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR // CONDITIONS OF ANY KIND, either express or implied. See the License for the // specific language governing permissions and limitations under the License. #ifndef CEREAL_RAPIDJSON_STRINGBUFFER_H_ #define CEREAL_RAPIDJSON_STRINGBUFFER_H_ #include "stream.h" #include "internal/stack.h" #if CEREAL_RAPIDJSON_HAS_CXX11_RVALUE_REFS #include // std::move #endif #include "internal/stack.h" #if defined(__clang__) CEREAL_RAPIDJSON_DIAG_PUSH CEREAL_RAPIDJSON_DIAG_OFF(c++98-compat) #endif CEREAL_RAPIDJSON_NAMESPACE_BEGIN //! Represents an in-memory output stream. /*! \tparam Encoding Encoding of the stream. \tparam Allocator type for allocating memory buffer. \note implements Stream concept */ template class GenericStringBuffer { public: typedef typename Encoding::Ch Ch; GenericStringBuffer(Allocator* allocator = 0, size_t capacity = kDefaultCapacity) : stack_(allocator, capacity) {} #if CEREAL_RAPIDJSON_HAS_CXX11_RVALUE_REFS GenericStringBuffer(GenericStringBuffer&& rhs) : stack_(std::move(rhs.stack_)) {} GenericStringBuffer& operator=(GenericStringBuffer&& rhs) { if (&rhs != this) stack_ = std::move(rhs.stack_); return *this; } #endif void Put(Ch c) { *stack_.template Push() = c; } void PutUnsafe(Ch c) { *stack_.template PushUnsafe() = c; } void Flush() {} void Clear() { stack_.Clear(); } void ShrinkToFit() { // Push and pop a null terminator. This is safe. *stack_.template Push() = '\0'; stack_.ShrinkToFit(); stack_.template Pop(1); } void Reserve(size_t count) { stack_.template Reserve(count); } Ch* Push(size_t count) { return stack_.template Push(count); } Ch* PushUnsafe(size_t count) { return stack_.template PushUnsafe(count); } void Pop(size_t count) { stack_.template Pop(count); } const Ch* GetString() const { // Push and pop a null terminator. This is safe. *stack_.template Push() = '\0'; stack_.template Pop(1); return stack_.template Bottom(); } size_t GetSize() const { return stack_.GetSize(); } static const size_t kDefaultCapacity = 256; mutable internal::Stack stack_; private: // Prohibit copy constructor & assignment operator. GenericStringBuffer(const GenericStringBuffer&); GenericStringBuffer& operator=(const GenericStringBuffer&); }; //! String buffer with UTF8 encoding typedef GenericStringBuffer > StringBuffer; template inline void PutReserve(GenericStringBuffer& stream, size_t count) { stream.Reserve(count); } template inline void PutUnsafe(GenericStringBuffer& stream, typename Encoding::Ch c) { stream.PutUnsafe(c); } //! Implement specialized version of PutN() with memset() for better performance. template<> inline void PutN(GenericStringBuffer >& stream, char c, size_t n) { std::memset(stream.stack_.Push(n), c, n * sizeof(c)); } CEREAL_RAPIDJSON_NAMESPACE_END #if defined(__clang__) CEREAL_RAPIDJSON_DIAG_POP #endif #endif // CEREAL_RAPIDJSON_STRINGBUFFER_H_ blockattack-game-2.5.0/source/code/Libs/include/cereal/external/rapidjson/writer.h000066400000000000000000000560341347224572500302130ustar00rootroot00000000000000// Tencent is pleased to support the open source community by making RapidJSON available. // // Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved. // // Licensed under the MIT License (the "License"); you may not use this file except // in compliance with the License. You may obtain a copy of the License at // // http://opensource.org/licenses/MIT // // Unless required by applicable law or agreed to in writing, software distributed // under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR // CONDITIONS OF ANY KIND, either express or implied. See the License for the // specific language governing permissions and limitations under the License. #ifndef CEREAL_RAPIDJSON_WRITER_H_ #define CEREAL_RAPIDJSON_WRITER_H_ #include "stream.h" #include "internal/stack.h" #include "internal/strfunc.h" #include "internal/dtoa.h" #include "internal/itoa.h" #include "stringbuffer.h" #include // placement new #if defined(CEREAL_RAPIDJSON_SIMD) && defined(_MSC_VER) #include #pragma intrinsic(_BitScanForward) #endif #ifdef CEREAL_RAPIDJSON_SSE42 #include #elif defined(CEREAL_RAPIDJSON_SSE2) #include #endif #ifdef _MSC_VER CEREAL_RAPIDJSON_DIAG_PUSH CEREAL_RAPIDJSON_DIAG_OFF(4127) // conditional expression is constant #endif #ifdef __clang__ CEREAL_RAPIDJSON_DIAG_PUSH CEREAL_RAPIDJSON_DIAG_OFF(padded) CEREAL_RAPIDJSON_DIAG_OFF(unreachable-code) #endif CEREAL_RAPIDJSON_NAMESPACE_BEGIN /////////////////////////////////////////////////////////////////////////////// // WriteFlag /*! \def CEREAL_RAPIDJSON_WRITE_DEFAULT_FLAGS \ingroup CEREAL_RAPIDJSON_CONFIG \brief User-defined kWriteDefaultFlags definition. User can define this as any \c WriteFlag combinations. */ #ifndef CEREAL_RAPIDJSON_WRITE_DEFAULT_FLAGS #define CEREAL_RAPIDJSON_WRITE_DEFAULT_FLAGS kWriteNoFlags #endif //! Combination of writeFlags enum WriteFlag { kWriteNoFlags = 0, //!< No flags are set. kWriteValidateEncodingFlag = 1, //!< Validate encoding of JSON strings. kWriteNanAndInfFlag = 2, //!< Allow writing of Inf, -Inf and NaN. kWriteDefaultFlags = CEREAL_RAPIDJSON_WRITE_DEFAULT_FLAGS //!< Default write flags. Can be customized by defining CEREAL_RAPIDJSON_WRITE_DEFAULT_FLAGS }; //! JSON writer /*! Writer implements the concept Handler. It generates JSON text by events to an output os. User may programmatically calls the functions of a writer to generate JSON text. On the other side, a writer can also be passed to objects that generates events, for example Reader::Parse() and Document::Accept(). \tparam OutputStream Type of output stream. \tparam SourceEncoding Encoding of source string. \tparam TargetEncoding Encoding of output stream. \tparam StackAllocator Type of allocator for allocating memory of stack. \note implements Handler concept */ template, typename TargetEncoding = UTF8<>, typename StackAllocator = CrtAllocator, unsigned writeFlags = kWriteDefaultFlags> class Writer { public: typedef typename SourceEncoding::Ch Ch; static const int kDefaultMaxDecimalPlaces = 324; //! Constructor /*! \param os Output stream. \param stackAllocator User supplied allocator. If it is null, it will create a private one. \param levelDepth Initial capacity of stack. */ explicit Writer(OutputStream& os, StackAllocator* stackAllocator = 0, size_t levelDepth = kDefaultLevelDepth) : os_(&os), level_stack_(stackAllocator, levelDepth * sizeof(Level)), maxDecimalPlaces_(kDefaultMaxDecimalPlaces), hasRoot_(false) {} explicit Writer(StackAllocator* allocator = 0, size_t levelDepth = kDefaultLevelDepth) : os_(0), level_stack_(allocator, levelDepth * sizeof(Level)), maxDecimalPlaces_(kDefaultMaxDecimalPlaces), hasRoot_(false) {} //! Reset the writer with a new stream. /*! This function reset the writer with a new stream and default settings, in order to make a Writer object reusable for output multiple JSONs. \param os New output stream. \code Writer writer(os1); writer.StartObject(); // ... writer.EndObject(); writer.Reset(os2); writer.StartObject(); // ... writer.EndObject(); \endcode */ void Reset(OutputStream& os) { os_ = &os; hasRoot_ = false; level_stack_.Clear(); } //! Checks whether the output is a complete JSON. /*! A complete JSON has a complete root object or array. */ bool IsComplete() const { return hasRoot_ && level_stack_.Empty(); } int GetMaxDecimalPlaces() const { return maxDecimalPlaces_; } //! Sets the maximum number of decimal places for double output. /*! This setting truncates the output with specified number of decimal places. For example, \code writer.SetMaxDecimalPlaces(3); writer.StartArray(); writer.Double(0.12345); // "0.123" writer.Double(0.0001); // "0.0" writer.Double(1.234567890123456e30); // "1.234567890123456e30" (do not truncate significand for positive exponent) writer.Double(1.23e-4); // "0.0" (do truncate significand for negative exponent) writer.EndArray(); \endcode The default setting does not truncate any decimal places. You can restore to this setting by calling \code writer.SetMaxDecimalPlaces(Writer::kDefaultMaxDecimalPlaces); \endcode */ void SetMaxDecimalPlaces(int maxDecimalPlaces) { maxDecimalPlaces_ = maxDecimalPlaces; } /*!@name Implementation of Handler \see Handler */ //@{ bool Null() { Prefix(kNullType); return EndValue(WriteNull()); } bool Bool(bool b) { Prefix(b ? kTrueType : kFalseType); return EndValue(WriteBool(b)); } bool Int(int i) { Prefix(kNumberType); return EndValue(WriteInt(i)); } bool Uint(unsigned u) { Prefix(kNumberType); return EndValue(WriteUint(u)); } bool Int64(int64_t i64) { Prefix(kNumberType); return EndValue(WriteInt64(i64)); } bool Uint64(uint64_t u64) { Prefix(kNumberType); return EndValue(WriteUint64(u64)); } //! Writes the given \c double value to the stream /*! \param d The value to be written. \return Whether it is succeed. */ bool Double(double d) { Prefix(kNumberType); return EndValue(WriteDouble(d)); } bool RawNumber(const Ch* str, SizeType length, bool copy = false) { (void)copy; Prefix(kNumberType); return EndValue(WriteString(str, length)); } bool String(const Ch* str, SizeType length, bool copy = false) { (void)copy; Prefix(kStringType); return EndValue(WriteString(str, length)); } #if CEREAL_RAPIDJSON_HAS_STDSTRING bool String(const std::basic_string& str) { return String(str.data(), SizeType(str.size())); } #endif bool StartObject() { Prefix(kObjectType); new (level_stack_.template Push()) Level(false); return WriteStartObject(); } bool Key(const Ch* str, SizeType length, bool copy = false) { return String(str, length, copy); } bool EndObject(SizeType memberCount = 0) { (void)memberCount; CEREAL_RAPIDJSON_ASSERT(level_stack_.GetSize() >= sizeof(Level)); CEREAL_RAPIDJSON_ASSERT(!level_stack_.template Top()->inArray); level_stack_.template Pop(1); return EndValue(WriteEndObject()); } bool StartArray() { Prefix(kArrayType); new (level_stack_.template Push()) Level(true); return WriteStartArray(); } bool EndArray(SizeType elementCount = 0) { (void)elementCount; CEREAL_RAPIDJSON_ASSERT(level_stack_.GetSize() >= sizeof(Level)); CEREAL_RAPIDJSON_ASSERT(level_stack_.template Top()->inArray); level_stack_.template Pop(1); return EndValue(WriteEndArray()); } //@} /*! @name Convenience extensions */ //@{ //! Simpler but slower overload. bool String(const Ch* str) { return String(str, internal::StrLen(str)); } bool Key(const Ch* str) { return Key(str, internal::StrLen(str)); } //@} //! Write a raw JSON value. /*! For user to write a stringified JSON as a value. \param json A well-formed JSON value. It should not contain null character within [0, length - 1] range. \param length Length of the json. \param type Type of the root of json. */ bool RawValue(const Ch* json, size_t length, Type type) { Prefix(type); return EndValue(WriteRawValue(json, length)); } protected: //! Information for each nested level struct Level { Level(bool inArray_) : valueCount(0), inArray(inArray_) {} size_t valueCount; //!< number of values in this level bool inArray; //!< true if in array, otherwise in object }; static const size_t kDefaultLevelDepth = 32; bool WriteNull() { PutReserve(*os_, 4); PutUnsafe(*os_, 'n'); PutUnsafe(*os_, 'u'); PutUnsafe(*os_, 'l'); PutUnsafe(*os_, 'l'); return true; } bool WriteBool(bool b) { if (b) { PutReserve(*os_, 4); PutUnsafe(*os_, 't'); PutUnsafe(*os_, 'r'); PutUnsafe(*os_, 'u'); PutUnsafe(*os_, 'e'); } else { PutReserve(*os_, 5); PutUnsafe(*os_, 'f'); PutUnsafe(*os_, 'a'); PutUnsafe(*os_, 'l'); PutUnsafe(*os_, 's'); PutUnsafe(*os_, 'e'); } return true; } bool WriteInt(int i) { char buffer[11]; const char* end = internal::i32toa(i, buffer); PutReserve(*os_, static_cast(end - buffer)); for (const char* p = buffer; p != end; ++p) PutUnsafe(*os_, static_cast(*p)); return true; } bool WriteUint(unsigned u) { char buffer[10]; const char* end = internal::u32toa(u, buffer); PutReserve(*os_, static_cast(end - buffer)); for (const char* p = buffer; p != end; ++p) PutUnsafe(*os_, static_cast(*p)); return true; } bool WriteInt64(int64_t i64) { char buffer[21]; const char* end = internal::i64toa(i64, buffer); PutReserve(*os_, static_cast(end - buffer)); for (const char* p = buffer; p != end; ++p) PutUnsafe(*os_, static_cast(*p)); return true; } bool WriteUint64(uint64_t u64) { char buffer[20]; char* end = internal::u64toa(u64, buffer); PutReserve(*os_, static_cast(end - buffer)); for (char* p = buffer; p != end; ++p) PutUnsafe(*os_, static_cast(*p)); return true; } bool WriteDouble(double d) { if (internal::Double(d).IsNanOrInf()) { if (!(writeFlags & kWriteNanAndInfFlag)) return false; if (internal::Double(d).IsNan()) { PutReserve(*os_, 3); PutUnsafe(*os_, 'N'); PutUnsafe(*os_, 'a'); PutUnsafe(*os_, 'N'); return true; } if (internal::Double(d).Sign()) { PutReserve(*os_, 9); PutUnsafe(*os_, '-'); } else PutReserve(*os_, 8); PutUnsafe(*os_, 'I'); PutUnsafe(*os_, 'n'); PutUnsafe(*os_, 'f'); PutUnsafe(*os_, 'i'); PutUnsafe(*os_, 'n'); PutUnsafe(*os_, 'i'); PutUnsafe(*os_, 't'); PutUnsafe(*os_, 'y'); return true; } char buffer[25]; char* end = internal::dtoa(d, buffer, maxDecimalPlaces_); PutReserve(*os_, static_cast(end - buffer)); for (char* p = buffer; p != end; ++p) PutUnsafe(*os_, static_cast(*p)); return true; } bool WriteString(const Ch* str, SizeType length) { static const typename TargetEncoding::Ch hexDigits[16] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' }; static const char escape[256] = { #define Z16 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //0 1 2 3 4 5 6 7 8 9 A B C D E F 'u', 'u', 'u', 'u', 'u', 'u', 'u', 'u', 'b', 't', 'n', 'u', 'f', 'r', 'u', 'u', // 00 'u', 'u', 'u', 'u', 'u', 'u', 'u', 'u', 'u', 'u', 'u', 'u', 'u', 'u', 'u', 'u', // 10 0, 0, '"', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 20 Z16, Z16, // 30~4F 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,'\\', 0, 0, 0, // 50 Z16, Z16, Z16, Z16, Z16, Z16, Z16, Z16, Z16, Z16 // 60~FF #undef Z16 }; if (TargetEncoding::supportUnicode) PutReserve(*os_, 2 + length * 6); // "\uxxxx..." else PutReserve(*os_, 2 + length * 12); // "\uxxxx\uyyyy..." PutUnsafe(*os_, '\"'); GenericStringStream is(str); while (ScanWriteUnescapedString(is, length)) { const Ch c = is.Peek(); if (!TargetEncoding::supportUnicode && static_cast(c) >= 0x80) { // Unicode escaping unsigned codepoint; if (CEREAL_RAPIDJSON_UNLIKELY(!SourceEncoding::Decode(is, &codepoint))) return false; PutUnsafe(*os_, '\\'); PutUnsafe(*os_, 'u'); if (codepoint <= 0xD7FF || (codepoint >= 0xE000 && codepoint <= 0xFFFF)) { PutUnsafe(*os_, hexDigits[(codepoint >> 12) & 15]); PutUnsafe(*os_, hexDigits[(codepoint >> 8) & 15]); PutUnsafe(*os_, hexDigits[(codepoint >> 4) & 15]); PutUnsafe(*os_, hexDigits[(codepoint ) & 15]); } else { CEREAL_RAPIDJSON_ASSERT(codepoint >= 0x010000 && codepoint <= 0x10FFFF); // Surrogate pair unsigned s = codepoint - 0x010000; unsigned lead = (s >> 10) + 0xD800; unsigned trail = (s & 0x3FF) + 0xDC00; PutUnsafe(*os_, hexDigits[(lead >> 12) & 15]); PutUnsafe(*os_, hexDigits[(lead >> 8) & 15]); PutUnsafe(*os_, hexDigits[(lead >> 4) & 15]); PutUnsafe(*os_, hexDigits[(lead ) & 15]); PutUnsafe(*os_, '\\'); PutUnsafe(*os_, 'u'); PutUnsafe(*os_, hexDigits[(trail >> 12) & 15]); PutUnsafe(*os_, hexDigits[(trail >> 8) & 15]); PutUnsafe(*os_, hexDigits[(trail >> 4) & 15]); PutUnsafe(*os_, hexDigits[(trail ) & 15]); } } else if ((sizeof(Ch) == 1 || static_cast(c) < 256) && CEREAL_RAPIDJSON_UNLIKELY(escape[static_cast(c)])) { is.Take(); PutUnsafe(*os_, '\\'); PutUnsafe(*os_, static_cast(escape[static_cast(c)])); if (escape[static_cast(c)] == 'u') { PutUnsafe(*os_, '0'); PutUnsafe(*os_, '0'); PutUnsafe(*os_, hexDigits[static_cast(c) >> 4]); PutUnsafe(*os_, hexDigits[static_cast(c) & 0xF]); } } else if (CEREAL_RAPIDJSON_UNLIKELY(!(writeFlags & kWriteValidateEncodingFlag ? Transcoder::Validate(is, *os_) : Transcoder::TranscodeUnsafe(is, *os_)))) return false; } PutUnsafe(*os_, '\"'); return true; } bool ScanWriteUnescapedString(GenericStringStream& is, size_t length) { return CEREAL_RAPIDJSON_LIKELY(is.Tell() < length); } bool WriteStartObject() { os_->Put('{'); return true; } bool WriteEndObject() { os_->Put('}'); return true; } bool WriteStartArray() { os_->Put('['); return true; } bool WriteEndArray() { os_->Put(']'); return true; } bool WriteRawValue(const Ch* json, size_t length) { PutReserve(*os_, length); for (size_t i = 0; i < length; i++) { CEREAL_RAPIDJSON_ASSERT(json[i] != '\0'); PutUnsafe(*os_, json[i]); } return true; } void Prefix(Type type) { (void)type; if (CEREAL_RAPIDJSON_LIKELY(level_stack_.GetSize() != 0)) { // this value is not at root Level* level = level_stack_.template Top(); if (level->valueCount > 0) { if (level->inArray) os_->Put(','); // add comma if it is not the first element in array else // in object os_->Put((level->valueCount % 2 == 0) ? ',' : ':'); } if (!level->inArray && level->valueCount % 2 == 0) CEREAL_RAPIDJSON_ASSERT(type == kStringType); // if it's in object, then even number should be a name level->valueCount++; } else { CEREAL_RAPIDJSON_ASSERT(!hasRoot_); // Should only has one and only one root. hasRoot_ = true; } } // Flush the value if it is the top level one. bool EndValue(bool ret) { if (CEREAL_RAPIDJSON_UNLIKELY(level_stack_.Empty())) // end of json text os_->Flush(); return ret; } OutputStream* os_; internal::Stack level_stack_; int maxDecimalPlaces_; bool hasRoot_; private: // Prohibit copy constructor & assignment operator. Writer(const Writer&); Writer& operator=(const Writer&); }; // Full specialization for StringStream to prevent memory copying template<> inline bool Writer::WriteInt(int i) { char *buffer = os_->Push(11); const char* end = internal::i32toa(i, buffer); os_->Pop(static_cast(11 - (end - buffer))); return true; } template<> inline bool Writer::WriteUint(unsigned u) { char *buffer = os_->Push(10); const char* end = internal::u32toa(u, buffer); os_->Pop(static_cast(10 - (end - buffer))); return true; } template<> inline bool Writer::WriteInt64(int64_t i64) { char *buffer = os_->Push(21); const char* end = internal::i64toa(i64, buffer); os_->Pop(static_cast(21 - (end - buffer))); return true; } template<> inline bool Writer::WriteUint64(uint64_t u) { char *buffer = os_->Push(20); const char* end = internal::u64toa(u, buffer); os_->Pop(static_cast(20 - (end - buffer))); return true; } template<> inline bool Writer::WriteDouble(double d) { if (internal::Double(d).IsNanOrInf()) { // Note: This code path can only be reached if (CEREAL_RAPIDJSON_WRITE_DEFAULT_FLAGS & kWriteNanAndInfFlag). if (!(kWriteDefaultFlags & kWriteNanAndInfFlag)) return false; if (internal::Double(d).IsNan()) { PutReserve(*os_, 3); PutUnsafe(*os_, 'N'); PutUnsafe(*os_, 'a'); PutUnsafe(*os_, 'N'); return true; } if (internal::Double(d).Sign()) { PutReserve(*os_, 9); PutUnsafe(*os_, '-'); } else PutReserve(*os_, 8); PutUnsafe(*os_, 'I'); PutUnsafe(*os_, 'n'); PutUnsafe(*os_, 'f'); PutUnsafe(*os_, 'i'); PutUnsafe(*os_, 'n'); PutUnsafe(*os_, 'i'); PutUnsafe(*os_, 't'); PutUnsafe(*os_, 'y'); return true; } char *buffer = os_->Push(25); char* end = internal::dtoa(d, buffer, maxDecimalPlaces_); os_->Pop(static_cast(25 - (end - buffer))); return true; } #if defined(CEREAL_RAPIDJSON_SSE2) || defined(CEREAL_RAPIDJSON_SSE42) template<> inline bool Writer::ScanWriteUnescapedString(StringStream& is, size_t length) { if (length < 16) return CEREAL_RAPIDJSON_LIKELY(is.Tell() < length); if (!CEREAL_RAPIDJSON_LIKELY(is.Tell() < length)) return false; const char* p = is.src_; const char* end = is.head_ + length; const char* nextAligned = reinterpret_cast((reinterpret_cast(p) + 15) & static_cast(~15)); const char* endAligned = reinterpret_cast(reinterpret_cast(end) & static_cast(~15)); if (nextAligned > end) return true; while (p != nextAligned) if (*p < 0x20 || *p == '\"' || *p == '\\') { is.src_ = p; return CEREAL_RAPIDJSON_LIKELY(is.Tell() < length); } else os_->PutUnsafe(*p++); // The rest of string using SIMD static const char dquote[16] = { '\"', '\"', '\"', '\"', '\"', '\"', '\"', '\"', '\"', '\"', '\"', '\"', '\"', '\"', '\"', '\"' }; static const char bslash[16] = { '\\', '\\', '\\', '\\', '\\', '\\', '\\', '\\', '\\', '\\', '\\', '\\', '\\', '\\', '\\', '\\' }; static const char space[16] = { 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19 }; const __m128i dq = _mm_loadu_si128(reinterpret_cast(&dquote[0])); const __m128i bs = _mm_loadu_si128(reinterpret_cast(&bslash[0])); const __m128i sp = _mm_loadu_si128(reinterpret_cast(&space[0])); for (; p != endAligned; p += 16) { const __m128i s = _mm_load_si128(reinterpret_cast(p)); const __m128i t1 = _mm_cmpeq_epi8(s, dq); const __m128i t2 = _mm_cmpeq_epi8(s, bs); const __m128i t3 = _mm_cmpeq_epi8(_mm_max_epu8(s, sp), sp); // s < 0x20 <=> max(s, 0x19) == 0x19 const __m128i x = _mm_or_si128(_mm_or_si128(t1, t2), t3); unsigned short r = static_cast(_mm_movemask_epi8(x)); if (CEREAL_RAPIDJSON_UNLIKELY(r != 0)) { // some of characters is escaped SizeType len; #ifdef _MSC_VER // Find the index of first escaped unsigned long offset; _BitScanForward(&offset, r); len = offset; #else len = static_cast(__builtin_ffs(r) - 1); #endif char* q = reinterpret_cast(os_->PushUnsafe(len)); for (size_t i = 0; i < len; i++) q[i] = p[i]; p += len; break; } _mm_storeu_si128(reinterpret_cast<__m128i *>(os_->PushUnsafe(16)), s); } is.src_ = p; return CEREAL_RAPIDJSON_LIKELY(is.Tell() < length); } #endif // defined(CEREAL_RAPIDJSON_SSE2) || defined(CEREAL_RAPIDJSON_SSE42) CEREAL_RAPIDJSON_NAMESPACE_END #ifdef _MSC_VER CEREAL_RAPIDJSON_DIAG_POP #endif #ifdef __clang__ CEREAL_RAPIDJSON_DIAG_POP #endif #endif // CEREAL_RAPIDJSON_CEREAL_RAPIDJSON_H_ blockattack-game-2.5.0/source/code/Libs/include/cereal/external/rapidxml/000077500000000000000000000000001347224572500263455ustar00rootroot00000000000000blockattack-game-2.5.0/source/code/Libs/include/cereal/external/rapidxml/license.txt000066400000000000000000000053641347224572500305400ustar00rootroot00000000000000Use of this software is granted under one of the following two licenses, to be chosen freely by the user. 1. Boost Software License - Version 1.0 - August 17th, 2003 =============================================================================== Copyright (c) 2006, 2007 Marcin Kalicinski Permission is hereby granted, free of charge, to any person or organization obtaining a copy of the software and accompanying documentation covered by this license (the "Software") to use, reproduce, display, distribute, execute, and transmit the Software, and to prepare derivative works of the Software, and to permit third-parties to whom the Software is furnished to do so, all subject to the following: The copyright notices in the Software and this entire statement, including the above license grant, this restriction and the following disclaimer, must be included in all copies of the Software, in whole or in part, and all derivative works of the Software, unless such copies or derivative works are solely in the form of machine-executable object code generated by a source language processor. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 2. The MIT License =============================================================================== Copyright (c) 2006, 2007 Marcin Kalicinski Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. blockattack-game-2.5.0/source/code/Libs/include/cereal/external/rapidxml/manual.html000066400000000000000000003355401347224572500305220ustar00rootroot00000000000000